mirror of
https://github.com/holub/mame
synced 2025-04-21 16:01:56 +03:00
machine/8364_paula.cpp: assume max size if audlen == 0, fixes missing sound in videokid and wrestlmn
This commit is contained in:
parent
00544c23ca
commit
f43f4b0696
@ -53998,9 +53998,9 @@ ATK test: OK
|
||||
<publisher>Gremlin Graphics</publisher>
|
||||
<notes><![CDATA[
|
||||
Red screen, [FDC] dsksync (fixed)
|
||||
No [Paula] sound
|
||||
No [Paula] sound (fixed)
|
||||
[Denise] sprites flickers when hitting the bottom edge
|
||||
Status bar don't draw score/lives text [Denise]
|
||||
Status bar don't draw score/lives text [Denise] or [Copper]
|
||||
Stage 2 (Wild West) draws black background [Copper]
|
||||
https://codetapper.com/amiga/sprite-tricks/videokid/
|
||||
ATK test: failed
|
||||
@ -56402,11 +56402,13 @@ ATK test: failed
|
||||
<publisher>Ocean</publisher>
|
||||
<notes><![CDATA[
|
||||
White screen [FDC] dsksync (fixed)
|
||||
No [Paula] sounds
|
||||
No [Paula] sounds (fixed)
|
||||
Gameplay doesn't draw left-right ropes [Copper] sprites
|
||||
https://codetapper.com/amiga/sprite-tricks/wwf-wrestlemania/
|
||||
ATK test: failed
|
||||
]]></notes>
|
||||
<info name="usage" value="Dislikes mouse connected in any port for practice mode (wants joystick)" />
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 1" />
|
||||
<dataarea name="flop" size="851712">
|
||||
@ -56432,6 +56434,8 @@ ATK test: failed
|
||||
Pink screen [FDC] dsksync (fixed)
|
||||
ATK test: failed
|
||||
]]></notes>
|
||||
<info name="usage" value="Dislikes mouse connected in any port for practice mode (versus)" />
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 1" />
|
||||
<dataarea name="flop" size="852144">
|
||||
|
@ -207,8 +207,9 @@ TIMER_CALLBACK_MEMBER( paula_8364_device::signal_irq )
|
||||
void paula_8364_device::dma_reload(audio_channel *chan, bool startup)
|
||||
{
|
||||
chan->curlocation = chan->loc;
|
||||
// TODO: how to treat length == 0?
|
||||
chan->curlength = chan->len;
|
||||
// TODO: Unconfirmed, assume max size if length is 0.
|
||||
// cfr. wrestlmn and videokid, where they pratically never get even close to buffer exhaustion.
|
||||
chan->curlength = chan->len == 0 ? 0x10000 : chan->len;
|
||||
// TODO: on startup=false irq should be delayed two cycles
|
||||
if (startup)
|
||||
chan->irq_timer->adjust(attotime::from_hz(15750), chan->index); // clock() / 227
|
||||
|
@ -86,7 +86,7 @@ private:
|
||||
{
|
||||
emu_timer *irq_timer;
|
||||
uint32_t curlocation;
|
||||
uint16_t curlength;
|
||||
uint32_t curlength;
|
||||
uint16_t curticks;
|
||||
uint8_t index;
|
||||
bool dma_enabled;
|
||||
|
Loading…
Reference in New Issue
Block a user