mirror of
https://github.com/holub/mame
synced 2025-07-02 00:29:37 +03:00
move fidelity SC6 rom externally to softwarelist, as in original machine (nw)
This commit is contained in:
parent
08cd611026
commit
3f2d50c4a2
19
hash/fidel_sc6.xml
Normal file
19
hash/fidel_sc6.xml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||||
|
|
||||||
|
<softwarelist name="fidel_sc6" description="Fidelity SC6 Modules">
|
||||||
|
|
||||||
|
<!-- Sensory Chess Challenger 6 -->
|
||||||
|
|
||||||
|
<software name="sc6">
|
||||||
|
<description>SC6: original program</description>
|
||||||
|
<year>1982</year>
|
||||||
|
<publisher>Fidelity Electronics</publisher>
|
||||||
|
<part name="cart" interface="fidel_sc6">
|
||||||
|
<dataarea name="rom" size="0x1000">
|
||||||
|
<rom name="101-1035a01" size="0x1000" crc="0024971f" sha1="76b16364913ada2fb94b9e6a8524b924e6832ddf" offset="0x0000" /> <!-- 2332 -->
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
</softwarelist>
|
@ -21,6 +21,13 @@ Sensory Chess Challenger 6 (model SC6):
|
|||||||
- external 4KB ROM 2332 101-1035A01, in module slot
|
- external 4KB ROM 2332 101-1035A01, in module slot
|
||||||
- buzzer, 2 7seg LEDs, 8*8 chessboard buttons
|
- buzzer, 2 7seg LEDs, 8*8 chessboard buttons
|
||||||
|
|
||||||
|
released modules, * denotes not dumped yet:
|
||||||
|
- *BO6: Book Openings I
|
||||||
|
- *CG6: Greatest Chess Games 1
|
||||||
|
- SC6: pack-in, original program
|
||||||
|
|
||||||
|
SC6 program is contained in BO6 and CG6.
|
||||||
|
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
@ -52,6 +59,7 @@ private:
|
|||||||
DECLARE_READ_LINE_MEMBER(sc6_input6_r);
|
DECLARE_READ_LINE_MEMBER(sc6_input6_r);
|
||||||
DECLARE_READ_LINE_MEMBER(sc6_input7_r);
|
DECLARE_READ_LINE_MEMBER(sc6_input7_r);
|
||||||
void sc6_map(address_map &map);
|
void sc6_map(address_map &map);
|
||||||
|
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(sc6_cartridge);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -62,6 +70,26 @@ private:
|
|||||||
SC6
|
SC6
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
// cartridge
|
||||||
|
|
||||||
|
DEVICE_IMAGE_LOAD_MEMBER(fidelmcs48_state, sc6_cartridge)
|
||||||
|
{
|
||||||
|
u32 size = m_cart->common_get_size("rom");
|
||||||
|
|
||||||
|
// 4KB ROM only?
|
||||||
|
if (size != 0x1000)
|
||||||
|
{
|
||||||
|
image.seterror(IMAGE_ERROR_UNSPECIFIED, "Invalid file size");
|
||||||
|
return image_init_result::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_result::PASS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// MCU ports/generic
|
// MCU ports/generic
|
||||||
|
|
||||||
void fidelmcs48_state::sc6_prepare_display()
|
void fidelmcs48_state::sc6_prepare_display()
|
||||||
@ -120,7 +148,7 @@ READ_LINE_MEMBER(fidelmcs48_state::sc6_input7_r)
|
|||||||
|
|
||||||
void fidelmcs48_state::sc6_map(address_map &map)
|
void fidelmcs48_state::sc6_map(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0000, 0x0fff).rom();
|
map(0x0000, 0x0fff).r("cartslot", FUNC(generic_slot_device::read_rom));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -169,6 +197,13 @@ void fidelmcs48_state::sc6(machine_config &config)
|
|||||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||||
vref.set_output(5.0);
|
vref.set_output(5.0);
|
||||||
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||||
|
|
||||||
|
/* cartridge */
|
||||||
|
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "fidel_sc6", "bin"));
|
||||||
|
cartslot.set_device_load(device_image_load_delegate(&fidelmcs48_state::device_image_load_sc6_cartridge, this));
|
||||||
|
cartslot.set_must_be_loaded(true);
|
||||||
|
|
||||||
|
SOFTWARE_LIST(config, "cart_list").set_original("fidel_sc6");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -178,8 +213,8 @@ void fidelmcs48_state::sc6(machine_config &config)
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
ROM_START( fscc6 )
|
ROM_START( fscc6 )
|
||||||
ROM_REGION( 0x1000, "maincpu", 0 )
|
ROM_REGION( 0x1000, "maincpu", ROMREGION_ERASE00 )
|
||||||
ROM_LOAD("101-1035a01", 0x0000, 0x1000, CRC(0024971f) SHA1(76b16364913ada2fb94b9e6a8524b924e6832ddf) ) // 2332
|
// none here, it's in the module slot
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,7 +37,6 @@
|
|||||||
- Fidelity Challenger Printer - thermal printer, MCU=D8048C243
|
- Fidelity Challenger Printer - thermal printer, MCU=D8048C243
|
||||||
|
|
||||||
Program/data cartridges, for various boards, some cross-compatible:
|
Program/data cartridges, for various boards, some cross-compatible:
|
||||||
- CG6: Greatest Chess Games 1
|
|
||||||
- CAC: Challenger Advanced Chess - 8KB 101-1038A01
|
- CAC: Challenger Advanced Chess - 8KB 101-1038A01
|
||||||
- CB9: Challenger Book Openings 1 - 8KB (label not known)
|
- CB9: Challenger Book Openings 1 - 8KB (label not known)
|
||||||
- CB16: Challenger Book Openings 2 - 8+8KB 101-1042A01,02
|
- CB16: Challenger Book Openings 2 - 8+8KB 101-1042A01,02
|
||||||
|
Loading…
Reference in New Issue
Block a user