-
Content Count
3,431 -
Joined
-
Last visited
-
Days Won
3
Posts posted by jedimatt42
-
-
Here is what I'm using at the moment:
* Test keyboard directly for CTRL and SHIFT combination. Stay within 'loop' if both are depressed. * Text CTRL key first as it is likely to be pressed first in the combination. * NOPS1 LIMI 0 LI R12,>0024 CLR R0 set LDCR R0,3 column TB 6 Ctrl Key? JEQ NOPSE TB 5 Shift? JEQ NOPSE LIMI 2 allow rs232 interrupt asap JMP NOPS1 NOPSE LIMI 2 RTCool, yep, once you enter NOPS1, you stay on column 3. So an interrupt isn't triggered in my microcontroller. I have written my interrupt handler, such that I could just call it from my main loop and poll. ( Tursi said earlier his PS/2 adapter is polling instead of interrupt driven, so he should have lucked out of this problem ) Learning to use the interrupt driven code has been fun. But I'll have to retire it. I'll take some time Saturday and get that fixed. This will be a small code change on my end, but will require a good deal of testing.
-
I believe so and can verify tomorrow. The routine sets the column then tests the shift and control bits separately. I'd one is depressed, the second is tested. If it too is depressed, the scan loops on those same two bits until one is released.
Nice! That shouldn't be to hard to fix then. And should help me clean up some special cased code around f4 and f=.
-
Ew, do you use the mouse or something??

You know, until just now I had never read what the windows key shortcuts are for. Oddly enough, many of those operations (window placement) I perform on my Linux and OS X systems with the caps-Lock key mapped as a "super-gui" key which is left-windows + right-windows, and then combined with other keys for specific functions.
But for most things, yes, I just use the mouse. I even just double clicked letters on the screen in classic99 before reading that it was a feature. It was a nice surprise that it worked.

-
Ok, I tested the ctrl-shift feature in the new TIMXT with the TI 99 USB Keys adapter, and it gets stuck... one more step to perfection... I just know it
By any chance, when ctrl-shift is detected, are the keyboard columns just left unchanged until the release? If so, that would be cool, as that exploits a weekness of my TI column scanning routine being fully interrupt driven. As I don't get any interrupts, and consequently don't update the output pins on the Teensy.
This shouldn't be a problem on the Geneve adapter, since the hardware inside the Geneve does all of that. But I haven't tested that exactly, as I don't have a serial card in the Geneve system.
-
On our TI's you need the switches to go up and down through the list of images.
You have no display attached, so even with the switches, I don't know how you will tell which image you are on, other than refreshing a directory listing.
You could have the config set to enable 'autoboot' and then have 1 image named autoboot.hfe and that will be selected at power up.
These only have value without a display in single image applications, or on the CPC, Amiga, or ST where there is host controlled image selection.
I started with units that already had the 2 buttons, and a numeric 2 digit display. That was restricted to indexed mode.
Then I added the 3rd button, and a 2 line i2c LCD display so I could get out of indexed mode and see actual image names.
That is where you'll want to end up.
-
I have posted new firmware for the TI 99 USB Keys adapter here: http://ti994a.cwfk.net/Downloads.html
Fixes the issue for ~, {, }, |, ?, and ". I had already done the right thing for _
I've tested this with TIMXT, and XB2.7, and fbForth, and TurboForth...
-
2
-
-
Ok, in my head the code for '?': was releasing shift, pressing fctn, and then pressing I, but it was never releasing shift. Once I fixed that TIMXT and the '?' work.
I think I need to proof-read my code. I'm actually surprised it worked in so many other programs.
-
I worked around this on my keyboard adapter by making shift do nothing by itself, it did not get relayed to the TI. (For the very few cases where I needed a real shift key, such as RAMdisk boot bypass, I mapped the Windows key instead). That made life a lot easier, I just handled the shift key as a meta key myself and had separate lookup tables for shifted versus not shifted.
Ah, so that is what you meant earlier by the 'Windows' key being a 'real shift'. That is a very practical approach. Thanks for the tip.
I already special case this handful of keystrokes. I'll see if I can do something more localized (I am required to be stubborn first for at least a little while.) But if I fail, that sounds like a good fallback. Although, part of me would hate to ask someone to use the windows key on a TI. I don't even use them on a windows machine.
-
1
-
-
PSA: ArcadeShopper noticed I had an incorrect link to the 2x8 16pin right angle 2.54mm header in the project page parts list. It was a link to a 2.00mm part, which just wouldn't work.
I have corrected the link.
-
1
-
-
Recently I added a "ctrl-shift" combo to TIMXT. It's purpose is to immediately stop the display interpreter, effectively pausing the screen. It first tests whether the ctrl key is depressed then tests the SHIFT key. If both are depressed, it waits until one or the other is released. Will something like this function with your adapter?
I love the idea of using a similar adapter with the Geneve.
I have been surprised that I couldn't google up one on amazon or something. People love their XT keyboards though, and use them on newer computers, instead of the other way around. I just need to find the right sized project box to stick the adapter in, so I can mount it to the side of my PEB.
Both TI and Geneve adapter firmware should handle key combo like ctrl-shift without any issue. Pressing and releasing them individually should be fine.
-
I remember drawing maps on graph paper. I didn't know it had mapping built in. I probably played that way for a couple months before I found a map in game, and then realized I should read the manual. F7 is your friend.
I always enjoy the vault-mini-game. 
If you don't want to fire it up, but just want to watch a little gameplay, https://goo.gl/photos/qSjBxjhupknDJDY9A ( This is running in speed 5 from the Geneve. )
Forest of Ruin ( made with Fritz442's windows based TOD editor http://atariage.com/forums/topic/238859-new-ti-994a-tunnels-of-doomtod-game-and-game-editor/ )
-
1
-
-
I've managed to get the USB to XT / Geneve firmware working to a very smoothly. XT keyboard protocol is soo much easier than the TI-99/4a's matrix keyboard model.
I doubt that I have Print Screen, Scroll Lock, and Break correctly mapped, but I believe all the rest are properly mapped.
The pre-compiled firmware and project page are here: http://ti994a.cwfk.net/UsbGeneve.html
Source is up on github: https://github.com/jedimatt42/teensyUSBtoXT
----
Now, back to the TI 99 USB Keys variety... Chris pointed out that the '?' isn't working in the newest TIMXT when my adapter is used. It turns out none of the keys that require transitioning a 'shift'-'something' to a 'fctn'-'something-else' work (tilde, pipe, question, squirrelly-brackets, and double-quotes). Manually pressing 'alt'-'i' will still product a '?'. I suspect there isn't enough time between my release of the 'shift' and the next scan, such that TIMXT is seeing 'shift'-'fctn'-'i'. Luckily on the TI keyboard, that yields nothing, instead of a '?' or capital 'i'
Hopefully I can fix that without much restructuring.
-
3
-
-
Micro pinball II uses player 1 and player 2 fire buttons for the two flippers.
Any other games folks know of that use both fire buttons?
-
I'm away from TI software right now, but I would assume you step into the .tidsk file in ti99dir like other .ark or .dsk image files. Then copy the contents to whatever you like. You might just need to rename the .tidsk to .dsk first.
-
1
-
-
Also, I wrote this when I first picked up my TI so I could test atari joystick adapters and such... I keep finding it handy...
100 CALL CLEAR 110 DISPLAY AT(24,1):"jedimatt42 [email protected]" 120 DISPLAY AT(1,1):"Joystick 1" 130 DISPLAY AT(1,17):"Joystick 2" 140 J=1 150 CALL SHOWJOY(1) 160 J=2 170 CALL SHOWJOY(2) 180 GOTO 150 190 STOP 200 SUB SHOWJOY(J) 210 REM SHOW JOYSTICK 220 REM WHERE J IS 1 OR 2 230 CALL JOYST(J,X,Y) 240 CALL KEY(J,K,S) 250 IF K=18 THEN F=42 ELSE F=0 260 X=X/2 :: Y=-Y/2 270 C=((J-1)*16)+6 280 CALL HCHAR(5,C-1,F) 290 CALL HCHAR(6,C,0,5) 300 CALL HCHAR(8,C,0,5) 310 CALL HCHAR(10,C,0,5) 320 CALL HCHAR(8+Y,C+2+X,35) 330 SUBEND
-
That is cool. The week before last I rewired a brand new neo-geo-x arcade stick to the 4a.
It had four buttons, plus a start and select. I wired it so that the extra buttons used joystick 2. And such that all four buttons could be pressed at the same time for combos.
A - player 1 fire
B - player 2 fire
C - player 2 left
D - player 2 up
Select - player 2 down
Start - player 2 right
All can be read with normal joystick routines.
-
1
-
-
I've succeeded today in getting basic issue laden functionality of my same TI 99 USB Keys adapter board reprogrammed to output XT scan codes for the Geneve. It should be generic enough to work for any XT application, but I'll probably not ever get around to testing that.
My goal here, is to get my PC, Mac, 4a, and Geneve 9640 all sharing the same keyboard ( I only have one desk, and need to share it )
There are plenty of issues still. But if anyone is interested, the github project page is: https://github.com/jedimatt42/teensyUSBtoXT
-
4
-
-
You might pull on this string: http://modem-techno.blogspot.com/2011/01/kyocera-cdma-download-usb-cable-driver.html
It'll take some research. You might have to find a similar but different string to pull.
-
1
-
-
How do this this depends quite a bit on how antiquated the computer is and how modern the phone is, and how restrictive the carrier is.
Most carriers try real hard to block this sort of thing.
Most cell phones have some sort of way to connect to a PC as a COM port. It will be highly model specific. A lot of models require a driver on a windows machine, since they only have a usb-port. And then accessing the data sharing over the COM port is often specific to the phone.
I have used dumb cell phone to just be the modem. But again that depends on the phone. And that was more than 10 years ago too. If I remember correctly, I had to actually send some AT commands to put the phone in the correct state, and then ATDT commands to dial a 'dial-up' internet provider. Direct to a BBS would have worked. That phone actually dialed out and made all the classic 14.4k modem sounds.
If the guy's phone is modern enough for wifi-hotspot, and his computer is old enough, you might gift him a UDS and wifi bridge. Or if the computer is new enough, just a wifi-usb-nub.
So many variables.
-
I've converted the Disk distribution volume1 issue 1 to markdown, and then the static site generator I use turns it into the html you see here:
http://ti994a.cwfk.net/9640news/9640news.html
http://ti994a.cwfk.net/9640news/volume1-1.html
This is not 99ml. Sorry, I haven't had a chance at that yet. But, the intermediate markdown is basically text. I should be able to use it to generate 99ml. I'll give that a try after I have some more content in markdown.
Volume 2 issues 1-5 are up there now.
-
3
-
-
I've been looking carefully at the board now that I have the original pretty much replicated and enhanced. I discovered some interesting things by doing so, specifically, that the board may be extended to a somewhat larger size by simply replacing two chips (the memory chips) and running the necessary additional traces to connect two more address lines. What does that give us? How about a 4 Meg SAMS board. . .using BQ4017 or DS1270Y memory chips.I will probably still do a run of the replicated boards--but I may look deeper into this once I have done so, especially if there is sufficient interest in a larger SAMS board..
Those chip designations, come back as Non-volatile SRAM... Are their cheaper volatile forms you are looking at?
-
To set expectations, I ordered 3 UHS mini shields from Duinopeak on 2016-01-31, and they just arrived today, 26 days later.
My previous experience was only 15 days from them. So... it is more variable than I imagined.
-
We could start telling the folks selling 4's that they don't even have lowercase letters... So they should cost half as much as the 4a's
-
3
-
-
Are you telling me that people with an interest in computers, and retro ones for that matter, might have some issues with social situations. Well, that is the first I have heard of that.

Actually, I don't have that problem at all but I suspect that is because my coding ain't the greatest.

I was in truth, only speaking for myself. Tonight is my company's annual party. I've declined the invitation 4 times already. People reach out and personally invite me, try to entice me with the fact that there are 'prizes'... But I told them if I go home, I win 3 hours
This should be easier, because it will be aligned with my interests, which are broadly TI. It will be like winning an entire day of information and perspective on what others are doing, or wish they were doing with their TI. You can't buy that!
-
2
-

TI-99/4A - TMS9938/9958: 80 Col & Enhanced Graphics HW&SW
in TI-99/4A Computers
Posted
I suspect in olden days, the TV's handled sync cleaning/stripping themselves. If it looks like an inability to get a sync, then following the circuit diagram in the reference document for an LM1881 chip may help. It is hard to tell from any technical material for a display if that is necessary, but building that circuit is fairly inexpensive. To get the RGBS input on the GBS-8200 upscaler to accept the Geneve's output, it required the sync cleaning circuit. In contrast, the FrameMeister XRGB-mini was totallly happy with the unmodified Geneve output, as were a number of older multi-sync displays.
I don't have any practice in SCART, but was recently reading ( https://en.wikipedia.org/wiki/SCART) that the proper voltage has to be applied to a one of the input pins ( pin 16 ) to control the mode of input (composite or RGB) that the display device should process. Maybe the lack of picture is from it looking for the composite input on the SCART connector if pin 16 isn't selecting RGB?
I am guessing.