mirror of
https://github.com/holub/mame
synced 2025-05-20 20:58:51 +03:00
(chip->rom_readback_addr++ - 1) was confusing. Also added infor on dsp-related regs
This commit is contained in:
parent
e4930bd300
commit
de5f2f7c2f
@ -823,6 +823,13 @@ static void write_to_register(ymz280b_state *chip, int data)
|
|||||||
{
|
{
|
||||||
switch (chip->current_register)
|
switch (chip->current_register)
|
||||||
{
|
{
|
||||||
|
/* DSP related (not implemented yet) */
|
||||||
|
case 0x80: // d0-2: DSP Rch, d3: enable Rch (0: yes, 1: no), d4-6: DSP Lch, d7: enable Lch (0: yes, 1: no)
|
||||||
|
case 0x81: // d0: enable control of $82 (0: yes, 1: no)
|
||||||
|
case 0x82: // DSP data
|
||||||
|
logerror("YMZ280B: DSP register write %02X = %02X\n", chip->current_register, data);
|
||||||
|
break;
|
||||||
|
|
||||||
case 0x84: /* ROM readback / RAM write (high) */
|
case 0x84: /* ROM readback / RAM write (high) */
|
||||||
chip->rom_readback_addr &= 0xffff;
|
chip->rom_readback_addr &= 0xffff;
|
||||||
chip->rom_readback_addr |= (data<<16);
|
chip->rom_readback_addr |= (data<<16);
|
||||||
@ -843,6 +850,7 @@ static void write_to_register(ymz280b_state *chip, int data)
|
|||||||
chip->ext_ram_write(chip->rom_readback_addr, data);
|
chip->ext_ram_write(chip->rom_readback_addr, data);
|
||||||
else
|
else
|
||||||
logerror("YMZ280B attempted RAM write to %X\n", chip->rom_readback_addr);
|
logerror("YMZ280B attempted RAM write to %X\n", chip->rom_readback_addr);
|
||||||
|
chip->rom_readback_addr = (chip->rom_readback_addr + 1) & 0xffffff;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xfe: /* IRQ mask */
|
case 0xfe: /* IRQ mask */
|
||||||
@ -925,7 +933,11 @@ READ8_DEVICE_HANDLER( ymz280b_r )
|
|||||||
ymz280b_state *chip = get_safe_token(device);
|
ymz280b_state *chip = get_safe_token(device);
|
||||||
|
|
||||||
if ((offset & 1) == 0)
|
if ((offset & 1) == 0)
|
||||||
return chip->ext_ram_read(chip->rom_readback_addr++ - 1);
|
{
|
||||||
|
UINT8 read = chip->ext_ram_read.isnull() ? 0 : chip->ext_ram_read(chip->rom_readback_addr);
|
||||||
|
chip->rom_readback_addr = (chip->rom_readback_addr + 1) & 0xffffff;
|
||||||
|
return read;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
return compute_status(chip);
|
return compute_status(chip);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user