рискованно ускорил RAM DRIVE

This commit is contained in:
Tolik 2024-08-18 01:35:09 +10:00
parent 4dedfec9e9
commit d89a2b049f
6 changed files with 206 additions and 218 deletions

View File

@ -16,7 +16,8 @@ SCANDRV:
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
; 2. ă§­ ńŹ ĄăŞ˘ă Ąăâ-¤¨áŞ  ; 2. ă§­ ńŹ ĄăŞ˘ă Ąăâ-¤¨áŞ 
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
CALL BOOTDSK.GET LD A,(BOOTDSK.NUM)
;CALL BOOTDSK.GET
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
; 3. ˘ë§ë˘ ĽŹ ŕĽáŞ ­ ; 3. ˘ë§ë˘ ĽŹ ŕĽáŞ ­
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
@ -44,9 +45,12 @@ SCANDRV:
; ;
LD A,(CORE_BUFFERS.CurrentPath) LD A,(CORE_BUFFERS.CurrentPath)
SUB 'A' SUB 'A'
CALL OPENDSK CALL OPENDSK.open
JR NC,.disk_norm
LD A,(BOOTDSK.NUM)
CALL OPENDSK.open
; ;
LD HL,CORE_BUFFERS.CurrentDirectory .disk_norm: LD HL,CORE_BUFFERS.CurrentDirectory
CALL CHDIR CALL CHDIR
JR NC,.exit JR NC,.exit
LD HL,CORE_BUFFERS.CurrentDirectory LD HL,CORE_BUFFERS.CurrentDirectory

View File

@ -29,8 +29,8 @@ KERNEL_PANIC:
LD A,1 LD A,1
OUT (SCREEN_SWITCH),A ; set scr-2 OUT (SCREEN_SWITCH),A ; set scr-2
; ;
PRINT_LINE_KERNEL_PANIC 13, .kernel_panic, .kernel_panic.size, +(COLORS.CGA.FLASH + COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.RED) PRINT_LINE_KERNEL_PANIC 13, .kernel_panic, .kernel_panic.size, +(COLORS.CGA.FLASH + COLORS.CGA.PAPER.BLUE + COLORS.CGA.INK.RED)
PRINT_LINE_KERNEL_PANIC 18, .press_CAD, .press_CAD.size, +(COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.WHITE) PRINT_LINE_KERNEL_PANIC 18, .press_CAD, .press_CAD.size, +(COLORS.CGA.PAPER.BLUE + COLORS.CGA.INK.WHITE)
; ;
POP BC POP BC
POP HL POP HL
@ -44,7 +44,7 @@ KERNEL_PANIC:
RST ToBIOS RST ToBIOS
; ;
LD HL,#A000 LD HL,#A000
LD DE,0*256 + COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.WHITE LD DE,0*256 + COLORS.CGA.PAPER.BLUE + COLORS.CGA.INK.WHITE
LD B,A LD B,A
LD C,BIOS.LP_PRINT_LINE3 LD C,BIOS.LP_PRINT_LINE3
RST ToBIOS RST ToBIOS

View File

@ -1 +1 @@
997 998

View File

@ -302,7 +302,7 @@ Find_Record:
; RST ToBIOS ; RST ToBIOS
; ; ; ;
; LD HL,#A000 ; LD HL,#A000
; LD DE,0*256 + COLORS.CGA.FLASH + COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.WHITE ; LD DE,0*256 + COLORS.CGA.FLASH + COLORS.CGA.PAPER.BLUE + COLORS.CGA.INK.WHITE
; LD B,A ; LD B,A
; LD C,BIOS.LP_PRINT_LINE3 ; LD C,BIOS.LP_PRINT_LINE3
; RST ToBIOS ; RST ToBIOS

View File

@ -204,8 +204,7 @@
; parser ; parser
RMDRIVE: RMDRIVE: INC C
INC C
DEC C DEC C
JP Z,INIT_RD ; 0 JP Z,INIT_RD ; 0
DEC C DEC C
@ -237,18 +236,20 @@ RMDRIVE:
REMOV_RD: REMOV_RD:
RESET_RD: RESET_RD:
STATUS_RD: STATUS_RD: XOR A
XOR A
RET RET
;!FIXIT ᤥ« âì ¢ SYS_PAGE ¤«ï à ¬¤¨áª®¢ ¯¥à¥¬¥­­ë¥ ¨ ¡à âì ®ââ㤠 §­ ç¥­¨¥ ;!FIXIT ᤥ« âì ¢ SYS_PAGE ¤«ï à ¬¤¨áª®¢ ¯¥à¥¬¥­­ë¥ ¨ ¡à âì ®ââ㤠 §­ ç¥­¨¥
CHEK_RD LD A,#FF ;!FIXIT ª ª-â® ®¯à¥¤¥«ïâì ᬥ­ã RMD?
AND A ; [x] 18/08/2024 ¯®ª  ­¥¬­®£® ª®áâë«ì­® ¨ ®¯ á­®
CHEK_RD: ;LD A,#FF
;AND A
XOR A
;
RET RET
;DE - ADDRESS ;DE - ADDRESS
GBPB_RD: GBPB_RD: LD IX,0
LD IX,0
LD HL,0 LD HL,0
LD B,#01 LD B,#01
;JP READ_RD ;JP READ_RD
@ -257,8 +258,7 @@ GBPB_RD:
; DE - ADDRESS ; DE - ADDRESS
; B - COUNT ; B - COUNT
; A - DRIVE ; A - DRIVE
READ_RD: READ_RD: PUSH BC
PUSH BC
CALL GET_RAMDRV_NUM CALL GET_RAMDRV_NUM
POP BC POP BC
LD C,BIOS.DRV_READ LD C,BIOS.DRV_READ
@ -369,8 +369,7 @@ INIT_RD:
LD BC,0*256+BIOS.GET_RAMD_ST ; <20>®«ã祭¨¥ ¨¤¥­â¨ä¨ª â®à  ¡«®ª , ­ §­ ç¥­­®£® ­  RAM-Disk LD BC,0*256+BIOS.GET_RAMD_ST ; <20>®«ã祭¨¥ ¨¤¥­â¨ä¨ª â®à  ¡«®ª , ­ §­ ç¥­­®£® ­  RAM-Disk
LD DE,RAMDTBL LD DE,RAMDTBL
.initLoop: .initLoop: PUSH BC
PUSH BC
LD A,B LD A,B
PUSH DE PUSH DE
RST ToBIOS RST ToBIOS
@ -387,11 +386,10 @@ INIT_RD:
LD (DE),A LD (DE),A
INC DE INC DE
INC DE INC DE
; JP .skip_pop
JP 1F
; ;
.noDRV: POP BC .noDRV: POP BC
1: INC B .skip_pop: INC B
LD A,RAMDTBL.Size/RAMDTBL.TBL_Entry LD A,RAMDTBL.Size/RAMDTBL.TBL_Entry
CP B CP B
JR NZ,.initLoop JR NZ,.initLoop
@ -441,12 +439,10 @@ IOCTL_RD:
SCF SCF
RET RET
.O_CTL_F: .O_CTL_F: ;RES 7,B
; RES 7,B
;INC B ;INC B
;DEC B ;DEC B
;JP Z,.RSETPRM ;JP Z,.RSETPRM
;DEC B ;DEC B
;JP Z,FWRTRAC ;JP Z,FWRTRAC
;DEC B ;DEC B
@ -467,8 +463,7 @@ IOCTL_RD:
; D5 - "1" RESERVED ; D5 - "1" RESERVED
; D6 - ADDRESSING MODE LBA/CHS ; D6 - ADDRESSING MODE LBA/CHS
; D7 - "1" RESERVED ; D7 - "1" RESERVED
.RGETPRM: .RGETPRM: EX DE,HL
EX DE,HL
LD BC,#55AA LD BC,#55AA
AND A AND A
SBC HL,BC SBC HL,BC
@ -476,8 +471,7 @@ IOCTL_RD:
LD A,DSS_Error.drv.GENERAL_FAILURE LD A,DSS_Error.drv.GENERAL_FAILURE
SCF SCF
RET NZ RET NZ
;
EX AF,AF' EX AF,AF'
LD A,L LD A,L
CALL GET_RAMDRV_NUM CALL GET_RAMDRV_NUM
@ -503,8 +497,7 @@ IOCTL_RD:
RRA RRA
JR C,.end JR C,.end
.loopShift: .loopShift: SLA E
SLA E
RL D RL D
RRA RRA
JR NC,.loopShift JR NC,.loopShift
@ -521,14 +514,11 @@ IOCTL_RD:
; !TODO ; !TODO
; !FIXIT ; !FIXIT
; .RSETPRM: ; .RSETPRM: AND A
; AND A
; RET ; RET
GET_RAMDRV_NUM: GET_RAMDRV_NUM: LD BC,RAMDTBL
LD BC,RAMDTBL .skip_tbl: ADD A,A
.skip_tbl:
ADD A,A
ADD A,C ADD A,C
LD C,A LD C,A
LD A,0 LD A,0
@ -539,11 +529,5 @@ GET_RAMDRV_NUM:
OR #60 ;!HARDCODE ᤥ« âì ­®¬¥à  à §­ëå ãáâனá⢠ç¥à¥§ ¬¥âª¨ OR #60 ;!HARDCODE ᤥ« âì ­®¬¥à  à §­ëå ãáâனá⢠ç¥à¥§ ¬¥âª¨
RET RET
; ;
;
;TEST_DB_DEL_ME: DB 'Make here more than one page to load test'
;
;
;ENDDRVR EQU $ ;ENDDRVR EQU $
; ;

@ -1 +1 @@
Subproject commit eebde92dd60cdf33588e34a7248413ec107edfe0 Subproject commit e73e9f8d4f4e72de4f6b54abaec159684fdcebe1