improve stax refactor

This commit is contained in:
Joshua Bell 2018-02-25 16:10:27 -08:00
parent 89b157928c
commit 625827f81b
4 changed files with 51 additions and 97 deletions

View File

@ -128,10 +128,7 @@ L090C: lda $D57D
bcs L099B
L0942: lda $D57D
jsr set_port_from_window_id
ldy #$07
lda #$00
ldx #$D2
jsr MGTK_RELAY
MGTK_RELAY_CALL MGTK::SetPenMode, $D200
MGTK_RELAY_CALL MGTK::PaintRect, $AE6E
axy_call draw_dialog_label, $01, $B373
addr_call L1900, $D443

View File

@ -206,8 +206,7 @@ L9174: lda L938D
jsr L936E
lda L938D
jsr L9BD5
sta $06
stx $07
stax $06
ldy #$00
lda ($06),y
tay
@ -220,8 +219,7 @@ L918C: lda ($06),y
sta L9281
lda L938D
jsr L9BE2
sta $06
stx $07
stax $06
ldy #$00
lda ($06),y
tay
@ -339,8 +337,7 @@ L9282: lda L938D
jsr set_cursor_watch
lda L938D
jsr L9BD5
sta $06
stx $07
stax $06
ldy #$0F
lda ($06),y
cmp #$C0
@ -355,8 +352,7 @@ L9282: lda L938D
beq L92D6
lda L938D
jsr L9BE2
sta $06
stx $07
stax $06
ldy #$00
lda ($06),y
tay
@ -372,8 +368,7 @@ L92CE: lda L938D
bne L92F0
L92D6: lda L938D
jsr L9E74
sta $06
stx $07
stax $06
ldy #$00
lda ($06),y
tay
@ -385,8 +380,7 @@ L92E5: lda ($06),y
L92F0: lda L938D
jsr L9BE2
sta $06
stx $07
stax $06
ldy #$00
lda ($06),y
tay
@ -541,8 +535,7 @@ L94BA: MGTK_RELAY_CALL MGTK::MoveTo, $D70C
addr_call draw_text1, $AE96
rts
L94CB: sta $06
stx $07
L94CB: stax $06
ldy #$00
lda ($06),y
tay
@ -554,15 +547,13 @@ L94D4: lda ($06),y
MGTK_RELAY_CALL MGTK::DrawText, $D484
rts
L94F0: sta $06
stx $07
L94F0: stax $06
ldy #$00
lda ($06),y
sta $08
inc16 $06
L9500: MGTK_RELAY_CALL MGTK::TextWidth, $0006
lsr $0A
ror $09
MGTK_RELAY_CALL MGTK::TextWidth, $0006
lsr16 $09
lda #$01
sta L9539
lda #$5E
@ -1062,12 +1053,10 @@ L9A11: sta L9A60
pha
lda L9A60
jsr L9BD5
sta $06
stx $07
stax $06
lda L9A60
jsr L9BEF
sta $08
stx $09
stax $08
ldy $D443
L9A2D: lda $D443,y
sta ($06),y
@ -1080,12 +1069,10 @@ L9A2D: lda $D443,y
sta ($08),y
lda L9A60
jsr L9BE2
sta $06
stx $07
stax $06
lda L9A60
jsr L9BFC
sta $08
stx $09
stax $08
ldy $D402
L9A55: lda $D402,y
sta ($06),y
@ -1100,8 +1087,7 @@ L9A61: sta L9A96
pha
lda L9A96
jsr L9BD5
sta $06
stx $07
stax $06
ldy $D443
L9A73: lda $D443,y
sta ($06),y
@ -1112,8 +1098,7 @@ L9A73: lda $D443,y
sta ($06),y
lda L9A96
jsr L9BE2
sta $06
stx $07
stax $06
ldy $D402
L9A8D: lda $D402,y
sta ($06),y
@ -1146,8 +1131,7 @@ L9AC0: lda L9BD4
cmp L938B
beq L9AA8
jsr L9BD5
sta $06
stx $07
stax $06
lda $06
adc #$10
sta $08
@ -1166,8 +1150,7 @@ L9AE0: lda ($08),y
sta ($06),y
lda L9BD4
jsr L9BEF
sta $06
stx $07
stax $06
lda $06
adc #$10
sta $08
@ -1186,8 +1169,7 @@ L9B08: lda ($08),y
sta ($06),y
lda L9BD4
jsr L9BE2
sta $06
stx $07
stax $06
lda $06
adc #$40
sta $08
@ -1203,8 +1185,7 @@ L9B30: lda ($08),y
bpl L9B30
lda L9BD4
jsr L9BFC
sta $06
stx $07
stax $06
lda $06
adc #$40
sta $08
@ -1240,8 +1221,7 @@ L9B70: lda L9BD4
L9B84: lda L9BD4
jsr L9BD5
sta $06
stx $07
stax $06
lda $06
adc #$10
sta $08
@ -1257,8 +1237,7 @@ L9B9F: lda ($08),y
bpl L9B9F
lda L9BD4
jsr L9BE2
sta $06
stx $07
stax $06
lda $06
adc #$40
sta $08
@ -1604,8 +1583,7 @@ L9E74: sta L9EBF
addr_call L9E05, $9EC1
lda L9EBF
jsr L9BE2
sta $06
stx $07
stax $06
ldy #$00
lda ($06),y
sta L9EC0

View File

@ -1242,8 +1242,7 @@ L5DC6: MGTK_RELAY_CALL MGTK::MoveTo, $DA40
addr_call L5DED, $DA44
rts
L5DD7: sta $06
stx $07
L5DD7: stax $06
ldy #$00
lda ($06),y
tay
@ -1257,27 +1256,24 @@ L5DE0: lda ($06),y
;;; ==================================================
L5DED: jsr L5DD7
sta $06
stx $07
stax $06
ldy #$00
lda ($06),y
sta $08
inc16 $06
L5E00: MGTK_RELAY_CALL MGTK::DrawText, $06
MGTK_RELAY_CALL MGTK::DrawText, $06
rts
;;; ==================================================
L5E0A: jsr L5DD7
sta $06
stx $07
stax $06
ldy #$00
lda ($06),y
sta $08
inc16 $06
L5E1D: MGTK_RELAY_CALL MGTK::TextWidth, $06
lsr $0A
ror $09
MGTK_RELAY_CALL MGTK::TextWidth, $06
lsr16 $09
lda #$01
sta L5E56
lda #$F4
@ -1298,8 +1294,7 @@ L5E56: .byte 0
;;; ==================================================
L5E57: jsr L5DD7
sta $06
stx $07
stax $06
MGTK_RELAY_CALL MGTK::MoveTo, $DA55
lda $06
ldx $07
@ -1309,8 +1304,7 @@ L5E57: jsr L5DD7
;;; ==================================================
L5E6F: jsr L5DD7
sta $06
stx $07
stax $06
MGTK_RELAY_CALL MGTK::MoveTo, $DA59
lda $06
ldx $07
@ -1370,8 +1364,7 @@ L5F0B: rts
L5F0C: .byte 0
L5F0D: jsr L5DD7
sta $06
stx $07
stax $06
ldx L5028
lda #$2F
sta L5029,x
@ -1899,8 +1892,7 @@ L647B: .byte 0
;;; ==================================================
L647C: sta $06
stx $07
L647C: stax $06
ldy #$01
lda ($06),y
cmp #$2F
@ -1983,8 +1975,7 @@ L6515: .byte 0
;;; ==================================================
L6516: sta $06
stx $07
L6516: stax $06
ldy #$00
lda ($06),y
tay
@ -2049,8 +2040,7 @@ L658B: cmp #$09
lda $D5B7
jsr L62C8
jsr L6E45
sta $06
stx $07
stax $06
lda $DAA8
sta $08
lda $DAA9
@ -2075,8 +2065,7 @@ L65D6: copy16 #$D8EF, $06
lda $D5B7
jsr L62C8
jsr L6E72
sta $06
stx $07
stax $06
lda $DAB4
sta $08
lda $DAB5
@ -2146,8 +2135,7 @@ L66C9: addr_call L5DED, $D484
L6718: rts
L6719: jsr L6E45
sta $06
stx $07
stax $06
lda $D20D
cmp $06
lda $D20E
@ -2284,8 +2272,7 @@ L684D: .word 0
L688F: rts
L6890: jsr L6E72
sta $06
stx $07
stax $06
lda $D20D
cmp $06
lda $D20E
@ -2418,8 +2405,7 @@ L69D5: lda L6A17
sta $D8F7
jsr L6E45
inc $D402
sta $06
stx $07
stax $06
lda $DAA8
sta $08
lda $DAA9
@ -2439,8 +2425,7 @@ L6A17: .byte 0
L6A1E: dec $D402
jsr L6E45
sta $06
stx $07
stax $06
lda $DAA8
sta $08
lda $DAA9
@ -2471,8 +2456,7 @@ L6A6B: ldx $D402
dec $D402
inc $D484
jsr L6E45
sta $06
stx $07
stax $06
lda $DAA8
sta $08
lda $DAA9
@ -2579,8 +2563,7 @@ L6B81: lda L6BC3
sta $D8F7
jsr L6E72
inc $D443
sta $06
stx $07
stax $06
lda $DAB4
sta $08
lda $DAB5
@ -2600,8 +2583,7 @@ L6BC3: .byte 0
L6BCA: dec $D443
jsr L6E72
sta $06
stx $07
stax $06
lda $DAB4
sta $08
lda $DAB5
@ -2632,8 +2614,7 @@ L6C17: ldx $D443
dec $D443
inc $D484
jsr L6E72
sta $06
stx $07
stax $06
lda $DAB4
sta $08
lda $DAB5
@ -2740,8 +2721,7 @@ L6D3F: jmp 0
L6D42: jmp 0
L6D45: jmp 0
L6D48: sta $06
stx $07
L6D48: stax $06
ldx $D402
lda #$2F
sta $D403,x
@ -2763,8 +2743,7 @@ L6D62: lda ($06),y
sta $D402
rts
L6D73: sta $06
stx $07
L6D73: stax $06
ldx $D443
lda #$2F
sta $D444,x

View File

@ -124,14 +124,14 @@ $text =~ s/
/ldax #\$$2$1/gx;
$text =~ s/
\b sta \s+ ([L\$][0-9A-F]{4}) \n
\s+ stx \s+ ([L\$][0-9A-F]{4}) \b
\b sta \s+ ([L\$][0-9A-F]{2,4}) \n
\s+ stx \s+ ([L\$][0-9A-F]{2,4}) \b
/(hex(substr($1,1)) + 1 == hex(substr($2,1)))
? "stax $1" : $&/egx;
$text =~ s/
\b lsr \s+ ([L\$][0-9A-F]{4}) \n
\s+ ror \s+ ([L\$][0-9A-F]{4}) \b
\b lsr \s+ ([L\$][0-9A-F]{2,4}) \n
\s+ ror \s+ ([L\$][0-9A-F]{2,4}) \b
/(hex(substr($1,1)) == hex(substr($2,1)) + 1)
? "lsr16 $2" : $&/egx;