86 lines
1.9 KiB
PHP
86 lines
1.9 KiB
PHP
; ==================================================
|
|
; Orion-128 computer
|
|
;
|
|
; ORDOS (Orion-DOS) System calls
|
|
; Disassembled by Romychs @ 2026-10-08
|
|
; ==================================================
|
|
|
|
; ORDOS Write max disk size
|
|
ORD_WMAX EQU 0xbfc4
|
|
|
|
; ORDOS Read file attributes
|
|
; Out: HL -> file address in memory,
|
|
; DE - file size,
|
|
; BC -> directory address after search
|
|
ORD_ATFM EQU 0xbfc7
|
|
|
|
; ORDOS Write start/end address of file buffer in RAM
|
|
; Inp: HL = start addr
|
|
; DE = end address
|
|
ORD_WATF EQU 0xbfca
|
|
|
|
; ORDOS Read address of file buffer in RAM
|
|
ORD_ATF EQU 0xbfcd
|
|
|
|
; ORDOS Set address of filename buffer
|
|
; Inp: HL -> filename
|
|
ORD_SDNA EQU 0xbfd0
|
|
|
|
; ORDOS Read address of filename buffer
|
|
ORD_LDMA EQU 0xbfd3
|
|
|
|
; ORDOS Set current drive
|
|
; Inp: A - 'A' or 'B' drive letter
|
|
ORD_WND EQU 0xbfd6
|
|
|
|
|
|
; ORDOS Read byte from disk
|
|
; Inp: HL -address.
|
|
; Out: A - byte from disk
|
|
ORD_RDISK EQU 0xbfdc
|
|
|
|
; ORDOS Write byte to disk
|
|
; Inp: HL -address,
|
|
; A - byte to write
|
|
ORD_WDISK EQU 0xbfdf
|
|
|
|
ORD_STOP EQU 0xbfe2
|
|
|
|
; ORDOS Search file on disk
|
|
; Inp: Filename will be set before call
|
|
; Out: A = 0 - not found, 0xff - found
|
|
; HL -> stop byte if not found, of file header if found
|
|
ORD_PSCF EQU 0xbfe5
|
|
|
|
; ORDOS Read current disk name
|
|
ORD_RND EQU 0xbfe9
|
|
|
|
; ORDOS Erase disk file
|
|
; Out: A = 0 - ok
|
|
; A = 1 - no file found
|
|
; A = 4 - read only
|
|
ORD_ERAS EQU 0xbfee
|
|
|
|
; ORDOS Open sequential file for read
|
|
ORD_OFILL EQU 0xbff1
|
|
|
|
; ORDOS Close sequential file
|
|
ODR_CFILL EQU 0xbff4
|
|
|
|
; ORDOS Write file on disk
|
|
; Out: A = 0 - success
|
|
; A = 2 - repeat
|
|
; A = 3 - no space left
|
|
ORD_WFILE EQU 0xbff7
|
|
|
|
; ORDOS Read file from disk
|
|
; Out: A = 0 - ok, 1 - file not found, 0x80 - COM file
|
|
; HL -> start address of buffer
|
|
; SP+2 -> return to OS address
|
|
ORD_RFILE EQU 0xbffa
|
|
|
|
; ORDOS Start. Entry point to ORDOS (JP)
|
|
ORD_START EQU 0xBFFD
|
|
|
|
; Start sddress of ORDOS
|
|
ORD_STADR EQU 0xBFFE |