- 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.
- 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
- All I need to do now is hook up the PS/2 keyboard to the controller
- 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.
- 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.
- 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
- Not a lot happening with the CoCo atm... will get back to it when
- 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
- Hopefully the next update will include a photo of simultaneous CVBS
and VGA output side-by-side.
- 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....
- 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.
- TRS-80 Model I boots NEWDOS/80 and is
- 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
- 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.
- Updated picture of CoCo COLOR BASIC 1.0 running
on the Nanoboard
- 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
- 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
- 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!
- 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!
- 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.
- 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.
- Fixed the keyboard matrix!
- Switched back to COLOR BASIC 1.0 - I didn't realise 1.2 was for the
- 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.
- 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.
- 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.
- 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.
- 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!