The hardware is still not quite finished. (I think there is a problem regarding pull-up & pull-down resistors on the same lines due to the screen having its own internal pull-up resistors.) It has a Z80 CPU running at 3579545 Hz & 32KB RAM & a 32K EEPROM presently containing a pre-alpha version of the ROM (containing only a hex dump routine & empty stubs for other things). It runs on 5V, though about 6.5V must be input to the voltage regulator to get decent screen contrast. The picture above is of the completed system (sans the TI keyboard because the ROM presently does not have routines that make use of it). Currently, I have no schematic for this computer. I may make one if I get around to it.
The Z80 is in the middle. In the upper right is a 62256 RAM chip, & below it is a 74HCT00 quad NAND gate chip & a TV colorburst crystal (3.58 MHz). The dark green loop to the right of the Z80 is the /RESET jumper. It has to be momentarily connected to ground, or the computer will not boot. However, leaving it connected to ground during power-up would prevent partial-power CPU glitches, which would corrupt RAM (if it were nonvolatile). I have heard that connecting a capacitor in place of the reset jumper would also work, but I apparently do not have a capacitor of the right size, since none I tried worked.
The longer board above the 3 short boards contains the I/O hardware. This consists of some select logic on the left, the screen in the center, & the "D-Bus" & "I2C" compatible link port for the keyboard on the right (the controller for which currently has 6 unused input & output lines, which may at some point get used for a link to other computers).
To the left is an EEPROM (28C256) to which I need to burn the ROM once I write it. I have an EEPROM burner. I am using a TI keyboard (because its interface is simpler than a PC keyboard) & a 4x20 transflective character LCD module with a white LED backlight (HDM20416L-1-Y10S). The large (25 milliFarad, 20V) blue capacitor just off the top of the picture is serving as an "uninterruptible power supply" for when I accidentally bump the power leads (& to filter out glitches on power-up & power-down).
The test routines I have put in the EEPROM have thus far verified the correct functioning of all the hardware, though the present routines do not include the keyboard test. It is also interesting to note that this shows that the emulator I wrote a few years ago in Visual Basic was correct (sans the DAA instruction), since I debugged the ROM-dump-to-screen code on it long before the actual hardware worked.
I intend to write some sort of BASIC interpreter (since it is, after all, similar to many old computers that had BASIC in ROM). I may also write an interpreter for a functional programming language (Scheme, Haskell, or maybe a simpler (implementation-wise) one I make up) if I get around to it & can figure out how to get a decent speed & memory footprint.
![]() ![]() ![]() ![]() ![]() ![]() |