ICL OPD BASIC now in ROM!
Posted: Mon Jan 29, 2024 2:43 pm
In the darkest depths of the internet I found an OPD Teledrive disk image that I haven't been able to get to work on my OPD yet, but browsing through the content of the image with a hex editor I found a couple of docs/references relating to putting ICL BASIC in ROM - which in my opinion is a mini game-changer for the OPD as RAM is so limited and of course loading from mdv can be a right pain these days. I followed the instructions and with the help of a chap who had assistance from the late Murray Macabe (who I believe originally devised this mod) I now have BASIC in ROM, which takes up just 8.5k instead of about 45k of RAM.
It's really quite easy to do and just involves a few changes to the CPU daughter board:
Remove all 4 original ROM chips, they are no longer needed as the whole 128k OS will be squeezed onto 2 x 27C512 instead of 4 x 27C256.
Changes around IC2:
Underside - Track to Pin 4 is cut just before the through-hole (so that it can be reverted with a solder bridge if ever needed).
Pin 4 is joined to Pin 5 by solder bridge.
Pin 1 is joined to the track previously used for Pin 4 using solder 'bridge' (the track runs right past Pin 1, you'll have to scratch the solder mask off).
On component side - Track from Pin 1 to solder through hole above Pin 16 is cut.
Program 1x 27C512 EPROM to contain the contents of both IC4 from 0000h and IC5 from 8000h, this one will live in the socket for IC4.
Program 1x 27C512 EPROM to contain the contents of both IC6 from 0000h and IC7 from 8000h, this one goes in the socket for IC6.
Program 1x 27C512 EPROM to contain the modified BASIC code starting at 0000h, this one goes into the socket of IC7.
Pin 1 on each of the 3x 27C512 EPROMS should be bent out so it doesn't connect with its socket.
Link all 3 pins by wire to A15, which is pin 14 on the CPU and can be soldered to the appropriate pin on the header that plugs into the motherboard, or to a via under the CPU that also goes to Pin 14.
The zip file attached includes 64k images of both OS ROMs combined for the IC4 and IC6 positions and BASIC on ROM for position IC7.
Select BASIC from option 7 on the main menu in the usual way and boom, it's there for you within about 4 seconds.
Note: I'm not sure if my system was a bit fussy with certain EPROMS or if it was just oxidised pins causing bad connections but I found that an old UV 27C512 EPROM worked better than a faster Winbond EEPROM in position IC7. I used a socket in a socket for IC2 to be less destructive concerning cutting traces on the board.
Finished project looks like this (please excuse bodginess):
It's really quite easy to do and just involves a few changes to the CPU daughter board:
Remove all 4 original ROM chips, they are no longer needed as the whole 128k OS will be squeezed onto 2 x 27C512 instead of 4 x 27C256.
Changes around IC2:
Underside - Track to Pin 4 is cut just before the through-hole (so that it can be reverted with a solder bridge if ever needed).
Pin 4 is joined to Pin 5 by solder bridge.
Pin 1 is joined to the track previously used for Pin 4 using solder 'bridge' (the track runs right past Pin 1, you'll have to scratch the solder mask off).
On component side - Track from Pin 1 to solder through hole above Pin 16 is cut.
Program 1x 27C512 EPROM to contain the contents of both IC4 from 0000h and IC5 from 8000h, this one will live in the socket for IC4.
Program 1x 27C512 EPROM to contain the contents of both IC6 from 0000h and IC7 from 8000h, this one goes in the socket for IC6.
Program 1x 27C512 EPROM to contain the modified BASIC code starting at 0000h, this one goes into the socket of IC7.
Pin 1 on each of the 3x 27C512 EPROMS should be bent out so it doesn't connect with its socket.
Link all 3 pins by wire to A15, which is pin 14 on the CPU and can be soldered to the appropriate pin on the header that plugs into the motherboard, or to a via under the CPU that also goes to Pin 14.
The zip file attached includes 64k images of both OS ROMs combined for the IC4 and IC6 positions and BASIC on ROM for position IC7.
Select BASIC from option 7 on the main menu in the usual way and boom, it's there for you within about 4 seconds.
Note: I'm not sure if my system was a bit fussy with certain EPROMS or if it was just oxidised pins causing bad connections but I found that an old UV 27C512 EPROM worked better than a faster Winbond EEPROM in position IC7. I used a socket in a socket for IC2 to be less destructive concerning cutting traces on the board.
Finished project looks like this (please excuse bodginess):