1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-24 14:31:15 +00:00

Added #pragma keyword. Closes #250

This commit is contained in:
jespergravgaard 2019-08-08 21:49:18 +02:00
parent ab28c25528
commit 31a3bd9078
9 changed files with 14 additions and 14 deletions

View File

@ -1,15 +1,15 @@
// Tests encoding of literal chars // Tests encoding of literal chars
#encoding(petscii_mixed) #pragma encoding(petscii_mixed)
const char cpm = 'A'; const char cpm = 'A';
const char[] spm = "A"; const char[] spm = "A";
#encoding(petscii_upper) #pragma encoding(petscii_upper)
const char cpu = 'A'; const char cpu = 'A';
const char[] spu = "A"; const char[] spu = "A";
#encoding(screencode_mixed) #pragma encoding(screencode_mixed)
const char csm = 'A'; const char csm = 'A';
const char[] ssm = "A"; const char[] ssm = "A";
#encoding(screencode_upper) #pragma encoding(screencode_upper)
const char csu = 'A'; const char csu = 'A';
const char[] ssu = "A"; const char[] ssu = "A";

View File

@ -173,7 +173,7 @@ void gen_chargen_sprite(byte ch, byte* sprite) {
} }
// Reserve zeropage addresses used by the BASIC FP operations // Reserve zeropage addresses used by the BASIC FP operations
#reserve(0x07, 0x0d, 0x0e, 0x12) #pragma reserve(0x07, 0x0d, 0x0e, 0x12)
// Generate a sinus table using BASIC floats // Generate a sinus table using BASIC floats
// - sintab is a pointer to the table to fill // - sintab is a pointer to the table to fill

View File

@ -4,7 +4,7 @@
const byte* BGCOL = 0xd021; const byte* BGCOL = 0xd021;
const byte* RASTER = 0xd012; const byte* RASTER = 0xd012;
#pc(0x1000) #pragma pc(0x1000)
void main() { void main() {
asm { sei } asm { sei }
@ -16,7 +16,7 @@ void main() {
} }
} }
#pc(0x2000) #pragma pc(0x2000)
void incScreen() { void incScreen() {
*BGCOL = *RASTER; *BGCOL = *RASTER;

View File

@ -1,5 +1,5 @@
#reserve(0x16) #pragma reserve(0x16)
#encoding(petscii_mixed) #pragma encoding(petscii_mixed)
char[] strTemp = "v=X"; char[] strTemp = "v=X";
int main(void){ int main(void){
strTemp[2] = 'e'; strTemp[2] = 'e';

View File

@ -1,6 +1,6 @@
// Tests the target platform ASM6502 // Tests the target platform ASM6502
#target(asm6502) #pragma target(asm6502)
unsigned char[10] TABLE; unsigned char[10] TABLE;

View File

@ -1,6 +1,6 @@
// Demonstrates global directive reserving addresses on zeropage // Demonstrates global directive reserving addresses on zeropage
#reserve(2,5) #pragma reserve(2,5)
void main() { void main() {
const byte* SCREEN = $400; const byte* SCREEN = $400;

View File

@ -7,7 +7,7 @@ import "font-hex"
import "time" import "time"
import "print" import "print"
#reserve(08) #pragma reserve(08)
const byte* CHARSET = 0x2000; const byte* CHARSET = 0x2000;
const byte* SCREEN = 0x2800; const byte* SCREEN = 0x2800;

View File

@ -1,6 +1,6 @@
// Test setting an unknown encoding using the #encoding pragma // Test setting an unknown encoding using the #encoding pragma
#encoding(ascii) #pragma encoding(ascii)
void main() { void main() {
} }

View File

@ -1,7 +1,7 @@
// Tests warning when running out of zeropage-addresses for variables // Tests warning when running out of zeropage-addresses for variables
// Start by reserving most of zeropage (254 bytes) // Start by reserving most of zeropage (254 bytes)
#reserve(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254) #pragma reserve(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254)
// And then allocate a 2-byte-variable // And then allocate a 2-byte-variable
void main() { void main() {