Prev: 33838 Up: Map Next: 33944
33873: Load Game
Loads a saved game back into the live state. Reached through the special-key table at 33393, dispatched from Command_MatchASpecialKey.
LoadGame 33873 PUSH IX Set the load as a "data block".
33875 PUSH DE
Load "flags".
33876 LD A,255
33878 SCF Set carry so the ROM loads the saved-game header.
33879 LD IX,46827 Set the start address to 46827.
33883 LD DE,29 Set the block length to 29 bytes.
33886 CALL LoadBlock Call LoadBlock to read the save block.
Load "objects".
33889 LD A,255 Set the load as a "data block".
33891 SCF Set carry so the ROM loads the object table.
33892 LD IX,49435 Set the start address to Objects.
33896 LD DE,1557 Set the block length to 1557 bytes.
33899 CALL LoadBlock Call LoadBlock to read the save block.
Load...
33902 LD A,255 Set the load as a "data block".
33904 SCF Set carry so the ROM loads the object handlers.
33905 LD IX,51844 Set the start address to 51844.
33909 LD DE,191 Set the block length to 191 bytes.
33912 CALL LoadBlock Call LoadBlock to read the save block.
Load "locations".
33915 LD A,255 Set the load as a "data block".
33917 SCF Set carry so the ROM loads the location table.
33918 LD IX,47754 Set the start address to Locations.
33922 LD DE,1497 Set the block length to 1497 bytes.
33925 CALL LoadBlock Call LoadBlock to read the save block.
Success!
33928 DI Disable interrupts.
33929 LD HL,46827 Call ThreeByteCopy with HL pointing at 46827 and DE pointing at 51682.
33932 LD DE,51682
33935 CALL ThreeByteCopy
33938 POP DE Jump back to CommandDispatchAControl to dispatch a control.
33939 POP IX
33941 JP CommandDispatchAControl
Prev: 33838 Up: Map Next: 33944