Fujisan - A new cross-platform Atari 8-bit emulator

Fujisan - A new cross-platform Atari 8-bit emulator

In an era where retro computing nostalgia meets modern development tools, a new project emerges that bridges the gap between authentic Atari 8-bit experience and contemporary desktop computing expectations. Meet Fujisan - a modern frontend for the venerable Atari800 emulator that's redefining how we interact with classic Atari systems.

The Vision Behind Fujisan

"Do we really need a new emulator?" you might ask. The answer is nuanced. Fujisan isn't truly a new emulator - it's a fresh approach to using the proven Atari800 emulation core. While excellent options like Altirra, vanilla Atari800, Atari800MacX, and MAME already exist, each comes with its own interface paradigm. Atari800's built-in UI, while functional, can feel not as easy to use to users expecting native desktop integration.

Fujisan was born from a simple desire: to create an emulator that feels native on Windows, macOS, and Linux while maintaining the authentic Atari experience we all cherish. This isn't about adding every possible customization option - it's about delivering a polished, ready-to-use solution for 90% of users' needs.

Core Philosophy: Native First, Authentic Always

Native Desktop Integration

Unlike emulators that create their own windowing systems, Fujisan embraces each platform's native conventions:

  • Standard menu bars that feel at home on each operating system
  • Native file dialogs for ROM and disk image management
  • Platform-appropriate keyboard shortcuts and behaviors
  • System-integrated icons and proper application bundling
Windows Version
MacOS Version

Authentic Atari Experience

While the interface is modern, the emulation remains faithful, thanks to the atari800 project:

  • Pixel-perfect 384×240 display with authentic Atari color palette
  • Proper timing: 49.86 FPS (PAL) and 59.92 FPS (NTSC)
  • Complete keyboard mapping including shifted symbols and function keys
  • Real-time response without input lag

Technical Excellence Under the Hood

Built on Proven Foundations

Fujisan's commitment to using libatari800 ensures there's never incompatibility with the upstream Atari800 source. Rather than forking and diverging, the project maintains compatibility through a carefully managed patch system. This approach guarantees that improvements to the core emulator benefit Fujisan users immediately.

Cross-Platform Architecture

The modern foundation provides several key advantages:

  • Memory efficiency through direct screen buffer access
  • Clean separation between emulator core, display widget, and UI
  • Consistent behavior across Windows, macOS, and Linux
  • Modern C++17 codebase for maintainability

Developer-Friendly Features

What sets Fujisan apart for developers and power users:

  • Integrated debugger with 6502 instruction stepping and breakpoint management
  • TCP server API for IDE integration and automated testing
  • Memory viewer with hex dump and ASCII display
  • Real-time CPU register monitoring

The TCP Server: A Game Changer for Development

One of Fujisan's most innovative features is its built-in TCP server that provides comprehensive JSON-based remote control. This opens up possibilities that traditional emulators simply can't match:

IDE Integration

bash

# Load a program directly from your development environment
echo '{"command": "media.load_xex", "params": {"path": "/dev/program.xex"}}' | nc localhost:6502

# Set breakpoints programmatically
echo '{"command": "debug.add_breakpoint", "params": {"address": 1536}}' | nc localhost:6502

Automated Testing

The TCP API enables sophisticated testing workflows where you can:

  • Load test programs automatically
  • Monitor execution state
  • Capture screenshots for regression testing
  • Control all emulator functions without human intervention

Remote Control

With over 34 available commands covering media control, debugging, configuration, and automation, the TCP server transforms Fujisan from a simple emulator into a powerful development platform.

Advanced Features That Matter

Comprehensive Debugging

The integrated debugger provides everything you need for serious 6502 development:

  • Breakpoint system with visual indicators in the disassembly view
  • Single-step execution with Step Into (F11) and Step Over (F10)
  • Real-time register display in standard hex notation
  • Memory inspection across the full 64KB address space
  • Disassembly engine with proper 6502 mnemonics

Network-Enabled Computing

Fujisan includes full support for NetSIO/FujiNet, enabling:

  • Connection to online services and bulletin boards
  • File sharing between Atari systems
  • Multiplayer gaming over network connections
  • Access to modern internet services from authentic Atari hardware

Intelligent System Management

Features like automatic BASIC ROM toggling and smart restart management mean less time configuring and more time computing. When you enable NetSIO, Fujisan automatically disables BASIC and adjusts settings for optimal FujiNet compatibility.

Building for the Modern Era

Universal Compatibility

Fujisan's build system is a marvel of modern software engineering:

  • Universal macOS binaries supporting both Intel and Apple Silicon
  • Cross-compilation for Windows using containerized MinGW environments
  • Linux packages built in reproducible container environments
  • Consistent experience across all platforms

Simplified Distribution

Gone are the days of complex installation procedures:

  • macOS: Clean DMG installers with proper code signing
  • Windows: Complete packages with all required DLLs
  • Linux: Both .deb packages and portable tarballs

The Road Ahead

Fujisan represents more than just another emulator - it's a vision of how retro computing tools should evolve. By combining authentic emulation with modern development practices, it bridges the gap between nostalgia and productivity.

The project's commitment to open development, comprehensive documentation, and developer-friendly features makes it an ideal choice for:

  • Retro computing enthusiasts who want a polished, native experience
  • Game developers creating new Atari 8-bit software
  • Educators teaching computer science concepts through hands-on assembly programming
  • Researchers studying early personal computer architectures

Getting Started

Fujisan is designed to be approachable for newcomers while powerful enough for experts. The comprehensive build documentation, extensive TCP API reference, and detailed debugging guides ensure that whether you're loading your first Atari disk or developing complex assembly programs, you have the tools you need.

The project is open source under MIT license. You can access the source code or the binaries for all platforms via Fujisan's Github repository.