Estex-DSS/DSS/API/ScanDRV.asm

83 lines
2.3 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;R12
;///////////////////////////////////////////////////////////////////////
; ”ã­ªæ¨ï #08 (DSS_RESCAN). <20>¥à¥áª ­¨à®¢ âì ¤¥¢ ©áë á¨á⥬ë.
;
; ¢å®¤: ­¥â
; ¢ë室: A - ­®¬¥à ¯®á«¥¤­¥£® «®£. ¤¨áª  ¢ á¨á⥬¥
;///////////////////////////////////////////////////////////////////////
; INCLUDE 'ScanDRV.asm'
;!TODO ª®¤ ¤¨ª® ª®áâë«ì­ë© ¨ ¡ã¤¥â ¯¥à¥¤¥« ­ ¢¬¥áâ¥ á ¯à®æ¥¤ãன INITDVC
SCANDRV:
; 1. § ¯®¬¨­ ¥¬ á®áâ®ï­¨¥ ¯à¥à뢠­¨©
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
LD A,R
DI
PUSH AF
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
; 2. ã§­ ñ¬ ¡ãª¢ã ¡ãâ-¤¨áª 
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
LD A,(BOOTDSK.NUM)
;CALL BOOTDSK.GET
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
; 3. ¢ë§ë¢ ¥¬ à¥áª ­
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
; A = Boot disk
LD B,A
LD A,Dss.DRV.RescanDRV
LD C,Dss.DRV.RescanDRV
RST ToDSS.DRV
; ¯à®¢¥àª  ­  ®è¨¡ªã boot disk lost
LD HL,.BOOT_DSK_LOST
LD E, +(80-.BOOT_DSK_LOST.size)/2 ; coord X
LD BC,.BOOT_DSK_LOST.size
JP C,KERNEL_PANIC
;
LD (LDRIVE),A
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
; 4. ­  ¢á直© á«ãç © ¯¥à¥ç¨â뢠¥¬ ¤¨à४â®à¨î
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
; [ ] 10/06/24
IF OLD_DSS_FOR_OLD_EXE
LD A,(EXE_VERSION)
OR A
JR Z,.old_EXE
ENDIF
;
LD A,(CORE_BUFFERS.CurrentPath)
SUB 'A'
CALL OPENDSK.open
JR NC,.disk_norm
LD A,(BOOTDSK.NUM)
CALL OPENDSK.open
;
.disk_norm: LD HL,CORE_BUFFERS.CurrentDirectory
CALL CHDIR
JR NC,.exit
LD HL,CORE_BUFFERS.CurrentDirectory
LD (HL),0
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
; 5. ¢ë室
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
.exit: POP AF
RET PO
EI
RET
;
; [ ] 10/06/24
IF OLD_DSS_FOR_OLD_EXE
.old_EXE: LD A,(CORE_BUFFERS.FatBuffer.DRIVE)
CALL OPENDSK
;
LD HL,CORE_BUFFERS.WorkDirectory
CALL CHDIR
JR NC,.exit
LD HL,CORE_BUFFERS.WorkDirectory
LD (HL),0
JR .exit
ENDIF
.BOOT_DSK_LOST: DZ "Boot drive lost o_O"
.BOOT_DSK_LOST.size EQU $-.BOOT_DSK_LOST
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
;///////////////////////////////////////////////////////////////////////