mirror of
https://github.com/holub/mame
synced 2025-04-17 22:13:04 +03:00
GameKing skeleton + softlist [Porchy]
(will looks more at this later)
This commit is contained in:
parent
a2cbaf764f
commit
2fb536526e
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -116,6 +116,7 @@ hash/galaxy.xml svneol=native#text/xml
|
||||
hash/gameboy.xml svneol=native#text/xml
|
||||
hash/gamecom.xml svneol=native#text/xml
|
||||
hash/gamegear.xml svneol=native#text/xml
|
||||
hash/gameking.xml svneol=native#text/xml
|
||||
hash/gamepock.xml svneol=native#text/xml
|
||||
hash/gba.xml svneol=native#text/xml
|
||||
hash/gbcolor.xml svneol=native#text/xml
|
||||
@ -8245,6 +8246,7 @@ src/mess/drivers/ft68m.c svneol=native#text/plain
|
||||
src/mess/drivers/galaxy.c svneol=native#text/plain
|
||||
src/mess/drivers/galeb.c svneol=native#text/plain
|
||||
src/mess/drivers/gamecom.c svneol=native#text/plain
|
||||
src/mess/drivers/gameking.c svneol=native#text/plain
|
||||
src/mess/drivers/gamepock.c svneol=native#text/plain
|
||||
src/mess/drivers/gb.c svneol=native#text/plain
|
||||
src/mess/drivers/gba.c svneol=native#text/plain
|
||||
|
153
hash/gameking.xml
Normal file
153
hash/gameking.xml
Normal file
@ -0,0 +1,153 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||
|
||||
<!-- dumps are not yet verified as good, the 3-in-1 internal ROM is not yet dumped -->
|
||||
|
||||
<softwarelist name="gameking" description="TimeTop GameKing cartridges">
|
||||
|
||||
<software name="2004">
|
||||
<description>2004</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="2004.bin" size="0x20000" crc="ff4a99e2" sha1="b5dea250829224ce8cf18ec310ad503cb928667f" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="alcarlo">
|
||||
<description>Adventure Legend Carlo</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="adventure legend carlo.bin" size="0x20000" crc="7d61d215" sha1="741684b5379d4be732a98beace5d09f37ff19bbf" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="aries">
|
||||
<description>Aries</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="aries.bin" size="0x20000" crc="b854f1f2" sha1="1ad7a325aba2cf3593165b53e7ae3973388335f7" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="dinoadv">
|
||||
<description>Dino Adventure Legend</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="dino adventure legend.bin" size="0x20000" crc="2df0c1e6" sha1="df4b5dc80a758d9e3c9b00384e3099ad8331faad" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="duckman">
|
||||
<description>Duck Man</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="duck man.bin" size="0x20000" crc="9d12950a" sha1="376606097f66105d1a9e97e9793362f6f1e3b1a7" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="happybal">
|
||||
<description>Happy Ball</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="happy ball.bin" size="0x20000" crc="79d4e738" sha1="fc14712260ed6e3d6313055046546d37b7c838d2" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="happykil">
|
||||
<description>Happy Killer</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="happy killer.bin" size="0x20000" crc="9fd7ec65" sha1="705309829ee87689793c15be1f781d52471908d6" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="lanner">
|
||||
<description>Lanneret</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="lanneret.bin" size="0x20000" crc="249df6a5" sha1="bcf92ab85cc97ffe94d6a363a87b0b5de62c3c66" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="penguin">
|
||||
<description>Penguin</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="penguin.bin" size="0x20000" crc="8c7b81c9" sha1="2f253b6ab6f6b9fc114ffca120d13df2e1e5f860" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="popper">
|
||||
<description>Popper</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="popper.bin" size="0x20000" crc="a704617b" sha1="314931548578303e5e80a2bcb03c92472cb014d9" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="sthero">
|
||||
<description>Street Hero</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="street hero.bin" size="0x20000" crc="9e0fe489" sha1="2c442126999e4b112a48e42a82dfa9ad9d6efa22" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="smotor">
|
||||
<description>Supermotor</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="supermotor.bin" size="0x20000" crc="6290b94b" sha1="0c3011da35170241637907bb23d79355db38f343" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="trojanl">
|
||||
<description>Trojan Legend</description>
|
||||
<year>200?</year>
|
||||
<publisher>TimeTop</publisher>
|
||||
<part name="cart" interface="gameking_cart">
|
||||
<dataarea name="rom" size="0x20000">
|
||||
<rom name="trojan legend.bin" size="0x20000" crc="7ce3975e" sha1="e925e4f28efc85ce69fb504b85a98a60883aa30d" offset="0x00000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
|
||||
</softwarelist>
|
141
src/mess/drivers/gameking.c
Normal file
141
src/mess/drivers/gameking.c
Normal file
@ -0,0 +1,141 @@
|
||||
/* TimeTop - GameKing */
|
||||
|
||||
// these are meant to have a 3-in-1 internal ROM, not dumped
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
|
||||
|
||||
class gameking_state : public driver_device
|
||||
{
|
||||
public:
|
||||
gameking_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_cart(*this, "cartslot"),
|
||||
m_palette(*this, "palette")
|
||||
{ }
|
||||
|
||||
|
||||
DECLARE_DRIVER_INIT(gameking);
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
DECLARE_PALETTE_INIT(gameking);
|
||||
|
||||
UINT32 screen_update_gameking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(gameking_cart);
|
||||
|
||||
protected:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<generic_slot_device> m_cart;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
memory_region *m_cart_rom;
|
||||
memory_bank *m_mainbank;
|
||||
};
|
||||
|
||||
static ADDRESS_MAP_START( gameking_mem , AS_PROGRAM, 8, gameking_state )
|
||||
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("mainbank")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( gameking )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const unsigned char gameking_palette[] =
|
||||
{
|
||||
0, 0, 0,
|
||||
63, 63, 63,
|
||||
127, 127, 127,
|
||||
255, 255, 255
|
||||
};
|
||||
|
||||
PALETTE_INIT_MEMBER(gameking_state, gameking)
|
||||
{
|
||||
for (int i = 0; i < sizeof(gameking_palette) / 3; i++)
|
||||
palette.set_pen_color(i, gameking_palette[i*3], gameking_palette[i*3+1], gameking_palette[i*3+2]);
|
||||
}
|
||||
|
||||
|
||||
UINT32 gameking_state::screen_update_gameking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(gameking_state, gameking)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
DEVICE_IMAGE_LOAD_MEMBER( gameking_state, gameking_cart )
|
||||
{
|
||||
UINT32 size = m_cart->common_get_size("rom");
|
||||
|
||||
if (size > 0x20000)
|
||||
{
|
||||
image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported cartridge size");
|
||||
return IMAGE_INIT_FAIL;
|
||||
}
|
||||
|
||||
m_cart->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
|
||||
m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
|
||||
|
||||
return IMAGE_INIT_PASS;
|
||||
}
|
||||
|
||||
void gameking_state::machine_start()
|
||||
{
|
||||
astring region_tag;
|
||||
m_cart_rom = memregion(region_tag.cpy(m_cart->tag()).cat(GENERIC_ROM_REGION_TAG));
|
||||
|
||||
if (!m_cart_rom) printf("No Rom\n");
|
||||
|
||||
m_mainbank = membank("mainbank");
|
||||
m_mainbank->set_base(m_cart_rom->base());
|
||||
}
|
||||
|
||||
void gameking_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( gameking, gameking_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M65C02, 6000000)
|
||||
MCFG_CPU_PROGRAM_MAP(gameking_mem)
|
||||
//MCFG_CPU_VBLANK_INT_DRIVER("screen", gameking_state, gameking_frame_int)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", LCD)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_SIZE(48, 32)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 48-1, 0, 32-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(gameking_state, screen_update_gameking)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_PALETTE_ADD("palette", ARRAY_LENGTH(gameking_palette) * 3)
|
||||
MCFG_PALETTE_INIT_OWNER(gameking_state, gameking )
|
||||
|
||||
|
||||
|
||||
/* cartridge */
|
||||
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "gameking_cart")
|
||||
MCFG_GENERIC_EXTENSIONS("bin")
|
||||
MCFG_GENERIC_MANDATORY
|
||||
MCFG_GENERIC_LOAD(gameking_state, gameking_cart)
|
||||
|
||||
/* Software lists */
|
||||
MCFG_SOFTWARE_LIST_ADD("cart_list", "gameking")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START(gameking)
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
CONS(2003, gameking, 0, 0, gameking, gameking, gameking_state, gameking, "TimeTop", "GameKing GM-218", GAME_NOT_WORKING | GAME_NO_SOUND )
|
||||
// the GameKing 2 (GM-219) is probably identical HW
|
@ -2540,3 +2540,4 @@ alto2
|
||||
gimix
|
||||
tecnbras
|
||||
minicom
|
||||
gameking
|
||||
|
@ -1893,6 +1893,7 @@ $(MESSOBJ)/skeleton.a: \
|
||||
$(MESS_DRIVERS)/fc100.o \
|
||||
$(MESS_DRIVERS)/fk1.o \
|
||||
$(MESS_DRIVERS)/ft68m.o \
|
||||
$(MESS_DRIVERS)/gameking.o \
|
||||
$(MESS_DRIVERS)/gimix.o \
|
||||
$(MESS_DRIVERS)/grfd2301.o \
|
||||
$(MESS_DRIVERS)/harriet.o \
|
||||
|
Loading…
Reference in New Issue
Block a user