Go to file
nino-porcino 3403dea8c9 rename symbol 2021-12-16 18:35:34 +01:00
demo rename symbols, add string input demo 2021-12-16 18:33:56 +01:00
docs add programmer's reference guide 2021-12-16 11:05:21 +01:00
kickc separate apple1 target files; include defines in target files 2021-12-16 18:32:31 +01:00
lib string input; reunite screen1 and screen 2 constants 2021-12-16 18:35:25 +01:00
tetris rename symbol 2021-12-16 18:35:34 +01:00
tools separate apple1 target files; include defines in target files 2021-12-16 18:32:31 +01:00
.gitattributes Initial commit 2021-11-26 20:06:41 +01:00
.gitignore Update .gitignore 2021-12-08 19:51:18 +01:00
README.md Update README.md 2021-12-16 11:05:26 +01:00
env_kickc.bat move KickC folder 2021-12-15 16:52:16 +01:00

README.md

apple1-videocard-lib

Library and demos for the Apple-1 TMS9918 video card by P-LAB.

Building for the CodeTank/Juke-Box Expansion Cards

The demo contained in the repo are meant to be launched from the Apple-1 "CodeTank" EEPROM daughterboard of the "Apple-1 Graphic Card" or "Juke-Box Card" FLASH at address $4000. The executables are built according to the following memory map:

$0000-$00FF zero page: holds most of C program variables $0280-$0FFF low RAM space: C program "Data" segment $4000-$7581 EEPROM/FLASH (CodeTank/Juke-Box): C program "Code" segment $7582-$7FFF EEPROM/FLASH (CodeTank/Juke-Box): C program "Data" segment (startup values)

The build script mkeprom.js creates a 16K binary file to be placed on the EEPROM/FLASH where the "Data" segment startup values are put at the end of the file itself. The user program need to manually copy such data from EEPROM/FLASH to low RAM once after the main() is launched. This can be easily done by simply calling the library function apple1_eprom_init().