mirror of
https://github.com/holub/mame
synced 2025-07-06 10:29:38 +03:00
Clean-ups and version bump
This commit is contained in:
parent
fa5445fa87
commit
97685083b1
@ -1115,7 +1115,7 @@ ui_menu_control_device_image::ui_menu_control_device_image(running_machine &mach
|
|||||||
|
|
||||||
sld = 0;
|
sld = 0;
|
||||||
if (image->software_list_name()) {
|
if (image->software_list_name()) {
|
||||||
software_list_device_iterator iter(machine.config().root_device());
|
software_list_device_iterator iter(machine.config().root_device());
|
||||||
for (const software_list_device *swlist = iter.first(); swlist != NULL; swlist = iter.next())
|
for (const software_list_device *swlist = iter.first(); swlist != NULL; swlist = iter.next())
|
||||||
{
|
{
|
||||||
if (strcmp(swlist->list_name(),image->software_list_name())==0) sld = swlist;
|
if (strcmp(swlist->list_name(),image->software_list_name())==0) sld = swlist;
|
||||||
|
@ -220,13 +220,13 @@ void centronics_printer_device::device_start()
|
|||||||
|
|
||||||
/* get printer device */
|
/* get printer device */
|
||||||
m_printer = subdevice<printer_image_device>("printer");
|
m_printer = subdevice<printer_image_device>("printer");
|
||||||
|
|
||||||
/* register for state saving */
|
/* register for state saving */
|
||||||
save_item(NAME(m_auto_fd));
|
save_item(NAME(m_auto_fd));
|
||||||
save_item(NAME(m_strobe));
|
save_item(NAME(m_strobe));
|
||||||
save_item(NAME(m_busy));
|
save_item(NAME(m_busy));
|
||||||
save_item(NAME(m_ack));
|
save_item(NAME(m_ack));
|
||||||
save_item(NAME(m_data));
|
save_item(NAME(m_data));
|
||||||
}
|
}
|
||||||
|
|
||||||
void centronics_printer_device::device_reset()
|
void centronics_printer_device::device_reset()
|
||||||
@ -267,4 +267,4 @@ void centronics_printer_device::init_prime_w(UINT8 state)
|
|||||||
|
|
||||||
SLOT_INTERFACE_START(centronics_printer)
|
SLOT_INTERFACE_START(centronics_printer)
|
||||||
SLOT_INTERFACE("printer", CENTRONICS_PRINTER)
|
SLOT_INTERFACE("printer", CENTRONICS_PRINTER)
|
||||||
SLOT_INTERFACE_END
|
SLOT_INTERFACE_END
|
||||||
|
@ -26,15 +26,15 @@ public:
|
|||||||
virtual void strobe_w(UINT8 state) { m_strobe = state; }
|
virtual void strobe_w(UINT8 state) { m_strobe = state; }
|
||||||
virtual void init_prime_w(UINT8 state) { m_init = state; }
|
virtual void init_prime_w(UINT8 state) { m_init = state; }
|
||||||
virtual void autofeed_w(UINT8 state) { m_auto_fd = state; }
|
virtual void autofeed_w(UINT8 state) { m_auto_fd = state; }
|
||||||
|
|
||||||
virtual UINT8 ack_r() { return m_ack;}
|
virtual UINT8 ack_r() { return m_ack;}
|
||||||
virtual UINT8 busy_r(){ return m_busy; }
|
virtual UINT8 busy_r(){ return m_busy; }
|
||||||
virtual UINT8 pe_r() { return m_pe;}
|
virtual UINT8 pe_r() { return m_pe;}
|
||||||
virtual UINT8 not_busy_r() { return !m_busy; }
|
virtual UINT8 not_busy_r() { return !m_busy; }
|
||||||
virtual UINT8 vcc_r() { return TRUE; }
|
virtual UINT8 vcc_r() { return TRUE; }
|
||||||
virtual UINT8 fault_r() { return m_fault; }
|
virtual UINT8 fault_r() { return m_fault; }
|
||||||
virtual void set_line(int line, int state) { if (state) m_data |= 1 << line; else m_data &= ~(1 << line); }
|
virtual void set_line(int line, int state) { if (state) m_data |= 1 << line; else m_data &= ~(1 << line); }
|
||||||
protected:
|
protected:
|
||||||
UINT8 m_strobe;
|
UINT8 m_strobe;
|
||||||
UINT8 m_busy;
|
UINT8 m_busy;
|
||||||
UINT8 m_ack;
|
UINT8 m_ack;
|
||||||
@ -55,14 +55,14 @@ struct centronics_interface
|
|||||||
|
|
||||||
// ======================> centronics_device
|
// ======================> centronics_device
|
||||||
class centronics_device : public device_t,
|
class centronics_device : public device_t,
|
||||||
public centronics_interface,
|
public centronics_interface,
|
||||||
public device_slot_interface
|
public device_slot_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
centronics_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
centronics_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||||
virtual ~centronics_device();
|
virtual ~centronics_device();
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER( write ) { if (m_dev) m_dev->write(data); }
|
DECLARE_WRITE8_MEMBER( write ) { if (m_dev) m_dev->write(data); }
|
||||||
DECLARE_READ8_MEMBER( read ) { return (m_dev) ? m_dev->read() : 0x00; }
|
DECLARE_READ8_MEMBER( read ) { return (m_dev) ? m_dev->read() : 0x00; }
|
||||||
|
|
||||||
@ -79,14 +79,14 @@ public:
|
|||||||
DECLARE_WRITE_LINE_MEMBER( strobe_w ) { if (m_dev) m_dev->strobe_w(state); }
|
DECLARE_WRITE_LINE_MEMBER( strobe_w ) { if (m_dev) m_dev->strobe_w(state); }
|
||||||
DECLARE_WRITE_LINE_MEMBER( init_prime_w ) { if (m_dev) m_dev->init_prime_w(state); }
|
DECLARE_WRITE_LINE_MEMBER( init_prime_w ) { if (m_dev) m_dev->init_prime_w(state); }
|
||||||
DECLARE_WRITE_LINE_MEMBER( autofeed_w ) { if (m_dev) m_dev->autofeed_w(state); }
|
DECLARE_WRITE_LINE_MEMBER( autofeed_w ) { if (m_dev) m_dev->autofeed_w(state); }
|
||||||
|
|
||||||
DECLARE_READ_LINE_MEMBER( ack_r ) { return (m_dev) ? m_dev->ack_r() : 0;}
|
DECLARE_READ_LINE_MEMBER( ack_r ) { return (m_dev) ? m_dev->ack_r() : 0;}
|
||||||
DECLARE_READ_LINE_MEMBER( busy_r ){ return (m_dev) ? m_dev->busy_r() : 1; }
|
DECLARE_READ_LINE_MEMBER( busy_r ){ return (m_dev) ? m_dev->busy_r() : 1; }
|
||||||
DECLARE_READ_LINE_MEMBER( pe_r ) { return (m_dev) ? m_dev->pe_r() : 0;}
|
DECLARE_READ_LINE_MEMBER( pe_r ) { return (m_dev) ? m_dev->pe_r() : 0;}
|
||||||
DECLARE_READ_LINE_MEMBER( not_busy_r ) { return (m_dev) ? m_dev->not_busy_r() : 0; }
|
DECLARE_READ_LINE_MEMBER( not_busy_r ) { return (m_dev) ? m_dev->not_busy_r() : 0; }
|
||||||
DECLARE_READ_LINE_MEMBER( vcc_r ) { return (m_dev) ? m_dev->vcc_r() : 0; }
|
DECLARE_READ_LINE_MEMBER( vcc_r ) { return (m_dev) ? m_dev->vcc_r() : 0; }
|
||||||
DECLARE_READ_LINE_MEMBER( fault_r ) { return (m_dev) ? m_dev->fault_r() : 0; }
|
DECLARE_READ_LINE_MEMBER( fault_r ) { return (m_dev) ? m_dev->fault_r() : 0; }
|
||||||
|
|
||||||
void out_ack(UINT8 param) { m_out_ack_func(param); }
|
void out_ack(UINT8 param) { m_out_ack_func(param); }
|
||||||
void out_busy(UINT8 param) { m_out_busy_func(param); }
|
void out_busy(UINT8 param) { m_out_busy_func(param); }
|
||||||
void out_not_busy(UINT8 param) { m_out_not_busy_func(param); }
|
void out_not_busy(UINT8 param) { m_out_not_busy_func(param); }
|
||||||
@ -126,7 +126,7 @@ public:
|
|||||||
|
|
||||||
// optional centronics overrides
|
// optional centronics overrides
|
||||||
virtual void strobe_w(UINT8 state);
|
virtual void strobe_w(UINT8 state);
|
||||||
virtual void init_prime_w(UINT8 state);
|
virtual void init_prime_w(UINT8 state);
|
||||||
virtual UINT8 read() { return 0x00; }
|
virtual UINT8 read() { return 0x00; }
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -153,7 +153,7 @@ SLOT_INTERFACE_EXTERN(centronics_printer);
|
|||||||
#define MCFG_CENTRONICS_PRINTER_ADD(_tag, _intf) \
|
#define MCFG_CENTRONICS_PRINTER_ADD(_tag, _intf) \
|
||||||
MCFG_CENTRONICS_ADD(_tag, _intf, centronics_printer, "printer", NULL) \
|
MCFG_CENTRONICS_ADD(_tag, _intf, centronics_printer, "printer", NULL) \
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
DEFAULT INTERFACES
|
DEFAULT INTERFACES
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
TODO:
|
TODO:
|
||||||
- HOLD mechanism
|
- HOLD mechanism
|
||||||
- IRQ ACK
|
- IRQ ACK
|
||||||
- why skns tries to read uninitialized registers?
|
- why skns tries to read uninitialized registers?
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ public:
|
|||||||
DECLARE_READ8_MEMBER( xram_r );
|
DECLARE_READ8_MEMBER( xram_r );
|
||||||
DECLARE_WRITE8_MEMBER( rtc_w );
|
DECLARE_WRITE8_MEMBER( rtc_w );
|
||||||
DECLARE_WRITE8_MEMBER( xram_w );
|
DECLARE_WRITE8_MEMBER( xram_w );
|
||||||
private:
|
private:
|
||||||
UINT8 read(int xramsel, offs_t offset);
|
UINT8 read(int xramsel, offs_t offset);
|
||||||
void write(int xramsel, offs_t offset, UINT8 data);
|
void write(int xramsel, offs_t offset, UINT8 data);
|
||||||
void field_interrupts();
|
void field_interrupts();
|
||||||
@ -50,10 +50,10 @@ private:
|
|||||||
static TIMER_CALLBACK( rtc_SQW_callback );
|
static TIMER_CALLBACK( rtc_SQW_callback );
|
||||||
static TIMER_CALLBACK( rtc_begin_update_callback );
|
static TIMER_CALLBACK( rtc_begin_update_callback );
|
||||||
static TIMER_CALLBACK( rtc_end_update_callback );
|
static TIMER_CALLBACK( rtc_end_update_callback );
|
||||||
|
|
||||||
void rtc_SQW_cb();
|
void rtc_SQW_cb();
|
||||||
void rtc_begin_update_cb();
|
void rtc_begin_update_cb();
|
||||||
void rtc_end_update_cb();
|
void rtc_end_update_cb();
|
||||||
/* 64 8-bit registers (10 clock registers, 4 control/status registers, and
|
/* 64 8-bit registers (10 clock registers, 4 control/status registers, and
|
||||||
50 bytes of user RAM) */
|
50 bytes of user RAM) */
|
||||||
UINT8 m_regs[64];
|
UINT8 m_regs[64];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* samples.c
|
/* samples.c
|
||||||
|
|
||||||
Playback of pre-recorded samples. Used for high-level simulation of discrete sound circuits
|
Playback of pre-recorded samples. Used for high-level simulation of discrete sound circuits
|
||||||
where proper low-level simulation isn't available. Also used for tape loops and similar.
|
where proper low-level simulation isn't available. Also used for tape loops and similar.
|
||||||
|
|
||||||
|
@ -532,39 +532,39 @@ static void svga_vh_rgb8(running_machine &machine, bitmap_rgb32 &bitmap, const r
|
|||||||
|
|
||||||
static void svga_vh_rgb15(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
static void svga_vh_rgb15(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||||
{
|
{
|
||||||
#define MV(x) (vga.memory[x]+(vga.memory[x+1]<<8))
|
#define MV(x) (vga.memory[x]+(vga.memory[x+1]<<8))
|
||||||
#define IV 0xff000000
|
#define IV 0xff000000
|
||||||
int height = vga.crtc.maximum_scan_line * (vga.crtc.scan_doubling + 1);
|
int height = vga.crtc.maximum_scan_line * (vga.crtc.scan_doubling + 1);
|
||||||
int xi;
|
int xi;
|
||||||
int yi;
|
int yi;
|
||||||
int xm;
|
int xm;
|
||||||
|
|
||||||
int pos, line, column, c, addr, curr_addr;
|
int pos, line, column, c, addr, curr_addr;
|
||||||
|
|
||||||
UINT32 *bitmapline;
|
UINT32 *bitmapline;
|
||||||
// UINT16 mask_comp;
|
// UINT16 mask_comp;
|
||||||
|
|
||||||
/* line compare is screen sensitive */
|
/* line compare is screen sensitive */
|
||||||
// mask_comp = 0xff | (TLINES & 0x300);
|
// mask_comp = 0xff | (TLINES & 0x300);
|
||||||
curr_addr = 0;
|
curr_addr = 0;
|
||||||
yi=0;
|
yi=0;
|
||||||
for (addr = TGA_START_ADDRESS, line=0; line<TLINES; line+=height, addr+=TGA_LINE_LENGTH, curr_addr+=TGA_LINE_LENGTH)
|
for (addr = TGA_START_ADDRESS, line=0; line<TLINES; line+=height, addr+=TGA_LINE_LENGTH, curr_addr+=TGA_LINE_LENGTH)
|
||||||
{
|
{
|
||||||
if(line>500) return;
|
if(line>500) return;
|
||||||
bitmapline = &bitmap.pix32(line);
|
bitmapline = &bitmap.pix32(line);
|
||||||
addr %= vga.svga_intf.vram_size;
|
addr %= vga.svga_intf.vram_size;
|
||||||
for (pos=addr, c=0, column=0; column<TGA_COLUMNS; column++, c+=8, pos+=0x10)
|
for (pos=addr, c=0, column=0; column<TGA_COLUMNS; column++, c+=8, pos+=0x10)
|
||||||
{
|
{
|
||||||
if(pos + 0x10 > vga.svga_intf.vram_size)
|
if(pos + 0x10 > vga.svga_intf.vram_size)
|
||||||
return;
|
return;
|
||||||
for(xi=0,xm=0;xi<8;xi++,xm+=2)
|
for(xi=0,xm=0;xi<8;xi++,xm+=2)
|
||||||
{
|
{
|
||||||
if(!machine.primary_screen->visible_area().contains(c+xi, line + yi))
|
if(!machine.primary_screen->visible_area().contains(c+xi, line + yi))
|
||||||
continue;
|
continue;
|
||||||
bitmapline[c+xi] = IV|(MV(pos+xm)&0x7c00)<<9 |(MV(pos+xm)&0x3e0)<<6|(MV(pos+xm)&0x1f)<<3;
|
bitmapline[c+xi] = IV|(MV(pos+xm)&0x7c00)<<9 |(MV(pos+xm)&0x3e0)<<6|(MV(pos+xm)&0x1f)<<3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum
|
enum
|
||||||
@ -626,7 +626,7 @@ static UINT8 pc_vga_choosevideomode(running_machine &machine)
|
|||||||
else if (svga.rgb15_en&0x30)
|
else if (svga.rgb15_en&0x30)
|
||||||
{
|
{
|
||||||
return RGB15_MODE;
|
return RGB15_MODE;
|
||||||
}
|
}
|
||||||
else if (!GRAPHIC_MODE)
|
else if (!GRAPHIC_MODE)
|
||||||
{
|
{
|
||||||
//proc = vga_vh_text;
|
//proc = vga_vh_text;
|
||||||
@ -1811,7 +1811,7 @@ void pc_svga_trident_io_init(running_machine &machine, address_space *mem_space,
|
|||||||
|
|
||||||
mem_space->install_legacy_readwrite_handler(mem_offset + 0x00000, mem_offset + 0x1ffff, FUNC(trident_mem_r), FUNC(trident_mem_w), mask);
|
mem_space->install_legacy_readwrite_handler(mem_offset + 0x00000, mem_offset + 0x1ffff, FUNC(trident_mem_r), FUNC(trident_mem_w), mask);
|
||||||
|
|
||||||
// D3h = TGUI9660XGi
|
// D3h = TGUI9660XGi
|
||||||
svga.id = 0xd3; // TODO: hardcoded for California Chase
|
svga.id = 0xd3; // TODO: hardcoded for California Chase
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1856,7 +1856,7 @@ static void trident_seq_reg_write(running_machine &machine, UINT8 index, UINT8 d
|
|||||||
// TODO: old mode registers selected
|
// TODO: old mode registers selected
|
||||||
break;
|
break;
|
||||||
case 0x0d:
|
case 0x0d:
|
||||||
svga.rgb15_en = data & 0x30; // TODO: doesn't match documentation
|
svga.rgb15_en = data & 0x30; // TODO: doesn't match documentation
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1952,7 +1952,7 @@ WRITE8_HANDLER( trident_mem_w )
|
|||||||
return;
|
return;
|
||||||
vga.memory[offset + (svga.bank_w*0x10000)]= data;
|
vga.memory[offset + (svga.bank_w*0x10000)]= data;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
vga_mem_w(space,offset,data);
|
vga_mem_w(space,offset,data);
|
||||||
}
|
}
|
||||||
|
@ -115,25 +115,25 @@ WRITE8_MEMBER(dsbz80_device::mpeg_trigger_w)
|
|||||||
|
|
||||||
if (data == 0) // stop
|
if (data == 0) // stop
|
||||||
{
|
{
|
||||||
// MPEG_Stop_Playing();
|
// MPEG_Stop_Playing();
|
||||||
// printf("MPEG stop\n");
|
// printf("MPEG stop\n");
|
||||||
}
|
}
|
||||||
else if (data == 1) // play without loop
|
else if (data == 1) // play without loop
|
||||||
{
|
{
|
||||||
// MPEG_Set_Loop(NULL, 0);
|
// MPEG_Set_Loop(NULL, 0);
|
||||||
// MPEG_Play_Memory(ROM + mp_start, mp_end-mp_start);
|
// MPEG_Play_Memory(ROM + mp_start, mp_end-mp_start);
|
||||||
// printf("MPEG start, one-shot from %x\n", mp_start);
|
// printf("MPEG start, one-shot from %x\n", mp_start);
|
||||||
}
|
}
|
||||||
else if (data == 2) // play with loop
|
else if (data == 2) // play with loop
|
||||||
{
|
{
|
||||||
// MPEG_Play_Memory(ROM + mp_start, mp_end-mp_start);
|
// MPEG_Play_Memory(ROM + mp_start, mp_end-mp_start);
|
||||||
// printf("MPEG start, loop from %x\n", mp_start);
|
// printf("MPEG start, loop from %x\n", mp_start);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(dsbz80_device::mpeg_pos_r)
|
READ8_MEMBER(dsbz80_device::mpeg_pos_r)
|
||||||
{
|
{
|
||||||
int mp_prg = 0; //MPEG_Get_Progress(); // returns the byte offset currently playing
|
int mp_prg = 0; //MPEG_Get_Progress(); // returns the byte offset currently playing
|
||||||
|
|
||||||
mp_prg += mp_start;
|
mp_prg += mp_start;
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ READ8_MEMBER(dsbz80_device::mpeg_pos_r)
|
|||||||
get latched. When the current stream ends, the MPEG hardware starts playing
|
get latched. When the current stream ends, the MPEG hardware starts playing
|
||||||
immediately from the latched start and end position. In this way, the Z80
|
immediately from the latched start and end position. In this way, the Z80
|
||||||
enforces looping where appropriate and multi-part songs in other cases
|
enforces looping where appropriate and multi-part songs in other cases
|
||||||
(song #16 is a good example)
|
(song #16 is a good example)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
WRITE8_MEMBER(dsbz80_device::mpeg_start_w)
|
WRITE8_MEMBER(dsbz80_device::mpeg_start_w)
|
||||||
@ -186,11 +186,11 @@ WRITE8_MEMBER(dsbz80_device::mpeg_start_w)
|
|||||||
// SWA: if loop end is zero, it means "keep previous end marker"
|
// SWA: if loop end is zero, it means "keep previous end marker"
|
||||||
if (lp_end == 0)
|
if (lp_end == 0)
|
||||||
{
|
{
|
||||||
// MPEG_Set_Loop(ROM + lp_start, mp_end-lp_start);
|
// MPEG_Set_Loop(ROM + lp_start, mp_end-lp_start);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// MPEG_Set_Loop(ROM + lp_start, lp_end-lp_start);
|
// MPEG_Set_Loop(ROM + lp_start, lp_end-lp_start);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -220,7 +220,7 @@ WRITE8_MEMBER(dsbz80_device::mpeg_end_w)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
lp_end = end;
|
lp_end = end;
|
||||||
// MPEG_Set_Loop(ROM + lp_start, lp_end-lp_start);
|
// MPEG_Set_Loop(ROM + lp_start, lp_end-lp_start);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -41,10 +41,10 @@ static const char *const PhonemeTable[65] =
|
|||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Missing samples : ready, from, one, bite, youl, explode, if, myself, back,
|
/* Missing samples : ready, from, one, bite, youl, explode, if, myself, back,
|
||||||
cant, do, wait, worlings, very, babies, breath, fire, beat, rest,
|
cant, do, wait, worlings, very, babies, breath, fire, beat, rest,
|
||||||
then, never, worlock, escape, door, try, any, harder, only, meet, with,
|
then, never, worlock, escape, door, try, any, harder, only, meet, with,
|
||||||
doom, pop,
|
doom, pop,
|
||||||
Problems with YOU and YOU'LL and YOU'DD */
|
Problems with YOU and YOU'LL and YOU'DD */
|
||||||
|
|
||||||
static const char *const wowWordTable[] =
|
static const char *const wowWordTable[] =
|
||||||
|
@ -198,7 +198,7 @@ static MACHINE_CONFIG_START( bmcpokr, bmcpokr_state )
|
|||||||
MCFG_CPU_ADD("maincpu", M68000, XTAL_42MHz/4)
|
MCFG_CPU_ADD("maincpu", M68000, XTAL_42MHz/4)
|
||||||
MCFG_CPU_PROGRAM_MAP(bmcpokr_mem)
|
MCFG_CPU_PROGRAM_MAP(bmcpokr_mem)
|
||||||
//MCFG_CPU_VBLANK_INT("screen",irq3_line_hold)
|
//MCFG_CPU_VBLANK_INT("screen",irq3_line_hold)
|
||||||
|
|
||||||
MCFG_SCREEN_ADD("screen", RASTER)
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
MCFG_SCREEN_REFRESH_RATE(60)
|
MCFG_SCREEN_REFRESH_RATE(60)
|
||||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||||
|
@ -626,10 +626,10 @@ static INPUT_PORTS_START( calchase )
|
|||||||
AT_KEYB_HELPER( 0x0001, "B", KEYCODE_B ) /* B 30 B0 */
|
AT_KEYB_HELPER( 0x0001, "B", KEYCODE_B ) /* B 30 B0 */
|
||||||
AT_KEYB_HELPER( 0x0002, "N", KEYCODE_N ) /* N 31 B1 */
|
AT_KEYB_HELPER( 0x0002, "N", KEYCODE_N ) /* N 31 B1 */
|
||||||
AT_KEYB_HELPER( 0x0800, "F1", KEYCODE_S ) /* F1 3B BB */
|
AT_KEYB_HELPER( 0x0800, "F1", KEYCODE_S ) /* F1 3B BB */
|
||||||
// AT_KEYB_HELPER( 0x8000, "F5", KEYCODE_F5 )
|
// AT_KEYB_HELPER( 0x8000, "F5", KEYCODE_F5 )
|
||||||
|
|
||||||
PORT_START("pc_keyboard_4")
|
PORT_START("pc_keyboard_4")
|
||||||
// AT_KEYB_HELPER( 0x0004, "F8", KEYCODE_F8 )
|
// AT_KEYB_HELPER( 0x0004, "F8", KEYCODE_F8 )
|
||||||
|
|
||||||
PORT_START("pc_keyboard_5")
|
PORT_START("pc_keyboard_5")
|
||||||
|
|
||||||
|
@ -3275,20 +3275,20 @@ static DRIVER_INIT( dragngun )
|
|||||||
ROM[0x1b32c/4]=0xe1a00000;// NOP test switch lock
|
ROM[0x1b32c/4]=0xe1a00000;// NOP test switch lock
|
||||||
|
|
||||||
/*
|
/*
|
||||||
{
|
{
|
||||||
UINT8 *ROM = machine.region("dvi")->base();
|
UINT8 *ROM = machine.region("dvi")->base();
|
||||||
|
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char filename[256];
|
char filename[256];
|
||||||
sprintf(filename,"video.dvi");
|
sprintf(filename,"video.dvi");
|
||||||
fp=fopen(filename, "w+b");
|
fp=fopen(filename, "w+b");
|
||||||
if (fp)
|
if (fp)
|
||||||
{
|
{
|
||||||
fwrite(ROM, 0xc00000, 1, fp);
|
fwrite(ROM, 0xc00000, 1, fp);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( fghthist )
|
static DRIVER_INIT( fghthist )
|
||||||
|
@ -576,7 +576,7 @@ static MACHINE_CONFIG_START( esd16, esd16_state )
|
|||||||
decospr_device::set_is_bootleg(*device, true);
|
decospr_device::set_is_bootleg(*device, true);
|
||||||
decospr_device::set_pri_callback(*device, hedpanic_pri_callback);
|
decospr_device::set_pri_callback(*device, hedpanic_pri_callback);
|
||||||
decospr_device::set_flipallx(*device, 1);
|
decospr_device::set_flipallx(*device, 1);
|
||||||
|
|
||||||
MCFG_GFXDECODE(esd16)
|
MCFG_GFXDECODE(esd16)
|
||||||
MCFG_PALETTE_LENGTH(768)
|
MCFG_PALETTE_LENGTH(768)
|
||||||
|
|
||||||
@ -600,7 +600,7 @@ static MACHINE_CONFIG_DERIVED( hedpanic, esd16 )
|
|||||||
MCFG_CPU_PROGRAM_MAP(hedpanic_map)
|
MCFG_CPU_PROGRAM_MAP(hedpanic_map)
|
||||||
|
|
||||||
MCFG_EEPROM_93C46_ADD("eeprom")
|
MCFG_EEPROM_93C46_ADD("eeprom")
|
||||||
|
|
||||||
MCFG_PALETTE_LENGTH(0x1000/2)
|
MCFG_PALETTE_LENGTH(0x1000/2)
|
||||||
|
|
||||||
MCFG_GFXDECODE(hedpanic)
|
MCFG_GFXDECODE(hedpanic)
|
||||||
@ -643,7 +643,7 @@ static MACHINE_CONFIG_DERIVED( hedpanio, esd16 )
|
|||||||
MCFG_CPU_PROGRAM_MAP(hedpanic_map)
|
MCFG_CPU_PROGRAM_MAP(hedpanic_map)
|
||||||
|
|
||||||
MCFG_EEPROM_93C46_ADD("eeprom")
|
MCFG_EEPROM_93C46_ADD("eeprom")
|
||||||
|
|
||||||
MCFG_PALETTE_LENGTH(0x1000/2)
|
MCFG_PALETTE_LENGTH(0x1000/2)
|
||||||
|
|
||||||
MCFG_GFXDECODE(hedpanic)
|
MCFG_GFXDECODE(hedpanic)
|
||||||
|
@ -24,13 +24,13 @@ can't be emulated without proper mb bios
|
|||||||
--------------
|
--------------
|
||||||
|
|
||||||
Custom board
|
Custom board
|
||||||
|
|
||||||
AMD Geode Processor (MediaGX derived?)
|
AMD Geode Processor (MediaGX derived?)
|
||||||
marked
|
marked
|
||||||
AGXD533AAXFDCC
|
AGXD533AAXFDCC
|
||||||
0452EQA
|
0452EQA
|
||||||
(c)2001 2.1
|
(c)2001 2.1
|
||||||
TAIWAN
|
TAIWAN
|
||||||
|
|
||||||
IGS027 security chip (ARM with internal ROM) (dumped!)
|
IGS027 security chip (ARM with internal ROM) (dumped!)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
"Sega Shooting Zone" aka "Sega Sharp Shooter"
|
"Sega Shooting Zone" aka "Sega Sharp Shooter"
|
||||||
|
|
||||||
This is an SMS with a timer system, official Sega product. Cabinet has a lightgun, it runs the SMS light gun games.
|
This is an SMS with a timer system, official Sega product. Cabinet has a lightgun, it runs the SMS light gun games.
|
||||||
|
|
||||||
@ -17,15 +17,15 @@ CPU(s) : D780C (x2)
|
|||||||
Xtal : 10.7380 Mhz
|
Xtal : 10.7380 Mhz
|
||||||
|
|
||||||
RAMS(s) : D4168C (x3)
|
RAMS(s) : D4168C (x3)
|
||||||
: MB8464-12L
|
: MB8464-12L
|
||||||
|
|
||||||
Eprom : Epr10894A.20
|
Eprom : Epr10894A.20
|
||||||
|
|
||||||
PAL : 315-5287
|
PAL : 315-5287
|
||||||
|
|
||||||
Customs IC's : 315-5216 (x2)
|
Customs IC's : 315-5216 (x2)
|
||||||
|
|
||||||
315-5124
|
315-5124
|
||||||
|
|
||||||
GAMES for this system :
|
GAMES for this system :
|
||||||
|
|
||||||
|
@ -2261,7 +2261,7 @@ ROM_START( pclubpok ) // set to 1p / runs with the USA bios
|
|||||||
ROM_LOAD( "pclubpok.nv", 0x0000, 0x0080, CRC(4ba3f21a) SHA1(898a393fb2fc1961b68b7d4f383d5447e6c010e8) )
|
ROM_LOAD( "pclubpok.nv", 0x0000, 0x0080, CRC(4ba3f21a) SHA1(898a393fb2fc1961b68b7d4f383d5447e6c010e8) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( pclub2kc ) // set to 1p
|
ROM_START( pclub2kc ) // set to 1p
|
||||||
STV_BIOS
|
STV_BIOS
|
||||||
|
|
||||||
ROM_REGION32_BE( 0x3000000, "game0", ROMREGION_ERASE00 ) /* SH2 code */
|
ROM_REGION32_BE( 0x3000000, "game0", ROMREGION_ERASE00 ) /* SH2 code */
|
||||||
|
@ -169,7 +169,7 @@ Stephh notes for 8085 code:
|
|||||||
display timer (main) "filled" with code at 0x054e
|
display timer (main) "filled" with code at 0x054e
|
||||||
display timer (game slot n) "filled" with code at 0x04e3
|
display timer (game slot n) "filled" with code at 0x04e3
|
||||||
|
|
||||||
coin insertion routine at 0x0273
|
coin insertion routine at 0x0273
|
||||||
coin 1 triggers code at 0x02d7
|
coin 1 triggers code at 0x02d7
|
||||||
coin 2 triggers code at 0x028f
|
coin 2 triggers code at 0x028f
|
||||||
|
|
||||||
|
@ -65,8 +65,8 @@
|
|||||||
IC's Reverse Engineering....
|
IC's Reverse Engineering....
|
||||||
|
|
||||||
MARKED PINS ID TYPE DETAILS
|
MARKED PINS ID TYPE DETAILS
|
||||||
|
|
||||||
- U1 : 40-pin IC YES CPU MOTOROLA M6809
|
- U1 : 40-pin IC YES CPU MOTOROLA M6809
|
||||||
- U2 : 28-pin IC YES ROM U2 M27128A
|
- U2 : 28-pin IC YES ROM U2 M27128A
|
||||||
- U3 : 28-pin IC YES ROM U3 M27128A
|
- U3 : 28-pin IC YES ROM U3 M27128A
|
||||||
- U4 : 40-pin IC YES PIA ST EF6821P
|
- U4 : 40-pin IC YES PIA ST EF6821P
|
||||||
@ -133,7 +133,7 @@
|
|||||||
U20(07) - PB7 |17 24| CS1
|
U20(07) - PB7 |17 24| CS1
|
||||||
PIA CA1 (*) - CB1 |18 23| /CS2
|
PIA CA1 (*) - CB1 |18 23| /CS2
|
||||||
U20(06) - CB2 |19 22| CS0
|
U20(06) - CB2 |19 22| CS0
|
||||||
VCC |20 21| R/W
|
VCC |20 21| R/W
|
||||||
+----------+
|
+----------+
|
||||||
|
|
||||||
(*) Lines CA1 and CB1 are tied together, being both IN.
|
(*) Lines CA1 and CB1 are tied together, being both IN.
|
||||||
@ -142,20 +142,20 @@
|
|||||||
|
|
||||||
U19: *** MAX691 *** Maxim MAX691 Microprocessor Supervisory Circuit.
|
U19: *** MAX691 *** Maxim MAX691 Microprocessor Supervisory Circuit.
|
||||||
(for battery backup power switching and watchdog).
|
(for battery backup power switching and watchdog).
|
||||||
leg 01 [VBATT] ---->
|
leg 01 [VBATT] ---->
|
||||||
leg 02 [VOUT] ----->
|
leg 02 [VOUT] ----->
|
||||||
leg 03 [VCC] ------> VCC
|
leg 03 [VCC] ------> VCC
|
||||||
leg 04 [GND] ------> GND
|
leg 04 [GND] ------> GND
|
||||||
leg 05 [BATT ON] -->
|
leg 05 [BATT ON] -->
|
||||||
leg 06 [/LOWLINE] ->
|
leg 06 [/LOWLINE] ->
|
||||||
leg 07 [OSC IN] ---> N/C \ Set 1.6 seconds as WD timeout.
|
leg 07 [OSC IN] ---> N/C \ Set 1.6 seconds as WD timeout.
|
||||||
leg 08 [OSC SEL] --> N/C /
|
leg 08 [OSC SEL] --> N/C /
|
||||||
leg 09 [PFI] ------>
|
leg 09 [PFI] ------>
|
||||||
leg 10 [/PFO] ----->
|
leg 10 [/PFO] ----->
|
||||||
leg 11 [WDI] ------> PIA CA2
|
leg 11 [WDI] ------> PIA CA2
|
||||||
leg 12 [/CE OUT] -->
|
leg 12 [/CE OUT] -->
|
||||||
leg 13 [/CE IN] ---> GND
|
leg 13 [/CE IN] ---> GND
|
||||||
leg 14 [/WDO] ----->
|
leg 14 [/WDO] ----->
|
||||||
leg 15 [/RESET] ---> CPU /RES (37)
|
leg 15 [/RESET] ---> CPU /RES (37)
|
||||||
leg 16 [RESET] ---->
|
leg 16 [RESET] ---->
|
||||||
|
|
||||||
@ -308,11 +308,11 @@ static INPUT_PORTS_START( truco )
|
|||||||
PORT_DIPNAME( 0x10, 0x10, "IN0-5 (TILT SW)" )
|
PORT_DIPNAME( 0x10, 0x10, "IN0-5 (TILT SW)" )
|
||||||
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_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA S17 (P2 START) */
|
// PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA S17 (P2 START) */
|
||||||
// PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA S14 (SERVICE SW) */
|
// PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA S14 (SERVICE SW) */
|
||||||
// PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA C26 (P2 SELECT) */
|
// PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA C26 (P2 SELECT) */
|
||||||
// PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA S16 (COIN2) */
|
// PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA S16 (COIN2) */
|
||||||
// PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA S15 (TILT SW) */
|
// PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA S15 (TILT SW) */
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* Connected to JAMMA C22 (P1 BUTTON1) */
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* Connected to JAMMA C22 (P1 BUTTON1) */
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) /* Connected to JAMMA C18/21 (JOY UP & JOY RIGHT) */
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) /* Connected to JAMMA C18/21 (JOY UP & JOY RIGHT) */
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) /* Connected to JAMMA C19/20 (JOY DOWN & JOY LEFT) */
|
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) /* Connected to JAMMA C19/20 (JOY DOWN & JOY LEFT) */
|
||||||
|
@ -8,22 +8,22 @@
|
|||||||
Games Supported:
|
Games Supported:
|
||||||
|
|
||||||
|
|
||||||
Minigame Cool Collection (c) 1999 SemiCom
|
Minigame Cool Collection (c) 1999 SemiCom
|
||||||
Jumping Break (c) 1999 F2 System
|
Jumping Break (c) 1999 F2 System
|
||||||
Lup Lup Puzzle (c) 1999 Omega System (version 3.0 and 2.9)
|
Lup Lup Puzzle (c) 1999 Omega System (version 3.0 and 2.9)
|
||||||
Puzzle Bang Bang (c) 1999 Omega System (version 2.8)
|
Puzzle Bang Bang (c) 1999 Omega System (version 2.8)
|
||||||
Super Lup Lup Puzzle (c) 1999 Omega System (version 4.0)
|
Super Lup Lup Puzzle (c) 1999 Omega System (version 4.0)
|
||||||
Vamf 1/2 (c) 1999 Danbi & F2 System (Europe version)
|
Vamf 1/2 (c) 1999 Danbi & F2 System (Europe version)
|
||||||
Vamp 1/2 (c) 1999 Danbi & F2 System (Korea version)
|
Vamp 1/2 (c) 1999 Danbi & F2 System (Korea version)
|
||||||
Date Quiz Go Go Episode 2 (c) 2000 SemiCom
|
Date Quiz Go Go Episode 2 (c) 2000 SemiCom
|
||||||
Mission Craft (c) 2000 Sun (version 2.4)
|
Mission Craft (c) 2000 Sun (version 2.4)
|
||||||
Mr. Dig (c) 2000 Sun
|
Mr. Dig (c) 2000 Sun
|
||||||
Final Godori (c) 2001 SemiCom (version 2.20.5915)
|
Final Godori (c) 2001 SemiCom (version 2.20.5915)
|
||||||
Wyvern Wings (c) 2001 SemiCom
|
Wyvern Wings (c) 2001 SemiCom
|
||||||
Mr. Kicker (c) 2001 SemiCom [1]
|
Mr. Kicker (c) 2001 SemiCom [1]
|
||||||
Toy Land Adventure (c) 2001 SemiCom
|
Toy Land Adventure (c) 2001 SemiCom
|
||||||
Age Of Heroes - Silkroad 2 (c) 2001 Unico (v0.63 - 2001/02/07)
|
Age Of Heroes - Silkroad 2 (c) 2001 Unico (v0.63 - 2001/02/07)
|
||||||
Boong-Ga Boong-Ga (Spank 'em) (c) 2001 Taff System
|
Boong-Ga Boong-Ga (Spank 'em) (c) 2001 Taff System
|
||||||
|
|
||||||
Real games bugs:
|
Real games bugs:
|
||||||
- dquizgo2: bugged video test
|
- dquizgo2: bugged video test
|
||||||
@ -37,7 +37,7 @@
|
|||||||
Semicom also used for Toy Land Adventure & SemiComDate Quiz Go Go Episode 2 game.
|
Semicom also used for Toy Land Adventure & SemiComDate Quiz Go Go Episode 2 game.
|
||||||
|
|
||||||
Boong-Ga Boong-Ga: the test mode is usable with a standard input configuration like the "common" one
|
Boong-Ga Boong-Ga: the test mode is usable with a standard input configuration like the "common" one
|
||||||
|
|
||||||
Undumped Semicom games on similar hardware:
|
Undumped Semicom games on similar hardware:
|
||||||
Wivern Wings - Semicom's orginal release with alt spelling of title
|
Wivern Wings - Semicom's orginal release with alt spelling of title
|
||||||
Red Wyvern - A semi-sequel or update?
|
Red Wyvern - A semi-sequel or update?
|
||||||
@ -45,7 +45,7 @@
|
|||||||
Gaia The last Choice of the Earth (c) 1998 (might be Byron Future Assault type hardware)
|
Gaia The last Choice of the Earth (c) 1998 (might be Byron Future Assault type hardware)
|
||||||
Diet Family (c) 2001
|
Diet Family (c) 2001
|
||||||
Choice III: Joker's Dream (c) 2001
|
Choice III: Joker's Dream (c) 2001
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- boonggab: simulate photo sensors with a "stroke strength"
|
- boonggab: simulate photo sensors with a "stroke strength"
|
||||||
- boonggab: what are sensors bit used for? are they used in the japanese version?
|
- boonggab: what are sensors bit used for? are they used in the japanese version?
|
||||||
@ -65,7 +65,7 @@ class vamphalf_state : public driver_device
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
vamphalf_state(const machine_config &mconfig, device_type type, const char *tag)
|
vamphalf_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag)
|
: driver_device(mconfig, type, tag)
|
||||||
{
|
{
|
||||||
m_has_extra_gfx = 0;
|
m_has_extra_gfx = 0;
|
||||||
}
|
}
|
||||||
@ -505,7 +505,7 @@ static void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap)
|
|||||||
|
|
||||||
code = state->m_tiles[offs+1];
|
code = state->m_tiles[offs+1];
|
||||||
color = (state->m_tiles[offs+2] >> state->m_palshift) & 0x7f;
|
color = (state->m_tiles[offs+2] >> state->m_palshift) & 0x7f;
|
||||||
|
|
||||||
// boonggab
|
// boonggab
|
||||||
if(state->m_has_extra_gfx)
|
if(state->m_has_extra_gfx)
|
||||||
{
|
{
|
||||||
@ -622,31 +622,31 @@ static CUSTOM_INPUT( boonggab_photo_sensors_r )
|
|||||||
{
|
{
|
||||||
static const UINT16 photo_sensors_table[8] = { 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00 };
|
static const UINT16 photo_sensors_table[8] = { 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00 };
|
||||||
UINT8 res = input_port_read(field.machine(), "PHOTO_SENSORS");
|
UINT8 res = input_port_read(field.machine(), "PHOTO_SENSORS");
|
||||||
|
|
||||||
switch(res)
|
switch(res)
|
||||||
{
|
{
|
||||||
case 0x01:
|
case 0x01:
|
||||||
return photo_sensors_table[1]; // 5 - 7 points
|
return photo_sensors_table[1]; // 5 - 7 points
|
||||||
|
|
||||||
case 0x02:
|
case 0x02:
|
||||||
return photo_sensors_table[2]; // 8 - 10 points
|
return photo_sensors_table[2]; // 8 - 10 points
|
||||||
|
|
||||||
case 0x04:
|
case 0x04:
|
||||||
return photo_sensors_table[3]; // 11 - 13 points
|
return photo_sensors_table[3]; // 11 - 13 points
|
||||||
|
|
||||||
case 0x08:
|
case 0x08:
|
||||||
return photo_sensors_table[4]; // 14 - 16 points
|
return photo_sensors_table[4]; // 14 - 16 points
|
||||||
|
|
||||||
case 0x10:
|
case 0x10:
|
||||||
return photo_sensors_table[5]; // 17 - 19 points
|
return photo_sensors_table[5]; // 17 - 19 points
|
||||||
|
|
||||||
case 0x20:
|
case 0x20:
|
||||||
return photo_sensors_table[6]; // 20 - 22 points
|
return photo_sensors_table[6]; // 20 - 22 points
|
||||||
|
|
||||||
case 0x40:
|
case 0x40:
|
||||||
return photo_sensors_table[7]; // 23 - 25 points
|
return photo_sensors_table[7]; // 23 - 25 points
|
||||||
}
|
}
|
||||||
|
|
||||||
return photo_sensors_table[0];
|
return photo_sensors_table[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -780,8 +780,8 @@ static INPUT_PORTS_START( boonggab )
|
|||||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
|
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
|
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("PHOTO_SENSORS")
|
PORT_START("PHOTO_SENSORS")
|
||||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
|
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
|
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||||
@ -789,7 +789,7 @@ static INPUT_PORTS_START( boonggab )
|
|||||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1)
|
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(1)
|
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(1)
|
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_PLAYER(1)
|
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_PLAYER(1)
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
static const gfx_layout sprites_layout =
|
static const gfx_layout sprites_layout =
|
||||||
@ -1919,7 +1919,7 @@ ROM_START( boonggab )
|
|||||||
/* romu04 empty */
|
/* romu04 empty */
|
||||||
/* roml09 empty */
|
/* roml09 empty */
|
||||||
/* romu09 empty */
|
/* romu09 empty */
|
||||||
|
|
||||||
ROM_REGION( 0x100000, "user2", 0 ) /* Oki Samples */
|
ROM_REGION( 0x100000, "user2", 0 ) /* Oki Samples */
|
||||||
ROM_LOAD( "3.vrom1", 0x00000, 0x80000, CRC(0696bfcb) SHA1(bba61f3cae23271215bbbf8214ce3b73459d5da5) )
|
ROM_LOAD( "3.vrom1", 0x00000, 0x80000, CRC(0696bfcb) SHA1(bba61f3cae23271215bbbf8214ce3b73459d5da5) )
|
||||||
ROM_LOAD( "4.vrom2", 0x80000, 0x80000, CRC(305c2b16) SHA1(fa199c4cd4ebb952d934e3863fca8740eeba9294) )
|
ROM_LOAD( "4.vrom2", 0x80000, 0x80000, CRC(305c2b16) SHA1(fa199c4cd4ebb952d934e3863fca8740eeba9294) )
|
||||||
@ -2381,4 +2381,4 @@ GAME( 2001, mrkicker, 0, mrkicker, finalgdr, mrkicker, ROT0, "SemiCom",
|
|||||||
GAME( 2001, toyland, 0, coolmini, common, toyland, ROT0, "SemiCom", "Toy Land Adventure", 0 )
|
GAME( 2001, toyland, 0, coolmini, common, toyland, ROT0, "SemiCom", "Toy Land Adventure", 0 )
|
||||||
GAME( 2001, wyvernwg, 0, wyvernwg, common, wyvernwg, ROT270, "SemiCom (Game Vision license)", "Wyvern Wings", GAME_NO_SOUND )
|
GAME( 2001, wyvernwg, 0, wyvernwg, common, wyvernwg, ROT270, "SemiCom (Game Vision license)", "Wyvern Wings", GAME_NO_SOUND )
|
||||||
GAME( 2001, aoh, 0, aoh, aoh, aoh, ROT0, "Unico", "Age Of Heroes - Silkroad 2 (v0.63 - 2001/02/07)", 0 )
|
GAME( 2001, aoh, 0, aoh, aoh, aoh, ROT0, "Unico", "Age Of Heroes - Silkroad 2 (v0.63 - 2001/02/07)", 0 )
|
||||||
GAME( 2001, boonggab, 0, boonggab, boonggab, boonggab, ROT270, "Taff System", "Boong-Ga Boong-Ga (Spank'em!)", 0 )
|
GAME( 2001, boonggab, 0, boonggab, boonggab, boonggab, ROT270, "Taff System", "Boong-Ga Boong-Ga (Spank'em!)", 0 )
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
<color red="0.85" green="0.4" blue="0.3" />
|
<color red="0.85" green="0.4" blue="0.3" />
|
||||||
</disk>
|
</disk>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
<!-- Super Chase used a widescreen monitor, see http://flyers.arcade-museum.com/?page=thumbs&db=videodb&id=1118 -->
|
<!-- Super Chase used a widescreen monitor, see http://flyers.arcade-museum.com/?page=thumbs&db=videodb&id=1118 -->
|
||||||
|
|
||||||
<view name="Shifter-R">
|
<view name="Shifter-R">
|
||||||
|
@ -38,7 +38,7 @@ public:
|
|||||||
DECLARE_READ8_MEMBER( read );
|
DECLARE_READ8_MEMBER( read );
|
||||||
DECLARE_WRITE8_MEMBER( write );
|
DECLARE_WRITE8_MEMBER( write );
|
||||||
DECLARE_WRITE8_MEMBER( ctrl_w );
|
DECLARE_WRITE8_MEMBER( ctrl_w );
|
||||||
private:
|
private:
|
||||||
int m_offset;
|
int m_offset;
|
||||||
int m_data;
|
int m_data;
|
||||||
char m_rom[EAROM_SIZE];
|
char m_rom[EAROM_SIZE];
|
||||||
|
@ -10202,7 +10202,7 @@ koftball // (c) 1995 BMC
|
|||||||
bmcpokr // (c) 1999 BMC
|
bmcpokr // (c) 1999 BMC
|
||||||
popobear // (c) 2000 BMC
|
popobear // (c) 2000 BMC
|
||||||
|
|
||||||
// Merit
|
// Merit
|
||||||
|
|
||||||
mpoker // (c) 1983 Merit
|
mpoker // (c) 1983 Merit
|
||||||
pitboss // (c) 1983 Merit
|
pitboss // (c) 1983 Merit
|
||||||
|
@ -2177,8 +2177,8 @@ $(MACHINE)/nes_mmc.o: $(MAMESRC)/machine/nes_ines.c \
|
|||||||
$(VIDEO)/jaguar.o: $(MAMESRC)/video/jagobj.c \
|
$(VIDEO)/jaguar.o: $(MAMESRC)/video/jagobj.c \
|
||||||
$(MAMESRC)/video/jagblit.c
|
$(MAMESRC)/video/jagblit.c
|
||||||
$(DRIVERS)/model1.o: $(MAMESRC)/includes/model1.h $(MAMESRC)/audio/dsbz80.h
|
$(DRIVERS)/model1.o: $(MAMESRC)/includes/model1.h $(MAMESRC)/audio/dsbz80.h
|
||||||
$(VIDEO)/model1.o: $(MAMESRC)/includes/model1.h $(MAMESRC)/audio/dsbz80.h
|
$(VIDEO)/model1.o: $(MAMESRC)/includes/model1.h $(MAMESRC)/audio/dsbz80.h
|
||||||
$(MACHINE)/model1.o: $(MAMESRC)/includes/model1.h $(MAMESRC)/audio/dsbz80.h
|
$(MACHINE)/model1.o: $(MAMESRC)/includes/model1.h $(MAMESRC)/audio/dsbz80.h
|
||||||
$(VIDEO)/model2.o: $(MAMESRC)/video/model2rd.c
|
$(VIDEO)/model2.o: $(MAMESRC)/video/model2rd.c
|
||||||
$(VIDEO)/model3.o: $(MAMESRC)/video/m3raster.c
|
$(VIDEO)/model3.o: $(MAMESRC)/video/m3raster.c
|
||||||
$(VIDEO)/n64.o: $(MAMESRC)/video/rdpfiltr.c
|
$(VIDEO)/n64.o: $(MAMESRC)/video/rdpfiltr.c
|
||||||
|
@ -33,11 +33,11 @@ static void mix_boogwing(running_machine &machine, bitmap_rgb32 &bitmap, const r
|
|||||||
sprite_bitmap1 = &machine.device<decospr_device>("spritegen1")->get_sprite_temp_bitmap();
|
sprite_bitmap1 = &machine.device<decospr_device>("spritegen1")->get_sprite_temp_bitmap();
|
||||||
sprite_bitmap2 = &machine.device<decospr_device>("spritegen2")->get_sprite_temp_bitmap();
|
sprite_bitmap2 = &machine.device<decospr_device>("spritegen2")->get_sprite_temp_bitmap();
|
||||||
priority_bitmap = &machine.priority_bitmap;
|
priority_bitmap = &machine.priority_bitmap;
|
||||||
|
|
||||||
UINT32* dstline;
|
UINT32* dstline;
|
||||||
UINT16 *srcline1, *srcline2;
|
UINT16 *srcline1, *srcline2;
|
||||||
UINT8 *srcpriline;
|
UINT8 *srcpriline;
|
||||||
|
|
||||||
for (y=cliprect.min_y;y<=cliprect.max_y;y++)
|
for (y=cliprect.min_y;y<=cliprect.max_y;y++)
|
||||||
{
|
{
|
||||||
srcline1=&sprite_bitmap1->pix16(y,0);
|
srcline1=&sprite_bitmap1->pix16(y,0);
|
||||||
@ -52,9 +52,9 @@ static void mix_boogwing(running_machine &machine, bitmap_rgb32 &bitmap, const r
|
|||||||
UINT16 pix2 = srcline2[x];
|
UINT16 pix2 = srcline2[x];
|
||||||
|
|
||||||
/* Here we have
|
/* Here we have
|
||||||
pix1 - raw pixel / colour / priority data from first 1sdt chip
|
pix1 - raw pixel / colour / priority data from first 1sdt chip
|
||||||
pix2 - raw pixel / colour / priority data from first 2nd chip
|
pix2 - raw pixel / colour / priority data from first 2nd chip
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int pri1, pri2;
|
int pri1, pri2;
|
||||||
int spri1, spri2, alpha2;
|
int spri1, spri2, alpha2;
|
||||||
@ -133,17 +133,17 @@ static void mix_boogwing(running_machine &machine, bitmap_rgb32 &bitmap, const r
|
|||||||
|
|
||||||
UINT8 bgpri = srcpriline[x];
|
UINT8 bgpri = srcpriline[x];
|
||||||
/* once we get here we have
|
/* once we get here we have
|
||||||
|
|
||||||
pri1 - 4/16/64 (sprite chip 1 pixel priority relative to bg)
|
pri1 - 4/16/64 (sprite chip 1 pixel priority relative to bg)
|
||||||
pri2 - 4/16/64 (sprite chip 2 pixel priority relative to bg)
|
pri2 - 4/16/64 (sprite chip 2 pixel priority relative to bg)
|
||||||
spri1 - 8/32 (priority of sprite chip 1 relative to other sprite chip)
|
spri1 - 8/32 (priority of sprite chip 1 relative to other sprite chip)
|
||||||
spri2 - 4/16/64 (priority of sprite chip 2 relative to other sprite chip)
|
spri2 - 4/16/64 (priority of sprite chip 2 relative to other sprite chip)
|
||||||
alpha2 - 0x80/0xff alpha level of sprite chip 2 pixels (0x80 if enabled, 0xff if not)
|
alpha2 - 0x80/0xff alpha level of sprite chip 2 pixels (0x80 if enabled, 0xff if not)
|
||||||
|
|
||||||
bgpri - 0 / 8 / 32 (from drawing tilemaps earlier, to compare above pri1/pri2 priorities against)
|
bgpri - 0 / 8 / 32 (from drawing tilemaps earlier, to compare above pri1/pri2 priorities against)
|
||||||
pix1 - same as before (ready to extract just colour data from)
|
pix1 - same as before (ready to extract just colour data from)
|
||||||
pix2 - same as before ^^
|
pix2 - same as before ^^
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int drawnpixe1 = 0;
|
int drawnpixe1 = 0;
|
||||||
if (pix1 & 0xf)
|
if (pix1 & 0xf)
|
||||||
|
@ -118,11 +118,11 @@ static DEVICE_START( decocomn )
|
|||||||
{
|
{
|
||||||
decocomn_state *decocomn = get_safe_token(device);
|
decocomn_state *decocomn = get_safe_token(device);
|
||||||
const decocomn_interface *intf = get_interface(device);
|
const decocomn_interface *intf = get_interface(device);
|
||||||
// int width, height;
|
// int width, height;
|
||||||
|
|
||||||
decocomn->screen = device->machine().device<screen_device>(intf->screen);
|
decocomn->screen = device->machine().device<screen_device>(intf->screen);
|
||||||
// width = decocomn->screen->width();
|
// width = decocomn->screen->width();
|
||||||
// height = decocomn->screen->height();
|
// height = decocomn->screen->height();
|
||||||
|
|
||||||
decocomn->dirty_palette = auto_alloc_array_clear(device->machine(), UINT8, 4096);
|
decocomn->dirty_palette = auto_alloc_array_clear(device->machine(), UINT8, 4096);
|
||||||
|
|
||||||
|
@ -296,12 +296,12 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
|
|||||||
x = 240 - x;
|
x = 240 - x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//if (x <= 320)
|
//if (x <= 320)
|
||||||
{
|
{
|
||||||
if (!m_is_bootleg) // several of the clone / bootleg chips don't do this, see jumpkids
|
if (!m_is_bootleg) // several of the clone / bootleg chips don't do this, see jumpkids
|
||||||
sprite &= ~multi;
|
sprite &= ~multi;
|
||||||
|
|
||||||
if (fy)
|
if (fy)
|
||||||
inc = -1;
|
inc = -1;
|
||||||
else
|
else
|
||||||
@ -329,8 +329,8 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
|
|||||||
if (fx) fx = 0; else fx = 1;
|
if (fx) fx = 0; else fx = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
mult2 = multi + 1;
|
mult2 = multi + 1;
|
||||||
|
|
||||||
while (multi >= 0)
|
while (multi >= 0)
|
||||||
|
@ -141,11 +141,11 @@ void Processor::VideoUpdate16(n64_periphs *n64, bitmap_rgb32 &bitmap)
|
|||||||
|
|
||||||
//if(divot)
|
//if(divot)
|
||||||
//{
|
//{
|
||||||
// if(i > 0 && i < (hres - 1))
|
// if(i > 0 && i < (hres - 1))
|
||||||
// {
|
// {
|
||||||
// prev_cvg = ((frame_buffer[(pixels - 1)^WORD_ADDR_XOR] & 1) << 2) | (hidden_buffer[(pixels - 1)^BYTE_ADDR_XOR] & 3);
|
// prev_cvg = ((frame_buffer[(pixels - 1)^WORD_ADDR_XOR] & 1) << 2) | (hidden_buffer[(pixels - 1)^BYTE_ADDR_XOR] & 3);
|
||||||
// next_cvg = ((frame_buffer[(pixels + 1)^WORD_ADDR_XOR] & 1) << 2) | (hidden_buffer[(pixels + 1)^BYTE_ADDR_XOR] & 3);
|
// next_cvg = ((frame_buffer[(pixels + 1)^WORD_ADDR_XOR] & 1) << 2) | (hidden_buffer[(pixels + 1)^BYTE_ADDR_XOR] & 3);
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
c.i.r = ((pix >> 8) & 0xf8) | (pix >> 13);
|
c.i.r = ((pix >> 8) & 0xf8) | (pix >> 13);
|
||||||
c.i.g = ((pix >> 3) & 0xf8) | ((pix >> 8) & 0x07);
|
c.i.g = ((pix >> 3) & 0xf8) | ((pix >> 8) & 0x07);
|
||||||
|
@ -96,7 +96,7 @@ class TexturePipeT
|
|||||||
INT32 m_precomp_t;
|
INT32 m_precomp_t;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UINT32 Expand16To32Table[0x10000];
|
UINT32 Expand16To32Table[0x10000];
|
||||||
|
|
||||||
void Mask(INT32* S, INT32* T, INT32 num);
|
void Mask(INT32* S, INT32* T, INT32 num);
|
||||||
void MaskCoupled(INT32* S, INT32* S1, INT32* T, INT32* T1, INT32 num);
|
void MaskCoupled(INT32* S, INT32* S1, INT32* T, INT32* T1, INT32 num);
|
||||||
|
@ -38,4 +38,4 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
extern const char build_version[];
|
extern const char build_version[];
|
||||||
const char build_version[] = "0.144u7 ("__DATE__")";
|
const char build_version[] = "0.145 ("__DATE__")";
|
||||||
|
Loading…
Reference in New Issue
Block a user