Jump to content
IGNORED

99/4 Keyscan routine - is it different?


acadiel

Recommended Posts

With my newly repaired 99/4, I tried three carts that should work, but the keyboard doesn’t work with any of them:

 

- Break Free

- XB 2.7

- FinalGrom

 

None of the keys, including space work.  
 

With any TI cart like XB or EA, keys work fine, as does Basic and Equation Calculator.

 

Is there a hard coded rom Keyscan or something in these that’s different from the /4A, or is it another issue?

 

 

 

 

E813BD9F-F181-4903-BD0A-8876E4B839E9.jpeg

AA2587F3-5ABF-4B55-8DD1-B89841DEF8C7.jpeg

79291644-074A-4348-86B5-0DD046837682.jpeg

  • Like 2
Link to comment
Share on other sites

Finalgrom did also did not work for me (cannot remember) something to do with upper and lowercase which the /4 cannot do.  (I also used 32K).

 

Xb2.7 maybe he same upper/lowercase

(Needs 32k)

 

Also i remember ksarul mentioning that the module ports are a bit different  few mm and that modules do not fit properly?

 

Parsec does not work because of the 9918 VDP Graphic chip and some groms (it is documented somewhere and on youtube there are some videos about /4).

 

I can try it in the weekend.

 

  • Like 1
Link to comment
Share on other sites

Well, the keyboard scan is different. Also, there are two extra scan modes for KSCAN in the 4A vs the 4.

 

Tested in Classic99 and got the same results.

 

It seems Break Free fails because it uses KSCAN mode 3 (which I thought was compatible, I guess it's only 0,1,2 though). When I changed it to 0, like BASIC uses, it worked fine. The master selection screen actually cycles through modes 0,1,2,3 while waiting for a key, so odd... TI BASIC only uses 0.

 

The byte that needs to be changed is at >7737 (in the GROM file, offset >1737):

 

Starting a bit back to make finding it easier:

1735: BE 74 03 03 57  <change to:> 1735: BE 74 00 03 57

 

This still works in 4A mode as well.

 

XB2.7's menu has the same problem. However I can't as easily debug this one as Classic99's debugger doesn't handle multi-bank GROM very well. I did a lot of searching and testing to get these. There are a few in the 128K GROM file:

 

11E48: BE 74 03 02 FF 03 -> 11E48: BE 74 00 02 FF 03   (catalog screen)

18000: 02 FF BE 74 03 03 -> 18000: 02 FF BE 74 00 03    (main menu)

19C88: BE 74 03 03 D6 75 -> 19C88: BE 74 00 03 D6 75  (boot keypress, but, hard to test in emulation ;) )

 

I did find when using the spacebar skip that it also forces mode 3 from ROM code, the byte at >A01F in base 0. The patch in the 512k Flash file is:

62018: 05 9F 0A 01 9F 00 01 03  -> 62018: 05 9F 0A 01 9F 00 01 00

 

Can't remember how to get the other secret menu... ;) This all still works in 4A mode.

 

.. and I can't test FinalGROM in Classic99 ;)

 

Edited by Tursi
  • Like 3
  • Thanks 3
Link to comment
Share on other sites

30 minutes ago, Tursi said:

It seems Break Free fails because it uses KSCAN mode 3 (which I thought was compatible, I guess it's only 0,1,2 though).

 

This would play out in the TI Extended BASIC manual, page 110, which targets the 99/4,

Quote

If key-unit is 0, input is taken from the entire keyboard, and the value placed in return-variable is the ASCII code of the key pressed. If no key is pressed, return-variable is set equal to - 1. See Appendix C for a list of the ASCII
codes.


If key-unit is 1, input is taken from the left side of the keyboard. If key-unit is 2, input is taken from the right side of the keyboard. The possible values placed in return-variable are given in Appendix J. Values of 3, 4, and 5 are reserved for possible future uses.

 

Whereas the TI-99/4A User's Reference Guide, page 162, states,

Quote
  • 0 = Console keyboard, in mode previously specified by CALL KEY
  • 1 = left side of console keyboard or remote control 1
  • 2 = right side of console keyboard or remote control 2
  • 3, 4, 5 = specific modes for console keyboard

 

[...]

 

A key-unit of 3 places the computer in the standard TI-99/4 keyboard mode. (Most Command Module software uses this mode.) In this mode, both upper- and lower-case alphabetical characters are returned by the computer as upper-case only, and the function keys (BACK, BEGIN, CLEAR, etc.) return codes 1 through 15. No control characters are active.


A key-unit of 4 remaps the keyboard in the Pascal mode. Here, both upper- and lower-case alphabetical character codes are returned by the computer, and the function keys return codes ranging from 129 through 143. The control character codes are 1 through 31.

 

A key-unit of 5 places the keyboard in the BASIC mode. Both upper- and lower-case alphabetical character codes are returned by the computer. The function key codes are 1 through 15, and the control key codes are 128 through 159 (and 187).

 

The statement "(Most Command Module software uses this mode.)" (my emphasis above) I believe is referring to "TI-99/4 Keyboard mode," and not specifically key-unit 3.

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

  • 3 months later...
On 9/29/2021 at 9:56 PM, OLD CS1 said:

Whereas the TI-99/4A User's Reference Guide, page 162, states,

I was close to banging my head against the wall today while testing some Advanced BASIC.  I used the Extended BASIC manual to identify the keys for the various modes.  I couldn't believe that so many of my results were incorrect until I searched the forum and came across this thread, which mentioned the TI-99/4A reference guide.  That's when the lightbulb turned on: the XB manual has /4 associations for some keys.  It's been a while since I have penned any notes in my dog-eared, well used XB manual.

  • Like 1
Link to comment
Share on other sites

39 minutes ago, InsaneMultitasker said:

I was close to banging my head against the wall today while testing some Advanced BASIC.  I used the Extended BASIC manual to identify the keys for the various modes.  I couldn't believe that so many of my results were incorrect until I searched the forum and came across this thread, which mentioned the TI-99/4A reference guide.  That's when the lightbulb turned on: the XB manual has /4 associations for some keys.  It's been a while since I have penned any notes in my dog-eared, well used XB manual.

 

Do you have the 15-page Addendum to the XB Manual? It was not included in the on-line linked versions. It has all of the stuff for the TI-99/4A.

 

...lee

  • Like 3
Link to comment
Share on other sites

49 minutes ago, Lee Stewart said:

 

Do you have the 15-page Addendum to the XB Manual? It was not included in the on-line linked versions. It has all of the stuff for the TI-99/4A.

 

...lee

Now that you mention it, yes, I do have the printed information.  I found it folded and tucked safely into the back 'cover' of my XB manual.  :dunce: 

  • Like 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...