mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
125 lines
2.4 KiB
NASM
125 lines
2.4 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
|
||
; LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||
; JP ToBIOS
|
||
;///////////////////////////////////////////////////////////////////////
|
||
|
||
|
||
|
||
;///////////////////////////////////////////////////////////////////////
|
||
PUTCHAR: LD C,0
|
||
.NO_SCROLL: PUSH HL
|
||
;
|
||
LD L,A
|
||
XOR A ; no attr-mode
|
||
LD H,A
|
||
PUSH HL ; ª« ¤ñ¬ á⥪ ¯¥ç â ¥¬ë© ᨬ¢®«
|
||
LD L,A
|
||
ADD HL,SP
|
||
;
|
||
LD A,(CLEAR.shell_color)
|
||
LD B,A
|
||
LD A,C
|
||
EX AF,AF'
|
||
XOR A ; no XY-mode
|
||
LD C,BIOS.LP_PR_LINE_DIR
|
||
LD IY,0 ; YH = YL = B
|
||
RST ToBIOS
|
||
POP HL ; ¢®ááâ ¢«¨¢ ¥¬ á⥪
|
||
;
|
||
POP HL
|
||
RET
|
||
;/////////////////////////////////////////////////////////////////////// |