This month sees two new hardware boards and significant upgrades on the zOS/ZPUTA software.
Rom Filing System
The Rom Filing System has been upgraded with the release of v2.0 schematics and PCB’s. The new design resolves the shortcomings of v1.1 and incorporates a coded latch to guard against writing to the control registers when not intended. It also include 2 additional (optional) Memory devices, a 512KB FlashRAM to expand the RFS storage and a 512KB Static RAM to expand the memory for CP/M allowing for a greater number of SD drives and TPA size. Also included is a Software SPI and a Hardware SPI interface for driving an SD card. v2.0 schematic , v2.0 pcb
After spending some time with the tranZPUter and noticing it’s design pitfalls (choosing an FPGA with insufficient GPIO pins) and the possibilities seen writing CP/M and the RFS updates, I sat down and redesigned the tranZPUter hardware around the Z80 so that it can be overclocked and access upto 512KB of local static RAM. This allows for a full 64K-512K version of CP/M and also the capability to run MZ-700/800 and MZ80B software.
In order to progress the design more quickly I decided not to use an FPGA (primarily as I couldnt find a dev board with the required 60+ GPIO pins small enough for this project and I didnt want to attempt to solder a BGA (Ball Grid Array) given how expensive the Altera Cyclone V/10 devices are in the needed specification. I settled on an interim solution, to use a dev board by PJRC.com called the Teensy 3.5. This is a Freescale K64F processor, 512K Flash RAM, 256K RAM operating at 120MHz but most importantly it had the required number of GPIO pins which are 5V tolerant thus simplifying the hardware. schematic and PCB for the new design.
In order to support the Freescale K64F on the Teensy3.5 board in the tranZPUter SW, the ZPU and tranZPUter software repositories were merged into zSoft and ported to the ARM Cotex-M4 architecture. zOS and ZPUTA can now be built according to requirements for the ZPU or Cortex-M4 processors.
The original Mini-Basic was designed to run within Windows or Linux and take a file containing a BASIC program and run it. Within an embedded environment this is not so convenient as you want to be able to enter lines or commands and get feedback immediately. This is generally the case in an environment such as this where you are programming or controlling hardware under development. Mini-Basic was thus enhanced to have a full screen editor and a command processor to make it into a fully interactive BASIC.