psx.wiki

CD-ROM Audio and Data Commands

Measures how the CD-ROM drive answers Test, GetQ, seek, read, play and Init commands, and how long each takes, with no disc and with a disc of 12 tracks.

CD-ROM Audio and Data Commands
MachineSCPH-5501
Programfollowup20, followup20p and followup20q

Overview

The program sends commands to the CD-ROM controller and polls for each interrupt. Each line of output gives the interrupt type and the response bytes, and the number after @ is the time in cycles of root counter 2 from the command write. A mark such as "..(2)" shows a response of two bytes of which only the first is printed.1 The first group runs with the lid open and no disc. The program then asks for the Twisted Metal 2 disc on the screen and waits for the lid to close, and every later group runs with that disc in the drive.1

The disc holds 12 tracks. GetTN answers 01h and 12h, and GetTD 00h gives the lead-out at 69:22, which the program counts as sector 312000.1 The program ran three times with different groups. The second and third runs also send commands 50h to 56h after GetID. The first run prints no such step.123

Table 1: Groups
Tag Runs What the group does
TSN 1 Test (19h) subfunctions with one and two parameters, no disc
DIN 1, 2, 3 The wait for the lid, GetID, GetTN and GetTD for every track
SPD 1 200 INT1s of ReadN at single and double speed
GLP 1 16 GetlocL and GetlocP pairs during a read, after its Pause and after SeekL
RD4 1 ReadN from sector 16 and 118100, four runs
SK4 1 SeekL outward, short seeks from 1000 and inward from 118600, four runs
SP4 2 A speed change then ReadN, Stop, MotorOn and Init, four runs
GTQ 2, 3 GetQ (1Dh), commands 17h and 18h, Test 04h and 05h
PPG 2 Play from the pregap of track 2, and SeekP to audio sectors
AMD 2, 3 Report off and on, Forward and Backward, AutoPause, MotorOn, Stop and Init on audio
DMD 2 Stat through a seek, the head after Init, and ReadN with the first INT1 held
SPE 2 SeekL and SeekP to 150 sectors past the lead-out
TSS 2 Test subfunctions for the motor and the lens, then Init
DCR 2 Test 71h, 73h and 75h, the decoder registers

See also:

Results

Test Refusals With No Disc

With the lid open and no disc, every Test subfunction in the list was refused with INT5 and stat 11h. A single parameter gave error byte 10h, except subfunctions 50h and 71h, which gave 20h. Every row with a second parameter byte of 00h gave 20h, and so did 74h 00h and 71h 00h 00h. The answer came 23,418 to 37,986 cycles after the command.1 The CD-ROM commands page lists the stat bits and the error bytes that the drive returns with INT5.

Disc In and the Table of Contents

In all three runs GetID answered INT5 with error 80h for 14 to 20 tries. It then answered INT3 42h and INT5 4Ah 90h 20h 00h 00h 00h 00h 00h.123 Commands 50h to 56h each answered INT5 43h 40h.23 In the third run MotorOn, sent every 50 tenths of a second after the lid shut, answered INT5 01h from 0 to 350 tenths and INT3 00h at 400 tenths.3

GetTN, GetTD and GetQ gave the same values in every run. GetQ with adr 1 and a point number returns the point's time from the lead-in, so it gives the sector field that GetTD leaves out. The track starts by GetTD therefore lie 9 to 51 sectors before the starts by GetQ.23

Table 2: Track starts by GetTD and GetQ
Track GetTD GetQ point time Sector by GetTD Sector by GetQ
2 39:34 39:34:51 177900 177951
3 42:35 42:35:40 191475 191515
4 45:42 45:42:48 205500 205548
5 48:34 48:34:25 218400 218425
6 51:24 51:24:20 231150 231170
7 54:12 54:12:17 243750 243767
8 57:55 57:55:09 260475 260484
9 60:59 60:59:17 274275 274292
10 64:06 64:06:46 288300 288346
11 65:23 65:23:51 294075 294126
12 66:22 66:22:43 298500 298543

GetQ and Commands 17h and 18h

GetQ with 0, 1 or 3 parameters answered INT5 03h 20h. With two parameters it answered INT3 02h and then INT2 with ten bytes: the control and adr byte, track 00h, the point, the lead-in time, 00h, the point's time, and a last byte of 9Fh or FCh. The control and adr byte was 41h for points 01h, A0h, A1h and A2h and 01h for points 02h to 12h. Point A1h gave 12h, the last track, and point A2h gave the lead-out at 69:22:03.23 The INT2 came 430,561 to 1,747,464 cycles after the command in all rows but the first row of the third run, which took 18,303,510.23

Point 13h is not on the disc. The drive answered it with INT5 and error 40h after 358,111,470 cycles in the second run and 360,047,105 cycles in the third.23 Commands 17h and 18h with 0, 1 or 2 parameters answered INT5 03h 40h. Test 04h answered INT3 02h, and Test 05h two seconds later answered INT3 00h 00h in both runs.23

Reads and Seeks in the First Run

In the first run ReadN answered INT5 with stat 03h or 01h at single and double speed, from sectors 16, 1000, 50000 and 118100, and no INT1 followed. GetlocL answered INT5 80h in every row. During these rows GetlocP gave track 1 at 00:01:66 to 00:02:00 at single speed and at 00:00:10 at double speed.1

SeekL still completed with INT2 in runs 1 to 3 of SK4 and in run 4 up to the inward rows. GetlocP right after INT2 gave a sector from 1 before the target to 2 after it in every completed seek. In run 4 the drive answered the inward rows and all later rows with INT5 and stat 16h, 13h or 11h, which have the shell open bit set.1

Table 3: SeekL time to INT2 in cycles over four runs
Seek Single speed Double speed
16 to 14839 19,051,664 to 32,692,060 7,350,431 to 81,977,436
16 to 29662 15,878,854 to 22,104,280 13,614,944 to 16,222,407
16 to 59308 27,306,344 to 39,062,168 19,526,638 to 51,851,696
16 to 88954 23,169,039 to 49,108,640 33,802,287 to 58,749,328
16 to 118600 27,956,011 to 34,586,510 38,982,043
1000 to 1001 385,328 to 4,004,462 189,900 to 191,815
1000 to 1004 1,742,408 to 1,757,484 836,208 to 857,851
1000 to 1016 10,793,869 to 11,229,965 5,359,958 to 5,383,499
1000 to 1064 6,298,398 to 6,765,232 3,339,199 to 3,352,896
1000 to 1256 3,174,176 to 11,755,500 3,354,512 to 3,402,416
1000 to 2024 5,504,406 to 14,606,251 4,993,820 to 7,055,767
118600 to 88954 14,245,879 to 20,709,934 10,184,848 to 13,412,908
118600 to 29662 20,992,432 to 25,345,616 15,266,460 to 20,437,403
118600 to 16 31,006,208 to 31,202,668 22,469,663 to 22,497,452

A seek of 16 sectors from 1000 took longer than a seek of 64 sectors at both speeds. At double speed it took about 5,370,000 cycles where 64 and 256 sectors took 3,339,199 to 3,402,416.1 Five double speed seeks outward gave no INT2 within the wait, and GetlocP after them gave a place other than the target.1

Speed Change and Motor Commands

The second run repeats four times a speed change followed at once by ReadN, then Stop, MotorOn and Init. The times to the first INT1 after a change to double speed were close together in three runs, and the times after a change back to single speed spread from 18,182,227 to 150,746,965 cycles.2

Table 4: Cycles for speed change and motor commands
Step Run 1 Run 2 Run 3 Run 4
Single to double speed, first INT1 20,457,578 22,528,474 20,578,341 36,083,669
Double to single speed, first INT1 150,746,965 INT5 06h at 134,730,344 18,182,227 136,003,240
Stop, INT2 12,624,528 36,490 13,504,402 12,829,680
MotorOn after Stop, INT2 88,547,584 INT5 03h 82,233,798 67,140,062
Init, INT2 5,366,692 91,715,538 4,893,782 4,909,236

In run 2 the INT2 of Stop carried stat 02h, where the other runs gave 00h. MotorOn after it was refused with INT5, and Init then took 91,715,538 cycles.2

Play From the Pregap and SeekP

Play from sector 177801, which is index 00 of track 2 and 150 sectors before its start, answered INT3 02h and sent no report before the Pause. Pause then answered INT5 43h. Stat 43h has the seek bit set. Play from 75 sectors before track 2 gave the same result after INT3 42h.2

Play with track 2 as its parameter answered INT3 42h, and the first report came 63,388,481 cycles later. The reports then came about 4,515,000 cycles apart and 10 sectors apart. They alternate between the absolute time and the time from the start of the track, which has 80h added to the seconds byte. For example 00h 80h 74h is 74 sectors into track 2. That place lies half way between the reports at 39:35:40 and 39:35:60.2

After SeekP to an audio sector, GetlocP gave a sector 1 or 2 before the target at both speeds, and GetlocL answered INT5 80h every time. SeekP gave INT2 1,621,185 to 23,011,137 cycles after the command.2

Table 5: GetlocP after SeekP
Target Single speed Double speed
39:34:51 39:34:50 39:34:49
39:34:59 39:34:57 39:34:57
39:35:51 39:35:49 39:35:49
39:48:01 39:48:00 39:47:74
39:33:51 39:33:49 39:33:49
42:35:48 42:35:46 42:35:46
42:42:15 42:42:13 42:42:13
66:22:51 66:22:49 66:22:49

Audio Modes

With Report off, GetlocL during Play answered INT5 83h 80h, GetlocP gave track 2 index 01, and Getstat gave 82h. Pause after it gave INT2 7,353,297 and 7,469,330 cycles after the command.23 Forward sent at once after the INT3 of Play was refused with INT5 03h 80h, and the reports of Play went on. Forward and Backward sent after a Pause were refused the same way.23

Forward sent while Play was running answered INT3 82h. Its reports carry stat 02h in place of 82h, and the absolute time in the first 40 reports moved from 39:40:40 to 40:04:54 in the second run and from 39:40:74 to 40:06:54 in the third. Play with no parameter then answered INT3 82h and reported from 40:30:20 in the second run and 40:36:60 in the third. Backward worked the same way in reverse, and the Play after it reported from 39:44:06 and 39:49:68.23

With AutoPause on, Play from 42:31:40, 2 seconds before index 00 of track 3, gave INT4 with stat 82h after 84,717,281 and 86,771,577 cycles. Getstat then gave 02h, and GetlocP gave track 2 at 42:33:32 and 42:33:27.23 With AutoPause off, Play from 3 seconds before the lead-out gave INT4 with stat 02h after 129,348,670 and 131,730,976 cycles. Getstat then gave 00h, and GetlocP gave track AAh at 69:22:03. GetQ point A2h gives the same lead-out time.23

MotorOn gave INT2 after 108,930,323 and 70,099,901 cycles, and a second MotorOn was refused with INT5 03h 20h. After a Play, Stop gave INT2 00h after 3,302,766 and 7,301,383 cycles, and Init gave INT2 after 92,634,323 and 80,370,525 cycles.23

Data Modes

A Getstat about every 30,000 cycles through a SeekL from 16 to 100000 gave stat 02h at first and 42h from 301,629 cycles on. In 400 Getstats no other interrupt came. A ReadN to 50000 gave the same stats with no INT1, and the Pause after it was refused with INT5 43h.2

Init after a SeekL to 100000 gave INT2 after 19,589,416 cycles at single speed, and after a SeekL to 50000 it gave INT2 after 21,787,741 cycles at double speed. At once after Init, GetlocL gave the header 00:01:72 and GetlocP gave track 1 index 01 at 00:02:00. One second later GetlocL gave 00:01:73 at single speed and 00:01:68 at double speed, and GetlocP gave track 1 index 00 at 00:01:71. Getstat gave 02h and the mode read 20h.2

ReadN from sector 2000 in mode 20h delivered sectors about 450,000 cycles apart when the first INT1 was taken at once. When the first INT1 was held for 2 to 4 sector times, the first sector was the one asked for, and the next ones began at the sector reached during the hold. From a hold of 6 sector times on, the first sector delivered had the header 00:28:58.2

Table 6: Sector headers delivered after the first INT1 is held
Hold (sector times) Headers of the ten sectors delivered
0 00:28:50 to 00:28:59
1 00:28:50 to 00:28:59
2 00:28:50, then 00:28:52 to 00:28:60
3 00:28:50, then 00:28:53 to 00:28:61
4 00:28:50, then 00:28:54 to 00:28:62
6 00:28:58, then 00:28:56 to 00:28:64
8 00:28:58, then 00:28:58 to 00:28:66
12 00:28:58, then 00:28:62 to 00:28:70

Seek Past the End

SeekL to sector 312150, 150 sectors past the lead-out, answered INT3 02h and then INT5 06h 04h after 289,995,740 cycles. GetTN then gave stat 00h, and Init gave INT2 after 78,176,129 cycles. SeekP to the same sector gave INT2 02h after 29,492,327 cycles, and GetTN then gave stat 02h.2

Test Subfunctions and Decoder Registers

Test subfunctions 03h, 00h, 11h, 12h, 13h, 14h, 19h and 1Ah each answered INT3 with one stat byte. Subfunction 03h gave 02h the first two times and 00h the third time, and the others gave 00h. Two seconds after 00h, Getstat gave 02h. Init afterwards gave INT2 after 72,814,253 cycles.2

Test 71h reads one decoder register a call. Test 73h with a length of 4 gave 8Eh DCh 00h 01h from register 00h and C0h F0h 00h 19h from register 10h, which differ from the 71h reads of registers 00h to 03h in two bytes and of 10h to 13h in one byte. Test 75h gave 1Ch C9h 08h 30h. These are the values of registers 0Ah to 0Dh.2

Table 7: Decoder registers by Test 71h
Register Value Register Value
00h 9Eh 10h C0h
01h DCh 11h E0h
02h 00h 12h 00h
03h 00h 13h 19h
04h 00h 14h FFh
05h 89h 15h C0h
06h C0h 16h C0h
07h 02h 17h C0h
08h 8Ah 18h C0h
09h C0h 19h C0h
0Ah 1Ch 1Ah C0h
0Bh C9h 1Bh C0h
0Ch 08h 1Ch C0h
0Dh 30h 1Dh C0h
0Eh 6Dh 1Eh C0h
0Fh 05h 1Fh C0h

Runs

3 October 2026

followup20/00RUN.txt

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
14 tests
A chain program, linked at 80010000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02BAC DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 801156D4 PRId 00000002

followup20/01TSN.txt

===== 01 TSN F20 TEST REFUSALS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Test 19h subfunctions that refuse before they act, no disc in the drive.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 02 @22220. Getstat: int3 10 @28929. Mode 20. HINTMSK was 1F.
One parameter, the subfunction alone:
  19h 06: int5 11 10 @28981 gs3/10
  19h 07: int5 11 10 @30710 gs3/10
  19h 08: int5 11 10 @30769 gs3/10
  19h 09: int5 11 10 @30821 gs3/10
  19h 0A: int5 11 10 @30773 gs3/10
  19h 0B: int5 11 10 @30811 gs3/10
  19h 0C: int5 11 10 @30762 gs3/10
  19h 0D: int5 11 10 @23754 gs3/10
  19h 0E: int5 11 10 @29226 gs3/10
  19h 0F: int5 11 10 @29242 gs3/10
  19h 1B: int5 11 10 @28855 gs3/10
  19h 1C: int5 11 10 @28890 gs3/10
  19h 1D: int5 11 10 @23418 gs3/10
  19h 1E: int5 11 10 @32785 gs3/10
  19h 1F: int5 11 10 @32359 gs3/10
  19h 30: int5 11 10 @33893 gs3/10
  19h 31: int5 11 10 @32250 gs3/10
  19h 38: int5 11 10 @32682 gs3/10
  19h 3F: int5 11 10 @32308 gs3/10
  19h 40: int5 11 10 @33114 gs3/10
  19h 41: int5 11 10 @32354 gs3/10
  19h 4F: int5 11 10 @32730 gs3/10
  19h 50: int5 11 20 @32778 gs3/10
  19h 52: int5 11 10 @36522 gs3/10
  19h 5F: int5 11 10 @32692 gs3/10
  19h 62: int5 11 10 @33073 gs3/10
  19h 68: int5 11 10 @32647 gs3/10
  19h 70: int5 11 10 @33457 gs3/10
  19h 71: int5 11 20 @33029 gs3/10
  19h 77: int5 11 10 @33596 gs3/10
  19h 78: int5 11 10 @33223 gs3/10
  19h 7F: int5 11 10 @34855 gs3/10
  19h 90: int5 11 10 @32490 gs3/10
  19h A0: int5 11 10 @32880 gs3/10
  19h C0: int5 11 10 @32503 gs3/10
  19h E0: int5 11 10 @33751 gs3/10
Two parameters, the subfunction and 00h:
  19h 00 00: int5 11 20 @25125 gs3/10
  19h 01 00: int5 11 20 @34246 gs3/10
  19h 02 00: int5 11 20 @33911 gs3/10
  19h 03 00: int5 11 20 @37742 gs3/10
  19h 04 00: int5 11 20 @33867 gs3/10
  19h 05 00: int5 11 20 @34250 gs3/10
  19h 06 00: int5 11 20 @33911 gs3/10
  19h 10 00: int5 11 20 @34770 gs3/10
  19h 11 00: int5 11 20 @34057 gs3/10
  19h 12 00: int5 11 20 @34434 gs3/10
  19h 13 00: int5 11 20 @34058 gs3/10
  19h 14 00: int5 11 20 @35690 gs3/10
  19h 15 00: int5 11 20 @34059 gs3/10
  19h 16 00: int5 11 20 @34443 gs3/10
  19h 17 00: int5 11 20 @34096 gs3/10
  19h 18 00: int5 11 20 @34818 gs3/10
  19h 19 00: int5 11 20 @34098 gs3/10
  19h 1A 00: int5 11 20 @34434 gs3/10
  19h 21 00: int5 11 20 @34154 gs3/10
  19h 22 00: int5 11 20 @37986 gs3/10
  19h 23 00: int5 11 20 @34142 gs3/10
  19h 24 00: int5 11 20 @34528 gs3/10
  19h 25 00: int5 11 20 @25167 gs3/10
  19h 72 00: int5 11 20 @25938 gs3/10
  19h 73 00: int5 11 20 @31851 gs3/10
  19h 75 00: int5 11 20 @32137 gs3/10
  19h 76 00: int5 11 20 @31707 gs3/10
74h with 00h (its count, 00h, against 2 less 3):
  19h 74 00: int5 11 20 @26087 gs3/10
71h with 00h 00h (three where it takes two):
  19h 71 00 00: int5 11 20 @31455 gs3/10
Done.

followup20/02DIN.txt

===== 02 DIN F20 DISC IN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
The disc goes in: the wait for the lid, GetID, GetTN, GetTD for every track.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 02 @26010. Getstat: int3 10 @28406. Mode 20. HINTMSK was 1F.
Asked for the Twisted Metal 2 disc on the screen.
Waited 150 tenths of a second. Getstat 02.
GetID stopped answering error 80h after 19 tries: int3 42 @73015 int5 4A 90 20 00 00 00 00 00 @92967
GetTN: int3 42 01 12 @25510
GetTD 00: int3 42 69 22 @57759
GetTD 01: int3 42 00 02 @56378
GetTD 02: int3 42 39 34 @58573
GetTD 03: int3 42 42 35 @31552
GetTD 04: int3 42 45 42 @41149
GetTD 05: int3 42 48 34 @31216
GetTD 06: int3 42 51 24 @44324
GetTD 07: int3 42 54 12 @31220
GetTD 08: int3 42 57 55 @41354
GetTD 09: int3 42 60 59 @31223
GetTD 10: int3 42 64 06 @42976
GetTD 11: int3 42 65 23 @56472
GetTD 12: int3 42 66 22 @59786
Tracks 1 to 12, the lead-out at sector 312000. The disc groups run.
Done.

followup20/03SPD.txt

===== 03 SPD F20 SECTOR PERIOD | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
The sector period: 200 INT1s of ReadN at single and double speed.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @90754. Getstat: int3 02 @29596. Mode 20. HINTMSK was 1F.
Single speed, mode 00, from sector 16: ReadN int5 03 ..(2) @44192, 0 INT1
  INT1 at:
  Pause: int3 02 @25199 int2 02 @33007
Double speed, mode 80, from sector 16: ReadN int5 03 ..(2) @32627, 0 INT1
  INT1 at:
  Pause: int3 02 @59872 int2 02 @67680
Single speed at sector 50000, mode 00, from sector 50000: ReadN int5 03 ..(2) @102623, 0 INT1
  INT1 at:
  Pause: int3 02 @28031 int2 02 @35839
Mode 00 put back to 20: int3 02 @43418
Done.

followup20/04GLP.txt

===== 04 GLP F20 GETLOCL GETLOCP | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GetlocL then GetlocP, 16 pairs: during a read, after its Pause, after SeekL.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @31054. Getstat: int3 02 @39297. Mode 20. HINTMSK was 1F.
Mode 00, ReadN from 1000 (00:15:25): int5 03 ..(2) @32609, 0 INT1, the last none
  During the read:
   0 GetlocL int5 03 80 @58330 GetlocP int3 01 00 00 00 00 00 01 74 @41088
   1 GetlocL int5 03 80 @32497 GetlocP int3 01 00 00 00 08 00 01 66 @103977
   2 GetlocL int5 03 80 @32312 GetlocP int3 01 00 00 00 08 00 01 66 @59046
   3 GetlocL int5 03 80 @32502 GetlocP int3 01 00 00 00 08 00 01 66 @41090
   4 GetlocL int5 03 80 @29814 GetlocP int3 01 00 00 00 08 00 01 66 @57125
   5 GetlocL int5 03 80 @66977 GetlocP int3 01 00 00 00 07 00 01 67 @43542
   6 GetlocL int5 03 80 @24051 GetlocP int3 01 00 00 00 07 00 01 67 @41664
   7 GetlocL int5 03 80 @22470 GetlocP int3 01 00 00 00 07 00 01 67 @44448
   8 GetlocL int5 03 80 @40083 GetlocP int3 01 00 00 00 06 00 01 68 @91502
   9 GetlocL int5 03 80 @34468 GetlocP int3 01 00 00 00 06 00 01 68 @41088
  10 GetlocL int5 03 80 @52415 GetlocP int3 01 00 00 00 06 00 01 68 @41657
  11 GetlocL int5 03 80 @32735 GetlocP int3 01 00 00 00 06 00 01 68 @43008
  12 GetlocL int5 03 80 @66638 GetlocP int3 01 00 00 00 05 00 01 69 @41657
  13 GetlocL int5 03 80 @24287 GetlocP int3 01 00 00 00 05 00 01 69 @44400
  14 GetlocL int5 03 80 @43727 GetlocP int3 01 00 00 00 05 00 01 69 @41088
  15 GetlocL int5 03 80 @28751 GetlocP int3 01 00 00 00 04 00 01 70 @91606
  Pause: int3 02 @32693 int2 02 @40501 (after 0 INT1)
  After the Pause:
   0 GetlocL int5 03 80 @25442 GetlocP int3 01 00 00 00 04 00 01 70 @41129
   1 GetlocL int5 03 80 @60481 GetlocP int3 01 00 00 00 04 00 01 70 @57125
   2 GetlocL int5 03 80 @95441 GetlocP int3 01 00 00 00 03 00 01 71 @41093
   3 GetlocL int5 03 80 @32502 GetlocP int3 01 00 00 00 03 00 01 71 @43538
   4 GetlocL int5 03 80 @58038 GetlocP int3 01 00 00 00 03 00 01 71 @64272
   5 GetlocL int5 03 80 @32932 GetlocP int3 01 00 00 00 03 00 01 71 @59088
   6 GetlocL int5 03 80 @32502 GetlocP int3 01 00 00 00 03 00 01 71 @41045
   7 GetlocL int5 03 80 @29427 GetlocP int3 01 00 00 00 03 00 01 71 @83248
   8 GetlocL int5 03 80 @42006 GetlocP int3 01 00 00 00 03 00 01 71 @41470
   9 GetlocL int5 03 80 @26643 GetlocP int3 01 00 00 00 03 00 01 71 @60338
  10 GetlocL int5 03 80 @32734 GetlocP int3 01 00 00 00 03 00 01 71 @41046
  11 GetlocL int5 03 80 @59950 GetlocP int3 01 00 00 00 03 00 01 71 @41669
  12 GetlocL int5 03 80 @105855 GetlocP int3 01 00 00 00 00 00 01 74 @41417
  13 GetlocL int5 03 80 @32734 GetlocP int3 01 00 00 00 00 00 01 74 @43009
  14 GetlocL int5 03 80 @58750 GetlocP int3 01 00 00 00 00 00 01 74 @62016
  15 GetlocL int5 03 80 @32686 GetlocP int3 01 01 00 00 00 00 02 00 @146766
Mode 80, ReadN from 1000 (00:15:25): int5 03 ..(2) @75061, 0 INT1, the last none
  During the read:
   0 GetlocL int5 03 80 @24633 GetlocP int3 01 00 00 01 64 00 00 10 @57315
   1 GetlocL int5 03 80 @35187 GetlocP int3 01 00 00 01 64 00 00 10 @58182
   2 GetlocL int5 03 80 @36293 GetlocP int3 01 00 00 01 64 00 00 10 @57314
   3 GetlocL int5 03 80 @35142 GetlocP int3 01 00 00 01 64 00 00 10 @41520
   4 GetlocL int5 03 80 @32886 GetlocP int3 01 00 00 01 64 00 00 10 @44837
   5 GetlocL int5 03 80 @40899 GetlocP int3 01 00 00 01 64 00 00 10 @41473
   6 GetlocL int5 03 80 @34805 GetlocP int3 01 00 00 01 64 00 00 10 @41955
   7 GetlocL int5 03 80 @46177 GetlocP int3 01 00 00 01 64 00 00 10 @40947
   8 GetlocL int5 03 80 @27169 GetlocP int3 01 00 00 01 64 00 00 10 @77127
   9 GetlocL int5 03 80 @24673 GetlocP int3 01 00 00 01 64 00 00 10 @41907
  10 GetlocL int5 03 80 @43630 GetlocP int3 01 00 00 01 64 00 00 10 @40942
  11 GetlocL int5 03 80 @33594 GetlocP int3 01 00 00 01 64 00 00 10 @43830
  12 GetlocL int5 03 80 @40706 GetlocP int3 01 00 00 01 64 00 00 10 @40990
  13 GetlocL int5 03 80 @36914 GetlocP int3 01 00 00 01 64 00 00 10 @41953
  14 GetlocL int5 03 80 @42622 GetlocP int3 01 00 00 01 64 00 00 10 @40992
  15 GetlocL int5 03 80 @33598 GetlocP int3 01 00 00 01 64 00 00 10 @44837
  Pause: int3 02 @40712 int2 02 @48505 (after 0 INT1)
  After the Pause:
   0 GetlocL int5 03 80 @34509 GetlocP int3 01 00 00 01 64 00 00 10 @57353
   1 GetlocL int5 03 80 @40277 GetlocP int3 01 00 00 01 64 00 00 10 @57362
   2 GetlocL int5 03 80 @35333 GetlocP int3 01 00 00 01 64 00 00 10 @40942
   3 GetlocL int5 03 80 @32883 GetlocP int3 01 00 00 01 64 00 00 10 @45366
   4 GetlocL int5 03 80 @40517 GetlocP int3 01 00 00 01 64 00 00 10 @40990
   5 GetlocL int5 03 80 @34757 GetlocP int3 01 00 00 01 64 00 00 10 @42818
   6 GetlocL int5 03 80 @43875 GetlocP int3 01 00 00 01 64 00 00 10 @40950
   7 GetlocL int5 03 80 @32883 GetlocP int3 01 00 00 01 64 00 00 10 @44358
   8 GetlocL int5 03 80 @40517 GetlocP int3 01 00 00 01 64 00 00 10 @40990
   9 GetlocL int5 03 80 @35813 GetlocP int3 01 00 00 01 64 00 00 10 @42821
  10 GetlocL int5 03 80 @42618 GetlocP int3 01 00 00 01 64 00 00 10 @40997
  11 GetlocL int5 03 80 @33122 GetlocP int3 01 00 00 01 64 00 00 10 @47616
  12 GetlocL int5 03 80 @40702 GetlocP int3 01 00 00 01 64 00 00 10 @40944
  13 GetlocL int5 03 80 @35516 GetlocP int3 01 00 00 01 64 00 00 10 @41910
  14 GetlocL int5 03 80 @43631 GetlocP int3 01 00 00 01 64 00 00 10 @40998
  15 GetlocL int5 03 80 @27842 GetlocP int3 01 00 00 01 64 00 00 10 @59230
SeekL to 20000 (04:28:50): int3 02 @71348 int5 06 ..(2) @103359812
  After the SeekL:
   0 GetlocL int5 03 80 @31640 GetlocP int5 03 80 @29718
   1 GetlocL int5 03 80 @28997 GetlocP int5 03 80 @45934
   2 GetlocL int5 03 80 @46230 GetlocP int5 03 80 @29715
   3 GetlocL int5 03 80 @27123 GetlocP int5 03 80 @47808
   4 GetlocL int5 03 80 @42953 GetlocP int5 03 80 @29717
   5 GetlocL int5 03 80 @35619 GetlocP int5 03 80 @29717
   6 GetlocL int5 03 80 @27075 GetlocP int5 03 80 @47809
   7 GetlocL int5 03 80 @26778 GetlocP int5 03 80 @30089
   8 GetlocL int5 03 80 @50451 GetlocP int5 03 80 @45890
   9 GetlocL int5 03 80 @44826 GetlocP int5 03 80 @29662
  10 GetlocL int5 03 80 @27306 GetlocP int5 03 80 @57216
  11 GetlocL int5 03 80 @43054 GetlocP int5 03 80 @47813
  12 GetlocL int5 03 80 @26926 GetlocP int5 03 80 @30101
  13 GetlocL int5 03 80 @50685 GetlocP int5 03 80 @45845
  14 GetlocL int5 03 80 @45066 GetlocP int5 03 80 @29715
  15 GetlocL int5 03 80 @27306 GetlocP int5 03 80 @53856
Mode 00 put back to 20: int3 02 @31047
Done.

followup20/05RD4.txt

===== 05 RD4 F20 READ TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
cddisc's ReadN rows on a pressed disc, four runs: the first INT1 and the gaps.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 01 @27067. Getstat: int3 00 @30897. Mode 20. HINTMSK was 1F.
Run 1.
Single speed, mode 00, from sector 16: ReadN int5 01 ..(2) @35629
  INT1 at: (0)
  GetlocL: int5 01 80 @32931
  Pause: int3 00 @23089 int2 00 @31074
Single speed again, mode 00, from sector 16: ReadN int5 01 ..(2) @36482
  INT1 at: (0)
  GetlocL: int5 01 80 @22724
  Pause: int3 00 @39173 int2 00 @47125
Double speed, mode 80, from sector 16: ReadN int5 01 ..(2) @35667
  INT1 at: (0)
  GetlocL: int5 01 80 @26372
  Pause: int3 00 @30383 int2 00 @38320
Double speed again, mode 80, from sector 16: ReadN int5 01 ..(2) @36000
  INT1 at: (0)
  GetlocL: int5 01 80 @22335
  Pause: int3 00 @38927 int2 00 @46879
Single speed near sector 118100, mode 00, from sector 118100: ReadN int5 01 ..(2) @35663
  INT1 at: (0)
  GetlocL: int5 01 80 @27476
  Pause: int3 00 @23571 int2 00 @32099
Double speed near sector 118100, mode 80, from sector 118100: ReadN int5 01 ..(2) @39600
  INT1 at: (0)
  GetlocL: int5 01 80 @29919
  Pause: int3 00 @28318 int2 00 @36269
Run 2.
Single speed, mode 00, from sector 16: ReadN int5 01 ..(2) @33757
  INT1 at: (0)
  GetlocL: int5 01 80 @21070
  Pause: int3 00 @21025 int2 00 @29025
Single speed again, mode 00, from sector 16: ReadN int5 01 ..(2) @33743
  INT1 at: (0)
  GetlocL: int5 01 80 @25988
  Pause: int3 00 @28942 int2 00 @36893
Double speed, mode 80, from sector 16: ReadN int5 01 ..(2) @33747
  INT1 at: (0)
  GetlocL: int5 01 80 @26660
  Pause: int3 00 @29765 int2 00 @38278
Double speed again, mode 80, from sector 16: ReadN int5 01 ..(2) @33747
  INT1 at: (0)
  GetlocL: int5 01 80 @27764
  Pause: int3 00 @28943 int2 00 @37471
Single speed near sector 118100, mode 00, from sector 118100: ReadN int5 01 ..(2) @33746
  INT1 at: (0)
  GetlocL: int5 01 80 @25220
  Pause: int3 00 @23573 int2 00 @32101
Double speed near sector 118100, mode 80, from sector 118100: ReadN int5 01 ..(2) @32207
  INT1 at: (0)
  GetlocL: int5 01 80 @26756
  Pause: int3 00 @31966 int2 00 @40493
Run 3.
Single speed, mode 00, from sector 16: ReadN int5 01 ..(2) @32221
  INT1 at: (0)
  GetlocL: int5 01 80 @20638
  Pause: int3 00 @22945 int2 00 @30930
Single speed again, mode 00, from sector 16: ReadN int5 01 ..(2) @37347
  INT1 at: (0)
  GetlocL: int5 01 80 @26177
  Pause: int3 00 @22707 int2 00 @30644
Double speed, mode 80, from sector 16: ReadN int5 01 ..(2) @35666
  INT1 at: (0)
  GetlocL: int5 01 80 @22340
  Pause: int3 00 @20926 int2 00 @28877
Double speed again, mode 80, from sector 16: ReadN int5 01 ..(2) @32211
  INT1 at: (0)
  GetlocL: int5 01 80 @28193
  Pause: int3 00 @19252 int2 00 @27765
Single speed near sector 118100, mode 00, from sector 118100: ReadN int5 01 ..(2) @33743
  INT1 at: (0)
  GetlocL: int5 01 80 @25412
  Pause: int3 00 @22467 int2 00 @30404
Double speed near sector 118100, mode 80, from sector 118100: ReadN int5 01 ..(2) @33747
  INT1 at: (0)
  GetlocL: int5 01 80 @22244
  Pause: int3 00 @23820 int2 00 @32348
Run 4.
Single speed, mode 00, from sector 16: ReadN int5 01 ..(2) @33724
  INT1 at: (0)
  GetlocL: int5 01 80 @21827
  Pause: int3 00 @29968 int2 00 @37905
Single speed again, mode 00, from sector 16: ReadN int5 01 ..(2) @33743
  INT1 at: (0)
  GetlocL: int5 01 80 @24783
  Pause: int3 00 @28805 int2 00 @37318
Double speed, mode 80, from sector 16: ReadN int5 01 ..(2) @33747
  INT1 at: (0)
  GetlocL: int5 01 80 @27476
  Pause: int3 00 @29811 int2 00 @38291
Double speed again, mode 80, from sector 16: ReadN int5 01 ..(2) @33746
  INT1 at: (0)
  GetlocL: int5 01 80 @27044
  Pause: int3 00 @28564 int2 00 @37077
Single speed near sector 118100, mode 00, from sector 118100: ReadN int5 01 ..(2) @32211
  INT1 at: (0)
  GetlocL: int5 01 80 @21620
  Pause: int3 00 @24382 int2 00 @32333
Double speed near sector 118100, mode 80, from sector 118100: ReadN int5 01 ..(2) @32211
  INT1 at: (0)
  GetlocL: int5 01 80 @24500
  Pause: int3 00 @21310 int2 00 @29309
Mode 80 put back to 20: int3 00 @30989
Done.

followup20/06SK4.txt

===== 06 SK4 F20 SEEK TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
cddisc's SeekL rows on a pressed disc, four runs, single and double speed.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 01 @26348. Getstat: int3 00 @33151. Mode 20. HINTMSK was 1F.
Outward and inward from sector 118600.
Run 1.
Single speed, from the start outward:
  16 to 14839: int3 02 @51996 int2 02 @32692060 GetlocP int3 01 01 03 17 64 03 19 64 @41873
  16 to 29662: int3 02 @32600 int2 02 @22104280 GetlocP int3 01 01 06 35 37 06 37 37 @41874
  16 to 44485: int3 02 @32606 int2 02 @27891054 GetlocP int3 01 01 09 53 10 09 55 10 @63229
  16 to 59308: int3 02 @44224 int2 02 @33234096 GetlocP int3 01 01 13 10 58 13 12 58 @52144
  16 to 74131: int3 02 @32599 int2 02 @28754919 GetlocP int3 01 01 16 28 31 16 30 31 @52098
  16 to 88954: int3 02 @32646 int2 02 @29836390 GetlocP int3 01 01 19 46 04 19 48 04 @52146
  16 to 103777: int3 02 @45512 int2 02 @30740312 GetlocP int3 01 01 23 03 52 23 05 52 @52150
  16 to 118600: int3 02 @53390 int2 02 @34586510 GetlocP int3 01 01 26 21 25 26 23 25 @52098
Single speed, short seeks near the start:
  1000 to 1001: int3 02 @32606 int2 02 @4004462 GetlocP int3 01 01 00 13 26 00 15 26 @61313
  1000 to 1004: int3 02 @54780 int2 02 @1757484 GetlocP int3 01 01 00 13 29 00 15 29 @54022
  1000 to 1016: int3 02 @51996 int2 02 @10798044 GetlocP int3 01 01 00 13 41 00 15 41 @41923
  1000 to 1064: int3 02 @32598 int2 02 @6744406 GetlocP int3 01 01 00 14 15 00 16 15 @68166
  1000 to 1256: int3 02 @32652 int2 02 @11291948 GetlocP int3 01 01 00 16 56 00 18 56 @53490
  1000 to 2024: int3 02 @58859 int2 02 @14606251 GetlocP int3 01 01 00 26 74 00 28 74 @54070
Single speed, from the end inward:
  118600 to 88954: int3 02 @42295 int2 02 @14245879 GetlocP int3 01 01 19 46 04 19 48 04 @41921
  118600 to 59308: int3 02 @32608 int2 02 @25384464 GetlocP int3 01 01 13 10 60 13 12 60 @41874
  118600 to 29662: int3 02 @32656 int2 02 @25345616 GetlocP int3 01 01 06 35 37 06 37 37 @41873
  118600 to 16: int3 02 @32608 int2 02 @31006208 GetlocP int3 01 01 00 00 16 00 02 16 @53478
Double speed, from the start outward:
  16 to 14839: int3 02 @62172 int2 02 @81977436 GetlocP int3 01 01 03 17 64 03 19 64 @41677
  16 to 29662: int3 02 @129392 int2 02 @13614944 GetlocP int3 01 01 06 35 37 06 37 37 @41681
  16 to 44485: int3 02 @32262 int2 02 @41575862 GetlocP int3 01 01 09 53 10 09 55 10 @41718
  16 to 59308: int3 02 @129356 int2 02 @42924412 GetlocP int3 01 01 13 10 58 13 12 58 @61074
  16 to 74131: int3 02 @32267 int2 02 @33015675 GetlocP int3 01 01 16 28 31 16 30 31 @61073
  16 to 88954: int3 02 @54539 none GetlocP int3 01 01 18 01 73 18 03 73 @35107
  16 to 103777: int3 02 @32271 int2 02 @69508703 GetlocP int3 01 01 23 03 52 23 05 52 @65887
  16 to 118600: int3 02 @109995 none GetlocP int3 01 01 16 02 10 16 04 10 @36979
Double speed, short seeks near the start:
  1000 to 1001: int3 02 @53527 int2 02 @191815 GetlocP int3 01 01 00 13 26 00 15 26 @61061
  1000 to 1004: int3 02 @109424 int2 02 @836208 GetlocP int3 01 01 00 13 29 00 15 29 @41681
  1000 to 1016: int3 02 @243894 int2 02 @5359958 GetlocP int3 01 01 00 13 41 00 15 41 @60550
  1000 to 1064: int3 02 @53872 int2 02 @3352896 GetlocP int3 01 01 00 14 15 00 16 15 @61074
  1000 to 1256: int3 02 @109419 int2 02 @3354715 GetlocP int3 01 01 00 16 56 00 18 56 @64001
  1000 to 2024: int3 02 @51655 int2 02 @7055767 GetlocP int3 01 01 00 26 74 00 28 74 @41680
Double speed, from the end inward:
  118600 to 88954: int3 02 @109772 int2 02 @13412908 GetlocP int3 01 01 19 46 04 19 48 04 @61074
  118600 to 59308: int3 02 @110252 int2 02 @17991980 GetlocP int3 01 01 13 10 58 13 12 58 @61074
  118600 to 29662: int3 02 @32603 int2 02 @20437403 GetlocP int3 01 01 06 35 37 06 37 37 @61069
  118600 to 16: int3 02 @129726 int2 02 @22486846 GetlocP int3 01 01 00 00 16 00 02 16 @63424
Run 2.
Single speed, from the start outward:
  16 to 14839: int3 02 @32176 int2 02 @19051664 GetlocP int3 01 01 03 17 64 03 19 64 @53734
  16 to 29662: int3 02 @51568 int2 02 @16869712 GetlocP int3 01 01 06 35 37 06 37 37 @62899
  16 to 44485: int3 02 @32172 int2 02 @27849948 GetlocP int3 01 01 09 53 10 09 55 10 @62371
  16 to 59308: int3 02 @32128 int2 02 @27338064 GetlocP int3 01 01 13 10 58 13 12 58 @63761
  16 to 74131: int3 02 @41868 int2 02 @29340284 GetlocP int3 01 01 16 28 31 16 30 31 @54589
  16 to 88954: int3 02 @43743 int2 02 @23169039 GetlocP int3 01 01 19 46 04 19 48 04 @53717
  16 to 103777: int3 02 @43739 int2 02 @31910347 GetlocP int3 01 01 23 03 53 23 05 53 @61024
  16 to 118600: int3 02 @32172 int2 02 @29256924 GetlocP int3 01 01 26 21 25 26 23 25 @64181
Single speed, short seeks near the start:
  1000 to 1001: int3 02 @32174 int2 02 @838062 GetlocP int3 01 01 00 13 27 00 15 27 @60978
  1000 to 1004: int3 02 @32126 int2 02 @1755438 GetlocP int3 01 01 00 13 29 00 15 29 @51858
  1000 to 1016: int3 02 @32173 int2 02 @11229965 GetlocP int3 01 01 00 13 41 00 15 41 @41586
  1000 to 1064: int3 02 @41814 int2 02 @6308614 GetlocP int3 01 01 00 14 14 00 16 14 @60451
  1000 to 1256: int3 02 @53439 int2 02 @11745295 GetlocP int3 01 01 00 16 56 00 18 56 @53189
  1000 to 2024: int3 02 @41814 int2 02 @5504406 GetlocP int3 01 01 00 26 74 00 28 74 @65538
Single speed, from the end inward:
  118600 to 88954: int3 02 @32124 int2 02 @20687068 GetlocP int3 01 01 19 46 04 19 48 04 @51811
  118600 to 59308: int3 02 @32174 int2 02 @19216718 GetlocP int3 01 01 13 10 59 13 12 59 @41634
  118600 to 29662: int3 02 @32176 int2 02 @20992432 GetlocP int3 01 01 06 35 39 06 37 39 @61013
  118600 to 16: int3 02 @32176 int2 02 @31181184 GetlocP int3 01 01 00 00 16 00 02 16 @41585
Double speed, from the start outward:
  16 to 14839: int3 02 @51080 int2 02 @11996488 GetlocP int3 01 01 03 17 64 03 19 64 @41681
  16 to 29662: int3 02 @109943 int2 02 @16222407 GetlocP int3 01 01 06 35 37 06 37 37 @41677
  16 to 44485: int3 02 @109998 int2 02 @33175934 GetlocP int3 01 01 09 53 10 09 55 10 @41670
  16 to 59308: int3 02 @53918 int2 02 @19526638 GetlocP int3 01 01 13 10 58 13 12 58 @41681
  16 to 74131: int3 02 @109416 int2 02 @39056872 GetlocP int3 01 01 16 28 31 16 30 31 @61073
  16 to 88954: int3 02 @109424 int2 02 @58749328 GetlocP int3 01 01 19 46 04 19 48 04 @65842
  16 to 103777: int3 02 @51616 int2 02 @42621328 GetlocP int3 01 01 23 03 52 23 05 52 @61078
  16 to 118600: int3 02 @109423 none GetlocP int3 01 01 08 45 29 08 47 29 @62933
Double speed, short seeks near the start:
  1000 to 1001: int3 02 @51078 int2 02 @189910 GetlocP int3 01 01 00 13 26 00 15 26 @62417
  1000 to 1004: int3 02 @129343 int2 02 @852574 GetlocP int3 01 01 00 13 29 00 15 29 @61063
  1000 to 1016: int3 02 @212267 int2 02 @5383499 GetlocP int3 01 01 00 13 41 00 15 41 @61265
  1000 to 1064: int3 02 @109423 int2 02 @3339199 GetlocP int3 01 01 00 14 15 00 16 15 @41681
  1000 to 1256: int3 02 @129392 int2 02 @3354512 GetlocP int3 01 01 00 16 56 00 18 56 @65842
  1000 to 2024: int3 02 @109388 int2 02 @4993820 GetlocP int3 01 01 00 26 74 00 28 74 @62945
Double speed, from the end inward:
  118600 to 88954: int3 02 @51608 int2 02 @13378600 GetlocP int3 01 01 19 46 04 19 48 04 @41670
  118600 to 59308: int3 02 @109755 int2 02 @15068587 GetlocP int3 01 01 13 10 58 13 12 58 @41686
  118600 to 29662: int3 02 @129692 int2 02 @15266460 GetlocP int3 01 01 06 35 37 06 37 37 @41683
  118600 to 16: int3 02 @131804 int2 02 @22497452 GetlocP int3 01 01 00 00 16 00 02 16 @41681
Run 3.
Single speed, from the start outward:
  16 to 14839: int3 02 @56118 int2 02 @27867814 GetlocP int3 01 01 03 17 64 03 19 64 @41581
  16 to 29662: int3 02 @53622 int2 02 @15878854 GetlocP int3 01 01 06 35 37 06 37 37 @41586
  16 to 44485: int3 02 @53439 int2 02 @28783023 GetlocP int3 01 01 09 53 11 09 55 11 @41586
  16 to 59308: int3 02 @32120 int2 02 @27306344 GetlocP int3 01 01 13 10 58 13 12 58 @41590
  16 to 74131: int3 02 @32167 int2 02 @29311047 GetlocP int3 01 01 16 28 31 16 30 31 @42149
  16 to 88954: int3 02 @53488 int2 02 @49108640 GetlocP int3 01 01 19 46 04 19 48 04 @53765
  16 to 103777: int3 02 @41864 int2 02 @38257256 GetlocP int3 01 01 23 03 52 23 05 52 @41590
  16 to 118600: int3 02 @32171 int2 02 @27956011 GetlocP int3 01 01 26 21 25 26 23 25 @53729
Single speed, short seeks near the start:
  1000 to 1001: int3 02 @54736 int2 02 @385328 GetlocP int3 01 01 00 13 27 00 15 27 @63762
  1000 to 1004: int3 02 @51565 int2 02 @1745005 GetlocP int3 01 01 00 13 28 00 15 28 @41634
  1000 to 1016: int3 02 @52909 int2 02 @10793869 GetlocP int3 01 01 00 13 41 00 15 41 @53730
  1000 to 1064: int3 02 @32174 int2 02 @6298398 GetlocP int3 01 01 00 14 14 00 16 14 @62934
  1000 to 1256: int3 02 @32176 int2 02 @3174176 GetlocP int3 01 01 00 16 57 00 18 57 @60978
  1000 to 2024: int3 02 @32176 int2 02 @5513136 GetlocP int3 01 01 00 26 74 00 28 74 @41584
Single speed, from the end inward:
  118600 to 88954: int3 02 @32174 int2 02 @20709934 GetlocP int3 01 01 19 46 04 19 48 04 @54066
  118600 to 59308: int3 02 @32174 int2 02 @30499806 GetlocP int3 01 01 13 10 58 13 12 58 @41585
  118600 to 29662: int3 02 @32126 int2 02 @21084046 GetlocP int3 01 01 06 35 39 06 37 39 @60978
  118600 to 16: int3 02 @32172 int2 02 @31202668 GetlocP int3 01 01 00 00 16 00 02 16 @41633
Double speed, from the start outward:
  16 to 14839: int3 02 @53727 int2 02 @7350431 GetlocP int3 01 01 03 17 65 03 19 65 @60534
  16 to 29662: int3 02 @51615 int2 02 @13917295 GetlocP int3 01 01 06 35 38 06 37 38 @41681
  16 to 44485: int3 02 @51615 none GetlocP int3 01 01 09 53 33 09 55 33 @153205
  16 to 59308: int3 02 @32272 int2 02 @51851696 GetlocP int3 01 01 13 10 58 13 12 58 @41680
  16 to 74131: int3 02 @51660 int2 02 @88496588 GetlocP int3 01 01 16 28 31 16 30 31 @61073
  16 to 88954: int3 02 @128815 int2 02 @33802287 GetlocP int3 01 01 19 46 04 19 48 04 @64390
  16 to 103777: int3 02 @239727 none GetlocP int3 01 01 23 04 48 23 06 48 @99535
  16 to 118600: int3 02 @51083 int2 02 @38982043 GetlocP int3 01 01 26 21 25 26 23 25 @60493
Double speed, short seeks near the start:
  1000 to 1001: int3 02 @51612 int2 02 @189900 GetlocP int3 01 01 00 13 26 00 15 26 @63137
  1000 to 1004: int3 02 @55115 int2 02 @857851 GetlocP int3 01 01 00 13 29 00 15 29 @66035
  1000 to 1016: int3 02 @53531 int2 02 @5379067 GetlocP int3 01 01 00 13 41 00 15 41 @68045
  1000 to 1064: int3 02 @109424 int2 02 @3339568 GetlocP int3 01 01 00 14 15 00 16 15 @61074
  1000 to 1256: int3 02 @51616 int2 02 @3402416 GetlocP int3 01 01 00 16 56 00 18 56 @41680
  1000 to 2024: int3 02 @128814 int2 02 @5007278 GetlocP int3 01 01 00 26 74 00 28 74 @61075
Double speed, from the end inward:
  118600 to 88954: int3 02 @109808 int2 02 @10184848 GetlocP int3 01 01 19 46 04 19 48 04 @60550
  118600 to 59308: int3 02 @110283 int2 02 @15066827 GetlocP int3 01 01 13 10 58 13 12 58 @41681
  118600 to 29662: int3 02 @110288 int2 02 @15681152 GetlocP int3 01 01 06 35 39 06 37 39 @61078
  118600 to 16: int3 02 @54975 int2 02 @22469663 GetlocP int3 01 01 00 00 16 00 02 16 @41677
Run 4.
Single speed, from the start outward:
  16 to 14839: int3 02 @32123 int2 02 @19052507 GetlocP int3 01 01 03 17 64 03 19 64 @51281
  16 to 29662: int3 02 @32176 int2 02 @16334960 GetlocP int3 01 01 06 35 37 06 37 37 @41621
  16 to 44485: int3 02 @32166 int2 02 @33431926 GetlocP int3 01 01 09 53 10 09 55 10 @62896
  16 to 59308: int3 02 @31592 int2 02 @39062168 GetlocP int3 01 01 13 10 58 13 12 58 @60977
  16 to 74131: int3 02 @46710 int2 02 @47704470 GetlocP int3 01 01 16 28 31 16 30 31 @42114
  16 to 88954: int3 02 @51566 int2 02 @29173246 GetlocP int3 01 01 19 46 04 19 48 04 @42118
  16 to 103777: int3 02 @32174 int2 02 @31563454 GetlocP int3 01 01 23 03 52 23 05 52 @51814
  16 to 118600: int3 02 @32172 int2 02 @29499868 GetlocP int3 01 01 26 21 25 26 23 25 @60965
Single speed, short seeks near the start:
  1000 to 1001: int3 02 @32176 int2 02 @386560 GetlocP int3 01 01 00 13 28 00 15 28 @60438
  1000 to 1004: int3 02 @53432 int2 02 @1742408 GetlocP int3 01 01 00 13 29 00 15 29 @67809
  1000 to 1016: int3 02 @53484 int2 02 @10801020 GetlocP int3 01 01 00 13 41 00 15 41 @41586
  1000 to 1064: int3 02 @32128 int2 02 @6765232 GetlocP int3 01 01 00 14 15 00 16 15 @41634
  1000 to 1256: int3 02 @32172 int2 02 @11755500 GetlocP int3 01 01 00 16 56 00 18 56 @51809
  1000 to 2024: int3 02 @32123 int2 02 @6414011 GetlocP int3 01 01 00 27 01 00 29 01 @41586
Single speed, from the end inward:
  118600 to 88954: int3 02 @32126 int5 16 ..(2) @10575966 GetlocP int5 13 80 @29382
  118600 to 59308: int5 13 ..(2) @41532 none GetlocP int5 13 80 @31694
  118600 to 29662: int5 13 ..(2) @43741 none GetlocP int5 13 80 @31695
  118600 to 16: int5 13 ..(2) @42349 none GetlocP int5 13 80 @31689
Double speed, from the start outward:
  16 to 14839: int5 13 ..(2) @31747 none GetlocP int5 13 80 @41536
  16 to 29662: int5 13 ..(2) @31782 none GetlocP int5 13 80 @26218
  16 to 44485: int5 13 ..(2) @43793 none GetlocP int5 13 80 @31694
  16 to 59308: int5 13 ..(2) @42163 none GetlocP int5 13 80 @31695
  16 to 74131: int5 13 ..(2) @53393 none GetlocP int5 13 80 @31693
  16 to 88954: int5 13 ..(2) @41581 none GetlocP int5 13 80 @31689
  16 to 103777: int5 13 ..(2) @31791 none GetlocP int5 13 80 @44507
  16 to 118600: int5 13 ..(2) @31788 none GetlocP int5 13 80 @42158
Double speed, short seeks near the start:
  1000 to 1001: int5 13 ..(2) @31788 none GetlocP int5 13 80 @45182
  1000 to 1004: int5 13 ..(2) @31740 none GetlocP int5 13 80 @42155
  1000 to 1016: int5 11 ..(2) @57752 none GetlocP int5 11 80 @61743
  1000 to 1064: int5 11 ..(2) @62227 none GetlocP int5 11 80 @57661
  1000 to 1256: int5 11 ..(2) @58284 none GetlocP int5 11 80 @59245
  1000 to 2024: int5 11 ..(2) @59919 none GetlocP int5 11 80 @58139
Double speed, from the end inward:
  118600 to 88954: int5 11 ..(2) @61691 none GetlocP int5 11 80 @58142
  118600 to 59308: int5 11 ..(2) @58284 none GetlocP int5 11 80 @59241
  118600 to 29662: int5 11 ..(2) @59868 none GetlocP int5 11 80 @58195
  118600 to 16: int5 11 ..(2) @58241 none GetlocP int5 11 80 @62174
Mode 80 put back to 20: int3 12 @30172
Done.

3 October 2026 run 2

followup20p/00RUN.txt

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
9 tests
A chain program, linked at 80100000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02BAC DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 00000000 Cause 00000020 EPC 80016C84 PRId 00000002

followup20p/01DIN.txt

===== 01 DIN F20 DISC IN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
The disc goes in: the wait for the lid, GetID, GetTN, GetTD for every track.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 01 @30818. Getstat: int3 00 @23636. Mode 25. HINTMSK was 1F.
Asked for the Twisted Metal 2 disc on the screen.
Waited 1102 tenths of a second. Getstat 02.
GetID stopped answering error 80h after 20 tries: int3 42 @42631 int5 4A 90 20 00 00 00 00 00 @62167
Unlock replies (50h-56h): 50: int5 43 40 @89314 51: int5 43 40 @57142 52: int5 43 40 @134727 53: int5 43 40 @101650 54: int5 43 40 @80870 55: int5 43 40 @80768 56: int5 43 40 @33280
GetTN: int3 42 01 12 @43405
GetTD 00: int3 42 69 22 @35785
GetTD 01: int3 42 00 02 @41338
GetTD 02: int3 42 39 34 @31214
GetTD 03: int3 42 42 35 @44507
GetTD 04: int3 42 45 42 @57232
GetTD 05: int3 42 48 34 @58816
GetTD 06: int3 42 51 24 @32137
GetTD 07: int3 42 54 12 @41351
GetTD 08: int3 42 57 55 @31799
GetTD 09: int3 42 60 59 @44080
GetTD 10: int3 42 64 06 @31643
GetTD 11: int3 42 65 23 @41350
GetTD 12: int3 42 66 22 @32132
Tracks 1 to 12, the lead-out at sector 312000. The disc groups run.
Done.

followup20p/02SP4.txt

===== 02 SP4 F20 SPEED AND SPIN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
cddisc's speed change, Stop, MotorOn and Init on a pressed disc, four runs.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @23618. Getstat: int3 02 @89814. Mode 25. HINTMSK was 1F.
Run 1.
Single to double speed, then ReadN at once: INT3 int3 02 @33674, first INT1 int1 22 @20457578
Double to single speed, then ReadN at once: INT3 int3 02 @76853, first INT1 int1 22 @150746965
Stop: int3 02 @54352 int2 00 @12624528
MotorOn after it: int3 00 @52624 int2 02 @88547584
Init: int3 02 @64820 int2 02 @5366692
Run 2.
Single to double speed, then ReadN at once: INT3 int3 02 @65946, first INT1 int1 22 @22528474
Double to single speed, then ReadN at once: INT3 int3 02 @32584, first INT1 int5 06 ..(2) @134730344
Stop: int3 02 @28490 int2 02 @36490
MotorOn after it: int5 03 ..(2) @24313 none
Init: int3 02 @75538 int2 02 @91715538
Run 3.
Single to double speed, then ReadN at once: INT3 int3 02 @33637, first INT1 int1 22 @20578341
Double to single speed, then ReadN at once: INT3 int3 02 @96435, first INT1 int1 22 @18182227
Stop: int3 02 @56994 int2 00 @13504402
MotorOn after it: int3 00 @52054 int2 02 @82233798
Init: int3 02 @64246 int2 02 @4893782
Run 4.
Single to double speed, then ReadN at once: INT3 int3 02 @33205, first INT1 int1 22 @36083669
Double to single speed, then ReadN at once: INT3 int3 02 @48424, first INT1 int1 22 @136003240
Stop: int3 02 @57664 int2 00 @12829680
MotorOn after it: int3 00 @52046 int2 02 @67140062
Init: int3 02 @83652 int2 02 @4909236
Mode 20 put back to 25: int3 02 @31460
Done.

followup20p/03GTQ.txt

===== 03 GTQ F20 GETQ SCEX | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GetQ (1Dh), 17h and 18h with the disc in; Test 04h then 05h, the SCEx counts.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @75060. Getstat: int3 02 @41493. Mode 25. HINTMSK was 1F.
GetQ with the wrong count:
  1Dh: int5 03 20 @36731 none
  1Dh 01: int5 03 20 @43500 none
  1Dh 01 01 00: int5 03 20 @29488 none
GetQ adr 1, the points of this disc:
  1Dh 01 01: int3 02 @25067 int2 41 00 01 99 47 32 00 00 02 00 9F @1167867
  1Dh 01 02: int3 02 @40433 int2 01 00 02 99 47 33 00 39 34 51 FC @430561
  1Dh 01 03: int3 02 @55064 int2 01 00 03 99 47 37 00 42 35 40 9F @1747464
  1Dh 01 04: int3 02 @47638 int2 01 00 04 99 47 39 00 45 42 48 9F @879814
  1Dh 01 05: int3 02 @40339 int2 01 00 05 99 47 42 00 48 34 25 9F @1298035
  1Dh 01 06: int3 02 @25317 int2 01 00 06 99 47 45 00 51 24 20 FC @1314709
  1Dh 01 07: int3 02 @22965 int2 01 00 07 99 47 48 00 54 12 17 9F @1316005
  1Dh 01 08: int3 02 @39045 int2 01 00 08 99 47 51 00 57 55 09 FC @1311925
  1Dh 01 09: int3 02 @38852 int2 01 00 09 99 47 54 00 60 59 17 9F @1312596
  1Dh 01 10: int3 02 @39094 int2 01 00 10 99 47 57 00 64 06 46 FC @1317030
  1Dh 01 11: int3 02 @38660 int2 01 00 11 99 47 60 00 65 23 51 9F @1313124
  1Dh 01 12: int3 02 @38947 int2 01 00 12 99 47 63 00 66 22 43 9F @1315763
  1Dh 01 A0: int3 02 @23300 int2 41 00 A0 99 47 66 00 01 20 00 FC @1328340
  1Dh 01 A1: int3 02 @44939 int2 41 00 A1 99 47 69 00 12 00 00 9F @1308363
  1Dh 01 A2: int3 02 @26218 int2 41 00 A2 99 47 72 00 69 22 03 FC @1330586
  Track 2 starts at sector 177951 by GetQ, 177900 by GetTD.
  Track 3 starts at sector 191515 by GetQ, 191475 by GetTD.
  Track 4 starts at sector 205548 by GetQ, 205500 by GetTD.
  Track 5 starts at sector 218425 by GetQ, 218400 by GetTD.
  Track 6 starts at sector 231170 by GetQ, 231150 by GetTD.
  Track 7 starts at sector 243767 by GetQ, 243750 by GetTD.
  Track 8 starts at sector 260484 by GetQ, 260475 by GetTD.
  Track 9 starts at sector 274292 by GetQ, 274275 by GetTD.
  Track 10 starts at sector 288346 by GetQ, 288300 by GetTD.
  Track 11 starts at sector 294126 by GetQ, 294075 by GetTD.
  Track 12 starts at sector 298543 by GetQ, 298500 by GetTD.
17h and 18h:
  17h with 0: int5 03 40 @55797 none gs3/02
  17h with 1: int5 03 40 @25124 none gs3/02
  17h with 2: int5 03 40 @25168 none gs3/02
  18h with 0: int5 03 40 @51373 none gs3/02
  18h with 1: int5 03 40 @25268 none gs3/02
  18h with 2: int5 03 40 @87454 none gs3/02
Test 04h, two seconds, Test 05h:
  04h: int3 02 @42645 05h: int3 00 00 @23347 gs1/22
GetQ adr 1 with a point past the last track, every interrupt for 15 s, then Pause:
  1Dh 01 13:
     int1 22 @15918
     int3 22 @50238
     int1 22 @1199230
     int5 26 40 @358111470
     int1 26 @367772398
     int1 26 @368248174
     int1 26 @368687598
     int1 26 @369126782
     int1 26 @369598894
     int1 26 @370028302
     int1 26 @370486446
     int1 26 @370933598
    and 303 more
  Pause: int3 22 @27752 int2 02 @3985176 gs3/02
Done.

followup20p/04PPG.txt

===== 04 PPG F20 PLAY PREGAP SEEKP | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Play from track 2's pregap with Report on, every report; SeekP to audio sectors.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @32498. Getstat: int3 02 @29786. Mode 25. HINTMSK was 1F.
Track 2 at 177951, track 3 at 191515, track 12 at 298543.
From index 00, 150 sectors before track 2:
  Setloc 177801 (39:32:51), Play: int3 02 @52805
  Pause: int5 43 ..(2) @22376 none (after 0 INT1)
From 75 sectors before track 2:
  Setloc 177876 (39:33:51), Play: int3 42 @81682
  Pause: int5 43 ..(2) @23610 none (after 0 INT1)
Play with track 2 as its parameter:
  Play 02: int3 42 @65249
     int1 82 02 01 39 35 40 FD 7F @63388481
     int1 82 02 01 00 80 74 FF 7F @67908465
     int1 82 02 01 39 35 60 2F 7F @72422609
     int1 82 02 01 00 81 19 FF 7F @76949665
     int1 82 02 01 39 36 00 FF FF @79203249
     int1 82 02 01 00 81 34 FE FF @83708993
     int1 82 02 01 39 36 20 FC FF @88224689
     int1 82 02 01 00 81 54 FF FF @92744497
     int1 82 02 01 39 36 40 EF FF @97260001
  Pause: int3 82 @23384 int2 02 @7233016 (after 0 INT1)
SeekP at single speed:
  to 177951 (39:34:51): int3 02 @31499 int2 02 @4423547 GetlocP int3 02 00 00 00 00 39 34 50 @53664 GetlocL int5 03 80 @44174
  to 177959 (39:34:59): int3 02 @31546 int2 02 @2931802 GetlocP int3 02 01 00 00 06 39 34 57 @41957 GetlocL int5 03 80 @38309
  to 178026 (39:35:51): int3 02 @31494 int2 02 @6247302 GetlocP int3 02 01 00 00 73 39 35 49 @51358 GetlocL int5 03 80 @35241
  to 178951 (39:48:01): int3 02 @46574 int2 02 @4865774 GetlocP int3 02 01 00 13 24 39 48 00 @53573 GetlocL int5 03 80 @26695
  to 177876 (39:33:51): int3 02 @31548 int2 02 @14327292 GetlocP int3 02 00 00 01 01 39 33 49 @43644 GetlocL int5 03 80 @35051
  to 191523 (42:35:48): int3 02 @31544 int2 02 @21887016 GetlocP int3 03 01 00 00 06 42 35 46 @49206 GetlocL int5 03 80 @37013
  to 192015 (42:42:15): int3 02 @41191 int2 02 @10264583 GetlocP int3 03 01 00 06 48 42 42 13 @41767 GetlocL int5 03 80 @38457
  to 298551 (66:22:51): int3 02 @41194 int2 02 @20600266 GetlocP int3 12 01 00 00 06 66 22 49 @51113 GetlocL int5 03 80 @35235
SeekP at double speed:
  to 177951 (39:34:51): int3 02 @31121 int2 02 @23011137 GetlocP int3 02 00 00 00 01 39 34 49 @52662 GetlocL int5 03 80 @27035
  to 177959 (39:34:59): int3 02 @31601 int2 02 @1621185 GetlocP int3 02 01 00 00 06 39 34 57 @33463 GetlocL int5 03 80 @23285
  to 178026 (39:35:51): int3 02 @31975 int2 02 @2899063 GetlocP int3 02 01 00 00 73 39 35 49 @35805 GetlocL int5 03 80 @59806
  to 178951 (39:48:01): int3 02 @77116 int2 02 @2006380 GetlocP int3 02 01 00 13 23 39 47 74 @51079 GetlocL int5 03 80 @47667
  to 177876 (39:33:51): int3 02 @50454 int2 02 @3315798 GetlocP int3 02 00 00 01 01 39 33 49 @37726 GetlocL int5 03 80 @51852
  to 191523 (42:35:48): int3 02 @79996 int2 02 @10693868 GetlocP int3 03 01 00 00 06 42 35 46 @52606 GetlocL int5 03 80 @27083
  to 192015 (42:42:15): int3 02 @31592 int2 02 @4872248 GetlocP int3 03 01 00 06 48 42 42 13 @35815 GetlocL int5 03 80 @55405
  to 298551 (66:22:51): int3 02 @77073 int2 02 @14815153 GetlocP int3 12 01 00 00 06 66 22 49 @53145 GetlocL int5 03 80 @27317
Mode 00 put back to 25: int3 02 @30750
Done.

followup20p/05AMD.txt

===== 05 AMD F20 AUDIO MODES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Report off and on, Forward and Backward, INT4, Stop and MotorOn, on audio.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @51794. Getstat: int3 02 @29396. Mode 25. HINTMSK was 1F.
Report off, Play two seconds into track 2, every interrupt for 2 s:
  Play: int3 02 @44167
  GetlocL int5 83 80 @22280 GetlocP int3 02 01 00 03 45 39 38 21 @40658 Getstat int3 82 @76385
  Pause: int3 82 @22754 int2 02 @7469330 (after 0 INT1)
Report on, Play, Forward at once after its INT3:
  Play: int3 02 @34478
  Forward: int5 03 80 @32807
     int1 83 02 01 39 37 40 0E 7F @37879765
     int1 83 02 01 00 82 74 F7 7F @42398805
     int1 83 02 01 39 37 60 FA 7F @46918629
Forward from the Play running, 2 s:
  Forward: int3 82 @51573
     int1 02 02 01 00 85 63 F7 FF @821259
     int1 02 02 01 39 40 40 FF 1F @1247819
     int1 02 02 01 00 85 67 FE 9F @2603755
     int1 02 02 01 39 42 72 FE 1F @3991499
     int1 02 02 01 00 88 22 FB 9F @4437547
     int1 02 02 01 39 43 00 FD 1F @5344907
     int1 02 02 01 00 88 25 FE 9F @5801371
     int1 02 02 01 00 90 73 FC 1F @7780619
     int1 02 02 01 39 45 50 FE 9F @8228843
     int1 02 02 01 39 48 06 FF 9F @10478555
     int1 02 02 01 00 93 31 F7 1F @10906059
     int1 02 02 01 00 93 33 FB 9F @11832587
     int1 02 02 01 39 50 20 FD 1F @12944907
     int1 02 02 01 00 95 45 FE 9F @13387595
     int1 02 02 01 39 50 24 FF 1F @14768187
     int1 02 02 01 00 98 02 FF 9F @16022971
     int1 02 02 01 39 52 54 FF 1F @16497787
     int1 02 02 01 00 98 04 FF 9F @16919147
     int1 02 02 01 39 52 56 FF 1F @17375051
     int1 02 02 01 00 98 06 F8 9F @17831147
     int1 02 02 01 39 54 68 FB 1F @18903019
     int1 02 02 01 00 A0 18 FF 9F @19373131
     int1 02 02 01 39 54 70 FA 1F @19808427
     int1 02 02 01 00 A0 20 FB 9F @20257707
     int1 02 02 01 00 A0 22 F9 1F @21164011
     int1 02 02 01 39 57 62 FF 9F @22273835
     int1 02 02 01 00 A3 12 FF 1F @22745355
     int1 02 02 01 39 57 66 FF 9F @24098683
     int1 02 02 01 40 00 02 FD 1F @25100203
     int1 02 02 01 00 A5 27 FD 9F @25562747
     int1 02 02 01 40 00 04 FC 1F @26003099
     int1 02 02 01 40 00 06 FF 9F @26906251
     int1 02 02 01 40 02 18 FF 1F @28370331
     int1 02 02 01 00 A7 43 F7 9F @28813451
     int1 02 02 01 40 02 20 FD 1F @29269403
     int1 02 02 01 00 A7 45 D0 9F @29723515
     int1 02 02 01 00 B0 00 FE 1F @31331771
     int1 02 02 01 40 04 52 F7 9F @31760635
     int1 02 02 01 00 B0 02 FE 1F @32211963
     int1 02 02 01 40 04 54 FC 9F @32681899
    and 46 more
Play with no parameter, 1 s:
  Play: int3 82 @46003
     int1 82 02 01 00 D5 34 05 FF @3099275
     int1 82 02 01 40 30 20 FD FF @7614651
     int1 82 02 01 00 D5 54 DE FF @12128555
     int1 82 02 01 40 30 40 FC FF @16661995
     int1 82 02 01 00 D5 74 E0 FF @21166859
     int1 82 02 01 40 30 60 F9 FF @25677339
     int1 82 02 01 00 D6 19 0C FF @30210331
     int1 82 02 01 40 31 00 39 7F @32450555
Backward, 2 s:
  Backward: int3 82 @40871
     int1 02 02 01 00 D4 02 E4 7D @839891
     int1 02 02 01 40 28 54 FD 9F @1289027
     int1 02 02 01 00 D4 04 F2 1F @1762707
     int1 02 02 01 00 D4 06 FE 9F @2655171
     int1 02 02 01 00 D1 57 FC 1F @4068371
     int1 02 02 01 00 D1 59 FF 9F @4938867
     int1 02 02 01 40 26 36 FF 1F @5419731
     int1 02 02 01 00 D1 61 FC 9F @5847587
     int1 02 02 01 40 23 70 FD 1F @7081635
     int1 02 02 01 00 C9 20 FF 9F @7528675
     int1 02 02 01 40 23 72 FF 1F @7979619
     int1 02 02 01 00 C9 22 FB 9F @8458227
     int1 02 02 01 40 23 74 FC 1F @8884467
     int1 02 02 01 40 21 68 F6 9F @10385491
     int1 02 02 01 40 21 70 FF 1F @11268835
     int1 02 02 01 00 C7 20 FC 9F @11739075
     int1 02 02 01 40 19 30 FD 1F @13336803
     int1 02 02 01 00 C4 55 FF 9F @13788979
     int1 02 02 01 40 19 32 FF 1F @14237699
     int1 02 02 01 00 C4 57 FD 9F @14708595
     int1 02 02 01 40 19 34 FE 1F @15147123
     int1 02 02 01 00 C2 51 FD 9F @16117731
     int1 02 02 01 00 C2 55 FE 1F @17923939
     int1 02 02 01 00 C0 49 C5 9F @19334691
     int1 02 02 01 40 15 26 FF 1F @19792290
     int1 02 02 01 00 C0 51 C8 9F @20238931
     int1 02 02 01 00 C0 53 FE 1F @21162515
     int1 02 02 01 40 13 06 FF 9F @22832083
     int1 02 02 01 00 B8 31 FE 1F @23286003
     int1 02 02 01 40 13 08 FD 9F @23746035
     int1 02 02 01 00 B8 33 FA 1F @24185939
     int1 02 02 01 40 11 20 FF 9F @25262147
     int1 02 02 01 00 B6 45 C2 1F @25709171
     int1 02 02 01 40 11 22 FB 9F @26162915
     int1 02 02 01 00 B6 47 FE 1F @26632803
     int1 02 02 01 40 11 24 FC 9F @27057715
     int1 02 02 01 40 09 18 FF 1F @28409731
     int1 02 02 01 00 B4 43 F3 9F @28857571
     int1 02 02 01 40 09 20 F7 1F @29306099
     int1 02 02 01 00 B4 45 FF 9F @29778787
    and 51 more
Play with no parameter, 1 s:
  Play: int3 82 @33431
     int1 82 02 01 39 44 06 14 79 @163695
     int1 82 02 01 00 89 34 F3 7F @1967167
     int1 82 02 01 39 44 20 E9 7F @6472175
     int1 82 02 01 00 89 54 F3 7F @10999343
     int1 82 02 01 39 44 40 F9 FE @15527407
     int1 82 02 01 00 89 74 F6 FF @20020351
     int1 82 02 01 39 44 60 E5 FF @24537119
     int1 82 02 01 00 90 19 F0 FE @29056847
     int1 82 02 01 39 45 00 FB 7F @31314479
  Pause: int3 82 @29145 int2 02 @7667625 (after 0 INT1)
From Pause:
  Forward: int5 03 80 @26750
  Backward: int5 03 80 @28201
  Getstat: int3 02 @43993
AutoPause on, Report off, Play 2 s before track 3's index 00, every interrupt 6 s:
  Play from 191215 (42:31:40): int3 02 @46961
     int4 82 @84717281
  Getstat int3 02 @27599 GetlocP int3 02 01 02 58 56 42 33 32 @37580
AutoPause off, Play 3 s before the lead-out, every interrupt 8 s:
  Play from 311775 (69:19:00): int3 02 @49022
     int4 02 @129348670
  Getstat int3 00 @21503 GetlocP int3 AA 01 00 00 00 69 22 03 @33933
MotorOn, MotorOn again, Play, Stop, then GetlocP, Getstat, Init:
  MotorOn: int3 00 @66142 int2 02 @108930323
  MotorOn again: int5 03 20 @30694 none
  Play: int3 02 @71363
  Stop: int3 02 @64014 int2 00 @3302766
  GetlocP: int3 02 01 ..(8) @49028
  Getstat: int3 00 @40201
  Init: int3 00 @85971 int2 02 @92634323
  Getstat: int3 02 @18925
Mode 20 put back to 25: int3 02 @57284
Done.

followup20p/06DMD.txt

===== 06 DMD F20 DATA MODES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Stat bit 6 through a seek, Init parking, and sectors held in the buffer.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @26497. Getstat: int3 02 @50330. Mode 25. HINTMSK was 1F.
From sector 16 to 100000.
SeekL, Getstat through it:
  answer int3 02 @22925
  stat 02 from @73837
  stat 42 from @301629
  400 Getstats, 0 other interrupts
From sector 16 to 50000.
ReadN, Getstat until the fourth INT1:
  answer int3 02 @32470
  stat 02 from @62630
  stat 42 from @297958
  400 Getstats, 0 other interrupts
  Pause: int5 43 ..(2) @51613 none (after 0 INT1)
Single speed: SeekL to 100000 int2 02 @5676291, Init int3 02 @70072 int2 02 @19589416
  at once: GetlocL int3 00 01 72 02 00 00 00 00 @47907 GetlocP int3 01 01 00 00 00 00 02 00 @46899
  1 s on: GetlocL int3 00 01 73 02 00 00 00 00 @40130 GetlocP int3 01 00 00 00 03 00 01 71 @48866 Getstat int3 02 @33210 mode 20
Double speed: SeekL to 50000 int2 02 @42883582, Init int3 02 @70557 int2 02 @21787741
  at once: GetlocL int3 00 01 72 02 00 00 00 00 @58041 GetlocP int3 01 01 00 00 00 00 02 00 @46982
  1 s on: GetlocL int3 00 01 68 02 00 00 00 00 @37486 GetlocP int3 01 00 00 00 03 00 01 71 @39304 Getstat int3 02 @20206 mode 20
ReadN from sector 2000 (header 00:28:50), mode 20h, the first INT1 held n sector times:
  hold  0: int1/22 00:28:50@8674661 int1/22 00:28:51@9104037 int1/22 00:28:52@9559349 int1/22 00:28:53@10019589 int1/22 00:28:54@10491445 int1/22 00:28:55@10917477 int1/22 00:28:56@11364933 int1/22 00:28:57@11831237 int1/22 00:28:58@12271605 int1/22 00:28:59@12721525 Pause int2 02 @3848339
  hold  1: int1/22 00:28:50@5637761 int1/22 00:28:51@6103713 int1/22 00:28:52@6513985 int1/22 00:28:53@6966721 int1/22 00:28:54@7417457 int1/22 00:28:55@7867153 int1/22 00:28:56@8333233 int1/22 00:28:57@8768785 int1/22 00:28:58@9229649 int1/22 00:28:59@9673489 Pause int2 02 @3858577
  hold  2: int1/22 00:28:50@5632835 int1/22 00:28:52@6555731 int1/22 00:28:53@6975571 int1/22 00:28:54@7433251 int1/22 00:28:55@7878275 int1/22 00:28:56@8329235 int1/22 00:28:57@8784387 int1/22 00:28:58@9234803 int1/22 00:28:59@9688467 int1/22 00:28:60@10148819 Pause int2 02 @3843316
  hold  3: int1/22 00:28:50@5203205 int1/22 00:28:53@6583557 int1/22 00:28:54@6982837 int1/22 00:28:55@7441749 int1/22 00:28:56@7883973 int1/22 00:28:57@8337781 int1/22 00:28:58@8796373 int1/22 00:28:59@9244149 int1/22 00:28:60@9702181 int1/22 00:28:61@10145973 Pause int2 02 @3852712
  hold  4: int1/22 00:28:50@4743344 int1/22 00:28:54@6582800 int1/22 00:28:55@6985232 int1/22 00:28:56@7448112 int1/22 00:28:57@7891760 int1/22 00:28:58@8338672 int1/22 00:28:59@8805232 int1/22 00:28:60@9246032 int1/22 00:28:61@9701056 int1/22 00:28:62@10142992 Pause int2 02 @3856275
  hold  6: int1/22 00:28:58@4273877 int1/22 00:28:56@7008294 int1/22 00:28:57@7435941 int1/22 00:28:58@7882901 int1/22 00:28:59@8335109 int1/22 00:28:60@8792805 int1/22 00:28:61@9238245 int1/22 00:28:62@9691621 int1/22 00:28:63@10162917 int1/22 00:28:64@10595253 Pause int2 02 @3848600
  hold  8: int1/22 00:28:58@3404997 int1/22 00:28:58@7039637 int1/22 00:28:59@7442517 int1/22 00:28:60@7892293 int1/22 00:28:61@8358373 int1/22 00:28:62@8793989 int1/22 00:28:63@9253749 int1/22 00:28:64@9697381 int1/22 00:28:65@10147717 int1/22 00:28:66@10596917 Pause int2 02 @3856403
  hold 12: int1/22 00:28:58@6988945 int1/22 00:28:62@12429777 int1/22 00:28:63@12846673 int1/22 00:28:64@13298497 int1/22 00:28:65@13756241 int1/22 00:28:66@14201121 int1/22 00:28:67@14653889 int1/22 00:28:68@15125201 int1/22 00:28:69@15557601 int1/22 00:28:70@16026721 Pause int2 02 @3823112
Mode 00 put back to 25: int3 02 @41208
Done.

followup20p/07SPE.txt

===== 07 SPE F20 SEEK PAST END | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
SeekL and SeekP two seconds past the lead-out, then Init.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @24866. Getstat: int3 02 @42698. Mode 25. HINTMSK was 1F.
SeekL to 312150 (69:24:00):
     int3 02 @44732
     int5 06 04 @289995740
  GetTN int3 00 01 12 @30691 gs3/00, Init int3 00 @96369 int2 02 @78176129 gs3/02
SeekP to 312150 (69:24:00):
     int3 02 @42663
     int2 02 @29492327
  GetTN int3 02 01 12 @76259 gs3/02, Init int3 02 @86858 int2 02 @69231850 gs3/02
Mode 20 put back to 25: int3 02 @31269
Done.

followup20p/08TSS.txt

===== 08 TSS F20 TEST MOTOR LENS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Test 19h subfunctions that move the motor or the lens, then Init.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @31106. Getstat: int3 02 @29594. Mode 25. HINTMSK was 1F.
The lid button is taped down for this run: no wait for the lid.
Lid still shut after 1 tenths of a second: int3 00 @27065
  19h 03: int3 02 @41061 gs3/02
  19h 00: int3 00 @49763 gs3/00
   two seconds on: Getstat int3 02 @24489
  19h 03: int3 02 @41356 gs3/02
  19h 11: int3 00 @29885 gs3/00
  19h 12: int3 00 @30754 gs3/00
  19h 13: int3 00 @27383 gs3/00
  19h 14: int3 00 @31564 gs3/00
  19h 19: int3 00 @28108 gs3/00
  19h 1A: int3 00 @43708 gs3/00
  19h 03: int3 00 @30130 gs3/00
Init: int3 00 @89245 int2 02 @72814253 Getstat int3 02 @46949
Mode 20 put back to 25: int3 02 @76901
Done.

followup20p/09DCR.txt

===== 09 DCR F20 DECODER READS | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Test 71h, 73h and 75h: the drive's decoder registers.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @106114. Getstat: int3 02 @29546. Mode 25. HINTMSK was 1F.
  19h 71 00: int3 9E @33485 gs3/02
  19h 71 01: int3 DC @29055 gs3/02
  19h 71 02: int3 00 @29101 gs3/02
  19h 71 03: int3 00 @29099 gs3/02
  19h 71 04: int3 00 @25882 gs3/02
  19h 71 05: int3 89 @29101 gs3/02
  19h 71 06: int3 C0 @29094 gs3/02
  19h 71 07: int3 02 @29154 gs3/02
  19h 71 08: int3 8A @42320 gs3/02
  19h 71 09: int3 C0 @29063 gs3/02
  19h 71 0A: int3 1C @37453 gs3/02
  19h 71 0B: int3 C9 @55157 gs3/02
  19h 71 0C: int3 08 @29106 gs3/02
  19h 71 0D: int3 30 @26021 gs3/02
  19h 71 0E: int3 6D @29142 gs3/02
  19h 71 0F: int3 05 @29154 gs3/02
  19h 71 10: int3 C0 @39575 gs3/02
  19h 71 11: int3 E0 @29058 gs3/02
  19h 71 12: int3 00 @29141 gs3/02
  19h 71 13: int3 19 @35528 gs3/02
  19h 71 14: int3 FF @40722 gs3/02
  19h 71 15: int3 C0 @42109 gs3/02
  19h 71 16: int3 C0 @40717 gs3/02
  19h 71 17: int3 C0 @25974 gs3/02
  19h 71 18: int3 C0 @92944 gs3/02
  19h 71 19: int3 C0 @29096 gs3/02
  19h 71 1A: int3 C0 @25837 gs3/02
  19h 71 1B: int3 C0 @88084 gs3/02
  19h 71 1C: int3 C0 @29100 gs3/02
  19h 71 1D: int3 C0 @25986 gs3/02
  19h 71 1E: int3 C0 @88357 gs3/02
  19h 71 1F: int3 C0 @29100 gs3/02
  19h 73 00 04: int3 8E DC 00 01 @231451 gs3/02
  19h 73 10 04: int3 C0 F0 00 19 @229260 gs3/02
  19h 75: int3 1C C9 08 30 @46444 gs3/02
Done.

5 October 2026

followup20q/00RUN.txt

===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
3 tests
A chain program, linked at 80010000
Saved on the card in slot 2, from image 1
COP0 at start: BPC 00000000 BDA 00000000 TAR BFC02BAC DCIC 00000000 BadVaddr 00000480 BDAM 00000000
BPCM 00000000 SR 40000000 Cause 00000020 EPC 80111E68 PRId 00000002

followup20q/01DIN.txt

===== 01 DIN F20 DISC IN | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
The disc goes in: the wait for the lid, GetID, GetTN, GetTD for every track.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 01 @23956. Getstat: int3 00 @30548. Mode 20. HINTMSK was 1F.
Asked for the Twisted Metal 2 disc on the screen.
Lid shut, motor off at 0 tenths: MotorOn int5 01 ..(2) @25455 none
Lid shut, motor off at 50 tenths: MotorOn int5 01 ..(2) @30458 none
Lid shut, motor off at 100 tenths: MotorOn int5 01 ..(2) @32553 none
Lid shut, motor off at 150 tenths: MotorOn int5 01 ..(2) @35343 none
Lid shut, motor off at 200 tenths: MotorOn int5 01 ..(2) @32556 none
Lid shut, motor off at 250 tenths: MotorOn int5 01 ..(2) @30975 none
Lid shut, motor off at 300 tenths: MotorOn int5 01 ..(2) @30975 none
Lid shut, motor off at 350 tenths: MotorOn int5 01 ..(2) @32553 none
Lid shut, motor off at 400 tenths: MotorOn int3 00 @30441 none
Waited 401 tenths of a second. Getstat 02.
GetID stopped answering error 80h after 14 tries: int3 42 @28865 int5 4A 90 20 00 00 00 00 00 @48257
Unlock replies (50h-56h): 50: int5 43 40 @23635 51: int5 43 40 @110190 52: int5 43 40 @41731 53: int5 43 40 @61650 54: int5 43 40 @51861 55: int5 43 40 @64148 56: int5 43 40 @23490
GetTN: int3 42 01 12 @44085
GetTD 00: int3 42 69 22 @55069
GetTD 01: int3 42 00 02 @58525
GetTD 02: int3 42 39 34 @56460
GetTD 03: int3 42 42 35 @152969
GetTD 04: int3 42 45 42 @55736
GetTD 05: int3 42 48 34 @32126
GetTD 06: int3 42 51 24 @85561
GetTD 07: int3 42 54 12 @31406
GetTD 08: int3 42 57 55 @43169
GetTD 09: int3 42 60 59 @57033
GetTD 10: int3 42 64 06 @59433
GetTD 11: int3 42 65 23 @31986
GetTD 12: int3 42 66 22 @40952
Tracks 1 to 12, the lead-out at sector 312000. The disc groups run.
Done.

followup20q/02GTQ.txt

===== 02 GTQ F20 GETQ SCEX | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
GetQ (1Dh), 17h and 18h with the disc in; Test 04h then 05h, the SCEx counts.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @119364. Getstat: int3 02 @75066. Mode 20. HINTMSK was 1F.
GetQ with the wrong count:
  1Dh: int5 03 20 @69726 none
  1Dh 01: int5 03 20 @27047 none
  1Dh 01 01 00: int5 03 20 @31737 none
GetQ adr 1, the points of this disc:
  1Dh 01 01: int3 02 @57382 int2 41 00 01 99 46 15 00 00 02 00 FC @18303510
  1Dh 01 02: int3 02 @24738 int2 01 00 02 99 46 18 00 39 34 51 9F @1319746
  1Dh 01 03: int3 02 @46187 int2 01 00 03 99 46 21 00 42 35 40 FC @1315323
  1Dh 01 04: int3 02 @38891 int2 01 00 04 99 46 24 00 45 42 48 9F @1314459
  1Dh 01 05: int3 02 @38840 int2 01 00 05 99 46 27 00 48 34 25 FC @1308392
  1Dh 01 06: int3 02 @48406 int2 01 00 06 99 46 30 00 51 24 20 9F @1315382
  1Dh 01 07: int3 02 @38796 int2 01 00 07 99 46 33 00 54 12 17 9F @1320556
  1Dh 01 08: int3 02 @22817 int2 01 00 08 99 46 36 00 57 55 09 FC @1311537
  1Dh 01 09: int3 02 @40043 int2 01 00 09 99 46 39 00 60 59 17 9F @1326267
  1Dh 01 10: int3 02 @26182 int2 01 00 10 99 46 42 00 64 06 46 FC @1309942
  1Dh 01 11: int3 02 @23486 int2 01 00 11 99 46 45 00 65 23 51 9F @1322430
  1Dh 01 12: int3 02 @25654 int2 01 00 12 99 46 48 00 66 22 43 FC @1317494
  1Dh 01 A0: int3 02 @23254 int2 41 00 A0 99 46 51 00 01 20 00 9F @1312982
  1Dh 01 A1: int3 02 @42011 int2 41 00 A1 99 46 54 00 12 00 00 FC @1316667
  1Dh 01 A2: int3 02 @39807 int2 41 00 A2 99 46 57 00 69 22 03 9F @1312255
  Track 2 starts at sector 177951 by GetQ, 177900 by GetTD.
  Track 3 starts at sector 191515 by GetQ, 191475 by GetTD.
  Track 4 starts at sector 205548 by GetQ, 205500 by GetTD.
  Track 5 starts at sector 218425 by GetQ, 218400 by GetTD.
  Track 6 starts at sector 231170 by GetQ, 231150 by GetTD.
  Track 7 starts at sector 243767 by GetQ, 243750 by GetTD.
  Track 8 starts at sector 260484 by GetQ, 260475 by GetTD.
  Track 9 starts at sector 274292 by GetQ, 274275 by GetTD.
  Track 10 starts at sector 288346 by GetQ, 288300 by GetTD.
  Track 11 starts at sector 294126 by GetQ, 294075 by GetTD.
  Track 12 starts at sector 298543 by GetQ, 298500 by GetTD.
17h and 18h:
  17h with 0: int5 03 40 @19814 none gs3/02
  17h with 1: int5 03 40 @24881 none gs5/03
  17h with 2: int5 03 40 @24972 none gs3/02
  18h with 0: int5 03 40 @25022 none gs3/02
  18h with 1: int5 03 40 @25029 none gs5/03
  18h with 2: int5 03 40 @24693 none gs3/02
Test 04h, two seconds, Test 05h:
  04h: int3 02 @45131 05h: int3 00 00 @27993 gs3/82
GetQ adr 1 with a point past the last track, every interrupt for 15 s, then Pause:
  1Dh 01 13:
     int3 82 @25185
     int5 86 40 @360047105
  Pause: int3 82 @61024 int2 02 @4108528 gs3/02
Done.

followup20q/03AMD.txt

===== 03 AMD F20 AUDIO MODES | BIOS 19951204 System ROM Version 3.0 11/18/96 A
BadVaddr as the group starts: 00000480
Report off and on, Forward and Backward, INT4, Stop and MotorOn, on audio.
Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 00 @26068. Getstat: int3 02 @39242. Mode 20. HINTMSK was 1F.
Report off, Play two seconds into track 2, every interrupt for 2 s:
  Play: int3 02 @52477
  GetlocL int5 83 80 @24194 GetlocP int3 02 01 00 02 48 39 37 24 @103702 Getstat int3 82 @40233
  Pause: int3 82 @32210 int2 02 @7353297 (after 0 INT1)
Report on, Play, Forward at once after its INT3:
  Play: int3 02 @34421
  Forward: int5 03 80 @33363
     int1 83 02 01 39 37 40 FD FF @39142275
     int1 83 02 01 00 82 74 09 FF @43655123
     int1 83 02 01 39 37 60 F6 FF @48158179
Forward from the Play running, 2 s:
  Forward: int3 82 @100763
     int1 02 02 01 00 86 22 08 7D @1464194
     int1 02 02 01 39 40 74 FF 9F @1912162
     int1 02 02 01 39 41 00 FC 1F @2366706
     int1 02 02 01 00 86 25 FF 9F @2824882
     int1 02 02 01 00 89 33 FF 1F @4742578
     int1 02 02 01 39 44 10 FC 9F @5192130
     int1 02 02 01 39 47 00 FE 1F @6890642
     int1 02 02 01 39 47 02 FB 9F @7811362
     int1 02 02 01 00 92 27 FF 1F @8248162
     int1 02 02 01 39 47 04 FD 9F @8694178
     int1 02 02 01 00 95 35 FC 1F @10081634
     int1 02 02 01 39 50 12 C9 9F @10552242
     int1 02 02 01 00 95 37 FD 1F @10983186
     int1 02 02 01 39 50 14 F7 9F @11431906
     int1 02 02 01 39 53 04 FE 1F @13055202
     int1 02 02 01 00 98 29 FE 9F @13505778
     int1 02 02 01 39 53 06 FE 1F @13953730
     int1 02 02 01 00 98 31 FF 9F @14416066
     int1 02 02 01 39 53 08 FF 1F @14857858
     int1 02 02 01 39 55 54 F7 9F @15817442
     int1 02 02 01 00 A1 04 F6 1F @16279570
     int1 02 02 01 39 55 56 FB 9F @16727634
     int1 02 02 01 00 A1 06 ED 1F @17178322
     int1 02 02 01 00 A4 00 FE 9F @20535106
     int1 02 02 01 39 58 52 FA 1F @20974034
     int1 02 02 01 00 A6 47 FA 9F @21871938
     int1 02 02 01 40 01 24 C0 1F @22350802
     int1 02 02 01 00 A6 49 F4 9F @22778418
     int1 02 02 01 00 A6 51 C9 1F @23697074
     int1 02 02 01 40 01 28 FB 9F @24131250
     int1 02 02 01 40 03 74 FA 1F @25012722
     int1 02 02 01 00 A9 25 FF 9F @25896178
     int1 02 02 01 40 04 02 F4 1F @26367666
     int1 02 02 01 00 A9 27 FF 9F @26797010
     int1 02 02 01 40 04 04 F9 1F @27245746
     int1 02 02 01 40 06 50 FD 9F @28086754
     int1 02 02 01 00 B2 00 FD 1F @28523362
     int1 02 02 01 40 06 52 FC 9F @28973794
     int1 02 02 01 00 B2 02 FF 1F @29445202
     int1 02 02 01 40 06 54 FF 9F @29872066
    and 48 more
Play with no parameter, 1 s:
  Play: int3 82 @37209
     int1 82 02 01 01 81 74 F7 FF @1544994
     int1 82 02 01 40 36 60 FB FF @6062322
     int1 82 02 01 01 82 19 FE FF @10593202
     int1 82 02 01 40 37 00 FE 7F @12840578
     int1 82 02 01 01 82 34 FB 7F @17352978
     int1 82 02 01 40 37 20 F9 7F @21867650
     int1 82 02 01 01 82 55 F7 FF @26834898
     int1 82 02 01 40 37 40 DC 7F @30897234
Backward, 2 s:
  Backward: int3 82 @32928
     int1 02 02 01 01 80 63 F3 FF @858347
     int1 02 02 01 40 35 40 FF 1F @1298491
     int1 02 02 01 40 35 42 FF 9F @2203291
     int1 02 02 01 01 80 67 FF 1F @2657963
     int1 02 02 01 00 D8 27 FE 9F @4895291
     int1 02 02 01 40 33 04 FE 1F @5370075
     int1 02 02 01 00 D8 29 FF 9F @5804923
     int1 02 02 01 40 30 56 FC 9F @7257483
     int1 02 02 01 00 D6 06 C5 1F @7688811
     int1 02 02 01 00 D6 08 F7 9F @8609675
     int1 02 02 01 40 30 60 FB 1F @9046731
     int1 02 02 01 40 28 18 FF 9F @10340267
     int1 02 02 01 00 D3 43 FF 1F @10775403
     int1 02 02 01 40 28 20 FB 9F @11229963
     int1 02 02 01 00 D3 45 FD 1F @11689291
     int1 02 02 01 40 28 22 FA 9F @12159659
     int1 02 02 01 00 D1 22 FF 1F @13542779
     int1 02 02 01 40 25 74 FF 9F @13966635
     int1 02 02 01 40 26 00 F6 1F @14415355
     int1 02 02 01 40 23 52 FF 9F @16249211
     int1 02 02 01 40 23 54 FC 1F @17140843
     int1 02 02 01 40 23 56 FD 9F @18043307
     int1 02 02 01 00 C6 55 FE 1F @18918939
     int1 02 02 01 40 21 32 FE 9F @19373755
     int1 02 02 01 00 C6 57 FE 1F @19818443
     int1 02 02 01 40 21 34 FD 9F @20266795
     int1 02 02 01 00 C6 59 F8 1F @20745739
     int1 02 02 01 40 21 36 FE 9F @21174395
     int1 02 02 01 00 C4 53 FB 1F @22195931
     int1 02 02 01 40 19 30 FF 9F @22626571
     int1 02 02 01 00 C4 55 FB 1F @23077051
     int1 02 02 01 00 C4 57 FE 9F @23977995
     int1 02 02 01 00 C2 33 FF 1F @25268203
     int1 02 02 01 00 C2 35 F7 9F @26170011
     int1 02 02 01 40 17 12 FB 1F @26617867
     int1 02 02 01 00 C2 37 BC 9F @27080843
     int1 02 02 01 00 C0 31 FF 1F @28483995
     int1 02 02 01 40 15 08 C5 9F @28953883
     int1 02 02 01 00 C0 33 FD 1F @29384443
     int1 02 02 01 40 15 10 FF 9F @29837819
    and 48 more
Play with no parameter, 1 s:
  Play: int3 82 @50695
     int1 82 02 01 39 49 68 0F A1 @57106
     int1 82 02 01 00 95 19 E4 FF @977730
     int1 82 02 01 39 50 00 29 7F @3216082
     int1 82 02 01 00 95 34 EE 7F @7734338
     int1 82 02 01 39 50 20 1A 7F @12250754
     int1 82 02 01 00 95 54 F8 7F @16785938
     int1 82 02 01 39 50 40 DA 7F @21280434
     int1 82 02 01 00 95 74 E6 7F @25798226
     int1 82 02 01 39 50 60 D7 7F @30333906
  Pause: int3 82 @25601 int2 02 @7127841 (after 0 INT1)
From Pause:
  Forward: int5 03 80 @33998
  Backward: int5 03 80 @27900
  Getstat: int3 02 @25296
AutoPause on, Report off, Play 2 s before track 3's index 00, every interrupt 6 s:
  Play from 191215 (42:31:40): int3 02 @44073
     int4 82 @86771577
  Getstat int3 02 @24103 GetlocP int3 02 01 02 58 51 42 33 27 @52325
AutoPause off, Play 3 s before the lead-out, every interrupt 8 s:
  Play from 311775 (69:19:00): int3 02 @34384
     int4 02 @131730976
  Getstat int3 00 @27843 GetlocP int3 AA 01 00 00 00 69 22 03 @35662
MotorOn, MotorOn again, Play, Stop, then GetlocP, Getstat, Init:
  MotorOn: int3 00 @69517 int2 02 @70099901
  MotorOn again: int5 03 20 @48412 none
  Play: int3 02 @52431
  Stop: int3 02 @50583 int2 00 @7301383
  GetlocP: int3 02 01 ..(8) @48867
  Getstat: int3 00 @39558
  Init: int3 00 @85917 int2 02 @80370525
  Getstat: int3 02 @44070
Done.

References


  1. ^ a b c d e f g h i j SCPH-5501 output: followup20/00RUN.txt and the files beside it, listed under Runs.

  2. ^ 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 SCPH-5501 output: followup20p/00RUN.txt and the files beside it, listed under Runs.

  3. ^ a b c d e f g h i j k l m n o SCPH-5501 output: followup20q/00RUN.txt and the files beside it, listed under Runs.

Categories: Hardware tests