- The problem with PUCE/GUPPY atm, given that we only get the chance
to work on it every week or three, is the 'context switch' required
each time we want to do some work on it. For instance, there's the
PUCE FPGA firmware, written in schematic & VHDL and built with
Quartus; the EZUSB (8051) firmware, written in C and built with SDCC;
the Linux GUPPY device driver, written in C and built with gcc; and on
top of all that, test application code (C, gcc). And for anything to
happen, they all have to work together, running on 2 custom PCBs!
Tonight, it took me the best part of 2 hours just to get to the point
where I left off three weeks ago! Frustrating...
- Having said that, I did make some progress. I can now
read a block of 32 bytes from the flash using fileio operations on
Linux and a trivial test app. Slowly but surely...
- Chris is experiencing similar frustrations with MICE. He can
transmit what looks like valid Maple Bus packets on a CRO but is still
getting the receiver to work.
- Oh, and the SMD is now alive - cost me less than AUD$5 to fix. I can
download and play ROMs on the Mega Drive via the PC parallel port. No
luck with the floppy disk drive on it though.
- Progress continues (albeit slowly due to distractions on other
projects - namely PACE). Tonight I managed to get a linux user-mode
application to read some data from the Flash on PUCE.
- Chris had the (good) idea to simply treat the Flash (and the SRAM
for that matter) as a file on the /dev/guppy device. Normal file
operations (fread, fwrite, fseek) are all that are needed to
read/program the Flash/SRAM devices on PUCE - hence no separate
programming application required!
- Chris has been working on getting his GUPPY to talk to a Dreamcast
controller (Maple Bus). This is for Yet Another Project called M.I.C.E
- (I can't recall what the acronym stands for, but it's a project
to build an adapter to allow the use of any console/PC controller on
any console/PC - as far as possible/useful).
- Phase 1 is getting DC peripherals to work on a PC - how cool
would it be to use a DC Joystick, Fishing Controller or Dance Mat
on M.A.M.E.!?! Unfortunately,
using a DC Light Gun on a PC monitor is probably out of the
- I recently acquired a couple of Sega Mega Drive (a.k.a. Genesis)
consoles (PAL+NTSC), a 32-X and a battery-acid-damaged Super Magic
Drive (which I've cleaned up and should be able to restore to perfect
working order). Apparently, the SMD will work on a SNES with an
adapter. Ipso facto, it will be trivial to configure PUCE to work on
the Mega Drive, with the right physical connector!
- Great progress tonight - hooked up a GUPPY and got it reading from
the flash memory on PUCE and reading/writing internal registers!
Shouldn't be too much more effort to get a fully functional flash
programmer going - no excuse now not to get stuck back into PUCE
- Got me thinking, now that PUCE effectively has a USB connection, we
can do a few cool things with it...
- A debug console for PUCE - also allows us to dump relatively
large amounts of data to the PC when reverse-engineering CIC chips
- A 'network' card for NES/SNES/N64! Could add (broadband)
networking support for Contiki,
for example, which would be running on PUCE of course!
- Got a 3rd GUPPY PCBA working 100% tonight.
- Got a 2nd GUPPY PCBA working 100% tonight! I think Chris knows how to build them now! ;P
- Progressed on GUPPY-PUCE Flash Programmer FPGA firmware.
- (Notice the weekly updates now!)
- GUPPY PCBA #0002 passes a complete production test!
- Started work on the GUPPY-PUCE Flash Programmer FPGA image tonight.
- Unfortunately, we haven't had much luck getting a 2nd GUPPY
board running. Annoying manufacturing problems have made hand assembly
difficult. PCBA #0001 *almost* works - it powers up and is recognised
as a USB device, but refuses to download the firmware. PCBA #0003
worked for a few seconds before dying. Frustrating indeed!
- Flashed some LEDs
on the GUPPY board today!!! This means the device is recognised as a
USB device, and our (Linux) driver downloads the firmware, which
subsequently runs. Tested a few GPIO pins and looks like we're cookin'!
Some more testing ahead and then we can start on the PUCE programmer!
(This is not an April Fool's joke!) :P
- Received the GUPPY PCB today. Parts are hopefully not too far away.
- The GUPPY board has (finally) gone out for manufacture. Now we wait for parts...
- The PACE
project is forging ahead whilst we wait for GUPPY. The more we do on
PACE, the better practise it is for implementing PUCE! I'm thinking of
even attempting to emulate a NES with PACE!
- Well PUCE sees another new year without any ground-breaking progress. Truth is I've been side-tracked by another project (PACE
- more on that later) for which an opportunity arose that couldn't be
passed up. However, lately we've been turning our thoughts back to
PUCE... it has been dragging a bit and both Chris & I have resolved
to get it finished - we've invested far too much time & money into
it to let it fizzle out!
- We're currently laying out our USB programmer board (GUPPY)
which should be sent out for manufacture next week. Getting parts could
be another story, but when we get this assembled and the software
developed, programming the flash (which has been a bit of a
show-stopper up until now) should be much easier and much quicker!
- More good news is that Intel flash is available in higher
densities now (albeit a bit slower) but that should allow us to load a
full 64MB for N64 carts and keep the smaller (and faster) 4MB parts for
NES (&SNES). Again, getting flash parts these days is easier said