Previous 15994 Revisions Next

r12232 Thursday 14th July, 2011 at 21:06:42 UTC by Sandro Ronco
Added BASIC-G to IQ151 softlist thanks to Micko.
[hash]iq151.xml
[src/mess/drivers]iq151.c

hash/iq151.xml
r12231r12232
1313         </dataarea>
1414      </part>
1515   </software>
16
17   <software name="basicg">
18      <description>BASIC-G</description>
19      <year>198?</year>
20      <publisher>ZPA Novy Bor</publisher>
21      <part name="cart" interface="iq151_cart">
22         <feature name="cart_type" value="BASICG" />
23         <dataarea name="rom_a" size="0x2000">
24            <rom name="basicg_a.rom" size="0x1000" crc="1890de5e" sha1="0b04458518b3bc23d6af52a373f9f88aa5eb28a6" offset="0x00000" />
25         </dataarea>
26         <dataarea name="rom_b" size="0x2000">
27            <rom name="basicg_b.rom" size="0x2000" crc="ac632b85" sha1="062a6812b167a8a94ee391a3e73a024b3fab3506" offset="0x00000" />
28         </dataarea>
29      </part>
30   </software>
1631</softwarelist>
src/mess/drivers/iq151.c
r12231r12232
120120static ADDRESS_MAP_START(iq151_mem, AS_PROGRAM, 8, iq151_state)
121121   ADDRESS_MAP_UNMAP_HIGH
122122   AM_RANGE( 0x0000, 0x07ff ) AM_RAMBANK("boot")
123   AM_RANGE( 0x0800, 0xdfff ) AM_RAM AM_REGION("maincpu", 0x0800) // puts FF into C800 so we can boot
124   AM_RANGE( 0xe000, 0xe7ff ) AM_ROM
125   AM_RANGE( 0xe800, 0xefff ) AM_RAM AM_BASE(m_p_videoram)
123   AM_RANGE( 0x0800, 0x7fff ) AM_RAM
124   AM_RANGE( 0xe800, 0xefff ) AM_RAM AM_BASE(m_p_videoram)      // on Video 32/64 cartridge
126125   AM_RANGE( 0xf000, 0xffff ) AM_ROM
127126ADDRESS_MAP_END
128127
r12231r12232
183182   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L)      PORT_CHAR('l') PORT_CHAR('L')
184183   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(". >") PORT_CODE(KEYCODE_STOP)      PORT_CHAR('.') PORT_CHAR('>')
185184   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER)      PORT_CHAR(13)
186   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x1d
187   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x1c
185   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Del") PORT_CODE(KEYCODE_DEL)      PORT_CHAR(UCHAR_MAMEKEY(DEL))
186   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Ins") PORT_CODE(KEYCODE_INSERT)      PORT_CHAR(UCHAR_MAMEKEY(INSERT))
188187   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x01
189188
190189   PORT_START("X5")
r12231r12232
194193   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("/ ?") PORT_CODE(KEYCODE_SLASH)      PORT_CHAR('/') PORT_CHAR('?')
195194   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("\\ |") PORT_CODE(KEYCODE_BACKSLASH)   PORT_CHAR('\\') PORT_CHAR('|')
196195   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x1e
197   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Backspace") PORT_CODE(KEYCODE_BACKSPACE)   PORT_CHAR(8)
196   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT)      PORT_CHAR(UCHAR_MAMEKEY(LEFT))
198197   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x02
199198
200199   PORT_START("X6")
201200   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("^ ~") PORT_CODE(KEYCODE_EQUALS)      PORT_CHAR('^') PORT_CHAR('~')
202201   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("[ {") PORT_CODE(KEYCODE_OPENBRACE)   PORT_CHAR('[') PORT_CHAR('{')
203202   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("] }") PORT_CODE(KEYCODE_CLOSEBRACE)   PORT_CHAR(']') PORT_CHAR('}')
204   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x1a
203   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN)      PORT_CHAR(UCHAR_MAMEKEY(DOWN))
205204   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x05
206205   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x0b
207   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x0c
206   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Home") PORT_CODE(KEYCODE_HOME)      PORT_CHAR(UCHAR_MAMEKEY(HOME))
208207   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x04
209208
210209   PORT_START("X7")
r12231r12232
213212   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(": *") PORT_CODE(KEYCODE_QUOTE)      PORT_CHAR(':') PORT_CHAR('*')
214213   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Space") PORT_CODE(KEYCODE_SPACE)      PORT_CHAR(' ')
215214   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("_") PORT_CODE(KEYCODE_END) // its actually some sort of graphic character
216   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x19
217   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x18
215   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP)      PORT_CHAR(UCHAR_MAMEKEY(UP))
216   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Right") PORT_CODE(KEYCODE_RIGHT)   PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
218217   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED) // 0x03
219218
220219   PORT_START("X8")
r12231r12232
324323
325324         return IMAGE_INIT_PASS;
326325      }
326      else if (!strcmp(cart_type, "BASICG"))
327      {
328         // BASIC-G cartridge
329         address_space *space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM);
330         space->install_rom(0xb000, 0xbfff, image.get_software_region("rom_a"));
331         space->install_rom(0xc800, 0xe7ff, image.get_software_region("rom_b"));
332         return IMAGE_INIT_PASS;
333      }
327334      else
328335      {
329336         image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unknown cartridge type");

Previous 15994 Revisions Next


© 1998-2018 The MESS Team