mirror of
https://github.com/holub/mame
synced 2025-05-31 18:11:50 +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;
|
||||
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())
|
||||
{
|
||||
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 */
|
||||
m_printer = subdevice<printer_image_device>("printer");
|
||||
|
||||
|
||||
/* register for state saving */
|
||||
save_item(NAME(m_auto_fd));
|
||||
save_item(NAME(m_strobe));
|
||||
save_item(NAME(m_busy));
|
||||
save_item(NAME(m_ack));
|
||||
save_item(NAME(m_data));
|
||||
save_item(NAME(m_data));
|
||||
}
|
||||
|
||||
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("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 init_prime_w(UINT8 state) { m_init = state; }
|
||||
virtual void autofeed_w(UINT8 state) { m_auto_fd = state; }
|
||||
|
||||
|
||||
virtual UINT8 ack_r() { return m_ack;}
|
||||
virtual UINT8 busy_r(){ return m_busy; }
|
||||
virtual UINT8 pe_r() { return m_pe;}
|
||||
virtual UINT8 not_busy_r() { return !m_busy; }
|
||||
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); }
|
||||
protected:
|
||||
protected:
|
||||
UINT8 m_strobe;
|
||||
UINT8 m_busy;
|
||||
UINT8 m_ack;
|
||||
@ -55,14 +55,14 @@ struct centronics_interface
|
||||
|
||||
// ======================> centronics_device
|
||||
class centronics_device : public device_t,
|
||||
public centronics_interface,
|
||||
public centronics_interface,
|
||||
public device_slot_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
centronics_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~centronics_device();
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER( write ) { if (m_dev) m_dev->write(data); }
|
||||
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( 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_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( 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( 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_busy(UINT8 param) { m_out_busy_func(param); }
|
||||
void out_not_busy(UINT8 param) { m_out_not_busy_func(param); }
|
||||
@ -126,7 +126,7 @@ public:
|
||||
|
||||
// optional centronics overrides
|
||||
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; }
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -153,7 +153,7 @@ SLOT_INTERFACE_EXTERN(centronics_printer);
|
||||
#define MCFG_CENTRONICS_PRINTER_ADD(_tag, _intf) \
|
||||
MCFG_CENTRONICS_ADD(_tag, _intf, centronics_printer, "printer", NULL) \
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
DEFAULT INTERFACES
|
||||
***************************************************************************/
|
||||
|
@ -5,7 +5,7 @@
|
||||
TODO:
|
||||
- HOLD mechanism
|
||||
- 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_WRITE8_MEMBER( rtc_w );
|
||||
DECLARE_WRITE8_MEMBER( xram_w );
|
||||
private:
|
||||
private:
|
||||
UINT8 read(int xramsel, offs_t offset);
|
||||
void write(int xramsel, offs_t offset, UINT8 data);
|
||||
void field_interrupts();
|
||||
@ -50,10 +50,10 @@ private:
|
||||
static TIMER_CALLBACK( rtc_SQW_callback );
|
||||
static TIMER_CALLBACK( rtc_begin_update_callback );
|
||||
static TIMER_CALLBACK( rtc_end_update_callback );
|
||||
|
||||
|
||||
void rtc_SQW_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
|
||||
50 bytes of user RAM) */
|
||||
UINT8 m_regs[64];
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* samples.c
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
#define MV(x) (vga.memory[x]+(vga.memory[x+1]<<8))
|
||||
#define IV 0xff000000
|
||||
#define MV(x) (vga.memory[x]+(vga.memory[x+1]<<8))
|
||||
#define IV 0xff000000
|
||||
int height = vga.crtc.maximum_scan_line * (vga.crtc.scan_doubling + 1);
|
||||
int xi;
|
||||
int yi;
|
||||
int xm;
|
||||
|
||||
int pos, line, column, c, addr, curr_addr;
|
||||
int pos, line, column, c, addr, curr_addr;
|
||||
|
||||
UINT32 *bitmapline;
|
||||
// UINT16 mask_comp;
|
||||
UINT32 *bitmapline;
|
||||
// UINT16 mask_comp;
|
||||
|
||||
/* line compare is screen sensitive */
|
||||
// mask_comp = 0xff | (TLINES & 0x300);
|
||||
curr_addr = 0;
|
||||
yi=0;
|
||||
for (addr = TGA_START_ADDRESS, line=0; line<TLINES; line+=height, addr+=TGA_LINE_LENGTH, curr_addr+=TGA_LINE_LENGTH)
|
||||
{
|
||||
if(line>500) return;
|
||||
bitmapline = &bitmap.pix32(line);
|
||||
addr %= vga.svga_intf.vram_size;
|
||||
for (pos=addr, c=0, column=0; column<TGA_COLUMNS; column++, c+=8, pos+=0x10)
|
||||
{
|
||||
if(pos + 0x10 > vga.svga_intf.vram_size)
|
||||
return;
|
||||
for(xi=0,xm=0;xi<8;xi++,xm+=2)
|
||||
/* line compare is screen sensitive */
|
||||
// mask_comp = 0xff | (TLINES & 0x300);
|
||||
curr_addr = 0;
|
||||
yi=0;
|
||||
for (addr = TGA_START_ADDRESS, line=0; line<TLINES; line+=height, addr+=TGA_LINE_LENGTH, curr_addr+=TGA_LINE_LENGTH)
|
||||
{
|
||||
if(line>500) return;
|
||||
bitmapline = &bitmap.pix32(line);
|
||||
addr %= vga.svga_intf.vram_size;
|
||||
for (pos=addr, c=0, column=0; column<TGA_COLUMNS; column++, c+=8, pos+=0x10)
|
||||
{
|
||||
if(pos + 0x10 > vga.svga_intf.vram_size)
|
||||
return;
|
||||
for(xi=0,xm=0;xi<8;xi++,xm+=2)
|
||||
{
|
||||
if(!machine.primary_screen->visible_area().contains(c+xi, line + yi))
|
||||
continue;
|
||||
bitmapline[c+xi] = IV|(MV(pos+xm)&0x7c00)<<9 |(MV(pos+xm)&0x3e0)<<6|(MV(pos+xm)&0x1f)<<3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
enum
|
||||
@ -626,7 +626,7 @@ static UINT8 pc_vga_choosevideomode(running_machine &machine)
|
||||
else if (svga.rgb15_en&0x30)
|
||||
{
|
||||
return RGB15_MODE;
|
||||
}
|
||||
}
|
||||
else if (!GRAPHIC_MODE)
|
||||
{
|
||||
//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);
|
||||
|
||||
// D3h = TGUI9660XGi
|
||||
// D3h = TGUI9660XGi
|
||||
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
|
||||
break;
|
||||
case 0x0d:
|
||||
svga.rgb15_en = data & 0x30; // TODO: doesn't match documentation
|
||||
svga.rgb15_en = data & 0x30; // TODO: doesn't match documentation
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1952,7 +1952,7 @@ WRITE8_HANDLER( trident_mem_w )
|
||||
return;
|
||||
vga.memory[offset + (svga.bank_w*0x10000)]= data;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
vga_mem_w(space,offset,data);
|
||||
}
|
||||
|
@ -115,25 +115,25 @@ WRITE8_MEMBER(dsbz80_device::mpeg_trigger_w)
|
||||
|
||||
if (data == 0) // stop
|
||||
{
|
||||
// MPEG_Stop_Playing();
|
||||
// MPEG_Stop_Playing();
|
||||
// printf("MPEG stop\n");
|
||||
}
|
||||
else if (data == 1) // play without loop
|
||||
{
|
||||
// MPEG_Set_Loop(NULL, 0);
|
||||
// MPEG_Play_Memory(ROM + mp_start, mp_end-mp_start);
|
||||
// MPEG_Set_Loop(NULL, 0);
|
||||
// MPEG_Play_Memory(ROM + mp_start, mp_end-mp_start);
|
||||
// printf("MPEG start, one-shot from %x\n", mp_start);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
@ -157,7 +157,7 @@ READ8_MEMBER(dsbz80_device::mpeg_pos_r)
|
||||
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
|
||||
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)
|
||||
@ -186,11 +186,11 @@ WRITE8_MEMBER(dsbz80_device::mpeg_start_w)
|
||||
// SWA: if loop end is zero, it means "keep previous end marker"
|
||||
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
|
||||
{
|
||||
// MPEG_Set_Loop(ROM + lp_start, lp_end-lp_start);
|
||||
// MPEG_Set_Loop(ROM + lp_start, lp_end-lp_start);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -220,7 +220,7 @@ WRITE8_MEMBER(dsbz80_device::mpeg_end_w)
|
||||
else
|
||||
{
|
||||
lp_end = end;
|
||||
// MPEG_Set_Loop(ROM + lp_start, lp_end-lp_start);
|
||||
// MPEG_Set_Loop(ROM + lp_start, lp_end-lp_start);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -41,10 +41,10 @@ static const char *const PhonemeTable[65] =
|
||||
0
|
||||
};
|
||||
|
||||
/* Missing samples : ready, from, one, bite, youl, explode, if, myself, back,
|
||||
cant, do, wait, worlings, very, babies, breath, fire, beat, rest,
|
||||
then, never, worlock, escape, door, try, any, harder, only, meet, with,
|
||||
doom, pop,
|
||||
/* Missing samples : ready, from, one, bite, youl, explode, if, myself, back,
|
||||
cant, do, wait, worlings, very, babies, breath, fire, beat, rest,
|
||||
then, never, worlock, escape, door, try, any, harder, only, meet, with,
|
||||
doom, pop,
|
||||
Problems with YOU and YOU'LL and YOU'DD */
|
||||
|
||||
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_PROGRAM_MAP(bmcpokr_mem)
|
||||
//MCFG_CPU_VBLANK_INT("screen",irq3_line_hold)
|
||||
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
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( 0x0002, "N", KEYCODE_N ) /* N 31 B1 */
|
||||
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")
|
||||
// AT_KEYB_HELPER( 0x0004, "F8", KEYCODE_F8 )
|
||||
// AT_KEYB_HELPER( 0x0004, "F8", KEYCODE_F8 )
|
||||
|
||||
PORT_START("pc_keyboard_5")
|
||||
|
||||
|
@ -3275,20 +3275,20 @@ static DRIVER_INIT( dragngun )
|
||||
ROM[0x1b32c/4]=0xe1a00000;// NOP test switch lock
|
||||
|
||||
/*
|
||||
{
|
||||
UINT8 *ROM = machine.region("dvi")->base();
|
||||
{
|
||||
UINT8 *ROM = machine.region("dvi")->base();
|
||||
|
||||
FILE *fp;
|
||||
char filename[256];
|
||||
sprintf(filename,"video.dvi");
|
||||
fp=fopen(filename, "w+b");
|
||||
if (fp)
|
||||
{
|
||||
fwrite(ROM, 0xc00000, 1, fp);
|
||||
fclose(fp);
|
||||
}
|
||||
}
|
||||
*/
|
||||
FILE *fp;
|
||||
char filename[256];
|
||||
sprintf(filename,"video.dvi");
|
||||
fp=fopen(filename, "w+b");
|
||||
if (fp)
|
||||
{
|
||||
fwrite(ROM, 0xc00000, 1, fp);
|
||||
fclose(fp);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
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_pri_callback(*device, hedpanic_pri_callback);
|
||||
decospr_device::set_flipallx(*device, 1);
|
||||
|
||||
|
||||
MCFG_GFXDECODE(esd16)
|
||||
MCFG_PALETTE_LENGTH(768)
|
||||
|
||||
@ -600,7 +600,7 @@ static MACHINE_CONFIG_DERIVED( hedpanic, esd16 )
|
||||
MCFG_CPU_PROGRAM_MAP(hedpanic_map)
|
||||
|
||||
MCFG_EEPROM_93C46_ADD("eeprom")
|
||||
|
||||
|
||||
MCFG_PALETTE_LENGTH(0x1000/2)
|
||||
|
||||
MCFG_GFXDECODE(hedpanic)
|
||||
@ -643,7 +643,7 @@ static MACHINE_CONFIG_DERIVED( hedpanio, esd16 )
|
||||
MCFG_CPU_PROGRAM_MAP(hedpanic_map)
|
||||
|
||||
MCFG_EEPROM_93C46_ADD("eeprom")
|
||||
|
||||
|
||||
MCFG_PALETTE_LENGTH(0x1000/2)
|
||||
|
||||
MCFG_GFXDECODE(hedpanic)
|
||||
|
@ -24,13 +24,13 @@ can't be emulated without proper mb bios
|
||||
--------------
|
||||
|
||||
Custom board
|
||||
|
||||
|
||||
AMD Geode Processor (MediaGX derived?)
|
||||
marked
|
||||
AGXD533AAXFDCC
|
||||
0452EQA
|
||||
(c)2001 2.1
|
||||
TAIWAN
|
||||
0452EQA
|
||||
(c)2001 2.1
|
||||
TAIWAN
|
||||
|
||||
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.
|
||||
|
||||
@ -17,15 +17,15 @@ CPU(s) : D780C (x2)
|
||||
Xtal : 10.7380 Mhz
|
||||
|
||||
RAMS(s) : D4168C (x3)
|
||||
: MB8464-12L
|
||||
: MB8464-12L
|
||||
|
||||
Eprom : Epr10894A.20
|
||||
|
||||
PAL : 315-5287
|
||||
|
||||
Customs IC's : 315-5216 (x2)
|
||||
|
||||
315-5124
|
||||
Customs IC's : 315-5216 (x2)
|
||||
|
||||
315-5124
|
||||
|
||||
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_END
|
||||
|
||||
ROM_START( pclub2kc ) // set to 1p
|
||||
ROM_START( pclub2kc ) // set to 1p
|
||||
STV_BIOS
|
||||
|
||||
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 (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 2 triggers code at 0x028f
|
||||
|
||||
|
@ -65,8 +65,8 @@
|
||||
IC's Reverse Engineering....
|
||||
|
||||
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
|
||||
- U3 : 28-pin IC YES ROM U3 M27128A
|
||||
- U4 : 40-pin IC YES PIA ST EF6821P
|
||||
@ -133,7 +133,7 @@
|
||||
U20(07) - PB7 |17 24| CS1
|
||||
PIA CA1 (*) - CB1 |18 23| /CS2
|
||||
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.
|
||||
@ -142,20 +142,20 @@
|
||||
|
||||
U19: *** MAX691 *** Maxim MAX691 Microprocessor Supervisory Circuit.
|
||||
(for battery backup power switching and watchdog).
|
||||
leg 01 [VBATT] ---->
|
||||
leg 02 [VOUT] ----->
|
||||
leg 01 [VBATT] ---->
|
||||
leg 02 [VOUT] ----->
|
||||
leg 03 [VCC] ------> VCC
|
||||
leg 04 [GND] ------> GND
|
||||
leg 05 [BATT ON] -->
|
||||
leg 06 [/LOWLINE] ->
|
||||
leg 07 [OSC IN] ---> N/C \ Set 1.6 seconds as WD timeout.
|
||||
leg 05 [BATT ON] -->
|
||||
leg 06 [/LOWLINE] ->
|
||||
leg 07 [OSC IN] ---> N/C \ Set 1.6 seconds as WD timeout.
|
||||
leg 08 [OSC SEL] --> N/C /
|
||||
leg 09 [PFI] ------>
|
||||
leg 10 [/PFO] ----->
|
||||
leg 09 [PFI] ------>
|
||||
leg 10 [/PFO] ----->
|
||||
leg 11 [WDI] ------> PIA CA2
|
||||
leg 12 [/CE OUT] -->
|
||||
leg 12 [/CE OUT] -->
|
||||
leg 13 [/CE IN] ---> GND
|
||||
leg 14 [/WDO] ----->
|
||||
leg 14 [/WDO] ----->
|
||||
leg 15 [/RESET] ---> CPU /RES (37)
|
||||
leg 16 [RESET] ---->
|
||||
|
||||
@ -308,11 +308,11 @@ static INPUT_PORTS_START( truco )
|
||||
PORT_DIPNAME( 0x10, 0x10, "IN0-5 (TILT SW)" )
|
||||
PORT_DIPSETTING ( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING ( 0x00, DEF_STR( On ) )
|
||||
// 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( 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( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Connected to JAMMA S15 (TILT SW) */
|
||||
// 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( 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( 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( 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) */
|
||||
|
@ -8,22 +8,22 @@
|
||||
Games Supported:
|
||||
|
||||
|
||||
Minigame Cool Collection (c) 1999 SemiCom
|
||||
Jumping Break (c) 1999 F2 System
|
||||
Lup Lup Puzzle (c) 1999 Omega System (version 3.0 and 2.9)
|
||||
Puzzle Bang Bang (c) 1999 Omega System (version 2.8)
|
||||
Super Lup Lup Puzzle (c) 1999 Omega System (version 4.0)
|
||||
Vamf 1/2 (c) 1999 Danbi & F2 System (Europe version)
|
||||
Vamp 1/2 (c) 1999 Danbi & F2 System (Korea version)
|
||||
Date Quiz Go Go Episode 2 (c) 2000 SemiCom
|
||||
Mission Craft (c) 2000 Sun (version 2.4)
|
||||
Mr. Dig (c) 2000 Sun
|
||||
Final Godori (c) 2001 SemiCom (version 2.20.5915)
|
||||
Wyvern Wings (c) 2001 SemiCom
|
||||
Mr. Kicker (c) 2001 SemiCom [1]
|
||||
Toy Land Adventure (c) 2001 SemiCom
|
||||
Age Of Heroes - Silkroad 2 (c) 2001 Unico (v0.63 - 2001/02/07)
|
||||
Boong-Ga Boong-Ga (Spank 'em) (c) 2001 Taff System
|
||||
Minigame Cool Collection (c) 1999 SemiCom
|
||||
Jumping Break (c) 1999 F2 System
|
||||
Lup Lup Puzzle (c) 1999 Omega System (version 3.0 and 2.9)
|
||||
Puzzle Bang Bang (c) 1999 Omega System (version 2.8)
|
||||
Super Lup Lup Puzzle (c) 1999 Omega System (version 4.0)
|
||||
Vamf 1/2 (c) 1999 Danbi & F2 System (Europe version)
|
||||
Vamp 1/2 (c) 1999 Danbi & F2 System (Korea version)
|
||||
Date Quiz Go Go Episode 2 (c) 2000 SemiCom
|
||||
Mission Craft (c) 2000 Sun (version 2.4)
|
||||
Mr. Dig (c) 2000 Sun
|
||||
Final Godori (c) 2001 SemiCom (version 2.20.5915)
|
||||
Wyvern Wings (c) 2001 SemiCom
|
||||
Mr. Kicker (c) 2001 SemiCom [1]
|
||||
Toy Land Adventure (c) 2001 SemiCom
|
||||
Age Of Heroes - Silkroad 2 (c) 2001 Unico (v0.63 - 2001/02/07)
|
||||
Boong-Ga Boong-Ga (Spank 'em) (c) 2001 Taff System
|
||||
|
||||
Real games bugs:
|
||||
- dquizgo2: bugged video test
|
||||
@ -37,7 +37,7 @@
|
||||
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
|
||||
|
||||
|
||||
Undumped Semicom games on similar hardware:
|
||||
Wivern Wings - Semicom's orginal release with alt spelling of title
|
||||
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)
|
||||
Diet Family (c) 2001
|
||||
Choice III: Joker's Dream (c) 2001
|
||||
|
||||
|
||||
TODO:
|
||||
- boonggab: simulate photo sensors with a "stroke strength"
|
||||
- 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:
|
||||
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;
|
||||
}
|
||||
@ -505,7 +505,7 @@ static void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap)
|
||||
|
||||
code = state->m_tiles[offs+1];
|
||||
color = (state->m_tiles[offs+2] >> state->m_palshift) & 0x7f;
|
||||
|
||||
|
||||
// boonggab
|
||||
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 };
|
||||
UINT8 res = input_port_read(field.machine(), "PHOTO_SENSORS");
|
||||
|
||||
|
||||
switch(res)
|
||||
{
|
||||
case 0x01:
|
||||
return photo_sensors_table[1]; // 5 - 7 points
|
||||
|
||||
|
||||
case 0x02:
|
||||
return photo_sensors_table[2]; // 8 - 10 points
|
||||
|
||||
|
||||
case 0x04:
|
||||
return photo_sensors_table[3]; // 11 - 13 points
|
||||
|
||||
|
||||
case 0x08:
|
||||
return photo_sensors_table[4]; // 14 - 16 points
|
||||
|
||||
|
||||
case 0x10:
|
||||
return photo_sensors_table[5]; // 17 - 19 points
|
||||
|
||||
|
||||
case 0x20:
|
||||
return photo_sensors_table[6]; // 20 - 22 points
|
||||
|
||||
|
||||
case 0x40:
|
||||
return photo_sensors_table[7]; // 23 - 25 points
|
||||
}
|
||||
|
||||
|
||||
return photo_sensors_table[0];
|
||||
}
|
||||
|
||||
@ -780,8 +780,8 @@ static INPUT_PORTS_START( boonggab )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, 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_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) 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( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 ) 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
|
||||
|
||||
static const gfx_layout sprites_layout =
|
||||
@ -1919,7 +1919,7 @@ ROM_START( boonggab )
|
||||
/* romu04 empty */
|
||||
/* roml09 empty */
|
||||
/* romu09 empty */
|
||||
|
||||
|
||||
ROM_REGION( 0x100000, "user2", 0 ) /* Oki Samples */
|
||||
ROM_LOAD( "3.vrom1", 0x00000, 0x80000, CRC(0696bfcb) SHA1(bba61f3cae23271215bbbf8214ce3b73459d5da5) )
|
||||
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, 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, 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" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- Super Chase used a widescreen monitor, see http://flyers.arcade-museum.com/?page=thumbs&db=videodb&id=1118 -->
|
||||
|
||||
<view name="Shifter-R">
|
||||
|
@ -38,7 +38,7 @@ public:
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
DECLARE_WRITE8_MEMBER( ctrl_w );
|
||||
private:
|
||||
private:
|
||||
int m_offset;
|
||||
int m_data;
|
||||
char m_rom[EAROM_SIZE];
|
||||
|
@ -10202,7 +10202,7 @@ koftball // (c) 1995 BMC
|
||||
bmcpokr // (c) 1999 BMC
|
||||
popobear // (c) 2000 BMC
|
||||
|
||||
// Merit
|
||||
// Merit
|
||||
|
||||
mpoker // (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 \
|
||||
$(MAMESRC)/video/jagblit.c
|
||||
$(DRIVERS)/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
|
||||
$(VIDEO)/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)/model3.o: $(MAMESRC)/video/m3raster.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_bitmap2 = &machine.device<decospr_device>("spritegen2")->get_sprite_temp_bitmap();
|
||||
priority_bitmap = &machine.priority_bitmap;
|
||||
|
||||
|
||||
UINT32* dstline;
|
||||
UINT16 *srcline1, *srcline2;
|
||||
UINT8 *srcpriline;
|
||||
|
||||
|
||||
for (y=cliprect.min_y;y<=cliprect.max_y;y++)
|
||||
{
|
||||
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];
|
||||
|
||||
/* Here we have
|
||||
pix1 - raw pixel / colour / priority data from first 1sdt chip
|
||||
pix2 - raw pixel / colour / priority data from first 2nd chip
|
||||
*/
|
||||
pix1 - raw pixel / colour / priority data from first 1sdt chip
|
||||
pix2 - raw pixel / colour / priority data from first 2nd chip
|
||||
*/
|
||||
|
||||
int pri1, pri2;
|
||||
int spri1, spri2, alpha2;
|
||||
@ -133,17 +133,17 @@ static void mix_boogwing(running_machine &machine, bitmap_rgb32 &bitmap, const r
|
||||
|
||||
UINT8 bgpri = srcpriline[x];
|
||||
/* once we get here we have
|
||||
|
||||
pri1 - 4/16/64 (sprite chip 1 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)
|
||||
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)
|
||||
|
||||
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)
|
||||
pix2 - same as before ^^
|
||||
*/
|
||||
|
||||
pri1 - 4/16/64 (sprite chip 1 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)
|
||||
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)
|
||||
|
||||
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)
|
||||
pix2 - same as before ^^
|
||||
*/
|
||||
|
||||
int drawnpixe1 = 0;
|
||||
if (pix1 & 0xf)
|
||||
|
@ -118,11 +118,11 @@ static DEVICE_START( decocomn )
|
||||
{
|
||||
decocomn_state *decocomn = get_safe_token(device);
|
||||
const decocomn_interface *intf = get_interface(device);
|
||||
// int width, height;
|
||||
// int width, height;
|
||||
|
||||
decocomn->screen = device->machine().device<screen_device>(intf->screen);
|
||||
// width = decocomn->screen->width();
|
||||
// height = decocomn->screen->height();
|
||||
// width = decocomn->screen->width();
|
||||
// height = decocomn->screen->height();
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//if (x <= 320)
|
||||
{
|
||||
if (!m_is_bootleg) // several of the clone / bootleg chips don't do this, see jumpkids
|
||||
sprite &= ~multi;
|
||||
|
||||
|
||||
if (fy)
|
||||
inc = -1;
|
||||
else
|
||||
@ -329,8 +329,8 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
|
||||
if (fx) fx = 0; else fx = 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
mult2 = multi + 1;
|
||||
|
||||
while (multi >= 0)
|
||||
|
@ -141,11 +141,11 @@ void Processor::VideoUpdate16(n64_periphs *n64, bitmap_rgb32 &bitmap)
|
||||
|
||||
//if(divot)
|
||||
//{
|
||||
// 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);
|
||||
// next_cvg = ((frame_buffer[(pixels + 1)^WORD_ADDR_XOR] & 1) << 2) | (hidden_buffer[(pixels + 1)^BYTE_ADDR_XOR] & 3);
|
||||
// }
|
||||
// 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);
|
||||
// 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.g = ((pix >> 3) & 0xf8) | ((pix >> 8) & 0x07);
|
||||
|
@ -96,7 +96,7 @@ class TexturePipeT
|
||||
INT32 m_precomp_t;
|
||||
|
||||
private:
|
||||
UINT32 Expand16To32Table[0x10000];
|
||||
UINT32 Expand16To32Table[0x10000];
|
||||
|
||||
void Mask(INT32* S, INT32* T, INT32 num);
|
||||
void MaskCoupled(INT32* S, INT32* S1, INT32* T, INT32* T1, INT32 num);
|
||||
|
@ -38,4 +38,4 @@
|
||||
***************************************************************************/
|
||||
|
||||
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