HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Don't mess with Texas - TI-99/4A Megademo

Rasmus Moustgaard · Youtube · 119 HN points · 1 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Rasmus Moustgaard's video "Don't mess with Texas - TI-99/4A Megademo".
Youtube Summary
Don't mess with Texas. TI-99/4A Megademo by Desire. January 2017. Recorded from the MAME emulator.

The TI-99/4A is a home computer from 1981 with a 3 MHz processor. A 32K RAM expansion is required to run the demo.

http://www.pouet.net/prod.php?which=68783
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Yeah, that's the thing, the TMS9900 was a TI-990 minicomputer CPU in a single-chip design. Per another comment, the minicomputer division didn't want competition from a home computer, so they had the TI-99/4A engineers cripple the design in various ways.

But you look at that fast scrolling routine in Parsec, or something like "Don't Mess with Texas" (https://www.youtube.com/watch?v=ZhSUhE03XFw) and you wonder what might've been.

Jan 30, 2017 · 119 points, 73 comments · submitted by happy-go-lucky
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!

svachalek
Yeah this brought back fun memories. I learned to program on the TI-99/4a and I can still visualize hex numbers as bitmaps because that's how you had to program graphics on the thing.

I actually got a TI program published by Enter magazine but Enter went defunct before it got to print, and later appeared in 3-2-1 Contact magazine instead. "Rainbow Rectangles", can't remember the publication date. Not quite (cough) as cool as this demo.

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...), 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 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.

ssambros
> there was one store called "The Bach Company" on San Antonio Road in Palo Alto

I think the store is still there. I bought an HP 50g calculator from them on eBay with pickup a couple of years ago.

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

"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...

cmrdporcupine
Yeah, 16-bit data bus but only 16-bit address bus. So still has the limitation of 64k memory which was really the chief defect of machines of that era.
Narishma
I wouldn't call it a defect. It's just a limitation, which could and did get worked around to a certain extent with various bank switching schemes.
cmrdporcupine
Well it was a hindrance and probably the chief reason people wanted to upgrade later to 16-bits. In reality a 6502 or Z80 at 1-3mhz with supporting circuity was probably fast enough for most people's needs, but the memory sizes and lack of 80 column displays gave those machines limited usefulness for the things people needed computers for at the time: word processing, home spreadsheets, etc.
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...

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...
diydsp
Yes, I happened to watch its release at Synchrony 2017 Saturday night in Montreal.
happy-go-lucky
You may want to check this out:

http://hackaday.com/2017/01/30/dont-mess-with-texas-the-ti-9...

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

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

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.

morganvachon
I feel like you're my Doppelgänger, everything you just wrote mirrors my experience. I got mine at six years old in 1983.
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
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.
None
None
cptskippy
The TI-99 is a desktop computer, at first I thought it was a calculator like the TI-98.
happy-go-lucky
TI-99/4A was an enhanced version of TI-99/4.

http://oldcomputers.net/ti994a.html

nsxwolf
I have a TI-99/4. The keyboard is so terrible the computer is nearly unusable. It's much worse than the keyboards that usually make the "bad keyboards" list - I'd happily spend all day typing on an Atari 400 or an IBM PCjr. It makes the Timex Sinclair feel like some expensive Cherry MX board.
bitwize
The 4A's keyboard is much better.
nsxwolf
It really is! Especially the black ones. They used a few different manufacturers, but all the ones I have feel pretty good.
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 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...

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

Flow
Download it and see for yourself.

http://www.pouet.net/prod.php?which=68783

Olivier26
That's an interesting proposition. I've installed MAME but I need to hunt for the BIOS.
joakleaf
I hear you regarding the speed... I had a TI and I learned to program on it, so I know how amazingly slow it was!

They do mention that they used extra RAM from the floppy drive controller which would help!

I don't see anything that makes me think it is completely impossible. Lots of the more complicated full screen effects could probably be made by altering character bitmaps (which was pretty fast). Parsec managed smooth horizontal scrolling back in the day, but I must admit some of the scrolling stuff definitely looked challenging to do on that machine. I still think, you can get far by manipulating character bitmaps, and clever use of sprites.

I still think calling it "fake" may be a bit harsh on the coders if it isn't.

Anyone tried it on one of the emulators?

Olivier26
Well, Parsec is very far from this demo, if the window is small it's for speed. The demo is full screen, which is impressive. And Parsec is coherent with what the hardware had to offer for the 3D those years, like Elite.
joakleaf
Parsec was 2D horizontal smooth scrolling. It wasn't full screen, but the scrolling screens in this demo generally contains repetitive graphics, which would allow them to use a number of possible tricks.

I actually downloaded and tried the demo on the Classic99 emulator, and it works exactly as advertised.

Would love to see actual hardware demo though.

Olivier26
Same here, it works even with the F18A option disabled. So I apologize to these talented developers!
orbitaldecay
No problem ;)
nsxwolf
I have the real hardware ready to go, but I don't currently have an easy option for getting software from the internet onto it. I see they made a ROM cartridge version of it; if they ever make a run of those for sale I'll definitely grab one.
arcadeshopper
you are in luck they are available soon as I get the labels in also many other new TI-99/4a games, expansions etc including 32k if you don't already have it
orbitaldecay
FYI, a kind member of the atariage forums will be burning carts for cheap. if anyone is interested just stop by the forums there.
arcadeshopper
check out another demo here by one of the coders of the megademo https://www.youtube.com/watch?v=Guv_Jp3m-vw this is video from my 99/4a screen real hw.. my boot menu is a gram device so it's a little different..
nsxwolf
A mistake on that article... the 32K RAM expansion is a separate card, not part of the floppy controller. They were almost always sold together, however.
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
Apparently the TMS9918 powered the MSX too, I will watch some demoes.
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.

joakleaf
From Wikipedia: --- • Multicolor mode: 64×48 pixels (each pixel may be any color, all 32 sprites are available)

• Bitmap mode: 256×192 pixels (no more than two colors in an eight pixel row, full 15 color palette + transparent, all 32 sprites available)

• Graphics mode: 32×24 characters (256 8×8 user-definable characters, full 15 color palette + transparent and 32 sprites. ---

The last was the mode accessible from Basic and Extended Basic. I remember longing for the bitmap and multicolor mode.

For the 256x182 mode, the pixel bitmap is 5824 bytes bitmap, plus 1 byte for color info of each 8-pixel (4-bit foreground/4-bit background) which is also 5824 bytes. Total 11648 bytes. Just 2 bits per pixel BTW.

The TI994a had 32 sprites (all single colored 8x8 pixels). You could also magnify them.

Also from Wikipedia: --- The TMS9918 was the basis for the VDP chips in the Sega Master System, Game Gear and Mega Drive. They used additional display modes and registers, and added hardware scrolling capabilities and other advanced features. (Note that the Mega Drive VDP cannot access any of the TMS9918 display modes discussed below.) ---

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.

awfgylbcxhrey
This would be appallingly bad for an Amiga demo. The demo scene is alive and well, teaching old hardware new tricks decades after it was released.

8088 MPH demoed 1,000 colors on CGA a couple of years ago:

https://m.youtube.com/watch?v=yHXx3orN35Y

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

ams6110
First "real" program I ever wrote -- at age 12 or 13 was on TI-99/4A. I've never been into video games so I wrote a program to manage my paper route. Back then there were these paper publications called newspapers and kids could get jobs that entailed walking around the neighborhood without adult supervision and delivering the papers to houses. Also collecting money once a month.

I had a customer file (on cassette tape of course) and it tracked how much each customer owed, etc.

It was a spaghetti mess I'm sure as I knew nothing about programming but I got it to work.

Of course a paper ledger would have been just as good (and probably faster to use) but where's the fun in that?

joncp
I still have mine in the closet. I learned to code in TI BASIC on that beautiful machine. I've kept it for 35 years because it's the biggest single influence from my childhood on who I am today. I should pull it out and relive some old memories.

That said, there's no way in hell that video was a TI BASIC program. There were way too many sprites moving too smoothly around the screen. They must have made a custom cartridge.

kaspm
I still have my first BASIC program for the TI-99 stored on a cassette in storage. My grandpa, who was an engineer at Parsons in Pasadena, bought it for me when I was 5 years old. My then 9-year old cousin then taught me how to program (Hi David, if you're reading this). We're both engineers now.

The program, incidentally, counts to 1,000,000 and outputs each number on the screen, it took 3 days to run.

to3m
Well, the cassette is certainly probably still where you put it...
kdahlhaus
My brother dropped off a box he saved for me a few years ago that contained my old TI tapes. A person on the TI-99/4A user group offered to read some in and provide emulator disk images. It actually worked and I was able to play the game I wrote back in 1982 again. Here's a screen shot http://i.imgur.com/4d74DqX.jpg
pmiller2
It was my first computer as well. I loved the crap out of that machine. I had Extended Basic, but I wish I had been able to get the editor/assembler cartridge and the expansion box. The voice synthesizer was one of my favorite things to play with. :)
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.
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.