About a month ago, Hackaday had an article about some really old arcade hardware. One of the earliest microprocessor-based ones, with clear heritage from the older digital-logic-only boards that preceded it.
In the intervening time I've been stupidly obsessed with it, because it's so familiar and yet so alien:
* One of the first 6502-based arcade machines (late 1976) (←edit)
* A sprite system similar to the C64's
* A dual-ported video memory system similar to the VIC-20 and C64
* Predating the VIC-20 by 4 years (and the C64 by 6 years)
* The same nominal resolution (and pixel aspect) as the NES
* About as much available-for-CPU RAM as the 2600
I initially started porting a specific deliberately disowned project by tepples to it, but between deciding that I Was Not Going To Release It (that would be horribly rude), and the UI (and MAME UI) impedance mismatch, I decided it wasn't any fun anymore.
So I made a simple sound-effect tool instead.
The hardware actually has 1 KiB of RAM, of which 7/8ths is used for the nametable = screen memory. Another 15 bytes are used for the various sprites and other control registers. The remaining 113 bytes are all that's easily used by the CPU for whatever not-directly-visible state exists.
MAME's emulation is (of course) kinda lackluster.
Attached are:
* My (somewhat meandering) notes about the hardware, and MAME's emulation of same
* My source code for my sound effect generator (h/t Shirtu for NESst)
* A pre-compiled build of the sound effect generator so that you can just run it
Sound effect editor UI:
Right steering wheel / MAME left/right - move left/right
Left steering wheel / MAME d g - move up/down
Either gas pedal / MAME lctrl a - play
Gearshifts / MAME z x c v q w e r - edit item under cursor
Track select / MAME spacebar - clear current item under cursor
Either start button / MAME 1 2 - clear current row under cursor
In the intervening time I've been stupidly obsessed with it, because it's so familiar and yet so alien:
* One of the first 6502-based arcade machines (late 1976) (←edit)
* A sprite system similar to the C64's
* A dual-ported video memory system similar to the VIC-20 and C64
* Predating the VIC-20 by 4 years (and the C64 by 6 years)
* The same nominal resolution (and pixel aspect) as the NES
* About as much available-for-CPU RAM as the 2600
I initially started porting a specific deliberately disowned project by tepples to it, but between deciding that I Was Not Going To Release It (that would be horribly rude), and the UI (and MAME UI) impedance mismatch, I decided it wasn't any fun anymore.
So I made a simple sound-effect tool instead.
The hardware actually has 1 KiB of RAM, of which 7/8ths is used for the nametable = screen memory. Another 15 bytes are used for the various sprites and other control registers. The remaining 113 bytes are all that's easily used by the CPU for whatever not-directly-visible state exists.
MAME's emulation is (of course) kinda lackluster.
Attached are:
* My (somewhat meandering) notes about the hardware, and MAME's emulation of same
* My source code for my sound effect generator (h/t Shirtu for NESst)
* A pre-compiled build of the sound effect generator so that you can just run it
Sound effect editor UI:
Right steering wheel / MAME left/right - move left/right
Left steering wheel / MAME d g - move up/down
Either gas pedal / MAME lctrl a - play
Gearshifts / MAME z x c v q w e r - edit item under cursor
Track select / MAME spacebar - clear current item under cursor
Either start button / MAME 1 2 - clear current row under cursor