In the parameter lists that follow, (Res) is used to denote a value that the MLI call returns, (Val) is used to denote a value passed to the MLI routine, and (Ptr) is used to denote a pointer (address) of a string, buffer, or routine.
Path names are stored in memory as Pascal strings (that is, a count byte followed by the actual path name). For the RENAME command, both path names must be identical except for the last name.
A Unit Number is a byte of the form DSSSLLLL, where D is the drive number (0 for drive 1 or 1 for drive 2), SSS is the slot number, and LLLL is the length of the name. For the ONLINE command, you can specify 0 as the Unit Number to return the names of all the drives.
A Storage Type is a byte with the length of the file name in the lower nybble and the storage type (0 for an inactive file, 1 for a seedling, 2 for a sapling, 3 for a tree, $D for a directory) in the upper nybble.
A date is stored in the format MMMDDDDD YYYYYYYM.
A time is stored with the minute in the first byte and the hour (in 24-hour format) in the second byte.
An Access Code is a byte of the format DRBXXXWR. In order: file can be deleted, file can be renamed, file hasn't been backed up, reserved, reserved, reserved, file can be written to, and file can be read.
The Enable Mask is the AND mask used to compare the data in the file to the new line character. If it is 0, no character is used as the new line character.
Request Count is the number of bytes to be read or written to a file. Transfer Count is the number of bytes that were actually read or written.
File Types and Aux Types can be found here.
Interrupt Code must be a number between 1 and 4.
All Reserved parameters should be left set at 0.
After a GET TIME call, or any call for that matter, the hour is stored in address $BF93 (49043 decimal) and the minute is stored in address $BF92 (49042 decimal).
$40 ALLOC INTERRUPT - Parameters: 2
Interrupt Number (Res) - 1 Byte
Interrupt Code (Ptr) - 2 Bytes
$41 DEALLOC INTERRUPT - Parameters: 1
Interrupt Number (Val) - 1 Byte
$65 QUIT - Parameters: 4
Reserved (Val) - 1 Byte
Reserved (Ptr) - 2 Bytes
Reserved (Val) - 1 Byte
Reserved (Ptr) - 2 Bytes
$80 READ BLOCK - Parameters: 3
Unit Number (Val) - 1 Byte
Data Buffer (Ptr) - 2 Bytes
Block Number (Val) - 2 Bytes
$81 WRITE BLOCK - Parameters: 3
Unit Number (Val) - 1 Byte
Data Buffer (Ptr) - 2 Bytes
Block Number (Val) - 2 Bytes
$82 GET TIME - Parameters: 0
$C0 CREATE - Parameters: 7
Path Name (Ptr) - 2 Bytes
Access Code (Val) - 1 Byte
File Type (Val) - 1 Byte
Aux Type (Val) - 2 Bytes
Storage Type (Val) - 1 Byte
Creation Date (Val) - 2 Bytes
Creation Time (Val) - 2 Bytes
$C1 DESTROY - Parameters: 1
Path Name (Ptr) - 2 Bytes
$C2 RENAME - Parameters: 2
Path Name (Ptr) - 2 Bytes
New Path Name (Ptr) - 2 Bytes
$C3 SET FILE INFO - Parameters: 7
Path Name (Ptr) - 2 Bytes
Access Code (Val) - 1 Byte
File Type (Val) - 1 Byte
Aux Type (Val) - 2 Bytes
Reserved (Val) - 3 Bytes
Modification Date (Val) - 2 Bytes
Modification Time (Val) - 2 Bytes
$C4 GET FILE INFO - Parameters: 10 ($A)
Path Name (Ptr) - 2 Bytes
Access Code (Res) - 1 Byte
File Type (Res) - 1 Byte
Aux Type (Res) - 2 Bytes
Storage Type (Res) - 1 Byte
Blocks Used (Res) - 2 Bytes
Modification Date (Res) - 2 Bytes
Modification Time (Res) - 2 Bytes
Creation Date (Res) - 2 Bytes
Creation Time (Res) - 2 Bytes
$C5 ONLINE - Parameters: 2
Unit Number (Val) - 1 Byte
Data Buffer (Ptr) - 2 Bytes
$C6 SET PREFIX - Parameters: 1
Path Name (Ptr) - 2 Bytes
$C7 GET PREFIX - Parameters: 1
Data Buffer (Ptr) - 2 Bytes
$C8 OPEN - Parameters: 3
Path Name (Ptr) - 2 Bytes
I/O Buffer (Ptr) - 2 Bytes
Reference Number (Res) - 1 Byte
$C9 NEW LINE - Parameters: 3
Reference Number (Val) - 1 Byte
Enable Mask (Val) - 1 Byte
New Line Character (Val) - 1 Byte
$CA READ - Parameters: 4
Reference Number (Val) - 1 Byte
Data Buffer (Ptr) - 2 Bytes
Request Count (Val) - 2 Bytes
Transfer Count (Res) - 2 Bytes
$CB WRITE - Parameters: 4
Reference Number (Val) - 1 Byte
Data Buffer (Ptr) - 2 Bytes
Request Count (Val) - 2 Bytes
Transfer Count (Res) - 2 Bytes
$CC CLOSE - Parameters: 1
Reference Number (Val) - 1 Byte
$CD FLUSH - Parameters: 1
Reference Number (Val) - 1 Byte
$CE SET MARK - Parameters: 2
Reference Number (Val) - 1 Byte
Position in File (Val) - 3 Bytes
$CF GET MARK - Parameters: 2
Reference Number (Val) - 1 Byte
Position in File (Res) - 3 Bytes
$D0 SET EOF - Parameters: 2
Reference Number (Val) - 1 Byte
End of File (Val) - 3 Bytes
$D1 GET EOF - Parameters: 2
Reference Number (Val) - 1 Byte
End of File (Res) - 3 Bytes
$D2 SET BUFFER - Parameters: 2
Reference Number (Val) - 1 Byte
I/O Buffer (Ptr) - 2 Bytes
$D3 GET BUFFER - Parameters: 2
Reference Number (Val) - 1 Byte
I/O Buffer (Ptr) - 2 Bytes
|
Site Design & Programming & Content © 1999-2010 Kreative Korporation / Kreative Software / Kreative Entertainment. All rights reserved. Exceptions are otherwise noted. This is Beckie's site! |