A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Apple Macintosh Diagnostic / Test Mode | |||||||||||||||||||||||||
2 | Modem Serial Port: 9600, 8, N, 2 | |||||||||||||||||||||||||
3 | Original data from Rob Braun Sep 07, 2015 | |||||||||||||||||||||||||
4 | Augmentation by Adrian Black | |||||||||||||||||||||||||
5 | David Giller for the small SE/30 test routines for the video RAM | |||||||||||||||||||||||||
6 | SuperSVGA for additional info and explanations | |||||||||||||||||||||||||
7 | ||||||||||||||||||||||||||
8 | The dealer only Apple TechStep tool communicates with Macintosh computers over a serial link to facilitate debugging of the logicboard of the machine under test. This communication happens over the Macintosh serial port, usually the Modem port at 9600bps, 8bits, no parity, 2 stop bits. You can connect any RS232 computer and run these tests yourself. The system may provide you with a banner when the system crashes but not always. The daig routing is in HEX mode by default, but you can see if it's working by typing *A to switch to ASCII mode. Normally commands are not echoed, but if you type *A and you see that printed on your terminal, then you are communicating with the Mac Test Mode ROM. | |||||||||||||||||||||||||
9 | ||||||||||||||||||||||||||
10 | There are various ways to enter diagnostic mode, but if the system plays a sad-MAC sound or displays a sad Mac icon, you are likely in the test mode. You can also push the NMI button (programmer's switch) right away after you hit reset (or power on the machine) to cause the machine to crash, which will start the test mode. This is only available during boot! If you push the programmers button after the system boots, you will just see the programmer debug box on screen. This is not the same as the serial diagnostics. On some machines, you can ground a pin on one of the VIA's to enter the diag mode, but this doesn't appear to work on the SE/30. | |||||||||||||||||||||||||
11 | ||||||||||||||||||||||||||
12 | While communicating over serial, I recommend you add delays to between characeters while pasting otherwise the diag routing will miss characters. All commands must be entered in upper case only! Lower-case wlll be ignored. The diag routine will not echo back what you are typing as you are entering commands. If you see letters are you type them, then you are not in command mode (the first character is a * to enter command mode) or you are trying to enter a command or test that doesn't exist. The diagnostic ROM will return a ? if you tried to enter a command incorrectly. | |||||||||||||||||||||||||
13 | ||||||||||||||||||||||||||
14 | Running from a Debugger on a booted machine | |||||||||||||||||||||||||
15 | You can also run the tests from a debugger such as MacsBug or MicroBug while the system is booted up. | |||||||||||||||||||||||||
16 | ||||||||||||||||||||||||||
17 | As an example, here is running the Extra RAM Test on the 3rd megabyte of RAM: | |||||||||||||||||||||||||
18 | ||||||||||||||||||||||||||
19 | Set the start memory address to test to the beginning of the 3rd megabyte of RAM: | |||||||||||||||||||||||||
20 | A0 200000 | |||||||||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | Set the end address to the end of the 3rd megabyte: | |||||||||||||||||||||||||
23 | A1 2FFFFF | |||||||||||||||||||||||||
24 | ||||||||||||||||||||||||||
25 | Set the return address to the interrupt handler to return to the debugger: | |||||||||||||||||||||||||
26 | A6 90380A (Example is for the Mac Porttable and will be different on other machines) | |||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||
28 | Set the Program Counter to the test location: | |||||||||||||||||||||||||
29 | PC 901F90 (Example is for the Mac Portable) | |||||||||||||||||||||||||
30 | ||||||||||||||||||||||||||
31 | Run the test: | |||||||||||||||||||||||||
32 | G | |||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | Once the test is finished, you should be returned to the debugger. | |||||||||||||||||||||||||
35 | You can now display the result from the appropriate register: | |||||||||||||||||||||||||
36 | D6 | |||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||
38 | To run these one another Mac (besides the Mac Portable) the ROM must be disassembled | |||||||||||||||||||||||||
39 | to find the locations of the tests and the interrupt handler. | |||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | Sources: | |||||||||||||||||||||||||
43 | http://mess.redump.net/mess/driver_info/mac_technical_notes | |||||||||||||||||||||||||
44 | https://macintoshportable.info/TestManager/ | |||||||||||||||||||||||||
45 | https://web.archive.org/web/*/https://mac68k.info/wiki/download/attachments/2130005/* | |||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |