mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
...
This commit is contained in:
parent
8a1abd44ab
commit
615d9cb2e2
@ -547,7 +547,7 @@ ADD_DE2 DJNZ ADD_DE1
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
;-----------------
|
;-----------------
|
||||||
|
;!TODO сЄЅЋ ть этЎ Ќ ЊрЎс ЌЈ ЈЋЈ ЈЊЋюЄ ЌЈ уЈЂЅрс ЋьыЌЈ. ЏЎЂтЎряются Ђ ЄЎсЅ Ј Ѕщё ЃЄЅ-тЎ
|
||||||
; HL - CLUSTER
|
; HL - CLUSTER
|
||||||
; DE - (CLUSTER)
|
; DE - (CLUSTER)
|
||||||
R_F_FAT: PUSH HL
|
R_F_FAT: PUSH HL
|
||||||
|
|||||||
103
DSS/DOS_FM.ASM
103
DSS/DOS_FM.ASM
@ -174,12 +174,12 @@ BLOKRD0 POP BC
|
|||||||
;HL:DE - FP (in sectors)
|
;HL:DE - FP (in sectors)
|
||||||
; B - Amount sectors
|
; B - Amount sectors
|
||||||
BLOK_RD: PUSH BC
|
BLOK_RD: PUSH BC
|
||||||
LD (READMEM),IX
|
LD (READ.MEM),IX
|
||||||
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 ;!FIXIT
|
||||||
;HL:DE / BC => DE:IX HL-OSTATOK
|
;HL:DE / BC => DE:IX HL-OSTATOK
|
||||||
CALL DIV_for_SPC ;!FIXIT § ¬¥¨âì ¢ë§®¢ HLDE/BC HLDE/C
|
CALL DIV_for_SPC
|
||||||
;!FIXIT ¤ «¥¥ § â®çª â®, çâ® ¢ DE ¢á¥£¤ 0 - à §¤¥« ¥ ¡®«ìè¥ 2Gb
|
;!FIXIT ¤ «¥¥ § â®çª â®, çâ® ¢ DE ¢á¥£¤ 0 - à §¤¥« ¥ ¡®«ìè¥ 2Gb
|
||||||
LD B,XH
|
LD B,XH
|
||||||
LD C,XL
|
LD C,XL
|
||||||
@ -272,19 +272,19 @@ BLOKRD3 LD A,B ; /
|
|||||||
ADD IX,DE
|
ADD IX,DE
|
||||||
JR NC,BLOKRD4
|
JR NC,BLOKRD4
|
||||||
INC HL
|
INC HL
|
||||||
BLOKRD4 LD DE,(READMEM)
|
BLOKRD4 LD DE,(READ.MEM)
|
||||||
LD A,(FatBuffer.DRIVE)
|
LD A,(FatBuffer.DRIVE)
|
||||||
LD B,C
|
LD B,C
|
||||||
LD C,Dss.DRV.Read
|
LD C,Dss.DRV.Read
|
||||||
RST ToDSS.DRV
|
RST ToDSS.DRV
|
||||||
JP C,BLOKRD0
|
JP C,BLOKRD0
|
||||||
POP BC
|
POP BC
|
||||||
LD HL,(READMEM)
|
LD HL,(READ.MEM)
|
||||||
LD DE,(BootSector.B_P_S)
|
LD DE,(BootSector.B_P_S)
|
||||||
BLOKRD5 ADD HL,DE
|
BLOKRD5 ADD HL,DE
|
||||||
DEC C
|
DEC C
|
||||||
JR NZ,BLOKRD5
|
JR NZ,BLOKRD5
|
||||||
LD (READMEM),HL
|
LD (READ.MEM),HL
|
||||||
POP DE
|
POP DE
|
||||||
LD A,B
|
LD A,B
|
||||||
OR A
|
OR A
|
||||||
@ -309,19 +309,19 @@ BLOKRD7 EX DE,HL
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
CALL NSECTOR
|
CALL NSECTOR
|
||||||
LD DE,(READMEM)
|
LD DE,(READ.MEM)
|
||||||
LD A,(FatBuffer.DRIVE)
|
LD A,(FatBuffer.DRIVE)
|
||||||
LD B,C
|
LD B,C
|
||||||
LD C,Dss.DRV.Read
|
LD C,Dss.DRV.Read
|
||||||
RST ToDSS.DRV
|
RST ToDSS.DRV
|
||||||
JP C,BLOKRD0
|
JP C,BLOKRD0
|
||||||
POP BC
|
POP BC
|
||||||
LD HL,(READMEM)
|
LD HL,(READ.MEM)
|
||||||
LD DE,(BootSector.B_P_S)
|
LD DE,(BootSector.B_P_S)
|
||||||
BLOKRD8 ADD HL,DE
|
BLOKRD8 ADD HL,DE
|
||||||
DEC C
|
DEC C
|
||||||
JR NZ,BLOKRD8
|
JR NZ,BLOKRD8
|
||||||
LD (READMEM),HL
|
LD (READ.MEM),HL
|
||||||
POP DE
|
POP DE
|
||||||
JR BLOKRD6
|
JR BLOKRD6
|
||||||
|
|
||||||
@ -344,7 +344,7 @@ BLOKWR0 POP BC
|
|||||||
;HL:DE - FP (in sectors)
|
;HL:DE - FP (in sectors)
|
||||||
; B - Amount sectors
|
; B - Amount sectors
|
||||||
BLOK_WR PUSH BC
|
BLOK_WR PUSH BC
|
||||||
LD (READMEM),IX
|
LD (READ.MEM),IX
|
||||||
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
|
||||||
@ -457,19 +457,19 @@ BLOKWR3 LD A,B
|
|||||||
ADD IX,DE
|
ADD IX,DE
|
||||||
JR NC,BLOKWR4
|
JR NC,BLOKWR4
|
||||||
INC HL
|
INC HL
|
||||||
BLOKWR4 LD DE,(READMEM)
|
BLOKWR4 LD DE,(READ.MEM)
|
||||||
LD A,(FatBuffer.DRIVE)
|
LD A,(FatBuffer.DRIVE)
|
||||||
LD B,C
|
LD B,C
|
||||||
LD C,Dss.DRV.Write
|
LD C,Dss.DRV.Write
|
||||||
RST ToDSS.DRV
|
RST ToDSS.DRV
|
||||||
JP C,BLOKWR0
|
JP C,BLOKWR0
|
||||||
POP BC
|
POP BC
|
||||||
LD HL,(READMEM)
|
LD HL,(READ.MEM)
|
||||||
LD DE,(BootSector.B_P_S)
|
LD DE,(BootSector.B_P_S)
|
||||||
BLOKWR5 ADD HL,DE
|
BLOKWR5 ADD HL,DE
|
||||||
DEC C
|
DEC C
|
||||||
JR NZ,BLOKWR5
|
JR NZ,BLOKWR5
|
||||||
LD (READMEM),HL
|
LD (READ.MEM),HL
|
||||||
POP DE
|
POP DE
|
||||||
LD A,B
|
LD A,B
|
||||||
OR A
|
OR A
|
||||||
@ -499,19 +499,19 @@ BLOKWR9 POP BC
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
CALL NSECTOR
|
CALL NSECTOR
|
||||||
LD DE,(READMEM)
|
LD DE,(READ.MEM)
|
||||||
LD A,(FatBuffer.DRIVE)
|
LD A,(FatBuffer.DRIVE)
|
||||||
LD B,C
|
LD B,C
|
||||||
LD C,Dss.DRV.Write
|
LD C,Dss.DRV.Write
|
||||||
RST ToDSS.DRV
|
RST ToDSS.DRV
|
||||||
JP C,BLOKWR0
|
JP C,BLOKWR0
|
||||||
POP BC
|
POP BC
|
||||||
LD HL,(READMEM)
|
LD HL,(READ.MEM)
|
||||||
LD DE,(BootSector.B_P_S)
|
LD DE,(BootSector.B_P_S)
|
||||||
BLOKWR8 ADD HL,DE
|
BLOKWR8 ADD HL,DE
|
||||||
DEC C
|
DEC C
|
||||||
JR NZ,BLOKWR8
|
JR NZ,BLOKWR8
|
||||||
LD (READMEM),HL
|
LD (READ.MEM),HL
|
||||||
POP DE
|
POP DE
|
||||||
JR BLOKWR6
|
JR BLOKWR6
|
||||||
|
|
||||||
@ -521,7 +521,7 @@ BLOKWRA POP BC
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
TSTSIZE XOR A
|
TSTSIZE XOR A
|
||||||
LD (READCOD),A
|
LD (READ.COD),A
|
||||||
LD L,(IY+32) ;FP LOW _sFM.F_POSITION
|
LD L,(IY+32) ;FP LOW _sFM.F_POSITION
|
||||||
LD H,(IY+33)
|
LD H,(IY+33)
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
@ -545,25 +545,24 @@ TSTSIZE XOR A
|
|||||||
SBC HL,DE ;VERY BIG
|
SBC HL,DE ;VERY BIG
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD A,#FF
|
LD A,#FF
|
||||||
LD (READCOD),A
|
LD (READ.COD),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; HL - ADDRESS
|
; HL - ADDRESS
|
||||||
; DE - SIZE
|
; DE - SIZE
|
||||||
; A - FM
|
; A - FM
|
||||||
READ: LD (R_POINT),HL
|
READ: LD (R_POINT),HL
|
||||||
LD (S_POINT),HL
|
LD (.S_POINT),HL
|
||||||
CALL SET_FM
|
CALL SET_FM
|
||||||
RET C
|
RET C
|
||||||
CALL TSTSIZE
|
CALL TSTSIZE
|
||||||
LD A,D
|
LD A,D
|
||||||
OR E
|
OR E
|
||||||
JP Z,NOREAD ;!FIXIT ¬®¦® ¯¥à¥¥á⨠¢ ç «® ¯à®æ¥¤ãàë
|
JP Z,.NOREAD ;!FIXIT ¬®¦® ¯¥à¥¥á⨠¢ ç «® ¯à®æ¥¤ãàë
|
||||||
PUSH DE
|
PUSH DE
|
||||||
LD A,(IY+_sFM.DRIVE)
|
LD A,(IY+_sFM.DRIVE)
|
||||||
CALL OPENDSK
|
CALL OPENDSK
|
||||||
;
|
JP C,.ERR_1
|
||||||
JP C,RPERR1
|
|
||||||
;<3B> áçñâ á¬¥é¥¨ï ¢ ᥪâ®à å
|
;<3B> áçñâ á¬¥é¥¨ï ¢ ᥪâ®à å
|
||||||
; LD C,(IY+_sFM.F_POSITION)
|
; LD C,(IY+_sFM.F_POSITION)
|
||||||
; LD E,(IY+_sFM.F_POSITION+1)
|
; LD E,(IY+_sFM.F_POSITION+1)
|
||||||
@ -594,18 +593,18 @@ READ: LD (R_POINT),HL
|
|||||||
;
|
;
|
||||||
;LD A,B
|
;LD A,B
|
||||||
OR C
|
OR C
|
||||||
JP NZ,ROV1
|
JP NZ,.ROV1
|
||||||
ROV4: POP BC
|
.ROV4: POP BC
|
||||||
PUSH BC
|
PUSH BC
|
||||||
SRL B
|
SRL B
|
||||||
JR Z,ROV2
|
JR Z,.ROV2
|
||||||
LD (SECTORH),HL
|
LD (.SECTORH),HL
|
||||||
LD (SECTORL),DE
|
LD (.SECTORL),DE
|
||||||
LD IX,(R_POINT)
|
LD IX,(R_POINT)
|
||||||
CALL BLOK_RD
|
CALL BLOK_RD
|
||||||
JP C,RPERR1
|
JP C,.ERR_1
|
||||||
LD DE,(R_POINT)
|
LD DE,(R_POINT)
|
||||||
READMEM+1: LD HL,0 // LD HL,(READMEM)
|
.MEM+1: LD HL,0 // LD HL,(READMEM)
|
||||||
AND A
|
AND A
|
||||||
SBC HL,DE
|
SBC HL,DE
|
||||||
LD C,H
|
LD C,H
|
||||||
@ -613,18 +612,18 @@ READMEM+1: LD HL,0 // LD HL,(READMEM)
|
|||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
LD (R_POINT),HL
|
LD (R_POINT),HL
|
||||||
SRL C
|
SRL C
|
||||||
SECTORL+1: LD HL,0 // LD HL,(SECTORL)
|
.SECTORL+1: LD HL,0 // LD HL,(SECTORL)
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
SECTORH+1: LD HL,0 // LD HL,(SECTORH)
|
.SECTORH+1: LD HL,0 // LD HL,(SECTORH)
|
||||||
LD C,B
|
LD C,B
|
||||||
ADC HL,BC
|
ADC HL,BC
|
||||||
ROV2: POP BC
|
.ROV2: POP BC
|
||||||
LD A,B
|
LD A,B
|
||||||
AND #01
|
AND #01
|
||||||
LD B,A
|
LD B,A
|
||||||
OR C
|
OR C
|
||||||
JP Z,ROV6
|
JP Z,.ROV6
|
||||||
PUSH BC
|
PUSH BC
|
||||||
LD IX,BUFFER+#C000
|
LD IX,BUFFER+#C000
|
||||||
LD B,1
|
LD B,1
|
||||||
@ -636,14 +635,14 @@ ROV2: POP BC
|
|||||||
POP BC
|
POP BC
|
||||||
LD C,SLOT3
|
LD C,SLOT3
|
||||||
OUT (C),B
|
OUT (C),B
|
||||||
JP C,RPERR1
|
JP C,.ERR_1
|
||||||
LD HL,BUFFER
|
LD HL,BUFFER
|
||||||
LD DE,(R_POINT)
|
LD DE,(R_POINT)
|
||||||
POP BC
|
POP BC
|
||||||
LDIR
|
LDIR
|
||||||
LD (R_POINT),DE
|
LD (R_POINT),DE
|
||||||
ROV6:
|
.ROV6:
|
||||||
S_POINT+1: LD HL,0
|
.S_POINT+1: LD HL,0
|
||||||
LD DE,(R_POINT)
|
LD DE,(R_POINT)
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
AND A
|
AND A
|
||||||
@ -655,12 +654,11 @@ S_POINT+1: LD HL,0
|
|||||||
LD HL,0
|
LD HL,0
|
||||||
CALL MOVE_FP.F_current
|
CALL MOVE_FP.F_current
|
||||||
POP DE
|
POP DE
|
||||||
NOREAD:
|
.NOREAD:
|
||||||
READCOD+1: LD A,0
|
.COD+1: LD A,0
|
||||||
OR A
|
OR A
|
||||||
RET
|
RET
|
||||||
|
.ROV1: PUSH BC
|
||||||
ROV1: PUSH BC
|
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
LD IX,BUFFER+#C000
|
LD IX,BUFFER+#C000
|
||||||
@ -674,7 +672,7 @@ ROV1: PUSH BC
|
|||||||
LD C,SLOT3
|
LD C,SLOT3
|
||||||
OUT (C),B
|
OUT (C),B
|
||||||
POP HL
|
POP HL
|
||||||
JP C,RPERR3
|
JP C,.ERR_3
|
||||||
LD BC,1
|
LD BC,1
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
@ -691,23 +689,22 @@ ROV1: PUSH BC
|
|||||||
POP HL
|
POP HL
|
||||||
AND A
|
AND A
|
||||||
SBC HL,BC
|
SBC HL,BC
|
||||||
JR NC,ROV3
|
JR NC,.ROV3
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
LD B,H
|
LD B,H
|
||||||
LD C,L
|
LD C,L
|
||||||
LD HL,0
|
LD HL,0
|
||||||
ROV3: PUSH HL
|
.ROV3: PUSH HL
|
||||||
LD HL,BUFFER
|
LD HL,BUFFER
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
LD DE,(R_POINT)
|
LD DE,(R_POINT)
|
||||||
LDIR
|
LDIR
|
||||||
LD (R_POINT),DE
|
LD (R_POINT),DE
|
||||||
EXX
|
EXX
|
||||||
JP ROV4
|
JP .ROV4
|
||||||
|
.ERR_3: POP HL
|
||||||
RPERR3: POP HL
|
.ERR_2: POP HL
|
||||||
RPERR2: POP HL
|
.ERR_1: POP BC
|
||||||
RPERR1: POP BC
|
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -726,7 +723,7 @@ RD_ONLY: POP DE
|
|||||||
; DE - SIZE
|
; DE - SIZE
|
||||||
; A - FM
|
; A - FM
|
||||||
WRITE: LD (R_POINT),HL
|
WRITE: LD (R_POINT),HL
|
||||||
LD (S_POINT),HL
|
LD (READ.S_POINT),HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
CALL SET_FM
|
CALL SET_FM
|
||||||
JP C,PWERR1
|
JP C,PWERR1
|
||||||
@ -762,7 +759,7 @@ WOV4: POP BC
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH BC
|
PUSH BC
|
||||||
R_POINT+2: LD IX,0 // LD IX,(R_POINT)
|
R_POINT+2: LD IX,0 // LD IX,(R_POINT)
|
||||||
|
|
||||||
CALL BLOK_WR
|
CALL BLOK_WR
|
||||||
POP BC
|
POP BC
|
||||||
@ -818,7 +815,7 @@ WOV2: POP BC
|
|||||||
LD C,SLOT3
|
LD C,SLOT3
|
||||||
OUT (C),B
|
OUT (C),B
|
||||||
RET C
|
RET C
|
||||||
WOV6: LD DE,(S_POINT)
|
WOV6: LD DE,(READ.S_POINT)
|
||||||
LD HL,(R_POINT)
|
LD HL,(R_POINT)
|
||||||
AND A
|
AND A
|
||||||
SBC HL,DE
|
SBC HL,DE
|
||||||
@ -922,8 +919,8 @@ WOV3: PUSH HL
|
|||||||
; ADC HL,DE
|
; ADC HL,DE
|
||||||
; RET
|
; RET
|
||||||
/////////////////////////////////////
|
/////////////////////////////////////
|
||||||
; HL - CLUSTER
|
; in: HL - CLUSTER
|
||||||
; HL:IX - SECTOR
|
; out: HL:IX - SECTOR
|
||||||
NSECTOR: DEC HL
|
NSECTOR: DEC HL
|
||||||
DEC HL
|
DEC HL
|
||||||
LD DE,0
|
LD DE,0
|
||||||
|
|||||||
@ -289,27 +289,39 @@ RD_BPB: LD C,SLOT3
|
|||||||
LD (FatBuffer.DIR_S_S),A
|
LD (FatBuffer.DIR_S_S),A
|
||||||
ADD HL,BC ; Start DATA area
|
ADD HL,BC ; Start DATA area
|
||||||
LD (FatBuffer.DAT_FRM),HL
|
LD (FatBuffer.DAT_FRM),HL
|
||||||
;LD HL,0
|
;!TODO ¥ ¨á¯®«ì§ãîâáï § ç¥¨ï ¢ëç¨á«ï¥¬ë¥ ¨ á®åà ï¥¬ë¥ ¢ FatBuffer
|
||||||
LD H,B ; âãâ ¢ B ®«ì ¤®«¦¥ ¡ëâì
|
|
||||||
LD L,B
|
|
||||||
LD C,(IY+_sBOOT_SEC.B_P_S) ; Size sector
|
|
||||||
LD B,(IY+_sBOOT_SEC.B_P_S+1)
|
|
||||||
LD A,(BootSector.S_P_C)
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
IF COMPILE_UNUSED_CODE
|
IF COMPILE_UNUSED_CODE
|
||||||
;!TODO ¥ ¨á¯®«ì§ãîâáï § ç¥¨ï ¢ëç¨á«ï¥¬ë¥ ¨ á®åà ï¥¬ë¥ ¢ FatBuffer
|
;LD HL,0
|
||||||
;NEXTAD3
|
|
||||||
.loop3: ADD HL,BC ; calc. cluster size
|
|
||||||
DEC A
|
|
||||||
JR NZ,.loop3
|
|
||||||
|
|
||||||
|
;LD H,B ; âãâ ¢ B ®«ì ¤®«¦¥ ¡ëâì
|
||||||
|
;LD L,B
|
||||||
|
;LD C,(IY+_sBOOT_SEC.B_P_S) ; Size sector
|
||||||
|
;LD B,(IY+_sBOOT_SEC.B_P_S+1)
|
||||||
|
LD L,(IY+_sBOOT_SEC.B_P_S) ; Size sector
|
||||||
|
LD H,(IY+_sBOOT_SEC.B_P_S+1)
|
||||||
|
LD A,(BootSector.S_P_C)
|
||||||
|
|
||||||
|
;NEXTAD3
|
||||||
|
; .loop3: ADD HL,BC ; calc. cluster size
|
||||||
|
; DEC A
|
||||||
|
; JR NZ,.loop3
|
||||||
|
;!TODO ¯à®¢¥à¨âì ¯à ¢¨«ì® «¨ áç¨â ¥â
|
||||||
|
XOR 1 ; calc. cluster size
|
||||||
|
JR Z,.loop3.end
|
||||||
|
RRA
|
||||||
|
.loop3: ADD HL,HL
|
||||||
|
RRCA
|
||||||
|
JP NC,.loop3
|
||||||
|
.loop3.end:
|
||||||
|
;
|
||||||
|
|
||||||
LD (FatBuffer.CLU_LEN),HL
|
LD (FatBuffer.CLU_LEN),HL
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD HL,#3FFF ;!TODO FATcacheSize
|
LD HL,#3FFF ;!TODO FATcacheSize
|
||||||
XOR A
|
;XOR A
|
||||||
;NEXTAD4
|
; A = 0
|
||||||
|
;NEXTAD4 ;!FIXIT ®¯â¨¬¨§¨à®¢ âì ª®£¤ ¯® ¤®¡¨âáï
|
||||||
.loop4: INC A
|
.loop4: INC A
|
||||||
JP Z,DOS_X_Error.UnknownBPB
|
JP Z,DOS_X_Error.UnknownBPB
|
||||||
SBC HL,DE
|
SBC HL,DE
|
||||||
@ -346,6 +358,11 @@ RD_BPB: LD C,SLOT3
|
|||||||
.BPB_FAT:
|
.BPB_FAT:
|
||||||
LD (FatBuffer.FAT_TYP),A
|
LD (FatBuffer.FAT_TYP),A
|
||||||
LD (FatBuffer.ENDCLUS),HL
|
LD (FatBuffer.ENDCLUS),HL
|
||||||
|
|
||||||
|
;!TODO ¥ ¨á¯®«ì§ãîâáï § ç¥¨ï ¢ëç¨á«ï¥¬ë¥ ¨ á®åà ï¥¬ë¥ ¢ FatBuffer
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
IF COMPILE_UNUSED_CODE
|
||||||
|
|
||||||
LD HL,0
|
LD HL,0
|
||||||
LD C,(IY+_sBOOT_SEC.S_P_T) ; Sector per track
|
LD C,(IY+_sBOOT_SEC.S_P_T) ; Sector per track
|
||||||
LD B,(IY+_sBOOT_SEC.S_P_T+1)
|
LD B,(IY+_sBOOT_SEC.S_P_T+1)
|
||||||
@ -355,6 +372,8 @@ RD_BPB: LD C,SLOT3
|
|||||||
DEC A
|
DEC A
|
||||||
JR NZ,.BPB_L1
|
JR NZ,.BPB_L1
|
||||||
LD (FatBuffer.S_X_H),HL
|
LD (FatBuffer.S_X_H),HL
|
||||||
|
ENDIF
|
||||||
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
LD DE,(FatBuffer.DAT_FRM)
|
LD DE,(FatBuffer.DAT_FRM)
|
||||||
; LD E,(IY+#1C) ;Hidden sec
|
; LD E,(IY+#1C) ;Hidden sec
|
||||||
|
|||||||
@ -50,8 +50,8 @@ INC_FA2 CALL R_F_FAT
|
|||||||
|
|
||||||
;R01
|
;R01
|
||||||
|
|
||||||
; HL - CLUSTER
|
; IN: HL - CLUSTER
|
||||||
; DE - (CLUSTER)
|
; OUT: DE - (CLUSTER)
|
||||||
;!FIXIT ¤ ŤĽĽ § âŽçŞ âŽ, ç⎠˘ DE ˘áĽŁ¤ 0 - ŕ §¤ĽŤ Ľ ĄŽŤěčĽ 2Gb
|
;!FIXIT ¤ ŤĽĽ § âŽçŞ âŽ, ç⎠˘ DE ˘áĽŁ¤ 0 - ŕ §¤ĽŤ Ľ ĄŽŤěčĽ 2Gb
|
||||||
R_F_FAT:
|
R_F_FAT:
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
@ -85,8 +85,13 @@ R_F_F16:
|
|||||||
;
|
;
|
||||||
AND #0F ; A=A/16 ; A - BLOCK FAT (1 BLOCK = 8192 BYTES)
|
AND #0F ; A=A/16 ; A - BLOCK FAT (1 BLOCK = 8192 BYTES)
|
||||||
ADD HL,HL ; HL - FAT OFFSET (FROM CASH)
|
ADD HL,HL ; HL - FAT OFFSET (FROM CASH)
|
||||||
LD BC,(FATCASH) ; C - BLOCK FAT IN CASH
|
;!TEST
|
||||||
CP C
|
LD BC,(FATCASH) ; C - BLOCK FAT IN CASH
|
||||||
|
CP C
|
||||||
|
//LD C,A
|
||||||
|
//LD A,(FATCASH.Block)
|
||||||
|
//CP C
|
||||||
|
;
|
||||||
CALL NZ,RE_FAT ; A != C - READ NEW BLOCK FAT
|
CALL NZ,RE_FAT ; A != C - READ NEW BLOCK FAT
|
||||||
LD DE,FAT
|
LD DE,FAT
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
275
|
280
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit cf19a287a2cfe1946de5c1d50a255c43ae4fc390
|
Subproject commit b593cb606636c961e49597b9b1e5b6ee72d191c9
|
||||||
Loading…
Reference in New Issue
Block a user