mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-04-17 00:39:07 +00:00
Added missing fragments and synthesis for NES kickballs.c. See https://forums.nesdev.com/viewtopic.php?f=2&t=20187&start=15
This commit is contained in:
parent
4e301e0258
commit
202fd67943
@ -1,4 +1,4 @@
|
||||
//KICKC FRAGMENT CACHE 17f3bfb106 17f3bfc988
|
||||
//KICKC FRAGMENT CACHE 148111253e 1481113e09
|
||||
//FRAGMENT vbuz1=vbuc1
|
||||
lda #{c1}
|
||||
sta {z1}
|
||||
|
@ -1,4 +1,4 @@
|
||||
//KICKC FRAGMENT CACHE 17f3bfb106 17f3bfc988
|
||||
//KICKC FRAGMENT CACHE 148111253e 1481113e09
|
||||
//FRAGMENT _deref_pbuc1=vbuc2
|
||||
lda #{c2}
|
||||
sta {c1}
|
||||
|
@ -1,4 +1,4 @@
|
||||
//KICKC FRAGMENT CACHE 17f3bfb106 17f3bfc988
|
||||
//KICKC FRAGMENT CACHE 148111253e 1481113e09
|
||||
//FRAGMENT vbuz1=vbuc1
|
||||
lda #{c1}
|
||||
sta {z1}
|
||||
|
119
src/main/fragment/cache/fragment-cache-mos6502x.asm
vendored
119
src/main/fragment/cache/fragment-cache-mos6502x.asm
vendored
@ -1,4 +1,4 @@
|
||||
//KICKC FRAGMENT CACHE 17f3bfb106 17f3bfc988
|
||||
//KICKC FRAGMENT CACHE 148111253e 1481113e09
|
||||
//FRAGMENT vbuz1=vbuc1
|
||||
lda #{c1}
|
||||
sta {z1}
|
||||
@ -17491,6 +17491,123 @@ lda {z1}
|
||||
cmp #<{c1}
|
||||
bcc {la1}
|
||||
!:
|
||||
//FRAGMENT vwsz1=pwsc1_derefidx_vbuz2_minus_pwsc2_derefidx_vbuz2
|
||||
ldy {z2}
|
||||
sec
|
||||
lda {c1},y
|
||||
sbc {c2},y
|
||||
sta {z1}
|
||||
lda {c1}+1,y
|
||||
sbc {c2}+1,y
|
||||
sta {z1}+1
|
||||
//FRAGMENT vwsz1=_sword_pbuc1_derefidx_vbuz2
|
||||
ldy {z2}
|
||||
lda {c1},y
|
||||
sta {z1}
|
||||
lda #0
|
||||
sta {z1}+1
|
||||
//FRAGMENT vwuz1=pwuc1_derefidx_vbuz2_rol_4
|
||||
ldy {z2}
|
||||
lda {c1},y
|
||||
asl
|
||||
sta {z1}
|
||||
lda {c1}+1,y
|
||||
rol
|
||||
sta {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
//FRAGMENT pbsc1_derefidx_vbuz1=vbsc2
|
||||
lda #{c2}
|
||||
ldy {z1}
|
||||
sta {c1},y
|
||||
//FRAGMENT vwsz1=pwsc1_derefidx_vbuaa_minus_pwsc2_derefidx_vbuaa
|
||||
tay
|
||||
sec
|
||||
lda {c1},y
|
||||
sbc {c2},y
|
||||
sta {z1}
|
||||
lda {c1}+1,y
|
||||
sbc {c2}+1,y
|
||||
sta {z1}+1
|
||||
//FRAGMENT vwsz1=pwsc1_derefidx_vbuxx_minus_pwsc2_derefidx_vbuxx
|
||||
sec
|
||||
lda {c1},x
|
||||
sbc {c2},x
|
||||
sta {z1}
|
||||
lda {c1}+1,x
|
||||
sbc {c2}+1,x
|
||||
sta {z1}+1
|
||||
//FRAGMENT vwsz1=pwsc1_derefidx_vbuyy_minus_pwsc2_derefidx_vbuyy
|
||||
sec
|
||||
lda {c1},y
|
||||
sbc {c2},y
|
||||
sta {z1}
|
||||
lda {c1}+1,y
|
||||
sbc {c2}+1,y
|
||||
sta {z1}+1
|
||||
//FRAGMENT vwsz1=_sword_pbuc1_derefidx_vbuxx
|
||||
lda {c1},x
|
||||
sta {z1}
|
||||
lda #0
|
||||
sta {z1}+1
|
||||
//FRAGMENT vwsz1=_sword_pbuc1_derefidx_vbuyy
|
||||
lda {c1},y
|
||||
sta {z1}
|
||||
lda #0
|
||||
sta {z1}+1
|
||||
//FRAGMENT vwuz1=pwuc1_derefidx_vbuaa_rol_4
|
||||
tay
|
||||
lda {c1},y
|
||||
asl
|
||||
sta {z1}
|
||||
lda {c1}+1,y
|
||||
rol
|
||||
sta {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
//FRAGMENT vwuz1=pwuc1_derefidx_vbuxx_rol_4
|
||||
lda {c1},x
|
||||
asl
|
||||
sta {z1}
|
||||
lda {c1}+1,x
|
||||
rol
|
||||
sta {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
//FRAGMENT vwuz1=pwuc1_derefidx_vbuyy_rol_4
|
||||
lda {c1},y
|
||||
asl
|
||||
sta {z1}
|
||||
lda {c1}+1,y
|
||||
rol
|
||||
sta {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
//FRAGMENT pbsc1_derefidx_vbuxx=vbsc2
|
||||
lda #{c2}
|
||||
sta {c1},x
|
||||
//FRAGMENT pbsc1_derefidx_vbuyy=vbsc2
|
||||
lda #{c2}
|
||||
sta {c1},y
|
||||
//FRAGMENT pbsc1_derefidx_vbuz1=vbsaa
|
||||
ldy {z1}
|
||||
sta {c1},y
|
||||
//FRAGMENT _deref_pwuc1=_deref_pwuc1_plus_vwuc2
|
||||
lda #<{c2}
|
||||
clc
|
||||
|
@ -1,4 +1,4 @@
|
||||
//KICKC FRAGMENT CACHE 17f3bfb106 17f3bfc988
|
||||
//KICKC FRAGMENT CACHE 148111253e 1481113e09
|
||||
//FRAGMENT vbuz1=_deref_pbuc1
|
||||
lda {c1}
|
||||
sta {z1}
|
||||
|
@ -0,0 +1,7 @@
|
||||
clc
|
||||
lda {c1},y
|
||||
adc #{c2}
|
||||
sta {c1},x
|
||||
lda {c1}+1,y
|
||||
lda #0
|
||||
sta {c1}+1,x
|
@ -0,0 +1,7 @@
|
||||
clc
|
||||
lda {c1},x
|
||||
adc #{c2}
|
||||
sta {c1},y
|
||||
lda {c1}+1,x
|
||||
lda #0
|
||||
sta {c1}+1,y
|
@ -0,0 +1,6 @@
|
||||
lda {c1},y
|
||||
eor #<{c2}
|
||||
sta {c1},y
|
||||
lda {c1}+1,y
|
||||
eor #>{c2}
|
||||
sta {c1}+1,y
|
@ -0,0 +1,7 @@
|
||||
clc
|
||||
lda {c1},y
|
||||
adc {c2},x
|
||||
sta {c1},y
|
||||
lda {c1}+1,y
|
||||
lda {c2}+1,x
|
||||
sta {c1}+1,y
|
@ -0,0 +1,7 @@
|
||||
clc
|
||||
lda {c1},y
|
||||
adc {c2},y
|
||||
sta {c1},y
|
||||
lda {c1}+1,y
|
||||
lda {c2}+1,y
|
||||
sta {c1}+1,y
|
@ -0,0 +1,4 @@
|
||||
lda #0
|
||||
sta {m1}+1
|
||||
lda {c1}+1
|
||||
sta {m1}
|
@ -0,0 +1,4 @@
|
||||
lda #0
|
||||
sta {m1}+1
|
||||
lda {c1}+1,y
|
||||
sta {m1}
|
@ -0,0 +1,6 @@
|
||||
lda {m1}+1
|
||||
bne {la1}
|
||||
lda {m1}
|
||||
cmp {m2}
|
||||
bcs {la1}
|
||||
!:
|
@ -0,0 +1,7 @@
|
||||
lda {m1}+1
|
||||
bne {la1}
|
||||
stx $ff
|
||||
lda {m1}
|
||||
cmp $ff
|
||||
bcs {la1}
|
||||
!:
|
@ -0,0 +1,7 @@
|
||||
lda {m1}+1
|
||||
bne {la1}
|
||||
sty $ff
|
||||
lda {m1}
|
||||
cmp $ff
|
||||
bcs {la1}
|
||||
!:
|
@ -0,0 +1,6 @@
|
||||
lda {m1}+1
|
||||
bne !+
|
||||
lda {m1}
|
||||
cmp {m2}
|
||||
bcc {la1}
|
||||
!:
|
@ -0,0 +1,7 @@
|
||||
lda {m1}+1
|
||||
bne !+
|
||||
stx $ff
|
||||
lda {m1}
|
||||
cmp $ff
|
||||
bcc {la1}
|
||||
!:
|
@ -0,0 +1,7 @@
|
||||
lda {m1}+1
|
||||
bne !+
|
||||
sty $ff
|
||||
lda {m1}
|
||||
cmp $ff
|
||||
bcc {la1}
|
||||
!:
|
@ -514,6 +514,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*)", lvalZM1+"|"+rvalAa+"|"+ twoZM1, "lda {m1}", "$1aa$2", null, mapZM1));
|
||||
// Replace two M1s with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*vb.)m1(.*)", lvalZM1+"|"+rvalAa+"|"+ threeZM1, "lda {m1}", "$1aa$2aa$3", null, mapZM1));
|
||||
// Replace three M1s with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*vb.)m1(.*vb.)m1(.*)", lvalZM1+"|"+rvalAa+"|"+ fourZM1, "lda {m1}", "$1aa$2aa$3aa$4", null, mapZM1));
|
||||
// Replace first (not second) M1 with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*)m1(.*)", lvalZM1+"|"+rvalAa, "lda {m1}", "$1aa$2m1$3", null, null));
|
||||
// Replace second (not first) M1 with AA
|
||||
@ -529,6 +531,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*)", lvalZM2+"|"+rvalAa+"|"+twoZM2, "lda {m2}", "$1aa$2", null, mapZM2));
|
||||
// Replace two M2s with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*vb.)m2(.*)", lvalZM2+"|"+rvalAa+"|"+threeZM2, "lda {m2}", "$1aa$2aa$3", null, mapZM2));
|
||||
// Replace three M2s with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*vb.)m2(.*vb.)m2(.*)", lvalZM2+"|"+rvalAa+"|"+fourZM2, "lda {m2}", "$1aa$2aa$3aa$4", null, mapZM2));
|
||||
// Replace first (of 2) M2 with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*)m2(.*)", lvalZM2+"|"+rvalAa, "lda {m2}", "$1aa$2m2$3", null, null));
|
||||
// Replace second (of 2) M2 with AA
|
||||
@ -538,6 +542,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*)", lvalZM3+"|"+rvalAa+"|"+twoZM3, "lda {m3}", "$1aa$2", null, mapZM3));
|
||||
// Replace two M3s with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*vb.)m3(.*)", lvalZM3+"|"+rvalAa+"|"+threeZM3, "lda {m3}", "$1aa$2aa$3", null, mapZM3));
|
||||
// Replace three M3s with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*vb.)m3(.*vb.)m3(.*)", lvalZM3+"|"+rvalAa+"|"+fourZM3, "lda {m3}", "$1aa$2aa$3aa$4", null, mapZM3));
|
||||
// Replace first (of 2) M3 with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*)m3(.*)", lvalZM3+"|"+rvalAa, "lda {m3}", "$1aa$2m3$3", null, null));
|
||||
// Replace second (of 2) M3 with AA
|
||||
@ -547,6 +553,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*)", lvalZM4+"|"+rvalAa+"|"+twoZM4, "lda {m4}", "$1aa$2", null, mapZM4));
|
||||
// Replace two M4s with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*vb.)m4(.*)", lvalZM4+"|"+rvalAa+"|"+threeZM4, "lda {m4}", "$1aa$2aa$3", null, mapZM4));
|
||||
// Replace three M4s with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*vb.)m4(.*vb.)m4(.*)", lvalZM4+"|"+rvalAa+"|"+fourZM4, "lda {m4}", "$1aa$2aa$3aa$4", null, mapZM4));
|
||||
// Replace first (of 2) M4 with AA
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*)m4(.*)", lvalZM4+"|"+rvalAa, "lda {m4}", "$1aa$2m4$3", null, null));
|
||||
// Replace second (of 2) M4 with AA
|
||||
@ -556,6 +564,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*)", lvalZM1+"|"+rvalYy+"|"+ twoZM1, "ldy {m1}", "$1yy$2", null, mapZM1));
|
||||
// Replace two M1s with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*vb.)m1(.*)", lvalZM1+"|"+rvalYy+"|"+ threeZM1, "ldy {m1}", "$1yy$2yy$3", null, mapZM1));
|
||||
// Replace three M1s with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*vb.)m1(.*vb.)m1(.*)", lvalZM1+"|"+rvalYy+"|"+ fourZM1, "ldy {m1}", "$1yy$2yy$3yy$4", null, mapZM1));
|
||||
// Replace first (not second) M1 with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*)m1(.*)", lvalZM1+"|"+rvalYy, "ldy {m1}", "$1yy$2m1$3", null, null));
|
||||
// Replace second (not first) M1 with YY
|
||||
@ -571,6 +581,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*)", lvalZM2+"|"+rvalYy+"|"+twoZM2, "ldy {m2}", "$1yy$2", null, mapZM2));
|
||||
// Replace two M2s with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*vb.)m2(.*)", lvalZM2+"|"+rvalYy+"|"+threeZM2, "ldy {m2}", "$1yy$2yy$3", null, mapZM2));
|
||||
// Replace three M2s with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*vb.)m2(.*vb.)m2(.*)", lvalZM2+"|"+rvalYy+"|"+fourZM2, "ldy {m2}", "$1yy$2yy$3yy$4", null, mapZM2));
|
||||
// Replace first (of 2) M2 with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*)m2(.*)", lvalZM2+"|"+rvalYy, "ldy {m2}", "$1yy$2m2$3", null, null));
|
||||
// Replace second (of 2) M2 with YY
|
||||
@ -580,6 +592,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*)", lvalZM3+"|"+rvalYy+"|"+twoZM3, "ldy {m3}", "$1yy$2", null, mapZM3));
|
||||
// Replace two M3s with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*vb.)m3(.*)", lvalZM3+"|"+rvalYy+"|"+threeZM3, "ldy {m3}", "$1yy$2yy$3", null, mapZM3));
|
||||
// Replace three M3s with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*vb.)m3(.*vb.)m3(.*)", lvalZM3+"|"+rvalYy+"|"+fourZM3, "ldy {m3}", "$1yy$2yy$3yy$4", null, mapZM3));
|
||||
// Replace first (of 2) M3 with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*)m3(.*)", lvalZM3+"|"+rvalYy, "ldy {m3}", "$1yy$2m3$3", null, null));
|
||||
// Replace second (of 2) M3 with YY
|
||||
@ -589,6 +603,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*)", lvalZM4+"|"+rvalYy+"|"+twoZM4, "ldy {m4}", "$1yy$2", null, mapZM4));
|
||||
// Replace two M4s with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*vb.)m4(.*)", lvalZM4+"|"+rvalYy+"|"+threeZM4, "ldy {m4}", "$1yy$2yy$3", null, mapZM4));
|
||||
// Replace three M4s with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*vb.)m4(.*vb.)m4(.*)", lvalZM4+"|"+rvalYy+"|"+fourZM4, "ldy {m4}", "$1yy$2yy$3yy$4", null, mapZM4));
|
||||
// Replace first (of 2) M4 with YY
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*)m4(.*)", lvalZM4+"|"+rvalYy, "ldy {m4}", "$1yy$2m4$3", null, null));
|
||||
// Replace second (of 2) M4 with YY
|
||||
@ -598,6 +614,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*)", lvalZM1+"|"+rvalXx+"|"+ twoZM1, "ldx {m1}", "$1xx$2", null, mapZM1));
|
||||
// Replace two M1s with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*vb.)m1(.*)", lvalZM1+"|"+rvalXx+"|"+ threeZM1, "ldx {m1}", "$1xx$2xx$3", null, mapZM1));
|
||||
// Replace three M1s with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*vb.)m1(.*vb.)m1(.*)", lvalZM1+"|"+rvalXx+"|"+ fourZM1, "ldx {m1}", "$1xx$2xx$3xx$4", null, mapZM1));
|
||||
// Replace first (not second) M1 with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m1(.*)m1(.*)", lvalZM1+"|"+rvalXx, "ldx {m1}", "$1xx$2m1$3", null, null));
|
||||
// Replace second (not first) M1 with XX
|
||||
@ -613,6 +631,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*)", lvalZM2+"|"+rvalXx+"|"+twoZM2, "ldx {m2}", "$1xx$2", null, mapZM2));
|
||||
// Replace two M2s with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*vb.)m2(.*)", lvalZM2+"|"+rvalXx+"|"+threeZM2, "ldx {m2}", "$1xx$2xx$3", null, mapZM2));
|
||||
// Replace three M2s with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*vb.)m2(.*vb.)m2(.*)", lvalZM2+"|"+rvalXx+"|"+fourZM2, "ldx {m2}", "$1xx$2xx$3xx$4", null, mapZM2));
|
||||
// Replace first (of 2) M2 with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m2(.*)m2(.*)", lvalZM2+"|"+rvalXx, "ldx {m2}", "$1xx$2m2$3", null, null));
|
||||
// Replace second (of 2) M2 with XX
|
||||
@ -622,6 +642,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*)", lvalZM3+"|"+rvalXx+"|"+twoZM3, "ldx {m3}", "$1xx$2", null, mapZM3));
|
||||
// Replace two M3s with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*vb.)m3(.*)", lvalZM3+"|"+rvalXx+"|"+threeZM3, "ldx {m3}", "$1xx$2xx$3", null, mapZM3));
|
||||
// Replace three M3s with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*vb.)m3(.*vb.)m3(.*)", lvalZM3+"|"+rvalXx+"|"+fourZM3, "ldx {m3}", "$1xx$2xx$3xx$4", null, mapZM3));
|
||||
// Replace first (of 2) M3 with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m3(.*)m3(.*)", lvalZM3+"|"+rvalXx, "ldx {m3}", "$1xx$2m3$3", null, null));
|
||||
// Replace second (of 2) M3 with XX
|
||||
@ -631,6 +653,8 @@ class AsmFragmentTemplateSynthesisRule {
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*)", lvalZM4+"|"+rvalXx+"|"+twoZM4, "ldx {m4}", "$1xx$2", null, mapZM4));
|
||||
// Replace two M4s with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*vb.)m4(.*)", lvalZM4+"|"+rvalXx+"|"+threeZM4, "ldx {m4}", "$1xx$2xx$3", null, mapZM4));
|
||||
// Replace three M4s with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*vb.)m4(.*vb.)m4(.*)", lvalZM4+"|"+rvalXx+"|"+fourZM4, "ldx {m4}", "$1xx$2xx$3xx$4", null, mapZM4));
|
||||
// Replace first (of 2) M4 with XX
|
||||
synths.add(new AsmFragmentTemplateSynthesisRule("(.*vb.)m4(.*)m4(.*)", lvalZM4+"|"+rvalXx, "ldx {m4}", "$1xx$2m4$3", null, null));
|
||||
// Replace second (of 2) M4 with XX
|
||||
|
@ -222,6 +222,11 @@ public class TestPrograms {
|
||||
compileAndCompare("minus-precedence-problem.c");
|
||||
}
|
||||
|
||||
//@Test
|
||||
//public void testNesBalls() throws IOException, URISyntaxException {
|
||||
// compileAndCompare("complex/nes-balls/kickballs.c");
|
||||
//}
|
||||
|
||||
@Test
|
||||
public void testNesDxycp() throws IOException, URISyntaxException {
|
||||
compileAndCompare("examples/nes-dxycp/nes-dxycp.c");
|
||||
@ -237,6 +242,11 @@ public class TestPrograms {
|
||||
compileAndCompare("examples/nes-demo/nes-demo.c");
|
||||
}
|
||||
|
||||
//@Test
|
||||
//public void testMega65Wator() throws IOException, URISyntaxException {
|
||||
// compileAndCompare("complex/m65wator/main.c");
|
||||
//}
|
||||
|
||||
@Test
|
||||
public void testMega65BankedMusic() throws IOException, URISyntaxException {
|
||||
compileAndCompare("examples/mega65/banked-music.c");
|
||||
|
Loading…
x
Reference in New Issue
Block a user