fixed memory damage in CBDOS
This commit is contained in:
1 parent
86d91e224c
commit
992829c60a
4 files changed
+23
-15
No files matched your search
@@ -6,6 +6,9 @@
|
|||||||
|
|
||||||
dos_MEMCHK:
|
dos_MEMCHK:
|
||||||
|
|
||||||
|
pha
|
||||||
|
phx
|
||||||
|
|
||||||
; Check for magic string
|
; Check for magic string
|
||||||
|
|
||||||
ldx #$04
|
ldx #$04
|
||||||
@@ -34,10 +37,14 @@ dos_MEMCHK:
|
|||||||
cmp code_RTS_03
|
cmp code_RTS_03
|
||||||
bne @fail
|
bne @fail
|
||||||
|
|
||||||
|
plx
|
||||||
|
pla
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@fail:
|
@fail:
|
||||||
|
|
||||||
|
plx
|
||||||
|
pla
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
@@ -6,13 +6,13 @@
|
|||||||
|
|
||||||
dos_UNITCHK:
|
dos_UNITCHK:
|
||||||
|
|
||||||
jsr dos_ENTER
|
; Before the start make sure memory content is not damaged
|
||||||
|
|
||||||
; Check if memory content is not damaged
|
|
||||||
|
|
||||||
jsr dos_MEMCHK
|
jsr dos_MEMCHK
|
||||||
bcs dos_UNITCHK_fail
|
bcc @ok
|
||||||
lda REG_A
|
rts
|
||||||
|
@ok:
|
||||||
|
jsr dos_ENTER
|
||||||
|
|
||||||
; Check for unit
|
; Check for unit
|
||||||
|
|
||||||
|
|||||||
@@ -6,13 +6,14 @@
|
|||||||
|
|
||||||
dos_UNITNUM:
|
dos_UNITNUM:
|
||||||
|
|
||||||
jsr dos_ENTER
|
; Before the start make sure memory content is not damaged
|
||||||
|
|
||||||
; Check if memory content is not damaged
|
|
||||||
|
|
||||||
jsr dos_MEMCHK
|
jsr dos_MEMCHK
|
||||||
bcs dos_UNITNUM_fail
|
bcc @ok
|
||||||
lda REG_A
|
lda #$00 ; failure
|
||||||
|
rts
|
||||||
|
@ok:
|
||||||
|
jsr dos_ENTER
|
||||||
|
|
||||||
; Check what kind of device was requested
|
; Check what kind of device was requested
|
||||||
|
|
||||||
|
|||||||
@@ -6,14 +6,14 @@
|
|||||||
|
|
||||||
dos_UNITSET:
|
dos_UNITSET:
|
||||||
|
|
||||||
jsr dos_ENTER
|
; Before the start make sure memory content is not damaged
|
||||||
|
|
||||||
; Check if memory content is not damaged
|
|
||||||
|
|
||||||
jsr dos_MEMCHK
|
jsr dos_MEMCHK
|
||||||
bcc @1
|
bcc @ok
|
||||||
rts
|
rts
|
||||||
@1:
|
@ok:
|
||||||
|
jsr dos_ENTER
|
||||||
|
|
||||||
; XXX do not allow illegal device numbers... above 30 or below 8 ?
|
; XXX do not allow illegal device numbers... above 30 or below 8 ?
|
||||||
|
|
||||||
; Check what kind of device was requested
|
; Check what kind of device was requested
|
||||||
|
|||||||
Reference in new issue
Block a user