News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_redbox

Programming Plus Cartridges

Started by redbox, 11:35, 22 November 10

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Bryce

Thanks, will burn it to a ROM as soon as I've hacked a cartridge (ie: added a socket).

Bryce.

TFM

Quote from: redbox on 21:04, 24 November 10
I see that TFM recently wrote a ROM Manager for the SYMBiFACE II, maybe you know how to do what's above?

Well, I had a ROM expander, that is initializing the ROMs from 16 to 31 in addtion to 0-15. Have to look for that file...
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Bryce

Here's some code and info on enabling any ROM you want:

http://www.cpctech.org.uk/docs/exprom.html

Bryce.

redbox

Quote from: Bryce on 00:04, 25 November 10
Here's some code and info on enabling any ROM you want:
http://www.cpctech.org.uk/docs/exprom.html

Yes, I can select any ROM and have had success in selecting ROMs in the cartridge space (128 to 135).

However, the Firmware doesn't include ROMs outside of 0-15 when it checks for RSXs etc.  So If you put Maxam in slot 19, it would initialise but you couldn't use |MAXAM in BASIC.

But I wondered if the SYMBiFACE II etc does allow the above, and if so, how is it done...?


arnoldemu

Quote from: redbox on 09:40, 25 November 10

Yes, I can select any ROM and have had success in selecting ROMs in the cartridge space (128 to 135).

However, the Firmware doesn't include ROMs outside of 0-15 when it checks for RSXs etc.  So If you put Maxam in slot 19, it would initialise but you couldn't use |MAXAM in BASIC.

But I wondered if the SYMBiFACE II etc does allow the above, and if so, how is it done...?
perhaps it needs patching in more than 1 place?
did you look at that cart by dadman? This uses roms in the same way you want to.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

redbox

Quote from: arnoldemu on 10:21, 25 November 10
did you look at that cart by dadman? This uses roms in the same way you want to.

I did look at that cart and it appears to be a games cart, using something similar to noca$h's dsk to cart utility.  I do want to do a games cart too but want to include other cart games (Pang etc.).

This cart doesn't load expansion ROMs (Maxam) etc though, or am I missing something...?


Bryce

Is it not possible to check what the KL_ROM_WALK does and simply modify this routine for yourself? The 464 only walks through ROMs 7 to 0, but the 6128 walks through ROMs 15 to 0, there is obviously a routine being called that then reads the available commands and registers them for later use. Either you could edit the ROM No. range for your OS hack or compy the entire routine to make your own version of the walk-through for the range you need.

Bryce.

arnoldemu

Quote from: Bryce on 11:06, 25 November 10
Is it not possible to check what the KL_ROM_WALK does and simply modify this routine for yourself? The 464 only walks through ROMs 7 to 0, but the 6128 walks through ROMs 15 to 0, there is obviously a routine being called that then reads the available commands and registers them for later use. Either you could edit the ROM No. range for your OS hack or compy the entire routine to make your own version of the walk-through for the range you need.

Bryce.
I agree.

KL FIND COMMAND has a cp &10 near the end of the function. Maybe this needs altering too?
It does an initial count starting at &ff, this would also need to be changed.

KL INIT BACK also checks for &10, so this may need changing too.

a comparison between this and the 464 rom may help.

I don't have a dissassembly of the 464 rom on-line though.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

redbox

Quote from: Bryce on 11:06, 25 November 10
Is it not possible to check what the KL_ROM_WALK does and simply modify this routine for yourself?

This is what I have been doing, although editing KL_ROM_WALK to look for the higher cart ROM numbers doesn't seem to work.  I can manually initiate a ROM the higher numbers, but have had no success editing the firmware.  I have tried getting KL_ROM_WALK to start at 135, ORing the ROM in KL_INIT_BACK, ADDing the number in there too and removing the CP &10 fail-safe and none has worked so far.

Writing my own routine is all very well but there is no space in the OS ROM that I can see so it would have to be a patch I think.

Quote from: arnoldemu on 11:10, 25 November 10
KL FIND COMMAND has a cp &10 near the end of the function. Maybe this needs altering too?

Yes I saw this, and I also saw it in KL_INIT_BACK (near the beginning) and as I said, I think it's a fail-safe there.  I would patch all of the routines, but as I said above I can't get it to even patch the ROM in yet, can only do it manually.

Bryce

As far as I can remember, the software supplied with the Inicron RAM-ROMBox initialised single ROMs directly after they had been programmed, it might be worth taking a look at what they did? I think TFMs ROM Manager does something similar.

Bryce.

arnoldemu

well, you could choose not to edit the os, and instead, choose to use a rom in place of rom 7, which runs through the other cart roms enabling them and doing the rom walk for them.
That *could* work.
Or perhaps, a patched disc rom, so instead of showing a menu, it walks the other roms, plenty of space remaining in it?
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

redbox

Quote from: arnoldemu on 11:54, 25 November 10
well, you could choose not to edit the os, and instead, choose to use a rom in place of rom 7, which runs through the other cart roms enabling them and doing the rom walk for them.
That *could* work.
Or perhaps, a patched disc rom, so instead of showing a menu, it walks the other roms, plenty of space remaining in it?

I did think of doing this as AMSDOS has plenty of space left, but won't ROM 7 be patched into &C000?  And how would you then do a ROM walk as the other ROMs would also need to be patched into &C000 to be walked...?

Powered by SMFPacks Menu Editor Mod