• Please review our updated Terms and Rules here

AT2XT keyboard converter

After moving to the new forum engine, many links seem broken.
Cannot download source code from the first post.
@Erik - may you repost?
Thank you
 
After moving to the new forum engine, many links seem broken.
Cannot download source code from the first post.
@Erik - may you repost?
Thank you
@A. Fig Lee Not sure if it is the most up to date but I created an account on the forum listed in the first comment on this thread and was able to download a zip of everything here is the code, schematics, hex file, etc. Not sure if there were any updates to this project but it should at least be a good enough starting point if it isn't.
 

Attachments

  • at2xtkb.zip
    414.8 KB · Views: 77
I was afraid that was going to happen--and I suspect it's just the tip of the iceberg. At any rate, if Erik can't find it, I still have the original.

@A. Fig Lee Not sure if it is the most up to date but I created an account on the forum listed in the first comment on this thread and was able to download a zip of everything here is the code, schematics, hex file, etc. Not sure if there were any updates to this project but it should at least be a good enough starting point if it isn't.
Thank you both!

:)
 
I looked @ assembler source and there is a reference to PIC12F675 which seem same as PIC12F629 but with ADC added.
And there is a line commented out to disable analog input, but hex seem compiled for PIC12F629.
Interesting, what assembler is that?
Not a regular from Microchip/MPLAB X..
 
The old Microchip assembler, mpasm. You can find a copy here. I don't know if the Microchip site still offers it as part of their MPLAB package.
Thank you.
Yes, Microchip, I believe from version 5.40, switched from mpasm to pic-asm. I guess to include all their line, including Atmel (?).
And this one is different.
I managed downloaded 5.35 and set on VM Windows 10 64 bit. Even though it compiled virtually fine (commented out if directive fot table size checking) MPLAB complined that there is no support for 64 bit.
JFYI.
 
Thanks, but I barely remember the instruction set of that little PIC. I doubt that I'll be revisiting the platform anytime soon. The keyboard project dates from a time when I was still using XP as my development platform.
 
Idea is to port all this knowledge to USB<->XT converter. But the road from idea to implementation is not smooth one
 
Well, I'd probably resort to a "Blue Pill" type solution. The STM32F107 does USB pretty well and has enough open-drain 5V tolerant I/O to make it reasonable--and it's cheap. And you can program it in C. It is a bit strange to use a 72MHz 32-bit MCU to interface to a 16-bit 4.77 MHz PC.
 
Last edited:
Well, I'd probably resort to a "Blue Pill" type solution. The STM32F107 does USB pretty well and has enough open-drain 5V tolerant I/O to make it reasonable--and it's cheap. And you can program it in C. It is a bit strange to use a 72MHz 32-bit MCU to interface to a 16-bit 4.77 MHz PC.
It is strange. Even use 4.77 MHz IBM PC XT is strange, but here we are. I was thinking about PIC24FJGBXXX
 
There are a lot of potential solutions, including some very low-priced Chinese micros that claim USB OTG. Since I don't own a single USB keyboard, this isn't a project for me. Most of mine are Model Ms.
 
Thanks for the great project, Chuck! It's still very relevant. In case anyone needs to, assembling the code is pretty straightforward on a current linux system. I did this on a Raspberry Pi. I had to do it because I only have a PIC12F675 handy.

First, get the current version of gputils:

Code:
svn checkout svn://svn.code.sf.net/p/gputils/code/trunk .
cd gputils
./configure && make
make install

This will install gputils, including the gpasm assembler. Then

Code:
gpasm xtatkey.asm

You can safely ignore the RAM bank warnings. Then just program your PIC with the hex file. In my case, I use a TL866A programmer:

Code:
git clone https://gitlab.com/DavidGriffith/minipro.git
cd minipro
make && make install
minipro -p "PIC12F675" -w xtatkey.hex

I did have to change a couple of lines to get it to assemble cleanly. I attached my version to this post.
 

Attachments

  • xtatkey.zip
    13.6 KB · Views: 3
I'm currently assemling the Micro8088 and wanted to program the PIC12F629 with the AT2XT firmware using the XGecu T48 (using the latest XGecu 12.66 software). Verification after programming failed and from that point on, the PIC12F629 returns all zeros. Is it fried now?

How did other people program their chip? What options do I have in order to program the 12F629? Is the minipro software able to properly program it (never had to use it, because usually the XGecu software did it job)? Do I need another programmer? Would it work with another PIC, if I disable "Erase before" in the XGecu software (just a vague idea, because erase might delete some important whatever-factory-value - this was the only hint I got out of the internet for now)? I have one spare 12F629 left, but I'm too afraid to try anything with the last one.
 
What interface did you use to program it? I know some of the other chips require one to use a 5V RS232 signals and not the typical higher voltage RS232 signals. I'm not that familiar with the PIC parts.
Dwight
 
There have been several over the years. When I did the prototype, I used the serial port programmer (https://www.talkingelectronics.com/projects/Pic ProgrammerMkV 12 Parts/PicProgrammer-12Parts.html). However, a PICKIT2 USB unit also works and there are lots of far East clones of it, for example: https://www.ebay.com/itm/401214379687

I've heard that the PICKIT3 doesn't work flawlessly with the 12F chips, so I'd avoid that.

I currently use OpenOCD on Linux, but there are various other programming tools.
 
What interface did you use to program it? I know some of the other chips require one to use a 5V RS232 signals and not the typical higher voltage RS232 signals. I'm not that familiar with the PIC parts.
Dwight

I'm not familiar with the PICs at all. I just plugged in into the ZIF socket of the programmer, read it first in order to ensure that it's inserted correctly. Then loaded the HEX and hit the "program" button.

Meanwhile, I discovered, that the reason for returning zeros might indicate that the device is now code protected, according to a screenshot from the "Memory Programming Specification" I found on the internet. But I'm not able to disable the protection / erase the device. Also I'm afraid, that the "Erase before" option of my programmer did clear the thing at the end of the memory, that's factory programmed and required for some clock or whatever.
 
What were you using to program the flash on the PIC? MPLAB (the standard package) protects certain configuration words; if you zero them, you'll have a heckuva time programming the thing. Flash, has in addition to clock source, but also Device ID, etc.
 
Back
Top