/* System Specific C02 Header File Template */ /* This header contains standardized Constants, * * Variables, and Function Calls tailored to a * * a specific platform. */ /* System Specific ASCII Key Codes */ #define DELKEY $7F //Delete/Backspace Key #define ESCKEY $1B //Escape/Stop Key #define RTNKEY $0D //Return/Enter Key #define NULKEY $00 //No Key was Pressed /* Zero Page Variables used as Pointers */ char strlo,strhi; //String pointer for String and I/O functions char dstlo,dsthi; //Secondary string pointer for String functions char blklo,blkhi; //Block Segment Pointer char stklo,stkhi; //Stack Pointer /* Ephemeral Library Variables * * Available for use in program code, but may * * be obliterated by Function Calls. * * May be Zero Page, but not required */ char temp0,temp1,temp2,temp3; //Temporary variables /* Static Library Variables * * Must be preserved between function calls * * May be Zero Page, but not required */ 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; //Last Result of Pseudo-Random Number Generator char rdseed; //System Seed for Pseudo-Random Number Generator //System Subroutines void delchr(); //Delete previous character char getkey(); //Read ASCII character from Console char getpos(); //Get Cursor Position char getsiz(); //Get Screen Size void newlin(); //Advance cursor to beginning of next line char polkey(); //Poll Console for character char putchr(); //Print ASCII character to Console void prbyte(); //Print Accumulator as Hexadadecimal number void prhex(); //Print Low Nybble of Accumulator as Hex Digit char getchr(); //Wait for character from Console void setpos(); //Set Cursor Position //System Labels start: //Start of Code exit: //Return to Operating System