Here's the BASIC program I used as a benchmark and the results. If you run it on a different platform, let me know and I'll add the result to this table. 10 FOR i=1 TO 10 20 s=0 30 FOR j=1 TO 1000 40 s=s+j 50 NEXT j 60 PRINT "."; 70 NEXT i 80 PRINT s Results: docs.google.com/spreadsheets/d/1bfWSR2Ngy1RPedS6j-M607eeAhsd40-nhAfswILzzS8/edit?usp=sharing
BASIC benchmarks are always triggering me (in a positive way), because I wrote this BASIC cross compiler for BASIC V2 and I somehow have to try every benchmark that I come across to see, how it keeps up. This is the compiler: github.com/EgonOlsen71/basicv2 And this is the compiled program for the C64: jpct.de/download/++noel.prg It takes 14.xx seconds on a PAL C64.
@@EgonOlsen71 Nice! I wasn't aware of that project. But if that's compiled down to machine language, I'm surprised it's not actually faster, right? (and I don't mean that the compiler detects the outer loop as useless and removes it). I should time an assembly version of that loop to get a best possible case.
I ran this on my IBM 5160 (4.77 8088) running Qbasic: 48 seconds. For shiggles I ran the same test on my Gateway 486dx2 66v: 12 seconds on Qbasic. Amusingly it spat out 90 periods while running. I'm going to speculate that Qbasic is on the heavy side for the 8088 but on the light side for the 486.
@@NoelsRetroLab There are two things that hinder speed: 1. It's still floating point math, albeit the compiler comes with optimized routines for +-*/ and SQR 2. At least in BASIC V2, there are no FOR-NEXT loops in the way in which we nowadays think of them (i.e. as a block of code between the start and the end of a loop). There's a FOR command and there's a NEXT command and by accident, they form a loop. They both operate on a stack which increases the overhead.
The TI-99 was my very first computer. Yes it was a bit slow, but I loved it! I learned so much about BASIC and computing with the TI-99. Great video Noel.
Yes it was my first computer. It wasn't my first basic though, I learned basic on a wang computer, at a community college. I used TI basic for a short while but I got extended basic which I liked better.
Many many hours of my youth were spent playing Munch Man and Parsec! I had completely forgotten about Parsec until you showed it here. Then it all came flooding back. Thanks!
Thank you! I added it to the list and I noticed that's the exact time from another computer already in the benchmark results: The CASIO PB-100. Then I looked up the TSR-80 PC-4... and it looks like they're the same, just branded differently. So I guess the benchmark is working! 😃docs.google.com/spreadsheets/d/1bfWSR2Ngy1RPedS6j-M607eeAhsd40-nhAfswILzzS8/edit#gid=22692068
Interesting video. Fascinating to see the huge difference in BASIC performance across those machines. I've just run your BASIC program on my BBC Master and it ran in 15.8 seconds.
Fascinating video Noel, I really appreciate in-depth stuff like this and your scientific approach to comparing and benchmarking these machines. Top work as always!
1:35 that's the reason why many people who bought the TI-99/4A also bought the Extended Basic cartridge a few days later; but the manuals across all the line of Texas devices (including cartridges) were excellent, both in printed quality and extensive contents.You have a new subscriber, great extensive coverage video of this venerable 16-bit computer.
After my previous comment, I was thinking about this and realized I had the perfect setup to test this myself. A silver and black TT-99/4a with a TPIP/32k and FinalGROM99. The FinalGROM has numerous versions of BASIC so I entered and save the program you used and then tested each version. Here are the results. Console BASIC 1:19 Extended BASIC V2.4. 1:42 Extended BASIC V2.5. 1:42 Extended BASIC V2.6. 1:42 Extended BASIC PLUS. 1:42 Load and run BASIC. 1:18 Mechatronic Extended BASIC 1:42 RXB 2015 1:42 RXB VERSION 2002. 1:42 TI Extended BASIC V100. 3:08! TI Extended BASIC. 1:42
That's great. I didn't realize you could test a lot of those with FinalGROM99 and a RAM expansion. I figured it would rely on something specific to the cartridge. But that's great, and I'm blown away that they're all slower (except for one). It must be something about running from cartridge it makes it even slower than running from a system GROM.
@@NoelsRetroLab Yes, I was surprised at the results. I may try to write a programs using graphics and sprites to see how the various versions compare. If you really want to get the most out of the TI, you should get a TIPI/32k. It gives you 32k RAM, ability to save and load programs, and even browse the internet. Although only a few sites are simple enough for the TI Bowser to handle.
Very cool episode Noel! The TI-99/4a was my first computer, where I also learned to program in basic. It had many limitations, but I still have good memories about it . Cheers
@@NoelsRetroLab Totally agree. For example, until I saw it in the video, I did not remember the operation of the Delete key ... hahaha how everything has evolved since those days
Same here. But saving files on a cassette tape is rough on an impatient 14 year old. Couldn't get my dad to shell out for the floppy drive expansion. But I still did what I could, and waited the half hour on average to save my work. Also had a Radio Shack pocket computer at the time, one line 24 character lcd display, and only maybe 1.2k or memory. It was more of a really fancy calculator with an alphanumeric keys too. Wrote a slot machine game for it.
@@peterbelanger4094 half an hour? How big was that save? Computer only had 16K of memory. Tunnels of Doom (Quest for the King) loaded in probably around 5 minutes.
Great video! Ran your program on my Atari 800 using Basic rev C and got basically the same as you. Popped Altirra Basic 1.29 into the Atari 800 and it ran in 25 seconds.
Thanks! From what I can see Altirra is a modern development, right? I won't add it to the list, but it's amazing how much more efficient we can make things now with knowledge and time.
@@NoelsRetroLab Yes it is a modern basic. I went ahead and dug out my Atari Basic XL 1.03 cartridge. It ran in 31.5 seconds on a bare metal Atari 800. Basic XL was current during the 800/XL days. My cart is dated 1983. If I remember right the devs who made the original Atari basic left Atari and started OSS and created Basic XL, Action, Mac/65 and other great dev tools for the 8-bit line.
I just tried it in the Altirra emulator with Turbo-BASIC XL (which is from 1985) and it took 22 seconds (XL system, PAL). Turbo-BASIC *rocked*. :-) Link: atariwiki.org/wiki/Wiki.jsp?page=Turbo-BASIC%20XL
As a kid I spent SO much time playing Munch-Man! Really cool, the ghosts change shape each level and one of the highest levels makes the maze invisible, really tough! I always used a joystick, though I recall they were terribly short-lived, using printed membrane contacts which died very quickly. We got another which also didn't last very long.
Munch-Man, Car Wars (drove me crazy), and Parsec with the voice synthesizer add on hooked up. I remember when the TI-99/4A started getting mainstream games from Atarisoft, Parker Brothers and others. It was great at the time. And just as it was getting good and I was starting to teach myself assembly language, TI Home computer division went belly up.
Excellent informative video! I’m glad it’s not just a history lesson about this machine that I’ve heard a dozen times before. I learned so much about my machine by watching this video.
Another superb video! I really like the way you make comparable test that show the difference while still explaining why the differences exist, by looking at the hardware. Great to see when you are fixing computers but even better when you combone it with showing examples of how they actually work. Thanks for shifting our minds in these troubled times 👍🏻
This was my first computer. I spent hours with TI Invaders and Parsec. I also did a lot of programming with it. I was surprised you didn't mention the add on modules that were available for it. They connected freight train style to a port on the right side of the console. They added much better sound, graphics and voice capabilities. I always thought it was a great little computer.
There's were a number of add-on on modules for the TI-99/4A, floppy drives, hard drives, acoustic coupler 300 baud modems, they even had an expansion bay you could put next to it. That why there is a "landing strip" there, it's an expansion port, not just a cartridge port. Larger things can fit in that area. But it would be funny to case mod one and put some led runway lights there :P
Great video! I had a TI99/4A in the 80s. I use to copy the cassette games by placing two cassette player/recorders face-to-face and it worked! If you still have that TI99/4A I would be interested in purchasing.
Really nice video, thanks for all the comparisons! I understand that the BBC micro had one of the most efficient BASIC interpreters (developed in 1981 by Sophie Wilson from Acorn). I never owned a "beeb" and, like many, started my computing career in a 99/4A.
Thanks! Yes, the BBC Basic was really good. I was actually surprised the Amstrad CPC one was so good too. But that one is less impressive since it came out several years later.
Great video. Really enjoyed the format of putting a repaired computer through its paces. I miss how wild west the home computer industry was as a kid. Seemed like every system had amazing games. The programmers did so much with so little.
Nice video. Somewhere I read that the extensive usage of PEEKS and POKES in Commodore Basic was due to a license agreement they had with Microsoft. Apparently they just made one payment, and that was all. Modifying the basic would mean a more expensive agreement with Microsoft, that I believe at the time had been changed for an amount per unit sold. The result was the PET Basic carried forward to the Vic 20, the C64, etc. The TI-99/4A had a very advanced hardware for its time, a pity TI didn't know what to do with it, iterations with more RAM would mean something like a MSX five years earlier. Very small amounts of RAM were the norm in late 70s/early 80s machines, it was very expensive.
Thanks. Yes, that would make a lot of sense. I might have read something like that in the book On the Edge about Commodore. Compared to other BASIC implementations that exposed all sorts of graphics functions, the C64 one was severely lacking in that regard.
@@NoelsRetroLab Eh, I never could do much with all of those graphics commands in BASIC, anyway. Atari BASIC, for example, has such commands but lacks any support for player-missile graphics (sprites). At least it was pretty easy to use POKE to get sprites working on the C64 (doesn't work on the Atari because moving them vertically on that computer requires machine language). If you wanted to get anything done besides beginner demos, you had to learn assembly/machine language anyway. That's my view on this, anyway. For educational purposes in school, I get it, but for everything else, forget BASIC altogether.
My first computer I owned was the TI 99/4a. At work I programmed an IBM 360/65 in Fortran IV. I found I could write and debug my programs in TI Extended Basic much faster than I could program the IBM (shared resource, input was punch card, output was printout) None of the other PCs of the day would have worked as their 8 bit arithmentic wouldn't have allowed me to get the precision I needed. The TI, on the other hand, used BCD - Binary Coded Decimal. That allowed me to get much greater precision on the TI. I would debug in Basic, getting formulas and functions calls right. Then once it was working, I would translate the program into Fortran. The productivity increase was over 10x. TI Extended Basic allowed you multiple satements per line BTW. I got your benchmark program into one line (statements are separated by double colons ::) This dropped about 10 seconds on the runtime for your benchmark.
Thank you I would love to get a Fortran computer program or compiler as it was called on the IBM 360 mainframe. I remember cutting object decks which made the program run much faster. No complier needed. That was fun but not so fun when you forgot to put blank cards in the deck. I retyped many programs because someone didn't follow instructions and put blank cards in. When doing operations on the system we checked everyone's job to make sure there wasn't an option deck card in their job. RPG was the guilty language for cutting object decks. We also were not allowed to dump or catalogue a program we did later then people would delete the programs until we found that special characters didn't show up on the printer we would name our programs and add those special characters then the computer could not delete because the whole name was not named. I miss them days but these main frames cost bucks$$$$$ and electricity to run them plus AC. You knew it when one forgot to turn on the AC. I used to like to remove the floor tiles and look under the floor. That would be nice in Florida if we had raised floors and them removable tiles you could run wires and work on plumbing easier. 73
You should have a part 2 with the 32KiB expansion and Speech Synthesizer. Those two bring the level of games way up. Parsec shouldn't be played without the Speech Synthesizer. :-)
You're absolutely right. Although that's going to have to wait until I get my own TI99, because I already returned this one to its owner (who patiently lent it to me for several months!). But yes, that's definitely on my to-do list.
One of the best TI99 Videos I've seen. Loved the Diagrams and explanations. Good Tie=ins with Guests I love. Enjoyed seeing all the TI99's friends appear for its 40th. Is it possible to see more of Eriks Work?
I like that you pointed out that 99/4A Basic was double interpreted. The original designers of the 99/4 wanted their own custom GPL CPU but could not convince upper management in TI. They keep with GPL in hopes that they would be able to get a custom GPL CPU in their second generation. The lack of success with the 99/4 killed that. Before using the 9900, they were supposed to use the 9985, an 8-bit datapath version of the that was under design. It would have been even slower than the 9900 design. But the 9985 design failed and they were forced to shoe-horn in the then old 9900 with a very messy solution to covered to 8-bit busses. They ended up with all the cost of the 9900 but then throttled it with an 8-bit bus except for the 256 bytes of SRAM. As you correctly pointed out, the architecture of the 99/4 and 99/4A led resulted in abysmal performance. A lot of documents about the 99/4A's history and the 9918, many of which I wrote, can be found at hansotten.file-hunter.com/technical-info/tms9918/
I grew up with this around 82' and tinkered with it for years. Mom was the Munch Man champion, we had Space Invaders and Parsec and many others plus typing and math and english games, family home software packages, the optional voice modulator, joysticks, and programmed games from magazines to cassette. Dad soon switched to the Commodore 64 and used it for early midi music software program magazine review writing and was sent a lot of free items to test including joysticks and games!
I'm still trying to understand exactly why I'm so interested in those old and slow computers 😂😂😂 Sometimes it even feels like I've skipped a very interesting part of my live, and I've only realized that now. Congrats again on your content! So much more fun than those random shows on stream lately!
Great video! I don't ever remember writing TI-Basic. One of the first cartridges I bought was TI Extended Basic II. Regardless of the times for your simple test program. I think the combination of operations such as sprite controls, character changes, etc., might provide a better comparison. I never heard of the GROM story. That makes some sense. Regardless, it is an interesting computer. I have a TI-99/4a emulator on my Raspberry PI and on my Windows 10 pc. Regardless of age or device, tech toys and systems really keep the mind active and challenged. Thank you for the TI videos.
Oh for sure. Extended BASIC added a lot of great stuff missing from the console one. I just wanted to isolate the root cause of BASIC being slow on the TI99 by avoiding graphics or other IO. It was especially amazing at the time it came out (the Amstrad comparison isn't totally fair since it shipped in 1984!).
I had a TI99 4A back in the day. I wrote several games for it and built my own joystick to use with them. Loved the colour screen and the sprites. Never bought any games or extenders but enjoyed it for some years.
8:41 I don't hear people criticizing the ZX Spectrum much at all, except for maybe its gaudy color palette. Brits were so grateful to even HAVE a home computer, they looked past all its shortcomings and praise it as if it were the Amiga or something.
@@NoelsRetroLab I went to a demo once at a TI users group. Some TI engineers brought an add-on sound card. It perfectly replicated the entire theme from Chariots of Fire, and it wasn't a recording; it was synthesized.
Thanks for the review of this beloved Computer of my youth.. I had a lot of fun playing games on this system. My Ti 994a had the disk drive and cassette unit with the voice synthesis unit plug in on side. I really enjoyed the Donkey Kong game and the dungeon game I used to play. I think i needed the Extended basic cartridge for certain programs to work. (Was kinda difficult to find one for me back then)
Glad you enjoyed it! I'm getting those accessories soon, so I should be able to try it and have a similar experience. This seems like a computer that is best used with all those add-ons.
Yeah now I wished I kept the expansion box. I only.kept the computer and all the games I had. I just wonder if the computer still works. I need to find a tape recorder that will work with the tape storage I did keep the cable.
I had a TI-99 long before I had a Commodore. Tunnels of doom was a pretty good game back in the day. As far as music goes, one of the magazines had a type in program that played Axel F from the Beverly Hills Cop movie and it was really good. I know we had a subscription to Home Computer Magazine but it might have been elsewhere.
Yes, that's in my list to try. I think I couldn't get it to work with FinalGROM99 (maybe I had the wrong image). But I'll track it down now that you've bumped it up in the recommendation list.
Thank You wow that was fun. I had a 99/4A way back and had the Expansion Box. Serial I/O. Pascal. and some other stuff.. I Wrote a Basic Version of Linear Programming model for a Grad School Project. And for fun I bought a Toy Robotic Arm and program some shows I saw at Disney in the GE pavilion. I enjoyed working with it. Thank You for sharing, Dennis
I had one back in either the late 80s or early 90s. Of course it was old by then, but it worked and it certainly influenced me into getting into a job with computers. I recently got one again, and it came with a speech synthesizer, which is pretty cool with Parsec and some other games. It is odd about Backspace, you don't have to use the Delete key though most of the time. After moving the cursor back you can just type over what is there and replace the mistake. I certainly forgot that though after nearly 30 years. There are at least three keyboard types on the 99/4a. The one I got ended up with the bad Mitsumi membrane model, I expect most, if not all, are not working properly by now. Mine certainly is not working well. Then the Alps like Adrian had shown, and the Stackpole (which there are at least 2 variants of I guess). So I got another just the other day it is a Stackpole type that works much better. It was interesting to see the performance test. I figured it would do badly with the odd design. The 32k Ram expansion does connect other CPU so it seems programs from it likely make better use of the CPU performance. It was good to see you got to have a bit of fun too. I look forward to spending some time getting familiar with the 99/4a a bit more again.
Also, on the topic of BASIC....there are several modern BASIC's these days that are actually pretty fast and even support compiling to approach the speeds of assembly language. Despite the MANY quirks of the TI, it's still one of my favorites and it's amazing that after all of these years, it still has a strong following.
Nice video, thanks. My only experience with the TI-99 back in the day was visiting relatives that had one with games like Centipede and Invaders on cartridge. I thought it was absolutely amazing back then, but I still decided to get a VIC-20 followed by a C-64 instead as they were much more popular and had much more software (games) available.
AFAIK spectrum basic uses floating point for everything, which makes it easy to use for beginners and maybe more natural, but extremely slow. Maybe the QL does the same thing?
I haven't checked this, but I read somewhere that all BASICs treat numbers as floating points. But maybe some optimize for ints and that's how they get an edge? It would make sense with how common ints were.
Yeah, the Spectrum didn't have support for integer variables. Every value takes 5 bytes. In addition (sorry) there was no fast add entry point - every calculation needed, even the simple 'add step value' to implement NEXT, is encoded in a bytecode and interpreted by the CALCULATE routine. Which laboriously checks whether it has space to extend the FP stack by 5 bytes, copies the current loop variable value to it, checks for another 5 bytes, copies the increment value, does the addition (there's a shortcut here for small integers, but still 28 bytes of machine code), stores back to the loop variable, cleans the calculation stack and finally returns. skoolkid.github.io/rom/asm/1DAB.html That's just the increment. Then testing whether the loop should continue or end is also implemented through a separate trip through the 'calculate' interpreter. This does give the Spectrum the ability to increment by a fractional STEP and to count backwards (negative STEP) but it's slow. It looks like the ZX80 was faster because it only offers single-byte variables (causing Noel's problem in the video). It also only offers incrementing by 1 - no STEP support. Therefore it's done directly in machine code. The two machines both have a Z-80A at 3.5 MHz, but as Noel says, on the ZX80 it couldn't update the display while running a program. The Spectrum can, but the ULA steals clock cycles while updating the screen if it detects access to the lower 16KB. A 16KB Spectrum would probably be slower even than a 48KB on this test (the BASIC program is placed at the top of memory for this reason!)
Commodore BASIC does the same, in fact. Spectrum BASIC is just designed to value size over speed. I would guess QL BASIC is significantly faster, even taking the clock speed into account.
I had a TI-99/4A for over 10 years. When I got a Sega Master System, I found its controllers fit into the TI-99/4A. My favorite game was Tunnels of Doom, which was loaded with a cassette tape in a tape recorder connected to the TI-99/4A.
They were ahead of their time of the peek/poke thing. Modern languages are specifically designed around not allowing your code to mess around with memory and break the whole system. If they let you call assembly blobs you wouldn't need them anyway... but it seems (according wikipedia) calling assembly was added in the extended basic and peek/poke were added there too. So they went back on it.
Sure, but at that time I still stand that it was crucial for any kind of serious development or even for learning what the machine did. I'm glad they added it in Extended. I wonder if that's because it also came with some extra RAM and they only let you access that instead of VRAM.
@@NoelsRetroLab if you had the 32k RAM expansion, you could load an assembly program into an 8k partition in the 32k expansion. Then, Extended Basic would allow you to call that assembly program. If I remember correctly, Extended Vasic only allowed the programmer to use 24K of the 32k expansion
Hi Noel, brilliant video, I tried your test program on a Jupiter Ace emulator and BBC Model B. The Ace runs forth instead of basic and clocked a time of just over 7 seconds (Z80 CPU at 3.5 Mhz) . The BBC took 19 seconds.
Thank you! The BBC result confirms what I've seen from other people too, so that's great. I added it to the spreadsheet in the pinned comment. The Ace... that's amazing! I won't add it to the list because it's Forth, but still! It goes to show that a completely different approach can be much faster! That's kind of amazing. I may have to do some investigating into the Forth implementation to see why it's so much faster (other than having integer arithmetic I imagine).
Another quirk I've noticed about the official games made for that computer was that the Texas Instruments logo would somehow be prominently featured in the game.
@@NoelsRetroLab This was probably the very first attempt at advertising in video games. Whenever you saw a picture of one of their games in a catalog ,or TV commercial, or whatever, their logo would be right there so you would damn well know what company made it.
The TI-99/4A was my family's first computer belonging to my dad, he later got me a ZX Spectrum +2 a 128K machine with a built in datacorder, 128K basic was a much improved and faster version of sinclair basic with extra commands for the Yamaha AY-3-8912 sound chip. On the +3 it was renamed +3 basic with extra commands to utilise the +3's built in 3 inch Hitachi disc drive. The +3 was the only spectrum to use CP/M
That was a nice upgrade! I didn't realize that the BASIC in the +2 Spectrums would be significantly different, but it makes sense. I should run the benchmark there!
@@NoelsRetroLab The +2 came in 2 versions the original +2 from 1986 was grey, the later +2A in black came out in 1987 when there was a problem with incompatibility with the ROM as the +2 & +3s were made by Amstrad and affected the ROM on the original +2, to save money Amstrad made the +2A with the same system board as the +3
My BBC Model B takes 19 seconds to run your BASIC benchmark program. From what I have read this 8 bit computer has a very efficient BASIC interpreter. Also with a Raspberry Pi 3 based Pi Tube co processor the BASIC program takes around 150 milliseconds to run. That is a rough figure because my fingers can only react so fast with a Casio digital wrist watch.
There are Pi Tube coprocessors? Neat! There's a Pi 68000 accelerator that's used in Amigas and such too. Damn Pi things are getting everywhere. By the way, if you want some more accurate timing, add this to the benchmark program: 5 TIME=0 90 PRINT TIME/100;"s"
The parallax scrolling on Moon Patrol is quite impressive for a home computer platform in 1983... I now understand why there are joystick adapters on sale on eBay for this machine. Check out some of the more recent games like the Flying Shark port: they really showcase that good music is possible on the TI-99/4A and they give an indication of what could've been achieved if the computer had enjoyed a longer commercial life...
I used the zx spectrum in the 80s, and there was a couple of alternate basic interpreters you loaded from tape that were much faster than the built-in basic. Can't recall the names though. Would be worth trying those if anyone has those.
C64 only uses 1k of video memory in character mode and another 1k for color memory and both of these are mapped outside the default power on settings of BASIC free memory area assigned. I like the TI99/4A, some of those Atarisoft cartridges were surprisingly good :)
I really enjoy Adrien's productions. He's pretty good with fixing things, even though he is quite techie with the info. You have some interesting videos yourself.
@Noel's Retro Lab Hi Noel. The ZX Spectrum BASIC was slow, few people complained because most of them just used LOAD to run machine code commercial games. On top of that, if I remember correctly, the BASIC RAM starts below the 32k address (something like 23k), so small programs run entirely from the RAM shared with the ULA for video. Make sure you load the BASIC program in the upper 32k RAM (not accessible by the ULA) to test the full potential of the Spectrum BASIC.
Right, makes sense. I thought about running it on the Inves Spectrum since that one doesn't have contended RAM. Argh, now I'm going to have to do that 😃
When Parsec came out, the industry was amazed by it's use of a Female Voice to make announcements via the speech synthesizer. The Refueling Tunnel was a real challenge to navigate.
I remember these at the time, that keyboard felt great, but I had a Mattel Aquarius, then a Spectrum, I still have spectrums. The TI and its main feature was the speech, which was from Texas instruments who used it in the speak and spell and fighter jets as the warning voice. At least that was the story at the time.
Great show, great channel. I've enjoyed your QL series very much, having briefly owned one in the 90s. The QL was a bit of a disaster, but an interesting one considering the "innovations" to keep the cost down and the audacious marketing claiming itself as a rival to the PC. A standard machine code benchmark might reveal how efficient the systems are compared with each other? My money would be on the QL, even with it's awkward 8 bit data bus.
this is a great video. I have a question that I did not see you bring this up what about the memory expansion with in the expansion chassis? do these tests come out the same with the extended memory modules
Excellet video. Thank you. I really should try to get my TI to run. I don't have the powerbrick and I don't know if I should try to procure one with the odd AC 18V and 9V power or if I should bypass the internal power card and put the +5V +12V DC directly.
That's sort of what I went through in the first video of this series. In the end I found a power supply, but if not, feeding it DC voltages from something like a Meanwell PS would be the way to go.
Hi Noel I’ve learned so much from your videos. Thank you Question about the keyboard for the to-99/4a. Is it possible to map the keyboard functions to a newer style mechanical keyboard?
Glad to hear that! Mapping new keyboards to work with older machines is always a problem. There are lots of solutions out there for other computers (Amiga, etc) but I'm not aware of one for the TI99. It usually involves some kind of microprocessor reading the keyboard and translating to whatever completely different signals the older machine needs.
Tunnels of Doom was the best game. I spent months working on a basic game and only had an alligator sprite walking across the screen when I called it quits. :) Great memories though.
I specifically remember using that Slymoids music back in middle school music class back around 1990 for an audiovisual aid on a homework presentation where I chose computer-generated music as the topic. Out of the cartridges I had available, I quite liked that theme for the time.
I still love this system and there's nothing you can do to stop me :P It looks so neat and its architecture is soo funky-weird! My attempts to evangelise this wonderful critter have all failed utterly so I'll just love it extra :'D
My grandmother had one of these when they were new. She had a speech synth box for it, cassette deck, and a ton of games on both cartridge and tape.... I was supposed to inherit it but someone else took it ;) Maybe one day I'll grab one for nostalgia :D
@@NoelsRetroLab Apple II, IIe, IIe enhanced 40, 40, 40 sec, Commodore PET 4032 and 8032 40, 41 sec. Tried on PC emulators for the above same times. In case you were wondering. Tested my Commodore vic20 and 64 and got the same times you did. Interesting that the Ti99 PC emulator was the same time you posted.
I think the unusual cartridge bay shape was intended to allow "seamless" integration of future extensions like numerical keypad, touchpad, trackball or a small printer/plotter into the case.
@@NoelsRetroLab Wow, that is crazy! The TI994/A (my family's first computer by the way) truly was unique amongst it's contemporaries. Even it's graphics were unique. When you see video or a screenshot of a TI game, it's easy to guess which machine it's from.
Nice video. However Tomy made the Tutor which had a very similar spec to the TI 99/4A, so it would be nice to see the benchmark on Tomy Tutor as I am not sure how the memory is implemented on that.
In a lot of basics of the era you could significantly speed up programs by explicitly DIMing variables, making sure to DIM the most frequently accessed variables before the less accessed variables.
The first time I tried one of these in a store, it looked really sleek and nicely made compared to other machines, but it also was obviously a lot slower. So I got a TRS-80 instead. It’s interesting to learn in retrospect what caused the performance issues.
I loved Parsec to get the full experience you needed to have the speech synthesizer to hear the ships computer, it brought the game to a different level of experience
I ran this program on the 1983 Coleco ADAM computer using Coleco SmartBASIC. While it has a TI TMS9928 VDP with 16K VRAM, it also has 64K of RAM directly accessible to the 3.58 MHz Z80 CPU. The SmartBASIC interpreter scored 24 seconds. I will have to try this same test soon with ADAM CP/M OS paired with MS BASIC for more FUN!
Here's the BASIC program I used as a benchmark and the results. If you run it on a different platform, let me know and I'll add the result to this table.
10 FOR i=1 TO 10
20 s=0
30 FOR j=1 TO 1000
40 s=s+j
50 NEXT j
60 PRINT ".";
70 NEXT i
80 PRINT s
Results: docs.google.com/spreadsheets/d/1bfWSR2Ngy1RPedS6j-M607eeAhsd40-nhAfswILzzS8/edit?usp=sharing
BASIC benchmarks are always triggering me (in a positive way), because I wrote this BASIC cross compiler for BASIC V2 and I somehow have to try every benchmark that I come across to see, how it keeps up. This is the compiler: github.com/EgonOlsen71/basicv2
And this is the compiled program for the C64: jpct.de/download/++noel.prg
It takes 14.xx seconds on a PAL C64.
@@EgonOlsen71 Nice! I wasn't aware of that project. But if that's compiled down to machine language, I'm surprised it's not actually faster, right? (and I don't mean that the compiler detects the outer loop as useless and removes it). I should time an assembly version of that loop to get a best possible case.
BBC Model B (2MHz 6502) runs it in around 9 seconds. Sophie Wilson is a genius.
I ran this on my IBM 5160 (4.77 8088) running Qbasic: 48 seconds. For shiggles I ran the same test on my Gateway 486dx2 66v: 12 seconds on Qbasic. Amusingly it spat out 90 periods while running.
I'm going to speculate that Qbasic is on the heavy side for the 8088 but on the light side for the 486.
@@NoelsRetroLab There are two things that hinder speed:
1. It's still floating point math, albeit the compiler comes with optimized routines for +-*/ and SQR
2. At least in BASIC V2, there are no FOR-NEXT loops in the way in which we nowadays think of them (i.e. as a block of code between the start and the end of a loop). There's a FOR command and there's a NEXT command and by accident, they form a loop. They both operate on a stack which increases the overhead.
The TI-99 was my very first computer. Yes it was a bit slow, but I loved it! I learned so much about BASIC and computing with the TI-99. Great video Noel.
The first computer is always a huge influence 😃 Glad you liked the video!
Yes it was my first computer. It wasn't my first basic though, I learned basic on a wang computer, at a community college. I used TI basic for a short while but I got extended basic which I liked better.
I started on an IBM 360, and continued with the TI 99 4A and BASIC!
Well that intro was scary 😄
😃😃
Many many hours of my youth were spent playing Munch Man and Parsec! I had completely forgotten about Parsec until you showed it here. Then it all came flooding back. Thanks!
Loved your TI-99 videos, Noel. This was my childhood machine. Much nostalgia.
An absolutely excellent comparison!!!
And love that you are collaborating with other folks to supplement your testing (like Adrian)...
Thanks! Yes, people in the retro community are fantastic.
This was really fun! I typed in and ran your program on a TRS-80 PC-4 pocket computer. Completed in 3 minutes and 37 seconds.
Thank you! I added it to the list and I noticed that's the exact time from another computer already in the benchmark results: The CASIO PB-100. Then I looked up the TSR-80 PC-4... and it looks like they're the same, just branded differently. So I guess the benchmark is working! 😃docs.google.com/spreadsheets/d/1bfWSR2Ngy1RPedS6j-M607eeAhsd40-nhAfswILzzS8/edit#gid=22692068
Interesting video. Fascinating to see the huge difference in BASIC performance across those machines. I've just run your BASIC program on my BBC Master and it ran in 15.8 seconds.
Yes, the BBC is the fastest machine with a really nice BASIC implementation. Added to the spreadsheet. 👍
Fascinating video Noel, I really appreciate in-depth stuff like this and your scientific approach to comparing and benchmarking these machines. Top work as always!
Thanks! Glad you enjoyed it. It was quite fun to research and make too!
1:35 that's the reason why many people who bought the TI-99/4A also bought the Extended Basic cartridge a few days later; but the manuals across all the line of Texas devices (including cartridges) were excellent, both in printed quality and extensive contents.You have a new subscriber, great extensive coverage video of this venerable 16-bit computer.
Yes, it seems that Extended BASIC was definitely the way to go. Glad you enjoyed and welcome on board! 😃
After my previous comment, I was thinking about this and realized I had the perfect setup to test this myself. A silver and black TT-99/4a with a TPIP/32k and FinalGROM99. The FinalGROM has numerous versions of BASIC so I entered and save the program you used and then tested each version. Here are the results.
Console BASIC 1:19
Extended BASIC V2.4. 1:42
Extended BASIC V2.5. 1:42
Extended BASIC V2.6. 1:42
Extended BASIC PLUS. 1:42
Load and run BASIC. 1:18
Mechatronic Extended BASIC 1:42
RXB 2015 1:42
RXB VERSION 2002. 1:42
TI Extended BASIC V100. 3:08!
TI Extended BASIC. 1:42
That's great. I didn't realize you could test a lot of those with FinalGROM99 and a RAM expansion. I figured it would rely on something specific to the cartridge. But that's great, and I'm blown away that they're all slower (except for one). It must be something about running from cartridge it makes it even slower than running from a system GROM.
@@NoelsRetroLab Yes, I was surprised at the results. I may try to write a programs using graphics and sprites to see how the various versions compare. If you really want to get the most out of the TI, you should get a TIPI/32k. It gives you 32k RAM, ability to save and load programs, and even browse the internet. Although only a few sites are simple enough for the TI Bowser to handle.
I'm really surprised by those test results. I remembered Extended Basic being a lot faster with the 32k expansion.
Hi Noel, great video as always! Really appreciate the work into making these very enjoyable to watch! And happy to help in a small way :)
Glad you liked it. Thanks for your help!
Very cool episode Noel!
The TI-99/4a was my first computer, where I also learned to program in basic. It had many limitations,
but I still have good memories about it . Cheers
The limitations is probably what gave it so much character. Great first computer in any case!
@@NoelsRetroLab
Totally agree. For example, until I saw it in the video, I did not remember the operation of the Delete key ... hahaha how everything has evolved since those days
Same here. But saving files on a cassette tape is rough on an impatient 14 year old. Couldn't get my dad to shell out for the floppy drive expansion. But I still did what I could, and waited the half hour on average to save my work.
Also had a Radio Shack pocket computer at the time, one line 24 character lcd display, and only maybe 1.2k or memory. It was more of a really fancy calculator with an alphanumeric keys too. Wrote a slot machine game for it.
@@peterbelanger4094 half an hour? How big was that save? Computer only had 16K of memory. Tunnels of Doom (Quest for the King) loaded in probably around 5 minutes.
Great video! Ran your program on my Atari 800 using Basic rev C and got basically the same as you. Popped Altirra Basic 1.29 into the Atari 800 and it ran in 25 seconds.
Thanks! From what I can see Altirra is a modern development, right? I won't add it to the list, but it's amazing how much more efficient we can make things now with knowledge and time.
@@NoelsRetroLab Yes it is a modern basic. I went ahead and dug out my Atari Basic XL 1.03 cartridge. It ran in 31.5 seconds on a bare metal Atari 800. Basic XL was current during the 800/XL days. My cart is dated 1983.
If I remember right the devs who made the original Atari basic left Atari and started OSS and created Basic XL, Action, Mac/65 and other great dev tools for the 8-bit line.
@@NoelsRetroLab By the way I have a friend running it on a 130XE system with Basic XE. I don't have a compatible XE system to run it on.
@@NoelsRetroLab Got my friends report. He said his 130xe running Basic XE ran your code in 29 seconds.
I just tried it in the Altirra emulator with Turbo-BASIC XL (which is from 1985) and it took 22 seconds (XL system, PAL). Turbo-BASIC *rocked*. :-) Link: atariwiki.org/wiki/Wiki.jsp?page=Turbo-BASIC%20XL
As a kid I spent SO much time playing Munch-Man! Really cool, the ghosts change shape each level and one of the highest levels makes the maze invisible, really tough! I always used a joystick, though I recall they were terribly short-lived, using printed membrane contacts which died very quickly. We got another which also didn't last very long.
Oh interesting! I never cleared the first level so I didn't know. I'll have to go back to it! 😃 The invisible maze sounds insane!!
Munch-Man, Car Wars (drove me crazy), and Parsec with the voice synthesizer add on hooked up. I remember when the TI-99/4A started getting mainstream games from Atarisoft, Parker Brothers and others. It was great at the time. And just as it was getting good and I was starting to teach myself assembly language, TI Home computer division went belly up.
Excellent informative video! I’m glad it’s not just a history lesson about this machine that I’ve heard a dozen times before. I learned so much about my machine by watching this video.
Really glad to hear that!
Another superb video! I really like the way you make comparable test that show the difference while still explaining why the differences exist, by looking at the hardware. Great to see when you are fixing computers but even better when you combone it with showing examples of how they actually work. Thanks for shifting our minds in these troubled times 👍🏻
Thank you! I'm glad you enjoyed it 😃👍
This was my first computer. I spent hours with TI Invaders and Parsec. I also did a lot of programming with it. I was surprised you didn't mention the add on modules that were available for it. They connected freight train style to a port on the right side of the console. They added much better sound, graphics and voice capabilities. I always thought it was a great little computer.
In reference to spinner 669: Yeah how about the expansion box which housed the peripherals and floppy disk drive.
I never cared for the side car peripherals but used the speech box.
Yeyyo!, the Optional voice modulator!
There's were a number of add-on on modules for the TI-99/4A, floppy drives, hard drives, acoustic coupler 300 baud modems, they even had an expansion bay you could put next to it.
That why there is a "landing strip" there, it's an expansion port, not just a cartridge port. Larger things can fit in that area.
But it would be funny to case mod one and put some led runway lights there :P
Watching this video has been a true delight. Very interesting in-depth look at the system. The model review. Bravo!
So glad to hear that! Thank you!
Great video! I had a TI99/4A in the 80s. I use to copy the cassette games by placing two cassette player/recorders face-to-face and it worked! If you still have that TI99/4A I would be interested in purchasing.
Really nice video, thanks for all the comparisons! I understand that the BBC micro had one of the most efficient BASIC interpreters (developed in 1981 by Sophie Wilson from Acorn). I never owned a "beeb" and, like many, started my computing career in a 99/4A.
Thanks! Yes, the BBC Basic was really good. I was actually surprised the Amstrad CPC one was so good too. But that one is less impressive since it came out several years later.
The BASIC runs in 19.12 seconds. If you change the variables in the FOR loops to integer (suffix with %) then it runs in 15.79 seconds.
Great video. Really enjoyed the format of putting a repaired computer through its paces. I miss how wild west the home computer industry was as a kid. Seemed like every system had amazing games. The programmers did so much with so little.
Glad you enjoyed it! Yes, those were amazing times.
Very relaxed now Noel. But I have to say I like you fixing stuff. Love the Retro Cave channelling BTW.
Enjoyed this video, Noel! Great work as always.
Awesome, thank you!
Nice video. Somewhere I read that the extensive usage of PEEKS and POKES in Commodore Basic was due to a license agreement they had with Microsoft. Apparently they just made one payment, and that was all. Modifying the basic would mean a more expensive agreement with Microsoft, that I believe at the time had been changed for an amount per unit sold. The result was the PET Basic carried forward to the Vic 20, the C64, etc. The TI-99/4A had a very advanced hardware for its time, a pity TI didn't know what to do with it, iterations with more RAM would mean something like a MSX five years earlier. Very small amounts of RAM were the norm in late 70s/early 80s machines, it was very expensive.
Thanks. Yes, that would make a lot of sense. I might have read something like that in the book On the Edge about Commodore. Compared to other BASIC implementations that exposed all sorts of graphics functions, the C64 one was severely lacking in that regard.
@@NoelsRetroLab Eh, I never could do much with all of those graphics commands in BASIC, anyway. Atari BASIC, for example, has such commands but lacks any support for player-missile graphics (sprites). At least it was pretty easy to use POKE to get sprites working on the C64 (doesn't work on the Atari because moving them vertically on that computer requires machine language). If you wanted to get anything done besides beginner demos, you had to learn assembly/machine language anyway. That's my view on this, anyway. For educational purposes in school, I get it, but for everything else, forget BASIC altogether.
Hi,
Excellent video.
You forgot to tell anyway that the TI Audio chip is also used in the BBC Micro, Sega GameGear and Tandy 1000. (But not only) :)
Oh wow, I actually didn't know that! Great info. Thanks!
My first computer I owned was the TI 99/4a. At work I programmed an IBM 360/65 in Fortran IV. I found I could write and debug my programs in TI Extended Basic much faster than I could program the IBM (shared resource, input was punch card, output was printout) None of the other PCs of the day would have worked as their 8 bit arithmentic wouldn't have allowed me to get the precision I needed. The TI, on the other hand, used BCD - Binary Coded Decimal. That allowed me to get much greater precision on the TI. I would debug in Basic, getting formulas and functions calls right. Then once it was working, I would translate the program into Fortran. The productivity increase was over 10x.
TI Extended Basic allowed you multiple satements per line BTW. I got your benchmark program into one line (statements are separated by double colons ::) This dropped about 10 seconds on the runtime for your benchmark.
Thank you I would love to get a Fortran computer program or compiler as it was called on the IBM 360 mainframe. I remember cutting object decks which made the program run much faster. No complier needed. That was fun but not so fun when you forgot to put blank cards in the deck. I retyped many programs because someone didn't follow instructions and put blank cards in. When doing operations on the system we checked everyone's job to make sure there wasn't an option deck card in their job. RPG was the guilty language for cutting object decks. We also were not allowed to dump or catalogue a program we did later then people would delete the programs until we found that special characters didn't show up on the printer we would name our programs and add those special characters then the computer could not delete because the whole name was not named. I miss them days but these main frames cost bucks$$$$$ and electricity to run them plus AC. You knew it when one forgot to turn on the AC. I used to like to remove the floor tiles and look under the floor. That would be nice in Florida if we had raised floors and them removable tiles you could run wires and work on plumbing easier. 73
You should have a part 2 with the 32KiB expansion and Speech Synthesizer. Those two bring the level of games way up. Parsec shouldn't be played without the Speech Synthesizer. :-)
You're absolutely right. Although that's going to have to wait until I get my own TI99, because I already returned this one to its owner (who patiently lent it to me for several months!). But yes, that's definitely on my to-do list.
Thanks Noel! Quite a trip back to the arcade games and the limitations which is what drove me to programming in Assembly at that time.
Right! We probably all had similar motivations for learning assembly 😃
One of the best TI99 Videos I've seen. Loved the Diagrams and explanations. Good Tie=ins with Guests I love. Enjoyed seeing all the TI99's friends appear for its 40th. Is it possible to see more of Eriks Work?
I like that you pointed out that 99/4A Basic was double interpreted. The original designers of the 99/4 wanted their own custom GPL CPU but could not convince upper management in TI. They keep with GPL in hopes that they would be able to get a custom GPL CPU in their second generation. The lack of success with the 99/4 killed that.
Before using the 9900, they were supposed to use the 9985, an 8-bit datapath version of the that was under design. It would have been even slower than the 9900 design. But the 9985 design failed and they were forced to shoe-horn in the then old 9900 with a very messy solution to covered to 8-bit busses. They ended up with all the cost of the 9900 but then throttled it with an 8-bit bus except for the 256 bytes of SRAM.
As you correctly pointed out, the architecture of the 99/4 and 99/4A led resulted in abysmal performance.
A lot of documents about the 99/4A's history and the 9918, many of which I wrote, can be found at hansotten.file-hunter.com/technical-info/tms9918/
Thanks for confirming that and the reason for the 9900 CPU! Really interesting details!
Great video and great benchmark chart. I used to to quite the same thing to compare basic between the different 8bit systems. It´s fun!
Hey, I have the book from 3:37 ! Great review and channel, subbed ! 😁
I grew up with this around 82' and tinkered with it for years. Mom was the Munch Man champion, we had Space Invaders and Parsec and many others plus typing and math and english games, family home software packages, the optional voice modulator, joysticks, and programmed games from magazines to cassette. Dad soon switched to the Commodore 64 and used it for early midi music software program magazine review writing and was sent a lot of free items to test including joysticks and games!
I'm still trying to understand exactly why I'm so interested in those old and slow computers 😂😂😂
Sometimes it even feels like I've skipped a very interesting part of my live, and I've only realized that now. Congrats again on your content! So much more fun than those random shows on stream lately!
That was my first computer. TI Advanced Basic was my jam and there were not enough hours in the day.
Great video! I don't ever remember writing TI-Basic. One of the first cartridges I bought was TI Extended Basic II. Regardless of the times for your simple test program. I think the combination of operations such as sprite controls, character changes, etc., might provide a better comparison. I never heard of the GROM story. That makes some sense. Regardless, it is an interesting computer. I have a TI-99/4a emulator on my Raspberry PI and on my Windows 10 pc. Regardless of age or device, tech toys and systems really keep the mind active and challenged. Thank you for the TI videos.
Oh for sure. Extended BASIC added a lot of great stuff missing from the console one. I just wanted to isolate the root cause of BASIC being slow on the TI99 by avoiding graphics or other IO. It was especially amazing at the time it came out (the Amstrad comparison isn't totally fair since it shipped in 1984!).
I had a TI99 4A back in the day. I wrote several games for it and built my own joystick to use with them. Loved the colour screen and the sprites. Never bought any games or extenders but enjoyed it for some years.
Very cool! Did you manage to keep the games you wrote for it?
8:41 I don't hear people criticizing the ZX Spectrum much at all, except for maybe its gaudy color palette. Brits were so grateful to even HAVE a home computer, they looked past all its shortcomings and praise it as if it were the Amiga or something.
One of the most interesting and unique features in ti99/4a games were the voice samples. Parsec and Moon Mine are prime examples.
Yes! I definitely need to get one of those voice syntesizers. They're amazingly good for the time!
@@NoelsRetroLab I went to a demo once at a TI users group. Some TI engineers brought an add-on sound card. It perfectly replicated the entire theme from Chariots of Fire, and it wasn't a recording; it was synthesized.
NOEL WAS ME ALL ALONG! I will now delete my channel.
NOOOO!!!!! Neil you just CAN'T do that! WE rely on you to calm our nerves when we listen to your soothing voice. 😊
Have you ever see NEIL and NOEL in the same video? even the names are too similar! perhaps it's a coincidence? I don't think so!
I'll have to just read your book to remember you then. Got my copy this week, it's a beautiful book.
Yes, please.
We can make more of you now, Neil! 😃
Thanks for the review of this beloved Computer of my youth.. I had a lot of fun playing games on this system. My Ti 994a had the disk drive and cassette unit with the voice synthesis unit plug in on side. I really enjoyed the Donkey Kong game and the dungeon game I used to play. I think i needed the Extended basic cartridge for certain programs to work. (Was kinda difficult to find one for me back then)
Glad you enjoyed it! I'm getting those accessories soon, so I should be able to try it and have a similar experience. This seems like a computer that is best used with all those add-ons.
Yeah now I wished I kept the expansion box. I only.kept the computer and all the games I had. I just wonder if the computer still works. I need to find a tape recorder that will work with the tape storage I did keep the cable.
I had a TI-99 long before I had a Commodore. Tunnels of doom was a pretty good game back in the day. As far as music goes, one of the magazines had a type in program that played Axel F from the Beverly Hills Cop movie and it was really good. I know we had a subscription to Home Computer Magazine but it might have been elsewhere.
Yes, that's in my list to try. I think I couldn't get it to work with FinalGROM99 (maybe I had the wrong image). But I'll track it down now that you've bumped it up in the recommendation list.
Thank You wow that was fun. I had a 99/4A way back and had the Expansion Box. Serial I/O. Pascal. and some other stuff.. I Wrote a Basic Version of Linear Programming model for a Grad School Project. And for fun I bought a Toy Robotic Arm and program some shows I saw at Disney in the GE pavilion. I enjoyed working with it. Thank You for sharing, Dennis
I had one back in either the late 80s or early 90s. Of course it was old by then, but it worked and it certainly influenced me into getting into a job with computers. I recently got one again, and it came with a speech synthesizer, which is pretty cool with Parsec and some other games. It is odd about Backspace, you don't have to use the Delete key though most of the time. After moving the cursor back you can just type over what is there and replace the mistake. I certainly forgot that though after nearly 30 years.
There are at least three keyboard types on the 99/4a. The one I got ended up with the bad Mitsumi membrane model, I expect most, if not all, are not working properly by now. Mine certainly is not working well. Then the Alps like Adrian had shown, and the Stackpole (which there are at least 2 variants of I guess). So I got another just the other day it is a Stackpole type that works much better.
It was interesting to see the performance test. I figured it would do badly with the odd design. The 32k Ram expansion does connect other CPU so it seems programs from it likely make better use of the CPU performance. It was good to see you got to have a bit of fun too. I look forward to spending some time getting familiar with the 99/4a a bit more again.
Those early computers always end up influencing us quite a bit 😃 I can't wait to get a speech synthesizer to try those games again.
Great video. i made so many Basic programs back then, because of its speed it taught you to be more efficient with coding.
Man, when it comes to impressions your a genius you can even do the faces :)
Haha wasn't expecting "Neil" to appear! 😄
I told you I would do my best Neil RMC impression! 🤣
Awesome Video!! Took me way back! Thank you much!
Also, on the topic of BASIC....there are several modern BASIC's these days that are actually pretty fast and even support compiling to approach the speeds of assembly language. Despite the MANY quirks of the TI, it's still one of my favorites and it's amazing that after all of these years, it still has a strong following.
Nice video, thanks. My only experience with the TI-99 back in the day was visiting relatives that had one with games like Centipede and Invaders on cartridge. I thought it was absolutely amazing back then, but I still decided to get a VIC-20 followed by a C-64 instead as they were much more popular and had much more software (games) available.
The TI99 was a fascinating machine, but you definitely made the right choice at the time! 👍
AFAIK spectrum basic uses floating point for everything, which makes it easy to use for beginners and maybe more natural, but extremely slow. Maybe the QL does the same thing?
I haven't checked this, but I read somewhere that all BASICs treat numbers as floating points. But maybe some optimize for ints and that's how they get an edge? It would make sense with how common ints were.
ZX80 original ROM Basic was 16bit signed integer only. Later upgrade (backgrade) coming from the ZX81 ROMs then added floating point support.
Several BASIC Interpreters differentiated between A (fp), A% (int), and of course A$ (string).
Yeah, the Spectrum didn't have support for integer variables. Every value takes 5 bytes. In addition (sorry) there was no fast add entry point - every calculation needed, even the simple 'add step value' to implement NEXT, is encoded in a bytecode and interpreted by the CALCULATE routine. Which laboriously checks whether it has space to extend the FP stack by 5 bytes, copies the current loop variable value to it, checks for another 5 bytes, copies the increment value, does the addition (there's a shortcut here for small integers, but still 28 bytes of machine code), stores back to the loop variable, cleans the calculation stack and finally returns. skoolkid.github.io/rom/asm/1DAB.html
That's just the increment. Then testing whether the loop should continue or end is also implemented through a separate trip through the 'calculate' interpreter. This does give the Spectrum the ability to increment by a fractional STEP and to count backwards (negative STEP) but it's slow.
It looks like the ZX80 was faster because it only offers single-byte variables (causing Noel's problem in the video). It also only offers incrementing by 1 - no STEP support. Therefore it's done directly in machine code.
The two machines both have a Z-80A at 3.5 MHz, but as Noel says, on the ZX80 it couldn't update the display while running a program. The Spectrum can, but the ULA steals clock cycles while updating the screen if it detects access to the lower 16KB. A 16KB Spectrum would probably be slower even than a 48KB on this test (the BASIC program is placed at the top of memory for this reason!)
Commodore BASIC does the same, in fact. Spectrum BASIC is just designed to value size over speed. I would guess QL BASIC is significantly faster, even taking the clock speed into account.
I had a TI-99/4A for over 10 years. When I got a Sega Master System, I found its controllers fit into the TI-99/4A. My favorite game was Tunnels of Doom, which was loaded with a cassette tape in a tape recorder connected to the TI-99/4A.
Cool. My first computer ! So many good memories.
Hey! This was really interesting but why not run it on a CoCo or Dragon to see how it performs on a 6809 CPU?
They were ahead of their time of the peek/poke thing. Modern languages are specifically designed around not allowing your code to mess around with memory and break the whole system. If they let you call assembly blobs you wouldn't need them anyway... but it seems (according wikipedia) calling assembly was added in the extended basic and peek/poke were added there too. So they went back on it.
Sure, but at that time I still stand that it was crucial for any kind of serious development or even for learning what the machine did. I'm glad they added it in Extended. I wonder if that's because it also came with some extra RAM and they only let you access that instead of VRAM.
@@NoelsRetroLab if you had the 32k RAM expansion, you could load an assembly program into an 8k partition in the 32k expansion. Then, Extended Basic would allow you to call that assembly program. If I remember correctly, Extended Vasic only allowed the programmer to use 24K of the 32k expansion
Hi Noel, brilliant video, I tried your test program on a Jupiter Ace emulator and BBC Model B. The Ace runs forth instead of basic and clocked a time of just over 7 seconds (Z80 CPU at 3.5 Mhz) . The BBC took 19 seconds.
Thank you! The BBC result confirms what I've seen from other people too, so that's great. I added it to the spreadsheet in the pinned comment. The Ace... that's amazing! I won't add it to the list because it's Forth, but still! It goes to show that a completely different approach can be much faster! That's kind of amazing. I may have to do some investigating into the Forth implementation to see why it's so much faster (other than having integer arithmetic I imagine).
My very first homecomputer. Exciting. I loved it. Hahaha: A landing strip from really far away!
Another quirk I've noticed about the official games made for that computer was that the Texas Instruments logo would somehow be prominently featured in the game.
Yes, i noticed that on one of the games Noel showed.
Yes, isn't that funny? It's as if they're trying to stand aside from other games of the time by using their logo. Hilarious!
@@NoelsRetroLab This was probably the very first attempt at advertising in video games. Whenever you saw a picture of one of their games in a catalog ,or TV commercial, or whatever, their logo would be right there so you would damn well know what company made it.
The TI-99/4A was my family's first computer belonging to my dad, he later got me a ZX Spectrum +2 a 128K machine with a built in datacorder, 128K basic was a much improved and faster version of sinclair basic with extra commands for the Yamaha AY-3-8912 sound chip. On the +3 it was renamed +3 basic with extra commands to utilise the +3's built in 3 inch Hitachi disc drive. The +3 was the only spectrum to use CP/M
That was a nice upgrade! I didn't realize that the BASIC in the +2 Spectrums would be significantly different, but it makes sense. I should run the benchmark there!
@@NoelsRetroLab The +2 came in 2 versions the original +2 from 1986 was grey, the later +2A in black came out in 1987 when there was a problem with incompatibility with the ROM as the +2 & +3s were made by Amstrad and affected the ROM on the original +2, to save money Amstrad made the +2A with the same system board as the +3
My BBC Model B takes 19 seconds to run your BASIC benchmark program. From what I have read this 8 bit computer has a very efficient BASIC interpreter. Also with a Raspberry Pi 3 based Pi Tube co processor the BASIC program takes around 150 milliseconds to run. That is a rough figure because my fingers can only react so fast with a Casio digital wrist watch.
There are Pi Tube coprocessors? Neat! There's a Pi 68000 accelerator that's used in Amigas and such too. Damn Pi things are getting everywhere. By the way, if you want some more accurate timing, add this to the benchmark program:
5 TIME=0
90 PRINT TIME/100;"s"
The parallax scrolling on Moon Patrol is quite impressive for a home computer platform in 1983... I now understand why there are joystick adapters on sale on eBay for this machine. Check out some of the more recent games like the Flying Shark port: they really showcase that good music is possible on the TI-99/4A and they give an indication of what could've been achieved if the computer had enjoyed a longer commercial life...
Right. I just got a RAM expansion so I'll be able to check out a lot of those modern games. Looking forward to it!
I loved the TI-99 a great classic but whats weird is the disk drive tower for it
I used the zx spectrum in the 80s, and there was a couple of alternate basic interpreters you loaded from tape that were much faster than the built-in basic. Can't recall the names though. Would be worth trying those if anyone has those.
C64 only uses 1k of video memory in character mode and another 1k for color memory and both of these are mapped outside the default power on settings of BASIC free memory area assigned. I like the TI99/4A, some of those Atarisoft cartridges were surprisingly good :)
I really enjoy Adrien's productions. He's pretty good with fixing things, even though he is quite techie with the info. You have some interesting videos yourself.
@Noel's Retro Lab Hi Noel. The ZX Spectrum BASIC was slow, few people complained because most of them just used LOAD to run machine code commercial games. On top of that, if I remember correctly, the BASIC RAM starts below the 32k address (something like 23k), so small programs run entirely from the RAM shared with the ULA for video. Make sure you load the BASIC program in the upper 32k RAM (not accessible by the ULA) to test the full potential of the Spectrum BASIC.
Right, makes sense. I thought about running it on the Inves Spectrum since that one doesn't have contended RAM. Argh, now I'm going to have to do that 😃
Yes, on an unexpended Spectrum the BASIC program starts at address 23755 lol
When Parsec came out, the industry was amazed by it's use of a Female Voice to make announcements via the speech synthesizer.
The Refueling Tunnel was a real challenge to navigate.
I remember these at the time, that keyboard felt great, but I had a Mattel Aquarius, then a Spectrum, I still have spectrums. The TI and its main feature was the speech, which was from Texas instruments who used it in the speak and spell and fighter jets as the warning voice. At least that was the story at the time.
A friend added some cheap RAM that i bought to the expansion slot for loading some routines made with assembler to this location.
Awesome video!
For info, I just ran this same test on a BBC Master 128, it takes 16 seconds!
Great show, great channel. I've enjoyed your QL series very much, having briefly owned one in the 90s. The QL was a bit of a disaster, but an interesting one considering the "innovations" to keep the cost down and the audacious marketing claiming itself as a rival to the PC.
A standard machine code benchmark might reveal how efficient the systems are compared with each other? My money would be on the QL, even with it's awkward 8 bit data bus.
The Ti-994a was my first home computer, I only wish it took off like the Commodore 64 did. It had a lot of potential.
this is a great video. I have a question that I did not see you bring this up what about the memory expansion with in the expansion chassis? do these tests come out the same with the extended memory modules
I have one of these in my collection but didnt know as much as others retro i own. Very interesting. :)
It's a really unique computer compared to most other computers of the time. Really fun and interesting!
Excellet video. Thank you. I really should try to get my TI to run. I don't have the powerbrick and I don't know if I should try to procure one with the odd AC 18V and 9V power or if I should bypass the internal power card and put the +5V +12V DC directly.
That's sort of what I went through in the first video of this series. In the end I found a power supply, but if not, feeding it DC voltages from something like a Meanwell PS would be the way to go.
Hand drawn result at 11:47 «chuckle». Nice touch.
Haha, that's what happens when Adrian sends me new data at midnight the day before release after I have all the chart animations done 🤣
@@NoelsRetroLab Perfect. A warm reminder of the pleasure of being human.
Hi Noel
I’ve learned so much from your videos. Thank you
Question about the keyboard for the to-99/4a. Is it possible to map the keyboard functions to a newer style mechanical keyboard?
Glad to hear that! Mapping new keyboards to work with older machines is always a problem. There are lots of solutions out there for other computers (Amiga, etc) but I'm not aware of one for the TI99. It usually involves some kind of microprocessor reading the keyboard and translating to whatever completely different signals the older machine needs.
That intro was sublime...
As is the outro
Tunnels of Doom was the best game.
I spent months working on a basic game and only had an alligator sprite walking across the screen when I called it quits. :)
Great memories though.
Definitely planning on checking that one out next time!
I specifically remember using that Slymoids music back in middle school music class back around 1990 for an audiovisual aid on a homework presentation where I chose computer-generated music as the topic. Out of the cartridges I had available, I quite liked that theme for the time.
I loved Slymoids, it was such a weird game.
Borzork is a clone of an Arcade game called Berzerk, which entered arcades in 1980. This Ti version looks very good and close to the original!
Wonder what the result would be on the Spectrum Next in either 7MHz mode, 14MHz Mode and 28MHz Mode
I'd love to know too. If anyone has a Next...
@@NoelsRetroLab not until august/september 2021 ;)
Perhaps the cartridge “landing strip” was a place to take notes?
I still love this system and there's nothing you can do to stop me :P It looks so neat and its architecture is soo funky-weird! My attempts to evangelise this wonderful critter have all failed utterly so I'll just love it extra :'D
My grandmother had one of these when they were new. She had a speech synth box for it, cassette deck, and a ton of games on both cartridge and tape.... I was supposed to inherit it but someone else took it ;) Maybe one day I'll grab one for nostalgia :D
Doesnt the different versions of basic affect the speed ?
Excellent video and comparison. Would you mind putting the basic script here? I would like to run this test on my Commodore PET 4032 and Apple IIe :)
It's in the pinned comment (along with a spreadsheet with results). Post back if you run some tests and I'll add them.
@@NoelsRetroLab Apple II, IIe, IIe enhanced 40, 40, 40 sec, Commodore PET 4032 and 8032 40, 41 sec. Tried on PC emulators for the above same times. In case you were wondering. Tested my Commodore vic20 and 64 and got the same times you did. Interesting that the Ti99 PC emulator was the same time you posted.
I think the unusual cartridge bay shape was intended to allow "seamless" integration of future extensions like numerical keypad, touchpad, trackball or a small printer/plotter into the case.
3:26 256 bytes of RAM? Apologies if I'm missing something but didn't the TI994/A have 16K RAM?
It had 16KB of video RAM, but only 256 BYTES of system RAM. Crazy, I know!
@@NoelsRetroLab Wow, that is crazy! The TI994/A (my family's first computer by the way) truly was unique amongst it's contemporaries. Even it's graphics were unique. When you see video or a screenshot of a TI game, it's easy to guess which machine it's from.
Mini PET from Tynemouth Software benchmarks.
Commodore BASIC 1 - 45s
Commodore BASIC 2 - 40s
Commodore BASIC 4.0 - 41s
Mini Pet BASIC 4.0 - 44s
Nice video. However Tomy made the Tutor which had a very similar spec to the TI 99/4A, so it would be nice to see the benchmark on Tomy Tutor as I am not sure how the memory is implemented on that.
True. It sounds surprisingly similar from the specs. I guess it depends if it had a completely different BASIC implementation (probably?).
@@NoelsRetroLab This is where you reach out to find someone who has one to do the test. :-)
also on the atari you can turn off the screen for just cpu stuff then turn on the screen for graphics
In a lot of basics of the era you could significantly speed up programs by explicitly DIMing variables, making sure to DIM the most frequently accessed variables before the less accessed variables.
The first time I tried one of these in a store, it looked really sleek and nicely made compared to other machines, but it also was obviously a lot slower. So I got a TRS-80 instead. It’s interesting to learn in retrospect what caused the performance issues.
I had a TI99/4A with the speech module and cassette recorder. The computer was a great first computer in 1980
I loved Parsec to get the full experience you needed to have the speech synthesizer to hear the ships computer, it brought the game to a different level of experience
Great video! The 'benchmark' was quite interesting. Did you try to run Extended Basic from the FinalGROM99? Maybe you get a different result!?
I didn't, but I didn't think you could since the cartridge came with extra hardware, not just a ROM.
@@NoelsRetroLab I didn't know about the extra hardware in the original cartridge. So I tried it and it worked. Maybe surprising, but it really worked.
I ran this program on the 1983 Coleco ADAM computer using Coleco SmartBASIC. While it has a TI TMS9928 VDP with 16K VRAM, it also has 64K of RAM directly accessible to the 3.58 MHz Z80 CPU. The SmartBASIC interpreter scored 24 seconds. I will have to try this same test soon with ADAM CP/M OS paired with MS BASIC for more FUN!