mirror of
https://github.com/cc65/cc65.git
synced 2024-11-18 00:07:21 +00:00
b66b04f289
git-svn-id: svn://svn.cc65.org/cc65/trunk@3777 b7a2c559-68d2-44c3-8de9-860c34a00d81
54 lines
829 B
ArmAsm
54 lines
829 B
ArmAsm
;
|
|
; Freddy Offenga, Stefan Haubenthal, Christian Groessler, March 2007
|
|
;
|
|
; detect the DOS version we're running on
|
|
;
|
|
|
|
.include "atari.inc"
|
|
.constructor detect,26
|
|
.export __dos_type
|
|
|
|
; ------------------------------------------------------------------------
|
|
; DOS type detection
|
|
|
|
.segment "INIT"
|
|
|
|
detect: lda #ATARIDOS
|
|
sta __dos_type ; set default
|
|
|
|
lda DOS
|
|
cmp #'S' ; SpartaDOS
|
|
beq spdos
|
|
cmp #'M' ; MyDOS
|
|
beq mydos
|
|
|
|
ldy #COMTAB
|
|
lda #$4C
|
|
cmp (DOSVEC),y
|
|
bne done
|
|
|
|
ldy #ZCRNAME
|
|
cmp (DOSVEC),y
|
|
bne done
|
|
|
|
ldy #6 ; OS/A+ has a jmp here
|
|
cmp (DOSVEC),y
|
|
beq done
|
|
lda #OSADOS
|
|
.byte $2C ; BIT <abs>
|
|
|
|
spdos: lda #SPARTADOS
|
|
.byte $2C ; BIT <abs>
|
|
|
|
mydos: lda #MYDOS
|
|
sta __dos_type
|
|
done: rts
|
|
|
|
; ------------------------------------------------------------------------
|
|
; Data
|
|
|
|
.bss
|
|
|
|
__dos_type: .res 1
|
|
|