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
|
needs to be updated to support it. Contenders for this field at the time
|
||||||
of writing include RawDump and TruRip dumps.
|
of writing include RawDump and TruRip dumps.
|
||||||
See: http://rawdump.net/
|
See: http://rawdump.net/
|
||||||
http://www.trurip.org/
|
http://www.trurip.org/
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- The following images are from the redump.org set of dumps. -->
|
<!-- 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).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).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"/>
|
<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>
|
<description>BC Racers (USA)</description>
|
||||||
<year>1994</year>
|
<year>1994</year>
|
||||||
<publisher>Core Design</publisher>
|
<publisher>Core Design</publisher>
|
||||||
@ -5293,32 +5293,32 @@ See: http://rawdump.net/
|
|||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<software name="colrmech">
|
<software name="colrmech">
|
||||||
<description>Color Mechanica (USA)</description>
|
<description>Color Mechanica (USA)</description>
|
||||||
<year>2013</year>
|
<year>2013</year>
|
||||||
<publisher><unlicensed></publisher>
|
<publisher><unlicensed></publisher>
|
||||||
<info name="release" value="20131227" />
|
<info name="release" value="20131227" />
|
||||||
<part name="cdrom" interface="scd_cdrom">
|
<part name="cdrom" interface="scd_cdrom">
|
||||||
<diskarea name="cdrom">
|
<diskarea name="cdrom">
|
||||||
<disk name="color mechanica (usa)" status="nodump"/>
|
<disk name="color mechanica (usa)" status="nodump"/>
|
||||||
</diskarea>
|
</diskarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- This was exclusively bundled with the JVC X'Eye console -->
|
<!-- This was exclusively bundled with the JVC X'Eye console -->
|
||||||
<!--
|
<!--
|
||||||
<software name="comptons200s" cloneof="comptons">
|
<software name="comptons200s" cloneof="comptons">
|
||||||
<description>Compton's Interactive Encyclopedia v2.00S (USA)</description>
|
<description>Compton's Interactive Encyclopedia v2.00S (USA)</description>
|
||||||
<year>1994</year>
|
<year>1994</year>
|
||||||
<publisher>Compton's NewMedia</publisher>
|
<publisher>Compton's NewMedia</publisher>
|
||||||
<info name="serial" value="T-118025"/>
|
<info name="serial" value="T-118025"/>
|
||||||
<part name="cdrom" interface="scd_cdrom">
|
<part name="cdrom" interface="scd_cdrom">
|
||||||
<diskarea name="cdrom">
|
<diskarea name="cdrom">
|
||||||
<disk name="compton's interactive encyclopedia v2.00s (usa)" status="nodump"/>
|
<disk name="compton's interactive encyclopedia v2.00s (usa)" status="nodump"/>
|
||||||
</diskarea>
|
</diskarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- This was exclusively bundled with the JVC X'Eye console -->
|
<!-- This was exclusively bundled with the JVC X'Eye console -->
|
||||||
@ -5561,16 +5561,16 @@ See: http://rawdump.net/
|
|||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<software name="musijpbr">
|
<software name="musijpbr">
|
||||||
<description>Music from the Sega CD Games - Jurassic Park, Batman Returns (USA)</description>
|
<description>Music from the Sega CD Games - Jurassic Park, Batman Returns (USA)</description>
|
||||||
<year>1993</year>
|
<year>1993</year>
|
||||||
<publisher>Sega Multimedia Studio</publisher>
|
<publisher>Sega Multimedia Studio</publisher>
|
||||||
<part name="cdrom" interface="scd_cdrom">
|
<part name="cdrom" interface="scd_cdrom">
|
||||||
<diskarea name="cdrom">
|
<diskarea name="cdrom">
|
||||||
<disk name="music from the sega cd games - jurassic park, batman returns (usa)" status="nodump"/>
|
<disk name="music from the sega cd games - jurassic park, batman returns (usa)" status="nodump"/>
|
||||||
</diskarea>
|
</diskarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<software name="mypaint">
|
<software name="mypaint">
|
||||||
@ -5768,16 +5768,16 @@ See: http://rawdump.net/
|
|||||||
|
|
||||||
<!--
|
<!--
|
||||||
<software name="surgical32x" cloneof="surgical">
|
<software name="surgical32x" cloneof="surgical">
|
||||||
<description>Surgical Strike (Bra, 32X)</description>
|
<description>Surgical Strike (Bra, 32X)</description>
|
||||||
<year>1996</year>
|
<year>1996</year>
|
||||||
<publisher>Sega</publisher>
|
<publisher>Sega</publisher>
|
||||||
<info name="serial" value="157036"/>
|
<info name="serial" value="157036"/>
|
||||||
<info name="release" value="199601xx" />
|
<info name="release" value="199601xx" />
|
||||||
<part name="cdrom" interface="scd_cdrom">
|
<part name="cdrom" interface="scd_cdrom">
|
||||||
<diskarea name="cdrom">
|
<diskarea name="cdrom">
|
||||||
<disk name="surgical strike (bra, 32x)" status="nodump" />
|
<disk name="surgical strike (bra, 32x)" status="nodump" />
|
||||||
</diskarea>
|
</diskarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -5846,20 +5846,20 @@ See: http://rawdump.net/
|
|||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
This game was developed for the Sega Mega-CD system by Virtual Studio and was released in Europe.
|
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
|
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.
|
made from a prototype build of the US version of the game.
|
||||||
-->
|
-->
|
||||||
<!--
|
<!--
|
||||||
<software name="smurfs">
|
<software name="smurfs">
|
||||||
<description>The Smurfs (USA, Prototype)</description>
|
<description>The Smurfs (USA, Prototype)</description>
|
||||||
<year>2014</year>
|
<year>2014</year>
|
||||||
<publisher>Good Deal Games</publisher>
|
<publisher>Good Deal Games</publisher>
|
||||||
<part name="cdrom" interface="scd_cdrom">
|
<part name="cdrom" interface="scd_cdrom">
|
||||||
<diskarea name="cdrom">
|
<diskarea name="cdrom">
|
||||||
<disk name="the smurfs (usa, prototype)" status="nodump"/>
|
<disk name="the smurfs (usa, prototype)" status="nodump"/>
|
||||||
</diskarea>
|
</diskarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -5895,17 +5895,17 @@ See: http://rawdump.net/
|
|||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<software name="wixeye">
|
<software name="wixeye">
|
||||||
<description>What is X'Eye Multi Entertainment System (USA)</description>
|
<description>What is X'Eye Multi Entertainment System (USA)</description>
|
||||||
<year>1993?</year>
|
<year>1993?</year>
|
||||||
<publisher>JVC</publisher>
|
<publisher>JVC</publisher>
|
||||||
<info name="serial" value="SMJ-4110"/>
|
<info name="serial" value="SMJ-4110"/>
|
||||||
<part name="cdrom" interface="scd_cdrom">
|
<part name="cdrom" interface="scd_cdrom">
|
||||||
<diskarea name="cdrom">
|
<diskarea name="cdrom">
|
||||||
<disk name="what is x'eye multi entertainment system (usa)" status="nodump"/>
|
<disk name="what is x'eye multi entertainment system (usa)" status="nodump"/>
|
||||||
</diskarea>
|
</diskarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<software name="wolfchld">
|
<software name="wolfchld">
|
||||||
|
@ -2919,7 +2919,7 @@ end
|
|||||||
if (BUSES["HP9845_IO"]~=null) then
|
if (BUSES["HP9845_IO"]~=null) then
|
||||||
files {
|
files {
|
||||||
MAME_DIR .. "src/devices/bus/hp9845_io/hp9845_io.cpp",
|
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
|
end
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,9 @@
|
|||||||
// copyright-holders: F. Ulivi
|
// 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"
|
#include "hp9845_io.h"
|
||||||
|
|
||||||
#define HP98035_IBUFFER_LEN 16 // Totally arbitrary
|
#define HP98035_IBUFFER_LEN 16 // Totally arbitrary
|
||||||
#define HP98035_OBUFFER_LEN 16 // Totally arbitrary
|
#define HP98035_OBUFFER_LEN 16 // Totally arbitrary
|
||||||
#define HP98035_UNIT_COUNT 4 // Count of counter/timer units
|
#define HP98035_UNIT_COUNT 4 // Count of counter/timer units
|
||||||
|
|
||||||
class hp98035_io_card : public hp9845_io_card_device
|
class hp98035_io_card : public hp9845_io_card_device
|
||||||
{
|
{
|
||||||
@ -42,8 +42,8 @@ private:
|
|||||||
bool m_intflag;
|
bool m_intflag;
|
||||||
bool m_irq;
|
bool m_irq;
|
||||||
bool m_idr_full;
|
bool m_idr_full;
|
||||||
uint8_t m_idr; // Input Data Register
|
uint8_t m_idr; // Input Data Register
|
||||||
uint8_t m_odr; // Output Data Register
|
uint8_t m_odr; // Output Data Register
|
||||||
uint8_t m_error;
|
uint8_t m_error;
|
||||||
uint8_t m_triggered;
|
uint8_t m_triggered;
|
||||||
uint8_t m_lost_irq;
|
uint8_t m_lost_irq;
|
||||||
@ -54,30 +54,30 @@ private:
|
|||||||
unsigned m_obuffer_ptr;
|
unsigned m_obuffer_ptr;
|
||||||
|
|
||||||
// Clock/timer state
|
// Clock/timer state
|
||||||
unsigned m_msec; // Milliseconds
|
unsigned m_msec; // Milliseconds
|
||||||
uint8_t m_sec; // Seconds
|
uint8_t m_sec; // Seconds
|
||||||
uint8_t m_min; // Minutes
|
uint8_t m_min; // Minutes
|
||||||
uint8_t m_hrs; // Hours
|
uint8_t m_hrs; // Hours
|
||||||
uint8_t m_dom; // Day of month
|
uint8_t m_dom; // Day of month
|
||||||
uint8_t m_mon; // Month
|
uint8_t m_mon; // Month
|
||||||
// Strangely enough this RTC has no notion of current year
|
// Strangely enough this RTC has no notion of current year
|
||||||
emu_timer *m_msec_timer;
|
emu_timer *m_msec_timer;
|
||||||
|
|
||||||
// Timer units
|
// Timer units
|
||||||
typedef enum {
|
typedef enum {
|
||||||
UNIT_IDLE, // Not active
|
UNIT_IDLE, // Not active
|
||||||
UNIT_ACTIVE, // Active (output units: waiting for date/time match)
|
UNIT_ACTIVE, // Active (output units: waiting for date/time match)
|
||||||
UNIT_WAIT_FOR_TO // Active, output units only: waiting for timeout
|
UNIT_WAIT_FOR_TO // Active, output units only: waiting for timeout
|
||||||
} unit_state_t;
|
} unit_state_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
unit_state_t m_state; // State
|
unit_state_t m_state; // State
|
||||||
bool m_input; // Input or output
|
bool m_input; // Input or output
|
||||||
uint8_t m_port; // Assigned port # (0 if not assigned)
|
uint8_t m_port; // Assigned port # (0 if not assigned)
|
||||||
uint8_t m_match_datetime[ 4 ]; // Date&time to match (month is not included)
|
uint8_t m_match_datetime[ 4 ]; // Date&time to match (month is not included)
|
||||||
unsigned m_delay; // Timer delay
|
unsigned m_delay; // Timer delay
|
||||||
unsigned m_period; // Timer period (when != 0)
|
unsigned m_period; // Timer period (when != 0)
|
||||||
unsigned m_value; // Current counter value
|
unsigned m_value; // Current counter value
|
||||||
|
|
||||||
void init(void);
|
void init(void);
|
||||||
void deactivate(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::hp9845_io_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
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_t(mconfig, HP9845_IO_SLOT, "HP9845 I/O Slot", tag, owner, clock, "hp9845_io_slot", __FILE__),
|
||||||
device_slot_interface(mconfig, *this)
|
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()
|
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()
|
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::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) :
|
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_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||||
device_slot_card_interface(mconfig, *this),
|
device_slot_card_interface(mconfig, *this),
|
||||||
m_sys(nullptr),
|
m_sys(nullptr),
|
||||||
m_select_code_port(*this , "SC"),
|
m_select_code_port(*this , "SC"),
|
||||||
m_my_sc(0)
|
m_my_sc(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,32 +51,32 @@ hp9845_io_card_device::~hp9845_io_card_device()
|
|||||||
|
|
||||||
void hp9845_io_card_device::device_reset()
|
void hp9845_io_card_device::device_reset()
|
||||||
{
|
{
|
||||||
m_my_sc = m_select_code_port->read() + HP9845_IO_FIRST_SC;
|
m_my_sc = m_select_code_port->read() + HP9845_IO_FIRST_SC;
|
||||||
//printf("m_my_sc=%u\n" , m_my_sc);
|
//printf("m_my_sc=%u\n" , m_my_sc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void hp9845_io_card_device::irq_w(int state)
|
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)
|
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)
|
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)
|
void hp9845_io_card_device::install_readwrite_handler(read16_delegate rhandler, write16_delegate whandler)
|
||||||
{
|
{
|
||||||
if (m_sys == nullptr) {
|
if (m_sys == nullptr) {
|
||||||
m_sys = dynamic_cast<hp9845b_state*>(&machine().root_device());
|
m_sys = dynamic_cast<hp9845b_state*>(&machine().root_device());
|
||||||
//printf("m_sys=%p\n" , m_sys);
|
//printf("m_sys=%p\n" , m_sys);
|
||||||
m_sys->install_readwrite_handler(m_my_sc , rhandler, whandler);
|
m_sys->install_readwrite_handler(m_my_sc , rhandler, whandler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "98035.h"
|
#include "98035.h"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
MCFG_DEVICE_ADD(_tag, HP9845_IO_SLOT, 0) \
|
MCFG_DEVICE_ADD(_tag, HP9845_IO_SLOT, 0) \
|
||||||
MCFG_DEVICE_SLOT_INTERFACE(hp9845_io_slot_devices, nullptr, false)
|
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\
|
#define MCFG_HP9845_IO_SC\
|
||||||
PORT_START("SC") \
|
PORT_START("SC") \
|
||||||
|
@ -90,11 +90,11 @@ public:
|
|||||||
class sns_rom_sgb2_device : public sns_rom_sgb_device
|
class sns_rom_sgb2_device : public sns_rom_sgb_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
sns_rom_sgb2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
sns_rom_sgb2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() 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());
|
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)
|
WRITE16_MEMBER(sh7604_bus_device::bus_control_2_w)
|
||||||
{
|
{
|
||||||
COMBINE_DATA(&m_bcr2);
|
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; }
|
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; }
|
READ16_MEMBER(sh7604_bus_device::memory_control_r) { return m_mcr & 0xfefc; }
|
||||||
WRITE16_MEMBER(sh7604_bus_device::memory_control_w) { COMBINE_DATA(&m_mcr); }
|
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(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(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(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
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
// ======================> sh7604_bus_device
|
// ======================> sh7604_bus_device
|
||||||
|
|
||||||
class sh7604_bus_device : public device_t,
|
class sh7604_bus_device : public device_t,
|
||||||
public device_memory_interface
|
public device_memory_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
@ -66,7 +66,7 @@ private:
|
|||||||
uint16_t m_bcr2;
|
uint16_t m_bcr2;
|
||||||
uint16_t m_wcr;
|
uint16_t m_wcr;
|
||||||
uint16_t m_mcr;
|
uint16_t m_mcr;
|
||||||
uint16_t m_rtcsr;
|
uint16_t m_rtcsr;
|
||||||
uint16_t m_rtcor;
|
uint16_t m_rtcor;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ enum {
|
|||||||
// ======================> sh7604_sci_device
|
// ======================> sh7604_sci_device
|
||||||
|
|
||||||
class sh7604_sci_device : public device_t,
|
class sh7604_sci_device : public device_t,
|
||||||
public device_memory_interface
|
public device_memory_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
@ -64,7 +64,7 @@ public:
|
|||||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// 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_start() override;
|
||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
private:
|
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 )
|
static ADDRESS_MAP_START( wdt_regs, AS_0, 8, sh7604_wdt_device )
|
||||||
// AM_RANGE(0x00, 0x00) timer control/status
|
// AM_RANGE(0x00, 0x00) timer control/status
|
||||||
// AM_RANGE(0x01, 0x01) timer counter
|
// AM_RANGE(0x01, 0x01) timer counter
|
||||||
// AM_RANGE(0x02, 0x02) write only, reset control register
|
// AM_RANGE(0x02, 0x02) write only, reset control register
|
||||||
// AM_RANGE(0x03, 0x03) read status register, write reset status register
|
// AM_RANGE(0x03, 0x03) read status register, write reset status register
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
// ======================> sh7604_wdt_device
|
// ======================> sh7604_wdt_device
|
||||||
|
|
||||||
class sh7604_wdt_device : public device_t,
|
class sh7604_wdt_device : public device_t,
|
||||||
public device_memory_interface
|
public device_memory_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
@ -40,7 +40,7 @@ public:
|
|||||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// 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_start() override;
|
||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
private:
|
private:
|
||||||
|
@ -4,27 +4,27 @@
|
|||||||
|
|
||||||
Dallas DS1386/DS1386P RAMified Watchdog Timekeeper
|
Dallas DS1386/DS1386P RAMified Watchdog Timekeeper
|
||||||
|
|
||||||
Note: Largely untested.
|
Note: Largely untested.
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
#include "ds1386.h"
|
#include "ds1386.h"
|
||||||
#include "machine/timehelp.h"
|
#include "machine/timehelp.h"
|
||||||
|
|
||||||
#define DISABLE_OSC (0x80)
|
#define DISABLE_OSC (0x80)
|
||||||
#define DISABLE_SQW (0x40)
|
#define DISABLE_SQW (0x40)
|
||||||
|
|
||||||
#define COMMAND_TE (0x80)
|
#define COMMAND_TE (0x80)
|
||||||
#define COMMAND_IPSW (0x40)
|
#define COMMAND_IPSW (0x40)
|
||||||
#define COMMAND_IBH_LO (0x20)
|
#define COMMAND_IBH_LO (0x20)
|
||||||
#define COMMAND_PU_LVL (0x10)
|
#define COMMAND_PU_LVL (0x10)
|
||||||
#define COMMAND_WAM (0x08)
|
#define COMMAND_WAM (0x08)
|
||||||
#define COMMAND_TDM (0x04)
|
#define COMMAND_TDM (0x04)
|
||||||
#define COMMAND_WAF (0x02)
|
#define COMMAND_WAF (0x02)
|
||||||
#define COMMAND_TDF (0x01)
|
#define COMMAND_TDF (0x01)
|
||||||
|
|
||||||
#define HOURS_12_24 (0x40)
|
#define HOURS_12_24 (0x40)
|
||||||
#define HOURS_AM_PM (0x20)
|
#define HOURS_AM_PM (0x20)
|
||||||
|
|
||||||
const device_type DS1386_8K = &device_creator<ds1386_8k_device>;
|
const device_type DS1386_8K = &device_creator<ds1386_8k_device>;
|
||||||
const device_type DS1386_32K = &device_creator<ds1386_32k_device>;
|
const device_type DS1386_32K = &device_creator<ds1386_32k_device>;
|
||||||
|
@ -6,46 +6,46 @@
|
|||||||
|
|
||||||
***********************************************************************
|
***********************************************************************
|
||||||
_____________
|
_____________
|
||||||
/INTA 1 | | 32 Vcc
|
/INTA 1 | | 32 Vcc
|
||||||
/INTB 2 | | 31 SQW
|
/INTB 2 | | 31 SQW
|
||||||
NC/A14 3 | | 30 Vcc
|
NC/A14 3 | | 30 Vcc
|
||||||
A12 4 | | 29 /WE
|
A12 4 | | 29 /WE
|
||||||
A7 5 | | 28 NC/A13
|
A7 5 | | 28 NC/A13
|
||||||
A6 6 | | 27 A8
|
A6 6 | | 27 A8
|
||||||
A5 7 | | 26 A9
|
A5 7 | | 26 A9
|
||||||
A4 8 | | 25 A11
|
A4 8 | | 25 A11
|
||||||
A3 9 | | 24 /OE
|
A3 9 | | 24 /OE
|
||||||
A2 10 | | 23 A10
|
A2 10 | | 23 A10
|
||||||
A1 11 | | 22 /CE
|
A1 11 | | 22 /CE
|
||||||
A0 12 | | 21 DQ7
|
A0 12 | | 21 DQ7
|
||||||
DQ0 13 | | 20 DQ6
|
DQ0 13 | | 20 DQ6
|
||||||
DQ1 14 | | 19 DQ5
|
DQ1 14 | | 19 DQ5
|
||||||
DQ2 15 | | 18 DQ4
|
DQ2 15 | | 18 DQ4
|
||||||
GND 16 |_____________| 17 DQ3
|
GND 16 |_____________| 17 DQ3
|
||||||
|
|
||||||
DS1386 8k/32k x 8
|
DS1386 8k/32k x 8
|
||||||
|
|
||||||
__________________________________
|
__________________________________
|
||||||
/ |
|
/ |
|
||||||
/ |
|
/ |
|
||||||
/INTB | 1 34 | /INTA
|
/INTB | 1 34 | /INTA
|
||||||
NC | 2 33 | SQW
|
NC | 2 33 | SQW
|
||||||
NC | 3 32 | NC/A13
|
NC | 3 32 | NC/A13
|
||||||
/PFO | 4 31 | NC/A14
|
/PFO | 4 31 | NC/A14
|
||||||
Vcc | 5 30 | A12
|
Vcc | 5 30 | A12
|
||||||
/WE | 6 29 | A11
|
/WE | 6 29 | A11
|
||||||
/OE | 7 28 | A10
|
/OE | 7 28 | A10
|
||||||
/CE | 8 27 | A9
|
/CE | 8 27 | A9
|
||||||
DQ7 | 9 26 | A8
|
DQ7 | 9 26 | A8
|
||||||
DQ6 | 10 25 | A7
|
DQ6 | 10 25 | A7
|
||||||
DQ5 | 11 24 | A6
|
DQ5 | 11 24 | A6
|
||||||
DQ4 | 12 23 | A5
|
DQ4 | 12 23 | A5
|
||||||
DQ3 | 13 22 | A4
|
DQ3 | 13 22 | A4
|
||||||
DQ2 | 14 X1 GND Vbat X2 21 | A3
|
DQ2 | 14 X1 GND Vbat X2 21 | A3
|
||||||
DQ1 | 15 ____ ____ ____ ____ 20 | A2
|
DQ1 | 15 ____ ____ ____ ____ 20 | A2
|
||||||
DQ0 | 16 | | | | | | | | 19 | A1
|
DQ0 | 16 | | | | | | | | 19 | A1
|
||||||
GND | 17 |____| |____| |____| |____| 18 | A0
|
GND | 17 |____| |____| |____| |____| 18 | A0
|
||||||
|____________________________________|
|
|____________________________________|
|
||||||
|
|
||||||
DS1386 8k/32k x 8, 34-Pin PowerCap Module Board
|
DS1386 8k/32k x 8, 34-Pin PowerCap Module Board
|
||||||
|
|
||||||
@ -117,10 +117,10 @@ protected:
|
|||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
ALARM_DAYS_MATCH = 0x0,
|
ALARM_DAYS_MATCH = 0x0,
|
||||||
ALARM_HOURS_MATCH = 0x1,
|
ALARM_HOURS_MATCH = 0x1,
|
||||||
ALARM_MINUTES_MATCH = 0x3,
|
ALARM_MINUTES_MATCH = 0x3,
|
||||||
ALARM_PER_MINUTE = 0x7
|
ALARM_PER_MINUTE = 0x7
|
||||||
};
|
};
|
||||||
|
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -174,17 +174,17 @@ protected:
|
|||||||
std::unique_ptr<uint8_t[]> m_ram;
|
std::unique_ptr<uint8_t[]> m_ram;
|
||||||
optional_region_ptr<uint8_t> m_default_data;
|
optional_region_ptr<uint8_t> m_default_data;
|
||||||
|
|
||||||
uint8_t m_hundredths;
|
uint8_t m_hundredths;
|
||||||
uint8_t m_seconds;
|
uint8_t m_seconds;
|
||||||
uint8_t m_minutes;
|
uint8_t m_minutes;
|
||||||
uint8_t m_minutes_alarm;
|
uint8_t m_minutes_alarm;
|
||||||
uint8_t m_hours;
|
uint8_t m_hours;
|
||||||
uint8_t m_hours_alarm;
|
uint8_t m_hours_alarm;
|
||||||
uint8_t m_days;
|
uint8_t m_days;
|
||||||
uint8_t m_days_alarm;
|
uint8_t m_days_alarm;
|
||||||
uint8_t m_date;
|
uint8_t m_date;
|
||||||
uint8_t m_months_enables;
|
uint8_t m_months_enables;
|
||||||
uint8_t m_years;
|
uint8_t m_years;
|
||||||
|
|
||||||
const size_t m_ram_size;
|
const size_t m_ram_size;
|
||||||
};
|
};
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
// copyright-holders:Aaron Giles,smf
|
// 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;
|
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_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 */
|
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;
|
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_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 */
|
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;
|
uint8_t wreg = 0;
|
||||||
|
|
||||||
/* Sort out 80X30 limitations in register access */
|
/* 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 (BIT(m_wr15, 2) == 0 || m_uart->m_variant & SET_NMOS)
|
||||||
{
|
{
|
||||||
if (reg > 3 && reg < 8) reg &= 0x03;
|
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)
|
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 (m_uart->m_variant & SET_ESCC && BIT(m_wr7p, 6) != 0)
|
||||||
{
|
{
|
||||||
if (reg > 3 && reg < 6) wreg = 1;
|
if (reg > 3 && reg < 6) wreg = 1;
|
||||||
@ -1754,7 +1754,7 @@ void z80scc_channel::do_sccreg_wr5(uint8_t data)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// uint8_t old_wr5 = m_wr5;
|
// uint8_t old_wr5 = m_wr5;
|
||||||
m_wr5 = data;
|
m_wr5 = data;
|
||||||
LOG(("- Transmitter Enable %u\n", (data & WR5_TX_ENABLE) ? 1 : 0));
|
LOG(("- Transmitter Enable %u\n", (data & WR5_TX_ENABLE) ? 1 : 0));
|
||||||
LOG(("- Transmitter Bits/Character %u\n", get_tx_word_length()));
|
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_wr7; // REG_WR7_SYNC_OR_SDLC_F
|
||||||
uint8_t m_wr7p; //
|
uint8_t m_wr7p; //
|
||||||
uint8_t m_wr8; // REG_WR8_TRANSMIT_DATA
|
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_wr10; // REG_WR10_MSC_RX_TX_CTRL
|
||||||
uint8_t m_wr11; // REG_WR11_CLOCK_MODES
|
uint8_t m_wr11; // REG_WR11_CLOCK_MODES
|
||||||
uint8_t m_wr12; // REG_WR12_LO_BAUD_GEN
|
uint8_t m_wr12; // REG_WR12_LO_BAUD_GEN
|
||||||
@ -521,14 +521,14 @@ protected:
|
|||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
WR15_WR7PRIME = 0x01,
|
WR15_WR7PRIME = 0x01,
|
||||||
WR15_ZEROCOUNT = 0x02,
|
WR15_ZEROCOUNT = 0x02,
|
||||||
WR15_STATUS_FIFO = 0x04,
|
WR15_STATUS_FIFO = 0x04,
|
||||||
WR15_DCD = 0x08,
|
WR15_DCD = 0x08,
|
||||||
WR15_SYNC = 0x10,
|
WR15_SYNC = 0x10,
|
||||||
WR15_CTS = 0x20,
|
WR15_CTS = 0x20,
|
||||||
WR15_TX_EOM = 0x40,
|
WR15_TX_EOM = 0x40,
|
||||||
WR15_BREAK_ABORT = 0x80
|
WR15_BREAK_ABORT = 0x80
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
@ -587,7 +587,7 @@ protected:
|
|||||||
int m_tx_fifo_wp; // FIFO write pointer
|
int m_tx_fifo_wp; // FIFO write pointer
|
||||||
int m_tx_fifo_sz; // FIFO size
|
int m_tx_fifo_sz; // FIFO size
|
||||||
uint8_t m_tx_error; // current error
|
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_tx_clock; // transmit clock pulse count
|
||||||
|
|
||||||
int m_dtr; // data terminal ready
|
int m_dtr; // data terminal ready
|
||||||
|
@ -6,9 +6,9 @@
|
|||||||
|
|
||||||
Four quadrant multiplying DAC.
|
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
|
// Interleave bits from plane0 and plane1
|
||||||
m_line.shift_register = (((((m_line.plane0 * U64(0x0101010101010101)) & U64(0x8040201008040201)) * U64(0x0102040810204081)) >> 49) & 0x5555)
|
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)
|
if (m_line.pixels_drawn < 8)
|
||||||
{
|
{
|
||||||
@ -2161,7 +2161,7 @@ void dmg_ppu_device::update_state()
|
|||||||
m_next_state = GB_LCD_STATE_LYXX_M3;
|
m_next_state = GB_LCD_STATE_LYXX_M3;
|
||||||
clear_line_state();
|
clear_line_state();
|
||||||
select_sprites();
|
select_sprites();
|
||||||
// if (!m_enable_experimental_engine)
|
// if (!m_enable_experimental_engine)
|
||||||
{
|
{
|
||||||
m_window_y = WNDPOSY;
|
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;
|
m_stat_mode1_int = (new_data & MODE_1_INT_ENABLED) ? true : false;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
// 0x20 -> 0x40 with LYC -> trigger
|
// 0x20 -> 0x40 with LYC -> trigger
|
||||||
//m_stat_mode2_int = (new_data & MODE_2_INT_ENABLED) ? true : false;
|
//m_stat_mode2_int = (new_data & MODE_2_INT_ENABLED) ? true : false;
|
||||||
if (LCDSTAT & MODE_2_INT_ENABLED)
|
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 (logit)
|
||||||
{
|
{
|
||||||
//if ((cmd == 0x38) || (cmd == 0x2d))
|
//if ((cmd == 0x38) || (cmd == 0x2d))
|
||||||
// log_render_info(texdata);
|
// log_render_info(texdata);
|
||||||
if (cmd != 0x00 || (cmd == 0x00 && curoffs == count)) {
|
if (cmd != 0x00 || (cmd == 0x00 && curoffs == count)) {
|
||||||
logerror("\t");
|
logerror("\t");
|
||||||
for (int offs = 0; offs < databufcount; offs++)
|
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
|
// Direct commands from waveram buffer
|
||||||
//uint32_t cmdData[2];
|
//uint32_t cmdData[2];
|
||||||
//for (int subIndex = 0; subIndex < 2; ++subIndex) {
|
//for (int subIndex = 0; subIndex < 2; ++subIndex) {
|
||||||
// uint32_t offset = (databuffer[subIndex] & 0xff) * 6;
|
// uint32_t offset = (databuffer[subIndex] & 0xff) * 6;
|
||||||
// //printf("directRead curoffs: 0x%X\n", curoffs);
|
// //printf("directRead curoffs: 0x%X\n", curoffs);
|
||||||
// for (int cmdIndex = 0; cmdIndex < 3; ++cmdIndex) {
|
// for (int cmdIndex = 0; cmdIndex < 3; ++cmdIndex) {
|
||||||
// cmdData[0] = m_directCmd[offset + cmdIndex * 2 + 0];
|
// cmdData[0] = m_directCmd[offset + cmdIndex * 2 + 0];
|
||||||
// cmdData[1] = m_directCmd[offset + cmdIndex * 2 + 1];
|
// cmdData[1] = m_directCmd[offset + cmdIndex * 2 + 1];
|
||||||
// if (curoffs < 0x40)
|
// if (curoffs < 0x40)
|
||||||
// printf("directRead curoffs: 0x%X cmdData %08X %08X\n", curoffs, cmdData[0], cmdData[1]);
|
// printf("directRead curoffs: 0x%X cmdData %08X %08X\n", curoffs, cmdData[0], cmdData[1]);
|
||||||
// if (cmdData[0] != 0 && cmdData[1] != 0) {
|
// if (cmdData[0] != 0 && cmdData[1] != 0) {
|
||||||
// // Error check
|
// // Error check
|
||||||
// if (cmdData[0] != 0x58 && cmdData[0] != 0x5A) {
|
// if (cmdData[0] != 0x58 && cmdData[0] != 0x5A) {
|
||||||
// if (curoffs < 0x20)
|
// if (curoffs < 0x20)
|
||||||
// printf("case38 error curoffs: 0x%X cmdData %08X %08X\n", curoffs, cmdData[0], cmdData[1]);
|
// printf("case38 error curoffs: 0x%X cmdData %08X %08X\n", curoffs, cmdData[0], cmdData[1]);
|
||||||
// }
|
// }
|
||||||
// else {
|
// else {
|
||||||
// zeus2_register32_w(cmdData[0] & 0x7f, cmdData[1], logit);
|
// zeus2_register32_w(cmdData[0] & 0x7f, cmdData[1], logit);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
//void *palbase = waveram0_ptr_from_expanded_addr(m_zeusbase[0x41]);
|
//void *palbase = waveram0_ptr_from_expanded_addr(m_zeusbase[0x41]);
|
||||||
//uint8_t texel = databuffer[0];
|
//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_frameDepth[m_renderAddr] = 0;
|
||||||
//m_frameColor[m_renderAddr++] = databuffer[1] & 0x00ffffff;
|
//m_frameColor[m_renderAddr++] = databuffer[1] & 0x00ffffff;
|
||||||
//if (logit)
|
//if (logit)
|
||||||
// if ((curoffs + 1) % 16 == 0)
|
// if ((curoffs + 1) % 16 == 0)
|
||||||
// logerror("\n");
|
// logerror("\n");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
poly->zeus2_draw_quad(databuffer, texdata, logit);
|
poly->zeus2_draw_quad(databuffer, texdata, logit);
|
||||||
|
@ -36,7 +36,7 @@ private:
|
|||||||
//osd_interface & m_osd;
|
//osd_interface & m_osd;
|
||||||
std::atomic<bool> m_run;
|
std::atomic<bool> m_run;
|
||||||
std::atomic<bool> m_wait;
|
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;
|
std::unordered_map<std::string, std::function<void(std::vector<std::string>& arg)>> m_commands;
|
||||||
};
|
};
|
||||||
|
@ -8,18 +8,18 @@
|
|||||||
ROMs provided by Arashikage
|
ROMs provided by Arashikage
|
||||||
|
|
||||||
Hardware:
|
Hardware:
|
||||||
CPU: uPD7811 with internal ROM
|
CPU: uPD7811 with internal ROM
|
||||||
Other H/W: 8253 PIT (x6), 8255 PPI (x2), 8279 keyboard/display controller
|
Other H/W: 8253 PIT (x6), 8255 PPI (x2), 8279 keyboard/display controller
|
||||||
Voices (x8):
|
Voices (x8):
|
||||||
NJM4558D sawtooth generator (x2)
|
NJM4558D sawtooth generator (x2)
|
||||||
TC4011BP wave shaper
|
TC4011BP wave shaper
|
||||||
TC4013 sub oscillator
|
TC4013 sub oscillator
|
||||||
CEM 3372 VCA/VCF
|
CEM 3372 VCA/VCF
|
||||||
Final out:
|
Final out:
|
||||||
TL082CP low-pass filter
|
TL082CP low-pass filter
|
||||||
|
|
||||||
Service manual incl. schematics at:
|
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 )
|
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(0x1000, 0x1003) AM_DEVREADWRITE(PIT0_TAG, pit8253_device, read, write)
|
||||||
AM_RANGE(0x1010, 0x1013) AM_DEVREADWRITE(PIT1_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)
|
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(0x1050, 0x1053) AM_DEVREADWRITE(PIT5_TAG, pit8253_device, read, write)
|
||||||
AM_RANGE(0x1060, 0x1063) AM_DEVREADWRITE(PPI0_TAG, i8255_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(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(0xc000, 0xc7ff) AM_RAM
|
||||||
AM_RANGE(0xff00, 0xffff) AM_RAM
|
AM_RANGE(0xff00, 0xffff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
@ -371,25 +371,25 @@ public:
|
|||||||
|
|
||||||
gfx_layout const screenfont =
|
gfx_layout const screenfont =
|
||||||
{
|
{
|
||||||
8, 16, // 8x8
|
8, 16, // 8x8
|
||||||
RGN_FRAC(1, 1), // whole region
|
RGN_FRAC(1, 1), // whole region
|
||||||
1, // 1bpp
|
1, // 1bpp
|
||||||
{ 0 }, // bitplane offset
|
{ 0 }, // bitplane offset
|
||||||
{ 0*1, 1*1, 2*1, 3*1, 4*1, 5*1, 6*1, 7*1 }, // x offsets
|
{ 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,
|
{ 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
|
8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, // y offsets
|
||||||
128 // stride
|
128 // stride
|
||||||
};
|
};
|
||||||
|
|
||||||
gfx_layout const printfont =
|
gfx_layout const printfont =
|
||||||
{
|
{
|
||||||
8, 8, // 7x8
|
8, 8, // 7x8
|
||||||
RGN_FRAC(1, 1), // whole region
|
RGN_FRAC(1, 1), // whole region
|
||||||
1, // 1bpp
|
1, // 1bpp
|
||||||
{ 0 }, // bitplane offset
|
{ 0 }, // bitplane offset
|
||||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, // x offsets
|
{ 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
|
{ 7*1, 6*1, 5*1, 4*1, 3*1, 2*1, 1*1, 0*1 }, // y offsets
|
||||||
64 // stride
|
64 // stride
|
||||||
};
|
};
|
||||||
|
|
||||||
GFXDECODE_START( anzterm )
|
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-a-pr01.ic4", 0x0000, 0x0800, CRC(d0981882) SHA1(b55fd313c9b3e00039501a53a53c820d98f2258a) )
|
||||||
ROM_LOAD( "ck-b-pr01.ic3", 0x0000, 0x0800, CRC(96c9d90d) SHA1(400980c7a2c5306be28b74284c626ef2ed24c1a5) )
|
ROM_LOAD( "ck-b-pr01.ic3", 0x0000, 0x0800, CRC(96c9d90d) SHA1(400980c7a2c5306be28b74284c626ef2ed24c1a5) )
|
||||||
|
|
||||||
// Undumped microcontroller ROM in MICR reader
|
// Undumped microcontroller ROM in MICR reader
|
||||||
ROM_REGION( 0x0fc0, "micrmcu", 0 )
|
ROM_REGION( 0x0fc0, "micrmcu", 0 )
|
||||||
ROM_LOAD( "mk3870.u14", 0x0000, 0x0fc0, NO_DUMP )
|
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
|
// MICR reader data table ROMS, no idea how this stuff is used but dumps should be preserved
|
||||||
ROM_REGION( 0x5000, "micrdata", 0 )
|
ROM_REGION( 0x5000, "micrdata", 0 )
|
||||||
ROM_LOAD( "cdn1-ebb.u20", 0x0000, 0x1000, CRC(0f9a9db3) SHA1(aedfe3ba7afb1d0a827fec5418369fca9348940f) )
|
ROM_LOAD( "cdn1-ebb.u20", 0x0000, 0x1000, CRC(0f9a9db3) SHA1(aedfe3ba7afb1d0a827fec5418369fca9348940f) )
|
||||||
ROM_LOAD( "cdn2-ebb.u16", 0x1000, 0x1000, CRC(648fff69) SHA1(59653d34067d9a3061857507868fd2147dadf537) )
|
ROM_LOAD( "cdn2-ebb.u16", 0x1000, 0x1000, CRC(648fff69) SHA1(59653d34067d9a3061857507868fd2147dadf537) )
|
||||||
ROM_LOAD( "6047204005.u15", 0x2000, 0x0800, CRC(70bfac37) SHA1(84081249ead5b957d98b3bd06665ef52d0a0243c) )
|
ROM_LOAD( "6047204005.u15", 0x2000, 0x0800, CRC(70bfac37) SHA1(84081249ead5b957d98b3bd06665ef52d0a0243c) )
|
||||||
ROM_LOAD( "6048225001.u29", 0x3000, 0x1000, CRC(59c73999) SHA1(7dd12b500e13b177d19a24d148310541f7e660b4) )
|
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_LOAD( "ebb-fea-v96-9-23-83-f43a.u11", 0x4000, 0x1000, CRC(0e572470) SHA1(966e5eeb0114589a7cab3c29a1db48cdd8634be5) )
|
||||||
ROM_END
|
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
|
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 sound emulation
|
||||||
- fix sprite communication / banking
|
- fix sprite communication / banking
|
||||||
* bit "output bit 0x02 %d (IC21)" at 0x42 might be important
|
* 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_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
|
* mag_xain sometimes leaves old sprites on the screen, probably due to a lost clear
|
||||||
command
|
command
|
||||||
- fix flipscreen
|
- fix flipscreen
|
||||||
- verify behavior of unknown / unused ports / interrupt sources etc.
|
- verify behavior of unknown / unused ports / interrupt sources etc.
|
||||||
- verify the disk images, convert to a better format that can natively store protection
|
- verify the disk images, convert to a better format that can natively store protection
|
||||||
* RAW data also available if required
|
* RAW data also available if required
|
||||||
* as mentioned, the disks are copy protected, see notes below
|
* 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
|
* are the bad tiles shortly into the first level of mag_exzi caused by a bad dump or
|
||||||
bad comms?
|
bad comms?
|
||||||
- Use proper floppy drive emulation code that originally came from MESS (tied with above)
|
- 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)
|
- 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
|
- 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 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
|
* there seem to be 2 checks, one based on a weird sector on the discs, the other based on
|
||||||
a port read
|
a port read
|
||||||
- add additional hardware notes from ArcadeHacker
|
- add additional hardware notes from ArcadeHacker
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
Magnet System by
|
Magnet System by
|
||||||
|
|
||||||
EFO SA (Electrónica Funcional Operativa SA).
|
EFO SA (Electrónica Funcional Operativa SA).
|
||||||
based on Cedar hardware
|
based on Cedar hardware
|
||||||
|
|
||||||
|
|
||||||
@ -231,19 +231,19 @@ READ8_MEMBER(cedar_magnet_state::port7c_r)
|
|||||||
|
|
||||||
READ8_MEMBER(cedar_magnet_state::port18_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;
|
return 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(cedar_magnet_state::port18_w)
|
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)
|
READ8_MEMBER(cedar_magnet_state::port19_r)
|
||||||
{
|
{
|
||||||
uint8_t ret = 0x00;
|
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)
|
// 9496 in a,($19)
|
||||||
// 9498 bit 2,a
|
// 9498 bit 2,a
|
||||||
@ -255,19 +255,19 @@ READ8_MEMBER(cedar_magnet_state::port19_r)
|
|||||||
|
|
||||||
READ8_MEMBER(cedar_magnet_state::port1a_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;
|
return 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
WRITE8_MEMBER(cedar_magnet_state::port19_w)
|
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)
|
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)
|
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;
|
portff_data = data;
|
||||||
m_cedsound->write_command(data);
|
m_cedsound->write_command(data);
|
||||||
}
|
}
|
||||||
@ -373,8 +373,8 @@ READ8_MEMBER(cedar_magnet_state::other_cpu_r)
|
|||||||
if (cpus_accessed != 1)
|
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);
|
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))
|
// 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);
|
// 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;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -415,14 +415,14 @@ WRITE8_MEMBER(cedar_magnet_state::other_cpu_w)
|
|||||||
{
|
{
|
||||||
cpus_accessed++;
|
cpus_accessed++;
|
||||||
m_cedsound->write_cpu_bus(offset2, data);
|
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)
|
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);
|
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))
|
// 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);
|
// 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_ADDRESS_MAP_BANK_STRIDE(0x100)
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("z80pio_ic48", Z80PIO, 4000000/2)
|
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_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_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_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_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_state, ic48_pio_pb_w))
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("z80pio_ic49", Z80PIO, 4000000/2)
|
MCFG_DEVICE_ADD("z80pio_ic49", 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, ic49_pio_pa_r)) // NOT USED
|
// 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_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_IN_PB_CB(READ8(cedar_magnet_state, ic49_pio_pb_r))
|
||||||
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_state, ic49_pio_pb_w))
|
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_state, ic49_pio_pb_w))
|
||||||
|
|
||||||
@ -737,17 +737,17 @@ ROM_START( mag_xain )
|
|||||||
ROM_END
|
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
|
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
|
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.
|
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)
|
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)
|
: 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:
|
case 0xd0:
|
||||||
//printf("force interrupt?\n");
|
//printf("force interrupt?\n");
|
||||||
// m_flopstat = 0x06;
|
// m_flopstat = 0x06;
|
||||||
// m_flopstat &= ~0x07;
|
// m_flopstat &= ~0x07;
|
||||||
// m_maincpu->set_input_line(0, HOLD_LINE);
|
// m_maincpu->set_input_line(0, HOLD_LINE);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -210,7 +210,7 @@ WRITE8_MEMBER(cedar_magnet_flop_device::write)
|
|||||||
switch (offset & 3)
|
switch (offset & 3)
|
||||||
{
|
{
|
||||||
case 0x00:port60_w(space, offset, data);break;
|
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 0x02:port62_w(space, offset, data);break;
|
||||||
case 0x03:port63_w(space, offset, data);break;
|
case 0x03:port63_w(space, offset, data);break;
|
||||||
default: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_CPU_VBLANK_INT_DRIVER(":screen", cedar_magnet_board_device, irq)
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("z80pio0", Z80PIO, 4000000/2)
|
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_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_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_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_plane_device, pio0_pb_w))
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("z80pio1", Z80PIO, 4000000/2)
|
MCFG_DEVICE_ADD("z80pio1", 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, pio1_pa_r))
|
// 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_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))
|
MCFG_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_plane_device, pio1_pb_w))
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ MACHINE_CONFIG_END
|
|||||||
READ8_MEMBER(cedar_magnet_plane_device::pio0_pa_r)
|
READ8_MEMBER(cedar_magnet_plane_device::pio0_pa_r)
|
||||||
{
|
{
|
||||||
// this is read
|
// this is read
|
||||||
// logerror("%s: pio0_pa_r\n", machine().describe_context());
|
// logerror("%s: pio0_pa_r\n", machine().describe_context());
|
||||||
return 0x00;
|
return 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,12 +22,12 @@ public:
|
|||||||
|
|
||||||
DECLARE_READ8_MEMBER(pio0_pa_r);
|
DECLARE_READ8_MEMBER(pio0_pa_r);
|
||||||
DECLARE_WRITE8_MEMBER(pio0_pa_w);
|
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_WRITE8_MEMBER(pio0_pb_w);
|
||||||
|
|
||||||
// DECLARE_READ8_MEMBER(pio1_pa_r);
|
// DECLARE_READ8_MEMBER(pio1_pa_r);
|
||||||
DECLARE_WRITE8_MEMBER(pio1_pa_w);
|
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(pio1_pb_w);
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER(plane_portcc_w);
|
DECLARE_WRITE8_MEMBER(plane_portcc_w);
|
||||||
@ -51,7 +51,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
// virtual void device_reset() override;
|
// virtual void device_reset() override;
|
||||||
|
|
||||||
private:
|
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)
|
READ8_MEMBER(cedar_magnet_sound_device::top_port14_r)
|
||||||
{
|
{
|
||||||
// uint8_t ret = m_command;
|
// uint8_t ret = m_command;
|
||||||
// m_command = 0;
|
// m_command = 0;
|
||||||
return rand();
|
return rand();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,12 +57,12 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
WRITE_LINE_MEMBER(cedar_magnet_sound_device::ctc0_z0_w)
|
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)
|
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)
|
WRITE_LINE_MEMBER(cedar_magnet_sound_device::ctc1_int_w)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
switch (rand()&0x1)
|
switch (rand()&0x1)
|
||||||
{
|
{
|
||||||
case 0x00:
|
case 0x00:
|
||||||
m_ctc0->trg0(rand()&1);
|
m_ctc0->trg0(rand()&1);
|
||||||
break;
|
break;
|
||||||
case 0x01:
|
case 0x01:
|
||||||
m_ctc0->trg1(rand()&1);
|
m_ctc0->trg1(rand()&1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -121,7 +121,7 @@ static MACHINE_CONFIG_FRAGMENT( cedar_magnet_sound )
|
|||||||
MCFG_CPU_ADD("topcpu", Z80,4000000)
|
MCFG_CPU_ADD("topcpu", Z80,4000000)
|
||||||
MCFG_CPU_PROGRAM_MAP(cedar_magnet_sound_map)
|
MCFG_CPU_PROGRAM_MAP(cedar_magnet_sound_map)
|
||||||
MCFG_CPU_IO_MAP(cedar_magnet_sound_io)
|
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_DEVICE_ADD("ctc0", Z80CTC, 4000000/8 )
|
||||||
MCFG_Z80CTC_INTR_CB(WRITELINE(cedar_magnet_sound_device, ctc0_int_w))
|
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_DEVICE_ADD("ctc1", Z80CTC, 4000000/8 )
|
||||||
MCFG_Z80CTC_INTR_CB(INPUTLINE("topcpu", INPUT_LINE_IRQ0))
|
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_INTR_CB(WRITELINE(cedar_magnet_sound_device, ctc1_int_w))
|
||||||
MCFG_Z80CTC_ZC0_CB(WRITELINE(cedar_magnet_sound_device, ctc1_z0_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))
|
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()
|
void cedar_magnet_sprite_device::do_blit()
|
||||||
{
|
{
|
||||||
// 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("~~~~~~~~~~~~~~~~~ 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");
|
||||||
|
|
||||||
int ysize;
|
int ysize;
|
||||||
int xsize;
|
int xsize;
|
||||||
@ -159,7 +159,7 @@ void cedar_magnet_sprite_device::do_blit()
|
|||||||
WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port80_w)
|
WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port80_w)
|
||||||
{
|
{
|
||||||
m_spritecodelow = data;
|
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();
|
do_blit();
|
||||||
}
|
}
|
||||||
@ -168,20 +168,20 @@ WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port84_w)
|
|||||||
{
|
{
|
||||||
m_spritecodehigh = data;
|
m_spritecodehigh = data;
|
||||||
m_high_write = 1;
|
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)
|
WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port88_w)
|
||||||
{
|
{
|
||||||
// frequent
|
// 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;
|
m_upperaddr = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(cedar_magnet_sprite_device::pio2_pa_w)
|
WRITE8_MEMBER(cedar_magnet_sprite_device::pio2_pa_w)
|
||||||
{
|
{
|
||||||
// frequent
|
// 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;
|
m_loweraddr = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port8c_w)
|
|||||||
// possible watchdog?
|
// possible watchdog?
|
||||||
WRITE8_MEMBER(cedar_magnet_sprite_device::sprite_port9c_w)
|
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 )
|
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_CPU_VBLANK_INT_DRIVER(":screen", cedar_magnet_board_device, irq)
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("z80pio0", Z80PIO, 4000000/2)
|
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_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_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_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_sprite_device, pio0_pb_w))
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("z80pio1", Z80PIO, 4000000/2)
|
MCFG_DEVICE_ADD("z80pio1", 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, pio1_pa_r))
|
// 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_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_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_sprite_device, pio1_pb_w))
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("z80pio2", Z80PIO, 4000000/2)
|
MCFG_DEVICE_ADD("z80pio2", 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, pio2_pa_r))
|
// 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_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_Z80PIO_OUT_PB_CB(WRITE8(cedar_magnet_sprite_device, pio2_pb_w))
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("sp_sub_ram", ADDRESS_MAP_BANK, 0)
|
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)
|
READ8_MEMBER(cedar_magnet_sprite_device::pio0_pa_r)
|
||||||
{
|
{
|
||||||
// actually read
|
// actually read
|
||||||
// printf("%s: pio0_pa_r\n", machine().describe_context());
|
// printf("%s: pio0_pa_r\n", machine().describe_context());
|
||||||
return 0x00;
|
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)
|
uint32_t cedar_magnet_sprite_device::draw(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int palbase)
|
||||||
{
|
{
|
||||||
// printf("-----------------------------------------------------------------------------------------------------------\n");
|
// printf("-----------------------------------------------------------------------------------------------------------\n");
|
||||||
// printf("--------------------------------------------- FRAME -------------------------------------------------------\n");
|
// printf("--------------------------------------------- FRAME -------------------------------------------------------\n");
|
||||||
// printf("-----------------------------------------------------------------------------------------------------------\n");
|
// printf("-----------------------------------------------------------------------------------------------------------\n");
|
||||||
|
|
||||||
uint8_t* mem = m_framebuffer;
|
uint8_t* mem = m_framebuffer;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
|
||||||
// if (!(m_m_spritesize & 0x40))
|
// if (!(m_m_spritesize & 0x40))
|
||||||
// return 0;
|
// return 0;
|
||||||
|
|
||||||
for (int y = 0;y < 256;y++)
|
for (int y = 0;y < 256;y++)
|
||||||
{
|
{
|
||||||
|
@ -31,17 +31,17 @@ public:
|
|||||||
|
|
||||||
DECLARE_READ8_MEMBER(pio0_pa_r);
|
DECLARE_READ8_MEMBER(pio0_pa_r);
|
||||||
DECLARE_WRITE8_MEMBER(pio0_pa_w);
|
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_WRITE8_MEMBER(pio0_pb_w);
|
||||||
|
|
||||||
// DECLARE_READ8_MEMBER(pio1_pa_r);
|
// DECLARE_READ8_MEMBER(pio1_pa_r);
|
||||||
DECLARE_WRITE8_MEMBER(pio1_pa_w);
|
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(pio1_pb_w);
|
||||||
|
|
||||||
// DECLARE_READ8_MEMBER(pio2_pa_r);
|
// DECLARE_READ8_MEMBER(pio2_pa_r);
|
||||||
DECLARE_WRITE8_MEMBER(pio2_pa_w);
|
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(pio2_pb_w);
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER(sprite_port80_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)
|
AM_RANGE(0x082400, 0x082401) AM_WRITE(active_layers_w)
|
||||||
|
|
||||||
/* It's actually 0x840000-0x847ff, divided in four banks and shared with other boards.
|
/* 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.
|
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
|
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. */
|
so it's likely to be the only thing needed. */
|
||||||
AM_RANGE(0x084000, 0x0847ff) AM_RAM // Linking with other units
|
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(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
|
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;
|
uint16_t split_in = 0xffff;
|
||||||
switch(m_wildplt_output & 0xc)
|
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 4: split_in = ioport("IN1_1")->read(); break;
|
||||||
case 8: split_in = ioport("IN1_2")->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(0x082308, 0x082309) AM_READNOP AM_WRITE(f1gpstar_comms_w)
|
||||||
AM_RANGE(0x082400, 0x082401) AM_WRITE(active_layers_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(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
|
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)
|
if(scanline == 0)
|
||||||
m_cpu1->set_input_line(2, HOLD_LINE);
|
m_cpu1->set_input_line(2, HOLD_LINE);
|
||||||
|
|
||||||
// if(scanline == 69)
|
// if(scanline == 69)
|
||||||
// m_cpu1->set_input_line(1, HOLD_LINE);
|
// m_cpu1->set_input_line(1, HOLD_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -274,9 +274,9 @@ private:
|
|||||||
uint8_t m_env_dir_ctrl;
|
uint8_t m_env_dir_ctrl;
|
||||||
uint8_t m_vol_latch;
|
uint8_t m_vol_latch;
|
||||||
uint8_t m_flt_latch;
|
uint8_t m_flt_latch;
|
||||||
uint8_t m_rp;
|
uint8_t m_rp;
|
||||||
uint8_t m_ws;
|
uint8_t m_ws;
|
||||||
int m_dir;
|
int m_dir;
|
||||||
|
|
||||||
double m_freq;
|
double m_freq;
|
||||||
bool m_active;
|
bool m_active;
|
||||||
|
@ -1388,8 +1388,8 @@ ROM_START( crzyddz2 )
|
|||||||
ROM_LOAD( "rom.u48", 0x000000, 0x1000000, CRC(e24257c4) SHA1(569d79a61ff6d35100ba5727069363146df9e0b7) )
|
ROM_LOAD( "rom.u48", 0x000000, 0x1000000, CRC(e24257c4) SHA1(569d79a61ff6d35100ba5727069363146df9e0b7) )
|
||||||
|
|
||||||
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASEFF )
|
ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASEFF )
|
||||||
ROM_COPY( "user1", 0x000000, 0x000000, 0x1000000 ) // copy flash here
|
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_LOAD( "27c322.u36", 0x000000, 0x0200000, CRC(b3177f39) SHA1(2a28bf8045bd2e053d88549b79fbc11f30ef9a32) ) // 1ST AND 2ND HALF IDENTICAL
|
||||||
ROM_CONTINUE( 0x000000, 0x0200000 )
|
ROM_CONTINUE( 0x000000, 0x0200000 )
|
||||||
|
|
||||||
ROM_REGION( 0x4280, "pic", 0 ) // hy04
|
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)
|
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);
|
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( "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) )
|
ROM_LOAD( "hrom_6-25_m105_pts.1c", 0x0e000, 0x2000, CRC(6ddc1750) SHA1(ee19206b7f4a98e3e7647414127f4e09b3e9134f) )
|
||||||
/* Banked roms */
|
/* 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_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( "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( "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( "bingo_8-16_m105.5", 0x18000, 0x2000, CRC(de87ed0a) SHA1(4a26d93368c1a39dd38aabe450c34203101f0ef7) ) //not original sticker selftest report 10-7-86 date!!
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( amuse ) /* v50.08 with most roms for IAM dated 8-16-84 */
|
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)
|
DRIVER_INIT_MEMBER(igs017_state,tarzana)
|
||||||
{
|
{
|
||||||
tarzana_decrypt_program_rom();
|
tarzana_decrypt_program_rom();
|
||||||
// tarzana_decrypt_tiles(); // to do
|
// tarzana_decrypt_tiles(); // to do
|
||||||
}
|
}
|
||||||
|
|
||||||
// starzan
|
// starzan
|
||||||
|
@ -58,12 +58,12 @@
|
|||||||
#include "machine/ds1386.h"
|
#include "machine/ds1386.h"
|
||||||
#include "machine/z80scc.h"
|
#include "machine/z80scc.h"
|
||||||
|
|
||||||
#define SCC_TAG "scc"
|
#define SCC_TAG "scc"
|
||||||
#define PI1_TAG "pi1"
|
#define PI1_TAG "pi1"
|
||||||
#define KBDC_TAG "kbdc"
|
#define KBDC_TAG "kbdc"
|
||||||
#define PIT_TAG "pit"
|
#define PIT_TAG "pit"
|
||||||
|
|
||||||
#define SCC_CLOCK XTAL_10MHz
|
#define SCC_CLOCK XTAL_10MHz
|
||||||
|
|
||||||
#define MCFG_IOC2_GUINNESS_ADD(_tag) \
|
#define MCFG_IOC2_GUINNESS_ADD(_tag) \
|
||||||
MCFG_DEVICE_ADD(_tag, SGI_IOC2_GUINNESS, 0)
|
MCFG_DEVICE_ADD(_tag, SGI_IOC2_GUINNESS, 0)
|
||||||
@ -96,7 +96,7 @@ protected:
|
|||||||
|
|
||||||
required_device<mips3_device> m_maincpu;
|
required_device<mips3_device> m_maincpu;
|
||||||
required_device<scc85C30_device> m_scc;
|
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
|
// TODO: SGI parallel port (SGIPP), HP BOISE high speed parallel port (HPBPP), and Ricoh scanner modes
|
||||||
required_device<kbdc8042_device> m_kbdc;
|
required_device<kbdc8042_device> m_kbdc;
|
||||||
required_device<pit8254_device> m_pit;
|
required_device<pit8254_device> m_pit;
|
||||||
@ -123,9 +123,9 @@ protected:
|
|||||||
uint8_t m_int3_timer_clear_reg;
|
uint8_t m_int3_timer_clear_reg;
|
||||||
uint8_t m_int3_err_status_reg;
|
uint8_t m_int3_err_status_reg;
|
||||||
|
|
||||||
uint32_t m_par_read_cnt;
|
uint32_t m_par_read_cnt;
|
||||||
uint32_t m_par_cntl;
|
uint32_t m_par_cntl;
|
||||||
uint8_t m_system_id;
|
uint8_t m_system_id;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ioc2_guinness_device : public ioc2_device
|
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 )
|
static INPUT_PORTS_START( front_panel )
|
||||||
PORT_START("panel_buttons")
|
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(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(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(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Volume Up") PORT_CHANGED_MEMBER(DEVICE_SELF, ioc2_device, volume_up, 0)
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
ioport_constructor ioc2_device::device_input_ports() const
|
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_STATE (0x01)
|
||||||
#define FRONT_PANEL_POWER_BUTTON_INT (0x02)
|
#define FRONT_PANEL_POWER_BUTTON_INT (0x02)
|
||||||
#define FRONT_PANEL_VOL_DOWN_INT (0x10)
|
#define FRONT_PANEL_VOL_DOWN_INT (0x10)
|
||||||
#define FRONT_PANEL_VOL_DOWN_HOLD (0x20)
|
#define FRONT_PANEL_VOL_DOWN_HOLD (0x20)
|
||||||
#define FRONT_PANEL_VOL_UP_INT (0x40)
|
#define FRONT_PANEL_VOL_UP_INT (0x40)
|
||||||
#define FRONT_PANEL_VOL_UP_HOLD (0x80)
|
#define FRONT_PANEL_VOL_UP_HOLD (0x80)
|
||||||
|
|
||||||
void ioc2_device::device_start()
|
void ioc2_device::device_start()
|
||||||
{
|
{
|
||||||
@ -336,9 +336,9 @@ READ32_MEMBER( ioc2_device::read )
|
|||||||
case 0x68/4: // DMA_SEL Register
|
case 0x68/4: // DMA_SEL Register
|
||||||
// Bits 2-0 not quite understood, seem to be copy/paste error in SGI's own documents:
|
// 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.]
|
// 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"?]
|
// 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?]
|
// 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;
|
return m_dma_sel;
|
||||||
|
|
||||||
case 0x70/4: // Reset Register
|
case 0x70/4: // Reset Register
|
||||||
@ -347,15 +347,15 @@ READ32_MEMBER( ioc2_device::read )
|
|||||||
case 0x78/4: // Write Register
|
case 0x78/4: // Write Register
|
||||||
// Not yet implemented, some bits unnecessary:
|
// Not yet implemented, some bits unnecessary:
|
||||||
//
|
//
|
||||||
// Bit Oper Description
|
// Bit Oper Description
|
||||||
// 7 RW Margin High. Set low for normal +5V operation, high to step supply up to +5.5V. Cleared at reset.
|
// 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.
|
// 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.
|
// 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.
|
// 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.
|
// 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.
|
// 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.
|
// 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).
|
// 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;
|
return m_write_reg;
|
||||||
|
|
||||||
case 0x80/4: // INT3 Local0 Status Register
|
case 0x80/4: // INT3 Local0 Status Register
|
||||||
@ -398,10 +398,10 @@ READ32_MEMBER( ioc2_device::read )
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define DMA_SEL_CLOCK_SEL_MASK (0x30)
|
#define DMA_SEL_CLOCK_SEL_MASK (0x30)
|
||||||
#define DMA_SEL_CLOCK_SEL_10MHz (0x00)
|
#define DMA_SEL_CLOCK_SEL_10MHz (0x00)
|
||||||
#define DMA_SEL_CLOCK_SEL_6_67MHz (0x10)
|
#define DMA_SEL_CLOCK_SEL_6_67MHz (0x10)
|
||||||
#define DMA_SEL_CLOCK_SEL_EXT (0x20)
|
#define DMA_SEL_CLOCK_SEL_EXT (0x20)
|
||||||
|
|
||||||
WRITE32_MEMBER( ioc2_device::write )
|
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:
|
// 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.
|
// 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.]
|
// 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"?]
|
// 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?]
|
// 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;
|
uint8_t old = m_dma_sel;
|
||||||
m_dma_sel = data;
|
m_dma_sel = data;
|
||||||
uint8_t diff = old ^ m_dma_sel;
|
uint8_t diff = old ^ m_dma_sel;
|
||||||
@ -559,8 +559,8 @@ INPUT_CHANGED_MEMBER( ioc2_device::volume_down )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define IOC2_TAG "ioc2"
|
#define IOC2_TAG "ioc2"
|
||||||
#define RTC_TAG "ds1386"
|
#define RTC_TAG "ds1386"
|
||||||
|
|
||||||
struct hpc3_t
|
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}"))
|
else if (strstr(m_galil_output,"MG \"Z\", _TSZ {$2.0}"))
|
||||||
set_input("Z$00");
|
set_input("Z$00");
|
||||||
/*else if (strstr(m_galil_output,"MG \"G\""))
|
/*else if (strstr(m_galil_output,"MG \"G\""))
|
||||||
set_input("G");
|
set_input("G");
|
||||||
else if (strstr(m_galil_output,"MG \"W\""))
|
else if (strstr(m_galil_output,"MG \"W\""))
|
||||||
set_input("W");
|
set_input("W");
|
||||||
else if (strstr(m_galil_output,"MG \"S\""))
|
else if (strstr(m_galil_output,"MG \"S\""))
|
||||||
set_input("S");
|
set_input("S");
|
||||||
else if (strstr(m_galil_output,"MG \"Q\""))
|
else if (strstr(m_galil_output,"MG \"Q\""))
|
||||||
set_input("Q");*/
|
set_input("Q");*/
|
||||||
else
|
else
|
||||||
set_input(":");
|
set_input(":");
|
||||||
logerror("Galil Command: %s\n", m_galil_output);
|
logerror("Galil Command: %s\n", m_galil_output);
|
||||||
|
@ -57,7 +57,7 @@ public:
|
|||||||
m_oki(*this, "oki"),
|
m_oki(*this, "oki"),
|
||||||
m_hopper(*this, "hopper"),
|
m_hopper(*this, "hopper"),
|
||||||
m_mainram(*this, "mainram"),
|
m_mainram(*this, "mainram"),
|
||||||
// m_vram(*this, "vram"),
|
// m_vram(*this, "vram"),
|
||||||
m_palette(*this, "palette")
|
m_palette(*this, "palette")
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -68,7 +68,7 @@ public:
|
|||||||
required_device<ticket_dispenser_device> m_hopper;
|
required_device<ticket_dispenser_device> m_hopper;
|
||||||
|
|
||||||
required_shared_ptr<uint32_t> m_mainram;
|
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];
|
uint8_t m_pal[0x200];
|
||||||
uint32_t m_vram0[0x20000 / 4];
|
uint32_t m_vram0[0x20000 / 4];
|
||||||
uint32_t m_vram1[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
|
// bit 0x01 alternates frequently, using as video buffer, but that's a complete guess
|
||||||
m_control = data;
|
m_control = data;
|
||||||
|
|
||||||
// if (data &~0x9e)
|
// if (data &~0x9e)
|
||||||
// printf("control_w %02x\n", data);
|
// printf("control_w %02x\n", data);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(mjsenpu_state::mux_w)
|
WRITE8_MEMBER(mjsenpu_state::mux_w)
|
||||||
@ -506,7 +506,7 @@ READ32_MEMBER(mjsenpu_state::mjsenpu_speedup_r)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// printf("%08x\n", pc);
|
// printf("%08x\n", pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_mainram[0x23468/4];
|
return m_mainram[0x23468/4];
|
||||||
|
@ -360,7 +360,7 @@ static INPUT_PORTS_START( mjsister )
|
|||||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||||
|
|
||||||
PORT_START("IN0")
|
PORT_START("IN0")
|
||||||
|
@ -1243,7 +1243,7 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
|
|
||||||
static INPUT_PORTS_START( scandal )
|
static INPUT_PORTS_START( scandal )
|
||||||
// do not have the manual
|
// do not have the manual
|
||||||
PORT_START("DSWA")
|
PORT_START("DSWA")
|
||||||
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSWA:1,2,3")
|
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSWA:1,2,3")
|
||||||
PORT_DIPSETTING( 0x07, "1 (Easy)" )
|
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_DIPNAME( 0x40, 0x40, "Character Display Test" ) PORT_DIPLOCATION("DSWA:7")
|
||||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
|
||||||
|
@ -331,35 +331,35 @@ static INPUT_PORTS_START( niyanpai )
|
|||||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("DSWA")
|
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( 0x03, "1" )
|
||||||
PORT_DIPSETTING( 0x02, "2" )
|
PORT_DIPSETTING( 0x02, "2" )
|
||||||
PORT_DIPSETTING( 0x01, "3" )
|
PORT_DIPSETTING( 0x01, "3" )
|
||||||
PORT_DIPSETTING( 0x00, "4" )
|
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( 0x00, DEF_STR( 2C_1C ) )
|
||||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
|
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( 0x10, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x20, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x00, DEF_STR( Upright ) )
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
|
||||||
|
|
||||||
PORT_START("DSWB")
|
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( 0x01, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
|
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( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
@ -458,50 +458,50 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
static INPUT_PORTS_START( musobana ) // I don't have manual for this game.
|
static INPUT_PORTS_START( musobana ) // I don't have manual for this game.
|
||||||
PORT_START("DSWA")
|
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( 0x03, "90% (Easy)" )
|
||||||
PORT_DIPSETTING( 0x02, "80%" )
|
PORT_DIPSETTING( 0x02, "80%" )
|
||||||
PORT_DIPSETTING( 0x01, "70%" )
|
PORT_DIPSETTING( 0x01, "70%" )
|
||||||
PORT_DIPSETTING( 0x00, "60% (Hard)" )
|
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( 0x00, DEF_STR( 2C_1C ) )
|
||||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
|
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( 0x10, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x20, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x80, "Medal Type" )
|
||||||
PORT_DIPSETTING( 0x00, "Credit Type" )
|
PORT_DIPSETTING( 0x00, "Credit Type" )
|
||||||
|
|
||||||
PORT_START("DSWB")
|
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( 0x03, "1" )
|
||||||
PORT_DIPSETTING( 0x02, "2" )
|
PORT_DIPSETTING( 0x02, "2" )
|
||||||
PORT_DIPSETTING( 0x01, "3" )
|
PORT_DIPSETTING( 0x01, "3" )
|
||||||
PORT_DIPSETTING( 0x00, "5" )
|
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( 0x0c, "1" )
|
||||||
PORT_DIPSETTING( 0x08, "5" )
|
PORT_DIPSETTING( 0x08, "5" )
|
||||||
PORT_DIPSETTING( 0x04, "10" )
|
PORT_DIPSETTING( 0x04, "10" )
|
||||||
PORT_DIPSETTING( 0x00, "20" )
|
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( 0x10, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x20, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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.
|
static INPUT_PORTS_START( mhhonban ) // I don't have manual for this game.
|
||||||
PORT_START("DSWA")
|
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( 0x01, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x02, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x04, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x08, DEF_STR( 1C_1C ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
|
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( 0x10, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x20, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
|
||||||
PORT_START("DSWB")
|
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( 0x01, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x02, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x04, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x08, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x10, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x20, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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.
|
static INPUT_PORTS_START( zokumahj ) // I don't have manual for this game.
|
||||||
PORT_START("DSWA")
|
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( 0x01, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x02, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x04, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x08, DEF_STR( 1C_1C ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
|
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( 0x10, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x20, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
|
||||||
PORT_START("DSWB")
|
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( 0x01, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x02, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x04, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x08, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x10, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x20, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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)
|
// * 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?
|
// 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
|
// 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
|
// (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)
|
// and if that isn't the case large parts of one screen end up not updating at all)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// license:GPL-2.0+
|
// 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_WRITE_BUFFER 0x01 // 0xFE
|
||||||
#define GDC_SELECT_PATTERN_MULTIPLIER 0x02 // 0xFD
|
#define GDC_SELECT_PATTERN_MULTIPLIER 0x02 // 0xFD
|
||||||
#define GDC_SELECT_PATTERN 0x04 // 0xFB
|
#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_ALU_PS 0x10 // 0xEF
|
||||||
#define GDC_SELECT_COLOR_MAP 0x20 // 0xDF
|
#define GDC_SELECT_COLOR_MAP 0x20 // 0xDF
|
||||||
#define GDC_SELECT_MODE_REGISTER 0x40 // 0xBF
|
#define GDC_SELECT_MODE_REGISTER 0x40 // 0xBF
|
||||||
#define GDC_SELECT_SCROLL_MAP 0x80 // 0x7F
|
#define GDC_SELECT_SCROLL_MAP 0x80 // 0x7F
|
||||||
|
|
||||||
// MODE REGISTER
|
// MODE REGISTER
|
||||||
#define GDC_MODE_HIGHRES 0x01
|
#define GDC_MODE_HIGHRES 0x01
|
||||||
#define GDC_MODE_VECTOR 0x02
|
#define GDC_MODE_VECTOR 0x02
|
||||||
|
|
||||||
// ( " ) READBACK OPERATION (if ENABLE_WRITES = 0):
|
// ( " ) 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
|
#define GDC_MODE_READONLY_SCROLL_MAP 0x20
|
||||||
|
|
||||||
// ( " ) READBACK OPERATION (plane select = bit mask in bits 2 + 3 of MODE register):
|
// ( " ) 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_MASK 12
|
||||||
#define GDC_MODE_READBACK_PLANE_00 0x00
|
#define GDC_MODE_READBACK_PLANE_00 0x00
|
||||||
#define GDC_MODE_READBACK_PLANE_01 0x04
|
#define GDC_MODE_READBACK_PLANE_01 0x04
|
||||||
#define GDC_MODE_READBACK_PLANE_02 0x08
|
#define GDC_MODE_READBACK_PLANE_02 0x08
|
||||||
#define GDC_MODE_READBACK_PLANE_03 0x0c
|
#define GDC_MODE_READBACK_PLANE_03 0x0c
|
||||||
|
|
||||||
#define GDC_MODE_ENABLE_VSYNC_IRQ 0x40
|
#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):
|
// ALU_PS REGISTER (bits 5 + 4):
|
||||||
#define ALU_PS_MODE_MASK 48
|
#define ALU_PS_MODE_MASK 48
|
||||||
@ -684,22 +684,22 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
// GDC RESET MACRO - used in "machine_reset" & GDC_EXTRA_REGISTER_w !
|
// GDC RESET MACRO - used in "machine_reset" & GDC_EXTRA_REGISTER_w !
|
||||||
#define GDC_RESET_MACRO \
|
#define GDC_RESET_MACRO \
|
||||||
m_GDC_INDIRECT_REGISTER = 0; \
|
m_GDC_INDIRECT_REGISTER = 0; \
|
||||||
m_GDC_MODE_REGISTER = 0; \
|
m_GDC_MODE_REGISTER = 0; \
|
||||||
m_GDC_WRITE_MASK = 0; \
|
m_GDC_WRITE_MASK = 0; \
|
||||||
m_GDC_write_buffer_index = 0; \
|
m_GDC_write_buffer_index = 0; \
|
||||||
m_GDC_scroll_index = 0; \
|
m_GDC_scroll_index = 0; \
|
||||||
m_GDC_color_map_index = 0; \
|
m_GDC_color_map_index = 0; \
|
||||||
m_GDC_ALU_PS_REGISTER = 0; \
|
m_GDC_ALU_PS_REGISTER = 0; \
|
||||||
m_vpat = 0; \
|
m_vpat = 0; \
|
||||||
m_patmult = 0; \
|
m_patmult = 0; \
|
||||||
m_patcnt = 0; \
|
m_patcnt = 0; \
|
||||||
m_patidx = 7; \
|
m_patidx = 7; \
|
||||||
m_GDC_FG_BG = 0; \
|
m_GDC_FG_BG = 0; \
|
||||||
m_color_map_changed = true; \
|
m_color_map_changed = true; \
|
||||||
for(int i=0; i <256; i++) { m_GDC_SCROLL_BUFFER[i] = m_GDC_SCROLL_BUFFER_PRELOAD[i] = i; };\
|
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");
|
printf("\n** NEC 7220 GDC RESET **\n");
|
||||||
|
|
||||||
UPD7220_DISPLAY_PIXELS_MEMBER( rainbow_state::hgdc_display_pixels )
|
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
|
return; // no output from graphics option
|
||||||
|
|
||||||
// ********************* GET BITMAP DATA FOR 4 PLANES ***************************************
|
// ********************* 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)
|
if(m_GDC_MODE_REGISTER & GDC_MODE_HIGHRES)
|
||||||
{
|
{
|
||||||
// HIGH RES (2 planes, 2 color bits, 4 color map entries / 4 MONOCHROME SHADES)
|
// 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)!
|
// 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 (?):
|
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
|
plane1 = m_video_ram[ ((address & 0x7fff) + 0x20000) >> 1 ]; // 8 x 32 K is 0x40000, see page 16
|
||||||
plane2 = 0;
|
plane2 = 0;
|
||||||
@ -1196,7 +1196,7 @@ uint32_t rainbow_state::screen_update_rainbow(screen_device &screen, bitmap_ind1
|
|||||||
|
|
||||||
#ifdef BOOST_DEBUG_PERFORMANCE
|
#ifdef BOOST_DEBUG_PERFORMANCE
|
||||||
uint8_t *ram = memregion("maincpu")->base();
|
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
|
if( (MOTOR_DISABLE_counter) || (ram[0xEFFFE] & 16) ) // if HDD/FDD ACTIVITY -OR- SMOOTH SCROLL IN PROGRESS
|
||||||
return 0;
|
return 0;
|
||||||
@ -1204,14 +1204,14 @@ uint32_t rainbow_state::screen_update_rainbow(screen_device &screen, bitmap_ind1
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int monitor_selected = m_inp13->read();
|
int monitor_selected = m_inp13->read();
|
||||||
if(monitor_selected != old_monitor)
|
if(monitor_selected != old_monitor)
|
||||||
{
|
{
|
||||||
old_monitor = monitor_selected;
|
old_monitor = monitor_selected;
|
||||||
m_color_map_changed = true;
|
m_color_map_changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int palette_selected = m_inp9->read();
|
int palette_selected = m_inp9->read();
|
||||||
if(palette_selected != old_palette)
|
if(palette_selected != old_palette)
|
||||||
{
|
{
|
||||||
old_palette = palette_selected;
|
old_palette = palette_selected;
|
||||||
m_color_map_changed = true;
|
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 ...
|
for(xi=0;xi<16;xi++) // DELAYED LOAD OF PALETTE ...
|
||||||
{
|
{
|
||||||
uint8_t colordata1 = m_GDC_COLOR_MAP[xi];
|
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
|
// Color map: 32 x 8
|
||||||
// 2nd 16 Byte 1st 16 Bytes (colordata1)
|
// 2nd 16 Byte 1st 16 Bytes (colordata1)
|
||||||
// ----------- ------------
|
// ----------- ------------
|
||||||
// 7..4 3..0 7..4 3..0
|
// 7..4 3..0 7..4 3..0
|
||||||
// Mono Blue Red Green
|
// Mono Blue Red Green
|
||||||
mono = (colordata2 & 0xF0) >> 4; // FIXME: limit palette in appropriate modes on 100-A
|
mono = (colordata2 & 0xF0) >> 4; // FIXME: limit palette in appropriate modes on 100-A
|
||||||
blue = (colordata2 & 0x0F);
|
blue = (colordata2 & 0x0F);
|
||||||
|
|
||||||
red = (colordata1 & 0xF0) >> 4;
|
red = (colordata1 & 0xF0) >> 4;
|
||||||
green =(colordata1 & 0x0F);
|
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())
|
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:
|
// 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.
|
// 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.
|
// 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_ONBOARD_GRAPHICS_SELECTED)
|
||||||
{
|
{
|
||||||
if(m_inp7->read() == 1)
|
if(m_inp7->read() == 1)
|
||||||
printf("\nHINT: GRAPHICS OPTION ON. TEXT ONLY (DC011/DC012) OUTPUT NOW DISABLED.\n");
|
printf("\nHINT: GRAPHICS OPTION ON. TEXT ONLY (DC011/DC012) OUTPUT NOW DISABLED.\n");
|
||||||
else
|
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;
|
m_ONBOARD_GRAPHICS_SELECTED = true;
|
||||||
}
|
}
|
||||||
printf("DATA: %x (PC=%x)\n", data, machine().device("maincpu")->safe_pc());
|
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"
|
// NEW SCROLL_MAP - "valid for reading, writing, and refreshing"
|
||||||
// SEE PAGE 48 OF PDF FOR A DESCRIPTION OF THE SCROLL_MAP / SCROLL BUFFER:
|
// 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;
|
int readback_plane = 0;
|
||||||
|
|
||||||
// READBACK CODE DISABLED, FOR BETTER DEBUGGING (CANT SEE ANYTHING...):
|
// 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
|
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);
|
// printf(" READBACK MODE * ON *; plane selected: %02x ", readback_plane);
|
||||||
}
|
}
|
||||||
return m_video_ram[ (offset & 0xffff) + (0x8000 * 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;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -2728,19 +2728,19 @@ WRITE16_MEMBER(rainbow_state::vram_w)
|
|||||||
m_GDC_write_buffer_index &= 0xf;
|
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.
|
// 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 ****
|
// 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;
|
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 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 back = (m_GDC_FG_BG & 0x0f); // background : 0..3 confirmed, see p.39 AA-AE36A (PDF)
|
||||||
|
|
||||||
for(int i = 0; i <= 3; i++)
|
for(int i = 0; i <= 3; i++)
|
||||||
{
|
{
|
||||||
if( BIT(ps,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
|
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 )
|
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(offset > 0) // Port $50 reset done @ boot ROM 1EB4/8 regardless if option present.
|
||||||
if (m_inp7->read() != 1)
|
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("\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());
|
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)
|
switch(offset)
|
||||||
{
|
{
|
||||||
case 0: // Mode Register must be reloaded following any write to port 50 (software reset).
|
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.
|
// read/modify/write memory cycles of the Graphics Option to those of the GDC.
|
||||||
GDC_RESET_MACRO
|
GDC_RESET_MACRO
|
||||||
break;
|
break;
|
||||||
@ -2816,7 +2816,7 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
|||||||
case 1: // 51h - DATA loaded into register previously written to 53h.
|
case 1: // 51h - DATA loaded into register previously written to 53h.
|
||||||
if(m_GDC_INDIRECT_REGISTER & GDC_SELECT_WRITE_BUFFER) // 0x01
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2918,7 +2918,7 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
|||||||
last_readback = data & GDC_MODE_ENABLE_WRITES;
|
last_readback = data & GDC_MODE_ENABLE_WRITES;
|
||||||
if(data & GDC_MODE_ENABLE_WRITES) // 0x10
|
if(data & GDC_MODE_ENABLE_WRITES) // 0x10
|
||||||
printf(" READBACK: OFF - ENABLE_WRITES ");
|
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?!
|
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;
|
last_scroll_index = m_GDC_scroll_index;
|
||||||
if(data & GDC_MODE_READONLY_SCROLL_MAP) // 0x20
|
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
|
} 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
|
} // GDC_SELECT_MODE_REGISTER
|
||||||
|
|
||||||
printf("\n* UNIMPLEMENTED CASE. MODE = %02x / m_GDC_INDIRECT_REGISTER = %02x\n",m_GDC_MODE_REGISTER, m_GDC_INDIRECT_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:
|
case 2:
|
||||||
// 52h Data written to this port is loaded into the Write Buffer
|
// 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.
|
m_GDC_write_buffer_index &= 0xf; // write up to 16 bytes to port 52h.
|
||||||
break;
|
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;
|
m_GDC_INDIRECT_REGISTER = data ^ 0xff;
|
||||||
|
|
||||||
// Index to WRITE_BUFFER is reset via dummy write to port 51h (not here!).
|
// Index to WRITE_BUFFER is reset via dummy write to port 51h (not here!).
|
||||||
|
|
||||||
if(m_GDC_INDIRECT_REGISTER & GDC_SELECT_COLOR_MAP ) // 0x20
|
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
|
// NEXT: 32 BYTE COLOR MAP, LOADED TO $51
|
||||||
|
|
||||||
if(m_GDC_INDIRECT_REGISTER & GDC_SELECT_SCROLL_MAP ) // 0x80
|
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;
|
last_scroll_index = m_GDC_scroll_index;
|
||||||
printf(" *** SCROLL INDEX COUNTER RESET, old value = %d", 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
|
} // NEXT: LOAD 256 BYTE SCROLL MAP INTO $51
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// --------- WRITE MASK (2 x 8 = 16 bits) USED IN WORD MODE ONLY !
|
// --------- 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...!!
|
// !! NEW: LOW... HI JUXTAPOSITION...!!
|
||||||
case 4: // 54h Write Mask LOW
|
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 );
|
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_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
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( 0x02, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
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(0x30000c, 0x30000d) AM_WRITENOP
|
||||||
AM_RANGE(0x30000e, 0x30000f) AM_READNOP //AM_READ( yutnori_unk_r ) // ??
|
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(0x400000, 0x400001) AM_NOP
|
||||||
|
|
||||||
AM_RANGE(0x500000, 0x5001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
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_CPU_PROGRAM_MAP(yutnori_map)
|
||||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", snowbros_state, snowbros_irq, "screen", 0, 1)
|
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 */
|
/* video hardware */
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
|
@ -2979,19 +2979,19 @@ ROM_START( choroqhr ) // set to 1p
|
|||||||
STV_BIOS
|
STV_BIOS
|
||||||
|
|
||||||
ROM_REGION32_BE( 0x3000000, "cart", ROMREGION_ERASE00 ) /* SH2 code */
|
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( "ic22.bin", 0x0200000, 0x200000, CRC(fd04598b) SHA1(4797127869fafae0ecfddc07b1c1325b11ca981a) )
|
||||||
ROM_LOAD16_WORD_SWAP( "ic24.bin", 0x0400000, 0x200000, CRC(09b8a154) SHA1(cfd212c6fe6188b9c665650b21f2fd80cd65268f) )
|
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( "ic26.bin", 0x0600000, 0x200000, CRC(136ca5e9) SHA1(8697a415d0958e58f5cea5dcc767dd6a4cbdef5c) )
|
||||||
ROM_LOAD16_WORD_SWAP( "ic28.bin", 0x0800000, 0x200000, CRC(3c949563) SHA1(ab2a9f9ec23071cc236dee945b436a9cd73efb92) )
|
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( "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.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.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.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.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.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( "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( "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_REGION16_BE( 0x80, "eeprom", 0 ) // preconfigured to 1 player
|
||||||
ROM_LOAD( "choroqhr.nv", 0x0000, 0x0080, CRC(69a71aea) SHA1(08ca9cd70fa3fa6c3156edd966a81244bad5f0c2) )
|
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( 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( 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( 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 */
|
/* 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 )
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// popmessage("0: %04x", m_outputs16[0]);
|
// popmessage("0: %04x", m_outputs16[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ADDRESS_MAP_START( humlan_map, AS_PROGRAM, 16, subsino2_state )
|
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;
|
rom[0x19A2/2] = 0x4066;
|
||||||
|
|
||||||
// rts -> rte
|
// rts -> rte
|
||||||
rom[0x45E8/2] = 0x5670; // IRQ 8
|
rom[0x45E8/2] = 0x5670; // IRQ 8
|
||||||
rom[0x471C/2] = 0x5670; // IRQ 0
|
rom[0x471C/2] = 0x5670; // IRQ 0
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
@ -2686,8 +2686,8 @@ DRIVER_INIT_MEMBER(subsino2_state,humlan)
|
|||||||
rom[0x170A/2] = 0x4066;
|
rom[0x170A/2] = 0x4066;
|
||||||
|
|
||||||
// rts -> rte
|
// rts -> rte
|
||||||
rom[0x38B4/2] = 0x5670; // IRQ 8
|
rom[0x38B4/2] = 0x5670; // IRQ 8
|
||||||
rom[0x3A08/2] = 0x5670; // IRQ 0
|
rom[0x3A08/2] = 0x5670; // IRQ 0
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
// copyright-holders:Ryan Holtz
|
// copyright-holders:Ryan Holtz
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
|
||||||
VeriFone Tranz 330
|
VeriFone Tranz 330
|
||||||
|
|
||||||
All information gleaned from:
|
All information gleaned from:
|
||||||
http://www.bigmessowires.com/2011/05/10/mapping-the-tranz-330/
|
http://www.bigmessowires.com/2011/05/10/mapping-the-tranz-330/
|
||||||
|
|
||||||
Currently sits in a loop doing very little, based on the disassembly
|
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
|
it presumably needs some kind of interrupt in order to kick it into
|
||||||
running.
|
running.
|
||||||
|
|
||||||
Interrupt Vectors are located at 0200-02FF.
|
Interrupt Vectors are located at 0200-02FF.
|
||||||
Display ram at 9000-90FF says GRAMING ERR 0 (part of PROGRAMING ERR message)
|
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 )
|
static INPUT_PORTS_START( tranz330 )
|
||||||
PORT_START("COL.0")
|
PORT_START("COL.0")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_1) PORT_NAME("1 QZ.")
|
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( 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( 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( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_ASTERISK) PORT_NAME("* ,'\"")
|
||||||
|
|
||||||
PORT_START("COL.1")
|
PORT_START("COL.1")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_2) PORT_NAME("2 ABC")
|
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( 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( 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( 0x08, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_CODE(KEYCODE_0) PORT_NAME("0 -SP")
|
||||||
|
|
||||||
PORT_START("COL.2")
|
PORT_START("COL.2")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_CODE(KEYCODE_3) PORT_NAME("3 DEF")
|
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( 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( 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( 0x08, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_CODE(KEYCODE_H) PORT_NAME("#") // KEYCODE_H for 'hash mark'
|
||||||
|
|
||||||
PORT_START("COL.3")
|
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( 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( 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( 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( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("FUNC | ENTER")
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// 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_start() override;
|
||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
};
|
};
|
||||||
|
@ -62,7 +62,7 @@ public:
|
|||||||
DECLARE_READ16_MEMBER( link_r );
|
DECLARE_READ16_MEMBER( link_r );
|
||||||
DECLARE_READ16_MEMBER( link2_r );
|
DECLARE_READ16_MEMBER( link2_r );
|
||||||
DECLARE_WRITE16_MEMBER( link2_w );
|
DECLARE_WRITE16_MEMBER( link2_w );
|
||||||
// DECLARE_READ8_MEMBER( link_portc0_r );
|
// DECLARE_READ8_MEMBER( link_portc0_r );
|
||||||
|
|
||||||
// game-specific output handlers
|
// game-specific output handlers
|
||||||
void gforce2_output_cb1(uint16_t data);
|
void gforce2_output_cb1(uint16_t data);
|
||||||
|
@ -19,14 +19,14 @@
|
|||||||
#include "sound/speaker.h"
|
#include "sound/speaker.h"
|
||||||
#include "machine/clock.h"
|
#include "machine/clock.h"
|
||||||
|
|
||||||
#define CPU_TAG "cpu"
|
#define CPU_TAG "cpu"
|
||||||
#define DART_TAG "dart"
|
#define DART_TAG "dart"
|
||||||
#define CTC_TAG "ctc"
|
#define CTC_TAG "ctc"
|
||||||
#define PIO_TAG "pio"
|
#define PIO_TAG "pio"
|
||||||
#define RTC_TAG "rtc"
|
#define RTC_TAG "rtc"
|
||||||
#define VFD_TAG "vfd"
|
#define VFD_TAG "vfd"
|
||||||
#define RS232_TAG "rs232"
|
#define RS232_TAG "rs232"
|
||||||
#define SPEAKER_TAG "speaker"
|
#define SPEAKER_TAG "speaker"
|
||||||
|
|
||||||
class tranz330_state : public driver_device
|
class tranz330_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -57,17 +57,17 @@ public:
|
|||||||
DECLARE_READ8_MEMBER( card_r );
|
DECLARE_READ8_MEMBER( card_r );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<cpu_device> m_cpu;
|
required_device<cpu_device> m_cpu;
|
||||||
required_device<z80ctc_device> m_ctc;
|
required_device<z80ctc_device> m_ctc;
|
||||||
required_device<z80dart_device> m_dart;
|
required_device<z80dart_device> m_dart;
|
||||||
required_device<z80pio_device> m_pio;
|
required_device<z80pio_device> m_pio;
|
||||||
required_device<msm6242_device> m_rtc;
|
required_device<msm6242_device> m_rtc;
|
||||||
required_device<mic10937_t> m_vfd;
|
required_device<mic10937_t> m_vfd;
|
||||||
required_device<rs232_port_device> m_rs232;
|
required_device<rs232_port_device> m_rs232;
|
||||||
required_device<speaker_sound_device> m_speaker;
|
required_device<speaker_sound_device> m_speaker;
|
||||||
required_ioport_array<4> m_keypad;
|
required_ioport_array<4> m_keypad;
|
||||||
|
|
||||||
uint8_t m_keypad_col_mask;
|
uint8_t m_keypad_col_mask;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VERIFONE_TRANZ330_H
|
#endif // VERIFONE_TRANZ330_H
|
||||||
|
@ -11,127 +11,127 @@
|
|||||||
</element>
|
</element>
|
||||||
|
|
||||||
<element name="stop1" defstate="0">
|
<element name="stop1" defstate="0">
|
||||||
<rect state="1">
|
<rect state="1">
|
||||||
<color red="0.2" green="0.2" blue="1.0" />
|
<color red="0.2" green="0.2" blue="1.0" />
|
||||||
</rect>
|
</rect>
|
||||||
<rect state="0">
|
<rect state="0">
|
||||||
<color red="0.04" green="0.04" blue="0.20" />
|
<color red="0.04" green="0.04" blue="0.20" />
|
||||||
</rect>
|
</rect>
|
||||||
|
|
||||||
<text string="HOLD 1">
|
<text string="HOLD 1">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text string="STOP 1">
|
<text string="STOP 1">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text string="TAKE">
|
<text string="TAKE">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
<element name="stop2" defstate="0">
|
<element name="stop2" defstate="0">
|
||||||
<rect state="1">
|
<rect state="1">
|
||||||
<color red="0.2" green="0.2" blue="1.0" />
|
<color red="0.2" green="0.2" blue="1.0" />
|
||||||
</rect>
|
</rect>
|
||||||
<rect state="0">
|
<rect state="0">
|
||||||
<color red="0.04" green="0.04" blue="0.20" />
|
<color red="0.04" green="0.04" blue="0.20" />
|
||||||
</rect>
|
</rect>
|
||||||
|
|
||||||
<text string="HOLD 2">
|
<text string="HOLD 2">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text string="STOP 2">
|
<text string="STOP 2">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text string="BIG">
|
<text string="BIG">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
<element name="stop3" defstate="0">
|
<element name="stop3" defstate="0">
|
||||||
<rect state="1">
|
<rect state="1">
|
||||||
<color red="0.2" green="0.2" blue="1.0" />
|
<color red="0.2" green="0.2" blue="1.0" />
|
||||||
</rect>
|
</rect>
|
||||||
<rect state="0">
|
<rect state="0">
|
||||||
<color red="0.04" green="0.04" blue="0.20" />
|
<color red="0.04" green="0.04" blue="0.20" />
|
||||||
</rect>
|
</rect>
|
||||||
|
|
||||||
<text string="HOLD 3">
|
<text string="HOLD 3">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text string="STOP 3">
|
<text string="STOP 3">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text string="SMALL">
|
<text string="SMALL">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
<element name="hold4" defstate="0">
|
<element name="hold4" defstate="0">
|
||||||
<rect state="1">
|
<rect state="1">
|
||||||
<color red="0.2" green="0.2" blue="1.0" />
|
<color red="0.2" green="0.2" blue="1.0" />
|
||||||
</rect>
|
</rect>
|
||||||
<rect state="0">
|
<rect state="0">
|
||||||
<color red="0.04" green="0.04" blue="0.20" />
|
<color red="0.04" green="0.04" blue="0.20" />
|
||||||
</rect>
|
</rect>
|
||||||
|
|
||||||
<text string="HOLD 4">
|
<text string="HOLD 4">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text string="DOUBLE">
|
<text string="DOUBLE">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
<element name="hold5" defstate="0">
|
<element name="hold5" defstate="0">
|
||||||
<rect state="1">
|
<rect state="1">
|
||||||
<color red="0.2" green="0.2" blue="1.0" />
|
<color red="0.2" green="0.2" blue="1.0" />
|
||||||
</rect>
|
</rect>
|
||||||
<rect state="0">
|
<rect state="0">
|
||||||
<color red="0.04" green="0.04" blue="0.20" />
|
<color red="0.04" green="0.04" blue="0.20" />
|
||||||
</rect>
|
</rect>
|
||||||
|
|
||||||
<text string="HOLD 5">
|
<text string="HOLD 5">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
<text string="BET">
|
<text string="BET">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
<element name="start1" defstate="0">
|
<element name="start1" defstate="0">
|
||||||
<rect state="1">
|
<rect state="1">
|
||||||
<color red="0.2" green="0.2" blue="1.0" />
|
<color red="0.2" green="0.2" blue="1.0" />
|
||||||
</rect>
|
</rect>
|
||||||
<rect state="0">
|
<rect state="0">
|
||||||
<color red="0.04" green="0.04" blue="0.20" />
|
<color red="0.04" green="0.04" blue="0.20" />
|
||||||
</rect>
|
</rect>
|
||||||
|
|
||||||
<text string="START">
|
<text string="START">
|
||||||
<color red="1.0" green="0.0" blue="0.0" />
|
<color red="1.0" green="0.0" blue="0.0" />
|
||||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||||
</text>
|
</text>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
<view name="Simple Artwork">
|
<view name="Simple Artwork">
|
||||||
@ -140,48 +140,48 @@
|
|||||||
<bounds left="0" right="400" top="0" bottom="300" />
|
<bounds left="0" right="400" top="0" bottom="300" />
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) (port IN1) -->
|
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) (port IN1) -->
|
||||||
<bezel name="lamp1" element="start1" inputtag="IN1" inputmask="0x40">
|
<bezel name="lamp1" element="start1" inputtag="IN1" inputmask="0x40">
|
||||||
<bounds x="10" y="312" width="16" height="16" />
|
<bounds x="10" y="312" width="16" height="16" />
|
||||||
</bezel>
|
</bezel>
|
||||||
|
|
||||||
<!-- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Hold 1, Take, Odds, Stop 1") -->
|
<!-- 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">
|
<bezel name="lamp5" element="stop1" inputtag="IN0" inputmask="0x10">
|
||||||
<bounds x="30" y="312" width="16" height="16" />
|
<bounds x="30" y="312" width="16" height="16" />
|
||||||
</bezel>
|
</bezel>
|
||||||
|
|
||||||
<!-- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 2, Big, Stop 2") -->
|
<!-- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 2, Big, Stop 2") -->
|
||||||
<bezel name="lamp3" element="stop2" inputtag="IN0" inputmask="0x80">
|
<bezel name="lamp3" element="stop2" inputtag="IN0" inputmask="0x80">
|
||||||
<bounds x="50" y="312" width="16" height="16" />
|
<bounds x="50" y="312" width="16" height="16" />
|
||||||
</bezel>
|
</bezel>
|
||||||
|
|
||||||
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 3, Small, Stop 3") -->
|
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 3, Small, Stop 3") -->
|
||||||
<bezel name="lamp2" element="stop3" inputtag="IN0" inputmask="0x40">
|
<bezel name="lamp2" element="stop3" inputtag="IN0" inputmask="0x40">
|
||||||
<bounds x="70" y="312" width="16" height="16" />
|
<bounds x="70" y="312" width="16" height="16" />
|
||||||
</bezel>
|
</bezel>
|
||||||
|
|
||||||
<!-- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 4, Double") -->
|
<!-- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 4, Double") -->
|
||||||
<bezel name="lamp4" element="hold4" inputtag="IN0" inputmask="0x20">
|
<bezel name="lamp4" element="hold4" inputtag="IN0" inputmask="0x20">
|
||||||
<bounds x="90" y="312" width="16" height="16" />
|
<bounds x="90" y="312" width="16" height="16" />
|
||||||
</bezel>
|
</bezel>
|
||||||
|
|
||||||
<!-- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hold 5, Bet") -->
|
<!-- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hold 5, Bet") -->
|
||||||
<bezel name="lamp0" element="hold5" inputtag="IN0" inputmask="0x01" >
|
<bezel name="lamp0" element="hold5" inputtag="IN0" inputmask="0x01" >
|
||||||
<bounds x="110" y="312" width="16" height="16" />
|
<bounds x="110" y="312" width="16" height="16" />
|
||||||
</bezel>
|
</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">
|
<bezel name="lamp6" element="bluelamp">
|
||||||
<bounds x="130" y="312" width="16" height="16" />
|
<bounds x="130" y="312" width="16" height="16" />
|
||||||
</bezel>
|
</bezel>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- always set, maybe cabinet marquee or just global enable? -->
|
<!-- always set, maybe cabinet marquee or just global enable? -->
|
||||||
<!--
|
<!--
|
||||||
<bezel name="lamp7" element="bluelamp">
|
<bezel name="lamp7" element="bluelamp">
|
||||||
<bounds x="150" y="312" width="16" height="16" />
|
<bounds x="150" y="312" width="16" height="16" />
|
||||||
</bezel>
|
</bezel>
|
||||||
-->
|
-->
|
||||||
</view>
|
</view>
|
||||||
</mamelayout>
|
</mamelayout>
|
||||||
|
@ -460,10 +460,10 @@ WRITE8_MEMBER(sms_state::smsj_audio_control_w)
|
|||||||
m_smsj_audio_control = data & 0x03;
|
m_smsj_audio_control = data & 0x03;
|
||||||
|
|
||||||
/* Mute settings:
|
/* Mute settings:
|
||||||
0,0 : PSG only (power-on default)
|
0,0 : PSG only (power-on default)
|
||||||
0,1 : FM only
|
0,1 : FM only
|
||||||
1,0 : Both PSG and FM disabled
|
1,0 : Both PSG and FM disabled
|
||||||
1,1 : Both PSG and FM enabled
|
1,1 : Both PSG and FM enabled
|
||||||
*/
|
*/
|
||||||
if (m_smsj_audio_control == 0x00 || m_smsj_audio_control == 0x03)
|
if (m_smsj_audio_control == 0x00 || m_smsj_audio_control == 0x03)
|
||||||
m_psg_sms->set_output_gain(ALL_OUTPUTS, 1.0);
|
m_psg_sms->set_output_gain(ALL_OUTPUTS, 1.0);
|
||||||
|
@ -33698,7 +33698,7 @@ twinadv // (c) 1995 Barko Corp
|
|||||||
twinadvk // (c) 1995 Barko Corp
|
twinadvk // (c) 1995 Barko Corp
|
||||||
twinkle // (c) 1997 SemiCom
|
twinkle // (c) 1997 SemiCom
|
||||||
wintbob // bootleg
|
wintbob // bootleg
|
||||||
yutnori // (c) 199? yutnori
|
yutnori // (c) 199? yutnori
|
||||||
|
|
||||||
@source:socrates.cpp
|
@source:socrates.cpp
|
||||||
iqunlimz // 1991 IQ Unlimited (Z80)
|
iqunlimz // 1991 IQ Unlimited (Z80)
|
||||||
@ -34145,7 +34145,7 @@ stuntair // (c) 1983 Nuova Videotron
|
|||||||
astrass // 1998.06 Astra Super Stars (Sunsoft)
|
astrass // 1998.06 Astra Super Stars (Sunsoft)
|
||||||
bakubaku // 1995.04 Bakubaku Animal
|
bakubaku // 1995.04 Bakubaku Animal
|
||||||
batmanfr // 1996.02 Batman Forever (Acclaim)
|
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
|
colmns97 // 1997.01 Columns 97
|
||||||
cotton2 // 1997.11 Cotton 2 (Success)
|
cotton2 // 1997.11 Cotton 2 (Success)
|
||||||
cottonbm // 1998.09 Cotton Boomerang (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
|
first create a row vector with components (x,y,z,1) then multiply the vector by the matrix
|
||||||
transformed = rowvector * matrix
|
transformed = rowvector * matrix
|
||||||
in direct3d the matrix is stored as the sequence (first digit row, second digit column)
|
in direct3d the matrix is stored as the sequence (first digit row, second digit column)
|
||||||
11 12 13 14
|
11 12 13 14
|
||||||
21 22 23 24
|
21 22 23 24
|
||||||
31 32 33 34
|
31 32 33 34
|
||||||
41 42 43 44
|
41 42 43 44
|
||||||
but it is sent transposed as the sequence
|
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
|
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;
|
*(uint32_t *)(&matrix.modelview[maddress >> 2][maddress & 3]) = data;
|
||||||
|
@ -39,7 +39,7 @@ public:
|
|||||||
void start()
|
void start()
|
||||||
{
|
{
|
||||||
m_clients->insert(shared_from_this());
|
m_clients->insert(shared_from_this());
|
||||||
do_read();
|
do_read();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -51,32 +51,32 @@ private:
|
|||||||
|
|
||||||
void do_read()
|
void do_read()
|
||||||
{
|
{
|
||||||
auto self(shared_from_this());
|
auto self(shared_from_this());
|
||||||
m_socket.async_read_some(asio::buffer(m_input_m_data, max_length),
|
m_socket.async_read_some(asio::buffer(m_input_m_data, max_length),
|
||||||
[this, self](std::error_code ec, std::size_t length)
|
[this, self](std::error_code ec, std::size_t length)
|
||||||
{
|
{
|
||||||
if (!ec)
|
if (!ec)
|
||||||
{
|
{
|
||||||
do_read();
|
do_read();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_clients->erase(shared_from_this());
|
m_clients->erase(shared_from_this());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_write(std::size_t length)
|
void do_write(std::size_t length)
|
||||||
{
|
{
|
||||||
auto self(shared_from_this());
|
auto self(shared_from_this());
|
||||||
asio::async_write(m_socket, asio::buffer(m_data, length),
|
asio::async_write(m_socket, asio::buffer(m_data, length),
|
||||||
[this, self](std::error_code ec, std::size_t /*length*/)
|
[this, self](std::error_code ec, std::size_t /*length*/)
|
||||||
{
|
{
|
||||||
if (ec)
|
if (ec)
|
||||||
{
|
{
|
||||||
m_clients->erase(shared_from_this());
|
m_clients->erase(shared_from_this());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
asio::ip::tcp::socket m_socket;
|
asio::ip::tcp::socket m_socket;
|
||||||
@ -90,30 +90,30 @@ class output_network_server
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
output_network_server(asio::io_context& io_context, short port) :
|
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)
|
void deliver_to_all(std::string msg)
|
||||||
{
|
{
|
||||||
for (auto client: m_clients)
|
for (auto client: m_clients)
|
||||||
client->deliver(msg);
|
client->deliver(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void do_accept()
|
void do_accept()
|
||||||
{
|
{
|
||||||
m_acceptor.async_accept(
|
m_acceptor.async_accept(
|
||||||
[this](std::error_code ec, asio::ip::tcp::socket socket)
|
[this](std::error_code ec, asio::ip::tcp::socket socket)
|
||||||
{
|
{
|
||||||
if (!ec)
|
if (!ec)
|
||||||
{
|
{
|
||||||
std::make_shared<output_session>(std::move(socket),&m_clients)->start();
|
std::make_shared<output_session>(std::move(socket),&m_clients)->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
do_accept();
|
do_accept();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
asio::ip::tcp::acceptor m_acceptor;
|
asio::ip::tcp::acceptor m_acceptor;
|
||||||
|
@ -34,8 +34,8 @@ namespace
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
const T *string() const { return m_str; }; // returns pointer to actual characters
|
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
|
int char_count() const { return m_char_count; } // returns the character count (including NUL terminater), or -1 if NUL terminated
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const T *m_str;
|
const T *m_str;
|
||||||
|
@ -128,7 +128,7 @@ static imgtoolerr_t imgtool_floppy_open_internal(imgtool::image &image, imgtool:
|
|||||||
err = imgtool_floppy_error(ferr);
|
err = imgtool_floppy_error(ferr);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
f = nullptr; // the floppy object has the stream now
|
f = nullptr; // the floppy object has the stream now
|
||||||
|
|
||||||
if (open)
|
if (open)
|
||||||
{
|
{
|
||||||
@ -179,7 +179,7 @@ static imgtoolerr_t imgtool_floppy_create(imgtool::image &image, imgtool::stream
|
|||||||
err = imgtool_floppy_error(ferr);
|
err = imgtool_floppy_error(ferr);
|
||||||
goto done;
|
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?
|
// do we have to do extra stuff when creating the image?
|
||||||
if (create)
|
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)
|
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
|
// 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
|
// 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))
|
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)
|
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)
|
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()
|
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
|
// structure identifying this module's features
|
||||||
// associated with an image
|
// 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, ...)
|
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
|
// 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
|
// 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
|
// of an image; note that this may disagree with
|
||||||
// particular sectors; this is a common copy
|
// particular sectors; this is a common copy
|
||||||
// protection scheme
|
// 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,
|
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,
|
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
|
// get_block_size - gets the size of a standard
|
||||||
// block on an image
|
// block on an image
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
imgtoolerr_t imgtool::image::get_block_size(uint32_t &length)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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()
|
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)
|
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()
|
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)
|
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
|
// get_attribute_name - retrieves the human readable
|
||||||
// name for an attribute
|
// name for an attribute
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void imgtool::partition::get_attribute_name(uint32_t attribute, const imgtool_attribute *attr_value,
|
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)
|
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)
|
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)
|
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()
|
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,
|
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)
|
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,
|
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)
|
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()
|
std::string imgtool::image::info()
|
||||||
@ -1105,7 +1105,7 @@ std::string imgtool::image::info()
|
|||||||
#define PATH_CANBEBOOTBLOCK 0x00000004
|
#define PATH_CANBEBOOTBLOCK 0x00000004
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// partition::cannonicalize_path - normalizes a path string
|
// partition::cannonicalize_path - normalizes a path string
|
||||||
// into a NUL delimited list
|
// 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)
|
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
|
// 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
|
// 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
|
// all attributes on a file
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
@ -1340,7 +1340,7 @@ done:
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// partition::get_file_attributes - retrieves
|
// partition::get_file_attributes - retrieves
|
||||||
// attributes on a file
|
// 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
|
// 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
|
// 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
|
// partition::put_file_attribute - sets
|
||||||
// attributes on a single file
|
// attributes on a single file
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
imgtoolerr_t imgtool::partition::put_file_attribute(const char *path, uint32_t attr, const imgtool_attribute &value)
|
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
|
// partition::get_icon_info - retrieves the
|
||||||
// icon for a file stored on a partition
|
// icon for a file stored on a partition
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
imgtoolerr_t imgtool::partition::get_icon_info(const char *path, imgtool_iconinfo *iconinfo)
|
imgtoolerr_t imgtool::partition::get_icon_info(const char *path, imgtool_iconinfo *iconinfo)
|
||||||
@ -1489,9 +1489,9 @@ done:
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// partition::suggest_file_filters - suggests a
|
// partition::suggest_file_filters - suggests a
|
||||||
// list of filters appropriate for a file on a
|
// list of filters appropriate for a file on a
|
||||||
// partition
|
// partition
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
imgtoolerr_t imgtool::partition::suggest_file_filters(const char *path,
|
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;
|
goto done;
|
||||||
|
|
||||||
// loop on resulting suggestions, and do the following:
|
// loop on resulting suggestions, and do the following:
|
||||||
// 1. Call check_stream if present, and remove disqualified streams
|
// 1. Call check_stream if present, and remove disqualified streams
|
||||||
// 2. Fill in missing descriptions
|
// 2. Fill in missing descriptions
|
||||||
i = j = 0;
|
i = j = 0;
|
||||||
while(suggestions[i].viability)
|
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
|
// 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
|
// the block chain for a file or directory on a
|
||||||
// partition
|
// 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
|
// 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
|
// 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
|
// 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
|
// 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
|
// and store it on a partition
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
@ -2028,8 +2028,8 @@ done:
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// partition::list_file_forks - lists all
|
// partition::list_file_forks - lists all
|
||||||
// forks on an image
|
// forks on an image
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
imgtoolerr_t imgtool::partition::list_file_forks(const char *path, imgtool_forkent *ents, size_t len)
|
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
|
// directory on a partition
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
@ -2117,7 +2117,7 @@ done:
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// partition::delete_directory - deletes a
|
// partition::delete_directory - deletes a
|
||||||
// directory on a partition
|
// 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
|
// 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
|
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
|
// 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
|
// 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
|
// structure identifying this partition's features
|
||||||
// associated with an image
|
// 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
|
// 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
|
// partition::get_info_string - retrieves a
|
||||||
// string associated with a partition's format
|
// string associated with a partition's format
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const char *imgtool::partition::get_info_string(uint32_t state)
|
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
|
// 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
|
// partition::extra_bytes - returns extra
|
||||||
// bytes on a partition
|
// bytes on a partition
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void *imgtool::partition::extra_bytes()
|
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
|
// 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
|
// 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
|
// 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)
|
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
|
// enumerating files on a partition
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
@ -2478,7 +2478,7 @@ done:
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// directory dtor
|
// directory dtor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
imgtool::directory::~directory()
|
imgtool::directory::~directory()
|
||||||
@ -2489,7 +2489,7 @@ imgtool::directory::~directory()
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// directory::get_next - continues
|
// directory::get_next - continues
|
||||||
// enumerating files within a partition
|
// 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
|
// unknown partition
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
@ -256,7 +256,7 @@ namespace imgtool
|
|||||||
private:
|
private:
|
||||||
imgtool::partition &m_partition;
|
imgtool::partition &m_partition;
|
||||||
std::unique_ptr<uint8_t[]> m_extra_bytes;
|
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; }
|
uint64_t block_count() const { return m_block_count; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
imgtool_get_info m_get_info;
|
imgtool_get_info m_get_info;
|
||||||
uint64_t m_base_block;
|
uint64_t m_base_block;
|
||||||
uint64_t m_block_count;
|
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;
|
return (imgtoolerr_t)0;
|
||||||
}
|
}
|
||||||
@ -5246,7 +5246,7 @@ static imgtoolerr_t dsk_image_create(imgtool::image &image, imgtool::stream::ptr
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
l1_img.img_format = img_format;
|
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 */
|
/* read options */
|
||||||
volname = createoptions->lookup_string(dsk_createopts_volname).c_str();
|
volname = createoptions->lookup_string(dsk_createopts_volname).c_str();
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// ctor
|
// ctor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
imgtool::stream::stream(bool wp)
|
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)
|
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)
|
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)
|
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()
|
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)
|
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)
|
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)
|
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)
|
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()
|
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)
|
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)
|
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
|
uint64_t imgtool::stream::size() const
|
||||||
@ -331,7 +331,7 @@ uint64_t imgtool::stream::size() const
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// getptr
|
// getptr
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void *imgtool::stream::getptr()
|
void *imgtool::stream::getptr()
|
||||||
@ -353,7 +353,7 @@ void *imgtool::stream::getptr()
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// seek
|
// seek
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
int imgtool::stream::seek(int64_t pos, int where)
|
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()
|
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)
|
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)
|
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)
|
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)
|
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)
|
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()
|
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)
|
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)
|
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, ...)
|
uint32_t imgtool::stream::printf(const char *fmt, ...)
|
||||||
|
Loading…
Reference in New Issue
Block a user