rss

BeeBS


The BBS designed for the BBC Micro



                           Updates



The most obscure control codes


02 October 25 Updates

Halloween Welcome


A few days ago my version of Syncterm inexplicably stopped working, I update from source and that also wasn't working so I jumped on the SyncTERM IRC and Deuce was happy to help. The conversation went on to obscure terminal formats and I mentioned the GS mode in *TERMINAL, which after a bit of pondering I decided to try to add to BeeBS. GS mode allows the remote host to send VDU codes to the BBC Micro which can be executed on the remote machine (in my mind I think it similar to RIP. I'm not aware of any BBS that has supported this for the BBC Micro (now or back in the day) although the feature was included in at least one terminal package (Termulator).
bbcripogrip BBC Micro GS Codes in Mode2 / Orignal RIP Terminal Graphics I'm sure it can be better but my drawing ability is not good!
Codes are sent with a preceding | followed by the command. For example VDU22 change mode is achieved by |V@ for Mode 0 |VA for Mode 1 |VB for Mode 2, with V being 22. There is a tiny section at the back of the BBC Reference Manual Part 2 that describes how each number is assigned.
0 |@ 1 |A 2 |B ... 25 |Y 26 |Z 27 |[ 28 |\ 29 |] 30 |^ 31 |_ 127 |?
Values 32-126 are not preceeded with a | and use the ASCII code of the letter entered i.e. A is 65, m is 109 etc. The exception to this is | (124) which becomes ||. To add 128 to a value you use |! so |!|A is 129 but |!A is 193. Commands that take 16 bit values are a little more tricky, for example PLOT (VDU25,m,x;y;) for these values you need to break each 16bit value in to low byte and high byte (thanks to wiggy over at Stardot for explaining that to me). So VDU25,5,350;525; becomes VDU25,5,94,1,13,2 which in turn becomes:
|Y|E^|A|M|B which is |Y(25) |E(5) ^(ASCII 94) |A(1) |M(13) |B(2)
Once you've wrapped you head around that you're pretty much good to go. I quickly found however working out all the VDU codes was painstakingly time consuming. So...enter python and pygame! In a few minutes with the help of Co-Pilot I have a Python script that I can use as a plotter to generate the VDU codes needed.
It's all in alpha at the moment, but if you want to try GS mode then either use a real BBC Master:
Or you can connect via BeebEm (update to version 4.21 for the best serial support) using TcpSer. I've needed to set Baud to 2400 for it to work reliably on BeebEm (*FX7,5 and *FX8,5)
!!!At terminal Type selection, pick secret option 0!!! (zero)

Happy Halloween

Halloween Welcome



                    Created on my Acorn BBC Master 128
                                  Contact Me