Rev 631 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
| ?url?
;LAST UPDATE: 03.12.2012 savelij
FILE_BROWSER DI
LD IYL,INTERNAL
PCALL DEVFIND,P_RST8 ;
LD A,E
AND A
JR NZ,FILEBROWSE1
;
,
LD IX,DEV_NOTFOUND
ERROR EVOPORT WIN_A1,P_ADDON1
CALL ITWINW
CALL ANY_KEYS
JP RESTART_MAIN
FILEBROWSE1 DI
EVOPORT WIN_A1,P_ADDON1
LD HL,FILES_EXT_ALL
LD DE,EXT4FOUND
LD BC,EFILES_EXT-FILES_EXT
LDIR ;
PCALL FIND_FILEITEM,P_RST8 ;
LD A,B
OR C ;
HL
JR NZ,SEARCHF1
LD IX,NOFILES
JR ERROR
SEARCHF1 PUSH BC
PCALL SORT_FINDFILES,P_ADDON1
EVOPORT WIN_A1,P_ADDON1
LD IX,LEGEND_EXT
CALL ITWINW
POP BC
FBR00 PUSH BC
LD IX,FILESBROWSER
CALL ITWINW
EVOPORT WIN_P3,PAGE_TEMP
POP BC
BIT 7,(IX+7)
JR NZ,FBR02
LD (IX+0X0A),C
LD (IX+0X0B),B ;
LD L,(IX+8)
LD H,(IX+9) ;
LD E,(IX+7) ;
JR FBR06
FBR02 LD L,(IX+8)
LD H,(IX+9)
LD A,(HL)
INC HL
LD E,(HL)
INC HL
LD D,(HL)
INC HL
LD (HL),C
INC HL
LD (HL),B
EX DE,HL
LD E,A
FBR06 XOR A
LD D,A
SBC HL,DE ;
LD DE,CPU3
ADD HL,HL
ADD HL,DE
LD D,(IX+0)
LD E,(IX+1)
INC D
INC E ;
LD A,C
CP V_FILES-2
JR C,OTF2
LD C,V_FILES-2
OTF2 PUSH BC
LD C,(HL)
INC HL
LD B,(HL)
INC HL
PUSH HL
PUSH DE
PCALL POSTF06,P_RST8
LD HL,BUF_256
PCALL READ_DIR,P_RST8
LD DE,FILES_EXT
PCALL CP_EXT,P_RST8
EX AF,AF'
POP DE
PUSH DE
LD BC,0X0B
ADD HL,BC
LD A,(HL)
SBC HL,BC
AND 0X10
LD A,BLUE<<3+WHITE+BR_INK
LD (OUT_NAME_FILE+1),A ;
JR NZ,OTF9
EX AF,AF'
LD L,A
INC A
JR Z,OTF8
LD A,L
OTF8 LD HL,COLOR_EXT
ADD A,L
LD L,A
ADC A,H
SUB L
LD A,(HL)
ADD A,BLUE<<3+BR_INK
LD (OUT_NAME_FILE+1),A
OTF9 LD HL,BUF_256
PCALL GET_LONGNAME,P_RST8
POP DE
PUSH DE
CALL FILENAME8_3
POP DE
POP HL
POP BC
INC E
DEC C
JR NZ,OTF2
EVOPORT WIN_P3,VMODE7_0
JP SET_ADR_ATR
FILENAME8_3 LD C,A
LD B,0
EX DE,HL
LD (OUT_NAME_FILET),HL
LD HL,BUF_256
LD A,H_FILES-3
CP C
JR Z,OTF7
JR NC,OTF6
EX DE,HL
LD HL,H_FILES-3
ADD HL,DE
LD (HL),">"
INC HL
LD (HL),0
JR OTF7
OTF6 SUB C
ADD HL,BC
LD C,A
LD D,H
LD E,L
INC DE
LD (HL)," "
LDIR
XOR A
LD (DE),A
OTF7 LD HL,OUT_NAME_FILE
CALL ITPRINT_MESSAGE
LD HL,BUF_256
JP ITPRINT_MESSAGE
;
SELECT_FILE DI
EVOPORT WIN_P3,PAGE_TEMP
LD L,(IX+8)
LD H,(IX+9) ;
/
BIT 7,(IX+7)
JR Z,SELFILES01
INC HL
LD E,(HL)
INC HL
LD D,(HL) ;
EX DE,HL
SELFILES01 LD DE,CPU3
ADD HL,HL
ADD HL,DE
LD C,(HL)
INC HL
LD B,(HL) ;
/
PCALL POSTF06,P_RST8 ;
LD HL,BUF_256
PCALL READ_DIR,P_RST8 ;
PUSH HL
LD DE,BUF_FILEITEM
LD BC,0X20
LDIR ;
POP HL
LD DE,0X0B
ADD HL,DE
LD A,(HL)
SBC HL,DE
AND 0X10 ;
JP Z,SELFILES03 ;
;
PCALL ENTER_DIR,P_RST8 ;
LD HL,BUF_PATH
PCALL GET_PATH,P_RST8 ;
EVOPORT WIN_A1,P_ADDON1
LD A,(HL)
SUB "E"
LD H,A
LD L,0
SRL H
RR L
SRL H
RR L
LD DE,BUF_WINPATH
ADD HL,DE
LD A,(BUF_FILEITEM)
CP "."
JP NZ,SELFILES02 ;
;
,
LD A,(HL)
ADD A,A
ADD A,(HL)
LD C,A
LD B,0
DEC (HL) ;
INC HL
ADD HL,BC
DEC HL
LD B,(HL)
DEC HL
LD C,(HL)
DEC HL
LD A,(HL)
BIT 7,(IX+7)
JR NZ,SELFILES04
LD (IX+7),A
LD (IX+8),C
LD (IX+9),B
PCALL FIND_FILEITEM,P_RST8
LD (IX+0X0A),C
LD (IX+0X0B),B
JR SELFILES05
SELFILES04 LD L,(IX+8)
LD H,(IX+9)
LD (HL),A
INC HL
LD (HL),C
INC HL
LD (HL),B
INC HL
PUSH HL
PCALL FIND_FILEITEM,P_RST8
LD B,H
LD C,L
POP HL
LD (HL),C
INC HL
LD (HL),B
SELFILES05 PUSH BC
PCALL SORT_FINDFILES,P_ADDON1
POP BC
JP FBR00
;
,
SELFILES02 LD A,(HL)
CP 0X10
RET NC
LD A,(HL)
ADD A,A
ADD A,(HL)
INC (HL)
INC HL
LD C,A
LD B,0
ADD HL,BC
BIT 7,(IX+7)
JR NZ,SELFILES06
LD A,(IX+7)
LD (HL),A
INC HL
LD A,(IX+8)
LD (HL),A
INC HL
LD A,(IX+9)
LD (HL),A
INC HL
PCALL FIND_FILEITEM,P_RST8
XOR A
LD (IX+7),A
LD (IX+8),A
LD (IX+9),A
LD (IX+0X0A),L
LD (IX+0X0B),H
LD B,H
LD C,L
JP SELFILES05
SELFILES06 LD E,(IX+8)
LD D,(IX+9)
EX DE,HL
LDI
LDI
LDI
PCALL FIND_FILEITEM,P_RST8
LD L,(IX+8)
LD H,(IX+9)
XOR A
LD (HL),A
INC HL
LD (HL),A
INC HL
LD (HL),A
JP SELFILES05
SELFILES03 LD HL,BUF_FILEITEM
LD DE,FILES_EXT
PCALL CP_EXT,P_RST8
CP 5
RET NC
LD (EXT_TYPE),A
CP 1
JR NZ,LOADIMAGES
LD IX,SEL_MOUNT ;
CALL ITWINW
JP SET_ADR_ATR
LOADIMAGES LD A,(EXT_TYPE)
PCALL ILOADIMAGE,P_RST8
JP C,ERROR
JP RESTART_MAIN
MOUNT_A XOR A
JR MOUNT_TRD
MOUNT_B LD A,1
JR MOUNT_TRD
MOUNT_C LD A,2
JR MOUNT_TRD
MOUNT_D LD A,3
MOUNT_TRD PCALL OPEN_MOUNT_INT,P_RST8
JP RESTART_MAIN
;
/
SELECT_DRIVE DI
LD IX,ENMI_SERVICE ;
/
LD HL,SEL_DRIVE
LD D,IXH
LD E,IXL
LD BC,ESEL_DRIVE-SEL_DRIVE
LDIR
LD BC,0X14-(ESEL_DRIVE-SEL_DRIVE)
EX DE,HL
ADD HL,BC
LD (IX+0X0C),L
LD (IX+0X0D),H
EX DE,HL
LD BC,ETXT_SELDRIVES-TXT_SELDRIVES
LDIR
LD A,(SETDVOL) ;
/
LD (IX+7),A
LD (IX+8),A
LD (IX+9),0
LD A,(KOLDVOL) ;
LD (IX+0X0A),A
LD (IX+0X0B),0
LD B,A
ADD A,2
LD (IX+2),A ;
PUSH DE
LD DE,6
LD HL,BUF_TABLVOL
EXX
POP HL
EXX
SELECTDRIVE1 EXX
LD (HL),0X0D
INC HL
LD (HL)," "
INC HL
EXX
LD A,(HL)
INC HL
LD C,(HL)
INC HL
ADD A,C
ADD A,C
SUB 4
ADD A,A
ADD A,A
ADD A,A
ADD A,A
EXX
EX DE,HL
LD HL,TXT4MENU_DEVICE
LD C,A
LD B,0
ADD HL,BC
LD BC,0X10
EXX
LD A,L
EXX
RRCA
RRCA
RRCA
AND 0X1F
ADD A,"E"
LD (DE),A
INC DE
LDIR
EXX
LD A,(HL)
EXX
LD C,A
ADD A,A
ADD A,A
ADD A,C
LD HL,TXT4MENU_TYPE
LD C,A
ADD HL,BC
LD C,5
LDIR
EX DE,HL
EXX
ADD HL,DE
DJNZ SELECTDRIVE1
EXX
LD (HL),0
INC HL
LD B,(IX+2)
DEC B
DEC B
LD C,B
LD A,"e"
LD (IX+0X12),L
LD (IX+0X13),H ;
LD (HL),B
INC HL
SELECTDRIVE2 LD (HL),A
INC HL
INC A
DJNZ SELECTDRIVE2
LD (IX+0X0E),L
LD (IX+0X0F),H ;
LD B,C
SELECTDRIVE3 LD (HL),LOW (SELDRIVE)
INC HL
LD (HL),HIGH (SELDRIVE)
INC HL
DJNZ SELECTDRIVE3
LD A,C
EXX
DEC A
CALL ITWINW
JP SET_ADR_ATR
SELDRIVE LD A,(IX+7)
PCALL SET_VOL,P_RST8
JP FILEBROWSE1