BIOS Text Functions

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Text Character Output (and read-back from VRAM)

 BB5A TXT_OUTPUT        in: A=char ;display 20h..FFh, or handle 00h..1Fh
 BB5D TXT_WR_CHAR       in: A=char ;display 00h..FFh
 BB60 TXT_RD_CHAR       out: A=char, Z=space, cy=1=okay

Text Cursor Position

 BB6F TXT_SET_COLUMN    in: A=x
 BB72 TXT_SET_ROW       in: A=y
 BB75 TXT_SET_CURSOR    in: H=x, L=y
 BB78 TXT_GET_CURSOR    out: H=x, L=y
 BB87 TXT_VALIDATE      io: H=x, L=y, out: cy: 1=position ok, 0=scroll
 BB63 TXT_SET_GRAPHIC   in: A=0=normal text position, A>0=graphics position

Text Cursor...

 BB7B TXT_CUR_ENABLE
 BB7E TXT_CUR_DISABLE
 BB81 TXT_CUR_ON
 BB84 TXT_CUR_OFF
 BB8A TXT_PLACE_CURSOR
 BB8D TXT_REMOVE_CURSOR

Text Colors

 BB90 TXT_SET_PEN       in: A=foreground color 0..15
 BB93 TXT_GET_PEN       out: A=foreground color 0..15
 BB96 TXT_SET_PAPER     in: A=background color 0..15
 BB99 TXT_GET_PAPER     out: A=background color 0..15
 BB9C TXT_INVERSE       exchange foreground and background colors
 BB9F TXT_SET_BACK      in: A=0=normal, A=1=transparent/OR
 BBA2 TXT_GET_BACK      out: Z=normal, NZ=transparent/OR

Text Character Set

 BBA5 TXT_GET_MATRIX    in: A=char, out: HL=char bitmap ptr, cy:0=ROM,1=RAM
 BBA8 TXT_SET_MATRIX    in: A=char, HL=ptr to 8x8 char bitmap
 BBAB TXT_SET_M_TABLE   in: D=00h=RAM, E=1st char, HL=RAM chars, out: cy,A,HL
 BBAE TXT_GET_M_TABLE   out: cy=1=RAM, A=1st char, HL=RAM chars

Text Windows (aka Streams)

 BB66 TXT_SET_WINDOW    in: H=x1, L=y1, D=x2, E=y2 (x=0..79, y=0..24)
 BB69 TXT_GET_WINDOW    out: H=x1, L=y1, D=x2, E=y2, cy=0=hardware scrolling
 BB6C TXT_CLEAR_WINDOW  fill window by PAPER color
 BBB4 TXT_STR_SELECT    in: A=new window number, out: A=old (# 0..7)
 BBB7 TXT_SWAP_STREAMS  in: B,C=window numbers to be exchanged

Text Init/Specials

 BB4E TXT_INITIALIZE
 BB51 TXT_RESET
 BB54 TXT_VDU_DISABLE
 BB57 TXT_VDU_ENABLE
 BBB1 TXT_GET_CONTROLS  out: HL=ptr to table of control characters
 BD40 TXT_ASK_STATE_664 ;out: A(b0=CUR_EN,b1=CUR_ON,b7=VDU) (664 and up only)
 BDCD HOOK_TXT_DRAW_CURSOR
 BDD0 HOOK_TXT_UNDRAW_CURSOR
 BDD3 HOOK_TXT_WRITE_CHAR     ;in: H=x, L=y, A=char
 BDD6 HOOK_TXT_UNWRITE        ;in: H=x, L=y, out: A=char, Z=space, cy=1=okay
 BDD9 HOOK_TXT_OUT_ACTION     ;in: A=char