geekhack

geekhack Projects => Making Stuff Together! => Topic started by: hasu on Tue, 03 December 2019, 05:59:31

Title: TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 03 December 2019, 05:59:31
IBM PC Keyboard Converter

The converter translates IBM PC keyboard protocols into USB to use classic keyboards with modern computer. It supports both IBM XT and AT protocols(including PS/2 and Terminal), and all of scan code set 1, 2 and 3 with one firmware.

Pin configuration is compatible for Soarer's, this firmaware works on existent Soarer's converter hardwares.

This project is intended to integrate and supersede existent TMK XT, PS/2 and Terminal converters.
- IBM XT converter: https://geekhack.org/index.php?topic=94649.0
- PS/2 converter: https://geekhack.org/index.php?topic=14618.0
- IBM Terminal converter: http://geekhack.org/index.php?topic=27272.0

You can buy  preassembled TMK converter (https://geekhack.org/index.php?topic=72052.0) here to support this project.

Thanks



Trouble Shoot
Check these first if you have a problem.

- Check your wiring 100 times if you are using your own DIY converter
- Pull-up resistors
- Reset pin(for XT keyboards)
- Use TMK 'Default Prebuilt Firmware'



Update
2023-10-27 Add support (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#silitek-sk-7100p) for hot keys of Silitek SK-7100P
2023-06-16 Add support for 'TERM FUNC' key (https://github.com/tmk/tmk_keyboard/pull/760) on Siemens F500 in AT protocol
2023-02-17 Fix for XT startup problem (https://github.com/tmk/tmk_keyboard/issues/751#issuecomment-1434044064)
2022-09-08 Add support for SIEMENS PCD 2 Keyboard (https://github.com/tmk/tmk_keyboard/issues/747). Make 'Magic commands' (https://geekhack.org/index.php?topic=103648.msg3139810#msg3139810) enabled again.
2022-08-20  Fix (https://github.com/tmk/tmk_keyboard/commit/e12e8f3741086ad45f2cfe88b0e5e8de3d7486d9) keymap editor layout for Full-key: All hidden keys of IBM Model-M are supported now
2022-07-22 Confirm support and fix for IBM 5576-002 (https://github.com/tmk/tmk_keyboard/issues/688#issuecomment-1192148331)
2021-11-08 Add support for AX keyboard (https://en.wikipedia.org/wiki/AX_architecture)
2021-11-06 Add support (https://github.com/tmk/tmk_keyboard/pull/711) for Televideo DEC style keyboard (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#televideo-990995-dec-style)
2021-10-28 Update (https://geekhack.org/index.php?topic=103648.msg3090743#msg3090743): Add AT/XT auto-switching support, parity error detection, ConnectPro KVM support
2021-08-17 Fix XT keymap for ISO key (https://github.com/tmk/tmk_keyboard/issues/702).
2021-07-07 Add support for secondary interface and PS/2 Mouse(IntelliMouse, ExplorerMouse and Logitech PS/2++ too)
2021-06-03 Add support for Zenith Z-150 AT, IBM 5576-001(ID:AB92) and IBM 1394204(ID:7F7F)
2020-11-22 Add adhoc Z-150 AT support(Let me know your result)
2020-11-22 Fix Pause key (https://geekhack.org/index.php?topic=103648.msg2981161#msg2981161) for enhanced XT keyboard
2020-07-05 Fix for Timeout error(ERR:20) (https://geekhack.org/index.php?topic=103648.msg2928611#msg2928611)
2020-07-02 Add support for hidden keys of IBM AT 84-key to Editor
2020-06-03 Improvement for XT protocol and keyboard error recovery
2020-05-11 Add handler for keyboard buffer full to prevent key stuck
2020-05-11 Add adhoc start bit error recovery for XT keyboards
2020-04-28 Add support G80-2551 (https://geekhack.org/index.php?topic=103648.msg2891896#msg2891896) and possibly other terminal keyboards(whose id is AB86)
2020-04-11 Keymap Editor is available
2020-03-02 firmware update for XT protocol handling and many other fixes



REQUEST FOR HELP
Test in the field and feedback from users are needed to improve this converter.
Please report your result and your keyboard model number.
Also debug outputs on hid_listen (https://github.com/tmk/tmk_keyboard/wiki#hid_listen) would be helpful to know how keyboard is recognized.

The converter needs to be tested especially with these keyboards:
- IBM 5576-002/003 - Please report your result. Also check this (https://github.com/tmk/tmk_keyboard/issues/688) and Code Set 2 table (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#5576-002003).
- Copam K-430 (https://geekhack.org/index.php?topic=111510.0) (supported now)
- IBM 5576-001 (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770) Supported now! (https://github.com/tmk/tmk_keyboard/issues/685)  2021-06-01
- Zenith Z-150 AT (supported now)
- Zenith Z-150 XT black label (supported now)
- IBM PC XT 83-key (supported now)
- IBM PC AT 84-key (supported now)
- IBM RT to add LED support (https://github.com/tmk/tmk_keyboard/issues/723#issuecomment-1079807357)
(Let me know if you still have any issue)



Keyboard support
- PC XT (keyboard of IBM 5150 5160)
  - 83-key: 1501100 1501105
- PC AT (keyboard of IBM 5170)
  - 84-key: 6450200 6450225
- PC Terminal (keyboard of IBM 5271/3270 PC)
  - 122-key: 6110344 6110345 1397000
  - 102-key: 1390680 1395764 1392595
- Other compatible keyboards (see below)

Confirmed Keyboards
Let me know if you find any issue with these keyboards using the latest firmware.

XT Keyboards
- IBM PC XT 83-key: 4584656 (https://geekhack.org/index.php?topic=103648.msg2875117#msg2875117), 2020-06-02 (https://github.com/tmk/tmk_keyboard/issues/635#issuecomment-636972917), 2023-02-17 (https://github.com/tmk/tmk_keyboard/issues/751#issuecomment-1434044064)
- Leading Edge DC-2014 (https://geekhack.org/index.php?topic=103648.msg2879119#msg2879119)
- KeyTronic E03600 XT/AT (https://geekhack.org/index.php?topic=103648.msg2928293#msg2928293) (after Timeout error Fix)
- Zenith Z-150 XT (https://geekhack.org/index.php?topic=103648.msg2971613#msg2971613), black label (https://deskthority.net/viewtopic.php?p=474849#p474849), Heath(92-803) (https://geekhack.org/index.php?topic=103648.msg3046793#msg3046793)
- Chicony (https://geekhack.org/index.php?topic=17458.msg2980704#msg2980704) KB-5191 in XT mode (https://geekhack.org/index.php?topic=103648.msg2981161#msg2981161)
- Focus (https://geekhack.org/index.php?topic=103648.msg2981068#msg2981068) FK-2001 (https://geekhack.org/index.php?topic=103648.msg2994892#msg2994892)
- Siemens F500 XT(2020-11) (https://geekhack.org/index.php?topic=103648.msg2984619#msg2984619)
- Sanyo N860-2905 (https://geekhack.org/index.php?topic=103648.msg3046793#msg3046793)
- Commodore G80-0560/e (https://github.com/tmk/tmk_keyboard/issues/739#issuecomment-1126664438) (PC-5/PC-10 (https://deskthority.net/wiki/Commodore_PC-5/PC-10_keyboard))

AT(PS/2) Keyboards
- IBM PC AT 84-key (https://deskthority.net/viewtopic.php?p=467528&sid=ea624e7671938b746b1c20807ac9d948#p467528),
- DS-2001 (https://deskthority.net/viewtopic.php?p=460619#p460619),
- Northgate Omnikey (https://geekhack.org/index.php?topic=103648.msg2888339#msg2888339)
- KeyTronic E03600 XT/AT (https://geekhack.org/index.php?topic=103648.msg2928293#msg2928293)
- DTK SPK 101 (https://geekhack.org/index.php?topic=103648.msg2929435#msg2929435)
- FK-8000 (https://geekhack.org/index.php?topic=103648.msg2971633#msg2971633)
- Focus (https://geekhack.org/index.php?topic=103648.msg2981068#msg2981068) FK-2001 (https://geekhack.org/index.php?topic=103648.msg2994763#msg2994763)
- Siemens S26381-K257-L120 (https://geekhack.org/index.php?topic=103648.msg3033527#msg3033527) (Some keys (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#siemens-s26381-k257-l120) may be not useful.)
- SIEMENS PCD 2 Keyboard (https://github.com/tmk/tmk_keyboard/issues/747) (Weirdness (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#siemens-pcd-2-keyboard))
- APC-H410E (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- Toshiba JIS AT101 (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- Dell AT101 - GYI3PVAT101  (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- Wang 724 (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- Unicomp Model M (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- IBM P70 Keyboard (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- Zenith Z-150 AT (https://geekhack.org/index.php?topic=103648.msg3055134#msg3055134) #661 (https://github.com/tmk/tmk_keyboard/issues/661) OK (https://geekhack.org/index.php?topic=103648.msg3127771#msg3127771)
- Focus FK-2002
- AX keyboard (https://en.wikipedia.org/wiki/AX_architecture) (Refer to mapping (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#ax-keyboard))
- Tandberg TDV 5020 (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#tandberg-tdv-5020) (Refer to mapping (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#tandberg-tdv-5020))
- IBM 5576-002 (https://github.com/tmk/tmk_keyboard/issues/688#issuecomment-1192148331)
- Siemens F500 AT(2023-06) (https://github.com/tmk/tmk_keyboard/pull/760)
- Unknown DEC compatible with MiniDIN-6P (https://geekhack.org/index.php?topic=120876.0)
-  Silitek SK-7100P (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#silitek-sk-7100p)

Terminal Keyboards
- IBM 122-key Terminal: 6110345 (https://geekhack.org/index.php?topic=103648.msg2850654#msg2850654), 6111070 (https://geekhack.org/index.php?topic=103648.msg2861702#msg2861702), 6110344 (https://geekhack.org/index.php?topic=103648.msg2875107#msg2875107), 1390702(Model M)
- Cherry G80 (https://deskthority.net/wiki/Cherry_G80-2551)-2551 (https://geekhack.org/index.php?topic=103648.msg2891896#msg2891896)
- IBM 5576-001 (https://github.com/tmk/tmk_keyboard/issues/685)
- IBM 1394204 101-key (https://github.com/tmk/tmk_keyboard/issues/687) (Use 122-key layout on Keymap Editor and see this (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#ibm-terminal-101-key102-key-and-ibm-rt) for mapping.)
- Televideo DEC style (https://github.com/tmk/tmk_keyboard/pull/711) (Use Full-key layout on Keymap Editor and see this (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#televideo-990995-dec-style) for mapping.)
- IBM RT (https://github.com/tmk/tmk_keyboard/issues/688) should work. (Use 122-key layout on Keymap Editor and see this (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#ibm-terminal-101-key102-key-and-ibm-rt) for mapping.) - No LED support yet. See 'REQUEST FOR HELP' above and help me.

AT/XT Keyboards
- RT8255c+ (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- RT-101+ (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- C260 Enhanced Keyboard (Deyi foam and foil) (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- Northgate Omnikey 101 (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- Zenith ZKB-2 (https://geekhack.org/index.php?topic=103648.msg3046770#msg3046770)
- BTC-5161 (https://geekhack.org/index.php?topic=103648.msg3047049#msg3047049) - Part number: BTC5339 (https://geekhack.org/index.php?topic=103648.msg3047128#msg3047128)  (AT/XT Auto-Switch, works as AT (https://geekhack.org/index.php?topic=103648.msg3047679#msg3047679))
- NTC KB-6252EA (https://geekhack.org/index.php?topic=111510.msg3073626#msg3073626)
- Copam K-430 (https://geekhack.org/index.php?topic=111510.msg3086517#msg3086517) (AT/XT Auto-Switch, works as AT (https://geekhack.org/index.php?topic=111510.msg3088289#msg3088289))








Keymap Editor
You can edit keymap on web browser and download the latest prebuilt firmware here.

http://www.tmk-kbd.com/tmk_keyboard/editor/#ibmpc_usb



Flash
Check this about how to flash firmware.
https://github.com/tmk/tmk_keyboard/wiki#flash-firmware



Firmware
Source code: https://github.com/tmk/tmk_keyboard/tree/master
See project README also. https://github.com/tmk/tmk_keyboard/tree/master/converter/ibmpc_usb

Default Prebuilt Firmware
You can download the latest prebuilt firmware with default keymap here.
https://github.com/tmk/tmk_keyboard/tree/master/converter/ibmpc_usb/binary

Build Firmware
If you are not familiar to these things use Keymap Editor.
Code: [Select]
git clone https://github.com/tmk/tmk_keyboard.git
cd converter/ibmpc_usb
make -f Makefile.<variant> clean
make -f Makefile.<variant>
where <variant> is atmega32u2, atmega32u4 or at90usb1286.
You will see firmware hex file in the directory.
Check this page as well. https://github.com/tmk/tmk_keyboard/wiki#build-firmware

Build Options:
These options in Makefile makes firmware size lager and you can disable these to reduce its size.
- `IBMPC_SECONDARY` - enables secondary interface for converter with PS/2 Mini-DIN-6 connector
- `IBMPC_MOUSE_ENABLE` - enables PS/2 mouse support




Converter Hardware
The firmware supports ATmega32u4, ATmega32u2, AT90USB1286 by default, Teensy2/2++ or Pro Micro can be used.

Wiring
Wire controller pins below to keyboard signals, besides VCC and GND. This pin configuration is compatible for Soarer's converter.

Pull-up resistors of 1-4.7K Ohm on both Data and Clock line are needed absolutely, without them it won't work in some cases.

- Data    PD0
- Clock   PD1
- Reset   PB7(or PB6 for Pro Micro)

Optional secondary interface for PS/2 connector uses these pins.
- Data2    PD2
- Clock2   PD3

See this wiki (https://github.com/tmk/tmk_keyboard/wiki/Pull%E2%80%90Up-Resistor) for pull-up resistor.

Connector pinouts
More
XT
DIN 5P 180°
(https://web.archive.org/web/20191117093845if_/http://www.kbdbabel.org/conn/kbd_connector_ibmpc.png)
- https://web.archive.org/web/20191117093845if_/http://www.kbdbabel.org/conn/kbd_connector_ibmpc.png
- https://allpinouts.org/pinouts/connectors/input_device/keyboard-xt-5-pin/
For Reset use pin 3.

AT, PS/2
DIN 5P 180°, Mini-DIN 6P, SDL
(https://web.archive.org/web/20201110061959if_/http://www.kbdbabel.org/conn/kbd_connector_ps2.png)(https://web.archive.org/web/20200422034207if_/http://www.kbdbabel.org/conn/kbd_connector_ibm_m.png)

Code: [Select]
PS/2 female socket from the front:
      ,--_--.       1: Data
     / o6 5o \      2: Data2
    | o4   3o |     3: GND
     - 2o o1 -      4: VCC
      `-___-'       5: Clock
                    6: Clock2

- http://www.kbdbabel.org/conn/kbd_connector_ps2.png
- https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#connector
- https://old.pinouts.ru/InputCables/KeyboardPC5_pinout.shtml
- https://pinouts.ru/InputCables/KeyboardPC6_pinout.shtml

Terminal
DIN 5P 240°, RJ-45 8P5C
(https://web.archive.org/web/20201110061957if_/http://www.kbdbabel.org/conn/kbd_connector_ibm3179_318x_319x.png)(https://web.archive.org/web/20201110062000if_/http://www.kbdbabel.org/conn/kbd_connector_ibmterm.png)
- http://www.kbdbabel.org/conn/kbd_connector_ibm3179_318x_319x.png
- http://www.kbdbabel.org/conn/kbd_connector_ibmterm.png
- http://www.kbdbabel.org/conn/kbd_connector_ibmrt.png (IBM RT)



Reset pin (for XT)
Old Type-1 IBM XT keyboards need Reset pin to initialize its controller on startup. Also some clones such as Zenith Z-150 XT and  Leading Edge DC-2014 are known to need it. Type-2 IBM XT keyboard and other XT clones don't need.

You should have wiring for the Reset pin if you want to support all of XT keyobards.

See this (https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol#type-1-vs-type-2) and this (https://deskthority.net/wiki/IBM_Personal_Computer_keyboard#Types) for difference between XT Type-1 and Type-2.  It is difficult to discriminate between Type-1 and Type-2 without looking into its internal electronics.

AT, PS/2 and Terminal keyboards don't require the pin. But it won't harm for the keyboards so you can make converter compatible with XT, AT, PS/2 and Terminal keyboards safely with having the Reset pin.



Pro Micro Caveat
Pro Micro is not recommended unless you are already familiar or have skill and time enough.
Don't ask Pro Micro specific question/help here like which pins to be used and how to flash.
More
You have to use VCC pin to power your keyboard, not RAW pin.
RAW pin is not for 5V power supply directly from USB line. The name may be confusing but it is used for external power input, not output. You get only around 4.6V due to protection diode(D2 in schematic) forward voltage drop(0.4V typically) on RAW pin.
And you have to make J1 solder bridged, without this you will get same voltage as RAW pin or lower.
With J1 solder bridge you can get raw power(possibly 5V) directly from USB line on VCC pin. Note that RAW pin doesn't give 5V even with the solder bridge.
Check this wiki for detail. https://github.com/tmk/tmk_keyboard/wiki/Pro-Micro#j1-solder-bridge

PD0, PD1 and PB6 are maked on Pro Micro PCB as 3, 2 and 10 respectively.
(https://i.imgur.com/QtLjX01.png)
https://github.com/tmk/tmk_keyboard/wiki/Pro-Micro#pinout








Debug
Use hid_listen to see debug outputs from the converter.

https://github.com/tmk/tmk_keyboard/wiki#debug

You will see debug ouputs like this.
Code: [Select]
TMK:95aba6dd/LUFA

USB configured.

Keyboard start.
rAA rBF rBF wF5 rFA wF2 rFA rBF rBF wF4 rFA ID: BFBF
kbd: Terminal
wF8 rFA 


Scan Code Map
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#default-mapping

Check this default mapping if your keyboard is not consistent with keymapping code or Keymap Editor layout.
Use hid_listen to see scan code of questioned key and find it in the default mapping table.

Sigrok Decoder
You can use this protocol deocoder with sigrok PulseView to see commands and data for debug. The docoder supports only AT protocol, not XT at this time.
More
Cheap $10-20 logic analyzer (https://sigrok.org/wiki/Fx2lafw#Logic_Analyzers_/_mixed-signal_devices) that is compatible with sigrok (https://sigrok.org/wiki/Main_Page) works well for this job. Get one and try. 1MHz sample rate is actually good enough for the protocol.

https://github.com/tmk/tmk_keyboard/wiki/Signal-Capture-for-debug#sigrok
(https://user-images.githubusercontent.com/424590/169610559-9e1c3042-5500-4f4f-b546-53718c959a38.png)

Or instead of using logic analyzer you can use 'Signal Capture' firmware on your converter hardware to capture signal(this won't always work). See below.


Signal Capture Firmware
With this firmware you can capture signals from keyboards without logic analzyer.

https://github.com/tmk/tmk_keyboard/wiki/Signal-Capture-for-debug/#signal-capture-firmware




Issues
Let me know here or on github if you have any problem.
https://github.com/tmk/tmk_keyboard/issues







Media keys support
Media keys are mapped to F13-F24 by default. You can remap on Keymap Editor.

Check this wiki entry.
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#media-keys



Mouse support
Default firmware is built with Mouse support. Just plug mouse to PS/2 converter or AT/XT converter using adapter.

- PS/2 mouse protocols are also supported now. 2021-08
  - Default mouse - 3-button
  - IntelliMouse - 3-button with v-wheel
  - ExplorerMouse - 5-button with v-wheel
  - Logitech PS/2++ - 8-button with v and h-wheel

Confirmed Mouses
- Logitech MX510



Dual device support
Supported only by PS/2 converter. To use secondary interface you need Y-splitter cable.
You can host two devices at same time regardless of any combination(keyboard/mouse, 2 keyboards or 2 mouses).



AT/XT protocol auto-switching keyboard
Some keyboards support both AT and XT protocol and can detect host protocol automatically without physical switch.  TMK IBMPC converter selects AT protocol in preference to XT with such keyboards.
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter#atxt-auto-switching




Converter Implementation and Protocol Considerations
Check TMK wiki pages.
- https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-Keyboard-Converter
- https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol
- https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol



Solved Issues:
More
IBM PC XT 83-key:
- Random issues show up.
https://geekhack.org/index.php?topic=103648.msg2898287#msg2898287
https://github.com/tmk/tmk_keyboard/issues/635#issuecomment-626363659
https://github.com/tmk/tmk_keyboard/issues/635#issuecomment-626346945
It was hardware issue probably. 2020-05-14

- miss start bit(0) and register wrong key
https://github.com/tmk/tmk_keyboard/issues/635#issuecomment-626249036
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol#note-for-start0

https://github.com/tmk/tmk_keyboard/commit/7c3b669e6f7f449fa4ae58e028fcd07182cafa99
https://github.com/tmk/tmk_keyboard/issues/635#issuecomment-627397611
Updated firmware and solved. Use the latest firmware. 2020-05-14

https://github.com/tmk/tmk_keyboard/issues/635#issuecomment-636972917
Updated firmware for further improvemtn. 2020-06-03


Zenith Z-150 AT:
- Start bit and ACK when sedinging data

Detailed Issue Description:
- https://github.com/tmk/tmk_keyboard/issues/661
- https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#zenith-z-150-at
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 05 January 2020, 20:05:56
anyone? please check first post.


Quote
REQUEST FOR HELP: Try and report your result.
Post your keyboard model number here, also debug outputs on hid_listen would be helpful.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Mon, 06 January 2020, 12:00:47
I have a few ATMega32u4s sitting around waiting to be turned into Soarer's Converters, and probably the necessary resistors. I have both the standard IBM Model F XT, and AT. I also have some AT/XT switchable Uniteks and a DC-2014, although it already currently has a Soarer's converter I built inside of it. I know a guy that has an old RJ11 Wyse too (among other old weird things), if any of that may be helpful for testing.

What exactly is it that you wish to accomplish? An open-source alternative to Soarer's Converter? I would think that the AT/PS2 keyboards should all work just about the same, right? My F AT works with modern systems with a 5 pin din to PS2 adapter. There's certainly no shortage of random old PS2 boards that must be available to you.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 06 January 2020, 18:46:54
I have a few ATMega32u4s sitting around waiting to be turned into Soarer's Converters, and probably the necessary resistors. I have both the standard IBM Model F XT, and AT. I also have some AT/XT switchable Uniteks and a DC-2014, although it already currently has a Soarer's converter I built inside of it. I know a guy that has an old RJ11 Wyse too (among other old weird things), if any of that may be helpful for testing.
Report on those keyobards would be definitely helpful. As for DC-2014 this firmware is compatible to Soarer's hardware you can just program it to test. This doesn't break your existent keymap settings of in eeprom, so you just need to program Soarer's firmware again to restore.

I really want to know my firmware with the IBM model F AT and XT(I don't own any unfortunately), they are very original and legitimate test samples for the keyboard  protocols.

I don't know much about RJ11 Wyse but I guess some of them uses Wyse specific protocol, not AT or XT.

Quote
What exactly is it that you wish to accomplish? An open-source alternative to Soarer's Converter? I would think that the AT/PS2 keyboards should all work just about the same, right? My F AT works with modern systems with a 5 pin din to PS2 adapter. There's certainly no shortage of random old PS2 boards that must be available to you.

Yes, I like to make this useful open-source converter and I will have to improve it.
I believe that there are still unexpected behaviours of keyboards and bugs on my code that cuases problems. It is difficult to find them without testing with real keyboards.

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 06 January 2020, 19:07:53
I tested with IBM 122-key Terminal 6110345 and it worked well.

The converter recognizes like below.
Quote
Waiting for new device:.......
Listening:


TMK:5a759850/LUFA


USB configured.

Keyboard start.
err: 2A
rAA rBF rBF wF5 rFA wF2 rFA rBF rBF wF4 rFA ID: BFBF
kbd: Terminal
wF8 rFA r3B rF0 r3B r3B rF0 r3B r3B rF0 r3B
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Tue, 07 January 2020, 09:48:25
My DC-2014 doesn't have any resistors soldered to the Pro Micro (I figured that would be fine with such short wires, but I think the reset pin should still be easily accessible to flash your firmware and it does appear to be wired the same. My general-use Soarer's converter at home doesn't even have the XT reset wire soldered to it ... and that's encased in hot glue now. I really should pry it back out and resolve that though. Worst case, I'll rig up a fresh controller and get back to you, maybe tonight. I'll have to lug the F AT and DC-2014 home from work.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 07 January 2020, 18:08:48
It works without pull up resistors in most cases, you don't have to modify your exisitent converter, this conveter should work if Soarer's does.
XT reset is needed only for Old Type-1 IBM XT keyboard and some of XT clones.

Don't use short wire intead of pull up resistor, it may harm on the pin.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Wed, 08 January 2020, 09:43:05
What I mean is that the wires are very short, since I put the converter inside the case of the keyboard. I like to move that one around so I removed the original cable and have a short micro usb extension cable peeking out of the case. The one I have in a hardware store junction box needs to be freed from the hot glue to add the reset wire anyway, so I may as well add resistors to it as well.

Tonight, hopefully, I will get to this. My box jades for a keyboard mod are coming in today as well, so possibly not, but it all gives me an excuse to keep the soldering iron hot.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Fri, 10 January 2020, 22:08:35
Sorry about the delay. I don't get enough sleep on weekdays. Here's a fun one. It looks like the K151L worked in both AT and XT mode. Neither the F AT, nor F XT worked. The Leading Edge DC-2014 didn't work either. I did notice that the lock lights did seem to come on if I enabled them from another usb keyboard on the F AT, but the F AT lock light did not work. The F XT spewed out garbled keypresses the entire time that it was connected.

With the F AT, interestingly, it would say it was an XT keyboard until I hit the reset button I added to the Pro Micro. Here's the results of HID_Listen for that board, including after having hit the reset button:

[attachimg=1]

For the F XT I unplugged the converter so that it would stop listening for me to copy the entire text ... it is a long one:

[attachmini=2]

Here's the results from the DC-2014:

[attachimg=3]

Here are the results of the K151L in AT mode:

[attachimg=4]

And here are the results of the K151L in XT mode:

[attachimg=5]

Let me know if you need anything else.

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 11 January 2020, 07:07:08
Thank you for the report!

As for Model F AT, can you try procedure below?
1. connect keyboard to converter
2. plug it into usb port
When you connect keyboard after usb plugin, the converter tries to recognize the keyboard as possible, but it requires several key strokes and the keys are ignored. You better connect keyboard before plugin to computer basically.

For Model F XT and DC-2014, the converter seems to miss signal, could you try attached firmware?
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sat, 11 January 2020, 18:19:22
Thank you for the report!

As for Model F AT, can you try procedure below?
1. connect keyboard to converter
2. plug it into usb port
When you connect keyboard after usb plugin, the converter tries to recognize the keyboard as possible, but it requires several key strokes and the keys are ignored. You better connect keyboard before plugin to computer basically.

For Model F XT and DC-2014, the converter seems to miss signal, could you try attached firmware?

Well, with every keyboard I tested I made sure that their 5 pin din connectors were plugged into the Pro Micro before I connected the Pro Micro to the computer. I did the following with all of them:

1) Start HID_listen

2) Connect keyboard to Pro Micro

3) Connect Pro Micro to usb port on the computer

What I did with the F AT, since it was being detected as an XT keyboard for some reason when doing this, was short the reset contact to ground with a momentary button I added (while everything was still plugged in), since I figured I would need such functionality if we would be doing a lot of this.

This almost makes me want to pick up a female PS/2 adapter to wire into it as well to see what happens with random generic boards I have lying around, but I suppose they would probably work just about like the Unitek, right? I did also add a 1k resistor between data - ground and clock - ground as well, just in case (2 separate resistors). I added both of those resistors and the proper XT reset wire before I started testing your firmware.

Your alternative firmware seems to work with the DC-2014, but the XT behaved similarly to before. I would plug the Pro Micro into the computer with the keyboard already attached, no keypresses seemed to register, and HID_listen would freak out until I unplugged it. It looks like the output was a bit different this time though?

[attachurl=1]
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 11 January 2020, 18:41:22
Just note that Pull-up register is placed between 5V and signal line, not ground. 1-10K Ohm would be fine.
To confirm your converter hardware setup before testing my firmware, you can use well-tested Soarer's converter firmware.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sat, 11 January 2020, 18:45:12
Just note that Pull-up register is placed between 5V and signal line, not ground. 1-10K Ohm would be fine.
To confirm your converter hardware setup before testing my firmware, you can use well-tested Soarer's converter firmware.

Right. 5V, not ground. My mistake. What you describe is actually how I wired it. I had previously used all of these keyboards successfully with Soarer's firmware, but I could re-test with this specific Pro Micro, and the new modifications if you like. I imagine they'll all work.

Alright, interesting results. With Soarer's converter flashed to the Pro Micro, it works with everything (including the F AT) except for the F XT, it continues to spit random things out in HID_listen. I think it might dislike the reset wire that the DC-2014 requires. I may solder an on/of switch in if I desolder the reset wire and the F XT suddenly works again with Soarer's converter.

Even with the reset wire desoldered, it is doing the same thing. Is it possible that the F XT isn't happy with a 1k ohm resistor between clock - 5v/vcc and data - 5v/vcc? I know that this keyboard worked with this very same Pro Micro without the resistors.

I think I'll throw together another basic Soarer's converter from scratch, without the resistors. I have a few more Pro Micros lying around anyway.

It just keeps getting stranger. I desoldered the resistors and resoldered the XT reset wire and the F XT did nothing. If I disconnected the XT reset wire as well, it went back to freaking out. My computer even bluescreened. I wonder what version of Soarer's firmware I originally used with this keyboard now. I'm most recently using one that somebody modified to make the Pro Micro's PB6/ contact/pin 10 into the keyboard reset line, since Soarer's firmware apparently didn't account for this on the Pro Micro.

Now the Pro Micro itself is spurting out random characters. I tried reflowing all of the solder and flashing another version of Soarer's but that didn't change anything ... I'll build a new one.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 11 January 2020, 20:36:27
Just note that Pull-up register is placed between 5V and signal line, not ground. 1-10K Ohm would be fine.
To confirm your converter hardware setup before testing my firmware, you can use well-tested Soarer's converter firmware.

Right. 5V, not ground. My mistake. What you describe is actually how I wired it. I had previously used all of these keyboards successfully with Soarer's firmware, but I could re-test with this specific Pro Micro, and the new modifications if you like. I imagine they'll all work.

Alright, interesting results. With Soarer's converter flashed to the Pro Micro, it works with everything (including the F AT) except for the F XT, it continues to spit random things out in HID_listen. I think it might dislike the reset wire that the DC-2014 requires. I may solder an on/of switch in if I desolder the reset wire and the F XT suddenly works again with Soarer's converter.

Interesting.
There are two types of IBM XT. Type-1 requires reset line to start up while Type-2 doesn't. But on Type-2 reset line is not connected to its controller so I believe reset line doesn't bother Type-2. Converter with reset line should work regardless of whether your XT keyboard is Type-1 or Type-2.
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol#type-1-vs-type-2

If your XT is Type-1 and you use ProMicro you will have to use this modified version of Soarers' firmware to support reset line on pin 10(PB6). I belive you already know and use this on DC-2014, though.
https://deskthority.net/viewtopic.php?p=187874#p187874


Quote
Even with the reset wire desoldered, it is doing the same thing. Is it possible that the F XT isn't happy with a 1k ohm resistor between clock - 5v/vcc and data - 5v/vcc? I know that this keyboard worked with this very same Pro Micro without the resistors.

I think I'll throw together another basic Soarer's converter from scratch, without the resistors. I have a few more Pro Micros lying around anyway.

I don't think 1K pull-up resistors are problem but it is still worth trying without them.

Thanks for your time.

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sat, 11 January 2020, 20:48:50
I redid all of the wiring on the Pro Micro with some good high quality silicone wire, cleaned up all of the old solder first with some wick. It seems to work with other keyboards again, with Soarer's firmware. I didn't know that some F XTs required the reset wire and that some did not, I figured it was weird "XT-like" boards that used it. I do know that my F XT refused to work on initial boot of my operating system unless I unplugged the converter and plugged it back in, without the reset wire. The F XT is still doing the same thing as before even with Soarer's firmware. I may take it apart and take a look inside. I got it with a cut cable, so I snipped a MIDI cable and soldered it in.

Let me know if there's anything else you want me to try with the F AT with your firmware in the mean time.

F XT cable tests good, all wires make a good connection to the controller and none are bridged. I should have known. I made sure this thing would never break. Mine must be a type-2, there are only 4 wires running from what's left of the original cable to the controller.

Alright, I built an entirely new Soarer's converter and the F XT is now working with that. I thought there may be something wrong with the other converter, but I think there was something flaky with the usb cable, grounding maybe, since once I removed the usb extender it would work. I still can't get the F AT or F XT to work with either version of your firmware though. At least the F XT doesn't spit out random keypresses though. So, I've tried 3 different usb cables and 2 different Pro Micros, one with and without the pullup resistors and a complete rewire, with the same results (once whatever was going on with the XT was resolved).

With a little more testing, I also noticed that the K151L was only working when I connected while it was in XT mode. If i switched it to AT mode, it would continue to work, but if I connected it while it was already in AT mode, it would not.

So, with the original firmware the K151L worked in XT mode. With the alternative firmware the DC-2014 worked.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 12 January 2020, 06:05:54
Let me know if there's anything else you want me to try with the F AT with your firmware in the mean time.

I found description of power-on-reset on original 84-key AT in IBM tech reference, it is  rather slower than I expected.
Could you try this new attached firmware and show me output of hid_listen when press a, s, d and f key? I need to know numbers of Ixxx and Rxxx in particular, like below.

Code: [Select]
TMK:ee0200d6/LUFA

USB configured.

Keyboard start.
I401
rAA R1163
wF5 rFA wF2 rFA rAB r83 wF4 rFA ID: AB83
kbd: AT
L1175
wED rFA w00 rFA wED rFA w02 rFA r1C rF0 r1C r1B rF0 r1B r23 rF0 r23 r2B rF0 r2B r34 rF0 r34



Quote
Alright, I built an entirely new Soarer's converter and the F XT is now working with that. I thought there may be something wrong with the other converter, but I think there was something flaky with the usb cable, grounding maybe, since once I removed the usb extender it would work. I still can't get the F AT or F XT to work with either version of your firmware though. At least the F XT doesn't spit out random keypresses though. So, I've tried 3 different usb cables and 2 different Pro Micros, one with and without the pullup resistors and a complete rewire, with the same results (once whatever was going on with the XT was resolved).

Do you test my firmware with the "new Soarer's converter", right?
Sorry but can you share output of hid_listen for F XT with this new firmware again?  Pressing a, s, d and f key would be helpful.

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sun, 12 January 2020, 22:17:44
I tried both previous firmwares with both the newly assembled Pro Micro, and the previous one that I had re-wired. The results were the same other than the F XT no longer spewed out random keypresses (most of the time). I noticed that with your latest firmware the F XT spewed out random keypresses on the rebuilt Pro Micro and did not on the one that I just newly built specific for this testing. That makes no sense to me since I wired them exactly the same way this time, with the extra XT wire soldered, and no resistors.

The XT did now give results with the new firmware, on the newly-assembled Pro Micro, when pressing the a,s,d, and f keys, although that didn't seem to translate into actual character signals that the computer understood when I tried to type out text. HID_listen detected nothing at all when I used the latest supplied firmware to press the a,s,d, and f keys on the F AT. I have attached the results of your requested test with the F XT:

[attachurl=1]
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Wed, 15 January 2020, 15:18:45
I don't mean to double post, but do you have everything you need, or is there anything else I can test for you while I have all of the boards in one place? I jump around between buildings at work, and use the DC-2014 especially at work, but also the F AT. I have been keeping them at home the last few days for testing this.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 16 January 2020, 17:43:42
Maledicted,
Thank you for your service so far! I really appreciate.
I don't want to prevent you from using your keyobards anymore, feel free to place them back to where they should be when you need.

I'm debuging my code on keyboard protocol recoginition and signal handling and this will take some time. If this is not in time for your test, others in the community will help me in the end.

Thanks agian!
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Fri, 17 January 2020, 09:14:45
Absolutely, anything I can do. Thank you for putting all of that effort into an open source project for the community at large.

Actually, since I posted that, I won another F AT and DC-2014 on Ebay, so I should have at least one of each available no matter what now. lol

Have others with the same boards helped elsewhere? I wouldn't be surprised if none had. I imagine a lot of people go, "Soarer's firmware works for me. I'm good." since all of these boards work fine already. I think it is pretty important to expand on the functionality of Soarer's work though myself, and being open source like that, TMK seems to have the potential to become the one catch-all solution in time.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: gravesgeek on Sun, 02 February 2020, 12:43:35
Hi, I am new to the community with my model m, unicomp ultracompact.
I found a 1987model m122 with stepped key and DIN 5 plug and 1981 model f xt with DIN 5 plug from a local flea market for 30 and 40 USD, respectively.

But the problem is I am not an electronics man (MD. actually). I can find someone from the medical device maintenance dept. for soldering. But I don't think they can handle the programming.

Is there any guide for building converters from the beginning?

Is there a software with a simple interface for remapping the keys or this can be don only by code writing?

Thanks to everybody.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sun, 02 February 2020, 19:43:10
Hi, I am new to the community with my model m, unicomp ultracompact.
I found a 1987model m122 with stepped key and DIN 5 plug and 1981 model f xt with DIN 5 plug from a local flea market for 30 and 40 USD, respectively.

But the problem is I am not an electronics man (MD. actually). I can find someone from the medical device maintenance dept. for soldering. But I don't think they can handle the programming.

Is there any guide for building converters from the beginning?

Is there a software with a simple interface for remapping the keys or this can be don only by code writing?

Thanks to everybody.

Hello gravesgeek, welcome to the keyboard obsession. You're probably best off posting a separate thread on this, but the M122 should work with most any 5-pin din to ps2 adapter with any modern computer that has a ps2 port. For the F XT, or to use either through a usb port, you'll need to build or buy a converter and flash it either with Soarer's converter firmware, or Hasu's. Pre-made converters with Soarer's firmware are readily available on Ebay.

For remapping, there are programs like SharpKeys, which seemed easy enough to me the last time I used it, but that was years ago. The zip downloads for Soarer's firmware contain documentation on how to remap keys and apply that remapping to the converter (which would, conveniently, mean that all computers you use with the converter would have that same mapping). Google searches reveal the same.

For the process of wiring and flashing, this is a simple/detailed guide:

https://deskthority.net/viewtopic.php?t=19035 (https://deskthority.net/viewtopic.php?t=19035)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hking0036 on Tue, 04 February 2020, 11:41:50
I can try this out - my kbd is Terminal F122 6111070. It's got french legends on the CMD keys up top but other than that I believe it is identical to 6110344.

Here is the output:
Code: [Select]
Waiting for device:.....
Listening:


TMK:5a759850/LUFA


USB configured.

Keyboard start.
rAA rBF rBF wF5 rFA wF2 rFA rBF rBF wF4 rFA ID: BFBF
kbd: Terminal
wF8 rFA

I have been using the terminal_usb converter for some time, and it has worked very well. Is there a particular intent for this FW?

P.S. Looking in unimap_trans.h, it seems that 0x58 is bound to 0x14 for Type-3 sets, but isn't marked.
Title: Re: [REQUEST FOR HELP] TMK IBM PC Keyboard Converter [2020-03-02]
Post by: hasu on Mon, 02 March 2020, 00:00:34
REQUEST FOR HELP:

Updated firmware for XT protocol handling and many other fixes. 2020-03-02
Could someone try this prebuilt firmware and report your result and your keyboard model number? Also debug outputs on hid_listen would be helpful.

https://github.com/tmk/tmk_keyboard/tree/master/converter/ibmpc_usb/binary

The converter need to be tested with keyboards below particularly.

- IBM PC XT 83-key
- IBM PC AT 84-key

Thank you
Title: Re: [REQUEST FOR HELP] TMK IBM PC Keyboard Converter [2020-03-02]
Post by: Maledicted on Tue, 03 March 2020, 10:30:18
REQUEST FOR HELP:

Updated firmware for XT protocol handling and many other fixes. 2020-03-02
Could someone try this prebuilt firmware and report your result and your keyboard model number? Also debug outputs on hid_listen would be helpful.

https://github.com/tmk/tmk_keyboard/tree/master/converter/ibmpc_usb/binary

The converter need to be tested with keyboards below particularly.

- IBM PC XT 83-key
- IBM PC AT 84-key

Thank you

I'll do this this evening, if I get the chance. I have ... way too many additional keyboards I could be testing with now too.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 03 March 2020, 17:10:41
I can try this out - my kbd is Terminal F122 6111070. It's got french legends on the CMD keys up top but other than that I believe it is identical to 6110344.

Here is the output:
Code: [Select]
Waiting for device:.....
Listening:


TMK:5a759850/LUFA


USB configured.

Keyboard start.
rAA rBF rBF wF5 rFA wF2 rFA rBF rBF wF4 rFA ID: BFBF
kbd: Terminal
wF8 rFA

I have been using the terminal_usb converter for some time, and it has worked very well. Is there a particular intent for this FW?

P.S. Looking in unimap_trans.h, it seems that 0x58 is bound to 0x14 for Type-3 sets, but isn't marked.

I did miss this post for no reason. Thank you for the test and insight.

Fixed the scancode in comment at this commit.
https://github.com/tmk/tmk_keyboard/commit/a4d4f14942a906d540c1f5aaf9d65fb6be17686b#diff-b9793345227e846a48d134c1e5f548f4
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 03 March 2020, 21:18:59
REQUEST FOR HELP:

Updated firmware for XT protocol handling and many other fixes. 2020-03-02
Could someone try this prebuilt firmware and report your result and your keyboard model number? Also debug outputs on hid_listen would be helpful.

https://github.com/tmk/tmk_keyboard/tree/master/converter/ibmpc_usb/binary

The converter need to be tested with keyboards below particularly.

- IBM PC XT 83-key
- IBM PC AT 84-key

Thank you

I'll do this this evening, if I get the chance. I have ... way too many additional keyboards I could be testing with now too.

Also, can you try this XT converter firmware with your IBM XT keyboard?
https://geekhack.org/index.php?topic=94649.0

You can get the firmware for ATMega32u4 here.
https://github.com/tmk/tmk_keyboard/tree/master/converter/xt_usb/binary
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Fri, 06 March 2020, 17:30:07
Well, On my Pro Micro with the pullup resistors, the flash failed and it appears to have nuked the bootloader. Probably my own fault for trying to flash it while connected to an unpowered hub. Not sure if I'll bother to try to unbrick it or not. It appears to have successfully flashed both variations of the bootloader to another Pro Micro I use without the resistors, but even after a second flash, your first all-in-one firmware didn't seem to function at all with a working F AT or XT. hid_listen searches endlessly and detects nothing, even after shorting reset to ground and/or pressing keys. The XT-specific firmware seemed to do the same. Flashing back to Soarer's firmware instantly restores functionality.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 06 March 2020, 18:48:38
Maledicted, Thanks for the test.
Hmm, I don't see why it fails, we are missing something perhaps. I like to see feedback from others.


It would be really helpful if someone else can test.
Please  check the first post and this.
https://geekhack.org/index.php?topic=103648.msg2871066#msg2871066

Thanks
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sun, 08 March 2020, 23:11:05
Maledicted, Thanks for the test.
Hmm, I don't see why it fails, we are missing something perhaps. I like to see feedback from others.


It would be really helpful if someone else can test.
Please  check the first post and this.
https://geekhack.org/index.php?topic=103648.msg2871066#msg2871066

Thanks

Any time, hasu. You're doing great things for this community. I could try the updated firmware with he DC-2014 as well, if you like, maybe as a control. I also have ... a lot of other old XT and AT protocol boards now. NEC, Samsung, Zenith, etc, though I imagine the beige label Z-150 isn't even on your radar, and most of the rest are probably similarly functional to anything else that cloned the AT protocol.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: ivanthetolerable on Thu, 12 March 2020, 10:27:53
Currently working on my F122. Using AutoHotkey to create layers of macros
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Thu, 12 March 2020, 10:32:23
Currently working on my F122. Using AutoHotkey to create layers of macros

Which controller are you using? Which resistors, if any? How are you flashing? I wonder if I should pick up an authentic Teensy or two. I don't own an F122, but you would think the protocol would be be close enough to the standard XT.

That's a great username by the way, and a cool F122. Is that a GBC LCD cover/sticker? I'm using one of those same Optiplexes as an HTPC at the moment.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: ivanthetolerable on Thu, 12 March 2020, 10:55:47
Currently working on my F122. Using AutoHotkey to create layers of macros

Which controller are you using? Which resistors, if any? How are you flashing? I wonder if I should pick up an authentic Teensy or two. I don't own an F122, but you would think the protocol would be be close enough to the standard XT.

That's a great username by the way, and a cool F122. Is that a GBC LCD cover/sticker? I'm using one of those same Optiplexes as an HTPC at the moment.

I'm just using a standard Teensy 2.0. I tried it on my F XT with no issues too.

The GBC is the cover I took off when I replaced the screen with a backlight LCD and glass protector. Didn't want to throw it out.. This Optiplex is just a standard work machine.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Thu, 12 March 2020, 12:17:07
Currently working on my F122. Using AutoHotkey to create layers of macros

Which controller are you using? Which resistors, if any? How are you flashing? I wonder if I should pick up an authentic Teensy or two. I don't own an F122, but you would think the protocol would be be close enough to the standard XT.

That's a great username by the way, and a cool F122. Is that a GBC LCD cover/sticker? I'm using one of those same Optiplexes as an HTPC at the moment.

I'm just using a standard Teensy 2.0. I tried it on my F XT with no issues too.

The GBC is the cover I took off when I replaced the screen with a backlight LCD and glass protector. Didn't want to throw it out.. This Optiplex is just a standard work machine.

Resistor configuration? What steps did you follow to flash? I really should get a Teensy then and see if the problem is with my using Pro Micros.

Those backlight mods are tempting. I still have my atomic purple GBC I got for Pokemon Red version when it came out.

Sure, it is just a standard work machine, which is nice. Business class desktops last literally forever, and even LGA 1155 i3s are more than enough for 99% of all tasks. Nice and easy to take apart and work in too.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: ivanthetolerable on Thu, 12 March 2020, 13:01:52
Currently working on my F122. Using AutoHotkey to create layers of macros

Which controller are you using? Which resistors, if any? How are you flashing? I wonder if I should pick up an authentic Teensy or two. I don't own an F122, but you would think the protocol would be be close enough to the standard XT.

That's a great username by the way, and a cool F122. Is that a GBC LCD cover/sticker? I'm using one of those same Optiplexes as an HTPC at the moment.

I'm just using a standard Teensy 2.0. I tried it on my F XT with no issues too.

The GBC is the cover I took off when I replaced the screen with a backlight LCD and glass protector. Didn't want to throw it out.. This Optiplex is just a standard work machine.

Resistor configuration? What steps did you follow to flash? I really should get a Teensy then and see if the problem is with my using Pro Micros.

Those backlight mods are tempting. I still have my atomic purple GBC I got for Pokemon Red version when it came out.

Sure, it is just a standard work machine, which is nice. Business class desktops last literally forever, and even LGA 1155 i3s are more than enough for 99% of all tasks. Nice and easy to take apart and work in too.

I didn't use any resisters. Just a stanard Teensy and this guide. Before I used this https://geekhack.org/index.php?topic=17458.0
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 12 March 2020, 17:35:59
Currently working on my F122. Using AutoHotkey to create layers of macros

Which controller are you using? Which resistors, if any? How are you flashing? I wonder if I should pick up an authentic Teensy or two. I don't own an F122, but you would think the protocol would be be close enough to the standard XT.

That's a great username by the way, and a cool F122. Is that a GBC LCD cover/sticker? I'm using one of those same Optiplexes as an HTPC at the moment.

I'm just using a standard Teensy 2.0. I tried it on my F XT with no issues too.

The GBC is the cover I took off when I replaced the screen with a backlight LCD and glass protector. Didn't want to throw it out.. This Optiplex is just a standard work machine.

ivanthetolerable,
Great. Thank you.
Can you share model nubmer for your  "F XT" and "F122" so that I'll update first post?


Maledicted,
I believe *decent* ProMicro should work and the converter doesn't require Teensy.

EDIT: ProMicro has several variants of pcb design and there are many clones by small vendors in the market, though. I believe SparkFun's should work at least.
https://www.sparkfun.com/products/12640

But we may miss something, I'll get ProMicro to test this firmware. What is source(site or URL) of your ProMicro so that I get same as yours?
Also can you post some pics of your ProMicro and its wiring, I can find something perhaps?



And I'll work on TMK keymap editor for this converter once I can believe it works well after getting some more reports.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Fri, 13 March 2020, 07:29:17
I believe I have only used these, which have worked perfectly with Soarer's firmware:

KeeYees Pro Micro ATmega32U4 5V 16MHz Micro USB Development Board Module Microcontroller for Arduino IDE Leonardo Bootloader (Pack of 3pcs) (http://"https://www.amazon.com/gp/product/B07FXCTVQP/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1")

I can get pictures after work today. They shouldn't look out of the ordinary though. Wouldn't surprise me if it is just the controllers, they're pretty cheap. lol

I did order some real Teensy 2.0s, with headers. I already have some Dupont wires lying around, so I might try to set up something modular, but semi-permanent for this stuff. Could even swap different controllers in then too I suppose. Might eventually pick up one of those Sparkfun Pro Micros to try too.

Do you ever plan on supporting the beige label Zenith Z-150. It doesn't work with the vast majority of computers with ps/2 ports, and doesn't work at all with Soarer's firmware. I found only one computer, out of 4 or 5 I tested, that had 100% function with it.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: ivanthetolerable on Fri, 13 March 2020, 07:54:04
Currently working on my F122. Using AutoHotkey to create layers of macros

Which controller are you using? Which resistors, if any? How are you flashing? I wonder if I should pick up an authentic Teensy or two. I don't own an F122, but you would think the protocol would be be close enough to the standard XT.

That's a great username by the way, and a cool F122. Is that a GBC LCD cover/sticker? I'm using one of those same Optiplexes as an HTPC at the moment.

I'm just using a standard Teensy 2.0. I tried it on my F XT with no issues too.

The GBC is the cover I took off when I replaced the screen with a backlight LCD and glass protector. Didn't want to throw it out.. This Optiplex is just a standard work machine.

ivanthetolerable,
Great. Thank you.
Can you share model nubmer for your  "F XT" and "F122" so that I'll update first post?


Maledicted,
I believe *decent* ProMicro should work and the converter doesn't require Teensy.

EDIT: ProMicro has several variants of pcb design and there are many clones by small vendors in the market, though. I believe SparkFun's should work at least.
https://www.sparkfun.com/products/12640

But we may miss something, I'll get ProMicro to test this firmware. What is source(site or URL) of your ProMicro so that I get same as yours?
Also can you post some pics of your ProMicro and its wiring, I can find something perhaps?



And I'll work on TMK keymap editor for this converter once I can believe it works well after getting some more reports.

F XT is 4584656
f 122 is 6110344
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: ivanthetolerable on Wed, 18 March 2020, 12:20:59
One thing I have noticed while using this firmware for the last week is that it often up and doesn't detect my keypresses, or will randomly send a different key. This doesn't happen on my other Model F using Soarers firmware on the same Teensy. Has anyone else noticed this?
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Wed, 18 March 2020, 12:28:57
I think I posted about that earlier on, in the few cases in which I had the F XT ... somewhat functional, but that was with a generic Chinesium Pro Micro as well. At some point my F AT and Leading Edge DC-2014 were working perfectly, but I certainly didn't use them as long as you have continuously. I do have some Teensies now. I do still plan to flash one and see how that goes with my boards. I just haven't gotten around to it.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 19 March 2020, 01:05:29
ivanthetolerable,
The issue happens on F XT only, or both XT and 122?
Does your converter has pull up resistors? This is not root cause  probably but it may help a bit.

Maledicted,
Good to hear that It works with F AT now, it is what I expected with my fix.



I think AT protocol(AT, PS/2 and Terminal keyoards) part works as expected now.

As for XT protocol the converter has had serious problem with IBM XT keyboard.
To support various XT keyobards including IBM XT and clones, the converter should read signal(start bit) at exact timing, within a few micro second.
I guess USB interrupt can prevent this, perhaps. I'll look into.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Thu, 19 March 2020, 08:11:20
ivanthetolerable,
The issue happens on F XT only, or both XT and 122?
Does your converter has pull up resistors? This is not root cause  probably but it may help a bit.

Maledicted,
Good to hear that It works with F AT now, it is what I expected with my fix.



I think AT protocol(AT, PS/2 and Terminal keyoards) part works as expected now.

As for XT protocol the converter has had serious problem with IBM XT keyboard.
To support various XT keyobards including IBM XT and clones, the converter should read signal(start bit) at exact timing, within a few micro second.
I guess USB interrupt can prevent this, perhaps. I'll look into.

I actually haven't tested it again since I bricked that one Pro Micro. I just know the F AT did work at some point, conditionally, with the old firmware. I need to rig up one of those Teensies still.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 22 March 2020, 07:38:05
ivanthetolerable, Maledicted or someone else,
Could you try new firmware with IBM XT keyboard?

With the latest fix I removed USB related intterupt routine that can interfere XT signal handling.

https://raw.githubusercontent.com/tmk/tmk_keyboard/master/converter/ibmpc_usb/binary/ibmpc_usb_atmega32u4.hex

hid_listen output would be helpful for me when you find glitch with the converter.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Mon, 23 March 2020, 18:57:20
ivanthetolerable, Maledicted or someone else,
Could you try new firmware with IBM XT keyboard?

With the latest fix I removed USB related intterupt routine that can interfere XT signal handling.

https://raw.githubusercontent.com/tmk/tmk_keyboard/master/converter/ibmpc_usb/binary/ibmpc_usb_atmega32u4.hex

hid_listen output would be helpful for me when you find glitch with the converter.

I finally stopped being lazy and made a completely modular setup including a Teensy 2.0. Through the use of a lot of dupont connectors and some quick and dirty modification of a breadboard, I can quickly connect or disconnect the XT reset wire and quickly connect or disconnect the pull-up resistors to clock and data, and even swap the Teensy out entirely should I brick it.

The IBM F XT seemed to work immediately. For whatever reason, the IBM F AT did not work at all until I pulled the resistors and reset line. After I reconnected the reset line, it started working. I added the resistors back in, and it continued to work. That could (maybe) just come down to how impermanent my setup is. The DC-2014 seemed to have perfect function immediately as well. Alas, nothing works with my beige label Zenith Z-150 still. I figured maybe using an authentic Teensy had a shot, but it doesn't work with TMK or Soarer's firmware.

I am typing this from my F XT at this very moment. Are there any other weird old boards you would like tested in particular?

I did save the results of HID_listen when pressing the a, s, d, and f keys when the F AT keyboard wasn't working, if that would at all be helpful. You'll find it attached.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 24 March 2020, 04:36:38
Thanks for your support!

The IBM F XT seemed to work immediately.

It will have to be tested on F XT for long period to check the issue reported by ivanthetolerable, which may be intermittent.
https://geekhack.org/index.php?action=profile;u=76741



Quote
For whatever reason, the IBM F AT did not work at all until I pulled the resistors and reset line. After I reconnected the reset line, it started working. I added the resistors back in, and it continued to work. That could (maybe) just come down to how impermanent my setup is.

Let me know if you find something on this.



Quote
The DC-2014 seemed to have perfect function immediately as well.
Great.



Quote
Alas, nothing works with my beige label Zenith Z-150 still. I figured maybe using an authentic Teensy had a shot, but it doesn't work with TMK or Soarer's firmware.


Doesn't hid_listen show anything?

Beige label  Zenith Z-150 really looks odd for AT keyboard according to people's experiences.
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#whitebeige-label-zenith-z-150

Debugging this without seeing its actual signals would be really difficult. It would be helpful if you can try Soarer's Logic Analyzer on the board.
https://deskthority.net/viewtopic.php?f=7&t=4567



Quote
I am typing this from my F XT at this very moment. Are there any other weird old boards you would like tested in particular?

Black label Z-150 XT keyboard.
I'll post in deskthority thread some later if anyone doesn't  appear with it here.

https://deskthority.net/viewtopic.php?f=2&t=12972&start=30
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Tue, 24 March 2020, 19:20:24
Thanks for your support!

I have said it before, but any time hasu. You're doing a lot of really great things for this community.

The IBM F XT seemed to work immediately.

It will have to be tested on F XT for long period to check the issue reported by ivanthetolerable, which may be intermittent.
https://geekhack.org/index.php?action=profile;u=76741

Oh man, you mean I have to try to type with the XT format for an extended period? I'll try.

For whatever reason, the IBM F AT did not work at all until I pulled the resistors and reset line. After I reconnected the reset line, it started working. I added the resistors back in, and it continued to work. That could (maybe) just come down to how impermanent my setup is.

Let me know if you find something on this.


I'll keep messing with it and see if I can reproduce it. I did try once more just now and it seems to work normally, so maybe one of the dupont connectors was just loose.

Alas, nothing works with my beige label Zenith Z-150 still. I figured maybe using an authentic Teensy had a shot, but it doesn't work with TMK or Soarer's firmware.


Doesn't hid_listen show anything?

Beige label  Zenith Z-150 really looks odd for AT keyboard according to people's experiences.
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol/_edit#whitebeige-label-zenith-z-150

Debugging this without seeing its actual signals would be really difficult. It would be helpful if you can try Soarer's Logic Analyzer on the board.
https://deskthority.net/viewtopic.php?f=7&t=4567

Well, I flashed the proper firmware and attempted to run scla. It errored out just saying that MFC71.dll was missing. This is apparently a file used by Visual Studio 2003, which is, by now, ancient. The internet suggests that Internet Explorer also uses it, which seems to still be functional on my Windows 10 system, but even installing the latest community release of Visual Studio doesn't seem to resolve that error. I'm hesitant to start going around and finding VS 2003 installers, or manually downloading the dll and throwing it into System 32. Any ideas? I might have a Windows 7 system somewhere still to try with, otherwise I could even dig out my first desktop computer. I'm pretty sure that thing has an IDE/PATA hard drive in it with Windows XP installed on it. lol


I am typing this from my F XT at this very moment. Are there any other weird old boards you would like tested in particular?

Black label Z-150 XT keyboard.
I'll post in deskthority thread some later if anyone doesn't  appear with it here.

https://deskthority.net/viewtopic.php?f=2&t=12972&start=30

I don't have one of those, unfortunately. There was a guy a while back asking for help getting his working in another thread. It sounded like he eventually gave up instead of taking the effort to properly configure a controller with TMK. I do wish he would have given the board to somebody that would cooperate with you. Maybe I could find him and ask if he'll sell.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Rayndalf on Tue, 31 March 2020, 18:19:45
I recently picked up a K151L on ebay (previously I'd bought what was left of one after a harvesting on Mechmarket)

I thought about just handwiring both, but after cleaning the complete one I found it has in switch diodes, so I'm eager to convert it (and get a new badge made). I'll give this convertor a shot and see (just need to buy a female DIN plug).
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Wed, 01 April 2020, 08:35:39
I recently picked up a K151L on ebay (previously I'd bought what was left of one after a harvesting on Mechmarket)

I thought about just handwiring both, but after cleaning the complete one I found it has in switch diodes, so I'm eager to convert it (and get a new badge made). I'll give this convertor a shot and see (just need to buy a female DIN plug).

Take a good look at the solder pads for the switches on the one somebody harvested the switches from and make sure they're intact if you plan on using it. Literally the only board I have ever lifted a pad on was a K151L, and I have been doing soldering for years, and have a proper temperature-controlled iron. Those PCBs are really shoddy, as much as I love those boards. They are AT/XT switchable, so you should be able to just use a 5-pin din to ps2 adapter with a modern computer, though I imagine that TMK will work (it has worked with every AT clone I have tried, besides the beige label Zenith Z-150), and I know that Soarer's firmware will work with them.

With the one I did a switch swap on, I ended up having to replace most of the diodes because the legs on the originals had rusted. With the box jades I chose to replace the "vintage" blacks, the diodes fit nicely within the switch housing.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Rayndalf on Wed, 01 April 2020, 14:00:37
The one I got in parts may have had a toggle switch for protocol, but the new one didn't work with a passive 5 pin Din to 6 pin mini Din + active ps/2 to usb converter which works with my other boards, so either its XT only (as the label somewhat suggests) or there is already a lifted pad.

Unitek/Unitech is a strange company who recycled model numbers and changed their logo to most closely match the particular product they were cloning (they started cloning Macs and now they make hearing aids?), so nothing would surprise me.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Wed, 01 April 2020, 14:35:04
The one I got in parts may have had a toggle switch for protocol, but the new one didn't work with a passive 5 pin Din to 6 pin mini Din + active ps/2 to usb converter which works with my other boards, so either its XT only (as the label somewhat suggests) or there is already a lifted pad.

Unitek/Unitech is a strange company who recycled model numbers and changed their logo to most closely match the particular product they were cloning (they started cloning Macs and now they make hearing aids?), so nothing would surprise me.

You have one with no AT/XT switch? The chassis and layout are identical otherwise? I didn't know they made any XT-only ones. You learn something every day. I fixed the pad I lifted with a scrap bit of the excess cut from the diode legs that I soldered between the trace and the switch leg, just something to look out for.

My K151L did work with TMK in XT mode, so I imagine that your oddball one will too? I guess we'll see.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Rayndalf on Wed, 01 April 2020, 15:09:21
I don't have my disassembled one on hand, but comparing the rear labels it (from an old time stamp) to my complete one and they appear to be different revisions.
http://imgur.com/a/2aZwdgY

I have yet to receive one that still has a front sticker/badge, I assume Unitek worked as an OEM and various other companies could slap their own logo on top, but I'm going to try to get some metal badges made and need some inspiration.

Sorry for derailing this thread, I'm ordering some DIN sockets  and will get a convertor made whenever they can arrive.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Wed, 01 April 2020, 15:22:13
I don't have my disassembled one on hand, but comparing the rear labels it (from an old time stamp) to my complete one and they appear to be different revisions.
http://imgur.com/a/2aZwdgY

I have yet to receive one that still has a front sticker/badge, I assume Unitek worked as an OEM and various other companies could slap their own logo on top, but I'm going to try to get some metal badges made and need some inspiration.

Sorry for derailing this thread, I'm ordering some DIN sockets  and will get a convertor made whenever they can arrive.

Cool, it is in really good shape too.

I have never seen one with a sticker or badge at all myself, lol. I wonder if they designed the case and already had the tooling and just went, "... eh, screw it." If you get any badges made, I would love to hear about it, and maybe get in on that order. You could try to recreate IBM's metal badges. It looks close enough to an F AT for it to fit in well enough.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 11 April 2020, 05:24:57
Keymap Editor is available here now.

http://www.tmk-kbd.com/tmk_keyboard/editor/#ibmpc_usb

Report when you try this firmware with your keyboard.  Check first post.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Mon, 13 April 2020, 12:05:10
Keymap Editor is available here now.

http://www.tmk-kbd.com/tmk_keyboard/editor/#ibmpc_usb

Report when you try this firmware with your keyboard.  Check first post.

Awesome. I'll take a look at it. I have used the F XT as much as I can stomach and can't say that any typing errors have been the result of your firmware. I thought so at first, but I think all of that has been me missing the oddly-placed and stepped modifiers, so far.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: PancakeMSTR on Mon, 13 April 2020, 14:17:16
Hasu

I just gave this a try with my Northgate Omnikey Ps2. It's almost working perfectly, but I've identified two strange items. Specifically, the 'F11' and 'RALT' keys don't seem to want to fire:

[attach=1]

I'm not entirely sure why this would be. It could honestly be an issue with my keyboard. I'm getting RALT to fire intermittently by pressing down on it really hard.

Other than that, looks good!

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter // 126 key G80-2551
Post by: EspritBerlin on Tue, 21 April 2020, 13:51:31
Keymap Editor is available here now.

http://www.tmk-kbd.com/tmk_keyboard/editor/#ibmpc_usb

Report when you try this firmware with your keyboard.  Check first post.

Thanks!

A would like to ask you and the community advise how to re-map a 126 key G80-2551. Is has 4 additional keys around the nav cluster, so the 122 key layout would not work I assume. Referring to https://deskthority.net/wiki/Cherry_G80-2551 it is said that "[the] 4 extra keys which send a NULL before the key codes of 1 2 3 and 4 which means that these keys are useless on computers using the PS/2 protocol."

Any help and hints are very, very welcome before I start working on that board.

Thank you all in advance!  :thumb:
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 21 April 2020, 18:26:35
Thanks!

A would like to ask you and the community advise how to re-map a 126 key G80-2551. Is has 4 additional keys around the nav cluster, so the 122 key layout would not work I assume. Referring to https://deskthority.net/wiki/Cherry_G80-2551 it is said that "[the] 4 extra keys which send a NULL before the key codes of 1 2 3 and 4 which means that these keys are useless on computers using the PS/2 protocol."

Any help and hints are very, very welcome before I start working on that board.

Thank you all in advance!  :thumb:


Use Full-key layout instead of 122-key Keymap Editor can support up to 128 keys at same time. It is different from the keyboard layout and not intuitive for the keyboard, though, you should still remmap all keys with Full-key layout.

Download firmware without editting keys when you test first, though.

I can't understand exactly what the wiki says, especially "before the keycodes of 1 2 3 and 4" part. What does the "1 2 3 and 4" mean?  I may be missing something, it would be helpful if you or someone can rephrase.

Try the firmware with default layout and see if the four keys resister something on computer. If not, use 'hid_listen' tool to see raw scan codes the keyboard spits out, so that I can update firmware for the keys if needed.

Let us know your result.


Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter // 126 key G80-2551
Post by: EspritBerlin on Fri, 24 April 2020, 12:54:29
Dear All

First: a very big thanks to hasu for pointing me to 'ibmpc_usb_at90usb1286.hex' (https://raw.githubusercontent.com/tmk/tmk_keyboard/master/converter/ibmpc_usb/binary/ibmpc_usb_at90usb1286.hex) to be able to use the G80-2551 with a Teensy 2++.

The "regular" 122 keys work perfectly. (I would like to arrange some keys - later).

I used hid_listen to check the scan codes for the 4 extra keys around the nav cluster (see attached pic);
for the first one "TD=" (10 o'clock in the pic) I get:

r80 !CS2_INIT!
I45570 X46071 r26 W46072 r80 W46074 rF0 W46076 R46076 wF2 rFA rAB r86 ID:AB86(2)
S46083 wED rFA w02 rFA L46090 3r26 333333333333333333333333333333333333333333

for the second "page with edge":

r80 !CS2_INIT!
I61468 X61969 r25 W61970 r80 W61972 rF0 W61974 R61975 wF2 rFA rAB r86 ID:AB86(2)
S61981 wED rFA w02 rFA L61988 4r25 44444444444444444444444444444

for the third "two pages (1/2)":

r80 !CS2_INIT!
I10585 X11087 r16 W11088 r80 W11090 rF0 W11092 R11092 wF2 rFA rAB r86 ID:AB86(2)
S11099 wED rFA w02 rFA L11106 r16 11111111111

for the forth "calc":

r80 !CS2_INIT!
I17872 X18374 r1E W18375 r80 W18377 rF0 W18379 R18380 wF2 rFA rAB r86 ID:AB86(2)
S18386 wED rFA w02 rFA L18394 r1E 22222222222222222222222222222222222

After every key press the 1s, 2s, 3s, and 4s repeat endless until I press another key.

(Just in case: here the output after I pressed qwertzuiop which behaves normal on the keyboard:
r15 qrF0 r15 r1D wrF0 r1D re24 rF0 r24 rr2D rF0 r2D r2Ct rF0 r2C r35 zrF0 r35 r3C urF0 r3C r43 irF0 r43 ro44 rF0 r44 r4D prF0 r4D)

It would be great if the 4 extra keys could be used and mapped.

Best, EspritBerlin
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 24 April 2020, 20:52:10
EspritBerlin,

That hid_listen log is very helpful to add support of the extra keys.
The keyboard seem to send codes in Scan Code Set 2 like below for the keys.

TD=: 80, 26 / 80, F0, 26
page with edge: 80, 25 / 80, F0, 25
two pages: 80, 16 / 80, F0, 16
calc: 80, 1E / 80, F0, 1E

I added some codes to support the four extra keys. Try attached hex file and can you post hid_listen output again? They should not repeat key any more.

The keys are assigned to Japanese specific keys and Mute by default. This is because of compatibitly for other terminal keyboards. (You can remap the keys with editor later after I add support.)

Also check the keys with xev assuming you are on Linux. Your OS may not recognize the Japanese keys, perhaps.

[attachurl=1]
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: EspritBerlin on Sat, 25 April 2020, 01:44:34
Dear Hasu

Thanks for the new hex file! It works:

hid_listen reports:

TD=: r80 r26 r80 rF0 r26
page with edge: r80 r25 r80 rF0 r25
two pages: r80 r16 r80 rF0 r16
calc: r80 r1E r80 rF0 r1E

There is no repetition anymore; as you assumed, 'page with edge' does mute/unmute, the other three keys nothing so far, given that I use German keyboard layout.

xev reports:

TD=:

KeyPress event, serial 38, synthetic NO, window 0x5800001,
    root 0x1da, subw 0x0, time 792293, (-469,195), root:(392,650),
    state 0x10, keycode 132 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

Page with edge:
FocusOut event, serial 39, synthetic NO, window 0x5800001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 39, synthetic NO, window 0x5800001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 39, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 

Note: in the sequence above, "keys: 2  0  0.." I got sometimes on the first keypress also 75, 419, after that always 2.

Two pages:
KeyPress event, serial 38, synthetic NO, window 0x5800001,
    root 0x1da, subw 0x0, time 1032317, (-297,-49), root:(564,406),
    state 0x10, keycode 97 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

Calc:
KeyPress event, serial 38, synthetic NO, window 0x5800001,
    root 0x1da, subw 0x0, time 1121468, (-161,127), root:(700,582),
    state 0x10, keycode 101 (keysym 0xff27, Hiragana_Katakana), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

Best, EspritBerlin
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 25 April 2020, 05:06:51
Great. It seems to work as I expected.
And xev recognizes the four keys somehow but Xorg doesn't seems to have useful keymapping for them by default. You will have to remap the keys on Keymap Editor.

OK. I'll work on Keymap Editor for the extra keys and some other keys specific to the keyboard.

Could you look into scan codes for 10 function keys on left cluster,  6 keys above cusors key and 'Linie' keys?
You can use hid_listen again as you did in previous post. This would be helpful to make reasonable layout of Keymap Editor.

Thanks,
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: EspritBerlin on Sat, 25 April 2020, 06:17:23
Great. It seems to work as I expected.
And xev recognizes the four keys somehow but Xorg doesn't seems to have useful keymapping for them by default. You will have to remap the keys on Keymap Editor.

OK. I'll work on Keymap Editor for the extra keys and some other keys specific to the keyboard.

Could you look into scan codes for 10 function keys on left cluster,  6 keys above cusors key and 'Linie' keys?
You can use hid_listen again as you did in previous post. This would be helpful to make reasonable layout of Keymap Editor.

Thanks,

Please find the scan codes attached  :)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: eruizc on Sat, 25 April 2020, 18:10:16
Hello everyone! I'm new to this, I'm amazed by your work but may need some insights on what to do now...
I've got a model M122 1390250 that is currently not working, this is what the hid_listen says:

Code: [Select]
Waiting for device:...
Listening:

TMK:fefe1028/LUFA

USB configured.

Keyboard start.
I458 X960
Device disconnected.
Waiting for new device:..........
Listening:

TMK:fefe1028/LUFA

USB configured

Keyboard start
I488 X989
Device disconnected.

I've noticed the keyboard has 8 switches at the back, done some research but I'm completely lost on them. The first try they were 11111110 and the second 00000001, because I read somewhere to try them like that.

What could I be missing here?
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 25 April 2020, 19:49:48
eruizc,
Can you post pic of the switches for the future reference? I couldn't find it with my quick internet search.

I guess the switches cofigure part of keyboard ID and should be '0xBF'. Try below.
10111111
0100000
11111101
0000010

See Identity explanation on this page.
https://www.seasip.info/VintagePC/ibm_1390876.html

Also you better check if your converter work with other keyboard first.


EspritBerlin,
Thanks for the scan codes! I'm working on Keymap Editor and firmware for G80-2551 and will post when it is done.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 26 April 2020, 02:15:19
Can you try attached firmware?
Especially for 10 function keys on left and F13-F24 portion, check if they register anything in xev. It doesn't matter what those keys registers at this point.

Other keys are expected to register as below.

Quote

 * G80-2551(Code Set 2) Unimap default mapping                                                                     
 *               ,-----------------------------------------------.
 *               |Gui|Mhk|F23|Hnk|F13|F14|F15|F16|F17|F18|F19|F20|                                                 
 *               |-----------------------------------------------|
 *               | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|                                                 
 *               `-----------------------------------------------'
 * ,-------. ,-----------------------------------------------------------. ,-----------. ,---------------.         
 * |Mut|F24| |   |   |   |   |   |   |   |   |   |   |   |   |   |       | |  /|PgU|PgD| |Esc|NmL|ScL|  *|
 * |-------| |-----------------------------------------------------------| |-----------| |---------------|         
 * |VoU|Pau| |     |   |   |   |   |   |   |   |   |   |   |   |   |     | |End|Ins|Del| |   |   |   |  +|
 * |-------| |------------------------------------------------------`    | |-----------| |---------------|         
 * |VoD|F22| |      |   |   |   |   |   |   |   |   |   |   |   |   |    | |Yen|   |  #| |   |   |   |  -|
 * |-------| |-----------------------------------------------------------| |-----------| |---------------|         
 * |Psc|App| |    |   |   |   |   |   |   |   |   |   |   |   |          | |   |Hom|   | |   |   |   |   |
 * |-------| |-----------------------------------------------------------| |-----------| |-----------|Ent|         
 * |Gui|F21| |     |   |                                  |    |   |       | RO|   |KAN| |       |  .|   |
 * `-------' `-----'   `---------------------------------------'   `-----' `-----------' `---------------'         
 * 

[attachurl=1]



Great. It seems to work as I expected.
And xev recognizes the four keys somehow but Xorg doesn't seems to have useful keymapping for them by default. You will have to remap the keys on Keymap Editor.

OK. I'll work on Keymap Editor for the extra keys and some other keys specific to the keyboard.

Could you look into scan codes for 10 function keys on left cluster,  6 keys above cusors key and 'Linie' keys?
You can use hid_listen again as you did in previous post. This would be helpful to make reasonable layout of Keymap Editor.

Thanks,

Please find the scan codes attached  :)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: EspritBerlin on Sun, 26 April 2020, 03:32:06
I checked new firmware. I have serious trouble with repeating keys for the 10 function keys on the left.
Please see details attached.

I have not checked F1-F24 etc so far.

Can you try attached firmware?
Especially for 10 function keys on left and F13-F24 portion, check if they register anything in xev. It doesn't matter what those keys registers at this point.

Other keys are expected to register as below.

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 26 April 2020, 04:30:25
Thanks for testing.

I think this fixes the problem.

[attachurl=1]
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: EspritBerlin on Sun, 26 April 2020, 05:18:06
Thank you!

I tested the new firmware esp. regarding the repeating for the left 10 function keys.
It got better, but it seems that they only register about every second key press and get rarely into the repeating mode again.
Very left column of keys (labeled: Abruf=row1, PsAus=row2, ErAus=row3, Druck=row4, blank=row5) behave as follows:

Abruf (row1):sometimes toggles between mute and volume, fast repeating key presses lead to loop/repeating on/off vol

PsAus (row2): every 2nd to 3rd key press increases vol

ErAus (row 3): singe key press has no action, 3 fast key presses = vol - by auto repeat

Druck (row 4): print screen works without problems

blank (row 5): menu key loops/repeats (same as in my post before: pressing d leads to desktop); I can leave this loop only by unplugging Teensy from USB.

I added some information in the attached docs for the 5 keys.
Please let me know how I can help to investigate further.



Thanks for testing.

I think this fixes the problem.

(Attachment Link)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 26 April 2020, 06:14:06
I seems to have missed something to be cared for.
hope new firmware fixes the problems this time.

[attachurl=1]
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: EspritBerlin on Sun, 26 April 2020, 08:34:52
The loops are gone! The firmware did not hung or crash once, no unexpected behavior!

I have tested the firmware and attached hid_listen output for
- 10 function keys (left)
- 24 F keys (top)
- nav cluster
- num pad (right)

For the 10 function keys I included xev, for the remaining keys I tested if xev output was given.

Since this layout opens the opportunity to move arrow keys to inverted T this would be a good option I think.
Please let me know if further testing/reporting is needed to support you.

Thanks, best, EspritBerlin

I seems to have missed something to be cared for.
hope new firmware fixes the problems this time.

(Attachment Link)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 26 April 2020, 10:06:30
EspritBerlin,

I updated Keymap Editor for G80-2551 support. You can acess it here.
http://www.tmk-kbd.com/tmk_keyboard/editor/unimap/?ibmpc_usb_1286_terminal

Keys are expected to register as below with default mapping. Function keys on left and top row are not straight
due to difference from IBM 122-key. Those keys can be remappable somehow, Editor is not intuitive though.

Try it and report if you find something weird.

Quote

 * G80-2551(Code Set 2) Unimap default mapping
 *               ,-----------------------------------------------.
 *               |Gui|Mhk|F23|Hnk|F13|F14|F15|F16|F17|F18|F19|F20|
 *               |-----------------------------------------------|
 *               | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|
 *               `-----------------------------------------------'
 * ,-------. ,-----------------------------------------------------------. ,-----------. ,---------------.
 * |Mut|F24| |   |   |   |   |   |   |   |   |   |   |   |   |   |       | |NmL|PgU|PgD| |Esc|ScL|  *|  /|
 * |-------| |-----------------------------------------------------------| |-----------| |---------------|
 * |VoU|Pau| |     |   |   |   |   |   |   |   |   |   |   |   |   |     | |End|Ins|Del| |   |   |   |  +|
 * |-------| |------------------------------------------------------`    | |-----------| |---------------|
 * |VoD|F22| |      |   |   |   |   |   |   |   |   |   |   |   |   |    | |Yen|   |  #| |   |   |   |  -|
 * |-------| |-----------------------------------------------------------| |-----------| |---------------|
 * |Psc|App| |    |   |   |   |   |   |   |   |   |   |   |   |          | |   |Hom|   | |   |   |   |   |
 * |-------| |-----------------------------------------------------------| |-----------| |-----------|Ent|
 * |Gui|F21| |     |   |                                  |    |   |       | RO|   |KAN| |       |  .|   |
 * `-------' `-----'   `---------------------------------------'   `-----' `-----------' `---------------'
 * JPY: JIS ¥
 * KAN: ひらがな
 * RO: JIS ろ(Japanese RO)
 * Hnk: 変換(Japanese Henkan)
 * Mhk: 無変換(Japanese MuHenkan)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: EspritBerlin on Sun, 26 April 2020, 12:27:59
Hi Hasu

Thank you for all the work! I did work on the nav cluster, worked fine!
As you expected I am did not manage to do some changes to some keys. I attached an example (see hex and pic).
Num, nav, home, end, page up/down worked fine; new Esc (=1), insert (=2), three most right keys of num pad (=3) are resistant [all are mapped in the editor].
Furthermore gui assigment (last row, 10er fun keys) are resistant to change.

This is what his_listen reports for the 'new' keys
- ESC: r5F rF0 r5F
- insert: r1/7 rF0 r17
- old scl/new P/: r7E *rF0 r7E
- old */new Px: r7C -rF0 r7C
- old P() new P/: rE0 r4A ^[[2~rE0 rF0 r4A

Could you give me a hint how to change the behaviour of those 'strage' keys?

Thank you very much, best, EspritBerlin

EspritBerlin,

I updated Keymap Editor for G80-2551 support. You can acess it here.
http://www.tmk-kbd.com/tmk_keyboard/editor/unimap/?ibmpc_usb_1286_terminal

Keys are expected to register as below with default mapping. Function keys on left and top row are not straight
due to difference from IBM 122-key. Those keys can be remappable somehow, Editor is not intuitive though.

Try it and report if you find something weird.

Quote


Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 27 April 2020, 02:11:54
Remmaping the keys is tricky.

For example,
When you want to Key1 in your pic:
The key of G80-2551 is refered as 'F24', see Fig.1 below.
You can remap the Key1 with changing key indicated as 'F24' in Fig.2 on Keymap Editor. i.e. key on left top.

When you want to Key2 in your pic:
The key of G80-2551 is refered as 'NmL'(NumLock), see Fig.1 below.
You can remap the Key2 with changing key indicated as 'NmL' in Fig.2 on Keymap Editor. You can find 'NmL' on keypad portoin, next to 'ESC' in Keymap Editor.

Hope this helps.

Fig.1 Default keymap of G80-2551
Quote

 *               ,-----------------------------------------------.
 *               |Gui|Mhk|F23|Hnk|F13|F14|F15|F16|F17|F18|F19|F20|
 *               |-----------------------------------------------|
 *               | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|
 *               `-----------------------------------------------'
 * ,-------. ,-----------------------------------------------------------. ,-----------. ,---------------.
 * |Mut|F24| |   |   |   |   |   |   |   |   |   |   |   |   |   |       | |NmL|PgU|PgD| |Esc|ScL|  *|  /|
 * |-------| |-----------------------------------------------------------| |-----------| |---------------|
 * |VoU|Pau| |     |   |   |   |   |   |   |   |   |   |   |   |   |     | |End|Ins|Del| |   |   |   |  +|
 * |-------| |------------------------------------------------------`    | |-----------| |---------------|
 * |VoD|F22| |      |   |   |   |   |   |   |   |   |   |   |   |   |    | |JPY|   |  #| |   |   |   |  -|
 * |-------| |-----------------------------------------------------------| |-----------| |---------------|
 * |Psc|App| |    |   |   |   |   |   |   |   |   |   |   |   |          | |   |Hom|   | |   |   |   |   |
 * |-------| |-----------------------------------------------------------| |-----------| |-----------|Ent|
 * |Gui|F21| |     |   |                                  |    |   |       | RO|   |KAN| |       |  .|   |
 * `-------' `-----'   `---------------------------------------'   `-----' `-----------' `---------------'

Fig.2 Default keymap of Keymap Editor
Quote

 *               ,-----------------------------------------------.
 *               |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
 *               |-----------------------------------------------|
 *               |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|
 *               `-----------------------------------------------'
 * ,-------. ,-----------------------------------------------------------. ,-----------. ,---------------.
 * |Mut|Hkn| |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Yen| BS| |  /|PgU|PgD| |Esc|NmL|ScL|  *|
 * |-------| |-----------------------------------------------------------| |-----------| |---------------|
 * |VoU|Pau| |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \| |End|Ins|Del| |  7|  8|  9|  +|
 * |-------| |-----------------------------------------------------------| |-----------| |-----------|---|
 * |VoD|Mhk| |CapsLo|  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #| Ret| |JPY|Up |  #| |  4|  5|  6|  -|
 * |-------| |-----------------------------------------------------------| ,-----------| |---------------|
 * |Psc|App| |Shif|  \|  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /| RO| Shift| |Lef|Hom|Rig| |  1|  2|  3|Ent|
 * |-------| |-----------------------------------------------------------| |-----------| |-----------|---|
 * |Gui|Gui| |Ctrl|    |Alt |          Space              |Alt |    |Ctrl| | RO|Dow|KAN| |  ,|  0|  .|  =|
 * `-------' `----'    `---------------------------------------'    `----' `-----------' `---------------'
 * JPY: JIS ¥
 * KAN: ひらがな
 * RO: JIS ろ(Japanese RO)
 * Hnk: 変換(Japanese Henkan)
 * Mhk: 無変換(Japanese MuHenkan)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 27 April 2020, 07:49:19
EspritBerlin,
Can you try this temporary firmware for test if you have time?

[attachurl=1]

I got some idea of handling G80-2551 as a Terminal keyboard(Code Set 3). Current firmware sees it as weird PC keyboards with 126 keys.

I like to know whether G80-2551 supports decently 'Code Set 3' and its scan codes are correspondent with genuine IBM ones.
We can have better/straight mapping support in Keymap Editor perhaps if the keyboard does.

It would be helpful if you can share hid_listen output of firmware startup.

Genuine terminal keyboard should send scan codes like below. Can you check left 10-key function portion and  F13-F24 especially? If they look all good look into four extra keys around cursors also.

Quote

 *               ,-----------------------------------------------.
 *               | 08| 10| 18| 20| 28| 30| 38| 40| 48| 50| 57| 5F|
 *               |-----------------------------------------------|
 *               | 07| 0F| 17| 1F| 27| 2F| 37| 3F| 47| 4F| 56| 5E|
 *               `-----------------------------------------------'
 * ,-------. ,-----------------------------------------------------------. ,-----------. ,---------------.
 * | 05| 06| | 0E| 16| 1E| 26| 25| 2E| 36| 3D| 3E| 46| 45| 4E| 55| 5D| 66| | 67| 6E| 6F| | 76| 77| 7E|*84|
 * |-------| |-----------------------------------------------------------| |-----------| |---------------|
 * | 04| 0C| | 0D  | 15| 1D| 24| 2D| 2C| 35| 3C| 43| 44| 4D| 54| 5B|  5C | | 64| 65| 6D| | 6C| 75| 7D| 7C|
 * |-------| |-----------------------------------------------------------| `-----------' |---------------|
 * | 03| 0B| | 14   | 1C| 1B| 23| 2B| 34| 33| 3B| 42| 4B| 4C| 52| 53| 5A |     | 63|     | 6B| 73| 74| 7B|
 * |-------| |-----------------------------------------------------------| ,-----------. |---------------|
 * |*83| 0A| | 12 | 13| 1A| 22| 21| 2A| 32| 31| 3A| 41| 49| 4A| 51|  59  | | 61| 62| 6A| | 69| 72| 7A| 79|
 * |-------| |-----------------------------------------------------------| `-----------' |---------------|
 * | 01| 09| | 11  |   |19  |        29                   |39  |   | 58  |     | 60|     | 68| 70| 71| 78|
 * `-------' `-----'   `---------------------------------------'   `-----'     `---'     `---------------'
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: EspritBerlin on Mon, 27 April 2020, 11:33:28
Dear Hasu

Please find attached the hid_listen codes for 10 F keys on the left, nav cluster, F1-F24, and num pad.

Please let me know if I can help further

EspritBerlin,
Can you try this temporary firmware for test if you have time?

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 27 April 2020, 22:41:08
EspritBerlin,
Great. The keyboard seems to be very straight terminal keyboard except for the extra keys.

I just updated firmware in Keymap Editor to support G80-2551 in better way. This update breaks your current keymap probably and you will have to start mapping from scratch.

To get new version Editor you may need to reload Keymap Editor page completely in web browser with Shift+Control+R or summat.

Try mapping especially on the extra keys in Keymap Editor. Mapping keys should be very straight now.

Thanks,
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: EspritBerlin on Tue, 28 April 2020, 00:50:00
Dear Hasu

I can confirm that all keys can be mapped. I am running the prior proposed mapping

- nav as inverted T
- num pad 'modern style'
- ESC on left 10 F keys
- changed position of menu key

Thank you very, very much for your help and patience!

Kind regards, EspritBerlin


EspritBerlin,
Great. The keyboard seems to be very straight terminal keyboard except for the extra keys.

I just updated firmware in Keymap Editor to support G80-2551 in better way. This update breaks your current keymap probably and you will have to start mapping from scratch.

To get new version Editor you may need to reload Keymap Editor page completely in web browser with Shift+Control+R or summat.

Try mapping especially on the extra keys in Keymap Editor. Mapping keys should be very straight now.

Thanks,
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Tue, 28 April 2020, 23:18:04
At long last, I stopped being lazy and installed wine on a Linux install I have lying around for that beige label Zenith Z-150. scla works on there, at least. I'll attach the full output from sctrace, and a zip file of every individual screenshot of a zoomed-in visualization of that output from scla. Here's a selection from the output, in order:

[attachimg=1]

[attachimg=2]

[attachimg=3]

[attachimg=4]

[attachimg=5]

[attachurl=6]

I hope that's everything you need to crack the case. Otherwise, let me know.

I think I mentioned it last time, but the portB version of sctrace basically did nothing, by the way. This was with the portD version of sctrace.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 29 April 2020, 02:23:10
Maledicted,
Great contribution! Thank you for your time.

Zenith Z-150 Beige asserts stop bit as low level(0) for some reason, this is obvious violation of IBM PC AT protocol.

(https://i.imgur.com/wjYVM0V.png)


That is why many PS/2 converters and PS/2 port on PC fail to talk with the keyboard. Converter and PC with decent implementation of AT keyboard protocol won't accept the keyboard.

https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#whitebeige-label-zenith-z-150

TMK IBM PC Keyboard Conveter doesn't check validity of stop bit, I don't think the stop bit prevents the converter from working. I may miss something else.

What ouputs do you get on hid_listen with the latest firmware?
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Wed, 29 April 2020, 21:10:01
I wish I could help more than what little I may have done. With the latest version of TMK it acts much the same:

[attachimg=1]

That's all I can get because none of the keys register, the beeper doesn't even work. I tested with an old Fujitsu board, which is most likely AT, as a control and that board worked as it should. Even on the HP 8200 system that the board does work with (beeper and all keys), it still doesn't seem to always initiate caps lock, num lock, etc as you would normally expect from a keyboard, and on some other computers mashing caps lock over and over again would sometimes get the rest of the keys to register.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 29 April 2020, 21:57:27
hid_listen log is almos always really helpful for me to debug.
'Copy and paste' log text is good enough unless taking screenshot is easier for you.

The converter can read powerup test result code(rAA) from the keyboard at startup as I expected.
But the keyboard doesn't response with 'read ID' command(wF2) at all and seems to stop working since then.

I just changed firmware temporarily to skip the 'read ID' and recognize it as AT(Code Set 2) automatically. You can type keys with firmware perhaps. And I guess it stops after pressing Caps Lock or Num Lock.

Can you try pressing Q, W, Caps Lock, A and S in this order? hid_listen log would be helpul again.

[attachurl=1]

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Wed, 29 April 2020, 23:01:30
hid_listen log is almos always really helpful for me to debug.
'Copy and paste' log text is good enough unless taking screenshot is easier for you.

The converter can read powerup test result code(rAA) from the keyboard at startup as I expected.
But the keyboard doesn't response with 'read ID' command(wF2) at all and seems to stop working since then.

I just changed firmware temporarily to skip the 'read ID' and recognize it as AT(Code Set 2) automatically. You can type keys with firmware perhaps. And I guess it stops after pressing Caps Lock or Num Lock.

Can you try pressing Q, W, Caps Lock, A and S in this order? hid_listen log would be helpul again.

(Attachment Link)

Here you go:

Keyboard start.
I267 X769 rAA W1213 R1714 ID:0000(2)
S1714 wED w00 L1750
ERR:17
r15 rF0 r15 r1D rF0 r1D r58 wED w04
ERR:17
rF0 r58 r1C rF0 r1C r1B rF0 r1B

It looks like it actually has full function with that modified firmware, it even seems to toggle caps lock num lock and scroll lock normally, and continues to type. Interestingly, the LED status lights for the lock keys do not work though.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 30 April 2020, 00:34:14
Can you try this and check if the LED indicators works?

[attachurl=1]

According to this post in reddit,
it seems that the indicators are controlled internally by the keyboard, instead of the converter.

https://www.reddit.com/r/MechanicalKeyboards/comments/16woai/having_troubles_with_my_newly_acquired_zenith/

Quote
I recently picked up a Zenith data systems keyboard from 1984. Its in great condition. It has an AT plug so i got an AT(dim 5) to PS/2 adapter. I plug it in and it not registering with windows. It does however light up the num lck and caps lock when pressed and the keys make faint beeps when pressed.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Thu, 30 April 2020, 17:38:01
That seems to have brought no functional change. I'm using the board right now to type this. These green Alps are wonderful. I noticed that Sys Req muted my computer's audio, lol. Is that a normal feature of TMK? The weird thing is that the lock lights do work on every direct ps2 connection computer that I could get the board to somewhat work on, even the ones where I had to mash the caps lock key many times on to get the rest of the keys to register.

With the HP 8200, literally everything works normally, though the lock keys don't always necessarily engage their corresponding lock mode on every press.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 30 April 2020, 18:09:16
It depends on what scan code Sys Req key sends. What does log output show when pressing the key?
EDIT: And what does the key register on HP 8200?


WIth internet search I found people said many computers and PS/2 converters couldn't handle with the keyboard.
PS/2 port on HP 8200 can handle with beige Z-150. Interesting. Do you have other computer that can do with the keyboard?

When plugin USB keyboard with HP 8200 as well and press lock key on the USB keyboard, does indicator of Z-150 on PS/2 port change?
If yes the it means keyboard can receive commands from computer.



That seems to have brought no functional change. I'm using the board right now to type this. These green Alps are wonderful. I noticed that Sys Req muted my computer's audio, lol. Is that a normal feature of TMK? The weird thing is that the lock lights do work on every direct ps2 connection computer that I could get the board to somewhat work on, even the ones where I had to mash the caps lock key many times on to get the rest of the keys to register.

With the HP 8200, literally everything works normally, though the lock keys don't always necessarily engage their corresponding lock mode on every press.

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Thu, 30 April 2020, 19:38:56
It took me a while to even find a tool that would work with the Sys Req key. Nirsoft always seems to have an awesome utility for everything. Sys Req is functioning as print screen by default. Relatedly, the actual print screen key functions only as *, regardless of number lock status, etc.

I looked back through a thread I started in February when I first tested all of this. My HP may actually be an 8300. I think they're basically the same, HP just added USB 3.0 ports to the 8300 vs 8200. I tested on quite a few computers, though I think I may have more I could try now. A lot of the others I didn't at the time because they don't even have operating systems on them.

It had perfect function on my:

HP 8200/8300
Compaq SR1920nx (yeah, that's an oldie, my first desktop computer)

It had partial function by mashing the caps lock key many times on an old Dell XPS 630, in Linux Mint ... maybe 17 or so. The same trick didn't work in Windows 10.

It didn't work at all on any other computer I tried.

The lock keys of a separate keyboard do indeed turn on the corresponding indicator LED of the Zenith when connected to the HP.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 01 May 2020, 08:40:16
Then, the keyboard supports commands somewhat.

I tweaked timing of command signal a bit.
Can you try attached firmware and post 'hid_listen' log with pressing the 'Sys Req' key, Caps Lock and Num Lock?

[attachurl=1]

The lock keys of a separate keyboard do indeed turn on the corresponding indicator LED of the Zenith when connected to the HP.

As for the '*/Print screen' key, I think it worked as Print screen on original XT AT computer when pressed with Shift key. But mordern  OS and USB keyboards don't have the feature. The key just registers 'numpad *' with the converter and modern PCs.
And I think the 'Sys Req' key on IBM AT 84-key keyboard should be registered as Print screen. Its scan code is 0x84 but Z-150 seems to use diffrent code perhaps.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sat, 02 May 2020, 00:09:30
That new firmware does not work with the keyboard at all. On my first reboot after flashing it, the keys would still beep, but it wasn't sending any codes to the computer. Every other try after the keyboard would do nothing, so I flashed it back to the previous firmware and everything but the lock lights is working again. The caps lock and num lock keys, although they function normally, do not send any codes that hid_listen detects. I think I could get the specific codes with that Nirsoft utility I found though.

Here it is with sys req:

TMK:2e5e6a69+/LUFA


USB configured.

Keyboard start.
I279 X781 rAA W1224 R1725 ID:0000(2)
S1725 L1725 r7F rF0 r7F r58 rF0 r58 r77 rF0 r77

The utility is KeyboardStateView

Key Name   Description   Key Code   Hex Key Code   Key Pressed   Key Toggled
VK_CAPITAL   CAPS LOCK key   20   0x14   *   *   5/2/2020 12:03:25 AM

Key Name   Description   Key Code   Hex Key Code   Key Pressed   Key Toggled   Last Key Press Time   
VK_NUMLOCK   NUM LOCK key   144   0x90   *   *   5/2/2020 12:04:03 AM   

Those are, all standard, I imagine.

Here's Sys Req, with the converter:

Key Name   Description   Key Code   Hex Key Code   Key Pressed   Key Toggled   Last Key Press Time   
VK_VOLUME_MUTE   Volume Mute key   173   0xad   *   *   5/2/2020 12:08:34 AM   

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 02 May 2020, 00:28:31
Sorry. It seems I attached wrong or corrupt firmware for no reason.

Can you try this instead and check if the indicators work with Caps Lock and Num Lock?

[attachurl=1]
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sat, 02 May 2020, 00:50:28
That firmware is doing the same thing, with the Fujitsu control board from before as well.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 02 May 2020, 01:20:41
That firmware is doing the same thing, with the Fujitsu control board from before as well.

I believe the firmware should display hid_listen log at least and wonder old firmware is sitll in the converter.
Could you check the file and flash it again?
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sat, 02 May 2020, 01:47:31
That firmware is doing the same thing, with the Fujitsu control board from before as well.

I believe the firmware should display hid_listen log at least and wonder old firmware is sitll in the converter.
Could you check the file and flash it again?

I deleted the old firmware file from my computer, copied the latest to its place, flashed it, and tested. Then I flashed to the firmware prior to it, tested, flashed back to the latest and tested. That's what I did before posting the previous message. Now I deleted it once more, downloaded it again, renamed it just in case the Teensy flashing utility had cached it somewhere or something, and flashed it once more.

The results are all the same.

Here's what hid_listen says with this firmware:

Keyboard start.
I232 wED
ERR:11
X733 rAA W1178 R1679 ID:0000(2)
S1679 wED
ERR:11
L1750
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 02 May 2020, 08:49:02
The keyboard still doesn't like how the converter sends command and the request ends in timeout.

Attached firmware revised for signal timing again. Also fixed for 'SysRq' key, it should register Print Screen now.

[attachurl=1]

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sat, 02 May 2020, 18:14:55
Same results, functionally. No beeps, no key codes sent.

TMK:da82c5f3+/LUFA


USB configured.

Keyboard start.
I297 X799 rAA W1243 R1744 ID:0000(2)
S1744 wED
ERR:11
L1797

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 03 May 2020, 04:48:41
I looked into some ps/2 port of computers and PS/2 converters kicking around and found some variations of sginal handling there but got no definite useful finding. We will have to do a bunch of trials and errors on timing values without any insight :(

What does hid_listen show with attached firmware when pressing CapsLock?

[attachurl=1]


I wonder what Soarer's converter display on its debug log with the Z-150. Can you try it too?
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: acid2000 on Sun, 03 May 2020, 16:26:51
I’ve been testing the latest TMK firmware from the github link you shared. The newer ones posted in the forum just spew out garbage.

Overall it is better than when I was testing in September but still has lots of issues.

I’m using an XT 83 key 5150 UK layout with a 5V Pro Micro without reset connected. It’s either connected into a powered USB hub or with a Y cable into a 2.1amp PSU to ensure the voltage doesn’t drop. It has strong pull-ups and the cable to the board itself is short.

I have built a few pro micros with Soarers before. With XTs I usually power it up with the RAW pin and bypass the regulator all together to make sure the power doesn’t dip. I can’t remember if I did this in this one.

It works well with Soarers and is my daily driver.

I’ve got some hid listen output for a few different states.
* No input, power on and don’t touch anything. I left it for around 5m. I was expecting to see nothing but got some things that look like errors.
* Holding down Q. I have two different outputs with slightly different results. I’ve tried a few keys and Q always seems to show issues.
* General typing. I’ve included the ASCII output from the keyboard and the corresponding hid_listen results.

Testing is a PITA for me. For some reason I can’t get the Soarers fw into the bootloader from Windows. I need to bridge the reset pin by hand. I have a few 5150 keyboards and in all of them my adapter is inside the keyboard glued in place and wrapped in electrical tape.

Back in September there were lots of problems with stuck keys. This looks like that is solved (only did a bit of testing) but instead I do get an incorrect keypresses. Is this a timing error?

I’m really hoping that one day soon these issues can be resolved. I’m quite familiar with the TMK codebase now and already have some mods I’ve written I’d like to push up when they’ve been tested.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 03 May 2020, 19:55:33
acid2000,
Thanks a lot for the report.
It sems to read a lot of garbage and phantom key press of Q and not completely miss signals.
The converter read signal at diffrent timing from Soarer's and it can be fussy on signal cleanness. But I don't know why Soarer's can work even with this situation. The setup of same keyboard with same Pro Micro works well with Soarer's firmware?

My fIrmware can still have a silly bug or room to improve but I'd suspect its power line first. I'm not totally sure power voltage drop causes  serious problem like these.

Quote
I’m using an XT 83 key 5150 UK layout with a 5V Pro Micro without reset connected. It’s either connected into a powered USB hub or with a Y cable into a 2.1amp PSU to ensure the voltage doesn’t drop. It has strong pull-ups and the cable to the board itself is short.

I have built a few pro micros with Soarers before. With XTs I usually power it up with the RAW pin and bypass the regulator all together to make sure the power doesn’t dip. I can’t remember if I did this in this one.

I got Pro Micro and looked into closely the other day and found something people are likely to misunderstand.

DId you check voltage with multimeter?
First, RAW pin is not for 5V power supply directly from USB line. The name may be not easy to understand but it is used for external power input, not output. You get voltage with diode's forward voltage drop(0.4V typically) on RAW pin.

You have to use VCC pin to power your keyboard, not RAW pin.

And you have to make J1 solder bridged, without this you will get same voltage as RAW pin or lower.

With J1 soder bridge you can get raw power(possibly 5V) from USB line on VCC pin, note that RAW pin doesn't give 5V even with the solder bridge.

Check this wiki for detail.
https://github.com/tmk/tmk_keyboard/wiki/Pro-Micro#j1-solder-bridge


Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Sun, 03 May 2020, 20:37:53
I looked into some ps/2 port of computers and PS/2 converters kicking around and found some variations of sginal handling there but got no definite useful finding. We will have to do a bunch of trials and errors on timing values without any insight :(

What does hid_listen show with attached firmware when pressing CapsLock?

(Attachment Link)


I wonder what Soarer's converter display on its debug log with the Z-150. Can you try it too?

With the firmware you attached, this is the result in hid_listen after having pressed caps lock, which caused the board to stop responding. Before I press caps lock with that firmware, the regular keys seem to function and beep like normal. After pressing it, they stop working:

TMK:b9de6db4+/LUFA


USB configured.

Keyboard start.
I287 X789 rAA W1234 R1735 ID:0000(2)
S1735 L1735 r58 rF0 r58

The keyboard doesn't work at all with Soarer's firmware, so this is all hid_listen reports:

Listening:
R08 wEE

remaining: FFFC


Keyboard ID: 0000
Code Set: 1
Mode: PC/XT
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 03 May 2020, 21:10:02
With the firmware you attached, this is the result in hid_listen after having pressed caps lock, which caused the board to stop responding. Before I press caps lock with that firmware, the regular keys seem to function and beep like normal. After pressing it, they stop working:

TMK:b9de6db4+/LUFA


USB configured.

Keyboard start.
I287 X789 rAA W1234 R1735 ID:0000(2)
S1735 L1735 r58 rF0 r58

Didn't you see any output like 'wED' or 'ERR:11' as before?
I expect the error output when seding command of 'set indicator'(ED). Debug prints is not very reliable and you have to try several times perhaps?



I see. R08 means stop bit error. Soarer's do very right thing, it is totally the keyboard's fault.
I wonder why Zenith made the keyboard not compliant to AT protocol :(

Quote
The keyboard doesn't work at all with Soarer's firmware, so this is all hid_listen reports:

Listening:
R08 wEE

remaining: FFFC


Keyboard ID: 0000
Code Set: 1
Mode: PC/XT

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: acid2000 on Mon, 04 May 2020, 03:25:12
My fIrmware can still have a silly bug or room to improve but I'd suspect its power line first. I'm not totally sure power voltage drop causes  serious problem like these.

I checked again a few things again, I’m not doing any power shenanigans.

Soarers converter works without issue, I swap the fw to TMK and have issues.
I’ve tried on 2 different XT keyboards both built around the same time using two different ProMicros. Same issues.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 04 May 2020, 03:57:23
My fIrmware can still have a silly bug or room to improve but I'd suspect its power line first. I'm not totally sure power voltage drop causes  serious problem like these.

I checked again a few things again, I’m not doing any power shenanigans.

Soarers converter works without issue, I swap the fw to TMK and have issues.
I’ve tried on 2 different XT keyboards both built around the same time using two different ProMicros. Same issues.

I belive you can't get 5V at RAW on Pro Micro and you need to use VCC pin with J1 solder bridged. (It seems liek most of cheap Pro Mciros come without the solder bridge) I'm NOT sure that voltage of power matters, though.

It would be helpful if you can see whether there are any difference with 5V when you have time.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: acid2000 on Mon, 04 May 2020, 06:52:41
J1 on the pro micro is for voltage select. 3V vs 5V.

I’m running a 5V pro micro.

Running at 3v is way out of spec for an XT. In the past I’ve run accidentally on 3v and they won’t come up.
Even if they did (by tapping of the usb power) you would be driving a 5V GPIO with 3V, it would probably work but would be a PITA to set up.

Run your ProMicro at 5V.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 04 May 2020, 07:25:16
J1 on the pro micro is for voltage select. 3V vs 5V.

I’m running a 5V pro micro.

Running at 3v is way out of spec for an XT. In the past I’ve run accidentally on 3v and they won’t come up.
Even if they did (by tapping of the usb power) you would be driving a 5V GPIO with 3V, it would probably work but would be a PITA to set up.

Run your ProMicro at 5V.

No, I'm not referring 3.3V Pro Micro.

Did you check the wiki page?
Beleive me, you will get only 4.6V typically from RAW pin even if you are using 5V version Pro Micro.
You should be able to confirm this with multimeter easily, or this can be evident from its schematic also.

To get proper 5V you have to do both two things below.
1) Make solder bridge on J1
2) Use VCC pin to give keyboard power , not RAW pin

https://github.com/tmk/tmk_keyboard/wiki/Pro-Micro#j1-solder-bridge

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Mon, 04 May 2020, 08:48:07
J1 on the pro micro is for voltage select. 3V vs 5V.

I’m running a 5V pro micro.

Running at 3v is way out of spec for an XT. In the past I’ve run accidentally on 3v and they won’t come up.
Even if they did (by tapping of the usb power) you would be driving a 5V GPIO with 3V, it would probably work but would be a PITA to set up.

Run your ProMicro at 5V.

No, I'm not referring 3.3V Pro Micro.

Did you check the wiki page?
Beleive me, you will get only 4.6V typically from RAW pin even if you are using 5V version Pro Micro.
You should be able to confirm this with multimeter easily, or this can be evident from its schematic also.

To get proper 5V you have to do both two things below.
1) Make solder bridge on J1
2) Use VCC pin to give keyboard power , not RAW pin

https://github.com/tmk/tmk_keyboard/wiki/Pro-Micro#j1-solder-bridge

I suppose that could explain why all of my Pro Micros only intermittently worked with TMK, but Teensies work fine. I'll have to look at that.

I do still plan on flashing back to your most recently posted modified TMK firmware by the way, it was just getting late last night. Is there any sort of sniffing we could try to do on a computer that natively works with the beige label Z-150 to figure out how/why?

Also, maybe if you could point me to what values to play with, and what you think the general threshold may be, I could tweak the timings myself?
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: acid2000 on Mon, 04 May 2020, 13:29:25
I’ve bought a Teensy 2.0 from an official distributor.

This will be the last time I give this a go. I hope it works.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 06 May 2020, 02:25:27
J1 on the pro micro is for voltage select. 3V vs 5V.

I’m running a 5V pro micro.

Running at 3v is way out of spec for an XT. In the past I’ve run accidentally on 3v and they won’t come up.
Even if they did (by tapping of the usb power) you would be driving a 5V GPIO with 3V, it would probably work but would be a PITA to set up.

Run your ProMicro at 5V.

No, I'm not referring 3.3V Pro Micro.

Did you check the wiki page?
Beleive me, you will get only 4.6V typically from RAW pin even if you are using 5V version Pro Micro.
You should be able to confirm this with multimeter easily, or this can be evident from its schematic also.

To get proper 5V you have to do both two things below.
1) Make solder bridge on J1
2) Use VCC pin to give keyboard power , not RAW pin

https://github.com/tmk/tmk_keyboard/wiki/Pro-Micro#j1-solder-bridge

I suppose that could explain why all of my Pro Micros only intermittently worked with TMK, but Teensies work fine. I'll have to look at that.

If you can confirm that  the lower voltage power of Pro Micro affects any keyboard this would be worth sharing with the community and I would make a thread for this Pro Micro topic.


Quote
I do still plan on flashing back to your most recently posted modified TMK firmware by the way, it was just getting late last night. Is there any sort of sniffing we could try to do on a computer that natively works with the beige label Z-150 to figure out how/why?

Also, maybe if you could point me to what values to play with, and what you think the general threshold may be, I could tweak the timings myself?

It would be great if you can tweak code and test it in quick turnaround.

To get my current working source code repo from github.com run commands below, this is needed just once.
Code: [Select]
git clone -b ibmpc_z150at_fix https://github.com/tmk/tmk_keyboard.git
cd tmk_keyboard/
git submodule update --init
cd converter/ibmpc_usb/

Then, just run 'make' command to build firmware in 'tmk_keyboard/converter/ibmpc_usb/' directory.
Code: [Select]
make
You will find firmware file 'ibmpc_usb.hex' in the directory.

The current firmware should work with Z-150 AT until you press CapsLock, NumLock key.
Let me know one you can get this working on your side.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: acid2000 on Wed, 06 May 2020, 03:54:04
I bridged J1 in my Pro Micro, very little changed.

Teensy should arrive in the next few days. If it doesn’t work with that then it’s TMK otherwise it is the Pro Micro.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: acid2000 on Thu, 07 May 2020, 12:55:16
So I got the teensy 2. Wired it up with 1k pull ups and I still have problems.

I’ve attached the results of holding down Q for about 1m. You can see the incorrect key presses at the end.

Given I’ve now changed the hardware can we agree that this is a bug in TMK?
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 07 May 2020, 19:36:27
So I got the teensy 2. Wired it up with 1k pull ups and I still have problems.

I’ve attached the results of holding down Q for about 1m. You can see the incorrect key presses at the end.

Given I’ve now changed the hardware can we agree that this is a bug in TMK?

Thanks for the test. Can you attach it again or just post it with code tag?

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Thu, 07 May 2020, 23:19:39
I haven't touched anything else with TMK yet, but I got one of those Monoprice adapters in. I initially didn't bother trying one since I literally bought every single design that looked different from one another in their listings and tested them previously. None worked, at least 2-3 ended up looking exactly the same as each other even though they didn't in the listing, and the Monoprice one actually looks a lot like most of those ones that matched.

The Monoprice adapter did, in fact, end up working with the beige label Z-150 though. Same thing as the first firmware you got working with it. 100% function other than the lock lights not illuminating.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 08 May 2020, 00:29:23
I haven't touched anything else with TMK yet, but I got one of those Monoprice adapters in. I initially didn't bother trying one since I literally bought every single design that looked different from one another in their listings and tested them previously. None worked, at least 2-3 ended up looking exactly the same as each other even though they didn't in the listing, and the Monoprice one actually looks a lot like most of those ones that matched.

The Monoprice adapter did, in fact, end up working with the beige label Z-150 though. Same thing as the first firmware you got working with it. 100% function other than the lock lights not illuminating.

The Monoprice adapter did lock lights for other AT keyboards?
And it can handle F7 key correctly? This post on Deskthority referred the key.

https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#monoprice-ps2-converter-bluecube
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Fri, 08 May 2020, 01:23:37
I haven't touched anything else with TMK yet, but I got one of those Monoprice adapters in. I initially didn't bother trying one since I literally bought every single design that looked different from one another in their listings and tested them previously. None worked, at least 2-3 ended up looking exactly the same as each other even though they didn't in the listing, and the Monoprice one actually looks a lot like most of those ones that matched.

The Monoprice adapter did, in fact, end up working with the beige label Z-150 though. Same thing as the first firmware you got working with it. 100% function other than the lock lights not illuminating.

The Monoprice adapter did lock lights for other AT keyboards?
And it can handle F7 key correctly? This post on Deskthority referred the key.

https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#monoprice-ps2-converter-bluecube

You are a hawk. Good call on F7. It does not work with the Monoprice adapter. I'm pretty sure that it worked with straight ps2 on the HP. The lock lights do work with the NEC APC-H410EA I tested with, and so did F7.

I flashed back to the first TMK firmware that that allowed full function sans the lock lights and confirmed that F7 works fine with the beige label Z-150 that way.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 13 May 2020, 10:17:46
Maledicted,

Can you try this firmware with Z-150 AT and post hid_listen log?

https://raw.githubusercontent.com/tmk/tmk_keyboard/80a172448cebce73d232746ea0f8bd05934cb88c/converter/ibmpc_usb/binary/ibmpc_usb_atmega32u4.hex

I like to know if it shows 'PRT:11' instead of 'PRT:10', the firmware can recognize Z-150 AT specific protocol now.
Also press CapsLock to see how it goes in log.


Code: [Select]
Waiting for new device:.......
Listening:


TMK:a709d822/LUFA


USB configured.

Keyboard start.
I428 wFF rFA A1433
PRT:10 ISR:FE90 rAA W1785 R2286
ID:0000(2) S2286 L2286 r29 rF0 r29
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Maledicted on Thu, 14 May 2020, 18:03:02
Maledicted,

Can you try this firmware with Z-150 AT and post hid_listen log?

https://raw.githubusercontent.com/tmk/tmk_keyboard/80a172448cebce73d232746ea0f8bd05934cb88c/converter/ibmpc_usb/binary/ibmpc_usb_atmega32u4.hex

I like to know if it shows 'PRT:11' instead of 'PRT:10', the firmware can recognize Z-150 AT specific protocol now.
Also press CapsLock to see how it goes in log.


Code: [Select]
Waiting for new device:.......
Listening:


TMK:a709d822/LUFA


USB configured.

Keyboard start.
I428 wFF rFA A1433
PRT:10 ISR:FE90 rAA W1785 R2286
ID:0000(2) S2286 L2286 r29 rF0 r29

Alright, interesting results with this one. I flashed your new test firmware and now all 3 lock lights flash on, flicker, and then shut off whenever pressing caps lock or scroll lock. Until the lock lights shut off again, the keyboard doesn't respond to key presses, but resumes doing so after they do shut off. It does the same thing, in all regards, if I press l press caps lock on another connected keyboard. Pressing num lock works like the first working firmware in that it toggles num lock, but the lights do not react. I can type immediately after pressing this lock key.

I noticed that, sometimes, pressing caps lock will lock up the whole board and I have had to pres caps lock on another keyboard to return functionality to the Z-150. In these cases, the board doesn't seem to send any output related to having pressed caps lock to the computer until pressing caps lock on another keyboard and pressing a key, in which case it belatedly sends both.

This is the result of connecting the Teensy with the keyboard attached, and then pressing caps lock:

Keyboard start.
I250 wFF A1253
ERR:17 ISR:6A90
PRT:11 ISR:0000 X1755 rAA W2198 R2699
ID:0000(2) S2699 L2699 r58 wED
ERR:11
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 14 May 2020, 21:34:50
Alright, interesting results with this one. I flashed your new test firmware and now all 3 lock lights flash on, flicker, and then shut off whenever pressing caps lock or scroll lock. Until the lock lights shut off again, the keyboard doesn't respond to key presses, but resumes doing so after they do shut off. It does the same thing, in all regards, if I press l press caps lock on another connected keyboard. Pressing num lock works like the first working firmware in that it toggles num lock, but the lights do not react. I can type immediately after pressing this lock key.

Can you post the whole of log outputs during this process?

I guess the keyboard seems to wait for signal or something after the covnerter tries and fails to send 'set LED' command. I don't know why NumLock  behaves diffrently from other Lock keys, though.

Quote
I noticed that, sometimes, pressing caps lock will lock up the whole board and I have had to pres caps lock on another keyboard to return functionality to the Z-150. In these cases, the board doesn't seem to send any output related to having pressed caps lock to the computer until pressing caps lock on another keyboard and pressing a key, in which case it belatedly sends both.

Another 'set LED' command caused by another keyboard may recovers from lockup somehow.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 03 June 2020, 02:19:39
Updated firmware.  commit:7cf306 2020-06-03

Chages since the last update commit:42b7bf:
- Improvement for XT protocol, especially for genuine IBM 83-key keyboard. The converter now should work well with them.
- Fix signaling on how to send command in AT protocol. Realforce 101 failed to receive 'Set LED' commands occasionally.
- Various improvements for compatibility and error recovery

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 02 July 2020, 06:19:49
Updated 'Keymap Editor' to add support for hidden keys of IBM AT 84-key.

https://deskthority.net/viewtopic.php?p=467498#p467498
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Diskfix on Sat, 04 July 2020, 03:30:48
Neat stuff. Will the Elite-C https://deskthority.net/wiki/Elite-C (https://deskthority.net/wiki/Elite-C) also work?
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: suicidal_orange on Sat, 04 July 2020, 03:42:45
Neat stuff. Will the Elite-C https://deskthority.net/wiki/Elite-C (https://deskthority.net/wiki/Elite-C) also work?

The important thing is the microcontroller chip not the USB connector - it will work :)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Diskfix on Sat, 04 July 2020, 04:19:40
The important thing is the microcontroller chip not the USB connector - it will work :)
Thanks! Just got a elite-c with two broken tracks after desoldering with a newer purpose.

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: mrdunk on Sat, 04 July 2020, 08:24:51
Just thought i'd post with one success story and one failure.
In my attic a few days ago i tripped over an old keyboard with a nicer mechanism than what i've been typing on recently.
It's a Key Tronic J980405319.
I think i picked it up around 2000-2001. It was likely a few years old when i came by it.
[attach=2][attach=1]
Since i had a Chinese Ardino Pro Micro in my parts bin which i knew could do HID it seemed like a fun day's hacking.

This keyboard has a little switch on the back with the following positions:
 * AT
 * Enhansed AT/XT
[attach=3]

Lots of space inside the case for the Pro Micro and i had to disassemble it any way to give all the mechanical parts a good scrub.
[attach=4]

Since my multimeter implied there were already pullup resistors in place in the keyboard ps2 circuitry, i didn't bother adding more.
I also soldered the little 5Volt jumper closed to provide the keyboard with it's required supply voltage.

I'm using the prebuilt binary so far from here: https://github.com/tmk/tmk_keyboard/tree/master/converter/ibmpc_usb/binary

So rather than write the firmware myself, i found this project.
I had this up and running in a few hours (including scrubbing the old keyboard clean).
Good job! 5 stars. Would recommend.

So, debug output:
With the little switch set to "Enhansed AT/XT" it worked first time.
Here's the debug output having typed "qwerty[Enter]":
Code: [Select]
duncan@lapdancer:~/Working/hid_listen/hid_listen$ sudo ./hid_listen
Waiting for device:....
Listening:


TMK:0ab0ebf8/LUFA


USB configured.

Keyboard start.
I421 wFF rFA A1427
PRT:10 ISR:FE90 rAA W1720 wF2 rFA rAB r83 R2226
ID:AB83(2) S2226 wED rFA w00 rFA L2234 r15 qrF0 r15 r1D wrF0 r1D r24 erF0 r24 r2D rrF0 r2D r2C trF0 r2C r35 yrF0 r35 r5A
rF0 r5A

Not as lucky with the "XT" setting though.
I get occasional restarts when the bus is busy. "Num Lock" and "Caps Lock" LEDs flash during the restart.
Here's the debug where i plug in the Kbd with switch set to XT, wait a minute (with no restarts) then press and hold down "a":
Code: [Select]
duncan@lapdancer:~/Working/hid_listen/hid_listen$ sudo ./hid_listen
Waiting for device:........
Listening:


TMK:0ab0ebf8/LUFA


USB configured.

Keyboard start.
I418 wFF A1455
ERR:11 ISR:AAA0
PRT:21 ISR:0000 X1957 rAA W1958 wF2 R2494
ID:FFFF(1)
ERR:11 ISR:AAA0 S2495 L2495 r1E ar1E aar1E aaar1E aaar1E aaa
ERR:20 ISR:3D40 [RST] I8261 wFF A9298
ERR:11 ISR:AAA0 X9800 rAA W9801 wF2 R10337
ID:FFFF(1)
ERR:11 ISR:AAA0 S10338 L10338

One theory i want to test is that internal pull up resistors are in place when the the switch is i the "XT" position...
Maybe the XT spec needs them on the host side?
Next time i have the cover open i will measure this.

So what i have is more than good enough; I don't need the XT setting to work but though this anomaly might interest people here.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 04 July 2020, 09:47:20
Thanks for the feedback.

ERR:20 means timeout when reading from keyboard, the keyboard clocking is a bit slow, perhaps.
Other ERRs are expected for XT keyboard and I don't see no problem there.
And pullup resistors don't seem to be related in this case probably.

Can you try attached firmware? This has prolonged timeout parameter.
[attachurl=1]
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: mrdunk on Sat, 04 July 2020, 16:33:54
Same same with the linked firmware:
Code: [Select]
duncan@lapdancer:~/Working/hid_listen/hid_listen$ sudo ./hid_listen
Waiting for device:.......
Listening:


TMK:7cf3060a+/LUFA


USB configured.

Keyboard start.
I422 wFF A1459
ERR:11 ISR:AAA0
PRT:21 ISR:0000 X1961 rAA W1962 wF2 R2498
ID:FFFF(1)
ERR:11 ISR:AAA0 S2499 L2499 r1E ar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaa
ERR:20 ISR:3D40 [RST] I30017 wFF A31054
ERR:11 ISR:AAA0 X31556 rAA W31557 wF2 R32093
ID:FFFF(1)
ERR:11 ISR:AAA0 S32094 L32094

Quote
ERR:20 means timeout when reading from keyboard, the keyboard clocking is a bit slow, perhaps.
Would that cause the apparent restart of the keyboard though? (The "Num Lock" and "Caps Lock" flashing the way they do at power up.)
Isn't it more likely the keyboard restarting is causing TMK to timeout and so displays ERRL20?

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 04 July 2020, 19:47:58
Did that reset happen while holding 'A' key or just when releasing the key?

The converter checks time elapsed to received one byte data for error recovery, keyobard hot plug-in and swap. And it resets the keyobard to recover error when timeout error happens.
Timeout parameter is 1ms with default firmware, 2ms for previous attached one.

But keyboard should not take so long but I may be missing something or the timeout error logic may have bug.

Can you try this attached firmwares below?


This has 3ms timeout check.
[attachurl=2]

And this one without tiemout check.
[attachurl=1]
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: mrdunk on Sat, 04 July 2020, 20:40:55
Quote
Did that reset happen while holding 'A' key or just when releasing the key?
While holding it.

Quote
And it resets the keyboard to recover error when timeout error happens.
Understood. Thanks.

ibmpc_usb_atmega32u4_3mstimeout.hex
That seems to have fixed it:
Code: [Select]
duncan@lapdancer:~/Working/hid_listen/hid_listen$ sudo ./hid_listen
[sudo] password for duncan:
Waiting for device:..................
Listening:


TMK:7cf3060a+/LUFA


USB configured.

Keyboard start.

PRT:21 ISR:AAA0 I424 wFF A1461
ERR:11 ISR:AAA0 X1963 rAA W1964 wF2 R2500
ID:FFFF(1)
ERR:11 ISR:AAA0 S2501 L2501 r1E ar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E
I Mashed the keyboard for a while after that without problem.

For the sake of completeness,
ibmpc_usb_atmega32u4_notimeout.hex:
Code: [Select]
duncan@lapdancer:~/Working/hid_listen/hid_listen$ sudo ./hid_listen
Waiting for device:............
Listening:


TMK:7cf3060a+/LUFA


USB configured.

Keyboard start.

PRT:21 ISR:AAA0 I422 wFF A1459
ERR:11 ISR:AAA0 X1961 rAA W1962 wF2 R2498
ID:FFFF(1)
ERR:11 ISR:AAA0 S2499 L2499 r1E ar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aara1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aar1E aaar1E aaar1E aaar1E aaar1E aaar1E aar9E a
Again, i can mash the keyboard with no issues.

I wonder if some sort of autoconfiguration would work here?
When you first power on, start with a very long timeout, flash the Capslock LED while reducing the timeout.
When it eventually fails you have a minimum acceptable  timeout so double it and save the value to EPROM for future boots.

Or just pick a value long enough that it seems to work for everyone and allow users to manually modify it.
(I presume going too long here will lead to poor update speed?)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 04 July 2020, 22:26:24
Thanks for the test.
I'll go with the '3ms' timeout and update default firmware in github repo soon later.

In current firmware the converter detects timout error if signal sequence takes more than 1.0ms. But this seems to be too small for the keyboard and some others. I can't remember why I selected the value but it is too small obviously.

Now with '3ms' paramter the converter waits to receive signal for 2.0ms at least. I don't think there is a keyboard that needs more than 2.0ms. Timeout error and its error recovery are intended to minimize possiblity of wrong key input deu to bad wiring, hot plugin or hot swap. So it is better that the parameter is small value as possible.

Automatic timeout parameter tune like that seems to me too complex and overkill for this purpose. I believe there is no large variety of clocking speed among keyboards.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: mrdunk on Sun, 05 July 2020, 04:33:23
I'd be a little worried that there are other keyboards out there that need a longer delay but whose user does not have the experience to contact you.

If i interpret your explanation correctly it is very unlikely there would be a valid reset after the first few keystrokes.
Also if my keyboard is within the average range, the actual reset takes ~200ms (I'm guessing here but it's a long time).
I don't see much advantage in keeping this number low.

A statistician would probably draw a bell curve around the examples you know about and tell you about the probability of the examples you don't...
Would there be any harm in taking the longest example you have proof of (3ms) and doubling it to catch the untested edge cases? So 6ms.

I have a friend who i haven't talked to in too long that has loads of classic video game equipment. I might send him an email and see if he has any XT keyboards in his collection we can test on... I can send him a pre-programmed board.

As for the actual value of the timeout, it's your project so your choice.
It works well for me as it is.
Thanks for the cool project!

dunk.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 05 July 2020, 09:37:03
Timeout parameter I'm refering is used when receiving data and is not used for keyboard reset.
Its timer starts when receiving start bit and ends with stop bit.

For reference these pics show waveforms of AT/XT keyboard signal, which takes around 1ms to send one byte data.
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol#waveforms
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#waveform
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: mrdunk on Sun, 05 July 2020, 17:50:11
Thanks for the links; They were simpler times....

Quote
Timeout parameter I'm refering is used when receiving data and is not used for keyboard reset.
Yes, but i thought you reset the keyboard if there was an error:
Quote
The converter checks time elapsed to received one byte data for error recovery, keyobard hot plug-in and swap. And it resets the keyobard to recover error when timeout error happens.

So if there's a timeout after 1ms (or 3ms on my keyboard) the keyboard gets reset and isn't usable for (guessing a number here) ~200ms.
Since any receive error now leads to the keyboard being unusable for 100s of ms, i don't see the point in picking an aggressively small number for the timeout.

Imagine the scenario where someone's keyboard repeat rate is 10 chars per second (or 100ms between characters).
While holding the "a" down, an error occurs.
With your timeout set to 1ms you notice the error, reset the keyboard and are ready for input again after 201ms.
If you set the RX timeout to 6ms, you are ready for input again after 206ms.
At a repeat rate of 10, you haven't missed any more characters being sent.
Any additional latency is not a noticeable amount of time for the user. (And the keyboard reset is already giving them a much worse experience anyway.)

Or am i missing something?

Anyway,
if i've not convinced you yet, i'll leave it at that.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: mrdunk on Sun, 05 July 2020, 18:03:43
This is fun: IBM's original technical reference for the XT:
http://www.minuszerodegrees.net/manuals/IBM_5155_5160_Technical_Reference_6280089_MAR86.pdf (http://www.minuszerodegrees.net/manuals/IBM_5155_5160_Technical_Reference_6280089_MAR86.pdf)

The interesting bit for this conversation is page 4.33 "Keyboard Data Output"
It's actually quite vague about the exact timing; It specifies the /length/ of a clock pulse:
Quote
During each clock cycle, the keyboard clock is active for 25 to 50 microseconds.
but does not specify how long between cycles.
This make some sense on the resource limited systems of the day but there muts have been /some/ timeout otherwise there would be no way to recover from a keyboard malfunction (like you are trying to do).

I think this reference supports my case for avoiding aggressive timeouts though...
I would think that though wouldn't i?

dunk.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 05 July 2020, 22:03:15
Thanks for the links; They were simpler times....

Quote
Timeout parameter I'm refering is used when receiving data and is not used for keyboard reset.
Yes, but i thought you reset the keyboard if there was an error:
Quote
The converter checks time elapsed to received one byte data for error recovery, keyobard hot plug-in and swap. And it resets the keyobard to recover error when timeout error happens.

So if there's a timeout after 1ms (or 3ms on my keyboard) the keyboard gets reset and isn't usable for (guessing a number here) ~200ms.
Since any receive error now leads to the keyboard being unusable for 100s of ms, i don't see the point in picking an aggressively small number for the timeout.

The timeout error doesn't(should not) occur while normal usage unless keyobard, converter and wiring are falty.
Those critical faults cannot be recovery with converter firmware anyway, you will have to fix hardware problem or a bug in firmware basically.

And note that bigger timeout parameter increases possiblity of wrong or random key inputs. This is not what we want.

Keyboard reset is not necessarily required for recovery if we don't need hot-swap/plugin support.(I want it though) You can clear internal state of the converter to sync next clock signal from keyboard somehow instead of reset. But in the case of hot-swap/plugin it is inevitable for connection to be unstable temporarily, then timerout or other errors can occur. It requires keyboard reset to recover from those errors.



Quote
Imagine the scenario where someone's keyboard repeat rate is 10 chars per second (or 100ms between characters).
While holding the "a" down, an error occurs.

Again the timeout error is exceptional and should not happen unless your keyobard and converter are good enough. If you see the error you will have to fix something, such as bad wiring, firmware bug, faulty hardware, or  etc....


Quote
With your timeout set to 1ms you notice the error, reset the keyboard and are ready for input again after 201ms.
If you set the RX timeout to 6ms, you are ready for input again after 206ms.
At a repeat rate of 10, you haven't missed any more characters being sent.
Any additional latency is not a noticeable amount of time for the user. (And the keyboard reset is already giving them a much worse experience anyway.)

Or am i missing something?

Anyway,
if i've not convinced you yet, i'll leave it at that.

I'm not sure about this part, you mean 6ms timeout is better?
Anyway, I think you don't have to worry about that.


You can check codes here if you are still interested.

How to detect timeout error:
https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/protocol/ibmpc.c#L248-L267

Check error and keyboard reset(initialize):
https://github.com/tmk/tmk_keyboard/blob/master/converter/ibmpc_usb/ibmpc_usb.c#L131-L146
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 05 July 2020, 23:01:43
NIce find. I can't remember I checked this before.

That descriptions in 4.32-4-33 is really useful to grasp how XT protocol works.
(Some clone XT keyboards are clearly not compliant to this, though.)

This is fun: IBM's original technical reference for the XT:
http://www.minuszerodegrees.net/manuals/IBM_5155_5160_Technical_Reference_6280089_MAR86.pdf (http://www.minuszerodegrees.net/manuals/IBM_5155_5160_Technical_Reference_6280089_MAR86.pdf)

The interesting bit for this conversation is page 4.33 "Keyboard Data Output"
It's actually quite vague about the exact timing; It specifies the /length/ of a clock pulse:
Quote
During each clock cycle, the keyboard clock is active for 25 to 50 microseconds.
but does not specify how long between cycles.
This make some sense on the resource limited systems of the day but there muts have been /some/ timeout otherwise there would be no way to recover from a keyboard malfunction (like you are trying to do).

Right, XT has no error detection and recovery like that, keyboard interface on host side is comprised of discrete only logic ICs and deliberate circuit without microcontroller. I guess you get garbege input on XT computer until reset if you replug keyboard while it is powered.


Quote
I think this reference supports my case for avoiding aggressive timeouts though...
I would think that though wouldn't i?

dunk.

I'm still not sure I understand what your concern is exactly.
Ah, you worry about exsistence of keyboard that takes long beyond 2ms to send data? I think it is slight chance but exceptional example can exist even if the specification clearly define the value.

Yes, bigger timeout parameter can support the exceptionally slow keyboard, but not good for most of keyboards. It increases possiblity of missing timeout error.

I think 2ms is safe enough. And it is worth to get error report from user if keyboard like that really exists.



Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: mrdunk on Mon, 06 July 2020, 04:43:59
Quote
Ah, you worry about exsistence of keyboard that takes long beyond 2ms to send data?
Exactly.
My keyboard needs 3ms when switched to XT when we originally thought 1ms was safe.
There are bound to be other edge cases that are worse.

Quote
Yes, bigger timeout parameter can support the exceptionally slow keyboard, but not good for most of keyboards. It increases possiblity of missing timeout error.
What would missing the timeout error look like?
I guess one byte would run into the next, resulting in garbage input until the user stopped pressing keys for as long as the timeout value (and the resulting reset).
Resetting the keyboard because of a timeout is only useful at startup; If you reset the keyboard later, while the user is typing, the keyboard reset is as harmful as missing a timeout.

Anyway,
we disagree but that's ok.
This is an edge case which users can inform you about if it is an issue.

One last clarification,
my keyboard worked with your 3ms timeout firmware in XT mode not 2ms. (Just incase you are using my kbd as the longest supported.)

Thanks for the interesting discussion!
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 06 July 2020, 05:01:24
Wait, your keyboard should work with the latest firmware,

I updated  github repo with using '3ms' parameter, which means 'timeout error' happens  when it takes more than 2ms.
This is confusing,  but it is how the firmware works in fact due to timer resolution and timeout detection logic.

You confirmed the keyboard worked with temp firmware with '3ms' parameter. (https://geekhack.org/index.php?topic=103648.msg2928549#msg2928549) So, I think you are ok with the latest firmware too.

Try the latest firmware. Let me know if it doesn't work.

https://github.com/tmk/tmk_keyboard/tree/master/converter/ibmpc_usb/binary
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: mrdunk on Mon, 06 July 2020, 05:11:32
Quote
You confirmed the keyboard worked with temp firmware with '3ms' parameter.
Yup. It worked with ibmpc_usb_atmega32u4_3mstimeout.hex .

I'll confirm the latest in github works the same later. (Monday morning here. got work to do debugging networking switch firmware.)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: mrdunk on Mon, 06 July 2020, 09:34:35
Quote
I'll confirm the latest in github works the same later.
Confirmed. ibmpc_usb_atmega32u4_3mstimeout.hex working with XT mode as described in previous post.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: teliot on Mon, 06 July 2020, 18:33:01
This works with a DTK SPK 101.

Used the github source, compiled and flashed on to an Arduino Micro with Atmega 32u4 over ICSP.
One of the keys registers as Code 86, KEY_102ND and seems to do nothing. The key has no symbol and is located where the Windows key generally is.
All of the other keys and LED's work correctly.

https://imgur.com/a/eQvHA1I

Thank you for all of your hard work on this!
Had my keyboard working in under 5 minutes :)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 06 July 2020, 19:18:14
This works with a DTK SPK 101.

Used the github source, compiled and flashed on to an Arduino Micro with Atmega 32u4 over ICSP.
One of the keys registers as Code 86, KEY_102ND and seems to do nothing. The key has no symbol and is located where the Windows key generally is.
All of the other keys and LED's work correctly.

https://imgur.com/a/eQvHA1I

Thank you for all of your hard work on this!
Had my keyboard working in under 5 minutes :)

Thanks for feedback.
The key is recoginized as ISO key located between left shift and z by converter. You can remap it in keymap editor.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: teliot on Mon, 06 July 2020, 20:08:11
That key is located on the right side under the shift key. This unknown key is something else.

Unmodified It types a <
With shift >
With Ctrl <
With Alt (Last command like up arrow)
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 06 July 2020, 21:27:45
That key is located on the right side under the shift key. This unknown key is something else.

Unmodified It types a <
With shift >
With Ctrl <
With Alt (Last command like up arrow)

Check 'Debug' in the first post to check scan codes of the both keys.
Posting its output as is would be useful.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: TheNeonKnight on Wed, 26 August 2020, 16:57:58
Quick couple questions regarding the pull up resistor. I'm no expert when it comes to resistors, would the 1Kohm resistor be better than the 4.7Kohm resistor or vice versa, If so why? Does it have something to do with the length of the cable connected to the controller? Also the resistor is supposed to be connected  from VCC 5v to Clock and Data respectively, correct? Does the resistor have to be 1/4 watt, 1/2 watt? These questions may seem obvious but I'm honestly at a loss on this.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: ivanthetolerable on Thu, 24 September 2020, 20:28:45
Hey, is it possible to change the firmware to change PD0 on the teensy to something else? I found a spare teensy I messed up and destroyed d0 a long time ago..
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 28 September 2020, 07:24:58
Possible, but it won't be easy.
I don't think it is worth for us trying it. Just buy new one.


Hey, is it possible to change the firmware to change PD0 on the teensy to something else? I found a spare teensy I messed up and destroyed d0 a long time ago..

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Wumbologist on Fri, 23 October 2020, 19:54:00
Hey Hasu. Can confirm this works on my Z-150 black label. Using a ProMicro.
Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 23 October 2020, 20:46:17
Great! Thank you for your report.

Hey Hasu. Can confirm this works on my Z-150 black label. Using a ProMicro.

Title: Re: [REQUEST FOR TEST] TMK IBM PC Keyboard Converter
Post by: Wumbologist on Fri, 23 October 2020, 20:49:40
Also, I doubt this is a keyboard even on your radar for this project, but my FK-8000 is almost working with it. The only thing not working is the blank key where LGUI should go.

Chyros describes the issue here at timestamp 5 minutes.
I'm getting the same scancodes as him in Switch Hitter. 0xE2 Win, 0x56 BIOS.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 23 October 2020, 21:23:30
Great.
I think there was no standard scan code for the key in keyboard from that era, and guess it was defined by microsoft after introducing windows 95.

I guess you are using US layout?
It seems the 0x56 is correct for scan code.  In that case the converter should recognize it as 'non-us #'(ISO) key, you will have to change to UK or other ISO keyboard layout on your OS to use the key. Or you can remap the key by editing ISO key on Keymap Editor.
Title: Re: TMK IBM PC Keyboard Converter
Post by: Wumbologist on Fri, 23 October 2020, 22:11:06
Ah I see. Changed NUBS to LGUI in my keycap.c and now I've got a much more usable layout. Thanks!
Title: Re: TMK IBM PC Keyboard Converter
Post by: therealding on Tue, 27 October 2020, 03:21:20
I'm getting a lot of key chatter or freezing with this converter vs Soarer's
Title: Re: TMK IBM PC Keyboard Converter
Post by: uhhuhhuny on Tue, 17 November 2020, 16:27:50
Seems to work for FK-2001 (102 Asian layout) for both AT/XT
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 17 November 2020, 17:20:04
You can post detailed infomation to improve this converter. Your contribution are welcome.

I'm getting a lot of key chatter or freezing with this converter vs Soarer's

Title: Re: TMK IBM PC Keyboard Converter
Post by: Mikhail on Tue, 17 November 2020, 20:59:51
Hi!
Chicony kb-5191 in XT mode:
Pressing Pause/Break:

Listening:
rE1 r1D r45 rE1 r9D rC5

All 6 byte in press, no hold and release (like it should be in DOS). In Windows it should generate first 3 byte by press and hold, and rest of 3 bytes by release (as told Wiki)

Keyboard testers in Win shows the key stand pressed.
If remap key in Macs carabiner, key stand pressed too.


Waiting for device:...........................
Listening:


TMK:12eaedf9/LUFA


USB configured.

Keyboard start.

PRT:22 ISR:AAC0 I1582 wFF A2619
ERR:11 ISR:0000 X3121 rAA W3229 wF2 R3765
ID:FFFF(1)
ERR:11 ISR:AAC0 S3766 L3766 rAA


For Siemens F500:
Waiting for device:........
Listening:


TMK:12eaedf9/LUFA


USB configured.

Keyboard start.

PRT:21 ISR:AFA0 I1582 wFF A2619
ERR:11 ISR:AFA0 X3121 e20
ERR:20 ISR:4000 rEA W3207 rAF W3208 wF2 R3744
ID:FFFF(1)
ERR:11 ISR:AFA0 S3745 L3745
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 17 November 2020, 22:10:03
Mikhail, Thanks for the report
I found and fixed a bug on handling of XT Pause key. Fixed firmware is attached. [attachurl=1]


'ERR:11' in debug outputs is expected and no problem for XT keyobard when plugin and startup.
But 'ERR:20' is not expected and a bit weird. This is not problem if the error is temporary and happens only after plugin.

Try attached firmware on Siemens F500 and type some keys to see if the error happens. Its debug output would be helpful again.

Assuming both kb-5191 and F500 have LED indicators, how they work in XT mode when you press capslock or numlock?


For Siemens F500:
Waiting for device:........
Listening:


TMK:12eaedf9/LUFA


USB configured.

Keyboard start.

PRT:21 ISR:AFA0 I1582 wFF A2619
ERR:11 ISR:AFA0 X3121 e20
ERR:20 ISR:4000 rEA W3207 rAF W3208 wF2 R3744
ID:FFFF(1)
ERR:11 ISR:AFA0 S3745 L3745




Title: Re: TMK IBM PC Keyboard Converter
Post by: Mikhail on Tue, 17 November 2020, 22:26:54
Hasu,
Now it’s hard to test Siemens because it without switches. Original blacks was to scratchy so i decide to desolder it to clean and lube. I will try.
Also the reset pin are connected.
Num lock is light when Num lock is OFF, and not light when ON.
Same thing with Pause/Break on Chicony((
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 18 November 2020, 00:32:47
XT keyboard  have no lock indicator originally and XT protocol doesn't support indicator.
The keyboard just controls its LEDs internally and it can lost sync with lock key status of computer. Conveter is not reloated here.

Fixed again. Try this firmware then.
[attachurl=1]
Title: Re: TMK IBM PC Keyboard Converter
Post by: Mikhail on Wed, 18 November 2020, 07:07:11
XT keyboard  have no lock indicator originally and XT protocol doesn't support indicator.
The keyboard just controls its LEDs internally and it can lost sync with lock key status of computer. Conveter is not reloated here.

Fixed again. Try this firmware then.
(Attachment Link)

Ok, now seems all work! Pause press and release without holding.

Chicony 5191
Listening:


TMK:4f845302/LUFA


USB configured.

Keyboard start.

PRT:22 ISR:AAC0 I1583 wFF A2620
ERR:11 ISR:0000 X3122 rAA W3230 wF2 R3766
ID:FFFF(1)
ERR:11 ISR:AAC0 S3767 L3767 rAA



Siemens F500
Listening:


TMK:4f845302/LUFA


USB configured.

Keyboard start.

PRT:21 ISR:AFA0 I1583 wFF A2620
ERR:11 ISR:AFA0 X3122
ERR:20 ISR:4000 e20 rEA W3208 rAF W3209 wF2 R3745
ID:FFFF(1)
ERR:11 ISR:AFA0 S3746 L3746



The "TERM FUNC" key generate r65 rE5 scan code.
I'll wait when you make changes to the main firmware ti use Keymap Editor. Thank you again!
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 18 November 2020, 08:12:43
Great. I'll update firmware on repo and Keymap Editor some later.

The Siemens keyboard seems to be unusual on startup at least, let me know when you find problem.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 21 November 2020, 13:39:21
Updated firmware on github repository and Keymap Editor.

- Fixed Pause key for enhanced XT keyboard
Title: Re: TMK IBM PC Keyboard Converter
Post by: Mikhail on Fri, 27 November 2020, 18:32:33
Hello! I have assembled Siemens F500. Everything works as expected. Tried TMK Keymap Editor, works too. The only thing would be cool to be able to reassign the TERM FUNC button (r65 rE5 scan code / ACPI Wake function).
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 27 November 2020, 19:53:08
Hi,  great to hear that.
Scan code 0x65 of Code Set 1(XT) is assigned to 'F14'(USB) here and you can remap the F14 on keymap editor.
I guess Windows recognizes F14 as ACPI Wake probably. In general how F13-F24 keys are handled depends on your OS.

https://github.com/tmk/tmk_keyboard/blob/master/converter/ibmpc_usb/unimap_trans.h#L91
Title: Re: TMK IBM PC Keyboard Converter
Post by: Mikhail on Sat, 28 November 2020, 11:23:34
Yea, F14 remap is working))
Title: Re: TMK IBM PC Keyboard Converter
Post by: cparrot on Wed, 02 December 2020, 13:23:55
Updated firmware on github repository and Keymap Editor.

- Fixed Pause key for enhanced XT keyboard

Hi and thank you for your awesome work on this.
I noticed that the printscreen/* key below enter is only *, NumLock on or off,
with this new version. I will adjust my mapping to that, but I wanted to let you know.
Until this version the firmware worked like a charm on my XT, with my costum mapping.

I had troubles with random keys registering on my XT and updated to this version in hopes of fixing that.
It didn't work still, but I found that my problem probably came from the only screw on the boards PCB being too loose,
leading to grounding issues.
After thightening it the random presses went away, but the unremapped firmware had that behaviour.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 08 December 2020, 20:02:27
cparrot,
What is behaviour you expected on the key and how did you do in your custom mapping actually?

Orignally on IBM PC/XT the 'PrtSc *' key spits out 'Keypad *' usually while 'PrintScreen' with holding Shift(this is recognized in BIOS, not keyboard).
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol#print-screen

The keys are assigned as 'Keypad *' in the converter and this is intended behaviour. The converter doesn't  emulate the original key behaviour by default, it is not my goal.
You can remap the key if you don't like default mapping anyway.
Title: Re: TMK IBM PC Keyboard Converter
Post by: cparrot on Mon, 14 December 2020, 12:40:59
Thanks, I didn't know about the Shift+KP* behaviour.

Before the new version my mapping had a layer 2 toggle in place of the NumLock key
and on the default layer were the (back then) locked num keys.
Layer 2 was exactly like the legends, but L2 Keypad 5 acted as a second enter key.

I was really confused for a bit, because I didn't know NumLock was handled by OS and I got stuck with unlocked num key behaviour
on both layers. I must have toggled NumLock somewhen in the process of updating and I don't have any indicator for that.

To get this mapping right all the time I would have to ditch KP keys completely,
but until now I just left it stock and used a different shortcut for screenshots.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 14 December 2020, 18:49:38
cparrot, Thanks for the explanation.
Title: Re: TMK IBM PC Keyboard Converter
Post by: Alectardy98 on Sat, 19 December 2020, 14:02:11
hey I wanted to say that this let me use my focus 2001 that I was unable to get to work reliably using a soarers, anyways I wanted a bit of help programing TMK with the focus 2001. The focus 2001 has a blank key on the left that when pressed gives this imput to hd listen
r61 §rF0 r61

what would I do if I wanted this button to be my lgui key?
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 19 December 2020, 20:53:35
Need some info to answer you quesiton.

First, show me outputs from hid_listen when startup to know how the converter recognize the keyboard.
What's  your keyboard layout setting on your OS? US or European ISO?
And the keyboard seems to be AT/XT switchable, which protocol is selected?

What exactly happens with Soarer's converter?

hey I wanted to say that this let me use my focus 2001 that I was unable to get to work reliably using a soarers, anyways I wanted a bit of help programing TMK with the focus 2001. The focus 2001 has a blank key on the left that when pressed gives this imput to hd listen
r61 §rF0 r61

what would I do if I wanted this button to be my lgui key?

Title: Re: TMK IBM PC Keyboard Converter
Post by: Alectardy98 on Sun, 20 December 2020, 12:37:50
When I Plug in the keyboard, This is what HID listen does
Keyboard start.
I210 wFF rFA A1215
PRT:10 ISR:FE90 rAA W1294 wF2 rFA rAB r83 R1801
ID:AB83(AT) S1802 wED rFA w00 rFA L1809


The keyboard is set to US, and I have fliped the switch from at to xt so may times that I Lost track, but I belive it is AT because lock lights works
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 20 December 2020, 19:46:03
The log shows that the keyboards is recognized  as AT keyboard with Code Set 2.
So the scan code '61' of the key means ISO key between Left shift and Z(on usual layout). You can remap it with keymap editor or editing unimap_plain.c.
https://github.com/tmk/tmk_keyboard/blob/c230460b12f1d6ff149a6139166bed8247eeeb60/converter/ibmpc_usb/unimap_trans.h#L99-L136

It would be appreciated if you can take some time to test and improve the converter firmware.
- Can you test TMK firmware with the keyobard in XT mode?  hid_listen log would be helpful too here.

- Optionally, but I'm still curious, can you test Soarer's firmware with the keyboard in both mode?
I've never heard Soarer's firmware has problem with the keyboard and think it works without problem.
hid_listen log would be helpful again if you find something weird.

Title: re
Post by: Alectardy98 on Sun, 20 December 2020, 20:44:47
Thank you for the help, that was the right button to change! AT Mode works perfect
okay I did a very short test in xt mode, and everything is working fine, for reference I wrote this using XT mode,  Also Lock Lights work on XT Mode
here is what HID listen had to say

USB configured.

Keyboard start.
I182 wFF A1219
ERR:11 ISR:AAC0
PRT:22 ISR:0000 X1721 rAA W1722 wF2 R2258
ID:FFFF(XT)
ERR:11 ISR:AAC0 S2259 L2259

With Soarers it is another story, Like I said I couldn't get it to work, but I know the converters work, I have three of them and none of them work, Here is what I get with HID listen in XT mode
Keyboard ID: 0000
Code Set: 1
Mode: PC/XT

(and I get no inputs)

This is what I get with soarers in at mode

Keyboard ID: 00AB
Code Set: 2 (extended)
Mode: AT/PS2

wED rFA w00 rFA

It recognizes inputs but it has heavy ghosting, even worse than my zenith z150 had with soarers. also, a lot of keys lag or fail to recognize presses, overall over with the soarers I have an inconsistent and unusable keyboard, and using this tmk firmware it works perfectly in both modes.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 20 December 2020, 21:15:56
Thanks for the tests and logs.

The converter recognizes it as XT. (those 'ERR's are expected at startup).
Its lock lights are controled by keyboard itself, interesting. Converter/host can't change them in XT mode due to its protocol limitation.

Hmm, FK-2001 may use unusual signal timing and Soarer's seems to miss it occasionally, perhaps. Good to know.
Title: Re: TMK IBM PC Keyboard Converter
Post by: Alectardy98 on Sat, 26 December 2020, 12:45:25
could someone knowledgeable with tmk tell me how to assign macros, I am having a hard time with it
Title: Re: TMK IBM PC Keyboard Converter
Post by: Alectardy98 on Sat, 26 December 2020, 17:02:48
IBM Numpad 1396199 does not work


TMK:e473e8ce/LUFA


USB configured.

Keyboard start.
I282 wFF A1319
ERR:11 ISR:0000 X1820


Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 26 December 2020, 23:31:09
The log shows it can't seems to read anything on signal lines.

The converter is same as one used with your Focus before?
The numpad works with usual PS/2 converter or Soarer's?

Title: Re: TMK IBM PC Keyboard Converter
Post by: Alectardy98 on Fri, 15 January 2021, 00:05:37
sorry for the late response, I believe the Numpad was electrically shot, i don't think it had anything to do with tmk, sorry about that
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 05 February 2021, 23:43:06
If there is someone with Zenith Z-150 AT here ...

Can you try this firmware and post your result with 'hid_listen' log?
https://github.com/tmk/tmk_keyboard/tree/09e4aa77072393c89e7f75202bf6531445dc2d56/converter/ibmpc_usb/binary

- Type keys and check if they work without glitch
- Press CapsLock or NumLock key and check if its LED indicator changes

Thanks



Detailed Issue Description:
- https://github.com/tmk/tmk_keyboard/issues/661
- https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#zenith-z-150-at
Title: Re: TMK IBM PC Keyboard Converter
Post by: gottspeed on Sun, 07 February 2021, 20:03:14
IBM Rapid Access Keyboard conversion

Hi, I'd like to work towards converting a PS/2 keyboard to a USB unit, but its an unusual case. This keyboard requires that a scan-code be sent to it to initialize its multimedia and shortcut buttons. Its not a keyboard I've seen covered on here so I'm wondering what the path forward would be to get this working. I see lots of different converters available for purchase but I'm not sure which one would work, and what would be required to customize its firmware to initialize and handle the scancodes from the extra buttons.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 07 February 2021, 20:15:51
Check first post and program default firmware on your converter.
You can download the firmware from Keymap Editor or github.

And then post debug outputs on 'hid_listen'. I'd like to know ID of the keyboard, first.


EDIT:
Check this page to compile firmware as well.
https://github.com/tmk/tmk_keyboard/wiki#build-firmware
Title: Re: TMK IBM PC Keyboard Converter
Post by: gottspeed on Sun, 07 February 2021, 20:34:02
Thank you, I'll purchase a converter this evening. The make scancodes are published for the multimedia keys on this keyboard, but not the break scancodes. Will the converter report these non-standard scan codes through hid_listen?

I'm going to put my mind to this but I may need a bit of spoonfeeding as to where to add the initializing scancode of "ea 71" to the firmware code.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 07 February 2021, 22:11:05
hmm, 'no break code' makes it difficult to integrate its support into default firmware, perhaps.
It will need custom code for the keys and this is tricker than what I expected.

Sending the "ea 71" code at startup won't be a problem if the keyboard has useful ID to discriminate it from others.

Thank you, I'll purchase a converter this evening. The make scancodes are published for the multimedia keys on this keyboard, but not the break scancodes. Will the converter report these non-standard scan codes through hid_listen?

I'm going to put my mind to this but I may need a bit of spoonfeeding as to where to add the initializing scancode of "ea 71" to the firmware code.

Title: Re: TMK IBM PC Keyboard Converter
Post by: TheNeonKnight on Fri, 12 February 2021, 17:00:22
Is it possible to add the second key under Numpad 0 to the unimap_plain.c? It is in unimap_trans but i'm not sure on the bearing b/w the 2.
Title: Re: TMK IBM PC Keyboard Converter
Post by: Fritz the German on Thu, 18 March 2021, 15:13:54
My Teensy 2.0 is arriving soon. Two questions, before I fetch my soldering iron:
Quote
- Reset PB6 or PB7 (For some of XT keyboards. Not needed for AT, PS/2 and Terminal)
It's the same if I choose PB6 or PB7, right?

Quote
Pull up resistors of 1-4.7K Ohm on both Data and Clock line are strongly recommended, without them it won't work in some cases.
Pull up resistors between both Data and Clock to ground or to VCC? AFAIK to VCC, but I want to be sure...!
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 18 March 2021, 19:19:30
same. But use PB7 for compatibility to Soarer's firmware if possible.

VCC, of course. But you can try without pull-up's first if you are not sure about what they are.
Title: Re: TMK IBM PC Keyboard Converter
Post by: Fritz the German on Sat, 03 April 2021, 06:02:46
Hello,
thanks for the info. My converter works now with my Siemens S26381-K257-L120 (rubber dome) PS/2 keyboard.
[attach=1]
hid_listen:
Listening:


TMK:93e9ee22+/LUFA


USB configured.

Keyboard start.
I166 X668 rAA W669 R1170 wF2 rFA rAB r83 ID:AB83(2)
S1175 wED rFA w00 rFA L1182


And I was able to confirm that the F1 - F10 keys on the left side give the same codes - r05   r06   r04   r0C   r03   r0B   r83   r0A   r01   r09 - as F1 - F10 on the top.
Title: Re: TMK IBM PC Keyboard Converter
Post by: Fritz the German on Sat, 03 April 2021, 13:34:43
Hallo,
any idea about the best way to check the signal of the On/Off button from my Siemens PS/2 keyboard?

[attach=1]

Or do I simply have to enable something in the software?
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 03 April 2021, 20:29:06
Thanks for your report.
Intereting layout...
Special keys on the top portion like CH.CODE, MODE, DRUCK and HELP send their own scan code?
And I wonder how you type F21-24. Which key is 'Fn' key for them?

If On/Off button doesn't register any scan code, you need to check its hardware and pcb trace with case open.
Also searching manual for the keyboard would be helpful to know how the button work.
Title: Re: TMK IBM PC Keyboard Converter
Post by: Fritz the German on Sun, 04 April 2021, 11:50:32
Hi,
here are the codes for the second row from the top, together with the corresponding Set-2 translations since the rest of the keyboard is also compatible to set 2.

ESC  markier
/CH.CODE  Blind  druck 1
/MODE  druck 2/
DRUCK  Blind  Zeichen 
 WORT  Zeile  Blind  Zeichen  Daten
/WORT   Zeile  Blind  |>/
HELP  </
START  ^/
END 
DRUCK           K1/
ROLL      K2/
PAUSE     skip/
K3  lö.Bild/
rs.Anz./
NumL  Blind
r76  r08              r0F    r18           r10            r67    rE0+r70  r84   r51    r68    r6F      r50          r64    r6A    r63      r5C      r28   rE0+r12+rE0+r7C r7E          rE1+r14+r77
  r20      r77                   r17
Esc  ??               ??     ??            ??             ??     Insert   ??    ??     ??     ??       ??           ??     ??     ??       ??       ??    Print Screen    Scroll Lock  Pause Break  ??       Num Lock              ??

Every key on the board gives a scan code; even under the blind keys are rubber domes and corresponding "switches" on the pcb that give scan codes.
The sole exception are the two blind keys directly under the power LED and the power button. There are rubber domes under them but no pcb-"switches".

The positioning of the Windows keys in the cursor block is very peculiar.

The scan codes of the bottom row rubber domes are:

CTRL       Blind  ALT       Spacebar  Compose/Alt Gr  <|/CTRL     Send/Menu
r14        r27    r11       r29       rE0+r11         rE0+r14     rE0+r14
Left Ctrl  ??     Left Alt  Spacebar  Right Alt       Right Ctrl  Right Ctrl

The Send/Menu key has double height and is over two rubber domes, but activates only one of them, the upper, and gives the scan code r48 - there is no translation for that in set 2.


I tried to trace the plastic pcb track from zur On/Off button but without success. And I wasn't able to check out the corresponding PS/2 pins - in need a smaller set of alligator clips for my multimeter.


Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 04 April 2021, 22:59:19
Thanks for the detailed info!

You can remap the keys with Keymap Editor somehow, see this wiki entry.
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#siemens-s26381-k257-l120

My wild guess was that the on/off button may be connected to unused pin of PS/2 connector and that function is specific to Siemens computer anyway. Apple ADB keyboard has similar function like that, btw.
Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Fri, 07 May 2021, 10:57:03
Hey Hasu :)
Finally got some time to test and get debug info on all my AT/XT boards in addition to the few I mentioned in our earlier emails.

Heath Computer Systems early Z150 XT
Code: [Select]
Hang on init
----------
Keyboard start.
I216 A3217 wFF
ERR:12 ISR:0000 X3721
----------

Error after ID detect
----------
Keyboard start.
I216 rAA AA566
PRT:22 ISR:AAC0 r58 W567 r57 W568 wF2 R571
ID:FFFF(XT)
ERR:13 ISR:57C0 S572 L572 r55 r1C r53 r52 r51 r50 r4F r4E r4D
ERR:F0 ISR:FFC0 !FF! rFF
[OVR] r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01
----------

----------
Keyboard start.
I219
PRT:22 ISR:F2C0 rF2 r58 r57 r56 r55 r1C r53 r52 r51 r50 r4F r4E r4D
ERR:F0 ISR:FFC0 !FF! rFF r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 A3220 wFF
ERR:11 ISR:01C0 X3934 rAA W4571 r58 W4572 r57 W4573 wF2 R4576
ID:FFFF(XT)
ERR:20 ISR:C000 S4577 L4577 e20
ERR:80 ISR:5560 [RST] I4578
PRT:22 ISR:0000 rC7
PRT:10 ISR:9550 r55 r8D
PRT:21 ISR:50A0 r50
PRT:22 ISR:4FC0 r4F r4E r4D
ERR:F0 ISR:FFC0 !FF! rFF r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01 r01
----------


Successful starts
----------
Keyboard start.
I217 A3219 wFF
ERR:11 ISR:0000 X3933
PRT:22 ISR:AAC0 rAA W4052 wF2 R4765
ID:FFFF(XT)
ERR:11 ISR:0000 S4766 L4766 r39 rB9 r39 rB9 r39
----------

----------
Keyboard start.
I221 A3223 wFF
ERR:11 ISR:0000 X3937
PRT:22 ISR:AAC0 rAA W4056 wF2 R4769
ID:FFFF(XT)
ERR:11 ISR:0000 S4770 L4770 r4B rCB r4B rCB r4C rCC r4C rCC r4D rCD r4D rCD r49 rC9 r49 rC9 r48 rC8 r48 rC8 r47 rC7 r47 rC7
----------

Zenith Inteq - Tempest shielded Z150 AT
Code: [Select]
No ID Detected/Starts as XT
----------
Keyboard start.
I215
PRT:11 ISR:6A90 rAA AA349 wF2 R1103
ID:FFFF(XT) S1103 L1103 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29
----------

Forced into AT mode: errors until keys are pressed repeatedly and scan codes start recognizing
----------
Keyboard start.
I223 rAA AA351
PRT:11 ISR:6A90 wF2 R1104
ID:0000(AT_AT84) S1104 wED L1107
ERR:17 ISR:0000 rFA !CS2_INIT!
I1109
PRT:11 ISR:7E90 A4110 wFF rFA rAA W4348 wF2 R5102
ID:0000(AT_AT84) S5102 wED L5315
ERR:11 ISR:0000
PRT:23 ISR:0000 [CHG] I5316
PRT:11 ISR:7E90 rFA rAA AA5553 wF2 R6306
ID:0000(AT_AT84) S6306 wED L6310
ERR:17 ISR:0000 rFA !CS2_INIT!
I6311
PRT:11 ISR:7E90 A9312 wFF rFA rAA W9550 wF2 R10304
ID:0000(AT_AT84) S10304 wED L10308
ERR:17 ISR:0000 rFA !CS2_INIT!
I10309
PRT:11 ISR:0000 A13310 wFF rFA rAA W13549 r29 W13741 rF0 W13808 wF2 r29 R13810
ID:FFFD(AT_Z150) S13811 wED rFA w00 rFA L13816 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29
----------
Keyboard start.
I219
PRT:11 ISR:6A90 rAA AA348 wF2 R1061
ID:FFFD(AT_Z150)
ERR:11 ISR:0000
PRT:23 ISR:0000 S1062 wED L1065 e20
ERR:20 ISR:F480 [RST]
PRT:21 ISR:0000 I1067
PRT:21 ISR:0000 r7E A4068 wFF
ERR:17 ISR:0000 X4573
PRT:11 ISR:7E90 rFA W4574 rAA W4810 r29 W4822 wF2 rF0 R4897
ID:FFFD(AT_Z150) S4898 wED rFA w00 rFA L4902 r29 r29 rF0 r29
----------

Pressing multiple lock keys at once induces errors, can also recorrect by pressing other keys
----------
rF0 r29 r29 rF0 r29 r77 wED rFA w02 rFA rF0 r77 r7E wED rFA w03 rFA rF0 r7E r58 wED rFA w07 rFA rF0 r58 r77 wED
ERR:11 ISR:5DD0
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I35779
PRT:11 ISR:7E90 rFA rAA AA36011 wF2 R36765
ID:0000(AT_AT84) S36765 wED L36769
ERR:17 ISR:0000 rFA !CS2_INIT!
I36770
PRT:11 ISR:0000 A39771 wFF rFA rAA W40010 wF2 R40763
ID:0000(AT_AT84) S40763 wED L40767
ERR:17 ISR:0000 rFA !CS2_INIT!
I40768
PRT:11 ISR:0000 A43769 wFF rFA rAA W44008 wF2 R44761
ID:0000(AT_AT84) S44761 wED L44765
ERR:17 ISR:0000 rFA !CS2_INIT!
I44766
PRT:11 ISR:0000 A47767 wFF rFA rAA W48006 r29 W48390 rF0 W48463 wF2 r29 R48465
ID:FFFD(AT_Z150) S48466 wED rFA w05 rFA L48471 r29 rF0 r29 r29 rF0 r29 r29
----------


BTC-5161 - Early BTC5339 variant - AT/XT auto detection issues
Code: [Select]
Keyboard start.
I217 A3219 wFF
ERR:11 ISR:0000 X3933
Device disconnected.
Waiting for new device:....................
Listening:
1014 rAA !CS2_INIT!
I1015
PRT:10 ISR:AA90 rAA AA1016 rAA W1017 rAA W1018 wF2 rAA R1020
ID:FFFE(AT_????) S1021 wED rAA L1023 rAA !CS2_INIT!
I1024
PRT:10 ISR:AA90 rAA AA1025 rAA W1026 rAA W1027 wF2 rAA R1029
ID:FFFE(AT_????) S1030 wED rAA L1033 rAA !CS2_INIT!
I1034
PRT:10 ISR:AA90 rAA AA1035 rAA W1035 rAA W1036 wF2 rAA R1039
ID:FFFE(AT_????) S1039 wED rAA L1042 rAA !CS2_INIT!
I1043
PRT:10 ISR:AA90 rAA AA1044 rAA W1045 rAA W1046 wF2 rAA R1048
ID:FFFE(AT_????) S1049 wED rAA L1051 rAA !CS2_INIT!
I1052
PRT:10 ISR:AA90 rAA AA1053 rAA W1054 rAA W1055 wF2 rAA R1058
ID:FFFE(AT_????) S1058 wED rAA L1061 rAA !CS2_INIT!
I1062
PRT:10 ISR:AA90 rAA AA1063 rAA W1064 rAA W1065 wF2 rAA R1067
ID:FFFE(AT_????) S1068 wED rAA L1070 rAA !CS2_INIT!
I1071
PRT:10 ISR:AA90 rAA AA1072 rAA W1073 rAA W1074 wF2 rAA R1076
ID:FFFE(AT_????) S1077 wED rAA L1080 rAA !CS2_INIT!
I1081
PRT:10 ISR:AA90 rAA AA1082 rAA W1082 rAA W1083 wF2 rAA R1086
ID:FFFE(AT_????) S1086 wED rAA L1089 rAA !CS2_INIT!
I1090
PRT:10 ISR:AA90 rAA AA1091 rAA W1092 rAA W1093 wF2 rAA R1095
ID:FFFE(AT_????) S1096 wED rAA L1098 rAA !CS2_INIT!
I1099
PRT:10 ISR:AA90 rAA AA1100 rAA W1101 rAA W1102 wF2 rAA R1105
ID:FFFE(AT_????) S1105 wED rAA L1108 rAA !CS2_INIT!
I1109
PRT:10 ISR:AA90 rAA AA1110 rAA W1111 rAA W1111 wF2 rAA R1114
ID:FFFE(AT_????) S1115 wED rAA L1117 rAA !CS2_INIT!
I1118
PRT:10 ISR:AA90 rAA AA1119 rAA W1120 rAA W1121 wF2 rAA R1123
ID:FFFE(AT_????) S1124 wED rAA L1127 rAA !CS2_INIT!
I1128
PRT:10 ISR:AA90 rAA AA1129 rAA W1129 rAA W1130 wF2 rAA R1133
ID:FFFE(AT_????) S1133 wED rAA L1136 rAA !CS2_INIT!
I1137
PRT:10 ISR:AA90 rAA AA1138 rAA W1139 rAA W1140 wF2 rAA R1142
ID:FFFE(AT_????) S1143 wED rAA L1146 rAA !CS2_INIT!
I1147
PRT:10 ISR:AA90 rAA AA1148 rAA W1148 rAA W1149 wF2 rAA R1152
ID:FFFE(AT_????) S1153 wED rAA L1155 rAA !CS2_INIT!
I1156
PRT:10 ISR:AA90 rAA AA1157 rAA W1158 rAA W1159 wF2 rAA R1161
ID:FFFE(AT_????) S1162 wED rAA L1164 rAA !CS2_INIT!
I1166
PRT:10 ISR:AA90 rAA AA1166 rAA W1167 rAA W1168 wF2 rAA R1171
ID:FFFE(AT_????) S1171 wED rAA L1174 rAA !CS2_INIT!
I1175
PRT:10 ISR:AA90 rAA AA1176 rAA W1177 rAA W1178 wF2 rAA R1180
ID:FFFE(AT_????) S1181 wED rAA L1183 rAA !CS2_INIT!
I1184
PRT:10 ISR:AA90 rAA AA1185 rAA W1186 rAA W1187 wF2 rAA R1189
ID:FFFE(AT_????) S1190 wED rAA L1193 rAA !CS2_INIT!
I1194
PRT:10 ISR:AA90 rAA AA1195 rAA W1195 rAA W1196 wF2 rAA R1199
ID:FFFE(AT_????) S1200 wED rAA L1202 rAA !CS2_INIT!
I1203
PRT:10 ISR:AA90 rAA AA1204 rAA W1205 rAA W1206 wF2 rAA R1208
ID:FFFE(AT_????) S1209 wED rAA L1211 rAA !CS2_INIT!
I1213
PRT:10 ISR:AA90 rAA AA1213 rAA W1214 rAA W1215 wF2 rAA R1218
ID:FFFE(AT_????) S1218 wED rAA L1221 rAA !CS2_INIT!
I1222
PRT:10 ISR:AA90 rAA AA1223 rAA W1224 rAA W1225 wF2 rAA R1227
ID:FFFE(AT_????) S1228 wED rAA L1230 rAA !CS2_INIT!
I1231
PRT:10 ISR:AA90 rAA AA1232 rAA W1233 rAA W1234 wF2 rAA R1237
ID:FFFE(AT_????) S1237 wED rAA L1240 rAA !CS2_INIT!
I1241
PRT:10 ISR:AA90 rAA AA1242 rAA W1243 rAA W1243 wF2 rAA R1246
ID:FFFE(AT_????) S1247 wED rAA L1249 rAA !CS2_INIT!
I1250
PRT:10 ISR:AA90 rAA AA1251 rAA W1252 rAA W1253 wF2 rAA R1255
ID:FFFE(AT_????) S1256 wED rAA L1259 rAA !CS2_INIT!
I1260
PRT:10 ISR:AA90 rAA AA1261 rAA W1261 rAA W1262 wF2 rAA R1265
ID:FFFE(AT_????) S1265 wED rAA L1268 rAA !CS2_INIT!
I1269
PRT:10 ISR:AA90 rAA AA1270 rAA W1271 rAA W1272 wF2 rAA R1274
ID:FFFE(AT_????) S1275 wED rAA L1277 rAA !CS2_INIT!
I1278
PRT:10 ISR:AA90 rAA AA1279 rAA W1280 rAA W1281 wF2 rAA R1284
ID:FFFE(AT_????) S1284 wED rAA L1287 rAA !CS2_INIT!
I1288
PRT:10 ISR:AA90 rAA AA1289 rAA W1290 rAA W1290 wF2 rAA R1293
ID:FFFE(AT_????) S1294 wED rAA L1296 rAA !CS2_INIT!
I1297
PRT:10 ISR:AA90 rAA AA1298 rAA W1299 rAA W1300 wF2 rAA R1302
ID:FFFE(AT_????) S1303 wED rAA L1306 rAA !CS2_INIT!
I1307
PRT:10 ISR:AA90 rAA AA1308 rAA W1308 rAA W1309 wF2 rAA R1312
ID:FFFE(AT_????) S1312 wED rAA L1315 rAA !CS2_INIT!
I1316
PRT:10 ISR:AA90 rAA AA1317 rAA W1318 rAA W1319 wF2 rAA R1321
ID:FFFE(AT_????) S1322 wED rAA L1324 rAA !CS2_INIT!
I1326
PRT:10 ISR:AA90 rAA AA1326 rAA W1327 rAA W1328 wF2 rAA R1331
ID:FFFE(AT_????) S1331 wED rAA L1334 rAA !CS2_INIT!
I1335
PRT:10 ISR:AA90 rAA AA1336 rAA W1337 rAA W1337 wF2 rAA R1340
ID:FFFE(AT_????) S1341 wED rAA L1343 rAA !CS2_INIT!
I1344
PRT:10 ISR:AA90 rAA AA1345 rAA W1346 rAA W1347 wF2 rAA R1349
ID:FFFE(AT_????) S1350 wED rAA L1353 rAA !CS2_INIT!
I1354
PRT:10 ISR:AA90 rAA AA1355 rAA W1355 rAA W1356 wF2 rAA R1359
ID:FFFE(AT_????) S1359 wED rAA L1362 rAA !CS2_INIT!
I1363
PRT:10 ISR:AA90 rAA AA1364 rAA W1365 rAA W1366 wF2 rAA R1368
ID:FFFE(AT_????) S1369 wED rAA L1371 rAA !CS2_INIT!
I1373
PRT:10 ISR:AA90 rAA AA1373 rAA W1374 rAA W1375 wF2 rAA R1378
ID:FFFE(AT_????) S1378 wED rAA L1381 rAA !CS2_INIT!
I1382
PRT:10 ISR:AA90 rAA AA1383 rAA W1384 rAA W1384 wF2 rAA R1387
ID:FFFE(AT_????) S1388 wED rAA L1390 rAA !CS2_INIT!
I1391
PRT:10 ISR:AA90 rAA AA1392 rAA W1393 rAA W1394 wF2 rAA R1397
ID:FFFE(AT_????) S1397 wED rAA L1400 rAA !CS2_INIT!
I1401
PRT:10 ISR:AA90 rAA AA1402 rAA W1403 rAA W1403 wF2 rAA R1406
ID:FFFE(AT_????) S1407 wED rAA L1409 rAA !CS2_INIT!
I1410
PRT:10 ISR:AA90 rAA AA1411 rAA W1412 rAA W1413 wF2 rAA R1415
ID:FFFE(AT_????) S1416 wED rAA L1418 rAA !CS2_INIT!
I1420
PRT:10 ISR:AA90 rAA AA1421 rAA W1421 rAA W1422 wF2 rAA R1425
ID:FFFE(AT_????) S1425 wED rAA L1428 rAA !CS2_INIT!
I1429
PRT:10 ISR:AA90 rAA AA1430 rAA W1431 rAA W1432 wF2 rAA R1434
ID:FFFE(AT_????) S1435 wED rAA L1437 rAA !CS2_INIT!
I1439
PRT:10 ISR:AA90 rAA AA1439 rAA W1440 rAA W1441 wF2 rAA R1444
ID:FFFE(AT_????) S1444 wED rAA L1447 rAA !CS2_INIT!
I1448
PRT:10 ISR:AA90 rAA AA1449 rAA W1450 rAA W1451 wF2 rAA R1453
ID:FFFE(AT_????) S1454 wED rAA L1456 rAA !CS2_INIT!
I1457
PRT:10 ISR:AA90 rAA AA1458 rAA W1459 rAA W1460 wF2 rAA R1462
ID:FFFE(AT_????) S1463 wED rAA L1466 rAA !CS2_INIT!
I1467
PRT:10 ISR:AA90 rAA AA1468 rAA W1468 rAA W1469 wF2 rAA R1472
ID:FFFE(AT_????) S1473 wED rAA L1475 rAA !CS2_INIT!
I1476
PRT:10 ISR:AA90 rAA AA1477 rAA W1478 rAA W1479 wF2 rAA R1481
ID:FFFE(AT_????) S1482 wED rAA L1484 rAA !CS2_INIT!
I1486
PRT:10 ISR:AA90 rAA AA1486 rAA W1487 rAA W1488 wF2 rAA R1491
ID:FFFE(AT_????) S1491 wED rAA L1494 rAA !CS2_INIT!
I1495
PRT:10 ISR:AA90 rAA AA1496 rAA W1497 rAA W1498 wF2 rAA R1500
ID:FFFE(AT_????) S1501 wED rAA L1503 rAA !CS2_INIT!
I1504
PRT:10 ISR:AA90 rAA AA1505 rAA W1506 rAA W1507 wF2 rAA R1510
ID:FFFE(AT_????) S1510 wED rAA L1513 rAA !CS2_INIT!
I1514
PRT:10 ISR:AA90 rAA AA1515 rAA W1516 rAA W1516 wF2 rAA R1519
ID:FFFE(AT_????) S1520 wED rAA L1522 rAA !CS2_INIT!
I1523
PRT:10 ISR:AA90 rAA AA1524 rAA W1525 rAA W1526 wF2 rAA R1528
ID:FFFE(AT_????) S1529 wED rAA L1531 rAA !CS2_INIT!
I1533
PRT:10 ISR:AA90 rAA AA1533 rAA W1534 rAA W1535 wF2 rAA R1538
ID:FFFE(AT_????) S1538 wED rAA L1541 rAA !CS2_INIT!
I1542
PRT:10 ISR:AA90 rAA AA1543 rAA W1544 rAA W1545 wF2 rAA R1547
ID:FFFE(AT_????) S1548 wED rAA L1550 rAA !CS2_INIT!
I1552
PRT:10 ISR:AA90 rAA AA1552 rAA W1553 rAA W1554 wF2 rAA R1557
ID:FFFE(AT_????) S1557 wED rAA L1560 rAA !CS2_INIT!
I1561
PRT:10 ISR:AA90 rAA AA1562 rAA W1563 rAA W1564 wF2 rAA R1566
ID:FFFE(AT_????) S1567 wED rAA L1569 rAA !CS2_INIT!
I1570
PRT:10 ISR:AA90 rAA AA1571 rAA W1572 rAA W1573 wF2 rAA R1575
ID:FFFE(AT_????) S1576 wED rAA L1578 rAA !CS2_INIT!
I1580
PRT:10 ISR:AA90 rAA AA1581 rAA W1581 rAA W1582 wF2 rAA R1585
ID:FFFE(AT_????) S1585 wED rAA L1588 rAA !CS2_INIT!
I1589
PRT:10 ISR:AA90 rAA AA1590 rAA W1591 rAA W1592 wF2 rAA R1594
ID:FFFE(AT_????) S1595 wED rAA L1597 rAA !CS2_INIT!
I1599


Sanyo N860 XT - MBC-885 for XT??
Code: [Select]
Keyboard start.

PRT:21 ISR:AAA0 I219
PRT:21 ISR:0000 rAA AA220 wF2 R723
ID:0000(AT_AT84)
ERR:13 ISR:0000 S724 wED L769
ERR:17 ISR:0000
ERR:20 ISR:F000 [RST] I813
PRT:21 ISR:0000 rAA AA814 wF2 R1317
ID:0000(AT_AT84)
ERR:12 ISR:0000 S1318 wED L1322
ERR:17 ISR:0000
PRT:21 ISR:AAA0 rAA !CS2_INIT!
I1366
PRT:21 ISR:0000 A4368 wFF
ERR:17 ISR:0000 X4873 rAA W4917 wF2 R5420
ID:0000(AT_AT84)
ERR:13 ISR:AAA0 S5421 wED L5466
ERR:17 ISR:0000
ERR:20 ISR:F000 [RST] I5510
PRT:22 ISR:AAC0 rAA AA5511 wF2 R6015
ID:0000(AT_AT84)
ERR:13 ISR:0000 S6016 wED L6061
ERR:17 ISR:0000
ERR:20 ISR:F000 [RST] I6105
PRT:22 ISR:AAC0 rAA AA6106


AT/XT switchable boards do not work in XT mode
Seems like all the same issue with ID 0000

C260 Enhanced Keyboard (Deyi foam and foil)
Code: [Select]
Keyboard start.
I220
PRT:22 ISR:43C0 r43 rC3 A3221 wFF
ERR:11 ISR:C3C0 X3935 rAA W3935 wF2 R4648
ID:0000(AT_AT84)
ERR:11 ISR:AAC0 S4649 wED L4861
ERR:11 ISR:0000 r21 rA1 !CS2_INIT!
I7346
PRT:22 ISR:A1C0 r21 rA1 r20 rA0 r20 rA0

Northgate Omnikey 101
Code: [Select]
Keyboard start.
I220 A3221 wFF
ERR:11 ISR:0000 X3935
PRT:21 ISR:AAA0 rAA W3936 wF2 R4650
ID:0000(AT_AT84)
ERR:11 ISR:0000 S4651 wED L4863
ERR:11 ISR:0000 r4B rCB !CS2_INIT!
I9271
PRT:21 ISR:CBA0 r4C rCC

RT-101+ AQ659ZRT-725M
Code: [Select]
Keyboard start.
I236 A3237 wFF
ERR:11 ISR:0000 X3951
PRT:21 ISR:AAA0 rAA W3956 wF2 R4669
ID:0000(AT_AT84)
ERR:11 ISR:0000 S4670 wED L4882
ERR:11 ISR:0000 r4F rCF !CS2_INIT!
I8979
PRT:21 ISR:CFA0 r50 rD0 r51 rD1 r4B rCB r4C rCC r4D rCD r4B rCB r4C rCC r4D rCD A11980 wFF
ERR:11 ISR:CDA0 X12694 rAA W12698

Zenith ZKB-2
Code: [Select]
Keyboard start.
I217
ERR:20 ISR:4000 e20 A3218 wFF
ERR:11 ISR:0000 X3932
PRT:22 ISR:EAC0 rEA W4187 wF2 R4900
ID:0000(AT_AT84)
ERR:11 ISR:0000 S4901 wED L5113
ERR:11 ISR:0000 r4B rCB !CS2_INIT!
I7160
PRT:22 ISR:CBC0 r4B rCB r4C rCC


Let me know if there is any additional debugging I can help with :)
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 07 May 2021, 20:24:59
RonnocDa,
Thanks for your report.

Too many errors :D It is what I don't expect with this converter.
Is there any keyboard works well with your converter?

I'd suspect your converter hardware or invalid firmware, first.

What does your converter look like? Posting pics would be helpful especially if it is DIY one.
And let me know how did you get the firmwware and its version. downloaded from Keympa Editor or buit from source yourself?

Firmware version is displayed on the top of debug outputs like this: TMK:a93677cb/LUFA


Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Fri, 07 May 2021, 22:49:38
Hasu,
Having lots of strange keyboards can cause lots of errors :D

I have 10+ keyboards which function perfectly with the converter I'm using here, including all the mentioned AT/XT switchable ones when used in AT mode

It is a reflashed tinkerboy ps/2 adapter which uses the standard pin assignment for soarers converter on an atmega32u4
Looking at it again just now, it does not have Reset wired which may be responsible for the issues with the Z150 XT, but probably not any of the other issues.
I can always wire a breadboard up if we need to eliminate that as a source of problems ;)

Firmware was built myself from the ibmpc_z150at_fix4 branch TMK:8f86d125+/LUFA
No changes except to force the Z150 AT into AT detection by modifying ibmpc_usb.c:68
if (code == -1) { id = 0xFFFF; goto DONE; }  -->  if (code == -1) { id = 0x0000; goto DONE; }

Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Fri, 07 May 2021, 23:21:35
OK. The "tinkerboy ps/2 adapter" doesn't have RESET pin as you said, some XT keyboards that require reset signal doesn't work.
Conveter without RESET pin is not good to test  with "strange" XT keyboards unfortunately. They won't work at all without RESET pin possibly.

Can you list name or model number of  the "10+ keyboards which function perfectly" with TMK IBMPC firmware? It would be appriciated and I like to add them to the list in the first post.

Firmware you are using seems to be rather old for some reason.  "TMK:8f86d125+/LUFA" indicates you are basing on a year old codes(2020-03-22).

Just use the prebuilt latest fimrware to test instead, you can download it here and it should suit for Soarer's pin compatible converters.
http://www.tmk-kbd.com/tmk_keyboard/editor/unimap/?ibmpc_usb_32u4


Just curious, how do you place the "tinkerboy ps/2 adapter" into flash/program/bootloader mode? It doesn't seems to have flash/program button.


Anyway, could you try the prebuilt latest firmware with "Z150 AT" and "Northgate Omnikey 101"? It should show "TMK:e473e8ce/LUFA" as version info on hid_listen.
Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Sat, 08 May 2021, 00:07:04
I'll do one better and quickly set up a breadboard with Reset wired in.

Here's a list of the keyboards which are working perfectly
RT8255c+
RT-101+
C260 Enhanced Keyboard (Deyi foam and foil)
Northgate Omnikey 101
Zenith ZKB-2
BTC5339
APC-H410E
IBM 5576-001 (except keys outside range of ps/2)
Toshiba JIS AT101 (rear metal label very helpfully reads キーボード and serial number only  :) )
Dell AT101 - GYI3PVAT101 (old logo)
Wang 724
Unicomp Model M
IBM P70 Keyboard
Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Sat, 08 May 2021, 03:45:00
Flashing to the tinkerboy is pretty easy, just need to ground the reset pin which is clearly marked on the pcb, after that it's just DFU.
To get to the reset pin you need to remove the casement which is two plastic shells held together with a few friction pins.
Comes apart and goes back together with no damaging or signs of entry :)
(https://i.imgur.com/rXxrBvD.jpg)

Reset pin resolves all the XT related issues so we can add these to the list of working boards
Z150 XT - Part Number: 92-803
BTC-5161 - Part number: BTC5339 (Not to be confused with BTC-53 series keyboards)
Sanyo N860-2905


Curious as to why the Reset was needed on the AT/XT switchable boards in XT mode, seems like they were outputting XT scancodes but not being detected as XT?
The Sanyo board also functioned with a Soarers converter without Reset pin somehow, maybe just lucky?


The Z150 AT is now correctly detected as AT and hid_listen shows scan codes which appear to be correct for the keys being pressed, but nothings makes it to the system.
Internal beeper is working properly including with repeat/disable.
Lock lights will change with the system, but do not initialize to the right state.
Code: [Select]
TMK:e473e8ce/LUFA


USB configured.

Keyboard start.
I381 wFF rFA A1385
PRT:11 ISR:7E90 rAA W1621 R2122
ID:FFFD(AT_Z150) S2122 L2122 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r77 rF0 r77 r7E rF0 r7E r58 rF0 r58
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 08 May 2021, 04:43:29
Flashing to the tinkerboy is pretty easy, just need to ground the reset pin which is clearly marked on the pcb, after that it's just DFU.
To get to the reset pin you need to remove the casement which is two plastic shells held together with a few friction pins.
Comes apart and goes back together with no damaging or signs of entry :)
Good to know, thanks for the info.



Quote
Reset pin resolves all the XT related issues so we can add these to the list of working boards
Z150 XT - Part Number: 92-803
BTC-5161 - Part number: BTC5339 (Not to be confused with BTC-53 series keyboards)
Sanyo N860-2905


Curious as to why the Reset was needed on the AT/XT switchable boards in XT mode, seems like they were outputting XT scancodes but not being detected as XT?
The Sanyo board also functioned with a Soarers converter without Reset pin somehow, maybe just lucky?

I guess the latest firmware resolves XT issues, not RESET pin.(except for Z150 XT, which really requires RESET pin.)

With seeing debug logs your change seemed to prevent detecting XT protocol. (though, BTC-5161 log is different from others and indicates weird behaviour, it may have different cause.)

I also think AT/XT switchable keyboards don't use RESET pin probably, as you says. Did you try the switchable keyboards without RESET pin and the prebuilt firmware?




Quote
The Z150 AT is now correctly detected as AT and hid_listen shows scan codes which appear to be correct for the keys being pressed, but nothings makes it to the system.
Internal beeper is working properly including with repeat/disable.
Lock lights will change with the system, but do not initialize to the right state.
Code: [Select]
TMK:e473e8ce/LUFA


USB configured.

Keyboard start.
I381 wFF rFA A1385
PRT:11 ISR:7E90 rAA W1621 R2122
ID:FFFD(AT_Z150) S2122 L2122 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r77 rF0 r77 r7E rF0 r7E r58 rF0 r58


It is good indication, I think we are on the right track somehow.
I'll look into the issue not registered keys.

Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Sat, 08 May 2021, 06:14:52
That change to XT detection was only used for the one test on the Z150 AT, so not relevant to the other logs.
Though it does seem that you are correct, the updated firmware is what fixed things and not the reset pin.

For AT/XT switchable and the Sanyo ID:0000 from the old firmware is the same as I see in Soarers converter, but Soarers does switch to XT protocol in that case.

The BTC-5161 probably just needed the same XT issues resolved. I think the auto switching it does is pretty naive, I've seen at least one person complaining about it having issues on actual XT machines.

Z150 XT definitely works perfect with the reset pin, however it does work without it with a few attempts, any ideas on why that would be?
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 08 May 2021, 07:50:33
That change to XT detection was only used for the one test on the Z150 AT, so not relevant to the other logs.
Though it does seem that you are correct, the updated firmware is what fixed things and not the reset pin.

For AT/XT switchable and the Sanyo ID:0000 from the old firmware is the same as I see in Soarers converter, but Soarers does switch to XT protocol in that case.
XT keyboards actually doesn't have any "Keyboard ID" and can't reply to command 'F2'(Read ID). So ID of XT keyboard is virtual and dependent on converter implementation.

https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#commands-from-the-system
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#keyboard-id

TMK assigns 'FFFF' for XT keyboards while Soarer's uses '0000'. And with TMK firmware ID '0000' is also virtual and used for IBM 84-key AT keyboard,  another virtual ID is 'FFFD' for Zenith Z-150 AT.
Except for these special cases it shows real 16-bit value replied from AT('AB**') and Terminal keyboards('BF**').
https://github.com/tmk/tmk_keyboard/blob/master/converter/ibmpc_usb/ibmpc_usb.c#L53-L83





Quote
The BTC-5161 probably just needed the same XT issues resolved. I think the auto switching it does is pretty naive, I've seen at least one person complaining about it having issues on actual XT machines.
Wow, I didn't know auto-switching AT/XT keyboards really existed in the market. Interesting. I don't understand how they actually auto-detect keyboard protocol, but guess  they can conflict with converter's auto-detect mechanism.

Can you post debug log of the keyboard? I like to check how it starts up with this converter.


Quote
Z150 XT definitely works perfect with the reset pin, however it does work without it with a few attempts, any ideas on why that would be?
Zenith Z150 XT(also IBM XT Type-1, Leading Edge DC-2014 and some other XT clones) really needs a pulse on RESET pin to start its microcontroller up correctly.
The RESET pin of connector is actually connectecd to RESET pin of the microcontroller on the keyboards.

I guess old microcontrollers are likely to be unstable on state of its RESET pin and internals when the pin is floating on pwerup and this makes microcontroller start normally sometimes.
Or I don't know but if the microcontroller may have BOR or other internal reset mechanisms and one of them may be triggered by intermittent power cycles.



Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 08 May 2021, 08:18:09
Quote
The Z150 AT is now correctly detected as AT and hid_listen shows scan codes which appear to be correct for the keys being pressed, but nothings makes it to the system.
Internal beeper is working properly including with repeat/disable.
Lock lights will change with the system, but do not initialize to the right state.
Code: [Select]
TMK:e473e8ce/LUFA


USB configured.

Keyboard start.
I381 wFF rFA A1385
PRT:11 ISR:7E90 rAA W1621 R2122
ID:FFFD(AT_Z150) S2122 L2122 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r77 rF0 r77 r7E rF0 r7E r58 rF0 r58


It is good indication, I think we are on the right track somehow.
I'll look into the issue not registered keys.



Can you try this firmware with your Z150 AT?

[attachurl=1]

This should register keys normally on computer.
And can you post its debug log with pressing lock keys some times like you did on previous post?
Please include 'firmware version' string in debug log for future reference.


This doesn't fix lock indicator state at startup, though. This will be fixed later.
Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Sun, 09 May 2021, 04:09:46
Log of the BTC-5161 starting up
Code: [Select]
TMK:e473e8ce/LUFA


USB configured.

Keyboard start.

ERR:40 ISR:AA90
PRT:10 ISR:0000 I312
PRT:10 ISR:0000 wFF rFA A1316 rAA W1380 wF2 b:FAAB rFA rAB r83 R1887
ID:AB83(AT) S1887 wED rFA w00 rFA L1897

It has the same errors as before on the firmware you just sent to test Z150 AT
Code: [Select]
TMK:a33e8a96/LUFA


USB configured.

Keyboard start.
I225 A3226 wFF
ERR:11 ISR:0000 X3940
Device disconnected.
Waiting for new device:..........
Listening:
FFE(AT_????) S792 wED rAA L795 rAA !CS2_INIT!
I796
PRT:10 ISR:AA90 rAA AA797 rAA W798 rAA W798 wF2 rAA R801
ID:FFFE(AT_????) S802 wED rAA L804 rAA !CS2_INIT!
I805
PRT:10 ISR:AA90 rAA AA806 rAA W807 rAA W808 wF2 rAA R810
ID:FFFE(AT_????) S811 wED rAA L813 rAA !CS2_INIT!
I814
PRT:10 ISR:AA90 rAA AA815 rAA W816 rAA W817 wF2 rAA R820
ID:FFFE(AT_????) S820 wED rAA L823 rAA !CS2_INIT!
I824
PRT:10 ISR:AA90 rAA AA825 rAA W826 rAA W826 wF2 rAA R829
ID:FFFE(AT_????) S830 wED rAA L832 rAA !CS2_INIT!
I833
PRT:10 ISR:AA90 rAA AA834 rAA W835 rAA W836 wF2 rAA R838
ID:FFFE(AT_????) S839 wED rAA L841 rAA !CS2_INIT!
I843
PRT:10 ISR:AA90 rAA AA843 rAA W844 rAA W845 wF2 rAA R848
ID:FFFE(AT_????) S848 wED rAA L851 rAA !CS2_INIT!
I852
PRT:10 ISR:AA90 rAA AA853 rAA W854 rAA W855 wF2 rAA R857
ID:FFFE(AT_????) S858 wED rAA L860 rAA !CS2_INIT!
I861
PRT:10 ISR:AA90 rAA AA862 rAA W863 rAA W864 wF2 rAA R866
ID:FFFE(AT_????) S867 wED rAA L869 rAA !CS2_INIT!
I870
PRT:10 ISR:AA90 rAA AA871 rAA W872 rAA W873 wF2 rAA R876
ID:FFFE(AT_????) S876 wED rAA L879 rAA !CS2_INIT!
I880
PRT:10 ISR:AA90 rAA AA881 rAA W881 rAA W882 wF2 rAA R885

For comparison here's a log of it starting with a Soarers
Code: [Select]
Listening:
R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R04 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R04 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 R07 wEE R07 R107wF2 R07 R107

remaining: FFFC


Keyboard ID: 0000
Code Set: 2 (extended)
Mode: AT/PS2

R07 wFE R07 wFE rAA wED rFA w00 rFA


I believe AT/XT auto switching was at least somewhat common during the time when PC(XT) and AT coexisted before the introduction of ps/2.
I've heard of similar functionality in Compaq Enhanced II keyboard, FKB4700 N860-4709-T101, Maxi Switch 2189, as well as some early versions of Model M though I can't confirm anything personally for those keyboards.


Z150 AT is registering keys properly now and lock lights do not init correctly as you noted but do update correctly.

Code: [Select]
Num and scroll lock pressed at the same time
----------
TMK:a33e8a96/LUFA


USB configured.

Keyboard start.
I323
PRT:11 ISR:6A90 rAA AA410 R911
ID:FFFD(AT_Z150) S911 L911 r77 wED
ERR:11 ISR:5DD0 !FF! rFF
[OVR]
ERR:F0 ISR:FFE0 rFA !CS2_INIT!
I5096
PRT:11 ISR:0000 rAA AA5328 R5829
ID:FFFD(AT_Z150) S5829 L5829
----------

Scroll and caps lock pressed at the same time
----------
TMK:a33e8a96/LUFA


USB configured.

Keyboard start.
I306
PRT:11 ISR:6A90 rAA AA409 R910
ID:FFFD(AT_Z150) S910 L910 r7E r58 wED rFA w07 rFA wED
ERR:11 ISR:7E90
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I3201
PRT:11 ISR:0000 rFA rAA AA3433 R3934
ID:FFFD(AT_Z150) S3934 L3934
----------

Rapidly pressing Caps lock
----------
TMK:a33e8a96/LUFA


USB configured.

Keyboard start.
I368
PRT:11 ISR:6A90 rAA AA391 R892
ID:FFFD(AT_Z150) S892 L892 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED
ERR:11 ISR:1610
PRT:23 ISR:0000 [CHG] I4214
PRT:11 ISR:7E90 rFA rAA AA4447 r58 W4479 rF0 W4486 R4486
ID:FFFD(AT_Z150) S4487 L4487 r58 wED rFA w00 rFA
----------

Rapidly pressing scroll lock
----------
TMK:a33e8a96/LUFA


USB configured.

Keyboard start.
I398
PRT:11 ISR:6A90 rAA AA407 R908
ID:FFFD(AT_Z150) S908 L908 r7E wED rFA w00 rFA rF0 r7E r7E wED rFA w01 rFA rF0 r7E r7E wED rFA w00 rFA rF0 r7E r7E wED rFA w01 rFA rF0 r7E r7E wED rFA w00 rFA rF0 r7E r7E wED rFA w01 rFA rF0 r7E r7E wED rFA w00 rFA rF0 r7E r7E wED rFA w01 rFA rF0 r7E r7E wED rFA w00 rFA rF0 r7E r7E wED rFA w01 rFA rF0 r7E r7E wED rFA w00 rFA rF0 r7E r7E wED rFA w01 rFA rF0 r7E r7E wED
ERR:11 ISR:5F90
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I10366
PRT:11 ISR:7E90 rFA rAA AA10599 R11100
ID:FFFD(AT_Z150) S11100 L11101
----------

Rapidly pressing Num lock
----------
TMK:a33e8a96/LUFA


USB configured.

Keyboard start.
I295
PRT:11 ISR:6A90 rAA AA414 R915
ID:FFFD(AT_Z150) S915 L915 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED rFA w00 rFA rF0 r77 r77 wED rFA w02 rFA rF0 r77 r77 wED
ERR:11 ISR:5DD0
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I7207
PRT:11 ISR:0000 rFA rAA AA7440 R7941
ID:FFFD(AT_Z150) S7941 L7942
----------
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 09 May 2021, 09:36:36
I changed keyboard initializing procedure in the latest firmware but BTC-5161 dislikes it.
The BTC-5161 seems to send 'AA' with weird signaling and expect that AT host handles it as parity error while XT reads as 'AA' smiply.
Interesting...

I just changed init procedure again to emulate old firmware, try attached fimrware.


Z150 AT fails to respond 'ED'(LED) comand from converter for some reason.

The attached firmware makes signal timing relaxed more for Z150 AT. Can you check it with pressing lock keys rapidly again?

[attachurl=1]

Thanks

Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Sun, 09 May 2021, 11:12:03
Z150 AT is definitely much harder to cause the errors with pressing rapidly, while multiple at once seems about the same.
Code: [Select]
Rapidly pressing Caps lock
----------
TMK:1d6e2bfb/LUFA


USB configured.

Keyboard start.

PRT:11 ISR:6A90 I415
PRT:11 ISR:0000 A3416 wFF rFA rAA W3656 R4157
ID:FFFD(AT_Z150) S4157 L4157 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED
ERR:11 ISR:1610
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I14265
PRT:11 ISR:7E90
ERR:40 ISR:1610
ERR:40 ISR:1610 A17266 wFF rFA rAA W17506 R18008
ID:FFFD(AT_Z150) S18008 L18009
----------
rFA rF0 r58 r58 wED rFA w02 rFA rF0 r58 r58 wED rFA w06 rFA rF0 r58 r58 wED rFA w02 rFA rF0 r58 r58 wED rFA w06 rFA rF0 r58 r58 wED rFA w02 rFA rF0 r58 r58 wED rFA w06 rFA rF0 r58 r58 wED
ERR:11 ISR:1610 !FF! rFF
[OVR]
ERR:F0 ISR:FFE0 rFA !CS2_INIT!
I25765
PRT:11 ISR:0000
ERR:40 ISR:7C10 A28767 wFF rFA rAA W29007 R29509
ID:FFFD(AT_Z150) S29509 L29510 r58 wED rFA w06 rFA rF0 r58 r77 wED rFA w04 rFA rF0 r77 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA
----------

Num and scroll lock pressed at the same time
----------
TMK:1d6e2bfb/LUFA


USB configured.

Keyboard start.
I368
PRT:11 ISR:6A90 A3369 wFF rFA rAA W3609 R4110
ID:FFFD(AT_Z150) S4110 L4110 r77 wED
ERR:11 ISR:5DD0
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I6719
PRT:11 ISR:7E90 A9720 wFF rFA rAA W9960 R10462
ID:FFFD(AT_Z150) S10462 L10463
----------

Num, scroll, and caps lock pressed all at the same time
----------
TMK:1d6e2bfb/LUFA


USB configured.

Keyboard start.
I312
PRT:11 ISR:6A90 A3313 wFF rFA rAA W3553 R4054
ID:FFFD(AT_Z150) S4054 L4054 r7E wED ISR:2C20 rFA w01 rFA r77 wED rFA w03 rFA rF0 r77 rF0 r7E rF0 r58 r7E wED rFA w02 rFA r77 wED rFA w00 rFA rF0 r58 rF0 r7E rF0 r77 r7E wED rFA w01 rFA r77 wED rFA w03 rFA rF0 r77 rF0 r7E rF0 r58 r7E wED ISR:2C20 rFA w02 rFA r77 wED rFA w00 rFA rF0 r77 rF0 r7E rF0 r58 r7E r77 wED rFA w01 rFA wED rFA w03 rFA rF0 r7E rF0 r77 r77 wED
ERR:11 ISR:5DD0
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I17477
PRT:11 ISR:7E90 A20478 wFF rFA rAA W20718 R21219
ID:FFFD(AT_Z150) S21219 L21220
----------


BTC-5161 works after a few seconds of logging, similar amount of time to Soarers.
Code: [Select]
Listening:

ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90
ERR:40 ISR:AA90 A3230 wFF ISR:5520 rFA rAA W3299 wF2 b:FAAB rFA rAB r83 R3809
ID:AB83(AT) S3810 wED rFA w02 rFA L3821

Resetting the controller without unplugging from USB can give different results, almost always no ERRs before start up, but a few times it had the same as above just with different ISR codes (AA50, A550, or A950).
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 10 May 2021, 02:04:33
Z150 AT is definitely much harder to cause the errors with pressing rapidly, while multiple at once seems about the same.

I changed singal timing again and enabled LED setting at startup for Z150AT now.
I don't still get clear idea on this issue and have to guess unfotunately. Thanks for your patience.


Quote
BTC-5161 works after a few seconds of logging, similar amount of time to Soarers.

Resetting the controller without unplugging from USB can give different results, almost always no ERRs before start up, but a few times it had the same as above just with different ISR codes (AA50, A550, or A950).

The firmware takes 3 secs at most to make keyboard settled at startup, new firmware can reduce this delay probably.

[attachurl=1]
Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Mon, 10 May 2021, 19:39:48
BTC-5161 starts up nicely now, no other issues :)
Code: [Select]
TMK:8ad6bfa2/LUFA


USB configured.

Keyboard start.

ERR:40 ISR:AA90
PRT:10 ISR:0000 I298
PRT:10 ISR:0000 rAA A299 wFF ISR:4000 rFA rAA W370 wF2 b:FAAB rFA rAB r83 R881
ID:AB83(AT) S881 wED rFA w00 rFA L898
Device disconnected.
Waiting for new device:..
Listening:


TMK:8ad6bfa2/LUFA


USB configured.

Keyboard start.

ERR:40 ISR:AA90
PRT:10 ISR:0000 I223
PRT:10 ISR:0000 rAA A224 wFF rFA rAA W295 wF2 b:FAAB rFA rAB r83 R805
ID:AB83(AT) S805 wED rFA w00 rFA L822
Device disconnected.
Waiting for new device:..
Listening:


TMK:8ad6bfa2/LUFA


USB configured.

Keyboard start.

ERR:40 ISR:AA90
PRT:10 ISR:0000 I419
ERR:40 ISR:AA90
PRT:10 ISR:0000 !FULL! rFF A420 wFF rFA rAA W491 wF2 b:FAAB rFA rAB r83 R1001
ID:AB83(AT) S1002 wED rFA w00 rFA L1018

Z150 AT lock lights initialize correctly now.
Bit easier than the last firmware to get the errors from rapid presses, and multiple at once is still the same. Maybe there is more to the issue than just timing?
Code: [Select]
TMK:8ad6bfa2/LUFA


USB configured.

Keyboard start.
I220
PRT:11 ISR:6A90 rAA A407 wFF rFA rAA W650 R1151
ID:FFFD(AT_Z150) S1151 wED rFA w05 rFA L1163 r58 wED rFA w01 rFA rF0 r58 r58 wED
ERR:11 ISR:1610
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I19056
PRT:11 ISR:7E90 rFA A19057 wFF
ERR:11 ISR:0000 X19775 rAA W20204 R20705
ID:FFFD(AT_Z150) S20705 wED rFA w05 rFA L20718 r58 wED rFA w01 rFA rF0 r58 r58 wED
ERR:11 ISR:1610
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I21901
PRT:11 ISR:7E90 rFA A21902 wFF
ERR:11 ISR:0000 X22620 rAA W23049 R23550
ID:FFFD(AT_Z150) S23550 wED rFA w05 rFA L23563 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED rFA w01 rFA rF0 r58 r58 wED rFA w05 rFA rF0 r58 r58 wED
ERR:11 ISR:1610
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I26813
PRT:11 ISR:0000 rFA A26814 wFF
ERR:11 ISR:0000 X27532 rAA W27961 R28462
ID:FFFD(AT_Z150) S28462 wED rFA w01 rFA L28475 r77 wED
ERR:11 ISR:5DD0 !FF! rFF
[OVR]
ERR:F0 ISR:FFE0 rFA !CS2_INIT!
I36585
PRT:11 ISR:0000 rAA A36817 wFF rFA rAA W37059 R37561
ID:FFFD(AT_Z150) S37561 wED rFA w03 rFA L37574 r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED rFA w02 rFA rF0 r7E r7E wED rFA w03 rFA rF0 r7E r7E wED
ERR:11 ISR:5F90
ERR:F0 ISR:FFE0
PRT:23 ISR:0000 [CHG] I59088
PRT:11 ISR:7E90 rFA A59089 wFF
ERR:11 ISR:0000 X59807 rAA W60236 R60737
ID:FFFD(AT_Z150) S60737 wED rFA w02 rFA L60750
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 10 May 2021, 22:38:59
BTC-5161 starts up nicely now, no other issues :)
Great.

I found a document of IBM industrial Computer that describes 'Keyboard Mode Selection', industrial version and some version of Model M are supposed to support both AT/XT as you refered. Also Deskthority wiki has some entries for those keyboards. This is really interesting and new thing I leaned today :D

https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#ps2-mode-1-and-mode-2
https://deskthority.net/wiki/IBM_Enhanced_Keyboard#1390120


Quote
Z150 AT lock lights initialize correctly now.
Bit easier than the last firmware to get the errors from rapid presses, and multiple at once is still the same. Maybe there is more to the issue than just timing?

I may be missing something, will try new code for lock indicators update.
What is your OS btw? Windows or Mac?
Don't other AT keyboards have this issue on your setup?
Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Tue, 11 May 2021, 13:59:44
Quote
What is your OS btw? Windows or Mac?
Primarily testing things on Windows 10, but I can try others if desired.
I have quite a few machines running various Windows and Linux OS, no Macs at the moment though unfortunately.

Quote
Don't other AT keyboards have this issue on your setup?
None of my other AT keyboards have this lock light issue, only the Z150 AT.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 12 May 2021, 06:20:48
Thanks for the info.
I knew but wanted to confirm that this issue is specific to Zenith Z-150 AT and independent of OS.

Some code was enclosed in atomic block to prevent USB interrupt from disturing converter process.
Can you try this when you have time?
[attachurl=1]

I'm almost at my wits end with this and have no more idea to try now.
Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Mon, 17 May 2021, 18:12:23
New firmware doesn't seem to make any difference unfortunately.

However I tested the Z150 AT over native ps/2 in an extremely bare bones linux shell to rule out any OS interactions and found similar lock light weirdness, so I think the issue might be entirely the keyboard's fault.

Over native ps/2 the lock lights will similarly fail to register with rapid presses and causes a reset.
The only difference I see compared to with the converter is that the board does a "softer reset" such that the beeper on/off state is not changed.

Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 19 May 2021, 08:25:41
I checked ROM code of 8042 keyboard controller from old genuine IBM PC/AT and found a few differences on signal handling(Stop bit and ACK) comparing to my firmware. They are suble and undocumented in IBM technical reference but the keyboard may depend on these, I guess.

http://halicery.com/8042/8042_1503033.TXT
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol/_edit#i8042-keyboard-controller-on-host

Just changed my code to imitate original controller behaviour as possible. Hope this change shows a clue or something useful.

[attachurl=1]




Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Fri, 21 May 2021, 05:57:14
Quote
http://halicery.com/8042/8042_1503033.TXT
Very cool!
Perhaps dumping the ROM from the Z150 AT would be a good idea?
The controller mine has is an 8049 so the hardware should be fairly similar at least.

Issue still occurs, rapid pressing seems easier than before (maybe I'm just getting better at causing it :D), while simultaneous is still very consistent.
Code: [Select]
TMK:076fcdbc/LUFA


USB configured.

Keyboard start.
I239
413 PRT:11 ISR:6A90 rAA A413 wFF rFA rAA W652 R1153
ID:FFFD(AT_Z150) S1153 wED rFA w02 rFA L1158 r77 wED
4428 ERR:11 ISR:5DD0
4429 PRT:23 ISR:0000 [CHG] I4430
4430 PRT:11 ISR:7E90 rFA A4431 wFF
4644 ERR:11 ISR:0000 X5145 rAA W5581 R6082
ID:FFFD(AT_Z150) S6082 wED rFA w00 rFA L6087 r7E wED rFA w01 rFA rF0 r7E rF0 r58 r7E r58 wED rFA w00 rFA wED
12605 ERR:11 ISR:7E90
12606 PRT:23 ISR:0000 [CHG] I12606
12607 PRT:11 ISR:7E90 rFA A12608 wFF
12820 ERR:11 ISR:0000 X13322 rAA W13758 R14260
ID:FFFD(AT_Z150) S14260 wED rFA w04 rFA L14265 r58 wED rFA w00 rFA rF0 r58 r58 wED rFA w04 rFA rF0 r58 r58 wED rFA w00 rFA rF0 r58 r58 wED
19361 ERR:11 ISR:1610
19362 PRT:23 ISR:0000 [CHG] I19362
19363 PRT:11 ISR:7E90 rFA A19364 wFF
19576 ERR:11 ISR:0000 X20078 rAA W20515 R21016
ID:FFFD(AT_Z150) S21016 wED rFA w04 rFA L21021
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 24 May 2021, 23:50:49
Quote
http://halicery.com/8042/8042_1503033.TXT
Very cool!
Perhaps dumping the ROM from the Z150 AT would be a good idea?
The controller mine has is an 8049 so the hardware should be fairly similar at least.
Yes, it would be absolutely helpful but to get ROM data from the keyboard dump may be tedious and techie. I don't know how to be honest, vcfed.org is one of good resources for it probably.

Alternatively, observing its signals with Logic analyzer or Oscilloscope would be extremely helpful to debug. Let me know if you happen to have either of the equipments.


Quote
Issue still occurs, rapid pressing seems easier than before (maybe I'm just getting better at causing it :D), while simultaneous is still very consistent.

One error(related to ACK/stop bit) seems to disapper by emulating original IBM PC/AT keyboard controller to check ACK. My converter appear to be a bit strict for checking signal states and the keyboard depends on implementation of the orignal controller perhaps.


Another error still exists, the converter can't wait and find 'start bit' correctly for some reason. I don't still come up with clear idea  unfortunately so far.

- I added retry logic for 'start bit' error to see how the keyboard behave.

Does these firmwares show difference? I hope so. Posting debug logs would be helpful anyway.


[attachurl=1]

[attachurl=2]

Thanks for your support!
Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Sat, 29 May 2021, 22:35:58
Quote
to get ROM data from the keyboard dump may be tedious and techie
The MCS-48 series chips should be pretty simple to extract, there's a few good resources for dumping them
http://qemulator.blogspot.com/2020/05/dumping-intel-8049-roms.html
http://www.mattmillman.com/projects/hveprom-project/an-easy-to-build-mcs-48-8748-8749-8741-8742-8048-8049-programmer-reader/

Quote
Let me know if you happen to have either of the equipments.
Not immediately on hand as I am in the process of moving, but I can pick them up easily if necessary.

Fortunately I think we're just about there, ff3fd27e is not getting any errors with the lock keys!

Code: [Select]
TMK:ff3fd27e/LUFA


USB configured.

Keyboard start.
I224
409 PRT:11 ISR:6A90 rAA A410 wFF rFA rAA W649 R1150
ID:FFFD(AT_Z150) S1150 wED rFA w00 rFA L1155 r58 wED R rFA w04 rFA r77 r7E wED rFA w06 rFA wED rFA w07 rFA rF0 r77 rF0 r7E rF0 r58 r7E r58 wED isr:E800 c:995 rFA w06 rFA wED rFA w02 rFA rF0 r77 rF0 r7E rF0 r58 r7E r58 wED isr:DD00 d:993 rFA w03 rFA wED rFA w07 rFA rF0 r58 rF0 r77 rF0 r7E r7E r58 wED isr:E800 c:995 rFA w06 rFA wED rFA w02 rFA rF0 r77 rF0 r7E rF0 r58 r58 wED R rFA w06 rFA r77 r7E wED rFA w04 rFA wED rFA w05 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w07 rFA r7E wED R rFA w06 rFA r58 wED R rFA w02 rFA rF0 r7E rF0 r58 rF0 r77 r7E r58 wED isr:D000 c:996 rFA w03 rFA wED rFA w07 rFA rF0 r7E rF0 r77 rF0 r58 r7E r58 wED isr:7400 c:995 rFA w06 rFA wED rFA w02 rFA rF0 r7E rF0 r77 rF0 r58 r58 wED R rFA w06 rFA r77 wED rFA w04 rFA rF0 r77 rF0 r7E rF0 r58 r58 wED R rFA w00 rFA r77 r7E wED rFA w02 rFA wED rFA w03 rFA rF0 r7E rF0 r77 rF0 r58 r7E wED rFA w02 rFA r77 wED rFA w00 rFA rF0 r7E rF0 r77 rF0 r58 r58 wED R rFA w04 rFA r77 wED rFA w06 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w04 rFA r7E wED R rFA w05 rFA r58 wED R rFA w01 rFA rF0 r7E rF0 r58 rF0 r77 r58 r77 wED isr:C800 c:994 rFA w05 rFA wED rFA w07 rFA rF0 r77 rF0 r7E rF0 r58 r58 wED R rFA w03 rFA r77 wED rFA w01 rFA rF0 r7E rF0 r77 rF0 r58 r58 wED R rFA w05 rFA r77 r7E wED rFA w07 rFA wED rFA w06 rFA rF0 r7E rF0 r77 rF0 r58 r77 wED R rFA w04 rFA r7E wED R rFA w05 rFA r58 wED R rFA w01 rFA rF0 r7E rF0 r58 rF0 r77 r77 r7E wED isr:C200 c:994 rFA w03 rFA wED rFA w02 rFA rF0 r77 rF0 r7E rF0 r58 r77 wED R rFA w00 rFA r7E wED R rFA w01 rFA r58 wED R rFA w05 rFA rF0 r7E rF0 r58 rF0 r77 r7E r58 wED isr:A000 c:995 rFA w04 rFA wED rFA w00 rFA rF0 r77 rF0 r7E rF0 r58 r77 wED R rFA w02 rFA r7E wED R rFA w03 rFA r58 wED R rFA w07 rFA rF0 r7E rF0 r58 rF0 r77 r7E r58 wED isr:BA00 c:995 rFA w06 rFA wED rFA w02 rFA rF0 r77 rF0 r7E rF0 r58 r77 wED R rFA w00 rFA r7E wED R rFA w01 rFA r58 wED R rFA w05 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w07 rFA r7E wED R rFA w06 rFA r58 wED R rFA w02 rFA rF0 r7E rF0 r58 rF0 r77 r77 r7E wED isr:C200 c:994 rFA w00 rFA wED rFA w01 rFA rF0 r7E rF0 r77 rF0 r58 r7E wED rFA w00 rFA r77 wED rFA w02 rFA rF0 r7E r58 wED rFA w06 rFA rF0 r77 rF0 r58 r7E wED rFA w07 rFA r77 wED rFA w05 rFA rF0 r7E r58 wED rFA w01 rFA rF0 r77 rF0 r58 r7E wED rFA w00 rFA r77 wED R rFA w02 rFA r58 wED R rFA w06 rFA rF0 r7E rF0 r58 rF0 r77 r7E wED rFA w07 rFA r77 wED R rFA w05 rFA r58 wED rFA w01 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w03 rFA r7E wED R rFA w02 rFA r58 wED R rFA w06 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w04 rFA r7E wED rFA w05 rFA rF0 r7E rF0 r77 r7E wED R rFA w04 rFA r77 r58 wED R rFA w06 rFA rF0 wED R rFA w02 rFA r77 rF0 r7E rF0 r58 r7E r58 wED isr:EE80 rFA w03 rFA wED rFA w07 rFA rF0 r77 rF0 r7E rF0 r58 r7E r58 wED isr:DD00 d:993 rFA w06 rFA wED rFA w02 rFA rF0 r77 rF0 r7E rF0 r58 r77 wED R rFA w00 rFA r7E wED R rFA w01 rFA r58 wED R rFA w05 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w07 rFA r7E wED R rFA w06 rFA r58 wED R rFA w02 rFA rF0 r7E rF0 r58 rF0 r77 r7E r58 wED isr:BA00 c:995 rFA w03 rFA wED rFA w07 rFA rF0 r58 rF0 r77 rF0 r7E r77 wED R rFA w05 rFA r7E wED R rFA w04 rFA r58 wED R rFA w00 rFA rF0 r7E rF0 r58 rF0 r77 r7E r58 wED isr:7400 c:995 rFA w01 rFA wED rFA w05 rFA rF0 r77 rF0 r7E rF0 r58 r77 wED R rFA w07 rFA r7E wED R rFA w06 rFA r58 wED R rFA w02 rFA rF0 r7E rF0 r58 rF0 r77 r7E wED rFA w03 rFA r77 wED rFA w01 rFA rF0 r77 rF0 r7E rF0 r58 r7E wED isr:2C20 rFA w00 rFA r77 wED rFA w02 rFA rF0 r7E rF0 r58 rF0 r77 r7E wED rFA w03 rFA r58 r77 wED rFA w07 rFA wED rFA w05 rFA rF0 r7E rF0 r58 rF0 r77 r7E wED rFA w04 rFA r77 wED rFA w06 rFA r58 wED rFA w02 rFA rF0 r7E rF0 r58 rF0 r77 r7E wED R rFA w03 rFA r77 wED R rFA w01 rFA r58 wED R rFA w05 rFA rF0 r7E rF0 r58 rF0 r77 r7E r58 wED isr:E800 c:995 rFA w04 rFA wED rFA w00 rFA rF0 r77 rF0 r58 rF0 r7E r77 wED R rFA w02 rFA r7E wED R rFA w03 rFA r58 wED R rFA w07 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w05 rFA r7E wED R rFA w04 rFA r58 wED R rFA w00 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED rFA w02 rFA r7E wED rFA w03 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED rFA w01 rFA r7E r58 wED rFA w00 rFA wED rFA w04 rFA rF0 r58 rF0 r77 rF0 r7E r77 wED R rFA w06 rFA r7E wED R rFA w07 rFA r58 wED R rFA w03 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w01 rFA r7E wED R rFA w00 rFA r58 wED R rFA w04 rFA rF0 r7E rF0 r58 rF0 r77 r7E r58 wED isr:BA00 c:996 rFA w05 rFA wED rFA w01 rFA rF0 r77 rF0 r7E rF0 r58 r77 wED R rFA w03 rFA r7E wED R rFA w02 rFA r58 wED R rFA w06 rFA rF0 r7E rF0 r58 rF0 r77 r7E r58 wED isr:E800 c:995 rFA w07 rFA wED rFA w03 rFA rF0 r77 rF0 r7E rF0 r58 r7E wED rFA w02 rFA r77 wED rFA w00 rFA rF0 r77 rF0 r7E rF0 r58 r7E r58 wED isr:7400 c:995 rFA w01 rFA wED rFA w05 rFA rF0 r77 rF0 r7E rF0 r58 r7E r58 wED isr:7400 c:996 rFA w04 rFA wED rFA w00 rFA rF0 r77 rF0 r7E rF0 r58 r7E r58 wED isr:7400 c:995 rFA w01 rFA wED rFA w05 rFA rF0 r77 rF0 r7E rF0 r58 r77 wED rFA w07 rFA rF0 r77

a9d10ed7 seems about the same as before
Code: [Select]
TMK:a9d10ed7/LUFA


USB configured.

Keyboard start.
I255
407 PRT:11 ISR:6A90 rAA A408 wFF rFA rAA W648 R1149
ID:FFFD(AT_Z150) S1149 wED rFA w02 rFA L1158 r77 wED
6086 ERR:11 ISR:5DD0
6087 PRT:23 ISR:0000 [CHG] I6087
6088 PRT:11 ISR:7E90 rFA A6089 wFF
6322 ERR:11 ISR:0000
6323 PRT:23 ISR:0000 X6825
7254 PRT:11 ISR:6A90 rAA W7255 R7756
ID:FFFD(AT_Z150) S7756 wED rFA w00 rFA L7765 r7E r58 wED rFA w01 rFA wED rFA w05 rFA rF0 r7E rF0 r58 r77 wED rFA w07 rFA rF0 r77 r58 wED
32692 ERR:11 ISR:1610
32692 PRT:23 ISR:0000 [CHG] I32693
32694 PRT:11 ISR:7E90 rFA A32694 wFF
32928 ERR:11 ISR:0000
32929 PRT:23 ISR:0000 X33431
33860 PRT:11 ISR:6A90 rAA W33861 R34362
ID:FFFD(AT_Z150) S34362 wED rFA w03 rFA L34371 r58 wED
36088 ERR:11 ISR:1610
36089 PRT:23 ISR:0000 [CHG] I36090
36090 PRT:11 ISR:7E90 rFA A36091 wFF
36325 ERR:11 ISR:0000
36326 PRT:23 ISR:0000 X36827
37256 PRT:11 ISR:6A90 rAA W37257 R37758
ID:FFFD(AT_Z150) S37758 wED rFA w07 rFA L37767 r7E wED rFA w06 rFA r77 wED rFA w04 rFA rF0 r7E rF0 r58 rF0 r77 r7E wED rFA w05 rFA r77 wED rFA w07 rFA r58 wED
39772 ERR:11 ISR:1610
39773 PRT:23 ISR:0000 [CHG] I39774
39774 PRT:11 ISR:7E90 rFA A39775 wFF
40009 ERR:11 ISR:0000
40010 PRT:23 ISR:0000 X40512
40942 PRT:11 ISR:6A90 rAA W40942 r58 W40964 r77 W40966 R40966
ID:FFFD(AT_Z150) S40967 wED rFA w03 rFA L40975 rF0 r77 rF0 r58 r7E wED rFA w02 rFA r77 wED rFA w00 rFA r58 wED rFA w04 rFA rF0 r7E rF0 r77 rF0 r58 r7E wED rFA w05 rFA r77 wED rFA w07 rFA r58 wED
41719 ERR:11 ISR:1610
41719 PRT:23 ISR:0000 [CHG] I41720
41721 PRT:11 ISR:7E90 rFA A41722 wFF
41956 ERR:11 ISR:0000
41956 PRT:23 ISR:0000 X42458
42888 PRT:11 ISR:6A90 rAA W42889 r58 W42910 r77 W42917 R42918
ID:FFFD(AT_Z150) S42918 wED d:998 rFA w03 rFA L42927 r77 wED
43164 ERR:11 ISR:5DD0
43165 PRT:23 ISR:0000 [CHG] I43166
43166 PRT:11 ISR:7E90 rFA A43167 wFF
43401 ERR:11 ISR:0000 X43902 rAA W44332 R44833
ID:FFFD(AT_Z150) S44833 wED rFA w01 rFA L44842

I did find a few new errors with ff3fd27e
Code: [Select]
Happened once on Z150 AT
Might have occurred when moving breadboard slightly?

r23 rF0 r2B
19698 ERR:F0 ISR:FFE0
19699 PRT:23 ISR:0000 [CHG] I19699
19700 PRT:22 ISR:01C0 !FULL! rFF
19701 ERR:40 ISR:0000 A19702 wFF isr:4400 c:995 d:917 R R R R R R R R R rFA rAA W20261 R20762
ID:FFFD(AT_Z150) S20762 wED rFA w00 rFA L20768

Code: [Select]
Happens consistently when plugging in Z150 XT, no other issues afterwards

TMK:ff3fd27e/LUFA


USB configured.

Keyboard start.
I236 A3238 wFF c:0 d:0
3248 ERR:12 ISR:0000 X3749
3867 PRT:22 ISR:AAC0 rAA W3868 wF2 R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R7951
ID:FFFF(XT)
7952 ERR:11 ISR:0000 S7952 L7952

TMK:ff3fd27e/LUFA


USB configured.

Keyboard start.
I238 A3240 wFF R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R
6822 ERR:11 ISR:0000 X7324
7442 PRT:22 ISR:AAC0 rAA W7443 wF2 R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R11526
ID:FFFF(XT)
11527 ERR:11 ISR:0000 S11527 L11527



Also found a few different errors with the previous firmware TMK:076fcdbc during some daily use, however it was not very consistent and only did the "softer reset" so it was harder to notice as the beeper state persisted its off state.
Code: [Select]
r1C r31 rF0 r1C rF0 r31 r23 r29 rF0 r23 rF0 r29 r2B rF0 r2B r43 r23 rF0 r43 rF0 r43 e20
23301 ERR:20 ISR:4000 [RST] I23302
23302 PRT:11 ISR:0000 e80 rF0 A23382 wFF rFA rAA W23620 r5A W23664 rF0 W23778 R23779
ID:FFFD(AT_Z150) S23779 wED rFA w02 rFA L23784 r33 rF0 r33 r33


r23 rF0 r23 r29 rF0 r29 r2D
16063 PRT:10 ISR:9310 r4C
16110 ERR:20 ISR:4000 [RST] I16111
16112 PRT:10 ISR:0000 rF8 A16112 wFF rFA rAA W16347 r2C W16395 rF0 W16486 R16486
ID:FFFD(AT_Z150) S16487 wED rFA w00 rFA L16492


r34 r33 rF0 r33 r3B rF0 r3B r3B
6644 PRT:10 ISR:FC10 rF0
6646 PRT:11 ISR:1D90 r76
6678 ERR:20 ISR:4000 [RST]
6679 PRT:23 ISR:0000 I6679
6680 PRT:23 ISR:0000 r4C A6680 wFF rFA
6683 PRT:11 ISR:7E90 rAA W6919 R7420
ID:FFFD(AT_Z150) S7420 wED rFA w00 rFA L7425

Another error on 076fcdbc related to the above issue, starts same as above with ERR 20 "soft reset", then additional key presses triggers the same ERR 11 as the lock key presses and causes a full reset.
Code: [Select]
rF0 r4B r29 rF0 r35 rF0 r29 r23 r24 rF0 r23 rF0 r24
36383 PRT:10 ISR:9090 r42
36480 ERR:20 ISR:4000 [RST] I36481
36481 PRT:10 ISR:0000 rF8 A36482 wFF rFA rAA W36721 r29 W36734 r24 W36736 R36736
ID:FFFD(AT_Z150) S36737 wED L36949
36950 ERR:11 ISR:4910
36950 PRT:23 ISR:0000 rFA !CS2_INIT!
I36951
36952 PRT:11 ISR:0000 rAA A37183 wFF rFA rAA W37422 R37923
ID:FFFD(AT_Z150) S37923 wED L38136
38136 ERR:11 ISR:6A90
38137 PRT:23 ISR:0000 rFA !CS2_INIT!
I38138
38138 PRT:11 ISR:0000 rAA A38374 wFF
38587 ERR:11 ISR:6A90
38588 PRT:23 ISR:0000 X39089
39535 PRT:11 ISR:6A90 rAA W39536 r3B W39613 rF0 W39714 R39715
ID:FFFD(AT_Z150) S39715 wED rFA w00 rFA L39720 r3B rF0 r3B r3B rF0 r3B
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Mon, 31 May 2021, 05:46:44
Quote
to get ROM data from the keyboard dump may be tedious and techie
The MCS-48 series chips should be pretty simple to extract, there's a few good resources for dumping them
http://qemulator.blogspot.com/2020/05/dumping-intel-8049-roms.html
http://www.mattmillman.com/projects/hveprom-project/an-easy-to-build-mcs-48-8748-8749-8741-8742-8048-8049-programmer-reader/

Quote
Let me know if you happen to have either of the equipments.
Not immediately on hand as I am in the process of moving, but I can pick them up easily if necessary.

Real waveforms would be absolutely helpful to know how to handle the keyboard.
But we are close to a dirty workaround somehow now, I'm not sure it is worth spending your time.


Retrying(ff3fd27e) is ad hoc treatment  for start bit error(ERR:11) but seems to be promising for Z-150AT.
The converter can miss a key stroke when updating lock indicators.

Just updated firmware to fix for the missing key stroke. Can you test this?

[attachurl=1]

If this firmware works somehow without big problem I'll merge Z-150AT support into 'master' repo in github.


Quote
Fortunately I think we're just about there, ff3fd27e is not getting any errors with the lock keys!


I did find a few new errors with ff3fd27e

As for the error on Z-150AT
The converter seems to miss signal for some reason. It may be unstable connection or unknown glitch. Let me know if you find it again.

As for those 'R R R ...' errors on XT keyboard this is expected and it will be fixed or mitigated later.





Quote
Also found a few different errors with the previous firmware TMK:076fcdbc during some daily use, however it was not very consistent and only did the "softer reset" so it was harder to notice as the beeper state persisted its off state.

Another error on 076fcdbc related to the above issue, starts same as above with ERR 20 "soft reset", then additional key presses triggers the same ERR 11 as the lock key presses and causes a full reset.

ERR:20 also indicates missing signal. Cable connection is just unstable temporarily. Otherwise this is new glitch, perhaps.


Title: Re: TMK IBM PC Keyboard Converter
Post by: RonnocDa on Wed, 02 June 2021, 12:29:25
Quote
Real waveforms would be absolutely helpful to know how to handle the keyboard.
I can see about getting some waveforms from a logic analyzer.
Is there is anything in particular aside from data+clock signals that would help?

Quote
ERR:20 also indicates missing signal. Cable connection is just unstable temporarily. Otherwise this is new glitch, perhaps.
Probably just the breadboard I'm testing with being a bit touchy, haven't seen those issues with any real consistency.

New firmware has similarly good results for lock lights
Code: [Select]
TMK:dda33032/LUFA


USB configured.

Keyboard start.
I263
405 PRT:11 ISR:6A90 rAA A406 wFF rFA rAA W645 R1146
ID:FFFD(AT_Z150) S1146 wED rFA w00 rFA L1151 r77 wED R rFA w02 rFA r7E wED R rFA w03 rFA r58 wED rFA w07 rFA rF0 r77 rF0 r7E rF0 r58 r77 wED R rFA w05 rFA r7E wED R rFA w04 rFA r58 wED rFA w00 rFA rF0 r7E rF0 r77 rF0 r58 r58 wED R rFA w04 rFA r77 r7E wED rFA w06 rFA wED rFA w07 rFA rF0 r77 rF0 r7E rF0 r58 r77 wED R rFA w05 rFA r7E wED R rFA w04 rFA r58 wED rFA w00 rFA rF0 r77 rF0 r7E rF0 r58 r58 wED R rFA w04 rFA r77 r7E wED rFA w06 rFA wED rFA w07 rFA rF0 r7E rF0 r77 rF0 r58 r58 wED R rFA w03 rFA r77 r7E wED rFA w01 rFA wED rFA w00 rFA rF0 r7E rF0 r77 rF0 r58 r58 wED R rFA w04 rFA r77 r7E wED rFA w06 rFA wED rFA w07 rFA rF0 r7E rF0 r77 rF0 r58 r58 wED R rFA w03 rFA r77 r7E wED rFA w01 rFA wED rFA w00 rFA rF0 r77 rF0 r7E rF0 r58 r58 wED R rFA w04 rFA r77 r7E wED rFA w06 rFA wED rFA w07 rFA rF0 r7E rF0 r58 rF0 r77 r58 wED R rFA w03 rFA r77 wED R rFA w01 rFA r7E wED R rFA w00 rFA rF0 r7E rF0 r58 rF0 r77 r58 wED R rFA w04 rFA r77 r7E wED rFA w06 rFA wED rFA w07 rFA rF0 r7E rF0 r77 rF0 r58 r77 wED R rFA w05 rFA r7E wED R rFA w04 rFA r58 wED rFA w00 rFA rF0 r7E rF0 r58 rF0 r77 r58 wED R rFA w04 rFA r77 r7E wED rFA w06 rFA wED rFA w07 rFA rF0 r7E rF0 r77 rF0 r58 r77 wED R rFA w05 rFA r7E wED R rFA w04 rFA r58 wED R rFA w00 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w02 rFA r7E wED R rFA w03 rFA r58 wED R rFA w07 rFA rF0 r7E rF0 r58 rF0 r77 r77 wED R rFA w05 rFA r7E wED R rFA w04 rFA r58 wED rFA w00 rFA rF0 r7E rF0 r77 rF0 r58 r77 wED R rFA w02 rFA r7E wED R rFA w03 rFA r58 wED rFA w07 rFA rF0 r7E rF0 r77 rF0 r58 r77 wED R rFA w05 rFA r7E wED R rFA w04 rFA r58 wED R rFA w00 rFA rF0 r7E rF0 r58 rF0 r77 r58 wED R rFA w04 rFA r7E wED R rFA w05 rFA r77 wED rFA w07 rFA rF0 r77 rF0 r7E rF0 r58 r7E r58 wED isr:E800 c:996 rFA r:FF77 w06 rFA r:FF77 r77 wED rFA w02 rFA wED rFA w00 rFA rF0 r77 rF0 r7E rF0 r58 r58 wED R rFA w04 rFA r7E wED R rFA w05 rFA r77 wED rFA w07 rFA rF0 r77 rF0 r7E rF0 r58 r58 wED R rFA w03 rFA r77 r7E wED rFA w01 rFA wED rFA w00 rFA rF0 r77 rF0 r7E rF0 r58

No other issues with normal use.
However I've found that pressing lots of keys simultaneously has some problems.
Other boards do not have this response with the same testing.
Code: [Select]
Rapidly pressing 16ish keys with fingers

r35 r2D r24 rF0 r42 rF0 r3B rF0 r33 r34 r2B r00
[OVR]
63680 ERR:40 ISR:4D50 r35 r00
[OVR] r00
[OVR] r43 r33 r42 r3B rF0 r1B r3C r35 rF0 r34 r00
[OVR] r1D rF0 r44 r23 r1B rF0 r3C rF0 r35 r2C r2D r24 rF0 r42 rF0 r3B r00
[OVR] r43 r44 r00
[OVR] r00
[OVR] r00
[OVR] rF0 r35 rF0 r3B r1B rF0 r3C r2C rF0 r4B rF0 r42 rF0 r33 r34 r2B r23 r00
[OVR] r43 r42 r3B r33 r44 r3C r35 rF0 r2B rF0 r23 rF0 r2C rF0 r2D rF0 r24 rF0 r34 rF0 r1B r1B r2C r34 r23 rF0 r44 rF0 r35 r2D r24 rF0 r42 rF0 r3B rF0 r33 r2B rF0 r43 rF0 r3C r43 r44 r4B r42 r3B r33 r3C r35 rF0 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r2C rF0 r2D rF0 r24 rF0 r42 rF0 r35 rF0 r4B rF0 r3B rF0 r33 r23 rF0 r44 rF0 r43 rF0 r3C r2C r2D r24 r34 r2B r1B r1D rF0 r1D rF0 r2B rF0 r23 rF0 r1B rF0 r2C rF0 r2D rF0 r24 rF0 r34 r43 r3C r42 r3B r33 r34 r35 r2C r15 r23 r1C r2D r24 r1D r2B r1B rF0 r42 rF0 r3B rF0 r43 rF0 r3C rF0 r35 rF0 r2C rF0 r33 rF0 r34 rF0 r1C rF0 r2D rF0 r15 rF0 r2B rF0 r23 rF0 r1B rF0 r24 rF0 r1D r2B r23 r1C r43 r3C r35 r2C r2D r24 r1D r15 r42 r3B r33 r34 r1B rF0 r42 rF0 r43 rF0 r2D rF0 r15 rF0 r3B rF0 r33 rF0 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C rF0 r3C rF0 r35 rF0 r2C rF0 r24 rF0 r1D r3C r42 r33 r43 r35 r2C r3B r34 r24 r23 r1D r15 rF0 r3B r2B r1B r1C rF0 r43 rF0 r3C rF0 r35 rF0 r2C r2D rF0 r42 rF0 r33 rF0 r34 r3C r43 r42 r33 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C r35 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r3B r24 r2B r23 r1B rF0 r43 r2D r00
[OVR]
7643 ERR:40 ISR:4AD0 r2B r23 r2D r24 r1D r15 rF0 r42 rF0 r3B r00
[OVR]
7751 ERR:40 ISR:10D0 r42 r33 r34 rF0 r23 r35 r2C rF0 r2D rF0 r24 rF0 r15 r3B rF0 r2B rF0 r1B r00
[OVR]
7872 ERR:40 ISR:08D0 r2D r1D r15 rF0 r42 rF0 r3B rF0 r33 r00
[OVR] b:3C33 r3C r33 rF0 r23 rF0 r1C r43 r35 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r42 r3B r00
[OVR] r24 r2B r23 r1B rF0 r43 rF0 r35 r00
[OVR] b:00F0 r00
[OVR] rF0 r1C r3C rF0 r15 rF0 r23 rF0 r1B r43 r35 rF0 r2D rF0 r24 rF0 r1D r00
[OVR] rF0 r2C rF0 r34 rF0 r35 r24 r15 rF0 r42 r00
[OVR] rF0 r1C rF0 r15 rF0 r2D rF0 r2B rF0 r23 rF0 r1B rF0 r24 rF0 r1D r23 r43 r3C r24 r15 r42 r3B r33 r34 r1B r1C r35 r2C r2D r1D r2B rF0 r2C rF0 r42 rF0 r3B rF0 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C rF0 r43 rF0 r3C rF0 r35 rF0 r2D rF0 r24 rF0 r1D rF0 r15 rF0 r33 r3C r43 r35 r2C r42 r3B r33 r34 rF0 r3B rF0 r42 rF0 r43 rF0 r2C rF0 r33 rF0 r34 r2B r23 r1B r1C rF0 r3C rF0 r35 r2D r24 r1D r15 r3C r43 r42 r33 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C r35 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r3B rF0 r3B r24 r23 r2D r1D r15 rF0 r42 r2B r1B r1C rF0 r43 rF0 r3C rF0 r35 rF0 r2C rF0 r33 rF0 r34 r3C r43 r42 r35 r2C r3B r33 r34 rF0 r23 rF0 r1B rF0 r1C rF0 r2D rF0 r24 rF0 r1D rF0 r15 rF0 r2B r24 rF0 r3B r23 r1B rF0 r43 rF0 r2C r2D r1D r15 rF0 r42 rF0 r33 rF0 r34 r2B r1C rF0 r3C rF0 r35 r3C r35 r33 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C r43 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r42 r3B rF0 r3B r1C r2D r24 r1D r15 rF0 r42 rF0 r33 rF0 r34 r2B r23 r1B rF0 r43 rF0 r3C rF0 r35 rF0 r2C rF0 r23 rF0 r2D rF0 r24 rF0 r1D rF0 r15 rF0 r2B rF0 r1B rF0 r1C r43 r3C r42 r33 r34 r35 r2C r3B rF0 r3B rF0 r42 rF0 r43 rF0 r2C rF0 r33 rF0 r34 r23 r1B r1C rF0 r3C rF0 r35 r2D r24 r1D r15 r2B r3C r33 r43 r35 r2C rF0 r2D rF0 r15 r42 r3B r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C rF0 r24 rF0 r1D r15 r1B r1C rF0 r2C r24 r1D rF0 r42 rF0 r3B rF0 r33 rF0 r34 r2B r23 rF0 r43 rF0 r35 r2D r42 r00
[OVR]
37603 ERR:40 ISR:4010 !FULL! rFF
[OVR] r00
[OVR] rF0 r3B rF0 r2C rF0 r33 rF0 r34 r00
[OVR] r00
[OVR] r42 r33 r43 r3C r35 r3B r34 rF0 r23 rF0 r1B rF0 r1C r2C rF0 r2D rF0 r24 r00
[OVR] r24 r2D r15 rF0 r3B r2B r23 r1B r1C rF0 r43 rF0 r3C rF0 r35 rF0 r2C r1D rF0 r42 rF0 r33 rF0 r34 rF0 r23 rF0 r2D rF0 r2B rF0 r1B rF0 r1C rF0 r24 rF0 r1D rF0 r15 r3C r3B r2C r33 r34 r43 r35 r42 rF0 r43 rF0 r42 rF0 r2C rF0 r3B rF0 r33 rF0 r34 r1B r1C rF0 r3C rF0 r35 r2D r24 r1D r15 r2B r23 r3C r3B r00
[OVR]
42290 ERR:40 ISR:7C10 !FULL! rFF
[OVR] r33 rF0 r34 rF0 r43 rF0 r3C rF0 r35 r24 rF0 r42 r2B r00
[OVR] r00
[OVR] r00
[OVR] r00
[OVR] r24 r2B r23 r1B rF0 r2C r2D r1D r15 rF0 r42 rF0 r3B r00
[OVR]
42604 ERR:40 ISR:0ED0 r3B r33 r34 r35 r2C r00
[OVR] r24 r2B r23 r2D r1D r00
[OVR]
42713 ERR:40 ISR:4F10 !FULL! rFF
[OVR] r43 r42 r33 r34 r35 r2C r3B rF0 r23 rF0 r1B rF0 r1C r00
[OVR] rF0 r2B r24 r2B rF0 r2C r2D r15 rF0 r42 rF0 r3B rF0 r33 r00
[OVR] r3C r42 r33 r34 r00
[OVR] r00
[OVR] r00
[OVR] r34 r33 rF0 r23 rF0 r1B r43 r3C r35 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r00
[OVR] r24 r2B r00
[OVR] r00
[OVR] r00
[OVR] r3C r33 r34 rF0 r23 rF0 r1B rF0 r1C r43 r35 r2C r00
[OVR]
43565 ERR:40 ISR:4010 !FULL! rFF
[OVR] r00
[OVR] r3C r43 r35 rF0 r15 r42 r3B r33 r34 rF0 r23 r00
[OVR]
43678 ERR:40 ISR:0ED0 r3B rF0 r2C rF0 r42 rF0 r33 r00
[OVR] rF0 r23 rF0 r2D rF0 r2B rF0 r1B rF0 r24 rF0 r1D rF0 r15 rF0 r1C
Code: [Select]
Using a small flat board, pressing almost entire alphanumeric cluster
TMK:dda33032/LUFA


USB configured.

Keyboard start.
I243
406 PRT:11 ISR:6A90 rAA A407 wFF rFA rAA W646 R1147
ID:FFFD(AT_Z150) S1147 wED rFA w00 rFA L1152 r36 r3D r2E r45 r46 r3E r25 r26 r1E r49 r41 r3A r31 r32 r2A r21 r22 r1A r4B r00
[OVR] rF0 r4B rF0 r44 rF0 r43 rF0 r49 rF0 r41 rF0 r3A rF0 r32 rF0 r2A rF0 r21 rF0 r22 rF0 r1A rF0 r42 rF0 r3B rF0 r33 rF0 r34 rF0 r2B r00
[OVR] rF0 r31 r36 r2E r3D r25 r26 r41 r31 r32 r2A r21 r22 r1A r4B r42 r3B r33 r34 r2B r23 r00
[OVR] r00
[OVR] rF0 r4B rF0 r42 rF0 r1C rF0 r44 rF0 r43 rF0 r1D rF0 r49 rF0 r41 rF0 r3A rF0 r31 rF0 r32 rF0 r2A rF0 r21 rF0 r22 rF0 r1A rF0 r3B rF0 r33 r00
[OVR] r36 r3D r45 r46 r3E r2E r25 r26 r1E r49 r41 r3A r31 r32 r2A r21 r22 r1A r4B r00
[OVR] rF0 r1D rF0 r1C rF0 r24 rF0 r1B rF0 r44 rF0 r43 rF0 r2D rF0 r45 rF0 r46 rF0 r3E rF0 r3D rF0 r36 rF0 r2E rF0 r25 rF0 r26 rF0 r1E rF0 r49 rF0 r41 rF0 r3A r00
[OVR] r36 r3D r45 r46 r3E r2E r25 r26 r1E r49 r41 r3A r31 r32 r2A r21 r22 r1A r4B r00
[OVR]
13404 ERR:40 ISR:7C10 !FULL! rFF
[OVR] r1C rF0 r43 rF0 r44 rF0 r24 rF0 r26 rF0 r1E rF0 r4B rF0 r42 rF0 r3B rF0 r33 rF0 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r3C rF0 r35 rF0 r2C r00
[OVR] r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29

Not a big issue, but definitely means there's more that we're missing here.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 02 June 2021, 20:16:32
Quote
Real waveforms would be absolutely helpful to know how to handle the keyboard.
I can see about getting some waveforms from a logic analyzer.
Is there is anything in particular aside from data+clock signals that would help?

I like to see both data and clock signals especially when the converter fails to update lock lights and retry it.

That looks like below in debug outptus. "R" means retrying. It happens after pressing either of lock keys.
Code: [Select]
r77 wED R rFA w02 rFA r7E wED R rFA w03 rFA

I don't come up with proper trigger condition for exact capture, but
I think logic analyzer has enough memory and can record long signal data to find the event after capture, sample rate is not matter so much for this.



Quote
New firmware has similarly good results for lock lights

Great. I'll merge several fixes for Z-150 AT into source repo now.



Quote
No other issues with normal use.
However I've found that pressing lots of keys simultaneously has some problems.
Other boards do not have this response with the same testing.

Not a big issue, but definitely means there's more that we're missing here.

"r00" means buffer of keyboard is full, and "ERR:40" means buffer of the converter is full.
The keyboard may have smaller buffer than others and the converter is too optimistic for buffering.

I think this is not specific to Z-150 AT and not problem so much for practical use. I will file this issue and visit some later.  https://github.com/tmk/tmk_keyboard/issues/690

Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 03 June 2021, 03:05:22
[FIRMWARE UDPATE]
Just updated source code and prebuilt firmware. You can access new firmware on github repo or Keymap Editor.

Thanks for your support.


This change added support for keyboards below.
- Zenith Z-150 AT
- IBM 5576-001(ID:AB92) Japanese Terminal
- IBM 1394204(ID:7F7F) 101-key Terminal

Also these keyboards are expected to work now, test and report is needed. Someone with these?
- IBM 5576-002
- IBM 5576-003
Title: Re: TMK IBM PC Keyboard Converter
Post by: aihk on Tue, 08 June 2021, 00:28:25
I'll do one better and quickly set up a breadboard with Reset wired in.

Here's a list of the keyboards which are working perfectly
RT8255c+
RT-101+
C260 Enhanced Keyboard (Deyi foam and foil)
Northgate Omnikey 101
Zenith ZKB-2
BTC5339
APC-H410E
IBM 5576-001 (except keys outside range of ps/2)
Toshiba JIS AT101 (rear metal label very helpfully reads キーボード and serial number only  :) )
Dell AT101 - GYI3PVAT101 (old logo)
Wang 724
Unicomp Model M
IBM P70 Keyboard

Could you tell me what Wang 724 use hex




Title: Re: TMK IBM PC Keyboard Converter
Post by: Timpanogos Slim on Mon, 19 July 2021, 14:14:00
Anybody consider making an internal hard-wire version, say with pads for a USB-C female and holes that would accept a common captive USB2 cable?

I decided to revive my old Omnikey 101, which i bought new when i wasn't so old. Can't find the original cable so i ordered a replacement. And it occurred to me that it wouldn't be hard to design a printable USB-C bulkhead that replaces the mini-din socket on it.

I may design that alone and see if i can implement this on an atmega32u4 "beetle" development board, which is a tiny thing designed to plug directly into a USB-A female socket, and thus has nice big pads for the usb connection.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Tue, 17 August 2021, 09:43:43
[FIRMWARE UDPATE]
Updated source code and prebuilt firmware files. You can access new firmware on github repo or Keymap Editor.

Added PS/2 mouse and secondary interface support. Also fixed ISO key mapping on XT keyboard.

Using PS/2 Y-splitter cable you can  keyboard and mouse, or two keyboards at same time now.
If you have TMK IBMPC(PS/2) converter you can try the feature instantly. This is a fun at least!

2021-08-17 Fix XT keymap for ISO key.
2021-07-07 Add support for secondary interface and PS/2 Mouse(IntelliMouse, ExplorerMouse and Logitech PS/2++)

(https://i.imgur.com/WZQ0tYbh.jpg)
Title: Re: TMK IBM PC Keyboard Converter
Post by: Chalkboard on Thu, 30 September 2021, 06:49:31
For keyboards that have two sets of F1-F12 keys, is it possible to use the firmware to remap one set of F keys to be something different from the other set of F keys? I assume that would be difficult to do since they send the same scan codes.

Examples of keyboards:
Northgate Omnikey Ultra/Ultra-T
Focus FK-5001
Gateway AnyKey
Ortek MCK-142 Pro
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 30 September 2021, 08:09:13
If the two keys have same scan code they are logically same key. The converter can't discriminate them.
Title: Re: TMK IBM PC Keyboard Converter
Post by: chevykeeb on Tue, 05 October 2021, 08:56:41
Hi, I'm trying to update to new firmware for my IBMPC[PS/2] but keep getting an error.

Code: [Select]
*** Atmel DFU device connected: ATMEL ATmega32U2 DFU (03EB:2FF0:0000)
*** Attempting to flash, please don't remove device
>>> dfu-programmer atmega32u2 erase --force
    Erasing flash...  Success
    Checking memory from 0x0 to 0x6FFF...  Empty.
>>> dfu-programmer atmega32u2 flash --force /Users/and/Downloads/ibmpc_usb_atmega32u2.hex
    Error reading line 1.
>>> dfu-programmer atmega32u2 reset
*** Atmel DFU device disconnected: ATMEL ATmega32U2 DFU (03EB:2FF0:0000)
*** Atmel DFU device connected: ATMEL ATmega32U2 DFU (03EB:2FF0:0000)

(https://i.imgur.com/Gzmjzk4.png)

Using prebuilt file from here: https://github.com/tmk/tmk_keyboard/tree/master/converter/ibmpc_usb/binary

I've downloaded it few times but it's always the same: Error reading line 1.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 27 October 2021, 22:17:59
[FIRMWARE UPDATE]

You can download new prebuilt firmware on Keymap Editor or github repo now.

Changes:
    - parity error detection
    - AT/XT protocol auto-switching support (https://github.com/tmk/tmk_keyboard/issues/708)
    - cancel host_send when receiving data
    - refine code for Zenith Z-150 AT (https://deskthority.net/viewtopic.php?p=495248#p495248)
    - core: Console OUT ep removal (fix for ConnectPro KVM switch (https://github.com/tmk/tmk_keyboard/issues/707))

the latest  commit (https://github.com/tmk/tmk_keyboard/commit/64ef4e9f838ddfffca0253ccde07d276d33b0abb)
Title: Re: TMK IBM PC Keyboard Converter
Post by: copper4eva on Sun, 12 December 2021, 22:33:50
Does this firmware work with a IBM-4980?

(https://i.imgur.com/kYA3ysz.jpeg)
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 12 December 2021, 22:53:39
probably. Try it and report here.
Title: Re: TMK IBM PC Keyboard Converter
Post by: copper4eva on Tue, 14 December 2021, 02:31:55
probably. Try it and report here.
I'm in the process of making my first converter with a pro micro for an XT. And am pretty busy IRL, so could be a while before i get around to making a converter for the F127. When I do finally get to it I'll post the results, or if there are any problems. Thanks.
Title: Re: TMK IBM PC Keyboard Converter
Post by: Findecanor on Thu, 16 December 2021, 12:08:47
@hasu: Why is using the USART interface not the recommended method any more?
Is there any inherent drawback with it compared to the interrupt method?
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 16 December 2021, 16:12:38
@hasu: Why is using the USART interface not the recommended method any more?
Is there any inherent drawback with it compared to the interrupt method?


With USART method it is not possible to suppport both AT and XT, and to handle keyboards with weird signaling.
You can't use USART method for IBM PC converter for these reasons.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sat, 21 May 2022, 06:17:45
I was working on these for debug my code. I hope these may be useful for someone too.

Sigrok Decoder
You can use this protocol deocoder with sigrok PulseView to see commands and data for debug. The docoder supports only AT protocol, not XT at this time.

Cheap $10-20 logic analyzer (https://sigrok.org/wiki/Fx2lafw#Logic_Analyzers_/_mixed-signal_devices) that is compatible with sigrok (https://geekhack.org/https://sigrok.org/wiki/Main_Page) works well for this job. Get one and try. 1MHz sample rate is actually good enough for the protocol.

https://github.com/tmk/tmk_keyboard/wiki/Signal-Capture-for-debug#sigrok
(https://user-images.githubusercontent.com/424590/169610559-9e1c3042-5500-4f4f-b546-53718c959a38.png)

Or instead of using logic analyzer you can use 'Signal Capture' firmware on your converter hardware to capture signal(this won't always work). See below.

Signal Capture Firmware
With this firmware you can capture signals from keyboards without logic analzyer.

https://github.com/tmk/tmk_keyboard/wiki/Signal-Capture-for-debug/_edit#signal-capture-firmware
Title: Re: TMK IBM PC Keyboard Converter
Post by: Alectardy98 on Sat, 04 June 2022, 22:17:16
I want to let you know that I am having an issue with the Z150 AT. The online configuration tool is working well, but when I compile from the source code, the keyboard is not working and is stuck in a permanent loop. Here is what I see after flashing from a hex I created myself. The thing is that the online configuration tool is working just fine.

Code: [Select]
Loop start.
    I173 I173 I174 I174 I174 I174 I174 I174 I175 I175 I175 I175 I176 I176 I176 I176 I176 I177 I177 I177 I177 I177 I178 I178 I178 I178 I178 I179 I179 I179 I180 I180 I180 I180 I180 I181 I181 I181 I181 I182 I182 I182 I183 I183 I183 I184 I18I193 I193 I193 I193 I193 I194 I194 I194 I194 I195 I195 I195 I195 I196 I196 I196 I196 I196 I197 I197 I197 I197 I197 I198 I198 I198 I198 I199 I199 I199 I199 I199 I200 I200 I200 I200 I200 I201 I201 I201 I201 I202 I202 I202 I202 I202 I203 I203 I203 I203 I203 I204 I204 I204 I204 I204 I205 I205 I205 I205 I206 I206 I206 I206 I206 I207 I207 I207 I207 I207 I208 I208 I208 I208 I209 I209 I209 I209 I210 I210 I210 I210 I210 I210 I211 I211 I211 I211 I212 I212 I212 I212 I212 I213 I213 I213 I213 I214 I214 I214 I214 I214 I215 I215 I215 I215 I215 I216 I216 I216 I216 I217 I217 I217 I217 I217 I218 I218 I218 I218 I218 I219 I219 I219 I219 I220 I220 I220 I220 I220 I221 I221 I221 I221 I221 I222 I222 I222 I222 I223 I223 I223 I223 I223 I224 I224 I224 I224 I225 I225 I225 I225 I225 I226 I226 I226 I226 I226 I227 I227 I227 I227 I228 I228 I228 I228 I228 I229 I229 I229 I229 I229 I230 I230 I230 I230 I231 I231 I231 I231 I231 I232 I232 I232 I232 I232 I233 I233 I233 I233 I234 I234 I234 I234 I234 I235 I235 I235 I235 I235 I236 I236 I236 I236 I237 I237 I237 I237 I237 I238 I238 I238 I238 I238 I239 I239 I239 I239 I240 I240 I240 I240 I240 I241 I241 I241 I241 I241 I242 I242 I242 I242 I243 I243 I243 I243 I243 I244 I244 I244 I244 I244 I245 I245 I245 I245 I246 I246 I246 I246 I246 I247 I247 I247 I247 I247 I248 I248 I248 I248 I249 I249 I249 I249 I249 I250 I250 I250 I250 I250 I251 I251 I251 I251 I252 I252 I252 I252 I252 I253 I253 I253 I253 I253 I254 I254 I254 I254 I255 I255 I255 I255 I255 I256 I256 I256 I256 I256 I257 I257 I257 I257 I258 I258 I258 I258 I258 I259 I259 I259 I259 I259 I260 I260 I260 I260 I261 I261 I261 I261 I261 I262 I262 I262 I262 I262 I263 I263 I263 I263 I264 I264 I264 I264 I264 I265 I265 I265 I265 I265 I266 I266 I266 I266 I267 I267 I267 I267 I267 I268 I268 I268 I268 I269 I269 I269 I269 I269 I270 I270 I270 I270 I270 I271 I271 I271 I271 I272 I272 I272 I272 I272 I273 I273 I273 I273 I273 I274 I274 I274 I274 I275 I275 I275 I275 I275 I276 I276 I276 I276 I276 I277 I277 I277 I277 I277 I278 I278 I278 I278 I279 I279 I279 I279 I280 I280 I280 I280 I280 I280 I281 I281 I281 I281 I282 I282 I282 I282 I282 I283 I283 I283 I283 I284 I284 I284 I284 I284 I285 I285 I285 I285 I285 I286 I286 I286 I286 I287 I287 I287 I287 I287 I288 I288 I288 I288 I288 I289 I289 I289 I289 I290 I290 I290 I290 I290 I291 I291 I291 I291 I291 I292 I292 I292 I292 I293 I293 I293 I293 I293 I294 I294 I294 I294 I295 I295 I295 I295 I295 I296 I296 I296 I296 I296 I297 I297 I297 I297 I298 I298 I298 I298 I298 I299 I299 I299 I299 I299 I300 I300 I300 I300 I301 I301 I301 I301 I301 I302 I302 I302 I302 I302 I303 I303 I303 I303 I304 I304 I304 I304 I304 I305 I305 I305 I305 I305 I306 I306 I306 I306 I307 I307 I307 I307 I307 I308 I308 I308 I308 I308 I309 I309 I309 I309 I310 I310 I310 I310 I310 I311 I311 I311 I311 I311 I312 I312 I312 I312 I313 I313 I313 I313 I313 I314 I314 I314 I314 I314 I315 I315 I315 I315 I316 I316 I316 I316 I316 I317 I317 I317 I317 I317 I318 I318 I318 I318 I319 I319 I319 I319 I319 I320 I320 I320 I320 I320 I321 I321 I321 I321 I322 I322 I322 I322 I322 I323 I323 I323 I323 I323 I324 I324 I324 I324 I325 I325 I325 I325 I325 I326 I326 I326 I326 I326 I327 I327 I327 I327 I328 I328 I328 I328 I328 I329 I329 I329 I329 I329 I330 I330 I330 I330 I331 I331 I331 I331 I331 I332 I332 I332 I332 I332 I333 I333 I333 I333 I334 I334 I334 I334 I334 I335 I335 I335 I335 I335 I336 I336 I336 I336 I337 I337 I337 I337 I337 I338 I338 I338 I338 I339 I339 I339 I339 I339 I340 I340 I340 I340 I340 I341 I341 I341 I341 I342 I342 I342 I342 I342 I343 I343 I343 I343 I343 I344 I344 I344 I344 I345 I345 I345 I345 I345 I346 I346 I346 I346 I346 I347 I347 I347 I347 I348 I348 I348 I348 I348 I349 I349 I349 I349 I350 I350 I350 I350 I350 I351 I351 I351 I351 I351 I352 I352 I352 I352 I353 I353 I353 I353 I353 I354 I354 I354 I354 I354 I355 I355 I355 I355 I356 I356 I356 I356 I356 I357 I357 I357
    357 PRT:11 ISR:6A90 I358 I358
    358 PRT:11 ISR:0000 I359 I359
    359 PRT:11 ISR:0000 I360 I360
    360 PRT:11 ISR:0000 I361 I361
    361 PRT:11 ISR:0000 I362 I362
    362 PRT:11 ISR:0000 I363 I363
    363 PRT:11 ISR:0000 I364 I364
    364 PRT:11 ISR:0000 I365 I365
    365 PRT:11 ISR:0000 I365 I366
    366 PRT:11 ISR:0000 I366 I367
    367 PRT:11 ISR:0000 I367 I368
    368 PRT:11 ISR:0000 I368 I368
    369 PRT:11 ISR:0000 I369 I369
    370 PRT:11 ISR:0000 I370 I370
    371 PRT:11 ISR:0000 I371 I371
    372 PRT:11 ISR:0000 I372 I372
    373 PRT:11 ISR:0000 I373 I373
    373 PRT:11 ISR:0000 I374 I374
    374 PRT:11 ISR:0000 I375 I375
    375 PRT:11 ISR:0000 I376 I376
    376 PRT:11 ISR:0000 I377 I377
    377 PRT:11 ISR:0000 I378 I378
  > 378 PRT:11 ISR:0000 I379 I379
    379 PRT:11 ISR:0000 I380 I380
    380 PRT:11 ISR:0000 I381 I381
    381 PRT:11 ISR:0000 I381 I382
    382 PRT:11 ISR:0000 I382 I383
    383 PRT:11 ISR:0000 I383 I384
    384 PRT:11 ISR:0000 I384 I385
    385 PRT:11 ISR:0000 I385 I385
    386 PRT:11 ISR:0000 I386 I386
    387 PRT:11 ISR:0000 I387 I387
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 05 June 2022, 03:05:48
The online configuration tool is working well, but when I compile from the source code, the keyboard is not working and is stuck in a permanent loop.

Great. Glad to hear that the latest prebuild firmware works well with Z-150 AT.

OK. Let's discuss about your problem on github.
https://github.com/tmk/tmk_keyboard/issues/741
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 21 July 2022, 22:57:57
Confirmed IBM 5576-002 support (https://github.com/tmk/tmk_keyboard/issues/688) and fixed minor bug (https://github.com/tmk/tmk_keyboard/commit/56e88e8bb6a755154dad31b68442a7aae70ce9e1).
New IBMPC converter firmware is available now at online editor and github repo.

5576-003 should work also but not confirmed yet. Anyone with the keyboard, let me know your result.

Title: Re: TMK IBM PC Keyboard Converter
Post by: depletedvespene on Wed, 07 September 2022, 20:44:50
What is the proper "magic" sequence when plugging the IBMPC-USB converter to force it into the bootloader?

I loaded TMK onto a (orihalcon-made) Soarer's Converter cable. It works, but I forgot to add the BTLD command to the layout and now I can't go into the bootloader mode to make further changes to the layout I want.


FULL GORY STORY AHEAD:


I have plenty of (orihalcon-made) Soarer's Converter cables. As you surely know, Soarer is by now abandonware and I've run out of patience. I figured that, given those cables have an ATmega32U4 chip, it should be possible to load TMK onto them and use them as TMK cables instead. So...


Given this was now working, I decided to make a few further adjustments to the layout in the Editor. After downloading the new .hex file, I realized I could not go into the bootloader, as I had forgotten to add the BTLD command in the first layout. Soarer's Converter cables do NOT have a physical RESET button, so that is not an option.

Running SCBOOT.EXE again does not work, as the cable is not recognized as a Soarer's Converter anymore.

According to https://github.com/tmk/tmk_keyboard/wiki/TMK-Magic-Command (https://github.com/tmk/tmk_keyboard/wiki/TMK-Magic-Command) , there should be Magic commands available, including Shift-Shift-Space-B to jump to bootloader, but I haven't been able to make that work, either. So, I got this datum wrong AND/OR I'm doing something incorrectly.

So, what is or should be the way to go into the bootloader?


Thanks.



P.S: upon boot, TMK reports itself as TMK:56e88e/LUFA:d6a7df .
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 07 September 2022, 21:24:51
I just checked source codes in repository.
Current default prebuilt firmwares doesn't support 'Magic commands', you can't  unfortunately.

Around Aug, 2021 I disabled the feature apparently for some reason that I can't remember.
I'll update firmware with enabling 'Magic commands' again on next release. With the new firmware you will use key combo like 'LShift+RShift+Pause' or 'LAlt+RAlt+Pause' to enter bootloader/programming mode.

Code: [Select]
        - Magic -
d:      debug
x:      debug matrix
k:      debug keyboard
m:      debug mouse
v:      version
s:      status
c:      console mode
0-4:    layer0-4(F10-F4)
Paus:   bootloader
n:      NKRO



But this can't help you in this situation...

Assuming Orihalcon converter doesn't have reset/program button, this would be only feasible method that I can come up.
You may want to ask Orihalcon about how to start into program mode in easier way before trying this.

You have to access RESET pin and optionally PE2(HWB) pin phyhsically
To access the pins you will have to break USB-A connector mold/case, I think that ATmega32u4 MCU in the connector.

- You can make short circuit betwenn RESET pin and GND temporarily to start program mode.
- PE2(HWB) should be pulled down to GND, it is already done by manufacturer in may cases.

Check this datasheet for the pin positions.
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf

Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Wed, 07 September 2022, 21:39:56
New prebuilt firmware files are available on Keymap Editor and github repo now.

- Add support for SIEMENS PCD 2 Keyboard (https://github.com/tmk/tmk_keyboard/issues/747).
- Make 'Magic commands' (https://geekhack.org/index.php?topic=103648.msg3139810#msg3139810) enabled again.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 16 February 2023, 21:32:53
Fixed a problem on XT keyboard startup, that introduced with the last update in 2022-09.
https://github.com/tmk/tmk_keyboard/issues/751

Update source code and prebuilt firmware in github repo. The latest firmware is also available in Keymap Editor now.
Title: Re: TMK IBM PC Keyboard Converter
Post by: gumilarganjar on Sun, 19 February 2023, 05:50:02
Dear Hasu, I found trouble flashing TMK firmware using QMK toolbox for my teensy-converted IBM model F XT. Flashing soarer's converter using this method was fine (currently typing on it), but boot-loop or flash-loop happened when I tried flashing TMK.

Here is the error:

*** Halfkay device connected: (null) (null) (16C0:0478:0120)
*** Attempting to flash, please don't remove device
>>> teensy_loader_cli -mmcu=atmega32u4 /Volumes/GG NVME/Download NVME/unimap.hex -v
    Teensy Loader, Command Line, Version 2.1
    Read "/Volumes/GG NVME/Download NVME/unimap.hex": 28390 bytes, 88.0% usage
    Found HalfKay Bootloader
    Programming...error writing to Teensy
 
What is actually the problem here?
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 19 February 2023, 07:07:31
Show log prints when flashing Soarer's firmware successfully.

what's actually your hardware for converter? (Teensy 2.0, I think)
Wrong hex, perhaps? You can attach the unimap.hex file so that I can check.

The path 'GG NVME' part includes space character, it is still likey to cause a error with some command line tool, perhaps.
Good old people know this well but it is worth referring for youths.
Title: Re: TMK IBM PC Keyboard Converter
Post by: gumilarganjar on Sun, 19 February 2023, 10:32:28
Yes, Teensy 2.0.

anyway, I tried changing the file pathway through folders that contain no space, and I used your prebuild firmware from this url
http://www.tmk-kbd.com/tmk_keyboard/editor/unimap/?ibmpc_usb_32u4_xt, unmodified

---

Here is another attempt at flashing the teensy

*** QMK Toolbox 0.1.1 (http://qmk.fm/toolbox)
    Supported bootloaders:
     - ARM DFU (APM32, Kiibohd, STM32, STM32duino) via dfu-util (http://dfu-util.sourceforge.net/)
     - Atmel/LUFA/QMK DFU via dfu-programmer (http://dfu-programmer.github.io/)
     - Atmel SAM-BA (Massdrop) via Massdrop Loader (https://github.com/massdrop/mdloader)
     - BootloadHID (Atmel, PS2AVRGB) via bootloadHID (https://www.obdev.at/products/vusb/bootloadhid.html)
     - Caterina (Arduino, Pro Micro) via avrdude (http://nongnu.org/avrdude/)
     - HalfKay (Teensy, Ergodox EZ) via Teensy Loader (https://pjrc.com/teensy/loader_cli.html)
     - LUFA Mass Storage
    Supported ISP flashers:
     - AVRISP (Arduino ISP)
     - USBasp (AVR ISP)
     - USBTiny (AVR Pocket)
*** HID console connected: Soarer Soarer's Keyboard Converter (16C0:047D:0100)
  > r20 +07 d07
  > rA0 -07 u07
  > rD2 -62 u62
*** Auto-flash enabled
*** HID console disconnected: Soarer Soarer's Keyboard Converter (16C0:047D:0100)
*** Halfkay device connected: (null) (null) (16C0:0478:0120)
*** Attempting to flash, please don't remove device
>>> teensy_loader_cli -mmcu=atmega32u4 /Users/gumilarganjar/Local Documents/PERSONAL/SOARER/Soarer Controller/firmware/unimap.hex -v
    Teensy Loader, Command Line, Version 2.1
    Read "/Users/gumilarganjar/Local Documents/PERSONAL/SOARER/Soarer Controller/firmware/unimap.hex": 28390 bytes, 88.0% usage
    Found HalfKay Bootloader
    Programming....error writing to Teensy
[/size][/size]

---

and

This is the record for the succesful attempt of flashing Soarer:

** Halfkay device connected: (null) (null) (16C0:0478:0120)
*** Attempting to flash, please don't remove device
>>> teensy_loader_cli -mmcu=atmega32u4 /Users/gumilarganjar/Local Documents/PERSONAL/SOARER/Soarer Controller/firmware/Soarer_at2usb_v1.10_atmega32u4.hex -v
    Teensy Loader, Command Line, Version 2.1
    Read "/Users/gumilarganjar/Local Documents/PERSONAL/SOARER/Soarer Controller/firmware/Soarer_at2usb_v1.10_atmega32u4.hex": 14282 bytes, 44.3% usage
    Found HalfKay Bootloader
    Programming...
    Booting
*** Halfkay device disconnected: (null) (null) (16C0:0478:0120)
*** HID console connected: Soarer Soarer's Keyboard Converter (16C0:047D:0100)
  > wEE
   
    remaining: FFFC
   
   
    Keyboard ID: 0000
    Code Set: 1
    Mode: PC/XT
   
  >
 
---

Curiously, i tried flashing your default firmware onto Pro Micro and it was a success. I prefer the teensy since it come with a physical reset button.[/size]
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 19 February 2023, 16:32:40
Hmm, I can't know why Teensy loader fails to flash.
I'll have to find my Teensy2.0 in clutter room and try flashing myself.
EDIT: I found I don't have 2.0 anymore. But I can find 2.0++ and confirmed that it works with teensy_loader_cli.

Can you try PJRC tool(GUI or CUI) instead of the QMK toolbox and see if it also fails?
https://www.pjrc.com/teensy/loader.html
Title: Re: TMK IBM PC Keyboard Converter
Post by: gumilarganjar on Tue, 21 February 2023, 10:50:33
Followed your suggestion but still, no success. Could it be because me using macOS environment? Will try another OS as soon as i get one.
Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Thu, 15 June 2023, 21:33:44
[FIRMWARE UPDATE]

Add support for 'TERM FUNC' key on Siemens F500 in AT protocol

- https://github.com/tmk/tmk_keyboard/pull/760
- https://github.com/tmk/tmk_keyboard/commit/44eb0da1a5b96e0ca109b34fe22e052e4ad8ff33
Title: Re: TMK IBM PC Keyboard Converter
Post by: Mikhail on Sun, 27 August 2023, 05:52:55
Hello Hasu! Found an unnamed AT 84 keyboard https://imgur.com/a/BXD5r4l (https://imgur.com/a/BXD5r4l). In AT mode, it sometimes works, sometimes it doesn’t work with TMK, basically it doesn’t work. In XT mode, it works, but sometimes it turns off for a short time. It seems to work with the sorer as well as in the ps2 port. When I play Genshin, "A" key often sticks - moving to the left.
The keyboard does not have diodes and the chip does not limit pressing two adjacent buttons, so ghosting occurs. Also, the left modifiers are not isolated, and are triggered when two adjacent alphas are pressed. I drew a diagram, everything is there except for the connection to the LED panel. https://drive.google.com/file/d/1JXJWEAXTv-F7CT5aOXfu7hquM_GLZLgD/view?usp=share_link (https://drive.google.com/file/d/1JXJWEAXTv-F7CT5aOXfu7hquM_GLZLgD/view?usp=share_link)

HID listed in AT mode:

Code: [Select]
Device disconnected.
Waiting for new device:...
Listening:

TMK:1c528a/LUFA:d6a7df

USB configured.

Loop start.
I2500 I2500
2501 PRT:10 ISR:EA90 rAA A5501 wFF rFA A5504 wFF R R R R R R R R R R rAA W6213
6213 ERR:11 ISR:8000 wF2 rFA R7217
ID:0000(AT_IBM84) S7217 wED rFA w02 rFA L7223 X7223

r3C rF0 r3C r35 rF0 r35 r2C rF0 r2C r4B rF0 r4B r4B rF0 r4B r4B rF0 r4B r4B rF0 r4B r52 rF0 r52 r54 rF0 r54 r54 rF0 r54 r55 rF0 r55 r55 rF0 rAD !CS2_F0! AD
E59764
[CLR] I59764 A62765 wFF rFA
62768 PRT:10 ISR:FE90 rAA W63000 wF2 rF6 R63505
ID:FFFE(AT_ERROR) S63505 wED rFA w02 rFA L63511 r46 rF0
1618 ERR:01 ISR:2390 E1618
[CLR] I1619 A4620 wFF rFA
4623 PRT:10 ISR:FE90 rAA W4855 wF2 rFA r3E rF0 R5938
Unknown ID: Report to TMK wF0 isr:E400 wF0 rFA w03
ID:3EF0(AT) S5969 wED rFA w02 rFA L5975

r41 rF0 r41 r41 rF0 r41 r83 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41
4492 ERR:01 ISR:9050 E4493
[CLR] I4494
4623 PRT:10 ISR:FC10 rF0 r41
6036 ERR:01 ISR:A050 E6037
[CLR] I6037
6184 PRT:10 ISR:FC10 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 A9038 wFF rFA rAA W9273 wF2 rFA r41 rF0 R9856
Unknown ID: Report to TMK wF0 isr:5000 wF0 isr:8280
ID:41F0(AT) S9858 wED rFA w02 rFA L9864 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41
19389 PRT:22 ISR:82C0 [CHG] E19390
[CLR] I19391 rF0
19525 PRT:10 ISR:FC10 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41 rF0 r41 r41
22001 ERR:01 ISR:F810 E22002
[CLR] I22002
22007 PRT:10 ISR:D050 r41 r41 rF0 r41 r41 rF0 r41 A25004 wFF rFA
25239 ERR:01 ISR:D510 E25240
[CLR] I25240

Title: Re: TMK IBM PC Keyboard Converter
Post by: hasu on Sun, 27 August 2023, 21:39:50
It seems to fail to detect clock edge or read data for some reason.

Do you have pull-up resistors on signal lines? Without them signals can be degraded in some stituations.
https://github.com/tmk/tmk_keyboard/wiki/FAQ#pull-up-resistor

The keyboard may have unordinary signal timing perhaps, firmware can be improved in that case.

Can you try 'capture' firmware on you converter and post its log? It records how its signal changes.
https://github.com/tmk/tmk_keyboard/tree/signal_capture/converter/ibmpc_usb/binary
https://github.com/tmk/tmk_keyboard/wiki/Signal-Capture-for-debug/#signal-capture-firmware

If you have logic analyzer or o'scope use it to see signals instead of the 'capture' firmware.
Title: Re: TMK IBM PC Keyboard Converter
Post by: Mikhail on Mon, 28 August 2023, 12:43:10
Yea, thank you, it seems pull-up resistors solves all problems!
Title: Re: TMK IBM PC Keyboard Converter
Post by: Mikhail on Mon, 04 September 2023, 17:58:25
Started catching short blackouts

Code: [Select]
rF0 r1D r1D rF0 r1D r1D rF0 r1D r23
4912 ERR:01 ISR:F810 E4912
[CLR] I4914
4919 PRT:10 ISR:88D0 r23 r1C r1D rF0 r1C rF0 r1D rF0 r12 A7916 wFF rFA rAA W8151 wF2 rFA R9156
ID:0000(AT_IBM84) S9156 wED rFA w02 rFA L9162 r1D rF0 r1D r23 rF0 r23 r1C rF0 r1C r14 r21 rF0 r21 rF0 r14 r5A rF0 r5A r5A rF0 r5A r1B rF0 r1B r2C r1C rF0 r2C rF0 r1C r2D rF0 r2D r66 rF0 r66 r66 rF0 r66 r66 rF0 r66 r66 rF0 r66 r12 r1B rF0 r1B rF0 r12 r2C rF0 r2C r1C r2D rF0 r1C rF0 r2D r66 rF0 r66 rDA !CS2_INIT!
E20151
[CLR] I20151
20239 PRT:10 ISR:FC10 rF0 r5A r5A rF0 r5A r5A rF0 r5A r5A rF0 r5A r5A rF0 r5A r5A rF0 r5A A23153 wFF rFA rAA W23388 wF2 rFA R24392
ID:0000(AT_IBM84) S24392 wED rFA w02 rFA L24398 r5A rF0 r5A r66 rF0 r66