
Marat Fayzullin belongs to the generation of programmers who transformed emulation from scattered technical experiments into a recognizable software discipline. Beginning with fMSX in 1993, he built a family of portable emulators that eventually covered the MSX computer standard, Nintendo’s Game Boy and NES, Sega’s 8-bit systems, ColecoVision and other machines. Just as importantly, he published reusable CPU cores, technical information and an influential guide to writing emulators, helping turn knowledge that had once lived inside isolated projects into something other programmers could study and reuse.
His importance to Retro Replay’s timeline begins slightly before his first emulator, however, because Fayzullin later preserved one of the most valuable corrections to the confused 1992 Gameboy68000/ToyBoy story. His Game Boy FAQ records an explanation attributed to Argonaut managing director Jez San: ToyBoy was a Game Boy look-alike created inside Argonaut before its authors knew the real Game Boy internals, making it incompatible with Nintendo’s retail hardware. Fayzullin’s own documentation also contradicts the later claim that ToyBoy became the basis for Virtual GameBoy. According to him, VGB began in 1995 after he found Game Boy programming information online, and the emulator experience he relied upon came from fMSX.
Role: Emulator programmer, software engineer and technical writer
Emulator work began: 1993, according to Fayzullin’s own site
Major projects: fMSX, Virtual GameBoy, iNES, MasterGear, ColEm, VGBA and others
Programming philosophy: Portable C, reusable emulation components and code that could move across many host platforms
Why he matters to emulation history: Fayzullin helped establish the idea of the portable, reusable emulator codebase and documented both the technology and the culture of emulator development during the Web’s formative years.
fMSX: A Portable Emulator in 1993
Fayzullin’s own fMSX documentation dates the project’s beginning to 1993, when he wrote the first version for Unix-based DEC Alpha workstations. The target was MSX, the standardized 8-bit computer architecture developed around a common family of hardware components. That made MSX an excellent emulator target in one sense — the architecture was well defined — but a difficult one in another, because the ecosystem contained multiple generations, cartridge hardware, sound expansions and regional variations.
The choice of C was one of fMSX’s defining decisions. Instead of tying the emulator permanently to one host computer in hand-written assembly, Fayzullin organized the project so that the core could move between sufficiently powerful machines with a relatively thin host-specific layer for graphics, input and sound. His current documentation emphasizes that portability explicitly, listing the wide range of computers, mobile devices and embedded systems to which fMSX or its descendants were eventually taken.

This portability was historically important. The emulator scene of the mid-1990s would spread across Unix workstations, DOS PCs, Windows machines, Amigas, Macs and eventually handheld devices. A project written around reusable C code could travel with that audience. It also made the source useful to other programmers, who could study an existing implementation rather than beginning every emulator by rediscovering the same CPU and hardware concepts from scratch.
From One Emulator to an Architecture for Many
Fayzullin did not stop at MSX. His personal site eventually became a catalog of emulators and reusable components, with projects including Virtual GameBoy for Nintendo’s handheld family, iNES for NES/Famicom, MasterGear for Sega’s Master System, Game Gear and related 8-bit hardware, and ColEm for ColecoVision and the Coleco Adam. The machines differed, but the programming strategy increasingly became transferable.
His home page explicitly describes portable emulators of Z80 and 6502-family CPUs as foundations on which the larger projects were built. This matters because one of the great conceptual shifts in emulator development is the realization that a CPU core, sound-chip implementation or input abstraction does not have to be rewritten from zero for every machine. If two systems share important hardware, a well-designed emulator can reuse tested components and concentrate new work on the parts that actually differ.
ColEm provides a particularly clear example. Fayzullin describes it as a simplified relative of fMSX because ColecoVision and the original MSX architecture share much of the same broad hardware family. That is emulator architecture becoming modular: knowledge gained while reproducing one machine becomes a practical shortcut toward another.
The 1992 ToyBoy Correction
Fayzullin enters Retro Replay’s 1992 chapter retrospectively, through documentation rather than through a public emulator release from that year. His surviving General Questions About GameBoy page discusses the mysterious Amiga package usually called Gameboy68000 or ToyBoy. This source is crucial because the archive had often been treated as evidence that a working Game Boy emulator existed astonishingly early.
Fayzullin’s account is explicit that ToyBoy should not be confused with a compatible emulator of Nintendo’s retail system. He describes it as a Game Boy look-alike and attributes the explanation to Jez San of Argonaut: the in-house experiment was created before its authors knew the real Game Boy internals and was therefore incompatible with the actual machine. Fayzullin also recorded that the package had left Argonaut without authorization. Retro Replay keeps that last point attributed to his documentation because the exact chain by which the files entered public Amiga archives has not been independently reconstructed.

The correction matters because old emulator histories sometimes went one step further and claimed that Fayzullin later obtained the ToyBoy material and used it to create Virtual GameBoy. His own history says otherwise. The genuine ancestor he identifies is fMSX.
1995: Virtual GameBoy Begins
On the official Virtual GameBoy site, Fayzullin says he started writing VGB in 1995 after finding Game Boy programming information on the Internet. The fuller VGB documentation says he encountered a Game Boy hardware information file associated with Pan of Anthrox and began the project from there. Most importantly for the ToyBoy debate, he says directly that he relied on his prior experience with fMSX while developing VGB.

VGB was technically ambitious because the Game Boy’s apparent simplicity hides many compatibility traps. The CPU resembles the Z80 family without being a standard Z80, graphics are built around tiles and sprites with timing behavior that games can exploit, and cartridge memory controllers affect how software sees ROM and RAM. A useful general-purpose emulator therefore needed substantially more accurate hardware knowledge than a Game Boy-inspired development simulator such as ToyBoy.
Fayzullin also designed VGB as portable software rather than a one-machine curiosity. That allowed the emulator to move across Unix, PCs, Macs, mobile platforms and other systems as host hardware improved. The same design philosophy that made fMSX durable was now being applied to a commercial handheld whose software library was enormous and still actively expanding.

iNES, MasterGear and ColEm
The growth of Fayzullin’s emulator family during the 1990s made his work unusually visible across several communities at once. iNES targeted the Nintendo Entertainment System and Famicom, requiring support for the complicated world of NES cartridge mappers. MasterGear covered Sega’s 8-bit family, including the Master System and Game Gear. ColEm extended his Z80-centered work toward Coleco hardware.
What makes the collection historically important is not simply the number of logos on a download page. Fayzullin was demonstrating a repeatable method: isolate the emulated CPU and major chips, keep hardware-independent logic portable, provide host-specific interfaces around the edges and reuse existing components when machines share technology. That approach became normal enough that it is easy to overlook how valuable it was when emulator development was still a relatively small and poorly documented specialty.
Teaching Other People How to Write Emulators
Fayzullin’s contribution was not limited to finished binaries. After receiving large amounts of mail from people who wanted to build emulators of their own, he wrote How To Write a Computer Emulator. The document discusses interpreting emulators, CPU execution, memory and the practical structure of a project from the perspective of somebody who had already built several of them.
That kind of writing helped create an actual emulator-development community. A novice no longer had to infer the entire architecture of an emulator by disassembling somebody else’s binary or piecing together scattered mailing-list posts. They could read an experienced author’s explanation, inspect reusable source components and then begin experimenting with a mental model of how the pieces fit together.
His EMUL8 resources expanded the same idea by publishing CPU cores, sound-chip emulators, libraries and technical documents. The licensing terms varied and should not be casually described as modern open-source licensing; Fayzullin has generally allowed source use under his stated non-commercial and attribution conditions while separately offering commercial licensing. Historically, the significant point is that source and reusable building blocks were available to study at a time when many emulator projects remained closed binaries.
Emulation, ROMs and the Culture Around the Code
By the late 1990s, emulation had become inseparable in public discussion from ROM distribution, and Fayzullin was notably resistant to treating the two as the same activity. A 1998 Salon article on game emulation described him as an early pioneer while also recording his desire to distance his work from the piracy-oriented parts of the scene. His own emulator pages likewise state that he does not provide commercial game images and separate the emulator software from copyrighted software users may attempt to run with it.
This distinction became central to emulator history. An emulator is a compatibility program; the legal status of the software loaded into it is a separate question. Developers could be fascinated by processors, timing and preservation while disliking the culture of indiscriminate ROM trading that grew around the same tools. Fayzullin’s documentation offers an unusually clear window into that tension while it was still developing.
Portability Became a Career-Long Theme
Fayzullin’s old emulator projects did not remain frozen as 1990s desktop programs. As mobile devices became powerful enough, he ported his software to Symbian, Maemo and later Android. His current emulator catalog still presents many of the same machine families in forms intended for modern phones and tablets. The host platforms changed repeatedly; the emulated machines did not.
That longevity is a direct consequence of the design philosophy visible in fMSX. Portable C and reusable cores made it possible to carry decades-old emulator logic into computing environments that did not exist when the projects started. A program born on a Unix workstation could eventually have descendants running on phones, game consoles, PDAs and embedded devices because the architecture had been built around portability from the beginning.
Why Marat Fayzullin Matters to the History of Emulation
Fayzullin’s importance is difficult to reduce to one “first.” Emulator history is full of disputed firsts because software can exist privately before release, filenames can survive without context and early projects often implement only part of a machine. His stronger legacy is structural. He helped make emulators portable, reusable, teachable and connected across different target systems.
fMSX became experience that could be carried into VGB. Shared hardware knowledge could be carried into ColEm. CPU cores and support libraries could be separated from a single application. Documentation could teach the next programmer instead of forcing that person to rediscover every design choice independently. That is the beginning of emulation as an engineering practice rather than a collection of isolated tricks.
His documentation also demonstrates why primary sources matter so much to Retro Replay’s project. Fayzullin’s own pages correct the ToyBoy myth, establish the 1995 origin of Virtual GameBoy, identify fMSX as the real predecessor and preserve the author’s thinking about portability, licensing and ROM distribution. In a field where old claims are repeated until they begin to look like facts, a surviving developer website can be as historically valuable as the emulator binary itself.
Marat Fayzullin in the History of Video Game Emulation
1992: Gameboy68000, ToyBoy and Argonaut’s Game Boy Experiments
Fayzullin appears in the 1992 chapter as a crucial later primary source for the ToyBoy story. His surviving Game Boy documentation records Jez San’s explanation that ToyBoy was an internal Game Boy-like experiment rather than a compatible emulator of Nintendo’s finished handheld, while Fayzullin’s own direct emulator work would soon become central to the timeline through fMSX and, later, Virtual GameBoy.
Additional appearances can be added here as later chapters uncover other direct connections between Marat Fayzullin and emulator development, preservation or hardware recreation.
Related People
Jez San — Argonaut founder whose explanation of ToyBoy was preserved in Fayzullin’s Game Boy documentation.
Dylan Cuthbert — Argonaut programmer whose early Amiga Z80 experiment and Game Boy reverse engineering sit directly beside the ToyBoy story.
Sources and Further Reading
- Marat Fayzullin — Personal site and emulator index
- fMSX documentation — project history and portability
- General Questions About GameBoy — ToyBoy clarification
- Virtual GameBoy — official project history
- Virtual GameBoy documentation — 1995 origin and hardware information source
- iNES documentation
- MasterGear documentation
- ColEm documentation
- How To Write a Computer Emulator — Marat Fayzullin
- Salon (1998) — New Life for Old Games
Retro Replay Retro Gaming History, Reviews & Emulation