mirror of
https://github.com/holub/mame
synced 2025-04-22 00:11:58 +03:00
namco/namcos22.cpp: Move C71 internal ROM and device defines into namco_dsp.cpp, Cleanups: (#12924)
- Make some variables constant - Fix typename value for some bools - use BIT helper for bitfields - Reduce literal tag usages - Suppress side effects for debugger reads - Simplify gfx decode layouts - Fix some notes
This commit is contained in:
parent
885ea5367a
commit
d5d2481478
@ -2,18 +2,22 @@
|
||||
// copyright-holders:David Haywood
|
||||
/******************************************************************************
|
||||
|
||||
This is simply a TMS320C25 with internal ROM and Namco code '67'
|
||||
This is simply a TMS320C25 with internal ROM and Namco code '67', '71'
|
||||
|
||||
used by Namco System 21 for both the master and slave DSPs (configuration
|
||||
is decided based on a port read)
|
||||
C67 was used by Namco System 21 for both the master and slave DSPs
|
||||
(configuration is decided based on a port read)
|
||||
|
||||
C71 was used by Namco System (Super) 22 for both master and slave DSPs
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "namco_c67.h"
|
||||
#include "namco_dsp.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(NAMCO_C67, namco_c67_device, "namcoc67", "Namco C67 (TMS320C25)")
|
||||
DEFINE_DEVICE_TYPE(NAMCO_C71, namco_c71_device, "namcoc71", "Namco C71 (TMS320C25)")
|
||||
|
||||
|
||||
namco_c67_device::namco_c67_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
tms32025_device(mconfig, NAMCO_C67, tag, owner, clock)
|
||||
@ -21,12 +25,28 @@ namco_c67_device::namco_c67_device(const machine_config &mconfig, const char *ta
|
||||
set_mp_mc(false);
|
||||
}
|
||||
|
||||
namco_c71_device::namco_c71_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
tms32025_device(mconfig, NAMCO_C71, tag, owner, clock)
|
||||
{
|
||||
set_mp_mc(false);
|
||||
}
|
||||
|
||||
ROM_START( c67 )
|
||||
ROM_REGION16_BE( 0x2000, "internal", 0 )
|
||||
ROM_LOAD( "c67.bin", 0, 0x2000, CRC(6bd8988e) SHA1(c9ec18d5f88d53976b94444eedc64d5568155958) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( c71 )
|
||||
ROM_REGION16_BE( 0x2000, "internal", 0 )
|
||||
ROM_LOAD( "c71.bin", 0,0x2000, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
ROM_END
|
||||
|
||||
const tiny_rom_entry *namco_c67_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME(c67);
|
||||
}
|
||||
|
||||
const tiny_rom_entry *namco_c71_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME(c71);
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:David Haywood
|
||||
#ifndef MAME_NAMCO_NAMCO_C67_H
|
||||
#define MAME_NAMCO_NAMCO_C67_H
|
||||
#ifndef MAME_NAMCO_NAMCO_DSP_H
|
||||
#define MAME_NAMCO_NAMCO_DSP_H
|
||||
|
||||
#pragma once
|
||||
|
||||
@ -18,8 +18,19 @@ protected:
|
||||
|
||||
};
|
||||
|
||||
class namco_c71_device : public tms32025_device
|
||||
{
|
||||
public:
|
||||
namco_c71_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
|
||||
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(NAMCO_C67, namco_c67_device)
|
||||
DECLARE_DEVICE_TYPE(NAMCO_C71, namco_c71_device)
|
||||
|
||||
|
||||
|
||||
#endif // MAME_NAMCO_NAMCO_C67_H
|
||||
#endif // MAME_NAMCO_NAMCO_DSP_H
|
@ -263,7 +263,7 @@ Namco System 21 Video Hardware
|
||||
#include "namco_c139.h"
|
||||
#include "namco_c148.h"
|
||||
#include "namco68.h"
|
||||
#include "namco_c67.h"
|
||||
#include "namco_dsp.h"
|
||||
#include "namcos21_dsp_c67.h"
|
||||
#include "namco_c355spr.h"
|
||||
#include "namcos21_3d.h"
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "namco_c67.h"
|
||||
#include "namco_dsp.h"
|
||||
#include "namcos21_3d.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
@ -1091,6 +1091,8 @@ Notes:
|
||||
#include "emu.h"
|
||||
#include "namcos22.h"
|
||||
|
||||
#include "namco_dsp.h"
|
||||
|
||||
#include "cpu/m68000/m68020.h"
|
||||
#include "cpu/tms32025/tms32025.h"
|
||||
#include "speaker.h"
|
||||
@ -1166,15 +1168,15 @@ void namcos22_state::namcos22_sci_w(offs_t offset, u16 data)
|
||||
|
||||
void namcos22_state::syscon_irqlevel(offs_t offset, u8 data)
|
||||
{
|
||||
int line = 1 << offset;
|
||||
int oldlevel = m_syscontrol[offset] & 7;
|
||||
int newlevel = data & 7;
|
||||
const int line = 1 << offset;
|
||||
const int oldlevel = m_syscontrol[offset] & 7;
|
||||
const int newlevel = data & 7;
|
||||
|
||||
m_irq_enabled &= ~line;
|
||||
if (m_is_ss22)
|
||||
m_irq_enabled |= (newlevel != 0) ? line : 0;
|
||||
else
|
||||
m_irq_enabled |= (data & 0x10) ? line : 0; // always sets 0x30 to enable
|
||||
m_irq_enabled |= (BIT(data, 4)) ? line : 0; // always sets 0x30 to enable
|
||||
|
||||
// change active state
|
||||
if (m_irq_state & line)
|
||||
@ -1193,8 +1195,8 @@ void namcos22_state::syscon_irqlevel(offs_t offset, u8 data)
|
||||
|
||||
void namcos22_state::syscon_irqack(offs_t offset, u8 data)
|
||||
{
|
||||
int line = 1 << offset;
|
||||
int level = m_syscontrol[offset] & 7;
|
||||
const int line = 1 << offset;
|
||||
const int level = m_syscontrol[offset] & 7;
|
||||
|
||||
m_irq_state &= ~line;
|
||||
m_maincpu->set_input_line(level, CLEAR_LINE);
|
||||
@ -1335,7 +1337,7 @@ void namcos22_state::ss22_syscon_w(offs_t offset, u8 data)
|
||||
INTERRUPT_GEN_MEMBER(namcos22s_state::namcos22s_interrupt)
|
||||
{
|
||||
// vblank irq
|
||||
int line = 1 << 0;
|
||||
const int line = 1 << 0;
|
||||
if (m_irq_enabled & line)
|
||||
{
|
||||
m_irq_state |= line;
|
||||
@ -1490,7 +1492,7 @@ INTERRUPT_GEN_MEMBER(namcos22_state::namcos22_interrupt)
|
||||
}
|
||||
|
||||
// vblank irq
|
||||
int line = 1 << 4;
|
||||
const int line = 1 << 4;
|
||||
if (m_irq_enabled & line)
|
||||
{
|
||||
m_irq_state |= line;
|
||||
@ -1587,7 +1589,7 @@ u16 namcos22_state::namcos22_keycus_r(offs_t offset)
|
||||
return 0;
|
||||
|
||||
// pick a random number, but don't pick the same twice in a row
|
||||
u16 old_rng = m_keycus_rng;
|
||||
const u16 old_rng = m_keycus_rng;
|
||||
do
|
||||
{
|
||||
m_keycus_rng = machine().rand() & 0xffff;
|
||||
@ -1610,7 +1612,7 @@ void namcos22_state::namcos22_keycus_w(offs_t offset, u16 data, u16 mem_mask)
|
||||
*/
|
||||
u16 namcos22_state::namcos22_portbit_r(offs_t offset)
|
||||
{
|
||||
u16 ret = m_portbits[offset] & 1;
|
||||
const u16 ret = m_portbits[offset] & 1;
|
||||
|
||||
if (!machine().side_effects_disabled())
|
||||
m_portbits[offset] = m_portbits[offset] >> 1 | 0x8000;
|
||||
@ -1801,7 +1803,7 @@ void namcos22_state::namcos22_am(address_map &map)
|
||||
* Known chip type: TC55328P-25, N341256P-15
|
||||
* Notes: connected bits = 0x00ffffff (24bit)
|
||||
*/
|
||||
map(0x70000000, 0x7001ffff).rw(FUNC(namcos22_state::namcos22_dspram_r), FUNC(namcos22_state::namcos22_dspram_w)).share("polygonram");
|
||||
map(0x70000000, 0x7001ffff).rw(FUNC(namcos22_state::namcos22_dspram_r), FUNC(namcos22_state::namcos22_dspram_w)).share(m_polygonram);
|
||||
|
||||
/**
|
||||
* LED on PCB(?)
|
||||
@ -1813,20 +1815,20 @@ void namcos22_state::namcos22_am(address_map &map)
|
||||
* Mounted position: VIDEO 8P
|
||||
* Known chip type: TC55328P-25
|
||||
*/
|
||||
map(0x90010000, 0x90017fff).ram().share("czram");
|
||||
map(0x90010000, 0x90017fff).ram().share(m_czram);
|
||||
|
||||
/**
|
||||
* C305 (Display Controller)
|
||||
* Mounted position: VIDEO 7D (C305)
|
||||
* Notes: Boot time check: 0x90020100 - 0x9002027f
|
||||
*/
|
||||
map(0x90020000, 0x90027fff).ram().share("video_mixer");
|
||||
map(0x90020000, 0x90027fff).ram().share(m_mixer);
|
||||
|
||||
/**
|
||||
* Mounted position: VIDEO 6B, 7B, 8B (near C305)
|
||||
* Note: 0xff00-0xffff are for Tilemap (16 x 16)
|
||||
*/
|
||||
map(0x90028000, 0x9003ffff).ram().w(FUNC(namcos22_state::namcos22_paletteram_w)).share("paletteram");
|
||||
map(0x90028000, 0x9003ffff).ram().w(FUNC(namcos22_state::namcos22_paletteram_w)).share(m_paletteram);
|
||||
|
||||
/**
|
||||
* unknown (option)
|
||||
@ -1837,7 +1839,7 @@ void namcos22_state::namcos22_am(address_map &map)
|
||||
/**
|
||||
* Tilemap PCG Memory
|
||||
*/
|
||||
map(0x90080000, 0x9009ffff).ram().w(FUNC(namcos22_state::namcos22_cgram_w)).share("cgram");
|
||||
map(0x90080000, 0x9009ffff).ram().w(FUNC(namcos22_state::namcos22_cgram_w)).share(m_cgram);
|
||||
|
||||
/**
|
||||
* Tilemap Memory (64 x 64)
|
||||
@ -1845,7 +1847,7 @@ void namcos22_state::namcos22_am(address_map &map)
|
||||
* Known chip type: HM511664 (64k x 16bit SRAM)
|
||||
* Note: Self test: 90084000 - 9009ffff
|
||||
*/
|
||||
map(0x9009e000, 0x9009ffff).ram().w(FUNC(namcos22_state::namcos22_textram_w)).share("textram");
|
||||
map(0x9009e000, 0x9009ffff).ram().w(FUNC(namcos22_state::namcos22_textram_w)).share(m_textram);
|
||||
|
||||
/**
|
||||
* Tilemap Register
|
||||
@ -1872,17 +1874,17 @@ void namcos22s_state::namcos22s_am(address_map &map)
|
||||
map(0x810000, 0x81000f).rw(FUNC(namcos22s_state::namcos22s_czattr_r), FUNC(namcos22s_state::namcos22s_czattr_w));
|
||||
map(0x810200, 0x8103ff).rw(FUNC(namcos22s_state::namcos22s_czram_r), FUNC(namcos22s_state::namcos22s_czram_w));
|
||||
map(0x820000, 0x8202ff).nopw(); // leftover of old (non-super) video mixer device
|
||||
map(0x824000, 0x8243ff).ram().share("video_mixer");
|
||||
map(0x828000, 0x83ffff).ram().w(FUNC(namcos22s_state::namcos22_paletteram_w)).share("paletteram");
|
||||
map(0x824000, 0x8243ff).ram().share(m_mixer);
|
||||
map(0x828000, 0x83ffff).ram().w(FUNC(namcos22s_state::namcos22_paletteram_w)).share(m_paletteram);
|
||||
map(0x860000, 0x860007).rw(FUNC(namcos22s_state::spotram_r), FUNC(namcos22s_state::spotram_w));
|
||||
map(0x880000, 0x89ffff).ram().w(FUNC(namcos22s_state::namcos22_cgram_w)).share("cgram");
|
||||
map(0x89e000, 0x89ffff).ram().w(FUNC(namcos22s_state::namcos22_textram_w)).share("textram");
|
||||
map(0x880000, 0x89ffff).ram().w(FUNC(namcos22s_state::namcos22_cgram_w)).share(m_cgram);
|
||||
map(0x89e000, 0x89ffff).ram().w(FUNC(namcos22s_state::namcos22_textram_w)).share(m_textram);
|
||||
map(0x8a0000, 0x8a000f).rw(FUNC(namcos22s_state::namcos22_tilemapattr_r), FUNC(namcos22s_state::namcos22_tilemapattr_w));
|
||||
map(0x900000, 0x90ffff).ram().share("vics_data");
|
||||
map(0x940000, 0x94007f).rw(FUNC(namcos22s_state::namcos22s_vics_control_r), FUNC(namcos22s_state::namcos22s_vics_control_w)).share("vics_control");
|
||||
map(0x980000, 0x9affff).ram().share("spriteram"); // C374
|
||||
map(0x900000, 0x90ffff).ram().share(m_vics_data);
|
||||
map(0x940000, 0x94007f).rw(FUNC(namcos22s_state::namcos22s_vics_control_r), FUNC(namcos22s_state::namcos22s_vics_control_w)).share(m_vics_control);
|
||||
map(0x980000, 0x9affff).ram().share(m_spriteram); // C374
|
||||
map(0xa04000, 0xa0bfff).rw(FUNC(namcos22s_state::namcos22_shared_r), FUNC(namcos22s_state::namcos22_shared_w)); // COM RAM
|
||||
map(0xc00000, 0xc1ffff).rw(FUNC(namcos22s_state::namcos22_dspram_r), FUNC(namcos22s_state::namcos22_dspram_w)).share("polygonram");
|
||||
map(0xc00000, 0xc1ffff).rw(FUNC(namcos22s_state::namcos22_dspram_r), FUNC(namcos22s_state::namcos22_dspram_w)).share(m_polygonram);
|
||||
map(0xe00000, 0xe3ffff).ram(); // workram
|
||||
}
|
||||
|
||||
@ -1935,7 +1937,7 @@ void alpines_state::rombank_w(u32 data)
|
||||
void alpines_state::alpines_am(address_map &map)
|
||||
{
|
||||
namcos22s_am(map);
|
||||
map(0x200000, 0x3fffff).bankr("rombank");
|
||||
map(0x200000, 0x3fffff).bankr(m_rombank);
|
||||
map(0x300000, 0x300003).w(FUNC(alpines_state::rombank_w));
|
||||
}
|
||||
|
||||
@ -1987,7 +1989,7 @@ u16 namcos22_state::namcos22_dspram16_r(offs_t offset)
|
||||
|
||||
void namcos22_state::namcos22_dspram16_w(offs_t offset, u16 data, u16 mem_mask)
|
||||
{
|
||||
u32 value = m_polygonram[offset];
|
||||
const u32 value = m_polygonram[offset];
|
||||
u16 lo = value & 0xffff;
|
||||
u16 hi = value >> 16;
|
||||
|
||||
@ -2078,7 +2080,11 @@ u16 namcos22_state::point_loword_r()
|
||||
u16 namcos22_state::point_hiword_ir()
|
||||
{
|
||||
// high bit is unknown busy signal (ridgerac, ridgera2, raverace, cybrcomm)
|
||||
return 0x8000 | (point_read(m_point_address++) >> 16 & 0x00ff);
|
||||
const u16 ret = 0x8000 | ((point_read(m_point_address) >> 16) & 0x00ff);
|
||||
if (!machine().side_effects_disabled())
|
||||
m_point_address++;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@ -2117,8 +2123,8 @@ void namcos22_state::pdp_handle_commands(u16 offs)
|
||||
for (;;)
|
||||
{
|
||||
offs &= 0x7fff;
|
||||
u16 start = offs;
|
||||
u16 cmd = pdp_polygonram_read(offs++);
|
||||
const u16 start = offs;
|
||||
const u16 cmd = pdp_polygonram_read(offs++);
|
||||
u32 srcAddr;
|
||||
u32 dstAddr;
|
||||
u16 numWords;
|
||||
@ -2438,14 +2444,13 @@ void namcos22_state::master_render_device_w(u16 data)
|
||||
|
||||
void namcos22_state::master_dsp_program(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x0fff).rom(); /* internal ROM (4k words) */
|
||||
map(0x4000, 0x7fff).ram().share("masterextram").nopw();
|
||||
map(0x4000, 0x7fff).ram().share(m_master_extram).nopw();
|
||||
}
|
||||
|
||||
void namcos22_state::master_dsp_data(address_map &map)
|
||||
{
|
||||
map(0x1000, 0x3fff).ram();
|
||||
map(0x4000, 0x7fff).ram().share("masterextram");
|
||||
map(0x4000, 0x7fff).ram().share(m_master_extram);
|
||||
map(0x8000, 0xffff).rw(FUNC(namcos22_state::namcos22_dspram16_r), FUNC(namcos22_state::namcos22_dspram16_w));
|
||||
}
|
||||
|
||||
@ -2527,13 +2532,12 @@ void namcos22_state::dsp_slave_portb_w(u16 data)
|
||||
|
||||
void namcos22_state::slave_dsp_program(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x0fff).rom(); /* internal ROM */
|
||||
map(0x8000, 0x9fff).ram().share("slaveextram").nopw();
|
||||
map(0x8000, 0x9fff).ram().share(m_slave_extram).nopw();
|
||||
}
|
||||
|
||||
void namcos22_state::slave_dsp_data(address_map &map)
|
||||
{
|
||||
map(0x8000, 0x9fff).ram().share("slaveextram");
|
||||
map(0x8000, 0x9fff).ram().share(m_slave_extram);
|
||||
}
|
||||
|
||||
void namcos22_state::slave_dsp_io(address_map &map)
|
||||
@ -2599,7 +2603,7 @@ u8 namcos22_state::iomcu_port4_s22_r()
|
||||
void namcos22_state::mcu_s22_program(address_map &map)
|
||||
{
|
||||
map(0x002000, 0x002fff).rw("c352", FUNC(c352_device::read), FUNC(c352_device::write));
|
||||
map(0x004000, 0x00bfff).ram().share("shareram");
|
||||
map(0x004000, 0x00bfff).ram().share(m_shareram);
|
||||
map(0x200000, 0x27ffff).rom().region("mcu", 0);
|
||||
}
|
||||
|
||||
@ -2613,7 +2617,7 @@ void namcos22_state::iomcu_s22_program(address_map &map)
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(namcos22s_state::mcu_irq)
|
||||
{
|
||||
int scanline = param;
|
||||
const int scanline = param;
|
||||
|
||||
/* TODO: real sources of these */
|
||||
if (scanline == 480)
|
||||
@ -2696,7 +2700,7 @@ void namcos22s_state::mcu_port4_w(u8 data)
|
||||
for (int i = 0; i < 8; i++)
|
||||
m_mcu_out[i] = BIT(m_mcu_outdata, i);
|
||||
|
||||
machine().bookkeeping().coin_counter_w(0, m_mcu_outdata & 1);
|
||||
machine().bookkeeping().coin_counter_w(0, BIT(m_mcu_outdata, 0));
|
||||
}
|
||||
if (~m_mcu_iocontrol & data & 0x40)
|
||||
{
|
||||
@ -2720,7 +2724,7 @@ void namcos22s_state::mcu_port5_w(u8 data)
|
||||
u8 namcos22s_state::mcu_port5_r()
|
||||
{
|
||||
u16 inputs = m_inputs->read();
|
||||
return (m_mcu_iocontrol & 8) ? inputs & 0xff : inputs >> 8;
|
||||
return BIT(m_mcu_iocontrol, 3) ? (inputs & 0xff) : (inputs >> 8);
|
||||
}
|
||||
|
||||
void namcos22s_state::mcu_port6_w(u8 data)
|
||||
@ -2743,12 +2747,12 @@ u16 namcos22s_state::mcu_adc_r()
|
||||
void namcos22s_state::mcu_program(address_map &map)
|
||||
{
|
||||
map(0x002000, 0x002fff).rw("c352", FUNC(c352_device::read), FUNC(c352_device::write));
|
||||
map(0x004000, 0x00bfff).ram().share("shareram");
|
||||
map(0x004000, 0x00bfff).ram().share(m_shareram);
|
||||
map(0x00c000, 0x00ffff).rom().region("mcu", 0xc000);
|
||||
map(0x200000, 0x27ffff).rom().region("mcu", 0);
|
||||
map(0x300000, 0x300001).nopr(); // ? (cybrcycc, alpines - writes data to RAM, but then never reads from there)
|
||||
map(0x301000, 0x301001).nopw(); // watchdog? LEDs?
|
||||
map(0x308000, 0x308003).w("mb87078", FUNC(mb87078_device::data_w)).umask16(0x00ff);
|
||||
map(0x308000, 0x308003).w(m_mb87078, FUNC(mb87078_device::data_w)).umask16(0x00ff);
|
||||
}
|
||||
|
||||
|
||||
@ -2759,12 +2763,12 @@ void namcos22s_state::mcu_program(address_map &map)
|
||||
/* TODO: REMOVE (THIS IS HANDLED BY "IOMCU") */
|
||||
void namcos22_state::handle_coinage(u16 flags)
|
||||
{
|
||||
int coin_state = (flags & 0x1000) >> 12 | (flags & 0x0200) >> 8;
|
||||
const int coin_state = (flags & 0x1000) >> 12 | (flags & 0x0200) >> 8;
|
||||
|
||||
if (!(coin_state & 1) && (m_old_coin_state & 1))
|
||||
if (BIT(~coin_state, 0) && BIT(m_old_coin_state, 0))
|
||||
m_credits1++;
|
||||
|
||||
if (!(coin_state & 2) && (m_old_coin_state & 2))
|
||||
if (BIT(~coin_state, 1) && BIT(m_old_coin_state, 1))
|
||||
m_credits2++;
|
||||
|
||||
m_old_coin_state = coin_state;
|
||||
@ -2776,7 +2780,7 @@ void namcos22_state::handle_driving_io()
|
||||
{
|
||||
if (m_syscontrol[0x18] != 0)
|
||||
{
|
||||
u16 flags = m_inputs->read();
|
||||
const u16 flags = m_inputs->read();
|
||||
u16 steer = m_adc_ports[0]->read();
|
||||
u16 gas = m_adc_ports[1]->read();
|
||||
u16 brake = m_adc_ports[2]->read();
|
||||
@ -2820,7 +2824,7 @@ void namcos22_state::handle_cybrcomm_io()
|
||||
{
|
||||
if (m_syscontrol[0x18] != 0)
|
||||
{
|
||||
u16 flags = m_inputs->read();
|
||||
const u16 flags = m_inputs->read();
|
||||
m_shareram[0x030/2] = flags;
|
||||
m_shareram[0x032/2] = m_adc_ports[0]->read() * 0x10;
|
||||
m_shareram[0x034/2] = m_adc_ports[1]->read() * 0x10;
|
||||
@ -2852,7 +2856,7 @@ void alpine_state::alpine_mcu_port4_w(u8 data)
|
||||
m_motor_timer->adjust(attotime::from_msec(500), 1);
|
||||
}
|
||||
}
|
||||
else if (m_mcu_outdata & 4)
|
||||
else if (BIT(m_mcu_outdata, 2))
|
||||
{
|
||||
if (m_motor_status == 1)
|
||||
{
|
||||
@ -2878,7 +2882,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(propcycl_state::pedal_interrupt)
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(propcycl_state::pedal_update)
|
||||
{
|
||||
// arbitrary timer for reading optical pedal
|
||||
int pedal = m_opt[0]->read() - 0x80;
|
||||
const int pedal = m_opt[0]->read() - 0x80;
|
||||
|
||||
if (pedal != 0)
|
||||
{
|
||||
@ -3575,44 +3579,9 @@ INPUT_PORTS_END
|
||||
* Sprites are rendered as part of the polygon draw list, based on a per-sprite Z attribute.
|
||||
* Each sprite has explicit placement/color/zoom controls.
|
||||
*/
|
||||
static const gfx_layout sprite_layout =
|
||||
{
|
||||
32,32,
|
||||
RGN_FRAC(1,1),
|
||||
8,
|
||||
{ 0,1,2,3,4,5,6,7 },
|
||||
{
|
||||
0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8,
|
||||
8*8,9*8,10*8,11*8,12*8,13*8,14*8,15*8,
|
||||
16*8,17*8,18*8,19*8,20*8,21*8,22*8,23*8,
|
||||
24*8,25*8,26*8,27*8,28*8,29*8,30*8,31*8
|
||||
},
|
||||
{
|
||||
0*32*8,1*32*8,2*32*8,3*32*8,4*32*8,5*32*8,6*32*8,7*32*8,
|
||||
8*32*8,9*32*8,10*32*8,11*32*8,12*32*8,13*32*8,14*32*8,15*32*8,
|
||||
16*32*8,17*32*8,18*32*8,19*32*8,20*32*8,21*32*8,22*32*8,23*32*8,
|
||||
24*32*8,25*32*8,26*32*8,27*32*8,28*32*8,29*32*8,30*32*8,31*32*8
|
||||
},
|
||||
32*32*8
|
||||
};
|
||||
static GFXLAYOUT_RAW(sprite_layout, 32, 32, 32*8, 32*32*8)
|
||||
|
||||
static const gfx_layout texture_tile_layout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
8,
|
||||
{ 0,1,2,3,4,5,6,7 },
|
||||
{
|
||||
0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8,8*8,9*8,10*8,11*8,12*8,13*8,14*8,15*8
|
||||
},
|
||||
{
|
||||
0*16*8,1*16*8,2*16*8,3*16*8,4*16*8,5*16*8,6*16*8,7*16*8,
|
||||
8*16*8,9*16*8,10*16*8,11*16*8,12*16*8,13*16*8,14*16*8,15*16*8
|
||||
},
|
||||
16*16*8
|
||||
};
|
||||
|
||||
/* text layer uses a set of 16x16x8bpp tiles defined in RAM */
|
||||
/* text layer uses a set of 16x16x4bpp tiles defined in RAM */
|
||||
#define XOR(a) WORD2_XOR_BE(a)
|
||||
static const gfx_layout namcos22_cg_layout =
|
||||
{
|
||||
@ -3629,14 +3598,14 @@ static const gfx_layout namcos22_cg_layout =
|
||||
#undef XOR
|
||||
|
||||
static GFXDECODE_START( gfx_namcos22 )
|
||||
GFXDECODE_ENTRY( nullptr, 0, namcos22_cg_layout, 0, 0x800 )
|
||||
GFXDECODE_ENTRY( "textile", 0, texture_tile_layout, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( nullptr, 0, namcos22_cg_layout, 0, 0x800 )
|
||||
GFXDECODE_ENTRY( "textile", 0, gfx_16x16x8_raw, 0, 0x80 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_super )
|
||||
GFXDECODE_ENTRY( nullptr, 0, namcos22_cg_layout, 0, 0x800 )
|
||||
GFXDECODE_ENTRY( "textile", 0, texture_tile_layout, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "sprite", 0, sprite_layout, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( nullptr, 0, namcos22_cg_layout, 0, 0x800 )
|
||||
GFXDECODE_ENTRY( "textile", 0, gfx_16x16x8_raw, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "sprite", 0, sprite_layout, 0, 0x80 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
@ -3780,7 +3749,7 @@ void namcos22_state::namcos22(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &namcos22_state::namcos22_am);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(namcos22_state::namcos22_interrupt));
|
||||
|
||||
tms32025_device& master(TMS32025(config, m_master, 40_MHz_XTAL));
|
||||
namco_c71_device& master(NAMCO_C71(config, m_master, 40_MHz_XTAL));
|
||||
master.set_addrmap(AS_PROGRAM, &namcos22_state::master_dsp_program);
|
||||
master.set_addrmap(AS_DATA, &namcos22_state::master_dsp_data);
|
||||
master.set_addrmap(AS_IO, &namcos22_state::master_dsp_io);
|
||||
@ -3792,7 +3761,7 @@ void namcos22_state::namcos22(machine_config &config)
|
||||
master.set_vblank_int("screen", FUNC(namcos22_state::dsp_vblank_irq));
|
||||
TIMER(config, "dsp_serial").configure_periodic(FUNC(namcos22_state::dsp_serial_pulse), attotime::from_hz(SERIAL_IO_PERIOD));
|
||||
|
||||
tms32025_device& slave(TMS32025(config, m_slave, 40_MHz_XTAL));
|
||||
namco_c71_device& slave(NAMCO_C71(config, m_slave, 40_MHz_XTAL));
|
||||
slave.set_addrmap(AS_PROGRAM, &namcos22_state::slave_dsp_program);
|
||||
slave.set_addrmap(AS_DATA, &namcos22_state::slave_dsp_data);
|
||||
slave.set_addrmap(AS_IO, &namcos22_state::slave_dsp_io);
|
||||
@ -3964,12 +3933,6 @@ ROM_START( ridgerac )
|
||||
ROM_LOAD32_BYTE( "rr2_prgumb.8d", 0x00001, 0x80000, CRC(64c3aff1) SHA1(46b30ee0601a0a7887d29bc94d595f50a5a812d6) )
|
||||
ROM_LOAD32_BYTE( "rr2_prguub.6d", 0x00000, 0x80000, CRC(e6ff0b8d) SHA1(a02ffd2d3dc0a2c4a5665303c8021fd99a50eb8e) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rr1data.6r", 0, 0x080000, CRC(18f5f748) SHA1(e0d149a66de36156edd9b55f604c9a9801aaefa8) )
|
||||
|
||||
@ -4010,12 +3973,6 @@ ROM_START( ridgeraca )
|
||||
ROM_LOAD32_BYTE( "rr2_prgum.8d", 0x00001, 0x80000, CRC(705ef78a) SHA1(881903413e66d6fd83d46eb18c4e1230531832ae) )
|
||||
ROM_LOAD32_BYTE( "rr2_prguu.6d", 0x00000, 0x80000, CRC(a79e456f) SHA1(049c596e01e53e3a401c5c4260517f170688d387) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rr1data.6r", 0, 0x080000, CRC(18f5f748) SHA1(e0d149a66de36156edd9b55f604c9a9801aaefa8) )
|
||||
|
||||
@ -4056,12 +4013,6 @@ ROM_START( ridgeracb )
|
||||
ROM_LOAD32_BYTE( "rr3_prgumb.8d", 0x00001, 0x80000, CRC(e160f63f) SHA1(9b4b7a13eb4bc19fcb53daedb87e4945c20a1b8e) )
|
||||
ROM_LOAD32_BYTE( "rr3_prguub.6d", 0x00000, 0x80000, CRC(f07c78c0) SHA1(dbed76d868b761711faf5b6e11f2c9affb91db5d) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rr1data.6r", 0, 0x080000, CRC(18f5f748) SHA1(e0d149a66de36156edd9b55f604c9a9801aaefa8) )
|
||||
|
||||
@ -4109,12 +4060,6 @@ ROM_START( ridgeracc )
|
||||
ROM_LOAD32_BYTE( "rr3_prgum-3s.8d", 0x000001, 0x080000, CRC(8fda06ac) SHA1(7e9adba198eb0941100cda64ecedac504f6ac696) )
|
||||
ROM_LOAD32_BYTE( "rr3_prguu-3s.6d", 0x000000, 0x080000, CRC(868398df) SHA1(422e0f9884904b0df93fcacd1468b8da0458eb8e) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rr1data.6r", 0, 0x080000, CRC(18f5f748) SHA1(e0d149a66de36156edd9b55f604c9a9801aaefa8) )
|
||||
|
||||
@ -4155,12 +4100,6 @@ ROM_START( ridgeracj )
|
||||
ROM_LOAD32_BYTE( "rr1_prgum.8d", 0x00001, 0x80000, CRC(705ef78a) SHA1(881903413e66d6fd83d46eb18c4e1230531832ae) )
|
||||
ROM_LOAD32_BYTE( "rr1_prguu.6d", 0x00000, 0x80000, CRC(c1371f96) SHA1(a78e0bf6c147c034487a85efa0a8470f4e8f4bf0) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rr1data.6r", 0, 0x080000, CRC(18f5f748) SHA1(e0d149a66de36156edd9b55f604c9a9801aaefa8) )
|
||||
|
||||
@ -4201,12 +4140,6 @@ ROM_START( ridgeracf )
|
||||
ROM_LOAD32_BYTE( "rrf2_prgum.8d", 0x00001, 0x80000, CRC(d7e0aa16) SHA1(cab4578cdd3af84b865114be4105cfdc2e7abf36) )
|
||||
ROM_LOAD32_BYTE( "rrf2_prguu.6d", 0x00000, 0x80000, CRC(12c808bb) SHA1(64e84686d4ceb8145b9a59b75d0dced830884c9d) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rrf1data.6r", 0, 0x080000, CRC(ce3c6ed6) SHA1(23e033364bc967c10c49fd1d5413dda837670633) )
|
||||
|
||||
@ -4249,12 +4182,6 @@ ROM_START( ridgera2 )
|
||||
ROM_LOAD32_BYTE( "rrs2_prgum.8d", 0x00001, 0x80000, CRC(78c360b6) SHA1(8ee502291359cbc8aef39145c8fe7538311cc58f) ) // The "World" set's ROMs are NOT marked as Rev.B even though
|
||||
ROM_LOAD32_BYTE( "rrs2_prguu.6d", 0x00000, 0x80000, CRC(60d6d4a4) SHA1(759762a9b7d7aee7ee1b44b1721e5356898aa7ea) ) // they are clearly based off of the Japanese Rev.B ROM set.
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rrs1data.6r", 0, 0x080000, CRC(b7063aa8) SHA1(08ff689e8dd529b91eee423c93f084945c6de417) )
|
||||
|
||||
@ -4295,12 +4222,6 @@ ROM_START( ridgera2j )
|
||||
ROM_LOAD32_BYTE( "rrs1_prgumb.8d", 0x00001, 0x80000, CRC(78c360b6) SHA1(8ee502291359cbc8aef39145c8fe7538311cc58f) )
|
||||
ROM_LOAD32_BYTE( "rrs1_prguub.6d", 0x00000, 0x80000, CRC(60d6d4a4) SHA1(759762a9b7d7aee7ee1b44b1721e5356898aa7ea) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rrs1data.6r", 0, 0x080000, CRC(b7063aa8) SHA1(08ff689e8dd529b91eee423c93f084945c6de417) )
|
||||
|
||||
@ -4341,12 +4262,6 @@ ROM_START( ridgera2ja )
|
||||
ROM_LOAD32_BYTE( "rrs1_prgum.8d", 0x00001, 0x80000, CRC(93259fb0) SHA1(c29787e873797a003db27adbd20d7b852e26d8c6) )
|
||||
ROM_LOAD32_BYTE( "rrs1_prguu.6d", 0x00000, 0x80000, CRC(31cdefe8) SHA1(ae836d389bed43dd156eb4cf3e97b6f1ad68181e) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rrs1data.6r", 0, 0x080000, CRC(b7063aa8) SHA1(08ff689e8dd529b91eee423c93f084945c6de417) )
|
||||
|
||||
@ -4387,12 +4302,6 @@ ROM_START( ridgera28 )
|
||||
ROM_LOAD32_BYTE( "rrs_8_prgum.8d", 0x00001, 0x80000, CRC(720c854d) SHA1(9c8e2868dd7ef425fdc6f701968b9713bb12b56c) ) // Has extra PCG TEST in service menu
|
||||
ROM_LOAD32_BYTE( "rrs_8_prguu.6d", 0x00000, 0x80000, CRC(fb4b7e8f) SHA1(1919803dbe35a88bbb6b608d0c3ab8daea31f580) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rrs_8_data.6r", 0, 0x080000, CRC(8bf75a96) SHA1(987d24f2195eb5a84c10c68584404556ef1dfe88) ) // this DATA rom unique to this set
|
||||
|
||||
@ -4434,12 +4343,6 @@ ROM_START( raverace )
|
||||
ROM_LOAD32_BYTE( "rv2_prgumb.8d", 0x00001, 0x80000, CRC(6414a800) SHA1(c278ff644909d12a43ba6fc2bf8d2092e469c3e6) )
|
||||
ROM_LOAD32_BYTE( "rv2_prguub.6d", 0x00000, 0x80000, CRC(a9f18714) SHA1(8e7b17749d151f92020f68d1ac06003cf1f5c573) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rv1data.6r", 0, 0x080000, CRC(d358ec20) SHA1(140c513349240417bb546dd2d151f3666b818e91) )
|
||||
|
||||
@ -4493,12 +4396,6 @@ ROM_START( raveracej )
|
||||
ROM_LOAD32_BYTE( "rv1_prgumb.8d", 0x00001, 0x80000, CRC(375fabcf) SHA1(448e3db3e3fab8c7c27e214ab5a5fa84e5f84366) )
|
||||
ROM_LOAD32_BYTE( "rv1_prguub.6d", 0x00000, 0x80000, CRC(92f834d6) SHA1(028368790f0293fcfea5c7b12f7f315e27a62f77) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rv1data.6r", 0, 0x080000, CRC(d358ec20) SHA1(140c513349240417bb546dd2d151f3666b818e91) )
|
||||
|
||||
@ -4552,12 +4449,6 @@ ROM_START( raveraceja )
|
||||
ROM_LOAD32_BYTE( "rv1_prgum.8d", 0x00001, 0x80000, CRC(28e503e3) SHA1(a3071461f840f28c65c660de215c73f812f356b3) )
|
||||
ROM_LOAD32_BYTE( "rv1_prguu.6d", 0x00000, 0x80000, CRC(c47d9ff4) SHA1(4d7c4ac4151a3b306e7277937add8eee26e561a6) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "rv1data.6r", 0, 0x080000, CRC(d358ec20) SHA1(140c513349240417bb546dd2d151f3666b818e91) )
|
||||
|
||||
@ -4612,12 +4503,6 @@ ROM_START( cybrcomm )
|
||||
ROM_LOAD32_BYTE( "cy1prgum.8d", 0x00001, 0x80000, CRC(c9c4a921) SHA1(76a52461165a8bd8d984a34063fbeb4cb73624af) )
|
||||
ROM_LOAD32_BYTE( "cy1prguu.6d", 0x00000, 0x80000, CRC(5f22975b) SHA1(a1a5cb66358d64a3c564b912f2eeafa182786b1e) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "cy1data.6r", 0x00000, 0x20000, CRC(10d0005b) SHA1(10508eeaf74d24a611b44cd3bb12417ceb78904f) )
|
||||
ROM_RELOAD( 0x20000, 0x20000)
|
||||
@ -4670,12 +4555,6 @@ ROM_START( acedrive )
|
||||
ROM_LOAD32_BYTE( "ad2_prgum.8d", 0x00001, 0x80000, CRC(d5042d6e) SHA1(9ae93e7ea7126302831a879ba0aadcb6e5b842f5) )
|
||||
ROM_LOAD32_BYTE( "ad2_prguu.6d", 0x00000, 0x80000, CRC(86d4661d) SHA1(2a1529a51ca5466994a2d0d84c7aab13cef95a11) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "ad1data.6r", 0, 0x080000, CRC(82024f74) SHA1(711ab0c4f027716aeab18e3a5d3d06fa82af8007) )
|
||||
|
||||
@ -4717,12 +4596,6 @@ ROM_START( victlap )
|
||||
ROM_LOAD32_BYTE( "adv2_prgumb.8d", 0x00001, 0x80000, CRC(ccad3e90) SHA1(16ccddf5114f1847808b0c5655aadd8ac040ff4e) )
|
||||
ROM_LOAD32_BYTE( "adv2_prguub.6d", 0x00000, 0x80000, CRC(f3fffc41) SHA1(277cc5b24a094e4adff41d6d35ffc111bc8fef27) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "adv1data.6r", 0, 0x080000, CRC(10eecdb4) SHA1(aaedeed166614e6670e765e0d7e4e9eb5f38ad10) )
|
||||
|
||||
@ -4770,12 +4643,6 @@ ROM_START( victlapa )
|
||||
ROM_LOAD32_BYTE( "adv2_prgum.8d", 0x00001, 0x80000, CRC(af67f2fb) SHA1(f391843ee0d053e33660c60e3718871142d932f2) )
|
||||
ROM_LOAD32_BYTE( "adv2_prguu.6d", 0x00000, 0x80000, CRC(b60e5d2b) SHA1(f5740615c2864c5c6433275cf4388bda5122b7a7) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "adv1data.6r", 0, 0x080000, CRC(10eecdb4) SHA1(aaedeed166614e6670e765e0d7e4e9eb5f38ad10) )
|
||||
|
||||
@ -4823,12 +4690,6 @@ ROM_START( victlapj )
|
||||
ROM_LOAD32_BYTE( "adv1_prgumc.8d", 0x00001, 0x80000, CRC(464388d9) SHA1(afad780532aff175b0a547392e80c9f01efbf9d9) )
|
||||
ROM_LOAD32_BYTE( "adv1_prguuc.6d", 0x00000, 0x80000, CRC(ad3cb5f9) SHA1(9a62043f60de4d4c82c5bec169ec975add271367) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x80000, "mcu", 0 ) /* sound data */
|
||||
ROM_LOAD( "adv1data.6r", 0, 0x080000, CRC(10eecdb4) SHA1(aaedeed166614e6670e765e0d7e4e9eb5f38ad10) )
|
||||
|
||||
@ -4877,12 +4738,6 @@ ROM_START( propcycl )
|
||||
ROM_LOAD32_BYTE( "pr2ver-a.3", 0x00001, 0x100000, CRC(74bf4b74) SHA1(02713aa07238cc9e30163ae24d12c034aa972ff3) )
|
||||
ROM_LOAD32_BYTE( "pr2ver-a.4", 0x00000, 0x100000, CRC(cf4d5638) SHA1(2ddd00d6ec3b85c234820507650d201e176c94a2) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* SS22-BIOS ver1.41 */
|
||||
ROM_LOAD( "pr1data.8k", 0, 0x080000, CRC(2e5767a4) SHA1(390bf05c90044d841fe2dd4a427177fa1570b9a6) )
|
||||
|
||||
@ -4938,12 +4793,6 @@ ROM_START( propcyclj )
|
||||
ROM_LOAD32_BYTE( "pr1ver-a.3", 0x00001, 0x100000, CRC(77f957d2) SHA1(c8a62464f427cc858d9ea33446a8648e9171ead9) ) /* Fujitsu MBM29F080 flash ROMs at ROM3 & ROM4 on the upperside */
|
||||
ROM_LOAD32_BYTE( "pr1ver-a.4", 0x00000, 0x100000, CRC(7b6844e4) SHA1(1b1c03d258c4a6d95ae227de7741f29b7d9e28d8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* SS22-BIOS ver1.41 */
|
||||
ROM_LOAD( "pr1data.8k", 0, 0x080000, CRC(2e5767a4) SHA1(390bf05c90044d841fe2dd4a427177fa1570b9a6) )
|
||||
|
||||
@ -4989,12 +4838,6 @@ ROM_START( airco22b )
|
||||
ROM_LOAD32_BYTE( "acs1verb.3", 0x00001, 0x100000, CRC(71738e67) SHA1(eb8c66dedbeff911b6166ebbda466fb9656ef0fb) )
|
||||
ROM_LOAD32_BYTE( "acs1verb.4", 0x00000, 0x100000, CRC(3b193add) SHA1(5e3bca13905bfa3a2947f4f16ca01878b0a14a3a) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.20 */
|
||||
ROM_LOAD( "acs1data.8k", 0, 0x080000, CRC(33824bc9) SHA1(80ec63883770e5eec1f5f1ddc16a85ef8f22a48b) )
|
||||
|
||||
@ -5043,12 +4886,6 @@ ROM_START( cybrcycc )
|
||||
ROM_LOAD32_BYTE( "cb2ver-c.3", 0x00001, 0x100000, CRC(47e6306c) SHA1(39d6fc2c3cb9b4c9d3569cedb79b916a90537115) )
|
||||
ROM_LOAD32_BYTE( "cb2ver-c.4", 0x00000, 0x100000, CRC(398426e4) SHA1(f20cd4892420e7b978baa51c9129b362422a3895) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.30 */
|
||||
ROM_LOAD( "cb1datab.8k", 0, 0x080000, CRC(e2404221) SHA1(b88810dd45aee8a5475c30806cdfded25fa14e0e) )
|
||||
|
||||
@ -5097,12 +4934,6 @@ ROM_START( cybrcyccj )
|
||||
ROM_LOAD32_BYTE( "cb1ver-c.3", 0x00001, 0x100000, CRC(97fa2f39) SHA1(865e016553f733430aac70809b21a3b2914bb638) )
|
||||
ROM_LOAD32_BYTE( "cb1ver-c.4", 0x00000, 0x100000, CRC(529bd227) SHA1(6d7979643d015ae388a4a93b9dccc7f43f93baff) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.30 */
|
||||
ROM_LOAD( "cb1datab.8k", 0, 0x080000, CRC(e2404221) SHA1(b88810dd45aee8a5475c30806cdfded25fa14e0e) )
|
||||
|
||||
@ -5152,12 +4983,6 @@ ROM_START( alpinerd )
|
||||
ROM_LOAD32_BYTE( "ar2ver-d.3", 0x00001, 0x100000, CRC(9beffe6a) SHA1(d8efd1e3829d32bb06537d7cecb59f8df9b6d663) )
|
||||
ROM_LOAD32_BYTE( "ar2ver-d.4", 0x00000, 0x100000, CRC(1f3f1134) SHA1(0afa78444d1463d214f1afd7ec500af76d567489) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.30 */
|
||||
ROM_LOAD( "ar1datab.8k", 0, 0x080000, CRC(c26306f8) SHA1(6d8d993c076d5ced523143a86bd0938b3794478d) )
|
||||
|
||||
@ -5207,12 +5032,6 @@ ROM_START( alpinerc )
|
||||
ROM_LOAD32_BYTE( "ar2ver-c.3", 0x00001, 0x100000, CRC(acb3003b) SHA1(ea0cbf3a1607b06b108df051f38fec1f214f42d2) )
|
||||
ROM_LOAD32_BYTE( "ar2ver-c.4", 0x00000, 0x100000, CRC(800acc21) SHA1(41d26766da2db46954a2351bbc50aea94bc1d564) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.30 */
|
||||
ROM_LOAD( "ar1datab.8k", 0, 0x080000, CRC(c26306f8) SHA1(6d8d993c076d5ced523143a86bd0938b3794478d) )
|
||||
|
||||
@ -5260,12 +5079,6 @@ ROM_START( alpinerjc )
|
||||
ROM_LOAD32_WORD_SWAP( "ar1ver-c.1", 0x00002, 0x200000, CRC(8a87dc27) SHA1(ea3675667dce4c184da61dbb204e39da7ae93e82) ) /* SYSTEM SUPER22 MPM(F16) PCB stickered AR1 VER.C */
|
||||
ROM_LOAD32_WORD_SWAP( "ar1ver-c.2", 0x00000, 0x200000, CRC(5f4f5615) SHA1(ff8f818a4017ee8546037a10522f2cf1de6dc7cd) ) /* intel E28F016SA flash ROMs at ROM1 & ROM2 */
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.30 */
|
||||
ROM_LOAD( "ar1datab.8k", 0, 0x080000, CRC(c26306f8) SHA1(6d8d993c076d5ced523143a86bd0938b3794478d) )
|
||||
|
||||
@ -5316,12 +5129,6 @@ ROM_START( alpinr2b )
|
||||
ROM_LOAD32_BYTE( "ars2ver-b.4", 0x000002, 0x200000, CRC(610e49c2) SHA1(433c6d2216551bac31584306f748af1c912c3b07) ) // "
|
||||
ROM_LOAD32_BYTE( "ars2ver-b.5", 0x000000, 0x200000, CRC(7f3517b0) SHA1(3e6ba1a51bf235f40f933aae1f00638b88bba522) ) // "
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.30 */
|
||||
ROM_LOAD( "ars2data.8k", 0x000000, 0x080000, CRC(29b36dcb) SHA1(70fde130c11789c822829493a70ecefb077c0c15) )
|
||||
|
||||
@ -5369,12 +5176,6 @@ ROM_START( alpinr2a )
|
||||
ROM_LOAD32_BYTE( "ars2ver-a.4", 0x000001, 0x200000, CRC(9e9d771d) SHA1(6fb983e3f4f8233544667b1bbf87864e4fb8698c) ) // "
|
||||
ROM_LOAD32_BYTE( "ars2ver-a.5", 0x000000, 0x200000, CRC(e93c7771) SHA1(305f35488a55be1b845702df972bba8334c0726c) ) // "
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.30 */
|
||||
ROM_LOAD( "ars2data.8k", 0x000000, 0x080000, CRC(29b36dcb) SHA1(70fde130c11789c822829493a70ecefb077c0c15) )
|
||||
|
||||
@ -5423,12 +5224,6 @@ ROM_START( alpines )
|
||||
ROM_LOAD32_BYTE( "af2ver-a_um.ic4", 0x000001, 0x200000, CRC(c9095af3) SHA1(4981c8c84057373ef678e51fe72ebac40d1a0cf4) )
|
||||
ROM_LOAD32_BYTE( "af2ver-a_uu.ic5", 0x000000, 0x200000, CRC(54ee33a1) SHA1(0eaa8707ab13a0a66551f61a08986c98f5c9e446) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "af1data.8k", 0x000000, 0x080000, CRC(ef13ebe8) SHA1(5d3f697994d4b5b19ee7fea1e2aef8e39449b68e) )
|
||||
|
||||
@ -5465,12 +5260,6 @@ ROM_START( alpinesa ) // only 4 different DWORDs at 0x700, it's either a serial
|
||||
ROM_LOAD32_BYTE( "af2ver-a_um.ic4", 0x000001, 0x200000, CRC(e7e057e3) SHA1(436e4645ba0e8734c0e25c7c22489bf97066944d) )
|
||||
ROM_LOAD32_BYTE( "af2ver-a_uu.ic5", 0x000000, 0x200000, CRC(3eee10a2) SHA1(6e52c5132581e7fe69a257195af5bc9f3a3efe25) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "af1data.8k", 0x000000, 0x080000, CRC(ef13ebe8) SHA1(5d3f697994d4b5b19ee7fea1e2aef8e39449b68e) )
|
||||
|
||||
@ -5508,12 +5297,6 @@ ROM_START( timecris )
|
||||
ROM_LOAD32_BYTE( "ts2ver-b.3", 0x00001, 0x100000, CRC(9f4ced33) SHA1(32768b5ff263a9e3d11b7b36f6b2d7e951e07419) )
|
||||
ROM_LOAD32_BYTE( "ts2ver-b.4", 0x00000, 0x100000, CRC(3e0cfb38) SHA1(3c56342bd73b1617ea579a0d53e19d59bb04fd99) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.30 */
|
||||
ROM_LOAD( "ts1data.8k", 0, 0x080000, CRC(e68aa973) SHA1(663e80d249be5d5841139d98a9d72e2396851272) )
|
||||
|
||||
@ -5559,12 +5342,6 @@ ROM_START( timecrisa )
|
||||
ROM_LOAD32_WORD_SWAP( "ts2ver-a.1", 0x00002, 0x200000, CRC(d57eb74b) SHA1(536dd9305d0ac44110c575776333310cc57b5242) )
|
||||
ROM_LOAD32_WORD_SWAP( "ts2ver-a.2", 0x00000, 0x200000, CRC(671588af) SHA1(63f992c6795521fd263a0ebf230f8dc88cbfc443) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.30 */
|
||||
ROM_LOAD( "ts1data.8k", 0, 0x080000, CRC(e68aa973) SHA1(663e80d249be5d5841139d98a9d72e2396851272) )
|
||||
|
||||
@ -5613,12 +5390,6 @@ ROM_START( tokyowar )
|
||||
ROM_LOAD32_BYTE( "tw2ver-a.3", 0x000001, 0x100000, CRC(7d42c516) SHA1(28c1596dd55c15207bbb41a8b9a5abc97abc2bc8) )
|
||||
ROM_LOAD32_BYTE( "tw2ver-a.4", 0x000000, 0x100000, CRC(b904ed16) SHA1(773e11536e1b3fe4971608a63a8e6eca702f8667) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "tw1data.8k", 0x000000, 0x080000, CRC(bd046e4b) SHA1(162bc4ab69959ccab49fd69de291d34d472fb1c8) )
|
||||
|
||||
@ -5670,12 +5441,6 @@ ROM_START( tokyowarj )
|
||||
ROM_LOAD32_BYTE( "tw1ver-a.3", 0x000001, 0x100000, CRC(17146e7f) SHA1(0fd270152eef1966e0960531554cbe115668205f) )
|
||||
ROM_LOAD32_BYTE( "tw1ver-a.4", 0x000000, 0x100000, CRC(12698e2a) SHA1(51761ea96cb458f56d832cd233afbc374ded7f20) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "tw1data.8k", 0x000000, 0x080000, CRC(bd046e4b) SHA1(162bc4ab69959ccab49fd69de291d34d472fb1c8) )
|
||||
|
||||
@ -5728,12 +5493,6 @@ ROM_START( dirtdash )
|
||||
ROM_LOAD32_BYTE( "dt2verb.rom3", 0x000001, 0x100000, NO_DUMP ) // has failed internally, reads always 0x00 filled
|
||||
ROM_LOAD32_BYTE( "dt2verb.rom4", 0x000000, 0x100000, CRC(9a80fc82) SHA1(81a14749a39d213db58527f7a98d48dbfca1c153) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "dt1dataa.8k", 0x000000, 0x080000, CRC(9bcdea21) SHA1(26ae025cf746d3a703a82495eb2bb515b828a650) )
|
||||
|
||||
@ -5776,12 +5535,6 @@ ROM_START( dirtdasha )
|
||||
ROM_LOAD32_WORD_SWAP( "dt2vera.1", 0x000002, 0x200000, CRC(402a3d73) SHA1(009b57ed0ea228ccedb139d945b9eaf2a36e2502) )
|
||||
ROM_LOAD32_WORD_SWAP( "dt2vera.2", 0x000000, 0x200000, CRC(66ed140d) SHA1(a472fdc7b6aaeb4b3643ecdafd32fa665e7c7aa2) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "dt1dataa.8k", 0x000000, 0x080000, CRC(9bcdea21) SHA1(26ae025cf746d3a703a82495eb2bb515b828a650) )
|
||||
|
||||
@ -5824,12 +5577,6 @@ ROM_START( dirtdashj )
|
||||
ROM_LOAD32_WORD_SWAP( "dt1vera.1", 0x000002, 0x200000, CRC(057b280b) SHA1(e7f038c1b3c7520d32c9962cc00104bcf65d60f6) )
|
||||
ROM_LOAD32_WORD_SWAP( "dt1vera.2", 0x000000, 0x200000, CRC(82f822d2) SHA1(170cf326903fe7b4e203b181124de609826b8e1f) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "dt1dataa.8k", 0x000000, 0x080000, CRC(9bcdea21) SHA1(26ae025cf746d3a703a82495eb2bb515b828a650) )
|
||||
|
||||
@ -5875,12 +5622,6 @@ ROM_START( aquajet )
|
||||
ROM_LOAD32_BYTE( "aj2ver-b.3", 0x000001, 0x100000, CRC(ef6ebcf7) SHA1(358973b678b9a3065e945fb589af16e8102d437b) )
|
||||
ROM_LOAD32_BYTE( "aj2ver-b.4", 0x000000, 0x100000, CRC(7799b909) SHA1(e40005f96f51742b2778605926b8184c9b2c1ad2) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "aj1data.8k", 0x000000, 0x080000, CRC(52bcc6d5) SHA1(25319ea6db35cc9bdcb39cc83d597a2a9f1690f3) )
|
||||
|
||||
@ -5933,12 +5674,6 @@ ROM_START( adillor )
|
||||
ROM_LOAD32_BYTE( "am2vera.rom3", 0x000001, 0x100000, CRC(80e9435a) SHA1(d92f6ec607e628270ceb3e09c1980d6e13bd88a7) )
|
||||
ROM_LOAD32_BYTE( "am2vera.rom4", 0x000000, 0x100000, CRC(1e3a6032) SHA1(f4c6539a78f94ae2c240aeb8f85712a612933e8c) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "am1data.8k", 0x000000, 0x080000, CRC(3c176589) SHA1(fabf8debfa118893449f6086986fd1aa012daf27) )
|
||||
|
||||
@ -5998,12 +5733,6 @@ ROM_START( adillorj )
|
||||
ROM_LOAD32_BYTE( "am1vera.rom3", 0x000001, 0x100000, CRC(af0983bc) SHA1(136d2e14485864e20d7a6947d640577b8a85243c) )
|
||||
ROM_LOAD32_BYTE( "am1vera.rom4", 0x000000, 0x100000, CRC(4424047f) SHA1(d0ca736c085db58d33b603813b7a54c8ce995bac) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "master", 0 ) /* Master DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION( 0x10000*2, "slave", 0 ) /* Slave DSP */
|
||||
ROM_LOAD16_WORD( "c71.bin", 0,0x1000*2, CRC(47c623ab) SHA1(e363ac50f5556f83308d4cc191b455e9b62bcfc8) )
|
||||
|
||||
ROM_REGION16_LE( 0x080000, "mcu", 0 ) /* S22-BIOS ver1.41 */
|
||||
ROM_LOAD( "am1data.8k", 0x000000, 0x080000, CRC(3c176589) SHA1(fabf8debfa118893449f6086986fd1aa012daf27) )
|
||||
|
||||
|
@ -90,7 +90,7 @@ struct namcos22_scenenode
|
||||
int cz_type;
|
||||
int cz_adjust;
|
||||
int objectflags;
|
||||
int direct;
|
||||
bool direct;
|
||||
namcos22_polyvertex v[4];
|
||||
} quad;
|
||||
|
||||
@ -389,7 +389,7 @@ protected:
|
||||
void draw_direct_poly(const u16 *src);
|
||||
void draw_polygons();
|
||||
void draw_sprites();
|
||||
void draw_sprite_group(const u32 *src, const u32 *attr, int num_sprites, int deltax, int deltay, int y_lowres);
|
||||
void draw_sprite_group(const u32 *src, const u32 *attr, int num_sprites, int deltax, int deltay, bool y_lowres);
|
||||
void namcos22_mix_text_layer(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
void install_c74_speedup();
|
||||
@ -483,7 +483,7 @@ protected:
|
||||
std::unique_ptr<u8[]> m_dirtypal;
|
||||
std::unique_ptr<bitmap_ind16> m_mix_bitmap;
|
||||
|
||||
tilemap_t *m_bgtilemap;
|
||||
tilemap_t *m_text_tilemap;
|
||||
u16 m_tilemapattr[8] = { };
|
||||
u16 m_rowscroll[480] = { };
|
||||
u16 m_lastrow = 0;
|
||||
|
@ -42,13 +42,13 @@ void namcos22_renderer::renderscanline_poly(int32_t scanline, const extent_t &ex
|
||||
float du = extent.param[1].dpdx;
|
||||
float dv = extent.param[2].dpdx;
|
||||
float di = extent.param[3].dpdx;
|
||||
int bn = extra.bn * 0x1000;
|
||||
const int bn = extra.bn * 0x1000;
|
||||
const pen_t *pens = extra.pens;
|
||||
int fogfactor = 0xff - extra.fogfactor;
|
||||
bool shade_enabled = extra.shade_enabled;
|
||||
bool texture_enabled = extra.texture_enabled;
|
||||
const int fogfactor = 0xff - extra.fogfactor;
|
||||
const bool shade_enabled = extra.shade_enabled;
|
||||
const bool texture_enabled = extra.texture_enabled;
|
||||
rgbaint_t fogcolor = extra.fogcolor;
|
||||
int prioverchar = extra.prioverchar;
|
||||
const int prioverchar = extra.prioverchar;
|
||||
int penmask = 0xff;
|
||||
int penshift = 0;
|
||||
int pen = 0;
|
||||
@ -76,16 +76,16 @@ void namcos22_renderer::renderscanline_poly(int32_t scanline, const extent_t &ex
|
||||
|
||||
for (int x = extent.startx; x < extent.stopx; x++)
|
||||
{
|
||||
float ooz = 1.0f / z;
|
||||
const float ooz = 1.0f / z;
|
||||
|
||||
// texture mapping
|
||||
if (texture_enabled)
|
||||
{
|
||||
int tx = int(u * ooz) & 0xfff;
|
||||
int ty = (int(v * ooz) & 0xfff) | bn;
|
||||
int to = (ty << 4 & 0xfff00) | (tx >> 4);
|
||||
pen = ttdata[(ttmap[to] << 8) | tt_ayx_to_pixel[ttattr[to] << 8 | (ty << 4 & 0xf0) | (tx & 0xf)]];
|
||||
rgb.set(pens[pen >> penshift & penmask]);
|
||||
const int tx = int(u * ooz) & 0xfff;
|
||||
const int ty = (int(v * ooz) & 0xfff) | bn;
|
||||
const int to = ((ty << 4) & 0xfff00) | (tx >> 4);
|
||||
pen = ttdata[(ttmap[to] << 8) | tt_ayx_to_pixel[(ttattr[to] << 8) | ((ty << 4) & 0xf0) | (tx & 0xf)]];
|
||||
rgb.set(pens[(pen >> penshift) & penmask]);
|
||||
}
|
||||
else
|
||||
rgb.set(0, 0xff, 0xff, 0xff);
|
||||
@ -99,7 +99,7 @@ void namcos22_renderer::renderscanline_poly(int32_t scanline, const extent_t &ex
|
||||
// shading after fog
|
||||
if (shade_enabled)
|
||||
{
|
||||
int shade = i * ooz;
|
||||
const int shade = i * ooz;
|
||||
rgb.scale_imm_and_clamp(shade << 2);
|
||||
}
|
||||
|
||||
@ -124,26 +124,26 @@ void namcos22_renderer::renderscanline_poly_ss22(int32_t scanline, const extent_
|
||||
float du = extent.param[1].dpdx;
|
||||
float dv = extent.param[2].dpdx;
|
||||
float di = extent.param[3].dpdx;
|
||||
int bn = extra.bn * 0x1000;
|
||||
const int bn = extra.bn * 0x1000;
|
||||
const pen_t *pens = extra.pens;
|
||||
int fogfactor = 0xff - extra.fogfactor;
|
||||
bool shade_enabled = extra.shade_enabled;
|
||||
bool texture_enabled = extra.texture_enabled;
|
||||
const bool shade_enabled = extra.shade_enabled;
|
||||
const bool texture_enabled = extra.texture_enabled;
|
||||
rgbaint_t fogcolor = extra.fogcolor;
|
||||
int prioverchar = extra.prioverchar;
|
||||
const int prioverchar = extra.prioverchar;
|
||||
int penmask = 0xff;
|
||||
int penshift = 0;
|
||||
int pen = 0;
|
||||
rgbaint_t rgb;
|
||||
|
||||
const u8 *czram = extra.czram;
|
||||
int cz_sdelta = extra.cz_sdelta;
|
||||
bool zfog_enabled = extra.zfog_enabled;
|
||||
int fadefactor = 0xff - extra.fadefactor;
|
||||
int alphafactor = 0xff - extra.alpha;
|
||||
bool alpha_enabled = extra.alpha_enabled;
|
||||
u8 alpha_pen = m_state.m_poly_alpha_pen;
|
||||
bool polyfade_enabled = extra.pfade_enabled;
|
||||
const int cz_sdelta = extra.cz_sdelta;
|
||||
const bool zfog_enabled = extra.zfog_enabled;
|
||||
const int fadefactor = 0xff - extra.fadefactor;
|
||||
const int alphafactor = 0xff - extra.alpha;
|
||||
const bool alpha_enabled = extra.alpha_enabled;
|
||||
const u8 alpha_pen = m_state.m_poly_alpha_pen;
|
||||
const bool polyfade_enabled = extra.pfade_enabled;
|
||||
rgbaint_t fadecolor = extra.fadecolor;
|
||||
rgbaint_t polycolor = extra.polycolor;
|
||||
|
||||
@ -169,16 +169,16 @@ void namcos22_renderer::renderscanline_poly_ss22(int32_t scanline, const extent_
|
||||
|
||||
for (int x = extent.startx; x < extent.stopx; x++)
|
||||
{
|
||||
float ooz = 1.0f / z;
|
||||
const float ooz = 1.0f / z;
|
||||
|
||||
// texture mapping
|
||||
if (texture_enabled)
|
||||
{
|
||||
int tx = int(u * ooz) & 0xfff;
|
||||
int ty = (int(v * ooz) & 0xfff) | bn;
|
||||
int to = (ty << 4 & 0xfff00) | (tx >> 4);
|
||||
pen = ttdata[(ttmap[to] << 8) | tt_ayx_to_pixel[ttattr[to] << 8 | (ty << 4 & 0xf0) | (tx & 0xf)]];
|
||||
rgb.set(pens[pen >> penshift & penmask]);
|
||||
const int tx = int(u * ooz) & 0xfff;
|
||||
const int ty = (int(v * ooz) & 0xfff) | bn;
|
||||
const int to = ((ty << 4) & 0xfff00) | (tx >> 4);
|
||||
pen = ttdata[(ttmap[to] << 8) | tt_ayx_to_pixel[(ttattr[to] << 8) | ((ty << 4) & 0xf0) | (tx & 0xf)]];
|
||||
rgb.set(pens[(pen >> penshift) & penmask]);
|
||||
}
|
||||
else
|
||||
rgb.set(0, 0xff, 0xff, 0xff);
|
||||
@ -186,7 +186,7 @@ void namcos22_renderer::renderscanline_poly_ss22(int32_t scanline, const extent_
|
||||
// shading before fog
|
||||
if (shade_enabled)
|
||||
{
|
||||
int shade = i * ooz;
|
||||
const int shade = i * ooz;
|
||||
rgb.scale_imm_and_clamp(shade << 2);
|
||||
}
|
||||
|
||||
@ -237,16 +237,16 @@ void namcos22_renderer::renderscanline_poly_ss22(int32_t scanline, const extent_
|
||||
|
||||
void namcos22_renderer::renderscanline_sprite(int32_t scanline, const extent_t &extent, const namcos22_object_data &extra, int threadid)
|
||||
{
|
||||
int y_index = extent.param[1].start - extra.flipy;
|
||||
const int y_index = extent.param[1].start - extra.flipy;
|
||||
float x_index = extent.param[0].start - extra.flipx;
|
||||
float dx = extent.param[0].dpdx;
|
||||
const float dx = extent.param[0].dpdx;
|
||||
const pen_t *pal = extra.pens;
|
||||
int prioverchar = extra.prioverchar;
|
||||
int alphafactor = extra.alpha;
|
||||
bool alpha_enabled = extra.alpha_enabled;
|
||||
u8 alpha_pen = m_state.m_poly_alpha_pen;
|
||||
int fogfactor = 0xff - extra.fogfactor;
|
||||
int fadefactor = 0xff - extra.fadefactor;
|
||||
const int prioverchar = extra.prioverchar;
|
||||
const int alphafactor = extra.alpha;
|
||||
const bool alpha_enabled = extra.alpha_enabled;
|
||||
const u8 alpha_pen = m_state.m_poly_alpha_pen;
|
||||
const int fogfactor = 0xff - extra.fogfactor;
|
||||
const int fadefactor = 0xff - extra.fadefactor;
|
||||
rgbaint_t fogcolor(extra.fogcolor);
|
||||
rgbaint_t fadecolor(extra.fadecolor);
|
||||
u8 *const source = (u8 *)extra.source + y_index * extra.line_modulo;
|
||||
@ -292,11 +292,11 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
vertex_t clipv[6];
|
||||
int clipverts;
|
||||
int vertnum;
|
||||
int direct = node->data.quad.direct;
|
||||
const bool direct = node->data.quad.direct;
|
||||
|
||||
// scene clip
|
||||
int cx = 320 + node->data.quad.vx;
|
||||
int cy = 240 + node->data.quad.vy;
|
||||
const int cx = 320 + node->data.quad.vx;
|
||||
const int cy = 240 + node->data.quad.vy;
|
||||
m_cliprect.set(cx + node->data.quad.vl, cx - node->data.quad.vr - 1, cy + node->data.quad.vu, cy - node->data.quad.vd - 1);
|
||||
m_cliprect &= screen.visible_area();
|
||||
|
||||
@ -320,7 +320,7 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
|
||||
for (vertnum = 0; vertnum < clipverts; vertnum++)
|
||||
{
|
||||
poly3d_t ooz = 1.0 / clipv[vertnum].p[0];
|
||||
const poly3d_t ooz = 1.0 / clipv[vertnum].p[0];
|
||||
clipv[vertnum].x = cx + clipv[vertnum].x * ooz;
|
||||
clipv[vertnum].y = cy - clipv[vertnum].y * ooz;
|
||||
clipv[vertnum].p[0] = ooz;
|
||||
@ -336,7 +336,7 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
clipverts = 4;
|
||||
for (vertnum = 0; vertnum < 4; vertnum++)
|
||||
{
|
||||
poly3d_t ooz = node->data.quad.v[vertnum].z;
|
||||
const poly3d_t ooz = node->data.quad.v[vertnum].z;
|
||||
clipv[vertnum].x = cx + node->data.quad.v[vertnum].x;
|
||||
clipv[vertnum].y = cy - node->data.quad.v[vertnum].y;
|
||||
clipv[vertnum].p[0] = ooz;
|
||||
@ -346,11 +346,11 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
}
|
||||
}
|
||||
|
||||
int color = node->data.quad.color;
|
||||
int cz_value = node->data.quad.cz_value;
|
||||
int cz_type = node->data.quad.cz_type;
|
||||
int cz_adjust = node->data.quad.cz_adjust;
|
||||
int objectflags = node->data.quad.objectflags;
|
||||
const int color = node->data.quad.color;
|
||||
const int cz_value = node->data.quad.cz_value;
|
||||
const int cz_type = node->data.quad.cz_type;
|
||||
const int cz_adjust = node->data.quad.cz_adjust;
|
||||
const int objectflags = node->data.quad.objectflags;
|
||||
|
||||
namcos22_object_data &extra = object_data().next();
|
||||
|
||||
@ -373,7 +373,7 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
if (m_state.m_is_ss22)
|
||||
{
|
||||
// global fade
|
||||
if (m_state.m_mixer_flags & 1)
|
||||
if (BIT(m_state.m_mixer_flags, 0))
|
||||
{
|
||||
extra.fadefactor = m_state.m_screen_fade_factor;
|
||||
extra.fadecolor.set(0, m_state.m_screen_fade_r, m_state.m_screen_fade_g, m_state.m_screen_fade_b);
|
||||
@ -388,10 +388,10 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
extra.alpha_enabled = (color & 0x7f) != m_state.m_poly_alpha_color;
|
||||
|
||||
// poly fog
|
||||
if (~color & 0x80)
|
||||
if (BIT(~color, 7))
|
||||
{
|
||||
int bank = m_state.m_czattr[6] >> (cz_type * 2) & 3;
|
||||
int bank_enabled = m_state.m_czattr[4] >> (bank * 4) & 4;
|
||||
const int bank = m_state.m_czattr[6] >> (cz_type * 2) & 3;
|
||||
const bool bank_enabled = m_state.m_czattr[4] >> (bank * 4) & 4;
|
||||
|
||||
if (bank_enabled)
|
||||
{
|
||||
@ -405,7 +405,7 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
|
||||
if (direct)
|
||||
{
|
||||
int fogfactor = m_state.m_recalc_czram[bank][cz_value] + delta;
|
||||
const int fogfactor = m_state.m_recalc_czram[bank][cz_value] + delta;
|
||||
extra.fogfactor = std::clamp(fogfactor, 0, 0xff);
|
||||
}
|
||||
else
|
||||
@ -420,9 +420,9 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
else
|
||||
{
|
||||
// poly fog
|
||||
if (~color & 0x80)
|
||||
if (BIT(~color, 7))
|
||||
{
|
||||
int cz_color = cz_type & nthbyte(&m_state.m_fog_colormask, cz_type);
|
||||
const int cz_color = cz_type & nthbyte(&m_state.m_fog_colormask, cz_type);
|
||||
extra.fogcolor.set(0, m_state.m_fog_r_per_cztype[cz_color], m_state.m_fog_g_per_cztype[cz_color], m_state.m_fog_b_per_cztype[cz_color]);
|
||||
extra.fogfactor = nthbyte(m_state.m_czram, cz_type << 13 | cz_value);
|
||||
}
|
||||
@ -435,7 +435,7 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
extra.texture_enabled = false;
|
||||
}
|
||||
|
||||
if (objectflags & 0x200000)
|
||||
if (BIT(objectflags, 21))
|
||||
{
|
||||
// disable textures?
|
||||
if ((cz_adjust & 0x7f0000) == 0x3a0000)
|
||||
@ -443,7 +443,7 @@ void namcos22_renderer::poly3d_drawquad(screen_device &screen, bitmap_rgb32 &bit
|
||||
}
|
||||
|
||||
// disable poly fog
|
||||
if (cz_adjust & 0x800000)
|
||||
if (BIT(cz_adjust, 23))
|
||||
{
|
||||
extra.zfog_enabled = false;
|
||||
extra.fogfactor = 0;
|
||||
@ -471,16 +471,16 @@ void namcos22_renderer::poly3d_drawsprite(
|
||||
)
|
||||
{
|
||||
gfx_element *gfx = m_state.m_gfxdecode->gfx(2);
|
||||
int sprite_screen_height = (scaley * gfx->height() + 0x8000) >> 16;
|
||||
int sprite_screen_width = (scalex * gfx->width() + 0x8000) >> 16;
|
||||
const int sprite_screen_height = (scaley * gfx->height() + 0x8000) >> 16;
|
||||
const int sprite_screen_width = (scalex * gfx->width() + 0x8000) >> 16;
|
||||
if (sprite_screen_width && sprite_screen_height)
|
||||
{
|
||||
poly3d_t fsx = sx;
|
||||
poly3d_t fsy = sy;
|
||||
poly3d_t fwidth = gfx->width();
|
||||
poly3d_t fheight = gfx->height();
|
||||
poly3d_t fsw = sprite_screen_width;
|
||||
poly3d_t fsh = sprite_screen_height;
|
||||
const poly3d_t fsx = sx;
|
||||
const poly3d_t fsy = sy;
|
||||
const poly3d_t fwidth = gfx->width();
|
||||
const poly3d_t fheight = gfx->height();
|
||||
const poly3d_t fsw = sprite_screen_width;
|
||||
const poly3d_t fsh = sprite_screen_height;
|
||||
|
||||
namcos22_object_data &extra = object_data().next();
|
||||
vertex_t vert[4];
|
||||
@ -514,14 +514,14 @@ void namcos22_renderer::poly3d_drawsprite(
|
||||
vert[3].p[1] = fheight;
|
||||
|
||||
// global fade
|
||||
if (m_state.m_mixer_flags & 2 || fade_enabled)
|
||||
if (BIT(m_state.m_mixer_flags, 1) || fade_enabled)
|
||||
{
|
||||
extra.fadefactor = m_state.m_screen_fade_factor;
|
||||
extra.fadecolor.set(0, m_state.m_screen_fade_r, m_state.m_screen_fade_g, m_state.m_screen_fade_b);
|
||||
}
|
||||
|
||||
// sprite fog
|
||||
if (~color & 0x80 && cz_factor > 0)
|
||||
if (BIT(~color, 7) && cz_factor > 0)
|
||||
{
|
||||
extra.fogfactor = cz_factor;
|
||||
extra.fogcolor.set(0, m_state.m_fog_r, m_state.m_fog_g, m_state.m_fog_b);
|
||||
@ -695,7 +695,7 @@ void namcos22_renderer::render_scene(screen_device &screen, bitmap_rgb32 &bitmap
|
||||
|
||||
float namcos22_state::dspfloat_to_nativefloat(u32 val)
|
||||
{
|
||||
s16 mantissa = (s16)val;
|
||||
const s16 mantissa = (s16)val;
|
||||
float result = (float)mantissa;
|
||||
int exponent = (val >> 16) & 0x3f;
|
||||
while (exponent < 0x2e)
|
||||
@ -746,9 +746,9 @@ void namcos22_state::matrix3d_apply_reflection(float m[4][4])
|
||||
float r[4][4];
|
||||
matrix3d_identity(r);
|
||||
|
||||
if (m_reflection & 0x10)
|
||||
if (BIT(m_reflection, 4))
|
||||
r[0][0] = -1.0f;
|
||||
if (m_reflection & 0x20)
|
||||
if (BIT(m_reflection, 5))
|
||||
r[1][1] = -1.0f;
|
||||
|
||||
matrix3d_multiply(m, r);
|
||||
@ -823,7 +823,7 @@ void namcos22_state::draw_direct_poly(const u16 *src)
|
||||
if (machine().video().skip_this_frame())
|
||||
return;
|
||||
|
||||
int polys_enabled = m_is_ss22 ? nthbyte(m_mixer, 0x1f) & 1 : 1;
|
||||
const bool polys_enabled = m_is_ss22 ? BIT(nthbyte(m_mixer, 0x1f), 0) : true;
|
||||
if (!polys_enabled) return;
|
||||
/**
|
||||
* word#0:
|
||||
@ -850,7 +850,7 @@ void namcos22_state::draw_direct_poly(const u16 *src)
|
||||
* xx-- ---- // BRI
|
||||
* --xx xxxx // zpos
|
||||
*/
|
||||
u32 zsort = ((src[1] & 0xfff) << 12) | (src[0] & 0xfff);
|
||||
const u32 zsort = ((src[1] & 0xfff) << 12) | (src[0] & 0xfff);
|
||||
struct namcos22_scenenode *node = m_poly->new_scenenode(machine(), zsort, NAMCOS22_SCENENODE_QUAD);
|
||||
|
||||
if (m_is_ss22)
|
||||
@ -864,7 +864,7 @@ void namcos22_state::draw_direct_poly(const u16 *src)
|
||||
node->data.quad.texturebank = (src[1 + 4] & 0xf000) >> 12;
|
||||
}
|
||||
node->data.quad.color = (src[2] & 0xff00) >> 8;
|
||||
node->data.quad.cz_value = src[3] >> 2 & 0x1fff;
|
||||
node->data.quad.cz_value = (src[3] >> 2) & 0x1fff;
|
||||
node->data.quad.cz_type = src[3] & 3;
|
||||
node->data.quad.cz_adjust = 0;
|
||||
node->data.quad.objectflags = 0;
|
||||
@ -884,7 +884,7 @@ void namcos22_state::draw_direct_poly(const u16 *src)
|
||||
p->v = src[1] & 0x0fff;
|
||||
}
|
||||
|
||||
int mantissa = src[5];
|
||||
const int mantissa = src[5];
|
||||
int exponent = src[4] & 0x3f;
|
||||
|
||||
if (mantissa)
|
||||
@ -905,7 +905,7 @@ void namcos22_state::draw_direct_poly(const u16 *src)
|
||||
src += 6;
|
||||
}
|
||||
|
||||
node->data.quad.direct = 1;
|
||||
node->data.quad.direct = true;
|
||||
node->data.quad.vx = 0;
|
||||
node->data.quad.vy = 0;
|
||||
node->data.quad.vu = -240;
|
||||
@ -983,7 +983,7 @@ void namcos22_state::blit_single_quad(u32 color, u32 addr, float m[4][4], int po
|
||||
return;
|
||||
|
||||
// backface cull one-sided polygons
|
||||
if (flags & 0x0020)
|
||||
if (BIT(flags, 5))
|
||||
{
|
||||
float c1 =
|
||||
(v[2].x*((v[0].z*v[1].y)-(v[0].y*v[1].z)))+
|
||||
@ -1073,7 +1073,7 @@ void namcos22_state::blit_single_quad(u32 color, u32 addr, float m[4][4], int po
|
||||
else
|
||||
{
|
||||
// flat shading
|
||||
bri = color >> 16 & 0xff;
|
||||
bri = (color >> 16) & 0xff;
|
||||
}
|
||||
|
||||
v[i].bri = bri;
|
||||
@ -1085,7 +1085,7 @@ void namcos22_state::blit_single_quad(u32 color, u32 addr, float m[4][4], int po
|
||||
node->data.quad.texturebank = (v[0].v >> 12) & 0xf;
|
||||
node->data.quad.color = (color >> 8) & 0xff;
|
||||
node->data.quad.cz_value = cz_value >> 8;
|
||||
node->data.quad.cz_type = flags >> 10 & 3;
|
||||
node->data.quad.cz_type = (flags >> 10) & 3;
|
||||
node->data.quad.cz_adjust = m_cz_adjust;
|
||||
node->data.quad.objectflags = m_objectflags;
|
||||
|
||||
@ -1100,7 +1100,7 @@ void namcos22_state::blit_single_quad(u32 color, u32 addr, float m[4][4], int po
|
||||
p->bri = v[i].bri;
|
||||
}
|
||||
|
||||
node->data.quad.direct = 0;
|
||||
node->data.quad.direct = false;
|
||||
node->data.quad.vx = m_camera_vx;
|
||||
node->data.quad.vy = m_camera_vy;
|
||||
node->data.quad.vu = m_camera_vu;
|
||||
@ -1112,12 +1112,12 @@ void namcos22_state::blit_single_quad(u32 color, u32 addr, float m[4][4], int po
|
||||
|
||||
void namcos22_state::blit_quads(int addr, int len, float m[4][4])
|
||||
{
|
||||
int finish = addr + len;
|
||||
const int finish = addr + len;
|
||||
|
||||
while (addr < finish)
|
||||
{
|
||||
int packetlength = point_read(addr++);
|
||||
int packetformat = point_read(addr + 0);
|
||||
const int packetlength = point_read(addr++);
|
||||
const int packetformat = point_read(addr + 0);
|
||||
int flags, color, bias;
|
||||
|
||||
/**
|
||||
@ -1217,7 +1217,7 @@ void namcos22_state::blit_polyobject(int code, float m[4][4])
|
||||
{
|
||||
// list start address, code 5 is special case for pointram
|
||||
int list_addr;
|
||||
bool pointram = (code == 0x5);
|
||||
const bool pointram = (code == 0x5);
|
||||
if (pointram)
|
||||
list_addr = (m_is_ss22) ? 0xf80000 : 0xf00000;
|
||||
else
|
||||
@ -1245,7 +1245,7 @@ void namcos22_state::blit_polyobject(int code, float m[4][4])
|
||||
object_addr &= 0x00ffffff;
|
||||
}
|
||||
|
||||
u32 chunklength = point_read(object_addr++);
|
||||
const u32 chunklength = point_read(object_addr++);
|
||||
if (chunklength > 0x100)
|
||||
{
|
||||
logerror("blit_polyobject bad chunk length: addr=0x%06x len=0x%x\n", object_addr-1, chunklength);
|
||||
@ -1282,14 +1282,14 @@ void namcos22_state::slavesim_handle_bb0003(const s32 *src)
|
||||
0000 7ffe 0000
|
||||
0000 0000 7ffe
|
||||
*/
|
||||
m_camera_ambient = src[0x1] >> 16 & 0xffff;
|
||||
m_camera_ambient = (src[0x1] >> 16) & 0xffff;
|
||||
m_camera_power = src[0x1] & 0xffff;
|
||||
|
||||
m_camera_lx = dspfixed_to_nativefloat(src[0x2]);
|
||||
m_camera_ly = dspfixed_to_nativefloat(src[0x3]);
|
||||
m_camera_lz = dspfixed_to_nativefloat(src[0x4]);
|
||||
|
||||
m_absolute_priority = src[0x3] >> 16 & 0xffff;
|
||||
m_absolute_priority = (src[0x3] >> 16) & 0xffff;
|
||||
m_camera_vx = signed12(src[0x5] >> 16);
|
||||
m_camera_vy = signed12(src[0x5] & 0xffff);
|
||||
m_camera_zoom = dspfloat_to_nativefloat(src[0x6]);
|
||||
@ -1298,18 +1298,18 @@ void namcos22_state::slavesim_handle_bb0003(const s32 *src)
|
||||
m_camera_vu = dspfloat_to_nativefloat(src[0x9]) * m_camera_zoom - 0.5f;
|
||||
m_camera_vd = dspfloat_to_nativefloat(src[0xa]) * m_camera_zoom - 0.5f;
|
||||
|
||||
m_reflection = src[0x2] >> 16 & 0x30; // z too?
|
||||
m_reflection = (src[0x2] >> 16) & 0x30; // z too?
|
||||
m_cullflip = (m_reflection == 0x10 || m_reflection == 0x20);
|
||||
|
||||
if (m_reflection & 0x10)
|
||||
if (BIT(m_reflection, 4))
|
||||
{
|
||||
int vl = m_camera_vl;
|
||||
const int vl = m_camera_vl;
|
||||
m_camera_vl = m_camera_vr;
|
||||
m_camera_vr = vl;
|
||||
}
|
||||
if (m_reflection & 0x20)
|
||||
if (BIT(m_reflection, 5))
|
||||
{
|
||||
int vu = m_camera_vu;
|
||||
const int vu = m_camera_vu;
|
||||
m_camera_vu = m_camera_vd;
|
||||
m_camera_vd = vu;
|
||||
}
|
||||
@ -1451,9 +1451,9 @@ void namcos22_state::simulate_slavedsp()
|
||||
for (;;)
|
||||
{
|
||||
// hackery! commands should be streamed, not parsed here
|
||||
u16 code = *src++;
|
||||
u16 len = *src++;
|
||||
s32 index = src - (s32 *)m_polygonram.target();
|
||||
const u16 code = *src++;
|
||||
const u16 len = *src++;
|
||||
const s32 index = src - (s32 *)m_polygonram.target();
|
||||
|
||||
// alpinr2b titlescreen includes commands to modify pointram on the fly
|
||||
if (m_gametype == NAMCOS22_ALPINE_RACER_2 && code == 0xfff8)
|
||||
@ -1505,7 +1505,7 @@ void namcos22_state::simulate_slavedsp()
|
||||
|
||||
src += len;
|
||||
src++; // should be 0xffff (GOTO command)
|
||||
u16 next = *src++ & 0x7fff; // link to next command
|
||||
const u16 next = *src++ & 0x7fff; // link to next command
|
||||
if (next != (index + len + 1 + 1))
|
||||
{
|
||||
// end of list, normally with a "goto self"
|
||||
@ -1562,7 +1562,7 @@ void namcos22_state::screen_vblank(int state)
|
||||
|
||||
/*********************************************************************************************/
|
||||
|
||||
void namcos22_state::draw_sprite_group(const u32 *src, const u32 *attr, int num_sprites, int deltax, int deltay, int y_lowres)
|
||||
void namcos22_state::draw_sprite_group(const u32 *src, const u32 *attr, int num_sprites, int deltax, int deltay, bool y_lowres)
|
||||
{
|
||||
for (int i = 0; i < num_sprites; i++)
|
||||
{
|
||||
@ -1607,42 +1607,42 @@ void namcos22_state::draw_sprite_group(const u32 *src, const u32 *attr, int num_
|
||||
int ypos = (src[0] & 0xffff) - deltay;
|
||||
int sizex = src[1] >> 16;
|
||||
int sizey = src[1] & 0xffff;
|
||||
int flipy = src[2] >> 3 & 0x1;
|
||||
const int flipy = (src[2] >> 3) & 0x1;
|
||||
int rows = src[2] & 0x7;
|
||||
int linktype = (src[2] & 0x00ff0000) >> 16;
|
||||
int flipx = (src[2] >> 7) & 0x1;
|
||||
const int linktype = (src[2] & 0x00ff0000) >> 16;
|
||||
const int flipx = (src[2] >> 7) & 0x1;
|
||||
int cols = (src[2] >> 4) & 0x7;
|
||||
u32 code = src[3];
|
||||
int tile = code >> 16;
|
||||
int alpha = (code & 0xff00) >> 8;
|
||||
const u32 code = src[3];
|
||||
const int tile = code >> 16;
|
||||
const int alpha = (code & 0xff00) >> 8;
|
||||
|
||||
u32 zcoord = attr[0] & 0x00ffffff;
|
||||
int color = attr[1] >> 16 & 0xff;
|
||||
int cz = attr[1] & 0xff;
|
||||
const u32 zcoord = attr[0] & 0x00ffffff;
|
||||
const int color = (attr[1] >> 16) & 0xff;
|
||||
const int cz = attr[1] & 0xff;
|
||||
|
||||
// one of these is to override global fade setting?
|
||||
// eg. propcycl time over, where global fade affects score hinge, but not "TIME UP"
|
||||
bool fade_enabled = bool(attr[1] & 0x8000);
|
||||
const bool fade_enabled = BIT(attr[1], 15);
|
||||
|
||||
// priority over textlayer, trusted by testmode and timecris
|
||||
int prioverchar = (cz == 0xfe) ? 1 : 0;
|
||||
const int prioverchar = (cz == 0xfe) ? 1 : 0;
|
||||
|
||||
// set window clipping
|
||||
int clip = src[2] >> 23 & 0xe;
|
||||
int cx_min = -deltax + (s16)(m_spriteram[0x80|clip] >> 16);
|
||||
int cx_max = -deltax + (s16)(m_spriteram[0x80|clip] & 0xffff);
|
||||
int cy_min = -deltay + (s16)(m_spriteram[0x81|clip] >> 16);
|
||||
int cy_max = -deltay + (s16)(m_spriteram[0x81|clip] & 0xffff);
|
||||
const int clip = (src[2] >> 23) & 0xe;
|
||||
const int cx_min = -deltax + (s16)(m_spriteram[0x80|clip] >> 16);
|
||||
const int cx_max = -deltax + (s16)(m_spriteram[0x80|clip] & 0xffff);
|
||||
const int cy_min = -deltay + (s16)(m_spriteram[0x81|clip] >> 16);
|
||||
const int cy_max = -deltay + (s16)(m_spriteram[0x81|clip] & 0xffff);
|
||||
|
||||
if (rows == 0) rows = 8;
|
||||
if (cols == 0) cols = 8;
|
||||
|
||||
// right justify
|
||||
if (src[2] & 0x0200)
|
||||
if (BIT(src[2], 9))
|
||||
xpos -= sizex * cols - 1;
|
||||
|
||||
// bottom justify
|
||||
if (src[2] & 0x0100)
|
||||
if (BIT(src[2], 8))
|
||||
ypos -= sizey * rows - 1;
|
||||
|
||||
if (flipy)
|
||||
@ -1747,13 +1747,13 @@ void namcos22_state::draw_sprites()
|
||||
bit 1: ??? (always set, except in alpinr2b. it's not x-resolution)
|
||||
bit 2: y-resolution? (always set, except in cybrcycc)
|
||||
*/
|
||||
int sprites_on = (m_spriteram[0] >> 16 & 1) ? 0 : 1;
|
||||
int y_lowres = (m_spriteram[0] >> 16 & 4) ? 0 : 1;
|
||||
bool sprites_on = BIT(~m_spriteram[0], 16);
|
||||
bool y_lowres = BIT(~m_spriteram[0], 18);
|
||||
|
||||
int deltax = (m_spriteram[1] & 0xffff) + (m_spriteram[2] & 0xffff) + 0x2d;
|
||||
int deltay = (m_spriteram[3] >> 16) + (0x2a >> y_lowres);
|
||||
const int deltax = (m_spriteram[1] & 0xffff) + (m_spriteram[2] & 0xffff) + 0x2d;
|
||||
const int deltay = (m_spriteram[3] >> 16) + (0x2a >> y_lowres);
|
||||
|
||||
int base = m_spriteram[0] & 0xffff; // alpines/alpinr2b
|
||||
const int base = m_spriteram[0] & 0xffff; // alpines/alpinr2b
|
||||
int num_sprites = ((m_spriteram[1] >> 16) - base) + 1;
|
||||
|
||||
// airco22b doesn't use spriteset #1
|
||||
@ -1783,12 +1783,12 @@ void namcos22_state::draw_sprites()
|
||||
0x940060..0x94007c set#2
|
||||
*/
|
||||
|
||||
sprites_on = (m_vics_control[0x30/4] >> 24 & 1) ? 0 : 1;
|
||||
y_lowres = (m_vics_control[0x30/4] >> 24 & 4) ? 0 : 1;
|
||||
sprites_on = BIT(~m_vics_control[0x30/4], 24);
|
||||
y_lowres = BIT(~m_vics_control[0x30/4], 26);
|
||||
|
||||
// where do the games store the number of sprites to be processed by vics???
|
||||
// the current default implementation (using spritelist size) is clearly wrong and causes problems in dirtdash and airco22b
|
||||
num_sprites = m_vics_control[0x40/4] >> 4 & 0x1ff; // no +1
|
||||
num_sprites = (m_vics_control[0x40/4] >> 4) & 0x1ff; // no +1
|
||||
|
||||
// dirtdash sprite list starts at xxx4, number of sprites is stored in xxx0, it doesn't use set#2
|
||||
if (m_gametype == NAMCOS22_DIRT_DASH)
|
||||
@ -1801,12 +1801,12 @@ void namcos22_state::draw_sprites()
|
||||
draw_sprite_group(src, attr, num_sprites, deltax, deltay, y_lowres);
|
||||
}
|
||||
|
||||
num_sprites = m_vics_control[0x60/4] >> 4 & 0x1ff; // no +1
|
||||
num_sprites = (m_vics_control[0x60/4] >> 4) & 0x1ff; // no +1
|
||||
|
||||
// airco22b number of sprites for set#2 is stored in set#1 - it does not use set 1, or main set for sprites
|
||||
if (m_gametype == NAMCOS22_AIR_COMBAT22)
|
||||
{
|
||||
sprites_on = (m_vics_data[(m_vics_control[0x48/4] & 0xffff)/4] >> 16 & 1) ? 0 : 1;
|
||||
sprites_on = BIT(~m_vics_data[(m_vics_control[0x48/4] & 0xffff)/4], 16);
|
||||
num_sprites = (m_vics_data[(m_vics_control[0x48/4] & 0xffff)/4+1] >> 16) + 1;
|
||||
}
|
||||
|
||||
@ -1853,7 +1853,7 @@ void namcos22s_state::namcos22s_vics_control_w(offs_t offset, u32 data, u32 mem_
|
||||
|
||||
TILE_GET_INFO_MEMBER(namcos22_state::get_text_tile_info)
|
||||
{
|
||||
u16 data = nthword(m_textram, tile_index);
|
||||
const u16 data = nthword(m_textram, tile_index);
|
||||
/**
|
||||
* xxxx.----.----.---- palette select
|
||||
* ----.xx--.----.---- flip
|
||||
@ -1864,19 +1864,19 @@ TILE_GET_INFO_MEMBER(namcos22_state::get_text_tile_info)
|
||||
|
||||
void namcos22_state::namcos22_textram_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
{
|
||||
u32 prev = m_textram[offset];
|
||||
const u32 prev = m_textram[offset];
|
||||
COMBINE_DATA(&m_textram[offset]);
|
||||
if (prev != m_textram[offset])
|
||||
{
|
||||
m_bgtilemap->mark_tile_dirty(offset * 2);
|
||||
m_bgtilemap->mark_tile_dirty(offset * 2 + 1);
|
||||
m_text_tilemap->mark_tile_dirty(offset * 2);
|
||||
m_text_tilemap->mark_tile_dirty(offset * 2 + 1);
|
||||
}
|
||||
namcos22_cgram_w(offset + 0x1e000/4, data, mem_mask);
|
||||
}
|
||||
|
||||
void namcos22_state::namcos22_cgram_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
{
|
||||
u32 prev = m_cgram[offset];
|
||||
const u32 prev = m_cgram[offset];
|
||||
COMBINE_DATA(&m_cgram[offset]);
|
||||
if (prev != m_cgram[offset])
|
||||
m_gfxdecode->gfx(0)->mark_dirty(offset/32);
|
||||
@ -1899,9 +1899,9 @@ void namcos22_state::posirq_update()
|
||||
TIMER_CALLBACK_MEMBER(namcos22_state::posirq_callback)
|
||||
{
|
||||
// hblank irq line differs between s22/ss22 (see syscon)
|
||||
int line = (m_is_ss22) ? 1 : 0;
|
||||
const int line = (m_is_ss22) ? 1 : 0;
|
||||
|
||||
if (m_irq_enabled & (1 << line))
|
||||
if (BIT(m_irq_enabled, line))
|
||||
{
|
||||
m_irq_state |= (1 << line);
|
||||
m_maincpu->set_input_line(m_syscontrol[line] & 7, ASSERT_LINE);
|
||||
@ -1987,7 +1987,7 @@ u16 namcos22s_state::spotram_r(offs_t offset)
|
||||
if (offset == 2)
|
||||
{
|
||||
// read
|
||||
u16 ret = m_spotram[m_spotram_address >> 1 & 0x7ff];
|
||||
const u16 ret = m_spotram[(m_spotram_address >> 1) & 0x7ff];
|
||||
|
||||
if (!machine().side_effects_disabled())
|
||||
m_spotram_address += 2;
|
||||
@ -2009,7 +2009,7 @@ void namcos22s_state::spotram_w(offs_t offset, u16 data, u16 mem_mask)
|
||||
|
||||
case 1:
|
||||
// write
|
||||
COMBINE_DATA(&m_spotram[m_spotram_address >> 1 & 0x7ff]);
|
||||
COMBINE_DATA(&m_spotram[(m_spotram_address >> 1) & 0x7ff]);
|
||||
m_spotram_address += 2;
|
||||
break;
|
||||
|
||||
@ -2031,19 +2031,19 @@ void namcos22s_state::namcos22s_mix_text_layer(screen_device &screen, bitmap_rgb
|
||||
rgbaint_t rgb;
|
||||
|
||||
// prepare alpha
|
||||
u8 alpha_check12 = nthbyte(m_mixer, 0x12);
|
||||
u8 alpha_check13 = nthbyte(m_mixer, 0x13);
|
||||
u8 alpha_mask = nthbyte(m_mixer, 0x14) & 0xf;
|
||||
u8 alpha_factor = nthbyte(m_mixer, 0x15);
|
||||
const u8 alpha_check12 = nthbyte(m_mixer, 0x12);
|
||||
const u8 alpha_check13 = nthbyte(m_mixer, 0x13);
|
||||
const u8 alpha_mask = nthbyte(m_mixer, 0x14) & 0xf;
|
||||
const u8 alpha_factor = nthbyte(m_mixer, 0x15);
|
||||
|
||||
// prepare spot
|
||||
bool spot_enabled = (m_spotram_enable & 1) && (m_chipselect & 0xc000);
|
||||
int spot_factor = (m_spot_factor < 0x100) ? 0 : m_spot_factor & 0xff;
|
||||
int spot_palbase = m_text_palbase >> 8 & 3; // src[x] >> 8 & 3
|
||||
const bool spot_enabled = BIT(m_spotram_enable, 0) && (m_chipselect & 0xc000);
|
||||
const int spot_factor = (m_spot_factor < 0x100) ? 0 : m_spot_factor & 0xff;
|
||||
const int spot_palbase = (m_text_palbase >> 8) & 3; // (src[x] >> 8) & 3
|
||||
|
||||
// prepare fader
|
||||
bool fade_enabled = (m_mixer_flags & 2) && m_screen_fade_factor;
|
||||
int fade_factor = 0xff - m_screen_fade_factor;
|
||||
const bool fade_enabled = BIT(m_mixer_flags, 1) && m_screen_fade_factor;
|
||||
const int fade_factor = 0xff - m_screen_fade_factor;
|
||||
rgbaint_t fade_color(0, m_screen_fade_r, m_screen_fade_g, m_screen_fade_b);
|
||||
|
||||
// mix textlayer with poly/sprites
|
||||
@ -2104,13 +2104,13 @@ void namcos22_state::namcos22_mix_text_layer(screen_device &screen, bitmap_rgb32
|
||||
const u8 *blut = &m_gamma_proms[0x200];
|
||||
|
||||
// prepare fader and shadow factor
|
||||
bool fade_enabled = (m_screen_fade_r != 0x100 || m_screen_fade_g != 0x100 || m_screen_fade_b != 0x100);
|
||||
u32 fade_r_add = (m_screen_fade_r > 0x100) ? (1 << 16) : 0;
|
||||
u32 fade_g_add = (m_screen_fade_g > 0x100) ? (1 << 8) : 0;
|
||||
u32 fade_b_add = (m_screen_fade_b > 0x100) ? 1 : 0;
|
||||
bool fade_white = fade_r_add || fade_g_add || fade_b_add;
|
||||
const bool fade_enabled = (m_screen_fade_r != 0x100 || m_screen_fade_g != 0x100 || m_screen_fade_b != 0x100);
|
||||
const u32 fade_r_add = (m_screen_fade_r > 0x100) ? (1 << 16) : 0;
|
||||
const u32 fade_g_add = (m_screen_fade_g > 0x100) ? (1 << 8) : 0;
|
||||
const u32 fade_b_add = (m_screen_fade_b > 0x100) ? 1 : 0;
|
||||
const bool fade_white = fade_r_add || fade_g_add || fade_b_add;
|
||||
|
||||
bool shadow_enabled = (m_mixer_flags & 0x100) != 0; // ? (ridgerac is the only game not using shadow)
|
||||
const bool shadow_enabled = BIT(m_mixer_flags, 8); // ? (ridgerac is the only game not using shadow)
|
||||
|
||||
rgbaint_t fade_color(0, m_screen_fade_r, m_screen_fade_g, m_screen_fade_b);
|
||||
rgbaint_t rgb_mix[3] = {
|
||||
@ -2167,15 +2167,15 @@ void namcos22_state::namcos22_mix_text_layer(screen_device &screen, bitmap_rgb32
|
||||
|
||||
void namcos22_state::update_text_rowscroll()
|
||||
{
|
||||
u64 frame = m_screen->frame_number();
|
||||
const u64 frame = m_screen->frame_number();
|
||||
if (frame != m_rs_frame)
|
||||
{
|
||||
m_rs_frame = frame;
|
||||
m_lastrow = 0;
|
||||
}
|
||||
|
||||
int scroll_x = (m_tilemapattr[0] - 0x35c) & 0x3ff;
|
||||
int y = std::min(m_screen->vpos(), 480);
|
||||
const int scroll_x = (m_tilemapattr[0] - 0x35c) & 0x3ff;
|
||||
const int y = std::min(m_screen->vpos(), 480);
|
||||
|
||||
// save x scroll value until current scanline
|
||||
for (int i = m_lastrow; i < y; i++)
|
||||
@ -2186,32 +2186,32 @@ void namcos22_state::update_text_rowscroll()
|
||||
void namcos22_state::apply_text_scroll()
|
||||
{
|
||||
update_text_rowscroll();
|
||||
int scroll_y = m_tilemapattr[1] & 0x3ff;
|
||||
const int scroll_y = m_tilemapattr[1] & 0x3ff;
|
||||
|
||||
m_bgtilemap->set_scrolly(0, scroll_y);
|
||||
m_text_tilemap->set_scrolly(0, scroll_y);
|
||||
for (int i = 0; i < 0x400; i++)
|
||||
m_bgtilemap->set_scrollx(i, m_rowscroll[0]);
|
||||
m_text_tilemap->set_scrollx(i, m_rowscroll[0]);
|
||||
|
||||
// apply current frame x scroll updates to tilemap
|
||||
for (int i = 0; i < 480; i++)
|
||||
m_bgtilemap->set_scrollx((i + scroll_y + 4) & 0x3ff, m_rowscroll[i]);
|
||||
m_text_tilemap->set_scrollx((i + scroll_y + 4) & 0x3ff, m_rowscroll[i]);
|
||||
}
|
||||
|
||||
void namcos22_state::draw_text_layer(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
apply_text_scroll();
|
||||
m_bgtilemap->set_palette_offset(m_text_palbase);
|
||||
m_text_tilemap->set_palette_offset(m_text_palbase);
|
||||
|
||||
m_bgtilemap->draw(screen, *m_mix_bitmap, cliprect, 0, 2, 3);
|
||||
m_text_tilemap->draw(screen, *m_mix_bitmap, cliprect, 0, 2, 3);
|
||||
namcos22_mix_text_layer(screen, bitmap, cliprect);
|
||||
}
|
||||
|
||||
void namcos22s_state::draw_text_layer(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
apply_text_scroll();
|
||||
m_bgtilemap->set_palette_offset(m_text_palbase);
|
||||
m_text_tilemap->set_palette_offset(m_text_palbase);
|
||||
|
||||
m_bgtilemap->draw(screen, *m_mix_bitmap, cliprect, 0, 4, 4);
|
||||
m_text_tilemap->draw(screen, *m_mix_bitmap, cliprect, 0, 4, 4);
|
||||
namcos22s_mix_text_layer(screen, bitmap, cliprect, 4);
|
||||
}
|
||||
|
||||
@ -2221,7 +2221,7 @@ void namcos22s_state::draw_text_layer(screen_device &screen, bitmap_rgb32 &bitma
|
||||
|
||||
void namcos22_state::namcos22_paletteram_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
{
|
||||
u32 prev = m_paletteram[offset];
|
||||
const u32 prev = m_paletteram[offset];
|
||||
COMBINE_DATA(&m_paletteram[offset]);
|
||||
if (prev != m_paletteram[offset])
|
||||
m_dirtypal[offset & (0x7fff/4)] = 1;
|
||||
@ -2235,10 +2235,10 @@ void namcos22_state::update_palette()
|
||||
{
|
||||
for (int j = 0; j < 4; j++)
|
||||
{
|
||||
int which = i * 4 + j;
|
||||
int r = nthbyte(m_paletteram, which + 0x00000);
|
||||
int g = nthbyte(m_paletteram, which + 0x08000);
|
||||
int b = nthbyte(m_paletteram, which + 0x10000);
|
||||
const int which = i * 4 + j;
|
||||
const int r = nthbyte(m_paletteram, which + 0x00000);
|
||||
const int g = nthbyte(m_paletteram, which + 0x08000);
|
||||
const int b = nthbyte(m_paletteram, which + 0x10000);
|
||||
m_palette->set_pen_color(which, rgb_t(r, g, b));
|
||||
}
|
||||
m_dirtypal[i] = 0;
|
||||
@ -2264,13 +2264,13 @@ void namcos22s_state::namcos22s_czattr_w(offs_t offset, u16 data, u16 mem_mask)
|
||||
00a4 00a4 00a4 00a4 4444 0000 0000 0000 // propcycl in pool
|
||||
ff80 ff80 ff80 ff80 4444 0000 0000 0000 // propcycl ending
|
||||
*/
|
||||
u16 prev = m_czattr[offset];
|
||||
const u16 prev = m_czattr[offset];
|
||||
COMBINE_DATA(&m_czattr[offset]);
|
||||
|
||||
if (offset == 4)
|
||||
{
|
||||
// invalidate if compare function changed
|
||||
u16 changed = prev ^ m_czattr[offset];
|
||||
const u16 changed = prev ^ m_czattr[offset];
|
||||
for (int bank = 0; bank < 4; bank++)
|
||||
m_cz_was_written[bank] |= changed >> (bank * 4) & 2;
|
||||
}
|
||||
@ -2298,7 +2298,7 @@ void namcos22s_state::namcos22s_czram_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
// write enable bit
|
||||
if (~m_czattr[4] >> (bank * 4) & 1)
|
||||
{
|
||||
u32 prev = (m_banked_czram[bank][offset * 2] << 16) | m_banked_czram[bank][offset * 2 + 1];
|
||||
const u32 prev = (m_banked_czram[bank][offset * 2] << 16) | m_banked_czram[bank][offset * 2 + 1];
|
||||
u32 temp = prev;
|
||||
COMBINE_DATA(&temp);
|
||||
m_banked_czram[bank][offset * 2] = temp >> 16;
|
||||
@ -2310,7 +2310,7 @@ void namcos22s_state::namcos22s_czram_w(offs_t offset, u32 data, u32 mem_mask)
|
||||
|
||||
u32 namcos22s_state::namcos22s_czram_r(offs_t offset)
|
||||
{
|
||||
int bank = m_czattr[5] & 3;
|
||||
const int bank = m_czattr[5] & 3;
|
||||
return (m_banked_czram[bank][offset * 2] << 16) | m_banked_czram[bank][offset * 2 + 1];
|
||||
}
|
||||
|
||||
@ -2322,7 +2322,7 @@ void namcos22s_state::recalc_czram()
|
||||
// this is very slow when emulating, so let's recalculate it to a simpler lookup table
|
||||
if (m_cz_was_written[bank])
|
||||
{
|
||||
int reverse = (m_czattr[4] >> (bank * 4) & 2) ? 0xff : 0;
|
||||
const int reverse = (m_czattr[4] >> (bank * 4) & 2) ? 0xff : 0;
|
||||
int small_val = 0x2000;
|
||||
int small_offset = reverse;
|
||||
int large_val = 0;
|
||||
@ -2331,10 +2331,10 @@ void namcos22s_state::recalc_czram()
|
||||
|
||||
for (int i = 0; i < 0x100; i++)
|
||||
{
|
||||
int factor = i ^ reverse;
|
||||
int val = std::min<u16>(m_banked_czram[bank][factor], 0x2000);
|
||||
int start = prev;
|
||||
int end = val;
|
||||
const int factor = i ^ reverse;
|
||||
const int val = std::min<u16>(m_banked_czram[bank][factor], 0x2000);
|
||||
const int start = prev;
|
||||
const int end = val;
|
||||
|
||||
if (i > 0)
|
||||
{
|
||||
@ -2515,7 +2515,7 @@ u32 namcos22s_state::screen_update_namcos22s(screen_device &screen, bitmap_rgb32
|
||||
|
||||
// background color
|
||||
rgbaint_t bg_color(0, nthbyte(m_mixer, 0x08), nthbyte(m_mixer, 0x09), nthbyte(m_mixer, 0x0a));
|
||||
if (m_mixer_flags & 1 && m_screen_fade_factor)
|
||||
if (BIT(m_mixer_flags, 0) && m_screen_fade_factor)
|
||||
{
|
||||
rgbaint_t fade_color(0, m_screen_fade_r, m_screen_fade_g, m_screen_fade_b);
|
||||
bg_color.blend(fade_color, 0xff - m_screen_fade_factor);
|
||||
@ -2523,12 +2523,12 @@ u32 namcos22s_state::screen_update_namcos22s(screen_device &screen, bitmap_rgb32
|
||||
bitmap.fill(bg_color.to_rgba(), cliprect);
|
||||
|
||||
// layers
|
||||
u8 layer = nthbyte(m_mixer, 0x1f);
|
||||
if (layer & 4) draw_text_layer(screen, bitmap, cliprect);
|
||||
if (layer & 2) draw_sprites();
|
||||
if (layer & 1) draw_polygons();
|
||||
const u8 layer = nthbyte(m_mixer, 0x1f);
|
||||
if (BIT(layer, 2)) draw_text_layer(screen, bitmap, cliprect);
|
||||
if (BIT(layer, 1)) draw_sprites();
|
||||
if (BIT(layer, 0)) draw_polygons();
|
||||
m_poly->render_scene(screen, bitmap);
|
||||
if (layer & 4) namcos22s_mix_text_layer(screen, bitmap, cliprect, 6);
|
||||
if (BIT(layer, 2)) namcos22s_mix_text_layer(screen, bitmap, cliprect, 6);
|
||||
|
||||
// apply gamma
|
||||
const u8 *rlut = (const u8 *)&m_mixer[0x100/4];
|
||||
@ -2539,10 +2539,10 @@ u32 namcos22s_state::screen_update_namcos22s(screen_device &screen, bitmap_rgb32
|
||||
u32 *const dest = &bitmap.pix(y);
|
||||
for (int x = cliprect.left(); x <= cliprect.right(); x++)
|
||||
{
|
||||
int rgb = dest[x];
|
||||
int r = rlut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ ((rgb >> 16) & 0xff)];
|
||||
int g = glut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ ((rgb >> 8) & 0xff)];
|
||||
int b = blut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ (rgb & 0xff)];
|
||||
const u32 rgb = dest[x];
|
||||
const u8 r = rlut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ ((rgb >> 16) & 0xff)];
|
||||
const u8 g = glut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ ((rgb >> 8) & 0xff)];
|
||||
const u8 b = blut[NATIVE_ENDIAN_VALUE_LE_BE(3, 0) ^ (rgb & 0xff)];
|
||||
dest[x] = (r << 16) | (g << 8) | b;
|
||||
}
|
||||
}
|
||||
@ -2558,7 +2558,7 @@ u32 namcos22_state::screen_update_namcos22(screen_device &screen, bitmap_rgb32 &
|
||||
screen.priority().fill(0, cliprect);
|
||||
|
||||
// background color
|
||||
int bg_color = m_bg_palbase | 0xff;
|
||||
const int bg_color = m_bg_palbase | 0xff;
|
||||
bitmap.fill(m_palette->pen(bg_color), cliprect);
|
||||
|
||||
// layers
|
||||
@ -2632,13 +2632,13 @@ void namcos22_state::init_tables()
|
||||
{
|
||||
int ix = x, iy = y;
|
||||
|
||||
if (attr & 4)
|
||||
if (BIT(attr, 2))
|
||||
ix = 15 - ix;
|
||||
|
||||
if (attr & 2)
|
||||
if (BIT(attr, 1))
|
||||
iy = 15 - iy;
|
||||
|
||||
if (attr & 8)
|
||||
if (BIT(attr, 3))
|
||||
{
|
||||
int temp = ix;
|
||||
ix = iy;
|
||||
@ -2661,8 +2661,8 @@ void namcos22_state::init_tables()
|
||||
for (int i = 0; i < 0x100000; i++)
|
||||
{
|
||||
int tile = m_texture_tilemap[i];
|
||||
int attr = m_texture_tileattr[i];
|
||||
if ((attr & 0x1) == 0)
|
||||
const int attr = m_texture_tileattr[i];
|
||||
if (BIT(~attr, 0))
|
||||
{
|
||||
tile = (tile & 0x3fff) | 0x8000;
|
||||
m_texture_tilemap[i] = tile;
|
||||
@ -2707,9 +2707,9 @@ void namcos22_state::video_start()
|
||||
m_posirq_timer = timer_alloc(FUNC(namcos22_state::posirq_callback), this);
|
||||
|
||||
m_mix_bitmap = std::make_unique<bitmap_ind16>(640, 480);
|
||||
m_bgtilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(namcos22_state::get_text_tile_info)), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
|
||||
m_bgtilemap->set_scroll_rows(64 * 16); // fake
|
||||
m_bgtilemap->set_transparent_pen(0xf);
|
||||
m_text_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(namcos22_state::get_text_tile_info)), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
|
||||
m_text_tilemap->set_scroll_rows(64 * 16); // fake
|
||||
m_text_tilemap->set_transparent_pen(0xf);
|
||||
|
||||
m_gfxdecode->gfx(0)->set_source((u8 *)m_cgram.target());
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user