diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1e4be6bc2..97ddc30c5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,9 +11,10 @@ release: artifacts: name: kickc_${CI_BUILD_REF_NAME} paths: + - ./bin - ./lib - ./stdlib + - ./examples - ./LICENSE* - ./NOTICE* - ./*.pdf - diff --git a/src/main/assembly/assembly.xml b/src/main/assembly/assembly.xml index b8bc96ce9..af14168bb 100644 --- a/src/main/assembly/assembly.xml +++ b/src/main/assembly/assembly.xml @@ -18,6 +18,14 @@ *.kc + + src/test/java/dk/camelot64/kickc/test/kc/examples + examples + + */*.kc + */*.png + + src/main/doc @@ -25,6 +33,13 @@ *.pdf + + src/main/script + bin + + *.sh + + ${project.build.directory} lib diff --git a/src/test/java/dk/camelot64/kickc/test/kc/bitmap-draw.kc b/src/main/kc/stdlib/bitmap-draw.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/bitmap-draw.kc rename to src/main/kc/stdlib/bitmap-draw.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/bitmap2.kc b/src/main/kc/stdlib/bitmap2.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/bitmap2.kc rename to src/main/kc/stdlib/bitmap2.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/memory.kc b/src/main/kc/stdlib/memory.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/memory.kc rename to src/main/kc/stdlib/memory.kc diff --git a/src/main/script/kickc.sh b/src/main/script/kickc.sh new file mode 100755 index 000000000..e7afa44ea --- /dev/null +++ b/src/main/script/kickc.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# JAVA HOME +# KICKC HOME +export KICKC_HOME="$(dirname $0)/.." +# KCLIB HOME +export KICKCLIB_HOME="$KICKC_HOME/stdlib" +# KICKASSEMBLER HOME +# VICE HOME + +echo java -jar lib/kickc-0.5-SNAPSHOT.jar -I $KICKCLIB_HOME $* +java -jar lib/kickc-0.5-SNAPSHOT.jar -I $KICKCLIB_HOME $* \ No newline at end of file diff --git a/src/test/java/dk/camelot64/kickc/test/ReferenceHelper.java b/src/test/java/dk/camelot64/kickc/test/ReferenceHelper.java index 8d657638f..c66bd2dea 100644 --- a/src/test/java/dk/camelot64/kickc/test/ReferenceHelper.java +++ b/src/test/java/dk/camelot64/kickc/test/ReferenceHelper.java @@ -106,7 +106,23 @@ public class ReferenceHelper { } public File getTmpFile(String fileName, String extension) { - return new File(tempDir.toFile(), fileName + extension); + File file = new File(tempDir.toFile(), fileName + extension); + mkPath(file); + return file; } + /** + * Ensures that the path to the passed file is created. + * @param file The file to create a path for + */ + private void mkPath(File file) { + Path parent = file.toPath().getParent(); + File dir = parent.toFile(); + if(!dir.exists()) { + mkPath(dir); + dir.mkdir(); + } + } + + } diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 516c1210d..1a7610c2d 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -115,7 +115,7 @@ public class TestPrograms { @Test public void testIrqHyperscreen() throws IOException, URISyntaxException { - compileAndCompare("irq-hyperscreen"); + compileAndCompare("examples/irq/irq-hyperscreen"); } @Test @@ -140,7 +140,7 @@ public class TestPrograms { @Test public void testMultiplexer() throws IOException, URISyntaxException { - compileAndCompare("simple-multiplexer", 10); + compileAndCompare("examples/multiplexer/simple-multiplexer", 10); } @Test @@ -165,17 +165,17 @@ public class TestPrograms { @Test public void testSinePlotter() throws IOException, URISyntaxException { - compileAndCompare("sine-plotter"); + compileAndCompare("examples/sinplotter/sine-plotter"); } @Test public void testScrollLogo() throws IOException, URISyntaxException { - compileAndCompare("scrolllogo"); + compileAndCompare("examples/scrolllogo/scrolllogo"); } @Test public void testShowLogo() throws IOException, URISyntaxException { - compileAndCompare("showlogo"); + compileAndCompare("examples/showlogo/showlogo"); } @Test @@ -250,7 +250,7 @@ public class TestPrograms { @Test public void testHelloWorld() throws IOException, URISyntaxException { - compileAndCompare("helloworld"); + compileAndCompare("examples/helloworld/helloworld"); } @Test @@ -280,7 +280,7 @@ public class TestPrograms { @Test public void testVarForwardProblem() throws IOException, URISyntaxException { - compileAndCompare("var-forward-problem"); + compileAndCompare("var-forward-problem"); } @Test @@ -375,7 +375,7 @@ public class TestPrograms { @Test public void testChargenAnalysis() throws IOException, URISyntaxException { - compileAndCompare("chargen-analysis"); + compileAndCompare("examples/chargen/chargen-analysis"); } @Test @@ -485,7 +485,7 @@ public class TestPrograms { @Test public void testRasterBars() throws IOException, URISyntaxException { - compileAndCompare("raster-bars"); + compileAndCompare("examples/rasterbars/raster-bars"); } @Test @@ -555,7 +555,7 @@ public class TestPrograms { @Test public void testSinusSprites() throws IOException, URISyntaxException { - compileAndCompare("sinus-sprites"); + compileAndCompare("examples/sinsprites/sinus-sprites"); } @Test @@ -650,7 +650,7 @@ public class TestPrograms { @Test public void testScrollBig() throws IOException, URISyntaxException { - compileAndCompare("scrollbig"); + compileAndCompare("examples/scrollbig/scrollbig"); } @Test @@ -675,7 +675,7 @@ public class TestPrograms { @Test public void testBitmapBresenham() throws IOException, URISyntaxException { - compileAndCompare("bitmap-bresenham"); + compileAndCompare("examples/bresenham/bitmap-bresenham"); } @Test @@ -725,7 +725,7 @@ public class TestPrograms { @Test public void testScroll() throws IOException, URISyntaxException { - compileAndCompare("scroll"); + compileAndCompare("examples/scroll/scroll"); } @Test @@ -1025,7 +1025,7 @@ public class TestPrograms { Compiler compiler = new Compiler(); compiler.addImportPath(stdlibPath); compiler.addImportPath(testPath); - if(upliftCombinations!=null) { + if(upliftCombinations != null) { compiler.setUpliftCombinations(upliftCombinations); } Program program = compiler.compile(fileName); @@ -1047,9 +1047,12 @@ public class TestPrograms { private void compileAsm(String fileName, Program program) throws IOException { writeBinFile(fileName, ".asm", program.getAsm().toString(false)); for(Path asmResourceFile : program.getAsmResourceFiles()) { - File binFile = getBinFile(asmResourceFile.getFileName().toString()); + File asmFile = getBinFile(fileName, ".asm"); + String asmFolder = asmFile.getParent(); + File resFile = new File(asmFolder, asmResourceFile.getFileName().toString()); + mkPath(resFile); try { - Files.copy(asmResourceFile, binFile.toPath()); + Files.copy(asmResourceFile, resFile.toPath()); } catch(FileAlreadyExistsException e) { // Ignore this } @@ -1080,11 +1083,23 @@ public class TestPrograms { } public File getBinFile(String fileName, String extension) { - return new File(getBinDir(), fileName + extension); + File binFile = new File(getBinDir(), fileName + extension); + mkPath(binFile); + return binFile; } - public File getBinFile(String fileName) { - return new File(getBinDir(), fileName); +*/ + /** + * Ensures that the path to the passed file is created. + * @param file The file to create a path for + */ + private void mkPath(File file) { + Path parent = file.toPath().getParent(); + File dir = parent.toFile(); + if(!dir.exists()) { + mkPath(dir); + dir.mkdir(); + } } public File getBinDir() { @@ -1092,10 +1107,8 @@ public class TestPrograms { File binDir = new File(tempDir.toFile(), "bin"); if(!binDir.exists()) { binDir.mkdir(); - } return binDir; } -*/ } \ No newline at end of file diff --git a/src/test/java/dk/camelot64/kickc/test/kc/bitmap-bresenham.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/bresenham/bitmap-bresenham.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/bitmap-bresenham.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/bresenham/bitmap-bresenham.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/chargen-analysis.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/chargen/chargen-analysis.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/chargen-analysis.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/chargen/chargen-analysis.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/helloworld.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/helloworld/helloworld.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/helloworld.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/helloworld/helloworld.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/irq-hyperscreen.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/irq/irq-hyperscreen.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/irq-hyperscreen.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/irq/irq-hyperscreen.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/balloon.png b/src/test/java/dk/camelot64/kickc/test/kc/examples/multiplexer/balloon.png similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/balloon.png rename to src/test/java/dk/camelot64/kickc/test/kc/examples/multiplexer/balloon.png diff --git a/src/test/java/dk/camelot64/kickc/test/kc/balloon.pxi b/src/test/java/dk/camelot64/kickc/test/kc/examples/multiplexer/balloon.pxi similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/balloon.pxi rename to src/test/java/dk/camelot64/kickc/test/kc/examples/multiplexer/balloon.pxi diff --git a/src/test/java/dk/camelot64/kickc/test/kc/simple-multiplexer.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/multiplexer/simple-multiplexer.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/simple-multiplexer.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/multiplexer/simple-multiplexer.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/raster-bars.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/rasterbars/raster-bars.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/raster-bars.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/rasterbars/raster-bars.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/scroll.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/scroll/scroll.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/scroll.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/scroll/scroll.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/scrollbig.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/scrollbig/scrollbig.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/scrollbig.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/scrollbig/scrollbig.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/logo.png b/src/test/java/dk/camelot64/kickc/test/kc/examples/scrolllogo/logo.png similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/logo.png rename to src/test/java/dk/camelot64/kickc/test/kc/examples/scrolllogo/logo.png diff --git a/src/test/java/dk/camelot64/kickc/test/kc/scrolllogo.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/scrolllogo/scrolllogo.kc similarity index 99% rename from src/test/java/dk/camelot64/kickc/test/kc/scrolllogo.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/scrolllogo/scrolllogo.kc index baf1ce0ad..99b17be7f 100644 --- a/src/test/java/dk/camelot64/kickc/test/kc/scrolllogo.kc +++ b/src/test/java/dk/camelot64/kickc/test/kc/examples/scrolllogo/scrolllogo.kc @@ -5,7 +5,6 @@ import "memory.kc" byte* SCREEN = $400; byte* LOGO = $2000; kickasm(resource "logo.png", pc LOGO, bytes 6*40*8) {{ - logo: .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) diff --git a/src/test/java/dk/camelot64/kickc/test/kc/examples/showlogo/logo.png b/src/test/java/dk/camelot64/kickc/test/kc/examples/showlogo/logo.png new file mode 100644 index 000000000..54a81b201 Binary files /dev/null and b/src/test/java/dk/camelot64/kickc/test/kc/examples/showlogo/logo.png differ diff --git a/src/test/java/dk/camelot64/kickc/test/kc/showlogo.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/showlogo/showlogo.kc similarity index 98% rename from src/test/java/dk/camelot64/kickc/test/kc/showlogo.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/showlogo/showlogo.kc index d65bb2d15..cc1fe8940 100644 --- a/src/test/java/dk/camelot64/kickc/test/kc/showlogo.kc +++ b/src/test/java/dk/camelot64/kickc/test/kc/examples/showlogo/showlogo.kc @@ -4,7 +4,6 @@ byte* SCREEN = $400; byte* LOGO = $2000; kickasm(resource "logo.png", pc LOGO, bytes 6*40*8 ) {{ - logo: .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) diff --git a/src/test/java/dk/camelot64/kickc/test/kc/sine-plotter.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/sinplotter/sine-plotter.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/sine-plotter.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/sinplotter/sine-plotter.kc diff --git a/src/test/java/dk/camelot64/kickc/test/kc/sinus-sprites.kc b/src/test/java/dk/camelot64/kickc/test/kc/examples/sinsprites/sinus-sprites.kc similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/kc/sinus-sprites.kc rename to src/test/java/dk/camelot64/kickc/test/kc/examples/sinsprites/sinus-sprites.kc diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/bresenham/bitmap-bresenham.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/bresenham/bitmap-bresenham.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/bresenham/bitmap-bresenham.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/bresenham/bitmap-bresenham.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/bresenham/bitmap-bresenham.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/bresenham/bitmap-bresenham.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/bresenham/bitmap-bresenham.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/bresenham/bitmap-bresenham.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/chargen/chargen-analysis.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/chargen/chargen-analysis.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/chargen/chargen-analysis.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/chargen/chargen-analysis.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/chargen/chargen-analysis.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/chargen/chargen-analysis.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/chargen/chargen-analysis.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/chargen/chargen-analysis.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/helloworld.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/helloworld/helloworld.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/helloworld.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/helloworld/helloworld.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/helloworld.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/helloworld/helloworld.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/helloworld.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/helloworld/helloworld.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/helloworld.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/helloworld/helloworld.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/helloworld.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/helloworld/helloworld.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/helloworld.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/helloworld/helloworld.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/helloworld.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/helloworld/helloworld.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/irq-hyperscreen.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/irq/irq-hyperscreen.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/irq-hyperscreen.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/irq/irq-hyperscreen.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/irq-hyperscreen.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/irq/irq-hyperscreen.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/irq-hyperscreen.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/irq/irq-hyperscreen.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/irq-hyperscreen.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/irq/irq-hyperscreen.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/irq-hyperscreen.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/irq/irq-hyperscreen.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/irq-hyperscreen.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/irq/irq-hyperscreen.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/irq-hyperscreen.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/irq/irq-hyperscreen.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/simple-multiplexer.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/multiplexer/simple-multiplexer.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/simple-multiplexer.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/multiplexer/simple-multiplexer.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/simple-multiplexer.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/multiplexer/simple-multiplexer.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/simple-multiplexer.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/multiplexer/simple-multiplexer.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/simple-multiplexer.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/multiplexer/simple-multiplexer.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/simple-multiplexer.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/multiplexer/simple-multiplexer.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/simple-multiplexer.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/multiplexer/simple-multiplexer.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/simple-multiplexer.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/multiplexer/simple-multiplexer.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/raster-bars.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/rasterbars/raster-bars.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/raster-bars.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/rasterbars/raster-bars.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/raster-bars.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/rasterbars/raster-bars.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/raster-bars.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/rasterbars/raster-bars.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/raster-bars.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/rasterbars/raster-bars.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/raster-bars.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/rasterbars/raster-bars.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/raster-bars.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/rasterbars/raster-bars.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/raster-bars.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/rasterbars/raster-bars.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scroll.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/scroll/scroll.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/scroll.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scroll/scroll.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scroll.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/scroll/scroll.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/scroll.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scroll/scroll.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scroll.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/scroll/scroll.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/scroll.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scroll/scroll.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scroll.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/scroll/scroll.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/scroll.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scroll/scroll.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrollbig/scrollbig.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/scrollbig.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scrollbig/scrollbig.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrollbig/scrollbig.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/scrollbig.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scrollbig/scrollbig.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrollbig/scrollbig.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/scrollbig.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scrollbig/scrollbig.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrollbig.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrollbig/scrollbig.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/scrollbig.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scrollbig/scrollbig.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.asm similarity index 99% rename from src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.asm index 4bc18cc9b..44cda7ef2 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.asm @@ -712,8 +712,7 @@ fill: { .align $100 xsin: .fill 2*XSIN_SIZE, 0 .pc = LOGO "Inline" - logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.cfg similarity index 99% rename from src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.cfg index 5274a7d50..c94c324d0 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.cfg @@ -2,8 +2,7 @@ [0] phi() [ ] ( ) to:@24 @24: scope:[] from @begin - kickasm(location (const byte*) LOGO#0) {{ logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.log similarity index 99% rename from src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.log index 7077d3fd4..7855b49a3 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.log @@ -505,8 +505,7 @@ fill::@return: scope:[fill] from fill::@1 (byte*) LOGO#0 ← ((byte*)) (word/signed word/dword/signed dword) 8192 (byte/word/signed word/dword/signed dword~) $0 ← (byte/signed byte/word/signed word/dword/signed dword) 6 * (byte/signed byte/word/signed word/dword/signed dword) 40 (byte/signed word/word/dword/signed dword~) $1 ← (byte/word/signed word/dword/signed dword~) $0 * (byte/signed byte/word/signed word/dword/signed dword) 8 - kickasm(location (byte*) LOGO#0) {{ logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + kickasm(location (byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) @@ -2745,8 +2744,7 @@ FINAL CONTROL FLOW GRAPH [0] phi() [ ] ( ) to:@24 @24: scope:[] from @begin - kickasm(location (const byte*) LOGO#0) {{ logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) @@ -3743,7 +3741,7 @@ bbegin: jmp b24 //SEG3 @24 b24: -//SEG4 kickasm(location (const byte*) LOGO#0) {{ logo: .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} +//SEG4 kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} //SEG5 [2] phi from @24 to @27 [phi:@24->@27] b27_from_b24: jmp b27 @@ -5379,8 +5377,7 @@ fill: { .align $100 xsin: .fill 2*XSIN_SIZE, 0 .pc = LOGO "Inline" - logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) @@ -5886,7 +5883,7 @@ bbegin: jmp b24 //SEG3 @24 b24: -//SEG4 kickasm(location (const byte*) LOGO#0) {{ logo: .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} +//SEG4 kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} //SEG5 [2] phi from @24 to @27 [phi:@24->@27] b27_from_b24: jmp b27 @@ -7254,8 +7251,7 @@ fill: { .align $100 xsin: .fill 2*XSIN_SIZE, 0 .pc = LOGO "Inline" - logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) @@ -7969,7 +7965,7 @@ Score: 41393 .label xsin_idx = 2 //SEG2 @begin //SEG3 @24 -//SEG4 kickasm(location (const byte*) LOGO#0) {{ logo: .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} +//SEG4 kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} //SEG5 [2] phi from @24 to @27 [phi:@24->@27] //SEG6 @27 //SEG7 [3] call main [ ] ( ) @@ -9107,8 +9103,7 @@ fill: { .align $100 xsin: .fill 2*XSIN_SIZE, 0 .pc = LOGO "Inline" - logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) diff --git a/src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/scrolllogo.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/scrolllogo/scrolllogo.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/showlogo.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.asm similarity index 94% rename from src/test/java/dk/camelot64/kickc/test/ref/showlogo.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.asm index 78d200fe0..e7d13e29a 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/showlogo.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.asm @@ -89,8 +89,7 @@ fill: { rts } .pc = LOGO "Inline" - logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) diff --git a/src/test/java/dk/camelot64/kickc/test/ref/showlogo.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.cfg similarity index 96% rename from src/test/java/dk/camelot64/kickc/test/ref/showlogo.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.cfg index 310f28ad8..d7d7dff70 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/showlogo.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.cfg @@ -2,8 +2,7 @@ [0] phi() [ ] ( ) to:@3 @3: scope:[] from @begin - kickasm(location (const byte*) LOGO#0) {{ logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) diff --git a/src/test/java/dk/camelot64/kickc/test/ref/showlogo.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.log similarity index 97% rename from src/test/java/dk/camelot64/kickc/test/ref/showlogo.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.log index 3c8aa8f5b..f23cdbba4 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/showlogo.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.log @@ -21,8 +21,7 @@ CONTROL FLOW GRAPH SSA (byte*) LOGO#0 ← ((byte*)) (word/signed word/dword/signed dword) 8192 (byte/word/signed word/dword/signed dword~) $0 ← (byte/signed byte/word/signed word/dword/signed dword) 6 * (byte/signed byte/word/signed word/dword/signed dword) 40 (byte/signed word/word/dword/signed dword~) $1 ← (byte/word/signed word/dword/signed dword~) $0 * (byte/signed byte/word/signed word/dword/signed dword) 8 - kickasm(location (byte*) LOGO#0) {{ logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + kickasm(location (byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) @@ -398,8 +397,7 @@ FINAL CONTROL FLOW GRAPH [0] phi() [ ] ( ) to:@3 @3: scope:[] from @begin - kickasm(location (const byte*) LOGO#0) {{ logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) @@ -544,7 +542,7 @@ bbegin: jmp b3 //SEG3 @3 b3: -//SEG4 kickasm(location (const byte*) LOGO#0) {{ logo: .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} +//SEG4 kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} //SEG5 [2] phi from @3 to @5 [phi:@3->@5] b5_from_b3: jmp b5 @@ -701,8 +699,7 @@ fill: { rts } .pc = LOGO "Inline" - logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) @@ -773,7 +770,7 @@ bbegin: jmp b3 //SEG3 @3 b3: -//SEG4 kickasm(location (const byte*) LOGO#0) {{ logo: .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} +//SEG4 kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} //SEG5 [2] phi from @3 to @5 [phi:@3->@5] b5_from_b3: jmp b5 @@ -923,8 +920,7 @@ fill: { rts } .pc = LOGO "Inline" - logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) @@ -1071,7 +1067,7 @@ Score: 3578 .label LOGO = $2000 //SEG2 @begin //SEG3 @3 -//SEG4 kickasm(location (const byte*) LOGO#0) {{ logo: .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} +//SEG4 kickasm(location (const byte*) LOGO#0) {{ .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) .byte logoPic.getMulticolorByte(x,cp+y*8) }} //SEG5 [2] phi from @3 to @5 [phi:@3->@5] //SEG6 @5 //SEG7 [3] call main [ ] ( ) @@ -1194,8 +1190,7 @@ fill: { rts } .pc = LOGO "Inline" - logo: - .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) + .var logoPic = LoadPicture("logo.png", List().add($444444, $808080, $000000, $ffffff)) .for (var y=0; y<6 ; y++) .for (var x=0;x<40; x++) .for(var cp=0; cp<8; cp++) diff --git a/src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.sym new file mode 100644 index 000000000..86684380e --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.sym @@ -0,0 +1,73 @@ +(label) @3 +(label) @5 +(label) @begin +(label) @end +(byte*) BGCOL +(const byte*) BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) 53281 +(byte*) BGCOL2 +(const byte*) BGCOL2#0 BGCOL2 = ((byte*))(word/dword/signed dword) 53282 +(byte*) BGCOL3 +(const byte*) BGCOL3#0 BGCOL3 = ((byte*))(word/dword/signed dword) 53283 +(byte) BLACK +(const byte) BLACK#0 BLACK = (byte/signed byte/word/signed word/dword/signed dword) 0 +(byte*) BORDERCOL +(const byte*) BORDERCOL#0 BORDERCOL = ((byte*))(word/dword/signed dword) 53280 +(byte*) COLS +(const byte*) COLS#0 COLS = ((byte*))(word/dword/signed dword) 55296 +(byte*) D016 +(const byte*) D016#0 D016 = ((byte*))(word/dword/signed dword) 53270 +(byte*) D018 +(const byte*) D018#0 D018 = ((byte*))(word/dword/signed dword) 53272 +(byte) DARK_GREY +(const byte) DARK_GREY#0 DARK_GREY = (byte/signed byte/word/signed word/dword/signed dword) 11 +(byte*) LOGO +(const byte*) LOGO#0 LOGO = ((byte*))(word/signed word/dword/signed dword) 8192 +(byte*) SCREEN +(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024 +(byte) VIC_CSEL +(const byte) VIC_CSEL#0 VIC_CSEL = (byte/signed byte/word/signed word/dword/signed dword) 8 +(byte) VIC_MCM +(const byte) VIC_MCM#0 VIC_MCM = (byte/signed byte/word/signed word/dword/signed dword) 16 +(byte) WHITE +(const byte) WHITE#0 WHITE = (byte/signed byte/word/signed word/dword/signed dword) 1 +(void()) fill((byte*) fill::start , (word) fill::size , (byte) fill::val) +(label) fill::@1 +(label) fill::@return +(byte*) fill::addr +(byte*) fill::addr#0 addr zp ZP_WORD:4 2.0 +(byte*) fill::addr#1 addr zp ZP_WORD:4 16.5 +(byte*) fill::addr#2 addr zp ZP_WORD:4 17.5 +(byte*) fill::end +(byte*) fill::end#0 end zp ZP_WORD:2 2.6 +(word) fill::size +(word) fill::size#2 size zp ZP_WORD:2 2.0 +(byte*) fill::start +(byte) fill::val +(byte) fill::val#3 reg byte x 1.8333333333333333 +(void()) main() +(label) main::@1 +(label) main::@10 +(label) main::@3 +(label) main::@9 +(byte) main::ch +(byte) main::ch#1 reg byte x 16.5 +(byte) main::ch#2 reg byte x 22.0 +(label) main::toD0181 +(word~) main::toD0181_$0 +(word~) main::toD0181_$1 +(word~) main::toD0181_$2 +(byte~) main::toD0181_$3 +(word~) main::toD0181_$4 +(byte~) main::toD0181_$5 +(byte~) main::toD0181_$6 +(byte~) main::toD0181_$7 +(byte~) main::toD0181_$8 +(byte*) main::toD0181_gfx +(byte) main::toD0181_return +(const byte) main::toD0181_return#0 toD0181_return = >((word))(const byte*) SCREEN#0&(word/signed word/dword/signed dword) 16383<<(byte/signed byte/word/signed word/dword/signed dword) 2|>((word))(const byte*) LOGO#0>>(byte/signed byte/word/signed word/dword/signed dword) 2&(byte/signed byte/word/signed word/dword/signed dword) 15 +(byte*) main::toD0181_screen + +reg byte x [ main::ch#2 main::ch#1 ] +zp ZP_WORD:2 [ fill::size#2 fill::end#0 ] +reg byte x [ fill::val#3 ] +zp ZP_WORD:4 [ fill::addr#2 fill::addr#0 fill::addr#1 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sine-plotter.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/sinplotter/sine-plotter.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/sine-plotter.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/sinplotter/sine-plotter.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sine-plotter.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/sinplotter/sine-plotter.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/sine-plotter.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/sinplotter/sine-plotter.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sine-plotter.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/sinplotter/sine-plotter.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/sine-plotter.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/sinplotter/sine-plotter.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sine-plotter.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/sinplotter/sine-plotter.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/sine-plotter.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/sinplotter/sine-plotter.sym diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.asm b/src/test/java/dk/camelot64/kickc/test/ref/examples/sinsprites/sinus-sprites.asm similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.asm rename to src/test/java/dk/camelot64/kickc/test/ref/examples/sinsprites/sinus-sprites.asm diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.cfg b/src/test/java/dk/camelot64/kickc/test/ref/examples/sinsprites/sinus-sprites.cfg similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.cfg rename to src/test/java/dk/camelot64/kickc/test/ref/examples/sinsprites/sinus-sprites.cfg diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log b/src/test/java/dk/camelot64/kickc/test/ref/examples/sinsprites/sinus-sprites.log similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.log rename to src/test/java/dk/camelot64/kickc/test/ref/examples/sinsprites/sinus-sprites.log diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.sym b/src/test/java/dk/camelot64/kickc/test/ref/examples/sinsprites/sinus-sprites.sym similarity index 100% rename from src/test/java/dk/camelot64/kickc/test/ref/sinus-sprites.sym rename to src/test/java/dk/camelot64/kickc/test/ref/examples/sinsprites/sinus-sprites.sym