mirror of
https://github.com/holub/mame
synced 2025-06-06 12:53:46 +03:00
Cleanups and version bump
This commit is contained in:
parent
bc5ffe4937
commit
efa3a679a3
@ -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>
|
||||
-->
|
||||
|
||||
|
||||
|
@ -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; }
|
||||
|
@ -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
|
||||
|
||||
*/
|
||||
|
||||
|
@ -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
|
||||
|
@ -69,4 +69,3 @@ WRITE8_MEMBER(msx_cart_fs_sr022::write_cart)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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>;
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -595,4 +595,3 @@ void emu_options::update_cached_options()
|
||||
m_sleep = bool_value(OPTION_SLEEP);
|
||||
m_refresh_speed = bool_value(OPTION_REFRESHSPEED);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -19,7 +19,6 @@ const netlist::netlist_time netlist::netlist_time::zero = netlist::netlist_time:
|
||||
|
||||
namespace netlist
|
||||
{
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// logic_family_ttl_t
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
@ -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;
|
||||
|
@ -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)))
|
||||
|
@ -264,4 +264,3 @@ pstream::pos_type pomemstream::vtell()
|
||||
{
|
||||
return m_pos;
|
||||
}
|
||||
|
||||
|
@ -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>;
|
||||
|
||||
|
@ -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() {};
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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));
|
||||
|
@ -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++)
|
||||
{
|
||||
|
@ -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++)
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -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) )
|
||||
|
||||
|
@ -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()
|
||||
|
@ -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 ) )
|
||||
|
@ -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?
|
||||
|
@ -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.
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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 )
|
||||
|
@ -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) )
|
||||
|
@ -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")
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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 )
|
||||
|
@ -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))
|
||||
|
||||
|
||||
|
||||
|
@ -274,4 +274,3 @@ ROM_END
|
||||
/* GAME drivers **************************************************************/
|
||||
|
||||
GAME( 1989, xyonix, 0, xyonix, xyonix, driver_device, 0, ROT0, "Philko", "Xyonix", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
|
@ -107,4 +107,3 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(wrally2_adc_cs);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(wrally2_analog_bit_r);
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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">
|
||||
|
@ -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>
|
||||
|
@ -119,4 +119,3 @@ void dc_controller_device::device_start()
|
||||
port[i] = ioport(port_tag[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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
|
||||
|
||||
***************************************************************************/
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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));
|
||||
|
@ -124,4 +124,3 @@ private:
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<votrax_sc01_device> m_votrax;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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)];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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[];
|
||||
|
Loading…
Reference in New Issue
Block a user