CD-ROM Audio and Data Commands: Difference between revisions
| Revision as of 05:27, 23 October 2026 RemmyLee (GTE Lighting Input Latency: split the cross-link sentence) | Revision as of 05:40, 23 October 2026 RemmyLee (Hardware tests: 15 more test pages (CPU, DMA, SPU, GPU, MDEC, CD-ROM, bus), each with See also links to the pages that measure the same parts) | ||
| Line 1: | Line 1: | ||
| + | --- | ||
| + | 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. | ||