BBC BASIC (Z80) For TI-83 Plus

For those of you who haven’t tried BBC BASIC on your TI calculator you really need to:

BBC BASIC (Z80)

There are only a few programs for it, but I think it has a lot of potential.

BBC BASIC Programs

I have made a few programs using BBC BASIC, but I mostly want to pursue SIRC, if you read this you will understand that your calculator can be used as a remote control.

Sony Serial Infrared Remote Control System (SIRCS.DEV)

By attaching a suitable adapter to the calculator’s data port you can send and receive commands to and from SIRCS-compatible devices.

Most of the hard work is done in software so the adapter is very easy to build. No responsibility is accepted for any damage to your calculator as a result of using an adapter built from the above diagram.

Receiving command codes from a remote control is straightforwards. Each command code is 7 bits and can be read using BGET#:

sircs%=OPENIN"SIRCS.DEV"
command%=BGET#sircs%

Program execution will pause at BGET# until a command has been received.

A SIRCS remote control will transmit a device code along with the command code to tie the remote control to the device it is meant to be controlling. You can get or set the device code via PTR#.

The SIRCS protocol exists in 12-, 15- and 20-bit variations. Most common devices use the 12-bit variant. The PlayStation 2 console, however, uses the 20-bit variation. You can get or set the number of bits using EXT#.

The following program will wait for a command to be received from a remote control then display information on the screen about the data received.

sircs%=OPENIN"SIRCS.DEV"
REPEAT
  C%=BGET#sircs%
  CLS
  PRINT "Command",~C%
  PRINT "Device ",~PTR#sircs%
  PRINT "Size   ",EXT#sircs%
UNTIL FALSE

To send a “cross” command (&5E) to a PlayStation 2 console (a 20-bit device with the code &1B5A) you could do the following:

sircs%=OPENOUT"SIRCS.DEV"
EXT#sircs%=20    : REM Sending 20-bit commands.
PTR#sircs%=&1B5A : REM PS/2 console has a device code of &1BFA
BPUT#sircs%,&5E  : REM &5E is the command code for "X".

Each command is transmitted six times in rapid succession for reliability.

See the SIRCS Command and Device Codes appendix for more information.

Now, I know most of you won’t understand all this code, I don’t understand some of it either. I am going to write a seperate post about SIRC, and try to decipher some of it!

I hope some of you try BBC BASIC it’s pretty cool.

If you want help with BBC BASIC you can email me at: zachgreen2018@outlook.com

 

Published by

zachgreen2018

TI-83 Plus enthusiast, TI-BASIC Programmer, Ticalc.org poster, Arduino and Esp 8266 Learner...

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s