trunk/hash/gameking.xml
r0 | r32704 | |
| 1 | <?xml version="1.0"?> |
| 2 | <!DOCTYPE softwarelist SYSTEM "softwarelist.dtd"> |
| 3 | |
| 4 | <!-- dumps are not yet verified as good, the 3-in-1 internal ROM is not yet dumped --> |
| 5 | |
| 6 | <softwarelist name="gameking" description="TimeTop GameKing cartridges"> |
| 7 | |
| 8 | <software name="2004"> |
| 9 | <description>2004</description> |
| 10 | <year>200?</year> |
| 11 | <publisher>TimeTop</publisher> |
| 12 | <part name="cart" interface="gameking_cart"> |
| 13 | <dataarea name="rom" size="0x20000"> |
| 14 | <rom name="2004.bin" size="0x20000" crc="ff4a99e2" sha1="b5dea250829224ce8cf18ec310ad503cb928667f" offset="0x00000" /> |
| 15 | </dataarea> |
| 16 | </part> |
| 17 | </software> |
| 18 | |
| 19 | <software name="alcarlo"> |
| 20 | <description>Adventure Legend Carlo</description> |
| 21 | <year>200?</year> |
| 22 | <publisher>TimeTop</publisher> |
| 23 | <part name="cart" interface="gameking_cart"> |
| 24 | <dataarea name="rom" size="0x20000"> |
| 25 | <rom name="adventure legend carlo.bin" size="0x20000" crc="7d61d215" sha1="741684b5379d4be732a98beace5d09f37ff19bbf" offset="0x00000" /> |
| 26 | </dataarea> |
| 27 | </part> |
| 28 | </software> |
| 29 | |
| 30 | <software name="aries"> |
| 31 | <description>Aries</description> |
| 32 | <year>200?</year> |
| 33 | <publisher>TimeTop</publisher> |
| 34 | <part name="cart" interface="gameking_cart"> |
| 35 | <dataarea name="rom" size="0x20000"> |
| 36 | <rom name="aries.bin" size="0x20000" crc="b854f1f2" sha1="1ad7a325aba2cf3593165b53e7ae3973388335f7" offset="0x00000" /> |
| 37 | </dataarea> |
| 38 | </part> |
| 39 | </software> |
| 40 | |
| 41 | <software name="dinoadv"> |
| 42 | <description>Dino Adventure Legend</description> |
| 43 | <year>200?</year> |
| 44 | <publisher>TimeTop</publisher> |
| 45 | <part name="cart" interface="gameking_cart"> |
| 46 | <dataarea name="rom" size="0x20000"> |
| 47 | <rom name="dino adventure legend.bin" size="0x20000" crc="2df0c1e6" sha1="df4b5dc80a758d9e3c9b00384e3099ad8331faad" offset="0x00000" /> |
| 48 | </dataarea> |
| 49 | </part> |
| 50 | </software> |
| 51 | |
| 52 | <software name="duckman"> |
| 53 | <description>Duck Man</description> |
| 54 | <year>200?</year> |
| 55 | <publisher>TimeTop</publisher> |
| 56 | <part name="cart" interface="gameking_cart"> |
| 57 | <dataarea name="rom" size="0x20000"> |
| 58 | <rom name="duck man.bin" size="0x20000" crc="9d12950a" sha1="376606097f66105d1a9e97e9793362f6f1e3b1a7" offset="0x00000" /> |
| 59 | </dataarea> |
| 60 | </part> |
| 61 | </software> |
| 62 | |
| 63 | <software name="happybal"> |
| 64 | <description>Happy Ball</description> |
| 65 | <year>200?</year> |
| 66 | <publisher>TimeTop</publisher> |
| 67 | <part name="cart" interface="gameking_cart"> |
| 68 | <dataarea name="rom" size="0x20000"> |
| 69 | <rom name="happy ball.bin" size="0x20000" crc="79d4e738" sha1="fc14712260ed6e3d6313055046546d37b7c838d2" offset="0x00000" /> |
| 70 | </dataarea> |
| 71 | </part> |
| 72 | </software> |
| 73 | |
| 74 | <software name="happykil"> |
| 75 | <description>Happy Killer</description> |
| 76 | <year>200?</year> |
| 77 | <publisher>TimeTop</publisher> |
| 78 | <part name="cart" interface="gameking_cart"> |
| 79 | <dataarea name="rom" size="0x20000"> |
| 80 | <rom name="happy killer.bin" size="0x20000" crc="9fd7ec65" sha1="705309829ee87689793c15be1f781d52471908d6" offset="0x00000" /> |
| 81 | </dataarea> |
| 82 | </part> |
| 83 | </software> |
| 84 | |
| 85 | <software name="lanner"> |
| 86 | <description>Lanneret</description> |
| 87 | <year>200?</year> |
| 88 | <publisher>TimeTop</publisher> |
| 89 | <part name="cart" interface="gameking_cart"> |
| 90 | <dataarea name="rom" size="0x20000"> |
| 91 | <rom name="lanneret.bin" size="0x20000" crc="249df6a5" sha1="bcf92ab85cc97ffe94d6a363a87b0b5de62c3c66" offset="0x00000" /> |
| 92 | </dataarea> |
| 93 | </part> |
| 94 | </software> |
| 95 | |
| 96 | <software name="penguin"> |
| 97 | <description>Penguin</description> |
| 98 | <year>200?</year> |
| 99 | <publisher>TimeTop</publisher> |
| 100 | <part name="cart" interface="gameking_cart"> |
| 101 | <dataarea name="rom" size="0x20000"> |
| 102 | <rom name="penguin.bin" size="0x20000" crc="8c7b81c9" sha1="2f253b6ab6f6b9fc114ffca120d13df2e1e5f860" offset="0x00000" /> |
| 103 | </dataarea> |
| 104 | </part> |
| 105 | </software> |
| 106 | |
| 107 | <software name="popper"> |
| 108 | <description>Popper</description> |
| 109 | <year>200?</year> |
| 110 | <publisher>TimeTop</publisher> |
| 111 | <part name="cart" interface="gameking_cart"> |
| 112 | <dataarea name="rom" size="0x20000"> |
| 113 | <rom name="popper.bin" size="0x20000" crc="a704617b" sha1="314931548578303e5e80a2bcb03c92472cb014d9" offset="0x00000" /> |
| 114 | </dataarea> |
| 115 | </part> |
| 116 | </software> |
| 117 | |
| 118 | <software name="sthero"> |
| 119 | <description>Street Hero</description> |
| 120 | <year>200?</year> |
| 121 | <publisher>TimeTop</publisher> |
| 122 | <part name="cart" interface="gameking_cart"> |
| 123 | <dataarea name="rom" size="0x20000"> |
| 124 | <rom name="street hero.bin" size="0x20000" crc="9e0fe489" sha1="2c442126999e4b112a48e42a82dfa9ad9d6efa22" offset="0x00000" /> |
| 125 | </dataarea> |
| 126 | </part> |
| 127 | </software> |
| 128 | |
| 129 | <software name="smotor"> |
| 130 | <description>Supermotor</description> |
| 131 | <year>200?</year> |
| 132 | <publisher>TimeTop</publisher> |
| 133 | <part name="cart" interface="gameking_cart"> |
| 134 | <dataarea name="rom" size="0x20000"> |
| 135 | <rom name="supermotor.bin" size="0x20000" crc="6290b94b" sha1="0c3011da35170241637907bb23d79355db38f343" offset="0x00000" /> |
| 136 | </dataarea> |
| 137 | </part> |
| 138 | </software> |
| 139 | |
| 140 | <software name="trojanl"> |
| 141 | <description>Trojan Legend</description> |
| 142 | <year>200?</year> |
| 143 | <publisher>TimeTop</publisher> |
| 144 | <part name="cart" interface="gameking_cart"> |
| 145 | <dataarea name="rom" size="0x20000"> |
| 146 | <rom name="trojan legend.bin" size="0x20000" crc="7ce3975e" sha1="e925e4f28efc85ce69fb504b85a98a60883aa30d" offset="0x00000" /> |
| 147 | </dataarea> |
| 148 | </part> |
| 149 | </software> |
| 150 | |
| 151 | |
| 152 | |
| 153 | </softwarelist> |
trunk/src/mess/drivers/gameking.c
r0 | r32704 | |
| 1 | /* TimeTop - GameKing */ |
| 2 | |
| 3 | // these are meant to have a 3-in-1 internal ROM, not dumped |
| 4 | |
| 5 | #include "emu.h" |
| 6 | #include "cpu/m6502/m65c02.h" |
| 7 | #include "bus/generic/slot.h" |
| 8 | #include "bus/generic/carts.h" |
| 9 | |
| 10 | |
| 11 | class gameking_state : public driver_device |
| 12 | { |
| 13 | public: |
| 14 | gameking_state(const machine_config &mconfig, device_type type, const char *tag) |
| 15 | : driver_device(mconfig, type, tag), |
| 16 | m_maincpu(*this, "maincpu"), |
| 17 | m_cart(*this, "cartslot"), |
| 18 | m_palette(*this, "palette") |
| 19 | { } |
| 20 | |
| 21 | |
| 22 | DECLARE_DRIVER_INIT(gameking); |
| 23 | virtual void machine_start(); |
| 24 | virtual void machine_reset(); |
| 25 | DECLARE_PALETTE_INIT(gameking); |
| 26 | |
| 27 | UINT32 screen_update_gameking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 28 | DECLARE_DEVICE_IMAGE_LOAD_MEMBER(gameking_cart); |
| 29 | |
| 30 | protected: |
| 31 | required_device<cpu_device> m_maincpu; |
| 32 | required_device<generic_slot_device> m_cart; |
| 33 | required_device<palette_device> m_palette; |
| 34 | |
| 35 | memory_region *m_cart_rom; |
| 36 | memory_bank *m_mainbank; |
| 37 | }; |
| 38 | |
| 39 | static ADDRESS_MAP_START( gameking_mem , AS_PROGRAM, 8, gameking_state ) |
| 40 | AM_RANGE(0xc000, 0xffff) AM_ROMBANK("mainbank") |
| 41 | ADDRESS_MAP_END |
| 42 | |
| 43 | |
| 44 | static INPUT_PORTS_START( gameking ) |
| 45 | INPUT_PORTS_END |
| 46 | |
| 47 | static const unsigned char gameking_palette[] = |
| 48 | { |
| 49 | 0, 0, 0, |
| 50 | 63, 63, 63, |
| 51 | 127, 127, 127, |
| 52 | 255, 255, 255 |
| 53 | }; |
| 54 | |
| 55 | PALETTE_INIT_MEMBER(gameking_state, gameking) |
| 56 | { |
| 57 | for (int i = 0; i < sizeof(gameking_palette) / 3; i++) |
| 58 | palette.set_pen_color(i, gameking_palette[i*3], gameking_palette[i*3+1], gameking_palette[i*3+2]); |
| 59 | } |
| 60 | |
| 61 | |
| 62 | UINT32 gameking_state::screen_update_gameking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 63 | { |
| 64 | return 0; |
| 65 | } |
| 66 | |
| 67 | |
| 68 | DRIVER_INIT_MEMBER(gameking_state, gameking) |
| 69 | { |
| 70 | } |
| 71 | |
| 72 | |
| 73 | DEVICE_IMAGE_LOAD_MEMBER( gameking_state, gameking_cart ) |
| 74 | { |
| 75 | UINT32 size = m_cart->common_get_size("rom"); |
| 76 | |
| 77 | if (size > 0x20000) |
| 78 | { |
| 79 | image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported cartridge size"); |
| 80 | return IMAGE_INIT_FAIL; |
| 81 | } |
| 82 | |
| 83 | m_cart->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE); |
| 84 | m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom"); |
| 85 | |
| 86 | return IMAGE_INIT_PASS; |
| 87 | } |
| 88 | |
| 89 | void gameking_state::machine_start() |
| 90 | { |
| 91 | astring region_tag; |
| 92 | m_cart_rom = memregion(region_tag.cpy(m_cart->tag()).cat(GENERIC_ROM_REGION_TAG)); |
| 93 | |
| 94 | if (!m_cart_rom) printf("No Rom\n"); |
| 95 | |
| 96 | m_mainbank = membank("mainbank"); |
| 97 | m_mainbank->set_base(m_cart_rom->base()); |
| 98 | } |
| 99 | |
| 100 | void gameking_state::machine_reset() |
| 101 | { |
| 102 | } |
| 103 | |
| 104 | |
| 105 | |
| 106 | static MACHINE_CONFIG_START( gameking, gameking_state ) |
| 107 | /* basic machine hardware */ |
| 108 | MCFG_CPU_ADD("maincpu", M65C02, 6000000) |
| 109 | MCFG_CPU_PROGRAM_MAP(gameking_mem) |
| 110 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", gameking_state, gameking_frame_int) |
| 111 | |
| 112 | /* video hardware */ |
| 113 | MCFG_SCREEN_ADD("screen", LCD) |
| 114 | MCFG_SCREEN_REFRESH_RATE(60) |
| 115 | MCFG_SCREEN_SIZE(48, 32) |
| 116 | MCFG_SCREEN_VISIBLE_AREA(0, 48-1, 0, 32-1) |
| 117 | MCFG_SCREEN_UPDATE_DRIVER(gameking_state, screen_update_gameking) |
| 118 | MCFG_SCREEN_PALETTE("palette") |
| 119 | |
| 120 | MCFG_PALETTE_ADD("palette", ARRAY_LENGTH(gameking_palette) * 3) |
| 121 | MCFG_PALETTE_INIT_OWNER(gameking_state, gameking ) |
| 122 | |
| 123 | |
| 124 | |
| 125 | /* cartridge */ |
| 126 | MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "gameking_cart") |
| 127 | MCFG_GENERIC_EXTENSIONS("bin") |
| 128 | MCFG_GENERIC_MANDATORY |
| 129 | MCFG_GENERIC_LOAD(gameking_state, gameking_cart) |
| 130 | |
| 131 | /* Software lists */ |
| 132 | MCFG_SOFTWARE_LIST_ADD("cart_list", "gameking") |
| 133 | MACHINE_CONFIG_END |
| 134 | |
| 135 | ROM_START(gameking) |
| 136 | ROM_END |
| 137 | |
| 138 | |
| 139 | |
| 140 | CONS(2003, gameking, 0, 0, gameking, gameking, gameking_state, gameking, "TimeTop", "GameKing GM-218", GAME_NOT_WORKING | GAME_NO_SOUND ) |
| 141 | // the GameKing 2 (GM-219) is probably identical HW |