Jump to content
IGNORED

Things that annoy me about the 99/4a


dhe

Recommended Posts

 

Here is your chance to call the baby ugly!

 

My main annoyances:

 

Using a DB9 for both the joystick and cassette port.

 

Almost no CPU RAM on bare console.

 

Writing an interpreted language in GPL.

  Even the VIC and Sinclair people got to kick sand in my face, because you did for i=1 to 100 in ten minutes.

 

32K Interface - on an 8-bit bus with wait states.


No headphone jack.

 

Digital, not analog joystick interface.

 

DMA lines not brought to the pbox.

 

Soldering all the interrupt levels together.

 

The transformer stays on, even when the unit is off.


Hard to use on/off switch.

 

Fctn-= to easy to reset basic.

 

Out of the box, no way to load machine code - not that there was a place to load it.

 

6K GROMS - why 6? Why not 8K or 1 or 2?

 

A memory map that looks like someone just started listing things that need a 'block'.

 

A 90 degree GROM Port

 

  • Like 3
Link to comment
Share on other sites

 

1 hour ago, dhe said:

Using a DB9 for both the joystick and cassette port.

 

Almost no CPU RAM on bare console.

 

Writing an interpreted language in GPL.

  Even the VIC and Sinclair people got to kick sand in my face, because you did for i=1 to 100 in ten minutes.

 

32K Interface - on an 8-bit bus with wait states.


No headphone jack.

 

Digital, not analog joystick interface.

 

You can attribute these to "cost".  TI was (is?) cheap.  GPL was to create lock-in for software.  16-to-8 bit bus was cost, and rumored to prevent the 99/4A from performing as well as the 990-minicomputer.

 

1 hour ago, dhe said:

DMA lines not brought to the pbox.

 

Soldering all the interrupt levels together.

 

Design decisions, maybe cost.  Probably additional attempts to not compete with the 990-minicomputer.

 

1 hour ago, dhe said:

The transformer stays on, even when the unit is off.


Hard to use on/off switch.

 

Bad engineering.

 

1 hour ago, dhe said:

Fctn-= to easy to reset basic.

 

Can be disabled with E/A or XB carts.  There is a CALL LOAD to prevent FCNT=

 

1 hour ago, dhe said:

Out of the box, no way to load machine code

 

Found out that is not the case.  Look around the forum for breaking the 99/4A sandbox.  For some reason I suddenly can't remember the name of the tool.

 

1 hour ago, dhe said:

6K GROMS - why 6? Why not 8K or 1 or 2?

 

GROM is lame anyway.  Again, die space == cost.

 

1 hour ago, dhe said:

A memory map that looks like someone just started listing things that need a 'block'.

 

Typical on computers of the era.  I have never seen a memory map that was not greedy, or that looked like it was made with any forward thinking.

 

1 hour ago, dhe said:

A 90 degree GROM Port

 

Bad design, mostly.

 

 

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

Writing an interpreted language in GPL.

  Even the VIC and Sinclair people got to kick sand in my face, because you did for i=1 to 100 in ten minutes.

 

Originally TI was supposed to make a CPU that would natively run GPL like a FORTH CPU but ran out of time and money for project.

It has been shown that a GPL or Forth CPU would be very fast.

 

Also I put EA Assembly support into TI Basic GROMs you can download and use including running CALL LOAD("DSK#.FILENAME")

I did this project several years ago and surprised more people do not use it.

Link to comment
Share on other sites

9 minutes ago, matthew180 said:

Found out that is not the case.  Look around the forum for breaking the 99/4A sandbox.  For some reason I suddenly can't remember the name of the tool

When was that discovered? Before or after 2010? As far as I know, it was unknown back in the 80s.

Link to comment
Share on other sites

TI's sprite system flies in the face of established 6502 programming. As a non standard basic, I get that they needed to keep up with the crowd but did you have to murder the memory map and make it HARDER for a newbie to make sprites?

 

I still haven't come to grips with it. Everyone else can make games for it. I'm still trying to figure out their reasoning for a long string of hex numbers instead of straight binary that the Sinclair and Commodore machines use for sprites. My brain does not understand "e7158b2" or whatever. I can make a decent image out of 1's and 0's but that's all. Joysticks are hard as hell to get working and by TI's own admission, JOYST was not even written for the machine! Why put a legacy command on your new computer if it won't even work?

 

 

It boggles my mind as to how this is acceptable. Also, ANSI blew apart so why use a dead basic language that's no longer backed. It's not like the GPL is hardcoded into the system. Surely someone can burn a new rom onto it and override the base software.

Link to comment
Share on other sites

30 minutes ago, Frozone212 said:

TI's sprite system flies in the face of established 6502 programming. As a non standard basic, I get that they needed to keep up with the crowd but did you have to murder the memory map and make it HARDER for a newbie to make sprites?

 

I still haven't come to grips with it. Everyone else can make games for it. I'm still trying to figure out their reasoning for a long string of hex numbers instead of straight binary that the Sinclair and Commodore machines use for sprites. My brain does not understand "e7158b2" or whatever. I can make a decent image out of 1's and 0's but that's all. Joysticks are hard as hell to get working and by TI's own admission, JOYST was not even written for the machine! Why put a legacy command on your new computer if it won't even work?

 

 

It boggles my mind as to how this is acceptable. Also, ANSI blew apart so why use a dead basic language that's no longer backed. It's not like the GPL is hardcoded into the system. Surely someone can burn a new rom onto it and override the base software.

The entire menu and interface is built into the TI99/4A, the first screen you see is GPL, the Menu of cartridges and TI Basic are all GPL including all of TI Basic is GPL.

75% of XB is written in GPL. 

You might be confused as there is 18K of GROM and only 8K of ROM in the TI99/4A console.

Also 80% of the ROM is devoted to GPL.

  • Thanks 1
Link to comment
Share on other sites

49 minutes ago, mizapf said:

When was that discovered? Before or after 2010? As far as I know, it was unknown back in the 80s.

 

True, it was undiscovered BITD, however that does not mean it was not possible BITD.  But the topic is not limited to a time frame of when something was known.

Edited by matthew180
Link to comment
Share on other sites

49 minutes ago, Frozone212 said:

I'm still trying to figure out their reasoning for a long string of hex numbers instead of straight binary

 

Hexadecimal is a compact way to represent binary (one hex digit for every 4-bits).  I suspect the reason TI BASIC uses hex over binary for character definitions is due to memory use.  Writing "F5" instead of "11110101" is 6 less characters to store in RAM, and that adds up quick for a lot of character definitions.  Retro computers, especially the stock 99/4A, are very limited on RAM, so it makes a difference.

 

58 minutes ago, Frozone212 said:

My brain does not understand "e7158b2" or whatever. I can make a decent image out of 1's and 0's but that's all.

 

These days (and even BITD) there are great tools for designing character patterns and sprites, so just use those instead if the hex does not make sense to you.  Check out Magellan from the resources sticky-thread here in the forum.

 

All computers, retro or not, will require using and being comfortable with hex, once you get into them deep enough.  Hex and computers go hand-in-hand.

 

Personally I like that TI BASIC used hex to define graphics.  It is a very elegant way to introduce a learner to hex, and help make the connection between binary and hex.

 

  • Like 6
Link to comment
Share on other sites

1 hour ago, matthew180 said:

 

True, it was undiscovered BITD, however that does not mean it was not possible BITD.  But the topic is not limited to a time frame of when something was known.

It’s a loophole, an exploit, enabled by overflowing the device name buffer in OPEN. 
 

Was there ever a printed  article about it?

 

 

If it had been known and exploited BITD, around when TI dropped the E/A manual on our heads like an anvil, it would have gotten fixed in the V2.2 console . 

 

  • Like 1
Link to comment
Share on other sites

I’m going  to dump on the 99/4, clearly not TI’s brightest move. 
 

Phantom keys. Just when you thought the keyboard could not be any worse, you are holding down that bright orange SHIFT key and S to backspace, and some weird letter combo like SW creates the phantom Q. SHIFT-Q. Quit. 

 

Kablooey, the dreaded blue title screen of reset. 
 

BASIC had so many bugs, you could trash your program just by inspecting your variables during a breakpoint after making a CALL CLEAR.
 

It put the fear into you every time the computer paused for even two seconds to collect its thoughts, I mean garbage. 

 

What’s this GOTO 32767 in my program? Yikes! I did not type that.  My computer is about to freak out and erase my program! What a hideous number! To this day I hate and fear 32767.
 


Keyboard overlays. Never the one you need, like someone at the library put on the overlay for Terminal Emulator, the Phantom Duplex Menace,  and lost the plain one that tells you what key is BACK OR  REDO TO START. 
 

Then you’re playing Munch Man, hot and heavy on those ASDX keys and WHOOPS, fingernail catches the overlay up and over the S key and it’s NEEEEEEEEERUM BING you’re dead. Better throw out that overlay. Who cares what key is REDO OR BACK. They’ll probably put back the overlay from Hunt the Wumpus or something, if it even had one, the sheer number of people who never understood that game.  
 

Boxcar peripherals. They refute themselves. Oops, I nudged the disk controller off the speech synthesizer because I wasn’t comfortable typing at that angle. 
 

External Disk drive terminators? What’s those? I’m supposed to remove a thingamajig from my perfectly good system before using my new $400 DSK2?  I don’t like it. I’m turning off the power to this fancy DSK2, don’t need it today. I’ll just save my file to DSK1 now oh shrit what is I/O ERROR 66 and where is my previous disk contents???

 


 

But oh, the warm dusty smell of the 99/4 cooking the 70s shag carpet it rests on. The calming MMmmMMmmMMmmMMmm sound of the cursor blinking and fuzzing the RF Modulator.

The exciting day you find the last bug you fat-fingered into the code from the game listing in 99er.  
 

So to preserve that happy feeling, you SAVE CS1, obediently rewind the cassette tape, and trash the only good backup you had. 

  • Like 4
Link to comment
Share on other sites

I, too, can't comprehend how is it possible that people who were pioneering an industry could make some bad moves/mistakes, at least "bad" in a context it seems to us, the armchair designers who have the benefit of 40+ years of hindsight.

Edited by youxia
  • Like 1
Link to comment
Share on other sites

4 hours ago, FarmerPotato said:

External Disk drive terminators? What’s those? I’m supposed to remove a thingamajig from my perfectly good system before using my new $400 DSK2?  I don’t like it. I’m turning off the power to this fancy DSK2, don’t need it today. I’ll just save my file to DSK1 now oh shrit what is I/O ERROR 66 and where is my previous disk contents???

Data signal termination is an electrical thing. Has nothing to do with TI's implementation of the computer.

As long as you keep the cables connected and the termination at the end, it will work.

Link to comment
Share on other sites

If fear of cannibalization of the mini computer line was the reason for some of the more egregious decisions, it's a textbook example of bad business decisions: if your own product can eat into revenues of another product line, so can anyone else's.

 

Make the best product you can, or someone else will...

  • Like 8
Link to comment
Share on other sites

4 hours ago, TheMole said:

If fear of cannibalization of the mini computer line was the reason for some of the more egregious decisions, it's a textbook example of bad business decisions: if your own product can eat into revenues of another product line, so can anyone else's.

 

Make the best product you can, or someone else will...

I wonder if that was a real concern or not. I mean, the 99/4A is clearly not built to the standards of a business application.

Link to comment
Share on other sites

16 hours ago, dhe said:

Out of the box, no way to load machine code - not that there was a place to load it.

 

15 hours ago, matthew180 said:

Found out that is not the case.  Look around the forum for breaking the 99/4A sandbox. 

 

15 hours ago, mizapf said:

When was that discovered? Before or after 2010? As far as I know, it was unknown back in the 80s.

 

15 hours ago, OLD CS1 said:

1984.

 

We all pretty much ignored this. :P

 

14 hours ago, matthew180 said:

True, it was undiscovered BITD,

 

FALSE!  But I cannot edit my post, it seems.

 

12 hours ago, FarmerPotato said:

Was there ever a printed  article about it?

 

YES!

 

Just to capture the series of wrong assumptions about the CS1 buffer overflow, and the frustration of user "OLD CS1" (aptly confusing handle given the context of this topic) as we all ignored his post...  I'm guilty of not following links to other threads (or Wiki articles, it seems).  But I did read it today and I see the catalyst for the "Sandbox" also seems to come from that thread.

 

The exploit to break out of the BASIC sandbox was known in 1984 and published in print.  It appears to have been primarily used to get access to sprites from console BASIC.  In 2017 sernior_falcon took it to the next level with the "Sandbox" tool (see development resource sticky-thread).  This level of access could have been done BITD, and was to some extent in some BASIC software.

 

  • Like 2
  • Haha 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...