The first thing you've got to do is find out exactly which ROM you've got. Here's the best way to do this:
SAVE *"m";1;"rom" CODE 236,1: LOAD *"m";1;"rom" CODE 23296: PRINT PEEK 23296
This then copies one byte from the shadow ROM into RAM and should print one of the following numbers:
If you get any other number, it looks as though you've got an even newer ROM - in which case, write and tell me immediately!
MAP READINGNow, say you use a routine in ROM 1 and you want to find it in ROM 2, how do you go about it? Well, first find the block on the left hand side of the chart in which your block lies. Hopefully, it'll be white. If it's not, then there's no easy way of working out the new entry point 'cos there probably isn't one. But so long as it's white, note the address at the start of the block, which we'll call x1, and the corresponding address of the same block on the right, x2. If your routine is x, the new address is x-x1+x2.
To give you an example, a popular entry point is 1C58, the CAT routine. (I was hoping there'd be enough ROM to swing a CAT in! Ed)
This lies in the white block starting
at 1C43 which has a corresponding value of
1C3D on the right. So, the new value is
1C58-1C43+1C3D=1C52. Simple when
you know how!|
Going the other way about, from ROM 2 to ROM 1 is just as easy. Given that the address is y, all you have to do is find the white block on the right and note its starting value, y1. Now, find the corresponding block on the left and note its starting value, y2. The resulting address in ROM 1 is then y-y1+y2.
THE THIRD ROMROM 3 is very similar to ROM 2, except that addresses from 1C3C are two bytes further on. To convert from ROM 1, here's the formula you'll need to work out the new address, t:
t=x-x1+x2: if t>=1C3C then t=t+2
To do an about face and convert from ROM 3 to ROM 1, do:
t=y: it t<1C3E then t=t-2
CHANGING ROMSIf you're still not sure that you've sussed how to convert from one ROM to another, have a crack at the following common routines and their locations - then use the same method in your own routines.