Undocumented diagnostic tool for the PCjr

Software related questions
Post Reply
riq
Posts: 66
Joined: Sat Dec 09, 2017 1:36 pm
Contact:

Undocumented diagnostic tool for the PCjr

Post by riq »

So the PCjr has some undocumented diagnostics code built-in the ROM.

Basically when you enter into diagnostics mode with Ctrl + Alt + Insert, you can trigger different diagnostics mode with the following.
Right after pressing Ctrl + Alt + Insert do:
  • Press: Joy 1 button B, and Joy 2 buttons A & B for Manufacturing burn-in mode: enters diag loop mode without the diag screen
  • Press: Joy 1 button A, and Joy 2 buttons A & B for Manufacturing system test mode: enters boot loop. Keeps booting
  • Press: Joy 1 buttons A & B, and Joy 2 button B for Service loop-post mode: displays all diagnostics options, even if the hardware is not present
  • Press: Joy 1 buttons A & B, and Joy 2 button A for Service system-test mode
  • Press: Joy 1 buttons A & B, and joy 2 buttons A & B: enters boot loop with sound test
It also has a hidden "joystick" test that can only be "tested" with the keyboard. I guess it was just testing code that IBM forgot to remove. This one:
Image

Here is a tool the tool to trigger the hidden "joystick" test (press "7") and to trigger the different diagnostics mode (in case you don't have two joysticks):
https://github.com/ricardoquesada/ibm_p ... r/undiagjr


Warning: If you enter into the first mode (Manufacturing burn-in mode), it will format the floppy diskette without any warning.
In fact, I wrote a vulnerability report about this :-P
IBM PCjr zero-day data-destroy vulnerability: https://retro.moe/2018/01/15/ibm-pcjr-z ... erability/
Last edited by riq on Tue Jan 16, 2018 6:59 pm, edited 1 time in total.
Trixter
Posts: 720
Joined: Mon Sep 01, 2008 12:00 am
Location: Illinois, USA
Contact:

Re: Undocumented diagnostic tool for the PCjr

Post by Trixter »

I have to say, I'm shocked to learn something new about the PCjr -- I never dove deep enough into the BIOS listing to catch this. Very impressive digging!
You're all insane and trying to steal my magic bag!
riq
Posts: 66
Joined: Sat Dec 09, 2017 1:36 pm
Contact:

Re: Undocumented diagnostic tool for the PCjr

Post by riq »

Trixter wrote:I have to say, I'm shocked to learn something new about the PCjr -- I never dove deep enough into the BIOS listing to catch this. Very impressive digging!
Thanks!
smitty
Posts: 10
Joined: Tue Dec 26, 2017 10:22 am

Re: Undocumented diagnostic tool for the PCjr

Post by smitty »

Nice work, even made it to Hackaday
riq
Posts: 66
Joined: Sat Dec 09, 2017 1:36 pm
Contact:

Re: Undocumented diagnostic tool for the PCjr

Post by riq »

smitty wrote:Nice work, even made it to Hackaday
Ha, thanks! It was a nice surprise to see it in hackaday.
geoffdaddy
Posts: 132
Joined: Wed May 15, 2013 5:22 pm

Re: Undocumented diagnostic tool for the PCjr

Post by geoffdaddy »

Kudos! I've poured over a good portion of the BIOS code too and never found this. Pretty cool!
PCjr: 10MB RACore 01 hard drive expansion, Hotshot 640kB RAM expander, optical mouse, Xircom PE3, speech sidecar.
toddvernon
Posts: 47
Joined: Sat Feb 29, 2020 11:38 am

Re: Undocumented diagnostic tool for the PCjr

Post by toddvernon »

Having done a lot of debugging a problem over the last few days I think this discovery is a result of an IBM test harness that was used by service organizations. There was a test plug documented in the IBM docs that plugged between the two joystick ports. I believe, but not sure that this connection activated the "advanced" tests that you get to with <cntl><alt><insert>. Doing this sequence normally gets you to the "customer tests" but the docs talk about another level and that chapter follows the insertion of the test-plug that connects the two ports.

I think these undocumented diagnostics were found by pressing joystick buttons that accidentally mapped to what the test plug connects.

Would love to find a test plug or how one would be made. Might be more there than what we know!

-t
Brutman
Site Admin
Posts: 1331
Joined: Sat Jun 21, 2008 5:03 pm
Contact:

Re: Undocumented diagnostic tool for the PCjr

Post by Brutman »

I actually don't think this is undocumented - it's just not commonly known. But I won't tell anyone ...

It's in the Hardware Maintenance and Service Manual for the PCjr.
Post Reply