P.A.C.E. Prototypes - Emulated Platforms

News Archive 2006

28-Dec-2006
  • Since I actually have less spare time for PACE during the holidays, I thought I'd do something that should be relatively straight-forward and doesn't require large blocks of concentration - Scramble is WIP. Despite a KLOV entry to the contrary, Scramble does have some copy-protection which hasn't actually been reverse-engineered - MAME uses a look-up based on the CPU PC which isn't easy to implement using the stock T80 CPU core...
21-Dec-2006
  • Some fixes and tweaks to the PAL video controller now means that all existing projects can be re-targeted to composite output with just a few changes to constants for PLL multipliers/dividers. So far I've tried Pacman, Frogger, Galaxian, Moon Cresta and TRS-80 Model III.
  • Added a little bit of eye-candy to the "downloads" section.
20-Dec-2006
  • Ported the Coco1 to PACE-P2 and quickly hacked the video (6847) to output via the ADV724.
  • Space Invaders is now displaying PAL video output via the ADV724 PAL/NTSC encoder on PACE-P2. I've chosen the BT.601 standard of 13.5MHz sampling to give 720x288p resolution @50Hz.
12-Dec-2006
  • Defender is playable, with correct colours (no sound)! Sound CPU is a 6808 which apparently is a 6800 with a few extras (internal oscillator, RAM IIRC). I'll have to try out John Kent's 6800 core then....
8-Dec-2006
  • A few more ports including Pengo, which now has 100% correct colours and sound!
  • Defender is WIP (runs the diagnostics), with the ROMs being loaded off compact flash and executing directly from SRAM rather than internal FPGA RAM blocks.
27-Nov-2006
  • Apple II/II+ ported to the new architecture. With the new framework there's no annoying gap between groups of 7 pixels - the Lode Runner screen dump looks great!
21-Nov-2006
  • Not a lot of exciting progress to report - mainly code structure changes. Nearly all of the arcade games have been ported to the new code base, and are running on Nanoboard and DE2.
  • Still waiting on my PACE-P2 PCBs!
  • Chris has abandoned his Confluence 6809 core and has commenced a new VHDL version.
  • Frogger sound is still WIP.
16-Nov-2006
  • Porting of existing projects to new PACE architecture (Nanoboard & DE2) continues.
  • The PACE-P2 PCBs arrived today but manufacturing stuffed up. Currently being re-made.
  • Chris is working on a 8255 PIA core for Frogger (sound interface).
9-Nov-2006
  • PACE source re-organisation continues, with video controllers and tilemap and sprite generation becoming more generic and more flexible. Pacman looks pretty cool on the DE2 LCD display!
  • Pacman and Galaxian are running full-screen VGA. More ports to follow.
  • PACE-P2 is waiting for manufacture somewhere in China.
2-Nov-2006
  • PACE source re-organisation/rewrite is going well, with Pacman and Galaxian using the new video controller. The tilemap controller is quite nice now, with support for single-pixel scrolling resolution. Sprites are the next task on the list. The controller can currently output composite and 240-line VGA modes simultaneously, or 480-line VGA-only mode.
  • Development for Nanoboard and DE2 platforms in parallel is helping iron out any sticky problems with the target-independent framework.
  • PACE-P2 is finally ready to go out for manufacture.
30-Oct_2006
  • The PACE source code is undergoing complete re-organisation, in preparation for supporting a number of different target platforms. In the process a lot of the code will be re-written from scratch, which will hopefully make adding new games a lot easier.
30-Aug-2006
  • Added download for Galaxian (Nanoboard EP1C12). Reduced M4K usage.
29-Aug-2006
  • Added download for Moon Cresta (Nanoboard EP1C12)
25-Aug-2006
  • Have been (unsuccessfully) trying to do a quick port of Space Inavders to the RC10.
  • Started modifying the Galaxian design for Moon Cresta (by special request).
04-Jul-2006
  • Finished adding PS/2 keyboard input to the Colecovision.
  • My lunchtime project was to port Arnim Läuger's Adventure Vision design to the NanoBoard. Took a little longer than the Colecovision, but it's now running Defender with PS/2 keyboard input. Quite impressive for what it is!
  • Started porting ZX01 (Sinclair ZX81) to the NanoBoard.
03-Jul-2006
  • As a quick diversion, I thought I'd port Arnim Läuger's Colecovision design to the NanoBoard. I took the JOP design and added the VGA generation from the Zefant design and less than an hour later was greeted by the BIOS message. Then I moved the video RAM (16K) to external SRAM, cartridge ROM to on-chip memory (16KB) and hooked up the audio to the NanoBoard DAC- allowing me to load up Q*Bert and then Donkey Kong!
  • All I need to do now is hook up the PS/2 keyboard to the controller inputs.
02-Jul-2006
  • I've re-released the four Midway 8080 Black & White Games with sound. FWIW they're now all using my VGA controller with a hybrid composite output (WIP). Download here.
27-Jun-2006
  • I've had millions of requests (OK, two) for the WDC 1793 implementation I used for the TRS-80 Models I & III. So, here it is. Caveat - it was only ever meant to be a proof-of-concept and supports sector READ commands only.
21-Jun-2006
  • Just for fun, I added sound to my version of Space Invaders (from MikeJ's site). Spent more time converting the old schematic designs to VHDL and fixing bugs in my conversion than adding the sound - which took about 10 mins! Sounds a bit funny...
  • Not a lot happening with the CoCo atm... will get back to it when time allows.
15-May-2006
  • FINALLY I've managed to re-create text-mode display using my own 6883/6847 implementations. CVBS output looks almost perfect but for syncing problems which I may have a quick look at before attempting to add the rest of the video modes to the 6883/6847. A screenshot would look exactly the same as the current one, except orange is now actually orange!
  • Hopefully the next update will include a photo of simultaneous CVBS and VGA output side-by-side.
3-May-2006
  • VGA display now outputs stable, pixel-perfect test pattern derived from CVBS line buffer.
  • Attempting to display solid block character whose colour depends on ASCII code read from video RAM (negates need for character generator for now). Result is stable display but highlights some problems in phase relationships in system timing, and some video addressing bugs. Fun fun fun....
25-Apr-2006
  • Finally got simultaneous composite and VGA output from the 6847. The VGA is stable, but the composite has some synch problem which causes tearing at the top of the screen. But that's close enough for now. One small issue remains with the line buffer, but once that's taken care of I can move on to generating the character sets within the 6847, then onto the bit-mapped video modes.
14-Apr-2006
  • TRS-80 Model I boots NEWDOS/80 and is completely functional.
13-Apr-2006
  • Not much time to spend on PACE atm, but some progress to report. I have a test-pattern displaying on a VGA monitor using derivatives of composite output timings (ie. scan-doubling). This will allow simultaneous composite & VGA output from the 6847 core.
  • Chris is also close to finishing the layout of our new prototype daughterboard, which has a much larger FPGA, more memory, compact flash, stereo sound DAC and a 15/24-bit video DAC.
  • I'm also working on a TRS-80 Model I implementation. It boots into Level II BASIC, and I'm currently working on getting it to boot from 'floppy disk' (SPI flash) like the Model III. Why? Because Roberto Bazzano has dug up an old kit computer from an Italian Magazine that is a clone (of sorts) of the Model I - minus the BASIC ROM. My plan is to implement that in an FPGA as soon as Roberto posts the relevant information.
  • Some time back I did a simple implementation of the Microbee. That fact somehow never got posted on my webpage - I need to bring the design up-to-date with the latest framework and I'll update this page.
26-Mar-2006
  • Updated picture of CoCo COLOR BASIC 1.0 running on the Nanoboard
25-Mar-2006
  • The video glitches have been fixed and it would appear that the CoCo is 100% functioning (in COLOR BASIC 1.0 (limited) text mode). It's the first time the CoCo has been 100% functional, proving that previous efforts have had system timing errors, rather than a problem with the memory map (or even the 6809).
  • I might quickly hook up the Extended Color Basic ROM to see if that runs... Update: runs fine!
  • Next step is to drive the VGA directly from the 6847 VDG - in text mode.
15-Mar-2006
  • The 6883 is generating the correct video addresses for text mode, so the display now looks correct again except for some intermittent glitches which I need to track down - I've seen them under simulation so it shouldn't be too difficult!
  • Interestingly, all of the symptoms of erroneous behaviour seem to have disappeared now that the SRAM timing is integrated with the 6883. AFAIK it's now a perfectly functioning CoCo (text mode only of course).
  • Chris is about to lay out a new PCB which will allow us to move our prototype platform to an EP2C35 with 64MB x2 SDRAM (on two buses), 2MB SRAM, 15-bit VGA colour and Compact Flash!
13-Mar-2006
  • Started on the implementation of the MC6847 VDG. It now generates VBLANK, HBLANK and the video address clock - the video address is generated and multiplexed by the SAM (MC6883). I disconnected the CPU from the dual-port video RAM and instead connected the output of the 6847/6883 - amazingly I saw the BASIC ROM message beneath some garbage (I'm not generating the correct addresses for text mode yet). Still plenty of work to do, but nice to see something half-right!
8-Mar-2006
  • The MC6883 is now providing all system timing and address mapping/decode for the Coco (except for video memory) - and it still runs (at least better than it was!)
  • Next task is to eliminate the dual-port video ram and instead generate the video from the multiplexed video address generated from the MC6883. Normally this would go hand-in-hand with the MC6847 VDU but initially I'll jury-rig the current character ROM until I get the timing and address generation right.
2-Mar-2006
  • BASIC problems persist. A mystery at this point as I can't see why there is a problem.
  • I've started implementing the MC6883 (SAM). This chip goes hand-in-hand with the MC6847 video display generator, which I'll probably start to implement in parallel.
1-Mar-2006
  • Fixed the keyboard matrix!
  • Switched back to COLOR BASIC 1.0 - I didn't realise 1.2 was for the CoCo2!
  • I can execute basic commands from the OK prompt but any attempt to enter a line number hangs the machine. ?MEM also returns a negative number. I suspect I've mapped too much RAM as the ROM routine auto-detects how much RAM is in the machine and that's confusing the BASIC line pointer vector.
28-Feb-2005
  • BASIC ROM boots to the "OK" prompt and I can type characters - just need to fix my matrix as I've transposed the rows and columns. No need for any interrupts or peripheral chips at all to get this far (except the PIA for the keyboard). Updated picture to come when I can run a simple BASIC program.
26-Feb-2005
  • Have completed the simplified video module and I can display the contents of the video RAM at address $0400 using a subset of the CoCo character set and colour scheme.
  • I've incorporated COLOR BASIC 1.2 ROM and John Kent's CPU09. The ROM runs for a bit (clears RAM and video) but goes AWOL somewhere (presumably) before it prints the start-up banner.
20-Feb-2006
  • I've started work on a CoCo 1 implementation. I've done basic research on the memory map, and will be working towards getting COLOR BASIC 1.0 booting in text mode.
16-Feb-2006
14-Feb-2006
  • Started porting John's System09 to the Nanoboard. This is to get a feel for John's 6809 core and work out if we can use it, or if we need to start on a 6809 core from scratch. Chris is still persevering with his Confluence version.
  • Chris is laying out the PACE board, but it may be put on the back-burner for the moment as we may have access to a suitable development platform that will allow us to develop more IP than the Nanoboard allows. Stay tuned.
  • Someone has done an Amiga in an FPGA - minus the 68K. Impressive!