ICL OPD BASIC now in ROM!

The Thor, Aurora, Q40, Q60 & Q68 etc. are discussed here.
User avatar
Chr$
QL Wafer Drive
Posts: 1315
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany
Contact:

ICL OPD BASIC now in ROM!

Post by Chr$ »

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):
20240129_153908.jpg
Attachments
ICL OPD OS and BASIC ROMs.zip
(115.87 KiB) Downloaded 41 times


https://QXL.WIN
Collector of QL related computers, accessories and QL games/software.
Ask me about felt pads - I can cut them to size and they have proved excellent for mdv data recovery.
stephen_usher
Gold Card
Posts: 433
Joined: Tue Mar 11, 2014 8:00 pm
Location: Oxford, UK.
Contact:

Re: ICL OPD BASIC now in ROM!

Post by stephen_usher »

That would certainly help with the C1 floppy interface as that takes 7.5K RAM meaning that the configuration programs can't load as they need BASIC and there's not enough memory left.


User avatar
Chr$
QL Wafer Drive
Posts: 1315
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany
Contact:

Re: ICL OPD BASIC now in ROM!

Post by Chr$ »

stephen_usher wrote: Mon Jan 29, 2024 5:58 pm That would certainly help with the C1 floppy interface as that takes 7.5K RAM meaning that the configuration programs can't load as they need BASIC and there's not enough memory left.
Yes, that was the thing that inspired me to find a way to be able to open them and also any other large-ish BASIC progs that also report STORE errors. And it works now.


https://QXL.WIN
Collector of QL related computers, accessories and QL games/software.
Ask me about felt pads - I can cut them to size and they have proved excellent for mdv data recovery.
User avatar
Pr0f
QL Wafer Drive
Posts: 1308
Joined: Thu Oct 12, 2017 9:54 am

Re: ICL OPD BASIC now in ROM!

Post by Pr0f »

I'm planning on making a similar mod - but replacing both logic chips on the right hand (processor) side of the PCB, and doing the same trick - three x 64K blocks - and the remaining socket switchable for either 128K ROM or RAM at the address designated for RAM expansion - for RAM to work - the code in the PCML telestore 64K eprom would need to be copied into the top ROM of the exchange set.

Just out of interest - what address are you running the BASIC ROM at?

Also - how does it appear in the menu - does it run directly when you chose that option for Basic ?

Sorry for all the questions - I still haven't finished my PSU/VGA unit so that I can get the OPD up and running.


User avatar
Chr$
QL Wafer Drive
Posts: 1315
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany
Contact:

Re: ICL OPD BASIC now in ROM!

Post by Chr$ »

Pr0f wrote: Mon Jan 29, 2024 7:07 pm I'm planning on making a similar mod - but replacing both logic chips on the right hand (processor) side of the PCB, and doing the same trick - three x 64K blocks - and the remaining socket switchable for either 128K ROM or RAM at the address designated for RAM expansion - for RAM to work - the code in the PCML telestore 64K eprom would need to be copied into the top ROM of the exchange set.

Just out of interest - what address are you running the BASIC ROM at?

Also - how does it appear in the menu - does it run directly when you chose that option for Basic ?

Sorry for all the questions - I still haven't finished my PSU/VGA unit so that I can get the OPD up and running.
Sounds like a great planned mod.
I am not sure what address BASIC is at, I assumed it's wherever it normally gets loaded to RAM, as no changes were made to the OS ROMs and it loads directly from option 7 on the main menu. Happy to check for you by sbytes-ing addresses to find the ICL BASIC ROM start.

Initialisation I think takes a little longer than usual so I assume it picks up at that stage that it has BASIC already present and that's what stops it spinning up the mdvs to search for it when you select option 7?


https://QXL.WIN
Collector of QL related computers, accessories and QL games/software.
Ask me about felt pads - I can cut them to size and they have proved excellent for mdv data recovery.
User avatar
Pr0f
QL Wafer Drive
Posts: 1308
Joined: Thu Oct 12, 2017 9:54 am

Re: ICL OPD BASIC now in ROM!

Post by Pr0f »

Looking at your mods around IC2 the 74LS138 - this would replace the A15 with the A16 address line, leaving A15 to be used for pin1 on the ROMs.

This put's your BASIC ROM at 0x80000 by my calculations

I was planning on trying this at 0xB0000 - as that address is free in the decoding map - be interesting to see if it works. The logic needs more of a work over though.


User avatar
Chr$
QL Wafer Drive
Posts: 1315
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany
Contact:

Re: ICL OPD BASIC now in ROM!

Post by Chr$ »

You are no doubt correct, but I'll verify by sbytes-ing a few bytes starting at 524,288!


https://QXL.WIN
Collector of QL related computers, accessories and QL games/software.
Ask me about felt pads - I can cut them to size and they have proved excellent for mdv data recovery.
User avatar
Chr$
QL Wafer Drive
Posts: 1315
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany
Contact:

Re: ICL OPD BASIC now in ROM!

Post by Chr$ »

Deary me, I don't know what I've done now. While attempting to sbytes 524,288 for a length of 32 bytes the OPD reset itself and now I no longer have BASIC in ROM :?

Apart from that it boots as normal, it just keeps trying to access the mdvs to find BASIC. It was working so well up to now. The 5v rail is at about 4.91 and seems pretty stable. As the other mod-addressing of the 2x 27C512 with the OS is working fine, what on earth could be preventing the system from seeing the other 27C512 with BASIC on it? I checked the EPROM content, that's fine. Even tried another EPROM just in case.


https://QXL.WIN
Collector of QL related computers, accessories and QL games/software.
Ask me about felt pads - I can cut them to size and they have proved excellent for mdv data recovery.
User avatar
Pr0f
QL Wafer Drive
Posts: 1308
Joined: Thu Oct 12, 2017 9:54 am

Re: ICL OPD BASIC now in ROM!

Post by Pr0f »

I don't think just trying to read from that address would cause that problem - as the data is in ROM.


User avatar
Chr$
QL Wafer Drive
Posts: 1315
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany
Contact:

Re: ICL OPD BASIC now in ROM!

Post by Chr$ »

Pr0f wrote: Tue Jan 30, 2024 10:15 pm I don't think just trying to read from that address would cause that problem - as the data is in ROM.
I know, it must have just been a coincidence. It has crashed previously while working through the Welcome package menus but I put that down to dodgy loaded data and it worked from another copy of the file. Perhaps the whole thing is just instable and it's related to the issue I had before.


https://QXL.WIN
Collector of QL related computers, accessories and QL games/software.
Ask me about felt pads - I can cut them to size and they have proved excellent for mdv data recovery.
Post Reply