mirror of
https://github.com/holub/mame
synced 2025-04-16 13:34:55 +03:00
Merge branch 'master' of https://github.com/mamedev/mame.git
This commit is contained in:
commit
6297e4cf18
@ -157,6 +157,10 @@ project "formats"
|
||||
MAME_DIR .. "src/lib/formats/bw2_dsk.h",
|
||||
MAME_DIR .. "src/lib/formats/bw12_dsk.c",
|
||||
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.h",
|
||||
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/d64_dsk.c",
|
||||
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.h",
|
||||
MAME_DIR .. "src/lib/formats/d80_dsk.c",
|
||||
|
@ -2428,6 +2428,7 @@ files {
|
||||
MAME_DIR .. "src/mame/machine/model3.c",
|
||||
MAME_DIR .. "src/mame/drivers/monacogp.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/video/powervr2.c",
|
||||
MAME_DIR .. "src/mame/machine/naomi.c",
|
||||
|
@ -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:
|
||||
@ -53,19 +81,14 @@ const device_type C4040 = &device_creator<c4040_device>;
|
||||
// ROM( c2040 )
|
||||
//-------------------------------------------------
|
||||
|
||||
ROM_START( c2040 ) // schematic 320806
|
||||
ROM_START( c2040 ) // schematic 320806, DOS 1.0
|
||||
ROM_REGION( 0x3000, M6502_TAG, 0 )
|
||||
ROM_DEFAULT_BIOS("dos12")
|
||||
ROM_SYSTEM_BIOS( 0, "dos10", "DOS 1.0" )
|
||||
ROMX_LOAD( "901468-xx.ul1", 0x1000, 0x1000, NO_DUMP, ROM_BIOS(1) )
|
||||
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_LOAD( "901468-xx.ul1", 0x1000, 0x1000, NO_DUMP )
|
||||
ROM_LOAD( "901468-xx.uh1", 0x2000, 0x1000, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x400, M6504_TAG, 0 )
|
||||
ROMX_LOAD( "901466-01.uk3", 0x000, 0x400, CRC(9d1e25ce) SHA1(d539858f839f96393f218307df7394362a84a26a), ROM_BIOS(1) )
|
||||
ROMX_LOAD( "901466-02.uk3", 0x000, 0x400, CRC(9d1e25ce) SHA1(d539858f839f96393f218307df7394362a84a26a), ROM_BIOS(2) )
|
||||
ROM_LOAD( "901466-01.uk3", 0x000, 0x400, CRC(9d1e25ce) SHA1(d539858f839f96393f218307df7394362a84a26a) )
|
||||
|
||||
ROM_REGION( 0x800, "gcr", 0)
|
||||
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 )
|
||||
//-------------------------------------------------
|
||||
@ -434,9 +484,28 @@ SLOT_INTERFACE_END
|
||||
//-------------------------------------------------
|
||||
|
||||
FLOPPY_FORMATS_MEMBER( c2040_device::floppy_formats )
|
||||
FLOPPY_D64_FORMAT,
|
||||
FLOPPY_G64_FORMAT,
|
||||
FLOPPY_D67_FORMAT
|
||||
FLOPPY_C3040_FORMAT,
|
||||
FLOPPY_G64_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
|
||||
|
||||
|
||||
@ -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 )
|
||||
//-------------------------------------------------
|
||||
@ -532,8 +655,8 @@ static MACHINE_CONFIG_FRAGMENT( c4040 )
|
||||
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", c2040_device::floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", 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", c4040_device::floppy_formats)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -605,24 +728,24 @@ inline void c2040_device::update_ieee_signals()
|
||||
// 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)
|
||||
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
device_ieee488_interface(mconfig, *this),
|
||||
m_maincpu(*this, M6502_TAG),
|
||||
m_fdccpu(*this, M6504_TAG),
|
||||
m_riot0(*this, M6532_0_TAG),
|
||||
m_riot1(*this, M6532_1_TAG),
|
||||
m_miot(*this, M6530_TAG),
|
||||
m_via(*this, M6522_TAG),
|
||||
m_floppy0(*this, FDC_TAG":0:525ssqd"),
|
||||
m_floppy1(*this, FDC_TAG":1:525ssqd"),
|
||||
m_fdc(*this, FDC_TAG),
|
||||
m_gcr(*this, "gcr"),
|
||||
m_address(*this, "ADDRESS"),
|
||||
m_rfdo(1),
|
||||
m_daco(1),
|
||||
m_atna(1),
|
||||
m_miot_irq(CLEAR_LINE)
|
||||
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_ieee488_interface(mconfig, *this),
|
||||
m_maincpu(*this, M6502_TAG),
|
||||
m_fdccpu(*this, M6504_TAG),
|
||||
m_riot0(*this, M6532_0_TAG),
|
||||
m_riot1(*this, M6532_1_TAG),
|
||||
m_miot(*this, M6530_TAG),
|
||||
m_via(*this, M6522_TAG),
|
||||
m_floppy0(*this, FDC_TAG":0:525ssqd"),
|
||||
m_floppy1(*this, FDC_TAG":1:525ssqd"),
|
||||
m_fdc(*this, FDC_TAG),
|
||||
m_gcr(*this, "gcr"),
|
||||
m_address(*this, "ADDRESS"),
|
||||
m_rfdo(1),
|
||||
m_daco(1),
|
||||
m_atna(1),
|
||||
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::c3040_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: c2040_device(mconfig, C3040, "C3040", tag, owner, clock, "c3040", __FILE__) { }
|
||||
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__) { }
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// c4040_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
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__) { }
|
||||
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__) { }
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -107,6 +107,12 @@ class c3040_device : public c2040_device
|
||||
public:
|
||||
// construction/destruction
|
||||
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 );
|
||||
};
|
||||
|
||||
|
||||
|
@ -15,8 +15,9 @@
|
||||
#define __C2040_FLOPPY__
|
||||
|
||||
#include "emu.h"
|
||||
#include "formats/c3040_dsk.h"
|
||||
#include "formats/c4040_dsk.h"
|
||||
#include "formats/d64_dsk.h"
|
||||
#include "formats/d67_dsk.h"
|
||||
#include "formats/g64_dsk.h"
|
||||
#include "imagedev/floppy.h"
|
||||
|
||||
|
101
src/lib/formats/c3040_dsk.c
Normal file
101
src/lib/formats/c3040_dsk.c
Normal 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 ¤t_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>;
|
40
src/lib/formats/c3040_dsk.h
Normal file
40
src/lib/formats/c3040_dsk.h
Normal 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 ¤t_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
|
91
src/lib/formats/c4040_dsk.c
Normal file
91
src/lib/formats/c4040_dsk.c
Normal 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 ¤t_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>;
|
38
src/lib/formats/c4040_dsk.h
Normal file
38
src/lib/formats/c4040_dsk.h
Normal 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 ¤t_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
|
@ -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 sector_count = this->get_sectors_per_track(f, track);
|
||||
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;
|
||||
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++) {
|
||||
int sector_count = this->get_sectors_per_track(f, track);
|
||||
int track_size = compute_track_size(f, track);
|
||||
UINT8 sectdata[40*256];
|
||||
UINT8 sectdata[40*256] = { 0 };
|
||||
desc_s sectors[40];
|
||||
int offset = get_image_offset(f, head, track);
|
||||
|
||||
|
@ -66,6 +66,7 @@ protected:
|
||||
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);
|
||||
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 ¤t_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;
|
||||
virtual void fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_size);
|
||||
|
@ -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>;
|
@ -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
|
@ -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_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_REGION( 0x100000, "maincpu", 0 ) /* DE102 code (encrypted) */
|
||||
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, 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, 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 )
|
||||
|
@ -1674,6 +1674,44 @@ ROM_START( ddragon2 )
|
||||
ROM_LOAD( "prom.16", 0x0000, 0x0200, CRC(46339529) SHA1(64f4c42a826d67b7cbaa8a23a45ebc4eb6248891) ) /* sprite timing (same as ddragon) */
|
||||
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_REGION( 0x30000, "maincpu", 0 )
|
||||
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, 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( 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, 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 */
|
||||
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 */
|
||||
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, stoffyu, stoffy, toffy, toffy, ddragon_state, toffy, ROT0, "Midas (Unico license)", "Super Toffy (Unico license)", GAME_SUPPORTS_SAVE )
|
||||
|
@ -639,16 +639,16 @@ static INPUT_PORTS_START( pepper2 )
|
||||
PORT_START("DSW")
|
||||
PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:2,3")
|
||||
PORT_DIPSETTING( 0x06, "40000" )
|
||||
PORT_DIPSETTING( 0x04, "50000" )
|
||||
PORT_DIPSETTING( 0x02, "60000" )
|
||||
PORT_DIPSETTING( 0x00, "70000" )
|
||||
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:6,7")
|
||||
PORT_DIPSETTING( 0x06, "40000 and 80000" )
|
||||
PORT_DIPSETTING( 0x04, "50000 and 100000" )
|
||||
PORT_DIPSETTING( 0x02, "70000 and 140000" ) // 1st Edition manual lists 60000
|
||||
PORT_DIPSETTING( 0x00, "90000 and 180000" ) // 1st Edition manual lists 70000
|
||||
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:6,7")
|
||||
PORT_DIPSETTING( 0x60, "2" )
|
||||
PORT_DIPSETTING( 0x40, "3" )
|
||||
PORT_DIPSETTING( 0x20, "4" )
|
||||
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( 0x00, "Coin A 2C/1C Coin B 1C/3C" )
|
||||
PORT_DIPSETTING( 0x98, DEF_STR( 1C_1C ) )
|
||||
|
@ -9901,6 +9901,30 @@ ROM_START( scrambp )
|
||||
ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
|
||||
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_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, 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, 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, scramrf, scramble, scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Recreativos Franco)", "Scramble (Recreativos Franco, Spanish bootleg)", GAME_SUPPORTS_SAVE )
|
||||
|
||||
|
@ -1473,6 +1473,7 @@ ROM_START( gs4002a )
|
||||
ROM_LOAD( "slot_9-24-84.5", 0x16000, 0x2000, CRC(25d8c504) SHA1(2d52b66e8a1f06f486015440668bd924a123dad0) )
|
||||
ROM_END
|
||||
|
||||
|
||||
/*
|
||||
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_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_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, 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, 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, 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
174
src/mame/drivers/segasp.c
Normal 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 )
|
||||
|
@ -323,6 +323,7 @@ scrambler // bootleg
|
||||
explorer // bootleg
|
||||
strfbomb // bootleg
|
||||
scrambp // bootleg (Billport S.A.)
|
||||
scramce // bootleg (Centromatic S.A.)
|
||||
scrampt // bootleg (Petaco S.A.)
|
||||
scramrf // bootleg (Recreativos Franco)
|
||||
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)
|
||||
|
||||
// NAOMI based (System SP)
|
||||
segasp
|
||||
// 2004.10 Oshare Majo Love and Berry / Fashionable Witch Love and Berry
|
||||
// 2005.09 Kodai Ouja Kyouryuu King / Ancient Ruler Dinosaur King
|
||||
// 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.04 Issyo ni Wanwan Waiwai Puppy
|
||||
// 2008.07 Issyo ni Turbo Drive
|
||||
brickppl
|
||||
|
||||
// NAOMI 2
|
||||
naomi2 // 2001.?? Naomi 2 BIOS
|
||||
@ -6106,10 +6109,11 @@ pktgaldxb // bootleg
|
||||
// MBA ??
|
||||
// MBB ??
|
||||
// MBC ??
|
||||
boogwing // MBD (c) 1992 (Euro)
|
||||
boogwinga // MBD (c) 1992 (Asia)
|
||||
ragtime // MBD (c) 1992 (Japan)
|
||||
ragtimea // MBD (c) 1992 (Japan)
|
||||
boogwing // MBD (c) 1992 (Euro, v1.5)
|
||||
boogwingu // MBD (c) 1992 (USA, v1.7)
|
||||
boogwinga // MBD (c) 1992 (Asia, v1.5)
|
||||
ragtime // MBD (c) 1992 (Japan, v1.5)
|
||||
ragtimea // MBD (c) 1992 (Japan, v1.3)
|
||||
dblewing // MBE (c) 1993 Mitchell
|
||||
fghthist // MBF (c) 1993 Data East Corporation (World) DE-0380-2 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)
|
||||
ddragon2 // TA-0026 (c) 1988 (World)
|
||||
ddragon2u // TA-0026 (c) 1988 (US)
|
||||
ddragon2j // TA-0026 (c) 1988 (Japan)
|
||||
toffy // (c) 1993 Midas
|
||||
stoffy // (c) 1994 Midas
|
||||
stoffyu // (c) 1994 Midas + Unico
|
||||
@ -10353,6 +10358,7 @@ jokpokerc // (c) 1983 Greyhound Electronics
|
||||
superbwl // (c) 1982 Greyhound Electronics
|
||||
amuse // (c) 1982 Greyhound Electronics
|
||||
amuse1 // (c) 1982 Greyhound Electronics
|
||||
amuse1a // (c) 1983 Greyhound Electronics
|
||||
gs4002 // (c) 1982 G.E.I.
|
||||
gs4002a // (c) 1982 G.E.I.
|
||||
gepoker // (c) 1984 Greyhound Electronics
|
||||
|
@ -113,5 +113,5 @@ ROM_END
|
||||
|
||||
/* Game Driver */
|
||||
|
||||
/* 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 )
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1982, advision, 0, 0, advision, advision, driver_device, 0, "Entex", "Adventure Vision", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
|
||||
|
Loading…
Reference in New Issue
Block a user