trunk/hash/sms.xml
| r242565 | r242566 | |
| 867 | 867 | </part> |
| 868 | 868 | </software> |
| 869 | 869 | |
| 870 | <!-- |
| 871 | The labelling of Hi-Com multigame carts is arbitrary. The boxes appears to what was intended as unique product number |
| 872 | but boxes are typically mixed up and patched with stickers added to change game titles (on both boxes and cartridges) |
| 873 | making the product number rather unreliable AND realistically we may never find out the correct numbers. |
| 874 | --> |
| 875 | <software name="hicom3a"> |
| 876 | <description>The Best Game Collection - Hang On + Pit Pot + Spy vs Spy (Kor)</description> |
| 877 | <year>1990</year> |
| 878 | <publisher>Hi-Com</publisher> |
| 879 | <part name="cart" interface="sms_cart"> |
| 880 | <feature name="slot" value="hicom" /> |
| 881 | <dataarea name="rom" size="131072"> |
| 882 | <rom name="hi-com 3-in-1 the best game collection a (kr).sms" size="131072" crc="98af0236" sha1="a64f63eb81bfdd81476daf74a810b5b29fb55986" offset="0" /> |
| 883 | </dataarea> |
| 884 | </part> |
| 885 | </software> |
| 886 | |
| 887 | <software name="hicom3b"> |
| 888 | <description>The Best Game Collection - Great Baseball + Great Soccer + Super Tennis (Kor)</description> |
| 889 | <year>1990</year> |
| 890 | <publisher>Hi-Com</publisher> |
| 891 | <part name="cart" interface="sms_cart"> |
| 892 | <feature name="slot" value="hicom" /> |
| 893 | <dataarea name="rom" size="131072"> |
| 894 | <rom name="hi-com 3-in-1 the best game collection b (kr).sms" size="131072" crc="6ebfe1c3" sha1="65ed4232b972e3d85147561b310115dd6b642b99" offset="0" /> |
| 895 | </dataarea> |
| 896 | </part> |
| 897 | </software> |
| 898 | |
| 899 | <software name="hicom3c"> |
| 900 | <description>The Best Game Collection - Teddy Boy Blues + Pit-Pot + Astro Flash (Kor)</description> |
| 901 | <year>1990</year> |
| 902 | <publisher>Hi-Com</publisher> |
| 903 | <part name="cart" interface="sms_cart"> |
| 904 | <feature name="slot" value="hicom" /> |
| 905 | <dataarea name="rom" size="131072"> |
| 906 | <rom name="hi-com 3-in-1 the best game collection c (kr).sms" size="131072" crc="81a36a4f" sha1="d3912814b33ce9ca13340902524bcc01dcf397b0" offset="0" /> |
| 907 | </dataarea> |
| 908 | </part> |
| 909 | </software> |
| 910 | |
| 911 | <software name="hicom3d"> |
| 912 | <description>The Best Game Collection - Teddy Boy Blues + Great Soccer + Comical Machine Gun Joe (Kor)</description> |
| 913 | <year>1990</year> |
| 914 | <publisher>Hi-Com</publisher> |
| 915 | <part name="cart" interface="sms_cart"> |
| 916 | <feature name="slot" value="hicom" /> |
| 917 | <dataarea name="rom" size="131072"> |
| 918 | <rom name="hi-com 3-in-1 the best game collection d (kr).sms" size="131072" crc="8d2d695d" sha1="5e20414c5eb61c3c817509f794381e1577e69111" offset="0" /> |
| 919 | </dataarea> |
| 920 | </part> |
| 921 | </software> |
| 922 | |
| 923 | <software name="hicom3e"> |
| 924 | <description>The Best Game Collection - Ghost House + Teddy Boy Blues + Seishun Scandal (Kor)</description> |
| 925 | <year>1990</year> |
| 926 | <publisher>Hi-Com</publisher> |
| 927 | <part name="cart" interface="sms_cart"> |
| 928 | <feature name="slot" value="hicom" /> |
| 929 | <dataarea name="rom" size="131072"> |
| 930 | <rom name="hi-com 3-in-1 the best game collection e (kr).sms" size="131072" crc="82c09b57" sha1="940af778df6190ef2606a3555d47c0a7d194e05c" offset="0" /> |
| 931 | </dataarea> |
| 932 | </part> |
| 933 | </software> |
| 934 | |
| 935 | <software name="hicom3f"> |
| 936 | <description>The Best Game Collection - Satellite-7 + Great Baseball + Seishun Scandal (Kor)</description> |
| 937 | <year>1990</year> |
| 938 | <publisher>Hi-Com</publisher> |
| 939 | <part name="cart" interface="sms_cart"> |
| 940 | <feature name="slot" value="hicom" /> |
| 941 | <dataarea name="rom" size="131072"> |
| 942 | <rom name="hi-com 3-in-1 the best game collection f (kr).sms" size="131072" crc="4088eeb4" sha1="9ee8554a85dfc0a5a278474f4886b311650b37dc" offset="0" /> |
| 943 | </dataarea> |
| 944 | </part> |
| 945 | </software> |
| 946 | |
| 947 | <software name="hicom8a"> |
| 948 | <description>The Best Game Collection (Kor, 8 in 1 Ver. A)</description> |
| 949 | <year>1990</year> |
| 950 | <publisher>Hi-Com</publisher> |
| 951 | <part name="cart" interface="sms_cart"> |
| 952 | <feature name="slot" value="hicom" /> |
| 953 | <dataarea name="rom" size="262144"> |
| 954 | <rom name="hi-com 8-in-1 the best game collection a (kr).sms" size="262144" crc="fba94148" sha1="cbcdcd85317becd7ced71612a72913c02fa805be" offset="0" /> |
| 955 | </dataarea> |
| 956 | </part> |
| 957 | </software> |
| 958 | |
| 959 | <software name="hicom8b"> |
| 960 | <description>The Best Game Collection (Kor, 8 in 1 Ver. B)</description> |
| 961 | <year>1990</year> |
| 962 | <publisher>Hi-Com</publisher> |
| 963 | <part name="cart" interface="sms_cart"> |
| 964 | <feature name="slot" value="hicom" /> |
| 965 | <dataarea name="rom" size="262144"> |
| 966 | <rom name="hi-com 8-in-1 the best game collection b (kr).sms" size="262144" crc="8333c86e" sha1="657051e0cf27377b8c89c42d3a8f3deef165430a" offset="0" /> |
| 967 | </dataarea> |
| 968 | </part> |
| 969 | </software> |
| 970 | |
| 971 | <software name="hicom8c"> |
| 972 | <description>The Best Game Collection (Kor, 8 in 1 Ver. C)</description> |
| 973 | <year>1990</year> |
| 974 | <publisher>Hi-Com</publisher> |
| 975 | <part name="cart" interface="sms_cart"> |
| 976 | <feature name="slot" value="hicom" /> |
| 977 | <dataarea name="rom" size="262144"> |
| 978 | <rom name="hi-com 8-in-1 the best game collection c (kr).sms" size="262144" crc="00e9809f" sha1="c7eddfbdf0383e0b813abf2bbf47c1e779587adb" offset="0" /> |
| 979 | </dataarea> |
| 980 | </part> |
| 981 | </software> |
| 982 | |
| 870 | 983 | <software name="blackblt"> |
| 871 | 984 | <description>Black Belt (Euro, USA)</description> |
| 872 | 985 | <year>1986</year> |
trunk/src/emu/bus/sega8/rom.c
| r242565 | r242566 | |
| 35 | 35 | const device_type SEGA8_ROM_ZEMINA = &device_creator<sega8_zemina_device>; |
| 36 | 36 | const device_type SEGA8_ROM_NEMESIS = &device_creator<sega8_nemesis_device>; |
| 37 | 37 | const device_type SEGA8_ROM_JANGGUN = &device_creator<sega8_janggun_device>; |
| 38 | const device_type SEGA8_ROM_HICOM = &device_creator<sega8_hicom_device>; |
| 38 | 39 | const device_type SEGA8_ROM_KOREAN = &device_creator<sega8_korean_device>; |
| 39 | 40 | const device_type SEGA8_ROM_KOREAN_NB = &device_creator<sega8_korean_nb_device>; |
| 40 | 41 | |
| r242565 | r242566 | |
| 149 | 150 | } |
| 150 | 151 | |
| 151 | 152 | |
| 153 | sega8_hicom_device::sega8_hicom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 154 | : sega8_rom_device(mconfig, SEGA8_ROM_HICOM, "SMS Hi-Com Carts", tag, owner, clock, "sega8_hicom", __FILE__) |
| 155 | { |
| 156 | } |
| 157 | |
| 158 | |
| 152 | 159 | sega8_korean_device::sega8_korean_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 153 | 160 | : sega8_rom_device(mconfig, SEGA8_ROM_KOREAN, "SMS Korean Carts", tag, owner, clock, "sega8_korean", __FILE__) |
| 154 | 161 | { |
| r242565 | r242566 | |
| 297 | 304 | m_rom_bank_base[5] = 5; |
| 298 | 305 | } |
| 299 | 306 | |
| 307 | void sega8_hicom_device::late_bank_setup() |
| 308 | { |
| 309 | m_rom_bank_base = 0; |
| 310 | } |
| 311 | |
| 300 | 312 | void sega8_korean_device::late_bank_setup() |
| 301 | 313 | { |
| 302 | 314 | m_rom_bank_base[0] = 0; |
| r242565 | r242566 | |
| 887 | 899 | |
| 888 | 900 | |
| 889 | 901 | /*------------------------------------------------- |
| 902 | |
| 903 | Hi-Com X-in-1 cart, uses writes to 0xffff to |
| 904 | change program bank in 0x0000-0x7fff |
| 905 | |
| 906 | -------------------------------------------------*/ |
| 890 | 907 | |
| 908 | READ8_MEMBER(sega8_hicom_device::read_cart) |
| 909 | { |
| 910 | if (offset >= 0x8000) |
| 911 | return m_rom[offset & 0x3fff]; |
| 912 | |
| 913 | return m_rom[(m_rom_bank_base * 0x8000) + offset]; |
| 914 | } |
| 915 | |
| 916 | WRITE8_MEMBER(sega8_hicom_device::write_mapper) |
| 917 | { |
| 918 | if (offset == 0x03) |
| 919 | m_rom_bank_base = data % (m_rom_page_count << 1); |
| 920 | } |
| 921 | |
| 922 | /*------------------------------------------------- |
| 923 | |
| 891 | 924 | Korean cart, used e.g. in Dodgeball King, |
| 892 | 925 | uses writes to 0xa000 for bankswitch |
| 893 | 926 | |
trunk/src/emu/bus/sega8/rom.h
| r242565 | r242566 | |
| 311 | 311 | }; |
| 312 | 312 | |
| 313 | 313 | |
| 314 | // ======================> sega8_hicom_device |
| 315 | |
| 316 | class sega8_hicom_device : public sega8_rom_device |
| 317 | { |
| 318 | public: |
| 319 | // construction/destruction |
| 320 | sega8_hicom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 321 | |
| 322 | // device-level overrides |
| 323 | virtual void device_start() { save_item(NAME(m_rom_bank_base)); } |
| 324 | |
| 325 | virtual void late_bank_setup(); |
| 326 | |
| 327 | // reading and writing |
| 328 | virtual DECLARE_READ8_MEMBER(read_cart); |
| 329 | virtual DECLARE_WRITE8_MEMBER(write_cart) {} |
| 330 | virtual DECLARE_WRITE8_MEMBER(write_mapper); |
| 331 | |
| 332 | protected: |
| 333 | UINT8 m_rom_bank_base; |
| 334 | }; |
| 335 | |
| 336 | |
| 314 | 337 | // ======================> sega8_korean_device |
| 315 | 338 | |
| 316 | 339 | class sega8_korean_device : public sega8_rom_device |
| r242565 | r242566 | |
| 356 | 379 | extern const device_type SEGA8_ROM_ZEMINA; |
| 357 | 380 | extern const device_type SEGA8_ROM_NEMESIS; |
| 358 | 381 | extern const device_type SEGA8_ROM_JANGGUN; |
| 382 | extern const device_type SEGA8_ROM_HICOM; |
| 359 | 383 | extern const device_type SEGA8_ROM_KOREAN; |
| 360 | 384 | extern const device_type SEGA8_ROM_KOREAN_NB; |
| 361 | 385 | |
trunk/src/emu/bus/sega8/sega8_slot.c
| r242565 | r242566 | |
| 845 | 845 | SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA) |
| 846 | 846 | SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS) |
| 847 | 847 | SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN) |
| 848 | SLOT_INTERFACE_INTERNAL("hicom", SEGA8_ROM_HICOM) |
| 848 | 849 | SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN) |
| 849 | 850 | SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB) |
| 850 | 851 | SLOT_INTERFACE_INTERNAL("othello", SEGA8_ROM_OTHELLO) |
| r242565 | r242566 | |
| 863 | 864 | SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA) |
| 864 | 865 | SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS) |
| 865 | 866 | SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN) |
| 867 | SLOT_INTERFACE_INTERNAL("hicom", SEGA8_ROM_HICOM) |
| 866 | 868 | SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN) |
| 867 | 869 | SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB) |
| 868 | 870 | SLOT_INTERFACE_END |