2021-11-26 22:41:51 +00:00
|
|
|
# apple1-videocard-lib
|
|
|
|
|
|
|
|
Library and demos for the Apple-1 TMS9918 video card by P-LAB.
|
|
|
|
|
|
|
|
|
2021-12-16 10:05:26 +00:00
|
|
|
# Building for the CodeTank/Juke-Box Expansion Cards
|
2021-12-15 17:51:45 +00:00
|
|
|
|
2021-12-16 10:05:26 +00:00
|
|
|
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
|
2021-12-15 17:51:45 +00:00
|
|
|
following memory map:
|
|
|
|
|
2021-12-16 10:05:26 +00:00
|
|
|
$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)
|
2021-12-15 17:51:45 +00:00
|
|
|
|
2021-12-16 10:05:26 +00:00
|
|
|
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()`.
|
2021-12-15 17:51:45 +00:00
|
|
|
|