optimization. bug with BootSector size fixed

This commit is contained in:
Anatoliy Belyanskiy 2023-07-03 23:04:36 +10:00
parent f59cca8dfa
commit 35e9b7b9fe
8 changed files with 122 additions and 116 deletions

View File

@ -30,7 +30,7 @@ DRIVE:
DI DI
LD (DRIVE),A LD (DRIVE),A
LD C,BIOS.EXT_VERSION LD C,BIOS.EXT_VERSION
RST #18 RST ToBIOS_18
LD A,INCORR LD A,INCORR
JR C,FAIL JR C,FAIL
LD A,(DRIVE) LD A,(DRIVE)
@ -45,9 +45,9 @@ GOOD_DRIVE:
LD DE,#8200 LD DE,#8200
LD HL,0 LD HL,0
LD IX,2 LD IX,2
LD BC,2*256+BIOS.DRV_READ LD BC,2*256 + BIOS.DRV_READ
LD A,(DRIVE) LD A,(DRIVE)
RST #18 RST ToBIOS_18
JR C,NULL JR C,NULL
JP CONTINU JP CONTINU
@ -88,37 +88,37 @@ PRINTX CP #0D
JR Z,CR_ JR Z,CR_
CP #0A CP #0A
JR Z,LF_ JR Z,LF_
LD BC,#0182 LD BC,1*256 + BIOS.LP_PRINT_SYM
RST #18 RST ToBIOS_18
RET RET
CR_ LD C,#8E CR_ LD C,BIOS.LP_GET_PLACE
RST #18 RST ToBIOS_18
LD E,0 LD E,0
LD C,#84 LD C,#84
RST #18 RST ToBIOS_18
RET RET
LF_ LD C,#8E LF_ LD C,BIOS.LP_GET_PLACE
RST #18 RST ToBIOS_18
LD A,#1F LD A,#1F
CP D CP D
JR NZ,LF2 JR NZ,LF2
PUSH DE PUSH DE
PUSH HL PUSH HL
LD DE,#0020 LD DE,#0020
LD BC,#018A LD BC,1*256 + BIOS.LP_SCROLL_UD
RST #18 RST ToBIOS_18
LD DE,#1F00 LD DE,#1F00
LD C,#84 LD C,BIOS.LP_SET_PLACE
RST #18 RST ToBIOS_18
LD A," " LD A," "
LD BC,#5082 LD BC,#50 + BIOS.LP_PRINT_SYM
RST #18 RST ToBIOS_18
POP HL POP HL
POP DE POP DE
DEC D DEC D
LF2 INC D LF2 INC D
LD C,#84 LD C,BIOS.LP_SET_PLACE
RST #18 RST ToBIOS_18
RET ;R01 RET ;R01
;R01 End ;R01 End
@ -155,8 +155,8 @@ CONTINU
LD (DISKL),HL LD (DISKL),HL
LD (DISKH),HL LD (DISKH),HL
LD BC,1*256+BIOS.GetMem LD BC,1*256 + BIOS.GetMem
RST #18 ;GET PAGE FOR DOS RST ToBIOS_18 ;GET PAGE FOR DOS
LD (BANKDOS),A LD (BANKDOS),A
CALL GET_BPB ;READ BPB CALL GET_BPB ;READ BPB
LD A,ERRIBPB LD A,ERRIBPB
@ -290,9 +290,9 @@ YEPDOS LD E,(IX+08)
LD (DISKL),IX LD (DISKL),IX
LD (DISKH),HL LD (DISKH),HL
LD DE,BOOT LD DE,BOOT
LD BC,1*256+BIOS.DRV_READ LD BC,1*256 + BIOS.DRV_READ
LD A,(DRIVE) LD A,(DRIVE)
RST #18 RST ToBIOS_18
POP BC POP BC
LD A,C LD A,C
RET RET
@ -300,13 +300,13 @@ YEPDOS LD E,(IX+08)
SET_PRM PUSH BC SET_PRM PUSH BC
LD A,B LD A,B
LD C,BIOS.DRV_GET_PAR LD C,BIOS.DRV_GET_PAR
RST #18 RST ToBIOS_18
LD A,(BOOT.S_P_T) LD A,(BOOT.S_P_T)
LD L,A LD L,A
POP AF POP AF
PUSH AF PUSH AF
LD C,BIOS.DRV_SET_PAR LD C,BIOS.DRV_SET_PAR
RST #18 RST ToBIOS_18
POP BC POP BC
LD A,C LD A,C
RET RET
@ -314,9 +314,9 @@ SET_PRM PUSH BC
GET_BPB LD IX,#0000 GET_BPB LD IX,#0000
LD HL,#0000 LD HL,#0000
LD DE,BOOT LD DE,BOOT
LD BC,1*256+BIOS.DRV_READ LD BC,1*256 + BIOS.DRV_READ
LD A,(DRIVE) LD A,(DRIVE)
RST #18 RST ToBIOS_18
RET C RET C
LD A,(DRIVE) LD A,(DRIVE)
LD B,A LD B,A
@ -416,9 +416,9 @@ BPB_FAT
ADC HL,BC ADC HL,BC
;HL:IX ;HL:IX
LD DE,FAT LD DE,FAT
LD BC,3*256+BIOS.DRV_READ LD BC,3*256 + BIOS.DRV_READ
LD A,(DRIVE) LD A,(DRIVE)
RST #18 RST ToBIOS_18
RET C RET C
LD HL,0 LD HL,0
LD (FATCASH),HL LD (FATCASH),HL
@ -447,10 +447,10 @@ NEXTSEC PUSH AF
;HL:IX ;HL:IX
PUSH IX PUSH IX
PUSH HL PUSH HL
LD BC,1*256+BIOS.DRV_READ LD BC,1*256 + BIOS.DRV_READ
LD DE,DIR LD DE,DIR
LD A,(DRIVE) LD A,(DRIVE)
RST #18 RST ToBIOS_18
CALL SEARCH CALL SEARCH
POP HL POP HL
POP IX POP IX
@ -510,21 +510,21 @@ LD_FILE PUSH HL
LD A,(BOOT.S_P_C) LD A,(BOOT.S_P_C)
CP #20 CP #20
JR C,SMCLUS JR C,SMCLUS
LD BC,#2052 LD BC,#20*256 + BIOS.DRV_READ_LONG
LD A,(BANKDOS) LD A,(BANKDOS)
EX AF,AF' EX AF,AF'
LD A,(DRIVE) LD A,(DRIVE)
RST #18 RST ToBIOS_18
POP HL POP HL
AND A AND A
RET RET
SMCLUS LD B,A SMCLUS LD B,A
LD C,#52 LD C,BIOS.DRV_READ_LONG
LD A,(BANKDOS) LD A,(BANKDOS)
EX AF,AF' EX AF,AF'
LD A,(DRIVE) LD A,(DRIVE)
RST #18 RST ToBIOS_18
LD HL,(READMEM) LD HL,(READMEM)
LD DE,(CLU_LEN) LD DE,(CLU_LEN)
ADD HL,DE ADD HL,DE
@ -670,9 +670,9 @@ NOINX2 ADD IX,BC
POP IX POP IX
POP HL POP HL
LD DE,FAT LD DE,FAT
LD BC,#0355 LD BC,3*256 + BIOS.DRV_READ
LD A,(DRIVE) LD A,(DRIVE)
RST #18 RST ToBIOS_18
POP HL POP HL
RET RET

View File

@ -277,8 +277,8 @@ F_START:
RST #30 RST #30
;CALL INITDVC ;R05 ;CALL INITDVC ;R05
;R05 ;R05
LD C,#00 LD C,Dss.DRV.Init
RST #18 RST ToDSS.DRV
LD (LDRIVE),A LD (LDRIVE),A
;R05 ;R05
@ -437,6 +437,14 @@ BUFFER EQU BUFFERSplace.Buffer
SECBUF EQU BUFFER SECBUF EQU BUFFER
CLEAR_ZONE.size EQU _sBuffers CLEAR_ZONE.size EQU _sBuffers
DISPLAY "--- --- --- --- --- --- --- ---"
DISPLAY "BUFFERSplace.BootSector ",/H,BUFFERSplace.BootSector
DISPLAY "BootSector ", /H, BootSector
DISPLAY "EXEBUFF ", /H, EXEBUFF
DISPLAY "Size ", /H, EXEBUFF-BootSector
DISPLAY "--- --- --- --- --- --- --- ---"
/* /*
;R11 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ;R11 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
;!TEST ;!TEST

View File

@ -155,11 +155,11 @@ DELETE LD DE,MASKARE
RET C RET C
DELFILE LD A,DIRPAGE DELFILE LD A,DIRPAGE
CALL BANK CALL BANK
PUSH AF ;PUSH AF
LD (IX+_sFM.NAME),#E5 LD (IX+_sFM.NAME),#E5
LD E,(IX+_sFM.ST_CLUSTER) LD E,(IX+_sFM.ST_CLUSTER)
LD D,(IX+_sFM.ST_CLUSTER+1) LD D,(IX+_sFM.ST_CLUSTER+1)
POP AF ;POP AF
OUT (SLOT3),A OUT (SLOT3),A
LD A,E LD A,E
OR D OR D
@ -656,8 +656,8 @@ CHNDISK:
;????? R10 ;????? R10
OPENDSK: OPENDSK:
PUSH AF PUSH AF
LD C,1 LD C,Dss.DRV.Open
RST #18 RST ToDSS.DRV
POP BC POP BC
JP C,.error JP C,.error
LD A,B LD A,B
@ -802,7 +802,7 @@ FINDDIR LD A,DIRPAGE
ADDSPEC LD E,XL ADDSPEC LD E,XL
LD D,XH LD D,XH
LD HL,DIRSPEC+1 LD HL,DIRSPEC+1
LD BC,DIRSPEC.DEPTH LD BC,DIRSPEC.DEPTH-1
XOR A XOR A
CPIR ;!FIXIT ­¥â ¯à®¢¥àª¨ ­  § ¢¥à襭¨¥ ¯® BC=0 CPIR ;!FIXIT ­¥â ¯à®¢¥àª¨ ­  § ¢¥à襭¨¥ ¯® BC=0
DEC HL DEC HL
@ -879,11 +879,11 @@ LOADDIR:
CALL BANK CALL BANK
PUSH AF PUSH AF
;!FIXIT ᫨誮¬ ¤®«£® ;!FIXIT ᫨誮¬ ¤®«£®
LD HL,#C000 ; LD HL,#C000
LD DE,#C001 ; LD DE,#C001
LD BC,#3FFF ; LD BC,#3FFF
LD (HL),L ; LD (HL),L
LDIR ; LDIR
; ;
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
LD (IY+_sFM.DRIVE),A LD (IY+_sFM.DRIVE),A
@ -911,9 +911,9 @@ LROTDIR LD HL,(FatBuffer.DIR_FRH)
ADD A,B ADD A,B
LD B,A LD B,A
RTD1 LD A,(FatBuffer.DRIVE) RTD1 LD A,(FatBuffer.DRIVE)
LD C,5
LD DE,DIR LD DE,DIR
RST #18 LD C,Dss.DRV.Read
RST ToDSS.DRV
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
AND A AND A
@ -952,9 +952,9 @@ SROTDIR LD HL,(FatBuffer.DIR_FRH)
ADD A,B ADD A,B
LD B,A LD B,A
RTD1S LD A,(FatBuffer.DRIVE) RTD1S LD A,(FatBuffer.DRIVE)
LD C,6
LD DE,DIR LD DE,DIR
RST #18 LD C,Dss.DRV.Write
RST ToDSS.DRV
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
AND A AND A
@ -1634,7 +1634,7 @@ MKD04 EX DE,HL
INC DE INC DE
LD (HL),0 LD (HL),0
LD BC,512-65 LD BC,512-65
LDIR LDIR ;!FIXIT ­ã¦­® «¨ â ª ¬­®£® £à®å âì?
POP HL POP HL
CALL NSECTOR CALL NSECTOR
LD A,(BootSector.S_P_C) LD A,(BootSector.S_P_C)
@ -1646,11 +1646,10 @@ MKD12 PUSH AF
IN A,(SLOT0) IN A,(SLOT0)
OUT (SLOT3),A OUT (SLOT3),A
; ;
LD DE,SECBUF+#C000
LD B,1
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
LD C,6 LD DE,SECBUF+#C000
RST #18 LD BC,1*256 + Dss.DRV.Write
RST ToDSS.DRV
; ;
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
@ -1659,7 +1658,7 @@ MKD12 PUSH AF
LD DE,SECBUF+1 LD DE,SECBUF+1
LD BC,511 LD BC,511
LD (HL),0 LD (HL),0
LDIR LDIR ;!FIXIT ­ã¦­® «¨ â ª ¬­®£® £à®å âì?
POP IX POP IX
POP HL POP HL
INC IX INC IX
@ -1706,9 +1705,9 @@ RMD12 PUSH AF
OUT (SLOT3),A OUT (SLOT3),A
LD DE,SECBUF+#C000 LD DE,SECBUF+#C000
LD BC,#0105 LD BC,1*256 + Dss.DRV.Read
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
RST #18 RST ToDSS.DRV
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A

View File

@ -177,7 +177,7 @@ BLOK_RD PUSH BC
LD A,(BootSector.S_P_C) ;SECTORS PER CLUSTER LD A,(BootSector.S_P_C) ;SECTORS PER CLUSTER
LD C,A LD C,A
LD B,0 LD B,0
CALL DIV32 CALL DIV32 ;!FIXIT § ¬¥­¨âì ¢ë§®¢ HLDE/BC ­  HLDE/C
LD B,XH LD B,XH
LD C,XL LD C,XL
PUSH HL ;RESIDUE PUSH HL ;RESIDUE
@ -218,8 +218,8 @@ BLOKRD3 LD A,B ; /
BLOKRD4 LD DE,(READMEM) BLOKRD4 LD DE,(READMEM)
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
LD B,C LD B,C
LD C,5 LD C,Dss.DRV.Read
RST #18 RST ToDSS.DRV
JP C,BLOKRD0 JP C,BLOKRD0
POP BC POP BC
LD HL,(READMEM) LD HL,(READMEM)
@ -256,7 +256,7 @@ BLOKRD7 EX DE,HL
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
LD B,C LD B,C
LD C,5 LD C,5
RST #18 RST ToDSS.DRV
JP C,BLOKRD0 JP C,BLOKRD0
POP BC POP BC
LD HL,(READMEM) LD HL,(READMEM)
@ -345,8 +345,8 @@ BLOKWR3 LD A,B
BLOKWR4 LD DE,(READMEM) BLOKWR4 LD DE,(READMEM)
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
LD B,C LD B,C
LD C,6 LD C,Dss.DRV.Write
RST #18 RST ToDSS.DRV
JP C,BLOKWR0 JP C,BLOKWR0
POP BC POP BC
LD HL,(READMEM) LD HL,(READMEM)
@ -387,8 +387,8 @@ BLOKWR9 POP BC
LD DE,(READMEM) LD DE,(READMEM)
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
LD B,C LD B,C
LD C,6 LD C,Dss.DRV.Write
RST #18 RST ToDSS.DRV
JP C,BLOKWR0 JP C,BLOKWR0
POP BC POP BC
LD HL,(READMEM) LD HL,(READMEM)
@ -625,8 +625,9 @@ WRITE LD (R_POINT),HL
OR A OR A
RR L RR L
RR D RR D
RR E ;HL:DE FP (in sectors) RR E
; BC FP residue (in bytes) ; HL:DE FP (in sectors)
; BC FP residue (in bytes)
LD A,B LD A,B
OR C OR C
JP NZ,WOV1 JP NZ,WOV1

View File

@ -71,9 +71,9 @@ SETBOOT:
LD C,0 LD C,0
.loop: PUSH BC .loop: PUSH BC
LD A,C LD A,C
LD BC,#0008
LD DE,#55AA LD DE,#55AA
RST #18 LD BC,256*0 + Dss.DRV.GenIOCTL
RST ToDSS.DRV
POP BC POP BC
JR C,.NoSupport JR C,.NoSupport
EX AF,AF' ;PHISICAL DRIVE NUMBER EX AF,AF' ;PHISICAL DRIVE NUMBER
@ -100,8 +100,8 @@ SETBOOT:
/* /*
CHNDISK: CHNDISK:
PUSH AF PUSH AF
LD C,1 LD C,Dss.DRV.Open
RST #18 RST ToDSS.DRV
POP BC POP BC
JP C,NDISK11 JP C,NDISK11
LD A,B LD A,B
@ -181,30 +181,24 @@ TCOUNT: DW #0000
; !FIXIT çñâ ­¥ ¨á¯®«ì§ã¥âáï ; !FIXIT çñâ ­¥ ¨á¯®«ì§ã¥âáï
TESTDSK LD A,(FatBuffer.DRIVE) TESTDSK LD A,(FatBuffer.DRIVE)
LD C,3 LD C,Dss.DRV.MediaCheck
RST #18 RST ToDSS.DRV
OR A OR A
RET Z RET Z
RD_BPB LD C,SLOT3 RD_BPB LD C,SLOT3
IN B,(C) IN B,(C)
PUSH BC PUSH BC
;!!!!! «ãçè¥ ®áâ ¢¨âì ª ª ¢ ®à¨£¨­ «¥, ¯®â®¬ã çâ® ¢ë§®¢ í⮩ ä㭪樨
; ¬®¦¥â ¢ ¤ «ì­¥©è¥¬ ¯®­ ¤®¡¨âìáï, ¨ ¯ã᪠© ®­  á ¬  ¤®áâ ñâ ¯¥à¥¬¥­­ãî DRIVE
; ex af,af' ;1451
; in a,(SLOT0) ;1452
; out (SLOT3),a ;1454
; ld de,SECBUF+#C000 ;1456
; ex af,af' ;1459
IN A,(SLOT0) IN A,(SLOT0)
OUT (SLOT3),A OUT (SLOT3),A
;R08 LD DE,BOOT+#C000 ;R08
LD DE,SECBUF+#C000 ;R08 ;LD DE,BOOT+#C000
LD A,(FatBuffer.DRIVE) LD DE,SECBUF+#C000
;!!!!! ------------------------------ ;R08
LD A,(FatBuffer.DRIVE) ;¢ë§®¢ RD_BPB ¬®¦¥â ¢ ¤ «ì­¥©è¥¬ ¯®­ ¤®¡¨âìáï, ¯ã᪠© ®­  á ¬  ¤®áâ ñâ ¯¥à¥¬¥­­ãî DRIVE
LD C,4 LD C,Dss.DRV.GetBPB
RST #18 RST ToDSS.DRV
POP BC POP BC
OUT (C),B OUT (C),B
JP C,RDERR1 JP C,RDERR1
@ -226,10 +220,16 @@ RD_BPB LD C,SLOT3
LD A,(IY+_sBOOT_SEC.ID_FORM) LD A,(IY+_sBOOT_SEC.ID_FORM)
CP #F0 CP #F0
JP C,ERR_BPB JP C,ERR_BPB
LD HL,0 ; calc. first sector FAT
LD E,(IY+_sBOOT_SEC.RESERVE) ;Reserve sec ;!TEST
LD D,(IY+_sBOOT_SEC.RESERVE+1) ;LD HL,0 ; calc. first sector FAT
ADD HL,DE ;LD E,(IY+_sBOOT_SEC.RESERVE) ;Reserve sec
;LD D,(IY+_sBOOT_SEC.RESERVE+1)
;ADD HL,DE
LD L,(IY+_sBOOT_SEC.RESERVE) ;Reserve sec
LD H,(IY+_sBOOT_SEC.RESERVE+1)
;
; LD E,(IY+#1C) ;Hidden sec ; LD E,(IY+#1C) ;Hidden sec
; LD D,(IY+#1D) ; LD D,(IY+#1D)
; ADD HL,DE ; ADD HL,DE
@ -311,15 +311,15 @@ R_BPBL1
DJNZ R_BPBL1 DJNZ R_BPBL1
FID LD A,(HL) FID LD A,(HL)
INC HL INC HL
CP #20 CP ' '
JR Z,FID JR Z,FID
CP "1" CP '1'
JP NZ,ERR_BPB JP NZ,ERR_BPB
LD A,(HL) LD A,(HL)
CP "6" ; FAT16 CP '6' ; FAT16
LD HL,#FFFF LD HL,#FFFF
JR Z,BPB_FAT JR Z,BPB_FAT
CP "2" ; FAT12 CP '2' ; FAT12
JP NZ,ERR_BPB JP NZ,ERR_BPB
LD HL,#0FFF LD HL,#0FFF
BPB_FAT BPB_FAT
@ -356,7 +356,7 @@ BPB_L1: ; calc. sector per cylinder
DEC BC DEC BC
JP HDDBIG JP HDDBIG
HDDSMAL: HDDSMAL:
; AND A ;âãâ CF ¯®«î¡ á á¡à®è¥­ ¤®«¦¥­ ¡ëâì ;AND A ;âãâ CF ¯®«î¡ á á¡à®è¥­ ¤®«¦¥­ ¡ëâì
SBC HL,DE SBC HL,DE
LD BC,0 LD BC,0
HDDBIG LD A,(BootSector.S_P_C) HDDBIG LD A,(BootSector.S_P_C)
@ -376,8 +376,8 @@ S4C02 INC HL
; LD IX,(FAT_FRM) ; LD IX,(FAT_FRM)
; LD B,3 ; LD B,3
; LD A,(DRIVE) ; LD A,(DRIVE)
; LD C,5 ; LD C,Dss.DRV.Read
; RST #18 ; RST ToDSS.DRV
; JP C,RDERR1 ; JP C,RDERR1
LD HL,0 LD HL,0
LD (FATCASH),HL LD (FATCASH),HL
@ -443,7 +443,7 @@ FatBuffer:
; ;
DIRSPEC: DB '\' DIRSPEC: DB '\'
BLOCK DIRSPEC.DEPTH,0 ;????? <20>ë«® 255, ã ‘ ©¬ ­  256 BLOCK DIRSPEC.DEPTH-1,0 ;????? <20>ë«® 255, ã ‘ ©¬ ­  256
; ;
;R11 ;R11

View File

@ -53,7 +53,6 @@ INC_FA2 CALL R_F_FAT
; HL - CLUSTER ; HL - CLUSTER
; DE - (CLUSTER) ; DE - (CLUSTER)
R_F_FAT EX DE,HL R_F_FAT EX DE,HL
LD HL,(MAX_CLU) LD HL,(MAX_CLU)
AND A AND A
@ -229,7 +228,8 @@ W_T_FAT PUSH DE
LD A,(FatBuffer.FAT_TYP) LD A,(FatBuffer.FAT_TYP)
CP "2" CP "2"
JP Z,W_T_F12 JP Z,W_T_F12
W_T_F16 PUSH DE W_T_F16:
PUSH DE
LD A,H LD A,H
LD B,A LD B,A
AND #0F AND #0F
@ -327,19 +327,17 @@ RE_FAT PUSH HL
ADD HL,HL ADD HL,HL
ADD HL,HL ADD HL,HL
ADD HL,HL ADD HL,HL
ADD HL,HL ;FAT BLOCK * 16 = SECTOR OF FAT ADD HL,HL ;FAT BLOCK * 16 = SECTOR OF FAT
LD DE,(FatBuffer.FAT_FRM) LD DE,(FatBuffer.FAT_FRM)
ADD HL,DE ADD HL,DE
EX DE,HL EX DE,HL
LD IX,0 LD IX,0
ADD IX,DE ADD IX,DE
LD HL,0 ;HL:IX - SECTOR FAT FOR READING LD HL,0 ;HL:IX - SECTOR FAT FOR READING
LD DE,FAT ; DE - FAT ADDRESS LD DE,FAT ; DE - FAT ADDRESS
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
; LD B,16 LD BC,16*256 + Dss.DRV.Read ;ॣ B: 16 * 512 = 8192 (CASH SIZE)
; LD C,5 RST ToDSS.DRV
LD BC,16*256 + 5 ;ॣ B: 16 * 512 = 8192 (CASH SIZE)
RST #18
POP HL POP HL
RET RET
@ -388,10 +386,10 @@ WALLFAT LD H,B
LD HL,0 ;HL:IX - SECTOR OF FAT FOR SAVE LD HL,0 ;HL:IX - SECTOR OF FAT FOR SAVE
LD DE,FAT LD DE,FAT
LD B,A LD B,A
LD C,6 LD C,Dss.DRV.Write
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
PUSH BC PUSH BC
RST #18 RST ToDSS.DRV
POP BC POP BC
POP HL POP HL
LD DE,(FatBuffer.FAT2_XX) LD DE,(FatBuffer.FAT2_XX)
@ -402,8 +400,8 @@ WALLFAT LD H,B
LD DE,FAT LD DE,FAT
LD HL,0 LD HL,0
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
LD C,6 LD C,Dss.DRV.Write
RST #18 RST ToDSS.DRV
RET RET
;R01 ;R01

View File

@ -21,7 +21,7 @@ RESERVED2 BLOCK 490,0
; ;
;File Manipulator (FM) ;File Manipulator (FM)
STRUCT _sFM ; 44 bytes STRUCT _sFM ; 44 bytes
.NAME: TEXT 8,{". "," "} ;+00 NAME .NAME: TEXT 8,{". "," "} ;+00 NAME
.EXT: TEXT 3,{" "," "} ;+08 EXT .EXT: TEXT 3,{" "," "} ;+08 EXT
.ATTRIBUT: BYTE #10 ;+11 ATTRIBUT .ATTRIBUT: BYTE #10 ;+11 ATTRIBUT

@ -1 +1 @@
Subproject commit 6e9cb7fd969b98df5cc98ec109bab2be59d46208 Subproject commit ced877c153d64941d9ab3a1808d21bc559113e4b