; - Atari OS manual - XL addendum
; - Atari XL/XE rev.2 source code, Atari 1984
; - Mapping the Atari - revised edition, Ian Chadwick 1985
+; - SpartaDOS-X User Guide (Aug-8-2016)
;
; ##old## old OS rev.B label - moved or deleted
; ##1200xl## new label introduced in 1200XL OS (rev.10/11)
DOS = $0700
+;-------------------------------------------------------------------------
+; SpartaDOS-X Definitions
+;-------------------------------------------------------------------------
+
+SDX_FLAG = DOS ; 'S' for SpartaDOS
+SDX_VERSION = $0701 ; SD version (e.g. $32 = 3.2, $40 = 4.0)
+ ; address $0702 contains sub-version, e.g.
+ ; 8 in case of SDX 4.48
+SDX_KERNEL = $0703 ; SDX kernel entry point
+SDX_BLOCK_IO = $0706 ; block I/O entry point
+SDX_MISC = $0709 ; "misc" entry point
+SDX_DEVICE = $0761
+SDX_DATE = $077B ; day, month, year (3 bytes)
+SDX_TIME = $077E ; hour, min, sec (3 bytes)
+SDX_DATESET = $0781
+SDX_PATH = $07A0 ; 64 bytes
+SDX_IFSYMBOL = $07EB ; only valid on SDX 4.40 or newer
+SDX_S_LOOKUP = SDX_IFSYMBOL ; alternative name for SDX_IFSYMBOL
+
+; values for SDX_DEVICE
+
+SDX_CLK_DEV = $10 ; clock device
+
+; clock device functions
+
+SDX_KD_GETTD = 100 ; get time and date
+SDX_KD_SETTD = 101 ; set time and date
+
;-------------------------------------------------------------------------
; Cartridge Address Equates
;-------------------------------------------------------------------------
POKEY = $D200 ;POKEY area
.include "atari_pokey.inc"
+; POKEY KBCODE Values
+
+KEY_NONE = $FF
+
+KEY_0 = $32
+KEY_1 = $1F
+KEY_2 = $1E
+KEY_3 = $1A
+KEY_4 = $18
+KEY_5 = $1D
+KEY_6 = $1B
+KEY_7 = $33
+KEY_8 = $35
+KEY_9 = $30
+
+KEY_A = $3F
+KEY_B = $15
+KEY_C = $12
+KEY_D = $3A
+KEY_E = $2A
+KEY_F = $38
+KEY_G = $3D
+KEY_H = $39
+KEY_I = $0D
+KEY_J = $01
+KEY_K = $05
+KEY_L = $00
+KEY_M = $25
+KEY_N = $23
+KEY_O = $08
+KEY_P = $0A
+KEY_Q = $2F
+KEY_R = $28
+KEY_S = $3E
+KEY_T = $2D
+KEY_U = $0B
+KEY_V = $10
+KEY_W = $2E
+KEY_X = $16
+KEY_Y = $2B
+KEY_Z = $17
+
+KEY_COMMA = $20
+KEY_PERIOD = $22
+KEY_SLASH = $26
+KEY_SEMICOLON = $02
+KEY_PLUS = $06
+KEY_ASTERISK = $07
+KEY_DASH = $0E
+KEY_EQUALS = $0F
+KEY_LESSTHAN = $36
+KEY_GREATERTHAN = $37
+
+KEY_ESC = $1C
+KEY_TAB = $2C
+KEY_SPACE = $21
+KEY_RETURN = $0C
+KEY_DELETE = $34
+KEY_CAPS = $3C
+KEY_INVERSE = $27
+KEY_HELP = $11
+
+KEY_F1 = $03
+KEY_F2 = $04
+KEY_F3 = $13
+KEY_F4 = $14
+
+KEY_SHIFT = $40
+KEY_CTRL = $80
+
+; Composed keys
+
+KEY_EXCLAMATIONMARK = KEY_1 | KEY_SHIFT
+KEY_QUOTE = KEY_2 | KEY_SHIFT
+KEY_HASH = KEY_3 | KEY_SHIFT
+KEY_DOLLAR = KEY_4 | KEY_SHIFT
+KEY_PERCENT = KEY_5 | KEY_SHIFT
+KEY_AMPERSAND = KEY_6 | KEY_SHIFT
+KEY_APOSTROPHE = KEY_7 | KEY_SHIFT
+KEY_AT = KEY_8 | KEY_SHIFT
+KEY_OPENINGPARAN = KEY_9 | KEY_SHIFT
+KEY_CLOSINGPARAN = KEY_0 | KEY_SHIFT
+KEY_UNDERLINE = KEY_DASH | KEY_SHIFT
+KEY_BAR = KEY_EQUALS | KEY_SHIFT
+KEY_COLON = KEY_SEMICOLON | KEY_SHIFT
+KEY_BACKSLASH = KEY_PLUS | KEY_SHIFT
+KEY_CIRCUMFLEX = KEY_ASTERISK | KEY_SHIFT
+KEY_OPENINGBRACKET = KEY_COMMA | KEY_SHIFT
+KEY_CLOSINGBRACKET = KEY_PERIOD | KEY_SHIFT
+KEY_QUESTIONMARK = KEY_SLASH | KEY_SHIFT
+KEY_CLEAR = KEY_LESSTHAN | KEY_SHIFT
+KEY_INSERT = KEY_GREATERTHAN | KEY_SHIFT
+
+KEY_UP = KEY_UNDERLINE | KEY_CTRL
+KEY_DOWN = KEY_EQUALS | KEY_CTRL
+KEY_LEFT = KEY_PLUS | KEY_CTRL
+KEY_RIGHT = KEY_ASTERISK | KEY_CTRL
+
;-------------------------------------------------------------------------
; ANTIC Address Equates
;-------------------------------------------------------------------------
;-------------------------------------------------------------------------
SPARTADOS = 0
-OSADOS = 1 ; OS/A+
-XDOS = 2
-ATARIDOS = 3
-MYDOS = 4
+REALDOS = 1
+BWDOS = 2
+OSADOS = 3 ; OS/A+
+XDOS = 4
+ATARIDOS = 5
+MYDOS = 6
NODOS = 255
; The DOSes with dos_type below or equal MAX_DOS_WITH_CMDLINE do support
; command line arguments.