RE: [TI-99/4A] TI alpiner in german television
- Bryan reported that Alpiner started the game immediately upon selection with the 99/4, so my guess was that it was detecting a keypress it would not have on the 99/4A. If Alpiner did its own CRU scan of the keyboard and joystick to speed response, it would work with the joystick but not with the normal arrow keys. A 99/4 emulator/simulator that fed the CRU bits based on 9901 connections of the 99/4A would hide direct CRU access problems for any application that assumed the 99/4A mapping.
Of course, an (e-,si-)mulator could simply pass the translated keycode directly from the native OS/hardware without doing a CRU translation and get by much of the time. This too could hide what would be incompatible on the actual 99/4 hardware.
Some 99/4A programs simply will not run correctly on the Geneve because they do direct CRU scanning for keypresses.
From: Tursi <yahoogroup@...>
Sent: Tuesday, December 01, 2009 12:30 AM
Subject: Re: [TI-99/4A] TI alpiner in german television
> Note that a major difference between the 99/4 and 99/4A is not just theIs this something you've tried? It appears to work fine here in Classic99.
> physical appearance of the keyboard, but the actual connections to the CRU
> bus via the 9901 chip and the keyboard modes supported by ROM.
> Try playing Alpiner on the 99/4 with the keyboard.
Alpiner gets input via SCAN, using scan mode >00 (as well as checking both
joysticks), which as long as the system was initialized cleanly, works the
same on both machines so far as the letters on the keyboard go. What should
I be looking for to go wrong?
> Bryan reported that Alpiner started the game immediately upon selectionIt also would not work in TI BASIC, or any other part where you have to
> with the 99/4, so my guess was that it was detecting a keypress it would
> not have on the 99/4A. If Alpiner did its own CRU scan of the keyboard
> and joystick to speed response, it would work with the joystick but not
> with the normal arrow keys. A 99/4 emulator/simulator that fed the CRU
> bits based on 9901 connections of the 99/4A would hide direct CRU access
> problems for any application that assumed the 99/4A mapping.
type. Trust me on this - I had to work it out manually as I didn't have my
99/4 yet when I did that code. ;) The mapping of the 99/4 keyboard is
sufficiently different that you can't get away with the 4A mapping, ever.
Remember that Alpiner starts by asking you to type your name. Since Bryan
reported that everything else in the game was working on a real 99/4, that
suggests it's not a key detection, since no other typing would work.
I don't think any TI published cartridge bypassed the routines that TI
> Of course, an (e-,si-)mulator could simply pass the translated keycodeSince I wrote Classic99 I know which parts I trust to be true to the real
> directly from the native OS/hardware without doing a CRU translation and
> get by much of the time. This too could hide what would be incompatible
> on the actual 99/4 hardware.
system, and the key scanning is one of them. Otherwise I wouldn't use it for
example. Classic99 doesn't bypass anything in the keyboard system, it does a
full CRU translation.
Although you can plug keycodes directly into SCAN in an emulator, you run
into lots of incompatibilities if you do that - not only programs that do
direct CRU scanning, but you also need to take into account ROM differences,
you need to special-case QUIT, etc.. I did it at the very beginning before I
understood the CRU.
As for why Alpiner jumps from the title page immediately on the 99/4, it's
not trivial to see, since that part of the code is running in GPL. It seems
to be processing the sound lists more or less the same but I don't have a
GPL debugger to see the exact reason why it skips ahead. I've run out of
time to play with it this morning. :)