This patch changes the Manic Miner engine so that the following features:
Download MMPATCH.ZIP to get the patched engine and a BASIC program that can apply the patch to other Manic Miner variants.
;Important addresses ; BORDER EQU 8073h ;The border colour for this room SHEET EQU 8407h ;Current room number ; ; Some extra flags are stored in the border colour byte. Every time the ; game wants the border colour, it now calls C934C, which returns the low ; 3 bits of the border byte. ; ;Original ;New ORG 86FCh ORG 86FCh LD A,(B8073) CALL C934C ; ;-------------------------------------------------------------------------- ; ; Instead of checking the room number for special values, ; check the border byte ; ORG 876Fh ORG 876Fh LD A,(B8407) LD A,(B8073) CP 4 AND 80h CALL Z,C8DF8 CALL NZ,C8DF8 ; Eugene LD A,(B8407) LD A,(B8073) CP 13 AND 40h JP Z,L8E75 JP NZ,L8E75 ; Skylabs LD A,(B8407) LD A,(B8073) CP 8 AND 20h CALL NC,C8EF1 CALL NZ,C8EF1 ; Vertical guards LD A,(B8407) LD A,(B8073) CP 7 AND 10h CALL Z,C9135 CALL Z,C9135 ; Kong LD A,(B8407) LD A,(B8073) CP 11 AND 8 CALL Z,C9135 ;Kong 2 CALL NZ,C8D73 ; Solar power LD A,(B8407) NOP NOP NOP CP 18 NOP NOP CALL Z,C8D73 ;Solar power NOP NOP NOP ; ;-------------------------------------------------------------------------- ; ; Some more border colour changes ; ORG 884Bh ORG 884Bh LD A,(B8073) CALL C934C ORG 8AF2h ORG 8AF2h LD A,(B8073) CALL C934C ORG 8B6Dh ORG 8B6Dh LD A,(B8073) CALL C934C ; ;-------------------------------------------------------------------------- ; ; Check if guardians are bi-directional. The old code was: They are ; bi-directional in rooms 0-6, 9 and 15. The new code is: They are ; bi-directional unless the room has vertical guardians or a Kong Beast. ; ORG 8DD2h ORG 8DD2h LD A,(B8407) ; Room LD A,(B8073) CP 7 AND 30h JR C,R8DE3 JR Z,R8DE3 CP 9 SET 7,E JR Z,R8DE3 NOP NOP CP 15 NOP NOP JR Z,R8DE3 NOP NOP SET 7,E NOP NOP ; ;-------------------------------------------------------------------------- ; ; Routine to strip surplus bits from the border colour. ; Replaces some of Matthew Smith's source code. ; ORG 934Ch ORG 934Ch DEFB 9,'DE' C934C: LD A,(B8073) DEFB 'C',9 AND 7 DEFB 'E' RET ; ;--------------------------------------------------------------------------