# Contains a list of known Apple ROM addresses.
# In general, anything between $D000 and $F7FF are Applesoft-ROM specific.
# Anything in $F800 - $FFFF should be general ROM addresses.

# Zero page
CH=$24
CV=$25
INVFLG=$32
TEMP1=$93
TEMP2=$98
TEMP3=$8A
FAC=$9D
FACMO=$A0
FACLO=$A1
ARG=$A5
RND=$C9
BUF=$0200 ; input buffer $0200 - $02F0

# Applesoft I/O ROM addresses
INLIN=$D52C
LINPRT=$ED19 ; Print 2 byte unsigned number in X,A
PRNTFAC=$ED2E
STROUT=$DB3A
PRCR=$FD8E

# Applesoft HGR addresses
HGR2=$F3D8
HGR=$F3E2
HPOSN=$F411
HPLOT=$F457
HLIN=$F53A
DRAW=$F601
XDRAW=$F65D
SETHCOL=$F6F0

# Applesoft floating-point ROM addresses
MOVFM=$EAF9
MOVMF=$EB2B
FMULT=$E97F
FMULTT=$E982
FDIV=$EA66
FDIVT=$EA69
FADD=$E7BE
FADDT=$E7C1
FSUB=$E7A7
FSUBT=$E7AA
FPWRT=$EE97
SQR=$EE8D
LOG=$E941
EXP=$EF09
COS=$EFEA
SIN=$EFF1
TAN=$F03A
ATN=$F09E
SGN=$EB90
ABS=$EBAF
INT=$EC23
RND=$EFAE
SIGN=$EB82
FCOMP=$EBB2
NEGOP=$EED0
FOUT=$ED34
SNGFLT=$E301 ; Convert Y register to float in FAC
GIVAYF=$E2F2 ; Convert Y,A registers to float in FAC
FLOAT=$EB93 ; Convert signed number in A register into float in FAC
QINT=$EBF2 ; Leaves INT(FAC) in FACHO,MO,LO signed
GETADR=$E752 ; Converts number in FAC to 2 byte unsigned int in LINNUM

# $F800 ROM addresses
TEXT=$FB2F
HOME=$FC58
LF=$FC66
