From b41958ca0178ae16124080b95d0975a84f32a11e Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Thu, 28 Jan 2021 14:37:29 +1000 Subject: [PATCH] CD-ROM: Clarify behavior when shell is opened Some games rely on the interrupt here, and don't send a stop command before changing discs. --- docs/cdromdrive.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/cdromdrive.md b/docs/cdromdrive.md index e922651..914c6c9 100644 --- a/docs/cdromdrive.md +++ b/docs/cdromdrive.md @@ -757,6 +757,14 @@ as second response byte, with the following values:
when the disk is missing, or when the drive unit is disconnected from the mainboard.
+When the shell is opened, INT5 is triggered regardless of whether a command was +executing or not. When this happens, all bits except shell open and error are cleared +in the status register. The error byte in the INT5 is set to 08h.
+ +Some games send a Stop command before changing discs, but others just wait for the +user to open the shell, causing the disc to stop. The game can then send GetStat commands, +looping until bit 4 is cleared to detect when the new disc has been inserted.
+ #### Stat Seek/Play/Read bits There's is only max ONE of the three Seek/Play/Read bits set at a time, ie. during Seek, ONLY the seek bit is set (and Read or Play doesn't get until seek