Go to file
nino-porcino e9129069ad add programmer's reference guide 2021-12-16 11:05:21 +01:00
bug code refactor / reaorganization 2021-12-08 12:53:13 +01:00
cc65 switch to KickC compiler 2021-11-28 15:05:41 +01:00
demo support apple1 eprom 2021-12-15 18:16:31 +01:00
docs add programmer's reference guide 2021-12-16 11:05:21 +01:00
kickc add KickC target configuration files 2021-12-15 17:13:21 +01:00
lib erase patterns first in clear screen 2021-12-15 16:54:13 +01:00
tetris update todo 2021-12-15 18:54:35 +01:00
tools fix build script 2021-12-15 17:37:44 +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 describe build for juke box eprom 2021-12-15 18:51:45 +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 "Juke Box" EPROM expansion

The demo contained in the repo are meant to be launched from the Apple-1 "Juke Box" EPROM expansion 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 EPROM (Juke Box): C program "Code" segment $7582-$7FFF EPROM (Juke Box): C program "Data" segment (startup values)

The build script "mkeprom.js" creates a 16K binary file to be placed on the EPROM 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 EPROM to low RAM once after the main() is launched. That can be easily done by simply calling the library function apple1_eprom_init().