; /=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\
; |                                                      |
; | ________      __________________                     |
; |  ____  _/_________(_)_____  /__(_)___  ________ ___  |
; |   __  / __  __ \_  /_  __  /__  /_  / / /_  __ `__ \ |
; |  __/ /  _  / / /  / / /_/ / _  / / /_/ /_  / / / / / |
; |  /___/  /_/ /_//_/  \__,_/  /_/  \__,_/ /_/ /_/ /_/  |
; |                                                      |
; \=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-/
; 1999 Cygnus X-1 Technologies
; Inidium Include File

; Static Libaries
; -=-=-=-=-=-=-=-
; Just Call the libary name, with the parameters precised in DiumLibs
; and All should go Fine.

Dium_Version		EQU		91A7h
Dium_Random		EQU		91A9h
Dium_Sprite		EQU		91ABh
Dium_ExtendedSprite	EQU		91ADh
Dium_Pixel		EQU		91AFh
Dium_FstCopy		EQU		91B1h
Dium_Scan		EQU		91B3h
Dium_Expand		EQU		91B5h


; Rom Calls
; -=-=-=-=-
; Some are commented, in futur, each release of Inidium will add a few
; more definitions

MemOffset	EQU		8565h
; (word) = number of bytes inserted in order to run program,
; it isn't recommended to modify this value(though under Inidium, nothing
; will happen, but Ion will crash).

LoadArea	EQU		9327h
; Zone where program code is loaded

_ClrLCDFull	EQU		4755h
; Directly addresses the LCD port & clears screen

_ClrScrnFull            equ     475Dh
; Clears Screen & Text Shadow

_ClrTxtShd              equ     4765h
; Clears Text Shadow

_DispDone               equ     47F1h
; Displays "Done"

_DispHL                 equ     4709h
; Displays the number stored in HL

_LCD_Busy               equ     4066h
; Short pause for when addressing the LCD driver port

_HomeUp                 equ     4775h
; PENCOL & PENROW = 00h

_NewLine                equ     473Dh
; PENROW = PENROW + 01h & PENCOL = 00h

_PutC                   equ     4705h
; Displays Char In A @ (PENCOL, PENROW)

_PutS                   equ     470Dh
; Displays 00h Terminated String, Ptr In HL

_PutpS                  equ     4715h
; Displays String @ HL, B = # Of Chars

_DISPOP1A               equ     51D4h
_eraseEOL               equ     476Dh
_formDCplx              equ     4D2Eh
_formReal               equ     4D32h
_GDISPTOKEN             equ     4B20h
_moveup                 equ     474Dh
_outputExpr             equ     5106h
_putmap                 equ     4701h
_runIndicOff            equ     4795h
_runIndicOn             equ     4791h
_scrollDown             equ     4751h
_scrollUp               equ     4745h
_setPenT                equ     51B9h
_setPenX                equ     51A7h
_setPenY                equ     51B0h
_SFONT_LEN              equ     4A6Ch
_VPUTBLANK              equ     4C53h
_vputmap                equ     477Dh
_vputs                  equ     4781h
_vputsn                 equ     4785h
_Axes                   equ     519Eh
_CLine                  equ     4A84h
_CPointS                equ     4B00h
_GRBUFCLR               equ     515Bh
_GRBUFCPY_V             equ     5164h
_HORIZCMD               equ     4BEFh
_ILINE                  equ     4AE4h
_IPOINT                 equ     4AE8h
_moveDown               equ     4741h
_PDspGrph               equ     4BEBh
_PUTXY                  equ     4BE4h
_REGRAPH                equ     4BCCh
_VERTCMD                equ     4BF3h
_GetK                   equ     4A18h
_getkey                 equ     4CFEh
_ADRLELE                equ     489Dh
_GETLTOOP1              equ     48A9h
_PUTTOL                 equ     48BDh
_ADRMELE                equ     486Dh
_GETMTOOP1              equ     487Dh
_PUTTOMAT               equ     4889h
_ACOS                   equ     4122h
_ACOSH                  equ     413Ah
_ANGLE                  equ     4152h
_ASIN                   equ     412Ah
_ASINH                  equ     4136h
_ATAN                   equ     4126h
_ATANH                  equ     4132h
_Ceiling                equ     4BE0h
_COS                    equ     40FAh
_COSH                   equ     410Ah
_CUBE                   equ     409Eh
_DTOR                   equ     4096h
_ETOX                   equ     40EAh
_FACTORIAL              equ     50C6h
_FPADD                  equ     4092h
_FPDIV                  equ     40C6h
_FPMULT                 equ     40AAh
_FPRECIP                equ     40C2h
_FPSQUARE               equ     40A6h
_FPSUB                  equ     408Eh
_FRAC                   equ     40BEh
_INT                    equ     40D6h
_INTGR                  equ     4076h
_INVOP1SC               equ     40B2h
_INVSUB                 equ     407Eh
_LNX                    equ     40DEh
_LOGX                   equ     40E2h
_MAX                    equ     406Eh
_MIN                    equ     406Ah
_MINUS1                 equ     408Ah
_PLUS1                  equ     4086h
_PTOR                   equ     413Eh
_RANDOM                 equ     50B6h
_RNDGUARD               equ     40CEh
_ROUND                  equ     40DAh
_RTOD                   equ     409Ah
_RTOP                   equ     4142h
_SIN                    equ     40F6h
_SINH                   equ     410Eh
_SQROOT                 equ     40CAh
_STORAND                equ     50BAh
_TAN                    equ     40FEh
_TANH                   equ     4106h
_TENX                   equ     40EEh
_TIMES2                 equ     4082h
_TIMESPT5               equ     40A2h
_TRUNC                  equ     407Ah
_XROOTY                 equ     4A8Ch
_YTOX                   equ     4A90h
_CHKFINDSYM             equ     442Ah
_DELVAR                 equ     44AAh
_RCLSYSTOK              equ     4EF0h
_RCLVARSYM              equ     4EECh
_RCLX                   equ     4EE8h
_RCLY                   equ     4EE0h
_RSTRSHADOW             equ     47A1h
_SAVESHADOW             equ     479Dh
_STOOTHER               equ     4ED8h
_STOSYSTOK              equ     4EB8h
_STOX                   equ     4ED4h
_STOY                   equ     4EC8h
_CKINT                  equ     4322h
_CKODD                  equ     4326h
_CKOP1FP0               equ     4312h
_CKOP1POS               equ     435Ah
_CKOP1REAL              equ     414Eh
_CKOP2FP0               equ     4316h
_CKOP2POS               equ     4356h
_CKOP2REAL              equ     4412h
_CKPOSINT               equ     431Eh
_CLROP1S                equ     4362h
_CLROP2S                equ     435Eh
_CONVOP1                equ     4EFCh
_cphlde                 equ     4004h
_CPOP1OP2               equ     4166h
_divHLbyA               equ     400Ch
_HTIMESL                equ     4382h
_INVOP1S                equ     40B6h
_INVOP2S                equ     40BAh
_ldHLind                equ     4000h
_MOVFROP1               equ     4212h
_OP1EXOP2               equ     4306h
_OP1EXOP3               equ     42FEh
_OP1EXOP4               equ     4302h
_OP1EXOP5               equ     42EEh
_OP1EXOP6               equ     42F2h
_OP1SET0                equ     4286h
_OP1SET1                equ     4232h
_OP1SET2                equ     4242h
_OP1SET3                equ     423Ah
_OP1SET4                equ     4236h
_OP1TOOP2               equ     418Eh
_OP1TOOP3               equ     417Eh
_OP1TOOP4               equ     416Eh
_OP1TOOP5               equ     41BEh
_OP1TOOP6               equ     41BAh
_OP2EXOP4               equ     42F6h
_OP2EXOP5               equ     42FAh
_OP2EXOP6               equ     42E6h
_OP2SET0                equ     4282h
_OP2SET1                equ     4252h
_OP2SET2                equ     4246h
_OP2SET3                equ     422Eh
_OP2SET4                equ     422Ah
_OP2SET5                equ     4222h
_OP2SET60               equ     4EA8h
_OP2SET8                equ     421Eh
_OP2SETA                equ     4226h
_OP2TOOP1               equ     41C2h
_OP2TOOP3               equ     41F6h
_OP2TOOP4               equ     4172h
_OP2TOOP5               equ     41B2h
_OP2TOOP6               equ     41B6h
_OP3SET0                equ     427Eh
_OP3SET1                equ     421Ah
_OP3SET2                equ     423Eh
_OP3TOOP1               equ     41A2h
_OP3TOOP2               equ     417Ah
_OP3TOOP4               equ     416Ah
_OP3TOOP5               equ     41AEh
_OP4SET0                equ     427Ah
_OP4SET1                equ     4216h
_OP4TOOP1               equ     419Ah
_OP4TOOP2               equ     4176h
_OP4TOOP3               equ     41FAh
_OP4TOOP5               equ     41AAh
_OP4TOOP6               equ     4202h
_OP5EXOP6               equ     42EAh
_OP5SET0                equ     4276h
_OP5TOOP1               equ     419Eh
_OP5TOOP2               equ     4182h
_OP5TOOP3               equ     41FEh
_OP5TOOP4               equ     418Ah
_OP5TOOP6               equ     4186h
_OP6TOOP1               equ     4196h
_OP6TOOP2               equ     4192h
_OP6TOOP5               equ     41A6h


; Flags
; -=-=-

;       SYSTEM FLAG EQUATES
;       ALL OF THESE FLAGS CAN BE ACCESSED THROUGH THE 'IY' REGISTER
;
trigflags       EQU       0           ; IY OFFSET VALUE
trigdeg         EQU       2
;
plotflags       EQU       2           ; IY OFFSET VALUE
plotloc         EQU       1
plotdisp        EQU       2
;
grfmodeflags    EQU       2           ; IY OFFSET VALUE
grffuncm        EQU       4
grfpolarm       EQU       5
grfparamm       EQU       6
grfrecurm       EQU       7
;
graphflags      EQU       3           ; IY OFFSET VALUE
graphdraw       EQU       0
graphcursor     EQU       2
;
grfdbflags      EQU       4           ; IY OFFSET VALUE
grfdot          EQU       0
grfsimul        EQU       1
grfgrid         EQU       2
grfpolar        EQU       3
grfnocoord      EQU       4
grfnoaxis       EQU       5
grflabel        EQU       6
;
textflags       EQU       5           ; IY OFFSET VALUE
textEraseBelow  EQU       1
textScrolled    EQU       2
textInverse     EQU       3
;
onflags         EQU       9           ; IY OFFSET VALUE
onRunning       EQU       3
onInterrupt     EQU       4
;
statflags       EQU       9           ; IY OFFSET VALUE
statsvalid      EQU       6
;
fmtflags        EQU       10          ; IY OFFSET VALUE
fmtExponent     EQU       0
fmtEng          EQU       1
;
nummode         EQU       10          ; IY OFFSET VALUE
FMTREAL         EQU       5
FMTRECT         EQU       6
FMTPOLAR        EQU       7
;
curflags        EQU       12          ; IY OFFSET VALUE
curAble         EQU       2
curOn           EQU       3
curLock         EQU       4
;
appflags        EQU       13          ; IY OFFSET VALUE
appTextSave     EQU       1
appAutoScroll   EQU       2
;
PLOTFLAG2       EQU       17          ; IY OFFSET VALUE
EXPR_PARAM      EQU       3
EXPR_WRITING    EQU       4
;
indicflags      EQU       18          ; IY OFFSET VALUE
indicRun        EQU       0
indicOnly       EQU       2
;
shiftflags      EQU       18          ; IY OFFSET VALUE
shift2nd        EQU       3
shiftAlpha      EQU       4
shiftALock      EQU       6
;
tblflags        EQU       19          ; IY OFFSET VALUE
AutoFill        EQU       4
AutoCalc        EQU       5
;
sgrflags        EQU       20          ; IY OFFSET VALUE
grfSplit        EQU       0
VertSplit       EQU       1
WRITE_ON_GRAPH  EQU       4
textwrite       EQU       7
;
asm_flag1       EQU       33          ; IY OFFSET VALUE
asm_flag1_0     EQU       0
asm_flag1_1     EQU       1
asm_flag1_2     EQU       2
asm_flag1_3     EQU       3
asm_flag1_4     EQU       4
asm_flag1_5     EQU       5
asm_flag1_6     EQU       6
asm_flag1_7     EQU       7
;
asm_flag2       EQU       34          ; IY OFFSET VALUE
asm_flag2_0     EQU       0
asm_flag2_1     EQU       1
asm_flag2_2     EQU       2
asm_flag2_3     EQU       3
asm_flag2_4     EQU       4
asm_flag2_5     EQU       5
asm_flag2_6     EQU       6
asm_flag2_7     EQU       7
;
asm_flag3       EQU       35          ; IY OFFSET VALUE
asm_flag3_0     EQU       0
asm_flag3_1     EQU       1
asm_flag3_2     EQU       2
asm_flag3_3     EQU       3
asm_flag3_4     EQU       4
asm_flag3_5     EQU       5
asm_flag3_6     EQU       6
asm_flag3_7     EQU       7


; Safe Memory Areas
; -=-=-=-=-=-=-=-=-

Memory_Zone1		EQU		8265h
; 768 bytes long, used only if APD

Memory_Zone2		EQU		858Fh
; 531 bytes long, in order to be usable, no statistics must be calcultated
; and Flag "StatsValid, (IY + StatFlags)" must be reset.

Memory_Zone3		EQU		80C9h
; 128 bytes long, you mustn't write text to the screen or reset this
; Flag: "AppTextSave, (IY + AppFlags)"

Memory_Zone4		EQU		8039h
; 66 bytes long, you can't do any fp operations or use routines such
; as _ChkFindSym or _NewProg

Memory_Zone5		EQU		8094h
; 10 bytes long, some fp operations will modify this zone.

#IfDef		TI83P
Error: TI-83+ not supported
#EndIf
