RetroMatic 2000 update 20: wrap up for the Retro Challenge

It’s the last day of April, so it’s the end of the Retro Challenge.

I’ve achieved pretty much everything I wanted to with the Challenge :-)

I’ve made a quick video to explain my entire project (without you having to wade back through 19 long blog posts).  I’m afraid it’s 27 minutes long: I wanted to meet the midnight deadline which didn’t give me any time to edit it down!  But the second half is technical detail, so you can get a good view of the project in the first 10 minutes or so.

I thought I’d revisit the goals I wrote down a month ago, and see which I’d achieved:

Video conversion

  • : use a GBS8200/HD9800 board to convert RGB to VGA.
  • : use a single-board computer to reprogram TV5725 chip on the conversion board to turn off deinterlacing and set output resolution and frequency.
  • : create a sync-stripper circuit to convert RGB/composite to RGB/sync.
  • : create a scanline generator to recreate 288p resolution on the VGA output.
  • : use an Arduino Nano to control the TV5725.
  • : add an LCD display and rotary encoder to control the video modes via menus.
  • (✓ mostly – needs some debugging): control the scanline generator parameters from the Arduino.
  • (✘ – still to do): investigate new control parameters for the TV5725 to see if I can get 288p video “windowed” inside an 800×600 (or higher) VGA mode so a standard VGA mode can be used, but without scaling artefacts on the 288p signal, and so the scanline generator on the VGA output is correctly aligned with the input lines.
  • (✓ partial – still need to investigate clipping) : use the Y input of YPbPr to take monochrome video and convert to VGA, ideally with appropriate clipping to black/white to enhance the very poor video signal from such early machines.

Floppy drive emulation

  • : use HxC floppy drive emulator (SD card dedicated hardware or firmware running on Gotek USB stick hardware).
  • : add switchgear to select A or B drive on the fly.
  • : insert extra signals from the floppy cable to allow use as C or D drive (e.g. for Video Genie alongside twin floppy drives).
  • : add switchgear for Amstrad CPC 6128 external drive acting as A drive.
  • (✓ – mostly, parts still on order): selectively insert 5v power lines onto the floppy cable to support Amstrad CPC 464 DDI-1 interface which hijacked some ground pins to power the disk interface from the floppy drive!
  • : control the HxC from an Arduino, allowing a rotary encoder to be used to operate the HxC menus.
  • : feed drive select, motor select, and data pins from the floppy cable to the Arduino, and generate appropriate sound effects.

I’m pretty happy with that!