diff options
| author | 2025-10-29 10:17:09 +0100 | |
|---|---|---|
| committer | 2025-10-29 10:18:00 +0100 | |
| commit | 8df6a1878230bb72ff100228a9e5666196068337 (patch) | |
| tree | 951b1a5fe756a3aa6943ce5b235a011f68580a8e | |
| parent | d4da8ffff0179f1a739078128f6906d1c075b355 (diff) | |
bus/nscsi/pc8801_30.cpp: fix set audio start position mode 0x80
Software list items promoted to working
---------------------------------------
pc8801_cdrom: CD Takarabako, Mirrors [Angelo Salese]
| -rw-r--r-- | hash/pc8801_cdrom.xml | 20 | ||||
| -rw-r--r-- | src/devices/bus/nscsi/pc8801_30.cpp | 6 |
2 files changed, 18 insertions, 8 deletions
diff --git a/hash/pc8801_cdrom.xml b/hash/pc8801_cdrom.xml index 55d3722f0bc..24cc5f8f9c5 100644 --- a/hash/pc8801_cdrom.xml +++ b/hash/pc8801_cdrom.xml @@ -14,14 +14,15 @@ TODO: --> - <software name="takabako" supported="no"> + <software name="takabako" supported="partial"> <description>CD Takarabako</description> <year>1989</year> <publisher>NEC</publisher> <notes><![CDATA[ -Several items quickly returns back to main menu +Game transfers not extensively tested ]]></notes> <info name="alt_title" value="CDたから箱"/> + <info name="usage" value="Insert empty 2D images for game disk to save (i.e. 2HD won't work)"/> <sharedfeat name="mouseport_default" value="mouse" /> <part name="cdrom" interface="cdrom"> @@ -32,14 +33,15 @@ Several items quickly returns back to main menu </part> </software> - <software name="takabakoa" cloneof="takabako" supported="no"> + <software name="takabakoa" cloneof="takabako" supported="partial"> <description>CD Takarabako (alt)</description> <year>1989</year> <publisher>NEC</publisher> <notes><![CDATA[ -Several items quickly returns back to main menu +Game transfers not extensively tested ]]></notes> <info name="alt_title" value="CDたから箱"/> + <info name="usage" value="Insert empty 2D images for game disk to save (i.e. 2HD won't work)"/> <sharedfeat name="mouseport_default" value="mouse" /> <part name="cdrom" interface="cdrom"> @@ -77,17 +79,18 @@ Known to have [FDC] copy protection for user disk creation (the .d88 dump won't </part> </software> - <software name="mirrors" supported="no"> + <software name="mirrors" supported="partial"> <description>Mirrors</description> <year>1990</year> <publisher>ソフトスタジオWING (Soft Studio Wing)</publisher> <notes><![CDATA[ Not extensively tested Bogus [redbook] during intro with track 5 while fade-out without waiting enough (btanb?) +[redbook] 2 seconds offset on title screen ]]></notes> <info name="release" value="19901210"/> <info name="alt_title" value="ミラーズ"/> - <info name="usage" value="Works on PC8801MC only (needs CD-ROM support) or in MA+ with specific EXP i/f"/> + <info name="usage" value="Select second option, insert Save Disk first then Main and Game Disks to quickly test (no save)"/> <part name="flop1" interface="floppy_5_25"> <feature name="part_id" value="Main Disk" /> @@ -117,16 +120,17 @@ Bogus [redbook] during intro with track 5 while fade-out without waiting enough </part> </software> - <software name="mirrorsa" cloneof="mirrors" supported="no"> + <software name="mirrorsa" cloneof="mirrors" supported="partial"> <description>Mirrors (alt)</description> <year>1990</year> <publisher>ソフトスタジオWING (Soft Studio Wing)</publisher> <notes><![CDATA[ Not extensively tested +Same as mirrors set ]]></notes> <info name="release" value="19901210"/> <info name="alt_title" value="ミラーズ"/> - <info name="usage" value="Works on PC8801MC only (needs CD-ROM support) or in MA+ with specific EXP i/f"/> + <info name="usage" value="Select second option, insert Save Disk first then Main and Game Disks to quickly test (no save)"/> <!--combined image--> <!--rom name="mirrors.d88" size="1250128" crc="6534e06f" sha1="d704a29480c476b50638e7c7ac28fcd5f91fa376"/--> diff --git a/src/devices/bus/nscsi/pc8801_30.cpp b/src/devices/bus/nscsi/pc8801_30.cpp index c4930597f1d..4ae6f3a29c4 100644 --- a/src/devices/bus/nscsi/pc8801_30.cpp +++ b/src/devices/bus/nscsi/pc8801_30.cpp @@ -135,6 +135,12 @@ void nscsi_cdrom_pc8801_30_device::nec_set_audio_start_position() const u32 pregap = toc.tracks[image->get_track(track_number - 1)].pregap; LOGCMD("TRACK=%d (pregap = %d)\n", track_number, pregap); frame = toc.tracks[ track_number - 1 ].logframeofs; + + // tested in takabako item #2 (no end position command issued) + const u8 last_track = image->get_last_track() - 1; + m_last_frame = image->get_track_start(last_track); + m_last_frame += toc.tracks[last_track].frames; + m_end_frame = m_last_frame; // Not right for emeraldd, breaks intro lip sync //frame -= std::max(pregap, (u32)150); break; |
