- плагин доделан, описание/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.
208 lines
2.3 KiB
Plaintext
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
|