From b17a7010d0ed190908a29060441ef3fe7b0c0262 Mon Sep 17 00:00:00 2001 From: nino-porcino Date: Fri, 17 Dec 2021 16:42:22 +0100 Subject: [PATCH] move all demos under a folder; use #include<> syntax --- README.md | 16 +++++++++++----- demo/m.bat | 2 -- {demo => demos/demo}/demo.c | 2 +- {demo => demos/demo}/demo_amiga_hand.h | 0 {demo => demos/demo}/demo_blank.h | 0 {demo => demos/demo}/demo_end_of_frame.h | 0 {demo => demos/demo}/demo_extvid.h | 0 {demo => demos/demo}/demo_interrupt.h | 0 {demo => demos/demo}/demo_screen1.h | 0 {demo => demos/demo}/demo_screen2.h | 0 demos/demo/m.bat | 2 ++ demos/picshow/m.bat | 2 ++ {picshow => demos/picshow}/pic_c.h | 0 {picshow => demos/picshow}/pic_p.h | 0 {picshow => demos/picshow}/picshow.c | 14 +++++++------- .../picshow}/sourcepics/apple1_creators.jpg | Bin .../picshow}/sourcepics/apple1_creators.png | Bin {tetris => demos/tetris}/ckboard.h | 0 {tetris => demos/tetris}/draw.h | 0 {tetris => demos/tetris}/fonts.body.h | 0 {tetris => demos/tetris}/fonts.h | 0 {tetris => demos/tetris}/grboard.h | 0 {tetris => demos/tetris}/intro.h | 0 {tetris => demos/tetris}/keyboard_input.h | 0 demos/tetris/m.bat | 2 ++ {tetris => demos/tetris}/mkfont.js | 0 {tetris => demos/tetris}/pieces.h | 0 {tetris => demos/tetris}/sprite.h | 0 {tetris => demos/tetris}/tetris.c | 2 +- kickc/apple1.tgt | 3 ++- kickc/apple1_jukebox.tgt | 3 ++- kickc/vic20_8k.tgt | 3 ++- picshow/m.bat | 2 -- tetris/m.bat | 2 -- tools/build.bat | 7 ++++--- 35 files changed, 36 insertions(+), 26 deletions(-) delete mode 100644 demo/m.bat rename {demo => demos/demo}/demo.c (97%) rename {demo => demos/demo}/demo_amiga_hand.h (100%) rename {demo => demos/demo}/demo_blank.h (100%) rename {demo => demos/demo}/demo_end_of_frame.h (100%) rename {demo => demos/demo}/demo_extvid.h (100%) rename {demo => demos/demo}/demo_interrupt.h (100%) rename {demo => demos/demo}/demo_screen1.h (100%) rename {demo => demos/demo}/demo_screen2.h (100%) create mode 100644 demos/demo/m.bat create mode 100644 demos/picshow/m.bat rename {picshow => demos/picshow}/pic_c.h (100%) rename {picshow => demos/picshow}/pic_p.h (100%) rename {picshow => demos/picshow}/picshow.c (91%) rename {picshow => demos/picshow}/sourcepics/apple1_creators.jpg (100%) rename {picshow => demos/picshow}/sourcepics/apple1_creators.png (100%) rename {tetris => demos/tetris}/ckboard.h (100%) rename {tetris => demos/tetris}/draw.h (100%) rename {tetris => demos/tetris}/fonts.body.h (100%) rename {tetris => demos/tetris}/fonts.h (100%) rename {tetris => demos/tetris}/grboard.h (100%) rename {tetris => demos/tetris}/intro.h (100%) rename {tetris => demos/tetris}/keyboard_input.h (100%) create mode 100644 demos/tetris/m.bat rename {tetris => demos/tetris}/mkfont.js (100%) rename {tetris => demos/tetris}/pieces.h (100%) rename {tetris => demos/tetris}/sprite.h (100%) rename {tetris => demos/tetris}/tetris.c (99%) delete mode 100644 picshow/m.bat delete mode 100644 tetris/m.bat diff --git a/README.md b/README.md index a4038b2..b4e0ec2 100644 --- a/README.md +++ b/README.md @@ -206,13 +206,19 @@ while(1) { ### Building the source code -To link the library, simply `#include` the `tms9918.h` file -from the `lib/` directory in your C source files. +To link the library, simply `#include` the `tms9918.h` file +in your C sources. The recommended way is to add the KickC +command line switch `-includedir=thisrepo/lib` to your +build script and then include the file with `#include `. -Compile your sources with the KickC compiler, the `tools/` -directory contains a `build.bat` script example for Windows. +The the `tools/` directory contains a simple `build.bat` script +example (for Windows) that you can customize to your needs. -There are three configurations you can target with the switches `-t target -targetdir thisrepopath/kickc` of the KickC compiler: +### Setting a machine target + +There are three configurations you can target with +the switches `-t target -targetdir thisrepo/kickc` +of the KickC compiler: - `apple1` - `apple1_jukebox` diff --git a/demo/m.bat b/demo/m.bat deleted file mode 100644 index fc6f548..0000000 --- a/demo/m.bat +++ /dev/null @@ -1,2 +0,0 @@ -@call ..\tools\build demo - diff --git a/demo/demo.c b/demos/demo/demo.c similarity index 97% rename from demo/demo.c rename to demos/demo/demo.c index 24d101c..b1f8de0 100644 --- a/demo/demo.c +++ b/demos/demo/demo.c @@ -1,4 +1,4 @@ -#include "../lib/tms9918.h" +#include #include "demo_screen1.h" #include "demo_screen2.h" diff --git a/demo/demo_amiga_hand.h b/demos/demo/demo_amiga_hand.h similarity index 100% rename from demo/demo_amiga_hand.h rename to demos/demo/demo_amiga_hand.h diff --git a/demo/demo_blank.h b/demos/demo/demo_blank.h similarity index 100% rename from demo/demo_blank.h rename to demos/demo/demo_blank.h diff --git a/demo/demo_end_of_frame.h b/demos/demo/demo_end_of_frame.h similarity index 100% rename from demo/demo_end_of_frame.h rename to demos/demo/demo_end_of_frame.h diff --git a/demo/demo_extvid.h b/demos/demo/demo_extvid.h similarity index 100% rename from demo/demo_extvid.h rename to demos/demo/demo_extvid.h diff --git a/demo/demo_interrupt.h b/demos/demo/demo_interrupt.h similarity index 100% rename from demo/demo_interrupt.h rename to demos/demo/demo_interrupt.h diff --git a/demo/demo_screen1.h b/demos/demo/demo_screen1.h similarity index 100% rename from demo/demo_screen1.h rename to demos/demo/demo_screen1.h diff --git a/demo/demo_screen2.h b/demos/demo/demo_screen2.h similarity index 100% rename from demo/demo_screen2.h rename to demos/demo/demo_screen2.h diff --git a/demos/demo/m.bat b/demos/demo/m.bat new file mode 100644 index 0000000..77c5a24 --- /dev/null +++ b/demos/demo/m.bat @@ -0,0 +1,2 @@ +@call ..\..\tools\build demo + diff --git a/demos/picshow/m.bat b/demos/picshow/m.bat new file mode 100644 index 0000000..5b7586e --- /dev/null +++ b/demos/picshow/m.bat @@ -0,0 +1,2 @@ +@call ..\..\tools\build picshow + diff --git a/picshow/pic_c.h b/demos/picshow/pic_c.h similarity index 100% rename from picshow/pic_c.h rename to demos/picshow/pic_c.h diff --git a/picshow/pic_p.h b/demos/picshow/pic_p.h similarity index 100% rename from picshow/pic_p.h rename to demos/picshow/pic_p.h diff --git a/picshow/picshow.c b/demos/picshow/picshow.c similarity index 91% rename from picshow/picshow.c rename to demos/picshow/picshow.c index ff38fab..dc0011e 100644 --- a/picshow/picshow.c +++ b/demos/picshow/picshow.c @@ -1,7 +1,7 @@ // image converted with: Convert9918 - A simple image converter for the TMS9918A // http://harmlesslion.com -#include "../lib/tms9918.h" +#include #pragma data_seg(Code) #include "pic_c.h" @@ -20,18 +20,18 @@ void main() { tms_init_regs(SCREEN2_TABLE); screen2_init_bitmap(FG_BG(COLOR_WHITE,COLOR_BLACK)); + // bulk copy color table to VRAM + tms_set_vram_write_addr(TMS_COLOR_TABLE); + for(word t=0; t #include "draw.h" #include "pieces.h" diff --git a/kickc/apple1.tgt b/kickc/apple1.tgt index de6055d..5604e4f 100644 --- a/kickc/apple1.tgt +++ b/kickc/apple1.tgt @@ -7,7 +7,8 @@ "emulator": "x64sc", "defines": { "__APPLE1__": 1, - "APPLE1": 1 + "APPLE1": 1, + "__KICKC__": 1 } } diff --git a/kickc/apple1_jukebox.tgt b/kickc/apple1_jukebox.tgt index 4267bb7..b2a99db 100644 --- a/kickc/apple1_jukebox.tgt +++ b/kickc/apple1_jukebox.tgt @@ -8,7 +8,8 @@ "defines": { "__APPLE1__": 1, "APPLE1": 1, - "APPLE1_JUKEBOX": 1 + "APPLE1_JUKEBOX": 1, + "__KICKC__": 1 } } diff --git a/kickc/vic20_8k.tgt b/kickc/vic20_8k.tgt index 0355e9e..ba110dd 100644 --- a/kickc/vic20_8k.tgt +++ b/kickc/vic20_8k.tgt @@ -8,6 +8,7 @@ "emulator": "xvic", "defines": { "__VIC20__": 1, - "VIC20": 1 + "VIC20": 1, + "__KICKC__": 1 } } \ No newline at end of file diff --git a/picshow/m.bat b/picshow/m.bat deleted file mode 100644 index 5464d42..0000000 --- a/picshow/m.bat +++ /dev/null @@ -1,2 +0,0 @@ -@call ..\tools\build picshow - diff --git a/tetris/m.bat b/tetris/m.bat deleted file mode 100644 index 2810e46..0000000 --- a/tetris/m.bat +++ /dev/null @@ -1,2 +0,0 @@ -@rem === BUILD TETRIS === -call ..\tools\build tetris \ No newline at end of file diff --git a/tools/build.bat b/tools/build.bat index 13009e8..7a71e2e 100644 --- a/tools/build.bat +++ b/tools/build.bat @@ -1,16 +1,17 @@ @rem === BUILD SCRIPT === @SET TARGET=%1 +@SET TMS9918=..\.. @echo ======================== VIC20 =================================================== -call kickc -targetdir ..\kickc\ -t VIC20_8K %TARGET%.c -o out\%TARGET%_vic20.prg -e +call kickc -includedir %TMS9918%\lib -targetdir %TMS9918%\kickc\ -t VIC20_8K %TARGET%.c -o out\%TARGET%_vic20.prg -e copy out\%TARGET%.prg out\%TARGET%_vic20.prg @echo ======================== APPLE 1 ================================================= -call kickc -targetdir ..\kickc\ -t apple1_jukebox %TARGET%.c -o out\%TARGET%_apple1.prg -e +call kickc -includedir %TMS9918%\lib -targetdir %TMS9918%\kickc\ -t apple1_jukebox %TARGET%.c -o out\%TARGET%_apple1.prg -e @rem builds the apple1 eprom file -call node ..\tools\mkeprom out out\%TARGET%_apple1.bin +call node %TMS9918%\tools\mkeprom out out\%TARGET%_apple1.bin @rem clean up files @del out\apple1_codeseg.bin