zxuno-git/SD/SYS
antoniovillena 920831ce69 rtc.sys bug mcleod 2023-03-25 14:38:13 +01:00
..
CONFIG upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
KEYMAPS Arreglo bugs 2018-10-15 13:12:46 +02:00
NMI Añado contenido SD 2018-10-14 19:49:13 +02:00
AUTOBOOT.BAS upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
BDIR.KO upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
BETADISK.SYS upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
BFILE.KO upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
CUSTOM upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
CUSTOM.ASM upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
CUSTOM.ZDSP upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
ERRMSG.KO Añado contenido SD 2018-10-14 19:49:13 +02:00
ESXDOS.SYS upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
NMI.INC upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
NMI.PUBLICS upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
NMI.SYS upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
NMI_HELP.SCR upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
README.TXT upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
RTC.SYS rtc.sys bug mcleod 2023-03-25 14:38:13 +01:00
TAPE.KO upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
TRDBOOT.BIN upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
TRDOS54T.KO upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00
VDISK.KO upgrade esxdos to 0.8.9 2021-05-04 10:11:49 +02:00

README.TXT

; =============================================================================
; FUNCTIONS
; =============================================================================

; -----------------------------------------------------------------------------
; waitKey   wait for key or mouse
;
; input:    -
; output:   a = key pressed
; destroys: af,bc,de,hl
; -----------------------------------------------------------------------------

; -----------------------------------------------------------------------------
; readKey   read key
;
; input:    -
; output:   a = key pressed, 0 if none
; destroys: af,bc,de,hl
; -----------------------------------------------------------------------------

; -----------------------------------------------------------------------------
; clrScr    clear screen lines
;
; input:    a = attribute
;           b = number of lines to clear
;           c = start line
; output:   -
; destroys: af,bc,de,hl,af'
; -----------------------------------------------------------------------------

; -----------------------------------------------------------------------------
; utoa      Converts to asciiz and print at cursor position an unsigned int
;           Skips '0' on the left
;           Updates cursor coordinates
;
; input:    hl = unigned int to convert
; output:   -
; destroys: af,bc,de,hl
; -----------------------------------------------------------------------------

; -----------------------------------------------------------------------------
; prtDec    Print a asciiz string representing a number at cursor position
;           Skips '0' on the left
;			Updates cursor coordinates
;
; input:    hl = pointer to asciiz string
; output:   hl = pointer to end of string
; destroys: af,bc,de,hl,af'
; -----------------------------------------------------------------------------

; -----------------------------------------------------------------------------
; prStr     Print a asciiz string at cursor position
;           Updates cursor coordinates
;
; input:    hl = pointer to asciiz string
; output:   hl = pointer to end of string
; destroys: af,bc,de,hl,af'
; -----------------------------------------------------------------------------

; -----------------------------------------------------------------------------
; prChr     Print a character at cursor
;           Updates cursor coordinates
;
; 			Based on code by Andrew Owen in a thread on WoSF.
; 			Based on code by Tony Samuels from Your Spectrum issue 13, April
;			1985. A channel wrapper for the 64-column display driver.
;
; input:    a = char to print
; output:   -
; destroys: af,bc,de,hl,af'
; -----------------------------------------------------------------------------

; =============================================================================
; VARIABLES
; =============================================================================

NMIbuf		word	pointer to NMI_BUFFER
savedSP		word	SP register saved on NMI navigator entry
divRAM		word	number of 8k RAM pages found on divXXX
esxDOSv		byte	version of esxDOS
					'5' version is 0.8.5
					'6' version is 0.8.6
flg128k		byte	copy of NMI_BUFFER RAM Size (0=16k,1=48k,2=128k)

bDName		bytes	selected (at cursor) file/dirname asciiz string
bDAttr		byte	selected (at cursor) file/dirname attributes (like MS-DOS)
					bit 4 (1=directory, 0=file)

ovrBuf		word	address of overlay buffer

; =============================================================================
; CONSTANTS
; =============================================================================

SIZ_OVR		size of overlay buffer

COL_MID		attributes of mid zone
COL_TOP		attributes of top line
COL_BOT		attributes of bottom line
COL_CUR		attributes of cursor line
COL_ERR		attributes of error message

; =============================================================================
; esxDOS STRUCTURES
; =============================================================================

; ----------
; NMI_BUFFER
; ----------
;
; Offset   Size   Description
; ----------------------------------------------------------------------------
; 0        1      byte   I                              <- 48k SNA, 27 bytes
; 1        8      word   HL',DE',BC',AF'
; 9        10     word   HL,DE,BC,IY,IX
; 19       1      byte   Interrupt (bit 2 contains IFF2, 1=EI/0=DI)
; 20       1      byte   R
; 21       4      words  AF,SP
; 25       1      byte   IntMode (0=IM0/1=IM1/2=IM2)
; 26       1      byte   BorderColor (0..7)
;
; v0.8.0, v0.8.5
;
; 27       2      word   PC (Program Counter)           <- 128k SNA, 4 bytes
; 29       1      byte   RAM bank paged in @ $c000
; 30       1      byte   TR-DOS (SNA file format)
; 30       1      byte   RAM Size (0=16k,1=48k,2=128k)  <- CONFLICT !!!
;
; v0.8.6
;
; 27       1      byte   RAM Size (0=16k,1=48k,2=128k)
; 28       2      word   PC (Program Counter)           <- 128k SNA, 4 bytes
; 30       1      byte   RAM bank paged in @ $c000
; 31       1      byte   TR-DOS (SNA file format)
;