mirror of
https://github.com/RevCurtisP/C02.git
synced 2024-11-21 10:32:08 +00:00
Renamed Apple 2 standard header files
This commit is contained in:
parent
45cead9330
commit
dfedddab72
@ -1,6 +1,6 @@
|
||||
/* C02 Apple II Test Program */
|
||||
|
||||
#include <apple2.h02>
|
||||
#include <appl2std.h02>
|
||||
|
||||
char i;
|
||||
|
||||
@ -10,3 +10,4 @@ main:
|
||||
prchr(i);
|
||||
}
|
||||
goto exit;
|
||||
|
||||
|
@ -1,5 +1,16 @@
|
||||
@ECHO Compiling File %1.c02
|
||||
..\c02.exe %1
|
||||
@echo Compiling File %1.c02
|
||||
..\c02.exe %1 >%1.out
|
||||
@if ERRORLEVEL 1 exit /b
|
||||
|
||||
@ECHO Assembling File %1.asm
|
||||
C:\Programs\dasm %1.asm -f3 -o%1.bin -l%1.lst -s%1.sym
|
||||
@echo Assembling File %1.asm
|
||||
dasm %1.asm -f3 -o%1.bin -l%1.lst -s%1.sym
|
||||
@if ERRORLEVEL 1 exit /b
|
||||
|
||||
@echo Building Disk Image
|
||||
copy /Y boot.dsk %1.dsk
|
||||
echo BRUN %1 |a2tools in t %1.dsk command
|
||||
a2tools in b.0C00 %1.dsk %1 %1.bin
|
||||
@if ERRORLEVEL 1 exit /b
|
||||
|
||||
@echo Starting Emulator
|
||||
start C:\Programs\AppleWin\applewin -d1 %1.dsk
|
||||
|
172
doc/header.txt
172
doc/header.txt
@ -1,83 +1,89 @@
|
||||
System Specific Header File Specification
|
||||
|
||||
The very first directive of the program must be
|
||||
|
||||
#include <header.h02>
|
||||
|
||||
where header.h02 is the system specific header file, (e.g. apple1.h02,
|
||||
vic20.h02, etc.).
|
||||
|
||||
Note: This will probably be replaced with a command line parameter
|
||||
(e.g. '-s apple1', '-s vic20', etc...) to allow program portability.
|
||||
|
||||
If compatibility with the C02 Standard Libraries is needed, the following
|
||||
functions must be defined:
|
||||
|
||||
c = plkey(); Polls keyboard and returns raw ASCII character
|
||||
corresponding to last/current pressed key.
|
||||
|
||||
Returns constant NULKEY (usually 0) if no key was
|
||||
pressed.
|
||||
|
||||
c = rdkey(); Waits for a keypress and returns the raw ASCII
|
||||
character corresponding to the pressed key.
|
||||
|
||||
Note: Usually a loop that calls plkey(), but may
|
||||
also directly call a system subroutine.
|
||||
|
||||
c = getkey(); Waits for a keypress and returns the cleaned
|
||||
ASCII value corresponding to the pressed key.
|
||||
|
||||
Note: Calls rdkey() followed by any necessary
|
||||
character code conversions. This can be due to
|
||||
high-bit being set by keyboard decoder,
|
||||
non-standard key mappings, keys that generate
|
||||
escape sequences, etc...
|
||||
|
||||
newlin(); Advances the cursor to the beginning of then
|
||||
next line.
|
||||
|
||||
Note: Depending on the system, this will usually
|
||||
output a Carriage Return, Line Feed, both.
|
||||
|
||||
prchr(c); Writes character c to the screen.
|
||||
|
||||
Note: May directly access memory-mapped I/O
|
||||
or may call a system subroutine.
|
||||
|
||||
setdst(&s): Stores pointer to &s in dstlo and dsthi.
|
||||
|
||||
setsrc(&s): Stores pointer to &s in srclo and srchi and
|
||||
initializes Y register to 0.
|
||||
|
||||
along with the Zero Page locations (each pair of which must be sequential)
|
||||
|
||||
srclo, srchi Spurce String Pointer
|
||||
dstlo, dsthi Destination String Pointer
|
||||
|
||||
the following locations that may be Zero Page, but don't have to before
|
||||
|
||||
temp0 Temporary variables used by stdlib.asm
|
||||
temp1
|
||||
temp2
|
||||
|
||||
and the following locations that must be preserved between function calls
|
||||
|
||||
random Storage for the Random Number Generator
|
||||
|
||||
Contains the last number generated and is used to
|
||||
generate the next number in the sequence
|
||||
|
||||
rdseed Seed for Pseudo-Random Number Generator
|
||||
|
||||
Usually a counter or timer. If one is not provided
|
||||
by the system, should be generated by incrementing
|
||||
in the plkey(), rdkey() functions.
|
||||
|
||||
and the constants
|
||||
|
||||
DELKEY ASCII code for Delete/Backspace key (usually DEL or BS)
|
||||
ESCKEY ASCII code for Escape/Abort key (usually ESC)
|
||||
NULKEY Returned if no Key was Pressed
|
||||
RTNKEY ASCII code for Return/Enter key (usually CR)
|
||||
|
||||
System Specific Header File Specification
|
||||
|
||||
The very first directive of the program must be
|
||||
|
||||
#include <header.h02>
|
||||
|
||||
where header.h02 is the system specific header file, (e.g. apple1.h02,
|
||||
vic20.h02, etc.).
|
||||
|
||||
Note: This will probably be replaced with a command line parameter
|
||||
(e.g. '-s apple1', '-s vic20', etc...) to allow program portability.
|
||||
|
||||
If compatibility with the C02 Standard Libraries is needed, the following
|
||||
functions must be defined:
|
||||
|
||||
c = plkey(); Polls keyboard and returns raw ASCII character
|
||||
corresponding to last/current pressed key.
|
||||
|
||||
Returns constant NULKEY (usually 0) if no key was
|
||||
pressed.
|
||||
|
||||
c = rdkey(); Waits for a keypress and returns the raw ASCII
|
||||
character corresponding to the pressed key.
|
||||
|
||||
Note: Usually a loop that calls plkey(), but may
|
||||
also directly call a system subroutine.
|
||||
|
||||
c = getkey(); Waits for a keypress and returns the cleaned
|
||||
ASCII value corresponding to the pressed key.
|
||||
|
||||
Note: Calls rdkey() followed by any necessary
|
||||
character code conversions. This can be due to
|
||||
high-bit being set by keyboard decoder,
|
||||
non-standard key mappings, keys that generate
|
||||
escape sequences, etc...
|
||||
|
||||
newlin(); Advances the cursor to the beginning of then
|
||||
next line.
|
||||
|
||||
Note: Depending on the system, this will usually
|
||||
output a Carriage Return, Line Feed, both.
|
||||
|
||||
echo(c); Writes character c to the screen without any
|
||||
translation.
|
||||
|
||||
Note: May directly access memory-mapped I/O
|
||||
or may call a system subroutine.
|
||||
|
||||
prchr(c); Writes character c to the screen.
|
||||
|
||||
Note: Does any needed ACSII conversions, then calls
|
||||
echo().
|
||||
|
||||
setdst(&s): Stores pointer to &s in dstlo and dsthi.
|
||||
|
||||
setsrc(&s): Stores pointer to &s in srclo and srchi and
|
||||
initializes Y register to 0.
|
||||
|
||||
along with the Zero Page locations (each pair of which must be sequential)
|
||||
|
||||
srclo, srchi Spurce String Pointer
|
||||
dstlo, dsthi Destination String Pointer
|
||||
|
||||
the following locations that may be Zero Page, but don't have to before
|
||||
|
||||
temp0 Temporary variables used by stdlib.asm
|
||||
temp1
|
||||
temp2
|
||||
|
||||
and the following locations that must be preserved between function calls
|
||||
|
||||
random Storage for the Random Number Generator
|
||||
|
||||
Contains the last number generated and is used to
|
||||
generate the next number in the sequence
|
||||
|
||||
rdseed Seed for Pseudo-Random Number Generator
|
||||
|
||||
Usually a counter or timer. If one is not provided
|
||||
by the system, should be generated by incrementing
|
||||
in the plkey(), rdkey() functions.
|
||||
|
||||
and the constants
|
||||
|
||||
DELKEY ASCII code for Delete/Backspace key (usually DEL or BS)
|
||||
ESCKEY ASCII code for Escape/Abort key (usually ESC)
|
||||
NULKEY Returned if no Key was Pressed
|
||||
RTNKEY ASCII code for Return/Enter key (usually CR)
|
||||
|
||||
|
@ -71,6 +71,7 @@ PLKEYR: RTS
|
||||
;Read Keyboard
|
||||
GETKEY EQU KEYIN ;Alias to Monitor Routine
|
||||
|
||||
|
||||
;Print Character to Screen
|
||||
PRCHR: ORA #$80 ;Set High Bit
|
||||
CMP #$E0 ;
|
@ -1,4 +1,4 @@
|
||||
/* Apple 1 Header File */
|
||||
/* Apple ][ Header File */
|
||||
|
||||
/* Monitor Variables */
|
||||
|
||||
@ -18,8 +18,8 @@ char temp0, temp1, temp2, temp3; //Temporary Variables
|
||||
char invflg; //Video Invert Mask
|
||||
|
||||
//Keyboard I/O
|
||||
char kbd; //Keyboard Data
|
||||
char abd; //Keyboard Strobe
|
||||
char kbd; //Keyboard Data Register
|
||||
char abd; //Keyboard Strobe Register
|
||||
|
||||
//Monitor Subroutines
|
||||
void echo(); //Print Character in Accumulator
|
Loading…
Reference in New Issue
Block a user