Jump to content
IGNORED

TI-99/2 tidbits, quirks, bugs, programs, etc.


Casey

Recommended Posts

Now that the emulation for the 2 different ROM sizes for the 99/2 have been released for MAME, I thought it would be interesting to have a topic to discuss the various things found in the machine now that we can play with them. This can be bugs or oddities, or programs that people want to write for the 99/2.

 

Here's some things I noticed just playing around:

 

Bugs

10SS (incorrect input because I forgot you use Shift to move the cursor)

 

On the 24K version, this produces an INCORRECT STATEMENT error but the line is added to the program as 10 **** SS and when the program is RUN, it doesn't cause anything to happen - line 20 if there was one performs what it should perform.

On the 32K version, this also produces an INCORRECT STATEMENT error, the line is added to the program as 10SS and when RUN, it doesn't cause anything to happen.

 

TI BASIC on the 99/4A accepts 10SS as a line with no error, changes it to 10 SS and when RUN, issues an INCORRECT STATEMENT IN 10 error and halts the program.

 

Other things I found:

* Statements like CALL SOUND, CALL COLOR, CALL SCREEN, etc that clearly are not valid on the 99/2 are either accepted and do nothing (CALL COLOR, CALL SCREEN) or produce a WARNING: UNIMPLEMENTED CALL message.

* BREAK # produces a STMT NOT YET IMPLEMENTED error on the 24k version, or works correctly in the 32k version.

* TRACE produces a RUNTIME ERROR on the 24k version, but works correctly on the 32k version

* OLD CS1 and then pressing E to Exit on the "rewind cassette" message stops with an I/O ERROR 06 on the 32k version (like the 99/4A) but crashes on the 24k version to a blank screen.

 

I love exploring things like this - great fun. I look forward to what we can learn about this machine.

 

  • Like 1
Link to comment
Share on other sites

A couple more things:

10 BYE or 10 NEW is accepted by the 24k version and actually do those things. The 32k version produces a NO LINENUMBER ALLOWED error.

 

Rich will like this I think:

INPUT A is accepted in direct mode on both. I managed to corrupt the BASIC program in memory somehow messing with this on the 32k version, but I don't remember what I did to cause that to happen.

  • Like 1
Link to comment
Share on other sites

A couple more things:

10 BYE or 10 NEW is accepted by the 24k version and actually do those things. The 32k version produces a NO LINENUMBER ALLOWED error.

 

Rich will like this I think:

INPUT A is accepted in direct mode on both. I managed to corrupt the BASIC program in memory somehow messing with this on the 32k version, but I don't remember what I did to cause that to happen.

From Edit Mode or Program Mode commands like Print or Display are designed to work.

 

But INPUT and ACCEPT were never really designed to be used from Edit mode mostly do to pointers are reset in EDIT MODE.

 

And the corruption is not a surprise as it was never to be used like that in Edit Mode.

 

You can beat a nail into a board with a hammers handle, but honestly it was not designed for that, your using the wrong end.

(Same goes for ACCEPT or INPUT in Edit Mode)

Link to comment
Share on other sites

Playing around today with the example programs in the 99/2 documentation shows some interesting things. Clearly the examples were taken from the 99/4A manual because most of the error messages that the examples say you should get are different than the manual.

 

* MEMORY FULL is returned at * OUT OF MEMORY

* NAME CONFLICT is returned as either * SUBSCRIPT ERROR or * FUNCTION ERROR, depending on what the context is.

 

A="" produces a * MIXED MODE ERROR on the 24k version, but * STRING-NUMBER MISMATCH on the 32k version. I don't know what "mixed mode error" is supposed to convey.

 

This program causes an interesting problem on the 24k version:

1 A=A+8

2 GOSUB 1

 

This fails with an * OUT OF MEMORY IN 1 like it should, but PRINT A returned * INCORRECT STATEMENT even though it is correct. I couldn't find a way to display the value of A after that.

 

DELETE "CS1" kicks you right to the master title screen on the 24k version. DELETE with nothing after that produced "INTERNAL ERR-PRESS ENTER"

 

OLD with nothing after it on the 24k version causes the cassette input routine to start.

Link to comment
Share on other sites

A="" produces a * MIXED MODE ERROR on the 24k version, but * STRING-NUMBER MISMATCH on the 32k version. I don't know what "mixed mode error" is supposed to convey.

 

Mixed mode is you used:

A is a NUMERIC VERIABLE

"" is a String start and end definer

 

Thus you have put a Numeric Variable equals a string, hence you get "mixed mode error"

Link to comment
Share on other sites

Just seems awkwardly-worded. Like clinical or engineering terminology.

Exactly this. I knew what was wrong, but the wording of the message is very odd. Given that the target audience for this machine was people who had never used a computer, it's good that they changed it in the later version.

Link to comment
Share on other sites

This program causes an interesting problem on the 24k version:

1 A=A+8

2 GOSUB 1

This fails with an * OUT OF MEMORY IN 1 like it should, but PRINT A returned * INCORRECT STATEMENT even though it is correct. I couldn't find a way to display the value of A after that.

 

 

It's one of the first tests I made when I received this 24K ROM 99/2 prototype. As the computer hangs after the "OUT OF MEMORY", the way I used to get the amount of memory is to add the command "PRINT A" between the two lines of the code. So, we get the value of A: 4248. Still to be done is to add the amount of the memory consummed by the PRINT command. At that time, I calculated the size but I haven't kept in mind the calculation but we can redo it.

 

OLD with nothing after it on the 24k version causes the cassette input routine to start.

 

I also found this trick, It's very convenient.

 

@OLD CS1: The universal translator on the cartoon speaks french! ^_^

Edited by fabrice montupet
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...