Adding initial ASM, infinite loop at Links

This commit is contained in:
codemann8
2021-03-24 14:02:50 -05:00
parent 19684bcdfa
commit a89a17515d
4 changed files with 55 additions and 2 deletions

View File

@@ -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
}