File-Manager/FVIEW/MSFVIEW.ASM
2025-04-04 00:37:36 +10:00

217 lines
4.5 KiB
NASM
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;-----------------------------------------------------------
; Ž¡à ¡®âª  ¬ë誨 ¢ ASCII ®ª­¥
;
; ¢å®¤: hl=Y/X ⥪áâ. ª®®à¤¨­ âë ¬ë誨
; d=¡¨âë ­ ¦ â¨ï ¡ãâ®­®¢
;-----------------------------------------------------------
fview_mouse_ascii:
ld a,(viewer_mode) ; ०¨¬ à ¡®âë ¢ìî¥à 
or a
jp nz,get_fire ; ¯ ­¥«ì­ë© ०¨¬
ld bc,AB33F ; â®çª  ¢ë室 
push bc
ld a,h
or a ; 0-ï áâப 
jp z,get_fire ; ¢¥àå­ïï áâ âãá. «¨­¨ï
cp 31 ; key-¡ à
jr c,fv_ms_ascii ; ᮡëâ¨ï ¢ ®ª­¥
; ᮡëâ¨ï key-¡ à 
bit 0,d ; ¯à ¢ë© ¡ãâ®­ ?
jp nz,get_fire ; ¤ 
push hl
call get_fire ; § é¨â  ®â "§ «¨¯ ­¨ï"
pop hl
ld a,l ; X ª®®à¤¨­ â 
cp 8
ret c; ; F1 ¯ã­ªâ
cp 16
jp c,AB5C8 ; F2 ¯ã­ªâ Wrap/UnWrap
cp 24
ret c; ; F3 ¯ã­ªâ
pop bc ; ¢®ááâ. ¡ « ­á á⥪  (¤«ï ¯ã­ªâ  F4)
cp 32
jp c,ABB1C ; F4 ¯ã­ªâ HEX-०¨¬
push bc ; â®çªã ¢ë室  ¢ á⥪
cp 40
ret c; ; F5 ¯ã­ªâ
cp 48
ret c; ; F6 ¯ã­ªâ
cp 56
ret c; ; F7 ¯ã­ªâ
cp 64
jp c,change_code_page ; F8 ¯ã­ªâ ‘¬¥­  ª®¤. áâà ­¨æë
cp 72
ret c; ; F9 ¯ã­ªâ
; F10 ¯ã­ªâ
pop bc ; ¢®ááâ. ¡ « ­á á⥪ 
ret ; F10 ¯ã­ªâ
; ‘®¡ëâ¨ï ®ª­ 
; ¢å®¤: hl=Y/X ª®®à¤. ¬ë誨 (Y=1..30, X=0..79)
; d=¡¨âë ­ ¦ â¨ï ¡ãâ®­®¢
fv_ms_ascii:
bit 0,d ; ¯à ¢ë© ¡ãâ®­ ?
jr nz,fv_ms_ascii_right ; ¤ 
ld a,h ; X ª®®à¤¨­ â 
cp 16 ; ­ ç «® ­¨¦­¥© ¯®«®¢¨­ë ®ª­ 
jp c,fv_ms_ascii1
; ­  áâப㠢­¨§
call AB987
halt
call get_mouse_info
and 3
jr nz,$-9 ; ¡ãâ®­ë ­ ¦ âë
ld a,evNothing
ld (what),a ; ᯨ᮪ ᮡë⨩
ret
; ­  áâப㠢¢¥àå
fv_ms_ascii1:
call AB81D
halt
call get_mouse_info
and 3
jr nz,$-9 ; ¡ãâ®­ë ­ ¦ âë
ld a,evNothing
ld (what),a ; ᯨ᮪ ᮡë⨩
ret
; <20>à ¢ë© ¡ãâ®­
fv_ms_ascii_right:
ld a,l ; Y ª®®à¤¨­ â 
cp 40 ; ­ ç «® ¯à ¢®© ¯®«®¢¨­ë ®ª­ 
jr c,fv_ms_ascii_right1
; ªãàá®à ¢¯à ¢®
call AB610
halt
call get_mouse_info
and 3
jr nz,$-9 ; ¡ãâ®­ë ­ ¦ âë
ld a,evNothing
ld (what),a ; ᯨ᮪ ᮡë⨩
ret
; ªãàá®à ¢«¥¢®
fv_ms_ascii_right1:
call AB5FE
halt
call get_mouse_info
and 3
jr nz,$-9 ; ¡ãâ®­ë ­ ¦ âë
ld a,evNothing
ld (what),a ; ᯨ᮪ ᮡë⨩
ret
;-----------------------------------------------------------
; Ž¡à ¡®âª  ¬ë誨 ¢ HEX ®ª­¥
;
; ¢å®¤: hl=Y/X ⥪áâ. ª®®à¤¨­ âë ¬ë誨.
; d=¡¨âë ­ ¦ â¨ï ¡ãâ®­®¢
;-----------------------------------------------------------
fview_mouse_hex:
ld a,(viewer_mode) ; ०¨¬ à ¡®âë ¢ìî¥à 
or a
jp nz,get_fire ; ¯ ­¥«ì­ë© ०¨¬
ld bc,ABB4A ; â®çª  ¢ë室 
push bc
ld a,h
or a ; 0-ï áâப 
jp z,get_fire ; ¢¥àå­ïï áâ âãá. «¨­¨ï
cp 31 ; key-¡ à
jr c,fv_ms_hex ; ᮡëâ¨ï ¢ ®ª­¥
; ᮡëâ¨ï key-¡ à 
bit 0,d ; ¯à ¢ë© ¡ãâ®­ ?
jp nz,get_fire ; ¤ 
push hl
call get_fire ; § é¨â  ®â "§ «¨¯ ­¨ï"
pop hl
ld a,l ; X ª®®à¤¨­ â 
cp 8
ret c; ; F1 ¯ã­ªâ
cp 16
ret c; ; F2 ¯ã­ªâ
cp 24
ret c; ; F3 ¯ã­ªâ
pop bc ; ¢®ááâ. ¡ « ­á á⥪  (¤«ï ¯ã­ªâ  F4)
cp 32
jp c,AB317 ; F4 ¯ã­ªâ ASCII-०¨¬
push bc ; â®çªã ¢ë室  ¢ á⥪
cp 40
jp c,ABDF3 ; F5 ¯ã­ªâ Goto...
cp 48
ret c; ; F6 ¯ã­ªâ
cp 56
ret c; ; F7 ¯ã­ªâ
cp 64
jp c,change_code_page1 ; F8 ¯ã­ªâ ‘¬¥­  ª®¤. áâà ­¨æë
cp 72
ret c; ; F9 ¯ã­ªâ
; F10 ¯ã­ªâ
pop bc ; ¢®ááâ. ¡ « ­á á⥪ 
ret ; F10 ¯ã­ªâ
; ‘®¡ëâ¨ï ®ª­ 
; ¢å®¤: hl=Y/X ª®®à¤. ¬ë誨 (Y=1..30, X=0..79)
; d=¡¨âë ­ ¦ â¨ï ¡ãâ®­®¢
fv_ms_hex:
bit 0,d ; ¯à ¢ë© ¡ãâ®­ ?
ret nz ; ¤ 
ld a,h ; X ª®®à¤¨­ â 
cp 1
jr nz,$+9
ld a,l ; X ª®®à¤¨­ â 
cp 9 ; ­  ¯®«¥ ¢¢®¤   ¤à¥á  ?
jp c,ABDF3 ; ¤ , Goto...
ld a,h
cp 16 ; ­ ç «® ­¨¦­¥© ¯®«®¢¨­ë ®ª­ 
jp c,fv_ms_hex1
; ­  áâப㠢­¨§
call ABCDB
halt
call get_mouse_info
and 3
jr nz,$-9 ; ¡ãâ®­ë ­ ¦ âë
ld a,evNothing
ld (what),a ; ᯨ᮪ ᮡë⨩
ret
; ­  áâப㠢¢¥àå
fv_ms_hex1:
call ABC9A
halt
call get_mouse_info
and 3
jr nz,$-9 ; ¡ãâ®­ë ­ ¦ âë
ld a,evNothing
ld (what),a ; ᯨ᮪ ᮡë⨩
ret
;-----------------------------------------------------------
; Ž¡à ¡®âª  ¬ë誨 ¢ ¯®«¥ ¢¢®¤   ¤à¥á  Goto...
;
; ¢å®¤: hl=Y/X ⥪áâ. ª®®à¤¨­ âë ¬ë誨.
; a=¡¨âë ­ ¦ â¨ï ¡ãâ®­®¢
;-----------------------------------------------------------
fview_mouse_goto:
ld a,(viewer_mode) ; ०¨¬ à ¡®âë ¢ìî¥à 
or a
jp nz,get_fire ; ¯ ­¥«ì­ë© ०¨¬
ld bc,ABE29 ; â®çª  ¢ë室 
push bc
ld a,h
dec a ; 1-ï áâப 
jr nz,$+6
ld a,l ; X ª®®à¤¨­ â 
cp 9
ret c ; ®áâ âìáï ¢ ¯®«¥ ¢¢®¤ 
pop bc ; ¢®ááâ. ¡ « ­á á⥪ 
call get_fire ; ¯ ­¥«ì­ë© ०¨¬
jp ABF5C ; Esc