News Archive (2004)

15-Dec-2004
  • NEWDOS/80 boots to the point where it displays the graphical banner, but reboots the machine before it gets to display the 'Ready' prompt. The controller is loading about 14 sectors from the disk, so where-ever it is going wrong, it's a fair way into the process. I'm yet to try to track this down.
  • Amazingly enough, my (real) work has got me involved (at least on the periphery) with none other than the Australian Microbee Z80-based microcomputer! So I've started work on adding it to PACE - it should be relatively trivial so expect to see it here soon! (It even uses the same disk controller as the TRS-80).
  • No real progress on other PACE work (composite video, 6809).
30-Nov-2004
  • Interesting to see what some of the games look like if they were connected to a B&W monitor (I actually patched MAME to show a few games in B&W!). Colour is proving to be more difficult, mainly because of the very accurate clock needed to drive the colourburst signal. I've got a PAL crystal but DXP's Xilinx digital clock manager components are currently broken - so colour composite is on hold for a week or two.
  • Started emulation of the TRS-80 WD1793 floppy disk controller. I'm implementing it in an embedded 8051 core for starters, reading from the on-board serial flash (IIRC 256KB). So far I've got the 8051 running alongside the TRS-80 and printing messages to the serial port for debug.
  • Chris is continuing with his 6809 core. He has implemented most of the ALU and is working on the decoding logic for the instruction set.
21-Nov-2004
  • I've been working on composite video output directly from the FPGA. Managed to get Space Invaders running in monochrome on my TV, the Pacman tilemap in greyscale on the 1084S, and have started work on colour. The only extra hardware required is a bunch of resistors connected to the user header on the NanoBoard - in fact with SI you can get away with only 2 resistors!
  • Started on a pictorial history of the PACE prototype development on the NanoBoard.
10-Nov-2004
  • Added *very* preliminary Apple ][+ for Virtex-II to the downloads. Applesoft BASIC runs with a single text and single hires graphics page. (Here's a photo of a simple hires basic program running).
  • This has turned out to be a good test case for a VGA controller re-write as the current tilemap engine cannot support the 7-bit text/graphics modes of the Apple II as-is. I'll probably concentrate on this now that I have enough of the Apple running.
1st-Nov-2004
  • Apple ][+ progress: full text mode supported (including inverse and flashing characters - which means I have a cursor now). Hires graphics page 0 ($2000-$3FFF) displayed overlayed with text page. For some reason BASIC is crashing when I try to do anything much more complicated than "Hello World". Weird...
31-Oct-2004
  • As I found with the TRS-80, getting the Apple to run ROM basic was surprisingly easy - especially since I knew absolutely nothing about the Apple II before a few days ago. I'm working on the Apple ][+ to start with, and can run the monitor and Applesoft BASIC. I've implemented basic keyboard functionality as well as the sound. Still a few funnies such as no cursor and the odd 'crash' back to the monitor for no apparent reason, but it's early days yet.
29-Oct-2004
  • Started work on the Apple II, for no reason other than I'd like to do it and also learn about the architecture of the Apple II. This is going to be a background task whilst we work towards designing a PCB for PACE (see below).
  • Focusing on the design of a PCB, I've decided to tackle the video interfaces. I'm going to design my own video core from scratch that will allow operation with both low frequency scan rate (arcade) and high frequency scan rate (SVGA) monitors. It will cater for various common colour look-up table (CLUT) schemes, though I also need to investigate the merits of using a video RAMDAC chip. The back end will output analogue RGB and/or bolt into an on-chip composite video module that I'll also be attempting.
  • Chris has done some more work on his microcode-driven 6809 core in Confluence.
28-Oct-2004
  • Centipede has been suspended (README.TXT). The good news is that the 6502 core and the Pokey sound core appear to be running fine (thanks Mike)! Since these were the primary goal of the exercise, I feel I have achieved enough given the technical issues that would have to be resolved (and they are certainly do-able) to get it 100% playable. It does run the attract mode, and you can start a game - about 20% of the time. But it will remain WIP until the PACE project is in full swing.
  • Still undecided on what to tackle next. Tossing up between another 6502 game (with a pokey, maybe even wrap Mike's Asteroids in a Nanoboard project) or perhaps even a basic Apple II. Whichever it is will probably remain a background task as we should probably complete our hardware audit of games we'd like to target and commence the PACE PCB design.
  • Chris's 6809 core is still in its infancy.
21-Oct-2004
  • Abandoned JumpBug for the moment.
  • Started on Centipede - our first 6502 game. Uses a Pokey sound chip which I will adapt from Mike's Asteroids implementation. The palette is weird and it uses a trackball for input (I may attempt to interface an old Amiga Wico trackball) but the main purpose is to get a 6502 game going on the Nanoboard.
  • After completing 2 sound cores, Chris has decided to work on a CPU core next, most probably the 6809.
19-Oct-2004
  • Thought I could quickly add JumpBug (Galaxian Hardware) to further exercise the AY-3-8910 core but it has proven to be more work than I expected. The sound is working but the game itself freezes when the player dies in either the attract demo or a real game. Can't find the cause at this point - it may be an undocumented Z80 instruction or some cycle-perfect timing requirement? It may remain WIP if I can't find it soon...
15-Oct-2004
  • The AY-3-8910 core appears to be working - for a while at least! Added new ZigZag bit file with the working sound core. If it starts to play up, hitting the reset button will fix it.
14-Oct-2004
  • ZigZag sound is 95% working. The AY-3-8910 core just has one problem which causes the sound to drop out momentarily every second or so - once that's fixed we should have a 100% working 8910 module!
  • We're thinking about starting on the design of our PACE PCB. Since there's a handful of similar projects out there in various stages of development I'm thinking it's time to lay some copper!
11-Oct-2004
  • Added ZigZag (a bootleg copy of Namco's DigDug) (Virtex-II only). Sound is currently WIP.
29-Sep-2004
  • After banging my head against a brick wall for about 10 hours trying to tickle the Frogger sound ROM by hand to produce sound #4 without so much as a whimper from the speaker, I decided to change tact. I wrote a quick sound ROM replacement to output a simple tone and tested it under MAME. When I ran it on the nanoboard with Chris's AY-3-8910 core - I got sound! Grrr!
  • Decided to 'crash and burn' and rebuild the full Frogger project with sound fully implemented. Alas, 110% resource utilisation. No easy way around this that I can see - a show stopper, for Frogger at least.
  • Next step is to choose the smallest and easiest single Z80 game with a single AY-3-8910 core (there's quite a few to choose from) and continue with the testing from there.
  • Chris is still working on software simulation for his Yamaha sound cores.
15-Sep-2004
  • Almost got Frogger sound running! Chris's AY-3-8910 core appears to be working (as he has claimed all along) - I think I just need to implement a 4-bit counter on the input to one of the AY' GPIO ports to get the Frogger sound ROM playing some sounds!?!
  • Chris is looking at the YM2151 - apparently a lot of the Yamaha chips are based on this and/or (IIRC) the 8910. The idea is to implement the fundamental blocks and then bolt them together to support a range of (Yamaha) sound chips.
  • Now I'm interested in doing a CoCo(1/2/3) as well...
8-Aug-2004
  • Added TRS-80 images to download. New features are sound support, and the Virtex-II image contains ready-to-run games and the RSM48 monitor.
6-Aug-2004
  • Implemented TRS-80 sound, and have a Virtex-II image with playable versions of a few Big Five Software games. I've got a couple of teething problems to iron out and then I'll upload.
29-Jul-2004
  • Added Pengo to the downloads. Game should be fully playable, with correct sound! I haven't attempted implementing the 256-colour palette at all, so the colours are pretty mundane.
  • Last night I re-visited the Frogger sound (AY-3-8910) implementation that I should've hooked up a few months ago. Still WIP but I should be in a position to start testing Chris's core very soon.
  • Chris is looking at the later Yamaha sound chips (2203 etc). They appear to all be built on common blocks so we could see a number of chips fall out of his next effort!

26-Jul-2004

  • What was supposed to be a quick port of Pacman hardware has turned into a couple of weeks work (see below). Have been banging my head against a brick wall wondering why it wasn't running properly - and discovered tonight it was because of a DIPSWITCH setting called 'Rack Test'. Anyway, the unencrypted version (PENGO2U) plays OK - the original has flipped sprites and won't play a game - weird!
  • Will upload a playable version when I hook up sound. Will probably not fix the colours or other minor graphics problems with this as it was only ever meant to fill in time...
  • When I get another spare hour or so I'll try to get an image of the TRS-80 running Galaxy Invasion or Robot Attack into the Virtex-II. I was also ribbed about getting my TRS-80 Bootleg Space Invaders project running on the TRS-80 emulation on the Nanoboard. Hmmm....
21-Jul-2004
  • Discovered last week that Pengo ROMs are encrypted. The MAME driver uses XOR tables for the decryption, and mentions custom CPUs. I noticed, however, that at least one of the games uses a simple PROM, so that got me interested in reverse-engineering the encryption. Tonight I was successful in reducing the XOR tables down to simple muxes for all the games in MAME that use the sega_decode() method.
  • Have implemented the decryption muxes but the game still doesn't run. It appears to be decoding everything as opcodes atm - but that could be a buggy tsk80 core!?!
10-Jul-2004
  • Had a few hours to kill this evening so I started working on adding Pengo now that I have the Virtex II device with more on-chip RAM. Pengo is virtually the same hardware as Pacman, with a slightly different memory map, banked tile and sprite data and a larger colour lookup table. Tilemap display is working without CPU.
  • Updated the Progress section, added a Status section, and cleaned up the download section.
29-Jun-2004
  • Added a binary image for Pacman for the Virtex-II. This version (v0.92) has 'correct' tilemap colours and sound. Cyclone versions are unchanged - there is insufficient on-chip RAM to implement tilemap attribute RAM.
12-Jun-2004
  • Added a binary image for the Virtex-II daughterboard for the TRS-80.
14-Apr-2004
  • Fixed the TRS-80 RTC interrupts (it wasn't my fault!) - now you get a blinking cursor and TIME$ works. Also added a colour control via the DIP switch. New version 0.11 in downloads.
  • Chris is progressing well with the YM-3-8910 (sound chip) emulation.
13-Apr-2004
  • Added TRS-80 Model III (Cassette BASIC) to the download section. RTC interrupts not working (yet). Looking at ways to get TRS-80 software into the NanoBoard. One possibility is to load a "cassette" through the serial port. Ultimately I want to be able to hook up a 3.5" floppy drive to the expansion header(s) on the NanoBoard and boot NEWDOS/80.
11-Apr-2004
  • WIP - TRS-80 Model III.
24-Mar-2004
23-Mar-2004
  • Added the new & improved Galaxian to the downloads section. Sound is currently WIP (but don't hold your breath - it consists of several analogue circuits!)
  • Frogger is complete except for some minor tweaks. Should be available within 24 hours.
22-Mar-2004
  • Galaxian complete with !@#$% starfield is finished (download availble soon!)
  • Frogger is almost finished!
17-Mar-2004
  • Added preliminary version of Galaxian. The starfield is not yet implemented, and there is a bit of graphics tidy-up to do, but it's 100% playable. Colours are as close as possible in 16-colour mode. No sound yet either. (Note: I haven't tested the v1.6 build of Galaxian, but it should be OK!?!)
11-Mar-2004
  • Updated the Midway 8080 games. All games now have versions for both rev 1.3 and 1.6 NanoBoards. All versions are now built using the Release version of DXP - there is no more power-up keyboard glitch in rev 1.3 games.
  • Last week has mostly involved a significant restructure to the project source whilst incorporating the Midway 8080 games into the latest design. The goal has been to create re-usable top-level, graphics and cpu modules.
  • Unfortunately, implementing an exact emulation of the background starfield in Galaxian is going to be impossible for reasons I won't attempt to explain. An approximation (but still based on the same LFSR) will have to suffice (for now anyway).
01-Mar-2004
  • Fixed Pacman sprite colours, as near as possible with the 16-colour NanoBoard VGA controller. Tiles are a problem as there is not enough internal RAM in the Cyclone to fit the attribute RAM. But not defeated yet...
  • Galaxian is coming along - almost playable - and already has correct sprite and tile colours! Just need to implement the bullets and background stars. Chris has started looking at the sound - looks like it'll be more work than the Pacman sound.
27-Feb-2004
  • Added Pacman with sound for v1.6 NanoBoards
23-Feb-2004
  • Created the NanoBoard page