A few people have asked me recently where I’m headed with my designs. So here’s my current thinking.
I have a number of areas of interest:
- Firmware, notably the Small Computer Monitor
- Software development tools
- Hardware, RC2014
- Hardware, Z50Bus
I am gradually enhancing the Small Computer Monitor with additional functionality and hardware support. I hope to produce a version soon which includes an extended version of ROM BASIC. I aim to add SAVE and LOAD using I2C memory cards.
This has rather been abandoned as I’m spending nearly all my time on hardware and firmware projects. Shame. Perhaps I’ll get back to it at some point.
I really like Spencer’s RC2014 Classic II which he introduced last year. The standard Classic II kit enables the building of a very modular Z80 system using low profile modules on an 8-slot backplane. The design does not enable CP/M to be used, or at least not without replacing some of the low profile modules with standard sized ones. It is essentially limited to 8k bytes of ROM and 32k bytes of RAM.
As shipped, the Classic II allows the use of the Small Computer Monitor and ROM BASIC. However, there is no local non-volatile storage. This makes it a bit tricky to do anything serious. It is possible to save and load via text style transfers through a terminal emulation running on a modern computer, but it is a bit messy for most purposes.
So why do I like it so much?
I like the neat little low profile modules – they just look nice. I also like the simplicity of the original 40-pin RC2014 bus. The shape of the bus header allows the modules to be levered out quite easily, while the two row enhanced bus modules can be quite difficult to remove. Hands up those who have hurt their fingers removing modules from the backplane! There is also something nice about having a module size that really enforces the modular approach.
To me this module size creates a new challenge, and as Spencer has not so far produced any low profile add-on modules or upgrades, there is plenty of scope for new designs.
I’ve already made a number of modules in the same low profile form factor. These add functionality not previously available in low profile modules. These include:
- Power supply module (SC142)
- LED output module (SC134)
- Digital output module (SCSC135)
- Digital input module (SC136)
- I2C bus master module (SC137)
- Large backplane with power input (SC133)
- Large backplane section (SC141)
The large backplanes are needed to house all the extra modules, as the Classic II is supplied with an 8-slot backplane of which 5 are already used.
The LED output module can be set as the self-test / status port, as well as being generally useful for software debugging etc.
The power supply module just completes the fully modular approach of the RC2014 by removing it from the backplane. SC142 is designed for an input voltage of between 8 to 15 volts. I may make one with a 5 volt input. Another possibility is a module to enable the system to be powered from a battery.
There are many I2C devices available which are not currently supported in the RC2014 world, or at least not in kit form. To make use of these I have designed an I2C bus master module (SC137). Also, I have a number of I2C slave device cards in development. My ultimate goal is to add support for I2C devices to ROM BASIC.
My I2C cards all have a male header on the left and a female header on the right, enabling them to be daisy chained. The following PCBs are currently being manufactured.
I already offer an I2C memory card (SC138) to use with the I2C bus master module. I have produced example software, but I also hope to add SAVE and LOAD features to ROM BASIC.
If I succeed in adding support for I2C to ROM BASIC, the code will no longer fit in the 8k ROM bank available on the Classic II ROM module. I have therefore designed a replacement ROM module with 32k ROM banks. This will also allow both SCM and BASIC to be available without changing jumpers. The ROM chip I have selected is actually 128k bytes, so there are 4 x 32k banks. This means three banks will be available for other firmware. I’m thinking of things like Forth.
I have also designed a replacement serial module. This module will not offer much benefit in a modest system, but will be useful for those wishing to seriously extend their Classic II.
This serial module has the following benefits over the Classic II module:
- Tight address decoding, freeing up 62 I/O addresses currently used by the Classic II module.
- On-board clock, making it independent of the processor clock. This will allow faster (or slower) processors to be used.
- Flexible address decoding via jumpers.
- Full hardware handshaking in both directions.
- Optional isolation of RX and TX signals from the backplane, allowing more than one of these modules to be used in a system.
Another thing I’d like to build into the firmware is an auto-start feature. This would allow a program written in assembler or BASIC to be stored in I2C memory and run at power-up or reset. This would allow an expanded Classic II to be used as a control system, for example.
Another I2C card I’m considering is a alphanumeric LCD interface (eg. 2 lines of 16 characters). This sort of thing will allow a boxed system to have an easy to interface LCD which can be mounted conveniently as it only needs a flexible 6-way cable. Such features again really need support added to the BASIC ROM.
I’m not abandoning the standard size RC2014 module, but for a while my designs will most likely focus on low profile modules.
I like the Z50Bus as it has a number of benefits over the standard and enhanced RC2014 bus:
- Support for the Z80 mode 2 interrupt chain.
- Shorter connector making unplugging modules much easier than the enhanced RC2014 module form factor, whilst still providing two rows of pins for stability.
- Fully featured Z80 bus, unlike the RC2014 standard 40-pin bus.
I have just released SC140, a Z180 SBC on a Z50Bus card. This can be used as a single board computer or fitted to a Z50Bus backplane for expansion. I supply it with RomWBW firmware.
I will shortly release a combined real time clock and I2C bus master card for the Z50Bus.
I also hope to bring all the designs mentioned above for the RC2014 bus to the Z50Bus, in the near future.
As with my current designs, I intend all my future projects to be open source so they are free for anyone to recreate or build upon. I will continue to offer PCBs and complete kits on Tindie for anyone who would like them.
In conclusion, I think I’ll be busy for a while.