mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
83 lines
2.3 KiB
NASM
83 lines
2.3 KiB
NASM
;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
|
||
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
|
||
;///////////////////////////////////////////////////////////////////////
|