mirror of
https://github.com/Tolik-Trek/File-Manager.git
synced 2026-06-15 17:31:37 +03:00
прибираемся
This commit is contained in:
parent
9c17418f43
commit
f3f3ac6df0
@ -12,7 +12,7 @@ enable_clock:
|
||||
call get_systime ; ã§ âì á¨áâ. ¢à¥¬ï
|
||||
ld de,clock_string ; ¡ãä¥à ç ᮢ
|
||||
ld hl,0301h ; á 0-© áâப¨
|
||||
in a,(89h)
|
||||
in a,(PORT_Y)
|
||||
ld b,a ; á®åà. ¯®àâ
|
||||
in a,(SLOT0)
|
||||
ld c,a ; á®åà.¯®àâ
|
||||
@ -20,7 +20,7 @@ enable_clock:
|
||||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ld a,75+81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a ; ª®«®ª
|
||||
out (PORT_Y),a ; ª®«®ª
|
||||
; ¢ë¢®¤ ⥪áâ
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,5 ; ¤«¨ áâப¨
|
||||
@ -34,7 +34,7 @@ enable_clock:
|
||||
; ¢ë¢®¤ âਡã⮢
|
||||
ld de,clock_attr ; áâப âਡã⮢
|
||||
ld a,75+81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
inc hl ; ¯¥à¥©â¨ âਡãâë
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,5 ; ¤«¨ áâப¨
|
||||
@ -46,7 +46,7 @@ enable_clock:
|
||||
ld (hl),a
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,b
|
||||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||||
out (PORT_Y),a ; ¢®ááâ. ¯®àâ
|
||||
ld a,c
|
||||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||||
ei
|
||||
@ -10,7 +10,7 @@ PR: push iy
|
||||
rst 08h
|
||||
ld hl,work_buffer+33;256
|
||||
ld c,1Eh
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
;ld hl,work_buffer+256
|
||||
;xor a
|
||||
;ld c,a
|
||||
@ -23,7 +23,7 @@ PR: push iy
|
||||
;
|
||||
ld hl,work_buffer+33;256
|
||||
ld c,5Ch
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld a," "
|
||||
call symb
|
||||
ld a," "
|
||||
@ -64,7 +64,7 @@ PR2: push iy
|
||||
rst 08h
|
||||
pop hl;
|
||||
;ld c,5Ch
|
||||
;rst 10h
|
||||
;rst ToDSS
|
||||
;ld a," "
|
||||
;call symb
|
||||
;ld a," "
|
||||
@ -81,7 +81,7 @@ delete_yes1:
|
||||
ld a,(hl)
|
||||
ld hl,temp_fname ; ¨¬ï ä ©« /¯ ¯ª¨
|
||||
ld bc,0116h ; ãáâ. âਡãâ ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
delete1:
|
||||
; ᪮¯¨à. ¨¬ï ä ©« /¯ ¯ª¨ ¢ ®¯¨á â¥«ì ¨ä®-®ª
|
||||
ld hl,delete_name ; ®âªã¤
|
||||
@ -98,7 +98,7 @@ delete_try:
|
||||
jr nz,$+4 ; ¤
|
||||
ld c,0Eh ; 㤠«¨âì ä ©«
|
||||
ld hl,temp_fname ; ¨¬ï ä ©« /¯ ¯ª¨
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
; § ªàëâì ¨ä®-®ª®
|
||||
push af
|
||||
call CloseWinSimple
|
||||
@ -178,7 +178,7 @@ del_full_fold_rec:
|
||||
; 㤠«¨âì ¯ ¯ªã
|
||||
ld hl,work_buffer ; ªã¤ (¢ ª®¥æ áâப¨)
|
||||
ld c,1Ch ; 㤠«¨âì ¯ ¯ªã
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
; § ªàëâì ¨ä®-®ª®
|
||||
call CloseWinSimple
|
||||
or a
|
||||
@ -254,13 +254,13 @@ delete_file:
|
||||
inc hl ; +33 (¨¬ï ä ©« )
|
||||
ld bc,0116h ; ãáâ. âਡãâ ä ©«
|
||||
push af
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
pop af
|
||||
delete_file_next:
|
||||
ld c,0Eh ; 㤠«¨âì ä ©«
|
||||
delete_file_next1:
|
||||
ld hl,work_buffer+33 ; ¨¬ï ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
push af
|
||||
; § ªàëâì ¨ä®-®ª®
|
||||
call CloseWinSimple
|
||||
@ -278,7 +278,7 @@ delete_folder:
|
||||
;
|
||||
ld hl,work_buffer+33
|
||||
ld c,1Eh ; ã§ âì ¯ãâì
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
; ¢ë¢®¤ ¨ä®-®ª
|
||||
ld hl,dial_delete_current
|
||||
call WinSimple ; ®âªàëâì ®ª®
|
||||
@ -11,7 +11,7 @@ Press_Enter:
|
||||
push af
|
||||
ld de,work_buffer ; ªã¤
|
||||
ld bc,0044h ; 11 -> 8.3
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
pop af
|
||||
and 10h
|
||||
jp z,Launch_File ; ¢ë¯®«¨âì ä ©« (launch.asm)
|
||||
@ -95,7 +95,7 @@ return_to_parent:
|
||||
ld hl,work_buffer+127;255 ; ®âªã¤
|
||||
ld de,temp_fname ; ªã¤ (launch.asm)
|
||||
ld bc,0144h
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
; ¯®§¨æ. 㪠§ â¥«ì ¨¬ï ¯ ¯ª¨
|
||||
call calc_index_name ; ¢ëç¨á«¨âì ¨¤¥ªá ¨¬¥¨
|
||||
call set_pointer ; à áç. ¯®«®¦. 㪠§ ⥫ï/ᯨáª
|
||||
@ -46,7 +46,7 @@ file_viewer:
|
||||
ret c
|
||||
ld de,temp_fname ; ªã¤
|
||||
ld bc,0044h ; 11 -> 8.3
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret c
|
||||
;ld (evcomb_stack+1),sp ; á®åà. á⥪
|
||||
ld a,(page_viewer) ; áâà. ¢ìî¥à
|
||||
@ -171,16 +171,16 @@ get_info_data:
|
||||
; ¯à®ç¨â âì BPB ¤¨áª
|
||||
ld a,(disk) ; ®¬¥à ¤¨áª
|
||||
ld c,1 ; open device
|
||||
rst 18h
|
||||
rst ToDSS.DRV
|
||||
jr c,get_inf_data_err
|
||||
ld a,(disk)
|
||||
ld de,work_buffer ; ¡ãä¥à
|
||||
ld c,4 ; get BPB
|
||||
rst 18h
|
||||
rst ToDSS.DRV
|
||||
push af
|
||||
ld a,(disk) ; ®¬¥à ¤¨áª
|
||||
ld c,2 ; close device
|
||||
rst 18h
|
||||
rst ToDSS.DRV
|
||||
pop af
|
||||
jr c,get_inf_data_err
|
||||
; ¡ ©â ä®à¬ â ®á¨â¥«ï
|
||||
@ -202,12 +202,12 @@ get_inf_data_err:
|
||||
jr nc,get_inf_data1 ; ¬¥âª ¢ BPB
|
||||
; floppy, ¬¥âª - § ¯¨áì ä ©«
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld hl,scan_mask ; "*.*" ¨¬ï ¯®¨áª ¬¥âª¨ ⮬
|
||||
ld de,work_buffer+127;255
|
||||
ld a,8 ; âਡãâ ¬¥âª¨ ⮬
|
||||
ld bc,0019h ; F_FIRST, ä®à¬ â "FilenameExt"
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr c,get_inf_data1 ; ¬¥âª¨ ¥â
|
||||
ld hl,work_buffer+127+43 ;+255+43 ®âªã¤ (ª®¥æ ¬¥âª¨)
|
||||
jr $+5
|
||||
@ -220,7 +220,7 @@ get_inf_data1:
|
||||
; Ž¡ê¥¬ ¤¨áª
|
||||
ld a,(disk) ; ®¬¥à ¤¨áª
|
||||
ld c,3 ; ¨ä ® ¤¨áª¥
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr nc,get_inf_data_ok
|
||||
xor a
|
||||
ld l,a
|
||||
@ -267,7 +267,7 @@ get_inf_data_ok:
|
||||
call decimal32
|
||||
; ‚ᥣ® ¯ ¬ïâ¨
|
||||
ld c,3Ch ; ¨ä®à¬ æ¨ï ® ¯ ¬ïâ¨
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
push bc
|
||||
ld ix,info_total_memory ; 0,000,000
|
||||
call conv_kbytes ; kbytes -> bytes ¨ ¢ë¢®¤ ¢ ¡ãä¥à
|
||||
@ -369,7 +369,7 @@ conv_kbytes:
|
||||
;-------------------------------------------------
|
||||
info_get_date:
|
||||
ld c,21h ; á¨áâ. ¤ â
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
push ix ; £®¤
|
||||
push de ; ¤¥ì/¬¥áïæ
|
||||
ld ix,info_date_string ; ¡ãä¥à
|
||||
@ -84,7 +84,7 @@ print_keybar:
|
||||
ld de,keybar_norm ; ⥪áâ
|
||||
print_keybar1:
|
||||
ld hl,037Dh ; 0301h + (4*31)
|
||||
in a,(89h)
|
||||
in a,(PORT_Y)
|
||||
ld b,a ; á®åà. ¯®àâ
|
||||
in a,(SLOT0)
|
||||
ld c,a ; á®åà.¯®àâ
|
||||
@ -92,7 +92,7 @@ print_keybar1:
|
||||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ld a,81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a ; ª®«®ª
|
||||
out (PORT_Y),a ; ª®«®ª
|
||||
; ¢ë¢®¤ ⥪áâ
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,80 ; ¤«¨ áâப¨
|
||||
@ -106,7 +106,7 @@ print_keybar1:
|
||||
; ¢ë¢®¤ âਡã⮢
|
||||
ld de,keybar_attr ; áâப âਡã⮢
|
||||
ld a,81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
inc hl ; ¯¥à¥©â¨ âਡãâë
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,80 ; ¤«¨ áâப¨
|
||||
@ -118,7 +118,7 @@ print_keybar1:
|
||||
ld (hl),a
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,b
|
||||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||||
out (PORT_Y),a ; ¢®ááâ. ¯®àâ
|
||||
ld a,c
|
||||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||||
ei
|
||||
@ -144,7 +144,7 @@ change_keybar:
|
||||
ld de,keybar_shift ; áâப
|
||||
keybar__:
|
||||
ld hl,037Dh ; 0301h + (4*31)
|
||||
in a,(89h)
|
||||
in a,(PORT_Y)
|
||||
ld b,a ; á®åà. ¯®àâ
|
||||
in a,(SLOT0)
|
||||
ld c,a ; á®åà.¯®àâ
|
||||
@ -152,7 +152,7 @@ keybar__:
|
||||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ld a,81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a ; ª®«®ª
|
||||
out (PORT_Y),a ; ª®«®ª
|
||||
; ¢ë¢®¤ ⥪áâ
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,80 ; ¤«¨ áâப¨
|
||||
@ -164,7 +164,7 @@ keybar__:
|
||||
ld (hl),a
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
ld a,b
|
||||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||||
out (PORT_Y),a ; ¢®ááâ. ¯®àâ
|
||||
ld a,c
|
||||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||||
ei
|
||||
@ -95,9 +95,9 @@ cut_disk:
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
ld de,ComLineBuff+5 ; ªã¤
|
||||
ld bc,0145h
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret
|
||||
|
||||
; ‚뤥«¨âì ¨ ãáâ ®¢¨âì ¯ãâì
|
||||
@ -106,10 +106,10 @@ cut_path:
|
||||
ld de,ComLineBuff+5+2 ; ªã¤
|
||||
push de
|
||||
ld bc,0245h
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
pop hl
|
||||
ld c,1Dh ; ãáâ. ¯ãâì
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret
|
||||
|
||||
; ‚뤥«¨âì ¨¬ï ä ©« ¨§ áâப¨
|
||||
@ -117,7 +117,7 @@ cut_filename:
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
ld de,temp_fname ; ªã¤
|
||||
ld bc,0345h ; ä®à¬ â "file.ext"
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret
|
||||
|
||||
|
||||
@ -142,7 +142,7 @@ Launch_File:
|
||||
ld hl,work_buffer ; ®âªã¤
|
||||
ld de,temp_fname ; ªã¤
|
||||
ld bc,0445h
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
bit 3,a ; 㪠§ ¤¨áª ?
|
||||
push af
|
||||
call nz,cut_disk ; ¢ë¤¥«¨âì ¨ ãáâ. ¤¨áª
|
||||
@ -265,7 +265,7 @@ new_line:
|
||||
call $+5
|
||||
ld a,0Ah
|
||||
ld c,5Bh ; ¢ë¢®¤ ᨬ¢®« íªà
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret
|
||||
|
||||
|
||||
@ -285,7 +285,7 @@ call_shell:
|
||||
ld (hl),false
|
||||
; ¢®ááâ. ¤®á-áâà ¨æã
|
||||
di
|
||||
ld a,(port_82)
|
||||
ld a,(DSS_PAGE)
|
||||
out (SLOT0),a
|
||||
ei
|
||||
; ¢®ááâ. á¨áâ¥¬ë© íªà
|
||||
@ -298,12 +298,12 @@ call_shell:
|
||||
rst 08h
|
||||
; ¢®ááâ. § 票¥ ¯®àâ
|
||||
ld a,(port_89)
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
; ¢ë¯®«¨âì ä ©«
|
||||
ld (stack1+1),sp
|
||||
ld hl,work_buffer+127;255 ; ¨¬ï ä ©«
|
||||
ld bc,0040h
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
; áªàëâì á¨áâ. ¬ëèªã
|
||||
ld c,2
|
||||
rst 30h
|
||||
@ -30,7 +30,7 @@ make_folder:
|
||||
ld hl,input_line_makedir+5 ; ®âªã¤
|
||||
ld de,temp_fname ; ªã¤ (13 ¡ ©â)
|
||||
ld bc,0345h
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
push af
|
||||
push af
|
||||
or a
|
||||
@ -55,7 +55,7 @@ try_make_fold:
|
||||
try_make_folder:
|
||||
ld hl,temp_fname ; ¨¬ï ¯ ¯ª¨
|
||||
ld c,1Bh ; á®§¤ âì ¯ ¯ªã
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr c,make_fold_err
|
||||
; ®¡®¢¨âì ᯨ᮪ ¯ ¥«¥©
|
||||
fresh_two_panels: ;<- ®¡à 饨¥ ¨§ delete.asm
|
||||
@ -232,12 +232,12 @@ copy_file:
|
||||
; ; ¤®¡ ¢¨âì ¨¬ï ¯ ¯ª¨
|
||||
; ; de=ªã¤
|
||||
; ld bc,0044h ; 11 -> 8.3
|
||||
; rst 10h
|
||||
; rst ToDSS
|
||||
;__tr1: ;
|
||||
; ;call PR;
|
||||
; ld hl,work_buffer
|
||||
; ld c,1Dh ; ãáâ. ⥪. ¯ãâì
|
||||
; rst 10h
|
||||
; rst ToDSS
|
||||
; ;xor a ; ᪠¨à. ¯ ¯ª¨
|
||||
; ;ld (scan_mode),a ; ०¨¬ à ¡®âë ¯à®æ¥¤ãàë
|
||||
; jp ScanTree ; ᪠¨à. ¯ ¯ªã
|
||||
@ -479,9 +479,9 @@ scan_folder_alt:
|
||||
ex de,hl ; de=ªã¤
|
||||
pop hl ; ®âªã¤
|
||||
ld bc,0044h ; 11 -> 8.3
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
scan_fold1:
|
||||
ld hl,work_buffer
|
||||
ld c,1Dh ; ãáâ. ¯ãâì
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jp ScanTree ; ᪠¨à. ¯ ¯ªã
|
||||
@ -86,7 +86,7 @@ read_new_list:
|
||||
ld (hl),0
|
||||
dec hl
|
||||
ld c,1Dh ; ᬥ ⥪. ª â «®£
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret c ; ®è¨¡ª
|
||||
read_nlist:
|
||||
xor a
|
||||
@ -110,7 +110,7 @@ read_nlist:
|
||||
read_nlist_loop:
|
||||
ld de,work_buffer ; ªã¤
|
||||
ld a,37h ; ¢á¥, ªà®¬¥ ¬¥âª¨ ⮬
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ccf
|
||||
ret nc ; ¡®«ìè¥ ¥â § ¯¨á¥©
|
||||
call copy_record ; ᪮¯¨à. § ¯¨áì ¢ ¡ ªã ª â «®£
|
||||
@ -25,7 +25,7 @@ rename: call test_show_panels ;
|
||||
ld hl,temp_fname ; áâ ஥ ¨¬ï
|
||||
ld de,input_line_rename+5 ; ®¢®¥ ¨¬ï
|
||||
ld c,10h ; ¯¥à¥¨¬¥. ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jp nc,fresh_two_panels ; ¡¥§ ®è¨¡®ª, ®¡®¢¨âì ¯ ¥«¨
|
||||
;
|
||||
; ¢ë¢®¤ ®ª ®è¨¡ª¨ ¯¥à¥¨¬¥®¢ ¨ï
|
||||
@ -60,7 +60,7 @@ prep_ren_name1:
|
||||
; hl=®âªã¤
|
||||
ld de,temp_fname ; ªã¤
|
||||
ld bc,0044h ; 11 -> 8.3
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
; ®ç¨áâ¨âì áâàãªâãàã ¡ãä¥à
|
||||
ld hl,input_line_rename ; áâàãªâãà ¡ãä¥à
|
||||
call clear_struct_inline
|
||||
@ -89,13 +89,13 @@ enable_ini_file:
|
||||
ldir
|
||||
; ãáâ. ®¤¨ ª®¢ë¥ ¤¨áª¨ ¢ ¯ ¥«ïå
|
||||
ld c,2 ; ¯®«ãç¨âì ®¬¥à ⥪. ¤¨áª
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld (disk),a ; ®¬¥à ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld (disk1),a ; ®¬¥à ¤¨áª ¯ áá. ¯ ¥«¨
|
||||
; ãáâ. ®¤¨ ª®¢ë¥ ¯ã⨠¢ ¯ ¥«ïå
|
||||
ld hl,buff_left ; ¡ãä¥à ¯ã⨠«¥¢®© ¯ ¥«¨
|
||||
ld c,1Eh ; ¯®«ãç¨âì ⥪. ¯ãâì
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld hl,buff_left ; ¯ãâì «¥¢®© ¯ ¥«¨
|
||||
ld de,buff_right ; ¯ãâì ¯à ¢®© ¯ ¥«¨
|
||||
jp copy_string ; ᪮¯¨à. áâப㠤® ã«ï (á ã«¥¬)
|
||||
@ -201,7 +201,7 @@ read_ini_file:
|
||||
ld bc,0146h ; ¯®«ãç¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||||
ld hl,env_name ; ¨¬ï ¯¥à¥¬¥®©
|
||||
ld de,work_buffer ; ¡ãä¥à ¤«ï § ç¥¨ï ¯¥à¥¬¥®©
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr c,no_ini_string ; ®è¨¡ª
|
||||
or a
|
||||
jr nz,read_ini_file__ ; ¯¥à¥¬¥ ï ©¤¥
|
||||
@ -225,7 +225,7 @@ read_ini_file__:
|
||||
ld de,work_buffer+127;255 ; ¡ãä¥à
|
||||
ld bc,0119h
|
||||
ld a,20h ; " à娢ë©"
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
pop de ; ª®¥æ áâப¨ ¯¥à¥¬¥®© ®ªà㦥¨ï
|
||||
jr nc,found_ini_file ; ä ©« ©¤¥
|
||||
no_ini_string:
|
||||
@ -237,21 +237,21 @@ found_ini_file:
|
||||
ld hl,work_buffer ; ¯®«®¥ ¨¬ï ä ©« (¤¨áª+¯ãâì+¨¬ï)
|
||||
ld a,1 ; ç⥨¥
|
||||
ld c,11h ; ®âªàëâì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr c,no_ini_string ; ®è¨¡ª ®âªàëâ¨ï
|
||||
ld (handle_ini_file),a ; á®åà. ¤¥áªà¨¯â®à
|
||||
; ¯à®ç¨â âì áâனª¨ ¬¥¥¤¦¥à
|
||||
ld hl,work_buffer ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
ld de,size_ini_part1 ; ç¨á«® ç¨â ¥¬ëå ¡ ©â
|
||||
ld c,13h ; ç⥨¥ ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr c,read_ini_error
|
||||
; ¯à®ç¨â âì ¯ã⨠«¥¢®© ¨ ¯à ¢®© ¯ ¥«¥©
|
||||
ld hl,buff_left ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
ld de,256+256 ; 512 ç¨á«® ç¨â ¥¬ëå ¡ ©â
|
||||
ld a,(handle_ini_file) ; ¤¥áªà¨¯â®à
|
||||
ld c,13h ; ç⥨¥ ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld a,true
|
||||
jr nc,read_ini_ok ; ¡¥§ ®è¨¡®ª
|
||||
read_ini_error:
|
||||
@ -263,16 +263,16 @@ close_ini_file:
|
||||
handle_ini_file:
|
||||
db -1
|
||||
ld c,12h ; § ªàëâì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ini_done:
|
||||
restore_sys_path:
|
||||
ld a,(save_disk)
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret c
|
||||
ld hl,save_path
|
||||
ld c,1Dh ; ãáâ. ª â «®£
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret
|
||||
|
||||
|
||||
@ -310,7 +310,7 @@ write_ini_file:
|
||||
ld bc,0146h ; ¯®«ãç¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||||
ld hl,env_name ; ¨¬ï ¯¥à¥¬¥®©
|
||||
ld de,work_buffer ; ¡ãä¥à ¤«ï § ç¥¨ï ¯¥à¥¬¥®©
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret c ; ®è¨¡ª
|
||||
or a
|
||||
jr nz,write_ini_file__ ; ¯¥à¥¬¥ ï ©¤¥
|
||||
@ -331,7 +331,7 @@ write_ini_file__:
|
||||
ld hl,work_buffer ; ¯®«®¥ ¨¬ï ä ©« (¤¨áª+¯ãâì+¨¬ï)
|
||||
ld a,20h ; " à娢ë©"
|
||||
ld c,0Ah ; á®§¤ âì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr c,ini_done ; ®è¨¡ª á®§¤ ¨ï
|
||||
ld (handle_ini_file),a ; á®åà. ¤¥áªà¨¯â®à
|
||||
;
|
||||
@ -342,21 +342,21 @@ write_ini_file__:
|
||||
ld de,size_ini_part1 ; 97 ç¨á«® § ¯¨á. ¡ ©â
|
||||
ld a,(handle_ini_file) ; ¤¥áªà¨¯â®à
|
||||
ld c,14h ; § ¯¨áì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr c,close_ini_file ; § ªàëâì ä ©«
|
||||
; § ¯¨á âì ¯ãâì «¥¢®© ¯ ¥«¨
|
||||
ld hl,(__buff) ; ¤à¥á áâப¨ «¥¢®© ¯ ¥«¨
|
||||
ld de,256 ; ç¨á«® § ¯¨á. ¡ ©â
|
||||
ld a,(handle_ini_file) ; ¤¥áªà¨¯â®à
|
||||
ld c,14h ; § ¯¨áì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr c,close_ini_file ; § ªàëâì ä ©«
|
||||
; § ¯¨á âì ¯ãâì ¯à ¢®© ¯ ¥«¨
|
||||
ld hl,(__buff1) ; ¤à¥á áâப¨ ¯à ¢®© ¯ ¥«¨
|
||||
ld de,256 ; ç¨á«® § ¯¨á. ¡ ©â
|
||||
ld a,(handle_ini_file) ; ¤¥áªà¨¯â®à
|
||||
ld c,14h ; § ¯¨áì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jp close_ini_file ; § ªàëâì ä ©«
|
||||
|
||||
|
||||
@ -462,7 +462,7 @@ read_mnu_file:
|
||||
ld bc,0146h ; ¯®«ãç¨âì ¯¥à¥¬¥ãî ®ªà㦥¨ï
|
||||
ld hl,env_name ; ¨¬ï ¯¥à¥¬¥®©
|
||||
ld de,work_buffer ; ¡ãä¥à ¤«ï § ç¥¨ï ¯¥à¥¬¥®©
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr c,no_mnu_string ; ®è¨¡ª
|
||||
or a
|
||||
jr nz,read_mnu_file__ ; ¯¥à¥¬¥ ï ©¤¥
|
||||
@ -486,7 +486,7 @@ read_mnu_file__:
|
||||
ld de,work_buffer+127;255 ; ¡ãä¥à
|
||||
ld bc,0119h
|
||||
ld a,20h ; " à娢ë©"
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
pop de ; ª®¥æ áâப¨ ¯¥à¥¬¥®© ®ªà㦥¨ï
|
||||
jr nc,found_mnu_file ; ä ©« ©¤¥
|
||||
no_mnu_string:
|
||||
@ -498,14 +498,14 @@ found_mnu_file:
|
||||
ld hl,work_buffer ; ¯®«®¥ ¨¬ï ä ©« (¤¨áª+¯ãâì+¨¬ï)
|
||||
ld a,1 ; ç⥨¥
|
||||
ld c,11h ; ®âªàëâì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
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
|
||||
rst ToDSS
|
||||
ld a,true
|
||||
jr nc,read_mnu_ok ; ¡¥§ ®è¨¡®ª
|
||||
xor a
|
||||
@ -518,6 +518,6 @@ read_mnu_ok:
|
||||
handle_mnu_file:
|
||||
db -1
|
||||
ld c,12h ; § ªàëâì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
mnu_done:
|
||||
jp restore_sys_path ; ¢®ááâ. ⥪. ¯ãâì
|
||||
@ -66,13 +66,13 @@ warm_entry:
|
||||
; ãáâ. ⥪áâ. ०¨¬ íªà
|
||||
ld a,3 ; 80x32x16 梥⮢
|
||||
ld bc,0150h ; b=1 íªà
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
; á®åà. á¨áâ. íªà
|
||||
ld c,0B2h
|
||||
ld a,(page_sys_screen) ; áâà. ¡ãä¥à ®ª
|
||||
call screen__
|
||||
ld a,0C0h
|
||||
out (89h),a ; § ªàëâì ᯥª. íªà
|
||||
out (PORT_Y),a ; § ªàëâì ᯥª. íªà
|
||||
|
||||
; ¨¨â. ¤à ©¢¥à ª« ¢ë
|
||||
xor a
|
||||
@ -1699,7 +1699,7 @@ string_line: db 1 ;
|
||||
add hl,hl ; 2+2=4
|
||||
add hl,de
|
||||
ld de,string_of_list ; ¤à¥á áâப¨
|
||||
in a,(89h)
|
||||
in a,(PORT_Y)
|
||||
ld (pnt3__+1),a ; á®åà. ¯®àâ
|
||||
in a,(SLOT0)
|
||||
ld (pnt4__+1),a ; á®åà. ¯®àâ
|
||||
@ -1712,7 +1712,7 @@ string_line: db 1 ;
|
||||
string_colon: db 0 ; ®¬¥à ª®«®ª¨
|
||||
add a,81h ; +0 (ᬥé. á«¥¢ )
|
||||
add a,b ; + ç «® ¯ ¥«¨
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
ld (pnt1__+1),a
|
||||
; ¢ë¢®¤ ⥪áâ
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
@ -1748,12 +1748,12 @@ pnt__: ld a,(string_len) ;
|
||||
ld b,a
|
||||
pnt1__: ld c,81h ; á®åà. ®¬¥à ª®«®ª¨
|
||||
pnt2__: ld a,c
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
ld (hl),e ; âਡãâ
|
||||
inc c
|
||||
djnz pnt2__
|
||||
pnt3__: ld a,0
|
||||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||||
out (PORT_Y),a ; ¢®ááâ. ¯®àâ
|
||||
pnt4__: ld a,0
|
||||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||||
ei
|
||||
@ -2211,13 +2211,13 @@ set_path_from_activ_panel:
|
||||
; ãáâ. ¤¨áª ®â ªâ. ¯ ¥«¨
|
||||
ld a,(disk)
|
||||
ld c,1
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld a,-1
|
||||
ret c
|
||||
; ãáâ. ¯ãâì ®â ªâ. ¯ ¥«¨
|
||||
ld hl,(__buff)
|
||||
ld c,1Dh
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret nc
|
||||
ld a,0
|
||||
ret
|
||||
@ -2228,13 +2228,13 @@ set_path_from_activ_panel:
|
||||
set_path_to_activ_panel:
|
||||
; ãáâ. ¤¨áª ¤«ï ªâ. ¯ ¥«¨
|
||||
ld c,2
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret c
|
||||
ld (disk),a
|
||||
; ãáâ. ¯ãâì ¤«ï ªâ. ¯ ¥«¨
|
||||
ld hl,(__buff)
|
||||
ld c,1Eh
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret
|
||||
|
||||
|
||||
@ -2295,7 +2295,7 @@ draw_txt_print1:;
|
||||
add hl,hl ; 1+1=2
|
||||
add hl,hl ; 2+2=4
|
||||
add hl,bc
|
||||
in a,(89h)
|
||||
in a,(PORT_Y)
|
||||
ld (tdraw4__+1),a ; á®åà. ¯®àâ
|
||||
in a,(SLOT0)
|
||||
ld (tdraw5__+1),a ; á®åà. ¯®àâ
|
||||
@ -2305,7 +2305,7 @@ draw_txt_print1:;
|
||||
db 3Eh ; ld a,..
|
||||
tdraw__: db 0 ; ª®«®ª (0..79)
|
||||
add a,81h ; +0 (ᬥé. á«¥¢ )
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
ld c,a
|
||||
; ¢ë¢®¤ ⥪áâ
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
@ -2323,13 +2323,13 @@ tdraw1__: db 1 ;
|
||||
ex af,af'
|
||||
ld b,a ; ¤«¨ áâப¨
|
||||
ld a,c
|
||||
tdraw2__: out (89h),a
|
||||
tdraw2__: out (PORT_Y),a
|
||||
tdraw3__: ld (hl),0 ; âਡãâ
|
||||
inc a
|
||||
inc de
|
||||
djnz tdraw2__
|
||||
tdraw4__: ld a,0
|
||||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||||
out (PORT_Y),a ; ¢®ááâ. ¯®àâ
|
||||
tdraw5__: ld a,0
|
||||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||||
ei
|
||||
@ -2349,7 +2349,7 @@ draw_half_frame:ld hl,0301h+4 ;
|
||||
draw_half_frame1:
|
||||
ld hl,0301h+(4*2) ; á® 2-© áâப¨
|
||||
ld b,26 ; ç¨á«® áâப
|
||||
in a,(89h)
|
||||
in a,(PORT_Y)
|
||||
ld (fdraw3__+1),a ; á®åà. ¯®àâ
|
||||
in a,(SLOT0)
|
||||
ld (fdraw4__+1),a ; á®åà. ¯®àâ
|
||||
@ -2384,14 +2384,14 @@ fdraw2__: call fdraw_axel
|
||||
ld de,midline4 ; «¨¨ï "º º""
|
||||
call fdraw_axel
|
||||
fdraw3__: ld a,0
|
||||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||||
out (PORT_Y),a ; ¢®ááâ. ¯®àâ
|
||||
fdraw4__: ld a,0
|
||||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||||
ei
|
||||
ret
|
||||
|
||||
fdraw_axel: ld a,c
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||||
ld a,40 ; ¤«¨ áâப¨
|
||||
ld b,b ; ¢ëª«. ªá¥«ì
|
||||
@ -2406,7 +2406,7 @@ fdraw_axel: ld a,c
|
||||
push bc
|
||||
ld b,40 ; ¤«¨ áâப¨
|
||||
ld a,c
|
||||
fdraw0__: out (89h),a
|
||||
fdraw0__: out (PORT_Y),a
|
||||
fdraw1__: ld (hl),color_panel ; 1Bh âਡãâ
|
||||
inc a
|
||||
djnz fdraw0__
|
||||
@ -53,7 +53,7 @@ get_free_space:
|
||||
; ‚ëç¨á«¨âì ᢮¡. ¬¥áâ® MS-DOS ¤¨áª¥
|
||||
;----------------------------------------------------
|
||||
ld c,3 ; ¨ä ® ¤¨áª¥
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr nc,get_free_ok
|
||||
ld bc,0
|
||||
ld e,c
|
||||
261
CORE/_CORE_.ASM
Normal file
261
CORE/_CORE_.ASM
Normal file
@ -0,0 +1,261 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; •í¤«ë áâà ¨æ ¬¥¥¤¦¥à
|
||||
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 ; á⮯-¡ ©â
|
||||
;
|
||||
DSS_PAGE: db -1 ; á®åà. ¯®àâ 82h
|
||||
port_E2: db -1 ; á®åà. ¯®àâ 0E2h
|
||||
port_89: db -1 ; á®åà. ¯®àâ 89h
|
||||
;
|
||||
lastdrive: db 'B'-'A' ; ¯®á«¥¤¨© ¤¨áª ¢ á¨á⥬¥ (0..25)
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ „Ž‘-à¥áâ àâ
|
||||
;-------------------------------------------------
|
||||
int10: PUSH AF
|
||||
di
|
||||
ld a,(DSS_PAGE) ; ¤®á-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ei
|
||||
POP AF
|
||||
rst ToDSS
|
||||
int__: PUSH AF
|
||||
di
|
||||
ld a,(page_module0)
|
||||
out (SLOT0),a ; ¢®ááâ. áâà. ¤à ©¢¥à®¢ ª« ¢ë, ¬ë誨
|
||||
ei
|
||||
POP AF
|
||||
ret
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ RST 18h
|
||||
;-------------------------------------------------
|
||||
int18: PUSH AF
|
||||
di
|
||||
ld a,(DSS_PAGE) ; ¤®á-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ei
|
||||
POP AF
|
||||
rst ToDSS.DRV
|
||||
jr int__
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ RST 10h ¨§ ᯥª-áâà ¨æë
|
||||
;-------------------------------------------------
|
||||
alt10: PUSH AF
|
||||
di
|
||||
ld a,(DSS_PAGE) ; ¤®á-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ei
|
||||
POP AF
|
||||
rst ToDSS
|
||||
alt__: PUSH AF
|
||||
di
|
||||
ld a,(page_spec)
|
||||
out (SLOT0),a ; ¢®ááâ. áâà.
|
||||
ei
|
||||
POP AF
|
||||
ret
|
||||
|
||||
;-------------------------------------------------
|
||||
; ‚ë§®¢ RST 18h ¨§ ᯥª-áâà ¨æë
|
||||
;-------------------------------------------------
|
||||
alt18: PUSH AF
|
||||
di
|
||||
ld a,(DSS_PAGE) ; ¤®á-áâà ¨æ
|
||||
out (SLOT0),a
|
||||
ei
|
||||
POP AF
|
||||
rst ToDSS.DRV
|
||||
jr alt__
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
INCLUDE 'fview_core.asm' ; ¯à®æ¥¤ãàë ¢ë室 ¨§ £«ï¤¥«ª¨
|
||||
;-----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
; à ¡®ç¨© ¡ãä¥à ”Œ
|
||||
work_buffer: ds 512
|
||||
|
||||
|
||||
ds 80
|
||||
stack: ; á⥪ ”Œ
|
||||
|
||||
|
||||
|
||||
begin: ; ã§ âì boot-¤¨áª á¨á⥬ë
|
||||
ld bc,0009h
|
||||
rst ToDSS
|
||||
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 ToDSS
|
||||
ld (save_disk),a
|
||||
; á®åà. ⥪ã騩 ¯ãâì
|
||||
ld hl,save_path
|
||||
ld c,1Eh
|
||||
rst ToDSS
|
||||
|
||||
|
||||
include 'shell.asm' ; ä ©«¥à
|
||||
include 'fillstr.asm' ; § ¯®«¥¨¥ áâப¨ ä ©«¥à
|
||||
include 'event.asm' ; ç⥨¥ ᮡë⨩
|
||||
include 'mouse.asm' ; ¬ëèª
|
||||
include 'keybar.asm' ; key-¡ à
|
||||
include 'clock.asm' ; ç áë ¯ ¥«¥©
|
||||
include 'setup.asm' ; ç⥨¥/§ ¯¨áì ini-ä ©« , mnu-ä ©«
|
||||
include 'space.asm' ; ᢮¡. ®¡ê¥¬ ¤¨áª
|
||||
include 'hilight.asm' ; ¯®¤á¢¥âª ä ©«®¢
|
||||
include 'readdsk.asm' ; ç⥨¥ ®¢®© ¯ ¯ª¨
|
||||
include 'enter.asm' ; ®¡à ¡®âª ¦ â¨ï <Enter>
|
||||
include 'launch.asm' ; § ¯ãáª ä ©«®¢
|
||||
include 'pos.asm' ; ¯®§¨æ. 㪠§ â¥«ï ¯®á«¥ ᬥë ᯨáª
|
||||
include 'utils.asm' ; ¢á¯®¬. ¯à®æ¥¤ãàë
|
||||
include 'copy.asm' ; ª®¯¨à®¢ ¨¥ ä ©«®¢
|
||||
include 'info.asm' ; info-०¨¬ ¯ ¥«¨
|
||||
include 'qview.asm' ; qview-०¨¬ ¯ ¥«¨
|
||||
include 'mkdir.asm' ; á®§¤ ¨¥ ¯ ¯ª¨ (F7)
|
||||
include 'delete.asm' ; 㤠«¥¨¥ ä ©« /¯ ¯ª¨ (F8)
|
||||
include '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,(DSS_PAGE)
|
||||
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 (PORT_Y),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 ToDSS
|
||||
; ®ç¨áâ¨âì ¡ãä¥à á¨áâ. ª« ¢ë
|
||||
ld bc,3135h
|
||||
rst ToDSS
|
||||
return_code: ld b,0 ; ª®¤ ¢®§¢à â
|
||||
ld c,41h
|
||||
rst ToDSS
|
||||
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
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
391
FM.ASM
391
FM.ASM
@ -1,245 +1,252 @@
|
||||
; ‡ £àã§ç¨ª ”Œ
|
||||
|
||||
|
||||
|
||||
include 'shared_includes/constants/Sp2000.inc'
|
||||
include 'shared_includes/constants/bios_equ.inc'
|
||||
include 'shared_includes/constants/dss_equ.inc'
|
||||
include 'version.inc' ; ¢¥àá¨ï ¬¥¥¤¦¥à
|
||||
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
|
||||
ORG 0
|
||||
EXE_HEADER:
|
||||
.START: DB "EXE" ; exe ID
|
||||
DB 0 ; exe ¢¥àá¨ï
|
||||
DWORD EXE_HEADER.SIZE ; ᬥé. ª®¤
|
||||
DW end_loader-entry ; end-beg, ¯¥à¢¨çë© § £àã§ç¨ª
|
||||
DW 0,0,0 ; १¥à¢
|
||||
DW entry ; ¤à¥á § £à㧪¨ ª®¤
|
||||
DW start ; ¤à¥á ¯¥à¥¤ ç¨ ã¯à ¢«¥¨ï
|
||||
DW start ; ¤à¥á á⥪
|
||||
;
|
||||
BLOCK 10,' ' ; ‚ëà ¢¨¢ ¨¥ ¤«ï ªà ᨢ®£® ®â®¡à ¦¥¨ï ¢ HEX
|
||||
BYTE 'The File Manager'
|
||||
BYTE ' v ',str_version,' '
|
||||
BYTE 'by Vasil Ivanov '
|
||||
BYTE '(c) 2005-2007. '
|
||||
BYTE ' Modified by '
|
||||
BYTE ' Anatoliy '
|
||||
BYTE ' Belyanskiy, '
|
||||
BYTE ' Sprinter Team '
|
||||
BYTE ' 2025. '
|
||||
.END: ;
|
||||
.SIZE EQU .END - .START
|
||||
|
||||
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."
|
||||
;
|
||||
ORG #4100
|
||||
entry: include "fview/viewer.asm"
|
||||
|
||||
tmp_sp_buffer: BLOCK 64 ; ¤«ï á⥪
|
||||
|
||||
start:
|
||||
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
ld bc,3135h
|
||||
rst ToDSS
|
||||
di
|
||||
; ‡ £àã§ç¨ª ”Œ
|
||||
start: ; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
LD BC,Dss.ScanKey*256+Dss.K_CLEAR
|
||||
RST ToDSS
|
||||
DI
|
||||
; á®åà. § 票¥ ¯®à⮢
|
||||
in a,(SLOT0)
|
||||
ld (port_82__),a
|
||||
in a,(SLOT3)
|
||||
ld (port_E2__),a
|
||||
in a,(89h)
|
||||
ld (port_89__),a
|
||||
IN A,(SLOT0)
|
||||
LD (DSS_PAGE__),A
|
||||
IN A,(SLOT3)
|
||||
LD (port_E2__),A
|
||||
IN A,(PORT_Y)
|
||||
LD (port_89__),A
|
||||
; á®åà. ¤¥áªà¨¯â®à ¬¥¥¤¦¥à
|
||||
ld a,(ix-3)
|
||||
ld (hFile),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 A,#C0
|
||||
OUT (PORT_Y),A
|
||||
; ¢ë¤¥«¨âì 9 áâà. ¯ ¬ïâ¨
|
||||
LD BC,9*256+Dss.GetMem
|
||||
RST ToDSS
|
||||
JR NC,ok_malloc ; Ok
|
||||
LD A,(hFile) ; ⥪. ¤¥áªà¨¯â®à
|
||||
LD C,Dss.Close ; § ªàëâì exe-ä ©«
|
||||
RST ToDSS
|
||||
LD HL,no_space ; ¥â ¯ ¬ïâ¨
|
||||
LD BC,DSS_Error.sys.NOT_ENOUGH_MEMORY*256 + Dss.Exit
|
||||
abort: EI
|
||||
PUSH BC
|
||||
LD C,Dss.PChars
|
||||
RST ToDSS
|
||||
POP BC
|
||||
.loop: RST ToDSS ; ¢ë室 ¢ „Ž‘
|
||||
DI
|
||||
HALT
|
||||
;
|
||||
ok_malloc: LD (id_block__),A ; åí¤« ¢ë¤¥«. ¡«®ª ¯ ¬ïâ¨
|
||||
; ¯®«ãç¨âì ᯨ᮪ áâà ¨æ
|
||||
ld hl,page_sys_screen__
|
||||
ld c,0C5h
|
||||
rst 08h
|
||||
LD HL,page_sys_screen__
|
||||
LD C,BIOS.GetMemBlkPages
|
||||
RST ToBIOS
|
||||
; ã§ âì ¢¥àá¨î „Ž‘
|
||||
ld c,0
|
||||
rst ToDSS
|
||||
ld hl,013Ch ; 1.60
|
||||
and a
|
||||
sbc hl,de
|
||||
call nc,setup_znak ; =< 1.60 ãáâ. § ª®£¥. 19h/1Ah
|
||||
LD C,Dss.Version
|
||||
RST ToDSS
|
||||
LD HL,1*256 + 71 - 1 ; 1.71
|
||||
AND A
|
||||
SBC HL,DE
|
||||
LD HL,old_dss ; ¥â ¯ ¬ïâ¨
|
||||
LD BC,DSS_Error.sys.COMMON_ERROR*256 + Dss.Exit
|
||||
JR NC,abort ; =< 1.71 - ®è¨¡ª
|
||||
; à ᯠª®¢ âì ¬®¤ã«ì 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
|
||||
LD A,(page_manager__) ; à ¡®â ¥â ¢ #8000
|
||||
OUT (SLOT3),A
|
||||
LD HL,SLOT3.MEM_ADDR
|
||||
LD DE,FM_CORE_BLK.Size ; à §¬¥à ¬®¤ã«ï 1
|
||||
LD A,(hFile)
|
||||
LD C,Dss.Read
|
||||
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)
|
||||
LD A,(page_module0__) ; à ¡®â ¥â ¢ #0000
|
||||
OUT (SLOT3),A
|
||||
LD HL,SLOT3.MEM_ADDR
|
||||
LD DE,FM_MOD_0_BLK.Size ; à §¬¥à ¬®¤ã«ï 2
|
||||
LD A,(hFile)
|
||||
LD C,Dss.Read
|
||||
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
|
||||
LD A,(page_module1__)
|
||||
OUT (SLOT3),A
|
||||
LD HL,SLOT3.MEM_ADDR
|
||||
LD DE,FM_MOD_1_BLK.Size ; à §¬¥à ¬®¤ã«ï 3
|
||||
LD A,(hFile)
|
||||
LD C,Dss.Read
|
||||
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)
|
||||
LD A,(page_spec__)
|
||||
OUT (SLOT3),A
|
||||
LD HL,SLOT3.MEM_ADDR
|
||||
LD DE,FM_SPEC_BLK.Size ; à §¬¥à ¬®¤ã«ï 4
|
||||
LD A,(hFile)
|
||||
LD C,Dss.Read
|
||||
RST ToDSS
|
||||
JP C,read_error
|
||||
LD A,(page_module0__)
|
||||
LD (VECT.rst28.page+SLOT3.MEM_ADDR),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
|
||||
; LD A,(page_viewer__)
|
||||
; OUT (SLOT3),A
|
||||
; LD HL,SLOT3.MEM_ADDR
|
||||
; LD DE,FM_FVIEW_BLK.Size ; à §¬¥à ¢ìî¥à
|
||||
; LD A,(hFile)
|
||||
; LD C,Dss.Read
|
||||
; RST ToDSS
|
||||
; JP C,read_error
|
||||
IN A,(SLOT1)
|
||||
LD (page_viewer__),A
|
||||
;
|
||||
; § ªàëâì exe-ä ©« ¬¥¥¤¦¥à
|
||||
hFile+1: ld a,0 ; á®åà. ¤¥áªà¨¯â®à ¬¥¥¤¦¥à
|
||||
ld c,12h
|
||||
rst ToDSS
|
||||
hFile+1: LD A,0 ; á®åà. ¤¥áªà¨¯â®à ¬¥¥¤¦¥à
|
||||
LD C,Dss.Close
|
||||
RST ToDSS
|
||||
; ¢ª«. ¢ #8000 ®á. ª®¤ ”Œ
|
||||
ld a,(page_manager__)
|
||||
out (SLOT2),a
|
||||
LD A,(page_manager__)
|
||||
OUT (SLOT2),A
|
||||
; ¯¥à¥ª ç âì åí¤«ë áâà ¨æ
|
||||
ld hl,id_block__ ; ®âªã¤
|
||||
ld de,id_block ; ªã¤
|
||||
ld bc,pages_end - id_block__
|
||||
ldir
|
||||
LD HL,id_block__ ; ®âªã¤
|
||||
LD DE,id_block ; ªã¤
|
||||
LD BC,pages_end - id_block__
|
||||
LDIR
|
||||
;
|
||||
ld sp,stack ; á⥪ ”Œ
|
||||
LD SP,stack ; á⥪ ”Œ
|
||||
; ¥ ¬¥ïâì ¯®«®¦. ¬ë誨 ”Œ
|
||||
ld c,3 ; ã§ âì áâ âãá ¬ë誨
|
||||
rst 30h
|
||||
ld (Xcoord),hl ; ª®®à¤¨ â X (0..639)
|
||||
ld (Ycoord),de ; ª®®à¤¨ â Y (0..255)
|
||||
jp 8000h ; ¯¥à¥©â¨ ¯à®£à ¬¬ã
|
||||
LD C,Dss.Mouse.ReadState ; ã§ âì áâ âãá ¬ë誨
|
||||
RST ToDSS.Mouse
|
||||
LD (Xcoord),HL ; ª®®à¤¨ â X (0..639)
|
||||
LD (Ycoord),DE ; ª®®à¤¨ â Y (0..255)
|
||||
JP begin ; ¯¥à¥©â¨ ¯à®£à ¬¬ã
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; •í¤«ë áâà ¨æ ¬¥¥¤¦¥à
|
||||
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
|
||||
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 ; á⮯-¡ ©â
|
||||
;
|
||||
DSS_PAGE__: 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
|
||||
read_error: LD (.number),A
|
||||
LD A,(id_block__)
|
||||
LD C,Dss.FreeMem ; ®á¢®¡. ¢ë¤¥«. ¡«®ª ¯ ¬ïâ¨
|
||||
RST ToDSS
|
||||
LD A,(hFile)
|
||||
LD C,Dss.Close ; § ªàëâì ä ©«
|
||||
RST ToDSS
|
||||
LD HL,load_err
|
||||
.number+1: LD B,0
|
||||
LD C,Dss.Exit
|
||||
JP abort
|
||||
|
||||
no_space: db "Not enough memory to run program !",0Dh,0Ah,0
|
||||
load_err: db "Disk loading error !",0Dh,0Ah,0
|
||||
no_space: DZ "Not enough memory to run FM!\r\n"
|
||||
load_err: DZ "Disk loading error!\r\n"
|
||||
old_dss: DZ "FM requires DSS version 1.71 or higher!\r\n"
|
||||
|
||||
|
||||
; <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
|
||||
; ; <20>®¤£®â®¢¨âì § ª®£¥. ¤«ï á®äâ. ªãàá®à
|
||||
; setup_znak: LD A,(page_manager__) ; ¢à¥¬. ¡ãä¥à
|
||||
; OUT (SLOT2),A
|
||||
; ; ¯®«ãç¨âì á¨áâ. § ª®£¥.
|
||||
; LD DE,SLOT2.MEM_ADDR ; ¡ãä¥à ¤«ï 2048 ¡ ©â ¤ ëå
|
||||
; PUSH DE
|
||||
; LD C,BIOS.WIN_GET_ZG ; ¯®«ãç¨âì § ª®£¥.
|
||||
; RST ToBIOS
|
||||
; ; § ¯®«¨âì ª®¤®¬ 0FFh 2 ¨¦¨¥ «¨¨¨
|
||||
; LD HL,SLOT2.MEM_ADDR+(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,SLOT2.MEM_ADDR ; § ª®£¥.
|
||||
; LD C,BIOS.WIN_SET_ZG ; ãáâ. § ª®£¥.
|
||||
; RST ToBIOS
|
||||
; RET
|
||||
;-------------------------------------------------
|
||||
|
||||
|
||||
|
||||
; ¤¥¯ ª¥à
|
||||
;...
|
||||
|
||||
|
||||
; Š®¥æ § £àã§ç¨ª
|
||||
end_loader:
|
||||
@ -250,4 +257,4 @@ end_loader:
|
||||
; Š®¤ ¬¥¥¤¦¥à
|
||||
;-------------------------------------------------
|
||||
; incbin 'Build/fm.bin'
|
||||
include 'main.asm'
|
||||
INCLUDE 'main.asm'
|
||||
|
||||
@ -19,7 +19,7 @@ change_code_page:
|
||||
add a,c
|
||||
ld c,a
|
||||
ld b,0
|
||||
ld a,(viewer_mode) ; 0/1 ०¨¬ ¢ìî¥à (®à¬./¯ ¥«ìë©)
|
||||
ld a,(viewer_mode) ; 0/1 ०¨¬ ¢ìî¥à (®à¬./¯ ¥«ìë©)
|
||||
or a
|
||||
jr nz,ch_code_pg1
|
||||
ld hl,TAE00 ; "WinKoiDos"
|
||||
|
||||
@ -47,7 +47,7 @@ viewer: call setup_fview ;
|
||||
ld hl,win_fview_load_file ; ®¯¨á â¥«ì ®ª
|
||||
call WinSimple ; ¢ë¢¥á⨠®ª®
|
||||
; § £à. ä ©«
|
||||
ld hl,temp_fname ; ¨¬ï ä ©«
|
||||
ld hl,temp_fname ; ¨¬ï ä ©«
|
||||
call A837F ; ¢áï à ¡®â ¯® § £à㧪¥ ä ©« ¢ áâà ¨æë
|
||||
push af
|
||||
; § ªàëâì ®ª®
|
||||
@ -128,14 +128,14 @@ hsize__:dw 0 ;
|
||||
;===========================================================
|
||||
A837F: ld a,1 ; ç⥨¥
|
||||
ld c,11h ; ®âªàëâì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret c
|
||||
ld (file_handle),a ; ¤¥áªà. ä ©«
|
||||
ld hl,0
|
||||
ld ix,0
|
||||
ld a,(file_handle) ; ¤¥áªà. ä ©«
|
||||
ld bc,0215h ; 㪠§ â¥«ì ª®¥æ ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld (hsize__),hl ; áâ.à §àï¤ à §¬¥à ä ©«
|
||||
ld (lsize__),ix ; ¬«.à §àï¤
|
||||
call get_mem_file ; à áç. ¨ ¢ë¤¥«. áâà ¨æë ¯®¤ ä ©«
|
||||
@ -144,7 +144,7 @@ A837F: ld a,1 ;
|
||||
close_file:
|
||||
ld a,(file_handle) ; ¤¥áªà. ä ©«
|
||||
ld c,12h ; § ªàëâì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ret
|
||||
;
|
||||
A83B3: call close_file
|
||||
@ -197,7 +197,7 @@ A83ED: ld hl,0
|
||||
ld ix,0
|
||||
ld a,(file_handle) ; ¤¥áªà. ä ©«
|
||||
ld bc,0015h ; 㪠§ ⥫ì ç «® ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld a,(id_pages) ; ¨¤¥â¨ä. ¡«®ª ¯ ¬ïâ¨
|
||||
ld b,0 ; «®£. ®¬¥à áâà ¨æë ¢ ¡«®ª¥
|
||||
ld c,0C4h ; ¯®«ãç¨âì 䨧. ®¬¥à áâà ¨æë ¢ ¡«®ª¥
|
||||
@ -209,7 +209,7 @@ A8404: push af
|
||||
ld de,4000h ; ᪮«ìª®
|
||||
ld a,(file_handle) ; ¤¥áªà.
|
||||
ld c,13h ; ç¨â âì ä ©«
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
pop bc
|
||||
ret c ; ®è¨¡ª ç⥨ï
|
||||
inc a ; a=#FF (¯à®ç¨â ® ¬¥ì襥 ç¨á«® ¡ ©â)
|
||||
@ -337,7 +337,7 @@ main_viewer:
|
||||
; ®ç¨áâ¨âì ®á. ®ª®
|
||||
ld de,0 ; Y/X ¯®«®¦. ®ª
|
||||
ld hl,2050h ; Y/X à §¬¥àë
|
||||
ld a,(color_array+39) ; 1Bh âਡãâ
|
||||
ld a,(color_array + 39) ; 1Bh âਡãâ
|
||||
ld b,a
|
||||
ld c,89h ; ®ç¨á⪠®ª
|
||||
rst 08h
|
||||
@ -353,7 +353,7 @@ main_viewer:
|
||||
rst 08h
|
||||
; ®ªà á¨âì ¢¥àå. áâ â. áâபã
|
||||
ld hl,TA215 ; ¡ãä¥à áâப¨
|
||||
ld a,(color_array+41) ; 30h âਡãâ
|
||||
ld a,(color_array + 41) ; 30h âਡãâ
|
||||
ld e,a
|
||||
loc04: ld b,len_string ; 80 ¤«¨ áâப¨
|
||||
ld c,85h ; ¢ë¢¥á⨠áâபã á âਡã⮬
|
||||
@ -1389,7 +1389,7 @@ AB593: ld a,(iy+5)
|
||||
jp z,AB5A0
|
||||
ld a,(color_array+42) ; 1Eh âਡãâ
|
||||
ld e,a
|
||||
ld a,"" ; "<"
|
||||
ld a,#1B ; ?
|
||||
AB5A0: inc hl
|
||||
push hl
|
||||
ld bc,0181h ; ¢ë¢¥á⨠1 ᨬ¢®« á âਡã⮬
|
||||
@ -1412,7 +1412,7 @@ loc30: cp len_string+1 ; 80+1
|
||||
jp c,AB5C2
|
||||
ld a,(color_array+42) ; 1Eh âਡãâ
|
||||
ld e,a
|
||||
ld c,1Ah ; "->"
|
||||
ld c,#1A ; ?
|
||||
AB5C2: ld a,c
|
||||
ld bc,0181h ; ¢ë¢¥á⨠1 ᨬ¢®« á âਡã⮬
|
||||
rst 08h
|
||||
|
||||
21
FVIEW/Viewer.asm
Normal file
21
FVIEW/Viewer.asm
Normal file
@ -0,0 +1,21 @@
|
||||
;===========================================================
|
||||
; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 4. ‚ìî¥à
|
||||
;===========================================================
|
||||
; ¯®¤ª«. ¢à¥¬ï ¢ë§®¢ ¢ìî¥à
|
||||
;
|
||||
DISP #4100
|
||||
|
||||
FM_FVIEW_BLK.Start EQU $
|
||||
include "fview.asm" ; ¢ìî¥à
|
||||
include "msfview.asm" ; ᮡëâ¨ï ¬ë誨
|
||||
include "setview.asm" ; áâனª ¢ìî¥à
|
||||
include "chfont.asm" ; win-1251, koi8-r ª®¤®¢ë¥ â ¡«¨æë
|
||||
include "fview.z80" ; ®¯¨á â¥«ì ®ª "Reading file..."
|
||||
FM_FVIEW_BLK:
|
||||
.End EQU $
|
||||
.Size EQU .End - .Start
|
||||
|
||||
ENT
|
||||
;
|
||||
DISPLAY "FVIEW ",/H,FM_FVIEW_BLK.Start," ",/H,FM_FVIEW_BLK.End," ",/A,FM_FVIEW_BLK.Size
|
||||
;=======================================================================
|
||||
484
MAIN.ASM
484
MAIN.ASM
@ -8,28 +8,32 @@
|
||||
; <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-¡ãä¥à
|
||||
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
|
||||
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
|
||||
|
||||
;len_modul1 equ FM_CORE_BLK.Size ; à §¬¥à ®á. ª®¤ (#8000)
|
||||
;len_modul2 equ FM_MOD_0_BLK.Size ; à §¬¥à ¬®¤ã«ï (#0000)
|
||||
;len_modul3 equ FM_MOD_1_BLK.Size ; à §¬¥à ¬®¤ã«ï (#4000)
|
||||
;len_modul4 equ FM_SPEC_BLK.Size ; à §¬¥à ᯥª-¬®¤ã«ï (#0000)
|
||||
;len_modul5 equ FM_FVIEW_BLK.Size ; à §¬¥à ¢ìî¥à (#4000)
|
||||
|
||||
|
||||
;---- –¢¥â ¬¥¥¤¦¥à ----
|
||||
@ -97,341 +101,75 @@ color_spec equ 1Ch ; ᯥ
|
||||
|
||||
|
||||
|
||||
ORG 0
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
|
||||
; 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: ; ¬¥âª ¤«ï ¢ëç¨á«. à §¬¥à
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
;=======================================================================
|
||||
; Žá®¢®© Œ®¤ã«ì CORE
|
||||
;=======================================================================
|
||||
; ¢á¥£¤ ¯®¤ª«îç¥
|
||||
;
|
||||
; ’®çª ¢å®¤ ¢ ¬¥¥¤¦¥à
|
||||
DISP #8000
|
||||
FM_CORE_BLK.Start EQU $
|
||||
include "core/_core_.asm"
|
||||
FM_CORE_BLK:
|
||||
.End EQU $
|
||||
.Size EQU .End - .Start
|
||||
|
||||
ENT
|
||||
;
|
||||
;////////////////////////////////////////////////////////////////////////
|
||||
|
||||
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' ; ¯à®æ¥¤ãàë ¢ë室 ¨§ £«ï¤¥«ª¨
|
||||
DISPLAY "CORE ",/H,FM_CORE_BLK.Start," ",/H,FM_CORE_BLK.End," ",/A,FM_CORE_BLK.Size
|
||||
;=======================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; à ¡®ç¨© ¡ãä¥à ”Œ
|
||||
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
|
||||
;=======================================================================
|
||||
; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 0
|
||||
; „à ©¢¥àë ª« ¢ë, ¬ë誨, ®¡à ¡®â稪 ¤¨ «. ®ª®, tv-®¡ê¥ªâë
|
||||
;===========================================================
|
||||
;=======================================================================
|
||||
; ¢á¥£¤ ¯®¤ª«îç¥ (ªà®¬¥ ¢ë§®¢®¢ rst 10h, rst 18h)
|
||||
;
|
||||
DISP 0
|
||||
|
||||
phase 0000h
|
||||
|
||||
FM_MOD_0_BLK.Start EQU $
|
||||
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/objs/dialog.asm' ; ®¡à ¡®â稪 ¤¨ «. ®ª®
|
||||
include 'mod0/objs/button.asm' ; ®¡ê¥ªâ ~Button~
|
||||
include 'mod0/objs/inline.asm' ; ®¡ê¥ªâë ~Input Line~, ~Inp Line~
|
||||
include 'mod0/objs/listbox.asm' ; ®¡ê¥ªâ ~List Box~
|
||||
include 'mod0/objs/radio.asm' ; ®¡ê¥ªâë ~Radio Button~, ~Check Box~
|
||||
include 'mod0/objs/process.asm' ; ®¡ê¥ªâ ~Process Line~
|
||||
include 'mod0/objs/pallete.asm' ; ®¡ê¥ªâ ~Pallete~
|
||||
include 'mod0/objs/dialog1.asm' ; ®¡ê¥ªâë ~Text Line~, ~Horiz. Line~
|
||||
include 'mod0/objs/hmenu.asm' ; Œ¥î: "Horizontal", "Pull", "Select disk"
|
||||
include 'mod0/objs/umenu.asm' ; ¢ë§®¢ User-Menu
|
||||
|
||||
include 'mod0/chdisk.asm' ; ¢ë§®¢ ¬¥î Select Disk
|
||||
include 'mod0/listdrv.asm' ; ¨¨æ. ᯨ᮪ ⨯®¢ ¤¨áª®¢
|
||||
include 'mod0/usermenu.asm' ; ¯®¤£®â®¢ª Œ¥î <20>®«ì§®¢ ⥫ï
|
||||
FM_MOD_0_BLK:
|
||||
.End EQU $
|
||||
.Size EQU .End - .Start
|
||||
|
||||
dephase
|
||||
ENT
|
||||
;
|
||||
DISPLAY "MODULE 0 ",/H,FM_MOD_0_BLK.Start," ",/H,FM_MOD_0_BLK.End," ",/A,FM_MOD_0_BLK.Size
|
||||
;=======================================================================
|
||||
|
||||
mod2:
|
||||
|
||||
;===========================================================
|
||||
; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 2
|
||||
;===========================================================
|
||||
; ¯®áâ®ï® ¢ª«îç¥
|
||||
|
||||
phase 4000h
|
||||
;=======================================================================
|
||||
; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 1
|
||||
;=======================================================================
|
||||
; ¯®áâ®ï® ¢ª«îç¥, ªà®¬¥ ¢ë§®¢ ¢ìî¥à
|
||||
;
|
||||
DISP #4000
|
||||
|
||||
FM_MOD_1_BLK.Start EQU $
|
||||
include 'mod1/buffers.asm' ; à ¡. ¡ãä¥àë ®¡ê¥ªâ®¢
|
||||
include 'mod1/comline.asm' ; ª®¬-áâப
|
||||
include 'mod1/width.asm' ; ®£à . ¤«¨ë ¯ã⨠¯ ¥«¨
|
||||
@ -461,61 +199,59 @@ mod2:
|
||||
include 'mod1/mkdir.z80' ; ®¯¨á â¥«ì ®ª á®§¤ ¨ï ¯ ¯ª¨
|
||||
include 'mod1/delete.z80' ; ®¯¨á â¥«ì ®ª 㤠«¥¨¥ ä ©« /¯ ¯ª¨
|
||||
include 'mod1/rename.z80' ; ®¯¨á â¥«ì ®ª ¯¥à¥¨¬¥. ä ©«
|
||||
dephase
|
||||
FM_MOD_1_BLK:
|
||||
.End EQU $
|
||||
.Size EQU .End - .Start
|
||||
|
||||
mod3:
|
||||
ENT
|
||||
;
|
||||
DISPLAY "MODULE 1 ",/H,FM_MOD_1_BLK.Start," ",/H,FM_MOD_1_BLK.End," ",/A,FM_MOD_1_BLK.Size
|
||||
;=======================================================================
|
||||
|
||||
;===========================================================
|
||||
|
||||
|
||||
|
||||
;=======================================================================
|
||||
; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 3. ‘¯¥ª-ª®¤
|
||||
;===========================================================
|
||||
;=======================================================================
|
||||
; ¯®¤ª«. ¢à¥¬ï ¢ë§®¢ ᯥª-äãªæ¨©
|
||||
;
|
||||
|
||||
phase 0000h
|
||||
DISP 0
|
||||
|
||||
include 'spec/vect.asm' ; ¢¥ªâ®àë
|
||||
include 'spec/funcs.asm' ; ᯥª-äãªæ¨¨
|
||||
FM_SPEC_BLK.Start EQU $
|
||||
include 'spec_fn/vect.asm' ; ¢¥ªâ®àë
|
||||
include 'spec_fn/funcs.asm' ; ᯥª-äãªæ¨¨
|
||||
FM_SPEC_BLK:
|
||||
.End EQU $
|
||||
.Size EQU .End - .Start
|
||||
|
||||
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
|
||||
ENT
|
||||
;
|
||||
DISPLAY "SPEC_FN ",/H,FM_SPEC_BLK.Start," ",/H,FM_SPEC_BLK.End," ",/A,FM_SPEC_BLK.Size
|
||||
;=======================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
; €¤à¥á ᥪ権 ¢à¥¬. ¬ áᨢ 梥⮢ ¢ ¡ãä¥à¥
|
||||
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
|
||||
; ;===========================================================
|
||||
; ; <09>®¤£à㦠¥¬ë© Œ®¤ã«ì 4. ‚ìî¥à
|
||||
; ;===========================================================
|
||||
; ; ¯®¤ª«. ¢à¥¬ï ¢ë§®¢ ¢ìî¥à
|
||||
; ;
|
||||
; DISP #4000
|
||||
|
||||
; FM_FVIEW_BLK.Start EQU $
|
||||
; 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..."
|
||||
; FM_FVIEW_BLK:
|
||||
; .End EQU $
|
||||
; .Size EQU .End - .Start
|
||||
|
||||
|
||||
|
||||
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)
|
||||
; ENT
|
||||
; ;
|
||||
; DISPLAY "FVIEW ",/H,FM_FVIEW_BLK.Start," ",/H,FM_FVIEW_BLK.End," ",/A,FM_FVIEW_BLK.Size
|
||||
; ;=======================================================================
|
||||
@ -1,10 +1,14 @@
|
||||
CursorPos:
|
||||
dw 1E00h ; Y/X ¯®§¨ז¨ן ×דאב®א (ם×א . ×®®א¤.)
|
||||
|
||||
|
||||
;-----------------------------------------------------------
|
||||
; Šãàá®à ®¡ê¥ªâ "Input Line" ¨ äãªæ¨¨ "Command Line"
|
||||
;-----------------------------------------------------------
|
||||
INS_CUR_ZG: EQU #9B ; 19h
|
||||
CURSOR_ZG: EQU #5B ; 1Ah
|
||||
NORM_ZG: EQU #1B
|
||||
;
|
||||
CursorPos:
|
||||
dw 1E00h ; Y/X ¯®§¨æ¨ï ªãàá®à (íªà . ª®®à¤.)
|
||||
;
|
||||
;
|
||||
PrnILCr:db 3Eh ; ld a,..
|
||||
Timer: db 1 ; ¯ ã§ ¬¨£ ¨ï
|
||||
dec a
|
||||
@ -22,15 +26,15 @@ PILCurs:ld de,(CursorPos) ; Y/X
|
||||
xor a
|
||||
ld c,0B4h ; ¯®«ãç¨âì ᨬ¢®«
|
||||
rst 08h
|
||||
ld bc,1BB5h ; b=§ ×®£¥., ב=ב¨¬¢®« ם×א
|
||||
ld bc,NORM_ZG*256 + #B5 ; b=§ ª®£¥., á=ᨬ¢®« íªà
|
||||
ld a,(Flag)
|
||||
or a
|
||||
jr z,curs__
|
||||
ld b,1Ah ; ח¥אג
|
||||
ld b,CURSOR_ZG ; ç¥àâ
|
||||
ld a,(D0642) ; ä« £¨ ª« ¢ë
|
||||
bit 1,a ; ¡¨â Ins
|
||||
jr nz,$+4
|
||||
ld b,19h ; <20>«®×
|
||||
ld b,INS_CUR_ZG ; ¡«®ª
|
||||
curs__: xor a ; ®¬¥à ®ª
|
||||
rst 08h
|
||||
ld a,1
|
||||
@ -57,6 +61,6 @@ CursPos1:
|
||||
xor a
|
||||
rst 08h
|
||||
xor a
|
||||
ld bc,1BB5h ; ב¨¬¢®« ם×א
|
||||
ld bc,NORM_ZG*256 + #B5 ; ᨬ¢®« íªà
|
||||
rst 08h
|
||||
ret
|
||||
|
||||
@ -5,15 +5,15 @@
|
||||
init_list_types_drives:
|
||||
ld a,(disk) ; ¤¨áª ªâ. ¯ ¥«¨
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
jr nc,init_list_types_drv1
|
||||
; ¨á¯. ®¬¥à boot-¤¨áª
|
||||
ld bc,0009h
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld (disk),a
|
||||
; ã§ âì ®¬¥à ¯®á«. ¤¨áª ¢ á¨á⥬¥
|
||||
ld c,1 ; ãáâ. ¤¨áª
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
init_list_types_drv1:
|
||||
ld (lastdrive),a ; ¯®á«¥¤. ¤¨áª ¢ á¨á⥬¥ (0..25)
|
||||
cp 1+1
|
||||
@ -29,19 +29,19 @@ make_dlist_loop:
|
||||
push bc
|
||||
ld a,c ; ®¬¥à ¤¨áª
|
||||
ld c,1 ; open device
|
||||
rst 18h
|
||||
rst ToDSS.DRV
|
||||
pop bc
|
||||
jr c,make_dlist_err
|
||||
push bc
|
||||
ld a,c
|
||||
ld de,work_buffer ; ¡ãä¥à
|
||||
ld c,4 ; get BPB
|
||||
rst 18h
|
||||
rst ToDSS.DRV
|
||||
pop bc
|
||||
jr c,make_dlist_err
|
||||
ld a,c ; ®¬¥à ¤¨áª
|
||||
ld c,2 ; close device
|
||||
rst 18h
|
||||
rst ToDSS.DRV
|
||||
pop hl
|
||||
pop bc
|
||||
ld a,(work_buffer+21) ; ¡ ©â ä®à¬ â ®á¨â¥«ï
|
||||
|
||||
@ -161,7 +161,7 @@ RefrMs1:call RestorM
|
||||
|
||||
; Restore Screen from Mouse
|
||||
RestorM:ld de,(TempXY)
|
||||
in a,(89h)
|
||||
in a,(PORT_Y)
|
||||
ld c,a
|
||||
in a,(0E2h)
|
||||
ld b,a
|
||||
@ -178,7 +178,7 @@ RestorM:ld de,(TempXY)
|
||||
and 80h
|
||||
or 1
|
||||
add a,e
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
inc l
|
||||
inc l
|
||||
ld a,(hl)
|
||||
@ -187,7 +187,7 @@ RestorM:ld de,(TempXY)
|
||||
ld a,b
|
||||
out (0E2h),a
|
||||
ld a,c
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
ret
|
||||
|
||||
; Put Text Mouse Cursor On Screen
|
||||
@ -204,7 +204,7 @@ MousWrt:ld de,(Xcoord)
|
||||
and 1Fh
|
||||
ld d,a
|
||||
ld (TempXY),de
|
||||
in a,(89h)
|
||||
in a,(PORT_Y)
|
||||
ld c,a
|
||||
in a,(0E2h)
|
||||
ld b,a
|
||||
@ -221,7 +221,7 @@ MousWrt:ld de,(Xcoord)
|
||||
and 80h
|
||||
or 1
|
||||
add a,e
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
inc l
|
||||
inc l
|
||||
ld a,(hl)
|
||||
@ -231,7 +231,7 @@ MousWrt:ld de,(Xcoord)
|
||||
ld a,b
|
||||
out (0E2h),a
|
||||
ld a,c
|
||||
out (89h),a
|
||||
out (PORT_Y),a
|
||||
ret
|
||||
|
||||
; <20>®«ãç¨âì ®¢ãî ¨ä®à¬ æ¨î ® ¬ë誥
|
||||
|
||||
@ -7,13 +7,13 @@
|
||||
db -1
|
||||
; RST 08h. ‚ë§®¢ <20>¨®á
|
||||
push af
|
||||
ld a,0 ; ¢ª«. <20>‡“ <20>¨®á ¢ 0-¥ ®ª®
|
||||
out (7Ch),a
|
||||
ld a,SYS_PORT.BIOS
|
||||
out (SYS_PORT.ON),a
|
||||
pop af
|
||||
ret
|
||||
db -1
|
||||
; RST 10h. ‚ë§®¢ „Ž‘-
|
||||
jp int10 ; fm.asm
|
||||
jp int10 ; Main.asm
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
@ -36,7 +36,7 @@
|
||||
; RST 28h. ‚ë§®¢ ᯥª-ª®¤
|
||||
push af
|
||||
ld a,0 ; á®åà. page_spec
|
||||
out (82h),a
|
||||
out (SLOT0),a
|
||||
pop af
|
||||
ret
|
||||
db -1
|
||||
|
||||
@ -445,7 +445,7 @@ EvComComb:
|
||||
jp z,alt_clear_history
|
||||
; Enter
|
||||
ld a,(format_mode) ; ⥪. ä®à¬ â ¯ ¥«¨
|
||||
and form_info+form_qview ; info, qview
|
||||
and form_info + form_qview ; info, qview
|
||||
jr nz,com_comb_ext
|
||||
ld a,d
|
||||
cp 28h+80h ; Ctrl+Enter, ¨¬ï/¯ãâì ¢ ª®¬-áâபã
|
||||
|
||||
@ -25,7 +25,7 @@ max_depth equ 20+1 ;
|
||||
ScanTree:
|
||||
ld (tree_stack),sp
|
||||
ld bc,3135h ; ®ç¨áâ¨âì ¡ãä¥à á¨áâ. ª« ¢ë
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld sp,work_buffer+512 ; á⥪ ¯à®æ¥¤ãàë
|
||||
in a,(SLOT3)
|
||||
ld (tree_page),a ; á®åà. ¯®àâ
|
||||
@ -60,7 +60,7 @@ ScanTree:
|
||||
tree_loop:
|
||||
push hl ; ¤à¥á áâ ண® í«¥¬¥â (¯®á«¥ LoadDIR)
|
||||
ld c,31h ; ®¯à®á á¨áâ. ª« ¢ë
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
call nz,abort_tree_scan ; ¢ë¢¥á⨠®ª® "¯à¥àë¢. ®¯¥à 樨"
|
||||
pop hl
|
||||
ld a,(depth_tree) ; ®¬¥à ⥪. ãà®¢ï ¢«®¦¥¨©
|
||||
@ -82,13 +82,13 @@ tree_depth_ok:
|
||||
jr z,dirs_end ; ¥â ¢«®¦¥¨©, ¢¥àãâìáï ¢ ç. ã஢¥ì
|
||||
ld (cur_tree_adr+1),hl ; ¨¬ï ¯ ¯ª¨ ⥪. ã஢ï
|
||||
ld c,1Dh ; ãáâ. ¯ãâì ¯ ¯ªã ⥪. ã஢ï
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
call scan_cur_level ; ᪠¨à. ®¤®£® ã஢ï + á⮯ª í«¥¬.
|
||||
jr c,tree_loop ; ¥áâì ¯ ¯ª¨
|
||||
; ¢¥àãâìáï ¯à¥¤. ã஢¥ì
|
||||
dirs_end:
|
||||
ld c,31h ; ®¯à®á á¨áâ. ª« ¢ë
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
call nz,abort_tree_scan ; ¢ë¢¥á⨠®ª® "¯à¥àë¢. ®¯¥à 樨"
|
||||
pop hl ; ⥪. í«¥¬¥â ¨§ á⥪
|
||||
ld a,h
|
||||
@ -109,7 +109,7 @@ dirs_end1:
|
||||
dirs_end2:
|
||||
ld hl,parent_level ; ".."
|
||||
ld c,1Dh ; ãáâ. ¯ãâì
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
dirs_end3:
|
||||
ld hl,depth_tree ; ®¬¥à ⥪. ãà®¢ï ¢«®¦¥¨©
|
||||
dec (hl)
|
||||
@ -162,7 +162,7 @@ scan_cur_level:
|
||||
push de
|
||||
ld a,37h ; ¢á¥, ªà®¬¥ ¬¥âª¨ ⮬
|
||||
ld bc,0119h ; f_first 8.3
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
pop hl
|
||||
pop ix
|
||||
jr c,scan_level_exit ; ¥ ©¤¥®
|
||||
@ -173,7 +173,7 @@ scan_level_loop:
|
||||
ld de,work_buffer ; à ¡. ¡ãä¥à
|
||||
push de
|
||||
ld c,1Ah ; f_next
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
pop hl
|
||||
pop ix
|
||||
jr nc,scan_level_loop ; § ¤ ¢ 横«
|
||||
@ -292,7 +292,7 @@ ins_tree_item:
|
||||
;-------------------------------------------------
|
||||
abort_tree_scan:
|
||||
ld bc,3135h ; ®ç¨áâ¨âì ¡ãä¥à á¨áâ. ª« ¢ë
|
||||
rst 10h
|
||||
rst ToDSS
|
||||
ld hl,dial_abort ; ®¯¨á â¥«ì ®ª
|
||||
call DialogEr
|
||||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
MODULE VECT
|
||||
; rst 00h
|
||||
jp $+3
|
||||
db -1
|
||||
@ -7,20 +8,20 @@
|
||||
db -1
|
||||
; RST 08h. BIOS calls
|
||||
push af
|
||||
ld a,0 ; ¢ª«. <20>‡“ <20>¨®á ¢ 0-¥ ®ª®
|
||||
out (7Ch),a
|
||||
ld a,SYS_PORT.BIOS
|
||||
out (SYS_PORT.ON),a
|
||||
pop af
|
||||
ret
|
||||
db 0C9h
|
||||
; RST 10h. DOS calls
|
||||
jp alt10 ; fm.asm
|
||||
jp alt10 ; Main.asm
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
; RST 18h
|
||||
jp alt18 ; fm.asm
|
||||
jp alt18 ; Main.asm
|
||||
db -1
|
||||
db -1
|
||||
db -1
|
||||
@ -35,8 +36,9 @@
|
||||
db -1
|
||||
; rst 28h
|
||||
rst28: push af
|
||||
.page+1:
|
||||
ld a,0 ; á®åà. page_module0
|
||||
out (82h),a
|
||||
out (SLOT0),a
|
||||
pop af
|
||||
jr spec_interrupt
|
||||
; rst 30h
|
||||
@ -99,13 +101,15 @@ rst28: push af
|
||||
; ˆá¯®«ì§®¢ âì ᢮© á⥪.
|
||||
;-------------------------------------------------
|
||||
spec_interrupt:
|
||||
ld (spc_stk+1),sp
|
||||
ld (.spc_stk),sp
|
||||
ld sp,spec_stack
|
||||
call spec_funcs ; ®âà ¡®âª äãªæ¨¨
|
||||
spc_stk:ld sp,0
|
||||
.spc_stk+1:
|
||||
ld sp,0
|
||||
jp rst28 ; ¢ª«. 0-î áâà. ä¬
|
||||
|
||||
|
||||
|
||||
ds 64
|
||||
spec_stack: ; á⥪ ¡ ª¨
|
||||
ENDMODULE
|
||||
@ -1,3 +1,5 @@
|
||||
; ‚¥àá¨ï ¬¥¥¤¦¥à
|
||||
major_version equ 0 ; áâ. æ¨äà
|
||||
minor_version equ 8 ; ¬«. æ¨äà
|
||||
minor_version equ 9 ; ¬«. æ¨äà
|
||||
|
||||
DEFINE str_version '0.09'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user