New version from Oliver Schmidt

git-svn-id: svn://svn.cc65.org/cc65/trunk@3421 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2005-03-26 17:03:30 +00:00
parent fe2d8f26ed
commit 071c58bda2
27 changed files with 512 additions and 598 deletions

View File

@@ -3,45 +3,46 @@
;
; Identify DOS version we're running on as one of these:
;
; AppleDOS 3.3 $00
; ProDOS 1.0.1 $10
; ProDOS 1.0.2 $10
; ProDOS 1.1.1 $11
; ProDOS 1.2 $12
; ProDOS 1.3 $13
; ProDOS 1.4 $14
; ProDOS 1.5 $15
; ProDOS 1.6 $16
; ProDOS 1.7 $17
; ProDOS 1.8 $18
; ProDOS 1.9 $18
; ProDOS 2.0.1 $21
; ProDOS 2.0.2 $22
; ProDOS 2.0.3 $23
; 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
;
.constructor initdostype
.export __dos_type
.constructor initdostype
.export __dos_type
.include "apple2.inc"
.include "mli.inc"
; 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
.segment "INIT"
.segment "INIT"
initdostype:
lda MLI
cmp #$4C ; Is MLI present? (JMP opcode)
bne done
lda $BFFF ; ProDOS KVERSION
cmp #$10
bcs :+
ora #$10 ; Make high nibble match major version
: sta __dos_type
done: rts
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
done: rts
.bss
.bss
__dos_type: .res 1
__dos_type: .res 1