2004-03-11 21:54:22 +00:00
|
|
|
;
|
|
|
|
; Oliver Schmidt, 08.03.2004
|
|
|
|
;
|
|
|
|
; Identify DOS version we're running on as one of these:
|
|
|
|
;
|
2005-03-26 17:03:30 +00:00
|
|
|
; AppleDOS 3.3 - $00
|
|
|
|
; ProDOS 8 1.0.1 - $10
|
|
|
|
; ProDOS 8 1.0.2 - $10
|
|
|
|
; ProDOS 8 1.1.1 - $11
|
|
|
|
; ProDOS 8 1.2 - $12
|
|
|
|
; ProDOS 8 1.3 - $13
|
|
|
|
; ProDOS 8 1.4 - $14
|
|
|
|
; ProDOS 8 1.5 - $15
|
|
|
|
; ProDOS 8 1.6 - $16
|
|
|
|
; ProDOS 8 1.7 - $17
|
|
|
|
; ProDOS 8 1.8 - $18
|
|
|
|
; ProDOS 8 1.9 - $18
|
|
|
|
; ProDOS 8 2.0.1 - $21
|
|
|
|
; ProDOS 8 2.0.2 - $22
|
|
|
|
; ProDOS 8 2.0.3 - $23
|
|
|
|
;
|
2004-03-11 21:54:22 +00:00
|
|
|
|
2005-04-05 21:11:10 +00:00
|
|
|
.constructor initdostype, 25
|
|
|
|
.export __dos_type
|
2004-03-11 21:54:22 +00:00
|
|
|
|
2005-04-05 21:11:10 +00:00
|
|
|
.include "mli.inc"
|
2004-03-11 21:54:22 +00:00
|
|
|
|
|
|
|
; Identify DOS version according to:
|
|
|
|
; - "Beneath Apple ProDOS", chapter 6-63
|
|
|
|
; - "Apple II ProDOS 8 TechNote #023: ProDOS 8 Changes and Minutia"
|
|
|
|
; - ProDOS TechRefMan, chapter 5.2.4
|
|
|
|
|
2005-03-26 17:03:30 +00:00
|
|
|
.segment "INIT"
|
2005-02-26 09:34:01 +00:00
|
|
|
|
2004-03-11 21:54:22 +00:00
|
|
|
initdostype:
|
2005-04-05 21:11:10 +00:00
|
|
|
lda ENTRY
|
|
|
|
cmp #$4C ; Is MLI present? (JMP opcode)
|
|
|
|
bne done
|
|
|
|
lda KVERSION ; ProDOS 8 kernel version
|
|
|
|
cmp #$10
|
|
|
|
bcs :+
|
|
|
|
ora #$10 ; Make high nibble match major version
|
|
|
|
: sta __dos_type
|
2005-03-26 17:03:30 +00:00
|
|
|
done: rts
|
2004-03-11 21:54:22 +00:00
|
|
|
|
2005-03-26 17:03:30 +00:00
|
|
|
.bss
|
2004-03-11 21:54:22 +00:00
|
|
|
|
2005-04-05 21:11:10 +00:00
|
|
|
__dos_type: .res 1
|