News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Bryce

Disabling ROM 7

Started by Bryce, 11:02, 28 January 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

GUNHED

As Bryce already mentioned, the lower ROM is the right position.


With ROManager you do the following:
- Start the program, put disc in drive and read directories (go to "File", then "Read DIRs", select drive letter, then press Return)
- Click at "ROM management", then click at "ROM7>lower ROM"
- Then click at "File" and "Load ROM"
- Select ROM slot 7 - this serves for the lower ROM


Any questions? Let me know.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Audronic

Quote from: Bryce on 09:17, 17 November 17
The RAMTest has to be in the LowerROM position.
Bryce.


Thanks I will give that a go tomorrow.


Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

Audronic

#77
Quote from: GUNHED on 14:23, 17 November 17
As Bryce already mentioned, the lower ROM is the right position.

With ROManager you do the following:
- Start the program, put disc in drive and read directories (go to "File", then "Read DIRs", select drive letter, then press Return)
- Click at "ROM management", then click at "ROM7>lower ROM"
- Then click at "File" and "Load ROM"
- Select ROM slot 7 - this serves for the lower ROM
[size=78%]Any questions? Let me know. [/size] :)


@GUNHED


Thanks for the full explanation.
I am still trying to learn about "LowerROM".
Is there a simple document that explains LowerROM or a link


Thanks again Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

GUNHED

#78
Well, I would suggest the unofficial Amstrad research pages...

http://cpctech.org.uk

In principle the lower ROM is located at &0000 up to &3FFF. So when the CPC is switched on the Z80 starts to run at address &0000 and executes the program there. The lower ROM contains the native CPC-OS.

If you replace a lower ROM then the CPC will directly start there at the moment you switch power on. So you can put any kind of testing routines there or what ever you like.


I also made an autostart lower ROM to directly start FutureOS, but I don't use it by myself, because I use the native OS still more often.  :-\ :laugh:
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

khaz

Do you need to tweak the rom in some fashion, or basically any rom you dump in that position will boot?

arnoldemu

Quote from: khaz on 17:01, 19 November 17
Do you need to tweak the rom in some fashion, or basically any rom you dump in that position will boot?
roms @ &c000 have a header.

rom 0 is special, it is a "foreground rom", other roms (e.g. amsdos) are "background roms".
You *can* make a new rom 0 if you make it a foreground rom.

The lower rom @ &0000 doesn't have a header. If you replace this then you must initialise the hardware (crtc, ppi, z80 etc) and now you have full control. Firmware is not called.

The "LowerROM" hardware from @Bryce overrides the internal firmware and rom 0. You can then put your own firmware and rom 0, or maybe you want to use a different keyboard language on cpc (i.e. your cpc has English keyboard but you want to use French keyboard. You can put the French OS and BASIC into LowerROM).

X-MEM can override rom 0 too.

See
www.cpctech.org.uk/docs/manual/s158se02.pdf
www.cpctech.org.uk/docs/manual/s158se09.pdf



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

khaz

You make it sound like it's trivial. Am I right in thinking that it could be easily automated? Remove the header, add the initialise code, and you now have a fully fonctional Rom 0 that does whatever it did before, but it boots automatically?

I'm assuming that the header is always the same size, and the initialising code doesn't vary depending on whatever follows it.

arnoldemu

Quote from: khaz on 18:03, 19 November 17
You make it sound like it's trivial. Am I right in thinking that it could be easily automated? Remove the header, add the initialise code, and you now have a fully fonctional Rom 0 that does whatever it did before, but it boots automatically?

I'm assuming that the header is always the same size, and the initialising code doesn't vary depending on whatever follows it.
To make it work it all needs code and modifying the roms or making your own.

I'm not sure exactly what you want to do and that makes a difference to what needs to be done.

Which roms are you thinking about?

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

andycadley


Standard ROMs are pretty much going to be assuming the firmware exists, so even if you removed the headers and managed to squeeze in enough code to initialise the hardware, they simply won't work without the standard Lower ROM and all the firmware routines it provides. You aren't going to be able to simply make a bootable Protext ROM, for example. The advantage of replacing the Lower ROM is to provide an updated firmware (say a 464 with Basic 1.1 and 6128 firmware) or to provide a completely different OS designed specifically to work in that situation.

khaz

Quote from: arnoldemu on 18:20, 19 November 17
Which roms are you thinking about?

None in particular, it was more a general technical question.

In order to boot from any ROM, I imagine would be easier to use a tweaked lower ROM that automatically starts an otherwise untouched ROM at a fixed position.

Dandare

Bringing this post back to life as it clearly explains what is happening with the CPC Dandanator right now


The CPC Dandanator makes some 6128s unable to access AMSDOS when booting into basic. This is happening because it drives Romdis either 1 or 0, meaning that AMSDOS selection can't disable the FW/Basic ROM when needed and, therefore, causing a brief bus contention during Rom7 initialisation.


The symptoms are already posted in the thread, no RSX commands, CAT responding as Tape....


The solution is changing the Romdis drive to 1 or Hi-Z. This is already done, but it would have saved me a lot of trouble and investigation time to have read this post before.


Thank you all for the explanation and, geez, what a nightmare of a Romdis design within the CPC  :picard:

SOS

Sorry, i must revoke the old thread, because i have a Question concerning the same problematic (Attention, i'm not a hardware-guy, maybe the question is partially stupid  ;) ):
When i have an ROM-Board, which can replace ROM7 on some CPC's (6128), is it a problem, when i try the same thing on an CPC (6128) which can't replace ROM7?
Is there are a chance to damage the CPC? Or the Build-In AMSDOS?
(depends my Question on the exact CPC-Type (464,664,...) ?)

Thank you

SOS

(and still having nice christmas days - whishes to all)

Bryce

No immediate damage. The only effect is that two devices are writing data to the Databus at the same time. On a system level, this will just make the CPC crash. On a hardware level you are you are causing small shorts between output pins so you may eventually damage one of the ROMs/EPROMs, but nothing else should be effected.

Bryce.

GUNHED

Quote from: SOS on 10:40, 25 December 19
When i have an ROM-Board, which can replace ROM7 on some CPC's (6128), is it a problem, when i try the same thing on an CPC (6128) which can't replace ROM7?
Is there are a chance to damage the CPC? Or the Build-In AMSDOS?
No, that's not a problem at all. It just won't work. But usually most 6128 and all 6128 Plus can do it.  :)  Frohe Weihnachten.  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Powered by SMFPacks Menu Editor Mod