I'm making good progress on the MEM11 firmware. I spent the last few days
re-doing the firmware build environment. Previously, it would build all the
files each time. Now there is a proper Makefile (even though it takes about
a minute to build everything). I realized that I needed something
better than
what I had because there are multiple targets (emulator, FPGA eval board and
the MEM11 board itself). Right now I'm focused on getting as much debugged
on the emulator since it has a reasonable debuging environment.
I've also integrated various test programs into the build environment
and use
various low level code as part of the main firmware for hardware access.
This "kills two birds with one stone" since it tests not only the
various hardware
functions it also allows me to debug some of the firmware separately from
the full code base.
At this point, the emulator fully supports all of the J1 instructions
(and they
all work too!). In terms of I/O (that will be part of the MEM11 board) it
supports LEDs and various configuration inputs, FRAM, UART and timers.
The biggest risk that I'm taking is that the UART is emulated as being
directly exposed. On the MEM11 hardware, the UART will be connected
through a SPI interface which requires that all accesses to the UART are
asynchronous transactions.
The biggest piece of work remaining on the emulator will be emulating the
Unibus interface. The work here will mainly to create a means to script
various Unibus transactions.
However, before doing that, I'll be testing out the boot loader code and
the configuration firmware since none of that is dependent upon the
existence of functional Unibus hardware.
TTFN - Guy