1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-04-10 13:38:18 +00:00

Merged memory-variables to main. Includes support for C-standard structs, much better constant identification, much better handling of arrays/structs inside structs, removal of string type, initialization/copying using memcpy/memset and new #pragma var_model().

This commit is contained in:
jespergravgaard 2020-02-09 16:54:14 +01:00
commit 9faabae052
3174 changed files with 249967 additions and 216257 deletions

View File

@ -34,6 +34,7 @@
<include>*/*.ld</include>
<include>*/*.png</include>
<include>*/*.sid</include>
<include>*/*.bin</include>
</includes>
</fileSet>
<fileSet>

View File

@ -0,0 +1,5 @@
!:
lda {c2}-1,x
sta {c1}-1,x
dex
bne !-

View File

@ -0,0 +1,5 @@
!:
lda {c2}-1,y
sta {c1}-1,y
dey
bne !-

View File

@ -0,0 +1,5 @@
!:
lda {c2}-1,x
sta {c1}-1,x
dex
bne !-

View File

@ -0,0 +1,5 @@
!:
lda {c2}-1,y
sta {c1}-1,y
dey
bne !-

View File

@ -0,0 +1,5 @@
lda #0
!:
dex
sta {c1},x
bne !-

View File

@ -0,0 +1,5 @@
lda #0
!:
dey
sta {c1},y
bne !-

View File

@ -1,8 +1,8 @@
lda {z1}
lda {m1}
sta {c1}
lda {z1}+1
lda {m1}+1
sta {c1}+1
lda {z1}+2
lda {m1}+2
sta {c1}+2
lda {z1}+3
lda {m1}+3
sta {c1}+3

View File

@ -0,0 +1,4 @@
lda {m1}
sta {c1}
lda {m1}+1
sta {c1}+1

View File

@ -1,4 +0,0 @@
lda {z1}
sta {c1}
lda {z1}+1
sta {c1}+1

View File

@ -0,0 +1,4 @@
lda {c2},x
sta {c1}
lda {c2}+1,x
sta {c1}+1

View File

@ -0,0 +1,4 @@
lda {c2},y
sta {c1}
lda {c2}+1,y
sta {c1}+1

View File

@ -1,6 +1,6 @@
ldy #0
lda {z2}
lda {m2}
sta ({z1}),y
iny
lda {z2}+1
lda {m2}+1
sta ({z1}),y

View File

@ -1,6 +1,6 @@
ldy #0
lda {z2}
lda {m2}
sta ({z1}),y
iny
lda {z2}+1
lda {m2}+1
sta ({z1}),y

View File

@ -1,6 +0,0 @@
ldy #0
lda {z2}
sta ({z1}),y
iny
lda {z2}+1
sta ({z1}),y

View File

@ -1,6 +1,6 @@
ldy #0
lda {z2}
lda {m2}
sta ({z1}),y
iny
lda {z2}+1
lda {m2}+1
sta ({z1}),y

View File

@ -0,0 +1,6 @@
ldy #0
lda {m2}
sta ({z1}),y
iny
lda {m2}+1
sta ({z1}),y

View File

@ -1,6 +0,0 @@
ldy #0
lda {z2}
sta ({z1}),y
iny
lda {z2}+1
sta ({z1}),y

View File

@ -0,0 +1,5 @@
!:
lda {c2}-1,x
sta {c1}-1,x
dex
bne !-

View File

@ -0,0 +1,5 @@
!:
lda {c2}-1,y
sta {c1}-1,y
dey
bne !-

View File

@ -0,0 +1,5 @@
lda #0
!:
dex
sta {c1},x
bne !-

View File

@ -0,0 +1,5 @@
lda #0
!:
dey
sta {c1},y
bne !-

View File

@ -0,0 +1,8 @@
ldy #0
!:
lda {c2},x
sta {c1},y
inx
iny
cpy #{c3}
bne !-

View File

@ -0,0 +1,8 @@
ldx #0
!:
lda {c2},y
sta {c1},x
iny
inx
cpx #{c3}
bne !-

View File

@ -0,0 +1,7 @@
ldy #00
!:
lda ({z2}),y
sta ({z1}),y
iny
cpy #{c1}
bne !-

View File

@ -0,0 +1,7 @@
ldy #0
!:
lda ({z2}),y
sta ({z1}),y
iny
dex
bne !-

View File

@ -0,0 +1,4 @@
lda {c2},x
sta {c1}
lda {c2}+1,x
sta {c1}+1

View File

@ -0,0 +1,4 @@
lda {c2},y
sta {c1}
lda {c2}+1,y
sta {c1}+1

View File

@ -0,0 +1,4 @@
lda {m1}
sta {c1}
lda {m1}+1
sta {c1}+1

View File

@ -1,4 +0,0 @@
lda {z1}
sta {c1}
lda {z1}+1
sta {c1}+1

View File

@ -0,0 +1,6 @@
ldy #0
lda {m2}
sta ({z1}),y
iny
lda {m2}+1
sta ({z1}),y

View File

@ -0,0 +1,4 @@
lda {m1}
sta {c1}
lda {m1}+1
sta {c1}+1

View File

@ -1,4 +0,0 @@
lda {z1}
sta {c1}
lda {z1}+1
sta {c1}+1

View File

@ -0,0 +1,6 @@
ldy #0
lda {m2}
sta ({z1}),y
iny
lda {m2}+1
sta ({z1}),y

View File

@ -1,10 +1,10 @@
ldy #1
lda ({z1}),y
cmp {z2}+1
cmp {m2}+1
bne !+
dey
lda ({z1}),y
cmp {z2}
cmp {m2}
beq {la1}
!:
bcc {la1}

View File

@ -1,5 +1,5 @@
tsx
lda {z1}
lda {m1}
sta STACK_BASE+{c1},x
lda {z1}+1
lda {m1}+1
sta STACK_BASE+{c1}+1,x

View File

@ -1,5 +1,5 @@
tsx
lda {z1}
lda {m1}
sta STACK_BASE+{c1},x
lda {z1}+1
lda {m1}+1
sta STACK_BASE+{c1}+1,x

View File

@ -0,0 +1,4 @@
lda {m1}+1
pha
lda {m1}
pha

View File

@ -1,4 +0,0 @@
lda {z1}+1
pha
lda {z1}
pha

View File

@ -0,0 +1 @@
// No operation needed

View File

@ -0,0 +1,4 @@
lda {m2}
sta {m1}
lda {m2}+1
sta {m1}+1

View File

@ -1,4 +1,4 @@
lda #<{c1}
sta {z1}
sta {m1}
lda #>{c1}
sta {z1}+1
sta {m1}+1

View File

@ -0,0 +1,4 @@
lda {m2}
sta {m1}
lda {m2}+1
sta {m1}+1

View File

@ -1 +0,0 @@
// No operation needed

View File

@ -1,4 +0,0 @@
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1

View File

@ -1,4 +0,0 @@
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1

View File

@ -1,4 +1,4 @@
lda #<{c1}
sta {z1}
sta {m1}
lda #>{c1}
sta {z1}+1
sta {m1}+1

View File

@ -0,0 +1,7 @@
lda {m2}
sec
sbc #1
sta {m1}
lda {m2}+1
sbc #0
sta {m1}+1

View File

@ -1,4 +1,4 @@
lda {c1}
sta {z1}
sta {m1}
lda {c1}+1
sta {z1}+1
sta {m1}+1

View File

@ -0,0 +1,7 @@
clc
lda {c1}
adc #<{c2}
sta {m1}
lda {c1}+1
adc #>{c2}
sta {m1}+1

View File

@ -1,6 +1,6 @@
ldy #0
lda ({z2}),y
sta {z1}
sta {m1}
iny
lda ({z2}),y
sta {z1}+1
sta {m1}+1

View File

@ -0,0 +1,4 @@
inc {m1}
bne !+
inc {m1}+1
!:

View File

@ -0,0 +1,7 @@
lda {m2}
clc
adc #1
sta {m1}
lda {m2}+1
adc #0
sta {m1}+1

View File

@ -0,0 +1 @@
// No operation needed

View File

@ -0,0 +1,4 @@
lda {m2}
sta {m1}
lda {m2}+1
sta {m1}+1

View File

@ -0,0 +1,4 @@
lda {m2}
sta {m1}
lda {m2}+1
sta {m1}+1

View File

@ -0,0 +1,3 @@
sta {m1}
lda #0
sta {m1}+1

View File

@ -0,0 +1,7 @@
lda #<{c1}
clc
adc {m1}
sta {m1}
lda #>{c1}
adc {m1}+1
sta {m1}+1

View File

@ -0,0 +1,7 @@
lda #<{c1}
clc
adc {m2}
sta {m1}
lda #>{c1}
adc {m2}+1
sta {m1}+1

View File

@ -3,4 +3,4 @@ adc {m1}
sta {m1}
bcc !+
inc {m1}+1
!:
!:

View File

@ -0,0 +1,7 @@
lda {m1}
clc
adc {m2}
sta {m1}
lda {m1}+1
adc {m2}+1
sta {m1}+1

View File

@ -0,0 +1,4 @@
lda {m2}
sta {m1}
lda {m2}+1
sta {m1}+1

View File

@ -0,0 +1,7 @@
lda {m2}
clc
adc {m1}
sta {m1}
lda {m2}+1
adc {m1}+1
sta {m1}+1

View File

@ -0,0 +1,7 @@
lda {m2}
clc
adc {m3}
sta {m1}
lda {m2}+1
adc {m3}+1
sta {m1}+1

View File

@ -1,4 +1,4 @@
lda {c1},x
sta {z1}
sta {m1}
lda {c1}+1,x
sta {z1}+1
sta {m1}+1

View File

@ -1,7 +1,7 @@
lda {c1},x
clc
adc #{c2}
sta {z1}
sta {m1}
lda {c1}+1,x
adc #0
sta {z1}+1
sta {m1}+1

View File

@ -1,4 +1,4 @@
lda {c1},y
sta {z1}
sta {m1}
lda {c1}+1,y
sta {z1}+1
sta {m1}+1

View File

@ -1,7 +1,7 @@
lda {c1},y
clc
adc #{c2}
sta {z1}
sta {m1}
lda {c1}+1,y
adc #0
sta {z1}+1
sta {m1}+1

View File

@ -1,5 +1,5 @@
lda ({z2}),y
sta {z1}
sta {m1}
iny
lda ({z2}),y
sta {z1}+1
sta {m1}+1

View File

@ -0,0 +1,6 @@
ldy {m1}
sty $fe
ldy {m1}+1
sty $ff
ldy #{c1}
sta ($fe),y

View File

@ -0,0 +1,7 @@
sty $fd
ldy {m1}
sty $fe
ldy {m1}+1
sty $ff
ldy $fd
sta ($fe),y

View File

@ -1,7 +0,0 @@
lda {z2}
sec
sbc #1
sta {z1}
lda {z2}+1
sbc #0
sta {z1}+1

View File

@ -1,4 +0,0 @@
inc {z1}
bne !+
inc {z1}+1
!:

View File

@ -1,7 +0,0 @@
lda {z2}
clc
adc #1
sta {z1}
lda {z2}+1
adc #0
sta {z1}+1

View File

@ -1 +0,0 @@
// No operation needed

View File

@ -1,4 +0,0 @@
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1

View File

@ -1,4 +0,0 @@
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1

View File

@ -1,3 +0,0 @@
sta {z1}
lda #0
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda #<{c1}
clc
adc {z1}
sta {z1}
lda #>{c1}
adc {z1}+1
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda #<{c1}
clc
adc {z2}
sta {z1}
lda #>{c1}
adc {z2}+1
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda {z1}
clc
adc #2
sta {z1}
bcc !+
inc {z1}+1
!:

View File

@ -1,6 +0,0 @@
clc
adc {z1}
sta {z1}
bcc !+
inc {z1}+1
!:

View File

@ -1,7 +0,0 @@
lda {z1}
clc
adc {z2}
sta {z1}
lda {z1}+1
adc {z2}+1
sta {z1}+1

View File

@ -1,4 +0,0 @@
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda {z2}
clc
adc #2
sta {z1}
lda {z2}+1
adc #0
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda {z2}
clc
adc {z1}
sta {z1}
lda {z2}+1
adc {z1}+1
sta {z1}+1

View File

@ -1,7 +0,0 @@
lda {z2}
clc
adc {z3}
sta {z1}
lda {z2}+1
adc {z3}+1
sta {z1}+1

View File

@ -0,0 +1,2 @@
lda ({z2}),y
sta ({z1}),y

View File

@ -1,4 +1,4 @@
lda {c1}
sta {z1}
sta {m1}
lda {c1}+1
sta {z1}+1
sta {m1}+1

View File

@ -1,11 +1,11 @@
lda {z2}
lda {m2}
sta ({z1}),y
iny
lda {z2}+1
lda {m2}+1
sta ({z1}),y
iny
lda {z2}+2
lda {m2}+2
sta ({z1}),y
iny
lda {z2}+3
lda {m2}+3
sta ({z1}),y

View File

@ -1,4 +1,4 @@
lda {c1}
sta {z1}
sta {m1}
lda {c1}+1
sta {z1}+1
sta {m1}+1

View File

@ -1,4 +1,4 @@
lda #<{c1}
sta {z1}
sta {m1}
lda #>{c1}
sta {z1}+1
sta {m1}+1

View File

@ -0,0 +1,4 @@
lda {m2}
sta {m1}
lda {m2}+1
sta {m1}+1

View File

@ -1,4 +1,4 @@
lda {c1},x
sta {z1}
sta {m1}
lda {c1}+1,x
sta {z1}+1
sta {m1}+1

View File

@ -1,4 +1,4 @@
lda {c1},y
sta {z1}
sta {m1}
lda {c1}+1,y
sta {z1}+1
sta {m1}+1

View File

@ -1,4 +0,0 @@
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1

Some files were not shown because too many files have changed in this diff Show More