AppleTi and F18A at KansasFest

Years ago, I outlined interfacing the F18A, a TMS9918A Video Display Processor (VDP) clone with VGA output, to the Apple II.  I never followed through, but somebody on the AtariAge forum recently completed a design and released a PCB.  The “AppleTi” board is a functional clone of the E-Z Color Graphics Interface.  The AppleTi board only supports the F18A, not the original TM9918A, and is the simplest interface possible with only a single 74LS00 NAND package generating read/write control signals.

The VDP interfaces to the 6502 via two memory-mapped byte-sized registers selected with the MODE pin.  The AppleTi interface connects MODE to the Apple’s A0 address signal.  Combined with the “DEVICE SELECT” decoding on the Apple II motherboard, this design shadows the VDP registers across the 16 byte slot-specific address space ($C0n0 – $C0nF where n is the slot number plus 8).

The practical consequence is that the AppleTi is mostly-kind-of-sort-of compatible with software written for the Synetix SuperSprite and Third Millennium Engineering Arcade Board.  I say “mostly-kind-of-sort-of” because code that accesses the VDP is compatible but code that expects sound or video switch hardware won’t work.  Most of the sample code from Synetix and Third Millennium won’t work.  For the software that does work, there is minor VDP screen corruption from sound and video switch initialization attempts.  However, despite these limitations, the AMPARCADE library from Third Millennium and the StarSprite library from Synetix do function well enough to be useful with the AppleTi/F18A board.

At KansasFest 2016, I shared an introduction to the VDP, AppleTi, and programming the board with the AMPARCADE library.

Over the next month, I hope to create a series of posts with a tutorial introduction to VDP programming.