Alan,
Interesting that you mentioned Simple80. Your Simple80 implementation of small ROM disk and CP/M may be quite applicable to a modified SC114. This is a rather long story but let me explain:
I found a second SC114 blank board yesterday and decided to do a couple "unauthorized hacks" for several reasons:
1. Reach 29.5MHz CPU clock with bit-bang serial at 38.4bps. The existing decode logic is limiting the top speed to 20MHz, or in practice, 14.7MHz with serial port at 19.2bps. I know that combination of Z80/RAM/EPROM can do 29.5Mhz comfortably, possibly 33-36MHz if the decoding logic is eliminated.
2. Expand ROM to 64K with 45nS W27C512 which is inexpensive and re-programmable.
3. Implement "shadow write" feature to change bank0 or bank1 RAM contents while in ROM mode.
The method is similar to Simple80 which used SIO's discrete output registers. In SC114, there are several spare I/O registers that can be used. Schematic and photos of the modification are attached.
Here is a quick description:
1. At power on or reset, ROM is in control of the entire 64K memory space
2. Disable RAM read, but enable RAM chip select enable RAM to be written by ROM such that LDIR of the entire memory space will copy entire ROM content to RAM.
3. Once RAM is same as ROM, I can enable both RAM & ROM briefly without data contention and then disable ROM. I need to do that because I can only modify one register at a time. Z80 is now running entirely in RAM.
The 3 steps above are executed first before SC114 execute its normal initialization routine by patching in this short routine:
;12/7/22
;prepare the hardware for SCMonitor
;copy ROM to RAM
;disable ROM
;I/O addresses:
; 0x38 ROM chip select, 0=ROM selected
; 0x8 LED, 0= LED on
; 0x10 RAM output enable, 0=RAM read enabled
; 0x18 RAM chip select, 1= RAM chip selected
;everything low at reset
org 7f00h ;patch this near top of SCMonitor
ld a,1
out (10h),a ;disable RAM output
out (18h),a ;select RAM for shadow write
;shadow write to self for entire 64K
ld hl,0
ld de,0
ld bc,0
ldir
xor a
out (10h),a ;enable RAM read
inc a
out (38h),a ;disable ROM
jp 1ccbh ;reset vector of SCMonitorIt all works, I now have a SC114 running 29.5MHz with 38.4kbps serial port. So I'm interested in your small ROM disk and 2nd RAM bank concept.
Bill