News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Cwiiis

Using a Plus cart as a ROM extension board(?)

Started by Cwiiis, 08:39, 06 August 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Cwiiis

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

dragon

#1
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


Cwiiis

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 :)

dragon

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.

Cwiiis

#4
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/
archive.org to the rescue! https://web.archive.org/web/20200927233518/http://www.cpctech.org.uk/download/makecart.zip

Cwiiis

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;
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 11
I 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;
.\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.cpr
gets 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.

OffseT

Quote from: Cwiiis on 08: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.
You might be interested by this tool:
https://www.cpcwiki.eu/forum/applications/unidos-the-new-multi-device-amsdos-replacement/msg207265/#msg207265

Powered by SMFPacks Menu Editor Mod