Jump to content

jedimatt42

Members
  • Content Count

    3,419
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by jedimatt42


  1. The keyboard mapping has come along nicely.

     

    I've figured out caps-lock. So far everything co-exists nicely with the built-in keyboard. I believe this is due to my micro controller output pins being in OPENDRAIN mode.

    I've been able to fix my Fctn-= behavior. It seems the TI doesn't soft-reset nicely unless I make sure I stop driving the 9901 input pins low.

     

    The ctrl-alt-del to reboot the adapter is genious... Really improves my dev cycle!

     

    The only bug I have right now comes in the form of occasional SHIFT-LOCK. which clears up with the ctrl-alt-del. But I'm hoping to fix that as I work out how to simulate holding the shift key with nothing else pressed (not a bug yet). I think I can manage that without forcing any alternative behavior on the user.

     

    For grins and giggles, I tried out expresspcb software to layout a board that takes care of all the wiring. It's up on the github site:

    https://github.com/jedimatt42/TI-99-usb-keys/blob/master/TIUSBKeys.pcb?raw=true

     

    I truly don't know anything about that yet... so I ignored the fact that I don't know pad sizes and trace sizes... That was interesting though. It is a lot like opening the vault in TODs lower levels... If anyone wants to generously take a look and offer feedback, I'm all ears. (or eyes, as is the case) Might be too early for that though... I haven't labelled things, and I've barely googled the topic..

     

    Question for the forum: Can you help me prioritize wireless receiver support?

     

    I have a bluetooth nub, and a couple bluetooth keyboards. I can probably get that to work with the USB Host Shield library, as it supports some bluetooth hid. It looks like just some initialization differences, provided the pin 0000 works for your keyboard. But frankly, I use bluetooth keyboards only with my day-job machines. And wouldn't wish them on anyone. So then there are things like Logitech's little nano receivers, and HP has a similar proprietary situation.

     

    So, I'll have to pick up a device to test this with. I'd like to aim at the Logitech technology, but since I personally don't want to use wireless ( my end game is a kvm, for the k part, I am however excited by the idea of enabling wireless ) I want to focus this investment. Anyone opposed to Logitech nano receivers?

     

    I still have to test with my kvm, and my actual target keyboard. http://www.amazon.com/Happy-Hacking-Keyboard-Lite2-Black/dp/B0000U1DJ2/ref=sr_1_1?ie=UTF8&qid=1442808323&sr=8-1&keywords=happy+hacking+keyboard+lite+2

     

    [email protected]


  2. I was able to fix the repeating keys by sacrificing not-interfering with the built-in keyboard, but I can approach that differently. My code that ran in the interrupts was indeed too expensive.

     

    Also I'd like input on what a few keys should do with:

     

    F10 - is Fctn 0 a thing?

    F11

    F12

     

    INS - I have tentatively set to Editor Assembler's Insert Char

    DEL - same, E/A's Delete Char

    PGUP

    PGDN

    HOME

    END

    TAB - E/A's tab

     

    All of the other keys seemed really straightforward/obvious ... arrows are arrows :) backspace is left arrow. ESC is Fctn 9.

     

    I'd love to actually just copy the Classic99 keymap, but I haven't found that enumerated any where.

     

    [email protected]


  3. My TI is connected to composite in on a 40" lcd. So when it jitters, it actually moves quite a bit.

     

    Also when I've connected it to a composite to HDMI converter ( the cheap eBay kind ) I only get a black and white display... I originally blamed the cheap converter, but I wonder.

     

    Somewhere I saw a recipe for fixing the black and white output by replacing the crystal for the video.

     

    Does anyone have experiences fixing the jitters, or know if that is a precursor to more severe failure?


  4. It's actually a completely separate test that does only the single column. For full compatibility, you can't make any assumptions about order or sequence of scans. Because it's done by software, literally anything goes.

    Last night I was ranting about maybe ordering this or that to make it align with the TI scanning code. Good to know that would be a waste of time.

     

     

    In my PS/2 adapter I maintain a virtual TI keyboard - the state of the array is updated by key events,

    I'm doing the same.

     

    (I didn't have enough interrupt pins to use interrupts for the column changes - that's the main reason it's clocked so high).

    I do have interrupt available on all gpio pins, so I've started with the approach of an interrupt per column as it is falling. This mostly works, but right now the way I'm changing output pin state, I think is too expensive. And I'm missing some interrupts, or not getting the pin state set quick enough, such that the repeat status sees a miss and thinks I'm pressing the key many times.

     

     

    The main issues I had were related to keys that used one meta key on the PC and a different meta key on the TI, for instance the tilde

    I think I've got those covered. shift [ is actually fctn f... https://github.com/jedimatt42/TI-99-usb-keys/commit/c225c3323b6e4e6428cc9b24ee1fa37c48c36e27

    If it is one of the special combinations, handle it, and only run the simpler mapping if it wasn't handled.

     

    I just realized, I don't support someone just holding the shift key down or the fctn or ctrl key... so I get to iterate :)

     

     

    I've added a schematic to the google album... I'm treating each board as a big IC.

    post-42954-0-95044100-1442510733_thumb.png

     

    • Like 2

  5. It's good to hear you are having so much progress!

     

    When you're interested, feel free to drop me a PM. There were a number of non-technical issues that I needed to solve to cleanly map the PS/2 keyboard to the TI keyboard (the handling of meta keys and ensuring that keys are pressed and released appropriately). I feel the current solution works pretty well, but it too a few iterations.

     

    When you're at that point, I'll take a dig through the code history and try to remember the various issues I faced. :)

     

    Will do. Thanks! I've had a couple interesting symptoms so far, with the FCTN =, and haven't tried to utilize special keys.

     

    It looked like FCTN = is extremely early in the scan from the TI's point of view, and my current scheme won't clear keys except during the interrupt triggered when a column pin is falling. That doesn't seem to be soon enough. :) It works great from fbForth, which appears to have the TI interrupt that scans for FCTN= turned off (or something like that.)


  6.  

    (Updated May 29, 2016)

     

    This is an open source hardware project to use a Teensy 3.x and USB Host shield as an adapter to allow connecting a USB Keyboard to a TI-99/4a console.

     

    instructions: http://ti994a.cwfk.net/TiUsbKeys.html

    source: https://github.com/jedimatt42/TI-99-usb-keys

     

    The project was then extended with alternate firmware for the Teensy micro-controller, to act as a USB to XT keyboard adapter for the Myarc Geneve 9640.

     

    instructions: http://ti994a.cwfk.net/UsbGeneve.html

    source: https://github.com/jedimatt42/teensyUSBtoXT

     

    My presentation on the topic at PNW Fest West 2016 (Video by: Omega):

     

    [email protected]

     

    ----------- Original First Post -------------

     

    I've been working on a USB keyboard adapter.

     

    This is an adapter that accepts USB keyboard input and connects to the TI matrix keyboard connector to allow using your favorite USB keyboards with your real iron TI console.

     

    I have it working pretty well as of last night. I'm using a Teensy 3.1 which is 5v tolerant with lots of GPIO pins. and a mini USB Host shield from [email protected]

     

    My source for the Teensy is here:

     

    https://github.com/jedimatt42/TI-99-usb-keys

     

    It is a ways from polished. Current problems are:

     

    I think I have a short, such that the '.' produces either a '.' or a '/' and when held down produces a continuous stream of them since it can't decide which it wants to be.

     

    function-= goes back to the cyan screen, but stays there.

     

    And then I want to add mappings for all the fun extra keys like arrows and stuff. :)

     

    I have a question about the TI and alpha-lock:

     

    Is there ever a difference between shift-S, and the alpha-lock being down and someone pressing s?

     

    I know there is a technical difference in the hardware. The alpha-lock has it's own 'column' that comes from the 9901, instead of the decoder chip the other 'columns' come from. And alpha-lock is not a shift-lock... But what I'm getting at: is there any practice of programmers measuring if the alpha-lock is down or not? or accepting a 's' with the alpha-lock down, but not accepting a shift-s?

     

    What I'd like to do is just through in a shift for free (as appropriate) if the caps-lock key is on in the USB keyboard, and ignore the input for the alpha-lock.

     

    This whole thing will never, by my hand, be as inexpensive as Tursi's PS/2 adapter, since I'm starting with 2 parts that were about $20 apiece. But it is fun :)

     

    There is a bunch of potential here with these parts... The USB Host library supports Bluetooth HID keyboards too.. so it isn't much of a code change to use a little bluetooth nub. And, with just 1 or maybe 2 wires from the joystick port, a HID gamepad could be mapped to the joystick with keyboard assignments for the extra buttons.

     

    Pictures:

     

    https://goo.gl/photos/xhLKCTwCPuAeUbP86

     

    [email protected]

    • Like 2

  7. Ok, good news is that this wasn't a power problem... It turned out to be a software problem. I started with an example 'sketch' for the USB Host library, that had a wait forever loop in it for the Serial logging connection to be established before it would initialize the USB system.

     

    Just a tad embarrassing. :)

     

    I measured the current, starting at the source, which was only about 45mA and didn't spike at the beginning, as I had assumed.

    Then I measured the current just at the USB keyboard, and it was very low 6mA. (cause it wasn't even being given the go ahead to boot)

     

    Anyway, without the blocker in the code, the whole thing powers up nicely.

     

    I did review my wiring and found a ground connection they recommend that I left out. So, win, win, win...

     

    Thanks.

    • Like 1

  8. I'm a programmer, my electronic skills are mostly paint by number, but I've managed to get a Teensy 3.1, USB Host shield (mini variety) and some taps into the TI itself to translate a USB keyboard press into the letter A.

     

    Some pics

     

     

    https://goo.gl/photos/xhLKCTwCPuAeUbP86

     

    My trouble is with power... I've tapped the internal power supply +5V, and ground, and it will power the whole mess including the USB keyboard, however, it won't boot the USB keyboard. So in the picture you see more juice coming in from a PC into the teensy's programming port.

     

    Does anyone have advice about how to get the power needed out of the internal power supply? I don't see anything around that states availability of current.

     

    Is there a wise way to tap the power supply? In particular, when I need more power at start up?

     

    [email protected]

     

     

     

    • Like 2

  9. When I was a kid, I did this fix and it lasted about 10 minutes and then failed. I tried multiple diodes, different diodes, etc. Upon failure, everything was lower case.

     

    That is really unfortunate. I used the recommended 1N4148 diodes as pictured above by Omega.

     

    I've been using it for more than a week now. It has worked beautifully.

     

    There are many different models of keyboard for the 4a. Some provide easier locations to attach the diode than others. Cold solder joints could lead to the trouble you describe. Most programming or disk io wants you to enter in caps, and most games want alpha lock off. If you are hopping back and forth, the mod can be well worth it.

     

    [email protected]


  10. Early last week, I got 2 of the memory mapper chips (TI 74LS612N) and tried them both. The AMS memory test program still hangs in the same respective places for both the AMSTEST program versions I have.

     

    That leaves me suspecting the memory, even though the memory claims to test successfully. I doubt it can be testing the pattern successfully when the test program itself is loaded in that memory. So at least a chunk of memory is not being tested. Unless maybe the program execution is entirely out of scratch pad ram. I suppose that is easily possible once the screen is set up.

     

    The sram chip is I am guessing the best next thing to test. (It might have been the first best thing, but it's too late for that :) )

     

    I have a MiniPro TL866CS. Is there any reason I wouldn't trust it to conclusively test the sram?


  11. I didn't see this info on mainbyte. It wasn't too hard to figure out from the theory on this page:

    http://www.mainbyte.com/ti99/console/alpha_lock.html

     

    But I thought I'd share a couple pictures of my alpha lock mod for the STACKPOLE keyboard.

     

    Here is the keyboard back side. This seems to be a single sided circuit board, but with vertical jumpers all over the underside. This would be easy to just replace one of the jumpers with the diode, except the actual keys are all in the way, and I didn't want to take that apart.

     

    post-42954-0-83624300-1441655528_thumb.jpg

     

    Here, I cut the trace close to the place where I then scraped the far side bare, so I could solder the diode directly to the board.

     

    post-42954-0-45543000-1441655806_thumb.jpg

     

    There is clearly a more obvious and better place to cut the trace, closer to were I attached the diode. But this worked fine.

     

    In case anyone was hesitant to perform the alpha-lock fix because it wasn't spelled out on mainbyte, here ya go.

     

    (Only after this, did I notice how many game titles have - remove alpha lock on the title screen :) )

     

    [email protected]

    • Like 2

  12. It is totally understandable that there is a feel difference when using the TI with different physical interfaces... When the TI was my only computer as a young teenager, I upgraded whatever I could. Joysticks were obvious. When I took a typing class, it was fortunate that the Rave99 PC/XT keyboard adapter was available. I had 5 years of TI keyboard experience. Now that I've set up a real system and have been playing around regularly, it is amazing how 27 years of PC keyboard training has to battle with those 5 formative years. Just as I've tried to type this post, I've hit alt-S dozens of times on my PC, and made conscious punctuation choices because my fingers appear to be dyslexic if you will. I pair program at the office, and my TI hobby is actually starting to impact my work.

     

    I just rewatched Vectrex Roli's video review of the F18A, and had the same doubts about if it will feel like my beloved TI. He made the comment that the graphics will be crisp, clear or sharp or something (I'm not quoting him... can't find that key:) ) as clear as emulators when connected with VGA. Today, my TI is connected with a composite cable to a LCD TV, and I get all the old color bleed and week vblank issues I need to feel the 80s. :)

     

    I don't miss the fear of damage to 5 1/4" (found it) floppies. I do miss the sound a little.

     

    Everyone is in this hobby for different reasons, as --- Ω --- said, and it is awesome that all these options are available. You have to protect what you hold fundamental for yourself, to maintain that essence that motivates you into a hobby like this.

     

    For me, the sights and sounds are crucial, while tactile things don't carry nearly as much weight. I'll get a pc keyboard back on my TI because it was a part of my TI history.

     

    This thing I actually cling to the most, is black on cyan color configuration. I spent so much time in XB. That evokes the most nostalgic sense of 'home' for me. Next is those beep and honk tones.

     

    ----

     

    Two things about the ps/2 adapter: I think I read that classic99 implements the same keyboard mapping? So, if that is the case, that is really nice, as you can still just hit fctn-9 to go back, or fctn-s for left... , correct me if I'm wrong. And has anyone found a low cost active usb-2-ps2 adapter suitable for use with a USB KVM?

    • Like 3

  13. I've recently jumped back into the TI and in a whirlwind to explore new and fun game offerings on the TI, I've learned that I really suck at arcade games :) But turned based games like Tunnels of Doom, and Scott Adam's adventures are totally my speed.


    Chris of http://shift838.wix.com/shift838 & the SHIFT838 Newsletter provides a couple free games for the Adventure module. So I gave them a spin.


    Chris announced them in his Newsletters

    The Locked Room : can be found in Volumne 1 Issue 2.

    The Stafford Predicament : can be found in Volume 1 Issue 6.


    The adventures are available for download on his website at:




    - The Locked Room -


    The first one, The Locked Room, was quite entertaining. It was a nice short warm up adventure to get used to the model of interactive with the world in simple <verb> <nown> command syntax. When I realized the mechanics of the riddle, my brain was truly tickled.


    - The Stafford Predicament -


    This second one is considerably more involved. You are thrust into the middle of a crisis and must use your TI skills to disarm the situation and escape with your life.


    This is a pretty on topic adventure for me. I've just spent the last couple months beginning to rebuild my TI skills. I've been on a quest for parts in real life, and that very well may have hooked me. ( Not to mention my own compulsive need to solve things. )


    In this predicament, you get to run around a TI facility, encounter some retro pop culture loosely related to the TI, and save yourself if you are up to it!


    There are a few misdirects, to keep you on your toes. You have to explore everything. This adventure has a nice balance between difficult puzzles, and straight forward progress. I found the adventure flowed quite well.


    I was able to solve the main story line after a few questions to Chris, where his advice grossly paraphrased as to not give anything away, was to keep trying what you haven't tried, and stop trying what you already know doesn't work. :)


    Even after finishing the main path through the game, I know there are a few areas I haven't explored. Chris hints that there is an Easter Egg hidden in the game, and that nobody who has played has found it yet!


    So if you are looking to take a break this weekend from soldering up some cart boards, and want something more cerebral than Munchman ( don't hit me ), then you should give this a whirl!



    It is pretty great that there has been new content built for Adventure.





    • Like 3

  14. The docs I just read, say there are switches to turn each of the sub components off so, you can turn all the conflicting stuff off when you want to use a cartridge.

    It describes LED installation so you can tell what state it is in as well.

     

    Quite interesting.. and it sounded like there was a 16 pin wire harness that goes to the motherboard.

×
×
  • Create New...