• Please review our updated Terms and Rules here

Epson QX owners - please join

The QX-10 keyboard interface is well described in the Technical Manual, chapter 7. It is possible to interface a PS/2-keyboard via an Arduino to the QX-10 keyboard scan codes. It wouldn't be perfect, but usable. It uses 1200 Baud, but the clock is provided by the QX-10 main board. I don't expect it to be hard, but AFAIK it isn't done yet.

Greetings,

Fred Jan
Thank you for the information, Fred. I have never tried to build a keyboard interface before but who knows, maybe I’ll surprise myself. If I get this figured out I’ll share with the group.
 
Thank you for the information, Fred. I have never tried to build a keyboard interface before but who knows, maybe I’ll surprise myself. If I get this figured out I’ll share with the group.
I've recently put together a simple board based around the pi pico that can emulate the QX-10 keyboard using a USB keyboard. I use one of the of the PIO to implement the synchronous serial protocol used by the QX-10 and at USB OTG adapter to connect my keyboard to the pico. It currently works fairly well with my QX-10 and QX-16. I designed this because I wanted to be able to pretend to be an ASCII variant keyboard, all my current keyboards use the HASCI layout.

You can find the current kicad and firmware source files on my QX10 github repository.

PXL_20240824_222752875.jpg
 
I got my QX-16 working again. After modifying the QX-10 monochrome CRT to be able to use a 12vdc wall wart I got sidetracked with other project. When I came back to the QX16 I used the wrong adapter, right voltage, but too low current, and the CRT was acting up. It took a friend looking things over to figure out what was wrong. :mad: So I have it setup and booting to CP/M for now. I'm using a QX10 keyboard on it since the QX16 keyboard has foil membrane keys and the TexElec foils are not exact replacements, IMHO. It seems time is my worse enemy and getting MSDOS working is my next dream. Plus adding the CF card adapter I've built from the bare board from Scott. Software is not my forte and GitHub scares the heck out of me. My aging brain cells need a lot more hand holding to understand what I'm looking at. When I went through navy electronics school the navy was just switching to transistors and I leaned troubleshooting working with tubes.
 
@brijohn: That is one cool project! I expected it was doable, but didn't want to try it myself. And the box really makes it complete!

Congratulations!

Fred Jan
 
I got my QX-16 working again. After modifying the QX-10 monochrome CRT to be able to use a 12vdc wall wart I got sidetracked with other project. When I came back to the QX16 I used the wrong adapter, right voltage, but too low current, and the CRT was acting up. It took a friend looking things over to figure out what was wrong. :mad: So I have it setup and booting to CP/M for now. I'm using a QX10 keyboard on it since the QX16 keyboard has foil membrane keys and the TexElec foils are not exact replacements, IMHO. It seems time is my worse enemy and getting MSDOS working is my next dream. Plus adding the CF card adapter I've built from the bare board from Scott. Software is not my forte and GitHub scares the heck out of me. My aging brain cells need a lot more hand holding to understand what I'm looking at. When I went through navy electronics school the navy was just switching to transistors and I leaned troubleshooting working with tubes.
I actually have a original QX-16 monitor, but have been playing around with using an RGBtoHDMI for generating the video signal because I want to get color out of the QX-16 particularly for MS-DOS CGA. (If finding a monochrome QX-16 CRT is hard, then finding a color one is almost impossible). I've come up with a working CGA profile for MS-DOS and a green monochrome one for use with CP/M.

Yeah the rubber dome/foil keyboard variant is not great, i have three of those and all three had non working keys due to the foam deteriorating. I did managed to repair one of them using some Brother keyboard contacts, though I think they are slightly larger then is ideal and some of the keys feel stiffer when depressing them, but all the keys work now at least.
 

Attachments

brijohn, I've been looking for a QX-16 monitor for years, mono or color, and I agree they are both rarer than unicorns, it seems. I never found a mono QX16 monitor. I did find a 2nd QX10 mono monitor that I've yet to test to see if it functions., but I couldn't let it go into recycling and grabbed it.

When I first worked on my first QX10 monitor I had to decide - modify the monitor or modify the QX16 to made the two play nice with each other. I believe adding an extra 12 volt power supply to the QX16 should be possible and routing a wire to the necessary pin on the video output should complete the mod's. There's some cheap 12V switching supplies on Amazon that should work.

I took the other route and used my bench power supply to measure the current draw by the monitor and realized I could just power the monitor with a wall wart and I had a couple of them here. For others reading this in the future, a 12 volt DC with 1 amp or more output adapter works and all you do is get power to the terminal strip inside the QX10 monitor with some wiring and a jack through the monitor's plastic case. I did it this way since it was cheap and there was a QX16 with QX10 monitor owner in Texas that wanted me to supply him with a cheap kit to make his system work. He didn't want to open his QX16, I believe.
 
Hello, i have a QX-11 with Floppy issues, i like to install linux with some hardware mods
Hello Dan....what country do you live?

First, it would be great if you can send pictures of your qx11. If possible can you take pictures of the inside of the qx11 showingneach of its ICs?

Second and this is a farther reach, do you have access to a eeprom writer/reader..can you take a copy of the qx11 ROM chips?

Third, I dont think it is possible to install Linux in a qx11. The Linux kernel runs in i386's protected mode, so. asically you need a 386 processor to run it. There is a project called ELKS that is a limited version of Linux you can run in an intel 8088 processor but it is extremely limited, so i dont know if that will work for what you are looking for.

last but not least, if you want to sell that qx11 I will like to buy from you..

have a good one
V. Prada
 
I found some additional information about the QX11..Same as the Qx10 in Japan the Qx11 was released as the QC11.

Another feature besides having MSDOS 2.11 in ROM, the qc11 had a rom cartridge. I never heard of anybody using the ROM cartidge in latin america, but in Japan there was a cartridge with all the japanese kanji characters. The cartridge allowed the QX11 to display japanese characters on screen.

Also looking a the motherboard pictures ettore published I was able to verify that the qx11 have a Texas Instrument SN76489. The 76489 is the same sound chip used on the IBM PcJr , the sega genesis, tandyn1000 and also on many arcades.

The QX11 also uses the same Floppy controller as an IBM PC, but despite n of that the format used in the 31/2 inches disk formatted on a qx11 was not readable on an IBM pc or viceversa.

I still wonder why this machine didnt make it into the american market. So far only places I have met people knowing the existance of the qx 11 are Japan and for some odd reason Venezuela.

20250314_120046.jpg
 

Attachments

  • 20250314_124240.jpg
    20250314_124240.jpg
    54.1 KB · Views: 12
I've recently put together a simple board based around the pi pico that can emulate the QX-10 keyboard using a USB keyboard. I use one of the of the PIO to implement the synchronous serial protocol used by the QX-10 and at USB OTG adapter to connect my keyboard to the pico. It currently works fairly well with my QX-10 and QX-16. I designed this because I wanted to be able to pretend to be an ASCII variant keyboard, all my current keyboards use the HASCI layout.

You can find the current kicad and firmware source files on my QX10 github repository.

View attachment 1285356
John... did you ordered the PCBs for the adapter from a provider like pcbway ? or someone else ?
I would like to order the PCB to use an adapter for my QX-11
 

Attachments

  • IMG-20250805-WA0012.jpg
    IMG-20250805-WA0012.jpg
    64.2 KB · Views: 8
  • QX11-Front.jpg
    QX11-Front.jpg
    41.2 KB · Views: 8
  • QX11-back.jpg
    QX11-back.jpg
    42.2 KB · Views: 8
Last edited by a moderator:
John... did you ordered the PCBs for the adapter from a provider like pcbway ? or someone else ?
I would like to order the PCB to use an adapter for my QX-11
I usually use jlcpcb rather then pcbway for ordering my boards, but either should work fine. That being said i am not sure if this adapter will work with a QX-11 or not since i don't have any knowledge of how the keyboard on a QX-11 communicates with the system. It might have a different pinout or connector or the communication protocol might be different.
 
I usually use jlcpcb rather then pcbway for ordering my boards, but either should work fine. That being said i am not sure if this adapter will work with a QX-11 or not since i don't have any knowledge of how the keyboard on a QX-11 communicates with the system. It might have a different pinout or connector or the communication protocol might be different.
They used the same keyboard... the HASCI keyboard for Valdocs.
The picture attached is from a catalog from EPSON in Japan.
Worst case scenario, I'm pretty sure your adapter will be an excellent starting point, so I really appreciate your work.
On the second picture of an QX-16, that particular one is using the same monitor and same keyabord I had on my QX-11 many years ago.
The QX-11 and the QX-16 shared much of the hardware (same floppy drive system using an EPSON GAFDDC, same ICRT IBM video card, etc) so It makes sense they would use the same keyboard and CRT.

I'll let you know ...
Thanks again

keyboard_qx11.jpegqx-16-with-keyboard.webpkeyboard_qx11.jpegqx-16-with-keyboard.webp
 
Last edited:
They used the same keyboard... the HASCI keyboard for Valdocs.
The picture attached is from a catalog from EPSON in Japan.
Worst case scenario, I'm pretty sure your adapter will be an excellent starting point, so I really appreciate your work.
On the second picture of an QX-16, that particular one is using the same monitor and same keyabord I had on my QX-11 many years ago.
The QX-11 and the QX-16 shared much of the hardware (same floppy drive system using an EPSON GAFDDC, same ICRT IBM video card, etc) so It makes sense they would use the same keyboard and CRT.

I'll let you know ...
Thanks again
Oh nice that it seems to support the same keyboard interface/protocol across all the QC/QX systems then. You might still have an issue with the current firmware on the QX-11, though that could likely be fixed. When testing on my QX-16 CP/M works fine, but i have issues with the MS-DOS side of things where POST gets a keyboard timeout. I think the issue is that CP/M doesn't really try to send any commands to the keyboard during boot, but MS-DOS does and is either not getting a response or getting the wrong one. I haven't really had the time to sit down and try to debug what is going wrong. This might also be an issue with the QX-11 version of MS-DOS.
 
I took advantage of ChatGPT and asked it to analyze the POST in the BIOS for the QX-16. During post the BIOS try to talk with address 0x0375 (memory address for the keyboard). The bios is expecting a code 0xAA from the keyboard.
I haven't check your firmware, but It probably is just matter of sending the 0xAA when the machine first try to reach the keyboard.
 
They used the same keyboard... the HASCI keyboard for Valdocs.
The picture attached is from a catalog from EPSON in Japan.
Worst case scenario, I'm pretty sure your adapter will be an excellent starting point, so I really appreciate your work.
On the second picture of an QX-16, that particular one is using the same monitor and same keyabord I had on my QX-11 many years ago.
The QX-11 and the QX-16 shared much of the hardware (same floppy drive system using an EPSON GAFDDC, same ICRT IBM video card, etc) so It makes sense they would use the same keyboard and CRT.

I'll let you know ...
Thanks again

View attachment 1306070View attachment 1306071View attachment 1306070View attachment 1306071

I need to correct one of my statements...
I have a picture of the QX-11 IBM ICRT emulation card and it seems the card have the same circuits and chips but it is not exactly the same ICRT card that comes inside a QX-16.
On the QX-16 this card is named APX-ICRT but as you can tell from the Picture, on the QX-11 the card is labeled as VNS-ICRT.

That being said, both cards share the same circuit.. or at least the same chips ... both cards have the 6845 CRT controller, the EPSON GAIBVA and GAIBVB chips, both cards have the character ROM inside an HY27640 EPROM and both cards have 32Kb of VRAM. The APX ICRT have a cable that connects to the native video card for the QX-16. On the QX-11 that doesn't exists. The QX-11 have the same native video modes from the QX-16, but the QX-11 have a single Gate Array labeled as GAVDP (I guess short for Video Processor ??? ) ? The native VDP on the QX-11 have 48K of VRAM (distributed among 6 HM48416 ram chips). (see picture 2)



IMG-20250813-WA0058.jpg


IMG-20250813-WA0049.jpg
 
I took advantage of ChatGPT and asked it to analyze the POST in the BIOS for the QX-16. During post the BIOS try to talk with address 0x0375 (memory address for the keyboard). The bios is expecting a code 0xAA from the keyboard.
I haven't check your firmware, but It probably is just matter of sending the 0xAA when the machine first try to reach the keyboard.
So 0xAA IS a status code on PS/2 Keyboards that means the self-test passed when the keyboard is reset. However when reading Epson's QX-10 tech manual section regarding its keyboard protocol no mention of the keyboard using a 0xAA status code is mentioned, it only says that the reset command will return a 0x00 or 0xFF depending if a key is depressed or not.
 
So 0xAA IS a status code on PS/2 Keyboards that means the self-test passed when the keyboard is reset. However when reading Epson's QX-10 tech manual section regarding its keyboard protocol no mention of the keyboard using a 0xAA status code is mentioned, it only says that the reset command will return a 0x00 or 0xFF depending if a key is depressed or not.
I asked chatgpt the question again, and it changed the tune...this is the new chatgpt's answer

Early in POST the ROM reads an I/O status port at 0x18, then masks off two status bits and classifies the result. The pass condition is:

> (status & 0x60) == 0x60 → keyboard present/OK



In the ROM this shows up as:

IN AL, 0x18 (read the keyboard/KB‑interface status)

MOV AH, AL (keep an unmasked copy)

AND AL, 0x60 / AND AH, 0x60

compare against 0x60 to decide OK vs error classes (only 0x40 set = one error class; anything else = another)


So the POST isn’t waiting for a PS/2‑style BAT byte (0xAA). It’s simply looking for those two status bits to be set when it polls the keyboard interface.

How your adapter should behave at power‑on

1. Expose a status register at I/O port 0x18.
When the BIOS reads this port during POST, set both bits 5 and 6 = 1 so that read & 0x60 == 0x60. (If you only set bit 6, POST classifies it as an error; if neither is set, it’s another error path.)


2. Don’t flood the machine with scancodes during POST.
There’s a “stuck keys” path if the firmware keeps seeing unwanted key activity right after init. Keep your “data available” path quiet until the system is running.


3. Handle the control pokes.
The ROM twiddles a few control ports (you’ll see OUTs to small I/O ports like 0x3A, 0x07, 0x05, etc.) as part of bring‑up. You don’t need to do much with them beyond accepting the writes; just make sure your status at 0x18 still reports “OK” immediately afterwards.


4. After POST, just behave like a sane keyboard source.
 
Back
Top