vc4000: added ram to the softlist entries which need it

(previously all games had RAM even if the real cart did 
not contain any), and fixed a brown paper bag bug from 
last night. nw.
This commit is contained in:
Fabio Priuli 2014-10-03 12:48:45 +00:00
parent 6a02d340db
commit 25daf865a0
4 changed files with 27 additions and 14 deletions

View file

@ -126,10 +126,12 @@
<year>19??</year>
<publisher>Interton</publisher>
<part name="cart" interface="vc4000_cart">
<feature name="slot" value="std" />
<feature name="slot" value="ram1k" />
<dataarea name="rom" size="4096">
<rom name="wintersp.bin" size="4096" crc="bdd652b7" sha1="aa3af1df1095aadf9d7428a59847fbef3505d93d" offset="0" />
</dataarea>
<dataarea name="ram" size="1024">
</dataarea>
</part>
</software>
@ -165,7 +167,7 @@
<year>19??</year>
<publisher>Interton</publisher>
<part name="cart" interface="vc4000_cart">
<feature name="slot" value="ram1k" />
<feature name="slot" value="chess2" />
<dataarea name="rom" size="4096">
<rom name="chess.bin" size="4096" crc="e9c53288" sha1="468188fd58aefb9f8e17e72ea4494f4e8219338a" offset="0" />
</dataarea>
@ -180,10 +182,12 @@
<year>19??</year>
<publisher>Interton</publisher>
<part name="cart" interface="vc4000_cart">
<feature name="slot" value="std" />
<feature name="slot" value="ram1k" />
<dataarea name="rom" size="4096">
<rom name="motocrss.bin" size="4096" crc="55011f0a" sha1="a461b66f6cff37e4038e80da0a205a816abe35d4" offset="0" />
</dataarea>
<dataarea name="ram" size="1024">
</dataarea>
</part>
</software>
@ -232,10 +236,12 @@
<year>19??</year>
<publisher>Interton</publisher>
<part name="cart" interface="vc4000_cart">
<feature name="slot" value="std" />
<feature name="slot" value="ram1k" />
<dataarea name="rom" size="4096">
<rom name="boxing.bin" size="4096" crc="922c9f0d" sha1="b49a37dd6d0272f6c71d778ffada6bc7c90f8348" offset="0" />
</dataarea>
<dataarea name="ram" size="1024">
</dataarea>
</part>
</software>
@ -354,10 +360,12 @@
<year>19??</year>
<publisher>Interton</publisher>
<part name="cart" interface="vc4000_cart">
<feature name="slot" value="std" />
<feature name="slot" value="ram1k" />
<dataarea name="rom" size="4096">
<rom name="golf.bin" size="4096" crc="d399ce07" sha1="41b6c7d3bc8ea2ef9777066dfd74ec2c5932ddb6" offset="0" />
</dataarea>
<dataarea name="ram" size="1024">
</dataarea>
</part>
</software>
@ -367,10 +375,12 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="cart" interface="vc4000_cart">
<feature name="slot" value="std" />
<feature name="slot" value="ram1k" />
<dataarea name="rom" size="4096">
<rom name="cockpit.bin" size="4096" crc="11dd7f0d" sha1="456e9c5d1d48877e8c5eb5e5499c911a73e30584" offset="0" />
</dataarea>
<dataarea name="ram" size="1024">
</dataarea>
</part>
</software>
@ -491,10 +501,12 @@
<year>19??</year>
<publisher>Interton</publisher>
<part name="cart" interface="vc4000_cart">
<feature name="slot" value="std" />
<feature name="slot" value="ram1k" />
<dataarea name="rom" size="4096">
<rom name="suprspac.bin" size="4096" crc="306e37bb" sha1="b11e9fed7700d5192b05dfabeca7b23feca64540" offset="0" />
</dataarea>
<dataarea name="ram" size="1024">
</dataarea>
</part>
</software>

View file

@ -197,7 +197,7 @@ bool apf_cart_slot_device::call_load()
m_cart->ram_alloc(get_software_region_length("ram"));
}
printf("Type: %s\n", apf_get_slot(m_type));
//printf("Type: %s\n", apf_get_slot(m_type));
return IMAGE_INIT_PASS;
}

View file

@ -129,6 +129,7 @@ static int arcadia_get_pcb_id(const char *slot)
return 0;
}
#if 0
static const char *arcadia_get_slot(int type)
{
for (int i = 0; i < ARRAY_LENGTH(slot_list); i++)
@ -139,7 +140,7 @@ static const char *arcadia_get_slot(int type)
return "std";
}
#endif
/*-------------------------------------------------
call load
@ -204,7 +205,7 @@ bool arcadia_cart_slot_device::call_load()
m_type = arcadia_get_pcb_id(pcb_name);
}
printf("Type: %s\n", arcadia_get_slot(m_type));
//printf("Type: %s\n", arcadia_get_slot(m_type));
return IMAGE_INIT_PASS;
}

View file

@ -233,12 +233,12 @@ READ8_MEMBER(vc4000_rom_device::read_rom)
READ8_MEMBER(vc4000_ram1k_device::read_ram)
{
return m_ram[offset & m_ram.count()];
return m_ram[offset & (m_ram.count() - 1)];
}
WRITE8_MEMBER(vc4000_ram1k_device::write_ram)
{
m_ram[offset & m_ram.count()] = data;
m_ram[offset & (m_ram.count() - 1)] = data;
}
@ -252,10 +252,10 @@ READ8_MEMBER(vc4000_chess2_device::extra_rom)
READ8_MEMBER(vc4000_chess2_device::read_ram)
{
return m_ram[offset & m_ram.count()];
return m_ram[offset & (m_ram.count() - 1)];
}
WRITE8_MEMBER(vc4000_chess2_device::write_ram)
{
m_ram[offset & m_ram.count()] = data;
m_ram[offset & (m_ram.count() - 1)] = data;
}