blob: d56d47ef822e8b44adc661d3bdbb8971dc00c446 [file] [log] [blame]
# Simulator only:
# Copy ROM-mirror area to bank 0x00
if %EVAL(ROMM_CONFIG & 0x01) == 0x01
set variable ROMM_BANK = %EVAL(ROMM_CONFIG >> 4)
set variable ROMM_SIZE = %EVAL((ROMM_CONFIG >> 1) & 0x03)
print "\n\n>Set ROM-mirror memory map...\n"
if %ROMM_SIZE == 0
set map /read H'00E000..H'00FFFF
if %ROMM_BANK == 0x00
show map
move H'f0e000..H'F0FFFF,H'e000
elseif %ROMM_BANK == 0x01
show map
move H'f1e000..H'F1FFFF,H'e000
elseif %ROMM_BANK == 0x02
show map
move H'f2e000..H'F2FFFF,H'e000
elseif %ROMM_BANK == 0x03
show map
move H'f3e000..H'F3FFFF,H'e000
elseif %ROMM_BANK == 0x04
show map
move H'f4e000..H'F4FFFF,H'e000
elseif %ROMM_BANK == 0x05
show map
move H'f5e000..H'F5FFFF,H'e000
elseif %ROMM_BANK == 0x06
show map
move H'f6e000..H'F6FFFF,H'e000
elseif %ROMM_BANK == 0x07
show map
move H'f7e000..H'F7FFFF,H'e000
elseif %ROMM_BANK == 0x08
show map
move H'f8e000..H'F8FFFF,H'e000
elseif %ROMM_BANK == 0x09
show map
move H'f9e000..H'F9FFFF,H'e000
elseif %ROMM_BANK == 0x0A
show map
move H'fAe000..H'FAFFFF,H'e000
elseif %ROMM_BANK == 0x0B
show map
move H'fBe000..H'FBFFFF,H'e000
elseif %ROMM_BANK == 0x0B
show map
move H'fBe000..H'FBFFFF,H'e000
elseif %ROMM_BANK == 0x0C
show map
move H'fCe000..H'FCFFFF,H'e000
elseif %ROMM_BANK == 0x0D
show map
move H'fde000..H'FDFFFF,H'e000
elseif %ROMM_BANK == 0x0E
show map
move H'fee000..H'FEFFFF,H'e000
elseif %ROMM_BANK == 0x0F
show map
move H'ffe000..H'FFFFFF,H'e000
endif # ROMM_BANK selection
elseif %ROMM_SIZE == 1
set map /read H'00C000..H'00FFFF
if %ROMM_BANK == 0x00
show map
move H'f0c000..H'F0FFFF,H'c000
elseif %ROMM_BANK == 0x01
show map
move H'f1c000..H'F1FFFF,H'c000
elseif %ROMM_BANK == 0x02
show map
move H'f2c000..H'F2FFFF,H'c000
elseif %ROMM_BANK == 0x03
show map
move H'f3c000..H'F3FFFF,H'c000
elseif %ROMM_BANK == 0x04
show map
move H'f4c000..H'F4FFFF,H'c000
elseif %ROMM_BANK == 0x05
show map
move H'f5c000..H'F5FFFF,H'c000
elseif %ROMM_BANK == 0x06
show map
move H'f6c000..H'F6FFFF,H'c000
elseif %ROMM_BANK == 0x07
show map
move H'f7c000..H'F7FFFF,H'c000
elseif %ROMM_BANK == 0x08
show map
move H'f8c000..H'F8FFFF,H'c000
elseif %ROMM_BANK == 0x09
show map
move H'f9c000..H'F9FFFF,H'c000
elseif %ROMM_BANK == 0x0A
show map
move H'fAc000..H'FAFFFF,H'c000
elseif %ROMM_BANK == 0x0B
show map
move H'fBc000..H'FBFFFF,H'c000
elseif %ROMM_BANK == 0x0B
show map
move H'fBc000..H'FBFFFF,H'c000
elseif %ROMM_BANK == 0x0C
show map
move H'fCc000..H'FCFFFF,H'c000
elseif %ROMM_BANK == 0x0D
show map
move H'fdc000..H'FDFFFF,H'c000
elseif %ROMM_BANK == 0x0E
show map
move H'fec000..H'FEFFFF,H'c000
elseif %ROMM_BANK == 0x0F
show map
move H'ffc000..H'FFFFFF,H'c000
endif # ROMM_BANK selection
elseif %ROMM_SIZE == 2
set map /read H'00A000..H'00FFFF
if %ROMM_BANK == 0x00
show map
move H'f0a000..H'F0FFFF,H'a000
elseif %ROMM_BANK == 0x01
show map
move H'f1a000..H'F1FFFF,H'a000
elseif %ROMM_BANK == 0x02
show map
move H'f2a000..H'F2FFFF,H'a000
elseif %ROMM_BANK == 0x03
show map
move H'f3a000..H'F3FFFF,H'a000
elseif %ROMM_BANK == 0x04
show map
move H'f4a000..H'F4FFFF,H'a000
elseif %ROMM_BANK == 0x05
show map
move H'f5a000..H'F5FFFF,H'a000
elseif %ROMM_BANK == 0x06
show map
move H'f6a000..H'F6FFFF,H'a000
elseif %ROMM_BANK == 0x07
show map
move H'f7a000..H'F7FFFF,H'a000
elseif %ROMM_BANK == 0x08
show map
move H'f8a000..H'F8FFFF,H'a000
elseif %ROMM_BANK == 0x09
show map
move H'f9a000..H'F9FFFF,H'a000
elseif %ROMM_BANK == 0x0A
show map
move H'fAa000..H'FAFFFF,H'a000
elseif %ROMM_BANK == 0x0B
show map
move H'fBa000..H'FBFFFF,H'a000
elseif %ROMM_BANK == 0x0B
show map
move H'fBa000..H'FBFFFF,H'a000
elseif %ROMM_BANK == 0x0C
show map
move H'fCa000..H'FCFFFF,H'a000
elseif %ROMM_BANK == 0x0D
show map
move H'fda000..H'FDFFFF,H'a000
elseif %ROMM_BANK == 0x0E
show map
move H'fea000..H'FEFFFF,H'a000
elseif %ROMM_BANK == 0x0F
show map
move H'ffa000..H'FFFFFF,H'a000
endif # ROMM_BANK selection
elseif %ROMM_SIZE == 3
set map /read H'008000..H'00FFFF
if %ROMM_BANK == 0x00
show map
move H'f08000..H'F0FFFF,H'8000
elseif %ROMM_BANK == 0x01
show map
move H'f18000..H'F1FFFF,H'8000
elseif %ROMM_BANK == 0x02
show map
move H'f28000..H'F2FFFF,H'8000
elseif %ROMM_BANK == 0x03
show map
move H'f38000..H'F3FFFF,H'8000
elseif %ROMM_BANK == 0x04
show map
move H'f48000..H'F4FFFF,H'8000
elseif %ROMM_BANK == 0x05
show map
move H'f58000..H'F5FFFF,H'8000
elseif %ROMM_BANK == 0x06
show map
move H'f68000..H'F6FFFF,H'8000
elseif %ROMM_BANK == 0x07
show map
move H'f78000..H'F7FFFF,H'8000
elseif %ROMM_BANK == 0x08
show map
move H'f88000..H'F8FFFF,H'8000
elseif %ROMM_BANK == 0x09
show map
move H'f98000..H'F9FFFF,H'8000
elseif %ROMM_BANK == 0x0A
show map
move H'fA8000..H'FAFFFF,H'8000
elseif %ROMM_BANK == 0x0B
show map
move H'fB8000..H'FBFFFF,H'8000
elseif %ROMM_BANK == 0x0B
show map
move H'fB8000..H'FBFFFF,H'8000
elseif %ROMM_BANK == 0x0C
show map
move H'fC8000..H'FCFFFF,H'8000
elseif %ROMM_BANK == 0x0D
show map
move H'fd8000..H'FDFFFF,H'8000
elseif %ROMM_BANK == 0x0E
show map
move H'fe8000..H'FEFFFF,H'8000
elseif %ROMM_BANK == 0x0F
show map
move H'ff8000..H'FFFFFF,H'8000
endif # ROMM_BANK selection
endif # ROMM_SIZE selection
print ">Copy ROMCONST for simulation..."
print "OK"
print "\n-----------------------------------------------------------"
print "\nUse command \"batch prc\\romconst.prc\" after each download"
print "\n-----------------------------------------------------------"
else
print "\n----------------------"
print "\nROM Mirror disabled!!!"
print "\n----------------------"
endif
print "\n-------------------------------------------------------------------"
print "\nSetting CKMR to 0xF0 to allow for the Clock Wait in that start.asm."
print "\n-------------------------------------------------------------------"
set MEM /byte 0x0403 = 0xF0