mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:33:12 -06:00
md updates
Trim flash portions of driver. with flash filesystem enabled, rad routine now used flash drive code to read 4k secctors. Twice as slow as normal rom read routine.
This commit is contained in:
@@ -819,7 +819,6 @@ function will return an error status.
|
||||
| _Entry Parameters_
|
||||
| B: 0x1A
|
||||
| C: Disk Device Unit ID
|
||||
| HL: Buffer Address
|
||||
|
||||
| _Exit Results_
|
||||
| A: Status (0=OK, else error)
|
||||
|
||||
@@ -2137,10 +2137,11 @@ DIO_TBL .FILL DIO_SIZ,0 ; SPACE FOR ENTRIES
|
||||
; IMPLEMENTS MULTI SECTOR READS AND I/O TO/FROM
|
||||
; BANKED RAM VIA BOUNCE BUFFER
|
||||
;
|
||||
; TOS=READ FN ADR
|
||||
; HL=BUF ADR
|
||||
; E=SEC COUNT
|
||||
; D=BUF BANK ID
|
||||
; ON ENTRY:
|
||||
; TOS=READ FN ADR
|
||||
; HL=BUF ADR
|
||||
; E=SEC COUNT
|
||||
; D=BUF BANK ID
|
||||
;
|
||||
HB_DSKREAD:
|
||||
;
|
||||
@@ -3263,7 +3264,7 @@ HB_DISPCALL1:
|
||||
; EXIT: HL=FUNC ADR, IY=DATA BLOB ADR
|
||||
;
|
||||
HB_DISPCALC:
|
||||
; CHECK INCOMING UNIT INDEX IN C FOR VAILIDITY
|
||||
; CHECK INCOMING UNIT INDEX IN C FOR VALIDITY
|
||||
LD A,C ; A := INCOMING DISK UNIT INDEX
|
||||
CP (IY-1) ; COMPARE TO COUNT
|
||||
JR NC,HB_UNITERR ; HANDLE INVALID UNIT INDEX
|
||||
|
||||
@@ -123,8 +123,8 @@ MD_RESET:
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
MD_CAP:
|
||||
;
|
||||
MD_CAP: ; ASSUMES THAT UNIT 1 IS RAM, UNIT 0 IS ROM
|
||||
LD A,(IY+MD_DEV) ; GET DEVICE NUMBER
|
||||
OR A ; SET FLAGS
|
||||
JR Z,MD_CAP0 ; UNIT 0
|
||||
@@ -172,7 +172,7 @@ MD_GEOM1:
|
||||
;
|
||||
;
|
||||
MD_DEVICE:
|
||||
LD D,DIODEV_MD ; D := DEVICE TYPE
|
||||
LD D,DIODEV_MD ; D := DEVICE TYPE - ALL ARE MEMORY DISKS
|
||||
LD E,(IY+MD_DEV) ; GET DEVICE NUMBER
|
||||
LD C,(IY+MD_ATTRIB) ; GET ATTRIBUTE
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
@@ -205,6 +205,8 @@ MD_SEEK:
|
||||
;
|
||||
MD_READ:
|
||||
CALL HB_DSKREAD ; HOOK HBIOS DISK READ SUPERVISOR
|
||||
;
|
||||
; HL POINTS TO HB_WRKBUF
|
||||
;
|
||||
LD A,(IY+MD_ATTRIB) ; GET ADR OF SECTOR READ FUNC
|
||||
LD BC,MD_RDSECF ;
|
||||
@@ -271,23 +273,32 @@ MD_RW3:
|
||||
;
|
||||
; READ FLASH
|
||||
;
|
||||
MD_RDSECF:
|
||||
MD_RDSECF: ; CALLED FROM MD_RW
|
||||
CALL MD_IOSETUPF
|
||||
CALL MD_RDSEC
|
||||
PRTS("rf$");
|
||||
LD A,(IY+MD_LBA+0) ; GET SECTOR WITHIN 4K BLOCK
|
||||
AND %00000111 ; AND CALCULATE OFFSET OFFSET
|
||||
ADD A,A
|
||||
LD D,A ; FROM THE START
|
||||
LD E,0
|
||||
;
|
||||
LD HL,FF_BUFFER ; POINT TO THE SECTOR WE
|
||||
ADD HL,DE ; WANT TO COPY
|
||||
LD DE,(MD_DSKBUF)
|
||||
LD BC,512
|
||||
LDIR
|
||||
;
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
MD_IOSETUPF:
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
PUSH IY
|
||||
LD L,(IY+MD_LBA+0) ; HL := LOW WORD OF LBA
|
||||
LD H,(IY+MD_LBA+1)
|
||||
INC H ; SKIP FIRST 128MB (256 SECTORS)
|
||||
; LD DE,256
|
||||
; ADD HL,DE
|
||||
;
|
||||
CALL PRTHEXWORDHL
|
||||
;
|
||||
LD A,L ; SAVE LBA 4K
|
||||
AND %11111000 ; BLOCK WE ARE
|
||||
@@ -301,10 +312,6 @@ MD_IOSETUPF:
|
||||
SLA H
|
||||
RL E
|
||||
RL D
|
||||
;
|
||||
CALL PC_COLON
|
||||
CALL PRTHEX32
|
||||
CALL PC_SPACE
|
||||
;
|
||||
PUSH HL ; IS THE SECTOR
|
||||
LD HL,MD_LBA4K ; WE WANT TO
|
||||
@@ -316,7 +323,7 @@ MD_IOSETUPF:
|
||||
CP (HL)
|
||||
JR Z,MD_SECM
|
||||
;
|
||||
MD_SECR:
|
||||
MD_SECR:
|
||||
POP HL ; DESIRED SECTOR
|
||||
; IS NOT IN BUFFER
|
||||
LD (MD_LBA4K),BC ; WE WILL READ IN
|
||||
@@ -327,16 +334,15 @@ MD_SECR:
|
||||
LD IX,FF_BUFFER ; SET DESTINATION ADDRESS
|
||||
CALL FF_RINIT ; READ 4K SECTOR
|
||||
;
|
||||
LD DE,FF_BUFFER
|
||||
CALL DUMP_BUFFER
|
||||
PUSH HL
|
||||
;
|
||||
MD_SECM:POP HL
|
||||
POP IY
|
||||
POP HL
|
||||
POP DE
|
||||
RET
|
||||
;
|
||||
MD_LBA4K .DW $FFFF
|
||||
|
||||
MD_LBA4K .DW $FFFF ; LBA OF CURRENT SECTOR
|
||||
;
|
||||
;
|
||||
; READ RAM / ROM
|
||||
@@ -558,10 +564,10 @@ FF_TGT .EQU 0BFB7H ; TARGET CHIP FOR R/W FILESYSTEM
|
||||
;
|
||||
;
|
||||
FF_INIT:
|
||||
CALL NEWLINE ; DISLAY NUMBER
|
||||
PRTS("FF: UNITS=$") ; OF UNITS
|
||||
LD A,+(ROMSIZE/512) ; CONFIGURED FOR.
|
||||
CALL PRTDECB
|
||||
; CALL NEWLINE ; DISLAY NUMBER
|
||||
; PRTS("FF: UNITS=$") ; OF UNITS
|
||||
; LD A,+(ROMSIZE/512) ; CONFIGURED FOR.
|
||||
; CALL PRTDECB
|
||||
;
|
||||
LD B,A ; NUMBER OF DEVICES TO PROBE
|
||||
LD C,$00 ; START ADDRESS IS 0000:0000 IN DE:HL
|
||||
@@ -572,12 +578,12 @@ FF_PROBE:
|
||||
LD L,D ; ON EACH CYCLE THROUGH
|
||||
;
|
||||
PUSH BC
|
||||
CALL PC_SPACE
|
||||
LD A,+(ROMSIZE/512)+1
|
||||
SUB B ; PRINT
|
||||
CALL PRTDECB ; DEVICE
|
||||
LD A,'=' ; NUMBER
|
||||
CALL COUT
|
||||
; CALL PC_SPACE
|
||||
; LD A,+(ROMSIZE/512)+1
|
||||
; SUB B ; PRINT
|
||||
; CALL PRTDECB ; DEVICE
|
||||
; LD A,'=' ; NUMBER
|
||||
; CALL COUT
|
||||
CALL FF_IINIT ; GET ID AT THIS ADDRESS
|
||||
;
|
||||
PUSH HL
|
||||
@@ -593,7 +599,7 @@ FF_PROBE:
|
||||
POP DE ; MEANS WE CAN'T
|
||||
POP HL ; ENABLE FLASH WRITING
|
||||
;
|
||||
CALL FF_LAND ; LOOKUP AND DISPLAY
|
||||
; CALL FF_LAND ; LOOKUP AND DISPLAY
|
||||
POP BC
|
||||
;
|
||||
LD A,C ; UPDATE ADDRESS
|
||||
@@ -602,92 +608,17 @@ FF_PROBE:
|
||||
;
|
||||
DJNZ FF_PROBE ; ALWAYS AT LEAST ONE DEVICE
|
||||
;
|
||||
LD A,(FF_RW)
|
||||
OR A
|
||||
JR NZ,FF_PR1
|
||||
CALL PRTSTRD
|
||||
.TEXT " FLASH FILESYSTEM ENABLED$"
|
||||
FF_PR1:
|
||||
;
|
||||
#IF (FF_DBG==1)
|
||||
CALL FF_TESTING
|
||||
#ENDIF
|
||||
; LD A,(FF_RW)
|
||||
; OR A
|
||||
; JR NZ,FF_PR1
|
||||
; CALL PRTSTRD
|
||||
; .TEXT " FLASH FILESYSTEM ENABLED$"
|
||||
;FF_PR1:
|
||||
;
|
||||
XOR A ; INIT SUCCEEDED
|
||||
RET
|
||||
;
|
||||
;======================================================================
|
||||
; TEST CODE AREA
|
||||
;======================================================================
|
||||
;
|
||||
FF_TESTING:
|
||||
;
|
||||
#IF (0)
|
||||
LD DE,$0008 ; SET
|
||||
LD HL,$0000 ; ADDRESS
|
||||
CALL FF_EINIT ; CHIP ERASE
|
||||
CALL PRTHEXBYTE ; DISPLAY STATUS
|
||||
#ENDIF
|
||||
;
|
||||
#IF (0)
|
||||
LD DE,$000A ; SET
|
||||
LD HL,$8000 ; ADDRESS
|
||||
CALL FF_SINIT ; SECTOR ERASE
|
||||
CALL PRTHEXBYTE ; DISPLAY STATUS
|
||||
#ENDIF
|
||||
;
|
||||
#IF (0)
|
||||
LD DE,$000A ; SET DESTINATION
|
||||
LD HL,$8000 ; ADDRESS
|
||||
LD IX,FF_BUFFER ; SET SOURCE ADDRESS
|
||||
CALL FF_WINIT ; WRITE SECTOR
|
||||
CALL PRTHEXBYTE ; DISPLAY STATUS
|
||||
#ENDIF
|
||||
;
|
||||
#IF (1)
|
||||
LD DE,$0000 ; SET SOURCE
|
||||
LD HL,$7000 ; ADDRESS
|
||||
LD IX,FF_BUFFER ; SET DESTINATION ADDRESS
|
||||
CALL FF_RINIT ; READ SECTOR
|
||||
CALL PRTHEXBYTE ; DISPLAY STATUS
|
||||
LD DE,FF_BUFFER
|
||||
CALL DUMP_BUFFER
|
||||
#ENDIF
|
||||
;
|
||||
#IF (1)
|
||||
LD HL,FF_BUFFER ; FILL BUFFER
|
||||
LD (HL),'J'
|
||||
LD DE,FF_BUFFER+1
|
||||
LD BC,$1000-1
|
||||
LDIR
|
||||
#ENDIF
|
||||
;
|
||||
#IF (1)
|
||||
LD DE,$0000 ; SET
|
||||
LD HL,$7000 ; ADDRESS
|
||||
CALL FF_SINIT ; SECTOR ERASE
|
||||
CALL PRTHEXBYTE ; DISPLAY STATUS
|
||||
#ENDIF
|
||||
#IF (1)
|
||||
LD DE,$0000 ; SET DESTINATION
|
||||
LD HL,$7000 ; ADDRESS
|
||||
LD IX,FF_BUFFER ; SET SOURCE ADDRESS
|
||||
CALL FF_WINIT ; WRITE SECTOR
|
||||
CALL PRTHEXBYTE ; DISPLAY STATUS
|
||||
#ENDIF
|
||||
;
|
||||
#IF (1)
|
||||
LD DE,$0000 ; SET SOURCE
|
||||
LD HL,$7000 ; ADDRESS
|
||||
LD IX,FF_BUFFER ; SET DESTINATION ADDRESS
|
||||
CALL FF_RINIT ; READ SECTOR
|
||||
CALL PRTHEXBYTE ; DISPLAY STATUS
|
||||
LD DE,FF_BUFFER
|
||||
CALL DUMP_BUFFER
|
||||
#ENDIF
|
||||
RET
|
||||
;
|
||||
;======================================================================
|
||||
; LOOKUP AND DISPLAY CHIP
|
||||
;
|
||||
; ON ENTRY DE CONTAINS CHIP ID
|
||||
@@ -837,85 +768,6 @@ FF_IDENT: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
|
||||
FF_I_SZ .EQU $-FF_IDENT ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
|
||||
;
|
||||
;======================================================================
|
||||
; FLASH CHIP ERASE.
|
||||
; CALCULATE BANK AND ADDRESS DATA FROM ENTRY ADDRESS
|
||||
; CREATE A CODE BUFFER IN HIGH MEMORY AREA
|
||||
; COPY FLASH CODE TO CODE BUFFER
|
||||
; CALL RELOCATED FLASH ERASE CODE
|
||||
; RESTORE STACK
|
||||
; RETURN WITH STATUS CODE.
|
||||
;
|
||||
; ON ENTRY DE:HL POINTS TO AN ADDRESS IDENTIFYING THE CHIP
|
||||
; ON EXIT A RETURNS STATUS FLASH 0=SUCCESS FF=FAIL
|
||||
;======================================================================
|
||||
;
|
||||
FF_EINIT:
|
||||
PUSH HL ; SAVE ADDRESS INFO
|
||||
LD HL,FF_ERASE ; PUT ROUTINE TO CALL
|
||||
EX (SP),HL ; ON THE STACK
|
||||
JP FF_FNCALL ; EXECUTE
|
||||
;
|
||||
;======================================================================
|
||||
; ERASE FLASH CHIP.
|
||||
;
|
||||
; SELECT THE APPROPRIATE BANK / ADDRESS
|
||||
; ISSUE ERASE COMMAND
|
||||
; POLL TOGGLE BIT FOR COMPLETION STATUS.
|
||||
; SELECT ORIGINAL BANK
|
||||
;
|
||||
; ON ENTRY BC CONTAINS BANK AND SECTOR DATA
|
||||
; A CONTAINS CURRENT BANK
|
||||
; ON EXIT DE CONTAINS ID WORD
|
||||
; C RETURNS STATUS FLASH 0=SUCCESS FF=FAIL
|
||||
;======================================================================
|
||||
;
|
||||
FF_ERASE: ; THIS CODE GETS RELOCATED TO HIGH MEMORY
|
||||
;
|
||||
PUSH AF ; SAVE CURRENT BANK
|
||||
LD A,B ; SELECT BANK
|
||||
CALL HBX_BNKSEL ; TO PROGRAM
|
||||
;
|
||||
LD HL,$5555 ; LD A,$AA ; COMMAND
|
||||
LD (HL),$AA ; LD ($5555),A ; SETUP
|
||||
LD A,L ; LD A,$55
|
||||
LD ($2AAA),A ; LD ($2AAA),A
|
||||
LD (HL),$80 ; LD A,$80
|
||||
LD (HL),$AA ; LD ($5555),A
|
||||
LD A,L ; LD A,$AA
|
||||
LD ($2AAA),A ; LD ($5555),A
|
||||
LD (HL),$10 ; LD A,$55
|
||||
; LD ($2AAA),A
|
||||
; LD A,$10
|
||||
; LD ($5555),A
|
||||
;
|
||||
LD A,(HL) ; DO TWO SUCCESSIVE READS FROM THE SAME FLASH ADDRESS.
|
||||
FF_WT2: LD C,(HL) ; IF TOGGLE BIT (BIT 6)
|
||||
XOR C ; IS THE SAME ON BOTH READS
|
||||
BIT 6,A ; THEN ERASE IS COMPLETE SO EXIT.
|
||||
JR Z,FF_WT1 ; Z TRUE IF BIT 6=0 I.E. "NO TOGGLE" WAS DETECTED.
|
||||
;
|
||||
LD A,C ; OPERATION IS NOT COMPLETE. CHECK TIMEOUT BIT (BIT 5).
|
||||
BIT 5,C ; IF NO TIMEOUT YET THEN LOOP BACK AND KEEP CHECKING TOGGLE STATUS
|
||||
JR Z,FF_WT2 ; IF BIT 5=0 THEN RETRY; NZ TRUE IF BIT 5=1
|
||||
;
|
||||
LD A,(HL) ; WE GOT A TIMEOUT. RECHECK TOGGLE BIT IN CASE WE DID COMPLETE
|
||||
XOR (HL) ; THE OPERATION. DO TWO SUCCESSIVE READS. ARE THEY THE SAME?
|
||||
BIT 6,A ; IF THEY ARE THEN OPERATION WAS COMPLETED
|
||||
JR Z,FF_WT1 ; OTHERWISE ERASE OPERATION FAILED OR TIMED OUT.
|
||||
;
|
||||
LD (HL),$F0 ; WRITE DEVICE RESET
|
||||
LD C,$FF ; SET FAIL STATUS
|
||||
JR FF_WT3
|
||||
;
|
||||
FF_WT1: LD C,0 ; SET SUCCESS STATUS
|
||||
FF_WT3: POP AF
|
||||
; LD A,B ; RETURN TO ORIGINAL BANK
|
||||
CALL HBX_BNKSEL ; WHICH IS OUR RAM BIOS COPY
|
||||
RET
|
||||
;
|
||||
FF_E_SZ .EQU $-FF_ERASE ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
|
||||
;
|
||||
;======================================================================
|
||||
; CALCULATE BANK AND ADDRESS DATA FROM MEMORY ADDRESS
|
||||
;
|
||||
; ON ENTRY DE:HL CONTAINS 32 BIT MEMORY ADDRESS.
|
||||
@@ -1221,53 +1073,34 @@ FF_W_SZ .EQU $-FF_SWRITE ; SIZE OF RELOCATABLE CODE BUFFER REQUIRED
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
; FLASH STYLE
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
ST_NORMAL .EQU 0
|
||||
ST_ERASE_CHIP .EQU 1 ; SECTOR BASED ERASE NOT SUPPORTED
|
||||
ST_PROGRAM_SECT .EQU 2
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
; FLASH CHIP MACRO
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
#DEFINE FF_CHIP(FFROMID,FFROMNM,FFROMSS,FFROMSC,FFROMMD)\
|
||||
#DEFCONT ; \
|
||||
#DEFCONT .DW FFROMID \
|
||||
#DEFCONT .DB FFROMNM \
|
||||
#DEFCONT .DW FFROMSS \
|
||||
#DEFCONT .DW FFROMSC \
|
||||
#DEFCONT .DB FFROMMD \
|
||||
#DEFCONT ;
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
; FLASH CHIP LIST
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
#DEFINE FF_CHIP(FFROMID,FFROMNM) \
|
||||
#DEFCONT ; \
|
||||
#DEFCONT .DW FFROMID \
|
||||
#DEFCONT .DB FFROMNM \
|
||||
#DEFCONT ;
|
||||
;
|
||||
FF_TABLE:
|
||||
FF_CHIP(00120H,"29F010$ ",128,8,ST_NORMAL)
|
||||
FF_CHIP(001A4H,"29F040$ ",512,8,ST_NORMAL)
|
||||
FF_CHIP(01F04H,"AT49F001NT$",1024,1,ST_ERASE_CHIP)
|
||||
FF_CHIP(01F05H,"AT49F001N$ ",1024,1,ST_ERASE_CHIP)
|
||||
FF_CHIP(01F07H,"AT49F002N$ ",2048,1,ST_ERASE_CHIP)
|
||||
FF_CHIP(01F08H,"AT49F002NT$",2048,1,ST_ERASE_CHIP)
|
||||
FF_CHIP(01F13H,"AT49F040$ ",4096,1,ST_ERASE_CHIP)
|
||||
FF_CHIP(01F5DH,"AT29C512$ ",1,512,ST_PROGRAM_SECT)
|
||||
FF_CHIP(01FA4H,"AT29C040$ ",2,2048,ST_PROGRAM_SECT)
|
||||
FF_CHIP(01FD5H,"AT29C010$ ",1,1024,ST_PROGRAM_SECT)
|
||||
FF_CHIP(01FDAH,"AT29C020$ ",2,1024,ST_PROGRAM_SECT)
|
||||
FF_CHIP(02020H,"M29F010$ ",128,8,ST_PROGRAM_SECT)
|
||||
FF_CHIP(020E2H,"M29F040$ ",512,8,ST_NORMAL)
|
||||
FF_CHIP(0BFB5H,"39F010$ ",32,32,ST_NORMAL)
|
||||
FF_CHIP(0BFB6H,"39F020$ ",32,64,ST_NORMAL)
|
||||
FF_CHIP(0BFB7H,"39F040$ ",32,128,ST_NORMAL)
|
||||
FF_CHIP(0C2A4H,"MX29F040$ ",512,8,ST_NORMAL)
|
||||
FF_CHIP(00120H,"29F010$ ")
|
||||
FF_CHIP(001A4H,"29F040$ ")
|
||||
FF_CHIP(01F04H,"AT49F001NT$")
|
||||
FF_CHIP(01F05H,"AT49F001N$ ")
|
||||
FF_CHIP(01F07H,"AT49F002N$ ")
|
||||
FF_CHIP(01F08H,"AT49F002NT$")
|
||||
FF_CHIP(01F13H,"AT49F040$ ")
|
||||
FF_CHIP(01F5DH,"AT29C512$ ")
|
||||
FF_CHIP(01FA4H,"AT29C040$ ")
|
||||
FF_CHIP(01FD5H,"AT29C010$ ")
|
||||
FF_CHIP(01FDAH,"AT29C020$ ")
|
||||
FF_CHIP(02020H,"M29F010$ ")
|
||||
FF_CHIP(020E2H,"M29F040$ ")
|
||||
FF_CHIP(0BFB5H,"39F010$ ")
|
||||
FF_CHIP(0BFB6H,"39F020$ ")
|
||||
FF_CHIP(0BFB7H,"39F040$ ")
|
||||
FF_CHIP(0C2A4H,"MX29F040$ ")
|
||||
;
|
||||
FF_T_CNT .EQU 17
|
||||
FF_T_SZ .EQU ($-FF_TABLE) / FF_T_CNT
|
||||
@@ -1276,14 +1109,15 @@ FF_STACK: .DW 0
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
; 4K FLASH BUFFER
|
||||
; 4K FLASH SECTOR BUFFER
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
FF_BUFFER .FILL 4096,$FF
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
; RELOCATABLE CODE SPACE REQUIREMENTS
|
||||
; RELOCATABLE CODE SPACE REQUIREMENTS CHECK
|
||||
;
|
||||
;======================================================================
|
||||
;
|
||||
@@ -1295,9 +1129,6 @@ FF_CSIZE .SET FF_W_SZ
|
||||
#IF (FF_S_SZ>FF_CSIZE)
|
||||
FF_CSIZE .SET FF_S_SZ
|
||||
#ENDIF
|
||||
#IF (FF_E_SZ>FF_CSIZE)
|
||||
FF_CSIZE .SET FF_E_SZ
|
||||
#ENDIF
|
||||
#IF (FF_I_SZ>FF_CSIZE)
|
||||
FF_CSIZE .SET FF_I_SZ
|
||||
#ENDIF
|
||||
|
||||
Reference in New Issue
Block a user