mirror of
https://github.com/holub/mame
synced 2025-04-19 15:11:37 +03:00
coco: Fixed loading Orchestra-90, RS-232 Program Pak, Modem Pak from softlist. Fixed MT05291.
This commit is contained in:
parent
30caaa7bef
commit
ef4c78e102
@ -475,6 +475,7 @@ Compiled by K1W1 and Cowering (from GoodCoCo)
|
||||
<publisher>Tandy</publisher>
|
||||
<info name="serial" value="26-2226" />
|
||||
<part name="cart" interface="coco_cart">
|
||||
<feature name="slot" value="rs232" />
|
||||
<dataarea name="rom" size="4096">
|
||||
<rom name="deluxe rs-232 program pak (1983)(26-2226)(tandy).rom" size="4096" crc="d990e1f9" sha1="3fad25f3462a0b581b9c182ac11ad90c8fa08cb6" offset="0" />
|
||||
</dataarea>
|
||||
@ -552,6 +553,7 @@ Compiled by K1W1 and Cowering (from GoodCoCo)
|
||||
<publisher>Tandy</publisher>
|
||||
<info name="serial" value="26-2228" />
|
||||
<part name="cart" interface="coco_cart">
|
||||
<feature name="slot" value="dcmodem" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="color computer modem pak (1985)(26-2228)(tandy).rom" size="8192" crc="667bc55d" sha1="703fe0aba4a603591078cb675ffd26a67c02df88" offset="0" />
|
||||
</dataarea>
|
||||
@ -976,6 +978,7 @@ Compiled by K1W1 and Cowering (from GoodCoCo)
|
||||
<info name="author" value="Jon Bokelman" />
|
||||
<info name="serial" value="26-3143" />
|
||||
<part name="cart" interface="coco_cart">
|
||||
<feature name="slot" value="orch90" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="orchestra 90 (1984)(26-3143)(tandy).rom" size="8192" crc="15fb39af" sha1="6a20fee9c70b36a6435ac8378f31d5b626017df0" offset="0" />
|
||||
</dataarea>
|
||||
|
@ -70,6 +70,11 @@ namespace
|
||||
return memregion("eprom")->base();
|
||||
}
|
||||
|
||||
virtual memory_region* get_cart_memregion() override
|
||||
{
|
||||
return memregion("eprom");
|
||||
}
|
||||
|
||||
private:
|
||||
// internal state
|
||||
required_device<mos6551_device> m_uart;
|
||||
|
@ -92,6 +92,11 @@ namespace
|
||||
return memregion("eprom")->base();
|
||||
}
|
||||
|
||||
virtual memory_region* get_cart_memregion() override
|
||||
{
|
||||
return memregion("eprom");
|
||||
}
|
||||
|
||||
private:
|
||||
WRITE8_MEMBER(write_left) { m_ldac->write(data); }
|
||||
WRITE8_MEMBER(write_right) { m_rdac->write(data); }
|
||||
|
@ -68,6 +68,11 @@ namespace
|
||||
return memregion("eprom")->base();
|
||||
}
|
||||
|
||||
virtual memory_region* get_cart_memregion() override
|
||||
{
|
||||
return memregion("eprom");
|
||||
}
|
||||
|
||||
private:
|
||||
// internal state
|
||||
required_device<mos6551_device> m_uart;
|
||||
|
@ -412,11 +412,11 @@ image_init_result cococart_slot_device::call_load()
|
||||
{
|
||||
memory_region *cart_mem = m_cart->get_cart_memregion();
|
||||
uint8_t *base = cart_mem->base();
|
||||
offs_t read_length, cart_legnth = cart_mem->bytes();;
|
||||
offs_t read_length, cart_length = cart_mem->bytes();;
|
||||
|
||||
if (!loaded_through_softlist())
|
||||
{
|
||||
read_length = fread(base, cart_legnth);
|
||||
read_length = fread(base, cart_length);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -424,7 +424,7 @@ image_init_result cococart_slot_device::call_load()
|
||||
memcpy(base, get_software_region("rom"), read_length);
|
||||
}
|
||||
|
||||
while (read_length < cart_legnth)
|
||||
while (read_length < cart_length)
|
||||
{
|
||||
offs_t len = std::min(read_length, m_cart->get_cart_size() - read_length);
|
||||
memcpy(base + read_length, base, len);
|
||||
|
Loading…
Reference in New Issue
Block a user