50 lines
631 B
NASM
50 lines
631 B
NASM
|
|
BDOS .equ 0x0005
|
|
_DOSVER .equ 0x6F
|
|
_STROUT .equ 0x09
|
|
|
|
.area _CODE
|
|
JP MAIN
|
|
.db 0x0D
|
|
.db 0x0D,0x0A
|
|
.str "MSX-DOS1 ver(sion) command."
|
|
.db 0x0D,0x0A
|
|
.db 0x1A
|
|
|
|
MAIN:
|
|
XOR A
|
|
LD DE,#TXT_DOS
|
|
LD C,#_STROUT
|
|
CALL BDOS
|
|
|
|
XOR A
|
|
LD C,#_DOSVER
|
|
CALL BDOS
|
|
|
|
LD A,B; DOS VERSION
|
|
CP #1
|
|
LD C,#_STROUT
|
|
LD DE,#TXT_DOS1
|
|
JP C,BDOS
|
|
|
|
; TODO: print full version
|
|
; BC = MSX-DOS kernel version as BCD 0234h
|
|
; DE = MSXDOS2.SYS version number
|
|
ADD #48
|
|
LD DE,#TXT_VERSION
|
|
LD (DE),A
|
|
|
|
XOR A
|
|
LD C,#_STROUT
|
|
CALL BDOS
|
|
RET
|
|
|
|
TXT_DOS:
|
|
.str "Dos version $"
|
|
TXT_DOS1:
|
|
.str "1$"
|
|
TXT_VERSION:
|
|
.str "X.XX$"
|
|
|
|
.area _DATA
|