srcclean, fix up apple2_flop_clcracked.xml (nw)

This commit is contained in:
Vas Crabb 2019-04-21 10:41:05 +10:00
parent ec1a4cf4a0
commit 27216fc1d1
44 changed files with 1285 additions and 1295 deletions

File diff suppressed because it is too large Load Diff

View File

@ -164,9 +164,9 @@
</dataarea>
</part>
</software>
<!-- the Spanish carts do not have a part number on the cartridge, PCB or box -->
<!--
1. "Cuéntame Al Oído" La Oreja De Van Gogh
2. "La Última Noche" Luis Miguel
@ -188,7 +188,7 @@
<rom name="spainvol1.bin" size="0x100000" crc="b90366cc" sha1="f6bab71fc8cb420728ffa721d7c12767719099e5" offset="0" />
</dataarea>
</part>
</software>
</software>
<!--
1. "Héroe" Enrique Iglesias
@ -211,6 +211,6 @@
<rom name="spainvol2.bin" size="0x100000" crc="a60f7b30" sha1="7c7736e692b9f4ce838dc064e214322aa3ae0e6a" offset="0" />
</dataarea>
</part>
</software>
</software>
</softwarelist>

View File

@ -8766,7 +8766,7 @@
</dataarea>
</part>
</software>
<software name="corncob">
<description>Corncob Deluxe</description>
<year>1992</year>
@ -9571,7 +9571,7 @@
</dataarea>
</part>
</software>
<software name="kyrandia">
<description>Fables &amp; Fiends - The Legend of Kyrandia Book One</description>
<year>1992</year>
@ -10900,7 +10900,7 @@
</dataarea>
</part>
</software>
<software name="msroa">
<description>Microsoft Return of Arcade</description>
<year>1996</year>

View File

@ -5,32 +5,32 @@
Cartridges supported
Piano Favourites (J7522)
Dora the Explorer Musical Adventure (J7523)
Jungle Boogie (J7524)
Scooby-Doo! Monster Mayhem (J7525)
Barbie Princess Enchanted Sounds (J7526)
Nicktoons Show Tunes (J7527)
Holiday Wonderland (J7528)
Rockin' Dance Party (J8715)
Pop Hits (K0653)
Jammin Jungle Safari (Disney The Lion King, Disney The Jungle Book, Disney Tarzan) (K4653)
Dora the Explorer Musical Adventure (J7523)
Jungle Boogie (J7524)
Scooby-Doo! Monster Mayhem (J7525)
Barbie Princess Enchanted Sounds (J7526)
Nicktoons Show Tunes (J7527)
Holiday Wonderland (J7528)
Rockin' Dance Party (J8715)
Pop Hits (K0653)
Jammin Jungle Safari (Disney The Lion King, Disney The Jungle Book, Disney Tarzan) (K4653)
The Wizard of Oz - We're Off to Play the Piano (K4654)
American Idol - Take The Stage (K4655)
Disney Princess Magical Melodies (K4656)
Disney Princess Magical Melodies (K4656)
*NOT DUMPED*
The system was also released as "Aprende A Tocar Piano" for Spanish (South American?) markets
with at least 3 carts having full Spanish labels and ingame presentation
Piezas De Piano Populares (J9939) - Piano Favourites
Dora Aventura Musical (J9947) - Dora the Explorer Musical Adventure
Ritmos de la Selva (J9948) - Jungle Boogie
*NOT DUMPED*
The system was also released as "Aprende A Tocar Piano" for Spanish (South American?) markets
with at least 3 carts having full Spanish labels and ingame presentation
Piezas De Piano Populares (J9939) - Piano Favourites
Dora Aventura Musical (J9947) - Dora the Explorer Musical Adventure
Ritmos de la Selva (J9948) - Jungle Boogie
@ -106,7 +106,7 @@
</dataarea>
</part>
</software>
<software name="barbie">
<description>Barbie Princess Enchanted Sounds (J7526)</description>
<year>2005</year>
@ -117,7 +117,7 @@
</dataarea>
</part>
</software>
<software name="showtune">
<description>Nicktoons Show Tunes (J7527)</description>
<year>2005</year>
@ -127,8 +127,8 @@
<rom name="icppshowtunes.bin" size="0x800000" crc="c95836fd" sha1="c07b500f241fc6b3a3302b580794bb2eb86977c7" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="holidaywl">
<description>Holiday Wonderland (J7528)</description>
<year>2005</year>
@ -139,7 +139,7 @@
</dataarea>
</part>
</software>
<software name="rdp">
<description>Rockin' Dance Party (J8715)</description>
<year>2005</year>
@ -149,8 +149,8 @@
<rom name="icpprockindanceparty.bin" size="0x800000" crc="00d597d3" sha1="603c8d9d11f5e1d075a1b524e99b581d859b43ba" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="pophits">
<description>Pop Hits (K0653)</description>
<year>2005</year>
@ -160,8 +160,8 @@
<rom name="icpppophits.bin" size="0x800000" crc="c15ccdad" sha1="f4a058c83b1a90a1c8c5cfa766429330ce34409d" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="jjs">
<description>Jammin' Jungle Safari (Disney's The Lion King, Jungle Book, Tarzan) (K4653)</description> <!-- Tarzan is shown on the cart, but none of the songs are from it? -->
<year>2005</year>
@ -171,8 +171,8 @@
<rom name="icppjamminjunglesafari.bin" size="0x800000" crc="6408abb6" sha1="9c9c050e919222a80369d2a116a85db6cc4d7acb" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="wizardoz">
<description>The Wizard of Oz - We're Off to Play the Piano (K4654)</description>
<year>2005</year>
@ -182,8 +182,8 @@
<rom name="icppwizardofoz.bin" size="0x800000" crc="4c004177" sha1="415463532e760542cacdc833ed1d201df70e18d3" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="aitts">
<description>American Idol Take the Stage (K4655)</description>
<year>2005</year>
@ -193,7 +193,7 @@
<rom name="icppamericanidoltakethestage.bin" size="0x800000" crc="908a965d" sha1="9faca7bb85ca395e2f8cd444884f0a74ce22d151" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="dpmagic">
<description>Disney Princess Magical Melodies (K4656)</description>

View File

@ -341,7 +341,7 @@
</dataarea>
</part>
<part name="flop3" interface="floppy_3"><!-- 2 Locoscript files only: read.me and contents.doc -->
<part name="flop3" interface="floppy_3"><!-- 2 Locoscript files only: read.me and contents.doc -->
<dataarea name="flop" size="195584"><!-- Dump has excess tracks that will not fit a real SD floppy -->
<rom name="loco3upgradec.dsk" size="195584" crc="acbb82a2" sha1="09f1e2f9afb202bc929db263dcff80287236d680" offset="0" status="baddump" />
</dataarea>

View File

@ -2,7 +2,7 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
Known cartridges
Known cartridges
Dumped|Name |Notes
______|___________|______
@ -26,7 +26,7 @@ ______|___________|______
</dataarea>
</part>
</software>
<software name="tennis" supported="no">
<description>Tennis</description>
<year>2005</year>
@ -37,7 +37,7 @@ ______|___________|______
</dataarea>
</part>
</software>
<software name="whacmole" supported="no">
<description>Whac-A-Mole</description>
<year>2005</year>
@ -47,6 +47,6 @@ ______|___________|______
<rom name="whac-a-mole.bin" size="0x400000" crc="62625c62" sha1="846045308e242aff347f93fab1e9b2e8ef46386f" offset="0" />
</dataarea>
</part>
</software>
</software>
</softwarelist>

View File

@ -1977,7 +1977,7 @@ void mips3_device::handle_cop1_fr0(uint32_t op)
if (IS_SINGLE(op)) { /* DIV.S */
if (FTVALW_FR0 == 0 && (COP1_FCR31 & (1 << (FCR31_ENABLE + FPE_DIV0)))) {
COP1_FCR31 |= (1 << (FCR31_FLAGS + FPE_DIV0)); // Set flag
COP1_FCR31 |= (1 << (FCR31_CAUSE + FPE_DIV0)); // Set cause
COP1_FCR31 |= (1 << (FCR31_CAUSE + FPE_DIV0)); // Set cause
generate_exception(EXCEPTION_FPE, 1);
//machine().debug_break();
}
@ -1988,7 +1988,7 @@ void mips3_device::handle_cop1_fr0(uint32_t op)
else { /* DIV.D */
if (FTVALL_FR0 == 0ull && (COP1_FCR31 & (1 << (FCR31_ENABLE + FPE_DIV0)))) {
COP1_FCR31 |= (1 << (FCR31_FLAGS + FPE_DIV0)); // Set flag
COP1_FCR31 |= (1 << (FCR31_CAUSE + FPE_DIV0)); // Set cause
COP1_FCR31 |= (1 << (FCR31_CAUSE + FPE_DIV0)); // Set cause
generate_exception(EXCEPTION_FPE, 1);
//machine().debug_break();
}

View File

@ -161,10 +161,10 @@
#define EXCEPTION_TLBSTORE_FILL 17
#define EXCEPTION_COUNT 18
#define FCR31_FLAGS 2 // FLAGS start bit
#define FCR31_ENABLE 7 // Enable start bit
#define FCR31_CAUSE 12 // Cause start bit
#define FPE_DIV0 3 // Divide by zero bit index
#define FCR31_FLAGS 2 // FLAGS start bit
#define FCR31_ENABLE 7 // Enable start bit
#define FCR31_CAUSE 12 // Cause start bit
#define FPE_DIV0 3 // Divide by zero bit index
/***************************************************************************

View File

@ -81,7 +81,7 @@ private:
const uint8_t * m_master_password;
const uint8_t * m_user_password;
// DMA data transfer time for 1 sector
attotime m_dma_transfer_time;
attotime m_dma_transfer_time;
};
// ======================> ide_hdd_device

View File

@ -57,12 +57,12 @@ void spg110_device::configure_spg_io(spg2xx_io_device* io)
io->adc_in<0>().set(FUNC(spg110_device::adc_r<0>));
io->adc_in<1>().set(FUNC(spg110_device::adc_r<1>));
io->chip_select().set(FUNC(spg110_device::cs_w));
// io->pal_read_callback().set(FUNC(spg110_device::get_pal_r));
// io->write_timer_irq_callback().set(FUNC(spg110_device::timerirq_w));
// io->write_uart_adc_irq_callback().set(FUNC(spg110_device::uartirq_w));
// io->write_external_irq_callback().set(FUNC(spg110_device::extirq_w));
// io->write_ffrq_tmr1_irq_callback().set(FUNC(spg110_device::ffreq1_w));
// io->write_ffrq_tmr2_irq_callback().set(FUNC(spg110_device::ffreq2_w));
// io->pal_read_callback().set(FUNC(spg110_device::get_pal_r));
// io->write_timer_irq_callback().set(FUNC(spg110_device::timerirq_w));
// io->write_uart_adc_irq_callback().set(FUNC(spg110_device::uartirq_w));
// io->write_external_irq_callback().set(FUNC(spg110_device::extirq_w));
// io->write_ffrq_tmr1_irq_callback().set(FUNC(spg110_device::ffreq1_w));
// io->write_ffrq_tmr2_irq_callback().set(FUNC(spg110_device::ffreq2_w));
}
READ16_MEMBER(spg110_device::space_r)

View File

@ -36,7 +36,7 @@ public:
auto porta_in() { return m_porta_in.bind(); }
auto portb_in() { return m_portb_in.bind(); }
auto portc_in() { return m_portc_in.bind(); }
template <size_t Line> auto adc_in() { return m_adc_in[Line].bind(); }
auto chip_select() { return m_chip_sel.bind(); }

View File

@ -114,10 +114,10 @@ void spg110_video_device::draw_page(const rectangle &cliprect, uint32_t scanline
return;
}
// if (((attr & PAGE_PRIORITY_FLAG_MASK) >> PAGE_PRIORITY_FLAG_SHIFT) != priority)
// {
// return;
// }
// if (((attr & PAGE_PRIORITY_FLAG_MASK) >> PAGE_PRIORITY_FLAG_SHIFT) != priority)
// {
// return;
// }
uint8_t bpp = attr & 0x03;
@ -197,11 +197,11 @@ void spg110_video_device::draw_sprite(const rectangle &cliprect, uint32_t scanli
const uint32_t h = 8 << ((attr2 & PAGE_TILE_HEIGHT_MASK) >> PAGE_TILE_HEIGHT_SHIFT);
const uint32_t w = 8 << ((attr2 & PAGE_TILE_WIDTH_MASK) >> PAGE_TILE_WIDTH_SHIFT);
// if (!(m_video_regs[0x42] & SPRITE_COORD_TL_MASK))
// {
// x = (160 + x) - w / 2;
// y = (120 - y) - (h / 2) + 8;
// }
// if (!(m_video_regs[0x42] & SPRITE_COORD_TL_MASK))
// {
// x = (160 + x) - w / 2;
// y = (120 - y) - (h / 2) + 8;
// }
y = 0x1ff - y - 128 + 1;
x = x - 128 + 32;
@ -242,7 +242,7 @@ void spg110_video_device::draw_sprites(const rectangle &cliprect, uint32_t scanl
{
//if (!(m_video_regs[0x42] & SPRITE_ENABLE_MASK))
//{
// return;
// return;
//}
for (uint32_t n = 0; n < 256; n++)
@ -663,4 +663,4 @@ WRITE_LINE_MEMBER(spg110_video_device::vblank)
void spg110_video_device::check_video_irq()
{
m_video_irq_cb((m_video_irq_status & m_video_irq_enable) ? ASSERT_LINE : CLEAR_LINE);
}
}

View File

@ -4,13 +4,13 @@
SunPlus SPG2xx-series SoC peripheral emulation (Audio)
This is also used for SPG110, although that should be limited to
just 8 channels and has some things shifted around (phase appears
to be in the regular register set instead, formats might be fixed
or at least not per-channel)
This is also used for SPG110, although that should be limited to
just 8 channels and has some things shifted around (phase appears
to be in the regular register set instead, formats might be fixed
or at least not per-channel)
SPG110 Beat interrupt frequency might be different too, seems to
trigger an FIQ, but music is very slow in jak_spdmo
SPG110 Beat interrupt frequency might be different too, seems to
trigger an FIQ, but music is very slow in jak_spdmo
**********************************************************************/

View File

@ -276,7 +276,7 @@ READ16_MEMBER(spg2xx_io_device::io_r)
val = m_cpu->get_ds();
LOGMASKED(LOG_SEGMENT, "io_r: Data Segment = %04x\n", val);
break;
default:
LOGMASKED(LOG_UNKNOWN_IO, "io_r: Unknown register %04x\n", 0x3d00 + offset);
break;
@ -1221,7 +1221,7 @@ void spg2xx_io_device::check_irqs(const uint16_t changed)
if (changed & 0x0070) // 1024Hz, 2048Hz, 4096Hz IRQ
{
LOGMASKED(LOG_TIMERS, "%ssserting IRQ6 (%04x, %04x)\n", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0070) ? "A" : "Dea", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0070), changed); //m_cpu->set_state_unsynced(UNSP_IRQ6_LINE, (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0070) ? ASSERT_LINE : CLEAR_LINE);
LOGMASKED(LOG_TIMERS, "%ssserting IRQ6 (%04x, %04x)\n", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0070) ? "A" : "Dea", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0070), changed); //m_cpu->set_state_unsynced(UNSP_IRQ6_LINE, (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0070) ? ASSERT_LINE : CLEAR_LINE);
m_ffreq_tmr1_irq_cb((IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0070) ? ASSERT_LINE : CLEAR_LINE);
}

View File

@ -36,7 +36,7 @@ public:
DECLARE_READ16_MEMBER(io_r);
DECLARE_WRITE16_MEMBER(io_w);
virtual DECLARE_READ16_MEMBER(io_extended_r);
virtual DECLARE_WRITE16_MEMBER(io_extended_w);

View File

@ -27,7 +27,7 @@ public:
auto sprlimit_read_callback() { return m_sprlimit_read_cb.bind(); };
auto rowscrolloffset_read_callback() { return m_rowscrolloffset_read_cb.bind(); };
auto write_video_irq_callback() { return m_video_irq_cb.bind(); };
protected:

View File

@ -41,7 +41,7 @@ private:
u32 m_table_adr;
u16 m_prg_adr;
u16 m_status;
// Table ram access
void table_adrh_w(u16 data);
void table_adrl_w(u16 data);

View File

@ -67,7 +67,7 @@ void meg_base_device::lfo_w(u8 reg, u16 value)
void meg_base_device::map_w(u8 reg, u16 value)
{
m_map[reg] = value;
logerror("map %d: start = %06x size = %06x extra = %x\n", reg, (value & 0xff) << 10, 1 << (10 + ((value & 0x0700) >> 8)), (value & 0xf800) >> 11);
logerror("map %d: start = %06x size = %06x extra = %x\n", reg, (value & 0xff) << 10, 1 << (10 + ((value & 0x0700) >> 8)), (value & 0xf800) >> 11);
}
u64 meg_base_device::prg_r(u16 address) const

View File

@ -70,51 +70,51 @@ WRITE_LINE_MEMBER(namco_163_sound_device::disable_w)
/********************************************************************************/
/*
Register Map (in RAM)
Register Map (in RAM)
40 ffff ffff Channel 0 Frequency bits 0 - 7
41 pppp pppp Channel 0 Phase bits 0 - 7
42 ffff ffff Channel 0 Frequency bits 8 - 15
43 pppp pppp Channel 0 Phase bits 8 - 15
44 ---- --ff Channel 0 Frequency bits 16 - 17
llll ll-- Channel 0 Waveform Length (256 - (l * 4)) 4 bit samples
45 pppp pppp Channel 0 Phase bits 16 - 23
46 oooo oooo Channel 0 Waveform Offset at 4 bit samples
47 ---- cccc Channel 0 Volume
40 ffff ffff Channel 0 Frequency bits 0 - 7
41 pppp pppp Channel 0 Phase bits 0 - 7
42 ffff ffff Channel 0 Frequency bits 8 - 15
43 pppp pppp Channel 0 Phase bits 8 - 15
44 ---- --ff Channel 0 Frequency bits 16 - 17
llll ll-- Channel 0 Waveform Length (256 - (l * 4)) 4 bit samples
45 pppp pppp Channel 0 Phase bits 16 - 23
46 oooo oooo Channel 0 Waveform Offset at 4 bit samples
47 ---- cccc Channel 0 Volume
48 ffff ffff Channel 1 Frequency bits 0 - 7
49 pppp pppp Channel 1 Phase bits 0 - 7
4a ffff ffff Channel 1 Frequency bits 8 - 15
4b pppp pppp Channel 1 Phase bits 8 - 15
4c ---- --ff Channel 1 Frequency bits 16 - 17
llll ll-- Channel 1 Waveform Length (256 - (l * 4)) 4 bit samples
4d pppp pppp Channel 1 Phase bits 16 - 23
4e oooo oooo Channel 1 Waveform Offset at 4 bit samples
4f ---- cccc Channel 1 Volume
48 ffff ffff Channel 1 Frequency bits 0 - 7
49 pppp pppp Channel 1 Phase bits 0 - 7
4a ffff ffff Channel 1 Frequency bits 8 - 15
4b pppp pppp Channel 1 Phase bits 8 - 15
4c ---- --ff Channel 1 Frequency bits 16 - 17
llll ll-- Channel 1 Waveform Length (256 - (l * 4)) 4 bit samples
4d pppp pppp Channel 1 Phase bits 16 - 23
4e oooo oooo Channel 1 Waveform Offset at 4 bit samples
4f ---- cccc Channel 1 Volume
.
.
.
.
.
.
78 ffff ffff Channel 7 Frequency bits 0 - 7
79 pppp pppp Channel 7 Phase bits 0 - 7
7a ffff ffff Channel 7 Frequency bits 8 - 15
7b pppp pppp Channel 7 Phase bits 8 - 15
7c ---- --ff Channel 7 Frequency bits 16 - 17
llll ll-- Channel 7 Waveform Length (256 - (l * 4)) 4 bit samples
7d pppp pppp Channel 7 Phase bits 16 - 23
7e oooo oooo Channel 7 Waveform Offset at 4 bit samples
7f ---- cccc Channel 7 Volume
-ccc ---- Enable channels
-000 ---- Enable channel 7 only
-001 ---- Enable channel 7, 6
-010 ---- Enable channel 7, 6, 5
78 ffff ffff Channel 7 Frequency bits 0 - 7
79 pppp pppp Channel 7 Phase bits 0 - 7
7a ffff ffff Channel 7 Frequency bits 8 - 15
7b pppp pppp Channel 7 Phase bits 8 - 15
7c ---- --ff Channel 7 Frequency bits 16 - 17
llll ll-- Channel 7 Waveform Length (256 - (l * 4)) 4 bit samples
7d pppp pppp Channel 7 Phase bits 16 - 23
7e oooo oooo Channel 7 Waveform Offset at 4 bit samples
7f ---- cccc Channel 7 Volume
-ccc ---- Enable channels
-000 ---- Enable channel 7 only
-001 ---- Enable channel 7, 6
-010 ---- Enable channel 7, 6, 5
.
.
.
.
.
.
-111 ---- Enable all channels
-111 ---- Enable all channels
*/
void namco_163_sound_device::addr_w(u8 data)

View File

@ -279,7 +279,7 @@ NETLIST_END()
NETLIST_START(zac1b11142_schematics_speech)
CS(I_SP, 0) // Fed through stream ...
CS(I_SP, 0) // Fed through stream ...
LM3900(U5D4)
CAP(C31, CAP_U(0.22))
@ -314,7 +314,7 @@ NETLIST_END()
NETLIST_START(zac1b11142_schematics_dac)
CS(I_DAC, 0) // Fed through stream ...
CS(I_DAC, 0) // Fed through stream ...
QBJT_EB(T4, "2N4401")

28
src/mame/drivers/akkaarrh.cpp Executable file → Normal file
View File

@ -2,15 +2,15 @@
// copyright-holders:Aaron Giles
/***************************************************************************
Atari Akka Arrh hardware
Atari Akka Arrh hardware
driver by Aaron Giles
driver by Aaron Giles
Games supported:
* Akka Arrh (1982)
Games supported:
* Akka Arrh (1982)
Known issues:
* none at this time
Known issues:
* none at this time
***************************************************************************/
@ -280,7 +280,7 @@ WRITE8_MEMBER(akkaarrh_state::earom_control_w)
/*************************************
*
* CPU memory map
* CPU memory map
*
*************************************/
@ -313,7 +313,7 @@ void akkaarrh_state::main_map(address_map &map)
/*************************************
*
* Port definitions
* Port definitions
*
*************************************/
@ -332,8 +332,8 @@ static INPUT_PORTS_START( akkaarrh )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested; if 0, writes 240 to $FD
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // resets game
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested; if 0, writes 240 to $FD
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // resets game
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -353,7 +353,7 @@ INPUT_PORTS_END
/*************************************
*
* Graphics definitions
* Graphics definitions
*
*************************************/
@ -388,7 +388,7 @@ GFXDECODE_END
/*************************************
*
* Machine driver
* Machine driver
*
*************************************/
@ -429,7 +429,7 @@ void akkaarrh_state::akkaarrh(machine_config &config)
/*************************************
*
* ROM definitions
* ROM definitions
*
*************************************/
@ -461,7 +461,7 @@ ROM_END
/*************************************
*
* Game drivers
* Game drivers
*
*************************************/

View File

@ -53,7 +53,7 @@ void daryde_state::pandart(machine_config &config)
/* Daryde Panther Darts PCB
____________________________________________________________________________
| ____________________ _____________________ _______ _______ |
| ____________________ _____________________ _______ _______ |
| ||||CN8 (16 pins)||| ||||CN5 (16 pins)|||| ||CN6|| |CN15|| ___ |
| ___ ___________ ___________ __________ |__| |
| |CN3 |_74HC273N_| |_74HC273N_| |_ULN2803A| |__| |

View File

@ -494,7 +494,7 @@
These series are running in a derivative hardware with epoxy CPU brick.
CPU is RP65C02A, with 2x Toshiba TC5565APL-10 RAMs. 1x Intel D27128A ROM.
and 1x PAL16L8B.
The main program is inside the battery backed RAM, and need to be dumped.
See more notes below in the ROM loading.
@ -509,13 +509,13 @@
and waiting for some seconds.
You can see two options...
STOP 1 ---- OPZIONI 1
STOP 3 ---- OPZIONI 2
OPZIONI 1:
You can change game parameters for Gioco AB, Play Max, Play Min, Difficolt, Bonus, and Rilancio.
OPZIONI 2:
You can change game parameters for Tabella Vincite, Velocita Simboli, Control Double, Valore Ticket,
Limit Credit, and Limit Scarico.
@ -1074,7 +1074,7 @@
- Support for custom CPUs' opcode decryption, affecting
Multi Win, Power Card, Mega Card, Joker Card 300 (Amatic)
and Royal Card (Slovak Encrypted).
and Royal Card (Slovak Encrypted).
Fixed Saloon & added Nevada:
- Added I2C bus and default serial EEPROM.
@ -1134,7 +1134,7 @@
- Changed game description to Joker Card (Inter Games).
- Promoted the game to Working.
- Added technical notes.
- Readded CRTC and nuked the periodic interrupt.
- Added support for multiplexed CRTC & AY8910.
@ -1163,7 +1163,7 @@
Royal Card (German, set 4):
- Verified the GFX dump as a mix of Royal Card
& Jolly Card graphics, with faulty address.
Used GFX set from parent, that matches 100%.
Used GFX set from parent, that matches 100%.
- Removed the imperfect graphics flag.
Joker Card 300 (Ver.A267BC, encrypted):
@ -1188,7 +1188,7 @@
- Implement the MCU in monglfir and soccernw.
- Check for a possible bug in the royalcrdf decryption scheme, that
doesn't cover the BRK instruction properly, changing the next value
on the fly turning a NOP into a PLA, messing the Stack Pointer.
on the fly turning a NOP into a PLA, messing the Stack Pointer.
****************************************************************************************/
@ -1519,7 +1519,7 @@ void funworld_state::fw_brick_map(address_map &map)
map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
map(0x2000, 0x2fff).ram().w(FUNC(funworld_state::funworld_videoram_w)).share("videoram");
map(0x3000, 0x3fff).ram().w(FUNC(funworld_state::funworld_colorram_w)).share("colorram");
map(0x4000, 0x7fff).nopr(); // check for the brick RAM programming ROM.
map(0x4000, 0x7fff).nopr(); // check for the brick RAM programming ROM.
map(0x8000, 0xbfff).ram().share("nvram1");
map(0xc000, 0xffff).rom();
}
@ -2816,7 +2816,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( saloon )
PORT_START("IN0") // 0800h
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Play / Start / Enter")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-2") PORT_CODE(KEYCODE_2) // still unknown...
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-2") PORT_CODE(KEYCODE_2) // still unknown...
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop 4 / High / Menu Down")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Take / Autohold / Exit")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Menu")
@ -2833,7 +2833,7 @@ static INPUT_PORTS_START( saloon )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-6") PORT_CODE(KEYCODE_H)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-7") PORT_CODE(KEYCODE_J)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-8") PORT_CODE(KEYCODE_K)
PORT_START("IN2") // 0802h
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop 2 / Low")
@ -2843,7 +2843,7 @@ static INPUT_PORTS_START( saloon )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop 3")
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_START("IN3") // 0808h
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2851,7 +2851,7 @@ static INPUT_PORTS_START( saloon )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Credits IN/OUT")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Keyout (Scarico Coin)")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Warm Reset") PORT_CODE(KEYCODE_R)
PORT_START("IN4") // 0A00h
@ -2887,7 +2887,7 @@ static INPUT_PORTS_START( saloon )
PORT_START("I2C_DI") // 1000h Input
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_READ_LINE_DEVICE_MEMBER("i2cmem", i2cmem_device, read_sda) // Serial Data In
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2897,7 +2897,7 @@ static INPUT_PORTS_START( saloon )
PORT_START("I2C_DO") // 1000h Output
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("i2cmem", i2cmem_device, write_sda) // Serial Data Out
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -3759,15 +3759,15 @@ void funworld_state::fw_brick_2(machine_config &config)
}
READ8_MEMBER(royalcrdf_state::royalcrdf_opcode_r)
{
{
// address-based data bitswap; 4 address bits are involved, but only
// 5 different bitswaps exist, with clear regularities, so the
// hardware is probably selecting the appropiate one by
// hardware is probably selecting the appropiate one by
// applying passive logic to the address bits; we encode it
// indexed by all the involved address bits instead. A notable fact is that
// all the permutations in royalcrdf & multiwin are odd-parity ones,
// so an intriguing possibility is that the hardware be applying
// a fixed odd number (3 would suffice) of address-dependent
// a fixed odd number (3 would suffice) of address-dependent
// 1-bit-to-1-bit bitswaps; furthermore, in both sets one of the
// bitswaps is equal to the one applied to all the data (but notice
// that, in those cases, we are applying it twice to opcodes here)
@ -3789,20 +3789,20 @@ READ8_MEMBER(royalcrdf_state::royalcrdf_opcode_r)
5,2,1,7,
1,7,5,2,
};
// xor masks, dependent on the same address bits than the bitswaps,
// and with the same 5-values structure
constexpr std::array<uint8_t,16> xm {
0x02, 0x02, 0xa6, 0x82, 0x02, 0x02, 0x06, 0x82, 0x02, 0x02, 0xa6, 0x00, 0x02, 0x02, 0x06, 0x00
};
uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)};
if(offset<0x800)
if(offset<0x800)
data = bitswap<8>(data^0x22,2,6,7,4,3,1,5,0);
unsigned idx {bitswap<4>(offset, 8,5,2,1)};
return bitswap<8>(data, bs[idx][3],6,bs[idx][2],4,3,bs[idx][1],bs[idx][0],0) ^ xm[idx];
}
@ -3821,10 +3821,10 @@ void royalcrdf_state::driver_init()
/* Temporary hack to modify the value that ends to be a NOP,
after the BRK, and balanced checksums. Will be removed once
found a workaround in the decryption routines.
found a workaround in the decryption routines.
*/
ROM[0x802d]=0xa2; // checksum.
ROM[0xbc4e]=0x68; // future NOP after BRK.
ROM[0xbc4e]=0x68; // future NOP after BRK.
}
void royalcrdf_state::royalcrdf(machine_config &config)
@ -3840,9 +3840,9 @@ void royalcrdf_state::royalcrdf(machine_config &config)
READ8_MEMBER(multiwin_state::multiwin_opcode_r)
{
{
// same general encryption scheme than the one used by the EVONA Royald Card set;
// 4 address bits determine which bitswap+xor is applied to the opcodes; in this case,
// 4 address bits determine which bitswap+xor is applied to the opcodes; in this case,
// one of the address bits don't have effect on the bitswap, just on the xor;
// again, we have just five different bitswaps, and the hardware is probably using
// passive logic on the address bits to do the selection
@ -3856,15 +3856,15 @@ READ8_MEMBER(multiwin_state::multiwin_opcode_r)
0,5,7,4,2,
4,0,2,7,5,
};
// xor masks
constexpr std::array<uint8_t,16> xm {
0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0xb5, 0x10, 0xb5, 0x20, 0xb5, 0x30, 0xb5
};
uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)};
unsigned idx {bitswap<4>(offset, 6,9,5,3)};
return bitswap<8>(data, bs[idx&7][4],6,bs[idx&7][3],bs[idx&7][2],3,bs[idx&7][1],1,bs[idx&7][0]) ^ xm[idx];
}
@ -3898,26 +3898,26 @@ public:
: funworld_state(mconfig, type, tag)
{
}
void powercrd(machine_config& config);
private:
cpu_device* _maincpu {};
DECLARE_READ8_MEMBER(powercrd_opcode_r);
void powercrd_opcodes_map(address_map& map);
};
READ8_MEMBER(powercrd_state::powercrd_opcode_r)
{
{
// encryption controlled by the lower two bits of the address; no clear structure is
// seen in the tables, so it looks like a lookup into randomly or pseudorandomly
// generated permutation tables; all opcodes in the [8da0, 9e0b) & [c000, ef80) are
// believed to be covered by these tables; errors could be lurking in the least used opcodes;
// this same encryption scheme (with different tables) is seen in megacard & jokercrd
constexpr uint8_t UNKN {0xfc};
constexpr std::array<std::array<uint8_t,256>,4> decryption_tables
{
//_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
@ -3992,7 +3992,7 @@ READ8_MEMBER(powercrd_state::powercrd_opcode_r)
UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xa9, UNKN, UNKN, UNKN, UNKN, 0xc5, UNKN, // e_
UNKN, 0x86, 0x29, 0x4a, UNKN, UNKN, 0x18, 0x98, UNKN, UNKN, UNKN, 0x9c, UNKN, 0x7a, UNKN, 0x48, // f_
};
uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)};
return decryption_tables[offset&3][data];
}
@ -4005,7 +4005,7 @@ void powercrd_state::powercrd_opcodes_map(address_map &map)
void powercrd_state::powercrd(machine_config &config)
{
fw2ndpal(config);
_maincpu = reinterpret_cast<cpu_device*>(config.device("maincpu"));
_maincpu->set_addrmap(AS_OPCODES, &powercrd_state::powercrd_opcodes_map);
}
@ -4017,23 +4017,23 @@ public:
: funworld_state(mconfig, type, tag)
{
}
void megacard(machine_config& config);
private:
cpu_device* _maincpu {};
DECLARE_READ8_MEMBER(megacard_opcode_r);
void megacard_opcodes_map(address_map& map);
};
READ8_MEMBER(megacard_state::megacard_opcode_r)
{
// all opcodes in the [c000, fc80) range are believed to be covered by these tables;
{
// all opcodes in the [c000, fc80) range are believed to be covered by these tables;
// errors could be lurking in the least used opcodes
constexpr uint8_t UNKN {0xfc};
constexpr std::array<std::array<uint8_t,256>,4> decryption_tables
{
//_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
@ -4053,7 +4053,7 @@ READ8_MEMBER(megacard_state::megacard_opcode_r)
UNKN, UNKN, UNKN, UNKN, 0x2d, UNKN, UNKN, UNKN, 0x4a, 0x88, 0x05, UNKN, UNKN, 0x10, 0xce, UNKN, // d_
UNKN, UNKN, 0xc4, UNKN, 0x18, UNKN, UNKN, UNKN, 0x99, 0xf9, UNKN, UNKN, UNKN, UNKN, UNKN, 0xdd, // e_
0x11, UNKN, 0x26, UNKN, 0x65, 0x98, UNKN, 0xad, 0x2a, UNKN, UNKN, 0x8d, UNKN, UNKN, UNKN, UNKN, // f_
//_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
UNKN, UNKN, UNKN, 0x18, UNKN, UNKN, UNKN, 0x8e, UNKN, UNKN, UNKN, UNKN, UNKN, 0xaa, 0xcd, 0x0a, // 0_
0xe6, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xad, UNKN, UNKN, UNKN, UNKN, // 1_
@ -4071,7 +4071,7 @@ READ8_MEMBER(megacard_state::megacard_opcode_r)
UNKN, UNKN, 0x20, 0xb9, UNKN, UNKN, UNKN, UNKN, 0x00, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // d_
UNKN, 0x80, 0x65, UNKN, UNKN, 0xe8, 0xc9, UNKN, UNKN, UNKN, UNKN, UNKN, 0xee, 0xf0, UNKN, UNKN, // e_
UNKN, 0xa0, 0xc8, UNKN, UNKN, UNKN, 0xc4, UNKN, 0x4e, 0xe0, 0xa8, UNKN, 0x45, UNKN, UNKN, 0xa6, // f_
//_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
UNKN, 0x86, UNKN, UNKN, 0xe6, 0xc9, UNKN, 0x1a, UNKN, 0xdd, 0x88, UNKN, UNKN, UNKN, UNKN, 0x8e, // 0_
UNKN, 0xe0, UNKN, UNKN, 0x4c, 0xd0, UNKN, 0x64, UNKN, 0xa4, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 1_
@ -4089,7 +4089,7 @@ READ8_MEMBER(megacard_state::megacard_opcode_r)
0x69, 0x60, 0x9a, 0xb2, UNKN, UNKN, 0x2a, UNKN, 0x65, UNKN, UNKN, UNKN, 0x25, UNKN, 0x79, 0x6a, // d_
UNKN, 0x20, 0xb9, UNKN, 0x3a, 0xd5, UNKN, 0x4a, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x99, 0xa8, // e_
UNKN, UNKN, UNKN, UNKN, 0xda, UNKN, UNKN, UNKN, UNKN, 0xcd, UNKN, 0x7a, 0xad, UNKN, UNKN, UNKN, // f_
//_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
UNKN, UNKN, UNKN, 0x60, UNKN, UNKN, 0xb1, UNKN, UNKN, UNKN, 0x29, UNKN, 0x8e, 0x74, 0x9a, 0xea, // 0_
UNKN, 0x6d, UNKN, 0x92, 0xb5, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x7d, 0xb9, 0xa2, UNKN, 0x6a, // 1_
@ -4108,7 +4108,7 @@ READ8_MEMBER(megacard_state::megacard_opcode_r)
UNKN, 0xc9, UNKN, UNKN, UNKN, UNKN, 0x64, 0x48, UNKN, UNKN, 0xa8, UNKN, 0xe8, UNKN, UNKN, UNKN, // e_
UNKN, UNKN, 0xa9, UNKN, 0xf0, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x18, UNKN, UNKN, UNKN, UNKN, // f_
};
uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)};
return decryption_tables[offset&3][data];
}
@ -4121,7 +4121,7 @@ void megacard_state::megacard_opcodes_map(address_map &map)
void megacard_state::megacard(machine_config &config)
{
fw2ndpal(config);
_maincpu = reinterpret_cast<cpu_device*>(config.device("maincpu"));
_maincpu->set_addrmap(AS_OPCODES, &megacard_state::megacard_opcodes_map);
}
@ -4133,57 +4133,57 @@ public:
: funworld_state(mconfig, type, tag)
{
}
void jokercrd(machine_config& config);
private:
cpu_device* _maincpu {};
DECLARE_READ8_MEMBER(jokercrd_opcode_r);
void jokercrd_opcodes_map(address_map& map);
};
READ8_MEMBER(jokercrd_state::jokercrd_opcode_r)
{
// even when errors could be lurking in the least used opcodes,
{
// even when errors could be lurking in the least used opcodes,
// all of them in the [8050,b369) & [c000, f063) ranges are believed
// to be covered by these tables, with the exception of the one @c0f1:
// c0da: a6 6a ldx $6a
// c0dc: ad 5c 00 lda $005c
// c0df: 29 3f and #$3f
// c0e1: 85 70 sta $70
// c0e3: 20 fa c0 jsr $c0fa
// c0e6: a5 70 lda $70
// c0e8: 9d 33 02 sta $0233, x
// c0eb: a2 00 ldx #$00
// c0ed: e4 6a cpx $6a
// c0ef: f0 08 beq $c0f9
// c0f1: XX 33 02 nop #$33 #$02 [YYY $0233, x]
// c0f4: f0 e4 beq $c0da
// c0f6: e8 inx
// c0f7: 80 f4 bra $c0ed
// c0f9: 60 rts
//
// c0fa: ad 4b 07 lda $074b
// c0fd: 0d 4c 07 ora $074c
// c100: d0 01 bne $c103
// c102: 60 rts
// c103: a5 70 lda $70
// c105: 29 30 and #$30
// c107: 09 01 ora #$01
// c109: 85 70 sta $70
// c10b: 60 rts
// c0da: a6 6a ldx $6a
// c0dc: ad 5c 00 lda $005c
// c0df: 29 3f and #$3f
// c0e1: 85 70 sta $70
// c0e3: 20 fa c0 jsr $c0fa
// c0e6: a5 70 lda $70
// c0e8: 9d 33 02 sta $0233, x
// c0eb: a2 00 ldx #$00
// c0ed: e4 6a cpx $6a
// c0ef: f0 08 beq $c0f9
// c0f1: XX 33 02 nop #$33 #$02 [YYY $0233, x]
// c0f4: f0 e4 beq $c0da
// c0f6: e8 inx
// c0f7: 80 f4 bra $c0ed
// c0f9: 60 rts
//
// c0fa: ad 4b 07 lda $074b
// c0fd: 0d 4c 07 ora $074c
// c100: d0 01 bne $c103
// c102: 60 rts
// c103: a5 70 lda $70
// c105: 29 30 and #$30
// c107: 09 01 ora #$01
// c109: 85 70 sta $70
// c10b: 60 rts
// it should be noted, however, that the subroutine @c0da seems to be called just from here:
// c044: 64 6a stz $6a
// c046: 20 da c0 jsr $c0da
// c044: 64 6a stz $6a
// c046: 20 da c0 jsr $c0da
// and, if no interrupt is messing with the accesed data, the STZ @c044 should make the BEQ @c0ef
// become an inconditional jump, converting the opcode @c0f1 in dead code
constexpr uint8_t UNKN {0xfc};
constexpr std::array<std::array<uint8_t,256>,4> decryption_tables
{
//_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
@ -4203,7 +4203,7 @@ READ8_MEMBER(jokercrd_state::jokercrd_opcode_r)
UNKN, 0xb9, 0x86, UNKN, 0xca, UNKN, UNKN, UNKN, UNKN, UNKN, 0x7a, UNKN, 0xf0, 0x09, 0x4c, UNKN, // d_
0x60, 0x78, UNKN, UNKN, UNKN, 0x48, 0x5a, UNKN, UNKN, UNKN, 0x79, UNKN, UNKN, UNKN, UNKN, 0xba, // e_
UNKN, UNKN, 0x6d, 0x92, UNKN, 0x26, UNKN, UNKN, 0xb5, UNKN, 0x69, UNKN, UNKN, 0xa4, UNKN, 0x1d, // f_
//_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
UNKN, UNKN, UNKN, UNKN, 0x48, UNKN, UNKN, 0x0c, UNKN, 0x60, 0x6d, 0x20, 0xda, UNKN, 0xf0, UNKN, // 0_
UNKN, 0xcd, 0x95, UNKN, UNKN, 0xae, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x8e, UNKN, 0x29, UNKN, // 1_
@ -4221,7 +4221,7 @@ READ8_MEMBER(jokercrd_state::jokercrd_opcode_r)
UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x19, 0x65, UNKN, UNKN, UNKN, 0xce, 0x7a, UNKN, 0x3a, // d_
UNKN, 0x7d, UNKN, 0x0a, 0x49, UNKN, UNKN, UNKN, 0xe6, 0xd8, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // e_
UNKN, UNKN, UNKN, UNKN, 0x09, 0xa9, 0x25, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x5a, UNKN, 0x68, // f_
//_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
UNKN, 0x20, UNKN, UNKN, UNKN, 0x8e, UNKN, UNKN, UNKN, 0xb0, 0x85, 0x3d, UNKN, 0x86, UNKN, UNKN, // 0_
0x18, UNKN, UNKN, UNKN, 0x8a, 0xad, 0x79, 0x98, UNKN, UNKN, 0xc0, UNKN, 0x30, UNKN, 0x10, UNKN, // 1_
@ -4239,7 +4239,7 @@ READ8_MEMBER(jokercrd_state::jokercrd_opcode_r)
UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x99, UNKN, 0x88, UNKN, 0xcd, UNKN, 0xe8, // d_
0xca, 0xb5, 0x49, 0x68, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xe6, 0xe0, 0x4a, UNKN, // e_
UNKN, UNKN, UNKN, 0xc8, UNKN, 0xb9, 0x91, UNKN, UNKN, UNKN, UNKN, 0x65, 0x95, UNKN, UNKN, UNKN, // f_
//_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
0x65, UNKN, UNKN, UNKN, 0x30, UNKN, UNKN, UNKN, 0x8e, UNKN, UNKN, 0xda, 0x2d, 0xc4, UNKN, 0x68, // 0_
UNKN, 0xa2, UNKN, UNKN, 0x2a, 0xa6, UNKN, UNKN, UNKN, 0x86, UNKN, UNKN, 0x60, UNKN, 0xe6, 0xa4, // 1_
@ -4258,7 +4258,7 @@ READ8_MEMBER(jokercrd_state::jokercrd_opcode_r)
UNKN, 0xec, 0x20, UNKN, 0xad, 0xd0, UNKN, 0x3d, UNKN, 0xb1, 0x6c, 0x66, UNKN, 0x4e, UNKN, 0xd5, // e_
0xe9, UNKN, UNKN, 0xa9, UNKN, UNKN, 0xe8, UNKN, UNKN, 0xc9, 0xa8, UNKN, UNKN, 0x48, UNKN, UNKN, // f_
};
uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)};
return decryption_tables[offset&3][data];
}
@ -4271,7 +4271,7 @@ void jokercrd_state::jokercrd_opcodes_map(address_map &map)
void jokercrd_state::jokercrd(machine_config &config)
{
fw2ndpal(config);
_maincpu = reinterpret_cast<cpu_device*>(config.device("maincpu"));
_maincpu->set_addrmap(AS_OPCODES, &jokercrd_state::jokercrd_opcodes_map);
}
@ -5965,7 +5965,7 @@ ROM_START( royalcrdc )
ROM_LOAD( "3.bin", 0x0000, 0x8000, CRC(c46d804f) SHA1(b089821c7dae6714b49401d787f8bed859815763) )
ROM_LOAD( "2.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) )
ROM_REGION( 0x10000, "gfxbad", 0 ) // faulty gfx set with bad addressing and mix of royal card & jolly card tiles.
ROM_REGION( 0x10000, "gfxbad", 0 ) // faulty gfx set with bad addressing and mix of royal card & jolly card tiles.
ROM_LOAD( "roj.ic26", 0x0000, 0x8000, BAD_DUMP CRC(3883cdcb) SHA1(b71a786822fe8fcb2c6fcdc463facb2738ec8c01) )
ROM_IGNORE( 0x8000)
ROM_LOAD( "roj.ic25", 0x8000, 0x8000, CRC(c5b787e8) SHA1(be88aa901c1f96d171af45c3602e0ce72b8fff34) )
@ -7156,7 +7156,7 @@ ROM_START( saloon )
ROM_REGION( 0x0200, "proms", 0 )
ROM_LOAD( "82s147_saloon.bin", 0x0000, 0x0200, CRC(f424ccc1) SHA1(6df1215f58cca786e9f0ea4bf35407cf7fe21d83) )
ROM_REGION( 0x0100, "i2cmem", 0 )
ROM_LOAD( "saloon_i2c.bin", 0x0000, 0x0100, CRC(57e9ce5a) SHA1(3a8420a8ed50faf31a30c01f9438f1df95e5789a) )
ROM_END
@ -7697,7 +7697,7 @@ ROM_END
This game is running in a derivative hardware with epoxy CPU brick.
CPU is a 65C02, with two 5565 RAMs and one 27128 ROM.
Also there are present some PLD and logic. (see above).
The main program is inside the battery backed RAM, and need to be dumped.
These RAMs are connected to the mainboard battery, so once the Brick is unplugged,
the battery stops to feed the RAM and the program just vanish.
@ -7709,11 +7709,11 @@ ROM_END
8000-bfff location, where is the battery backed RAM inside the brick.
We need to find a new working board and reverse the central connector, to construct
some interface that allows us to dump the content of the internal battery backed RAM.
some interface that allows us to dump the content of the internal battery backed RAM.
For debug purposes, we plugged an external game code from another similar game, that
For debug purposes, we plugged an external game code from another similar game, that
matches all calls from the original ROM code. We suspect is the same code with different
language (English instead German). With this external code the game is completely playable.
language (English instead German). With this external code the game is completely playable.
----
@ -7740,8 +7740,8 @@ ROM_START( jokcrdep )
ROM_LOAD( "200_zg_1.bin", 0x8000, 0x8000, CRC(367db105) SHA1(400b82dc9e0be4c17a02add009aab3c43dd901f8) )
ROM_REGION( 0x0800, "nvram", 0 )
ROM_LOAD( "joker_nvram.bin", 0x0000, 0x0800, CRC(92019972) SHA1(E6D1E231CD2CE27E718ED9482DBE9DDC8612EB67) ) // Default NVRAM.
ROM_LOAD( "joker_nvram.bin", 0x0000, 0x0800, CRC(92019972) SHA1(E6D1E231CD2CE27E718ED9482DBE9DDC8612EB67) ) // Default NVRAM.
ROM_REGION( 0x4000, "nvram1", 0 )
ROM_LOAD( "e-0.bin", 0x0000, 0x4000, BAD_DUMP CRC(8FD42F3B) SHA1(208209761DE046189070B88AD4340C8D7FF55F1F) ) // Internal suicide program. Taken from Novo Play.
@ -7878,8 +7878,8 @@ void funworld_state::init_saloon()
Low 11 bits of address are scrambled.
Color:
Data has bits 2-3-5-6-7 scrambled.
Address has the 8 lower bits scrambled.
Data has bits 2-3-5-6-7 scrambled.
Address has the 8 lower bits scrambled.
*************************************************/
{
@ -8399,9 +8399,9 @@ void intergames_state::driver_init()
rom[0xaeaf] = 0xea;
// verify checksum against values stored at 07F2-07F3.
// rom[0xaf69] = 0xea;
// rom[0xaf6a] = 0xea;
// rom[0xaf6b] = 0xea;
// rom[0xaf69] = 0xea;
// rom[0xaf6a] = 0xea;
// rom[0xaf6b] = 0xea;
}

View File

@ -12225,8 +12225,8 @@ MOON WAR II RA20 5D(--36) 1981 STERN
NOTE: A PCB with ROMs at 2F & 2H specifically labeled as "RXA22" was dumped and verified to match the moonwara set below,
it is unknown if the data is different then the ROMs labeled as "RA22" as shown above. However, according to these
notes in the input code:
Player 1 Dial: P1 dial works normally, P2 dial is reversed, both share same port
Player 2 Dial: doesn't actually work due to bug in game code
Player 1 Dial: P1 dial works normally, P2 dial is reversed, both share same port
Player 2 Dial: doesn't actually work due to bug in game code
It would seem to indicate the code is different becuase for moonwar the issue was corrected.
*/
ROM_START( moonwar )

View File

@ -198,8 +198,8 @@ ROM_START(pc)
ROM_SYSTEM_BIOS(40, "fday17", "Faraday 5 slot PC") // use pcherc
ROMX_LOAD( "fdaypc17.rom", 0x00000, 0x2000, CRC(26bb29ac) SHA1(5a58680b9193f4323db3e7894f853dc82d17f4ee),ROM_BIOS(40))
ROM_END
#define rom_pcmda rom_pc

View File

@ -30,7 +30,7 @@ public:
void hunter16(machine_config &config);
void hunter1680(machine_config &config);
protected:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@ -38,12 +38,12 @@ protected:
void io_16_map(address_map &map);
void io_1680_map(address_map &map);
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
optional_device<palette_device> m_palette;
optional_device<hd61830_device> m_lcdc;
optional_device<mc6845_device> m_cga;
private:
void palette_init_hunter16(palette_device &palette);
};
@ -59,7 +59,7 @@ void hunter16_state::io_16_map(address_map &map)
{
map(0x430, 0x430).w(m_lcdc, FUNC(hd61830_device::data_w));
map(0x431, 0x431).rw(m_lcdc, FUNC(hd61830_device::status_r), FUNC(hd61830_device::control_w));
// map(0x43e, 0x43e).r(m_lcdc, FUNC(hd61830_device::data_r));
// map(0x43e, 0x43e).r(m_lcdc, FUNC(hd61830_device::data_r));
}
void hunter16_state::io_1680_map(address_map &map)
@ -103,7 +103,7 @@ void hunter16_state::hunter1680(machine_config &config)
MC6845(config, m_cga, 16_MHz_XTAL / 2); // Chips 82C426 CGA, exact clock unknown
m_cga->set_screen("screen");
m_cga->set_show_border_area(false);
SCREEN(config, m_screen, SCREEN_TYPE_LCD);
m_screen->set_refresh_hz(60);
m_screen->set_size(640, 400);

View File

@ -962,7 +962,7 @@ void pengo_state::decode_schick_extra(int size, uint8_t* rom)
case 0x00: srcdec = (srcdec & ~0x51) | 0x10; break; // looks good for ld ops
case 0x01: srcdec = (srcdec & ~0x51) | 0x50; break; // ok?
case 0x10: srcdec = (srcdec & ~0x51) | 0x11; break; // ok?
case 0x11: srcdec = (srcdec & ~0x51) | 0x51; break; // push/pull opcodes, see f1a1, f1a2, f1fd etc (d3 case too)
case 0x11: srcdec = (srcdec & ~0x51) | 0x51; break; // push/pull opcodes, see f1a1, f1a2, f1fd etc (d3 case too)
case 0x40: srcdec = (srcdec & ~0x51) | 0x00; break; // ok for some NOPs? and jr ops
case 0x41: srcdec = (srcdec & ~0x51) | 0x40; break; // maybe, ret z at f3be
case 0x50: srcdec = (srcdec & ~0x51) | 0x01; break; // not 11, not 50, maybe 01? see fcc1
@ -987,7 +987,7 @@ void pengo_state::decode_schick_extra(int size, uint8_t* rom)
switch (srcdec & 0x51)
{
case 0x00: srcdec = (srcdec & ~0x51) | 0x40; break;
case 0x01: srcdec = (srcdec & ~0x51) | 0x01; break;
case 0x01: srcdec = (srcdec & ~0x51) | 0x01; break;
case 0x10: srcdec = (srcdec & ~0x51) | 0x41; break; // JMP table EFA0
case 0x11: srcdec = (srcdec & ~0x51) | 0x11; break;
case 0x40: srcdec = (srcdec & ~0x51) | 0x00; break; // NOPs at e538

View File

@ -116,11 +116,11 @@ TODO: Volleyball...
*/
//#define MASTER_CLOCK_BREAKOUT (14318000)
static const int NS_PER_CLOCK = static_cast<int>((double) NETLIST_INTERNAL_RES / (double) 14318000 + 0.5);
static const int NS_PER_CLOCK = static_cast<int>((double) NETLIST_INTERNAL_RES / (double) 14318000 + 0.5);
static const int MASTER_CLOCK_BREAKOUT = static_cast<int>((double) NETLIST_INTERNAL_RES / (double) NS_PER_CLOCK + 0.5);
static const int V_TOTAL_BREAKOUT = (0xFC); // 252
static const int H_TOTAL_BREAKOUT = (448*2); // 448
static const int V_TOTAL_BREAKOUT = (0xFC); // 252
static const int H_TOTAL_BREAKOUT = (448*2); // 448
enum input_changed_enum
{

View File

@ -17,7 +17,7 @@ Measured clocks:
MC68000P12F - 14.99MHz
Z0840006PSC - 3.996MHz
OKI M6295 - 0.999MHz
***************************************************************************/

View File

@ -1,16 +1,16 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
/*
SunPlus unSP based hardware, SPG-??? (6xx?) (die is GCM394)
SunPlus unSP based hardware, SPG-??? (6xx?) (die is GCM394)
Compared to vii.cpp this is clearly newer, has extra opcodes, different internal map etc. also scaling and higher resolutions based on Spongebob
Compared to vii.cpp this is clearly newer, has extra opcodes, different internal map etc. also scaling and higher resolutions based on Spongebob
Smart Fit Park
SpongeBob SquarePants Bikini Bottom 500
Spiderman - The Masked Menace 'Spider Sense' (pad type with Spiderman model)
(Wireless Hunting? - maybe, register map looks the same even if it sets stack to 2fff not 6fff)
Smart Fit Park
SpongeBob SquarePants Bikini Bottom 500
Spiderman - The Masked Menace 'Spider Sense' (pad type with Spiderman model)
(Wireless Hunting? - maybe, register map looks the same even if it sets stack to 2fff not 6fff)
as these use newer opcodes in the FExx range they probably need a derived unSP type too
as these use newer opcodes in the FExx range they probably need a derived unSP type too
*/
#include "emu.h"
@ -150,9 +150,9 @@ Length: 27.78 mm
Voltage: 3V
Pinout:
A25 A24
| |
+--------------------------+
A25 A24
| |
+--------------------------+
A21 --|== # # `.__.' ==|-- A20
A18 --|== ==|-- A19
A17 --|== ==|-- A8
@ -175,7 +175,7 @@ GND --|== | | ==|-- A22
Q10 --|== ==|-- Q12
Q3 --|== ==|-- Q4
Q11 --|== ==|-- VCC
+--------------------------+
+--------------------------+
The only interesting string in this ROM is SPF2ALP,

View File

@ -1638,7 +1638,7 @@ static INPUT_PORTS_START( jiaojiao )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) PORT_CONDITION("TJUMP", 0x01, EQUALS, 0x01)
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_CONDITION("TJUMP", 0x01, EQUALS, 0x01)
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) PORT_CONDITION("TJUMP", 0x01, EQUALS, 0x01)
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) ) PORT_CONDITION("TJUMP", 0x01, EQUALS, 0x01)
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) ) PORT_CONDITION("TJUMP", 0x01, EQUALS, 0x01)
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) PORT_CONDITION("TJUMP", 0x01, EQUALS, 0x00)
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION("TJUMP", 0x01, EQUALS, 0x00)
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) ) PORT_CONDITION("TJUMP", 0x01, EQUALS, 0x00)

View File

@ -76,7 +76,7 @@
Chase Bombers proto sports lots of gfx bugs;
Chase Bombers PCB has TC0360PRI but not hooked up
Chase Bombers PCB has TC0360PRI but not hooked up
Gun calibration
---------------

View File

@ -10,20 +10,20 @@
"SunPlus QL8041" ( also known as Sunplus SPG240 & PAC300 )
All GameKeyReady units
Disney Princess (GKR)
Wheel of Fortune (GKR)
JAKKS WWE (GKR)
Fantastic 4 (GKR)
Justice League (GKR)
Dora the Explorer Nursery Rhyme (GKR)
Dora the Explorer Play Park (GKR)
Spiderman 5-in-1 (GKR)
etc.
Disney Princess (GKR)
Wheel of Fortune (GKR)
JAKKS WWE (GKR)
Fantastic 4 (GKR)
Justice League (GKR)
Dora the Explorer Nursery Rhyme (GKR)
Dora the Explorer Play Park (GKR)
Spiderman 5-in-1 (GKR)
etc.
(other non GKR JAKKS games)
X-Men (Wolverine pad)
Avatar: The Last Airbender
Superman in Super Villain Showdown
Superman in Super Villain Showdown
(other games)
Mattel Classic Sports
@ -37,32 +37,32 @@
"SunPlus QU7074-P69A"
The Batman
Star Wars (non-gamekey, which model? falcon? - check)
Dream Life
Star Wars (non-gamekey, which model? falcon? - check)
Dream Life
"SunPlus QL8167b" (is the scrambling built into the CPU, or external?)
"SunPlus QL8167b" (is the scrambling built into the CPU, or external?)
Lexibook Zeus IG900 20-in-1
Lexibook Zeus IG900 20-in-1
"SunPlus QL8139C"
"SunPlus QL8139C"
Radica Cricket
V Smile Baby (Sweden) - see vsmileb.cpp
Radica Cricket
V Smile Baby (Sweden) - see vsmileb.cpp
---
Very likely the same
Very likely the same
"Sunplus QL8167" (these might have ROM scrambling if that is a 8167 feature)
"Sunplus QL8167" (these might have ROM scrambling if that is a 8167 feature)
Disney Princess Magical Adventure
Go Diego Go
Shrek - Over the Hedge (this unit shows a 'GameKey Unlock More Games' on startup, but has no port, not even on the internal PCB)
Marvel Heroes (Spider-man)
Spiderman 3 (Movie - black)
Disney Princess Magical Adventure
Go Diego Go
Shrek - Over the Hedge (this unit shows a 'GameKey Unlock More Games' on startup, but has no port, not even on the internal PCB)
Marvel Heroes (Spider-man)
Spiderman 3 (Movie - black)
---
---
It is unknown if the following are close to this architecture or not (no dumps yet)
@ -79,10 +79,10 @@
These are definitely different but still unSP based
"SunPlus PA7801" ( known as Sunplus SPG110? )
- see spg110.cpp instead
- see spg110.cpp instead
"GCM394" (this is clearly newer, has extra opcodes, different internal map etc. also scaling and higher resolutions based on Spongebob)
- see sunplus_gcm394.cpp instead
- see sunplus_gcm394.cpp instead
Status:

View File

@ -651,11 +651,11 @@ ROM_START( eurogael )
ROM_LOAD( "r2_fu4a01.ic17", 0x060000, 0x10000, CRC(1bcdd99d) SHA1(e37a8308eff79b04ce3da75fec2fffe4021c70d3) ) // fg layer
ROM_LOAD( "r2_fu4a02.ic16", 0x040000, 0x10000, CRC(e625de0c) SHA1(ca5a00ea27a5107d2957a1637b260d5aa1ff5563) )
ROM_LOAD( "r2_fu4a03.ic15", 0x020000, 0x10000, CRC(995df90d) SHA1(121874c807001bf65a9cec90dd30212f1889a398) )
ROM_LOAD( "r2_fu4a04.ic14", 0x000000, 0x10000, CRC(44031f34) SHA1(0b417c6cc1ed029394bcdce80e81262d776105b7) )
ROM_LOAD( "r2_fu4a04.ic14", 0x000000, 0x10000, CRC(44031f34) SHA1(0b417c6cc1ed029394bcdce80e81262d776105b7) )
ROM_LOAD( "r3_fu4b01.ic17", 0x070000, 0x10000, CRC(adc7feda) SHA1(ff82e973599f13c76ecaf3c027a2967468cd9e72) ) // bg layer
ROM_LOAD( "r3_fu4b02.ic16", 0x050000, 0x10000, CRC(1e5c0fda) SHA1(74163098810ff079467bad77796898426acbfac5) )
ROM_LOAD( "r3_fu4b03.ic15", 0x030000, 0x10000, CRC(cc9dab0b) SHA1(7e5735e57b45de1b344455fa5a047ae17933de27) )
ROM_LOAD( "r3_fu4b04.ic14", 0x010000, 0x10000, CRC(d54704d2) SHA1(7d4ec0120c3516a88abbe687e8916b44bffb7bcd) )
ROM_LOAD( "r3_fu4b04.ic14", 0x010000, 0x10000, CRC(d54704d2) SHA1(7d4ec0120c3516a88abbe687e8916b44bffb7bcd) )
ROM_REGION( 0x080000, "spritegfx", ROMREGION_INVERT )
ROM_LOAD( "r4_fu504.bin", 0x000000, 0x10000, CRC(516b6c09) SHA1(9d02514dece864b087f67886009ce54bd51b5575) )
@ -695,10 +695,10 @@ void wc90b_state::init_wc90b()
for (int i = 0; i < len; i++)
{
int j = bitswap<19>(i, 18, 17, // above bitplane separation limit, no swap, keep value
16, 15, 14, 13, // above tile bank limit, no swap, keep value
10, 9, 8, 7, 6, 5, 4, 3,
12, 11,
2, 1, 0); // 8x8x1 tile data, no swap, keep value
16, 15, 14, 13, // above tile bank limit, no swap, keep value
10, 9, 8, 7, 6, 5, 4, 3,
12, 11,
2, 1, 0); // 8x8x1 tile data, no swap, keep value
buffer[j] = src[i];
}

View File

@ -148,7 +148,7 @@ void mu50_state::p6_w(u16 data)
{
data ^= P6_LCD_ENABLE;
if(!(cur_p6 & P6_LCD_ENABLE) && (data & P6_LCD_ENABLE)) {
if(!(cur_p6 & P6_LCD_RW)) {
if(!(cur_p6 & P6_LCD_RW)) {
if(cur_p6 & P6_LCD_RS)
m_lcd->data_write(cur_pa);
else

View File

@ -140,18 +140,18 @@ class multiwin_state : public funworld_state
public:
using funworld_state::funworld_state;
void multiwin(machine_config& config);
void driver_init() override;
protected:
virtual void video_start() override;
private:
cpu_device* _maincpu {};
DECLARE_READ8_MEMBER(multiwin_opcode_r);
void multiwin_opcodes_map(address_map& map);
};
@ -159,15 +159,15 @@ class royalcrdf_state : public funworld_state
{
public:
using funworld_state::funworld_state;
void royalcrdf(machine_config& config);
void driver_init() override;
private:
cpu_device* _maincpu {};
DECLARE_READ8_MEMBER(royalcrdf_opcode_r);
void royalcrdf_map(address_map& map);
void royalcrdf_opcodes_map(address_map& map);
};

View File

@ -18,7 +18,7 @@ class raiden2_state : public driver_device
public:
raiden2_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_spriteram(*this, "spriteram")
, m_spriteram(*this, "spriteram")
, m_maincpu(*this, "maincpu")
, m_seibu_sound(*this, "seibu_sound")
, m_gfxdecode(*this, "gfxdecode")

View File

@ -28,16 +28,16 @@ TODO:
#include "romload.h"
#include "sound/cdda.h"
#define LOG_DECODES (1 << 0)
#define LOG_SAMPLES (1 << 1)
#define LOG_COMMANDS (1 << 2)
#define LOG_SECTORS (1 << 3)
#define LOG_IRQS (1 << 4)
#define LOG_READS (1 << 5)
#define LOG_WRITES (1 << 6)
#define LOG_UNKNOWNS (1 << 7)
#define LOG_DECODES (1 << 0)
#define LOG_SAMPLES (1 << 1)
#define LOG_COMMANDS (1 << 2)
#define LOG_SECTORS (1 << 3)
#define LOG_IRQS (1 << 4)
#define LOG_READS (1 << 5)
#define LOG_WRITES (1 << 6)
#define LOG_UNKNOWNS (1 << 7)
#define VERBOSE (0)
#define VERBOSE (0)
#include "logmacro.h"
// device type definition

View File

@ -24,13 +24,13 @@ TODO:
#include "emu.h"
#include "machine/cdislave.h"
#define LOG_IRQS (1 << 0)
#define LOG_COMMANDS (1 << 1)
#define LOG_READS (1 << 2)
#define LOG_WRITES (1 << 3)
#define LOG_UNKNOWNS (1 << 4)
#define LOG_IRQS (1 << 0)
#define LOG_COMMANDS (1 << 1)
#define LOG_READS (1 << 2)
#define LOG_WRITES (1 << 3)
#define LOG_UNKNOWNS (1 << 4)
#define VERBOSE (0)
#define VERBOSE (0)
#include "logmacro.h"
// device type definition

View File

@ -23,7 +23,7 @@ public:
u8 control_read() { return m_lcd->control_read(); }
void data_write(u8 data) { m_lcd->data_write(data); }
void control_write(u8 data) { m_lcd->control_write(data); }
protected:
virtual void device_start() override;

View File

@ -40,7 +40,7 @@
#define LOG_REJECTS (1 << 8)
#define LOG_ALL (LOG_UNKNOWN | LOG_VC2 | LOG_CMAP0 | LOG_CMAP1 | LOG_XMAP0 | LOG_XMAP1 | LOG_REX3)
#define VERBOSE (0)//(LOG_UNKNOWN | LOG_REX3 | LOG_COMMANDS | LOG_REJECTS)
#define VERBOSE (0)//(LOG_UNKNOWN | LOG_REX3 | LOG_COMMANDS | LOG_REJECTS)
#include "logmacro.h"
DEFINE_DEVICE_TYPE(NEWPORT_VIDEO, newport_video_device, "newport_video", "SGI Newport graphics board")

View File

@ -132,7 +132,7 @@ uint32_t pcw_state::screen_update_pcw(screen_device &screen, bitmap_ind16 &bitma
roller_ram_ptr = m_ram->pointer() + m_roller_ram_addr + roller_ram_offs;
/* get line address */
/* b16-14 control which bank the line is to be found in, b13-3 the address in the bank (in 16-byte units),
/* b16-14 control which bank the line is to be found in, b13-3 the address in the bank (in 16-byte units),
and b2-0 the offset. Thus a roller RAM address bbbxxxxxxxxxxxyyy indicates bank bbb, address 00xxxxxxxxxxx0yyy. */
line_data = ((unsigned char *)roller_ram_ptr)[0] | (((unsigned char *)roller_ram_ptr)[1]<<8);

View File

@ -274,7 +274,7 @@ void tc0480scp_device::device_start()
set_layer_ptrs();
/* create the char set (gfx will then be updated dynamically from RAM) */
set_gfx(0, std::make_unique<gfx_element>(&palette(), tc0480scp_charlayout, (u8 *)&m_ram[0x7000], NATIVE_ENDIAN_VALUE_LE_BE(8,0), 64, m_col_base)); //e000
set_gfx(0, std::make_unique<gfx_element>(&palette(), tc0480scp_charlayout, (u8 *)&m_ram[0x7000], NATIVE_ENDIAN_VALUE_LE_BE(8,0), 64, m_col_base)); //e000
m_gfxdecode->gfx(m_gfxnum)->set_colorbase(m_col_base);
save_item(NAME(m_ram));

View File

@ -185,7 +185,7 @@ uint32_t eurogael_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
{
// the code to write / clear tilemaps for fb and tx layers has been specifically modified to avoid writing to the last 4 bytes
// and the game instead writes scroll values there instead, there is no code to copy from there, so it looks like these are the scroll regs
// each of the 3 layer has its own PCB, all PCBs look identical, so why does handling differ slightly?
int fg_scrollx = ((m_fgvideoram[0xffc]) | (m_fgvideoram[0xffd]<<8)) + 33;