mirror of
https://github.com/holub/mame
synced 2025-10-07 09:25:34 +03:00
srcclean (nw)
This commit is contained in:
parent
f1fefd7055
commit
129c0feeed
134
hash/segacd.xml
134
hash/segacd.xml
@ -202,7 +202,7 @@ corrected set of dumps with sub-channels intact, but first the CHD parsers
|
||||
needs to be updated to support it. Contenders for this field at the time
|
||||
of writing include RawDump and TruRip dumps.
|
||||
See: http://rawdump.net/
|
||||
http://www.trurip.org/
|
||||
http://www.trurip.org/
|
||||
-->
|
||||
|
||||
<!-- The following images are from the redump.org set of dumps. -->
|
||||
@ -5232,7 +5232,7 @@ See: http://rawdump.net/
|
||||
<rom name="Media (CD-ROM)\BC Racers (1994)(Time Warner Interactive)(US).ccd" size="2990" crc="75ef5a02" md5="6d65d70b42192358761a2ad4cdd9a31e" sha1="64317ace80a4c67052a6f6174dafd1f86fd01a84"/>
|
||||
<rom name="Media (CD-ROM)\BC Racers (1994)(Time Warner Interactive)(US).img" size="480673536" crc="5a313588" md5="5b537f47d1b36755e2fd7cda042fee04" sha1="a3233561fb73248e3cc09b542ce045b4b15a5a4a"/>
|
||||
<rom name="Media (CD-ROM)\BC Racers (1994)(Time Warner Interactive)(US).sub" size="19619328" crc="ec7a4537" md5="1c1ffbdeeb5ca4644036544ede3bb7df" sha1="073b4e227275b69fb97d3d4add8f2b5f162d80ac"/>
|
||||
-->
|
||||
-->
|
||||
<description>BC Racers (USA)</description>
|
||||
<year>1994</year>
|
||||
<publisher>Core Design</publisher>
|
||||
@ -5293,32 +5293,32 @@ See: http://rawdump.net/
|
||||
</software>
|
||||
|
||||
<!--
|
||||
<software name="colrmech">
|
||||
<description>Color Mechanica (USA)</description>
|
||||
<year>2013</year>
|
||||
<publisher><unlicensed></publisher>
|
||||
<info name="release" value="20131227" />
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="color mechanica (usa)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
<software name="colrmech">
|
||||
<description>Color Mechanica (USA)</description>
|
||||
<year>2013</year>
|
||||
<publisher><unlicensed></publisher>
|
||||
<info name="release" value="20131227" />
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="color mechanica (usa)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
-->
|
||||
|
||||
<!-- This was exclusively bundled with the JVC X'Eye console -->
|
||||
<!--
|
||||
<software name="comptons200s" cloneof="comptons">
|
||||
<description>Compton's Interactive Encyclopedia v2.00S (USA)</description>
|
||||
<year>1994</year>
|
||||
<publisher>Compton's NewMedia</publisher>
|
||||
<info name="serial" value="T-118025"/>
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="compton's interactive encyclopedia v2.00s (usa)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
<software name="comptons200s" cloneof="comptons">
|
||||
<description>Compton's Interactive Encyclopedia v2.00S (USA)</description>
|
||||
<year>1994</year>
|
||||
<publisher>Compton's NewMedia</publisher>
|
||||
<info name="serial" value="T-118025"/>
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="compton's interactive encyclopedia v2.00s (usa)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
-->
|
||||
|
||||
<!-- This was exclusively bundled with the JVC X'Eye console -->
|
||||
@ -5561,16 +5561,16 @@ See: http://rawdump.net/
|
||||
</software>
|
||||
|
||||
<!--
|
||||
<software name="musijpbr">
|
||||
<description>Music from the Sega CD Games - Jurassic Park, Batman Returns (USA)</description>
|
||||
<year>1993</year>
|
||||
<publisher>Sega Multimedia Studio</publisher>
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="music from the sega cd games - jurassic park, batman returns (usa)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
<software name="musijpbr">
|
||||
<description>Music from the Sega CD Games - Jurassic Park, Batman Returns (USA)</description>
|
||||
<year>1993</year>
|
||||
<publisher>Sega Multimedia Studio</publisher>
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="music from the sega cd games - jurassic park, batman returns (usa)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
-->
|
||||
|
||||
<software name="mypaint">
|
||||
@ -5768,16 +5768,16 @@ See: http://rawdump.net/
|
||||
|
||||
<!--
|
||||
<software name="surgical32x" cloneof="surgical">
|
||||
<description>Surgical Strike (Bra, 32X)</description>
|
||||
<year>1996</year>
|
||||
<publisher>Sega</publisher>
|
||||
<info name="serial" value="157036"/>
|
||||
<info name="release" value="199601xx" />
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="surgical strike (bra, 32x)" status="nodump" />
|
||||
</diskarea>
|
||||
</part>
|
||||
<description>Surgical Strike (Bra, 32X)</description>
|
||||
<year>1996</year>
|
||||
<publisher>Sega</publisher>
|
||||
<info name="serial" value="157036"/>
|
||||
<info name="release" value="199601xx" />
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="surgical strike (bra, 32x)" status="nodump" />
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
-->
|
||||
|
||||
@ -5846,20 +5846,20 @@ See: http://rawdump.net/
|
||||
</software>
|
||||
|
||||
<!--
|
||||
This game was developed for the Sega Mega-CD system by Virtual Studio and was released in Europe.
|
||||
A stateside release never happened, but in 2014 Good Deal Games released a set of reproduction disc
|
||||
made from a prototype build of the US version of the game.
|
||||
-->
|
||||
This game was developed for the Sega Mega-CD system by Virtual Studio and was released in Europe.
|
||||
A stateside release never happened, but in 2014 Good Deal Games released a set of reproduction disc
|
||||
made from a prototype build of the US version of the game.
|
||||
-->
|
||||
<!--
|
||||
<software name="smurfs">
|
||||
<description>The Smurfs (USA, Prototype)</description>
|
||||
<year>2014</year>
|
||||
<publisher>Good Deal Games</publisher>
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="the smurfs (usa, prototype)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
<description>The Smurfs (USA, Prototype)</description>
|
||||
<year>2014</year>
|
||||
<publisher>Good Deal Games</publisher>
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="the smurfs (usa, prototype)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
-->
|
||||
|
||||
@ -5895,17 +5895,17 @@ See: http://rawdump.net/
|
||||
</software>
|
||||
|
||||
<!--
|
||||
<software name="wixeye">
|
||||
<description>What is X'Eye Multi Entertainment System (USA)</description>
|
||||
<year>1993?</year>
|
||||
<publisher>JVC</publisher>
|
||||
<info name="serial" value="SMJ-4110"/>
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="what is x'eye multi entertainment system (usa)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
<software name="wixeye">
|
||||
<description>What is X'Eye Multi Entertainment System (USA)</description>
|
||||
<year>1993?</year>
|
||||
<publisher>JVC</publisher>
|
||||
<info name="serial" value="SMJ-4110"/>
|
||||
<part name="cdrom" interface="scd_cdrom">
|
||||
<diskarea name="cdrom">
|
||||
<disk name="what is x'eye multi entertainment system (usa)" status="nodump"/>
|
||||
</diskarea>
|
||||
</part>
|
||||
</software>
|
||||
-->
|
||||
|
||||
<software name="wolfchld">
|
||||
|
@ -2919,7 +2919,7 @@ end
|
||||
if (BUSES["HP9845_IO"]~=null) then
|
||||
files {
|
||||
MAME_DIR .. "src/devices/bus/hp9845_io/hp9845_io.cpp",
|
||||
MAME_DIR .. "src/devices/bus/hp9845_io/98035.cpp"
|
||||
MAME_DIR .. "src/devices/bus/hp9845_io/98035.cpp"
|
||||
}
|
||||
end
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,9 @@
|
||||
// copyright-holders: F. Ulivi
|
||||
/*********************************************************************
|
||||
|
||||
98035.h
|
||||
98035.h
|
||||
|
||||
98035 module (Real time clock)
|
||||
98035 module (Real time clock)
|
||||
|
||||
*********************************************************************/
|
||||
|
||||
@ -15,9 +15,9 @@
|
||||
|
||||
#include "hp9845_io.h"
|
||||
|
||||
#define HP98035_IBUFFER_LEN 16 // Totally arbitrary
|
||||
#define HP98035_OBUFFER_LEN 16 // Totally arbitrary
|
||||
#define HP98035_UNIT_COUNT 4 // Count of counter/timer units
|
||||
#define HP98035_IBUFFER_LEN 16 // Totally arbitrary
|
||||
#define HP98035_OBUFFER_LEN 16 // Totally arbitrary
|
||||
#define HP98035_UNIT_COUNT 4 // Count of counter/timer units
|
||||
|
||||
class hp98035_io_card : public hp9845_io_card_device
|
||||
{
|
||||
@ -42,8 +42,8 @@ private:
|
||||
bool m_intflag;
|
||||
bool m_irq;
|
||||
bool m_idr_full;
|
||||
uint8_t m_idr; // Input Data Register
|
||||
uint8_t m_odr; // Output Data Register
|
||||
uint8_t m_idr; // Input Data Register
|
||||
uint8_t m_odr; // Output Data Register
|
||||
uint8_t m_error;
|
||||
uint8_t m_triggered;
|
||||
uint8_t m_lost_irq;
|
||||
@ -54,30 +54,30 @@ private:
|
||||
unsigned m_obuffer_ptr;
|
||||
|
||||
// Clock/timer state
|
||||
unsigned m_msec; // Milliseconds
|
||||
uint8_t m_sec; // Seconds
|
||||
uint8_t m_min; // Minutes
|
||||
uint8_t m_hrs; // Hours
|
||||
uint8_t m_dom; // Day of month
|
||||
uint8_t m_mon; // Month
|
||||
unsigned m_msec; // Milliseconds
|
||||
uint8_t m_sec; // Seconds
|
||||
uint8_t m_min; // Minutes
|
||||
uint8_t m_hrs; // Hours
|
||||
uint8_t m_dom; // Day of month
|
||||
uint8_t m_mon; // Month
|
||||
// Strangely enough this RTC has no notion of current year
|
||||
emu_timer *m_msec_timer;
|
||||
|
||||
// Timer units
|
||||
typedef enum {
|
||||
UNIT_IDLE, // Not active
|
||||
UNIT_ACTIVE, // Active (output units: waiting for date/time match)
|
||||
UNIT_WAIT_FOR_TO // Active, output units only: waiting for timeout
|
||||
UNIT_IDLE, // Not active
|
||||
UNIT_ACTIVE, // Active (output units: waiting for date/time match)
|
||||
UNIT_WAIT_FOR_TO // Active, output units only: waiting for timeout
|
||||
} unit_state_t;
|
||||
|
||||
typedef struct {
|
||||
unit_state_t m_state; // State
|
||||
bool m_input; // Input or output
|
||||
uint8_t m_port; // Assigned port # (0 if not assigned)
|
||||
uint8_t m_match_datetime[ 4 ]; // Date&time to match (month is not included)
|
||||
unsigned m_delay; // Timer delay
|
||||
unsigned m_period; // Timer period (when != 0)
|
||||
unsigned m_value; // Current counter value
|
||||
unit_state_t m_state; // State
|
||||
bool m_input; // Input or output
|
||||
uint8_t m_port; // Assigned port # (0 if not assigned)
|
||||
uint8_t m_match_datetime[ 4 ]; // Date&time to match (month is not included)
|
||||
unsigned m_delay; // Timer delay
|
||||
unsigned m_period; // Timer period (when != 0)
|
||||
unsigned m_value; // Current counter value
|
||||
|
||||
void init(void);
|
||||
void deactivate(void);
|
||||
|
@ -18,10 +18,10 @@ const device_type HP9845_IO_SLOT = &device_creator<hp9845_io_slot_device>;
|
||||
// |hp9845_io_slot_device|
|
||||
// +---------------------+
|
||||
hp9845_io_slot_device::hp9845_io_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, HP9845_IO_SLOT, "HP9845 I/O Slot", tag, owner, clock, "hp9845_io_slot", __FILE__),
|
||||
device_slot_interface(mconfig, *this)
|
||||
device_t(mconfig, HP9845_IO_SLOT, "HP9845 I/O Slot", tag, owner, clock, "hp9845_io_slot", __FILE__),
|
||||
device_slot_interface(mconfig, *this)
|
||||
{
|
||||
//printf("hp9845_io_slot_device %s %p\n" , tag , this);
|
||||
//printf("hp9845_io_slot_device %s %p\n" , tag , this);
|
||||
}
|
||||
|
||||
hp9845_io_slot_device::~hp9845_io_slot_device()
|
||||
@ -30,18 +30,18 @@ hp9845_io_slot_device::~hp9845_io_slot_device()
|
||||
|
||||
void hp9845_io_slot_device::device_start()
|
||||
{
|
||||
//printf("hp9845_io_slot_device::device_start\n");
|
||||
//printf("hp9845_io_slot_device::device_start\n");
|
||||
}
|
||||
|
||||
// +---------------------+
|
||||
// |hp9845_io_card_device|
|
||||
// +---------------------+
|
||||
hp9845_io_card_device::hp9845_io_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
|
||||
device_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
device_slot_card_interface(mconfig, *this),
|
||||
m_sys(nullptr),
|
||||
m_select_code_port(*this , "SC"),
|
||||
m_my_sc(0)
|
||||
device_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
device_slot_card_interface(mconfig, *this),
|
||||
m_sys(nullptr),
|
||||
m_select_code_port(*this , "SC"),
|
||||
m_my_sc(0)
|
||||
{
|
||||
}
|
||||
|
||||
@ -51,32 +51,32 @@ hp9845_io_card_device::~hp9845_io_card_device()
|
||||
|
||||
void hp9845_io_card_device::device_reset()
|
||||
{
|
||||
m_my_sc = m_select_code_port->read() + HP9845_IO_FIRST_SC;
|
||||
//printf("m_my_sc=%u\n" , m_my_sc);
|
||||
m_my_sc = m_select_code_port->read() + HP9845_IO_FIRST_SC;
|
||||
//printf("m_my_sc=%u\n" , m_my_sc);
|
||||
}
|
||||
|
||||
void hp9845_io_card_device::irq_w(int state)
|
||||
{
|
||||
m_sys->irq_w(m_my_sc , state);
|
||||
m_sys->irq_w(m_my_sc , state);
|
||||
}
|
||||
|
||||
void hp9845_io_card_device::sts_w(int state)
|
||||
{
|
||||
m_sys->sts_w(m_my_sc , state);
|
||||
m_sys->sts_w(m_my_sc , state);
|
||||
}
|
||||
|
||||
void hp9845_io_card_device::flg_w(int state)
|
||||
{
|
||||
m_sys->flg_w(m_my_sc , state);
|
||||
m_sys->flg_w(m_my_sc , state);
|
||||
}
|
||||
|
||||
void hp9845_io_card_device::install_readwrite_handler(read16_delegate rhandler, write16_delegate whandler)
|
||||
{
|
||||
if (m_sys == nullptr) {
|
||||
m_sys = dynamic_cast<hp9845b_state*>(&machine().root_device());
|
||||
//printf("m_sys=%p\n" , m_sys);
|
||||
m_sys->install_readwrite_handler(m_my_sc , rhandler, whandler);
|
||||
}
|
||||
if (m_sys == nullptr) {
|
||||
m_sys = dynamic_cast<hp9845b_state*>(&machine().root_device());
|
||||
//printf("m_sys=%p\n" , m_sys);
|
||||
m_sys->install_readwrite_handler(m_my_sc , rhandler, whandler);
|
||||
}
|
||||
}
|
||||
|
||||
#include "98035.h"
|
||||
|
@ -19,7 +19,7 @@
|
||||
MCFG_DEVICE_ADD(_tag, HP9845_IO_SLOT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(hp9845_io_slot_devices, nullptr, false)
|
||||
|
||||
#define HP9845_IO_FIRST_SC 1 // Lowest SC used by I/O cards
|
||||
#define HP9845_IO_FIRST_SC 1 // Lowest SC used by I/O cards
|
||||
|
||||
#define MCFG_HP9845_IO_SC\
|
||||
PORT_START("SC") \
|
||||
|
@ -90,11 +90,11 @@ public:
|
||||
class sns_rom_sgb2_device : public sns_rom_sgb_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
sns_rom_sgb2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
// construction/destruction
|
||||
sns_rom_sgb2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
};
|
||||
|
||||
|
@ -44,7 +44,7 @@ WRITE16_MEMBER(sh7604_bus_device::bus_control_1_w)
|
||||
throw emu_fatalerror("%s: enabled partial space share mode\n", tag());
|
||||
}
|
||||
|
||||
READ16_MEMBER(sh7604_bus_device::bus_control_2_r) { return m_bcr2 & 0x00fc; }
|
||||
READ16_MEMBER(sh7604_bus_device::bus_control_2_r) { return m_bcr2 & 0x00fc; }
|
||||
WRITE16_MEMBER(sh7604_bus_device::bus_control_2_w)
|
||||
{
|
||||
COMBINE_DATA(&m_bcr2);
|
||||
@ -53,7 +53,7 @@ WRITE16_MEMBER(sh7604_bus_device::bus_control_2_w)
|
||||
}
|
||||
|
||||
READ16_MEMBER(sh7604_bus_device::wait_control_r) { return m_wcr; }
|
||||
WRITE16_MEMBER(sh7604_bus_device::wait_control_w) { COMBINE_DATA(&m_wcr); }
|
||||
WRITE16_MEMBER(sh7604_bus_device::wait_control_w) { COMBINE_DATA(&m_wcr); }
|
||||
|
||||
READ16_MEMBER(sh7604_bus_device::memory_control_r) { return m_mcr & 0xfefc; }
|
||||
WRITE16_MEMBER(sh7604_bus_device::memory_control_w) { COMBINE_DATA(&m_mcr); }
|
||||
@ -101,7 +101,7 @@ static ADDRESS_MAP_START( bus_regs, AS_0, 16, sh7604_bus_device )
|
||||
AM_RANGE(0x08, 0x09) AM_READWRITE(refresh_timer_status_r, refresh_timer_control_w)
|
||||
AM_RANGE(0x0a, 0x0b) AM_READWRITE(refresh_timer_counter_r, refresh_timer_counter_w)
|
||||
AM_RANGE(0x0c, 0x0d) AM_READWRITE(refresh_timer_constant_r, refresh_timer_constant_w)
|
||||
// AM_RANGE(0x0e, 0x0f) unmapped, mirror?
|
||||
// AM_RANGE(0x0e, 0x0f) unmapped, mirror?
|
||||
ADDRESS_MAP_END
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -27,7 +27,7 @@
|
||||
// ======================> sh7604_bus_device
|
||||
|
||||
class sh7604_bus_device : public device_t,
|
||||
public device_memory_interface
|
||||
public device_memory_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -66,7 +66,7 @@ private:
|
||||
uint16_t m_bcr2;
|
||||
uint16_t m_wcr;
|
||||
uint16_t m_mcr;
|
||||
uint16_t m_rtcsr;
|
||||
uint16_t m_rtcsr;
|
||||
uint16_t m_rtcor;
|
||||
};
|
||||
|
||||
|
@ -38,7 +38,7 @@ enum {
|
||||
// ======================> sh7604_sci_device
|
||||
|
||||
class sh7604_sci_device : public device_t,
|
||||
public device_memory_interface
|
||||
public device_memory_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -64,7 +64,7 @@ public:
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
protected:
|
||||
// device-level overrides
|
||||
// virtual void device_validity_check(validity_checker &valid) const;
|
||||
// virtual void device_validity_check(validity_checker &valid) const;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
private:
|
||||
|
@ -28,10 +28,10 @@ const device_type SH7604_WDT = &device_creator<sh7604_wdt_device>;
|
||||
//**************************************************************************
|
||||
|
||||
static ADDRESS_MAP_START( wdt_regs, AS_0, 8, sh7604_wdt_device )
|
||||
// AM_RANGE(0x00, 0x00) timer control/status
|
||||
// AM_RANGE(0x01, 0x01) timer counter
|
||||
// AM_RANGE(0x02, 0x02) write only, reset control register
|
||||
// AM_RANGE(0x03, 0x03) read status register, write reset status register
|
||||
// AM_RANGE(0x00, 0x00) timer control/status
|
||||
// AM_RANGE(0x01, 0x01) timer counter
|
||||
// AM_RANGE(0x02, 0x02) write only, reset control register
|
||||
// AM_RANGE(0x03, 0x03) read status register, write reset status register
|
||||
ADDRESS_MAP_END
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -27,7 +27,7 @@
|
||||
// ======================> sh7604_wdt_device
|
||||
|
||||
class sh7604_wdt_device : public device_t,
|
||||
public device_memory_interface
|
||||
public device_memory_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -40,7 +40,7 @@ public:
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
protected:
|
||||
// device-level overrides
|
||||
// virtual void device_validity_check(validity_checker &valid) const;
|
||||
// virtual void device_validity_check(validity_checker &valid) const;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
private:
|
||||
|
@ -4,27 +4,27 @@
|
||||
|
||||
Dallas DS1386/DS1386P RAMified Watchdog Timekeeper
|
||||
|
||||
Note: Largely untested.
|
||||
Note: Largely untested.
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#include "ds1386.h"
|
||||
#include "machine/timehelp.h"
|
||||
|
||||
#define DISABLE_OSC (0x80)
|
||||
#define DISABLE_SQW (0x40)
|
||||
#define DISABLE_OSC (0x80)
|
||||
#define DISABLE_SQW (0x40)
|
||||
|
||||
#define COMMAND_TE (0x80)
|
||||
#define COMMAND_IPSW (0x40)
|
||||
#define COMMAND_IBH_LO (0x20)
|
||||
#define COMMAND_PU_LVL (0x10)
|
||||
#define COMMAND_WAM (0x08)
|
||||
#define COMMAND_TDM (0x04)
|
||||
#define COMMAND_WAF (0x02)
|
||||
#define COMMAND_TDF (0x01)
|
||||
#define COMMAND_TE (0x80)
|
||||
#define COMMAND_IPSW (0x40)
|
||||
#define COMMAND_IBH_LO (0x20)
|
||||
#define COMMAND_PU_LVL (0x10)
|
||||
#define COMMAND_WAM (0x08)
|
||||
#define COMMAND_TDM (0x04)
|
||||
#define COMMAND_WAF (0x02)
|
||||
#define COMMAND_TDF (0x01)
|
||||
|
||||
#define HOURS_12_24 (0x40)
|
||||
#define HOURS_AM_PM (0x20)
|
||||
#define HOURS_12_24 (0x40)
|
||||
#define HOURS_AM_PM (0x20)
|
||||
|
||||
const device_type DS1386_8K = &device_creator<ds1386_8k_device>;
|
||||
const device_type DS1386_32K = &device_creator<ds1386_32k_device>;
|
||||
|
@ -6,46 +6,46 @@
|
||||
|
||||
***********************************************************************
|
||||
_____________
|
||||
/INTA 1 | | 32 Vcc
|
||||
/INTB 2 | | 31 SQW
|
||||
/INTA 1 | | 32 Vcc
|
||||
/INTB 2 | | 31 SQW
|
||||
NC/A14 3 | | 30 Vcc
|
||||
A12 4 | | 29 /WE
|
||||
A7 5 | | 28 NC/A13
|
||||
A6 6 | | 27 A8
|
||||
A5 7 | | 26 A9
|
||||
A4 8 | | 25 A11
|
||||
A3 9 | | 24 /OE
|
||||
A2 10 | | 23 A10
|
||||
A1 11 | | 22 /CE
|
||||
A0 12 | | 21 DQ7
|
||||
DQ0 13 | | 20 DQ6
|
||||
DQ1 14 | | 19 DQ5
|
||||
DQ2 15 | | 18 DQ4
|
||||
GND 16 |_____________| 17 DQ3
|
||||
A12 4 | | 29 /WE
|
||||
A7 5 | | 28 NC/A13
|
||||
A6 6 | | 27 A8
|
||||
A5 7 | | 26 A9
|
||||
A4 8 | | 25 A11
|
||||
A3 9 | | 24 /OE
|
||||
A2 10 | | 23 A10
|
||||
A1 11 | | 22 /CE
|
||||
A0 12 | | 21 DQ7
|
||||
DQ0 13 | | 20 DQ6
|
||||
DQ1 14 | | 19 DQ5
|
||||
DQ2 15 | | 18 DQ4
|
||||
GND 16 |_____________| 17 DQ3
|
||||
|
||||
DS1386 8k/32k x 8
|
||||
|
||||
__________________________________
|
||||
/ |
|
||||
/ |
|
||||
/INTB | 1 34 | /INTA
|
||||
NC | 2 33 | SQW
|
||||
NC | 3 32 | NC/A13
|
||||
/PFO | 4 31 | NC/A14
|
||||
Vcc | 5 30 | A12
|
||||
/WE | 6 29 | A11
|
||||
/OE | 7 28 | A10
|
||||
/CE | 8 27 | A9
|
||||
DQ7 | 9 26 | A8
|
||||
DQ6 | 10 25 | A7
|
||||
DQ5 | 11 24 | A6
|
||||
DQ4 | 12 23 | A5
|
||||
DQ3 | 13 22 | A4
|
||||
DQ2 | 14 X1 GND Vbat X2 21 | A3
|
||||
DQ1 | 15 ____ ____ ____ ____ 20 | A2
|
||||
DQ0 | 16 | | | | | | | | 19 | A1
|
||||
GND | 17 |____| |____| |____| |____| 18 | A0
|
||||
|____________________________________|
|
||||
__________________________________
|
||||
/ |
|
||||
/ |
|
||||
/INTB | 1 34 | /INTA
|
||||
NC | 2 33 | SQW
|
||||
NC | 3 32 | NC/A13
|
||||
/PFO | 4 31 | NC/A14
|
||||
Vcc | 5 30 | A12
|
||||
/WE | 6 29 | A11
|
||||
/OE | 7 28 | A10
|
||||
/CE | 8 27 | A9
|
||||
DQ7 | 9 26 | A8
|
||||
DQ6 | 10 25 | A7
|
||||
DQ5 | 11 24 | A6
|
||||
DQ4 | 12 23 | A5
|
||||
DQ3 | 13 22 | A4
|
||||
DQ2 | 14 X1 GND Vbat X2 21 | A3
|
||||
DQ1 | 15 ____ ____ ____ ____ 20 | A2
|
||||
DQ0 | 16 | | | | | | | | 19 | A1
|
||||
GND | 17 |____| |____| |____| |____| 18 | A0
|
||||
|____________________________________|
|
||||
|
||||
DS1386 8k/32k x 8, 34-Pin PowerCap Module Board
|
||||
|
||||
@ -117,10 +117,10 @@ protected:
|
||||
|
||||
enum
|
||||
{
|
||||
ALARM_DAYS_MATCH = 0x0,
|
||||
ALARM_HOURS_MATCH = 0x1,
|
||||
ALARM_DAYS_MATCH = 0x0,
|
||||
ALARM_HOURS_MATCH = 0x1,
|
||||
ALARM_MINUTES_MATCH = 0x3,
|
||||
ALARM_PER_MINUTE = 0x7
|
||||
ALARM_PER_MINUTE = 0x7
|
||||
};
|
||||
|
||||
// device-level overrides
|
||||
@ -174,17 +174,17 @@ protected:
|
||||
std::unique_ptr<uint8_t[]> m_ram;
|
||||
optional_region_ptr<uint8_t> m_default_data;
|
||||
|
||||
uint8_t m_hundredths;
|
||||
uint8_t m_seconds;
|
||||
uint8_t m_minutes;
|
||||
uint8_t m_minutes_alarm;
|
||||
uint8_t m_hours;
|
||||
uint8_t m_hours_alarm;
|
||||
uint8_t m_days;
|
||||
uint8_t m_days_alarm;
|
||||
uint8_t m_date;
|
||||
uint8_t m_months_enables;
|
||||
uint8_t m_years;
|
||||
uint8_t m_hundredths;
|
||||
uint8_t m_seconds;
|
||||
uint8_t m_minutes;
|
||||
uint8_t m_minutes_alarm;
|
||||
uint8_t m_hours;
|
||||
uint8_t m_hours_alarm;
|
||||
uint8_t m_days;
|
||||
uint8_t m_days_alarm;
|
||||
uint8_t m_date;
|
||||
uint8_t m_months_enables;
|
||||
uint8_t m_years;
|
||||
|
||||
const size_t m_ram_size;
|
||||
};
|
||||
|
@ -2,9 +2,9 @@
|
||||
// copyright-holders:Aaron Giles,smf
|
||||
/***************************************************************************
|
||||
|
||||
timehelp.h
|
||||
timehelp.h
|
||||
|
||||
Assorted shared functionality between timekeeping chips and RTCs.
|
||||
Assorted shared functionality between timekeeping chips and RTCs.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -567,7 +567,7 @@ READ8_MEMBER( z80scc_device::zbus_r )
|
||||
return data;
|
||||
}
|
||||
|
||||
switch ((m_chanB->m_wr0) & 7)
|
||||
switch ((m_chanB->m_wr0) & 7)
|
||||
{
|
||||
case z80scc_channel::WR0_Z_SEL_SHFT_LEFT: ba = offset & 0x01; reg = (offset >> 1) & 0x0f; break; /* Shift Left mode */
|
||||
case z80scc_channel::WR0_Z_SEL_SHFT_RIGHT: ba = offset & 0x10; reg = (offset >> 1) & 0x0f; break; /* Shift Right mode */
|
||||
@ -600,7 +600,7 @@ WRITE8_MEMBER( z80scc_device::zbus_w )
|
||||
return;
|
||||
}
|
||||
|
||||
switch ((m_chanB->m_wr0) & 7)
|
||||
switch ((m_chanB->m_wr0) & 7)
|
||||
{
|
||||
case z80scc_channel::WR0_Z_SEL_SHFT_LEFT: ba = offset & 0x01; reg = (offset >> 1) & 0x0f; break; /* Shift Left mode */
|
||||
case z80scc_channel::WR0_Z_SEL_SHFT_RIGHT: ba = offset & 0x10; reg = (offset >> 1) & 0x0f; break; /* Shift Right mode */
|
||||
@ -1464,7 +1464,7 @@ uint8_t z80scc_channel::scc_register_read( uint8_t reg)
|
||||
uint8_t wreg = 0;
|
||||
|
||||
/* Sort out 80X30 limitations in register access */
|
||||
// if ((BIT(m_wr15, 2) == 0) || m_uart->m_variant == z80scc_device::TYPE_SCC8030)
|
||||
// if ((BIT(m_wr15, 2) == 0) || m_uart->m_variant == z80scc_device::TYPE_SCC8030)
|
||||
if (BIT(m_wr15, 2) == 0 || m_uart->m_variant & SET_NMOS)
|
||||
{
|
||||
if (reg > 3 && reg < 8) reg &= 0x03;
|
||||
@ -1473,7 +1473,7 @@ uint8_t z80scc_channel::scc_register_read( uint8_t reg)
|
||||
}
|
||||
else if (BIT(m_wr15, 2) != 0)
|
||||
{
|
||||
// if (m_uart->variant == z80scc_device::TYPE_SCC80230 && BIT(m_wr7p, 6) != 0)
|
||||
// if (m_uart->variant == z80scc_device::TYPE_SCC80230 && BIT(m_wr7p, 6) != 0)
|
||||
if (m_uart->m_variant & SET_ESCC && BIT(m_wr7p, 6) != 0)
|
||||
{
|
||||
if (reg > 3 && reg < 6) wreg = 1;
|
||||
@ -1754,7 +1754,7 @@ void z80scc_channel::do_sccreg_wr5(uint8_t data)
|
||||
}
|
||||
else
|
||||
{
|
||||
// uint8_t old_wr5 = m_wr5;
|
||||
// uint8_t old_wr5 = m_wr5;
|
||||
m_wr5 = data;
|
||||
LOG(("- Transmitter Enable %u\n", (data & WR5_TX_ENABLE) ? 1 : 0));
|
||||
LOG(("- Transmitter Bits/Character %u\n", get_tx_word_length()));
|
||||
|
@ -252,7 +252,7 @@ public:
|
||||
uint8_t m_wr7; // REG_WR7_SYNC_OR_SDLC_F
|
||||
uint8_t m_wr7p; //
|
||||
uint8_t m_wr8; // REG_WR8_TRANSMIT_DATA
|
||||
// uint8_t m_wr9; // REG_WR9_MASTER_INT_CTRL
|
||||
// uint8_t m_wr9; // REG_WR9_MASTER_INT_CTRL
|
||||
uint8_t m_wr10; // REG_WR10_MSC_RX_TX_CTRL
|
||||
uint8_t m_wr11; // REG_WR11_CLOCK_MODES
|
||||
uint8_t m_wr12; // REG_WR12_LO_BAUD_GEN
|
||||
@ -521,14 +521,14 @@ protected:
|
||||
|
||||
enum
|
||||
{
|
||||
WR15_WR7PRIME = 0x01,
|
||||
WR15_ZEROCOUNT = 0x02,
|
||||
WR15_STATUS_FIFO = 0x04,
|
||||
WR15_DCD = 0x08,
|
||||
WR15_SYNC = 0x10,
|
||||
WR15_CTS = 0x20,
|
||||
WR15_TX_EOM = 0x40,
|
||||
WR15_BREAK_ABORT = 0x80
|
||||
WR15_WR7PRIME = 0x01,
|
||||
WR15_ZEROCOUNT = 0x02,
|
||||
WR15_STATUS_FIFO = 0x04,
|
||||
WR15_DCD = 0x08,
|
||||
WR15_SYNC = 0x10,
|
||||
WR15_CTS = 0x20,
|
||||
WR15_TX_EOM = 0x40,
|
||||
WR15_BREAK_ABORT = 0x80
|
||||
};
|
||||
|
||||
enum
|
||||
@ -587,7 +587,7 @@ protected:
|
||||
int m_tx_fifo_wp; // FIFO write pointer
|
||||
int m_tx_fifo_sz; // FIFO size
|
||||
uint8_t m_tx_error; // current error
|
||||
// uint8_t m_tx_data; // transmit data register
|
||||
// uint8_t m_tx_data; // transmit data register
|
||||
int m_tx_clock; // transmit clock pulse count
|
||||
|
||||
int m_dtr; // data terminal ready
|
||||
|
@ -6,9 +6,9 @@
|
||||
|
||||
Four quadrant multiplying DAC.
|
||||
|
||||
Binary Weighted Resistor Network, R-2R Ladder & PWM
|
||||
Binary Weighted Resistor Network, R-2R Ladder & PWM
|
||||
|
||||
Binary, Ones Complement, Twos Complement or Sign Magnitude coding
|
||||
Binary, Ones Complement, Twos Complement or Sign Magnitude coding
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -868,7 +868,7 @@ LOG(("scrollx_to_apply: %u\n", m_line.scrollx_to_apply));
|
||||
{
|
||||
// Interleave bits from plane0 and plane1
|
||||
m_line.shift_register = (((((m_line.plane0 * U64(0x0101010101010101)) & U64(0x8040201008040201)) * U64(0x0102040810204081)) >> 49) & 0x5555)
|
||||
| (((((m_line.plane1 * U64(0x0101010101010101)) & U64(0x8040201008040201)) * U64(0x0102040810204081)) >> 48) & 0xAAAA);
|
||||
| (((((m_line.plane1 * U64(0x0101010101010101)) & U64(0x8040201008040201)) * U64(0x0102040810204081)) >> 48) & 0xAAAA);
|
||||
}
|
||||
if (m_line.pixels_drawn < 8)
|
||||
{
|
||||
@ -2161,7 +2161,7 @@ void dmg_ppu_device::update_state()
|
||||
m_next_state = GB_LCD_STATE_LYXX_M3;
|
||||
clear_line_state();
|
||||
select_sprites();
|
||||
// if (!m_enable_experimental_engine)
|
||||
// if (!m_enable_experimental_engine)
|
||||
{
|
||||
m_window_y = WNDPOSY;
|
||||
}
|
||||
@ -3262,7 +3262,7 @@ bool cgb_ppu_device::stat_write(uint8_t new_data)
|
||||
}
|
||||
m_stat_mode1_int = (new_data & MODE_1_INT_ENABLED) ? true : false;
|
||||
break;
|
||||
case 2:
|
||||
case 2:
|
||||
// 0x20 -> 0x40 with LYC -> trigger
|
||||
//m_stat_mode2_int = (new_data & MODE_2_INT_ENABLED) ? true : false;
|
||||
if (LCDSTAT & MODE_2_INT_ENABLED)
|
||||
|
@ -1071,7 +1071,7 @@ void zeus2_device::zeus2_draw_model(uint32_t baseaddr, uint16_t count, int logit
|
||||
if (logit)
|
||||
{
|
||||
//if ((cmd == 0x38) || (cmd == 0x2d))
|
||||
// log_render_info(texdata);
|
||||
// log_render_info(texdata);
|
||||
if (cmd != 0x00 || (cmd == 0x00 && curoffs == count)) {
|
||||
logerror("\t");
|
||||
for (int offs = 0; offs < databufcount; offs++)
|
||||
@ -1120,24 +1120,24 @@ void zeus2_device::zeus2_draw_model(uint32_t baseaddr, uint16_t count, int logit
|
||||
// Direct commands from waveram buffer
|
||||
//uint32_t cmdData[2];
|
||||
//for (int subIndex = 0; subIndex < 2; ++subIndex) {
|
||||
// uint32_t offset = (databuffer[subIndex] & 0xff) * 6;
|
||||
// //printf("directRead curoffs: 0x%X\n", curoffs);
|
||||
// for (int cmdIndex = 0; cmdIndex < 3; ++cmdIndex) {
|
||||
// cmdData[0] = m_directCmd[offset + cmdIndex * 2 + 0];
|
||||
// cmdData[1] = m_directCmd[offset + cmdIndex * 2 + 1];
|
||||
// if (curoffs < 0x40)
|
||||
// printf("directRead curoffs: 0x%X cmdData %08X %08X\n", curoffs, cmdData[0], cmdData[1]);
|
||||
// if (cmdData[0] != 0 && cmdData[1] != 0) {
|
||||
// // Error check
|
||||
// if (cmdData[0] != 0x58 && cmdData[0] != 0x5A) {
|
||||
// if (curoffs < 0x20)
|
||||
// printf("case38 error curoffs: 0x%X cmdData %08X %08X\n", curoffs, cmdData[0], cmdData[1]);
|
||||
// }
|
||||
// else {
|
||||
// zeus2_register32_w(cmdData[0] & 0x7f, cmdData[1], logit);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// uint32_t offset = (databuffer[subIndex] & 0xff) * 6;
|
||||
// //printf("directRead curoffs: 0x%X\n", curoffs);
|
||||
// for (int cmdIndex = 0; cmdIndex < 3; ++cmdIndex) {
|
||||
// cmdData[0] = m_directCmd[offset + cmdIndex * 2 + 0];
|
||||
// cmdData[1] = m_directCmd[offset + cmdIndex * 2 + 1];
|
||||
// if (curoffs < 0x40)
|
||||
// printf("directRead curoffs: 0x%X cmdData %08X %08X\n", curoffs, cmdData[0], cmdData[1]);
|
||||
// if (cmdData[0] != 0 && cmdData[1] != 0) {
|
||||
// // Error check
|
||||
// if (cmdData[0] != 0x58 && cmdData[0] != 0x5A) {
|
||||
// if (curoffs < 0x20)
|
||||
// printf("case38 error curoffs: 0x%X cmdData %08X %08X\n", curoffs, cmdData[0], cmdData[1]);
|
||||
// }
|
||||
// else {
|
||||
// zeus2_register32_w(cmdData[0] & 0x7f, cmdData[1], logit);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//void *palbase = waveram0_ptr_from_expanded_addr(m_zeusbase[0x41]);
|
||||
//uint8_t texel = databuffer[0];
|
||||
@ -1153,8 +1153,8 @@ void zeus2_device::zeus2_draw_model(uint32_t baseaddr, uint16_t count, int logit
|
||||
//m_frameDepth[m_renderAddr] = 0;
|
||||
//m_frameColor[m_renderAddr++] = databuffer[1] & 0x00ffffff;
|
||||
//if (logit)
|
||||
// if ((curoffs + 1) % 16 == 0)
|
||||
// logerror("\n");
|
||||
// if ((curoffs + 1) % 16 == 0)
|
||||
// logerror("\n");
|
||||
}
|
||||
else {
|
||||
poly->zeus2_draw_quad(databuffer, texdata, logit);
|
||||
|
@ -36,7 +36,7 @@ private:
|
||||
//osd_interface & m_osd;
|
||||
std::atomic<bool> m_run;
|
||||
std::atomic<bool> m_wait;
|
||||
std::string m_prompt;
|
||||
std::string m_prompt;
|
||||
|
||||
std::unordered_map<std::string, std::function<void(std::vector<std::string>& arg)>> m_commands;
|
||||
};
|
||||
|
@ -8,18 +8,18 @@
|
||||
ROMs provided by Arashikage
|
||||
|
||||
Hardware:
|
||||
CPU: uPD7811 with internal ROM
|
||||
Other H/W: 8253 PIT (x6), 8255 PPI (x2), 8279 keyboard/display controller
|
||||
Voices (x8):
|
||||
NJM4558D sawtooth generator (x2)
|
||||
TC4011BP wave shaper
|
||||
TC4013 sub oscillator
|
||||
CEM 3372 VCA/VCF
|
||||
Final out:
|
||||
TL082CP low-pass filter
|
||||
CPU: uPD7811 with internal ROM
|
||||
Other H/W: 8253 PIT (x6), 8255 PPI (x2), 8279 keyboard/display controller
|
||||
Voices (x8):
|
||||
NJM4558D sawtooth generator (x2)
|
||||
TC4011BP wave shaper
|
||||
TC4013 sub oscillator
|
||||
CEM 3372 VCA/VCF
|
||||
Final out:
|
||||
TL082CP low-pass filter
|
||||
|
||||
Service manual incl. schematics at:
|
||||
https://archive.org/download/AkaiAX80ServiceManual/Akai%20AX80%20Service%20Manual.pdf
|
||||
https://archive.org/download/AkaiAX80ServiceManual/Akai%20AX80%20Service%20Manual.pdf
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
@ -57,7 +57,7 @@ void ax80_state::machine_reset()
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( ax80_map, AS_PROGRAM, 8, ax80_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("maincpu", 0) // internal ROM
|
||||
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("maincpu", 0) // internal ROM
|
||||
AM_RANGE(0x1000, 0x1003) AM_DEVREADWRITE(PIT0_TAG, pit8253_device, read, write)
|
||||
AM_RANGE(0x1010, 0x1013) AM_DEVREADWRITE(PIT1_TAG, pit8253_device, read, write)
|
||||
AM_RANGE(0x1020, 0x1023) AM_DEVREADWRITE(PIT2_TAG, pit8253_device, read, write)
|
||||
@ -66,7 +66,7 @@ static ADDRESS_MAP_START( ax80_map, AS_PROGRAM, 8, ax80_state )
|
||||
AM_RANGE(0x1050, 0x1053) AM_DEVREADWRITE(PIT5_TAG, pit8253_device, read, write)
|
||||
AM_RANGE(0x1060, 0x1063) AM_DEVREADWRITE(PPI0_TAG, i8255_device, read, write)
|
||||
AM_RANGE(0x1070, 0x1073) AM_DEVREADWRITE(PPI1_TAG, i8255_device, read, write)
|
||||
AM_RANGE(0x4000, 0x5fff) AM_ROM AM_REGION("maincpu", 0x1000) // external program EPROM
|
||||
AM_RANGE(0x4000, 0x5fff) AM_ROM AM_REGION("maincpu", 0x1000) // external program EPROM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
AM_RANGE(0xff00, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
@ -371,25 +371,25 @@ public:
|
||||
|
||||
gfx_layout const screenfont =
|
||||
{
|
||||
8, 16, // 8x8
|
||||
RGN_FRAC(1, 1), // whole region
|
||||
1, // 1bpp
|
||||
{ 0 }, // bitplane offset
|
||||
{ 0*1, 1*1, 2*1, 3*1, 4*1, 5*1, 6*1, 7*1 }, // x offsets
|
||||
8, 16, // 8x8
|
||||
RGN_FRAC(1, 1), // whole region
|
||||
1, // 1bpp
|
||||
{ 0 }, // bitplane offset
|
||||
{ 0*1, 1*1, 2*1, 3*1, 4*1, 5*1, 6*1, 7*1 }, // x offsets
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
|
||||
8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, // y offsets
|
||||
128 // stride
|
||||
8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, // y offsets
|
||||
128 // stride
|
||||
};
|
||||
|
||||
gfx_layout const printfont =
|
||||
{
|
||||
8, 8, // 7x8
|
||||
RGN_FRAC(1, 1), // whole region
|
||||
1, // 1bpp
|
||||
{ 0 }, // bitplane offset
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, // x offsets
|
||||
{ 7*1, 6*1, 5*1, 4*1, 3*1, 2*1, 1*1, 0*1 }, // y offsets
|
||||
64 // stride
|
||||
8, 8, // 7x8
|
||||
RGN_FRAC(1, 1), // whole region
|
||||
1, // 1bpp
|
||||
{ 0 }, // bitplane offset
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, // x offsets
|
||||
{ 7*1, 6*1, 5*1, 4*1, 3*1, 2*1, 1*1, 0*1 }, // y offsets
|
||||
64 // stride
|
||||
};
|
||||
|
||||
GFXDECODE_START( anzterm )
|
||||
@ -464,17 +464,17 @@ ROM_START( anzterm )
|
||||
ROM_LOAD( "ck-a-pr01.ic4", 0x0000, 0x0800, CRC(d0981882) SHA1(b55fd313c9b3e00039501a53a53c820d98f2258a) )
|
||||
ROM_LOAD( "ck-b-pr01.ic3", 0x0000, 0x0800, CRC(96c9d90d) SHA1(400980c7a2c5306be28b74284c626ef2ed24c1a5) )
|
||||
|
||||
// Undumped microcontroller ROM in MICR reader
|
||||
ROM_REGION( 0x0fc0, "micrmcu", 0 )
|
||||
ROM_LOAD( "mk3870.u14", 0x0000, 0x0fc0, NO_DUMP )
|
||||
// Undumped microcontroller ROM in MICR reader
|
||||
ROM_REGION( 0x0fc0, "micrmcu", 0 )
|
||||
ROM_LOAD( "mk3870.u14", 0x0000, 0x0fc0, NO_DUMP )
|
||||
|
||||
// MICR reader data table ROMS, no idea how this stuff is used but dumps should be preserved
|
||||
ROM_REGION( 0x5000, "micrdata", 0 )
|
||||
ROM_LOAD( "cdn1-ebb.u20", 0x0000, 0x1000, CRC(0f9a9db3) SHA1(aedfe3ba7afb1d0a827fec5418369fca9348940f) )
|
||||
ROM_LOAD( "cdn2-ebb.u16", 0x1000, 0x1000, CRC(648fff69) SHA1(59653d34067d9a3061857507868fd2147dadf537) )
|
||||
ROM_LOAD( "6047204005.u15", 0x2000, 0x0800, CRC(70bfac37) SHA1(84081249ead5b957d98b3bd06665ef52d0a0243c) )
|
||||
ROM_LOAD( "6048225001.u29", 0x3000, 0x1000, CRC(59c73999) SHA1(7dd12b500e13b177d19a24d148310541f7e660b4) )
|
||||
ROM_LOAD( "ebb-fea-v96-9-23-83-f43a.u11", 0x4000, 0x1000, CRC(0e572470) SHA1(966e5eeb0114589a7cab3c29a1db48cdd8634be5) )
|
||||
// MICR reader data table ROMS, no idea how this stuff is used but dumps should be preserved
|
||||
ROM_REGION( 0x5000, "micrdata", 0 )
|
||||
ROM_LOAD( "cdn1-ebb.u20", 0x0000, 0x1000, CRC(0f9a9db3) SHA1(aedfe3ba7afb1d0a827fec5418369fca9348940f) )
|
||||
ROM_LOAD( "cdn2-ebb.u16", 0x1000, 0x1000, CRC(648fff69) SHA1(59653d34067d9a3061857507868fd2147dadf537) )
|
||||
ROM_LOAD( "6047204005.u15", 0x2000, 0x0800, CRC(70bfac37) SHA1(84081249ead5b957d98b3bd06665ef52d0a0243c) )
|
||||
ROM_LOAD( "6048225001.u29", 0x3000, 0x1000, CRC(59c73999) SHA1(7dd12b500e13b177d19a24d148310541f7e660b4) )
|
||||
ROM_LOAD( "ebb-fea-v96-9-23-83-f43a.u11", 0x4000, 0x1000, CRC(0e572470) SHA1(966e5eeb0114589a7cab3c29a1db48cdd8634be5) )
|
||||
ROM_END
|
||||
|
||||
COMP( 1986?, anzterm, 0, 0, anzterm, anzterm, driver_device, 0, "Burroughs", "EF315-I220 Teller Terminal (ANZ)", MACHINE_IS_SKELETON ) // year comes from sticker on bottom of case, it's more likely a 1983 revision
|
||||
|
@ -7,22 +7,22 @@
|
||||
- fix sound emulation
|
||||
- fix sprite communication / banking
|
||||
* bit "output bit 0x02 %d (IC21)" at 0x42 might be important
|
||||
* mag_exzi currently requires a gross hack to stop the sprite CPU crashing on startup
|
||||
* mag_xain sometimes leaves old sprites on the screen, probably due to a lost clear
|
||||
command
|
||||
* mag_exzi currently requires a gross hack to stop the sprite CPU crashing on startup
|
||||
* mag_xain sometimes leaves old sprites on the screen, probably due to a lost clear
|
||||
command
|
||||
- fix flipscreen
|
||||
- verify behavior of unknown / unused ports / interrupt sources etc.
|
||||
- verify the disk images, convert to a better format that can natively store protection
|
||||
* RAW data also available if required
|
||||
* as mentioned, the disks are copy protected, see notes below
|
||||
* are the bad tiles shortly into the first level of mag_exzi caused by a bad dump or
|
||||
bad comms?
|
||||
* as mentioned, the disks are copy protected, see notes below
|
||||
* are the bad tiles shortly into the first level of mag_exzi caused by a bad dump or
|
||||
bad comms?
|
||||
- Use proper floppy drive emulation code that originally came from MESS (tied with above)
|
||||
- verify all clocks and screen params (50hz seems to match original videos)
|
||||
- work out why we need a protection hack and replace it with proper emulation
|
||||
* there are no per-game protection devices, so it's something to do with the base hardware
|
||||
* there seem to be 2 checks, one based on a weird sector on the discs, the other based on
|
||||
a port read
|
||||
* there seem to be 2 checks, one based on a weird sector on the discs, the other based on
|
||||
a port read
|
||||
- add additional hardware notes from ArcadeHacker
|
||||
|
||||
*/
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
Magnet System by
|
||||
|
||||
EFO SA (Electrónica Funcional Operativa SA).
|
||||
EFO SA (Electrónica Funcional Operativa SA).
|
||||
based on Cedar hardware
|
||||
|
||||
|
||||
@ -231,19 +231,19 @@ READ8_MEMBER(cedar_magnet_state::port7c_r)
|
||||
|
||||
READ8_MEMBER(cedar_magnet_state::port18_r)
|
||||
{
|
||||
// printf("%s: port18_r\n", device().machine().describe_context());
|
||||
// printf("%s: port18_r\n", device().machine().describe_context());
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(cedar_magnet_state::port18_w)
|
||||
{
|
||||
// printf("%s: port18_w %02x\n", device().machine().describe_context(), data);
|
||||
// printf("%s: port18_w %02x\n", device().machine().describe_context(), data);
|
||||
}
|
||||
|
||||
READ8_MEMBER(cedar_magnet_state::port19_r)
|
||||
{
|
||||
uint8_t ret = 0x00;
|
||||
// printf("%s: port19_r\n", device().machine().describe_context());
|
||||
// printf("%s: port19_r\n", device().machine().describe_context());
|
||||
|
||||
// 9496 in a,($19)
|
||||
// 9498 bit 2,a
|
||||
@ -255,19 +255,19 @@ READ8_MEMBER(cedar_magnet_state::port19_r)
|
||||
|
||||
READ8_MEMBER(cedar_magnet_state::port1a_r)
|
||||
{
|
||||
// printf("%s: port1a_r\n", device().machine().describe_context());
|
||||
// printf("%s: port1a_r\n", device().machine().describe_context());
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(cedar_magnet_state::port19_w)
|
||||
{
|
||||
// printf("%s: port19_w %02x\n", device().machine().describe_context(), data);
|
||||
// printf("%s: port19_w %02x\n", device().machine().describe_context(), data);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(cedar_magnet_state::port1b_w)
|
||||
{
|
||||
// printf("%s: port1b_w %02x\n", device().machine().describe_context(), data);
|
||||
// printf("%s: port1b_w %02x\n", device().machine().describe_context(), data);
|
||||
}
|
||||
|
||||
/***********************
|
||||
@ -325,7 +325,7 @@ void cedar_magnet_state::video_start()
|
||||
|
||||
WRITE8_MEMBER(cedar_magnet_state::soundlatch_w)
|
||||
{
|
||||
// printf("%s: writing soundlatch_w! %02x\n", device().machine().describe_context(), data);
|
||||
// printf("%s: writing soundlatch_w! %02x\n", device().machine().describe_context(), data);
|
||||
portff_data = data;
|
||||
m_cedsound->write_command(data);
|
||||
}
|
||||
@ -373,8 +373,8 @@ READ8_MEMBER(cedar_magnet_state::other_cpu_r)
|
||||
if (cpus_accessed != 1)
|
||||
logerror("%s: reading multiple CPUS!!! %04x - bank bits %d %d %d %d %d %d %d\n", device().machine().describe_context(), offset,bankbit0, plane0select, plane1select, spriteselect, soundselect, windowbank, unk2);
|
||||
|
||||
// if ((offset==0) || (offset2 == 0xe) || (offset2 == 0xf) || (offset2 == 0x68))
|
||||
// logerror("%s: reading banked bus area %04x - bank bits %d %d %d %d %d %d %d\n", device().machine().describe_context(), offset,bankbit0, plane0select, plane1select, spriteselect, soundselect, windowbank, unk2);
|
||||
// if ((offset==0) || (offset2 == 0xe) || (offset2 == 0xf) || (offset2 == 0x68))
|
||||
// logerror("%s: reading banked bus area %04x - bank bits %d %d %d %d %d %d %d\n", device().machine().describe_context(), offset,bankbit0, plane0select, plane1select, spriteselect, soundselect, windowbank, unk2);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -415,14 +415,14 @@ WRITE8_MEMBER(cedar_magnet_state::other_cpu_w)
|
||||
{
|
||||
cpus_accessed++;
|
||||
m_cedsound->write_cpu_bus(offset2, data);
|
||||
// printf("%s: sound cpu write %04x %02x - bank bits %d %d %d %d %d %d %d\n", device().machine().describe_context(), offset,data, bankbit0, plane0select, plane1select, spriteselect, soundselect, windowbank, unk2);
|
||||
// printf("%s: sound cpu write %04x %02x - bank bits %d %d %d %d %d %d %d\n", device().machine().describe_context(), offset,data, bankbit0, plane0select, plane1select, spriteselect, soundselect, windowbank, unk2);
|
||||
}
|
||||
|
||||
if (cpus_accessed != 1)
|
||||
logerror("%s: writing multiple CPUS!!! %04x %02x - bank bits %d %d %d %d %d %d %d\n", device().machine().describe_context(), offset,data, bankbit0, plane0select, plane1select, spriteselect, soundselect, windowbank, unk2);
|
||||
|
||||
// if ((offset==0) || (offset2 == 0xe) || (offset2 == 0xf) || (offset2 == 0x68))
|
||||
// printf("%s: other cpu write %04x %02x - bank bits %d %d %d %d %d %d %d\n", device().machine().describe_context(), offset,data, bankbit0, plane0select, plane1select, spriteselect, soundselect, windowbank, unk2);
|
||||
// if ((offset==0) || (offset2 == 0xe) || (offset2 == 0xf) || (offset2 == 0x68))
|
||||
// printf("%s: other cpu write %04x %02x - bank bits %d %d %d %d %d %d %d\n", device().machine().describe_context(), offset,data, bankbit0, plane0select, plane1select, spriteselect, soundselect, windowbank, unk2);
|
||||
}
|
||||
|
||||
|
||||
@ -667,16 +667,16 @@ static MACHINE_CONFIG_START( cedar_magnet, cedar_magnet_state )
|
||||
MCFG_ADDRESS_MAP_BANK_STRIDE(0x100)
|
||||
|
||||
MCFG_DEVICE_ADD("z80pio_ic48", Z80PIO, 4000000/2)
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_state, ic48_pio_pa_r))
|
||||
MCFG_Z80PIO_OUT_PA_CB(WRITE8(cedar_magnet_state, ic48_pio_pa_w))
|
||||
MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_state, ic48_pio_pb_r))
|
||||
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_state, ic48_pio_pb_w))
|
||||
|
||||
MCFG_DEVICE_ADD("z80pio_ic49", Z80PIO, 4000000/2)
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_state, ic49_pio_pa_r)) // NOT USED
|
||||
// MCFG_Z80PIO_OUT_PA_CB(WRITE8(cedar_magnet_state, ic49_pio_pa_w)) // NOT USED
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_state, ic49_pio_pa_r)) // NOT USED
|
||||
// MCFG_Z80PIO_OUT_PA_CB(WRITE8(cedar_magnet_state, ic49_pio_pa_w)) // NOT USED
|
||||
MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_state, ic49_pio_pb_r))
|
||||
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_state, ic49_pio_pb_w))
|
||||
|
||||
@ -737,17 +737,17 @@ ROM_START( mag_xain )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
protection? (Time Scanner note)
|
||||
protection? (Time Scanner note)
|
||||
|
||||
one part of the code is a weird loop checking values from port 0x7c while doing other nonsensical stuff, a flag gets set to 0xff if it fails
|
||||
one part of the code is a weird loop checking values from port 0x7c while doing other nonsensical stuff, a flag gets set to 0xff if it fails
|
||||
|
||||
the other part is after reading the weird extra block on the disk (score / protection data at 0xea400 in the disk image*) and again a flag
|
||||
gets set to 0xff in certain conditions there's then a check after inserting a coin, these values can't be 0xff at that point, and there
|
||||
doesn't appear to be any code to reset them.
|
||||
the other part is after reading the weird extra block on the disk (score / protection data at 0xea400 in the disk image*) and again a flag
|
||||
gets set to 0xff in certain conditions there's then a check after inserting a coin, these values can't be 0xff at that point, and there
|
||||
doesn't appear to be any code to reset them.
|
||||
|
||||
*0xea400 is/was track 4e, side 00, sector 01 for future reference if the floppy format changes
|
||||
*0xea400 is/was track 4e, side 00, sector 01 for future reference if the floppy format changes
|
||||
|
||||
all games have the same code in them but at different addresses
|
||||
all games have the same code in them but at different addresses
|
||||
*/
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
cedar_magnet_board_device::cedar_magnet_board_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
|
||||
: device_t(mconfig, type, name, tag, owner, clock, shortname, source)
|
||||
// m_ram(*this, "ram")
|
||||
// m_ram(*this, "ram")
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -139,9 +139,9 @@ WRITE8_MEMBER(cedar_magnet_flop_device::port60_w)
|
||||
|
||||
case 0xd0:
|
||||
//printf("force interrupt?\n");
|
||||
// m_flopstat = 0x06;
|
||||
// m_flopstat &= ~0x07;
|
||||
// m_maincpu->set_input_line(0, HOLD_LINE);
|
||||
// m_flopstat = 0x06;
|
||||
// m_flopstat &= ~0x07;
|
||||
// m_maincpu->set_input_line(0, HOLD_LINE);
|
||||
|
||||
break;
|
||||
|
||||
@ -210,7 +210,7 @@ WRITE8_MEMBER(cedar_magnet_flop_device::write)
|
||||
switch (offset & 3)
|
||||
{
|
||||
case 0x00:port60_w(space, offset, data);break;
|
||||
// case 0x01:port61_w(space, offset, data);break;
|
||||
// case 0x01:port61_w(space, offset, data);break;
|
||||
case 0x02:port62_w(space, offset, data);break;
|
||||
case 0x03:port63_w(space, offset, data);break;
|
||||
default:break;
|
||||
|
@ -75,17 +75,17 @@ static MACHINE_CONFIG_FRAGMENT( cedar_magnet_plane )
|
||||
MCFG_CPU_VBLANK_INT_DRIVER(":screen", cedar_magnet_board_device, irq)
|
||||
|
||||
MCFG_DEVICE_ADD("z80pio0", Z80PIO, 4000000/2)
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_plane_device, pio0_pa_r))
|
||||
MCFG_Z80PIO_OUT_PA_CB(WRITE8(cedar_magnet_plane_device, pio0_pa_w))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_plane_device, pio0_pb_r))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_plane_device, pio0_pb_r))
|
||||
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_plane_device, pio0_pb_w))
|
||||
|
||||
MCFG_DEVICE_ADD("z80pio1", Z80PIO, 4000000/2)
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_plane_device, pio1_pa_r))
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_plane_device, pio1_pa_r))
|
||||
MCFG_Z80PIO_OUT_PA_CB(WRITE8(cedar_magnet_plane_device, pio1_pa_w))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_plane_device, pio1_pb_r))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_plane_device, pio1_pb_r))
|
||||
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_plane_device, pio1_pb_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -93,7 +93,7 @@ MACHINE_CONFIG_END
|
||||
READ8_MEMBER(cedar_magnet_plane_device::pio0_pa_r)
|
||||
{
|
||||
// this is read
|
||||
// logerror("%s: pio0_pa_r\n", machine().describe_context());
|
||||
// logerror("%s: pio0_pa_r\n", machine().describe_context());
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
|
@ -22,12 +22,12 @@ public:
|
||||
|
||||
DECLARE_READ8_MEMBER(pio0_pa_r);
|
||||
DECLARE_WRITE8_MEMBER(pio0_pa_w);
|
||||
// DECLARE_READ8_MEMBER(pio0_pb_r);
|
||||
// DECLARE_READ8_MEMBER(pio0_pb_r);
|
||||
DECLARE_WRITE8_MEMBER(pio0_pb_w);
|
||||
|
||||
// DECLARE_READ8_MEMBER(pio1_pa_r);
|
||||
// DECLARE_READ8_MEMBER(pio1_pa_r);
|
||||
DECLARE_WRITE8_MEMBER(pio1_pa_w);
|
||||
// DECLARE_READ8_MEMBER(pio1_pb_r);
|
||||
// DECLARE_READ8_MEMBER(pio1_pb_r);
|
||||
DECLARE_WRITE8_MEMBER(pio1_pb_w);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(plane_portcc_w);
|
||||
@ -51,7 +51,7 @@ public:
|
||||
protected:
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_start() override;
|
||||
// virtual void device_reset() override;
|
||||
// virtual void device_reset() override;
|
||||
|
||||
private:
|
||||
};
|
||||
|
@ -22,8 +22,8 @@ cedar_magnet_sound_device::cedar_magnet_sound_device(const machine_config &mconf
|
||||
|
||||
READ8_MEMBER(cedar_magnet_sound_device::top_port14_r)
|
||||
{
|
||||
// uint8_t ret = m_command;
|
||||
// m_command = 0;
|
||||
// uint8_t ret = m_command;
|
||||
// m_command = 0;
|
||||
return rand();
|
||||
}
|
||||
|
||||
@ -57,12 +57,12 @@ ADDRESS_MAP_END
|
||||
|
||||
WRITE_LINE_MEMBER(cedar_magnet_sound_device::ctc0_z0_w)
|
||||
{
|
||||
// printf("USED ctc0_z0_w %d\n", state);
|
||||
// printf("USED ctc0_z0_w %d\n", state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(cedar_magnet_sound_device::ctc0_z1_w)
|
||||
{
|
||||
// printf("USED ctc0_z1_w %d\n", state);
|
||||
// printf("USED ctc0_z1_w %d\n", state);
|
||||
}
|
||||
|
||||
|
||||
@ -96,15 +96,15 @@ WRITE_LINE_MEMBER(cedar_magnet_sound_device::ctc0_int_w)
|
||||
WRITE_LINE_MEMBER(cedar_magnet_sound_device::ctc1_int_w)
|
||||
{
|
||||
/*
|
||||
switch (rand()&0x1)
|
||||
{
|
||||
case 0x00:
|
||||
m_ctc0->trg0(rand()&1);
|
||||
break;
|
||||
case 0x01:
|
||||
m_ctc0->trg1(rand()&1);
|
||||
break;
|
||||
}
|
||||
switch (rand()&0x1)
|
||||
{
|
||||
case 0x00:
|
||||
m_ctc0->trg0(rand()&1);
|
||||
break;
|
||||
case 0x01:
|
||||
m_ctc0->trg1(rand()&1);
|
||||
break;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
@ -121,7 +121,7 @@ static MACHINE_CONFIG_FRAGMENT( cedar_magnet_sound )
|
||||
MCFG_CPU_ADD("topcpu", Z80,4000000)
|
||||
MCFG_CPU_PROGRAM_MAP(cedar_magnet_sound_map)
|
||||
MCFG_CPU_IO_MAP(cedar_magnet_sound_io)
|
||||
// MCFG_Z80_DAISY_CHAIN(daisy_chain)
|
||||
// MCFG_Z80_DAISY_CHAIN(daisy_chain)
|
||||
|
||||
MCFG_DEVICE_ADD("ctc0", Z80CTC, 4000000/8 )
|
||||
MCFG_Z80CTC_INTR_CB(WRITELINE(cedar_magnet_sound_device, ctc0_int_w))
|
||||
@ -131,7 +131,7 @@ static MACHINE_CONFIG_FRAGMENT( cedar_magnet_sound )
|
||||
|
||||
MCFG_DEVICE_ADD("ctc1", Z80CTC, 4000000/8 )
|
||||
MCFG_Z80CTC_INTR_CB(INPUTLINE("topcpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80CTC_INTR_CB(DEVWRITELINE("ctc0", z80ctc_device, trg0))
|
||||
// MCFG_Z80CTC_INTR_CB(DEVWRITELINE("ctc0", z80ctc_device, trg0))
|
||||
MCFG_Z80CTC_INTR_CB(WRITELINE(cedar_magnet_sound_device, ctc1_int_w))
|
||||
MCFG_Z80CTC_ZC0_CB(WRITELINE(cedar_magnet_sound_device, ctc1_z0_w))
|
||||
MCFG_Z80CTC_ZC1_CB(WRITELINE(cedar_magnet_sound_device, ctc1_z1_w))
|
||||
|
@ -74,9 +74,9 @@ ADDRESS_MAP_END
|
||||
|
||||
void cedar_magnet_sprite_device::do_blit()
|
||||
{
|
||||
// printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
|
||||
// printf("~~~~~~~~~~~~~~~~~ drawing sprite with x:%02x y:%02x code:%04x size:%02x unk:%02x\n", m_loweraddr, m_upperaddr, (m_spritecodehigh << 8) | m_spritecodelow, m_spritesize, pio0_pb_data);
|
||||
// printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
|
||||
// printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
|
||||
// printf("~~~~~~~~~~~~~~~~~ drawing sprite with x:%02x y:%02x code:%04x size:%02x unk:%02x\n", m_loweraddr, m_upperaddr, (m_spritecodehigh << 8) | m_spritecodelow, m_spritesize, pio0_pb_data);
|
||||
// printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
|
||||
|
||||
int ysize;
|
||||
int xsize;
|
||||
@ -159,7 +159,7 @@ void cedar_magnet_sprite_device::do_blit()
|
||||
WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port80_w)
|
||||
{
|
||||
m_spritecodelow = data;
|
||||
// printf("%s:sprite numlow / trigger %02x\n", machine().describe_context(), data);
|
||||
// printf("%s:sprite numlow / trigger %02x\n", machine().describe_context(), data);
|
||||
|
||||
do_blit();
|
||||
}
|
||||
@ -168,20 +168,20 @@ WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port84_w)
|
||||
{
|
||||
m_spritecodehigh = data;
|
||||
m_high_write = 1;
|
||||
// printf("%s:sprite numhigh %02x\n", machine().describe_context(), data);
|
||||
// printf("%s:sprite numhigh %02x\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port88_w)
|
||||
{
|
||||
// frequent
|
||||
// printf("%s:sprite_y_coordinate %02x\n", machine().describe_context(), data);
|
||||
// printf("%s:sprite_y_coordinate %02x\n", machine().describe_context(), data);
|
||||
m_upperaddr = data;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(cedar_magnet_sprite_device::pio2_pa_w)
|
||||
{
|
||||
// frequent
|
||||
// printf("%s:sprite_x_coordinate %02x\n", machine().describe_context(), data);
|
||||
// printf("%s:sprite_x_coordinate %02x\n", machine().describe_context(), data);
|
||||
m_loweraddr = data;
|
||||
}
|
||||
|
||||
@ -195,7 +195,7 @@ WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port8c_w)
|
||||
// possible watchdog?
|
||||
WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port9c_w)
|
||||
{
|
||||
// printf("%s:sprite_port9c_w %02x\n", machine().describe_context(), data);
|
||||
// printf("%s:sprite_port9c_w %02x\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( cedar_magnet_sprite )
|
||||
@ -205,24 +205,24 @@ static MACHINE_CONFIG_FRAGMENT( cedar_magnet_sprite )
|
||||
MCFG_CPU_VBLANK_INT_DRIVER(":screen", cedar_magnet_board_device, irq)
|
||||
|
||||
MCFG_DEVICE_ADD("z80pio0", Z80PIO, 4000000/2)
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_sprite_device, pio0_pa_r))
|
||||
MCFG_Z80PIO_OUT_PA_CB(WRITE8(cedar_magnet_sprite_device, pio0_pa_w))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_sprite_device, pio0_pb_r))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_sprite_device, pio0_pb_r))
|
||||
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_sprite_device, pio0_pb_w))
|
||||
|
||||
MCFG_DEVICE_ADD("z80pio1", Z80PIO, 4000000/2)
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_sprite_device, pio1_pa_r))
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_sprite_device, pio1_pa_r))
|
||||
MCFG_Z80PIO_OUT_PA_CB(WRITE8(cedar_magnet_sprite_device, pio1_pa_w))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_sprite_device, pio1_pb_r))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_sprite_device, pio1_pb_r))
|
||||
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_sprite_device, pio1_pb_w))
|
||||
|
||||
MCFG_DEVICE_ADD("z80pio2", Z80PIO, 4000000/2)
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_sprite_device, pio2_pa_r))
|
||||
// MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
// MCFG_Z80PIO_IN_PA_CB(READ8(cedar_magnet_sprite_device, pio2_pa_r))
|
||||
MCFG_Z80PIO_OUT_PA_CB(WRITE8(cedar_magnet_sprite_device, pio2_pa_w))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_sprite_device, pio2_pb_r))
|
||||
// MCFG_Z80PIO_IN_PB_CB(READ8(cedar_magnet_sprite_device, pio2_pb_r))
|
||||
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_sprite_device, pio2_pb_w))
|
||||
|
||||
MCFG_DEVICE_ADD("sp_sub_ram", ADDRESS_MAP_BANK, 0)
|
||||
@ -237,7 +237,7 @@ MACHINE_CONFIG_END
|
||||
READ8_MEMBER(cedar_magnet_sprite_device::pio0_pa_r)
|
||||
{
|
||||
// actually read
|
||||
// printf("%s: pio0_pa_r\n", machine().describe_context());
|
||||
// printf("%s: pio0_pa_r\n", machine().describe_context());
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
@ -309,15 +309,15 @@ void cedar_magnet_sprite_device::device_reset()
|
||||
|
||||
uint32_t cedar_magnet_sprite_device::draw(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int palbase)
|
||||
{
|
||||
// printf("-----------------------------------------------------------------------------------------------------------\n");
|
||||
// printf("--------------------------------------------- FRAME -------------------------------------------------------\n");
|
||||
// printf("-----------------------------------------------------------------------------------------------------------\n");
|
||||
// printf("-----------------------------------------------------------------------------------------------------------\n");
|
||||
// printf("--------------------------------------------- FRAME -------------------------------------------------------\n");
|
||||
// printf("-----------------------------------------------------------------------------------------------------------\n");
|
||||
|
||||
uint8_t* mem = m_framebuffer;
|
||||
int count = 0;
|
||||
|
||||
// if (!(m_m_spritesize & 0x40))
|
||||
// return 0;
|
||||
// if (!(m_m_spritesize & 0x40))
|
||||
// return 0;
|
||||
|
||||
for (int y = 0;y < 256;y++)
|
||||
{
|
||||
|
@ -31,17 +31,17 @@ public:
|
||||
|
||||
DECLARE_READ8_MEMBER(pio0_pa_r);
|
||||
DECLARE_WRITE8_MEMBER(pio0_pa_w);
|
||||
// DECLARE_READ8_MEMBER(pio0_pb_r);
|
||||
// DECLARE_READ8_MEMBER(pio0_pb_r);
|
||||
DECLARE_WRITE8_MEMBER(pio0_pb_w);
|
||||
|
||||
// DECLARE_READ8_MEMBER(pio1_pa_r);
|
||||
// DECLARE_READ8_MEMBER(pio1_pa_r);
|
||||
DECLARE_WRITE8_MEMBER(pio1_pa_w);
|
||||
// DECLARE_READ8_MEMBER(pio1_pb_r);
|
||||
// DECLARE_READ8_MEMBER(pio1_pb_r);
|
||||
DECLARE_WRITE8_MEMBER(pio1_pb_w);
|
||||
|
||||
// DECLARE_READ8_MEMBER(pio2_pa_r);
|
||||
// DECLARE_READ8_MEMBER(pio2_pa_r);
|
||||
DECLARE_WRITE8_MEMBER(pio2_pa_w);
|
||||
// DECLARE_READ8_MEMBER(pio2_pb_r);
|
||||
// DECLARE_READ8_MEMBER(pio2_pb_r);
|
||||
DECLARE_WRITE8_MEMBER(pio2_pb_w);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(sprite_port80_w);
|
||||
|
@ -215,9 +215,9 @@ static ADDRESS_MAP_START( bigrun_map, AS_PROGRAM, 16, cischeat_state )
|
||||
AM_RANGE(0x082400, 0x082401) AM_WRITE(active_layers_w)
|
||||
|
||||
/* It's actually 0x840000-0x847ff, divided in four banks and shared with other boards.
|
||||
Each board expects reads from the other boards and writes to own bank.
|
||||
Amusingly, if you run the communication test as ID = X then soft reset -> ID = Y, what was at ID = X gets an OK in the second test
|
||||
so it's likely to be the only thing needed. */
|
||||
Each board expects reads from the other boards and writes to own bank.
|
||||
Amusingly, if you run the communication test as ID = X then soft reset -> ID = Y, what was at ID = X gets an OK in the second test
|
||||
so it's likely to be the only thing needed. */
|
||||
AM_RANGE(0x084000, 0x0847ff) AM_RAM // Linking with other units
|
||||
AM_RANGE(0x088000, 0x08bfff) AM_RAM AM_SHARE("share2") // Sharedram with sub CPU#2
|
||||
AM_RANGE(0x08c000, 0x08ffff) AM_RAM AM_SHARE("share1") // Sharedram with sub CPU#1
|
||||
@ -369,7 +369,7 @@ READ16_MEMBER(cischeat_state::wildplt_mux_r)
|
||||
uint16_t split_in = 0xffff;
|
||||
switch(m_wildplt_output & 0xc)
|
||||
{
|
||||
// case 0: return ioport("IN1")->read();
|
||||
// case 0: return ioport("IN1")->read();
|
||||
case 4: split_in = ioport("IN1_1")->read(); break;
|
||||
case 8: split_in = ioport("IN1_2")->read(); break;
|
||||
}
|
||||
@ -405,7 +405,7 @@ static ADDRESS_MAP_START( wildplt_map, AS_PROGRAM, 16, cischeat_state )
|
||||
AM_RANGE(0x082308, 0x082309) AM_READNOP AM_WRITE(f1gpstar_comms_w)
|
||||
AM_RANGE(0x082400, 0x082401) AM_WRITE(active_layers_w)
|
||||
|
||||
// AM_RANGE(0x088000, 0x088fff) AM_RAM // Linking with other units
|
||||
// AM_RANGE(0x088000, 0x088fff) AM_RAM // Linking with other units
|
||||
|
||||
AM_RANGE(0x090000, 0x097fff) AM_RAM AM_SHARE("share2") // Sharedram with sub CPU#2
|
||||
AM_RANGE(0x098000, 0x09ffff) AM_RAM AM_SHARE("share1") // Sharedram with sub CPU#1
|
||||
@ -1895,8 +1895,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::bigrun_scanline)
|
||||
if(scanline == 0)
|
||||
m_cpu1->set_input_line(2, HOLD_LINE);
|
||||
|
||||
// if(scanline == 69)
|
||||
// m_cpu1->set_input_line(1, HOLD_LINE);
|
||||
// if(scanline == 69)
|
||||
// m_cpu1->set_input_line(1, HOLD_LINE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -274,9 +274,9 @@ private:
|
||||
uint8_t m_env_dir_ctrl;
|
||||
uint8_t m_vol_latch;
|
||||
uint8_t m_flt_latch;
|
||||
uint8_t m_rp;
|
||||
uint8_t m_ws;
|
||||
int m_dir;
|
||||
uint8_t m_rp;
|
||||
uint8_t m_ws;
|
||||
int m_dir;
|
||||
|
||||
double m_freq;
|
||||
bool m_active;
|
||||
|
@ -1388,8 +1388,8 @@ ROM_START( crzyddz2 )
|
||||
ROM_LOAD( "rom.u48", 0x000000, 0x1000000, CRC(e24257c4) SHA1(569d79a61ff6d35100ba5727069363146df9e0b7) )
|
||||
|
||||
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASEFF )
|
||||
ROM_COPY( "user1", 0x000000, 0x000000, 0x1000000 ) // copy flash here
|
||||
ROM_LOAD( "27c322.u36", 0x000000, 0x0200000, CRC(b3177f39) SHA1(2a28bf8045bd2e053d88549b79fbc11f30ef9a32) ) // 1ST AND 2ND HALF IDENTICAL
|
||||
ROM_COPY( "user1", 0x000000, 0x000000, 0x1000000 ) // copy flash here
|
||||
ROM_LOAD( "27c322.u36", 0x000000, 0x0200000, CRC(b3177f39) SHA1(2a28bf8045bd2e053d88549b79fbc11f30ef9a32) ) // 1ST AND 2ND HALF IDENTICAL
|
||||
ROM_CONTINUE( 0x000000, 0x0200000 )
|
||||
|
||||
ROM_REGION( 0x4280, "pic", 0 ) // hy04
|
||||
|
@ -229,7 +229,7 @@ uint32_t fun_tech_corp_state::screen_update_funtech(screen_device &screen, bitma
|
||||
|
||||
INTERRUPT_GEN_MEMBER(fun_tech_corp_state::funtech_vblank_interrupt)
|
||||
{
|
||||
// if (m_nmi_enable)
|
||||
// if (m_nmi_enable)
|
||||
device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
}
|
||||
|
||||
|
@ -1471,12 +1471,12 @@ ROM_START( gepoker3 ) /* v50.02 with control dated 9-30-84 */
|
||||
ROM_LOAD( "cont_9-30_m105_pts.2c", 0x00000, 0x2000, CRC(08b996f2) SHA1(5f5efb5015ec9571cc94734c18debfadaa28f585) )
|
||||
ROM_LOAD( "hrom_6-25_m105_pts.1c", 0x0e000, 0x2000, CRC(6ddc1750) SHA1(ee19206b7f4a98e3e7647414127f4e09b3e9134f) )
|
||||
/* Banked roms */
|
||||
ROM_LOAD( "pokr_chig_2-12_m105.1", 0x10000, 0x2000, CRC(a1cbf67b) SHA1(a6cd081bbb19b2dd1a84b7750eac8a5258a663eb) )//not original sticker, twice the size of a regular rom, but still don't match
|
||||
ROM_LOAD( "pokr_chig_2-12_m105.1", 0x10000, 0x2000, CRC(a1cbf67b) SHA1(a6cd081bbb19b2dd1a84b7750eac8a5258a663eb) )//not original sticker, twice the size of a regular rom, but still don't match
|
||||
ROM_CONTINUE( 0x10000, 0x2000) /* Discarding 1nd half, 0xff filled*/
|
||||
ROM_LOAD( "bljk_9-30_m105_pts.2", 0x12000, 0x2000, CRC(82804184) SHA1(2e2e6a80c99c8eb226dc54c1d32d0bf24de300a4) )
|
||||
ROM_LOAD( "bljk_9-30_m105_pts.2", 0x12000, 0x2000, CRC(82804184) SHA1(2e2e6a80c99c8eb226dc54c1d32d0bf24de300a4) )
|
||||
ROM_LOAD( "bone_8-16_m105_pts.3", 0x14000, 0x2000, CRC(52d66cb6) SHA1(57db34906fcafd37f3a361df209dafe080aeac16) )
|
||||
ROM_LOAD( "slot_9-30_m105_pts.4", 0x16000, 0x2000, CRC(713c3963) SHA1(a9297c04fc44522ca6891516a2c744712132896a) )
|
||||
ROM_LOAD( "bingo_8-16_m105.5", 0x18000, 0x2000, CRC(de87ed0a) SHA1(4a26d93368c1a39dd38aabe450c34203101f0ef7) ) //not original sticker selftest report 10-7-86 date!!
|
||||
ROM_LOAD( "slot_9-30_m105_pts.4", 0x16000, 0x2000, CRC(713c3963) SHA1(a9297c04fc44522ca6891516a2c744712132896a) )
|
||||
ROM_LOAD( "bingo_8-16_m105.5", 0x18000, 0x2000, CRC(de87ed0a) SHA1(4a26d93368c1a39dd38aabe450c34203101f0ef7) ) //not original sticker selftest report 10-7-86 date!!
|
||||
ROM_END
|
||||
|
||||
ROM_START( amuse ) /* v50.08 with most roms for IAM dated 8-16-84 */
|
||||
|
@ -560,7 +560,7 @@ DRIVER_INIT_MEMBER(igs017_state,tarzan)
|
||||
DRIVER_INIT_MEMBER(igs017_state,tarzana)
|
||||
{
|
||||
tarzana_decrypt_program_rom();
|
||||
// tarzana_decrypt_tiles(); // to do
|
||||
// tarzana_decrypt_tiles(); // to do
|
||||
}
|
||||
|
||||
// starzan
|
||||
|
@ -58,12 +58,12 @@
|
||||
#include "machine/ds1386.h"
|
||||
#include "machine/z80scc.h"
|
||||
|
||||
#define SCC_TAG "scc"
|
||||
#define PI1_TAG "pi1"
|
||||
#define KBDC_TAG "kbdc"
|
||||
#define PIT_TAG "pit"
|
||||
#define SCC_TAG "scc"
|
||||
#define PI1_TAG "pi1"
|
||||
#define KBDC_TAG "kbdc"
|
||||
#define PIT_TAG "pit"
|
||||
|
||||
#define SCC_CLOCK XTAL_10MHz
|
||||
#define SCC_CLOCK XTAL_10MHz
|
||||
|
||||
#define MCFG_IOC2_GUINNESS_ADD(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, SGI_IOC2_GUINNESS, 0)
|
||||
@ -96,7 +96,7 @@ protected:
|
||||
|
||||
required_device<mips3_device> m_maincpu;
|
||||
required_device<scc85C30_device> m_scc;
|
||||
required_device<pc_lpt_device> m_pi1; // we assume standard parallel port (SPP) mode
|
||||
required_device<pc_lpt_device> m_pi1; // we assume standard parallel port (SPP) mode
|
||||
// TODO: SGI parallel port (SGIPP), HP BOISE high speed parallel port (HPBPP), and Ricoh scanner modes
|
||||
required_device<kbdc8042_device> m_kbdc;
|
||||
required_device<pit8254_device> m_pit;
|
||||
@ -123,9 +123,9 @@ protected:
|
||||
uint8_t m_int3_timer_clear_reg;
|
||||
uint8_t m_int3_err_status_reg;
|
||||
|
||||
uint32_t m_par_read_cnt;
|
||||
uint32_t m_par_cntl;
|
||||
uint8_t m_system_id;
|
||||
uint32_t m_par_read_cnt;
|
||||
uint32_t m_par_cntl;
|
||||
uint8_t m_system_id;
|
||||
};
|
||||
|
||||
class ioc2_guinness_device : public ioc2_device
|
||||
@ -159,9 +159,9 @@ ioc2_full_house_device::ioc2_full_house_device(const machine_config &mconfig, co
|
||||
|
||||
static INPUT_PORTS_START( front_panel )
|
||||
PORT_START("panel_buttons")
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Power") PORT_CHANGED_MEMBER(DEVICE_SELF, ioc2_device, power_button, 0)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Volume Down") PORT_CHANGED_MEMBER(DEVICE_SELF, ioc2_device, volume_down, 0)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Volume Up") PORT_CHANGED_MEMBER(DEVICE_SELF, ioc2_device, volume_up, 0)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Power") PORT_CHANGED_MEMBER(DEVICE_SELF, ioc2_device, power_button, 0)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Volume Down") PORT_CHANGED_MEMBER(DEVICE_SELF, ioc2_device, volume_down, 0)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Volume Up") PORT_CHANGED_MEMBER(DEVICE_SELF, ioc2_device, volume_up, 0)
|
||||
INPUT_PORTS_END
|
||||
|
||||
ioport_constructor ioc2_device::device_input_ports() const
|
||||
@ -220,12 +220,12 @@ ioc2_device::ioc2_device(const machine_config &mconfig, device_type type, const
|
||||
{
|
||||
}
|
||||
|
||||
#define FRONT_PANEL_POWER_STATE (0x01)
|
||||
#define FRONT_PANEL_POWER_BUTTON_INT (0x02)
|
||||
#define FRONT_PANEL_VOL_DOWN_INT (0x10)
|
||||
#define FRONT_PANEL_VOL_DOWN_HOLD (0x20)
|
||||
#define FRONT_PANEL_VOL_UP_INT (0x40)
|
||||
#define FRONT_PANEL_VOL_UP_HOLD (0x80)
|
||||
#define FRONT_PANEL_POWER_STATE (0x01)
|
||||
#define FRONT_PANEL_POWER_BUTTON_INT (0x02)
|
||||
#define FRONT_PANEL_VOL_DOWN_INT (0x10)
|
||||
#define FRONT_PANEL_VOL_DOWN_HOLD (0x20)
|
||||
#define FRONT_PANEL_VOL_UP_INT (0x40)
|
||||
#define FRONT_PANEL_VOL_UP_HOLD (0x80)
|
||||
|
||||
void ioc2_device::device_start()
|
||||
{
|
||||
@ -336,9 +336,9 @@ READ32_MEMBER( ioc2_device::read )
|
||||
case 0x68/4: // DMA_SEL Register
|
||||
// Bits 2-0 not quite understood, seem to be copy/paste error in SGI's own documents:
|
||||
//
|
||||
// 2 RW Parallel Port DMA Select. A high bit selects the Parallel Port DMA channel. 0\h is the default after reset. [this makes sense. -ed.]
|
||||
// 1 RW ISDN Channel B DMA Select. A high bit selects the Parallel Port DMA channel. 0\h is the default after reset. [is this a copy/paste error? perhaps "Parallel Port" should be "ISDN Channel B"?]
|
||||
// 0 RW [same text as above. Another copy/paste error, maybe? Should be channel A, with the bit selecting DMA channel 0/1 for ISDN channel A, the and the same for ISDN channel B in bit 1?]
|
||||
// 2 RW Parallel Port DMA Select. A high bit selects the Parallel Port DMA channel. 0\h is the default after reset. [this makes sense. -ed.]
|
||||
// 1 RW ISDN Channel B DMA Select. A high bit selects the Parallel Port DMA channel. 0\h is the default after reset. [is this a copy/paste error? perhaps "Parallel Port" should be "ISDN Channel B"?]
|
||||
// 0 RW [same text as above. Another copy/paste error, maybe? Should be channel A, with the bit selecting DMA channel 0/1 for ISDN channel A, the and the same for ISDN channel B in bit 1?]
|
||||
return m_dma_sel;
|
||||
|
||||
case 0x70/4: // Reset Register
|
||||
@ -347,15 +347,15 @@ READ32_MEMBER( ioc2_device::read )
|
||||
case 0x78/4: // Write Register
|
||||
// Not yet implemented, some bits unnecessary:
|
||||
//
|
||||
// Bit Oper Description
|
||||
// 7 RW Margin High. Set low for normal +5V operation, high to step supply up to +5.5V. Cleared at reset.
|
||||
// 6 RW Margin Low. Set lowf or normal +5V operation, high to step supply down to +4.5V. Cleared at reset.
|
||||
// 5 RW UART1 PC Mode. Set low to configure Port1 for RS422 Mac mode, high to select RS232 PC mode. Cleared at reset.
|
||||
// 4 RW UART2 PC Mode. Set low to configure Port2 for RS422 Mac mode, high to select RS232 PC mode. Cleared at reset.
|
||||
// 3 RW Ethernet Auto Select (active high). Set low for manual mode, high to have LXT901 automatically select TP or AUI based on link integrity. Cleared at reset.
|
||||
// 2 RW Ethernet Port Select. Set low for TP, high for AUI. This setting is only used when Auto Select is in manual mode. Cleared at reset.
|
||||
// 1 RW Ethernet UTP/STP select. Set low to select 150 ohm termination fro shielded TP (default), set high to select 100 ohm termination for unshielded TP. Cleared at reset.
|
||||
// 0 RW Ethernet Normal Threshold (NTH) select. Set low to select the normal TP squelch threshold (default), high to reduce threshold by 4.5 dB (set low when reset).
|
||||
// Bit Oper Description
|
||||
// 7 RW Margin High. Set low for normal +5V operation, high to step supply up to +5.5V. Cleared at reset.
|
||||
// 6 RW Margin Low. Set lowf or normal +5V operation, high to step supply down to +4.5V. Cleared at reset.
|
||||
// 5 RW UART1 PC Mode. Set low to configure Port1 for RS422 Mac mode, high to select RS232 PC mode. Cleared at reset.
|
||||
// 4 RW UART2 PC Mode. Set low to configure Port2 for RS422 Mac mode, high to select RS232 PC mode. Cleared at reset.
|
||||
// 3 RW Ethernet Auto Select (active high). Set low for manual mode, high to have LXT901 automatically select TP or AUI based on link integrity. Cleared at reset.
|
||||
// 2 RW Ethernet Port Select. Set low for TP, high for AUI. This setting is only used when Auto Select is in manual mode. Cleared at reset.
|
||||
// 1 RW Ethernet UTP/STP select. Set low to select 150 ohm termination fro shielded TP (default), set high to select 100 ohm termination for unshielded TP. Cleared at reset.
|
||||
// 0 RW Ethernet Normal Threshold (NTH) select. Set low to select the normal TP squelch threshold (default), high to reduce threshold by 4.5 dB (set low when reset).
|
||||
return m_write_reg;
|
||||
|
||||
case 0x80/4: // INT3 Local0 Status Register
|
||||
@ -398,10 +398,10 @@ READ32_MEMBER( ioc2_device::read )
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define DMA_SEL_CLOCK_SEL_MASK (0x30)
|
||||
#define DMA_SEL_CLOCK_SEL_10MHz (0x00)
|
||||
#define DMA_SEL_CLOCK_SEL_6_67MHz (0x10)
|
||||
#define DMA_SEL_CLOCK_SEL_EXT (0x20)
|
||||
#define DMA_SEL_CLOCK_SEL_MASK (0x30)
|
||||
#define DMA_SEL_CLOCK_SEL_10MHz (0x00)
|
||||
#define DMA_SEL_CLOCK_SEL_6_67MHz (0x10)
|
||||
#define DMA_SEL_CLOCK_SEL_EXT (0x20)
|
||||
|
||||
WRITE32_MEMBER( ioc2_device::write )
|
||||
{
|
||||
@ -440,10 +440,10 @@ WRITE32_MEMBER( ioc2_device::write )
|
||||
{
|
||||
// Bits 2-0 not quite understood, seem to be copy/paste error in SGI's own documents:
|
||||
//
|
||||
// 5:4 RW Serial Port Clock Select: 00 selects a 10MHz internal clock (default), 01 selects a 6.67MHz internal clock, and 02 or 03 selects the external clock input.
|
||||
// 2 RW Parallel Port DMA Select. A high bit selects the Parallel Port DMA channel. 0\h is the default after reset. [this makes sense. -ed.]
|
||||
// 1 RW ISDN Channel B DMA Select. A high bit selects the Parallel Port DMA channel. 0\h is the default after reset. [is this a copy/paste error? perhaps "Parallel Port" should be "ISDN Channel B"?]
|
||||
// 0 RW [same text as above. Another copy/paste error, maybe? Should be channel A, with the bit selecting DMA channel 0/1 for ISDN channel A, the and the same for ISDN channel B in bit 1?]
|
||||
// 5:4 RW Serial Port Clock Select: 00 selects a 10MHz internal clock (default), 01 selects a 6.67MHz internal clock, and 02 or 03 selects the external clock input.
|
||||
// 2 RW Parallel Port DMA Select. A high bit selects the Parallel Port DMA channel. 0\h is the default after reset. [this makes sense. -ed.]
|
||||
// 1 RW ISDN Channel B DMA Select. A high bit selects the Parallel Port DMA channel. 0\h is the default after reset. [is this a copy/paste error? perhaps "Parallel Port" should be "ISDN Channel B"?]
|
||||
// 0 RW [same text as above. Another copy/paste error, maybe? Should be channel A, with the bit selecting DMA channel 0/1 for ISDN channel A, the and the same for ISDN channel B in bit 1?]
|
||||
uint8_t old = m_dma_sel;
|
||||
m_dma_sel = data;
|
||||
uint8_t diff = old ^ m_dma_sel;
|
||||
@ -559,8 +559,8 @@ INPUT_CHANGED_MEMBER( ioc2_device::volume_down )
|
||||
}
|
||||
}
|
||||
|
||||
#define IOC2_TAG "ioc2"
|
||||
#define RTC_TAG "ds1386"
|
||||
#define IOC2_TAG "ioc2"
|
||||
#define RTC_TAG "ds1386"
|
||||
|
||||
struct hpc3_t
|
||||
{
|
||||
|
@ -451,13 +451,13 @@ WRITE32_MEMBER(midvunit_state::midvunit_output_w)
|
||||
else if (strstr(m_galil_output,"MG \"Z\", _TSZ {$2.0}"))
|
||||
set_input("Z$00");
|
||||
/*else if (strstr(m_galil_output,"MG \"G\""))
|
||||
set_input("G");
|
||||
set_input("G");
|
||||
else if (strstr(m_galil_output,"MG \"W\""))
|
||||
set_input("W");
|
||||
set_input("W");
|
||||
else if (strstr(m_galil_output,"MG \"S\""))
|
||||
set_input("S");
|
||||
set_input("S");
|
||||
else if (strstr(m_galil_output,"MG \"Q\""))
|
||||
set_input("Q");*/
|
||||
set_input("Q");*/
|
||||
else
|
||||
set_input(":");
|
||||
logerror("Galil Command: %s\n", m_galil_output);
|
||||
|
@ -57,7 +57,7 @@ public:
|
||||
m_oki(*this, "oki"),
|
||||
m_hopper(*this, "hopper"),
|
||||
m_mainram(*this, "mainram"),
|
||||
// m_vram(*this, "vram"),
|
||||
// m_vram(*this, "vram"),
|
||||
m_palette(*this, "palette")
|
||||
{
|
||||
}
|
||||
@ -68,7 +68,7 @@ public:
|
||||
required_device<ticket_dispenser_device> m_hopper;
|
||||
|
||||
required_shared_ptr<uint32_t> m_mainram;
|
||||
// required_shared_ptr<uint32_t> m_vram;
|
||||
// required_shared_ptr<uint32_t> m_vram;
|
||||
uint8_t m_pal[0x200];
|
||||
uint32_t m_vram0[0x20000 / 4];
|
||||
uint32_t m_vram1[0x20000 / 4];
|
||||
@ -164,8 +164,8 @@ WRITE8_MEMBER(mjsenpu_state::control_w)
|
||||
// bit 0x01 alternates frequently, using as video buffer, but that's a complete guess
|
||||
m_control = data;
|
||||
|
||||
// if (data &~0x9e)
|
||||
// printf("control_w %02x\n", data);
|
||||
// if (data &~0x9e)
|
||||
// printf("control_w %02x\n", data);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(mjsenpu_state::mux_w)
|
||||
@ -506,7 +506,7 @@ READ32_MEMBER(mjsenpu_state::mjsenpu_speedup_r)
|
||||
}
|
||||
else
|
||||
{
|
||||
// printf("%08x\n", pc);
|
||||
// printf("%08x\n", pc);
|
||||
}
|
||||
|
||||
return m_mainram[0x23468/4];
|
||||
|
@ -360,7 +360,7 @@ static INPUT_PORTS_START( mjsister )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSW2") /* not on PCB */
|
||||
PORT_START("DSW2") /* not on PCB */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN0")
|
||||
|
@ -1243,7 +1243,7 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( scandal )
|
||||
// do not have the manual
|
||||
// do not have the manual
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSWA:1,2,3")
|
||||
PORT_DIPSETTING( 0x07, "1 (Easy)" )
|
||||
|
@ -625,7 +625,7 @@ static INPUT_PORTS_START( qmhayaku )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Character Display Test" ) PORT_DIPLOCATION("DSWA:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Graphic ROM Test" ) PORT_DIPLOCATION("DSWA:8") // manual states this is unused
|
||||
PORT_DIPNAME( 0x80, 0x80, "Graphic ROM Test" ) PORT_DIPLOCATION("DSWA:8") // manual states this is unused
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
|
@ -331,35 +331,35 @@ static INPUT_PORTS_START( niyanpai )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSWA:1,2")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSWA:1,2")
|
||||
PORT_DIPSETTING( 0x03, "1" )
|
||||
PORT_DIPSETTING( 0x02, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "4" )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSWA:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSWA:3,4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DSWA:5")
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DSWA:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, "Game Sounds" ) PORT_DIPLOCATION("DSWA:6")
|
||||
PORT_DIPNAME( 0x20, 0x00, "Game Sounds" ) PORT_DIPLOCATION("DSWA:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSWA:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSWA:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSWA:8")
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSWA:8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Nudity" ) PORT_DIPLOCATION("DSWB:1")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Nudity" ) PORT_DIPLOCATION("DSWB:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Graphic ROM Test" ) PORT_DIPLOCATION("DSWB:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "Graphic ROM Test" ) PORT_DIPLOCATION("DSWB:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
@ -458,50 +458,50 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( musobana ) // I don't have manual for this game.
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Game Out" ) PORT_DIPLOCATION("DSWA:1,2")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Game Out" ) PORT_DIPLOCATION("DSWA:1,2")
|
||||
PORT_DIPSETTING( 0x03, "90% (Easy)" )
|
||||
PORT_DIPSETTING( 0x02, "80%" )
|
||||
PORT_DIPSETTING( 0x01, "70%" )
|
||||
PORT_DIPSETTING( 0x00, "60% (Hard)" )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSWA:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSWA:3,4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 1-5" ) PORT_DIPLOCATION("DSWA:5")
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 1-5" ) PORT_DIPLOCATION("DSWA:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSWA:6")
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSWA:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 1-7" ) PORT_DIPLOCATION("DSWA:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 1-7" ) PORT_DIPLOCATION("DSWA:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Game Type" ) PORT_DIPLOCATION("DSWA:8")
|
||||
PORT_DIPNAME( 0x80, 0x00, "Game Type" ) PORT_DIPLOCATION("DSWA:8")
|
||||
PORT_DIPSETTING( 0x80, "Medal Type" )
|
||||
PORT_DIPSETTING( 0x00, "Credit Type" )
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Bet Min" ) PORT_DIPLOCATION("DSWB:1,2")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Bet Min" ) PORT_DIPLOCATION("DSWB:1,2")
|
||||
PORT_DIPSETTING( 0x03, "1" )
|
||||
PORT_DIPSETTING( 0x02, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x0c, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSWB:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSWB:3,4")
|
||||
PORT_DIPSETTING( 0x0c, "1" )
|
||||
PORT_DIPSETTING( 0x08, "5" )
|
||||
PORT_DIPSETTING( 0x04, "10" )
|
||||
PORT_DIPSETTING( 0x00, "20" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 2-5" ) PORT_DIPLOCATION("DSWB:5")
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 2-5" ) PORT_DIPLOCATION("DSWB:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Score Pool" ) PORT_DIPLOCATION("DSWB:6")
|
||||
PORT_DIPNAME( 0x20, 0x20, "Score Pool" ) PORT_DIPLOCATION("DSWB:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 2-7" ) PORT_DIPLOCATION("DSWB:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 2-7" ) PORT_DIPLOCATION("DSWB:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "DIPSW 2-8" ) PORT_DIPLOCATION("DSWB:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "DIPSW 2-8" ) PORT_DIPLOCATION("DSWB:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
@ -574,54 +574,54 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( mhhonban ) // I don't have manual for this game.
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DIPSW 1-1" ) PORT_DIPLOCATION("DSWA:1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DIPSW 1-1" ) PORT_DIPLOCATION("DSWA:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "DIPSW 1-2" ) PORT_DIPLOCATION("DSWA:2")
|
||||
PORT_DIPNAME( 0x02, 0x02, "DIPSW 1-2" ) PORT_DIPLOCATION("DSWA:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "DIPSW 1-3" ) PORT_DIPLOCATION("DSWA:3")
|
||||
PORT_DIPNAME( 0x04, 0x04, "DIPSW 1-3" ) PORT_DIPLOCATION("DSWA:3")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSWA:4")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSWA:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, "DIPSW 1-5" ) PORT_DIPLOCATION("DSWA:5")
|
||||
PORT_DIPNAME( 0x10, 0x00, "DIPSW 1-5" ) PORT_DIPLOCATION("DSWA:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSWA:6")
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSWA:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 1-7" ) PORT_DIPLOCATION("DSWA:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 1-7" ) PORT_DIPLOCATION("DSWA:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "DIPSW 1-8" ) PORT_DIPLOCATION("DSWA:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "DIPSW 1-8" ) PORT_DIPLOCATION("DSWA:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DIPSW 2-1" ) PORT_DIPLOCATION("DSWB:1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DIPSW 2-1" ) PORT_DIPLOCATION("DSWB:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "DIPSW 2-2" ) PORT_DIPLOCATION("DSWB:2")
|
||||
PORT_DIPNAME( 0x02, 0x02, "DIPSW 2-2" ) PORT_DIPLOCATION("DSWB:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "DIPSW 2-3" ) PORT_DIPLOCATION("DSWB:3")
|
||||
PORT_DIPNAME( 0x04, 0x04, "DIPSW 2-3" ) PORT_DIPLOCATION("DSWB:3")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "DIPSW 2-4" ) PORT_DIPLOCATION("DSWB:4")
|
||||
PORT_DIPNAME( 0x08, 0x08, "DIPSW 2-4" ) PORT_DIPLOCATION("DSWB:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 2-5" ) PORT_DIPLOCATION("DSWB:5")
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 2-5" ) PORT_DIPLOCATION("DSWB:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "DIPSW 2-6" ) PORT_DIPLOCATION("DSWB:6")
|
||||
PORT_DIPNAME( 0x20, 0x20, "DIPSW 2-6" ) PORT_DIPLOCATION("DSWB:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 2-7" ) PORT_DIPLOCATION("DSWB:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 2-7" ) PORT_DIPLOCATION("DSWB:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Option Test" ) PORT_DIPLOCATION("DSWB:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "Option Test" ) PORT_DIPLOCATION("DSWB:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
@ -640,54 +640,54 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( zokumahj ) // I don't have manual for this game.
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DIPSW 1-1" ) PORT_DIPLOCATION("DSWA:1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DIPSW 1-1" ) PORT_DIPLOCATION("DSWA:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "DIPSW 1-2" ) PORT_DIPLOCATION("DSWA:2")
|
||||
PORT_DIPNAME( 0x02, 0x02, "DIPSW 1-2" ) PORT_DIPLOCATION("DSWA:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "DIPSW 1-3" ) PORT_DIPLOCATION("DSWA:3")
|
||||
PORT_DIPNAME( 0x04, 0x04, "DIPSW 1-3" ) PORT_DIPLOCATION("DSWA:3")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSWA:4")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSWA:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 1-5" ) PORT_DIPLOCATION("DSWA:5")
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 1-5" ) PORT_DIPLOCATION("DSWA:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSWA:6")
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSWA:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 1-7" ) PORT_DIPLOCATION("DSWA:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 1-7" ) PORT_DIPLOCATION("DSWA:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "DIPSW 1-8" ) PORT_DIPLOCATION("DSWA:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "DIPSW 1-8" ) PORT_DIPLOCATION("DSWA:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DIPSW 2-1" ) PORT_DIPLOCATION("DSWB:1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DIPSW 2-1" ) PORT_DIPLOCATION("DSWB:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "DIPSW 2-2" ) PORT_DIPLOCATION("DSWB:2")
|
||||
PORT_DIPNAME( 0x02, 0x02, "DIPSW 2-2" ) PORT_DIPLOCATION("DSWB:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "DIPSW 2-3" ) PORT_DIPLOCATION("DSWB:3")
|
||||
PORT_DIPNAME( 0x04, 0x04, "DIPSW 2-3" ) PORT_DIPLOCATION("DSWB:3")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "DIPSW 2-4" ) PORT_DIPLOCATION("DSWB:4")
|
||||
PORT_DIPNAME( 0x08, 0x08, "DIPSW 2-4" ) PORT_DIPLOCATION("DSWB:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 2-5" ) PORT_DIPLOCATION("DSWB:5")
|
||||
PORT_DIPNAME( 0x10, 0x10, "DIPSW 2-5" ) PORT_DIPLOCATION("DSWB:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "DIPSW 2-6" ) PORT_DIPLOCATION("DSWB:6")
|
||||
PORT_DIPNAME( 0x20, 0x20, "DIPSW 2-6" ) PORT_DIPLOCATION("DSWB:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 2-7" ) PORT_DIPLOCATION("DSWB:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, "DIPSW 2-7" ) PORT_DIPLOCATION("DSWB:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Option Test" ) PORT_DIPLOCATION("DSWB:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "Option Test" ) PORT_DIPLOCATION("DSWB:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
|
@ -60,9 +60,9 @@ UNKNOWN IMPLEMENTATION DETAILS:
|
||||
// * 7220 pixel stretch / visible area looks odd (pixels stretched out too wide at 384 x 240. Compare the real SCRAM screenshot online)
|
||||
|
||||
// e. FIXME (MAME/MESS): what happens when the left screen is at 50 Hz and the right at 60 Hz?
|
||||
// According to Haze: "if you have 2 screens running at different refresh rates one of them won't update properly
|
||||
// (the partial update system gets very confused because it expects both the screens to end at the same time
|
||||
// and if that isn't the case large parts of one screen end up not updating at all)
|
||||
// According to Haze: "if you have 2 screens running at different refresh rates one of them won't update properly
|
||||
// (the partial update system gets very confused because it expects both the screens to end at the same time
|
||||
// and if that isn't the case large parts of one screen end up not updating at all)
|
||||
*/
|
||||
|
||||
// license:GPL-2.0+
|
||||
@ -351,29 +351,29 @@ W17 pulls J1 serial port pin 1 to GND when set (chassis to logical GND).
|
||||
#define GDC_SELECT_WRITE_BUFFER 0x01 // 0xFE
|
||||
#define GDC_SELECT_PATTERN_MULTIPLIER 0x02 // 0xFD
|
||||
#define GDC_SELECT_PATTERN 0x04 // 0xFB
|
||||
#define GDC_SELECT_FG_BG 0x08 // 0xF7
|
||||
#define GDC_SELECT_FG_BG 0x08 // 0xF7
|
||||
#define GDC_SELECT_ALU_PS 0x10 // 0xEF
|
||||
#define GDC_SELECT_COLOR_MAP 0x20 // 0xDF
|
||||
#define GDC_SELECT_MODE_REGISTER 0x40 // 0xBF
|
||||
#define GDC_SELECT_SCROLL_MAP 0x80 // 0x7F
|
||||
|
||||
// MODE REGISTER
|
||||
#define GDC_MODE_HIGHRES 0x01
|
||||
#define GDC_MODE_VECTOR 0x02
|
||||
#define GDC_MODE_HIGHRES 0x01
|
||||
#define GDC_MODE_VECTOR 0x02
|
||||
|
||||
// ( " ) READBACK OPERATION (if ENABLE_WRITES = 0):
|
||||
#define GDC_MODE_ENABLE_WRITES 0x10
|
||||
#define GDC_MODE_ENABLE_WRITES 0x10
|
||||
#define GDC_MODE_READONLY_SCROLL_MAP 0x20
|
||||
|
||||
// ( " ) READBACK OPERATION (plane select = bit mask in bits 2 + 3 of MODE register):
|
||||
#define GDC_MODE_READBACK_PLANE_MASK 12
|
||||
#define GDC_MODE_READBACK_PLANE_00 0x00
|
||||
#define GDC_MODE_READBACK_PLANE_01 0x04
|
||||
#define GDC_MODE_READBACK_PLANE_02 0x08
|
||||
#define GDC_MODE_READBACK_PLANE_03 0x0c
|
||||
#define GDC_MODE_READBACK_PLANE_00 0x00
|
||||
#define GDC_MODE_READBACK_PLANE_01 0x04
|
||||
#define GDC_MODE_READBACK_PLANE_02 0x08
|
||||
#define GDC_MODE_READBACK_PLANE_03 0x0c
|
||||
|
||||
#define GDC_MODE_ENABLE_VSYNC_IRQ 0x40
|
||||
#define GDC_MODE_ENABLE_VIDEO 0x80
|
||||
#define GDC_MODE_ENABLE_VIDEO 0x80
|
||||
|
||||
// ALU_PS REGISTER (bits 5 + 4):
|
||||
#define ALU_PS_MODE_MASK 48
|
||||
@ -684,22 +684,22 @@ private:
|
||||
|
||||
|
||||
// GDC RESET MACRO - used in "machine_reset" & GDC_EXTRA_REGISTER_w !
|
||||
#define GDC_RESET_MACRO \
|
||||
m_GDC_INDIRECT_REGISTER = 0; \
|
||||
m_GDC_MODE_REGISTER = 0; \
|
||||
m_GDC_WRITE_MASK = 0; \
|
||||
m_GDC_write_buffer_index = 0; \
|
||||
m_GDC_scroll_index = 0; \
|
||||
m_GDC_color_map_index = 0; \
|
||||
m_GDC_ALU_PS_REGISTER = 0; \
|
||||
m_vpat = 0; \
|
||||
m_patmult = 0; \
|
||||
m_patcnt = 0; \
|
||||
m_patidx = 7; \
|
||||
m_GDC_FG_BG = 0; \
|
||||
#define GDC_RESET_MACRO \
|
||||
m_GDC_INDIRECT_REGISTER = 0; \
|
||||
m_GDC_MODE_REGISTER = 0; \
|
||||
m_GDC_WRITE_MASK = 0; \
|
||||
m_GDC_write_buffer_index = 0; \
|
||||
m_GDC_scroll_index = 0; \
|
||||
m_GDC_color_map_index = 0; \
|
||||
m_GDC_ALU_PS_REGISTER = 0; \
|
||||
m_vpat = 0; \
|
||||
m_patmult = 0; \
|
||||
m_patcnt = 0; \
|
||||
m_patidx = 7; \
|
||||
m_GDC_FG_BG = 0; \
|
||||
m_color_map_changed = true; \
|
||||
for(int i=0; i <256; i++) { m_GDC_SCROLL_BUFFER[i] = m_GDC_SCROLL_BUFFER_PRELOAD[i] = i; };\
|
||||
m_scroll_buffer_changed = true; \
|
||||
m_scroll_buffer_changed = true; \
|
||||
printf("\n** NEC 7220 GDC RESET **\n");
|
||||
|
||||
UPD7220_DISPLAY_PIXELS_MEMBER( rainbow_state::hgdc_display_pixels )
|
||||
@ -723,13 +723,13 @@ UPD7220_DISPLAY_PIXELS_MEMBER( rainbow_state::hgdc_display_pixels )
|
||||
return; // no output from graphics option
|
||||
|
||||
// ********************* GET BITMAP DATA FOR 4 PLANES ***************************************
|
||||
// _READ_ BIT MAP from 2 or 4 planes (plane 0 is least, plane 3 most significant). See page 42 / 43
|
||||
// _READ_ BIT MAP from 2 or 4 planes (plane 0 is least, plane 3 most significant). See page 42 / 43
|
||||
if(m_GDC_MODE_REGISTER & GDC_MODE_HIGHRES)
|
||||
{
|
||||
// HIGH RES (2 planes, 2 color bits, 4 color map entries / 4 MONOCHROME SHADES)
|
||||
// MANUAL: (GDC "sees" 2 planes X 16 bits X 16K words)!
|
||||
|
||||
// !!! m_video_ram is defined as uint16_t !!!
|
||||
// !!! m_video_ram is defined as uint16_t !!!
|
||||
plane0 = m_video_ram[ ((address & 0x7fff) + 0x00000) >> 1 ]; // Video Ram is defined as LITTLE_ENDIAN, 16 (?):
|
||||
plane1 = m_video_ram[ ((address & 0x7fff) + 0x20000) >> 1 ]; // 8 x 32 K is 0x40000, see page 16
|
||||
plane2 = 0;
|
||||
@ -1196,7 +1196,7 @@ uint32_t rainbow_state::screen_update_rainbow(screen_device &screen, bitmap_ind1
|
||||
|
||||
#ifdef BOOST_DEBUG_PERFORMANCE
|
||||
uint8_t *ram = memregion("maincpu")->base();
|
||||
if( !(m_p_vol_ram[0x84] == 0x00) )
|
||||
if( !(m_p_vol_ram[0x84] == 0x00) )
|
||||
{
|
||||
if( (MOTOR_DISABLE_counter) || (ram[0xEFFFE] & 16) ) // if HDD/FDD ACTIVITY -OR- SMOOTH SCROLL IN PROGRESS
|
||||
return 0;
|
||||
@ -1204,14 +1204,14 @@ uint32_t rainbow_state::screen_update_rainbow(screen_device &screen, bitmap_ind1
|
||||
#endif
|
||||
|
||||
int monitor_selected = m_inp13->read();
|
||||
if(monitor_selected != old_monitor)
|
||||
if(monitor_selected != old_monitor)
|
||||
{
|
||||
old_monitor = monitor_selected;
|
||||
m_color_map_changed = true;
|
||||
}
|
||||
|
||||
int palette_selected = m_inp9->read();
|
||||
if(palette_selected != old_palette)
|
||||
if(palette_selected != old_palette)
|
||||
{
|
||||
old_palette = palette_selected;
|
||||
m_color_map_changed = true;
|
||||
@ -2366,19 +2366,19 @@ WRITE_LINE_MEMBER(rainbow_state::GDC_vblank_irq)
|
||||
for(xi=0;xi<16;xi++) // DELAYED LOAD OF PALETTE ...
|
||||
{
|
||||
uint8_t colordata1 = m_GDC_COLOR_MAP[xi];
|
||||
uint8_t colordata2 = m_GDC_COLOR_MAP[xi + 16]; // Does it matter if the palette is incomplete...?
|
||||
uint8_t colordata2 = m_GDC_COLOR_MAP[xi + 16]; // Does it matter if the palette is incomplete...?
|
||||
|
||||
// Color map: 32 x 8
|
||||
// 2nd 16 Byte 1st 16 Bytes (colordata1)
|
||||
// ----------- ------------
|
||||
// 7..4 3..0 7..4 3..0
|
||||
// Mono Blue Red Green
|
||||
// Color map: 32 x 8
|
||||
// 2nd 16 Byte 1st 16 Bytes (colordata1)
|
||||
// ----------- ------------
|
||||
// 7..4 3..0 7..4 3..0
|
||||
// Mono Blue Red Green
|
||||
mono = (colordata2 & 0xF0) >> 4; // FIXME: limit palette in appropriate modes on 100-A
|
||||
blue = (colordata2 & 0x0F);
|
||||
|
||||
red = (colordata1 & 0xF0) >> 4;
|
||||
green =(colordata1 & 0x0F);
|
||||
// NOTE: SECOND 16 BYTES ARE MONO PALETTE, _FIRST_ 16 ARE COLOR PALETTE * HERE * (on the VT240 driver, it is the other way round)
|
||||
// NOTE: SECOND 16 BYTES ARE MONO PALETTE, _FIRST_ 16 ARE COLOR PALETTE * HERE * (on the VT240 driver, it is the other way round)
|
||||
|
||||
switch( m_inp13->read())
|
||||
{
|
||||
@ -2498,13 +2498,13 @@ WRITE8_MEMBER(rainbow_state::diagnostic_w) // 8088 (port 0A WRITTEN). Fig.4-28 +
|
||||
// Switch determines how the monochrome output pin is taken from:
|
||||
// 0 = M(ono) out from system module (DC011/DC012). Default, also used to setup dual monitors.
|
||||
// 1 = M(ono) output from GRAPHICS OPTION. (G)reen remains unused with a single COLOR monitor.
|
||||
m_ONBOARD_GRAPHICS_SELECTED = (data & 0x04) ? false : true;
|
||||
m_ONBOARD_GRAPHICS_SELECTED = (data & 0x04) ? false : true;
|
||||
if(!m_ONBOARD_GRAPHICS_SELECTED)
|
||||
{
|
||||
if(m_inp7->read() == 1)
|
||||
printf("\nHINT: GRAPHICS OPTION ON. TEXT ONLY (DC011/DC012) OUTPUT NOW DISABLED.\n");
|
||||
else
|
||||
{ printf("\nALARM: GRAPHICS OPTION * SWITCHED OFF * VIA DIP. TEXT OUTPUT STILL ENABLED!\n");
|
||||
{ printf("\nALARM: GRAPHICS OPTION * SWITCHED OFF * VIA DIP. TEXT OUTPUT STILL ENABLED!\n");
|
||||
m_ONBOARD_GRAPHICS_SELECTED = true;
|
||||
}
|
||||
printf("DATA: %x (PC=%x)\n", data, machine().device("maincpu")->safe_pc());
|
||||
@ -2657,19 +2657,19 @@ READ16_MEMBER(rainbow_state::vram_r)
|
||||
//*******************************************************************************************************************************
|
||||
// NEW SCROLL_MAP - "valid for reading, writing, and refreshing"
|
||||
// SEE PAGE 48 OF PDF FOR A DESCRIPTION OF THE SCROLL_MAP / SCROLL BUFFER:
|
||||
offset = ( m_GDC_SCROLL_BUFFER[ ( (offset & 0x3FC0) >> 6 ) ] << 6) | (offset & 0x3F);
|
||||
offset = ( m_GDC_SCROLL_BUFFER[ ( (offset & 0x3FC0) >> 6 ) ] << 6) | (offset & 0x3F);
|
||||
//*******************************************************************************************************************************
|
||||
|
||||
int readback_plane = 0;
|
||||
|
||||
// READBACK CODE DISABLED, FOR BETTER DEBUGGING (CANT SEE ANYTHING...):
|
||||
if( !(m_GDC_MODE_REGISTER & GDC_MODE_ENABLE_WRITES) ) // 0x10 // READBACK OPERATION - if ENABLE_WRITES NOT SET
|
||||
if( !(m_GDC_MODE_REGISTER & GDC_MODE_ENABLE_WRITES) ) // 0x10 // READBACK OPERATION - if ENABLE_WRITES NOT SET
|
||||
{
|
||||
readback_plane = (m_GDC_MODE_REGISTER & GDC_MODE_READBACK_PLANE_MASK) >> 2; // READBACK PLANE 00..02, mask in bits 2+3
|
||||
// printf(" READBACK MODE * ON *; plane selected: %02x ", readback_plane);
|
||||
readback_plane = (m_GDC_MODE_REGISTER & GDC_MODE_READBACK_PLANE_MASK) >> 2; // READBACK PLANE 00..02, mask in bits 2+3
|
||||
// printf(" READBACK MODE * ON *; plane selected: %02x ", readback_plane);
|
||||
}
|
||||
return m_video_ram[ (offset & 0xffff) + (0x8000 * readback_plane)];
|
||||
//return m_video_ram[(offset & 0x7fff) + (0x8000 * readback_plane)]; // VT240
|
||||
//return m_video_ram[(offset & 0x7fff) + (0x8000 * readback_plane)]; // VT240
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -2728,19 +2728,19 @@ WRITE16_MEMBER(rainbow_state::vram_w)
|
||||
m_GDC_write_buffer_index &= 0xf;
|
||||
}
|
||||
|
||||
if(m_GDC_MODE_REGISTER & GDC_MODE_ENABLE_WRITES) // 0x10
|
||||
if(m_GDC_MODE_REGISTER & GDC_MODE_ENABLE_WRITES) // 0x10
|
||||
{
|
||||
// ALU_PS register: controls logic used in writing to the bitmap / inhibiting of writing to specified planes.
|
||||
// plane select and logic operations on write buffer... (and more) **** SEE PAGE 36 ****
|
||||
int ps = m_GDC_ALU_PS_REGISTER & 0x0F; // PLANE SELECT 0..3 // VT 240 : ~m_GDC_ALU_PS_REGISTER & 3;
|
||||
uint8_t fore = ( (m_GDC_FG_BG & 0xf0) ) >> 4;
|
||||
uint8_t back = (m_GDC_FG_BG & 0x0f); // background : 0..3 confirmed, see p.39 AA-AE36A (PDF)
|
||||
uint8_t fore = ( (m_GDC_FG_BG & 0xf0) ) >> 4;
|
||||
uint8_t back = (m_GDC_FG_BG & 0x0f); // background : 0..3 confirmed, see p.39 AA-AE36A (PDF)
|
||||
|
||||
for(int i = 0; i <= 3; i++)
|
||||
{
|
||||
if( BIT(ps,i ) )
|
||||
{
|
||||
uint16_t mem = m_video_ram[(offset & 0xffff) + (0x8000 * i)]; // VT240
|
||||
uint16_t mem = m_video_ram[(offset & 0xffff) + (0x8000 * i)]; // VT240
|
||||
|
||||
uint16_t out = 0; // VT240 : uint8_t
|
||||
for(int j = 0; j <= 15; j++) // REPLACE MODE : one replaced by FG, zero by BG ( 16 instead of 8 bit on VT240 )
|
||||
@ -2796,7 +2796,7 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
if(offset > 0) // Port $50 reset done @ boot ROM 1EB4/8 regardless if option present.
|
||||
if (m_inp7->read() != 1)
|
||||
{
|
||||
if(last_message != 1)
|
||||
if(last_message != 1)
|
||||
{
|
||||
printf("\nCOLOR GRAPHICS ADAPTER INVOKED. PLEASE TURN ON THE APPROPRIATE DIP SWITCH, THEN RESTART.\n");
|
||||
printf("OFFSET: %x (PC=%x)\n", 0x50 +offset , machine().device("maincpu")->safe_pc());
|
||||
@ -2808,7 +2808,7 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
switch(offset)
|
||||
{
|
||||
case 0: // Mode Register must be reloaded following any write to port 50 (software reset).
|
||||
// Graphics option software reset. Any write to this port also resynchronizes the
|
||||
// Graphics option software reset. Any write to this port also resynchronizes the
|
||||
// read/modify/write memory cycles of the Graphics Option to those of the GDC.
|
||||
GDC_RESET_MACRO
|
||||
break;
|
||||
@ -2816,7 +2816,7 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
case 1: // 51h - DATA loaded into register previously written to 53h.
|
||||
if(m_GDC_INDIRECT_REGISTER & GDC_SELECT_WRITE_BUFFER) // 0x01
|
||||
{
|
||||
m_GDC_write_buffer_index = 0; // (writing to 51h CLEARS the index counter)
|
||||
m_GDC_write_buffer_index = 0; // (writing to 51h CLEARS the index counter)
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2918,7 +2918,7 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
last_readback = data & GDC_MODE_ENABLE_WRITES;
|
||||
if(data & GDC_MODE_ENABLE_WRITES) // 0x10
|
||||
printf(" READBACK: OFF - ENABLE_WRITES ");
|
||||
else // READBACK PLANE 00..02 - mask in bits 2+3:
|
||||
else // READBACK PLANE 00..02 - mask in bits 2+3:
|
||||
printf(" READBACK MODE; plane = %02x ", m_GDC_MODE_REGISTER & GDC_MODE_READBACK_PLANE_MASK); // unsure if PLANE is set... already?!
|
||||
}
|
||||
|
||||
@ -2926,9 +2926,9 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
{
|
||||
last_scroll_index = m_GDC_scroll_index;
|
||||
if(data & GDC_MODE_READONLY_SCROLL_MAP) // 0x20
|
||||
{ //printf(" SCROLL MAP READ_ONLY. Index : %02x ", m_GDC_scroll_index);
|
||||
{ //printf(" SCROLL MAP READ_ONLY. Index : %02x ", m_GDC_scroll_index);
|
||||
} else
|
||||
{ printf(" SCROLL MAP IS WRITABLE. Index : %02x ", m_GDC_scroll_index);
|
||||
{ printf(" SCROLL MAP IS WRITABLE. Index : %02x ", m_GDC_scroll_index);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2939,7 +2939,7 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
} // GDC_SELECT_MODE_REGISTER
|
||||
|
||||
printf("\n* UNIMPLEMENTED CASE. MODE = %02x / m_GDC_INDIRECT_REGISTER = %02x\n",m_GDC_MODE_REGISTER, m_GDC_INDIRECT_REGISTER);
|
||||
break;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
// 52h Data written to this port is loaded into the Write Buffer
|
||||
@ -2953,13 +2953,13 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
m_GDC_write_buffer_index &= 0xf; // write up to 16 bytes to port 52h.
|
||||
break;
|
||||
|
||||
case 3: // 53h Indirect Register; address selection for indirect addressing. See 51h.
|
||||
case 3: // 53h Indirect Register; address selection for indirect addressing. See 51h.
|
||||
m_GDC_INDIRECT_REGISTER = data ^ 0xff;
|
||||
|
||||
// Index to WRITE_BUFFER is reset via dummy write to port 51h (not here!).
|
||||
|
||||
if(m_GDC_INDIRECT_REGISTER & GDC_SELECT_COLOR_MAP ) // 0x20
|
||||
m_GDC_color_map_index = 0; // (also clears the index counter)
|
||||
m_GDC_color_map_index = 0; // (also clears the index counter)
|
||||
// NEXT: 32 BYTE COLOR MAP, LOADED TO $51
|
||||
|
||||
if(m_GDC_INDIRECT_REGISTER & GDC_SELECT_SCROLL_MAP ) // 0x80
|
||||
@ -2969,12 +2969,12 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
last_scroll_index = m_GDC_scroll_index;
|
||||
printf(" *** SCROLL INDEX COUNTER RESET, old value = %d", m_GDC_scroll_index);
|
||||
}
|
||||
m_GDC_scroll_index = 0; // (also clears the index counter)
|
||||
m_GDC_scroll_index = 0; // (also clears the index counter)
|
||||
} // NEXT: LOAD 256 BYTE SCROLL MAP INTO $51
|
||||
break;
|
||||
|
||||
// --------- WRITE MASK (2 x 8 = 16 bits) USED IN WORD MODE ONLY !
|
||||
// NOTE: there is NO specific order for the WRITE_MASK (according to txt/code samples in PDF)!
|
||||
// NOTE: there is NO specific order for the WRITE_MASK (according to txt/code samples in PDF)!
|
||||
// !! NEW: LOW... HI JUXTAPOSITION...!!
|
||||
case 4: // 54h Write Mask LOW
|
||||
m_GDC_WRITE_MASK = ( BITSWAP8(data, 0, 1, 2, 3, 4, 5, 6, 7) << 8 ) | ( m_GDC_WRITE_MASK & 0x00FF );
|
||||
|
@ -1229,7 +1229,7 @@ static INPUT_PORTS_START( pdriftl )
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) // Affects how the z80 access memory at 0x2000-0x2***
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) // Affects how the z80 access memory at 0x2000-0x2***
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
|
@ -572,7 +572,7 @@ static ADDRESS_MAP_START( yutnori_map, AS_PROGRAM, 16, snowbros_state )
|
||||
AM_RANGE(0x30000c, 0x30000d) AM_WRITENOP
|
||||
AM_RANGE(0x30000e, 0x30000f) AM_READNOP //AM_READ( yutnori_unk_r ) // ??
|
||||
|
||||
// AM_RANGE(0x400000, 0x400001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // maybe?
|
||||
// AM_RANGE(0x400000, 0x400001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // maybe?
|
||||
AM_RANGE(0x400000, 0x400001) AM_NOP
|
||||
|
||||
AM_RANGE(0x500000, 0x5001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
@ -2013,7 +2013,7 @@ static MACHINE_CONFIG_START( yutnori, snowbros_state )
|
||||
MCFG_CPU_PROGRAM_MAP(yutnori_map)
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", snowbros_state, snowbros_irq, "screen", 0, 1)
|
||||
|
||||
// MCFG_WATCHDOG_ADD("watchdog") // maybe
|
||||
// MCFG_WATCHDOG_ADD("watchdog") // maybe
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -2979,19 +2979,19 @@ ROM_START( choroqhr ) // set to 1p
|
||||
STV_BIOS
|
||||
|
||||
ROM_REGION32_BE( 0x3000000, "cart", ROMREGION_ERASE00 ) /* SH2 code */
|
||||
ROM_LOAD16_WORD_SWAP( "ic22.bin", 0x0200000, 0x200000, CRC(fd04598b) SHA1(4797127869fafae0ecfddc07b1c1325b11ca981a) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic24.bin", 0x0400000, 0x200000, CRC(09b8a154) SHA1(cfd212c6fe6188b9c665650b21f2fd80cd65268f) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic26.bin", 0x0600000, 0x200000, CRC(136ca5e9) SHA1(8697a415d0958e58f5cea5dcc767dd6a4cbdef5c) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic28.bin", 0x0800000, 0x200000, CRC(3c949563) SHA1(ab2a9f9ec23071cc236dee945b436a9cd73efb92) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic30.bin", 0x0a00000, 0x200000, CRC(7e93078d) SHA1(10fa99029a3e741ea0fddcf00ee07b5fd039bf19) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic32.bin", 0x0c00000, 0x200000, BAD_DUMP CRC(d311c5f6) SHA1(c210463ae5b4bcc498de786e05dec245c0d3b46e) ) // ic7 bad
|
||||
ROM_LOAD16_WORD_SWAP( "ic22.bin", 0x0200000, 0x200000, CRC(fd04598b) SHA1(4797127869fafae0ecfddc07b1c1325b11ca981a) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic24.bin", 0x0400000, 0x200000, CRC(09b8a154) SHA1(cfd212c6fe6188b9c665650b21f2fd80cd65268f) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic26.bin", 0x0600000, 0x200000, CRC(136ca5e9) SHA1(8697a415d0958e58f5cea5dcc767dd6a4cbdef5c) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic28.bin", 0x0800000, 0x200000, CRC(3c949563) SHA1(ab2a9f9ec23071cc236dee945b436a9cd73efb92) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic30.bin", 0x0a00000, 0x200000, CRC(7e93078d) SHA1(10fa99029a3e741ea0fddcf00ee07b5fd039bf19) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic32.bin", 0x0c00000, 0x200000, BAD_DUMP CRC(d311c5f6) SHA1(c210463ae5b4bcc498de786e05dec245c0d3b46e) ) // ic7 bad
|
||||
//ROM_LOAD16_WORD_SWAP( "ic32.bad2.bin", 0x000000, 0x200000, CRC(76709d73) SHA1(a7805e956ee1a3701a803d0af082c33c89c26c3a) )
|
||||
//ROM_LOAD16_WORD_SWAP( "ic32.bad3.bin", 0x000000, 0x200000, CRC(b873cf3e) SHA1(8ed42a229e416125d7a2359faaea17208324feb0) )
|
||||
//ROM_LOAD16_WORD_SWAP( "ic32.bad4.bin", 0x000000, 0x200000, CRC(ed808ad4) SHA1(b00791ec3ee6255bccde171279a1a14e322d0e6d) )
|
||||
//ROM_LOAD16_WORD_SWAP( "ic32.bad5.bin", 0x000000, 0x200000, CRC(ed808ad4) SHA1(b00791ec3ee6255bccde171279a1a14e322d0e6d) )
|
||||
//ROM_LOAD16_WORD_SWAP( "ic32.bad6.bin", 0x000000, 0x200000, CRC(ed808ad4) SHA1(b00791ec3ee6255bccde171279a1a14e322d0e6d) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic34.bin", 0x0e00000, 0x200000, CRC(be2ed0a0) SHA1(a9225ba6b78fa0119fc6484828f4d4cc6ea05d8f) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic36.bin", 0x1000000, 0x200000, CRC(9a4109e5) SHA1(ba59caac5f5a80fc52c507d8a47f322a380aa9a1) )
|
||||
ROM_LOAD16_WORD_SWAP( "ic36.bin", 0x1000000, 0x200000, CRC(9a4109e5) SHA1(ba59caac5f5a80fc52c507d8a47f322a380aa9a1) )
|
||||
|
||||
ROM_REGION16_BE( 0x80, "eeprom", 0 ) // preconfigured to 1 player
|
||||
ROM_LOAD( "choroqhr.nv", 0x0000, 0x0080, CRC(69a71aea) SHA1(08ca9cd70fa3fa6c3156edd966a81244bad5f0c2) )
|
||||
@ -3640,7 +3640,7 @@ GAME( 1998, twsoc98, twcup98, stv_5881, stv, stv_state, twcup98, ROT
|
||||
GAME( 1996, magzun, stvbios, stv, stv, stv_state, magzun, ROT0, "Sega", "Magical Zunou Power (J 961031 V1.000)", MACHINE_NOT_WORKING | MACHINE_NODEVICE_MICROPHONE )
|
||||
GAME( 1997, techbowl, stvbios, stv, stv, stv_state, stv, ROT0, "Sega", "Technical Bowling (J 971212 V1.000)", MACHINE_NOT_WORKING )
|
||||
GAME( 1999, micrombc, stvbios, stv, stv, stv_state, stv, ROT0, "Sega", "Microman Battle Charge (J 990326 V1.000)", MACHINE_NOT_WORKING )
|
||||
GAME( 1998, choroqhr, stvbios, stv, stv, stv_state, stv, ROT0, "Sega / Takara", "Choro Q Hyper Racing 5 (J 981230 V1.000)", MACHINE_NOT_WORKING )
|
||||
GAME( 1998, choroqhr, stvbios, stv, stv, stv_state, stv, ROT0, "Sega / Takara", "Choro Q Hyper Racing 5 (J 981230 V1.000)", MACHINE_NOT_WORKING )
|
||||
|
||||
/* CD games */
|
||||
GAME( 1995, sfish2, 0, stv, stv, stv_state, stv, ROT0, "Sega", "Sport Fishing 2 (UET 951106 V1.10e)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
|
||||
|
@ -1098,7 +1098,7 @@ WRITE16_MEMBER(subsino2_state::humlan_outputs_w)
|
||||
break;
|
||||
}
|
||||
|
||||
// popmessage("0: %04x", m_outputs16[0]);
|
||||
// popmessage("0: %04x", m_outputs16[0]);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( humlan_map, AS_PROGRAM, 16, subsino2_state )
|
||||
@ -2646,8 +2646,8 @@ DRIVER_INIT_MEMBER(subsino2_state,new2001)
|
||||
rom[0x19A2/2] = 0x4066;
|
||||
|
||||
// rts -> rte
|
||||
rom[0x45E8/2] = 0x5670; // IRQ 8
|
||||
rom[0x471C/2] = 0x5670; // IRQ 0
|
||||
rom[0x45E8/2] = 0x5670; // IRQ 8
|
||||
rom[0x471C/2] = 0x5670; // IRQ 0
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
@ -2686,8 +2686,8 @@ DRIVER_INIT_MEMBER(subsino2_state,humlan)
|
||||
rom[0x170A/2] = 0x4066;
|
||||
|
||||
// rts -> rte
|
||||
rom[0x38B4/2] = 0x5670; // IRQ 8
|
||||
rom[0x3A08/2] = 0x5670; // IRQ 0
|
||||
rom[0x38B4/2] = 0x5670; // IRQ 8
|
||||
rom[0x3A08/2] = 0x5670; // IRQ 0
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -2,14 +2,14 @@
|
||||
// copyright-holders:Ryan Holtz
|
||||
/**************************************************************************
|
||||
|
||||
VeriFone Tranz 330
|
||||
VeriFone Tranz 330
|
||||
|
||||
All information gleaned from:
|
||||
http://www.bigmessowires.com/2011/05/10/mapping-the-tranz-330/
|
||||
All information gleaned from:
|
||||
http://www.bigmessowires.com/2011/05/10/mapping-the-tranz-330/
|
||||
|
||||
Currently sits in a loop doing very little, based on the disassembly
|
||||
it presumably needs some kind of interrupt in order to kick it into
|
||||
running.
|
||||
Currently sits in a loop doing very little, based on the disassembly
|
||||
it presumably needs some kind of interrupt in order to kick it into
|
||||
running.
|
||||
|
||||
Interrupt Vectors are located at 0200-02FF.
|
||||
Display ram at 9000-90FF says GRAMING ERR 0 (part of PROGRAMING ERR message)
|
||||
@ -39,28 +39,28 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( tranz330 )
|
||||
PORT_START("COL.0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_1) PORT_NAME("1 QZ.")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_4) PORT_NAME("4 GHI")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_7) PORT_NAME("7 PRS")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_ASTERISK) PORT_NAME("* ,'\"")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_1) PORT_NAME("1 QZ.")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_4) PORT_NAME("4 GHI")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_7) PORT_NAME("7 PRS")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_ASTERISK) PORT_NAME("* ,'\"")
|
||||
|
||||
PORT_START("COL.1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_2) PORT_NAME("2 ABC")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_5) PORT_NAME("5 JKL")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_CODE(KEYCODE_8) PORT_NAME("8 TUV")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_CODE(KEYCODE_0) PORT_NAME("0 -SP")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_2) PORT_NAME("2 ABC")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_5) PORT_NAME("5 JKL")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_CODE(KEYCODE_8) PORT_NAME("8 TUV")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_CODE(KEYCODE_0) PORT_NAME("0 -SP")
|
||||
|
||||
PORT_START("COL.2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_CODE(KEYCODE_3) PORT_NAME("3 DEF")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_6) PORT_NAME("6 MNO")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_9) PORT_NAME("9 WXY")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_CODE(KEYCODE_H) PORT_NAME("#") // KEYCODE_H for 'hash mark'
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_CODE(KEYCODE_3) PORT_NAME("3 DEF")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_6) PORT_NAME("6 MNO")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_9) PORT_NAME("9 WXY")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_CODE(KEYCODE_H) PORT_NAME("#") // KEYCODE_H for 'hash mark'
|
||||
|
||||
PORT_START("COL.3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_CODE(KEYCODE_C) PORT_NAME("CLEAR") // KEYCODE_C so as to not collide with potentially-used UI keys
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("BACK SPACE")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON16 ) PORT_CODE(KEYCODE_A) PORT_NAME("ALPHA")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("FUNC | ENTER")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_CODE(KEYCODE_C) PORT_NAME("CLEAR") // KEYCODE_C so as to not collide with potentially-used UI keys
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("BACK SPACE")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON16 ) PORT_CODE(KEYCODE_A) PORT_NAME("ALPHA")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("FUNC | ENTER")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -38,7 +38,7 @@ public:
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
// virtual void device_validity_check(validity_checker &valid) const;
|
||||
// virtual void device_validity_check(validity_checker &valid) const;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
};
|
||||
|
@ -62,7 +62,7 @@ public:
|
||||
DECLARE_READ16_MEMBER( link_r );
|
||||
DECLARE_READ16_MEMBER( link2_r );
|
||||
DECLARE_WRITE16_MEMBER( link2_w );
|
||||
// DECLARE_READ8_MEMBER( link_portc0_r );
|
||||
// DECLARE_READ8_MEMBER( link_portc0_r );
|
||||
|
||||
// game-specific output handlers
|
||||
void gforce2_output_cb1(uint16_t data);
|
||||
|
@ -19,14 +19,14 @@
|
||||
#include "sound/speaker.h"
|
||||
#include "machine/clock.h"
|
||||
|
||||
#define CPU_TAG "cpu"
|
||||
#define DART_TAG "dart"
|
||||
#define CTC_TAG "ctc"
|
||||
#define PIO_TAG "pio"
|
||||
#define RTC_TAG "rtc"
|
||||
#define VFD_TAG "vfd"
|
||||
#define RS232_TAG "rs232"
|
||||
#define SPEAKER_TAG "speaker"
|
||||
#define CPU_TAG "cpu"
|
||||
#define DART_TAG "dart"
|
||||
#define CTC_TAG "ctc"
|
||||
#define PIO_TAG "pio"
|
||||
#define RTC_TAG "rtc"
|
||||
#define VFD_TAG "vfd"
|
||||
#define RS232_TAG "rs232"
|
||||
#define SPEAKER_TAG "speaker"
|
||||
|
||||
class tranz330_state : public driver_device
|
||||
{
|
||||
@ -57,17 +57,17 @@ public:
|
||||
DECLARE_READ8_MEMBER( card_r );
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_cpu;
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
required_device<z80dart_device> m_dart;
|
||||
required_device<z80pio_device> m_pio;
|
||||
required_device<msm6242_device> m_rtc;
|
||||
required_device<mic10937_t> m_vfd;
|
||||
required_device<rs232_port_device> m_rs232;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_ioport_array<4> m_keypad;
|
||||
required_device<cpu_device> m_cpu;
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
required_device<z80dart_device> m_dart;
|
||||
required_device<z80pio_device> m_pio;
|
||||
required_device<msm6242_device> m_rtc;
|
||||
required_device<mic10937_t> m_vfd;
|
||||
required_device<rs232_port_device> m_rs232;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_ioport_array<4> m_keypad;
|
||||
|
||||
uint8_t m_keypad_col_mask;
|
||||
uint8_t m_keypad_col_mask;
|
||||
};
|
||||
|
||||
#endif // VERIFONE_TRANZ330_H
|
||||
|
@ -11,127 +11,127 @@
|
||||
</element>
|
||||
|
||||
<element name="stop1" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="HOLD 1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="STOP 1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="STOP 1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="TAKE">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="TAKE">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="stop2" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="HOLD 2">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 2">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="STOP 2">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="STOP 2">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="BIG">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="BIG">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="stop3" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="HOLD 3">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 3">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="STOP 3">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="STOP 3">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="SMALL">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="SMALL">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="hold4" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="HOLD 4">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 4">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="DOUBLE">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="DOUBLE">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="hold5" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="HOLD 5">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 5">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="BET">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="BET">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="start1" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="START">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="START">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<view name="Simple Artwork">
|
||||
@ -140,48 +140,48 @@
|
||||
<bounds left="0" right="400" top="0" bottom="300" />
|
||||
</screen>
|
||||
|
||||
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) (port IN1) -->
|
||||
<bezel name="lamp1" element="start1" inputtag="IN1" inputmask="0x40">
|
||||
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) (port IN1) -->
|
||||
<bezel name="lamp1" element="start1" inputtag="IN1" inputmask="0x40">
|
||||
<bounds x="10" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Hold 1, Take, Odds, Stop 1") -->
|
||||
<bezel name="lamp5" element="stop1" inputtag="IN0" inputmask="0x10">
|
||||
<bounds x="30" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
<!-- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Hold 1, Take, Odds, Stop 1") -->
|
||||
<bezel name="lamp5" element="stop1" inputtag="IN0" inputmask="0x10">
|
||||
<bounds x="30" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 2, Big, Stop 2") -->
|
||||
<bezel name="lamp3" element="stop2" inputtag="IN0" inputmask="0x80">
|
||||
<bounds x="50" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
<!-- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 2, Big, Stop 2") -->
|
||||
<bezel name="lamp3" element="stop2" inputtag="IN0" inputmask="0x80">
|
||||
<bounds x="50" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 3, Small, Stop 3") -->
|
||||
<bezel name="lamp2" element="stop3" inputtag="IN0" inputmask="0x40">
|
||||
<bounds x="70" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 3, Small, Stop 3") -->
|
||||
<bezel name="lamp2" element="stop3" inputtag="IN0" inputmask="0x40">
|
||||
<bounds x="70" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 4, Double") -->
|
||||
<bezel name="lamp4" element="hold4" inputtag="IN0" inputmask="0x20">
|
||||
<bounds x="90" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
<!-- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 4, Double") -->
|
||||
<bezel name="lamp4" element="hold4" inputtag="IN0" inputmask="0x20">
|
||||
<bounds x="90" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hold 5, Bet") -->
|
||||
<bezel name="lamp0" element="hold5" inputtag="IN0" inputmask="0x01" >
|
||||
<bounds x="110" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
<!-- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hold 5, Bet") -->
|
||||
<bezel name="lamp0" element="hold5" inputtag="IN0" inputmask="0x01" >
|
||||
<bounds x="110" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- gets set when displaying a hand in poker, doesn't seem button related -->
|
||||
<!-- gets set when displaying a hand in poker, doesn't seem button related -->
|
||||
<!--
|
||||
<bezel name="lamp6" element="bluelamp">
|
||||
<bounds x="130" y="312" width="16" height="16" />
|
||||
<bezel name="lamp6" element="bluelamp">
|
||||
<bounds x="130" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
-->
|
||||
-->
|
||||
|
||||
<!-- always set, maybe cabinet marquee or just global enable? -->
|
||||
<!-- always set, maybe cabinet marquee or just global enable? -->
|
||||
<!--
|
||||
<bezel name="lamp7" element="bluelamp">
|
||||
<bounds x="150" y="312" width="16" height="16" />
|
||||
<bezel name="lamp7" element="bluelamp">
|
||||
<bounds x="150" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
-->
|
||||
-->
|
||||
</view>
|
||||
</mamelayout>
|
||||
|
@ -460,10 +460,10 @@ WRITE8_MEMBER(sms_state::smsj_audio_control_w)
|
||||
m_smsj_audio_control = data & 0x03;
|
||||
|
||||
/* Mute settings:
|
||||
0,0 : PSG only (power-on default)
|
||||
0,1 : FM only
|
||||
1,0 : Both PSG and FM disabled
|
||||
1,1 : Both PSG and FM enabled
|
||||
0,0 : PSG only (power-on default)
|
||||
0,1 : FM only
|
||||
1,0 : Both PSG and FM disabled
|
||||
1,1 : Both PSG and FM enabled
|
||||
*/
|
||||
if (m_smsj_audio_control == 0x00 || m_smsj_audio_control == 0x03)
|
||||
m_psg_sms->set_output_gain(ALL_OUTPUTS, 1.0);
|
||||
|
@ -33698,7 +33698,7 @@ twinadv // (c) 1995 Barko Corp
|
||||
twinadvk // (c) 1995 Barko Corp
|
||||
twinkle // (c) 1997 SemiCom
|
||||
wintbob // bootleg
|
||||
yutnori // (c) 199? yutnori
|
||||
yutnori // (c) 199? yutnori
|
||||
|
||||
@source:socrates.cpp
|
||||
iqunlimz // 1991 IQ Unlimited (Z80)
|
||||
@ -34145,7 +34145,7 @@ stuntair // (c) 1983 Nuova Videotron
|
||||
astrass // 1998.06 Astra Super Stars (Sunsoft)
|
||||
bakubaku // 1995.04 Bakubaku Animal
|
||||
batmanfr // 1996.02 Batman Forever (Acclaim)
|
||||
choroqhr // 1998.12 Choro Q Hyper Racing Five (Takara)
|
||||
choroqhr // 1998.12 Choro Q Hyper Racing Five (Takara)
|
||||
colmns97 // 1997.01 Columns 97
|
||||
cotton2 // 1997.11 Cotton 2 (Success)
|
||||
cottonbm // 1998.09 Cotton Boomerang (Success)
|
||||
|
@ -3489,12 +3489,12 @@ int nv2a_renderer::geforce_exec_method(address_space & space, uint32_t chanel, u
|
||||
first create a row vector with components (x,y,z,1) then multiply the vector by the matrix
|
||||
transformed = rowvector * matrix
|
||||
in direct3d the matrix is stored as the sequence (first digit row, second digit column)
|
||||
11 12 13 14
|
||||
21 22 23 24
|
||||
31 32 33 34
|
||||
41 42 43 44
|
||||
11 12 13 14
|
||||
21 22 23 24
|
||||
31 32 33 34
|
||||
41 42 43 44
|
||||
but it is sent transposed as the sequence
|
||||
11 21 31 41 12 22 32 42 13 23 33 43 14 24 34 44
|
||||
11 21 31 41 12 22 32 42 13 23 33 43 14 24 34 44
|
||||
so in matrix.modelview[x][y] x is the column and y is the row of the direct3d matrix
|
||||
*/
|
||||
*(uint32_t *)(&matrix.modelview[maddress >> 2][maddress & 3]) = data;
|
||||
|
@ -39,7 +39,7 @@ public:
|
||||
void start()
|
||||
{
|
||||
m_clients->insert(shared_from_this());
|
||||
do_read();
|
||||
do_read();
|
||||
}
|
||||
|
||||
private:
|
||||
@ -51,32 +51,32 @@ private:
|
||||
|
||||
void do_read()
|
||||
{
|
||||
auto self(shared_from_this());
|
||||
m_socket.async_read_some(asio::buffer(m_input_m_data, max_length),
|
||||
[this, self](std::error_code ec, std::size_t length)
|
||||
{
|
||||
if (!ec)
|
||||
{
|
||||
do_read();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_clients->erase(shared_from_this());
|
||||
}
|
||||
});
|
||||
auto self(shared_from_this());
|
||||
m_socket.async_read_some(asio::buffer(m_input_m_data, max_length),
|
||||
[this, self](std::error_code ec, std::size_t length)
|
||||
{
|
||||
if (!ec)
|
||||
{
|
||||
do_read();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_clients->erase(shared_from_this());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void do_write(std::size_t length)
|
||||
{
|
||||
auto self(shared_from_this());
|
||||
asio::async_write(m_socket, asio::buffer(m_data, length),
|
||||
[this, self](std::error_code ec, std::size_t /*length*/)
|
||||
{
|
||||
if (ec)
|
||||
{
|
||||
m_clients->erase(shared_from_this());
|
||||
}
|
||||
});
|
||||
auto self(shared_from_this());
|
||||
asio::async_write(m_socket, asio::buffer(m_data, length),
|
||||
[this, self](std::error_code ec, std::size_t /*length*/)
|
||||
{
|
||||
if (ec)
|
||||
{
|
||||
m_clients->erase(shared_from_this());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
asio::ip::tcp::socket m_socket;
|
||||
@ -90,30 +90,30 @@ class output_network_server
|
||||
{
|
||||
public:
|
||||
output_network_server(asio::io_context& io_context, short port) :
|
||||
m_acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), port))
|
||||
m_acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), port))
|
||||
{
|
||||
do_accept();
|
||||
do_accept();
|
||||
}
|
||||
|
||||
void deliver_to_all(std::string msg)
|
||||
{
|
||||
for (auto client: m_clients)
|
||||
client->deliver(msg);
|
||||
client->deliver(msg);
|
||||
}
|
||||
|
||||
private:
|
||||
void do_accept()
|
||||
{
|
||||
m_acceptor.async_accept(
|
||||
[this](std::error_code ec, asio::ip::tcp::socket socket)
|
||||
{
|
||||
if (!ec)
|
||||
{
|
||||
std::make_shared<output_session>(std::move(socket),&m_clients)->start();
|
||||
}
|
||||
m_acceptor.async_accept(
|
||||
[this](std::error_code ec, asio::ip::tcp::socket socket)
|
||||
{
|
||||
if (!ec)
|
||||
{
|
||||
std::make_shared<output_session>(std::move(socket),&m_clients)->start();
|
||||
}
|
||||
|
||||
do_accept();
|
||||
});
|
||||
do_accept();
|
||||
});
|
||||
}
|
||||
|
||||
asio::ip::tcp::acceptor m_acceptor;
|
||||
|
@ -34,8 +34,8 @@ namespace
|
||||
{
|
||||
}
|
||||
|
||||
const T *string() const { return m_str; }; // returns pointer to actual characters
|
||||
int char_count() const { return m_char_count; } // returns the character count (including NUL terminater), or -1 if NUL terminated
|
||||
const T *string() const { return m_str; }; // returns pointer to actual characters
|
||||
int char_count() const { return m_char_count; } // returns the character count (including NUL terminater), or -1 if NUL terminated
|
||||
|
||||
private:
|
||||
const T *m_str;
|
||||
|
@ -128,7 +128,7 @@ static imgtoolerr_t imgtool_floppy_open_internal(imgtool::image &image, imgtool:
|
||||
err = imgtool_floppy_error(ferr);
|
||||
goto done;
|
||||
}
|
||||
f = nullptr; // the floppy object has the stream now
|
||||
f = nullptr; // the floppy object has the stream now
|
||||
|
||||
if (open)
|
||||
{
|
||||
@ -179,7 +179,7 @@ static imgtoolerr_t imgtool_floppy_create(imgtool::image &image, imgtool::stream
|
||||
err = imgtool_floppy_error(ferr);
|
||||
goto done;
|
||||
}
|
||||
f = nullptr; // the floppy object has the stream now
|
||||
f = nullptr; // the floppy object has the stream now
|
||||
|
||||
// do we have to do extra stuff when creating the image?
|
||||
if (create)
|
||||
|
@ -80,7 +80,7 @@ char *strncatz(char *dest, const char *source, size_t len)
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// markerrorsource - marks where an error source
|
||||
// markerrorsource - marks where an error source
|
||||
//-------------------------------------------------
|
||||
|
||||
static imgtoolerr_t markerrorsource(imgtoolerr_t err)
|
||||
@ -106,7 +106,7 @@ static imgtoolerr_t markerrorsource(imgtoolerr_t err)
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// internal_error - debug function for raising
|
||||
// internal_error - debug function for raising
|
||||
// internal errors
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -119,7 +119,7 @@ static void internal_error(const imgtool_module *module, const char *message)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// normalize_filename - convert a filename to the
|
||||
// normalize_filename - convert a filename to the
|
||||
// native format used by the module
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -136,7 +136,7 @@ char *imgtool::partition::normalize_filename(const char *src)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool_init - initializes the imgtool core
|
||||
// imgtool_init - initializes the imgtool core
|
||||
//-------------------------------------------------
|
||||
|
||||
void imgtool_init(bool omit_untested, void (*warn)(const char *message))
|
||||
@ -155,7 +155,7 @@ void imgtool_init(bool omit_untested, void (*warn)(const char *message))
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool_exit - closes out the imgtool core
|
||||
// imgtool_exit - closes out the imgtool core
|
||||
//-------------------------------------------------
|
||||
|
||||
void imgtool_exit(void)
|
||||
@ -169,7 +169,7 @@ void imgtool_exit(void)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool_find_module - looks up a module
|
||||
// imgtool_find_module - looks up a module
|
||||
//-------------------------------------------------
|
||||
|
||||
const imgtool_module *imgtool_find_module(const std::string &modulename)
|
||||
@ -179,7 +179,7 @@ const imgtool_module *imgtool_find_module(const std::string &modulename)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool_find_module - looks up a module
|
||||
// imgtool_find_module - looks up a module
|
||||
//-------------------------------------------------
|
||||
|
||||
const imgtool::library::modulelist &imgtool_get_modules()
|
||||
@ -189,7 +189,7 @@ const imgtool::library::modulelist &imgtool_get_modules()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool_get_module_features - retrieves a
|
||||
// imgtool_get_module_features - retrieves a
|
||||
// structure identifying this module's features
|
||||
// associated with an image
|
||||
//-------------------------------------------------
|
||||
@ -213,7 +213,7 @@ imgtool_module_features imgtool_get_module_features(const imgtool_module *module
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool_warn - issues a warning
|
||||
// imgtool_warn - issues a warning
|
||||
//-------------------------------------------------
|
||||
|
||||
void imgtool_warn(const char *format, ...)
|
||||
@ -233,7 +233,7 @@ void imgtool_warn(const char *format, ...)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// evaluate_module - evaluates a single file to
|
||||
// evaluate_module - evaluates a single file to
|
||||
// determine what module can best handle a file
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -290,7 +290,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// identify_file - attempts to determine the module
|
||||
// identify_file - attempts to determine the module
|
||||
// for any given image
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -357,7 +357,7 @@ imgtoolerr_t imgtool::image::identify_file(const char *fname, imgtool_module **m
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// get_geometry - gets the geometry
|
||||
// get_geometry - gets the geometry
|
||||
// of an image; note that this may disagree with
|
||||
// particular sectors; this is a common copy
|
||||
// protection scheme
|
||||
@ -388,7 +388,7 @@ imgtoolerr_t imgtool::image::get_geometry(uint32_t *tracks, uint32_t *heads, uin
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// read_sector - reads a sector on an image
|
||||
// read_sector - reads a sector on an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::read_sector(uint32_t track, uint32_t head,
|
||||
@ -404,7 +404,7 @@ imgtoolerr_t imgtool::image::read_sector(uint32_t track, uint32_t head,
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// write_sector - writes a sector on an image
|
||||
// write_sector - writes a sector on an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::write_sector(uint32_t track, uint32_t head,
|
||||
@ -420,8 +420,8 @@ imgtoolerr_t imgtool::image::write_sector(uint32_t track, uint32_t head,
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// get_block_size - gets the size of a standard
|
||||
// block on an image
|
||||
// get_block_size - gets the size of a standard
|
||||
// block on an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::get_block_size(uint32_t &length)
|
||||
@ -436,7 +436,7 @@ imgtoolerr_t imgtool::image::get_block_size(uint32_t &length)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// read_block - reads a standard block on an image
|
||||
// read_block - reads a standard block on an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::read_block(uint64_t block, void *buffer)
|
||||
@ -450,7 +450,7 @@ imgtoolerr_t imgtool::image::read_block(uint64_t block, void *buffer)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// write_block - writes a standard block on an image
|
||||
// write_block - writes a standard block on an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::write_block(uint64_t block, const void *buffer)
|
||||
@ -464,7 +464,7 @@ imgtoolerr_t imgtool::image::write_block(uint64_t block, const void *buffer)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// clear_block - clears a standard block on an image
|
||||
// clear_block - clears a standard block on an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::clear_block(uint64_t block, uint8_t data)
|
||||
@ -497,7 +497,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// list_partitions - lists the partitions on an image
|
||||
// list_partitions - lists the partitions on an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::list_partitions(std::vector<imgtool::partition_info> &partitions)
|
||||
@ -512,7 +512,7 @@ imgtoolerr_t imgtool::image::list_partitions(std::vector<imgtool::partition_info
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// malloc - allocates memory associated with an image
|
||||
// malloc - allocates memory associated with an image
|
||||
//-------------------------------------------------
|
||||
|
||||
void *imgtool::image::malloc(size_t size)
|
||||
@ -522,7 +522,7 @@ void *imgtool::image::malloc(size_t size)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool::image::rand - returns a random number
|
||||
// imgtool::image::rand - returns a random number
|
||||
//-------------------------------------------------
|
||||
|
||||
uint64_t imgtool::image::rand()
|
||||
@ -544,7 +544,7 @@ uint64_t imgtool::image::rand()
|
||||
***************************************************************************/
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool::partition ctor
|
||||
// imgtool::partition ctor
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::partition::partition(imgtool::image &image, imgtool_class &imgclass, int partition_index, uint64_t base_block, uint64_t block_count)
|
||||
@ -606,7 +606,7 @@ imgtool::partition::partition(imgtool::image &image, imgtool_class &imgclass, in
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool::partition dtor
|
||||
// imgtool::partition dtor
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::partition::~partition()
|
||||
@ -615,7 +615,7 @@ imgtool::partition::~partition()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// open - opens a partition
|
||||
// open - opens a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::partition::open(imgtool::image &image, int partition_index, imgtool::partition::ptr &partition)
|
||||
@ -692,8 +692,8 @@ done:
|
||||
***************************************************************************/
|
||||
|
||||
//-------------------------------------------------
|
||||
// get_attribute_name - retrieves the human readable
|
||||
// name for an attribute
|
||||
// get_attribute_name - retrieves the human readable
|
||||
// name for an attribute
|
||||
//-------------------------------------------------
|
||||
|
||||
void imgtool::partition::get_attribute_name(uint32_t attribute, const imgtool_attribute *attr_value,
|
||||
@ -967,7 +967,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// open - open an image
|
||||
// open - open an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::open(const imgtool_module *module, const char *filename, int read_or_write, ptr &outimg)
|
||||
@ -978,7 +978,7 @@ imgtoolerr_t imgtool::image::open(const imgtool_module *module, const char *file
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool::image::open_byname - open an image
|
||||
// imgtool::image::open_byname - open an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::open(const std::string &modulename, const char *filename, int read_or_write, ptr &outimg)
|
||||
@ -994,7 +994,7 @@ imgtoolerr_t imgtool::image::open(const std::string &modulename, const char *fil
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool::image::image
|
||||
// imgtool::image::image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::image::image(const imgtool_module &module, object_pool *pool, void *extra_bytes)
|
||||
@ -1007,7 +1007,7 @@ imgtool::image::image(const imgtool_module &module, object_pool *pool, void *ext
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool::image::~image
|
||||
// imgtool::image::~image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::image::~image()
|
||||
@ -1019,7 +1019,7 @@ imgtool::image::~image()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// create - creates an image
|
||||
// create - creates an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::create(const imgtool_module *module, const char *fname,
|
||||
@ -1044,7 +1044,7 @@ imgtoolerr_t imgtool::image::create(const imgtool_module *module, const char *fn
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// create - creates an image
|
||||
// create - creates an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::create(const std::string &modulename, const char *fname, util::option_resolution *opts, ptr &image)
|
||||
@ -1060,7 +1060,7 @@ imgtoolerr_t imgtool::image::create(const std::string &modulename, const char *f
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// create - creates an image
|
||||
// create - creates an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::create(const imgtool_module *module, const char *fname,
|
||||
@ -1072,7 +1072,7 @@ imgtoolerr_t imgtool::image::create(const imgtool_module *module, const char *fn
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// create - creates an image
|
||||
// create - creates an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::image::create(const std::string &modulename, const char *fname, util::option_resolution *opts)
|
||||
@ -1083,7 +1083,7 @@ imgtoolerr_t imgtool::image::create(const std::string &modulename, const char *f
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// info - returns format specific information about an image
|
||||
// info - returns format specific information about an image
|
||||
//-------------------------------------------------
|
||||
|
||||
std::string imgtool::image::info()
|
||||
@ -1105,7 +1105,7 @@ std::string imgtool::image::info()
|
||||
#define PATH_CANBEBOOTBLOCK 0x00000004
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::cannonicalize_path - normalizes a path string
|
||||
// partition::cannonicalize_path - normalizes a path string
|
||||
// into a NUL delimited list
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1188,7 +1188,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::cannonicalize_fork
|
||||
// partition::cannonicalize_fork
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::partition::cannonicalize_fork(const char **fork)
|
||||
@ -1211,7 +1211,7 @@ imgtoolerr_t imgtool::partition::cannonicalize_fork(const char **fork)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_directory_entry - retrieves
|
||||
// partition::get_directory_entry - retrieves
|
||||
// the nth directory entry within a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1252,7 +1252,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_file_size - returns free
|
||||
// partition::get_file_size - returns free
|
||||
// space on a partition, in bytes
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1294,7 +1294,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::list_file_attributes - identifies
|
||||
// partition::list_file_attributes - identifies
|
||||
// all attributes on a file
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1340,7 +1340,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_file_attributes - retrieves
|
||||
// partition::get_file_attributes - retrieves
|
||||
// attributes on a file
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1384,7 +1384,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// imgtool::partition::put_file_attributes - sets
|
||||
// imgtool::partition::put_file_attributes - sets
|
||||
// attributes on a file
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1416,7 +1416,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_file_attribute - retrieves
|
||||
// partition::get_file_attribute - retrieves
|
||||
// an attribute on a single file
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1430,8 +1430,8 @@ imgtoolerr_t imgtool::partition::get_file_attribute(const char *path, uint32_t a
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::put_file_attribute - sets
|
||||
// attributes on a single file
|
||||
// partition::put_file_attribute - sets
|
||||
// attributes on a single file
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::partition::put_file_attribute(const char *path, uint32_t attr, const imgtool_attribute &value)
|
||||
@ -1444,8 +1444,8 @@ imgtoolerr_t imgtool::partition::put_file_attribute(const char *path, uint32_t a
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_icon_info - retrieves the
|
||||
// icon for a file stored on a partition
|
||||
// partition::get_icon_info - retrieves the
|
||||
// icon for a file stored on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::partition::get_icon_info(const char *path, imgtool_iconinfo *iconinfo)
|
||||
@ -1489,9 +1489,9 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::suggest_file_filters - suggests a
|
||||
// list of filters appropriate for a file on a
|
||||
// partition
|
||||
// partition::suggest_file_filters - suggests a
|
||||
// list of filters appropriate for a file on a
|
||||
// partition
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::partition::suggest_file_filters(const char *path,
|
||||
@ -1523,8 +1523,8 @@ imgtoolerr_t imgtool::partition::suggest_file_filters(const char *path,
|
||||
goto done;
|
||||
|
||||
// loop on resulting suggestions, and do the following:
|
||||
// 1. Call check_stream if present, and remove disqualified streams
|
||||
// 2. Fill in missing descriptions
|
||||
// 1. Call check_stream if present, and remove disqualified streams
|
||||
// 2. Fill in missing descriptions
|
||||
i = j = 0;
|
||||
while(suggestions[i].viability)
|
||||
{
|
||||
@ -1571,7 +1571,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_chain - retrieves the block
|
||||
// partition::get_chain - retrieves the block
|
||||
// chain for a file or directory on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1596,7 +1596,7 @@ imgtoolerr_t imgtool::partition::get_chain(const char *path, imgtool_chainent *c
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_chain_string - retrieves
|
||||
// partition::get_chain_string - retrieves
|
||||
// the block chain for a file or directory on a
|
||||
// partition
|
||||
//-------------------------------------------------
|
||||
@ -1666,7 +1666,7 @@ imgtoolerr_t imgtool::partition::get_chain_string(const char *path, char *buffer
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_free_space - returns the
|
||||
// partition::get_free_space - returns the
|
||||
// amount of free space on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1686,7 +1686,7 @@ imgtoolerr_t imgtool::partition::get_free_space(uint64_t &sz)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::read_file - starts reading
|
||||
// partition::read_file - starts reading
|
||||
// from a file on a partition with a stream
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1747,7 +1747,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::write_file - starts writing
|
||||
// partition::write_file - starts writing
|
||||
// to a new file on an image with a stream
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1863,7 +1863,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_file - read a file from
|
||||
// partition::get_file - read a file from
|
||||
// an image, storing it into a native file
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -1930,7 +1930,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::put_file - read a native file
|
||||
// partition::put_file - read a native file
|
||||
// and store it on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2028,8 +2028,8 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::list_file_forks - lists all
|
||||
// forks on an image
|
||||
// partition::list_file_forks - lists all
|
||||
// forks on an image
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::partition::list_file_forks(const char *path, imgtool_forkent *ents, size_t len)
|
||||
@ -2072,7 +2072,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::create_directory - creates a
|
||||
// partition::create_directory - creates a
|
||||
// directory on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2117,7 +2117,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::delete_directory - deletes a
|
||||
// partition::delete_directory - deletes a
|
||||
// directory on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2162,7 +2162,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_block_size - gets the
|
||||
// partition::get_block_size - gets the
|
||||
// size of a standard block on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2173,7 +2173,7 @@ imgtoolerr_t imgtool::partition::get_block_size(uint32_t &length)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::is_block_in_range
|
||||
// partition::is_block_in_range
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtoolerr_t imgtool::partition::map_block_to_image_block(uint64_t partition_block, uint64_t &image_block) const
|
||||
@ -2187,7 +2187,7 @@ imgtoolerr_t imgtool::partition::map_block_to_image_block(uint64_t partition_blo
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::read_block - reads a standard
|
||||
// partition::read_block - reads a standard
|
||||
// block on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2203,7 +2203,7 @@ imgtoolerr_t imgtool::partition::read_block(uint64_t block, void *buffer)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::write_block - writes a
|
||||
// partition::write_block - writes a
|
||||
// standard block on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2219,7 +2219,7 @@ imgtoolerr_t imgtool::partition::write_block(uint64_t block, const void *buffer)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_features - retrieves a
|
||||
// partition::get_features - retrieves a
|
||||
// structure identifying this partition's features
|
||||
// associated with an image
|
||||
//-------------------------------------------------
|
||||
@ -2254,7 +2254,7 @@ imgtool_partition_features imgtool::partition::get_features() const
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_info_ptr - retrieves a
|
||||
// partition::get_info_ptr - retrieves a
|
||||
// pointer associated with a partition's format
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2265,8 +2265,8 @@ void *imgtool::partition::get_info_ptr(uint32_t state)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_info_string - retrieves a
|
||||
// string associated with a partition's format
|
||||
// partition::get_info_string - retrieves a
|
||||
// string associated with a partition's format
|
||||
//-------------------------------------------------
|
||||
|
||||
const char *imgtool::partition::get_info_string(uint32_t state)
|
||||
@ -2276,7 +2276,7 @@ const char *imgtool::partition::get_info_string(uint32_t state)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_info_int - retrieves a
|
||||
// partition::get_info_int - retrieves a
|
||||
// pointer associated with a partition's format
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2287,8 +2287,8 @@ uint64_t imgtool::partition::get_info_int(uint32_t state)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::extra_bytes - returns extra
|
||||
// bytes on a partition
|
||||
// partition::extra_bytes - returns extra
|
||||
// bytes on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
void *imgtool::partition::extra_bytes()
|
||||
@ -2306,7 +2306,7 @@ void *imgtool::partition::extra_bytes()
|
||||
***************************************************************************/
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_root_path - retrieves
|
||||
// partition::get_root_path - retrieves
|
||||
// the path root of this partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2329,7 +2329,7 @@ const char *imgtool::partition::get_root_path()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::path_concatenate - retrieves
|
||||
// partition::path_concatenate - retrieves
|
||||
// a pointer associated with a partition's format
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2377,7 +2377,7 @@ const char *imgtool::partition::path_concatenate(const char *path1, const char *
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// partition::get_base_name - retrieves
|
||||
// partition::get_base_name - retrieves
|
||||
// a base name for a partition specific path
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2406,7 +2406,7 @@ const char *imgtool::partition::get_base_name(const char *path)
|
||||
***************************************************************************/
|
||||
|
||||
//-------------------------------------------------
|
||||
// directory ctor
|
||||
// directory ctor
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::directory::directory(imgtool::partition &partition)
|
||||
@ -2422,7 +2422,7 @@ imgtool::directory::directory(imgtool::partition &partition)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// directory::open - begins
|
||||
// directory::open - begins
|
||||
// enumerating files on a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2478,7 +2478,7 @@ done:
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// directory dtor
|
||||
// directory dtor
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::directory::~directory()
|
||||
@ -2489,7 +2489,7 @@ imgtool::directory::~directory()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// directory::get_next - continues
|
||||
// directory::get_next - continues
|
||||
// enumerating files within a partition
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -2539,7 +2539,7 @@ imgtoolerr_t imgtool::directory::get_next(imgtool_dirent &ent)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// unknown_partition_get_info - represents an
|
||||
// unknown_partition_get_info - represents an
|
||||
// unknown partition
|
||||
//-------------------------------------------------
|
||||
|
||||
|
@ -256,7 +256,7 @@ namespace imgtool
|
||||
private:
|
||||
imgtool::partition &m_partition;
|
||||
std::unique_ptr<uint8_t[]> m_extra_bytes;
|
||||
bool m_okay_to_close; // similar wart as what is on imgtool::image
|
||||
bool m_okay_to_close; // similar wart as what is on imgtool::image
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -255,9 +255,9 @@ namespace imgtool
|
||||
uint64_t block_count() const { return m_block_count; }
|
||||
|
||||
private:
|
||||
imgtool_get_info m_get_info;
|
||||
uint64_t m_base_block;
|
||||
uint64_t m_block_count;
|
||||
imgtool_get_info m_get_info;
|
||||
uint64_t m_base_block;
|
||||
uint64_t m_block_count;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1047,7 +1047,7 @@ static imgtoolerr_t open_image_lvl1(imgtool::stream::ptr &&file_handle, ti99_img
|
||||
}
|
||||
}
|
||||
|
||||
l1_img->file_handle = file_handle.release(); // we can only do this when we're sure we're successful
|
||||
l1_img->file_handle = file_handle.release(); // we can only do this when we're sure we're successful
|
||||
|
||||
return (imgtoolerr_t)0;
|
||||
}
|
||||
@ -5246,7 +5246,7 @@ static imgtoolerr_t dsk_image_create(imgtool::image &image, imgtool::stream::ptr
|
||||
int i;
|
||||
|
||||
l1_img.img_format = img_format;
|
||||
l1_img.file_handle = stream.get(); // can't release here
|
||||
l1_img.file_handle = stream.get(); // can't release here
|
||||
|
||||
/* read options */
|
||||
volname = createoptions->lookup_string(dsk_createopts_volname).c_str();
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ctor
|
||||
// ctor
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::stream::stream(bool wp)
|
||||
@ -34,7 +34,7 @@ imgtool::stream::stream(bool wp)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ctor
|
||||
// ctor
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::stream::stream(bool wp, util::core_file::ptr &&f)
|
||||
@ -50,7 +50,7 @@ imgtool::stream::stream(bool wp, util::core_file::ptr &&f)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ctor
|
||||
// ctor
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::stream::stream(bool wp, std::size_t size)
|
||||
@ -66,7 +66,7 @@ imgtool::stream::stream(bool wp, std::size_t size)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ctor
|
||||
// ctor
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::stream::stream(bool wp, std::size_t size, void *buf)
|
||||
@ -82,7 +82,7 @@ imgtool::stream::stream(bool wp, std::size_t size, void *buf)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// dtor
|
||||
// dtor
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::stream::~stream()
|
||||
@ -93,7 +93,7 @@ imgtool::stream::~stream()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// open_zip
|
||||
// open_zip
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::stream *imgtool::stream::open_zip(const char *zipname, const char *subname, int read_or_write)
|
||||
@ -136,7 +136,7 @@ imgtool::stream *imgtool::stream::open_zip(const char *zipname, const char *subn
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// open
|
||||
// open
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::stream *imgtool::stream::open(const char *fname, int read_or_write)
|
||||
@ -196,7 +196,7 @@ imgtool::stream *imgtool::stream::open(const char *fname, int read_or_write)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// open_write_stream
|
||||
// open_write_stream
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::stream *imgtool::stream::open_write_stream(int size)
|
||||
@ -210,7 +210,7 @@ imgtool::stream *imgtool::stream::open_write_stream(int size)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// open_mem
|
||||
// open_mem
|
||||
//-------------------------------------------------
|
||||
|
||||
imgtool::stream *imgtool::stream::open_mem(void *buf, size_t sz)
|
||||
@ -222,7 +222,7 @@ imgtool::stream *imgtool::stream::open_mem(void *buf, size_t sz)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// core_file
|
||||
// core_file
|
||||
//-------------------------------------------------
|
||||
|
||||
util::core_file *imgtool::stream::core_file()
|
||||
@ -232,7 +232,7 @@ util::core_file *imgtool::stream::core_file()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// read
|
||||
// read
|
||||
//-------------------------------------------------
|
||||
|
||||
uint32_t imgtool::stream::read(void *buf, uint32_t sz)
|
||||
@ -266,7 +266,7 @@ uint32_t imgtool::stream::read(void *buf, uint32_t sz)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// write
|
||||
// write
|
||||
//-------------------------------------------------
|
||||
|
||||
uint32_t imgtool::stream::write(const void *buf, uint32_t sz)
|
||||
@ -321,7 +321,7 @@ uint32_t imgtool::stream::write(const void *buf, uint32_t sz)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// size
|
||||
// size
|
||||
//-------------------------------------------------
|
||||
|
||||
uint64_t imgtool::stream::size() const
|
||||
@ -331,7 +331,7 @@ uint64_t imgtool::stream::size() const
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// getptr
|
||||
// getptr
|
||||
//-------------------------------------------------
|
||||
|
||||
void *imgtool::stream::getptr()
|
||||
@ -353,7 +353,7 @@ void *imgtool::stream::getptr()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// seek
|
||||
// seek
|
||||
//-------------------------------------------------
|
||||
|
||||
int imgtool::stream::seek(int64_t pos, int where)
|
||||
@ -381,7 +381,7 @@ int imgtool::stream::seek(int64_t pos, int where)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// tell
|
||||
// tell
|
||||
//-------------------------------------------------
|
||||
|
||||
uint64_t imgtool::stream::tell()
|
||||
@ -391,7 +391,7 @@ uint64_t imgtool::stream::tell()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// transfer
|
||||
// transfer
|
||||
//-------------------------------------------------
|
||||
|
||||
uint64_t imgtool::stream::transfer(imgtool::stream &dest, imgtool::stream &source, uint64_t sz)
|
||||
@ -411,7 +411,7 @@ uint64_t imgtool::stream::transfer(imgtool::stream &dest, imgtool::stream &sourc
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// transfer_all
|
||||
// transfer_all
|
||||
//-------------------------------------------------
|
||||
|
||||
uint64_t imgtool::stream::transfer_all(imgtool::stream &dest, imgtool::stream &source)
|
||||
@ -421,7 +421,7 @@ uint64_t imgtool::stream::transfer_all(imgtool::stream &dest, imgtool::stream &s
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// crc
|
||||
// crc
|
||||
//-------------------------------------------------
|
||||
|
||||
int imgtool::stream::crc(unsigned long *result)
|
||||
@ -455,7 +455,7 @@ int imgtool::stream::crc(unsigned long *result)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// file_crc
|
||||
// file_crc
|
||||
//-------------------------------------------------
|
||||
|
||||
int imgtool::stream::file_crc(const char *fname, unsigned long *result)
|
||||
@ -474,7 +474,7 @@ int imgtool::stream::file_crc(const char *fname, unsigned long *result)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// fill
|
||||
// fill
|
||||
//-------------------------------------------------
|
||||
|
||||
uint64_t imgtool::stream::fill(unsigned char b, uint64_t sz)
|
||||
@ -495,7 +495,7 @@ uint64_t imgtool::stream::fill(unsigned char b, uint64_t sz)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// is_read_only
|
||||
// is_read_only
|
||||
//-------------------------------------------------
|
||||
|
||||
int imgtool::stream::is_read_only()
|
||||
@ -505,7 +505,7 @@ int imgtool::stream::is_read_only()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// putc
|
||||
// putc
|
||||
//-------------------------------------------------
|
||||
|
||||
uint32_t imgtool::stream::putc(char c)
|
||||
@ -515,7 +515,7 @@ uint32_t imgtool::stream::putc(char c)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// puts
|
||||
// puts
|
||||
//-------------------------------------------------
|
||||
|
||||
uint32_t imgtool::stream::puts(const char *s)
|
||||
@ -525,7 +525,7 @@ uint32_t imgtool::stream::puts(const char *s)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// printf
|
||||
// printf
|
||||
//-------------------------------------------------
|
||||
|
||||
uint32_t imgtool::stream::printf(const char *fmt, ...)
|
||||
|
Loading…
Reference in New Issue
Block a user