2020-04-27 15:50:22 +00:00
|
|
|
/* run6502 Header File */
|
|
|
|
|
|
|
|
//Platform Specific Constants
|
|
|
|
#define DELKEY $08 //Delete/Backspace Key
|
|
|
|
#define ESCKEY $18 //Escape/Stop Key
|
2020-10-16 02:58:12 +00:00
|
|
|
#define RTNKEY $0A //Return/Enter Key
|
2020-10-11 18:45:01 +00:00
|
|
|
#define SYSBFL 128 //System Buffer Length
|
2020-04-27 15:50:22 +00:00
|
|
|
|
2020-10-16 02:58:12 +00:00
|
|
|
const char delnam; //Delete/Backspace Key Name
|
|
|
|
const char escnam; //Escape/Stop Key Name
|
|
|
|
const char rtnnam; //Return/Enter Key Name
|
|
|
|
|
2020-04-27 15:50:22 +00:00
|
|
|
//Library Pointer Variables
|
|
|
|
zeropage int srcptr, dstptr, bfrptr, blkptr;
|
|
|
|
char bfrlo,bfrhi; //Buffer Pointer for Library Functions
|
|
|
|
char stklo,stkhi; //Stack Pointer
|
2020-10-16 02:58:12 +00:00
|
|
|
|
2020-04-27 15:50:22 +00:00
|
|
|
//Library Variables
|
2020-10-16 02:58:12 +00:00
|
|
|
int blkbgn, blkend;
|
2020-04-27 15:50:22 +00:00
|
|
|
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
|
2020-04-27 15:50:22 +00:00
|
|
|
|
|
|
|
//Memory Mapped I/O
|
|
|
|
char putcon; //Write Character to Console
|
|
|
|
char getcon; //Read Character from Console
|
|
|
|
|
|
|
|
//System Subroutines
|
2020-10-16 02:58:12 +00:00
|
|
|
void delchr(); //Delete previous character
|
2020-04-27 15:50:22 +00:00
|
|
|
char getchr(); //Wait for character from Console
|
|
|
|
char getkey(); //Read ASCII character from Console (Exits Emulator)
|
|
|
|
void newlin(); //Advance cursor to beginning of next line
|
2020-10-16 02:58:12 +00:00
|
|
|
char polkey(); //Poll Console for character (Exits Emulator)
|
2020-04-27 15:50:22 +00:00
|
|
|
char putchr(); //Print ASCII character to Console
|
|
|
|
void prbyte(); //Print Accumulator as Hexadadecimal number
|
|
|
|
void prhex(); //Print Low Nybble of Accumulator as Hex Digit
|
|
|
|
|
|
|
|
//System Labels
|
|
|
|
start: //Start of Code
|
|
|
|
exit: //Return to Operating System
|