Adding initial ASM, infinite loop at Links
This commit is contained in:
2
Rom.py
2
Rom.py
@@ -27,7 +27,7 @@ from EntranceShuffle import door_addresses, exit_ids
|
||||
|
||||
|
||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||
RANDOMIZERBASEHASH = '0de33d06fdb9c8cac765047037b39363'
|
||||
RANDOMIZERBASEHASH = 'd987a81ba4db37ba9a50730a08616eb1'
|
||||
|
||||
|
||||
class JsonRom(object):
|
||||
|
||||
@@ -17,6 +17,58 @@ jsl OWEdgeTransition : nop #4 ;LDA $02A4E3,X : ORA $7EF3CA
|
||||
org $aaa000
|
||||
OWEdgeTransition:
|
||||
{
|
||||
LDA $02A4E3,X : ORA $7EF3CA
|
||||
;Assume you're at links house = $2c
|
||||
;transitioning right will result in X = $2d
|
||||
;transitioning left will result in X = $2b
|
||||
;up X = $24
|
||||
;down X = $34
|
||||
|
||||
;compares X to determine direction of edge transition
|
||||
cpx $8a : bcc .upOrLeft
|
||||
dex : cpx $8a : bne .downEdge
|
||||
bra .rightEdge
|
||||
.upOrLeft
|
||||
inx : cpx $8a : bne .upEdge
|
||||
bra .leftEdge
|
||||
|
||||
;sets new OWID and coords
|
||||
.downEdge
|
||||
dec $21 : dec $21
|
||||
dec $e7 : dec $e7
|
||||
dec $e9 : dec $e9
|
||||
dec $611 : dec $611
|
||||
dec $613 : dec $613
|
||||
lda $700 : sec : sbc #$10 : sta $700
|
||||
bra .return
|
||||
|
||||
.rightEdge
|
||||
dec $23 : dec $23
|
||||
dec $e1 : dec $e1
|
||||
dec $e3 : dec $e3
|
||||
dec $615 : dec $615
|
||||
dec $617 : dec $617
|
||||
dec $700 : dec $700
|
||||
bra .return
|
||||
|
||||
.upEdge
|
||||
inc $21 : inc $21
|
||||
inc $e7 : inc $e7
|
||||
inc $e9 : inc $e9
|
||||
inc $611 : inc $611
|
||||
inc $613 : inc $613
|
||||
lda $700 : clc : adc #$10 : sta $700
|
||||
bra .return
|
||||
|
||||
.leftEdge
|
||||
inc $23 : inc $23
|
||||
inc $e1 : inc $e1
|
||||
inc $e3 : inc $e3
|
||||
inc $615 : inc $615
|
||||
inc $617 : inc $617
|
||||
inc $700 : inc $700
|
||||
|
||||
.return
|
||||
;Infinite loop at Link's
|
||||
lda #$2c
|
||||
rtl
|
||||
}
|
||||
Binary file not shown.
1
data/base2current.json
Normal file
1
data/base2current.json
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user