mirror of
https://github.com/holub/mame
synced 2025-10-07 01:16:22 +03:00
highvdeo.cpp Updates (#3505)
* highvideo.cpp : Cleanup drawing (related by cliprect), Split machine config and address map per each games, Cleanup Duplicates, Add output finder, Cleanup ROM loading, Add notes, Add precalculated color for game with drawing directly RGB565, Remove unnecessary things * highvdeo.cpp : Add notes of ROM loading place * highvdeo.cpp : Fix compile
This commit is contained in:
parent
b52bc630ab
commit
2e745b0a52
@ -114,23 +114,28 @@ class highvdeo_state : public driver_device
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
highvdeo_state(const machine_config &mconfig, device_type type, const char *tag)
|
highvdeo_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag)
|
||||||
m_blit_ram(*this, "blit_ram"),
|
, m_blit_ram(*this, "blit_ram")
|
||||||
m_maincpu(*this, "maincpu"),
|
, m_mainbank(*this, "mainbank")
|
||||||
m_okim6376(*this, "oki"),
|
, m_lamps(*this, "lamp%u", 1U)
|
||||||
m_palette(*this, "palette") { }
|
, m_maincpu(*this, "maincpu")
|
||||||
|
, m_okim6376(*this, "oki")
|
||||||
|
, m_palette(*this, "palette")
|
||||||
|
{ }
|
||||||
|
|
||||||
required_shared_ptr<uint16_t> m_blit_ram;
|
required_shared_ptr<uint16_t> m_blit_ram;
|
||||||
|
optional_memory_bank m_mainbank;
|
||||||
|
|
||||||
|
output_finder<6> m_lamps;
|
||||||
uint16_t m_vblank_bit;
|
uint16_t m_vblank_bit;
|
||||||
uint16_t m_brasil_prot_latch;
|
uint16_t m_brasil_prot_latch;
|
||||||
uint16_t m_grancapi_prot_latch;
|
uint16_t m_grancapi_prot_latch;
|
||||||
DECLARE_READ16_MEMBER(read0_r);
|
DECLARE_READ16_MEMBER(read0_r);
|
||||||
DECLARE_READ16_MEMBER(read1_r);
|
DECLARE_READ16_MEMBER(read1_r);
|
||||||
DECLARE_READ16_MEMBER(read2_r);
|
DECLARE_READ16_MEMBER(read2_r);
|
||||||
DECLARE_WRITE16_MEMBER(tv_vcf_bankselect_w);
|
template<int Mask> DECLARE_WRITE16_MEMBER(bankselect_w);
|
||||||
DECLARE_WRITE16_MEMBER(write1_w);
|
DECLARE_WRITE16_MEMBER(write1_w);
|
||||||
DECLARE_READ16_MEMBER(tv_ncf_read1_r);
|
DECLARE_READ16_MEMBER(tv_ncf_read1_r);
|
||||||
DECLARE_WRITE16_MEMBER(tv_tcf_bankselect_w);
|
|
||||||
DECLARE_READ16_MEMBER(newmcard_status_r);
|
DECLARE_READ16_MEMBER(newmcard_status_r);
|
||||||
DECLARE_READ16_MEMBER(newmcard_vblank_r);
|
DECLARE_READ16_MEMBER(newmcard_vblank_r);
|
||||||
DECLARE_WRITE16_MEMBER(newmcard_vblank_w);
|
DECLARE_WRITE16_MEMBER(newmcard_vblank_w);
|
||||||
@ -148,10 +153,7 @@ public:
|
|||||||
DECLARE_READ16_MEMBER(tv_oki6376_r);
|
DECLARE_READ16_MEMBER(tv_oki6376_r);
|
||||||
DECLARE_WRITE16_MEMBER(tv_ncf_oki6376_w);
|
DECLARE_WRITE16_MEMBER(tv_ncf_oki6376_w);
|
||||||
DECLARE_WRITE16_MEMBER(tv_ncf_oki6376_st_w);
|
DECLARE_WRITE16_MEMBER(tv_ncf_oki6376_st_w);
|
||||||
DECLARE_DRIVER_INIT(fashion);
|
virtual void machine_start() override;
|
||||||
DECLARE_DRIVER_INIT(ciclone);
|
|
||||||
DECLARE_DRIVER_INIT(record);
|
|
||||||
DECLARE_VIDEO_START(tourvisn);
|
|
||||||
uint32_t screen_update_tourvisn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_tourvisn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||||
uint32_t screen_update_brasil(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_brasil(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||||
INTERRUPT_GEN_MEMBER(vblank_irq);
|
INTERRUPT_GEN_MEMBER(vblank_irq);
|
||||||
@ -165,18 +167,24 @@ public:
|
|||||||
void nyjoker(machine_config &config);
|
void nyjoker(machine_config &config);
|
||||||
void magicbom(machine_config &config);
|
void magicbom(machine_config &config);
|
||||||
void brasil(machine_config &config);
|
void brasil(machine_config &config);
|
||||||
|
void fashion(machine_config &config);
|
||||||
void newmcard(machine_config &config);
|
void newmcard(machine_config &config);
|
||||||
|
void record(machine_config &config);
|
||||||
void tv_tcf(machine_config &config);
|
void tv_tcf(machine_config &config);
|
||||||
void tv_vcf(machine_config &config);
|
void tv_vcf(machine_config &config);
|
||||||
void brasil_io(address_map &map);
|
void brasil_io(address_map &map);
|
||||||
void brasil_map(address_map &map);
|
void brasil_map(address_map &map);
|
||||||
|
void ciclone_io(address_map &map);
|
||||||
|
void fashion_io(address_map &map);
|
||||||
void grancapi_io(address_map &map);
|
void grancapi_io(address_map &map);
|
||||||
void magicbom_io(address_map &map);
|
void magicbom_io(address_map &map);
|
||||||
|
void newmcard_io_base(address_map &map);
|
||||||
void newmcard_io(address_map &map);
|
void newmcard_io(address_map &map);
|
||||||
void newmcard_map(address_map &map);
|
void newmcard_map(address_map &map);
|
||||||
void nyjoker_io(address_map &map);
|
void nyjoker_io(address_map &map);
|
||||||
void nyjoker_map(address_map &map);
|
void nyjoker_map(address_map &map);
|
||||||
void ramdac_map(address_map &map);
|
void ramdac_map(address_map &map);
|
||||||
|
void record_io(address_map &map);
|
||||||
void tv_ncf_io(address_map &map);
|
void tv_ncf_io(address_map &map);
|
||||||
void tv_ncf_map(address_map &map);
|
void tv_ncf_map(address_map &map);
|
||||||
void tv_tcf_io(address_map &map);
|
void tv_tcf_io(address_map &map);
|
||||||
@ -185,22 +193,26 @@ public:
|
|||||||
void tv_vcf_map(address_map &map);
|
void tv_vcf_map(address_map &map);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void highvdeo_state::machine_start()
|
||||||
|
|
||||||
|
|
||||||
VIDEO_START_MEMBER(highvdeo_state,tourvisn)
|
|
||||||
{
|
{
|
||||||
|
m_lamps.resolve();
|
||||||
|
|
||||||
|
if (m_mainbank.found()) /*bankaddress might be incorrect at brasil/fasion/grancapi/magicbom*/
|
||||||
|
{
|
||||||
|
uint32_t max = memregion("maincpu")->bytes() / 0x40000;
|
||||||
|
m_mainbank->configure_entries(0, max, memregion("maincpu")->base(), 0x40000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t highvdeo_state::screen_update_tourvisn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
uint32_t highvdeo_state::screen_update_tourvisn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||||
{
|
{
|
||||||
int x,y,count;
|
int x,y,count;
|
||||||
|
|
||||||
count = (0/2);
|
for(y=cliprect.min_y;y<=cliprect.max_y;y++)
|
||||||
|
|
||||||
for(y=0;y<(screen.visible_area().max_y+1);y++)
|
|
||||||
{
|
{
|
||||||
for(x=0;x<(screen.visible_area().max_x+1)/2;x++)
|
count = ((y * (screen.visible_area().max_x+1)) + cliprect.min_x) >> 1;
|
||||||
|
for(x=(cliprect.min_x>>1);x<=(cliprect.max_x>>1);x++)
|
||||||
{
|
{
|
||||||
uint32_t color;
|
uint32_t color;
|
||||||
|
|
||||||
@ -226,26 +238,14 @@ uint32_t highvdeo_state::screen_update_brasil(screen_device &screen, bitmap_rgb3
|
|||||||
{
|
{
|
||||||
int x,y,count;
|
int x,y,count;
|
||||||
|
|
||||||
count = (0/2);
|
const pen_t *rgb = m_palette->pens(); // 16 bit RGB
|
||||||
|
|
||||||
for(y=0;y<300;y++)
|
for(y=cliprect.min_y;y<=cliprect.max_y;y++)
|
||||||
{
|
{
|
||||||
for(x=0;x<400;x++)
|
count = (y * 400) + cliprect.min_x;
|
||||||
|
for(x=cliprect.min_x;x<=cliprect.max_x;x++)
|
||||||
{
|
{
|
||||||
uint32_t color;
|
bitmap.pix32(y, x) = rgb[m_blit_ram[count++]];
|
||||||
uint32_t b;
|
|
||||||
uint32_t g;
|
|
||||||
uint32_t r;
|
|
||||||
|
|
||||||
color = (m_blit_ram[count]) & 0xffff;
|
|
||||||
|
|
||||||
b = (color & 0x001f) << 3;
|
|
||||||
g = (color & 0x07e0) >> 3;
|
|
||||||
r = (color & 0xf800) >> 8;
|
|
||||||
if(cliprect.contains(x, y))
|
|
||||||
bitmap.pix32(y, x) = b | (g<<8) | (r<<16);
|
|
||||||
|
|
||||||
count++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -269,16 +269,10 @@ READ16_MEMBER(highvdeo_state::read2_r)
|
|||||||
return ioport("IN2")->read();
|
return ioport("IN2")->read();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<int Mask>
|
||||||
WRITE16_MEMBER(highvdeo_state::tv_vcf_bankselect_w)
|
WRITE16_MEMBER(highvdeo_state::bankselect_w)
|
||||||
{
|
{
|
||||||
uint32_t bankaddress;
|
m_mainbank->set_entry(data & Mask);
|
||||||
uint8_t *ROM = memregion("user1")->base();
|
|
||||||
|
|
||||||
/* bits 0, 1 select the ROM bank */
|
|
||||||
bankaddress = (data & 0x03) * 0x40000;
|
|
||||||
|
|
||||||
membank("bank1")->set_base(&ROM[bankaddress]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -315,12 +309,10 @@ WRITE16_MEMBER(highvdeo_state::write1_w)
|
|||||||
---x ---- Hold5 lamp.
|
---x ---- Hold5 lamp.
|
||||||
--x- ---- Start lamp.
|
--x- ---- Start lamp.
|
||||||
*/
|
*/
|
||||||
output().set_lamp_value(1, (data & 1)); /* Lamp 1 - HOLD 1 */
|
for (int i = 0; i < 6; i++)
|
||||||
output().set_lamp_value(2, (data >> 1) & 1); /* Lamp 2 - HOLD 2 */
|
{
|
||||||
output().set_lamp_value(3, (data >> 2) & 1); /* Lamp 3 - HOLD 3 */
|
m_lamps[i] = BIT(data, i);
|
||||||
output().set_lamp_value(4, (data >> 3) & 1); /* Lamp 4 - HOLD 4 */
|
}
|
||||||
output().set_lamp_value(5, (data >> 4) & 1); /* Lamp 5 - HOLD 5 */
|
|
||||||
output().set_lamp_value(6, (data >> 5) & 1); /* Lamp 6 - START */
|
|
||||||
|
|
||||||
// popmessage("%04x %04x",t1,t3);
|
// popmessage("%04x %04x",t1,t3);
|
||||||
}
|
}
|
||||||
@ -330,8 +322,8 @@ void highvdeo_state::tv_vcf_map(address_map &map)
|
|||||||
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
||||||
map(0x00400, 0x03fff).ram().share("nvram");
|
map(0x00400, 0x03fff).ram().share("nvram");
|
||||||
map(0x40000, 0x4ffff).ram().share("blit_ram"); /*blitter ram*/
|
map(0x40000, 0x4ffff).ram().share("blit_ram"); /*blitter ram*/
|
||||||
map(0x80000, 0xbffff).bankr("bank1");
|
map(0x80000, 0xbffff).bankr("mainbank");
|
||||||
map(0xc0000, 0xfffff).rom().region("boot_prg", 0);
|
map(0xc0000, 0xfffff).rom().region("maincpu", 0xc0000)
|
||||||
}
|
}
|
||||||
|
|
||||||
void highvdeo_state::tv_vcf_io(address_map &map)
|
void highvdeo_state::tv_vcf_io(address_map &map)
|
||||||
@ -344,7 +336,7 @@ void highvdeo_state::tv_vcf_io(address_map &map)
|
|||||||
map(0x0010, 0x0010).w("ramdac", FUNC(ramdac_device::index_w));
|
map(0x0010, 0x0010).w("ramdac", FUNC(ramdac_device::index_w));
|
||||||
map(0x0012, 0x0012).w("ramdac", FUNC(ramdac_device::mask_w));
|
map(0x0012, 0x0012).w("ramdac", FUNC(ramdac_device::mask_w));
|
||||||
map(0x0014, 0x0014).w("ramdac", FUNC(ramdac_device::pal_w));
|
map(0x0014, 0x0014).w("ramdac", FUNC(ramdac_device::pal_w));
|
||||||
map(0x0030, 0x0031).w(this, FUNC(highvdeo_state::tv_vcf_bankselect_w)).r(this, FUNC(highvdeo_state::tv_oki6376_r));
|
map(0x0030, 0x0031).w(this, FUNC(highvdeo_state::bankselect_w<0x03>)).r(this, FUNC(highvdeo_state::tv_oki6376_r));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -381,8 +373,7 @@ void highvdeo_state::tv_ncf_map(address_map &map)
|
|||||||
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
||||||
map(0x00400, 0x03fff).ram().share("nvram");
|
map(0x00400, 0x03fff).ram().share("nvram");
|
||||||
map(0x20000, 0x2ffff).ram().share("blit_ram"); /*blitter ram*/
|
map(0x20000, 0x2ffff).ram().share("blit_ram"); /*blitter ram*/
|
||||||
map(0x40000, 0xbffff).rom().region("user1", 0x40000);
|
map(0x40000, 0xfffff).rom().region("maincpu", 0x40000)
|
||||||
map(0xc0000, 0xfffff).rom().region("boot_prg", 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void highvdeo_state::tv_ncf_io(address_map &map)
|
void highvdeo_state::tv_ncf_io(address_map &map)
|
||||||
@ -404,8 +395,7 @@ void highvdeo_state::nyjoker_map(address_map &map)
|
|||||||
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
||||||
map(0x00400, 0x03fff).ram().share("nvram");
|
map(0x00400, 0x03fff).ram().share("nvram");
|
||||||
map(0x10000, 0x1ffff).ram().share("blit_ram"); /*blitter ram*/
|
map(0x10000, 0x1ffff).ram().share("blit_ram"); /*blitter ram*/
|
||||||
map(0x40000, 0xbffff).rom().region("user1", 0x40000);
|
map(0x40000, 0xfffff).rom().region("maincpu", 0x40000)
|
||||||
map(0xc0000, 0xfffff).rom().region("boot_prg", 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void highvdeo_state::nyjoker_io(address_map &map)
|
void highvdeo_state::nyjoker_io(address_map &map)
|
||||||
@ -442,25 +432,14 @@ WRITE16_MEMBER(highvdeo_state::nyj_write2_w)
|
|||||||
machine().bookkeeping().coin_counter_w(1, ~data & 0x10); // Notes (all)
|
machine().bookkeeping().coin_counter_w(1, ~data & 0x10); // Notes (all)
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(highvdeo_state::tv_tcf_bankselect_w)
|
|
||||||
{
|
|
||||||
uint32_t bankaddress;
|
|
||||||
uint8_t *ROM = memregion("user1")->base();
|
|
||||||
|
|
||||||
/* bits 0, 1, 2 select the ROM bank */
|
|
||||||
bankaddress = (data & 0x07) * 0x40000;
|
|
||||||
|
|
||||||
membank("bank1")->set_base(&ROM[bankaddress]);
|
|
||||||
}
|
|
||||||
|
|
||||||
void highvdeo_state::tv_tcf_map(address_map &map)
|
void highvdeo_state::tv_tcf_map(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
||||||
map(0x00400, 0x03fff).ram().share("nvram");
|
map(0x00400, 0x03fff).ram().share("nvram");
|
||||||
map(0x40000, 0x5d4bf).ram().share("blit_ram"); /*blitter ram*/
|
map(0x40000, 0x5d4bf).ram().share("blit_ram"); /*blitter ram*/
|
||||||
map(0x7fe00, 0x7ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
|
map(0x7fe00, 0x7ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
|
||||||
map(0x80000, 0xbffff).bankr("bank1");
|
map(0x80000, 0xbffff).bankr("mainbank");
|
||||||
map(0xc0000, 0xfffff).rom().region("boot_prg", 0);
|
map(0xc0000, 0xfffff).rom().region("maincpu", 0x1c0000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void highvdeo_state::tv_tcf_io(address_map &map)
|
void highvdeo_state::tv_tcf_io(address_map &map)
|
||||||
@ -469,7 +448,33 @@ void highvdeo_state::tv_tcf_io(address_map &map)
|
|||||||
map(0x0006, 0x0007).w(this, FUNC(highvdeo_state::tv_oki6376_w));
|
map(0x0006, 0x0007).w(this, FUNC(highvdeo_state::tv_oki6376_w));
|
||||||
map(0x0008, 0x0009).r(this, FUNC(highvdeo_state::read0_r));
|
map(0x0008, 0x0009).r(this, FUNC(highvdeo_state::read0_r));
|
||||||
map(0x000a, 0x000b).r(this, FUNC(highvdeo_state::read1_r));
|
map(0x000a, 0x000b).r(this, FUNC(highvdeo_state::read1_r));
|
||||||
map(0x0030, 0x0031).r(this, FUNC(highvdeo_state::read2_r)).w(this, FUNC(highvdeo_state::tv_tcf_bankselect_w));
|
map(0x0030, 0x0031).r(this, FUNC(highvdeo_state::read2_r)).w(this, FUNC(highvdeo_state::bankselect_w<0x07>));
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************
|
||||||
|
*
|
||||||
|
* Ciclone
|
||||||
|
*
|
||||||
|
****************************/
|
||||||
|
|
||||||
|
READ16_MEMBER(highvdeo_state::ciclone_status_r)
|
||||||
|
{
|
||||||
|
static uint16_t resetpulse;
|
||||||
|
switch(offset*2)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
resetpulse^=0x10;
|
||||||
|
return 0 | resetpulse;
|
||||||
|
case 2: return 0x15; //and 0x3f
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void highvdeo_state::ciclone_io(address_map &map)
|
||||||
|
{
|
||||||
|
tv_tcf_io(map);
|
||||||
|
map(0x0030, 0x0033).r(this, FUNC(highvdeo_state::ciclone_status_r));
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************
|
/****************************
|
||||||
@ -488,6 +493,20 @@ READ16_MEMBER(highvdeo_state::newmcard_status_r)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
READ16_MEMBER(highvdeo_state::record_status_r)
|
||||||
|
{
|
||||||
|
static uint16_t resetpulse;
|
||||||
|
switch(offset*2)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
resetpulse^=0x15; // and 0x07, cmp with 0x05
|
||||||
|
return 0 | resetpulse;
|
||||||
|
case 2: return 0x15; // unknown
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
READ16_MEMBER(highvdeo_state::newmcard_vblank_r)
|
READ16_MEMBER(highvdeo_state::newmcard_vblank_r)
|
||||||
{
|
{
|
||||||
@ -517,14 +536,13 @@ void highvdeo_state::newmcard_map(address_map &map)
|
|||||||
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
||||||
map(0x00400, 0x0ffff).ram().share("nvram");
|
map(0x00400, 0x0ffff).ram().share("nvram");
|
||||||
map(0x40000, 0x7ffff).ram().share("blit_ram"); /*blitter ram*/
|
map(0x40000, 0x7ffff).ram().share("blit_ram"); /*blitter ram*/
|
||||||
map(0x80000, 0xbffff).bankr("bank1");
|
map(0x80000, 0xbffff).bankr("mainbank");
|
||||||
map(0xc0000, 0xfffff).rom().region("boot_prg", 0);
|
map(0xc0000, 0xfffff).rom().region("maincpu", 0xc0000)
|
||||||
}
|
}
|
||||||
|
|
||||||
void highvdeo_state::newmcard_io(address_map &map)
|
void highvdeo_state::newmcard_io_base(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0030, 0x0033).r(this, FUNC(highvdeo_state::newmcard_status_r));
|
map(0x0030, 0x0031).w(this, FUNC(highvdeo_state::bankselect_w<0x07>));
|
||||||
map(0x0030, 0x0031).w(this, FUNC(highvdeo_state::tv_tcf_bankselect_w));
|
|
||||||
map(0x0000, 0x0001).w(this, FUNC(highvdeo_state::write1_w)); // lamps
|
map(0x0000, 0x0001).w(this, FUNC(highvdeo_state::write1_w)); // lamps
|
||||||
map(0x0002, 0x0003).w(this, FUNC(highvdeo_state::write2_w)); // coin counter & coin lockout
|
map(0x0002, 0x0003).w(this, FUNC(highvdeo_state::write2_w)); // coin counter & coin lockout
|
||||||
map(0x0004, 0x0005).w(this, FUNC(highvdeo_state::newmcard_vblank_w));
|
map(0x0004, 0x0005).w(this, FUNC(highvdeo_state::newmcard_vblank_w));
|
||||||
@ -538,6 +556,18 @@ void highvdeo_state::newmcard_io(address_map &map)
|
|||||||
map(0x0014, 0x0014).w("ramdac", FUNC(ramdac_device::pal_w));
|
map(0x0014, 0x0014).w("ramdac", FUNC(ramdac_device::pal_w));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void highvdeo_state::newmcard_io(address_map &map)
|
||||||
|
{
|
||||||
|
newmcard_io_base(map);
|
||||||
|
map(0x0030, 0x0033).r(this, FUNC(highvdeo_state::newmcard_status_r));
|
||||||
|
}
|
||||||
|
|
||||||
|
void highvdeo_state::record_io(address_map &map)
|
||||||
|
{
|
||||||
|
newmcard_io_base(map);
|
||||||
|
map(0x0030, 0x0033).r(this, FUNC(highvdeo_state::record_status_r));
|
||||||
|
}
|
||||||
|
|
||||||
/****************************
|
/****************************
|
||||||
*
|
*
|
||||||
* Bra$il
|
* Bra$il
|
||||||
@ -564,9 +594,6 @@ READ16_MEMBER(highvdeo_state::brasil_status_r)
|
|||||||
/*bankaddress might be incorrect.*/
|
/*bankaddress might be incorrect.*/
|
||||||
WRITE16_MEMBER(highvdeo_state::brasil_status_w)
|
WRITE16_MEMBER(highvdeo_state::brasil_status_w)
|
||||||
{
|
{
|
||||||
uint32_t bankaddress;
|
|
||||||
uint8_t *ROM = memregion("user1")->base();
|
|
||||||
|
|
||||||
switch(data & 3) //data & 7?
|
switch(data & 3) //data & 7?
|
||||||
{
|
{
|
||||||
case 0: m_brasil_prot_latch = 1; break;
|
case 0: m_brasil_prot_latch = 1; break;
|
||||||
@ -574,9 +601,7 @@ WRITE16_MEMBER(highvdeo_state::brasil_status_w)
|
|||||||
case 2: m_brasil_prot_latch = 2; break;
|
case 2: m_brasil_prot_latch = 2; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
bankaddress = (data & 0x07) * 0x40000;
|
m_mainbank->set_entry(data & 0x07);
|
||||||
|
|
||||||
membank("bank1")->set_base(&ROM[bankaddress]);
|
|
||||||
|
|
||||||
// popmessage("%04x",data);
|
// popmessage("%04x",data);
|
||||||
}
|
}
|
||||||
@ -600,9 +625,6 @@ READ16_MEMBER(highvdeo_state::grancapi_status_r)
|
|||||||
/*bankaddress might be incorrect.*/
|
/*bankaddress might be incorrect.*/
|
||||||
WRITE16_MEMBER(highvdeo_state::grancapi_status_w)
|
WRITE16_MEMBER(highvdeo_state::grancapi_status_w)
|
||||||
{
|
{
|
||||||
uint32_t bankaddress;
|
|
||||||
uint8_t *ROM = memregion("user1")->base();
|
|
||||||
|
|
||||||
switch(data & 3) //data & 7?
|
switch(data & 3) //data & 7?
|
||||||
{
|
{
|
||||||
case 0: m_grancapi_prot_latch = 1; break;
|
case 0: m_grancapi_prot_latch = 1; break;
|
||||||
@ -610,9 +632,7 @@ WRITE16_MEMBER(highvdeo_state::grancapi_status_w)
|
|||||||
case 2: m_grancapi_prot_latch = 2; break;
|
case 2: m_grancapi_prot_latch = 2; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
bankaddress = (data & 0x07) * 0x40000;
|
m_mainbank->set_entry(data & 0x07);
|
||||||
|
|
||||||
membank("bank1")->set_base(&ROM[bankaddress]);
|
|
||||||
|
|
||||||
// popmessage("%04x",data);
|
// popmessage("%04x",data);
|
||||||
}
|
}
|
||||||
@ -639,8 +659,8 @@ void highvdeo_state::brasil_map(address_map &map)
|
|||||||
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
map(0x00000, 0x003ff).ram(); /*irq vector area*/
|
||||||
map(0x00400, 0x0ffff).ram().share("nvram");
|
map(0x00400, 0x0ffff).ram().share("nvram");
|
||||||
map(0x40000, 0x7ffff).ram().share("blit_ram"); /*blitter ram*/
|
map(0x40000, 0x7ffff).ram().share("blit_ram"); /*blitter ram*/
|
||||||
map(0x80000, 0xbffff).bankr("bank1");
|
map(0x80000, 0xbffff).bankr("mainbank");
|
||||||
map(0xc0000, 0xfffff).rom().region("boot_prg", 0);
|
map(0xc0000, 0xfffff).rom().region("maincpu", 0x1c0000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void highvdeo_state::brasil_io(address_map &map)
|
void highvdeo_state::brasil_io(address_map &map)
|
||||||
@ -657,6 +677,25 @@ void highvdeo_state::brasil_io(address_map &map)
|
|||||||
// AM_RANGE(0xffa2, 0xffa3) AM_WRITE
|
// AM_RANGE(0xffa2, 0xffa3) AM_WRITE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WRITE16_MEMBER(highvdeo_state::fashion_output_w)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
// popmessage("%04x",data);
|
||||||
|
|
||||||
|
for(i=0;i<4;i++)
|
||||||
|
{
|
||||||
|
machine().bookkeeping().coin_counter_w(i,data & 0x20);
|
||||||
|
machine().bookkeeping().coin_lockout_w(i,~data & 0x01);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void highvdeo_state::fashion_io(address_map &map)
|
||||||
|
{
|
||||||
|
brasil_io(map);
|
||||||
|
map(0x0002, 0x0003).w(this, FUNC(highvdeo_state::fashion_output_w));
|
||||||
|
}
|
||||||
|
|
||||||
void highvdeo_state::grancapi_io(address_map &map)
|
void highvdeo_state::grancapi_io(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0030, 0x0033).r(this, FUNC(highvdeo_state::grancapi_status_r));
|
map(0x0030, 0x0033).r(this, FUNC(highvdeo_state::grancapi_status_r));
|
||||||
@ -673,6 +712,7 @@ void highvdeo_state::grancapi_io(address_map &map)
|
|||||||
|
|
||||||
void highvdeo_state::magicbom_io(address_map &map)
|
void highvdeo_state::magicbom_io(address_map &map)
|
||||||
{
|
{
|
||||||
|
map(0x0002, 0x0003).w(this, FUNC(highvdeo_state::fashion_output_w));
|
||||||
map(0x0030, 0x0033).r(this, FUNC(highvdeo_state::magicbom_status_r));
|
map(0x0030, 0x0033).r(this, FUNC(highvdeo_state::magicbom_status_r));
|
||||||
map(0x000e, 0x000f).w(this, FUNC(highvdeo_state::grancapi_status_w));
|
map(0x000e, 0x000f).w(this, FUNC(highvdeo_state::grancapi_status_w));
|
||||||
map(0x0000, 0x0001).w(this, FUNC(highvdeo_state::write1_w)); // lamps
|
map(0x0000, 0x0001).w(this, FUNC(highvdeo_state::write1_w)); // lamps
|
||||||
@ -1181,15 +1221,12 @@ MACHINE_CONFIG_START(highvdeo_state::tv_vcf)
|
|||||||
MCFG_PALETTE_ADD("palette", 0x100)
|
MCFG_PALETTE_ADD("palette", 0x100)
|
||||||
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
|
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
|
||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(highvdeo_state,tourvisn)
|
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
|
|
||||||
//OkiM6376
|
//OkiM6376
|
||||||
MCFG_DEVICE_ADD("oki", OKIM6376, XTAL(12'000'000)/2/2/20)//Guess, gives approx. same sample rate as previous emulation
|
MCFG_DEVICE_ADD("oki", OKIM6376, XTAL(12'000'000)/2/2/20)//Guess, gives approx. same sample rate as previous emulation
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||||
|
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
MACHINE_CONFIG_START(highvdeo_state::tv_ncf)
|
MACHINE_CONFIG_START(highvdeo_state::tv_ncf)
|
||||||
@ -1198,7 +1235,6 @@ MACHINE_CONFIG_START(highvdeo_state::tv_ncf)
|
|||||||
MCFG_DEVICE_MODIFY("maincpu")
|
MCFG_DEVICE_MODIFY("maincpu")
|
||||||
MCFG_DEVICE_PROGRAM_MAP(tv_ncf_map)
|
MCFG_DEVICE_PROGRAM_MAP(tv_ncf_map)
|
||||||
MCFG_DEVICE_IO_MAP(tv_ncf_io)
|
MCFG_DEVICE_IO_MAP(tv_ncf_io)
|
||||||
|
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
MACHINE_CONFIG_START(highvdeo_state::nyjoker)
|
MACHINE_CONFIG_START(highvdeo_state::nyjoker)
|
||||||
@ -1207,7 +1243,6 @@ MACHINE_CONFIG_START(highvdeo_state::nyjoker)
|
|||||||
MCFG_DEVICE_MODIFY("maincpu")
|
MCFG_DEVICE_MODIFY("maincpu")
|
||||||
MCFG_DEVICE_PROGRAM_MAP(nyjoker_map)
|
MCFG_DEVICE_PROGRAM_MAP(nyjoker_map)
|
||||||
MCFG_DEVICE_IO_MAP(nyjoker_io)
|
MCFG_DEVICE_IO_MAP(nyjoker_io)
|
||||||
|
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
MACHINE_CONFIG_START(highvdeo_state::tv_tcf)
|
MACHINE_CONFIG_START(highvdeo_state::tv_tcf)
|
||||||
@ -1235,6 +1270,13 @@ MACHINE_CONFIG_START(highvdeo_state::newmcard)
|
|||||||
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
MACHINE_CONFIG_START(highvdeo_state::record)
|
||||||
|
newmcard(config);
|
||||||
|
|
||||||
|
MCFG_DEVICE_MODIFY("maincpu")
|
||||||
|
MCFG_DEVICE_IO_MAP(record_io)
|
||||||
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
MACHINE_CONFIG_START(highvdeo_state::ciclone)
|
MACHINE_CONFIG_START(highvdeo_state::ciclone)
|
||||||
tv_tcf(config);
|
tv_tcf(config);
|
||||||
|
|
||||||
@ -1242,7 +1284,7 @@ MACHINE_CONFIG_START(highvdeo_state::ciclone)
|
|||||||
|
|
||||||
MCFG_DEVICE_ADD("maincpu", I80186, 20000000 ) // ?
|
MCFG_DEVICE_ADD("maincpu", I80186, 20000000 ) // ?
|
||||||
MCFG_DEVICE_PROGRAM_MAP(tv_tcf_map)
|
MCFG_DEVICE_PROGRAM_MAP(tv_tcf_map)
|
||||||
MCFG_DEVICE_IO_MAP(tv_tcf_io)
|
MCFG_DEVICE_IO_MAP(ciclone_io)
|
||||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", highvdeo_state, vblank_irq_80186)
|
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", highvdeo_state, vblank_irq_80186)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
@ -1261,9 +1303,7 @@ MACHINE_CONFIG_START(highvdeo_state::brasil)
|
|||||||
MCFG_SCREEN_VISIBLE_AREA(0, 400-1, 0, 300-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 400-1, 0, 300-1)
|
||||||
MCFG_SCREEN_UPDATE_DRIVER(highvdeo_state, screen_update_brasil)
|
MCFG_SCREEN_UPDATE_DRIVER(highvdeo_state, screen_update_brasil)
|
||||||
|
|
||||||
MCFG_PALETTE_ADD("palette", 0x100)
|
MCFG_PALETTE_ADD_RRRRRGGGGGGBBBBB("palette")
|
||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(highvdeo_state,tourvisn)
|
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
@ -1272,6 +1312,12 @@ MACHINE_CONFIG_START(highvdeo_state::brasil)
|
|||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
MACHINE_CONFIG_START(highvdeo_state::fashion)
|
||||||
|
brasil(config);
|
||||||
|
MCFG_DEVICE_MODIFY("maincpu")
|
||||||
|
MCFG_DEVICE_IO_MAP(fashion_io)
|
||||||
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
MACHINE_CONFIG_START(highvdeo_state::grancapi)
|
MACHINE_CONFIG_START(highvdeo_state::grancapi)
|
||||||
MCFG_DEVICE_ADD("maincpu", I80186, 20000000 )
|
MCFG_DEVICE_ADD("maincpu", I80186, 20000000 )
|
||||||
MCFG_DEVICE_PROGRAM_MAP(brasil_map)
|
MCFG_DEVICE_PROGRAM_MAP(brasil_map)
|
||||||
@ -1287,9 +1333,7 @@ MACHINE_CONFIG_START(highvdeo_state::grancapi)
|
|||||||
MCFG_SCREEN_VISIBLE_AREA(0, 400-1, 0, 300-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 400-1, 0, 300-1)
|
||||||
MCFG_SCREEN_UPDATE_DRIVER(highvdeo_state, screen_update_brasil)
|
MCFG_SCREEN_UPDATE_DRIVER(highvdeo_state, screen_update_brasil)
|
||||||
|
|
||||||
MCFG_PALETTE_ADD("palette", 0x100)
|
MCFG_PALETTE_ADD_RRRRRGGGGGGBBBBB("palette")
|
||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(highvdeo_state,tourvisn)
|
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
@ -1313,9 +1357,7 @@ MACHINE_CONFIG_START(highvdeo_state::magicbom)
|
|||||||
MCFG_SCREEN_VISIBLE_AREA(0, 400-1, 0, 300-1)
|
MCFG_SCREEN_VISIBLE_AREA(0, 400-1, 0, 300-1)
|
||||||
MCFG_SCREEN_UPDATE_DRIVER(highvdeo_state, screen_update_brasil)
|
MCFG_SCREEN_UPDATE_DRIVER(highvdeo_state, screen_update_brasil)
|
||||||
|
|
||||||
MCFG_PALETTE_ADD("palette", 0x100)
|
MCFG_PALETTE_ADD_RRRRRGGGGGGBBBBB("palette")
|
||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(highvdeo_state,tourvisn)
|
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
@ -1326,73 +1368,55 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
|
|
||||||
ROM_START( tour4000 )
|
ROM_START( tour4000 )
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "vcfi18.bin", 0x00001, 0x80000, CRC(8c83cd34) SHA1(a94bdfdb74d047ac3851f2aef295a37c93b091f2) )
|
ROM_LOAD16_BYTE( "vcfi18.bin", 0x00001, 0x80000, CRC(8c83cd34) SHA1(a94bdfdb74d047ac3851f2aef295a37c93b091f2) )
|
||||||
ROM_LOAD16_BYTE( "vcfi17.bin", 0x00000, 0x80000, CRC(bcae57ed) SHA1(13c02cae59ed5cc0847a7827a315902066b03190) )
|
ROM_LOAD16_BYTE( "vcfi17.bin", 0x00000, 0x80000, CRC(bcae57ed) SHA1(13c02cae59ed5cc0847a7827a315902066b03190) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x0c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( cfever40 )
|
ROM_START( cfever40 )
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "vcfi48.bin", 0x00001, 0x80000, CRC(5a86a642) SHA1(fd927bc393242ff0aca87a0e3c2127f6f1df09cd) )
|
ROM_LOAD16_BYTE( "vcfi48.bin", 0x00001, 0x80000, CRC(5a86a642) SHA1(fd927bc393242ff0aca87a0e3c2127f6f1df09cd) )
|
||||||
ROM_LOAD16_BYTE( "vcfi47.bin", 0x00000, 0x80000, CRC(e7adc4d8) SHA1(862041c2c5d260727e525ab85fde18994484db16) )
|
ROM_LOAD16_BYTE( "vcfi47.bin", 0x00000, 0x80000, CRC(e7adc4d8) SHA1(862041c2c5d260727e525ab85fde18994484db16) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x0c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( cfever50 )
|
ROM_START( cfever50 )
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "vcfi58.bin", 0x00001, 0x80000, CRC(c3464934) SHA1(1672c34d9ca250769973f7bc739137f153552eb9) )
|
ROM_LOAD16_BYTE( "vcfi58.bin", 0x00001, 0x80000, CRC(c3464934) SHA1(1672c34d9ca250769973f7bc739137f153552eb9) )
|
||||||
ROM_LOAD16_BYTE( "vcfi57.bin", 0x00000, 0x80000, CRC(2b789acb) SHA1(782ad3a6e0eacbf9adec4afd20a309215913e505) )
|
ROM_LOAD16_BYTE( "vcfi57.bin", 0x00000, 0x80000, CRC(2b789acb) SHA1(782ad3a6e0eacbf9adec4afd20a309215913e505) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x0c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( tour4010 )
|
ROM_START( tour4010 )
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "ncfi18.bin", 0x00001, 0x80000, CRC(294929d9) SHA1(712926cf1f78197fce838a4e76d70082182214eb) )
|
ROM_LOAD16_BYTE( "ncfi18.bin", 0x00001, 0x80000, CRC(294929d9) SHA1(712926cf1f78197fce838a4e76d70082182214eb) )
|
||||||
ROM_LOAD16_BYTE( "ncfi17.bin", 0x00000, 0x80000, CRC(4a8ac279) SHA1(41b0de4444466700ef2de2e926c8fa6f0bda280d) )
|
ROM_LOAD16_BYTE( "ncfi17.bin", 0x00000, 0x80000, CRC(4a8ac279) SHA1(41b0de4444466700ef2de2e926c8fa6f0bda280d) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x0c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( cfever51 )
|
ROM_START( cfever51 )
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "ncfi58.bin", 0x00001, 0x80000, CRC(cdf9c2f0) SHA1(94f9cf6b1856becd74971022ded6db5ae927fb54) )
|
ROM_LOAD16_BYTE( "ncfi58.bin", 0x00001, 0x80000, CRC(cdf9c2f0) SHA1(94f9cf6b1856becd74971022ded6db5ae927fb54) )
|
||||||
ROM_LOAD16_BYTE( "ncfi57.bin", 0x00000, 0x80000, CRC(5005cf2b) SHA1(468ccd27fcb8bdb7d6ccf423542e1d4773930b88) )
|
ROM_LOAD16_BYTE( "ncfi57.bin", 0x00000, 0x80000, CRC(5005cf2b) SHA1(468ccd27fcb8bdb7d6ccf423542e1d4773930b88) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x0c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( cfever61 )
|
ROM_START( cfever61 )
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "ncfi68.bin", 0x00001, 0x80000, CRC(51fe839f) SHA1(e4d9bce4a995cb407faaf36b2c1e10409a2e94da) )
|
ROM_LOAD16_BYTE( "ncfi68.bin", 0x00001, 0x80000, CRC(51fe839f) SHA1(e4d9bce4a995cb407faaf36b2c1e10409a2e94da) )
|
||||||
ROM_LOAD16_BYTE( "ncfi67.bin", 0x00000, 0x80000, CRC(d889d6b6) SHA1(791d9b9fc2d0a128ab07a9ae18a32f2838a5ea3f) )
|
ROM_LOAD16_BYTE( "ncfi67.bin", 0x00000, 0x80000, CRC(d889d6b6) SHA1(791d9b9fc2d0a128ab07a9ae18a32f2838a5ea3f) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x0c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
||||||
ROM_END
|
ROM_END
|
||||||
@ -1418,13 +1442,10 @@ ROM_END
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ROM_START( nyjoker )
|
ROM_START( nyjoker )
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "ni8-2-1.ic8", 0x00001, 0x80000, CRC(81416871) SHA1(c5519b1fcf0131710a8972d9016b8af5f8ac75a1) )
|
ROM_LOAD16_BYTE( "ni8-2-1.ic8", 0x00001, 0x80000, CRC(81416871) SHA1(c5519b1fcf0131710a8972d9016b8af5f8ac75a1) )
|
||||||
ROM_LOAD16_BYTE( "ni7-2-1.ic7", 0x00000, 0x80000, CRC(835b8606) SHA1(a036f8568f0e41eb1f4db7fa41a9cd4b92d41514) )
|
ROM_LOAD16_BYTE( "ni7-2-1.ic7", 0x00000, 0x80000, CRC(835b8606) SHA1(a036f8568f0e41eb1f4db7fa41a9cd4b92d41514) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /* copy for program code */
|
|
||||||
ROM_COPY( "user1", 0x0C0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "ny2.ic25", 0x00000, 0x80000, CRC(eeea7f4d) SHA1(2afc498792f848fd45be4d3eb3e6607edb5dd9df) )
|
ROM_LOAD( "ny2.ic25", 0x00000, 0x80000, CRC(eeea7f4d) SHA1(2afc498792f848fd45be4d3eb3e6607edb5dd9df) )
|
||||||
|
|
||||||
@ -1433,41 +1454,32 @@ ROM_START( nyjoker )
|
|||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( cfever1k )
|
ROM_START( cfever1k )
|
||||||
ROM_REGION( 0x200000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x200000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "tcfi28.bin", 0x00001, 0x100000, CRC(e38d115a) SHA1(7fec94ddcdb07e483ed2f0d7d667c35ceb7a1f44) )
|
ROM_LOAD16_BYTE( "tcfi28.bin", 0x00001, 0x100000, CRC(e38d115a) SHA1(7fec94ddcdb07e483ed2f0d7d667c35ceb7a1f44) )
|
||||||
ROM_LOAD16_BYTE( "tcfi27.bin", 0x00000, 0x100000, CRC(32f884e6) SHA1(cc74a4c6313654bbd363a89fe7757a05c74de45b) )
|
ROM_LOAD16_BYTE( "tcfi27.bin", 0x00000, 0x100000, CRC(32f884e6) SHA1(cc74a4c6313654bbd363a89fe7757a05c74de45b) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x1C0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
ROM_LOAD( "ic25.bin", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
ROM_START( girotutt )
|
ROM_START( girotutt )
|
||||||
ROM_REGION( 0x200000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x200000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "tcfi18.bin", 0x00001, 0x100000, CRC(822ab6a1) SHA1(04f4254da46cf67ea17587fde4a0fdd39c658b3b) )
|
ROM_LOAD16_BYTE( "tcfi18.bin", 0x00001, 0x100000, CRC(822ab6a1) SHA1(04f4254da46cf67ea17587fde4a0fdd39c658b3b) )
|
||||||
ROM_LOAD16_BYTE( "tcfi17.bin", 0x00000, 0x100000, CRC(b326a0ee) SHA1(c96b7578c112a97ba1d8de4d3d0ae68fef846cad) )
|
ROM_LOAD16_BYTE( "tcfi17.bin", 0x00000, 0x100000, CRC(b326a0ee) SHA1(c96b7578c112a97ba1d8de4d3d0ae68fef846cad) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x1C0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "t41.bin", 0x00000, 0x80000, CRC(6f694406) SHA1(ec8b8baba0ee1bfe8986ce978412ee4de06f1906) )
|
ROM_LOAD( "t41.bin", 0x00000, 0x80000, CRC(6f694406) SHA1(ec8b8baba0ee1bfe8986ce978412ee4de06f1906) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
ROM_START( galeone )
|
ROM_START( galeone )
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 Code */
|
||||||
ROM_LOAD16_BYTE( "model.a8-vers.1.0.ic8", 0x00001, 0x40000, CRC(b9e1e7ce) SHA1(4e036285b26dc0a313e76259b7e67c8d55322c84) )
|
ROM_LOAD16_BYTE( "model.a8-vers.1.0.ic8", 0x00001, 0x40000, CRC(b9e1e7ce) SHA1(4e036285b26dc0a313e76259b7e67c8d55322c84) )
|
||||||
ROM_RELOAD(0x80001,0x40000)
|
ROM_RELOAD(0x80001,0x40000)
|
||||||
ROM_LOAD16_BYTE( "model.a7-vers.1.0.ic7", 0x00000, 0x40000, CRC(1940b738) SHA1(81e40de8df4dc838342bf966658110989a233731) )
|
ROM_LOAD16_BYTE( "model.a7-vers.1.0.ic7", 0x00000, 0x40000, CRC(1940b738) SHA1(81e40de8df4dc838342bf966658110989a233731) )
|
||||||
ROM_RELOAD(0x80000,0x40000)
|
ROM_RELOAD(0x80000,0x40000)
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /* copy for program code */
|
|
||||||
ROM_COPY( "user1", 0x040000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "model.ga-vers.1.ic25", 0x00000, 0x80000, CRC(4c2c2cc1) SHA1(20da29b2f1dd1f86ec23d9dbdaa9470878e900e2) )
|
ROM_LOAD( "model.ga-vers.1.ic25", 0x00000, 0x80000, CRC(4c2c2cc1) SHA1(20da29b2f1dd1f86ec23d9dbdaa9470878e900e2) )
|
||||||
ROM_END
|
ROM_END
|
||||||
@ -1501,13 +1513,10 @@ PCB n. E178247
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ROM_START( newmcard )
|
ROM_START( newmcard )
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) /* V30 Code; Fix for extra bank bit */
|
||||||
ROM_LOAD16_BYTE( "mc32.ic4", 0x00000, 0x80000, CRC(d9817f48) SHA1(c523a8248b487081ea2e0e326dcc660b051c23c1) )
|
ROM_LOAD16_BYTE( "mc32.ic4", 0x00000, 0x80000, CRC(d9817f48) SHA1(c523a8248b487081ea2e0e326dcc660b051c23c1) )
|
||||||
ROM_LOAD16_BYTE( "mc33.ic5", 0x00001, 0x80000, CRC(83a855ab) SHA1(7f9384c875b951d17caa91f8a7365edaf7f9afe1) )
|
ROM_LOAD16_BYTE( "mc33.ic5", 0x00001, 0x80000, CRC(83a855ab) SHA1(7f9384c875b951d17caa91f8a7365edaf7f9afe1) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x0c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "mc31.ic15", 0x00000, 0x40000, CRC(8b72ffec) SHA1(fca5cf2594325e0c9fe446ddf2330c669f7f37a9) )
|
ROM_LOAD( "mc31.ic15", 0x00000, 0x40000, CRC(8b72ffec) SHA1(fca5cf2594325e0c9fe446ddf2330c669f7f37a9) )
|
||||||
ROM_END
|
ROM_END
|
||||||
@ -1531,37 +1540,14 @@ ROM_END
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ROM_START( ciclone )
|
ROM_START( ciclone )
|
||||||
ROM_REGION( 0x200000, "user1", 0 ) /* N80C186XL25 Code */
|
ROM_REGION( 0x200000, "maincpu", 0 ) /* N80C186XL25 Code */
|
||||||
ROM_LOAD16_BYTE( "hclv1.u7", 0x000000, 0x100000, CRC(071c64f2) SHA1(5125c3caf77258260bfa4c24dd612cedf61fe7f2) )
|
ROM_LOAD16_BYTE( "hclv1.u7", 0x000000, 0x100000, CRC(071c64f2) SHA1(5125c3caf77258260bfa4c24dd612cedf61fe7f2) )
|
||||||
ROM_LOAD16_BYTE( "hclv1.u8", 0x000001, 0x100000, CRC(c2ed99b4) SHA1(a1a3bfa9a6ea53979c20d60ccd7eb1773c805fc8) )
|
ROM_LOAD16_BYTE( "hclv1.u8", 0x000001, 0x100000, CRC(c2ed99b4) SHA1(a1a3bfa9a6ea53979c20d60ccd7eb1773c805fc8) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x1c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "hclv1.u16", 0x00000, 0x80000, CRC(45b2b53a) SHA1(983bcc5869d84938ba278f26339dd72c17ed1d00) )
|
ROM_LOAD( "hclv1.u16", 0x00000, 0x80000, CRC(45b2b53a) SHA1(983bcc5869d84938ba278f26339dd72c17ed1d00) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
/*Ciclone*/
|
|
||||||
READ16_MEMBER(highvdeo_state::ciclone_status_r)
|
|
||||||
{
|
|
||||||
static uint16_t resetpulse;
|
|
||||||
switch(offset*2)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
resetpulse^=0x10;
|
|
||||||
return 0 | resetpulse;
|
|
||||||
case 2: return 0x15; //and 0x3f
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(highvdeo_state,ciclone)
|
|
||||||
{
|
|
||||||
m_maincpu->space(AS_IO).install_read_handler(0x0030, 0x0033, read16_delegate(FUNC(highvdeo_state::ciclone_status_r), this));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
CPUs
|
CPUs
|
||||||
N80C186XL25 (main)(u1)
|
N80C186XL25 (main)(u1)
|
||||||
@ -1591,104 +1577,52 @@ http://media.digikey.com/pdf/Data%20Sheets/Intel%20PDFs/80C186XL,%2080C188XL.pdf
|
|||||||
|
|
||||||
|
|
||||||
ROM_START( brasil )
|
ROM_START( brasil )
|
||||||
ROM_REGION( 0x200000, "user1", 0 ) /* N80C186XL25 Code */
|
ROM_REGION( 0x200000, "maincpu", 0 ) /* N80C186XL25 Code */
|
||||||
ROM_LOAD16_BYTE( "record_brasil_hrc7_vers.3.u7", 0x000000, 0x100000, CRC(627e0d58) SHA1(6ff8ba7b21e1ea5c88de3f02a057906c9a7cd808) )
|
ROM_LOAD16_BYTE( "record_brasil_hrc7_vers.3.u7", 0x000000, 0x100000, CRC(627e0d58) SHA1(6ff8ba7b21e1ea5c88de3f02a057906c9a7cd808) )
|
||||||
ROM_LOAD16_BYTE( "record_brasil_hrc8_vers.3.u8", 0x000001, 0x100000, CRC(47f7ba2a) SHA1(0add7bbf771fd0bf205a05e910cb388cf052b09f) )
|
ROM_LOAD16_BYTE( "record_brasil_hrc8_vers.3.u8", 0x000001, 0x100000, CRC(47f7ba2a) SHA1(0add7bbf771fd0bf205a05e910cb388cf052b09f) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x1c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "sound_brasil_hbr_vers.1.u16", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
ROM_LOAD( "sound_brasil_hbr_vers.1.u16", 0x00000, 0x80000, CRC(d71a5566) SHA1(2f7aefc06e39ce211e31b15aadf6338b679e7a31) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
ROM_START( fashion )
|
ROM_START( fashion )
|
||||||
ROM_REGION( 0x200000, "user1", 0 ) /* N80C186XL25 Code */
|
ROM_REGION( 0x200000, "maincpu", 0 ) /* N80C186XL25 Code */
|
||||||
ROM_LOAD16_BYTE( "fashion1-hfs7v2.14.high-video8m.u7", 0x000000, 0x100000, CRC(20411b89) SHA1(3ed6336978e5046eeef26115614cb74e3ffe134a) )
|
ROM_LOAD16_BYTE( "fashion1-hfs7v2.14.high-video8m.u7", 0x000000, 0x100000, CRC(20411b89) SHA1(3ed6336978e5046eeef26115614cb74e3ffe134a) )
|
||||||
ROM_LOAD16_BYTE( "fashion1-hfs8v2.14.high-video8m.u8", 0x000001, 0x100000, CRC(521f34f3) SHA1(91edc90fcd895a096955ac031a42da04510df1e6) )
|
ROM_LOAD16_BYTE( "fashion1-hfs8v2.14.high-video8m.u8", 0x000001, 0x100000, CRC(521f34f3) SHA1(91edc90fcd895a096955ac031a42da04510df1e6) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x1c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "sound-fashion-v-1-memory4m.u16", 0x00000, 0x80000, CRC(2927c799) SHA1(f11cad096a23fee10bfdff5bf944c96e30f4a8b8) )
|
ROM_LOAD( "sound-fashion-v-1-memory4m.u16", 0x00000, 0x80000, CRC(2927c799) SHA1(f11cad096a23fee10bfdff5bf944c96e30f4a8b8) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
WRITE16_MEMBER(highvdeo_state::fashion_output_w)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
// popmessage("%04x",data);
|
|
||||||
|
|
||||||
for(i=0;i<4;i++)
|
|
||||||
{
|
|
||||||
machine().bookkeeping().coin_counter_w(i,data & 0x20);
|
|
||||||
machine().bookkeeping().coin_lockout_w(i,~data & 0x01);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(highvdeo_state,fashion)
|
|
||||||
{
|
|
||||||
m_maincpu->space(AS_IO).install_write_handler(0x0002, 0x0003, write16_delegate(FUNC(highvdeo_state::fashion_output_w), this));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ROM_START( grancapi )
|
ROM_START( grancapi )
|
||||||
ROM_REGION( 0x200000, "user1", 0 ) /* N80C186XL25 Code */
|
ROM_REGION( 0x200000, "maincpu", 0 ) /* N80C186XL25 Code */
|
||||||
ROM_LOAD16_BYTE( "gran-capitan-hgcp-i38-vers3-high-video.ic7", 0x000000, 0x100000, CRC(8bb75c50) SHA1(3a54daaf57ff4ffd1ebea6bfa33d40dbfcfe8d8f) )
|
ROM_LOAD16_BYTE( "gran-capitan-hgcp-i38-vers3-high-video.ic7", 0x000000, 0x100000, CRC(8bb75c50) SHA1(3a54daaf57ff4ffd1ebea6bfa33d40dbfcfe8d8f) )
|
||||||
ROM_LOAD16_BYTE( "gran-capitan-hgcp-i38-vers3-high-video.ic8", 0x000001, 0x100000, CRC(28ad57f1) SHA1(093b117ab315fca1c0905363e8f637dbf96c48ec) )
|
ROM_LOAD16_BYTE( "gran-capitan-hgcp-i38-vers3-high-video.ic8", 0x000001, 0x100000, CRC(28ad57f1) SHA1(093b117ab315fca1c0905363e8f637dbf96c48ec) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x1c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x040000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "sound-gran-capitan-hgcp-vers1-memory-2m.ic16", 0x00000, 0x40000, CRC(3d19146e) SHA1(a0e45df231fa7513e294633cbdbe46bf9bd77c1b) )
|
ROM_LOAD( "sound-gran-capitan-hgcp-vers1-memory-2m.ic16", 0x00000, 0x40000, CRC(3d19146e) SHA1(a0e45df231fa7513e294633cbdbe46bf9bd77c1b) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( magicbom )
|
ROM_START( magicbom )
|
||||||
ROM_REGION( 0x200000, "user1", 0 ) /* N80C186XL25 Code */
|
ROM_REGION( 0x200000, "maincpu", 0 ) /* N80C186XL25 Code */
|
||||||
ROM_LOAD16_BYTE( "magic-bomb-hmb-i17-vers1-high-video.ic7", 0x000000, 0x100000, CRC(d217ae33) SHA1(ca3a13d9d23809583733e7b1bdba096a50fe7488) )
|
ROM_LOAD16_BYTE( "magic-bomb-hmb-i17-vers1-high-video.ic7", 0x000000, 0x100000, CRC(d217ae33) SHA1(ca3a13d9d23809583733e7b1bdba096a50fe7488) )
|
||||||
ROM_LOAD16_BYTE( "magic-bomb-hmb-i17-vers1-high-video.ic8", 0x000001, 0x100000, CRC(53a9c3d5) SHA1(72a2a07c0bd7b00566795042bcff1f6f324b964f) )
|
ROM_LOAD16_BYTE( "magic-bomb-hmb-i17-vers1-high-video.ic8", 0x000001, 0x100000, CRC(53a9c3d5) SHA1(72a2a07c0bd7b00566795042bcff1f6f324b964f) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x1c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "sound-magic-bomb-hmb-vers1-memory-4m.ic16", 0x00000, 0x80000, CRC(45b2b53a) SHA1(983bcc5869d84938ba278f26339dd72c17ed1d00) )
|
ROM_LOAD( "sound-magic-bomb-hmb-vers1-memory-4m.ic16", 0x00000, 0x80000, CRC(45b2b53a) SHA1(983bcc5869d84938ba278f26339dd72c17ed1d00) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( record ) // do checks and expect something... pc=e8044
|
ROM_START( record ) // do checks and expect something... pc=e8044
|
||||||
ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
|
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) /* V30 Code; Fix for extra bank bit */
|
||||||
ROM_LOAD16_BYTE( "record-vrc-i17-vers1-video-map.ic7", 0x00000, 0x80000, CRC(d0e59a64) SHA1(5f51448a4cdefd335e19affa4b47df7b428b0e7c) )
|
ROM_LOAD16_BYTE( "record-vrc-i17-vers1-video-map.ic7", 0x00000, 0x80000, CRC(d0e59a64) SHA1(5f51448a4cdefd335e19affa4b47df7b428b0e7c) )
|
||||||
ROM_LOAD16_BYTE( "record-vrc-i17-vers1-video-map.ic8", 0x00001, 0x80000, CRC(823d1c25) SHA1(3104567b2b05708d1b5218f9f0e64bfa3d0df46b) )
|
ROM_LOAD16_BYTE( "record-vrc-i17-vers1-video-map.ic8", 0x00001, 0x80000, CRC(823d1c25) SHA1(3104567b2b05708d1b5218f9f0e64bfa3d0df46b) )
|
||||||
|
|
||||||
ROM_REGION( 0x040000, "boot_prg", 0 ) /*copy for program code*/
|
|
||||||
ROM_COPY( "user1", 0x0c0000, 0x000000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
ROM_REGION( 0x080000, "oki", 0 ) /* M6376 Samples */
|
||||||
ROM_LOAD( "sound-record-hrc-vers1-memory-2m.ic16", 0x00000, 0x40000, CRC(8b72ffec) SHA1(fca5cf2594325e0c9fe446ddf2330c669f7f37a9) )
|
ROM_LOAD( "sound-record-hrc-vers1-memory-2m.ic16", 0x00000, 0x40000, CRC(8b72ffec) SHA1(fca5cf2594325e0c9fe446ddf2330c669f7f37a9) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
READ16_MEMBER(highvdeo_state::record_status_r)
|
|
||||||
{
|
|
||||||
static uint16_t resetpulse;
|
|
||||||
switch(offset*2)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
resetpulse^=0x15; // and 0x07, cmp with 0x05
|
|
||||||
return 0 | resetpulse;
|
|
||||||
case 2: return 0x15; // unknown
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(highvdeo_state, record)
|
|
||||||
{
|
|
||||||
m_maincpu->space(AS_IO).install_read_handler(0x0030, 0x0033, read16_delegate(FUNC(highvdeo_state::record_status_r), this));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
GAMEL( 2000, tour4000, 0, tv_vcf, tv_vcf, highvdeo_state, 0, ROT0, "High Video", "Tour 4000", 0, layout_fashion )
|
GAMEL( 2000, tour4000, 0, tv_vcf, tv_vcf, highvdeo_state, 0, ROT0, "High Video", "Tour 4000", 0, layout_fashion )
|
||||||
GAMEL( 2000, cfever40, 0, tv_vcf, tv_vcf, highvdeo_state, 0, ROT0, "High Video", "Casino Fever 4.0", 0, layout_fashion )
|
GAMEL( 2000, cfever40, 0, tv_vcf, tv_vcf, highvdeo_state, 0, ROT0, "High Video", "Casino Fever 4.0", 0, layout_fashion )
|
||||||
@ -1700,10 +1634,10 @@ GAMEL( 2000, nyjoker, 0, nyjoker, nyjoker, highvdeo_state, 0, ROT
|
|||||||
GAMEL( 2000, cfever1k, 0, tv_tcf, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "Casino Fever 1k", 0, layout_fashion )
|
GAMEL( 2000, cfever1k, 0, tv_tcf, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "Casino Fever 1k", 0, layout_fashion )
|
||||||
GAMEL( 2000, girotutt, 0, tv_tcf, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "GiroTutto", 0, layout_fashion )
|
GAMEL( 2000, girotutt, 0, tv_tcf, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "GiroTutto", 0, layout_fashion )
|
||||||
GAMEL( 2000, galeone, 0, nyjoker, nyjoker, highvdeo_state, 0, ROT0, "San Remo Games", "Il Galeone", 0, layout_fashion )
|
GAMEL( 2000, galeone, 0, nyjoker, nyjoker, highvdeo_state, 0, ROT0, "San Remo Games", "Il Galeone", 0, layout_fashion )
|
||||||
GAMEL( 2000, ciclone, 0, ciclone, tv_tcf, highvdeo_state, ciclone, ROT0, "High Video", "Ciclone", 0, layout_fashion )
|
GAMEL( 2000, ciclone, 0, ciclone, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "Ciclone", 0, layout_fashion )
|
||||||
GAMEL( 2000, newmcard, 0, newmcard, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "New Magic Card", 0, layout_fashion )
|
GAMEL( 2000, newmcard, 0, newmcard, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "New Magic Card", 0, layout_fashion )
|
||||||
GAMEL( 2000, brasil, 0, brasil, brasil, highvdeo_state, 0, ROT0, "High Video", "Bra$il (Version 3)", 0, layout_fashion )
|
GAMEL( 2000, brasil, 0, brasil, brasil, highvdeo_state, 0, ROT0, "High Video", "Bra$il (Version 3)", 0, layout_fashion )
|
||||||
GAMEL( 2000, fashion, brasil, brasil, fashion, highvdeo_state, fashion, ROT0, "High Video", "Fashion (Version 2.14)", 0, layout_fashion )
|
GAMEL( 2000, fashion, brasil, fashion, fashion, highvdeo_state, 0, ROT0, "High Video", "Fashion (Version 2.14)", 0, layout_fashion )
|
||||||
GAMEL( 2000, grancapi, 0, grancapi, brasil, highvdeo_state, 0, ROT0, "High Video", "Gran Capitan (Version 3)", MACHINE_NOT_WORKING, layout_fashion )
|
GAMEL( 2000, grancapi, 0, grancapi, brasil, highvdeo_state, 0, ROT0, "High Video", "Gran Capitan (Version 3)", MACHINE_NOT_WORKING, layout_fashion )
|
||||||
GAMEL( 2000, magicbom, 0, magicbom, fashion, highvdeo_state, fashion, ROT0, "High Video", "Magic Bomb (Version 1)", MACHINE_NOT_WORKING, layout_fashion )
|
GAMEL( 2000, magicbom, 0, magicbom, fashion, highvdeo_state, 0, ROT0, "High Video", "Magic Bomb (Version 1)", MACHINE_NOT_WORKING, layout_fashion )
|
||||||
GAMEL( 2000, record, 0, newmcard, tv_tcf, highvdeo_state, record, ROT0, "High Video", "Record (Version 1)", 0, layout_fashion )
|
GAMEL( 2000, record, 0, record, tv_tcf, highvdeo_state, 0, ROT0, "High Video", "Record (Version 1)", 0, layout_fashion )
|
||||||
|
Loading…
Reference in New Issue
Block a user