This commit is contained in:
Tolik 2024-08-15 04:23:15 +10:00
parent cd83d43dab
commit 72fb1b5f11
3 changed files with 32 additions and 23 deletions

View File

@ -251,7 +251,7 @@ bit7..bit3
Œ®¦­® ¯¥à¥ª«îç âì áâà ­¨æë ç¥à¥§ ¢­ãâ७­¨© ¯®àâ #8F, ⮣¤  bit4 í⮣® ¯®àâ  ¢ª«îç ¥â ᨣ­ « § ¯¨á¨ ¤«ï <20>‡“. Œ®¦­® ¯¥à¥ª«îç âì áâà ­¨æë ç¥à¥§ ¢­ãâ७­¨© ¯®àâ #8F, ⮣¤  bit4 í⮣® ¯®àâ  ¢ª«îç ¥â ᨣ­ « § ¯¨á¨ ¤«ï <20>‡“.
’ ª ¦¥ íâ®â ¯®àâ ¤ ñâ ¯àï¬ãî ­ã¬¥à æ¨î áâà ­¨æ ¯à¨ ãáâ ­®¢«¥­­®¬ bit4. ’ ª ¦¥ íâ®â ¯®àâ ¤ ñâ ¯àï¬ãî ­ã¬¥à æ¨î áâà ­¨æ ¯à¨ ãáâ ­®¢«¥­­®¬ bit4.
;------------------------------------------------------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------------------------------------------------------
<EFBFBD>Ћя vROM ЌЎІ­Ў ЈсЏЎЋьЇЎЂ ть ЋюЁыЅ стр ­Јцы <EFBFBD><EFBFBD><EFBFBD>. <EFBFBD>Ћя vROM ЌЎІ­Ў ЈсЏЎЋьЇЎЂ ть ЋюЁыЅ сЂЎЁЎЄ­ыЅ стр ­Јцы <EFBFBD><EFBFBD><EFBFBD>.
„«ï vRAM ­¥«ì§ï ¨á¯®«ì§®¢ âì: „«ï vRAM ­¥«ì§ï ¨á¯®«ì§®¢ âì:
#1FFD b4=1: #A0,#D0..#DF #1FFD b4=1: #A0,#D0..#DF

View File

@ -188,6 +188,8 @@ Dss:
.Cursor EQU #53 .Cursor EQU #53
.SelPage EQU #54 .SelPage EQU #54
.Scroll EQU #55 .Scroll EQU #55
.Scroll.Up EQU 256*1 + .Scroll
.Scroll.Down EQU 256*2 + .Scroll
.Clear EQU #56 .Clear EQU #56
.RdChar EQU #57 .RdChar EQU #57
.WrChar EQU #58 .WrChar EQU #58

View File

@ -1,8 +1,13 @@
MODULE printf#
cmd EQU 16
;universal color print to console procedure like printf() ;universal color print to console procedure like printf()
;in: DE ;in: IY
printf#: LD YH,D str: PUSH IY
LD YL,E LD C,Dss.Cursor
RST ToDSS
LD (coords),DE
POP IY
;
LD L,(IY) ; at iy we have pointer to format string LD L,(IY) ; at iy we have pointer to format string
LD H,(IY+1) LD H,(IY+1)
@ -36,7 +41,7 @@ loop1: LD A,(HL)
CP 'U' CP 'U'
JP Z,prt_u ; unsigned decimal JP Z,prt_u ; unsigned decimal
CP 'L' CP 'L'
JP Z,prt_l JP Z,prt_l ; long
CP 'C' CP 'C'
JP Z,prt_c ; print single character JP Z,prt_c ; print single character
CP 'O' CP 'O'
@ -242,10 +247,10 @@ scan_length:
LD (padch),A ; space padding by default LD (padch),A ; space padding by default
LD A,(HL) LD A,(HL)
CP '-' CP '-'
JR NZ,SL1 JR NZ,.sl1
LD (fladj),A ; all will be LEFT adjusted, not right LD (fladj),A ; all will be LEFT adjusted, not right
INC HL INC HL
sl1: LD A,(HL) .sl1: LD A,(HL)
CP '0' CP '0'
JR NZ,sl2 JR NZ,sl2
LD A,(fladj) LD A,(fladj)
@ -312,13 +317,13 @@ _strlen: EX DE,HL
;--------------------------------------- ;---------------------------------------
outch: PUSH IY outch: PUSH IY
PUSH HL PUSH HL
CP cr CP "\r"
JP Z,.new_line JP Z,.new_line
CP lf CP "\n"
JP Z,.prtNullX JP Z,.prtNullX
CP tab CP "\t"
JP Z,.tabpr JP Z,.tabpr
CP col_cmd CP cmd
JP Z,.set_attr JP Z,.set_attr
.next0: EX AF,AF .next0: EX AF,AF
@ -326,8 +331,8 @@ outch: PUSH IY
LD A,(print_attr) LD A,(print_attr)
LD B,A LD B,A
EX AF,AF' EX AF,AF'
LD C,ESTEX_wrchar LD C,Dss.WrChar
RST 0x10 RST ToDSS
LD A,(coords) LD A,(coords)
INC A INC A
CP 80 ;ª®®à¤¨­ â  ¯® X 0..79 (¨â®£® 80) CP 80 ;ª®®à¤¨­ â  ¯® X 0..79 (¨â®£® 80)
@ -350,23 +355,25 @@ outch: PUSH IY
LD (coords),A ;x LD (coords),A ;x
JR .end_pr JR .end_pr
.ScrollUP: LD DE,0 .ScrollUP: XOR A
LD D,A
LD E,A
LD HL,0x2050 LD HL,0x2050
LD BC,0x0155 LD BC,Dss.Scroll.Up
XOR A XOR A
RST 0x10 RST ToDSS
RET RET
.tabpr: LD C,0x53 .tabpr: LD C,Dss.Cursor
RST 0x10 RST ToDSS
INC E ;x++ INC E ;x++
LD A,E LD A,E
ADD A,8 ADD A,8
AND 0x78 AND 0x78
LD E,A LD E,A
LD (coords),DE LD (coords),DE
LD C,0x52 ; fix LD C,Dss.Locate
RST 0x10 RST ToDSS
JP .end_pr JP .end_pr
;Set attribute ;Set attribute
@ -392,7 +399,7 @@ padch: DB ' '
sign: DB 0 ; §­ ª ç¨á«  sign: DB 0 ; §­ ª ç¨á« 
number: DS 16 ; ¡ãä¥à ç¨á«  number: DS 16 ; ¡ãä¥à ç¨á« 
coords: DW 0 coords: DW 0000
print_attr: DB 7 print_attr: DB 7
ENDMODULE