|★ APPLICATIONS ★ DIVERS ★ ROM UTILITIES|POPULAR COMPUTING WEEKLY) ★|
|ROM Utilities (Popular Computing Weekly)||Applications Divers|
The life of ROM
Simon Goodwin writes a program to see inside your ROM on the Amstrad CPC.
If you are lucky enough to own a sideways ROM board you may often have wondered what goes on inside those ROM chips. This program, enables you to do that, among other things. You will need a di$c drive to use these facilities. To get the program up and running type in the BASIC listing.
When the program is RUN it will check your data statements. If you have made a mistake, an error message will be displayed. If you have typed in the data correctly, the five new BASIC commands ufhat the program gives you will be installed.
You may want to save the machine code as a binary file. To do this type SAVE "romcode",b,41800,700. To load this binary file type:
MEMORY 41799:LOAD “romcode”. 41800:CALL 41800
Most of these commands require you to specify the number of the ROM you are referring to. ROM numbers are in -he range (0 to 252). For example the BASIC ROM is number 0, whilst the DISC ROM is number 7.
The five new commands are:
Gives a run-down of the new commands and their syntax.
|ROMLIST , ROM number , address of 16k Buffer
This gives all ascii dump of any ROM (0 to 252). You must specify the location of a 16K buffer to act as a temporary store for the data. Pressing any key pauses the listing during printing.
|ROMSAVE, rom number , [filename]
ROMs and especially EPROMs do not last forever and you may want to create a backup copy of the data on ROM for the sake of safety. This command allows you to create a backup copy of any ROM (in the range 0-252) on disc under the filename that you specify. Do not worry' about the screen corruption during the save.
|COMMAND , [name of rsx command] , @variable1% , @variable2%
This command searches all ROMs for the RSX command you specify. If the search was successful then the memory address of the command is returned in @variablel%, and the ROM number in which it was found is returned in @variable2%. If no such command was found then both variables return zero. Note that rsx commands in background ROMs that have to be loaded into ram to execute, will not be recognised.
|ROMCALL , ROM number , memory address
This allows you to execute programs or rsx commands in sideways ROMs. You can use this after obtaining the number and memory address of a command using |COMMAND. Again do not try to execute programs that have to be moved from ROM to RAM to execute. Do not call programs in RAM using this command.
|ROMLIST, |ROMSAVE and |COMMAND can be loaded into CUSTOM RSX MANAGER.
Use the following memory addresses and lengths to store them:
|ROM LIST ... 41810,80
If readers do not want to type the program in, write to me cure of Popular Computing Weekly, and I will supply it on disc together with documentation, for only £4.50.