
Don't Mess with Texas – TI-99/4A Megademo [video] - happy-go-lucky
https://www.youtube.com/watch?v=ZhSUhE03XFw&feature=youtu.be
======
ddrager
Oh wow, the TI-99/4A, I learned BASIC on this computer! If you didn't have the
tape storage unit, which could save data onto an audio cassette, you had to
re-type your program into the computer if the power went out or unit was
reset.

It also had an external voice processor as an addon which was really creepy
[https://www.youtube.com/watch?v=kUPkCNcT1Yw](https://www.youtube.com/watch?v=kUPkCNcT1Yw)

~~~
13of40
It was my family's first computer and the one I wrote my first programs on.
Three things that stuck in my craw about it were:

1\. BASIC supported PEEK but there was no POKE.

2\. You could save files to a disk but you had to remember the file names
because there was no way to list them.

3\. Lower case letters were just small versions of uppercase.

For the last one, a year or so ago I actually found a dump of the Apple IIe
font and hacked an emulated TI-99 to use it, and it worked and looked great,
so I have no idea what they were thinking.

Anyway, it's awesome to see them be able to squeeze so much out of it in this
demo.

~~~
nsxwolf
If you plugged in the Mini Memory cartridge, it added a POKE command to TI
BASIC.

There was a common cartridge, "Disk Manager 2", which gave you common DOS-like
disk management utilities.

The lowercase font really was absurd. A few programs redefined them with much
more pleasant fonts. The "Adventure" module for running the Scott Adams text
adventures comes to mind.

~~~
ams6110
The Editor/Assembler program gave you a better font as well as 40 colummns
instead of the normal 32.

~~~
nsxwolf
That text mode is a lot nicer, but you give up sprite support to use it.

------
joakleaf
I grew up and learned basic on a TI-99/4a. It was a wonderful and simple
time... but TI Basic was so incredibly slow.

At least Extended Basic allowed you to use sprites and overall felt a bit
faster.

In TI Basic, you accessed the more interesting parts of the machine "Call"
functions (e.g. "Call Color", "Call Char", "Call hchar", etc.), and I always
found Commodores peek/poke mess very primitive and a bit more inaccessible in
comparison. On the other hand the TIs basic and extended basic didn't allow
you to access the full capabilities of the machine. Possibly because they
wanted you to buy their expansion cards, which I always thought was a dumb
mistake from TIs side. That, and that super slow Basic. Especially,
considering that the TI has decent capabilities on paper.

I was only about 7 years when I started programming on the TI, and I always
wanted to try to write assembler on it, but (happily) moved on to more
powerful computers before I got around to it a few years later. I believe it
required an extra expansion card to unlock assembler -- but I really wanted to
see what the machine was capable of unconstrained by the Basic Interpreter.

Thanks to the guys who made this demo. It is fun to finally get to see what
could have been, and super impressive for someone who grew up programming the
machine.

This demo is definitely not representative of the applications and games
available on the machine at the time.

Well done!

~~~
pm215
The slow BASIC was due to the completely insane doubly-interpreted
implementation. The BASIC interpreter was written in GPL (Graphics Programming
Language;
[https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A#VDP...](https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A#VDP_RAM_and_GPL)),
which was itself interpreted at runtime.

~~~
boomlinde
If I understand that correctly, the BASIC programs were stored in VDP RAM. If
that's anything like the MSX (most of which also used this video chip), that
means that BASIC tokens are read from a slow 8-bit bus by writing addresses
byte by byte to a port and reading the content from another.

There's functionality to automatically increment the VDP address, but any non-
contiguous read will have to write the VDP address to the port.

I really like this layered design despite its performance impact. It meant
that they could fully utilize the VDP RAM where the CPU local RAM was lacking.

~~~
pm215
Not only the BASIC programs you wrote (which do indeed live in VDP RAM). The
BASIC interpreter itself was stored in GROM, which was read-only but had a
similar slow 8-bit interface with an address port and a data port on it, and
written in GPL bytecode which was then interpreted by a GPL interpreter which
lived in real ROM.

If they'd written the BASIC interpreter in actual machine code and put it in
ROM then your BASIC programs (and the interpreter's own volatile data) could
still have lived in VDP RAM, but everything would have been rather faster...

[http://www.unige.ch/medecine/nouspikel/ti99/gpl.htm](http://www.unige.ch/medecine/nouspikel/ti99/gpl.htm)
is a detailed description of what GPL looks like.

------
apo
Good times. I owned one of these.

The TI-99/4A was never very popular, but there was one store called "The Bach
Company" on San Antonio Road in Palo Alto that specialized in selling hardware
and software for it.

It's easy to forget just how hard it was to get software for a home computer
in the early 1980s. If you had a modem, then you could use bulletin boards,
but the first 300 baud models (plus required RS-232 interface) cost even more
than the computer itself and so were out of reach for me at least.

One of the things the Bach Company sold was 99/4A software on audio cassette.
It was packaged in a plastic bag along with a paper printout brochure. Even
though I was just a kid, looking back I'm amazed that it never once occurred
to me that I could sell software the same way.

~~~
pjmlp
On my home town in Portugal the only BBS available could only take about 5
simultaneous connections, nevermind the outrageous prices for connecting
outside the city center.

------
grhmc
Fairly unrelated, but fun: "Don't mess with Texas" is a long-standing _anti-
littering_ campaign.

~~~
dbg31415
* Don't Mess with Texas - Wikipedia || [https://en.wikipedia.org/wiki/Don't_Mess_with_Texas](https://en.wikipedia.org/wiki/Don't_Mess_with_Texas)

"The campaign is credited with reducing litter on Texas highways roughly 72%
between 1986 and 1990."

------
arundelo
(Not relevant to this demo in particular, just a piece of trivia I only
learned in the past few years:) It makes sense to think of the TI-99 as part
of the 8-bit microcomputer boom of the 1980s (Commodore 64, Apple II, TRS-80),
but it actually had a 16-bit processor! (Which communicated with most of the
rest of the computer through an 8-bit bus.)

[https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A#Fir...](https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A#First_personal_computer_with_a_16-bit_processor)

~~~
Narishma
The contemporary of the Apple II and TRS-80 was the Commodore PET. The C64
came much later.

~~~
arundelo
I'm talking about 8-bit microcomputers in general, from the late seventies to
the mid-to-late eighties:

[https://en.wikipedia.org/wiki/Home_computer#Notable_home_com...](https://en.wikipedia.org/wiki/Home_computer#Notable_home_computers)

EDIT: I owned a Commodore 64 and a TRS-80 in the eighties, and used an Apple
IIe at school. These were all programmable in Basic, and although the C64 was
clearly the most powerful, they were all similar in power compared to, say, an
Amiga.

~~~
YZF
The Amiga used the 68K so it was more powerful than the previous
microcomputers that were mostly 6502 (some Z80).

~~~
LocalH
Although to be fair, when referring solely to BASIC performance, MS's
AmigaBasic was complete trash.

------
HerrMonnezza
Does the demo run at this speed on a real TI-99/4A? The notes say the video
has been recorded on a MAME emulator...

~~~
happy-go-lucky
You may want to check this out:

[http://hackaday.com/2017/01/30/dont-mess-with-texas-the-
ti-9...](http://hackaday.com/2017/01/30/dont-mess-with-texas-the-
ti-994a-megademo/)

~~~
jcl
Lovely summary, thanks! I kind of wish the video description linked either to
that page or directly to the creator's linked Pouet comment, as they do a
pretty good job explaining why the demo is significant.

[http://www.pouet.net/prod.php?which=68783#c782205](http://www.pouet.net/prod.php?which=68783#c782205)

------
kens
The TI-99/4A uses the TMS9900 16-bit processor. I looked it up on Wikipedia
and was surprised to see that this chip requires a four-phase clock. Anyone
know why it uses a four-phase clock?

The reason I'm curious is that four-phase circuitry was a big thing in the
late 1960s, used in mostly-forgotten early MOS computers such as the
Autonetics D-200 and the Four-Phase Systems AL1 chip. But I'd be surprised to
find TI using four-phase logic in 1976.

See: [https://en.wikipedia.org/wiki/Four-
phase_logic](https://en.wikipedia.org/wiki/Four-phase_logic)

------
Severian
I spent many, many hours with my family's TI-99/4A. I think my parents got it
from Radioshack, as we had a Realistic tape deck to store programs with it. It
was the base model with the speech synthesizer.

It was the first computer I had ever used, and learned to program in BASIC at
around 6 or 7 years old. I don't think I would be interested in programming
and electronic circuits (and by extension, electronic music composition) if it
wasn't for that early exposure.

This is a great demo to see. You almost never hear of the 99/4A anymore.

~~~
DigitalJack
Similar story here. Although I didn't get into programming until I got an
Apple //e a few years later.

I remember typing in a program on the 99/4A (a game called downhill ski or
something like that) from BYTE magazine, or some such magazine. I remember the
pain of debugging typos... The hours it took typing it in.

I was expecting something like one of the cartridge games to pop out. I was
quite disappointed with the fact that it was ascii, the character was a > or <
sign, and the trees were asterisks. All I could think was it took a whole
saturday to program that, and the result was not worth the effort.

Years later when I got the Apple, my expectations had been tempered by the
previous experience.

Of interest is that my sister did not get into electronics or programming. We
both played games on both computers, but took different paths in life. I'm not
sure if she would say now that the computers had much impact on her life
direction. She's a medical doctor now, fwiw.

It's part of the reason I cringe whenever I hear someone on the internets
pleading for information on how to teach their kid to program. I think being
exposed to such environments is great, but it might just be that your kid is
more suited to being a doctor, lawyer, teacher, fire fighter, what have you.

There is a world of difference between "teaching my kid to program" vs
"showing/exposing them to the awesome world of programming."

------
Dya
Hi all - this is Dya - I worked on the intro music for the megademo. There is
now a real hardware recording here:
[https://www.youtube.com/watch?v=-U7j5o0bVPA](https://www.youtube.com/watch?v=-U7j5o0bVPA)

------
nsxwolf
I've waited a long time to see a "real demo" on the TI-99/4A so this is just
super cool to see.

------
eternalban
I still have mine but don't have the setup to hook it up to a monitor.
Extended Basic was sweet; wrote lots of little games with it. This machine
doesn't get the love it deserves.

------
mimo777
Brings back good memories. When my power pack went, I was devastated.

------
protomyth
We had one at my high school with the speech synthesizer module. I spent quite
a lot of time messing with that thing. Got it to do passible Dakota after a
bit of work.

------
cptskippy
The TI-99 is a desktop computer, at first I thought it was a calculator like
the TI-98.

~~~
dTal
TI-98? No such thing as far as I know.

The TI-89, now. That is a calculator. Also a significantly more capable
machine in virtually every respect.

~~~
cptskippy
You're right, I was thinking of the TI-92.

------
mdb333
this makes me realize I need to get back up in the demo scene as well dust off
my ol' TI-99 with speech and crush some Parsec!

------
Olivier26
This is an Amiga demo, the TI-99/4A wasn't so fast.

~~~
joakleaf
Why do you think it is an Amiga demo?

~~~
Olivier26
The boucing ball, and Wolf3D/Doom wasn't yet a big thing in the 1981-1984
years... And the quality of graphics and sounds, the number of colors, the
speech synthesis: the TI99 was more shhhh shhhh... The real 99/4A:
[https://www.youtube.com/watch?v=7UxJM7AhZvw](https://www.youtube.com/watch?v=7UxJM7AhZvw)
Not the same world!

~~~
joakleaf
The demo was credited as 2017, so I don't think you can really use the
bouncing ball or Wolf3D as reasons.

You could actually buy a speech synthesizer for the TI.

Yes, the demo is impressive compared to what else was available on the
machine, but it actually had a (underutilized) 3 Mhz CPU and pretty advanced
graphics system.

The TIs biggest problem was that it came with very little RAM, so you
generally had to store application data in video memory or expansion cards,
which made the machine incredibly slow.

More info about the demo here: [http://hackaday.com/2017/01/30/dont-mess-with-
texas-the-ti-9...](http://hackaday.com/2017/01/30/dont-mess-with-texas-the-
ti-994a-megademo/)

~~~
Olivier26
OK for the 2017 demo, but the TMS9900 was slower than the Z80/6502 of the same
time, because it was a 16-bit microprocessor with a 8-bit bus, and registers
were mapped to the RAM. This demo required power, and is very far from all
other TI99/4A games, and most of them were written in assembly (the basic was
too slow). So I still think it's a fake, or it is running on a deeply modified
emulator, or with hardware extensions listed in the wikipedia page * ) but
it's not a "vanilla" TI/994A.

* [https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A](https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A)

~~~
nsxwolf
I don't have any problem believing this can run on real hardware. One of the
programmers, Tursi, has done some amazing things that do indeed run on the
real thing.

I'm not sure what you're counting as "vanilla", but a TI with the Speech
Synthesizer and the 32K RAM expansion is vanilla to me. Those are utterly
ubiquitous and period-correct OEM upgrades.

If it required the F18A, which is an FPGA implementation of the TMS9918
graphics chip with some significant new features on it, I'd agree that
wouldn't count. That chip makes it a totally different graphics machine.

~~~
Olivier26
> TI with the Speech Synthesizer and the 32K RAM expansion is vanilla to me

Agree

> graphics chip with some significant new features on it, I'd agree that
> wouldn't count.

Agree too. If the graphics chip was so powerful, it's hard to understand why
it was so underused, and not integrated in other microcomputers of this time.
The video memory of the TI was 16KB, I had several computers with this size,
and you couldn't render with this quality, even statically because at 256*192
it's less than 2,6 bits per pixel. And the number of sprites is more than
impressive.

~~~
nsxwolf
Actually the TMS9918 is used in a lot of places - in addition to the MSX
(which I see you noted below) it was also used in the Colecovision game
console and Sega's SG-1000 among others.

The sprite support was great, especially for the late 1970s. Though, I
continue to be impressed with what an unencumbered architectire like the Apple
II can do with sprites purely in software.

Sega actually kept going with the architecture - the Sega Master System used
an upgraded 9918 based chip, and the Genesis/Mega Drive built further on top
of that.

