mirror of
https://github.com/Tolik-Trek/File-Manager.git
synced 2026-06-15 01:11:36 +03:00
650 lines
11 KiB
NASM
Executable File
650 lines
11 KiB
NASM
Executable File
; Œ¥âª¨ T0600 ¨ A0900 ¢ëà ¢¨¢ îâáï £à ¨æã xx00h!
|
||
;
|
||
|
||
|
||
|
||
|
||
|
||
; RST 20h. „à ©¢¥à ª« ¢¨ âãàë
|
||
KeybDrv:or a ; a=0 ¨¨æ. ª« ¢ã
|
||
jp z,init_keyb
|
||
dec a ; a=1 ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||
jr z,func_35
|
||
dec a ; a=2 ®¯à®á ¡¥§ ®¦¨¤ ¨ï
|
||
jr z,func_31
|
||
;dec a ; a=3 â¥áâ ¦ â¨ï ª« ¢¨è¨ (NZ-¤ , Z-¥â)
|
||
jr func_33
|
||
;ret
|
||
|
||
|
||
|
||
|
||
;/////////////////////////////////////////////////////////////////////
|
||
; ”ãªæ¨ï #31. ޝà®á ª« ¢¨ âãàë ¡¥§ ®¦¨¤ ¨ï.
|
||
;
|
||
; ¢ë室: A=ª®¤ ᨬ¢®«
|
||
; D=᪥-ª®¤, …=ª®¤ ᨬ¢®«
|
||
; B=¡¨âë Ctrl,Alt,Shift
|
||
; Z - ¥â ª« ¢¨è
|
||
;/////////////////////////////////////////////////////////////////////
|
||
func_31:;ld hl,D0641
|
||
;ld a,(D0640)
|
||
;cp (hl)
|
||
;ret z ; ¥â ª« ¢¨è¨
|
||
call A06FC
|
||
ld a,e
|
||
ret
|
||
|
||
|
||
;/////////////////////////////////////////////////////////////////////
|
||
; ”ãªæ¨ï #33. <20>®«ãç¨âì á®áâ®ï¨¥ ª« ¢¨ âãàë.
|
||
; ‚®§¢à é ¥â á®áâ®ï¨¥ ª« ¢¨ âãàë ¤ ë© ¬®¬¥â.
|
||
;
|
||
; ¢ë室: Z - ¥â ᨬ¢®«®¢ ¢ ¡ãä¥à¥
|
||
; B=¡¨âë Ctrl,Alt,Shift
|
||
;/////////////////////////////////////////////////////////////////////
|
||
func_33:ld hl,D0641
|
||
ld a,(D0640)
|
||
cp (hl)
|
||
ld bc,(D0642) ; ä« £¨ ª« ¢ë
|
||
ld a,0
|
||
ret z ; z - ¥ ¦ â
|
||
dec a ; nz - ¦ â
|
||
ret
|
||
|
||
|
||
;/////////////////////////////////////////////////////////////////////
|
||
; ”ãªæ¨ï #35. Žç¨áâ¨âì ¡ãä¥à ª« ¢¨ âãàë
|
||
;/////////////////////////////////////////////////////////////////////
|
||
func_35:ld a,(D0641)
|
||
ld (D0640),a
|
||
ret
|
||
|
||
|
||
|
||
ds 0100h-$ ; ¢ë஢¨âì £à ¨æã xx00h
|
||
|
||
; à ¡. ï祩ª¨ ª« ¢ë
|
||
|
||
T0600: ds 64
|
||
;
|
||
D0640: db 0 ; ⥪. ¤à¥á ª®æ ª®«ìæ. ¡ãä¥à ?
|
||
D0641: db 0 ; ¤à¥á ç « ª®«ìæ. ¡ãä¥à ?
|
||
; ä« £¨ ª« ¢ë
|
||
D0642: db 2
|
||
db 0
|
||
db 0
|
||
db 3
|
||
;
|
||
D0646: dw 0
|
||
|
||
|
||
A06DD: ld hl,D0640
|
||
ld a,(D0641)
|
||
sub 4
|
||
and 3Fh ; ®£à ¨ç¨âì ¤à¥á ª®æ ª®«ìæ. ¡ãä¥à
|
||
cp (hl)
|
||
jr z,A0716 ; ª®¥æ ª®«ìæ. ¡ãä¥à
|
||
ld a,(hl)
|
||
inc (hl) ; ï祩ª D0640
|
||
inc (hl)
|
||
inc (hl)
|
||
inc (hl)
|
||
res 6,(hl) ; § 票¥ 40h -> 00h (á¡à. ª®¥æ ª®«ìæ. ¡ãä¥à ?)
|
||
ld l,a
|
||
ld h,T0600 / 256 ; 06h áâ. ¡ ©â ¤à¥á
|
||
ld (hl),e
|
||
inc l
|
||
ld (hl),d
|
||
inc l
|
||
ld (hl),b
|
||
inc l
|
||
ld (hl),c
|
||
ret
|
||
|
||
A06FC: ld hl,D0641
|
||
ld a,(D0640)
|
||
cp (hl)
|
||
ret z ; ¥â ª« ¢¨è¨
|
||
ld a,(hl)
|
||
inc (hl)
|
||
inc (hl)
|
||
inc (hl)
|
||
inc (hl)
|
||
res 6,(hl) ; § 票¥ 40h -> 00h (á¡à. ª®¥æ ª®«ìæ. ¡ãä¥à ?)
|
||
ld l,a
|
||
ld h,T0600 / 256 ; 06h áâ. ¡ ©â ¤à¥á
|
||
ld e,(hl)
|
||
inc l
|
||
ld d,(hl)
|
||
inc l
|
||
ld b,(hl)
|
||
inc l
|
||
ld c,(hl)
|
||
ret
|
||
|
||
; ¡¨¯
|
||
A0716: ex af,af'
|
||
bit 0,(ix+3)
|
||
jr z,A0728
|
||
exx
|
||
ld de,230 ; § ¤¥à¦ª ¢ãâà. 横«
|
||
ld hl,50 ; § ¤¥à¦ª ¢¥è. 横«
|
||
call beep ; §¢ãª
|
||
exx
|
||
A0728: ex af,af'
|
||
ret
|
||
|
||
|
||
|
||
A072A: set 7,(ix+2)
|
||
jr A0740
|
||
|
||
A0730: set 6,(ix+2) ; ãáâ. ¡¨â "®â¦ â "
|
||
jr A0740
|
||
|
||
A0736: set 5,(ix+2)
|
||
jr A0740
|
||
|
||
; ᪠¨à®¢ ¨¥ ª« ¢ë
|
||
keyb_scan:
|
||
ld ix,D0642 ; ä« £¨ ª« ¢ë
|
||
A0740: in a,(19h) ; ¯®àâ áâ âãá
|
||
bit 0,a ; 0-bit, ¡ ©â ¯à¨è¥« ?
|
||
ret z ; ¥â
|
||
ld a,1
|
||
ld (KeyPres+1),a ; ¤à ©¢¥à ¬ë誨
|
||
in a,(18h)
|
||
cp 0F0h ; ª« ¢¨è ®â¦ â ?
|
||
jr z,A0730 ; ¤
|
||
cp 0E0h
|
||
jr z,A072A ;7bit
|
||
cp 0E1h ; Pause
|
||
jr z,A0736 ;5bit
|
||
bit 6,(ix+2)
|
||
jr nz,A07B3
|
||
ld l,a
|
||
call A0990
|
||
call A0892
|
||
res 7,(ix+2)
|
||
res 5,(ix+2)
|
||
ret z
|
||
call A09B4
|
||
;
|
||
ld hl,1C00h ; Caps Lock
|
||
and a
|
||
sbc hl,de
|
||
call z,A07C8
|
||
ld hl,0B800h ; Space + Ctrl, Alt
|
||
and a
|
||
sbc hl,de
|
||
call z,A07D1
|
||
ld hl,5000h ; Ins
|
||
and a
|
||
sbc hl,de
|
||
call z,A07EF
|
||
ld hl,4900h ; Num Lock
|
||
and a
|
||
sbc hl,de
|
||
call z,A07F8 ; ¨¢. 3-© ¡¨â (¡¨â Num Lock)
|
||
ld hl,0C900h ; Pause ¨«¨ Num Lock+80h (Num Lock+Ctrl/Atl/Shift)
|
||
and a
|
||
sbc hl,de
|
||
call z,A0801
|
||
ld hl,4800h ; Scroll Lock
|
||
and a
|
||
sbc hl,de
|
||
call z,A081E ; ¨¢. 2-© ¡¨â (¡¨â Scroll Lock)
|
||
ld hl,0CF00h ; Del+80h (á Shift)
|
||
and a
|
||
sbc hl,de
|
||
call z,reboot_system ; â¥áâ Ctrl+Alt
|
||
ld bc,(D0642) ; ä« £¨ ª« ¢ë
|
||
jp A06DD
|
||
;call A06DD ; á®åà. de,bc ¢ ª®«ìæ. ¡ãä¥à¥ ª« ¢ë
|
||
;ret ; ¥ ®¯â¨¬¨§¨âì
|
||
|
||
A07B3: res 6,(ix+2)
|
||
ld l,a
|
||
call A0990
|
||
call A0837
|
||
res 7,(ix+2)
|
||
ld h,0
|
||
ld (D0646),hl
|
||
ret
|
||
|
||
A07C8: ld a,(ix+0)
|
||
xor 1
|
||
ld (ix+0),a
|
||
ret
|
||
|
||
A07D1: bit 5,(ix+1) ; ¡¨â Ctrl
|
||
ret z
|
||
ld a,(ix+0)
|
||
xor 80h ; 7-© ¡¨â (1=RUS,0=LAT)
|
||
ld (ix+0),a
|
||
bit 1,(ix+3)
|
||
ret z
|
||
exx
|
||
ld de,190 ; § ¤¥à¦ª ¢ãâà. 横«
|
||
ld hl,20 ; § ¤¥à¦ª ¢¥è. 横«
|
||
call beep ; §¢ãª
|
||
exx
|
||
ret
|
||
|
||
A07EF: ld a,(ix+0)
|
||
xor 2 ; 1-© ¡¨â (Ins)
|
||
ld (ix+0),a
|
||
ret
|
||
|
||
A07F8: ld a,(ix+0)
|
||
xor 8 ; 3-© ¡¨â
|
||
ld (ix+0),a
|
||
ret
|
||
|
||
; Pause ¨«¨ Num Lock + Ctrl, Atl, Shift
|
||
A0801: bit 5,(ix+1) ; ¡¨â Ctrl ?
|
||
ret z ; ¥â
|
||
; pop hl ; ??
|
||
ld a,(ix+0)
|
||
xor 40h ; 6-© ¡¨â
|
||
ld (ix+0),a
|
||
bit 6,(ix+0)
|
||
ret z
|
||
ei
|
||
A0815: halt
|
||
bit 6,(ix+0)
|
||
jr nz,A0815
|
||
di
|
||
ret
|
||
|
||
A081E: ld a,(ix+0)
|
||
xor 4
|
||
ld (ix+0),a
|
||
ret
|
||
|
||
; ª« ¢¨è Del
|
||
reboot_system:
|
||
;bit 5,(ix+1) ; ¡¨â Ctrl
|
||
;ret z
|
||
;bit 4,(ix+1) ; ¡¨â Alt
|
||
;ret z
|
||
ld c,00110000b ; ¡¨âë Ctrl, Alt
|
||
ld a,(ix+1)
|
||
and c
|
||
cp c
|
||
ret nz
|
||
; á®äâ®¢ë© à¥¡ãâ
|
||
xor a
|
||
ld bc,01FDh
|
||
rst 08h
|
||
ret
|
||
;db 0,0;
|
||
|
||
A0837: ld a,l
|
||
cp 37h
|
||
jr nz,A084A
|
||
res 2,(ix+1)
|
||
bit 0,(ix+1)
|
||
ret nz
|
||
res 4,(ix+1)
|
||
ret
|
||
;
|
||
A084A: cp 39h
|
||
jr nz,A085C
|
||
res 0,(ix+1)
|
||
bit 2,(ix+1)
|
||
ret nz
|
||
res 4,(ix+1)
|
||
ret
|
||
;
|
||
A085C: cp 36h
|
||
jr nz,A086E
|
||
res 3,(ix+1)
|
||
bit 1,(ix+1)
|
||
ret nz
|
||
res 5,(ix+1)
|
||
ret
|
||
;
|
||
A086E: cp 3Ah
|
||
jr nz,A0880
|
||
res 1,(ix+1)
|
||
bit 3,(ix+1)
|
||
ret nz
|
||
res 5,(ix+1)
|
||
ret
|
||
;
|
||
A0880: cp 29h
|
||
jr nz,A0889
|
||
res 7,(ix+1)
|
||
ret
|
||
;
|
||
A0889: cp 34h
|
||
;jr nz,A0891
|
||
ret nz
|
||
res 6,(ix+1)
|
||
ret
|
||
;A0891: ret
|
||
|
||
|
||
A0892: ld a,l
|
||
cp 37h
|
||
jr nz,A08A0
|
||
set 2,(ix+1)
|
||
set 4,(ix+1)
|
||
ret
|
||
;
|
||
A08A0: cp 39h
|
||
jr nz,A08AD
|
||
set 0,(ix+1)
|
||
set 4,(ix+1)
|
||
ret
|
||
;
|
||
A08AD: cp 36h
|
||
jr nz,A08BA
|
||
set 3,(ix+1)
|
||
set 5,(ix+1)
|
||
ret
|
||
;
|
||
A08BA: cp 3Ah
|
||
jr nz,A08C7
|
||
set 1,(ix+1)
|
||
set 5,(ix+1)
|
||
ret
|
||
;
|
||
A08C7: cp 29h
|
||
jr nz,A08D0
|
||
set 7,(ix+1)
|
||
ret
|
||
;
|
||
A08D0: cp 34h
|
||
;jr nz,A08D8
|
||
ret nz
|
||
set 6,(ix+1)
|
||
ret
|
||
;A08D8: ret
|
||
|
||
|
||
|
||
A0990: bit 7,(ix+2)
|
||
jr z,A09B0
|
||
cp 11h
|
||
ld l,39h
|
||
ret z
|
||
cp 14h
|
||
ld l,3Ah
|
||
ret z
|
||
cp 5Ah
|
||
ld l,4Eh
|
||
ret z
|
||
cp 4Ah
|
||
ld l,4Ah
|
||
ret z
|
||
cp 7Ch
|
||
ld l,47h
|
||
ret z
|
||
ld l,a
|
||
A09B0: ld h,A0900 / 256 ; 09h áâ. ¡ ©â ¤à¥á
|
||
ld l,(hl)
|
||
ret
|
||
|
||
|
||
A09B4: ld d,l
|
||
ld e,0
|
||
bit 7,(ix+0)
|
||
jp nz,A09F6
|
||
ld a,(ix+1)
|
||
and 0C0h
|
||
jr nz,A09E3
|
||
set 7,d
|
||
bit 4,(ix+1)
|
||
ret nz
|
||
bit 5,(ix+1)
|
||
ret nz
|
||
ld d,l
|
||
bit 0,(ix+0)
|
||
ld bc,T0B75
|
||
jr nz,A09DE
|
||
ld bc,T0AC1
|
||
A09DE: ld h,0
|
||
add hl,bc
|
||
ld e,(hl)
|
||
ret
|
||
;
|
||
A09E3: ld bc,T0B1B
|
||
bit 0,(ix+0)
|
||
jr z,A09EF
|
||
ld bc,T0BCF
|
||
A09EF: ld h,0
|
||
add hl,bc
|
||
ld e,(hl)
|
||
set 7,d
|
||
ret
|
||
;
|
||
A09F6: ld a,(ix+1)
|
||
and 0C0h
|
||
jr nz,A0A1B
|
||
set 7,d
|
||
bit 4,(ix+1)
|
||
ret nz
|
||
bit 5,(ix+1)
|
||
ret nz
|
||
ld d,l
|
||
bit 0,(ix+0)
|
||
ld bc,T0CDD
|
||
jr nz,A0A16
|
||
ld bc,T0C29
|
||
A0A16: ld h,0
|
||
add hl,bc
|
||
ld e,(hl)
|
||
ret
|
||
;
|
||
A0A1B: ld bc,T0C83
|
||
bit 0,(ix+0)
|
||
jr z,A0A27
|
||
ld bc,T0D37
|
||
A0A27: ld h,0
|
||
add hl,bc
|
||
ld e,(hl)
|
||
set 7,d
|
||
ret
|
||
|
||
|
||
ds 0400h-$ ; ¢ë஢¨âì £à ¨æã xx00h
|
||
|
||
; „®«¦® ç¨ âìáï á £à ¨æë xx00h!
|
||
; 144 ¡ ©â .
|
||
A0900: db 0,43h,0,3Fh,3Dh,3Bh,3Ch,46h
|
||
db 0,44h,42h,40h,3Eh,0Fh,0,0
|
||
db 0
|
||
db 37h,29h,0
|
||
db 36h,10h,2,0
|
||
db 0,0,2Ah,1Eh,1Dh,11h,3,0
|
||
db 0,2Ch,2Bh,1Fh,12h,5,4,0
|
||
db 0,38h,2Dh,20h,14h,13h,6,0
|
||
db 0,2Fh,2Eh,22h,21h,15h,7,0
|
||
db 0
|
||
A0939: db 0
|
||
A093A: db 30h,23h,16h,8,9,0,0,31h
|
||
db 24h,17h,18h,0Bh,0Ah
|
||
A0947: db 0,0,32h
|
||
A094A: db 33h,25h,26h,19h
|
||
A094E: db 0Ch,0,0,0,27h,0,1Ah,0Dh
|
||
db 0,0,1Ch,34h
|
||
db 28h,1Bh,0,35h
|
||
db 0,0,0,0,0,0,0,0
|
||
db 0Eh,0,0,51h,0,54h,57h,0
|
||
db 0,0,50h,4Fh,52h,55h,56h,58h
|
||
db 1,49h,45h,4Dh,53h,4Ch
|
||
db 4Bh,59h
|
||
db 48h,0,0,0,0,41h,0,0
|
||
db 0,0,0,0,0,0,0,0
|
||
db 0,0
|
||
|
||
|
||
|
||
; ’ ¡«¨æ ª®¤®¢ ª« ¢¨è (8 ᥪ権 ¯® 90 ¡ ©â)
|
||
T0AC1: db "`",1Bh,"1","2","3","4","5","6","7","8","9","0","-","=",8
|
||
db 9,"q","w","e","r","t","y","u","i","o","p","[","]"
|
||
db 0 ; CapsLock
|
||
db "a","s","d","f","g","h","j","k","l",";","'",0Dh
|
||
db 0 ; Left Shift
|
||
db "z","x","c","v","b","n","m",",",".","/"
|
||
db 0 ; Right Shift
|
||
db '\'
|
||
db 0 ; Ctrl
|
||
db 0 ; Alt
|
||
db 20h ; Space
|
||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||
; ¤®¯. ¯®«¥
|
||
db 0 ; NumLock
|
||
db "/","*","-","+",0Dh
|
||
db 0,0,0,0,0,0,0,0,0,0,0
|
||
;
|
||
;
|
||
T0B1B: db "~",1Bh,"!","@","#","$","%","^","&","*","(",")","_","+",8
|
||
db 9,"Q","W","E","R","T","Y","U","I","O","P","{","}"
|
||
db 0 ; CapsLock
|
||
db "A","S","D","F","G","H","J","K","L",":",'"',0Dh
|
||
db 0 ; Left Shift
|
||
db "Z","X","C","V","B","N","M","<",">","?"
|
||
db 0 ; Right Shift
|
||
db "|",0,0
|
||
db 20h ; Space
|
||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||
; ¤®¯. ¯®«¥
|
||
db 0 ; NumLock
|
||
db "/","*","-","+",0Dh
|
||
db 0,0,0,0,0,0,0,0,0,0,0
|
||
;
|
||
;
|
||
T0B75: db "`",1Bh,"1","2","3","4","5","6","7","8","9","0","-","=",8
|
||
db 9,"Q","W","E","R","T","Y","U","I","O","P","[","]",0
|
||
db "A","S","D","F","G","H","J","K","L",";","'",0Dh,0
|
||
db "Z","X","C","V","B","N","M",",",".","/",0
|
||
db '\',0,0
|
||
db 20h ; Space
|
||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||
; ¤®¯. ¯®«¥
|
||
db 0 ; NumLock
|
||
db "/","*","-","+",0Dh
|
||
db 0,0,0,0,0,0,0,0,0,0,0
|
||
;
|
||
;
|
||
T0BCF: db "~",1Bh,"!","@","#","$","%","^","&","*","(",")","_","+",8
|
||
db 9,"q","w","e","r","t","y","u","i","o","p","{","}",0
|
||
db "a","s","d","f","g","h","j","k","l",":",'"',0Dh,0
|
||
db "z","x","c","v","b","n","m","<",">","?",0
|
||
db "|",0,0
|
||
db 20h ; Space
|
||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||
; ¤®¯. ¯®«¥
|
||
db 0 ; NumLock
|
||
db "/","*","-","+",0Dh
|
||
db 0,0,0,0,0,0,0,0,0,0,0
|
||
;
|
||
;
|
||
T0C29: db "ñ",1Bh,"1","2","3","4","5","6","7","8","9","0","-","=",8
|
||
db 9,"©","æ","ã","ª","¥","","£","è","é","§","å","ê",0
|
||
db "ä","ë","¢"," ","¯","à","®","«","¤","¦","í",0Dh,0
|
||
db "ï","ç","á","¬","¨","â","ì","¡","î",".",0
|
||
db '\',0,0
|
||
db 20h ; Space
|
||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||
; ¤®¯. ¯®«¥
|
||
db 0 ; NumLock
|
||
db "/","*","-","+",0Dh
|
||
db 0,0,0,0,0,0,0,0,0,0,0
|
||
;
|
||
;
|
||
T0C83: db "ð",1Bh,"!",'"',"#","$",":",",",".",";","?","%","_","+",8
|
||
db 9,"‰","–","“","Š","…","<22>","ƒ","˜","™","‡","•","š",0
|
||
db "”","›","‚","€","<22>","<22>","Ž","‹","„","†","<22>",0Dh,0
|
||
db "Ÿ","—","‘","Œ","ˆ","’","œ","<22>","ž",",",0
|
||
db "|",0,0
|
||
db 20h ; Space
|
||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||
; ¤®¯. ¯®«¥
|
||
db 0 ; NumLock
|
||
db "/","*","-","+",0Dh
|
||
db 0,0,0,0,0,0,0,0,0,0,0
|
||
;
|
||
;
|
||
T0CDD: db "ð",1Bh,"1","2","3","4","5","6","7","8","9","0","-","=",8
|
||
db 9,"‰","–","“","Š","…","<22>","ƒ","˜","™","‡","•","š",0
|
||
db "”","›","‚","€","<22>","<22>","Ž","‹","„","†","<22>",0Dh,0
|
||
db "Ÿ","—","‘","Œ","ˆ","’","œ","<22>","ž",".",0
|
||
db '\',0,0
|
||
db 20h ; Space
|
||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||
; ¤®¯. ¯®«¥
|
||
db 0 ; NumLock
|
||
db "/","*","-","+",0Dh
|
||
db 0,0,0,0,0,0,0,0,0,0,0
|
||
;
|
||
;
|
||
T0D37: db "ñ",1Bh,"!",'"',"#","$",":",",",".",";","?","%","_","+",8
|
||
db 9,"©","æ","ã","ª","¥","","£","è","é","§","å","ê",0
|
||
db "ä","ë","¢"," ","¯","à","®","«","¤","¦","í",0Dh,0
|
||
db "ï","ç","á","¬","¨","â","ì","¡","î",",",0
|
||
db "|",0,0
|
||
db 20h ; Space
|
||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||
; ¤®¯. ¯®«¥
|
||
db 0
|
||
db "/","*","-","+",0Dh
|
||
db 0,0,0,0,0,0,0,0,0,0,0
|
||
|
||
|
||
|
||
|
||
;-------------------------------------------------
|
||
; ˆ¨æ. LPT-¯®à⮢ ¤«ï ª« ¢ë
|
||
;-------------------------------------------------
|
||
init_keyb:
|
||
ld a,0
|
||
out (19h),a
|
||
ld a,1
|
||
out (19h),a
|
||
ld a,0
|
||
out (19h),a
|
||
ld a,3
|
||
out (19h),a
|
||
ld a,0C1h
|
||
out (19h),a
|
||
ld a,4
|
||
out (19h),a
|
||
ld a,7
|
||
out (19h),a
|
||
ld a,5
|
||
out (19h),a
|
||
ld a,62h
|
||
out (19h),a
|
||
ret
|
||
|
||
|
||
; ‡¢ãª.
|
||
; ¢å®¤: hl=§ ¤¥à¦ª ¢¥è. 横«
|
||
; de=§ ¤¥à¦ª ¢ãâà. 横«
|
||
beep: ld a,10h
|
||
out (0FEh),a ; ¯®àâ
|
||
ld b,d
|
||
ld c,e
|
||
dec bc
|
||
ld a,b
|
||
or c
|
||
jr nz,$-3
|
||
ld a,0
|
||
out (0FEh),a ; ¯®àâ
|
||
ld b,d
|
||
ld c,e
|
||
dec bc
|
||
ld a,b
|
||
or c
|
||
jr nz,$-3
|
||
dec hl
|
||
ld a,h
|
||
or l
|
||
jr nz,beep
|
||
ret
|