begin
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "Shared_Includes"]
|
||||
path = Shared_Includes
|
||||
url = https://github.com/Tolik-Trek/Shared_Includes.git
|
||||
253
FM.ASM
Executable file
@ -0,0 +1,253 @@
|
||||
; ‡ £àã§ç¨ª ”Œ
|
||||
|
||||
|
||||
|
||||
include 'shared_includes/constants/Sp2000.inc'
|
||||
include 'shared_includes/constants/bios_equ.inc'
|
||||
include 'shared_includes/constants/dss_equ.inc'
|
||||
include 'version.inc' ; ¢¥àá¨ï ¬¥¥¤¦¥à
|
||||
; include 'fm.exp' ; ᮤ¥à¦¨â "@label" ¬¥âª¨
|
||||
|
||||
|
||||
|
||||
org 4100h
|
||||
|
||||
db "EXE" ; exe ID
|
||||
db 0 ; exe ¢¥àá¨ï
|
||||
dw 512 ; 512, ¬«. ᬥé. ª®¤
|
||||
dw 0 ; áâ. ᬥé. ª®¤
|
||||
dw end_loader - entry ; end-beg, ¯¥à¢¨çë© § £àã§ç¨ª
|
||||
dw 0,0,0 ; १¥à¢
|
||||
dw entry ; ¤à¥á § £à㧪¨ ª®¤
|
||||
dw start ; ¤à¥á ¯¥à¥¤ ç¨ ã¯à ¢«¥¨ï
|
||||
dw start ; ¤à¥á á⥪
|
||||
ds 490
|
||||
|
||||
entry: db "The File Manager, Version "
|
||||
db major_version + "0"
|
||||
db "."
|
||||
db (minor_version / 10) + "0"
|
||||
db (minor_version % 10) + "0"
|
||||
db " Copyright (c) 2005-2007 by Vasil Ivanov."
|
||||
|
||||
|
||||
start:
|
||||
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
ld bc,3135h
|
||||
rst ToDSS
|
||||
di
|
||||
; á®åà. § 票¥ ¯®à⮢
|
||||
in a,(SLOT0)
|
||||
ld (port_82__),a
|
||||
in a,(SLOT3)
|
||||
ld (port_E2__),a
|
||||
in a,(89h)
|
||||
ld (port_89__),a
|
||||
; á®åà. ¤¥áªà¨¯â®à ¬¥¥¤¦¥à
|
||||
ld a,(ix-3)
|
||||
ld (hFile),a
|
||||
; § ªàëâì ᯥª. íªà
|
||||
ld a,0C0h
|
||||
out (89h),a
|
||||
; ¢ë¤¥«¨âì 10 áâà. ¯ ¬ïâ¨
|
||||
ld bc,0A3Dh
|
||||
rst ToDSS
|
||||
jr nc,ok_malloc ; Ok
|
||||
ld a,(hFile) ; ⥪. ¤¥áªà¨¯â®à
|
||||
ld c,12h ; § ªàëâì exe-ä ©«
|
||||
rst ToDSS
|
||||
ld hl,no_space ; ¥â ¯ ¬ïâ¨
|
||||
abort: ei
|
||||
ld c,5Ch
|
||||
rst ToDSS
|
||||
ld bc,0FF41h ; ¢ë室 ¢ „Ž‘
|
||||
rst ToDSS
|
||||
ret
|
||||
|
||||
ok_malloc: ld (id_block__),a ; åí¤« ¢ë¤¥«. ¡«®ª ¯ ¬ïâ¨
|
||||
; ¯®«ãç¨âì ᯨ᮪ áâà ¨æ
|
||||
ld hl,page_sys_screen__
|
||||
ld c,0C5h
|
||||
rst 08h
|
||||
; ã§ âì ¢¥àá¨î „Ž‘
|
||||
ld c,0
|
||||
rst ToDSS
|
||||
ld hl,013Ch ; 1.60
|
||||
and a
|
||||
sbc hl,de
|
||||
call nc,setup_znak ; =< 1.60 ãáâ. § ª®£¥. 19h/1Ah
|
||||
; à ᯠª®¢ âì ¬®¤ã«ì 1
|
||||
;...
|
||||
; § £à㧨âì ®á. ª®¤ ¬¥¥¤¦¥à
|
||||
ld a,(page_manager__) ; à ¡®â ¥â ¢ #8000
|
||||
out (SLOT3),a
|
||||
ld hl,0C000h
|
||||
ld de,len_modul1 ; à §¬¥à ¬®¤ã«ï 1
|
||||
ld a,(hFile)
|
||||
ld c,13h
|
||||
rst ToDSS
|
||||
jp c,read_error
|
||||
; à ᯠª®¢ âì ¬®¤ã«ì 2
|
||||
;...
|
||||
; § £à. ¤à ©¢¥àë ª« ¢ë/¬ë誨, ®¡à ¡®â稪¨ ®¡ê¥ªâ®¢ ¨ ¤¨ «. ®ª®
|
||||
ld a,(page_module0__) ; à ¡®â ¥â ¢ #0000
|
||||
out (SLOT3),a
|
||||
ld hl,0C000h
|
||||
ld de,len_modul2 ; à §¬¥à ¬®¤ã«ï 2
|
||||
ld a,(hFile)
|
||||
ld c,13h
|
||||
rst ToDSS
|
||||
jp c,read_error
|
||||
ld a,(page_spec__)
|
||||
ld (0C02Ah),a ; á®åà. ᯥª-áâà ¨æã (vectors.asm)
|
||||
; à ᯠª®¢ âì ¬®¤ã«ì 3
|
||||
;...
|
||||
; § £à㧨âì ®¯¨á ⥫¨ ¯ ¥«¥©
|
||||
ld a,(page_module1__)
|
||||
out (SLOT3),a
|
||||
ld hl,0C000h
|
||||
ld de,len_modul3 ; à §¬¥à ¬®¤ã«ï 3
|
||||
ld a,(hFile)
|
||||
ld c,13h
|
||||
rst ToDSS
|
||||
jp c,read_error
|
||||
; à ᯠª®¢ âì ¬®¤ã«ì 4
|
||||
;...
|
||||
; § £à㧨âì ᯥª-ª®¤
|
||||
ld a,(page_spec__)
|
||||
out (SLOT3),a
|
||||
ld hl,0C000h
|
||||
ld de,len_modul4 ; à §¬¥à ¬®¤ã«ï 4
|
||||
ld a,(hFile)
|
||||
ld c,13h
|
||||
rst ToDSS
|
||||
jp c,read_error
|
||||
ld a,(page_module0__)
|
||||
ld (0C02Ah),a ; á®åà. ä¬-áâà ¨æã (vect.asm)
|
||||
; à ᯠª®¢ âì ¬®¤ã«ì 5
|
||||
;...
|
||||
; § £à㧨âì ¢ìî¥à
|
||||
ld a,(page_viewer__)
|
||||
out (SLOT3),a
|
||||
ld hl,0C000h
|
||||
ld de,len_modul5 ; à §¬¥à ¢ìî¥à
|
||||
ld a,(hFile)
|
||||
ld c,13h
|
||||
rst ToDSS
|
||||
jp c,read_error
|
||||
;
|
||||
; § ªàëâì exe-ä ©« ¬¥¥¤¦¥à
|
||||
hFile+1: ld a,0 ; á®åà. ¤¥áªà¨¯â®à ¬¥¥¤¦¥à
|
||||
ld c,12h
|
||||
rst ToDSS
|
||||
; ¢ª«. ¢ #8000 ®á. ª®¤ ”Œ
|
||||
ld a,(page_manager__)
|
||||
out (SLOT2),a
|
||||
; ¯¥à¥ª ç âì åí¤«ë áâà ¨æ
|
||||
ld hl,id_block__ ; ®âªã¤
|
||||
ld de,id_block ; ªã¤
|
||||
ld bc,pages_end - id_block__
|
||||
ldir
|
||||
;
|
||||
ld sp,stack ; á⥪ ”Œ
|
||||
; ¥ ¬¥ïâì ¯®«®¦. ¬ë誨 ”Œ
|
||||
ld c,3 ; ã§ âì áâ âãá ¬ë誨
|
||||
rst 30h
|
||||
ld (Xcoord),hl ; ª®®à¤¨ â X (0..639)
|
||||
ld (Ycoord),de ; ª®®à¤¨ â Y (0..255)
|
||||
jp 8000h ; ¯¥à¥©â¨ ¯à®£à ¬¬ã
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; •í¤«ë áâà ¨æ ¬¥¥¤¦¥à
|
||||
id_block__: db -1 ; ¤¥áªà¨¯â®à ¢ë¤¥«. ¡«®ª ¯ ¬ïâ¨
|
||||
;
|
||||
page_sys_screen__:
|
||||
db -1 ; +#0000 á¨áâ.íªà , +#1400 íªà ”Œ
|
||||
page_dial_screen__:
|
||||
db -1 ; ¡ãä¥à á®åà. ¤¨ «. ®ª® ¨ ¢¥àâ. ¬¥î
|
||||
page_left_dir__:
|
||||
db -1 ; ᯨ᮪ «¥¢®© ¯ ¥«¨
|
||||
page_right_dir__:
|
||||
db -1 ; ᯨ᮪ ¯à ¢®© ¯ ¥«¨
|
||||
page_manager__:
|
||||
db -1 ; ®á. ª®¤ ¬¥¥¤¦¥à
|
||||
page_module0__: db -1 ; ¤à ©¢¥àë ª« ¢ë, ¬ë誨, ¤¨ «. ª®¤ á ®¡à ¡.
|
||||
page_module1__: db -1 ; ®¯¨á ⥫¨ ¯ ¥«¥©
|
||||
page_spec__: db -1 ; áâà ¨æ à §¡®à ᯥª-äãªæ¨©
|
||||
page_viewer__: db -1 ; áâà ¨æ ¢ìî¥à
|
||||
db -1
|
||||
db 0 ; á⮯-¡ ©â
|
||||
;
|
||||
port_82__: db -1 ; á®åà. ¯®àâ 82h
|
||||
port_E2__: db -1 ; á®åà. ¯®àâ 0E2h
|
||||
port_89__: db -1 ; á®åà. ¯®àâ 89h
|
||||
pages_end:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; ®è¨¡ª § £à㧪¨ ¬¥¥¤¦¥à
|
||||
read_error: ld a,(id_block__)
|
||||
ld c,3Eh ; ®á¢®¡. ¢ë¤¥«. ¡«®ª ¯ ¬ïâ¨
|
||||
rst ToDSS
|
||||
ld a,(hFile)
|
||||
ld c,12h ; § ªàëâì ä ©«
|
||||
rst ToDSS
|
||||
ld hl,load_err
|
||||
jp abort
|
||||
|
||||
no_space: db "Not enough memory to run program !",0Dh,0Ah,0
|
||||
load_err: db "Disk loading error !",0Dh,0Ah,0
|
||||
|
||||
|
||||
; <20>®¤£®â®¢¨âì § ª®£¥. ¤«ï á®äâ. ªãàá®à
|
||||
setup_znak: ld a,(page_manager__) ; ¢à¥¬. ¡ãä¥à
|
||||
out (SLOT2),a
|
||||
; ¯®«ãç¨âì á¨áâ. § ª®£¥.
|
||||
ld de,8000h ; ¡ãä¥à ¤«ï 2048 ¡ ©â ¤ ëå
|
||||
push de
|
||||
ld c,0B8h ; ¯®«ãç¨âì § ª®£¥.
|
||||
rst 08h
|
||||
; § ¯®«¨âì ª®¤®¬ 0FFh 2 ¨¦¨¥ «¨¨¨
|
||||
ld hl,8000h+(2048-(2*256)) ; ¯®á«¥¤¨¥ 512 ¡ ©â
|
||||
ld bc,511
|
||||
ld a,1Ah ; ®¬¥à § ª®£¥.
|
||||
call fill_data_font
|
||||
pop hl
|
||||
; § ¯®«¨âì ®áâ «ìë¥ 6 «¨¨© (¯®«ë© ¡«®ª)
|
||||
ld bc,2048-513
|
||||
ld a,19h ; ®¬¥à § ª®£¥.
|
||||
; <20> áâனª § ª®£¥. ¨ ¥£® ॣ¨áâà æ¨ï
|
||||
; ¢å®¤: a=®¬¥à § ª®£¥.
|
||||
; hl=¤ ë¥
|
||||
; bc=à §¬¥à ¤ ëå
|
||||
fill_data_font: ld e,l
|
||||
ld d,h
|
||||
ld (hl),-1
|
||||
inc de
|
||||
ldir
|
||||
ld de,8000h ; § ª®£¥.
|
||||
ld c,0B6h ; ãáâ. § ª®£¥.
|
||||
rst 08h
|
||||
ret
|
||||
|
||||
|
||||
|
||||
; ¤¥¯ ª¥à
|
||||
;...
|
||||
|
||||
|
||||
; Š®¥æ § £àã§ç¨ª
|
||||
end_loader:
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Š®¤ ¬¥¥¤¦¥à
|
||||
;-------------------------------------------------
|
||||
; incbin 'Build/fm.bin'
|
||||
include 'main.asm'
|
||||
133
FVIEW/CHFONT.ASM
Executable file
@ -0,0 +1,133 @@
|
||||
; ¢ë§®¢ ¨§ hex-®ª
|
||||
change_code_page1:
|
||||
ld hl,ABB87 ; ¢ë¢¥á⨠áâà ¨æã hex-¤ ¬¯
|
||||
jr $+5
|
||||
; ¢ë§®¢ ¨§ ascii-®ª
|
||||
change_code_page:
|
||||
ld hl,AB390 ; ¢ë¢¥á⨠áâà ¨æã ⥪áâ
|
||||
push hl ; ¢¥ªâ®à ¢ á⥪
|
||||
ld hl,code_page ; 0/1/2 (Dos/Win/Koi)
|
||||
ld a,(hl)
|
||||
inc a
|
||||
cp 3
|
||||
jr nz,$+3
|
||||
xor a
|
||||
ld (hl),a
|
||||
push af
|
||||
ld c,a
|
||||
add a,a
|
||||
add a,c
|
||||
ld c,a
|
||||
ld b,0
|
||||
ld a,(viewer_mode) ; 0/1 ०¨¬ ¢ìî¥à (®à¬./¯ ¥«ìë©)
|
||||
or a
|
||||
jr nz,ch_code_pg1
|
||||
ld hl,TAE00 ; "WinKoiDos"
|
||||
ld de,TAE02 ; "DOSWINKOI"
|
||||
add hl,bc
|
||||
ex de,hl
|
||||
add hl,bc
|
||||
ex de,hl
|
||||
push de
|
||||
push hl
|
||||
push hl
|
||||
ld de,TA29D+1 ; F8-¯ãªâ ASCII key-¡ à
|
||||
call ch_code_pg
|
||||
pop hl
|
||||
ld de,TA33D+1 ; F8-¯ãªâ HEX key-¡ à
|
||||
call ch_code_pg
|
||||
; key-¡ à
|
||||
ld de,1F39h ; Y/X ¯®«®¦.
|
||||
ld c,84h ; ãáâ. ªãàá®à
|
||||
rst 08h
|
||||
pop hl ; ®âªã¤
|
||||
ld bc,0386h ; ¢ë¢¥á⨠áâப㠢 3 ᨬ¢®«
|
||||
rst 08h
|
||||
; áâ â. áâப
|
||||
ld de,0023h ; Y/X ¯®«®¦.
|
||||
ld c,84h ; ãáâ. ªãàá®à
|
||||
rst 08h
|
||||
pop hl ; ®âªã¤
|
||||
ld bc,0386h ; ¢ë¢¥á⨠áâப㠢 3 ᨬ¢®«
|
||||
rst 08h
|
||||
ch_code_pg1:
|
||||
pop af ; ⥪. ª®¤¨à®¢ª
|
||||
; ª®¤®¢ ï â ¡«¨æ
|
||||
ld hl,code_tables ; win-1251
|
||||
dec a
|
||||
jr z,$+5
|
||||
ld hl,code_tables+128 ; koi8-r
|
||||
ld (addr_code_table+1),hl
|
||||
ret
|
||||
|
||||
ch_code_pg:
|
||||
ld bc,3
|
||||
ldir
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚§ïâì ᨬ¢®« ¨§ ª®¤®¢®© â ¡«¨æë
|
||||
;-------------------------------------------------
|
||||
char_code_page:
|
||||
cp 80h ; "€"
|
||||
ret c
|
||||
db 0Eh ; ld c,..
|
||||
code_page:
|
||||
db 0
|
||||
dec c
|
||||
inc c
|
||||
ret z
|
||||
exx
|
||||
and 7Fh
|
||||
ld l,a
|
||||
ld h,0
|
||||
addr_code_table:
|
||||
ld bc,code_tables ; win-1251
|
||||
add hl,bc
|
||||
ld a,(hl)
|
||||
exx
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Š®¤ë 2-© ¯®«®¢¨ë ascii-â ¡«¨æë
|
||||
;-------------------------------------------------
|
||||
code_tables:
|
||||
; windows-1251
|
||||
db 3Fh,3Fh,27h,3Fh,22h,3Ah,0C5h,0D8h
|
||||
db 3Fh,25h,3Fh,3Ch,3Fh,3Fh,3Fh,3Fh
|
||||
db 3Fh,27h,27h,22h,22h,07h,2Dh,2Dh
|
||||
db 3Fh,54h,3Fh,3Eh,3Fh,3Fh,3Fh,3Fh
|
||||
db 0FFh,0F6h,0F7h,3Fh,0FDh,3Fh,0B3h,15h
|
||||
db 0F0h,63h,0F2h,3Ch,0BFh,2Dh,52h,0F4h
|
||||
db 0F8h,2Bh,49h,69h,3Fh,0E7h,14h,0FAh
|
||||
db 0F1h,0FCh,0F3h,3Eh,3Fh,3Fh,3Fh,0F5h
|
||||
db 80h,81h,82h,83h,84h,85h,86h,87h
|
||||
db 88h,89h,8Ah,8Bh,8Ch,8Dh,8Eh,8Fh
|
||||
db 90h,91h,92h,93h,94h,95h,96h,97h
|
||||
db 98h,99h,9Ah,9Bh,9Ch,9Dh,9Eh,9Fh
|
||||
db 0A0h,0A1h,0A2h,0A3h,0A4h,0A5h,0A6h,0A7h
|
||||
db 0A8h,0A9h,0AAh,0ABh,0ACh,0ADh,0AEh,0AFh
|
||||
db 0E0h,0E1h,0E2h,0E3h,0E4h,0E5h,0E6h,0E7h
|
||||
db 0E8h,0E9h,0EAh,0EBh,0ECh,0EDh,0EEh,0EFh
|
||||
; koi8-r
|
||||
db 0C4h,0B3h,0DAh,0BFh,0C0h,0D9h,0C3h,0B4h
|
||||
db 0C2h,0C1h,0C5h,0DFh,0DCh,0DBh,0DDh,0DEh
|
||||
db 0B0h,0B1h,0B2h,0F4h,0FEh,0F9h,0FBh,0F7h
|
||||
db 0F3h,0F2h,0FFh,0F5h,0F8h,0FDh,0FAh,0F6h
|
||||
db 0CDh,0BAh,0D5h,0F1h,0D6h,0C9h,0B8h,0B7h
|
||||
db 0BBh,0D4h,0D3h,0C8h,0BEh,0BDh,0BCh,0C6h
|
||||
db 0C7h,0CCh,0B5h,0F0h,0B6h,0B9h,0D1h,0D2h
|
||||
db 0CBh,0CFh,0D0h,0CAh,0D8h,0D7h,0CEh,0FCh
|
||||
db 0EEh,0A0h,0A1h,0E6h,0A4h,0A5h,0E4h,0A3h
|
||||
db 0E5h,0A8h,0A9h,0AAh,0ABh,0ACh,0ADh,0AEh
|
||||
db 0AFh,0EFh,0E0h,0E1h,0E2h,0E3h,0A6h,0A2h
|
||||
db 0ECh,0EBh,0A7h,0E8h,0EDh,0E9h,0E7h,0EAh
|
||||
db 9Eh,80h,81h,96h,84h,85h,94h,83h
|
||||
db 95h,88h,89h,8Ah,8Bh,8Ch,8Dh,8Eh
|
||||
db 8Fh,9Fh,90h,91h,92h,93h,86h,82h
|
||||
db 9Ch,9Bh,87h,98h,9Dh,99h,97h,9Ah
|
||||
2879
FVIEW/FVIEW.ASM
Executable file
195
FVIEW/FVIEW.INC
Executable file
@ -0,0 +1,195 @@
|
||||
; <20>à®æ¥¤ãàë, à ᯮ«®¦¥ë¥ ¢ ®á. áâà ¨æ¥ ”Œ.
|
||||
; ‚ë§ë¢ îâáï ¨§ áâà ¨æë £«ï¤¥«ª¨.
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; ä« £ ¢ë室 ¨§ £«ï¤¥«ª¨ ¯®á«¥ ¢ë¢®¤ ᮤ¥à¦¨¬®£® ä ©«
|
||||
half_mode_fview:
|
||||
db false ; 0/1 ¥ ¢ë室¨âì/¢ë©â¨
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ ¢ìî¥à ¨á¯®«¥¨¥
|
||||
; ¢ë室: CF - ¯à¨ ®è¨¡ª¥, A=ª®¤ ®è¨¡ª¨
|
||||
;-------------------------------------------------
|
||||
; <20> ¥«ìë© à¥¦¨¬
|
||||
;alt_file_viewer:
|
||||
; ld a,true ; ¢ë¢¥á⨠¤ ë¥ ¨ ¢ë©â¨ ¨§ fview
|
||||
; ld (half_mode_fview),a ; ãáâ. ä« £
|
||||
; ld c,true ; ¯ ¥«ìë© à¥¦¨¬ à ¡®âë ¢ìî¥à
|
||||
; jr $+4
|
||||
; Ž¡ëçë© à¥¦¨¬
|
||||
file_viewer:
|
||||
ld c,false ; ®à¬. ०¨¬ à ¡®âë ¢ìî¥à
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
and form_info
|
||||
ret nz
|
||||
ld hl,(all_files)
|
||||
ld a,l
|
||||
or h
|
||||
ret z ; ¯ãáâ ï ¯ ¥«ì
|
||||
ld a,c
|
||||
ld (viewer_mode),a ; 0/1 ०¨¬ à ¡®âë ¢ìî¥à
|
||||
call get_record ; hl= ç «® § ¯¨á¨, a= âਡãâ ä ©«
|
||||
and 10h
|
||||
ret nz ; ¯ ¯ª
|
||||
push hl
|
||||
call set_path_from_activ_panel ; ãáâ. á¨áâ. ¤¨áª ¨ ¯ãâì ®â ªâ. ¯ ¥«¨
|
||||
pop hl
|
||||
ret c
|
||||
ld de,temp_fname ; ªã¤
|
||||
ld bc,0044h ; 11 -> 8.3
|
||||
rst 10h
|
||||
ret c
|
||||
;ld (evcomb_stack+1),sp ; á®åà. á⥪
|
||||
ld a,(page_viewer) ; áâà. ¢ìî¥à
|
||||
out (SLOT1),a
|
||||
call viewer ; ¢ìî¥à
|
||||
ex af,af' ; ª®¤ ¢®§¢à â
|
||||
ld a,(page_module1)
|
||||
out (SLOT1),a ; ¢®ááâ. áâà.
|
||||
ex af,af'
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‚ë§®¢ ¨§ fview. Ž¡à ¡®âª ª« ¢¨è ¡¥§ ª®¬¡¨ 権
|
||||
; ¢å®¤: e=ascii-ª®¤
|
||||
; d=᪥-ª®¤
|
||||
; b=¡¨âë á«ã¦. ª« ¢¨è
|
||||
;-----------------------------------------------------------
|
||||
;fm_event:
|
||||
; ld a,(viewer_mode) ; ०¨¬ à ¡®âë ¢ìî¥à
|
||||
; or a
|
||||
; ret z ; ®à¬. ०¨¬
|
||||
; ; fview ¢ ¯ ¥«ì®¬ ०¨¬¥
|
||||
; push iy
|
||||
; push ix
|
||||
; ld a,(page_module1)
|
||||
; out (SLOT1),a ; ¢®ááâ. áâà.
|
||||
; call main_event ; ®¡à ¡®â稪 ”Œ
|
||||
; ld a,(page_viewer) ; áâà. ¢ìî¥à
|
||||
; out (SLOT1),a
|
||||
; pop ix
|
||||
; pop iy
|
||||
; ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Tab. ‚ë§®¢ ¨§ fview
|
||||
;-------------------------------------------------
|
||||
;fm_event_tab:
|
||||
; ld a,(page_module1)
|
||||
; out (SLOT1),a ; ¢®ááâ. áâà.
|
||||
; pop de ; ã¡à âì "call viewer"
|
||||
; jp tab ; ᬥ¨âì ªâ. ¯ ¥«ì
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; â®çª ¢ë室 ¢ fview
|
||||
;event_comb_return:
|
||||
; ld a,(page_viewer) ; áâà. ¢ìî¥à
|
||||
; out (SLOT1),a
|
||||
; ; áâநâì ¯®«®¦. ¤ ¬¯
|
||||
; ld hl,panel_left ; ¯®«®¦. ªâ. ¯ ¥«¨
|
||||
; ld d,(hl) ; Y ¯®«®¦. ¯ ¥«¨
|
||||
; inc hl
|
||||
; ld e,(hl) ; X ¯®«®¦. ¯ ¥«¨
|
||||
; inc d
|
||||
; inc e
|
||||
; ld (coord),de ; ¯®«®¦. ªãàá®à
|
||||
; ld (winpos),de ; ¯®«®¦. ®ª
|
||||
; ret
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‚ë§®¢ ¨§ fview. Ž¡à ¡®âª ª®¬¡¨ 権 ª« ¢¨è
|
||||
; ¢å®¤: e=ascii-ª®¤
|
||||
; d=᪥-ª®¤
|
||||
; b=¡¨âë á«ã¦. ª« ¢¨è
|
||||
;-----------------------------------------------------------
|
||||
;fm_event_comb:
|
||||
; ld hl,event_comb_return ; â®çª ¢ë室
|
||||
; push hl
|
||||
; ld a,(page_module1)
|
||||
; out (SLOT1),a ; ¢®ááâ. áâà. ä¬
|
||||
; ld a,d
|
||||
; ; á ¢®§¢à ⮬ ¢ fview qview-¯ ¥«¨
|
||||
; cp 18h ; Ctrl+O ã¡à âì/¯®ª § âì ¯ ¥«¨
|
||||
; jp z,hidd;en_panels
|
||||
; cp 16h ; Ctrl+U ®¡¬¥ ¯ ¥«¥©
|
||||
; jp z,swap;_panels
|
||||
; cp 12h ; Ctrl+E ¯à¥¤. áâப ¨áâ®à¨¨
|
||||
; jp z,prev_history
|
||||
; cp 2Bh ; Ctrl+X á«¥¤. áâப ¨áâ®à¨¨
|
||||
; jp z,next_history
|
||||
; cp 4Fh ; Ctrl+Del, ®ç¨áâ¨âì ¨áâ®à¨î ª®¬ ¤
|
||||
; jp z,clear_history
|
||||
; ; ¡¥§ ¢®§¢à â ¢ fview qview-¯ ¥«¨
|
||||
; cp 2 ; "1" ªà ⪨© ªâ. ¯ ¥«¨
|
||||
; jr z,event_comb_done
|
||||
; cp 3 ; "2" á।¨© ªâ. ¯ ¥«¨
|
||||
; jr z,event_comb_done
|
||||
; cp 4 ; "3" ¯®«ë© ªâ. ¯ ¥«¨
|
||||
; jr z,event_comb_done
|
||||
; cp 10h ; Ctrl+Q áªàëâì/¯®ª § âì ¯ ¥«¨
|
||||
; jr z,event_comb_done
|
||||
; cp 25h ; Ctrl+L ¯ ¥«ì ¨ä®à¬ 樨
|
||||
; jr z,event_comb_done
|
||||
; ret
|
||||
;event_comb_done:
|
||||
;evcomb_stack:
|
||||
; ld sp,0 ; ¢®ááâ. á⥪ ¤® ¢å®¤ ¢ fview
|
||||
; jp keybar_options ; ®âà ¡®â âì Ctrl,Alt,Shift ª®¬¡¨ 樨
|
||||
|
||||
|
||||
;hidd: push iy
|
||||
; push ix
|
||||
; ld a,true
|
||||
; ld (set_qview_fl),a ; ãáâ. ä« £ "¥ § 室¨âì ᮢ ¢ fview"
|
||||
; call hidden_panels
|
||||
; pop ix
|
||||
; pop iy
|
||||
; call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
; ret z ; ¢ëª«.
|
||||
; pop hl ; ¢®ááâ. ¡ « á á⥪
|
||||
; call event_comb_return ; ¢ª«. áâà. £«ï¤¥«ª¨
|
||||
; ; ¢ë¢¥á⨠ᮤ¥à¦. ä ©« ¢ ¯ ¥«¨
|
||||
; ld hl,AB317 ; ascii-®ª®
|
||||
; ld a,(cur_mode_dump) ; 0/1 ä« £ ⥪. ®ª (ascii/hex)
|
||||
; or a
|
||||
; jr z,$+5
|
||||
; ld hl,ABB1C ; hex-®ª®
|
||||
; jp (hl)
|
||||
|
||||
|
||||
;swap: push iy
|
||||
; push ix
|
||||
; call swap_panels
|
||||
; pop ix
|
||||
; pop iy
|
||||
; ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Ctrl+Q. ‚ë§®¢ ¨§ fview
|
||||
;-------------------------------------------------
|
||||
;qv_panel:
|
||||
; ld a,(page_module1)
|
||||
; out (SLOT1),a ; ¢®ááâ. áâà.
|
||||
; jp alt_qview_panel
|
||||
14
FVIEW/FVIEW.Z80
Executable file
@ -0,0 +1,14 @@
|
||||
;ÉÍÍÍÍÍÍÍ fview ÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Reading file... º
|
||||
;º º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª äãªæ¨¨ "fview"
|
||||
win_fview_load_file:
|
||||
dw 0A1Ch,0517h ; Yo,Xo,lenY,lenX
|
||||
db "fview",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0205h ; Yo,Xo
|
||||
db "Reading file...",0
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
216
FVIEW/MSFVIEW.ASM
Executable file
@ -0,0 +1,216 @@
|
||||
;-----------------------------------------------------------
|
||||
; Ž¡à ¡®âª ¬ë誨 ¢ ASCII ®ª¥
|
||||
;
|
||||
; ¢å®¤: hl=Y/X ⥪áâ. ª®®à¤¨ âë ¬ë誨
|
||||
; d=¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
;-----------------------------------------------------------
|
||||
fview_mouse_ascii:
|
||||
ld a,(viewer_mode) ; ०¨¬ à ¡®âë ¢ìî¥à
|
||||
or a
|
||||
jp nz,get_fire ; ¯ ¥«ìë© à¥¦¨¬
|
||||
ld bc,AB33F ; â®çª ¢ë室
|
||||
push bc
|
||||
ld a,h
|
||||
or a ; 0-ï áâப
|
||||
jp z,get_fire ; ¢¥àåïï áâ âãá. «¨¨ï
|
||||
cp 31 ; key-¡ à
|
||||
jr c,fv_ms_ascii ; ᮡëâ¨ï ¢ ®ª¥
|
||||
; ᮡëâ¨ï key-¡ à
|
||||
bit 0,d ; ¯à ¢ë© ¡ãâ® ?
|
||||
jp nz,get_fire ; ¤
|
||||
push hl
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï"
|
||||
pop hl
|
||||
ld a,l ; X ª®®à¤¨ â
|
||||
cp 8
|
||||
ret c; ; F1 ¯ãªâ
|
||||
cp 16
|
||||
jp c,AB5C8 ; F2 ¯ãªâ Wrap/UnWrap
|
||||
cp 24
|
||||
ret c; ; F3 ¯ãªâ
|
||||
pop bc ; ¢®ááâ. ¡ « á á⥪ (¤«ï ¯ãªâ F4)
|
||||
cp 32
|
||||
jp c,ABB1C ; F4 ¯ãªâ HEX-०¨¬
|
||||
push bc ; â®çªã ¢ë室 ¢ á⥪
|
||||
cp 40
|
||||
ret c; ; F5 ¯ãªâ
|
||||
cp 48
|
||||
ret c; ; F6 ¯ãªâ
|
||||
cp 56
|
||||
ret c; ; F7 ¯ãªâ
|
||||
cp 64
|
||||
jp c,change_code_page ; F8 ¯ãªâ ‘¬¥ ª®¤. áâà ¨æë
|
||||
cp 72
|
||||
ret c; ; F9 ¯ãªâ
|
||||
; F10 ¯ãªâ
|
||||
pop bc ; ¢®ááâ. ¡ « á á⥪
|
||||
ret ; F10 ¯ãªâ
|
||||
|
||||
|
||||
; ‘®¡ëâ¨ï ®ª
|
||||
; ¢å®¤: hl=Y/X ª®®à¤. ¬ë誨 (Y=1..30, X=0..79)
|
||||
; d=¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
fv_ms_ascii:
|
||||
bit 0,d ; ¯à ¢ë© ¡ãâ® ?
|
||||
jr nz,fv_ms_ascii_right ; ¤
|
||||
ld a,h ; X ª®®à¤¨ â
|
||||
cp 16 ; ç «® ¨¦¥© ¯®«®¢¨ë ®ª
|
||||
jp c,fv_ms_ascii1
|
||||
; áâப㠢¨§
|
||||
call AB987
|
||||
halt
|
||||
call get_mouse_info
|
||||
and 3
|
||||
jr nz,$-9 ; ¡ãâ®ë ¦ âë
|
||||
ld a,evNothing
|
||||
ld (what),a ; ᯨ᮪ ᮡë⨩
|
||||
ret
|
||||
; áâப㠢¢¥àå
|
||||
fv_ms_ascii1:
|
||||
call AB81D
|
||||
halt
|
||||
call get_mouse_info
|
||||
and 3
|
||||
jr nz,$-9 ; ¡ãâ®ë ¦ âë
|
||||
ld a,evNothing
|
||||
ld (what),a ; ᯨ᮪ ᮡë⨩
|
||||
ret
|
||||
|
||||
; <20>à ¢ë© ¡ãâ®
|
||||
fv_ms_ascii_right:
|
||||
ld a,l ; Y ª®®à¤¨ â
|
||||
cp 40 ; ç «® ¯à ¢®© ¯®«®¢¨ë ®ª
|
||||
jr c,fv_ms_ascii_right1
|
||||
; ªãàá®à ¢¯à ¢®
|
||||
call AB610
|
||||
halt
|
||||
call get_mouse_info
|
||||
and 3
|
||||
jr nz,$-9 ; ¡ãâ®ë ¦ âë
|
||||
ld a,evNothing
|
||||
ld (what),a ; ᯨ᮪ ᮡë⨩
|
||||
ret
|
||||
; ªãàá®à ¢«¥¢®
|
||||
fv_ms_ascii_right1:
|
||||
call AB5FE
|
||||
halt
|
||||
call get_mouse_info
|
||||
and 3
|
||||
jr nz,$-9 ; ¡ãâ®ë ¦ âë
|
||||
ld a,evNothing
|
||||
ld (what),a ; ᯨ᮪ ᮡë⨩
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Ž¡à ¡®âª ¬ë誨 ¢ HEX ®ª¥
|
||||
;
|
||||
; ¢å®¤: hl=Y/X ⥪áâ. ª®®à¤¨ âë ¬ë誨.
|
||||
; d=¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
;-----------------------------------------------------------
|
||||
fview_mouse_hex:
|
||||
ld a,(viewer_mode) ; ०¨¬ à ¡®âë ¢ìî¥à
|
||||
or a
|
||||
jp nz,get_fire ; ¯ ¥«ìë© à¥¦¨¬
|
||||
ld bc,ABB4A ; â®çª ¢ë室
|
||||
push bc
|
||||
ld a,h
|
||||
or a ; 0-ï áâப
|
||||
jp z,get_fire ; ¢¥àåïï áâ âãá. «¨¨ï
|
||||
cp 31 ; key-¡ à
|
||||
jr c,fv_ms_hex ; ᮡëâ¨ï ¢ ®ª¥
|
||||
; ᮡëâ¨ï key-¡ à
|
||||
bit 0,d ; ¯à ¢ë© ¡ãâ® ?
|
||||
jp nz,get_fire ; ¤
|
||||
push hl
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï"
|
||||
pop hl
|
||||
ld a,l ; X ª®®à¤¨ â
|
||||
cp 8
|
||||
ret c; ; F1 ¯ãªâ
|
||||
cp 16
|
||||
ret c; ; F2 ¯ãªâ
|
||||
cp 24
|
||||
ret c; ; F3 ¯ãªâ
|
||||
pop bc ; ¢®ááâ. ¡ « á á⥪ (¤«ï ¯ãªâ F4)
|
||||
cp 32
|
||||
jp c,AB317 ; F4 ¯ãªâ ASCII-०¨¬
|
||||
push bc ; â®çªã ¢ë室 ¢ á⥪
|
||||
cp 40
|
||||
jp c,ABDF3 ; F5 ¯ãªâ Goto...
|
||||
cp 48
|
||||
ret c; ; F6 ¯ãªâ
|
||||
cp 56
|
||||
ret c; ; F7 ¯ãªâ
|
||||
cp 64
|
||||
jp c,change_code_page1 ; F8 ¯ãªâ ‘¬¥ ª®¤. áâà ¨æë
|
||||
cp 72
|
||||
ret c; ; F9 ¯ãªâ
|
||||
; F10 ¯ãªâ
|
||||
pop bc ; ¢®ááâ. ¡ « á á⥪
|
||||
ret ; F10 ¯ãªâ
|
||||
|
||||
|
||||
; ‘®¡ëâ¨ï ®ª
|
||||
; ¢å®¤: hl=Y/X ª®®à¤. ¬ë誨 (Y=1..30, X=0..79)
|
||||
; d=¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
fv_ms_hex:
|
||||
bit 0,d ; ¯à ¢ë© ¡ãâ® ?
|
||||
ret nz ; ¤
|
||||
ld a,h ; X ª®®à¤¨ â
|
||||
cp 1
|
||||
jr nz,$+9
|
||||
ld a,l ; X ª®®à¤¨ â
|
||||
cp 9 ; ¯®«¥ ¢¢®¤ ¤à¥á ?
|
||||
jp c,ABDF3 ; ¤ , Goto...
|
||||
ld a,h
|
||||
cp 16 ; ç «® ¨¦¥© ¯®«®¢¨ë ®ª
|
||||
jp c,fv_ms_hex1
|
||||
; áâப㠢¨§
|
||||
call ABCDB
|
||||
halt
|
||||
call get_mouse_info
|
||||
and 3
|
||||
jr nz,$-9 ; ¡ãâ®ë ¦ âë
|
||||
ld a,evNothing
|
||||
ld (what),a ; ᯨ᮪ ᮡë⨩
|
||||
ret
|
||||
; áâப㠢¢¥àå
|
||||
fv_ms_hex1:
|
||||
call ABC9A
|
||||
halt
|
||||
call get_mouse_info
|
||||
and 3
|
||||
jr nz,$-9 ; ¡ãâ®ë ¦ âë
|
||||
ld a,evNothing
|
||||
ld (what),a ; ᯨ᮪ ᮡë⨩
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Ž¡à ¡®âª ¬ë誨 ¢ ¯®«¥ ¢¢®¤ ¤à¥á Goto...
|
||||
;
|
||||
; ¢å®¤: hl=Y/X ⥪áâ. ª®®à¤¨ âë ¬ë誨.
|
||||
; a=¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
;-----------------------------------------------------------
|
||||
fview_mouse_goto:
|
||||
ld a,(viewer_mode) ; ०¨¬ à ¡®âë ¢ìî¥à
|
||||
or a
|
||||
jp nz,get_fire ; ¯ ¥«ìë© à¥¦¨¬
|
||||
ld bc,ABE29 ; â®çª ¢ë室
|
||||
push bc
|
||||
ld a,h
|
||||
dec a ; 1-ï áâப
|
||||
jr nz,$+6
|
||||
ld a,l ; X ª®®à¤¨ â
|
||||
cp 9
|
||||
ret c ; ®áâ âìáï ¢ ¯®«¥ ¢¢®¤
|
||||
pop bc ; ¢®ááâ. ¡ « á á⥪
|
||||
call get_fire ; ¯ ¥«ìë© à¥¦¨¬
|
||||
jp ABF5C ; Esc
|
||||
151
FVIEW/SETVIEW.ASM
Executable file
@ -0,0 +1,151 @@
|
||||
; normal: 80 - ¤«¨ áâப¨
|
||||
; 30 - ç¨á«® áâப
|
||||
; qview: 38 - ¤«¨ áâப¨
|
||||
; 28 - ç¨á«® áâப
|
||||
;
|
||||
|
||||
|
||||
len_string equ 80 ; ¤«¨ áâப¨
|
||||
num_strings equ 30 ; ç¨á«® áâப
|
||||
|
||||
|
||||
; <20>®«®¦. ªãàá®à
|
||||
coord: dw 0100h ; Y/X
|
||||
|
||||
; <20>®«®¦. ®ª
|
||||
winpos: dw 0 ; Y/X
|
||||
|
||||
; <20> §¬¥àë ®ª
|
||||
winsize:dw 0 ; Y/X 1C26h=28/38, 1E50h=30/80
|
||||
|
||||
cur_mode_dump:
|
||||
db 0 ; 0/1 ä« £ ⥪. ®ª (ascii/hex)
|
||||
|
||||
|
||||
|
||||
|
||||
; <20> áâநâì ª®áâ âë ¢ìî¥à
|
||||
setup_fview:
|
||||
ld de,0100h ; Y/X
|
||||
ld a,(viewer_mode) ; 0/1 ०¨¬ ¢ìî¥à (®à¬./¯ ¥«ìë©)
|
||||
ld c,a
|
||||
or a
|
||||
jr z,setp__ ; ®¡®©â¨ ¯à¨ ®à¬. ०¨¬¥
|
||||
ld hl,panel_right ; ª®®à¤¨ âë ¯ áá. ¯ ¥«¨
|
||||
ld d,(hl) ; Y ¯®«®¦. ¯ ¥«¨
|
||||
inc hl
|
||||
ld e,(hl) ; X ¯®«®¦. ¯ ¥«¨
|
||||
inc d
|
||||
inc e
|
||||
setp__: ld (coord),de ; ¯®«®¦. ªãàá®à
|
||||
ld (winpos),de ; ¯®«®¦. ®ª
|
||||
;xor true
|
||||
;ld (UnWrap),a ; 0/1 ०¨¬ ¯¥à¥®á áâப
|
||||
;
|
||||
ld hl,1E50h ; 30/80 ®à¬. ०¨¬
|
||||
dec c
|
||||
inc c
|
||||
jr z,$+5
|
||||
ld hl,1C26h ; 28/38 ¯ ¥«ìë© à¥¦¨¬
|
||||
ld (winsize),hl ; à §¬¥àë ®ª
|
||||
;
|
||||
; Š®áâ â 1
|
||||
ld hl,82*30 ; ®à¬. ०¨¬ (len_string * num_strings)
|
||||
dec c
|
||||
inc c
|
||||
jr z,$+5
|
||||
ld hl,40*28 ; ¯ ¥«ìë© à¥¦¨¬
|
||||
ld (const01+1),hl
|
||||
ld (const02+1),hl
|
||||
ld (const03+1),hl
|
||||
ld (const04+1),hl
|
||||
; Š®áâ â 2
|
||||
ld hl,16*30 ; ®à¬. ०¨¬ (16 * num_strings)
|
||||
dec c
|
||||
inc c
|
||||
jr z,$+5
|
||||
ld hl,16*28 ; ¯ ¥«ìë©
|
||||
ld (const20+1),hl
|
||||
ld (const21+1),hl
|
||||
ld (const22+1),hl
|
||||
ld (const23+1),hl
|
||||
ld (ABD79+1),hl
|
||||
ld (const25+1),hl
|
||||
ld (const26+1),hl
|
||||
; —¨á«® áâப
|
||||
; -1
|
||||
ld a,29 ; ®à¬. ०¨¬
|
||||
dec c
|
||||
inc c
|
||||
jr z,$+4
|
||||
ld a,27 ; ¯ ¥«ìë©
|
||||
ld (mt01+1),a
|
||||
inc a ; +0
|
||||
ld (met03+1),a
|
||||
ld (met07+1),a
|
||||
ld (met09+1),a
|
||||
ld (met12+1),a
|
||||
ld (AB6C7+1),a
|
||||
ld (AB75C+1),a
|
||||
ld (AB7E5+1),a
|
||||
inc a ; +1
|
||||
ld (metk04+1),a
|
||||
ld (metk05+1),a
|
||||
ld (metk06+1),a
|
||||
ld (metk07+1),a
|
||||
ld (metk08+1),a
|
||||
ld (metk09+1),a
|
||||
ld (metk10+1),a
|
||||
ld (metk11+1),a
|
||||
ld (metk12+1),a
|
||||
ld (metk13+1),a
|
||||
; „«¨ áâப¨
|
||||
; -2
|
||||
ld hl,78 ; ®à¬. ०¨¬
|
||||
dec c
|
||||
inc c
|
||||
jr z,$+5
|
||||
ld hl,36 ; ¯ ¥«ìë©
|
||||
ld a,l
|
||||
ld (loc20+1),a
|
||||
ld (loc22+1),a
|
||||
ld (loc21+1),hl
|
||||
ld (loc23+1),hl
|
||||
add a,2 ; +0
|
||||
ld (loc04+1),a
|
||||
ld (loc06+1),a
|
||||
ld (loc07+1),a
|
||||
ld (loc08+1),a
|
||||
ld (loc09+1),a
|
||||
ld (loc10+1),a
|
||||
ld (loc11+1),a
|
||||
ld (loc12+1),a
|
||||
ld (loc13+1),a
|
||||
ld (loc14+1),a
|
||||
ld (loc15+1),a
|
||||
ld (loc16+1),a
|
||||
ld (loc17+1),a
|
||||
ld (loc18+1),a
|
||||
ld (loc19+1),a
|
||||
ld (AB450+1),a
|
||||
inc a ; +1
|
||||
ld (loc30+1),a
|
||||
inc a ; +2
|
||||
ld l,a
|
||||
ld h,0
|
||||
ld (loc43+1),a
|
||||
ld (loc40+1),hl
|
||||
ld (loc41+1),hl
|
||||
ld (loc42+1),hl
|
||||
ld (loc44+1),hl
|
||||
ld (loc45+1),hl
|
||||
ld (AB8B5+1),hl
|
||||
; Šà ©¥¥ X «¥¢®¥ ¯®«®¦. ®ª ¯à¨ áªà®««¨£¥ ¢¯à ¢®
|
||||
ld a,255-80 ; 175 ®à¬. ०¨¬
|
||||
dec c
|
||||
inc c
|
||||
jr z,$+4
|
||||
ld a,255-38 ; ¯ ¥«ìë©
|
||||
ld (AB618+1),a
|
||||
ld (AB63A+1),a
|
||||
ret
|
||||
521
MAIN.ASM
Executable file
@ -0,0 +1,521 @@
|
||||
; <20>®á«¥¤¥¥ । ªâ¨à®¢ ¨¥: 4.01.2006
|
||||
;
|
||||
|
||||
; ‚ áâà ¨æ¥ (page_sys_screen) á®åà ¥¨ï á¨áâ. íªà ¨ ¢à¥¬¥®£®
|
||||
; á®åà ¥¨ï íªà ¬¥¥¤¦¥à , ¯® ¤à¥áã #E800 室ïâáï ¡ãä¥àë
|
||||
; ¤ ëå User-¬¥î. Žáâ ⮪ áâà ¨æë ¯®á«¥ ¢á¥£® ¬ áᨢ #0944 ¡ ©â.
|
||||
;
|
||||
; <20>ਠ᪠¨à®¢ ¨¨ ¯ ¯ª¨ (¯à®æ¥¤ãà ScanTree), ¤«ï ¢à¥¬. ¡ãä¥à ¢ë¤¥«ï¥âáï
|
||||
; 1 áâà ¨æ ¯ ¬ïâ¨. <20>®á«¥ ®âà ¡®âª¨ ¯à®æ¥¤ãàë, áâà ¨æ ®á¢®¡®¦¤ ¥âáï.
|
||||
;
|
||||
;
|
||||
; include 'shared_includes/constants/Sp2000.inc'
|
||||
|
||||
EDEPTH equ 36 ; ᫨誮¬ ¡®«ìè ï ¢«®¦. ¯ ¯®ª ¨«¨ >= 1024 ¯ ¯®ª
|
||||
EUABORT equ 37 ; User abort (®¯¥à æ¨ï ¯à¥à¢ ¯®«ì§®¢ ⥫¥¬)
|
||||
|
||||
max_len_comline equ 126;254 ; ¬ ªá. ¤«¨ ª®¬-áâப¨ (¡®«ìè¥ ¥ ¤¥« âì)
|
||||
history_size equ 128;256 ; à §¬¥à history-¡ãä¥à
|
||||
|
||||
|
||||
; €¤à¥á ᥪ権 ¢à¥¬. ¬ áᨢ 梥⮢ ¢ ¡ãä¥à¥
|
||||
;tmp_color_list equ work_buffer + 511 - len_color_array ; ç «® ¢à¥¬. ¬ áᨢ
|
||||
;color_list2 equ tmp_color_list + col_lst1
|
||||
;color_list3 equ color_list2 + col_lst2
|
||||
;color_list4 equ color_list3 + col_lst3
|
||||
;color_list5 equ color_list4 + col_lst4
|
||||
;color_list6 equ color_list5 + col_lst5
|
||||
;color_list7 equ color_list6 + col_lst6
|
||||
;color_list8 equ color_list7 + col_lst7
|
||||
;color_list9 equ color_list8 + col_lst8
|
||||
;color_list10 equ color_list9 + col_lst9
|
||||
;color_list11 equ color_list10 + col_lst10
|
||||
|
||||
|
||||
;---- –¢¥â ¬¥¥¤¦¥à ----
|
||||
; <20> ¥«ì
|
||||
color_pointer equ 3Fh ; 㪠§ ⥫ì
|
||||
color_markpoint equ 3Eh ; ¢ë¤¥«. 㪠§ ⥫ì
|
||||
color_panel equ 1Bh ; ¯ ¥«ì/ᯨ᮪ ä ©«®¢
|
||||
color_markfile equ 1Eh ; ¯®¬¥ç. ä ©«ë ᯨáª
|
||||
color_seltitle equ 3Fh ; ¢ë¤¥«. â¨â« ¯ ¥«¨
|
||||
color_title equ 1Eh ; â¨â« ª®«®®ª ¯ ¥«¨
|
||||
color_markline equ 3Eh ; ¨ä®à¬. áâப ®â¬¥ç. ä ©«®¢
|
||||
color_highlighted_info equ 1Eh ; ¤ ë¥ ¢ info/qview ¯ ¥«ïå
|
||||
color_info_names equ 1Fh ; ä ©«ë/¯ãâì ¢ info/qview ¯ ¥«ïå
|
||||
; ƒ®à¨§. ¬¥î
|
||||
color_hmenu equ 30h ; ¬¥î
|
||||
color_hmenu_pointer equ 0Fh ; 㪠§ ⥫ì
|
||||
color_hmenu_hotkey equ 0Eh ; hot-¡ãª¢ë
|
||||
; Pull-¬¥î
|
||||
color_vmenu equ 3Fh ; popup-¬¥î
|
||||
color_vmenu_pointer equ 0Fh ; 㪠§ ⥫¨ ¬¥î
|
||||
color_vmenu_hotkey equ 0Eh ; hot-¡ãª¢ë ¬¥î (¬«.¨¡¡«)
|
||||
; Key-¡ à
|
||||
kb_f equ 30h ; ¯ãªâë
|
||||
kb_b equ 0Eh ; hot-ç¨á«
|
||||
; Š®¬ ¤ ï áâப
|
||||
color_comline equ 07h
|
||||
; „¨ «. ®ª
|
||||
color_dial_win equ 70h ; ¤¨ «. ®ª
|
||||
color_dial_hotkey equ 0Eh ; hot-¡ãª¢ ¤¨ «. ®ª®
|
||||
color_sel_dial_title equ 30h ; Selected title ®¡ê¥ªâ ¤¨ «. ®ª
|
||||
color_info_win equ 70h ; info-®ª
|
||||
color_warn_win equ 4Fh ; warning/errors ®ª
|
||||
color_listbox equ 17h ; ListBox
|
||||
color_list_point equ 2Fh ; 㪠§ ⥫ï ListBox-
|
||||
color_list_hpoint equ 1Eh ; ¯®á«¥ 㪠§ ⥫ï
|
||||
color_vscrl_bar equ 13h ; áªà®««-¡ à ListBox-
|
||||
color_inputline equ 30h ; áâப ¢¢®¤
|
||||
color_selbuttons equ 30h ; ¢ë¤¥«. ¡ãâ®
|
||||
color_selbuttons_err equ 70h ; ¢ë¤¥«. ¡ãâ® Warning/Errors ®ª®
|
||||
color_shadow equ 03h ; â¥ì ®ª® (¥ áâà ¨¢ ¥âáï)
|
||||
; ‚ìî¥à
|
||||
color_viewer equ 1Bh ; Normal text
|
||||
color_viewer_seltext equ 30h ; Selected text
|
||||
color_viewer_status equ 30h ; Status line
|
||||
color_viewer_scrl_arrow equ 1Eh ; Scrolling arrows
|
||||
; <20>¥¤ ªâ®à
|
||||
color_editor equ 1Bh ; Normal text
|
||||
color_edit_seltext equ 30h ; Selected text
|
||||
color_edit_status equ 30h ; Status line
|
||||
; Žª® ¯®¬®é¨
|
||||
color_help equ 30h ; Normal text
|
||||
color_help_seltext equ 3Eh ; Highlighted text
|
||||
color_help_title equ 3Fh ; Title
|
||||
color_help_scrl_bar equ 30h ; Scrollbar
|
||||
; Žá⠫쮥
|
||||
color_process_line equ 30h ; «¨¥©ª ¯à®æ¥áá
|
||||
color_clock equ 30h ; ç áë
|
||||
; <20> áªà áª ä ©«®¢
|
||||
color_folder equ 1Fh ; ¯ ¯ª¨
|
||||
color_exe equ 1Ah ; ¨á¯®«ï¥¬ë¥ ä ©«ë (exe,bat)
|
||||
color_archive equ 1Dh ; à娢ë
|
||||
color_ro equ 17h ; ä ©«ë r/o, system
|
||||
color_hidden equ 13h ; áªàëâë¥ ä ©«ë
|
||||
color_spec equ 1Ch ; ᯥª-ä ©«ë (trd, scl)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; include 'version.inc' ; ¢¥àá¨ï ¬¥¥¤¦¥à
|
||||
|
||||
; export id_block
|
||||
; export len_modul1
|
||||
; export len_modul2
|
||||
; export len_modul3
|
||||
; export len_modul4
|
||||
; export len_modul5
|
||||
; export stack
|
||||
; export Xcoord
|
||||
; export Ycoord
|
||||
|
||||
|
||||
org 8000h
|
||||
|
||||
mod0: ; ¬¥âª ¤«ï ¢ëç¨á«. à §¬¥à
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
;
|
||||
; ’®çª ¢å®¤ ¢ ¬¥¥¤¦¥à
|
||||
;
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
|
||||
jp begin
|
||||
|
||||
|
||||
; •í¤«ë áâà ¨æ ¬¥¥¤¦¥à
|
||||
id_block: db -1 ; ¤¥áªà¨¯â®à ¢ë¤¥«. ¡«®ª ¯ ¬ïâ¨
|
||||
;
|
||||
page_sys_screen:db -1 ; +0 á¨áâ. íªà , +2800h ¤ ë¥ user-menu
|
||||
page_dial_screen:
|
||||
db -1 ; ¡ãä¥à á®åà. ¤¨ «. ®ª® ¨ ¢¥àâ. ¬¥î
|
||||
page_left_dir: db -1 ; ᯨ᮪ «¥¢®© ¯ ¥«¨
|
||||
page_right_dir: db -1 ; ᯨ᮪ ¯à ¢®© ¯ ¥«¨
|
||||
page_manager: db -1 ; ®á. ª®¤ ¬¥¥¤¦¥à
|
||||
page_module0: db -1 ; ¤à ©¢¥àë ª« ¢ë, ¬ë誨, ¤¨ «. ª®¤ á ®¡à ¡.
|
||||
page_module1: db -1 ; ®¯¨á ⥫¨ ¯ ¥«¥©
|
||||
page_spec: db -1 ; áâà ¨æ à §¡®à ᯥª-äãªæ¨©
|
||||
page_viewer: db -1 ; áâà ¨æ ¢ìî¥à
|
||||
db -1
|
||||
db 0 ; á⮯-¡ ©â
|
||||
;
|
||||
port_82: db -1 ; á®åà. ¯®àâ 82h
|
||||
port_E2: db -1 ; á®åà. ¯®àâ 0E2h
|
||||
port_89: db -1 ; á®åà. ¯®àâ 89h
|
||||
|
||||
|
||||
lastdrive: db 'B'-'A' ; ¯®á«¥¤¨© ¤¨áª ¢ á¨á⥬¥ (0..25)
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ „Ž‘-à¥áâ àâ
|
||||
;-------------------------------------------------
|
||||
int10: ex af,af'
|
||||
di
|
||||
ld a,(port_82) ; ¤®á-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ei
|
||||
ex af,af'
|
||||
rst 10h
|
||||
int__: ex af,af'
|
||||
di
|
||||
ld a,(page_module0)
|
||||
out (SLOT0),a ; ¢®ááâ. áâà. ¤à ©¢¥à®¢ ª« ¢ë, ¬ë誨
|
||||
ei
|
||||
ex af,af'
|
||||
ret
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ RST 18h
|
||||
;-------------------------------------------------
|
||||
int18: ex af,af'
|
||||
di
|
||||
ld a,(port_82) ; ¤®á-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ei
|
||||
ex af,af'
|
||||
rst 18h
|
||||
jr int__
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ RST 10h ¨§ ᯥª-áâà ¨æë
|
||||
;-------------------------------------------------
|
||||
alt10: ex af,af'
|
||||
di
|
||||
ld a,(port_82) ; ¤®á-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ei
|
||||
ex af,af'
|
||||
rst 10h
|
||||
alt__: ex af,af'
|
||||
di
|
||||
ld a,(page_spec)
|
||||
out (SLOT0),a ; ¢®ááâ. áâà.
|
||||
ei
|
||||
ex af,af'
|
||||
ret
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ RST 18h ¨§ ᯥª-áâà ¨æë
|
||||
;-------------------------------------------------
|
||||
alt18: ex af,af'
|
||||
di
|
||||
ld a,(port_82) ; ¤®á-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ei
|
||||
ex af,af'
|
||||
rst 18h
|
||||
jr alt__
|
||||
|
||||
|
||||
|
||||
include 'fview/fview.inc' ; ¯à®æ¥¤ãàë ¢ë室 ¨§ £«ï¤¥«ª¨
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; à ¡®ç¨© ¡ãä¥à ”Œ
|
||||
work_buffer: ds 512
|
||||
|
||||
|
||||
ds 80
|
||||
stack: ; á⥪ ”Œ
|
||||
|
||||
|
||||
|
||||
begin:
|
||||
; ã§ âì boot-¤¨áª á¨á⥬ë
|
||||
ld bc,0009h
|
||||
rst 10h
|
||||
add a,"A"
|
||||
ld (ccp_name),a ; launch.asm
|
||||
; ¨¨æ. ®¬¥à áâà ¨æ ¢ áâàãªâãà å ¯ ¥«¥©
|
||||
ld a,(page_left_dir)
|
||||
ld (cash_left_dir),a
|
||||
ld a,(page_right_dir)
|
||||
ld (cash_right_dir),a
|
||||
; ¢ª«. ¢ #4000 áâà. ”Œ
|
||||
ld a,(page_module1)
|
||||
out (SLOT1),a
|
||||
; á®åà. ⥪. ¤¨áª
|
||||
ld c,2
|
||||
rst 10h
|
||||
ld (save_disk),a
|
||||
; á®åà. ⥪ã騩 ¯ãâì
|
||||
ld hl,save_path
|
||||
ld c,1Eh
|
||||
rst 10h
|
||||
|
||||
|
||||
include 'shell.asm' ; ä ©«¥à
|
||||
include 'mod2/fillstr.asm' ; § ¯®«¥¨¥ áâப¨ ä ©«¥à
|
||||
include 'mod2/event.asm' ; ç⥨¥ ᮡë⨩
|
||||
include 'mod2/mouse.asm' ; ¬ëèª
|
||||
include 'mod2/keybar.asm' ; key-¡ à
|
||||
include 'mod2/clock.asm' ; ç áë ¯ ¥«¥©
|
||||
include 'mod2/setup.asm' ; ç⥨¥/§ ¯¨áì ini-ä ©« , mnu-ä ©«
|
||||
include 'mod2/space.asm' ; ᢮¡. ®¡ê¥¬ ¤¨áª
|
||||
include 'mod2/hilight.asm' ; ¯®¤á¢¥âª ä ©«®¢
|
||||
include 'mod2/readdsk.asm' ; ç⥨¥ ®¢®© ¯ ¯ª¨
|
||||
include 'mod2/enter.asm' ; ®¡à ¡®âª ¦ â¨ï <Enter>
|
||||
include 'mod2/launch.asm' ; § ¯ãáª ä ©«®¢
|
||||
include 'mod2/pos.asm' ; ¯®§¨æ. 㪠§ â¥«ï ¯®á«¥ ᬥë ᯨáª
|
||||
include 'mod2/utils.asm' ; ¢á¯®¬. ¯à®æ¥¤ãàë
|
||||
include 'mod2/copy.asm' ; ª®¯¨à®¢ ¨¥ ä ©«®¢
|
||||
include 'mod2/info.asm' ; info-०¨¬ ¯ ¥«¨
|
||||
include 'mod2/qview.asm' ; qview-०¨¬ ¯ ¥«¨
|
||||
include 'mod2/mkdir.asm' ; á®§¤ ¨¥ ¯ ¯ª¨ (F7)
|
||||
include 'mod2/delete.asm' ; 㤠«¥¨¥ ä ©« /¯ ¯ª¨ (F8)
|
||||
include 'mod2/rename.asm' ; ¯¥à¥¨¬¥®¢ ¨¥ ä ©« (F6)
|
||||
|
||||
include 'mod2/debug.asm'
|
||||
|
||||
|
||||
|
||||
; <20>¥¦¨¬ à ¡®âë ¢ìî¥à
|
||||
viewer_mode: db 0 ; 0=®¡ëçë©, 1=¯ ¥«ìë©
|
||||
|
||||
attr_record: db 0 ; âਡãâ ⥪. § ¯¨á¨ ᯨ᪠ª â «®£
|
||||
|
||||
del_confirm: db true ; ä« £ ¯®¤â¢. 㤠«¥¨ï ä ©«®¢/¯ ¯®ª
|
||||
|
||||
flag_del_non_empty:
|
||||
db true ; ä« £ ¯®¤â¢. 㤠«¥¨ï ¥ ¯ãáâëå ¯ ¯®ª
|
||||
|
||||
move_home_end: db false ; ä« £ ®âà ¡®âª¨ Home/End ¯à¨ ®âªà. ¯ ¥«ïå
|
||||
|
||||
enable_mnu_file:db false ; ä« £ «¨ç¨ï mnu-ä ©«
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘â ¤ àâë© ¢ë室 ¢ „Ž‘
|
||||
;-------------------------------------------------
|
||||
exit: ld a,b
|
||||
ld (return_code+1),a ; á®åà. ª®¤ ¢®§¢à â
|
||||
; ¢®ááâ. „Ž‘-áâà ¨æã
|
||||
di
|
||||
ld a,(port_82)
|
||||
out (SLOT0),a
|
||||
ei
|
||||
; ¯®«®¦. á¨áâ. ¬ë誨 ¯® ¬¥áâ®¬ã ¤à ©¢¥àã
|
||||
Xcoord+1: ld hl,0 ; ª®®à¤¨ â X (0..639)
|
||||
Ycoord+1: ld de,0 ; ª®®à¤¨ â Y (0..255)
|
||||
ld c,4 ; ãáâ. ¯®«®¦. ¬ë誨
|
||||
rst 30h
|
||||
; ãáâ. á¨áâ. ¤¨áª ¨ ¯ãâì ªâ. ¯ ¥«¨
|
||||
call set_path_from_activ_panel
|
||||
; ¢®ááâ. § 票¥ ¯®àâ
|
||||
ld a,(port_89)
|
||||
out (89h),a
|
||||
; ¢®ááâ. á¨áâ. íªà
|
||||
ld c,0B3h
|
||||
ld a,(page_sys_screen) ; áâà ¨æ ¡ãä¥à
|
||||
call screen__
|
||||
; ¢®ááâ. § 票¥ ¯®àâ
|
||||
ld a,(port_E2)
|
||||
out (SLOT3),a
|
||||
; ¢®ááâ. ¯®«®¦. ªãàá®à á¨áâ. íªà
|
||||
sys_cursor_coords:
|
||||
ld de,0
|
||||
ld c,84h
|
||||
rst 08h
|
||||
; ®á¢®¡. ¢ë¤¥«¥ë© ¡«®ª ¯ ¬ïâ¨
|
||||
ld a,(id_block)
|
||||
ld c,3Eh
|
||||
rst 10h
|
||||
; ®ç¨áâ¨âì ¡ãä¥à á¨áâ. ª« ¢ë
|
||||
ld bc,3135h
|
||||
rst 10h
|
||||
return_code: ld b,0 ; ª®¤ ¢®§¢à â
|
||||
ld c,41h
|
||||
rst 10h
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘®åà ¨âì/¢®ááâ. ¯®«ë© á¨áâ¥¬ë© íªà
|
||||
;-----------------------------------------------------------
|
||||
; ¢å®¤: C = #B2/#B3 á®åà./¢®ááâ. íªà
|
||||
; A = ®¬¥à áâà ¨æë ¡ãä¥à ®ª
|
||||
screen__: ld hl,2050h ; ¢ëá®â /è¨à¨ íªà
|
||||
scrn1__: ld ix,0C000h ; ¤à¥á ¡ãä¥à ¤«ï ¤ ëå
|
||||
scrn2__: ld b,a
|
||||
xor a ; ¨¤¥â¨ä. £«®¡. ®ª
|
||||
ld e,a ; X ¯®«®¦.
|
||||
ld d,a ; Y ¯®«®¦.
|
||||
di
|
||||
rst 08h
|
||||
ei
|
||||
ret
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘®åà ¨âì/¢®ááâ. á¨áâ¥¬ë© íªà ¤® ª®¬. áâப¨
|
||||
;-----------------------------------------------------------
|
||||
; ¢å®¤: C = #B2/#B3 á®åà./¢®ááâ. íªà
|
||||
; A = ®¬¥à áâà ¨æë ¡ãä¥à ®ª (page_sys_screen)
|
||||
screen1__: ld hl,1E50h ; ¢ëá®â /è¨à¨ íªà
|
||||
jr scrn1__
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘®åà ¨âì/¢®ááâ. ¯®«ë© íªà ¬¥¥¤¦¥à
|
||||
;-----------------------------------------------------------
|
||||
; in: c=#B2/#B3 á®åà./¢®ááâ. íªà
|
||||
; a=®¬¥à áâà ¨æë ¡ãä¥à ®ª (page_sys_screen)
|
||||
screen2__: ld hl,2050h ; ¢ëá®â /è¨à¨ íªà
|
||||
ld ix,0C000h+1400h ; ç «® íªà ¬¥¥¤¦¥à
|
||||
jr scrn2__
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; <20>¥áâ àâ ¤«ï Œ¥î ¨ ¤¨ «. ®ª®
|
||||
;-----------------------------------------------------------
|
||||
scrn4__: ld b,a
|
||||
scrn5__: xor a ; ¨¤¥â¨ä. £«®¡. ®ª
|
||||
di
|
||||
rst 08h
|
||||
ei
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
mod1: ; ¬¥âª ¤«ï ¢ëç¨á«. à §¬¥à
|
||||
|
||||
;===========================================================
|
||||
; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 1
|
||||
; „à ©¢¥àë ª« ¢ë, ¬ë誨, ®¡à ¡®â稪 ¤¨ «. ®ª®, tv-®¡ê¥ªâë
|
||||
;===========================================================
|
||||
; ¢á¥£¤ ¯®¤ª«îç¥ (ªà®¬¥ ¢ë§®¢®¢ rst 10h, rst 18h)
|
||||
|
||||
phase 0000h
|
||||
|
||||
include 'mod0/vectors.asm' ; ¢¥ªâ®àë ¯à¥àë¢ ¨©
|
||||
include 'mod0/keybdrv.asm' ; ¤à ©¢¥à ª« ¢ë
|
||||
include 'mod0/cursor.asm' ; ¯à®£à ¬¬ë© ªãàá®à
|
||||
include 'mod0/mousedrv.asm' ; ¤à ©¢¥à ¬ë誨
|
||||
|
||||
include 'objs/dialog.asm' ; ®¡à ¡®â稪 ¤¨ «. ®ª®
|
||||
include 'objs/button.asm' ; ®¡ê¥ªâ ~Button~
|
||||
include 'objs/inline.asm' ; ®¡ê¥ªâë ~Input Line~, ~Inp Line~
|
||||
include 'objs/listbox.asm' ; ®¡ê¥ªâ ~List Box~
|
||||
include 'objs/radio.asm' ; ®¡ê¥ªâë ~Radio Button~, ~Check Box~
|
||||
include 'objs/process.asm' ; ®¡ê¥ªâ ~Process Line~
|
||||
include 'objs/pallete.asm' ; ®¡ê¥ªâ ~Pallete~
|
||||
include 'objs/dialog1.asm' ; ®¡ê¥ªâë ~Text Line~, ~Horiz. Line~
|
||||
include 'objs/hmenu.asm' ; Œ¥î: "Horizontal", "Pull", "Select disk"
|
||||
include 'objs/umenu.asm' ; ¢ë§®¢ User-Menu
|
||||
|
||||
include 'mod0/chdisk.asm' ; ¢ë§®¢ ¬¥î Select Disk
|
||||
include 'mod0/listdrv.asm' ; ¨¨æ. ᯨ᮪ ⨯®¢ ¤¨áª®¢
|
||||
include 'mod0/usermenu.asm' ; ¯®¤£®â®¢ª Œ¥î <20>®«ì§®¢ ⥫ï
|
||||
|
||||
dephase
|
||||
|
||||
mod2:
|
||||
|
||||
;===========================================================
|
||||
; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 2
|
||||
;===========================================================
|
||||
; ¯®áâ®ï® ¢ª«îç¥
|
||||
|
||||
phase 4000h
|
||||
|
||||
include 'mod1/buffers.asm' ; à ¡. ¡ãä¥àë ®¡ê¥ªâ®¢
|
||||
include 'mod1/comline.asm' ; ª®¬-áâப
|
||||
include 'mod1/width.asm' ; ®£à . ¤«¨ë ¯ã⨠¯ ¥«¨
|
||||
include 'mod1/sort.asm' ; á®àâ¨à®¢ª ᯨáª
|
||||
include 'mod1/tree.asm' ; ᪠¨à®¢ ¨¥ ¯ ¯ª¨
|
||||
include 'mod1/pullcmnd.asm' ; ¯¥à¥å®¤ë ¢ë¯®«. pull-¯ãªâ®¢
|
||||
include 'mod1/seldrv.asm' ; ¢ë¡®à «¥¢®£®/¯à ¢®£® ¤¨áª®¢ ¯ ¥«¥©
|
||||
include 'mod1/intrface.asm' ; áâனª "Interface settings"
|
||||
include 'mod1/confirm.asm' ; áâனª "Confirmations"
|
||||
include 'mod1/color.asm' ; áâனª "Colors"
|
||||
include 'mod1/setcolor.asm' ; áâனª 梥⮢ ”Œ
|
||||
include 'mod1/panels.z80' ; ®¯¨á ⥫¨ ä®à¬ ⮢ ¯ ¥«¥©
|
||||
include 'mod1/info.z80' ; ®¯¨á ⥫ì info-¯ ¥«¨
|
||||
include 'mod1/info2.z80' ; ®¯¨á ⥫ì info-¯ ¥«¨ ᯥª-ä®à¬ â
|
||||
include 'mod1/qview.z80' ; ®¯¨á ⥫ì qview-¯ ¥«¨
|
||||
include 'mod1/hmenu.z80' ; ®¯¨á ⥫¨ £®à¨§/pull ¬¥î
|
||||
include 'mod1/chdisk.z80' ; ®¯¨á â¥«ì ®ª Select Disk
|
||||
include 'mod1/umenu.z80' ; ®¯¨á â¥«ì ®ª User Menu
|
||||
include 'mod1/intrface.z80' ; ®¯¨á â¥«ì ®ª "Interface settings"
|
||||
include 'mod1/confirm.z80' ; ®¯¨á â¥«ì ®ª "Confirmations"
|
||||
include 'mod1/color.z80' ; ®¯¨á â¥«ì ®ª "Colors"
|
||||
include 'mod1/quit.z80' ; ®¯¨á â¥«ì ®ª ¢ë室 ¨§ ”Œ
|
||||
include 'mod1/space.z80' ; ®¯¨á â¥«ì ®ª "Calc. free space disk"
|
||||
include 'mod1/abort.z80' ; ®¯¨á â¥«ì ®ª "Operation has been interrupted"
|
||||
include 'mod1/dialerr.z80' ; ®¯¨á ⥫¨ ®ª® ®è¨¡®ª
|
||||
include 'mod1/copy.z80' ; ®¯¨á ⥫¨ ®ª® ª®¯¨à®¢ ¨ï
|
||||
include 'mod1/mkdir.z80' ; ®¯¨á â¥«ì ®ª á®§¤ ¨ï ¯ ¯ª¨
|
||||
include 'mod1/delete.z80' ; ®¯¨á â¥«ì ®ª 㤠«¥¨¥ ä ©« /¯ ¯ª¨
|
||||
include 'mod1/rename.z80' ; ®¯¨á â¥«ì ®ª ¯¥à¥¨¬¥. ä ©«
|
||||
dephase
|
||||
|
||||
mod3:
|
||||
|
||||
;===========================================================
|
||||
; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 3. ‘¯¥ª-ª®¤
|
||||
;===========================================================
|
||||
; ¯®¤ª«. ¢à¥¬ï ¢ë§®¢ ᯥª-äãªæ¨©
|
||||
|
||||
phase 0000h
|
||||
|
||||
include 'spec/vect.asm' ; ¢¥ªâ®àë
|
||||
include 'spec/funcs.asm' ; ᯥª-äãªæ¨¨
|
||||
|
||||
dephase
|
||||
|
||||
mod4:
|
||||
|
||||
;===========================================================
|
||||
; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 4. ‚ìî¥à
|
||||
;===========================================================
|
||||
; ¯®¤ª«. ¢à¥¬ï ¢ë§®¢ ¢ìî¥à
|
||||
|
||||
phase 4000h
|
||||
|
||||
include 'fview/fview.asm' ; ¢ìî¥à
|
||||
include 'fview/msfview.asm' ; ᮡëâ¨ï ¬ë誨
|
||||
include 'fview/setview.asm' ; áâனª ¢ìî¥à
|
||||
include 'fview/chfont.asm' ; win-1251, koi8-r ª®¤®¢ë¥ â ¡«¨æë
|
||||
include 'fview/fview.z80' ; ®¯¨á â¥«ì ®ª "Reading file..."
|
||||
|
||||
dephase
|
||||
|
||||
|
||||
|
||||
|
||||
; €¤à¥á ᥪ権 ¢à¥¬. ¬ áᨢ 梥⮢ ¢ ¡ãä¥à¥
|
||||
tmp_color_list equ work_buffer + 511 - len_color_array ; ç «® ¢à¥¬. ¬ áᨢ
|
||||
color_list2 equ tmp_color_list + col_lst1
|
||||
color_list3 equ color_list2 + col_lst2
|
||||
color_list4 equ color_list3 + col_lst3
|
||||
color_list5 equ color_list4 + col_lst4
|
||||
color_list6 equ color_list5 + col_lst5
|
||||
color_list7 equ color_list6 + col_lst6
|
||||
color_list8 equ color_list7 + col_lst7
|
||||
color_list9 equ color_list8 + col_lst8
|
||||
color_list10 equ color_list9 + col_lst9
|
||||
color_list11 equ color_list10 + col_lst10
|
||||
|
||||
|
||||
|
||||
|
||||
addr_id_block equ id_block ; ¤à¥á ï祩ª¨ id_block
|
||||
len_modul1 equ mod1 - mod0 ; à §¬¥à ®á. ª®¤ (#8000)
|
||||
len_modul2 equ mod2 - mod1 ; à §¬¥à ¬®¤ã«ï (#0000)
|
||||
len_modul3 equ mod3 - mod2 ; à §¬¥à ¬®¤ã«ï (#4000)
|
||||
len_modul4 equ mod4 - mod3 ; à §¬¥à ᯥª-¬®¤ã«ï (#0000)
|
||||
len_modul5 equ $ - mod4 ; à §¬¥à ¢ìî¥à (#4000)
|
||||
51
MOD0/CHDISK.ASM
Executable file
@ -0,0 +1,51 @@
|
||||
;/////////////////////////////////////////////////
|
||||
; ‹¥¢®¥ ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
;/////////////////////////////////////////////////
|
||||
select_left_drive:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
call make_struct_drives ; á®§¤ âì ®¯¨á â¥«ì ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
ld hl,disk ; ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld de,format_mode ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
ld a,(cur_panel) ; ⥪. ¯ ¥«ì
|
||||
or a
|
||||
jr z,$+8 ; ªâ. «¥¢ ï
|
||||
ld hl,disk1 ; ¤¨áª ¯ áá. ¯ ¥«¨
|
||||
ld de,format_mode1 ; ä®à¬ â ¯ áá. ¯ ¥«¨
|
||||
ld (set_ldrive_dsk+1),hl
|
||||
ld (set_ldrive_frm+1),de
|
||||
ld a,(hl) ; ®¬¥à ¤¨áª (¯®«®¦. ¯ãªâ ¬¥î)
|
||||
inc a
|
||||
ld hl,table_left_drive ; â ¡«¨æ ¬¥î ¢ë¡®à
|
||||
call put_menu_select ; ®âà¨á®¢ª ¬¥î
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
call event_menu_select ; ®¡à ¡®â稪 ᮡë⨩ ¬¥î
|
||||
; ãáâ. ¤¨áª ¯ ¥«¨
|
||||
jp set_left_drive ; seldrv.asm
|
||||
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////
|
||||
; <20>à ¢®¥ ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
;/////////////////////////////////////////////////
|
||||
select_right_drive:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
call make_struct_drives ; á®§¤ âì ®¯¨á â¥«ì ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
ld hl,disk ; ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld de,format_mode ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
ld a,(cur_panel) ; ⥪. ¯ ¥«ì
|
||||
or a
|
||||
jr nz,$+8 ; ªâ. ¯à ¢ ï
|
||||
ld hl,disk1 ; ¤¨áª ¯ áá. ¯ ¥«¨
|
||||
ld de,format_mode1 ; ä®à¬ â ¯ áá. ¯ ¥«¨
|
||||
ld (set_rdrive_dsk+1),hl
|
||||
ld (set_rdrive_frm+1),de
|
||||
ld a,(hl) ; ®¬¥à ¤¨áª (¯®«®¦. ¯ãªâ ¬¥î)
|
||||
inc a
|
||||
ld hl,table_right_drive ; â ¡«¨æ ¬¥î ¢ë¡®à
|
||||
call put_menu_select ; ®âà¨á®¢ª ¬¥î
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
call event_menu_select ; ®¡à ¡®â稪 ᮡë⨩ ¬¥î
|
||||
; ãáâ. ¤¨áª ¯ ¥«¨
|
||||
jp set_right_drive ; seldrv.asm
|
||||
62
MOD0/CURSOR.ASM
Executable file
@ -0,0 +1,62 @@
|
||||
CursorPos:
|
||||
dw 1E00h ; Y/X ¯®§¨æ¨ï ªãàá®à (íªà . ª®®à¤.)
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Šãàá®à ®¡ê¥ªâ "Input Line" ¨ äãªæ¨¨ "Command Line"
|
||||
;-----------------------------------------------------------
|
||||
PrnILCr:db 3Eh ; ld a,..
|
||||
Timer: db 1 ; ¯ ã§ ¬¨£ ¨ï
|
||||
dec a
|
||||
call z,PutILCr
|
||||
ld (Timer),a
|
||||
ret
|
||||
|
||||
|
||||
PutILCr:db 3Eh ; ld a,..
|
||||
Flag: db 0 ; ä« £ ªãàá®à 00-¥â/01-¥áâì
|
||||
cpl
|
||||
ld (Flag),a
|
||||
PILCurs:ld de,(CursorPos) ; Y/X ¯®§¨æ¨ï ªãàá®à
|
||||
ld (CursPos1+1),de
|
||||
xor a
|
||||
ld c,0B4h ; ¯®«ãç¨âì ᨬ¢®«
|
||||
rst 08h
|
||||
ld bc,1BB5h ; b=§ ª®£¥., á=ᨬ¢®« íªà
|
||||
ld a,(Flag)
|
||||
or a
|
||||
jr z,curs__
|
||||
ld b,1Ah ; ç¥àâ
|
||||
ld a,(D0642) ; ä« £¨ ª« ¢ë
|
||||
bit 1,a ; ¡¨â Ins
|
||||
jr nz,$+4
|
||||
ld b,19h ; ¡«®ª
|
||||
curs__: xor a ; ®¬¥à ®ª
|
||||
rst 08h
|
||||
ld a,1
|
||||
ld (CurILFl),a ; a=1
|
||||
ld a,11
|
||||
ret
|
||||
|
||||
; ‚몫îç¨âì ªãàá®à
|
||||
ResILCr:db 3Eh ; ld a,..
|
||||
CurILFl:db 0 ; ä« £ ªãàá®à 00-¢ëª«/01-¢ª«
|
||||
or a
|
||||
ret z
|
||||
ld a,-1
|
||||
ld (Flag),a
|
||||
inc a
|
||||
ld (CurILFl),a
|
||||
ld a,11
|
||||
ld (Timer),a
|
||||
CursPos1:
|
||||
ld de,0 ; Y/X ¯®«®¦.
|
||||
bit 7,e
|
||||
ret nz
|
||||
ld c,0B4h ; ¯®«ãç¨âì ᨬ¢®«
|
||||
xor a
|
||||
rst 08h
|
||||
xor a
|
||||
ld bc,1BB5h ; ᨬ¢®« íªà
|
||||
rst 08h
|
||||
ret
|
||||
649
MOD0/KEYBDRV.ASM
Executable file
@ -0,0 +1,649 @@
|
||||
; Œ¥âª¨ T0600 ¨ A0900 ¢ëà ¢¨¢ îâáï £à ¨æã xx00h!
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; RST 20h. „à ©¢¥à ª« ¢¨ âãàë
|
||||
KeybDrv:or a ; a=0 ¨¨æ. ª« ¢ã
|
||||
jp z,init_keyb
|
||||
dec a ; a=1 ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
jr z,func_35
|
||||
dec a ; a=2 ®¯à®á ¡¥§ ®¦¨¤ ¨ï
|
||||
jr z,func_31
|
||||
;dec a ; a=3 â¥áâ ¦ â¨ï ª« ¢¨è¨ (NZ-¤ , Z-¥â)
|
||||
jr func_33
|
||||
;ret
|
||||
|
||||
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #31. ޝà®á ª« ¢¨ âãàë ¡¥§ ®¦¨¤ ¨ï.
|
||||
;
|
||||
; ¢ë室: A=ª®¤ ᨬ¢®«
|
||||
; D=᪥-ª®¤, …=ª®¤ ᨬ¢®«
|
||||
; B=¡¨âë Ctrl,Alt,Shift
|
||||
; Z - ¥â ª« ¢¨è
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
func_31:;ld hl,D0641
|
||||
;ld a,(D0640)
|
||||
;cp (hl)
|
||||
;ret z ; ¥â ª« ¢¨è¨
|
||||
call A06FC
|
||||
ld a,e
|
||||
ret
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #33. <20>®«ãç¨âì á®áâ®ï¨¥ ª« ¢¨ âãàë.
|
||||
; ‚®§¢à é ¥â á®áâ®ï¨¥ ª« ¢¨ âãàë ¤ ë© ¬®¬¥â.
|
||||
;
|
||||
; ¢ë室: Z - ¥â ᨬ¢®«®¢ ¢ ¡ãä¥à¥
|
||||
; B=¡¨âë Ctrl,Alt,Shift
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
func_33:ld hl,D0641
|
||||
ld a,(D0640)
|
||||
cp (hl)
|
||||
ld bc,(D0642) ; ä« £¨ ª« ¢ë
|
||||
ld a,0
|
||||
ret z ; z - ¥ ¦ â
|
||||
dec a ; nz - ¦ â
|
||||
ret
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #35. Žç¨áâ¨âì ¡ãä¥à ª« ¢¨ âãàë
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
func_35:ld a,(D0641)
|
||||
ld (D0640),a
|
||||
ret
|
||||
|
||||
|
||||
|
||||
ds 0100h-$ ; ¢ë஢¨âì £à ¨æã xx00h
|
||||
|
||||
; à ¡. ï祩ª¨ ª« ¢ë
|
||||
|
||||
T0600: ds 64
|
||||
;
|
||||
D0640: db 0 ; ⥪. ¤à¥á ª®æ ª®«ìæ. ¡ãä¥à ?
|
||||
D0641: db 0 ; ¤à¥á ç « ª®«ìæ. ¡ãä¥à ?
|
||||
; ä« £¨ ª« ¢ë
|
||||
D0642: db 2
|
||||
db 0
|
||||
db 0
|
||||
db 3
|
||||
;
|
||||
D0646: dw 0
|
||||
|
||||
|
||||
A06DD: ld hl,D0640
|
||||
ld a,(D0641)
|
||||
sub 4
|
||||
and 3Fh ; ®£à ¨ç¨âì ¤à¥á ª®æ ª®«ìæ. ¡ãä¥à
|
||||
cp (hl)
|
||||
jr z,A0716 ; ª®¥æ ª®«ìæ. ¡ãä¥à
|
||||
ld a,(hl)
|
||||
inc (hl) ; ï祩ª D0640
|
||||
inc (hl)
|
||||
inc (hl)
|
||||
inc (hl)
|
||||
res 6,(hl) ; § 票¥ 40h -> 00h (á¡à. ª®¥æ ª®«ìæ. ¡ãä¥à ?)
|
||||
ld l,a
|
||||
ld h,T0600 / 256 ; 06h áâ. ¡ ©â ¤à¥á
|
||||
ld (hl),e
|
||||
inc l
|
||||
ld (hl),d
|
||||
inc l
|
||||
ld (hl),b
|
||||
inc l
|
||||
ld (hl),c
|
||||
ret
|
||||
|
||||
A06FC: ld hl,D0641
|
||||
ld a,(D0640)
|
||||
cp (hl)
|
||||
ret z ; ¥â ª« ¢¨è¨
|
||||
ld a,(hl)
|
||||
inc (hl)
|
||||
inc (hl)
|
||||
inc (hl)
|
||||
inc (hl)
|
||||
res 6,(hl) ; § 票¥ 40h -> 00h (á¡à. ª®¥æ ª®«ìæ. ¡ãä¥à ?)
|
||||
ld l,a
|
||||
ld h,T0600 / 256 ; 06h áâ. ¡ ©â ¤à¥á
|
||||
ld e,(hl)
|
||||
inc l
|
||||
ld d,(hl)
|
||||
inc l
|
||||
ld b,(hl)
|
||||
inc l
|
||||
ld c,(hl)
|
||||
ret
|
||||
|
||||
; ¡¨¯
|
||||
A0716: ex af,af'
|
||||
bit 0,(ix+3)
|
||||
jr z,A0728
|
||||
exx
|
||||
ld de,230 ; § ¤¥à¦ª ¢ãâà. 横«
|
||||
ld hl,50 ; § ¤¥à¦ª ¢¥è. 横«
|
||||
call beep ; §¢ãª
|
||||
exx
|
||||
A0728: ex af,af'
|
||||
ret
|
||||
|
||||
|
||||
|
||||
A072A: set 7,(ix+2)
|
||||
jr A0740
|
||||
|
||||
A0730: set 6,(ix+2) ; ãáâ. ¡¨â "®â¦ â "
|
||||
jr A0740
|
||||
|
||||
A0736: set 5,(ix+2)
|
||||
jr A0740
|
||||
|
||||
; ᪠¨à®¢ ¨¥ ª« ¢ë
|
||||
keyb_scan:
|
||||
ld ix,D0642 ; ä« £¨ ª« ¢ë
|
||||
A0740: in a,(19h) ; ¯®àâ áâ âãá
|
||||
bit 0,a ; 0-bit, ¡ ©â ¯à¨è¥« ?
|
||||
ret z ; ¥â
|
||||
ld a,1
|
||||
ld (KeyPres+1),a ; ¤à ©¢¥à ¬ë誨
|
||||
in a,(18h)
|
||||
cp 0F0h ; ª« ¢¨è ®â¦ â ?
|
||||
jr z,A0730 ; ¤
|
||||
cp 0E0h
|
||||
jr z,A072A ;7bit
|
||||
cp 0E1h ; Pause
|
||||
jr z,A0736 ;5bit
|
||||
bit 6,(ix+2)
|
||||
jr nz,A07B3
|
||||
ld l,a
|
||||
call A0990
|
||||
call A0892
|
||||
res 7,(ix+2)
|
||||
res 5,(ix+2)
|
||||
ret z
|
||||
call A09B4
|
||||
;
|
||||
ld hl,1C00h ; Caps Lock
|
||||
and a
|
||||
sbc hl,de
|
||||
call z,A07C8
|
||||
ld hl,0B800h ; Space + Ctrl, Alt
|
||||
and a
|
||||
sbc hl,de
|
||||
call z,A07D1
|
||||
ld hl,5000h ; Ins
|
||||
and a
|
||||
sbc hl,de
|
||||
call z,A07EF
|
||||
ld hl,4900h ; Num Lock
|
||||
and a
|
||||
sbc hl,de
|
||||
call z,A07F8 ; ¨¢. 3-© ¡¨â (¡¨â Num Lock)
|
||||
ld hl,0C900h ; Pause ¨«¨ Num Lock+80h (Num Lock+Ctrl/Atl/Shift)
|
||||
and a
|
||||
sbc hl,de
|
||||
call z,A0801
|
||||
ld hl,4800h ; Scroll Lock
|
||||
and a
|
||||
sbc hl,de
|
||||
call z,A081E ; ¨¢. 2-© ¡¨â (¡¨â Scroll Lock)
|
||||
ld hl,0CF00h ; Del+80h (á Shift)
|
||||
and a
|
||||
sbc hl,de
|
||||
call z,reboot_system ; â¥áâ Ctrl+Alt
|
||||
ld bc,(D0642) ; ä« £¨ ª« ¢ë
|
||||
jp A06DD
|
||||
;call A06DD ; á®åà. de,bc ¢ ª®«ìæ. ¡ãä¥à¥ ª« ¢ë
|
||||
;ret ; ¥ ®¯â¨¬¨§¨âì
|
||||
|
||||
A07B3: res 6,(ix+2)
|
||||
ld l,a
|
||||
call A0990
|
||||
call A0837
|
||||
res 7,(ix+2)
|
||||
ld h,0
|
||||
ld (D0646),hl
|
||||
ret
|
||||
|
||||
A07C8: ld a,(ix+0)
|
||||
xor 1
|
||||
ld (ix+0),a
|
||||
ret
|
||||
|
||||
A07D1: bit 5,(ix+1) ; ¡¨â Ctrl
|
||||
ret z
|
||||
ld a,(ix+0)
|
||||
xor 80h ; 7-© ¡¨â (1=RUS,0=LAT)
|
||||
ld (ix+0),a
|
||||
bit 1,(ix+3)
|
||||
ret z
|
||||
exx
|
||||
ld de,190 ; § ¤¥à¦ª ¢ãâà. 横«
|
||||
ld hl,20 ; § ¤¥à¦ª ¢¥è. 横«
|
||||
call beep ; §¢ãª
|
||||
exx
|
||||
ret
|
||||
|
||||
A07EF: ld a,(ix+0)
|
||||
xor 2 ; 1-© ¡¨â (Ins)
|
||||
ld (ix+0),a
|
||||
ret
|
||||
|
||||
A07F8: ld a,(ix+0)
|
||||
xor 8 ; 3-© ¡¨â
|
||||
ld (ix+0),a
|
||||
ret
|
||||
|
||||
; Pause ¨«¨ Num Lock + Ctrl, Atl, Shift
|
||||
A0801: bit 5,(ix+1) ; ¡¨â Ctrl ?
|
||||
ret z ; ¥â
|
||||
; pop hl ; ??
|
||||
ld a,(ix+0)
|
||||
xor 40h ; 6-© ¡¨â
|
||||
ld (ix+0),a
|
||||
bit 6,(ix+0)
|
||||
ret z
|
||||
ei
|
||||
A0815: halt
|
||||
bit 6,(ix+0)
|
||||
jr nz,A0815
|
||||
di
|
||||
ret
|
||||
|
||||
A081E: ld a,(ix+0)
|
||||
xor 4
|
||||
ld (ix+0),a
|
||||
ret
|
||||
|
||||
; ª« ¢¨è Del
|
||||
reboot_system:
|
||||
;bit 5,(ix+1) ; ¡¨â Ctrl
|
||||
;ret z
|
||||
;bit 4,(ix+1) ; ¡¨â Alt
|
||||
;ret z
|
||||
ld c,00110000b ; ¡¨âë Ctrl, Alt
|
||||
ld a,(ix+1)
|
||||
and c
|
||||
cp c
|
||||
ret nz
|
||||
; á®äâ®¢ë© à¥¡ãâ
|
||||
xor a
|
||||
ld bc,01FDh
|
||||
rst 08h
|
||||
ret
|
||||
;db 0,0;
|
||||
|
||||
A0837: ld a,l
|
||||
cp 37h
|
||||
jr nz,A084A
|
||||
res 2,(ix+1)
|
||||
bit 0,(ix+1)
|
||||
ret nz
|
||||
res 4,(ix+1)
|
||||
ret
|
||||
;
|
||||
A084A: cp 39h
|
||||
jr nz,A085C
|
||||
res 0,(ix+1)
|
||||
bit 2,(ix+1)
|
||||
ret nz
|
||||
res 4,(ix+1)
|
||||
ret
|
||||
;
|
||||
A085C: cp 36h
|
||||
jr nz,A086E
|
||||
res 3,(ix+1)
|
||||
bit 1,(ix+1)
|
||||
ret nz
|
||||
res 5,(ix+1)
|
||||
ret
|
||||
;
|
||||
A086E: cp 3Ah
|
||||
jr nz,A0880
|
||||
res 1,(ix+1)
|
||||
bit 3,(ix+1)
|
||||
ret nz
|
||||
res 5,(ix+1)
|
||||
ret
|
||||
;
|
||||
A0880: cp 29h
|
||||
jr nz,A0889
|
||||
res 7,(ix+1)
|
||||
ret
|
||||
;
|
||||
A0889: cp 34h
|
||||
;jr nz,A0891
|
||||
ret nz
|
||||
res 6,(ix+1)
|
||||
ret
|
||||
;A0891: ret
|
||||
|
||||
|
||||
A0892: ld a,l
|
||||
cp 37h
|
||||
jr nz,A08A0
|
||||
set 2,(ix+1)
|
||||
set 4,(ix+1)
|
||||
ret
|
||||
;
|
||||
A08A0: cp 39h
|
||||
jr nz,A08AD
|
||||
set 0,(ix+1)
|
||||
set 4,(ix+1)
|
||||
ret
|
||||
;
|
||||
A08AD: cp 36h
|
||||
jr nz,A08BA
|
||||
set 3,(ix+1)
|
||||
set 5,(ix+1)
|
||||
ret
|
||||
;
|
||||
A08BA: cp 3Ah
|
||||
jr nz,A08C7
|
||||
set 1,(ix+1)
|
||||
set 5,(ix+1)
|
||||
ret
|
||||
;
|
||||
A08C7: cp 29h
|
||||
jr nz,A08D0
|
||||
set 7,(ix+1)
|
||||
ret
|
||||
;
|
||||
A08D0: cp 34h
|
||||
;jr nz,A08D8
|
||||
ret nz
|
||||
set 6,(ix+1)
|
||||
ret
|
||||
;A08D8: ret
|
||||
|
||||
|
||||
|
||||
A0990: bit 7,(ix+2)
|
||||
jr z,A09B0
|
||||
cp 11h
|
||||
ld l,39h
|
||||
ret z
|
||||
cp 14h
|
||||
ld l,3Ah
|
||||
ret z
|
||||
cp 5Ah
|
||||
ld l,4Eh
|
||||
ret z
|
||||
cp 4Ah
|
||||
ld l,4Ah
|
||||
ret z
|
||||
cp 7Ch
|
||||
ld l,47h
|
||||
ret z
|
||||
ld l,a
|
||||
A09B0: ld h,A0900 / 256 ; 09h áâ. ¡ ©â ¤à¥á
|
||||
ld l,(hl)
|
||||
ret
|
||||
|
||||
|
||||
A09B4: ld d,l
|
||||
ld e,0
|
||||
bit 7,(ix+0)
|
||||
jp nz,A09F6
|
||||
ld a,(ix+1)
|
||||
and 0C0h
|
||||
jr nz,A09E3
|
||||
set 7,d
|
||||
bit 4,(ix+1)
|
||||
ret nz
|
||||
bit 5,(ix+1)
|
||||
ret nz
|
||||
ld d,l
|
||||
bit 0,(ix+0)
|
||||
ld bc,T0B75
|
||||
jr nz,A09DE
|
||||
ld bc,T0AC1
|
||||
A09DE: ld h,0
|
||||
add hl,bc
|
||||
ld e,(hl)
|
||||
ret
|
||||
;
|
||||
A09E3: ld bc,T0B1B
|
||||
bit 0,(ix+0)
|
||||
jr z,A09EF
|
||||
ld bc,T0BCF
|
||||
A09EF: ld h,0
|
||||
add hl,bc
|
||||
ld e,(hl)
|
||||
set 7,d
|
||||
ret
|
||||
;
|
||||
A09F6: ld a,(ix+1)
|
||||
and 0C0h
|
||||
jr nz,A0A1B
|
||||
set 7,d
|
||||
bit 4,(ix+1)
|
||||
ret nz
|
||||
bit 5,(ix+1)
|
||||
ret nz
|
||||
ld d,l
|
||||
bit 0,(ix+0)
|
||||
ld bc,T0CDD
|
||||
jr nz,A0A16
|
||||
ld bc,T0C29
|
||||
A0A16: ld h,0
|
||||
add hl,bc
|
||||
ld e,(hl)
|
||||
ret
|
||||
;
|
||||
A0A1B: ld bc,T0C83
|
||||
bit 0,(ix+0)
|
||||
jr z,A0A27
|
||||
ld bc,T0D37
|
||||
A0A27: ld h,0
|
||||
add hl,bc
|
||||
ld e,(hl)
|
||||
set 7,d
|
||||
ret
|
||||
|
||||
|
||||
ds 0400h-$ ; ¢ë஢¨âì £à ¨æã xx00h
|
||||
|
||||
; „®«¦® ç¨ âìáï á £à ¨æë xx00h!
|
||||
; 144 ¡ ©â .
|
||||
A0900: db 0,43h,0,3Fh,3Dh,3Bh,3Ch,46h
|
||||
db 0,44h,42h,40h,3Eh,0Fh,0,0
|
||||
db 0
|
||||
db 37h,29h,0
|
||||
db 36h,10h,2,0
|
||||
db 0,0,2Ah,1Eh,1Dh,11h,3,0
|
||||
db 0,2Ch,2Bh,1Fh,12h,5,4,0
|
||||
db 0,38h,2Dh,20h,14h,13h,6,0
|
||||
db 0,2Fh,2Eh,22h,21h,15h,7,0
|
||||
db 0
|
||||
A0939: db 0
|
||||
A093A: db 30h,23h,16h,8,9,0,0,31h
|
||||
db 24h,17h,18h,0Bh,0Ah
|
||||
A0947: db 0,0,32h
|
||||
A094A: db 33h,25h,26h,19h
|
||||
A094E: db 0Ch,0,0,0,27h,0,1Ah,0Dh
|
||||
db 0,0,1Ch,34h
|
||||
db 28h,1Bh,0,35h
|
||||
db 0,0,0,0,0,0,0,0
|
||||
db 0Eh,0,0,51h,0,54h,57h,0
|
||||
db 0,0,50h,4Fh,52h,55h,56h,58h
|
||||
db 1,49h,45h,4Dh,53h,4Ch
|
||||
db 4Bh,59h
|
||||
db 48h,0,0,0,0,41h,0,0
|
||||
db 0,0,0,0,0,0,0,0
|
||||
db 0,0
|
||||
|
||||
|
||||
|
||||
; ’ ¡«¨æ ª®¤®¢ ª« ¢¨è (8 ᥪ権 ¯® 90 ¡ ©â)
|
||||
T0AC1: db "`",1Bh,"1","2","3","4","5","6","7","8","9","0","-","=",8
|
||||
db 9,"q","w","e","r","t","y","u","i","o","p","[","]"
|
||||
db 0 ; CapsLock
|
||||
db "a","s","d","f","g","h","j","k","l",";","'",0Dh
|
||||
db 0 ; Left Shift
|
||||
db "z","x","c","v","b","n","m",",",".","/"
|
||||
db 0 ; Right Shift
|
||||
db '\'
|
||||
db 0 ; Ctrl
|
||||
db 0 ; Alt
|
||||
db 20h ; Space
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
; ¤®¯. ¯®«¥
|
||||
db 0 ; NumLock
|
||||
db "/","*","-","+",0Dh
|
||||
db 0,0,0,0,0,0,0,0,0,0,0
|
||||
;
|
||||
;
|
||||
T0B1B: db "~",1Bh,"!","@","#","$","%","^","&","*","(",")","_","+",8
|
||||
db 9,"Q","W","E","R","T","Y","U","I","O","P","{","}"
|
||||
db 0 ; CapsLock
|
||||
db "A","S","D","F","G","H","J","K","L",":",'"',0Dh
|
||||
db 0 ; Left Shift
|
||||
db "Z","X","C","V","B","N","M","<",">","?"
|
||||
db 0 ; Right Shift
|
||||
db "|",0,0
|
||||
db 20h ; Space
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
; ¤®¯. ¯®«¥
|
||||
db 0 ; NumLock
|
||||
db "/","*","-","+",0Dh
|
||||
db 0,0,0,0,0,0,0,0,0,0,0
|
||||
;
|
||||
;
|
||||
T0B75: db "`",1Bh,"1","2","3","4","5","6","7","8","9","0","-","=",8
|
||||
db 9,"Q","W","E","R","T","Y","U","I","O","P","[","]",0
|
||||
db "A","S","D","F","G","H","J","K","L",";","'",0Dh,0
|
||||
db "Z","X","C","V","B","N","M",",",".","/",0
|
||||
db '\',0,0
|
||||
db 20h ; Space
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
; ¤®¯. ¯®«¥
|
||||
db 0 ; NumLock
|
||||
db "/","*","-","+",0Dh
|
||||
db 0,0,0,0,0,0,0,0,0,0,0
|
||||
;
|
||||
;
|
||||
T0BCF: db "~",1Bh,"!","@","#","$","%","^","&","*","(",")","_","+",8
|
||||
db 9,"q","w","e","r","t","y","u","i","o","p","{","}",0
|
||||
db "a","s","d","f","g","h","j","k","l",":",'"',0Dh,0
|
||||
db "z","x","c","v","b","n","m","<",">","?",0
|
||||
db "|",0,0
|
||||
db 20h ; Space
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
; ¤®¯. ¯®«¥
|
||||
db 0 ; NumLock
|
||||
db "/","*","-","+",0Dh
|
||||
db 0,0,0,0,0,0,0,0,0,0,0
|
||||
;
|
||||
;
|
||||
T0C29: db "ñ",1Bh,"1","2","3","4","5","6","7","8","9","0","-","=",8
|
||||
db 9,"©","æ","ã","ª","¥","","£","è","é","§","å","ê",0
|
||||
db "ä","ë","¢"," ","¯","à","®","«","¤","¦","í",0Dh,0
|
||||
db "ï","ç","á","¬","¨","â","ì","¡","î",".",0
|
||||
db '\',0,0
|
||||
db 20h ; Space
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
; ¤®¯. ¯®«¥
|
||||
db 0 ; NumLock
|
||||
db "/","*","-","+",0Dh
|
||||
db 0,0,0,0,0,0,0,0,0,0,0
|
||||
;
|
||||
;
|
||||
T0C83: db "ð",1Bh,"!",'"',"#","$",":",",",".",";","?","%","_","+",8
|
||||
db 9,"‰","–","“","Š","…","<22>","ƒ","˜","™","‡","•","š",0
|
||||
db "”","›","‚","€","<22>","<22>","Ž","‹","„","†","<22>",0Dh,0
|
||||
db "Ÿ","—","‘","Œ","ˆ","’","œ","<22>","ž",",",0
|
||||
db "|",0,0
|
||||
db 20h ; Space
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
; ¤®¯. ¯®«¥
|
||||
db 0 ; NumLock
|
||||
db "/","*","-","+",0Dh
|
||||
db 0,0,0,0,0,0,0,0,0,0,0
|
||||
;
|
||||
;
|
||||
T0CDD: db "ð",1Bh,"1","2","3","4","5","6","7","8","9","0","-","=",8
|
||||
db 9,"‰","–","“","Š","…","<22>","ƒ","˜","™","‡","•","š",0
|
||||
db "”","›","‚","€","<22>","<22>","Ž","‹","„","†","<22>",0Dh,0
|
||||
db "Ÿ","—","‘","Œ","ˆ","’","œ","<22>","ž",".",0
|
||||
db '\',0,0
|
||||
db 20h ; Space
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
; ¤®¯. ¯®«¥
|
||||
db 0 ; NumLock
|
||||
db "/","*","-","+",0Dh
|
||||
db 0,0,0,0,0,0,0,0,0,0,0
|
||||
;
|
||||
;
|
||||
T0D37: db "ñ",1Bh,"!",'"',"#","$",":",",",".",";","?","%","_","+",8
|
||||
db 9,"©","æ","ã","ª","¥","","£","è","é","§","å","ê",0
|
||||
db "ä","ë","¢"," ","¯","à","®","«","¤","¦","í",0Dh,0
|
||||
db "ï","ç","á","¬","¨","â","ì","¡","î",",",0
|
||||
db "|",0,0
|
||||
db 20h ; Space
|
||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
; ¤®¯. ¯®«¥
|
||||
db 0
|
||||
db "/","*","-","+",0Dh
|
||||
db 0,0,0,0,0,0,0,0,0,0,0
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ˆ¨æ. LPT-¯®à⮢ ¤«ï ª« ¢ë
|
||||
;-------------------------------------------------
|
||||
init_keyb:
|
||||
ld a,0
|
||||
out (19h),a
|
||||
ld a,1
|
||||
out (19h),a
|
||||
ld a,0
|
||||
out (19h),a
|
||||
ld a,3
|
||||
out (19h),a
|
||||
ld a,0C1h
|
||||
out (19h),a
|
||||
ld a,4
|
||||
out (19h),a
|
||||
ld a,7
|
||||
out (19h),a
|
||||
ld a,5
|
||||
out (19h),a
|
||||
ld a,62h
|
||||
out (19h),a
|
||||
ret
|
||||
|
||||
|
||||
; ‡¢ãª.
|
||||
; ¢å®¤: hl=§ ¤¥à¦ª ¢¥è. 横«
|
||||
; de=§ ¤¥à¦ª ¢ãâà. 横«
|
||||
beep: ld a,10h
|
||||
out (0FEh),a ; ¯®àâ
|
||||
ld b,d
|
||||
ld c,e
|
||||
dec bc
|
||||
ld a,b
|
||||
or c
|
||||
jr nz,$-3
|
||||
ld a,0
|
||||
out (0FEh),a ; ¯®àâ
|
||||
ld b,d
|
||||
ld c,e
|
||||
dec bc
|
||||
ld a,b
|
||||
or c
|
||||
jr nz,$-3
|
||||
dec hl
|
||||
ld a,h
|
||||
or l
|
||||
jr nz,beep
|
||||
ret
|
||||
207
MOD0/LISTDRV.ASM
Executable file
@ -0,0 +1,207 @@
|
||||
;-------------------------------------------------
|
||||
; ˆ¨æ. ᯨ᮪ ⨯®¢ ¤¨áª®¢ á¨á⥬ë
|
||||
; (¯®á«¥¤. ç¨â ¥â BPB ª ¦¤®£® ¤¨áª )
|
||||
;-------------------------------------------------
|
||||
init_list_types_drives:
|
||||
ld a,(disk) ; ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
jr nc,init_list_types_drv1
|
||||
; ¨á¯. ®¬¥à boot-¤¨áª
|
||||
ld bc,0009h
|
||||
rst 10h
|
||||
ld (disk),a
|
||||
; ã§ âì ®¬¥à ¯®á«. ¤¨áª ¢ á¨á⥬¥
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
init_list_types_drv1:
|
||||
ld (lastdrive),a ; ¯®á«¥¤. ¤¨áª ¢ á¨á⥬¥ (0..25)
|
||||
cp 1+1
|
||||
jr c,init_list_types_done ; ⮫쪮 A,B ¤¨áª¨
|
||||
dec a
|
||||
ld b,a
|
||||
ld c,2 ; ç âì á "C:"
|
||||
ld hl,scan_code_letters+5 ; â ¡«¨æ ¤¨áª®¢ á "C:"
|
||||
make_dlist_loop:
|
||||
push bc
|
||||
push hl
|
||||
; ¯à®ç¨â âì BPB ¤¨áª
|
||||
push bc
|
||||
ld a,c ; ®¬¥à ¤¨áª
|
||||
ld c,1 ; open device
|
||||
rst 18h
|
||||
pop bc
|
||||
jr c,make_dlist_err
|
||||
push bc
|
||||
ld a,c
|
||||
ld de,work_buffer ; ¡ãä¥à
|
||||
ld c,4 ; get BPB
|
||||
rst 18h
|
||||
pop bc
|
||||
jr c,make_dlist_err
|
||||
ld a,c ; ®¬¥à ¤¨áª
|
||||
ld c,2 ; close device
|
||||
rst 18h
|
||||
pop hl
|
||||
pop bc
|
||||
ld a,(work_buffer+21) ; ¡ ©â ä®à¬ â ®á¨â¥«ï
|
||||
ld (hl),a
|
||||
inc hl
|
||||
inc hl ; á«¥¤. ï祩ª ⨯ ¤¨áª
|
||||
inc c ; ++®¬¥à ¤¨áª
|
||||
djnz make_dlist_loop
|
||||
init_list_types_done:
|
||||
; â¥áâ ¤®áâ㯮áâì ¤¨áª ã ¯ áá. ¯ ¥«¨
|
||||
ld hl,disk1
|
||||
ld a,(lastdrive)
|
||||
dec a
|
||||
cp (hl)
|
||||
ret nc
|
||||
ld (hl),a
|
||||
ret
|
||||
;
|
||||
make_dlist_err:
|
||||
pop hl
|
||||
pop bc
|
||||
jr init_list_types_done
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;----------------------------------------------------------------------
|
||||
; ‘âàãªâãà ᯨ᪠¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
; <®¬¥à ¯ãªâ >, <¨¬ï ¯ãªâ ,0>, <᪥-ª®¤ ¡ãª¢ë>, <®¬¥à ª®â¥ªáâ >
|
||||
;----------------------------------------------------------------------
|
||||
; db 0,"&A: removable",0
|
||||
; db 1Dh ; ᪥-ª®¤
|
||||
; db CTnodef ; ª®â¥ªáâ (¥ ¨á¯.)
|
||||
; ;
|
||||
; db 1,"&B: removable",0
|
||||
; db 2Eh
|
||||
; db CTnodef
|
||||
; ;
|
||||
; db 2,"&C: fixed",0
|
||||
; db 2Ch ; ᪥-ª®¤
|
||||
; db CTnodef
|
||||
; ;
|
||||
; db 3,"&D: CD-ROM",0
|
||||
; db 1Fh
|
||||
; db CTnodef
|
||||
; ;
|
||||
; db 4,"&E: RAM-disk",0
|
||||
; db 12h
|
||||
; db CTnodef
|
||||
; ;
|
||||
; db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘®§¤ âì ¢ ¡ãä¥à¥ áâàãªâãàã ᯨ᪠¤¨áª®¢
|
||||
;-------------------------------------------------
|
||||
make_struct_drives:
|
||||
exx
|
||||
ld hl,scan_code_letters ; ᯨ᮪ ᪥-ª®¤®¢ ¡ãª¢
|
||||
exx
|
||||
ld a,(lastdrive)
|
||||
ld b,a
|
||||
ld c,0 ; A=0
|
||||
ld hl,work_buffer
|
||||
make_drives_loop:
|
||||
ld (hl),c ; ®¬¥à ¤¨áª (ª®¬ ¤ë)
|
||||
inc hl
|
||||
ld (hl),"&"
|
||||
inc hl
|
||||
ld a,"A"
|
||||
add a,c
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld (hl),":"
|
||||
inc hl
|
||||
ld (hl)," "
|
||||
inc hl
|
||||
exx
|
||||
ld a,(hl) ; ᪥-ª®¤
|
||||
ex af,af'
|
||||
inc hl
|
||||
ld a,(hl) ; ⨯ ¤¨áª
|
||||
inc hl
|
||||
exx
|
||||
ld de,fix_drive ; ¢¨â
|
||||
cp 0F8h
|
||||
jr z,make_drives_type
|
||||
ld de,ram_drive ; ram-¤¨áª
|
||||
cp 0FAh
|
||||
jr z,make_drives_type
|
||||
ld de,rem_drive ; ¤¨áª¥â
|
||||
cp 0F0h ; 1.44Mb
|
||||
jr z,make_drives__
|
||||
cp 0F9h ; 720kB
|
||||
jr z,make_drives__
|
||||
ld de,cd_drive ; cd-rom
|
||||
jr make_drives_type
|
||||
make_drives__:
|
||||
ld a,c
|
||||
cp 2 ; ¬¥ìè¥ "C:" ?
|
||||
jr c,make_drives_type
|
||||
ld de,ram_drive ; ram-¤¨áª
|
||||
make_drives_type:
|
||||
; ᪮¯¨à. ⨯ ¤¨áª
|
||||
ld a,(de)
|
||||
ld (hl),a
|
||||
inc hl
|
||||
inc de
|
||||
or a
|
||||
jr nz,$-5
|
||||
ex af,af'
|
||||
ld (hl),a ; ᪥-ª®¤
|
||||
inc hl
|
||||
inc hl ; ¯à®©â¨ ª®â¥ªáâ
|
||||
inc c ; ++®¬¥à ¤¨áª
|
||||
djnz make_drives_loop
|
||||
ld (hl),-1 ; ª®¥æ ᯨáª
|
||||
; áâநâì Y ¯®«®¦. ¬¥î ®â ç¨á« ¤¨áª®¢
|
||||
ld c,5 ; Y ¯®«®¦. ¬¥î
|
||||
ld a,(lastdrive) ; 0..25
|
||||
cp 14+1
|
||||
jr c,$+9
|
||||
dec c
|
||||
cp 18+1
|
||||
jr c,$+4
|
||||
ld c,2
|
||||
ld a,c
|
||||
ld (table_left_drive+1),a
|
||||
ld (table_right_drive+1),a
|
||||
ret
|
||||
|
||||
|
||||
|
||||
; ’ ¡«¨æ ¡ãª¢ ¤¨áª®¢
|
||||
; <᪥-ª®¤>, <¡ ©â ä®à¬ â ¤¨áª >
|
||||
scan_code_letters:
|
||||
db 1Dh,0F0h ; A
|
||||
db 2Eh,0F0h ; B
|
||||
db 2Ch,0F8h ; C
|
||||
db 1Fh,0F8h ; D
|
||||
db 12h,0F8h ; E
|
||||
db 20h,0F8h ; F
|
||||
db 21h,0F8h ; G
|
||||
db 22h,0F8h ; H
|
||||
db 17h,0F8h ; I
|
||||
db 23h,0F8h ; J
|
||||
db 24h,0F8h ; K
|
||||
db 25h,0F8h ; L
|
||||
db 30h,0F8h ; M
|
||||
db 2Fh,0F8h ; N
|
||||
db 18h,0F8h ; O
|
||||
db 19h,0F8h ; P
|
||||
db 10h,0F8h ; Q
|
||||
db 13h,0F8h ; R
|
||||
db 1Eh,0F8h ; S
|
||||
db 14h,0F8h ; T
|
||||
db 16h,0F8h ; U
|
||||
db 2Dh,0F8h ; V
|
||||
db 11h,0F8h ; W
|
||||
db 2Bh,0F8h ; X
|
||||
db 15h,0F8h ; Y
|
||||
db 2Ah,0F8h ; Z
|
||||
373
MOD0/MOUSEDRV.ASM
Executable file
@ -0,0 +1,373 @@
|
||||
Cmouse equ 1Bh
|
||||
Dmouse equ 1Ah
|
||||
|
||||
|
||||
|
||||
; RST 30h. Mouse Driver (⥪áâ®¢ë© íªà )
|
||||
; <20> ¢å®¤ ®¬¥à äãªæ¨¨:
|
||||
; A=00h ˆ¨æ¨ «¨§ æ¨ï ¬ëè¨
|
||||
; A=01h ‚뢥á⨠¬ëè¨ë© ªãàá®à íªà
|
||||
; A=02h “¡à âì ¬ëè¨ë© ªãàá®à á íªà
|
||||
; A=03h <20>®«ãç¨âì ª®®à¤¨ âë ¬ë誨 ¨ á®áâ®ï¨¥ ª®¯®ª
|
||||
; A=04h <20>®«ãç¨âì ª®®à¤¨ âë ¬ë誨 ¨ á®áâ®ï¨¥ ª®¯®ª
|
||||
; ¯®á«¥ ¨å ®â¯ã᪠¨ï
|
||||
MouseDrv:
|
||||
or a ; a=0
|
||||
jr z,Init_MS
|
||||
dec a ; a=1
|
||||
jr z,SetMouse
|
||||
dec a ; a=2
|
||||
jp z,ResMouse
|
||||
dec a ; a=3
|
||||
jp z,ExmFire
|
||||
dec a ; a=4
|
||||
jp z,GetFire
|
||||
ret
|
||||
|
||||
|
||||
; Initialization LPT port & Mouse
|
||||
Init_MS:di
|
||||
ld a,55h
|
||||
out (10h),a
|
||||
ld a,2Dh
|
||||
out (10h),a
|
||||
ld a,0
|
||||
out (1Bh),a
|
||||
ld a,1
|
||||
out (1Bh),a
|
||||
ld a,0
|
||||
out (1Bh),a
|
||||
ld a,3
|
||||
out (1Bh),a
|
||||
ld a,41h
|
||||
out (1Bh),a
|
||||
ld a,4
|
||||
out (1Bh),a
|
||||
ld a,47h
|
||||
out (1Bh),a
|
||||
ld a,5
|
||||
out (1Bh),a
|
||||
ld a,0E0h
|
||||
out (1Bh),a
|
||||
ei
|
||||
xor a
|
||||
ld (MSbutt),a
|
||||
ret
|
||||
|
||||
|
||||
; Set Mouse & Print Cursor Mouse on Screen
|
||||
SetMouse:
|
||||
di
|
||||
push ix
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
call Refresh
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
pop ix
|
||||
ld a,1
|
||||
ld (MouseFlg),a
|
||||
ei
|
||||
ret
|
||||
|
||||
|
||||
; Res Mouse & Clear Cursor Mouse from Screen
|
||||
ResMouse:
|
||||
ld a,(MouseFlg)
|
||||
or a
|
||||
ret z
|
||||
di
|
||||
xor a
|
||||
ld (MouseFlg),a
|
||||
ld (MSbutt),a
|
||||
push ix
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
call RestorM
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
pop ix
|
||||
ei
|
||||
ret
|
||||
|
||||
|
||||
; Examination on Fire
|
||||
; Input: None
|
||||
; OutPut: Z-Not Fire
|
||||
; NZ-Yes Fire:
|
||||
; HL=Y,X (in Znak)
|
||||
; A=0-bit Right Button
|
||||
; A=1-bit Left Button
|
||||
ExmFire:ld hl,(Tcoords)
|
||||
ld a,(MSbutt)
|
||||
and 3
|
||||
ret
|
||||
|
||||
|
||||
; Get Fire (Wait Not Fire)
|
||||
; Input: None
|
||||
; OutPut: Z-Not Fire
|
||||
; NZ-Yes Fire:
|
||||
; HL=Y,X (in Znak)
|
||||
; A=0-bit Right Button
|
||||
; A=1-bit Left Button
|
||||
GetFire:ld hl,(Tcoords)
|
||||
ld a,(MSbutt)
|
||||
and 3
|
||||
ret z
|
||||
push af
|
||||
ld a,(MSbutt)
|
||||
and 3
|
||||
jr nz,$-5
|
||||
pop af
|
||||
ret
|
||||
|
||||
|
||||
; Refresh Mouse on Screen
|
||||
Refresh:call GetMousInfo
|
||||
db 3Eh ; ld a,..
|
||||
hidden_mouse:
|
||||
db true ; true - ¯àïâ âì ¬ëèì ¯à¨ à ¡®â¥ á ª« ¢®©
|
||||
or a
|
||||
jr z,RefrMs
|
||||
ld hl,(Xcoord)
|
||||
srl h
|
||||
rr l
|
||||
srl h
|
||||
rr l
|
||||
srl l
|
||||
ld a,(Ycoord)
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
and 1Fh
|
||||
ld h,a
|
||||
ld de,(TempXY)
|
||||
sbc hl,de
|
||||
jr nz,RefrMs
|
||||
KeyPres:ld a,0
|
||||
or a
|
||||
jr z,RefrMs1
|
||||
jp RestorM
|
||||
;
|
||||
RefrMs: xor a
|
||||
ld (KeyPres+1),a
|
||||
RefrMs1:call RestorM
|
||||
jp MousWrt
|
||||
|
||||
; Restore Screen from Mouse
|
||||
RestorM:ld de,(TempXY)
|
||||
in a,(89h)
|
||||
ld c,a
|
||||
in a,(0E2h)
|
||||
ld b,a
|
||||
push bc
|
||||
ld a,5Ch ; 54h ¢¨¤¥®-áâà ¨æ
|
||||
out (0E2h),a
|
||||
ld a,d
|
||||
add a,a
|
||||
add a,a
|
||||
ld l,a
|
||||
ld h,0C3h
|
||||
in a,(0C9h)
|
||||
rrca
|
||||
and 80h
|
||||
or 1
|
||||
add a,e
|
||||
out (89h),a
|
||||
inc l
|
||||
inc l
|
||||
ld a,(hl)
|
||||
ld (hl),a
|
||||
pop bc
|
||||
ld a,b
|
||||
out (0E2h),a
|
||||
ld a,c
|
||||
out (89h),a
|
||||
ret
|
||||
|
||||
; Put Text Mouse Cursor On Screen
|
||||
MousWrt:ld de,(Xcoord)
|
||||
srl d
|
||||
rr e
|
||||
srl d
|
||||
rr e
|
||||
srl e
|
||||
ld a,(Ycoord)
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
and 1Fh
|
||||
ld d,a
|
||||
ld (TempXY),de
|
||||
in a,(89h)
|
||||
ld c,a
|
||||
in a,(0E2h)
|
||||
ld b,a
|
||||
push bc
|
||||
ld a,5Ch ; 54h ¢¨¤¥®-áâà ¨æ
|
||||
out (0E2h),a
|
||||
ld a,d
|
||||
add a,a
|
||||
add a,a
|
||||
ld l,a
|
||||
ld h,0C3h
|
||||
in a,(0C9h)
|
||||
rrca
|
||||
and 80h
|
||||
or 1
|
||||
add a,e
|
||||
out (89h),a
|
||||
inc l
|
||||
inc l
|
||||
ld a,(hl)
|
||||
xor 77h
|
||||
ld (hl),a
|
||||
pop bc
|
||||
ld a,b
|
||||
out (0E2h),a
|
||||
ld a,c
|
||||
out (89h),a
|
||||
ret
|
||||
|
||||
; <20>®«ãç¨âì ®¢ãî ¨ä®à¬ æ¨î ® ¬ë誥
|
||||
GetMousInfo:
|
||||
call Read_MS
|
||||
ret c
|
||||
ld de,(Xcoord)
|
||||
srl d
|
||||
rr e
|
||||
srl d
|
||||
rr e
|
||||
srl e
|
||||
ld a,(Ycoord)
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
and 1Fh
|
||||
ld d,a
|
||||
ld (Tcoords),de
|
||||
ret
|
||||
|
||||
; Input Mouse Data from LPT ports
|
||||
Read_MS:scf
|
||||
in a,(Cmouse)
|
||||
bit 0,a
|
||||
ret z
|
||||
in a,(Dmouse)
|
||||
ld l,a
|
||||
bit 6,a
|
||||
ret z
|
||||
Read_L1:in a,(Cmouse)
|
||||
rrca
|
||||
jr nc,Read_L1
|
||||
in a,(Dmouse)
|
||||
ld e,a
|
||||
bit 6,a
|
||||
ret nz
|
||||
Read_L2:in a,(Cmouse)
|
||||
rrca
|
||||
jr nc,Read_L2
|
||||
in a,(Dmouse)
|
||||
ld d,a
|
||||
bit 6,a
|
||||
ret nz
|
||||
ld a,e
|
||||
and 3Fh
|
||||
ld e,a
|
||||
ld a,l
|
||||
and 3
|
||||
rrca
|
||||
rrca
|
||||
or e
|
||||
ld c,a ; X addition
|
||||
ld a,d
|
||||
and 3Fh
|
||||
ld d,a
|
||||
ld a,l
|
||||
and 0Ch
|
||||
rrca
|
||||
rrca
|
||||
rrca
|
||||
rrca
|
||||
or d
|
||||
ld b,a ; Y addition
|
||||
ld a,l
|
||||
and 30h
|
||||
rrca
|
||||
rrca
|
||||
rrca
|
||||
rrca
|
||||
ld (MSbutt),a ; Button Pressed
|
||||
; Corrected Mouse Place
|
||||
ld hl,(Xcoord)
|
||||
bit 7,c
|
||||
ld e,c
|
||||
jr nz,subX
|
||||
ld d,0
|
||||
add hl,de
|
||||
ld de,027Fh
|
||||
ex de,hl
|
||||
sbc hl,de
|
||||
add hl,de
|
||||
jr c,$+3
|
||||
ex de,hl
|
||||
ld (Xcoord),hl
|
||||
jr NxtCoord
|
||||
;
|
||||
subX: ld d,0FFh
|
||||
add hl,de
|
||||
jr c,$+5
|
||||
ld hl,0
|
||||
ld (Xcoord),hl
|
||||
NxtCoord:
|
||||
ld hl,(Ycoord)
|
||||
bit 7,b
|
||||
ld a,l
|
||||
jr nz,subY
|
||||
add a,b
|
||||
jr nc,$+4
|
||||
ld a,0FFh
|
||||
ld l,a
|
||||
ld (Ycoord),hl
|
||||
and a
|
||||
ret
|
||||
;
|
||||
subY: add a,b
|
||||
jr c,$+3
|
||||
xor a
|
||||
ld l,a
|
||||
ld (Ycoord),hl
|
||||
and a
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
; ”« £ ¬ë誨
|
||||
MouseFlg:
|
||||
db 0 ; 00 - ¬ë誨 ¥â
|
||||
; 01 - ¬ëèª ¥áâì
|
||||
; Š®®à¤¨ âë ¬ë誨 ¢ â®çª å
|
||||
;Coords:
|
||||
;Xcoord: dw 320 ; ª®®à¤¨ â X (0..639)
|
||||
;Ycoord: dw 128 ; ª®®à¤¨ â Y (0..255)
|
||||
|
||||
; ‚६¥ë¥ ª®®à¤¨ âë ¢ § ª®¬¥áâ å
|
||||
TempXY: dw 0000h ; X (0..79), Y (0..31)
|
||||
|
||||
; ‘®áâ®ï¨¥ ª®¯®ª
|
||||
MSbutt: db 0 ; 0-bit ¯à ¢ ï ª®¯ª
|
||||
; 1-bit «¥¢ ï ª®¯ª
|
||||
; Š®®à¤¨ âë ¬ë誨 ¢ § ª®¬¥áâ å
|
||||
Tcoords:
|
||||
TcoordX:db 40 ; ª®®à¤¨ â X (0..79)
|
||||
TcoordY:db 16 ; ª®®à¤¨ â Y (0..31)
|
||||
|
||||
; <20>ãä¥à ¤«ï åà ¥¨ï ¨ä®à¬ 樨 ¨§ ¯®¤ ¬ë誨
|
||||
MouseBuff:
|
||||
db 0
|
||||
548
MOD0/USERMENU.ASM
Executable file
@ -0,0 +1,548 @@
|
||||
; Œ¥î <20>®«ì§®¢ ⥫ï
|
||||
;
|
||||
;
|
||||
; …᫨ ä ©« "FM.MNU" ¥ ©¤¥, â® ¢ë§®¢ Œ¥î <20>®«ì§®¢ â¥«ï ¡ã¤¥â ¥ ¤®á-
|
||||
; â㯥. <20>ਠí⮬ ¨ª ª¨å ¯à¥¤ã¯à¥¦¤ îé¨å á®®¡é¥¨© ¢ë¢®¤¨âìáï ¥ ¡ã¤¥â.
|
||||
; …᫨ ¯¥à¥¬¥ ï ®ªà㦥¨ï ä ©«-¬¥¥¤¦¥à ®¯à¥¤¥«¥ , â® mnu-ä ©« ç¨â ¥âáï
|
||||
; ¨ § ¯¨áë¢ ¥âáï ⮫쪮 ¢ ¥©. …᫨ ¯¥à¥¬¥®© ®ªà㦥¨ï ¥â, mnu-ä ©« ç¨â -
|
||||
; ¥âáï ¨ § ¯¨áë¢ ¥âáï ¢ ⥪ã饬 ¯ã⨠¬¥¥¤¦¥à .
|
||||
;
|
||||
; ‘âப¨ §¢ ¨© ¯ãªâ®¢ ¨ ª®¬ ¤ëå áâப ¬®£ãâ ç¨ âìáï á ¯à®¡¥«®¢ ¨«¨
|
||||
; â ¡ã«ï権. <20>ãªâë ¨ ¨å ª®¬-áâப¨ ¬®£ãâ à §¤¥«ïâìáï ¯ãáâ묨 áâப ¬¨ (¨«¨ á®-
|
||||
; ¤¥à¦ 騬¨ ®¤¨ ¯à®¡¥«ë ¨«¨ â ¡ã«ï樨).
|
||||
; Š ¦¤®© áâப¥ ¯ãªâ ¤®«¦ ᮮ⢥âá⢮¢ âì ª®¬ ¤ ï áâப , ¢ë¯®«ï¥¬ ï
|
||||
; ¯® í⮬㠯ãªâã.
|
||||
;
|
||||
; …᫨ ¯¥à¢ë© ᨬ¢®« ¢ áâப¥ "-", â® áâப áç¨â ¥âáï à §¤¥«¨â¥«¥¬ ¯ãªâ®¢
|
||||
; ¬¥î ¨ ¯®á«¥¤ãî騥 ᨬ¢®«ë áâப¨ ¨£®à¨àãîâáï.
|
||||
; …᫨ áâப ç¨ ¥âáï á ᨬ¢®« ";", â® ¤ ï áâப ¢®á¯à¨¨¬ ¥âáï ª ª
|
||||
; ª®¬¬¥â ਩ ¨ â ª¦¥ ¯à®¯ã᪠¥âáï.
|
||||
;
|
||||
; ‚ ¨¬¥ å ¯ãªâ®¢ ¬®¦® § ¤ ¢ âì hot-ᨬ¢®«ë ¢ë§®¢ íâ¨å ¯ãªâ®¢. ‚ ª ç¥áâ-
|
||||
; ¢¥ hot-ᨬ¢®«®¢ ¬®¦® ¨á¯®«ì§®¢ âì «ä ¢¨â®-æ¨äà®¢ë¥ á¨¬¢®«ë ®á®¢®£® ¯®«ï
|
||||
; ª« ¢¨ âãàë. <20>ਠ®¯à¥¤¥«¥¨¨ hot-ᨬ¢®«®¢ « â¨áª¨å ¨ àãááª¨å ¯ãªâ®¢, ¬®¦¥â
|
||||
; ¢®§¨ªãâì á¨âã æ¨ï, ª®£¤ hot-ᨬ¢®«ë « â¨áª¨å ¨ àãááª¨å ¯ãªâ®¢ ᮢ¯ ¤ãâ.
|
||||
; <20>¨ç¥£® áâà 讣® ¢ í⮬ ¥â, ¯à®áâ® ¯® ¤ ®¬ã hot-ᨬ¢®«ã ¡ã¤¥â ¢ë§ë¢ âìáï
|
||||
; ¯ãªâ, áâ®ï騩 ¯¥à¢ë¬ ®â ç « ¬¥î.
|
||||
;
|
||||
; Œ ªá¨¬ «ì®¥ ç¨á«® ®¡à ¡ âë¢ ¥¬ëå ¯ãªâ®¢ à ¢® 26. <20>ਠí⮬ ãç¨âë¢ îâáï
|
||||
; â ª¦¥ à §¤¥«¨â¥«¨ ¯ãªâ®¢. Œ ªá¨¬ «ì ï ¤«¨ ¨¬¥ ¯ãªâ®¢ ¨ ª®¬-áâப à ¢
|
||||
; 70 ᨬ¢®« ¬.
|
||||
;
|
||||
; <20>ã¤ì⥠¢¨¬ ⥫ìë - ¢ ª®æ¥ ª®¬-áâப ¥ ¤®«¦® ¡ëâì «¨è¨å ¯à®¡¥«®¢ ¨«¨
|
||||
; â ¡ã«ï権!.
|
||||
;
|
||||
; ’¨¯¨çë© ¯à¨¬¥à § ¯¨á¨ ä ©« "FM.MNU" (®âáâã¯ë ¤«ï ª®¬-áâப ᤥ« ë ¤«ï
|
||||
; £«ï¤®áâ¨):
|
||||
;
|
||||
; ; íâ® ª®¬¬¥â ਩
|
||||
; &GoldED
|
||||
; c:\mail\golded\gedw32.exe -f
|
||||
; ; ¥é¥ ®¤¨ ª®¬¬¥â ਩
|
||||
; ’®áá&¨âì ¯®çâã
|
||||
; c:\mail\utils\inar.bat
|
||||
; &T-Mail
|
||||
; c:\mail\t-mail\t-mailnt.exe
|
||||
; <20>&ãনâì ¯®çâã
|
||||
; c:\mail\utils\purge.bat
|
||||
; - <20>â® à §¤¥«¨â¥«ì ¯ãªâ®¢
|
||||
; &FFormat
|
||||
; c:\nc\fformat.exe
|
||||
; &Rar 2.50
|
||||
; c:\nc\rar.exe
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; ”®à¬ â ®¯¨á â¥«ï ¯ãªâ®¢ Œ¥î <20>®«ì§®¢ ⥫ï
|
||||
; <¨¬ï ¯ãªâ ,0>, <᪥-ª®¤ hot-¡ãª¢ë>
|
||||
;-----------------------------------------------------------
|
||||
;list1: db "&GoldED",0
|
||||
;db 21h ; ᪥-ª®¤
|
||||
;db "’&®áá¨âì ¯®çâã",0
|
||||
;db 23h
|
||||
;db "&T-Mail",0
|
||||
;db 14h
|
||||
;db "<22>&ãনâì ¯®çâã",0
|
||||
;db 12h
|
||||
;db -2 ; à §¤¥«¨â¥«ì
|
||||
;db "&FFormat",0
|
||||
;db 20h
|
||||
;db "&Rar 2.50",0
|
||||
;db 13h
|
||||
;
|
||||
;db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
max_user_len equ 70 ; ¬ ªá. ¤«¨ áâப («¨è¥¥ ®¡à¥§ ¥âáï)
|
||||
max_user_puncts equ 26 ; ¬ ªá. ç¨á«® ¯ãªâ®¢ («¨è¨¥ ¨£®à¨àãîâáï)
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20>à®ç¨â âì MNU-ä ©« ¨ ¯®¤£®â®¢¨âì ®¯¨á ⥫ì
|
||||
; Œ¥î <20>®«ì§®¢ ⥫ï.
|
||||
;
|
||||
; ¬ ªá. 26 ¯ãªâ®¢ (26*2 áâப)
|
||||
; ¬ ªá. 70 ᨬ¢®«®¢ ¢ ¯ãªâ¥/ª®¬-áâப¥
|
||||
;-------------------------------------------------
|
||||
make_user_menu:
|
||||
in a,(SLOT3)
|
||||
push af
|
||||
;ld a,(page_dial_screen) ; ¢ ª ç¥á⢥ ¢à¥¬. ¡ãä¥à
|
||||
ld a,(page_sys_screen) ; ¢ ª ç¥á⢥ ¢à¥¬. ¡ãä¥à
|
||||
out (SLOT3),a
|
||||
call make_user_menu__ ; ç⥨¥ ä ©« Œ¥î <20>®«ì§®¢ ⥫ï
|
||||
pop af
|
||||
out (SLOT3),a
|
||||
ret
|
||||
|
||||
|
||||
make_user_menu__:
|
||||
call read_mnu_file ; ç⥨¥ mnu-ä ©«
|
||||
ld a,(enable_mnu_file) ; ä« £ «¨ç¨ï mnu-ä ©«
|
||||
or a
|
||||
ret z
|
||||
ld de,array_read ; ç «® mnu-ä ©«
|
||||
ld iy,array_user1 ; ¬ áᨢ 㪠§ ⥫¥© ª®¬-áâப¨
|
||||
ld hl,array_user2 ; ¬ áᨢ ¯ãªâ®¢ ¬¥î
|
||||
ld ix,array_user3 ; ¬ áᨢ ª®¬-áâப
|
||||
ld b,0 ; áç¥â稪 ç¨á« ¯ãªâ®¢
|
||||
make_user_newline:
|
||||
xor a
|
||||
ld c,a ; á¡à. áç¥â稪 ¤«¨ë ¯ãªâ
|
||||
dec a
|
||||
ld (make_user_hot+1),a ; á¡à. ᪥-ª®¤ ¡ãª¢ë
|
||||
make_user_skip:
|
||||
; ¯à®©â¨ ¯à®¡¥«ë ¢ ç «¥ áâப¨
|
||||
ld a,(de)
|
||||
inc de
|
||||
cp " "
|
||||
jr z,make_user_skip
|
||||
cp 9 ; Tab
|
||||
jr z,make_user_skip
|
||||
or a
|
||||
jr nz,$+10
|
||||
make_user_done:
|
||||
ld (hl),-1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
ret
|
||||
make_user_done1:
|
||||
xor a
|
||||
ld (hl),a ; ª®¥æ ¯ãªâ ¢ ®¯¨á ⥫ì
|
||||
inc hl
|
||||
jr make_user_done
|
||||
;
|
||||
cp 0Dh ; ¯ãáâ ï áâப
|
||||
jr nz,$+5
|
||||
inc de ; ¯à®©â¨ 0Ah
|
||||
jr make_user_newline
|
||||
;
|
||||
cp ";" ; ª®¬¬¥â ਩
|
||||
jr z,make_user_to_end ; ¯à®©â¨ ¤® ª®æ áâப¨
|
||||
cp "-" ; à §¤¥«¨â¥«ì
|
||||
jr nz,make_user_loc1
|
||||
ld (hl),-2 ; à §¤¥«¨â¥«ì ¯ãªâ®¢
|
||||
inc hl
|
||||
inc b ; ++ç¨á«® ¯ãªâ®¢
|
||||
ld a,b
|
||||
cp max_user_puncts ; 26
|
||||
jr nc,make_user_done
|
||||
; ¯à®©â¨ ¤® ª®æ áâப¨
|
||||
make_user_to_end:
|
||||
ld a,(de)
|
||||
inc de
|
||||
or a ; ª®¥æ ä ©«
|
||||
jr z,make_user_done
|
||||
cp 0Dh ; ª®¥æ áâப¨
|
||||
jr nz,make_user_to_end
|
||||
inc de ; ¯à®©â¨ 0Ah
|
||||
jr make_user_newline ; ®¢ãî áâபã
|
||||
;
|
||||
make_user_loc1:
|
||||
dec de
|
||||
make_user_loc2:
|
||||
ld a,(de)
|
||||
inc de
|
||||
cp "&" ; hot-¡ãª¢
|
||||
jr nz,make_user_loc3
|
||||
ld (hl),a
|
||||
inc hl
|
||||
inc c ; ++¤«¨ ¯ãªâ
|
||||
ld a,(de)
|
||||
ld (hl),a ; ¢ ®¯¨á ⥫ì
|
||||
inc hl
|
||||
inc c ; ++¤«¨ ¯ãªâ
|
||||
push bc
|
||||
call get_key_scancode ; ã§ âì ᪥-ª®¤ hot-¡ãª¢ë
|
||||
ld a,c
|
||||
pop bc
|
||||
ld (make_user_hot+1),a ; ᪥-ª®¤ ¡ãª¢ë
|
||||
inc de
|
||||
jr make_user_loc2
|
||||
make_user_loc3:
|
||||
or a ; ª®¥æ ä ©«
|
||||
jr z,make_user_done1
|
||||
cp 0Dh ; ª®¥æ áâப¨
|
||||
jr z,make_user_loc4
|
||||
ld (hl),a ; ¢ ®¯¨á ⥫ì
|
||||
inc hl
|
||||
inc c ; ++¤«¨ ¯ãªâ
|
||||
ld a,c
|
||||
cp max_user_len ; 70
|
||||
jr c,make_user_loc2
|
||||
; ¯à®©â¨ ¤® ª®æ áâப¨
|
||||
ld a,(de)
|
||||
inc de
|
||||
or a ; ª®¥æ ä ©«
|
||||
jr z,make_user_done1
|
||||
cp 0Dh ; ª®¥æ áâப¨
|
||||
jr z,make_user_loc4
|
||||
jr $-9
|
||||
make_user_loc4:
|
||||
ld (hl),0 ; ª®¥æ ¯ãªâ ¢ ®¯¨á ⥫ì
|
||||
inc hl
|
||||
make_user_hot:
|
||||
ld (hl),-1 ; ᪥-ª®¤ ¢ ®¯¨á ⥫ì
|
||||
inc hl
|
||||
inc de ; ¯à®©â¨ 0Ah
|
||||
push bc
|
||||
call copy_user_string ; ᪮¯¨à. ª®¬-áâபã
|
||||
pop bc
|
||||
inc b ; ++ç¨á«® ¯ãªâ®¢
|
||||
ld a,b
|
||||
cp max_user_puncts ; 26
|
||||
jr nc,make_user_done
|
||||
jp make_user_newline ; à §¡®à ®¢®© áâப¨
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘ª®¯¨à. ª®¬-áâபã á ¯¥à¥å. á«¥¤. ®¢ãî áâபã
|
||||
; ix=¬ áᨢ ª®¬-áâப
|
||||
; iy=¬ áᨢ 㪠§ ⥫¥© ª®¬-áâப¨
|
||||
;-----------------------------------------------------------
|
||||
copy_user_string:
|
||||
push ix
|
||||
pop bc
|
||||
ld (iy+0),c ; á®åà. ¤à¥á áâப¨
|
||||
inc iy
|
||||
ld (iy+0),b
|
||||
inc iy
|
||||
ld c,0 ; áç¥â稪 ¤«¨ë áâப¨
|
||||
copy_usr_loop:
|
||||
; ¯à®©â¨ ¢¥¤. ¯à®¡¥«ë
|
||||
ld a,(de)
|
||||
inc de
|
||||
cp " "
|
||||
jr z,copy_usr_loop
|
||||
cp 9 ; Tab
|
||||
jr z,copy_usr_loop
|
||||
cp 0Dh ; ¯ãáâ ï áâப
|
||||
jr nz,copy_usr_loop1
|
||||
inc de ; ¯à®©â¨ 0Ah
|
||||
jr copy_usr_loop
|
||||
;
|
||||
copy_usr_loop1:
|
||||
or a ; ª®¥æ ä ©«
|
||||
jr z,copy_usr_done1
|
||||
cp 0Dh ; ª®¥æ áâப¨
|
||||
jr nz,copy_usr_nxt
|
||||
copy_usr_done:
|
||||
inc de ; ¯à®©â¨ 0Ah
|
||||
jr $+3
|
||||
copy_usr_done1:
|
||||
dec de
|
||||
xor a
|
||||
ld (ix+0),a ; ¢ ª®¥æ ª®¬-áâப¨
|
||||
inc ix
|
||||
ret
|
||||
copy_usr_nxt:
|
||||
ld (ix+0),a
|
||||
inc ix
|
||||
inc c ; ++¤«¨ ª®¬-áâப¨
|
||||
ld a,c
|
||||
cp max_user_len ; 70
|
||||
jr nc,copy_usr_nxt1 ; ¯à®©â¨ ¤® ª®æ áâப¨
|
||||
ld a,(de)
|
||||
inc de
|
||||
jr copy_usr_loop1
|
||||
;
|
||||
copy_usr_nxt1:
|
||||
ld a,(de)
|
||||
inc de
|
||||
or a ; ª®¥æ ä ©«
|
||||
jr z,copy_usr_done1
|
||||
cp 0Dh ; ª®¥æ áâப¨
|
||||
jr nz,copy_usr_nxt1
|
||||
jr copy_usr_done
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘¨¬¢®«ìë¥ ª« ¢¨è¨ ®á. ¯®«ï ª« ¢¨ âãàë
|
||||
; ¢å®¤: a=hot-ª« ¢¨è
|
||||
; ¢ë室: c=᪥-ª®¤ ª« ¢¨è¨
|
||||
;-------------------------------------------------
|
||||
get_key_scancode:
|
||||
ld c,0 ; áç¥â稪 ᪥-ª®¤
|
||||
cp "ñ"
|
||||
ret z
|
||||
cp "ð"
|
||||
ret z
|
||||
cp "`"
|
||||
ret z
|
||||
cp "~"
|
||||
ret z
|
||||
cp "_"
|
||||
jr z,get_key_scancod1+2
|
||||
cp "à"
|
||||
jr c,get_key_scancod1
|
||||
cp "ï"+1
|
||||
jp nc,get_key_scancod2
|
||||
sub 50h
|
||||
get_key_scancod1:
|
||||
res 5,a
|
||||
ld c,2
|
||||
cp "1"
|
||||
ret z
|
||||
cp "!"
|
||||
ret z
|
||||
inc c
|
||||
cp "2"
|
||||
ret z
|
||||
cp "@"
|
||||
ret z
|
||||
inc c
|
||||
cp "3"
|
||||
ret z
|
||||
cp "#"
|
||||
ret z
|
||||
inc c
|
||||
cp "4"
|
||||
ret z
|
||||
cp "$"
|
||||
ret z
|
||||
inc c
|
||||
cp "5"
|
||||
ret z
|
||||
cp "%"
|
||||
ret z
|
||||
inc c
|
||||
cp "6"
|
||||
ret z
|
||||
cp "^"
|
||||
ret z
|
||||
inc c
|
||||
cp "7"
|
||||
ret z
|
||||
cp "&"
|
||||
ret z
|
||||
inc c
|
||||
cp "8"
|
||||
ret z
|
||||
cp "*"
|
||||
ret z
|
||||
inc c
|
||||
cp "9"
|
||||
ret z
|
||||
cp "("
|
||||
ret z
|
||||
inc c
|
||||
cp "0"
|
||||
ret z
|
||||
cp ")"
|
||||
ret z
|
||||
inc c
|
||||
cp "-"
|
||||
ret z
|
||||
cp "_"
|
||||
ret z
|
||||
inc c
|
||||
cp "="
|
||||
ret z
|
||||
cp "+"
|
||||
ret z
|
||||
ld c,10h
|
||||
cp "Q"
|
||||
ret z
|
||||
cp "‰"
|
||||
ret z
|
||||
inc c
|
||||
cp "W"
|
||||
ret z
|
||||
cp "–"
|
||||
ret z
|
||||
inc c
|
||||
cp "E"
|
||||
ret z
|
||||
cp "“"
|
||||
ret z
|
||||
inc c
|
||||
cp "R"
|
||||
ret z
|
||||
cp "Š"
|
||||
ret z
|
||||
inc c
|
||||
cp "T"
|
||||
ret z
|
||||
cp "…"
|
||||
ret z
|
||||
inc c
|
||||
cp "Y"
|
||||
ret z
|
||||
cp "<22>"
|
||||
ret z
|
||||
inc c
|
||||
cp "U"
|
||||
ret z
|
||||
cp "ƒ"
|
||||
ret z
|
||||
inc c
|
||||
cp "I"
|
||||
ret z
|
||||
cp "˜"
|
||||
ret z
|
||||
inc c
|
||||
cp "O"
|
||||
ret z
|
||||
cp "™"
|
||||
ret z
|
||||
inc c
|
||||
cp "P"
|
||||
ret z
|
||||
cp "‡"
|
||||
ret z
|
||||
inc c
|
||||
cp "["
|
||||
ret z
|
||||
cp "{"
|
||||
ret z
|
||||
cp "•"
|
||||
ret z
|
||||
inc c
|
||||
cp "]"
|
||||
ret z
|
||||
cp "}"
|
||||
ret z
|
||||
cp "š"
|
||||
ret z
|
||||
ld c,1Dh
|
||||
cp "A"
|
||||
ret z
|
||||
cp "”"
|
||||
ret z
|
||||
inc c
|
||||
cp "S"
|
||||
ret z
|
||||
cp "›"
|
||||
ret z
|
||||
inc c
|
||||
cp "D"
|
||||
ret z
|
||||
cp "‚"
|
||||
ret z
|
||||
inc c
|
||||
cp "F"
|
||||
ret z
|
||||
cp "€"
|
||||
ret z
|
||||
inc c
|
||||
cp "G"
|
||||
ret z
|
||||
cp "<22>"
|
||||
ret z
|
||||
inc c
|
||||
cp "H"
|
||||
ret z
|
||||
cp "<22>"
|
||||
ret z
|
||||
inc c
|
||||
cp "J"
|
||||
ret z
|
||||
cp "Ž"
|
||||
ret z
|
||||
inc c
|
||||
cp "K"
|
||||
ret z
|
||||
cp "‹"
|
||||
ret z
|
||||
inc c
|
||||
cp "L"
|
||||
ret z
|
||||
cp "„"
|
||||
ret z
|
||||
ld c,27h
|
||||
cp "'"
|
||||
ret z
|
||||
cp "<22>"
|
||||
ret z
|
||||
ld c,2Ah
|
||||
cp "Z"
|
||||
ret z
|
||||
cp "Ÿ"
|
||||
ret z
|
||||
inc c
|
||||
cp "X"
|
||||
ret z
|
||||
cp "—"
|
||||
ret z
|
||||
inc c
|
||||
cp "C"
|
||||
ret z
|
||||
cp "‘"
|
||||
ret z
|
||||
inc c
|
||||
cp "V"
|
||||
ret z
|
||||
cp "Œ"
|
||||
ret z
|
||||
inc c
|
||||
cp "B"
|
||||
ret z
|
||||
cp "ˆ"
|
||||
ret z
|
||||
inc c
|
||||
cp "N"
|
||||
ret z
|
||||
cp "’"
|
||||
ret z
|
||||
inc c
|
||||
cp "M"
|
||||
ret z
|
||||
cp "œ"
|
||||
ret z
|
||||
inc c
|
||||
cp ","
|
||||
ret z
|
||||
cp "<22>"
|
||||
ret z
|
||||
cp "<"
|
||||
ret z
|
||||
inc c
|
||||
cp "."
|
||||
ret z
|
||||
cp "ž"
|
||||
ret z
|
||||
cp ">"
|
||||
ret z
|
||||
inc c
|
||||
cp "/"
|
||||
ret z
|
||||
cp "."
|
||||
ret z
|
||||
cp "?"
|
||||
ret z
|
||||
ld c,35h
|
||||
cp '\' ;
|
||||
ret z
|
||||
cp "|"
|
||||
ret z
|
||||
ld c,38h
|
||||
cp " "
|
||||
ret z
|
||||
get_key_scancod2:
|
||||
ld c,-1
|
||||
ret
|
||||
104
MOD0/VECTORS.ASM
Executable file
@ -0,0 +1,104 @@
|
||||
; rst 00h
|
||||
jp $+3
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
; RST 08h. ‚ë§®¢ <20>¨®á
|
||||
push af
|
||||
ld a,0 ; ¢ª«. <20>‡“ <20>¨®á ¢ 0-¥ ®ª®
|
||||
out (7Ch),a
|
||||
pop af
|
||||
ret
|
||||
db -1
|
||||
; RST 10h. ‚ë§®¢ „Ž‘-
|
||||
jp int10 ; fm.asm
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
; RST 18h. ‚ë§®¢ ¢¥ªâ®à®¢ ¤¥¢ ©á®¢
|
||||
jp int18
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
; RST 20h. „à ©¢¥à ª« ¢ë ”Œ
|
||||
jp KeybDrv
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
; RST 28h. ‚ë§®¢ ᯥª-ª®¤
|
||||
push af
|
||||
ld a,0 ; á®åà. page_spec
|
||||
out (82h),a
|
||||
pop af
|
||||
ret
|
||||
db -1
|
||||
; RST 30h. „à ©¢¥à ¬ë誨 ”Œ
|
||||
jp MouseDrv
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
;
|
||||
; RST 38h. Main Interrupt
|
||||
jp $+3
|
||||
di
|
||||
push iy
|
||||
push ix
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
ex af,af'
|
||||
exx
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
call main_interrupt
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
exx
|
||||
ex af,af'
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
pop ix
|
||||
pop iy
|
||||
ei
|
||||
reti
|
||||
|
||||
|
||||
db -1,-1,-1,-1,-1,-1 ; £à ¨æã 0064h
|
||||
|
||||
;0064h
|
||||
retn
|
||||
db 0 ; 0066h (®â ¥¬ áª. ¯à¥àë¢ ¨ï ¢ IM0)
|
||||
db 0
|
||||
db 0
|
||||
jp $-5
|
||||
|
||||
|
||||
main_interrupt:
|
||||
ld a,(CurILFl)
|
||||
or a
|
||||
call nz,PrnILCr ; á®äâ®¢ë© ªãàá®à
|
||||
call show_clock ; ®â®¡à ¦¥¨¥ ç ᮢ ¯ ¥«¥©
|
||||
di
|
||||
ld a,(MouseFlg)
|
||||
or a
|
||||
call nz,Refresh ; ®¯à®á ¤à ©¢¥à ¬ë誨
|
||||
jp keyb_scan ; ®¯à®á ¤à ©¢¥à ª« ¢ë
|
||||
|
||||
;================ Š®¥æ ¡«®ª ‚¥ªâ®à®¢ à¥áâ à⮢ =====================
|
||||
30
MOD1/ABORT.Z80
Executable file
@ -0,0 +1,30 @@
|
||||
;ÉÍÍ Operation has been interrupted ÍÍ»
|
||||
;º º
|
||||
;º Do you really want to cancel it? º
|
||||
;º º
|
||||
;º Yes No º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª "<22>à¥àë¢ ¨¥ ®¯¥à 樨"
|
||||
dial_abort:
|
||||
dw 0D15h,0626h ; Yo,Xo,lenY,lenX
|
||||
db "Operation has been interrupted",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0203h ; Yo,Xo
|
||||
db "Do you really want to cancel it?",0
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0414h ; Yo,Xo
|
||||
db " &No ",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 040Eh ; Yo,Xo
|
||||
db " &Yes ",0 ; ¨¬ï ¡ãâ®
|
||||
db 15h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
183
MOD1/BUFFERS.ASM
Executable file
@ -0,0 +1,183 @@
|
||||
; <20> ¡®ç¨¥ ¡ãä¥àë
|
||||
|
||||
|
||||
|
||||
|
||||
; Œ ᪠¨¬¥ «¥¢®© ¯ ¥«¨
|
||||
mask_left_fname:
|
||||
db "*.*",0,0,0,0,0,0,0,0,0
|
||||
db 0
|
||||
|
||||
; Œ ᪠¨¬¥ ¯à ¢®© ¯ ¥«¨
|
||||
mask_right_fname:
|
||||
db "*.*",0,0,0,0,0,0,0,0,0
|
||||
db 0
|
||||
|
||||
|
||||
|
||||
|
||||
; <20>ãä¥àë ¥ à §ê¥¤¨ïâì, ¨á¯®«ì§ãîâáï ª ª ¡«®ª 512 ¡ ©â (§ ¯¨áì ini-ä ©« )
|
||||
;
|
||||
; ¡ãä¥à ¯ã⨠«¥¢®© ¯ ¥«¨
|
||||
buff_left:
|
||||
db '\'
|
||||
ds 255
|
||||
; ¡ãä¥à ¯ã⨠¯à ¢®© ¯ ¥«¨
|
||||
buff_right:
|
||||
db '\'
|
||||
ds 255
|
||||
|
||||
|
||||
|
||||
; ⥪. á¨áâ¥¬ë© ¯ãâì
|
||||
save_disk:
|
||||
db 0
|
||||
save_path:
|
||||
ds 256
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Œ áᨢ 㪠§ ⥫¥© § ¯¨á¨ «¥¢®£® ª â «®£
|
||||
;-------------------------------------------------
|
||||
left_pointers:
|
||||
ds 512*2 ; ¬ ªá. 512 § ¯¨á¥© ¯ ¯ª¨
|
||||
;-------------------------------------------------
|
||||
; Œ áᨢ 㪠§ ⥫¥© § ¯¨á¨ ¯à ¢®£® ª â «®£
|
||||
;-------------------------------------------------
|
||||
right_pointers:
|
||||
ds 512*2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; <20>ãä¥à ¨áâ®à¨¨ ª®¬ ¤ ª®¬-áâப¨
|
||||
history_buff:
|
||||
ds history_size ; 128 ;256
|
||||
|
||||
|
||||
; "¯¥à¥¢ «®çë©" ¡ãä¥à 梥⮢
|
||||
temp_colors:
|
||||
ds len_color_array
|
||||
|
||||
|
||||
|
||||
|
||||
; ‘âàãªâãà ª®¬ ¤®© áâப¨
|
||||
ComLineBuff:
|
||||
db max_len_comline ;+0 254 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
|
||||
db 0 ;+1 ä« £ ReadyString
|
||||
db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à ¢ ¯à¥¤¥« å áâப¨
|
||||
db 0 ;+3 X ᬥé. áâப¨ § «¥¢ë© ªà © (¢ ᨬ¢®« å)
|
||||
db 0 ;+4 ç¨á«® ¢¢¥¤¥ëå ᨬ¢®«®¢
|
||||
ds max_len_comline+1 ;+5 áâப ¢¢®¤
|
||||
|
||||
|
||||
; ‘âàãªâãà áâப¨ ¢¢®¤ "Copy"
|
||||
input_line_copy:
|
||||
db max_len_comline ;+0 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
|
||||
db 0 ;+1 ä« £ ReadyString
|
||||
db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à ¢ ¯à¥¤¥« å áâப¨
|
||||
db 0 ;+3 X ᬥé. áâப¨ § «¥¢ë© ªà © (¢ ᨬ¢®« å)
|
||||
db 0 ;+4 ç¨á«® ¢¢¥¤¥ëå ᨬ¢®«®¢ (Inp.Symb)
|
||||
ds max_len_comline+1 ;+5 áâப ¢¢®¤
|
||||
|
||||
|
||||
; ‘âàãªâãà áâப¨ ¢¢®¤ "Make directory"
|
||||
input_line_makedir:
|
||||
db max_len_comline ;+0 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
|
||||
db 0 ;+1 ä« £ ReadyString
|
||||
db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à ¢ ¯à¥¤¥« å áâப¨
|
||||
db 0 ;+3 X ᬥé. áâப¨ § «¥¢ë© ªà © (¢ ᨬ¢®« å)
|
||||
db 0 ;+4 ç¨á«® ¢¢¥¤¥ëå ᨬ¢®«®¢ (Inp.Symb)
|
||||
ds max_len_comline+1 ;+5 áâப ¢¢®¤
|
||||
|
||||
|
||||
; ‘âàãªâãà áâப¨ ¢¢®¤ "Rename/Remove"
|
||||
input_line_rename:
|
||||
db max_len_comline ;+0 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
|
||||
db 0 ;+1 ä« £ ReadyString
|
||||
db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à ¢ ¯à¥¤¥« å áâப¨
|
||||
db 0 ;+3 X ᬥé. áâப¨ § «¥¢ë© ªà © (¢ ᨬ¢®« å)
|
||||
db 0 ;+4 ç¨á«® ¢¢¥¤¥ëå ᨬ¢®«®¢ (Inp.Symb)
|
||||
ds max_len_comline+1 ;+5 áâப ¢¢®¤
|
||||
|
||||
|
||||
|
||||
; ‘âàãªâãà áâப¨ ¢¢®¤ ¤ âë
|
||||
InpDateStr:
|
||||
db 10 ;+0 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
|
||||
db 0 ;+1 ä« £ ReadyString
|
||||
db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à ¢ ¯à¥¤¥« å áâப¨
|
||||
db 0 ;+3 X ᬥé. áâப¨ § «¥¢ë© ªà © (¢ ᨬ¢®« å)
|
||||
db 0 ;+4 ç¨á«® ¢¢¥¤¥ëå ᨬ¢®«®¢ (Inp.Symb)
|
||||
db " ",0 ;+5 áâப ¢¢®¤
|
||||
|
||||
; ‘âàãªâãà áâப¨ ¢¢®¤ ¢à¥¬¥¨
|
||||
InpTimeStr:
|
||||
db 8 ;+0 ¬ ªá. ç¨á«® ¢¢®¤. ᨬ¢®«®¢
|
||||
db 0 ;+1 ä« £ ReadyString
|
||||
db 0 ;+2 X ⥪. ¯®«®¦. ªãàá®à ¢ ¯à¥¤¥« å áâப¨
|
||||
db 0 ;+3 X ᬥé. áâப¨ § «¥¢ë© ªà © (¢ ᨬ¢®« å)
|
||||
db 0 ;+4 ç¨á«® ¢¢¥¤¥ëå ᨬ¢®«®¢ (Inp.Symb)
|
||||
db " ",0 ;+5 áâப ¢¢®¤
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Œ áᨢ ï祥ª CheckBox ®ª "Interface settings"
|
||||
;-----------------------------------------------------------
|
||||
interface_ceil0:
|
||||
db false ; Highlight files
|
||||
interface_ceil1:
|
||||
db false ; Mouse
|
||||
interface_ceil2:
|
||||
db true ; Clock in panels
|
||||
interface_ceil3:
|
||||
db false ; Select folders
|
||||
interface_ceil4:
|
||||
db false ; Show line summary information
|
||||
interface_ceil5:
|
||||
db false ; Show sort mode letter
|
||||
interface_ceil6:
|
||||
db false ; Ins moves down
|
||||
interface_ceil7:
|
||||
db false ; Show system screen
|
||||
interface_ceil8:
|
||||
db false ; Enable Home/End in comline
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Œ áᨢ ï祥ª CheckBox ®ª "Confirmations"
|
||||
;-----------------------------------------------------------
|
||||
confirm_ceil0:
|
||||
db true ; Copy (¯¥à¥§ ¯¨áì)
|
||||
confirm_ceil1:
|
||||
db true ; Move (¯¥à¥§ ¯¨áì)
|
||||
confirm_ceil2:
|
||||
db true ; Delete
|
||||
confirm_ceil3:
|
||||
db true ; Delete non-empty folders
|
||||
confirm_ceil4:
|
||||
db true ; Exit
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Œ ᨢ ï祥ª CheckBox ®ª "Attributes"
|
||||
;-----------------------------------------------------------
|
||||
attrib_ceil0:
|
||||
db false ; Read only
|
||||
attrib_ceil1:
|
||||
db false ; Archives
|
||||
attrib_ceil2:
|
||||
db false ; Hidden
|
||||
attrib_ceil3:
|
||||
db false ; System
|
||||
;
|
||||
attrib_ceil4:
|
||||
db false ; Process subfolders
|
||||
27
MOD1/CHDISK.Z80
Executable file
@ -0,0 +1,27 @@
|
||||
; â ¡«¨æ «¥¢®£® ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
table_left_drive:
|
||||
dw 0504h ; Y/X ¯®«®¦. ¬¥î
|
||||
dw title_menu_drive ; ¤à¥á § £®«®¢ª ®ª
|
||||
dw work_buffer ; ¤à¥á ®¯¨á â¥«ï ¬¥î
|
||||
|
||||
; â ¡«¨æ ¯à ¢®£® ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
table_right_drive:
|
||||
dw 052Ch ; Y/X ¯®«®¦. ¬¥î
|
||||
dw title_menu_drive ; ¤à¥á § £®«®¢ª ®ª
|
||||
dw work_buffer ; ¤à¥á ®¯¨á â¥«ï ¬¥î
|
||||
|
||||
|
||||
; ‡ £®«®¢®ª ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
; <¤«¨ áâப¨>, <áâப >
|
||||
title_menu_drive:
|
||||
db 5,"Drive"
|
||||
|
||||
; â¨¯ë ¤¨áª®¢
|
||||
rem_drive:
|
||||
db "removable",0
|
||||
fix_drive:
|
||||
db "fixed",0
|
||||
cd_drive:
|
||||
db "cd-rom",0
|
||||
ram_drive:
|
||||
db "ram-disk",0
|
||||
55
MOD1/COLOR.ASM
Executable file
@ -0,0 +1,55 @@
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
;
|
||||
; ‚ë§®¢ ®ª áâனª¨ 梥⮢ (Options->Colors)
|
||||
;
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
setup_colors:
|
||||
; ¬ áᨢ 梥⮢ ¢® ¢à¥¬. ¡ãä¥à
|
||||
ld hl,color_array ; ®âªã¤
|
||||
ld de,tmp_color_list ; ªã¤ (¢à¥¬. ¡ãä¥à)
|
||||
ld bc,len_color_array ; à §¬¥à ¬ áᨢ
|
||||
ldir
|
||||
; ¢ë¢®¤ ®ª
|
||||
ld hl,dial_colors ; ®¯¨á â¥«ì ®ª
|
||||
call DialogW
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
jr nz,set_colors_done
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Set"
|
||||
jr nz,set_colors_done
|
||||
; 梥â. áâனª¨ ¢ ¯à®¬¥¦. ¡ãä¥à
|
||||
ld hl,tmp_color_list ; ®âªã¤
|
||||
ld de,temp_colors ; ªã¤ (¢à¥¬. ¡ãä¥à)
|
||||
ld bc,len_color_array ; à §¬¥à ¬ áᨢ
|
||||
ldir
|
||||
set_colors_done:
|
||||
; <20>ਬ¥¨âì áâனª¨ "Colors"
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
ld hl,what ; ¯®«¥ ᮡë⨩
|
||||
ld a,(hl)
|
||||
cp evCommand
|
||||
ret nz
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
cp cmDefault
|
||||
jr nz,$+7
|
||||
ld hl,default_colors ; ¬ áᨢ 梥⮢ ¯®-㬮«ç ¨î
|
||||
jr $+8
|
||||
cp cmOkey
|
||||
ret nz
|
||||
; ¯à¨¬¥¨âì æ¢¥â. áâனª¨
|
||||
ld hl,temp_colors ; ®âªã¤
|
||||
ld de,color_array ; ªã¤
|
||||
ld bc,len_color_array ; à §¬¥à ¬ áᨢ
|
||||
ldir
|
||||
call set_colors ; áâனª 梥⮢ ®¡®«®çª¨
|
||||
; ®¡®¢¨âì æ¢¥â ¯ ¥«¥©
|
||||
;apply_colors__: ; <- ¨§ set_attrib
|
||||
call change_panel ; ᬥ¨âì ¯ ¥«ì
|
||||
call A20FC ; ®¡®¢¨âì ¯ ¥«ì
|
||||
call change_panel
|
||||
call A20FC
|
||||
call print_compath ; ®¡®¢¨âì ª®¬-áâபã
|
||||
call print_keybar ; ®¡®¢¨âì key-¡ à
|
||||
jp show_pointer ; ®¡®¢¨âì 㪠§ ⥫ì
|
||||
187
MOD1/COLOR.Z80
Executable file
@ -0,0 +1,187 @@
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
;
|
||||
; ޝ¨á â¥«ì ®ª áâனª¨ 梥⮢
|
||||
;
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
dial_colors:
|
||||
dw 0309h,153Eh ; Yo,Xo,lenY,lenX
|
||||
db "Colors",0
|
||||
;
|
||||
db PResident1
|
||||
;
|
||||
db ListBox
|
||||
dw 0219h,0B10h ; Yo,Xo,lenY,lenX
|
||||
db "Group &items",0
|
||||
db 17h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
dw ItemList1 ; ¤à¥á ᯨáª
|
||||
;
|
||||
db PResident2
|
||||
dw tmp_color_list
|
||||
;
|
||||
db TestColor
|
||||
dw 0F1Ah ; Yo,Xo
|
||||
dw tmp_color_list
|
||||
db "Text Text Text Text",0
|
||||
;
|
||||
db PalleteBox
|
||||
dw 022Eh,0404h ; Yo,Xo,lenY,lenX
|
||||
db "&Foreground",0
|
||||
db 20h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db 2 ; ª®â¥ªáâ
|
||||
db 0Fh ; ¬ ᪠梥â
|
||||
dw tmp_color_list ; ï祩ª ⥪. 梥â
|
||||
;
|
||||
db PalleteBox
|
||||
dw 0C2Eh,0204h ; Yo,Xo,lenY,lenX
|
||||
db "&Background",0
|
||||
db 2Eh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db 3 ; ª®â¥ªáâ
|
||||
db 0F0h ; ¬ ᪠ä®
|
||||
dw tmp_color_list ; ï祩ª ⥪. 梥â
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 1315h ; Yo,Xo
|
||||
db "[ S&et ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 12h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 4 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 131Fh ; Yo,Xo
|
||||
db "[ Ca&ncel ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 5 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 1004h ; Yo,Xo
|
||||
db "[ &Default colors ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmDefault ; ®¬¥à ª®¬ ¤ë
|
||||
db 6 ; ª®â¥ªáâ
|
||||
;
|
||||
db ListBox
|
||||
dw 0202h,0C12h ; Yo,Xo,lenY,lenX
|
||||
db "Color &groups",0
|
||||
db 21h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
dw GroupList ; ¤à¥á ᯨáª
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
; ‘¯¨á®ª ListBox- "Color groups"
|
||||
GroupList:
|
||||
db "Panel",0Dh
|
||||
db "Horizontal menu",0Dh
|
||||
db "Menu",0Dh
|
||||
db "Key bar",0Dh
|
||||
db "Command line",0Dh
|
||||
db "Dialog",0Dh
|
||||
db "Viewer",0Dh
|
||||
db "Editor",0Dh
|
||||
db "Help",0Dh
|
||||
db "Miscelions",0Dh
|
||||
db "Files highlighting",0Dh
|
||||
db 0
|
||||
|
||||
|
||||
|
||||
ItemTab:dw ItemList1, tmp_color_list ; Panel
|
||||
dw ItemList2, color_list2 ; Horizontal menu
|
||||
dw ItemList3, color_list3 ; Menu
|
||||
dw ItemList4, color_list4 ; Key bar
|
||||
dw ItemList5, color_list5 ; Command line
|
||||
dw ItemList6, color_list6 ; Dialog
|
||||
dw ItemList7, color_list7 ; Viewer
|
||||
dw ItemList8, color_list8 ; Editor
|
||||
dw ItemList9, color_list9 ; Help
|
||||
dw ItemList10, color_list10 ; Miscelions
|
||||
dw ItemList11, color_list11 ; Files highlighting
|
||||
|
||||
|
||||
; <Panel>
|
||||
ItemList1:
|
||||
db "Normal cursor",0Dh ;+0
|
||||
db "Selected cursor",0Dh ;+1
|
||||
db "Normal text",0Dh ;+2
|
||||
db "Selected text",0Dh ;+3
|
||||
db "Selected title",0Dh ;+4
|
||||
db "Column title",0Dh ;+5
|
||||
db "Selected info",0Dh ;+6
|
||||
db "Highlighted info",0Dh ;+7
|
||||
db "Info names",0Dh ;+8
|
||||
db 0
|
||||
|
||||
; <Horizontal menu>
|
||||
ItemList2:
|
||||
db "Normal text",0Dh ;+12
|
||||
db "Highlighted text",0Dh ;+13
|
||||
db "Hot keys",0Dh ;+14
|
||||
db 0
|
||||
; <Menu>
|
||||
ItemList3:
|
||||
db "Normal text",0Dh ;+15
|
||||
db "Highlighted text",0Dh ;+16
|
||||
db "Hot keys",0Dh ;+17
|
||||
db 0
|
||||
; <Key bar>
|
||||
ItemList4:
|
||||
db "Key names",0Dh ;+20
|
||||
db "Key numbers",0Dh ;+21
|
||||
db 0
|
||||
; <Command line>
|
||||
ItemList5:
|
||||
db "Normal text",0Dh ;+22
|
||||
db 0
|
||||
; <Dialog>
|
||||
ItemList6:
|
||||
db "Normal text",0Dh ;+24
|
||||
db "Hot keys",0Dh ;+25
|
||||
db "Selected title",0Dh ;+26
|
||||
db "Info message",0Dh ;+27
|
||||
db "Warning message",0Dh ;+28
|
||||
db "ListBox",0Dh ;+29
|
||||
db "LB highlight",0Dh ;+30
|
||||
db "LB highlight hd",0Dh ;+31
|
||||
db "LB scroll bar",0Dh ;+32
|
||||
db "Text input",0Dh ;+33
|
||||
db "Selected buttons",0Dh ;+34
|
||||
db "Sel.butt.Wrn/Err",0Dh ;+35
|
||||
db 0
|
||||
; <Viewer>
|
||||
ItemList7:
|
||||
db "Normal text",0Dh ;+39
|
||||
db "Selected text",0Dh ;+40
|
||||
db "Status line",0Dh ;+41
|
||||
db "Scrolling arrows",0Dh ;+42
|
||||
db 0
|
||||
; <Edit>
|
||||
ItemList8:
|
||||
db "Normal text",0Dh ;+43
|
||||
db "Selected text",0Dh ;+44
|
||||
db "Status line",0Dh ;+45
|
||||
db 0
|
||||
; <Help>
|
||||
ItemList9:
|
||||
db "Normal text",0Dh ;+46
|
||||
db "Highlighted text",0Dh ;+47
|
||||
db "Title",0Dh ;+48
|
||||
db "Scrollbar",0Dh ;+49
|
||||
db 0
|
||||
; <Miscelions>
|
||||
ItemList10:
|
||||
db "Process line",0Dh ;+50
|
||||
db "Clock",0Dh ;+51
|
||||
db 0
|
||||
; <Files highlighting>
|
||||
ItemList11:
|
||||
db "Folder",0Dh ;+
|
||||
db "Execution",0Dh ;+
|
||||
db "Archive",0Dh ;+
|
||||
db "R/o, system",0Dh ;+
|
||||
db "Hidden",0Dh ;+
|
||||
db "Spectrum",0Dh ;+
|
||||
db 0
|
||||
1225
MOD1/COMLINE.ASM
Executable file
54
MOD1/CONFIRM.ASM
Executable file
@ -0,0 +1,54 @@
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
;
|
||||
; ‚ë§®¢ ®ª áâனª¨ ¯®¤â¢¥à¦¤¥¨© (Options->Confirmations)
|
||||
;
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
set_confirm:
|
||||
; áâநâì ¬ áᨢ ï祥ª CheckBox-
|
||||
call prep_confirm_ceils
|
||||
; ¢ë¢®¤ ®ª
|
||||
ld hl,win_dial_confirm ; ®¯¨á â¥«ì ®ª
|
||||
call DialogW
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Yes"
|
||||
ret nz
|
||||
; ‘®åà ¨âì áâனª¨
|
||||
ld hl,confirm_ceil0 ; ç «® ¬ áᨢ ï祥ª
|
||||
ld a,(hl)
|
||||
ld (copy_overwrite),a ; copy
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
;ld (),a ; move
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (del_confirm),a ; delete
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (flag_del_non_empty),a ; delete non-empty folders
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (confirm_quit),a ; exit
|
||||
ret
|
||||
|
||||
|
||||
; <20>®¤£®â®¢ª ¬ áᨢ ï祥ª CheckBox-
|
||||
prep_confirm_ceils:
|
||||
ld hl,confirm_ceil0 ; ç «® ¬ áᨢ ï祥ª
|
||||
ld a,false
|
||||
ld a,(copy_overwrite) ; copy
|
||||
ld (hl),a
|
||||
inc hl
|
||||
;ld a,() ; move
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(del_confirm) ; delete
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(flag_del_non_empty) ; delete non-empty folders
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(confirm_quit) ; exit
|
||||
ld (hl),a
|
||||
ret
|
||||
55
MOD1/CONFIRM.Z80
Executable file
@ -0,0 +1,55 @@
|
||||
;ÉÍÍÍÍÍÍÍÍ Confirmations ÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º [x] Copy º
|
||||
;º [x] Move º
|
||||
;º [x] Delete º
|
||||
;º [x] Delete non-empty folders º
|
||||
;º [x] Exit º
|
||||
;º º
|
||||
;ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
|
||||
;º [ Ok ] [ Cancel ] º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª áâனª¨ ¯®¤â¢¥à¦¤¥¨©
|
||||
win_dial_confirm:
|
||||
dw 0617h,0B22h ; Yo,Xo,lenY,lenX
|
||||
db "Confirmations",0 ; â¨â« ®ª
|
||||
;
|
||||
db HLine
|
||||
dw 0801h ; Yo,Xo
|
||||
db 32 ; ¤«¨ «¨¨¨
|
||||
db "Ä" ; ᨬ¢®« § ¯®«¥¨ï
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0908h ; Yo,Xo
|
||||
db "[ &Ok ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 18h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 5 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0910h ; Yo,Xo
|
||||
db "[ Ca&ncel ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 6 ; ª®â¥ªáâ
|
||||
;
|
||||
db ClsCheckBox ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0202h,051Ch ; Yo,Xo,lenY,lenX (á "[x] ")
|
||||
db "&Copy",0 ; ¨¬ï í«¥¬¥â
|
||||
db 2Ch ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw confirm_ceil0 ; ¤à¥á ï祩ª¨
|
||||
db "&Move",0 ; ¨¬ï í«¥¬¥â
|
||||
db 30h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw confirm_ceil1 ; ¤à¥á ï祩ª¨
|
||||
db "&Delete",0 ; ¨¬ï í«¥¬¥â
|
||||
db 1Fh ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw confirm_ceil2 ; ¤à¥á ï祩ª¨
|
||||
db "Delete non-empty &folders",0 ; ¨¬ï í«¥¬¥â
|
||||
db 20h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw confirm_ceil3 ; ¤à¥á ï祩ª¨
|
||||
db "E&xit",0 ; ¨¬ï í«¥¬¥â
|
||||
db 2Bh ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw confirm_ceil4 ; ¤à¥á ï祩ª¨
|
||||
db 0 ; ª®¥æ ª« áâ¥à
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
103
MOD1/COPY.Z80
Executable file
@ -0,0 +1,103 @@
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Copy ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Copy FILENAME.EXT to: º
|
||||
;º °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° º
|
||||
;ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
|
||||
;º [ Copy ] [ Cancel ] º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á ⥫ì ç «ì®£® ®ª ª®¯¨à®¢ ¨ï
|
||||
dial_copy:
|
||||
dw 0902h,074Ch ; Yo,Xo,lenY,lenX
|
||||
db "Copy",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0202h ; Yo,Xo
|
||||
db "Copy "
|
||||
copy_name:
|
||||
db "FILENAME.EXT"," to:",0 ; ¨¬ï ä ©« (®áâ ⮪ § ¯. ¯à®¡¥« ¬¨)
|
||||
;
|
||||
db HLine
|
||||
dw 0401h ; Yo,Xo
|
||||
db 74 ; ¤«¨ «¨¨¨
|
||||
db "Ä" ; ᨬ¢®« § ¯®«¥¨ï
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 051Bh ; Yo,Xo
|
||||
db "[ &Copy ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Ch ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0527h ; Yo,Xo
|
||||
db "[ Ca&ncel ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 2 ; ª®â¥ªáâ
|
||||
;
|
||||
db InputLine ; å à ªâ¥à ®¡ê¥ªâ
|
||||
dw 0302h ; Yo,Xo
|
||||
db 72 ; ¤«¨ áâப¨
|
||||
db 0 ; ª®â¥ªáâ
|
||||
dw input_line_copy ; ¡ãä¥à áâப¨ ¢¢®¤
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Copy ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Copying the file º
|
||||
;º FILENAME.EXT to: º
|
||||
;º A:\FILENAME.EXT º
|
||||
;º °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° º
|
||||
;ºÄÄÄÄÄÄÄÄÄÄ Total: 0,000,000,000 ÄÄÄÄÄÄÄÄÄĺ
|
||||
;º °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° º
|
||||
;º º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª ¯à®æ¥áá ª®¯¨à®¢ ¨ï
|
||||
dial_copy_total_process:
|
||||
dw 0912h,0A2Ch ; Yo,Xo,lenY,lenX
|
||||
db "Copy",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0202h ; Yo,Xo
|
||||
db "Copying the file",0
|
||||
;
|
||||
db TextLine
|
||||
dw 0302h ; Yo,Xo
|
||||
copy_name1:
|
||||
db "FILENAME.EXT"," to:",0 ; ¨¬ï ä ©« (®áâ ⮪ § ¯. ¯à®¡¥« ¬¨)
|
||||
;
|
||||
db TextLine
|
||||
dw 0402h ; Yo,Xo
|
||||
copy_name2:
|
||||
db 'A:\FILENAME.EXT ',0 ; 34 ¡ ©â
|
||||
;
|
||||
db HLine
|
||||
dw 0601h ; Yo,Xo
|
||||
db 42 ; ¤«¨ «¨¨¨
|
||||
db "Ä" ; ᨬ¢®« § ¯®«¥¨ï
|
||||
;
|
||||
db TextLine
|
||||
dw 060Bh ; Yo,Xo
|
||||
db " Total: "
|
||||
db "0,000,000,000 ",0
|
||||
; 2-ï «¨¥©ª (®¡é ï)
|
||||
db ProcesLine
|
||||
dw 0702h ; Y,X ¯®«®¦.
|
||||
db 40 ; ¤«¨ «¨¥©ª¨
|
||||
dw max_file_bytes1 ; ¤à¥á ï祩ª¨ á MAX ç¨á«®¬
|
||||
dw curr_bytes1 ; ¤à¥á ï祩ª¨ á ⥪. ç¨á«®¬
|
||||
subrout_process1:
|
||||
dw copy_file ; á®åà. ¤à¥á ¯/¯à®£à ¬¬ë ¯à®æ¥áá
|
||||
; 1-ï «¨¥©ª
|
||||
db ProcesLine
|
||||
dw 0502h ; Y,X ¯®«®¦.
|
||||
db 40 ; ¤«¨ «¨¥©ª¨
|
||||
dw max_file_bytes ; ¤à¥á ï祩ª¨ á MAX ç¨á«®¬
|
||||
dw curr_bytes ; ¤à¥á ï祩ª¨ á ⥪. ç¨á«®¬
|
||||
subrout_process:
|
||||
dw copy_file ; á®åà. ¤à¥á ¯/¯à®£à ¬¬ë ¯à®æ¥áá
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
57
MOD1/DELETE.Z80
Executable file
@ -0,0 +1,57 @@
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍ Delete ÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Do you wish to delete º
|
||||
;º º
|
||||
;º XXXXXXXXXXXX º
|
||||
;º º
|
||||
;º Delete Cancel º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
dial_delete:
|
||||
dw 091Ah,081Dh ; Yo,Xo,lenY,lenX
|
||||
db "Delete",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0204h ; Yo,Xo
|
||||
db "Do you wish to delete",0
|
||||
;
|
||||
db TextLine
|
||||
dw 0408h ; Yo,Xo
|
||||
delete_name:
|
||||
db "FILENAME.EXT",0 ; ¨¬ï ä ©« /¯ ¯ª¨
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 060Fh ; Yo,Xo
|
||||
db " Ca&ncel ",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0606h ; Yo,Xo
|
||||
db " &Delete ",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 2 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍ Delete ÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º Deleting the file or folder º
|
||||
;º XXXXXXXXXXXX º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
dial_delete_current:
|
||||
dw 0B16h,0424h ; Yo,Xo,lenY,lenX
|
||||
db "Delete",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0105h ; Yo,Xo
|
||||
db "Deleting the file or folder",0
|
||||
;
|
||||
db TextLine
|
||||
dw 020Ch ; Yo,Xo
|
||||
delete_name1:
|
||||
db "FILENAME.EXT",0 ; ¨¬ï ä ©« /¯ ¯ª¨
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
449
MOD1/DIALERR.Z80
Executable file
@ -0,0 +1,449 @@
|
||||
; ޝ¨á ⥫¨ ®ª® ®è¨¡®ª ®¯¥à 権 á ä ©« ¬¨/¯ ¯ª ¬¨
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Error ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Cannot copy FILENAME.EXT to: º
|
||||
;º | A:\FILENAME.EXT | º
|
||||
;º º
|
||||
;º Retry Skip Skip all Cancel º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª "Žè¨¡ª ª®¯¨à®¢ ¨ï"
|
||||
dial_error_copy:
|
||||
dw 0A12h,072Bh ; Yo,Xo,lenY,lenX
|
||||
db "Error",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0208h ; Yo,Xo
|
||||
db "Cannot "
|
||||
dial_error_op:
|
||||
db "copy "
|
||||
copy_name3:
|
||||
db "FILENAME.EXT"," to:",0 ; ¨¬ï ä ©« (®áâ ⮪ § ¯. ¯à®¡¥« ¬¨)
|
||||
;
|
||||
db TextLine
|
||||
dw 0305h ; Yo,Xo
|
||||
copy_name4:
|
||||
db 'A:\FILENAME.EXT ',0 ; 34 ¡ ©â
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 050Dh ; Yo,Xo
|
||||
db " &Skip ",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Eh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmSkip ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0513h ; Yo,Xo
|
||||
db " S&kip all ",0 ; ¨¬ï ¡ãâ®
|
||||
db 24h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmSkipAll ; ®¬¥à ª®¬ ¤ë
|
||||
db 2 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 051Dh ; Yo,Xo
|
||||
db " Ca&ncel ",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 3 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0506h ; Yo,Xo
|
||||
db " &Retry ",0 ; ¨¬ï ¡ãâ®
|
||||
db 13h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Warning ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º File already exists º
|
||||
;º | A:\TEMP\BP.EXE | º
|
||||
;ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
|
||||
;º New 496978 01.10.92 18:00:00 º
|
||||
;º Existing 27921 21.06.04 11:23:34 º
|
||||
;ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
|
||||
;º º
|
||||
;º Overwrite All Skip Skip all Append Cancel º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª "” ©« 㦥 áãé¥áâ¢ã¥â"
|
||||
dial_existing:
|
||||
dw 090Eh,0B34h ; Yo,Xo,lenY,lenX
|
||||
db "Warning",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0210h ; Yo,Xo
|
||||
db "File already exists",0
|
||||
;
|
||||
db TextLine
|
||||
dw 0308h ; Yo,Xo
|
||||
exists_name:
|
||||
db 'A:\TEMP\BP.EXE ',0 ; 34 ¡ ©â
|
||||
;
|
||||
db TextLine
|
||||
dw 0502h ; Yo,Xo
|
||||
db "New "
|
||||
exists_size:
|
||||
db " 496978" ; à §¬¥à ä ©«
|
||||
db " "
|
||||
exists_date:
|
||||
db "01.10.92" ; ¤ â
|
||||
db " "
|
||||
exists_time:
|
||||
db "18:00:00",0 ; ¢à¥¬ï
|
||||
;
|
||||
db TextLine
|
||||
dw 0602h ; Yo,Xo
|
||||
db "Existing "
|
||||
exists_size1:
|
||||
db " 27921" ; à §¬¥à ä ©«
|
||||
db " "
|
||||
exists_date1:
|
||||
db "21.06.04" ; ¤ â
|
||||
db " "
|
||||
exists_time1:
|
||||
db "11:23:34",0 ; ¢à¥¬ï
|
||||
;
|
||||
db HLine
|
||||
dw 0401h ; Yo,Xo
|
||||
db 50 ; ¤«¨ «¨¨¨
|
||||
db "Ä" ; ᨬ¢®« § ¯®«¥¨ï
|
||||
;
|
||||
db HLine
|
||||
dw 0701h ; Yo,Xo
|
||||
db 50 ; ¤«¨ «¨¨¨
|
||||
db "Ä" ; ᨬ¢®« § ¯®«¥¨ï
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 090Dh ; Yo,Xo
|
||||
db " &All ",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Dh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmAll ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0912h ; Yo,Xo
|
||||
db " &Skip ",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Eh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmSkip ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0918h ; Yo,Xo
|
||||
db " S&kip all ",0 ; ¨¬ï ¡ãâ®
|
||||
db 24h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmSkipAll ; ®¬¥à ª®¬ ¤ë
|
||||
db 2 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0922h ; Yo,Xo
|
||||
db " A&ppend ",0 ; ¨¬ï ¡ãâ®
|
||||
db 19h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmAppend ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 092Ah ; Yo,Xo
|
||||
db " Ca&ncel ",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 3 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0902h ; Yo,Xo
|
||||
db " &Overwrite ",0 ; ¨¬ï ¡ãâ®
|
||||
db 18h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Error ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Cannot create the folder º
|
||||
;º | FILENAME.EXT | º
|
||||
;º º
|
||||
;º Retry Cancel º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª "Žè¨¡ª á®§¤ ¨ï ¯ ¯ª¨"
|
||||
dial_error_make_folder:
|
||||
dw 0A17h,0728h ; Yo,Xo,lenY,lenX
|
||||
db "Error",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0207h ; Yo,Xo
|
||||
db "Cannot create the folder",0
|
||||
;
|
||||
db TextLine
|
||||
dw 0302h ; Yo,Xo
|
||||
create_name:
|
||||
db 'A:\..TVISION\SOURCES\LMDTOOLS\TEMP',0 ; 34 ¡ ©â
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0514h ; Yo,Xo
|
||||
db " Ca&ncel ",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 050Ch ; Yo,Xo
|
||||
db " &Retry ",0 ; ¨¬ï ¡ãâ®
|
||||
db 13h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍ Delete ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Cannot delete the file º
|
||||
;º FILENAME.EXT º
|
||||
;º º
|
||||
;º Retry Skip Skip all Cancel º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª Žè¨¡ª¨ 㤠«¥¨ï
|
||||
dial_error_delete:
|
||||
dw 0A15h,0725h ; Yo,Xo,lenY,lenX
|
||||
db "Delete",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0207h ; Yo,Xo
|
||||
db "Cannot delete the file",0
|
||||
;
|
||||
db TextLine
|
||||
dw 030Ch ; Yo,Xo
|
||||
delete_name2:
|
||||
db "FILENAME.EXT",0
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 050Ah ; Yo,Xo
|
||||
db " &Skip ",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Eh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmSkip ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0510h ; Yo,Xo
|
||||
db " S&kip all ",0 ; ¨¬ï ¡ãâ®
|
||||
db 24h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmSkipAll ; ®¬¥à ª®¬ ¤ë
|
||||
db 2 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 051Ah ; Yo,Xo
|
||||
db " Ca&ncel ",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 3 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0503h ; Yo,Xo
|
||||
db " &Retry ",0 ; ¨¬ï ¡ãâ®
|
||||
db 13h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Warning ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º The file is read only º
|
||||
;º FILENAME.EXT º
|
||||
;º Do you wish to delete it? º
|
||||
;º º
|
||||
;º Delete All Skip Skip all Cancel º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª Žè¨¡ª¨ 㤠«¥¨ï
|
||||
dial_delete_ro:
|
||||
dw 0A14h,0829h ; Yo,Xo,lenY,lenX
|
||||
db "Warning",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 020Ah ; Yo,Xo
|
||||
db "The file is read only",0
|
||||
;
|
||||
db TextLine
|
||||
dw 030Eh ; Yo,Xo
|
||||
delete_name3:
|
||||
db "FILENAME.EXT",0
|
||||
;
|
||||
db TextLine
|
||||
dw 0408h ; Yo,Xo
|
||||
db "Do you wish to delete it?",0
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 060Ah ; Yo,Xo
|
||||
db " &All ",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Dh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmAll ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 060Fh ; Yo,Xo
|
||||
db " &Skip ",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Eh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmSkip ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0615h ; Yo,Xo
|
||||
db " S&kip all ",0 ; ¨¬ï ¡ãâ®
|
||||
db 24h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmSkipAll ; ®¬¥à ª®¬ ¤ë
|
||||
db 2 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 061Fh ; Yo,Xo
|
||||
db " Ca&ncel ",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 3 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0602h ; Yo,Xo
|
||||
db " &Delete ",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍ Delete folder ÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º The following folder will be deleted: º
|
||||
;º | A:\FILENAME.EXT | º
|
||||
;º º
|
||||
;º Delete All Skip Cancel º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª <20>।ã¯à¥¦¤¥¨ï 㤠«¥¨ï ¥ ¯ãá⮩ ¯ ¯ª¨
|
||||
;dial_nonempty_delete_folder:
|
||||
; dw 0A14h,0729h ; Yo,Xo,lenY,lenX
|
||||
; db "Delete folder",0 ; â¨â« ®ª
|
||||
; ;
|
||||
; db TextLine
|
||||
; dw 0202h ; Yo,Xo
|
||||
; db "The following folder will be deleted:",0
|
||||
; ;
|
||||
; db TextLine
|
||||
; ;dw 0303h ; Yo,Xo
|
||||
; dw 030Eh
|
||||
;delete_name4:
|
||||
; ;db 'A:\FILENAME.EXT ',0 ; 34 ¡ ©â
|
||||
; db "FILENAME.EXT",0
|
||||
; ;
|
||||
; db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
; dw 050Fh ; Yo,Xo
|
||||
; db " &All ",0 ; ¨¬ï ¡ãâ®
|
||||
; db 1Dh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
; db cmAll ; ®¬¥à ª®¬ ¤ë
|
||||
; db 1 ; ª®â¥ªáâ
|
||||
; ;
|
||||
; db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
; dw 0514h ; Yo,Xo
|
||||
; db " &Skip ",0 ; ¨¬ï ¡ãâ®
|
||||
; db 1Eh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
; db cmSkip ; ®¬¥à ª®¬ ¤ë
|
||||
; db 2 ; ª®â¥ªáâ
|
||||
; ;
|
||||
; db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
; dw 051Ah ; Yo,Xo
|
||||
; db " Ca&ncel ",0 ; ¨¬ï ¡ãâ®
|
||||
; db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
; db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
; db 3 ; ª®â¥ªáâ
|
||||
; ;
|
||||
; db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
; dw 0507h ; Yo,Xo
|
||||
; db " &Delete ",0 ; ¨¬ï ¡ãâ®
|
||||
; db 1Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
; db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
; db 0 ; ª®â¥ªáâ
|
||||
; ;
|
||||
; db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍ Delete folder ÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º The following folder will be deleted: º
|
||||
;º FILENAME.EXT º
|
||||
;º º
|
||||
;º Delete Cancel º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª <20>।ã¯à¥¦¤¥¨ï 㤠«¥¨ï ¥ ¯ãá⮩ ¯ ¯ª¨
|
||||
dial_nonempty_delete_folder:
|
||||
dw 0914h,0729h ; Yo,Xo,lenY,lenX
|
||||
db "Delete folder",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0202h ; Yo,Xo
|
||||
db "The following folder will be deleted:",0
|
||||
;
|
||||
db TextLine
|
||||
dw 030Eh ; Yo,Xo
|
||||
delete_name4:
|
||||
db "FILENAME.EXT",0
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0515h ; Yo,Xo
|
||||
db " Ca&ncel ",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 050Ch ; Yo,Xo
|
||||
db " &Delete ",0 ; ¨¬ï ¡ãâ®
|
||||
db 1Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Delete ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Cannot delete the file or folder º
|
||||
;º FILENAME.EXT º
|
||||
;º º
|
||||
;º Ok º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª Žè¨¡ª¨ 㤠«¥¨ï
|
||||
dial_error_delete_tiny:
|
||||
dw 0915h,0726h ; Yo,Xo,lenY,lenX
|
||||
db "Delete",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0203h ; Yo,Xo
|
||||
db "Cannot delete the file or folder",0
|
||||
;
|
||||
db TextLine
|
||||
dw 030Dh ; Yo,Xo
|
||||
delete_name5:
|
||||
db "FILENAME.EXT",0
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0510h ; Yo,Xo
|
||||
db " &Ok ",0 ; ¨¬ï ¡ãâ®
|
||||
db 13h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
128
MOD1/HMENU.Z80
Executable file
@ -0,0 +1,128 @@
|
||||
; ޝ¨á ⥫¨ £®à¨§. Œ¥î ¨ Pull-¬¥î
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
; ޝ¨á â¥«ì ƒ®à¨§®â «ì®£® Œ¥î
|
||||
;
|
||||
; < §¢ ¨¥ ¯ãªâ ,0>, <᪥-ª®¤ hot-ª« ¢¨è¨>, < ¤à¥á ®¯¨á â¥«ï ¢¥àâ. ¬¥î>
|
||||
;---------------------------------------------------------------------------
|
||||
MenuTab:db "&Left",0,25h+80h
|
||||
dw PullMenu_Left ; ®¯¨á â¥«ì ¢¥àâ. ¬¥î "Left"
|
||||
db "&Files",0,20h+80h
|
||||
dw PullMenu_Files
|
||||
db "&Commands",0,2Ch+80h
|
||||
dw PullMenu_Commands
|
||||
db "&Options",0,18h+80h
|
||||
dw PullMenu_Options
|
||||
db "&Right",0,13h+80h
|
||||
dw PullMenu_Right
|
||||
db 0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; ޝ¨á ⥫¨ ¢¥à⨪ «ìëå Œ¥î
|
||||
;
|
||||
; <®¬¥à ¯ãªâ >, <¨¬ï ¯ãªâ ,0>, <᪥-ª®¤ hot-ª« ¢¨è¨>, <®¬¥à ª®â¥ªáâ >
|
||||
;----------------------------------------------------------------------------
|
||||
PullMenu_Left:
|
||||
db cmLBrief,"&Brief Ctrl+1",0,2Eh
|
||||
LBrief: db CTnodef ; ª®â¥ªáâ "brief"
|
||||
db cmLMed,"&Medium Ctrl+2",0,30h
|
||||
LMed: db CTnodef
|
||||
db cmLFull,"&Full Ctrl+3",0,20h
|
||||
LFull: db CTdef
|
||||
db -2 ; à §¤¥«¨â¥«ì
|
||||
db cmLInfo,"&Info panel Ctrl+L",0,17h
|
||||
LInfo: db CTnodef
|
||||
db cmLQview,"&Qview panel Ctrl+Q",0,10h
|
||||
LQview: db CTnodef
|
||||
db -2
|
||||
db cmLName,"&Name Ctrl+F3",0,2Fh
|
||||
LName: db CTdef
|
||||
db cmLExt,"E&xtension Ctrl+F4",0,2Bh
|
||||
LExt: db CTnodef
|
||||
db cmLDate,"&Date Ctrl+F5",0,1Fh
|
||||
LDate: db CTnodef
|
||||
db cmLSize,"&Size Ctrl+F6",0,1Eh
|
||||
LSize: db CTnodef
|
||||
db cmLUnsort,"&Unsorted Ctrl+F7",0,16h
|
||||
LUnsort:db CTnodef
|
||||
db -2
|
||||
db cmLFilter,"Fi<er...",0,25h,CTnodef
|
||||
db cmLChangeDrv,"&Change drive Alt+F1",0,2Ch,CTnodef
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
;
|
||||
PullMenu_Files:
|
||||
db cmHelp,"&Help F1",0,22h,CTnodef
|
||||
db cmUsrMenu,"&User menu F2",0,16h,CTnodef
|
||||
db cmView,"&View F3",0,2Dh,CTnodef
|
||||
db cmEdit,"&Edit F4",0,12h,CTnodef
|
||||
db cmCopy,"&Copy F5",0,2Ch,CTnodef
|
||||
db cmRename,"&Rename or move F6",0,13h,CTnodef
|
||||
db cmMkFolder,"&Make folder F7",0,30h,CTnodef
|
||||
db cmDelete,"&Delete F8",0,1Fh,CTnodef
|
||||
db -2
|
||||
db cmAttrib,"File &attributes Ctrl+A",0,1Dh,CTnodef
|
||||
db -2
|
||||
db cmSelGroup,"Select &group Gray +",0,21h,CTnodef
|
||||
db cmUSelGroup,"U&nselect group Gray -",0,2Fh,CTnodef
|
||||
db -2
|
||||
db cmQuit,"&Quit F10",0,10h,CTnodef
|
||||
db -1
|
||||
;
|
||||
PullMenu_Commands:
|
||||
db cmFind, "&Find file Alt+F7",0,20h,CTnodef
|
||||
db cmVolume, "&Volume label Ctrl+F8",0,2Dh,CTnodef
|
||||
db -2
|
||||
db cmSwap, "&Swap panels Ctrl+U",0,1Eh,CTnodef
|
||||
db cmPanelsOn,"&Panels On/Off Ctrl+O",0,19h,CTnodef
|
||||
db -2
|
||||
db cmNullTRD,"&Create TRD-image",0,2Ch,CTnodef
|
||||
db cmCopyTRD,"TRD-&image -> Disk",0,17h,CTnodef
|
||||
db cmSaveTRD,"&Disk -> TRD-image",0,1Fh,CTnodef
|
||||
db -1
|
||||
;
|
||||
PullMenu_Options:
|
||||
db cmInterface,"&Interface settings",0,17h,CTnodef
|
||||
db cmConfirm,"Co&nfirmations",0,2Fh,CTnodef
|
||||
db -2
|
||||
db cmColors,"Co&lors",0,25h,CTnodef
|
||||
db cmHighlight,"Files &highlighting",0,22h,CTnodef
|
||||
db -2
|
||||
db cmViewSet,"&Viewer settings",0,2Dh,CTnodef
|
||||
db cmEditSet,"&Editor settings",0,12h,CTnodef
|
||||
db -2
|
||||
db cmSaveSetup,"&Save setup Shift+F9",0,1Eh,CTnodef
|
||||
db -1
|
||||
;
|
||||
PullMenu_Right:
|
||||
db cmRBrief,"&Brief Ctrl+1",0,2Eh
|
||||
RBrief: db CTnodef ; ª®â¥ªáâ "brief"
|
||||
db cmRMed,"&Medium Ctrl+2",0,30h
|
||||
RMed: db CTnodef
|
||||
db cmRFull,"&Full Ctrl+3",0,20h
|
||||
RFull: db CTnodef
|
||||
db -2
|
||||
db cmRInfo,"&Info panel Ctrl+L",0,17h
|
||||
RInfo: db CTdef
|
||||
db cmRQview,"&Qview panel Ctrl+Q",0,10h
|
||||
RQview: db CTnodef
|
||||
db -2
|
||||
db cmRName,"&Name Ctrl+F3",0,2Fh
|
||||
RName: db CTnodef
|
||||
db cmRExt, "E&xtension Ctrl+F4",0,2Bh
|
||||
RExt: db CTdef
|
||||
db cmRDate,"&Date Ctrl+F5",0,1Fh
|
||||
RDate: db CTnodef
|
||||
db cmRSize,"&Size Ctrl+F6",0,1Eh
|
||||
RSize: db CTnodef
|
||||
db cmRUnsort,"&Unsorted Ctrl+F7",0,16h
|
||||
RUnsort:db CTnodef
|
||||
db -2
|
||||
db cmRFilter,"Fi<er...",0,25h,CTnodef
|
||||
db cmRChangeDrv,"&Change drive Alt+F2",0,2Ch,CTnodef
|
||||
db -1
|
||||
208
MOD1/INFO.Z80
Executable file
@ -0,0 +1,208 @@
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍ Information ÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Calculating disk space... º
|
||||
;º º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª
|
||||
win_info_panel:
|
||||
dw 0A16h,0523h ; Yo,Xo,lenY,lenX
|
||||
db "Information",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0205h ; Yo,Xo
|
||||
db "Calculating disk space...",0
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; â¨â«-®¯¨á ⥫ì info-ä®à¬ â
|
||||
;-------------------------------------------------
|
||||
title_info:
|
||||
db 13 ; ¤«¨ áâப¨
|
||||
info_color1__:
|
||||
db color_pointer ; 3Fh 梥â
|
||||
dw 0D00h ; X/Y ¯®«®¦.
|
||||
db " Information "
|
||||
;
|
||||
db 30 ; ¤«¨ áâப¨
|
||||
info_color2__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0502h ; X/Y ¯®«®¦.
|
||||
db "The File Manager, Version "
|
||||
db major_version + "0"
|
||||
db "."
|
||||
db (minor_version / 10) + "0"
|
||||
db (minor_version % 10) + "0"
|
||||
;
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
info_color4__:
|
||||
db color_panel ; 梥â
|
||||
dw 0005h ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ"
|
||||
;
|
||||
db 8 ; ¤«¨ áâப¨
|
||||
info_color23__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0206h ; X/Y ¯®«®¦.
|
||||
db "Board ID"
|
||||
;
|
||||
db 15 ; ¤«¨ áâப¨
|
||||
info_color24__:
|
||||
db color_folder ; 梥â
|
||||
dw 1706h ; X/Y ¯®«®¦.
|
||||
info_board_id:
|
||||
db "xx-xx-xxxxxxxxx"
|
||||
;
|
||||
db 12 ; ¤«¨ áâப¨
|
||||
info_color25__:
|
||||
db color_panel ; 梥â
|
||||
dw 0207h ; X/Y ¯®«®¦.
|
||||
db "BIOS Version"
|
||||
;
|
||||
db 9 ; ¤«¨ áâப¨
|
||||
info_color26__:
|
||||
db color_folder ; 梥â
|
||||
dw 1D07h ; X/Y ¯®«®¦.
|
||||
info_bios_version:
|
||||
db "00.00.000"
|
||||
;
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
info_color27__:
|
||||
db color_panel ; 梥â
|
||||
dw 0208h ; X/Y ¯®«®¦.
|
||||
db "CMOS"
|
||||
;
|
||||
db 3 ; ¤«¨ áâப¨
|
||||
info_color28__:
|
||||
db color_folder ; 梥â
|
||||
dw 2308h ; X/Y ¯®«®¦.
|
||||
info_cmos_string:
|
||||
db " No"
|
||||
;
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
info_color29__:
|
||||
db color_panel ; 梥â
|
||||
dw 0009h ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄ"
|
||||
info_type_device:
|
||||
db " Removable disk A: ÄÄÄÄÄÄÄÄÄĶ"
|
||||
;
|
||||
db 11 ; ¤«¨ áâப¨
|
||||
info_color5__:
|
||||
db color_panel ; 梥â
|
||||
dw 020Ah ; X/Y ¯®«®¦.
|
||||
db "Total bytes"
|
||||
;
|
||||
db 13 ; ¤«¨ áâப¨
|
||||
info_color6__:
|
||||
db color_title ; 梥â
|
||||
dw 190Ah ; X/Y ¯®«®¦.
|
||||
info_total_bytes:
|
||||
db "0,000,000,000"
|
||||
;
|
||||
db 10 ; ¤«¨ áâப¨
|
||||
info_color7__:
|
||||
db color_panel ; 梥â
|
||||
dw 020Bh ; X/Y ¯®«®¦.
|
||||
db "Free bytes"
|
||||
;
|
||||
db 13 ; ¤«¨ áâப¨
|
||||
info_color8__:
|
||||
db color_title ; 梥â
|
||||
dw 190Bh ; X/Y ¯®«®¦.
|
||||
info_free_bytes:
|
||||
db "0,000,000,000"
|
||||
;
|
||||
db 12 ; ¤«¨ áâப¨
|
||||
info_color9__:
|
||||
db color_panel ; 梥â
|
||||
dw 020Ch ; X/Y ¯®«®¦.
|
||||
db "Volume label"
|
||||
;
|
||||
db 11 ; ¤«¨ áâப¨
|
||||
info_color10__:
|
||||
db color_title ; 梥â
|
||||
dw 1B0Ch ; X/Y ¯®«®¦.
|
||||
info_volume:
|
||||
db " "
|
||||
;
|
||||
db 13 ; ¤«¨ áâப¨
|
||||
info_color11__:
|
||||
db color_panel ; 梥â
|
||||
dw 020Dh ; X/Y ¯®«®¦.
|
||||
db "Serial number"
|
||||
;
|
||||
db 9 ; ¤«¨ áâப¨
|
||||
info_color12__:
|
||||
db color_title ; 梥â
|
||||
dw 1D0Dh ; X/Y ¯®«®¦.
|
||||
info_serial:
|
||||
db "xxxx-xxxx"
|
||||
;
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
info_color13__:
|
||||
db color_panel ; 梥â
|
||||
dw 000Eh ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Memory ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ"
|
||||
;
|
||||
db 12 ; ¤«¨ áâப¨
|
||||
info_color15__:
|
||||
db color_panel ; 梥â
|
||||
dw 020Fh ; X/Y ¯®«®¦.
|
||||
db "Total memory"
|
||||
;
|
||||
db 9 ; ¤«¨ áâப¨
|
||||
info_color16__:
|
||||
db color_title ; 梥â
|
||||
dw 1D0Fh ; X/Y ¯®«®¦.
|
||||
info_total_memory:
|
||||
db "0,000,000"
|
||||
;
|
||||
db 11 ; ¤«¨ áâப¨
|
||||
info_color17__:
|
||||
db color_panel ; 梥â
|
||||
dw 0210h ; X/Y ¯®«®¦.
|
||||
db "Free memory"
|
||||
;
|
||||
db 9 ; ¤«¨ áâப¨
|
||||
info_color18__:
|
||||
db color_title ; 梥â
|
||||
dw 1D10h ; X/Y ¯®«®¦.
|
||||
info_free_memory:
|
||||
db "0,000,000"
|
||||
;
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
info_color19__:
|
||||
db color_panel ; 梥â
|
||||
dw 0011h ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ"
|
||||
;
|
||||
info_date:
|
||||
db 17 ; ¤«¨ áâப¨
|
||||
info_color3__:
|
||||
db color_panel ; 梥â
|
||||
dw 0B03h ; X/Y ¯®«®¦.
|
||||
info_date_string:
|
||||
db " 4 September 2004" ; ⥪. ¤ â
|
||||
;
|
||||
db 0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
; â¨¯ë «®£. ¤¨áª®¢
|
||||
info_hdd:
|
||||
db "ÄÄ Fixed disk C: ÄÄ"
|
||||
info_cdrom:
|
||||
db "ÄÄ CD-ROM disk D: Ä"
|
||||
info_fdd:
|
||||
db " Removable disk A: "
|
||||
info_ram:
|
||||
db "ÄÄÄ RAM-disk D: ÄÄÄ"
|
||||
|
||||
|
||||
cmos_yes:
|
||||
db "Yes" ; ¬/á CMOS ¥áâì
|
||||
cmos_no:db " No" ; ¬/á CMOS ¥â
|
||||
139
MOD1/INFO2.Z80
Executable file
@ -0,0 +1,139 @@
|
||||
;-------------------------------------------------
|
||||
; „®¯®«¨â¥«ìë© info-®¯¨á ⥫ì ᯥª-ä®à¬ â
|
||||
;-------------------------------------------------
|
||||
title_info_trd:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
info_color33__:
|
||||
db color_panel ; 梥â
|
||||
dw 0011h ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄ TRD-DOS disk image info ÄÄÄÄÄÄĶ"
|
||||
;
|
||||
db 10 ; ¤«¨ áâப¨
|
||||
info_color34__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0212h ; X/Y ¯®«®¦.
|
||||
db "Image type"
|
||||
;
|
||||
db 3 ; ¤«¨ áâப¨
|
||||
info_color35__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 2312h ; X/Y ¯®«®¦.
|
||||
img_type:
|
||||
db "TRD"
|
||||
;
|
||||
db 10 ; ¤«¨ áâப¨
|
||||
info_color36__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0213h ; X/Y ¯®«®¦.
|
||||
db "Disk title"
|
||||
;
|
||||
db 11 ; ¤«¨ áâப¨
|
||||
info_color37__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 1B13h ; X/Y ¯®«®¦.
|
||||
trd_vol:db "ADVENT#12/2"
|
||||
;
|
||||
db 9 ; ¤«¨ áâப¨
|
||||
info_color38__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0214h ; X/Y ¯®«®¦.
|
||||
db "Disk type"
|
||||
;
|
||||
db 5 ; ¤«¨ áâப¨
|
||||
info_color39__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 2114h ; X/Y ¯®«®¦.
|
||||
trd_type:
|
||||
db "??/??"
|
||||
;
|
||||
db 16 ; ¤«¨ áâப¨
|
||||
info_color40__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0215h ; X/Y ¯®«®¦.
|
||||
db "Write protection"
|
||||
;
|
||||
db 7 ; ¤«¨ áâப¨
|
||||
info_color41__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 1F15h ; X/Y ¯®«®¦.
|
||||
trd_protect:
|
||||
db " absent" ; " absent", "present"
|
||||
;
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
info_color42__:
|
||||
db color_panel ; 梥â
|
||||
dw 0016h ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄÄÄÄ Files info ÄÄÄÄÄÄÄÄÄÄÄÄÄĶ"
|
||||
;
|
||||
db 15 ; ¤«¨ áâப¨
|
||||
info_color43__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0217h ; X/Y ¯®«®¦.
|
||||
db "Number of files"
|
||||
;
|
||||
db 3 ; ¤«¨ áâப¨
|
||||
info_color44__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 2317h ; X/Y ¯®«®¦.
|
||||
trd_files:
|
||||
db " 0"
|
||||
;
|
||||
db 19 ; ¤«¨ áâப¨
|
||||
info_color45__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0218h ; X/Y ¯®«®¦.
|
||||
db "Number of del files"
|
||||
;
|
||||
db 3 ; ¤«¨ áâப¨
|
||||
info_color46__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 2318h ; X/Y ¯®«®¦.
|
||||
trd_delfiles:
|
||||
db " 0"
|
||||
;
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
info_color47__:
|
||||
db color_panel ; 梥â
|
||||
dw 0019h ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄÄ Free area info ÄÄÄÄÄÄÄÄÄÄÄĶ"
|
||||
;
|
||||
db 14 ; ¤«¨ áâப¨
|
||||
info_color48__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 021Ah ; X/Y ¯®«®¦.
|
||||
db "First free trk"
|
||||
;
|
||||
db 5 ; ¤«¨ áâப¨
|
||||
info_color49__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 211Ah ; X/Y ¯®«®¦.
|
||||
ffree_trk:
|
||||
db " 0"
|
||||
;
|
||||
db 14 ; ¤«¨ áâப¨
|
||||
info_color50__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 021Bh ; X/Y ¯®«®¦.
|
||||
db "First free sec"
|
||||
;
|
||||
db 5 ; ¤«¨ áâப¨
|
||||
info_color51__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 211Bh ; X/Y ¯®«®¦.
|
||||
ffree_sec:
|
||||
db " 0"
|
||||
;
|
||||
db 22 ; ¤«¨ áâப¨
|
||||
info_color52__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 021Ch ; X/Y ¯®«®¦.
|
||||
db "Number of free sectors"
|
||||
;
|
||||
db 5 ; ¤«¨ áâப¨
|
||||
info_color53__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 211Ch ; X/Y ¯®«®¦.
|
||||
free_sec:
|
||||
db " 0"
|
||||
;
|
||||
db 0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
105
MOD1/INTRFACE.ASM
Executable file
@ -0,0 +1,105 @@
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
;
|
||||
; ‚ë§®¢ ®ª áâனª¨ ¨â¥à䥩á (Options->Interface settings)
|
||||
;
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
set_interface:
|
||||
; áâநâì ¬ áᨢ ï祥ª CheckBox-
|
||||
call prep_interface_ceils
|
||||
; ¢ë¢®¤ ®ª
|
||||
ld hl,win_dial_interface ; ®¯¨á â¥«ì ®ª
|
||||
call DialogW
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Yes"
|
||||
ret nz
|
||||
; <20>ਬ¥¨âì áâனª¨
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
; á®åà ¨âì áâனª¨
|
||||
call save_interface_settings
|
||||
; ®¡®¢¨âì ¯ ¥«¨ ᮣ« á® áâனª ¬
|
||||
call fresh_show_summary_line ; Show line summary information
|
||||
call change_panel ; ᬥ¨âì ¯ ¥«ì
|
||||
call A20FC ; ®¡®¢¨âì ¯ ¥«ì
|
||||
call change_panel
|
||||
call A20FC
|
||||
jp show_pointer ; ¯®ª § âì 㪠§ ⥫ì
|
||||
|
||||
|
||||
; <20>®¤£®â®¢ª ¬ áᨢ ï祥ª CheckBox-
|
||||
prep_interface_ceils:
|
||||
ld a,(hilight_enable) ; à áªà áª ä ©«®¢
|
||||
ld hl,interface_ceil0 ; ç «® ¬ áᨢ ï祥ª
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(hidden_mouse) ; ¯àïâ âì ¬ëèªã ¯à¨ à ¡®â¥ á ª« ¢®©
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(enable_clock) ; ¢ë¢®¤ ç ᮢ ¢ ¯ ¥«ïå
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(mark_folders) ; ®â¬¥âª ¯ ¯®ª
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(flag_summary_info) ; ¢ë¢®¤ áâப¨ á㬬 ன ¨ä®à¬ 樨
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(sort_char_flag) ; ¢ë¢®¤ ¡ãª¢ë ०¨¬ á®àâ¨à®¢ª¨
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(enable_down_mark) ; ᬥé. ªãàá®à ¢¨§ ¯à¨ ¢ë¤¥«. ä ©«®¢
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(flag_esc) ; ¢à¥¬. ¯à®á¬®âà á¨áâ. íªà
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(move_home_end) ; ®âà ¡®âª Home/End ¢ ª®¬-áâப¥ ¯à¨ ®âªà. ¯ ¥«ïå
|
||||
ld (hl),a
|
||||
ret
|
||||
|
||||
|
||||
; ‘®åà ¨âì áâனª¨ ®ª "Interface settings"
|
||||
save_interface_settings:
|
||||
ld hl,interface_ceil0 ; ç «® ¬ áᨢ ï祥ª
|
||||
ld a,(hl)
|
||||
ld (hilight_enable),a ; à áªà áª ä ©«®¢
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (hidden_mouse),a ; ¯àïâ âì ¬ëèªã ¯à¨ à ¡®â¥ á ª« ¢®©
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (enable_clock),a ; ¢ë¢®¤ ç ᮢ ¢ ¯ ¥«ïå
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (mark_folders),a ; ®â¬¥âª ¯ ¯®ª
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (flag_summary_info),a ; ¢ë¢®¤ áâப¨ á㬬 ன ¨ä®à¬ 樨
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (sort_char_flag),a ; ¢ë¢®¤ ¡ãª¢ë ०¨¬ á®àâ¨à®¢ª¨
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (enable_down_mark),a ; ᬥé. ªãàá®à ¢¨§ ¯à¨ ¢ë¤¥«. ä ©«®¢
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (flag_esc),a ; ¢à¥¬. ¯à®á¬®âà á¨áâ. íªà
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (move_home_end),a ; ®âà ¡®âª Home/End ¢ ª®¬-áâப¥
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20> áâனª ¢ë¢®¤ áâப¨ á㬬 ன ¨äë
|
||||
;-------------------------------------------------
|
||||
fresh_show_summary_line:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z ; ¢ëª«.
|
||||
ld a,(flag_summary_info) ; ä« £
|
||||
or a
|
||||
ret z ; false
|
||||
jp get_total_free_space ; ã§ âì ᢮¡. ¬¥áâ® ¤¨áª å ¯ ¥«¥©
|
||||
72
MOD1/INTRFACE.Z80
Executable file
@ -0,0 +1,72 @@
|
||||
;ÉÍÍÍÍÍÍÍÍÍ Interface settings ÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º [x] Highlight files º
|
||||
;º [x] Hidden mouse º
|
||||
;º [x] Clock in panels º
|
||||
;º [x] Select folders º
|
||||
;º [x] Show line summary information º
|
||||
;º [x] Show sort mode letter º
|
||||
;º [x] Ins moves down º
|
||||
;º [x] Show system screen º
|
||||
;º [x] Enable Home/End in comline º
|
||||
;º º
|
||||
;ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
|
||||
;º [ Ok ] [ Cancel ] º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª áâனª¨ ¨â¥à䥩á
|
||||
; 42x17=714*2=1428 (0594h)
|
||||
win_dial_interface:
|
||||
dw 0614h,0F28h ; Yo,Xo,lenY,lenX
|
||||
db "Interface settings",0 ; â¨â« ®ª
|
||||
;
|
||||
db HLine
|
||||
dw 0C01h ; Yo,Xo
|
||||
db 38 ; ¤«¨ «¨¨¨
|
||||
db "Ä" ; ᨬ¢®« § ¯®«¥¨ï
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0D0Bh ; Yo,Xo
|
||||
db "[ &Ok ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 18h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 7 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0D13h ; Yo,Xo
|
||||
db "[ Ca&ncel ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 8 ; ª®â¥ªáâ
|
||||
;
|
||||
db ClsCheckBox ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0202h,0A21h ; Yo,Xo,lenY,lenX (á "[x] ")
|
||||
db "Hi&ghlight files",0 ; ¨¬ï í«¥¬¥â
|
||||
db 21h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw interface_ceil0 ; ¤à¥á ï祩ª¨
|
||||
db "Hidden &mouse",0 ; ¨¬ï í«¥¬¥â
|
||||
db 30h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw interface_ceil1 ; ¤à¥á ï祩ª¨
|
||||
db "&Clock in panels",0 ; ¨¬ï í«¥¬¥â
|
||||
db 2Ch ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw interface_ceil2 ; ¤à¥á ï祩ª¨
|
||||
db "Select &folders",0 ; ¨¬ï í«¥¬¥â
|
||||
db 20h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw interface_ceil3 ; ¤à¥á ï祩ª¨
|
||||
db "Show line &summary information",0 ; ¨¬ï í«¥¬¥â
|
||||
db 1Eh ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw interface_ceil4 ; ¤à¥á ï祩ª¨
|
||||
db "Show sort mode &letter",0 ; ¨¬ï í«¥¬¥â
|
||||
db 25h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw interface_ceil5 ; ¤à¥á ï祩ª¨
|
||||
db "&Ins moves down",0 ; ¨¬ï í«¥¬¥â
|
||||
db 17h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw interface_ceil6 ; ¤à¥á ï祩ª¨
|
||||
db "Show s&ystem screen",0 ; ¨¬ï í«¥¬¥â
|
||||
db 15h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw interface_ceil7 ; ¤à¥á ï祩ª¨
|
||||
db "&Enable Home/End in comline",0 ; ¨¬ï í«¥¬¥â
|
||||
db 12h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
dw interface_ceil8 ; ¤à¥á ï祩ª¨
|
||||
db 0 ; ª®¥æ ª« áâ¥à
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
42
MOD1/MKDIR.Z80
Executable file
@ -0,0 +1,42 @@
|
||||
; ‘®§¤ ¨¥ ¯ ¯ª¨ (72 ᨬ¢®« ¢ áâப¥)
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Make folder ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º Create the folder º
|
||||
;º °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° º
|
||||
;ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
|
||||
;º [ Ok ] [ Cancel ] º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª á®§¤ ¨ï ¯ ¯ª¨
|
||||
dial_folder:
|
||||
dw 0902h,064Ch ; Yo,Xo,lenY,lenX
|
||||
db "Make folder",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0102h ; Yo,Xo
|
||||
db "Create the folder",0
|
||||
;
|
||||
db HLine
|
||||
dw 0301h ; Yo,Xo
|
||||
db 74 ; ¤«¨ «¨¨¨
|
||||
db "Ä" ; ᨬ¢®« § ¯®«¥¨ï
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 041Dh ; Yo,Xo
|
||||
db "[ &Ok ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 18h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0425h ; Yo,Xo
|
||||
db "[ Ca&ncel ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 2 ; ª®â¥ªáâ
|
||||
;
|
||||
db InputLine ; å à ªâ¥à ®¡ê¥ªâ
|
||||
dw 0202h ; Yo,Xo
|
||||
db 72 ; ¤«¨ áâப¨
|
||||
db 0 ; ª®â¥ªáâ
|
||||
dw input_line_makedir ; ¡ãä¥à áâப¨ ¢¢®¤
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
509
MOD1/PANELS.Z80
Executable file
@ -0,0 +1,509 @@
|
||||
;-------------------------------------------------------------------------
|
||||
;
|
||||
; ޝ¨á ⥫¨ ä®à¬ ⮢ ¯ ¥«¥©
|
||||
;
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ޝ¨á ⥫ì ä®à¬ ⮢ ¯à ¢®© ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
deskr_right:
|
||||
dw deskr_full ; ®¯¨á ⥫ì full-ä®à¬ â
|
||||
dw deskr_med ; ®¯¨á ⥫ì medium-ä®à¬ â
|
||||
dw deskr_brief ; ®¯¨á ⥫ì brief-ä®à¬ â
|
||||
dw deskr_info ; ®¯¨á ⥫ì info ä®à¬ â
|
||||
dw deskr_qview ; ®¯¨á ⥫ì qview ä®à¬ â
|
||||
dw deskr_spec ; ®¯¨á ⥫ì ᯥª-ä®à¬ ⮢
|
||||
|
||||
;-------------------------------------------------
|
||||
; ޝ¨á ⥫ì ä®à¬ ⮢ «¥¢®© ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
deskr_left:
|
||||
dw deskr_full ; ®¯¨á ⥫ì full-ä®à¬ â
|
||||
dw deskr_med ; ®¯¨á ⥫ì medium-ä®à¬ â
|
||||
dw deskr_brief ; ®¯¨á ⥫ì brief-ä®à¬ â
|
||||
dw deskr_info ; ®¯¨á ⥫ì info ä®à¬ â
|
||||
dw deskr_qview ; ®¯¨á ⥫ì qview ä®à¬ â
|
||||
dw deskr_spec ; ®¯¨á ⥫ì ᯥª-ä®à¬ ⮢
|
||||
|
||||
; ¯®«ë© ä®à¬ â
|
||||
deskr_full:
|
||||
dw title_full ; â¨â« ¯ ¥«¨
|
||||
dw up_full ; «¨¨ï "ÉÍÍÍÍÍÑÍÍÑÍÍÍÑÍ»"
|
||||
dw footer_full ; «¨¨ï "ÇÄÄÄÄÄÁÄÄÁÄÄÄÁĶ"
|
||||
dw botline ; «¨¨ï "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"
|
||||
db files_per_colon ; 1 ª®«®ª ¢ 25 ä ©«®¢
|
||||
db 0
|
||||
; á।¨© ä®à¬ â
|
||||
deskr_med:
|
||||
dw title_medium ; â¨â« ¯ ¥«¨
|
||||
dw up_med ; «¨¨ï "ÉÍÍÍÍÍÍÑÍÍÍÍÍÍÍ»"
|
||||
dw footer_med ; «¨¨ï "ÇÄÄÄÄÄÄÁÄÄÄÄÄÄĶ"
|
||||
dw botline ; «¨¨ï "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"
|
||||
db files_per_colon*2 ; 2 ª®«®ª¨ ¯® 25 ä ©«®¢
|
||||
db 0
|
||||
; ªà ⪨© ä®à¬ â
|
||||
deskr_brief:
|
||||
dw title_brief ; â¨â« ¯ ¥«¨
|
||||
dw up_brief ; «¨¨ï "ÉÍÍÍÍÑÍÍÍÍÑÍÍÍÍ»"
|
||||
dw footer_brief ; «¨¨ï "ÇÄÄÄÄÁÄÄÄÄÁÄÄÄĶ"
|
||||
dw botline ; «¨¨ï "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"
|
||||
db files_per_colon*3 ; 3 ª®«®ª¨ ¯® 25 ä ©«®¢
|
||||
db 0
|
||||
; info ä®à¬ â
|
||||
deskr_info:
|
||||
dw title_info ; â¨â« ¯ ¥«¨
|
||||
dw up_info ; «¨¨ï "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»"
|
||||
dw footer_info ; «¨¨ï "º º"
|
||||
dw botline ; «¨¨ï "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"
|
||||
db files_per_colon ; 1 ª®«®ª ¢ 25 ä ©«®¢
|
||||
db 0
|
||||
; qview ä®à¬ â
|
||||
deskr_qview:
|
||||
dw title_qview ; â¨â« ¯ ¥«¨
|
||||
dw up_info ; «¨¨ï "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»"
|
||||
dw footer_info ; «¨¨ï "º º"
|
||||
dw botline ; «¨¨ï "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"
|
||||
db files_per_colon ; 1 ª®«®ª ¢ 25 ä ©«®¢
|
||||
db 0
|
||||
; ᯥª-ä®à¬ â
|
||||
deskr_spec:
|
||||
dw title_spec ; â¨â« ¯ ¥«¨
|
||||
dw up_spec ; «¨¨ï "ÉÍÍÍÍÍÑÍÍÑÍÍÑÍÑÍÑÍ»"
|
||||
dw footer_spec ; «¨¨ï "ÇÄÄÄÄÄÁÄÄÁÄÄÁÄÁÄÁĶ"
|
||||
dw botline ; «¨¨ï "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"
|
||||
db files_per_colon ; 1 ª®«®ª ¢ 25 ä ©«®¢
|
||||
db 0
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ®¯¨á â¥«ì ¢¥à奩 áâப¨ ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
; ¯®«ë© ä®à¬ â
|
||||
up_full:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
up_color1__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0000h ; X/Y ¯®«®¦.
|
||||
db "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÑÍÍÍÍÍ»"
|
||||
db 0
|
||||
|
||||
; á।¨© ä®à¬ â
|
||||
up_med:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
up_color2__:
|
||||
db color_panel ; 梥â
|
||||
dw 0000h ; X/Y ¯®«®¦.
|
||||
db "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»"
|
||||
db 0
|
||||
|
||||
; ªà ⪨© ä®à¬ â
|
||||
up_brief:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
up_color3__:
|
||||
db color_panel ; 梥â
|
||||
dw 0000h ; X/Y ¯®«®¦.
|
||||
db "ÉÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍ»"
|
||||
db 0
|
||||
|
||||
; info, qview ä®à¬ âë
|
||||
up_info:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
up_color31__:
|
||||
db color_panel ; 3Fh 梥â
|
||||
dw 0000h ; X/Y ¯®«®¦.
|
||||
db "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»"
|
||||
db 0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
; ᯥª-ä®à¬ â
|
||||
up_spec:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
up_color4__:
|
||||
db color_panel ; 梥â
|
||||
dw 0000h ; X/Y ¯®«®¦.
|
||||
db "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÑÍÍÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍ»"
|
||||
db 0
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ®¯¨á ⥫ì footer-áâப¨ ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
; ¯®«ë© ä®à¬ â
|
||||
footer_full:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
footer_color1__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 001Bh ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄĶ"
|
||||
db 0
|
||||
|
||||
; á।¨© ä®à¬ â
|
||||
footer_med:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
footer_color2__:
|
||||
db color_panel ; 梥â
|
||||
dw 001Bh ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ"
|
||||
db 0
|
||||
|
||||
; ªà ⪨© ä®à¬ â
|
||||
footer_brief:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
footer_color3__:
|
||||
db color_panel ; 梥â
|
||||
dw 001Bh ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄĶ"
|
||||
db 0
|
||||
|
||||
; info, qview ä®à¬ âë
|
||||
footer_info:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
footer_color41__:
|
||||
db color_panel ; 梥â
|
||||
dw 001Bh ; X/Y ¯®«®¦.
|
||||
midline4:
|
||||
db "º º"
|
||||
db 0
|
||||
|
||||
; ᯥª-ä®à¬ â
|
||||
footer_spec:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
footer_color4__:
|
||||
db color_panel ; 梥â
|
||||
dw 001Bh ; X/Y ¯®«®¦.
|
||||
db "ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÁÄÄÄÁÄÄĶ"
|
||||
db 0
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ®¯¨á ⥫ì botline-áâப¨ ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
botline:
|
||||
db 40 ; ¤«¨ áâப¨
|
||||
botline_color_:
|
||||
db color_panel ; 梥â
|
||||
dw 001Dh ; X/Y ¯®«®¦.
|
||||
botline1:
|
||||
db "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"
|
||||
db 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ®¯¨á ⥫ì áâப¨ ®â¬¥ç¥ëå ä ©«®¢ «¥¢®© ¯ ¥«¨
|
||||
;-----------------------------------------------------------
|
||||
markline_left:
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
markline_color_:
|
||||
db color_markline ; 3Eh 梥â
|
||||
dw 021Bh ; X/Y ¯®«®¦.
|
||||
db " 0,000,000,000 bytes in 00000 files "
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ®¯¨á ⥫ì áâப¨ ®â¬¥ç¥ëå ä ©«®¢ ¯à ¢®© ¯ ¥«¨
|
||||
;-----------------------------------------------------------
|
||||
markline_right:
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
markline_color1_:
|
||||
db color_markline ; 3Eh 梥â
|
||||
dw 021Bh ; X/Y ¯®«®¦.
|
||||
db " 0,000,000,000 bytes in 00000 files "
|
||||
|
||||
|
||||
mark_string1__:
|
||||
db " bytes in " ; 10 ¡ ©â
|
||||
mark_string2__:
|
||||
db " files" ; 6 ¡ ©â
|
||||
|
||||
|
||||
folder_string:
|
||||
db " Folder"
|
||||
up_string:
|
||||
db " Up "
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ®¯¨á ⥫ì áâ âãá. áâப¨ ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
status_string:
|
||||
db 38 ; ¤«¨ áâப¨
|
||||
status_color__:
|
||||
db color_panel ; 梥â
|
||||
dw 011Ch ; X/Y ¯®«®¦.
|
||||
; "Filenamm.Ext 0005940 21.06.04 18:50"
|
||||
db " "
|
||||
db 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; á।ïï ç áâì à ¬ª¨ ¯ ¥«¨
|
||||
midline1:
|
||||
db "º ³ ³ ³ º" ; full
|
||||
midline2:
|
||||
db "º ³ º" ; medium
|
||||
midline3:
|
||||
db "º ³ ³ º" ; brief
|
||||
midline_spec:
|
||||
db "º ³ ³ ³ ³ ³ º" ; full-spectrum
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; â¨â« full-ä®à¬ â
|
||||
;-------------------------------------------------
|
||||
title_full:
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
full_color1__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 0701h ; X/Y ¯®«®¦.
|
||||
db "Name"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
full_color2__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 1001h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
full_color3__:
|
||||
db color_title ; 梥â
|
||||
dw 1301h ; X/Y ¯®«®¦.
|
||||
db "Size"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
full_color4__:
|
||||
db color_panel ; 梥â
|
||||
dw 1801h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
full_color5__:
|
||||
db color_title ; 梥â
|
||||
dw 1B01h ; X/Y ¯®«®¦.
|
||||
db "Date"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
full_color6__:
|
||||
db color_panel ; 梥â
|
||||
dw 2101h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
full_color7__:
|
||||
db color_title ; 梥â
|
||||
dw 2201h ; X/Y ¯®«®¦.
|
||||
db "Time"
|
||||
db 0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
;-------------------------------------------------
|
||||
; â¨â« medium-ä®à¬ â
|
||||
;-------------------------------------------------
|
||||
title_medium:
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
med_color1__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 0801h ; X/Y ¯®«®¦.
|
||||
db "Name"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
med_color2__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 1301h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
med_color3__:
|
||||
db color_title ; 梥â
|
||||
dw 1B01h ; X/Y ¯®«®¦.
|
||||
db "Name"
|
||||
db 0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
;-------------------------------------------------
|
||||
; â¨â« brief-ä®à¬ â
|
||||
;-------------------------------------------------
|
||||
title_brief:
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
brief_color1__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 0501h ; X/Y ¯®«®¦.
|
||||
db "Name"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
brief_color2__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0D01h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
brief_color3__:
|
||||
db color_title ; 梥â
|
||||
dw 1201h ; X/Y ¯®«®¦.
|
||||
db "Name"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
brief_color4__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 1A01h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
brief_color5__:
|
||||
db color_title ; 梥â
|
||||
dw 1F01h ; X/Y ¯®«®¦.
|
||||
db "Name"
|
||||
db 0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
;-------------------------------------------------
|
||||
; â¨â« ᯥª-ä®à¬ â
|
||||
;-------------------------------------------------
|
||||
title_spec:
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
spec_color1__:
|
||||
db color_title ; 1Eh 梥â
|
||||
dw 0601h ; X/Y ¯®«®¦.
|
||||
db "Name"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
spec_color2__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0F01h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 4 ; ¤«¨ áâப¨
|
||||
spec_color3__:
|
||||
db color_title ; 梥â
|
||||
dw 1101h ; X/Y ¯®«®¦.
|
||||
db "Size"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
spec_color4__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 1501h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 5 ; ¤«¨ áâப¨
|
||||
spec_color5__:
|
||||
db color_title ; 梥â
|
||||
dw 1601h ; X/Y ¯®«®¦.
|
||||
db "Start"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
spec_color6__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 1B01h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 3 ; ¤«¨ áâப¨
|
||||
spec_color7__:
|
||||
db color_title ; 梥â
|
||||
dw 1C01h ; X/Y ¯®«®¦.
|
||||
db "SSz"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
spec_color8__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 1F01h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 3 ; ¤«¨ áâப¨
|
||||
spec_color9__:
|
||||
db color_title ; 梥â
|
||||
dw 2001h ; X/Y ¯®«®¦.
|
||||
db "Trk"
|
||||
;
|
||||
db 1 ; ¤«¨ áâப¨
|
||||
spec_color10__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 2301h ; X/Y ¯®«®¦.
|
||||
db "³"
|
||||
;
|
||||
db 3 ; ¤«¨ áâப¨
|
||||
spec_color11__:
|
||||
db color_title ; 梥â
|
||||
dw 2401h ; X/Y ¯®«®¦.
|
||||
db "Sec"
|
||||
;
|
||||
db 0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ®¯¨á â¥«ì ¡ãª¢ë á®àâ¨à®¢ª¨
|
||||
;-------------------------------------------------
|
||||
sort_char:
|
||||
db 2 ; ¤«¨ áâப¨
|
||||
sort_color__:
|
||||
db color_title ; 梥â
|
||||
dw 0101h ; X/Y ¯®«®¦.
|
||||
sort_char__:
|
||||
db "n" ; n/e/d/s/u
|
||||
db 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ®¯¨á ⥫ì á㬬 ன ¨ä®à¬ 樨 (¢¨§ã ¯ ¥«¨)
|
||||
;-------------------------------------------------
|
||||
deskr_summary:
|
||||
db 38 ; ¤«¨ áâப¨
|
||||
summary_color__:
|
||||
db color_panel ; 梥â
|
||||
dw 011Dh ; X/Y ¯®«®¦.
|
||||
summary_string:
|
||||
db " 0,000,000,000 (0000) Í 0,000,000,000 "
|
||||
db 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ®¯¨á ⥫ì path-áâப¨ «¥¢®© ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
path_left:
|
||||
db 5 ; ¤«¨ áâப¨
|
||||
path_color1__:
|
||||
db color_pointer ; 30h 梥â
|
||||
dw 0200h ; X/Y ¯®«®¦. áâப¨ ®â ç « ¯ ¥«¨
|
||||
db " " ; ç «® áâப¨
|
||||
disk_left:
|
||||
db "X:"
|
||||
ds width_max+2 ; 33+1 ¡ãä¥à ¯ãâ¨
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ®¯¨á ⥫ì path-áâப¨ ¯à ¢®© ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
path_right:
|
||||
db 5 ; ¤«¨ áâப¨
|
||||
path_color2__:
|
||||
db color_pointer ; 30h 梥â
|
||||
dw 0200h ; X/Y ¯®«®¦. áâப¨ ®â ç « ¯ ¥«¨
|
||||
db " " ; ç «® áâப¨
|
||||
disk_right:
|
||||
db "X:"
|
||||
ds width_max+2 ; 33+1 ¡ãä¥à ¯ãâ¨
|
||||
239
MOD1/PULLCMND.ASM
Executable file
@ -0,0 +1,239 @@
|
||||
;///////////////////////////////////////////////////////////
|
||||
;
|
||||
; ‚믮«¥¨¥ ¯ãªâ®¢ pull-¬¥î
|
||||
;
|
||||
;///////////////////////////////////////////////////////////
|
||||
pull_commands:
|
||||
ld hl,what ; ¯®«¥ ᮡë⨩
|
||||
ld a,(hl)
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ " ?
|
||||
ret nz ; ¥â
|
||||
inc hl
|
||||
ld a,(hl) ;+1 ®¬¥à ª®¬ ¤ë (¯ãªâ )
|
||||
ld c,a ; á®åà. ®¬¥à
|
||||
add a,a
|
||||
ld e,a
|
||||
ld d,0
|
||||
ld hl,pull_array ; ᯨ᮪ ®¡à ¡®â稪®¢
|
||||
add hl,de
|
||||
ld e,(hl)
|
||||
inc hl
|
||||
ld d,(hl)
|
||||
ex de,hl
|
||||
ld a,c ; ¢®ááâ. ®¬¥à ª®¬ ¤ë
|
||||
jp (hl) ; a=¢å®¤. ¯ à ¬¥âà
|
||||
|
||||
|
||||
; ᯨ᮪ ®¡à ¡®â稪®¢ pull-¬¥î
|
||||
pull_array:
|
||||
; Left
|
||||
dw left_right ; brief-ä®à¬ â
|
||||
dw left_right ; medium-ä®à¬ â
|
||||
dw left_right ; full-ä®à¬ â
|
||||
dw left_info ; info-ä®à¬ â
|
||||
dw left_qview ; qview-ä®à¬ â
|
||||
dw left_right ; sort "Name"
|
||||
dw left_right ; sort "Ext"
|
||||
dw left_right ; sort "Date"
|
||||
dw left_right ; sort "Size"
|
||||
dw left_right ; "Unsort"
|
||||
dw pull_empty ;LFilter
|
||||
dw select_left_drive ; ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
; Files
|
||||
dw pull_empty ;Help
|
||||
dw user_menu ; ¢ë§®¢ Œ¥î <20>®«ì§®¢ ⥫ï
|
||||
dw pull_empty ;View
|
||||
dw pull_empty ;Edit
|
||||
dw copy ; Copy
|
||||
dw rename ; Rename
|
||||
dw make_folder ; Make folder
|
||||
dw delete ; Delete
|
||||
dw pull_empty;set_attrib2 ; ¢ë¢®¤ ®ª âਡã⮢ ä ©« /¯ ¯ª¨
|
||||
dw pull_empty ;SelGroup
|
||||
dw pull_empty ;USelGroup
|
||||
dw quit ; ¢ë室 ¢ „Ž‘
|
||||
; Commands
|
||||
dw pull_empty ;Find
|
||||
dw pull_empty ;Volume
|
||||
dw swap_panels ; ®¡¬¥ ¯ ¥«¥©
|
||||
dw hidden_panels ; ã¡à âì/¯®ª § âì ¯ ¥«¨
|
||||
dw pull_empty ;Create TRD-image
|
||||
dw pull_empty ;TRD-image -> Disk
|
||||
dw pull_empty ;Disk -> TRD-image
|
||||
; Options
|
||||
dw set_interface ; ®ª® áâனª¨ ¨â¥à䥩á
|
||||
dw set_confirm ; ®ª® áâனª¨ ¯®¤â¢¥à¦¤¥¨©
|
||||
dw setup_colors ; áâனª 梥⮢ ¬¥¥¤¦¥à
|
||||
dw pull_empty ;Highlight
|
||||
dw pull_empty ;ViewSet
|
||||
dw pull_empty ;EditSet
|
||||
dw write_ini_file ; § ¯¨á âì ini-ä ©«
|
||||
; Right
|
||||
dw left_right ; brief-ä®à¬ â
|
||||
dw left_right ; medium-ä®à¬ â
|
||||
dw left_right ; full-ä®à¬ â
|
||||
dw right_info ; info-ä®à¬ â
|
||||
dw right_qview ; qview-ä®à¬ â
|
||||
dw left_right ; sort "Name"
|
||||
dw left_right ; sort "Ext"
|
||||
dw left_right ; sort "Date"
|
||||
dw left_right ; sort "Size"
|
||||
dw left_right ; "Unsort"
|
||||
dw pull_empty ;RFilter
|
||||
dw select_right_drive ; ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
|
||||
; § £«ãèª
|
||||
pull_empty:
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;///////////////////////////////////////////////////////////
|
||||
; <20>ãªâë ¬¥î Left/Right (¤® "Filter...")
|
||||
; ¢å®¤: a=®¬¥à pull-¯ãªâ
|
||||
;///////////////////////////////////////////////////////////
|
||||
left_right:
|
||||
ld (punct_left_right),a
|
||||
ld hl,show_pointer ; â®çª ¢ë室
|
||||
push hl
|
||||
cp cmLUnsort+1
|
||||
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï ªâ. ¯ ¥«ì
|
||||
jr c,punct_left
|
||||
; Right-¯ãªâ ¬¥î
|
||||
rlca
|
||||
jr c,pars_left_right ; ªâ. ¯à ¢ ï
|
||||
lft_right1:
|
||||
call change_panel
|
||||
call pars_left_right
|
||||
jp change_panel
|
||||
|
||||
; Left-¯ãªâ ¬¥î
|
||||
punct_left:
|
||||
rlca
|
||||
jr c,lft_right1 ; ªâ. ¯à ¢ ï
|
||||
;
|
||||
pars_left_right:
|
||||
db 3Eh ; ld a,..
|
||||
punct_left_right:
|
||||
db 0 ; ®¬¥à pull-¯ãªâ
|
||||
; ä®à¬ âë ᯨáª
|
||||
cp cmLBrief
|
||||
jp z,set_format_brief
|
||||
cp cmRBrief
|
||||
jp z,set_format_brief
|
||||
cp cmLMed
|
||||
jp z,set_format_medium
|
||||
cp cmRMed
|
||||
jp z,set_format_medium
|
||||
cp cmLFull
|
||||
jp z,set_format_full
|
||||
cp cmRFull
|
||||
jp z,set_format_full
|
||||
; á®àâ¨à®¢ª¨ ᯨáª
|
||||
ld c,"n" ; name
|
||||
cp cmLName
|
||||
jr z,punct_sort
|
||||
cp cmRName
|
||||
jr z,punct_sort
|
||||
ld c,"x" ; ext
|
||||
cp cmLExt
|
||||
jr z,punct_sort
|
||||
cp cmRExt
|
||||
jr z,punct_sort
|
||||
ld c,"d" ; date
|
||||
cp cmLDate
|
||||
jr z,punct_sort
|
||||
cp cmRDate
|
||||
jr z,punct_sort
|
||||
ld c,"s" ; size
|
||||
cp cmLSize
|
||||
jr z,punct_sort
|
||||
cp cmRSize
|
||||
jr z,punct_sort
|
||||
ld c,"u" ; unsorted
|
||||
cp cmLUnsort
|
||||
jr z,punct_sort
|
||||
cp cmRUnsort
|
||||
jr z,punct_sort
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;///////////////////////////////////////////////////////////
|
||||
; <20> á®àâ¨à®¢ªã ᯨáª
|
||||
;///////////////////////////////////////////////////////////
|
||||
punct_sort:
|
||||
jp sorting_list
|
||||
|
||||
|
||||
|
||||
|
||||
;///////////////////////////////////////////////////////////
|
||||
; ‚ë§®¢ info-¯ ¥«¨
|
||||
;///////////////////////////////////////////////////////////
|
||||
; Left-¯ãªâ
|
||||
;left_info:
|
||||
; ld hl,show_pointer
|
||||
; push hl
|
||||
; ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï ªâ. ¯ ¥«ì
|
||||
; rlca
|
||||
; jp c,alt_info_panel ; ªâ. ¯à ¢ ï (¤ ë¥ ªâ. ¯ ¥«¨ -> ¢ ¯ áá. ¯ ¥«ì)
|
||||
; jp set_info_actpanel ; ¤ ë¥ ¯ áá. ¯ ¥«¨ -> ¢ ªâ. ¯ ¥«ì
|
||||
;
|
||||
;
|
||||
; Right-¯ãªâ
|
||||
;right_info:
|
||||
; ld hl,show_pointer
|
||||
; push hl
|
||||
; ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï ªâ. ¯ ¥«ì
|
||||
; rlca
|
||||
; jp nc,alt_info_panel ; ªâ. «¥¢ ï (¤ ë¥ ªâ. ¯ ¥«¨ -> ¢ ¯ áá. ¯ ¥«ì)
|
||||
; jp set_info_actpanel ; ¤ ë¥ ¯ áá. ¯ ¥«¨ -> ¢ ªâ. ¯ ¥«ì
|
||||
left_info:
|
||||
ld hl,show_pointer
|
||||
push hl
|
||||
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï ªâ. ¯ ¥«ì
|
||||
rlca
|
||||
jp c,alt_info_panel ; ªâ. ¯à ¢ ï
|
||||
lft_info1:
|
||||
call change_panel
|
||||
call alt_info_panel
|
||||
jp change_panel
|
||||
|
||||
; Right-¯ãªâ
|
||||
right_info:
|
||||
ld hl,show_pointer
|
||||
push hl
|
||||
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï ªâ. ¯ ¥«ì
|
||||
rlca
|
||||
jp nc,alt_info_panel ; ªâ. «¥¢ ï
|
||||
jr lft_info1
|
||||
|
||||
|
||||
|
||||
;///////////////////////////////////////////////////////////
|
||||
; ‚ë§®¢ qview-¯ ¥«¨
|
||||
;///////////////////////////////////////////////////////////
|
||||
; Left-¯ãªâ
|
||||
left_qview:
|
||||
ld hl,show_pointer
|
||||
push hl
|
||||
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï ªâ. ¯ ¥«ì
|
||||
rlca
|
||||
jp c,alt_qview_panel ; ªâ. ¯à ¢ ï
|
||||
lft_qview1:
|
||||
call change_panel
|
||||
call alt_qview_panel
|
||||
jp change_panel
|
||||
|
||||
|
||||
; Right-¯ãªâ
|
||||
right_qview:
|
||||
ld hl,show_pointer
|
||||
push hl
|
||||
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï ªâ. ¯ ¥«ì
|
||||
rlca
|
||||
jp nc,alt_qview_panel ; ªâ. «¥¢ ï
|
||||
jr lft_qview1
|
||||
30
MOD1/QUIT.Z80
Executable file
@ -0,0 +1,30 @@
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍ Quit ÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Do you want to quit FM ? º
|
||||
;º Yes No º
|
||||
;º º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª ¯®¤â¢¥à¦¤¥¨ï ¢ë室 ¨§ ¬¥¥¤¦¥à
|
||||
win_dial_quit:
|
||||
dw 0A1Ah,061Ch ; Yo,Xo,lenY,lenX
|
||||
db "Quit",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0202h ; Yo,Xo
|
||||
db "Do you want to quit FM ?",0
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 030Eh ; Yo,Xo
|
||||
db " &No ",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0309h ; Yo,Xo
|
||||
db " &Yes ",0 ; ¨¬ï ¡ãâ®
|
||||
db 15h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
90
MOD1/QVIEW.Z80
Executable file
@ -0,0 +1,90 @@
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍ Information ÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Scanning the folder... º
|
||||
;º º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª
|
||||
win_scan_folder:
|
||||
dw 0A16h,0523h ; Yo,Xo,lenY,lenX
|
||||
db "Information",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0207h ; Yo,Xo
|
||||
db "Scanning the folder...",0
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; â¨â«-®¯¨á ⥫ì qview-ä®à¬ â ¤«ï ¯ ¯®ª
|
||||
;-------------------------------------------------
|
||||
qview_folder_panel:
|
||||
db 6 ; ¤«¨ áâப¨
|
||||
qview_color2__:
|
||||
db color_panel ; 1Bh 梥â
|
||||
dw 0203h ; X/Y ¯®«®¦.
|
||||
db "Folder"
|
||||
;
|
||||
db 29 ; ¤«¨ áâப¨
|
||||
qview_color3__:
|
||||
db color_folder ; 1Fh 梥â
|
||||
dw 0903h ; X/Y ¯®«®¦.
|
||||
qview_name_folder:
|
||||
db " " ; ¬ ªá. 29 ᨬ¢®«®¢
|
||||
;
|
||||
db 9 ; ¤«¨ áâப¨
|
||||
qview_color4__:
|
||||
db color_panel ; 梥â
|
||||
dw 0205h ; X/Y ¯®«®¦.
|
||||
db "Contains:"
|
||||
;
|
||||
db 7 ; ¤«¨ áâப¨
|
||||
qview_color5__:
|
||||
db color_panel ; 梥â
|
||||
dw 0207h ; X/Y ¯®«®¦.
|
||||
db "Folders"
|
||||
;
|
||||
db 6 ; ¤«¨ áâப¨
|
||||
qview_color6__:
|
||||
db color_title ; 梥â
|
||||
dw 1707h ; X/Y ¯®«®¦.
|
||||
qview_total_folders:
|
||||
db "00,000"
|
||||
;
|
||||
db 5 ; ¤«¨ áâப¨
|
||||
qview_color7__:
|
||||
db color_panel ; 梥â
|
||||
dw 0208h ; X/Y ¯®«®¦.
|
||||
db "Files"
|
||||
;
|
||||
db 6 ; ¤«¨ áâப¨
|
||||
qview_color8__:
|
||||
db color_title ; 梥â
|
||||
dw 1708h ; X/Y ¯®«®¦.
|
||||
qview_total_files:
|
||||
db "00,000"
|
||||
;
|
||||
db 10 ; ¤«¨ áâப¨
|
||||
qview_color9__:
|
||||
db color_panel ; 梥â
|
||||
dw 0209h ; X/Y ¯®«®¦.
|
||||
db "Files size"
|
||||
;
|
||||
db 13 ; ¤«¨ áâப¨
|
||||
qview_color10__:
|
||||
db color_title ; 梥â
|
||||
dw 1009h ; X/Y ¯®«®¦.
|
||||
qview_total_bytes:
|
||||
db "0,000,000,000"
|
||||
;
|
||||
; â¨â« qview-ä®à¬ â
|
||||
title_qview:
|
||||
db 12 ; ¤«¨ áâப¨
|
||||
qview_color1__:
|
||||
db color_pointer ; 3Fh 梥â
|
||||
dw 0E00h ; X/Y ¯®«®¦.
|
||||
db " Quick view "
|
||||
;
|
||||
db 0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
69
MOD1/RENAME.Z80
Executable file
@ -0,0 +1,69 @@
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Rename ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° º
|
||||
;ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ
|
||||
;º [ Ok ] [ Cancel ] º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á ⥫ì ç «ì®£® ®ª ª®¯¨à®¢ ¨ï
|
||||
dial_rename:
|
||||
dw 0902h,064Ch ; Yo,Xo,lenY,lenX
|
||||
db "Rename",0 ; â¨â« ®ª
|
||||
;
|
||||
db HLine
|
||||
dw 0301h ; Yo,Xo
|
||||
db 74 ; ¤«¨ «¨¨¨
|
||||
db "Ä" ; ᨬ¢®« § ¯®«¥¨ï
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 041Dh ; Yo,Xo
|
||||
db "[ &Ok ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 18h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 1 ; ª®â¥ªáâ
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0425h ; Yo,Xo
|
||||
db "[ Ca&ncel ]",0 ; ¨¬ï ¡ãâ®
|
||||
db 2Fh ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmCancel ; ®¬¥à ª®¬ ¤ë
|
||||
db 2 ; ª®â¥ªáâ
|
||||
;
|
||||
db InputLine ; å à ªâ¥à ®¡ê¥ªâ
|
||||
dw 0202h ; Yo,Xo
|
||||
db 72 ; ¤«¨ áâப¨
|
||||
db 0 ; ª®â¥ªáâ
|
||||
dw input_line_rename ; ¡ãä¥à áâப¨ ¢¢®¤
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
|
||||
|
||||
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Rename ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Cannot rename the file or folder º
|
||||
;º FILENAME.EXT º
|
||||
;º º
|
||||
;º Ok º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª Žè¨¡ª¨ 㤠«¥¨ï
|
||||
dial_error_rename:
|
||||
dw 0915h,0726h ; Yo,Xo,lenY,lenX
|
||||
db "Rename",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0203h ; Yo,Xo
|
||||
db "Cannot rename the file or folder",0
|
||||
;
|
||||
db TextLine
|
||||
dw 030Dh ; Yo,Xo
|
||||
rename_name1:
|
||||
db "FILENAME.EXT",0
|
||||
;
|
||||
db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
dw 0510h ; Yo,Xo
|
||||
db " &Ok ",0 ; ¨¬ï ¡ãâ®
|
||||
db 13h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
db 0 ; ª®â¥ªáâ
|
||||
;
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
110
MOD1/SELDRV.ASM
Executable file
@ -0,0 +1,110 @@
|
||||
;/////////////////////////////////////////////////
|
||||
;
|
||||
; <20>ਬ¥¥¨¥ ¯ãªâ "Left->Change disk"
|
||||
;
|
||||
;/////////////////////////////////////////////////
|
||||
set_left_drive:
|
||||
ld hl,what
|
||||
ld a,(hl) ;+0
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z ; ¢ëª«.
|
||||
inc hl ;+1
|
||||
set_ldrive_frm:
|
||||
ld de,format_mode ; ä®à¬ â ¯ ¥«¨
|
||||
ld a,(de)
|
||||
and form_info+form_qview ; info, qview
|
||||
ret nz
|
||||
set_ldrive_dsk:
|
||||
ld de,disk ; ï祩ª ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld a,(de)
|
||||
ld (set_ldrive_altdsk+1),a ; á®åà. ¤¨áª
|
||||
ld a,(hl) ;+1 ®¬¥à ¤¨áª
|
||||
ld (de),a ; ®¬¥à ¤¨áª ªâ. ¯ ¥«¨
|
||||
; ®¡®¢«¥¨¥ ¯ ¥«¥© ¯à¨ ᬥ¥ ¤¨áª
|
||||
ld a,(cur_panel) ; ⥪. ¯ ¥«ì
|
||||
or a
|
||||
jr nz,set_ldrive_next
|
||||
call get_new_flist ; ªâ. «¥¢ ï
|
||||
jr set_ldrive_next1
|
||||
; ¯ áá. ¯ ¥«ì
|
||||
set_ldrive_next:
|
||||
call change_panel
|
||||
call get_new_flist ; ªâ. ¯à ¢ ï
|
||||
push af
|
||||
call change_panel
|
||||
pop af
|
||||
set_ldrive_next1:
|
||||
ld a,true
|
||||
ld (enter_done3+1),a ; ãáâ. ä« £ ®¡®¢«¥¨ï info-¯ ¥«¨
|
||||
jp nc,enter_done1 ; Ok, â¥áâ qview-ä®à¬ â ¤à.¯ ¥«¨ (enter.asm)
|
||||
; ®è¨¡ª çâ¥¨ï ¤¨áª
|
||||
; § ®¢® ¢ë§¢ âì Žª® ‚ë¡®à ¤¨áª®¢
|
||||
ld hl,(set_ldrive_dsk+1)
|
||||
set_ldrive_altdsk:
|
||||
ld a,0
|
||||
ld (hl),a ; ¢®ááâ. ¤¨áª ¯ ¥«¨
|
||||
jp select_left_drive ; ªâ. «¥¢ ï ¯ ¥«ì
|
||||
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////
|
||||
;
|
||||
; <20>ਬ¥¥¨¥ ¯ãªâ "Right->Change disk"
|
||||
;
|
||||
;/////////////////////////////////////////////////
|
||||
set_right_drive:
|
||||
ld hl,what
|
||||
ld a,(hl) ;+0
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z ; ¢ëª«.
|
||||
inc hl ;+1
|
||||
set_rdrive_frm:
|
||||
ld de,format_mode ; ä®à¬ â ¯ ¥«¨
|
||||
ld a,(de)
|
||||
and form_info+form_qview ; info, qview
|
||||
ret nz
|
||||
set_rdrive_dsk:
|
||||
ld de,disk ; ï祩ª ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld a,(de)
|
||||
ld (set_rdrive_altdsk+1),a ; á®åà. ¤¨áª
|
||||
ld a,(hl) ;+1 ®¬¥à ¤¨áª
|
||||
ld (de),a ; ®¬¥à ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld a,(cur_panel) ; ⥪. ¯ ¥«ì
|
||||
or a
|
||||
jr z,set_rdrive_next ; ¢ë¢®¤ ¯ áá. ¯ ¥«¨
|
||||
call get_new_flist ; ªâ. «¥¢ ï
|
||||
jr set_rdrive_next1
|
||||
; ¯ áá. ¯ ¥«ì
|
||||
set_rdrive_next:
|
||||
call change_panel
|
||||
call get_new_flist ; ªâ. ¯à ¢ ï
|
||||
push af
|
||||
call change_panel
|
||||
pop af
|
||||
set_rdrive_next1:
|
||||
ld a,true
|
||||
ld (enter_done3+1),a ; ãáâ. ä« £ ®¡®¢«¥¨ï info-¯ ¥«¨
|
||||
jp nc,enter_done1 ; Ok, â¥áâ qview-ä®à¬ â ¤à.¯ ¥«¨ (enter.asm)
|
||||
; ®è¨¡ª çâ¥¨ï ¤¨áª
|
||||
; § ®¢® ¢ë§¢ âì Žª® ‚ë¡®à ¤¨áª®¢
|
||||
ld hl,(set_rdrive_dsk+1)
|
||||
set_rdrive_altdsk:
|
||||
ld a,0
|
||||
ld (hl),a ; ¢®ááâ. ¤¨áª ¯ ¥«¨
|
||||
jp select_right_drive
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20>à®ç¨â âì ®¢ë© ᯨ᮪ ¯ ¥«¨ (¤¨áª/¯ ¯ª )
|
||||
;-------------------------------------------------
|
||||
get_new_flist:
|
||||
call read_new_folder ; ®¢ë© ᯨ᮪ ª â «®£ + à §¬¥à ¯ ¯ª¨
|
||||
ret c
|
||||
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
|
||||
call sorting ; à §¤¥«ìë© á¯¨á®ª 㪠§ ⥫¥© + á®àâ. ᯨáª
|
||||
jp A20FC ; ¢ë¢®¤ ªâ. ¯ ¥«¨
|
||||
209
MOD1/SETCOLOR.ASM
Executable file
@ -0,0 +1,209 @@
|
||||
;-----------------------------------------------------------
|
||||
; <20> áâனª 梥⮢ ¬¥¥¤¦¥à
|
||||
;-----------------------------------------------------------
|
||||
set_colors:
|
||||
call set_keybar_colors ; áâனª 梥â key-¡ à
|
||||
call set_qview_colors ; áâனª 梥â qview-¯ ¥«¨
|
||||
call set_info_colors ; áâனª 梥â info-¯ ¥«¨
|
||||
call set_info_trd_colors ; áâனª 梥â info-®¯¨á ⥫ï ᯥª-ä®à¬ â
|
||||
; Normal text
|
||||
ld a,(color_array+2) ; 1Bh
|
||||
ld (full_color2__),a
|
||||
ld (full_color4__),a
|
||||
ld (full_color6__),a
|
||||
ld (med_color2__),a
|
||||
ld (brief_color2__),a
|
||||
ld (brief_color4__),a
|
||||
ld (spec_color2__),a
|
||||
ld (spec_color4__),a
|
||||
ld (spec_color6__),a
|
||||
ld (spec_color8__),a
|
||||
ld (spec_color10__),a
|
||||
ld (botline_color_),a
|
||||
ld (footer_color1__),a
|
||||
ld (footer_color2__),a
|
||||
ld (footer_color3__),a
|
||||
ld (footer_color4__),a
|
||||
ld (footer_color41__),a
|
||||
ld (up_color1__),a
|
||||
ld (up_color2__),a
|
||||
ld (up_color3__),a
|
||||
ld (up_color31__),a
|
||||
ld (up_color4__),a
|
||||
ld (status_color__),a
|
||||
ld (summary_color__),a
|
||||
; Column title
|
||||
ld a,(color_array+5) ; 1Eh
|
||||
ld (full_color1__),a
|
||||
ld (full_color3__),a
|
||||
ld (full_color5__),a
|
||||
ld (full_color7__),a
|
||||
ld (med_color1__),a
|
||||
ld (med_color3__),a
|
||||
ld (brief_color1__),a
|
||||
ld (brief_color3__),a
|
||||
ld (brief_color5__),a
|
||||
ld (spec_color1__),a
|
||||
ld (spec_color3__),a
|
||||
ld (spec_color5__),a
|
||||
ld (spec_color7__),a
|
||||
ld (spec_color9__),a
|
||||
ld (spec_color11__),a
|
||||
ld (sort_color__),a
|
||||
; Selected info
|
||||
ld a,(color_array+6) ; 3Eh
|
||||
ld (markline_color_),a
|
||||
ld (markline_color1_),a
|
||||
; Selected title
|
||||
ld a,(color_array+4) ; 30h
|
||||
ld (path_color1__),a ; path-áâப «¥¢®© ¯ ¥«¨
|
||||
ld (path_color2__),a ; path-áâப ¯à ¢®© ¯ ¥«¨
|
||||
; — áë ¢ ¯ ¥«ïå
|
||||
ld b,5 ; ç¨á«® ï祥ª
|
||||
ld hl,clock_attr
|
||||
ld a,(color_array+53)
|
||||
ld (hl),a
|
||||
inc hl
|
||||
djnz $-2
|
||||
; 梥â áâப ¢¢®¤ (InputLine, InpLine)
|
||||
ld a,(color_array+33)
|
||||
ld (ColorInLn+1),a
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ˆ¨æ¨ «¨§ æ¨ï 梥â key-¡ à
|
||||
;-------------------------------------------------
|
||||
; f 30h (color_array+20)
|
||||
; b 0Eh (color_array+21)
|
||||
;
|
||||
; b ffffff b
|
||||
; 0 123456 7 - 9 áâப
|
||||
;
|
||||
; bb ffffff
|
||||
; 01 234567 - 1 áâப
|
||||
;
|
||||
set_keybar_colors:
|
||||
ld hl,keybar_attr ; ¬ áᨢ âਡã⮢
|
||||
ld c,9 ; ç¨á«® ¯ãªâ®¢ á ®¤¨ ª®¢ë¬¨ âਡãâ ¬¨
|
||||
ld de,(color_array+20) ; 0Eh/30h b/f
|
||||
set_keybar__:
|
||||
ld b,1 ; ç¨á«® ¡ ©â
|
||||
ld a,d
|
||||
call set_keybar1__ ; 梥â hot-ç¨á«
|
||||
ld b,6
|
||||
ld a,e
|
||||
call set_keybar1__ ; 梥⠯ãªâ
|
||||
ld b,1
|
||||
ld a,d
|
||||
call set_keybar1__
|
||||
dec c
|
||||
jr nz,set_keybar__
|
||||
; ¯®á«¥¤¨© ¯ãªâ
|
||||
ld b,2
|
||||
call set_keybar1__
|
||||
ld b,6
|
||||
ld a,e
|
||||
set_keybar1__:
|
||||
ld (hl),a
|
||||
inc hl
|
||||
djnz $-2
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20> áâனª 梥⮢ ¯ ¥«¨ ¡ëáâண® ¯à®á¬®âà
|
||||
;-------------------------------------------------
|
||||
; qview.z80
|
||||
set_qview_colors:
|
||||
; Normal text
|
||||
ld a,(color_array+2) ; 1Bh
|
||||
ld (qview_color2__),a
|
||||
ld (qview_color4__),a
|
||||
ld (qview_color5__),a
|
||||
ld (qview_color7__),a
|
||||
ld (qview_color9__),a
|
||||
; Highlighted info
|
||||
ld a,(color_array+7) ; 1Eh
|
||||
ld (qview_color6__),a
|
||||
ld (qview_color8__),a
|
||||
ld (qview_color10__),a
|
||||
; Info names
|
||||
ld a,(color_array+8) ; 1Fh
|
||||
ld (qview_color3__),a
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20> áâனª 梥⮢ ¨ä®à¬ 樮®© ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
; info.z80
|
||||
set_info_colors:
|
||||
; Normal text
|
||||
ld a,(color_array+2) ; 1Bh
|
||||
ld (info_color2__),a
|
||||
ld (info_color3__),a
|
||||
ld (info_color4__),a
|
||||
ld (info_color5__),a
|
||||
ld (info_color7__),a
|
||||
ld (info_color9__),a
|
||||
ld (info_color11__),a
|
||||
ld (info_color13__),a
|
||||
ld (info_color15__),a
|
||||
ld (info_color17__),a
|
||||
ld (info_color19__),a
|
||||
;ld (info_color20__),a
|
||||
;ld (info_color21__),a
|
||||
;ld (info_color22__),a
|
||||
ld (info_color23__),a
|
||||
ld (info_color25__),a
|
||||
ld (info_color27__),a
|
||||
ld (info_color29__),a
|
||||
;ld (info_color30__),a
|
||||
; Highlighted info
|
||||
ld a,(color_array+7) ; 1Eh
|
||||
ld (info_color6__),a
|
||||
ld (info_color8__),a
|
||||
ld (info_color10__),a
|
||||
ld (info_color12__),a
|
||||
ld (info_color16__),a
|
||||
ld (info_color18__),a
|
||||
; Info names
|
||||
ld a,(color_array+8) ; 1Fh
|
||||
ld (info_color24__),a
|
||||
ld (info_color26__),a
|
||||
ld (info_color28__),a
|
||||
ret
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20> áâனª 梥⮢ ¨ä®-¯ ¥«¨ ᯥª-ä®à¬ â
|
||||
;-------------------------------------------------
|
||||
; info2.z80
|
||||
set_info_trd_colors:
|
||||
; Normal text
|
||||
ld a,(color_array+2) ; 1Bh
|
||||
ld (info_color33__),a
|
||||
ld (info_color34__),a
|
||||
ld (info_color36__),a
|
||||
ld (info_color38__),a
|
||||
ld (info_color40__),a
|
||||
ld (info_color42__),a
|
||||
ld (info_color43__),a
|
||||
ld (info_color45__),a
|
||||
ld (info_color47__),a
|
||||
ld (info_color48__),a
|
||||
ld (info_color50__),a
|
||||
ld (info_color52__),a
|
||||
; Color_title
|
||||
ld a,(color_array+5) ; 1Eh
|
||||
ld (info_color35__),a
|
||||
ld (info_color37__),a
|
||||
ld (info_color39__),a
|
||||
ld (info_color41__),a
|
||||
ld (info_color44__),a
|
||||
ld (info_color46__),a
|
||||
ld (info_color49__),a
|
||||
ld (info_color51__),a
|
||||
ld (info_color53__),a
|
||||
ret
|
||||
447
MOD1/SORT.ASM
Executable file
@ -0,0 +1,447 @@
|
||||
;
|
||||
; Shell-Metzner «£®à¨â¬ á®àâ¨à®¢ª¨
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘®àâ¨à®¢ª ᯨ᪠¯ ¥«¨ (¢ë§®¢ ¨§ ®¡®«®çª¨)
|
||||
; ¢å®¤: c = ¡ãª¢ á®àâ¨à®¢ª¨ (n/x/d/s/u)
|
||||
;-------------------------------------------------
|
||||
sorting_list:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z ; ¢ëª«.
|
||||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||||
ld a,l
|
||||
or h
|
||||
ret z
|
||||
ld a,(format_mode) ; 䮬 â ªâ. ¯ ¥«¨
|
||||
and form_trd ; trd/scl spectrum
|
||||
ret nz
|
||||
ld hl,(sort_type) ; ⨯ á®àâ. ªâ. ¯ ¥«¨
|
||||
ld a,h
|
||||
xor 1 ; ¨¢¥àá¨ï á®àâ¨à®¢ª¨
|
||||
ld h,a
|
||||
ld a,l
|
||||
cp c ; ®¢ë© = áâ ஬ã ?
|
||||
jr z,$+4 ; ¨¢¥àá¨ï ०¨¬ á®àâ¨à®¢ª¨
|
||||
ld h,0 ; á¡à. á®àâ¨à®¢ªã ¢ ""
|
||||
ld l,c
|
||||
ld (sort_type),hl
|
||||
call sorting ; à §¤¥«ìë© á¯¨á®ª 㪠§ ⥫¥© + á®àâ. ᯨáª
|
||||
jp A20FC ; ®¡®¢¨âì ᯨ᮪
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘®§¤ ¨¥ à §¤¥«ì®£® ᯨ᪠㪠§ ⥫¥© ¨ á®àâ¨à®¢ª
|
||||
; ᯨ᪮¢ ¯ ¯®ª ¨ ä ©«®¢.
|
||||
;
|
||||
; ¢å®¤: de=ª®«-¢® § ¯¨á¥© ᯨáª
|
||||
;-----------------------------------------------------------
|
||||
sorting:ld de,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||||
ld a,e
|
||||
or d
|
||||
ret z
|
||||
call make_array_pointer ; á®§¤ âì à §¤¥«ìë© á¯¨á®ª 㪠§ ⥫¥©
|
||||
ld hl,sort_type+1
|
||||
ld a,(hl) ; 00/01 /
|
||||
or a
|
||||
ld a,0D2h ; "jp nc,.."
|
||||
jr z,$+4
|
||||
ld a,0DAh ; "jp c,.."
|
||||
ld (sort_mode),a ; / á®àâ¨à®¢ª
|
||||
dec hl
|
||||
ld a,(hl) ; hl=sort_type
|
||||
cp "n" ; name
|
||||
jr z,sort_name
|
||||
cp "x" ; extension
|
||||
jr z,sort_ext
|
||||
cp "d" ; date
|
||||
jr z,sort_date
|
||||
cp "s" ; size
|
||||
jr z,sort_size
|
||||
jr unsorted_list ; á®§¤ âì ®¡é¨© ᯨ᮪ 㪠§ ⥫¥©
|
||||
|
||||
|
||||
; ‘®àâ¨à®¢ª ¯ ¯®ª
|
||||
sort_folders:
|
||||
ld de,(all_folders) ; ç¨á«® ¯ ¯®ª ¢ ᯨ᪥
|
||||
ld hl,(directory) ; ç «® ᯨ᪠㪠§ ⥫¥© ¯ ¯®ª
|
||||
ld c,(hl)
|
||||
inc hl
|
||||
ld b,(hl)
|
||||
dec hl
|
||||
ld a,(bc) ;+0 ¨¬ï ä ©«
|
||||
cp "." ; ".." ¯¥à¢ ï § ¯¨áì ?
|
||||
jr nz,$+5 ; ¥â
|
||||
dec de ; --ç¨á«® ¯ ¯®ª
|
||||
inc hl ; á«¥¤. 㪠§ ⥫ì
|
||||
inc hl
|
||||
jp metzner_sort
|
||||
|
||||
|
||||
; Ctrl+F3. ‘®àâ¨à®¢ª ¯® ¨¬¥¨
|
||||
sort_name:
|
||||
ld hl,cmp_names ; ¯à®æ¥¤ãà áà ¢¥¨ï
|
||||
sort__: ld (sort_func+1),hl
|
||||
call sort_folders ; á®àâ¨à®¢ª ¯ ¯®ª
|
||||
ld hl,(all_files) ; ç¨á«® § ¯¨á¥© ᯨáª
|
||||
ld de,(all_folders) ; ç¨á«® ¯ ¯®ª ᯨáª
|
||||
and a
|
||||
sbc hl,de
|
||||
ex de,hl ; de=ç¨á«® ä ©«®¢ ¢ ᯨ᪥
|
||||
ld hl,(directory+2) ; ç «® ᯨ᪠㪠§ ⥫¥© ä ©«®¢
|
||||
jp metzner_sort ; á®àâ¨à®¢ª
|
||||
|
||||
; Ctrl+F4. ‘®àâ¨à®¢ª ¯® à áè¨à¥¨î
|
||||
sort_ext:
|
||||
ld hl,cmp_extensions ; ¯à®æ¥¤ãà áà ¢¥¨ï
|
||||
jr sort__
|
||||
|
||||
; Ctrl+F5. ‘®àâ¨à®¢ª ¯® ¤ â¥
|
||||
sort_date:
|
||||
ld hl,cmp_date ; ¯à®æ¥¤ãà áà ¢¥¨ï
|
||||
jr sort__
|
||||
|
||||
; Ctrl+F6. ‘®àâ¨à®¢ª ¯® à §¬¥àã
|
||||
sort_size:
|
||||
ld hl,cmp_size ; ¯à®æ¥¤ãà áà ¢¥¨ï
|
||||
jr sort__
|
||||
|
||||
; Ctrl+F7. <20>¥§ á®àâ¨à®¢ª¨.
|
||||
unsorted_list:
|
||||
ld a,(cash_left_dir) ; ¡ ª ª â «®£ ªâ. ¯ ¥«¨
|
||||
out (SLOT3),a ; ¯®¤ª«. áâà ¨æã ª â «®£
|
||||
ld iy,0C000h ; ç «® ᪠¨à㥬®© ¯ ¯ª¨
|
||||
ld hl,(directory) ; ç «® ¡ãä¥à ᯨ᪠¤à¥á®¢
|
||||
ld bc,32 ; ms-dos § ¯¨áì
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
and form_trd ; trd/scl spectrum
|
||||
jr z,$+5
|
||||
unsorted_spec: ; <- ¯¥à¥å®¤ ¨§ "make_array_pointer"
|
||||
ld bc,16 ; spec-§ ¯¨áì
|
||||
; á®§¤ âì ®¡é. ᯨ᮪ 㪠§ ⥫¥©
|
||||
ld de,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª ¢ ᯨ᪥
|
||||
unsorted_loop:
|
||||
db 0FDh
|
||||
ld a,l
|
||||
ld (hl),a
|
||||
inc hl
|
||||
db 0FDh
|
||||
ld a,h
|
||||
ld (hl),a
|
||||
inc hl
|
||||
add iy,bc ; á«¥¤. § ¯¨áì
|
||||
dec de
|
||||
ld a,e
|
||||
or d
|
||||
jp nz,unsorted_loop
|
||||
ret
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘®§¤ ¨¥ ¬ áᨢ 㪠§ ⥫¥© § ¯¨á¨ ᯨáª
|
||||
;
|
||||
; ¢å®¤: de = ª®«-¢® § ¯¨á¥© ᯨáª
|
||||
; ¢ë室: directory+2 - ᮤ¥à¦¨â ç «® á¯¨áª ä ©«®¢
|
||||
; all_folders - ᮤ¥à¦¨â ç¨á«® ¯ ¯®ª ¢ ᯨ᪥
|
||||
; NZ - ᯥª-ᯨ᮪
|
||||
;-----------------------------------------------------------
|
||||
make_array_pointer:
|
||||
ld iy,0C000h ; ç «® ᪠¨à㥬®£® ª â «®£
|
||||
ld a,(cash_left_dir) ; ¡ ª ª â «®£ ªâ. ¯ ¥«¨
|
||||
out (SLOT3),a ; ¯®¤ª«. áâà ¨æã ª â «®£
|
||||
ld hl,(directory) ; ç «® ᯨ᪠㪠§ ⥫¥©
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
and form_trd ; trd/scl spectrum
|
||||
jr z,make_msdos_list
|
||||
; ᯥª-ᯨ᮪
|
||||
ld a,"u"
|
||||
ld (sort_type),a ; ãáâ. ०¨¬ "unsort"
|
||||
ld bc,0
|
||||
ld (all_folders),bc ; ç¨á«® ¯ ¯®ª ¢ ᯨ᪥
|
||||
ld (directory+2),hl ; ç «® á¯¨áª ä ©«®¢
|
||||
jr unsorted_spec ; á®§¤ âì ®¡é. ᯨ᮪ 㪠§ ⥫¥©
|
||||
|
||||
; á®§¤ âì à §¤¥«ìë© á¯¨á®ª 㪠§ ⥫¥©
|
||||
make_msdos_list:
|
||||
exx
|
||||
ld bc,32 ; ms-dos § ¯¨áì
|
||||
exx
|
||||
; á®§¤ âì 㪠§ ⥫¨ ¯ ¯ª¨
|
||||
ld a,0CAh ; "jp z,"
|
||||
call make_flist1__ ; á®§¤ âì ᯨ᮪ ¯ ¯®ª
|
||||
ld (all_folders),bc ; ç¨á«® ¯ ¯®ª ¢ ᯨ᪥
|
||||
ld (directory+2),hl ; ç «® á¯¨áª ä ©«®¢
|
||||
; á®§¤ âì 㪠§ ⥫¨ ä ©«ë
|
||||
ld iy,0C000h ; ç «® ᪠¨à㥬®£® ª â «®£
|
||||
ld de,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||||
ld a,0C2h ; "jp nz,"
|
||||
;
|
||||
make_flist1__:
|
||||
ld (make_flist_code),a
|
||||
ld bc,0 ; áç¥â稪 ç¨á« ¯ ¯®ª/ä ©«®¢
|
||||
make_flist_loop:
|
||||
bit 4,(iy+11) ;+11 âਡãâ ä ©«
|
||||
make_flist_code:
|
||||
jp z,make_flist_next
|
||||
db 0FDh
|
||||
ld a,l
|
||||
ld (hl),a
|
||||
inc hl
|
||||
db 0FDh
|
||||
ld a,h
|
||||
ld (hl),a
|
||||
inc hl
|
||||
inc bc ; ++ç¨á«® ¯ ¯®ª/ä ©«®¢
|
||||
make_flist_next:
|
||||
exx
|
||||
add iy,bc ; á«¥¤. ms-dos § ¯¨áì
|
||||
exx
|
||||
dec de
|
||||
ld a,e
|
||||
or d
|
||||
jp nz,make_flist_loop
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘®àâ¨à®¢ª ᯨ᪠. Shell-Metzner «£®à¨â¬.
|
||||
; <20> ¡®â ¥â á 㪠§ ⥫ﬨ § ¯¨á¨.
|
||||
;
|
||||
; ¢å®¤: hl= ¤à¥á ¬ áᨢ 㪠§ ⥫¥©
|
||||
; de=ª®«-¢® § ¯¨á¥© ¢ ᯨ᪥
|
||||
;-------------------------------------------------
|
||||
metzner_sort:
|
||||
ld (sort_base+1),hl ; ¤à¥á ¬ áᨢ
|
||||
ld (sort_count+1),de ; ª®«-¢® í«¥¬¥â®¢ (¥ ¨§¬.)
|
||||
ld (sort_count1),de ; (áç¥â稪)
|
||||
; à §¤¥«¨âì ⥪. ç¨á«® í«¥¬¥â®¢ 2
|
||||
sort_divide:
|
||||
db 21h ; ld hl,..
|
||||
sort_count1:
|
||||
dw 0 ; ⥪. ª®«-¢® í«¥¬¥â®¢ / 2
|
||||
and a
|
||||
ld a,h
|
||||
rra
|
||||
ld h,a
|
||||
ld a,l
|
||||
rra
|
||||
ld l,a
|
||||
ld a,l
|
||||
or h
|
||||
ret z ; ¢á¥ í«¥¬¥âë ®âá®àâ¨à®¢ ë
|
||||
ld (sort_count1),hl ;6,3,1,0 ⥪. ª®«-¢® í«¥¬¥â®¢ / 2
|
||||
ex de,hl
|
||||
sort_count:
|
||||
ld hl,0 ;12 (count) ª®«-¢® í«¥¬¥â®¢
|
||||
and a
|
||||
sbc hl,de ; sreclen = sort_count - sort_count1
|
||||
ld (sreclen+1),hl ;6,9,11
|
||||
ld hl,1
|
||||
ld (sortv1),hl
|
||||
ld (sstadr),hl
|
||||
dec l
|
||||
add hl,de
|
||||
add hl,de
|
||||
ld (sortv2),hl ;+42,+21,+0B ᬥé. ¤® á¥à¥¤¨ë ⥪. ¬ áᨢ
|
||||
ex de,hl
|
||||
sort_base:
|
||||
ld hl,0 ; ç «® ¬ áᨢ
|
||||
;
|
||||
sort_ndone:
|
||||
ld (sortv4),hl ; ¤à¥á á«¥¤. § ¯¨á¨ 1-© ¯®«®¢¨ë ¬ áᨢ
|
||||
ld (sortv3),hl
|
||||
ex de,hl
|
||||
add hl,de ; ᬥé.¤® á¥à¥¤¨ë ¬ áᨢ + ¤à¥á á«¥¤. § ¯¨á¨
|
||||
ex de,hl ; de= ¤à¥á á«¥¤. § ¯¨á¨ 2-© ¯®«®¢¨ë ¬ áᨢ
|
||||
sort_compre:
|
||||
ld (srtptr2+1),de
|
||||
ld (srtptr1+1),hl
|
||||
; à § ¤à¥á æ¨ï de ¨ hl
|
||||
ld a,(de)
|
||||
ld c,a
|
||||
inc de
|
||||
ld a,(de)
|
||||
ld d,a
|
||||
ld e,c
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
ld h,(hl)
|
||||
ld l,a
|
||||
ld (srtptr3+1),hl
|
||||
ld (srtptr4+1),de
|
||||
;
|
||||
sort_func:
|
||||
call cmp_extensions ; ⥪. ¯/¯ á®àâ¨à®¢ª¨
|
||||
jp z,noswap_items ; í«¥¬¥âë à ¢ë
|
||||
sort_mode:
|
||||
jp nc,noswap_items ; nc/c ⨯ / á®àâ¨à®¢ª¨
|
||||
; ®¡¬¥ïâì ¤à¥á 㪠§ ⥫¥©
|
||||
srtptr2:ld de,0 ; ¤à¥á § ¯¨á¨ 2-© ¯®«®¢¨ë ᯨáª
|
||||
srtptr1:ld hl,0 ; ¤à¥á § ¯¨á¨ 1-© ¯®«®¢¨ë ᯨáª
|
||||
ld a,(de)
|
||||
ld c,a
|
||||
ld a,(hl)
|
||||
ld (de),a
|
||||
ld (hl),c
|
||||
inc de
|
||||
inc hl
|
||||
ld a,(de)
|
||||
ld c,a
|
||||
ld a,(hl)
|
||||
ld (de),a
|
||||
ld (hl),c
|
||||
;
|
||||
ld hl,(sort_count1) ;6,3,1 ⥪. ª®«-¢® í«¥¬¥â®¢ / 2
|
||||
ld a,h
|
||||
cpl
|
||||
ld d,a
|
||||
ld a,l
|
||||
cpl
|
||||
ld e,a
|
||||
db 21h ; ld hl,..
|
||||
sortv1: dw 0
|
||||
add hl,de ;-7, -4, -2
|
||||
jp nc,noswap_items
|
||||
inc hl
|
||||
ld (sortv1),hl ; ¯®à浪. ®¬¥à § ¯¨á¥©
|
||||
db 11h ; ld de,..
|
||||
sortv3: dw 0 ; ⥪. § ¯¨áì 1-© ¯®«®¢¨ë ¬ áᨢ
|
||||
ld hl,(sortv2) ;+42,+21,+0B ᬥé. ¤® á¥à¥¤¨ë ⥪. ¬ áᨢ
|
||||
ld a,e
|
||||
sub l
|
||||
ld l,a
|
||||
ld a,d
|
||||
sbc a,h
|
||||
ld h,a
|
||||
ld (sortv3),hl ; ¤à¥á § ¯¨á¥©
|
||||
jp sort_compre ; áà ¢¨âì í«¥¬¥âë (de ¨ hl)
|
||||
;
|
||||
noswap_items:
|
||||
db 21h ; ld hl,..
|
||||
sstadr: dw 0 ; ®â 1
|
||||
inc hl ; ++incr
|
||||
ld (sstadr),hl ;
|
||||
ld (sortv1),hl
|
||||
ex de,hl
|
||||
sreclen:ld hl,0 ;6,9,11 (sreclen) ¤«¨ í«¥¬¥â
|
||||
and a
|
||||
sbc hl,de ; cmp sreclen ¨ incr
|
||||
jp c,sort_divide
|
||||
db 21h
|
||||
sortv4: dw 0 ; ¤à¥á á«¥¤. § ¯¨á¨ 1-© ¯®«®¢¨ë ¬ áᨢ
|
||||
inc hl ; á«¥¤. 㪠§ ⥫ì
|
||||
inc hl
|
||||
db 11h ; ld de,..
|
||||
sortv2: dw 0 ;+42,+21,+0B ᬥé. ¤® á¥à¥¤¨ë ⥪. ¬ áᨢ
|
||||
jp sort_ndone
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘à ¢¨âì ¨¬¥
|
||||
;
|
||||
; in: hl= ¤à¥á § ¯¨á¨ 1-© ¯®«®¢¨ë ¬ áᨢ
|
||||
; de= ¤à¥á § ¯¨á¨ 2-© ¯®«®¢¨ë ¬ áᨢ
|
||||
; out: z - à ¢ë
|
||||
; nz - ¥ à ¢ë
|
||||
;-------------------------------------------------
|
||||
cmp_names:
|
||||
ld b,11 ; ¯®«®¥ ¨¬ï
|
||||
srtptr3:ld hl,0
|
||||
srtptr4:ld de,0
|
||||
cmp__: ld a,(de) ; 2-ï ¯®«®¢¨ ¬ áᨢ
|
||||
cp "_"
|
||||
jp z,cmp1__
|
||||
or 00100000b
|
||||
cp "ð" ; 240
|
||||
jp nz,cmp1__
|
||||
inc a ; 241 = "ñ"
|
||||
cmp1__: ld c,(hl) ; 1-ï ¯®«®¢¨ ¬ áᨢ
|
||||
cp "_"
|
||||
jp z,cmp2__
|
||||
set 5,c
|
||||
cp "ð" ; 240
|
||||
jp nz,cmp2__
|
||||
inc c ; 241 = "ñ"
|
||||
cmp2__: sub c
|
||||
ret nz ; í«¥¬¥âë ¥ à ¢ë
|
||||
inc hl
|
||||
inc de
|
||||
djnz cmp__
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘à ¢¨âì à áè¨à¥¨ï
|
||||
;
|
||||
; in: hl= ¤à¥á § ¯¨á¨ 1-© ¯®«®¢¨ë ¬ áᨢ
|
||||
; de= ¤à¥á § ¯¨á¨ 2-© ¯®«®¢¨ë ¬ áᨢ
|
||||
; out: z - à ¢ë
|
||||
; nz - ¥ à ¢ë
|
||||
;-------------------------------------------------
|
||||
cmp_extensions:
|
||||
ld bc,8 ; ᬥé. ¤® í«¥¬. áà ¢¥¨ï
|
||||
ex de,hl
|
||||
add hl,bc ; ᬥé. ¤® ï祥ª áà ¢¥¨ï
|
||||
ex de,hl
|
||||
add hl,bc ; ᬥé. ¤® ï祥ª áà ¢¥¨ï
|
||||
ld b,3 ; ¤«¨ í«¥¬. áà ¢¥¨ï
|
||||
ecmp__: ld a,(de) ; 2-ï ¯®«®¢¨ ¬ áᨢ
|
||||
cp "_"
|
||||
jp z,ecmp1__
|
||||
or 00100000b
|
||||
cp "ð" ; 240
|
||||
jp nz,ecmp1__
|
||||
inc a ; 241 = "ñ"
|
||||
ecmp1__:ld c,(hl) ; 1-ï ¯®«®¢¨ ¬ áᨢ
|
||||
cp "_"
|
||||
jp z,ecmp2__
|
||||
set 5,c
|
||||
cp "ð" ; 240
|
||||
jp nz,ecmp2__
|
||||
inc c ; 241 = "ñ"
|
||||
ecmp2__:sub c
|
||||
ret nz ; í«¥¬¥âë ¥ à ¢ë
|
||||
inc hl
|
||||
inc de
|
||||
djnz ecmp__
|
||||
; í«¥¬¥âë ᮢ¯ ¤ îâ
|
||||
ld b,8 ; ¤«¨ í«¥¬. áà ¢¥¨ï
|
||||
jp srtptr3 ; áà ¢¨âì ¨¬¥
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘à ¢¨âì ¤ âë/à §¬¥àë
|
||||
;
|
||||
; in: hl= ¤à¥á ª®æ § ¯¨á¨ (1-ï ¯®«®¢¨ ¬ áᨢ )
|
||||
; de= ¤à¥á ª®æ § ¯¨á¨ (2-ï ¯®«®¢¨ ¬ áᨢ )
|
||||
; out: z - à ¢ë
|
||||
; nz - ¥ à ¢ë
|
||||
;-------------------------------------------------
|
||||
cmp_date:
|
||||
ld bc,25 ; ᬥé. ª®¥æ ¤ âë
|
||||
jp $+6
|
||||
cmp_size:
|
||||
ld bc,31 ; ᬥé. ª®¥æ à §¬¥à
|
||||
ex de,hl
|
||||
add hl,bc ; + ᬥé. ¤® ï祥ª áà ¢¥¨ï
|
||||
ex de,hl
|
||||
add hl,bc ; + ᬥé. ¤® ï祥ª áà ¢¥¨ï
|
||||
ld b,4 ; ¤«¨ í«¥¬. áà ¢¥¨ï
|
||||
ld a,(de) ; 2-ï ¯®«®¢¨ ¬ áᨢ
|
||||
sub (hl) ; 1-ï ¯®«®¢¨ ¬ áᨢ
|
||||
ret nz ; í«¥¬¥âë ¥ à ¢ë
|
||||
dec hl
|
||||
dec de
|
||||
djnz $-5
|
||||
; í«¥¬¥âë ᮢ¯ ¤ îâ
|
||||
jp cmp_names ; áà ¢¨âì ¨¬¥
|
||||
14
MOD1/SPACE.Z80
Executable file
@ -0,0 +1,14 @@
|
||||
;ÉÍÍÍÍÍÍÍÍÍÍ Information ÍÍÍÍÍÍÍÍÍÍ»
|
||||
;º º
|
||||
;º Calculating free space... º
|
||||
;º º
|
||||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
; ޝ¨á â¥«ì ®ª äãªæ¨¨ "get_free_disk"
|
||||
win_free_disk:
|
||||
dw 0A16h,0523h ; Yo,Xo,lenY,lenX
|
||||
db "Information",0 ; â¨â« ®ª
|
||||
;
|
||||
db TextLine
|
||||
dw 0205h ; Yo,Xo
|
||||
db "Calculating free space...",0
|
||||
db -1 ; ª®¥æ ®¯¨á ⥫ï
|
||||
339
MOD1/TREE.ASM
Executable file
@ -0,0 +1,339 @@
|
||||
; ‘ª ¨à®¢ ¨¥ ¯ ¯ª¨
|
||||
;
|
||||
; „«ï ¢à¥¬. ¡ãä¥à ¢ë¤¥«ï¥âáï 1 áâà ¨æ ¯ ¬ïâ¨. <20>®á«¥ ®âà ¡®âª¨ ¯à®æ¥¤ãàë,
|
||||
; áâà ¨æ ®á¢®¡®¦¤ ¥âáï.
|
||||
; Œ ªá. £«ã¡¨ ¢«®¦¥®á⨠¯ ¯®ª à ¢ 20-⨠(¬®¦® ¯®áâ ¢¨âì ¤à㣮¥).
|
||||
; „«ï ¬ áᨢ í«¥¬¥â®¢ ¨á¯®«ì§ã¥âáï æ¥« ï ¡ ª , ¢¬¥é îé ï 1024
|
||||
; (16*1024=4000h) í«¥¬¥â®¢. ޡ饥 ç¨á«® ¯ ¯®ª, ®âá«¥¦¨¢ ¥¬®¥ ¯à®æ¥¤ãன,
|
||||
; ®à£ ¨ç¨¢ ¥âáï à §¬¥à®¬ í⮣® ¬ áᨢ .
|
||||
;
|
||||
; <20>¥à¥¤ ¢ë§®¢®¬ ¯à®æ¥¤ãàë, ¥®¡å®¤¨¬® ãáâ ®¢¨âì ¤¨áª ¨ ¯ãâì.
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
max_depth equ 20+1 ; ¬ ªá. ç¨á«® ¢«®¦¥®á⨠¯ ¯®ª
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘ª ¨à®¢ ¨¥ ¯ ¯ª¨
|
||||
; ¢ë室: NC - ®à¬ «ì®¥ § ¢¥à襨¥
|
||||
; C - ®¯¥à æ¨ï ¯à¥à¢ ¯®«ì§®¢ ⥫¥¬ (A=0FFh)
|
||||
;-----------------------------------------------------------
|
||||
ScanTree:
|
||||
ld (tree_stack),sp
|
||||
ld bc,3135h ; ®ç¨áâ¨âì ¡ãä¥à á¨áâ. ª« ¢ë
|
||||
rst 10h
|
||||
ld sp,work_buffer+512 ; á⥪ ¯à®æ¥¤ãàë
|
||||
in a,(SLOT3)
|
||||
ld (tree_page),a ; á®åà. ¯®àâ
|
||||
; ¢ë¤¥«¨âì 1 áâà. ¯®¤ ¢à¥¬. ¡ãä¥à
|
||||
ld bc,01C2h
|
||||
rst 08h
|
||||
ld (tmppage+1),a ; á®åà. ¤¥áªà. áâà.
|
||||
jr nc,$+9 ; ¡¥§ ®è¨¡®ª
|
||||
xor a
|
||||
ld (tmppage+1),a
|
||||
ld a,(page_dial_screen) ; ¨á¯. ¤«ï ¢à¥¬. ¡ãä¥à
|
||||
out (SLOT3),a
|
||||
xor a
|
||||
ld l,a
|
||||
ld h,a
|
||||
ld (depth_tree),a ; á¡à. ®¬¥à ãà®¢ï ¢«®¦¥¨©
|
||||
ld (count_dirs),hl ; á¡à. ç¨á«® ¯ ¯®ª
|
||||
ld (count_files),hl ; á¡à. ç¨á«® ä ©«®¢
|
||||
ld (size_files),hl ; á¡à. à §¬¥à ä ©«®¢
|
||||
ld (size_files+2),hl
|
||||
push hl ; ⥪. í«¥¬¥â (ª®à¥ì) ¢ á⥪
|
||||
ld (cur_tree_adr+1),hl ; ¨¨â. ï祩ªã
|
||||
ld hl,LC000+16 ; ç «® ¡ãä¥à í«¥¬¥â®¢ ¢«®¦¥¨©
|
||||
ld (end_tree),hl ; ç «® á«¥¤. 16-⨠¡ ©â®£® í«¥¬¥â
|
||||
ld b,16 ; à §¬¥à í«¥¬¥â ¢«®¦¥¨©
|
||||
ld (hl),a ; a=0
|
||||
inc hl
|
||||
djnz $-2
|
||||
call scan_cur_level ; ᪠¨à. ®¤®£® ã஢ï + á⮯ª í«¥¬.
|
||||
jr nc,tree_exit ; ¥â ¯ ¯®ª
|
||||
; ¢®©â¨ ¢ ¯ ¯ªã á«¥¤. ã஢ï
|
||||
tree_loop:
|
||||
push hl ; ¤à¥á áâ ண® í«¥¬¥â (¯®á«¥ LoadDIR)
|
||||
ld c,31h ; ®¯à®á á¨áâ. ª« ¢ë
|
||||
rst 10h
|
||||
call nz,abort_tree_scan ; ¢ë¢¥á⨠®ª® "¯à¥àë¢. ®¯¥à 樨"
|
||||
pop hl
|
||||
ld a,(depth_tree) ; ®¬¥à ⥪. ãà®¢ï ¢«®¦¥¨©
|
||||
inc a
|
||||
cp max_depth+1 ; 20+1 ¬ ªá. ç¨á«® ¢«®¦¥¨© ¯ ¯®ª
|
||||
jr c,tree_depth_ok
|
||||
tree_depth_err:
|
||||
ld a,EDEPTH ; 36 ª®¤ "᫨誮¬ ¡®«ìè ï ¢«®¦¥®áâì ¯ ¯®ª"
|
||||
jr tree_abort1
|
||||
;
|
||||
tree_depth_ok:
|
||||
ld (depth_tree),a
|
||||
ld de,(count_dirs) ; ⥪. ç¨á«® ¯ ¯®ª
|
||||
bit 2,d ; >= 1024 ¯ ¯®ª (> 1 ¡ ª¨ í«¥¬¥â®¢)
|
||||
jr nz,tree_depth_err ; ®è¨¡ª , ¢ë©â¨
|
||||
push hl ; ⥪. ¨¬ï ¯ ¯ª¨ ¢ á⥪
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr z,dirs_end ; ¥â ¢«®¦¥¨©, ¢¥àãâìáï ¢ ç. ã஢¥ì
|
||||
ld (cur_tree_adr+1),hl ; ¨¬ï ¯ ¯ª¨ ⥪. ã஢ï
|
||||
ld c,1Dh ; ãáâ. ¯ãâì ¯ ¯ªã ⥪. ã஢ï
|
||||
rst 10h
|
||||
call scan_cur_level ; ᪠¨à. ®¤®£® ã஢ï + á⮯ª í«¥¬.
|
||||
jr c,tree_loop ; ¥áâì ¯ ¯ª¨
|
||||
; ¢¥àãâìáï ¯à¥¤. ã஢¥ì
|
||||
dirs_end:
|
||||
ld c,31h ; ®¯à®á á¨áâ. ª« ¢ë
|
||||
rst 10h
|
||||
call nz,abort_tree_scan ; ¢ë¢¥á⨠®ª® "¯à¥àë¢. ®¯¥à 樨"
|
||||
pop hl ; ⥪. í«¥¬¥â ¨§ á⥪
|
||||
ld a,h
|
||||
or l
|
||||
jr z,tree_exit ; ¢ áâ à⮢®© ¯ ¯ª¥
|
||||
push hl ; hl= ¤à¥á ¨¬¥¨ ¯ ¯ª¨
|
||||
ld a,(scan_mode) ; ०¨¬ à ¡®âë ¯à®æ¥¤ãàë
|
||||
cp 2 ; ãáâ. âਡã⮢ ¯ ¯ª¨
|
||||
jr nz,dirs_end1
|
||||
;call attrib_folder;
|
||||
ds 3;
|
||||
jr dirs_end2
|
||||
dirs_end1:
|
||||
cp 3 ; 㤠«¥¨¥ ¯ ¯ª¨
|
||||
jr c,dirs_end2
|
||||
call delete_folder; ; a=3,4 㤠«¥¨¥/¯¥à¥®á ¯ ¯ª¨
|
||||
jr dirs_end3
|
||||
dirs_end2:
|
||||
ld hl,parent_level ; ".."
|
||||
ld c,1Dh ; ãáâ. ¯ãâì
|
||||
rst 10h
|
||||
dirs_end3:
|
||||
ld hl,depth_tree ; ®¬¥à ⥪. ãà®¢ï ¢«®¦¥¨©
|
||||
dec (hl)
|
||||
pop hl
|
||||
ld de,16-1 ; à §¬¥à í«¥¬¥â ¢«®¦¥¨© - 1
|
||||
add hl,de
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
inc a
|
||||
jr nz,tree_loop
|
||||
jr dirs_end ; § ¤ ¢ 横«
|
||||
;
|
||||
tree_abort:
|
||||
ld a,EUABORT ; 37 ª®¤ "®¯¥à æ¨ï ¯à¥à¢ ¯®«ì§®¢ ⥫¥¬"
|
||||
tree_abort1:
|
||||
scf
|
||||
jr $+3
|
||||
tree_exit:
|
||||
xor a ; a=Ok ¨ á¡à. CF
|
||||
push af
|
||||
tmppage:ld a,0 ; ¤¥áªà. áâà.
|
||||
or a
|
||||
ld bc,01C3h ; ®á¢®¡. 1 áâà. ¯ ¬ïâ¨
|
||||
call nz,0008h
|
||||
db 3Eh ; ld a,..
|
||||
tree_page:
|
||||
db 0
|
||||
out (SLOT3),a ; ¢®ááâ. ¯®àâ
|
||||
pop af ; ¢®§¢à. ª®¤ ¯à®æ¥¤ãàë
|
||||
db 31h ; ld sp,..
|
||||
tree_stack:
|
||||
dw 0 ; á®åà. á⥪
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘ª ¨à®¢ âì ®¤¨ ã஢¥ì
|
||||
; ¢ë室: C - ¥áâì ¯ ¯ª¨
|
||||
; NC - ¥â ¯ ¯®ª
|
||||
; hl= ¤à¥á áâ ண® í«¥¬¥â
|
||||
;-------------------------------------------------
|
||||
scan_cur_level:
|
||||
ld de,(end_tree)
|
||||
push de ; á®åà. ¤à¥á áâ ண® í«¥¬¥â
|
||||
ld ix,0 ; áç¥â稪 ¯ ¯®ª
|
||||
ld hl,scan_mask ; ¨¬ï ä ©« (è ¡«® ¯®¨áª )
|
||||
ld de,work_buffer ; à ¡. ¡ãä¥à
|
||||
push ix
|
||||
push de
|
||||
ld a,37h ; ¢á¥, ªà®¬¥ ¬¥âª¨ ⮬
|
||||
ld bc,0119h ; f_first 8.3
|
||||
rst 10h
|
||||
pop hl
|
||||
pop ix
|
||||
jr c,scan_level_exit ; ¥ ©¤¥®
|
||||
scan_level_loop:
|
||||
call tree_record ; ¤«ï ¯ ¯®ª á®§¤. á⮯ªã í«¥¬¥â®¢
|
||||
jr c,scan_level_exit ; ®è¨¡ª , ¢ë室 § £à ¨æã ¡ ª¨
|
||||
push ix
|
||||
ld de,work_buffer ; à ¡. ¡ãä¥à
|
||||
push de
|
||||
ld c,1Ah ; f_next
|
||||
rst 10h
|
||||
pop hl
|
||||
pop ix
|
||||
jr nc,scan_level_loop ; § ¤ ¢ 横«
|
||||
scan_level_exit:
|
||||
ld hl,(end_tree) ; ç «® á«¥¤. í«¥¬¥â
|
||||
dec hl
|
||||
ld (hl),-1 ; +xF ¢ ª®¥æ ¯à¥¤.
|
||||
db 0DDh
|
||||
ld c,l ; ld bc,ix
|
||||
db 0DDh
|
||||
ld b,h
|
||||
ld hl,(count_dirs) ; ⥪. ç¨á«® ¯ ¯®ª
|
||||
add hl,bc ; + ç¨á«® ¯ ¯®ª ¯à®áª ¨à. ã஢ï
|
||||
ld (count_dirs),hl
|
||||
pop hl ; ¢®ááâ. ¤à¥á áâ ண® í«¥¬¥â
|
||||
ld a,c
|
||||
or b
|
||||
ret z ; ¥â ¯ ¯®ª
|
||||
; á®åà. ¢ ¯¥à¢®¬ í«¥¬¥â¥ ¢ +0D..0E ¤à¥á ¯®á«. í«¥¬¥â
|
||||
cur_tree_adr:
|
||||
ld de,0 ; ¤à¥á ⥪. ¨¬¥¨ ¯ ¯ª¨
|
||||
ld a,e
|
||||
or d
|
||||
jr z,scan_level_exit1
|
||||
ex de,hl
|
||||
ld bc,0Dh ; ᬥé. ï祩ª¨ ¤à¥á ¯®á«. í«¥¬¥â
|
||||
add hl,bc
|
||||
ld (hl),e ; á®åà. ¤à¥á ¯®á«. í«¥¬¥â
|
||||
inc hl
|
||||
ld (hl),d
|
||||
ex de,hl
|
||||
scan_level_exit1:
|
||||
scf ; ¥áâì á«¥¤. ã஢¥ì
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Ž¡à ¡®âª ©¤¥®© § ¯¨á¨.
|
||||
; „«ï ¯ ¯®ª - á®§¤ ¥â á⮯ªã í«¥¬¥â®¢.
|
||||
; ¢å®¤: hl=à ¡. ¡ãä¥à § ¯¨á¨
|
||||
; ¢ë室: ¯à¨ ®è¨¡ª¥ CF, ¢ë室 § £à ¨æã ¡ ª¨
|
||||
;-------------------------------------------------
|
||||
; í«¥¬¥â: +00..0C - ¨¬ï ¯ ¯ª¨ (á ã«¥¬)
|
||||
; +0D..0E - ¤à¥á ¯®á«. í«¥¬¥â (¢ § ¯¨á¨ ¯¥à¢®£® í«¥¬¥â )
|
||||
;-------------------------------------------------
|
||||
tree_record:
|
||||
ld a,(work_buffer+32) ; âਡãâ ©¤. § ¯¨á¨
|
||||
bit 4,a ; ¯ ¯ª ?
|
||||
jr nz,ins_tree_item ; ¤
|
||||
; ©¤¥ ä ©«
|
||||
ld a,(scan_mode) ; ०¨¬ à ¡®âë ¯à®æ¥¤ãàë
|
||||
or a ; a=0 ᪠¨à. ¯ ¯ªã
|
||||
jr z,tree_record_next
|
||||
dec a ; a=1 ª®¯¨à. ¯ ¯ªã
|
||||
;jp z,copy_file
|
||||
dec a ; a=2 ãáâ. âਡ. ä ©«®¢ ¯ ¯ª¨
|
||||
;jp z,attrib_file
|
||||
dec a ; a=3 㤠«¥¨¥ ¯ ¯ª¨
|
||||
jp z,delete_file
|
||||
dec a ; a=4 ¯¥à¥®á ¯ ¯ª¨
|
||||
;jp z,move_file
|
||||
or a ; á¡à. CF
|
||||
ret
|
||||
; ++®¡ê¥¬ ä ©«®¢
|
||||
tree_record_next:
|
||||
ld de,(work_buffer+28) ; ¬«. à §àï¤
|
||||
ld hl,(size_files)
|
||||
add hl,de
|
||||
ld (size_files),hl
|
||||
ld de,(work_buffer+30) ; áâ. à §àï¤
|
||||
ld hl,(size_files+2)
|
||||
adc hl,de
|
||||
ld (size_files+2),hl
|
||||
; ++ç¨á«® ä ©«®¢
|
||||
ld hl,(count_files)
|
||||
inc hl
|
||||
ld (count_files),hl
|
||||
or a ; á¡à. CF
|
||||
ret
|
||||
; ©¤¥ ¯ ¯ª
|
||||
ins_tree_item:
|
||||
ex de,hl
|
||||
ld hl,(end_tree) ; ç «® ®¢®£® í«¥¬¥â
|
||||
ld bc,16 ; à §¬¥à í«¥¬¥â
|
||||
add hl,bc
|
||||
sbc hl,bc
|
||||
ex de,hl
|
||||
ret c ; § ¯à¥¤¥«®¬ ¡ ª¨ (> 0FFFFh)
|
||||
ld bc,33
|
||||
add hl,bc
|
||||
ld a,(hl) ;+33 ¨¬ï ä ©«
|
||||
cp "." ; ".", ".."
|
||||
ret z
|
||||
inc ix ; ++ç¨á«® ¯ ¯®ª
|
||||
ld c,16 ; à §¬¥à í«¥¬¥â ¢«®¦¥¨©
|
||||
xor a
|
||||
ldi
|
||||
cp (hl)
|
||||
jr nz,$-3 ; ᪮¯¨à. ¢ í«¥¬¥â ¨¬ï ¯ ¯ª¨
|
||||
ld b,c ; ®¡ã«¨âì ®áâ ⮪ í«¥¬¥â
|
||||
ld (de),a
|
||||
inc de
|
||||
djnz $-2
|
||||
ld (end_tree),de ; ç «® á«¥¤. 16-⨠¡ ©â®£® í«¥¬¥â
|
||||
ld a,(scan_mode) ; ०¨¬ à ¡®âë ¯à®æ¥¤ãàë
|
||||
cp 1 ; ª®¯¨à. ¯ ¯ª¨
|
||||
;jp z,create_folder
|
||||
cp 4 ; move ¯ ¯ª¨
|
||||
;jp z,create_folder;
|
||||
or a ; á¡à. CF
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚뢮¤ ®ª ¯à¥àë¢ ¨ï ®¯¥à 樨
|
||||
;-------------------------------------------------
|
||||
abort_tree_scan:
|
||||
ld bc,3135h ; ®ç¨áâ¨âì ¡ãä¥à á¨áâ. ª« ¢ë
|
||||
rst 10h
|
||||
ld hl,dial_abort ; ®¯¨á â¥«ì ®ª
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; Yes
|
||||
jp z,tree_abort ; ¢ë©â¨ ¨§ ¯à®æ¥¤ãàë
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
; <20>¥¦¨¬ à ¡®âë ¯à®æ¥¤ãàë:
|
||||
; 0 - ᪠¨à®¢ ¨¥ ¯ ¯ª¨
|
||||
; 1 - ª®¯¨à®¢ ¨¥ ¯ ¯ª¨
|
||||
; 2 - ãáâ. âਡã⮢ ä ©«®¢ ¯ ¯ª¨
|
||||
; 3 - 㤠«¥¨¥ ¯ ¯ª¨
|
||||
; 4 - ¯¥à¥®á ¯ ¯ª¨
|
||||
scan_mode:
|
||||
db 0
|
||||
|
||||
; è ¡«® ¯®¨áª (â ª¦¥ ¨á¯. ¤«ï ¯®¨áª ¬¥âª¨ ⮬ )
|
||||
scan_mask:
|
||||
db "*.*",0
|
||||
; ¢¥à娩 ã஢¥ì
|
||||
parent_level:
|
||||
db "..",0
|
||||
; ®¬¥à ⥪. ãà®¢ï ¢«®¦¥¨©
|
||||
depth_tree:
|
||||
db 0
|
||||
; ç «® á«¥¤. 16-⨠¡ ©â®£® í«¥¬¥â
|
||||
end_tree:
|
||||
dw 0
|
||||
|
||||
; ç¨á«® ¯ ¯®ª
|
||||
count_dirs:
|
||||
dw 0
|
||||
; ç¨á«® ä ©«®¢ ¯ ¯ª¨
|
||||
count_files:
|
||||
dw 0
|
||||
; ®¡é. à §¬¥à ä ©«®¢ ¯ ¯ª¨
|
||||
size_files:
|
||||
dw 0 ; ¬«. à §àï¤
|
||||
dw 0 ; áâ. à §àï¤
|
||||
9
MOD1/UMENU.Z80
Executable file
@ -0,0 +1,9 @@
|
||||
; ’ ¡«¨æ ¬¥î ¯®«ì§®¢ ⥫ï
|
||||
user_table:
|
||||
dw title_user_menu ; ¤à¥á § £®«®¢ª ®ª
|
||||
dw array_user2 ; ¤à¥á ®¯¨á â¥«ï ¬¥î
|
||||
|
||||
; ‡ £®«®¢®ª ¬¥î ¯®«ì§®¢ ⥫ï
|
||||
; <¤«¨ áâப¨>, <áâப >
|
||||
title_user_menu:
|
||||
db 9,"User menu"
|
||||
71
MOD1/WIDTH.ASM
Executable file
@ -0,0 +1,71 @@
|
||||
width_max equ 32 ; ¬ ªá. ¤«¨ ¯ã⨠¯ ¥«¨
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Ž£à ¨ç¥¨¥ áâப¨ ¯ã⨠(¬ ªá. 32 ᨬ¢®« )
|
||||
;-------------------------------------------------
|
||||
width_path:
|
||||
xor a
|
||||
ld (width1__),a ; á¡à. ä« £ ¯¥à¥¯®«. áâப¨
|
||||
; ã§ âì ¤«¨ã ¯ãâ¨
|
||||
ld iy,(__path) ; ®¯¨á â¥«ì ¯ã⨠ªâ. ¯ ¥«¨
|
||||
ld hl,(__buff) ; ¡ãä¥à ¯ã⨠ªâ. ¯ ¥«¨
|
||||
ld e,l
|
||||
ld d,h
|
||||
ld bc,127;255 ; ¬ ªá. ¤«¨ ¯ã⨠;!HARDCODE cmd len
|
||||
cpir
|
||||
dec hl
|
||||
push hl ; á®åà. ª®¥æ ¯ã⨠¢ ¡ãä¥à¥
|
||||
sbc hl,de
|
||||
ld a,l
|
||||
cp width_max+1 ; 33
|
||||
jr c,width__
|
||||
; ¤«¨ ¯ã⨠> 32
|
||||
ld a,width_max ; 32
|
||||
ld (width1__),a ; ãáâ. ä« £
|
||||
width__:
|
||||
ld c,a ; ¤«¨ áâப¨ ¯ãâ¨
|
||||
ld b,0
|
||||
add a,3+1 ; + ¨¬ï ¤¨áª ¨ ª®æ¥¢®© ¯à®¡¥«
|
||||
ld (iy+0),a ; ¯®« ï ¤«¨ áâப¨
|
||||
ex af,af'
|
||||
push iy
|
||||
pop hl
|
||||
ld de,7
|
||||
add hl,de
|
||||
ex de,hl ; de=¯à¨¥¬ë© ¡ãä¥à
|
||||
pop hl ; ¢®ááâ. ª®¥æ ¯ã⨠¢ ¡ãä¥à¥
|
||||
; ᪮¯¨à®¢ âì áâபã
|
||||
and a
|
||||
sbc hl,bc ; hl= ç «® ¯¥à¥ª 窨
|
||||
push de
|
||||
ldir
|
||||
ld a," "
|
||||
ld (de),a ; ª®æ¥¢®© ¯à®¡¥«
|
||||
inc de
|
||||
xor a
|
||||
ld (de),a ; ª®¥æ ®¯¨á ⥫ï
|
||||
pop de
|
||||
width1__+1:
|
||||
ld a,0 ; 0/32 ¥â/¤ ä« £ ¯¥à¥¯®«. áâப¨
|
||||
or a
|
||||
jr z,width2__
|
||||
ld a,'\'
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,"."
|
||||
ld (de),a
|
||||
inc de
|
||||
ld (de),a
|
||||
; æ¥âà¨à®¢ âì áâபã
|
||||
width2__:
|
||||
ex af,af' ; ¯®« ï ¤«¨ áâப¨
|
||||
srl a ; / 2
|
||||
ld c,a
|
||||
ld a,20 ; è¨à¨ ¯ ¥«¨ / 2
|
||||
sub c
|
||||
ld (iy+3),a ; X ¯®«®¦. áâப¨
|
||||
ld a,(disk) ; ®¬¥à ¤¨áª ªâ. ¯ ¥«¨
|
||||
add a,"A"
|
||||
ld (iy+5),a
|
||||
ret
|
||||
104
MOD2/CLOCK.ASM
Executable file
@ -0,0 +1,104 @@
|
||||
;-------------------------------------------------
|
||||
; ‚뢮¤ ç ᮢ ¢¢¥àåã ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
show_clock:
|
||||
db 3Eh ; ld a,..
|
||||
enable_clock:
|
||||
db false ; ä« £ ¢ë¢®¤ ç ᮢ
|
||||
or a
|
||||
ret z
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z ; ¢ëª«.
|
||||
call get_systime ; ã§ âì á¨áâ. ¢à¥¬ï
|
||||
ld de,clock_string ; ¡ãä¥à ç ᮢ
|
||||
ld hl,0301h ; á 0-© áâப¨
|
||||
in a,(89h)
|
||||
ld b,a ; á®åà. ¯®àâ
|
||||
in a,(SLOT0)
|
||||
ld c,a ; á®åà.¯®àâ
|
||||
di
|
||||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ld a,75+81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a ; ª®«®ª
|
||||
; ¢ë¢®¤ ⥪áâ
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,5 ; ¤«¨ áâப¨
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||||
ld a,(de)
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||||
ld (hl),a
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
; ¢ë¢®¤ âਡã⮢
|
||||
ld de,clock_attr ; áâப âਡã⮢
|
||||
ld a,75+81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a
|
||||
inc hl ; ¯¥à¥©â¨ âਡãâë
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,5 ; ¤«¨ áâப¨
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||||
ld a,(de)
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||||
ld (hl),a
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,b
|
||||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||||
ld a,c
|
||||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||||
ei
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; “¡à âì ç áë
|
||||
;-------------------------------------------------
|
||||
hidden_clock:
|
||||
ld a,(cur_panel) ; ªâ. ¯ ¥«ì 0/80h - «¥¢ ï/¯à ¢ ï
|
||||
or a
|
||||
push af
|
||||
call z,change_panel ; ¯¥à¥©â¨ ¯à ¢ãî
|
||||
call print_up_path ; § â¥à¥âì ç áë
|
||||
pop af
|
||||
call z,change_panel ; ¢¥àãâì ªâ. ¯ ¥«ì
|
||||
ret
|
||||
|
||||
|
||||
; <20>à®ç¨â âì á¨áâ. ¢à¥¬ï ¨§ ॣ¨áâà "A" CMOS
|
||||
get_systime:
|
||||
ld hl,clock_string ; ¡ãä¥à áâப¨
|
||||
ld d,04h ; ॣ¨áâà ç ᮢ (0=ॣ.A, ¤à¥á = +4)
|
||||
call get_systime__
|
||||
inc hl
|
||||
ld d,02h ; ॣ¨áâà ¬¨ãâ
|
||||
; —⥨¥ cmos-ॣ¨áâà
|
||||
; ¢å®¤: d=®¬¥à ॣ¨áâà ¨ ¤à¥á
|
||||
get_systime__:
|
||||
ld bc,0DFBDh ; ¯®àâ § ¯¨á¨ ¤à¥á CMOS
|
||||
out (c),d
|
||||
ld bc,0FFBDh ; ¯®àâ çâ¥¨ï ¤ ëå CMOS
|
||||
in a,(c)
|
||||
; hex-ä®à¬ â
|
||||
ld c,a
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
call $+4
|
||||
ld a,c
|
||||
and 0Fh
|
||||
cp 9+1
|
||||
sbc a,69h
|
||||
daa
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ret
|
||||
|
||||
|
||||
clock_string:
|
||||
db "00:00" ; áâப ç ᮢ
|
||||
clock_attr:
|
||||
db 30h,30h,30h,30h,30h ; 梥â ç ᮢ
|
||||
302
MOD2/COPY.ASM
Executable file
@ -0,0 +1,302 @@
|
||||
;===========================================================
|
||||
;
|
||||
; <20>à®æ¥áá ª®¯¨à®¢ ¨ï ä ©«®¢
|
||||
;
|
||||
;===========================================================
|
||||
copy: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
ld a,(format_mode) ; ⥪. ä®à¬ â ¯ ¥«¨
|
||||
and form_info+form_qview ; info, qview
|
||||
ret nz
|
||||
; ᪮¯¨à. ¨¬ï ä ©« /¯ ¯ª¨ (¥á«¨ ¥â ¢ë¤¥«.)
|
||||
call prep_copy_name ; áâநâì ¨¬ï ª®¯¨à. ä ©« ¢ ®¯¨á â. ®ª® ¨ ¤à.
|
||||
ret c ; ⥪ã騩 ".." ¨ ¥â ®â¬¥ç. ä ©«®¢
|
||||
; ¢ë¢®¤ ç «ì®£® ®ª
|
||||
ld hl,dial_copy ; ®¯¨á â¥«ì ®ª
|
||||
call DialogW
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Copy"
|
||||
ret nz
|
||||
; ¢ë¢®¤ ç «ì®£® ®ª ¯à®æ¥áá
|
||||
ld hl,copy_file ; ®¡à ¡®â稪 ¯à®æ¥áá ~Process Line~
|
||||
ld (subrout_process),hl
|
||||
ld (subrout_process1),hl;
|
||||
ld hl,dial_copy_total_process ; ®¯¨á â¥«ì ®ª á 2-¬ï «¨¥©ª ¬¨
|
||||
call DialogW
|
||||
cp evCommand; ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz;
|
||||
ld a,(hl); ;+1 what
|
||||
cp cmOkey; ; "Yes"
|
||||
ret nz;
|
||||
;
|
||||
;
|
||||
; ¢ë¢®¤ ®ª ®è¨¡ª¨ ª®¯¨à®¢ ¨ï
|
||||
ld hl,dial_error_copy
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmSkip ; "Skip"
|
||||
cp cmSkipAll ; "Skip all"
|
||||
cp cmOkey ; "Retry"
|
||||
ret nz
|
||||
;
|
||||
; ¢ë¢¥á⨠®ª® ¯à¥àë¢ ¨ï ®¯¥à 樨
|
||||
ld hl,dial_abort ; ®¯¨á â¥«ì ®ª
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Yes"
|
||||
ret nz
|
||||
;
|
||||
; ¢ë¢®¤ ®ª "ä ©« 㦥 áãé¥áâ¢ã¥â"
|
||||
; § ¯®«¨âì ï祩ª¨
|
||||
ld hl,dial_existing
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Overwrite"
|
||||
cp cmAll ; "All"
|
||||
cp cmSkip ; "Skip"
|
||||
cp cmSkipAll ; "Skip all"
|
||||
cp cmAppend ; "Append"
|
||||
ret nz
|
||||
;..
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; ˆ¬ï ª®¯¨à. ä ©« ¢ ®¯¨á ⥫¨ ®ª® ¨ ¡ãä¥à áâப¨ "Copy"
|
||||
prep_copy_name:
|
||||
; ld hl,input_line_copy ; áâàãªâãà
|
||||
; call clear_struct_inline ; ®ç¨áâ¨âì áâàãªâãàã ~input line~
|
||||
; ld hl,(__buff1) ; ¯ãâì ¯ áá. ¯ ¥«¨
|
||||
; ld de,input_line_copy+5 ; áâப ~input line~
|
||||
; ld b,2 ; áç¥â稪 ¤«¨ë áâப¨
|
||||
; ld a,(disk1)
|
||||
; add a,"A"
|
||||
; ld (de),a
|
||||
; inc de
|
||||
; ld a,":"
|
||||
; ld (de),a
|
||||
; inc de
|
||||
; ld a,(hl)
|
||||
; ld (de),a
|
||||
; or a
|
||||
; jr z,$+7
|
||||
; inc hl
|
||||
; inc de
|
||||
; inc b
|
||||
; jr $-8
|
||||
; dec hl
|
||||
; ld a,'\'
|
||||
; cp (hl)
|
||||
; jr z,$+7
|
||||
; inc b
|
||||
; ld (de),a
|
||||
; inc de
|
||||
; xor a
|
||||
; ld (de),a
|
||||
; ld a,b
|
||||
; ld (input_line_copy+4),a ; áâàãªâãà áâப¨ ~input line~
|
||||
;
|
||||
ld bc,copy_name ; ªã¤
|
||||
call copyname
|
||||
ret c ; ⥪ã騩 ".." ¨ ¥â ®â¬¥ç. ä ©«®¢
|
||||
;
|
||||
ld iy,input_line_copy ; áâàãªâãà
|
||||
; ®ç¨áâ¨âì áâàãªâãàã ¡ãä¥à
|
||||
ld hl,input_line_copy ; áâàãªâãà
|
||||
call clear_struct_inline
|
||||
; ¢áâ ¢¨âì ¤¨áª
|
||||
ld hl,input_line_copy+5 ; ªã¤
|
||||
ld a,(disk1)
|
||||
add a,"A"
|
||||
call put_char1 ; ¢áâ ¢¨âì ᨬ¢®«
|
||||
inc hl
|
||||
ld a,":"
|
||||
call put_char1
|
||||
inc hl
|
||||
; ¢áâ ¢¨âì ¯ãâì
|
||||
ld de,(__buff1) ; ¯ãâì ¯ áá. ¯ ¥«¨
|
||||
prep_copy_loop:
|
||||
ld a,(de)
|
||||
or a
|
||||
jr z,prep_copy_next
|
||||
call put_char1 ; ¢áâ ¢¨âì ᨬ¢®«
|
||||
inc de
|
||||
inc hl
|
||||
jr prep_copy_loop
|
||||
;
|
||||
prep_copy_next:
|
||||
dec hl
|
||||
ld a,'\'
|
||||
cp (hl)
|
||||
jr z,$+6
|
||||
inc hl
|
||||
call put_char1
|
||||
inc hl
|
||||
; ¢áâ ¢¨âì ¨¬ï
|
||||
ld de,work_buffer ; ®âªã¤
|
||||
prep_copy_loop1:
|
||||
ld a,(de)
|
||||
or a
|
||||
jr z,prep_copy_next1
|
||||
call put_char1 ; ¢áâ ¢¨âì ᨬ¢®«
|
||||
inc de
|
||||
inc hl
|
||||
jr prep_copy_loop1
|
||||
;
|
||||
prep_copy_next1:
|
||||
ld (hl),a
|
||||
;
|
||||
; ç «ì®¥ ®ª® ª®¯¨à®¢ ¨ï
|
||||
;ld bc,copy_name ; ªã¤
|
||||
;call copyname
|
||||
;ret c ; ⥪ã騩 ".." ¨ ¥â ®â¬¥ç. ä ©«®¢
|
||||
;
|
||||
; ®ª® ¯à®æ¥áá ª®¯¨à®¢ ¨ï á 2-¬ï «¨¥©ª ¬¨
|
||||
ld hl,copy_name ; ®âªã¤
|
||||
ld de,copy_name1 ; ªã¤
|
||||
call copy_string ; (hl) -> (de)
|
||||
; ᪮¯¨à. ¯ãâì
|
||||
ld hl,input_line_copy+5 ; áâàãªâãà áâப¨ ~input line~
|
||||
ld de,copy_name2 ; ªã¤
|
||||
call copy_dstname ; ᪮¯¨à. ¯ãâì+¨¬ï ä ©« /¯ ¯ª¨
|
||||
;
|
||||
; ®ª® "®è¨¡ª ª®¯¨à®¢ ¨ï ¢:"
|
||||
ld hl,copy_name ; ®âªã¤
|
||||
ld de,copy_name3 ; ªã¤
|
||||
call copy_string ; (hl) -> (de)
|
||||
; á æ¥â஢ª®© ¨¬¥¨
|
||||
; ¯ãâì § ç¥¨ï ®ª "®è¨¡ª ª®¯¨à®¢ ¨ï"
|
||||
ld hl,input_line_copy+5 ; áâàãªâãà áâப¨ ~input line~
|
||||
ld de,copy_name4 ; ªã¤
|
||||
call copy_dest_name ; ᪮¯¨à. ¯ãâì+¨¬ï ä ©« /¯ ¯ª¨
|
||||
;
|
||||
; ¯ãâì § ç¥¨ï ®ª "ä ©« 㦥 áãé¥áâ¢ã¥â"
|
||||
ld hl,copy_name4 ; ®âªã¤
|
||||
ld de,exists_name ; ªã¤
|
||||
call copy_string ; (hl) -> (de)
|
||||
; ¨¬ï ä ©«
|
||||
;ld hl,work_buffer+33;
|
||||
;dec de;
|
||||
;call copy_string; ; (hl) -> (de)
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘®§¤ âì ¯ ¯ªã ¯® ⥪. ¯ã⨠¤¨áª¥ § 票ï
|
||||
;-----------------------------------------------------------
|
||||
create_folder:
|
||||
; á®§¤ âì ⥪. â ࣥâ-¯ãâì ¢ work_buffer+128 ;256
|
||||
; ®á®¢ë¢ ïáì ¡ §®¢®¬ ¯ã⨠work_buffer (â®çª ®âáç¥â )
|
||||
or a;
|
||||
ret
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘ª®¯¨à®¢ âì ä ©« ⥪. ¯ã⨠¤¨áª § 票ï.
|
||||
; <20>à®æ¥¤ãà «¨¥©ª¨ ¯à®æ¥áá ª®¯¨à®¢ ¨ï.
|
||||
; <20>ਠ§ ¢¥à襨¨ (¨«¨ ¯à¥àë¢ ¨¨) ª®¯¨à®¢ ¨ï
|
||||
; ¢ë¤ ¥â ä« £ "Carry".
|
||||
;-----------------------------------------------------------
|
||||
copy_file:
|
||||
; á®§¤ âì ä ©« ¯® ⥪. â ࣥâ-¯ã⨠(¢ work_buffer+128 ;256)
|
||||
;...
|
||||
scf;
|
||||
or a;
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; Ÿç¥©ª¨ 1-© «¨¥©ª¨ ¯à®æ¥áá
|
||||
max_file_bytes:
|
||||
dw 0 ; à §¬¥à ä ©« (¯ ¯ª¨)
|
||||
dw 0 ; áâ. à §àï¤
|
||||
;
|
||||
curr_bytes:
|
||||
dw 0 ; ⥪. ç¨á«® ®¡à ¡. ¡ ©â®¢
|
||||
dw 0 ; áâ. à §àï¤
|
||||
|
||||
; Ÿç¥©ª¨ 2-© «¨¥©ª¨ ¯à®æ¥áá (®¡é¥©)
|
||||
max_file_bytes1:
|
||||
dw 0 ; à §¬¥à ä ©« (¯ ¯ª¨)
|
||||
dw 0 ; áâ. à §àï¤
|
||||
;
|
||||
curr_bytes1:
|
||||
dw 0 ; ⥪. ç¨á«® ®¡à ¡. ¡ ©â®¢
|
||||
dw 0 ; áâ. à §àï¤
|
||||
|
||||
|
||||
copy_overwrite:
|
||||
db false ; ä« £ ¯®¤â¢. ¯¥à¥§ ¯¨á¨ ¯à¨ ª®¯¨à®¢ ¨¨
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; Š®¢¥àâ¨à®¢ âì à §¬¥à ä ©« ¢ ç¨á«® ¡ ®ª
|
||||
; ¢å®¤: de=áâ. à §àï¤
|
||||
; hl=¬«. à §àï¤
|
||||
; ¢ë室: de=áâ. à §àï¤?
|
||||
; hl=¬«. à §àï¤?
|
||||
ConvLenToBank:
|
||||
ld a,h
|
||||
ld h,l
|
||||
ld l,0
|
||||
sla a
|
||||
rl e
|
||||
rl d
|
||||
rl l
|
||||
sla a
|
||||
rl e
|
||||
rl d
|
||||
rl l
|
||||
or h
|
||||
ld h,0
|
||||
ex de,hl
|
||||
jr z,$+3
|
||||
inc hl
|
||||
ld a,h
|
||||
or l
|
||||
ret nz
|
||||
inc de
|
||||
ret
|
||||
182
MOD2/DEBUG.ASM
Executable file
@ -0,0 +1,182 @@
|
||||
PR: push iy
|
||||
push ix
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
;push hl;
|
||||
ld de,1D31h
|
||||
ld c,84h
|
||||
rst 08h
|
||||
ld hl,work_buffer+33;256
|
||||
ld c,1Eh
|
||||
rst 10h
|
||||
;ld hl,work_buffer+256
|
||||
;xor a
|
||||
;ld c,a
|
||||
;ld b,a
|
||||
;cpir
|
||||
;dec hl
|
||||
;ex de,hl
|
||||
;pop hl;
|
||||
;call copy_string
|
||||
;
|
||||
ld hl,work_buffer+33;256
|
||||
ld c,5Ch
|
||||
rst 10h
|
||||
ld a," "
|
||||
call symb
|
||||
ld a," "
|
||||
call symb
|
||||
ld a," "
|
||||
call symb
|
||||
call wait
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
pop ix
|
||||
pop iy
|
||||
ret
|
||||
|
||||
PR1: push af
|
||||
ld de,1D30h
|
||||
ld c,84h
|
||||
rst 08h
|
||||
pop af
|
||||
jp HEX1
|
||||
;ld a," "
|
||||
;call symb
|
||||
;ld a,(type_title_qview)
|
||||
;jp HEX1
|
||||
|
||||
|
||||
PR2: push iy
|
||||
push ix
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
push af;
|
||||
push hl;
|
||||
ld de,1D01h
|
||||
ld c,84h
|
||||
rst 08h
|
||||
pop hl;
|
||||
;ld c,5Ch
|
||||
;rst 10h
|
||||
;ld a," "
|
||||
;call symb
|
||||
;ld a," "
|
||||
;call symb
|
||||
;ld a," "
|
||||
;call symb
|
||||
pop af;
|
||||
ld hl,input_line_copy+4 ; áâàãªâãà áâப¨ ~input line~
|
||||
ld a,(hl)
|
||||
call HEX1
|
||||
ld a," "
|
||||
call symb
|
||||
;call wait
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
pop ix
|
||||
pop iy
|
||||
ret
|
||||
|
||||
PR3: push iy
|
||||
push ix
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
ld de,1D01h
|
||||
ld c,84h
|
||||
rst 08h
|
||||
ld a,(depth_tree) ; ®¬¥à ⥪. ãà®¢ï ¢«®¦¥¨©
|
||||
call HEX1
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
pop ix
|
||||
pop iy
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
HEXHL: ld a,h
|
||||
push hl
|
||||
call HEX1
|
||||
pop hl
|
||||
ld a,l
|
||||
HEX1: push af
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
call HEX2
|
||||
pop af
|
||||
HEX2: and 0Fh
|
||||
add a,90h
|
||||
daa
|
||||
adc a,40h
|
||||
daa
|
||||
symb: ld c,5Bh ; ¢ë¢®¤ ᨬ¢®« íªà
|
||||
jp int10
|
||||
|
||||
newline:ld a,0Dh
|
||||
call symb ; ¢ë¢®¤ "a" íªà
|
||||
ld a,0Ah
|
||||
jp symb
|
||||
|
||||
|
||||
wait: ld a,2
|
||||
rst 20h
|
||||
jr z,$-3 ; ¦¤¥¬ ¦ â¨ï ª« ¢¨è¨
|
||||
ret
|
||||
|
||||
wait1s: ld b,49
|
||||
halt
|
||||
djnz $-1
|
||||
ret
|
||||
|
||||
|
||||
delay: push iy
|
||||
push ix
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
call wait
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
pop ix
|
||||
pop iy
|
||||
ret
|
||||
|
||||
HEXAF: push iy
|
||||
push ix
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
push af
|
||||
ld de,1D17h
|
||||
ld c,84h
|
||||
rst 08h
|
||||
pop af
|
||||
call HEX1
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
pop ix
|
||||
pop iy
|
||||
ret
|
||||
334
MOD2/DELETE.ASM
Executable file
@ -0,0 +1,334 @@
|
||||
;===========================================================
|
||||
;
|
||||
; <20>à®æ¥áá 㤠«¥¨ï ä ©« /¯ ¯ª¨
|
||||
;
|
||||
;===========================================================
|
||||
delete: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
ld a,(format_mode) ; ⥪. ä®à¬ â ¯ ¥«¨
|
||||
and form_info+form_qview ; info, qview
|
||||
ret nz
|
||||
xor a
|
||||
ld (show_dial_ro_all+1),a ; á¡à. ä« £ ¥ ¢ë¢®¤ ¤¨ «®£ "ä ©« r/o"
|
||||
ld de,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||||
ld hl,1
|
||||
sbc hl,de
|
||||
jp c,delete_group_files ; >= 2 ¢ë¤¥«. ä ©«®¢
|
||||
call prep_delete_name ; ¨¬ï ä ©« ¢ ®¯¨á â¥«ì ®ª
|
||||
ret c ; ".." § ¯¨áì
|
||||
call set_path_from_activ_panel ; ãáâ. ¤¨áª ¨ ¯ãâì ªâ. ¯ ¥«¨
|
||||
ret c
|
||||
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
ld a,1
|
||||
rst 20h
|
||||
;
|
||||
ld a,(del_confirm) ; ä« £ ¯®¤â¢¥à¦¤¥¨ï
|
||||
or a
|
||||
jr z,delete_ok
|
||||
; ¢ë¢®¤ ç «ì®£® ®ª
|
||||
ld hl,dial_delete ; ®¯¨á â¥«ì ®ª
|
||||
call DialogW
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Ok"
|
||||
ret nz
|
||||
delete_ok:
|
||||
call deleting_files
|
||||
ret c ; ®è¨¡ª¨ ¨«¨ ¯à¥àë¢ ¨¥ ®¯¥à 樨
|
||||
jp fresh_two_panels ; ¡¥§ ®è¨¡®ª, ®¡®¢¨âì ¯ ¥«¨
|
||||
|
||||
|
||||
; “„€‹…<E280B9>ˆ… ”€‰‹€/<2F>€<EFBFBD>Šˆ
|
||||
; ¢ë室: NC - Ok
|
||||
; CF - ¯à¥àë¢ ¨¥ ®¯¥à 樨 ¨«¨ ®è¨¡ª
|
||||
; a= -1 ®â¬¥ ®¯¥à 樨
|
||||
; a= -2 ®â¬¥ 㤠«¥¨ï ⥪. ¥ ¯ãá⮩ ¯ ¯ª¨
|
||||
; a=®¬¥à ª®¬ ¤ë (cmCancel, cmSkip, cmSkipAll)
|
||||
deleting_files:
|
||||
;
|
||||
ld a,(attr_record) ; âਡãâ ä ©« (£«®¡. ï祩ª )
|
||||
bit 4,a ; ¯ ¯ª ?
|
||||
jr nz,delete1 ; ¤
|
||||
bit 0,a ; Read-Only ?
|
||||
jr z,delete1 ; ¥â
|
||||
show_dial_ro_all:
|
||||
ld a,false ; ä« £ ¥ ¢ë¢®¤ ¤¨ «®£ "ä ©« r/o"
|
||||
or a
|
||||
jr nz,delete_yes1
|
||||
; ¢ë¢®¤ ®ª "ä ©« r/o"
|
||||
ld hl,delete_name ; ®âªã¤
|
||||
ld de,delete_name3 ; ªã¤ (¡ãä¥à 12 ¡ ©â)
|
||||
call copy_string ; (hl) -> (de) á ã«¥¬
|
||||
ld hl,dial_delete_ro ; "The file is read only"
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ld a,-1 ; ª®¤ "®â¬¥ ®¯¥à 樨"
|
||||
scf
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Delete"
|
||||
jr z,delete_yes1
|
||||
cp cmAll ; "All"
|
||||
scf
|
||||
ret nz ; Cancel, Skip, Skip all
|
||||
ld (show_dial_ro_all+1),a ; ãáâ. ä« £
|
||||
delete_yes1:
|
||||
; áïâì "r/o" âਡãâ
|
||||
ld hl,attr_record ; âਡãâ ä ©« (£«®¡. ï祩ª )
|
||||
res 0,(hl) ; ®¡®¢¨âì âਡãâ
|
||||
ld a,(hl)
|
||||
ld hl,temp_fname ; ¨¬ï ä ©« /¯ ¯ª¨
|
||||
ld bc,0116h ; ãáâ. âਡãâ ä ©«
|
||||
rst 10h
|
||||
delete1:
|
||||
; ᪮¯¨à. ¨¬ï ä ©« /¯ ¯ª¨ ¢ ®¯¨á â¥«ì ¨ä®-®ª
|
||||
ld hl,delete_name ; ®âªã¤
|
||||
ld de,delete_name1 ; ªã¤
|
||||
call copy_string
|
||||
delete_try:
|
||||
; ¢ë¢®¤ ¨ä®-®ª ¨¬¥¨ ä ©« /¯ ¯ª¨
|
||||
ld hl,dial_delete_current
|
||||
call WinSimple ; ®âªàëâì ®ª®
|
||||
; 㤠«¥¨¥ ä ©« /¯ ¯ª¨
|
||||
ld c,1Ch ; 㤠«¨âì ¯ ¯ªã
|
||||
ld a,(attr_record) ; âਡãâ ä ©« (£«®¡. ï祩ª )
|
||||
bit 4,a ; ¯ ¯ª ?
|
||||
jr nz,$+4 ; ¤
|
||||
ld c,0Eh ; 㤠«¨âì ä ©«
|
||||
ld hl,temp_fname ; ¨¬ï ä ©« /¯ ¯ª¨
|
||||
rst 10h
|
||||
; § ªàëâì ¨ä®-®ª®
|
||||
push af
|
||||
call CloseWinSimple
|
||||
pop af
|
||||
ret nc ; ä ©« (¯ ¯ª ) 㤠«¥ ¡¥§ ®è¨¡®ª
|
||||
; ®è¨¡ª¨
|
||||
cp 0Bh ; ¥ ¯ãáâ ï ¯ ¯ª ?
|
||||
jr z,folder_not_empty ; ¤
|
||||
; ¢ë¢®¤ ®ª ®è¨¡ª¨ 㤠«¥¨ï
|
||||
ld hl,delete_name ; ®âªã¤
|
||||
ld de,delete_name2 ; ªã¤ (¡ãä¥à 12 ¡ ©â)
|
||||
call copy_string ; (hl) -> (de) á ã«¥¬
|
||||
ld hl,dial_error_delete ; "Cannot delete the file"
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ld a,-1 ; ª®¤ "®â¬¥ ®¯¥à 樨"
|
||||
scf
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Retry"
|
||||
jr z,delete_try
|
||||
scf
|
||||
ret ; Cancel, Skip, Skip all
|
||||
|
||||
|
||||
; “¤ «ï¥¬ ï ¯ ¯ª ¥ ¯ãáâ ï
|
||||
folder_not_empty:
|
||||
ld a,(flag_del_non_empty) ; ä« £ ¯®¤â¢¥à¦¤¥¨ï
|
||||
or a
|
||||
jr z,delete_full_folder
|
||||
; ¢ë¢®¤ ®ª ¯à¥¤ã¯à¥¦¤¥¨ï
|
||||
ld hl,delete_name ; ®âªã¤
|
||||
ld de,delete_name4 ; ªã¤
|
||||
call copy_string
|
||||
ld hl,dial_nonempty_delete_folder ; "The following folder will be deleted"
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ld a,-2 ; ®â¬¥ 㤠«¥¨ï ⥪. ¥ ¯ãá⮩ ¯ ¯ª¨
|
||||
scf
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; Delete
|
||||
ld a,-2 ; ®â¬¥ 㤠«¥¨ï ⥪. ¥ ¯ãá⮩ ¯ ¯ª¨
|
||||
scf
|
||||
ret nz ; Cancel
|
||||
; 㤠«¨âì ¥ ¯ãáâãî ¯ ¯ªã
|
||||
delete_full_folder:
|
||||
ld a,3 ; ०¨¬ 㤠«¥¨ï
|
||||
del_full_fold_rec:
|
||||
ld hl,0 ; á®åà. ¤à¥á § ¯¨á¨ (¨§ ¯/¯ "prep_delete_name")
|
||||
call scan_folder_alt ; ãáâ. ¯ãâì + ᪠¨à. ¯ ¯ª¨ (qview.asm)
|
||||
jr c,delete_full_folder_err
|
||||
; <20>¥â ®è¨¡®ª, 㤠«¨âì áâ à⮢ãî ¯ ¯ªã
|
||||
; ᪮¯¨à. ¨¬ï ä ©« ¢ ®¯¨á â¥«ì ¨ä®-®ª
|
||||
ld hl,temp_fname ; ®âªã¤
|
||||
ld de,delete_name1 ; ªã¤
|
||||
call copy_cur_fname_alt ; ᪮¯¨à. ¨¬ï ä ©« ¨ ®âæ¥â஢ âì
|
||||
; ¢ë¢®¤ ¨ä®-®ª
|
||||
ld hl,dial_delete_current
|
||||
call WinSimple ; ®âªàëâì ®ª®
|
||||
; á®áâ ¢¨âì ¯ãâì áâ à⮢®© ¯ ¯ª¨
|
||||
ld hl,(__buff) ; ¯ãâì ªâ. ¯ ¥«¨
|
||||
ld de,work_buffer ; ªã¤ (¢ ª®¥æ áâப¨)
|
||||
call copy_string
|
||||
ex de,hl
|
||||
dec hl
|
||||
dec hl
|
||||
ld a,'\'
|
||||
cp (hl)
|
||||
jr z,$+3
|
||||
inc hl
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ex de,hl ; de=ªã¤
|
||||
ld hl,temp_fname ; ®âªã¤ (¨¬ï ¯ ¯ª¨)
|
||||
call copy_string
|
||||
; 㤠«¨âì ¯ ¯ªã
|
||||
ld hl,work_buffer ; ªã¤ (¢ ª®¥æ áâப¨)
|
||||
ld c,1Ch ; 㤠«¨âì ¯ ¯ªã
|
||||
rst 10h
|
||||
; § ªàëâì ¨ä®-®ª®
|
||||
call CloseWinSimple
|
||||
or a
|
||||
ret
|
||||
|
||||
|
||||
delete_full_folder_err:
|
||||
; ¢ë室 ¨§ ᪠¨à. ¯® ®è¨¡ª¥
|
||||
cp EUABORT ; 37 ª®¤ "®¯¥à æ¨ï ¯à¥à¢ ¯®«ì§®¢ ⥫¥¬"
|
||||
scf
|
||||
ret z
|
||||
; Žª® ®è¨¡ª¨ 㤠«¥¨ï
|
||||
; ¢ë¢®¤ ¨¬¥¨ ⥪. ¯ ¯ª¨
|
||||
;ld hl,work_buffer+33; ; ®âªã¤
|
||||
;ld de,delete_name5; ; ªã¤ (¡ãä¥à 12 ¡ ©â)
|
||||
;call copy_cur_fname_alt; ; ᪮¯¨à. ¨¬ï ä ©« ¨ ®âæ¥â஢ âì
|
||||
; ¢ë¢®¤ ¨¬¥¨ áâ à⮢®© ¯ ¯ª¨
|
||||
ld hl,delete_name ; ®âªã¤
|
||||
ld de,delete_name5 ; ªã¤
|
||||
call copy_string
|
||||
ld hl,dial_error_delete_tiny ; "Cannot delete the file or folder"
|
||||
call DialogEr
|
||||
ld a,-1 ; ª®¤ "®â¬¥ ®¯¥à 樨"
|
||||
scf
|
||||
ret
|
||||
|
||||
|
||||
|
||||
; ‘ª®¯¨à®¢ âì ⥪. ¨¬ï 㤠«ï¥¬®£® ä ©« /¯ ¯ª¨ ¢ ®¯¨á â¥«ì ®ª .
|
||||
; Ž¡à ¡®âª ¬ ªá. ®¤®© ¢ë¤¥«. § ¯¨á¨
|
||||
prep_delete_name:
|
||||
ld de,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||||
ld a,d
|
||||
or e
|
||||
jr nz,prep_del_name1 ; ¥áâì ®¤¨ ¢ë¤¥«. ä ©«
|
||||
; ¥â ¢ë¤¥«. ä ©«®¢
|
||||
call get_record ; § ¯¨áì ¢ ⥪. ¯®«®¦¥¨¨ 㪠§ ⥫ï
|
||||
ld (attr_record),a ; âਡãâ ä ©« (£«®¡. ï祩ª )
|
||||
ld (del_full_fold_rec+1),hl
|
||||
ld a,(hl)
|
||||
cp "." ; ".."
|
||||
scf
|
||||
ret z
|
||||
jr $+5
|
||||
prep_del_name1:
|
||||
call scan_mark_records ; ¯®¨áª ®â¬¥ç. ä ©« (á ç « ᯨ᪠)
|
||||
prep_del_name2:
|
||||
ld (del_full_fold_rec+1),hl
|
||||
; ¢å®¤: hl=§ ¯¨áì ä ©«
|
||||
ld bc,delete_name ; ªã¤ (¡ãä¥à 12 ¡ ©â)
|
||||
jp copy_cur_fname ; ᪮¯¨à. ¨¬ï ä ©« ¨ ®âæ¥â஢ âì
|
||||
|
||||
|
||||
;======== <20>«®ª à ¡®â ¥â ¢ á®áâ ¢¥ ScanTree ===============
|
||||
; “¤ «¥¨¥ ⥪ã饣® ä ©«
|
||||
delete_file:
|
||||
push ix
|
||||
; ᪮¯¨à. ¨¬ï ä ©« ¢ ®¯¨á â¥«ì ¨ä®-®ª
|
||||
ld hl,work_buffer+33 ; ®âªã¤
|
||||
ld de,delete_name1 ; ªã¤
|
||||
call copy_cur_fname_alt ; ᪮¯¨à. ¨¬ï ä ©« ¨ ®âæ¥â஢ âì
|
||||
; ¢ë¢®¤ ¨ä®-®ª
|
||||
ld hl,dial_delete_current
|
||||
call WinSimple ; ®âªàëâì ®ª®
|
||||
;
|
||||
ld hl,work_buffer+32 ; âਡãâ ©¤. § ¯¨á¨
|
||||
ld a,(hl)
|
||||
bit 0,a ; Read-Only ?
|
||||
jr z,delete_file_next ; ¥â
|
||||
; áïâì "r/o" âਡãâ
|
||||
res 0,(hl) ; ®¡®¢¨âì âਡãâ
|
||||
ld a,(hl)
|
||||
inc hl ; +33 (¨¬ï ä ©« )
|
||||
ld bc,0116h ; ãáâ. âਡãâ ä ©«
|
||||
push af
|
||||
rst 10h
|
||||
pop af
|
||||
delete_file_next:
|
||||
ld c,0Eh ; 㤠«¨âì ä ©«
|
||||
delete_file_next1:
|
||||
ld hl,work_buffer+33 ; ¨¬ï ä ©«
|
||||
rst 10h
|
||||
push af
|
||||
; § ªàëâì ¨ä®-®ª®
|
||||
call CloseWinSimple
|
||||
pop af
|
||||
pop ix
|
||||
ret
|
||||
|
||||
; “¤ «¥¨¥ ⥪ã饩 ¯ ¯ª¨
|
||||
; ¢å: hl= ¤à¥á ¨¬¥¨ ⥪. ¯ ¯ª¨
|
||||
delete_folder:
|
||||
push ix
|
||||
; ᪮¯¨à. ¨¬ï ¯ ¯ª¨ ¢ ®¯¨á â¥«ì ¨ä®-®ª
|
||||
ld de,delete_name1 ; ªã¤
|
||||
call copy_cur_fname_alt ; ᪮¯¨à. ¨¬ï ä ©« ¨ ®âæ¥â஢ âì
|
||||
;
|
||||
ld hl,work_buffer+33
|
||||
ld c,1Eh ; ã§ âì ¯ãâì
|
||||
rst 10h
|
||||
; ¢ë¢®¤ ¨ä®-®ª
|
||||
ld hl,dial_delete_current
|
||||
call WinSimple ; ®âªàëâì ®ª®
|
||||
ld c,1Ch ; 㤠«¨âì ¯ ¯ªã
|
||||
jr delete_file_next1
|
||||
;========================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;--------------------------------------------------------------
|
||||
; ƒà㯯®¢®¥ 㤠«¥¨¥ ä ©«®¢/¯ ¯®ª
|
||||
;--------------------------------------------------------------
|
||||
delete_group_files:
|
||||
call set_path_from_activ_panel ; ãáâ. ¤¨áª ¨ ¯ãâì ªâ. ¯ ¥«¨
|
||||
ret c
|
||||
; ©â¨ ®â¬¥ç. ä ©« (á ç « ᯨ᪠) + ª®¯¨à. ¨ æ¥â஢ª ¨¬¥¨
|
||||
call prep_del_name1 ; ©â¨ ®â¬¥ç. ä ©« + æ¥â஢ª ¨¬¥¨
|
||||
;
|
||||
ld a,(del_confirm) ; ä« £ ¯®¤â¢¥à¦¤¥¨ï
|
||||
or a
|
||||
jr z,delete_group_loop
|
||||
; ¢ë¢®¤ ç «ì®£® ®ª
|
||||
ld hl,dial_delete ; ®¯¨á â¥«ì ®ª
|
||||
call DialogW
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Ok"
|
||||
ret nz
|
||||
delete_group_loop:
|
||||
call deleting_files ; 㤠«¨âì ⥪. ä ©«/¯ ¯ªã
|
||||
jr nc,delete_group_next ; ¯à®æ¥áá Ok
|
||||
; ®â¬¥ ®¯¥à 樨 ¨«¨ ®è¨¡ª
|
||||
cp -1 ; ®â¬¥ ®¯¥à 樨 ?
|
||||
jp z,fresh_two_panels ; ¤ , ®¡®¢¨âì ¯ ¥«¨
|
||||
cp -2 ; ®â¬¥ 㤠«¥¨ï ⥪. ¥ ¯ãá⮩ ¯ ¯ª¨
|
||||
jr z,delete_group_next
|
||||
cp cmSkipAll ; Skip all
|
||||
jp z,fresh_two_panels
|
||||
cp cmSkip ; Skip
|
||||
jr z,delete_group_next
|
||||
cp EUABORT ; 37 ª®¤ "®¯¥à æ¨ï ¯à¥à¢ ¯®«ì§®¢ ⥫¥¬"
|
||||
jp nz,fresh_two_panels ; Cancel
|
||||
call set_path_from_activ_panel ; ãáâ. áâ àâ®¢ë© ¯ãâì
|
||||
jp c,fresh_two_panels ; ®è¨¡ª , ®¡®¢¨âì ¯ ¥«¨
|
||||
delete_group_next:
|
||||
call scan_mark_loop ; ¯®¨áª ®â¬¥ç. ä ©« (á«¥¤. ¯® ᯨáªã)
|
||||
jp c,fresh_two_panels ; ¥â ®â¬¥ç. § ¯¨á¥©, ®¡®¢¨âì ¯ ¥«¨
|
||||
call prep_del_name2 ; ©â¨ á«¥¤. ®â¬¥ç. § ¯¨áì + æ¥â஢ª ¨¬¥¨
|
||||
jr delete_group_loop
|
||||
228
MOD2/ENTER.ASM
Executable file
@ -0,0 +1,228 @@
|
||||
;===========================================================
|
||||
; ‚믮«¥¨¥ ª®¬ ¤ë <Enter> ⥪. § ¯¨á¨
|
||||
;===========================================================
|
||||
Press_Enter:
|
||||
ld hl,(all_files)
|
||||
ld a,l
|
||||
or h
|
||||
ret z ; ¯ãáâ ï ¯ ¥«ì
|
||||
call get_record ; hl= ç «® § ¯¨á¨, a= âਡãâ ä ©«
|
||||
; ᪮¯¨à. ¨¬ï ä ©« /¯ ¯ª¨ ¢ ¡ãä¥à
|
||||
push af
|
||||
ld de,work_buffer ; ªã¤
|
||||
ld bc,0044h ; 11 -> 8.3
|
||||
rst 10h
|
||||
pop af
|
||||
and 10h
|
||||
jp z,Launch_File ; ¢ë¯®«¨âì ä ©« (launch.asm)
|
||||
;-----------------------------------------
|
||||
; <20> ¢¨£ æ¨ï ¯® ¯ ¯ª ¬
|
||||
;-----------------------------------------
|
||||
ld a,true
|
||||
ld (enter_to_folder),a ; ãáâ. ä« £ " ¢¨£ æ¨ï ¯® ¯ ¯ª ¬"
|
||||
ld de,work_buffer ; ¨¬ï ¯ ¯ª¨ "file.ext" ä®à¬ â
|
||||
ld hl,(__buff) ; ¤à¥á ¡á. ¯ã⨠ªâ. ¯ ¥«¨
|
||||
ld bc,127;255 ; ¬ ªá. ¤«¨ ¨¬¥¨
|
||||
ld a,(de)
|
||||
cp "." ; ".." ?
|
||||
jr z,return_to_parent ; § ¤ ¢ த¨â. ¯ ¯ªã
|
||||
; á®§¤ âì ®¢ë© ¯ãâì
|
||||
xor a
|
||||
cpir ; ª®¥æ ¯ã⨠¯ ¥«¨
|
||||
dec hl
|
||||
dec hl
|
||||
ld a,'\'
|
||||
cp (hl)
|
||||
jr z,$+3
|
||||
inc hl
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ex de,hl
|
||||
call copy_string ; (hl) -> (de) ¤® ã«ï
|
||||
; ¢®©â¨ ¢ ¯ ¯ªã
|
||||
call fresh_list_panel ; ®¡®¢¨âì ᯨ᮪ ¯ ¥«¨ (space.asm)
|
||||
enter_done:
|
||||
xor a
|
||||
ld l,a
|
||||
ld h,a
|
||||
ld (enter_to_folder),a ; ä« £ " ¢¨£ æ¨ï ¯® ¯ ¯ª ¬"
|
||||
ld (fresh_list_point),hl ; á¡à. ¯®«®¦. 㪠§ ⥫ï (space.asm)
|
||||
ld (fresh_list_offset),hl ; á¡à. ᬥé. ᯨ᪠(space.asm)
|
||||
enter_done1: ; <- ¢ë§®¢ ¨§ "seldrv.asm"
|
||||
call tab1 ; ®¡. ¯ãâì ª®¬-áâப¨ + ¢ë¢¥á⨠㪠§ ⥫ì
|
||||
; â¥áâ ¢ª«. qview-०¨¬ ¤à. ¯ ¥«¨
|
||||
ld a,(format_mode1) ; ä®à¬ â ¯ áá. ¯ ¥«¨
|
||||
bit 3,a ; info
|
||||
jr nz,enter_done3
|
||||
ret
|
||||
;bit 4,a ; qview
|
||||
;ret z
|
||||
;ld a,true
|
||||
;ld (dinqview_flag),a
|
||||
;jp dinam_qview_panel ; ®¡®¢¨âì qview-¯ ¥«ì
|
||||
;
|
||||
enter_done3:
|
||||
ld a,0 ; ä« £ ®¡®¢«¥¨ï info-¯ ¥«¨
|
||||
or a
|
||||
ret z ; ¥ ®âà ¡. ¯à¨ ¢¨£ 樨 ¯® ¯ ¯ª ¬
|
||||
xor a
|
||||
ld (enter_done3+1),a ; á¡à. ä« £
|
||||
jp set_info_noactpanel ; ®¡®¢¨âì info-¯ ¥«ì
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20> § ¤ ¢ த¨â. ¯ ¯ªã
|
||||
;-------------------------------------------------
|
||||
return_to_parent:
|
||||
; á®§¤ âì ®¢ë© ¯ãâì
|
||||
call cut_path_to_prev_dir ; ®£à ¨ç¨âì ¯ãâì த¨â. ¯ ¯ª®©
|
||||
; ¢®©â¨ ¢ த¨â. ¯ ¯ªã
|
||||
push af
|
||||
push hl
|
||||
call read_new_folder ; ®¢ë© ᯨ᮪ ª â «®£ + à §¬¥à ¯ ¯ª¨
|
||||
call sorting ; à §¤¥«ìë© á¯¨á®ª 㪠§ ⥫¥© + á®àâ. ᯨáª
|
||||
pop hl
|
||||
pop af
|
||||
; ᪮¯¨à. ¨¬ï த¨â. ¯ ¯ª¨
|
||||
ld de,work_buffer+127;255 ; ªã¤
|
||||
cp '\' ; ª®à¥ì ¯ã⨠?
|
||||
jr z,$+4
|
||||
ld (de),a ; ¢®ááâ. ¨¬ï ¤®ç¥à¥© ¯ ¯ª¨
|
||||
inc de
|
||||
inc hl
|
||||
call copy_string
|
||||
; 8.3 -> 11 ä®à¬ â ¨¬¥¨
|
||||
ld hl,work_buffer+127;255 ; ®âªã¤
|
||||
ld de,temp_fname ; ªã¤ (launch.asm)
|
||||
ld bc,0144h
|
||||
rst 10h
|
||||
; ¯®§¨æ. 㪠§ â¥«ì ¨¬ï ¯ ¯ª¨
|
||||
call calc_index_name ; ¢ëç¨á«¨âì ¨¤¥ªá ¨¬¥¨
|
||||
call set_pointer ; à áç. ¯®«®¦. 㪠§ ⥫ï/ᯨáª
|
||||
ld (fresh_list_offset),hl ; ᬥé. ᯨ᪠(space.asm)
|
||||
ld (fresh_list_point),bc ; ¯®«®¦. 㪠§ ⥫ï (space.asm)
|
||||
call fresh_list_pan ; ®¡®¢¨âì ᯨ᮪ ¯ ¥«¨ (space.asm)
|
||||
jr enter_done ; ®¡®¢¨âì ¯ãâì ª®¬-áâப¨
|
||||
|
||||
|
||||
; ‚ëç¨á«¨âì ¯®«®¦. ¨¬¥¨ ¯ ¯ª¨ ¢ ᯨ᪥ ¯ ¥«¨
|
||||
; ¢å®¤: bc=¨¤¥ªá ¯®«®¦. ¨¬¥¨ ¯ ¯ª¨
|
||||
; ¢ë室: bc=¯®«®¦. 㪠§ ⥫ï
|
||||
; hl=ᬥé. ᯨáª
|
||||
set_pointer:
|
||||
ld hl,(all_files)
|
||||
ld de,(_0D01+1) ; à §¬¥à áâà ¨æë - 1
|
||||
call cmphlde
|
||||
jr nc,setpnt2
|
||||
; ç¨á«® ä ©«®¢ ¬¥ìè¥ á¯¨áª ¯ ¥«¨
|
||||
setpnt1:ld hl,0
|
||||
ret
|
||||
;
|
||||
; …᫨ ¨¤¥ªá ¨¬¥¨ ¥ ã¬¥é ¥âáï ¯¥à¢®© áâà ¨æ¥,
|
||||
; â® ¨¬ï ãáâ ®¢¨âì ¢ ª®¥æ áâà ¨æë ¨ áâநâì
|
||||
; á®®â¢. ®¡à §®¬ ᬥé. ᯨ᪠.
|
||||
setpnt2:ld a,c
|
||||
sub e
|
||||
ld a,b
|
||||
sbc a,d
|
||||
jr c,setpnt1 ; 㪠§. ¢ ¯à¥¤¥« å ¯¥à¢®© áâà ¨æë ᯨáª
|
||||
; bc=¨¤¥ªá ¨¬¥¨
|
||||
; de=à §¬¥à áâà ¨æë-1
|
||||
ld l,c
|
||||
ld h,b
|
||||
ld bc,-1 ; áç¥â稪 ᬥé. ᯨáª
|
||||
dec hl
|
||||
inc bc
|
||||
call cmphlde ; hl ¨ "à §¬¥à áâà ¨æë - 1"
|
||||
jr nc,$-5
|
||||
ld hl,(offset_list) ; ᬥé. ᯨáª
|
||||
ld a,l
|
||||
sub c ; offset_list - áç¥â稪
|
||||
ld a,h
|
||||
sbc a,b
|
||||
jr nc,$+4
|
||||
ld l,c ; hl=ᬥé. ᯨáª
|
||||
ld h,b
|
||||
; 㪠§ â¥«ì ¢ ¯à¥¤¥« å ¯®á«¥¤. áâà ¨æë ᯨáª
|
||||
ld c,e ; bc=¯®«®¦. 㪠§ ⥫ï
|
||||
ld b,d
|
||||
ret
|
||||
|
||||
|
||||
; ‚ëç¨á«¨âì ¨¤¥ªá ¯®«®¦. ¨¬¥¨ ¯ ¯ª¨ ¢ ᯨ᪥
|
||||
; ¢å®¤: temp_fname - ¨¬ï ¯ ¯ª¨
|
||||
; ¢ë室: bc=¨¤¥ªá ¨¬¥¨
|
||||
calc_index_name:
|
||||
ld bc,0 ; ¨¤¥ªá ¯®«®¦¥¨ï
|
||||
exx
|
||||
ld hl,(all_folders) ; ç¨á«® ¯ ¯®ª
|
||||
ld a,(sort_type) ; ०¨¬ á®àâ¨à®¢ª¨
|
||||
cp "u" ; unsorted
|
||||
jr nz,$+5
|
||||
ld hl,(all_files) ; ç¨á«® ¯ ¯®ª+ä ©«®¢
|
||||
ld a,l
|
||||
or h
|
||||
exx
|
||||
ret z
|
||||
ld hl,(directory) ; ¬ áᨢ 㪠§ ⥫¥© ¯ ¯ª¨
|
||||
calc_index__:
|
||||
ld e,(hl)
|
||||
inc hl
|
||||
ld d,(hl)
|
||||
inc hl
|
||||
push hl
|
||||
ex de,hl ; ¨¬ï ᯨáª
|
||||
ld de,temp_fname ; ¨¬ï ¯ã⨠(launch.asm)
|
||||
call compare_fnames ; áà ¢¨âì ¨¬¥
|
||||
pop hl
|
||||
ret z
|
||||
inc bc ; ++¨¤¥ªá ¯®«®¦¥¨ï
|
||||
exx
|
||||
dec hl
|
||||
ld a,l
|
||||
or h
|
||||
exx
|
||||
jp nz,calc_index__
|
||||
ret
|
||||
|
||||
; ‘à ¢¨âì áâப¨
|
||||
; ¢å®¤: hl=string1
|
||||
; de=string2
|
||||
; ¢ë室: "z" - ᮢ¯ ¤ îâ
|
||||
; "nz" - ¥ ᮢ¯ ¤ îâ
|
||||
compare_fnames:
|
||||
ld a,11 ; ¤«¨ áà ¢¥¨ï
|
||||
ex af,af'
|
||||
ld a,(de)
|
||||
cp (hl)
|
||||
ret nz
|
||||
inc hl
|
||||
inc de
|
||||
ex af,af'
|
||||
dec a
|
||||
jr nz,$-8
|
||||
ret
|
||||
|
||||
|
||||
; Ž£à ¨ç¨âì ¯ãâì ¯à¥¤ë¤ã饩 ¯ ¯ª®©
|
||||
; ¢å®¤: hl=áâப ¯ãâ¨
|
||||
; ¢ë室: hl= ç «® ¨¬¥¨ § â¥à⮩ ¯ ¯ª¨
|
||||
; a=§ â¥àâë© á¨¬¢®« ¨¬¥¨ ¯ ¯ª¨
|
||||
cut_path_to_prev_dir:
|
||||
ld e,l
|
||||
ld d,h
|
||||
xor a
|
||||
cpir ; ª®¥æ áâப¨
|
||||
dec hl
|
||||
ld bc,127;255
|
||||
ld a,'\'
|
||||
cpdr
|
||||
inc hl
|
||||
ex de,hl
|
||||
sbc hl,de ; ª®à¥ì ¯ã⨠?
|
||||
ex de,hl
|
||||
jr nz,$+3 ; ¥â
|
||||
inc hl
|
||||
ld a,(hl) ; á®åà. § â¨à. ᨬ¢®«
|
||||
ld (hl),0 ; ®âª¨ãâì ¯®á«¥¤. ¯ ¯ªã
|
||||
ret
|
||||
57
MOD2/EVENT.ASM
Executable file
@ -0,0 +1,57 @@
|
||||
;-------------------------------------------------
|
||||
; ˆ¨æ¨ «¨§ æ¨ï ®¡à ¡®â稪 ᮡë⨩
|
||||
;-------------------------------------------------
|
||||
InitEvent:
|
||||
ld hl,what
|
||||
ld b,8
|
||||
xor a
|
||||
ld (hl),a
|
||||
inc hl
|
||||
djnz $-2
|
||||
ld a,1 ; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
rst 20h
|
||||
ld a,4 ; Get Mouse coord and buttons
|
||||
rst 30h
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; —⥨¥ ᮡë⨩
|
||||
;-------------------------------------------------
|
||||
handle_event:
|
||||
ld ix,what ; ¯®«¥ ᮡë⨩
|
||||
ld (ix+0),evNothing
|
||||
call get_mouse_info ; Get mouse coords & buttons
|
||||
jr nz,ButtPress ; Button Press
|
||||
ld a,2 ; ®¯à®á ª« ¢ë ¡¥§ ®¦¨¤ ¨ï
|
||||
rst 20h
|
||||
ret z ; no keys
|
||||
or a
|
||||
jr z,CursKey
|
||||
bit 7,d
|
||||
jr z,CodeKey ; no press combination
|
||||
cp 9 ; Tab + CombKeys
|
||||
jr z,CursKey
|
||||
CodeKey:
|
||||
ld (ix+0),evKeyboard
|
||||
ld (ix+1),e ; code key
|
||||
ld (ix+2),d ; scan code
|
||||
ret
|
||||
CursKey:ld (ix+0),evCombKey ; Keyboard combination
|
||||
ld (ix+1),b ; keyboard flag
|
||||
ld (ix+2),d ; ª®¤ ªãàá. ª« ¢¨è
|
||||
ret
|
||||
ButtPress:
|
||||
ld d,a
|
||||
;bit 0,a ; ¯à ¢ë© ¡ãâ® ?
|
||||
;jr nz,RgtButt ; ¤
|
||||
ld (ix+0),evMouseFr ; Mouse buttons press
|
||||
ld (ix+1),l ; coord X
|
||||
ld (ix+2),h ; coord Y
|
||||
ret
|
||||
;RgtButt:ld (ix+0),evCommand
|
||||
;ld (ix+1),cmLocMenuM
|
||||
;ret
|
||||
|
||||
; ¯®«¥ ᮡë⨩
|
||||
what: ds 8
|
||||
560
MOD2/FILLSTR.ASM
Executable file
@ -0,0 +1,560 @@
|
||||
;-------------------------------------------------
|
||||
; ‡ ¯®«¥¨¥ áâப¨ ᯨ᪠¯® ä®à¬ âã ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
; ¢å®¤: b=ä®à¬ â ¯ ¥«¨
|
||||
; hl= ç «® § ¯¨á¨ ª â «®£
|
||||
; de=ï祩ª âਡã⮢ ä ©«
|
||||
fill_string:
|
||||
ld ix,string_of_list ; ¡ãä¥à áâப¨
|
||||
bit 1,b ; Medium
|
||||
jp nz,fill_med
|
||||
bit 2,b ; Brief
|
||||
jp nz,fill_brief
|
||||
; Full
|
||||
bit 6,b
|
||||
jp nz,fill_full_spec ; full-spec
|
||||
; ms-dos
|
||||
ld a,(de) ; ¡ ©â âਡã⮢
|
||||
bit 4,a ; ¯ ¯ª ?
|
||||
jp nz,dir_name_full ; ¤ , ¢ë¢®¤ ¨¬¥¨
|
||||
; ä®à¬ â "file ext"
|
||||
ld b,8
|
||||
call L22BD ; ¨¬ï ä ©«
|
||||
ld b,4 ; ç¨á«® ¯à®¡¥«®¢
|
||||
call spaces ; ¢áâ ¢¨âì ¯à®¡¥«ë
|
||||
ld b,3
|
||||
call L22BD ; à áè. ä ©«
|
||||
fill_string1__:
|
||||
call separator ; "³" (¨«¨ " ") à §¤¥«¨â¥«ì ª®«®®ª
|
||||
; 2 ª®«®ª (à §¬¥à ä ©« )
|
||||
push hl
|
||||
ld de,17 ; ᬥé. à §¬¥à ä ©«
|
||||
add hl,de
|
||||
call L0020 ; de = à §¬¥à ä ©«
|
||||
ld c,(hl)
|
||||
inc hl
|
||||
ld b,(hl)
|
||||
push bc
|
||||
exx
|
||||
pop hl
|
||||
exx
|
||||
ex de,hl
|
||||
ld a,1
|
||||
ld (put_mega),a ; ãáâ. ä« £
|
||||
ld bc,0120h ; ¢¥¤ã騥 ¯à®¡¥«ë
|
||||
call dec32 ; ¢ë¢®¤ à §¬¥à ä ©« (¢ ¯ ¥«¨)
|
||||
ld hl,put_mega
|
||||
ld (hl),0 ; á¡à. ä« £
|
||||
pop hl
|
||||
A2290: call separator ; "³" (¨«¨ " ") à §¤¥«¨â¥«ì ª®«®®ª
|
||||
; 3 ª®«®ª (¤ â )
|
||||
ld de,13
|
||||
add hl,de ;+24 ¯¥à¥©â¨ ¤ âã
|
||||
ex de,hl
|
||||
ld a,(de)
|
||||
and 1Fh
|
||||
call dec8 ; ¢ë¢®¤ ¤ï
|
||||
ld (ix+0),"." ; à §¤¥«¨â¥«ì "¤¥ì.¬¥áïæ"
|
||||
inc ix
|
||||
ld a,(de)
|
||||
and 0E0h
|
||||
ld b,a
|
||||
inc de
|
||||
ld a,(de)
|
||||
and 1
|
||||
or b
|
||||
rlca
|
||||
rlca
|
||||
rlca
|
||||
call dec8 ; ¢ë¢®¤ ¬¥áïæ
|
||||
ld (ix+0),"." ; à §¤¥«¨â¥«ì "¬¥áïæ.£®¤"
|
||||
inc ix
|
||||
ld a,(de)
|
||||
and 0FEh
|
||||
rrca
|
||||
add a,80
|
||||
cp 100
|
||||
jr c,$+4
|
||||
sub 100
|
||||
call dec8 ; ¢ë¢®¤ £®¤
|
||||
call separator ; "³" (¨«¨ " ") à §¤¥«¨â¥«ì ª®«®®ª
|
||||
; 4 ª®«®ª (¢à¥¬ï)
|
||||
dec de
|
||||
dec de
|
||||
ld a,(de) ;+22 ï祩ª ¢à¥¬¥¨
|
||||
and 0F8h
|
||||
rrca
|
||||
rrca
|
||||
rrca
|
||||
call dec8 ; ¢ë¢®¤ ç ᮢ
|
||||
ld (ix+0),":" ; à §¤¥«¨â¥«ì "ç áë:¬¨ãâë"
|
||||
inc ix
|
||||
ld a,(de) ;+22
|
||||
and 7
|
||||
ld b,a
|
||||
dec de
|
||||
ld a,(de) ;+21
|
||||
and 0E0h
|
||||
or b
|
||||
rlca
|
||||
rlca
|
||||
rlca
|
||||
jp dec8 ; ¢ë¢®¤ ¬¨ãâ
|
||||
;
|
||||
; ¢ë¢®¤ ¨¬¥¨ ¯ ¯ª¨
|
||||
; in: hl= ¤à¥á ¨¬¥¨
|
||||
dir_name_full:
|
||||
ld a,(hl)
|
||||
push af
|
||||
call dir_name ; ¢áâ ¢¨âì ¨¬ï ¯ ¯ª¨
|
||||
ld b,3 ; ç¨á«® ¯à®¡¥«®¢
|
||||
call spaces ; ¢áâ ¢¨âì ¯à®¡¥«ë
|
||||
call separator ; "³" (¨«¨ " ") à §¤¥«¨â¥«ì ª®«®®ª
|
||||
pop af
|
||||
; 2 ª®«®ª
|
||||
ld de,folder_string ; "Folder "
|
||||
cp "." ; த¨â. ¯ ¯ª ?
|
||||
jr nz,A2304_
|
||||
ld de,up_string ; " Up "
|
||||
A2304_: ex de,hl
|
||||
ld b,7 ; ¤«¨ áâப¨
|
||||
A2307_: ld a,(hl)
|
||||
ld (ix+0),a ; ᨬ¢®« ¢ áâபã
|
||||
inc hl
|
||||
inc ix
|
||||
djnz A2307_
|
||||
ex de,hl
|
||||
jp A2290 ; ¢ë¢®¤ ¤ âë ¨ ¢à¥¬¥¨
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ¢ë¢®¤ ¨¬¥¨ ¯ ¯ª¨
|
||||
;-------------------------------------------------
|
||||
; in: hl= ç «® § ¯¨á¨ ª â «®£
|
||||
; ix=¡ãä¥à
|
||||
dir_name:
|
||||
; ä®à¬ â "dir.ext" (¢á¥£¤ ¢ë¢®¤¨â 12 ᨬ¢®«®¢)
|
||||
call directory1__
|
||||
dec e
|
||||
inc e
|
||||
ret z
|
||||
ld b,e
|
||||
jp spaces ; ¤®¡ ¢¨âì ª®æ¥¢ë¥ ¯à®¡¥«ë
|
||||
;
|
||||
directory1__:
|
||||
ld e,1 ; áç¥â稪 ¤®¯®«. ¯à®¡¥«®¢
|
||||
ld b,8 ; ¨¬ï ¯ ¯ª¨
|
||||
call directory3__
|
||||
ld a,(hl)
|
||||
cp " "
|
||||
jr z,directory2__
|
||||
dec e
|
||||
ld (ix+0),"." ; ᨬ¢®« ¢ áâபã
|
||||
inc ix
|
||||
directory2__:
|
||||
ld b,3 ; à áè. ¯ ¯ª¨
|
||||
directory3__:
|
||||
ld a,(hl)
|
||||
cp " "
|
||||
jr z,directory4__
|
||||
; ¢ë¢®¤ ᨬ¢®«
|
||||
ld (ix+0),a ; ᨬ¢®« ¢ áâபã
|
||||
inc ix
|
||||
inc hl
|
||||
djnz directory3__
|
||||
ret
|
||||
directory4__:
|
||||
inc hl
|
||||
inc e
|
||||
djnz directory4__
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Medium
|
||||
;-------------------------------------------------
|
||||
fill_med:
|
||||
bit 6,b
|
||||
jp nz,fill_med_spec ; med-spec
|
||||
; ms-dos
|
||||
ld a,(de) ;+11 ᬥé. ¤® ¡ ©â âਡã⮢
|
||||
bit 4,a ; ¯ ¯ª ?
|
||||
jp nz,dir_name_med ; ¤ , ¢ë¢®¤ ¨¬¥¨
|
||||
; ä®à¬ â "file.ext" (¢á¥£¤ ¢ë¢®¤¨â 15 ᨬ¢®«®¢)
|
||||
ld d,0 ; ¬ «¥ìª¨¥ ¡ãª¢ë
|
||||
fill_med1:
|
||||
call fill_med1__
|
||||
fill_med__:
|
||||
ld a,(string_len)
|
||||
sub 15 ; 15=¤«¨ áâப¨ ¨¬¥¨
|
||||
ld b,a
|
||||
jp spaces
|
||||
;
|
||||
fill_med1__:
|
||||
call fill_med2__
|
||||
fill_med11__:
|
||||
ld b,e
|
||||
jp spaces ; ¤®¡ ¢¨âì ª®æ¥¢ë¥ ¯à®¡¥«ë
|
||||
;
|
||||
fill_med2__:
|
||||
ld b,8 ; ¨¬ï ä ©«
|
||||
ld e,1+3 ; áç¥â稪 ¤®¯®«. ¯à®¡¥«®¢
|
||||
call fill_med4__
|
||||
ld a,(hl)
|
||||
cp " "
|
||||
jr z,fill_med3__
|
||||
dec e
|
||||
ld (ix+0),"." ; ᨬ¢®« ¢ áâபã
|
||||
inc ix
|
||||
fill_med3__:
|
||||
ld b,3 ; à áè.
|
||||
fill_med4__:
|
||||
ld a,(hl)
|
||||
cp " "+1
|
||||
jr c,fill_med7__
|
||||
; ¢ë¢®¤ ᨬ¢®«
|
||||
bit 0,d
|
||||
jr nz,fill_med6__ ; ¥ ¬¥ïâì ॣ¨áâà ¡ãª¢
|
||||
cp "_"
|
||||
jr z,fill_med6__
|
||||
set 5,a
|
||||
cp "ð" ; 240
|
||||
jr nz,fill_med6__
|
||||
inc a ; 241 = "ñ"
|
||||
fill_med6__:
|
||||
ld (ix+0),a ; ᨬ¢®« ¢ áâபã
|
||||
inc ix
|
||||
inc hl
|
||||
djnz fill_med4__
|
||||
ret
|
||||
fill_med7__:
|
||||
inc hl
|
||||
inc e
|
||||
djnz fill_med7__
|
||||
ret
|
||||
;
|
||||
dir_name_med:
|
||||
call dir_name ; ¢áâ ¢¨âì ¨¬ï ¯ ¯ª¨
|
||||
ld a,(string_len)
|
||||
sub 12 ; ¤«¨ ¨¬¥¨ ¯ ¯ª¨
|
||||
ld b,a ; ç¨á«® ¯à®¡¥«®¢
|
||||
jp spaces ; ¢áâ ¢¨âì ¯à®¡¥«ë
|
||||
|
||||
; ¢áâ ¢¨âì ᯥª-¨¬ï "file.ext" ä®à¬ â
|
||||
;--------------------------------------
|
||||
fill_med_spec:
|
||||
call fill_med_spec_name
|
||||
jr fill_med__
|
||||
;
|
||||
fill_med_spec_name:
|
||||
ld b,8-1 ; ¨¬ï ä ©«
|
||||
ld e,1+3 ; áç¥â稪 ¤®¯®«. ¯à®¡¥«®¢
|
||||
call fill_med_spec2
|
||||
ld a,(hl)
|
||||
cp " "
|
||||
jr z,fill_med_spec1
|
||||
dec e
|
||||
ld (ix+0),"." ; ᨬ¢®« ¢ áâபã
|
||||
inc ix
|
||||
fill_med_spec1:
|
||||
call fill_spec_ext1 ; ᪮¯¨à. à áè.
|
||||
jr fill_med11__ ; ¤®¡ ¢¨âì ª®æ. ¯à®¡¥«ë
|
||||
;
|
||||
fill_med_spec2:
|
||||
ld a,(hl)
|
||||
and 7Fh ; á¡à.7-© ¡¨â (¬ àª.ä ©« )
|
||||
ld (ix+0),a
|
||||
inc ix
|
||||
inc hl
|
||||
fill_med_spec3:
|
||||
ld a,(hl)
|
||||
cp " "
|
||||
jr nz,fill_med_spec4
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
dec hl
|
||||
cp " "
|
||||
jr z,fill_med_spec5
|
||||
ld a,b
|
||||
dec a
|
||||
jr z,fill_med_spec5
|
||||
ld a,"_" ;" " ; ᨬ¢®« ¢ãâਠ¨¬¥¨
|
||||
fill_med_spec4:
|
||||
ld (ix+0),a
|
||||
inc ix
|
||||
inc hl
|
||||
djnz fill_med_spec3
|
||||
ret
|
||||
;
|
||||
fill_med_spec5:
|
||||
inc hl
|
||||
inc e
|
||||
djnz fill_med_spec5
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Brief
|
||||
;-------------------------------------------------
|
||||
fill_brief:
|
||||
bit 6,b
|
||||
jr nz,fill_brief_spec ; brief-spec
|
||||
; ms-dos
|
||||
ld a,(de) ;+11 ᬥé. ¤® ¡ ©â âਡã⮢
|
||||
bit 4,a ; ¯ ¯ª ?
|
||||
jp nz,dir_name ; ¤ , ¢ë¢®¤ ¨¬¥¨
|
||||
; ä®à¬ â "filename ext"
|
||||
ld b,8
|
||||
call L22BD ; ¨¬ï ä ©«
|
||||
ld (ix+0)," "
|
||||
inc ix
|
||||
ld b,3
|
||||
jp L22BD ; à áè. ä ©«
|
||||
;
|
||||
; ä®à¬ â "filename ext"
|
||||
fill_brief_spec:
|
||||
ld b,1 ; ç¨á«® ¯à®¡¥«®¢ ¬¥¦¤ã "Filename" ¨ "Ext"
|
||||
jp fill_spec_name
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Full-Spec
|
||||
;-------------------------------------------------
|
||||
;º Name ³ Size³Start³SSz³Trk³Secº
|
||||
;ºFilename Ext³00000³00000³000³000³000º
|
||||
;
|
||||
fill_full_spec:
|
||||
ld b,3 ; ç¨á«® ¯à®¡¥«®¢ ¬¥¦¤ã "Filename" ¨ "Ext"
|
||||
call fill_spec_name ; ¢ë¢®¤ "Filename Ext"
|
||||
fill_full_spec1:
|
||||
inc hl ; áâ àâ. ¤à¥á ä ©« (2-ï ¡ãª¢ à áè.)
|
||||
push hl
|
||||
; ª®«®ª "Size"
|
||||
inc hl
|
||||
inc hl
|
||||
call L0020 ; ¢ de à §¬¥à ä ©« ¢ ¡ ©â å
|
||||
call dec16s ; 16-bit ç¨á«® á ¢¥¤. ¯à®¡¥« ¬¨
|
||||
call separator ; "³"
|
||||
pop hl
|
||||
; ª®«®ª "Start"
|
||||
call L0020 ; ¢ de áâ àâ. ¤à¥á
|
||||
call dec16s
|
||||
call separator
|
||||
inc hl
|
||||
inc hl
|
||||
; ª®«®ª "SSz"
|
||||
ld a,(hl) ; à §¬¥à ä ©« ¢ ᥪâ®à å
|
||||
inc hl
|
||||
call dec9 ; 0..999 ç¨á«® á ¢¥¤. ¯à®¡¥« ¬¨
|
||||
call separator
|
||||
db 3Eh ; ld a,..
|
||||
trd_records:
|
||||
db true ; ä« £ trd-á¯¨áª ä ©«®¢
|
||||
or a
|
||||
jr z,fill_spec_scl
|
||||
; ª®«®ª "Trk" (®¬¥à ¤®à®¦ª¨ ä ©« )
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
call dec9
|
||||
call separator
|
||||
dec hl
|
||||
; ª®«®ª "Sec" (®¬¥à ¯¥à¢®£® ᥪâ®à ä ©« )
|
||||
ld a,(hl)
|
||||
jp dec9
|
||||
;
|
||||
; SCL-ᯨ᮪ ä ©«®¢
|
||||
fill_spec_scl:
|
||||
ld b,3
|
||||
call spaces ; ®ç¨áâ¨âì ª®«®ªã "Trk"
|
||||
call separator
|
||||
ld b,3
|
||||
jp spaces ; ®ç¨áâ¨âì ª®«®ªã "Sec"
|
||||
|
||||
; ˆ¬ï ᯥª-ä ©« ä®à¬ â "Filename Ext"
|
||||
; ¢å®¤: b=ç¨á«® ¯à®¡¥«®¢ ¬¥¦¤ã "Filename" ¨ "Ext"
|
||||
fill_spec_name:
|
||||
push bc
|
||||
ld a,(hl)
|
||||
and 7Fh ; á¡à.7-© ¡¨â (¬ àª.ä ©« )
|
||||
ld (ix+0),a
|
||||
inc ix
|
||||
inc hl
|
||||
ld b,7
|
||||
call A0E90 ; ᪮¯¨à. ¨¬ï ä ©«
|
||||
pop bc
|
||||
call spaces
|
||||
push hl
|
||||
call fill_spec_ext1 ; ᪮¯¨à. à áè.
|
||||
call separator ; "³"
|
||||
pop hl
|
||||
ret
|
||||
;
|
||||
; Š®¯¨à®¢ ¨¥ ᯥª-à áè¨à¥¨ï ä ©«
|
||||
fill_spec_ext1:
|
||||
; § ¯à¥é¥ë ¢ ms-dos
|
||||
; " + , . / : ; < = > [ \ ] |
|
||||
; 22 2B 2C 2E 2F 3A 3B 3C 3D 3E 5B 5C 5D 7C
|
||||
;
|
||||
ld bc,0320h ; à áè./¯à®¡¥«
|
||||
ld a,(hl)
|
||||
cp "B" ; (B)asic-ä ©«
|
||||
jr nz,fill_spec_ext__+1
|
||||
ld (ix+0),a ; ᨬ¢®« ¢ áâபã
|
||||
inc ix
|
||||
inc hl
|
||||
dec b
|
||||
jr fill_spec_ext2__
|
||||
fill_spec_ext__:
|
||||
ld a,(hl)
|
||||
cp " "+1
|
||||
jr c,fill_spec_ext2__ ; ¥â à áè.
|
||||
cp "z"+1
|
||||
jr nc,fill_spec_ext2__
|
||||
cp '"'
|
||||
jr z,fill_spec_ext2__
|
||||
cp "-"
|
||||
jr z,fill_spec_ext1__
|
||||
cp "," ; 2Ch
|
||||
jr c,fill_spec_ext1__
|
||||
cp "/"+1 ; 2Fh+1
|
||||
jr c,fill_spec_ext2__
|
||||
cp ":" ; 3Ah
|
||||
jr c,fill_spec_ext1__
|
||||
cp ">" ; 3Eh
|
||||
jr c,fill_spec_ext2__
|
||||
cp "["
|
||||
jr c,fill_spec_ext1__
|
||||
cp "_"+1
|
||||
jr c,fill_spec_ext2__
|
||||
cp "`"
|
||||
jr z,fill_spec_ext2__
|
||||
fill_spec_ext1__:
|
||||
ld (ix+0),a ; ᨬ¢®« ¢ áâபã
|
||||
inc ix
|
||||
inc hl
|
||||
djnz fill_spec_ext__
|
||||
ret
|
||||
;
|
||||
fill_spec_ext2__:
|
||||
ld (ix+0),c ; ᨬ¢®« ¢ áâபã
|
||||
inc ix
|
||||
inc hl
|
||||
djnz fill_spec_ext2__
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚áâ ¢ª áâப¨ ¢ ¡ãä¥à (¬ «¥ìª¨¬¨ ¡ãª¢ ¬¨)
|
||||
;-------------------------------------------------
|
||||
; in: hl=áâப
|
||||
; ix=¡ãä¥à
|
||||
; b=¤«¨ ¢å®¤. áâப¨
|
||||
;
|
||||
L22BD: ld a,(hl)
|
||||
inc hl
|
||||
cp "_"
|
||||
jr z,A22D0_
|
||||
set 5,a
|
||||
cp "ð" ; 240
|
||||
jr nz,A22D0_
|
||||
inc a ; 241 = "ñ"
|
||||
A22D0_: ld (ix+0),a ; ᨬ¢®« ¢ áâபã
|
||||
inc ix
|
||||
djnz L22BD
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‚뢮¤ ¨ä®à¬. áâப¨ ¢¨§ã ¯ ¥«¨
|
||||
;-----------------------------------------------------------
|
||||
print_status:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z ; ¢ëª«.
|
||||
ld a,(format_mode)
|
||||
and form_info+form_qview
|
||||
ret nz
|
||||
call get_record ; ¤à¥á ⥪. § ¯¨á¨ ¢ ¯ ¯ª¥
|
||||
ld b,a ;+11 âਡãâ ä ©«
|
||||
jr print_status6__
|
||||
;
|
||||
print_status1:
|
||||
db 21h ; ld hl,..
|
||||
print_status1__:
|
||||
dw 0 ; á®åà. ç «® § ¯¨á¨ (¨§ ª â «®£ )
|
||||
db 6 ; ld b,..
|
||||
print_status2__:
|
||||
db 0 ; âਡãâ ä ©«
|
||||
print_status6__:
|
||||
; ®ç¨áâ¨âì áâ â. áâபã
|
||||
di
|
||||
ld (print_stat_stack),sp ; á®åà. á⥪
|
||||
ld de,2020h ; ¯à®¡¥«ë
|
||||
ld sp,status_string+42 ; ª®¥æ áâப¨ - 1
|
||||
ld a,19 ; 38/2
|
||||
print_stat_loop:
|
||||
push de
|
||||
dec a
|
||||
jr nz,print_stat_loop
|
||||
db 31h ; ld sp,..
|
||||
print_stat_stack:
|
||||
dw 0
|
||||
ei
|
||||
ld ix,status_string+4 ; ¡ãä¥à áâப¨
|
||||
ld a," "
|
||||
ld (separ__),a
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
bit 6,a ; spec
|
||||
jr nz,print_status_spec
|
||||
bit 4,b ; ¯ ¯ª ?
|
||||
jr z,print_status4__ ; ¥â
|
||||
bit 0,a ; full
|
||||
jr z,print_status3__ ; ¥â
|
||||
call dir_name ; ¢áâ ¢¨âì ⮫쪮 ¨¬ï ¯ ¯ª¨
|
||||
jr print_status5__
|
||||
;
|
||||
print_status3__:
|
||||
call dir_name_full ; ¢áâ ¢¨âì ¨¬ï+¤ â +¢à¥¬ï ¯ ¯ª¨
|
||||
jr print_status5__
|
||||
;
|
||||
; ¨¬ï ä ©«
|
||||
print_status4__:
|
||||
ld d,1 ; ¥ ¬¥ïâì ॣ¨áâà ¡ãª¢
|
||||
call fill_med1__ ; ä®à¬ â "file.ext" (¢ë¢®¤¨â 15 ᨬ¢.)
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
bit 0,a ; full
|
||||
call z,fill_string1__ ; ¢áâ ¢¨âì à §¬¥à+¤ â +¢à¥¬ï
|
||||
print_status5__:
|
||||
ld a,"³"
|
||||
ld (separ__),a ; ¢®ááâ. à §¤¥«¨â¥«ì
|
||||
ld (ix+0),0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
; ¢ë¢®¤ £®â®¢®© áâப¨
|
||||
ld hl,status_string ; ®¯¨á ⥫ì áâப¨
|
||||
jp draw_text ; ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||||
;
|
||||
;
|
||||
; § ¯®«¥¨¥ ᯥª-áâப¨
|
||||
print_status_spec:
|
||||
; ä®à¬ â "file.ext"
|
||||
push hl
|
||||
call fill_med_spec_name ; ¢áâ ¢¨âì ᯥª. ¨¬ï
|
||||
pop hl
|
||||
ld bc,8 ; ᬥé. 1-î ¡ãª¢ã à áè.
|
||||
add hl,bc ; ¤«ï ¯/¯ fill_full_spec1
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
bit 0,a ; full
|
||||
call z,fill_full_spec1 ; ¢áâ ¢¨âì "Size-Start-SSz-Trk-Sec"
|
||||
jr print_status5__ ; ¢ë¢®¤ £®â®¢®© áâப¨
|
||||
170
MOD2/HILIGHT.ASM
Executable file
@ -0,0 +1,170 @@
|
||||
;-------------------------------------------------
|
||||
; <20>®¤á¢¥âª ä ©«®¢
|
||||
;
|
||||
; ¢å®¤: de= ¤à¥á âਡãâ ä ©« (+11)
|
||||
; b=ä®à¬ â ªâ. ¯ ¥«¨
|
||||
; ¢ë室: c=¨¤¥ªá 梥â
|
||||
;-------------------------------------------------
|
||||
hilight_types:
|
||||
ld c,index_markfile; ; 3 ¨¤¥ªá 梥⠬ àª. ä ©«
|
||||
ex de,hl
|
||||
inc hl
|
||||
ld a,(hl) ;+12 ï祩ª ¬ ન஢ª¨ ä ©«
|
||||
rlca ; ®â¬¥ç¥ ?
|
||||
ret c ; ¤
|
||||
dec c; ; c=2
|
||||
db 3Eh ; ld a,..
|
||||
hilight_enable:
|
||||
db true ; ä« £ à áªà ᪨ ä ©«®¢
|
||||
or a
|
||||
ret z
|
||||
bit 6,b ; spec-ä®à¬ â ?
|
||||
ret nz ; ¤
|
||||
dec hl
|
||||
bit 4,(hl) ;+11 ¯ ¯ª ?
|
||||
ld c,60; ; ¨¤¥ªá 梥⠯ ¯ª¨
|
||||
ret nz ; ¤
|
||||
ld c,62; ; c=62 ¨¤¥ªá 梥â à娢®¢
|
||||
dec hl ;+10 hl=ª®¥æ à áè.
|
||||
ld a,(hl) ; J
|
||||
dec hl
|
||||
ld d,(hl) ; R
|
||||
dec hl
|
||||
ld e,(hl) ; A
|
||||
res 5,d
|
||||
res 5,e
|
||||
cp " "
|
||||
jp nz,hilight
|
||||
; 2-å ¡ãª¢. à áè¨à¥¨¥ à娢®¢
|
||||
ld hl,"AH" ; ha
|
||||
and a
|
||||
sbc hl,de
|
||||
ret z
|
||||
ld hl,"ZG" ; gz
|
||||
and a
|
||||
sbc hl,de
|
||||
ret z
|
||||
jp hilight_normal
|
||||
;
|
||||
hilight:and 11011111b ; á¡à. 5-bit
|
||||
dec c; ; c=61 ¨¤¥ªá 梥⠨ᯮ«ï¥¬ëå ä ©«®¢
|
||||
; ¨á¯®«ï¥¬ë¥ ä ©«ë
|
||||
ld hl,"XE" ; exe
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight1
|
||||
cp "E"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight1:
|
||||
ld hl,"AB" ; bat
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight_spec
|
||||
cp "T"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
; à áè. scl,trd ᯥª-ä ©«®¢
|
||||
hilight_spec:
|
||||
ld c,65; ; ¨¤¥ªá 梥â ᯥª-ä ©«®¢
|
||||
ld hl,"CS" ; scl
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight2
|
||||
cp "L"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight2:
|
||||
ld hl,"RT" ; trd
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight_arc
|
||||
cp "D"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
; à娢ë
|
||||
hilight_arc:
|
||||
ld c,62; ; ¨¤¥ªá 梥â à娢®¢
|
||||
ld hl,"IZ" ; zip
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight3
|
||||
cp "P"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight3:
|
||||
ld hl,"RH" ; hrp (hrip)
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight4
|
||||
cp "P"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight4:
|
||||
ld hl,"AR" ; rar
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight5
|
||||
cp "R"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight5:
|
||||
ld hl,"AC" ; cab
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight6
|
||||
cp "B"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight6:
|
||||
ld hl,"RA" ; arj
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight7
|
||||
cp "J"
|
||||
ret z
|
||||
cp "C" ; ar(c)
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight7:
|
||||
ld hl,"CA" ; ace
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight8
|
||||
cp "E"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight8:
|
||||
ld hl,"ZL" ; lzh
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight9
|
||||
cp "H"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight9:
|
||||
ld hl,"CI" ; ice
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight10
|
||||
cp "E"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight10:
|
||||
ld hl,"GT" ; tgz
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight11
|
||||
cp "Z"
|
||||
ret z
|
||||
jp hilight_normal
|
||||
hilight11:
|
||||
ld hl,"OZ" ; zoo
|
||||
and a
|
||||
sbc hl,de
|
||||
jp nz,hilight_normal
|
||||
cp "O"
|
||||
ret z
|
||||
hilight_normal:
|
||||
ld c,2; ; ¨¤¥ªá 梥⠯ ¥«¨
|
||||
ret
|
||||
611
MOD2/INFO.ASM
Executable file
@ -0,0 +1,611 @@
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
; ‚뢮¤ ¤ ëå ªâ. ¯ ¥«¨ -> ¢ ¯ áá. ¯ ¥«ì (¢ë§ë¢ ¥âáï ¨§ ä ©«¥à )
|
||||
; <âਣ£¥à ï ä¨âç >
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
alt_info_panel:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z ; ¢ëª«.
|
||||
; â¥áâ «¨ç¨ï qview-ä®à¬ â ªâ. ¯ ¥«¨
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
and form_info
|
||||
jr nz,set_norm_actpanel2 ; ¢ë¢¥á⨠®à¬. ªâ¨¢ãî ¯ ¥«ì
|
||||
ld hl,info1_ ; âਣ£¥à ¯ áá. ¯ ¥«¨
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr nz,set_norm_noactpanel2 ; ¢ë¢¥á⨠®à¬. ¯ áᨢãî ¯ ¥«ì
|
||||
jr set_info_noactpanel ; info-¯ ¥«ì ¢ ¯ áá. ¯ ¥«¨ ( ªâ. ¤ ë¥)
|
||||
|
||||
|
||||
|
||||
;--------------------------------------------------
|
||||
; ‚뢥á⨠®à¬ «ì®© ªâ. ¯ ¥«ì
|
||||
;--------------------------------------------------
|
||||
set_norm_actpanel2:
|
||||
ld hl,info_ ; âਣ£¥à ªâ. ¯ ¥«¨
|
||||
ld (hl),0 ; á¡à. âਣ£¥à
|
||||
inc hl
|
||||
ld a,(hl) ; ï祩ª form_under_info
|
||||
ld (format_mode),a ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
jp A20FC ; ¢ë¢¥á⨠¯ ¥«ì
|
||||
|
||||
;--------------------------------------------------
|
||||
; ‚뢥á⨠®à¬ «ì®© ¯ áá. ¯ ¥«ì
|
||||
;--------------------------------------------------
|
||||
set_norm_noactpanel2:
|
||||
call change_panel
|
||||
call set_norm_actpanel2
|
||||
jp change_panel
|
||||
|
||||
|
||||
|
||||
;----------------------------------------------------
|
||||
; ‚뢥á⨠info-¯ ¥«ì ¢ ªâ. ¯ ¥«¨ (¯ áá. ¤ ë¥)
|
||||
; (¢ë§ë¢ ¥âáï ¨§ Œ¥î)
|
||||
;----------------------------------------------------
|
||||
set_info_actpanel:
|
||||
; § ¯®«¨âì ¤ 묨 â¨â«-®¯¨á ⥫ì + ãáâ. ¥£® ⨯
|
||||
call change_panel
|
||||
call get_info_data
|
||||
call change_panel
|
||||
set_info_actpanel1:
|
||||
ld de,format_mode ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
ld a,(de)
|
||||
bit 3,a ; info
|
||||
ret nz ; ¥ ®âà ¡. ¯®¢â®à®
|
||||
bit 4,a ; qview
|
||||
jr z,$+5
|
||||
ld a,(form_under_qview) ; ä®à¬ â ¯®¤ qview-¯ ¥«ìî
|
||||
ld hl,info_ ; âਣ£¥à ªâ. ¯ ¥«¨
|
||||
ld (hl),1 ; ãáâ. âਣ£¥à
|
||||
inc hl
|
||||
ld (hl),a ; form_under_info
|
||||
and form_trd ; ãç¥áâì 6-© ¡¨â ᯥª-ä®à¬ â
|
||||
or form_info
|
||||
ld (de),a ; ãáâ. info-ä®à¬ â
|
||||
xor a
|
||||
ld (qview_),a ; á¡à. qview-âਣ£¥à
|
||||
ld (enter_done3+1),a ; á¡à. ä« £ ®¡®¢«¥¨ï info-¯ ¥«¨
|
||||
ret
|
||||
|
||||
;----------------------------------------------------
|
||||
; ‚뢥á⨠qview-¯ ¥«ì ¢ ¯ áá. ¯ ¥«¨ ( ªâ. ¤ ë¥)
|
||||
;----------------------------------------------------
|
||||
set_info_noactpanel:
|
||||
; § ¯®«¨âì ¤ 묨 â¨â«-®¯¨á ⥫ì + ãáâ. ¥£® ⨯
|
||||
call get_info_data
|
||||
xor a
|
||||
ld (D48B1),a ; á¡à. ¨¢¥àá¨î â¨â«
|
||||
call change_panel
|
||||
call set_info_actpanel1 ; ¢ë¢®¤ ªâ. ¯ ¥«¨
|
||||
call draw_half_frame ; ®ç¨áâ¨âì ¯ ¥«ì
|
||||
call prn_up_path ; ¢ë¢¥á⨠§ ¯®«. ®¯¨á ⥫ì
|
||||
call change_panel
|
||||
ld a,true
|
||||
ld (D48B1),a ; ãáâ. ¨¢¥àá¨î â¨â«
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‡ ¯®«¨âì â¨â«-®¯¨á â¥«ì ¤ 묨 ¤¨áª ( ªâ. ¤ ë¥)
|
||||
;-----------------------------------------------------------
|
||||
get_info_data:
|
||||
ld hl,win_info_panel ; ®¯¨á ⥫ì "Calculating disk space..."
|
||||
call WinSimple ; ®âªàëâì ®ª®
|
||||
;
|
||||
; áâநâì áâபã ⥪. ¤ âë
|
||||
call info_get_date
|
||||
;
|
||||
; ’¥áâ «¨ç¨¥ ¬/á CMOS
|
||||
ld c,0F5h
|
||||
rst 08h
|
||||
ld hl,cmos_yes ; "Yes"
|
||||
jr nc,$+5
|
||||
ld hl,cmos_no ; " No"
|
||||
ld b,3 ; ¤«¨ áâப¨
|
||||
ld ix,info_cmos_string
|
||||
call A0E90 ; ᪮¯¨à®¢ âì áâபã
|
||||
;
|
||||
; ‚¥àá¨ï BIOS
|
||||
ld hl,work_buffer ; ¢à¥¬. ¡ãä¥à
|
||||
ld c,0EFh ; ¨ä ® ¢¥àᨨ <20>¨®á ¨ ¦¥«¥§
|
||||
rst 08h
|
||||
push bc
|
||||
push de
|
||||
xor a
|
||||
ld l,d
|
||||
ld h,a
|
||||
ld ix,info_bios_version ; ¡ãä¥à
|
||||
exx
|
||||
ld l,a ; áâ. à §àï¤
|
||||
ld h,a
|
||||
exx
|
||||
ld bc,0120h ; á ¢¥¤ãé. ¯à®¡¥«®¬
|
||||
ld iy,tmp1__
|
||||
res 7,(iy+0)
|
||||
call dec2
|
||||
pop hl
|
||||
ld a,l
|
||||
ld (ix+0),"."
|
||||
inc ix
|
||||
call dec8
|
||||
pop hl
|
||||
ld h,0
|
||||
ld (ix+0),"."
|
||||
inc ix
|
||||
call dec16
|
||||
;
|
||||
; Board ID
|
||||
ld bc,01EDh
|
||||
rst 08h
|
||||
ld ix,info_board_id ; ¡ãä¥à
|
||||
push de
|
||||
push hl
|
||||
ld a,b
|
||||
call hex8 ; hex
|
||||
ld (ix+0),"-"
|
||||
inc ix
|
||||
ld a,c
|
||||
call hex8 ; hex
|
||||
ld (ix+0),"-"
|
||||
inc ix
|
||||
pop hl ; ¬«. à §àï¤
|
||||
exx
|
||||
ld hl,0 ; áâ. à §àï¤
|
||||
exx
|
||||
ld bc,0130h ; á ¢¥¤ãé. ã«ï¬¨
|
||||
ld iy,tmp1__
|
||||
res 7,(iy+0)
|
||||
call dec5 ; 16-bit ¤¥áïâ. ¢ë¢®¤ (á ¢¥¤. ã«ï¬¨)
|
||||
pop hl
|
||||
call hex16 ; hex
|
||||
;
|
||||
; ’¥ªã騩 ¤¨áª
|
||||
ld a,(disk)
|
||||
add a,"A"
|
||||
ld (info_hdd+14),a ; ï祩ª ¡ãª¢ë ¤¨áª
|
||||
ld (info_cdrom+15),a
|
||||
ld (info_fdd+16),a
|
||||
ld (info_ram+13),a
|
||||
; ¯à®ç¨â âì BPB ¤¨áª
|
||||
ld a,(disk) ; ®¬¥à ¤¨áª
|
||||
ld c,1 ; open device
|
||||
rst 18h
|
||||
jr c,get_inf_data_err
|
||||
ld a,(disk)
|
||||
ld de,work_buffer ; ¡ãä¥à
|
||||
ld c,4 ; get BPB
|
||||
rst 18h
|
||||
push af
|
||||
ld a,(disk) ; ®¬¥à ¤¨áª
|
||||
ld c,2 ; close device
|
||||
rst 18h
|
||||
pop af
|
||||
jr c,get_inf_data_err
|
||||
; ¡ ©â ä®à¬ â ®á¨â¥«ï
|
||||
ld a,(work_buffer+21)
|
||||
ld (media_byte),a
|
||||
get_inf_data_err:
|
||||
; ‘¥à¨©ë© ®¬¥à «®£. ¤¨áª
|
||||
ld ix,info_serial ; xxxx-xxxx
|
||||
ld hl,(work_buffer+41) ; áâ.ç áâì
|
||||
call hex16
|
||||
ld (ix+0),"-"
|
||||
inc ix
|
||||
ld hl,(work_buffer+39) ; ¬«.ç áâì
|
||||
call hex16
|
||||
;
|
||||
; Œ¥âª ¤¨áª
|
||||
ld a,(disk) ; ®¬¥à ¤¨áª
|
||||
cp 2 ; ¬¥ìè¥ "C:" ?
|
||||
jr nc,get_inf_data1 ; ¬¥âª ¢ BPB
|
||||
; floppy, ¬¥âª - § ¯¨áì ä ©«
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
ld hl,scan_mask ; "*.*" ¨¬ï ¯®¨áª ¬¥âª¨ ⮬
|
||||
ld de,work_buffer+127;255
|
||||
ld a,8 ; âਡãâ ¬¥âª¨ ⮬
|
||||
ld bc,0019h ; F_FIRST, ä®à¬ â "FilenameExt"
|
||||
rst 10h
|
||||
jr c,get_inf_data1 ; ¬¥âª¨ ¥â
|
||||
ld hl,work_buffer+127+43 ;+255+43 ®âªã¤ (ª®¥æ ¬¥âª¨)
|
||||
jr $+5
|
||||
get_inf_data1:
|
||||
ld hl,work_buffer+53 ; ®âªã¤ (ª®¥æ ¬¥âª¨)
|
||||
ld de,info_volume+10 ; ªã¤ (ª®¥æ áâப¨)
|
||||
ld ix,info_volume
|
||||
call copy_volume ; ᪮¯¨à. ¬¥âªã
|
||||
;
|
||||
; Ž¡ê¥¬ ¤¨áª
|
||||
ld a,(disk) ; ®¬¥à ¤¨áª
|
||||
ld c,3 ; ¨ä ® ¤¨áª¥
|
||||
rst 10h
|
||||
jr nc,get_inf_data_ok
|
||||
xor a
|
||||
ld l,a
|
||||
ld h,a
|
||||
ld e,a
|
||||
ld d,a
|
||||
ld c,a
|
||||
ld b,a
|
||||
inc a
|
||||
get_inf_data_ok:
|
||||
; a=à §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||
; bc=à §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||||
; hl=®¡é¥¥ ª®«-¢® ª« áâ¥à®¢
|
||||
; de=᢮¡. ª« áâ¥à®¢
|
||||
push de
|
||||
push hl
|
||||
ld hl,0
|
||||
add hl,bc ; ¢ëç¨á«¨âì à §¬¥à ª« áâ¥à
|
||||
dec a
|
||||
jr nz,$-2
|
||||
ex de,hl ; de=à §¬¥à ª« áâ¥à
|
||||
pop bc ; ®¡é.ª®«-¢® ª« áâ¥à®¢
|
||||
call mul_bcde ; bc*de=hlbc ®¡é¨© ®¡ê¥¬ ¤¨áª
|
||||
push hl
|
||||
exx
|
||||
pop hl ; áâ.à §àï¤
|
||||
exx
|
||||
ld l,c ; ¬«.à §àï¤
|
||||
ld h,b
|
||||
push de
|
||||
ld ix,info_total_bytes ; 0,000,000,000
|
||||
call decimal32
|
||||
; ᢮¡®¤®¥ ¬¥áâ®
|
||||
pop de ; à §¬¥à ª« áâ¥à
|
||||
pop bc ; ᢮¡. ª« áâ¥à®¢
|
||||
call mul_bcde ; bc*de=hlbc ᢮¡. ¬¥áâ®
|
||||
push hl
|
||||
exx
|
||||
pop hl ; áâ.à §àï¤
|
||||
exx
|
||||
ld l,c ; ¬«.à §àï¤
|
||||
ld h,b
|
||||
ld ix,info_free_bytes ; 0,000,000,000
|
||||
call decimal32
|
||||
; ‚ᥣ® ¯ ¬ïâ¨
|
||||
ld c,3Ch ; ¨ä®à¬ æ¨ï ® ¯ ¬ïâ¨
|
||||
rst 10h
|
||||
push bc
|
||||
ld ix,info_total_memory ; 0,000,000
|
||||
call conv_kbytes ; kbytes -> bytes ¨ ¢ë¢®¤ ¢ ¡ãä¥à
|
||||
pop hl
|
||||
; ‘¢®¡®¤ ï ¯ ¬ïâì
|
||||
ld ix,info_free_memory ; 0,000,000
|
||||
call conv_kbytes ; kbytes -> bytes ¨ ¢ë¢®¤ ¢ ¡ãä¥à
|
||||
;
|
||||
; ¢ë¢®¤ áâப¨ ¤¨áª ªâ. ¯ ¥«¨
|
||||
db 3Eh ; ld a,..
|
||||
media_byte:
|
||||
db 0 ; ¡ ©â ä®à¬ â ¨§ BPB
|
||||
ld hl,info_hdd ; fixed disk
|
||||
cp 0F8h
|
||||
jr z,get_inf_data2
|
||||
ld hl,info_fdd ; removable disk
|
||||
cp 0F0h ; 1.44Mb
|
||||
jr z,get_inf_data3
|
||||
cp 0F9h ; 720kB
|
||||
jr z,get_inf_data3
|
||||
ld hl,info_ram ; ram-disk
|
||||
cp 0FAh
|
||||
jr z,$+5
|
||||
ld hl,info_cdrom ; cd-rom
|
||||
get_inf_data2:
|
||||
ld de,info_type_device ; ªã¤
|
||||
ld bc,19 ; ¤«¨ áâப¨
|
||||
ldir
|
||||
; â¥áâ ᯥª-ä®à¬ â
|
||||
ld a,(format_mode)
|
||||
and form_trd
|
||||
call nz,get_spec_info ; § ¯®«¨âì ᯥª-®¯¨á ⥫ì
|
||||
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
ld a,1
|
||||
rst 20h
|
||||
; § ªàëâì ®ª® "Calculating disk space..."
|
||||
jp CloseWinSimple
|
||||
|
||||
get_inf_data3:
|
||||
ld a,(disk) ; ®¬¥à ¤¨áª
|
||||
cp 2 ; ¬¥ìè¥ "C:" ?
|
||||
jr c,$+5
|
||||
ld hl,info_ram ; ram-¤¨áª
|
||||
jr get_inf_data2
|
||||
|
||||
|
||||
|
||||
; ‘ª®¯¨à®¢ âì ¢ ¡ãä¥à ¨¬ï ¬¥âª¨ ¤¨áª .
|
||||
; ¢å®¤: hl=®âªã¤ (ª®¥æ ¬¥âª¨)
|
||||
; de=ªã¤ (ª®¥æ áâப¨ ¬¥âª¨)
|
||||
; ix= ç «® áâப¨ ¬¥âª¨
|
||||
copy_volume:
|
||||
ld bc,11 ; ¤«¨ ¬¥âª¨
|
||||
ld a,(hl)
|
||||
cp " "+1
|
||||
jr nc,$+10
|
||||
dec hl
|
||||
dec c
|
||||
jr nz,$-7
|
||||
ld a,11
|
||||
jr $+7
|
||||
;
|
||||
ld a,11
|
||||
sub c
|
||||
lddr
|
||||
ld b,a
|
||||
or a ; ¤«¨ ¬¥âª¨ 11 ᨬ¢. ?
|
||||
call nz,spaces ; ¤®¯®«¨âì ¢¥¤. ¯à®¡¥«ë
|
||||
ret
|
||||
|
||||
|
||||
; <20>¥à¥¢®¤ ç¨á« áâà ¨æ ¢ ¡ ©âë ¨ ¢ë¢®¤ ç¨á« ¢ ¡ãä¥à
|
||||
; ¢å®¤: hl=ç¨á«® áâà ¨æ
|
||||
; ix=¡ãä¥à
|
||||
conv_kbytes:
|
||||
add hl,hl ; à §¬¥à ¯ ¬ï⨠¢ kB
|
||||
add hl,hl ; x4
|
||||
add hl,hl ; x8
|
||||
add hl,hl ; x16
|
||||
; ¯¥à¥¢®¤¨¬ ¢ ¡ ©âë
|
||||
ex de,hl
|
||||
ld bc,1024 ; 1 ª¨«®¡ ©â
|
||||
call mul_bcde ; bc*de=hlbc ¢á¥£® ¯ ¬ïâ¨
|
||||
push hl
|
||||
exx
|
||||
pop hl ; áâ.à §àï¤
|
||||
exx
|
||||
ld l,c ; ¬«.à §àï¤
|
||||
ld h,b
|
||||
ld iy,tmp2__
|
||||
res 7,(iy+0)
|
||||
jp decimal24
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20> áâநâì ¢ info-®¯¨á ⥫¥ áâபã ⥪. ¤ âë
|
||||
;-------------------------------------------------
|
||||
info_get_date:
|
||||
ld c,21h ; á¨áâ. ¤ â
|
||||
rst 10h
|
||||
push ix ; £®¤
|
||||
push de ; ¤¥ì/¬¥áïæ
|
||||
ld ix,info_date_string ; ¡ãä¥à
|
||||
ld bc,0120h ; á ¢¥¤ãé. ¯à®¡¥«®¬
|
||||
ld iy,tmp1__
|
||||
res 7,(iy+0)
|
||||
ld l,d ; ¤¥ì
|
||||
ld h,0
|
||||
call dec2 ; 0..99 ç¨á«®
|
||||
pop hl
|
||||
ld c,l ; ¬¥áïæ
|
||||
ld h,0
|
||||
add hl,hl
|
||||
ld de,info_array_months-2
|
||||
add hl,de
|
||||
ld e,(hl)
|
||||
inc hl
|
||||
ld d,(hl)
|
||||
ex de,hl
|
||||
ld de,info_date_string+3 ; ¡ãä¥à
|
||||
; ᪮¯¨à. ¨¬ï ¬¥áïæ
|
||||
info_get_date_loop:
|
||||
ld a,(hl)
|
||||
ld (de),a
|
||||
inc hl
|
||||
inc de
|
||||
or a
|
||||
jr nz,info_get_date_loop
|
||||
dec de
|
||||
ld a," "
|
||||
ld (de),a
|
||||
inc de
|
||||
push de
|
||||
pop ix ; ¡ãä¥à
|
||||
pop hl ; £®¤
|
||||
push bc
|
||||
ld b,0 ; ¥ ¢áâ ¢«ïâì ¢¥¤ãé. ᨬ¢®«
|
||||
ld iy,tmp1__
|
||||
res 7,(iy+0)
|
||||
call dec4 ; 0..9999 ç¨á«®
|
||||
ld (ix+0),0 ; ª®¥æ ®¯¨á ⥫ï
|
||||
pop bc ; c=¬¥áïæ
|
||||
; áâநâì ï祩ª¨ ®¯¨á ⥫ï
|
||||
ld a,c
|
||||
ld c,7+8 ; ¯®« ï ¤«¨ áâப¨
|
||||
ld b,0Ch
|
||||
dec a ; a=1
|
||||
jr z,info_get_date1
|
||||
inc c
|
||||
dec a ; a=2
|
||||
jr z,info_get_date1
|
||||
ld c,5+8
|
||||
inc b ; b=0Dh
|
||||
dec a ; a=3
|
||||
jr z,info_get_date1
|
||||
dec a ; a=4
|
||||
jr z,info_get_date1
|
||||
inc b ; b=0Eh
|
||||
ld c,3+8
|
||||
dec a ; a=5
|
||||
jr z,info_get_date1
|
||||
inc c
|
||||
dec a ; a=6
|
||||
jr z,info_get_date1
|
||||
dec a ; a=7
|
||||
jr z,info_get_date1
|
||||
dec b ; b=0Dh
|
||||
ld c,6+8
|
||||
dec a ; a=8
|
||||
jr z,info_get_date1
|
||||
dec b
|
||||
dec b ; b=0Bh
|
||||
ld c,9+8
|
||||
dec a ; a=9
|
||||
jr z,info_get_date1
|
||||
inc b ; b=0Ch
|
||||
ld c,7+8
|
||||
dec a ; a=10
|
||||
jr z,info_get_date1
|
||||
inc c
|
||||
info_get_date1:
|
||||
ld hl,info_date_string-1
|
||||
ld (hl),b ; X ¯®«®¦. áâப¨
|
||||
ld hl,info_date
|
||||
ld (hl),c ; ¤«¨ áâப¨
|
||||
ret
|
||||
|
||||
|
||||
info_array_months:
|
||||
dw inf_jan
|
||||
dw inf_feb
|
||||
dw inf_mar
|
||||
dw inf_apr
|
||||
dw inf_may
|
||||
dw inf_jun
|
||||
dw inf_jul
|
||||
dw inf_aug
|
||||
dw inf_sep
|
||||
dw inf_oct
|
||||
dw inf_nov
|
||||
dw inf_dec
|
||||
|
||||
inf_jan:db "January",0
|
||||
inf_feb:db "February",0
|
||||
inf_mar:db "March",0
|
||||
inf_apr:db "April",0
|
||||
inf_may:db "May",0
|
||||
inf_jun:db "June",0
|
||||
inf_jul:db "July",0
|
||||
inf_aug:db "August",0
|
||||
inf_sep:db "September",0
|
||||
inf_oct:db "October",0
|
||||
inf_nov:db "November",0
|
||||
inf_dec:db "December",0
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‡ ¯®«¨âì ᯥª-®¯¨á â¥«ì ¤ 묨 ᯥª-¨¬¨¤¦
|
||||
; ¢å®¤: § ¯®«. ¡ãä¥à ¤ 묨 ᯥª-¨¬¨¤¦
|
||||
;-------------------------------------------------
|
||||
get_spec_info:
|
||||
; ’¨¯ ®¡à §
|
||||
ld a,(image_type); ; ¨¤¥ªá ⨯
|
||||
ld c,a
|
||||
add a,a ;1+1=2
|
||||
add a,c ;2+1=3
|
||||
ld c,a
|
||||
ld b,0
|
||||
ld hl,list_image_types ; ᯨ᮪ ⨯®¢ ®¡à §
|
||||
add hl,bc ; ®âªã¤
|
||||
ld de,img_type ; ªã¤
|
||||
ld bc,3
|
||||
ldir
|
||||
; Œ¥âª ¤¨áª
|
||||
ld hl,test_vol+10; ; ®âªã¤ (ª®¥æ ¬¥âª¨)
|
||||
ld de,trd_vol+10 ; ªã¤ (ª®¥æ áâப¨)
|
||||
ld ix,trd_vol ; ç «® áâப¨ ¬¥âª¨
|
||||
call copy_volume ; ᪮¯¨à. ¬¥âªã
|
||||
; ’¨¯ ¤¨áª
|
||||
ld a,(spec_type); ; ¨¤¥ªá ⨯
|
||||
ld c,a
|
||||
add a,a ;1+1=2
|
||||
add a,a ;2+2=4
|
||||
add a,c ;4+1=5
|
||||
ld c,a
|
||||
ld b,0
|
||||
ld hl,list_disk_types ; ᯨ᮪ ⨯®¢ ᯥª-¤¨áª
|
||||
add hl,bc ; ®âªã¤
|
||||
ld de,trd_type ; ªã¤
|
||||
ld bc,5
|
||||
ldir
|
||||
; ‡ é¨â ®â § ¯¨á¨
|
||||
ld a,0; ; ä« £ § é¨âë 0=¥â, 1=¥áâì
|
||||
or a
|
||||
ld hl,"a " ; " absent"
|
||||
ld a,"b"
|
||||
jr z,$+7
|
||||
ld hl,"rp" ; "present"
|
||||
ld a,"e"
|
||||
ld (trd_protect),hl ; ¯¥à¥¯¨á âì âà¨
|
||||
ld (trd_protect+2),a ; ¯¥à¢ë¥ ᨬ¢®«ë
|
||||
; ‚ᥣ® ä ©«®¢
|
||||
ld a,255; ; ç¨á«®
|
||||
ld ix,trd_files ; ¡ãä¥à
|
||||
call dec9 ; ¢ë¢®¤ ç¨á¥« 0..999 á ¢¥¤ãé. ¯à®¡¥«®¬
|
||||
; “¤ «¥ëå ä ©«®¢
|
||||
ld a,0; ; ç¨á«®
|
||||
ld ix,trd_delfiles ; ¡ãä¥à
|
||||
call dec9
|
||||
; ¤«ï SCL-¨¬¨¤¦ ¤ «ìè¥ ®¡ã«¨âì
|
||||
ld a,(image_type) ; ⨯ ¨¬¨¤¦
|
||||
or a
|
||||
jr nz,get_spec_inf_scl ; scl, ®¡ã«¨âì
|
||||
; <20>¥à¢ ï ᢮¡®¤ ï ¤®à®¦ª
|
||||
ld de,1; ; ç¨á«®
|
||||
ld ix,ffree_trk ; ¡ãä¥à
|
||||
call dec16s ; ¢ë¢®¤ ç¨á¥« 0..65535 á ¢¥¤. ¯à®¡¥«®¬
|
||||
; <20>¥à¢ë© ᢮¡®¤ë© ᥪâ®à
|
||||
ld de,0; ; ç¨á«®
|
||||
ld ix,ffree_sec ; ¡ãä¥à
|
||||
call dec16s
|
||||
; ‘¢®¡®¤ëå ᥪâ®à®¢
|
||||
ld de,2544; ; ç¨á«®
|
||||
ld ix,free_sec ; ¡ãä¥à
|
||||
jp dec16s
|
||||
|
||||
|
||||
; ®¡ã«¨âì 3 § 票ï
|
||||
get_spec_inf_scl:
|
||||
ld bc,5
|
||||
ld a,c
|
||||
ld hl,spec_null ; ®âªã¤
|
||||
ld de,ffree_trk ; ¡ãä¥à "First free trk"
|
||||
ldir
|
||||
ld hl,spec_null
|
||||
ld de,ffree_sec ; ¡ãä¥à "First free sec"
|
||||
ld c,a
|
||||
ldir
|
||||
ld hl,spec_null
|
||||
ld de,free_sec ; ¡ãä¥à "Number of free sectors"
|
||||
ld c,a
|
||||
ldir
|
||||
ret
|
||||
|
||||
spec_null:
|
||||
db " 0" ; ®¡ã«ï«ª
|
||||
|
||||
|
||||
; ’¨¯ ᯥª-¨¬¨¤¦ (0=TRD, 1=SCL)
|
||||
image_type:
|
||||
db 0 ; ¨¤¥ªá
|
||||
|
||||
; ’¨¯ ᯥª-¤¨áª (0=2S/DD, 1=2S/SD, 2=1S/DD, 3=1S/SD, 4=??/??)
|
||||
spec_type:
|
||||
db 0 ; ¨¤¥ªá
|
||||
|
||||
|
||||
; ᯨ᮪ ⨯®¢ ¨¬¨¤¦¥©
|
||||
list_image_types:
|
||||
db "TRD" ; 0
|
||||
db "SCL" ; 1
|
||||
|
||||
; ᯨ᮪ ⨯®¢ ᯥª-¤¨áª®¢
|
||||
list_disk_types:
|
||||
db "2S/DD" ; 0
|
||||
db "2S/SD" ; 1
|
||||
db "1S/DD" ; 2
|
||||
db "1S/SD" ; 3
|
||||
db "??/??" ; 4
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; â¥á⮢ ï áâப . ã¡à âì
|
||||
test_vol:;
|
||||
db "ADVENT#10/2";
|
||||
344
MOD2/KEYBAR.ASM
Executable file
@ -0,0 +1,344 @@
|
||||
;-----------------------------------------------------------
|
||||
; ‚뢮¤ à §ëå á®áâ®ï¨© key-¡ à ¨ ®¡à ¡®â稪¨ ¥£® ®¯æ¨©
|
||||
;-----------------------------------------------------------
|
||||
|
||||
|
||||
; ®à¬ «ì ï áâப key-¡ à
|
||||
keybar_norm:
|
||||
db "1Help "
|
||||
db "2UserMn "
|
||||
db "3View "
|
||||
db "4Edit "
|
||||
db "5Copy "
|
||||
db "6RenMov "
|
||||
db "7MkFold "
|
||||
db "8Delete "
|
||||
db "9ConfMn "
|
||||
db "10Quit "
|
||||
|
||||
; áâப key-¡ à á Ctrl+..
|
||||
keybar_ctrl:
|
||||
db "1 "
|
||||
db "2 "
|
||||
db "3Name "
|
||||
db "4Extens "
|
||||
db "5Date "
|
||||
db "6Size "
|
||||
db "7Unsort "
|
||||
db "8 "
|
||||
db "9 "
|
||||
db "10 "
|
||||
|
||||
; áâப key-¡ à á Alt+..
|
||||
keybar_alt:
|
||||
db "1Left "
|
||||
db "2Right "
|
||||
db "3 " ; "3View.. "
|
||||
db "4 " ; "4Edit.. "
|
||||
db "5 " ; "5Print "
|
||||
db "6 "
|
||||
db "7 " ; "7Find "
|
||||
db "8 "
|
||||
db "9 "
|
||||
db "10 "
|
||||
|
||||
; áâப key-¡ à á Shift+..
|
||||
keybar_shift:
|
||||
db "1 "
|
||||
db "2 "
|
||||
db "3 "
|
||||
db "4 "
|
||||
db "5 "
|
||||
db "6 "
|
||||
db "7 "
|
||||
db "8 "
|
||||
db "9 "
|
||||
db "10 "
|
||||
|
||||
|
||||
; âਡãâë áâப¨ key-¡ à
|
||||
keybar_attr:
|
||||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 1
|
||||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 2
|
||||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 3
|
||||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 4
|
||||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 5
|
||||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 6
|
||||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 7
|
||||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 8
|
||||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 9
|
||||
db kb_b,kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f ; 10
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
__pointer:
|
||||
call show_pointer ; ¢ë¢¥á⨠㪠§ ⥫ì (¥á«¨ ¯ ¥«¨ ¢ª«.)
|
||||
;-----------------------------------------------------------
|
||||
; <20> ç «ìë© ¢ë¢®¤ áâப¨ key-¡ à (áâப á âਡãâ ¬¨)
|
||||
;-----------------------------------------------------------
|
||||
print_keybar:
|
||||
ld de,keybar_norm ; ⥪áâ
|
||||
print_keybar1:
|
||||
ld hl,037Dh ; 0301h + (4*31)
|
||||
in a,(89h)
|
||||
ld b,a ; á®åà. ¯®àâ
|
||||
in a,(SLOT0)
|
||||
ld c,a ; á®åà.¯®àâ
|
||||
di
|
||||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ld a,81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a ; ª®«®ª
|
||||
; ¢ë¢®¤ ⥪áâ
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,80 ; ¤«¨ áâப¨
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||||
ld a,(de)
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||||
ld (hl),a
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
; ¢ë¢®¤ âਡã⮢
|
||||
ld de,keybar_attr ; áâப âਡã⮢
|
||||
ld a,81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a
|
||||
inc hl ; ¯¥à¥©â¨ âਡãâë
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,80 ; ¤«¨ áâப¨
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||||
ld a,(de)
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||||
ld (hl),a
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,b
|
||||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||||
ld a,c
|
||||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||||
ei
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‚뢮¤ áâப¨ key-¡ à ¤«ï ᯥæ-ª« ¢¨è (Ctrl,Alt,Shift)
|
||||
; ¨ ¯¥à¥å®¤ ®¡à ¡®â稪¨ ®¯æ¨© key-¡ à .
|
||||
; (áâப key-¡ à ¤«ï ᯥæ-ª« ¢¨è ¢ë¢®¤¨âáï ¡¥§ âਡã⮢)
|
||||
;-----------------------------------------------------------
|
||||
; ¢å®¤: a = ¯à¨§ ª ¦ â¨ï Ctrl,Alt,Shift
|
||||
;
|
||||
change_keybar:
|
||||
ld (keybar2__+1),a
|
||||
ld de,keybar_ctrl ; áâப
|
||||
bit 5,a ; Ctrl+
|
||||
jr nz,keybar__
|
||||
ld de,keybar_alt ; áâப
|
||||
bit 4,a ; Alt+
|
||||
jr nz,keybar__
|
||||
ld de,keybar_shift ; áâப
|
||||
keybar__:
|
||||
ld hl,037Dh ; 0301h + (4*31)
|
||||
in a,(89h)
|
||||
ld b,a ; á®åà. ¯®àâ
|
||||
in a,(SLOT0)
|
||||
ld c,a ; á®åà.¯®àâ
|
||||
di
|
||||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ld a,81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a ; ª®«®ª
|
||||
; ¢ë¢®¤ ⥪áâ
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,80 ; ¤«¨ áâப¨
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||||
ld a,(de)
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||||
ld (hl),a
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,b
|
||||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||||
ld a,c
|
||||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||||
ei
|
||||
ld hl,__pointer ; â®çª ¢ë室
|
||||
push hl
|
||||
; â¥áâ "§ «¨¯ ¨¥" ª« ¢¨è
|
||||
keybar1__:
|
||||
ld a,3 ; â¥áâ ¦ â¨ï ª« ¢¨è
|
||||
rst 20h
|
||||
ld a,b
|
||||
and 11110000b ; test Ctrl,Alt,Shift
|
||||
jr nz,keybar1__ ; ¯®ª ¦ âë
|
||||
ld a,2 ; ®¯à®á ª« ¢ë
|
||||
rst 20h
|
||||
ret z ; ¡ë«¨ ⮫쪮 Crtl,Alt,Shift
|
||||
keybar2__:
|
||||
ld b,0 ; á®åà. ¡¨âë ª« ¢¨è Ctrl,Alt,Shift
|
||||
keybar_options:
|
||||
res 7,d ; á¡à. 7-© ¡¨â
|
||||
ld a,d
|
||||
; b=¡¨â ª« ¢¨è Ctrl, Alt, Shift
|
||||
; a=᪥-ª®¤ ª« ¢¨è¨
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
;
|
||||
; Ž¡à ¡®âª ®¯æ¨© key-¡ à
|
||||
;
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
bit 5,b ; Ctrl+..
|
||||
jr nz,options_ctrl
|
||||
bit 4,b ; Alt+..
|
||||
jr nz,_option_alt
|
||||
;=====================================================================
|
||||
;
|
||||
; Shift-®¯æ¨¨
|
||||
;
|
||||
; ¢å®¤: a=᪥-ª®¤
|
||||
;=====================================================================
|
||||
cp 43h ; F9
|
||||
jp z,write_ini_file ; § ¯¨á âì ini-ä ©«
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;=====================================================================
|
||||
;
|
||||
; Ctrl-®¯æ¨¨
|
||||
;
|
||||
; ¢å®¤: a=᪥-ª®¤
|
||||
;=====================================================================
|
||||
options_ctrl:
|
||||
cp 2 ; "1" ªà ⪨© ªâ. ¯ ¥«¨
|
||||
jp z,set_format_brief
|
||||
cp 3 ; "2" á।¨© ªâ. ¯ ¥«¨
|
||||
jp z,set_format_medium
|
||||
cp 4 ; "3" ¯®«ë© ªâ. ¯ ¥«¨
|
||||
jp z,set_format_full
|
||||
cp 16h ; Ctrl+U ®¡¬¥ ¯ ¥«¥©
|
||||
jp z,swap_panels
|
||||
cp 25h ; Ctrl+L ¯ ¥«ì ¨ä®à¬ 樨
|
||||
jp z,alt_info_panel
|
||||
cp 10h ; Ctrl+Q ¯ ¥«ì ¡ëáâண® ¯à®á¬®âà
|
||||
jp z,alt_qview_panel
|
||||
cp 18h ; Ctrl+O ã¡à âì/¯®ª § âì ¯ ¥«¨
|
||||
jp z,hidden_panels
|
||||
cp 12h ; Ctrl+E ¯à¥¤. áâப ¨áâ®à¨¨
|
||||
jp z,prev_history
|
||||
cp 2Bh ; Ctrl+X á«¥¤. áâப ¨áâ®à¨¨
|
||||
jp z,next_history
|
||||
cp 4Fh ; Ctrl+Del, ®ç¨áâ¨âì ¨áâ®à¨î ª®¬ ¤
|
||||
jp z,clear_history
|
||||
;
|
||||
ld c,"n" ; name
|
||||
cp 3Dh ; Ctrl+F3 á®àâ. ¯® ¨¬¥¨
|
||||
jp z,sorting_list
|
||||
ld c,"x" ; ext
|
||||
cp 3Eh ; Ctrl+F4 á®àâ. ¯® à áè.
|
||||
jp z,sorting_list
|
||||
ld c,"d" ; date
|
||||
cp 3Fh ; Ctrl+F5 á®àâ. ¯® ¤ â¥
|
||||
jp z,sorting_list
|
||||
ld c,"s" ; size
|
||||
cp 40h ; Ctrl+F6 á®àâ. ¯® à §¬¥àã
|
||||
jp z,sorting_list
|
||||
ld c,"u" ; unsorted
|
||||
cp 41h ; Ctrl+F7 ¡¥§ á®àâ¨à®¢ª¨
|
||||
jp z,sorting_list
|
||||
;
|
||||
cp 1Dh ; Ctrl+A ¢ë¢®¤ ®ª âਡ. ä ©« /¯ ¯ª¨
|
||||
;jp z,set_attrib2
|
||||
cp 28h ; Enter
|
||||
jp z,put_name_to_comline ; ᪮¯¨à®¢ âì ¨¬ï/¯ãâì ¢ ª®¬-áâபã
|
||||
cp 4Eh ; Enter æ¨äà. ¯®«ï
|
||||
jp z,put_name_to_comline
|
||||
;
|
||||
cp 1Ah ; Ctrl+[ ¯ãâì «¥¢®© ¯ ¥«¨ ¢ ª®¬-áâபã
|
||||
jp z,copy_left_path_panel_to_comline
|
||||
cp 1Bh ; Ctrl+] ¯ãâì ¯à ¢®© ¯ ¥«¨ ¢ ª®¬-áâபã
|
||||
jp z,copy_right_path_panel_to_comline
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;=====================================================================
|
||||
;
|
||||
; Alt-®¯æ¨¨
|
||||
;
|
||||
; ¢å®¤: a=᪥-ª®¤
|
||||
;=====================================================================
|
||||
_option_alt:
|
||||
cp 3Bh ; F1
|
||||
jp z,select_left_drive
|
||||
cp 3Ch ; F2
|
||||
jp z,select_right_drive
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Ctrl+E. ‚áâ ¢¨âì ¯à¥¤. áâப㠨áâ®à¨¨
|
||||
; ¨ ¢®©â¨ ¢ ª®¬-áâபã
|
||||
;-------------------------------------------------
|
||||
prev_history:
|
||||
call print_keybar ; ¢®ááâ. ®à¬. key-¡ à
|
||||
jp up1
|
||||
|
||||
;-------------------------------------------------
|
||||
; Ctrl+X. ‚áâ ¢¨âì á«¥¤. áâப㠨áâ®à¨¨
|
||||
; ¨ ¢®©â¨ ¢ ª®¬-áâபã
|
||||
;-------------------------------------------------
|
||||
next_history:
|
||||
call print_keybar ; ¢®ááâ. ®à¬. key-¡ à
|
||||
jp down1
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; Ctrl+O. “¡à âì/¯®ª § âì ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
hidden_panels:
|
||||
ld hl,enable_panels
|
||||
ld a,(hl)
|
||||
xor 1
|
||||
ld (hl),a
|
||||
jr nz,hidden_off
|
||||
; ‘ªàëâì ¯ ¥«¨
|
||||
; ¢ëª«. ¢ë¢®¤ ç ᮢ
|
||||
ld hl,enable_clock ; ä« £
|
||||
ld a,(hl)
|
||||
ld (clock__+1),a ; á®åà. ä« £
|
||||
ld (hl),false
|
||||
; ¢®ááâ. á¨áâ. íªà ¤® ª®¬-áâப¨
|
||||
ld c,0B3h
|
||||
ld a,(page_sys_screen) ; áâà ¨æ ¡ãä¥à
|
||||
jp screen1__
|
||||
|
||||
; <20>®ª § âì ¯ ¥«¨
|
||||
hidden_off:
|
||||
; á®åà. á¨áâ. íªà ¤® ª®¬-áâப¨
|
||||
ld c,0B2h
|
||||
ld a,(page_sys_screen) ; áâà ¨æ ¡ãä¥à
|
||||
call screen1__
|
||||
; ¢®ááâ. íªà ¬¥¥¤¦¥à
|
||||
call A20FC ; ¢ë¢¥á⨠áâ. ¯ ¥«ì
|
||||
call change_panel ; ᬥ¨âì ¯ ¥«ì
|
||||
call A20FC ; ¢ë¢¥á⨠¯ áá. ¯ ¥«ì
|
||||
call change_panel
|
||||
call show_pointer ; ¢ë¢®¤ 㪠§ ⥫ï
|
||||
; ¢ª«. ¢ë¢®¤ ç ᮢ
|
||||
ld a,(clock__+1)
|
||||
ld (enable_clock),a
|
||||
ret
|
||||
364
MOD2/LAUNCH.ASM
Executable file
@ -0,0 +1,364 @@
|
||||
; ¬¥âª¨ ¥ à §¤¥«ïâì!
|
||||
ccp_name:
|
||||
db 'X:\SYSTEM.EXE ' ; 襫«
|
||||
temp_fname:
|
||||
ds 13 ; ¡ãä¥à ¯®¤ ¨¬ï § ¯ãáª. ä ©«
|
||||
|
||||
|
||||
|
||||
|
||||
; ç¨á«® ¤®á-ª®¬ ¤
|
||||
count_dos_commands equ 23 ; ¨¤¥ªá
|
||||
|
||||
; Š®¬ ¤ë „Ž‘
|
||||
array_dos_commands:
|
||||
db "CD"," " ;23 ¨¤¥ªá (áç¥â稪 "b")
|
||||
db "CHDIR"," " ;22
|
||||
; ¨§¬¥ïîâ ᯨ᮪ ä ©«®¢
|
||||
db "DEL"," " ;21
|
||||
db "ERASE"," " ;20
|
||||
db "MD"," " ;19
|
||||
db "MKDIR"," " ;18
|
||||
db "RD"," " ;17
|
||||
db "RMDIR"," " ;16
|
||||
db "REN"," " ;15
|
||||
db "RENAME"," " ;14
|
||||
; ¥ ¨§¬¥ïîâ ᯨ᮪ ä ©«®¢
|
||||
db "CLS"," "
|
||||
db "DATE"," "
|
||||
db "DIR"," "
|
||||
db "ECHO"," "
|
||||
db "EXIT"," "
|
||||
db "HELP"," "
|
||||
db "PATH"," "
|
||||
db "PAUSE"," "
|
||||
db "REM"," "
|
||||
db "SET"," "
|
||||
db "TIME"," "
|
||||
db "VER"," "
|
||||
db "VERSION"," "
|
||||
|
||||
|
||||
|
||||
|
||||
count_extentions equ 4 ; ª®«-¢® à áè¨à¥¨©
|
||||
|
||||
; § १. à áè¨à¥¨ï ä ©«®¢
|
||||
array_extensions:
|
||||
db "EXE"," "
|
||||
db "BAT"," "
|
||||
db "TRD"," "
|
||||
db "SCL"," "
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘à ¢¨âì áâப¨ ¡¥§ ãç¥â ॣ¨áâà .
|
||||
; Ž¡à §¥æ ¤®«¦¥ ¡ëâì ¢ ¢¥à奬 ॣ¨áâà¥
|
||||
; ¨ § ª 稢 âìáï ¯à®¡¥«®¬.
|
||||
; ¢å®¤: de - string1
|
||||
; hl - string2 (®¡à §¥æ)
|
||||
; ¢ë室: Z - à ¢ë
|
||||
; NZ - ¥ à ¢ë
|
||||
;-------------------------------------------------
|
||||
stricmp:ld a,(de)
|
||||
cp "a"
|
||||
jr c,$+4
|
||||
and 11011111b ; á¡à. 5-bit
|
||||
cp (hl)
|
||||
jr z,stricmp1
|
||||
; á«¥¤. ®¡à §¥æ
|
||||
ld a,(hl) ; ®¡à §¥æ
|
||||
inc hl
|
||||
cp " "
|
||||
jr nz,$-4
|
||||
dec a
|
||||
ret
|
||||
; ᮢ¯ ¤ ¥â
|
||||
stricmp1:
|
||||
inc hl
|
||||
inc de
|
||||
ld a,(hl) ; ®¡à §¥æ
|
||||
cp " "+1
|
||||
jr nc,stricmp ; ®¡à §¥æ ¥ § ª®ç¥
|
||||
inc hl ; á«¥¤. ®¡à §¥æ
|
||||
ld a,(de)
|
||||
cp " "
|
||||
ret z
|
||||
or a
|
||||
ret
|
||||
|
||||
|
||||
; ‚뤥«¨âì ¨ ãáâ ®¢¨âì ¤¨áª
|
||||
cut_disk:
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
ld de,ComLineBuff+5 ; ªã¤
|
||||
ld bc,0145h
|
||||
rst 10h
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
ret
|
||||
|
||||
; ‚뤥«¨âì ¨ ãáâ ®¢¨âì ¯ãâì
|
||||
cut_path:
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
ld de,ComLineBuff+5+2 ; ªã¤
|
||||
push de
|
||||
ld bc,0245h
|
||||
rst 10h
|
||||
pop hl
|
||||
ld c,1Dh ; ãáâ. ¯ãâì
|
||||
rst 10h
|
||||
ret
|
||||
|
||||
; ‚뤥«¨âì ¨¬ï ä ©« ¨§ áâப¨
|
||||
cut_filename:
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
ld de,temp_fname ; ªã¤
|
||||
ld bc,0345h ; ä®à¬ â "file.ext"
|
||||
rst 10h
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚믮«¨âì ä ©«
|
||||
; ¢å®¤: work_buffer - ¡à ï áâப
|
||||
;-------------------------------------------------
|
||||
Launch_File:
|
||||
xor a ; false
|
||||
ld (present_doscmnd),a ; á¡à. ä« £ ¯à¨§ ª ¤®á-ª®¬ ¤
|
||||
call set_path_from_activ_panel ; ãáâ. á¨áâ. ¤¨áª ¨ ¯ãâì ®â ªâ. ¯ ¥«¨
|
||||
ret c
|
||||
ld hl,ComLineBuff+5
|
||||
xor a
|
||||
ld (hl),a ; á¡à. ï祩ªã
|
||||
inc hl
|
||||
inc hl
|
||||
ld (hl),a ; +257 á¡à. ï祩ªã
|
||||
; ¢ë¤¥«¨âì à áè. ä ©« ¨§ ª®¬-áâப¨
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
ld de,temp_fname ; ªã¤
|
||||
ld bc,0445h
|
||||
rst 10h
|
||||
bit 3,a ; 㪠§ ¤¨áª ?
|
||||
push af
|
||||
call nz,cut_disk ; ¢ë¤¥«¨âì ¨ ãáâ. ¤¨áª
|
||||
pop af
|
||||
bit 2,a ; 㪠§ ¯ãâì ?
|
||||
push af
|
||||
call nz,cut_path ; ¢ë¤¥«¨âì ¨ ãáâ. ¯ãâì
|
||||
pop af
|
||||
bit 1,a ; 㪠§ ® à áè¨à¥¨¥ ?
|
||||
jr z,no_file_extension ; ¥â
|
||||
; â¥áâ à áè¨à¥¨ï ä ©«
|
||||
ld b,count_extentions ; 4 ª®«-¢® à áè¨à¥¨©
|
||||
ld hl,array_extensions ; à áè¨à¥¨ï
|
||||
ld de,temp_fname ; áâப 1
|
||||
call stricmp ; áà ¢¨âì áâப¨
|
||||
jr z,ext_parsing ; § १. à áè¨à¥¨ï
|
||||
djnz $-8
|
||||
jr ext_execute
|
||||
;
|
||||
ext_parsing:
|
||||
ld a,b
|
||||
cp count_extentions ; "exe"
|
||||
jr z,ext_execute
|
||||
cp count_extentions-1 ; "bat"
|
||||
jr z,ext_execute
|
||||
cp count_extentions-2 ; "trd"
|
||||
;jp z,ext_trd
|
||||
cp count_extentions-3 ; "scl"
|
||||
;jp z,ext_scl
|
||||
; ®¡à ¡. ¤à. à áè¨à¥¨©
|
||||
;...
|
||||
ret
|
||||
|
||||
ext_execute:
|
||||
no_file_extension:
|
||||
call cut_filename ; ¢ë¤¥«¨âì ¨¬ï ä ©« ¨§ áâப¨
|
||||
pop bc ; ¢®ááâ. ¡ « á á⥪
|
||||
ld hl,ccp_name ; "system.exe "
|
||||
ld de,work_buffer+127;255 ; ªã¤
|
||||
ld bc,temp_fname - ccp_name ; ¤«¨ ¨¬¥¨
|
||||
ldir
|
||||
; ¢áâ ¢¨âì ¡ãª¢ã ¤¨áª
|
||||
ld hl,ComLineBuff+5
|
||||
ld a,(hl) ; ¤¨áª § ¤ ?
|
||||
or a
|
||||
jr nz,$+7 ; ¤
|
||||
ld a,(disk) ; ¤¨áª ªâ. ¯ ¥«¨
|
||||
add a,"A"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,":"
|
||||
ld (de),a
|
||||
inc de
|
||||
; ¢áâ ¢¨âì ¯ãâì
|
||||
ld hl,ComLineBuff+5+2
|
||||
ld a,(hl) ; ¯ãâì § ¤ ?
|
||||
or a
|
||||
jr nz,$+5 ; ¤
|
||||
ld hl,(__buff) ; ¯ãâì ªâ. ¯ ¥«¨
|
||||
call copy_string ; (hl) -> (de) ¤® ã«ï
|
||||
dec de
|
||||
dec de
|
||||
ld a,(de)
|
||||
cp '\'
|
||||
jr z,$+6
|
||||
inc de
|
||||
ld a,'\'
|
||||
ld (de),a
|
||||
inc de
|
||||
; ¢áâ ¢¨âì ¨¬ï ä ©«
|
||||
ld hl,temp_fname ; ®âªã¤
|
||||
call copy_string ; (hl) -> (de) ¤® ã«ï
|
||||
; ¢áâ ¢¨âì 墮áâ ª®¬ ¤ë
|
||||
ld hl,work_buffer
|
||||
ld bc,2000h ; ¯à®¡¥«/ã«ì
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
cp c
|
||||
jr z,$+10 ; ¥â 墮áâ
|
||||
cp b
|
||||
jr nz,$-6
|
||||
dec hl
|
||||
dec de
|
||||
call copy_string ; (hl) -> (de) ¤® ã«ï
|
||||
run_dos_command:
|
||||
; ®âà ¡®â âì exe/bat ä ©«ë ¨ ¤®á-ª®¬ ¤ë
|
||||
call call_shell ; ¢ë§®¢ 襫« á¨á⥬ë
|
||||
|
||||
ld sp,stack ; á⥪ ”Œ
|
||||
; "¯®¤ïâì" ¯®á«¥¤. áâப㠢뢮¤ íªà
|
||||
ld c,8Eh ; ã§ âì ¯®«®¦. ªãàá®à
|
||||
rst 08h
|
||||
cp 30 ; ®¬¥à ª®¬-áâப¨
|
||||
jr c,$+10
|
||||
jr z,$+5
|
||||
call new_line
|
||||
call new_line
|
||||
di
|
||||
ld a,(page_module0) ; ¤à ©¢¥àë ª« ¢ë, ¬ë誨, ®¡ê¥ªâë
|
||||
out (SLOT0),a
|
||||
ei
|
||||
ld a,(page_module1) ; ®¯¨á ⥫¨ ¯ ¥«¥©, à ¡. ¡ãä¥àë
|
||||
out (SLOT1),a
|
||||
db 3Eh ; ld a,..
|
||||
present_doscmnd:
|
||||
db false ; 01/00 ¤ /¥â ä« £ ¤®á-ª®¬ ¤
|
||||
or a
|
||||
jp z,cold_entry ; 宫®¤ë© ¢å®¤ ¢ ”Œ
|
||||
; ¡ë« ¤®á-ª®¬ ¤
|
||||
db 3Eh ; ld a,..
|
||||
this_cd:db false ; ¯à¨§ ª "cd","chdir" ª®¬ ¤
|
||||
or a
|
||||
call nz,set_path_to_activ_panel ; ãáâ. ®¢ë© ¯ãâì ªâ. ¯ ¥«¨
|
||||
jp warm_entry ; ⥯«ë© ¢å®¤ ¢ ”Œ
|
||||
|
||||
|
||||
; ®¢ ï áâப
|
||||
new_line:
|
||||
ld a,0Dh
|
||||
call $+5
|
||||
ld a,0Ah
|
||||
ld c,5Bh ; ¢ë¢®¤ ᨬ¢®« íªà
|
||||
rst 10h
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;---------------------------------------------------
|
||||
; ‚ë§®¢ 襫« á¨áâ¥¬ë ¤«ï ®âà ¡®âª¨ ä ©«®¢/ª®¬ ¤
|
||||
;---------------------------------------------------
|
||||
call_shell:
|
||||
; áªàëâì ¬ëèªã ”Œ
|
||||
call hide_mouse
|
||||
; ¢ëª«. ¢ë¢®¤ ç ᮢ ¯ ¥«¥©
|
||||
ld hl,enable_clock ; ä« £
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr z,$+7 ; 㦥 ¢ëª«.
|
||||
ld (clock__+1),a ; á®åà. ä« £ (shell.asm)
|
||||
ld (hl),false
|
||||
; ¢®ááâ. ¤®á-áâà ¨æã
|
||||
di
|
||||
ld a,(port_82)
|
||||
out (SLOT0),a
|
||||
ei
|
||||
; ¢®ááâ. á¨áâ¥¬ë© íªà
|
||||
ld c,0B3h
|
||||
ld a,(page_sys_screen) ; áâà ¨æ ¡ãä¥à
|
||||
call screen__
|
||||
; ¢®ááâ. ¯®«®¦. ªãàá®à á¨áâ. íªà
|
||||
ld de,(sys_cursor_coords+1) ; Y/X
|
||||
ld c,84h
|
||||
rst 08h
|
||||
; ¢®ááâ. § 票¥ ¯®àâ
|
||||
ld a,(port_89)
|
||||
out (89h),a
|
||||
; ¢ë¯®«¨âì ä ©«
|
||||
ld (stack1+1),sp
|
||||
ld hl,work_buffer+127;255 ; ¨¬ï ä ©«
|
||||
ld bc,0040h
|
||||
rst 10h
|
||||
; áªàëâì á¨áâ. ¬ëèªã
|
||||
ld c,2
|
||||
rst 30h
|
||||
stack1: ld sp,0
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; <20> §¡®à ª®¬ ¤®© áâப¨
|
||||
;-----------------------------------------------------------
|
||||
parsing_command_line:
|
||||
ld hl,what ; ¯®«¥ ᮡë⨩
|
||||
ld (hl),evNothing ; ᮡë⨥
|
||||
xor a
|
||||
ld hl,work_buffer+127;255 ; ¡à ï áâப
|
||||
cp (hl)
|
||||
ret z ; ¯ãáâ ï ª®¬-áâப
|
||||
; ¯®¨áª ¤®á-ª®¬ ¤
|
||||
ld b,count_dos_commands ; ç¨á«® ¤®á-ª®¬ ¤
|
||||
ld hl,array_dos_commands ; ¬ áᨢ ¤®á-ª®¬ ¤
|
||||
ld de,work_buffer+127;255 ; ¡à ï áâப
|
||||
call stricmp ; áà ¢¨âì áâப¨
|
||||
jr z,found_dos_command ; 諨
|
||||
djnz $-8
|
||||
; ¥ ¤®á-ª®¬ ¤
|
||||
ld hl,work_buffer+127;255 ; ®âªã¤
|
||||
ld de,work_buffer ; ªã¤
|
||||
call copy_string ; (hl) -> (de) ¤® ã«ï
|
||||
jp Launch_File ; ®âà ¡®â âì ä ©«
|
||||
|
||||
; „Ž‘-ª®¬ ¤ ©¤¥
|
||||
found_dos_command:
|
||||
ld a,true
|
||||
ld (present_doscmnd),a ; ãáâ. ¯à¨§ ª ¤®á-ª®¬ ¤
|
||||
ld a,b
|
||||
ld (number_command),a ; ®¬¥à ª®¬ ¤ë (shell.asm)
|
||||
cp 23 ; "cd" ?
|
||||
jr z,$+6
|
||||
cp 22 ; "chdir" ?
|
||||
jr nz,dos_cmnd
|
||||
ld (this_cd),a ; ãáâ. ¯à¨§ ª "cd","chdir" ª®¬ ¤
|
||||
ld (change),a ; ãáâ. ä« £ ᬥë ⥪. ¤¨áª ¨«¨ ¯ãâ¨
|
||||
dos_cmnd:
|
||||
call set_path_from_activ_panel ; ãáâ. á¨áâ. ¤¨áª ¨ ¯ãâì ®â ªâ. ¯ ¥«¨
|
||||
ld hl,ccp_name ; "system.exe "
|
||||
ld de,work_buffer ; ªã¤
|
||||
ld bc,temp_fname - ccp_name ; ¤«¨ ¨¬¥¨
|
||||
ldir
|
||||
ld hl,work_buffer+127;255 ; ®âªã¤
|
||||
call copy_string ; (hl) -> (de) ¤® ã«ï
|
||||
ld hl,work_buffer ; £®â®¢ ï áâப
|
||||
ld de,work_buffer+127;255 ; ªã¤
|
||||
call copy_string ; (hl) -> (de) ¤® ã«ï
|
||||
pop bc ; ¢®ááâ. ¡ « á á⥪
|
||||
jp run_dos_command ; ®âà ¡®â âì ¤®á-ª®¬ ¤ã
|
||||
104
MOD2/MKDIR.ASM
Executable file
@ -0,0 +1,104 @@
|
||||
;===========================================================
|
||||
;
|
||||
; <20>à®æ¥áá á®§¤ ¨ï ¯ ¯ª¨
|
||||
;
|
||||
;===========================================================
|
||||
make_folder:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
ld a,(format_mode) ; ⥪. ä®à¬ â ¯ ¥«¨
|
||||
and form_info+form_qview ; info, qview
|
||||
ret nz
|
||||
; ¢ë¢®¤ ç «ì®£® ®ª
|
||||
ld hl,dial_folder ; ®¯¨á â¥«ì ®ª
|
||||
call DialogW
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Ok"
|
||||
ret nz
|
||||
; ‘®§¤ ¨¥ ¯ ¯ª¨
|
||||
ld a,(input_line_makedir+4); ¤«¨ ¢¢¥¤. áâப¨
|
||||
or a
|
||||
ret z ; ¯ãáâ ï áâப
|
||||
;
|
||||
call set_path_from_activ_panel ; ãáâ. ¤¨áª ¨ ¯ãâì ªâ. ¯ ¥«¨
|
||||
ret c
|
||||
;
|
||||
; ¢ë¤¥«¨âì ¨¬ï ¯ ¯ª¨
|
||||
ld hl,input_line_makedir+5 ; ®âªã¤
|
||||
ld de,temp_fname ; ªã¤ (13 ¡ ©â)
|
||||
ld bc,0345h
|
||||
rst 10h
|
||||
push af
|
||||
push af
|
||||
or a
|
||||
bit 3,a ; 㪠§ ¤¨áª ?
|
||||
call nz,cut_disk ; ¢ë¤¥«¨âì ¨ ãáâ. ¤¨áª
|
||||
jr c,make_fold_err1
|
||||
pop af
|
||||
or a
|
||||
bit 2,a ; 㪠§ ¯ãâì ?
|
||||
call nz,cut_path ; ¢ë¤¥«¨âì ¨ ãáâ. ¯ãâì
|
||||
jr c,make_fold_err2
|
||||
pop af
|
||||
and 00001100b ; ¤¨áª ¨ ¯ãâì § ¤ ¢ «¨áì ?
|
||||
jr z,try_make_fold ; ¥â
|
||||
ld (fresh_two_panels_flag+1),a ; ãáâ. ä« £ ®¡®¢«. ¤¢ãå ¯ ¥«¥©
|
||||
jr try_make_folder
|
||||
;
|
||||
try_make_fold:
|
||||
; call set_path_from_activ_panel ; ¥â, ãáâ. ¤¨áª ¨ ¯ãâì ªâ. ¯ ¥«¨
|
||||
; ret c
|
||||
; á®§¤ âì ¯ ¯ªã
|
||||
try_make_folder:
|
||||
ld hl,temp_fname ; ¨¬ï ¯ ¯ª¨
|
||||
ld c,1Bh ; á®§¤ âì ¯ ¯ªã
|
||||
rst 10h
|
||||
jr c,make_fold_err
|
||||
; ®¡®¢¨âì ᯨ᮪ ¯ ¥«¥©
|
||||
fresh_two_panels: ;<- ®¡à 饨¥ ¨§ delete.asm
|
||||
; ªâ. ¯ ¥«ì
|
||||
call read_new_list ; § ¯®«¨âì ¡ ªã ®¢ë¬ ᯨ᪮¬ + à §¬¥à ä ©«®¢
|
||||
jr c,make_fold_err
|
||||
call sorting ; à §¤¥«ìë© á¯¨á®ª 㪠§ ⥫¥© + á®àâ. ᯨáª
|
||||
call A20FC ; ®¡®¢¨âì ¯ ¥«ì
|
||||
fresh_two_panels_flag:
|
||||
ld a,0 ; ¯à¨§ ª ®¡®¢«¥¨ï ¤¢ãå ¯ ¥«¥©
|
||||
or a
|
||||
jr nz,$+8
|
||||
; áà ¢¨âì ¯ã⨠¯ ¥«¥© (¯à¨ ᮢ¯ ¤. ®¡®¢¨âì ¢â®àãî)
|
||||
call compare_path_two_panels
|
||||
jp nz,show_pointer ; ¥ à ¢ë, ¯®ª § âì 㪠§ ⥫ì
|
||||
xor a
|
||||
ld (fresh_two_panels_flag+1),a ; á¡à. ä« £
|
||||
; ¯ áá. ¯ ¥«ì
|
||||
call change_panel
|
||||
call read_new_list ; § ¯®«¨âì ¡ ªã ®¢ë¬ ᯨ᪮¬ + à §¬¥à ä ©«®¢
|
||||
jr c,make_fold_err
|
||||
call sorting ; à §¤¥«ìë© á¯¨á®ª 㪠§ ⥫¥© + á®àâ. ᯨáª
|
||||
call A20FC
|
||||
call change_panel ; ᬥ¨âì ¯ ¥«ì
|
||||
jp show_pointer ; ¯®ª § âì 㪠§ ⥫ì
|
||||
|
||||
|
||||
make_fold_err1:
|
||||
pop af
|
||||
make_fold_err2:
|
||||
pop af
|
||||
; Žè¨¡ª
|
||||
make_fold_err:
|
||||
; æ¥â஢ª ¨¬¥¨ ¯ ¯ª¨
|
||||
ld hl,input_line_makedir+5 ; áâàãªâãà áâப¨ ~input line~
|
||||
ld de,create_name ; ªã¤
|
||||
call copy_dest_name ; ᪮¯¨à. ¯ãâì+¨¬ï ä ©« /¯ ¯ª¨
|
||||
; ¢ë¢®¤ ®ª ®è¨¡ª¨ á®§¤ ¨ï ¯ ¯ª¨
|
||||
ld hl,dial_error_make_folder
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Retry"
|
||||
jr z,try_make_folder
|
||||
ret
|
||||
362
MOD2/MOUSE.ASM
Executable file
@ -0,0 +1,362 @@
|
||||
;-------------------------------------------------
|
||||
; ˆ¨æ¨ «¨§ æ¨ï ¬ë誨 ¨ ¢ë¢®¤ ¥¥ íªà
|
||||
;-------------------------------------------------
|
||||
init_mouse:
|
||||
xor a
|
||||
rst 30h
|
||||
jr show_mouse
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚뢥á⨠ªãàá®à ¬ë誨
|
||||
;-------------------------------------------------
|
||||
show_mouse:
|
||||
ld a,1
|
||||
rst 30h
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘ªàëâì ªãàá®à ¬ë誨
|
||||
;-------------------------------------------------
|
||||
hide_mouse:
|
||||
ld a,2
|
||||
rst 30h
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20>®«ãç¨âì ®¢ãî ¨ä®à¬ æ¨î ® ¬ë誥
|
||||
;-------------------------------------------------
|
||||
get_mouse_info:
|
||||
ld a,3 ; ¯®«ãç¨âì ª®®à¤. ¬ë誨
|
||||
rst 30h
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; †¤¥¬, ¯®ª ¦ âë ¡ãâ®ë ¬ë誨
|
||||
;-------------------------------------------------
|
||||
get_fire:
|
||||
call get_mouse_info
|
||||
and 3
|
||||
jr nz,$-5 ; ¡ãâ®ë ¦ âë
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
; Ž¡à ¡®âª ¦ â¨ï ¡ãâ®®¢ ¬ë誨 ¯ ¥«ïå ¬¥¥¤¦¥à
|
||||
;
|
||||
; ¢å®¤: hl=Y/X ⥪áâ. ª®®à¤¨ âë ¬ë誨.
|
||||
; d=¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
;---------------------------------------------------------------------
|
||||
buttons_press:
|
||||
ld a,d
|
||||
ld (buttons_bits),a ; á®åà. ¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
ld a,h
|
||||
cp 27 ; ¨¦ïï £à ¨æ ᯨáª
|
||||
jp nc,event_keybar ; â¥áâ comline ¨ key-¡ à
|
||||
or a ; 0-ï áâப
|
||||
jp z,main_menu ; £®à¨§. Œ¥î
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
call mouse_set_active_panel ; ãáâ. ¬ë誮© ªâ. ¯ ¥«ì
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
and form_info+form_qview
|
||||
ret nz ; info, qviev
|
||||
ld a,h ; Y ª®®à¤¨ â ¬ë誨
|
||||
cp 2 ; ¢¥àåïï £à ¨æ ᯨáª
|
||||
jp c,event_title ; â¥áâ § £®«®¢®ª ¯ ¥«¨
|
||||
sub 2
|
||||
ld b,l ; á®åà. X ª®®à¤¨ âã
|
||||
ld l,a ; Y ª®®à¤¨ â ¬ë誨
|
||||
ld h,0
|
||||
;
|
||||
ld de,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||||
ld a,e
|
||||
or d
|
||||
jp z,get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
ld a,(cur_panel) ; ⥪. ªâ. ¯ ¥«ì
|
||||
ld c,a ; 0=«¥¢ ï, 80h=¯à ¢ ï
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
bit 0,a ; full, full-ᯥª
|
||||
jr nz,event_set__ ; ¨ç¥£® ¥ ¬¥ïâì
|
||||
push de
|
||||
call event_calc_pointer ; ¢ëç¨á«¨âì ¯®«®¦. 㪠§ ⥫ï
|
||||
pop de
|
||||
event_set__:
|
||||
; hl=¯®«®¦. 㪠§ â¥«ï ¯® ª®®à¤. ¬ë誨
|
||||
; de=all_files
|
||||
call cmphlde ; áà ¢¨âì hl á de
|
||||
jr nc,event_set_end ; 㪠§ â¥«ì ¢ ª®¥æ ᯨáª
|
||||
; ¬ëèª ¢ ¯à¥¤¥« å ᯨ᪠(¥ ¢ ¯ãá⮬ ¬¥á⥠ª®«®ª¨)
|
||||
call A0E12_ ; ®¡®¢¨âì ¯®«®¦. 㪠§ ⥫ï
|
||||
ld a,(buttons_bits) ; ¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
bit 1,a ; «¥¢ë© ?
|
||||
jr nz,button_left ; ¤
|
||||
; ¯®áâ ¢¨âì/áïâì ¢ë¤¥«¥¨¥ ä ©«
|
||||
call A0E13
|
||||
jp get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
;
|
||||
; 㪠§ â¥«ì ¢ ª®¥æ ᯨáª
|
||||
event_set_end:
|
||||
dec de
|
||||
ex de,hl ; hl = all_files-1
|
||||
call A0E12_ ; ®¡®¢¨âì ¯®«®¦. 㪠§ ⥫ï
|
||||
jp get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
;
|
||||
button_left:
|
||||
call get_fire
|
||||
ei
|
||||
ld b,9 ; ®¦¨¤ ¨¥
|
||||
push bc
|
||||
call get_mouse_info ; ç⥨¥ á®áâ®ï¨ï ¬ë誨
|
||||
pop bc
|
||||
jr nz,double_press ; ª®¯ª¨ ¦ âë
|
||||
halt
|
||||
djnz $-8
|
||||
ret
|
||||
; ¤¢®©®© ª«¨ª
|
||||
double_press:
|
||||
xor a
|
||||
ld (MSbutt),a ; á¡à. áâ âãá ¡ãâ®®¢
|
||||
jp Press_Enter ; enter.asm
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‚ëç¨á«¥¨¥ ¯®«®¦¥¨ï 㪠§ â¥«ï ¯® ª®®à¤¨ â ¬ ¬ë誨
|
||||
; ¤«ï "ªà ⪮£®" ¨ "á।¥£®" ä®à¬ ⮢ ¯ ¥«¥©.
|
||||
;
|
||||
; ¢å®¤: a=ä®à¬ â ¯ ¥«¨
|
||||
; hl=Y ª®®à¤¨ â ¬ë誨
|
||||
; b=X ª®®à¤¨ â ¬ë誨
|
||||
; c=⥪. ªâ. ¯ ¥«ì (0=«¥¢ ï, 80h=¯à ¢ ï)
|
||||
; ¢ë室: hl=¯®«®¦. 㪠§ ⥫ï
|
||||
;-----------------------------------------------------------
|
||||
event_calc_pointer:
|
||||
ld de,files_per_colon ; 25 ä ©«®¢ ª®«®ªã
|
||||
and form_brief
|
||||
ld a,b ; X ª®®à¤¨ â
|
||||
jr z,event_medium__
|
||||
; "ªà ⪨©" ä®à¬ â
|
||||
dec c ; ªâ. «¥¢ ï ¯ ¥«ì ?
|
||||
inc c
|
||||
; «¥¢ ï ¯ ¥«ì
|
||||
ld c,14 ; ç «® á।¥© ª®«®ª¨
|
||||
ld b,27 ; ç «® ¯à ¢®© ª®«®ª¨
|
||||
jr z,event_calc__ ; ¤ , «¥¢ ï
|
||||
; ¯à ¢ ï ¯ ¥«ì
|
||||
ld c,54 ; ç «® á।¥© ª®«®ª¨
|
||||
ld b,67 ; ç «® ¯à ¢®© ª®«®ª¨
|
||||
event_calc__:
|
||||
cp c ; ç «® á।¥© ª®«®ª¨
|
||||
ret c
|
||||
add hl,de ; ª®®à¤.¬ë誨 + ä ©«®¢ ª®«®ªã
|
||||
event_calc1__:
|
||||
cp b ; ç «® ¯à ¢®© ª®«®ª¨
|
||||
ret c
|
||||
add hl,de
|
||||
ret
|
||||
;
|
||||
; "á।¨©" ä®à¬ â
|
||||
event_medium__:
|
||||
dec c ; ªâ. «¥¢ ï ¯ ¥«ì ?
|
||||
inc c
|
||||
; «¥¢ ï ¯ ¥«ì
|
||||
ld b,20 ; ç «® á।¥© ª®«®ª¨
|
||||
jr z,event_calc1__ ; ¤ , «¥¢ ï
|
||||
; ¯à ¢ ï ¯ ¥«ì
|
||||
ld b,60 ; ç «® á।¥© ª®«®ª¨
|
||||
jr event_calc1__
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; “áâ ®¢ª ¬ë誮© ªâ¨¢®© ¯ ¥«¨
|
||||
;
|
||||
; ¢å®¤: hl=Y/X ª®®à¤¨ âë
|
||||
; ¢ë室: h=Y ª®à४â. ª®®à¤¨ â
|
||||
;-----------------------------------------------------------
|
||||
mouse_set_active_panel:
|
||||
ld a,(cur_panel) ; 0=«¥¢ ï, 80h=¯à ¢ ï
|
||||
or a
|
||||
ld a,l
|
||||
jr nz,mouse_set__ ; ªâ. ¯à ¢ ï
|
||||
cp 40 ; ç «® ¯à ¢®© ¯ ¥«¨
|
||||
call nc,mouse_set_panel ; ãáâ. ªâ. ¯ ¥«ì
|
||||
ret
|
||||
mouse_set__:
|
||||
cp 40 ; ç «® ¯à ¢®© ¯ ¥«¨
|
||||
call c,mouse_set_panel ; ãáâ. ªâ. ¯ ¥«ì
|
||||
ret
|
||||
;
|
||||
mouse_set_panel:
|
||||
push hl ; á®åà. ª®®à¤¨ âë ¬ë誨
|
||||
ld hl,D48B1 ; ä« £ ¨¢¥àᨨ
|
||||
ld (hl),false ; á¡à. ¨¢¥àá¨î path-áâப¨
|
||||
push hl
|
||||
call clear_pointer ; ã¡à âì 㪠§ ⥫ì
|
||||
call prn_up_path ; ¢ë¢®¤ ¯ã⨠⥪. ¯ ¥«¨ ¡¥§ ¨¢¥àᨨ
|
||||
call change_panel ; ᬥ¨âì ªâ. ¯ ¥«ì
|
||||
pop hl
|
||||
ld (hl),true ; ¨¢¥àá¨ï path-áâப¨
|
||||
call prn_up_path ; ¢ë¢®¤ ¯ã⨠⥪. ¯ ¥«¨ á ¨¢¥àᨥ©
|
||||
call print_compath ; ¢ë¢®¤ ¯ã⨠¢ ª®¬-áâப¥
|
||||
pop hl
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Ž¡à ¡®âª ¬ë誨 â¨â«¥ ¯ ¥«¨
|
||||
;
|
||||
; ¢å®¤: hl=Y/X ⥪áâ. ª®®à¤¨ âë ¬ë誨
|
||||
;-----------------------------------------------------------
|
||||
event_title:
|
||||
ld a,(buttons_bits) ; ¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
bit 0,a ; ¯à ¢ë© ¡ãâ® ?
|
||||
jr nz,event_title_right ; ¤
|
||||
ld a,l ; X ª®®à¤¨ â
|
||||
cp 1 ; ¡ãª¢ á®àâ¨à®¢ª¨
|
||||
jp z,select_left_drive ; ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
cp 41 ; ¡ãª¢ á®àâ¨à®¢ª¨
|
||||
jp z,select_right_drive ; ¬¥î ¢ë¡®à ¤¨áª®¢
|
||||
cp 2 ; «¥¢®© ¯ ¥«¨
|
||||
jr z,event_title_sort
|
||||
cp 42 ; ¯à ¢®© ¯ ¥«¨
|
||||
jr z,event_title_sort
|
||||
; “ª § ⥫ì áâப㠢¢¥àå
|
||||
call up ; 㪠§ ⥫ì áâப㠢¢¥àå
|
||||
jr event_title_wait ; § ¤¥à¦ª ¯¥à¥¬¥é. 㪠§ ⥫ï
|
||||
;
|
||||
; ‹¨áâ ¨¥ áâà ¨æ¥©
|
||||
event_title_right:
|
||||
call page_up ; PageUp
|
||||
call get_fire
|
||||
jr event_title_wait
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; <20> áâப㠢¨§, ¥á«¨ ¬ëèª 27-© áâப¥
|
||||
;-----------------------------------------------------------
|
||||
event_footerline:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
push bc
|
||||
call mouse_set_active_panel ; ãáâ. ¬ë誮© ªâ. ¯ ¥«ì
|
||||
pop bc
|
||||
bit 0,c ; ¯à ¢ë© ¡ãâ® ?
|
||||
jr nz,event_foot_right ; ¤
|
||||
; “ª § ⥫ì áâப㠢¨§
|
||||
call down
|
||||
event_title_wait:
|
||||
call show_pointer ; ¢ë¢¥á⨠㪠§ ⥫ì (ª®£¤ ¥ ¢ë¢®¤ïâ up/down)
|
||||
ei
|
||||
halt
|
||||
halt
|
||||
halt
|
||||
ret
|
||||
;
|
||||
; ‹¨áâ ¨¥ áâà ¨æ¥©
|
||||
event_foot_right:
|
||||
call page_down ; PageDown
|
||||
call get_fire
|
||||
jr event_title_wait
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Ž¡à ¡®âª ᨬ¢®« "áâ५ª " á®àâ¨à®¢ª¨ ¯ ¥«¥©
|
||||
;-----------------------------------------------------------
|
||||
event_title_sort:
|
||||
ld hl,sort_type
|
||||
ld c,(hl) ; n/x/.. ¡ãª¢ á®àâ¨à®¢ª¨
|
||||
ld a,"u"
|
||||
cp c ; unsort ?
|
||||
call nz,sorting_list ; ®¡®¢¨âì ¯ ¥«ì á ®¢®© á®àâ¨à®¢ª®©
|
||||
call show_pointer ; ¢ë¢¥á⨠㪠§ ⥫ì
|
||||
jp get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
; Ž¡à ¡®âª ¬ë誨 key-¡ à¥
|
||||
;
|
||||
; ¢å®¤: hl=Y/X ⥪áâ. ª®®à¤¨ âë ¬ë誨
|
||||
;---------------------------------------------------------------------
|
||||
event_keybar:
|
||||
db 3Eh ; ld a,..
|
||||
buttons_bits:
|
||||
db 0 ; ¡¨âë ¦ â¨ï ¡ãâ®®¢
|
||||
ld c,a
|
||||
ld a,h
|
||||
cp 27 ; Y ª®®à¤¨ â
|
||||
jr z,event_footerline
|
||||
bit 0,c ; ¯à ¢ë© ¡ãâ® ?
|
||||
ret nz ; ¤
|
||||
ld a,h
|
||||
cp 31 ; Y ª®®à¤¨ â
|
||||
jp nz,event_comline ; â¥áâ ª®¬. áâபã
|
||||
ld a,l ; X ª®®à¤¨ â
|
||||
push af
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï"
|
||||
pop af
|
||||
cp 8
|
||||
ret c; ; F1 ¯ãªâ
|
||||
cp 16
|
||||
jp c,user_menu ; F2 ¯ãªâ
|
||||
cp 24
|
||||
jp c,file_viewer ; F3 ¯ãªâ
|
||||
cp 32
|
||||
ret c; ; F4 ¯ãªâ
|
||||
cp 40
|
||||
jp c,copy ; F5 ¯ãªâ
|
||||
cp 48
|
||||
jp c,rename ; F6 ¯ãªâ
|
||||
cp 56
|
||||
jp c,make_folder ; F7 ¯ãªâ
|
||||
cp 64
|
||||
jp c,delete ; F8 ¯ãªâ
|
||||
cp 72
|
||||
jp nc,quit ; F10 ¯ãªâ
|
||||
; F9 ¯ãªâ
|
||||
jp main_menu
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
; Ž¡à ¡®âª ¬ë誨 ª®¬ ¤®© áâப¥
|
||||
;---------------------------------------------------------------------
|
||||
event_comline:
|
||||
cp 30 ; Y ¯®«®¦. ª®¬-áâப¨
|
||||
ret nz
|
||||
ld a,(EvComMouse1+1) ; X ç «® ¯®«ï ¢¢®¤ ª®¬-áâப¨
|
||||
ld h,a
|
||||
push hl ; l=X ª®®à¤¨ â
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï"
|
||||
pop hl
|
||||
ld a,l
|
||||
sub h
|
||||
ret c ; ¬ëèª «¥¢¥¥ áâப¨ ¢¢®¤
|
||||
ld de,(YXpos+1) ; ç «® ¯®«ï ¢¢®¤ ª®¬-áâப¨
|
||||
ld (CursorPos),de
|
||||
ld iy,ComLineBuff ; áâàãªâãà ¡ãä¥à ª®¬-áâப¨
|
||||
jp enter_to_comline
|
||||
100
MOD2/POS.ASM
Executable file
@ -0,0 +1,100 @@
|
||||
old1: dw 0 ; ¯®«®¦. 㪠§ ⥫ï
|
||||
old2: dw 0 ; ᬥé. ᯨáª
|
||||
old3: dw 0 ; ç¨á«® § ¯¨á¥©
|
||||
; ä« £ ᬥë ⥪. ¤¨áª ¨«¨ ¯ãâ¨
|
||||
change: db false ; 01/00 ¬¥ï«áï/¥â
|
||||
|
||||
|
||||
|
||||
|
||||
; ‘®åà ¨âì ¯®«®¦. 㪠§ â¥«ï ¨ ᯨáª
|
||||
save_pos_list:
|
||||
ld hl,(cur_pointer) ; áâ ஥ ¯®«®¦. 㪠§ ⥫ï
|
||||
ld (old1),hl
|
||||
ld hl,(offset_list) ; áâ ஥ ᬥé. ᯨáª
|
||||
ld (old2),hl
|
||||
ld hl,(all_files) ; áâ ஥ ç¨á«® § ¯¨á¥©
|
||||
ld (old3),hl
|
||||
ret
|
||||
|
||||
|
||||
; “áâ ®¢¨âì ¯®«®¦. 㪠§ â¥«ï ¨ ᯨáª
|
||||
; ¯®á«¥ ®¢®£® ç⥨ï ᯨ᪠.
|
||||
set_newpos_list:
|
||||
ld a,(change) ; ä« £ ᬥë ⥪. ¤¨áª ¨«¨ ¯ãâ¨
|
||||
or a
|
||||
jr nz,set_zero_pos ; ¬¥ï«áï, á¡à. ¯®«®¦. 㪠§ ⥫ï
|
||||
ld de,(all_files) ; ®¢®¥ ç¨á«® § ¯¨á¥©
|
||||
ld hl,(old3) ; ¯à¥¦¥¥ ç¨á«® § ¯¨á¥©
|
||||
and a
|
||||
sbc hl,de ; ç¨á«® § ¯¨á¥© ¨§¬¥¨«®áì ?
|
||||
jr nz,set_new_pos ; ¤
|
||||
set_old_pos:
|
||||
ld hl,(old1) ; ¯à¥¦¥¥ ¯®«®¦. 㪠§ ⥫ï
|
||||
ld (cur_pointer),hl
|
||||
ld hl,(old2) ; ¯à¥¦¥¥ ᬥé. ᯨáª
|
||||
ld (offset_list),hl
|
||||
ret
|
||||
set_new_pos:
|
||||
ld hl,(old1) ; ¯à¥¦¥¥ ¯®«®¦. 㪠§ ⥫ï
|
||||
ld bc,(old2) ; ¯à¥¦¥¥ ᬥé. ᯨáª
|
||||
add hl,bc
|
||||
and a
|
||||
sbc hl,de
|
||||
jr c,set_old_pos
|
||||
; ¯à¥¦¥¥ ¯®«®¦. 㪠§ ⥫ï > ®¢®£® ç¨á« § ¯¨á¥©
|
||||
jr set_to_end_list ; ¢ ª®¥æ ᯨáª
|
||||
|
||||
; á¡à®á¨âì ¯®«®¦. 㪠§ â¥«ï ¨ ᯨáª
|
||||
; ¤¨áª ¨«¨ ¯ãâì ¬¥ï«áï.
|
||||
set_zero_pos:
|
||||
xor a
|
||||
ld l,a
|
||||
ld h,a
|
||||
ld (change),a ; á¡à. ä« £ ᬥë ⥪. ¤¨áª ¨«¨ ¯ãâ¨
|
||||
ld (offset_list),hl ; ᬥé. ᯨáª
|
||||
set_zr: ld (cur_pointer),hl ; ⥪. ¯®«®¦. 㪠§ ⥫ï
|
||||
ret
|
||||
|
||||
; ãáâ. 㪠§ â¥«ì ª®¥æ ᯨáª
|
||||
set_to_end_list:
|
||||
ld bc,(all_files) ; ç¨á«® § ¯¨á¥©
|
||||
ld hl,(cur_pointer)
|
||||
ld de,(offset_list) ; ᬥé. ᯨáª
|
||||
add hl,de
|
||||
inc hl
|
||||
ld a,l
|
||||
sub c
|
||||
ld a,h
|
||||
sbc a,b
|
||||
ret z ; 㪠§ â¥«ì ¢ ª®æ¥ ᯨáª
|
||||
ld de,(_0D01+1) ; à §¬¥à áâà ¨æë - 1
|
||||
ld l,c ; hl=all_files
|
||||
ld h,b
|
||||
call cmphlde
|
||||
jr nc,set_end_lst2
|
||||
; ç¨á«® ä ©«®¢ ¬¥ìè¥ á¯¨áª ¯ ¥«¨
|
||||
set_end_lst1:
|
||||
dec hl
|
||||
jr set_zr ; ãáâ. ⥪. ¯®«®¦. 㪠§ ⥫ï
|
||||
;
|
||||
set_end_lst2:
|
||||
ld bc,-1 ; áç¥â稪
|
||||
dec hl ; --all_files
|
||||
inc bc
|
||||
call cmphlde ; hl ¨ "à §¬¥à áâà ¨æë - 1"
|
||||
jr nc,$-5
|
||||
ld hl,(offset_list) ; ᬥé. ᯨáª
|
||||
and a
|
||||
sbc hl,bc
|
||||
jr c,set_end_lst3
|
||||
; 㪠§ â¥«ì ¢ ¯à¥¤¥« å ¯®á«¥¤. áâà ¨æë ᯨáª
|
||||
ex de,hl
|
||||
jr set_end_lst1
|
||||
;
|
||||
set_end_lst3:
|
||||
dec bc
|
||||
ld (offset_list),bc
|
||||
inc de
|
||||
ld (cur_pointer),de
|
||||
ret
|
||||
487
MOD2/QVIEW.ASM
Executable file
@ -0,0 +1,487 @@
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
; ‚뢮¤ ¤ ëå ªâ. ¯ ¥«¨ -> ¢ ¯ áá. ¯ ¥«ì (¢ë§ë¢ ¥âáï ¨§ ä ©«¥à )
|
||||
; <âਣ£¥à ï ä¨âç >
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
alt_qview_panel:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z ; ¢ëª«.
|
||||
; â¥áâ «¨ç¨ï qview-ä®à¬ â ªâ. ¯ ¥«¨
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
and form_qview
|
||||
jr nz,set_norm_actpanel ; ¢ë¢¥á⨠®à¬. ªâ¨¢ãî ¯ ¥«ì
|
||||
ld hl,qview1_ ; âਣ£¥à ¯ áá. ¯ ¥«¨
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr nz,set_norm_noactpanel ; ¢ë¢¥á⨠®à¬. ¯ áᨢãî ¯ ¥«ì
|
||||
jr set_qview_noactpanel ; qview-¯ ¥«ì ¢ ¯ áá. ¯ ¥«¨ ( ªâ. ¤ ë¥)
|
||||
|
||||
|
||||
|
||||
;--------------------------------------------------
|
||||
; ‚뢥á⨠®à¬ «ì®© ªâ. ¯ ¥«ì
|
||||
;--------------------------------------------------
|
||||
set_norm_actpanel:
|
||||
ld hl,qview_ ; âਣ£¥à ªâ. ¯ ¥«¨
|
||||
ld (hl),0 ; á¡à. âਣ£¥à
|
||||
inc hl
|
||||
ld a,(hl) ; ï祩ª form_under_qview
|
||||
ld (format_mode),a ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
jp A20FC ; ¢ë¢¥á⨠¯ ¥«ì
|
||||
|
||||
;--------------------------------------------------
|
||||
; ‚뢥á⨠®à¬ «ì®© ¯ áá. ¯ ¥«ì
|
||||
;--------------------------------------------------
|
||||
set_norm_noactpanel:
|
||||
call change_panel
|
||||
call set_norm_actpanel
|
||||
jp change_panel
|
||||
|
||||
|
||||
|
||||
;----------------------------------------------------
|
||||
; ‚뢥á⨠qview-¯ ¥«ì ¢ ªâ. ¯ ¥«¨ (¯ áá. ¤ ë¥)
|
||||
; (¢ë§ë¢ ¥âáï ¨§ Œ¥î)
|
||||
;----------------------------------------------------
|
||||
set_qview_actpanel:
|
||||
; § ¯®«¨âì ¤ 묨 â¨â«-®¯¨á ⥫ì + ãáâ. ¥£® ⨯
|
||||
call change_panel
|
||||
call get_qview_data ; ¯ áá. ¤ ë¥
|
||||
; push af
|
||||
call change_panel
|
||||
jr set_qview_actpanel1
|
||||
; pop af
|
||||
; ret nc ; ¯ ¯ª
|
||||
; ¢ë¢®¤ ᮤ¥à¦. ä ©«
|
||||
; call draw_half_frame ; ®ç¨áâ¨âì ¯ ¥«ì
|
||||
;set_qview_file:
|
||||
; ld hl,up_info ; ®¯¨á ⥫ì "ÉÍÍÍÍÍÍÍÍÍÍ»"
|
||||
; call draw_text
|
||||
; ld hl,title_qview ; ®¯¨á â¥«ì ®¤®£® â¨â«
|
||||
; call draw_text
|
||||
; db 3Eh;-
|
||||
;set_qview_fl:
|
||||
; db false ; ä« £
|
||||
; or a
|
||||
; ld a,0
|
||||
; ld (set_qview_fl),a ; á¡à. ä« £
|
||||
; jr nz,$+11;-
|
||||
; call change_panel
|
||||
; call alt_file_viewer ; ¢ë¢¥á⨠ᮤ¥à¦. ä ©«
|
||||
; call change_panel
|
||||
; scf
|
||||
; ret
|
||||
|
||||
; áâà. ä®à¬ â
|
||||
set_qview_actpanel1:
|
||||
call dinqview_res_flag ; "dinamqview" 㦥 ®âà ¡®â «
|
||||
ld de,format_mode ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
ld a,(de)
|
||||
bit 4,a ; qview
|
||||
ret nz ; ¥ ®âà ¡. ¯®¢â®à®
|
||||
bit 3,a ; info
|
||||
jr z,$+5
|
||||
ld a,(form_under_info) ; ä®à¬ â ¯®¤ info-¯ ¥«ìî
|
||||
ld hl,qview_ ; âਣ£¥à ªâ. ¯ ¥«¨
|
||||
ld (hl),1 ; ãáâ. âਣ£¥à
|
||||
inc hl
|
||||
ld (hl),a ; form_under_qview
|
||||
and form_trd ; ãç¥áâì 6-© ¡¨â ᯥª-ä®à¬ â
|
||||
or form_qview
|
||||
ld (de),a ; ãáâ. qview-ä®à¬ â
|
||||
xor a
|
||||
ld (info_),a ; á¡à. info-âਣ£¥à
|
||||
ret
|
||||
|
||||
|
||||
;----------------------------------------------------
|
||||
; ‚뢥á⨠qview-¯ ¥«ì ¢ ¯ áá. ¯ ¥«¨ ( ªâ. ¤ ë¥)
|
||||
;----------------------------------------------------
|
||||
set_qview_noactpanel:
|
||||
; § ¯®«¨âì ¤ 묨 â¨â«-®¯¨á ⥫ì + ãáâ. ¥£® ⨯
|
||||
call get_qview_data
|
||||
; push af
|
||||
xor a
|
||||
ld (D48B1),a ; á¡à. ¨¢¥àá¨î â¨â«
|
||||
call change_panel
|
||||
call set_qview_actpanel1 ; áâà. ä®à¬ â
|
||||
call draw_half_frame ; ®ç¨áâ¨âì ¯ ¥«ì
|
||||
; pop af
|
||||
; jr c,set_qview_noactp2 ; ä ©«
|
||||
call prn_up_path ; ¢ë¢¥á⨠§ ¯®«. ®¯¨á â¥«ì ¯ ¯ª¨
|
||||
;set_qview_noactp1:
|
||||
call change_panel
|
||||
ld a,true
|
||||
ld (D48B1),a ; ãáâ. ¨¢¥àá¨î â¨â«
|
||||
ret
|
||||
|
||||
; áâநâì æ¢¥â qview-â¨â«
|
||||
;set_qview_noactp2:
|
||||
; ld a,(D48B1) ; ä« £ ¨¢¥àᨨ path-áâப¨ ªâ. ¯ ¥«¨
|
||||
; or a
|
||||
; ld a,(color_array+4) ; 30h 梥â "Selected title"
|
||||
; jr nz,$+5
|
||||
; ld a,(color_array+2) ; 1Bh 梥â "Normal text"
|
||||
; ld (qview_color1__),a ; 梥â
|
||||
; call set_qview_file
|
||||
; jr set_qview_noactp1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
type_title_qview:
|
||||
db 0 ; ä« £ 00/01 - ¯ ¯ª /ä ©«
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‡ ¯®«¨âì â¨â«-®¯¨á â¥«ì ¤ 묨 ¤¨áª ªâ. ¯ ¥«¨
|
||||
; ¨ ãáâ ®¢¨âì ⨯ ¢ë¢®¤¨¬®£® â¨â« -®¯¨á ⥫ï.
|
||||
;-----------------------------------------------------------
|
||||
get_qview_data:
|
||||
; ¢áâ ¢¨âì ¨¬ï ⥪. ¯ ¯ª¨ ¨«¨ ¯ãâì + ᪠¨à®¢ ¨¥
|
||||
call print_qview_name
|
||||
ret c ; 㪠§ ⥫ì ä ©«¥
|
||||
; ç¨á«® ¯ ¯®ª
|
||||
exx
|
||||
ld hl,0 ; áâ.à §àï¤
|
||||
exx
|
||||
ld hl,(count_dirs) ; ç¨á«® ¯ ¯®ª
|
||||
ld iy,tmp2__
|
||||
res 7,(iy+0)
|
||||
ld ix,qview_total_folders ; "00,000"
|
||||
call decimal16
|
||||
; ç¨á«® ä ©«®¢
|
||||
exx
|
||||
ld hl,0 ; áâ.à §àï¤
|
||||
exx
|
||||
ld hl,(count_files) ; ç¨á«® ä ©«®¢ ¢ ¯ ¯ª¥
|
||||
ld iy,tmp2__
|
||||
res 7,(iy+0)
|
||||
ld ix,qview_total_files ; "00,000"
|
||||
call decimal16
|
||||
; ®¡é. à §¬¥à ä ©«®¢
|
||||
exx
|
||||
ld hl,(size_files+2) ; áâ.à §àï¤
|
||||
exx
|
||||
ld hl,(size_files) ; ¬«.à §àï¤
|
||||
ld ix,qview_total_bytes ; "0,000,000,000"
|
||||
jp decimal32
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
qview_max_name equ 29 ; ¬ ªá. ¤«¨ áâப¨ ¯ã⨠¤«ï ".."
|
||||
|
||||
;------------------------------------------------------------------------
|
||||
; ‚뢮¤ ¨¬¥¨ ¯ ¯ª¨ (¨«¨ ¯ã⨠".." ¯ ¯ª¨) ¨ ¢ëç¨á«¥¨¥ ¥¥ ¯ à ¬¥â஢.
|
||||
; …᫨ 㪠§ ⥫ì ".." ¯ ¯ª¥, â® ¢ëç¨á«ïîâáï ¥¥ ¯ à ¬¥âàë.
|
||||
; …᫨ 㪠§ â¥«ì ¨¬¥¨ ä ©« , â® ¢ë©â¨.
|
||||
;
|
||||
; ¢ë室: CF - 㪠§ ⥫ì ä ©«¥
|
||||
;------------------------------------------------------------------------
|
||||
print_qview_name:
|
||||
; ®ç¨áâ¨âì ¯à¥¦¥¥ ¨¬ï ¯ ¯ª¨
|
||||
ld hl,qview_name_folder ; ¡ãä¥à ¨¬¥¨
|
||||
ld b,qview_max_name ; 29 áç¥â稪
|
||||
ld a," "
|
||||
ld (hl),a
|
||||
inc hl
|
||||
djnz $-2
|
||||
;
|
||||
call get_record
|
||||
ld a,(de) ;+11 âਡãâ ä ©«
|
||||
and 10h ; ¯ ¯ª ?
|
||||
ld a,true ; ä ©«
|
||||
ld (type_title_qview),a ; ä« £ ⨯ qview-®¯¨á ⥫ï
|
||||
scf
|
||||
ret z
|
||||
xor a ; ¯ ¯ª
|
||||
ld (type_title_qview),a ; ä« £ ⨯ qview-®¯¨á ⥫ï
|
||||
call qview_scan_folder ; ¢ëç¨á«¨âì à §¬¥à ¯ ¯ª¨
|
||||
ld a,(hl) ; ç «® ¨¬¥¨ ¯ ¯ª¨
|
||||
cp "."
|
||||
jr z,qview_parent_name ; ".." ¯ ¯ª
|
||||
ld ix,qview_name_folder ; ¡ãä¥à ¨¬¥¨
|
||||
jp dir_name ; ¢áâ ¢¨âì ¨¬ï ¯ ¯ª¨
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‚áâ ¢¨âì ¯ãâì ¤«ï ".." ¯ ¯ª¨. „«¨ë© ¯ãâì ®¡à¥§ ¥âáï
|
||||
; ;¢å®¤: de=ªã¤ ª®¯¨à®¢ âì
|
||||
;-----------------------------------------------------------
|
||||
qview_parent_name:
|
||||
ld de,qview_name_folder ; ªã¤
|
||||
ld hl,(__path) ; ®¯¨á â¥«ï ¯ã⨠ªâ. ¯ ¥«¨
|
||||
ld a,(hl) ; ¤«¨ áâப¨
|
||||
sub 2 ; ¬¨ãá ¯à®¡¥«ë ç « -ª®æ áâப¨
|
||||
ld bc,5 ; ᬥé. ¤® ¡ãª¢ë ¤¨áª
|
||||
add hl,bc ; hl= ç «® ¡ãª¢ë ¤¨áª áâப¨
|
||||
ld bc,qview_max_name ; 29 ¬ ªá. ¤«¨ ¯ãâ¨
|
||||
cp qview_max_name+1
|
||||
jr c,qview_parent_loop
|
||||
; ®¡à¥§ âì ¤«¨ãî áâபã
|
||||
ldi ; ᪮¯¨à®¢ âì "X:\"
|
||||
ldi
|
||||
ldi
|
||||
sub (qview_max_name-5)+3 ; ¤«¨ ®áâ ⪠¯ã⨠+ ¤«¨ "X:\"
|
||||
ld c,a
|
||||
add hl,bc ; ç «® ¬ ªá. ¤«¨®© áâப¨
|
||||
ld a,"." ; ..
|
||||
ld (de),a
|
||||
inc de
|
||||
ld (de),a
|
||||
inc de
|
||||
ld bc,qview_max_name-5 ; ¬¨ãá ¤«¨ã áâப¨ "X:\.."
|
||||
qview_parent_loop:
|
||||
ld a,(hl)
|
||||
ldi
|
||||
ret po ; ¢¥áì ¯ãâì ᪮¯¨à®¢
|
||||
or a
|
||||
jr nz,qview_parent_loop
|
||||
push de
|
||||
pop ix ; ¡ãä¥à
|
||||
ld b,c
|
||||
jp spaces ; ¤®¯¨á âì 墮áâ®¢ë¥ ¯à®¡¥«ë
|
||||
|
||||
|
||||
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
; ‚뢮¤ 32-å ¡¨âëå ç¨á¥« ¢ ¡ãä¥à, ¢ ¤¥áïâ¨ç®¬ ä®à¬ ⥠á
|
||||
; à §¤¥«¥¨¥¬ à §à冷¢ § ¯ï⮩ ¨ ¢¥¤ã騬¨ ¯à®¡¥« ¬¨
|
||||
;---------------------------------------------------------------------
|
||||
; in: hl' = áâ. à §àï¤
|
||||
; hl = ¬«. à §àï¤
|
||||
; ix = ¡ãä¥à
|
||||
;---------------------------------------------------------------------
|
||||
decimal32:
|
||||
ld de,0CA00h
|
||||
exx
|
||||
ld de,3B9Ah ; 1.000.000.000
|
||||
exx
|
||||
ld iy,tmp2__
|
||||
res 7,(iy+0)
|
||||
call GetN32
|
||||
call print_comma1
|
||||
ld de,0E100h
|
||||
exx
|
||||
ld de,05F5h ; 100.000.000
|
||||
exx
|
||||
call GetN32
|
||||
ld de,9680h
|
||||
exx
|
||||
ld de,98h ; 10.000.000
|
||||
exx
|
||||
call GetN32
|
||||
decimal24:
|
||||
ld de,4240h
|
||||
exx
|
||||
ld de,0Fh ; 1.000.000
|
||||
exx
|
||||
call GetN32
|
||||
call print_comma1
|
||||
ld de,86A0h
|
||||
exx
|
||||
ld de,1 ; 100.000
|
||||
exx
|
||||
call GetN32
|
||||
decimal16:
|
||||
ld de,10000
|
||||
exx
|
||||
ld de,0 ; 10.000
|
||||
exx
|
||||
call GetN32
|
||||
ld de,1000 ; 1.000
|
||||
call GetN16
|
||||
call print_comma1
|
||||
ld de,100 ; 100
|
||||
call GetN16
|
||||
ld de,10 ; 10
|
||||
call GetN16
|
||||
ld a,l
|
||||
add a,"0"
|
||||
jr GetN163
|
||||
|
||||
tmp2__: db 0
|
||||
|
||||
GetN32: ld a,2Fh
|
||||
and a
|
||||
GetN321:inc a
|
||||
sbc hl,de
|
||||
exx
|
||||
sbc hl,de
|
||||
exx
|
||||
jp nc,GetN321
|
||||
add hl,de
|
||||
exx
|
||||
adc hl,de
|
||||
exx
|
||||
jr GetN160
|
||||
;
|
||||
GetN16: ld a,2Fh
|
||||
and a
|
||||
GetN161:inc a
|
||||
sbc hl,de
|
||||
jp nc,GetN161
|
||||
add hl,de
|
||||
GetN160:cp "0"
|
||||
jr z,GetN162
|
||||
set 7,(iy+0)
|
||||
GetN162:bit 7,(iy+0)
|
||||
jr nz,GetN163
|
||||
ld a," " ; ¢¥¤ã騩 ¯à®¡¥«
|
||||
GetN163:ld (ix+0),a ; á®åà. ¢ ¡ãä¥à¥
|
||||
inc ix
|
||||
ret
|
||||
|
||||
; à §¤¥«¨â¥«ì à §à冷¢
|
||||
print_comma1:
|
||||
ld a,","
|
||||
jr nz,prn_com__
|
||||
ld a," "
|
||||
prn_com__:
|
||||
ld (ix+0),a
|
||||
inc ix
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; „¨ ¬¨ç¥áª¨© ¢ë¢®¤ ªâ. ¯ ¥«¨ ¢ ¯ áᨢ®©
|
||||
; ¢ë室: NZ - ᬥ¨âì á®áâ. key-¡ à
|
||||
;-----------------------------------------------------------
|
||||
dinam_qview_panel:
|
||||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z ; ¢ëª«.
|
||||
ld a,(format_mode1) ; ä®à¬ â ¯ áá. ¯ ¥«¨
|
||||
and form_qview
|
||||
ret z ; ०¨¬ ¢ëª«.
|
||||
; § ¤¥à¦ª ¯¥à¥¤ ®âà ¡®âª®©
|
||||
ld b,60 ; 0,6 ᥪ.
|
||||
dinqview_loop:
|
||||
push bc
|
||||
call get_mouse_info ; ç⥨¥ á®áâ®ï¨ï ¬ë誨
|
||||
pop bc
|
||||
jr z,dinqview_next ; ª®¯ª¨ ¥ ¦ âë
|
||||
ld a,h
|
||||
cp 28 ; Y ª®®à¤. ¬ë誨
|
||||
jr nc,dinqview_res_flag
|
||||
jr dinqview_set_flag
|
||||
dinqview_next:
|
||||
push bc
|
||||
ld a,3 ; ®¯à®á ª« ¢ë
|
||||
rst 20h
|
||||
ex af,af'
|
||||
ld a,b
|
||||
pop bc
|
||||
and 11110000b ; ¦ âë Ctrl,Alt,Shift ?
|
||||
ret nz ; ¤
|
||||
ex af,af'
|
||||
jr nz,dinqview_exit ; ¥áâì ᨬ¢®«
|
||||
halt
|
||||
djnz dinqview_loop
|
||||
db 3Eh ; ld a,..
|
||||
dinqview_flag:
|
||||
db true ; ä« £ ¥®¡å. ®âà ¡®âª¨ "dinam_qview_panel"
|
||||
or a
|
||||
ret z ; ¥ ®âà ¡ âë¢ âì
|
||||
call get_qview_data ; § ¯®«¨âì ®¯¨á ⥫ì
|
||||
; jr c,dinqview_file ; 㪠§ ⥫ì ä ©«¥
|
||||
call change_panel
|
||||
call draw_half_frame ; ®ç¨áâ¨âì ¯ ¥«ì
|
||||
call upath6_ ; ¢ë¢¥á⨠§ ¯®«. ®¯¨á ⥫ì
|
||||
call change_panel
|
||||
dinqview_res_flag:
|
||||
xor a ; false
|
||||
jr $+4
|
||||
dinqview_set_flag:
|
||||
ld a,true
|
||||
ld (dinqview_flag),a
|
||||
dinqview_exit:
|
||||
xor a ; Z-ä« £
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
; ‚뢥á⨠ᮤ¥à¦¨¬®¥ ä ©« ¢ ¯ áá. ¯ ¥«¨
|
||||
;dinqview_file:
|
||||
; call change_panel
|
||||
; call draw_half_frame ; ®ç¨áâ¨âì ¯ ¥«ì
|
||||
; ld hl,title_qview ; ®¯¨á â¥«ì ®¤®£® â¨â«
|
||||
; call draw_text
|
||||
; call change_panel
|
||||
; call alt_file_viewer ; ¢ë¢¥á⨠ᮤ¥à¦. ä ©«
|
||||
; jr dinqview_res_flag ; á¡à. ä« £ ®âà ¡®âª¨ "dinqview"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20>®¤áç¨â âì à §¬¥à ¯ ¯ª¨
|
||||
; ¢å®¤: hl= ç «® § ¯¨á¨
|
||||
;-------------------------------------------------
|
||||
qview_scan_folder:
|
||||
push hl
|
||||
push hl
|
||||
ld hl,win_scan_folder ; ®¯¨á ⥫ì "Scanning the folder..."
|
||||
call WinSimple ; ®âªàëâì ®ª®
|
||||
pop hl
|
||||
call scan_folder ; ᪠¨à. ¯ ¯ªã
|
||||
call CloseWinSimple ; § ªàëâì ®ª®
|
||||
ld a,1 ; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
rst 20h
|
||||
pop hl
|
||||
ret
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘ª ¨à®¢ ¨¥ ¯ ¯ª¨ ªâ. ¯ ¥«¨
|
||||
; ¢å®¤: hl= ç «® § ¯¨á¨
|
||||
;-------------------------------------------------
|
||||
scan_folder:
|
||||
xor a ; ०¨¬ "¯à®á⮥ ᪠¨à. ¯ ¯ª¨"
|
||||
scan_folder_alt:
|
||||
ld (scan_mode),a ; ०¨¬ à ¡®âë ¯à®æ¥¤ãàë
|
||||
; ᪮¯¨à. ¯ãâì ¯ ¥«¨ ¢® ¢à¥¬. ¡ãä¥à
|
||||
push hl
|
||||
ld hl,(__buff) ; ®âªã¤ , ¤à¥á ¯ã⨠ªâ. ¯ ¥«¨
|
||||
ld de,work_buffer ; ªã¤
|
||||
ld a,(disk) ; ¤¨áª ¯ ¥«¨
|
||||
add a,"A"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,":"
|
||||
ld (de),a
|
||||
inc de
|
||||
call copy_string ; (hl) -> (de) ¤® ã«ï
|
||||
pop hl
|
||||
ld a,(hl)
|
||||
cp "." ; ".." ?
|
||||
jr z,scan_fold1 ; ⮫쪮 ¯ãâì த¨â. ¯ ¯ª¨
|
||||
; á®§¤ âì ®¢ë© ¯ãâì
|
||||
push hl
|
||||
ex de,hl
|
||||
dec hl
|
||||
dec hl
|
||||
ld a,'\'
|
||||
cp (hl)
|
||||
jr z,$+3
|
||||
inc hl
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ex de,hl ; de=ªã¤
|
||||
pop hl ; ®âªã¤
|
||||
ld bc,0044h ; 11 -> 8.3
|
||||
rst 10h
|
||||
scan_fold1:
|
||||
ld hl,work_buffer
|
||||
ld c,1Dh ; ãáâ. ¯ãâì
|
||||
rst 10h
|
||||
jp ScanTree ; ᪠¨à. ¯ ¯ªã
|
||||
157
MOD2/READDSK.ASM
Executable file
@ -0,0 +1,157 @@
|
||||
;-----------------------------------------------------------
|
||||
; ‡ ¯®«¨âì ¡ ªã ª â «®£ + à §¬¥à ä ©«®¢ ᯨáª
|
||||
; ¢ë室: CF - ®è¨¡ª çâ¥¨ï ¤¨áª
|
||||
;-----------------------------------------------------------
|
||||
read_new_folder:
|
||||
call read_new_list ; § ¯®«¨âì ¡ ªã ®¢ë¬ ᯨ᪮¬ + à §¬¥à ä ©«®¢
|
||||
ret c
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
and form_trd
|
||||
;jp z,msdos_scan_folder ; ᪠¨à. ¯ ¯ªã -> scan_folder ?
|
||||
ret z
|
||||
;-------------------------------------------------------------
|
||||
; ‚ëç¨á«¨âì ®¡ê¥¬ ä ©«®¢ ᯥª-¨¬¨¤¦ (¨ä ¨§ 9-£® ᥪâ®à )
|
||||
;-------------------------------------------------------------
|
||||
ld a,(cash_left_dir) ; ®¬¥à ¡ ª¨ ª â «®£ ªâ. ¯ ¥«¨
|
||||
out (SLOT3),a ; ¯®¤ª«. áâà ¨æã ª â «®£
|
||||
; ¢¥áì ®¡ê¥¬ ¤¨áª
|
||||
ld hl,0Ah ; 655,360 (000A:0000)
|
||||
ld (total_space_disk+2),hl ; áâ. à §àï¤
|
||||
ld hl,0
|
||||
ld (total_space_disk),hl ; ¬«. à §àï¤
|
||||
; à áç¨â âì ®¡é. à §¬¥à ä ©«®¢
|
||||
exx
|
||||
ld bc,16 ; à §¬¥à trd-§ ¯¨á¨
|
||||
ld hl,0 ; áâ. à §àï¤
|
||||
exx
|
||||
ld hl,0 ; ¬«. à §àï¤
|
||||
ld ix,0C000h+11 ; ï祩ª à §¬¥à ä ©«
|
||||
ld bc,(all_files) ; ç¨á«® ä ©«®¢ ¤¨áª
|
||||
spec_scan_loop:
|
||||
ld e,(ix+0)
|
||||
ld d,(ix+1)
|
||||
add hl,de ; ¬«.à §àï¤
|
||||
exx
|
||||
ld de,0
|
||||
adc hl,de ; áâ.à §àï¤
|
||||
add ix,bc ; á«¥¤. § ¯¨áì
|
||||
exx
|
||||
dec bc ; --ç¨á«® ä ©«®¢
|
||||
ld a,c
|
||||
or b
|
||||
jr nz,spec_scan_loop
|
||||
exx
|
||||
ld (files_size+2),hl ; áâ.à §àï¤
|
||||
exx
|
||||
ld (files_size),hl ; ¬«. à §àï¤
|
||||
; à áç¨â âì ᢮¡. ¬¥áâ® ¤¨áª¥
|
||||
ld de,(total_space_disk) ; ¬«.à §àï¤
|
||||
ex de,hl
|
||||
sbc hl,de
|
||||
ld (free_space_disk),hl
|
||||
exx
|
||||
ld de,(total_space_disk+2) ; áâ.à §àï¤
|
||||
ex de,hl
|
||||
sbc hl,de
|
||||
ld (free_space_disk+2),hl
|
||||
exx
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘ª ¨à®¢ ¨¥ ¯ ¯ª¨ ¨ ¯®¤áç¥â ¥¥ à §¬¥à
|
||||
;-------------------------------------------------
|
||||
;msdos_scan_folder: ; <- § ¬¥¨âì scan_folder ?
|
||||
;call get_record
|
||||
;jp scan_folder
|
||||
;ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‡ ¯®«¨âì ¡ ªã ᯨ᪮¬ ®¢®£® ª â «®£
|
||||
; ¢ë室: CF - ®è¨¡ª ãáâ. ¤¨áª /¯ãâ¨
|
||||
;-------------------------------------------------
|
||||
read_new_list:
|
||||
call set_path_from_activ_panel ; ãáâ. ¤¨áª ¨ ¯ãâì ®â ªâ. ¯ ¥«¨
|
||||
jr nc,read_nlist
|
||||
inc a
|
||||
scf
|
||||
ret z ; ¥â ¤¨áª
|
||||
; ¥â ¤ ®£® ¯ãâ¨
|
||||
ld hl,(__buff) ; ¤à¥á ¯ã⨠ªâ. ¯ ¥«¨
|
||||
ld (hl),'\' ; ª®à¥ì ¢ ¯ãâì ªâ. ¯ ¥«¨
|
||||
inc hl
|
||||
ld (hl),0
|
||||
dec hl
|
||||
ld c,1Dh ; ᬥ ⥪. ª â «®£
|
||||
rst 10h
|
||||
ret c ; ®è¨¡ª
|
||||
read_nlist:
|
||||
xor a
|
||||
ld l,a
|
||||
ld h,a
|
||||
; á¡à. ï祩ª¨
|
||||
ld (files_size),hl ; ®¡é. à §¬¥à ä ©«®¢ ¢ ᯨ᪥
|
||||
ld (files_size+2),hl
|
||||
ld (all_folders),hl ; ç¨á«® ¯ ¯®ª ¢ ᯨ᪥
|
||||
ld (all_files),hl ; ç¨á«® § ¯¨á¥© ¢ ᯨ᪥ ªâ. ¯ ¥«¨
|
||||
ld (cur_pointer),hl ; ⥪. ¯®«®¦. 㪠§ ⥫ï
|
||||
ld (offset_list),hl ; ᬥé. ᯨáª
|
||||
ld (mark_files),hl ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||||
ld (low_size),hl ; ¬«. à §àï¤ à §¬¥à ¢ë¤¥«. ä ©«®¢
|
||||
ld (high_size),hl ; áâ. à §àï¤
|
||||
ld h,0C0h ; hl=0C000h
|
||||
ld (copy_rec_addr),hl
|
||||
;
|
||||
ld hl,(__mask) ; "*.*" ¬ ᪠¨¬ñ ä ©«®¢
|
||||
ld bc,0019h ; ©¤¥®¥ ¨¬ï ¢ 11 ᨬ¢. ä®à¬ â¥
|
||||
read_nlist_loop:
|
||||
ld de,work_buffer ; ªã¤
|
||||
ld a,37h ; ¢á¥, ªà®¬¥ ¬¥âª¨ ⮬
|
||||
rst 10h
|
||||
ccf
|
||||
ret nc ; ¡®«ìè¥ ¥â § ¯¨á¥©
|
||||
call copy_record ; ᪮¯¨à. § ¯¨áì ¢ ¡ ªã ª â «®£
|
||||
ld c,1Ah ; ¯®¨áª á«¥¤.
|
||||
jr read_nlist_loop
|
||||
|
||||
|
||||
; ‘ª®¯¨à. § ¯¨áì ¢ ¡ ªã ª â «®£
|
||||
copy_record:
|
||||
ld a,(cash_left_dir) ; ®¬¥à ¡ ª¨ ª â «®£ ªâ. ¯ ¥«¨
|
||||
out (SLOT3),a ; ¯®¤ª«. áâà. ª â «®£
|
||||
ld hl,work_buffer+33 ; ®âªã¤
|
||||
ld a,"."
|
||||
cp (hl)
|
||||
jr nz,copy_record1
|
||||
inc hl
|
||||
cp (hl)
|
||||
ret nz ; "." ⥪. § ¯¨áì
|
||||
dec hl
|
||||
copy_record1:
|
||||
db 11h ; ld de,..
|
||||
copy_rec_addr:
|
||||
dw 0C000h ; ªã¤ (⥪. ¤à¥á)
|
||||
ld bc,11
|
||||
ldir ; ¨¬ï ä ©«
|
||||
ld hl,work_buffer+32 ; ®âªã¤
|
||||
ldi ; âਡãâ § ¯¨á¨
|
||||
ld hl,work_buffer+12 ; ®âªã¤
|
||||
ld bc,20
|
||||
ldir
|
||||
ld (copy_rec_addr),de
|
||||
ld hl,(all_files)
|
||||
inc hl ; ++ç¨á«® § ¯¨á¥© ¢ ᯨ᪥
|
||||
ld (all_files),hl
|
||||
; ®¢ë© ®¡é¨© à §¬¥à ä ©«®¢ (total_file_size + found file_size)
|
||||
ld hl,(work_buffer+28) ; ¬«. à §àï¤
|
||||
ld de,(files_size)
|
||||
add hl,de
|
||||
ld (files_size),hl
|
||||
ld hl,(work_buffer+30) ; áâ. à §àï¤
|
||||
ld de,(files_size+2)
|
||||
adc hl,de
|
||||
ld (files_size+2),hl
|
||||
ret
|
||||
106
MOD2/RENAME.ASM
Executable file
@ -0,0 +1,106 @@
|
||||
;===========================================================
|
||||
;
|
||||
; <20>à®æ¥áá ¯¥à¥¨¬¥®¢ ¨ï ä ©« /¯ ¯ª¨
|
||||
;
|
||||
;===========================================================
|
||||
rename: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
ld a,(format_mode) ; ⥪. ä®à¬ â ¯ ¥«¨
|
||||
and form_info+form_qview ; info, qview
|
||||
ret nz
|
||||
call set_path_from_activ_panel ; ãáâ. ¤¨áª ¨ ¯ãâì ªâ. ¯ ¥«¨
|
||||
ret c
|
||||
call prep_rename_name ; ¨¬ï ä ©« ¢ ®¯¨á â¥«ì ®ª
|
||||
ret c ; ".." § ¯¨áì
|
||||
; ¢ë¢®¤ ç «ì®£® ®ª
|
||||
ld hl,dial_rename ; ®¯¨á â¥«ì ®ª
|
||||
call DialogW
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Ok"
|
||||
ret nz
|
||||
; ¯¥à¥¨¬¥®¢ ¨¥ ä ©«
|
||||
ld hl,temp_fname ; áâ ஥ ¨¬ï
|
||||
ld de,input_line_rename+5 ; ®¢®¥ ¨¬ï
|
||||
ld c,10h ; ¯¥à¥¨¬¥. ä ©«
|
||||
rst 10h
|
||||
jp nc,fresh_two_panels ; ¡¥§ ®è¨¡®ª, ®¡®¢¨âì ¯ ¥«¨
|
||||
;
|
||||
; ¢ë¢®¤ ®ª ®è¨¡ª¨ ¯¥à¥¨¬¥®¢ ¨ï
|
||||
ld hl,dial_error_rename ; "Cannot rename the file or folder"
|
||||
jp DialogEr
|
||||
|
||||
|
||||
|
||||
; ‘ª®¯¨à®¢ âì ⥪. ¨¬ï ¯¥à¥¨¬¥. ä ©« /¯ ¯ª¨ ¢ ®¯¨á â¥«ì ®ª .
|
||||
; Ž¡à ¡®âª ¬ ªá. ®¤®© ¢ë¤¥«. § ¯¨á¨
|
||||
; ¢ë室: hl= ¤à¥á § ¯¨á¨
|
||||
prep_rename_name:
|
||||
ld de,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||||
ld hl,1
|
||||
sbc hl,de
|
||||
ret c ; >= 2 ¢ë¤¥«. ä ©«®¢
|
||||
jr z,prep_ren_name1 ; ¥áâì ®¤¨ ¢ë¤¥«. ä ©«
|
||||
; ¥â ¢ë¤¥«. ä ©«®¢
|
||||
call get_record ; § ¯¨áì ¢ ⥪. ¯®«®¦¥¨¨ 㪠§ ⥫ï
|
||||
ld a,(hl)
|
||||
cp "." ; ".."
|
||||
scf
|
||||
ret z
|
||||
jr $+5
|
||||
prep_ren_name1:
|
||||
call scan_mark_records ; ¯®¨áª ®â¬¥ç. ä ©« (á ç « ᯨ᪠)
|
||||
; ¢å®¤: hl=§ ¯¨áì ä ©«
|
||||
ld bc,rename_name1 ; ªã¤ (¡ãä¥à 12 ¡ ©â)
|
||||
push hl
|
||||
call copy_cur_fname ; ᪮¯¨à. ¨¬ï ä ©« ¨ ®âæ¥â஢ âì
|
||||
pop hl
|
||||
; hl=®âªã¤
|
||||
ld de,temp_fname ; ªã¤
|
||||
ld bc,0044h ; 11 -> 8.3
|
||||
rst 10h
|
||||
; ®ç¨áâ¨âì áâàãªâãàã ¡ãä¥à
|
||||
ld hl,input_line_rename ; áâàãªâãà ¡ãä¥à
|
||||
call clear_struct_inline
|
||||
; ¢áâ ¢¨âì ¨¬ï ¢ áâàãªâãàã ¡ãä¥à
|
||||
ld iy,input_line_rename ; áâàãªâãà ¡ãä¥à
|
||||
ld de,temp_fname ; ®âªã¤
|
||||
ld hl,input_line_rename+5 ; ªã¤
|
||||
prep_ren_loop:
|
||||
ld a,(de)
|
||||
or a
|
||||
ret z
|
||||
call put_char1 ; ¢áâ ¢¨âì ᨬ¢®«
|
||||
inc de
|
||||
inc hl
|
||||
jr prep_ren_loop
|
||||
|
||||
|
||||
; ‚áâ ¢¨âì ᨬ¢®« ¢ ¡ãä¥à áâàãªâãàë
|
||||
; ¢å®¤: iy=áâàãªâãà ¡ãä¥à
|
||||
; hl=ªã¤
|
||||
; a=ᨬ¢®«
|
||||
put_char1:
|
||||
push hl
|
||||
push iy
|
||||
pop hl ; áâàãªâãà ¡ãä¥à
|
||||
ex af,af' ; á®åà. ᨬ¢®«
|
||||
ld a,(iy+2) ; X ⥪. ¯®«®¦. ªãàá®à ¢ áâப¥
|
||||
add a,(iy+3)
|
||||
add a,l
|
||||
ld l,a
|
||||
jr nc,$+3
|
||||
inc h
|
||||
inc hl
|
||||
inc hl
|
||||
inc hl
|
||||
inc hl
|
||||
inc hl
|
||||
ex af,af'
|
||||
ld (hl),a ; ᨬ¢®« ¢ ª®¬-áâபã
|
||||
pop hl
|
||||
inc (iy+4) ; ç¨á«® ¢¢¥¤. ᨬ¢®«®¢
|
||||
inc (iy+2) ; X ⥪. ¯®«®¦. ªãàá®à ¢ áâப¥
|
||||
ret
|
||||
523
MOD2/SETUP.ASM
Executable file
@ -0,0 +1,523 @@
|
||||
; …᫨ ¯¥à¥¬¥ ï ®ªà㦥¨ï ©¤¥ , ini-ä ©« ç¨â ¥âáï/§ ¯¨áë¢ ¥âáï
|
||||
; ⮫쪮 ¢ ¥©.
|
||||
; …᫨ ¯¥à¥¬¥®© ®ªà㦥¨ï ¥â, ini-ä ©« ç¨â ¥âáï/§ ¯¨áë¢ ¥âáï ¯®
|
||||
; ⥪ã饬㠯ã⨠¬¥¥¤¦¥à .
|
||||
;
|
||||
; …᫨ ini-ä ©« ¥ ©¤¥ - ¢ ¯ ¥«ïå ãáâ ¢«¨¢ ¥âáï ¤¨áª ¨ ⥪ã騩
|
||||
; ¯ãâì ¬¥¥¤¦¥à . …᫨ ini-ä ©« ©¤¥, ¤¨áª¨ ¨ ¯ã⨠¯ ¥«¥© ãáâ ¢-
|
||||
; «¨¢ îâáï ᮣ« á® ¤ ëå ini-ä ©« .
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;
|
||||
; ‘âàãªâãà ini-ä ©« :
|
||||
;
|
||||
; +0 - ”« £ ªâ¨¢®© ¯ ¥«¨ (0=«¥¢ ï, 80h=¯à ¢ ï)
|
||||
; +1 - <20>®¬¥à ¤¨áª «¥¢®© ¯ ¥«¨ (0=A,1=B,..)
|
||||
; +2 - <20>®¬¥à ¤¨áª ¯à ¢®© ¯ ¥«¨ (0=A,1=B,..)
|
||||
; +3 - <20> áªà áª ä ©«®¢ (true/false)
|
||||
; +4 - ”« £ áªàëâ¨ï ¬ë誨 ¯à¨ à ¡®â¥ á ª« ¢®© (true/false)
|
||||
; <20>¥¦¨¬ á®àâ¨à®¢ª¨ «¥¢®© ¯ ¥«¨:
|
||||
; +5 - n/x/d/s/u (name/ext/date/size/unsort)
|
||||
; +6 - 0=, 1= (¢®á室ïé ï/¨á室ïé ï)
|
||||
; <20>¥¦¨¬ á®àâ¨à®¢ª¨ ¯à ¢®© ¯ ¥«¨:
|
||||
; +7 - n/x/d/s/u (name/ext/date/size/unsort)
|
||||
; +8 - 0=, 1= (¢®á室ïé ï/¨á室ïé ï)
|
||||
; +9 - ”®à¬ â «¥¢®© ¯ ¥«¨: full/med/brief/info/qview
|
||||
; +10 - ”®à¬ â ¯à ¢®© ¯ ¥«¨: full/med/brief/info/qview
|
||||
; +11 - ”« £ ¢ë¢®¤ ¡ãª¢ ०¨¬ á®àâ¨à®¢ª¨ (true/false)
|
||||
; +12 - ”« £ ¢ë¢®¤ áâப¨ á㬬 ன ¨ä®à¬ 樨 (true/false)
|
||||
; +13 - ‘¬¥é¥¨¥ ªãàá®à ¢¨§ ¯à¨ ¢ë¤¥«¥¨¨ ä ©«®¢ (true/false)
|
||||
; +14 - ”« £ ¢ë¢®¤ ç ᮢ ¢¢¥àåã ¯à ¢®© ¯ ¥«¨ (true/false)
|
||||
; +15 - ”« £ ¯®¤â¢¥à¦¤¥¨ï ¢ë室 ¨§ ¬¥¥¤¦¥à (true/false)
|
||||
; +16 - ”« £ ®â¬¥âª¨ ¯ ¯®ª (true/false)
|
||||
; +17 - ”« £ ¢à¥¬¥®£® ¯à®á¬®âà á¨áâ. íªà ¯® Esc (true/false)
|
||||
; +18 - ”« £ ®âà ¡®âª¨ Home/End ¢ ª®¬-áâப¥ ¯à¨ ®âªàëâëå ¯ ¥«ïå (false/true)
|
||||
; ;+19 - ”« £ ¢ë¢®¤ ®¡é¥© «¨¥©ª¨ ¯à®æ¥áá ª®¯¨à®¢ ¨ï (false/true)
|
||||
; +20 - १¥à¢
|
||||
; +21 - १¥à¢
|
||||
; +22 - १¥à¢
|
||||
;
|
||||
; +23 - Œ áᨢ 梥⮢ ¬¥¥¤¦¥à (color_array), 66 ¡ ©â
|
||||
;
|
||||
; +88 - ”« £ ¯®¤â¢¥à¦¤¥¨ï ¯¥à¥§ ¯¨á¨ ¯à¨ ª®¯¨à®¢ ¨¨ (Copy)
|
||||
; +89 - ”« £ ¯®¤â¢¥à¦¤¥¨ï ¯¥à¥§ ¯¨á¨ ¯à¨ ¯¥à¥¬¥é¥¨¨ (Move)
|
||||
; +90 - ”« £ ¯®¤â¢¥à¦¤¥¨ï ¯à¨ 㤠«¥¨¨ (Delete)
|
||||
; +91 - ”« £ ¯®¤â¢¥à¦¤¥¨ï 㤠«¥¨ï ¥ ¯ãáâëå ¯ ¯®ª (Delete non-empty folders)
|
||||
; +92 - १¥à¢
|
||||
; +93 - १¥à¢
|
||||
; +94 - १¥à¢
|
||||
; +95 - १¥à¢
|
||||
;
|
||||
; +96 - <20>ãâì «¥¢®© ¯ ¥«¨ (256 ¡ ©â)
|
||||
; +353 - <20>ãâì ¯à ¢®© ¯ ¥«¨ (256 ¡ ©â)
|
||||
;
|
||||
|
||||
|
||||
|
||||
block1 equ 23 ; ï祩ª¨ 1-£® ¡«®ª áâ஥ª
|
||||
block2 equ 8 ; ï祩ª¨ 2-£® ¡«®ª
|
||||
|
||||
size_ini_part1 equ block1+len_color_array+block2 ;97 ¡ ©â ( áâனª¨ FM)
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; <20> áâநâì ®¯æ¨® «ìë¥ ï祩ª¨ ¬¥¥¤¦¥à
|
||||
; ¨ ãáâ ®¢¨âì ¤¨áª¨ ¨ ¯ã⨠¯ ¥«¥©.
|
||||
; ¢å®¤: § ¯®«¥ë© work_buffer, ¯à¨ «¨ç¨¨ ini-ä ©«
|
||||
;-----------------------------------------------------------
|
||||
init_option_cells:
|
||||
; ä« £ «¨ç¨ï ini-ä ©«
|
||||
db 3Eh ; ld a,..
|
||||
enable_ini_file:
|
||||
db false
|
||||
or a
|
||||
jr nz,yes_ini__
|
||||
;--------------------------------
|
||||
; ¥â ini-ä ©«
|
||||
;--------------------------------
|
||||
; ¨á¯®«ì§®¢ âì æ¢¥â ¯®-㬮«ç ¨î
|
||||
ld hl,default_colors ; ®âªã¤
|
||||
ld de,color_array ; ªã¤
|
||||
ld bc,len_color_array
|
||||
ldir
|
||||
; ãáâ. ®¤¨ ª®¢ë¥ ¤¨áª¨ ¢ ¯ ¥«ïå
|
||||
ld c,2 ; ¯®«ãç¨âì ®¬¥à ⥪. ¤¨áª
|
||||
rst 10h
|
||||
ld (disk),a ; ®¬¥à ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld (disk1),a ; ®¬¥à ¤¨áª ¯ áá. ¯ ¥«¨
|
||||
; ãáâ. ®¤¨ ª®¢ë¥ ¯ã⨠¢ ¯ ¥«ïå
|
||||
ld hl,buff_left ; ¡ãä¥à ¯ã⨠«¥¢®© ¯ ¥«¨
|
||||
ld c,1Eh ; ¯®«ãç¨âì ⥪. ¯ãâì
|
||||
rst 10h
|
||||
ld hl,buff_left ; ¯ãâì «¥¢®© ¯ ¥«¨
|
||||
ld de,buff_right ; ¯ãâì ¯à ¢®© ¯ ¥«¨
|
||||
jp copy_string ; ᪮¯¨à. áâப㠤® ã«ï (á ã«¥¬)
|
||||
|
||||
yes_ini__:
|
||||
;----------------------------------------
|
||||
; ˆá¯®«ì§®¢ âì áâனª¨ ¨§ ini-ä ©«
|
||||
;----------------------------------------
|
||||
; “áâ. ªâ¨¢ãî ¯ ¥«ì
|
||||
ld de,panel_left+1
|
||||
ld hl,panel_right+1
|
||||
ld a,(work_buffer) ;+0 ¨§ ini-ä ©« (0=«¥¢ ï, 80h=¯à ¢ ï)
|
||||
or a
|
||||
ld a,0
|
||||
jr z,$+3
|
||||
ex de,hl
|
||||
ld (de),a ; X ¯®«®¦. ®¤®© ¯ ¥«¨
|
||||
ld (hl),40 ; X ¯®«®¦. ¤à㣮© ¯ ¥«¨
|
||||
inc de
|
||||
inc hl
|
||||
ld (de),a ; cur_panel
|
||||
ld (hl),80h ; cur_panel ¤à.¯ ¥«¨
|
||||
; “áâ. ¤¨áª¨ ¯ ¥«¥©
|
||||
ld a,(work_buffer+1)
|
||||
ld (disk),a ; ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld a,(work_buffer+2)
|
||||
ld (disk1),a ; ¤¨áª ¯ áá. ¯ ¥«¨
|
||||
; <20> áªà áª ä ©«®¢
|
||||
ld a,(work_buffer+3)
|
||||
ld (hilight_enable),a
|
||||
; <20>àïâ âì ¬ëèªã ¯à¨ à ¡®â¥ á ª« ¢®©
|
||||
ld a,(work_buffer+4)
|
||||
ld (hidden_mouse),a ; ä« £ (¢ 0-© áâà. ”Œ, 㦥 ¢ª«îç¥ )
|
||||
; <20>¥¦¨¬ë á®àâ¨à®¢®ª ¯ ¥«¥©
|
||||
; l=n/x/d/s/u (name/ext/date/size/unsort)
|
||||
; h=0/1 (00=, 01=)
|
||||
ld hl,(work_buffer+5)
|
||||
ld (sort_type),hl ; ªâ.
|
||||
ld hl,(work_buffer+7)
|
||||
ld (sort_type1),hl ; ¯ áá.
|
||||
; ”®à¬ âë ¯ ¥«¥©
|
||||
ld a,(work_buffer+9) ; full/med/...
|
||||
ld (format_mode),a ; ªâ.
|
||||
ld a,(work_buffer+10)
|
||||
ld (format_mode1),a ; ¯ áá.
|
||||
; ”« £ ¢ë¢®¤ ¡ãª¢ë ०¨¬ á®àâ¨à®¢ª¨
|
||||
ld a,(work_buffer+11) ; true/false
|
||||
ld (sort_char_flag),a ; ä« £
|
||||
; ”« £ ¢ë¢®¤ á㬬 ன ¨ä®à¬ 樨 (¢¨§ã ¯ ¥«¥©)
|
||||
ld a,(work_buffer+12) ; false/true
|
||||
ld (flag_summary_info),a ; ä« £
|
||||
; ‘¬¥é¥¨¥ ªãàá®à ¢¨§ ¯à¨ ¢ë¤¥«¥¨¨ ä ©«®¢
|
||||
ld a,(work_buffer+13)
|
||||
ld (enable_down_mark),a ; ä« £
|
||||
; ”« £ ¢ë¢®¤ ç ᮢ
|
||||
ld a,(work_buffer+14)
|
||||
ld (clock__+1),a ; ⥪. á®áâ. ०¨¬ ¢ë¢®¤
|
||||
ld (enable_clock),a ; ä« £
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï ¢ë室 ¨§ ¬¥¥¤¦¥à
|
||||
ld a,(work_buffer+15)
|
||||
ld (confirm_quit),a
|
||||
; ”« £ ®â¬¥âª¨ ¯ ¯®ª
|
||||
ld a,(work_buffer+16)
|
||||
ld (mark_folders),a
|
||||
; ”« £ ¢à¥¬. ¯à®á¬®âà á¨áâ. íªà ¯® Esc
|
||||
ld a,(work_buffer+17)
|
||||
ld (flag_esc),a
|
||||
; ”« £ ®âà ¡®âª¨ Home/End ¢ ª®¬-áâப¥ ¯à¨ ®âªà. ¯ ¥«ïå
|
||||
ld a,(work_buffer+18)
|
||||
ld (move_home_end),a
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï ¯¥à¥§ ¯¨á¨ ¯à¨ ª®¯¨à®¢ ¨¨ (Copy)
|
||||
ld a,(work_buffer+88)
|
||||
;ld (),a
|
||||
;ld (confirm_ceil0),a
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï ¯¥à¥§ ¯¨á¨ ¯à¨ ¯¥à¥¬¥é¥¨¨ (Move)
|
||||
ld a,(work_buffer+89)
|
||||
;ld (),a
|
||||
;ld (confirm_ceil1),a
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï ¯à¨ 㤠«¥¨¨ (Delete)
|
||||
ld a,(work_buffer+90)
|
||||
ld (del_confirm),a
|
||||
ld (confirm_ceil2),a
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï 㤠«¥¨ï ¥ ¯ãáâëå ¯ ¯®ª (Delete non-empty folders)
|
||||
ld a,(work_buffer+91)
|
||||
ld (flag_del_non_empty),a
|
||||
ld (confirm_ceil3),a
|
||||
; <20> áâநâì æ¢¥â ¬¥¥¤¦¥à
|
||||
ld hl,work_buffer+23 ; ç «® 梥â. ¬ áᨢ ¢ ini-ä ©«¥
|
||||
ld de,color_array ; ¬ áᨢ 梥⮢ ¬¥¥¤¦¥à
|
||||
ld bc,len_color_array
|
||||
ldir
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; —⥨¥ ini-ä ©«
|
||||
;-------------------------------------------------
|
||||
read_ini_file:
|
||||
; ¯à®¢¥à¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï Far-
|
||||
ld bc,0146h ; ¯®«ãç¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||||
ld hl,env_name ; ¨¬ï ¯¥à¥¬¥®©
|
||||
ld de,work_buffer ; ¡ãä¥à ¤«ï § ç¥¨ï ¯¥à¥¬¥®©
|
||||
rst 10h
|
||||
jr c,no_ini_string ; ®è¨¡ª
|
||||
or a
|
||||
jr nz,read_ini_file__ ; ¯¥à¥¬¥ ï ©¤¥
|
||||
; ¨á¯. ⥪ã騩 á¨áâ. ¯ãâì
|
||||
ld hl,save_path ; ®âªã¤
|
||||
ld de,work_buffer ; ªã¤
|
||||
call copy_string ; ᪮¯¨à. áâபã
|
||||
dec de
|
||||
dec de
|
||||
ld a,(de)
|
||||
cp '\'
|
||||
jr z,$+3
|
||||
inc de
|
||||
read_ini_file__:
|
||||
push de ; ª®¥æ áâப¨ ¯¥à¥¬¥®© ®ªà㦥¨ï
|
||||
ld hl,name_ini_file ; ¨¬ï ini-ä ©«
|
||||
ld bc,len_ini_name
|
||||
ldir ; ª ¤¨áª+¯ãâì + ¨¬ï ini-ä ©«
|
||||
; ©â¨ ä ©«
|
||||
ld hl,work_buffer ; ¨¬ï ä ©« (¤¨áª+¯ãâì)
|
||||
ld de,work_buffer+127;255 ; ¡ãä¥à
|
||||
ld bc,0119h
|
||||
ld a,20h ; " à娢ë©"
|
||||
rst 10h
|
||||
pop de ; ª®¥æ áâப¨ ¯¥à¥¬¥®© ®ªà㦥¨ï
|
||||
jr nc,found_ini_file ; ä ©« ©¤¥
|
||||
no_ini_string:
|
||||
xor a ; false
|
||||
ld (enable_ini_file),a ; ä« £ «¨ç¨ï ini-ä ©«
|
||||
jr ini_done
|
||||
;
|
||||
found_ini_file:
|
||||
ld hl,work_buffer ; ¯®«®¥ ¨¬ï ä ©« (¤¨áª+¯ãâì+¨¬ï)
|
||||
ld a,1 ; ç⥨¥
|
||||
ld c,11h ; ®âªàëâì ä ©«
|
||||
rst 10h
|
||||
jr c,no_ini_string ; ®è¨¡ª ®âªàëâ¨ï
|
||||
ld (handle_ini_file),a ; á®åà. ¤¥áªà¨¯â®à
|
||||
; ¯à®ç¨â âì áâனª¨ ¬¥¥¤¦¥à
|
||||
ld hl,work_buffer ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
ld de,size_ini_part1 ; ç¨á«® ç¨â ¥¬ëå ¡ ©â
|
||||
ld c,13h ; ç⥨¥ ä ©«
|
||||
rst 10h
|
||||
jr c,read_ini_error
|
||||
; ¯à®ç¨â âì ¯ã⨠«¥¢®© ¨ ¯à ¢®© ¯ ¥«¥©
|
||||
ld hl,buff_left ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
ld de,256+256 ; 512 ç¨á«® ç¨â ¥¬ëå ¡ ©â
|
||||
ld a,(handle_ini_file) ; ¤¥áªà¨¯â®à
|
||||
ld c,13h ; ç⥨¥ ä ©«
|
||||
rst 10h
|
||||
ld a,true
|
||||
jr nc,read_ini_ok ; ¡¥§ ®è¨¡®ª
|
||||
read_ini_error:
|
||||
xor a
|
||||
read_ini_ok:
|
||||
ld (enable_ini_file),a ; ä« £ «¨ç¨ï ini-ä ©«
|
||||
close_ini_file:
|
||||
db 3Eh
|
||||
handle_ini_file:
|
||||
db -1
|
||||
ld c,12h ; § ªàëâì ä ©«
|
||||
rst 10h
|
||||
ini_done:
|
||||
restore_sys_path:
|
||||
ld a,(save_disk)
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
ret c
|
||||
ld hl,save_path
|
||||
ld c,1Dh ; ãáâ. ª â «®£
|
||||
rst 10h
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
env_name:
|
||||
db "FM",0 ; ¨¬ï ¯¥à¥¬¥®© ®ªà㦥¨ï
|
||||
|
||||
name_ini_file:
|
||||
db '\FM.INI',0 ; ¨¬ï ini-ä ©«
|
||||
|
||||
len_ini_name equ $ - name_ini_file
|
||||
|
||||
|
||||
|
||||
name_mnu_file:
|
||||
db '\FM.MNU',0 ; ä ©« Œ¥î <20>®«ì§®¢ ⥫ï
|
||||
|
||||
len_mnu_name equ $ - name_mnu_file
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;------------------------------------------------------------------
|
||||
; ‡ ¯¨áì áâ஥ª ¢ ini-ä ©« (97+256+256=609 ¡ ©â).
|
||||
; …᫨ ¯¥à¥¬¥ ï ®ªà㦥¨ï ¥ ©¤¥ - § ¯¨áì ¯à®¨§¢®¤¨âáï
|
||||
; ¢ ⥪ã饬 ¯ãâ¨.
|
||||
;------------------------------------------------------------------
|
||||
write_ini_file:
|
||||
ld hl,show_pointer ; ç «ìë© ¢ë¢®¤ 㪠§ ⥫ï
|
||||
push hl
|
||||
call clear_pointer ; áªàëâì 㪠§ ⥫ì
|
||||
; ¯à®¢¥à¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï Far`
|
||||
ld bc,0146h ; ¯®«ãç¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||||
ld hl,env_name ; ¨¬ï ¯¥à¥¬¥®©
|
||||
ld de,work_buffer ; ¡ãä¥à ¤«ï § ç¥¨ï ¯¥à¥¬¥®©
|
||||
rst 10h
|
||||
ret c ; ®è¨¡ª
|
||||
or a
|
||||
jr nz,write_ini_file__ ; ¯¥à¥¬¥ ï ©¤¥
|
||||
; ¨á¯. ⥪ã騩 á¨áâ. ¯ãâì
|
||||
ld hl,save_path ; ®âªã¤
|
||||
ld de,work_buffer ; ªã¤
|
||||
call copy_string ; ᪮¯¨à. áâபã
|
||||
dec de
|
||||
dec de
|
||||
ld a,(de)
|
||||
cp '\'
|
||||
jr z,$+3
|
||||
inc de
|
||||
write_ini_file__:
|
||||
ld hl,name_ini_file ; ¨¬ï ini-ä ©«
|
||||
ld bc,len_ini_name
|
||||
ldir ; ¤¨áª+¯ãâì + ¨¬ï ini-ä ©«
|
||||
ld hl,work_buffer ; ¯®«®¥ ¨¬ï ä ©« (¤¨áª+¯ãâì+¨¬ï)
|
||||
ld a,20h ; " à娢ë©"
|
||||
ld c,0Ah ; á®§¤ âì ä ©«
|
||||
rst 10h
|
||||
jr c,ini_done ; ®è¨¡ª á®§¤ ¨ï
|
||||
ld (handle_ini_file),a ; á®åà. ¤¥áªà¨¯â®à
|
||||
;
|
||||
call prep_ini_buffer ; § ¯®«¨âì ini-¡ãä¥à
|
||||
;
|
||||
; § ¯¨á âì áâனª¨ ¬¥¥¤¦¥à
|
||||
ld hl,work_buffer ; ¡ãä¥à ¤ ëå
|
||||
ld de,size_ini_part1 ; 97 ç¨á«® § ¯¨á. ¡ ©â
|
||||
ld a,(handle_ini_file) ; ¤¥áªà¨¯â®à
|
||||
ld c,14h ; § ¯¨áì ä ©«
|
||||
rst 10h
|
||||
jr c,close_ini_file ; § ªàëâì ä ©«
|
||||
; § ¯¨á âì ¯ãâì «¥¢®© ¯ ¥«¨
|
||||
ld hl,(__buff) ; ¤à¥á áâப¨ «¥¢®© ¯ ¥«¨
|
||||
ld de,256 ; ç¨á«® § ¯¨á. ¡ ©â
|
||||
ld a,(handle_ini_file) ; ¤¥áªà¨¯â®à
|
||||
ld c,14h ; § ¯¨áì ä ©«
|
||||
rst 10h
|
||||
jr c,close_ini_file ; § ªàëâì ä ©«
|
||||
; § ¯¨á âì ¯ãâì ¯à ¢®© ¯ ¥«¨
|
||||
ld hl,(__buff1) ; ¤à¥á áâப¨ ¯à ¢®© ¯ ¥«¨
|
||||
ld de,256 ; ç¨á«® § ¯¨á. ¡ ©â
|
||||
ld a,(handle_ini_file) ; ¤¥áªà¨¯â®à
|
||||
ld c,14h ; § ¯¨áì ä ©«
|
||||
rst 10h
|
||||
jp close_ini_file ; § ªàëâì ä ©«
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20>®¤£®â®¢¨âì ¡ãä¥à ¤«ï § ¯¨á¨ ¢ ini-ä ©«
|
||||
;-------------------------------------------------
|
||||
prep_ini_buffer:
|
||||
; €ªâ¨¢ ï ¯ ¥«ì
|
||||
ld a,(cur_panel) ; 0=«¥¢ ï, 80h=¯à ¢ ï
|
||||
ld (work_buffer),a ;+0
|
||||
;or a
|
||||
; ª®à४⮠᪮¯¨à®¢ âì ¯ ¥«¥-§ ¢¨á¨¬ë¥ ï祩ª¨
|
||||
;push af
|
||||
;call nz,change_panel
|
||||
call prep_ini_buffer1
|
||||
;pop af
|
||||
;call nz,change_panel
|
||||
;
|
||||
; <20> áªà áª ä ©«®¢
|
||||
ld a,(hilight_enable)
|
||||
ld (work_buffer+3),a
|
||||
; <20>àïâ âì ¬ëèªã ¯à¨ à ¡®â¥ á ª« ¢®©
|
||||
ld a,(hidden_mouse) ; ä« £ (¢ 0-© áâà. ”Œ)
|
||||
ld (work_buffer+4),a
|
||||
; ”« £ ¢ë¢®¤ ¡ãª¢ë ०¨¬ á®àâ¨à®¢ª¨
|
||||
ld a,(sort_char_flag)
|
||||
ld (work_buffer+11),a
|
||||
; ”« £ ¢ë¢®¤ á㬬 ன ¨ä®à¬ 樨 (¢¨§ã ¯ ¥«¥©)
|
||||
ld a,(flag_summary_info)
|
||||
ld (work_buffer+12),a
|
||||
; ‘¬¥é¥¨¥ ªãàá®à ¢¨§ ¯à¨ ¢ë¤¥«¥¨¨ ä ©«®¢
|
||||
ld a,(enable_down_mark)
|
||||
ld (work_buffer+13),a
|
||||
; ”« £ ¢ë¢®¤ ç ᮢ
|
||||
ld a,(enable_clock)
|
||||
ld (work_buffer+14),a
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï ¢ë室 ¨§ ¬¥¥¤¦¥à
|
||||
ld a,(confirm_quit)
|
||||
ld (work_buffer+15),a
|
||||
; ”« £ ®â¬¥âª¨ ¯ ¯®ª
|
||||
ld a,(mark_folders)
|
||||
ld (work_buffer+16),a
|
||||
; ”« £ ¢à¥¬. ¯à®á¬®âà á¨áâ. íªà ¯® Esc
|
||||
ld a,(flag_esc)
|
||||
ld (work_buffer+17),a
|
||||
; ”« £ ®âà ¡®âª¨ Home/End ¢ ª®¬-áâப¥ ¯à¨ ®âªà. ¯ ¥«ïå
|
||||
ld a,(move_home_end)
|
||||
ld (work_buffer+18),a
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï ¯¥à¥§ ¯¨á¨ ¯à¨ ª®¯¨à®¢ ¨¨ (Copy)
|
||||
;ld a,()
|
||||
ld (work_buffer+88),a
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï ¯¥à¥§ ¯¨á¨ ¯à¨ ¯¥à¥¬¥é¥¨¨ (Move)
|
||||
;ld a,()
|
||||
ld (work_buffer+89),a
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï ¯à¨ 㤠«¥¨¨ (Delete)
|
||||
ld a,(del_confirm)
|
||||
ld (work_buffer+90),a
|
||||
; ”« £ ¯®¤â¢¥à¦¤¥¨ï 㤠«¥¨ï ¥ ¯ãáâëå ¯ ¯®ª (Delete non-empty folders)
|
||||
ld a,(flag_del_non_empty)
|
||||
ld (work_buffer+91),a
|
||||
; <20>¥à¥ª ç âì ¬ áᨢ 梥⮢ ¬¥¥¤¦¥à
|
||||
ld hl,color_array
|
||||
ld de,work_buffer+23 ; ç «® 梥â. ¬ áᨢ ¢ ini-ä ©«¥
|
||||
ld bc,len_color_array
|
||||
ldir
|
||||
ret
|
||||
|
||||
|
||||
; Š®¯¨à®¢ ¨¥ ¢ ini-¡ãä¥à ¯ ¥«¥-§ ¢¨á¨¬ëå ï祥ª
|
||||
prep_ini_buffer1:
|
||||
; <20>®¬¥à ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld a,(disk)
|
||||
ld (work_buffer+1),a
|
||||
; <20>®¬¥à ¤¨áª ¯ áá. ¯ ¥«¨
|
||||
ld a,(disk1)
|
||||
ld (work_buffer+2),a
|
||||
; <20>¥¦¨¬ë á®àâ¨à®¢®ª ¯ ¥«¥©
|
||||
ld hl,(sort_type) ; ªâ.
|
||||
ld (work_buffer+5),hl
|
||||
ld hl,(sort_type1) ; ¯ áá.
|
||||
ld (work_buffer+7),hl
|
||||
; ”®à¬ âë ¯ ¥«¥©
|
||||
ld a,(format_mode) ; ªâ.
|
||||
ld (work_buffer+9),a
|
||||
ld a,(format_mode1) ; ¯ áá.
|
||||
ld (work_buffer+10),a
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
array_read equ 0C000h ; ¡ãä¥à mnu-ä ©«
|
||||
|
||||
;-------------------------------------------------
|
||||
; —⥨¥ ä ©« fm.mnu
|
||||
;-------------------------------------------------
|
||||
read_mnu_file:
|
||||
; ¯à®¢¥à¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï Far-
|
||||
ld bc,0146h ; ¯®«ãç¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||||
ld hl,env_name ; ¨¬ï ¯¥à¥¬¥®©
|
||||
ld de,work_buffer ; ¡ãä¥à ¤«ï § ç¥¨ï ¯¥à¥¬¥®©
|
||||
rst 10h
|
||||
jr c,no_mnu_string ; ®è¨¡ª
|
||||
or a
|
||||
jr nz,read_mnu_file__ ; ¯¥à¥¬¥ ï ©¤¥
|
||||
; ¨á¯. ⥪ã騩 á¨áâ. ¯ãâì
|
||||
ld hl,save_path ; ®âªã¤
|
||||
ld de,work_buffer ; ªã¤
|
||||
call copy_string ; ᪮¯¨à. áâபã
|
||||
dec de
|
||||
dec de
|
||||
ld a,(de)
|
||||
cp '\'
|
||||
jr z,$+3
|
||||
inc de
|
||||
read_mnu_file__:
|
||||
push de ; ª®¥æ áâப¨ ¯¥à¥¬¥®© ®ªà㦥¨ï
|
||||
ld hl,name_mnu_file ; ¨¬ï mnu-ä ©«
|
||||
ld bc,len_mnu_name
|
||||
ldir ; ª ¤¨áª+¯ãâì + ¨¬ï mnu-ä ©«
|
||||
; ©â¨ ä ©«
|
||||
ld hl,work_buffer ; ¨¬ï ä ©« (¤¨áª+¯ãâì)
|
||||
ld de,work_buffer+127;255 ; ¡ãä¥à
|
||||
ld bc,0119h
|
||||
ld a,20h ; " à娢ë©"
|
||||
rst 10h
|
||||
pop de ; ª®¥æ áâப¨ ¯¥à¥¬¥®© ®ªà㦥¨ï
|
||||
jr nc,found_mnu_file ; ä ©« ©¤¥
|
||||
no_mnu_string:
|
||||
xor a ; false
|
||||
ld (enable_mnu_file),a ; ä« £ «¨ç¨ï mnu-ä ©«
|
||||
jr mnu_done
|
||||
;
|
||||
found_mnu_file:
|
||||
ld hl,work_buffer ; ¯®«®¥ ¨¬ï ä ©« (¤¨áª+¯ãâì+¨¬ï)
|
||||
ld a,1 ; ç⥨¥
|
||||
ld c,11h ; ®âªàëâì ä ©«
|
||||
rst 10h
|
||||
jr c,no_mnu_string ; ®è¨¡ª ®âªàëâ¨ï
|
||||
ld (handle_mnu_file),a ; á®åà. ¤¥áªà¨¯â®à
|
||||
; ¯à®ç¨â âì ä ©«
|
||||
ld hl,array_read ; 0C000h ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
ld de,73*52 ; 3796 ¬ ªá. ç¨á«® ç¨â ¥¬ëå ¡ ©â
|
||||
ld c,13h ; ç⥨¥ ä ©«
|
||||
rst 10h
|
||||
ld a,true
|
||||
jr nc,read_mnu_ok ; ¡¥§ ®è¨¡®ª
|
||||
xor a
|
||||
read_mnu_ok:
|
||||
ld (enable_mnu_file),a ; ä« £ «¨ç¨ï mnu-ä ©«
|
||||
ld hl,array_read
|
||||
add hl,de
|
||||
ld (hl),0 ; ¢ ª®¥æ ä ©«
|
||||
db 3Eh ; ld a,..
|
||||
handle_mnu_file:
|
||||
db -1
|
||||
ld c,12h ; § ªàëâì ä ©«
|
||||
rst 10h
|
||||
mnu_done:
|
||||
jp restore_sys_path ; ¢®ááâ. ⥪. ¯ãâì
|
||||
141
MOD2/SPACE.ASM
Executable file
@ -0,0 +1,141 @@
|
||||
;-----------------------------------------------------------
|
||||
; ‚ëç¨á«¨âì ᢮¡®¤®¥ ¬¥áâ® 2 ¤¨áª å ¯ ¥«¥©
|
||||
;-----------------------------------------------------------
|
||||
get_total_free_space:
|
||||
; ªâ. ¯ ¥«ì
|
||||
ld hl,free_space_disk ; ï祩ª¨ ªâ. ¯ ¥«¨
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
ld b,a
|
||||
ld a,(disk) ; ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld c,a
|
||||
push bc
|
||||
call get_free_space ; ᢮¡. ¬¥áâ® ¤¨áª¥
|
||||
pop bc
|
||||
ld a,(disk1) ; ¤¨áª ¯ áá. ¯ ¥«¨
|
||||
cp c ; ¤¨áª¨ ¯ ¥«ïå à ¢ë ?
|
||||
jr nz,get_free_noact ; ¥â
|
||||
ld hl,free_space_disk ; ï祩ª¨ ªâ. ¯ ¥«¨
|
||||
ld de,free_space_disk1 ; ï祩ª¨ ¯ áá. ¯ ¥«¨
|
||||
ld bc,4
|
||||
ldir
|
||||
ret
|
||||
;
|
||||
get_free_noact:
|
||||
; ¯ áá. ¯ ¥«ì
|
||||
ld c,a ; ®¬¥à ¤¨áª
|
||||
ld a,(format_mode1) ; ä®à¬ â ¯ áá. ¯ ¥«¨
|
||||
ld b,a
|
||||
ld hl,free_space_disk1 ; ï祩ª¨ ¯ áá. ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
; ‚ëç¨á«¨âì ᢮¡®¤®¥ ¬¥áâ® ¤¨áª¥
|
||||
; ¢å®¤: c=®¬¥à ¤¨áª (A=0, B=1,...)
|
||||
; b=ä®à¬ â ¯ ¥«¨
|
||||
; hl=ï祩ª¨ "free_space_disk" ¯ ¥«¨
|
||||
;-------------------------------------------------
|
||||
get_free_space:
|
||||
ld a,(flag_summary_info) ; ä« £ ¢ë¢®¤ á㬬 ன ¨äë
|
||||
or a
|
||||
ret z ; false
|
||||
bit 6,b ; ᯥª-ä®à¬ â
|
||||
ret nz
|
||||
; ¢ë¢¥á⨠®ª® "Calculating free space..."
|
||||
push bc
|
||||
push hl
|
||||
ld hl,win_free_disk ; ®¯¨á â¥«ì ®ª
|
||||
call WinSimple ; ¢ë¢¥á⨠®ª®
|
||||
pop hl
|
||||
pop bc
|
||||
ld a,c
|
||||
push hl
|
||||
bit 6,b ; ᯥª-ä®à¬ â
|
||||
jr nz,get_free_spec
|
||||
;----------------------------------------------------
|
||||
; ‚ëç¨á«¨âì ᢮¡. ¬¥áâ® MS-DOS ¤¨áª¥
|
||||
;----------------------------------------------------
|
||||
ld c,3 ; ¨ä ® ¤¨áª¥
|
||||
rst 10h
|
||||
jr nc,get_free_ok
|
||||
ld bc,0
|
||||
ld e,c
|
||||
ld d,c
|
||||
jr get_free__
|
||||
;
|
||||
get_free_ok:
|
||||
; a=à §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||
; bc=à §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||||
; de=᢮¡. ª« áâ¥à®¢
|
||||
push de
|
||||
ld hl,0
|
||||
add hl,bc ; ¢ëç¨á«¨âì à §¬¥à ª« áâ¥à
|
||||
dec a
|
||||
jr nz,$-2
|
||||
ex de,hl ; de=à §¬¥à ª« áâ¥à
|
||||
pop bc ; ᢮¡. ª« áâ¥à®¢
|
||||
call mul_bcde ; bc*de=hlbc ᢮¡. ¬¥áâ®
|
||||
ex de,hl
|
||||
get_free__:
|
||||
pop hl
|
||||
; ¬«.à §àï¤
|
||||
ld (hl),c ; hl=free_space_disk (free_space_disk1)
|
||||
inc hl
|
||||
ld (hl),b
|
||||
inc hl
|
||||
; áâ.à §àï¤
|
||||
ld (hl),e
|
||||
inc hl
|
||||
ld (hl),d
|
||||
; § ªàëâì ®ª® "Calculating free space..."
|
||||
jp CloseWinSimple
|
||||
|
||||
|
||||
|
||||
;----------------------------------------------------
|
||||
; ‚ëç¨á«¨âì ᢮¡. ¬¥á⮠ᯥªâà㬮¢áª®¬ ¤¨áª¥
|
||||
; (®â¤¥«¨âì trd-ä®à¬ â ®â scl-ä®à¬ â )
|
||||
; (655,360 ¡ ©â trd-¤¨áª )
|
||||
; ¢å®¤: hl 㦥 ¢ á⥪¥
|
||||
; a=®¬¥à ¤¨áª
|
||||
;----------------------------------------------------
|
||||
get_free_spec:
|
||||
; ¢ëç¨á«¨âì ç¨á«® ᢮¡. ª« áâ¥à®¢
|
||||
; ...
|
||||
;
|
||||
ld de,640; ; ᢮¡. ª« áâ¥à®¢
|
||||
;
|
||||
ld a,1 ; à §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||
ld bc,1024 ; à §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||||
jr get_free_ok ; § ¯®«¨âì áâபã
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Ž¡®¢«¥¨¥ ᯨ᪠¯ ¥«¨ ¯à¨ ¢¨£ 樨 ¯® ¯ ¯ª ¬
|
||||
;-----------------------------------------------------------
|
||||
fresh_list_panel:
|
||||
call read_new_folder ; ®¢ë© ᯨ᮪ ª â «®£ + à §¬¥à ¯ ¯ª¨
|
||||
ret c
|
||||
call sorting ; à §¤¥«ìë© á¯¨á®ª 㪠§ ⥫¥© + á®àâ. ᯨáª
|
||||
fresh_list_pan:
|
||||
; ¢ëç¨á«¨âì ᢮¡. ¬¥áâ® ¤¨áª
|
||||
ld hl,free_space_disk ; ï祩ª¨ ªâ. ¯ ¥«¨
|
||||
ld a,(format_mode)
|
||||
ld b,a
|
||||
ld a,(disk)
|
||||
ld c,a
|
||||
db 3Eh ; ld a,..
|
||||
enter_to_folder:
|
||||
db false ; ä« £ " ¢¨£ æ¨ï ¯® ¯ ¯ª ¬"
|
||||
or a
|
||||
call z,get_free_space
|
||||
db 21h ; ld hl,..
|
||||
fresh_list_point:
|
||||
dw 0 ; á®åà. ¯®«®¦. 㪠§ ⥫ï
|
||||
ld (cur_pointer),hl ; ⥪. ¯®«®¦. 㪠§ ⥫ï
|
||||
db 21h ; ld hl,..
|
||||
fresh_list_offset:
|
||||
dw 0 ; á®åà. ᬥé. ᯨáª
|
||||
ld (offset_list),hl ; ᬥ饨¥ ᯨáª
|
||||
jp A20FC ; ¢ë¢®¤ ¯ ¥«¨
|
||||
360
MOD2/UTILS.ASM
Executable file
@ -0,0 +1,360 @@
|
||||
max_width_dest equ 34 ; à §¬¥à ¡ãä¥à áâப¨ ®¯¨á ⥫¥©
|
||||
|
||||
|
||||
|
||||
;--------------------------------------------------------------
|
||||
; ‘à ¢¥¨¥ ¯ã⥩ (¨ ¤¨áª®¢) ¤¢ãå ¯ ¥«¥©
|
||||
; ¢ë室: Z - à ¢ë
|
||||
; NZ - ¥ à ¢ë
|
||||
;--------------------------------------------------------------
|
||||
compare_path_two_panels:
|
||||
; áà ¢¨âì ¤¨áª¨
|
||||
ld a,(disk) ; ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld hl,disk1 ; ¤¨áª ¯ áá. ¯ ¥«¨
|
||||
cp (hl)
|
||||
ret nz
|
||||
; áà ¢¨âì ¯ãâ¨
|
||||
ld hl,(__buff) ; ¯ãâì ªâ. ¯ ¥«¨
|
||||
ld de,(__buff1) ; ¯ãâì ¯ áá. ¯ ¥«¨
|
||||
comp_path_two_pan:
|
||||
ld a,(de)
|
||||
cp (hl)
|
||||
ret nz
|
||||
inc de
|
||||
inc hl
|
||||
ld a,(de)
|
||||
or a
|
||||
jr nz,comp_path_two_pan
|
||||
cp (hl)
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;--------------------------------------------------------------
|
||||
; <20>®¨áª ®â¬¥ç¥®© § ¯¨á¨ ¢ ᯨ᪥ ¯ ¥«¨
|
||||
; (¯®¨áª ¨¤¥â á ç « ᯨ᪠)
|
||||
; ¢ë室: hl= ©¤¥ ï § ¯¨áì
|
||||
; de=ï祩ª âਡãâ § ¯¨á¨
|
||||
; a= âਡãâ § ¯¨á¨
|
||||
; "Carry" - ¥ 諨 § ¯¨áì
|
||||
;--------------------------------------------------------------
|
||||
scan_mark_records:
|
||||
ld bc,(all_files) ; ç¨á«® § ¯¨á¥© ᯨáª
|
||||
inc bc
|
||||
ld hl,0 ; ç âì á ç « ᯨáª
|
||||
ld (scan_mark_numb+1),bc
|
||||
ld (scan_mark_loop+1),hl
|
||||
scan_mark_loop:
|
||||
ld hl,0 ; á«¥¤. ¯®«®¦¥¨¥ ¢ ᯨ᪥
|
||||
scan_mark_numb:
|
||||
ld bc,0 ; ç¨á«® ®áâ ¢è¨åáï § ¯¨á¥© ¢ ᯨ᪥
|
||||
push hl
|
||||
call get_record1 ; ᪠¨à. ᯨ᮪ ¯ ¥«¨
|
||||
ld (scan_mark_rec+1),hl
|
||||
ld (attr_record),a ; âਡãâ ä ©« (£«®¡. ï祩ª )
|
||||
inc de
|
||||
pop hl
|
||||
inc hl ; á«¥¤. § ¯¨áì
|
||||
dec bc
|
||||
ld (scan_mark_loop+1),hl
|
||||
ld (scan_mark_numb+1),bc
|
||||
ld a,c
|
||||
or b
|
||||
scf
|
||||
ret z ; ª®¥æ ᯨáª
|
||||
ld a,(de) ;+12 ï祩ª ®â¬¥âª¨
|
||||
and 80h
|
||||
jr z,scan_mark_loop ; § ¯¨áì ¥ ®â¬¥ç¥
|
||||
; 諨 § ¯¨áì
|
||||
scan_mark_rec:
|
||||
ld hl,0 ; ¤à¥á § ¯¨á¨
|
||||
dec de
|
||||
ld a,(de) ;+11 âਡãâ ä ©«
|
||||
or a ; á¡à. "Carry"
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Ž£à ¨ç¥¨¥ ¡à ®© áâப¨ ¯¥à¢ë¬¨ 34-¬ï ᨬ¢®« ¬¨
|
||||
; á æ¥â஢ª®©.
|
||||
; ¢å®¤: hl=¡ãä¥à ¢¢®¤ ~input line~
|
||||
; de=ªã¤
|
||||
;-----------------------------------------------------------
|
||||
copy_dest_name:
|
||||
push hl
|
||||
push de
|
||||
; ®ç¨áâ¨âì áâப㠮¯¨á ⥫ï
|
||||
ld b,max_width_dest ; 34 à §¬¥à ¡ãä¥à
|
||||
ld a," "
|
||||
ld (de),a
|
||||
inc de
|
||||
djnz $-2
|
||||
xor a
|
||||
ld (width_dest1__),a ; á¡à. ä« £ ¯¥à¥¯®«. áâப¨
|
||||
dec hl
|
||||
ld a,(hl) ;+4 ¤«¨ ¢¢¥¤. áâப¨
|
||||
cp max_width_dest+1 ; 34+1
|
||||
jr c,$+7 ; ¤«¨ ¯ã⨠=< 32
|
||||
ld a,max_width_dest ; 34
|
||||
ld (width_dest1__),a ; ãáâ. ä« £ ¯¥à¥¯®«. áâப¨
|
||||
width_dest__:
|
||||
ld c,a
|
||||
; æ¥â஢ª ¨¬¥¨
|
||||
ld a,max_width_dest ; 34 è¨à¨ ¡ãä¥à áâப¨
|
||||
sub c
|
||||
srl a ; /2
|
||||
ld e,a
|
||||
ld d,0
|
||||
ld b,d
|
||||
pop hl ; ªã¤
|
||||
add hl,de
|
||||
ex de,hl ; de= ç «® áâப¨ ¢ ®¯¨á ⥫¥
|
||||
pop hl ; ®âªã¤
|
||||
; ᪮¯¨à. áâபã
|
||||
ld a,(hl)
|
||||
cp "a"
|
||||
jr c,$+4
|
||||
res 5,a ; a..z -> A..Z
|
||||
ld (de),a
|
||||
inc hl
|
||||
inc de
|
||||
dec bc
|
||||
ld a,c
|
||||
or b
|
||||
jr nz,$-13
|
||||
db 3Eh ; ld a,..
|
||||
width_dest1__:
|
||||
db false
|
||||
or a
|
||||
ret z
|
||||
; § ¯¨á âì ª®æ¥¢ë¥ ".."
|
||||
dec de
|
||||
dec de
|
||||
ld a,"."
|
||||
ld (de),a
|
||||
inc de
|
||||
ld (de),a
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘ª®¯¨à®¢ âì ¨á室®¥ ¨¬ï ä ©« /¯ ¯ª¨ "file.ext"
|
||||
; ¢ áâப㠮¯¨á â¥«ï ®ª .
|
||||
; ¢å®¤: bc=ªã¤
|
||||
; ¢ë室: CF - ".." ⥪ãé ï § ¯¨áì
|
||||
;-------------------------------------------------
|
||||
copy_source_name:
|
||||
ld hl,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||||
ld a,l
|
||||
or h
|
||||
ret nz
|
||||
call get_record ; ⥪. § ¯¨áì
|
||||
ld (attr_record),a ; âਡãâ ä ©« (£«®¡. ï祩ª )
|
||||
ld a,(hl) ; ¨¬ï ä ©«
|
||||
cp "."
|
||||
scf
|
||||
ret z ; ⥪ã騩 ".."
|
||||
;-----------------------------------------------------------
|
||||
; ‘ª®¯¨à®¢ âì ¨¬ï ä ©« "file.ext" ¨ ®âæ¥â஢ âì ¢ áâப¥
|
||||
; ¢å®¤: hl=§ ¯¨áì ä ©«
|
||||
; bc=áâப ®¯¨á â¥«ï ®ª
|
||||
; ¢ë室: § ¯®«¥ë© ¡ãä¥à temp_fname
|
||||
;-----------------------------------------------------------
|
||||
copy_cur_fname:
|
||||
call copyfname
|
||||
; æ¥â஢ª ¨¬¥¨
|
||||
ld a,12 ; ¡ãä¥à áâப¨
|
||||
sub c
|
||||
srl a ; /2
|
||||
ld l,a
|
||||
ld h,0
|
||||
ld b,h
|
||||
add hl,de
|
||||
ex de,hl ; de= ç «® áâப¨ ¢ ®¯¨á ⥫¥
|
||||
push bc
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
ldir
|
||||
pop bc
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
ld de,temp_fname ; ªã¤
|
||||
ldir
|
||||
xor a
|
||||
ld (de),a
|
||||
ret
|
||||
|
||||
|
||||
; ¢å®¤: bc=ªã¤
|
||||
; ¢ë室: CF - ".." ⥪ãé ï § ¯¨áì
|
||||
copyname:
|
||||
ld hl,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||||
ld a,l
|
||||
or h
|
||||
ret nz
|
||||
call get_record ; ⥪. § ¯¨áì
|
||||
ld (attr_record),a ; âਡãâ ä ©« (£«®¡. ï祩ª )
|
||||
ld a,(hl) ; ¨¬ï ä ©«
|
||||
cp "."
|
||||
scf
|
||||
ret z ; ⥪ã騩 ".."
|
||||
call copyfname
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
xor a
|
||||
ld b,a
|
||||
push bc
|
||||
ldir
|
||||
;inc hl
|
||||
ld (hl),a
|
||||
ex de,hl
|
||||
ld (hl)," "
|
||||
inc hl
|
||||
ld (hl),"t"
|
||||
inc hl
|
||||
ld (hl),"o"
|
||||
inc hl
|
||||
ld (hl),":"
|
||||
inc hl
|
||||
pop bc
|
||||
ld a,12
|
||||
sub c
|
||||
ret z
|
||||
; ¤®¯¨á âì ¯à®¡¥«ë
|
||||
ld (hl)," "
|
||||
inc hl
|
||||
dec a
|
||||
jr nz,$-4
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
; ᪮¯¨à. ¨¬ï ä ©«
|
||||
; ¢å®¤: bc=ªã¤ (¡ãä¥à 12 ¡ ©â)
|
||||
; hl=¨¬ï ä ©«
|
||||
; ¢ë室: c=¤«¨ ¨¬¥¨
|
||||
copyfname:
|
||||
; ®ç¨áâ¨âì áâப㠮¯¨á ⥫ï
|
||||
push bc
|
||||
ld a," "
|
||||
ld d,12
|
||||
ld (bc),a
|
||||
inc bc
|
||||
dec d
|
||||
jr nz,$-3
|
||||
; ¨¬ï ¢ ä®à¬ â file.ext
|
||||
ld ix,work_buffer ; ¢à¥¬. ¡ãä¥à
|
||||
ld d,1 ; ¥ ¬¥ïâì ॣ¨áâà ¡ãª¢
|
||||
bit 4,a ; âਡãâ ä ©«
|
||||
jr nz,$+19 ; ¯ ¯ª
|
||||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||||
and form_trd ; 6-© ¡¨â ᯥª-ä®à¬ â
|
||||
jr z,$+7
|
||||
call fill_med_spec_name ; ᯥª-¨¬ï
|
||||
jr $+10
|
||||
call fill_med1__ ; "Filename.Ext" (¢á¥£¤ ¢ë¢®¤¨â 12 ᨬ¢.)
|
||||
jr $+5
|
||||
call dir_name_med ; ¢ë¢®¤ ¯ ¯ª¨ (¢á¥£¤ ¢ë¢®¤¨â 12 ᨬ¢.)
|
||||
; ã§ âì ¤«¨ã ¨¬¥¨
|
||||
ld a,15 ; ª®áâ â
|
||||
sub e
|
||||
ld c,a
|
||||
pop de ; ªã¤
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Ž£à ¨ç¥¨¥ ¡à ®© áâப¨ ¯¥à¢ë¬¨ 34-¬ï ᨬ¢®« ¬¨
|
||||
; ¢å®¤: hl=¡ãä¥à ¢¢®¤ ~input line~
|
||||
; de=ªã¤
|
||||
;-----------------------------------------------------------
|
||||
copy_dstname:
|
||||
push hl
|
||||
push de
|
||||
; ®ç¨áâ¨âì áâப㠮¯¨á ⥫ï
|
||||
ld b,max_width_dest ; 34 à §¬¥à ¡ãä¥à
|
||||
ld a," "
|
||||
ld (de),a
|
||||
inc de
|
||||
djnz $-2
|
||||
xor a
|
||||
ld (width_dst1__),a ; á¡à. ä« £ ¯¥à¥¯®«. áâப¨
|
||||
dec hl
|
||||
ld a,(hl) ;+4 ¤«¨ ¢¢¥¤. áâப¨
|
||||
cp max_width_dest+1 ; 34+1
|
||||
jr c,$+7 ; ¤«¨ ¯ã⨠=< 32
|
||||
ld a,max_width_dest ; 34
|
||||
ld (width_dst1__),a ; ãáâ. ä« £ ¯¥à¥¯®«. áâப¨
|
||||
ld c,a
|
||||
ld b,0
|
||||
pop de ; ªã¤
|
||||
pop hl ; ®âªã¤
|
||||
; ᪮¯¨à. áâபã
|
||||
ld a,(hl)
|
||||
cp "a"
|
||||
jr c,$+4
|
||||
res 5,a ; a..z -> A..Z
|
||||
ld (de),a
|
||||
inc hl
|
||||
inc de
|
||||
dec bc
|
||||
ld a,c
|
||||
or b
|
||||
jr nz,$-13
|
||||
db 3Eh ; ld a,..
|
||||
width_dst1__:
|
||||
db false
|
||||
or a
|
||||
ret z
|
||||
; § ¯¨á âì ª®æ¥¢ë¥ ".."
|
||||
dec de
|
||||
dec de
|
||||
ld a,"."
|
||||
ld (de),a
|
||||
inc de
|
||||
ld (de),a
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘ª®¯¨à®¢ âì ¨¬ï ä ©« "file.ext" ¨ ®âæ¥â஢ âì ¢ áâப¥
|
||||
; ¯à¨ ᪠¨à®¢ ¨¨ ¯ ¯ª¨.
|
||||
; ¢å®¤: hl=¨¬ï ä ©« ¢ ä®à¬ ⥠file.ext
|
||||
; de=áâப ®¯¨á â¥«ï ®ª
|
||||
;-----------------------------------------------------------
|
||||
copy_cur_fname_alt:
|
||||
; ®ç¨áâ¨âì áâப㠮¯¨á ⥫ï
|
||||
push de
|
||||
ld a," "
|
||||
ld bc,0C00h ; áç¥â稪¨
|
||||
ld (de),a
|
||||
inc de
|
||||
djnz $-2
|
||||
pop de
|
||||
push hl
|
||||
; ã§ âì ¤«¨ã ¨¬¥¨
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr z,$+6
|
||||
inc c ; ++¤«¨ ¨¬¥¨
|
||||
inc hl
|
||||
jr $-6
|
||||
; æ¥â஢ª ¨¬¥¨
|
||||
ld a,12 ; ¡ãä¥à áâப¨
|
||||
sub c
|
||||
srl a ; /2
|
||||
ld l,a
|
||||
ld h,0
|
||||
ld b,h
|
||||
add hl,de
|
||||
ex de,hl ; de= ç «® áâப¨ ¢ ®¯¨á ⥫¥
|
||||
pop hl ; ®âªã¤
|
||||
ldir
|
||||
ret
|
||||
271
MOD2/__COPY1.ASM
Executable file
@ -0,0 +1,271 @@
|
||||
;===========================================================
|
||||
;
|
||||
; <20>à®æ¥áá ª®¯¨à®¢ ¨ï ä ©«®¢
|
||||
;
|
||||
;===========================================================
|
||||
copy: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||||
ret z
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
ld a,(format_mode) ; ⥪. ä®à¬ â ¯ ¥«¨
|
||||
and form_info+form_qview ; info, qview
|
||||
ret nz
|
||||
; ᪮¯¨à. ¨¬ï ä ©« /¯ ¯ª¨ (¥á«¨ ¥â ¢ë¤¥«.)
|
||||
call prep_copy_name ; áâநâì ¨¬ï ª®¯¨à. ä ©« ¢ ®¯¨á â. ®ª® ¨ ¤à.
|
||||
ret c ; ⥪ã騩 ".." ¨ ¥â ®â¬¥ç. ä ©«®¢
|
||||
ld a,1 ; ª®¯¨à®¢ ¨¥
|
||||
ld (scan_mode),a ; ०¨¬ à ¡®âë tree-¯à®æ¥¤ãàë
|
||||
jp __tree;
|
||||
;
|
||||
; ¢ë¢®¤ ç «ì®£® ®ª
|
||||
ld hl,dial_copy ; ®¯¨á â¥«ì ®ª
|
||||
call DialogW
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Copy"
|
||||
ret nz
|
||||
; ¢ë¢®¤ ®ª ¯à®æ¥áá
|
||||
ld hl,copy_file ; ®¡à ¡®â稪 ¯à®æ¥áá ~Process Line~
|
||||
ld (subrout_process),hl
|
||||
ld hl,dial_copy_total_process ; ®¯¨á â¥«ì ®ª á 2-¬ï «¨¥©ª ¬¨
|
||||
call DialogW
|
||||
cp evCommand; ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz;
|
||||
ld a,(hl); ;+1 what
|
||||
cp cmOkey; ; "Yes"
|
||||
ret nz;
|
||||
;
|
||||
; ¢ë¢®¤ ®ª ®è¨¡ª¨ ª®¯¨à®¢ ¨ï
|
||||
ld hl,dial_error_copy
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmSkip ; "Skip"
|
||||
cp cmSkipAll ; "Skip all"
|
||||
cp cmOkey ; "Retry"
|
||||
ret nz
|
||||
; ¢ë¢¥á⨠®ª® ¯à¥àë¢ ¨ï ®¯¥à 樨
|
||||
ld hl,dial_abort ; ®¯¨á â¥«ì ®ª
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Yes"
|
||||
ret nz
|
||||
; ¢ë¢®¤ ®ª "ä ©« 㦥 áãé¥áâ¢ã¥â"
|
||||
; § ¯®«¨âì ï祩ª¨:
|
||||
ld hl,dial_existing
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
ret nz
|
||||
ld a,(hl) ;+1 what
|
||||
cp cmOkey ; "Overwrite"
|
||||
cp cmAll ; "All"
|
||||
cp cmSkip ; "Skip"
|
||||
cp cmSkipAll ; "Skip all"
|
||||
cp cmAppend ; "Append"
|
||||
ret nz
|
||||
;..
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; ˆ¬ï ª®¯¨à. ä ©« ¢ ®¯¨á ⥫¨ ®ª® ¨ ¡ãä¥à áâப¨ "Copy"
|
||||
prep_copy_name:
|
||||
ld hl,input_line_copy ; áâàãªâãà
|
||||
call clear_struct_inline ; ®ç¨áâ¨âì áâàãªâãàã ~input line~
|
||||
ld hl,(__buff1) ; ¯ãâì ¯ áá. ¯ ¥«¨
|
||||
ld de,input_line_copy+5 ; áâப ~input line~
|
||||
ld b,2 ; áç¥â稪 ¤«¨ë áâப¨
|
||||
ld a,(disk1)
|
||||
add a,"A"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,":"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,(hl)
|
||||
ld (de),a
|
||||
or a
|
||||
jr z,$+7
|
||||
inc hl
|
||||
inc de
|
||||
inc b
|
||||
jr $-8
|
||||
dec hl
|
||||
ld a,'\'
|
||||
cp (hl)
|
||||
jr z,$+7
|
||||
inc b
|
||||
ld (de),a
|
||||
inc de
|
||||
xor a
|
||||
ld (de),a
|
||||
ld a,b
|
||||
ld (input_line_copy+4),a ; áâàãªâãà áâப¨ ~input line~
|
||||
; ç «ì®¥ ®ª® ª®¯¨à®¢ ¨ï
|
||||
ld bc,copy_name ; ªã¤
|
||||
call copyname
|
||||
ret c ; ⥪ã騩 ".." ¨ ¥â ®â¬¥ç. ä ©«®¢
|
||||
; ®ª® ¯à®æ¥áá ª®¯¨à®¢ ¨ï á 1-© «¨¥©ª®©
|
||||
ld hl,copy_name-1 ; ®âªã¤
|
||||
ld de,copy_name1 ; ªã¤
|
||||
call copy_string ; (hl) -> (de)
|
||||
ld hl,input_line_copy+5 ; áâàãªâãà áâப¨ ~input line~
|
||||
ld de,copy_name2 ; ªã¤
|
||||
call copy_dstname ; ᪮¯¨à. ¯ãâì+¨¬ï ä ©« /¯ ¯ª¨
|
||||
; ®ª® ¯à®æ¥áá ª®¯¨à®¢ ¨ï á 2-¬ï «¨¥©ª ¬¨
|
||||
ld hl,copy_name-1 ; ®âªã¤
|
||||
ld de,copy_name3 ; ªã¤
|
||||
call copy_string ; (hl) -> (de)
|
||||
ld hl,copy_name2 ; ®âªã¤
|
||||
ld de,copy_name4 ; ªã¤
|
||||
call copy_string ; (hl) -> (de)
|
||||
;
|
||||
; ®ª® "®è¨¡ª ª®¯¨à®¢ ¨ï"
|
||||
ld hl,copy_name-1 ; ®âªã¤
|
||||
ld de,copy_name5 ; ªã¤
|
||||
call copy_string ; (hl) -> (de)
|
||||
; á æ¥â஢ª®© ¨¬¥¨
|
||||
; ¯ãâì § ç¥¨ï ®ª "®è¨¡ª ª®¯¨à®¢ ¨ï"
|
||||
ld hl,input_line_copy+5 ; áâàãªâãà áâப¨ ~input line~
|
||||
ld de,copy_name6 ; ªã¤
|
||||
call copy_dest_name ; ᪮¯¨à. ¯ãâì+¨¬ï ä ©« /¯ ¯ª¨
|
||||
; ¯ãâì § ç¥¨ï ®ª "ä ©« 㦥 áãé¥áâ¢ã¥â"
|
||||
ld hl,copy_name6 ; ®âªã¤
|
||||
ld de,exists_name ; ªã¤
|
||||
call copy_string ; (hl) -> (de)
|
||||
; ¨¬ï ä ©«
|
||||
ld hl,work_buffer+33;
|
||||
dec de;
|
||||
call copy_string; ; (hl) -> (de)
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘®§¤ âì ¯ ¯ªã ¯® ⥪. ¯ã⨠¤¨áª¥ § 票ï
|
||||
;-----------------------------------------------------------
|
||||
create_folder:
|
||||
; á®§¤ âì ⥪. â ࣥâ-¯ãâì ¢ work_buffer+128 ;256
|
||||
; ®á®¢ë¢ ïáì ¡ §®¢®¬ ¯ã⨠work_buffer (â®çª ®âáç¥â )
|
||||
or a;
|
||||
ret
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‘ª®¯¨à®¢ âì ä ©« ⥪. ¯ã⨠¤¨áª § 票ï.
|
||||
; <20>à®æ¥¤ãà «¨¥©ª¨ ¯à®æ¥áá ª®¯¨à®¢ ¨ï.
|
||||
; <20>ਠ§ ¢¥à襨¨ (¨«¨ ¯à¥àë¢ ¨¨) ª®¯¨à®¢ ¨ï
|
||||
; ¢ë¤ ¥â ä« £ "Carry".
|
||||
;-----------------------------------------------------------
|
||||
copy_file:
|
||||
; á®§¤ âì ä ©« ¯® ⥪. â ࣥâ-¯ã⨠(¢ work_buffer+128 ;256)
|
||||
;...
|
||||
scf
|
||||
or a;
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;__tree:
|
||||
; ; ᪮¯¨à. ¯ãâì ªâ. ¯ ¥«¨ ¢® ¢à¥¬. ¡ãä¥à (á®§¤ âì ¡ §®¢ë© ¯ãâì á®àæ )
|
||||
; push hl
|
||||
; ld hl,(__buff) ; ®âªã¤ , ¤à¥á ¯ã⨠ªâ. ¯ ¥«¨
|
||||
; ld de,work_buffer ; ªã¤
|
||||
; ld a,(disk) ; ¤¨áª ¯ ¥«¨
|
||||
; add a,"A"
|
||||
; ld (de),a
|
||||
; inc de
|
||||
; ld a,":"
|
||||
; ld (de),a
|
||||
; inc de
|
||||
; call copy_string ; (hl) -> (de) ¤® ã«ï
|
||||
; pop hl
|
||||
; ld a,(hl)
|
||||
; cp "." ; ".." ?
|
||||
; ret z ; ¢ë©â¨, த¨â. ¯ ¯ª
|
||||
; ;
|
||||
; push de
|
||||
; ;ld a,(format_mode) ; ⥪. 䮬 â ¯ ¥«¨
|
||||
; ;ld b,a
|
||||
; call get_record ; hl= ç «® § ¯¨á¨, a= âਡãâ ä ©«
|
||||
; pop de
|
||||
; and 10h
|
||||
; jr z,__tr1 ; ä ©«, ¥ ¤®¡ ¢«ïâì ¨¬ï ¯ ¯ª¨
|
||||
; ; â¥áâ ª®æ¥¢®© á«¥è
|
||||
; push hl
|
||||
; ex de,hl
|
||||
; dec hl
|
||||
; dec hl
|
||||
; ld a,'\'
|
||||
; cp (hl)
|
||||
; jr z,$+3
|
||||
; inc hl
|
||||
; ld (hl),a
|
||||
; inc hl
|
||||
; ex de,hl ; de=ªã¤
|
||||
; pop hl ; ®âªã¤
|
||||
; ; ¤®¡ ¢¨âì ¨¬ï ¯ ¯ª¨
|
||||
; ; de=ªã¤
|
||||
; ld bc,0044h ; 11 -> 8.3
|
||||
; rst 10h
|
||||
;__tr1: ;
|
||||
; ;call PR;
|
||||
; ld hl,work_buffer
|
||||
; ld c,1Dh ; ãáâ. ⥪. ¯ãâì
|
||||
; rst 10h
|
||||
; ;xor a ; ᪠¨à. ¯ ¯ª¨
|
||||
; ;ld (scan_mode),a ; ०¨¬ à ¡®âë ¯à®æ¥¤ãàë
|
||||
; jp ScanTree ; ᪠¨à. ¯ ¯ªã
|
||||
; ;ret;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; Ÿç¥©ª¨ 1-© «¨¥©ª¨ ¯à®æ¥áá
|
||||
max_file_bytes:
|
||||
dw 0 ; à §¬¥à ä ©« (¯ ¯ª¨)
|
||||
dw 0 ; áâ. à §àï¤
|
||||
;
|
||||
curr_bytes:
|
||||
dw 0 ; ⥪. ç¨á«® ®¡à ¡. ¡ ©â®¢
|
||||
dw 0 ; áâ. à §àï¤
|
||||
|
||||
; Ÿç¥©ª¨ 2-© «¨¥©ª¨ ¯à®æ¥áá
|
||||
max_file_bytes1:
|
||||
dw 0 ; à §¬¥à ä ©« (¯ ¯ª¨)
|
||||
dw 0 ; áâ. à §àï¤
|
||||
;
|
||||
curr_bytes1:
|
||||
dw 0 ; ⥪. ç¨á«® ®¡à ¡. ¡ ©â®¢
|
||||
dw 0 ; áâ. à §àï¤
|
||||
|
||||
|
||||
copy_overwrite:
|
||||
db false ; ä« £ ¯®¤â¢. ¯¥à¥§ ¯¨á¨ ¯à¨ ª®¯¨à®¢ ¨¨
|
||||
229
OBJS/BUTTON.ASM
Executable file
@ -0,0 +1,229 @@
|
||||
;=====================================================================
|
||||
; <20>à®à¨á®¢ª ®¡ê¥ªâ
|
||||
; object ~Button~ (¨¬¥¥â 䮪ãá)
|
||||
; Input: HL=®¯¨á â¥«ì ®¡ê¥ªâ
|
||||
; Format table:
|
||||
; +0 - ®¬¥à ®¡ê¥ªâ ~Claster check buttons"
|
||||
; +1 - Xo «¥¢ ï ¯®§¨æ¨ï ®¡ê¥ªâ
|
||||
; +2 - Xi ¯à ¢ ï ¯®§¨æ¨ï ®¡ê¥ªâ
|
||||
; +3 - Y ¯®§¨æ¨ï ®¡ê¥ªâ
|
||||
; +4 - ®¬¥à ª®¬ ¤ë
|
||||
; +5 - ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
; +6 - ª®â¥ªáâ
|
||||
;---------------------------------------------------------------------
|
||||
; ”®à¬ â ®¯¨á ⥫ï:
|
||||
; db Button ; ®¬¥à ®¡ê¥ªâ
|
||||
; dw 0205h ; Yo,Xo
|
||||
; db " ~O~k ",0 ; ¨¬ï ¡ãâ®
|
||||
; db 18h ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
; db cmOkey ; ®¬¥à ª®¬ ¤ë
|
||||
; db 5 ; ª®â¥ªáâ
|
||||
;=====================================================================
|
||||
PutButton:
|
||||
push iy
|
||||
inc iy ; ¯à®©â¨ ï祩ªã à §¬¥à â ¡«¨æë
|
||||
ld (iy+0),a ; +0 ®¬¥à ®¡ê¥ªâ
|
||||
ld a,(hl) ; X pos
|
||||
inc hl
|
||||
ld c,a
|
||||
add a,(ix+0) ; Pos X from begin screen
|
||||
ld (iy+1),a ; +1 Xo left
|
||||
ld a,(hl) ; Y pos
|
||||
inc hl
|
||||
ld b,a
|
||||
add a,(ix+1) ; Pos Y from begin screen
|
||||
ld (iy+3),a ;+3 Yo
|
||||
call GetPutA
|
||||
ex de,hl
|
||||
ld a,(color_array+24) ; 梥⠤¨ «. ®ª
|
||||
ld c,a
|
||||
ld b,0 ; áç¥â稪 è¨à¨ë ¡ãâ®
|
||||
ld (iy+5),b ; hot-key
|
||||
; ¢áâ ¢¨âì ¨¬ï ¡ãâ®
|
||||
ld a,(de)
|
||||
PButLp1:inc de
|
||||
cp "&"
|
||||
jr nz,PButN0
|
||||
; ¢áâ ¢¨âì hot-¡ãª¢ã
|
||||
ld a,(de)
|
||||
ld (hl),a ; hot-¡ãª¢ã ¢ ¡ãä¥à
|
||||
inc hl
|
||||
inc de
|
||||
push bc
|
||||
ld a,(color_array+25) ; 梥â hot-¡ãª¢ë ¤¨ «. ®ª
|
||||
ld b,a
|
||||
ld a,c ; 梥⠡ãâ®
|
||||
and 0F0h
|
||||
or b
|
||||
ld (hl),a ; âਡãâ
|
||||
pop bc
|
||||
inc hl
|
||||
inc b
|
||||
ld a,(de)
|
||||
inc de
|
||||
PButN0: ld (hl),a
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
inc b
|
||||
ld a,(de)
|
||||
or a
|
||||
jr nz,PButLp1 ; ¥ ª®¥æ ¨¬¥¨
|
||||
inc de
|
||||
ld a,(de) ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
inc de
|
||||
ld (iy+5),a ; hot-ª« ¢¨è
|
||||
ld a,(iy+1) ; Xi left
|
||||
add a,b ; + è¨à¨ ¡ãâ®
|
||||
ld (iy+2),a ; Xi right
|
||||
ex de,hl
|
||||
ld a,(hl) ; ®¯¨á â¥«ì ®¡ê¥ªâ
|
||||
inc hl
|
||||
ld (iy+4),a ; ®¬¥à ª®¬ ¤ë
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
ld (iy+6),a ; ª®â¥ªáâ
|
||||
ld bc,7 ; à §¬¥à â ¡«¨æë ®¡ê¥ªâ "Button"
|
||||
add iy,bc
|
||||
push iy
|
||||
exx
|
||||
pop hl
|
||||
pop de ; de=iy
|
||||
and a
|
||||
sbc hl,de ; de=DialTab+5
|
||||
ld a,l
|
||||
ld (de),a ; à §¬¥à â ¡«¨æë ®¡ê¥ªâ "Button"
|
||||
exx
|
||||
ret
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ”®ªãá ®¡ê¥ªâ "Button"
|
||||
;-------------------------------------------------
|
||||
ButtonI:ld de,color_array+34 ; 梥â Selected buttons
|
||||
ld (set_dial_tmp_inv+1),de
|
||||
ld e,(ix+2) ; Xo left
|
||||
ld d,(ix+4) ; Y
|
||||
ld a,(ix+3) ; Xi right
|
||||
sub e
|
||||
ld c,a
|
||||
call SetDialInv ; ¢ë¤¥«¨âì æ¢¥â®¬
|
||||
ld hl,color_array+26 ; Selected title (®¡ê¥ªâ )
|
||||
ld (set_dial_tmp_inv+1),hl ; ¢®ááâ. ï祩ªã
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;=====================================================================
|
||||
;
|
||||
; Ž¡à ¡®â稪 ᮡë⨩ ®¡ê¥ªâ®¢ "Button"
|
||||
;
|
||||
;=====================================================================
|
||||
EvButton:
|
||||
ld hl,what ; ¯®«¥ ᮡë⨩
|
||||
ld a,(hl) ;+0
|
||||
inc hl
|
||||
cp evMouseFr
|
||||
jr z,EBmouse
|
||||
cp evKeyboard
|
||||
jp z,EBkeys
|
||||
cp evCombKey
|
||||
ret nz
|
||||
bit 7,(ix+1) ; sel or nosel
|
||||
ret nz ; ®¡ê¥ªâ 㦥 ¢ë¤¥«¥
|
||||
ld b,(hl) ;+1 what
|
||||
inc hl
|
||||
ld a,(hl) ;+2 what
|
||||
cp 56h ; ªãàá®à ¢¯à ¢®
|
||||
jr z,tb__
|
||||
push ix
|
||||
ld e,(ix+0) ; à §¬¥à â ¡«¨æë "Button"
|
||||
ld d,0
|
||||
add ix,de
|
||||
bit 7,(ix+0)
|
||||
pop ix
|
||||
ret z ; ¥é¥ ¥ ª®¥æ ®¡ê¥ªâ®¢
|
||||
cp 54h ; ªãàá®à ¢«¥¢®
|
||||
jr z,tb__
|
||||
ld a,b
|
||||
and 00111111b ; ¡¨âë Ctrl, Alt
|
||||
ret nz
|
||||
ld a,(hl) ;+2 what
|
||||
cp 15+80h ; Tab ᪥-ª®¤+80h
|
||||
ret nz
|
||||
; Shift+Tab
|
||||
tb__: xor a
|
||||
ld (_Push+1),a ; Push flag
|
||||
jp SetButton ; select my
|
||||
|
||||
; ‘®¡ë⨥ - ¬ëèª
|
||||
EBmouse:ld e,(hl) ;+1 X coord
|
||||
inc hl
|
||||
ld d,(hl) ;+2 Y coord
|
||||
ld a,d
|
||||
cp (ix+4) ; Y pos button
|
||||
jr nz,get_fr ; if <> exit
|
||||
ld a,e
|
||||
bit 7,(ix+2)
|
||||
jr nz,$+6
|
||||
cp (ix+2) ; Xo pos
|
||||
jr c,get_fr ; <
|
||||
bit 7,(ix+3)
|
||||
jr nz,get_fr
|
||||
cp (ix+3) ; Xi pos
|
||||
jr nc,get_fr ; >
|
||||
xor a
|
||||
inc a
|
||||
ld (_Push+1),a ; Push flag
|
||||
bit 7,(ix+1)
|
||||
jr nz,_Push
|
||||
jr SetButton
|
||||
|
||||
; ‘®¡ë⨥ - ®¡ëç ï ª« ¢¨è
|
||||
EBkeys: xor a
|
||||
ld (_Push+1),a ; Push flag
|
||||
ld a,(hl) ;+1 what ª®¤ ª« ¢¨è¨
|
||||
bit 7,(ix+1) ; Sel or nosel
|
||||
jr nz,EBkeyN
|
||||
cp 9 ; Tab
|
||||
jr z,SetButton ; if tab then set button
|
||||
jr EBkeyN1
|
||||
;
|
||||
EBkeyN: cp 0Dh ; Enter
|
||||
jr z,EBent
|
||||
EBkeyN1:inc hl
|
||||
ld a,(hl) ;+2 what ᪥-ª®¤
|
||||
cp (ix+6) ; hot-¡ãª¢
|
||||
ret nz
|
||||
EBent: ld a,1
|
||||
ld (_Push+1),a
|
||||
SetButton:
|
||||
call MoveObj ; Select Button
|
||||
call ResDialInv ; Reset previos invert
|
||||
ld ix,DialTab+5
|
||||
ld de,color_array+34 ; 梥â Selected buttons
|
||||
ld (set_dial_tmp_inv+1),de
|
||||
ld e,(ix+2) ; Xo
|
||||
ld d,(ix+4) ; Y
|
||||
ld a,(ix+3) ; Xi
|
||||
sub e
|
||||
ld c,a
|
||||
call SetDialInv ; ¢ë¤¥«¨âì ¡ã⮠梥⮬
|
||||
ld de,color_array+26 ; 梥â Selected title (®¡ê¥ªâ )
|
||||
ld (set_dial_tmp_inv+1),de
|
||||
_Push: ld a,0
|
||||
or a
|
||||
jr z,BTexit
|
||||
call PushBut ; § ᢥâ¨âì ªãàá®à
|
||||
ld hl,what
|
||||
ld (hl),evCommand
|
||||
inc hl
|
||||
ld a,(ix+5) ; ®¬¥à ª®¬ ¤ë
|
||||
ld (hl),a
|
||||
get_fr: jp get_fire
|
||||
;
|
||||
; Button exit
|
||||
BTexit: ld hl,what
|
||||
ld (hl),evNothing
|
||||
ret
|
||||
1408
OBJS/DIALOG.ASM
Executable file
64
OBJS/DIALOG1.ASM
Executable file
@ -0,0 +1,64 @@
|
||||
; Ž¡ê¥ªâë, ¥ ¨¬¥î騥 䮪ãá
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
;=====================================================================
|
||||
; <20>à®à¨á®¢ª ®¡ê¥ªâ
|
||||
; Object ~Text Line~ (¥ ¬®¦¥â ¨¬¥âì 䮪ãá)
|
||||
; Input: HL-®¯¨á â¥«ì ®¡ê¥ªâ
|
||||
; Format table: ¥â
|
||||
;---------------------------------------------------------------------
|
||||
; ”®à¬ â ®¯¨á ⥫ï:
|
||||
; db TextLine
|
||||
; dw 0205h ; Yo,Xo
|
||||
; db "Calculating free space...",0
|
||||
;=====================================================================
|
||||
PutTextLine:
|
||||
ld c,(hl) ; X pos
|
||||
inc hl
|
||||
ld b,(hl) ; Y pos
|
||||
inc hl
|
||||
call GetPutA
|
||||
ldi
|
||||
inc de ; ¯à®©â¨ âਡãâ
|
||||
ld a,(hl)
|
||||
cp -1 ; ª®¥æ ®¯¨á â¥«ï ®ª
|
||||
ret z
|
||||
or a ; ª®¥æ ®¯¨á ⥫ï TextLine
|
||||
jr nz,$-8
|
||||
inc hl
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;=====================================================================
|
||||
; <20>à®à¨á®¢ª ®¡ê¥ªâ
|
||||
; Object ~Horizontal Line~ (¥ ¬®¦¥â ¨¬¥âì 䮪ãá)
|
||||
; Input: HL-®¯¨á â¥«ì ®¡ê¥ªâ
|
||||
; Format table: ¥â
|
||||
;---------------------------------------------------------------------
|
||||
; ”®à¬ â ®¯¨á ⥫ï:
|
||||
; db HLine
|
||||
; dw 0801h ; Yo,Xo
|
||||
; db 40 ; ¤«¨ «¨¨¨
|
||||
; db "Ä" ; ᨬ¢®« § ¯®«¥¨ï
|
||||
;=====================================================================
|
||||
PutHLine:
|
||||
ld c,(hl) ; X pos
|
||||
inc hl
|
||||
ld b,(hl) ; Y pos
|
||||
inc hl
|
||||
call GetPutA
|
||||
ld b,(hl) ; ¤«¨ «¨¨¨
|
||||
inc hl
|
||||
ld a,(hl) ; ᨬ¢®« § ¯®«¥¨ï
|
||||
inc hl
|
||||
ld (de),a
|
||||
inc de
|
||||
inc de ; ¯à®©â¨ âਡãâ
|
||||
djnz $-3
|
||||
ret
|
||||
1737
OBJS/HMENU.ASM
Executable file
1207
OBJS/INLINE.ASM
Executable file
1072
OBJS/LISTBOX.ASM
Executable file
1046
OBJS/PALLETE.ASM
Executable file
262
OBJS/PROCESS.ASM
Executable file
@ -0,0 +1,262 @@
|
||||
;-----------------------------------------------------------
|
||||
; <20>à®à¨á®¢ª ®¡ê¥ªâ ~Process Line~.
|
||||
; <20>ਠ¬ ªá. ç¨á«¥ ¬¥ì襬, 祬 è¨à¨ «¨¥©ª¨ ¯à®æ¥áá ,
|
||||
; ¯®£à¥è®áâì ¡®«ìè ï (¥ § ªà 訢 ¥âáï ¢áï «¨¥©ª ).
|
||||
;
|
||||
; Object ~Process Line~
|
||||
; Input: HL-label
|
||||
; Format mouse table:
|
||||
; +0 - Object ~Process line~
|
||||
; +1 - Xo position object
|
||||
; +2 - Xi position object
|
||||
; +3 - Y position object
|
||||
; +4 - ¯®§. ¯¥ç â¨
|
||||
; +5,6 - ª®«-¢® ¥¤¨¨æ 1 ¤¥«¥¨¥ ¯à®æ¥áá
|
||||
; +7,8 - ï祩ª , £¤¥ ⥪. ç¨á«® ¥¤¨¨æ
|
||||
; +9,10 - ¯®¤¯à®£à ¬¬ ¯à®æ¥áá
|
||||
;-----------------------------------------------------------
|
||||
; db ProcesLine
|
||||
; dw 0504h ; Y,X ¯®«®¦.
|
||||
; db 72 ; ¤«¨ «¨¥©ª¨
|
||||
; dw FileBytes ; ¤à¥á ï祩ª¨ á MAX ç¨á«®¬
|
||||
; dw CurrBytes ; ¤à¥á ï祩ª¨ á ⥪. ç¨á«®¬
|
||||
;ConCall:dw 0 ; ¤à¥á ¯®¤¯à®£à ¬¬ë ¯à®æ¥áá
|
||||
;-----------------------------------------------------------
|
||||
;FileBytes:
|
||||
; dw 0,0 ; à §¬¥à ä ©«
|
||||
;CurrBytes:
|
||||
; dw 0,0 ; ⥪. ᬥ饨¥ ¢ ä ©«¥
|
||||
;-----------------------------------------------------------
|
||||
PProcess:
|
||||
ld (iy+1),a ;+0 object
|
||||
ld a,(hl) ; X pos
|
||||
inc hl
|
||||
ld c,a
|
||||
add a,(ix+0) ; Pos X from begin screen
|
||||
ld (iy+2),a ;+1 Xo
|
||||
ld a,(hl) ; Y pos
|
||||
inc hl
|
||||
ld b,a
|
||||
add a,(ix+1) ; Pos Y from begin screen
|
||||
ld (iy+4),a ;+3 Yo
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
add a,(iy+2)
|
||||
ld (iy+3),a
|
||||
ld (iy+5),0 ; ¯®§. ¢ë¢®¤
|
||||
ld e,(hl) ; £¤¥ ¬ ªá.
|
||||
inc hl
|
||||
ld d,(hl)
|
||||
inc hl
|
||||
push ix
|
||||
push hl
|
||||
push bc
|
||||
ex de,hl
|
||||
ld e,(hl) ; HL,IX - max. ¥¤¨¨æ
|
||||
inc hl
|
||||
ld d,(hl)
|
||||
inc hl
|
||||
push de
|
||||
pop ix ; ¬«. à §àï¤
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
ld h,(hl) ; áâ. àï§àï¤
|
||||
ld l,a
|
||||
ld a,(iy+3)
|
||||
sub (iy+2)
|
||||
ld c,a ; ª®«-¢® ¤¥«¥¨© ¯à®æ¥áá (è¨à¨ «¨¥©ª¨)
|
||||
ld b,0
|
||||
call Divis32
|
||||
db 0DDh
|
||||
ld a,l
|
||||
ld (iy+6),a ; +6,+7 ª®íä䍿¨¥â
|
||||
db 0DDh
|
||||
ld a,h
|
||||
ld (iy+7),a
|
||||
pop bc
|
||||
pop hl
|
||||
pop ix
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
ld (iy+8),a
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
ld (iy+9),a
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
ld (iy+10),a
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
ld (iy+11),a
|
||||
call GetPutA
|
||||
ex de,hl
|
||||
ld a,(color_array+52) ; 30h 梥⠫¨¥©ª¨ ¯à®æ¥áá
|
||||
ld c,a
|
||||
ld a,(iy+3)
|
||||
sub (iy+2)
|
||||
ld b,a
|
||||
ld (hl),"°"
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
djnz $-5
|
||||
ex de,hl
|
||||
ld de,12
|
||||
ld (IY+0),e
|
||||
add iy,de
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
;
|
||||
; Ž¡à ¡®â稪 ᮡë⨩ ®¡ê¥ªâ®¢ ~Process Line~
|
||||
;
|
||||
;-----------------------------------------------------------
|
||||
; ¯/¯ ¯à®æ¥áá ¤®«¦ ¢®§¢à é âì "Carry", ¥á«¨
|
||||
; ¯à®æ¥áá § ª®ç¥.
|
||||
EProcess:
|
||||
push ix
|
||||
ld de,EProcNx ; ¤à¥á ¢ë室
|
||||
push de
|
||||
ld l,(ix+10) ; <20>®¤¯à®£à ¬¬
|
||||
ld h,(ix+11) ; ¯à®æ¥áá
|
||||
jp (hl)
|
||||
;
|
||||
EProcNx:pop ix
|
||||
push af
|
||||
push ix
|
||||
ld l,(ix+8) ; ⥪. ¯®«®¦¥¨¥
|
||||
ld h,(ix+9)
|
||||
ld c,(ix+6) ; bc=ª®íä䍿¨¥â
|
||||
ld b,(ix+7)
|
||||
ld e,(hl) ; hl,ix = cur. ¥¤¨¨æ
|
||||
inc hl
|
||||
ld d,(hl)
|
||||
inc hl
|
||||
push de
|
||||
pop ix
|
||||
ld a,(hl) ; áâ. à §àï¤
|
||||
inc hl
|
||||
ld h,(hl)
|
||||
ld l,a
|
||||
call Divis32 ; hl,ix / bc
|
||||
db 0DDh
|
||||
ld a,l
|
||||
pop ix
|
||||
ld b,a
|
||||
ld a,(ix+3)
|
||||
sub (ix+2)
|
||||
ld c,a
|
||||
cp b
|
||||
ld a,b
|
||||
jr nc,$+3
|
||||
ld a,c
|
||||
sub (ix+5) ; ¯à¥¤. ¯®§¨æ¨ï ¢ë¢®¤
|
||||
jp z,ProcEx1
|
||||
ld b,a ; à §¨æ ¬¥¦¤ã ¯®«®¦¥¨ï¬¨
|
||||
ld c,(ix+5)
|
||||
add a,c
|
||||
ld (ix+5),a ; § ¯®¬. ⥪. ¯®«®¦¥¨¥
|
||||
ld a,(ix+2) ; Xo
|
||||
add a,c ; ⥪. ¯®«®¦¥¨¥
|
||||
ld e,a
|
||||
ld d,(ix+4) ; Yo
|
||||
push de
|
||||
push bc
|
||||
bit 7,(ix+3) ; Xi
|
||||
jr nz,ProcExt
|
||||
bit 7,e
|
||||
jr z,proc1
|
||||
ld a,e
|
||||
neg
|
||||
sub b
|
||||
neg
|
||||
jr z,ProcExt
|
||||
jp m,ProcExt
|
||||
ld b,a
|
||||
ld e,0
|
||||
proc1: ld a,e
|
||||
cp 80
|
||||
jr nc,ProcExt
|
||||
add a,b
|
||||
cp 80
|
||||
jr c,proc2
|
||||
ld a,80
|
||||
sub e
|
||||
ld b,a
|
||||
proc2: ld a,d
|
||||
cp 31
|
||||
jr nc,ProcExt
|
||||
push ix
|
||||
push bc
|
||||
ld c,84h ; ãáâ. ªãàá®à
|
||||
rst 08h
|
||||
pop bc ; b=ç¨á«® ᨬ¢®«®¢
|
||||
ld a,"Û"
|
||||
ld c,82h
|
||||
rst 08h
|
||||
pop ix
|
||||
ProcExt:pop hl ; h=ç¨á«® ¥¤¨¨æ
|
||||
pop bc ; ¯®§¨æ¨ï íªà ¥
|
||||
push ix
|
||||
in a,(SLOT3)
|
||||
push af
|
||||
ld a,(page_dial_screen) ; áâà. ¡ãä¥à
|
||||
out (SLOT3),a
|
||||
ld ix,DialData ; â ¡«¨æ ®á. ¤¨ «. ®ª
|
||||
ld a,c
|
||||
sub (ix+0)
|
||||
ld c,a
|
||||
ld a,b
|
||||
sub (ix+1)
|
||||
ld b,a
|
||||
call GetPutA
|
||||
ld b,h
|
||||
ld a,"Û"
|
||||
ld (de),a
|
||||
inc de
|
||||
inc de
|
||||
djnz $-3
|
||||
pop af
|
||||
out (SLOT3),a
|
||||
pop ix
|
||||
ProcEx1:pop af ; ä« £ ®â ¯/¯ ¯à®æ¥áá
|
||||
ret nc ; ¯à®æ¥áá ¥ § ª®ç¨«áï
|
||||
ld hl,what ; ¯®«¥ ᮡë⨩
|
||||
ld (hl),evCommand
|
||||
inc hl
|
||||
ld (hl),cmOkey
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; <20>à®æ¥¤ãà ¤¥«¥¨ï (32bit)
|
||||
; ¢å®¤: hl,de / bc
|
||||
; ¢ë室: de=楫®¥, hl=®áâ ⮪
|
||||
;-------------------------------------------------
|
||||
Divis32:ld a,b
|
||||
or c
|
||||
ret z
|
||||
ex de,hl
|
||||
ld hl,0
|
||||
ld a,32
|
||||
div32b1:add ix,ix
|
||||
ex de,hl
|
||||
adc hl,hl
|
||||
ex de,hl
|
||||
adc hl,hl
|
||||
sbc hl,bc
|
||||
jr nc,div32b2
|
||||
add hl,bc
|
||||
dec a
|
||||
jr nz,div32b1
|
||||
ret
|
||||
div32b2:inc ix
|
||||
dec a
|
||||
jr nz,div32b1
|
||||
ret
|
||||
789
OBJS/RADIO.ASM
Executable file
@ -0,0 +1,789 @@
|
||||
; ‚ª«îç ¥â ®¡ê¥ªâë ~Radio Button~ ¨ ~Check Box~
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;=====================================================================
|
||||
; <20>à®à¨á®¢ª ®¡ê¥ªâ "Radio Button"
|
||||
; object ~Claster radio buttons~ (¨¬¥¥â 䮪ãá)
|
||||
; Input: HL-®¯¨á â¥«ì ®¡ê¥ªâ
|
||||
; Format table:
|
||||
; +0 - ®¬¥à ®¡ê¥ªâ ~Radio Button"
|
||||
; +1 - Xo «¥¢®¥ ¯®«®¦. ®¡ê¥ªâ
|
||||
; +2 - Xi ¯à ¢®¥ ¯®«®¦. ®¡ê¥ªâ
|
||||
; +3 - Yo «¥¢®¥ ¯®«®¦. ®¡ê¥ªâ
|
||||
; +4 - Yi ¯à ¢®¥ ¯®«®¦. ®¡ê¥ªâ
|
||||
; +5 - Xi ¯à ¢®¥ ¯®«®¦. ¨¬¥¨
|
||||
; from: +0 - Y ¯®«®¦. radio-ª®¯ª¨
|
||||
; +1 - ᪥-ª®¤ hot-¡ãª¢ë
|
||||
; +2 - âਣ. ï祩ª
|
||||
; +3,4 - ¤à¥á ï祩ª¨
|
||||
; 80h - ª®¥æ â ¡«¨æë ®¡ê¥ªâ
|
||||
;---------------------------------------------------------------------
|
||||
; db ClsRadioBut ; ®¬¥à ®¡ê¥ªâ
|
||||
; dw 0202h,0112h ; Yo,Xo,lenY,lenX (á "() ")
|
||||
; db "&Viewer command",0 ; ¨¬ï í«¥¬¥â
|
||||
; db 2Dh ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
; dw Mode1 ; ï祩ª ¯ ¬ïâ¨
|
||||
; db "&Editor command",0 ; ¨¬ï í«¥¬¥â
|
||||
; db 12h ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
; dw Mode2 ; ï祩ª ¯ ¬ïâ¨
|
||||
; db 0 ; ª®¥æ ª« áâ¥à
|
||||
;=====================================================================
|
||||
PutClsRadioBut:
|
||||
push iy
|
||||
inc iy
|
||||
ld (iy+0),a ; ®¬¥à ®¡ê¥ªâ
|
||||
ld a,(hl) ; X pos
|
||||
inc hl
|
||||
ld c,a
|
||||
ld (ix+4),a ; Save X pos
|
||||
add a,(ix+0) ; Pos X from begin screen
|
||||
ld (iy+1),a ;+1 Xo
|
||||
ld a,(hl) ; Y pos
|
||||
inc hl
|
||||
ld b,a
|
||||
ld (ix+5),a ; Save Y pos
|
||||
add a,(ix+1) ; Pos Y from begin screen
|
||||
ld (iy+3),a ;+3 Yo
|
||||
call GetPutA
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
ld (ix+6),a
|
||||
add a,(iy+1)
|
||||
ld (iy+2),a ; Xi pos
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
add a,(iy+3)
|
||||
ld (iy+4),a
|
||||
ld a,(ix+6)
|
||||
add a,(iy+1)
|
||||
ld (iy+5),a ; Xi pos name
|
||||
ld bc,6 ; next element claster
|
||||
add iy,bc
|
||||
; Next element
|
||||
ClChkLp:ld c,(ix+4) ; pos element
|
||||
ld b,(ix+5)
|
||||
call GetPutA
|
||||
ld b,0
|
||||
ex de,hl
|
||||
ld (hl),"("
|
||||
inc hl
|
||||
inc hl
|
||||
inc b
|
||||
push hl
|
||||
inc hl
|
||||
inc hl
|
||||
inc b
|
||||
ld (hl),")"
|
||||
inc hl
|
||||
inc hl
|
||||
inc b
|
||||
inc hl
|
||||
inc hl
|
||||
inc b
|
||||
; ¨¬ï í«¥¬¥â ®¡ê¥ªâ
|
||||
ld a,(color_array+24) ; 梥⠤¨ «. ®ª
|
||||
ld c,a
|
||||
ld a,(de)
|
||||
ClChkL1:inc de
|
||||
cp "&"
|
||||
jr nz,ClChkN0
|
||||
ld a,(color_array+25) ; 梥â hot-¡ãª¢ë ¤¨ «. ®ª
|
||||
ld c,a
|
||||
ld a,(de)
|
||||
inc de
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
and 0F0h
|
||||
or c
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld a,(color_array+24) ; 梥⠤¨ «. ®ª
|
||||
ld c,a
|
||||
inc b
|
||||
ld a,(de)
|
||||
inc de
|
||||
ClChkN0:ld (hl),a
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
inc b
|
||||
ld a,(de)
|
||||
or a
|
||||
jr nz,ClChkL1
|
||||
inc de
|
||||
ld a,(ix+5) ; Current Y pos
|
||||
add a,(ix+1) ; from begin screen
|
||||
ld (iy+0),a
|
||||
inc iy
|
||||
ex de,hl
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
ld (iy+0),a ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
inc iy
|
||||
ld c,(hl)
|
||||
inc hl
|
||||
ld b,(hl)
|
||||
inc hl
|
||||
ld a,(bc)
|
||||
ld (iy+0),a ; ï祩ª
|
||||
inc iy
|
||||
ld (iy+0),c ; bc= ¤à¥á ï祩ª¨
|
||||
inc iy
|
||||
ld (iy+0),b
|
||||
inc iy
|
||||
pop bc
|
||||
or a
|
||||
ld a," "
|
||||
jr z,$+4
|
||||
ld a,""
|
||||
ld (bc),a
|
||||
inc (ix+5)
|
||||
ld a,(hl)
|
||||
or a
|
||||
jp nz,ClChkLp
|
||||
ld (iy+0),80h ; End tab claster
|
||||
inc iy
|
||||
inc hl
|
||||
; á®åà. à §¬¥à â ¡«¨æë ¢ ’ ¡«¨æ¥ ®¡ê¥ªâ®¢
|
||||
push iy
|
||||
exx
|
||||
pop hl
|
||||
pop de
|
||||
or a
|
||||
sbc hl,de
|
||||
ld a,l
|
||||
ld (de),a
|
||||
exx
|
||||
ld a,1
|
||||
ld (SavElem+1),a ; ¯¥à¢ë© í«¥¬¥â
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;=====================================================================
|
||||
; <20>à®à¨á®¢ª ®¡ê¥ªâ "Check Box"
|
||||
; object ~Claster check buttons~ (¨¬¥¥â 䮪ãá)
|
||||
; Input: HL-®¯¨á â¥«ì ®¡ê¥ªâ
|
||||
; Format table:
|
||||
; +0 - ®¬¥à ®¡ê¥ªâ "CheckBox"
|
||||
; +1 - Xo «¥¢®¥ ¯®«®¦. ®¡ê¥ªâ
|
||||
; +2 - Xi ¯à ¢®¥ ¯®«®¦. ®¡ê¥ªâ
|
||||
; +3 - Yo «¥¢®¥ ¯®«®¦. ®¡ê¥ªâ
|
||||
; +4 - Yi ¯à ¢®¥ ¯®«®¦. ®¡ê¥ªâ
|
||||
; +5 - Xi ¯à ¢®¥ ¯®«®¦. ¨¬¥¨ ®¡ê¥ªâ
|
||||
; from: +0 - Y ¯®«®¦. 祪-¡®ªá
|
||||
; +1 - ᪥-ª®¤ hot-¡ãª¢ë
|
||||
; +2 - âਣ. ï祩ª
|
||||
; +3,4 - ¤à¥á ï祩ª¨
|
||||
; 80h - ª®¥æ â ¡«¨æë ®¡ê¥ªâ
|
||||
;---------------------------------------------------------------------
|
||||
; db ClsCheckBox ; ®¬¥à ®¡ê¥ªâ
|
||||
; dw 0202h,0225h ; Yo,Xo,lenY,lenX (á "[x] ")
|
||||
; db "&Clear r/o attribute",0 ; ¨¬ï í«¥¬¥â
|
||||
; db 2Ch ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
; dw cSystem1 ; ¤à¥á ï祩ª¨
|
||||
; db "Clear &attribute",0 ; ¨¬ï í«¥¬¥â
|
||||
; db 1Dh ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
; dw cSystem2 ; ¤à¥á ï祩ª¨
|
||||
; db 0 ; ª®¥æ ª« áâ¥à
|
||||
;=====================================================================
|
||||
PutClsCheckBox:
|
||||
PUSH IY
|
||||
INC IY
|
||||
LD (IY+0),A ; ®¬¥à ®¡ê¥ªâ
|
||||
LD A,(HL) ; Xo pos
|
||||
INC HL
|
||||
LD C,A
|
||||
LD (IX+4),A ; Save X pos ##
|
||||
ADD A,(IX+0) ; Pos X from begin screen
|
||||
LD (IY+1),A ;+1 Xo
|
||||
LD A,(HL) ; Yo pos
|
||||
INC HL
|
||||
LD B,A
|
||||
LD (IX+5),A ; Save Yo pos
|
||||
ADD A,(IX+1) ; Pos Yo from begin screen
|
||||
LD (IY+3),A ;+3 Yo
|
||||
CALL GetPutA
|
||||
LD A,(HL) ; X Len
|
||||
INC HL
|
||||
LD (IX+6),A ; è¨à¨ ®¡ê¥ªâ
|
||||
;
|
||||
ADD A,(IY+1) ;+1 Xo «¥¢ ï ¯®§¨æ¨ï ®¡ê¥ªâ
|
||||
LD (IY+2),A ;+2 Xi pos
|
||||
LD A,(HL) ; Y Len
|
||||
INC HL
|
||||
ADD A,(IY+3) ;+3 Yo pos object
|
||||
LD (IY+4),A ;+4 Yi pos object
|
||||
LD A,(IX+6)
|
||||
ADD A,(IY+1)
|
||||
LD (IY+5),A ; Xi pos name
|
||||
LD BC,6 ; next element claster
|
||||
ADD IY,BC
|
||||
; Next element
|
||||
ClRadLp:LD C,(IX+4) ; pos element
|
||||
LD B,(IX+5)
|
||||
CALL GetPutA
|
||||
LD B,0
|
||||
EX DE,HL
|
||||
LD (HL),"["
|
||||
INC HL
|
||||
INC HL
|
||||
INC B
|
||||
PUSH HL
|
||||
INC HL
|
||||
INC HL
|
||||
INC B
|
||||
LD (HL),"]"
|
||||
INC HL
|
||||
INC HL
|
||||
INC B
|
||||
INC HL
|
||||
INC HL
|
||||
INC B
|
||||
; ¨¬ï í«¥¬¥â ®¡ê¥ªâ
|
||||
LD A,(color_array+24) ; 梥⠤¨ «. ®ª
|
||||
LD C,A
|
||||
LD A,(DE)
|
||||
ClRadL1:INC DE
|
||||
CP "&"
|
||||
JR NZ,ClRadN0
|
||||
LD A,(color_array+25) ; 梥â hot-¡ãª¢ë ¤¨ «. ®ª
|
||||
LD C,A
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
AND 0F0h
|
||||
OR C
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD A,(color_array+24) ; 梥⠤¨ «. ®ª
|
||||
LD C,A
|
||||
INC B
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
ClRadN0:LD (HL),A
|
||||
INC HL
|
||||
LD (HL),C
|
||||
INC HL
|
||||
INC B
|
||||
LD A,(DE)
|
||||
OR A
|
||||
JR NZ,ClRadL1
|
||||
INC DE
|
||||
LD A,(IX+5) ; Current Y pos
|
||||
ADD A,(IX+1) ; from begin screen
|
||||
LD (IY+0),A
|
||||
INC IY
|
||||
EX DE,HL
|
||||
ld a,(hl)
|
||||
ld (iy+0),a ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
inc hl
|
||||
inc iy
|
||||
LD C,(HL)
|
||||
INC HL
|
||||
LD B,(HL)
|
||||
INC HL
|
||||
LD A,(BC)
|
||||
LD (IY+0),A ; ï祩ª
|
||||
INC IY
|
||||
LD (IY+0),C ; bc= ¤à¥á ï祩ª¨
|
||||
INC IY
|
||||
LD (IY+0),B
|
||||
INC IY
|
||||
POP BC
|
||||
OR A
|
||||
LD A," "
|
||||
JR Z,$+4
|
||||
LD A,"x"
|
||||
LD (BC),A
|
||||
INC (IX+5)
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JP NZ,ClRadLp
|
||||
LD (IY+0),80h ; End tab claster
|
||||
INC IY
|
||||
INC HL
|
||||
; á®åà. à §¬¥à â ¡«¨æë ¢ ’ ¡«¨æ¥ ®¡ê¥ªâ®¢
|
||||
push iy
|
||||
exx
|
||||
pop hl
|
||||
pop de
|
||||
or a
|
||||
sbc hl,de ; ¤«¨ â ¡«¨æë "Check Box"
|
||||
ld a,l
|
||||
ld (de),a ; DialTab+5
|
||||
exx
|
||||
ld a,1
|
||||
ld (SavElem+1),a ; ¯¥à¢ë© í«¥¬¥â
|
||||
ret
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; <20> ç «ìë© ä®ªãá ®¡ê¥ªâ "Check Box" ¨«¨ "Radio Button"
|
||||
;-----------------------------------------------------------
|
||||
ClastI: ld de,color_array+24 ; 70h 梥⠤¨ «. ®ª®
|
||||
ld (set_dial_tmp_inv+1),de ; ¥ "¢ë¤¥«ïâì" 梥⮬ 祪-¡®ªáë
|
||||
ld e,(ix+2) ; Xo
|
||||
inc e
|
||||
ld d,(ix+4) ; Y
|
||||
ld a,(ix+6) ; Xi name
|
||||
sub e
|
||||
ld c,a
|
||||
call SetDialInv
|
||||
ld hl,color_array+26
|
||||
ld (set_dial_tmp_inv+1),hl ; ¢®ááâ. ï祩ªã
|
||||
push ix
|
||||
pop hl
|
||||
ld de,7
|
||||
add hl,de
|
||||
ld a,(ix+7) ; Y ¯®«®¦. 1-£® í«¥¬¥â ª« áâ¥à
|
||||
ld (hl),a ; Y pos check button
|
||||
jp SetClasInv ; ¢ë¤¥«¨âì í«¥¬¥â ®¡ê¥ªâ
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; “§ âì á®áâ®ï¨¥ ï祩ª¨ ª« áâ¥à
|
||||
;-------------------------------------------------
|
||||
GetClsData:
|
||||
push ix
|
||||
pop hl
|
||||
ld bc,7
|
||||
add hl,bc ; Begin claster elements
|
||||
GetDtLp:inc hl ; Y pos
|
||||
inc hl ; ᪥-ª®¤ hot-¡ãª¢ë
|
||||
ld a,(hl) ; ï祩ª
|
||||
inc hl
|
||||
ld e,(hl) ; de=¤à¥á ï祩ª¨
|
||||
inc hl
|
||||
ld d,(hl)
|
||||
inc hl
|
||||
ld (de),a
|
||||
bit 7,(hl) ; 7bit-End claster
|
||||
jr z,GetDtLp
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;=====================================================================
|
||||
;
|
||||
; Ž¡à ¡®â稪 ᮡë⨩ ®¡ê¥ªâ®¢ "Check Box" ¨ "Radio Button"
|
||||
;
|
||||
;=====================================================================
|
||||
EvClasterBut:
|
||||
ld hl,what
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
cp evMouseFr
|
||||
jr z,ECmouse ; Mouse fire
|
||||
cp evKeyboard
|
||||
jr z,ECkeys ; Key press
|
||||
cp evCombKey
|
||||
jp z,ECcombK ; Key press
|
||||
ret
|
||||
|
||||
; ‘®¡ë⨥ - Œëèª
|
||||
ECmouse:LD E,(HL) ; X pos
|
||||
INC HL
|
||||
LD D,(HL) ; Y pos
|
||||
LD A,E
|
||||
BIT 7,(IX+2)
|
||||
JR NZ,$+6
|
||||
CP (IX+2) ; Xo left pos
|
||||
RET C ; <
|
||||
BIT 7,(IX+3)
|
||||
RET NZ
|
||||
CP (IX+3) ; Xi right pos
|
||||
RET NC ; >
|
||||
LD A,D
|
||||
CP (IX+4) ; Yo left pos
|
||||
RET C ; <
|
||||
CP (IX+5) ; Yi right pos
|
||||
RET NC ; >
|
||||
xor a
|
||||
LD (ECnext+1),a
|
||||
DEC A
|
||||
LD (SaveA1+1),a ; Begin element claster
|
||||
PUSH IX
|
||||
POP HL
|
||||
INC HL
|
||||
inc hl
|
||||
ld bc,5 ; len element claster
|
||||
LD E,B ; number element
|
||||
LD A,D
|
||||
EClsLp1:ADD HL,BC
|
||||
BIT 7,(HL)
|
||||
JP NZ,SelClas ; Elem not found
|
||||
INC E
|
||||
CP (HL) ; Compare with Y pos elem
|
||||
JR NZ,EClsLp1
|
||||
JR CSelNxt
|
||||
|
||||
; ‘®¡ë⨥ - ®¡ëç ï ª« ¢¨è
|
||||
ECkeys: xor a
|
||||
ld (ECnext+1),a
|
||||
dec a
|
||||
ld (SaveA1+1),a ; Begin element claster
|
||||
ld a,(hl) ;+1 what
|
||||
cp 20h ; ¯à®¡¥«
|
||||
jr z,ECspace
|
||||
bit 7,(ix+1)
|
||||
jr nz,ECkeyN ; ®¡ê¥ªâ 㦥 ¢ë¤¥«¥
|
||||
cp 9 ; Tab
|
||||
jp z,SelCls0 ; If tab then select my
|
||||
ECkeyN: inc hl
|
||||
ld a,(hl) ;+2 what ᪥-ª®¤
|
||||
push ix
|
||||
pop hl
|
||||
inc hl
|
||||
inc hl
|
||||
ld bc,5 ; Len elements
|
||||
ld e,b
|
||||
ECkeyLp:add hl,bc
|
||||
bit 7,(hl)
|
||||
ret nz
|
||||
inc e
|
||||
inc hl
|
||||
cp (hl) ; hot-key element
|
||||
dec hl
|
||||
jr nz,ECkeyLp
|
||||
CSelNxt:bit 7,(ix+1)
|
||||
jp nz,CSelect ; ®¡ê¥ªâ 㦥 ¢ë¤¥«¥
|
||||
jp SelCls1
|
||||
|
||||
; Ž¡à ¡®âª ¯à®¡¥«
|
||||
ECspace:BIT 7,(IX+1)
|
||||
RET Z ; not select
|
||||
LD A,(SavElem+1)
|
||||
OR A
|
||||
JR NZ,ECspc1
|
||||
INC A
|
||||
LD (SavElem+1),A
|
||||
ECspc1: LD (ECnext+1),A
|
||||
PUSH IX
|
||||
POP HL
|
||||
INC HL
|
||||
inc hl
|
||||
ld de,5
|
||||
LD B,A
|
||||
ADD HL,DE ; find elem.label
|
||||
DJNZ $-1
|
||||
JP ECnext ; change
|
||||
|
||||
; Šãàá®àë¥ ª« ¢¨è¨
|
||||
ECcombK:bit 7,(ix+1)
|
||||
jr nz,ECcombn ; ®¡ê¥ªâ 㦥 ¢ë¤¥«¥
|
||||
ld b,(hl) ;+1 what
|
||||
inc hl
|
||||
ld a,(hl) ;+2 what
|
||||
cp 56h ; ªãàá®à ¢¯à ¢®
|
||||
jp z,SelCls0
|
||||
push ix
|
||||
ld e,(ix+0) ; à §¬¥à â ¡«¨æë "Input Line"
|
||||
ld d,0
|
||||
add ix,de
|
||||
bit 7,(ix+0)
|
||||
pop ix
|
||||
ret z ; ¥é¥ ¥ ª®¥æ ®¡ê¥ªâ®¢
|
||||
cp 54h ; ªãàá®à ¢«¥¢®
|
||||
jp z,SelCls0
|
||||
ld a,b
|
||||
and 00111111b ; ¡¨âë Ctrl, Alt
|
||||
ret nz
|
||||
ld a,(hl) ;+2 what
|
||||
cp 15+80h ; Tab ᪥-ª®¤+80h
|
||||
ret nz
|
||||
jp SelCls0 ; If tab then select my
|
||||
;
|
||||
ECcombn:xor a
|
||||
ld (ECnext+1),a ; Flag change buttons
|
||||
inc hl
|
||||
ld a,(hl) ;+2 what
|
||||
cp 58h ; ¢¢¥àå
|
||||
jr z,ECup
|
||||
cp 54h ; ¢«¥¢®
|
||||
jr z,ECup
|
||||
cp 52h ; ¢¨§
|
||||
jr z,ECdown
|
||||
cp 56h ; ¢¯à ¢®
|
||||
ret nz
|
||||
; ªãàá®à ¢¨§
|
||||
ECdown: PUSH IX
|
||||
POP HL
|
||||
INC HL
|
||||
inc hl
|
||||
ld e,l
|
||||
ld d,h
|
||||
ld bc,5
|
||||
LD A,(SavElem+1)
|
||||
OR A
|
||||
JR NZ,$+3
|
||||
INC A
|
||||
INC A ; increment element
|
||||
LD (SavElem+1),A
|
||||
ECcmlp: ADD HL,BC ; find label
|
||||
BIT 7,(HL)
|
||||
CALL NZ,EndClst ; table is over
|
||||
DEC A
|
||||
JR NZ,ECcmlp
|
||||
CALL ResClasInv ; Res inver elem
|
||||
JP Pcurs ; next invert
|
||||
|
||||
; Get begin table elem
|
||||
EndClst:EX DE,HL
|
||||
ADD HL,BC ; table is begin
|
||||
LD A,1
|
||||
LD (SavElem+1),A ; first elem.
|
||||
RET
|
||||
|
||||
; Šãàá®à ¢¢¥àå
|
||||
ECup: PUSH IX
|
||||
POP HL
|
||||
INC HL
|
||||
inc hl
|
||||
ld de,5
|
||||
LD A,(SavElem+1)
|
||||
OR A
|
||||
JR NZ,$+3
|
||||
INC A
|
||||
DEC A ; decrement cur.elem.
|
||||
CALL Z,BegClst
|
||||
LD (SavElem+1),A
|
||||
LD B,A
|
||||
ADD HL,DE ; find label
|
||||
DJNZ $-1
|
||||
CALL ResClasInv ; Res inver elem
|
||||
JR Pcurs ; next invert
|
||||
|
||||
; Get end table elem
|
||||
BegClst:PUSH HL
|
||||
SUB A
|
||||
DEC A
|
||||
INC A
|
||||
ADD HL,DE ; find nember end element
|
||||
BIT 7,(HL)
|
||||
JR Z,$-4
|
||||
POP HL
|
||||
RET ; A=end element
|
||||
|
||||
; selected claster
|
||||
SelClas:BIT 7,(IX+1)
|
||||
JR NZ,SaveA1 ; NZ-is select
|
||||
SelCls0:ld e,0
|
||||
SelCls1:LD A,E
|
||||
LD (SaveA1+1),A
|
||||
call MoveObj
|
||||
call ResDialInv ; Res orevios invert
|
||||
LD IX,DialTab+5
|
||||
SaveA1: LD A,0
|
||||
INC A
|
||||
JR Z,EClexit ; Element not found
|
||||
DEC A
|
||||
LD (SavElem+1),A
|
||||
LD (ECnext+1),A
|
||||
JR CButton ; Change buttons
|
||||
|
||||
; ‘®¡ë⨥ - Œëèª (¢ ¢ë¡à ®¬ ª« áâ¥à¥)
|
||||
CSelect:LD A,1
|
||||
LD (ECnext+1),A
|
||||
LD A,(SavElem+1)
|
||||
CP E
|
||||
JR Z,ECnext
|
||||
LD A,E
|
||||
LD (SavElem+1),A
|
||||
CALL ResClasInv ; Res inver elem
|
||||
CButton:PUSH IX
|
||||
POP HL
|
||||
INC HL
|
||||
inc hl
|
||||
ld de,5
|
||||
SavElem:LD A,0
|
||||
OR A
|
||||
JR NZ,$+3
|
||||
INC A
|
||||
LD B,A
|
||||
ADD HL,DE
|
||||
DJNZ $-1
|
||||
Pcurs: CALL SetClasInv ; Set inver elem
|
||||
ECnext: ld a,0
|
||||
or a
|
||||
call nz,ChangeB
|
||||
EClexit:ld hl,what ; Event claster exit
|
||||
ld (hl),evNothing
|
||||
jp get_fire
|
||||
|
||||
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
; ˆ§¬¥¥¨¥ í«¥¬¥â®¢ CheckBox- ¨«¨ Radio-ª®¯®ª
|
||||
;
|
||||
; ¢å®¤: HL-Address claster element label
|
||||
;---------------------------------------------------------------------
|
||||
ChangeB:LD A,(IX+1)
|
||||
RES 7,A
|
||||
CP ClsCheckBox
|
||||
JP Z,ChangeR ; ¨§¬¥¨âì CheckBox
|
||||
; ˆ§¬¥¨âì Radio-ª®¯ªã
|
||||
LD E,L
|
||||
LD D,H
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD BC,7
|
||||
ADD HL,BC
|
||||
PUSH HL ; Save cur.elem
|
||||
ChangL1:INC HL ; Begin elements claster
|
||||
INC HL
|
||||
;INC HL
|
||||
LD (HL),B ; (Ceil)=0
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
BIT 7,(HL)
|
||||
JR Z,ChangL1
|
||||
EX DE,HL ; HL=Current element claster
|
||||
INC B
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
LD (HL),B ; Cur.elem=1
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
POP HL ; Reset begin elem table
|
||||
IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,(page_dial_screen)
|
||||
OUT (SLOT3),A
|
||||
ChangL2:LD D,(HL) ; Y pos
|
||||
INC HL
|
||||
INC HL
|
||||
;INC HL ;?
|
||||
LD A,(HL) ; Address ceil
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
LD E,(IX+2) ; X ¯®«®¦. ""
|
||||
INC E
|
||||
PUSH IX
|
||||
PUSH DE
|
||||
LD IX,DialData
|
||||
EX AF,AF'
|
||||
LD A,E
|
||||
SUB (IX+0)
|
||||
LD C,A
|
||||
LD A,D
|
||||
SUB (IX+1)
|
||||
LD B,A
|
||||
CALL GetPutA
|
||||
EX AF,AF'
|
||||
LD C,A
|
||||
OR A
|
||||
LD A," "
|
||||
JR Z,$+4
|
||||
LD A,""
|
||||
LD (DE),A
|
||||
POP DE
|
||||
POP IX
|
||||
LD A,D
|
||||
CP 31
|
||||
JR NC,cl1
|
||||
BIT 7,E
|
||||
JR NZ,cl1
|
||||
LD A,E
|
||||
CP 80
|
||||
JR NC,cl1
|
||||
PUSH HL
|
||||
LD A,C
|
||||
PUSH AF
|
||||
LD C,84h ; Set position print
|
||||
RST 08h
|
||||
POP AF
|
||||
OR A
|
||||
LD A," "
|
||||
JR Z,$+4
|
||||
LD A,""
|
||||
LD BC,0182h
|
||||
RST 08h ; Print on/off
|
||||
POP HL
|
||||
cl1: BIT 7,(HL)
|
||||
JR Z,ChangL2
|
||||
CALL ResILCr ; Res cursor
|
||||
CALL PILCurs ; Set cursor
|
||||
EI
|
||||
POP AF
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
|
||||
;-------------------------------------------------
|
||||
; ˆ§¬¥¥¨¥ í«¥¬¥â CheckBox-
|
||||
;-------------------------------------------------
|
||||
ChangeR:
|
||||
IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,(page_dial_screen)
|
||||
OUT (SLOT3),A
|
||||
LD D,(HL) ; Y pos
|
||||
INC HL
|
||||
INC HL
|
||||
LD A,(HL) ; ï祩ª
|
||||
XOR 1
|
||||
LD (HL),A
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
LD E,(IX+2) ; X ¯®«®¦. "x"
|
||||
INC E
|
||||
PUSH IX
|
||||
PUSH DE
|
||||
LD IX,DialData
|
||||
EX AF,AF'
|
||||
LD A,E
|
||||
SUB (IX+0)
|
||||
LD C,A
|
||||
LD A,D
|
||||
SUB (IX+1)
|
||||
LD B,A
|
||||
CALL GetPutA
|
||||
EX AF,AF'
|
||||
LD C,A
|
||||
OR A
|
||||
LD A," "
|
||||
JR Z,$+4
|
||||
LD A,"x"
|
||||
LD (DE),A
|
||||
POP DE
|
||||
POP IX
|
||||
LD A,D
|
||||
CP 31
|
||||
JR NC,cl2
|
||||
BIT 7,E
|
||||
JR NZ,cl2
|
||||
LD A,E
|
||||
CP 80
|
||||
JR NC,cl2
|
||||
LD A,C
|
||||
PUSH AF
|
||||
LD C,84h ; Set position print
|
||||
RST 08h
|
||||
POP AF
|
||||
OR A
|
||||
LD A," "
|
||||
JR Z,$+4
|
||||
LD A,"x"
|
||||
LD BC,0182h
|
||||
RST 08h ; Print
|
||||
cl2: CALL ResILCr
|
||||
CALL PILCurs
|
||||
EI
|
||||
POP AF
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
614
OBJS/UMENU.ASM
Executable file
@ -0,0 +1,614 @@
|
||||
; #C000+#2800=#E800
|
||||
; <20>ãä¥àë User-¤ ëå
|
||||
array_user1 equ 0E800h ; 26*2 ¬ áᨢ 㪠§. ª®¬-áâப¨
|
||||
array_user2 equ array_user1+(26*2) ; 72*56 ®¯¨á â¥«ì ¯ãªâ®¢ ¬¥î
|
||||
; + 1 ¡ ©â ¯®¤ ª®¥æ ®¯¨á ⥫ï
|
||||
array_user3 equ array_user2+(72*26)+1 ; 71*26 ¬ áᨢ ª®¬-áâப
|
||||
|
||||
; ®áâ ⮪ ¡ ª¨ ¯®á«¥ ¢á¥£® ¬ áᨢ #0944 ¡ ©â.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‚ë§®¢ Œ¥î <20>®«ì§®¢ ⥫ï
|
||||
;-----------------------------------------------------------
|
||||
user_menu:
|
||||
ld a,(enable_mnu_file) ; ä« £ «¨ç¨ï mnu-ä ©«
|
||||
or a
|
||||
ret z ; ¥â
|
||||
ld hl,user_table ; ®¯¨á â¥«ì ¬¥î (mod1)
|
||||
call put_user_menu ; ®âà¨á®¢ª ¬¥î
|
||||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||||
call event_user_menu ; ®¡à ¡®â稪 ᮡë⨩ ¬¥î
|
||||
;
|
||||
ld hl,what
|
||||
ld a,(hl)
|
||||
cp evCommand
|
||||
ret nz
|
||||
ld (hl),evRunComLine ; ᮡë⨥ "®âà ¡®â âì ª®¬-áâபã"
|
||||
jp get_fire
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; <20>à®à¨á®¢ª ¬¥î ¯®«ì§®¢ ⥫ï.
|
||||
; <20>®«®¦¥¨¥ ¬¥î ®¯à¥¤¥«ï¥âáï è¨à¨®© ¨ ç¨á«®¬ ¯ãªâ®¢.
|
||||
; ’ ¡«¨æ ¬¥î:
|
||||
; <20>®«®¦¥¨¥ ®ª ¬¥î:
|
||||
; +0 - Xo «¥¢ë© ªà ©
|
||||
; +1 - Xi ¯à ¢ë© ªà ©
|
||||
; +2 - Yo «¥¢ë© 㣮«
|
||||
; +3 - Yi ¯à ¢ë© 㣮«
|
||||
; +4 - <20>®«®¦¥¨¥ ¯ãªâ ¬¥î:
|
||||
; +0 - Xo «¥¢®¥
|
||||
; +1 - Xi ¯à ¢®¥
|
||||
; +2 - Y ¯®«®¦.
|
||||
; +3 - hot-¡ãª¢
|
||||
;-----------------------------------------------------------
|
||||
; ¢å®¤: hl=®¯¨á â¥«ì ¬¥î
|
||||
;-----------------------------------------------------------
|
||||
put_user_menu:
|
||||
ld a,1
|
||||
ld (CurMBox),a ; ®¬¥à ¯ãªâ ¬¥î
|
||||
push iy
|
||||
ld iy,BoxTabl ; Generes MenuBox mouse table
|
||||
ld ix,BoxData
|
||||
ld a,(page_sys_screen) ; áâà. user-¤ ëå
|
||||
out (SLOT3),a
|
||||
ld e,(hl)
|
||||
inc hl
|
||||
ld d,(hl)
|
||||
inc hl
|
||||
ld (usermenu_title+1),de ; ¤à¥á § £®«®¢ª ®ª
|
||||
ld a,(hl) ; ¤à¥á ®¯¨á ⥫ï ⥪. ¬¥î
|
||||
ld (ix+0),a ; á®åà. ¤à¥á ®¯¨á ⥫ï
|
||||
inc hl
|
||||
ld h,(hl)
|
||||
ld (ix+1),h ;
|
||||
ld l,a
|
||||
call GetLenB1 ; get in DE len Y,X MenuBox
|
||||
; X æ¥â஢ª ¬¥î
|
||||
ld a,80 ; è¨à¨ ®ª
|
||||
sub e
|
||||
srl a ; /2
|
||||
ld (iy+0),a ; Xo ¯®«®¦. ®ª ¬¥î
|
||||
ld b,a
|
||||
inc a
|
||||
ld (ix+2),a ; Xo ¯®«®¦. ¯ãªâ ¬¥î
|
||||
ld a,e ; è¨à¨ ®ª (¡¥§ ⥨)
|
||||
sub 2
|
||||
ld (ix+5),a ; è¨à¨ ®ª ¡¥§ à ¬ª¨
|
||||
ld a,e
|
||||
add a,b ; + Xo ¯®«®¦. ®ª ¬¥î
|
||||
ld (iy+1),a ; X ¯à ¢ë© ªà © ®ª ¬¥î
|
||||
dec a
|
||||
ld (ix+3),a ; Xi ¯à ¢ë© ªà © ¯ãªâ ¬¥î
|
||||
; Y æ¥â஢ª ¬¥î
|
||||
ld a,30 ; ¢ëá®â ®ª
|
||||
sub d
|
||||
srl a ; /2
|
||||
ld (iy+2),a ; Yo ¯®«®¦. ®ª ¬¥î
|
||||
ld (ix+4),a ; Temp Y posit for element box
|
||||
ld b,a
|
||||
ld a,d ; ¢ëá®â ®ª (¡¥§ ⥨)
|
||||
add a,b ; Yi (+ Y ¯®«®¦. ®ª ¬¥î)
|
||||
ld (iy+3),a
|
||||
call SaveBox ; á®åà. íªà ¯®¤ ¡ã¤ã騬 ®ª®¬
|
||||
in a,(SLOT3)
|
||||
push af
|
||||
ld a,(page_dial_screen) ; Page buffer
|
||||
out (SLOT3),a
|
||||
; ç «® ¢áâ ¢ª¨ ®ª á â¥ìî ¢ ¡ãä¥à
|
||||
ld hl,LC000+MaxDialWin
|
||||
ld bc,4
|
||||
add iy,bc ; ¤à¥á ®¯¨á â¥«ï ¬¥î
|
||||
exx
|
||||
ld hl,LC000
|
||||
ld a,(ix+5) ; è¨à¨ ®ª
|
||||
inc a
|
||||
inc a
|
||||
add a,a
|
||||
ld e,a
|
||||
ld d,0
|
||||
add hl,de
|
||||
exx
|
||||
ld a,(color_array+15) ; 梥⠢¥àâ. ¬¥î
|
||||
ld c,a
|
||||
; æ¥â஢ª § £®«®¢ª
|
||||
push hl
|
||||
ld de,(usermenu_title+1) ; ¤à¥á § £®«®¢ª ®ª
|
||||
ld a,(de) ; ¤«¨ § £®«®¢ª
|
||||
ld b,a
|
||||
ld a,(ix+5) ; è¨à¨ ®ª
|
||||
sub b
|
||||
srl a ; /2
|
||||
add a,a ; ãç¥áâì âਡãâë (१ã«ìâ ⠢ᥣ¤ ç¥âë©)
|
||||
ld e,a
|
||||
ld d,0
|
||||
add hl,de
|
||||
ld (usermenu_addr+1),hl ; ¤à¥á ¢áâ ¢ª¨
|
||||
pop hl
|
||||
; à ¬ª ®ª
|
||||
ld (hl),"É" ; «¥¢ë© ¢¥àå. 㣮«
|
||||
inc hl
|
||||
ld (hl),c ; 梥â
|
||||
inc hl
|
||||
ld b,(ix+5) ; è¨à¨ ®ª
|
||||
ld a,"Í"
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
djnz $-4
|
||||
ld (hl),"»" ; ¯à ¢ë© ¢¥àå. 㣮«
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
;
|
||||
push hl
|
||||
usermenu_title:
|
||||
ld de,0 ; ¤à¥á â¨â« ®ª
|
||||
usermenu_addr:
|
||||
ld hl,0 ; ¤à¥á ¢áâ ¢ª¨
|
||||
ld a,(de)
|
||||
ld b,a ; ¤«¨ áâப¨
|
||||
inc de
|
||||
ld (hl)," "
|
||||
inc hl
|
||||
inc hl
|
||||
ld a,(de)
|
||||
ld (hl),a
|
||||
inc hl
|
||||
inc hl ; âਡãâ
|
||||
inc de
|
||||
djnz $-5
|
||||
ld (hl)," "
|
||||
pop hl
|
||||
;
|
||||
ld b,3
|
||||
call copy_cell
|
||||
exx
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
add hl,de
|
||||
exx
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld e,(ix+0) ;; de= ¤à¥á ᯨ᪠¯ãªâ®¢
|
||||
ld d,(ix+1)
|
||||
; 横« ¢ë¢®¤ ¯ãªâ®¢ ¬¥î
|
||||
usermenu_loop:
|
||||
inc (ix+4) ; 㢥«¨ç¨âì Y-¯®«®¦. ¯ãªâ ¬¥î
|
||||
call get_user_byte ; ¢§ïâì ¡ ©â ¨§ áâà. user-¤ ëå
|
||||
cp -2 ; à §¤¥«¨â¥«ì
|
||||
jr nz,usermenu1__
|
||||
; ¢áâ ¢¨âì à §¤¥«¨â¥«ì ¯ãªâ®¢
|
||||
inc de
|
||||
ld (hl),"Ç"
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
ld b,(ix+5) ; è¨à¨ ¯ãªâ
|
||||
ld a,"Ä"
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
djnz $-4
|
||||
ld (hl),"¶"
|
||||
jr usermenu3__
|
||||
usermenu1__:
|
||||
cp -1 ; ª®¥æ ®¯¨á ⥫ï ?
|
||||
jp z,usermenu4__ ; ¤
|
||||
ld a,(ix+2)
|
||||
ld (iy+0),a ;+0 Xo coord
|
||||
inc iy
|
||||
ld a,(ix+3)
|
||||
ld (iy+0),a ;+1 Xi coords
|
||||
inc iy
|
||||
ld a,(ix+4)
|
||||
ld (iy+0),a ;+2 Y coords
|
||||
inc iy
|
||||
ld (hl),"º"
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
ld b,2 ; 2 ¯à®¡¥« ¢ ç «¥ ¯ãªâ
|
||||
ld (hl)," "
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
djnz $-5
|
||||
inc b ; b=1
|
||||
call get_user_byte ; ¢§ïâì ¡ ©â ¨§ áâà. user-¤ ëå
|
||||
usermenu2__:
|
||||
inc de
|
||||
cp "&"
|
||||
call z,Bhotkey2__ ; ¢áâ ¢¨âì hot-¡ãª¢ã
|
||||
ld (hl),a ; Put name element
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
inc b
|
||||
call get_user_byte ; ¢§ïâì ¡ ©â ¨§ áâà. user-¤ ëå
|
||||
or a ; ª®¥æ ¨¬¥¨ ?
|
||||
jr nz,usermenu2__
|
||||
inc de ; de=ï祩ª ᪥-ª®¤ ¯ãªâ
|
||||
call get_user_byte ; ¢§ïâì ¡ ©â ¨§ áâà. user-¤ ëå
|
||||
ld (iy+0),a ;+3 ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
inc iy
|
||||
inc de
|
||||
ld a,(ix+5) ; è¨à¨ ⥪. ¯ãªâ
|
||||
dec a
|
||||
sub b
|
||||
ld b,a
|
||||
ld (hl)," " ; § ¯®«¨âì ®áâ ⮪ ¯ãªâ
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
djnz $-5
|
||||
ld (hl),"º"
|
||||
usermenu3__:
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
exx
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
inc hl
|
||||
exx
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld (hl),color_shadow ; 梥â ⥨
|
||||
inc hl
|
||||
exx
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
inc hl
|
||||
add hl,de
|
||||
exx
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld (hl),color_shadow ; 梥â ⥨
|
||||
inc hl
|
||||
jp usermenu_loop ; § ¤ ¢ 横«
|
||||
;
|
||||
usermenu4__:
|
||||
ld (iy+0),80h ; ª®¥æ â ¡«¨æë ¯ãªâ®¢
|
||||
ld (hl),"È"
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
ld b,(ix+5)
|
||||
ld a,"Í"
|
||||
ld (hl),a
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
djnz $-4
|
||||
ld (hl),"¼"
|
||||
inc hl
|
||||
ld (hl),c
|
||||
inc hl
|
||||
; ¢áâ ¢¨âì 2 ⥨ 㣫 "Ù"
|
||||
ld b,2
|
||||
call print_shadow
|
||||
; ¢áâ ¢¨âì ¨¦îî â¥ì
|
||||
ld b,4
|
||||
call copy_cell ; ᪮¯¨à. ï祩ª¨
|
||||
ld b,(ix+5) ; Full Len box
|
||||
inc b
|
||||
inc b
|
||||
call print_shadow
|
||||
pop af
|
||||
out (SLOT3),a
|
||||
call PutBox
|
||||
pop iy
|
||||
jp USetBoxI ; Set box invert
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; “áâ ®¢¨âì æ¢¥â hot-¡ãª¢ë ¯ãªâ user-¬¥î
|
||||
;-------------------------------------------------
|
||||
Bhotkey2__:
|
||||
call get_user_byte ; ¢§ïâì ¡ ©â ¨§ áâà. user-¤ ëå
|
||||
ld (hl),a ; hot-¡ãª¢ã ¢ ¡ãä¥à
|
||||
inc hl
|
||||
inc de
|
||||
push de
|
||||
ld a,(color_array+17) ; 梥â hot-¡ãª¢ë ¬¥î
|
||||
and 0Fh
|
||||
ld e,a
|
||||
ld a,(color_array+15) ; 梥⠢¥àâ. ¬¥î
|
||||
and 0F0h
|
||||
or e
|
||||
ld (hl),a ; âਡãâ
|
||||
pop de
|
||||
inc hl
|
||||
call get_user_byte ; ¢§ïâì ¡ ©â ¨§ áâà. user-¤ ëå
|
||||
inc de
|
||||
inc b
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; ‚ëç¨á«¨âì è¨à¨ã ⥪ã饣® ®ª ¢¥àâ. ¬¥î
|
||||
;
|
||||
; ¢å®¤: hl=®¯¨á â¥«ì ¬¥î
|
||||
; ¢ë室: de=¢ëá®â /è¨à¨ ®ª
|
||||
;----------------------------------------------------------
|
||||
GetLenB1:
|
||||
ld de,0207h ; Y/X à §¬¥àë
|
||||
ld b,e
|
||||
dec b
|
||||
GetL1: ld a,(hl)
|
||||
inc hl
|
||||
cp -1 ; ª®¥æ ®¯¨á ⥫ï ?
|
||||
ret z
|
||||
cp -2 ; à §¤¥«¨â¥«ì ¯ãªâ®¢ ?
|
||||
jr z,AddLn
|
||||
GetL2: inc b
|
||||
GetL3: ld a,(hl)
|
||||
inc hl
|
||||
cp "&" ; hot-¡ãª¢
|
||||
jr z,GetL3
|
||||
or a ; ª®¥æ §¢ ¨ï ¯ãªâ ?
|
||||
jr nz,GetL2 ; ¥â
|
||||
inc hl ; ¯à®©â¨ ᪥-ª®¤
|
||||
ld a,b
|
||||
cp e
|
||||
jr c,AddLn
|
||||
ld e,b
|
||||
AddLn: inc d
|
||||
ld b,6 ; b=e-1
|
||||
jr GetL1
|
||||
|
||||
|
||||
|
||||
; ‚§ïâì ¡ ©â ¨§ áâà ¨æë user-¤ ëå
|
||||
; ¢å®¤: de= ¤à¥á ¤ ëå
|
||||
get_user_byte:
|
||||
in a,(SLOT3)
|
||||
push af
|
||||
ld a,(page_sys_screen) ; áâà. user-¤ ëå
|
||||
out (SLOT3),a
|
||||
ld a,(de)
|
||||
ex af,af'
|
||||
pop af
|
||||
out (SLOT3),a ; ¢®ááâ. áâà.
|
||||
ex af,af'
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
;
|
||||
; Ž¡à ¡®â稪 ᮡë⨩ Œ¥î <20>®«ì§®¢ ⥫ï
|
||||
;
|
||||
;-----------------------------------------------------------
|
||||
event_user_menu:
|
||||
call handle_event ; ç¨â ¥¬ ᮡë⨥
|
||||
ld hl,what
|
||||
ld de,event_user_menu
|
||||
push de
|
||||
ld a,(hl) ;+0 ã§ âì ᮡë⨥
|
||||
inc hl
|
||||
cp evMouseFr ; ¦ âë ¡ãâ®ë ¬ë誨
|
||||
jp z,user_menu_mouse
|
||||
cp evKeyboard ; ¦ âë ®¡ëçë¥ ª« ¢¨è¨
|
||||
jr z,user_menu_keys
|
||||
cp evCombKey ; ¦ âë ªãàá. ª« ¢¨è¨ ¨ á«ã¦.
|
||||
jr z,user_menu_ckeys
|
||||
ret
|
||||
;
|
||||
user_menu_exit:
|
||||
call CloseBx ; § ªàëâì ¬¥î
|
||||
pop de ; ¢®ááâ. ¡ « á á⥪
|
||||
ld hl,what
|
||||
ld (hl),evNothing ; "¥â ᮡë⨩"
|
||||
ret
|
||||
|
||||
;-------------------------------------------------
|
||||
; Ž¡ëçë¥ ª« ¢¨è¨
|
||||
;-------------------------------------------------
|
||||
user_menu_keys:
|
||||
ld a,(hl) ;+1 ª®¤ ª« ¢¨è¨
|
||||
cp 1Bh ; Esc
|
||||
jr z,user_menu_exit
|
||||
cp 0Dh ; Enter
|
||||
jr nz,user_menu_keys1
|
||||
ld a,(CurMBox)
|
||||
ld b,a
|
||||
ld ix,BoxTabl ; ¯®¨áª ¯ãªâ ¬¥î
|
||||
ld de,4
|
||||
add ix,de
|
||||
djnz $-2
|
||||
jp UBxEnt
|
||||
;
|
||||
user_menu_keys1:
|
||||
inc hl
|
||||
ld a,(hl) ;+2 ᪥-ª®¤ ª« ¢¨è¨
|
||||
ld ix,BoxTabl ; à ¡®ç ï â ¡«¨æ ¬¥î
|
||||
ld bc,4
|
||||
ld h,b
|
||||
user_menu_keys2:
|
||||
inc h
|
||||
add ix,bc
|
||||
bit 7,(ix+0)
|
||||
ret nz ; ª®¥æ â ¡«¨æë ¯ãªâ®¢
|
||||
cp (ix+3) ; ᪥-ª®¤ hot-ª« ¢¨è¨
|
||||
jr nz,user_menu_keys2
|
||||
jp UBxHotEx
|
||||
|
||||
;-------------------------------------------------
|
||||
; Šãàá®àë¥ ª« ¢¨è¨ ¨ F10
|
||||
;-------------------------------------------------
|
||||
user_menu_ckeys:
|
||||
inc hl
|
||||
ld a,(hl) ;+2 what
|
||||
cp 44h ; F10
|
||||
jr z,user_menu_exit
|
||||
cp 58h ; ¢¢¥àå
|
||||
jr z,UMBup
|
||||
cp 52h ; ¢¨§
|
||||
jr z,UMBdown
|
||||
cp 54h ; ¢«¥¢®
|
||||
jr z,UMBhome
|
||||
cp 56h ; ¢¯à ¢®
|
||||
jr z,UMBend
|
||||
cp 59h ; PageUp
|
||||
jr z,UMBhome
|
||||
cp 53h ; PageDown
|
||||
jr z,UMBend
|
||||
cp 57h ; Home
|
||||
jr z,UMBhome
|
||||
cp 51h ; End
|
||||
jr z,UMBend
|
||||
ret
|
||||
|
||||
; Šãàá®à ¢¢¥àå
|
||||
UMBup: ld a,(CurMBox)
|
||||
dec a
|
||||
jr nz,UMBupNxt
|
||||
ld ix,BoxTabl ; à ¡®ç ï â ¡«¨æ ¬¥î
|
||||
ld bc,4
|
||||
ld a,b
|
||||
dec a
|
||||
UMBupLp:inc a ; ¯®¨áª ¯®á«¥¤¥£® í«¥¬¥â
|
||||
add ix,bc
|
||||
bit 7,(ix+0)
|
||||
jr z,UMBupLp
|
||||
UMBupNxt:
|
||||
ld (CurMBox),a
|
||||
ld b,a
|
||||
ld ix,BoxTabl ; à ¡®ç ï â ¡«¨æ ¬¥î
|
||||
ld de,4
|
||||
add ix,de
|
||||
djnz $-2
|
||||
push ix
|
||||
call ResBoxI
|
||||
call USetBoxI
|
||||
pop ix
|
||||
ret
|
||||
|
||||
; Šãàá®à ¢¨§
|
||||
UMBdown:ld a,(CurMBox)
|
||||
inc a
|
||||
ld ix,BoxTabl ; à ¡®ç ï â ¡«¨æ ¬¥î
|
||||
ld bc,4
|
||||
ld h,b ; â¥áâ ¯®á«¥¤¨© í«¥¬¥â
|
||||
UMBdnLp:inc h
|
||||
add ix,bc
|
||||
bit 7,(ix+0)
|
||||
jr z,UMBdnLp
|
||||
cp h
|
||||
jr nz,$+4
|
||||
; Home ¢ ç «® ᯨáª
|
||||
UMBhome:ld a,1
|
||||
jr UMBupNxt
|
||||
|
||||
; End ¢ ª®¥æ ᯨáª
|
||||
UMBend: ld a,(CurMBox)
|
||||
ld h,a
|
||||
ld ix,BoxTabl ; à ¡®ç ï â ¡«¨æ ¬¥î
|
||||
ld bc,4
|
||||
ld a,b
|
||||
dec a
|
||||
UMBendLp:
|
||||
inc a ; ¯®¨áª ¯®á«¥¤¥£® í«¥¬¥â
|
||||
add ix,bc
|
||||
bit 7,(ix+0)
|
||||
jr z,UMBendLp
|
||||
cp h
|
||||
jr nz,UMBupNxt
|
||||
ret
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‘®¡ëâ¨ï ¬ë誨
|
||||
;-------------------------------------------------
|
||||
user_menu_mouse:
|
||||
ld e,(hl) ;+1 X coord
|
||||
inc hl
|
||||
ld d,(hl) ;+2 Y coord
|
||||
; ¯à®¢¥àª ª®®à¤. ¬ë誨 ¨ ®ª
|
||||
ld ix,BoxTabl ; à ¡®ç ï â ¡«¨æ
|
||||
ld a,e
|
||||
cp (ix+0)
|
||||
jp c,user_menu_exit ; < Xo
|
||||
cp (ix+1)
|
||||
jp nc,user_menu_exit ; > Xi
|
||||
ld a,d
|
||||
cp (ix+2)
|
||||
jp c,user_menu_exit ; < Yo
|
||||
cp (ix+3)
|
||||
jp nc,user_menu_exit ; > Yi
|
||||
ld bc,4
|
||||
ld h,b
|
||||
usermenu_mouse_loop:
|
||||
inc h
|
||||
add ix,bc
|
||||
bit 7,(ix+0) ; ª®¥æ ®¯¨á â¥«ï ¬¥î ?
|
||||
ret nz ; ¤
|
||||
ld a,d
|
||||
cp (ix+2)
|
||||
jr nz,usermenu_mouse_loop
|
||||
ld a,e ; ¯®¨áª ¯ãªâ ¬¥î
|
||||
cp (ix+0)
|
||||
jr c,usermenu_mouse_loop ; < Xo
|
||||
cp (ix+1)
|
||||
jr nc,usermenu_mouse_loop ; > Xi
|
||||
UBxHotEx:
|
||||
ld a,(CurMBox)
|
||||
cp h
|
||||
jr z,UBxEnt ; ãáâ. ¯ãªâ ¬¥î
|
||||
ld a,h
|
||||
ld (CurMBox),a
|
||||
push af
|
||||
call ResBoxI
|
||||
call USetBoxI
|
||||
pop af
|
||||
halt
|
||||
halt
|
||||
halt
|
||||
halt
|
||||
; ¢ë¯®«. ¯ãªâ ¯® <Enter> ¨«¨ ¬ë誥
|
||||
UBxEnt: dec a
|
||||
ld hl,what
|
||||
ld (hl),evCommand ; ãáâ. ᮡë⨥ "ª®¬ ¤ "
|
||||
; ᪮¯¨à. ª®¬-áâப㠢 ¡ãä¥à
|
||||
add a,a
|
||||
ld e,a
|
||||
ld d,0
|
||||
ld a,(page_sys_screen);; ; áâà. user-¤ ëå
|
||||
out (SLOT3),a;;
|
||||
ld hl,array_user1 ; â ¡«¨æ 㪠§ ⥫¥© ª®¬-áâப¨
|
||||
add hl,de
|
||||
ld e,(hl)
|
||||
inc hl
|
||||
ld d,(hl)
|
||||
ex de,hl ; hl=®âªã¤
|
||||
ld de,work_buffer+127;255 ; ªã¤
|
||||
call copy_string ; ᪮¯¨à. áâபã (á ã«¥¬)
|
||||
; § ªàëâì ¬¥î
|
||||
call CloseBx
|
||||
pop de
|
||||
ret ; ¢ë©â¨ ¨§ ¬¥î
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ˆ¢¥àâ¨à®¢ ¨¥ ¯ãªâ ¬¥î
|
||||
;-------------------------------------------------
|
||||
USetBoxI:
|
||||
ld c,0
|
||||
ld a,(CurMBox)
|
||||
dec a
|
||||
add a,a ;1+1=2
|
||||
jp SetBoxI1
|
||||
159
SPEC/FUNCS.ASM
Executable file
@ -0,0 +1,159 @@
|
||||
;=====================================================================
|
||||
; <20> §¡®à ®¬¥à®¢ ᯥª-äãªæ¨©
|
||||
; ¢å®¤: c=®¬¥à äãªæ¨¨
|
||||
; ¢ë室: a=®¬¥à ¡ ª¨ ¯à®æ¥¤ãàë (áâàãªâãàë) ¬¥¥¤¦¥à
|
||||
; hl= ¤à¥á ¯à®æ¥¤ãàë ¬¥¥¤¦¥à
|
||||
; CF - ¯à¨ ®è¨¡ª¥ (¥¢¥àë© ®¬¥à äãªæ¨¨)
|
||||
;=====================================================================
|
||||
spec_funcs:
|
||||
push hl
|
||||
ld l,c ; ®¬¥à ª®¬ ¤ë
|
||||
ld h,SPEC_FUNC / 256 ; 256 ¬«. ¡ ©â ¤à¥á®¢
|
||||
ld c,(hl)
|
||||
inc h ; 256 áâ. ¡ ©â ¤à¥á®¢
|
||||
ld h,(hl)
|
||||
ld l,c ; £®â®¢ë© ¤à¥á
|
||||
ex (sp),hl ; ¢ á⥪ ¨
|
||||
ret ; ¯¥à¥©â¨ ¥£®
|
||||
|
||||
|
||||
; § £«ãèª
|
||||
empty__:scf ; ¥¢¥àë© ®¬¥à äãªæ¨¨
|
||||
ret
|
||||
|
||||
|
||||
ds 100h - $ ; ¢ë஢¨âì £à ¨æã 0100h
|
||||
|
||||
; ’ ¡«¨æ ¤à¥á®¢ äãªæ¨©
|
||||
; ¬«. ¡ ©âë ¤à¥á®¢
|
||||
SPEC_FUNC:
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 00..03
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 04..07
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 08..0B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 0C..0F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 10..13
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 14..17
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 18..1B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 1C..1F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 20..23
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 24..27
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 28..2B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 2C..2F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 30..33
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 34..37
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 38..3B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 3C..3F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 40..43
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 44..47
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 48..4B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 4C..4F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 50..53
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 54..57
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 58..5B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 5C..5F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 60..63
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 64..67
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 68..6B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 6C..6F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 70..73
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 74..77
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 78..7B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 7C..7F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 80..83
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 84..87
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 88..8B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 8C..8F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 90..93
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 94..97
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 98..9B
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; 9C..9F
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; A0..A3
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; A4..A7
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; A8..AB
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; AC..AF
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; B0..B3
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; B4..B7
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; B8..BB
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; BC..BF
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; C0..C3
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; C4..C7
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; C8..CB
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; CC..CF
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; D0..D3
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; D4..D7
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; D8..DB
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; DC..DF
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; E0..E3
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; E4..E7
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; E8..EB
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; EC..EF
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; F0..F3
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; F4..F7
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; F8..FB
|
||||
db empty__%256, empty__%256, empty__%256, empty__%256 ; FC..FF
|
||||
;
|
||||
;0300h áâ. ¡ ©âë ¤à¥á®¢
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 00..03
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 04..07
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 08..0B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 0C..0F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 10..13
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 14..17
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 18..1B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 1C..1F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 20..23
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 24..27
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 28..2B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 2C..2F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 30..33
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 34..37
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 38..3B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 3C..3F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 40..43
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 44..47
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 48..4B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 4C..4F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 50..53
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 54..57
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 58..5B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 5C..5F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 60..63
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 64..67
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 68..6B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 6C..6F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 70..73
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 74..77
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 78..7B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 7C..7F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 80..83
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 84..87
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 88..8B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 8C..8F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 90..93
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 94..97
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 98..9B
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; 9C..9F
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; A0..A3
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; A4..A7
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; A8..AB
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; AC..AF
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; B0..B3
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; B4..B7
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; B8..BB
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; BC..BF
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; C0..C3
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; C4..C7
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; C8..CB
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; CC..CF
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; D0..D3
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; D4..D7
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; D8..DB
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; DC..DF
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; E0..E3
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; E4..E7
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; E8..EB
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; EC..EF
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; F0..F3
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; F4..F7
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; F8..FB
|
||||
db empty__/256, empty__/256, empty__/256, empty__/256 ; FC..FF
|
||||
111
SPEC/VECT.ASM
Executable file
@ -0,0 +1,111 @@
|
||||
; rst 00h
|
||||
jp $+3
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
; RST 08h. BIOS calls
|
||||
push af
|
||||
ld a,0 ; ¢ª«. <20>‡“ <20>¨®á ¢ 0-¥ ®ª®
|
||||
out (7Ch),a
|
||||
pop af
|
||||
ret
|
||||
db 0C9h
|
||||
; RST 10h. DOS calls
|
||||
jp alt10 ; fm.asm
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
; RST 18h
|
||||
jp alt18 ; fm.asm
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
; rst 20h
|
||||
jp $+3
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
; rst 28h
|
||||
rst28: push af
|
||||
ld a,0 ; á®åà. page_module0
|
||||
out (82h),a
|
||||
pop af
|
||||
jr spec_interrupt
|
||||
; rst 30h
|
||||
jp $+3
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
;
|
||||
; RST 38h. Main Interrupt
|
||||
jp $+3
|
||||
di
|
||||
push iy
|
||||
push ix
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
ex af,af'
|
||||
exx
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
;call show_clock ; ®â®¡à ¦¥¨¥ ç ᮢ
|
||||
;di
|
||||
ds 4;
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
exx
|
||||
ex af,af'
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
pop ix
|
||||
pop iy
|
||||
ei
|
||||
reti
|
||||
|
||||
db -1,-1,-1,-1,-1 ; £à ¨æã 0064h
|
||||
|
||||
;0064h
|
||||
retn
|
||||
db 0 ; 0066h (®â ¥¬ áª. ¯à¥àë¢ ¨ï ¢ IM0)
|
||||
db 0
|
||||
db 0
|
||||
jp $-5
|
||||
|
||||
;================ Š®¥æ ¡«®ª ‚¥ªâ®à®¢ à¥áâ à⮢ =====================
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ ®¡à ¡®â稪 #28 à¥áâ àâ .
|
||||
; ˆá¯®«ì§®¢ âì ᢮© á⥪.
|
||||
;-------------------------------------------------
|
||||
spec_interrupt:
|
||||
ld (spc_stk+1),sp
|
||||
ld sp,spec_stack
|
||||
call spec_funcs ; ®âà ¡®âª äãªæ¨¨
|
||||
spc_stk:ld sp,0
|
||||
jp rst28 ; ¢ª«. 0-î áâà. ä¬
|
||||
|
||||
|
||||
|
||||
ds 64
|
||||
spec_stack: ; á⥪ ¡ ª¨
|
||||
1
Shared_Includes
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit a9f5915a3275f5ffbafa0994bb97c5846aab826c
|
||||
3
VERSION.INC
Executable file
@ -0,0 +1,3 @@
|
||||
; ‚¥àá¨ï ¬¥¥¤¦¥à
|
||||
major_version equ 0 ; áâ. æ¨äà
|
||||
minor_version equ 8 ; ¬«. æ¨äà
|
||||
1
fix.!
Executable file
@ -0,0 +1 @@
|
||||
<EFBFBD>ਠᬥ¥ ¤¨áª ¥ ®¡®¢«ï¥âáï ᢮¡. ¬¥áâ® ¤¨áª ¢ á㬬 ன áâப¥.
|
||||
13
readme.txt
Executable file
@ -0,0 +1,13 @@
|
||||
„«ï ª®¬¯¨«ï樨 FM.EXE § ¯ãáâ¨âì ¡ ⨪ "make.bat".
|
||||
<EFBFBD>ਠ¥®¡å®¤¨¬®áâ¨, ¢ ¡ ⨪ å (load.bat, make.bat) ¯®¯à ¢¨âì
|
||||
¯ãâì ª "asmplus.exe".
|
||||
|
||||
|
||||
‘®àæë ¯®¯à ¢«¥ë ¤«ï ᡮન ¢ ASMPlus.
|
||||
|
||||
|
||||
- “¡à (§ ª®¬¬¥â à¥) ¢¥áì ª®¤, ®â®áï騩áï ª ¢ë¢®¤ã ᮤ¥à¦¨¬®£® ä ©«
|
||||
¢ ¯ ¥«ì (Ctrl+Q).
|
||||
- <20>ਪàãç¥ ¢áâ ¢ª ¯ã⥩ «¥¢®© ¨ ¯à ¢®© ¯ ¥«¥© á®®â¢. ¯® Ctrl+[, Ctrl+].
|
||||
- <20>ਪàã祮 ¯à®á⮥ ¨ £à㯯®¢®¥ 㤠«¥¨¥ ä ©«®¢/¯ ¯®ª.
|
||||
- <20>ਪàã祮 ¯¥à¥¨¬¥®¢ ¨¥ ä ©« /¯ ¯ª¨.
|
||||
BIN
screens/screen01.gif
Executable file
|
After Width: | Height: | Size: 18 KiB |
BIN
screens/screen02.gif
Executable file
|
After Width: | Height: | Size: 15 KiB |
BIN
screens/screen03.gif
Executable file
|
After Width: | Height: | Size: 27 KiB |
BIN
screens/screen04.gif
Executable file
|
After Width: | Height: | Size: 21 KiB |
BIN
screens/screen05.gif
Executable file
|
After Width: | Height: | Size: 14 KiB |
BIN
screens/screen06.gif
Executable file
|
After Width: | Height: | Size: 27 KiB |
BIN
screens/screen07.gif
Executable file
|
After Width: | Height: | Size: 27 KiB |
BIN
screens/screen08.gif
Executable file
|
After Width: | Height: | Size: 26 KiB |
BIN
screens/screen09.gif
Executable file
|
After Width: | Height: | Size: 27 KiB |