mirror of
https://github.com/romychs/DemoN.git
synced 2025-04-18 18:12:40 +03:00
247 lines
9.5 KiB
NASM
247 lines
9.5 KiB
NASM
;[]=========================================================================[]
|
||
;[] Ž¡à ¡®âª ª« ¢¨ âãàë ¢ ®ª¥ ¤ ¬¯ []
|
||
;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 31.03.2006 []
|
||
;[]=========================================================================[]
|
||
KDump:
|
||
ld a,b ;á®áâ®ï¨¥ <Shift><Alt><Ctrl>
|
||
and 11110000b
|
||
jr z,.L100
|
||
|
||
;Ž¡à ¡®âª ª®¬¡¨ 樨 Ctrl + ᨬ¢®«
|
||
.L10 cp 00100000b ;<Ctrl>
|
||
jp nz,.L100
|
||
ld a,d ;¯®§¨æ¨®ë© ª®¤
|
||
|
||
cp 0x80+0x51 ;<Ctrl>+<End)
|
||
jr nz,.L11
|
||
ld hl,.Coordinate ;⥪ãé ï ª®«®ª
|
||
ld a,16
|
||
cp (hl)
|
||
jr nc,$+4
|
||
ld a,32
|
||
inc a
|
||
ld (hl),a
|
||
jp Keyb-3
|
||
|
||
.L11 cp 0x80+0x57 ;<Ctrl>+<Home)
|
||
jp nz,Keyb-3
|
||
; jr nz,.L11
|
||
ld hl,.Coordinate ;⥪ãé ï ª®«®ª
|
||
ld a,18
|
||
cp (hl)
|
||
jr c,$+8
|
||
ld a,2
|
||
cp (hl)
|
||
jr c,$+3
|
||
dec a
|
||
ld (hl),a
|
||
jp Keyb-3
|
||
|
||
;Ž¡à ¡®âª ¯®§¨æ¨®®£® ª®¤
|
||
.L100 ld a,e ;ASCII ª®¤
|
||
ld (.L200+1),a
|
||
ld a,d ;¯®§¨æ¨®ë© ª®¤
|
||
|
||
ld de,(.Coordinate) ;⥪ã騥 ª®®à¤¨ âë ªãàá®à
|
||
cp 0x56 ;<Right>
|
||
jr nz,.L101
|
||
ld a,(.Descript+2) ;ª®«-¢® ª®«®®ª
|
||
cp e
|
||
ld a,e
|
||
jr nz,$+3
|
||
xor a
|
||
inc a
|
||
ld (.Coordinate),a ;⥪ãé ï ª®«®ª
|
||
jp Keyb-3
|
||
|
||
.L101 cp 0x54 ;<Left>
|
||
jr nz,.L102
|
||
ld a,e ;⥪ãé ï ª®«®ª
|
||
cp 1
|
||
jr nz,$+6
|
||
ld a,(.Descript+2) ;ª®«-¢® ª®«®®ª
|
||
inc a
|
||
dec a
|
||
ld (.Coordinate),a ;⥪ãé ï ª®«®ª
|
||
jp Keyb-3
|
||
|
||
.L102 ld hl,(.Descript)
|
||
cp 0x52 ;<Down>
|
||
jr nz,.L103
|
||
ld a,d ;⥪ãé ï áâப
|
||
cp l
|
||
jr nz,.L104
|
||
ld hl,(Dump1)
|
||
ld bc,16
|
||
add hl,bc
|
||
ld (Dump1),hl
|
||
jp Keyb-11
|
||
.L104 inc a
|
||
ld (.Coordinate+1),a
|
||
jp Keyb-3
|
||
|
||
.L103 cp 0x58 ;<Up>
|
||
jr nz,.L105
|
||
ld a,d ;⥪ãé ï áâப
|
||
cp h
|
||
jr nz,.L107
|
||
ld hl,(Dump1)
|
||
ld bc,16
|
||
or a
|
||
sbc hl,bc
|
||
ld (Dump1),hl
|
||
jp Keyb-11
|
||
.L107 dec a
|
||
ld (.Coordinate+1),a
|
||
jp Keyb-3
|
||
|
||
.L105 cp 0x53 ;<PgDown>
|
||
jr nz,.L108
|
||
ld a,d ;⥪ãé ï áâப
|
||
cp l
|
||
jr nz,.L106
|
||
ld hl,(Dump1)
|
||
ld bc,16*7
|
||
add hl,bc
|
||
ld (Dump1),hl
|
||
jp Keyb-11
|
||
.L106 ld a,l ; ¯®á«¥¤îî áâபã
|
||
ld (.Coordinate+1),a
|
||
jp Keyb-3
|
||
|
||
.L108 cp 0x59 ;<PgUp>
|
||
jr nz,.L110
|
||
ld a,d ;⥪ãé ï áâப
|
||
cp h
|
||
jr nz,.L109
|
||
ld hl,(Dump1)
|
||
ld bc,16*7
|
||
or a
|
||
sbc hl,bc
|
||
ld (Dump1),hl
|
||
jp Keyb-11
|
||
jr nz,.L109
|
||
.L109 ld a,h ; ¯¥à¢ãî áâபã
|
||
ld (.Coordinate+1),a
|
||
jp Keyb-3
|
||
|
||
.L110 cp 0x57 ;<Home>
|
||
jr nz,.L111
|
||
ld a,1
|
||
ld (.Coordinate),a ;¯¥à¢ ï ª®«®ª
|
||
jp Keyb-3
|
||
|
||
.L111 cp 0x51 ;<End>
|
||
jr nz,.L200
|
||
ld a,(.Descript+2)
|
||
ld (.Coordinate),a ;¯¥à¢ ï ª®«®ª
|
||
jp Keyb-3
|
||
|
||
;Ž¡à ¡®âª ASCII ª®¤®¢
|
||
.L200 ld a,0 ;ASCII ª®¤
|
||
cp 0x0D ;<Enter>
|
||
jp nz,Keyb+6
|
||
.L201 ld b,0 ;¤«¨ áâப¨ ¢¢®¤
|
||
ld hl,0 ;ª®®à¤¨ âë áâப¨ ¢¢®¤
|
||
|
||
ld a,b
|
||
dec a
|
||
jr z,.L202
|
||
dec a
|
||
jr z,.L203
|
||
|
||
call InputLine ;¢¢®¤ ¤à¥á
|
||
jp c,Keyb-3 ;§ ¢¥à襨¥ ¢¢®¤ ¯® <ESC>
|
||
call PutAdres
|
||
jp c,.L201 ;®è¨¡ª ¢ ¢¥¤¥ëå ¤ ëå
|
||
ld de,16 ;ª®«-¢® ¡ ©â ¢ áâப¥
|
||
ld a,(.Coordinate+1) ;®¬¥à áâப¨
|
||
sub 0x16 ;ª®®à¤¨ â ¯¥à¢®© áâப¨
|
||
jr z,$+8
|
||
ld b,a
|
||
or a
|
||
sbc hl,de
|
||
djnz $-3
|
||
ld (Dump1),hl
|
||
jp Keyb-11
|
||
|
||
.L202 call InputLineEd ;¢¢®¤ ᨬ¢®«
|
||
jp c,Keyb-3 ;§ ¢¥à襨¥ ¢¢®¤ ¯® <ESC>
|
||
call .L299
|
||
ld a,c
|
||
sub 18 ;¯¥à¢ ï ª®«®ª ¢ ¯®«¥ ¤ ëå
|
||
ld c,a
|
||
ld a,(InputLine.Buffer)
|
||
ld de,256*18+34 ;1-ï ¨ ¯®á«¥¤ïï+1 ª®«®ª¨
|
||
jr .L204
|
||
|
||
.L203 call InputLineEd ;¢¢®¤ ª®¤ ᨬ¢®«
|
||
jp c,Keyb-3 ;§ ¢¥à襨¥ ¢¢®¤ ¯® <ESC>
|
||
call PutCode
|
||
jp c,.L201 ;®è¨¡ª ¢ ¢¥¤¥ëå ¤ ëå
|
||
call .L299
|
||
ld a,c
|
||
sub 2 ;¯¥à¢ ï ª®«®ª ¢ ¯®«¥ ¤ ëå
|
||
ld c,a
|
||
ld a,(PutCode.Buffer) ;§ ¯¨áë¢ ¥¬ë© ¡ ©â
|
||
ld de,256*2+18 ;1-ï ¨ ¯®á«¥¤ïï+1 ª®«®ª¨
|
||
.L204 add hl,bc
|
||
call Ld_hl_a
|
||
ld a,(InputLine.EntEnd) ;¢¢®¤ § ª®ç¥ ENTER
|
||
or a
|
||
jp nz,Keyb-11 ;¤
|
||
ld hl,.Coordinate ;⥪ã騥 ª®®à¤¨ âë ªãàá®à
|
||
inc (hl)
|
||
ld a,e ;¯¥à¢ ï ª®«®ª ¤ ëå
|
||
cp (hl)
|
||
jr nz,.L205
|
||
ld a,d
|
||
ld (hl),a ;¢ ç «® áâப¨ ª®¤
|
||
inc hl
|
||
ld a,0x1D ;¯®á«¥¤ïï áâப ¤ ¬¯
|
||
cp (hl)
|
||
jr nz,.L205-1
|
||
ld hl,(Dump1) ;ᤢ¨ãâì ¤ ¬¯
|
||
ld bc,16
|
||
add hl,bc
|
||
ld (Dump1),hl
|
||
jr .L205
|
||
inc (hl)
|
||
.L205 call CursorRes ;¢ëª« ªãàá®à
|
||
call Refresh ;®¡®¢«¥¨¥ íªà
|
||
call Cursor ;¢ª« ªãàá®à
|
||
call CursorSet
|
||
jp .L201
|
||
|
||
.L299 ld de,16 ;ª®«-¢® ¡ ©â ¢ áâப¥
|
||
ld hl,(Dump1) ; ¤à¥á ¢ ¯¥à¢®© áâப¥
|
||
ld bc,(.Coordinate)
|
||
ld a,b
|
||
sub 0x16 ;ª®®à¤¨ â ¯¥à¢®© áâப¨
|
||
ld b,a
|
||
ret z
|
||
add hl,de
|
||
djnz $-1
|
||
ret
|
||
|
||
.Coordinate dw 0x1601 ;ªãàá®à (áâà/ª®« ªãàá®à )
|
||
.Descript:
|
||
dw 0x161D ;¯¥à¢ ï/¯®á«¥¤ïï áâப ®ª
|
||
db 33 ;ª®«-¢® ª®«®®ª
|
||
|
||
db 0x0E ;N á⮫¡æ ª®«®ª¨
|
||
db 5 ;è¨à¨ ª®«®ª¨
|
||
db 0x15,2,0x17,2
|
||
db 0x1A,2,0x1C,2
|
||
db 0x1F,2,0x21,2
|
||
db 0x24,2,0x26,2
|
||
db 0x29,2,0x2B,2
|
||
db 0x2E,2,0x30,2
|
||
db 0x33,2,0x35,2
|
||
db 0x38,2,0x3A,2
|
||
db 0x3E,1,0x3F,1,0x40,1,0x41,1
|
||
db 0x42,1,0x43,1,0x44,1,0x45,1
|
||
db 0x46,1,0x47,1,0x48,1,0x49,1
|
||
db 0x4A,1,0x4B,1,0x4C,1,0x4D,1
|
||
|