1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-04-08 14:37:40 +00:00

Added ISR for VIC20 and Plus/4. Re-arranged example programs into platform folders.

This commit is contained in:
jespergravgaard 2021-01-16 18:39:02 +01:00
parent 9681fe8f86
commit 7bbfb43912
228 changed files with 7513 additions and 7096 deletions

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 12f875813f 12f8759f70
//KICKC FRAGMENT CACHE 12318fec4b 1231900a7c
//FRAGMENT vbuz1=vbuc1
lda #{c1}
sta {z1}

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 12f875813f 12f8759f70
//KICKC FRAGMENT CACHE 12318fec4b 1231900a7c
//FRAGMENT _deref_pbuc1=vbuc2
lda #{c2}
sta {c1}

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 12f875813f 12f8759f70
//KICKC FRAGMENT CACHE 12318fec4b 1231900a7c
//FRAGMENT vbuz1=vbuc1
lda #{c1}
sta {z1}

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
//KICKC FRAGMENT CACHE 12f875813f 12f8759f70
//KICKC FRAGMENT CACHE 12318fec4b 1231900a7c
//FRAGMENT _deref_pbuc1=_inc__deref_pbuc1
inc {c1}
//FRAGMENT isr_hardware_all_entry

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
jmp $fcc3

View File

@ -0,0 +1 @@
jmp $eb18

View File

@ -0,0 +1 @@
jmp $ce0e

View File

@ -0,0 +1 @@
jmp $eabf

View File

@ -460,28 +460,28 @@ public class TestPrograms {
@Test
public void testCx16VeraLayers() throws IOException, URISyntaxException {
compileAndCompare("examples/cx16/veralayers.c");
compileAndCompare("examples/cx16/cx16-veralayers.c");
}
@Test
public void testCx16TileMap() throws IOException, URISyntaxException {
compileAndCompare("examples/cx16/tilemap.c");
compileAndCompare("examples/cx16/cx16-tilemap.c");
}
@Test
public void testCx16Sprites() throws IOException, URISyntaxException {
compileAndCompare("examples/cx16/sprites.c");
compileAndCompare("examples/cx16/cx16-sprites.c");
}
@Test
public void testCx16Text() throws IOException, URISyntaxException {
compileAndCompare("examples/cx16/text.c");
compileAndCompare("examples/cx16/cx16-text.c");
}
@Test
public void testCx16Rasterbars() throws IOException, URISyntaxException {
compileAndCompare("examples/cx16/rasterbars.c");
compileAndCompare("examples/cx16/cx16-rasterbars.c");
}
@Test
@ -556,17 +556,17 @@ public class TestPrograms {
@Test
public void testAtariXlConioTest() throws IOException, URISyntaxException {
compileAndCompare("examples/atarixl/conio-test.c");
compileAndCompare("examples/atarixl/atarixl-conio.c");
}
@Test
public void testAtariXlRasterbars() throws IOException, URISyntaxException {
compileAndCompare("examples/atarixl/rasterbars.c");
compileAndCompare("examples/atarixl/atarixl-rasterbars.c");
}
@Test
public void testAtariXlHello() throws IOException, URISyntaxException {
compileAndCompare("examples/atarixl/helloxl.c");
compileAndCompare("examples/atarixl/atarixl-hello.c");
}
@Test
@ -621,7 +621,7 @@ public class TestPrograms {
@Test
public void testPlus4Walk() throws IOException, URISyntaxException {
compileAndCompare("examples/plus4walk/plus4walk.c");
compileAndCompare("examples/plus4/plus4-randomwalk.c");
}
@Test
@ -1169,12 +1169,12 @@ public class TestPrograms {
@Test
public void testKernalLoad() throws IOException, URISyntaxException {
compileAndCompare("examples/kernalload/kernalload.c");
compileAndCompare("examples/c64/kernalload/kernalload.c");
}
@Test
public void testKrillLoad() throws IOException, URISyntaxException {
compileAndCompare("examples/krillload/krillload.c");
compileAndCompare("examples/c64/krillload/krillload.c");
}
@Test
@ -1348,7 +1348,7 @@ public class TestPrograms {
@Test
public void testZpCode() throws IOException, URISyntaxException {
compileAndCompare("examples/zpcode/zpcode.c");
compileAndCompare("examples/c64/zpcode/zpcode.c");
}
// Fix parameter type problem - https://gitlab.com/camelot/kickc/issues/299
@ -1594,12 +1594,12 @@ public class TestPrograms {
@Test
public void testLinking() throws IOException, URISyntaxException {
compileAndCompare("examples/linking/linking.c");
compileAndCompare("examples/c64/linking/linking.c");
}
@Test
public void testNmiSamples() throws IOException, URISyntaxException {
compileAndCompare("examples/nmisamples/nmisamples.c");
compileAndCompare("examples/c64/nmisamples/nmisamples.c");
}
@Test
@ -3078,12 +3078,12 @@ public class TestPrograms {
@Test
public void testFire() throws IOException, URISyntaxException {
compileAndCompare("examples/fire/fire.c");
compileAndCompare("examples/c64/fire/fire.c");
}
@Test
public void testFont2x2() throws IOException, URISyntaxException {
compileAndCompare("examples/font-2x2/font-2x2.c");
compileAndCompare("examples/c64/font-2x2/font-2x2.c");
}
@Test
@ -3098,12 +3098,12 @@ public class TestPrograms {
@Test
public void testPlasmaUnroll() throws IOException, URISyntaxException {
compileAndCompare("examples/plasma/plasma-unroll.c");
compileAndCompare("examples/c64/plasma/plasma-unroll.c");
}
@Test
public void testPlasma() throws IOException, URISyntaxException {
compileAndCompare("examples/plasma/plasma.c");
compileAndCompare("examples/c64/plasma/plasma.c");
}
// TODO: Fix bool auto-conversion type conversion https://gitlab.com/camelot/kickc/issues/199
@ -3321,22 +3321,22 @@ public class TestPrograms {
@Test
public void testMusicIrq() throws IOException, URISyntaxException {
compileAndCompare("examples/music/music_irq.c");
compileAndCompare("examples/c64/music/music_irq.c");
}
@Test
public void testCrunchingExomizer() throws IOException, URISyntaxException {
compileAndCompare("examples/crunching/test-exomizer.c");
compileAndCompare("examples/c64/crunching/test-exomizer.c");
}
@Test
public void testCrunchingByteboozer() throws IOException, URISyntaxException {
compileAndCompare("examples/crunching/test-byteboozer.c");
compileAndCompare("examples/c64/crunching/test-byteboozer.c");
}
@Test
public void testMusic() throws IOException, URISyntaxException {
compileAndCompare("examples/music/music.c");
compileAndCompare("examples/c64/music/music.c");
}
@Test
@ -3651,17 +3651,17 @@ public class TestPrograms {
@Test
public void testFastMultiply8() throws IOException, URISyntaxException {
compileAndCompare("examples/fastmultiply/fastmultiply8.c");
compileAndCompare("examples/c64/fastmultiply/fastmultiply8.c");
}
@Test
public void test3DPerspective() throws IOException, URISyntaxException {
compileAndCompare("examples/3d/perspective.c");
compileAndCompare("examples/c64/3d/perspective.c");
}
@Test
public void test3D() throws IOException, URISyntaxException {
compileAndCompare("examples/3d/3d.c");
compileAndCompare("examples/c64/3d/3d.c");
}
@Test
@ -3671,7 +3671,7 @@ public class TestPrograms {
@Test
public void testRotate() throws IOException, URISyntaxException {
compileAndCompare("examples/rotate/rotate.c");
compileAndCompare("examples/c64/rotate/rotate.c");
}
@Test
@ -3781,7 +3781,7 @@ public class TestPrograms {
@Test
public void testIrqHyperscreen() throws IOException, URISyntaxException {
compileAndCompare("examples/irq/irq-hyperscreen.c");
compileAndCompare("examples/c64/irq/irq-hyperscreen.c");
}
@Test
@ -3806,7 +3806,7 @@ public class TestPrograms {
@Test
public void testMultiplexer() throws IOException, URISyntaxException {
compileAndCompare("examples/multiplexer/simple-multiplexer.c", 10);
compileAndCompare("examples/c64/multiplexer/simple-multiplexer.c", 10);
}
@Test
@ -3836,17 +3836,17 @@ public class TestPrograms {
@Test
public void testSinePlotter() throws IOException, URISyntaxException {
compileAndCompare("examples/sinplotter/sine-plotter.c");
compileAndCompare("examples/c64/sinplotter/sine-plotter.c");
}
@Test
public void testScrollLogo() throws IOException, URISyntaxException {
compileAndCompare("examples/scrolllogo/scrolllogo.c");
compileAndCompare("examples/c64/scrolllogo/scrolllogo.c");
}
@Test
public void testShowLogo() throws IOException, URISyntaxException {
compileAndCompare("examples/showlogo/showlogo.c");
compileAndCompare("examples/c64/showlogo/showlogo.c");
}
@Test
@ -4081,7 +4081,7 @@ public class TestPrograms {
@Test
public void testChargenAnalysis() throws IOException, URISyntaxException {
compileAndCompare("examples/chargen/chargen-analysis.c");
compileAndCompare("examples/c64/chargen/chargen-analysis.c");
}
@Test
@ -4221,7 +4221,7 @@ public class TestPrograms {
@Test
public void testRasterBars() throws IOException, URISyntaxException {
compileAndCompare("examples/rasterbars/raster-bars.c");
compileAndCompare("examples/c64/rasterbars/raster-bars.c");
}
@Test
@ -4321,7 +4321,7 @@ public class TestPrograms {
@Test
public void testSinusSprites() throws IOException, URISyntaxException {
compileAndCompare("examples/sinsprites/sinus-sprites.c");
compileAndCompare("examples/c64/sinsprites/sinus-sprites.c");
}
@Test
@ -4426,7 +4426,7 @@ public class TestPrograms {
@Test
public void testScrollBig() throws IOException, URISyntaxException {
compileAndCompare("examples/scrollbig/scrollbig.c");
compileAndCompare("examples/c64/scrollbig/scrollbig.c");
}
@Test
@ -4456,7 +4456,7 @@ public class TestPrograms {
@Test
public void testBitmapBresenham() throws IOException, URISyntaxException {
compileAndCompare("examples/bresenham/bitmap-bresenham.c");
compileAndCompare("examples/c64/bresenham/bitmap-bresenham.c");
}
@Test
@ -4502,7 +4502,7 @@ public class TestPrograms {
@Test
public void testScroll() throws IOException, URISyntaxException {
compileAndCompare("examples/scroll/scroll.c");
compileAndCompare("examples/c64/scroll/scroll.c");
}
@Test

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -4,8 +4,8 @@
//
// This is a recursive solution
#include<stdio.h>
#include<tod.h>
#include <stdio.h>
#include <conio.h>
#define QUEENS 8
#define PRINT_SOLUTIONS
@ -20,9 +20,8 @@ void main() {
clrscr();
printf(" - n queens problem using backtracking -");
printf("\nnumber of queens:%u",QUEENS);
tod_init(TOD_ZERO);
queen(1);
printf("\n\nsolutions: %lu time: %s.\n",count,tod_str(tod_read()));
printf("\n\nsolutions: %lu.\n",count);
}
// Generates all valid placements of queens on a NxN board recursively

View File

@ -2,7 +2,7 @@
// Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="conio-test.xex", type="bin", segments="XexFile"]
.file [name="atarixl-conio.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=__start]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]

View File

@ -4875,7 +4875,7 @@ ASSEMBLER BEFORE OPTIMIZATION
// Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="conio-test.xex", type="bin", segments="XexFile"]
.file [name="atarixl-conio.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=__start]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]
@ -6937,7 +6937,7 @@ Score: 162868
// Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="conio-test.xex", type="bin", segments="XexFile"]
.file [name="atarixl-conio.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=__start]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]

View File

@ -5,7 +5,7 @@
// Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="helloxl.xex", type="bin", segments="XexFile"]
.file [name="atarixl-hello.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=main]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]

View File

@ -134,7 +134,7 @@ ASSEMBLER BEFORE OPTIMIZATION
// Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="helloxl.xex", type="bin", segments="XexFile"]
.file [name="atarixl-hello.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=main]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]
@ -226,7 +226,7 @@ Score: 48
// Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="helloxl.xex", type="bin", segments="XexFile"]
.file [name="atarixl-hello.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=main]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]

View File

@ -2,7 +2,7 @@
// Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="rasterbars.xex", type="bin", segments="XexFile"]
.file [name="atarixl-rasterbars.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=main]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]

View File

@ -303,7 +303,7 @@ ASSEMBLER BEFORE OPTIMIZATION
// Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="rasterbars.xex", type="bin", segments="XexFile"]
.file [name="atarixl-rasterbars.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=main]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]
@ -498,7 +498,7 @@ Score: 3634
// Atari XL/XE executable XEX file with a single segment
// https://www.atarimax.com/jindroush.atari.org/afmtexe.html
.plugin "dk.camelot64.kickass.xexplugin.AtariXex"
.file [name="rasterbars.xex", type="bin", segments="XexFile"]
.file [name="atarixl-rasterbars.xex", type="bin", segments="XexFile"]
.segmentdef XexFile [segments="Program", modify="XexFormat", _RunAddr=main]
.segmentdef Program [segments="Code, Data"]
.segmentdef Code [start=$2000]

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