Skip to content

Commit b6f6530

Browse files
committed
Patched switch routine to never crash
1 parent f32a004 commit b6f6530

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/ram.asm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ nmiReturnAddr: .res 1 ; $0010 ; used for crash
1212
crashFlag: .res 1 ; $0011 ; used for crash
1313
cycleCount: .res 2 ; $0012 ; 2 bytes ; used for crash
1414
oneThirdPRNG: .res 1 ; $0013 ; used for crash
15-
.res 2
15+
switchTmp1 .res 1
16+
switchTmp2 .res 1
1617

1718
rng_seed: .res 2 ; $0017
1819
spawnID: .res 1 ; $0019

src/util/core.asm

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -286,16 +286,16 @@ switch_s_plus_2a:
286286
tay
287287
iny
288288
pla
289-
sta tmp1
289+
sta switchTmp1
290290
pla
291-
sta tmp2
292-
lda (tmp1),y
291+
sta switchTmp2
292+
lda (switchTmp1),y
293293
tax
294294
iny
295-
lda (tmp1),y
296-
sta tmp2
297-
stx tmp1
298-
jmp (tmp1)
295+
lda (switchTmp1),y
296+
sta switchTmp2
297+
stx switchTmp1
298+
jmp (switchTmp1)
299299

300300
sei
301301
RESET_MMC1

0 commit comments

Comments
 (0)