Previous 199869 Revisions Next

r32432 Saturday 27th September, 2014 at 09:21:00 UTC by Fabio Priuli
(MESS) timex.c: added software list for DOCK carts. [Fabio Priuli]
[hash]timex_dock.xml*
[src/mess/drivers]timex.c

trunk/hash/timex_dock.xml
r0r32432
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3
4<softwarelist name="timex_dock" description="Timex Sinclair TS-2068 DOCK cartridges">
5
6
7   <software name="android" supported="no">
8      <description>Androids</description>
9      <year>19??</year>
10      <publisher>&lt;unknown&gt;</publisher>
11      <part name="cart" interface="timex_cart">
12         <dataarea name="rom" size="65536">
13            <rom name="androids.bin" size="8192" crc="fec4c2b4" sha1="52b1d4c8316adf74aeb685f54c789a90015215d6" offset="0x8000" />
14         </dataarea>
15      </part>
16   </software>
17
18   <software name="backgamm" supported="no">
19      <description>Backgammon</description>
20      <year>19??</year>
21      <publisher>&lt;unknown&gt;</publisher>
22      <part name="cart" interface="timex_cart">
23         <dataarea name="rom" size="65536">
24            <rom name="backgammon.bin" size="16384" crc="2c125684" sha1="20d8be438259958a1f0eb0a3852b39fbd4c02c8c" offset="0x0000" />
25         </dataarea>
26      </part>
27   </software>
28
29   <software name="budgeter" supported="no">
30      <description>Budgeter</description>
31      <year>19??</year>
32      <publisher>&lt;unknown&gt;</publisher>
33      <part name="cart" interface="timex_cart">
34         <dataarea name="rom" size="65536">
35            <rom name="budgeter.bin" size="16384" crc="9b5e4565" sha1="bead4247e05f22a26cdc6a835a62b1277685b709" offset="0x8000" />
36         </dataarea>
37      </part>
38   </software>
39
40   <software name="casino1" supported="no">
41      <description>Casino1</description>
42      <year>19??</year>
43      <publisher>&lt;unknown&gt;</publisher>
44      <part name="cart" interface="timex_cart">
45         <dataarea name="rom" size="65536">
46            <rom name="casino1.bin" size="24576" crc="3da6d3c9" sha1="f84ba979b94baf092bae70cfa1ec8f276b48885f" offset="0x8000" />
47         </dataarea>
48      </part>
49   </software>
50
51   <software name="chess" supported="no">
52      <description>Chess</description>
53      <year>19??</year>
54      <publisher>&lt;unknown&gt;</publisher>
55      <part name="cart" interface="timex_cart">
56         <dataarea name="rom" size="65536">
57            <rom name="chess.bin" size="16384" crc="e64367ef" sha1="cf7e02a6c20ee0d027f4676e2a1e7aed5d6ced95" offset="0x0000" />
58         </dataarea>
59      </part>
60   </software>
61
62   <software name="crazybug" supported="no">
63      <description>Crazy Bugs</description>
64      <year>19??</year>
65      <publisher>&lt;unknown&gt;</publisher>
66      <part name="cart" interface="timex_cart">
67         <dataarea name="rom" size="65536">
68            <rom name="crazy bugs.bin" size="8192" crc="a440e8f2" sha1="c0f63b7492e542a3bb955a787e7394dc5a3e6fde" offset="0x8000" />
69         </dataarea>
70      </part>
71   </software>
72
73   <software name="etoolkit" supported="no">
74      <description>eToolkit</description>
75      <year>19??</year>
76      <publisher>&lt;unknown&gt;</publisher>
77      <part name="cart" interface="timex_cart">
78         <dataarea name="rom" size="65536">
79            <rom name="etoolkit.bin" size="24576" crc="e647e94f" sha1="c41455daa08ba47d4eb7501c3ed73593a65255d7" offset="0x8000" />
80         </dataarea>
81      </part>
82   </software>
83
84   <software name="fsim" supported="no">
85      <description>Flight Simulator</description>
86      <year>19??</year>
87      <publisher>&lt;unknown&gt;</publisher>
88      <part name="cart" interface="timex_cart">
89         <dataarea name="rom" size="65536">
90            <rom name="flight simulator.bin" size="32768" crc="e1f2e4cc" sha1="30a78405f88041d36f43e2526fb01539bb469458" offset="0x8000" />
91         </dataarea>
92      </part>
93   </software>
94
95   <software name="gyruss" supported="no">
96      <description>Gyruss</description>
97      <year>19??</year>
98      <publisher>&lt;unknown&gt;</publisher>
99      <part name="cart" interface="timex_cart">
100         <dataarea name="rom" size="65536">
101            <rom name="gyruss.bin" size="16384" crc="b2719977" sha1="d950810bf6b729edbc8a92e1e6bdc609cb4d5895" offset="0x0000" />
102         </dataarea>
103      </part>
104   </software>
105
106   <software name="horacesp" supported="no">
107      <description>Horace &amp; the Spiders</description>
108      <year>19??</year>
109      <publisher>&lt;unknown&gt;</publisher>
110      <part name="cart" interface="timex_cart">
111         <dataarea name="rom" size="65536">
112            <rom name="horace and the spiders.bin" size="16384" crc="86e3366d" sha1="904f4e566911b242f967f7d13a16fd81ff1255cd" offset="0x0000" />
113         </dataarea>
114      </part>
115   </software>
116
117   <software name="horace" supported="no">
118      <description>Hungry Horace</description>
119      <year>19??</year>
120      <publisher>&lt;unknown&gt;</publisher>
121      <part name="cart" interface="timex_cart">
122         <dataarea name="rom" size="65536">
123            <rom name="hungry horace.bin" size="16384" crc="1b31125f" sha1="429270c85b5692d9cdb173a7ce6f297b8f35c4c3" offset="0x0000" />
124         </dataarea>
125      </part>
126   </software>
127
128   <software name="jupitace" supported="no">
129      <description>Jupiter ACE Emulator</description>
130      <year>19??</year>
131      <publisher>&lt;unknown&gt;</publisher>
132      <part name="cart" interface="timex_cart">
133         <dataarea name="rom" size="65536">
134            <rom name="jupiter ace emulator.bin" size="16384" crc="905c71fc" sha1="88544ccbc8acdf23adbfb0a37f34283702b09348" offset="0x0000" />
135         </dataarea>
136      </part>
137   </software>
138
139   <software name="locomotn" supported="no">
140      <description>Loco Motion</description>
141      <year>19??</year>
142      <publisher>&lt;unknown&gt;</publisher>
143      <part name="cart" interface="timex_cart">
144         <dataarea name="rom" size="65536">
145            <rom name="loco motion.bin" size="16384" crc="0e0302ca" sha1="0974f75f99d2acb2f3e767c26a2efbef5eb93235" offset="0x0000" />
146         </dataarea>
147      </part>
148   </software>
149
150   <software name="montezum" supported="no">
151      <description>Montezuma's Revenge</description>
152      <year>19??</year>
153      <publisher>&lt;unknown&gt;</publisher>
154      <part name="cart" interface="timex_cart">
155         <dataarea name="rom" size="65536">
156            <rom name="montezuma's revenge.bin" size="8192" crc="683f9f93" sha1="406e1ba6eeb94142696d22293782bfd067b2233c" offset="0x0000" />
157         </dataarea>
158      </part>
159   </software>
160
161   <software name="mterm" supported="no">
162      <description>MTERM</description>
163      <year>19??</year>
164      <publisher>&lt;unknown&gt;</publisher>
165      <part name="cart" interface="timex_cart">
166         <dataarea name="rom" size="65536">
167            <rom name="mterm.bin" size="8192" crc="8e0be19f" sha1="8b18268601c895dc90e79ec9605ed40925832979" offset="0x8000" />
168         </dataarea>
169      </part>
170   </software>
171
172   <software name="penetrat" supported="no">
173      <description>Penetrator</description>
174      <year>19??</year>
175      <publisher>&lt;unknown&gt;</publisher>
176      <part name="cart" interface="timex_cart">
177         <dataarea name="rom" size="65536">
178            <rom name="penetrator.bin" size="32768" crc="19cb2f78" sha1="826d03e2cfc176047a2e913315115d5f71c9ae2a" offset="0x0000" />
179         </dataarea>
180      </part>
181   </software>
182
183   <software name="pinball" supported="no">
184      <description>Pinball</description>
185      <year>19??</year>
186      <publisher>&lt;unknown&gt;</publisher>
187      <part name="cart" interface="timex_cart">
188         <dataarea name="rom" size="65536">
189            <rom name="pinball.bin" size="24576" crc="2fb6a452" sha1="ab74fbe21df513e52aef960be018369ebfb3c33f" offset="0x0000" />
190         </dataarea>
191      </part>
192   </software>
193
194   <software name="planet" supported="no">
195      <description>Planetoids</description>
196      <year>19??</year>
197      <publisher>&lt;unknown&gt;</publisher>
198      <part name="cart" interface="timex_cart">
199         <dataarea name="rom" size="65536">
200            <rom name="planetoids.bin" size="16384" crc="a6c9cc94" sha1="70e05f2d1aaad79cfa2d90111ba0a58cca4cacd9" offset="0x0000" />
201         </dataarea>
202      </part>
203   </software>
204
205   <software name="popeye" supported="no">
206      <description>Popeye</description>
207      <year>19??</year>
208      <publisher>&lt;unknown&gt;</publisher>
209      <part name="cart" interface="timex_cart">
210         <dataarea name="rom" size="65536">
211            <rom name="popeye.bin" size="8192" crc="dae064c0" sha1="dc0ab2c30a86647529d92a737d24f51f4de7ae19" offset="0x0000" />
212         </dataarea>
213      </part>
214   </software>
215
216   <software name="qbert" supported="no">
217      <description>Q*Bert</description>
218      <year>19??</year>
219      <publisher>&lt;unknown&gt;</publisher>
220      <part name="cart" interface="timex_cart">
221         <dataarea name="rom" size="65536">
222            <rom name="qbert.bin" size="8192" crc="58b45e9d" sha1="d748e5b504f3ea4e0cf472dca1746c2654361863" offset="0x0000" />
223         </dataarea>
224      </part>
225   </software>
226
227   <software name="jedi" supported="no">
228      <description>Return Of The Jedi - Death Star Battle</description>
229      <year>19??</year>
230      <publisher>&lt;unknown&gt;</publisher>
231      <part name="cart" interface="timex_cart">
232         <dataarea name="rom" size="65536">
233            <rom name="return of the jedi - death star battle.bin" size="8192" crc="0fafa2b8" sha1="27a50cf2a3272092f3bd350cb0d53619940f4453" offset="0x0000" />
234         </dataarea>
235      </part>
236   </software>
237
238    <!-- TODO: add support for RAM in this cart (0xa000-0xffff) -->
239   <software name="rwp32" supported="no">
240      <description>rWP32</description>
241      <year>19??</year>
242      <publisher>&lt;unknown&gt;</publisher>
243      <part name="cart" interface="timex_cart">
244         <dataarea name="rom" size="65536">
245            <rom name="rwp32.bin" size="8192" crc="a833d73b" sha1="d1348382e6d50ad528577d22200c3455d59e2566" offset="0x8000" />
246         </dataarea>
247      </part>
248   </software>
249
250   <software name="unicorn" supported="no">
251      <description>Shadow of the Unicorn</description>
252      <year>19??</year>
253      <publisher>&lt;unknown&gt;</publisher>
254      <part name="cart" interface="timex_cart">
255         <dataarea name="rom" size="65536">
256            <rom name="shadow of the unicorn.bin" size="65536" crc="9f7af8ef" sha1="676c9142e11b3b706f64b7606aa084f1bb217d67" offset="0x0000" />
257         </dataarea>
258      </part>
259   </software>
260
261   <software name="spacerai" supported="no">
262      <description>Space Raiders</description>
263      <year>19??</year>
264      <publisher>&lt;unknown&gt;</publisher>
265      <part name="cart" interface="timex_cart">
266         <dataarea name="rom" size="65536">
267            <rom name="space raiders.bin" size="16384" crc="86d7a08b" sha1="8e1da4c183e9af2ba11b0745820fff4017cbad19" offset="0x0000" />
268         </dataarea>
269      </part>
270   </software>
271
272   <software name="starwars" supported="no">
273      <description>Star Wars - The Arcade Game</description>
274      <year>19??</year>
275      <publisher>&lt;unknown&gt;</publisher>
276      <part name="cart" interface="timex_cart">
277         <dataarea name="rom" size="65536">
278            <rom name="star wars - the arcade game.bin" size="16384" crc="22cd482b" sha1="c12f38c382fa2a07430fe6daaa3acd96820aa76d" offset="0x0000" />
279         </dataarea>
280      </part>
281   </software>
282
283   <software name="statecap" supported="no">
284      <description>States and Capitals</description>
285      <year>19??</year>
286      <publisher>&lt;unknown&gt;</publisher>
287      <part name="cart" interface="timex_cart">
288         <dataarea name="rom" size="65536">
289            <rom name="states and capitals.bin" size="32768" crc="04bf4a3b" sha1="0ea77fb538bce31cd90f8f926deda7b90d99cf99" offset="0x8000" />
290         </dataarea>
291      </part>
292   </software>
293
294   <software name="superhzd" supported="no">
295      <description>Super Hot-Z Disassembler v2.51 (AROS)</description>
296      <year>19??</year>
297      <publisher>&lt;unknown&gt;</publisher>
298      <part name="cart" interface="timex_cart">
299         <dataarea name="rom" size="65536">
300            <rom name="superhotzdisassemblerv2.51-aros.bin" size="24576" crc="7bf239be" sha1="7c04c6e861b4b82ee3fd5bf21b17d6dd7d893386" offset="0x8000" />
301         </dataarea>
302      </part>
303   </software>
304
305   <software name="swordfgt" supported="no">
306      <description>Swordfight</description>
307      <year>19??</year>
308      <publisher>&lt;unknown&gt;</publisher>
309      <part name="cart" interface="timex_cart">
310         <dataarea name="rom" size="65536">
311            <rom name="swordfight.bin" size="24576" crc="95155511" sha1="69e7e0111ed8d8925314deb661990bf8c9eb5cc4" offset="0x0000" />
312         </dataarea>
313      </part>
314   </software>
315
316   <software name="tasword2" supported="no">
317      <description>Tasword II</description>
318      <year>19??</year>
319      <publisher>&lt;unknown&gt;</publisher>
320      <part name="cart" interface="timex_cart">
321         <dataarea name="rom" size="65536">
322            <rom name="tasword ii.bin" size="16384" crc="7b2a0e31" sha1="2bdf3c10a70e4a02410d4f20cbc1c0aaa444d1e2" offset="0x8000" />
323         </dataarea>
324      </part>
325   </software>
326
327<!-- This must map on the HOME memory?!? How does this actually work? -->
328   <software name="timeword" supported="no">
329      <description>TimeWord</description>
330      <year>19??</year>
331      <publisher>&lt;unknown&gt;</publisher>
332      <part name="cart" interface="timex_cart">
333         <dataarea name="rom" size="65536">
334            <rom name="timeword.bin" size="16384" crc="a767d39e" sha1="5c606380234f867aafd3d215982eabf374553118" offset="0x0000" />
335         </dataarea>
336      </part>
337   </software>
338
339   <software name="vucalc" supported="no">
340      <description>vu-calc</description>
341      <year>19??</year>
342      <publisher>&lt;unknown&gt;</publisher>
343      <part name="cart" interface="timex_cart">
344         <dataarea name="rom" size="65536">
345            <rom name="vu-calc.bin" size="8192" crc="7bbcc167" sha1="efc626c55125b8a8da527bd986ed9d4065973e8c" offset="0x0000" />
346         </dataarea>
347      </part>
348   </software>
349
350   <software name="vufile" supported="no">
351      <description>vu-file</description>
352      <year>19??</year>
353      <publisher>&lt;unknown&gt;</publisher>
354      <part name="cart" interface="timex_cart">
355         <dataarea name="rom" size="65536">
356            <rom name="vu-file.bin" size="16384" crc="94dafab6" sha1="1007aba595085bc46c406f933484a4dbbd0154bb" offset="0x0000" />
357         </dataarea>
358      </part>
359   </software>
360
361   <software name="zebraos" supported="no">
362      <description>Zebra OS 64</description>
363      <year>19??</year>
364      <publisher>&lt;unknown&gt;</publisher>
365      <part name="cart" interface="timex_cart">
366         <dataarea name="rom" size="65536">
367            <rom name="zebra os 64.bin" size="16384" crc="928a8207" sha1="335d2f858d5bbe63989a2df1620ab5838337cfbd" offset="0x0000" />
368         </dataarea>
369      </part>
370   </software>
371
372</softwarelist>
Property changes on: trunk/hash/timex_dock.xml
Added: svn:mime-type
   + text/xml
Added: svn:eol-style
   + native
trunk/src/mess/drivers/timex.c
r32431r32432
547547
548548   astring region_tag;
549549   m_dock_crt = memregion(region_tag.cpy(m_dock->tag()).cat(GENERIC_ROM_REGION_TAG));
550   m_dock_cart_type = (m_dock->exists()) ? TIMEX_CART_DOCK : TIMEX_CART_NONE;
550   m_dock_cart_type = m_dock_crt ? TIMEX_CART_DOCK : TIMEX_CART_NONE;
551551
552552   ts2068_update_memory();
553553   MACHINE_RESET_CALL_MEMBER(spectrum);
r32431r32432
592592DEVICE_IMAGE_LOAD_MEMBER( spectrum_state, timex_cart )
593593{
594594   UINT32 size = m_dock->common_get_size("rom");
595   UINT8 *DOCK;
596   int chunks_in_file = 0;
597   dynamic_buffer header;
598   header.resize(9);
599595
600   if (size % 0x2000 != 9)
596   if (image.software_entry() == NULL)
601597   {
602      image.seterror(IMAGE_ERROR_UNSPECIFIED, "File corrupted");
603      return IMAGE_INIT_FAIL;
604   }
605   if (image.software_entry() != NULL)
606   {
607      image.seterror(IMAGE_ERROR_UNSPECIFIED, "Loading from softlist is not supported yet");
608      return IMAGE_INIT_FAIL;
609   }
610   
611   m_dock->rom_alloc(0x10000, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
612   DOCK = m_dock->get_rom_base();
613
614   // check header
615   image.fread(header, 9);
616   
617   for (int i = 0; i < 8; i++)
618      if (header[i + 1] & 0x02) chunks_in_file++;
619   
620   if (chunks_in_file * 0x2000 + 0x09 != size)
621   {
622      image.seterror(IMAGE_ERROR_UNSPECIFIED, "File corrupted");
623      return IMAGE_INIT_FAIL;
624   }
625   
626   switch (header[0])
627   {
628      case 0x00:  logerror ("DOCK cart\n");
629         m_ram_chunks = 0;
630         for (int i = 0; i < 8; i++)
631         {
632            m_ram_chunks = m_ram_chunks | ((header[i + 1] & 0x01) << i);
633            if (header[i + 1] & 0x02)
634               image.fread(DOCK + i * 0x2000, 0x2000);
635            else
598      UINT8 *DOCK;
599      int chunks_in_file = 0;
600      dynamic_buffer header;
601      header.resize(9);
602     
603      if (size % 0x2000 != 9)
604      {
605         image.seterror(IMAGE_ERROR_UNSPECIFIED, "File corrupted");
606         return IMAGE_INIT_FAIL;
607      }
608      if (image.software_entry() != NULL)
609      {
610         image.seterror(IMAGE_ERROR_UNSPECIFIED, "Loading from softlist is not supported yet");
611         return IMAGE_INIT_FAIL;
612      }
613     
614      m_dock->rom_alloc(0x10000, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
615      DOCK = m_dock->get_rom_base();
616     
617      // check header
618      image.fread(header, 9);
619     
620      for (int i = 0; i < 8; i++)
621         if (header[i + 1] & 0x02) chunks_in_file++;
622     
623      if (chunks_in_file * 0x2000 + 0x09 != size)
624      {
625         image.seterror(IMAGE_ERROR_UNSPECIFIED, "File corrupted");
626         return IMAGE_INIT_FAIL;
627      }
628     
629      switch (header[0])
630      {
631         case 0x00:  logerror ("DOCK cart\n");
632            m_ram_chunks = 0;
633            for (int i = 0; i < 8; i++)
636634            {
637               if (header[i + 1] & 0x01)
638                  memset(DOCK + i * 0x2000, 0x00, 0x2000);
635               m_ram_chunks = m_ram_chunks | ((header[i + 1] & 0x01) << i);
636               if (header[i + 1] & 0x02)
637                  image.fread(DOCK + i * 0x2000, 0x2000);
639638               else
640                  memset(DOCK + i * 0x2000, 0xff, 0x2000);
639               {
640                  if (header[i + 1] & 0x01)
641                     memset(DOCK + i * 0x2000, 0x00, 0x2000);
642                  else
643                     memset(DOCK + i * 0x2000, 0xff, 0x2000);
644               }
641645            }
642         }
643         break;
644         
645      default:
646         image.seterror(IMAGE_ERROR_UNSPECIFIED, "Cart type not supported");
647         return IMAGE_INIT_FAIL;
646            break;
647           
648         default:
649            image.seterror(IMAGE_ERROR_UNSPECIFIED, "Cart type not supported");
650            return IMAGE_INIT_FAIL;
651      }
652
653      logerror ("Cart loaded [Chunks %02x]\n", m_ram_chunks);
648654   }
649   
650   logerror ("Cart loaded [Chunks %02x]\n", m_ram_chunks);
655   else
656   {
657      m_dock->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
658      memcpy(m_dock->get_rom_base(), image.get_software_region("rom"), size);
659   }
651660
652661   return IMAGE_INIT_PASS;
653662}
r32431r32432
695704
696705   /* cartridge */
697706   MCFG_DEVICE_REMOVE("cartslot")
698   MCFG_GENERIC_CARTSLOT_ADD("dockslot", generic_plain_slot, NULL)
699   MCFG_GENERIC_EXTENSIONS("dck")
707   MCFG_GENERIC_CARTSLOT_ADD("dockslot", generic_plain_slot, "timex_cart")
708   MCFG_GENERIC_EXTENSIONS("dck,bin")
700709   MCFG_GENERIC_LOAD(spectrum_state, timex_cart)
701710
711   /* Software lists */
712   MCFG_DEVICE_REMOVE("cart_list")
713   MCFG_SOFTWARE_LIST_ADD("cart_list", "timex_dock")
714
702715   /* internal ram */
703716   MCFG_RAM_MODIFY(RAM_TAG)
704717   MCFG_RAM_DEFAULT_SIZE("48K")

Previous 199869 Revisions Next


© 1997-2024 The MAME Team