Hi,
Is there a way, when using the Q68 with SMSQE, to load a 16k piece of code at address $C000 in order to simulate a QL plugin ROM module ? Some of these module can be loaded anywhere in ram (I think these was a tool for that but I can’t remember) but many need to be run from the correct $C000 address.
I think that if using the Q68 with Minerva the solution is straightforward, just add the 16k module at the end of the minerva 48k and load the resulting 64k at address $0000, but I can’t figure out how to do it with SMSQE.
François
Q68 and plug-in ROM
-
- Over Heated PSU
- Posts: 127
- Joined: Mon Aug 08, 2011 11:08 pm
- janbredenbeek
- Gold Card
- Posts: 423
- Joined: Wed Jan 21, 2015 4:54 pm
- Location: Hilversum, The Netherlands
Re: Q68 and plug-in ROM
FrancoisLanciault wrote:Hi,
Is there a way, when using the Q68 with SMSQE, to load a 16k piece of code at address $C000 in order to simulate a QL plugin ROM module ? Some of these module can be loaded anywhere in ram (I think these was a tool for that but I can’t remember) but many need to be run from the correct $C000 address.
You can use the EPROM_LOAD command. When used the first time after a reset, the ROM image will be loaded at address $C000.
I think that if using the Q68 with Minerva the solution is straightforward, just add the 16k module at the end of the minerva 48k and load the resulting 64k at address $0000, but I can’t figure out how to do it with SMSQE.
Unfortunately, Minerva needs some additional drivers to run on the Q68 and these are currently implemented as extension ROM images in one large 96K file. The space at $C000 is occupied by the keyboard driver (which is a few Kbytes) and the space at $10000 by the SD-card driver (which is 20K, so there is no additional 16K space available in the lower memory area).
Thinking of this, it would be possible to drop some code from Minerva (e.g. the MDV driver) and use the freed space to incorporate the keyboard driver below $C000, so you could patch in a ROM image at that point in the Q68_ROM.SYS image. Minerva also scans the area after RAMTOP for ROMs (which could be used to store ROM images in the Q68 RAM since Minerva only uses the lower 16MB), but you would need to load and link them in manually since they won't be there yet at startup.
Jan
-
- Over Heated PSU
- Posts: 127
- Joined: Mon Aug 08, 2011 11:08 pm
Re: Q68 and plug-in ROM
Thank you Jan, the EPROM_LOAD command is exactly what I need.
As for Minerva you are right. I wrongly assumed that Minerva for Q68 was still 48k including everything...
François
As for Minerva you are right. I wrongly assumed that Minerva for Q68 was still 48k including everything...
François
janbredenbeek wrote:FrancoisLanciault wrote:Hi,
Is there a way, when using the Q68 with SMSQE, to load a 16k piece of code at address $C000 in order to simulate a QL plugin ROM module ? Some of these module can be loaded anywhere in ram (I think these was a tool for that but I can’t remember) but many need to be run from the correct $C000 address.
You can use the EPROM_LOAD command. When used the first time after a reset, the ROM image will be loaded at address $C000.I think that if using the Q68 with Minerva the solution is straightforward, just add the 16k module at the end of the minerva 48k and load the resulting 64k at address $0000, but I can’t figure out how to do it with SMSQE.
Unfortunately, Minerva needs some additional drivers to run on the Q68 and these are currently implemented as extension ROM images in one large 96K file. The space at $C000 is occupied by the keyboard driver (which is a few Kbytes) and the space at $10000 by the SD-card driver (which is 20K, so there is no additional 16K space available in the lower memory area).
Thinking of this, it would be possible to drop some code from Minerva (e.g. the MDV driver) and use the freed space to incorporate the keyboard driver below $C000, so you could patch in a ROM image at that point in the Q68_ROM.SYS image. Minerva also scans the area after RAMTOP for ROMs (which could be used to store ROM images in the Q68 RAM since Minerva only uses the lower 16MB), but you would need to load and link them in manually since they won't be there yet at startup.
Jan
Re: Q68 and plug-in ROM
janbredenbeek wrote:You can use the EPROM_LOAD command. When used the first time after a reset, the ROM image will be loaded at address $C000.
Interesting, I was not aware of this command. Currently SMSQ/E doesn't occupy the 16 KB at $C000, so it should also be possible to just load and call it. The area is effectively unused RAM under SMSQ/E.
-
- Over Heated PSU
- Posts: 127
- Joined: Mon Aug 08, 2011 11:08 pm
Re: Q68 and plug-in ROM
Peter wrote:janbredenbeek wrote:You can use the EPROM_LOAD command. When used the first time after a reset, the ROM image will be loaded at address $C000.
Interesting, I was not aware of this command. Currently SMSQ/E doesn't occupy the 16 KB at $C000, so it should also be possible to just load and call it. The area is effectively unused RAM under SMSQ/E.
I can confirm that EPROM_LOAD works perfectly on the Q68 with SMSQ/E
Who is online
Users browsing this forum: No registered users and 2 guests