Cleanups and version bump

This commit is contained in:
Miodrag Milanovic 2015-08-26 08:10:34 +02:00
parent bc5ffe4937
commit efa3a679a3
86 changed files with 667 additions and 682 deletions

View File

@ -227,16 +227,16 @@
</software>
<!-- Same hashes as trojanl, why is there a new entry?
<software name="trojanla" cloneof="trojanl" supported="no">
<description>Trojan Legend (Alt Revision)</description>
<year>200?</year>
<publisher>TimeTop</publisher>
<part name="cart" interface="gameking_cart">
<dataarea name="rom" size="131072">
<rom name="trojan legend (alt).bin" size="131072" crc="b832db4f" sha1="5a152bfb2ba2150cff9dc66729ceadc0b47d4f17" offset="0x00000" />
</dataarea>
</part>
</software>
<software name="trojanla" cloneof="trojanl" supported="no">
<description>Trojan Legend (Alt Revision)</description>
<year>200?</year>
<publisher>TimeTop</publisher>
<part name="cart" interface="gameking_cart">
<dataarea name="rom" size="131072">
<rom name="trojan legend (alt).bin" size="131072" crc="b832db4f" sha1="5a152bfb2ba2150cff9dc66729ceadc0b47d4f17" offset="0x00000" />
</dataarea>
</part>
</software>
-->

View File

@ -121,11 +121,11 @@ public:
void normalize()
{
while (m_attoseconds >= ATTOSECONDS_PER_SECOND)
{
m_seconds++;
m_attoseconds -= ATTOSECONDS_PER_SECOND;
}
while (m_attoseconds >= ATTOSECONDS_PER_SECOND)
{
m_seconds++;
m_attoseconds -= ATTOSECONDS_PER_SECOND;
}
}
attoseconds_t attoseconds() const { return m_attoseconds; }

View File

@ -2,29 +2,29 @@
// copyright-holders:Curt Coder
/**********************************************************************
Timeworks PARTNER 128 cartridge emulation
Timeworks PARTNER 128 cartridge emulation
**********************************************************************/
/*
PCB Layout
----------
PCB Layout
----------
|---------------|
|LS74 SW * |
|LS09 LS273|
|LS139 RAM |
|LS133 |
| LS240 |
|LS33 ROM |
|LS09 |
|||||||||||||||
|---------------|
|LS74 SW * |
|LS09 LS273|
|LS139 RAM |
|LS133 |
| LS240 |
|LS33 ROM |
|LS09 |
|||||||||||||||
ROM - Toshiba TMM24128AP 16Kx8 EPROM (blank label)
RAM - Sony CXK5864PN-15L 8Kx8 SRAM
SW - push button switch
* - solder point for joystick port dongle
ROM - Toshiba TMM24128AP 16Kx8 EPROM (blank label)
RAM - Sony CXK5864PN-15L 8Kx8 SRAM
SW - push button switch
* - solder point for joystick port dongle
*/
@ -193,16 +193,16 @@ void partner128_t::c64_cd_w(address_space &space, offs_t offset, UINT8 data, int
{
/*
bit description
bit description
0 RAM A7
1 RAM A8
2 RAM A9
3 RAM A10
4 RAM A11
5 RAM A12
6 LS74 1Cd,2Cd
7 N/C
0 RAM A7
1 RAM A8
2 RAM A9
3 RAM A10
4 RAM A11
5 RAM A12
6 LS74 1Cd,2Cd
7 N/C
*/

View File

@ -24,8 +24,8 @@
// ======================> partner128_t
class partner128_t : public device_t,
public device_c64_expansion_card_interface
//public device_vcs_control_port_interface
public device_c64_expansion_card_interface
//public device_vcs_control_port_interface
{
public:
// construction/destruction

View File

@ -69,4 +69,3 @@ WRITE8_MEMBER(msx_cart_fs_sr022::write_cart)
break;
}
}

View File

@ -12,37 +12,37 @@
CPU_DISASSEMBLE( pdp8 );
#define OP ((op >> 011) & 07)
#define OP ((op >> 011) & 07)
#define MR_IND ((op >> 010) & 01)
#define MR_PAGE ((op >> 07) & 01)
#define MR_ADDR (op & 0177)
#define MR_IND ((op >> 010) & 01)
#define MR_PAGE ((op >> 07) & 01)
#define MR_ADDR (op & 0177)
#define IOT_DEVICE ((op >> 03) & 077)
#define IOT_IOP1 (op & 01)
#define IOT_IOP2 ((op >> 01) & 01)
#define IOT_IOP4 ((op >> 02) & 01)
#define IOT_DEVICE ((op >> 03) & 077)
#define IOT_IOP1 (op & 01)
#define IOT_IOP2 ((op >> 01) & 01)
#define IOT_IOP4 ((op >> 02) & 01)
#define OPR_GROUP ((op >> 010) & 01)
#define OPR_CLA ((op >> 07) & 01)
#define OPR_CLL ((op >> 06) & 01)
#define OPR_CMA ((op >> 05) & 01)
#define OPR_CML ((op >> 04) & 01)
#define OPR_ROR ((op >> 03) & 01)
#define OPR_ROL ((op >> 02) & 01)
#define OPR_ROT2 ((op >> 01) & 01)
#define OPR_IAC (op & 01)
#define OPR_GROUP ((op >> 010) & 01)
#define OPR_CLA ((op >> 07) & 01)
#define OPR_CLL ((op >> 06) & 01)
#define OPR_CMA ((op >> 05) & 01)
#define OPR_CML ((op >> 04) & 01)
#define OPR_ROR ((op >> 03) & 01)
#define OPR_ROL ((op >> 02) & 01)
#define OPR_ROT2 ((op >> 01) & 01)
#define OPR_IAC (op & 01)
#define OPR_SMA OPR_CLL
#define OPR_SZA OPR_CMA
#define OPR_SNL OPR_CML
#define OPR_REVSKIP OPR_ROR
#define OPR_OSR OPR_ROL
#define OPR_HLT OPR_ROT2
#define OPR_SMA OPR_CLL
#define OPR_SZA OPR_CMA
#define OPR_SNL OPR_CML
#define OPR_REVSKIP OPR_ROR
#define OPR_OSR OPR_ROL
#define OPR_HLT OPR_ROT2
#define OPR_GROUP_MASK 0401
#define OPR_GROUP1_VAL 0000
#define OPR_GROUP2_VAL 0400
#define OPR_GROUP_MASK 0401
#define OPR_GROUP1_VAL 0000
#define OPR_GROUP2_VAL 0400
const device_type PDP8CPU = &device_creator<pdp8_device>;

View File

@ -465,7 +465,7 @@ void tms32082_mp_device::execute_short_imm()
break;
}
case 0x12: // and.tf
case 0x12: // and.tf
{
int rd = OP_RD();
int rs = OP_RS();
@ -692,7 +692,7 @@ void tms32082_mp_device::execute_short_imm()
break;
}
case 0x45: // jsr.a
case 0x45: // jsr.a
{
int link = OP_LINK();
int base = OP_BASE();
@ -929,12 +929,12 @@ void tms32082_mp_device::execute_reg_long_imm()
UINT32 compmask = endmask & shiftmask;
UINT32 res = 0;
if (r) // right
if (r) // right
{
res = ROTATE_R(source, rot) & compmask;
res = SIGN_EXTEND(res, rot);
}
else // left
else // left
{
res = ROTATE_L(source, rot) & compmask;
}
@ -1022,7 +1022,7 @@ void tms32082_mp_device::execute_reg_long_imm()
}
case 0x3a:
case 0x3b: // or.ft
case 0x3b: // or.ft
{
int rd = OP_RD();
int rs = OP_RS();

View File

@ -298,24 +298,24 @@ void tms32082_mp_device::processor_command(UINT32 command)
for (int i=0; i < num; i++)
{
printf("Entry %d:\n", i);
for (int k=0; k < 6; k++)
{
for (int l=0; l < 4; l++)
{
UINT32 dd = m_program->read_dword(ra);
ra += 4;
printf("Entry %d:\n", i);
for (int k=0; k < 6; k++)
{
for (int l=0; l < 4; l++)
{
UINT32 dd = m_program->read_dword(ra);
ra += 4;
printf("%08X(%f) ", dd, u2f(dd));
}
printf("\n");
}
printf("\n");
printf("%08X(%f) ", dd, u2f(dd));
}
printf("\n");
}
printf("\n");
}
*/
UINT32 ra = 0x1000280;
int oldnum = m_program->read_dword(0x600ffffc);
UINT32 rb = 0x60000000 + (oldnum * 0x60);
@ -367,7 +367,7 @@ UINT32 tms32082_mp_device::read_creg(int reg)
case 0xa: // PPERROR
return 0xe0000;
case 0xe: // TCOUNT
case 0xe: // TCOUNT
return m_tcount;
case 0x4000: // IN0P
@ -413,7 +413,7 @@ void tms32082_mp_device::write_creg(int reg, UINT32 data)
printf("IE = %08X\n", data);
break;
case 0xe: // TCOUNT
case 0xe: // TCOUNT
m_tcount = data;
break;

View File

@ -268,12 +268,12 @@ void ucom4_cpu_device::output_w(int index, UINT8 data)
UINT8 upd557l_cpu_device::input_r(int index)
{
index &= 0xf;
if (index == NEC_UCOM4_PORTB)
logerror("%s read from unknown port %c at $%03X\n", tag(), 'A' + index, m_prev_pc);
else
return ucom4_cpu_device::input_r(index);
return 0;
}

View File

@ -595,4 +595,3 @@ void emu_options::update_cached_options()
m_sleep = bool_value(OPTION_SLEEP);
m_refresh_speed = bool_value(OPTION_REFRESHSPEED);
}

View File

@ -692,7 +692,7 @@ WRITE8_MEMBER(i8251_device::data_w)
{
m_tx_data = data;
LOG(("data_w %02x\n" , data));
LOG(("data_w %02x\n" , data));
// printf("i8251 transmit char: %02x\n",data);
/* writing clears */
@ -714,7 +714,6 @@ WRITE8_MEMBER(i8251_device::data_w)
void i8251_device::receive_character(UINT8 ch)
{
m_rx_data = ch;
/* char has not been read and another has arrived! */
@ -735,7 +734,7 @@ void i8251_device::receive_character(UINT8 ch)
READ8_MEMBER(i8251_device::data_r)
{
LOG(("read data: %02x, STATUS=%02x\n",m_rx_data,m_status));
LOG(("read data: %02x, STATUS=%02x\n",m_rx_data,m_status));
/* reading clears */
m_status &= ~I8251_STATUS_RX_READY;

View File

@ -133,7 +133,7 @@ private:
/* data being received */
UINT8 m_rx_data;
UINT8 m_tx_data;
UINT8 m_tx_data;
bool m_tx_busy;
bool m_disable_tx_pending;
};

View File

@ -211,7 +211,7 @@ WRITE_LINE_MEMBER(tms6100_device::tms6100_romclock_w)
/* read bit at address */
if (m_variant == TMS6110_IS_M58819)
{
m_data = (m_rom[m_address >> 3] >> (7-(m_address & 0x07))) & 1;
m_data = (m_rom[m_address >> 3] >> (7-(m_address & 0x07))) & 1;
}
else // m_variant == (TMS6110_IS_TMS6100 || TMS6110_IS_TMS6125)
{

View File

@ -19,7 +19,6 @@ const netlist::netlist_time netlist::netlist_time::zero = netlist::netlist_time:
namespace netlist
{
// ----------------------------------------------------------------------------------------
// logic_family_ttl_t
// ----------------------------------------------------------------------------------------

View File

@ -1238,7 +1238,7 @@ namespace netlist
protected:
// any derived netlist must override vlog inherited from plog_base
// virtual void vlog(const plog_level &l, const pstring &ls) = 0;
// virtual void vlog(const plog_level &l, const pstring &ls) = 0;
/* from netlist_object */
virtual void reset();
@ -1256,7 +1256,7 @@ namespace netlist
netlist_time m_time;
bool m_use_deactivate;
queue_t m_queue;
queue_t m_queue;
devices::NETLIB_NAME(mainclock) * m_mainclock;

View File

@ -101,7 +101,7 @@ typedef __int128_t INT128;
#define ATTR_HOT __attribute__((hot))
#define ATTR_COLD __attribute__((cold))
#define RESTRICT __restrict__
#define RESTRICT __restrict__
#define EXPECTED(x) (x)
#define UNEXPECTED(x) (x)
#define ATTR_PRINTF(x,y) __attribute__((format(printf, x, y)))

View File

@ -264,4 +264,3 @@ pstream::pos_type pomemstream::vtell()
{
return m_pos;
}

View File

@ -600,4 +600,3 @@ void pfmt::format_element(const char *f, const char *l, const char *fmt_spec, .
template struct pstring_t<pu8_traits>;
template struct pstring_t<putf8_traits>;

View File

@ -241,7 +241,7 @@ struct putf8_traits
return 2;
else if (c < 0x10000)
return 3;
else /* U+10000 U+1FFFFF */
else /* U+10000 U+1FFFFF */
return 4; /* no checks */
}
static code_t code(const mem_t *p)
@ -276,7 +276,7 @@ struct putf8_traits
m[1] = 0x80 | ((c>>6) & 0x3f);
m[2] = 0x80 | (c & 0x3f);
}
else /* U+10000 U+1FFFFF */
else /* U+10000 U+1FFFFF */
{
m[0] = 0xF0 | (c >> 18);
m[1] = 0x80 | ((c>>12) & 0x3f);
@ -622,11 +622,11 @@ public:
plog_base(plog_dispatch_intf *proxy)
: debug(proxy),
info(proxy),
verbose(proxy),
warning(proxy),
error(proxy),
fatal(proxy)
info(proxy),
verbose(proxy),
warning(proxy),
error(proxy),
fatal(proxy)
{}
virtual ~plog_base() {};

View File

@ -30,7 +30,7 @@
#include <ctime>
#define osd_ticks_t clock_t
#define osd_ticks_t clock_t
inline osd_ticks_t osd_ticks_per_second() { return CLOCKS_PER_SEC; }
@ -98,12 +98,12 @@ class tool_options_t : public poptions
public:
tool_options_t() :
poptions(),
opt_ttr ("t", "time_to_run", 1.0, "time to run the emulation (seconds)", this),
opt_ttr ("t", "time_to_run", 1.0, "time to run the emulation (seconds)", this),
opt_name("n", "name", "", "netlist in file to run; default is first one", this),
opt_logs("l", "logs", "", "colon separated list of terminals to log", this),
opt_file("f", "file", "-", "file to process (default is stdin)", this),
opt_type("y", "type", "spice", "spice:eagle", "type of file to be converted: spice,eagle", this),
opt_cmd ("c", "cmd", "run", "run|convert|listdevices", this),
opt_cmd ("c", "cmd", "run", "run|convert|listdevices", this),
opt_inp( "i", "input", "", "input file to process (default is none)", this),
opt_verb("v", "verbose", "be verbose - this produces lots of output", this),
opt_quiet("q", "quiet", "be quiet - no warnings", this),
@ -113,7 +113,7 @@ public:
poption_double opt_ttr;
poption_str opt_name;
poption_str opt_logs;
poption_str opt_file;
poption_str opt_file;
poption_str_limit opt_type;
poption_str opt_cmd;
poption_str opt_inp;

View File

@ -49,7 +49,7 @@ class wav_t
public:
wav_t(postream &strm, unsigned sr) : m_f(strm)
{
// m_f = strm;
// m_f = strm;
initialize(sr);
m_f.write(&m_fh, sizeof(m_fh));
m_f.write(&m_fmt, sizeof(m_fmt));

View File

@ -488,7 +488,7 @@ ATTR_HOT void matrix_solver_direct_t<m_N, _storage_N>::LE_back_subst_full(
// ii=-1
//for (int i=0; i < kN; i++)
// x[i] = m_RHS[i];
// x[i] = m_RHS[i];
for (int i=0; i < kN; i++)
{

View File

@ -429,7 +429,6 @@ ATTR_HOT void matrix_solver_direct_t<m_N, _storage_N>::build_LE_RHS(nl_double *
template <unsigned m_N, unsigned _storage_N>
ATTR_HOT void matrix_solver_direct_t<m_N, _storage_N>::LE_solve()
{
const unsigned kN = N();
ATTR_UNUSED int imax;
@ -501,7 +500,7 @@ ATTR_HOT void matrix_solver_direct_t<m_N, _storage_N>::LE_solve()
indx[j]=imax;
#endif
//if (m_A[j][j] == 0.0)
// m_A[j][j] = 1e-20;
// m_A[j][j] = 1e-20;
double dum = 1.0 / A(j,j);
for (int i = j+1; i < kN; i++)
A(i,j) *= dum;
@ -521,7 +520,7 @@ ATTR_HOT void matrix_solver_direct_t<m_N, _storage_N>::LE_back_subst(
// ii=-1
//for (int i=0; i < kN; i++)
// x[i] = m_RHS[i];
// x[i] = m_RHS[i];
for (int i=0; i < kN; i++)
{

View File

@ -287,8 +287,8 @@ private:
INT32 m_last_partial_scan; // scanline of last partial update
bitmap_argb32 m_screen_overlay_bitmap; // screen overlay bitmap
UINT32 m_unique_id; // unique id for this screen_device
rgb_t m_color; // render color
UINT8 m_brightness; // global brightness
rgb_t m_color; // render color
UINT8 m_brightness; // global brightness
// screen timing
attoseconds_t m_frame_period; // attoseconds per frame

View File

@ -413,16 +413,16 @@ WRITE16_MEMBER( rf5c400_device::rf5c400_w )
case 0x08: // relative to env attack (channel no)
case 0x09: // relative to env attack (0x0c00/ 0x1c00)
case 0x11: // ? counter for 0x13?
case 0x11: // ? counter for 0x13?
{
break;
}
case 0x13: // ? bujutsu writes sample data here
case 0x13: // ? bujutsu writes sample data here
{
break;
}
case 0x14: // ? related to 0x11/0x13 ?
case 0x14: // ? related to 0x11/0x13 ?
break;
case 0x21: // reverb(character).w

View File

@ -998,26 +998,26 @@ void tms5110_device::parse_frame()
fprintf(stderr," ");
#endif
/* if the energy index is 0 or 15, we're done
/* if the energy index is 0 or 15, we're done
if ((indx == 0) || (indx == 15))
{
if (DEBUG_5110) logerror(" (4-bit energy=%d frame)\n",m_new_energy);
if (DEBUG_5110) logerror(" (4-bit energy=%d frame)\n",m_new_energy);
// clear the k's
if (indx == 0)
{
for (i = 0; i < m_coeff->num_k; i++)
m_new_k[i] = 0;
}
// clear the k's
if (indx == 0)
{
for (i = 0; i < m_coeff->num_k; i++)
m_new_k[i] = 0;
}
// clear fifo if stop frame encountered
if (indx == 15)
{
if (DEBUG_5110) logerror(" (4-bit energy=%d STOP frame)\n",m_new_energy);
m_fifo_head = m_fifo_tail = m_fifo_count = 0;
}
return;
// clear fifo if stop frame encountered
if (indx == 15)
{
if (DEBUG_5110) logerror(" (4-bit energy=%d STOP frame)\n",m_new_energy);
m_fifo_head = m_fifo_tail = m_fifo_count = 0;
}
return;
}*/
// if the energy index is 0 or 15, we're done
if ((m_new_frame_energy_idx == 0) || (m_new_frame_energy_idx == 15))

View File

@ -336,7 +336,7 @@ monsterz // (c) 1982 Nihon (Arcade TV Game List - P.102, Left, 20 from to
mimonkey // (c) 1982 Universal Video Games (US Copyright Office info - http://cocatalog.loc.gov)
mimonsco // (c) 1982 bootleg
mimonscr // (c) 1982 bootleg
mimonscra // (c) 1982 bootleg
mimonscra // (c) 1982 bootleg
scobra // GX316 (c) 1981 Konami
scobras // GX316 (c) 1981 Stern
scobrase // GX316 (c) 1981 Sega
@ -3040,7 +3040,7 @@ whizz // (c) 1989 Philko (NOT A CAPCOM GAME but runs on modified Sidea
avengers // 2/1987 (c) 1987 (US)
avengers2 // 2/1987 (c) 1987 (US)
buraiken // 2/1987 (c) 1987 (Japan)
buraikenb // 2/1987 (c) 1987 (Japan)
buraikenb // 2/1987 (c) 1987 (Japan)
bionicc // 3/1987 (c) 1987 (Euro)
bionicc1 // 3/1987 (c) 1987 (US)
bionicc2 // 3/1987 (c) 1987 (US)
@ -3514,7 +3514,7 @@ mvscb // 23/01/1998 (c) 1998 (Brazil)
sfa3 // 04/09/1998 (c) 1998 (USA)
sfa3u // 04/09/1998 (c) 1998 (USA)
sfa3ur1 // 29/06/1998 (c) 1998 (USA)
sfa3us // 16/06/1998 (c) 1998 (USA)
sfa3us // 16/06/1998 (c) 1998 (USA)
sfa3h // 04/09/1998 (c) 1998 (Hispanic)
sfa3hr1 // 29/06/1998 (c) 1998 (Hispanic)
sfa3b // 29/06/1998 (c) 1998 (Brazil)
@ -3845,7 +3845,7 @@ soulclbrwb // 1998.?? Soul Calibur (World, SOC14/VER.B)
soulclbrub // 1998.?? Soul Calibur (US, SOC13/VER.B)
soulclbrjb // 1998.?? Soul Calibur (Japan, SOC11/VER.B)
soulclbrja // 1998.?? Soul Calibur (Japan, SOC11/VER.A2)
technodr // 1998.07 Techno Drive
technodr // 1998.07 Techno Drive
mdhorse // 1998.11 Derby Quiz My Dream Horse (Japan, MDH1/VER.A2)
// 1998.12 Attack Pla Rail
tenkomor // 1998.?? Tenkomori Shooting (Asia, TKM2/VER.A1)
@ -9535,7 +9535,7 @@ puzzlet // (c) 2000 Yunizu Corporation (Japan)
spcforce // (c) 1980 Venture Line
spcforc2 // bootleg
meteor // (c) 1981 Venture Line
meteors // (c) 1981 Amusement World
meteors // (c) 1981 Amusement World
looping // (c) 1982 Video Games GmbH
loopingv // (c) 1982 Video Games GmbH (Venture Line license)
loopingva // (c) 1982 Video Games GmbH (Venture Line license)

View File

@ -36,13 +36,13 @@ static const INT16 sine_wave[32] =
void exidy_state::adjust_sample(UINT8 freq)
{
m_tone_freq = freq;
if (!m_samples->playing(3))
{
m_samples->set_volume(3, 0);
m_samples->start_raw(3, sine_wave, 32, 1000, true);
}
if ((m_tone_freq == 0xff) || (m_tone_freq == 0x00))
m_samples->set_volume(3, 0);
else

View File

@ -182,7 +182,7 @@ static MACHINE_CONFIG_START( ajax, ajax_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240)
// 6MHz dotclock is more realistic, however needs drawing updates. replace when ready
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(ajax_state, screen_update_ajax)
MCFG_SCREEN_PALETTE("palette")

View File

@ -209,7 +209,7 @@ static MACHINE_CONFIG_START( aliens, aliens_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240) // measured 59.17
// 6MHz dotclock is more realistic, however needs drawing updates. replace when ready
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(aliens_state, screen_update_aliens)
MCFG_SCREEN_PALETTE("palette")

View File

@ -7,13 +7,13 @@
Original driver by Nicola Salmoria
Notes:
- To advance to the next screen in service mode, press P1 and P2 start
simultaneously
- To advance to the next screen in service mode, press P1 and P2 start
simultaneously
Todo:
- How is the sound irq cleared (currently using HOLD_LINE)?
- Do bit 2 and 7 of the bankswitch port have any meaning?
- Verify raw screen parameters
Todo:
- How is the sound irq cleared (currently using HOLD_LINE)?
- Do bit 2 and 7 of the bankswitch port have any meaning?
- Verify raw screen parameters
*******************************************************************************/
@ -285,7 +285,7 @@ static MACHINE_CONFIG_START( blockhl, blockhl_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240)
// 6MHz dotclock is more realistic, however needs drawing updates. replace when ready
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(blockhl_state, screen_update_blockhl)
MCFG_SCREEN_PALETTE("palette")
@ -318,48 +318,48 @@ MACHINE_CONFIG_END
//**************************************************************************
ROM_START( blockhl )
ROM_REGION( 0x10000, "maincpu", 0 ) // code + banked roms
ROM_REGION( 0x10000, "maincpu", 0 ) // code + banked roms
ROM_LOAD( "973l02.e21", 0x00000, 0x10000, CRC(e14f849a) SHA1(d44cf178cc98998b72ed32c6e20b6ebdf1f97579) )
ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the sound CPU
ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the sound CPU
ROM_LOAD( "973d01.g6", 0x00000, 0x08000, CRC(eeee9d92) SHA1(6c6c324b1f6f4fba0aa12e0d1fc5dbab133ef669) )
ROM_REGION( 0x20000, "k052109", 0 ) // tiles
ROM_REGION( 0x20000, "k052109", 0 ) // tiles
ROM_LOAD32_BYTE( "973f07.k15", 0x00000, 0x08000, CRC(1a8cd9b4) SHA1(7cb7944d24ac51fa6b610542d9dec68697cacf0f) )
ROM_LOAD32_BYTE( "973f08.k18", 0x00001, 0x08000, CRC(952b51a6) SHA1(017575738d444b688b137cad5611638d53be84f2) )
ROM_LOAD32_BYTE( "973f09.k20", 0x00002, 0x08000, CRC(77841594) SHA1(e1bfdc5bb598d865868d578ef7faba8078becd7a) )
ROM_LOAD32_BYTE( "973f10.k23", 0x00003, 0x08000, CRC(09039fab) SHA1(a9dea17aacf4484d21ef3b16470263447b51b6b5) )
ROM_REGION( 0x20000, "k051960", 0 ) // sprites
ROM_REGION( 0x20000, "k051960", 0 ) // sprites
ROM_LOAD32_BYTE( "973f06.k12", 0x00000, 0x08000, CRC(51acfdb6) SHA1(94d243f341b490684f5297d95d4835bd522ece35) )
ROM_LOAD32_BYTE( "973f05.k9", 0x00001, 0x08000, CRC(4cfea298) SHA1(4772b5b99f5fd8174d8884bd84173512e1edabf4) )
ROM_LOAD32_BYTE( "973f04.k7", 0x00002, 0x08000, CRC(69ca41bd) SHA1(9b0b1c888efd2f2d5525f14778e18fb4a7353eb6) )
ROM_LOAD32_BYTE( "973f03.k4", 0x00003, 0x08000, CRC(21e98472) SHA1(8c697d369a1f57be0825c33b4e9107ce1b02a130) )
ROM_REGION( 0x0100, "priority", 0 ) // priority encoder (not used)
ROM_REGION( 0x0100, "priority", 0 ) // priority encoder (not used)
ROM_LOAD( "973a11.h10", 0x0000, 0x0100, CRC(46d28fe9) SHA1(9d0811a928c8907785ef483bfbee5445506b3ec8) )
ROM_END
ROM_START( quarth )
ROM_REGION( 0x10000, "maincpu", 0 ) // code + banked roms
ROM_REGION( 0x10000, "maincpu", 0 ) // code + banked roms
ROM_LOAD( "973j02.e21", 0x00000, 0x10000, CRC(27a90118) SHA1(51309385b93db29b9277d14252166c4ea1746303) )
ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the sound CPU
ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the sound CPU
ROM_LOAD( "973d01.g6", 0x00000, 0x08000, CRC(eeee9d92) SHA1(6c6c324b1f6f4fba0aa12e0d1fc5dbab133ef669) )
ROM_REGION( 0x20000, "k052109", 0 ) // tiles
ROM_REGION( 0x20000, "k052109", 0 ) // tiles
ROM_LOAD32_BYTE( "973e07.k15", 0x00000, 0x08000, CRC(0bd6b0f8) SHA1(6c59cf637354fe2df424eaa89feb9c1bc1f66a92) )
ROM_LOAD32_BYTE( "973e08.k18", 0x00001, 0x08000, CRC(104d0d5f) SHA1(595698911513113d01e5b565f5b073d1bd033d3f) )
ROM_LOAD32_BYTE( "973e09.k20", 0x00002, 0x08000, CRC(bd3a6f24) SHA1(eb45db3a6a52bb2b25df8c2dace877e59b4130a6) )
ROM_LOAD32_BYTE( "973e10.k23", 0x00003, 0x08000, CRC(cf5e4b86) SHA1(43348753894c1763b26dbfc70245dac92048db8f) )
ROM_REGION( 0x20000, "k051960", 0 ) // sprites
ROM_REGION( 0x20000, "k051960", 0 ) // sprites
ROM_LOAD32_BYTE( "973e06.k12", 0x00000, 0x08000, CRC(0d58af85) SHA1(2efd661d614fb305a14cfe1aa4fb17714f215d4f) )
ROM_LOAD32_BYTE( "973e05.k9", 0x00001, 0x08000, CRC(15d822cb) SHA1(70ecad5e0a461df0da6e6eb23f43a7b643297f0d) )
ROM_LOAD32_BYTE( "973e04.k7", 0x00002, 0x08000, CRC(d70f4a2c) SHA1(25f835a17bacf2b8debb2eb8a3cff90cab3f402a) )
ROM_LOAD32_BYTE( "973e03.k4", 0x00003, 0x08000, CRC(2c5a4b4b) SHA1(e2991dd78b9cd96cf93ebd6de0d4e060d346ab9c) )
ROM_REGION( 0x0100, "priority", 0 ) // priority encoder (not used)
ROM_REGION( 0x0100, "priority", 0 ) // priority encoder (not used)
ROM_LOAD( "973a11.h10", 0x0000, 0x0100, CRC(46d28fe9) SHA1(9d0811a928c8907785ef483bfbee5445506b3ec8) )
ROM_END

View File

@ -40,7 +40,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<via6522_device> m_via;
required_device<digitalker_device> m_digitalker;
optional_device<ay8910_device> m_aysnd; // only faceoffh
optional_device<ay8910_device> m_aysnd; // only faceoffh
// vars
UINT8 m_port_a, m_port_b;
@ -95,11 +95,11 @@ READ8_MEMBER(chexx_state::via_b_in)
WRITE8_MEMBER(chexx_state::via_a_out)
{
m_port_a = data; // multiplexer
m_port_a = data; // multiplexer
m_digitalker->digitalker_data_w(space, 0, data, 0);
// logerror("%s: VIA write A = %02X\n", machine().describe_context(), data);
// logerror("%s: VIA write A = %02X\n", machine().describe_context(), data);
}
WRITE8_MEMBER(chexx_state::via_b_out)
{
@ -111,7 +111,7 @@ WRITE8_MEMBER(chexx_state::via_b_out)
// bit 4 is EJECT
// bit 7 is related to speaker out
// logerror("%s: VIA write B = %02X\n", machine().describe_context(), data);
// logerror("%s: VIA write B = %02X\n", machine().describe_context(), data);
}
WRITE_LINE_MEMBER(chexx_state::via_ca2_out)
@ -120,11 +120,11 @@ WRITE_LINE_MEMBER(chexx_state::via_ca2_out)
m_digitalker->digitalker_0_cs_w(CLEAR_LINE);
m_digitalker->digitalker_0_wr_w(state ? ASSERT_LINE : CLEAR_LINE);
// logerror("%s: VIA write CA2 = %02X\n", machine().describe_context(), state);
// logerror("%s: VIA write CA2 = %02X\n", machine().describe_context(), state);
}
WRITE_LINE_MEMBER(chexx_state::via_cb1_out)
{
// logerror("%s: VIA write CB1 = %02X\n", machine().describe_context(), state);
// logerror("%s: VIA write CB1 = %02X\n", machine().describe_context(), state);
}
WRITE_LINE_MEMBER(chexx_state::via_cb2_out)
{
@ -144,18 +144,18 @@ WRITE_LINE_MEMBER(chexx_state::via_cb2_out)
output_set_led_value(1, BIT(m_shift,1));
output_set_led_value(2, BIT(m_shift,0));
// logerror("%s: VIA write CB2 = %02X\n", machine().describe_context(), state);
// logerror("%s: VIA write CB2 = %02X\n", machine().describe_context(), state);
}
WRITE_LINE_MEMBER(chexx_state::via_irq_out)
{
m_maincpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE);
// logerror("%s: VIA write IRQ = %02X\n", machine().describe_context(), state);
// logerror("%s: VIA write IRQ = %02X\n", machine().describe_context(), state);
}
READ8_MEMBER(chexx_state::input_r)
{
UINT8 ret = ioport("DSW")->read(); // bits 0-3
UINT8 inp = ioport("INPUT")->read(); // bit 7 (multiplexed)
UINT8 ret = ioport("DSW")->read(); // bits 0-3
UINT8 inp = ioport("INPUT")->read(); // bit 7 (multiplexed)
for (int i = 0; i < 8; ++i)
if ( ((~m_port_a) & (1 << i)) && ((~inp) & (1 << i)) )
@ -193,12 +193,12 @@ WRITE8_MEMBER(chexx_state::ay_w)
if (m_ay_cmd == 0x00 && data == 0x03)
{
m_aysnd->address_w(space, offset, m_ay_data, mem_mask);
// logerror("%s: AY addr = %02X\n", machine().describe_context(), m_ay_data);
// logerror("%s: AY addr = %02X\n", machine().describe_context(), m_ay_data);
}
else if (m_ay_cmd == 0x00 && data == 0x02)
{
m_aysnd->data_w(space, offset, m_ay_data, mem_mask);
// logerror("%s: AY data = %02X\n", machine().describe_context(), m_ay_data);
// logerror("%s: AY data = %02X\n", machine().describe_context(), m_ay_data);
}
m_ay_cmd = data;
}
@ -403,13 +403,13 @@ ROM_START( faceoffh )
// bank switched (from samples region)
ROM_REGION( 0x10000, "samples", 0 )
ROM_LOAD( "9.2a", 0x0000, 0x2000, CRC(059b3725) SHA1(5837bee1ef34ce19a3101b851ca55029776e4b3e) ) // digitalker header
ROM_LOAD( "9.2a", 0x0000, 0x2000, CRC(059b3725) SHA1(5837bee1ef34ce19a3101b851ca55029776e4b3e) ) // digitalker header
ROM_LOAD( "8.2b", 0x2000, 0x2000, CRC(679da4e1) SHA1(01a5b9dd132c1b0de97c153d7de226f5bf357338) )
ROM_LOAD( "7.2c", 0x4000, 0x2000, CRC(f8461b33) SHA1(717a8842e0ce9ba94dd59504a324bede4844e389) ) // digitalker header
ROM_LOAD( "7.2c", 0x4000, 0x2000, CRC(f8461b33) SHA1(717a8842e0ce9ba94dd59504a324bede4844e389) ) // digitalker header
ROM_LOAD( "6.2d", 0x6000, 0x2000, CRC(156c91e0) SHA1(6017d4b5609b214a6e66dcd76493a7d1442c04d4) )
ROM_LOAD( "5.3a", 0x8000, 0x2000, CRC(19904604) SHA1(633c211a9a822cdf597a6f3c221ae9c8d6482e82) ) // digitalker header
ROM_LOAD( "5.3a", 0x8000, 0x2000, CRC(19904604) SHA1(633c211a9a822cdf597a6f3c221ae9c8d6482e82) ) // digitalker header
ROM_LOAD( "4.3b", 0xa000, 0x2000, CRC(c3386d51) SHA1(7882e88db55ba914be81075e4b2d76e246c34d3b) )
ROM_FILL( 0xc000, 0x2000, 0xff ) // unpopulated

View File

@ -306,7 +306,7 @@ static MACHINE_CONFIG_START( chqflag, chqflag_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 96, 400, 256, 16, 240) // measured Vsync 59.17hz Hsync 15.13 / 15.19khz
// 6MHz dotclock is more realistic, however needs drawing updates. replace when ready
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(chqflag_state, screen_update_chqflag)
MCFG_SCREEN_PALETTE("palette")

View File

@ -1581,18 +1581,18 @@ WRITE64_MEMBER(cobra_state::main_fifo_w)
{
// install HD patches for bujutsu
if (strcmp(space.machine().system().name, "bujutsu") == 0)
{
{
UINT32 *main_ram = (UINT32*)(UINT64*)m_main_ram;
UINT32 *sub_ram = (UINT32*)m_sub_ram;
UINT32 *gfx_ram = (UINT32*)(UINT64*)m_gfx_ram0;
main_ram[(0x0005ac^4) / 4] = 0x60000000; // skip IRQ fail
main_ram[(0x001ec4^4) / 4] = 0x60000000; // waiting for IRQ?
main_ram[(0x001f00^4) / 4] = 0x60000000; // waiting for IRQ?
sub_ram[0x568 / 4] = 0x60000000; // skip IRQ fail
main_ram[(0x0005ac^4) / 4] = 0x60000000; // skip IRQ fail
main_ram[(0x001ec4^4) / 4] = 0x60000000; // waiting for IRQ?
main_ram[(0x001f00^4) / 4] = 0x60000000; // waiting for IRQ?
gfx_ram[(0x38632c^4) / 4] = 0x38600000; // skip check_one_scene()
sub_ram[0x568 / 4] = 0x60000000; // skip IRQ fail
gfx_ram[(0x38632c^4) / 4] = 0x38600000; // skip check_one_scene()
}
}

View File

@ -302,7 +302,7 @@ static MACHINE_CONFIG_START( crimfght, crimfght_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 96, 416, 256, 16, 240) // measured 59.17
// 6MHz dotclock is more realistic, however needs drawing updates. replace when ready
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(crimfght_state, screen_update_crimfght)
MCFG_SCREEN_PALETTE("palette")

View File

@ -2036,7 +2036,7 @@ static MACHINE_CONFIG_START( fghthsta, deco32_state ) /* DE-0395-1 PCB */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( fghthistz, fghthsta )
static MACHINE_CONFIG_DERIVED( fghthistz, fghthsta )
MCFG_DEVICE_REMOVE("audiocpu")
MCFG_CPU_ADD("audiocpu", Z80, 32220000/9)

View File

@ -1064,8 +1064,8 @@ static ADDRESS_MAP_START( spu_map, AS_PROGRAM, 16, firebeat_state )
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("spu_ata", ata_interface_device, read_cs0, write_cs0)
AM_RANGE(0x340000, 0x34000f) AM_DEVREADWRITE("spu_ata", ata_interface_device, read_cs1, write_cs1)
AM_RANGE(0x400000, 0x400fff) AM_DEVREADWRITE("rf5c400", rf5c400_device, rf5c400_r, rf5c400_w)
AM_RANGE(0x800000, 0x83ffff) AM_RAM // SDRAM
AM_RANGE(0xfc0000, 0xffffff) AM_RAM // SDRAM
AM_RANGE(0x800000, 0x83ffff) AM_RAM // SDRAM
AM_RANGE(0xfc0000, 0xffffff) AM_RAM // SDRAM
ADDRESS_MAP_END
/*****************************************************************************/

View File

@ -538,7 +538,7 @@ ROM_START( gunsmokeua )
ROM_LOAD( "gsr_03a.9n", 0x00000, 0x8000, CRC(2f6e6ad7) SHA1(e9e4a367c240a35a1ba2eeaec9458996f7926f16) ) /* Code 0000-7fff */
ROM_LOAD( "gs04.10n", 0x10000, 0x8000, CRC(8d4b423f) SHA1(149274c2ed1526ca1f419fdf8a24059ff138f7f2) ) /* Paged code */
ROM_LOAD( "gs05.12n", 0x18000, 0x8000, CRC(2b5667fb) SHA1(5b689bca1e76d803b4cae22feaa7744fa528e93f) ) /* Paged code */
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "gs02.14h", 0x00000, 0x8000, CRC(cd7a2c38) SHA1(c76c471f694b76015370f0eacf5350e652f526ff) )

View File

@ -338,12 +338,12 @@ UINT32 joystand_state::screen_update( screen_device &screen, bitmap_rgb32 &bitma
m_bg2_tmap->set_scrolly(0, m_scroll[1]);
draw_bg15_tilemap();
bitmap.fill(m_palette->black_pen(), cliprect);
if (layers_ctrl & 4) copybitmap_trans(bitmap, m_bg15_bitmap[0], 0, 0, 1, 0, cliprect, BG15_TRANSPARENT);
if (layers_ctrl & 8) copybitmap_trans(bitmap, m_bg15_bitmap[1], 0, 0, 0, 0, cliprect, BG15_TRANSPARENT);
if (layers_ctrl & 1) m_bg1_tmap->draw(screen, bitmap, cliprect, 0, 0);
if (layers_ctrl & 2) m_bg2_tmap->draw(screen, bitmap, cliprect, 0, 0);
if (layers_ctrl & 4) copybitmap_trans(bitmap, m_bg15_bitmap[0], 0, 0, 1, 0, cliprect, BG15_TRANSPARENT);
if (layers_ctrl & 8) copybitmap_trans(bitmap, m_bg15_bitmap[1], 0, 0, 0, 0, cliprect, BG15_TRANSPARENT);
if (layers_ctrl & 1) m_bg1_tmap->draw(screen, bitmap, cliprect, 0, 0);
if (layers_ctrl & 2) m_bg2_tmap->draw(screen, bitmap, cliprect, 0, 0);
popmessage("S0: %04X S1: %04X EN: %04X OUT: %04X", m_scroll[0], m_scroll[1], m_enable[0], m_outputs[0]);
return 0;
@ -394,17 +394,17 @@ WRITE16_MEMBER(joystand_state::outputs_w)
COMBINE_DATA(&m_outputs[0]);
if (ACCESSING_BITS_8_15)
{
coin_counter_w(machine(), 0, BIT(data, 0)); // coin counter 1
coin_counter_w(machine(), 1, BIT(data, 1)); // coin counter 2
coin_counter_w(machine(), 0, BIT(data, 0)); // coin counter 1
coin_counter_w(machine(), 1, BIT(data, 1)); // coin counter 2
output_set_value("blocker", BIT(data, 2));
output_set_value("error_lamp", BIT(data, 3)); // counter error
output_set_value("photo_lamp", BIT(data, 4)); // during photo
output_set_value("blocker", BIT(data, 2));
output_set_value("error_lamp", BIT(data, 3)); // counter error
output_set_value("photo_lamp", BIT(data, 4)); // during photo
}
if (ACCESSING_BITS_8_15)
{
output_set_value("ok_button_led", BIT(data, 8));
output_set_value("cancel_button_led", BIT(data, 9));
output_set_value("ok_button_led", BIT(data, 8));
output_set_value("cancel_button_led", BIT(data, 9));
}
}
@ -449,7 +449,7 @@ static ADDRESS_MAP_START( joystand_map, AS_PROGRAM, 16, joystand_state )
AM_RANGE(0x200010, 0x200011) AM_READ_PORT("IN0") // r/w
AM_RANGE(0x200012, 0x200013) AM_RAM_WRITE(outputs_w) AM_SHARE("outputs") // r/w
AM_RANGE(0x200014, 0x200015) AM_READWRITE(fpga_r, oki_bank_w) // r/w
// AM_RANGE(0x200016, 0x200017) // write $9190 at boot
// AM_RANGE(0x200016, 0x200017) // write $9190 at boot
AM_RANGE(0x400000, 0x47ffff) AM_RAM_WRITE(bg15_0_w) AM_SHARE("bg15_0_ram") // r5g5b5 200x200 pixel-based
AM_RANGE(0x480000, 0x4fffff) AM_RAM // more rgb layers? (writes at offset 0)
@ -464,7 +464,7 @@ static ADDRESS_MAP_START( joystand_map, AS_PROGRAM, 16, joystand_state )
AM_RANGE(0x60c00c, 0x60c00d) AM_RAM AM_SHARE("enable") // write
AM_RANGE(0x800000, 0xdfffff) AM_READWRITE(cart_r, cart_w) // r/w (cart flash)
// AM_RANGE(0xe00080, 0xe00081) // write (bit 0 = cart? bit 1 = ? bit 3 = ?)
// AM_RANGE(0xe00080, 0xe00081) // write (bit 0 = cart? bit 1 = ? bit 3 = ?)
AM_RANGE(0xe00000, 0xe00001) AM_READ(e00000_r) // copy slot
AM_RANGE(0xe00020, 0xe00021) AM_READ(e00020_r) // master slot
@ -478,7 +478,7 @@ static INPUT_PORTS_START( joystand )
// Cart status:
// mask 0x1000 -> cart flash addressing (0 = sequential, 1 = interleaved even/odd)
// mask 0x6000 == 0 -> cart present?
// mask 0x8000 -> cart ready?
// mask 0x8000 -> cart ready?
PORT_START("MASTER")
PORT_CONFNAME( 0x1000, 0x1000, "Master Flash Addressing" )
@ -559,12 +559,12 @@ GFXDECODE_END
void joystand_state::machine_start()
{
m_cart_flash[0] = m_cart_u11; m_cart_flash[1] = m_cart_u5;
m_cart_flash[2] = m_cart_u12; m_cart_flash[3] = m_cart_u6;
m_cart_flash[4] = m_cart_u9; m_cart_flash[5] = m_cart_u3;
m_cart_flash[6] = m_cart_u10; m_cart_flash[7] = m_cart_u4;
m_cart_flash[8] = m_cart_u7; m_cart_flash[9] = m_cart_u1;
m_cart_flash[10] = m_cart_u8; m_cart_flash[11] = m_cart_u2;
m_cart_flash[0] = m_cart_u11; m_cart_flash[1] = m_cart_u5;
m_cart_flash[2] = m_cart_u12; m_cart_flash[3] = m_cart_u6;
m_cart_flash[4] = m_cart_u9; m_cart_flash[5] = m_cart_u3;
m_cart_flash[6] = m_cart_u10; m_cart_flash[7] = m_cart_u4;
m_cart_flash[8] = m_cart_u7; m_cart_flash[9] = m_cart_u1;
m_cart_flash[10] = m_cart_u8; m_cart_flash[11] = m_cart_u2;
}
void joystand_state::machine_reset()

View File

@ -36,7 +36,7 @@ Year + Game PCB Notes
94 Great 1000 Miles Rally Z09AF-005 TBSOP01 MCU protection (EEPROM handling etc.)
Bonk's Adventure Z09AF-003 TBSOP01 MCU protection (EEPROM handling, 68k code snippet, data)
Blood Warrior Z09AF-005 TBSOP01 MCU protection (EEPROM handling etc.)
Pack'n Bang Bang BW-002 (prototype)
Pack'n Bang Bang BW-002 (prototype)
95 Great 1000 Miles Rally 2 M201F00138 TBSOP02 MCU protection (EEPROM handling etc.)
----------------------------------------------------------------------------------------
@ -1505,7 +1505,7 @@ static INPUT_PORTS_START( packbang )
PORT_DIPSETTING( 0x20, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
PORT_START("DSW2")
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )

View File

@ -84,7 +84,7 @@ READ32_MEMBER(konendev_state::mcu2_r)
if (ACCESSING_BITS_24_31)
{
r |= 0x11000000; // MCU2 version
r |= 0x11000000; // MCU2 version
}
if (ACCESSING_BITS_16_23)
{
@ -92,15 +92,15 @@ READ32_MEMBER(konendev_state::mcu2_r)
}
if (ACCESSING_BITS_8_15)
{
r &= ~0x4000; // MCU2 presence
r &= ~0x2000; // IFU2 presence
r &= ~0x1000; // FMU2 presence
r &= ~0x4000; // MCU2 presence
r &= ~0x2000; // IFU2 presence
r &= ~0x1000; // FMU2 presence
}
if (ACCESSING_BITS_0_7)
{
r |= 0x40; // logic door
r |= 0x04; // battery 1 status
r |= 0x10; // battery 2 status
r |= 0x40; // logic door
r |= 0x04; // battery 1 status
r |= 0x10; // battery 2 status
}
return r;
@ -112,7 +112,7 @@ READ32_MEMBER(konendev_state::ifu2_r)
if (ACCESSING_BITS_0_7)
{
r |= 0x11; // IFU2 version
r |= 0x11; // IFU2 version
}
return r;
@ -151,9 +151,9 @@ static ADDRESS_MAP_START( konendev_map, AS_PROGRAM, 32, konendev_state )
AM_RANGE(0x78800004, 0x78800007) AM_READ(unk_78800004_r)
AM_RANGE(0x78a00000, 0x78a0001f) AM_READ(unk_78a00000_r)
AM_RANGE(0x78e00000, 0x78e00003) AM_READ(unk_78e00000_r)
// AM_RANGE(0x78000000, 0x78000003) AM_READNOP
// AM_RANGE(0x78100000, 0x7810001b) AM_RAM
// AM_RANGE(0x78a00014, 0x78a00017) AM_WRITENOP
// AM_RANGE(0x78000000, 0x78000003) AM_READNOP
// AM_RANGE(0x78100000, 0x7810001b) AM_RAM
// AM_RANGE(0x78a00014, 0x78a00017) AM_WRITENOP
AM_RANGE(0x79000000, 0x79000003) AM_DEVWRITE("gcu", k057714_device, fifo_w)
AM_RANGE(0x79800000, 0x798000ff) AM_DEVREADWRITE("gcu", k057714_device, read, write)
AM_RANGE(0x7a000000, 0x7a01ffff) AM_RAM AM_SHARE("nvram0")
@ -218,7 +218,7 @@ ROM_START( enchlamp )
ROM_LOAD( "enl5r211.fmu.bin", 0x0000, 0x1800000, CRC(592c3c7f) SHA1(119b3c6223d656981c399c399d7edccfdbb50dc7) )
ROM_REGION32_BE( 0x100, "eeprom", 0 )
ROM_LOAD( "93c56.u98", 0x00, 0x100, CRC(b2521a6a) SHA1(f44711545bee7e9c772a3dc23b79f0ea8059ec50) ) // empty eeprom with Konami header
ROM_LOAD( "93c56.u98", 0x00, 0x100, CRC(b2521a6a) SHA1(f44711545bee7e9c772a3dc23b79f0ea8059ec50) ) // empty eeprom with Konami header
ROM_END
@ -348,7 +348,7 @@ ROM_START( konzero )
ROM_REGION32_BE( 0x1800000, "flash", ROMREGION_ERASE00 )
ROM_REGION32_BE( 0x100, "eeprom", 0 )
ROM_LOAD( "93c56.u98", 0x00, 0x100, CRC(b2521a6a) SHA1(f44711545bee7e9c772a3dc23b79f0ea8059ec50) ) // empty eeprom with Konami header
ROM_LOAD( "93c56.u98", 0x00, 0x100, CRC(b2521a6a) SHA1(f44711545bee7e9c772a3dc23b79f0ea8059ec50) ) // empty eeprom with Konami header
ROM_END
DRIVER_INIT_MEMBER(konendev_state,konendev)
@ -358,9 +358,9 @@ DRIVER_INIT_MEMBER(konendev_state,konendev)
DRIVER_INIT_MEMBER(konendev_state,enchlamp)
{
UINT32 *rom = (UINT32*)memregion("program")->base();
rom[0x24/4] = 0x00002743; // patch flash checksum for now
rom[0x24/4] = 0x00002743; // patch flash checksum for now
rom[0] = 0xd43eb930; // new checksum for program rom
rom[0] = 0xd43eb930; // new checksum for program rom
}
// has a flash dump?

View File

@ -3591,7 +3591,7 @@ ROM_END
Bootleg version of Saint Dragon. Two PCBs connected by two flat cables.
Sound section can host two oki chips (and roms) but only one is populated.
No ASICs just logic chips.
No ASICs just logic chips.
- ROMs A-19 and A-20 are fitted 'piggy backed' with one pin
from A-20 bent out and wired to a nearby TTL.

View File

@ -31,7 +31,7 @@ Notes: (all ICs shown)
Z80 - Clock 4MHz [24/6]
6116 - 2Kbx8 SRAM
D26_01.IC7 - 27C64 8Kbx8 EPROM
***************************************************************************/
#include "emu.h"

View File

@ -474,7 +474,7 @@ READ16_MEMBER(namcos10_state::sprot_r)
READ16_MEMBER(namcos10_state::i2c_clock_r)
{
UINT16 res = i2c_dev_clock & i2c_host_clock & 1;
// logerror("i2c_clock_r %d (%x)\n", res, space.device().safe_pc());
// logerror("i2c_clock_r %d (%x)\n", res, space.device().safe_pc());
return res;
}
@ -482,14 +482,14 @@ READ16_MEMBER(namcos10_state::i2c_clock_r)
WRITE16_MEMBER(namcos10_state::i2c_clock_w)
{
COMBINE_DATA(&i2c_host_clock);
// logerror("i2c_clock_w %d (%x)\n", data, space.device().safe_pc());
// logerror("i2c_clock_w %d (%x)\n", data, space.device().safe_pc());
i2c_update();
}
READ16_MEMBER(namcos10_state::i2c_data_r)
{
UINT16 res = i2c_dev_data & i2c_host_data & 1;
// logerror("i2c_data_r %d (%x)\n", res, space.device().safe_pc());
// logerror("i2c_data_r %d (%x)\n", res, space.device().safe_pc());
return res;
}
@ -497,7 +497,7 @@ READ16_MEMBER(namcos10_state::i2c_data_r)
WRITE16_MEMBER(namcos10_state::i2c_data_w)
{
COMBINE_DATA(&i2c_host_data);
// logerror("i2c_data_w %d (%x)\n", data, space.device().safe_pc());
// logerror("i2c_data_w %d (%x)\n", data, space.device().safe_pc());
i2c_update();
}
@ -524,7 +524,7 @@ void namcos10_state::i2c_update()
i2cp_mode = I2CP_IDLE;
} else if(clock && !i2c_prev_clock) {
i2c_byte |= (data << i2c_bit);
// logerror("i2c_byte = %02x (%d)\n", i2c_byte, i2c_bit);
// logerror("i2c_byte = %02x (%d)\n", i2c_byte, i2c_bit);
i2c_bit--;
if(i2c_bit < 0) {
i2cp_mode = I2CP_RECIEVE_ACK_1;
@ -536,13 +536,13 @@ void namcos10_state::i2c_update()
break;
case I2CP_RECIEVE_ACK_1:
if(clock && !i2c_prev_clock) {
// logerror("i2c ack on\n");
// logerror("i2c ack on\n");
i2cp_mode = I2CP_RECIEVE_ACK_0;
}
break;
case I2CP_RECIEVE_ACK_0:
if(!clock && i2c_prev_clock) {
// logerror("i2c ack off\n");
// logerror("i2c ack off\n");
i2c_dev_data = 1;
data = i2c_host_data & 1;
i2c_byte = 0;
@ -574,7 +574,7 @@ WRITE16_MEMBER(namcos10_state::crypto_switch_w)
printf("crypto_switch_w: %04x\n", data);
if (decrypter == 0)
return;
if (BIT(data, 15) != 0)
decrypter->activate(data & 0xf);
else
@ -628,14 +628,14 @@ READ16_MEMBER( namcos10_state::nand_data_r )
// logerror("read %08x = %04x\n", nand_address*2, data);
// printf("read %08x = %04x\n", nand_address*2, data);
/* printf( "data<-%08x (%08x)\n", data, nand_address ); */
nand_address++;
if (decrypter == 0)
return data;
if (decrypter->is_active())
return decrypter->decrypt(data);
else

View File

@ -1878,7 +1878,7 @@ static INPUT_PORTS_START( technodr )
PORT_BIT( 0x7eff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN23")
PORT_BIT(0x0800, IP_ACTIVE_LOW, IPT_COIN1 ) // coin switch
PORT_BIT(0x0800, IP_ACTIVE_LOW, IPT_COIN1 ) // coin switch
PORT_BIT(0xf7ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("SERVICE")
@ -3000,7 +3000,7 @@ GAME( 1998, ehrgeizaa, ehrgeiz, coh700, namcos12, namcos12_state, namcos12, R
GAME( 1998, ehrgeizja, ehrgeiz, coh700, namcos12, namcos12_state, namcos12, ROT0, "Square / Namco", "Ehrgeiz (Japan, EG1/VER.A)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) /* KC021 */
GAME( 1998, mdhorse, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "MOSS / Namco", "Derby Quiz My Dream Horse (Japan, MDH1/VER.A2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* KC035 */
GAME( 1998, sws98, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Super World Stadium '98 (Japan, SS81/VER.A)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) /* KC0?? */
GAME( 1998, technodr, 0, technodr, technodr, namcos12_state, namcos12, ROT0, "Namco", "Techno Drive (Japan, TD2/VER.B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* KC056 */
GAME( 1998, technodr, 0, technodr, technodr, namcos12_state, namcos12, ROT0, "Namco", "Techno Drive (Japan, TD2/VER.B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* KC056 */
GAME( 1998, tenkomor, 0, coh700, namcos12, namcos12_state, namcos12, ROT90,"Namco", "Tenkomori Shooting (Asia, TKM2/VER.A1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) /* KC036 */
GAME( 1998, tenkomorja,tenkomor, coh700, namcos12, namcos12_state, namcos12, ROT90,"Namco", "Tenkomori Shooting (Japan, TKM1/VER.A1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) /* KC036 */
GAME( 1998, fgtlayer, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Arika / Namco", "Fighting Layer (Japan, FTL1/VER.A)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) /* KC037 */

View File

@ -1001,7 +1001,7 @@ Notes: (most info taken from poor quality pics/scans, better info is needed)
|--------------------|
Notes:
This is the I/O board used in Dynamic Golf, Out Trigger, Shootout Pool,
Shootout Pool Prize, Kick'4'Cash, Crackin' DJ 1&2
Shootout Pool Prize, Kick'4'Cash, Crackin' DJ 1&2
for the trackballs and other rotary type game controls.
It must be daisy-chained to the normal I/O board with a USB cable.
@ -5091,7 +5091,7 @@ ROM_START( otrigger )
NAOMI_BIOS
NAOMI_DEFAULT_EEPROM
ROM_REGION( 0x10000, "io_board", 0)
ROM_REGION( 0x10000, "io_board", 0)
ROM_LOAD("epr-22084.ic3", 0x0000, 0x10000, CRC(18cf58bb) SHA1(1494f8215231929e41bbe2a133658d01882fbb0f) )
ROM_REGION( 0xa000000, "rom_board", ROMREGION_ERASEFF)

View File

@ -3437,16 +3437,16 @@ ROM_END
*/
ROM_START( pkii_dm )
ROM_REGION( 0x10000, "maincpu", 0 ) // no stack, call's RET go to PC=0
ROM_LOAD( "12.u12", 0x0000, 0x1000, CRC(048e70d8) SHA1(f0eb16ba68455638de2ce68f51f305a13d0df287) )
ROM_LOAD( "13.u18", 0x1000, 0x1000, CRC(06cf6789) SHA1(587d883c399348b518e3be4d1dc2581824055328) )
ROM_REGION( 0x10000, "maincpu", 0 ) // no stack, call's RET go to PC=0
ROM_LOAD( "12.u12", 0x0000, 0x1000, CRC(048e70d8) SHA1(f0eb16ba68455638de2ce68f51f305a13d0df287) )
ROM_LOAD( "13.u18", 0x1000, 0x1000, CRC(06cf6789) SHA1(587d883c399348b518e3be4d1dc2581824055328) )
ROM_REGION( 0x1000, "gfx", 0 )
ROM_FILL( 0x0000, 0x0800, 0xff )
ROM_LOAD( "cgw-f506.u31", 0x0800, 0x0800, CRC(412fc492) SHA1(094ea0ffd0c22274cfe164f07c009ffe022331fd) )
ROM_REGION( 0x1000, "gfx", 0 )
ROM_FILL( 0x0000, 0x0800, 0xff )
ROM_LOAD( "cgw-f506.u31", 0x0800, 0x0800, CRC(412fc492) SHA1(094ea0ffd0c22274cfe164f07c009ffe022331fd) )
ROM_REGION( 0x0200, "proms", 0 )
ROM_LOAD( "63s141n.u51", 0x0000, 0x0100, CRC(88302127) SHA1(aed1273974917673405f1234ab64e6f8b3856c34) )
ROM_REGION( 0x0200, "proms", 0 )
ROM_LOAD( "63s141n.u51", 0x0000, 0x0100, CRC(88302127) SHA1(aed1273974917673405f1234ab64e6f8b3856c34) )
ROM_END

View File

@ -6913,7 +6913,7 @@ GAME( 1981, crush4, crush, crush4, crush4, driver_device, 0, ROT
GAME( 1981, maketrax, crush, pacmanp, maketrax, pacman_state, maketrax, ROT270, "Alpha Denshi Co. / Kural (Williams license)", "Make Trax (US set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, maketrxb, crush, pacmanp, maketrax, pacman_state, maketrax, ROT270, "Alpha Denshi Co. / Kural (Williams license)", "Make Trax (US set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, korosuke, crush, pacmanp, korosuke, pacman_state, korosuke, ROT90, "Alpha Denshi Co. / Kural Electric, Ltd.", "Korosuke Roller (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, crushrlf, crush, pacman, maketrax, driver_device, 0, ROT90, "bootleg", "Crush Roller (Famaresa PCB)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, crushrlf, crush, pacman, maketrax, driver_device, 0, ROT90, "bootleg", "Crush Roller (Famaresa PCB)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, crushbl, crush, pacman, maketrax, driver_device, 0, ROT90, "bootleg", "Crush Roller (bootleg set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, crushbl2, crush, pacmanp, mbrush, pacman_state, maketrax, ROT90, "bootleg", "Crush Roller (bootleg set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, crushbl3, crush, pacmanp, mbrush, pacman_state, maketrax, ROT90, "bootleg", "Crush Roller (bootleg set 3)", MACHINE_SUPPORTS_SAVE )

View File

@ -1,11 +1,11 @@
// license:BSD-3-Clause
// copyright-holders:Ville Linde
/*
Rolling Extreme
Gaelco, 1999
Rolling Extreme
Gaelco, 1999
PCB Layout
----------
PCB Layout
----------
REF.991015
|--------------------------------------------------|
@ -39,33 +39,33 @@
/*
MP Interrupts:
MP Interrupts:
External Interrupt 1: 0x4003ef78
External Interrupt 2: -
External Interrupt 3: 0x40041d30
Memory Fault: 0x40043ae8
External Interrupt 1: 0x4003ef78
External Interrupt 2: -
External Interrupt 3: 0x40041d30
Memory Fault: 0x40043ae8
PP0 Interrupts:
Task: 0x400010a0 / 0x400001a0
PP0 Interrupts:
Task: 0x400010a0 / 0x400001a0
PP1 Interrupts:
Task: 0x4004c6e8
PP1 Interrupts:
Task: 0x4004c6e8
Memory locations:
Memory locations:
[0x00000084] PP0 busy flag?
[0x00000090] PP0 fifo write pointer?
[0x00000094] PP0 fifo read pointer?
[0x00000320] 2000000-TCOUNT in XINT3 handler
[0x01010668] copied from (word)0xb0000004 in XINT3 handler
[0x00000084] PP0 busy flag?
[0x00000090] PP0 fifo write pointer?
[0x00000094] PP0 fifo read pointer?
[0x00000320] 2000000-TCOUNT in XINT3 handler
[0x01010668] copied from (word)0xb0000004 in XINT3 handler
Texture ROM decode:
Texture ROM decode:
{ic45} {ic47} {ic58} {ic60}
[2,0][0,0] [2,1][0,1] [3,0][1,0] [3,1][1,1]
{ic45} {ic47} {ic58} {ic60}
[2,0][0,0] [2,1][0,1] [3,0][1,0] [3,1][1,1]
*/
@ -231,12 +231,12 @@ UINT32 rollext_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
y[j] = (int)((u2f(iy) / 2.0f) + 192.0f);
}
draw_line(bitmap, cliprect, x[0], y[0], x[1], y[1]);
draw_line(bitmap, cliprect, x[1], y[1], x[2], y[2]);
draw_line(bitmap, cliprect, x[3], y[3], x[2], y[2]);
draw_line(bitmap, cliprect, x[0], y[0], x[3], y[3]);
}
m_disp_ram[0xffffc/4] = 0;
@ -250,7 +250,7 @@ READ32_MEMBER(rollext_state::a0000000_r)
{
switch (offset)
{
case 0: // ??
case 0: // ??
{
UINT32 data = 0x20200;
@ -276,9 +276,9 @@ READ32_MEMBER(rollext_state::b0000000_r)
{
switch (offset)
{
case 0: // ??
case 0: // ??
return 0xffff;
case 1: // ??
case 1: // ??
return 0;
}
@ -290,8 +290,8 @@ READ32_MEMBER(rollext_state::b0000000_r)
static ADDRESS_MAP_START(memmap, AS_PROGRAM, 32, rollext_state)
AM_RANGE(0x40000000, 0x40ffffff) AM_RAM AM_SHARE("main_ram")
AM_RANGE(0x60000000, 0x600fffff) AM_RAM AM_SHARE("disp_ram")
AM_RANGE(0x80000000, 0x8000ffff) AM_RAM AM_SHARE("palette_ram")
AM_RANGE(0x90000000, 0x9007ffff) AM_RAM AM_SHARE("texture_mask")
AM_RANGE(0x80000000, 0x8000ffff) AM_RAM AM_SHARE("palette_ram")
AM_RANGE(0x90000000, 0x9007ffff) AM_RAM AM_SHARE("texture_mask")
AM_RANGE(0xa0000000, 0xa00000ff) AM_READWRITE(a0000000_r, a0000000_w)
AM_RANGE(0xb0000000, 0xb0000007) AM_READ(b0000000_r)
AM_RANGE(0xc0000000, 0xc03fffff) AM_ROM AM_REGION("rom1", 0)
@ -355,7 +355,7 @@ ROM_START(rollext)
ROM_REGION32_BE(0x400000, "rom1", 0)
ROM_LOAD32_DWORD("roe.ic38", 0x000000, 0x400000, CRC(d9bcfb7c) SHA1(eda9870881732d4dc7cdacb65c6d40af3451dc9d))
ROM_REGION32_BE(0x2000000, "texture", 0) // Texture ROMs
ROM_REGION32_BE(0x2000000, "texture", 0) // Texture ROMs
ROM_LOAD32_BYTE("roe.ic45", 0x000000, 0x800000, CRC(0f7fe365) SHA1(ed50fd2b76840eac6ce394a0c748109f615b775a))
ROM_LOAD32_BYTE("roe.ic47", 0x000001, 0x800000, CRC(44d7ccee) SHA1(2fec682396e4cca704bd1237016acec0e7b4b428))
ROM_LOAD32_BYTE("roe.ic58", 0x000002, 0x800000, CRC(67ad4561) SHA1(56f41b4ebd827fec49902f377c5ed054c02d9e6c))
@ -363,4 +363,4 @@ ROM_START(rollext)
ROM_END
GAME( 1999, rollext, 0, rollext, rollext, rollext_state, rollext, ROT0, "Gaelco", "ROLLing eX.tre.me", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME( 1999, rollext, 0, rollext, rollext, rollext_state, rollext, ROT0, "Gaelco", "ROLLing eX.tre.me", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )

View File

@ -2756,7 +2756,7 @@ ROM_START( wg3dh )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version L1.2 (10/8/96) */
ROM_LOAD( "wg3dh_12.u32", 0x000000, 0x80000, CRC(15e4cea2) SHA1(72c0db7dc53ce645ba27a5311b5ce803ad39f131) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
DISK_REGION( "ide:0:hdd:image" ) /* Hard Drive Version 1.3 (Guts 10/15/96, Main 10/15/96) */
DISK_IMAGE( "wg3dh", 0, SHA1(4fc6f25d7f043d9bcf8743aa8df1d9be3cbc375b) )
@ -2770,7 +2770,7 @@ ROM_START( mace )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version 1.0ce 7/2/97 */
ROM_LOAD( "mace10ce.u32", 0x000000, 0x80000, CRC(7a50b37e) SHA1(33788835f84a9443566c80bee9f20a1691490c6d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
DISK_REGION( "ide:0:hdd:image" ) /* Hard Drive Version 1.0B 6/10/97 (Guts 7/2/97, Main 7/2/97) */
DISK_IMAGE( "mace", 0, SHA1(96ec8d3ff5dd894e21aa81403bcdbeba44bb97ea) )
@ -2784,7 +2784,7 @@ ROM_START( macea )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version ??? 5/7/97 */
ROM_LOAD( "maceboot.u32", 0x000000, 0x80000, CRC(effe3ebc) SHA1(7af3ca3580d6276ffa7ab8b4c57274e15ee6bcbb) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
DISK_REGION( "ide:0:hdd:image" ) /* Hard Drive Version 1.0a (Guts 6/9/97, Main 5/12/97) */
DISK_IMAGE( "macea", 0, BAD_DUMP SHA1(9bd4a60627915d71932cab24f89c48ea21f4c1cb) )
@ -2798,7 +2798,7 @@ ROM_START( sfrush )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version L1.0 */
ROM_LOAD( "hdboot.u32", 0x000000, 0x80000, CRC(39a35f1b) SHA1(c46d83448399205d38e6e41dd56abbc362254254) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x200000, "cageboot", 0 ) /* TMS320C31 boot ROM Version L1.0 */
ROM_LOAD32_BYTE( "sndboot.u69", 0x000000, 0x080000, CRC(7e52cdc7) SHA1(f735063e19d2ca672cef6d761a2a47df272e8c59) )
@ -2818,7 +2818,7 @@ ROM_START( sfrushrk )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code */
ROM_LOAD( "boot.bin", 0x000000, 0x080000, CRC(0555b3cf) SHA1(a48abd6d06a26f4f9b6c52d8c0af6095b6be57fd) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x200000, "cageboot", 0 ) /* TMS320C31 boot ROM */
ROM_LOAD32_BYTE( "audboot.bin", 0x000000, 0x080000, CRC(c70c060d) SHA1(dd014bd13efdf5adc5450836bd4650351abefc46) )
@ -2838,7 +2838,7 @@ ROM_START( calspeed )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version 1.2 (2/18/98) */
ROM_LOAD( "caspd1_2.u32", 0x000000, 0x80000, CRC(0a235e4e) SHA1(b352f10fad786260b58bd344b5002b6ea7aaf76d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
DISK_REGION( "ide:0:hdd:image" ) /* Release version 2.1a (4/17/98) (Guts 1.25 4/17/98, Main 4/17/98) */
DISK_IMAGE( "calspeed", 0, SHA1(08d411c591d4b8bbdd6437ea80d01c4cec8516f8) )
@ -2851,7 +2851,7 @@ ROM_START( calspeeda )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version 1.2 (2/18/98) */
ROM_LOAD( "caspd1_2.u32", 0x000000, 0x80000, CRC(0a235e4e) SHA1(b352f10fad786260b58bd344b5002b6ea7aaf76d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
DISK_REGION( "ide:0:hdd:image" ) /* Release version 1.0r8a (4/10/98) (Guts 4/10/98, Main 4/10/98) */
DISK_IMAGE( "cs_10r8a", 0, SHA1(ba4e7589740e0647938c81c5082bb71d8826bad4) )
@ -2864,7 +2864,7 @@ ROM_START( calspeedb )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version 1.2 (2/18/98) */
ROM_LOAD( "caspd1_2.u32", 0x000000, 0x80000, CRC(0a235e4e) SHA1(b352f10fad786260b58bd344b5002b6ea7aaf76d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
DISK_REGION( "ide:0:hdd:image" ) /* Release version 1.0r7a (3/4/98) (Guts 3/3/98, Main 1/19/98) */
DISK_IMAGE( "calspeda", 0, SHA1(6b1c3a7530195ef7309b06a651b01c8b3ece92c6) )
@ -2881,7 +2881,7 @@ ROM_START( vaportrx )
ROM_REGION32_LE( 0x80000, "user1", 0 )
ROM_LOAD( "vtrxboot.bin", 0x000000, 0x80000, CRC(ee487a6c) SHA1(fb9efda85047cf615f24f7276a9af9fd542f3354) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
DISK_REGION( "ide:0:hdd:image" )
DISK_IMAGE( "vaportrx", 0, SHA1(fe53ca7643d2ed2745086abb7f2243c69678cab1) )
@ -2895,7 +2895,7 @@ ROM_START( vaportrxp )
ROM_REGION32_LE( 0x80000, "user1", 0 )
ROM_LOAD( "vtrxboot.bin", 0x000000, 0x80000, CRC(ee487a6c) SHA1(fb9efda85047cf615f24f7276a9af9fd542f3354) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
DISK_REGION( "ide:0:hdd:image" ) /* Guts: Apr 10 1998 11:03:14 Main: Apr 10 1998 11:27:44 */
DISK_IMAGE( "vaportrp", 0, SHA1(6c86637c442ebd6994eee8c0ae0dce343c35dbe9) )
@ -2909,7 +2909,7 @@ ROM_START( biofreak )
ROM_REGION16_LE( 0x10000, "dcs", 0 ) /* ADSP-2115 data Version 1.02 */
ROM_LOAD16_BYTE( "sound102.u95", 0x000000, 0x8000, CRC(bec7d3ae) SHA1(db80aa4a645804a4574b07b9f34dec6b6b64190d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Seattle System Boot ROM Version 0.1i Apr 14 1997 14:52:53 */
ROM_LOAD( "biofreak.u32", 0x000000, 0x80000, CRC(cefa00bb) SHA1(7e171610ede1e8a448fb8d175f9cb9e7d549de28) )
@ -2923,7 +2923,7 @@ ROM_START( blitz )
ROM_REGION16_LE( 0x10000, "dcs", 0 ) /* ADSP-2115 data Version 1.02 */
ROM_LOAD16_BYTE( "sound102.u95", 0x000000, 0x8000, CRC(bec7d3ae) SHA1(db80aa4a645804a4574b07b9f34dec6b6b64190d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version 1.2 */
ROM_LOAD( "blitz1_2.u32", 0x000000, 0x80000, CRC(38dbecf5) SHA1(7dd5a5b3baf83a7f8f877ff4cd3f5e8b5201b36f) )
@ -2937,7 +2937,7 @@ ROM_START( blitz11 )
ROM_REGION16_LE( 0x10000, "dcs", 0 ) /* ADSP-2115 data Version 1.02 */
ROM_LOAD16_BYTE( "sound102.u95", 0x000000, 0x8000, CRC(bec7d3ae) SHA1(db80aa4a645804a4574b07b9f34dec6b6b64190d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version 1.1 */
ROM_LOAD( "blitz1_1.u32", 0x000000, 0x80000, CRC(8163ce02) SHA1(89b432d8879052f6c5534ee49599f667f50a010f) )
@ -2951,7 +2951,7 @@ ROM_START( blitz99 )
ROM_REGION16_LE( 0x10000, "dcs", 0 ) /* ADSP-2115 data Version 1.02 */
ROM_LOAD16_BYTE( "sound102.u95", 0x000000, 0x8000, CRC(bec7d3ae) SHA1(db80aa4a645804a4574b07b9f34dec6b6b64190d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version 1.0 */
ROM_LOAD( "bltz9910.u32", 0x000000, 0x80000, CRC(777119b2) SHA1(40d255181c2f3a787919c339e83593fd506779a5) )
@ -2970,7 +2970,7 @@ ROM_START( blitz99a )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF ) // to use this rom run with -bios up130 and go into TEST mode to update.
ROM_SYSTEM_BIOS( 0, "noupdate", "No Update Rom" )
ROM_SYSTEM_BIOS( 1, "up130", "Update to 1.30" )
ROMX_LOAD( "rev.-1.3.u33", 0x000000, 0x100000, CRC(0a0fde5a) SHA1(1edb671c66819f634a9f1daa35331a99b2bda01a), ROM_BIOS(2) )
ROMX_LOAD( "rev.-1.3.u33", 0x000000, 0x100000, CRC(0a0fde5a) SHA1(1edb671c66819f634a9f1daa35331a99b2bda01a), ROM_BIOS(2) )
DISK_REGION( "ide:0:hdd:image" ) /* Hard Drive Version 1.30 */
DISK_IMAGE( "blitz99a", 0, SHA1(43f834727ce01d7a63b482fc28cbf292477fc6f2) )
@ -2981,7 +2981,7 @@ ROM_START( blitz2k )
ROM_REGION16_LE( 0x10000, "dcs", 0 ) /* ADSP-2115 data Version 1.02 */
ROM_LOAD16_BYTE( "sound102.u95", 0x000000, 0x8000, CRC(bec7d3ae) SHA1(db80aa4a645804a4574b07b9f34dec6b6b64190d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Code Version 1.4 */
ROM_LOAD( "bltz2k14.u32", 0x000000, 0x80000, CRC(ac4f0051) SHA1(b8125c17370db7bfd9b783230b4ef3d5b22a2025) )
@ -2995,7 +2995,7 @@ ROM_START( carnevil )
ROM_REGION16_LE( 0x10000, "dcs", 0 ) /* ADSP-2115 data Version 1.02 */
ROM_LOAD16_BYTE( "sound102.u95", 0x000000, 0x8000, CRC(bec7d3ae) SHA1(db80aa4a645804a4574b07b9f34dec6b6b64190d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Rom Version 1.9 */
ROM_LOAD( "carnevil1_9.u32", 0x000000, 0x80000, CRC(82c07f2e) SHA1(fa51c58022ce251c53bad12fc6ffadb35adb8162) )
@ -3009,7 +3009,7 @@ ROM_START( carnevil1 )
ROM_REGION16_LE( 0x10000, "dcs", 0 ) /* ADSP-2115 data Version 1.02 */
ROM_LOAD16_BYTE( "sound102.u95", 0x000000, 0x8000, CRC(bec7d3ae) SHA1(db80aa4a645804a4574b07b9f34dec6b6b64190d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Rom Version 1.9 */
ROM_LOAD( "carnevil1_9.u32", 0x000000, 0x80000, CRC(82c07f2e) SHA1(fa51c58022ce251c53bad12fc6ffadb35adb8162) )
@ -3023,7 +3023,7 @@ ROM_START( hyprdriv )
ROM_REGION16_LE( 0x10000, "dcs", 0 ) /* ADSP-2115 data Version 1.02 */
ROM_LOAD16_BYTE( "seattle.snd", 0x000000, 0x8000, BAD_DUMP CRC(bec7d3ae) SHA1(db80aa4a645804a4574b07b9f34dec6b6b64190d) )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Rom Version 9. */
ROM_LOAD( "hyprdrve.u32", 0x000000, 0x80000, CRC(3e18cb80) SHA1(b18cc4253090ee1d65d72a7ec0c426ed08c4f238) )

View File

@ -346,7 +346,7 @@ static MACHINE_CONFIG_START( simpsons, simpsons_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/3, 528, 112, 400, 256, 16, 240)
// 6MHz dotclock is more realistic, however needs drawing updates. replace when ready
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
// MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 396, hbend, hbstart, 256, 16, 240)
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
MCFG_SCREEN_UPDATE_DRIVER(simpsons_state, screen_update_simpsons)
MCFG_SCREEN_PALETTE("palette")

View File

@ -272,7 +272,6 @@ PALETTE_INIT_MEMBER(spcforce_state, spcforce)
INTERRUPT_GEN_MEMBER(spcforce_state::vblank_irq)
{
if(m_irq_mask)
device.execute().set_input_line(3, HOLD_LINE);
}

View File

@ -1897,15 +1897,15 @@ static INPUT_PORTS_START( kbashk )
PORT_CONFSETTING( 0x0040, DEF_STR( Hong_Kong ) )
PORT_CONFSETTING( 0x0050, DEF_STR( Taiwan ) )
PORT_CONFSETTING( 0x0060, DEF_STR( Southeast_Asia ) )
PORT_CONFSETTING( 0x0070, DEF_STR( Unused ) )
PORT_CONFSETTING( 0x0080, DEF_STR( Japan ) ) // no Taito license
PORT_CONFSETTING( 0x0070, DEF_STR( Unused ) )
PORT_CONFSETTING( 0x0080, DEF_STR( Japan ) ) // no Taito license
PORT_CONFSETTING( 0x0090, DEF_STR( Unused ) )
PORT_CONFSETTING( 0x00a0, DEF_STR( Unused ) )
PORT_CONFSETTING( 0x00b0, DEF_STR( Korea ) )
PORT_CONFSETTING( 0x00c0, DEF_STR( Hong_Kong ))
PORT_CONFSETTING( 0x00d0, DEF_STR( Taiwan ))
PORT_CONFSETTING( 0x00e0, DEF_STR( Southeast_Asia ))
PORT_CONFSETTING( 0x00f0, DEF_STR( Unused ) )
PORT_CONFSETTING( 0x00b0, DEF_STR( Korea ) )
PORT_CONFSETTING( 0x00c0, DEF_STR( Hong_Kong ))
PORT_CONFSETTING( 0x00d0, DEF_STR( Taiwan ))
PORT_CONFSETTING( 0x00e0, DEF_STR( Southeast_Asia ))
PORT_CONFSETTING( 0x00f0, DEF_STR( Unused ) )
INPUT_PORTS_END
static INPUT_PORTS_START( kbash2 )

View File

@ -2454,7 +2454,7 @@ MACHINE_CONFIG_END
*
*************************************/
// there is a socket next to the main bios roms for updates, this is what the update region is.
// there is a socket next to the main bios roms for updates, this is what the update region is.
ROM_START( gauntleg )
@ -2475,16 +2475,16 @@ ROM_START( gauntleg12 )
ROM_REGION32_LE( 0x80000, "user1", 0 )
ROM_LOAD( "legend13.bin", 0x000000, 0x80000, CRC(34674c5f) SHA1(92ec1779f3ab32944cbd953b6e1889503a57794b) ) // EPROM Boot code. Version: Sep 25 1998 18:34:43 / 1.3 Sep 25 1998 18:33:45
ROM_LOAD( "legend14.bin", 0x000000, 0x80000, CRC(66869402) SHA1(bf470e0b9198b80f8baf8b9432a7e1df8c7d18ca) ) // EPROM Boot code. Version: Oct 30 1998 17:48:21 / 1.4 Oct 30 1998 17:44:29
ROM_REGION32_LE( 0x100000, "update", ROMREGION_ERASEFF )
ROM_SYSTEM_BIOS( 0, "noupdate", "No Update Rom" )
ROM_SYSTEM_BIOS( 1, "up16_1", "Disk Update 1.2 to 1.6 Step 1 of 3" )
ROMX_LOAD("12to16.1.bin", 0x000000, 0x100000, CRC(253c6bf2) SHA1(5e129576afe2bc4c638242e010735655d269a747), ROM_BIOS(2))
ROMX_LOAD("12to16.1.bin", 0x000000, 0x100000, CRC(253c6bf2) SHA1(5e129576afe2bc4c638242e010735655d269a747), ROM_BIOS(2))
ROM_SYSTEM_BIOS( 2, "up16_2", "Disk Update 1.2 to 1.6 Step 2 of 3" )
ROMX_LOAD("12to16.2.bin", 0x000000, 0x100000, CRC(15b1fe78) SHA1(532c4937b55befcc3a8cb25b0282d63e206fba47), ROM_BIOS(3))
ROMX_LOAD("12to16.2.bin", 0x000000, 0x100000, CRC(15b1fe78) SHA1(532c4937b55befcc3a8cb25b0282d63e206fba47), ROM_BIOS(3))
ROM_SYSTEM_BIOS( 3, "up16_3", "Disk Update 1.2 to 1.6 Step 3 of 3" )
ROMX_LOAD("12to16.3.bin", 0x000000, 0x100000, CRC(1027e54f) SHA1(a841f5cc5b022ddfaf70c97a64d1582f0a2ca70e), ROM_BIOS(4))
ROMX_LOAD("12to16.3.bin", 0x000000, 0x100000, CRC(1027e54f) SHA1(a841f5cc5b022ddfaf70c97a64d1582f0a2ca70e), ROM_BIOS(4))

View File

@ -274,4 +274,3 @@ ROM_END
/* GAME drivers **************************************************************/
GAME( 1989, xyonix, 0, xyonix, xyonix, driver_device, 0, ROT0, "Philko", "Xyonix", MACHINE_SUPPORTS_SAVE )

View File

@ -107,4 +107,3 @@ public:
DECLARE_WRITE16_MEMBER(wrally2_adc_cs);
DECLARE_CUSTOM_INPUT_MEMBER(wrally2_analog_bit_r);
};

View File

@ -125,7 +125,7 @@ public:
m_com_ram(*this, "com_ram"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
m_palette(*this, "palette") { }
m_palette(*this, "palette") { }
required_device<mips3_device> m_maincpu;
required_device<v53a_device> m_audiocpu;

View File

@ -27,7 +27,7 @@ public:
tilemap_t *m_bg_tilemap;
UINT8 m_irq_mask;
DECLARE_WRITE8_MEMBER(rocnrope_interrupt_vector_w);
DECLARE_WRITE8_MEMBER(irq_mask_w);
DECLARE_WRITE8_MEMBER(rocnrope_videoram_w);

View File

@ -318,4 +318,4 @@ public:
ADDRESS_MAP_EXTERN(xbox_base_map, 32);
ADDRESS_MAP_EXTERN(xbox_base_map_io, 32);
MACHINE_CONFIG_EXTERN(xbox_base);
MACHINE_CONFIG_EXTERN(xbox_base);

View File

@ -1,6 +1,6 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- exact ratio unknown, could be wider -->
<view name="Dual Wide Screens">
<screen index="0">

View File

@ -1,75 +1,75 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- 7segs -->
<element name="digit">
<led7seg>
<!-- 7segs -->
<element name="digit">
<led7seg>
<color red="1.0" green="0.0" blue="0.0"/>
</led7seg>
</led7seg>
</element>
<!-- Led -->
<element name="led" defstate="0">
<rect>
<bounds x="0" y="0" width="1.5" height="1.0"/>
<color red="1.0" green="0.96" blue="0.94"/>
</rect>
<rect state="0">
<bounds x="0.05" y="0.05" width="1.4" height="0.9"/>
<color red="0.5" green="0.0" blue="0.0"/>
</rect>
<rect state="1">
<bounds x="0.05" y="0.05" width="1.4" height="0.9"/>
<color red="1.0" green="0.0" blue="0.0"/>
</rect>
</element>
<!-- Led -->
<element name="led" defstate="0">
<rect>
<bounds x="0" y="0" width="1.5" height="1.0"/>
<color red="1.0" green="0.96" blue="0.94"/>
</rect>
<rect state="0">
<bounds x="0.05" y="0.05" width="1.4" height="0.9"/>
<color red="0.5" green="0.0" blue="0.0"/>
</rect>
<rect state="1">
<bounds x="0.05" y="0.05" width="1.4" height="0.9"/>
<color red="1.0" green="0.0" blue="0.0"/>
</rect>
</element>
<!-- Lamp -->
<element name="lamp" defstate="0">
<disk state="0">
<color red="0.2" green="0.0" blue="0.0"/>
</disk>
<disk state="1">
<color red="1.0" green="0.0" blue="0.0"/>
</disk>
</element>
<!-- Lamp -->
<element name="lamp" defstate="0">
<disk state="0">
<color red="0.2" green="0.0" blue="0.0"/>
</disk>
<disk state="1">
<color red="1.0" green="0.0" blue="0.0"/>
</disk>
</element>
<view name="Score Board (No Artwork)">
<!-- P1 score -->
<backdrop name="digit0" element="digit">
<view name="Score Board (No Artwork)">
<!-- P1 score -->
<backdrop name="digit0" element="digit">
<bounds x="0" y="0" width="1" height="2"/>
</backdrop>
<backdrop name="digit1" element="digit">
<bounds x="1" y="0" width="1" height="2"/>
</backdrop>
<backdrop name="digit1" element="digit">
<bounds x="1" y="0" width="1" height="2"/>
</backdrop>
<!-- P1 goal lamp -->
<backdrop name="lamp0" element="lamp">
<bounds x="0.75" y="-0.5" width="0.5" height="0.5"/>
</backdrop>
<!-- P1 goal lamp -->
<backdrop name="lamp0" element="lamp">
<bounds x="0.75" y="-0.5" width="0.5" height="0.5"/>
</backdrop>
<!-- Period being played -->
<backdrop name="led0" element="led">
<bounds x="3.0" y="-0.33" width="0.5" height="0.33"/>
</backdrop>
<backdrop name="led1" element="led">
<bounds x="3.5" y="-0.33" width="0.5" height="0.33"/>
</backdrop>
<backdrop name="led2" element="led">
<bounds x="4.0" y="-0.33" width="0.5" height="0.33"/>
</backdrop>
<!-- Period being played -->
<backdrop name="led0" element="led">
<bounds x="3.0" y="-0.33" width="0.5" height="0.33"/>
</backdrop>
<backdrop name="led1" element="led">
<bounds x="3.5" y="-0.33" width="0.5" height="0.33"/>
</backdrop>
<backdrop name="led2" element="led">
<bounds x="4.0" y="-0.33" width="0.5" height="0.33"/>
</backdrop>
<!-- P2 score -->
<backdrop name="digit2" element="digit">
<bounds x="5.5" y="0" width="1" height="2"/>
</backdrop>
<backdrop name="digit3" element="digit">
<bounds x="6.5" y="0" width="1" height="2"/>
</backdrop>
<!-- P2 score -->
<backdrop name="digit2" element="digit">
<bounds x="5.5" y="0" width="1" height="2"/>
</backdrop>
<backdrop name="digit3" element="digit">
<bounds x="6.5" y="0" width="1" height="2"/>
</backdrop>
<!-- P2 goal lamp -->
<backdrop name="lamp1" element="lamp">
<bounds x="6.25" y="-0.5" width="0.5" height="0.5"/>
</backdrop>
</view>
<!-- P2 goal lamp -->
<backdrop name="lamp1" element="lamp">
<bounds x="6.25" y="-0.5" width="0.5" height="0.5"/>
</backdrop>
</view>
</mamelayout>

View File

@ -119,4 +119,3 @@ void dc_controller_device::device_start()
port[i] = ioport(port_tag[i]);
}
}

View File

@ -146,7 +146,7 @@ void iteagle_fpga_device::update_sequence_eg1(UINT32 data)
m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1 + m_seq_rem2) & 0xff);
}
if (0 && LOG_FPGA)
logerror("%s:fpga update_sequence In: %02X Seq: %06X Out: %02X other %02X%02X%02X\n", machine().describe_context(),
logerror("%s:fpga update_sequence In: %02X Seq: %06X Out: %02X other %02X%02X%02X\n", machine().describe_context(),
data, m_seq, m_fpga_regs[offset]&0xff, m_seq_rem2, m_seq_rem1, val1);
}
@ -731,7 +731,7 @@ READ32_MEMBER( iteagle_ide_device::ide_r )
{
UINT32 result = m_ide->read_cs0(space, offset, mem_mask);
if (offset==0x4/4 && ACCESSING_BITS_24_31) {
if (m_irq_num!=-1 && m_irq_status==1) {
if (m_irq_num!=-1 && m_irq_status==1) {
m_irq_status = 0;
m_cpu->set_input_line(m_irq_num, CLEAR_LINE);
if (LOG_IDE)
@ -746,7 +746,7 @@ WRITE32_MEMBER( iteagle_ide_device::ide_w )
{
m_ide->write_cs0(space, offset, data, mem_mask);
if (offset==0x4/4 && ACCESSING_BITS_24_31) {
if (m_irq_num!=-1 && m_irq_status==1) {
if (m_irq_num!=-1 && m_irq_status==1) {
m_irq_status = 0;
m_cpu->set_input_line(m_irq_num, CLEAR_LINE);
if (LOG_IDE)
@ -783,7 +783,7 @@ READ32_MEMBER( iteagle_ide_device::ide2_r )
{
UINT32 result = m_ide2->read_cs0(space, offset, mem_mask);
if (offset==0x4/4 && ACCESSING_BITS_24_31) {
if (m_irq_num!=-1 && m_irq_status==1) {
if (m_irq_num!=-1 && m_irq_status==1) {
m_irq_status = 0;
m_cpu->set_input_line(m_irq_num, CLEAR_LINE);
if (LOG_IDE_CTRL)
@ -798,7 +798,7 @@ WRITE32_MEMBER( iteagle_ide_device::ide2_w )
{
m_ide2->write_cs0(space, offset, data, mem_mask);
if (offset==0x4/4 && ACCESSING_BITS_24_31) {
if (m_irq_num!=-1 && m_irq_status==1) {
if (m_irq_num!=-1 && m_irq_status==1) {
m_irq_status = 0;
m_cpu->set_input_line(m_irq_num, CLEAR_LINE);
if (LOG_IDE_CTRL)

View File

@ -8,7 +8,7 @@ out knowledge progress.)
The decryption used by type-2 System10 PCBs (MEM-N) acts on 16-bit words and is
designed to operate in a serial way: once the decryption is triggered, every
word is XORed with a mask calculated over data taken from the previous words
word is XORed with a mask calculated over data taken from the previous words
(both encrypted and decrypted). Type-1 PCBs seem to use a similar
scheme, probably involving the word address too and a bitswap, but his relation
to what is described here needs further investigation.
@ -17,14 +17,14 @@ In type-2 PCBs, the encrypted data is always contained in the first ROM of the
game (8E), and it's always stored spanning an integer number of NAND blocks
(the K9F2808U0B is organized in blocks of 16 KiB, each containing 32 pages of
0x200 bytes). Usually the first part of the encrypted data is stored at about the end
of the ROM, with all the blocks in that area processed in reverse order (first the
of the ROM, with all the blocks in that area processed in reverse order (first the
one nearest the end, then the second nearest, etc); the second part goes immediately
after it from a logic perspective, but it's, usually, physically located at the area
after it from a logic perspective, but it's, usually, physically located at the area
starting at 0x28000 in the ROM. However, in at least a couple of games, there are
out-of-order blocks (details below). Games, after
some bootup code has been executed, will copy the encrypted content from
the NANDs to RAM, moment at which the decryption is triggered. Physical locations
of the encrypted programs in the first NAND, together with the RAM region where
of the encrypted programs in the first NAND, together with the RAM region where
they are loaded, are summarized in the following table ( ' indicating processing
in reverse order of the constituting blocks) :
@ -44,12 +44,12 @@ startrgn [fdc000,1000000)' + [28000,b4000) 80010000
Both knpuzzle & gjspace present a NAND block which is out of order with respect
to the normal layout; besides, that block is physically located immediately before
the end-of-ROM region, in what maybe is an attempt to hinder the
the end-of-ROM region, in what maybe is an attempt to hinder the
recognition/reconstruction of the encrypted data.
Most games do a single decryption run, so the process is only initialized once;
however, at least three of them (gamshara, mrdrilrg & panikuru) do reinitialize the
internal state of the decrypted several times. As of 2015-08-19, only gamshara shows signs
internal state of the decrypted several times. As of 2015-08-19, only gamshara shows signs
of doing it by writing to the triggering register; how the others two are triggering the
reinitializations is still unclear. gamshara does a reinitialization every 5 NAND blocks
(16 times in total); mrdrilrg does the second one after 0x38000 bytes and then subsequent
@ -60,10 +60,10 @@ The calculation of the XOR masks seem to operate this way: most bits are
calculated by using linear equations over GF(2) taking as input data the bits from
previously processed words; however, one nonlinear calculation is performed
per word processed, and that calculation typically affect just one bit (the only
known exception is mrdrilrg, where the same nonlinear terms are
affecting two of them). Till now, all the formulae seem to depend only on the
known exception is mrdrilrg, where the same nonlinear terms are
affecting two of them). Till now, all the formulae seem to depend only on the
previous 3 words, and the first mask after a (re-)initialization is always zero, so
chances are the mask bits are calculated one word in advance, having access to the
chances are the mask bits are calculated one word in advance, having access to the
current encrypted and decrypted words plus two further words in each sequence, maybe stored
in 32 bits registers. All the nonlinear terms reverse-engineered till now are of the form
A x B, where A and B are linear formulae; thus, as everything else in the schema involves
@ -104,7 +104,7 @@ hardware is doing. Two possible simplifications could be:
A) The linear relations are creating lots of identities involving the bits
from the sequence; they could be exploited to simplify the equations (but
only when the implementation be stable, to avoid duplicating work).
B) It's possible that some of those calculations are being stored and then
B) It's possible that some of those calculations are being stored and then
used as another input bits for subsequent masks. Determining that (supposed)
bits and factoring out them would simplify the expressions, in case they
really exist.
@ -123,7 +123,7 @@ const device_type STARTRGN_DECRYPTER = &device_creator<startrgn_decrypter_device
// this could perfectly be part of the per-game logic; by now, only gamshara seems to use it, so we keep it global
const int ns10_decrypter_device::initSbox[16] = {0,12,13,6,2,4,9,8,11,1,7,15,10,5,14,3};
ns10_decrypter_device::ns10_decrypter_device(device_type type, const ns10_crypto_logic &logic, const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, type, "Namco System 10 Decrypter", tag, owner, clock, "ns10_crypto", __FILE__)
, _active(false)
@ -155,7 +155,7 @@ UINT16 ns10_decrypter_device::decrypt(UINT16 cipherword)
_previous_cipherwords ^= cipherword;
_previous_plainwords <<= 16;
_previous_plainwords ^= plainword;
_mask = 0;
for (int j = 15; j >= 0; --j)
{
@ -220,7 +220,7 @@ int gf2_reducer::gf2_reduce(UINT64 num)const
// static UINT16 panikuru_nonlinear_calc(UINT64 previous_cipherwords, UINT64 previous_plainwords, const gf2_reducer& reducer)
// {
// return ((reducer.gf2_reduce(0x0000000088300281ull & previous_cipherwords) ^ reducer.gf2_reduce(0x0000000004600281ull & previous_plainwords))
// & (reducer.gf2_reduce(0x0000a13140090000ull & previous_cipherwords) ^ reducer.gf2_reduce(0x0000806240090000ull & previous_plainwords))) << 2;
// & (reducer.gf2_reduce(0x0000a13140090000ull & previous_cipherwords) ^ reducer.gf2_reduce(0x0000806240090000ull & previous_plainwords))) << 2;
// }
static UINT16 chocovdr_nonlinear_calc(UINT64 previous_cipherwords, UINT64 previous_plainwords, const gf2_reducer& reducer)

View File

@ -16,7 +16,7 @@ private:
class ns10_decrypter_device : public device_t
{
public:
// this encodes the decryption logic, which varies per game
// this encodes the decryption logic, which varies per game
// and is probably hard-coded into the CPLD
struct ns10_crypto_logic
{

View File

@ -1527,22 +1527,22 @@ void slqz3_decrypt(running_machine &machine)
}
static const UINT8 fruitpar_tab[0x100] = {
0xe9, 0x0b, 0x95, 0x7e, 0x0d, 0x7d, 0x5c, 0x1e, 0x81, 0x0e, 0xa6, 0xd4, 0x8e, 0x90, 0xd8, 0x54,
0x27, 0x65, 0x51, 0x08, 0x1c, 0xa0, 0x3b, 0x51, 0x83, 0x60, 0x93, 0x02, 0x64, 0x69, 0x77, 0x1a,
0xa4, 0x03, 0xb0, 0xc2, 0x34, 0x18, 0x80, 0x87, 0x7a, 0x88, 0xad, 0xd9, 0xff, 0xd0, 0xce, 0xc4,
0x5b, 0xdc, 0xd5, 0xed, 0x5e, 0x29, 0xdd, 0xcf, 0x80, 0x1f, 0x36, 0x38, 0x8b, 0xae, 0xae, 0xfe,
0x87, 0x27, 0x22, 0x07, 0xe6, 0x5d, 0x46, 0x79, 0xf1, 0xfc, 0xb1, 0x3d, 0x72, 0x29, 0x2c, 0xba,
0xa3, 0x5b, 0x3c, 0xcf, 0x57, 0x79, 0xed, 0x12, 0x67, 0x34, 0xe1, 0x48, 0x5f, 0xa7, 0x9a, 0x24,
0x6a, 0x2e, 0x04, 0x44, 0x7b, 0x84, 0x46, 0x6a, 0xbd, 0x20, 0xca, 0xf7, 0x3e, 0xd1, 0x8b, 0xad,
0xd7, 0x98, 0x9e, 0xa6, 0x5e, 0xc6, 0x04, 0x90, 0x0f, 0x57, 0xae, 0x2b, 0x38, 0x8d, 0xd2, 0x0c,
0x25, 0xd1, 0x6d, 0x73, 0x4b, 0xc6, 0x19, 0xd3, 0xb8, 0xae, 0x11, 0x01, 0xba, 0x02, 0x82, 0x17,
0xcf, 0x4d, 0x14, 0x6a, 0xcd, 0x4a, 0xb9, 0xc1, 0x52, 0x3e, 0xb5, 0xd8, 0x6f, 0x98, 0xee, 0x16,
0x90, 0xc6, 0x76, 0x8a, 0xaf, 0x5a, 0x56, 0x2b, 0xb9, 0x5e, 0x9e, 0x51, 0x40, 0xf4, 0xaa, 0x6e,
0x63, 0x32, 0xb6, 0x12, 0xfb, 0x3c, 0xa5, 0x1f, 0x07, 0xa3, 0x0d, 0x49, 0x5a, 0xfe, 0x88, 0xd1,
0x83, 0xc7, 0x37, 0x82, 0xfd, 0x78, 0x97, 0xec, 0x98, 0xe6, 0x88, 0xe0, 0x27, 0xde, 0x9a, 0x2c,
0x6b, 0xfd, 0x9b, 0x98, 0x40, 0xd5, 0x5f, 0x20, 0x06, 0x3e, 0xcf, 0x74, 0x52, 0xf9, 0x35, 0xae,
0xd6, 0x8c, 0xc7, 0x53, 0x8e, 0x59, 0x71, 0x8c, 0x2d, 0x00, 0xe7, 0xa5, 0xc7, 0xf8, 0xeb, 0xc7,
0xbf, 0x68, 0xdc, 0xf2, 0xf4, 0x4c, 0x80, 0x3e, 0x27, 0xc5, 0x13, 0x52, 0xb0, 0xc0, 0x90, 0x2d
0xe9, 0x0b, 0x95, 0x7e, 0x0d, 0x7d, 0x5c, 0x1e, 0x81, 0x0e, 0xa6, 0xd4, 0x8e, 0x90, 0xd8, 0x54,
0x27, 0x65, 0x51, 0x08, 0x1c, 0xa0, 0x3b, 0x51, 0x83, 0x60, 0x93, 0x02, 0x64, 0x69, 0x77, 0x1a,
0xa4, 0x03, 0xb0, 0xc2, 0x34, 0x18, 0x80, 0x87, 0x7a, 0x88, 0xad, 0xd9, 0xff, 0xd0, 0xce, 0xc4,
0x5b, 0xdc, 0xd5, 0xed, 0x5e, 0x29, 0xdd, 0xcf, 0x80, 0x1f, 0x36, 0x38, 0x8b, 0xae, 0xae, 0xfe,
0x87, 0x27, 0x22, 0x07, 0xe6, 0x5d, 0x46, 0x79, 0xf1, 0xfc, 0xb1, 0x3d, 0x72, 0x29, 0x2c, 0xba,
0xa3, 0x5b, 0x3c, 0xcf, 0x57, 0x79, 0xed, 0x12, 0x67, 0x34, 0xe1, 0x48, 0x5f, 0xa7, 0x9a, 0x24,
0x6a, 0x2e, 0x04, 0x44, 0x7b, 0x84, 0x46, 0x6a, 0xbd, 0x20, 0xca, 0xf7, 0x3e, 0xd1, 0x8b, 0xad,
0xd7, 0x98, 0x9e, 0xa6, 0x5e, 0xc6, 0x04, 0x90, 0x0f, 0x57, 0xae, 0x2b, 0x38, 0x8d, 0xd2, 0x0c,
0x25, 0xd1, 0x6d, 0x73, 0x4b, 0xc6, 0x19, 0xd3, 0xb8, 0xae, 0x11, 0x01, 0xba, 0x02, 0x82, 0x17,
0xcf, 0x4d, 0x14, 0x6a, 0xcd, 0x4a, 0xb9, 0xc1, 0x52, 0x3e, 0xb5, 0xd8, 0x6f, 0x98, 0xee, 0x16,
0x90, 0xc6, 0x76, 0x8a, 0xaf, 0x5a, 0x56, 0x2b, 0xb9, 0x5e, 0x9e, 0x51, 0x40, 0xf4, 0xaa, 0x6e,
0x63, 0x32, 0xb6, 0x12, 0xfb, 0x3c, 0xa5, 0x1f, 0x07, 0xa3, 0x0d, 0x49, 0x5a, 0xfe, 0x88, 0xd1,
0x83, 0xc7, 0x37, 0x82, 0xfd, 0x78, 0x97, 0xec, 0x98, 0xe6, 0x88, 0xe0, 0x27, 0xde, 0x9a, 0x2c,
0x6b, 0xfd, 0x9b, 0x98, 0x40, 0xd5, 0x5f, 0x20, 0x06, 0x3e, 0xcf, 0x74, 0x52, 0xf9, 0x35, 0xae,
0xd6, 0x8c, 0xc7, 0x53, 0x8e, 0x59, 0x71, 0x8c, 0x2d, 0x00, 0xe7, 0xa5, 0xc7, 0xf8, 0xeb, 0xc7,
0xbf, 0x68, 0xdc, 0xf2, 0xf4, 0x4c, 0x80, 0x3e, 0x27, 0xc5, 0x13, 0x52, 0xb0, 0xc0, 0x90, 0x2d
};
void fruitpar_decrypt(running_machine &machine)

View File

@ -99,7 +99,7 @@ multmega // 1994 Sega Multi-Mega (Europe)
32xe
32xj
32x_scd // 1994 Sega Sega CD (USA w/32X addon)
segapm // 1996 Sega Picture Magic (32x type hardware)
segapm // 1996 Sega Picture Magic (32x type hardware)
saturnjp // 1994 Sega Saturn (Japan)
saturn // 1995 Sega Saturn (USA)
@ -2729,4 +2729,3 @@ bitgrphb
tvgame
aussieby
hp_ipc

View File

@ -34,7 +34,7 @@ K051960_CB_MEMBER(bottom9_state::sprite_callback)
*priority = 0;
if ( *color & 0x10) *priority |= GFX_PMASK_1;
if (~*color & 0x20) *priority |= GFX_PMASK_2;
*color = sprite_colorbase + (*color & 0x0f);
}

View File

@ -20,7 +20,7 @@ typedef device_delegate<void (int layer, int bank, int *code, int *color, int *f
devcb = &k052109_device::set_irq_handler(*device, DEVCB_##_devcb);
class k052109_device : public device_t, public device_gfx_interface
class k052109_device : public device_t, public device_gfx_interface
{
static const gfx_layout charlayout;
static const gfx_layout charlayout_ram;

View File

@ -116,7 +116,7 @@ WRITE32_MEMBER(k057714_device::write)
case 0x18: // ?
break;
case 0x1c: // set to 1 on "media bus" access
case 0x1c: // set to 1 on "media bus" access
if ((data >> 16) == 1)
{
m_ext_fifo_count = 0;
@ -278,7 +278,7 @@ WRITE32_MEMBER(k057714_device::fifo_w)
{
if (ACCESSING_BITS_16_31)
{
if (m_ext_fifo_count != 0) // first access is a dummy write
if (m_ext_fifo_count != 0) // first access is a dummy write
{
int count = m_ext_fifo_count - 1;
UINT32 addr = (((m_ext_fifo_addr >> 10) + m_ext_fifo_line) * 1024) + count;

View File

@ -238,7 +238,7 @@ void macrossp_state::draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, c
if(pri <= 1) primask |= GFX_PMASK_2;
if(pri <= 2) primask |= GFX_PMASK_4;
if(pri <= 3) primask |= GFX_PMASK_8;
switch (source[0] & 0x0000c000)
{
case 0x00008000:
@ -265,10 +265,10 @@ void macrossp_state::draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, c
if(flipy) {
yoffst = (high * yzoom * 16);
ymin = high;
ymax = -1;
ymax = -1;
yinc = -1;
}
int xmin = 0;
int xmax = wide+1;
int xinc = 1;
@ -288,15 +288,15 @@ void macrossp_state::draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, c
{
int fudged_xzoom = xzoom<<8;
int fudged_yzoom = yzoom<<8;
/* cover seams as don't know exactly how many pixels on target will cover, and can't specify fractional offsets to start */
if(xzoom < 0x100) fudged_xzoom += 0x600;
if(yzoom < 0x100) fudged_yzoom += 0x600;
gfx->prio_zoom_alpha(bitmap,cliprect,tileno+loopno,col,
flipx,flipy,xpos+(xoffset>>8),ypos+(yoffset>>8),
fudged_xzoom,fudged_yzoom,
screen.priority(),primask,0,alpha);
flipx,flipy,xpos+(xoffset>>8),ypos+(yoffset>>8),
fudged_xzoom,fudged_yzoom,
screen.priority(),primask,0,alpha);
xoffset += ((xzoom*16) * xinc);
loopno++;
@ -357,10 +357,10 @@ void macrossp_state::draw_layer( screen_device &screen, bitmap_rgb32 &bitmap, co
starty -= (240/2) * (incy - 0x10000);
// previous logic, which gives mostly comparable results, vr[1] is now unused
// startx = (vr[1] & 0x0000ffff) << 16;
// starty = (vr[1] & 0xffff0000) >> 0;
// startx -= (368/2) * incx;
// starty -= (240/2) * incy;
// startx = (vr[1] & 0x0000ffff) << 16;
// starty = (vr[1] & 0xffff0000) >> 0;
// startx -= (368/2) * incx;
// starty -= (240/2) * incy;
tm->draw_roz(screen, bitmap, cliprect,
startx,starty,incx,0,0,incy,
@ -415,13 +415,13 @@ UINT32 macrossp_state::screen_update_macrossp(screen_device &screen, bitmap_rgb3
if(lay_debug && !machine().input().code_pressed(lay_keys[pri]))
continue;
#endif
if(!backgrounds)
continue;
for (int y=0; y<240; y++) {
clip.min_y = clip.max_y = y;
/* quizmoon map requires that layer 2 be drawn over layer 3 when same pri */
for(int layer = 2; layer >= 0; layer--) {
if(layerpri[layer] == pri) {
@ -439,7 +439,7 @@ UINT32 macrossp_state::screen_update_macrossp(screen_device &screen, bitmap_rgb3
if(sprites) draw_sprites(screen, bitmap, cliprect);
#if 0
popmessage ("scra - %08x %08x %08x\nscrb - %08x %08x %08x\nscrc - %08x %08x %08x",
m_scra_videoregs[0]&0xffffffff, // yyyyxxxx

View File

@ -27,14 +27,14 @@
#define WAVERAM1_WIDTH 512
#define WAVERAM1_HEIGHT 512
#define BLEND_OPAQUE1 0x00000000
#define BLEND_OPAQUE2 0x4b23cb00
#define BLEND_OPAQUE3 0x4b23dd00
#define BLEND_OPAQUE4 0x00004800
#define BLEND_OPAQUE5 0xdd23dd00
#define BLEND_ADD1 0x40b68800
#define BLEND_ADD2 0xc9b78800
#define BLEND_MUL1 0x4093c800
#define BLEND_OPAQUE1 0x00000000
#define BLEND_OPAQUE2 0x4b23cb00
#define BLEND_OPAQUE3 0x4b23dd00
#define BLEND_OPAQUE4 0x00004800
#define BLEND_OPAQUE5 0xdd23dd00
#define BLEND_ADD1 0x40b68800
#define BLEND_ADD2 0xc9b78800
#define BLEND_MUL1 0x4093c800
/*************************************
@ -45,21 +45,21 @@
struct mz_poly_extra_data
{
const void * palbase;
const void * texbase;
UINT16 solidcolor;
UINT16 voffset;
INT16 zoffset;
UINT16 transcolor;
UINT16 texwidth;
UINT16 color;
UINT32 alpha;
UINT32 ctrl_word;
bool blend_enable;
bool depth_test_enable;
bool depth_write_enable;
UINT32 blend;
UINT8 (*get_texel)(const void *, int, int, int);
const void * palbase;
const void * texbase;
UINT16 solidcolor;
UINT16 voffset;
INT16 zoffset;
UINT16 transcolor;
UINT16 texwidth;
UINT16 color;
UINT32 alpha;
UINT32 ctrl_word;
bool blend_enable;
bool depth_test_enable;
bool depth_write_enable;
UINT32 blend;
UINT8 (*get_texel)(const void *, int, int, int);
};
@ -1180,7 +1180,7 @@ void midzeus_state::zeus_draw_quad(int long_fmt, const UINT32 *databuffer, UINT3
{
logerror("\t\t(%f,%f,%f) UV:(%02X,%02X) UV_SCALE:(%02X,%02X) (%03X,%03X,%03X) dot=%08X\n",
(double) vert[i].x * (1.0 / 65536.0), (double) vert[i].y * (1.0 / 65536.0), (double) vert[i].p[0] * (1.0 / 65536.0),
(iuvz >> 16) & 0xff, (iuvz >> 24) & 0xff,
(iuvz >> 16) & 0xff, (iuvz >> 24) & 0xff,
(int)(vert[i].p[1] / 256.0f), (int)(vert[i].p[2] / 256.0f),
(databuffer[10 + i] >> 20) & 0x3ff, (databuffer[10 + i] >> 10) & 0x3ff, (databuffer[10 + i] >> 0) & 0x3ff,
0);

View File

@ -377,7 +377,7 @@ UINT32 napple2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
if (m_video->m_mix)
{
m_video->hgr_update(screen, bitmap, cliprect, 0, 159);
if (!strcmp(machine().system().name, "ivelultr"))
if (!strcmp(machine().system().name, "ivelultr"))
{
m_video->text_update_ultr(screen, bitmap, cliprect, 160, 191);
}
@ -396,7 +396,7 @@ UINT32 napple2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
if (m_video->m_mix)
{
m_video->lores_update(screen, bitmap, cliprect, 0, 159);
if (!strcmp(machine().system().name, "ivelultr"))
if (!strcmp(machine().system().name, "ivelultr"))
{
m_video->text_update_ultr(screen, bitmap, cliprect, 160, 191);
}
@ -413,7 +413,7 @@ UINT32 napple2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
}
else
{
if (!strcmp(machine().system().name, "ivelultr"))
if (!strcmp(machine().system().name, "ivelultr"))
{
m_video->text_update_ultr(screen, bitmap, cliprect, 0, 191);
}

View File

@ -1718,7 +1718,7 @@ MACHINE_CONFIG_END
* PCB label Kaken Corp. PT-460
* Hitachi QFP HD38820A88 MCU(main), HD38820A89(audio)
* cyan/red VFD display
This is a memory game, the difference is instead of pictures, the player
needs to match sound effects. It has an extra MCU for sound. The case is
shaped like a glossy black pyramid. Star Trek fans will recognize it as
@ -1758,13 +1758,13 @@ WRITE16_MEMBER(pairmtch_state::grid_w)
{
// D7: sound reset (to audiocpu reset line)
m_audiocpu->set_input_line(INPUT_LINE_RESET, (data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
// D9: sound start (to audiocpu INT0)
m_audiocpu->set_input_line(0, (data & 0x200) ? ASSERT_LINE : CLEAR_LINE);
// D10,D15: input mux
m_inp_mux = (data >> 10 & 1) | (data >> 14 & 2);
// D0-D5: vfd matrix grid
m_grid = data & 0x3f;
display_matrix(12, 6, m_plate, m_grid);
@ -1795,7 +1795,7 @@ WRITE16_MEMBER(pairmtch_state::speaker_w)
{
// D0: speaker out
m_speaker->level_w(data & 1);
// D1: sound ack (to maincpu INT0)
m_maincpu->set_input_line(0, (data & 2) ? ASSERT_LINE : CLEAR_LINE);
}

View File

@ -235,7 +235,7 @@ void hh_tms1k_state::display_update()
}
memcpy(m_display_cache, active_state, sizeof(m_display_cache));
// output optional power led
if (m_power_led != m_power_on)
{

View File

@ -969,7 +969,7 @@ MACHINE_CONFIG_END
Castle Toy Tactix
* NEC uCOM-43 MCU, labeled D557LC 512
* 16 LEDs behind buttons
Tactix is similar to Merlin, for 1 or 2 players. In 2-player mode, simply
don't press the Comp Turn button. The four included minigames are:
1: Capture (reversi)
@ -1194,7 +1194,7 @@ MACHINE_CONFIG_END
known releases:
- USA: Electronic Football (aka Pro-Bowl Football)
- Japan: American Football
note: MAME external artwork is not needed for this game
***************************************************************************/

View File

@ -216,21 +216,21 @@ public:
DECLARE_READ16_MEMBER(hp64k_usart_r);
DECLARE_WRITE16_MEMBER(hp64k_usart_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_rxrdy_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_txrdy_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_txd_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_dtr_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_rts_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_rxrdy_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_txrdy_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_txd_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_dtr_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_rts_w);
DECLARE_WRITE16_MEMBER(hp64k_loopback_w);
void hp64k_update_loopback(void);
DECLARE_WRITE_LINE_MEMBER(hp64k_rs232_rxd_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_rs232_dcd_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_rs232_cts_w);
void hp64k_update_loopback(void);
DECLARE_WRITE_LINE_MEMBER(hp64k_rs232_rxd_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_rs232_dcd_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_rs232_cts_w);
DECLARE_WRITE16_MEMBER(hp64k_beep_w);
TIMER_DEVICE_CALLBACK_MEMBER(hp64k_beeper_off);
DECLARE_WRITE_LINE_MEMBER(hp64k_baud_clk_w);
DECLARE_WRITE_LINE_MEMBER(hp64k_baud_clk_w);
private:
required_device<hp_5061_3011_cpu_device> m_cpu;
required_device<i8275_device> m_crtc;
@ -248,10 +248,10 @@ private:
required_ioport m_rs232_sw;
required_device<beep_device> m_beeper;
required_device<timer_device> m_beep_timer;
required_device<clock_device> m_baud_rate;
required_ioport m_s5_sw;
required_device<i8251_device> m_uart;
required_device<rs232_port_device> m_rs232;
required_device<clock_device> m_baud_rate;
required_ioport m_s5_sw;
required_device<i8251_device> m_uart;
required_device<rs232_port_device> m_rs232;
// Character generator
const UINT8 *m_chargen;
@ -302,14 +302,14 @@ private:
floppy_state_t m_floppy_if_state;
floppy_image_device *m_current_floppy;
// RS232 I/F
bool m_16x_clk;
bool m_baud_clk;
UINT8 m_16x_div;
bool m_loopback;
bool m_txd_state;
bool m_dtr_state;
bool m_rts_state;
// RS232 I/F
bool m_16x_clk;
bool m_baud_clk;
UINT8 m_16x_div;
bool m_loopback;
bool m_txd_state;
bool m_dtr_state;
bool m_rts_state;
};
static ADDRESS_MAP_START(cpu_mem_map , AS_PROGRAM , 16 , hp64k_state)
@ -329,15 +329,15 @@ static ADDRESS_MAP_START(cpu_io_map , AS_IO , 16 , hp64k_state)
// PA = 4, IC = [0..3]
// Floppy I/F
AM_RANGE(HP_MAKE_IOADDR(4 , 0) , HP_MAKE_IOADDR(4 , 3)) AM_READWRITE(hp64k_flp_r , hp64k_flp_w)
// PA = 5, IC = [0..3]
// Write to USART
AM_RANGE(HP_MAKE_IOADDR(5 , 0) , HP_MAKE_IOADDR(5 , 3)) AM_WRITE(hp64k_usart_w)
// PA = 5, IC = [0..3]
// Write to USART
AM_RANGE(HP_MAKE_IOADDR(5 , 0) , HP_MAKE_IOADDR(5 , 3)) AM_WRITE(hp64k_usart_w)
// PA = 6, IC = [0..3]
// Read from USART
AM_RANGE(HP_MAKE_IOADDR(6 , 0) , HP_MAKE_IOADDR(6 , 3)) AM_READ(hp64k_usart_r)
// PA = 7, IC = 2
// Rear-panel switches and loopback relay control
AM_RANGE(HP_MAKE_IOADDR(7 , 2) , HP_MAKE_IOADDR(7 , 2)) AM_READWRITE(hp64k_rear_sw_r , hp64k_loopback_w)
AM_RANGE(HP_MAKE_IOADDR(7 , 2) , HP_MAKE_IOADDR(7 , 2)) AM_READWRITE(hp64k_rear_sw_r , hp64k_loopback_w)
// PA = 9, IC = [0..3]
// Beeper control & interrupt status read
AM_RANGE(HP_MAKE_IOADDR(9 , 0) , HP_MAKE_IOADDR(9 , 3)) AM_WRITE(hp64k_beep_w)
@ -366,11 +366,11 @@ hp64k_state::hp64k_state(const machine_config &mconfig, device_type type, const
m_rear_panel_sw(*this , "rear_sw"),
m_rs232_sw(*this , "rs232_sw"),
m_beeper(*this , "beeper"),
m_beep_timer(*this , "beep_timer"),
m_baud_rate(*this , "baud_rate"),
m_s5_sw(*this , "s5_sw"),
m_uart(*this , "uart"),
m_rs232(*this , "rs232")
m_beep_timer(*this , "beep_timer"),
m_baud_rate(*this , "baud_rate"),
m_s5_sw(*this , "s5_sw"),
m_uart(*this , "uart"),
m_rs232(*this , "rs232")
{
}
@ -387,22 +387,22 @@ void hp64k_state::video_start()
// Divisors of K1135 baud rate generator
static unsigned baud_rate_divisors[] = {
6336,
4224,
2880,
2355,
2112,
1056,
528,
264,
176,
158,
132,
88,
66,
44,
33,
16
6336,
4224,
2880,
2355,
2112,
1056,
528,
264,
176,
158,
132,
88,
66,
44,
33,
16
};
void hp64k_state::machine_reset()
@ -428,13 +428,13 @@ void hp64k_state::machine_reset()
m_floppy0_wpt = false;
m_floppy1_wpt = false;
m_beeper->set_state(0);
m_baud_rate->set_unscaled_clock(BAUD_RATE_GEN_CLOCK / baud_rate_divisors[ (m_s5_sw->read() >> 1) & 0xf ]);
m_16x_clk = (m_rs232_sw->read() & 0x02) != 0;
m_loopback = false;
m_txd_state = true;
m_dtr_state = true;
m_rts_state = true;
m_baud_rate->set_unscaled_clock(BAUD_RATE_GEN_CLOCK / baud_rate_divisors[ (m_s5_sw->read() >> 1) & 0xf ]);
m_16x_clk = (m_rs232_sw->read() & 0x02) != 0;
m_loopback = false;
m_txd_state = true;
m_dtr_state = true;
m_rts_state = true;
}
UINT8 hp64k_state::hp64k_crtc_filter(UINT8 data)
@ -958,125 +958,125 @@ void hp64k_state::hp64k_floppy_wpt_cb(floppy_image_device *floppy , int state)
READ16_MEMBER(hp64k_state::hp64k_usart_r)
{
UINT16 tmp;
UINT16 tmp;
if ((offset & 1) == 0) {
tmp = m_uart->status_r(space , 0);
} else {
tmp = m_uart->data_r(space , 0);
}
if ((offset & 1) == 0) {
tmp = m_uart->status_r(space , 0);
} else {
tmp = m_uart->data_r(space , 0);
}
// bit 8 == bit 7 rear panel switches (modem/terminal) ???
tmp |= (m_rs232_sw->read() << 8);
tmp |= (m_rs232_sw->read() << 8);
if (BIT(m_rear_panel_sw->read() , 7)) {
BIT_SET(tmp , 8);
}
if (BIT(m_rear_panel_sw->read() , 7)) {
BIT_SET(tmp , 8);
}
return tmp;
}
WRITE16_MEMBER(hp64k_state::hp64k_usart_w)
{
if ((offset & 1) == 0) {
m_uart->control_w(space , 0 , (UINT8)(data & 0xff));
} else {
m_uart->data_w(space , 0 , (UINT8)(data & 0xff));
}
if ((offset & 1) == 0) {
m_uart->control_w(space , 0 , (UINT8)(data & 0xff));
} else {
m_uart->data_w(space , 0 , (UINT8)(data & 0xff));
}
}
WRITE_LINE_MEMBER(hp64k_state::hp64k_rxrdy_w)
{
if (state) {
BIT_SET(m_irl_pending , 6);
} else {
BIT_CLR(m_irl_pending , 6);
}
if (state) {
BIT_SET(m_irl_pending , 6);
} else {
BIT_CLR(m_irl_pending , 6);
}
hp64k_update_irl();
hp64k_update_irl();
}
WRITE_LINE_MEMBER(hp64k_state::hp64k_txrdy_w)
{
if (state) {
BIT_SET(m_irl_pending , 5);
} else {
BIT_CLR(m_irl_pending , 5);
}
if (state) {
BIT_SET(m_irl_pending , 5);
} else {
BIT_CLR(m_irl_pending , 5);
}
hp64k_update_irl();
hp64k_update_irl();
}
WRITE_LINE_MEMBER(hp64k_state::hp64k_txd_w)
{
m_txd_state = state;
if (m_loopback) {
m_uart->write_rxd(state);
}
m_rs232->write_txd(state);
m_txd_state = state;
if (m_loopback) {
m_uart->write_rxd(state);
}
m_rs232->write_txd(state);
}
WRITE_LINE_MEMBER(hp64k_state::hp64k_dtr_w)
{
m_dtr_state = state;
if (m_loopback) {
m_uart->write_dsr(state);
}
m_rs232->write_dtr(state);
m_dtr_state = state;
if (m_loopback) {
m_uart->write_dsr(state);
}
m_rs232->write_dtr(state);
}
WRITE_LINE_MEMBER(hp64k_state::hp64k_rts_w)
{
if (BIT(m_s5_sw->read() , 0)) {
// Full duplex, RTS/ = 0
state = 0;
}
m_rts_state = state;
if (m_loopback) {
m_uart->write_cts(state);
}
m_rs232->write_rts(state);
if (BIT(m_s5_sw->read() , 0)) {
// Full duplex, RTS/ = 0
state = 0;
}
m_rts_state = state;
if (m_loopback) {
m_uart->write_cts(state);
}
m_rs232->write_rts(state);
}
WRITE16_MEMBER(hp64k_state::hp64k_loopback_w)
{
m_loopback = BIT(data , 11);
hp64k_update_loopback();
m_loopback = BIT(data , 11);
hp64k_update_loopback();
}
void hp64k_state::hp64k_update_loopback(void)
{
if (m_loopback) {
m_uart->write_rxd(m_txd_state);
m_uart->write_dsr(m_dtr_state);
m_uart->write_cts(m_rts_state);
} else {
m_uart->write_rxd(m_rs232->rxd_r());
m_uart->write_dsr(m_rs232->dcd_r());
m_uart->write_cts(m_rs232->cts_r());
}
if (m_loopback) {
m_uart->write_rxd(m_txd_state);
m_uart->write_dsr(m_dtr_state);
m_uart->write_cts(m_rts_state);
} else {
m_uart->write_rxd(m_rs232->rxd_r());
m_uart->write_dsr(m_rs232->dcd_r());
m_uart->write_cts(m_rs232->cts_r());
}
}
WRITE_LINE_MEMBER(hp64k_state::hp64k_rs232_rxd_w)
{
if (!m_loopback) {
m_uart->write_rxd(state);
}
if (!m_loopback) {
m_uart->write_rxd(state);
}
}
WRITE_LINE_MEMBER(hp64k_state::hp64k_rs232_dcd_w)
{
if (!m_loopback) {
m_uart->write_dsr(state);
}
if (!m_loopback) {
m_uart->write_dsr(state);
}
}
WRITE_LINE_MEMBER(hp64k_state::hp64k_rs232_cts_w)
{
if (!m_loopback) {
m_uart->write_cts(state);
}
if (!m_loopback) {
m_uart->write_cts(state);
}
}
WRITE16_MEMBER(hp64k_state::hp64k_beep_w)
@ -1095,15 +1095,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(hp64k_state::hp64k_beeper_off)
WRITE_LINE_MEMBER(hp64k_state::hp64k_baud_clk_w)
{
if (!m_16x_clk) {
if (state && !m_baud_clk) {
m_16x_div++;
}
m_baud_clk = !!state;
state = BIT(m_16x_div , 3);
}
m_uart->write_txc(state);
m_uart->write_rxc(state);
if (!m_16x_clk) {
if (state && !m_baud_clk) {
m_16x_div++;
}
m_baud_clk = !!state;
state = BIT(m_16x_div , 3);
}
m_uart->write_txc(state);
m_uart->write_rxc(state);
}
static INPUT_PORTS_START(hp64k)
@ -1321,29 +1321,29 @@ static INPUT_PORTS_START(hp64k)
PORT_DIPSETTING(0x00 , "1x")
PORT_DIPSETTING(0x02 , "16x")
PORT_START("s5_sw")
PORT_DIPNAME(0x01 , 0x00 , "Duplex")
PORT_DIPLOCATION("S5 IO:!1")
PORT_DIPSETTING(0x00 , "Half duplex")
PORT_DIPSETTING(0x01 , "Full duplex")
PORT_DIPNAME(0x1e , 0x00 , "Baud rate")
PORT_DIPLOCATION("S5 IO:!5,!4,!3,!2")
PORT_DIPSETTING(0x00 , "50")
PORT_DIPSETTING(0x02 , "75")
PORT_DIPSETTING(0x04 , "110")
PORT_DIPSETTING(0x06 , "134.5")
PORT_DIPSETTING(0x08 , "150")
PORT_DIPSETTING(0x0a , "300")
PORT_DIPSETTING(0x0c , "600")
PORT_DIPSETTING(0x0e , "1200")
PORT_DIPSETTING(0x10 , "1800")
PORT_DIPSETTING(0x12 , "2000")
PORT_DIPSETTING(0x14 , "2400")
PORT_DIPSETTING(0x16 , "3600")
PORT_DIPSETTING(0x18 , "4800")
PORT_DIPSETTING(0x1a , "7200")
PORT_DIPSETTING(0x1c , "9600")
PORT_DIPSETTING(0x1e , "19200")
PORT_START("s5_sw")
PORT_DIPNAME(0x01 , 0x00 , "Duplex")
PORT_DIPLOCATION("S5 IO:!1")
PORT_DIPSETTING(0x00 , "Half duplex")
PORT_DIPSETTING(0x01 , "Full duplex")
PORT_DIPNAME(0x1e , 0x00 , "Baud rate")
PORT_DIPLOCATION("S5 IO:!5,!4,!3,!2")
PORT_DIPSETTING(0x00 , "50")
PORT_DIPSETTING(0x02 , "75")
PORT_DIPSETTING(0x04 , "110")
PORT_DIPSETTING(0x06 , "134.5")
PORT_DIPSETTING(0x08 , "150")
PORT_DIPSETTING(0x0a , "300")
PORT_DIPSETTING(0x0c , "600")
PORT_DIPSETTING(0x0e , "1200")
PORT_DIPSETTING(0x10 , "1800")
PORT_DIPSETTING(0x12 , "2000")
PORT_DIPSETTING(0x14 , "2400")
PORT_DIPSETTING(0x16 , "3600")
PORT_DIPSETTING(0x18 , "4800")
PORT_DIPSETTING(0x1a , "7200")
PORT_DIPSETTING(0x1c , "9600")
PORT_DIPSETTING(0x1e , "19200")
INPUT_PORTS_END
@ -1366,7 +1366,7 @@ static MACHINE_CONFIG_START(hp64k , hp64k_state)
// Clock = 25 MHz / 9 * (112/114)
MCFG_DEVICE_ADD("crtc" , I8275 , 2729045)
MCFG_VIDEO_SET_SCREEN("screen")
MCFG_VIDEO_SET_SCREEN("screen")
MCFG_I8275_CHARACTER_WIDTH(9)
MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(hp64k_state , crtc_display_pixels)
MCFG_I8275_DRQ_CALLBACK(WRITELINE(hp64k_state , hp64k_crtc_drq_w))
@ -1375,10 +1375,10 @@ static MACHINE_CONFIG_START(hp64k , hp64k_state)
MCFG_SCREEN_ADD("screen" , RASTER)
MCFG_SCREEN_UPDATE_DEVICE("crtc" , i8275_device , screen_update)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(720 , 390)
MCFG_SCREEN_SIZE(720 , 390)
MCFG_PALETTE_ADD_MONOCHROME_GREEN_HIGHLIGHT("palette")
MCFG_FD1791_ADD("fdc" , XTAL_4MHz / 4)
MCFG_FD1791_ADD("fdc" , XTAL_4MHz / 4)
MCFG_WD_FDC_FORCE_READY
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(hp64k_state , hp64k_flp_intrq_w))
MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(hp64k_state , hp64k_flp_drq_w))
@ -1410,21 +1410,21 @@ static MACHINE_CONFIG_START(hp64k , hp64k_state)
MCFG_TIMER_DRIVER_ADD("beep_timer" , hp64k_state , hp64k_beeper_off);
MCFG_DEVICE_ADD("baud_rate" , CLOCK , 0)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(hp64k_state , hp64k_baud_clk_w));
MCFG_DEVICE_ADD("baud_rate" , CLOCK , 0)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(hp64k_state , hp64k_baud_clk_w));
MCFG_DEVICE_ADD("uart" , I8251 , 0)
MCFG_I8251_RXRDY_HANDLER(WRITELINE(hp64k_state , hp64k_rxrdy_w));
MCFG_I8251_TXRDY_HANDLER(WRITELINE(hp64k_state , hp64k_txrdy_w));
MCFG_I8251_TXD_HANDLER(WRITELINE(hp64k_state , hp64k_txd_w));
MCFG_I8251_DTR_HANDLER(WRITELINE(hp64k_state , hp64k_dtr_w));
MCFG_I8251_RTS_HANDLER(WRITELINE(hp64k_state , hp64k_rts_w));
MCFG_DEVICE_ADD("uart" , I8251 , 0)
MCFG_I8251_RXRDY_HANDLER(WRITELINE(hp64k_state , hp64k_rxrdy_w));
MCFG_I8251_TXRDY_HANDLER(WRITELINE(hp64k_state , hp64k_txrdy_w));
MCFG_I8251_TXD_HANDLER(WRITELINE(hp64k_state , hp64k_txd_w));
MCFG_I8251_DTR_HANDLER(WRITELINE(hp64k_state , hp64k_dtr_w));
MCFG_I8251_RTS_HANDLER(WRITELINE(hp64k_state , hp64k_rts_w));
MCFG_RS232_PORT_ADD("rs232" , default_rs232_devices , NULL)
MCFG_RS232_RXD_HANDLER(WRITELINE(hp64k_state , hp64k_rs232_rxd_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(hp64k_state , hp64k_rs232_dcd_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(hp64k_state , hp64k_rs232_cts_w))
MCFG_RS232_PORT_ADD("rs232" , default_rs232_devices , NULL)
MCFG_RS232_RXD_HANDLER(WRITELINE(hp64k_state , hp64k_rs232_rxd_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(hp64k_state , hp64k_rs232_dcd_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(hp64k_state , hp64k_rs232_cts_w))
MACHINE_CONFIG_END
ROM_START(hp64k)

View File

@ -356,4 +356,3 @@ ROM_END
COMP(1985, hp_ipc, 0, 0, hp_ipc, hp_ipc, driver_device, 0, "HP", "Integral Personal Computer", MACHINE_IS_SKELETON)

View File

@ -744,7 +744,7 @@ WRITE8_MEMBER(ngen_state::dma_write_word)
MC6845_UPDATE_ROW( ngen_state::crtc_update_row )
{
UINT16 addr = ma;
for(int x=0;x<bitmap.width();x+=9)
{
UINT8 ch = m_vram.read16(addr++) & 0xff;
@ -893,7 +893,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ngen386_io, AS_IO, 32, ngen_state )
AM_RANGE(0x0000, 0x0003) AM_READWRITE16(xbus_r, xbus_w, 0x0000ffff)
// AM_RANGE(0xf800, 0xfeff) AM_READWRITE16(peripheral_r, peripheral_w,0xffffffff)
// AM_RANGE(0xf800, 0xfeff) AM_READWRITE16(peripheral_r, peripheral_w,0xffffffff)
AM_RANGE(0xfd08, 0xfd0b) AM_READWRITE16(b38_crtc_r, b38_crtc_w,0xffffffff)
AM_RANGE(0xfd0c, 0xfd0f) AM_READWRITE16(b38_keyboard_r, b38_keyboard_w,0xffffffff)
ADDRESS_MAP_END

View File

@ -9,7 +9,7 @@
These devices, mostly edu-toys, are based around an MCU(TMS0270/TMS1100),
TMS51xx speech, and VSM ROM(s). Newer devices, such as Speak & Music,
are based around the TMP50C40 and belong in another driver, probably.
note: except for tntell, MAME external artwork is not required. But it
is objectively a large improvement.
@ -430,7 +430,7 @@ void tispeak_state::machine_start()
void tispeak_state::init_cartridge()
{
m_overlay = 0;
if (m_cart != NULL && m_cart->exists())
{
std::string region_tag;
@ -558,7 +558,7 @@ WRITE16_MEMBER(tispeak_state::tntell_write_r)
{
// R10: CD2802 PDC pin
m_tms5100->pdc_w(data >> 10);
// R9: power-off request, on falling edge
if ((m_r >> 9 & 1) && !(data >> 9 & 1))
snspell_power_off();
@ -578,7 +578,7 @@ READ8_MEMBER(tispeak_state::tntell_read_k)
{
// multiplexed inputs (and K2 from on-button)
UINT8 k = m_inp_matrix[9]->read() | read_inputs(9);
// K4: CD2802 CTL1
if (m_tms5100->ctl_r(space, 0) & 1)
k |= 4;
@ -586,7 +586,7 @@ READ8_MEMBER(tispeak_state::tntell_read_k)
// K8: overlay code from R5,O4-O7
if (((m_r >> 1 & 0x10) | (m_o >> 4 & 0xf)) & m_overlay)
k |= 8;
return k;
}
@ -596,13 +596,13 @@ TIMER_DEVICE_CALLBACK_MEMBER(tispeak_state::tntell_get_overlay)
// which one is active(if any). If it matches with the internal ROM or
// external module, the game continues.
// 00 for none, 1F for diagnostics, see comment section above for a list
// try to get overlay code from artwork file(in decimal), otherwise pick the
// one that was selected in machine configuration
m_overlay = output_get_value("overlay_code") & 0x1f;
if (m_overlay == 0)
m_overlay = m_inp_matrix[10]->read();
for (int i = 0; i < 5; i++)
output_set_indexed_value("ol", i+1, m_overlay >> i & 1);
}
@ -1252,7 +1252,7 @@ ROM_START( tntell )
ROM_LOAD( "tms1100_cd8012_micro.pla", 0, 867, CRC(46d936c8) SHA1(b0aad486a90a5dec7fd2fb07caa503be771f91c8) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_cd8012_output.pla", 0, 365, CRC(5ada9306) SHA1(a4140118dd535af45a691832530d55cd86a23510) )
ROM_REGION( 0x8000, "tms6100", ROMREGION_ERASEFF ) // 4000-7fff = space reserved for cartridge
ROM_LOAD( "cd2610.vsm", 0x0000, 0x1000, CRC(6db34e5a) SHA1(10fa5db20fdcba68034058e7194f35c90b9844e6) )
ROM_END
@ -1265,7 +1265,7 @@ ROM_START( tntelluk )
ROM_LOAD( "tms1100_cd8012_micro.pla", 0, 867, CRC(46d936c8) SHA1(b0aad486a90a5dec7fd2fb07caa503be771f91c8) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_cd8012_output.pla", 0, 365, CRC(5ada9306) SHA1(a4140118dd535af45a691832530d55cd86a23510) )
ROM_REGION( 0x8000, "tms6100", ROMREGION_ERASEFF ) // 4000-7fff = space reserved for cartridge
ROM_LOAD( "cd62170.vsm", 0x0000, 0x4000, CRC(6dc9d072) SHA1(9d2c9ff57c4f8fe69768666ffa41fcac649279ef) )
ROM_END
@ -1278,7 +1278,7 @@ ROM_START( tntellfr )
ROM_LOAD( "tms1100_cd8012_micro.pla", 0, 867, CRC(46d936c8) SHA1(b0aad486a90a5dec7fd2fb07caa503be771f91c8) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_cd8012_output.pla", 0, 365, CRC(5ada9306) SHA1(a4140118dd535af45a691832530d55cd86a23510) )
ROM_REGION( 0x8000, "tms6100", ROMREGION_ERASEFF ) // 4000-7fff = space reserved for cartridge
ROM_LOAD( "cd62171.vsm", 0x0000, 0x4000, CRC(cc26f7d1) SHA1(2b03e37b3bf3cbeca36980acfc45246dac706b83) )
ROM_END

View File

@ -130,11 +130,11 @@ void xbox_state::hack_eeprom()
}
/*static const struct {
const char *game_name;
struct {
UINT32 address;
UINT8 write_byte;
} modify[16];
const char *game_name;
struct {
UINT32 address;
UINT8 write_byte;
} modify[16];
} hacks[] = { { "chihiro",{ { 0x6a79f, 0x01 },{ 0x6a7a0, 0x00 },{ 0x6b575, 0x00 },{ 0x6b576, 0x00 },{ 0x6b5af, 0x75 },{ 0x6b78a, 0x75 },{ 0x6b7ca, 0x00 },{ 0x6b7b8, 0x00 },{ 0x8f5b2, 0x75 },{ 0x79a9e, 0x74 },{ 0x79b80, 0x74 },{ 0x79b97, 0x74 },{ 0, 0 } } },
{ "outr2",{ { 0x12e4cf, 0x01 },{ 0x12e4d0, 0x00 },{ 0x4793e, 0x01 },{ 0x4793f, 0x00 },{ 0x47aa3, 0x01 },{ 0x47aa4, 0x00 },{ 0x14f2b6, 0x84 },{ 0x14f2d1, 0x75 },{ 0x8732f, 0x7d },{ 0x87384, 0x7d },{ 0x87388, 0xeb },{ 0, 0 } } } };*/
@ -150,9 +150,9 @@ void xbox_state::hack_usb()
p = -1;
if (p >= 0) {
/*for (int a = 0; a < 16; a++) {
if (hacks[p].modify[a].address == 0)
break;
m_maincpu->space(0).write_byte(hacks[p].modify[a].address, hacks[p].modify[a].write_byte);
if (hacks[p].modify[a].address == 0)
break;
m_maincpu->space(0).write_byte(hacks[p].modify[a].address, hacks[p].modify[a].write_byte);
}*/
}
usbhack_counter++;
@ -164,10 +164,10 @@ void xbox_state::machine_start()
xbox_devs.ide = machine().device<bus_master_ide_controller_device>("ide");
usbhack_index = -1;
/*for (int a = 1; a < 2; a++)
if (strcmp(machine().basename(), hacks[a].game_name) == 0) {
usbhack_index = a;
break;
}*/
if (strcmp(machine().basename(), hacks[a].game_name) == 0) {
usbhack_index = a;
break;
}*/
usbhack_counter = 0;
// savestates
save_item(NAME(usbhack_counter));

View File

@ -124,4 +124,3 @@ private:
required_device<speaker_sound_device> m_speaker;
required_device<votrax_sc01_device> m_votrax;
};

View File

@ -390,7 +390,7 @@ protected:
optional_memory_bank m_rambank;
required_memory_bank m_flopbank;
required_memory_bank m_basebank;
required_memory_bank m_syslobank;
required_memory_bank m_syslobank;
optional_memory_bank m_syshibank;
optional_memory_bank m_datalobank;
optional_memory_bank m_datahibank;

View File

@ -705,7 +705,7 @@ void coco_state::update_sound(void)
*/
if ((status & SOUNDMUX_ENABLE) != 0)
{
m_analog_audio_level = dac_sound + cassette_sound + cart_sound;
m_analog_audio_level = dac_sound + cassette_sound + cart_sound;
}
m_dac->write_unsigned8(single_bit_sound + m_analog_audio_level);

View File

@ -70,7 +70,7 @@ READ8_MEMBER( aussiebyte_state::port37_r )
MC6845_ON_UPDATE_ADDR_CHANGED( aussiebyte_state::crtc_update_addr )
{
/* not sure what goes in here - parameters passed are device, address, strobe */
// m_video_address = address;// & 0x7ff;
// m_video_address = address;// & 0x7ff;
}
WRITE8_MEMBER( aussiebyte_state::address_w )
@ -147,7 +147,7 @@ UINT8 aussiebyte_state::crt8002(UINT8 ac_ra, UINT8 ac_chr, UINT8 ac_attr, UINT16
gfx = m_p_chargen[((ac_chr & 0x7f)<<4) | ac_ra];
break;
}
if (BIT(ac_attr, 3) & (ac_ra == 11)) // underline
gfx = 0xff;
if (BIT(ac_attr, 2) & ((ac_ra == 5) | (ac_ra == 6))) // strike-through
@ -194,4 +194,3 @@ MC6845_UPDATE_ROW( aussiebyte_state::crtc_update_row )
*p++ = palette[BIT(gfx, 0)];
}
}

View File

@ -8,7 +8,7 @@
***************************************************************************/
#define BARE_BUILD_VERSION "0.164"
#define BARE_BUILD_VERSION "0.165"
extern const char bare_build_version[];
extern const char build_version[];