pico9918: A replacement TMS9918A/TMS9929A VDP using a Raspberry Pi Pico
github.com
github.com
"The TMS9918 and its variants were used in the ColecoVision, CreatiVision, Memotech MTX, MSX, NABU Personal Computer, SG-1000/SC-3000, Spectravideo SV-318, SV-328, Sord M5, Tatung Einstein, TI-99/4, Casio PV-2000, Coleco Adam, Hanimex Pencil II, and Tomy Tutor...
"Texas Instruments' TMS9918A was succeeded by Yamaha's V9938, which added additional bitmap modes, more colorful sprites, a vertical full-screen scroll register, vertical and horizontal offset registers, a hardware blitter and a customizable palette."
https://en.wikipedia.org/wiki/TMS9918
MAME also implements the 9918 in software, as many of its emulation targets bundled it as a component (mostly video arcade games).
https://www.reddit.com/r/MAME/comments/pw8285/is_it_possible...
“We know what people don’t like about [RP]2040,” Upton admitted at the event, “the [Arm Cortex-]M0+ [architecture], could have more RAM, could have more GPIO [General-Purpose Input/Output], and we know what people do like — the PIO [Programmable Input/Output blocks]… and we have a chip team.”, [0][1]
That doesn't sound too bad, hmm?
[0] https://blog.adafruit.com/2023/12/04/raspberry-pi-hints-at-n...
[1] https://www.hackster.io/news/eben-upton-hints-at-an-rp2040-s...
It's very useful to dedicate an entire core to running your timing-critical assembly code, and only run higher level non timing critical application code on the other core.
On modern CPUs there are tons of "redundant" ground pins sprinkled all over[2]. Just about every high-speed GPIO pin and power pin has it's own ground pin right next to it.
Keep in mind "high speed" mostly relates to having fast edges. You can have EMI issues with a "slow" 1MHz signal if the edges have rise/fall times are say a few ns, which modern microcontrollers can do.
[1]: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.p... (1.4.1)
[2]: https://en.wikichip.org/wiki/amd/packages/socket_am5#Pin_Map
I am interested to see if this project evolves in the direction of F18A compatibility. It will need to support 80 column mode at a minimum before I switch.