Page 1 of 1

Undocumented diagnostic tool for the PCjr

PostPosted: Mon Jan 15, 2018 8:19 pm
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/

Re: Undocumented diagnostic tool for the PCjr

PostPosted: Tue Jan 16, 2018 2:05 pm
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!

Re: Undocumented diagnostic tool for the PCjr

PostPosted: Tue Jan 16, 2018 8:05 pm
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!

Re: Undocumented diagnostic tool for the PCjr

PostPosted: Wed Jan 17, 2018 12:21 pm
by smitty
Nice work, even made it to Hackaday

Re: Undocumented diagnostic tool for the PCjr

PostPosted: Thu Jan 18, 2018 6:05 am
by riq
smitty wrote:Nice work, even made it to Hackaday


Ha, thanks! It was a nice surprise to see it in hackaday.

Re: Undocumented diagnostic tool for the PCjr

PostPosted: Thu Jan 18, 2018 2:34 pm
by geoffdaddy
Kudos! I've poured over a good portion of the BIOS code too and never found this. Pretty cool!