News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

MegaFlash Rom Manager ROM

Started by TheCorfiot, 18:40, 05 April 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

TheCorfiot

Many thanks to all you wonderful folks for the advice, tips and help....

Wish I could contribute more to the discussion regarding firmware, the cpc is a relatively new platform for me but I am learning a hell of a lot with your help and reading your posts....

Cheers
TC  :)

redbox

Quote from: Bryce on 08:46, 10 April 13
I suspect that the 0 to 15 in KL FIND COMMAND could be a limit that a ROM can only have 16 RSXs, not that it only searches in ROMs 0 to 15. Or am I talking crap?

I checked and in KL FIND COMMAND it is using the CP &10 as a limit to ROM selection.


02d7 0eff      ld      c,$ff
02d9 0c        inc     c
02da cd7eba    call    $ba7e            ;; HI: KL PROBE ROM
02dd f5        push    af
02de e603      and     $03
02e0 47        ld      b,a
02e1 ccf102    call    z,$02f1
02e4 dc1c06    call    c,$061c            ; MC START PROGRAM
02e7 f1        pop     af
02e8 87        add     a,a
02e9 30ee      jr      nc,$02d9         ; (-$12)
02eb 79        ld      a,c
02ec fe10      cp      $10          ; maximum rom selection scanned by firmware
02ee 38e9      jr      c,$02d9          ; (-$17)
02f0 c9        ret   


I think that what's actually going on is I was throwing a red-herring into the mix here - KL ROM WALK and KL INIT BACK don't use the KL FIND COMMAND routine which explains why it doesn't impact the start-up when you patch them.

So the question is: when is KL FIND COMMAND actually used?  For example, if it is used in the Maxam/Utopia |HELP type commands it would explain why they only list RSXs in ROMS 0-15.

Bryce

Interesting. Can you search the rest of the firmware to see if anything calls it?

Bryce.

redbox

Quote from: Bryce on 11:46, 10 April 13
Interesting. Can you search the rest of the firmware to see if anything calls it?

Nope, can't find anything.

I will patch it and see if the |HELP commands etc start working.

Bryce

Cool. It would be nice if that solves it. Easier than having to edit Maxam and Utopia :)

Bryce.

redbox

#30
Quote from: Bryce on 12:29, 10 April 13
Cool. It would be nice if that solves it. Easier than having to edit Maxam and Utopia :)

Well, I patched these two locations:


KL FIND COMMAND

02ec fe10      cp      &10 

RST 3 - LOW: FAR CALL

048c fe10      cp      &10   


and it didn't make any difference to the |HELP command in Maxam 1.5.

So I had a look at the Maxam ROM and it doesn't use KL FIND COMMAND.   :(

ROMAN does have a Show RSX command that works anyway though in the higher ROM positions.

TFM

In case you want to directly edit the content of a ROM, then you can use the FutureOS version of the ROManager, it contains a simple HEX editor.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Munchausen

#32
redbox - are there any disadvantages to using the patched ROM? I'm thinking of incompatibility with the 464, problems if no ROM box is conected, or problems with ROMs that just store data?

Just got the answer from Bryce - the only problem might be data ROMs, you just need to put 0xFF at the beginning.

redbox

Quote from: Munchausen on 11:56, 26 April 13
Just got the answer from Bryce - the only problem might be data ROMs, you just need to put 0xFF at the beginning.

Yep.

I've been using the patch on my 6128 Plus since I posted it, and no problems so far  :)

Bryce

I've just been trying the patch on a Classic 6128 using the LowerROM Board a MegaFlash. The CPC boots normally if no ROMs are installed above slot 15. As soon as I install anything (tried several ROMs: Utopia, BCPL) in a slot above 15 the CPC just cycles at boot. It gets as far as the Copyright message but resets when it's about to list the installed ROMs. Any idea what's up?

Bryce.

redbox

Quote from: Bryce on 11:35, 01 May 13
I've just been trying the patch on a Classic 6128 using the LowerROM Board a MegaFlash. The CPC boots normally if no ROMs are installed above slot 15. As soon as I install anything (tried several ROMs: Utopia, BCPL) in a slot above 15 the CPC just cycles at boot. It gets as far as the Copyright message but resets when it's about to list the installed ROMs. Any idea what's up?

Hmmm, this is exactly what happens in WinApe.

Have you tried the Firmware 3.1 from Syx/Toto?  This has the same kind of patch so would be a good test.

Bryce

#36
Ok, did some more tests. One problem kind of solved. If AMSDOS isn't in position 7 then the cycling happens. I've now installed AMSDOS on the MegaFlash and enabled it. The CPC now boots, but Utopia (in slot 17) crashes the CPC when I try to start it with |U.

I'll try some other ROMs...

Edit: More weirdness: The same test as above on a CPC+ gives me "Press Play then any key" when I enter |U.

Bryce.

redbox

#37
Quote from: Bryce on 11:49, 01 May 13
One problem kind of solved. If AMSDOS isn't in position 7 then the cycling happens.

I remember having problems with ParaDOS in slot 7 though, and I also had to completely wipe my MegaFlash and start again before I could get it all working.  Also, my replacement OS is in the cartridge, not on a MegaFlash lower ROM extension.

Try Maxam 1.5, that works fine for me in a high slot. 

And I would check to see if Firmware 3.1 makes a difference or not, as that has been tested on a 6128 (but again, directly in the socket and not in a lower ROM extension).

Bryce

#38
Ok, just tried BCPL in slot 17. It initialises fine (ie: shows up in the list at boot), but it also crashes when you start it. I've a feeling that some ROMs just don't like being that far up the list.

I'll try Maxam 1.5 now...

Nope, Maxam 1.5 in slot 17: Initialises on boot but crashes when you start it.

Bryce.

Bryce

#39
Same result on the CPC+.

Where have you got the patched firmware installed? On a LowerROM Board or did you install it internally / Cartridge?

Bryce.

Update: FW3.1 doesn't seem to even initialise the ROMs above 15. Somethings not right.

redbox

#40
Quote from: Bryce on 12:03, 01 May 13
On a LowerROM Board or did you install it internally / Cartridge?

I use this one in the Cartridge.

Quote from: Bryce on 12:03, 01 May 13
Update: FW3.1 doesn't seem to even initialise the ROMs above 15. Somethings not right.

Seems like it's the Lower ROM board then...?

Bryce

Ok, just tried that image in a Cartridge. Same result, Maxam 1.5 initialises, but crashes when you try to start it.

Bryce.

redbox

Quote from: Bryce on 12:23, 01 May 13
Ok, just tried that image in a Cartridge. Same result, Maxam 1.5 initialises, but crashes when you try to start it.

Strange.

I have my image in the cartridge.  I have ROMAN in slot 15 and Maxam 1.5 in slot 25.  Maxam starts with |M.

Did you wipe your MegaFlash?  And have you got it just plugged in on it's own, i.e. no lower ROM board extension, even if it's not being used...?

Bryce

#43
Ok, here's the latest:

Setup:
CPC6128+, MegaFlash, No LowerROM Board attached, The image you linked to in Cartridge.
Protext in slot 17.

Same result: Initialises but doesn't start. I've even tried a different MegaFlash to rule out it being dodgy.

Are you sure you haven't modded anything else on your plus?

Bryce.

Ok, I've just tested Maxam 1.5 in slot 25, still no joy.

redbox

Same setup.

I use your DIY Cartridge as my cartridge, with a flash ROM in it.  And I used ROMAN as the ROM manager to erase/load the MegaFlash.

I do vaguely remember having a problem at the beginning with the reset - but I think it stopped when I erased ParaDOS and I did this by erasing the MegaFlash with ROMAN (y for System Tools, then option 4 to erase all ROMs).

Will blow the image again I linked you to just to be sure.



Bryce

Send me a complete dump of your MegaFlash if possible, then I'll try it on a fresh Flash IC.

Bryce.

redbox

#46
Quote from: Bryce on 13:08, 01 May 13
Send me a complete dump of your MegaFlash if possible, then I'll try it on a fresh Flash IC.

Don't think I can do this as I have the USB HxC?

Okay, I'm getting random crashes now using that image I linked you to - seems about 1 in 5 times Maxam doesn't work as it either freezes or I get weird artefacts on the screen.  I have also once had the "Press Play Then Any Key" message.

It is also much more likely to happen if I type |M straight after a reboot, happens less if I wait a few seconds.

I think I had a different version in Plus originally (the one that also has KL FIND COMMAND and the RST patched).  Will retest again with that one.

redbox

#47
Yep, as I thought, I had a different patched version in my Plus from testing the KL ROM WALK theory.

Have just used this again in the cartridge and no more random crashes, Maxam works every time.

So try the attached image in your cartridge and see if it makes a difference.

This version has the following patched:


KL FIND COMMAND
&02ed    &20

KL ROM WALK
&0327    1f

KL INIT BACK
&0337    20

RST 3 - LOW: FAR CALL
&048d    &20


(where as the version you had downloaded and Firmware 3.1 only have KL ROM WALK and KL INIT BACK patched).

Munchausen

This is interesting. If it works, how about a fully patched version for the 6128?

redbox

Quote from: Munchausen on 13:40, 01 May 13
This is interesting. If it works, how about a fully patched version for the 6128?

Try this:


Powered by SMFPacks Menu Editor Mod