Date : Thu, 06 Sep 2018 17:59:37 +0100 (BST)
From : hick.bbc@... (gARetH baBB)
Subject: Announce: Brandy Basic - with teletext?!
On Mon, 3 Sep 2018, Michael McConnell wrote:
> ... and a Videotex client written in BASIC as one of the examples.
You probably want to replace PROCvdu with something like
370DEFPROCvdu(M%)
380IF M% >= 32 THEN VDU (M% OR 128)
390CASE M% OF
400WHEN 27: REPEAT N%=BGET#X%: UNTIL N%<>-1: VDU (N%+64): scan%+=(N%=77)
410WHEN 8: IF POS=0 AND VPOS=0 THEN VDU 31,39,23 ELSE VDU 8
415WHEN 9: IF POS=39 AND VPOS=23 THEN VDU 30 ELSE VDU 9
420WHEN 10: IF VPOS<23 THEN VDU 10 ELSE VDU 31,POS,0
425WHEN 11: IF VPOS>0 THEN VDU 11 ELSE VDU 31,POS,23
430WHEN 12, 13, 30: VDU M%
440WHEN 17: ON
450WHEN 20: OFF
460ENDCASE
465IF VPOS=24 THEN VDU 31,POS,0
470ENDPROC
to give slightly better cursor handling.
I would also suggest
295IF I%>139 AND I%<144 THEN I%=I%-132
except there seems to be some odd behaviour with INKEY and cursor keys.