]> git.sur5r.net Git - cc65/blobdiff - asminc/atari.inc
Fix duplicated variables
[cc65] / asminc / atari.inc
index b8f883cd865522cb6e9d60bf7da38bb9976b359f..98c721296c4473a537e0a79bd3b2f79eeca80fe0 100644 (file)
@@ -7,6 +7,7 @@
 ; - 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)
@@ -183,6 +184,7 @@ FNTFND  = 170           ;($AA) file not found
 PNTINV  = 171           ;($AB) point invalid
 BADDSK  = 173           ;($AD) bad disk
 INCFMT  = 176           ;($B0) DOS 3: incompatible file system
+XNTBIN  = 180           ;($B4) XDOS: file not binary
 
 ; DCB Device Bus Equates
 
@@ -756,6 +758,34 @@ FPSCR1  = $05EC         ;6-byte floating point temporary
 
 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
 ;-------------------------------------------------------------------------
@@ -889,6 +919,10 @@ SETVBV_org  = $E45C     ;vector to set VBLANK parameters
 CIOV    = $E456         ;vector to CIO
 SIOV    = $E459         ;vector to SIO
 SETVBV  = $E45C         ;vector to set VBLANK parameters
+; aliases in order not to have to sprinkle common code with .ifdefs
+CIOV_org    = CIOV
+SIOV_org    = SIOV
+SETVBV_org  = SETVBV
 .endif
 SYSVBV  = $E45F         ;vector to process immediate VBLANK
 XITVBV  = $E462         ;vector to process deferred VBLANK
@@ -998,10 +1032,12 @@ diopp_size   = 5        ; size of structure
 ;-------------------------------------------------------------------------
 
 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.
@@ -1019,7 +1055,15 @@ XFILE        = $087D    ; XDOS filename buffer
 XLINE        = $0880    ; XDOS DUP input line
 XGLIN        = $0871    ; get line
 XSKIP        = $0874    ; skip parameter
+.ifdef __ATARIXL__
+.ifndef SHRAM_HANDLERS
+.import XMOVE_handler
+.endif
+.define XMOVE XMOVE_handler
+XMOVE_org    = $0877    ; move filename
+.else
 XMOVE        = $0877    ; move filename
+.endif
 XGNUM        = $087A    ; get number
 
 ;-------------------------------------------------------------------------