Jump to content

Photo

TransKey-II in development

TransKey TransKey-II

446 replies to this topic

#426 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Fri Jul 1, 2016 10:02 PM

Updates

 

I have been working quite diligently over the last two months to implement a major change from single keyboard & crippled mouse to dual keyboard capability. The chip I am using has additional Interrupt-On-Change (IOC) inputs, and theoretically could handle up to 8 interrupts via this mechanism. This was all fine and good, and held great promise to improve the response of TK-II's 2nd PS/2 port, which would be needed in order to not jumble data and/or drop keys. And over the last several days I really thought I could get this to work via software changes alone, but (and you probably knew that was coming) reliable data handling just wasn't doing it for some odd reason with this new interrupt scheme. So not one to give up easily, I improvised a way to piggyback on top of the existing interrupt that serviced the original PS/2 keyboard port. And although this does require a small hardware mod in the form of a surface mounted diode, it does work well.

 

 

Example of diode modification (soldered between same pin numbers on all TK-II board versions)

gSzZjrG.jpg

 

 

 

What this diode does is to allow negative going clock transitions on the 2nd PS/2 port to be 'Y'ed into the 1st PS/2 port's clock input. So any clock action from either port will generate an interrupt and execute code in the GetKey IRQ handler. Once in the handler, a simple check of the 2nd port's clock line verifies who actually caused the interrupt when making the high-to-low clock transition, and then acts accordingly to decipher the PS/2 serial data stream. Since the first port's IRQ is handled by a different and obviously better working (for me) method than the IOC type, this allows for both keyboards to work reliably and not drop any data. And while I was at it, I also spent considerable time to better support a 'hot' plugging aspect, which allows keyboards to be plugged in and unplugged without powering down the Atari that has a TK-II board installed. I won't guarantee that 100% of the time this works, and it can be a bit finicky with the older IBM model M 'built like a tank' keyboards, but when used with newer keyboards it does a pretty good job of it (I think the much older Model M's higher power requirements causes a power spike when first plugged in, sometimes glitching the running code).

 

So what else has been added or changed?

 

TK-II now supports both US and a German (T1) keyboards through a simple CTRL+ALT+F3 switching sequence, which has its state saved in non-volatile memory. It also maps in whatever XL/XE international symbols matched up with the German key equivalents (both upper and lowercase). This is a full conversion, so all punctuation and supported graphic characters are properly rendered when the matching key is pressed, and of course the Y and Z keys will work properly in there new positions (QWERTZ instead of QWERTY). And although there are a few symbols not supported (Atari's character set's fault), all in all it does a very good job of emulating the German standard.

 

CTRL+ALT+F2 will now list all of the TK-II configuration settings on a single screen, so that you can more easily see how everything is setup, and then use the usual CTRL+ALT+Hot Keys to change anything that you desire.

 

And I think that pretty much covers it. So this new firmware version should release sometime next month, once all the beta testing has been completed.

 

- Michael



#427 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Mon Jul 4, 2016 1:16 PM

:waving: Good News!!!

 

I kept trying to figure out why the Interrupt-On-Change (IOC) feature of the Microchip PIC16F1847 MPU I am using wasn't giving me reliable interrupts when used on the clock lines coming from TK-II's dual PS/2 ports (hence the reason I had resorted to a shared INT interrupt using a diode). Well it turns out that this is a phenomena associated with the IOC that has been seen on several other chips in the Microchip series (Bug in the PORTB Interrupt on Change Feature).

 

As quoted from that linked article...

In this diagram of PORTB taken from the PICmicro Mid-Range MCU Family Reference Manual, the change detection logic has been highlighted in red. The latch labeled Latch is the input latch; the unlabeled latch below it is the change latch. The input latch is updated every Q1, and the change latch is updated every Q3 when the port is read. The output of these two latches is XORed to provide the change indication. The problem arises because the input to both latches is the port pin, but the latches are updated at different times in the instruction cycle. The result is that a pin change during Q2 of an instruction that reads the port will not generate an interrupt.

 

portb.png

 

Simple fix (Microchip Assembly)...

MOVF PORTB,W      ; read PORTB to clear mismatch condition
BCF INTCON,RBIF   ; clear IOC Flag
MOVF PORTB,W      ; read PORTB once again to get correct value

-

 

Armed with that information I went back into my code and added a read of the clock ports before and after clearing the IOC flags. And I am happy to report thus far all looks well  :grin:

 

So what this means is that it's looking pretty good that reliable dual keyboard communications without any hardware upgrades just might come to fruition (assuming no ugly bugs rear their heads during further beta testing). In other words, don't worry about installing a diode on your TK-II board. A simple firmware update should do the trick all on its own.

 

- Michael


Edited by mytekcontrols, Mon Jul 4, 2016 1:49 PM.


#428 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Wed Jul 6, 2016 11:30 AM

Interrupt-On-Change (IOC) method not working for all keyboards  :mad:

 

The other day when I was so happy  :) that I got the IOC thing working, I thought my interrupt troubles were behind me. Anyway it wasn't long before I started to see that certain keyboards were still not happy, and producing erratic results. The best that I can figure when doing more research on the matter, is that the IOC aspect doesn't seem to tolerate noise anywhere as well as the INTx interrupt pins. So it is likely that on some of the problem keyboards that the signal timing of the clock vs the data might not be quite as good, thus being perceived as noisy to the IOC circuits. I did a few experiments adding stronger external pull-up resistors on the clock and data lines with some improvement seen, but not 100% corrective. Perhaps with some inline resistors it could be made to work better (similar to what Atari needed to do on its DRAM), but this would be a very messy hardware modification to say the least. So it looks like I am back to the piggy-backed diode solution that lets both keyboards share the common INT interrupt (unfortunately my PIC chip doesn't have additional INTx inputs like on some of its larger cousins).

 

Keep in mind that the diode MOD would only be required if you wish to use a 2nd keyboard. The standard keyboard port works fine without it.

 

Firmware version 1.6 still looking to be released around the end of this month.

 

- Michael



#429 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Thu Jul 7, 2016 2:00 PM

TK-II's latest firmware is getting ready for Show Time (scheduled to release July 15th)

 

After upgrading to the new firmware the following will apply.

 

 

If you wish to enable a 2nd PS/2 keyboard or numeric key pad you will need to make this simple hardware modification.

gSzZjrG.jpg

 

 

An alternate key map will now be available for better use of German T1 PS/2 keyboards when interfaced to TK-II.

 

NfT9TAK.png

 

 

New feature added: a settings and help menu showing function states and 'Hot' keys (best done in Memo Pad, Basic, Editor or a word processor program).

 

WVcm3Wn.png

 

 

Less intrusive acknowledgement when changing configuration functions or starting/stopping macro recording.

 

PNBvXh1.png

 

 

Using ALT+HotKey for all non-volatile settings will still render full descriptive text as done on previous firmware versions. I also replaced the flashing Scroll Lock LED with the 'cursor wiggle' feature for macro record start/stop because I was seeing keys being dropped occasionally due to the need to now update LEDs on two keyboards. This was simply taking too much time and thus interfering with key reception. So when first starting a macro recording for F5-F12 the short wiggle will let you know that recording has begun, and the long wiggle will tell you that recording has been stopped.

 

- Michael


Edited by mytekcontrols, Thu Jul 7, 2016 2:02 PM.


#430 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Sun Jul 10, 2016 12:29 PM

Some more TK-II Firmware Updates
 
This was taken from a PM I sent a couple of days ago to the beta testers...


Version 1.6F is the result of some more changes that occurred under the hood over the last few days. What I did was go into the low level PS2 routines and fixed some timing issues that were one of the main causes for TK-II getting out of sync with the keyboard from time to time when pressing keys that also caused the LED indicators to be updated. It seems to be pretty solid now.
 
Also the ability to 'HOT' plug the keyboard(s) has undergone a lot of tweaks, and for some stubborn ones like the IBM Model M, a watch dog timer was set-up and enabled to re-initialize stuff if it gets caught in a sustained key sending loop. The reason this happens, and also was caused by the PS2 timing issues I mentioned earlier, is that there is both a key-down and a key-up required for each key pressed. If for some reason you loose the key-up and only get the key-down the key will be sustained indefinitely, which is the case for the Model M when it first powers up (it sends out a semi random but valid key-down, but not the associated key-up). When the TK-II powers up with the Model M, no problem since TK will send out a reset command to the keyboard which fixes the issue. However if TK-II is already powered and the Model M is plugged in afterwards, there is no way for the TK to know that the random key-down is an accident. So the best I can do under these conditions is to have a watch dog timer with a clear command occur in the main loop (not the key sending sustain loop) set for a 8-9 second time out period. If we get back to the main loop within that time period no problem. However if stuck in the sustain loop, then a reset is issued which cycles TK back through it's initialization sequence (nearly the same as power up reset).
 
Because we do need to have valid keys sustained for at least one 40 character line width, the watch dog time out period needed to last nearly 5 seconds, Since I only have a choice of 4 or 8 seconds (+/- 1 second), I had to go with the 8 second setting. So this means a never ending sustain can last for nearly two 40 column lines before being bailed out. Its not ideal, but at least it can be corrected without having to power down the Atari. And usually the bad key send is fairly innocent, but still annoying none the less. Luckily most newer PS2 keyboards are much better behaved than the old Model M's, so they pretty much do a great and glitch free job of being 'HOT' plugged with the latest firmware. And now that the PS2 timing issues have been resolved, every keyboard appears to work reliably if not 'HOT' plugged.

 
-

So far so good on elimination of the the 'getting stuck in a loop' problem. And if you don't make a routine out of 'HOT' plugging keyboards, especially older ones, there really shouldn't be any chance of this happening in the first place.
 
 

Small Change on Previous Plans
 
After thinking about the selection for toggling the new US/DE key map (CTRL+ALT+F3), I decided to move it to CTRL+ALT+F4 instead. Reason being that to toggle the international character set requires CTRL+F4, so it just seemed to have a certain symmetry to use the same Function key.

 

Here is an update on the Configuration Settings Menu that reflects that change...

 
Sn2GZkx.png
 

 
What has changed in this upcoming firmware release?
 
OS Version: 1.6F
File: TK-II-OS_v1_6F.hex
Date: 7/10/2016

  • Dual keyboard support added (takes the place of the mouse on the 2nd PS/2 port). Hot plugging has also been improved, working best with newer PS/2 keyboards. To enable the 2nd keyboard, it will be necessary to add a diode between the PIC's pin 6 (connect: diode-anode) and pin 8 (connect: diode-cathode).
  • German T1 keyboard mapping has been added (toggle between US or German keyboard with CTRL+ALT+F4, use ALT+F4 to see setting without changing it). When followed by a CTRL+F4 in an XL/XE OS, will automatically map the appropriate international symbols to the correct keys. And when in TK-II Caps Mode, those symbols will automatically change from lower to uppercase when pressing the Caps Lock key or Shift keys.
  • Added 'Current Settings' screen (ALT+F2) which shows the state of all keyboard configuration functions, as well as the Hot Keys that can change those functions.
  • Replaced the automatically typed out descriptions when toggling keyboard functions (CTRL+ALT+HotKey), with a short or long cursor wiggle to indicate the new state. A short wiggle will typically indicate that the function is ON and a long wiggle indicates it is OFF. Pressing just ALT+HotKey will still display the full function description and state as before. The reason for this change was to be less intrusive when changing functions on the fly, especially within programs.
  • Also used the short and long wiggle feature to indicate START of macro recording (short wiggle) and END of macro recording (long wiggle) instead of flashing Scroll LED which was causing dropped keys.
  • Speeded up arrow/cursor movement, by disabling sustained key action just for the arrow keys (uses faster non-sustained key send routine, same as utilized by macros and message display routines).
  • Enabled 8 second watch dog timer. This was done mainly to accommodate certain IBM Model M keyboards that when 'HOT' plugging would send a random key down transmission without subsequent key up, thereby causing TK-II to get stuck in a repeating loop. Now after 8 seconds, the watch dog timer will do a reset which will break it out of the never ending loop. The reset will also do a proper re-initialization of the keyboard(s), but without the delayed Caps Key send occurring.
  • Mouse support has been removed and will not be coming back. This is something best done through the joy stick port, by emulating an ST mouse. A key press based mouse is simply too limited for any serious use.

 

5 days until New Firmware Release

 

 

- Michael



#431 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Wed Jul 13, 2016 2:30 PM

TK-II Firmware Version 1.6F is ready for its official debut!!!

 

tk-ii-diagram_orig.jpg

 

Download Zipped File: Attached File  TK-OS_V1_6.zip   150.96KB   129 downloads

 

Includes auto loading JOY2PIC Flashing ATR, as well as FlowCode source and PIC16F1847 hex file

 

This file is also available at: ataribits.weebly.com/design.html 

 

 

 

I've been testing the crap out of this, and have not seen any problems. So I decided to release it a couple of days early. Even if you don't have any use for the dual keyboard or alternative German key mapping, download and re-flash for the much better reliability aspects. Extensive changes were made to the underlying PS/2 code, that have made a world of difference.

 

Enjoy!

 

- Michael

 



#432 Eyvind Bernhardsen OFFLINE  

Eyvind Bernhardsen

    Star Raider

  • 84 posts

Posted Sat Sep 3, 2016 1:07 PM

I'm happy to report that the Logitech Cordless Desktop (ancient PS/2 model) works with the TK-II-XEGS-S! The only problem I've seen so far is that the synthetic BREAK inserted when showing the configuration settings is sometimes sent too early, cutting off the last character on a few of the lines.

 

Thank you so much for designing this adapter! I had to expand my soldering comfort zone to make it, but not being forced to used the XEGS keyboard any more is incredible.

 

Next step: connect the console keys to the keyboard port so I can use my XEGS from across the room. And maybe make my own keymap... :)



#433 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Sat Sep 3, 2016 2:23 PM

I'm happy to report that the Logitech Cordless Desktop (ancient PS/2 model) works with the TK-II-XEGS-S! The only problem I've seen so far is that the synthetic BREAK inserted when showing the configuration settings is sometimes sent too early, cutting off the last character on a few of the lines.

 

Thank you so much for designing this adapter! I had to expand my soldering comfort zone to make it, but not being forced to used the XEGS keyboard any more is incredible.

 

Next step: connect the console keys to the keyboard port so I can use my XEGS from across the room. And maybe make my own keymap... :)

 

Would it be possible for you to take a video of the problem you mentioned?

 

And is it only associated with this wireless keyboard and/or have you tried a non-wireless model? Reason I ask, is that I have not seen this aberration when tested on several keyboards I have  :?

 

Other than that issue, glad to hear you like it  :)

 

- Michael



#434 Eyvind Bernhardsen OFFLINE  

Eyvind Bernhardsen

    Star Raider

  • 84 posts

Posted Sat Sep 3, 2016 11:52 PM

Would it be possible for you to take a video of the problem you mentioned?

 

Well, I've made a video, but the forum tells me I'm not "permitted to upload this kind of file." It's only about 11MB, so it's not because of the size.

  

And is it only associated with this wireless keyboard and/or have you tried a non-wireless model? Reason I ask, is that I have not seen this aberration when tested on several keyboards I have   :?

 

Yes, I assumed that it isn't supposed to be this way  :). It turns out that the Logitech is the only PS/2 keyboard I have, but I'll try to borrow another one to test with.

 

Another thing I noticed while making the video is that double characters are sometimes dropped, eg "TOGGLE" becomes "TOGLE" in the video I'm trying to upload, and I saw "OFF" as "OF" in a different take. I can reproduce this while typing; if I repeat a key too quickly, the second press sometimes doesn't register. Could it be something specific to my XEGS?



#435 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Sun Sep 4, 2016 1:29 AM

 

Another thing I noticed while making the video is that double characters are sometimes dropped, eg "TOGGLE" becomes "TOGLE" in the video I'm trying to upload, and I saw "OFF" as "OF" in a different take. I can reproduce this while typing; if I repeat a key too quickly, the second press sometimes doesn't register. Could it be something specific to my XEGS?

 

This really is starting to sound like a problem with the keyboard not being fully compatible with TK, or something interfering with the wireless communication. It might work just fine on a standard PC, but I suspect there might be something that is outside of the normal PS2 specification. If its not that, then it might be that you are not in TK's XEGS Mode. ALT+X will tell you if this mode is either ON or OFF. You would want it to be ON. CTRL+ALT+X will toggle it. Although normally if it were OFF I would expect it to be a slightly different problem than what you are seeing (ghost key presses or keys that begin repeating on their own).

 

One other thing that I remember from back when TK supported a limited mouse mode... I was testing various wireless PS2 mice to see what would work, and I had this one that sorta worked but had erratic behavior. Later I speculated that this was probably because a lot of the wireless PS2 stuff operates at lower frequencies than the modern wireless USB ones, sometimes even in the 27 Mhz CB band. So it is conceivable that either TK and/or the XEGS's RF emissions (especially if missing the RF shield) could be causing havoc with the keyboard you have. Basically it's a form of radio jamming, that the higher frequency devices wouldn't be as susceptible to . Best way to find out is to borrow a standard non-wireless PS2 keyboard as you mentioned, plug it in and see what happens.

 

Good luck with your investigations, and let me know what you find out.

 

- Michael


Edited by mytekcontrols, Sun Sep 4, 2016 1:30 AM.


#436 Eyvind Bernhardsen OFFLINE  

Eyvind Bernhardsen

    Star Raider

  • 84 posts

Posted Sun Sep 4, 2016 2:53 AM

This really is starting to sound like a problem with the keyboard not being fully compatible with TK, or something interfering with the wireless communication. It might work just fine on a standard PC, but I suspect there might be something that is outside of the normal PS2 specification. If its not that, then it might be that you are not in TK's XEGS Mode. ALT+X will tell you if this mode is either ON or OFF. You would want it to be ON. CTRL+ALT+X will toggle it. Although normally if it were OFF I would expect it to be a slightly different problem than what you are seeing (ghost key presses or keys that begin repeating on their own).

 

Yes, I suspected PS/2 incompatibility or wireless interference as a cause for the missed keys when I'm typing, but is the plugged-in keyboard involved with the automatic "typing" of the status messages? It seems more like a timing issue to me.

 

XEGS mode is on, I'm using firmware version 1.6, and I have a PAL XEGS with U1MB installed (my brother has an unexpanded XEGS that I am planning to test with).

 

I've ruled out a problem with my specific TK-II by making a second one; it has the same behaviour. Side note: I really like how OSH Park gives you three PCBs to play with  :)

 

Best way to find out is to borrow a standard non-wireless PS2 keyboard as you mentioned, plug it in and see what happens.

 

Yep, I don't expect to get any further until I've done that. Thanks for the support so far!



#437 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Sun Sep 4, 2016 8:52 AM

 

Yes, I suspected PS/2 incompatibility or wireless interference as a cause for the missed keys when I'm typing, but is the plugged-in keyboard involved with the automatic "typing" of the status messages? It seems more like a timing issue to me.

 

XEGS mode is on, I'm using firmware version 1.6, and I have a PAL XEGS with U1MB installed (my brother has an unexpanded XEGS that I am planning to test with).

 

I've ruled out a problem with my specific TK-II by making a second one; it has the same behaviour. Side note: I really like how OSH Park gives you three PCBs to play with  :)

 

 

Yep, I don't expect to get any further until I've done that. Thanks for the support so far!

 

Yes it could be a timing issue, and that would seem to be the case for the status message issues which are sent at the fastest rate possible (maybe too fast for your particular machine). Might possibly be related to your system being based on the PAL TV standard (you're in Norway  :? ), which does run a tiny bit slower. Although I wouldn't think enough to cause a problem, but you never know. Anyway if that is the issue, I can try changing it so that more time is provided for key presses during message sends.

 

Is this the same issue causing the dropped keys from the keyboard? Maybe, but we might be dealing with a two fold problem, with neither one being related. So if you are game, I'll PM you new firmware with a timing change to see if that improves the situation. You do have a JOY2PIC programmer?

 

- Michael

 

PM sent to you with new JOY2PIC TK-II firmware file attached. Let me know if this works for you.


Edited by mytekcontrols, Sun Sep 4, 2016 9:41 AM.


#438 Eyvind Bernhardsen OFFLINE  

Eyvind Bernhardsen

    Star Raider

  • 84 posts

Posted Sun Sep 4, 2016 12:46 PM

Yes it could be a timing issue, and that would seem to be the case for the status message issues which are sent at the fastest rate possible (maybe too fast for your particular machine). Might possibly be related to your system being based on the PAL TV standard (you're in Norway  :? ), which does run a tiny bit slower. Although I wouldn't think enough to cause a problem, but you never know. Anyway if that is the issue, I can try changing it so that more time is provided for key presses during message sends.

 

I'm thinking the non-repeated keys might be related to keyboard debounce, which runs off POKEY's 15kHz clock. I haven't been able to find a reference for the exact values of PAL vs NTSC for that clock, only that they are different.

 

Is this the same issue causing the dropped keys from the keyboard? Maybe, but we might be dealing with a two fold problem, with neither one being related. So if you are game, I'll PM you new firmware with a timing change to see if that improves the situation. You do have a JOY2PIC programmer?

 

I do, and I'll try the new firmware straight away.

 

I have also tested with a normal, wired PS/2 keyboard now, but I see the same behaviour.



#439 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Fri Sep 23, 2016 11:34 PM

Thanks to Eyvind and several other people on the TK-II-STEREO board Beta Test Team, a new firmware version will soon be released.
 
Here are the upcoming changes...
 

Firmware Version: 1.7F
File: TK-II-OS_v1_7F.hex
JOY2PIC Flasher: TKprog_V1_7F.atr
Date: 9/22/2016
 
- Due to timing issues on some PAL systems that caused repeated keys to be dropped, a non-invasive identical key press separator has been employed that essentially sends a CTRL+SHIFT+A key to the Atari (when peeking location 764, this will show up as 255 -- no key pressed). Since the Atari views that as a non-existent key, no key click sound is triggered, and no interference is seen other than a very short but virtually unnoticeable delay between identical key presses. However it does let the Atari know that the next key should be treated as a unique key press, thereby not letting it get ignored as before. For the time being this solution seems to work well, has cured the dropped key issue, and does not impact either PAL or NTSC systems. And it appears that even on NTSC systems, keyboard responsiveness is now better.
 
- TK-II Caps Mode has undergone a lot of changes to bring it more inline with how other non-volatile configuration settings are view able via a status message. So now using ALL+Caps-Lock key will display a status message showing what state it is in (CAPS MODE= 'TK-II' or 'ATARI'). CTRL+ALT+Caps-Lock key will toggle this setting, and utilize the cursor wiggle feature to signify what it's set to (short wiggle=TK-II, long wiggle=ATARI). When in TK-II Caps Mode, pressing and holding the Caps-Lock key for 2 seconds will send out a 'real' Caps key to the Atari, thereby toggling whatever state it is in. Note: For TK-II Caps Mode to work properly, the Atari needs to be in a lowercase state. Other changes: CTRL or SHIFT (independently) in combination with the Caps-Lock key and while also in TK-II Caps Mode, is disallowed and will not cause a Shift or Control Lock condition. However CTRL+SHIFT+Caps-Lock key will still send out the appropriate key-code matching what would be seen from the stock Atari keyboard, no matter what Caps Mode is active at the time.
 
- The original TK-II Settings Menu accessed by ALT+F2 and also status messages, were causing 'Stopped' to be displayed after each line break while in Altirra BASIC. This was because Break key sends were being used as the line breaks in the messaging system of TK-II. So a new line breaking method has been implemented that utilizes one of the special Function keys first incorporated in the 1200XL (supported in all XL/XE OS's) which homes the cursor to the left side of the screen. This is now followed by a cursor down arrow key, thus giving the same result as using the Break key followed by a return. So although this works just fine for an XL or XE, what about an older 400/800 series computer? Yes the Break key method is the only way to do it with the older OS, so it has been retained as an alternative Settings Menu now accessed by ALT+F3. Also for best results in a 400/800 computer, the Settings Menu should be viewed in Memo Pad or some other stock BASIC derivative. As for status messages in the 400/800, since they are now using the XL/XE method, no cursor return to the left side of the screen will occur.
 
- Accessing and exiting the U1MB Menu while in TK-II Caps Mode has now been upgraded to allow for semi-automatic restoration of the caps setting upon exiting the menu via the following U1MB shortcut keys: B, C, X, and ESC. Also whatever the Caps Lock state was prior to entering the U1MB Menu (either upper or lowercase as displayed by the Caps Lock Led), it will be restored after exiting the menu via the shortcut keys. So for all of this to work, you must use the F12 key to enter the U1MB Menu, and one of the mentioned shortcut keys to exit the menu. In each and every case, after exiting the U1MB Menu the Caps Lock Led will begin flashing, if you do nothing a caps re-sync signal will be sent to the Atari in 60 seconds putting it back into lowercase mode (which is what the TK-II Caps Mode needs in order to work properly). However just as before, you can terminate this delay early by pressing any key (preferably when back at the 'Ready' prompt or when the disk has finished re-booting). Whatever key is pressed, the first time it will only initiate the caps re-sync, and will not in itself be sent. So to avoid confusion, when you see the Caps Lock Led flashing, press the Caps Lock key instead of just any other key. None of the above applies if you are in the ATARI Caps Mode.
 
- ALT+A has been used for quite sometime now as a means to swap between the arrow keys sending arrows (TK-II default) to sending the original Atari math symbols that were printed on the key cap. The only problem is that when toggling between these two modes, you really had no way to know which mode you were in, other than testing a key press. So the cursor wiggle has been added when toggling, with a short wiggle indicating ATARI mode (math symbols) and a long wiggle indicating TK-II mode (this is the default which = arrow cursor moves). This configuration setting is volatile and will be lost when you power down the computer. Thus it will be back at the default setting the next time you power up.
 
- CTRL+ALT+A toggles the arrow key cursor speed setting. It also has visual feedback when toggling, with a short wiggle indicating FAST speed and a long wiggle indicating SLOW speed (default). This configuration setting is volatile and will be lost when you power down the computer. Thus it will be back at the default setting the next time you power up.
 
- Minor improvements were made in the TK-II 'Insert' Mode (toggled by ALT+Insert), which should now allow it to function more accurately.
 
- Removed MyIDE F11 shortcut key, since this has been obsoleted due to recent MyIDE firmware upgrades. F11 no longer has any key assignment other than macros.

 
 
Still doing some last minute assessments, but I anticipate a public release early next week.
 
- Michael


Edited by mytekcontrols, Fri Sep 23, 2016 11:36 PM.


#440 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Sat Sep 24, 2016 8:16 PM

Firmware Version 1.7F will be the 2nd version that supports up to two keyboards on TK-II hardware. However the non-Stereo board does require a diode mod to enable 2nd keyboard operation from what was previously the mouse port. Just to be clear, mouse support was abandoned beginning with firmware version 1.6F, and will not be coming back.

The new TK-II-STEREO board fully supports dual keyboard operation right out of the box, so no modifications required.

- Michael

#441 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Thu Sep 29, 2016 10:34 AM

New Firmware Ready for Showtime

 

Version 1.7F Download: Attached File  TK-OS_V1_7F.zip   229.9KB   32 downloads

 

This zipped file contains:

  1. Revision.txt (pretty obvious what this is)
  2. TK-II-OS_V1_7F.hex (PIC16F1847 firmware hex machine code file - use for flashing with PICkit programmer or similar)
  3. TK-II-OS_V1_7F.fcf (FlowCode source code file)
  4. TK-II Keyboard Map v1_7F.png (PS2 Keyboard Map Image)
  5. Folder>TKOS-FLASH-V1_7F (Contains JOY2PIC Flashing ATR)

 

- Michael

 

 

Hopefully someday there will be an operations manual to cover all that is TK-II. But for now there is this forum topic.


Edited by mytekcontrols, Thu Sep 29, 2016 10:51 AM.


#442 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,457 posts
  • Location:West Yorkshire, Great Britain

Posted Thu Sep 29, 2016 1:19 PM

I don't think I have checked back on this project since the Spring, so I am very happy to see how much progress you have made mytekcontrols!

 

Every time I have to remove my 130XE keyboard to do some work on the motherboard I am reminded how fragile the ribbon edge-connector is.  I personally would be quite happy to pull the original keyboard entirely, so long as I could fabricate a reasonably neat blank for the aperture through the front of the case.  If it would be possible to attach an external keyboard of whatever type via the TK-II then the base unit could be used like the primary box of the XEGM console.  You would also get a very nice amount of extra headroom inside the case for new mods or to mount what are otherwise peripherals like the SIO2PC or SIO2SD.  In my opinion the design of the 130XE case (if sadly not the motherboard!!!) is greatly superior to the XL's, although even on those earlier machines it would be entirely possible if slightly more fiddly to remove the keyboard from the upper half of the case as well and install a blank.



#443 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Thu Sep 29, 2016 3:42 PM

I don't think I have checked back on this project since the Spring, so I am very happy to see how much progress you have made mytekcontrols!

 

Every time I have to remove my 130XE keyboard to do some work on the motherboard I am reminded how fragile the ribbon edge-connector is.  I personally would be quite happy to pull the original keyboard entirely, so long as I could fabricate a reasonably neat blank for the aperture through the front of the case.  If it would be possible to attach an external keyboard of whatever type via the TK-II then the base unit could be used like the primary box of the XEGM console.  You would also get a very nice amount of extra headroom inside the case for new mods or to mount what are otherwise peripherals like the SIO2PC or SIO2SD.  In my opinion the design of the 130XE case (if sadly not the motherboard!!!) is greatly superior to the XL's, although even on those earlier machines it would be entirely possible if slightly more fiddly to remove the keyboard from the upper half of the case as well and install a blank.

 

Yep much has changed over the Summer, and the product has matured into something very capable. This is also the same tech that went into the TK-II-STEREO board, so it gets to enjoy a wider use. With the dual keyboard aspect now fully in play, you could create something like you propose with an internal PS2 keyboard and also have a PS2 port for an external or remote keyboard aspect (or use it for a PS2 numeric keypad). It would seem like there should be a PS2 keyboard (minus the numeric input keys) that could be small enough to fit where the stock keyboard once resided. Of course it would require some sort of custom key template to match things up. Perhaps something that came out of an earlier laptop would work.

 

Personally my favorite is the XEGS, since it never had an internal keyboard, so no need to block any hole left by one. Of course just like the 65/130XE, it has no socketed chips. But what I have discovered is that the PCB used in these is very robust, and I have never had any problems removing chips and installing sockets in their place. It does lack a PBI, but unless you absolutely want to have a mechanical hard disk, something like the U1MB/SIDE2 combo works very well, substituting CF solid state memory for the mechanical disk. And best of all, most of the available upgrades stay inside the original enclosure (lots of room in an XEGS without the RF shield).

 

- Michael


Edited by mytekcontrols, Thu Sep 29, 2016 3:45 PM.


#444 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Sat Nov 12, 2016 12:59 AM

A preview of an upcoming addition...

 

For the Atari user that really wants to stick with the original keyboard that came with their computer, but also wouldn't mind the extra functionality that TK-II brings, there will be a new Key Map coming in the next firmware revision.

 

8FEXnAd.png

 

This idea was originally born out of the idea of trying to support more international keyboard layouts. And indeed a 3rd KeyMap was added for the UK, but then things quickly began to bog down when I was faced with all of the possibilities that exist for all of the different countries. So in a discussion I had with Eyvind Bernhardsen talking about the similarities of Danish vs. Norwegian keyboards (Eyvind's from Norway), and my intention to implement a Norwegian KeyMap, that a great idea was born (thanks to Eyvind). Why not just map an ISO style keyboard to something very much like the original A8 layout? And so it began  :grin:

 

Besides recreating the cursor keys relative to their original position, it was decided that the Caps key needed to be elsewhere and that a Control key would take its place, thus being a bit more Atari like. At first this consisted of just swapping the left side Control and Caps keys, but this created some problems both ergonomically and also functionally. So then Eyvind suggested that perhaps it would be even better to put the Caps key over to the right, which would also make it more similar to the original A8 layout. This ended up with two Control keys on the left, one in the original position and the other situated above left Shift just like in the original A8 layout. Kind of like having the best of both worlds. And of course all of the 'Shifted' key symbols would need to match the A8 keyboard positions as well ( :mad:). Well long story short it's getting there, and it's going to be sweet  :lust:

 

So what about the labeling? Well to keep it reasonable, stickers come to mind. And these are actually very good: Atari Non transparent Keyboard Stickers

 

However if you really, really love to get the absolute best, this might be the ticket: WASD Keyboards They let you totally customize what kind of key switches, colors, and what gets printed on the keys. But of course that comes at a price starting at $145  :-o  But I just know that some of you will likely go that route, and perhaps I might even go for one myself. So with that in mind, here is the original SVG file that the keyboard legend above came from: Attached File  WASD-Atari.svg.zip   194.08KB   20 downloads  (Open it in Inkscape so that you can edit it)  Now keep in mind that this is a WIP, so feel free to embellish or change anything to better suit your individual tastes. But at least this will give you a good starting point.

 

BTW, that key to the lower left marked as TK is actually an extra key on the ISO layout that I've assigned to an unused key in the A8 keyboard matrix which will produce a decimal 41 when doing a PEEK (764). It can be used for what-ever you wish, and just like any other key, its value will change dependent upon Shift or Control (or both) being pressed.

 

 

When will this be available?

 

It's getting pretty close at this point, and presently both Eyvind and myself are bug testing it. But it'll probably still be at least another week before I consider it ready for release. So look for an upcoming announcement and a download to be coming very soon.

 

- Michael


Edited by mytekcontrols, Sat Nov 12, 2016 1:19 AM.


#445 yorgle OFFLINE  

yorgle

    Dragonstomper

  • 592 posts

Posted Sat Nov 12, 2016 12:43 PM

Any chance of incorporating the ps2 output idea in this revision?

#446 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Sat Nov 12, 2016 3:43 PM

Any chance of incorporating the ps2 output idea in this revision?

 

Hi yorgle,

 

Yeah I was attempting to do that as a stand-alone version (aka; Stock Atari Keyboard -to- PS2), but I ran into some snags with getting the key debounce to work properly. However in the back of my mind I started thinking about simply using the 2nd PS2 port and doing something essentially like a DPDT switch in software that would direct the output from the first into the 2nd. However unlike a simple pass-thru, it would first go through the decoding process and then possibly be remapped before being sent back out. However this is all just speculation at this time, and may never see the light of day. So in answer to your question of whether it or something like it could get implemented in this upcoming rev, I'm afraid the answer is no. But you never know down the road  ;)

 

- Michael



#447 mytekcontrols OFFLINE  

mytekcontrols

    River Patroller

  • Topic Starter
  • 2,256 posts
  • Location:Santa Rosa, CA

Posted Mon Nov 21, 2016 6:05 PM

Version 1.8 Firmware Released

 

Go to ataribits.weebly.com/design.html and scroll down to 'Code: All TK-II Versions' to download new firmware update (also includes auto loading JOY2PIC Flasher ATR).

 

 

Changes...

Firmware Version: 1.8
File: TK-II-OS_v1_8.hex
JOY2PIC Flasher: TKprog_V1_8.atr
Date: 11/21/2016

- Added New KeyMaps: UK & A8. UK is compatible with the United Kingdom keyboard. A8 maps a standard ISO keyboard same as an Atari, and also swaps Right CTRL for the Caps Lock key.

- Cursor wiggle acknowledgement for configuration setting change has been modified to reflect which key map has been selected.
  1 wiggle = US, 2 wiggles = DE, 3 wiggles = UK, 4 wiggles = A8 (mapped to ISO). For other settings, one wiggle equates to an 'ON' condition, with 2 wiggles = 'OFF'.

- Enabled ALTgr in DE KeyMap to allow configuration changes and viewing same as when using standard ALT key (ie, CTRL+ALTgr+F4 toggles key map).

----

 

Other than the new key maps, there is probably not much reason to update from V1.7F to this one.

 

Here's a better overview of the key maps available: ataribits.weebly.com/device-compatibility.html

 

- Michael


Edited by mytekcontrols, Mon Nov 21, 2016 6:06 PM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users