CPCWiki forum

General Category => Applications (CPC and CPC-related) => Topic started by: TFM on 03:26, 26 September 11

Title: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 03:26, 26 September 11
Hi there,

Here you can download it:

http://www.colorado-boys-muenchen.de/users/futureos/files/MF_ROManager.zip (http://www.colorado-boys-muenchen.de/users/futureos/files/MF_ROManager.zip)

Enjoy!
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: Gryzor on 07:01, 26 September 11
Oooh great! At last :) :) :)
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: SyX on 08:16, 26 September 11
Great News!!! :D

I will test when i return to home ;)

.
.
.

Tested every function and all work GREAT  :D

Fanstatic Work TFM!!!  :D
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 19:34, 26 September 11
Hey SyX, Thank's a lot for testing :-DDD

Guess next step will be some smaller updates and the 464 version (which means a major change).
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: Gryzor on 19:39, 26 September 11
I used it a bit (erase some ROMs, install new ones), seems to be working perfectly :)
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: nurgle on 22:04, 26 September 11
Works fine! I still have free slots, so the shrink was not that important to me. But still nice!
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 02:56, 27 September 11
I did not try it yet, but congrats : using 2 ROMs like previously was clearly a no-go to me!
Good job!


PS. What did you do to reduce ROM size ?
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 03:10, 27 September 11
@Nurgle & NoRecess: Thank's guys!!!

Quote from: norecess on 02:56, 27 September 11
I did not try it yet, but congrats : using 2 ROMs like previously was clearly a no-go to me!
Good job!


PS. What did you do to reduce ROM size ?

It's called CPCT. Used it because I met Madram 2001 at the CPC Klassentreffen and we had a great chat, so I know he codes faithfully / precisely. Just for curiosity I tried the cheese cruncher too. But CPCT is far better in compression rate.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 21:18, 28 September 11
And now my 9 cents ...

You can download the ROManage for the MegaFlash now as a single 16 KB ROM which includes the famous Inicron ROM Booster.

The ROM (installed at position 15) allows you the usage of all 32 ROMs of the MegaFlash. All 32 ROMs get initialized throug the CPC firmware. Also the ROM contains the ROManager for the management of the MegaFlash. You can start it by typing !RMA.

Download at www.futureos.de (http://www.futureos.de) (download section)


END OF LINE
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: Bryce on 21:29, 28 September 11
Very nice solution :) I'm impressed.

Bryce.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 21:34, 28 September 11
Quote from: TFM/FS on 21:18, 28 September 11
You can download the ROManage for the MegaFlash now as a single 16 KB ROM which includes the famous Inicron ROM Booster.

Very nice TFM, well done.

Such a shame you didn't feel you could share your disassembly of the Booster ROM (http://www.cpcwiki.eu/forum/index.php?topic=2723.msg31252#msg31252) because then we could have all learnt from it.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 21:35, 28 September 11
It's nice to get BOOSTER (where its primary functionality is to deal with ROMs) integrated in ROMManager (where it's primary functionality is also to deal with ROMs).


Cool !
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 21:54, 28 September 11
Thank you guys! My pleasure :-DDD

Quote from: redbox on 21:34, 28 September 11
Such a shame you didn't feel you could share your disassembly of the Booster ROM (http://www.cpcwiki.eu/forum/index.php?topic=2723.msg31252#msg31252) because then we could have all learnt from it.

Ha-ha, the typical misunderstanding between you and me :laugh:  I'm very lucky to share - as soon as I find it :)

Quote from: norecess on 21:35, 28 September 11
It's nice to get BOOSTER (where its primary functionality is to deal with ROMs) integrated in ROMManager (where it's primary functionality is also to deal with ROMs).
Cool !

Yes, and &500 bytes of the ROM are still free ;)
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 21:59, 28 September 11
That would be great.

I assumed you would have needed the disassembly to incorporate it into your ROM? Or how did you do it?
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 22:04, 28 September 11
Quote from: redbox on 21:59, 28 September 11
That would be great.

I assumed you would have needed the disassembly to incorporate it into your ROM? Or how did you do it?

When I find that files - I promise - you get them first.

I used Softbrenner to create that ROM.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 22:10, 28 September 11
Ahhh, I see now... you added your ROM manager to the existing Booster ROM. Good idea that! :)

Apologies for the misunderstanding on my part.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 00:04, 29 September 11
Quoteyou added your ROM manager to the existing Booster ROM


So,.. to sum up, there are 6 versions of the ROMManager and now, you also introduced a "hack" on top of BOOSTER ROM ? Damn, I don't envy you at all :)


More seriously, I hope you have some kind of batch file to manage your release (cf. "DoBuild.bat") otherwise all new versions are going to be a nightmare for you to manage.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 02:12, 29 September 11
Quote from: norecess on 00:04, 29 September 11
So,.. to sum up, there are 6 versions of the ROMManager and now, you also introduced a "hack" on top of BOOSTER ROM ? Damn, I don't envy you at all :)

Well, I'm a lazy person, so I keep things easy (for me at least). Without SyX help and Madrams CPCT there would be only dust ;-) And not to forget your kind words, that's motivating much :-)


Quote from: norecess on 00:04, 29 September 11
More seriously, I hope you have some kind of batch file to manage your release (cf. "DoBuild.bat") otherwise all new versions are going to be a nightmare for you to manage.

Well, something more primitive, way more primitive. But I don't even need a PC for it. I can do it all with a CPC (ok, it's emulated at the moment...). However it works fine without a PC (Don't ask me for logic here, that's a philosophical point ;-) )
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 03:44, 29 September 11
BTW - I just tested last released version, it works very well ! Sincerely, good job! You progressed.  :)


The only thing that I dislike is the fact that the ROM init message is shown 2 times at startup - is that normal and intended ? If yes (because of BOOSTER) then perhaps you could detect you are called a second time and then, skip the init message?


Otherwise, once again - congratulations, the ROM Manager starts to be really useful now ;)
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 07:06, 29 September 11
The double init is a 'feature' of the Booster ROM. I'm not sure yet if it's because of an error in the code or if it finds itself again during the walk from 31 to 1 and does it then.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 14:12, 29 September 11
Do you have an idea why UTOPIA's |HELP does not work anymore when using BOOSTER ?
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 18:43, 29 September 11
Quote from: norecess on 03:44, 29 September 11
The only thing that I dislike is the fact that the ROM init message is shown 2 times at startup - is that normal and intended ? If yes (because of BOOSTER) then perhaps you could detect you are called a second time and then, skip the init message?

Well, I know, that's a "feature" of the Booster part of the ROM, but it occupies RAM only once. So it's just nasty, but doesn't harm or shrink memory. It's due to technical reasons (Initialize ROMs 31, 30, 29... 3, 1, 1, 0). If I ever have time I'll care about this, but probably Redpoint will come over with some advanced code before.

Quote from: redbox on 07:06, 29 September 11
The double init is a 'feature' of the Booster ROM. I'm not sure yet if it's because of an error in the code or if it finds itself again during the walk from 31 to 1 and does it then.

You're right with the latter one.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 19:26, 29 September 11
Quote from: TFM/FS on 18:43, 29 September 11
You're right with the latter one.

Makes sense - I'm pretty sure I've seen the routine that stops the Booster getting stuck in an infinite loop (i.e. starting all over again when it finds itself during the walk).

So this routine should be quite easy to modify so that it skips ROM position 15 (because Booster should be in this position) during the walk.  Maybe it wasn't included in this version because the author intended Booster to work in positions other than 15 as well?

I'm getting there unraveling the rest of the ROM code, but not been finding it easy.  I've isolated the main routines, but it has some funny stuff going on which copies into RAM conditionally that I haven't got the bottom of yet...
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 19:33, 29 September 11
Actually, I tend to think I don't like this "BOOSTER" thing.


It's like a black box that everybody is afraid of ; I mean, nobody here seems to exactly understand what it does for real.


I guess it's time to really understand this piece of code or write our own implementation.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 19:41, 29 September 11
Quote from: redbox on 19:26, 29 September 11
So this routine should be quite easy to modify so that it skips ROM position 15 (because Booster should be in this position) during the walk. Maybe it wasn't included in this version because the author intended Booster to work in positions other than 15 as well?

Well, it must scan for a position which contains the Booster ROM (better than a static number). But this would exclude modifications of the ROM (mostlikely).

So, therefore Ingo (ZAQ) decided to have to double initialisation, but the init-routine of the Booster checks if it has been already initialized, and then it just does not initialize a second time. I think this is a quite good idea. Nevertheless 2 line on the screen are wasted ;-)


Quote from: norecess on 19:33, 29 September 11
Actually, I tend to think I don't like this "BOOSTER" thing.
It's like a black box that everybody is afraid of ; I mean, nobody here seems to exactly understand what it does for real.
I guess it's time to really understand this piece of code or write our own implementation.

Most demos are black boxes and people tend to like some of them :-)

The Booster works reliable since the 90ies (at least in may case) and I never had problems with it. Used it with ROM-RAM-Box, SF2 also. There were never problems. That's all I can say.

However, better solutions would be appreciated :)
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 20:27, 29 September 11
QuoteUsed it with ROM-RAM-Box, SF2 also. There were never problems. That's all I can say.


It actually does conflict with Utopia (cf. HELPR command), that I use regularly to see how large is a ROM in RAM (cf. memory usage of the ROM in RAM). Or did I miss anything special in my setup ?
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 03:07, 30 September 11
Quote from: norecess on 20:27, 29 September 11

It actually does conflict with Utopia (cf. HELPR command), that I use regularly to see how large is a ROM in RAM (cf. memory usage of the ROM in RAM). Or did I miss anything special in my setup ?

Well, I must say I never have Utopia "on board", because it's not soooo compatible to others. And it's functions are in some OS, that I use more often ;-) So I can't tell. But a good point to mention.

What happens if you press space on RESET, do you still have problems with utopia?
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: Gryzor on 07:56, 30 September 11
As with Utopia, does it mess with Maxam's |Help command?
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 11:15, 30 September 11
Yeah sorry I meant |HELP command.


No problem with RESET stuff.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 18:14, 30 September 11
 
My "tick" of work around is to install the ROM of which the RSX commad shall be used in the lowest position.

Ok an example: Maxam and utopia both conatin the !HELP command.

Now, let's assume Maxam is located at ROM positioin 4 and Utopia at positon 8, then the !HELP command will be used from the Maxam ROM, because it's ROM number is lower.

But...

Now, let's assume Maxam is located at ROM positioin 4 and Utopia at positon 2, then the !HELP command will be used from the Utopia ROM, because it's ROM number is lower.

Ok? I hope this helps, but maybe I missed the point.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 12:36, 01 October 11
No it's something else. You should try by yourself. :)


Actually, Arnor's sourcecode is buggy when BOOSTER is present. You have this |HELP command from UTOPIA that allow you to list ROMS (but also gives precious info about memory usage). When BOOSTER is present, then it only reports... ROM 0.  (BASIC)


I'm not sure if you can do anything for it.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: Gryzor on 08:22, 02 October 11
What NoRecess said; Booster completely breaks the |Help command for some reason, it's not an issue of priority; it just won't work, even if there's only one ROM with this command.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 04:38, 03 October 11
I tried that on emlators, WinCPC has no problems. WinApe crashes. Strange effect.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: Gryzor on 05:52, 03 October 11
I haven't tried on an emu, but it's what my CPC does :)
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 20:15, 03 October 11
Quote from: Gryzor on 05:52, 03 October 11
I haven't tried on an emu, but it's what my CPC does :)

Can you try to use the HELP command of another ROM (by placing the ROM at ROM position 1)?. Maybe the HELP command of some ROMs has a problem, but not the HELP command of others? Just an idea :-X
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 16:49, 04 October 11
I'm pretty sure [nb]read "guessing", but it's an informed guess[/nb] that the Utopia HELPR command walks the ROMs, and it does this by using the firmware.

The Booster ROM patches said firmware to allow access to 31-15 as well, but I think it's a non-standard patch.  Therefore, the Utopia commands won't work.

I don't completely understand the Booster ROM yet, but when I do it's probably something that can be fixed.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 17:28, 04 October 11
Quote from: redbox on 16:49, 04 October 11
The Booster ROM patches said firmware to allow access to 31-15 as well, but I think it's a non-standard patch.  Therefore, the Utopia commands won't work.

There is no 'standard' way to patch  ;) :laugh: . And since the Booster is the only one actually capable of doing it, well, it makes it the standard. The problem is that Utopia is just not capable to adapt to new situatons. The programmers never expected to find more than 16 ROMs.
You may be able to get Utopia working with 16 ROMs, but for anything else you have to patch Utopia not the Booster  :)  The question is... is it actually worth to invest time into this?
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 17:57, 04 October 11
No.. perhaps it's the MegaFlash that miss a feature, cf. only allow 16 ROMs at a time, and a switch would make ROMs 16 to 31 the ones from 0 to 15.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 18:55, 04 October 11
Quote from: norecess on 17:57, 04 October 11
No.. perhaps it's the MegaFlash that miss a feature, cf. only allow 16 ROMs at a time, and a switch would make ROMs 16 to 31 the ones from 0 to 15.


It's the OS that restricts it to 16 ROMs, not the MegaFlash.


You can make a hardware mod to alter the page-in range like you've said, but you'd still have to patch the OS to scan the new range.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: Bryce on 20:24, 04 October 11
I did consider having this type of feature when I was developing it. The MegaROM does have similar features, but on the MegaFlash it would have meant adding another IC plus the jumpers, which raises the price and makes the PCB quite a bit bigger too. So I decided the feature wouldn't be used by enough users to justify everyone else having to foot the bill for a feature they don't use. I could make a schematic and instructions to mod the MegaFlash to have this feature, but does anyone really want/need it?

Bryce.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 20:43, 04 October 11
Quote from: Bryce on 20:24, 04 October 11
I could make a schematic and instructions to mod the MegaFlash to have this feature, but does anyone really want/need it?


The only time I could see really using it would be:


- Testing software/OS Patches to access the entire ROM range
- If you're using an alternative OS (maybe FutureOS)


It would be interesting to see how it's done from an academic point of view, but not much more... I think you made the right choice in the development of the MegaFlash  :)


PS - I put a bad ROM image in mine the other day and the CPC wouldn't boot.  So I unplugged it, turned the CPC on, plugged it in and then ran the management software to delete the bad image.  Is this okay, or officially a bad idea...?!
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: Bryce on 20:56, 04 October 11
Well contrary to all those claims that "It could damage your CPC / expansion etc." It's not actually as bad as you might think. It might crash the CPC on occasions, but it's extremely unlikely that you would damage the hardware. It doesn't cause any spikes or short circuits, so the worst it could do is change a 1 to a 0 or a 0 to a 1 on some bus / data line or a control signal, which might crash the CPC, but nothing more.

Bryce.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 21:01, 04 October 11
Thanks Bryce.

I'm such a good programmer it doesn't happen often ;)

But when it does, I won't worry too much now!
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 21:14, 04 October 11
QuoteIt's the OS that restricts it to 16 ROMs, not the MegaFlash.


Don't forget that this OS is used by, huh, 99.99% of CPCs in the world? :)
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: SyX on 14:29, 05 October 11
Well, other option could be having a key press check in the initialization of rom in the position 15, and if you have the key R pressed, then launch the ROManager for parking the problematic roms. It could use another key to not initialize the upper roms, etc ...
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 15:07, 05 October 11
Quote from: SyX on 14:29, 05 October 11
Well, other option could be having a key press check in the initialization of rom in the position 15, and if you have the key R pressed, then launch the ROManager for parking the problematic roms. It could use another key to not initialize the upper roms, etc ...


Now this could be a really smart idea for a 'developer' ROM.


Is it possible to write a ROM (that you put in position 15) that stops the OS walking all other ROMs...?

Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 17:47, 05 October 11
Quote from: redbox on 20:43, 04 October 11
- If you're using an alternative OS (maybe FutureOS)

Not really, FutureOS need one ROM between 0 and 15, the other three can have higher numbers. If you put ROM A at positon 0, then you activate the autostart feature.


Quote from: norecess on 21:14, 04 October 11
Don't forget that this OS is used by, huh, 99.99% of CPCs in the world? :)

Only in your household ;-)


Quote from: SyX on 14:29, 05 October 11
Well, other option could be having a key press check in the initialization of rom in the position 15, and if you have the key R pressed, then launch the ROManager for parking the problematic roms. It could use another key to not initialize the upper roms, etc ...

Well, the Booster routine is ommitted if you press Space. The idea is good, but CPC-OS probably makes trouble here. However I add the "R" to my 2DO list.


Quote from: redbox on 15:07, 05 October 11
Is it possible to write a ROM (that you put in position 15) that stops the OS walking all other ROMs...?

You can use the park ROM option of the ROManager. It's made for such purposes.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: redbox on 19:49, 05 October 11
Quote from: TFM/FS on 17:47, 05 October 11
Not really, FutureOS need one ROM between 0 and 15, the other three can have higher numbers.


What I meant to say was it could be useful if you were to write your own OS.  The only one I could think of as an example was FutureOS  :)


Quote from: TFM/FS on 17:47, 05 October 11

You can use the park ROM option of the ROManager. It's made for such purposes.


If you've put bad ROM code into the MegaFlash, it could stop your CPC from booting which means you can't get into the ROManager to park the ROM. 


So if you're testing ROMs, putting in a R keypress or something to halt the walk would be very useful as then you can skip your buggy ROM and boot the CPC as normal.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 20:20, 05 October 11
Quote from: redbox on 19:49, 05 October 11

What I meant to say was it could be useful if you were to write your own OS.  The only one I could think of as an example was FutureOS  :)

Just mentioned it, why not provide some information when time is right :-)


Quote from: redbox on 19:49, 05 October 11
If you've put bad ROM code into the MegaFlash, it could stop your CPC from booting which means you can't get into the ROManager to park the ROM. 


So if you're testing ROMs, putting in a R keypress or something to halt the walk would be very useful as then you can skip your buggy ROM and boot the CPC as normal.

I take this together.... Ok, assuming you prevent a ROM walk, then you have no DOS. Well, in this case you need some ROM management to delete the "bad" ROM. So maybe it's better to start into the ROM management, then to inhibit the ROM walk. Well, a complex topic, we can assume a variety of things to go wrong.
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: Gryzor on 11:44, 09 October 11
Any other ROMs with a similar |Help command I could test with Booster?
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: norecess on 13:09, 09 October 11
Arnor Utopia's HELPR ?
Title: Re: MegaFlash ROManager as single 16 KB ROM
Post by: TFM on 21:33, 09 October 11
VDOS: ROMS
Softbrenner: ROMHELP
Powered by SMFPacks Menu Editor Mod