bbc-microteletext

BBC Basic: Inserting a control character without occupying space in Mode 7


I'm using mode 7 ("Teletext mode") on my Beeb. I'd like to print a string of unbroken characters with an coloured text control character in the middle, as-per this mock-up:

Example string of coloured teletext characters

However, I can't work how this can be done. The control character needs to occupy space in the output:

PRINT CHR$129;"STACK"CHR$132;"OVERFLOW"

Output with the unwanted space

I read up on held graphics mode, but this only seems to allow me to repeat the last used graphics symbol, instead of inserting a space when I print a control character. When I do try this with text I just get an additional space for the held graphics character:

PRINT CHR$129;"STACK"CHR$158;CHR$132;"OVERFLOW"

enter image description here

Is this possible? Can I print a control character without getting a visible space?

Or perhaps there is a way to insert a control character followed by a backspace, to claim back the occupied space but retain the control code effect?


Solution

  • It is not possible to treat the text characters as graphics characters when using the 'held graphics' character. A good example of using 'held graphics' can be found here: http://www.riscos.com/support/developers/bbcbasic/part2/teletext.html

    You also cannot use the backspace character to go back one space as each control code takes up one space on the screen.