From 32d224589a7f9a120fe24ddd5a05a913a6150cdf Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Mon, 1 Oct 2018 01:14:59 +0200 Subject: [PATCH] Added kickc.sh executor and examples of kickc code to release. --- .gitlab-ci.yml | 3 +- src/main/assembly/assembly.xml | 15 ++++ .../test/kc => main/kc/stdlib}/bitmap-draw.kc | 0 .../test/kc => main/kc/stdlib}/bitmap2.kc | 0 .../test/kc => main/kc/stdlib}/memory.kc | 0 src/main/script/kickc.sh | 12 +++ .../camelot64/kickc/test/ReferenceHelper.java | 18 ++++- .../dk/camelot64/kickc/test/TestPrograms.java | 55 ++++++++----- .../bresenham}/bitmap-bresenham.kc | 0 .../chargen}/chargen-analysis.kc | 0 .../{ => examples/helloworld}/helloworld.kc | 0 .../kc/{ => examples/irq}/irq-hyperscreen.kc | 0 .../kc/{ => examples/multiplexer}/balloon.png | Bin .../kc/{ => examples/multiplexer}/balloon.pxi | Bin .../multiplexer}/simple-multiplexer.kc | 0 .../{ => examples/rasterbars}/raster-bars.kc | 0 .../test/kc/{ => examples/scroll}/scroll.kc | 0 .../kc/{ => examples/scrollbig}/scrollbig.kc | 0 .../kc/{ => examples/scrolllogo}/logo.png | Bin .../{ => examples/scrolllogo}/scrolllogo.kc | 1 - .../kickc/test/kc/examples/showlogo/logo.png | Bin 0 -> 5962 bytes .../kc/{ => examples/showlogo}/showlogo.kc | 1 - .../{ => examples/sinplotter}/sine-plotter.kc | 0 .../sinsprites}/sinus-sprites.kc | 0 .../bresenham}/bitmap-bresenham.asm | 0 .../bresenham}/bitmap-bresenham.cfg | 0 .../bresenham}/bitmap-bresenham.log | 0 .../bresenham}/bitmap-bresenham.sym | 0 .../chargen}/chargen-analysis.asm | 0 .../chargen}/chargen-analysis.cfg | 0 .../chargen}/chargen-analysis.log | 0 .../chargen}/chargen-analysis.sym | 0 .../{ => examples/helloworld}/helloworld.asm | 0 .../{ => examples/helloworld}/helloworld.cfg | 0 .../{ => examples/helloworld}/helloworld.log | 0 .../{ => examples/helloworld}/helloworld.sym | 0 .../{ => examples/irq}/irq-hyperscreen.asm | 0 .../{ => examples/irq}/irq-hyperscreen.cfg | 0 .../{ => examples/irq}/irq-hyperscreen.log | 0 .../{ => examples/irq}/irq-hyperscreen.sym | 0 .../multiplexer}/simple-multiplexer.asm | 0 .../multiplexer}/simple-multiplexer.cfg | 0 .../multiplexer}/simple-multiplexer.log | 0 .../multiplexer}/simple-multiplexer.sym | 0 .../{ => examples/rasterbars}/raster-bars.asm | 0 .../{ => examples/rasterbars}/raster-bars.cfg | 0 .../{ => examples/rasterbars}/raster-bars.log | 0 .../{ => examples/rasterbars}/raster-bars.sym | 0 .../test/ref/{ => examples/scroll}/scroll.asm | 0 .../test/ref/{ => examples/scroll}/scroll.cfg | 0 .../test/ref/{ => examples/scroll}/scroll.log | 0 .../test/ref/{ => examples/scroll}/scroll.sym | 0 .../{ => examples/scrollbig}/scrollbig.asm | 0 .../{ => examples/scrollbig}/scrollbig.cfg | 0 .../{ => examples/scrollbig}/scrollbig.log | 0 .../{ => examples/scrollbig}/scrollbig.sym | 0 .../{ => examples/scrolllogo}/scrolllogo.asm | 3 +- .../{ => examples/scrolllogo}/scrolllogo.cfg | 3 +- .../{ => examples/scrolllogo}/scrolllogo.log | 21 ++--- .../{ => examples/scrolllogo}/scrolllogo.sym | 0 .../ref/{ => examples/showlogo}/showlogo.asm | 3 +- .../ref/{ => examples/showlogo}/showlogo.cfg | 3 +- .../ref/{ => examples/showlogo}/showlogo.log | 21 ++--- .../test/ref/examples/showlogo/showlogo.sym | 73 ++++++++++++++++++ .../sinplotter}/sine-plotter.asm | 0 .../sinplotter}/sine-plotter.cfg | 0 .../sinplotter}/sine-plotter.log | 0 .../sinplotter}/sine-plotter.sym | 0 .../sinsprites}/sinus-sprites.asm | 0 .../sinsprites}/sinus-sprites.cfg | 0 .../sinsprites}/sinus-sprites.log | 0 .../sinsprites}/sinus-sprites.sym | 0 72 files changed, 173 insertions(+), 59 deletions(-) rename src/{test/java/dk/camelot64/kickc/test/kc => main/kc/stdlib}/bitmap-draw.kc (100%) rename src/{test/java/dk/camelot64/kickc/test/kc => main/kc/stdlib}/bitmap2.kc (100%) rename src/{test/java/dk/camelot64/kickc/test/kc => main/kc/stdlib}/memory.kc (100%) create mode 100755 src/main/script/kickc.sh rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/bresenham}/bitmap-bresenham.kc (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/chargen}/chargen-analysis.kc (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/helloworld}/helloworld.kc (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/irq}/irq-hyperscreen.kc (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/multiplexer}/balloon.png (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/multiplexer}/balloon.pxi (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/multiplexer}/simple-multiplexer.kc (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/rasterbars}/raster-bars.kc (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/scroll}/scroll.kc (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/scrollbig}/scrollbig.kc (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/scrolllogo}/logo.png (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/scrolllogo}/scrolllogo.kc (99%) create mode 100644 src/test/java/dk/camelot64/kickc/test/kc/examples/showlogo/logo.png rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/showlogo}/showlogo.kc (98%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/sinplotter}/sine-plotter.kc (100%) rename src/test/java/dk/camelot64/kickc/test/kc/{ => examples/sinsprites}/sinus-sprites.kc (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/bresenham}/bitmap-bresenham.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/bresenham}/bitmap-bresenham.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/bresenham}/bitmap-bresenham.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/bresenham}/bitmap-bresenham.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/chargen}/chargen-analysis.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/chargen}/chargen-analysis.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/chargen}/chargen-analysis.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/chargen}/chargen-analysis.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/helloworld}/helloworld.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/helloworld}/helloworld.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/helloworld}/helloworld.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/helloworld}/helloworld.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/irq}/irq-hyperscreen.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/irq}/irq-hyperscreen.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/irq}/irq-hyperscreen.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/irq}/irq-hyperscreen.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/multiplexer}/simple-multiplexer.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/multiplexer}/simple-multiplexer.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/multiplexer}/simple-multiplexer.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/multiplexer}/simple-multiplexer.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/rasterbars}/raster-bars.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/rasterbars}/raster-bars.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/rasterbars}/raster-bars.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/rasterbars}/raster-bars.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scroll}/scroll.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scroll}/scroll.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scroll}/scroll.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scroll}/scroll.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scrollbig}/scrollbig.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scrollbig}/scrollbig.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scrollbig}/scrollbig.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scrollbig}/scrollbig.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scrolllogo}/scrolllogo.asm (99%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scrolllogo}/scrolllogo.cfg (99%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scrolllogo}/scrolllogo.log (99%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/scrolllogo}/scrolllogo.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/showlogo}/showlogo.asm (94%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/showlogo}/showlogo.cfg (96%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/showlogo}/showlogo.log (97%) create mode 100644 src/test/java/dk/camelot64/kickc/test/ref/examples/showlogo/showlogo.sym rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/sinplotter}/sine-plotter.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/sinplotter}/sine-plotter.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/sinplotter}/sine-plotter.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/sinplotter}/sine-plotter.sym (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/sinsprites}/sinus-sprites.asm (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/sinsprites}/sinus-sprites.cfg (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/sinsprites}/sinus-sprites.log (100%) rename src/test/java/dk/camelot64/kickc/test/ref/{ => examples/sinsprites}/sinus-sprites.sym (100%) 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 0000000000000000000000000000000000000000..54a81b2019aad8c84de2b96ba6a4017d249768fd GIT binary patch literal 5962 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 literal 0 HcmV?d00001 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