mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
рискованно ускорил RAM DRIVE
This commit is contained in:
parent
4dedfec9e9
commit
d89a2b049f
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
997
|
998
|
||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
@ -367,10 +367,9 @@ INIT_RD:
|
|||||||
; JR NC,.loop
|
; JR NC,.loop
|
||||||
; LD (S_P_P),A
|
; LD (S_P_P),A
|
||||||
|
|
||||||
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,12 +386,11 @@ 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
|
||||||
|
|
||||||
@ -402,7 +400,7 @@ INIT_RD:
|
|||||||
SBC HL,DE ;!FIXIT ADD HL,DE
|
SBC HL,DE ;!FIXIT ADD HL,DE
|
||||||
SRL L
|
SRL L
|
||||||
LD A,L
|
LD A,L
|
||||||
; LD HL,ENDDRVR
|
; LD HL,ENDDRVR
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
;----------------------------------------------------------------------;!TEST
|
;----------------------------------------------------------------------;!TEST
|
||||||
@ -433,24 +431,22 @@ IOCTL_RD:
|
|||||||
INC B
|
INC B
|
||||||
DEC B
|
DEC B
|
||||||
JP Z,.RGETPRM
|
JP Z,.RGETPRM
|
||||||
; DEC B
|
;DEC B
|
||||||
; JP Z,FRDTRAC
|
;JP Z,FRDTRAC
|
||||||
; DEC B
|
;DEC B
|
||||||
; JP Z,FCHTRAC
|
;JP Z,FCHTRAC
|
||||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||||
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
|
||||||
|
;JP Z,FWRTRAC
|
||||||
; DEC B
|
;DEC B
|
||||||
; JP Z,FWRTRAC
|
;JP Z,FFRTRAC
|
||||||
; DEC B
|
|
||||||
; JP Z,FFRTRAC
|
|
||||||
LD A,DSS_Error.drv.INVALID_COMMAND
|
LD A,DSS_Error.drv.INVALID_COMMAND
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
@ -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
|
||||||
Loading…
Reference in New Issue
Block a user