1
0
mirror of https://github.com/RevCurtisP/C02.git synced 2024-06-08 06:29:32 +00:00
C02/apple2/include/apple2.asm
2018-02-14 23:42:10 -05:00

47 lines
1.5 KiB
NASM

;Apple 1 program initialization code for c02 programs
;Locations used by Operating System
PROMPT EQU $33 ;ASCII character for INPUT prompt symbol
LOMEM EQU $4A ;
HIMEM EQU $4C
BASIC EQU $67 ;Start of BASIC program
VARBLS EQU $69 ;End of BASIC program and start of variable space
ARRAYS EQU $6B ;Start of defined array space
ARRAYE EQU $6D ;End of defined array space
STRNGS EQU $6F ;Start of string storag
;Locations used by Hi-Res Graphics
HPLOTX $E0 ;X of last HPLOT
HPLOTY $E2 ;Y of last HPLOT
HCOLOR $E4 ;
HIRES $E6 ;
SCALE $E7 ;
SHAPES $E8 ;Shape table start address
XDRAWS $EA
CSPEED $F1
ROTATE $F9
TIMEDM EQU $BF90 ;Day/month
TIMEYR EQU $BF91 ;Year
TIMEMN EQU $BF92 ;Minute
TIMEHR EQU $BF93 ;Hour
EXIT EQU $FF00 ;Monitor Entry Point
ECHO EQU $FFEF ;Subroutine - Print Character in Accumulator
PRBYTE EQU $FFDC ;Subroutine - Print Accumulator as Hexadadecimal number
PRHEX EQU $FFE5 ;Subroutine - Print Low Nybble of Accumulator as Hex Digit
ORG $0300 ;Start one page above Monitor input buffer
START: LDX #$FF ;Reset stack - the monitor doesn't do this
TXS ; (probably because of lack of space)
JMP MAIN ;Execute Program
RDKEY: BIT KBDCR ;Check the Keyboard Control Register
BPL RDKEY ; and loop if key not pressed
LDA KBD ; Read key into Accumulator
RTS