diff --git a/DSS/DOS_X.ASM b/DSS/DOS_X.ASM index e345f96..a127d51 100644 --- a/DSS/DOS_X.ASM +++ b/DSS/DOS_X.ASM @@ -646,7 +646,34 @@ BACK_CUR_PATH: ; выход: A - номер последнего лог. диска в системе ;/////////////////////////////////////////////////////////////////////// ; INCLUDE 'ScanDRV.asm' - INCLUDE 'NScanDRV.asm' +;!TODO код дико костыльный и будет переделан вместе с процедурой INITDVC +SCANDRV: +; 1. запоминаем состояние прерываний +; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; + LD A,R + DI + PUSH AF +; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; +; 2. узнаём букву бут-диска +; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; + CALL GETBOOT +; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; +; 3. вызываем рескан +; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; + ; A = Boot disk + LD B,A + LD A,Dss.DRV.RescanDRV + LD C,Dss.DRV.RescanDRV + RST ToDSS.DRV + LD (LDRIVE),A +; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; +; 4. выход +; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; + POP AF + RET PO + EI + RET +; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; ;/////////////////////////////////////////////////////////////////////// ; diff --git a/DSS/Media_drivers/NScanDRV2.ASM b/DSS/Media_drivers/ReScanDRV.ASM similarity index 100% rename from DSS/Media_drivers/NScanDRV2.ASM rename to DSS/Media_drivers/ReScanDRV.ASM diff --git a/DSS/Media_drivers/shared-drv.asm b/DSS/Media_drivers/shared-drv.asm index 0c2abf9..af304f2 100644 --- a/DSS/Media_drivers/shared-drv.asm +++ b/DSS/Media_drivers/shared-drv.asm @@ -259,13 +259,13 @@ NETWORK EQU #0008 - - //////////////////////////////////////////////////////////////////////// // NEW RESCAN // //////////////////////////////////////////////////////////////////////// - INCLUDE 'NScanDRV2.ASM' + INCLUDE 'ReScanDRV.ASM' //////////////////////////////////////////////////////////////////////// + + ;DEVICE DB #00 ; DW FDDRIVE ; FDD A ; DB #01 diff --git a/DSS/NScanDRV.ASM b/DSS/NScanDRV.ASM deleted file mode 100644 index 2364310..0000000 --- a/DSS/NScanDRV.ASM +++ /dev/null @@ -1,28 +0,0 @@ -;!TODO код дико костыльный и будет переделан вместе с процедурой INITDVC -SCANDRV: -; 1. запоминаем состояние прерываний -; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; - LD A,R - DI - PUSH AF -; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; -; 2. узнаём букву бут-диска -; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; - CALL GETBOOT -; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; -; 3. вызываем рескан -; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; - ; A = Boot disk - LD B,A - LD A,Dss.DRV.RescanDRV - LD C,Dss.DRV.RescanDRV - RST ToDSS.DRV - LD (LDRIVE),A -; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; -; 4. выход -; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; - POP AF - RET PO - EI - RET -; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; \ No newline at end of file diff --git a/DSS/build.txt b/DSS/build.txt index 43f9cb6..c0220a2 100644 --- a/DSS/build.txt +++ b/DSS/build.txt @@ -1 +1 @@ -396 \ No newline at end of file +397 \ No newline at end of file