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


	Inidium provides programmers with built in static libarys, libarys
can be used as long as you don't use any Rom Calls that modify the memory
directly after your program(i.e. InsertMem & DeleteMem). To use Inidium's
libarys, it is recommended that you use the equates in Inidium.Inc.
The funtions are:

Dium_Version
Dium_Random
Dium_Sprite
Dium_ExtendedSprite
Dium_Pixel
Dium_FstCopy
Dium_Scan
Dium_Expand


<History>
-=-=-=-=-
	Version 01.00.01,


<Using Libarys>
-=-=-=-=-=-=-=-
	Most Routines included are Static versions of Joe Wingbuermuhles
ZLIB & ZGFXL. But unlike version 00.09.00 of Inidium, libarys are no longer
set up un runtime but are integrated before in order to permit new routines
to be created, still no code of the libaries is modified, they stay in their
orginial versions.

Name				Author


Dium_Version			Cygnus X-1 Technologies
 >>      <<
	This routine returns information about current version of Inidium,
in order to keep compatibility up with Ion, output is the nearly the
same.


Dium_Random			Cygnus X-1 Technologies
 >>     <<
	This routine generates an eight-bit random number.
     Input:	B:  Upper limit
     Output:	A:  Random Number
		B:  00h
		Interupts are enabled.
Registers AF & B are destroyed.


Dium_Sprite			Joe Wingbuermuehle
 >>     <<
	This routine writes a sprite to the graph buffer.
     Input:	B:  Sprite vertical length
		A:  X Coord
		L:  Y Coord
		IX: Ptr to Sprite
     Output:	Sprite is written to the graph buffer &
		IX: Ptr to Sprite + vertical length
Registers AF, BC, DE, HL & IX destroyed.


Dium_ExtendedSprite		Joe Wingbuermuehle
 >>             <<
	Writes a large sprite to the graph buffer, note that is your sprite's
width is 8 bits or less, it is recommended to use "Dium_Sprite" as the 
routine is faster.
     Input:	IX: Ptr to Sprite
		A:  X Coord
		L:  Y Coord
		B:  Sprite vertical length
		C:  Sprite horizantal length(/8)
     Output:	Sprite is written to the graph buffer &
		IX: Ptr To End Of Sprite
Registers AF, BC, HL, DE, AF' & IX destroyed.


Dium_Pixel			Joe Wingbuermuehle
 >>    <<
	Get pixel offset and mask.
     Input:	A:  X Coord
		E:  Y Coord
     Output:	A:  Pixel mask
		HL: Pixel graph buffer offset
Registers HL, DE, BC & AF destroyed.


Dium_FstCopy			Joe Wingbuermuehle
 >>      <<
	Copys the graph buffer to LCD, faster than Os routine _grbufcopy.
     Input:	Nothing.
     Output:	LCD is refreshed.
Resgisters HL, DE, BC & AF destroyed.


Dium_Scan
	Searchs for a file with a specific header.
     Input:	HL: Search begin(e.g. first (ProgPtr)
		IX: Ptr to zero terminated header
     Output:	DE: Search end + 01h
		HL: Ptr to program data after header
		Flag Z=0 if file found otherwise 1.
Registers HL, DE, BC & AF destroyed.


Dium_Expand			Joe Wingbuermuehle
 >>     <<
	Expand data to bytes(this isn't a decompression routine).
     Input:	HL: Packed data
		DE: Memory block to unexpand data
		B:  Length of packed data(i.e. maximum = 0FFh)
		C:  Module factor (i.e. 1, 2 or 4 bits per byte)
     Output:	Data is unpacked to memory block.
		HL: Next byte after packed data
Registers HL, DE, BC & AF destroyed.


1999 Cygnus X-1 Technologies
x1cygnus@wanadoo.fr - ICQ 38240788
http://perso.wanadoo.fr/x1cygnus