mirror of
https://github.com/Tolik-Trek/File-Manager.git
synced 2026-06-15 01:11:36 +03:00
2418 lines
59 KiB
NASM
Executable File
2418 lines
59 KiB
NASM
Executable File
true equ 1
|
||
false equ 0
|
||
|
||
; —¨á«® ä ©«®¢ ª®«®ªã
|
||
files_per_colon equ 25
|
||
|
||
; ”®à¬ âë ¯ ¥«¥©
|
||
form_full equ 00000001b ; 0-bit full
|
||
form_med equ 00000010b ; 1-bit medium
|
||
form_brief equ 00000100b ; 2-bit brief
|
||
form_info equ 00001000b ; 3-bit info
|
||
form_qview equ 00010000b ; 4-bit qview
|
||
;form_tree equ 00100000b ; 5-bit tree
|
||
form_trd equ 01000000b ; 6-bit trd/scl ä®à¬ â
|
||
;form_ equ 10000000b ; 7-bit
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; ‘⥪ 㦥 á⮨â @stack
|
||
|
||
call read_ini_file ; ¯à®ç¨â âì ini-ä ©« (¥á«¨ ¥áâì)
|
||
; ¢ª«. ¢ #0000 ¤à ©¢¥àë ª« ¢ë, ¬ë誨, ®¡ê¥ªâë
|
||
di
|
||
ld a,(page_module0)
|
||
out (SLOT0),a
|
||
; áâநâì ®¯æ. ï祩ª¨, ¤¨áª¨ ¨ ¯ã⨠¯ ¥«¥©
|
||
call init_option_cells ; ¡¥à¥â ¤ ë¥ ¨§ work_buffer
|
||
call set_colors ; áâநâì æ¢¥â ®¡®«®çª¨
|
||
; ¢ëª«. ¢ë¢®¤ ç ᮢ
|
||
ld hl,enable_clock ; ä« £
|
||
ld a,(hl)
|
||
ld (clock__+1),a ; á®åà.
|
||
ld (hl),false ; á¡à.
|
||
ei
|
||
|
||
;ld a,form_info
|
||
;ld (format_mode),a
|
||
|
||
call make_user_menu ; á®§¤ âì Œ¥î <20>®«ì§®¢ ⥫ï
|
||
|
||
; 宫®¤ë© ¢å®¤ (¢á¥, ªà®¬¥ ¤®á-ª®¬ ¤)
|
||
cold_entry:
|
||
; ãáâ. ª®ä¨£ãà æ¨î Sprinter-2 (¢ª«. ªá¥«ì)
|
||
ld c,0F1h
|
||
rst 08h
|
||
; 梥⠡®à¤îà
|
||
xor a
|
||
out (0FEh),a
|
||
; ãáâ. ¢ãâà. ¯ «¨âàã
|
||
ld a,1 ; ®¬¥à íªà
|
||
ld bc,03A6h ; CGA-¯ «¨âà
|
||
rst 08h
|
||
|
||
call init_list_types_drives ; ¨¨æ. ᯨ᮪ ⨯®¢ ¤¨áª®¢ á¨á⥬ë
|
||
call get_total_free_space ; ᢮¡. ¬¥áâ® 2 ¤¨áª å ¯ ¥«¥©
|
||
|
||
; ⥯«ë© ¢å®¤ (¤«ï ¤®á-ª®¬ ¤)
|
||
warm_entry:
|
||
; á®åà. ¯®«®¦. ªãàá®à á¨áâ. íªà
|
||
ld c,8Eh
|
||
rst 08h
|
||
ld (sys_cursor_coords+1),de
|
||
; ãáâ. ⥪áâ. ०¨¬ íªà
|
||
ld a,3 ; 80x32x16 梥⮢
|
||
ld bc,0150h ; b=1 íªà
|
||
rst 10h
|
||
; á®åà. á¨áâ. íªà
|
||
ld c,0B2h
|
||
ld a,(page_sys_screen) ; áâà. ¡ãä¥à ®ª
|
||
call screen__
|
||
ld a,0C0h
|
||
out (89h),a ; § ªàëâì ᯥª. íªà
|
||
|
||
; ¨¨â. ¤à ©¢¥à ª« ¢ë
|
||
xor a
|
||
rst 20h
|
||
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||
ld a,1
|
||
rst 20h
|
||
; ¨¨æ. ®¡à ¡®â稪 ᮡë⨩
|
||
call InitEvent
|
||
|
||
ld a,(present_doscmnd) ; ¯à¨§ ª ®âà ¡®âª¨ ¤®á-ª®¬ ¤
|
||
or a
|
||
jr z,entry1 ; ¥ ¤®á-ª®¬ ¤
|
||
db 3Eh ; ld a,..
|
||
number_command: db 0 ; ¯®à浪. ®¬¥à ¤®á-ª®¬ ¤ë
|
||
cp 14 ; "rename"
|
||
jr c,entry2
|
||
; 23..14 ®¬¥à ª®¬ ¤, ¨§¬¥ïîé¨å ᯨ᮪ ¤¨áª
|
||
entry1:
|
||
; ‡ ¯®«¨âì ¡ ª¨ ᯨ᪠¬¨ ä ©«®¢ ªâ. ¯ ¥«ì
|
||
call save_pos_list ; á®åà. ¯à¥¦¥¥ ¯®«®¦. 㪠§ â¥«ï ¨ ᯨáª
|
||
call read_new_folder ; ®¢ë© ᯨ᮪ ª â «®£ + à §¬¥à ¯ ¯ª¨
|
||
call sorting ; à §¤¥«ìë© á¯¨á®ª 㪠§ ⥫¥© + á®àâ. ᯨáª
|
||
call set_newpos_list ; ãáâ. ¯®«®¦. 㪠§ â¥«ï ¨ ᯨáª
|
||
; ¯ áá. ¯ ¥«ì
|
||
call change_panel ; ᬥ¨âì ¯ ¥«ì
|
||
call read_new_folder
|
||
call sorting
|
||
call change_panel
|
||
|
||
entry2: xor a
|
||
ld (present_doscmnd),a ; á¡à. ¯à¨§ ª ¤®á-ª®¬ ¤
|
||
ld (number_command),a ; á¡à. ®¬¥à ª®¬ ¤ë
|
||
ld (this_cd),a ; á¡à. ¯à¨§ ª "cd","chdir" ª®¬ ¤
|
||
|
||
|
||
call PutComLine ; ç. ¢ë¢®¤ ¯ã⨠¢ ª®¬-áâப¥
|
||
call print_keybar ; ç «ìë© ¢ë¢®¤ key-¡ à
|
||
|
||
call A20FC ; ¢ë¢¥á⨠áâ. ¯ ¥«ì
|
||
call change_panel ; ᬥ¨âì ¯ ¥«ì
|
||
call A20FC ; ¢ë¢¥á⨠¯ áá. ¯ ¥«ì
|
||
call change_panel
|
||
|
||
call print_status ; áâ âãá ï áâப ¯ ¥«¨
|
||
call show_pointer ; ç «ìë© ¢ë¢®¤ 㪠§ ⥫ï
|
||
call init_mouse ; ¨¨æ. ¨ ¯®ª § âì ¬ëèªã
|
||
|
||
clock__: ld a,false
|
||
ld (enable_clock),a ; ¢®ááâ. ä« £
|
||
|
||
|
||
; £« ¢ë© 横«
|
||
main_loop: ld hl,main_loop ; â®çª ¢®§¢à â
|
||
push hl
|
||
;
|
||
ld hl,what ; ¯®«¥ ᮡë⨩
|
||
ld a,(hl) ; ᮡë⨥
|
||
cp evRunComLine ; ᮡë⨥ "®âà ¡®â âì ª®¬-áâபã"
|
||
jp z,parsing_command_line ; launch.asm
|
||
;
|
||
halt
|
||
ld a,3 ; â¥áâ ¦ â¨ï ª« ¢¨è
|
||
rst 20h
|
||
ld a,b
|
||
and 11110000b ; Ctrl,Alt,Shift ?
|
||
jp nz,change_keybar ; ᬥ¨âì ¢¨¤ key-¡ à ¨ ®âà ¡. ®¯æ¨î
|
||
call dinam_qview_panel ; ®âà ¡. ¯à¨ ¢ª«. qview-¯ ¥«¨
|
||
jp nz,change_keybar ; ᬥ¨âì ¢¨¤ key-¡ à ¨ ®âà ¡. ®¯æ¨î
|
||
call handle_event ; ç¨â ¥¬ ᮡë⨥
|
||
ld a,(what) ;+0 ᯨ᮪ ᮡë⨩
|
||
cp evNothing
|
||
ret z
|
||
cp evMouseFr
|
||
jp z,buttons_press ; ¡ãâ®ë ¦ âë
|
||
cp evKeyboard
|
||
jp z,normal_char ; ®¡ëçë¥ ª« ¢¨è¨
|
||
cp evCombKey
|
||
ret nz
|
||
ld a,d
|
||
cp 58h ; ªãàá®à ¢¢¥àå
|
||
jp z,up
|
||
cp 52h ; ªãàá®à ¢¨§
|
||
jp z,down
|
||
cp 54h ; ªãàá®à ¢«¥¢®
|
||
jp z,left
|
||
cp 56h ; ªãàá®à ¢¯à ¢®
|
||
jp z,right
|
||
cp 53h ; PageDown
|
||
jp z,page_down
|
||
cp 59h ; PageUp
|
||
jp z,page_up
|
||
cp 57h ; Home
|
||
jp z,home_list
|
||
cp 51h ; End
|
||
jp z,end_list
|
||
ld a,d
|
||
cp 3Bh ; F1
|
||
;jp z,
|
||
cp 3Ch ; F2
|
||
jp z,user_menu
|
||
cp 3Dh ; F3
|
||
jp z,file_viewer
|
||
cp 3Eh ; F4
|
||
;jp z,
|
||
cp 3Fh ; F5
|
||
jp z,copy
|
||
cp 40h ; F6
|
||
jp z,rename
|
||
cp 41h ; F7
|
||
jp z,make_folder
|
||
cp 42h ; F8
|
||
jp z,delete
|
||
cp 43h ; F9
|
||
jp z,main_menu
|
||
cp 44h ; F10
|
||
jr z,quit
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
and form_info+form_qview ; info, qview
|
||
ret nz
|
||
ld a,d
|
||
cp 50h ; Ins
|
||
jp z,mark
|
||
cp 4Fh ; Del
|
||
;jp z,
|
||
ret
|
||
|
||
quit: db 3Eh ; ld a,..
|
||
confirm_quit: db true ; ä« £ "¯®¤â¢¥à¦¤¥¨¥ ¢ë室 "
|
||
or a
|
||
jr z,quit__
|
||
; ®âªàëâì ®ª® "Quit"
|
||
ld hl,win_dial_quit ; ®¯¨á â¥«ì ®ª
|
||
call DialogW
|
||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||
ret nz
|
||
ld a,(hl) ;+1 what
|
||
cp cmOkey ; "Yes"
|
||
ret nz
|
||
quit__: ld b,0 ; Ok ¢®§¢à. ª®¤
|
||
pop hl ; ¢®ááâ. ¡ « á á⥪
|
||
jp exit ; ¢ë室 ¢ „Ž‘
|
||
|
||
|
||
|
||
|
||
|
||
;-----------------------------------------------------------
|
||
; ®¡ëçë¥ ª« ¢¨è¨
|
||
;-----------------------------------------------------------
|
||
normal_char: ld a,e
|
||
cp 1Bh ; Esc ¢à¥¬¥ë© ¯à®á¬®âà íªà
|
||
jp z,view_screen
|
||
cp 9 ; Tab ᬥ ªâ. ¯ ¥«¨
|
||
jp z,tab
|
||
cp 0Dh ; Enter
|
||
jp z,Press_Enter
|
||
cp " "
|
||
ret c
|
||
; ¢¢®¤ ᨬ¢®«®¢ ¢ ª®¬-áâபã
|
||
ld hl,(YXpos+1) ; ç «® ¯®«ï ¢¢®¤ ª®¬-áâப¨
|
||
ld (CursorPos),hl ; ¯®«®¦. ªãàá®à íªà ¥
|
||
ent_to_cline: call ComLineI ; ¢ª«. ªãàá®à
|
||
jp EvComLine1 ; ¢å®¤ ¢ ª®¬-áâபã
|
||
|
||
; ¢®©â¨ ¢ ª®¬-áâபã ( «ìâ. ¢å®¤)
|
||
alt_enter_to_comline:
|
||
ld hl,what ; ᯨ᮪ ᮡë⨩
|
||
ld (hl),evNothing ; ¥ ®âà ¡. ¯®¢â®à®
|
||
jr ent_to_cline
|
||
|
||
|
||
|
||
|
||
|
||
;-------------------------------------------------
|
||
; ‚६¥ë© ¯à®á¬®âà á¨áâ. íªà (Esc)
|
||
;-------------------------------------------------
|
||
view_screen: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«.
|
||
db 3Eh ; ld a,..
|
||
flag_esc: db true ; ä« £ ¢à¥¬. ¯à®á¬®âà íªà ¯® Esc
|
||
or a
|
||
ret z
|
||
; ¢ëª«. ¢ë¢®¤ ç ᮢ
|
||
ld hl,enable_clock ; ¢®ááâ. ä« £
|
||
ld a,(hl)
|
||
push af
|
||
ld (hl),false
|
||
; á®åà. ¯®«ë© íªà ¬¥¥¤¦¥à
|
||
ld c,0B2h
|
||
ld a,(page_sys_screen) ; áâà ¨æ ¡ãä¥à
|
||
call screen2__
|
||
; ¢®ááâ. ¯®«ë© á¨áâ¥¬ë© íªà
|
||
ld c,0B3h
|
||
ld a,(page_sys_screen) ; áâà ¨æ ¡ãä¥à
|
||
call screen__
|
||
view_scr_loop__:
|
||
; ¦¤¥¬ ¦ â¨ï ¬ë誨
|
||
call get_mouse_info ; ç⥨¥ á®áâ®ï¨ï ¬ë誨
|
||
jr z,view_scr_loop1__ ; ª®¯ª¨ ¥ ¦ âë
|
||
call get_fire ; ¦¤¥¬, ¯®ª ¦ âë ª®¯ª¨
|
||
jr view_scr__
|
||
;
|
||
view_scr_loop1__:
|
||
; ¦¤¥¬ ¦ â¨ï ª« ¢¨è¨
|
||
ld a,2
|
||
rst 20h
|
||
jr z,view_scr_loop__
|
||
ld a,1 ; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||
rst 20h
|
||
view_scr__:
|
||
; ¢®ááâ. ¯®«ë© íªà ¬¥¥¤¦¥à
|
||
ld c,0B3h
|
||
ld a,(page_sys_screen) ; áâà ¨æ ¡ãä¥à
|
||
call screen2__
|
||
pop af
|
||
ld (enable_clock),a ; ¢®ááâ. ä« £
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; áà ¢¨âì hl á de
|
||
cmphlde: ld a,l
|
||
sub e
|
||
ld a,h
|
||
sbc a,d
|
||
ret
|
||
|
||
; § £à㧨âì de
|
||
L0020: ld e,(hl)
|
||
inc hl
|
||
ld d,(hl)
|
||
inc hl
|
||
ret
|
||
|
||
; (hl) -> (ix)
|
||
; b-áç¥â稪
|
||
A0E90: ld a,(hl)
|
||
ld (ix+0),a
|
||
inc hl
|
||
inc ix
|
||
djnz $-7
|
||
ret
|
||
|
||
; Š®¯¨à®¢ ¨¥ áâப¨ ¤® ã«ï. <20>ã«ì ª®¯¨àã¥âáï ⮦¥.
|
||
; (hl) -> (de)
|
||
copy_string: ld a,(hl)
|
||
ldi
|
||
or a
|
||
jr nz,$-4
|
||
ret
|
||
|
||
|
||
;-------------------------------------------------
|
||
; ‘à ¢¥¨¥ áâப¨ á ãç¥â®¬ ॣ¨áâà .
|
||
; (®¡à §¥æ ¤®«¦¥ § ª 稢 âìáï ã«¥¬)
|
||
; ¢å®¤: de - string1
|
||
; hl - string2 (®¡à §¥æ)
|
||
; ¢ë室: "z" - string1 = string2
|
||
; "c" - string1 < string2
|
||
; ¨ ç¥ - string1 > string2
|
||
;-------------------------------------------------
|
||
compare_strings:ld a,(de)
|
||
cp (hl)
|
||
ret nz
|
||
inc hl
|
||
inc de
|
||
ld a,(hl)
|
||
or a
|
||
jr nz,$-7 ; ®¡à §¥æ ¥ § ª®ç¥
|
||
ld a,(de)
|
||
cp (hl)
|
||
ret
|
||
|
||
|
||
;-------------------------------------------------
|
||
; “¬®¦¥¨¥ BC*DE=HLBC
|
||
;-------------------------------------------------
|
||
mul_bcde: ld hl,0
|
||
ld a,17
|
||
rr b
|
||
rr c
|
||
dec a
|
||
ret z
|
||
jr nc,$+3
|
||
add hl,de
|
||
rr h
|
||
rr l
|
||
jr $-13
|
||
|
||
|
||
; ‚뢮¤ HL ¢ hex-ä®à¬ â¥
|
||
; ix=¡ãä¥à
|
||
; hl=ç¨á«®
|
||
hex16: ld a,h
|
||
call hex8
|
||
ld a,l
|
||
; ‚뢮¤ "a" ¢ hex-ä®à¬ â¥
|
||
; ix=¡ãä¥à
|
||
; a=ç¨á«®
|
||
hex8: push af
|
||
rrca
|
||
rrca
|
||
rrca
|
||
rrca
|
||
call $+4
|
||
pop af
|
||
and 0Fh
|
||
add a,90h
|
||
daa
|
||
adc a,40h
|
||
daa
|
||
ld (ix+0),a
|
||
inc ix
|
||
ret
|
||
|
||
|
||
|
||
; ’¥áâ ०¨¬ ®â®¡à ¦¥¨ï ¯ ¥«¥©
|
||
; -------------------------------
|
||
; out: Z - ¢ëª«. ¯ ¥«¨
|
||
; NZ - ¢ª«. ¯ ¥«¨
|
||
test_show_panels:
|
||
db 3Eh ; ld a,..
|
||
enable_panels: db true ; ä« £ ®â®¡à ¦¥¨ï ¯ ¥«¥©
|
||
or a
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;-----------------------------------
|
||
; ªãàá®à ¢«¥¢®
|
||
;-----------------------------------
|
||
left: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«. -> ¯¥à¥¬¥é¥¨¥ ¢ ª®¬-áâப¥
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
cp form_info ; info
|
||
ret z
|
||
cp form_qview ; qview
|
||
ret z;
|
||
;jp z, ; ¥á«¨ ä ©«, â® ¢¨£ æ¨ï ¯® ¥¬ã
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
|
||
ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
ld a,l
|
||
or h
|
||
jr nz,A0CE6_ ; 㪠§ â¥«ì ¥ ¢ ç «¥ ᯨáª
|
||
ld de,(offset_list) ; ᬥé. ᯨáª
|
||
adc hl,de ; adc 㦥 ¤«ï ãáâ."z"
|
||
jr nz,_0CEE ; ᯨ᮪ ᬥé¥
|
||
ret ; á⮨¬ ¢ ç «¥ ᯨáª
|
||
A0CE6_: ld de,files_per_colon ; 25 ä ©«®¢ ª®«®ªã
|
||
sbc hl,de
|
||
jp nc,A0E12_ ; ®¡®¢¨âì ¯®«®¦. 㪠§ ⥫ï
|
||
; ¤®è«¨ ¤® «¥¢®£® ªà ï ᯨáª
|
||
A0CE8: ld hl,0 ; 㪠§ â¥«ì ¢ ç «® ¯¨áª
|
||
jp A0E12_ ; ®¡®¢¨âì ¯®«®¦. 㪠§ ⥫ï
|
||
|
||
;-----------------------------------
|
||
; áâà ¨æã ¢¢¥àå
|
||
;-----------------------------------
|
||
page_up: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
jr nz,$+8
|
||
call history_begin ; ¢ ç «® ¨áâ®à¨¨
|
||
jp alt_enter_to_comline ; 䮪ãá ª®¬-áâபã
|
||
;
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
cp form_info ; info
|
||
ret z
|
||
cp form_qview ; qview
|
||
ret z;
|
||
;jp z, ; ¥á«¨ ä ©«, â® ¢¨£ æ¨ï ¯® ¥¬ã
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
ld hl,(cur_pointer)
|
||
ld bc,(offset_list) ; ᬥé. ᯨáª
|
||
adc hl,bc ; "adc" 㦥 ¤«ï "z"
|
||
ret z ; 㪠§ â¥«ì ¢ ç «¥ ᯨáª
|
||
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
|
||
ld a,c
|
||
or b
|
||
jr z,A0CE8 ; 㪠§ â¥«ì ¥ ¢ ç «¥ ᯨáª
|
||
; ᯨ᮪ ᬥé¥
|
||
call clear_pointer
|
||
ld hl,0 ; á¡à. ¯®«®¦. 㪠§ ⥫ï
|
||
ld (cur_pointer),hl
|
||
ld hl,(offset_list) ; ᬥé. ᯨáª
|
||
_0CEE: ld de,files_per_colon ; 25/50/75 à §¬¥à áâà ¨æë
|
||
and a
|
||
sbc hl,de
|
||
jr nc,$+5
|
||
A0CF0: ld hl,0
|
||
ld (offset_list),hl
|
||
jp A0D78 ; ®¡®¢¨âì ¢¥áì ᯨ᮪ ¯ ¥«¨
|
||
|
||
|
||
;-----------------------------------
|
||
; ªãàá®à ¢¯à ¢®
|
||
;-----------------------------------
|
||
right: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«. -> ¯¥à¥¬¥é¥¨¥ ¢ ª®¬-áâப¥
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
cp form_info ; info
|
||
ret z
|
||
cp form_qview ; qview
|
||
ret z;
|
||
;jp z, ; ¥á«¨ ä ©«, â® ¢¨£ æ¨ï ¯® ¥¬ã
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
_0D01: ld de,files_per_colon-1 ; à §¬¥à áâà ¨æë - 1
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
jr z,A0D1D ; 㪠§ â¥«ì ¢ ª®æ¥ ᯨ᪠¯ ¥«¨
|
||
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
|
||
;
|
||
ld de,files_per_colon ; 25 ä ©«®¢ ª®«®ªã
|
||
add hl,de
|
||
_0D08: ld de,files_per_colon ; 25/50/75 à §¬¥à áâà ¨æë
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
jr c,$+5
|
||
; ¤®è«¨ ¤® ¯à ¢®£® ªà ï ᯨáª
|
||
_0D0D: ld hl,files_per_colon-1 ; à §¬¥à áâà ¨æë - 1
|
||
inc hl
|
||
ld de,(all_files) ; ä ©«®¢ ¨ ¯ ¯®ª
|
||
call cmphlde ; cp (hl) áà ¢¨âì hl á de
|
||
dec hl
|
||
jp c,A0E12_ ; ®¡®¢¨âì ¯®«®¦. 㪠§ ⥫ï
|
||
ex de,hl ; hl=all_files (ä ©«®¢+¯ ¯ª¨)
|
||
dec hl
|
||
jp A0E12_ ; ®¡®¢¨âì ¯®«®¦. 㪠§ ⥫ï
|
||
|
||
;-----------------------------------
|
||
; áâà ¨æã ¢¨§
|
||
;-----------------------------------
|
||
page_down: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
jr nz,$+8
|
||
call history_last ; ¢ ª®¥æ ¨áâ®à¨¨
|
||
jp alt_enter_to_comline ; 䮪ãá ª®¬-áâபã
|
||
;
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
cp form_info ; info
|
||
ret z
|
||
cp form_qview ; qview
|
||
ret z;
|
||
;jp z, ; ¥á«¨ ä ©«, â® ¢¨£ æ¨ï ¯® ¥¬ã
|
||
ld de,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,e
|
||
or d
|
||
ret z
|
||
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
|
||
ld hl,(_0D01+1) ; à §¬¥à áâà ¨æë - 1
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
jr c,A0D1D
|
||
; ç¨á«® ä ©«®¢ ¬¥ìè¥, 祬
|
||
; ã¬¥é ¥âáï ¢ ᯨ᪥ ¯ ¥«¨
|
||
ld hl,(cur_pointer) ; 㪠§ â¥«ì ª®¥æ ᯨ᪠¯ ¥«¨
|
||
dec de
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
ret z ; 㪠§ â¥«ì ¢ ª®æ¥ ᯨáª
|
||
ex de,hl ; hl = all_files-1
|
||
jp A0E12_ ; ®¡®¢¨âì ¯®«®¦. 㪠§ ⥫ï
|
||
;
|
||
A0D1D: ld c,l
|
||
ld b,h
|
||
; â¥áâ ª®¥æ ¢á¥£® ᯨáª
|
||
ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
ld de,(offset_list) ; ᬥé. ᯨáª
|
||
inc hl
|
||
add hl,de
|
||
ld de,(all_files)
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
ret z ; ª®¥æ ä ©«®¢
|
||
_0D1F: ld hl,files_per_colon ; 25/50/75 à §¬¥à áâà ¨æë
|
||
ld de,(offset_list) ; ᬥé. ᯨáª
|
||
add hl,de
|
||
ld de,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
ld l,c
|
||
ld h,b
|
||
jp z,A0E12_ ; 㪠§ â¥«ì ¢ ¯à¥¤¥« å ¯®á«¥¤. áâà ¨æë ᯨáª
|
||
push hl
|
||
call clear_pointer
|
||
pop hl
|
||
ld (cur_pointer),hl
|
||
ld bc,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld hl,(offset_list) ; ᬥé. ᯨáª
|
||
_0D2C: ld de,files_per_colon ; 25/50/75 à §¬¥à áâà ¨æë
|
||
add hl,de
|
||
ld (offset_list),hl
|
||
dec de
|
||
add hl,de
|
||
and a
|
||
sbc hl,bc
|
||
jp c,A0F09 ; ®¡®¢¨âì ¢¥áì ᯨ᮪ ¯ ¥«¨
|
||
ex de,hl
|
||
ld hl,(offset_list) ; ᬥé. ᯨáª
|
||
sbc hl,de
|
||
dec hl
|
||
ld (offset_list),hl
|
||
jp A0F09 ; ®¡®¢¨âì ¢¥áì ᯨ᮪ ¯ ¥«¨
|
||
|
||
|
||
;-----------------------------------
|
||
; ªãàá®à ¢¢¥àå
|
||
;-----------------------------------
|
||
up: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
jr nz,$+8
|
||
up1: call history_prev ; ¯à¥¤. áâப ¨áâ®à¨¨
|
||
jp alt_enter_to_comline ; 䮪ãá ª®¬-áâபã
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
bit 3,a ; info
|
||
ret nz
|
||
bit 4,a ; qview
|
||
ret nz;
|
||
;jp z, ; ¥á«¨ ä ©«, â® ¢¨£ æ¨ï ¯® ¥¬ã
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
ld de,(offset_list) ; ᬥé. ᯨáª
|
||
adc hl,de ; adc 㦥 ¤«ï "z"
|
||
ret z ; á⮨¬ ¢ ç «¥ ᯨáª
|
||
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
|
||
and a
|
||
sbc hl,de ; ¬¨ãá offset_list
|
||
jr nz,A0D94_
|
||
ex de,hl ; hl=offset_list
|
||
dec hl
|
||
ld (offset_list),hl
|
||
; 横« áªà®««¨£ ¢á¥£® ᯨ᪠¯ ¥«¨
|
||
A0D78: ld hl,0
|
||
call A0E15_ ; ¢ë¢®¤ 㪠§ â¥«ï ¢ ®¢®¬ ¯®«®¦.
|
||
A0D7A: ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
inc hl
|
||
ld (cur_pointer),hl
|
||
_0D7D: ld de,files_per_colon ; 25/50/75 à §¬¥à áâà ¨æë
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
jr z,A0D80
|
||
call A2203 ; ¢ë¢®¤ áâப¨ ᯨáª
|
||
jr A0D7A
|
||
;
|
||
A0D80: ld hl,0
|
||
ld (cur_pointer),hl ; ®¢®¥ ¯®«®¦.
|
||
ret
|
||
;
|
||
A0D94_: ld hl,(cur_pointer)
|
||
dec hl ; --cur_pointer
|
||
jp A0E12_ ; ®¡®¢¨âì ¯®«®¦. 㪠§ ⥫ï
|
||
|
||
|
||
;-----------------------------------
|
||
; ªãàá®à ¢¨§
|
||
;-----------------------------------
|
||
down: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
jr nz,$+8
|
||
down1: call history_next ; á«¥¤. áâப ¨áâ®à¨¨
|
||
jp alt_enter_to_comline ; 䮪ãá ª®¬-áâபã
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
bit 3,a ; info
|
||
ret nz
|
||
bit 4,a ; qview
|
||
ret nz;
|
||
;jp nz, ; ¥á«¨ ä ©«, â® ¢¨£ æ¨ï ¯® ¥¬ã
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
|
||
ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
_0EC7: ld de,files_per_colon-1 ; à §¬¥à áâà ¨æë - 1
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
jp nz,A0E0A ; ᬥáâ¨âì 㪠§ â¥«ì ¢¨§
|
||
; ¤®è«¨ ¤® ª®æ ᯨ᪠¯ ¥«¨
|
||
ld de,(offset_list) ; ᬥé. ᯨáª
|
||
inc hl
|
||
add hl,de
|
||
ld de,(all_files)
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
ret z ; ª®¥æ ä ©«®¢
|
||
ld hl,(offset_list) ; ᬥé. ᯨáª
|
||
inc hl
|
||
ld (offset_list),hl
|
||
A0F09: ld hl,files_per_colon-1 ; à §¬¥à áâà ¨æë - 1
|
||
call A0E15_ ; ¢ë¢®¤ 㪠§ â¥«ï ¢ ®¢®¬ ¯®«®¦.
|
||
; 横« áªà®««¨£ ¢á¥£® ᯨ᪠¯ ¥«¨
|
||
A0F0A: ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
dec hl
|
||
ld (cur_pointer),hl
|
||
inc hl
|
||
ld a,l
|
||
or h
|
||
jr z,A0F0C ; ¤®è«¨ ¤® ª®æ á¯¨áª ä ©«®¢
|
||
call A2203 ; ¢ë¢®¤ áâப¨ ᯨáª
|
||
jr A0F0A
|
||
;
|
||
A0F0C: ld hl,(A0F09+1)
|
||
ld (cur_pointer),hl ; ®¢®¥ ¯®«®¦.
|
||
ret
|
||
|
||
|
||
; ¯¥à¥¬¥áâ¨âì 㪠§ â¥«ì ¢¨§
|
||
A0E0A: ld de,(all_files)
|
||
inc hl ; ++cur_pointer
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
ret z ; ª®¥æ ä ©«®¢
|
||
A0E12_: push hl
|
||
call clear_pointer ; áâ¥à¥âì 㪠§ ⥫ì
|
||
pop hl
|
||
A0E15_: ld (cur_pointer),hl ; ®¢®¥ ¯®«®¦.
|
||
jp show_pointer ; ¢ë¢¥á⨠㪠§ ⥫ì
|
||
|
||
|
||
;-----------------------------------
|
||
; ¢ ç «® ᯨáª
|
||
;-----------------------------------
|
||
home_list: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«. -> ¯¥à¥¬¥é¥¨¥ ¢ ª®¬-áâப¥
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
cp form_info ; info
|
||
ret z
|
||
cp form_qview ; qview
|
||
ret z;
|
||
;jp z, ; ¥á«¨ ä ©«, â® ¢¨£ æ¨ï ¯® ¥¬ã
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
ld hl,(cur_pointer) ; ⥪. ¯®«®¦. 㪠§ ⥫ï
|
||
ld de,(offset_list) ; ᬥé. ᯨáª
|
||
xor a
|
||
adc hl,de ; adc 㦥 ¤«ï "z"
|
||
ret z ; á⮨¬ ¢ ç «¥ ᯨáª
|
||
ld l,a
|
||
ld h,a ; hl=0
|
||
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
|
||
call cmphlde ; ᯨ᮪ á¬¥é¥ ?
|
||
jr z,A0E12_ ; ¥â, ®¡®¢¨âì ⮫쪮 ¯®«®¦. 㪠§ ⥫ï
|
||
call clear_pointer
|
||
jp A0CF0
|
||
|
||
|
||
;-----------------------------------
|
||
; ¢ ª®¥æ ᯨáª
|
||
;-----------------------------------
|
||
end_list: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«. -> ¯¥à¥¬¥é¥¨¥ ¢ ª®¬-áâப¥
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
cp form_info ; info
|
||
ret z
|
||
cp form_qview ; qview
|
||
ret z;
|
||
;jp z, ; ¥á«¨ ä ©«, â® ¢¨£ æ¨ï ¯® ¥¬ã
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
|
||
ld c,l ; bc=all_files
|
||
ld b,h
|
||
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,lst4__
|
||
; ç¨á«® ä ©«®¢ ¬¥ìè¥ á¯¨áª ¯ ¥«¨
|
||
lst3__: dec hl
|
||
jp A0E12_ ; ®¡®¢¨âì ¯®«®¦. 㪠§ ⥫ï
|
||
;
|
||
lst4__: 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,lst6__
|
||
; 㪠§ â¥«ì ¢ ¯à¥¤¥« å ¯®á«¥¤. áâà ¨æë ᯨáª
|
||
ex de,hl
|
||
jr lst3__
|
||
;
|
||
lst6__: push bc
|
||
push de
|
||
call clear_pointer
|
||
pop de
|
||
pop bc
|
||
dec bc
|
||
ld (offset_list),bc
|
||
inc de
|
||
ld (cur_pointer),de
|
||
jp A0F09 ; ®¡®¢¨âì ᯨ᮪ ¯ ¥«¨
|
||
|
||
|
||
|
||
;-----------------------------------
|
||
; Ins, ®â¬¥âª ä ©«®¢
|
||
;-----------------------------------
|
||
mark: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«.
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
call A0E13 ; áâ ¢¨â/ᨬ ¥â ®â¬¥âªã ä ©«®¢
|
||
ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
_0DA4: ld de,files_per_colon-1 ; à §¬¥à áâà ¨æë - 1
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
ex af,af'
|
||
db 3Eh ; ld a,..
|
||
enable_down_mark:
|
||
db true ; ä« £ "ᬥé âì ªãàá®à ¯à¨ ¢ë¤¥«¥¨¨"
|
||
or a
|
||
ret z
|
||
ex af,af'
|
||
jp nz,A0E0A ; ¯¥à¥¬¥áâ¨âì 㪠§ â¥«ì ¢¨§
|
||
; ¨¦ïï áâப áâà ¨æë
|
||
ld de,(offset_list) ; ᬥé. ᯨáª
|
||
inc hl
|
||
add hl,de
|
||
ld de,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
jp z,show_pointer ; ¯®á«¥¤¨© ä ©« ᯨ᪠(ᯨ᮪ ¡®«ìè¥ áâà ¨æë)
|
||
A0DB7: ld hl,(offset_list) ; ᬥé. ᯨáª
|
||
inc hl
|
||
ld (offset_list),hl
|
||
A0DE9: ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
dec hl
|
||
ld a,l
|
||
or h
|
||
jr z,_0E04
|
||
ld (cur_pointer),hl
|
||
call A2203 ; ¤«ï ᬥé. ᯨ᪠¢¨§
|
||
jr A0DE9
|
||
;
|
||
_0E04: ld hl,files_per_colon-1 ; 25/50/75 à §¬¥à áâà ¨æë (¯®á«¥,"à §¬¥à áâà ¨æë - 1")
|
||
jp A0E15_ ; ¢ë¢®¤ 㪠§ â¥«ï ¢ ®¢®¬ ¯®«®¦.
|
||
|
||
|
||
; ‘â ¢¨â/ᨬ ¥â ®â¬¥âªã ä ©«®¢ ¨ ¢ë¢®¤¨â
|
||
; ¨ä®à¬. áâப㠢뤥«. ä ©«®¢
|
||
A0E13: ; ãáâ. ०¨¬ ª« ¢ë "¢áâ ¢ª "
|
||
ld hl,D0642 ; ä« £¨ ª« ¢ë
|
||
set 1,(hl) ; ãáâ. 1-© ¡¨â (¢áâ ¢ª )
|
||
;
|
||
call get_record ; ã§ âì ¤à¥á ⥪. § ¯¨á¨ ¢ ¯ ¯ª¥
|
||
ld a,(format_mode) ; ⥪. 䮬 â ¯ ¥«¨
|
||
and form_trd ; spec
|
||
jp nz,mark_spec_record
|
||
ld a,(de) ;+11 ᬥé. ¤® ¡ ©â âਡã⮢
|
||
and 10h ; ¯ ¯ª ?
|
||
jr z,A0E15 ; ¥â
|
||
ld a,(hl)
|
||
cp "." ; ".."
|
||
ret z
|
||
db 3Eh ; ld a,..
|
||
mark_folders: db true ; ä« £ ®â¬¥âª¨ ¯ ¯®ª
|
||
or a
|
||
ret z ; ¥ ®â¬¥ç âì
|
||
A0E15: inc de
|
||
ld bc,28 ; ᬥé. ¤® à §¬¥à ä ©«
|
||
add hl,bc
|
||
ld a,(de) ; +12 ï祩ª ¬ ન஢ª¨ ä ©«
|
||
xor 80h ; ¨¢¥àâ. ä« £
|
||
ld (de),a
|
||
push hl
|
||
push af
|
||
call show_pointer ; ¢ë¢®¤ 㪠§ ⥫ï
|
||
pop af
|
||
pop hl
|
||
call L0020 ; de <= low-à §¬¥à ä ©«
|
||
ld c,(hl) ; bc=áâ. à §àï¤ à §¬¥à
|
||
inc hl
|
||
ld b,(hl)
|
||
A0E49: ld hl,(low_size) ; ¬«. à §àï¤ à §¬¥à ¢ë¤¥«. ä ©«®¢
|
||
rlca ; a=¡ ©â ®â¬¥âª¨
|
||
jr nc,A0E77 ; ®â¬¥âª áïâ , ¢ëç¥áâì à §¬¥à ä ©«
|
||
add hl,de ; de=¬«.à §àï¤ à §¬¥à
|
||
ld (low_size),hl ; ¬«.à §àï¤ à §¬¥à ¢ë¤¥«. ä ©«®¢
|
||
ld hl,(high_size) ; áâ.à §àï¤
|
||
adc hl,bc
|
||
ld (high_size),hl
|
||
ld hl,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||
inc hl ; 㢥«. ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||
ld (mark_files),hl
|
||
A0E63: ld hl,(__markline) ; ®¯¨á ⥫ì áâப¨ "xxx.. bytes in xx files"
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
ld (A0E70_+1),hl ;+3 ®â ç « ®¯¨á ⥫ï
|
||
inc hl
|
||
inc hl
|
||
push hl
|
||
pop ix ;+5 ix=mark_string+1
|
||
; ¢áâ ¢¨âì ®¡ê¥¬ ä ©«®¢
|
||
ld hl,put_comma ; ãáâ. ä« £ ¢ë¢®¤ § ¯ï⮩
|
||
inc (hl)
|
||
exx
|
||
ld hl,(high_size)
|
||
exx
|
||
ld hl,(low_size)
|
||
ld b,0 ; ¡¥§ ¢¥¤ãé¨å ¯à®¡¥«®¢
|
||
call dec32 ; ®¡ê¥¬ ¢ë¤¥«. ä ©«®¢
|
||
ld hl,put_comma ; ä« £ à §¤¥«¥¨ï à §à冷¢
|
||
dec (hl) ; á¡à. ä« £
|
||
; ¢áâ ¢¨âì áâபã " bytes in "
|
||
ld hl,mark_string1__
|
||
ld b,10 ; ¤«¨ áâப¨
|
||
call A0E90 ; ᪮¯¨à®¢ âì áâபã
|
||
; ¢áâ ¢¨âì ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||
ld hl,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||
ld e,l
|
||
ld d,h
|
||
call dec16 ; ç¨á«® ¡¥§ ¢¥¤ãé. ¯à®¡¥«®¢
|
||
; ¢áâ ¢¨âì áâபã " files"
|
||
ld b,5 ; ¤«¨ áâப¨ " files" - 1
|
||
and a
|
||
ld hl,1
|
||
sbc hl,de ; de=ç¨á«® mark-ä ©«®¢
|
||
jr nc,A0E6D_
|
||
inc b
|
||
A0E6D_: ld hl,mark_string2__
|
||
call A0E90 ; ᪮¯¨à®¢ âì áâபã
|
||
push ix
|
||
pop hl
|
||
xor a
|
||
ld (hl)," " ; ª®æ¥¢®© ¯à®¡¥«
|
||
inc hl
|
||
ld (hl),a ; ª®¥æ ®¯¨á ⥫ï
|
||
dec hl
|
||
; ã§ âì ¤«¨ã áâப¨
|
||
A0E70_: ld de,0 ;+3 á®åà. mark_string-1
|
||
sbc hl,de
|
||
ld c,l
|
||
; æ¥âà¨à®¢ âì áâபã
|
||
srl l ; ¤«¨ áâப¨ / 2
|
||
ld a,20 ; ¯®«®¢¨ è¨à¨ë ¯ ¥«¨
|
||
sub l
|
||
ld (de),a ; X ¯®«®¦. áâப¨
|
||
ld hl,-3
|
||
add hl,de ; hl= ç «® ®¯¨á ⥫ï
|
||
ld a,(hl) ; áâ à ï ¤«¨ áâப¨
|
||
ld (hl),c ; ®¢ ï ¤«¨ áâப¨
|
||
inc c
|
||
cp c ; ®¢ ï < áâ ன ?
|
||
push hl
|
||
call nc,clear_footer_line ; ¤ , ®ç¨áâ¨âì áâபã
|
||
pop hl
|
||
; ¢ë¢®¤ £®â®¢®© áâப¨
|
||
jp draw_text ; ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||
;
|
||
; ¢ëç¥áâì à §¬¥à ä ©«
|
||
A0E77: sbc hl,de
|
||
ld (low_size),hl ; ¬«. à §àï¤ à §¬¥à ¢ë¤¥«. ä ©«®¢
|
||
ld hl,(high_size)
|
||
sbc hl,bc
|
||
ld (high_size),hl ; áâ. à §àï¤
|
||
ld hl,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||
dec hl
|
||
ld (mark_files),hl
|
||
ld a,l
|
||
or h
|
||
jp nz,A0E63
|
||
; 0 ®â¬¥ç¥ëå ä ©«®¢, áâ¥à¥âì ¨ä. áâபã
|
||
clear_footer_line:
|
||
ld hl,footer_med
|
||
ld a,(format_mode) ; ä®à¬ â ¯ ¥«¨
|
||
bit 1,a ; medium
|
||
jp nz,draw_text ; ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||
ld hl,footer_brief
|
||
bit 2,a ; brief
|
||
jp nz,draw_text
|
||
ld hl,footer_spec
|
||
bit 6,a ; spec
|
||
jp nz,draw_text
|
||
ld hl,footer_full ; full
|
||
jp draw_text
|
||
|
||
; ‘â ¢¨â/ᨬ ¥â ®â¬¥âªã ᯥª-ä ©«®¢
|
||
mark_spec_record:
|
||
ld a,(hl) ;+0 1-ï ¡ãª¢ ¨¬¥¨
|
||
xor 80h
|
||
ld (hl),a
|
||
ld bc,11 ;+11
|
||
add hl,bc ; ¯¥à¥©â¨ à §¬¥à ä ©«
|
||
push hl
|
||
push af
|
||
call show_pointer ; ¢ë¢®¤ 㪠§ ⥫ï
|
||
pop af
|
||
pop hl
|
||
call L0020 ; de=¬«. à §àï¤ à §¬¥à ä ©«
|
||
ld bc,0 ; bc=áâ. à §àï¤ à §¬¥à ä ©«
|
||
jp A0E49
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;---------------------------------------------------------------------
|
||
; ‚뢮¤ ¢á¥© ¨ä®à¬ 樨 ¢ ¯ ¥«¨
|
||
;---------------------------------------------------------------------
|
||
A20FC: ld a,(disk) ; ®¬¥à ¤¨áª
|
||
add a,"A"
|
||
ld hl,(char_disk) ; ¤à¥á ¡ãª¢ë ¤¨áª ªâ. ¯ ¥«¨
|
||
ld (hl),a
|
||
call width_path ; ¯ãâì ¨§ path-¡ãä¥à ¢ ¡ãä¥à ¯ã⨠¯ ¥«¨
|
||
call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«.
|
||
call draw_half_frame ; ¡®ª®¢ë¥ áâ®à®ë ¨ ¯à¥¤-¨¦ïï «¨¨ï à ¬ª¨
|
||
call A208F ; áâà. ᯨ᮪ ¯ ¥«¨ + middle-«¨¨ï
|
||
call A21AA ; ¢ë¢®¤ ¯ã⨠¨ á㬬 ன ¨äë
|
||
ld a,(format_mode) ; ä®à¬ â ¯ ¥«¨
|
||
and form_info+form_qview
|
||
ret nz
|
||
;
|
||
ld hl,(__title) ; § £®«®¢®ª ¯ ¥«¨
|
||
call draw_text ; A2551 ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||
call show_sort_letter ; ¢ë¢®¤ ¡ãª¢ë á®àâ¨à®¢ª¨
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
; ¢ë¢®¤ á¯¨áª ä ©«®¢
|
||
ld hl,(cur_pointer) ; á®åà. ⥪. ¯®§¨æ¨î 㪠§ ⥫ï
|
||
push hl
|
||
ld hl,0 ; ç âì ¢ë¢®¤ á ç «
|
||
ld (cur_pointer),hl
|
||
; 横« ¢ë¢®¤ ¢á¥£® ᯨáª
|
||
A2151: call A2203 ; ¢ë¢®¤ áâப¨ ᯨáª
|
||
ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
inc hl
|
||
ld (cur_pointer),hl
|
||
_2159: ld de,files_per_colon ; 25/50/75 à §¬¥à áâà ¨æë
|
||
call cmphlde ; áà ¢¨âì hl á de
|
||
jr z,A2164
|
||
ld de,(all_files)
|
||
call cmphlde ; ¤®è«¨ ¤® ª®æ ä ©«®¢ ?
|
||
jr nz,A2151 ; ¥â
|
||
A2164: pop hl
|
||
ld (cur_pointer),hl ; ¢®ááâ. ⥪. ¯®§¨æ¨î 㪠§ ⥫ï
|
||
call print_status ; áâ âãá ï áâப ¢¨§ã ¯ ¥«¨
|
||
; ¢ë¢®¤ áâப¨ "xxx.. bytes in xx files"
|
||
ld hl,(mark_files) ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
and form_info+form_qview
|
||
ret nz
|
||
; full/med/brief/spec ä®à¬ â
|
||
ld hl,(__markline) ; áâப "xxx.. bytes in xx files"
|
||
jp draw_text ; ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; <20> áâநâì ᯨ᮪ ¯ ¥«¨ ¨ ¢ë¢¥á⨠up ¨ middle-áâப¨
|
||
A208F: call A20E5 ; ¯®«ãç¨âì ¤à¥á ®¯¨á â. ⥪. ä®à¬ â (full/medium/brief/..)
|
||
ld (__title),de ; ¤à¥á ®¯¨á ⥫ï â¨â« ¯ ¥«¨
|
||
A2097_: ld e,(hl) ; ¯®«®¦. ¢¥àâ. «¨¨¨
|
||
inc hl
|
||
ld a,(hl)
|
||
or a
|
||
jr z,set_const ; ª®¥æ, e="ä ©«®¢ ¯ ¥«ì"
|
||
inc hl
|
||
push hl
|
||
ld d,a ; de= ¤à¥á middle-áâப¨
|
||
ex de,hl
|
||
call draw_text ; ¢ë¢®¤ áâப¨
|
||
pop hl
|
||
jr A2097_
|
||
; áâநâì ª®áâ âë ᯨ᪠¯ ¥«¨
|
||
set_const: ld l,e ; 25/50/75 ç¨á«® ä ©«®¢ ¯ ¥«ì
|
||
ld h,0
|
||
ld (_2159+1),hl
|
||
ld (_0D7D+1),hl
|
||
ld (_0CEE+1),hl
|
||
ld (_0D08+1),hl
|
||
ld (_0D1F+1),hl
|
||
ld (_0D2C+1),hl
|
||
dec hl
|
||
ld (A0F09+1),hl
|
||
ld (_0EC7+1),hl
|
||
ld (_0D01+1),hl
|
||
ld (_0D0D+1),hl
|
||
ld (_0DA4+1),hl
|
||
ld (_0E04+1),hl ; ¡ë«® ¢ 1-© ¯®«®¢¨¥
|
||
ret
|
||
|
||
|
||
; ¯®«ãç¨âì ¤à¥á ®¯¨á ⥫ï, ᮣ« ᮠ⥪ã饬ã
|
||
; ä®à¬ âã (full/medium/brief + spec)
|
||
A20E5: ld a,(format_mode) ; ⥪. ä®à¬ â ¯ ¥«¨
|
||
ld e,a
|
||
ld hl,deskr_right ; ®¯¨á â. ä®à¬ ⮢ ¢ë¢®¤ ¯à ¢®© ¯ ¥«¨
|
||
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï ¯ ¥«ì
|
||
rlca
|
||
jr c,$+5 ; ¯à ¢ ï
|
||
ld hl,deskr_left ; ®¯¨á â. ä®à¬ ⮢ ¢ë¢®¤ «¥¢®© ¯ ¥«¨
|
||
call A15E5 ; ¯®«ãç¨âì ®¯¨á ⥫ì ⥪. ä®à¬ â (full/medium/brief)
|
||
ld e,(hl) ; de= ¤à¥á â¨â« ¯ ¥«¨
|
||
inc hl
|
||
ld d,(hl)
|
||
inc hl
|
||
ret
|
||
|
||
|
||
; <20>®«ãç¨âì ¤à¥á ®¯¨á ⥫ï ⥪. ä®à¬ â
|
||
; in: e=⥪.ä®à¬ â (full/medium/brief + spec)
|
||
; hl= ¤à¥á ®¯¨á ⥫ï ä®à¬ ⮢ ¯ ¥«¨
|
||
; out: hl= ¤à¥á ®¯¨á ⥫ï
|
||
A15E5: ld a,1
|
||
bit 1,e ; medium
|
||
jr nz,A15E9__
|
||
inc a
|
||
bit 2,e ; brief
|
||
jr nz,A15E9__
|
||
inc a
|
||
bit 3,e ; info
|
||
jr nz,A15E9__
|
||
inc a
|
||
bit 4,e ; qview
|
||
jr nz,A15E9__
|
||
inc a ; ¨¤¥ªá spec-®¯¨á ⥫ï
|
||
bit 6,e ; trd
|
||
jr nz,A15E9__
|
||
xor a ; ¨¤¥ªá full-®¯¨á ⥫ï
|
||
A15E9__: add a,a
|
||
add a,l
|
||
ld l,a
|
||
jr nc,$+3
|
||
inc h
|
||
ld a,(hl)
|
||
inc hl
|
||
ld h,(hl)
|
||
ld l,a ; hl= ¤à¥á ®¯¨á ⥫ï
|
||
ret
|
||
|
||
|
||
|
||
|
||
;-----------------------------------------------------------
|
||
; ‚뢮¤ ¯ã⨠¢¢¥àåã ¯ ¥«¨ ¨ áâப¨ á㬬 ன ¨ä®à¬ 樨
|
||
;-----------------------------------------------------------
|
||
A21AA: db 3Eh ; ld a,..
|
||
A21AB: db false ; ä« £ à ¡®âë ®¡¬¥ ¯ ¥«¥©
|
||
or a
|
||
ld a,0
|
||
ld (A21AB),a ; á¡à. ä« £
|
||
jr nz,A21B0 ; à ¡®â ¥â ®¡¬¥ ¯ ¥«¥©
|
||
ld a,(format_mode)
|
||
bit 3,a ; info
|
||
jr z,A21AE
|
||
call set_info_actpanel
|
||
jr A21B0
|
||
;
|
||
A21AE: bit 4,a ; qview
|
||
jr z,A21B0
|
||
call set_qview_actpanel
|
||
ret c ; ¡ë« ¢ë¢®¤ ᮤ¥à¦. ä ©«
|
||
;
|
||
A21B0: call print_up_path ; ¢ë¢®¤ ¯ãâ¨
|
||
ret c ; info, qview ä®à¬ âë
|
||
; "ÈÍÍ à §¬¥à_ä ©«®¢_¯ ¯ª¨ (ç¨á«®_ä ©«®¢) ÍÍ á¢®¡._®¡ê¥¬_¤¨áª Íͼ"
|
||
show_summary_info:
|
||
db 3Eh ; ld a,..
|
||
flag_summary_info:
|
||
db false ; ä« £ ¢ë¢®¤ áâப¨ á㬬 ன ¨äë
|
||
or a
|
||
ret z ; ¥ ¢ë¢®¤¨âì
|
||
ld hl,put_comma ; ãáâ. ä« £ ¢ë¢®¤ § ¯ï⮩
|
||
inc (hl)
|
||
ld ix,summary_string+1 ; " 0,000,000,000 (0000) Í ... "
|
||
; ®¡é. à §¬¥à ä ©«®¢ ᯨáª
|
||
exx
|
||
ld hl,(files_size+2) ; áâ.à §àï¤
|
||
exx
|
||
ld hl,(files_size) ; ¬«.à §àï¤
|
||
ld b,0 ; ¡¥§ ¢¥¤ãé¨å ¯à®¡¥«®¢
|
||
call dec32 ; ®¡ê¥¬ ¢ë¤¥«. ä ©«®¢
|
||
ld hl,put_comma ; ä« £ à §¤¥«¥¨ï à §à冷¢
|
||
dec (hl) ; á¡à. ä« £
|
||
ld (ix+0)," "
|
||
inc ix
|
||
ld (ix+0),"("
|
||
inc ix
|
||
and a
|
||
; ç¨á«® ä ©«®¢ ¢ ᯨ᪥
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª ¢ ᯨ᪥
|
||
ld bc,(all_folders) ; ç¨á«® ¯ ¯®ª ¢ ᯨ᪥
|
||
sbc hl,bc
|
||
call dec16 ; ¡¥§ ¢¥¤ãé. ¯à®¡¥«®¢
|
||
ld hl,put_comma ; ãáâ. ä« £ ¢ë¢®¤ § ¯ï⮩
|
||
inc (hl)
|
||
ld (ix+0),")"
|
||
inc ix
|
||
ld (ix+0)," "
|
||
inc ix
|
||
ld (ix+0),"Í"
|
||
inc ix
|
||
ld (ix+0)," "
|
||
inc ix
|
||
; ᢮¡. ¬¥áâ® ¤¨áª¥ (㦥 ¢ëç¨á«¥®)
|
||
exx
|
||
ld hl,(free_space_disk+2) ; áâ.à §àï¤
|
||
exx
|
||
ld hl,(free_space_disk) ; ¬«.à §àï¤
|
||
ld b,0 ; ¡¥§ ¢¥¤ãé¨å ¯à®¡¥«®¢
|
||
call dec32 ; ®¡ê¥¬ ¢ë¤¥«. ä ©«®¢
|
||
ld hl,put_comma ; ä« £ à §¤¥«¥¨ï à §à冷¢
|
||
dec (hl) ; á¡à. ä« £
|
||
push ix
|
||
pop hl
|
||
xor a
|
||
ld (hl)," " ; ª®æ¥¢®© ¯à®¡¥«
|
||
inc hl
|
||
ld (hl),a ; ª®¥æ ®¯¨á ⥫ï
|
||
dec hl
|
||
; ã§ âì ¤«¨ã áâப¨
|
||
ld de,summary_string-1 ; ï祩ª X-¯®«®¦.
|
||
sbc hl,de
|
||
ld c,l
|
||
; æ¥âà¨à®¢ âì áâபã
|
||
srl l ; ¤«¨ áâப¨ / 2
|
||
ld a,20 ; ¯®«®¢¨ è¨à¨ë ¯ ¥«¨
|
||
sub l
|
||
ld (de),a ; X ¯®«®¦. áâப¨
|
||
ld hl,deskr_summary ; ®¯¨á ⥫ì
|
||
ld a,(hl) ; áâ à ï ¤«¨ áâப¨
|
||
ld (hl),c ; ®¢ ï ¤«¨ áâப¨
|
||
inc c
|
||
cp c ; ®¢ ï < áâ ன ?
|
||
call nc,clear_both_line ; ¤ , ®ç¨áâ¨âì áâபã
|
||
; ¢ë¢®¤ £®â®¢®© áâப¨
|
||
jp draw_text ; ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||
|
||
clear_both_line:push hl
|
||
ld hl,botline ; ®¯¨á ⥫ì "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"
|
||
call draw_text ; ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||
pop hl
|
||
ret
|
||
|
||
|
||
|
||
;-----------------------------------------------------------
|
||
; ‚뢮¤ ¯ã⨠¢¢¥àåã ªâ. ¯ ¥«¨
|
||
; ¢ë室: CF - ¤«ï info, qview ä®à¬ ⮢
|
||
;-----------------------------------------------------------
|
||
print_up_path: ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
ld h,a
|
||
and form_info+form_qview ; info, qview ä®à¬ âë
|
||
jr nz,prn_up_path ; ¢ë¢¥á⨠â¨â«
|
||
ld a,h
|
||
; ®ç¨áâ¨âì áâப㠯ãâ¨
|
||
ld hl,up_med
|
||
bit 1,a ; medium
|
||
jr nz,upath_
|
||
ld hl,up_brief
|
||
bit 2,a ; brief
|
||
jr nz,upath_
|
||
ld hl,up_spec
|
||
bit 6,a ; spec
|
||
jr nz,upath_
|
||
ld hl,up_full ; full
|
||
upath_: call draw_text ; ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||
; ¢ë¢®¤ ¯ãâ¨
|
||
prn_up_path: ld hl,format_mode ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
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"
|
||
bit 3,(hl) ; info
|
||
jr nz,upath2_
|
||
bit 4,(hl) ; qview
|
||
jr nz,upath5_
|
||
; ¢ë¢®¤ ¯ãâ¨
|
||
ld hl,(__path) ; ¤à¥á ®¯¨á â¥«ï ¯ã⨠ªâ. ¯ ¥«¨
|
||
inc hl
|
||
ld (hl),a ; 梥â áâப¨
|
||
dec hl
|
||
call draw_text ; ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||
xor a ; á¡à. CF
|
||
ret
|
||
|
||
; ‚뢮¤ § ¯®«¥®£® info-®¯¨á ⥫ï
|
||
upath2_: ld (info_color1__),a ; 梥â
|
||
ld hl,up_info ; ®¯¨á ⥫ì "ÉÍÍÍÍÍÍÍÍÍÍ»"
|
||
call draw_text
|
||
ld hl,title_info ; info-®¯¨á ⥫ì
|
||
call draw_text
|
||
ld a,(format_mode)
|
||
and form_trd
|
||
ret z
|
||
; ¢ë¢®¤ ¤®¯. ®¯¨á â¥«ï ¤«ï ᯥª-¨¬¨¤¦
|
||
ld hl,title_info_trd
|
||
upath4_: call draw_text
|
||
scf
|
||
ret
|
||
|
||
; ‚뢮¤ qview-®¯¨á ⥫ï
|
||
upath5_: ld (qview_color1__),a ; 梥â
|
||
; ld a,(type_title_qview) ; 0/1 ä« £ ⨯ qview-®¯¨á ⥫ï
|
||
; or a
|
||
; jr nz,upath7_
|
||
call draw_half_frame ; ®ç¨áâ¨âì ¯ ¥«ì
|
||
ld hl,up_info ; ®¯¨á ⥫ì "ÉÍÍÍÍÍÍÍÍÍÍ»"
|
||
call draw_text
|
||
;
|
||
upath6_: ld hl,qview_folder_panel ; ®¯¨á â¥«ì ¤«ï ¯ ¯®ª
|
||
ld a,(type_title_qview) ; 0/1 ä« £ ⨯ qview-®¯¨á ⥫ï
|
||
or a
|
||
jr z,upath4_
|
||
ld hl,title_qview ; ¢ë¢¥á⨠¢ë¤¥«. â¨â« ¤«ï ä ©«
|
||
jr upath4_
|
||
|
||
;upath7_: ld hl,title_qview ; ¢ë¢¥á⨠¢ë¤¥«. â¨â« ¤«ï ä ©«
|
||
; jr upath4_
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; ‚뢥á⨠㪠§ ⥫ì
|
||
show_pointer: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z
|
||
ld a,(format_mode) ; ä®à¬ â ⥪. ¯ ¥«¨
|
||
and form_info+form_qview
|
||
ret nz
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
ld (pointer_flag),a ; ãáâ. ä« £ ¢ë¢®¤ 㪠§ ⥫ï
|
||
call A2203 ; ¢ë¢®¤ áâப¨ ᯨáª
|
||
xor a
|
||
ld (pointer_flag),a ; á¡à. ä« £
|
||
jp print_status1 ; áâ âãá ï áâப ¢¨§ã ¯ ¥«¨
|
||
|
||
|
||
; ‘â¥à¥âì 㪠§ ⥫ì
|
||
clear_pointer: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z
|
||
ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
and form_info+form_qview
|
||
ret nz
|
||
ld hl,(all_files) ; ç¨á«® ä ©«®¢ ¨ ¯ ¯®ª
|
||
ld a,l
|
||
or h
|
||
ret z
|
||
jp A2203 ; ¢ë¢®¤ áâப¨ ᯨáª
|
||
|
||
|
||
|
||
|
||
;=====================================================================
|
||
; ‚뢮¤ 32-å ¡¨âëå ç¨á¥« ¢ ¡ãä¥à, ¢ ¤¥áïâ¨ç®¬ ä®à¬ â¥
|
||
;=====================================================================
|
||
; in: hl' = áâ. à §àï¤
|
||
; hl = ¬«. à §àï¤
|
||
; ix = ¡ãä¥à
|
||
; c = 30h/20h - ¢¥¤ãé. ᨬ¢®«
|
||
; b = 1/0 - ¢áâ ¢«ïâì/¥â ¢¥¤ã騩 ã«ì/¯à®¡¥«
|
||
;---------------------------------------------------------------------
|
||
; ”« £ put_comma = true/false - ¢áâ ¢«ïâì/¥â à §¤¥«¨â¥«ì à §à冷¢.
|
||
;
|
||
; „«ï ä®à¬ â á "M" - á¡à®á¨âì ä« £ put_comma ¨ ãáâ. ०¨¬ "¢áâ ¢«ïâì
|
||
; ¢¥¤ã騥 ¯à®¡¥«ë". …᫨ ä« £ put_comma ãáâ ®¢«¥, â® ¡®«¥¥ 7 § ª®¢
|
||
; ¡ã¤¥â ¯®ï¢«ïâìáï ⮫쪮 ¤«ï § 票© ®â 1,000 M ¨ ¢ëè¥.
|
||
;---------------------------------------------------------------------
|
||
dec32: ld de,0CA00h
|
||
exx
|
||
ld de,3B9Ah ; 1.000.000.000
|
||
exx
|
||
ld a,(put_mega)
|
||
or a
|
||
jr z,dec1_
|
||
ld (ix+0)," "
|
||
inc ix
|
||
dec1_: ld iy,tmp1__
|
||
res 7,(iy+0)
|
||
call GetLenN32
|
||
call nz,print_comma
|
||
ld de,0E100h
|
||
exx
|
||
ld de,05F5h ; 100.000.000
|
||
exx
|
||
call GetLenN32
|
||
ld de,9680h
|
||
exx
|
||
ld de,98h ; 10.000.000
|
||
exx
|
||
call GetLenN32
|
||
call nz,mega_postfix ; "M" ¯®áâ䨪á ç¨á«
|
||
;
|
||
ld a,(put_mega)
|
||
or a
|
||
jr z,dec2_
|
||
dec ix
|
||
dec ix
|
||
dec ix
|
||
dec ix
|
||
dec2_: ld de,4240h
|
||
exx
|
||
ld de,0Fh ; 1.000.000
|
||
exx
|
||
call GetLenN32
|
||
call nz,print_comma
|
||
ld de,86A0h
|
||
exx
|
||
ld de,1 ; 100.000
|
||
exx
|
||
call GetLenN32
|
||
dec5: ld de,10000
|
||
exx
|
||
ld de,0 ; 10.000
|
||
exx
|
||
call GetLenN32
|
||
dec4: ld de,1000 ; 1.000
|
||
call GetLenN16
|
||
call nz,print_comma
|
||
dec3: ld de,100 ; 100
|
||
call GetLenN16
|
||
dec2: ld de,10 ; 10
|
||
call GetLenN16
|
||
ld a,l
|
||
add a,"0"
|
||
jr GetLenN163
|
||
|
||
tmp1__: db 0
|
||
|
||
GetLenN32: ld a,2Fh
|
||
and a
|
||
GetLenN321: inc a
|
||
sbc hl,de
|
||
exx
|
||
sbc hl,de
|
||
exx
|
||
jp nc,GetLenN321
|
||
add hl,de
|
||
exx
|
||
adc hl,de
|
||
exx
|
||
jr GetLenN160
|
||
;
|
||
GetLenN16: ld a,2Fh
|
||
and a
|
||
GetLenN161: inc a
|
||
sbc hl,de
|
||
jp nc,GetLenN161
|
||
add hl,de
|
||
GetLenN160: cp "0"
|
||
jr z,GetLenN162
|
||
set 7,(iy+0)
|
||
GetLenN162: bit 7,(iy+0)
|
||
jr nz,GetLenN163
|
||
dec b
|
||
inc b
|
||
ret z ; ¡¥§ ¢¥¤ãé¨å ¯à®¡¥«®¢/ã«¥©
|
||
xor a ; ãáâ. "Z"
|
||
ld a,c ; 20h/30h
|
||
GetLenN163: ld (ix+0),a ; á®åà. ¢ ¡ãä¥à¥
|
||
inc ix
|
||
ret
|
||
|
||
; "M" ¯®áâ䨪á ç¨á«
|
||
mega_postfix: db 3Eh ; ld a,..
|
||
put_mega: db 0 ; false/true
|
||
or a
|
||
ret z
|
||
ld de,4240h
|
||
exx
|
||
ld de,0Fh ; 1.000.000
|
||
exx
|
||
call GetLenN32 ; ¢ë¢®¤ ¬«. à §àï¤
|
||
ld (ix+0)," "
|
||
inc ix
|
||
ld (ix+0),"M"
|
||
inc ix
|
||
pop de ; ᬥáâ¨âì á⥪
|
||
ret ; ¢ë©â¨ ¨§ ¯/¯ dec32
|
||
|
||
print_comma: db 3Eh ; ld a,..
|
||
put_comma: db 0 ; false/true
|
||
or a
|
||
ret z
|
||
ld (ix+0),","
|
||
inc ix
|
||
ret
|
||
|
||
|
||
; ‚뢮¤ ç¨á¥« 0...65535 ¡¥§ ¢¥¤ãé. ã«ï
|
||
; in: hl=ç¨á«®
|
||
; ix=¡ãä¥à
|
||
dec16: push de
|
||
xor a
|
||
exx
|
||
ld l,a ; áâ. à §àï¤
|
||
ld h,a
|
||
exx
|
||
ld b,a ; ¥ ¢áâ ¢«ïâì ¢¥¤ãé. ᨬ¢®«
|
||
ld iy,tmp1__
|
||
res 7,(iy+0)
|
||
call dec5
|
||
pop de
|
||
ret
|
||
|
||
|
||
; ‚뢮¤ ç¨á¥« 0...65535 á ¢¥¤ã騬 ¯à®¡¥«®¬
|
||
; in: de=ç¨á«®
|
||
; ix=¡ãä¥à
|
||
dec16s: push hl
|
||
xor a
|
||
exx
|
||
ld l,a ; áâ. à §àï¤
|
||
ld h,a
|
||
exx
|
||
ex de,hl
|
||
ld bc,0120h ; ¢¥¤ã騥 ¯à®¡¥«ë
|
||
ld iy,tmp1__
|
||
res 7,(iy+0)
|
||
call dec5
|
||
pop hl
|
||
ret
|
||
|
||
|
||
; ‚뢮¤ ç¨á¥« 0..999 á ¢¥¤ãé. ¯à®¡¥«®¬
|
||
; in: a=ç¨á«®
|
||
; ix=¡ãä¥à
|
||
dec9: push hl
|
||
ld l,a
|
||
ld h,0
|
||
ld bc,0120h ; ¢áâ ¢«ïâì ¢¥¤ãé. ã«ì
|
||
ld iy,tmp1__
|
||
res 7,(iy+0)
|
||
call dec3
|
||
pop hl
|
||
ret
|
||
|
||
|
||
; ‚뢮¤ ç¨á¥« 0..99 á ¢¥¤ãé. ã«¥¬
|
||
; in: a=ç¨á«®
|
||
; ix=¡ãä¥à
|
||
dec8: push de
|
||
ld l,a
|
||
ld h,0
|
||
ld bc,0130h ; ¢áâ ¢«ïâì ¢¥¤ãé. ã«ì
|
||
ld iy,tmp1__
|
||
res 7,(iy+0)
|
||
call dec2
|
||
pop de
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;-----------------------------------------------------------
|
||
; <20>®«ãç¨âì ¤à¥á ⥪. § ¯¨á¨ ᯨ᪠ªâ. ¯ ¥«¨
|
||
; <20>¥ ¯®àâ¨âì ॣ.BC!.
|
||
;-----------------------------------------------------------
|
||
; out: hl= ç «® § ¯¨á¨
|
||
; de=ï祩ª âਡã⮢ ä ©« (+11)
|
||
; a= âਡãâ ä ©«
|
||
get_record: ld hl,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
ld de,(offset_list) ; ᬥé. ᯨáª
|
||
add hl,de
|
||
get_record1: ld a,(cash_left_dir) ; ¡ ª ᯨ᪠ªâ. ¯ ¥«¨
|
||
out (SLOT3),a
|
||
ld de,(directory) ; ç «® ᯨ᪠¤à¥á®¢ § ¯¨á¥©
|
||
add hl,hl ; 1+1=2
|
||
add hl,de ; hl= ç «® § ¯¨á¨
|
||
ld a,(hl) ; à § ¤à¥á æ¨ï
|
||
inc hl
|
||
ld h,(hl)
|
||
ld l,a
|
||
ld a,(format_mode)
|
||
bit 6,a ; ᯥª-ä®à¬ â ¯ ¥«¨ ?
|
||
jr nz,get_spec_attrib ; ¤
|
||
ex de,hl
|
||
ld hl,11 ; ᬥé. ï祩ª¨ âਡã⮢
|
||
add hl,de
|
||
ex de,hl
|
||
ld a,(de) ;+11 âਡãâ § ¯¨á¨
|
||
ret
|
||
;
|
||
spec_attrib: db 0
|
||
;
|
||
get_spec_attrib:ld de,spec_attrib ; ï祩ª âਡã⮢
|
||
ld a,(de)
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; à §¤¥«¨â¥«ì ª®«®®ª
|
||
separator: db 3Eh ; ld a,..
|
||
separ__: db "³"
|
||
ld (ix+0),a
|
||
inc ix
|
||
ret
|
||
|
||
|
||
; ¢áâ ¢ª ¯à®¡¥«®¢
|
||
; in: b=áç¥â稪
|
||
spaces: ld a," "
|
||
ld (ix+0),a
|
||
inc ix
|
||
djnz $-5
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;---------------------------------------------------------------------
|
||
; ‚뢮¤¨â áâபã á¯¨áª ä ©«®¢
|
||
;---------------------------------------------------------------------
|
||
A2203: ld c,19 ; è¨à¨ medium-ª®«®ª¨
|
||
ld a,(format_mode)
|
||
ld e,a ; á®åà. ä®à¬ â ¯ ¥«¨
|
||
bit 1,a ; medium
|
||
jr nz,A2217_
|
||
ld c,13
|
||
bit 2,a ; brief
|
||
jr nz,A2217_
|
||
; full,spec
|
||
ld c,39 ; è¨à¨ ª®«®ª¨
|
||
A2217_: ld a,c
|
||
dec a
|
||
ld (string_len),a ; ¤«¨ áâப¨
|
||
ld b,1 ; ᬥé. «¥¢®© áâ®à®ë ª®«®ª¨
|
||
ld a,(cur_pointer) ; ⥪. ¯®§¨æ¨ï 㪠§ ⥫ï
|
||
A221C_: sub files_per_colon ; 25 ä ©«®¢ ª®«®ªã
|
||
jr c,A2229_
|
||
ld d,a ; á®åà. "a"
|
||
ld a,b
|
||
add a,c ; + è¨à¨ ª®«®ª¨
|
||
ld b,a ; X ¯®«®¦.
|
||
ld a,d ; ¢®ááâ. "a"
|
||
jr A221C_
|
||
;
|
||
A2229_: add a,files_per_colon+2 ; 27 ä ©«®¢ ª®«®ªã + 2
|
||
ld (string_line),a ; Y ¯®«®¦. ªãàá®à
|
||
ld a,b ; ª®«®ª
|
||
; ª®à४â. ¤«¨ë 㪠§ â¥«ï ¢ medium-ä®à¬ â¥
|
||
bit 1,e ; medium ?
|
||
jr z,A2230_
|
||
cp 20 ; ¯à ¢ ï ¯®«®¢¨ «¥¢®© ¯ ¥«¨ ?
|
||
jr z,A222E_ ; ¤
|
||
cp 60 ; ¯à ¢ ï ¯®«®¢¨ ¯à ¢®© ¯ ¥«¨ ?
|
||
jr nz,A2230_ ; ¥â
|
||
A222E_: ld hl,string_len
|
||
inc (hl) ; ++¤«¨ 㪠§ ⥫ï
|
||
;
|
||
A2230_: ld (string_colon),a ; X ¯®«®¦. ªãàá®à
|
||
ld b,e ; á®åà. ä®à¬ â ¯ ¥«¨
|
||
call get_record ; ¤à¥á ⥪. § ¯¨á¨ ¢ ¯ ¯ª¥
|
||
ld (print_status2__),a ;+11 âਡãâ ä ©«
|
||
ld (print_status1__),hl ; ç «® § ¯¨á¨
|
||
bit 6,b ; spec-§ ¯¨áì ?
|
||
jr z,A2235_ ; ¥â
|
||
ld e,l
|
||
ld d,h
|
||
dec de ; de= ¤à. 1-© ¡ãª¢ë ¨¬¥¨ - 1
|
||
A2235_: push bc
|
||
push de
|
||
call fill_string ; § ¯®«¨âì áâப㠯® ä®à¬ âã
|
||
pop de
|
||
pop bc
|
||
call hilight_types ; ¢å: b=ä®à¬ â ¯ ¥«¨
|
||
; c=¨¤¥ªá 梥â
|
||
;jp print_string
|
||
;-----------------------------------------------------------
|
||
; ‚뢮¤ áâப¨ ᯨáª
|
||
;-----------------------------------------------------------
|
||
; ¢å®¤: c = ¨¤¥ªá 梥â , pointer_flag = 00/01 - ¢ë¢®¤¨âì ⥪áâ/㪠§ ⥫ì
|
||
;
|
||
;print_string:
|
||
db 21h ; ld hl,..
|
||
string_line: db 1 ; ®¬¥à áâப¨ íªà ¥ (0..31)
|
||
db 0
|
||
ld de,0301h ; á 0-© áâப¨ (¤«ï ᨬ¢®«®¢)
|
||
add hl,hl ; 1+1=2
|
||
add hl,hl ; 2+2=4
|
||
add hl,de
|
||
ld de,string_of_list ; ¤à¥á áâப¨
|
||
in a,(89h)
|
||
ld (pnt3__+1),a ; á®åà. ¯®àâ
|
||
in a,(SLOT0)
|
||
ld (pnt4__+1),a ; á®åà. ¯®àâ
|
||
ld a,(panel_left+1) ; ç «® ¯ ¥«¨
|
||
ld b,a
|
||
di
|
||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||
out (SLOT0),a
|
||
db 3Eh ; ld a,..
|
||
string_colon: db 0 ; ®¬¥à ª®«®ª¨
|
||
add a,81h ; +0 (ᬥé. á«¥¢ )
|
||
add a,b ; + ç «® ¯ ¥«¨
|
||
out (89h),a
|
||
ld (pnt1__+1),a
|
||
; ¢ë¢®¤ ⥪áâ
|
||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||
db 3Eh ; ld a,..
|
||
string_len: db 1 ; ¤«¨ áâப¨
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||
ld a,(de)
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||
ld (hl),a
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
inc hl ; ¯¥à¥©â¨ âਡãâ
|
||
; ¢ë¢®¤ âਡãâ
|
||
ld iy,color_array
|
||
ld a,(iy+0) ; 梥â 㪠§ ⥫ï
|
||
ld d,(iy+1) ; 梥⠢뤥«. 㪠§ ⥫ï
|
||
ld b,0
|
||
add iy,bc
|
||
ld b,a ; á®åà. 梥⠮à¬. 㪠§ ⥫ï
|
||
ld e,(iy+0) ; ï祩ª 梥⠯® ¨¤¥ªáã
|
||
db 3Eh ; ld a,..
|
||
pointer_flag: db 0 ; 0/1 梥⠯® ¨¤¥ªáã/㪠§ ⥫ì
|
||
or a
|
||
jr z,pnt__ ; ¥ 㪠§ ⥫ì
|
||
ld e,d ; 梥⠢뤥«. 㪠§ ⥫ï
|
||
ld a,c
|
||
cp index_markfile ; 3 ¨¤¥ªá ï祩ª¨ "梥⠢뤥«. ä ©« "
|
||
jr z,pnt__
|
||
ld e,b ; 梥⠮à¬. 㪠§ ⥫ï
|
||
;
|
||
pnt__: ld a,(string_len) ; ¤«¨ áâப¨
|
||
ld b,a
|
||
pnt1__: ld c,81h ; á®åà. ®¬¥à ª®«®ª¨
|
||
pnt2__: ld a,c
|
||
out (89h),a
|
||
ld (hl),e ; âਡãâ
|
||
inc c
|
||
djnz pnt2__
|
||
pnt3__: ld a,0
|
||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||
pnt4__: ld a,0
|
||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||
ei
|
||
ret
|
||
|
||
|
||
; ¡ãä¥à áâப¨ ᯨ᪠¯ ¥«¨
|
||
string_of_list: db " "
|
||
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÑÍÍÍÍÍ»
|
||
;db Filenamm Ext 0005940³21.06.04³18:50
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;---------------------------------------------------------------------
|
||
; ‘âàãªâãà «¥¢®© ¯ ¥«¨ (27 ¡ ©â)
|
||
;---------------------------------------------------------------------
|
||
panel_left: db 0 ; Y ¯®«®¦. ¯ ¥«¨
|
||
db 0 ; X ¯®«®¦. ¯ ¥«¨
|
||
cur_panel: db 0 ; 00h ¯à¨§ ª «¥¢®© ¯ ¥«¨
|
||
; ¨¤¥â ¯¥à¥ª çª
|
||
disk: db 'A'-'A' ; ®¬¥à ⥪. ¤¨áª (0=A,1=B)
|
||
format_mode: db form_full ; full/med/brief/spec/info/qview
|
||
panel_size: db 40 ; è¨à¨ ¯ ¥«¨
|
||
db 27 ; ¢ëá®â ¯ ¥«¨ - 3
|
||
char_disk: dw disk_left ; ¡ãª¢ ¤¨áª
|
||
__buff: dw buff_left ; ¡ãä¥à ¯ã⨠( ¡á.¯ãâì)
|
||
__title: dw title_full ; ®¯¨á â¥«ì § £®«®¢ª "ˆ¬ï Ž¡ê¥¬ „ ⠂६ï"
|
||
__markline: dw markline_left ; ®¯¨á ⥫ì áâப¨ "xxx.. bytes in xx files"
|
||
cash_left_dir: db -1 ; ®¬¥à áâà ¨æë ª â «®£
|
||
directory: dw left_pointers ; ¬ áᨢ 㪠§ ⥫¥© ¯ ¯ª¨
|
||
dw left_pointers ; ¬ áᨢ 㪠§ ⥫¥© ä ©«ë
|
||
all_folders: dw 0 ; ç¨á«® ¯ ¯®ª ¢ ᯨ᪥
|
||
files_size: dw 0 ; ¬«. à §àï¤ ®¡é. à §¬¥à ä ©«®¢
|
||
dw 0 ; áâ. à §àï¤
|
||
all_files: dw 321 ;21 ç¨á«® ä ©«®¢ + ¯ ¯®ª ¢ ⥪. ¯ ¯ª¥
|
||
__path: dw path_left ; ®¯¨á ⥫ì path-áâப¨ ¯ ¥«¨
|
||
__mask: dw mask_left_fname ; "*.*" ¬ ᪠¨¬ñ ä ©«®¢ «¥¢®© ¯ ¥«¨
|
||
free_space_disk:dw 0 ; ¬«. à §àï¤ á¢®¡. ¬¥áâ ¤¨áª¥
|
||
dw 0 ; áâ. à §àï¤
|
||
total_space_disk:
|
||
dw 0 ; ¬«. à §àï¤ ¢á¥£® ¬¥áâ ¤¨áª¥
|
||
dw 0 ; áâ. à §àï¤
|
||
;
|
||
low_size: dw 0 ; ¬«. à §àï¤ à §¬¥à ¢ë¤¥«. ä ©«®¢
|
||
high_size: dw 0 ; áâ. à §àï¤
|
||
;
|
||
cur_pointer: dw 0 ; ⥪. ¯®§¨æ¨ï 㪠§ â¥«ï ¢ ¯ ¥«¨
|
||
offset_list: dw 0 ; ᬥ饨¥ ᯨáª
|
||
;
|
||
mark_files: dw 0 ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||
sort_type: db "n" ; n/x/d/s/u ⨯ á®àâ¨à®¢ª¨ ᯨáª
|
||
db 0 ; 00/01 / á®àâ¨à®¢ª
|
||
;
|
||
info_: db 0 ; âਣ£¥à info-¯ ¥«¨
|
||
form_under_info:db form_med ; á®åà. ä®à¬ â ¯®¤ info-¯ ¥«¨
|
||
D48B1: db true ; ä« £ ¨¢¥àᨨ path-áâப¨
|
||
;
|
||
qview_: db 0 ; âਣ£¥à qview-¯ ¥«¨
|
||
form_under_qview:
|
||
db form_med ; á®åà. ä®à¬ â ¯®¤ qview-¯ ¥«¨
|
||
|
||
len_struct equ $ - panel_left ; à §¬¥à áâàãªâãàë
|
||
|
||
|
||
|
||
;---------------------------------------------------------------------
|
||
; ‘âàãªâãà ¯à ¢®© ¯ ¥«¨
|
||
;---------------------------------------------------------------------
|
||
panel_right: db 0 ; Y ¯®«®¦. ¯ ¥«¨
|
||
db 40 ; X ¯®«®¦. ¯ ¥«¨
|
||
cur_panel1: db 80h ; 80h ¯à¨§ ª ¯à ¢®© ¯ ¥«¨
|
||
disk1: db 'D'-'A' ; ®¬¥à ⥪. ¤¨áª (0=A,1=B)
|
||
format_mode1: db form_full ; full/med/brief/spec/info/qview
|
||
db 40 ; è¨à¨ ¯ ¥«¨
|
||
db 27 ; ¢ëá®â ¯ ¥«¨ - 3
|
||
dw disk_right ; ¡ãª¢ ¤¨áª
|
||
__buff1: dw buff_right ; ¡ãä¥à ¯ãâ¨
|
||
dw title_brief ; ®¯¨á â¥«ì § £®«®¢ª "ˆ¬ï ˆ¬ï ˆ¬ï"
|
||
dw markline_right ; ®¯¨á ⥫ì áâப¨ "xxx.. bytes in xx files"
|
||
cash_right_dir: db -1 ; ®¬¥à áâà ¨æë ª â «®£
|
||
directory1: dw right_pointers ; ¬ áᨢ 㪠§ ⥫¥© ¯ ¯ª¨
|
||
dw right_pointers ; ¬ áᨢ 㪠§ ⥫¥© ä ©«ë
|
||
dw 0 ; ç¨á«® ¯ ¯®ª ¢ ᯨ᪥
|
||
files_size1: dw 0 ; ¬«. à §àï¤ ®¡é. à §¬¥à ä ©«®¢ ¯ ¯ª¨
|
||
dw 0 ; áâ. à §àï¤
|
||
all_files1: dw 21
|
||
__path1: dw path_right ; ®¯¨á â¥«ì ¯ã⨠¯ áᨢ®© ¯ ¥«¨
|
||
__mask1: dw mask_right_fname ; "*.*" ¬ ᪠¨¬ñ ä ©«®¢ ¯à ¢®© ¯ ¥«¨
|
||
free_space_disk1:
|
||
dw 0 ; ¬«. à §àï¤ á¢®¡. ¬¥áâ ¤¨áª¥
|
||
dw 0 ; áâ. à §àï¤
|
||
total_space_disk1:
|
||
dw 0 ; ¬«. à §àï¤ ¢á¥£® ¬¥áâ ¤¨áª¥
|
||
dw 0 ; áâ. à §àï¤
|
||
;
|
||
dw 0 ; low_size ¬«. à §àï¤ ¢ë¤¥«. ä ©«®¢
|
||
dw 0 ; high_size áâ. à §àï¤
|
||
cur_pointer1: dw 0
|
||
offset_list1: dw 0
|
||
;
|
||
dw 0 ; ç¨á«® ¢ë¤¥«. ä ©«®¢
|
||
sort_type1: db "x" ; n/x/d/s/u ⨯ á®àâ¨à®¢ª¨ ᯨáª
|
||
db 0 ; 00/01 / á®àâ¨à®¢ª
|
||
;
|
||
info1_: db 0 ; âਣ£¥à info-¯ ¥«¨
|
||
form_under_info1:
|
||
db form_med ; á®åà. ä®à¬ â ¯®¤ info-¯ ¥«¨
|
||
D48B2: db false ; ä« £ ¨¢¥àᨨ path-áâப¨
|
||
qview1_: db 0 ; âਣ£¥à qview-¯ ¥«¨
|
||
form_under_qview1:
|
||
db form_med ; á®åà. ä®à¬ â ¯®¤ qview-¯ ¥«¨
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
index_markfile equ 3 ; ᬥé. 梥⠮⬥ç. ä ©«®¢
|
||
|
||
;-----------------------------------------------------------
|
||
; Œ áᨢ 梥⮢ ”Œ ¯®-㬮«ç ¨î (§ ç¥¨ï ¥ ¨§¬¥ïîâáï)
|
||
; (ï祩ª¨ ¬¥áâ ¬¨ ¥ ¬¥ïâì, ¨á¯. á¬¥é¥¨ï ª ï祩ª ¬!)
|
||
;-----------------------------------------------------------
|
||
default_colors:
|
||
; < Panel >
|
||
part1: db color_pointer ;+0 3Fh Normal cursor
|
||
db color_markpoint ;+1 3Eh Selected cursor
|
||
db color_panel ;+2 1Bh Normal text
|
||
db color_markfile ;+3 1Eh Selected text
|
||
db color_seltitle ;+4 30h Selected title
|
||
db color_title ;+5 1Eh Column title
|
||
db color_markline ;+6 3Eh Selected info
|
||
db color_highlighted_info ;+7 1Eh Highlighted info (info/qview ¯ ¥«¨)
|
||
db color_info_names ;+8 1Fh Info names (info/qview ¯ ¥«¨)
|
||
db 0 ;+9 १¥à¢
|
||
db 0 ;+10 १¥à¢
|
||
db 0 ;+11 १¥à¢
|
||
col_lst1 equ $ - part1
|
||
; < Horizontal Menu >
|
||
part2: db color_hmenu ;+12 30h Normal text
|
||
db color_hmenu_pointer ;+13 0Fh Highlighted text
|
||
db color_hmenu_hotkey ;+14 0Eh Hot-key
|
||
col_lst2 equ $ - part2
|
||
; < Menu >
|
||
part3: db color_vmenu ;+15 3Fh Normal text
|
||
db color_vmenu_pointer ;+16 0Fh Highlighted text
|
||
db color_vmenu_hotkey ;+17 0Eh Hot-key
|
||
db 0 ;+18 १¥à¢
|
||
db 0 ;+19 १¥à¢
|
||
col_lst3 equ $ - part3
|
||
; < Key Bar > (ï祩ª¨ ¥ à §¤¥«ïâì)
|
||
part4: db kb_f ;+20 30h ¯ãªâë key-¡ à
|
||
db kb_b ;+21 0Eh hot-ç¨á« key-¡ à
|
||
col_lst4 equ $ - part4
|
||
; < Command Line >
|
||
part5: db color_comline ;+22 07h ª®¬ ¤ ï áâப
|
||
db 0 ;+23 १¥à¢
|
||
col_lst5 equ $ - part5
|
||
; < Dialog >
|
||
part6: db color_dial_win ;+24 70h Normal text
|
||
db color_dial_hotkey ;+25 0Eh Hot-keys
|
||
db color_sel_dial_title ;+26 30h Selected title (®¡ê¥ªâ )
|
||
db color_info_win ;+27 1Fh info-®ª
|
||
db color_warn_win ;+28 4Fh warning/errors ®ª
|
||
db color_listbox ;+29 17h ListBox
|
||
db color_list_point ;+30 2Fh 㪠§ ⥫ì ListBox-
|
||
db color_list_hpoint ;+31 1Eh ¯®á«¥ 㪠§ ⥫ï
|
||
db color_vscrl_bar ;+32 13h áªà®««-¡ à ListBox-
|
||
db color_inputline ;+33 30h áâப ¢¢®¤
|
||
db color_selbuttons ;+34 30h Selected buttons
|
||
db color_selbuttons_err ;+35 70h Sel.buttons Warning/Errors
|
||
db 0 ;+36 १¥à¢
|
||
db 0 ;+37 १¥à¢
|
||
db 0 ;+38 १¥à¢
|
||
col_lst6 equ $ - part6
|
||
; < Viewer >
|
||
part7: db color_viewer ;+39 1Bh Normal text
|
||
db color_viewer_seltext ;+40 30h Selected text
|
||
db color_viewer_status ;+41 30h Status line
|
||
db color_viewer_scrl_arrow ;+42 1Eh Scrolling arrows
|
||
col_lst7 equ $ - part7
|
||
; < Editor >
|
||
part8: db color_editor ;+43 1Bh Normal text
|
||
db color_edit_seltext ;+44 30h Selected text
|
||
db color_edit_status ;+45 30h Status line
|
||
col_lst8 equ $ - part8
|
||
; < Help >
|
||
part9: db color_help ;+46 30h Normal text
|
||
db color_help_seltext ;+47 3Eh Highlighted text
|
||
db color_help_title ;+48 3Fh Title
|
||
db color_help_scrl_bar ;+49 30h Scrollbar
|
||
db 0 ;+50 १¥à¢
|
||
db 0 ;+51 १¥à¢
|
||
col_lst9 equ $ - part9
|
||
; < Miscelions >
|
||
part10: db color_process_line ;+52 30h «¨¥©ª ¯à®æ¥áá
|
||
db color_clock ;+53 30h ç ᮢ ¢ ¯ ¥«ïå
|
||
db 0 ;+54 १¥à¢
|
||
db 0 ;+55 १¥à¢
|
||
db 0 ;+56 १¥à¢
|
||
db 0 ;+57 १¥à¢
|
||
db 0 ;+58 १¥à¢
|
||
db 0 ;+59 १¥à¢
|
||
col_lst10 equ $ - part10
|
||
; < Files Highlighting >
|
||
db color_folder ;+60 1Fh ¯ ¯ª¨
|
||
db color_exe ;+61 1Ah exe-訪¨
|
||
db color_archive ;+62 1Dh à娢ë
|
||
db color_ro ;+63 17h ä ©«ë "r/o","system"
|
||
db color_hidden ;+64 13h áªàëâë¥ ä ©«ë
|
||
db color_spec ;+65 1Ch ᯥª-ä ©«ë (trd,scl)
|
||
|
||
len_color_array equ $ - default_colors ; à §¬¥à ¬ áᨢ
|
||
|
||
;-------------------------------------------------
|
||
; <20> ¡®ç¨© ¬ áᨢ 梥⮢ ¬¥¥¤¦¥à
|
||
;-------------------------------------------------
|
||
color_array: ds len_color_array
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;-------------------------------------------------
|
||
; “áâ ®¢¨âì ¯®«ë© ä®à¬ â ªâ. ¯ ¥«¨
|
||
;-------------------------------------------------
|
||
set_format_full:ld c,form_full ; full
|
||
set_format: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«.
|
||
ld hl,format_mode ; ⥪. ä®à¬ â ªâ. ¯ ¥«¨
|
||
ld a,(hl)
|
||
and form_trd ; ¢ë¤¥«¨âì 6-© ¡¨â ᯥª-ä®à¬ â
|
||
or c
|
||
cp (hl) ; ®¢ë© = áâ ஬ã ?
|
||
ret z ; ¤
|
||
ld c,a
|
||
ld a,(format_mode1) ; ä®à¬ â ¯ áá. ¯ ¥«¨
|
||
and form_info+form_qview ; info, qview
|
||
jr nz,set_form1 ; ¤
|
||
ld a,c
|
||
ld (form_under_info),a ; ãáâ. ä®à¬ â ¯ ¥«¨ ¯®¤ "Ctrl+L"
|
||
ld (form_under_qview),a ; ãáâ. ä®à¬ â ¯ ¥«¨ ¯®¤ "Ctrl+Q"
|
||
xor a
|
||
ld (info_),a ; á¡à. âਣ£¥à info-०¨¬
|
||
ld (qview_),a ; á¡à. âਣ£¥à qview-०¨¬
|
||
set_form1: ld (hl),c ; format_mode = ®¢ë© ä®à¬ â
|
||
ld hl,0
|
||
ld (cur_pointer),hl ; ⥪. ¯®«®¦. 㪠§ ⥫ï
|
||
ld (offset_list),hl ; ᬥé. ᯨáª
|
||
call A20FC ; § ®¢® ¢ë¢¥á⨠ᯨ᮪
|
||
jp enter_done1 ; â¥áâ info/qview ä®à¬ âë ¤à. ¯ ¥«¨
|
||
|
||
|
||
;-------------------------------------------------
|
||
; “áâ ®¢¨âì á।¨© ä®à¬ â ªâ. ¯ ¥«¨
|
||
;-------------------------------------------------
|
||
set_format_medium:
|
||
ld c,form_med
|
||
jr set_format
|
||
|
||
;-------------------------------------------------
|
||
; “áâ ®¢¨âì ªà ⪨© ä®à¬ â ªâ. ¯ ¥«¨
|
||
;-------------------------------------------------
|
||
set_format_brief:
|
||
ld c,form_brief
|
||
jr set_format
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;-------------------------------------------------
|
||
; Tab ¯¥à¥å®¤ ¤àã£ãî ¯ ¥«ì
|
||
;-------------------------------------------------
|
||
tab: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«.
|
||
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 ; ¢ë¢®¤ ¯ã⨠⥪. ¯ ¥«¨ á ¨¢¥àᨥ©
|
||
tab1: call print_compath ; ¢ë¢®¤ ¯ã⨠¢ ª®¬-áâப¥
|
||
jp show_pointer ; ¢ë¢¥á⨠㪠§ ⥫ì
|
||
;=====
|
||
; ld a,(format_mode) ; ä®à¬ â ªâ. ¯ ¥«¨
|
||
; and form_qview
|
||
; ret z ; ¥ qview-ä®à¬ â
|
||
; ld a,(type_title_qview) ; ä« £ 00/01 - ¯ ¯ª /ä ©«
|
||
; or a
|
||
; ret z
|
||
; ; ¯¥à¥©â¨ ¢ £«ï¤¥«ªã
|
||
; 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 ; ¯®«®¦. ®ª
|
||
; ; ¢®©â¨ ¢ £«ï¤¥«ªã
|
||
; ld iy,AAF04
|
||
; ld hl,AB317 ; ascii-®ª®
|
||
; ld a,(cur_mode_dump) ; 0/1 ä« £ ⥪. ®ª (ascii/hex)
|
||
; or a
|
||
; jr z,$+5
|
||
; ld hl,ABB1C ; hex-®ª®
|
||
; ld bc,f8__ ; â®çª ¢ë室
|
||
; push bc
|
||
; jp (hl)
|
||
|
||
|
||
;f8__: ld a,(page_module1)
|
||
; out (SLOT1),a ; ¢®ááâ. áâà. ä¬
|
||
; ret
|
||
|
||
|
||
|
||
|
||
|
||
;-------------------------------------------------
|
||
; Ctrl+U ®¡¬¥ ¯ ¥«¥©
|
||
;-------------------------------------------------
|
||
swap_panels: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z ; ¢ëª«.
|
||
ld (A21AB),a ; ãáâ. ä« £ à ¡®âë ®¡¬¥ ¯ ¥«¥©
|
||
in a,(SLOT3)
|
||
push af
|
||
ld hl,enable_clock ; ä« £ ¢ë¢®¤ ç ᮢ
|
||
ld a,(hl)
|
||
push af
|
||
ld (hl),false ; ¢ëª«. ¢ë¢®¤ ç ᮢ
|
||
call hidden_clock ; § â¥à¥âì ç áë
|
||
di
|
||
; á®åà. «¥¢ãî ¯ ¥«ì (¤® ª®¬. áâப¨) ¢ ¡ãä¥à
|
||
ld ix,0C000h+1400h ; ¡ãä¥à § íªà ®¬ ¬¥¥¤¦¥à
|
||
ld de,0000h ; Y/X ¯®«®¦. ®ª
|
||
ld hl,1E28h ; ¢ëá®â /è¨à¨ íªà
|
||
ld a,(page_sys_screen) ; áâà. ¡ãä¥à
|
||
ld b,a
|
||
xor a ; ¨¤¥â¨ä. £«®¡. ®ª
|
||
ld c,0B2h ; íªà ¢ ¡ãä¥à
|
||
rst 08h
|
||
; á®åà. ¯à ¢ãî ¯ ¥«ì ¢ ¡ãä¥à
|
||
ld ix,0C000h+1400h+0960h ; ¡ãä¥à
|
||
ld de,0028h ; Y/X ¯®«®¦. ®ª
|
||
ld hl,1E28h ; ¢ëá®â /è¨à¨ íªà
|
||
ld a,(page_sys_screen) ; áâà. ¡ãä¥à
|
||
ld b,a
|
||
xor a ; ¨¤¥â¨ä. £«®¡. ®ª
|
||
ld c,0B2h ; íªà ¢ ¡ãä¥à
|
||
rst 08h
|
||
; ᪮¯¨à. «¥¢ãî ¯à ¢ãî ¯ ¥«ì
|
||
ld ix,0C000h+1400h+0960h ; ¡ãä¥à ¯à ¢®© ¯ ¥«¨
|
||
ld de,0000h ; Y/X ¯®«®¦. ®ª
|
||
ld hl,1E28h ; ¢ëá®â /è¨à¨ íªà
|
||
ld a,(page_sys_screen) ; áâà. ¡ãä¥à
|
||
ld b,a
|
||
xor a ; ¨¤¥â¨ä. £«®¡. ®ª
|
||
ld c,0B3h ; ¨§ ¡ãä¥à íªà
|
||
rst 08h
|
||
; ᪮¯¨à. ¯à ¢ãî «¥¢ãî ¯ ¥«ì
|
||
ld ix,0C000h+1400h ; ¡ãä¥à «¥¢®© ¯ ¥«¨
|
||
ld de,0028h ; Y/X ¯®«®¦. ®ª
|
||
ld hl,1E28h ; ¢ëá®â /è¨à¨ íªà
|
||
ld a,(page_sys_screen) ; áâà. ¡ãä¥à
|
||
ld b,a
|
||
xor a ; ¨¤¥â¨ä. £«®¡. ®ª
|
||
ld c,0B3h ; ¨§ ¡ãä¥à íªà
|
||
rst 08h
|
||
pop af
|
||
ld (enable_clock),a ; ¢®ááâ. ä« £
|
||
ei
|
||
; ®¡¬¥ïâì X ¯®«®¦. ¯ ¥«¥©
|
||
ld hl,panel_left+1
|
||
ld de,panel_right+1
|
||
ld c,(hl)
|
||
ld a,(de)
|
||
ld (hl),a
|
||
ld a,c
|
||
ld (de),a
|
||
inc hl
|
||
inc de
|
||
; ®¡¬¥ïâì ï祩ª¨ "cur_panel"
|
||
ld c,(hl)
|
||
ld a,(de)
|
||
ld (hl),a
|
||
ld a,c
|
||
ld (de),a
|
||
pop af
|
||
out (SLOT3),a
|
||
ret
|
||
|
||
|
||
|
||
; ᬥ ªâ¨¢®© ¯ ¥«¨ (®¡¬¥ á«ã¦. ï祥ª ¯ ¥«¥©)
|
||
change_panel: ld hl,panel_left ; ®¡¬¥ (hl) ¨ (de)
|
||
ld de,panel_right
|
||
ld b,len_struct ; à §¬¥à áâàãªâãàë ¯ ¥«¨
|
||
ld c,(hl)
|
||
ld a,(de)
|
||
ld (hl),a
|
||
ld a,c
|
||
ld (de),a
|
||
inc hl
|
||
inc de
|
||
djnz $-7
|
||
call A20E5 ; ¯®«ãç¨âì ¤à¥á ®¯¨á â. ⥪. ä®à¬ â (full/medium/brief)
|
||
ld e,(hl)
|
||
inc hl
|
||
ld a,(hl)
|
||
inc hl
|
||
or a
|
||
jr nz,$-5
|
||
jp set_const ; áâநâì ª®áâ âë
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;--------------------------------------------------------------
|
||
; “áâ ®¢¨âì á¨áâ. ¤¨áª ¨ ¯ãâì ®â ªâ. ¯ ¥«¨
|
||
; ¢ë室: CF - ¯à¨ ®è¨¡ª¥ (a=0FFh - ¥â ¤¨áª , a=0 - ¥â ¯ãâ¨)
|
||
;--------------------------------------------------------------
|
||
set_path_from_activ_panel:
|
||
; ãáâ. ¤¨áª ®â ªâ. ¯ ¥«¨
|
||
ld a,(disk)
|
||
ld c,1
|
||
rst 10h
|
||
ld a,-1
|
||
ret c
|
||
; ãáâ. ¯ãâì ®â ªâ. ¯ ¥«¨
|
||
ld hl,(__buff)
|
||
ld c,1Dh
|
||
rst 10h
|
||
ret nc
|
||
ld a,0
|
||
ret
|
||
|
||
;-------------------------------------------------
|
||
; “áâ ®¢¨âì ¤¨áª ¨ ¯ãâì ¤«ï ªâ. ¯ ¥«¨
|
||
;-------------------------------------------------
|
||
set_path_to_activ_panel:
|
||
; ãáâ. ¤¨áª ¤«ï ªâ. ¯ ¥«¨
|
||
ld c,2
|
||
rst 10h
|
||
ret c
|
||
ld (disk),a
|
||
; ãáâ. ¯ãâì ¤«ï ªâ. ¯ ¥«¨
|
||
ld hl,(__buff)
|
||
ld c,1Eh
|
||
rst 10h
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;-------------------------------------------------
|
||
; ‚뢮¤ ¡ãª¢ë ०¨¬ á®àâ¨à®¢ª¨
|
||
;-------------------------------------------------
|
||
show_sort_letter:
|
||
db 3Eh ; ld a,..
|
||
sort_char_flag: db true ; ä« £ ¢ë¢®¤ ¡ãª¢ë ०¨¬ á®àâ¨à®¢ª¨
|
||
or a
|
||
ret z
|
||
ld hl,(sort_type)
|
||
ld a,""
|
||
add a,h
|
||
ld h,a ; / á®àâ¨à®¢ª
|
||
ld (sort_char__),hl
|
||
ld hl,sort_char ; ®¯¨á â¥«ì ¡ãª¢ë
|
||
jr draw_text ; ¯®§¨æ. ¢ë¢®¤ áâப¨
|
||
|
||
|
||
;-------------------------------------------------
|
||
; <20>®§¨æ. ¢ë¢®¤ ⥪áâ (¢ ªâ. ¯ ¥«¨)
|
||
;-------------------------------------------------
|
||
; ¢å®¤: hl=®¯¨á ⥫ì áâப¨
|
||
draw_text: ld a,(hl)
|
||
or a
|
||
ret z ; á⮯-¡ ©â
|
||
ld (tdraw1__),a ; ¤«¨ áâப¨
|
||
ex af,af'
|
||
inc hl
|
||
ld a,(hl)
|
||
ld (tdraw3__+1),a ; 梥â
|
||
inc hl
|
||
ld e,(hl) ; áâப
|
||
inc hl
|
||
ld d,(hl) ; ª®«®ª
|
||
inc hl
|
||
ex de,hl ; hl=colon/line, de= ¤à¥á áâப¨
|
||
call draw_txt_print
|
||
ex de,hl
|
||
jr draw_text
|
||
;
|
||
; h=®¬¥à ª®«®ª¨
|
||
; a'=¤«¨ áâப¨
|
||
; de= ¤à¥á áâப¨
|
||
; áâநâì ï祩ª¨ tdraw1__, tdraw3__+1
|
||
draw_txt_print: ld bc,0301h ; á 0-© áâப¨ (¤«ï ᨬ¢®«®¢)
|
||
ld a,(panel_left+1) ; ç «® ªâ. ¯ ¥«¨
|
||
add a,h
|
||
draw_txt_print1:;
|
||
ld (tdraw__),a ; ª®«®ª
|
||
ld h,0
|
||
add hl,hl ; 1+1=2
|
||
add hl,hl ; 2+2=4
|
||
add hl,bc
|
||
in a,(89h)
|
||
ld (tdraw4__+1),a ; á®åà. ¯®àâ
|
||
in a,(SLOT0)
|
||
ld (tdraw5__+1),a ; á®åà. ¯®àâ
|
||
di
|
||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||
out (SLOT0),a
|
||
db 3Eh ; ld a,..
|
||
tdraw__: db 0 ; ª®«®ª (0..79)
|
||
add a,81h ; +0 (ᬥé. á«¥¢ )
|
||
out (89h),a
|
||
ld c,a
|
||
; ¢ë¢®¤ ⥪áâ
|
||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||
db 3Eh ; ld a,..
|
||
tdraw1__: db 1 ; ¤«¨ áâப¨
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||
ld a,(de)
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||
ld (hl),a
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
inc hl ; ¯¥à¥©â¨ âਡãâ
|
||
; ¢ë¢®¤ âਡãâ
|
||
ex af,af'
|
||
ld b,a ; ¤«¨ áâப¨
|
||
ld a,c
|
||
tdraw2__: out (89h),a
|
||
tdraw3__: ld (hl),0 ; âਡãâ
|
||
inc a
|
||
inc de
|
||
djnz tdraw2__
|
||
tdraw4__: ld a,0
|
||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||
tdraw5__: ld a,0
|
||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||
ei
|
||
ret
|
||
|
||
|
||
|
||
|
||
;-----------------------------------------------------------
|
||
; ‚뢮¤ ¡®ª®¢ëå áâ®à® ¨ ¯à¥¤-¨¦¥© «¨¨¨ à ¬ª¨ ¯ ¥«¨
|
||
; (á ®ç¨á⪮© ¬¥áâ )
|
||
;-----------------------------------------------------------
|
||
draw_half_frame:ld hl,0301h+4 ; á 1-© áâப¨
|
||
ld a,(panel_size+1)
|
||
ld b,a ; 27 ç¨á«® áâப
|
||
jr $+7
|
||
draw_half_frame1:
|
||
ld hl,0301h+(4*2) ; á® 2-© áâப¨
|
||
ld b,26 ; ç¨á«® áâப
|
||
in a,(89h)
|
||
ld (fdraw3__+1),a ; á®åà. ¯®àâ
|
||
in a,(SLOT0)
|
||
ld (fdraw4__+1),a ; á®åà. ¯®àâ
|
||
ld a,(color_array+2) ; 1Bh color_panel
|
||
ld (fdraw1__+1),a ; âਡãâ
|
||
ld a,(panel_left+1) ; ª®«®ª ( ç «® ¯ ¥«¨)
|
||
add a,81h ; +0 (ᬥé. á«¥¢ )
|
||
ld c,a
|
||
ld a,(format_mode) ; ä®à¬ â ¯ ¥«¨
|
||
; ¢ë¢®¤ á।¥© ç áâ¨
|
||
ld de,midline2 ; «¨¨ï "º ³ º" medium
|
||
bit 1,a ; medium
|
||
jr nz,fdraw__
|
||
ld de,midline3 ; «¨¨ï "º ³ ³ º" brief
|
||
bit 2,a ; brief
|
||
jr nz,fdraw__
|
||
ld de,midline4 ; «¨¨ï "º º""
|
||
bit 3,a ; info
|
||
jr nz,fdraw__
|
||
bit 4,a ; qview
|
||
jr nz,fdraw__
|
||
ld de,midline1 ; «¨¨ï "º ³ ³ ³ º" full
|
||
bit 6,a ; spec
|
||
jr z,fdraw__
|
||
ld de,midline_spec ; «¨¨ï "º ³ ³ ³ ³ ³ º" full-spec
|
||
fdraw__: di
|
||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||
out (SLOT0),a
|
||
fdraw2__: call fdraw_axel
|
||
djnz fdraw2__
|
||
; ¢ë¢®¤ ¯à¥¤-¨¦¥© «¨¨¨
|
||
ld de,midline4 ; «¨¨ï "º º""
|
||
call fdraw_axel
|
||
fdraw3__: ld a,0
|
||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||
fdraw4__: ld a,0
|
||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||
ei
|
||
ret
|
||
|
||
fdraw_axel: ld a,c
|
||
out (89h),a
|
||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||
ld a,40 ; ¤«¨ áâப¨
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||
ld a,(de)
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||
ld (hl),a
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
inc l ; ¯¥à¥©â¨ âਡãâ
|
||
; ¢ë¢®¤ âਡãâ
|
||
push bc
|
||
ld b,40 ; ¤«¨ áâப¨
|
||
ld a,c
|
||
fdraw0__: out (89h),a
|
||
fdraw1__: ld (hl),color_panel ; 1Bh âਡãâ
|
||
inc a
|
||
djnz fdraw0__
|
||
pop bc
|
||
inc l
|
||
inc l
|
||
inc l
|
||
ret
|