65C02 code size optimization (22 bytes saved) in IEC code

This commit is contained in:
FeralChild64 committed 2021-03-26 16:45:06 +01:00
1 parent 1f777ebe60
commit 0618d38cdd
1 file changed
+83 -4
+83 -4
View File
@@ -14,6 +14,8 @@
!ifdef CONFIG_IEC {
!ifndef HAS_OPCODES_65C02 {
iec_pull_atn_clk_release_data:
@@ -34,7 +36,7 @@ iec_pull_clk_release_data:
iec_pull_clk_release_data_1:
and #$FF - BIT_CIA2_PRA_DAT_OUT ; release
bne iec_pull_release_end ; branch always
bne iec__pull_release_end ; branch always
iec_pull_clk_release_data_oneshot:
@@ -56,7 +58,7 @@ iec_release_clk_data:
and #$FF - BIT_CIA2_PRA_DAT_OUT ; release
sta CIA2_PRA
and #$FF - BIT_CIA2_PRA_CLK_OUT ; release
jmp iec_pull_release_end
+bra iec__pull_release_end
iec_release_clk_pull_data:
@@ -64,7 +66,7 @@ iec_release_clk_pull_data:
ora #BIT_CIA2_PRA_DAT_OUT ; pull
sta CIA2_PRA
and #$FF - BIT_CIA2_PRA_CLK_OUT ; release
bne iec_pull_release_end ; branch always
bne iec__pull_release_end ; branch always
iec_pull_data_release_atn_clk:
@@ -83,8 +85,85 @@ iec_release_atn:
; FALLTROUGH
iec_pull_release_end:
iec__pull_release_end:
sta CIA2_PRA
rts
} else {
; 65C02 version
iec_pull_atn_clk_release_data:
lda #BIT_CIA2_PRA_ATN_OUT
tsb CIA2_PRA
; FALLTROUGH
iec_pull_clk_release_data:
lda #BIT_CIA2_PRA_CLK_OUT
tsb CIA2_PRA
lda #BIT_CIA2_PRA_DAT_OUT
bra iec__pull_release_trb
iec_pull_clk_release_data_oneshot:
lda CIA2_PRA
ora #BIT_CIA2_PRA_CLK_OUT ; pull
and #$FF - BIT_CIA2_PRA_DAT_OUT ; release
sta CIA2_PRA
rts
iec_release_atn_clk_data:
lda #BIT_CIA2_PRA_ATN_OUT
trb CIA2_PRA
; FALLTROUGH
iec_release_clk_data:
lda #BIT_CIA2_PRA_DAT_OUT
trb CIA2_PRA
bra iec__release_clk
iec_release_clk_pull_data:
lda #BIT_CIA2_PRA_DAT_OUT
tsb CIA2_PRA
; FALLTROUGH
iec__release_clk:
lda #BIT_CIA2_PRA_CLK_OUT
bra iec__pull_release_trb
iec_pull_data_release_atn_clk:
lda #BIT_CIA2_PRA_DAT_OUT
tsb CIA2_PRA
lda #(BIT_CIA2_PRA_CLK_OUT + BIT_CIA2_PRA_ATN_OUT)
+skip_2_bytes_trash_nvz
; FALLTROUGH
iec_release_atn:
lda #BIT_CIA2_PRA_ATN_OUT
; FALLTROUGH
iec__pull_release_trb:
trb CIA2_PRA
rts
}
}