CPCWiki forum

General Category => Programming => Topic started by: Cwiiis on 10:39, 06 August 21

Title: Using a Plus cart as a ROM extension board(?)
Post by: Cwiiis on 10:39, 06 August 21
I have a C4CPC and a Plus machine, but unfortunately no M4/X-MEM or the like... I'd hoped that cartridges are mapped in the same way as ROM extensions, but it seems that isn't the case, only cartridge banks 0, 1 and 3 get mapped (as ROM banks 0, 1 and 7 respectively, at least on emulators). Does anyone know if this is workable and what would be necessary? I don't mind writing some assembly to get it done if need be.

Here is a quick script I wrote to generate cpr files from ROM files - it reads and strips AMSDOS headers if found: https://github.com/Cwiiis/cpctools/blob/main/cprtool.py
Title: Re: Using a Plus cart as a ROM extension board(?)
Post by: dragon on 11:31, 06 August 21
Cpc firmware can only detect/initialize the first 15 or 16 roms.


So cartridge pages are not detected as roms except the mirrowed. Because are upper rom far away first 15.


Arnoldemu work in firmware modification time ago that can detect the rom in cartridges.


I'm the other hand I made a manually rom cartridge reushing the |game commands of amsdos,  add name detection of |name and jump manually to the start of rom in cartridge.


And thas all.

https://www.cpcwiki.eu/forum/applications/makecart/msg165736/#msg165736


http://www.cpcwiki.eu/index.php/C4CPC

Title: Re: Using a Plus cart as a ROM extension board(?)
Post by: Cwiiis on 11:50, 06 August 21
I see, cartridge rom starts from 128 - so if you modified the kernel to scan from that position instead of zero, expansion roms would be picked up? That seems doable, though hopefully I can find arnoldemu's work rather than struggle to reproduce it :)
Title: Re: Using a Plus cart as a ROM extension board(?)
Post by: dragon on 11:55, 06 August 21
I don't know what modify arnoldemu. Unfortunly it not login in  the forum from more than year. So he work is unfinished.


It should be anything realted the os part that scan.
Title: Re: Using a Plus cart as a ROM extension board(?)
Post by: Cwiiis on 12:11, 06 August 21
I found the thread and tool, but the site is down... Hopefully I can find it somewhere else... http://www.cpcwiki.eu/forum/applications/makecart/ (http://www.cpcwiki.eu/forum/applications/makecart/)
archive.org to the rescue! https://web.archive.org/web/20200927233518/http://www.cpctech.org.uk/download/makecart.zip
Title: Re: Using a Plus cart as a ROM extension board(?)
Post by: Cwiiis on 14:13, 06 August 21
So, haven't achieved total success yet... Using both my own tool or makecart, I can make roms that indeed pick up extensions in the cartridge rom banks, but trying to load them more often than not results in freezing the machine.
When I make a cart like this with my tool;
Code: [Select]
python cprtool.py -i os.rom BASIC1-1.ROM ORGAMS.ROM ORGEXT.ROM MONOGAMS.ROM BRICBRAC.ROM parados12_33.rom -d -o PlusDev.cpr -b 0 4 5 6 7 8 11I get a cart that has Orgams, but running |orgams or |m just reloads basic - |o works, however. Not sure why that is.

Making essentially the same cart with makecart;
Code: [Select]
.\makecart -o os.rom -b basic.rom -d parados12_33.rom -r 1 ORGAMS.ROM -r 2 ORGEXT.ROM -r 3 BRICBRAC.ROM -r 4 MONOGAMS.ROM PlusDev.cprgets me a cart where |o also works, but trying to launch |orgams or |m freezes the machine. I've yet to form a theory as to why this is or started properly debugging yet.
Title: Re: Using a Plus cart as a ROM extension board(?)
Post by: OffseT on 01:40, 20 September 21
I have a C4CPC and a Plus machine, but unfortunately no M4/X-MEM or the like... I'd hoped that cartridges are mapped in the same way as ROM extensions, but it seems that isn't the case, only cartridge banks 0, 1 and 3 get mapped (as ROM banks 0, 1 and 7 respectively, at least on emulators). Does anyone know if this is workable and what would be necessary? I don't mind writing some assembly to get it done if need be.
You might be interested by this tool:
https://www.cpcwiki.eu/forum/applications/unidos-the-new-multi-device-amsdos-replacement/msg207265/#msg207265