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
- janbredenbeek
- Super Gold Card
- Posts: 635
- Joined: Wed Jan 21, 2015 4:54 pm
- Location: Hilversum, The Netherlands
Re: Q68 and plug-in ROM
You can use the EPROM_LOAD command. When used the first time after a reset, the ROM image will be loaded at address $C000.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.
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).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.
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
-
- Trump Card
- Posts: 171
- 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:You can use the EPROM_LOAD command. When used the first time after a reset, the ROM image will be loaded at address $C000.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.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).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.
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
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.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.
-
- Trump Card
- Posts: 171
- Joined: Mon Aug 08, 2011 11:08 pm
Re: Q68 and plug-in ROM
I can confirm that EPROM_LOAD works perfectly on the Q68 with SMSQ/EPeter wrote: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.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.