• Please review our updated Terms and Rules here

TI99/4A TI BASIC Bug - Crashes, Crazy Sprites, and Perhaps a Jailbreak ?

Alegend

Experienced Member
Joined
Jun 13, 2017
Messages
94
Location
Israel
I know I am a bit late to the party (about 40 years late I guess) but here goes.

When I was 12 or so I discovered a bug in the TI BASIC interpeter on the TI-99/4A.
It would cause wonderful crashes, errors, hangs, dancing pixels, sometimes weird sounds and sprite shows and sometimes - a console reset.
It was an unintended demonstration of capabilities in stark contrast to the slow, limited, frustrating TI BASIC.
All you needed is a TI-99/4A console.

Instructions:
0. Power up
1. Fill the memory [buffer?] with some data
2. Enter an incomplete arithmetic syntax command, such as "a=a/"
3. Enjoy

For example:

h=6721682168243623283476278346987468972369873278362783627834627834626283
a=a/

would result in a couple of random pixels, and a stuck console.

And:

z$="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
a=a/

Would result in a couple of stationary sprites [?] with a dancing pixel show in them.
And a minimal "program" to launch some lively sprites:

call char(147,"0000F00000000C0D")
a=999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
a=a/

If BASIC programs are loaded from tape, or entered and run, or the interpeter is loaded with a bit more text/history, a wonderful sprite show may result.
I never knew of GPL or VDP back then, all I wanted is to be able to program in assembly language or at least have PEEK and POKE like my buddies on their VIC20, ZX81 or C64s, but that was not to be.
Cartridges such as Mini Memory or Extended BASIC were very expensive so I never got one of those.
So - I could in principle make many sprites show up on my TV screen, but I had no control over how many, what they looked like, or what they'd do.
I have never seen a mention of this bug. Perhaps today those of you much more knowledgable in the memory structure of the machine can actually achieve proper sprite action or a proper jailbreak, and have some fun.

Some schreenshots attached for your enjoyment.

Good Luck,
-Alon.
 

Attachments

  • Screenshot 2024-05-17 153009.png
    Screenshot 2024-05-17 153009.png
    27 KB · Views: 6
  • Screenshot 2024-05-18 171636.png
    Screenshot 2024-05-18 171636.png
    26.5 KB · Views: 6
  • Sprites 180524.zip
    1.6 MB · Views: 3
  • Sprites 170524.zip
    878 KB · Views: 2
The TI-99/4A could do all kinds of entertaining things when things did not work right.

I seem to vaguely recall reading somewhere that someone had figured out a way to make stock built-in BASIC execute machine code, implying that it was "jailbroken" as such.

The built-in BASIC was incredibly limited. Reportedly, the designers didn't know what CPU would wind up in the machine so they designed the software to be non CPU-specific.

Its an interpreted language wrtitten in an interpreter, with only 256 bytes of real RAM, and the main memory is all on the video system, which is hooked to the 16-bit CPU on an 8-bit bus by a non-directly addressable shoestring. What an architecture!
 
Back
Top