/* C02 System Header file for Commander X16 */ /* Platform Specific Settings */ #pragma zeropage $68 //Unused Zero Page - $68-$7F /* Platform Specific Constants */ #define DELKEY $14 //Delete/Backspace Key (DEL) #define ESCKEY $03 //Escape/Break Key (STOP) #define RTNKEY $0D //Return/Enter Key (RETURN) /* Standard Library Pointers */ zeropage char srclo,srchi; //Source Pointer for Library Functions zeropage char dstlo,dsthi; //String Pointer for Library Functions zeropage int srcptr,dstptr; //Source, Destination Pointers zeropage char bfrlo,bfrhi; //Buffer Pointer for Library Functions zeropage char blklo,blkhi; //Block Segment Pointer zeropage char stklo,stkhi; //Stack Pointer zeropage char xadrlo,xadrhi; //Physical Address LSB, MSB /* Standard Library Variables */ 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 char xmbank; //Physical Bank /* System Subroutines */ void delchr(); //Delete previous character 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 void prbyte(); //Print Accumulator as Hexadadecimal number void prhex(); //Print Low Nybble of Accumulator as Hex Digit char getchr(); //Wait for character from Keyboard void setpos(); //Set Cursor Position //System Labels start: //Start of Code exit: //Return to Operating System