psx.wiki
Log in
Main page
Hardware
Hardware tests
System software
SDKs
File formats
Games
Tools
History
All pages
page
view source
history
View source for CD-ROM Audio and Data Commands
← CD-ROM Audio and Data Commands
You do not have permission to edit this page.
Log in
to edit.
--- title: CD-ROM Audio and Data Commands type: test summary: 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. category: Hardware tests info: Machine = SCPH-5501 info: Program = followup20, 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.[^o] 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.[^o] 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.[^o] 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.[^o][^p][^q] Table: 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: - [CD-ROM Controller With a Disc](/tests/cd-rom-with-disc/) - [CD-ROM Seek Timing](/tests/cd-rom-seek-timing/) - [CD-ROM Commands With No Disc](/tests/cd-rom-no-disc-commands/) ## 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.[^o] The [CD-ROM commands](/hardware/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.[^o][^p][^q] Commands 50h to 56h each answered INT5 43h 40h.[^p][^q] 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.[^q] 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.[^p][^q] Table: 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.[^p][^q] 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.[^p][^q] 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.[^p][^q] 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.[^p][^q] ### 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.[^o] 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.[^o] Table: 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.[^o] Five double speed seeks outward gave no INT2 within the wait, and GetlocP after them gave a place other than the target.[^o] ### 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.[^p] Table: 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.[^p] ### 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.[^p] 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.[^p] 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.[^p] Table: 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.[^p][^q] 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.[^p][^q] 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.[^p][^q] 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.[^p][^q] 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.[^p][^q] 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.[^p][^q] ### 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.[^p] 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.[^p] 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.[^p] Table: 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.[^p] ### 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.[^p] 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.[^p] Table: 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](/tests/raw/20261003T0000Z-5501a-card-o/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](/tests/raw/20261003T0000Z-5501a-card-o/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](/tests/raw/20261003T0000Z-5501a-card-o/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](/tests/raw/20261003T0000Z-5501a-card-o/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](/tests/raw/20261003T0000Z-5501a-card-o/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](/tests/raw/20261003T0000Z-5501a-card-o/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](/tests/raw/20261003T0000Z-5501a-card-o/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261003T0000Z-5501a-card-p/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](/tests/raw/20261005T0000Z-5501a-card-q/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](/tests/raw/20261005T0000Z-5501a-card-q/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](/tests/raw/20261005T0000Z-5501a-card-q/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](/tests/raw/20261005T0000Z-5501a-card-q/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 [^o]: SCPH-5501 output: [followup20/00RUN.txt](/tests/raw/20261003T0000Z-5501a-card-o/followup20/00RUN.txt) and the files beside it, listed under Runs. [^p]: SCPH-5501 output: [followup20p/00RUN.txt](/tests/raw/20261003T0000Z-5501a-card-p/followup20p/00RUN.txt) and the files beside it, listed under Runs. [^q]: SCPH-5501 output: [followup20q/00RUN.txt](/tests/raw/20261005T0000Z-5501a-card-q/followup20q/00RUN.txt) and the files beside it, listed under Runs.