mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
98 lines
1.8 KiB
NASM
98 lines
1.8 KiB
NASM
;///////////////////////////////////////////////////////////////////////
|
||
; ”ãªæ¨ï #5B. ‚뢮¤ ᨬ¢®« íªà ¢ ⥪. ¯®§¨æ¨¨.
|
||
;
|
||
; ¢å®¤: A - ᨬ¢®«
|
||
; ¢ë室: ¥â
|
||
;///////////////////////////////////////////////////////////////////////
|
||
PUTCHAR: ;CALL .NO_SCROLL
|
||
CP #0E
|
||
JR C,.control_characters
|
||
;
|
||
LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||
;[x] CR+LF+SCROLL
|
||
RST ToBIOS
|
||
;
|
||
; ¯à®¢¥àª ¯¥à¥å®¤ ªãàá®à ¢ á ¬®¥ ç «® (X:Y == 0:0)
|
||
CALL CURSOR
|
||
LD A,D
|
||
OR E
|
||
RET NZ
|
||
;
|
||
.LFF: PUSH HL
|
||
LD BC,1*256 + BIOS.LP_SCROLL_UD
|
||
LD DE,#0020
|
||
RST ToBIOS
|
||
LD DE,#1F00
|
||
CALL LOCATE
|
||
LD A,' '
|
||
LD BC,#50*256 + BIOS.LP_PRINT_SYM
|
||
RST ToBIOS
|
||
LD DE,#1F00
|
||
CALL LOCATE
|
||
POP HL
|
||
RET
|
||
.TB_: CALL CURSOR
|
||
IF TABisSPACES
|
||
LD B,E
|
||
LD A,E
|
||
AND #F8
|
||
ADD A,8
|
||
SUB B
|
||
LD B,A
|
||
LD A,' '
|
||
LD C,BIOS.LP_PRINT_SYM
|
||
JP ToBIOS
|
||
ELSE
|
||
LD A,E
|
||
ADD A,8
|
||
AND #78 ;????? £«ïãâì, çâ® ¡ã¤¥â ¥á«¨ ª®®à¤¨ âë ªãàá®à ¢ ª®æ¥ áâப¨ ¯®çâ¨
|
||
LD E,A
|
||
JP LOCATE
|
||
ENDIF
|
||
.BK_: CALL CURSOR
|
||
XOR A
|
||
CP E
|
||
RET Z
|
||
DEC E
|
||
JP LOCATE
|
||
;
|
||
.LF_: CALL CURSOR
|
||
LD A,D
|
||
CP #1F
|
||
JR NC,.LFF
|
||
INC D
|
||
IFN EnoughtOnly_LF
|
||
JP LOCATE
|
||
ELSE
|
||
CALL LOCATE
|
||
; !!!! <20>… à §àë¢ âì LF_ ¨ CR_ !!!!
|
||
ENDIF
|
||
.CR_: CALL CURSOR
|
||
LD E,0
|
||
JP LOCATE
|
||
;
|
||
.control_characters:
|
||
CP "\r"
|
||
JR Z,.CR_
|
||
CP "\n"
|
||
JR Z,.LF_
|
||
CP "\t" ; tab
|
||
JR Z,.TB_
|
||
CP "\b" ; backspace
|
||
JR Z,.BK_
|
||
CP "\a" ; [x] Beep in PChars/PUTCHAR
|
||
RET NZ
|
||
; [x] Beep in PChars/PUTCHAR
|
||
.BELL: LD DE,1200
|
||
PUSH HL
|
||
LD HL,4
|
||
CALL BEEP
|
||
POP HL
|
||
RET
|
||
;
|
||
; [x] -bug with Vasil's version of cursor
|
||
.NO_SCROLL: CP #0E
|
||
JR C,.control_characters
|
||
._CHAR: LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||
JP ToBIOS
|
||
;/////////////////////////////////////////////////////////////////////// |