рискованно ускорил 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. ă§­ ńŹ ĄăŞ˘ă Ąăâ-¤¨áŞ 
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
CALL BOOTDSK.GET
LD A,(BOOTDSK.NUM)
;CALL BOOTDSK.GET
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
; 3. ˘ë§ë˘ ĽŹ ŕĽáŞ ­
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
@ -44,9 +45,12 @@ SCANDRV:
;
LD A,(CORE_BUFFERS.CurrentPath)
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
JR NC,.exit
LD HL,CORE_BUFFERS.CurrentDirectory

View File

@ -29,8 +29,8 @@ KERNEL_PANIC:
LD A,1
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 18, .press_CAD, .press_CAD.size, +(COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.WHITE)
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.INK.WHITE)
;
POP BC
POP HL
@ -44,7 +44,7 @@ KERNEL_PANIC:
RST ToBIOS
;
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 C,BIOS.LP_PRINT_LINE3
RST ToBIOS

View File

@ -1 +1 @@
997
998

View File

@ -302,7 +302,7 @@ Find_Record:
; RST ToBIOS
; ;
; 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 C,BIOS.LP_PRINT_LINE3
; RST ToBIOS

View File

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

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