flex_nav/rez3_fnnext.a80
savelij13 881739653b CDplayer.flx 1.1:
- плагин доделан, описание/history в cdplayer.txt рядом с плагином.
FE 1.09
- исправлено: при выходе из редактора с несохраненным файлом и запросе на сохранение
  клавиша Enter теперь работает как подтверждение сохранения.
FN 1.16
- встроенный editor переехал в плагин откуда и запускается по F4, из FN удален.
- встроенный viewer переехал в плагин откуда и запускается по F3, из FN удален.
- встроенный help переехал в плагин откуда и запускается при нажатии F1, из FN удален.
- загрузка плагина отделена от запуска, теперь можно запускать плагины не
  только из панели FN.
- добавлен макрос формирования заголовка для плагинов.
- добавлена поддержка работы плагинов в адреса 0x4000-0x7FFF (окно 1) в дополнение
  к старым 0xC000-0xBFFF (окно 3), пока используется в плагине cdplayer.
- в окнах с ошибкой переделан на 2 типа окон вместо многих под каждую ошибку.
- исправлена потеря цвета при печати текста по указанному адресу.
- текстовым файлам вернул кодировку CP866, readme.md оставлен в кодировке UTF8.
2025-07-25 16:01:19 +03:00

208 lines
2.3 KiB
Plaintext

; LAST UPDATE: 18.07.2025 savelij
;[]==========================================================[]
InitExtention: LD HL,INIFILES.ExtName1
LD DE,fn_ext
CALL InitExt
LD HL,INIFILES.ExtName2
LD DE,fnview_ext
CALL InitExt
LD HL,INIFILES.ExtName3
LD DE,fnedit_ext
;[]----------------------------------------------------------[]
InitExt: LD (.EXTdata),DE
SPDSS DSSF.OPEN,,1
RET C
LD (.ExtHandle),A
LD HL,WorkBuffer
LD DE,WorkBuffer_Size
SPDSS DSSF.READ
RET C
OR A
RET P
LD A,0
.ExtHandle EQU $-1
PUSH DE
SPDSS DSSF.CLOSE
POP BC
LD HL,WorkBuffer
LD DE,0x0000
.EXTdata EQU $-2
EXX
LD BC,0x03FE
EXX
.loop: CALL InitExtLine
JR NC,.loop
RET
InitExtLine: LD (.InExtSv),DE
SUB A
LD (DE),A
INC DE
EXX
DEC BC
LD A,B
OR C
SCF
EXX
RET Z
SUB A
LD (DE),A
INC DE
EXX
DEC BC
LD A,B
OR C
SCF
EXX
RET Z
DEC HL
INC BC
LD IXL,0x04
.L1: LD A,B
OR C
SCF
RET Z
EXX
LD A,B
OR C
SCF
EXX
RET Z
INC HL
DEC BC
LD A,(HL)
CP 0x20
JR C,.L4
CP '`'
JR Z,.L4
CP ':'
JR Z,.L6
CP '*'
JR NZ,.L3
.L2: LD A,'?'
LD (DE),A
INC DE
DEC IXL
LD A,IXL
DEC A
JR Z,.L1
EXX
DEC BC
LD A,B
OR C
SCF
EXX
RET Z
JR .L2
.L3: LD (DE),A
INC DE
EXX
DEC BC
EXX
DEC IXL
JR NZ,.L1
.L4: LD DE,(.InExtSv)
.L5: LD A,B
OR C
SCF
RET Z
LD A,(HL)
INC HL
DEC BC
CP 0x0D
JR NZ,.L5
LD A,B
OR C
SCF
RET Z
INC HL
DEC BC
LD A,B
OR C
RET NZ
SCF
RET
.L6: DEC IXL
JR Z,.L8
.L7: EXX
LD A,B
OR C
SCF
EXX
RET Z
INC DE
EXX
DEC BC
EXX
DEC IXL
JR NZ,.L7
.L8: LD A,B
OR C
SCF
RET Z
EXX
LD A,B
OR C
SCF
EXX
RET Z
INC HL
DEC BC
LD A,(HL)
CP 0x0D
JR Z,.L4
CP 0x09
JR Z,.L8
CP 0x20
JR Z,.L8
JR C,.L4
LD (DE),A
INC DE
EXX
DEC BC
EXX
.L9: LD A,B
OR C
SCF
RET Z
EXX
LD A,B
OR C
SCF
EXX
RET Z
INC HL
DEC BC
LD A,(HL)
CP 0x0D
JR Z,.L10
CP 0x20
JR C,.L4
LD (DE),A
INC DE
EXX
DEC BC
EXX
JR .L9
.L10: SUB A
LD (DE),A
INC DE
PUSH HL
LD HL,0x0000
.InExtSv: EQU $-2
LD (HL),E
INC HL
LD (HL),D
POP HL
JR .L5
INIFILES
.ExtName1: DZ FILENAME.FN_EXT
.ExtName2: DZ FILENAME.FNVIEW_EXT
.ExtName3: DZ FILENAME.FNEDIT_EXT