diff --git a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesizer.java b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesizer.java index f74acf6ca..94996d11a 100644 --- a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesizer.java +++ b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesizer.java @@ -227,7 +227,7 @@ public class AsmFragmentTemplateSynthesizer { for(AsmFragmentClobber bestClobber : bestClobbers) { AsmFragmentTemplate bestTemplate = bestTemplates.get(bestClobber); double bestCycles = bestTemplate.getCycles(); - if(candidateClobber.isSubset(bestClobber) && candidateCycles < bestCycles) { + if(candidateClobber.isSubset(bestClobber) && candidateCycles <= bestCycles) { // The candidate is better - remove the current template bestTemplates.remove(bestClobber); } diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/vbuxx=vbuyy.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuxx=vbuyy.asm new file mode 100644 index 000000000..916220eb0 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuxx=vbuyy.asm @@ -0,0 +1,2 @@ +sty $ff +ldx $ff \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/vbuyy=vbuxx.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuyy=vbuxx.asm new file mode 100644 index 000000000..989559d4c --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuyy=vbuxx.asm @@ -0,0 +1,2 @@ +stx $ff +ldy $ff \ No newline at end of file diff --git a/src/test/java/dk/camelot64/kickc/test/ASMish.txt b/src/test/java/dk/camelot64/kickc/test/ASMish.txt deleted file mode 100644 index e154a6361..000000000 --- a/src/test/java/dk/camelot64/kickc/test/ASMish.txt +++ /dev/null @@ -1,90 +0,0 @@ -ASMish - Assembler Like Language that is Optimizable for 6502 - -Design Goals: -- Ability to generate optimized 6502 assembler code. -- Very close to assembler allowing direct translation. -- Optimizing register allocation (registers, zeropage, stack, memory, self-modifying code) -- Optimizing parameter parsing to sub routines (via register, stack, zeropage, memory, modifying routine, fetching from caller, sw stack, ...) -- Optimizing by inlining sub soutines -- MAYBE: Optimizing by knowledge of runtime usage (#calls, actual value space of variables/parameters, ...) -- MAYBE: Optimize by swapping or modifying operations. (moving code out of loops or subroutines, precalculating constants) -- MAYBE/TODO: Graph of statements/operations - specifying what *must* be executed in sequence. All else can be swapped around freely during optimization. - - -- Existing Method: Single Static Assignment Form - Compiler Optimization - - - -Language Features -- Variables -- Subroutines (non-recursive) -- Operations (mov, add, sub, ...) -- Adressing modes (variable, indirect, indirect sum, lo/hi-variable) - -literals --------- -12 - decimal -$12 - hexadecimal - ASM-style -$d020 - hexadecimal word - ASM-style -0x12 - hexadecimal - C-style -%010101 - binary - ASM-style - -8/16-bit variable declarations (local/global) ---------------------------------------------- -byte a // 8 bit variable usable for operations or memory access (zeropage). -word b // 16bit variable usable for operations or for accessing memory. -del b // delete b (only local variables) - -TODO: should delete be explicit or implicit? - -operations ----------- -mov a, b // b = a -add a, b // b += a -sub a, b // b -= a -inc a // a++ -dec a // a-- -and a, b // b &= a -or a, b // b |= a -xor a, b // b ^= a -not a // a ~= a -rol a // a<< -ror a // a>> -mul2 a // a *= 2 - short for rol a / a<< -div2 a // a /= 2 - short for ror a / a>> - -TODO: w/wo carry for 8/16-bit add/sub/rol/ror/inc/... - -memory-access (indirect adressing) -------------- -mov a, [b] // Indirect on b. b can be byte or word. bytes point to zeropage. -mov a, [b+c] // Indirect on b+c. - -lo/hi-access og 16bit variables (lo/hi-adressing) -------------------------------- -mov a, b // moves low part of a to high part of b. a must be a word, b must be a word. - -subroutine declaration with return ----------------------- -sub byte fill(word a, word b, byte c) { - ... - ret d -} - -subroutine call with/without return value ---------------- -mov d, call fill(a, b, c) // d = fill(a,b,c) - with return -call fill(a, b, c) // fill(a,b,c) - without return - - - -TODO: Conditionals / comparisions -TODO: Branching -TODO: Looping -TODO: Jumping -TODO: Tables in memory -TODO: Strings -TODO: Annotations that guide / show register allocations -TODO: Stack operations -MAYBE: Recursive sub routines diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 364ae347c..18799c0e1 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -24,7 +24,7 @@ public class TestPrograms { String testPath; public TestPrograms() throws IOException { - testPath = "src/test/java/dk/camelot64/kickc/test/"; + testPath = "src/test/java/dk/camelot64/kickc/test/kc"; helper = new ReferenceHelper("dk/camelot64/kickc/test/ref/"); } @@ -32,7 +32,7 @@ public class TestPrograms { public static void tearDown() throws Exception { CompileLog log = new CompileLog(); log.setSysOut(true); - AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false); + AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, true, true); } @Test diff --git a/src/test/java/dk/camelot64/kickc/test/codegen-fib.txt b/src/test/java/dk/camelot64/kickc/test/codegen-fib.txt deleted file mode 100644 index c42e2e2fe..000000000 --- a/src/test/java/dk/camelot64/kickc/test/codegen-fib.txt +++ /dev/null @@ -1,123 +0,0 @@ -byte n1 = 0; -byte n2 = 1; -byte i = 0; -byte fib = 0; -while(i<=10) { - fib = n1 + n2; - n1 = n2; - n2 = fib; - i = i + 1; -} - -PROGRAM - (byte) n1 ← (byte) 0 - (byte) n2 ← (byte) 1 - (byte) i ← (byte) 0 - (byte) fib ← (byte) 0 -(label) @1: - (boolean*) $0 ← (byte) i <= (byte) 10 - if((boolean*) $0) goto @2 - goto @3 -(label) @2: - (byte*) $1 ← (byte) n1 + (byte) n2 - (byte) fib ← (byte*) $1 - (byte) n1 ← (byte) n2 - (byte) n2 ← (byte) fib - (byte*) $2 ← (byte) i + (byte) 1 - (byte) i ← (byte*) $2 - goto @1 -(label) @3: - -CONTROL FLOW GRAPH -@BEGIN: - to:@1 -@1: from @BEGIN @2 - (byte) n2#2 ← phi( @BEGIN/(byte) 1 @2/(byte) n2#1 ) - (byte) n1#2 ← phi( @BEGIN/(byte) 0 @2/(byte) n1#1 ) - (byte) i#3 ← phi( @BEGIN/(byte) 0 @2/(byte) i#1 ) - (boolean*) $0 ← (byte) i#3 <= (byte) 10 - if((boolean*) $0) goto @2 - to:@END -@2: from @1 - (byte) n2#1 ← (byte) n1#2 + (byte) n2#2 - (byte) n1#1 ← (byte) n2#2 - (byte) i#1 ← (byte) i#3 + (byte) 1 - to:@1 -@END: from @1 - -ASSEMBLER -BBEGIN: - jmp B1_from_BBEGIN -B1_from_BBEGIN: - // (byte) n2#2 = (byte) 1 // zpby1=coby1 - lda #1 - sta 7 - // (byte) n1#2 = (byte) 0 // zpby1=coby1 - lda #0 - sta 6 - // (byte) i#3 = (byte) 0 // zpby1=coby1 - lda #0 - sta 8 - jmp B1 -B1_from_B2: - // (byte) n2#2 = (byte) n2#1 // zpby1=zpby2 - lda 4 - sta 7 - // (byte) n1#2 = (byte) n1#1 // zpby1=zpby2 - lda 3 - sta 6 - // (byte) i#3 = (byte) i#1 // zpby1=zpby2 - lda 5 - sta 8 - jmp B1 -B1: - // (boolean*) $0 ← (byte) i#3 <= (byte) 10 // zpbo1=zpby1<=coby1 - lda 8 - cmp #10 - bcc !t+ - beq !t+ - !f: lda #0 - jmp !d+ - !t: lda #$ff - !d: sta 2 - // if((boolean*) $0) goto @2 // zpbo1?la1 - lda 2 - bne B2 - jmp BEND -B2: - // (byte) n2#1 ← (byte) n1#2 + (byte) n2#2 // zpby1=zpby2+zpby3 - lda 6 - clc - adc 7 - sta 4 - // (byte) n1#1 ← (byte) n2#2 // zpby1=zpby2 - lda 7 - sta 3 - // (byte) i#1 ← (byte) i#3 + (byte) 1 // zpby1=zpby2+coby1 - lda 8 - clc - adc #1 - sta 5 - jmp B1_from_B2 -BEND: - -OPTIMAL ASSEMBLER -BBEGIN: -B1_from_BBEGIN: - ldy #0 - sty $2 - iny - tya - ldx #12 - clc -B2: - adc $2 - sty $2 - tay - dex -B1: - bne B2 -BEND: - sta $3 - inc $d020 - jmp BEND \ No newline at end of file diff --git a/src/test/java/dk/camelot64/kickc/test/codegen.txt b/src/test/java/dk/camelot64/kickc/test/codegen.txt deleted file mode 100644 index bdd6049ce..000000000 --- a/src/test/java/dk/camelot64/kickc/test/codegen.txt +++ /dev/null @@ -1,111 +0,0 @@ -@1: from @BEGIN @5 b#3 a#7 $2 b#4 $4 b#2 b#8 a#1 - (word) b#3 ← phi( @BEGIN/(byte) 0 @5/(word) b#8 ) L . . . . . R + - (byte) a#7 ← phi( @BEGIN/(byte) 0 @5/(byte) a#1 ) + L . . . . . R - (boolean*) $2 ← (byte) a#7 < (byte) 10 + R L . . . . . - if((boolean*) $2) goto @2 + + R . . . . . - to: @END . . . . . . . . -@2: from @1 ---------------------------------------------------------------------------- - (word) b#4 ← (word) b#3 + (byte) a#7 R R . L . . . . - (boolean*) $4 ← (word) b#4 > (byte) 10 . + . R L . . . - if((boolean*) $4) goto @4 . + . + R . . . - to:@5 . . . + . . . . -@4: from @2 ---------------------------------------------------------------------------- - (word) b#2 ← (word) b#4 - (byte) 10 . + . R . L . . - to:@5 . + . . . + . . -@5: from @4 @2 ------------------------------------------------------------------------- - (word) b#8 ← phi( @2/(word) b#4 @4/(word) b#2 ) . + . R . R L . - (byte) a#1 ← (byte) a#7 + (byte) 1 . R . . . . + L - to:@1 - -@BEGIN: -@1_from_@0: - ldx #0 //X=a - lda #0 //A=b -@1: // A=b, X=a - cpx #10 // $2 (C) - bcs @END -@2: // A=b, X=a - stx $2 // tmp - adc $2 // tmp - cmp #11 // $4 (C) - bcc @5 -@4: // A=b, X=a - sec - sbc #10 -@5: // A=b, X=a - inx // a - jmp @1 -@END: - -@BEGIN: -@1_from_@0: - lda #0 - sta $2 // b - sta $3 // a -@1: - lda $3 // a - cmp #10 // $2 (C) - bcs @END -@2: - adc $2 // b - sta $2 // b - lda #10 // (b#4 > 10) -> (10 < b#4) - cmp $2 // $4 (C) - bcs @5 -@4: - lda $2 // b - sec - sbc #10 - sta $2 // b -@5: - inc $3 // a - jmp @1 -@END: - - -@BEGIN: -@1_from_@0: - lda #0 - sta $2 // b#3 - lda #0 - sta $3 // a#7 - jmp @1 -@1_from_@5: - lda $5 // b#8 - sta $2 // b#3 - lda $6 // a#1 - sta $3 // a#7 -@1: - lda $3 // a#7 - cmp #10 // $2 (C) - bcc @2 - jmp @END -@2: - lda $2 // b#3 - clc - adc $3 // a#7 - sta $4 // b#4 - lda #10 // (b#4 > 10) -> (10 < b#4) - cmp $4 // $4 (C) - bcc @4 - jmp @5_from_@2 -@4: - lda $4 // b#4 - sec - sbc #10 - sta $7 // b#2 - jmp @5_from_@4 -@5_from_@2: - lda $4 // b#4 - sta $5 // b#8 - jmp @5 -@5_from_@4: - lda $7 // b#2 - sta $5 // b#8 -@5: - lda $3 // a#7 - clc - adc 1 - sta $6 // a#1 - jmp @1_from_@5 -@END: diff --git a/src/test/java/dk/camelot64/kickc/test/fct-inc.txt b/src/test/java/dk/camelot64/kickc/test/fct-inc.txt deleted file mode 100644 index a1eb38697..000000000 --- a/src/test/java/dk/camelot64/kickc/test/fct-inc.txt +++ /dev/null @@ -1,141 +0,0 @@ -byte i = 5; -a = inc(3); -a = inc(a); -a = a + i; - -byte inc(byte a) { - i = i + 1; - return a + i; -} - -// Not committed to a specific parameter transfer style (non SSA) -@BEGIN: - (byte) i := 5 - (byte) a := call inc 3 - (byte) a := call inc a - (byte) a := a + i - to: @END -byte inc(byte a): - (byte) i := i + 1 - (byte§) $1 := INC.a + i - return (byte) $1 - to: @RETURN - -// Variable/Register parameter/return transfer (non SSA) -@BEGIN: - (byte) i := 5 - (byte) inc.a := 3 - (byte) a := call inc - to: @1 -@1: - (byte) inc.a := a - (byte) a := call inc - to: @2 -@2: - (byte§) a := a + i - to: @END -inc: (byte) inc((byte) a) - (byte) i := i + 1 - (byte§) $1 := inc.a + i - (byte)return $1 - to: @RETURN - -// Variable/Register parameter/return transfer (SSA) -@BEGIN: - (byte) i#0 := 5 - (byte) inc.a#0 := 3 - call inc - (byte) a#0 := inc.return#0 - (byte) i#3 := inc.i#1 - to: @1 -@1: - (byte) i#2 = phi( @BEGIN/i#3) - (byte§) a#1 := phi(@BEGIN/a#0) - (byte) inc.a#1 := a#1 - call inc - (byte) a#1 := inc.return#0 - (byte) i#4 := inc.i#1 - to @2 -@2: - (byte) i#1 = phi( @1/i#4) - (byte) a#2 = phi( @1/a#1) - (byte§) $2 := a#2 + i#1 - (byte§) a#2 := $2 - to: @END -inc: (byte) inc((byte) a) from @BEGIN @1 - (byte) inc.a#2 = phi( @BEGIN/inc.a#0 @1/inc.a#1) - (byte) inc.i#0 = phi( @BEGIN/i#0 @1/i#2) - (byte) inc.i#1 := inc.i#0 + 1; - (byte§) $1 := inc.a#2 + inc.i#1; - (byte) inc.return#0 := $1 - (byte) return inc.return#0 - to: @RETURN - -// Variable/Register parameter/return transfer (SSA) optimized -@BEGIN: - call inc - to: @1 -@1: - call inc - to @2 -@2: - (byte§) a#2 := inc.return#0 + inc.i#1 - to: @END -inc: (byte) inc((byte) a) from @BEGIN @1 - (byte) inc.a#2 = phi( @BEGIN/3 @1/inc.return#0) - (byte) inc.i#0 = phi( @BEGIN/5 @1/inc.i#1) - (byte) inc.i#1 := inc.i#0 + 1; - (byte) inc.return#0 := inc.a#2 + inc.i#1 - to: @RETURN - -// Inline call (non SSA) -@BEGIN: - (byte) i := 5 - to: inc@1 -inc@1: - (byte) inc.a := 3 - (byte) i := i + 1 - (byte§) $2 := inc.a + i - (byte) a := (byte) $2 - to: inc@2 -inc@2: - (byte) inc.a := a - (byte) i := i + 1 - (byte§) $3 := inc.a + i - (byte) a := (byte) $3 - to: @1 -@1: - (byte) a := a + i; - to: @END - -// Inline call (SSA) -@BEGIN: - (byte) i#0 := 5 - to: inc@1 -inc@1: from @BEGIN - (byte) i#5 := phi(@BEGIN/i#0) - (byte) inc.a#0 := 3 - (byte) i#1 := i#5 + 1 - (byte§) $2 := inc.a#0 + i#1 - (byte) a#0 := (byte) $2 - to: inc@2 -inc@2: from inc@1 - (byte) i#4 := phi(inc@2/i#1) - (byte) a#4 := phi(inc@1/a#0) - (byte) inc.a#1 := a#4 - (byte) i#2 := i#4 + 1 - (byte§) $3 := inc.a#1 + i#2 - (byte) a#1 := (byte) $3 - to: @1 -@1: from inc@2 - (byte) i#3 := phi(inc@2/i#2) - (byte) a#3 := phi(inc@2/a#1) - (byte) a#2 := a#3 + i#3; - to: @END - - -// Inline call (SSA) - optimized -@BEGIN: - (byte) i#3 := 7 - (byte) a#2 := 23; - to: @END diff --git a/src/test/java/dk/camelot64/kickc/test/fct-sum.txt b/src/test/java/dk/camelot64/kickc/test/fct-sum.txt deleted file mode 100644 index aaaad6ec5..000000000 --- a/src/test/java/dk/camelot64/kickc/test/fct-sum.txt +++ /dev/null @@ -1,116 +0,0 @@ -byte a = 12; -byte s = sum(5,a); -byte a = a+s; -byte s2 = sum(s, a); - -byte sum(byte b1, byte b2) { - return b1+b2; -} - - -CONTROL FLOW GRAPH: - -// Not committed to a specific parameter transfer style (non SSA) -@BEGIN - (byte) a := 12 - (byte) s := call SUM 5 a - (byte§) $2 := a + s - (byte§) a := $2 - (byte) s2 := call SUM s a - to: @END -SUM: - param (byte) b1 - param (byte) b2 - (byte*) $1 := b1 + b2 - return (byte) $1 - to: - -// Not committed to a specific parameter transfer style (SSA) -@BEGIN - (byte) a#0 := 12 - (byte) s#0 := call SUM 5 a#0 - (byte§) $2 := a#0 + s#0 - (byte§) a#1 := $2 - (byte) s2#0 := call SUM s#0 a#1 - to: @END -SUM: - param (byte) b1#0 - param (byte) b2#0 - (byte*) $1 := b1#0 + b2#0 - return (byte) $1 - to: @RETURN - - -// Variable based parameter & return transfer (non SSA) -@BEGIN: - (byte) a := 12 - (byte) SUM.b2 := a - (byte) SUM.b1 := 5 - (byte) SUM.return = call SUM - to @1 -@1: from @BEGIN - (byte) s := SUM.return - (byte*) $2 := a + s - (byte*) a := a + s - (byte) SUM.b2 := a - (byte) SUM.b1 := s - (byte) SUM.return := call SUM - to: @2 -@2: from @1 - (byte) s2 := SUM.return - to: @END -SUM: from: @BEGIN, @1 - (byte§) $1 := SUM.b1 + SUM.b2 - (byte) SUM.return := $1 - return SUM.return - to: @RETURN - -// Variable based parameter transfer & return (SSA) -@BEGIN: - (byte) a#0 := 12 - (byte) SUM.b2#0 := a#0 - (byte) SUM.b1#0 := 5 - call SUM - (byte) SUM.return#0 = SUM.return#4 - to @1 -@1: from @BEGIN - (byte) SUM.return#1 = phi( @BEGIN/SUM.return#0) - (byte) a#1 = phi( @BEGIN/a#0) - (byte) s#0 := SUM.return#1 - (byte*) $2 := a#1 + s#0 - (byte*) a#2 := $2 - (byte) SUM.b2#1 := a#2 - (byte) SUM.b1#1 := s#0 - call SUM - (byte) SUM.return#2 := SUM.return#4 - to: @2 -@2: from @1 - (byte) SUM.return#3 = phi( @1/SUM.return#2) - (byte) s2#0 := SUM.return#3 - to: @END -SUM: from: @BEGIN, @1 - (byte) SUM.b1#2 := phi(@BEGIN/SUM.b1#0 @1/SUM.b1#1) - (byte) SUM.b2#2 := phi(@BEGIN/SUM.b2#0 @1/SUM.b2#1) - (byte§) $1 := SUM.b1#2 + SUM.b2#2 - (byte) SUM.return#4 := $1 - return SUM.return#4 - to: @RETURN - -// Variable based parameter transfer & return (SSA) - after optimizing -@BEGIN: - (byte) call SUM - to @1 -@1: from @BEGIN - (byte) SUM.b2#1 := a#0 + SUM.return#4 - (byte) call SUM - to: @2 -@2: from @1 - (byte) s2#0 := SUM.return#4 - to: @END -SUM: from: @BEGIN, @1 - (byte) SUM.b1#2 := phi(@BEGIN/5 @1/SUM.return#4) - (byte) SUM.b2#2 := phi(@BEGIN/12 @1/SUM.b2#1) - (byte§) $1 := SUM.b1#2 + SUM.b2#2 - (byte) SUM.return#4 := $1 - to: @RETURN - diff --git a/src/test/java/dk/camelot64/kickc/test/alias.kc b/src/test/java/dk/camelot64/kickc/test/kc/alias.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/alias.kc rename to src/test/java/dk/camelot64/kickc/test/kc/alias.kc diff --git a/src/test/java/dk/camelot64/kickc/test/array-length-mismatch.kc b/src/test/java/dk/camelot64/kickc/test/kc/array-length-mismatch.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/array-length-mismatch.kc rename to src/test/java/dk/camelot64/kickc/test/kc/array-length-mismatch.kc diff --git a/src/test/java/dk/camelot64/kickc/test/array-uninitialized.kc b/src/test/java/dk/camelot64/kickc/test/kc/array-uninitialized.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/array-uninitialized.kc rename to src/test/java/dk/camelot64/kickc/test/kc/array-uninitialized.kc diff --git a/src/test/java/dk/camelot64/kickc/test/arrays-init.kc b/src/test/java/dk/camelot64/kickc/test/kc/arrays-init.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/arrays-init.kc rename to src/test/java/dk/camelot64/kickc/test/kc/arrays-init.kc diff --git a/src/test/java/dk/camelot64/kickc/test/asm-clobber.kc b/src/test/java/dk/camelot64/kickc/test/kc/asm-clobber.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/asm-clobber.kc rename to src/test/java/dk/camelot64/kickc/test/kc/asm-clobber.kc diff --git a/src/test/java/dk/camelot64/kickc/test/assign-const.kc b/src/test/java/dk/camelot64/kickc/test/kc/assign-const.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/assign-const.kc rename to src/test/java/dk/camelot64/kickc/test/kc/assign-const.kc diff --git a/src/test/java/dk/camelot64/kickc/test/basic-floats.kc b/src/test/java/dk/camelot64/kickc/test/kc/basic-floats.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/basic-floats.kc rename to src/test/java/dk/camelot64/kickc/test/kc/basic-floats.kc diff --git a/src/test/java/dk/camelot64/kickc/test/bitmap-bresenham.kc b/src/test/java/dk/camelot64/kickc/test/kc/bitmap-bresenham.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/bitmap-bresenham.kc rename to src/test/java/dk/camelot64/kickc/test/kc/bitmap-bresenham.kc diff --git a/src/test/java/dk/camelot64/kickc/test/bitmap-plotter.kc b/src/test/java/dk/camelot64/kickc/test/kc/bitmap-plotter.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/bitmap-plotter.kc rename to src/test/java/dk/camelot64/kickc/test/kc/bitmap-plotter.kc diff --git a/src/test/java/dk/camelot64/kickc/test/bresenham.kc b/src/test/java/dk/camelot64/kickc/test/kc/bresenham.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/bresenham.kc rename to src/test/java/dk/camelot64/kickc/test/kc/bresenham.kc diff --git a/src/test/java/dk/camelot64/kickc/test/bresenhamarr.kc b/src/test/java/dk/camelot64/kickc/test/kc/bresenhamarr.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/bresenhamarr.kc rename to src/test/java/dk/camelot64/kickc/test/kc/bresenhamarr.kc diff --git a/src/test/java/dk/camelot64/kickc/test/c64.kc b/src/test/java/dk/camelot64/kickc/test/kc/c64.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/c64.kc rename to src/test/java/dk/camelot64/kickc/test/kc/c64.kc diff --git a/src/test/java/dk/camelot64/kickc/test/callconstparam.kc b/src/test/java/dk/camelot64/kickc/test/kc/callconstparam.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/callconstparam.kc rename to src/test/java/dk/camelot64/kickc/test/kc/callconstparam.kc diff --git a/src/test/java/dk/camelot64/kickc/test/callinc.kc b/src/test/java/dk/camelot64/kickc/test/kc/callinc.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/callinc.kc rename to src/test/java/dk/camelot64/kickc/test/kc/callinc.kc diff --git a/src/test/java/dk/camelot64/kickc/test/callmin.kc b/src/test/java/dk/camelot64/kickc/test/kc/callmin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/callmin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/callmin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/callsum.kc b/src/test/java/dk/camelot64/kickc/test/kc/callsum.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/callsum.kc rename to src/test/java/dk/camelot64/kickc/test/kc/callsum.kc diff --git a/src/test/java/dk/camelot64/kickc/test/casting.kc b/src/test/java/dk/camelot64/kickc/test/kc/casting.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/casting.kc rename to src/test/java/dk/camelot64/kickc/test/kc/casting.kc diff --git a/src/test/java/dk/camelot64/kickc/test/chargen.kc b/src/test/java/dk/camelot64/kickc/test/kc/chargen.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/chargen.kc rename to src/test/java/dk/camelot64/kickc/test/kc/chargen.kc diff --git a/src/test/java/dk/camelot64/kickc/test/const-identification.kc b/src/test/java/dk/camelot64/kickc/test/kc/const-identification.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/const-identification.kc rename to src/test/java/dk/camelot64/kickc/test/kc/const-identification.kc diff --git a/src/test/java/dk/camelot64/kickc/test/constabsmin.kc b/src/test/java/dk/camelot64/kickc/test/kc/constabsmin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/constabsmin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/constabsmin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/constant-string-concat.kc b/src/test/java/dk/camelot64/kickc/test/kc/constant-string-concat.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/constant-string-concat.kc rename to src/test/java/dk/camelot64/kickc/test/kc/constant-string-concat.kc diff --git a/src/test/java/dk/camelot64/kickc/test/constantmin.kc b/src/test/java/dk/camelot64/kickc/test/kc/constantmin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/constantmin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/constantmin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/constants.kc b/src/test/java/dk/camelot64/kickc/test/kc/constants.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/constants.kc rename to src/test/java/dk/camelot64/kickc/test/kc/constants.kc diff --git a/src/test/java/dk/camelot64/kickc/test/double-import.kc b/src/test/java/dk/camelot64/kickc/test/kc/double-import.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/double-import.kc rename to src/test/java/dk/camelot64/kickc/test/kc/double-import.kc diff --git a/src/test/java/dk/camelot64/kickc/test/fib.kc b/src/test/java/dk/camelot64/kickc/test/kc/fib.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/fib.kc rename to src/test/java/dk/camelot64/kickc/test/kc/fib.kc diff --git a/src/test/java/dk/camelot64/kickc/test/fib2.kc b/src/test/java/dk/camelot64/kickc/test/kc/fib2.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/fib2.kc rename to src/test/java/dk/camelot64/kickc/test/kc/fib2.kc diff --git a/src/test/java/dk/camelot64/kickc/test/fibmem.kc b/src/test/java/dk/camelot64/kickc/test/kc/fibmem.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/fibmem.kc rename to src/test/java/dk/camelot64/kickc/test/kc/fibmem.kc diff --git a/src/test/java/dk/camelot64/kickc/test/fillscreen.kc b/src/test/java/dk/camelot64/kickc/test/kc/fillscreen.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/fillscreen.kc rename to src/test/java/dk/camelot64/kickc/test/kc/fillscreen.kc diff --git a/src/test/java/dk/camelot64/kickc/test/flipper-rex2.kc b/src/test/java/dk/camelot64/kickc/test/kc/flipper-rex2.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/flipper-rex2.kc rename to src/test/java/dk/camelot64/kickc/test/kc/flipper-rex2.kc diff --git a/src/test/java/dk/camelot64/kickc/test/forclassicmin.kc b/src/test/java/dk/camelot64/kickc/test/kc/forclassicmin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/forclassicmin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/forclassicmin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/forincrementassign.kc b/src/test/java/dk/camelot64/kickc/test/kc/forincrementassign.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/forincrementassign.kc rename to src/test/java/dk/camelot64/kickc/test/kc/forincrementassign.kc diff --git a/src/test/java/dk/camelot64/kickc/test/forrangemin.kc b/src/test/java/dk/camelot64/kickc/test/kc/forrangemin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/forrangemin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/forrangemin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/forrangesymbolic.kc b/src/test/java/dk/camelot64/kickc/test/kc/forrangesymbolic.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/forrangesymbolic.kc rename to src/test/java/dk/camelot64/kickc/test/kc/forrangesymbolic.kc diff --git a/src/test/java/dk/camelot64/kickc/test/halfscii.kc b/src/test/java/dk/camelot64/kickc/test/kc/halfscii.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/halfscii.kc rename to src/test/java/dk/camelot64/kickc/test/kc/halfscii.kc diff --git a/src/test/java/dk/camelot64/kickc/test/ifmin.kc b/src/test/java/dk/camelot64/kickc/test/kc/ifmin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ifmin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/ifmin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/illegal-alignment.kc b/src/test/java/dk/camelot64/kickc/test/kc/illegal-alignment.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/illegal-alignment.kc rename to src/test/java/dk/camelot64/kickc/test/kc/illegal-alignment.kc diff --git a/src/test/java/dk/camelot64/kickc/test/illegallvalue.kc b/src/test/java/dk/camelot64/kickc/test/kc/illegallvalue.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/illegallvalue.kc rename to src/test/java/dk/camelot64/kickc/test/kc/illegallvalue.kc diff --git a/src/test/java/dk/camelot64/kickc/test/immzero.kc b/src/test/java/dk/camelot64/kickc/test/kc/immzero.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/immzero.kc rename to src/test/java/dk/camelot64/kickc/test/kc/immzero.kc diff --git a/src/test/java/dk/camelot64/kickc/test/imported.kc b/src/test/java/dk/camelot64/kickc/test/kc/imported.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/imported.kc rename to src/test/java/dk/camelot64/kickc/test/kc/imported.kc diff --git a/src/test/java/dk/camelot64/kickc/test/importing.kc b/src/test/java/dk/camelot64/kickc/test/kc/importing.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/importing.kc rename to src/test/java/dk/camelot64/kickc/test/kc/importing.kc diff --git a/src/test/java/dk/camelot64/kickc/test/incd020.kc b/src/test/java/dk/camelot64/kickc/test/kc/incd020.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/incd020.kc rename to src/test/java/dk/camelot64/kickc/test/kc/incd020.kc diff --git a/src/test/java/dk/camelot64/kickc/test/incrementinarray.kc b/src/test/java/dk/camelot64/kickc/test/kc/incrementinarray.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/incrementinarray.kc rename to src/test/java/dk/camelot64/kickc/test/kc/incrementinarray.kc diff --git a/src/test/java/dk/camelot64/kickc/test/inline-asm-param.kc b/src/test/java/dk/camelot64/kickc/test/kc/inline-asm-param.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/inline-asm-param.kc rename to src/test/java/dk/camelot64/kickc/test/kc/inline-asm-param.kc diff --git a/src/test/java/dk/camelot64/kickc/test/inline-asm.kc b/src/test/java/dk/camelot64/kickc/test/kc/inline-asm.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/inline-asm.kc rename to src/test/java/dk/camelot64/kickc/test/kc/inline-asm.kc diff --git a/src/test/java/dk/camelot64/kickc/test/inline-assignment.kc b/src/test/java/dk/camelot64/kickc/test/kc/inline-assignment.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/inline-assignment.kc rename to src/test/java/dk/camelot64/kickc/test/kc/inline-assignment.kc diff --git a/src/test/java/dk/camelot64/kickc/test/inline-string.kc b/src/test/java/dk/camelot64/kickc/test/kc/inline-string.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/inline-string.kc rename to src/test/java/dk/camelot64/kickc/test/kc/inline-string.kc diff --git a/src/test/java/dk/camelot64/kickc/test/inline-word.kc b/src/test/java/dk/camelot64/kickc/test/kc/inline-word.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/inline-word.kc rename to src/test/java/dk/camelot64/kickc/test/kc/inline-word.kc diff --git a/src/test/java/dk/camelot64/kickc/test/inlinearrayproblem.kc b/src/test/java/dk/camelot64/kickc/test/kc/inlinearrayproblem.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/inlinearrayproblem.kc rename to src/test/java/dk/camelot64/kickc/test/kc/inlinearrayproblem.kc diff --git a/src/test/java/dk/camelot64/kickc/test/inmem-const-array.kc b/src/test/java/dk/camelot64/kickc/test/kc/inmem-const-array.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/inmem-const-array.kc rename to src/test/java/dk/camelot64/kickc/test/kc/inmem-const-array.kc diff --git a/src/test/java/dk/camelot64/kickc/test/inmemarray.kc b/src/test/java/dk/camelot64/kickc/test/kc/inmemarray.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/inmemarray.kc rename to src/test/java/dk/camelot64/kickc/test/kc/inmemarray.kc diff --git a/src/test/java/dk/camelot64/kickc/test/inmemstring.kc b/src/test/java/dk/camelot64/kickc/test/kc/inmemstring.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/inmemstring.kc rename to src/test/java/dk/camelot64/kickc/test/kc/inmemstring.kc diff --git a/src/test/java/dk/camelot64/kickc/test/invalid-consttype.kc b/src/test/java/dk/camelot64/kickc/test/kc/invalid-consttype.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/invalid-consttype.kc rename to src/test/java/dk/camelot64/kickc/test/kc/invalid-consttype.kc diff --git a/src/test/java/dk/camelot64/kickc/test/iterarray.kc b/src/test/java/dk/camelot64/kickc/test/kc/iterarray.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/iterarray.kc rename to src/test/java/dk/camelot64/kickc/test/kc/iterarray.kc diff --git a/src/test/java/dk/camelot64/kickc/test/literals.kc b/src/test/java/dk/camelot64/kickc/test/kc/literals.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/literals.kc rename to src/test/java/dk/camelot64/kickc/test/kc/literals.kc diff --git a/src/test/java/dk/camelot64/kickc/test/liverange-call-problem.kc b/src/test/java/dk/camelot64/kickc/test/kc/liverange-call-problem.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/liverange-call-problem.kc rename to src/test/java/dk/camelot64/kickc/test/kc/liverange-call-problem.kc diff --git a/src/test/java/dk/camelot64/kickc/test/liverange.kc b/src/test/java/dk/camelot64/kickc/test/kc/liverange.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/liverange.kc rename to src/test/java/dk/camelot64/kickc/test/kc/liverange.kc diff --git a/src/test/java/dk/camelot64/kickc/test/local-string.kc b/src/test/java/dk/camelot64/kickc/test/kc/local-string.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/local-string.kc rename to src/test/java/dk/camelot64/kickc/test/kc/local-string.kc diff --git a/src/test/java/dk/camelot64/kickc/test/loopmin.kc b/src/test/java/dk/camelot64/kickc/test/kc/loopmin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/loopmin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/loopmin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/loopnest.kc b/src/test/java/dk/camelot64/kickc/test/kc/loopnest.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/loopnest.kc rename to src/test/java/dk/camelot64/kickc/test/kc/loopnest.kc diff --git a/src/test/java/dk/camelot64/kickc/test/loopnest2.kc b/src/test/java/dk/camelot64/kickc/test/kc/loopnest2.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/loopnest2.kc rename to src/test/java/dk/camelot64/kickc/test/kc/loopnest2.kc diff --git a/src/test/java/dk/camelot64/kickc/test/loopsplit.kc b/src/test/java/dk/camelot64/kickc/test/kc/loopsplit.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/loopsplit.kc rename to src/test/java/dk/camelot64/kickc/test/kc/loopsplit.kc diff --git a/src/test/java/dk/camelot64/kickc/test/mem-alignment.kc b/src/test/java/dk/camelot64/kickc/test/kc/mem-alignment.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/mem-alignment.kc rename to src/test/java/dk/camelot64/kickc/test/kc/mem-alignment.kc diff --git a/src/test/java/dk/camelot64/kickc/test/mem.kc b/src/test/java/dk/camelot64/kickc/test/kc/mem.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/mem.kc rename to src/test/java/dk/camelot64/kickc/test/kc/mem.kc diff --git a/src/test/java/dk/camelot64/kickc/test/memptr.kc b/src/test/java/dk/camelot64/kickc/test/kc/memptr.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/memptr.kc rename to src/test/java/dk/camelot64/kickc/test/kc/memptr.kc diff --git a/src/test/java/dk/camelot64/kickc/test/modglobal.kc b/src/test/java/dk/camelot64/kickc/test/kc/modglobal.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/modglobal.kc rename to src/test/java/dk/camelot64/kickc/test/kc/modglobal.kc diff --git a/src/test/java/dk/camelot64/kickc/test/modglobalmin.kc b/src/test/java/dk/camelot64/kickc/test/kc/modglobalmin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/modglobalmin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/modglobalmin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/multiply.kc b/src/test/java/dk/camelot64/kickc/test/kc/multiply.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/multiply.kc rename to src/test/java/dk/camelot64/kickc/test/kc/multiply.kc diff --git a/src/test/java/dk/camelot64/kickc/test/nocast.kc b/src/test/java/dk/camelot64/kickc/test/kc/nocast.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/nocast.kc rename to src/test/java/dk/camelot64/kickc/test/kc/nocast.kc diff --git a/src/test/java/dk/camelot64/kickc/test/noreturn.kc b/src/test/java/dk/camelot64/kickc/test/kc/noreturn.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/noreturn.kc rename to src/test/java/dk/camelot64/kickc/test/kc/noreturn.kc diff --git a/src/test/java/dk/camelot64/kickc/test/overlap-allocation-2.kc b/src/test/java/dk/camelot64/kickc/test/kc/overlap-allocation-2.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/overlap-allocation-2.kc rename to src/test/java/dk/camelot64/kickc/test/kc/overlap-allocation-2.kc diff --git a/src/test/java/dk/camelot64/kickc/test/overlap-allocation.kc b/src/test/java/dk/camelot64/kickc/test/kc/overlap-allocation.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/overlap-allocation.kc rename to src/test/java/dk/camelot64/kickc/test/kc/overlap-allocation.kc diff --git a/src/test/java/dk/camelot64/kickc/test/postinc.kc b/src/test/java/dk/camelot64/kickc/test/kc/postinc.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/postinc.kc rename to src/test/java/dk/camelot64/kickc/test/kc/postinc.kc diff --git a/src/test/java/dk/camelot64/kickc/test/print-problem.kc b/src/test/java/dk/camelot64/kickc/test/kc/print-problem.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/print-problem.kc rename to src/test/java/dk/camelot64/kickc/test/kc/print-problem.kc diff --git a/src/test/java/dk/camelot64/kickc/test/print.kc b/src/test/java/dk/camelot64/kickc/test/kc/print.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/print.kc rename to src/test/java/dk/camelot64/kickc/test/kc/print.kc diff --git a/src/test/java/dk/camelot64/kickc/test/printmsg.kc b/src/test/java/dk/camelot64/kickc/test/kc/printmsg.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/printmsg.kc rename to src/test/java/dk/camelot64/kickc/test/kc/printmsg.kc diff --git a/src/test/java/dk/camelot64/kickc/test/procedurenotfound.kc b/src/test/java/dk/camelot64/kickc/test/kc/procedurenotfound.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/procedurenotfound.kc rename to src/test/java/dk/camelot64/kickc/test/kc/procedurenotfound.kc diff --git a/src/test/java/dk/camelot64/kickc/test/ptr-complex.kc b/src/test/java/dk/camelot64/kickc/test/kc/ptr-complex.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ptr-complex.kc rename to src/test/java/dk/camelot64/kickc/test/kc/ptr-complex.kc diff --git a/src/test/java/dk/camelot64/kickc/test/ptrtest.kc b/src/test/java/dk/camelot64/kickc/test/kc/ptrtest.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ptrtest.kc rename to src/test/java/dk/camelot64/kickc/test/kc/ptrtest.kc diff --git a/src/test/java/dk/camelot64/kickc/test/ptrtestmin.kc b/src/test/java/dk/camelot64/kickc/test/kc/ptrtestmin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ptrtestmin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/ptrtestmin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/scroll-clobber.kc b/src/test/java/dk/camelot64/kickc/test/kc/scroll-clobber.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/scroll-clobber.kc rename to src/test/java/dk/camelot64/kickc/test/kc/scroll-clobber.kc diff --git a/src/test/java/dk/camelot64/kickc/test/scroll.kc b/src/test/java/dk/camelot64/kickc/test/kc/scroll.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/scroll.kc rename to src/test/java/dk/camelot64/kickc/test/kc/scroll.kc diff --git a/src/test/java/dk/camelot64/kickc/test/scrollbig.kc b/src/test/java/dk/camelot64/kickc/test/kc/scrollbig.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/scrollbig.kc rename to src/test/java/dk/camelot64/kickc/test/kc/scrollbig.kc diff --git a/src/test/java/dk/camelot64/kickc/test/selfassign.kc b/src/test/java/dk/camelot64/kickc/test/kc/selfassign.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/selfassign.kc rename to src/test/java/dk/camelot64/kickc/test/kc/selfassign.kc diff --git a/src/test/java/dk/camelot64/kickc/test/signed-bytes.kc b/src/test/java/dk/camelot64/kickc/test/kc/signed-bytes.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/signed-bytes.kc rename to src/test/java/dk/camelot64/kickc/test/kc/signed-bytes.kc diff --git a/src/test/java/dk/camelot64/kickc/test/signed-words.kc b/src/test/java/dk/camelot64/kickc/test/kc/signed-words.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/signed-words.kc rename to src/test/java/dk/camelot64/kickc/test/kc/signed-words.kc diff --git a/src/test/java/dk/camelot64/kickc/test/sinus-basic.kc b/src/test/java/dk/camelot64/kickc/test/kc/sinus-basic.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/sinus-basic.kc rename to src/test/java/dk/camelot64/kickc/test/kc/sinus-basic.kc diff --git a/src/test/java/dk/camelot64/kickc/test/sinus-sprites.kc b/src/test/java/dk/camelot64/kickc/test/kc/sinus-sprites.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/sinus-sprites.kc rename to src/test/java/dk/camelot64/kickc/test/kc/sinus-sprites.kc diff --git a/src/test/java/dk/camelot64/kickc/test/sprtabs.kc b/src/test/java/dk/camelot64/kickc/test/kc/sprtabs.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/sprtabs.kc rename to src/test/java/dk/camelot64/kickc/test/kc/sprtabs.kc diff --git a/src/test/java/dk/camelot64/kickc/test/stmt-outside-method.kc b/src/test/java/dk/camelot64/kickc/test/kc/stmt-outside-method.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/stmt-outside-method.kc rename to src/test/java/dk/camelot64/kickc/test/kc/stmt-outside-method.kc diff --git a/src/test/java/dk/camelot64/kickc/test/string-length-mismatch.kc b/src/test/java/dk/camelot64/kickc/test/kc/string-length-mismatch.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/string-length-mismatch.kc rename to src/test/java/dk/camelot64/kickc/test/kc/string-length-mismatch.kc diff --git a/src/test/java/dk/camelot64/kickc/test/summin.kc b/src/test/java/dk/camelot64/kickc/test/kc/summin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/summin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/summin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/test-comparisons.kc b/src/test/java/dk/camelot64/kickc/test/kc/test-comparisons.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/test-comparisons.kc rename to src/test/java/dk/camelot64/kickc/test/kc/test-comparisons.kc diff --git a/src/test/java/dk/camelot64/kickc/test/test-multiply.kc b/src/test/java/dk/camelot64/kickc/test/kc/test-multiply.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/test-multiply.kc rename to src/test/java/dk/camelot64/kickc/test/kc/test-multiply.kc diff --git a/src/test/java/dk/camelot64/kickc/test/test.kc b/src/test/java/dk/camelot64/kickc/test/kc/test.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/test.kc rename to src/test/java/dk/camelot64/kickc/test/kc/test.kc diff --git a/src/test/java/dk/camelot64/kickc/test/tofewparams.kc b/src/test/java/dk/camelot64/kickc/test/kc/tofewparams.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/tofewparams.kc rename to src/test/java/dk/camelot64/kickc/test/kc/tofewparams.kc diff --git a/src/test/java/dk/camelot64/kickc/test/tomanyparams.kc b/src/test/java/dk/camelot64/kickc/test/kc/tomanyparams.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/tomanyparams.kc rename to src/test/java/dk/camelot64/kickc/test/kc/tomanyparams.kc diff --git a/src/test/java/dk/camelot64/kickc/test/true-inline-words.kc b/src/test/java/dk/camelot64/kickc/test/kc/true-inline-words.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/true-inline-words.kc rename to src/test/java/dk/camelot64/kickc/test/kc/true-inline-words.kc diff --git a/src/test/java/dk/camelot64/kickc/test/typemismatch.kc b/src/test/java/dk/camelot64/kickc/test/kc/typemismatch.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/typemismatch.kc rename to src/test/java/dk/camelot64/kickc/test/kc/typemismatch.kc diff --git a/src/test/java/dk/camelot64/kickc/test/unused-method.kc b/src/test/java/dk/camelot64/kickc/test/kc/unused-method.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/unused-method.kc rename to src/test/java/dk/camelot64/kickc/test/kc/unused-method.kc diff --git a/src/test/java/dk/camelot64/kickc/test/unused-vars.kc b/src/test/java/dk/camelot64/kickc/test/kc/unused-vars.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/unused-vars.kc rename to src/test/java/dk/camelot64/kickc/test/kc/unused-vars.kc diff --git a/src/test/java/dk/camelot64/kickc/test/useglobal.kc b/src/test/java/dk/camelot64/kickc/test/kc/useglobal.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/useglobal.kc rename to src/test/java/dk/camelot64/kickc/test/kc/useglobal.kc diff --git a/src/test/java/dk/camelot64/kickc/test/useundeclared.kc b/src/test/java/dk/camelot64/kickc/test/kc/useundeclared.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/useundeclared.kc rename to src/test/java/dk/camelot64/kickc/test/kc/useundeclared.kc diff --git a/src/test/java/dk/camelot64/kickc/test/useuninitialized.kc b/src/test/java/dk/camelot64/kickc/test/kc/useuninitialized.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/useuninitialized.kc rename to src/test/java/dk/camelot64/kickc/test/kc/useuninitialized.kc diff --git a/src/test/java/dk/camelot64/kickc/test/valuelist-error.kc b/src/test/java/dk/camelot64/kickc/test/kc/valuelist-error.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/valuelist-error.kc rename to src/test/java/dk/camelot64/kickc/test/kc/valuelist-error.kc diff --git a/src/test/java/dk/camelot64/kickc/test/voronoi.kc b/src/test/java/dk/camelot64/kickc/test/kc/voronoi.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/voronoi.kc rename to src/test/java/dk/camelot64/kickc/test/kc/voronoi.kc diff --git a/src/test/java/dk/camelot64/kickc/test/wordexpr.kc b/src/test/java/dk/camelot64/kickc/test/kc/wordexpr.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/wordexpr.kc rename to src/test/java/dk/camelot64/kickc/test/kc/wordexpr.kc diff --git a/src/test/java/dk/camelot64/kickc/test/zpparammin.kc b/src/test/java/dk/camelot64/kickc/test/kc/zpparammin.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/zpparammin.kc rename to src/test/java/dk/camelot64/kickc/test/kc/zpparammin.kc diff --git a/src/test/java/dk/camelot64/kickc/test/zpptr.kc b/src/test/java/dk/camelot64/kickc/test/kc/zpptr.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/zpptr.kc rename to src/test/java/dk/camelot64/kickc/test/kc/zpptr.kc diff --git a/src/test/java/dk/camelot64/kickc/test/ref/arrays-init.log b/src/test/java/dk/camelot64/kickc/test/ref/arrays-init.log index 0073c386b..91c74bc41 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/arrays-init.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/arrays-init.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/arrays-init.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/arrays-init.kc byte[3] b; byte[] c = {'c', 'm', 'l'}; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/asm-clobber.log b/src/test/java/dk/camelot64/kickc/test/ref/asm-clobber.log index 59fb5c4eb..e39b53536 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/asm-clobber.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/asm-clobber.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/asm-clobber.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/asm-clobber.kc // Tests that inline ASM clobbering is taken into account when assigning registers byte* SCREEN = $0400; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log b/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log index b264fbc27..9e251e32e 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/bitmap-bresenham.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/bitmap-bresenham.kc byte* COLS = $d800; byte* BGCOL = $d020; byte* FGCOL = $d021; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log b/src/test/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log index 84591b209..4339d8bf9 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/bitmap-plotter.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/bitmap-plotter.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/bitmap-plotter.kc byte* D011 = $d011; byte RST8 = %10000000; byte ECM = %01000000; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bresenham.log b/src/test/java/dk/camelot64/kickc/test/ref/bresenham.log index 17ad7b1a5..2bd41e11e 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/bresenham.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/bresenham.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/bresenham.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/bresenham.kc byte STAR = 81; byte[40*25] SCREEN = $0400; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bresenhamarr.log b/src/test/java/dk/camelot64/kickc/test/ref/bresenhamarr.log index 59d1bef58..4c6afa9a6 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/bresenhamarr.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/bresenhamarr.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/bresenhamarr.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/bresenhamarr.kc void main() { byte STAR = 81; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/callconstparam.log b/src/test/java/dk/camelot64/kickc/test/ref/callconstparam.log index 984f6de78..5a58dda97 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/callconstparam.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/callconstparam.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/callconstparam.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/callconstparam.kc // Multiple calls with different (constant?) parameters should yield different values at runtime // Currently the same constant parameter is passed on every call. // Reason: Multiple versioned parameter constants x0#0, x0#1 are only output as a single constant in the ASM .const x0 = 0 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/casting.log b/src/test/java/dk/camelot64/kickc/test/ref/casting.log index 3a0d67de4..42dbad7b0 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/casting.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/casting.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/casting.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/casting.kc byte* SCREEN = $0400; byte* SCREEN2 = SCREEN+40*3; byte* SCREEN3 = SCREEN+40*6; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/chargen.log b/src/test/java/dk/camelot64/kickc/test/ref/chargen.log index 42f957f82..459949154 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/chargen.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/chargen.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/chargen.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/chargen.kc byte* PROCPORT = $01; byte* CHARGEN = $d000; byte* SCREEN = $0400; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/const-identification.log b/src/test/java/dk/camelot64/kickc/test/ref/const-identification.log index e84e88a55..95d5fbdfa 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/const-identification.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/const-identification.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/const-identification.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/const-identification.kc const byte* plots = $1000; const byte* SCREEN = $0400; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/constabsmin.log b/src/test/java/dk/camelot64/kickc/test/ref/constabsmin.log index 4aace1890..71025945c 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/constabsmin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/constabsmin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/constabsmin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/constabsmin.kc const byte* SCREEN = $0400; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/constant-string-concat.log b/src/test/java/dk/camelot64/kickc/test/ref/constant-string-concat.log index 2af31a3cd..bad77c0d5 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/constant-string-concat.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/constant-string-concat.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/constant-string-concat.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/constant-string-concat.kc // Concatenates string constants in different ways void main() { byte[] s = "e"+"l"; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/constantmin.log b/src/test/java/dk/camelot64/kickc/test/ref/constantmin.log index 9a67bfeb5..84fbb8dcb 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/constantmin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/constantmin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/constantmin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/constantmin.kc const byte* SCREEN = $0400; const byte STAR = 81; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/constants.log b/src/test/java/dk/camelot64/kickc/test/ref/constants.log index 58049bbb8..0a2ad8777 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/constants.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/constants.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/constants.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/constants.kc import "print.kc" const byte* BGCOL = $d021; const byte GREEN = 5; @@ -60,7 +60,7 @@ void assert_sbyte(byte* msg, signed byte b, signed byte c) { } Importing print.kc -PARSING src/test/java/dk/camelot64/kickc/test/print.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc byte* line_cursor = $0400; byte* char_cursor = line_cursor; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/double-import.log b/src/test/java/dk/camelot64/kickc/test/ref/double-import.log index f5a60a6c5..ec2180a64 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/double-import.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/double-import.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/double-import.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/double-import.kc import "imported" import "imported" @@ -6,7 +6,7 @@ void main() { *BGCOL = RED; } Importing imported -PARSING src/test/java/dk/camelot64/kickc/test/imported.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/imported.kc const byte *BGCOL = $d021; const byte RED = 2; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/fibmem.log b/src/test/java/dk/camelot64/kickc/test/ref/fibmem.log index 67ef93299..c54024a14 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/fibmem.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/fibmem.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/fibmem.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/fibmem.kc byte[15] fibs = $1100; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/fillscreen.log b/src/test/java/dk/camelot64/kickc/test/ref/fillscreen.log index 305925292..ede459df4 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/fillscreen.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/fillscreen.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/fillscreen.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/fillscreen.kc byte *SCREEN = $0400; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/flipper-rex2.log b/src/test/java/dk/camelot64/kickc/test/ref/flipper-rex2.log index 7da824457..974c95073 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/flipper-rex2.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/flipper-rex2.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/flipper-rex2.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/flipper-rex2.kc byte[16*16] buffer1; byte[16*16] buffer2; byte *RASTER = $d012; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/forclassicmin.log b/src/test/java/dk/camelot64/kickc/test/ref/forclassicmin.log index 48d324962..7d3d38c2e 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/forclassicmin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/forclassicmin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/forclassicmin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/forclassicmin.kc // Minimal classic for() loop diff --git a/src/test/java/dk/camelot64/kickc/test/ref/forincrementassign.log b/src/test/java/dk/camelot64/kickc/test/ref/forincrementassign.log index 1f55893ac..809a6167f 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/forincrementassign.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/forincrementassign.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/forincrementassign.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/forincrementassign.kc // Classic for() does not allow assignment as increment, eg. for(byte i=0;i<40;i=i+2) {} // The following should give a program rendering a char on every second char of the first line - but results in a syntax error diff --git a/src/test/java/dk/camelot64/kickc/test/ref/forrangemin.log b/src/test/java/dk/camelot64/kickc/test/ref/forrangemin.log index e6dba37e9..3027200c8 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/forrangemin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/forrangemin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/forrangemin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/forrangemin.kc // Minimal range based for() loop diff --git a/src/test/java/dk/camelot64/kickc/test/ref/halfscii.log b/src/test/java/dk/camelot64/kickc/test/ref/halfscii.log index eb7294b68..1cb5b6018 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/halfscii.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/halfscii.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/halfscii.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/halfscii.kc byte* SCREEN = $0400; byte* CHARSET = $2000; byte* CHARGEN = $D000; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/ifmin.log b/src/test/java/dk/camelot64/kickc/test/ref/ifmin.log index d411f84d8..315f59e75 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/ifmin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/ifmin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/ifmin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/ifmin.kc // Minimal if() test byte* SCREEN = $0400; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/immzero.log b/src/test/java/dk/camelot64/kickc/test/ref/immzero.log index 8023432f9..f437a89b7 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/immzero.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/immzero.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/immzero.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/immzero.kc // Tests that immediate zero values are reused - even when assigning to words void main() { byte i = 0; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/importing.log b/src/test/java/dk/camelot64/kickc/test/ref/importing.log index 075b944c5..3728bb662 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/importing.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/importing.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/importing.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/importing.kc import "imported.kc" void main() { @@ -7,7 +7,7 @@ void main() { *BGCOL = RED; } Importing imported.kc -PARSING src/test/java/dk/camelot64/kickc/test/imported.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/imported.kc const byte *BGCOL = $d021; const byte RED = 2; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/incd020.log b/src/test/java/dk/camelot64/kickc/test/ref/incd020.log index 5274d573c..ccc867d2d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/incd020.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/incd020.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/incd020.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/incd020.kc // Incrementing / decrementing pointer content should result in code modifying the memory location - eg. inc $d020. // Currently it does not but instead leads to just reading the value a few times. diff --git a/src/test/java/dk/camelot64/kickc/test/ref/incrementinarray.log b/src/test/java/dk/camelot64/kickc/test/ref/incrementinarray.log index 7f4c45d65..fe63c3564 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/incrementinarray.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/incrementinarray.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/incrementinarray.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/incrementinarray.kc import "print.kc" byte[] txt = "camelot@"; @@ -13,7 +13,7 @@ void main() { } Importing print.kc -PARSING src/test/java/dk/camelot64/kickc/test/print.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc byte* line_cursor = $0400; byte* char_cursor = line_cursor; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/inline-asm.log b/src/test/java/dk/camelot64/kickc/test/ref/inline-asm.log index 13e965557..19d17e76d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/inline-asm.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/inline-asm.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/inline-asm.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/inline-asm.kc void main() { asm { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/inline-assignment.log b/src/test/java/dk/camelot64/kickc/test/ref/inline-assignment.log index 7b792363a..05e45bd89 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/inline-assignment.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/inline-assignment.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/inline-assignment.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/inline-assignment.kc const byte* SCREEN = $400; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/inline-string.log b/src/test/java/dk/camelot64/kickc/test/ref/inline-string.log index 7d87d0390..9178565c5 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/inline-string.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/inline-string.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/inline-string.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/inline-string.kc // Inline Strings in method calls are automatically converted to local constant variables byte[] st = "..."; - generating an ASM .text). byte[] msg1 = "message 1 @"; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/inline-word.log b/src/test/java/dk/camelot64/kickc/test/ref/inline-word.log index 679262438..ded33a8e4 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/inline-word.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/inline-word.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/inline-word.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/inline-word.kc const byte* SCREEN = $400; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/inlinearrayproblem.log b/src/test/java/dk/camelot64/kickc/test/ref/inlinearrayproblem.log index 8bed5995e..3c1cb8540 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/inlinearrayproblem.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/inlinearrayproblem.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/inlinearrayproblem.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/inlinearrayproblem.kc // Arrays / strings allocated inline destroy functions (because they are allocated where the call enters. // The following places the text at the start of the main-function - and JSR's straight into the text - not the code. diff --git a/src/test/java/dk/camelot64/kickc/test/ref/inmem-const-array.log b/src/test/java/dk/camelot64/kickc/test/ref/inmem-const-array.log index 88aa0f2dc..e620da4a6 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/inmem-const-array.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/inmem-const-array.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/inmem-const-array.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/inmem-const-array.kc byte WHITE = 1; byte RED = 2; byte GREEN = 5; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/inmemarray.log b/src/test/java/dk/camelot64/kickc/test/ref/inmemarray.log index f5fcfdb69..daf30f93a 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/inmemarray.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/inmemarray.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/inmemarray.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/inmemarray.kc byte* SCREEN = $0400; byte[] TXT = { 3, 1, 13, 5, 12, 15, 20, 32}; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/inmemstring.log b/src/test/java/dk/camelot64/kickc/test/ref/inmemstring.log index b74cd02cb..47aee33d9 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/inmemstring.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/inmemstring.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/inmemstring.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/inmemstring.kc byte* SCREEN = $0400; byte[] TEXT = "camelot "; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/iterarray.log b/src/test/java/dk/camelot64/kickc/test/ref/iterarray.log index 1273c3acb..b5cc56944 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/iterarray.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/iterarray.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/iterarray.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/iterarray.kc void main() { byte[16] buf = $1100; byte i = 5; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/literals.log b/src/test/java/dk/camelot64/kickc/test/ref/literals.log index 69279022b..707d9acba 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/literals.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/literals.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/literals.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/literals.kc byte* SCREEN = $0400; byte char = 'a'; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/liverange-call-problem.log b/src/test/java/dk/camelot64/kickc/test/ref/liverange-call-problem.log index a139e1a9a..88c427035 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/liverange-call-problem.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/liverange-call-problem.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/liverange-call-problem.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/liverange-call-problem.kc // Live ranges were not functioning properly, when multiple method calls were chained - each modifying different vars. // w1 and w2 ended up having the same zero-page register as their live range was not propagated properly diff --git a/src/test/java/dk/camelot64/kickc/test/ref/liverange.log b/src/test/java/dk/camelot64/kickc/test/ref/liverange.log index b52617e62..d7c130d00 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/liverange.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/liverange.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/liverange.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/liverange.kc byte i=0; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/local-string.log b/src/test/java/dk/camelot64/kickc/test/ref/local-string.log index 2efcf3364..419729931 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/local-string.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/local-string.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/local-string.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/local-string.kc // Local constant strings are placed at the start of the method. This means the generated ASM jumps / calls straignt into the constant string void main() { byte* screen = $0400; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/loopmin.log b/src/test/java/dk/camelot64/kickc/test/ref/loopmin.log index ce8e25831..8edebbf95 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/loopmin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/loopmin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/loopmin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/loopmin.kc void main() { byte i=10; byte s=0; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/loopnest.log b/src/test/java/dk/camelot64/kickc/test/ref/loopnest.log index cb8e23a30..5d1cb8dd4 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/loopnest.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/loopnest.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/loopnest.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/loopnest.kc byte* SCREEN = $0400; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/loopnest2.log b/src/test/java/dk/camelot64/kickc/test/ref/loopnest2.log index ae4d10011..eabbefb39 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/loopnest2.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/loopnest2.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/loopnest2.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/loopnest2.kc byte* SCREEN = $0400; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/loopsplit.log b/src/test/java/dk/camelot64/kickc/test/ref/loopsplit.log index 1cebe8d9f..be04fa9f1 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/loopsplit.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/loopsplit.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/loopsplit.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/loopsplit.kc void main() { byte i=100; byte s=0; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/mem-alignment.log b/src/test/java/dk/camelot64/kickc/test/ref/mem-alignment.log index eda6f1481..3ebc98230 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/mem-alignment.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/mem-alignment.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/mem-alignment.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/mem-alignment.kc // Test that memory alignment of arrays work byte[$100] align($100) bs; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/modglobal.log b/src/test/java/dk/camelot64/kickc/test/ref/modglobal.log index e027a4c7a..62854078e 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/modglobal.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/modglobal.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/modglobal.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/modglobal.kc byte cnt = 0; byte cnt2 = 0; byte cnt3 = 0; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/modglobalmin.log b/src/test/java/dk/camelot64/kickc/test/ref/modglobalmin.log index 64c28b190..3d144bdab 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/modglobalmin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/modglobalmin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/modglobalmin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/modglobalmin.kc byte cnt = 0; byte[256] SCREEN=$0400; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation-2.log b/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation-2.log index beeadb424..b5ce5e9c2 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation-2.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation-2.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/overlap-allocation-2.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/overlap-allocation-2.kc // Two levels of functions to test that register allocation handles live ranges and call-ranges optimally to allocate the fewest possible ZP-variables byte* SCREEN = $0400; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation.log b/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation.log index 5289240da..bdbc80c63 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/overlap-allocation.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/overlap-allocation.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/overlap-allocation.kc // Allocates ZP to j/k-variables even though all of i, j, k could be allocates to x and be more efficient. // Reason: Pass4RegisterUpliftCombinations.isAllocationOverlapping() believes i/j/k variables overlaps insode plot() byte* SCREEN = $0400; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/print-problem.log b/src/test/java/dk/camelot64/kickc/test/ref/print-problem.log index 5ecf43d89..30a6b5c0d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/print-problem.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/print-problem.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/print-problem.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/print-problem.kc byte* SCREEN= $400; byte line = $40; byte char = line; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/printmsg.log b/src/test/java/dk/camelot64/kickc/test/ref/printmsg.log index 736700865..5179753ca 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/printmsg.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/printmsg.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/printmsg.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/printmsg.kc import "print" byte[] msg = "hello world! @"; @@ -15,7 +15,7 @@ void main() { } Importing print -PARSING src/test/java/dk/camelot64/kickc/test/print.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc byte* line_cursor = $0400; byte* char_cursor = line_cursor; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/ptr-complex.log b/src/test/java/dk/camelot64/kickc/test/ref/ptr-complex.log index cdb224900..3af23e9f7 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/ptr-complex.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/ptr-complex.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/ptr-complex.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/ptr-complex.kc // Test some complex pointers void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/ptrtest.log b/src/test/java/dk/camelot64/kickc/test/ref/ptrtest.log index 1f14d1117..c37ff5299 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/ptrtest.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/ptrtest.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/ptrtest.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/ptrtest.kc // Test all types of pointers void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/ptrtestmin.log b/src/test/java/dk/camelot64/kickc/test/ref/ptrtestmin.log index 61d94c392..db201f34c 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/ptrtestmin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/ptrtestmin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/ptrtestmin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/ptrtestmin.kc // Test all types of pointers void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scroll-clobber.log b/src/test/java/dk/camelot64/kickc/test/ref/scroll-clobber.log index 7b9dc44d4..9dd57fe25 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/scroll-clobber.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/scroll-clobber.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/scroll-clobber.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/scroll-clobber.kc byte* SCREEN = $0400; byte* SCROLL = $d016; byte[] TEXT = "01234567@"; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scroll.log b/src/test/java/dk/camelot64/kickc/test/ref/scroll.log index c7f0ddc0c..c1c8e7d74 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/scroll.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/scroll.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/scroll.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/scroll.kc byte* SCREEN = $0400; byte* RASTER = $d012; byte* BGCOL = $d020; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log b/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log index cc1a02e2b..a13a60e7d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/scrollbig.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/scrollbig.kc // An 8x8 char letter scroller byte* PROCPORT = $01; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.log b/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.log index 4930ff9c7..12d6db6cb 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/signed-bytes.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/signed-bytes.kc void main() { byte* screen = $0400; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/signed-words.log b/src/test/java/dk/camelot64/kickc/test/ref/signed-words.log index 426cf7a75..0729daaa2 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/signed-words.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/signed-words.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/signed-words.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/signed-words.kc import "c64" const byte* SCREEN = $0400; @@ -73,7 +73,7 @@ void anim() { } Importing c64 -PARSING src/test/java/dk/camelot64/kickc/test/c64.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/c64.kc const byte* PROCPORT = $01; const byte* CHARGEN = $d000; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-basic.log b/src/test/java/dk/camelot64/kickc/test/ref/sinus-basic.log index fe9121431..d80728bae 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinus-basic.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinus-basic.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/sinus-basic.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/sinus-basic.kc import "print" import "basic-floats" @@ -24,7 +24,7 @@ void main() { } Importing print -PARSING src/test/java/dk/camelot64/kickc/test/print.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc byte* line_cursor = $0400; byte* char_cursor = line_cursor; @@ -95,7 +95,7 @@ Adding pre/post-modifier (byte*) print_str::str ← ++ (byte*) print_str::str Adding pre/post-modifier (byte*) char_cursor ← ++ (byte*) char_cursor Adding pre/post-modifier (byte*) print_cls::sc ← ++ (byte*) print_cls::sc Importing basic-floats -PARSING src/test/java/dk/camelot64/kickc/test/basic-floats.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/basic-floats.kc // Library wrapping the BASIC floating point functions // See https://www.c64-wiki.com/wiki/Floating_point_arithmetic // See http://www.pagetable.com/c64rom/c64rom_sc.html diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log index 0a0037538..9f079011d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/sinus-sprites.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/sinus-sprites.kc import "c64" import "basic-floats" import "print" @@ -216,7 +216,7 @@ void gen_sintab(byte* sintab, byte length, byte min, byte max) { } Importing c64 -PARSING src/test/java/dk/camelot64/kickc/test/c64.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/c64.kc const byte* PROCPORT = $01; const byte* CHARGEN = $d000; @@ -244,7 +244,7 @@ const byte WHITE = 1; const byte RED = 2; Importing basic-floats -PARSING src/test/java/dk/camelot64/kickc/test/basic-floats.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/basic-floats.kc // Library wrapping the BASIC floating point functions // See https://www.c64-wiki.com/wiki/Floating_point_arithmetic // See http://www.pagetable.com/c64rom/c64rom_sc.html @@ -523,7 +523,7 @@ void mulFACby10() { } Importing print -PARSING src/test/java/dk/camelot64/kickc/test/print.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc byte* line_cursor = $0400; byte* char_cursor = line_cursor; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/summin.log b/src/test/java/dk/camelot64/kickc/test/ref/summin.log index ecc50079f..44134e4f7 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/summin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/summin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/summin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/summin.kc byte* screen = $0400; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/test-comparisons.log b/src/test/java/dk/camelot64/kickc/test/ref/test-comparisons.log index 06986f7a8..c008489e2 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/test-comparisons.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/test-comparisons.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/test-comparisons.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/test-comparisons.kc import "print.kc" void main() { @@ -51,7 +51,7 @@ void printu(byte a, byte[] op, byte b, byte res) { } Importing print.kc -PARSING src/test/java/dk/camelot64/kickc/test/print.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc byte* line_cursor = $0400; byte* char_cursor = line_cursor; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.log b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.log index 597a19d83..0e3832bdb 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/test-multiply.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/test-multiply.kc // Implementation of the Seriously Fast Multiplication // See http://codebase64.org/doku.php?id=base:seriously_fast_multiplication // Utilizes the fact that a*b = ((a+b)/2)^2 - ((a-b)/2)^2 @@ -182,7 +182,7 @@ void signed_multiply_error(signed byte a, signed byte b, signed word ms, signed } Importing print.kc -PARSING src/test/java/dk/camelot64/kickc/test/print.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc byte* line_cursor = $0400; byte* char_cursor = line_cursor; @@ -253,7 +253,7 @@ Adding pre/post-modifier (byte*) print_str::str ← ++ (byte*) print_str::str Adding pre/post-modifier (byte*) char_cursor ← ++ (byte*) char_cursor Adding pre/post-modifier (byte*) print_cls::sc ← ++ (byte*) print_cls::sc Importing multiply.kc -PARSING src/test/java/dk/camelot64/kickc/test/multiply.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/multiply.kc // Library Implementation of the Seriously Fast Multiplication // See http://codebase64.org/doku.php?id=base:seriously_fast_multiplication // Utilizes the fact that a*b = ((a+b)/2)^2 - ((a-b)/2)^2 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/true-inline-words.log b/src/test/java/dk/camelot64/kickc/test/ref/true-inline-words.log index c3eb15a8c..4d5a676a9 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/true-inline-words.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/true-inline-words.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/true-inline-words.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/true-inline-words.kc void main() { byte[] bs = { 'c', 'm' }; // constant byte array diff --git a/src/test/java/dk/camelot64/kickc/test/ref/unused-method.log b/src/test/java/dk/camelot64/kickc/test/ref/unused-method.log index 5ca66b6b5..32e9e2024 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/unused-method.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/unused-method.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/unused-method.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/unused-method.kc void main() { byte* screen = $0400; screen[0] = 1; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/unused-vars.log b/src/test/java/dk/camelot64/kickc/test/ref/unused-vars.log index b4808e910..de4aea347 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/unused-vars.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/unused-vars.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/unused-vars.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/unused-vars.kc // used vars const byte* SCREEN = $0400; byte b=2>>1; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/useglobal.log b/src/test/java/dk/camelot64/kickc/test/ref/useglobal.log index 5e867960d..fde6055a8 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/useglobal.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/useglobal.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/useglobal.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/useglobal.kc // Tests procedures using global variables (should not fail) byte* SCREEN = $0400; void main() { diff --git a/src/test/java/dk/camelot64/kickc/test/ref/voronoi.log b/src/test/java/dk/camelot64/kickc/test/ref/voronoi.log index 556037244..e86da0922 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/voronoi.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/voronoi.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/voronoi.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/voronoi.kc // The screen byte *SCREEN = $0400; byte *COLORS = $D800; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/wordexpr.log b/src/test/java/dk/camelot64/kickc/test/ref/wordexpr.log index ac9264672..e4fd9d872 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/wordexpr.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/wordexpr.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/wordexpr.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/wordexpr.kc // Expressions based on bytes but resulting in words are as words - eg. b = b + 40*8; void main() { word b = 0; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/zpparammin.log b/src/test/java/dk/camelot64/kickc/test/ref/zpparammin.log index 126fbb8b8..3fca1da6a 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/zpparammin.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/zpparammin.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/zpparammin.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/zpparammin.kc byte* SCREEN = $0400; byte* SCREEN2 = $0400+40; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/zpptr.log b/src/test/java/dk/camelot64/kickc/test/ref/zpptr.log index 104f06aba..eb25198f5 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/zpptr.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/zpptr.log @@ -1,4 +1,4 @@ -PARSING src/test/java/dk/camelot64/kickc/test/zpptr.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/zpptr.kc void main() { byte* zpptr = $1000; for(byte j : 0..10) {