psx.wiki
Log in
Main page
Hardware
Hardware tests
System software
SDKs
File formats
Games
Tools
History
All pages
page
view source
history
View source for CD-ROM Controller With No Disc
← CD-ROM Controller With No Disc
You do not have permission to edit this page.
Log in
to edit.
--- title: CD-ROM Controller With No Disc type: test summary: Measures the CD-ROM controller's answers, reply times, FIFOs and registers with the lid open and no disc. category: Hardware tests info: Machine = SCPH-5501 info: Program = cdnodisc --- ## Overview Every drive interrupt is polled: HINTMSK is 0 and CPU interrupts are off. Root counter 2 counts system clock cycles (33.8688 MHz) from each command write. Each group first sends Test 21h, Getstat and Getparam, so every result file records whether the lid was open.[^h] The program has ten groups. They cover reply times, the Test 19h sub-functions, every command from 00h to 1Fh with 0 to 3 parameters, invalid command bytes, the registers in every bank, the parameter and response FIFOs, Init and ReadTOC, commands sent on top of commands, and the parameter FIFO past 16 bytes followed by Reset.[^h] The [CD-ROM registers](/hardware/cd-rom/registers/) and [CD-ROM commands](/hardware/cd-rom/commands/) pages describe the controller. [CD-ROM Commands With No Disc](/tests/cd-rom-no-disc-commands/) records the answer to each command once, across seven runs, and gives the same answers and the same Test 20h to 25h text. See also: - [CD-ROM Controller Commands and Reads](/tests/cd-rom-controller-commands/) ## Results ### Lid and Status Test 21h answered 03h in every group: the door is open and the head is at its home position. Getstat answered 10h, which is the shell open bit.[^h] ### Reply Times Getstat's INT3 came 19366 to 30488 cycles after the command write. That is 0.57 to 0.90 ms. BUSYSTS (HSTS bit 7) cleared about 2000 cycles before the interrupt in every sample.[^h] Table: Reply times with no disc in cycles from the command | Command | First interrupt | Range | | --- | --- | --- | | Getstat | INT3 | 19366 to 30488 | | Getparam | INT3 | 26616 to 37932 | | Nop with 1 parameter | INT5 | 22375 to 35763 | | Command 1Fh | INT5 | 18815 to 29757 | | Setloc | INT5 | 26936 to 37669 | | Test 21h | INT3 | 22126 to 34975 | | Test 22h | INT3 | 30913 to 47817 | ### Test Sub-functions Test 20h answered the controller's date and version as 97h 01h 10h C2h. Test 22h answered the text "for U/C", Test 23h and 24h answered "CXD2545Q", and Test 25h answered "CXD1815Q".[^h] Test 26h to 2Fh, 80h, F0h and FFh answered INT5 with error 10h. Test 20h with 2 or 4 parameters answered error 20h.[^h] ### Every Command With no parameters, each command that needs a disc answered INT5 with stat 11h and error 80h. Commands 00h, 17h, 18h and 1Fh answered error 40h, which marks an invalid command. Init (0Ah) and ReadTOC (1Eh) answered INT3 and then INT2, and Getparam (0Fh) answered 10h 20h 00h 00h 00h.[^h] A command given one parameter it does not take answered error 20h, which marks a wrong parameter count. An invalid command leaves its parameters in the FIFO: HSTS read 11h after it, where a valid command left 19h with the FIFO empty bit set.[^h] The next command takes those parameters. Command 1Fh with the parameter 20h followed by a bare 19h answered the Test 20h version bytes.[^h] ### Init and ReadTOC With the lid open, Init answered INT3 after 44952 to 49128 cycles and INT2 after 69992 to 74152 cycles. ReadTOC answered INT3 after 44922 to 52671 cycles and INT2 after 69962 to 77695 cycles.[^h] A command written after Init's INT3 waits for Init to finish. Getstat sent right after Init answered only after Init's INT2, and a second Init sent right after the first answered INT3 and INT2 again after it.[^h] An INT3 left unacknowledged holds back the next command. A Getstat written while Getparam's INT3 waited was answered only after the acknowledge, and the controller kept all five Getparam bytes for 100000 cycles.[^h] ### FIFOs The parameter FIFO has 16 entries and its counter wraps at 32. HSTS showed the FIFO full after 16 writes and empty again after 32.[^h] Table: HSTS before each parameter write | Writes before | HSTS | Meaning | | --- | --- | --- | | 0 | 18h | Empty, ready | | 1 to 15 | 10h | Ready | | 16 | 00h | Full | | 17 to 31 | 10h | Ready | | 32 | 18h | Empty, ready | A command after exactly 32 parameters saw none, so Getstat then succeeded. After 33 parameters, Setmode took one and succeeded.[^h] The response FIFO is 16 bytes, and reads past the end wrap. Forty reads after Getstat gave 10h at reads 1, 17 and 33 and zeros between, and forty reads after Test 22h gave its 7 bytes every 16 reads.[^h] ### Registers The index register reads back in HSTS bits 0 and 1. With no interrupt pending, 1F801803h read E0h in every bank. HINTMSK reads back its low 5 bits with bits 5 to 7 set.[^h] An interrupt is acknowledged bit by bit. On a pending INT3, writing 01h left 02h and writing 02h then cleared it, and acknowledging bits 08h and 10h left INT3 pending.[^h] ### Reset Command 1Ch answered INT3 10h. A Getstat written 400000 cycles later got no answer, and the Getparam after it answered normally. With 2 parameters Reset left them in the FIFO, so the next Getparam answered error 20h.[^reset] ## Runs ### Run 5501a-card-b on 27 September 2026 Raw output: [00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/00RUN.txt) · [01NDT.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/01NDT.txt) · [02NDS.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/02NDS.txt) · [03ND0.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/03ND0.txt) · [04ND2.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/04ND2.txt) · [05NDI.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/05NDI.txt) · [06NDR.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/06NDR.txt) · [07NDF.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/07NDF.txt) · [08NDN.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/08NDN.txt) · [09NDQ.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/09NDQ.txt) · [10NDX.txt](/tests/raw/20260927T0000Z-5501a-card-b/cdnodisc/10NDX.txt) 00RUN.txt: ``` ===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A 10 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 8001E9FC DCIC 00000000 BadVaddr 00000480 BDAM 00000000 BPCM 00000000 SR 40000000 Cause 00000020 EPC 8001F568 PRId 00000002 ``` 01NDT.txt: ``` ===== 01 NDT CD REPLY TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Reply times, sixteen each: the cycle of the interrupt/its type, the cycle BUSYSTS cleared. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @31528. Getstat: int3 10 @28436. Mode 20. HINTMSK was 1F. Getstat int: 27343/3 22807/3 20039/3 19418/3 23413/3 33178/3 20285/3 22804/3 27659/3 19853/3 22857/3 28519/3 19922/3 22929/3 33513/3 23854/3 Getstat busy clear: 25327 20797 18021 17408 21401 31164 18266 20789 25645 17839 20838 26501 17905 20848 30923 21836 Getstat HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Getparam int: 33544/3 27042/3 32502/3 38676/3 31482/3 30169/3 31649/3 29742/3 38360/3 26861/3 35479/3 30045/3 28641/3 29141/3 32941/3 30045/3 Getparam busy clear: 31526 25030 30489 36088 29394 28151 29633 27726 35774 24844 33392 28031 26627 27054 30923 28031 Getparam HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Nop 1 param (20h) int: 31038/5 29328/5 24448/5 35832/5 25575/5 23003/5 25999/5 25620/5 23182/5 22427/5 25575/5 23117/5 23351/5 32570/5 26492/5 35724/5 Nop 1 param (20h) busy clear: 29020 26737 22438 33743 23487 20914 23982 23610 20591 20410 23487 20605 21339 30552 24405 33139 Nop 1 param (20h) HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Cmd 1Fh int: 28698/5 20233/5 22376/5 22374/5 24357/5 22307/5 29799/5 27227/5 29376/5 23345/5 29247/5 24457/5 23110/5 24955/5 24889/5 22793/5 Cmd 1Fh busy clear: 26682 18148 20358 20358 22269 20294 27782 25213 27360 21333 27233 22443 21094 22939 22879 20777 Cmd 1Fh HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Cmd 1Fh 1 param int: 21448/5 24824/5 22373/5 22620/5 27158/5 32070/5 20033/5 24273/5 35705/5 20592/5 22308/5 19237/5 20040/5 24334/5 25617/5 20096/5 Cmd 1Fh 1 param busy clear: 19433 22814 20355 20603 25150 30057 18021 22263 33688 18575 20294 17222 18024 22316 23601 18017 Cmd 1Fh 1 param HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Setloc 00:02:00 int: 31587/5 27404/5 28394/5 30477/5 29142/5 29930/5 33364/5 30905/5 28141/5 28324/5 30729/5 28086/5 35453/5 38163/5 31588/5 27165/5 Setloc 00:02:00 busy clear: 29572 25387 26377 28462 26557 27913 31350 28888 26127 26309 28711 26071 33441 36082 29570 25148 Setloc 00:02:00 HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 21h int: 24646/3 26362/3 33137/3 26497/3 26847/3 26189/3 32079/3 30426/3 35512/3 22739/3 29067/3 22684/3 22681/3 25943/3 22674/3 22727/3 Test 21h busy clear: 22131 24346 30552 24408 24832 24104 30067 28409 33495 20722 27052 20597 20669 23927 20658 20718 Test 21h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 22h int: 34792/3 36863/3 33551/3 36872/3 39137/3 30854/3 31399/3 39022/3 44678/3 34720/3 33608/3 38214/3 42274/3 31516/3 39328/3 34974/3 Test 22h busy clear: 32712 34848 31541 34854 37120 28775 29385 37007 42595 32711 31593 36200 40260 29502 37312 32956 Test 22h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 60h 1E0h int: 30307/3 30846/3 28758/3 28995/3 29511/3 31207/3 29123/3 29310/3 28944/3 30537/3 31458/3 37442/3 28885/3 31485/3 28333/3 31459/3 Test 60h 1E0h busy clear: 27722 28831 26745 26986 26924 29195 27109 27295 26929 28523 29442 34853 26867 28896 26315 29451 Test 60h 1E0h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Done. ``` 02NDS.txt: ``` ===== 02 NDS CD TEST SUBFUNCS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Test 19h, the sub-functions that only read. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @22263. Getstat: int3 10 @29001. Mode 20. HINTMSK was 1F. T20: int3 97 01 10 C2 @26680 T21: int3 03 @23412 T22: int3 66 6F 72 20 55 2F 43 @34688 T23: int3 43 58 44 32 35 34 35 51 @37337 T24: int3 43 58 44 32 35 34 35 51 @32098 T25: int3 43 58 44 31 38 31 35 51 @40065 T26: int5 11 10 @31517 T27: int5 11 10 @28069 T28: int5 11 10 @26052 T29: int5 11 10 @33199 T2A: int5 11 10 @41022 T2B: int5 11 10 @41358 T2C: int5 11 10 @35602 T2D: int5 11 10 @41647 T2E: int5 11 10 @41021 T2F: int5 11 10 @31519 T20 with 2 params: int5 11 20 @30229 T20 with 4 params: int5 11 20 @32974 T20 with 0 params (01E1h stale 20h): int5 11 20 @21873 T80: int5 11 10 @24948 TF0: int5 11 10 @28687 TFF: int5 11 10 @31370 T60 with 1 param: int5 11 20 @25621 T60 with 2 params: int5 11 20 @30181 T60 with 4 params: int5 11 20 @33917 T61 E0 01: int5 11 10 @35652 T6F E0 01: int5 11 10 @35269 RAM E0 hi 00: int3 FF @26042 RAM E0 hi 01: int3 19 @26237 RAM E1 hi 01: int3 60 @36946 RAM E2 hi 01: int3 E2 @40922 RAM E3 hi 01: int3 01 @40253 RAM E0 hi 02: int3 00 @40490 RAM E0 hi 03: int3 00 @36381 RAM E0 hi 04: int3 FF @43768 RAM E0 hi 05: int3 19 @40214 RAM E0 hi FF: int3 00 @40689 RAM 040: int3 08 @40021 RAM 047: int3 00 @38685 RAM 06C: int3 00 @43333 RAM 06D: int3 01 @43754 RAM 088: int3 03 @43763 RAM 08B: int3 03 @39540 RAM 0BB: int3 20 @33925 RAM 0BC: int3 11 @43958 Ports 00-0F: FF 79 24 FF 11 00 20 20 0C 00 71 00 00 20 20 20 Ports 00-0F: FF 79 24 FF 11 00 20 20 0C 00 71 00 00 20 20 20 Done. ``` 03ND0.txt: ``` ===== 03 ND0 CD CMDS 0 1 PARAMS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Every command 00h-1Fh (not 1Ch) with 0 and 1 parameters (20h). Cycles at 33.8688 MHz. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @29127. Getstat: int3 10 @30506. Mode 20. HINTMSK was 1F. Parameters: 0 00 p0 int5 11 40 @21381 h19 | gs3/10 01 p0 int3 10 @27359 h19 | gs3/10 02 p0 int5 11 20 @24453 h19 | gs3/10 03 p0 int5 11 80 @24055 h19 | gs3/10 04 p0 int5 11 80 @35763 h19 | gs3/10 05 p0 int5 11 80 @27505 h19 | gs3/10 06 p0 int5 11 80 @29538 h19 | gs3/10 07 p0 int5 11 80 @23677 h19 | gs3/10 08 p0 int5 11 80 @29568 h19 | gs3/10 09 p0 int5 11 80 @29575 h19 | gs3/10 0A p0 int3 10 @54024 h19 | int2 10 @79591 | gs3/10 0B p0 int5 11 80 @24930 h19 | gs3/10 0C p0 int5 11 80 @29863 h19 | gs3/10 0D p0 int5 11 20 @21181 h19 | gs3/10 0E p0 int5 11 20 @28567 h19 | gs3/10 0F p0 int3 10 20 00 00 00 @29047 h19 | gs3/10 10 p0 int5 11 80 @27909 h19 | gs3/10 11 p0 int5 11 80 @29279 h19 | gs3/10 12 p0 int5 11 20 @26735 h19 | gs3/10 13 p0 int5 11 80 @23828 h19 | gs3/10 14 p0 int5 11 20 @36051 h19 | gs3/10 15 p0 int5 11 80 @30147 h19 | gs3/10 16 p0 int5 11 80 @24874 h19 | gs3/10 17 p0 int5 11 40 @21600 h19 | gs3/10 18 p0 int5 11 40 @19919 h19 | gs3/10 19 p0 int5 11 20 @29903 h19 | gs3/10 1A p0 int5 11 80 @24164 h19 | gs3/10 1B p0 int5 11 80 @29808 h19 | gs3/10 1D p0 int5 11 20 @28715 h19 | gs3/10 1E p0 int3 10 @49015 h19 | int2 10 @74598 | gs3/10 1F p0 int5 11 40 @20173 h19 | gs3/10 Parameters: 1 00 p1 int5 11 40 @18144 h11 | gs5/11 01 p1 int5 11 20 @32569 h19 | gs3/10 02 p1 int5 11 20 @29145 h19 | gs3/10 03 p1 int5 11 80 @29807 h19 | gs3/10 04 p1 int5 11 20 @26791 h19 | gs3/10 05 p1 int5 11 20 @24335 h19 | gs3/10 06 p1 int5 11 20 @28468 h19 | gs3/10 07 p1 int5 11 20 @30876 h19 | gs3/10 08 p1 int5 11 20 @25159 h19 | gs3/10 09 p1 int5 11 20 @22908 h19 | gs3/10 0A p1 int5 11 20 @28847 h19 | gs3/10 0B p1 int5 11 20 @25317 h19 | gs3/10 0C p1 int5 11 20 @22904 h19 | gs3/10 0D p1 int5 11 20 @28852 h19 | gs3/10 0E p1 int3 10 @23873 h19 | gs3/10 0F p1 int5 11 20 @25932 h19 | gs3/10 10 p1 int5 11 20 @22184 h19 | gs3/10 11 p1 int5 11 20 @31020 h19 | gs3/10 12 p1 int5 11 80 @25639 h19 | gs3/10 13 p1 int5 11 20 @30868 h19 | gs3/10 14 p1 int5 11 80 @24145 h19 | gs3/10 15 p1 int5 11 20 @31064 h19 | gs3/10 16 p1 int5 11 20 @30487 h19 | gs3/10 17 p1 int5 11 40 @26831 h11 | gs5/11 18 p1 int5 11 40 @27071 h11 | gs5/11 19 p1 int3 97 01 10 C2 @31111 h19 | gs3/10 1A p1 int5 11 20 @21329 h19 | gs3/10 1B p1 int5 11 20 @24527 h19 | gs3/10 1D p1 int5 11 20 @23484 h19 | gs3/10 1E p1 int5 11 20 @24588 h19 | gs3/10 1F p1 int5 11 40 @27700 h11 | gs5/11 Done. ``` 04ND2.txt: ``` ===== 04 ND2 CD CMDS 2 3 PARAMS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Every command 00h-1Fh (not 1Ch) with 2 and 3 parameters (20h 00h 00h). Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @26492. Getstat: int3 10 @28954. Mode 20. HINTMSK was 1F. Parameters: 2 00 p2 int5 11 40 @32126 h11 | gs5/11 01 p2 int5 11 20 @41768 h19 | gs3/10 02 p2 int5 11 20 @26889 h19 | gs3/10 03 p2 int5 11 20 @32028 h19 | gs3/10 04 p2 int5 11 20 @32124 h19 | gs3/10 05 p2 int5 11 20 @27808 h19 | gs3/10 06 p2 int5 11 20 @25058 h19 | gs3/10 07 p2 int5 11 20 @32118 h19 | gs3/10 08 p2 int5 11 20 @42349 h19 | gs3/10 09 p2 int5 11 20 @26745 h19 | gs3/10 0A p2 int5 11 20 @30580 h19 | gs3/10 0B p2 int5 11 20 @24725 h19 | gs3/10 0C p2 int5 11 20 @26173 h19 | gs3/10 0D p2 int5 11 80 @33132 h19 | gs3/10 0E p2 int5 11 20 @32118 h19 | gs3/10 0F p2 int5 11 20 @26901 h19 | gs3/10 10 p2 int5 11 20 @38262 h19 | gs3/10 11 p2 int5 11 20 @30435 h19 | gs3/10 12 p2 int5 11 20 @28576 h19 | gs3/10 13 p2 int5 11 20 @25248 h19 | gs3/10 14 p2 int5 11 20 @32454 h19 | gs3/10 15 p2 int5 11 20 @32646 h19 | gs3/10 16 p2 int5 11 20 @26793 h19 | gs3/10 17 p2 int5 11 40 @26844 h11 | gs5/11 18 p2 int5 11 40 @23474 h11 | gs5/11 19 p2 int5 11 20 @27285 h19 | gs3/10 1A p2 int5 11 20 @42200 h19 | gs3/10 1B p2 int5 11 20 @25644 h19 | gs3/10 1D p2 int5 11 80 @28330 h19 | gs3/10 1E p2 int5 11 20 @30828 h19 | gs3/10 1F p2 int5 11 40 @26930 h11 | gs5/11 Parameters: 3 00 p3 int5 11 40 @26986 h11 | gs5/11 01 p3 int5 11 20 @36012 h19 | gs3/10 02 p3 int5 11 80 @34186 h19 | gs3/10 03 p3 int5 11 20 @31446 h19 | gs3/10 04 p3 int5 11 20 @28331 h19 | gs3/10 05 p3 int5 11 20 @31488 h19 | gs3/10 06 p3 int5 11 20 @26500 h19 | gs3/10 07 p3 int5 11 20 @28335 h19 | gs3/10 08 p3 int5 11 20 @37446 h19 | gs3/10 09 p3 int5 11 20 @31782 h19 | gs3/10 0A p3 int5 11 20 @28379 h19 | gs3/10 0B p3 int5 11 20 @33898 h19 | gs3/10 0C p3 int5 11 20 @25686 h19 | gs3/10 0D p3 int5 11 20 @28331 h19 | gs3/10 0E p3 int5 11 20 @26257 h19 | gs3/10 0F p3 int5 11 20 @34232 h19 | gs3/10 10 p3 int5 11 20 @41386 h19 | gs3/10 11 p3 int5 11 20 @28767 h19 | gs3/10 12 p3 int5 11 20 @28088 h19 | gs3/10 13 p3 int5 11 20 @26648 h19 | gs3/10 14 p3 int5 11 20 @28145 h19 | gs3/10 15 p3 int5 11 20 @34416 h19 | gs3/10 16 p3 int5 11 20 @26692 h19 | gs3/10 17 p3 int5 11 40 @21663 h11 | gs3/10 18 p3 int5 11 40 @19450 h11 | gs5/11 19 p3 int5 11 20 @32504 h19 | gs3/10 1A p3 int5 11 20 @34084 h19 | gs3/10 1B p3 int5 11 20 @40817 h19 | gs3/10 1D p3 int5 11 20 @34228 h19 | gs3/10 1E p3 int5 11 20 @34090 h19 | gs3/10 1F p3 int5 11 40 @21803 h11 | gs3/10 Done. ``` 05NDI.txt: ``` ===== 05 NDI CD INVALID CMDS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Command bytes 20h-FFh (not 50h-5Fh), with 0 and 2 parameters. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @26296. Getstat: int3 10 @32505. Mode 20. HINTMSK was 1F. 20 p0 int5 11 40 @22485 h19 | gs3/10 20 p2 int5 11 40 @27318 h11 | gs5/11 21 p0 int5 11 40 @21141 h19 | gs3/10 21 p2 int5 11 40 @21417 h11 | gs5/11 2F p0 int5 11 40 @24767 h19 | gs3/10 2F p2 int5 11 40 @19397 h11 | gs5/11 30 p0 int5 11 40 @27470 h19 | gs3/10 30 p2 int5 11 40 @24921 h11 | gs5/11 3F p0 int5 11 40 @20173 h19 | gs3/10 3F p2 int5 11 40 @21896 h11 | gs3/10 40 p0 int5 11 40 @27409 h19 | gs3/10 40 p2 int5 11 40 @27702 h11 | gs5/11 4F p0 int5 11 40 @21322 h19 | gs3/10 4F p2 int5 11 40 @28045 h11 | gs5/11 60 p0 int5 11 40 @32687 h19 | gs3/10 60 p2 int5 11 40 @33992 h11 | gs5/11 6F p0 int5 11 40 @25598 h19 | gs3/10 6F p2 int5 11 40 @24921 h11 | gs5/11 70 p0 int5 11 40 @30192 h19 | gs3/10 70 p2 int5 11 40 @22957 h11 | gs3/10 7F p0 int5 11 40 @26987 h19 | gs3/10 7F p2 int5 11 40 @27704 h11 | gs5/11 80 p0 int5 11 40 @27810 h19 | gs3/10 80 p2 int5 11 40 @33993 h11 | gs5/11 8F p0 int5 11 40 @20159 h19 | gs3/10 8F p2 int5 11 40 @27026 h11 | gs3/10 90 p0 int5 11 40 @21522 h19 | gs3/10 90 p2 int5 11 40 @18637 h11 | gs5/11 9F p0 int5 11 40 @24767 h19 | gs3/10 9F p2 int5 11 40 @27373 h11 | gs3/10 A0 p0 int5 11 40 @27411 h19 | gs3/10 A0 p2 int5 11 40 @26984 h11 | gs5/11 AF p0 int5 11 40 @20547 h19 | gs3/10 AF p2 int5 11 40 @21560 h11 | gs3/10 B0 p0 int5 11 40 @24963 h19 | gs3/10 B0 p2 int5 11 40 @21552 h11 | gs5/11 C0 p0 int5 11 40 @28293 h19 | gs3/10 C0 p2 int5 11 40 @32836 h11 | gs5/11 CF p0 int5 11 40 @37441 h19 | gs3/10 CF p2 int5 11 40 @21517 h11 | gs3/10 D0 p0 int5 11 40 @20363 h19 | gs3/10 D0 p2 int5 11 40 @26984 h11 | gs5/11 E0 p0 int5 11 40 @21553 h19 | gs3/10 E0 p2 int5 11 40 @24253 h11 | gs3/10 EF p0 int5 11 40 @27371 h19 | gs3/10 EF p2 int5 11 40 @27696 h11 | gs5/11 F0 p0 int5 11 40 @21658 h19 | gs3/10 F0 p2 int5 11 40 @24877 h11 | gs5/11 FE p0 int5 11 40 @21407 h19 | gs3/10 FE p2 int5 11 40 @21381 h11 | gs3/10 FF p0 int5 11 40 @27216 h19 | gs3/10 FF p2 int5 11 40 @20125 h11 | gs3/10 Done. ``` 06NDR.txt: ``` ===== 06 NDR CD REGISTERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Registers at every index, HINTMSK, partial acknowledges, BFRD, BFWR, SMEN. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @30956. Getstat: int3 10 @29004. Mode 20. HINTMSK was 1F. Index write -> HSTS: 00:18 01:19 02:1A 03:1B 04:18 07:1B FC:18 FF:1B After Getstat (acked): int3 10 @23297 Bank 0: 1800 18, 1803 E0 E0, 1800 again 18 Bank 1: 1800 19, 1803 E0 E0, 1800 again 19 Bank 2: 1800 1A, 1803 E0 E0, 1800 again 1A Bank 3: 1800 1B, 1803 E0 E0, 1800 again 1B Bank 0: 1801 00 00 00 00, 1802 00 00 Bank 1: 1801 00 00 00 00, 1802 00 00 Bank 2: 1801 00 00 00 00, 1802 00 00 Bank 3: 1801 00 00 00 10, 1802 00 00 INT3 pending, 1803 in banks 0-3: E0 E3 E0 E3; HSTS 38 39 3A 3B HINTMSK write -> bank0, bank2, HINTSTS, IRQ: 00:E0,E0,E0,0 01:E1,E1,E0,0 02:E2,E2,E0,0 04:E4,E4,E0,0 08:E8,E8,E0,0 10:F0,F0,E0,0 1F:FF,FF,E0,0 20:E0,E0,E0,0 40:E0,E0,E0,0 80:E0,E0,E0,0 E0:E0,E0,E0,0 FF:FF,FF,E0,0 Getstat: 03, ack 01->02, 02->00, 04->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 04->03, 02->01, 01->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 02->01, 01->00, 04->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 08->03, 10->03, 03->00; RSLRRDY 1 byte 10; then nothing Cmd 1Fh: 05, ack 01->04, 02->04, 04->00; RSLRRDY 1 byte 11; then nothing HSTS before 38, BFRD 78, after 8 reads 78, off 38; BFWR 78, off 38; both 78, off 38 RDDATA with BFRD: 01 80 00 60 00 28 00 1E; HINTSTS after E0 Getstat with HCHPCTL 20, HINTSTS changes: 10@37 13@19087; 20000 later 13; after ack 00 Getstat with HCHPCTL 00, HINTSTS changes: 03@19830; 20000 later 03; after ack 00 Done. ``` 07NDF.txt: ``` ===== 07 NDF CD FIFOS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 The parameter and response FIFOs. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @25047. Getstat: int3 10 @29340. Mode 20. HINTMSK was 1F. HSTS (bank 0) before parameter write n, n = 0..40: 18 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 18 10 10 10 10 10 10 10 10 After CLRPRM 19; 5 more 10; CLRPRM 19 Getstat, 40 reads (int3), RSLRRDY:byte 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:10 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 Test 22h (7 bytes), 40 reads (int3), RSLRRDY:byte 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 0:00 Getparam, 2 read, ack 07h, then 8 reads (int3), RSLRRDY:byte 1:00 1:00 1:00 0:00 1:00 1:00 1:00 1:00 Getparam acked before any read, RSLRRDY:byte: 1:10 1:20 1:00 1:00 1:00 0:00 1:00 1:00 Test 22h 3 read, then Getstat, RSLRRDY:byte: 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 Cmd 1F with 1 param(s), acked without CLRPRM: int5 11 40 @24901 h11; then cmd 19 alone: int3 97 01 10 C2 @28983 h19 Cmd 00 with 1 param(s), acked without CLRPRM: int5 11 40 @22940 h11; then cmd 19 alone: int3 97 01 10 C2 @25995 h19 Cmd 40 with 2 param(s), acked without CLRPRM: int5 11 40 @27552 h11; then cmd 01 alone: int5 11 20 @25071 h19 Cmd 01 with 1 param(s), acked without CLRPRM: int5 11 20 @24427 h19; then cmd 19 alone: int5 11 20 @40106 h19 Done. ``` 08NDN.txt: ``` ===== 08 NDN CD INIT READTOC | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Init and ReadTOC, eight times each, INT3 acknowledged at once. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @22167. Getstat: int3 10 @28958. Mode 20. HINTMSK was 1F. Init: int3 10 @44105 | int2 10 @69689 | gs3/10 Init: int3 10 @54937 | int2 10 @80505 | gs3/10 Init: int3 10 @49017 | int2 10 @74569 | gs3/10 Init: int3 10 @49131 | int2 10 @74699 | gs3/10 Init: int3 10 @45297 | int2 10 @70337 | gs3/10 Init: int3 10 @49360 | int2 10 @74400 | gs3/10 Init: int3 10 @45689 | int2 10 @70697 | gs3/10 Init: int3 10 @52329 | int2 10 @77353 | gs3/10 ReadTOC: int3 10 @47511 | int2 10 @73079 | gs3/10 ReadTOC: int3 10 @58041 | int2 10 @83641 | gs3/10 ReadTOC: int3 10 @46831 | int2 10 @72399 | gs3/10 ReadTOC: int3 10 @46241 | int2 10 @71793 | gs3/10 ReadTOC: int3 10 @52258 | int2 10 @77826 | gs3/10 ReadTOC: int3 10 @43122 | int2 10 @68674 | gs3/10 ReadTOC: int3 10 @46829 | int2 10 @72397 | gs3/10 ReadTOC: int3 10 @44420 | int2 10 @69972 | gs3/10 Getstat: int3 10 @22393 | none | gs3/10 Getstat: int3 10 @19375 | none | gs3/10 Done. ``` 09NDQ.txt: ``` ===== 09 NDQ CD CMD ON CMD | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Commands on top of commands, and INT3 then INT2. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @27639. Getstat: int3 10 @30884. Mode 20. HINTMSK was 1F. Getparam, 98 later (flags 0) Getstat, HSTS 98: int3 10 @27968 Getparam, 178 later (flags 0) Getstat, HSTS 98: int3 10 @24410 Getparam, 1062 later (flags 0) Getstat, HSTS 98: int3 10 @24973 Getparam, 3052 later (flags 0) Getstat, HSTS 98: int3 10 @28068 Getparam, 6050 later (flags 0) Getstat, HSTS 98: int3 10 @19009 Getparam, 10046 later (flags 0) Getstat, HSTS 98: int3 10 @27800 Getparam, 20079 later (flags 0) Getstat, HSTS B8: int3 10 20 00 00 00 @27133 Getparam, 40054 later (flags 3) Getstat, HSTS B8: int3 10 20 00 00 00 @40242, int3 10 @62409 Getstat, 120 later Test 20h, HSTS 90: int3 97 01 10 C2 @38842 Getstat, 1066 later Test 20h, HSTS 90: int3 97 01 10 C2 @27943 Getstat, 6087 later Test 20h, HSTS 90: int3 97 01 10 C2 @26962 Getstat, 20081 later Test 20h, HSTS B0: int3 10 @23144 Getparam int3 unacked, cmd 01: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int3 10 @14663 Getparam int3 unacked, cmd 1F: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int5 11 40 @14232 Getparam int3 unacked, cmd 0F: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int3 10 20 00 00 00 @32701 Init int3 @49036 unacked 400000: HINTSTS 03 HSTS 39 1 byte(s) 10; after the ack: int2 10 @6213 Init int3 10 @47756, then: int2 10 @72764 Init int3 10 @45010, then cmd 01: int2 10 @70562, int3 10 @100146 Init int3 10 @44824, then cmd 0A: int2 10 @69864, int3 10 @122760, int2 10 @148328 Init int3 10 @52546, then cmd 0F: int2 10 @78098, int3 10 20 00 00 00 @113634 Init int3 10 @57071, then cmd 1E: int2 10 @82639, int3 10 @135519, int2 10 @160543 ReadTOC int3 10 @58112, then Getstat: int2 10 @83696, int3 10 @113280 Done. ``` 10NDX.txt: ``` ===== 10 NDX CD OVERFLOW RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Parameter FIFO overflow with a command, then Reset (1Ch). Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @24614. Getstat: int3 10 @29964. Mode 20. HINTMSK was 1F. 15 zeros then cmd 01: HSTS 10, int5 11 20 @47149 h19 | gs3/10 16 zeros then cmd 01: HSTS 00, int5 11 20 @51181 h19 | gs3/10 17 zeros then cmd 0E: HSTS 10, int5 11 20 @60103 h19 | gs3/10 19 zeros then cmd 02: HSTS 10, int5 11 20 @68972 h19 | gs3/10 31 zeros then cmd 01: HSTS 10, int5 11 20 @79491 h19 | gs3/10 32 zeros then cmd 01: HSTS 18, int3 10 @21709 h19 | gs3/10 33 zeros then cmd 0E: HSTS 10, int3 10 @22280 h19 | gs3/10 35 zeros then cmd 02: HSTS 10, int5 11 80 @27607 h19 | gs3/10 Reset with 0 param(s): int3 10 @19135 h19, 400000 later h19; Getstat: none; Getparam: int3 10 20 00 00 00 @34889 Reset with 2 param(s): int3 10 @18414 h11, 400000 later h11; Getstat: none; Getparam: int5 11 20 @33877 Init after: int3 10 @47602 | int2 10 @73170 | gs3/10 Getstat: int3 10 @31505 Done. ``` ### Run 5501a-card-g on 27 September 2026 Raw output: [00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/00RUN.txt) · [01NDT.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/01NDT.txt) · [02NDS.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/02NDS.txt) · [03ND0.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/03ND0.txt) · [04ND2.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/04ND2.txt) · [05NDI.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/05NDI.txt) · [06NDR.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/06NDR.txt) · [07NDF.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/07NDF.txt) · [08NDN.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/08NDN.txt) · [09NDQ.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/09NDQ.txt) · [10NDX.txt](/tests/raw/20260927T0000Z-5501a-card-g/cdnodisc_safe/10NDX.txt) 00RUN.txt: ``` ===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A 10 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 8001E9FC DCIC 00000000 BadVaddr 00000480 BDAM 00000000 BPCM 00000000 SR 40000000 Cause 00000020 EPC 8001F568 PRId 00000002 ``` 01NDT.txt: ``` ===== 01 NDT CD REPLY TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Reply times, sixteen each: the cycle of the interrupt/its type, the cycle BUSYSTS cleared. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @22258. Getstat: int3 10 @28971. Mode 20. HINTMSK was 1F. Getstat int: 25081/3 23186/3 23003/3 19858/3 23179/3 27596/3 19912/3 22874/3 28529/3 20219/3 22867/3 33146/3 23721/3 29929/3 19780/3 24157/3 Getstat busy clear: 23002 21104 20921 17849 21165 25588 17905 20857 26450 18212 20858 30564 21712 27856 17777 22147 Getstat HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Getparam int: 30545/3 26854/3 32572/3 41299/3 31036/3 30168/3 31167/3 29502/3 37627/3 30046/3 27601/3 29992/3 32938/3 28947/3 34169/3 37627/3 Getparam busy clear: 28537 24845 30563 39290 28962 28159 29086 27495 35048 28038 25523 27980 30929 26937 32162 35048 Getparam HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Nop 1 param (20h) int: 41307/5 25881/5 22745/5 25994/5 25556/5 23068/5 22371/5 32578/5 23485/5 23306/5 25139/5 23416/5 22432/5 25130/5 26436/5 27968/5 Nop 1 param (20h) busy clear: 39293 23874 20665 23987 23549 20486 20362 30566 21405 21233 23061 21409 20429 23122 24427 25890 Nop 1 param (20h) HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Cmd 1Fh int: 23429/5 21514/5 22870/5 24642/5 22624/5 23296/5 24640/5 21693/5 22931/5 24277/5 32759/5 22439/5 32770/5 23607/5 29742/5 23302/5 Cmd 1Fh busy clear: 21351 19436 20858 22635 20617 21287 22633 19685 20919 22268 30750 20422 30191 21529 27734 21224 Cmd 1Fh HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Cmd 1Fh 1 param int: 29695/5 24759/5 22368/5 21499/5 24838/5 22313/5 24769/5 24823/5 22432/5 22058/5 24828/5 22376/5 22564/5 24898/5 22380/5 21693/5 Cmd 1Fh 1 param busy clear: 27617 22756 20361 19496 22756 20305 22761 22813 20429 20051 22821 20368 20547 22886 20300 19686 Cmd 1Fh 1 param HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Setloc 00:02:00 int: 41992/5 30422/5 27911/5 30535/5 35470/5 35479/5 28266/5 38093/5 27969/5 35406/5 38111/5 31405/5 27180/5 30911/5 30124/5 41551/5 Setloc 00:02:00 busy clear: 39410 28408 25832 28527 33385 32898 26259 36085 25891 33398 36033 29392 25095 28903 28041 39473 Setloc 00:02:00 HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 21h int: 24345/3 21887/3 25562/3 24393/3 30425/3 35530/3 22564/3 29437/3 22616/3 22690/3 26441/3 22064/3 22985/3 27719/3 22114/3 29618/3 Test 21h busy clear: 22331 19873 23560 22385 28416 33450 20547 27430 20603 20611 23860 20057 20975 25707 20111 27610 Test 21h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 22h int: 34293/3 39338/3 35155/3 31283/3 31524/3 44611/3 42283/3 31339/3 30785/3 42346/3 41970/3 35901/3 35341/3 39453/3 41981/3 31280/3 Test 22h busy clear: 32286 37260 33147 29276 29515 42602 40273 29332 28777 40266 39958 33887 33333 37446 39901 29272 Test 22h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 60h 1E0h int: 34477/3 31472/3 34293/3 29494/3 31426/3 28278/3 31463/3 28949/3 29924/3 25815/3 36507/3 26733/3 33880/3 36255/3 33687/3 29447/3 Test 60h 1E0h busy clear: 32464 29392 32281 27486 28851 26200 29456 26940 27917 23806 34490 24725 31801 34252 31673 27437 Test 60h 1E0h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Done. ``` 02NDS.txt: ``` ===== 02 NDS CD TEST SUBFUNCS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Test 19h, the sub-functions that only read. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @23747. Getstat: int3 10 @28971. Mode 20. HINTMSK was 1F. T20: int3 97 01 10 C2 @27475 T21: int3 03 @27427 T22: int3 66 6F 72 20 55 2F 43 @41114 T23: int3 43 58 44 32 35 34 35 51 @37042 T24: int3 43 58 44 32 35 34 35 51 @33043 T25: int3 43 58 44 31 38 31 35 51 @40861 T26: int5 11 10 @31888 T27: int5 11 10 @28267 T28: int5 11 10 @32241 T29: int5 11 10 @25651 T2A: int5 11 10 @24589 T2B: int5 11 10 @41059 T2C: int5 11 10 @26868 T2D: int5 11 10 @28000 T2E: int5 11 10 @31128 T2F: int5 11 10 @26952 T20 with 2 params: int5 11 20 @29891 T20 with 4 params: int5 11 20 @33757 T20 with 0 params (01E1h stale 20h): int5 11 20 @32807 T80: int5 11 10 @23882 TF0: int5 11 10 @28062 TFF: int5 11 10 @25213 T60 with 1 param: int5 11 20 @26797 T60 with 2 params: int5 11 20 @30642 T60 with 4 params: int5 11 20 @40957 T61 E0 01: int5 11 10 @28992 T6F E0 01: int5 11 10 @41060 RAM E0 hi 00: int3 FF @39861 RAM E0 hi 01: int3 19 @40290 RAM E1 hi 01: int3 60 @40834 RAM E2 hi 01: int3 E2 @42650 RAM E3 hi 01: int3 01 @40629 RAM E0 hi 02: int3 00 @40152 RAM E0 hi 03: int3 00 @37575 RAM E0 hi 04: int3 FF @39960 RAM E0 hi 05: int3 19 @40626 RAM E0 hi FF: int3 00 @40683 RAM 040: int3 08 @41636 RAM 047: int3 00 @38049 RAM 06C: int3 00 @43742 RAM 06D: int3 01 @43418 RAM 088: int3 03 @35112 RAM 08B: int3 03 @38003 RAM 0BB: int3 20 @43701 RAM 0BC: int3 11 @43610 Ports 00-0F: FF 79 24 FF 11 00 20 20 0C 00 71 00 00 20 20 20 Ports 00-0F: FF 79 24 FF 11 00 20 20 0C 00 71 00 00 20 20 20 Done. ``` 03ND0.txt: ``` ===== 03 ND0 CD CMDS 0 1 PARAMS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Every command 00h-1Fh (not 1Ch) with 0 and 1 parameters (20h). Cycles at 33.8688 MHz. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @21491. Getstat: int3 10 @28965. Mode 20. HINTMSK was 1F. Parameters: 0 00 p0 int5 11 40 @26131 h19 | gs3/10 01 p0 int3 10 @24943 h19 | gs3/10 02 p0 int5 11 20 @25000 h19 | gs3/10 03 p0 int5 11 80 @28464 h19 | gs3/10 04 p0 int5 11 80 @30079 h19 | gs3/10 05 p0 int5 11 80 @29881 h19 | gs3/10 06 p0 int5 11 80 @24092 h19 | gs3/10 07 p0 int5 11 80 @27238 h19 | gs3/10 08 p0 int5 11 80 @29552 h19 | gs3/10 09 p0 int5 11 80 @23751 h19 | gs3/10 0A p0 int3 10 @48669 h19 | int2 10 @73676 | gs3/10 0B p0 int5 11 80 @23650 h19 | gs3/10 0C p0 int5 11 80 @28870 h19 | gs3/10 0D p0 int5 11 20 @21103 h19 | gs3/10 0E p0 int5 11 20 @37558 h19 | gs3/10 0F p0 int3 10 20 00 00 00 @33447 h19 | gs3/10 10 p0 int5 11 80 @21735 h19 | gs3/10 11 p0 int5 11 80 @29743 h19 | gs3/10 12 p0 int5 11 20 @28774 h19 | gs3/10 13 p0 int5 11 80 @23852 h19 | gs3/10 14 p0 int5 11 20 @26288 h19 | gs3/10 15 p0 int5 11 80 @23161 h19 | gs3/10 16 p0 int5 11 80 @24375 h19 | gs3/10 17 p0 int5 11 40 @27536 h19 | gs3/10 18 p0 int5 11 40 @19664 h19 | gs3/10 19 p0 int5 11 20 @23362 h19 | gs3/10 1A p0 int5 11 80 @28783 h19 | gs3/10 1B p0 int5 11 80 @27727 h19 | gs3/10 1D p0 int5 11 20 @26336 h19 | gs3/10 1E p0 int3 10 @50060 h19 | int2 10 @75644 | gs3/10 1F p0 int5 11 40 @18605 h19 | gs3/10 Parameters: 1 00 p1 int5 11 40 @27589 h11 | gs5/11 01 p1 int5 11 20 @23465 h19 | gs3/10 02 p1 int5 11 20 @27914 h19 | gs3/10 03 p1 int5 11 80 @31706 h19 | gs3/10 04 p1 int5 11 20 @24817 h19 | gs3/10 05 p1 int5 11 20 @33344 h19 | gs3/10 06 p1 int5 11 20 @28631 h19 | gs3/10 07 p1 int5 11 20 @24184 h19 | gs3/10 08 p1 int5 11 20 @28391 h19 | gs3/10 09 p1 int5 11 20 @23312 h19 | gs3/10 0A p1 int5 11 20 @34866 h19 | gs3/10 0B p1 int5 11 20 @25196 h19 | gs3/10 0C p1 int5 11 20 @40199 h19 | gs3/10 0D p1 int5 11 20 @28832 h19 | gs3/10 0E p1 int3 10 @30185 h19 | gs3/10 0F p1 int5 11 20 @26725 h19 | gs3/10 10 p1 int5 11 20 @27858 h19 | gs3/10 11 p1 int5 11 20 @23490 h19 | gs3/10 12 p1 int5 11 80 @31529 h19 | gs3/10 13 p1 int5 11 20 @30176 h19 | gs3/10 14 p1 int5 11 80 @31856 h19 | gs3/10 15 p1 int5 11 20 @24661 h19 | gs3/10 16 p1 int5 11 20 @35984 h19 | gs3/10 17 p1 int5 11 40 @25471 h11 | gs5/11 18 p1 int5 11 40 @30114 h11 | gs3/10 19 p1 int3 97 01 10 C2 @44541 h19 | gs3/10 1A p1 int5 11 20 @22125 h19 | gs3/10 1B p1 int5 11 20 @30512 h19 | gs3/10 1D p1 int5 11 20 @30510 h19 | gs3/10 1E p1 int5 11 20 @26246 h19 | gs3/10 1F p1 int5 11 40 @19904 h11 | gs3/10 Done. ``` 04ND2.txt: ``` ===== 04 ND2 CD CMDS 2 3 PARAMS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Every command 00h-1Fh (not 1Ch) with 2 and 3 parameters (20h 00h 00h). Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @27539. Getstat: int3 10 @32521. Mode 20. HINTMSK was 1F. Parameters: 2 00 p2 int5 11 40 @27093 h11 | gs5/11 01 p2 int5 11 20 @23693 h19 | gs3/10 02 p2 int5 11 20 @26202 h19 | gs3/10 03 p2 int5 11 20 @25035 h19 | gs3/10 04 p2 int5 11 20 @29684 h19 | gs3/10 05 p2 int5 11 20 @25917 h19 | gs3/10 06 p2 int5 11 20 @32421 h19 | gs3/10 07 p2 int5 11 20 @35115 h19 | gs3/10 08 p2 int5 11 20 @29982 h19 | gs3/10 09 p2 int5 11 20 @26583 h19 | gs3/10 0A p2 int5 11 20 @29684 h19 | gs3/10 0B p2 int5 11 20 @25412 h19 | gs3/10 0C p2 int5 11 20 @26685 h19 | gs3/10 0D p2 int5 11 80 @30702 h19 | gs3/10 0E p2 int5 11 20 @24270 h19 | gs3/10 0F p2 int5 11 20 @26242 h19 | gs3/10 10 p2 int5 11 20 @24699 h19 | gs3/10 11 p2 int5 11 20 @32660 h19 | gs3/10 12 p2 int5 11 20 @29875 h19 | gs3/10 13 p2 int5 11 20 @29222 h19 | gs3/10 14 p2 int5 11 20 @26708 h19 | gs3/10 15 p2 int5 11 20 @29877 h19 | gs3/10 16 p2 int5 11 20 @32242 h19 | gs3/10 17 p2 int5 11 40 @25515 h11 | gs3/10 18 p2 int5 11 40 @27284 h11 | gs3/10 19 p2 int5 11 20 @27882 h19 | gs3/10 1A p2 int5 11 20 @37940 h19 | gs3/10 1B p2 int5 11 20 @24885 h19 | gs3/10 1D p2 int5 11 80 @32132 h19 | gs3/10 1E p2 int5 11 20 @26438 h19 | gs3/10 1F p2 int5 11 40 @27668 h11 | gs3/10 Parameters: 3 00 p3 int5 11 40 @18450 h11 | gs3/10 01 p3 int5 11 20 @30422 h19 | gs3/10 02 p3 int5 11 80 @29359 h19 | gs3/10 03 p3 int5 11 20 @31416 h19 | gs3/10 04 p3 int5 11 20 @28786 h19 | gs3/10 05 p3 int5 11 20 @41785 h19 | gs3/10 06 p3 int5 11 20 @32377 h19 | gs3/10 07 p3 int5 11 20 @27599 h19 | gs3/10 08 p3 int5 11 20 @25698 h19 | gs3/10 09 p3 int5 11 20 @26521 h19 | gs3/10 0A p3 int5 11 20 @33858 h19 | gs3/10 0B p3 int5 11 20 @28797 h19 | gs3/10 0C p3 int5 11 20 @31417 h19 | gs3/10 0D p3 int5 11 20 @39817 h19 | gs3/10 0E p3 int5 11 20 @34801 h19 | gs3/10 0F p3 int5 11 20 @31423 h19 | gs3/10 10 p3 int5 11 20 @33912 h19 | gs3/10 11 p3 int5 11 20 @29266 h19 | gs3/10 12 p3 int5 11 20 @39673 h19 | gs3/10 13 p3 int5 11 20 @27047 h19 | gs3/10 14 p3 int5 11 20 @27885 h19 | gs3/10 15 p3 int5 11 20 @31608 h19 | gs3/10 16 p3 int5 11 20 @27047 h19 | gs3/10 17 p3 int5 11 40 @26809 h11 | gs3/10 18 p3 int5 11 40 @22123 h11 | gs3/10 19 p3 int5 11 20 @35496 h19 | gs3/10 1A p3 int5 11 20 @31655 h19 | gs3/10 1B p3 int5 11 20 @27066 h19 | gs3/10 1D p3 int5 11 20 @43992 h19 | gs3/10 1E p3 int5 11 20 @33720 h19 | gs3/10 1F p3 int5 11 40 @22594 h11 | gs3/10 Done. ``` 05NDI.txt: ``` ===== 05 NDI CD INVALID CMDS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Command bytes 20h-FFh (not 50h-5Fh), with 0 and 2 parameters. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @24467. Getstat: int3 10 @28443. Mode 20. HINTMSK was 1F. 20 p0 int5 11 40 @28626 h19 | gs3/10 20 p2 int5 11 40 @25218 h11 | gs3/10 21 p0 int5 11 40 @31148 h19 | gs3/10 21 p2 int5 11 40 @32763 h11 | gs3/10 2F p0 int5 11 40 @34350 h19 | gs3/10 2F p2 int5 11 40 @25227 h11 | gs3/10 30 p0 int5 11 40 @23132 h19 | gs3/10 30 p2 int5 11 40 @27722 h11 | gs3/10 3F p0 int5 11 40 @19942 h19 | gs3/10 3F p2 int5 11 40 @22217 h11 | gs3/10 40 p0 int5 11 40 @26958 h19 | gs3/10 40 p2 int5 11 40 @19367 h11 | gs3/10 4F p0 int5 11 40 @24951 h19 | gs3/10 4F p2 int5 11 40 @24842 h11 | gs3/10 60 p0 int5 11 40 @33149 h19 | gs3/10 60 p2 int5 11 40 @24887 h11 | gs3/10 6F p0 int5 11 40 @29328 h19 | gs3/10 6F p2 int5 11 40 @27337 h11 | gs3/10 70 p0 int5 11 40 @24894 h19 | gs3/10 70 p2 int5 11 40 @27545 h11 | gs3/10 7F p0 int5 11 40 @32768 h19 | gs3/10 7F p2 int5 11 40 @24930 h11 | gs3/10 80 p0 int5 11 40 @18606 h19 | gs3/10 80 p2 int5 11 40 @21495 h11 | gs3/10 8F p0 int5 11 40 @24937 h19 | gs3/10 8F p2 int5 11 40 @21339 h11 | gs3/10 90 p0 int5 11 40 @21491 h19 | gs3/10 90 p2 int5 11 40 @20282 h11 | gs3/10 9F p0 int5 11 40 @24894 h19 | gs3/10 9F p2 int5 11 40 @24893 h11 | gs3/10 A0 p0 int5 11 40 @24279 h19 | gs3/10 A0 p2 int5 11 40 @27001 h11 | gs5/11 AF p0 int5 11 40 @18414 h19 | gs3/10 AF p2 int5 11 40 @22168 h11 | gs3/10 B0 p0 int5 11 40 @24893 h19 | gs3/10 B0 p2 int5 11 40 @35058 h11 | gs3/10 C0 p0 int5 11 40 @21548 h19 | gs3/10 C0 p2 int5 11 40 @27337 h11 | gs3/10 CF p0 int5 11 40 @23792 h19 | gs3/10 CF p2 int5 11 40 @27378 h11 | gs3/10 D0 p0 int5 11 40 @21879 h19 | gs3/10 D0 p2 int5 11 40 @19946 h11 | gs3/10 E0 p0 int5 11 40 @27341 h19 | gs3/10 E0 p2 int5 11 40 @21835 h11 | gs3/10 EF p0 int5 11 40 @24944 h19 | gs3/10 EF p2 int5 11 40 @26525 h11 | gs3/10 F0 p0 int5 11 40 @20000 h19 | gs3/10 F0 p2 int5 11 40 @21448 h11 | gs3/10 FE p0 int5 11 40 @27680 h19 | gs3/10 FE p2 int5 11 40 @19943 h11 | gs3/10 FF p0 int5 11 40 @21836 h19 | gs3/10 FF p2 int5 11 40 @28681 h11 | gs3/10 Done. ``` 06NDR.txt: ``` ===== 06 NDR CD REGISTERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Registers at every index, HINTMSK, partial acknowledges, BFRD, BFWR, SMEN. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @23411. Getstat: int3 10 @28965. Mode 20. HINTMSK was 1F. Index write -> HSTS: 00:18 01:19 02:1A 03:1B 04:18 07:1B FC:18 FF:1B After Getstat (acked): int3 10 @37175 Bank 0: 1800 18, 1803 E0 E0, 1800 again 18 Bank 1: 1800 19, 1803 E0 E0, 1800 again 19 Bank 2: 1800 1A, 1803 E0 E0, 1800 again 1A Bank 3: 1800 1B, 1803 E0 E0, 1800 again 1B Bank 0: 1801 00 00 00 00, 1802 00 00 Bank 1: 1801 00 00 00 00, 1802 00 00 Bank 2: 1801 00 00 00 00, 1802 00 00 Bank 3: 1801 00 00 00 10, 1802 00 00 INT3 pending, 1803 in banks 0-3: E0 E3 E0 E3; HSTS 38 39 3A 3B HINTMSK write -> bank0, bank2, HINTSTS, IRQ: 00:E0,E0,E0,0 01:E1,E1,E0,0 02:E2,E2,E0,0 04:E4,E4,E0,0 08:E8,E8,E0,0 10:F0,F0,E0,0 1F:FF,FF,E0,0 20:E0,E0,E0,0 40:E0,E0,E0,0 80:E0,E0,E0,0 E0:E0,E0,E0,0 FF:FF,FF,E0,0 Getstat: 03, ack 01->02, 02->00, 04->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 04->03, 02->01, 01->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 02->01, 01->00, 04->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 08->03, 10->03, 03->00; RSLRRDY 1 byte 10; then nothing Cmd 1Fh: 05, ack 01->04, 02->04, 04->00; RSLRRDY 1 byte 11; then nothing HSTS before 38, BFRD 78, after 8 reads 78, off 38; BFWR 78, off 38; both 78, off 38 RDDATA with BFRD: 01 80 00 60 00 28 00 1E; HINTSTS after E0 Getstat with HCHPCTL 20, HINTSTS changes: 10@29 13@24657; 20000 later 13; after ack 00 Getstat with HCHPCTL 00, HINTSTS changes: 03@33506; 20000 later 03; after ack 00 Done. ``` 07NDF.txt: ``` ===== 07 NDF CD FIFOS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 The parameter and response FIFOs. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @27443. Getstat: int3 10 @30504. Mode 20. HINTMSK was 1F. HSTS (bank 0) before parameter write n, n = 0..40: 18 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 18 10 10 10 10 10 10 10 10 After CLRPRM 19; 5 more 10; CLRPRM 19 Getstat, 40 reads (int3), RSLRRDY:byte 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:10 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 Test 22h (7 bytes), 40 reads (int3), RSLRRDY:byte 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 0:00 Getparam, 2 read, ack 07h, then 8 reads (int3), RSLRRDY:byte 1:00 1:00 1:00 0:00 1:00 1:00 1:00 1:00 Getparam acked before any read, RSLRRDY:byte: 1:10 1:20 1:00 1:00 1:00 0:00 1:00 1:00 Test 22h 3 read, then Getstat, RSLRRDY:byte: 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 Cmd 1F with 1 param(s), acked without CLRPRM: int5 11 40 @24377 h11; then cmd 19 alone: int3 97 01 10 C2 @42374 h19 Cmd 00 with 1 param(s), acked without CLRPRM: int5 11 40 @22060 h11; then cmd 19 alone: int3 97 01 10 C2 @38799 h19 Cmd 40 with 2 param(s), acked without CLRPRM: int5 11 40 @22253 h11; then cmd 01 alone: int5 11 20 @32515 h19 Cmd 01 with 1 param(s), acked without CLRPRM: int5 11 20 @25849 h19; then cmd 19 alone: int5 11 20 @37797 h19 Done. ``` 08NDN.txt: ``` ===== 08 NDN CD INIT READTOC | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Init and ReadTOC, eight times each, INT3 acknowledged at once. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @30275. Getstat: int3 10 @28966. Mode 20. HINTMSK was 1F. Init: int3 10 @59809 | int2 10 @85393 | gs3/10 Init: int3 10 @44730 | int2 10 @70298 | gs3/10 Init: int3 10 @45055 | int2 10 @70095 | gs3/10 Init: int3 10 @48735 | int2 10 @73775 | gs3/10 Init: int3 10 @45387 | int2 10 @70427 | gs3/10 Init: int3 10 @48744 | int2 10 @73784 | gs3/10 Init: int3 10 @47787 | int2 10 @72795 | gs3/10 Init: int3 10 @43943 | int2 10 @69511 | gs3/10 ReadTOC: int3 10 @47074 | int2 10 @72642 | gs3/10 ReadTOC: int3 10 @45759 | int2 10 @71359 | gs3/10 ReadTOC: int3 10 @46929 | int2 10 @72497 | gs3/10 ReadTOC: int3 10 @52669 | int2 10 @77709 | gs3/10 ReadTOC: int3 10 @46977 | int2 10 @72017 | gs3/10 ReadTOC: int3 10 @43647 | int2 10 @69215 | gs3/10 ReadTOC: int3 10 @46402 | int2 10 @71970 | gs3/10 ReadTOC: int3 10 @47269 | int2 10 @72261 | gs3/10 Getstat: int3 10 @25121 | none | gs3/10 Getstat: int3 10 @19041 | none | gs3/10 Done. ``` 09NDQ.txt: ``` ===== 09 NDQ CD CMD ON CMD | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Commands on top of commands, and INT3 then INT2. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @36130. Getstat: int3 10 @30500. Mode 20. HINTMSK was 1F. Getparam, 104 later (flags 0) Getstat, HSTS 98: int3 10 @27492 Getparam, 186 later (flags 0) Getstat, HSTS 98: int3 10 @19086 Getparam, 1068 later (flags 0) Getstat, HSTS 98: int3 10 @19548 Getparam, 3079 later (flags 0) Getstat, HSTS 98: int3 10 @21167 Getparam, 6056 later (flags 0) Getstat, HSTS 98: int3 10 @25631 Getparam, 10084 later (flags 0) Getstat, HSTS 98: int3 10 @26256 Getparam, 20081 later (flags 0) Getstat, HSTS B8: int3 10 20 00 00 00 @31201 Getparam, 40084 later (flags 0) Getstat, HSTS B8: int3 10 20 00 00 00 @40403, int3 10 @71216 Getstat, 106 later Test 20h, HSTS 90: int3 97 01 10 C2 @27065 Getstat, 1066 later Test 20h, HSTS 90: int3 97 01 10 C2 @42195 Getstat, 6083 later Test 20h, HSTS 90: int3 97 01 10 C2 @33239 Getstat, 20081 later Test 20h, HSTS B0: int3 10 @22860 Getparam int3 unacked, cmd 01: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int3 10 @14272 Getparam int3 unacked, cmd 1F: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int5 11 40 @13852 Getparam int3 unacked, cmd 0F: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int3 10 20 00 00 00 @26029 Init int3 @47950 unacked 400000: HINTSTS 03 HSTS 39 1 byte(s) 10; after the ack: int2 10 @5461 Init int3 10 @52114, then: int2 10 @77666 Init int3 10 @55615, then cmd 01: int2 10 @81183, int3 10 @109231 Init int3 10 @49235, then cmd 0A: int2 10 @74227, int3 10 @130691, int2 10 @156259 Init int3 10 @49720, then cmd 0F: int2 10 @75288, int3 10 20 00 00 00 @114376 Init int3 10 @49715, then cmd 1E: int2 10 @74723, int3 10 @127635, int2 10 @153187 ReadTOC int3 10 @49813, then Getstat: int2 10 @75397, int3 10 @103445 Done. ``` 10NDX.txt: ``` ===== 10 NDX CD OVERFLOW RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Parameter FIFO overflow with a command, then Reset (1Ch). Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @24995. Getstat: int3 10 @28964. Mode 20. HINTMSK was 1F. 15 zeros then cmd 01: HSTS 10, int5 11 20 @51479 h19 | gs3/10 16 zeros then cmd 01: HSTS 00, int5 11 20 @56715 h19 | gs3/10 17 zeros then cmd 0E: HSTS 10, int5 11 20 @62771 h19 | gs3/10 19 zeros then cmd 02: HSTS 10, int5 11 20 @61957 h19 | gs3/10 31 zeros then cmd 01: HSTS 10, int5 11 20 @89920 h19 | gs3/10 32 zeros then cmd 01: HSTS 18, int3 10 @23749 h19 | gs3/10 33 zeros then cmd 0E: HSTS 10, int3 10 @24613 h19 | gs3/10 35 zeros then cmd 02: HSTS 10, int5 11 80 @27441 h19 | gs3/10 Reset (1Ch) and the Init after it: not run in this table. Mode 00 put back to 20: int3 10 @34152 Done. ``` ### Run 5501a-card-g3 on 27 September 2026 Raw output: [00RUN.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/00RUN.txt) · [01NDT.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/01NDT.txt) · [02NDS.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/02NDS.txt) · [03ND0.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/03ND0.txt) · [04ND2.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/04ND2.txt) · [05NDI.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/05NDI.txt) · [06NDR.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/06NDR.txt) · [07NDF.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/07NDF.txt) · [08NDN.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/08NDN.txt) · [09NDQ.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/09NDQ.txt) · [10NDX.txt](/tests/raw/20260927T0000Z-5501a-card-g3/cdnodisc_safe/10NDX.txt) 00RUN.txt: ``` ===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A 10 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 801075D8 DCIC 00000000 BadVaddr 00000480 BDAM 00000000 BPCM 00000000 SR 40000000 Cause 00000020 EPC 8010818C PRId 00000002 ``` 01NDT.txt: ``` ===== 01 NDT CD REPLY TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Reply times, sixteen each: the cycle of the interrupt/its type, the cycle BUSYSTS cleared. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @30851. Getstat: int3 10 @23494. Mode 20. HINTMSK was 1F. Getstat int: 28030/3 20293/3 20285/3 29803/3 19870/3 23660/3 22435/3 19936/3 20586/3 29887/3 19366/3 22002/3 29887/3 19867/3 23604/3 27234/3 Getstat busy clear: 26021 18210 18277 27794 17862 21652 20422 17350 18579 27802 17356 19995 27802 17356 21597 25155 Getstat HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Getparam int: 30856/3 34722/3 30784/3 34971/3 34603/3 26555/3 31893/3 27044/3 32568/3 32321/3 29631/3 37568/3 26493/3 29518/3 31593/3 32942/3 Getparam busy clear: 28843 32709 28777 32964 32589 24538 29886 25030 30560 30314 27552 34987 24414 26938 29576 30928 Getparam HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Nop 1 param (20h) int: 29070/5 27715/5 31787/5 27597/5 35778/5 22864/5 33515/5 25515/5 29867/5 26431/5 22443/5 23069/5 25499/5 28820/5 28031/5 22870/5 Nop 1 param (20h) busy clear: 27062 25705 29708 25524 33199 20855 30933 23437 27859 24422 20365 20484 23491 26807 25953 20856 Nop 1 param (20h) HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Cmd 1Fh int: 24340/5 26186/5 22937/5 22752/5 26308/5 19809/5 22745/5 26436/5 21092/5 22739/5 26437/5 19726/5 22812/5 26370/5 22939/5 22739/5 Cmd 1Fh busy clear: 22333 24177 20854 20672 24299 17801 20731 24355 19013 20737 24358 17713 20734 24358 20859 20737 Cmd 1Fh HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Cmd 1Fh 1 param int: 18641/5 19444/5 22314/5 28146/5 18865/5 22935/5 27104/5 19245/5 22927/5 30176/5 19450/5 22375/5 27106/5 18940/5 23224/5 28033/5 Cmd 1Fh 1 param busy clear: 16560 16865 20306 26138 16857 20923 25092 17236 20919 28164 16870 20362 25097 16926 21221 26025 Cmd 1Fh 1 param HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Setloc 00:02:00 int: 28524/5 31347/5 27724/5 33067/5 28517/5 30121/5 30477/5 31837/5 37366/5 32073/5 26910/5 27906/5 30674/5 27428/5 28026/5 30536/5 Setloc 00:02:00 busy clear: 26445 29340 25707 31055 26505 28107 28468 29758 35359 30066 24903 25894 28660 25348 26016 28528 Setloc 00:02:00 HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 21h int: 31034/3 25203/3 23046/3 22807/3 25826/3 23356/3 29995/3 26186/3 22504/3 22629/3 26183/3 25499/3 26189/3 22613/3 27971/3 28037/3 Test 21h busy clear: 29026 23194 21037 20799 23247 21339 27988 24179 20491 20551 24105 23491 23613 20606 25959 26025 Test 21h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 22h int: 41228/3 42272/3 31218/3 31770/3 42343/3 44740/3 41910/3 34787/3 34671/3 34599/3 30913/3 33258/3 44317/3 38901/3 35098/3 36930/3 Test 22h busy clear: 39219 40265 29210 29762 40269 42726 39901 32780 32657 32591 28905 31180 42244 36899 33091 34922 Test 22h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 60h 1E0h int: 28146/3 25502/3 29143/3 26490/3 31458/3 30495/3 29685/3 29263/3 29078/3 30238/3 29493/3 28948/3 33923/3 39279/3 25873/3 26449/3 Test 60h 1E0h busy clear: 26137 23493 27058 24480 29451 28415 27677 27255 27068 28229 27486 26941 31915 37262 23865 23869 Test 60h 1E0h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Done. ``` 02NDS.txt: ``` ===== 02 NDS CD TEST SUBFUNCS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Test 19h, the sub-functions that only read. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @25236. Getstat: int3 10 @28438. Mode 20. HINTMSK was 1F. T20: int3 97 01 10 C2 @26707 T21: int3 03 @23491 T22: int3 66 6F 72 20 55 2F 43 @34774 T23: int3 43 58 44 32 35 34 35 51 @43389 T24: int3 43 58 44 32 35 34 35 51 @38710 T25: int3 43 58 44 31 38 31 35 51 @41581 T26: int5 11 10 @31558 T27: int5 11 10 @28599 T28: int5 11 10 @31610 T29: int5 11 10 @27242 T2A: int5 11 10 @24256 T2B: int5 11 10 @25949 T2C: int5 11 10 @24513 T2D: int5 11 10 @25603 T2E: int5 11 10 @25281 T2F: int5 11 10 @24067 T20 with 2 params: int5 11 20 @30318 T20 with 4 params: int5 11 20 @32989 T20 with 0 params (01E1h stale 20h): int5 11 20 @21817 T80: int5 11 10 @25034 TF0: int5 11 10 @24686 TFF: int5 11 10 @26192 T60 with 1 param: int5 11 20 @24544 T60 with 2 params: int5 11 20 @30445 T60 with 4 params: int5 11 20 @43513 T61 E0 01: int5 11 10 @36034 T6F E0 01: int5 11 10 @27717 RAM E0 hi 00: int3 FF @26320 RAM E0 hi 01: int3 19 @32900 RAM E1 hi 01: int3 60 @25755 RAM E2 hi 01: int3 E2 @29602 RAM E3 hi 01: int3 01 @26234 RAM E0 hi 02: int3 00 @26754 RAM E0 hi 03: int3 00 @25748 RAM E0 hi 04: int3 FF @36705 RAM E0 hi 05: int3 19 @44038 RAM E0 hi FF: int3 00 @40338 RAM 040: int3 08 @40772 RAM 047: int3 00 @43752 RAM 06C: int3 00 @38775 RAM 06D: int3 01 @43317 RAM 088: int3 03 @43794 RAM 08B: int3 03 @34005 RAM 0BB: int3 20 @39637 RAM 0BC: int3 11 @43609 Ports 00-0F: FF 79 24 FF 11 00 20 20 0C 00 71 00 00 20 20 20 Ports 00-0F: FF 79 24 FF 11 00 20 20 0C 00 71 00 00 20 20 20 Done. ``` 03ND0.txt: ``` ===== 03 ND0 CD CMDS 0 1 PARAMS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Every command 00h-1Fh (not 1Ch) with 0 and 1 parameters (20h). Cycles at 33.8688 MHz. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @23266. Getstat: int3 10 @30504. Mode 20. HINTMSK was 1F. Parameters: 0 00 p0 int5 11 40 @28819 h19 | gs3/10 01 p0 int3 10 @24937 h19 | gs3/10 02 p0 int5 11 20 @24231 h19 | gs3/10 03 p0 int5 11 80 @24854 h19 | gs3/10 04 p0 int5 11 80 @27488 h19 | gs3/10 05 p0 int5 11 80 @39817 h19 | gs3/10 06 p0 int5 11 80 @25426 h19 | gs3/10 07 p0 int5 11 80 @27823 h19 | gs3/10 08 p0 int5 11 80 @23551 h19 | gs3/10 09 p0 int5 11 80 @27104 h19 | gs3/10 0A p0 int3 10 @45603 h19 | int2 10 @71155 | gs3/10 0B p0 int5 11 80 @30175 h19 | gs3/10 0C p0 int5 11 80 @24471 h19 | gs3/10 0D p0 int5 11 20 @22736 h19 | gs3/10 0E p0 int5 11 20 @26137 h19 | gs3/10 0F p0 int3 10 20 00 00 00 @29462 h19 | gs3/10 10 p0 int5 11 80 @28412 h19 | gs3/10 11 p0 int5 11 80 @27678 h19 | gs3/10 12 p0 int5 11 20 @20576 h19 | gs3/10 13 p0 int5 11 80 @24232 h19 | gs3/10 14 p0 int5 11 20 @28390 h19 | gs3/10 15 p0 int5 11 80 @23494 h19 | gs3/10 16 p0 int5 11 80 @24376 h19 | gs3/10 17 p0 int5 11 40 @26815 h19 | gs3/10 18 p0 int5 11 40 @23695 h19 | gs3/10 19 p0 int5 11 20 @29168 h19 | gs3/10 1A p0 int5 11 80 @24519 h19 | gs3/10 1B p0 int5 11 80 @30550 h19 | gs3/10 1D p0 int5 11 20 @28352 h19 | gs3/10 1E p0 int3 10 @49340 h19 | int2 10 @74396 | gs3/10 1F p0 int5 11 40 @29741 h19 | gs3/10 Parameters: 1 00 p1 int5 11 40 @18166 h11 | gs5/11 01 p1 int5 11 20 @27976 h19 | gs3/10 02 p1 int5 11 20 @28434 h19 | gs3/10 03 p1 int5 11 80 @29258 h19 | gs3/10 04 p1 int5 11 20 @25189 h19 | gs3/10 05 p1 int5 11 20 @27959 h19 | gs3/10 06 p1 int5 11 20 @24359 h19 | gs3/10 07 p1 int5 11 20 @28242 h19 | gs3/10 08 p1 int5 11 20 @24524 h19 | gs3/10 09 p1 int5 11 20 @23600 h19 | gs3/10 0A p1 int5 11 20 @27920 h19 | gs3/10 0B p1 int5 11 20 @25090 h19 | gs3/10 0C p1 int5 11 20 @24560 h19 | gs3/10 0D p1 int5 11 20 @27872 h19 | gs3/10 0E p1 int3 10 @23804 h19 | gs3/10 0F p1 int5 11 20 @26969 h19 | gs3/10 10 p1 int5 11 20 @28448 h19 | gs3/10 11 p1 int5 11 20 @23159 h19 | gs3/10 12 p1 int5 11 80 @26588 h19 | gs3/10 13 p1 int5 11 20 @28631 h19 | gs3/10 14 p1 int5 11 80 @24800 h19 | gs3/10 15 p1 int5 11 20 @37424 h19 | gs3/10 16 p1 int5 11 20 @24717 h19 | gs3/10 17 p1 int5 11 40 @28578 h11 | gs5/11 18 p1 int5 11 40 @24608 h11 | gs3/10 19 p1 int3 97 01 10 C2 @31865 h19 | gs3/10 1A p1 int5 11 20 @21789 h19 | gs3/10 1B p1 int5 11 20 @24498 h19 | gs3/10 1D p1 int5 11 20 @23058 h19 | gs3/10 1E p1 int5 11 20 @25580 h19 | gs3/10 1F p1 int5 11 40 @27522 h11 | gs5/11 Done. ``` 04ND2.txt: ``` ===== 04 ND2 CD CMDS 2 3 PARAMS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Every command 00h-1Fh (not 1Ch) with 2 and 3 parameters (20h 00h 00h). Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @22403. Getstat: int3 10 @32473. Mode 20. HINTMSK was 1F. Parameters: 2 00 p2 int5 11 40 @21144 h11 | gs5/11 01 p2 int5 11 20 @32187 h19 | gs3/10 02 p2 int5 11 20 @26254 h19 | gs3/10 03 p2 int5 11 20 @32756 h19 | gs3/10 04 p2 int5 11 20 @29684 h19 | gs3/10 05 p2 int5 11 20 @31338 h19 | gs3/10 06 p2 int5 11 20 @34149 h19 | gs3/10 07 p2 int5 11 20 @32276 h19 | gs3/10 08 p2 int5 11 20 @29732 h19 | gs3/10 09 p2 int5 11 20 @26970 h19 | gs3/10 0A p2 int5 11 20 @29653 h19 | gs3/10 0B p2 int5 11 20 @25035 h19 | gs3/10 0C p2 int5 11 20 @32109 h19 | gs3/10 0D p2 int5 11 80 @30741 h19 | gs3/10 0E p2 int5 11 20 @25028 h19 | gs3/10 0F p2 int5 11 20 @26247 h19 | gs3/10 10 p2 int5 11 20 @35115 h19 | gs3/10 11 p2 int5 11 20 @30788 h19 | gs3/10 12 p2 int5 11 20 @30357 h19 | gs3/10 13 p2 int5 11 20 @28842 h19 | gs3/10 14 p2 int5 11 20 @32323 h19 | gs3/10 15 p2 int5 11 20 @29883 h19 | gs3/10 16 p2 int5 11 20 @27550 h19 | gs3/10 17 p2 int5 11 40 @32660 h11 | gs5/11 18 p2 int5 11 40 @34004 h11 | gs5/11 19 p2 int5 11 20 @33686 h19 | gs3/10 1A p2 int5 11 20 @32277 h19 | gs3/10 1B p2 int5 11 20 @24884 h19 | gs3/10 1D p2 int5 11 80 @28505 h19 | gs3/10 1E p2 int5 11 20 @29877 h19 | gs3/10 1F p2 int5 11 40 @24932 h11 | gs5/11 Parameters: 3 00 p3 int5 11 40 @19122 h11 | gs5/11 01 p3 int5 11 20 @36230 h19 | gs3/10 02 p3 int5 11 80 @32911 h19 | gs3/10 03 p3 int5 11 20 @34146 h19 | gs3/10 04 p3 int5 11 20 @28402 h19 | gs3/10 05 p3 int5 11 20 @43416 h19 | gs3/10 06 p3 int5 11 20 @30841 h19 | gs3/10 07 p3 int5 11 20 @28070 h19 | gs3/10 08 p3 int5 11 20 @33864 h19 | gs3/10 09 p3 int5 11 20 @27240 h19 | gs3/10 0A p3 int5 11 20 @28029 h19 | gs3/10 0B p3 int5 11 20 @34242 h19 | gs3/10 0C p3 int5 11 20 @42601 h19 | gs3/10 0D p3 int5 11 20 @34440 h19 | gs3/10 0E p3 int5 11 20 @30766 h19 | gs3/10 0F p3 int5 11 20 @31423 h19 | gs3/10 10 p3 int5 11 20 @39337 h19 | gs3/10 11 p3 int5 11 20 @29078 h19 | gs3/10 12 p3 int5 11 20 @33714 h19 | gs3/10 13 p3 int5 11 20 @27048 h19 | gs3/10 14 p3 int5 11 20 @28550 h19 | gs3/10 15 p3 int5 11 20 @33727 h19 | gs3/10 16 p3 int5 11 20 @25375 h19 | gs3/10 17 p3 int5 11 40 @21730 h11 | gs3/10 18 p3 int5 11 40 @24791 h11 | gs5/11 19 p3 int5 11 20 @26759 h19 | gs3/10 1A p3 int5 11 20 @31657 h19 | gs3/10 1B p3 int5 11 20 @36625 h19 | gs3/10 1D p3 int5 11 20 @34393 h19 | gs3/10 1E p3 int5 11 20 @31663 h19 | gs3/10 1F p3 int5 11 40 @21505 h11 | gs3/10 Done. ``` 05NDI.txt: ``` ===== 05 NDI CD INVALID CMDS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Command bytes 20h-FFh (not 50h-5Fh), with 0 and 2 parameters. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @24851. Getstat: int3 10 @29019. Mode 20. HINTMSK was 1F. 20 p0 int5 11 40 @23975 h19 | gs3/10 20 p2 int5 11 40 @24834 h11 | gs5/11 21 p0 int5 11 40 @28604 h19 | gs3/10 21 p2 int5 11 40 @32716 h11 | gs5/11 2F p0 int5 11 40 @21145 h19 | gs3/10 2F p2 int5 11 40 @20276 h11 | gs3/10 30 p0 int5 11 40 @21442 h19 | gs3/10 30 p2 int5 11 40 @27626 h11 | gs3/10 3F p0 int5 11 40 @20336 h19 | gs3/10 3F p2 int5 11 40 @21449 h11 | gs3/10 40 p0 int5 11 40 @26862 h19 | gs3/10 40 p2 int5 11 40 @27293 h11 | gs5/11 4F p0 int5 11 40 @21298 h19 | gs3/10 4F p2 int5 11 40 @25561 h11 | gs5/11 60 p0 int5 11 40 @27337 h19 | gs3/10 60 p2 int5 11 40 @25275 h11 | gs5/11 6F p0 int5 11 40 @24240 h19 | gs3/10 6F p2 int5 11 40 @26953 h11 | gs5/11 70 p0 int5 11 40 @27150 h19 | gs3/10 70 p2 int5 11 40 @21787 h11 | gs3/10 7F p0 int5 11 40 @27726 h19 | gs3/10 7F p2 int5 11 40 @27715 h11 | gs3/10 80 p0 int5 11 40 @21111 h19 | gs3/10 80 p2 int5 11 40 @18454 h11 | gs5/11 8F p0 int5 11 40 @19759 h19 | gs3/10 8F p2 int5 11 40 @27378 h11 | gs5/11 90 p0 int5 11 40 @27442 h19 | gs3/10 90 p2 int5 11 40 @19907 h11 | gs3/10 9F p0 int5 11 40 @27344 h19 | gs3/10 9F p2 int5 11 40 @21497 h11 | gs3/10 A0 p0 int5 11 40 @27006 h19 | gs3/10 A0 p2 int5 11 40 @27299 h11 | gs5/11 AF p0 int5 11 40 @19758 h19 | gs3/10 AF p2 int5 11 40 @22169 h11 | gs3/10 B0 p0 int5 11 40 @27337 h19 | gs3/10 B0 p2 int5 11 40 @19410 h11 | gs5/11 C0 p0 int5 11 40 @23804 h19 | gs3/10 C0 p2 int5 11 40 @24843 h11 | gs5/11 CF p0 int5 11 40 @25086 h19 | gs3/10 CF p2 int5 11 40 @21785 h11 | gs3/10 D0 p0 int5 11 40 @25170 h19 | gs3/10 D0 p2 int5 11 40 @33101 h11 | gs5/11 E0 p0 int5 11 40 @38046 h19 | gs3/10 E0 p2 int5 11 40 @24425 h11 | gs3/10 EF p0 int5 11 40 @25280 h19 | gs3/10 EF p2 int5 11 40 @24930 h11 | gs5/11 F0 p0 int5 11 40 @31388 h19 | gs3/10 F0 p2 int5 11 40 @25226 h11 | gs5/11 FE p0 int5 11 40 @34448 h19 | gs3/10 FE p2 int5 11 40 @26475 h11 | gs5/11 FF p0 int5 11 40 @21687 h19 | gs3/10 FF p2 int5 11 40 @19994 h11 | gs5/11 Done. ``` 06NDR.txt: ``` ===== 06 NDR CD REGISTERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Registers at every index, HINTMSK, partial acknowledges, BFRD, BFWR, SMEN. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @35651. Getstat: int3 10 @30891. Mode 20. HINTMSK was 1F. Index write -> HSTS: 00:18 01:19 02:1A 03:1B 04:18 07:1B FC:18 FF:1B After Getstat (acked): int3 10 @28870 Bank 0: 1800 18, 1803 E0 E0, 1800 again 18 Bank 1: 1800 19, 1803 E0 E0, 1800 again 19 Bank 2: 1800 1A, 1803 E0 E0, 1800 again 1A Bank 3: 1800 1B, 1803 E0 E0, 1800 again 1B Bank 0: 1801 00 00 00 00, 1802 00 00 Bank 1: 1801 00 00 00 00, 1802 00 00 Bank 2: 1801 00 00 00 00, 1802 00 00 Bank 3: 1801 00 00 00 10, 1802 00 00 INT3 pending, 1803 in banks 0-3: E0 E3 E0 E3; HSTS 38 39 3A 3B HINTMSK write -> bank0, bank2, HINTSTS, IRQ: 00:E0,E0,E0,0 01:E1,E1,E0,0 02:E2,E2,E0,0 04:E4,E4,E0,0 08:E8,E8,E0,0 10:F0,F0,E0,0 1F:FF,FF,E0,0 20:E0,E0,E0,0 40:E0,E0,E0,0 80:E0,E0,E0,0 E0:E0,E0,E0,0 FF:FF,FF,E0,0 Getstat: 03, ack 01->02, 02->00, 04->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 04->03, 02->01, 01->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 02->01, 01->00, 04->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 08->03, 10->03, 03->00; RSLRRDY 1 byte 10; then nothing Cmd 1Fh: 05, ack 01->04, 02->04, 04->00; RSLRRDY 1 byte 11; then nothing HSTS before 38, BFRD 78, after 8 reads 78, off 38; BFWR 78, off 38; both 78, off 38 RDDATA with BFRD: 01 80 00 60 00 28 00 1E; HINTSTS after E0 Getstat with HCHPCTL 20, HINTSTS changes: 10@29 13@29883; 20000 later 13; after ack 00 Getstat with HCHPCTL 00, HINTSTS changes: 03@28209; 20000 later 03; after ack 00 Done. ``` 07NDF.txt: ``` ===== 07 NDF CD FIFOS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 The parameter and response FIFOs. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @22930. Getstat: int3 10 @29349. Mode 20. HINTMSK was 1F. HSTS (bank 0) before parameter write n, n = 0..40: 18 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 18 10 10 10 10 10 10 10 10 After CLRPRM 19; 5 more 10; CLRPRM 19 Getstat, 40 reads (int3), RSLRRDY:byte 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:10 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 Test 22h (7 bytes), 40 reads (int3), RSLRRDY:byte 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 0:00 Getparam, 2 read, ack 07h, then 8 reads (int3), RSLRRDY:byte 1:00 1:00 1:00 0:00 1:00 1:00 1:00 1:00 Getparam acked before any read, RSLRRDY:byte: 1:10 1:20 1:00 1:00 1:00 0:00 1:00 1:00 Test 22h 3 read, then Getstat, RSLRRDY:byte: 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 Cmd 1F with 1 param(s), acked without CLRPRM: int5 11 40 @27118 h11; then cmd 19 alone: int3 97 01 10 C2 @42718 h19 Cmd 00 with 1 param(s), acked without CLRPRM: int5 11 40 @20185 h11; then cmd 19 alone: int3 97 01 10 C2 @34960 h19 Cmd 40 with 2 param(s), acked without CLRPRM: int5 11 40 @29115 h11; then cmd 01 alone: int5 11 20 @27382 h19 Cmd 01 with 1 param(s), acked without CLRPRM: int5 11 20 @24137 h19; then cmd 19 alone: int5 11 20 @37462 h19 Done. ``` 08NDN.txt: ``` ===== 08 NDN CD INIT READTOC | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Init and ReadTOC, eight times each, INT3 acknowledged at once. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @22787. Getstat: int3 10 @29019. Mode 20. HINTMSK was 1F. Init: int3 10 @52033 | int2 10 @77617 | gs3/10 Init: int3 10 @47994 | int2 10 @73562 | gs3/10 Init: int3 10 @43751 | int2 10 @69351 | gs3/10 Init: int3 10 @43818 | int2 10 @69386 | gs3/10 Init: int3 10 @47698 | int2 10 @73282 | gs3/10 Init: int3 10 @43549 | int2 10 @69117 | gs3/10 Init: int3 10 @48088 | int2 10 @73656 | gs3/10 Init: int3 10 @44993 | int2 10 @70545 | gs3/10 ReadTOC: int3 10 @47986 | int2 10 @73554 | gs3/10 ReadTOC: int3 10 @43259 | int2 10 @68827 | gs3/10 ReadTOC: int3 10 @46888 | int2 10 @72456 | gs3/10 ReadTOC: int3 10 @46381 | int2 10 @71949 | gs3/10 ReadTOC: int3 10 @47274 | int2 10 @72842 | gs3/10 ReadTOC: int3 10 @43320 | int2 10 @68888 | gs3/10 ReadTOC: int3 10 @46840 | int2 10 @72424 | gs3/10 ReadTOC: int3 10 @44175 | int2 10 @69743 | gs3/10 Getstat: int3 10 @22498 | none | gs3/10 Getstat: int3 10 @19432 | none | gs3/10 Done. ``` 09NDQ.txt: ``` ===== 09 NDQ CD CMD ON CMD | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Commands on top of commands, and INT3 then INT2. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @24899. Getstat: int3 10 @28971. Mode 20. HINTMSK was 1F. Getparam, 104 later (flags 0) Getstat, HSTS 98: int3 10 @20669 Getparam, 182 later (flags 0) Getstat, HSTS 98: int3 10 @24802 Getparam, 1074 later (flags 0) Getstat, HSTS 98: int3 10 @25071 Getparam, 3084 later (flags 0) Getstat, HSTS 98: int3 10 @21216 Getparam, 6058 later (flags 0) Getstat, HSTS 98: int3 10 @19063 Getparam, 10082 later (flags 0) Getstat, HSTS 98: int3 10 @32923 Getparam, 20090 later (flags 0) Getstat, HSTS B8: int3 10 20 00 00 00 @28912 Getparam, 40059 later (flags 3) Getstat, HSTS B8: int3 10 20 00 00 00 @40239, int3 10 @73121 Getstat, 106 later Test 20h, HSTS 90: int3 97 01 10 C2 @28694 Getstat, 1063 later Test 20h, HSTS 90: int3 97 01 10 C2 @31957 Getstat, 6086 later Test 20h, HSTS 90: int3 97 01 10 C2 @30643 Getstat, 20081 later Test 20h, HSTS B0: int3 10 @24615 Getparam int3 unacked, cmd 01: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int3 10 @24736 Getparam int3 unacked, cmd 1F: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int5 11 40 @24505 Getparam int3 unacked, cmd 0F: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int3 10 20 00 00 00 @32654 Init int3 @46930 unacked 400000: HINTSTS 03 HSTS 39 1 byte(s) 10; after the ack: int2 10 @5501 Init int3 10 @52256, then: int2 10 @77808 Init int3 10 @46114, then cmd 01: int2 10 @71154, int3 10 @100738 Init int3 10 @53215, then cmd 0A: int2 10 @78783, int3 10 @131182, int2 10 @156735 Init int3 10 @48612, then cmd 0F: int2 10 @73652, int3 10 20 00 00 00 @109716 Init int3 10 @48605, then cmd 1E: int2 10 @74172, int3 10 @130972, int2 10 @155996 ReadTOC int3 10 @44295, then Getstat: int2 10 @69303, int3 10 @97351 Done. ``` 10NDX.txt: ``` ===== 10 NDX CD OVERFLOW RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Parameter FIFO overflow with a command, then Reset (1Ch). Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @26722. Getstat: int3 10 @28443. Mode 20. HINTMSK was 1F. 15 zeros then cmd 01: HSTS 10, int5 11 20 @47212 h19 | gs3/10 16 zeros then cmd 01: HSTS 00, int5 11 20 @49899 h19 | gs3/10 17 zeros then cmd 0E: HSTS 10, int5 11 20 @63395 h19 | gs3/10 19 zeros then cmd 02: HSTS 10, int5 11 20 @55049 h19 | gs3/10 31 zeros then cmd 01: HSTS 10, int5 11 20 @82144 h19 | gs3/10 32 zeros then cmd 01: HSTS 18, int3 10 @27685 h19 | gs3/10 33 zeros then cmd 0E: HSTS 10, int3 10 @22452 h19 | gs3/10 35 zeros then cmd 02: HSTS 10, int5 11 80 @27153 h19 | gs3/10 Reset (1Ch) and the Init after it: not run in this table. Mode 00 put back to 20: int3 10 @32181 Done. ``` ### Run 5501a-card-h on 28 September 2026 Raw output: [00RUN.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/00RUN.txt) · [01NDT.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/01NDT.txt) · [02NDS.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/02NDS.txt) · [03ND0.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/03ND0.txt) · [04ND2.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/04ND2.txt) · [05NDI.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/05NDI.txt) · [06NDR.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/06NDR.txt) · [07NDF.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/07NDF.txt) · [08NDN.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/08NDN.txt) · [09NDQ.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/09NDQ.txt) · [10NDX.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/10NDX.txt) · [00RUN.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_reset/00RUN.txt) · [01NDX.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_reset/01NDX.txt) 00RUN.txt: ``` ===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A 10 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 801075D8 DCIC 00000000 BadVaddr 00000480 BDAM 00000000 BPCM 00000000 SR 40000000 Cause 00000020 EPC 8010818C PRId 00000002 ``` 01NDT.txt: ``` ===== 01 NDT CD REPLY TIMES | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Reply times, sixteen each: the cycle of the interrupt/its type, the cycle BUSYSTS cleared. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @23123. Getstat: int3 10 @30549. Mode 20. HINTMSK was 1F. Getstat int: 25029/3 30488/3 24099/3 22799/3 26306/3 24327/3 29870/3 24098/3 23789/3 22490/3 25074/3 23721/3 22490/3 24153/3 19366/3 26859/3 Getstat busy clear: 22949 28478 22020 20792 24297 22324 27863 22090 21780 20483 23067 21712 20483 22146 17356 24847 Getstat HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Getparam int: 26616/3 36755/3 32332/3 32583/3 34902/3 31727/3 32572/3 28651/3 34961/3 37932/3 27042/3 28688/3 31958/3 29865/3 30052/3 30608/3 Getparam busy clear: 24608 34741 30254 30503 32894 29638 30563 26566 32959 35923 25035 26680 29879 27857 28038 28529 Getparam HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Nop 1 param (20h) int: 24096/5 27961/5 22375/5 30422/5 27467/5 28534/5 25518/5 25505/5 27346/5 32512/5 26798/5 35763/5 27117/5 27545/5 23860/5 32523/5 Nop 1 param (20h) busy clear: 22087 25954 20367 28420 25460 26452 23439 23502 25343 30498 24788 33755 25100 25528 21780 30440 Nop 1 param (20h) HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Cmd 1Fh int: 21946/5 18815/5 23367/5 19241/5 26367/5 23297/5 20156/5 19434/5 22440/5 19809/5 19419/5 29757/5 22808/5 19422/5 29746/5 19804/5 Cmd 1Fh busy clear: 19938 16802 21287 17234 24358 21280 18148 17417 20423 17229 17412 27679 20798 17414 27734 17228 Cmd 1Fh HSTS just after write: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Cmd 1Fh 1 param int: 18570/5 29451/5 21012/5 19541/5 29380/5 19729/5 19736/5 29395/5 22810/5 19786/5 29446/5 19739/5 19728/5 29381/5 20653/5 19796/5 Cmd 1Fh 1 param busy clear: 16560 27378 19003 17534 27371 17722 17722 27317 20798 17778 27367 17729 17720 27372 18645 17788 Cmd 1Fh 1 param HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Setloc 00:02:00 int: 37669/5 33135/5 29257/5 29122/5 30910/5 27724/5 27412/5 31464/5 27530/5 26936/5 32461/5 30357/5 31283/5 31030/5 27536/5 30677/5 Setloc 00:02:00 busy clear: 35661 31118 27247 27114 28901 25716 25405 29457 25523 24355 30383 28355 29276 29023 25528 28660 Setloc 00:02:00 HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 21h int: 25499/3 25581/3 25630/3 30169/3 33575/3 26311/3 24949/3 27659/3 34975/3 26980/3 33141/3 22126/3 30302/3 26188/3 22128/3 23910/3 Test 21h busy clear: 23492 23564 23621 28162 30994 24232 22942 25652 32968 24970 30560 20114 28293 24171 20118 21837 Test 21h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 22h int: 33982/3 39271/3 31411/3 30913/3 31032/3 31348/3 36944/3 35341/3 41240/3 35962/3 40124/3 31954/3 34844/3 31725/3 39328/3 47817/3 Test 22h busy clear: 31975 37263 29397 28905 29025 29335 34936 33263 39226 33879 38117 29951 32766 29708 37319 45744 Test 22h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Test 60h 1E0h int: 32143/3 28936/3 33865/3 33135/3 27292/3 36508/3 26734/3 31851/3 30429/3 28518/3 25704/3 29088/3 29865/3 29882/3 28955/3 28398/3 Test 60h 1E0h busy clear: 30136 26933 31851 31118 25275 34491 24726 29773 28420 26510 23690 26512 27857 27804 26876 26388 Test 60h 1E0h HSTS just after write: 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91 Done. ``` 02NDS.txt: ``` ===== 02 NDS CD TEST SUBFUNCS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Test 19h, the sub-functions that only read. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @27682. Getstat: int3 10 @30549. Mode 20. HINTMSK was 1F. T20: int3 97 01 10 C2 @26660 T21: int3 03 @27393 T22: int3 66 6F 72 20 55 2F 43 @31597 T23: int3 43 58 44 32 35 34 35 51 @46983 T24: int3 43 58 44 32 35 34 35 51 @41536 T25: int3 43 58 44 31 38 31 35 51 @40915 T26: int5 11 10 @24496 T27: int5 11 10 @28258 T28: int5 11 10 @25263 T29: int5 11 10 @24595 T2A: int5 11 10 @24081 T2B: int5 11 10 @26176 T2C: int5 11 10 @28976 T2D: int5 11 10 @41008 T2E: int5 11 10 @41400 T2F: int5 11 10 @41059 T20 with 2 params: int5 11 20 @41117 T20 with 4 params: int5 11 20 @40389 T20 with 0 params (01E1h stale 20h): int5 11 20 @33719 T80: int5 11 10 @30499 TF0: int5 11 10 @26205 TFF: int5 11 10 @24942 T60 with 1 param: int5 11 20 @25934 T60 with 2 params: int5 11 20 @30595 T60 with 4 params: int5 11 20 @33526 T61 E0 01: int5 11 10 @30279 T6F E0 01: int5 11 10 @43125 RAM E0 hi 00: int3 FF @32426 RAM E0 hi 01: int3 19 @25413 RAM E1 hi 01: int3 60 @30317 RAM E2 hi 01: int3 E2 @32859 RAM E3 hi 01: int3 01 @27237 RAM E0 hi 02: int3 00 @25408 RAM E0 hi 03: int3 00 @43989 RAM E0 hi 04: int3 FF @29314 RAM E0 hi 05: int3 19 @40923 RAM E0 hi FF: int3 00 @40341 RAM 040: int3 08 @40730 RAM 047: int3 00 @38001 RAM 06C: int3 00 @43749 RAM 06D: int3 01 @43419 RAM 088: int3 03 @45051 RAM 08B: int3 03 @38007 RAM 0BB: int3 20 @43653 RAM 0BC: int3 11 @25032 Ports 00-0F: FF 79 24 FF 11 00 20 20 0C 00 71 00 00 20 20 20 Ports 00-0F: FF 79 24 FF 11 00 20 20 0C 00 71 00 00 20 20 20 Done. ``` 03ND0.txt: ``` ===== 03 ND0 CD CMDS 0 1 PARAMS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Every command 00h-1Fh (not 1Ch) with 0 and 1 parameters (20h). Cycles at 33.8688 MHz. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @24179. Getstat: int3 10 @30503. Mode 20. HINTMSK was 1F. Parameters: 0 00 p0 int5 11 40 @23027 h19 | gs3/10 01 p0 int3 10 @24985 h19 | gs3/10 02 p0 int5 11 20 @24231 h19 | gs3/10 03 p0 int5 11 80 @24854 h19 | gs3/10 04 p0 int5 11 80 @29888 h19 | gs3/10 05 p0 int5 11 80 @27481 h19 | gs3/10 06 p0 int5 11 80 @36960 h19 | gs3/10 07 p0 int5 11 80 @27200 h19 | gs3/10 08 p0 int5 11 80 @38480 h19 | gs3/10 09 p0 int5 11 80 @24140 h19 | gs3/10 0A p0 int3 10 @44397 h19 | int2 10 @69980 | gs3/10 0B p0 int5 11 80 @24384 h19 | gs3/10 0C p0 int5 11 80 @33001 h19 | gs3/10 0D p0 int5 11 20 @21535 h19 | gs3/10 0E p0 int5 11 20 @26095 h19 | gs3/10 0F p0 int3 10 20 00 00 00 @29799 h19 | gs3/10 10 p0 int5 11 80 @28118 h19 | gs3/10 11 p0 int5 11 80 @39622 h19 | gs3/10 12 p0 int5 11 20 @26335 h19 | gs3/10 13 p0 int5 11 80 @24564 h19 | gs3/10 14 p0 int5 11 20 @26335 h19 | gs3/10 15 p0 int5 11 80 @23120 h19 | gs3/10 16 p0 int5 11 80 @35655 h19 | gs3/10 17 p0 int5 11 40 @25135 h19 | gs3/10 18 p0 int5 11 40 @20287 h19 | gs3/10 19 p0 int5 11 20 @23800 h19 | gs3/10 1A p0 int5 11 80 @27150 h19 | gs3/10 1B p0 int5 11 80 @30169 h19 | gs3/10 1D p0 int5 11 20 @26240 h19 | gs3/10 1E p0 int3 10 @52744 h19 | int2 10 @78328 | gs3/10 1F p0 int5 11 40 @18941 h19 | gs3/10 Parameters: 1 00 p1 int5 11 40 @17782 h11 | gs5/11 01 p1 int5 11 20 @34937 h19 | gs3/10 02 p1 int5 11 20 @27863 h19 | gs3/10 03 p1 int5 11 80 @29831 h19 | gs3/10 04 p1 int5 11 20 @23846 h19 | gs3/10 05 p1 int5 11 20 @28496 h19 | gs3/10 06 p1 int5 11 20 @28832 h19 | gs3/10 07 p1 int5 11 20 @28626 h19 | gs3/10 08 p1 int5 11 20 @24520 h19 | gs3/10 09 p1 int5 11 20 @22730 h19 | gs3/10 0A p1 int5 11 20 @27920 h19 | gs3/10 0B p1 int5 11 20 @25009 h19 | gs3/10 0C p1 int5 11 20 @23312 h19 | gs3/10 0D p1 int5 11 20 @27872 h19 | gs3/10 0E p1 int3 10 @24188 h19 | gs3/10 0F p1 int5 11 20 @28172 h19 | gs3/10 10 p1 int5 11 20 @28496 h19 | gs3/10 11 p1 int5 11 20 @31026 h19 | gs3/10 12 p1 int5 11 80 @26444 h19 | gs3/10 13 p1 int5 11 20 @30162 h19 | gs3/10 14 p1 int5 11 80 @24450 h19 | gs3/10 15 p1 int5 11 20 @24560 h19 | gs3/10 16 p1 int5 11 20 @25153 h19 | gs3/10 17 p1 int5 11 40 @26039 h11 | gs5/11 18 p1 int5 11 40 @18018 h11 | gs3/10 19 p1 int3 97 01 10 C2 @32060 h19 | gs3/10 1A p1 int5 11 20 @25773 h19 | gs3/10 1B p1 int5 11 20 @28496 h19 | gs3/10 1D p1 int5 11 20 @23166 h19 | gs3/10 1E p1 int5 11 20 @25388 h19 | gs3/10 1F p1 int5 11 40 @24930 h11 | gs3/10 Done. ``` 04ND2.txt: ``` ===== 04 ND2 CD CMDS 2 3 PARAMS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Every command 00h-1Fh (not 1Ch) with 2 and 3 parameters (20h 00h 00h). Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @22211. Getstat: int3 10 @29013. Mode 20. HINTMSK was 1F. Parameters: 2 00 p2 int5 11 40 @32566 h11 | gs5/11 01 p2 int5 11 20 @24459 h19 | gs3/10 02 p2 int5 11 20 @31674 h19 | gs3/10 03 p2 int5 11 20 @30021 h19 | gs3/10 04 p2 int5 11 20 @30260 h19 | gs3/10 05 p2 int5 11 20 @26109 h19 | gs3/10 06 p2 int5 11 20 @25083 h19 | gs3/10 07 p2 int5 11 20 @30260 h19 | gs3/10 08 p2 int5 11 20 @32468 h19 | gs3/10 09 p2 int5 11 20 @29085 h19 | gs3/10 0A p2 int5 11 20 @29636 h19 | gs3/10 0B p2 int5 11 20 @26084 h19 | gs3/10 0C p2 int5 11 20 @26290 h19 | gs3/10 0D p2 int5 11 80 @30702 h19 | gs3/10 0E p2 int5 11 20 @25422 h19 | gs3/10 0F p2 int5 11 20 @26247 h19 | gs3/10 10 p2 int5 11 20 @32085 h19 | gs3/10 11 p2 int5 11 20 @24452 h19 | gs3/10 12 p2 int5 11 20 @38949 h19 | gs3/10 13 p2 int5 11 20 @27789 h19 | gs3/10 14 p2 int5 11 20 @31125 h19 | gs3/10 15 p2 int5 11 20 @29886 h19 | gs3/10 16 p2 int5 11 20 @29278 h19 | gs3/10 17 p2 int5 11 40 @24740 h11 | gs5/11 18 p2 int5 11 40 @24644 h11 | gs3/10 19 p2 int5 11 20 @28215 h19 | gs3/10 1A p2 int5 11 20 @29829 h19 | gs3/10 1B p2 int5 11 20 @25557 h19 | gs3/10 1D p2 int5 11 80 @33621 h19 | gs3/10 1E p2 int5 11 20 @33454 h19 | gs3/10 1F p2 int5 11 40 @28926 h11 | gs5/11 Parameters: 3 00 p3 int5 11 40 @27385 h11 | gs5/11 01 p3 int5 11 20 @27878 h19 | gs3/10 02 p3 int5 11 80 @41641 h19 | gs3/10 03 p3 int5 11 20 @31800 h19 | gs3/10 04 p3 int5 11 20 @30429 h19 | gs3/10 05 p3 int5 11 20 @27913 h19 | gs3/10 06 p3 int5 11 20 @31465 h19 | gs3/10 07 p3 int5 11 20 @28070 h19 | gs3/10 08 p3 int5 11 20 @41784 h19 | gs3/10 09 p3 int5 11 20 @26520 h19 | gs3/10 0A p3 int5 11 20 @28269 h19 | gs3/10 0B p3 int5 11 20 @25656 h19 | gs3/10 0C p3 int5 11 20 @27007 h19 | gs3/10 0D p3 int5 11 20 @32377 h19 | gs3/10 0E p3 int5 11 20 @28786 h19 | gs3/10 0F p3 int5 11 20 @31512 h19 | gs3/10 10 p3 int5 11 20 @33864 h19 | gs3/10 11 p3 int5 11 20 @30619 h19 | gs3/10 12 p3 int5 11 20 @30265 h19 | gs3/10 13 p3 int5 11 20 @32568 h19 | gs3/10 14 p3 int5 11 20 @28558 h19 | gs3/10 15 p3 int5 11 20 @33727 h19 | gs3/10 16 p3 int5 11 20 @27055 h19 | gs3/10 17 p3 int5 11 40 @26856 h11 | gs5/11 18 p3 int5 11 40 @22794 h11 | gs3/10 19 p3 int5 11 20 @28152 h19 | gs3/10 1A p3 int5 11 20 @31663 h19 | gs3/10 1B p3 int5 11 20 @34450 h19 | gs3/10 1D p3 int5 11 20 @32521 h19 | gs3/10 1E p3 int5 11 20 @31656 h19 | gs3/10 1F p3 int5 11 40 @20290 h11 | gs3/10 Done. ``` 05NDI.txt: ``` ===== 05 NDI CD INVALID CMDS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Command bytes 20h-FFh (not 50h-5Fh), with 0 and 2 parameters. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @30419. Getstat: int3 10 @28443. Mode 20. HINTMSK was 1F. 20 p0 int5 11 40 @28626 h19 | gs3/10 20 p2 int5 11 40 @25218 h11 | gs5/11 21 p0 int5 11 40 @34594 h19 | gs3/10 21 p2 int5 11 40 @19955 h11 | gs3/10 2F p0 int5 11 40 @34302 h19 | gs3/10 2F p2 int5 11 40 @24935 h11 | gs5/11 30 p0 int5 11 40 @22368 h19 | gs3/10 30 p2 int5 11 40 @32771 h11 | gs3/10 3F p0 int5 11 40 @24937 h19 | gs3/10 3F p2 int5 11 40 @23081 h11 | gs3/10 40 p0 int5 11 40 @24896 h19 | gs3/10 40 p2 int5 11 40 @19949 h11 | gs5/11 4F p0 int5 11 40 @21970 h19 | gs3/10 4F p2 int5 11 40 @24851 h11 | gs5/11 60 p0 int5 11 40 @20477 h19 | gs3/10 60 p2 int5 11 40 @29202 h11 | gs5/11 6F p0 int5 11 40 @21308 h19 | gs3/10 6F p2 int5 11 40 @27299 h11 | gs5/11 70 p0 int5 11 40 @24702 h19 | gs3/10 70 p2 int5 11 40 @23851 h11 | gs3/10 7F p0 int5 11 40 @27390 h19 | gs3/10 7F p2 int5 11 40 @26995 h11 | gs3/10 80 p0 int5 11 40 @18087 h19 | gs3/10 80 p2 int5 11 40 @25225 h11 | gs5/11 8F p0 int5 11 40 @24750 h19 | gs3/10 8F p2 int5 11 40 @25602 h11 | gs5/11 90 p0 int5 11 40 @26736 h19 | gs3/10 90 p2 int5 11 40 @20291 h11 | gs5/11 9F p0 int5 11 40 @21104 h19 | gs3/10 9F p2 int5 11 40 @21835 h11 | gs3/10 A0 p0 int5 11 40 @20382 h19 | gs3/10 A0 p2 int5 11 40 @27570 h11 | gs5/11 AF p0 int5 11 40 @27149 h19 | gs3/10 AF p2 int5 11 40 @22217 h11 | gs3/10 B0 p0 int5 11 40 @26958 h19 | gs3/10 B0 p2 int5 11 40 @18642 h11 | gs5/11 C0 p0 int5 11 40 @30620 h19 | gs3/10 C0 p2 int5 11 40 @24890 h11 | gs5/11 CF p0 int5 11 40 @20478 h19 | gs3/10 CF p2 int5 11 40 @21113 h11 | gs3/10 D0 p0 int5 11 40 @27199 h19 | gs3/10 D0 p2 int5 11 40 @23739 h11 | gs5/11 E0 p0 int5 11 40 @24702 h19 | gs3/10 E0 p2 int5 11 40 @21783 h11 | gs3/10 EF p0 int5 11 40 @27246 h19 | gs3/10 EF p2 int5 11 40 @24882 h11 | gs3/10 F0 p0 int5 11 40 @24240 h19 | gs3/10 F0 p2 int5 11 40 @24939 h11 | gs3/10 FE p0 int5 11 40 @18558 h19 | gs3/10 FE p2 int5 11 40 @19899 h11 | gs5/11 FF p0 int5 11 40 @21308 h19 | gs3/10 FF p2 int5 11 40 @27673 h11 | gs5/11 Done. ``` 06NDR.txt: ``` ===== 06 NDR CD REGISTERS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Registers at every index, HINTMSK, partial acknowledges, BFRD, BFWR, SMEN. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @27827. Getstat: int3 10 @28827. Mode 20. HINTMSK was 1F. Index write -> HSTS: 00:18 01:19 02:1A 03:1B 04:18 07:1B FC:18 FF:1B After Getstat (acked): int3 10 @27287 Bank 0: 1800 18, 1803 E0 E0, 1800 again 18 Bank 1: 1800 19, 1803 E0 E0, 1800 again 19 Bank 2: 1800 1A, 1803 E0 E0, 1800 again 1A Bank 3: 1800 1B, 1803 E0 E0, 1800 again 1B Bank 0: 1801 00 00 00 00, 1802 00 00 Bank 1: 1801 00 00 00 00, 1802 00 00 Bank 2: 1801 00 00 00 00, 1802 00 00 Bank 3: 1801 00 00 00 10, 1802 00 00 INT3 pending, 1803 in banks 0-3: E0 E3 E0 E3; HSTS 38 39 3A 3B HINTMSK write -> bank0, bank2, HINTSTS, IRQ: 00:E0,E0,E0,0 01:E1,E1,E0,0 02:E2,E2,E0,0 04:E4,E4,E0,0 08:E8,E8,E0,0 10:F0,F0,E0,0 1F:FF,FF,E0,0 20:E0,E0,E0,0 40:E0,E0,E0,0 80:E0,E0,E0,0 E0:E0,E0,E0,0 FF:FF,FF,E0,0 Getstat: 03, ack 01->02, 02->00, 04->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 04->03, 02->01, 01->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 02->01, 01->00, 04->00; RSLRRDY 1 byte 10; then nothing Getstat: 03, ack 08->03, 10->03, 03->00; RSLRRDY 1 byte 10; then nothing Cmd 1Fh: 05, ack 01->04, 02->04, 04->00; RSLRRDY 1 byte 11; then nothing HSTS before 38, BFRD 78, after 8 reads 78, off 38; BFWR 78, off 38; both 78, off 38 RDDATA with BFRD: 01 80 00 60 00 28 00 1E; HINTSTS after E0 Getstat with HCHPCTL 20, HINTSTS changes: 10@29 13@23776; 20000 later 13; after ack 00 Getstat with HCHPCTL 00, HINTSTS changes: 03@20655; 20000 later 03; after ack 00 Done. ``` 07NDF.txt: ``` ===== 07 NDF CD FIFOS | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 The parameter and response FIFOs. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @28595. Getstat: int3 10 @33195. Mode 20. HINTMSK was 1F. HSTS (bank 0) before parameter write n, n = 0..40: 18 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 18 10 10 10 10 10 10 10 10 After CLRPRM 19; 5 more 10; CLRPRM 19 Getstat, 40 reads (int3), RSLRRDY:byte 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:10 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 Test 22h (7 bytes), 40 reads (int3), RSLRRDY:byte 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:66 1:6F 1:72 1:20 1:55 1:2F 1:43 0:00 Getparam, 2 read, ack 07h, then 8 reads (int3), RSLRRDY:byte 1:00 1:00 1:00 0:00 1:00 1:00 1:00 1:00 Getparam acked before any read, RSLRRDY:byte: 1:10 1:20 1:00 1:00 1:00 0:00 1:00 1:00 Test 22h 3 read, then Getstat, RSLRRDY:byte: 1:10 0:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 1:00 Cmd 1F with 1 param(s), acked without CLRPRM: int5 11 40 @24367 h11; then cmd 19 alone: int3 97 01 10 C2 @34839 h19 Cmd 00 with 1 param(s), acked without CLRPRM: int5 11 40 @18649 h11; then cmd 19 alone: int3 97 01 10 C2 @27520 h19 Cmd 40 with 2 param(s), acked without CLRPRM: int5 11 40 @36459 h11; then cmd 01 alone: int5 11 20 @32367 h19 Cmd 01 with 1 param(s), acked without CLRPRM: int5 11 20 @30377 h19; then cmd 19 alone: int5 11 20 @29875 h19 Done. ``` 08NDN.txt: ``` ===== 08 NDN CD INIT READTOC | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Init and ReadTOC, eight times each, INT3 acknowledged at once. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @41363. Getstat: int3 10 @28443. Mode 20. HINTMSK was 1F. Init: int3 10 @47378 | int2 10 @72914 | gs3/10 Init: int3 10 @45208 | int2 10 @70248 | gs3/10 Init: int3 10 @49128 | int2 10 @74152 | gs3/10 Init: int3 10 @45354 | int2 10 @70394 | gs3/10 Init: int3 10 @45448 | int2 10 @70440 | gs3/10 Init: int3 10 @48790 | int2 10 @73830 | gs3/10 Init: int3 10 @45819 | int2 10 @70811 | gs3/10 Init: int3 10 @44952 | int2 10 @69992 | gs3/10 ReadTOC: int3 10 @47600 | int2 10 @72640 | gs3/10 ReadTOC: int3 10 @52632 | int2 10 @77672 | gs3/10 ReadTOC: int3 10 @46888 | int2 10 @71928 | gs3/10 ReadTOC: int3 10 @46331 | int2 10 @71371 | gs3/10 ReadTOC: int3 10 @46929 | int2 10 @71969 | gs3/10 ReadTOC: int3 10 @52671 | int2 10 @77695 | gs3/10 ReadTOC: int3 10 @44922 | int2 10 @69962 | gs3/10 ReadTOC: int3 10 @49512 | int2 10 @74552 | gs3/10 Getstat: int3 10 @20392 | none | gs3/10 Getstat: int3 10 @22354 | none | gs3/10 Done. ``` 09NDQ.txt: ``` ===== 09 NDQ CD CMD ON CMD | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Commands on top of commands, and INT3 then INT2. Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @23027. Getstat: int3 10 @23543. Mode 20. HINTMSK was 1F. Getparam, 104 later (flags 0) Getstat, HSTS 98: int3 10 @25997 Getparam, 182 later (flags 0) Getstat, HSTS 98: int3 10 @24706 Getparam, 1074 later (flags 0) Getstat, HSTS 98: int3 10 @28479 Getparam, 3086 later (flags 0) Getstat, HSTS 98: int3 10 @24531 Getparam, 6088 later (flags 0) Getstat, HSTS 98: int3 10 @21196 Getparam, 10084 later (flags 0) Getstat, HSTS 98: int3 10 20 00 00 00 @26976 Getparam, 20086 later (flags 0) Getstat, HSTS 98: int3 10 20 00 00 00 @35486 Getparam, 40059 later (flags 3) Getstat, HSTS B8: int3 10 20 00 00 00 @40239, int3 10 @61665 Getstat, 106 later Test 20h, HSTS 90: int3 97 01 10 C2 @30854 Getstat, 1063 later Test 20h, HSTS 90: int3 97 01 10 C2 @26341 Getstat, 6086 later Test 20h, HSTS 90: int3 97 01 10 C2 @38851 Getstat, 20081 later Test 20h, HSTS B0: int3 10 @21447, int5 11 20 @52871 Getparam int3 unacked, cmd 01: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int3 10 @14666 Getparam int3 unacked, cmd 1F: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int5 11 40 @13850 Getparam int3 unacked, cmd 0F: 100000 later HINTSTS 03 HSTS B9, 5 bytes 10 20; after the ack: int3 10 20 00 00 00 @33383 Init int3 @49280 unacked 400000: HINTSTS 03 HSTS 39 1 byte(s) 10; after the ack: int2 10 @5459 Init int3 10 @43190, then: int2 10 @68742 Init int3 10 @47597, then cmd 01: int2 10 @72637, int3 10 @100685 Init int3 10 @52445, then cmd 0A: int2 10 @78012, int3 10 @134828, int2 10 @159852 Init int3 10 @47837, then cmd 0F: int2 10 @72828, int3 10 20 00 00 00 @114076 Init int3 10 @45496, then cmd 1E: int2 10 @71064, int3 10 @123976, int2 10 @149000 ReadTOC int3 10 @48182, then Getstat: int2 10 @73238, int3 10 @101286 Done. ``` 10NDX.txt: ``` ===== 10 NDX CD OVERFLOW RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 00000480 Parameter FIFO overflow with a command, then Reset (1Ch). Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @28259. Getstat: int3 10 @28439. Mode 20. HINTMSK was 1F. 15 zeros then cmd 01: HSTS 10, int5 11 20 @51399 h19 | gs3/10 16 zeros then cmd 01: HSTS 00, int5 11 20 @50233 h19 | gs3/10 17 zeros then cmd 0E: HSTS 10, int5 11 20 @64979 h19 | gs3/10 19 zeros then cmd 02: HSTS 10, int5 11 20 @59745 h19 | gs3/10 31 zeros then cmd 01: HSTS 10, int5 11 20 @80945 h19 | gs3/10 32 zeros then cmd 01: HSTS 18, int3 10 @22636 h19 | gs3/10 33 zeros then cmd 0E: HSTS 10, int3 10 @21203 h19 | gs3/10 35 zeros then cmd 02: HSTS 10, int5 11 80 @30176 h19 | gs3/10 Reset (1Ch) and the Init after it: not run in this table. Mode 00 put back to 20: int3 10 @34495 Done. ``` 00RUN.txt: ``` ===== 00 RUN | BIOS 19951204 System ROM Version 3.0 11/18/96 A 1 tests A chain program, linked at 80100000 Saved on the card in slot 2, from image 1 COP0 at start: BPC 00000000 BDA 80024F50 TAR BFC02BAC DCIC 00000000 BadVaddr 1F801DAA BDAM FFFFFFFF BPCM 00000000 SR 70000000 Cause 00000020 EPC 8002591C PRId 00000002 ``` 01NDX.txt: ``` ===== 01 NDX CD OVERFLOW RESET | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 1F801DAA Parameter FIFO overflow with a command, then Reset (1Ch). Switches (Test 21h, bit1 door open, bit0 head at POS0): int3 03 @31812. Getstat: int3 10 @23497. Mode 20. HINTMSK was 1F. Reset with 0 param(s): int3 10 @19005 h19, 400000 later h19; Getstat: none; Getparam: int3 10 20 00 00 00 @37525 Reset with 2 param(s): int3 10 @22451 h11, 400000 later h11; Getstat: none; Getparam: int5 11 20 @32599 Init after: int3 10 @52543 | int2 10 @77550 | gs3/10 Getstat: int3 10 @23897 Done. ``` ## References [^h]: Hardware test run 20260928T0000Z-5501a-card-h on the SCPH-5501: [cdnodisc_safe output](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_safe/01NDT.txt) and the other files listed under that run. [^reset]: Hardware test run 20260928T0000Z-5501a-card-h on the SCPH-5501: [cdnodisc_reset 01NDX.txt](/tests/raw/20260928T0000Z-5501a-card-h/cdnodisc_reset/01NDX.txt).