Previous 199869 Revisions Next

r31909 Thursday 4th September, 2014 at 21:21:07 UTC by Fabio Priuli
(MESS) a800: added sketchy support for some more mappers.
only a few carts have actually improved, but it is a start. nw.
[hash]a800.xml
[src/emu/bus/a800]a800_carts.h a800_slot.c a800_slot.h oss.c oss.h rom.c rom.h
[src/mess/drivers]atari400.c

trunk/hash/a800.xml
r31908r31909
35283528   </software>
35293529
35303530   <software name="microcal" supported="no">
3531      <description>Microcalc XE v2.2 (Mexico)</description>
3531      <description>Microcalc XE v2.2 (Mex)</description>
35323532      <year>19??</year>
35333533      <publisher>Grupo SITSA</publisher>
35343534      <part name="cart" interface="a8bit_cart">
r31908r31909
51975197      <publisher>COVIDEA</publisher>
51985198      <info name="usage" value="Modem required (and a working Chemical Bank service, obviously inactive for decades)" />
51995199      <part name="cart" interface="a8bit_cart">
5200         <feature name="slot" value="N/A" />
5200         <feature name="slot" value="a800_16k" />
52015201         <dataarea name="rom" size="16384">
52025202            <rom name="target electronic banking.rom" size="16384" crc="60c2a5ae" sha1="3c4976c118a9aefba8f8895e9b8c818dbc641371" offset="0" />
52035203         </dataarea>
r31908r31909
52255225      <info name="serial" value="CXL4016" />
52265226      <sharedfeat name="compatibility" value="OSb"/>
52275227      <part name="cart" interface="a8bit_cart">
5228         <feature name="slot" value="N/A" />
5228         <feature name="slot" value="a800_tlink2" />
52295229         <dataarea name="rom" size="8192">
52305230            <rom name="telelink 2.rom" size="8192" crc="f0163f90" sha1="15d1dc9591b7306453087c94746ba1622e46d0ad" offset="0" /> <!-- Verified -->
52315231         </dataarea>
trunk/src/mess/drivers/atari400.c
r31908r31909
269269   DECLARE_READ8_MEMBER(atari_pia_pa_r);
270270   DECLARE_READ8_MEMBER(atari_pia_pb_r);
271271
272   DECLARE_READ8_MEMBER(read_d5xx);   // at least one cart type can enable/disable roms when reading
272273   DECLARE_WRITE8_MEMBER(disable_cart);
273274
274275   DECLARE_READ8_MEMBER(a600xl_low_r);
r31908r31909
17271728   }
17281729}
17291730
1731READ8_MEMBER(a400_state::read_d5xx)
1732{
1733   disable_cart(space, offset, 0);
1734   return 0xff;
1735}
1736
17301737WRITE8_MEMBER(a400_state::disable_cart)
17311738{
17321739   switch (m_cartslot->get_cart_type())
17331740   {
17341741      case A800_PHOENIX:
1742      case A800_BLIZZARD:
17351743         if (!m_cart_disabled)
17361744         {
17371745            m_cart_disabled = 1;
r31908r31909
17671775            }
17681776         }
17691777         break;
1778      case A800_TURBO64:
1779      case A800_TURBO128:
1780         if (offset & 0x10 && !m_cart_disabled)
1781         {
1782            m_cart_disabled = 1;
1783            setup_ram(2, m_ram->size());
1784         }
1785         else if (!(offset & 0x10))
1786         {
1787            if (m_cart_disabled)
1788            {
1789               m_cart_disabled = 0;
1790               m_maincpu->space(AS_PROGRAM).install_read_handler(0xa000, 0xbfff, read8_delegate(FUNC(a800_cart_slot_device::read_80xx),(a800_cart_slot_device*)m_cartslot));
1791               m_maincpu->space(AS_PROGRAM).unmap_write(0xa000, 0xbfff);
1792            }
1793           
1794            if ((offset & 0x0f) != m_last_offs)
1795            {
1796               // we enter here only if we are writing to a different offset than last time
1797               m_last_offs = offset & 0x0f;
1798               m_cartslot->write_d5xx(space, offset & 0x0f, data);
1799            }
1800         }
1801         break;
17701802      case A800_SPARTADOS:
17711803         // writes with offset & 8 are also used to enable/disable the subcart, so they go through!
17721804         m_cartslot->write_d5xx(space, offset, data);
17731805         break;         
17741806      case A800_OSSM091:
1807      case A800_OSS8K:
17751808         if ((offset & 0x9) == 0x08)
17761809            setup_ram(2, m_ram->size());
17771810         else
r31908r31909
17811814            m_cartslot->write_d5xx(space, offset, data);
17821815         }
17831816         break;
1817      case A800_MICROCALC:
1818         m_cart_disabled = (m_cart_disabled + 1) % 5;
1819         if (m_cart_disabled == 4)
1820            setup_ram(2, m_ram->size());
1821         else
1822         {
1823            m_maincpu->space(AS_PROGRAM).install_read_handler(0xa000, 0xbfff, read8_delegate(FUNC(a800_cart_slot_device::read_80xx),(a800_cart_slot_device*)m_cartslot));
1824            m_maincpu->space(AS_PROGRAM).unmap_write(0xa000, 0xbfff);
1825            m_cartslot->write_d5xx(space, offset, m_cart_disabled);
1826         }
1827         break;
17841828      default:
17851829         break;
17861830   }   
r31908r31909
18181862      case A800_OSS034M:
18191863      case A800_OSS043M:
18201864      case A800_OSSM091:
1865      case A800_OSS8K:
1866      case A800_TURBO64:
1867      case A800_TURBO128:
18211868         m_maincpu->space(AS_PROGRAM).install_read_handler(0xa000, 0xbfff, read8_delegate(FUNC(a800_cart_slot_device::read_80xx),(a800_cart_slot_device*)m_cartslot));
18221869         m_maincpu->space(AS_PROGRAM).unmap_write(0xa000, 0xbfff);
18231870         m_maincpu->space(AS_PROGRAM).install_write_handler(0xd500, 0xd5ff, write8_delegate(FUNC(a400_state::disable_cart), this));
18241871         break;
1872      case A800_MICROCALC:
1873         // this can also disable ROM when reading in 0xd500-0xd5ff
1874         m_maincpu->space(AS_PROGRAM).install_read_handler(0xa000, 0xbfff, read8_delegate(FUNC(a800_cart_slot_device::read_80xx),(a800_cart_slot_device*)m_cartslot));
1875         m_maincpu->space(AS_PROGRAM).unmap_write(0xa000, 0xbfff);
1876         m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xd500, 0xd5ff, read8_delegate(FUNC(a400_state::read_d5xx), this), write8_delegate(FUNC(a400_state::disable_cart), this));
1877         break;
18251878      case A800_EXPRESS:
18261879         m_maincpu->space(AS_PROGRAM).install_read_handler(0xa000, 0xbfff, read8_delegate(FUNC(a800_cart_slot_device::read_80xx),(a800_cart_slot_device*)m_cartslot));
18271880         m_maincpu->space(AS_PROGRAM).unmap_write(0xa000, 0xbfff);
r31908r31909
18421895         m_maincpu->space(AS_PROGRAM).unmap_write(0xa000, 0xbfff);
18431896         m_maincpu->space(AS_PROGRAM).install_write_handler(0xd5e0, 0xd5ef, write8_delegate(FUNC(a400_state::disable_cart), this));
18441897         break;
1898      case A800_TELELINK2:
1899         m_maincpu->space(AS_PROGRAM).install_read_handler(0x8000, 0xbfff, read8_delegate(FUNC(a800_cart_slot_device::read_80xx),(a800_cart_slot_device*)m_cartslot));
1900         m_maincpu->space(AS_PROGRAM).install_write_handler(0x9000, 0x90ff, write8_delegate(FUNC(a800_cart_slot_device::write_80xx),(a800_cart_slot_device*)m_cartslot));
1901         m_maincpu->space(AS_PROGRAM).unmap_write(0xa000, 0xbfff);
1902         m_maincpu->space(AS_PROGRAM).install_read_handler(0xd501, 0xd501, read8_delegate(FUNC(a800_cart_slot_device::read_d5xx),(a800_cart_slot_device*)m_cartslot));
1903         m_maincpu->space(AS_PROGRAM).install_write_handler(0xd502, 0xd502, write8_delegate(FUNC(a800_cart_slot_device::write_d5xx),(a800_cart_slot_device*)m_cartslot));
1904         break;
1905      case A800_BLIZZARD:
1906         m_maincpu->space(AS_PROGRAM).install_read_handler(0x8000, 0xbfff, read8_delegate(FUNC(a800_cart_slot_device::read_80xx),(a800_cart_slot_device*)m_cartslot));
1907         m_maincpu->space(AS_PROGRAM).unmap_write(0x8000, 0xbfff);
1908         m_maincpu->space(AS_PROGRAM).install_write_handler(0xd500, 0xd5ff, write8_delegate(FUNC(a400_state::disable_cart), this));
1909         break;
18451910      case A800_XEGS:
18461911         m_maincpu->space(AS_PROGRAM).install_read_handler(0x8000, 0xbfff, read8_delegate(FUNC(a800_cart_slot_device::read_80xx),(a800_cart_slot_device*)m_cartslot));
18471912         m_maincpu->space(AS_PROGRAM).unmap_write(0x8000, 0xbfff);
trunk/src/emu/bus/a800/rom.c
r31908r31909
2020const device_type A800_ROM_BBSB = &device_creator<a800_rom_bbsb_device>;
2121const device_type A800_ROM_WILLIAMS = &device_creator<a800_rom_williams_device>;
2222const device_type A800_ROM_EXPRESS = &device_creator<a800_rom_express_device>;
23const device_type A800_ROM_TURBO = &device_creator<a800_rom_turbo_device>;
24const device_type A800_ROM_TELELINK2 = &device_creator<a800_rom_telelink2_device>;
25const device_type A800_ROM_MICROCALC = &device_creator<a800_rom_microcalc_device>;
2326const device_type XEGS_ROM = &device_creator<xegs_rom_device>;
2427const device_type A5200_ROM_2CHIPS = &device_creator<a5200_rom_2chips_device>;
2528const device_type A5200_ROM_BBSB = &device_creator<a5200_rom_bbsb_device>;
r31908r31909
6366}
6467
6568
69a800_rom_turbo_device::a800_rom_turbo_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
70               : a800_rom_device(mconfig, A800_ROM_TURBO, "Atari 800 64K ROM Carts Turbosoft", tag, owner, clock, "a800_turbo", __FILE__)
71{
72}
73
74
75a800_rom_telelink2_device::a800_rom_telelink2_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
76               : a800_rom_device(mconfig, A800_ROM_TELELINK2, "Atari 800 64K ROM Cart Telelink II", tag, owner, clock, "a800_tlink2", __FILE__)
77{
78}
79
80
81a800_rom_microcalc_device::a800_rom_microcalc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
82               : a800_rom_device(mconfig, A800_ROM_MICROCALC, "Atari 800 64K ROM Cart SITSA MicroCalc", tag, owner, clock, "a800_sitsa", __FILE__)
83{
84}
85
86
6687a5200_rom_2chips_device::a5200_rom_2chips_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
6788               : a800_rom_device(mconfig, A5200_ROM_2CHIPS, "Atari 5200 ROM Cart 16K in 2 Chips", tag, owner, clock, "a5200_16k2c", __FILE__)
6889{
r31908r31909
131152}
132153
133154
155void a800_rom_turbo_device::device_start()
156{
157   save_item(NAME(m_bank));
158}
159
160void a800_rom_turbo_device::device_reset()
161{
162   m_bank = 0;
163}
164
165
166void a800_rom_microcalc_device::device_start()
167{
168   save_item(NAME(m_bank));
169}
170
171void a800_rom_microcalc_device::device_reset()
172{
173   m_bank = 0;
174}
175
176
134177void a5200_rom_bbsb_device::device_start()
135178{
136179   save_item(NAME(m_banks));
r31908r31909
265308}
266309
267310
311/*-------------------------------------------------
312 
313 Turbosoft 64K / 128K
314 
315 
316 -------------------------------------------------*/
317
318READ8_MEMBER(a800_rom_turbo_device::read_80xx)
319{
320   return m_rom[(offset & 0x1fff) + (m_bank * 0x2000)];
321}
322
323WRITE8_MEMBER(a800_rom_turbo_device::write_d5xx)
324{
325   m_bank = offset & m_bank_mask;
326}
327
328
329/*-------------------------------------------------
330 
331 Telelink II
332 
333 
334 -------------------------------------------------*/
335
336READ8_MEMBER(a800_rom_telelink2_device::read_80xx)
337{
338   if (offset >= 0x2000)
339      return m_rom[offset & 0x1fff];
340   if (offset >= 0x1000 && offset < 0x1100)
341      return m_nvram[offset & 0xff];
342
343   return 0xff;
344}
345
346WRITE8_MEMBER(a800_rom_telelink2_device::write_80xx)
347{
348   m_nvram[offset & 0xff] = data | 0xf0;   // low 4bits only
349}
350
351READ8_MEMBER(a800_rom_telelink2_device::read_d5xx)
352{
353   // this should affect NVRAM enable / save
354   return 0xff;
355}
356
357WRITE8_MEMBER(a800_rom_telelink2_device::write_d5xx)
358{
359   // this should affect NVRAM enable / save
360}
361
362
363
364/*-------------------------------------------------
365 
366 SITSA Microcalc
367 
368 
369 -------------------------------------------------*/
370
371READ8_MEMBER(a800_rom_microcalc_device::read_80xx)
372{
373   return m_rom[(offset & 0x1fff) + (m_bank * 0x2000)];
374}
375
376WRITE8_MEMBER(a800_rom_microcalc_device::write_d5xx)
377{
378   m_bank = data;
379}
380
381
382
268383// Atari 5200
269384
270385
trunk/src/emu/bus/a800/a800_slot.h
r31908r31909
1616   A800_OSS034M,
1717   A800_OSS043M,
1818   A800_OSSM091,
19   A800_OSS8K,
1920   A800_PHOENIX,
2021   A800_XEGS,   
2122   A800_BBSB,   
r31908r31909
2324   A800_WILLIAMS,
2425   A800_EXPRESS,
2526   A800_SPARTADOS,
27   A800_BLIZZARD,
28   A800_TURBO64,
29   A800_TURBO128,
30   A800_TELELINK2,
31   A800_MICROCALC,
32   A800_CORINA,
2633   A5200_4K,
2734   A5200_8K,
2835   A5200_16K,
trunk/src/emu/bus/a800/rom.h
r31908r31909
8282};
8383
8484
85// ======================> a800_rom_blizzard_device
86
87class a800_rom_blizzard_device : public a800_rom_device
88{
89public:
90   // construction/destruction
91   a800_rom_blizzard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
92   
93   // device-level overrides
94   virtual void device_start();
95   virtual void device_reset();
96   
97   virtual DECLARE_READ8_MEMBER(read_80xx);
98};
99
100
101// ======================> a800_rom_turbo_device
102
103class a800_rom_turbo_device : public a800_rom_device
104{
105public:
106   // construction/destruction
107   a800_rom_turbo_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
108   
109   // device-level overrides
110   virtual void device_start();
111   virtual void device_reset();
112   
113   virtual DECLARE_READ8_MEMBER(read_80xx);
114   virtual DECLARE_WRITE8_MEMBER(write_d5xx);
115   
116protected:
117   int m_bank;
118};
119
120
121// ======================> a800_rom_telelink2_device
122
123class a800_rom_telelink2_device : public a800_rom_device
124{
125public:
126   // construction/destruction
127   a800_rom_telelink2_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
128   
129   virtual DECLARE_READ8_MEMBER(read_80xx);
130   virtual DECLARE_WRITE8_MEMBER(write_80xx);
131   virtual DECLARE_READ8_MEMBER(read_d5xx);
132   virtual DECLARE_WRITE8_MEMBER(write_d5xx);
133};
134
135
136// ======================> a800_rom_microcalc_device
137
138class a800_rom_microcalc_device : public a800_rom_device
139{
140public:
141   // construction/destruction
142   a800_rom_microcalc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
143   
144   // device-level overrides
145   virtual void device_start();
146   virtual void device_reset();
147   
148   virtual DECLARE_READ8_MEMBER(read_80xx);
149   virtual DECLARE_WRITE8_MEMBER(write_d5xx);
150   
151protected:
152   int m_bank;
153};
154
155
85156// ======================> xegs_rom_device
86157
87158class xegs_rom_device : public a800_rom_device
r31908r31909
140211extern const device_type A800_ROM_BBSB;
141212extern const device_type A800_ROM_WILLIAMS;
142213extern const device_type A800_ROM_EXPRESS;
214extern const device_type A800_ROM_TURBO;
215extern const device_type A800_ROM_TELELINK2;
216extern const device_type A800_ROM_MICROCALC;
143217extern const device_type XEGS_ROM;
144218extern const device_type A5200_ROM_2CHIPS;
145219extern const device_type A5200_ROM_BBSB;
trunk/src/emu/bus/a800/oss.c
r31908r31909
1313//  constructor
1414//-------------------------------------------------
1515
16const device_type A800_ROM_OSS8K = &device_creator<a800_rom_oss8k_device>;
1617const device_type A800_ROM_OSS34 = &device_creator<a800_rom_oss34_device>;
1718const device_type A800_ROM_OSS43 = &device_creator<a800_rom_oss43_device>;
1819const device_type A800_ROM_OSS91 = &device_creator<a800_rom_oss91_device>;
1920
2021
22a800_rom_oss8k_device::a800_rom_oss8k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
23               : a800_rom_device(mconfig, A800_ROM_OSS8K, "Atari 800 ROM Carts OSS 8K", tag, owner, clock, "a800_oss8k", __FILE__)
24{
25}
26
27
2128a800_rom_oss34_device::a800_rom_oss34_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
2229               : a800_rom_device(mconfig, A800_ROM_OSS34, "Atari 800 ROM Carts OSS-034M", tag, owner, clock, "a800_034m", __FILE__)
2330{
r31908r31909
3744
3845
3946
47void a800_rom_oss8k_device::device_start()
48{
49   save_item(NAME(m_bank));
50}
51
52void a800_rom_oss8k_device::device_reset()
53{
54   m_bank = 0;
55}
56
57
4058void a800_rom_oss34_device::device_start()
4159{
4260   save_item(NAME(m_bank));
r31908r31909
7694
7795/*-------------------------------------------------
7896 
97 OSS 8K
98 
99 This is used by The Writer's Tool only.
100 
101 -------------------------------------------------*/
102
103READ8_MEMBER(a800_rom_oss8k_device::read_80xx)
104{
105   if (offset >= 0x1000)
106      return m_rom[offset & 0xfff];
107   else
108      return m_rom[(offset & 0xfff) + (m_bank * 0x1000)];
109}
110
111WRITE8_MEMBER(a800_rom_oss8k_device::write_d5xx)
112{
113   switch (offset & 0x09)
114   {
115      case 0:
116      case 1:
117         m_bank = 1;
118         break;
119      case 9:
120         m_bank = 0;
121         break;
122      default:
123         break;
124   }
125}
126
127
128/*-------------------------------------------------
129 
79130 OSS 034M
80131 
81132 This apparently comes from a dump with the wrong bank order...
trunk/src/emu/bus/a800/a800_carts.h
r31908r31909
1414   SLOT_INTERFACE_INTERNAL("a800_16k",      A800_ROM)
1515   SLOT_INTERFACE_INTERNAL("a800_phoenix",  A800_ROM)   // not really emulated at this stage
1616   SLOT_INTERFACE_INTERNAL("a800_bbsb",     A800_ROM_BBSB)
17   SLOT_INTERFACE_INTERNAL("a800_oss8k",    A800_ROM_OSS8K)
1718   SLOT_INTERFACE_INTERNAL("a800_oss034m",  A800_ROM_OSS34)
1819   SLOT_INTERFACE_INTERNAL("a800_oss043m",  A800_ROM_OSS43)
1920   SLOT_INTERFACE_INTERNAL("a800_ossm091",  A800_ROM_OSS91)
r31908r31909
2122   SLOT_INTERFACE_INTERNAL("a800_diamond",  A800_ROM_EXPRESS)
2223   SLOT_INTERFACE_INTERNAL("a800_express",  A800_ROM_EXPRESS)
2324   SLOT_INTERFACE_INTERNAL("a800_sparta",   A800_ROM_SPARTADOS)   // this is a passthru cart with unemulated (atm) subslot
25   SLOT_INTERFACE_INTERNAL("a800_blizzard", A800_ROM)
26   SLOT_INTERFACE_INTERNAL("a800_turbo64",  A800_ROM_TURBO)
27   SLOT_INTERFACE_INTERNAL("a800_turbo128", A800_ROM_TURBO)
28   SLOT_INTERFACE_INTERNAL("a800_tlink2",   A800_ROM_TELELINK2)
29   SLOT_INTERFACE_INTERNAL("a800_sitsa",    A800_ROM_MICROCALC)
30   SLOT_INTERFACE_INTERNAL("a800_corina",   A800_ROM)   // NOT SUPPORTED YET!
2431   SLOT_INTERFACE_INTERNAL("xegs",          XEGS_ROM)
2532SLOT_INTERFACE_END
2633
trunk/src/emu/bus/a800/a800_slot.c
r31908r31909
192192   { A800_OSS034M,   "a800_oss034m" },
193193   { A800_OSS043M,   "a800_oss043m" },
194194   { A800_OSSM091,   "a800_ossm091" },
195   { A800_OSS8K,     "a800_oss8k" },
195196   { A800_PHOENIX,   "a800_phoenix" },
196197   { A800_XEGS,      "xegs" },
197198   { A800_BBSB,      "a800_bbsb" },
r31908r31909
199200   { A800_WILLIAMS,  "a800_williams" },
200201   { A800_EXPRESS,   "a800_express" },
201202   { A800_SPARTADOS, "a800_sparta" },
203   { A800_TURBO64,   "a800_turbo64" },
204   { A800_TURBO128,  "a800_turbo128" },
205   { A800_BLIZZARD,  "a800_blizzard" },
206   { A800_TELELINK2, "a800_tlink2" },
207   { A800_MICROCALC, "a800_sitsa" },
208   { A800_CORINA,    "a800_corina" },
202209   { A800_8K_RIGHT,  "a800_8k_right" },
203210   { A5200_4K,       "a5200" },
204211   { A5200_8K,       "a5200" },
r31908r31909
282289         ROM = m_cart->get_rom_base();
283290         fread(ROM, len);
284291      }
292      if (m_type == A800_TELELINK2)
293         m_cart->nvram_alloc(0x100);
294
285295      printf("%s loaded cartridge '%s' size %dK\n", machine().system().name, filename(), len/1024);
286296   }
287297   return IMAGE_INIT_PASS;
r31908r31909
357367      case 39:
358368         type = A800_PHOENIX;
359369         break;
360      // Atari 5200 CART files
370      case 40:
371         type = A800_BLIZZARD;
372         break;
373      case 44:
374         type = A800_OSS8K;
375         break;
376      case 50:
377         type = A800_TURBO64;
378         break;
379      case 51:
380         type = A800_TURBO128;
381         break;
382      case 52:
383         type = A800_MICROCALC;
384         break;
385         // Atari 5200 CART files
361386      case 4:
362387         type = A5200_32K;
363388         break;
trunk/src/emu/bus/a800/oss.h
r31908r31909
44#include "rom.h"
55
66
7// ======================> a800_rom_oss8k_device
8
9class a800_rom_oss8k_device : public a800_rom_device
10{
11public:
12   // construction/destruction
13   a800_rom_oss8k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
14   
15   // device-level overrides
16   virtual void device_start();
17   virtual void device_reset();
18   
19   virtual DECLARE_READ8_MEMBER(read_80xx);
20   virtual DECLARE_WRITE8_MEMBER(write_d5xx);
21   
22protected:
23   int m_bank;
24};
25
26
727// ======================> a800_rom_oss34_device
828
929class a800_rom_oss34_device : public a800_rom_device
r31908r31909
6686
6787
6888// device type definition
89extern const device_type A800_ROM_OSS8K;
6990extern const device_type A800_ROM_OSS34;
7091extern const device_type A800_ROM_OSS43;
7192extern const device_type A800_ROM_OSS91;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team