2018-08-14 18:49:55 +00:00
|
|
|
/* Unexpanded VIC 20 Header File */
|
2018-01-28 18:30:49 +00:00
|
|
|
|
2018-09-12 13:54:54 +00:00
|
|
|
/* Platform Specific Constants */
|
2018-08-14 18:49:55 +00:00
|
|
|
#define DELKEY $14 //Delete/Backspace Key (DEL)
|
2018-09-12 13:54:54 +00:00
|
|
|
#define ESCKEY $03 //Escape/Break Key (STOP)
|
2018-08-14 18:49:55 +00:00
|
|
|
#define RTNKEY $0D //Return/Enter Key (RETURN)
|
2020-10-11 18:45:01 +00:00
|
|
|
#define SYSBFL 88 //System Buffer Length
|
2018-08-14 18:49:55 +00:00
|
|
|
|
2018-09-12 13:54:54 +00:00
|
|
|
/* Standard Library Pointers */
|
2018-08-14 18:49:55 +00:00
|
|
|
char srclo,srchi; //Source String Pointer for Library Functions
|
|
|
|
char dstlo,dsthi; //Destination String Pointer for Library Functions
|
2019-03-23 00:28:43 +00:00
|
|
|
char bfrlo,bfrhi; //Buffer Pointer for Library Functions
|
2018-08-14 18:49:55 +00:00
|
|
|
char blklo,blkhi; //Block Segment Pointer
|
|
|
|
char stklo,stkhi; //Stack Pointer
|
|
|
|
|
2018-09-12 13:54:54 +00:00
|
|
|
/* Standard Library Variables */
|
2018-08-14 18:49:55 +00:00
|
|
|
char blkslo, blkshi; //Block Start Address
|
|
|
|
char blkelo, blkehi; //Block End Address
|
|
|
|
char blklen; //Block Segment Length
|
|
|
|
char stkslo, stkshi; //Stack Start Address
|
|
|
|
char stkelo, stkehi; //Stsck End Address
|
|
|
|
char random, rdseed; //Pseudo-Random Number Generation
|
|
|
|
char temp0, temp1, temp2, temp3; //Temporary Storage
|
2020-10-11 18:45:01 +00:00
|
|
|
char sysbfr[], sysbfp; //System String Buffer and Position
|
2018-01-28 18:30:49 +00:00
|
|
|
|
2018-09-12 13:54:54 +00:00
|
|
|
/* System Subroutines */
|
2018-08-14 18:49:55 +00:00
|
|
|
void delchr(); //Delete previous character
|
2018-09-12 13:54:54 +00:00
|
|
|
char getkey(); //Read ASCII character from Keyboard
|
|
|
|
char getpos(); //Get Cursor Position
|
|
|
|
char getsiz(); //Get Screen Size
|
|
|
|
void newlin(); //Advance cursor to beginning of next line
|
|
|
|
char polkey(); //Poll Keyboard for character
|
|
|
|
char putchr(); //Print ASCII character to Keyboard
|
2018-08-14 18:49:55 +00:00
|
|
|
void prbyte(); //Print Accumulator as Hexadadecimal number
|
|
|
|
void prhex(); //Print Low Nybble of Accumulator as Hex Digit
|
2018-09-12 13:54:54 +00:00
|
|
|
char getchr(); //Wait for character from Keyboard
|
|
|
|
void setpos(); //Set Cursor Position
|
2019-05-19 02:27:09 +00:00
|
|
|
|
|
|
|
//System Labels
|
|
|
|
start: //Start of Code
|
|
|
|
exit: //Return to Operating System
|