The Atari 2600 VCS intimately ties its video to the NTSC timing of analog TV because it only had 128 bytes (not mega-, not kilo-, just plain old bytes) of RAM. That’s too small for a frame buffer so the processor had to generate a new screen 30 times a second and stay in sync with the TV’s horizontal line drawing and vertical refresh rate. (See Wired.com’s fascinating “Racing the Beam: How Atari 2600's Crazy Hardware Changed Game Design.”)
MicroCore Labs’ MCL65 processor core running an Atari 2600 VCS, using a Spartan-7 FPGA
Then there’s the Apple II personal computer. The legendary Steve Wozniak designed the Disk II floppy disk drive for the Apple II. After studying existing floppy-controller designs based on discrete TTL chips (North Star Computers) and the WD1771 floppy controller, he decided that he could do better with less hardware. His controller design was simpler in terms of hardware, relying on precise, instruction-level processor timing to encode data to be written to the disk and to decode the signals coming off the disk. According to Wikipedia, Wozniak call the Disk II project “my most incredible experience at Apple and the finest job I did", and credited it and VisiCalc with the Apple II's success.
Here’s a photo of MicroCore Labs’ MCL65 processor core on a $109 Digilent Arty S7 Spartan-7 FPGA dev board operating an Apple II personal computer and booting Apple DOS 3.3 from a Disk II drive:
MicroCore Labs’ MCL65 processor core booting Apple Dos 3.3 from a Disk II drive for an Apple II computer, using a Spartan-7 FPGA
So far, this is all somewhat interesting on an intellectual level but what’s in it for you? How about downloadable source code for MicroCore Labs’ instruction-cycle and bus-cycle accurate MCL65 processor core? Click here.