• Please review our updated Terms and Rules here

IBM XT 5160 keyboards

silcreval

Experienced Member
Joined
Mar 15, 2009
Messages
73
Location
UK
I'm a newbie to the XT so sorry if this is an easy question. I checked
the FAQ but couldnt seen anything on keyboards.

I've got a working XT (hard disk doesnt work but the floppy is OK)
which will boot, memory tests out OK and will show BASIC when
F1 is pressed. I'm using an IBM 101 key keyboard which came with
the system. Its fitted with 640K RAM on board, BIOS is dated 1986.

A few questions:

1) Is the keyboard an AT keyboard? I've tried plugging a regular (ie
modern) PS/2 style keyboard into the XT (with an adapter) and it
doesnt work. So I'm assuming the XT requires a special keyboard?

2) There is no BIOS page to show settings with the XT from what I
can see? Is everything done with DIP switches? How does the 5160
know what type of floppy disk unit is being used?

3) I get the code '301' appearing when the XT boots, then the memory
check. What does this mean?

Many thanks!
 
A few questions:

1) Is the keyboard an AT keyboard? I've tried plugging a regular (ie
modern) PS/2 style keyboard into the XT (with an adapter) and it
doesnt work. So I'm assuming the XT requires a special keyboard?
Yes, the usual XT ones had only 83 keys, some Model M keyboards got the posibility to automaticly determine if it's operating under a XT or an AT (you problably got one of therse). Some 3rd party keyboards got a swtich to switch between XT and AT operation.

2) There is no BIOS page to show settings with the XT from what I
can see? Is everything done with DIP switches? How does the 5160
know what type of floppy disk unit is being used?
Yes, there is a 8-switch DIP on the systemboard. The floppy disk type is not checked, only the number of floppy drives. It just assumes that it's a Double Density drive.

some third party HD floppy controllers got a BIOS extension overriding the floppydisk routine from the original XT BIOS.

3) I get the code '301' appearing when the XT boots, then the memory
check. What does this mean?
It means that there is some trouble with the keyboard, have you checked for stuck keys?


Welcome to the forums, by the way!
 
Last edited:
Guide to Operations

Guide to Operations

I'm going to look, I may have an extra Guide to Operations for this PC, If so I will send it to you.
It helps understand the Switches and the address points.
 
BTW...
I've connected an IBM M-type keyboard (model 1391406, from 1993, with PS/2 connector) to an XT clone, and all the keys work, but keyboard LEDs aren't lit when pressing NumLock/CapsLock/ScrollLock. I'm pretty sure those LEDs are operational, so where's the problem? Is this behavior normal for those keyboards? Or perhaps some BIOS incompatibility?
 
BTW...
I've connected an IBM M-type keyboard (model 1391406, from 1993, with PS/2 connector) to an XT clone, and all the keys work, but keyboard LEDs aren't lit when pressing NumLock/CapsLock/ScrollLock. I'm pretty sure those LEDs are operational, so where's the problem? Is this behavior normal for those keyboards? Or perhaps some BIOS incompatibility?

The leds are programable.

The original 83-key XT keyboard didn't have leds, and the BIOS doesn't got code to ligt/un-ligt them.

Stuff like Capslock/Numlock/Scrolllock are hardware driven by the keyboard in XT mode, while software driven in AT mode.
 
Thanks for the replies. I'd like to integrate the XT into my KVM
setup which is PS2 based hence the queries on the keyboard.

I'm guessing that I'm going to need a PS2 -> XT converter which
I'm also guessing is pretty hard to find :)

Looking the keyboard specs, the XT keyboard is a send only
device with a somewhat different format and different scan codes.

I guess I could make a small controller board to convert. Are the
voltage levels different by any chance as well?
 
The voltages are the same.

Some (but not all) Model M's power up in Scan Set 1, which is basically the PC XT scan code set. So you may not need a converter--but if you do, programming a single-chip microcontroller such as a PIC or AVR should be duck soup--there's source code to read and interpret the keyboard codes already out on the web.
 
The floppy disk type is not checked, only the number of floppy drives. It just assumes that it's a Double Density drive.
While that is true for the early IBM XTs, it is not for later ones. Later IBM XTs (BIOS dated 01/10/86 and later) also support 1.2MB drives.
Later IBM XTs still look at the motherboard switches to determine the count of diskette drives, but have routines in the BIOS to determine the drive type.

Note: The standard floppy controller supplied in the IBM XT does not support high density operation. Therefore, to fit a 1.2MB drive, one would also need to upgrade the floppy controller.
 
If you can get your hands on a switchable AT/XT board, and adapters for PC-PS/2 kbd & 9-pin-to-15-pin vid cables, nothing fancy should be needed to jack-in to your KVM. I have the switchable AT/XT kbd and both adapters if ya want 'em. You didn't post a loc, but if you're on the left side of the Atlantic, the shipping shouldn't kill ya (much). Pm me if interested.

--T
 
5160 Keyboard

5160 Keyboard

So if I am understanding all of this the difference between an XT and an AT keyboard is the signal processing (ie the XT did in the keyboard, but the AT does it in the BIOS).

This means that a standard PS/2 101 key keyboard would not work on at IBM 5160 even with the simple DIN to PS/2 adapter.

What are my option to somehow adapter a modern PS/2 Keyboard to use it with the 5160? Am I stuck trying to find a XT keyboard?
 
I don't get the BIOS-vs-keyboard statement.

Baiscally, the two types of keyboards are very close in implementation; the AT has some extra smarts and can do two-way communication (e.g. to turn on LEDs), while the XT version is essentially a one-way affair.

But the most significant difference is the matter of the codes sent back from the keyboard. A PS/2 keyboard sends a code that's basically the scan code of the key on make and F0 followed by the scan code of the key on break. Special keys generally add an extra byte as a prefix (e.g. E0) for both make and break.

XT keyboards send the 8-bit scan code on make, followed by the same code with bit 7 set (code + 128 ) .

To make a PS/2 keyboard work on an XT one could either modify an XT BIOS to accept the PS/2 scancode sequence or employ a little microprocessor (e.g. an AVR or PIC) between the keyboard to do the necessary translation.
 
Last edited:
So if I am understanding all of this the difference between an XT and an AT keyboard is the signal processing (ie the XT did in the keyboard, but the AT does it in the BIOS)

XT keyboards use a mono-directional signal. AT keyboards are bi-directional.

This means that a standard PS/2 101 key keyboard would not work on at IBM 5160 even with the simple DIN to PS/2 adapter.

IBM Model M keyboards are XT/AT autoswitching, but only work on XTs with the 1986 BIOS. Some keyboards have a switch on the bottom to select what mode they work in.

What are my option to somehow adapter a modern PS/2 Keyboard to use it with the 5160? Am I stuck trying to find a XT keyboard?

If you have an early XT, then yes. There's always lots of 83-key keyboards on Ebay though, so it's not something that's hard to find.
 
Thanks for the replies. I'd like to integrate the XT into my KVM
setup which is PS2 based hence the queries on the keyboard.

I'm guessing that I'm going to need a PS2 -> XT converter which
I'm also guessing is pretty hard to find :)

Impossible, actually. Well, not impossible, but I've been looking for over 15 years, so hey, good luck :)

XT and AT keyboards send different signals, so that's why an adapter is not easy.
 
If you have an early XT, then yes. There's always lots of 83-key keyboards on Ebay though, so it's not something that's hard to find.

How do I tell what year the BIOS is?

Based on some info on the box I would guess mine was made late (October) 1985.

Is it possible to flash upgrade the BIOS like you can today? Or is it a chip switch out, or simply not possible?
 
How do I tell what year the BIOS is?

If you have the 64k-256k motherboard, you have the 1982 BIOS and can only use 83-key keyboards. XTs with the 256k-640k motherboard have the 1986 BIOS. Also if you have full-height floppies, it's an early model, since the late XTs shipped with half-height drives. The BIOS ROMs should have a copyright date on them as well.

Is it possible to flash upgrade the BIOS like you can today? Or is it a chip switch out, or simply not possible?

You would have to do a chip switch.
 
Last edited:
To make a PS/2 keyboard work on an XT one could either modify an XT BIOS to accept the PS/2 scancode sequence or employ a little microprocessor (e.g. an AVR or PIC) between the keyboard to do the necessary translation.

Hmm, interesting idea.

Are there any resources out there on this? I tried to google such a thing, but could only find a way to make an XT keyboard work with an AT system, and obviously I want to go the other, less common, route.
 
How do I tell what year the BIOS is?
If you want a definite date, either:

1. Note the 7 digit part number on chip U18 and on chip U19 (e.g. 62X0851), then
2. Go to http://www.vintage-computer.com/vcforum/showthread.php?t=9693 and look for a match there (e.g. "U18=62X0851/U19=62X0854")

or

1. Run BASIC.
2. Type in the following 5 lines of BASIC code. It will display the date.

10 def seg=&hf000
20 for x=&hfff5 to &hfffc
30 print chr$(peek(x))
40 next
run
 
Without a keyboard?

--T

Well this is the first thing I am going to get fixed :D

So the Chip will say either U18 or U19 on it. Relative to the keyboard jack (ie if it is on the top right) where on the board are these chips?

Thanks for all the info guys, last time I worked on one of these machines I was 10, and am finding myself to be very rusty with this technology. But it is great fun to be doing it again and learning things I did not know back then.
 
Back
Top