This commit is contained in:
couriersud 2015-04-22 00:45:32 +02:00
commit 6297e4cf18
21 changed files with 782 additions and 145 deletions

View File

@ -157,6 +157,10 @@ project "formats"
MAME_DIR .. "src/lib/formats/bw2_dsk.h", MAME_DIR .. "src/lib/formats/bw2_dsk.h",
MAME_DIR .. "src/lib/formats/bw12_dsk.c", MAME_DIR .. "src/lib/formats/bw12_dsk.c",
MAME_DIR .. "src/lib/formats/bw12_dsk.h", MAME_DIR .. "src/lib/formats/bw12_dsk.h",
MAME_DIR .. "src/lib/formats/c3040_dsk.c",
MAME_DIR .. "src/lib/formats/c3040_dsk.h",
MAME_DIR .. "src/lib/formats/c4040_dsk.c",
MAME_DIR .. "src/lib/formats/c4040_dsk.h",
MAME_DIR .. "src/lib/formats/c8280_dsk.c", MAME_DIR .. "src/lib/formats/c8280_dsk.c",
MAME_DIR .. "src/lib/formats/c8280_dsk.h", MAME_DIR .. "src/lib/formats/c8280_dsk.h",
MAME_DIR .. "src/lib/formats/cbm_crt.c", MAME_DIR .. "src/lib/formats/cbm_crt.c",
@ -185,8 +189,6 @@ project "formats"
MAME_DIR .. "src/lib/formats/csw_cas.h", MAME_DIR .. "src/lib/formats/csw_cas.h",
MAME_DIR .. "src/lib/formats/d64_dsk.c", MAME_DIR .. "src/lib/formats/d64_dsk.c",
MAME_DIR .. "src/lib/formats/d64_dsk.h", MAME_DIR .. "src/lib/formats/d64_dsk.h",
MAME_DIR .. "src/lib/formats/d67_dsk.c",
MAME_DIR .. "src/lib/formats/d67_dsk.h",
MAME_DIR .. "src/lib/formats/d71_dsk.c", MAME_DIR .. "src/lib/formats/d71_dsk.c",
MAME_DIR .. "src/lib/formats/d71_dsk.h", MAME_DIR .. "src/lib/formats/d71_dsk.h",
MAME_DIR .. "src/lib/formats/d80_dsk.c", MAME_DIR .. "src/lib/formats/d80_dsk.c",

View File

@ -2428,6 +2428,7 @@ files {
MAME_DIR .. "src/mame/machine/model3.c", MAME_DIR .. "src/mame/machine/model3.c",
MAME_DIR .. "src/mame/drivers/monacogp.c", MAME_DIR .. "src/mame/drivers/monacogp.c",
MAME_DIR .. "src/mame/drivers/naomi.c", MAME_DIR .. "src/mame/drivers/naomi.c",
MAME_DIR .. "src/mame/drivers/segasp.c",
MAME_DIR .. "src/mame/machine/dc.c", MAME_DIR .. "src/mame/machine/dc.c",
MAME_DIR .. "src/mame/video/powervr2.c", MAME_DIR .. "src/mame/video/powervr2.c",
MAME_DIR .. "src/mame/machine/naomi.c", MAME_DIR .. "src/mame/machine/naomi.c",

View File

@ -9,6 +9,34 @@
**********************************************************************/ **********************************************************************/
/*
2040/3040 disk initialization
-----------------------------
You need to initialize each diskette before trying to access it
or you will get a DISK ID MISMATCH error upon disk commands.
On the 4040 this is done automatically by the DOS.
open 15,8,15:print 15,"i":close 15
List directory
--------------
directory / diR
Format disk
-----------
header "label,id",d0,i01
Load file
---------
dload "name" / dL"name
Save file
---------
dsave "name" / dS"name
*/
/* /*
TODO: TODO:
@ -53,19 +81,14 @@ const device_type C4040 = &device_creator<c4040_device>;
// ROM( c2040 ) // ROM( c2040 )
//------------------------------------------------- //-------------------------------------------------
ROM_START( c2040 ) // schematic 320806 ROM_START( c2040 ) // schematic 320806, DOS 1.0
ROM_REGION( 0x3000, M6502_TAG, 0 ) ROM_REGION( 0x3000, M6502_TAG, 0 )
ROM_DEFAULT_BIOS("dos12") ROM_DEFAULT_BIOS("dos12")
ROM_SYSTEM_BIOS( 0, "dos10", "DOS 1.0" ) ROM_LOAD( "901468-xx.ul1", 0x1000, 0x1000, NO_DUMP )
ROMX_LOAD( "901468-xx.ul1", 0x1000, 0x1000, NO_DUMP, ROM_BIOS(1) ) ROM_LOAD( "901468-xx.uh1", 0x2000, 0x1000, NO_DUMP )
ROMX_LOAD( "901468-xx.uh1", 0x2000, 0x1000, NO_DUMP, ROM_BIOS(1) )
ROM_SYSTEM_BIOS( 1, "dos12", "DOS 1.2" )
ROMX_LOAD( "901468-06.ul1", 0x1000, 0x1000, CRC(25b5eed5) SHA1(4d9658f2e6ff3276e5c6e224611a66ce44b16fc7), ROM_BIOS(2) )
ROMX_LOAD( "901468-07.uh1", 0x2000, 0x1000, CRC(9b09ae83) SHA1(6a51c7954938439ca8342fc295bda050c06e1791), ROM_BIOS(2) )
ROM_REGION( 0x400, M6504_TAG, 0 ) ROM_REGION( 0x400, M6504_TAG, 0 )
ROMX_LOAD( "901466-01.uk3", 0x000, 0x400, CRC(9d1e25ce) SHA1(d539858f839f96393f218307df7394362a84a26a), ROM_BIOS(1) ) ROM_LOAD( "901466-01.uk3", 0x000, 0x400, CRC(9d1e25ce) SHA1(d539858f839f96393f218307df7394362a84a26a) )
ROMX_LOAD( "901466-02.uk3", 0x000, 0x400, CRC(9d1e25ce) SHA1(d539858f839f96393f218307df7394362a84a26a), ROM_BIOS(2) )
ROM_REGION( 0x800, "gcr", 0) ROM_REGION( 0x800, "gcr", 0)
ROM_LOAD( "901467.uk6", 0x000, 0x800, CRC(a23337eb) SHA1(97df576397608455616331f8e837cb3404363fa2) ) ROM_LOAD( "901467.uk6", 0x000, 0x800, CRC(a23337eb) SHA1(97df576397608455616331f8e837cb3404363fa2) )
@ -82,6 +105,33 @@ const rom_entry *c2040_device::device_rom_region() const
} }
//-------------------------------------------------
// ROM( c3040 )
//-------------------------------------------------
ROM_START( c3040 ) // schematic 320806, DOS 1.2
ROM_REGION( 0x3000, M6502_TAG, 0 )
ROM_LOAD( "901468-06.ul1", 0x1000, 0x1000, CRC(25b5eed5) SHA1(4d9658f2e6ff3276e5c6e224611a66ce44b16fc7) )
ROM_LOAD( "901468-07.uh1", 0x2000, 0x1000, CRC(9b09ae83) SHA1(6a51c7954938439ca8342fc295bda050c06e1791) )
ROM_REGION( 0x400, M6504_TAG, 0 )
ROM_LOAD( "901466-02.uk3", 0x000, 0x400, CRC(9d1e25ce) SHA1(d539858f839f96393f218307df7394362a84a26a) )
ROM_REGION( 0x800, "gcr", 0)
ROM_LOAD( "901467.uk6", 0x000, 0x800, CRC(a23337eb) SHA1(97df576397608455616331f8e837cb3404363fa2) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *c3040_device::device_rom_region() const
{
return ROM_NAME( c3040 );
}
//------------------------------------------------- //-------------------------------------------------
// ROM( c4040 ) // ROM( c4040 )
//------------------------------------------------- //-------------------------------------------------
@ -434,9 +484,28 @@ SLOT_INTERFACE_END
//------------------------------------------------- //-------------------------------------------------
FLOPPY_FORMATS_MEMBER( c2040_device::floppy_formats ) FLOPPY_FORMATS_MEMBER( c2040_device::floppy_formats )
FLOPPY_D64_FORMAT, FLOPPY_C3040_FORMAT,
FLOPPY_G64_FORMAT, FLOPPY_G64_FORMAT
FLOPPY_D67_FORMAT FLOPPY_FORMATS_END
//-------------------------------------------------
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
FLOPPY_FORMATS_MEMBER( c3040_device::floppy_formats )
FLOPPY_C3040_FORMAT,
FLOPPY_G64_FORMAT
FLOPPY_FORMATS_END
//-------------------------------------------------
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
FLOPPY_FORMATS_MEMBER( c4040_device::floppy_formats )
FLOPPY_C4040_FORMAT,
FLOPPY_G64_FORMAT
FLOPPY_FORMATS_END FLOPPY_FORMATS_END
@ -494,6 +563,60 @@ machine_config_constructor c2040_device::device_mconfig_additions() const
} }
//-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( c3040 )
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( c3040 )
// DOS
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c2040_main_mem)
MCFG_DEVICE_ADD(M6532_0_TAG, RIOT6532, XTAL_16MHz/16)
MCFG_RIOT6532_IN_PA_CB(READ8(c2040_device, dio_r))
MCFG_RIOT6532_OUT_PB_CB(WRITE8(c2040_device, dio_w))
MCFG_DEVICE_ADD(M6532_1_TAG, RIOT6532, XTAL_16MHz/16)
MCFG_RIOT6532_IN_PA_CB(READ8(c2040_device, riot1_pa_r))
MCFG_RIOT6532_OUT_PA_CB(WRITE8(c2040_device, riot1_pa_w))
MCFG_RIOT6532_IN_PB_CB(READ8(c2040_device, riot1_pb_r))
MCFG_RIOT6532_OUT_PB_CB(WRITE8(c2040_device, riot1_pb_w))
MCFG_RIOT6532_IRQ_CB(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
// controller
MCFG_CPU_ADD(M6504_TAG, M6504, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c2040_fdc_mem)
MCFG_DEVICE_ADD(M6522_TAG, VIA6522, XTAL_16MHz/16)
MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c2040_fdc_t, read))
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c2040_device, via_pb_w))
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_t, mode_sel_w))
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_t, rw_sel_w))
MCFG_DEVICE_ADD(M6530_TAG, MOS6530, XTAL_16MHz/16)
MCFG_MOS6530_OUT_PA_CB(DEVWRITE8(FDC_TAG, c2040_fdc_t, write))
MCFG_MOS6530_IN_PB_CB(READ8(c2040_device, miot_pb_r))
MCFG_MOS6530_OUT_PB_CB(WRITE8(c2040_device, miot_pb_w))
MCFG_DEVICE_ADD(FDC_TAG, C2040_FDC, XTAL_16MHz)
MCFG_C2040_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1))
MCFG_C2040_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1))
MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", c2040_floppies, "525ssqd", c3040_device::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", c2040_floppies, "525ssqd", c3040_device::floppy_formats)
MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor c3040_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c3040 );
}
//------------------------------------------------- //-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( c4040 ) // MACHINE_CONFIG_FRAGMENT( c4040 )
//------------------------------------------------- //-------------------------------------------------
@ -532,8 +655,8 @@ static MACHINE_CONFIG_FRAGMENT( c4040 )
MCFG_DEVICE_ADD(FDC_TAG, C2040_FDC, XTAL_16MHz) MCFG_DEVICE_ADD(FDC_TAG, C2040_FDC, XTAL_16MHz)
MCFG_C2040_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1)) MCFG_C2040_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1))
MCFG_C2040_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1)) MCFG_C2040_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1))
MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", c2040_floppies, "525ssqd", c2040_device::floppy_formats) MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", c2040_floppies, "525ssqd", c4040_device::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", c2040_floppies, "525ssqd", c2040_device::floppy_formats) MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", c2040_floppies, "525ssqd", c4040_device::floppy_formats)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -605,24 +728,24 @@ inline void c2040_device::update_ieee_signals()
// c2040_device - constructor // c2040_device - constructor
//------------------------------------------------- //-------------------------------------------------
c2040_device::c2040_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) c2040_device::c2040_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) :
: device_t(mconfig, type, name, tag, owner, clock, shortname, source), device_t(mconfig, type, name, tag, owner, clock, shortname, source),
device_ieee488_interface(mconfig, *this), device_ieee488_interface(mconfig, *this),
m_maincpu(*this, M6502_TAG), m_maincpu(*this, M6502_TAG),
m_fdccpu(*this, M6504_TAG), m_fdccpu(*this, M6504_TAG),
m_riot0(*this, M6532_0_TAG), m_riot0(*this, M6532_0_TAG),
m_riot1(*this, M6532_1_TAG), m_riot1(*this, M6532_1_TAG),
m_miot(*this, M6530_TAG), m_miot(*this, M6530_TAG),
m_via(*this, M6522_TAG), m_via(*this, M6522_TAG),
m_floppy0(*this, FDC_TAG":0:525ssqd"), m_floppy0(*this, FDC_TAG":0:525ssqd"),
m_floppy1(*this, FDC_TAG":1:525ssqd"), m_floppy1(*this, FDC_TAG":1:525ssqd"),
m_fdc(*this, FDC_TAG), m_fdc(*this, FDC_TAG),
m_gcr(*this, "gcr"), m_gcr(*this, "gcr"),
m_address(*this, "ADDRESS"), m_address(*this, "ADDRESS"),
m_rfdo(1), m_rfdo(1),
m_daco(1), m_daco(1),
m_atna(1), m_atna(1),
m_miot_irq(CLEAR_LINE) m_miot_irq(CLEAR_LINE)
{ {
} }
@ -652,16 +775,16 @@ c2040_device::c2040_device(const machine_config &mconfig, const char *tag, devic
// c3040_device - constructor // c3040_device - constructor
//------------------------------------------------- //-------------------------------------------------
c3040_device::c3040_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) c3040_device::c3040_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
: c2040_device(mconfig, C3040, "C3040", tag, owner, clock, "c3040", __FILE__) { } c2040_device(mconfig, C3040, "C3040", tag, owner, clock, "c3040", __FILE__) { }
//------------------------------------------------- //-------------------------------------------------
// c4040_device - constructor // c4040_device - constructor
//------------------------------------------------- //-------------------------------------------------
c4040_device::c4040_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) c4040_device::c4040_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
: c2040_device(mconfig, C4040, "C4040", tag, owner, clock, "c4040", __FILE__) { } c2040_device(mconfig, C4040, "C4040", tag, owner, clock, "c4040", __FILE__) { }
//------------------------------------------------- //-------------------------------------------------

View File

@ -107,6 +107,12 @@ class c3040_device : public c2040_device
public: public:
// construction/destruction // construction/destruction
c3040_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); c3040_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
virtual machine_config_constructor device_mconfig_additions() const;
DECLARE_FLOPPY_FORMATS( floppy_formats );
}; };

View File

@ -15,8 +15,9 @@
#define __C2040_FLOPPY__ #define __C2040_FLOPPY__
#include "emu.h" #include "emu.h"
#include "formats/c3040_dsk.h"
#include "formats/c4040_dsk.h"
#include "formats/d64_dsk.h" #include "formats/d64_dsk.h"
#include "formats/d67_dsk.h"
#include "formats/g64_dsk.h" #include "formats/g64_dsk.h"
#include "imagedev/floppy.h" #include "imagedev/floppy.h"

101
src/lib/formats/c3040_dsk.c Normal file
View File

@ -0,0 +1,101 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/*********************************************************************
formats/c3040_dsk.c
Commodore 3040 sector disk image format
*********************************************************************/
#include <assert.h>
#include "formats/c3040_dsk.h"
c3040_format::c3040_format() : d64_format(file_formats)
{
}
const char *c3040_format::name() const
{
return "c3040";
}
const char *c3040_format::description() const
{
return "Commodore 3040 disk image";
}
const char *c3040_format::extensions() const
{
return "d67";
}
const c3040_format::format c3040_format::file_formats[] = {
{ // d67, dos 1, 35 tracks, head 48 tpi, stepper 96 tpi
floppy_image::FF_525, floppy_image::SSSD, 690, 35, 1, 256, 9, 8
},
{}
};
const int c3040_format::c3040_sectors_per_track[] =
{
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, // 1-17
20, 20, 20, 20, 20, 20, 20, // 18-24
18, 18, 18, 18, 18, 18, // 25-30
17, 17, 17, 17, 17, // 31-35
17, 17, 17, 17, 17, // 36-40
17, 17 // 41-42
};
const int c3040_format::c3040_gap2[] =
{
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, // 1-17
8, 8, 8, 8, 8, 8, 8, // 18-24
15, 15, 15, 15, 15, 15, // 25-30
12, 12, 12, 12, 12 // 31-35
};
floppy_image_format_t::desc_e* c3040_format::get_sector_desc(const format &f, int &current_size, int sector_count, UINT8 id1, UINT8 id2, int gap_2)
{
static floppy_image_format_t::desc_e desc[] = {
/* 00 */ { SECTOR_LOOP_START, 0, -1 },
/* 01 */ { SYNC_GCR5, 2 },
/* 02 */ { GCR5, 0x08, 1 },
/* 03 */ { CRC, 1 },
/* 04 */ { CRC_CBM_START, 1 },
/* 05 */ { SECTOR_ID_GCR5 },
/* 06 */ { TRACK_ID_DOS2_GCR5 },
/* 07 */ { GCR5, id2, 1 },
/* 08 */ { GCR5, id1, 1 },
/* 09 */ { CRC_END, 1 },
/* 10 */ { GCR5, 0x00, f.gap_1 },
/* 11 */ { SYNC_GCR5, 2 },
/* 12 */ { GCR5, 0x07, 1 },
/* 13 */ { CRC_CBM_START, 2 },
/* 14 */ { SECTOR_DATA_GCR5, -1 },
/* 15 */ { CRC_END, 2 },
/* 16 */ { CRC, 2 },
/* 17 */ { GCR5, 0x00, gap_2 },
/* 18 */ { SECTOR_LOOP_END },
/* 19 */ { GCR5, 0x00, 0 },
/* 20 */ { RAWBITS, 0x14a, 0 },
/* 21 */ { END }
};
desc[17].p2 = gap_2; // TODO why?!?
current_size = 20 + (1+1+4)*10 + f.gap_1*10 + 20 + (1+f.sector_base_size+1)*10 + gap_2*10;
current_size *= sector_count;
return desc;
}
void c3040_format::fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_size)
{
desc[19].p2 = remaining_size / 10;
desc[20].p2 = remaining_size % 10;
desc[20].p1 >>= remaining_size & 0x01;
}
const floppy_format_type FLOPPY_C3040_FORMAT = &floppy_image_format_creator<c3040_format>;

View File

@ -0,0 +1,40 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/*********************************************************************
formats/c3040_dsk.h
Commodore 3040 sector disk image format
*********************************************************************/
#ifndef C3040_DSK_H_
#define C3040_DSK_H_
#include "d64_dsk.h"
class c3040_format : public d64_format {
public:
c3040_format();
virtual const char *name() const;
virtual const char *description() const;
virtual const char *extensions() const;
protected:
virtual int get_sectors_per_track(const format &f, int track) { return c3040_sectors_per_track[track]; }
virtual floppy_image_format_t::desc_e* get_sector_desc(const format &f, int &current_size, int sector_count, UINT8 id1, UINT8 id2, int gap_2);
virtual int get_gap2(const format &f, int head, int track) { return c3040_gap2[track]; }
virtual void fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_size);
static const format file_formats[];
static const int c3040_gap2[];
static const int c3040_sectors_per_track[];
};
extern const floppy_format_type FLOPPY_C3040_FORMAT;
#endif

View File

@ -0,0 +1,91 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/*********************************************************************
formats/c4040_dsk.c
Commodore 4040 sector disk image format
*********************************************************************/
#include <assert.h>
#include "formats/c4040_dsk.h"
c4040_format::c4040_format() : d64_format(file_formats)
{
}
const char *c4040_format::name() const
{
return "c4040";
}
const char *c4040_format::description() const
{
return "Commodore 4040 disk image";
}
const char *c4040_format::extensions() const
{
return "d64";
}
const c4040_format::format c4040_format::file_formats[] = {
{ // c4040, dos 2, 35 tracks, head 48 tpi, stepper 96 tpi
floppy_image::FF_525, floppy_image::SSSD, 683, 35, 1, 256, 9, 8
},
{}
};
const int c4040_format::c4040_gap2[] =
{
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, // 1-17
19, 19, 19, 19, 19, 19, 19, // 18-24
15, 15, 15, 15, 15, 15, // 25-30
12, 12, 12, 12, 12 // 31-35
};
floppy_image_format_t::desc_e* c4040_format::get_sector_desc(const format &f, int &current_size, int sector_count, UINT8 id1, UINT8 id2, int gap_2)
{
static floppy_image_format_t::desc_e desc[] = {
/* 00 */ { SECTOR_LOOP_START, 0, -1 },
/* 01 */ { SYNC_GCR5, 4 },
/* 02 */ { GCR5, 0x08, 1 },
/* 03 */ { CRC, 1 },
/* 04 */ { CRC_CBM_START, 1 },
/* 05 */ { SECTOR_ID_GCR5 },
/* 06 */ { TRACK_ID_DOS2_GCR5 },
/* 07 */ { GCR5, id2, 1 },
/* 08 */ { GCR5, id1, 1 },
/* 09 */ { CRC_END, 1 },
/* 10 */ { GCR5, 0x00, f.gap_1 },
/* 11 */ { SYNC_GCR5, 4 },
/* 12 */ { GCR5, 0x07, 1 },
/* 13 */ { CRC_CBM_START, 2 },
/* 14 */ { SECTOR_DATA_GCR5, -1 },
/* 15 */ { CRC_END, 2 },
/* 16 */ { CRC, 2 },
/* 17 */ { GCR5, 0x00, gap_2 },
/* 18 */ { SECTOR_LOOP_END },
/* 19 */ { GCR5, 0x00, 0 },
/* 20 */ { RAWBITS, 0x14a, 0 },
/* 21 */ { END }
};
desc[17].p2 = gap_2; // TODO why?!?
current_size = 40 + (1+1+4)*10 + f.gap_1*10 + 40 + (1+f.sector_base_size+1)*10 + gap_2*10;
current_size *= sector_count;
return desc;
}
void c4040_format::fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_size)
{
desc[19].p2 = remaining_size / 10;
desc[20].p2 = remaining_size % 10;
desc[20].p1 >>= remaining_size & 0x01;
}
const floppy_format_type FLOPPY_C4040_FORMAT = &floppy_image_format_creator<c4040_format>;

View File

@ -0,0 +1,38 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/*********************************************************************
formats/c4040_dsk.h
Commodore 4040 sector disk image format
*********************************************************************/
#ifndef C4040_DSK_H_
#define C4040_DSK_H_
#include "d64_dsk.h"
class c4040_format : public d64_format {
public:
c4040_format();
virtual const char *name() const;
virtual const char *description() const;
virtual const char *extensions() const;
protected:
virtual floppy_image_format_t::desc_e* get_sector_desc(const format &f, int &current_size, int sector_count, UINT8 id1, UINT8 id2, int gap_2);
virtual int get_gap2(const format &f, int head, int track) { return c4040_gap2[track]; }
virtual void fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_size);
static const format file_formats[];
static const int c4040_gap2[];
};
extern const floppy_format_type FLOPPY_C4040_FORMAT;
#endif

View File

@ -239,8 +239,9 @@ bool d64_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
int physical_track = this->get_physical_track(f, head, track); int physical_track = this->get_physical_track(f, head, track);
int sector_count = this->get_sectors_per_track(f, track); int sector_count = this->get_sectors_per_track(f, track);
int track_size = sector_count*f.sector_base_size; int track_size = sector_count*f.sector_base_size;
int gap2 = this->get_gap2(f, head, track);
floppy_image_format_t::desc_e *desc = this->get_sector_desc(f, current_size, sector_count, id1, id2, f.gap_2); floppy_image_format_t::desc_e *desc = this->get_sector_desc(f, current_size, sector_count, id1, id2, gap2);
int remaining_size = total_size - current_size; int remaining_size = total_size - current_size;
if(remaining_size < 0) if(remaining_size < 0)
@ -271,7 +272,7 @@ bool d64_format::save(io_generic *io, floppy_image *image)
for(int track=0; track < f.track_count; track++) { for(int track=0; track < f.track_count; track++) {
int sector_count = this->get_sectors_per_track(f, track); int sector_count = this->get_sectors_per_track(f, track);
int track_size = compute_track_size(f, track); int track_size = compute_track_size(f, track);
UINT8 sectdata[40*256]; UINT8 sectdata[40*256] = { 0 };
desc_s sectors[40]; desc_s sectors[40];
int offset = get_image_offset(f, head, track); int offset = get_image_offset(f, head, track);

View File

@ -66,6 +66,7 @@ protected:
void get_disk_id(const format &f, io_generic *io, UINT8 &id1, UINT8 &id2); void get_disk_id(const format &f, io_generic *io, UINT8 &id1, UINT8 &id2);
virtual int get_image_offset(const format &f, int head, int track); virtual int get_image_offset(const format &f, int head, int track);
int compute_track_size(const format &f, int track); int compute_track_size(const format &f, int track);
virtual int get_gap2(const format &f, int head, int track) { return f.gap_2; }
virtual floppy_image_format_t::desc_e* get_sector_desc(const format &f, int &current_size, int sector_count, UINT8 id1, UINT8 id2, int gap_2); virtual floppy_image_format_t::desc_e* get_sector_desc(const format &f, int &current_size, int sector_count, UINT8 id1, UINT8 id2, int gap_2);
void build_sector_description(const format &f, UINT8 *sectdata, UINT32 sect_offs, UINT32 error_offs, desc_s *sectors, int sector_count) const; void build_sector_description(const format &f, UINT8 *sectdata, UINT32 sect_offs, UINT32 error_offs, desc_s *sectors, int sector_count) const;
virtual void fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_size); virtual void fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_size);

View File

@ -1,56 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/*********************************************************************
formats/d67_dsk.c
Commodore 2040 sector disk image format
*********************************************************************/
#include <assert.h>
#include "formats/d67_dsk.h"
d67_format::d67_format() : d64_format(file_formats)
{
}
const char *d67_format::name() const
{
return "d67";
}
const char *d67_format::description() const
{
return "Commodore 2040 disk image";
}
const char *d67_format::extensions() const
{
return "d67";
}
const d67_format::format d67_format::file_formats[] = {
{ // d67, dos 1, 35 tracks, head 48 tpi, stepper 96 tpi
floppy_image::FF_525, floppy_image::SSSD, 690, 35, 1, 256, 9, 8
},
{}
};
const int d67_format::d67_sectors_per_track[] =
{
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, // 1-17
20, 20, 20, 20, 20, 20, 20, // 18-24
18, 18, 18, 18, 18, 18, // 25-30
17, 17, 17, 17, 17, // 31-35
17, 17, 17, 17, 17, // 36-40
17, 17 // 41-42
};
int d67_format::get_sectors_per_track(const format &f, int track)
{
return d67_sectors_per_track[track];
}
const floppy_format_type FLOPPY_D67_FORMAT = &floppy_image_format_creator<d67_format>;

View File

@ -1,36 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/*********************************************************************
formats/d67_dsk.h
Commodore 2040 sector disk image format
*********************************************************************/
#ifndef D67_DSK_H_
#define D67_DSK_H_
#include "d64_dsk.h"
class d67_format : public d64_format {
public:
d67_format();
virtual const char *name() const;
virtual const char *description() const;
virtual const char *extensions() const;
protected:
virtual int get_sectors_per_track(const format &f, int track);
static const format file_formats[];
static const int d67_sectors_per_track[];
};
extern const floppy_format_type FLOPPY_D67_FORMAT;
#endif

View File

@ -448,6 +448,50 @@ ROM_START( boogwing ) /* VER 1.5 EUR 92.12.07 */
ROM_LOAD( "kj-00.15n", 0x000000, 0x00400, CRC(add4d50b) SHA1(080e5a8192a146d5141aef5c8d9996ddf8cd3ab4) ) ROM_LOAD( "kj-00.15n", 0x000000, 0x00400, CRC(add4d50b) SHA1(080e5a8192a146d5141aef5c8d9996ddf8cd3ab4) )
ROM_END ROM_END
ROM_START( boogwingu ) /* VER 1.7 USA 92.12.14 */
ROM_REGION( 0x100000, "maincpu", 0 ) /* DE102 code (encrypted) */
ROM_LOAD16_BYTE( "kl_00.2b", 0x000000, 0x040000, CRC(4dc14798) SHA1(f991edf8e308087ed7222b3b4e3bc959980f8f66) )
ROM_LOAD16_BYTE( "kl_02.2e", 0x000001, 0x040000, CRC(3bb3b0a0) SHA1(ba892ea52b6bb8d110050efdaa5effd8447c1b2a) )
ROM_LOAD16_BYTE( "kl_01.4b", 0x080000, 0x040000, CRC(d109ba13) SHA1(93fcda71e260ba94141e2d4d6b248f2cb8530b61) )
ROM_LOAD16_BYTE( "kl_03.4e", 0x080001, 0x040000, CRC(fef2a176) SHA1(b0505466237fe17b6aaa7eea47e309cd679208d1) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "kl06.18p", 0x00000, 0x10000, CRC(3e8bc4e1) SHA1(7e4c357afefa47b8f101727e06485eb9ebae635d) ) /* same as other sets but labeled KL */
ROM_REGION( 0x20000, "tiles1", 0 ) /* Tiles 1 */
ROM_LOAD16_BYTE( "kl05.9e", 0x00000, 0x010000, CRC(d10aef95) SHA1(a611a35ab312caee19c31da079c647679d31673d) ) /* same as other sets but labeled KL */
ROM_LOAD16_BYTE( "kl04.8e", 0x00001, 0x010000, CRC(329323a8) SHA1(e2ec7b059301c0a2e052dfc683e044c808ad9b33) ) /* same as other sets but labeled KL */
ROM_REGION( 0x300000, "tiles2", 0 ) /* Tiles 2 */
ROM_LOAD( "mbd-01.9b", 0x000000, 0x100000, CRC(d7de4f4b) SHA1(4747f8795e277ed8106667b6f68e1176d95db684) )
ROM_LOAD( "mbd-00.8b", 0x100000, 0x100000, CRC(adb20ba9) SHA1(2ffa1dd19a438a4d2f5743b1050a8037183a3e7d) )
/* 0x100000 bytes expanded from mbd-02.10e copied here later */
ROM_REGION( 0x200000, "tiles3", 0 ) /* Tiles 3 */
ROM_LOAD( "mbd-03.13b", 0x000000, 0x100000, CRC(cf798f2c) SHA1(f484a22679d6a4d4b0dcac820de3f1a37cbc478f) )
ROM_LOAD( "mbd-04.14b", 0x100000, 0x100000, CRC(d9764d0b) SHA1(74d6f09d65d073606a6e10556cedf740aa50ff08) )
ROM_REGION( 0x400000, "sprites1", 0 ) /* Sprites 1 */
ROM_LOAD16_BYTE( "mbd-05.16b", 0x000001, 0x200000, CRC(1768c66a) SHA1(06bf3bb187c65db9dcce959a43a7231e2ac45c17) )
ROM_LOAD16_BYTE( "mbd-06.17b", 0x000000, 0x200000, CRC(7750847a) SHA1(358266ed68a9816094e7aab0905d958284c8ce98) )
ROM_REGION( 0x400000, "sprites2", 0 ) /* Sprites 2 */
ROM_LOAD16_BYTE( "mbd-07.18b", 0x000001, 0x200000, CRC(241faac1) SHA1(588be0cf2647c1d185a99c987a5a20ab7ad8dea8) )
ROM_LOAD16_BYTE( "mbd-08.19b", 0x000000, 0x200000, CRC(f13b1e56) SHA1(f8f5e8c4e6c159f076d4e6505bd901ade5c6a0ca) )
ROM_REGION( 0x0100000, "gfx6", 0 ) /* 1bpp graphics */
ROM_LOAD16_BYTE( "mbd-02.10e", 0x000000, 0x080000, CRC(b25aa721) SHA1(efe800759080bd1dac2da93bd79062a48c5da2b2) )
ROM_REGION( 0x80000, "oki1", 0 ) /* Oki samples 1 */
ROM_LOAD( "mbd-10.17p", 0x000000, 0x080000, CRC(f159f76a) SHA1(0b1ea69fecdd151e2b1fa96a21eade492499691d) )
ROM_REGION( 0x80000, "oki2", 0 ) /* Oki samples 1 */
ROM_LOAD( "mbd-09.16p", 0x000000, 0x080000, CRC(f44f2f87) SHA1(d941520bdfc9e6d88c45462bc1f697c18f33498e) )
ROM_REGION( 0x000400, "proms", 0 ) /* Priority (not used) */
ROM_LOAD( "kj-00.15n", 0x000000, 0x00400, CRC(add4d50b) SHA1(080e5a8192a146d5141aef5c8d9996ddf8cd3ab4) )
ROM_END
ROM_START( boogwinga ) /* VER 1.5 ASA 92.12.07 */ ROM_START( boogwinga ) /* VER 1.5 ASA 92.12.07 */
ROM_REGION( 0x100000, "maincpu", 0 ) /* DE102 code (encrypted) */ ROM_REGION( 0x100000, "maincpu", 0 ) /* DE102 code (encrypted) */
ROM_LOAD16_BYTE( "km_00-2.2b", 0x000000, 0x040000, CRC(71ab71c6) SHA1(00bfd71dd9ae5f12c574ab0ecc07d85898930c4b) ) ROM_LOAD16_BYTE( "km_00-2.2b", 0x000000, 0x040000, CRC(71ab71c6) SHA1(00bfd71dd9ae5f12c574ab0ecc07d85898930c4b) )
@ -594,6 +638,7 @@ DRIVER_INIT_MEMBER(boogwing_state,boogwing)
} }
GAME( 1992, boogwing, 0, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "Boogie Wings (Euro v1.5, 92.12.07)", GAME_SUPPORTS_SAVE ) GAME( 1992, boogwing, 0, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "Boogie Wings (Euro v1.5, 92.12.07)", GAME_SUPPORTS_SAVE )
GAME( 1992, boogwingu,boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "Boogie Wings (USA v1.7, 92.12.14)", GAME_SUPPORTS_SAVE )
GAME( 1992, boogwinga,boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "Boogie Wings (Asia v1.5, 92.12.07)", GAME_SUPPORTS_SAVE ) GAME( 1992, boogwinga,boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "Boogie Wings (Asia v1.5, 92.12.07)", GAME_SUPPORTS_SAVE )
GAME( 1992, ragtime, boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "The Great Ragtime Show (Japan v1.5, 92.12.07)", GAME_SUPPORTS_SAVE ) GAME( 1992, ragtime, boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "The Great Ragtime Show (Japan v1.5, 92.12.07)", GAME_SUPPORTS_SAVE )
GAME( 1992, ragtimea, boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "The Great Ragtime Show (Japan v1.3, 92.11.26)", GAME_SUPPORTS_SAVE ) GAME( 1992, ragtimea, boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "The Great Ragtime Show (Japan v1.3, 92.11.26)", GAME_SUPPORTS_SAVE )

View File

@ -1674,6 +1674,44 @@ ROM_START( ddragon2 )
ROM_LOAD( "prom.16", 0x0000, 0x0200, CRC(46339529) SHA1(64f4c42a826d67b7cbaa8a23a45ebc4eb6248891) ) /* sprite timing (same as ddragon) */ ROM_LOAD( "prom.16", 0x0000, 0x0200, CRC(46339529) SHA1(64f4c42a826d67b7cbaa8a23a45ebc4eb6248891) ) /* sprite timing (same as ddragon) */
ROM_END ROM_END
// came from a dead board, 2 of the program roms were failing
// if you attempt to use ROMs from another set it fails on Game Over due to code which should be different at 0x1800 in ic63
ROM_START( ddragon2j )
ROM_REGION( 0x30000, "maincpu", 0 )
ROM_LOAD( "26a9-0_j.ic38", 0x08000, 0x8000, CRC(5e4fcdff) SHA1(78bf79a0b4f248c3355fef40448c76eb028f9163) )
ROM_LOAD( "26aa-0_j.ic52", 0x10000, 0x8000, CRC(bfb4ee04) SHA1(3692bbdef7d5b7cc3eb76362945b91b4a0f6ad4b) )
ROM_LOAD( "26ab-0.ic53", 0x18000, 0x8000, NO_DUMP) // proper dump might match other sets
ROM_LOAD( "26ac-0_j.ic63", 0x20000, 0x8000, NO_DUMP) // should be different
ROM_REGION( 0x10000, "sub", 0 ) /* sprite CPU 64kb (Upper 16kb = 0) */
ROM_LOAD( "26ae-0.bin", 0x00000, 0x10000, CRC(ea437867) SHA1(cd910203af0565f981b9bdef51ea6e9c33ee82d3) )
ROM_REGION( 0x10000, "soundcpu", 0 ) /* music CPU, 64kb */
ROM_LOAD( "26ad-0.ic41", 0x00000, 0x8000, CRC(3788af3b) SHA1(7f8833b01522553c767c470a9c27d24e638f37b9) ) // why is this different, label was the same
ROM_REGION( 0x10000, "gfx1", 0 )
ROM_LOAD( "26a8-0e.19", 0x00000, 0x10000, CRC(4e80cd36) SHA1(dcae0709f27f32effb359f6b943f61b102749f2a) ) /* chars */
ROM_REGION( 0xc0000, "gfx2", 0 )
ROM_LOAD( "26j0-0.bin", 0x00000, 0x20000, CRC(db309c84) SHA1(ee095e4a3bc86737539784945decb1f63da47b9b) ) /* sprites */
ROM_LOAD( "26j1-0.bin", 0x20000, 0x20000, CRC(c3081e0c) SHA1(c4a9ae151aae21073a2c79c5ac088c72d4f3d9db) )
ROM_LOAD( "26af-0.bin", 0x40000, 0x20000, CRC(3a615aad) SHA1(ec90a35224a177d00327de6fd1a299df38abd790) )
ROM_LOAD( "26j2-0.bin", 0x60000, 0x20000, CRC(589564ae) SHA1(1e6e0ef623545615e8409b6d3ba586a71e2612b6) )
ROM_LOAD( "26j3-0.bin", 0x80000, 0x20000, CRC(daf040d6) SHA1(ab0fd5482625dbe64f0f0b0baff5dcde05309b81) )
ROM_LOAD( "26a10-0.bin", 0xa0000, 0x20000, CRC(6d16d889) SHA1(3bc62b3e7f4ddc3200a9cf8469239662da80c854) )
ROM_REGION( 0x40000, "gfx3", 0 )
ROM_LOAD( "26j4-0.bin", 0x00000, 0x20000, CRC(a8c93e76) SHA1(54d64f052971e7fa0d21c5ce12f87b0fa2b648d6) ) /* tiles */
ROM_LOAD( "26j5-0.bin", 0x20000, 0x20000, CRC(ee555237) SHA1(f9698f3e57f933a43e508f60667c860dee034d05) )
ROM_REGION( 0x40000, "oki", 0 ) /* adpcm samples */
ROM_LOAD( "26j6-0.bin", 0x00000, 0x20000, CRC(a84b2a29) SHA1(9cb529e4939c16a0a42f45dd5547c76c2f86f07b) )
ROM_LOAD( "26j7-0.bin", 0x20000, 0x20000, CRC(bc6a48d5) SHA1(04c434f8cd42a8f82a263548183569396f9b684d) )
ROM_REGION( 0x0200, "proms", 0 )
ROM_LOAD( "prom.16", 0x0000, 0x0200, CRC(46339529) SHA1(64f4c42a826d67b7cbaa8a23a45ebc4eb6248891) ) /* sprite timing (same as ddragon) */
ROM_END
ROM_START( ddragon2u ) ROM_START( ddragon2u )
ROM_REGION( 0x30000, "maincpu", 0 ) ROM_REGION( 0x30000, "maincpu", 0 )
ROM_LOAD( "26a9-04.bin", 0x08000, 0x8000, CRC(f2cfc649) SHA1(d3f1e0bae02472914a940222e4f600170a91736d) ) ROM_LOAD( "26a9-04.bin", 0x08000, 0x8000, CRC(f2cfc649) SHA1(d3f1e0bae02472914a940222e4f600170a91736d) )
@ -2101,8 +2139,10 @@ GAME( 1987, ddragonb, ddragon, ddragonb, ddragon, ddragon_state, ddragon,
GAME( 1987, ddragonba, ddragon, ddragonba, ddragon, ddragon_state, ddragon, ROT0, "bootleg", "Double Dragon (bootleg with M6803)", GAME_SUPPORTS_SAVE ) GAME( 1987, ddragonba, ddragon, ddragonba, ddragon, ddragon_state, ddragon, ROT0, "bootleg", "Double Dragon (bootleg with M6803)", GAME_SUPPORTS_SAVE )
GAME( 1987, ddragon6809, ddragon, ddragon6809, ddragon, ddragon_state, ddragon6809, ROT0, "bootleg", "Double Dragon (bootleg with 3xM6809, set 1)", GAME_NOT_WORKING ) GAME( 1987, ddragon6809, ddragon, ddragon6809, ddragon, ddragon_state, ddragon6809, ROT0, "bootleg", "Double Dragon (bootleg with 3xM6809, set 1)", GAME_NOT_WORKING )
GAME( 1987, ddragon6809a,ddragon, ddragon6809, ddragon, ddragon_state, ddragon6809, ROT0, "bootleg", "Double Dragon (bootleg with 3xM6809, set 2)", GAME_NOT_WORKING ) GAME( 1987, ddragon6809a,ddragon, ddragon6809, ddragon, ddragon_state, ddragon6809, ROT0, "bootleg", "Double Dragon (bootleg with 3xM6809, set 2)", GAME_NOT_WORKING )
GAME( 1988, ddragon2, 0, ddragon2, ddragon2, ddragon_state, ddragon2, ROT0, "Technos Japan", "Double Dragon II - The Revenge (World)", GAME_SUPPORTS_SAVE ) GAME( 1988, ddragon2, 0, ddragon2, ddragon2, ddragon_state, ddragon2, ROT0, "Technos Japan", "Double Dragon II - The Revenge (World)", GAME_SUPPORTS_SAVE )
GAME( 1988, ddragon2u, ddragon2, ddragon2, ddragon2, ddragon_state, ddragon2, ROT0, "Technos Japan", "Double Dragon II - The Revenge (US)", GAME_SUPPORTS_SAVE ) GAME( 1988, ddragon2u, ddragon2, ddragon2, ddragon2, ddragon_state, ddragon2, ROT0, "Technos Japan", "Double Dragon II - The Revenge (US)", GAME_SUPPORTS_SAVE )
GAME( 1988, ddragon2j, ddragon2, ddragon2, ddragon2, ddragon_state, ddragon2, ROT0, "Technos Japan", "Double Dragon II - The Revenge (Japan)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // bad dump
/* these were conversions of double dragon */ /* these were conversions of double dragon */
GAME( 1991, tstrike, 0, darktowr, tstrike, ddragon_state, darktowr, ROT0, "East Coast Coin Company", "Thunder Strike (set 1)", GAME_SUPPORTS_SAVE ) // same manufacturer as The Game Room? GAME( 1991, tstrike, 0, darktowr, tstrike, ddragon_state, darktowr, ROT0, "East Coast Coin Company", "Thunder Strike (set 1)", GAME_SUPPORTS_SAVE ) // same manufacturer as The Game Room?
@ -2113,5 +2153,6 @@ GAME( 1992, darktowr, 0, darktowr, darktowr, ddragon_state, darktowr, ROT
/* these run on their own board, but are basically the same game. Toffy even has 'dangerous dungeons' text in it */ /* these run on their own board, but are basically the same game. Toffy even has 'dangerous dungeons' text in it */
GAME( 1993, toffy, 0, toffy, toffy, ddragon_state, toffy, ROT0, "Midas", "Toffy", GAME_SUPPORTS_SAVE ) GAME( 1993, toffy, 0, toffy, toffy, ddragon_state, toffy, ROT0, "Midas", "Toffy", GAME_SUPPORTS_SAVE )
GAME( 1994, stoffy, 0, toffy, toffy, ddragon_state, toffy, ROT0, "Midas", "Super Toffy", GAME_SUPPORTS_SAVE ) GAME( 1994, stoffy, 0, toffy, toffy, ddragon_state, toffy, ROT0, "Midas", "Super Toffy", GAME_SUPPORTS_SAVE )
GAME( 1994, stoffyu, stoffy, toffy, toffy, ddragon_state, toffy, ROT0, "Midas (Unico license)", "Super Toffy (Unico license)", GAME_SUPPORTS_SAVE ) GAME( 1994, stoffyu, stoffy, toffy, toffy, ddragon_state, toffy, ROT0, "Midas (Unico license)", "Super Toffy (Unico license)", GAME_SUPPORTS_SAVE )

View File

@ -639,16 +639,16 @@ static INPUT_PORTS_START( pepper2 )
PORT_START("DSW") PORT_START("DSW")
PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:2,3") PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:2,3")
PORT_DIPSETTING( 0x06, "40000" ) PORT_DIPSETTING( 0x06, "40000 and 80000" )
PORT_DIPSETTING( 0x04, "50000" ) PORT_DIPSETTING( 0x04, "50000 and 100000" )
PORT_DIPSETTING( 0x02, "60000" ) PORT_DIPSETTING( 0x02, "70000 and 140000" ) // 1st Edition manual lists 60000
PORT_DIPSETTING( 0x00, "70000" ) PORT_DIPSETTING( 0x00, "90000 and 180000" ) // 1st Edition manual lists 70000
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:6,7") PORT_DIPNAME( 0x60, 0x40, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:6,7")
PORT_DIPSETTING( 0x60, "2" ) PORT_DIPSETTING( 0x60, "2" )
PORT_DIPSETTING( 0x40, "3" ) PORT_DIPSETTING( 0x40, "3" )
PORT_DIPSETTING( 0x20, "4" ) PORT_DIPSETTING( 0x20, "4" )
PORT_DIPSETTING( 0x00, "5" ) PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x98, 0x98, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,8") PORT_DIPNAME( 0x98, 0x98, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,8")
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, "Coin A 2C/1C Coin B 1C/3C" ) PORT_DIPSETTING( 0x00, "Coin A 2C/1C Coin B 1C/3C" )
PORT_DIPSETTING( 0x98, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x98, DEF_STR( 1C_1C ) )

View File

@ -9901,6 +9901,30 @@ ROM_START( scrambp )
ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
ROM_END ROM_END
// mostly the same as the scrambp set above, complete dump
ROM_START( scramce )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "es1.2c", 0x0000, 0x0800, CRC(726fb19e) SHA1(4d6d8cf1bb711ab1f13cefc56ba7273f2496d037) ) // only unique rom
ROM_LOAD( "es2.2e", 0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
ROM_LOAD( "es3.2f", 0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
ROM_LOAD( "es4.2h", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
ROM_LOAD( "es5.2j", 0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
ROM_LOAD( "es6.2l", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
ROM_LOAD( "es7.2m", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
ROM_LOAD( "es8.2p", 0x3800, 0x0800, CRC(d20088ee) SHA1(4b2deb64f1185780e5b6d1527ed5f691591b9ea0) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "11.5c", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
ROM_LOAD( "12.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
ROM_LOAD( "13.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "9.5f", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
ROM_LOAD( "10.5h", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
ROM_REGION( 0x0020, "proms", 0 )
ROM_LOAD( "prom7051.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
ROM_END
ROM_START( scrampt ) ROM_START( scrampt )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
@ -10918,6 +10942,7 @@ GAME( 1981, strfbomb, scramble, scramble, strfbomb, galaxian_state, scram
GAME( 1981, explorer, scramble, explorer, explorer, galaxian_state, explorer, ROT90, "bootleg (Sidam)", "Explorer (bootleg of Scramble)", GAME_SUPPORTS_SAVE ) GAME( 1981, explorer, scramble, explorer, explorer, galaxian_state, explorer, ROT90, "bootleg (Sidam)", "Explorer (bootleg of Scramble)", GAME_SUPPORTS_SAVE )
GAME( 1981, scramblebf, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Karateko)", "Scramble (Karateko, French bootleg)", GAME_SUPPORTS_SAVE ) GAME( 1981, scramblebf, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Karateko)", "Scramble (Karateko, French bootleg)", GAME_SUPPORTS_SAVE )
GAME( 1981, scrambp, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Billport S.A.)", "Impacto (Billport S.A., Spanish bootleg of Scramble)", GAME_SUPPORTS_SAVE ) // similar to the Karateko set above GAME( 1981, scrambp, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Billport S.A.)", "Impacto (Billport S.A., Spanish bootleg of Scramble)", GAME_SUPPORTS_SAVE ) // similar to the Karateko set above
GAME( 1981, scramce, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Centromatic S.A.)", "Scramble (Centromatic S.A., Spanish bootleg)", GAME_SUPPORTS_SAVE ) // similar to above
GAME( 1981, scrampt, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Petaco S.A.)", "Scramble (Petaco S.A., Spanish bootleg)", GAME_SUPPORTS_SAVE ) // ^^ GAME( 1981, scrampt, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Petaco S.A.)", "Scramble (Petaco S.A., Spanish bootleg)", GAME_SUPPORTS_SAVE ) // ^^
GAME( 1981, scramrf, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Recreativos Franco)", "Scramble (Recreativos Franco, Spanish bootleg)", GAME_SUPPORTS_SAVE ) GAME( 1981, scramrf, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Recreativos Franco)", "Scramble (Recreativos Franco, Spanish bootleg)", GAME_SUPPORTS_SAVE )

View File

@ -1473,6 +1473,7 @@ ROM_START( gs4002a )
ROM_LOAD( "slot_9-24-84.5", 0x16000, 0x2000, CRC(25d8c504) SHA1(2d52b66e8a1f06f486015440668bd924a123dad0) ) ROM_LOAD( "slot_9-24-84.5", 0x16000, 0x2000, CRC(25d8c504) SHA1(2d52b66e8a1f06f486015440668bd924a123dad0) )
ROM_END ROM_END
/* /*
Greyhound Poker board... Greyhound Poker board...
@ -1568,6 +1569,36 @@ ROM_START( amuse1 ) /* V30.08 Rom board UMV8-B */
ROM_LOAD( "beatthespread_am2p_3-16-84",0x18000, 0x4000, CRC(40997230) SHA1(49e92a9f371a9839c94aa923aa5883284dae9dc2) ) ROM_LOAD( "beatthespread_am2p_3-16-84",0x18000, 0x4000, CRC(40997230) SHA1(49e92a9f371a9839c94aa923aa5883284dae9dc2) )
ROM_END ROM_END
/*
Rom board is "GEI, inc UVM-8B" with a date code of "8339"
Contains 1 AM2732A eprom, 5 HN4827128G eproms, 1 MMI PAL16R4CN, 1 7474N
Battery (3V litium battery) backed up HM6117P-4
Roms labeled as:
HCON M108 9/30 at spot C (AM2732A-DC)
CONT M108 9/26 at spot 1 (HN4827128G-25)
POKR M108 9/26 at spot 2 (HN4827128G-30)
BLJK M108 9/26 at spot 3 (HN4827128G-25)
BONE M108 9/26 at spot 4 (HN4827128G-30)
SLOT M108 9/26 at spot 5 (HN4827128G-30)
*/
ROM_START( amuse1a )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "cont m108 9_26.1", 0x00000, 0x4000, CRC(122d235b) SHA1(5647e7f50cc4c18d98e8f0517ca2f0dacf57cae7) )
ROM_LOAD( "hcon m108 9_30.c", 0x05800, 0x1000, CRC(5beb3d8b) SHA1(40a9458444f6a8e763a0374ab74e745500f4bf8a) )
/* Banked roms */
ROM_LOAD( "pokr m108 9_26.2", 0x10000, 0x4000, CRC(eafa1e22) SHA1(714b82ce2034c88b79d45a691dd71c975f91078c) )
ROM_LOAD( "bljk m108 9_26.3", 0x14000, 0x4000, CRC(c31a8b89) SHA1(487a3be9b5f3db3388de03ebc5f4a3f1572df19b) )
ROM_LOAD( "bone m108 9_26.4", 0x18000, 0x4000, CRC(40307a55) SHA1(3b276aa3ee6e8b25d1840d131db8d5dca34fe856) )
ROM_LOAD( "slot m108 9_26.5", 0x1c000, 0x4000, CRC(fbcc8942) SHA1(fc9ff6db84906edb1dfa2b0235d5cfe9d0a637ab) )
ROM_END
ROM_START( suprpokr ) /* Super Poker Version 10.19S BOBC. Rom board UMV-7C */ ROM_START( suprpokr ) /* Super Poker Version 10.19S BOBC. Rom board UMV-7C */
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
@ -1935,6 +1966,7 @@ GAME( 1982, gs4002a, gs4002, gselect, gselect, driver_device, 0, ROT0
GAME( 1982, amuse, 0, amuse, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Amuse (Version 50.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1982, amuse, 0, amuse, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Amuse (Version 50.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1982, amuse1, amuse, amuse1, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Amuse (Version 30.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1982, amuse1, amuse, amuse1, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Amuse (Version 30.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1983, amuse1a, amuse, amuse1, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Amuse (Version 30.08A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1984, gepoker, 0, gepoker, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1984, gepoker, 0, gepoker, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1984, gepoker1, gepoker, gepoker, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1984, gepoker1, gepoker, gepoker, gepoker, driver_device, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
@ -1985,3 +2017,4 @@ GAME( 1992, sexappl, 0, findout, sexappl, driver_device, 0, ROT0
GAME( 1992, geimulti, 0, geimulti, geimulti, gei_state, geimulti, ROT0, "Grayhound Electronics", "GEI Multi Game", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1992, geimulti, 0, geimulti, geimulti, gei_state, geimulti, ROT0, "Grayhound Electronics", "GEI Multi Game", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1992, sprtauth, 0, sprtauth, sprtauth, gei_state, geimulti, ROT0, "Classic Games", "Sports Authority", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1992, sprtauth, 0, sprtauth, sprtauth, gei_state, geimulti, ROT0, "Classic Games", "Sports Authority", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )

174
src/mame/drivers/segasp.c Normal file
View File

@ -0,0 +1,174 @@
/*
Sega System SP (Spider)
skeleton driver
this is another 'Naomi-like' system
todo: make this actually readable, we don't support unicode source files
convert CF card based sets to CHD?
Title PCB ID REV CF ID Dumped Region PIC MAIN BD Serial
Battle Police ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
???????????
Beetle DASH!! ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
??DASH!!
Bingo Galaxy ???-????? no ???-????-???? AAFE-01E10924916, AAFE-01D67304905, Medal
?????????
Bingo Parade ???-????? no ???-????-???? AAFE-xxxxxxxxxxx, Medal
???????
Brick People / Block People 834-14881 ROM ALL 253-5508-0558 AAFE-01F67905202, AAFE-01F68275202
????????
Dinosaur King 834-14493-01 D ROM US 253-5508-0408 AAFE-01D1132xxxx, AAFE-01D15924816
?????
Dinosaur King - Operation: Dinosaur Rescue 837-14434-91 MDA-C0021? ROM US/EXP 253-5508-0408 AAFE-01A30164715, AAFE-01B92094811
- 834-14662-01
Dinosaur King 2 ???-????? no 253-5508-0408 AAFE-xxxxxxxxxxx
?????2007
Dinosaur King 2 Ver 2.5 834-14792-02 F MDA-C0047 CF EXP 253-5508-0408 AAFE-01D73384904
????? 2008
Disney: Magical Dream Dance on Stage ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
Disney??????? ?? ????????
Future Police Patrol Chase ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
???????????
Issyouni Turbo Drive ???-????? no ???-????-???? AAFE-01E91305101
????????????
Issyouni Wan Wan ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
?????????
King of Beetle: Battle Terminal ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
????????? ????????????
Love & Berry Ver 1.003 834-14661-02 ROM EXP 253-5508-0446 AAFE-01D84934906
?????????and???
Love & Berry Ver 2.000 834-14661-02 ROM EXP 253-5508-0446 AAFE-01D8493xxxx
?????????and???
Love & Berry 3 EXP Ver 1.002 834-14661-01 MDA-C0042 CF US/EXP 253-5508-0446 AAFE-01D64704904
?????????and???
Marine & Marine ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
-
Mirage World ???-????? no ???-????-???? AAFE-xxxxxxxxxxx, Medal
?????????
Monopoly: The Medal ???-????? no ???-????-???? AAFE-xxxxxxxxxxx, Medal
?????·?·???
Monopoly: The Medal 2nd Edition ???-????? no ???-????-???? AAFE-xxxxxxxxxxx, Medal
?????·?·???
Mushiking 2K6 2ND ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
Mushiking 2K7 1ST ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
Tetris Giant / Tetris Dekaris 834-14970 G MDA-C0076 CF ALL 253-5508-0604 AAFE-01G03025212
????·????
Tetris Giant / Tetris Dekaris Ver.2.000 834-14970 G ROM ALL 253-5508-0604 AAFE-xxxxxxxxxxx
????·????
Thomas: The Tank Engine ???-????? no ???-????-???? AAFE-xxxxxxxxxxx
-
REV PCB IC6s Flash AU1500
D 171-8278D 315-6370 8x 128Mbit AMD
F 171-8278F 315-6416 8x 512Mbit AMD
G 171-8278G 315-6416 2x 512Mbit RMI
*/
#include "emu.h"
#include "cpu/sh4/sh4.h"
#include "debugger.h"
class segasp_state : public driver_device
{
public:
segasp_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{
}
virtual void video_start();
UINT32 screen_update_segasp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<sh4_device> m_maincpu;
protected:
};
void segasp_state::video_start()
{
}
UINT32 segasp_state::screen_update_segasp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 64, segasp_state )
AM_RANGE(0x00000000, 0x001fffff) AM_MIRROR(0xa2000000) AM_ROM AM_REGION("maincpu", 0) // BIOS
ADDRESS_MAP_END
static INPUT_PORTS_START( segasp )
INPUT_PORTS_END
#define SP_CPU_CLOCK 200000000
static MACHINE_CONFIG_START( segasp, segasp_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", SH4LE, SP_CPU_CLOCK)
MCFG_SH4_MD0(1)
MCFG_SH4_MD1(0)
MCFG_SH4_MD2(1)
MCFG_SH4_MD3(0)
MCFG_SH4_MD4(0)
MCFG_SH4_MD5(1)
MCFG_SH4_MD6(0)
MCFG_SH4_MD7(1)
MCFG_SH4_MD8(0)
MCFG_SH4_CLOCK(SP_CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(main_map)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(segasp_state, screen_update_segasp)
MCFG_PALETTE_ADD("palette", 0x1000)
MACHINE_CONFIG_END
#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_BIOS(bios+1)) /* Note '+1' */
#define SEGASP_BIOS \
ROM_REGION( 0x200000, "maincpu", 0) \
ROM_SYSTEM_BIOS( 0, "bios0", "bios0" ) \
ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-24236a.ic50", 0x000000, 0x200000, CRC(ca7df0de) SHA1(504c74d5fc96c53ef9f7753e9e37fb8b39cb628c) ) \
ROM_SYSTEM_BIOS( 1, "bios1", "bios1" ) \
ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-24328.ic50", 0x000000, 0x200000, CRC(25f2ef00) SHA1(e58dec9f171e52b3ded213b3fcd9a0de8a438076) ) \
ROM_SYSTEM_BIOS( 2, "bios2", "bios2" ) \
ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-24328a.ic50", 0x000000, 0x200000, CRC(03ec3805) SHA1(a8fbaea826ca257be0b2b86952f247254929e046) ) \
ROM_START( segasp )
SEGASP_BIOS
ROM_END
ROM_START( brickppl )
SEGASP_BIOS
ROM_REGION( 0x10000000, "rom", ROMREGION_ERASE)
ROM_LOAD( "ic62", 0x0000000, 0x4000000, CRC(d79afdb6) SHA1(328e535980624d9173164b756ebbdc1ca4cb6f18) )
ROM_LOAD( "ic63", 0x4000000, 0x4000000, CRC(4f3c0937) SHA1(72d68b66c57ff539b8058f80f1a15ffa44095460) )
ROM_LOAD( "ic64", 0x8000000, 0x4000000, CRC(383e90d9) SHA1(eeca4b1bd0cd1fed7b85f045d71e0c7258d4350b) )
ROM_LOAD( "ic65", 0xc000000, 0x4000000, CRC(4c29b5ac) SHA1(9e6a79ad2d2498eed5b2590c8764222e7d6c0229) )
ROM_END
#define GAME_FLAGS (GAME_NO_SOUND|GAME_NOT_WORKING)
GAME( 200?, segasp, 0, segasp, segasp, driver_device, 0, ROT0, "Sega", "Sega System SP (Spider) BIOS", GAME_FLAGS | GAME_IS_BIOS_ROOT )
GAME( 200?, brickppl,segasp, segasp, segasp, driver_device, 0, ROT0, "Sega", "Brick People / Block People", GAME_FLAGS )

View File

@ -323,6 +323,7 @@ scrambler // bootleg
explorer // bootleg explorer // bootleg
strfbomb // bootleg strfbomb // bootleg
scrambp // bootleg (Billport S.A.) scrambp // bootleg (Billport S.A.)
scramce // bootleg (Centromatic S.A.)
scrampt // bootleg (Petaco S.A.) scrampt // bootleg (Petaco S.A.)
scramrf // bootleg (Recreativos Franco) scramrf // bootleg (Recreativos Franco)
atlantis // (c) 1981 Comsoft atlantis // (c) 1981 Comsoft
@ -5524,6 +5525,7 @@ starhrpr // 2009.07.27 Star Horse Progress Returns (satellite)
// 2009.?? Project Cerberus (planned to be released in 2009) // 2009.?? Project Cerberus (planned to be released in 2009)
// NAOMI based (System SP) // NAOMI based (System SP)
segasp
// 2004.10 Oshare Majo Love and Berry / Fashionable Witch Love and Berry // 2004.10 Oshare Majo Love and Berry / Fashionable Witch Love and Berry
// 2005.09 Kodai Ouja Kyouryuu King / Ancient Ruler Dinosaur King // 2005.09 Kodai Ouja Kyouryuu King / Ancient Ruler Dinosaur King
// 2007.06 Issyo ni Wanwan // 2007.06 Issyo ni Wanwan
@ -5533,6 +5535,7 @@ starhrpr // 2009.07.27 Star Horse Progress Returns (satellite)
// 2008.02 Marine Marine Ver.2 // 2008.02 Marine Marine Ver.2
// 2008.04 Issyo ni Wanwan Waiwai Puppy // 2008.04 Issyo ni Wanwan Waiwai Puppy
// 2008.07 Issyo ni Turbo Drive // 2008.07 Issyo ni Turbo Drive
brickppl
// NAOMI 2 // NAOMI 2
naomi2 // 2001.?? Naomi 2 BIOS naomi2 // 2001.?? Naomi 2 BIOS
@ -6106,10 +6109,11 @@ pktgaldxb // bootleg
// MBA ?? // MBA ??
// MBB ?? // MBB ??
// MBC ?? // MBC ??
boogwing // MBD (c) 1992 (Euro) boogwing // MBD (c) 1992 (Euro, v1.5)
boogwinga // MBD (c) 1992 (Asia) boogwingu // MBD (c) 1992 (USA, v1.7)
ragtime // MBD (c) 1992 (Japan) boogwinga // MBD (c) 1992 (Asia, v1.5)
ragtimea // MBD (c) 1992 (Japan) ragtime // MBD (c) 1992 (Japan, v1.5)
ragtimea // MBD (c) 1992 (Japan, v1.3)
dblewing // MBE (c) 1993 Mitchell dblewing // MBE (c) 1993 Mitchell
fghthist // MBF (c) 1993 Data East Corporation (World) DE-0380-2 PCB fghthist // MBF (c) 1993 Data East Corporation (World) DE-0380-2 PCB
fghthistu // MBF (c) 1993 Data East Corporation (US) DE-0395-1 PCB fghthistu // MBF (c) 1993 Data East Corporation (US) DE-0395-1 PCB
@ -7917,6 +7921,7 @@ vballb // bootleg (of US set)
vball2pjb // bootleg (of Japan set) vball2pjb // bootleg (of Japan set)
ddragon2 // TA-0026 (c) 1988 (World) ddragon2 // TA-0026 (c) 1988 (World)
ddragon2u // TA-0026 (c) 1988 (US) ddragon2u // TA-0026 (c) 1988 (US)
ddragon2j // TA-0026 (c) 1988 (Japan)
toffy // (c) 1993 Midas toffy // (c) 1993 Midas
stoffy // (c) 1994 Midas stoffy // (c) 1994 Midas
stoffyu // (c) 1994 Midas + Unico stoffyu // (c) 1994 Midas + Unico
@ -10353,6 +10358,7 @@ jokpokerc // (c) 1983 Greyhound Electronics
superbwl // (c) 1982 Greyhound Electronics superbwl // (c) 1982 Greyhound Electronics
amuse // (c) 1982 Greyhound Electronics amuse // (c) 1982 Greyhound Electronics
amuse1 // (c) 1982 Greyhound Electronics amuse1 // (c) 1982 Greyhound Electronics
amuse1a // (c) 1983 Greyhound Electronics
gs4002 // (c) 1982 G.E.I. gs4002 // (c) 1982 G.E.I.
gs4002a // (c) 1982 G.E.I. gs4002a // (c) 1982 G.E.I.
gepoker // (c) 1984 Greyhound Electronics gepoker // (c) 1984 Greyhound Electronics

View File

@ -113,5 +113,5 @@ ROM_END
/* Game Driver */ /* Game Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
CONS( 1982, advision, 0, 0, advision, advision, driver_device, 0, "Entex Industries Inc", "Adventure Vision", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) CONS( 1982, advision, 0, 0, advision, advision, driver_device, 0, "Entex", "Adventure Vision", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )