Speeeeeeeed))))

This commit is contained in:
Anatoliy Belyanskiy 2023-07-08 00:05:39 +10:00
parent aae08dd436
commit e542bc0bd3
10 changed files with 137 additions and 175 deletions

View File

@ -512,11 +512,7 @@ DEPLOY:
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
;!TEST
;LD A,DRVPAGE
;CALL BANK
SET_PAGE_X DRVPAGE SET_PAGE_X DRVPAGE
;
PUSH AF PUSH AF
LD HL,DRV_CONTENT LD HL,DRV_CONTENT

View File

@ -69,10 +69,9 @@ WATTRIB PUSH AF
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00 ; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
; OUTPUT: A - FM ; OUTPUT: A - FM
CREATE: CREATE:
_mSavePath _mSavePath
AND #E7 ;R04 AND #E7 ;R04 %76A00SHR = !FAT_ATTR
LD (ACCESS),A LD (ACCESS),A
LD (PATH0),HL LD (PATH0),HL
CALL GETWORD CALL GETWORD
@ -90,7 +89,7 @@ CREATE:
; OUTPUT: A - FM ; OUTPUT: A - FM
CREAT_N: CREAT_N:
_mSavePath _mSavePath
AND #E7 ;R04 %76A00SHR AND #E7 ;R04 %76A00SHR = !FAT_ATTR
LD (ACCESS),A LD (ACCESS),A
LD (PATH0),HL LD (PATH0),HL
CALL GETWORD CALL GETWORD
@ -152,17 +151,12 @@ DELETE LD DE,MASKARE
CALL SEARCH CALL SEARCH
RET C RET C
DELFILE: DELFILE:
;!TEST
;LD A,DIRPAGE
;CALL BANK
SET_PAGE_X DIRPAGE SET_PAGE_X DIRPAGE
;
;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
OUT (SLOT3),A OUT (SLOT3),A
LD A,E LD A,E
OR D OR D
@ -183,7 +177,6 @@ SMALDEL CALL SAVEDIR
; INPUT: HL - "old_name.ext",#00 without simbols * ? ; INPUT: HL - "old_name.ext",#00 without simbols * ?
; DE - "new_name.ext",#00 without simbols * ? ; DE - "new_name.ext",#00 without simbols * ?
RENAME PUSH DE RENAME PUSH DE
LD DE,MASKARE LD DE,MASKARE
CALL MASK CALL MASK
@ -198,7 +191,8 @@ RENAME PUSH DE
RET Z RET Z
PUSH DE PUSH DE
CALL LOADDIR CALL LOADDIR
LD A,#33 ;LD A,#33
LD A,FAT_ATTR.NoSYSnoVolID
CALL ASEARCH CALL ASEARCH
POP HL POP HL
RET C RET C
@ -213,18 +207,14 @@ RENAME PUSH DE
SCF SCF
RET Z RET Z
PUSH IX PUSH IX
LD A,#33 LD A,FAT_ATTR.NoSYSnoVolID
CALL ASEARCH CALL ASEARCH
POP IX POP IX
LD A,DSS_Error.sys.FILE_EXISTS LD A,DSS_Error.sys.FILE_EXISTS
CCF CCF
RET C RET C
;!TEST
;LD A,DIRPAGE
;CALL BANK
SET_PAGE_X DIRPAGE SET_PAGE_X DIRPAGE
;
LD HL,MASKARE LD HL,MASKARE
LD D,XH LD D,XH
@ -245,7 +235,7 @@ OPENATR:
LD DE,MASKARE LD DE,MASKARE
CALL MASK CALL MASK
RET C RET C
LD A,#37 ;%00AD0SHR LD A,FAT_ATTR.NoVolID
CALL ASEARCH CALL ASEARCH
JR NC,OPENAT JR NC,OPENAT
RET RET
@ -338,11 +328,7 @@ CLOSE2: LD A,B
EX DE,HL EX DE,HL
PUSH HL PUSH HL
;!TEST
;LD A,DIRPAGE
;CALL BANK
SET_PAGE_X DIRPAGE SET_PAGE_X DIRPAGE
;
POP HL POP HL
LD BC,#0020 LD BC,#0020
@ -362,11 +348,7 @@ HANDBUF: BLOCK HANDBUF.SIZE,0
WRT_HND: WRT_HND:
;!TEST
;LD A,DIRPAGE
;CALL BANK
SET_PAGE_X DIRPAGE SET_PAGE_X DIRPAGE
;
PUSH AF PUSH AF
LD IX,DIR LD IX,DIR
@ -453,6 +435,8 @@ GETN6: LD A,(HL)
DTABUF: DW #0000 DTABUF: DW #0000
CURHND: DW #0000 CURHND: DW #0000
NO_NEXT: DB #00 NO_NEXT: DB #00
.YES EQU 0
.NO EQU #FF
FNDMODE: DB #00 FNDMODE: DB #00
F_FIRST: F_FIRST:
@ -474,12 +458,12 @@ F_FIRST:
RET C RET C
LD HL,MASKARE LD HL,MASKARE
LD DE,(DTABUF) LD DE,(DTABUF)
LD BC,11 LD BC,11 ;!HARDCODE
LDIR LDIR
LD A,(ACCESS) LD A,(ACCESS)
LD (DE),A LD (DE),A
INC DE FIND_S: INC DE
FIND_S: LD BC,#0020 LD BC,#0020
ADD IX,BC ADD IX,BC
LD (CURHND),IX LD (CURHND),IX
LD HL,HANDBUF+12 LD HL,HANDBUF+12
@ -492,15 +476,15 @@ FIND_S: LD BC,#0020
LD A,(FNDMODE) LD A,(FNDMODE)
OR A OR A
JR NZ,FIND_M2 JR NZ,FIND_M2
LD BC,11 LD BC,11 ;!HARDCODE
LDIR LDIR
LD A,#FF LD A,NO_NEXT.NO
LD (NO_NEXT),A LD (NO_NEXT),A
XOR A XOR A
RET RET
FIND_M2: FIND_M2:
CALL GETNAME CALL GETNAME
LD A,#FF LD A,NO_NEXT.NO
LD (NO_NEXT),A LD (NO_NEXT),A
XOR A XOR A
RET RET
@ -511,54 +495,53 @@ F_NEXT: LD A,(NO_NEXT)
SCF SCF
RET Z RET Z
LD (DTABUF),DE LD (DTABUF),DE
EX DE,HL
LD DE,MASKARE LD DE,MASKARE
LD HL,(DTABUF) LD BC,11 ;!HARDCODE
LD BC,11
LDIR LDIR
XOR A
LD (NO_NEXT),A
LD A,(HL) LD A,(HL)
PUSH HL PUSH HL
CALL NSEARCH CALL NSEARCH
POP DE POP DE
EX AF,AF'
XOR A
LD (NO_NEXT),A
EX AF,AF'
RET C RET C
INC DE
JP FIND_S JP FIND_S
NSEARCH: NSEARCH:
EX AF,AF' EX AF,AF'
;!TEST
;LD A,DIRPAGE
;CALL BANK
SET_PAGE_X DIRPAGE SET_PAGE_X DIRPAGE
;
PUSH AF PUSH AF
EX AF,AF' EX AF,AF'
CPL CPL
LD C,A LD C,A
LD IX,(CURHND)
EXX EXX
LD DE,0 LD DE,0
EXX EXX
LD IX,(CURHND)
LD A,XH
OR XL
JR Z,SEARCH3.error
JP SEARCH1 JP SEARCH1
DSEARCH: DSEARCH:
LD A,#10 LD A,FAT_ATTR.DIRECTORY
CALL ASEARCH CALL ASEARCH
RET NC RET NC
LD A,4 LD A,DSS_Error.sys.PATH_NOT_FOUND
RET RET
SEARCH: LD A,#23 ;%00100011 ;!!!!! ă ‘ ©¬ ­  #27 - %0010'0111 SEARCH: LD A,FAT_ATTR.NoDIRnoVolID
ASEARCH: ASEARCH:
EX AF,AF' ; 76ADLSHR EX AF,AF' ; 76ADLSHR
;!TEST
;LD A,DIRPAGE
;CALL BANK
SET_PAGE_X DIRPAGE SET_PAGE_X DIRPAGE
;
PUSH AF PUSH AF
EX AF,AF' EX AF,AF'
CPL CPL
@ -571,7 +554,7 @@ SEARCH1:
LD A,(IX+00) LD A,(IX+00)
OR A OR A
JR Z,SEARCH4 JR Z,SEARCH4
CP #E5 CP #E5 ;!HARDCODE #E5 - § ¯¨áì ¢ ¤¨à¥ªâ®à¨¨ ᢮¡®¤­ , â ª ª ª ä ©«/¤¨à¥ªâ®à¨ï ¡ë«¨ 㤠«¥­ë
JR Z,SEARCH3 JR Z,SEARCH3
LD A,(IX+11) LD A,(IX+11)
AND C AND C
@ -606,9 +589,14 @@ SEARCH3:
EXX EXX
INC DE INC DE
EXX EXX
LD DE,#0020 LD DE,#0020 ;!HARDCODE
ADD IX,DE ADD IX,DE
JR NC,SEARCH1 JR NC,SEARCH1
.error: POP AF
OUT (SLOT3),A
LD A,DSS_Error.sys.TOO_MANY_FILES_IN_DIR
SCF
RET
SEARCH4: SEARCH4:
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
@ -636,7 +624,7 @@ GETWORD:
RET RET
.DIR_NAME: .DIR_NAME:
LD A,#00 XOR A
LD (DE),A LD (DE),A
PUSH HL PUSH HL
LD HL,TMPNAME LD HL,TMPNAME
@ -665,8 +653,6 @@ TMPNAME: DB ' ',#00 ; 12
;!TODO ᤥ« âì ¤«ï ª ¦¤®£® ¤à ©¢  § ¯®¬¨­ ­¨¥ ⥪ã饩 ¤¨à४â®à¨¨, ¯®ª  âãâ § £«ã誠 ;!TODO ᤥ« âì ¤«ï ª ¦¤®£® ¤à ©¢  § ¯®¬¨­ ­¨¥ ⥪ã饩 ¤¨à४â®à¨¨, ¯®ª  âãâ § £«ã誠
; RestoreDIR: ; RestoreDIR:
;
CHNDISK: CHNDISK:
CALL OPENDSK CALL OPENDSK
;????? R10 ;????? R10
@ -693,6 +679,13 @@ CHNDISK:
; ;
;????? R10 ;????? R10
OPENDSK: OPENDSK:
;!TEST
LD C,A
LD A,(FatBuffer.DRIVE)
CP C
JR Z,.exit
LD A,C
;
PUSH AF PUSH AF
LD C,Dss.DRV.Open LD C,Dss.DRV.Open
RST ToDSS.DRV RST ToDSS.DRV
@ -702,7 +695,7 @@ OPENDSK:
LD (FatBuffer.DRIVE),A LD (FatBuffer.DRIVE),A
CALL RD_BPB CALL RD_BPB
RET C RET C
LD A,(LDRIVE) .exit: LD A,(LDRIVE)
AND A AND A
RET RET
.error: CP DSS_Error.sys.INVALID_DRIVE .error: CP DSS_Error.sys.INVALID_DRIVE
@ -712,12 +705,14 @@ OPENDSK:
RET RET
; ;
OPENDIR XOR A OPENDIR:
XOR A
CALL SET_FM CALL SET_FM
LD A,(HL) LD A,(HL)
OR A OR A
JP NZ,SUBDIR JP NZ,SUBDIR
REROOT1 LD DE,0 REROOT1:
LD DE,0
LD (IY+_sFM.ST_CLUSTER),E LD (IY+_sFM.ST_CLUSTER),E
LD (IY+_sFM.ST_CLUSTER+1),D LD (IY+_sFM.ST_CLUSTER+1),D
CALL LOADDIR CALL LOADDIR
@ -728,34 +723,37 @@ REROOT1 LD DE,0
AND A AND A
RET RET
SUBDIR CP "." SUBDIR: CP "."
JR NZ,SUBDIR2 JR NZ,SUBDIR2
LD A,(IY+_sFM.ST_CLUSTER) ;R05 LD A,(IY+_sFM.ST_CLUSTER) ;R05 ;!FIXIT ¬®¦­® ¯¥à¥¤¥« âì ­  ¯àï¬ë¥ áá뫪¨ ¡¥§ IY
OR (IY+_sFM.ST_CLUSTER+1) ;R05 OR (IY+_sFM.ST_CLUSTER+1) ;R05 ;!FIXIT ¬®¦­® ¯¥à¥¤¥« âì ­  ¯àï¬ë¥ áá뫪¨ ¡¥§ IY
JR NZ,SUDI1 ;R05 JR NZ,SUDI1 ;R05
INC HL ;R05 INC HL ;R05
LD A,(HL) ;R05 LD A,(HL) ;R05
OR A ;R05 OR A ;R05
DEC HL ;R05 DEC HL ;R05
JR Z,REROOT1 ;R05 JR Z,REROOT1 ;R05
SUDI1 EXX SUDI1: EXX
LD HL,MASKARE LD HL,MASKARE
LD DE,MASKARE+1 LD DE,MASKARE+1
LD BC,10 LD BC,10 ;!HARDCODE
LD (HL),#20 LD (HL),' '
LDIR LDIR
EXX EXX
LD DE,MASKARE LD DE,MASKARE
SUBDIR0 LDI SUBDIR0:
LDI
LD A,(HL) LD A,(HL)
OR A OR A
JR NZ,SUBDIR0 JR NZ,SUBDIR0
JR SUBDIR3 JR SUBDIR3
SUBDIR2 LD DE,MASKARE SUBDIR2:
LD DE,MASKARE
CALL MASK CALL MASK
RET C RET C
SUBDIR3 CALL FINDDIR SUBDIR3:
CALL FINDDIR
RET C RET C
LD (IY+_sFM.ST_CLUSTER),E LD (IY+_sFM.ST_CLUSTER),E
LD (IY+_sFM.ST_CLUSTER+1),D LD (IY+_sFM.ST_CLUSTER+1),D
@ -822,7 +820,7 @@ FINDDIR:
EX DE,HL EX DE,HL
; JR NZ,ROTZ ; JR NZ,ROTZ
JR NZ,MM3 JR NZ,MM3
JR MM2_5 JP MM2_5
; INC HL ; INC HL
; ROTZ LD (HL),0 ; ROTZ LD (HL),0
; JP IT_DIR ; JP IT_DIR
@ -1588,7 +1586,7 @@ MKDIR:
RET C RET C
CALL LOADDIR CALL LOADDIR
CALL DSEARCH CALL DSEARCH
LD A,15 LD A,DSS_Error.sys.DIR_EXISTS
CCF CCF
RET C RET C
CALL G_CLUST CALL G_CLUST
@ -1656,11 +1654,9 @@ MKD03 INC HL
DJNZ MKD03 DJNZ MKD03
INC HL INC HL
PUSH HL PUSH HL
;!TEST
;LD A,DIRPAGE
;CALL BANK
SET_PAGE_X DIRPAGE SET_PAGE_X DIRPAGE
;
POP HL POP HL
PUSH AF PUSH AF
LD A,(DIR) LD A,(DIR)

View File

@ -381,11 +381,9 @@ S4C02 INC HL
; JP C,RDERR1 ; JP C,RDERR1
LD HL,0 LD HL,0
LD (FATCASH),HL LD (FATCASH),HL
;!TEST
;LD A,FATPAGE
;CALL BANK
SET_PAGE_X FATPAGE SET_PAGE_X FATPAGE
;
PUSH AF PUSH AF
XOR A XOR A
CALL RE_FAT CALL RE_FAT
@ -459,12 +457,8 @@ SAVE_CUR_PATH
PUSH DE PUSH DE
PUSH BC PUSH BC
PUSH AF PUSH AF
;
;!TEST
;LD A,ENVPAGE
;CALL BANK
SET_PAGE_X ENVPAGE SET_PAGE_X ENVPAGE
;
PUSH AF PUSH AF
CALL CURRDSK CALL CURRDSK
@ -501,13 +495,8 @@ BACK_CUR_PATH:
PUSH DE PUSH DE
PUSH BC PUSH BC
PUSH AF PUSH AF
;
;!TEST
;LD A,ENVPAGE
;CALL BANK
SET_PAGE_X ENVPAGE
;
SET_PAGE_X ENVPAGE
PUSH AF PUSH AF
LD HL,TMP_CURDIR LD HL,TMP_CURDIR

View File

@ -1,11 +1,17 @@
; ;
MACRO SET_PAGE_X new_page MACRO SET_PAGE_X new_page
IF OLD_SET_BANK
LD A,new_page
CALL BANK
ELSE
LD A,(BANKTBL+new_page) LD A,(BANKTBL+new_page)
LD B,A LD B,A
LD C,SLOT3 LD C,SLOT3
IN A,(SLOT3) IN A,(SLOT3)
OUT (C),B OUT (C),B
ENDIF
ENDM ENDM
; ;

View File

@ -28,12 +28,7 @@ ENVIRON:
RET RET
INITENV: INITENV:
;!TEST
;LD A,ENVPAGE
;CALL BANK
SET_PAGE_X ENVPAGE SET_PAGE_X ENVPAGE
;
PUSH AF PUSH AF
;!TEST ;!TEST
LD A,(BOOTDRV) LD A,(BOOTDRV)
@ -60,11 +55,9 @@ INITENV:
READENV: READENV:
PUSH HL PUSH HL
;!TEST
;LD A,ENVPAGE
;CALL BANK
SET_PAGE_X ENVPAGE SET_PAGE_X ENVPAGE
;
LD H,A LD H,A
LD C,SLOT3 LD C,SLOT3
IN L,(C) IN L,(C)
@ -95,11 +88,7 @@ READENV:
GETENV: PUSH DE GETENV: PUSH DE
CALL ENV_EX CALL ENV_EX
;!TEST
;LD A,ENVPAGE
;CALL BANK
SET_PAGE_X ENVPAGE SET_PAGE_X ENVPAGE
;
EX AF,AF' EX AF,AF'
CALL F_ENV CALL F_ENV
@ -121,13 +110,10 @@ GE_1: EX AF,AF'
RET RET
SETENV: CALL ENV_EX SETENV: CALL ENV_EX
;!TEST
;LD A,ENVPAGE
;CALL BANK
SET_PAGE_X ENVPAGE SET_PAGE_X ENVPAGE
;
PUSH AF PUSH AF
;
CALL F_ENV CALL F_ENV
JR NC,PENV JR NC,PENV
XOR A XOR A

View File

@ -559,12 +559,8 @@ CHECKPATH: ; !TODO ᤥ
RELATIVE_DIR EQU 0 RELATIVE_DIR EQU 0
ABSOLUTE_DIR EQU 1 ABSOLUTE_DIR EQU 1
FINDPATH FINDPATH:
;!TEST
;LD A,ENVPAGE
;CALL BANK
SET_PAGE_X ENVPAGE SET_PAGE_X ENVPAGE
;
PUSH AF PUSH AF
CALL CURRDSK CALL CURRDSK
@ -579,7 +575,7 @@ FINDPATH
CALL MAKE_PATH_ARRAY CALL MAKE_PATH_ARRAY
LD HL,PATH_PNT_ARRAY LD HL,PATH_PNT_ARRAY
NEXTPATHI NEXTPATHI:
LD E,(HL) LD E,(HL)
INC HL INC HL
LD D,(HL) LD D,(HL)
@ -602,20 +598,20 @@ NEXTPATHI
CALL TST_EXT CALL TST_EXT
JR C,BADPATH JR C,BADPATH
CALL SEARCH CALL SEARCH
BADPATH BADPATH:
POP BC POP BC
POP HL POP HL
JR NC,PATHFOUND JR NC,PATHFOUND
DJNZ NEXTPATHI DJNZ NEXTPATHI
SCF SCF
PATHFOUND PATHFOUND:
POP BC POP BC
LD A,B LD A,B
OUT (SLOT3),A OUT (SLOT3),A
; LD A,DSS_Error.sys.PATH_NOT_FOUND ;????? ­ã¦¥­ «¨ âãâ ª®¤ ®è¨¡ª¨? ; LD A,DSS_Error.sys.PATH_NOT_FOUND ;????? ­ã¦¥­ «¨ âãâ ª®¤ ®è¨¡ª¨?
RET RET
GOTO_CURDIR GOTO_CURDIR:
PUSH HL PUSH HL
LD HL,TMP_CURDIR LD HL,TMP_CURDIR
; ;
@ -625,11 +621,11 @@ GOTO_CURDIR
POP HL POP HL
RET RET
MAKE_PATH_ARRAY MAKE_PATH_ARRAY:
LD HL,PATH_PNT_ARRAY-1 ;R04 -1 LD HL,PATH_PNT_ARRAY-1 ;R04 -1
LD DE,ENVTEMP-1 LD DE,ENVTEMP-1
LD B,#00 LD B,#00
NEXTAR LD (HL),C ;R04 NEXTAR: LD (HL),C ;R04
INC HL ;R04 INC HL ;R04
XOR A XOR A
LD (DE),A LD (DE),A
@ -642,12 +638,12 @@ NEXTAR LD (HL),C ;R04
;R04 LD (HL),C ;R04 LD (HL),C
;R04 INC HL ;R04 INC HL
INC B INC B
NEXTRT LD A,(DE) NEXTRT: LD A,(DE)
CP #5C ;\ CP #5C ;\
JR NZ,NEXTCH JR NZ,NEXTCH
NEXTDR SET ABSOLUTE_DIR,C NEXTDR: SET ABSOLUTE_DIR,C
NEXTRL ;SET RELATIVE_DIR,C NEXTRL: ;SET RELATIVE_DIR,C ;!TODO ????
NEXTCH LD A,(DE) NEXTCH: LD A,(DE)
CP ";" CP ";"
JR Z,NEXTAR JR Z,NEXTAR
INC DE INC DE
@ -724,9 +720,8 @@ EXEC1:
EXEC0_SHORT: EXEC0_SHORT:
;SHORT NAME ;SHORT NAME
; TRY TO FIND IN CURRENT DIRECTORY ; TRY TO FIND IN CURRENT DIRECTORY
;
; LD (CMDLINE),HL ; LD (CMDLINE),HL
LD A,#01 LD A,#01 ; %7600000R = !FAT_ATTR
LD (ACCESS),A LD (ACCESS),A
CALL GETWORD CALL GETWORD
RET C RET C

View File

@ -62,11 +62,7 @@ R_F_FAT EX DE,HL
RET C RET C
EXX EXX
;!TEST
;LD A,FATPAGE
;CALL BANK
SET_PAGE_X FATPAGE SET_PAGE_X FATPAGE
;
EXX EXX
PUSH HL PUSH HL
@ -223,11 +219,9 @@ W_T_FAT PUSH DE
LD A,10 LD A,10
RET C RET C
EXX EXX
;!TEST
;LD A,FATPAGE
;CALL BANK
SET_PAGE_X FATPAGE SET_PAGE_X FATPAGE
;
EXX EXX
PUSH HL PUSH HL
PUSH AF PUSH AF
@ -349,10 +343,7 @@ RE_FAT PUSH HL
POP HL POP HL
RET RET
WR_FAT EXX WR_FAT: EXX
;!TEST
;LD A,FATPAGE
;CALL BANK
SET_PAGE_X FATPAGE SET_PAGE_X FATPAGE
; ;
EXX EXX
@ -362,7 +353,8 @@ WR_FAT EXX
OUT (SLOT3),A OUT (SLOT3),A
RET RET
WR_FAT_ LD HL,(FATCASH) WR_FAT_:
LD HL,(FATCASH)
LD H,0 LD H,0
LD (FATCASH),HL LD (FATCASH),HL
ADD HL,HL ADD HL,HL
@ -387,7 +379,8 @@ WR_FAT_ LD HL,(FATCASH)
SBC HL,DE SBC HL,DE
JP C,FATERR JP C,FATERR
LD A,L LD A,L
WALLFAT LD H,B WALLFAT:
LD H,B
LD L,C LD L,C
LD DE,(FatBuffer.FAT_FRM) LD DE,(FatBuffer.FAT_FRM)
ADD HL,DE ADD HL,DE
@ -472,8 +465,8 @@ FATERR: POP HL
; SCF ; SCF
RET RET
FATCASH DW #0000 FATCASH: WORD #0000
MAX_CLU DW #0FF0 MAX_CLU: WORD #0FF0
;//MODULE: FAT_X ;//MODULE: FAT_X
;[END] ;[END]

View File

@ -191,7 +191,7 @@ WINCOPY: AND A
PUSH AF ;R02 PUSH AF ;R02
XOR A XOR A
EX AF,AF' ;R03 EX AF,AF' ;R03
LD A,B ;R03 ;!TEST LD A,B ;R03
EX AF,AF' ;R03 EX AF,AF' ;R03
LD C,BIOS.WIN_COPY LD C,BIOS.WIN_COPY
DI ;R02 DI ;R02
@ -213,7 +213,7 @@ WINREST: AND A
PUSH AF ;R02 PUSH AF ;R02
XOR A XOR A
EX AF,AF' ;R03 EX AF,AF' ;R03
LD A,B ;R03 ;!TEST LD A,B ;R03
EX AF,AF' ;R03 EX AF,AF' ;R03
DI ;R02 DI ;R02
LD C,BIOS.WIN_RESTORE LD C,BIOS.WIN_RESTORE
@ -269,7 +269,7 @@ SCROLL: DJNZ SCR_DW
SCR_DW: DJNZ SCR_ERR SCR_DW: DJNZ SCR_ERR
LD B,A LD B,A
LD C,L LD C,L
PUSH BC ;R03 ;!TEST PUSH BC ;R03
PUSH DE PUSH DE
PUSH HL PUSH HL
LD XH,D LD XH,D
@ -281,7 +281,7 @@ SCR_DW: DJNZ SCR_ERR
RST ToBIOS RST ToBIOS
POP HL POP HL
POP DE POP DE
POP BC ;R03 ;!TEST POP BC ;R03
XOR A XOR A
CP B CP B
JR Z,SCROLL.print JR Z,SCROLL.print
@ -561,7 +561,7 @@ SVTEXT1 LD (SVHL1),HL
LD DE,#0000 LD DE,#0000
EX AF,AF' ;R03 EX AF,AF' ;R03
LD A,(BANKTBL+TXTPAGE) LD A,(BANKTBL+TXTPAGE)
LD B,A ;!TEST LD B,A
EX AF,AF' ;R03 EX AF,AF' ;R03
LD C,BIOS.WIN_COPY LD C,BIOS.WIN_COPY
XOR A XOR A
@ -591,7 +591,7 @@ SVHL1+1:
LD DE,#0000 LD DE,#0000
EX AF,AF' ;R03 EX AF,AF' ;R03
LD A,(BANKTBL+TXTPAGE) LD A,(BANKTBL+TXTPAGE)
LD B,A ;!TEST LD B,A
EX AF,AF' ;R03 EX AF,AF' ;R03
LD C,BIOS.WIN_RESTORE LD C,BIOS.WIN_RESTORE
XOR A XOR A

View File

@ -15,6 +15,7 @@
; ;
;-------------------[MEMORY]-------------------------; ;-------------------[MEMORY]-------------------------;
DEFINE USING_MEMPAGES 4 DEFINE USING_MEMPAGES 4
DEFINE OLD_SET_BANK 0
;!FIXIT ᤥ« âì ⨯  DIRPAGE EQU 0 + BANKTBL ¨ ã¯à®áâ¨âì BANK ;!FIXIT ᤥ« âì ⨯  DIRPAGE EQU 0 + BANKTBL ¨ ã¯à®áâ¨âì BANK
DIRPAGE EQU 0 DIRPAGE EQU 0

@ -1 +1 @@
Subproject commit 3fa91af2db4f96a96f3342d7291deb4d63a90591 Subproject commit d3626cafdbc4a718c1bb02da6d4c3dc806875896