Subversion Repositories pentevo

Rev

Rev 831 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. ; LAST UPDATE: 16.02.2025 savelij
  3.  
  4. EXT_FILE_BROWSER
  5.         ROMCALL P5_READ_BYTE,ROM_RST83
  6. ;               LD A,(NEXTBYTERST8)
  7.                 LD HL,SYSFLAGS
  8.                 SET SYSFLAGS.B_NMI_FB_BLOCK,(HL); блокируем FILE BROWSER на NMI
  9.                 SET SYSFLAGS.B_FB_INT_EXT,(HL)
  10.                 JR FILE_BROWSER.L1
  11.  
  12. FILE_BROWSER    DI
  13.                 LD HL,SYSFLAGS
  14.                 BIT SYSFLAGS.B_NMI_FB_BLOCK,(HL)
  15.                 RET NZ
  16. .L1             LD IYL,INTERNAL
  17.         ROMCALL DEVFIND,ROM_RST83               ; поиск устройств
  18.                 LD A,E
  19.                 AND A
  20.                 JR NZ,FILEBROWSE
  21. ; если ни одного устройства не найдено, то выводим ошибку
  22.                 LD IX,DEV_NOTFOUND
  23. ERROR
  24.         EVOPORT WIN_A1,ROM_RST81
  25.                 CALL INT_TXT_WINDOW
  26.                 CALL ANY_KEYS
  27.                 CALL RESTORE_FATVARS
  28.                 JP RESTART_MAIN
  29.  
  30. FILEBROWSE      DI
  31.         EVOPORT WIN_A1,ROM_RST81
  32.                 LD HL,FILES_EXT
  33.                 LD DE,EXT4FOUND
  34.                 LD BC,EFILES_EXT-FILES_EXT
  35.                 LDIR                            ; установка маски расширений для поиска
  36.         ROMCALL FIND_FILEITEM,ROM_RST83         ; поиск
  37.                 LD A,B
  38.                 OR C                            ; здесь количество найденных описателей
  39.                 JR NZ,SEARCHFILES
  40.                 LD IX,NOFILES
  41.                 CALL INT_TXT_WINDOW
  42.                 JP SELECT_DRIVE
  43.  
  44. SEARCHFILES     LD (FOUND_FAT_FILES),BC
  45.         ROMCALL SORT_FINDFILES,ROM_RST83
  46. .L1
  47.         EVOPORT WIN_A1,ROM_RST81
  48.                 LD IX,LEGEND_EXT                ; окошко с подсказкой по цветам файлов
  49.                 CALL INT_TXT_WINDOW
  50.         EVOPORT WIN_A1,ROM_RST81
  51.                 LD IX,FILESBROWSER              ; окно файлового браузера
  52.                 CALL INT_TXT_WINDOW
  53.         EVOPORT WIN_P3,RAM_SORTFILES
  54.                 LD BC,(FOUND_FAT_FILES)
  55.                 BIT B_ADR_PUNKT,(IX+_NUM_PKT)
  56.                 JR NZ,FBR02
  57.                 LD (IX+_NUM_KOL_L),C
  58.                 LD (IX+_NUM_KOL_H),B            ; количество пунктов
  59.                 LD L,(IX+_TEK_PKT_L)
  60.                 LD H,(IX+_TEK_PKT_H)            ; получили номер текущей позиции
  61.                 LD E,(IX+_NUM_PKT)              ; получили позицию курсора в окне
  62.                 JR FBR06
  63.  
  64. OUT_CURR_DIR    BIT B_MENU_FILE,(IX+_FLAGS)     ; если меню то переход на продолжение
  65.                 JP Z,SET_ADR_ATR
  66. ; иначе показ файлов
  67.         EVOPORT WIN_P3,RAM_SORTFILES
  68.                 LD E,(IX+_NUM_PKT)
  69.                 LD L,(IX+_TEK_PKT_L)
  70.                 LD H,(IX+_TEK_PKT_H)
  71.                 LD C,(IX+_NUM_KOL_L)
  72.                 LD B,(IX+_NUM_KOL_H)
  73.                 BIT B_ADR_NUMS_PUNKT,E
  74.                 JR Z,FBR06
  75.                 LD A,(HL)
  76.                 INC HL
  77.                 LD E,(HL)
  78.                 INC HL
  79.                 LD D,(HL)
  80.                 INC HL
  81.                 LD C,(HL)
  82.                 INC HL
  83.                 LD B,(HL)
  84.                 EX DE,HL
  85.                 LD E,A
  86.                 JR FBR06
  87.  
  88. FBR02           LD L,(IX+_TEK_PKT_L)
  89.                 LD H,(IX+_TEK_PKT_H)            ; указатель на текущий пункт
  90.                 LD A,(HL)
  91.                 INC HL
  92.                 LD E,(HL)
  93.                 INC HL
  94.                 LD D,(HL)
  95.                 INC HL
  96.                 LD (HL),C
  97.                 INC HL
  98.                 LD (HL),B
  99.                 EX DE,HL
  100.                 LD E,A
  101. FBR06           XOR A
  102.                 LD D,A
  103.                 SBC HL,DE                       ; вычислили позицию файла с которого будем выводить
  104.                 LD DE,CPU3
  105.                 ADD HL,HL
  106.                 ADD HL,DE
  107.                 LD D,(IX+_X_COORD)
  108.                 LD E,(IX+_Y_COORD)
  109.                 INC D
  110.                 INC E                           ; вычислили позицию вывода на экран
  111.                 LD A,B
  112.                 AND A
  113.                 JR NZ,FBR07
  114.                 LD A,C
  115.                 CP TXT.V_FILES-2
  116.                 JR C,OTF2
  117. FBR07           LD C,TXT.V_FILES-2
  118. OTF2            PUSH BC
  119.                 LD C,(HL)
  120.                 INC HL
  121.                 LD B,(HL)
  122.                 INC HL
  123.                 PUSH HL
  124.                 PUSH DE
  125.         ROMCALL POSTF06,ROM_RST83
  126.                 LD HL,BUF_MOVE256
  127.         ROMCALL READ_DIR,ROM_RST83
  128.                 LD DE,FILES_EXT
  129.         ROMCALL CP_EXT,ROM_RST83
  130.                 EX AF,AF'                       ; прячем номер расширения
  131.                 POP DE
  132.                 PUSH DE
  133.                 LD BC,_DIR_Attr
  134.                 ADD HL,BC
  135.                 LD A,(HL)
  136.                 SBC HL,BC
  137.                 AND M_DIR_Directory
  138.                 LD A,BLUE << 3 + WHITE + BR_INK
  139.                 LD (OUT_NAME_FILE+1),A          ; если директория то цвет белый
  140.                 JR NZ,OTF9
  141.                 EX AF,AF'                       ; возвращаем номер расширения
  142.                 LD HL,COLOR_EXT
  143.                 ADD A,L
  144.                 LD L,A
  145.                 ADC A,H
  146.                 SUB L
  147.                 LD H,A
  148.                 LD A,(HL)                       ; взяли цвет из таблицы
  149.                 ADD A,BLUE << 3 + BR_INK        ; добавили цвет фона окна
  150.                 LD (OUT_NAME_FILE+1),A
  151. OTF9            LD HL,BUF_MOVE256
  152.         ROMCALL GET_LONGNAME,ROM_RST83
  153.                 POP DE
  154.                 PUSH DE
  155.                 CALL FILENAME8_3
  156.                 POP DE
  157.                 POP HL
  158.                 POP BC
  159.                 INC E
  160.                 DEC C
  161.                 JR NZ,OTF2
  162.                 JP SET_ADR_ATR
  163.  
  164. FILENAME8_3     LD C,A
  165.                 LD B,0
  166.                 EX DE,HL
  167.                 LD (OUT_NAME_FILET),HL
  168.                 LD HL,BUF_MOVE256
  169.                 LD A,TXT.H_FILES-3
  170.                 CP C
  171.                 JR Z,OTF7
  172.                 JR NC,OTF6
  173.                 EX DE,HL
  174.                 LD HL,TXT.H_FILES-3
  175.                 ADD HL,DE
  176.                 LD (HL),'>'
  177.                 INC HL
  178.                 LD (HL),0
  179.                 JR OTF7
  180.  
  181. OTF6            SUB C
  182.                 ADD HL,BC
  183.                 LD C,A
  184.                 LD D,H
  185.                 LD E,L
  186.                 INC DE
  187.                 LD (HL),' '
  188.                 LDIR
  189.                 XOR A
  190.                 LD (DE),A
  191. OTF7            LD HL,OUT_NAME_FILE
  192.                 CALL ITPRINT_MESSAGE
  193.                 LD HL,BUF_MOVE256
  194.                 JP ITPRINT_MESSAGE
  195.  
  196. ; выбор файла или хождение по директориям
  197. SELECT_FILE     DI
  198.         EVOPORT WIN_P3,RAM_SORTFILES
  199.                 LD L,(IX+_TEK_PKT_L)
  200.                 LD H,(IX+_TEK_PKT_H)            ; взяли номер файла/диры или адрес где это лежит
  201.                 BIT B_ADR_PUNKT,(IX+_NUM_PKT)
  202.                 JR Z,.L1
  203.                 INC HL
  204.                 LD E,(HL)
  205.                 INC HL
  206.                 LD D,(HL)                       ; если адрес то извлекли оттуда номер
  207.                 EX DE,HL
  208. .L1             LD DE,CPU3
  209.                 ADD HL,HL
  210.                 ADD HL,DE
  211.                 LD C,(HL)
  212.                 INC HL
  213.                 LD B,(HL)                       ; взяли реальный номер файла/диры
  214.         ROMCALL POSTF06,ROM_RST83               ; установили позицию
  215.                 LD HL,BUF_MOVE256
  216.         ROMCALL READ_DIR,ROM_RST83              ; получили адрес откуда описатель взять
  217.                 PUSH HL
  218.                 LD DE,BUF_FILEITEM
  219.                 LD BC,_DIR_StructSize
  220.                 LDIR                            ; перенесли описатель в буфер
  221.                 POP HL
  222.                 LD DE,_DIR_Attr
  223.                 ADD HL,DE
  224.                 LD A,(HL)
  225.                 SBC HL,DE
  226.                 AND M_DIR_Directory             ; проверяем файл или дира
  227.                 JP Z,.L5                        ; выбран файл, идем далее
  228. ; выбрана дира
  229.         ROMCALL ENTER_DIR,ROM_RST83             ; входим в диру
  230.                 LD HL,BUF_MOVE256
  231.         ROMCALL GET_PATH,ROM_RST83              ; получаем путь после входа
  232.         EVOPORT WIN_A1,ROM_RST81
  233.         EVOPORT WIN_P3,RAM_FATVARS
  234.                 LD A,(HL)
  235.                 SUB 'E'
  236.                 LD H,A
  237.                 LD L,0
  238.                 SRL H
  239.                 RR L
  240.                 SRL H
  241.                 RR L                            ; * 0x40
  242.                 LD DE,FATVARS.WINPOS
  243.                 ADD HL,DE
  244.                 LD A,(BUF_FILEITEM)
  245.                 CP '.'
  246.                 JP NZ,.L3                       ; вход в директорию
  247. ; выход из директории, восстановление установок окна предыдущего уровня
  248.                 LD A,(HL)
  249.                 ADD A,A
  250.                 ADD A,(HL)
  251.                 LD C,A
  252.                 LD B,0
  253.                 DEC (HL)                        ; перешли на предыдущую позицию
  254.                 INC HL
  255. .REREAD_WIN     ADD HL,BC
  256.                 DEC HL
  257.                 LD B,(HL)
  258.                 DEC HL
  259.                 LD C,(HL)
  260.                 DEC HL
  261.                 LD A,(HL)
  262.                 BIT B_ADR_PUNKT,(IX+_NUM_PKT)
  263.                 JR NZ,.L2
  264.                 LD (IX+_NUM_PKT),A
  265.                 LD (IX+_TEK_PKT_L),C
  266.                 LD (IX+_TEK_PKT_H),B
  267.         ROMCALL FIND_FILEITEM,ROM_RST83
  268.                 LD (IX+_NUM_KOL_L),C
  269.                 LD (IX+_NUM_KOL_H),B
  270.                 JP SEARCHFILES
  271.  
  272. .L2             LD L,(IX+_TEK_PKT_L)
  273.                 LD H,(IX+_TEK_PKT_H)
  274.                 LD (HL),A
  275.                 INC HL
  276.                 LD (HL),C
  277.                 INC HL
  278.                 LD (HL),B
  279.                 INC HL
  280.                 PUSH HL
  281.         ROMCALL FIND_FILEITEM,ROM_RST83
  282.                 LD B,H
  283.                 LD C,L
  284.                 POP HL
  285.                 LD (HL),C
  286.                 INC HL
  287.                 LD (HL),B
  288.                 JP SEARCHFILES
  289.  
  290. ; вход в директорию, сохранение текущих установок окна
  291. .L3             LD A,(HL)
  292.                 CP 64 / 3;0x10
  293.                 RET NC
  294.                 LD A,(HL)
  295.                 ADD A,A
  296.                 ADD A,(HL)
  297.                 INC (HL)
  298.                 INC HL
  299.                 LD C,A
  300.                 LD B,0
  301.                 ADD HL,BC
  302.                 BIT B_ADR_PUNKT,(IX+_NUM_PKT)
  303.                 JR NZ,.L4
  304.                 LD A,(IX+_NUM_PKT)
  305.                 LD (HL),A
  306.                 INC HL
  307.                 LD A,(IX+_TEK_PKT_L)
  308.                 LD (HL),A
  309.                 INC HL
  310.                 LD A,(IX+_TEK_PKT_H)
  311.                 LD (HL),A
  312.                 INC HL
  313.         ROMCALL FIND_FILEITEM,ROM_RST83
  314.                 XOR A
  315.                 LD (IX+_NUM_PKT),A
  316.                 LD (IX+_TEK_PKT_L),A
  317.                 LD (IX+_TEK_PKT_H),A
  318.                 LD (IX+_NUM_KOL_L),L
  319.                 LD (IX+_NUM_KOL_H),H
  320.                 LD B,H
  321.                 LD C,L
  322.                 JP SEARCHFILES
  323.  
  324. .L4             LD E,(IX+_TEK_PKT_L)
  325.                 LD D,(IX+_TEK_PKT_H)
  326.                 EX DE,HL
  327.                 LDI
  328.                 LDI
  329.                 LDI
  330.         ROMCALL FIND_FILEITEM,ROM_RST83
  331.                 LD L,(IX+_TEK_PKT_L)
  332.                 LD H,(IX+_TEK_PKT_H)
  333.                 XOR A
  334.                 LD (HL),A
  335.                 INC HL
  336.                 LD (HL),A
  337.                 INC HL
  338.                 LD (HL),A
  339.                 JP SEARCHFILES
  340.  
  341. ; выбран файл
  342. .L5             LD HL,BUF_FILEITEM
  343.                 LD DE,FILES_EXT
  344.         ROMCALL CP_EXT,ROM_RST83
  345. ; только образы TRD,SCL,FDI,TAP
  346.                 LD (EXT_TYPE),A
  347.                 CP _TAP
  348.                 JR Z,SEL_TAP
  349.                 CP _TRD
  350.                 JR Z,SEL_TRD
  351.                 CP _SCL
  352.                 JR Z,SEL_SCLFDI
  353.                 CP _FDI
  354.                 JR Z,SEL_SCLFDI
  355.                 RET
  356.  
  357. SEL_SCLFDI      LD IX,WIN_SEL_MOUNT             ; вывод меню монтирования или загрузки в рамдиск
  358.                 CALL INT_TXT_WINDOW
  359.                 JP SET_ADR_ATR
  360.  
  361. SEL_TRD         LD IX,WIN_SEL_TRD
  362.                 CALL INT_TXT_WINDOW
  363.                 JP SET_ADR_ATR
  364.  
  365. ; если выбран tap то принудительное включение эмуляции ленты
  366. SEL_TAP         LD H,CMOS.BYTE_00
  367.                 CALL READCMOS
  368.                 OR CMOS_ED.M_EMUL_TAPE
  369.                 LD L,A
  370.                 CALL IWRITECMOS
  371. ; загрузка образа
  372. LOADIMAGES
  373.         ROMCALL LOADIMAGE,ROM_RST83
  374.                 JP C,ERROR
  375.                 JP RESTART_MAIN
  376.  
  377. ; монтирование образа TRD на A
  378. MOUNT_A         XOR A
  379.                 JR MOUNT_D.L1
  380.  
  381. ; монтирование образа TRD на B
  382. MOUNT_B         LD A,1
  383.                 JR MOUNT_D.L1
  384.  
  385. ; монтирование образа TRD на C
  386. MOUNT_C         LD A,2
  387.                 JR MOUNT_D.L1
  388.  
  389. ; монтирование образа TRD на D
  390. MOUNT_D         LD A,3
  391. .L1             PUSH AF
  392.         ROMCALL OPEN_MOUNT_INT,ROM_RST83
  393.                 POP AF
  394.         ROMCALL SET_VIRTREAL.NUMDRV,ROM_RST83
  395.                 JP RESTART_MAIN
  396.  
  397. ; загрузка образа TRD в рамдиск и переключение его на D
  398. TRD2RAMDISKD    LD A,3
  399.                 JR TRD2RAMDISKA.L1
  400.  
  401. ; загрузка образа TRD в рамдиск и переключение его на C
  402. TRD2RAMDISKC    LD A,2
  403.                 JR TRD2RAMDISKA.L1
  404.  
  405. ; загрузка образа TRD в рамдиск и переключение его на B
  406. TRD2RAMDISKB    LD A,1
  407.                 JR TRD2RAMDISKA.L1
  408.  
  409. ; загрузка образа TRD в рамдиск и переключение его на A
  410. TRD2RAMDISKA    XOR A
  411. .L1
  412.         ROMCALL SET_VIRTREAL.NUMDRV,ROM_RST83
  413.                 JR LOADIMAGES
  414.  
  415. ; сохранение буферов FAT внешнего софта
  416. STORE_FATVARS
  417.         EVOPORT WIN_P3,RAM_FATVARS
  418.                 LD HL,BUF_DIRCEP
  419.                 LD DE,FATVARS.COPY_VARS_EXT
  420.                 LD BC,FATVARS.COPY_VARS_INT_Size
  421.                 LDIR                            ; сохранили буфера FAT внешнего софта
  422.                 LD HL,FATVARS.COPY_VARS_INT
  423.                 LD DE,BUF_DIRCEP
  424.                 LD BC,FATVARS.COPY_VARS_INT_Size
  425.                 LDIR                            ; восстановили буфера FAT внутреннего софта
  426.                 LD HL,FATVARSFLAGS
  427.                 RES FATVARSFLAGS.B_INT,(HL)
  428.                 SET FATVARSFLAGS.B_EXT,(HL)
  429.                 SET FATVARSFLAGS.B_TYPE,(HL)
  430.                 RET
  431.  
  432. ; восстановление FAT переменных
  433. RESTORE_FATVARS LD A,(FATVARSFLAGS)
  434.                 BIT FATVARSFLAGS.B_TYPE,A
  435.                 RET Z
  436.         EVOPORT WIN_P3,RAM_FATVARS
  437.                 LD HL,BUF_DIRCEP
  438.                 LD DE,FATVARS.COPY_VARS_INT
  439.                 LD BC,FATVARS.COPY_VARS_INT_Size
  440.                 LDIR                            ; сохранили буфера FAT внутреннего софта
  441.                 LD HL,FATVARS.COPY_VARS_EXT
  442.                 LD DE,BUF_DIRCEP
  443.                 LD BC,FATVARS.COPY_VARS_INT_Size
  444.                 LDIR                            ; восстановили буфера FAT внешнего софта
  445.                 LD HL,FATVARSFLAGS
  446.                 SET FATVARSFLAGS.B_EXT,(HL)
  447.                 RES FATVARSFLAGS.B_INT,(HL)
  448.                 RES FATVARSFLAGS.B_TYPE,(HL)
  449.                 RET
  450.  
  451. ; смена диска/раздела
  452. SELECT_DRIVE    DI
  453.                 LD IX,ENMI_SERVICE              ; описатель окна выбора диска/раздела
  454.                 LD HL,SEL_DRIVE
  455.                 LD D,IXH
  456.                 LD E,IXL
  457.                 LD BC,ESEL_DRIVE-SEL_DRIVE
  458.                 LDIR
  459.                 LD BC,0x14-(ESEL_DRIVE-SEL_DRIVE)
  460.                 EX DE,HL
  461.                 ADD HL,BC
  462.                 LD (IX+_ADR_TXT_L),L
  463.                 LD (IX+_ADR_TXT_H),H
  464.                 EX DE,HL
  465.                 LD BC,ETXT_SELDRIVES-TXT_SELDRIVES
  466.                 LDIR
  467.                 LD A,(DEVMAN_VARS.SETDVOL)      ; номер текущего диска/раздела
  468.                 LD (IX+_NUM_PKT),A
  469.                 LD (IX+_TEK_PKT_L),A
  470.                 LD (IX+_TEK_PKT_H),0
  471.                 LD A,(DEVMAN_VARS.KOLDVOL)      ; количество разделов
  472.                 LD (IX+_NUM_KOL_L),A
  473.                 LD (IX+_NUM_KOL_H),0
  474.                 LD B,A
  475.                 ADD A,2
  476.                 LD (IX+_V_SIZE),A               ; установили высоту окна
  477.                 PUSH DE
  478.                 LD DE,6
  479.                 LD HL,BUF_VOLUMES;BUF_TABLVOL
  480.                 EXX
  481.                 POP HL
  482.                 EXX
  483. .L1             EXX
  484.                 LD (HL),0x0D
  485.                 INC HL
  486.                 LD (HL),' '
  487.                 INC HL
  488.                 EXX
  489.                 LD A,(HL)
  490.                 INC HL
  491.                 LD C,(HL)
  492.                 INC HL
  493.                 ADD A,C
  494.                 ADD A,C
  495.                 SUB 4
  496.                 ADD A,A
  497.                 ADD A,A
  498.                 ADD A,A
  499.                 ADD A,A
  500.                 EXX
  501.                 EX DE,HL
  502.                 LD HL,TXT4MENU_DEVICE
  503.                 LD C,A
  504.                 LD B,0
  505.                 ADD HL,BC
  506.                 LD BC,0x10
  507.                 EXX
  508.                 LD A,L
  509.                 EXX
  510.                 RRCA
  511.                 RRCA
  512.                 RRCA
  513.                 AND 0x1F
  514.                 ADD A,'E'
  515.                 LD (DE),A
  516.                 INC DE
  517.                 LDIR
  518.                 EXX
  519.                 LD A,(HL)
  520.                 EXX
  521.                 LD C,A
  522.                 ADD A,A
  523.                 ADD A,A
  524.                 ADD A,C
  525.                 LD HL,TXT4MENU_TYPE
  526.                 LD C,A
  527.                 ADD HL,BC
  528.                 LD C,5
  529.                 LDIR
  530.                 EX DE,HL
  531.                 EXX
  532.                 ADD HL,DE
  533.                 DJNZ .L1
  534.                 EXX
  535.                 LD (HL),0
  536.                 INC HL
  537.                 LD B,(IX+_V_SIZE)
  538.                 DEC B
  539.                 DEC B
  540.                 LD C,B
  541.                 LD A,'e'
  542.                 LD (IX+_ADR_HOTKEY_L),L
  543.                 LD (IX+_ADR_HOTKEY_H),H         ; установка адреса горячих клавиш меню
  544.                 LD (HL),B
  545.                 INC HL
  546. .L2             LD (HL),A
  547.                 INC HL
  548.                 INC A
  549.                 DJNZ .L2
  550.                 LD (IX+_ADR_PRG_L),L
  551.                 LD (IX+_ADR_PRG_H),H            ; установка адреса списка подпрограмм
  552.                 LD B,C
  553. .L3             LD (HL),LOW (SELDRIVE)
  554.                 INC HL
  555.                 LD (HL),HIGH (SELDRIVE)
  556.                 INC HL
  557.                 DJNZ .L3
  558.                 LD A,C
  559.                 EXX
  560.                 DEC A
  561.                 CALL INT_TXT_WINDOW
  562.                 JP SET_ADR_ATR
  563.  
  564. SELDRIVE        LD A,(IX+_NUM_PKT)
  565.         ROMCALL SET_VOL,ROM_RST83
  566.         IF 0
  567.                 LD IX,FILESBROWSER
  568.                 LD HL,BUF_PATH
  569.         ROMCALL GET_PATH,ROM_RST83              ; получаем путь после входа
  570.         EVOPORT WIN_A1,ROM_RST81
  571.                 LD A,(HL)
  572.                 SUB 'E'
  573.                 LD H,A
  574.                 LD L,0
  575.                 SRL H
  576.                 RR L
  577.                 SRL H
  578.                 RR L
  579.                 LD DE,BUF_WINPATH
  580.                 ADD HL,DE
  581.                 LD A,(HL)
  582.                 ADD A,A
  583.                 ADD A,(HL)
  584.                 LD C,A
  585.                 LD B,0
  586.                 JP SELECT_FILE.REREAD_WIN
  587.         ELSE
  588.                 JP FILEBROWSE
  589.         ENDIF
  590.