mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
66 lines
1.2 KiB
NASM
66 lines
1.2 KiB
NASM
;///////////////////////////////////////////////////
|
|
;
|
|
; CLS. Žç¨áâ¨âì íªà
|
|
;
|
|
; Œ®¦® § ¤ âì ®¤¨ à£ã¬¥â - 梥â íªà .
|
|
; …᫨ à£ã¬¥â ¥ § ¤ , ¨á¯. ¯®-㬮«ç ¨î #07.
|
|
;///////////////////////////////////////////////////
|
|
cmd_cls: ex de,hl ; hl=ª®¬-áâப
|
|
;ld de,T9186 ; ¡ãä¥à ¯®¤ ¯ à ¬¥âà
|
|
ld de,Buffers.work.buffer1;
|
|
push de
|
|
ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬-áâப¨
|
|
RST ToDSS
|
|
pop hl
|
|
jp nc,invalid_param ; "Invalid parametr" (>1 ¯ à ¬.)
|
|
ld b,7 ; âਡãâ ®ç¨á⪨ ¯®-㬮«ç ¨î
|
|
ld a,(hl)
|
|
or a
|
|
jr z,cls_clear
|
|
call ascii2byte
|
|
jp c,invalid_param ; "Invalid parametr"
|
|
and 7
|
|
ld b,a
|
|
inc hl
|
|
ld a,(hl)
|
|
or a
|
|
jr z,cls_clear
|
|
ld a,b
|
|
rlca
|
|
rlca
|
|
rlca
|
|
rlca
|
|
ld b,a
|
|
ld a,(hl)
|
|
call ascii2byte
|
|
jp c,invalid_param ; "Invalid parametr"
|
|
or b
|
|
ld b,a
|
|
cls_clear: ld a,b
|
|
ld (color_screen),a ; âਡãâ
|
|
ld de,0 ; Y/X ¯®«®¦.
|
|
ld hl,#2050 ; Y/X à §¬¥à
|
|
ld c,BIOS.LP_CLS_WIN ; ®ç¨áâ¨âì ®ª® (¢ë¢®¤®¬ ¯à®¡¥«®¢)
|
|
RST ToBIOS
|
|
; ãáâ. ªãàá®à ¢ Home
|
|
ld de,0 ; Y/X ¯®«®¦.
|
|
ld c,Dss.Locate
|
|
RST ToDSS
|
|
ret
|
|
|
|
|
|
; ascii -> int
|
|
ascii2byte:
|
|
cp "0"
|
|
ret c
|
|
cp "9"+1
|
|
jr c,$+10 ;!FIXIT $
|
|
and 5Fh
|
|
cp "F"+1
|
|
ccf
|
|
ret c
|
|
sub 7
|
|
sub "0"
|
|
or a
|
|
ret
|