# 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