The demoscene is a hotbed of masterful assembly programming, particularly when it comes to platforms long forgotten by the passage of technology and time. There’s a certain thrill to be had in wringing every last drop of performance out of old silicon, particularly if it’s in a less popular machine. It’s that mindset that created Don’t Mess With Texas – a glorious megademo running on the TI-99/4A.
Entered in the oldskool demo contest at Syncrony 2017, the demo took out the win for [DESiRE], a group primarily known for demos on the Amiga – a far more popular platform in the scene. The demo even includes a Boing Ball effect as a cheeky nod to their roots. Like any good megademo, the different personalities and tastes brings a huge variety of effects to the show – there’s a great take on vintage shooters a la Wolfenstein in there too. [jmph] shared a few more details on the development process over on pouet.net.
The TI-99/4A wasn’t the easiest machine to develop for. It’s got a 16-bit CPU hamstrung by an 8-bit bus, and only 256 bytes of general purpose RAM. Despite the group’s best attempts, the common 32K RAM expansion present in the floppy drive controller is a requirement to run the demo. Just to make things harder, the in-built BASIC is too slow for any real use and there’s no function to allow the use of in-line assembly instructions. The group had to resort to a cartridge-based assembler to get the job done.
In the machine’s favour, it has a great sound chip put to brilliant use – the demo’s soundtrack will take you right back to the glory days of chiptune. It’s also got strong graphics capabilities for the era on par with, if not better than, the Commodore 64. The video subsystem in the TI works so hard that it’s the only DIP in the machine that gets a heatsink! The demo does a great job of pushing the machine to its limits in this regard.
If you’re suddenly feeling a strong attraction to the TI-99/4A, don’t worry – it’s got a cult following all its own. You can even find USB adapters & IDE controllers if you want to build a fully loaded rig, or play a stunning port of Flappy Bird if that tickles your fancy.
[Thanks to Gregg for the tip!]
I don’t know about “strong attraction”, but they were pretty nifty (and affordable) machines for the time.
http://www.ti994.com/timeline/
According to this about 3 million consoles worldwide which isn’t bad for the time.
Don’t call computers “consoles” please. Otherwise I’ll start calling trucks “cars”.
+1
“Console” is the correct idiom for TI-99/4A just as “control deck” was the idiom for the NES. Not the same as “console” as a distinction from personal computer.
Ah, the TMS9900 in there was a very interesting architecture, from the times when RAM was much faster than CPU.
The 16 “registers” were just a region on RAM pointed at by a register on the CPU. Very “fast” (we’re talking a few MHz) context switches and stack juggling!
Heck, I ought to get out my 99/4A and my other 99/4A and try to turn them into one fully working 99/4A.
old times :) First computer I ever found a buffer overflow for that allowed using sprites without using the basic extension module
Nice one. I’ve got a boxed 99/4A sitting under my bed. It’s working but I really have no idea what to do with it. Perhaps it’s time to flog it? Let’s hope this article jacks up the price :)
I had a TI-994/A. Didn’t like it all that much.
Oh, I started on the 4/A when I was 7 years old. I loved the thing. Funny story… the program you use to load a BASIC program from a cassette tape is larger than the program used to save to tape. So, at some point if your BASIC program hits the right size, you can save it to tape but never load it again. My “huge” dungeon game at a few hundred LOC disappeared forever in this way. The machine also went nuts and created the most beautiful graphics ever (compared to the normal stuff on the machine) when you did try to load such a program. It’s hard to believe it wasn’t intentional… the top half of the screen was a shaded blue gradient, the bottom was solid green. The text somehow was squashed very flat so it looked like you were typing on a field into the distance. There was also some kind of shaded sphere (?) or something somewhere. It was a huge disappointment to lose my prized game code, but the way in which the machine crashed helped make up for it.
Excellent demo. It had every technique including racing the beam.
The 32K expansion was on its own card, not in the floppy controller. The 99 has seen some recent activity in fancy upgrades. The F18A is an FPGA clone of the video chip, with VGA output, 80 column mode and other goodies added, but alas, not yet a full bitmap mode with every pixel individually colorable.
The F18A VDP is a direct replacement for *any* microcomputer or game console that used the TMS 9918A, TMS 9929A or TMS 9919A. The 18A outputs NTSC composite while the 29A does PAL component video. The rarely used 19A did PAL composite. AFAIK TI never made an NTSC component version, which would have been the TMS 9928A.
So if you have an old MSX1 computer kicking around, or anything else using any of those three TI VDPs you can give it VGA output with this VDP. Using the upgraded features will of course require writing new software. Dunno if it can replace the earlier non-A versions as used in the TI-99/4 – which had no lowercase character set.
http://codehackcreate.com/
Very nice demo, brings back a lot of memories, sounds like they had a speech synthesizer on it and looks like they used a few call load (peek pokes) for some of the effects. I think the 994a is responsible for my love of technology today, it was my first introduction to programming in both basic and logo. This was the first computer I used to connect to BBS s with and because it was made by TI I was also introduced to the format of the instruction manuals that they still use in data sheets today. If it wasn’t for the slight taint from Bill Cosby’s involvement it would be perfect.
Heh. I remember plugging in the ‘firehose’ cable for the PEB to run MS Multimate in 48K of RAM cut the poor computer’s speed in half. Imagine having a third of your RAM at the end of a two-foot cable in another box!
I dunno maybe you had a bad one! Adding that 32k ram expansion opens up the 4/a into a usable personal computer and lets you use languages like assembly, fourth, c and more to get better performance.. I have a 1mb SAMS card in one of my 99/4a systems which has that base 32k and the rest is addressable in C, fourth and RXB (a newer extended basic) There is also a new 32k sidecar card for 35$ so you don’t even need the big box to run the software that needs that extra ram. Or the NanoPEB which added 32k, rs232 and a cfcard floppy emu.
No, it worked fine, but having part of the RAM at the other end of the equivalent of a two foot long(?) PCB causes substantial latency issues. There is a reason, after all, why CPU’s and RAM are always as close as possible on a motherboard.
This is all way before my time…
I found this while trying to figure out what a “firehose cable” was.
http://atariage.com/forums/forum/164-ti-994a-computers/