Previous 199869 Revisions Next

r18477 Friday 12th October, 2012 at 07:30:33 UTC by Fabio Priuli
(MESS) samcoupe.c: modified the driver to not install / uninstall bank handlers,
greatly improving performaces (e.g. Manic Miner demo went from 20% to 380%
ingame). Plus added some very preliminary softlists. [David Haywood]

(MESS) spectrum_cass.xml: added very preliminary softlist containing some
interesting test case for emulation. [David Haywood]
[hash]samcoupe_cass.xml* samcoupe_flop.xml* spectrum_cass.xml*
[src/mess/drivers]samcoupe.c spectrum.c
[src/mess/includes]samcoupe.h
[src/mess/machine]samcoupe.c

trunk/hash/spectrum_cass.xml
r0r18477
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3
4<!-- Preliminary list.  There are something like 15,000 unique Spectrum games and countless re-releases, so creating a real list will require
5                        dedicated effort.   For the time being I'm just listing some important software and good test cases (custom protection
6                        loaders etc.) but eventually a proper list should be created.  -->
7
8<!-- to load software in 16/48K mode you must use the following sequence at the prompt
9
10     "J" "shift+P" "shift+P" "enter"
11
12     this will enter the command LOAD "" and execute it
13
14     You must then of course play the tape from the menu in MESS (you'll need to turn SCRLOCK off and hit TAB to get the MESS menu)
15
16-->
17
18<!-- Example Software List for ZX Spectrum Cassettes -->
19<!-- NC128 = Not Compatible with 128K Mode, must be loaded in 48K Mode -->
20<!-- 48/128 = Compatible with both 48K Mode and 128K Mode (no enhancements) -->
21<!-- EN128 = 128K enhanced, is improved by loading in 128K mode, usually AY music, less mutli-load segments, better animation etc. -->
22
23<softwarelist name="spectrum_cass" description="Sinclair ZX Spectrum cassettes">
24
25   <!-- Dizzy Series -->
26
27   <!-- NC128 -->
28   <software name="dizzy">
29      <description>Dizzy - The Ultimate Cartoon Adventure (set 1)</description>
30      <year>1987</year>
31      <publisher>Codemasters</publisher>
32      <part name="cass" interface="spectrum_cass">
33         <dataarea name="cass" size="48857">
34            <rom name="dizzy - the ultimate cartoon adventure.tzx" size="48885" crc="80f651f4" sha1="accaa7d5adb2c8823e58ab4f22e22cc771d56db9" offset="0"/>
35         </dataarea>
36      </part>
37   </software>
38
39   <!-- NC128 --> <!-- might be the same as above in a different image format -->
40   <software name="dizzya" cloneof="dizzy">
41      <description>Dizzy - The Ultimate Cartoon Adventure (set 2)</description>
42      <year>1987</year>
43      <publisher>Codemasters</publisher>
44      <part name="cass" interface="spectrum_cass">
45         <dataarea name="cass" size="48885">
46               <rom name="dizzy - the ultimate cartoon adventure.tap" size="48857" crc="6481fe73" sha1="eced00a33cc0d88f66cdacd79c9f6a5e15e7a745" offset="0"/>
47         </dataarea>
48      </part>
49   </software>
50
51   <!-- 48/128-->
52   <software name="dizzyp" cloneof="dizzy">
53      <description>Dizzy - The Ultimate Cartoon Adventure (Cracked, Bill Gilbert 1988, 128 Compatible)</description>
54      <year>1987</year>
55      <publisher>Codemasters</publisher>
56      <part name="cass" interface="spectrum_cass">
57         <dataarea name="cass" size="48176">
58            <rom name="dizzy - the ultimate cartoon adventure (1987)(code masters)[cr bill gilbert, 1988].tzx" size="48176" crc="99787925" sha1="94d19f07a3455301c63046a1332a7deaf1e68c60" offset="0"/>
59         </dataarea>
60      </part>
61   </software>
62
63   <!-- NC128 -->
64   <!-- this is the TOSEC image, it has a slighlty different load sequence, but you get infinite lives, is it hacked, or some protection? -->
65   <software name="dizzyb" cloneof="dizzy">
66      <description>Dizzy - The Ultimate Cartoon Adventure (set 3, hacked?)</description>
67      <year>1987</year>
68      <publisher>Codemasters</publisher>
69      <part name="cass" interface="spectrum_cass">
70         <dataarea name="cass" size="48901">
71            <rom name="dizzy - the ultimate cartoon adventure (1987)(codemasters).tap" size="48901" crc="da1ce6bf" sha1="a4a353f509c2eeab1d65b170e3230a7810123e76" offset="0"/>
72         </dataarea>
73      </part>
74   </software>
75
76   <!-- EN128 -->
77   <software name="dizzy2">
78      <description>Dizzy II - Treasure Island Dizzy (set 1)</description>
79      <year>1988</year>
80      <publisher>Codemasters</publisher>
81      <part name="cass" interface="spectrum_cass">
82         <dataarea name="cass" size="57706">
83            <rom name="dizzy ii - treasure island dizzy (1988)(codemasters).tzx" size="57706" crc="159de1a3" sha1="63e11d020e3f508cebe45c350b4610a36bf61d0e" offset="0"/>
84         </dataarea>
85      </part>
86   </software>
87
88   <!-- EN128 -->
89   <software name="dizzy2a" cloneof="dizzy2">
90      <description>Dizzy II - Treasure Island Dizzy (set 2)</description>
91      <year>1988</year>
92      <publisher>Codemasters</publisher>
93      <part name="cass" interface="spectrum_cass">
94         <dataarea name="cass" size="57736">
95            <rom name="dizzy ii - treasure island dizzy (1988)(codemasters)[a].tzx" size="57736" crc="b8371fae" sha1="fb6c0468fe7ed936d44766e391297757ebd3c2a6" offset="0"/>
96         </dataarea>
97      </part>
98   </software>
99
100   <!-- EN128 -->
101   <software name="dizzy3">
102      <description>Dizzy III - Fantasy World Dizzy (set 1)</description>
103      <year>1989</year>
104      <publisher>Codemasters</publisher>
105      <part name="cass" interface="spectrum_cass">
106         <dataarea name="cass" size="64878">
107            <rom name="dizzy iii - fantasy world dizzy (1989)(codemasters).tzx" size="64878" crc="63ea3dde" sha1="e033549d29161c2588aa0fd3faaba94e406e44ca" offset="0"/>
108         </dataarea>
109      </part>
110   </software>
111
112   <!-- EN128 -->
113   <software name="dizzy3a" cloneof="dizzy3">
114      <description>Dizzy III - Fantasy World Dizzy (set 2)</description>
115      <year>1989</year>
116      <publisher>Codemasters</publisher>
117      <part name="cass" interface="spectrum_cass">
118         <dataarea name="cass" size="64873">
119            <rom name="dizzy iii - fantasy world dizzy (1989)(codemasters)[a].tzx" size="64873" crc="485031c7" sha1="05a19b94a4cf7f5cbcea35e8da8b888a488f7147" offset="0"/>
120         </dataarea>
121      </part>
122   </software>
123
124   <software name="dizzy4">
125      <description>Dizzy IV - Magicland Dizzy (set 1)</description>
126      <year>1989</year>
127      <publisher>Codemasters</publisher>
128      <part name="cass" interface="spectrum_cass">
129         <dataarea name="cass" size="64959">
130            <rom name="dizzy iv - magicland dizzy (1989)(codemasters)[128k].tap" size="64959" crc="52c74596" sha1="143b2cf937c2d35fcd8539e97fe7b23ee75b2e03" offset="0"/>
131         </dataarea>
132      </part>
133   </software>
134
135   <software name="dizzy5">
136      <description>Dizzy V - Spellbound Dizzy (set 1)</description>
137      <year>1991</year>
138      <publisher>Codemasters</publisher>
139      <part name="cass" interface="spectrum_cass">
140         <dataarea name="cass" size="96916">
141            <rom name="dizzy v - spellbound dizzy (1991)(codemasters)[128k].tzx" size="96916" crc="8ef56664" sha1="0f24fbd94ea67b12b8ed261cf6e7715f4eee6f7c" offset="0"/>
142         </dataarea>
143      </part>
144   </software>
145
146   <software name="dizzy6">
147      <description>Dizzy VI - Prince Of The Yolkfolk (set 1)</description>
148      <year>1991</year>
149      <publisher>Codemasters</publisher>
150      <part name="cass" interface="spectrum_cass">
151         <dataarea name="cass" size="47123">
152            <rom name="dizzy vi - prince of the yolkfolk (1991)(codemasters).tzx" size="47123" crc="4bd41a54" sha1="85afe85bf3fa9cc17d26391f51a2b6cd3b3f1d4d" offset="0"/>
153         </dataarea>
154      </part>
155   </software>
156
157   <software name="dizzy7">
158      <description>Dizzy VII - Crystal Kingdom Dizzy (set 1)</description>
159      <year>1992</year>
160      <publisher>Codemasters</publisher>
161      <part name="cass" interface="spectrum_cass">
162         <dataarea name="cass" size="55322">
163            <rom name="dizzy vii - crystal kingdom dizzy (1992)(codemasters).tzx" size="55322" crc="4da3cd7f" sha1="1998bb08889656e77170b8dff9c047a368d26d8b" offset="0"/>
164         </dataarea>
165      </part>
166   </software>
167
168   <software name="dizzy7a" cloneof="dizzy7">
169      <description>Dizzy VII - Crystal Kingdom Dizzy (set 2)</description>
170      <year>1992</year>
171      <publisher>Codemasters</publisher>
172      <part name="cass" interface="spectrum_cass">
173         <dataarea name="cass" size="55188">
174            <rom name="dizzy vii - crystal kingdom dizzy (1992)(codemasters)[a].tzx" size="55188" crc="91e0c365" sha1="b2975a80d9b7edfb9bc0c623ce062be77482d4b4" offset="0"/>
175         </dataarea>
176      </part>
177   </software>
178
179   <software name="dizzy7b" cloneof="dizzy7">
180      <description>Dizzy VII - Crystal Kingdom Dizzy (set 3)</description>
181      <year>1992</year>
182      <publisher>Codemasters</publisher>
183      <part name="cass" interface="spectrum_cass">
184         <dataarea name="cass" size="55188">
185            <rom name="dizzy vii - crystal kingdom dizzy (1992)(codemasters)[a2].tzx" size="55188" crc="8c95ee7c" sha1="bf0c78cd7452a1f2f62d4d77c3890b35e708d02e" offset="0"/>
186         </dataarea>
187      </part>
188   </software>
189
190   <software name="dizzy7c" cloneof="dizzy7">
191      <description>Dizzy VII - Crystal Kingdom Dizzy (set 4)</description>
192      <year>1992</year>
193      <publisher>Codemasters</publisher>
194      <part name="cass" interface="spectrum_cass">
195         <dataarea name="cass" size="55210">
196            <rom name="dizzy vii - crystal kingdom dizzy (1992)(codemasters)(pre-release).tzx" size="55210" crc="85c83f89" sha1="ec53057e6de49bc792a43eafda3171e5148f6318" offset="0"/>
197         </dataarea>
198      </part>
199   </software>
200
201   <software name="dizzyff">
202      <description>Fast Food Dizzy (set 1)</description>
203      <year>1989</year>
204      <publisher>Codemasters</publisher>
205      <part name="cass" interface="spectrum_cass">
206         <dataarea name="cass" size="53198">
207            <rom name="fast food dizzy (1989)(codemasters).tzx" size="53198" crc="08a82485" sha1="03f205a038f5f4f48f0b0a5e040d56cc24c22ae3" offset="0"/>
208         </dataarea>
209      </part>
210   </software>
211
212   <software name="dizzyffa" cloneof="dizzyff">
213      <description>Fast Food Dizzy (set 2)</description>
214      <year>1989</year>
215      <publisher>Codemasters</publisher>
216      <part name="cass" interface="spectrum_cass">
217         <dataarea name="cass" size="53198">
218            <rom name="fast food dizzy (1989)(codemasters)[128k].tzx" size="53198" crc="1d7485d9" sha1="726705f3e49db25b2385d7e9b494763ef630f9d5" offset="0"/>
219         </dataarea>
220      </part>
221   </software>
222
223   <software name="dizzyffb" cloneof="dizzyff">
224      <description>Fast Food Dizzy (set 3)</description>
225      <year>1989</year>
226      <publisher>Codemasters</publisher>
227      <part name="cass" interface="spectrum_cass">
228         <dataarea name="cass" size="53203">
229            <rom name="fast food dizzy (1989)(codemasters)[a].tzx" size="53203" crc="d5c94c3a" sha1="aaec35f2b1ea080126f8666f132881d16c17f34d" offset="0"/>
230         </dataarea>
231      </part>
232   </software>
233
234   <software name="dizzyffc" cloneof="dizzyff">
235      <description>Fast Food Dizzy (set 4)</description>
236      <year>1989</year>
237      <publisher>Codemasters</publisher>
238      <part name="cass" interface="spectrum_cass">
239         <dataarea name="cass" size="53170">
240            <rom name="fastfood.tap" size="53170" crc="6cddc114" sha1="10f9d2196650013a9627adbc0018713d259720e3" offset="0"/>
241         </dataarea>
242      </part>
243   </software>
244
245   <software name="dizzyks">
246      <description>Kwik Snax Dizzy (set 1)</description>
247      <year>1990</year>
248      <publisher>Codemasters</publisher>
249      <part name="cass" interface="spectrum_cass">
250         <dataarea name="cass" size="100777">
251            <rom name="kwik snax dizzy (1990)(codemasters).tzx" size="100777" crc="c90db9ca" sha1="70e1751e139dd769a73adbfcb82070f37dcbf3ed" offset="0"/>
252         </dataarea>
253      </part>
254   </software>
255
256   <software name="dizzyksa" cloneof="dizzyks">
257      <description>Kwik Snax Dizzy (set 2)</description>
258      <year>1990</year>
259      <publisher>Codemasters</publisher>
260      <part name="cass" interface="spectrum_cass">
261         <dataarea name="cass" size="100772">
262            <rom name="kwik snax dizzy (1990)(codemasters)[a].tzx" size="100772" crc="49146051" sha1="4e0b73ce80d1be6b239d7a5f28fc13672113acab" offset="0"/>
263         </dataarea>
264      </part>
265   </software>
266
267   <software name="dizzyksb" cloneof="dizzyks">
268      <description>Kwik Snax Dizzy (set 3)</description>
269      <year>1990</year>
270      <publisher>Codemasters</publisher>
271      <part name="cass" interface="spectrum_cass">
272         <dataarea name="cass" size="100738">
273            <rom name="kwiksnax.tap" size="100738" crc="0b234319" sha1="bb8b9672cacfae3a7081817a76112c20296d1360" offset="0"/>
274         </dataarea>
275      </part>
276   </software>
277
278   <software name="dizzypan" >
279      <description>Panic Dizzy (set 1)</description>
280      <year>1991</year>
281      <publisher>Codemasters</publisher>
282      <part name="cass" interface="spectrum_cass">
283         <dataarea name="cass" size="48053">
284            <rom name="panic dizzy (1991)(codemasters).tzx" size="48053" crc="50a975e5" sha1="fff19b7feac4d660d8862113993910b44f499e26" offset="0"/>
285         </dataarea>
286      </part>
287   </software>
288
289   <software name="dizzypana" cloneof="dizzypan">
290      <description>Panic Dizzy (set 2)</description>
291      <year>1991</year>
292      <publisher>Codemasters</publisher>
293      <part name="cass" interface="spectrum_cass">
294         <dataarea name="cass" size="48017">
295            <rom name="panic dizzy.tap" size="48017" crc="dbc18295" sha1="a3b530783b3d9eeefb29ef6e0e2fa86a1c21fa16" offset="0"/>
296         </dataarea>
297      </part>
298   </software>
299
300   <software name="dizzyrap">
301      <description>Dizzy Down The Rapids</description>
302      <year>1991</year>
303      <publisher>Codemasters</publisher>
304      <part name="cass" interface="spectrum_cass">
305         <dataarea name="cass" size="52367">
306            <rom name="dizzy down the rapids.tap" size="52367" crc="843abda6" sha1="93b231ce7dfa98a1e17425d022fb647fd45b36a7" offset="0"/>
307         </dataarea>
308      </part>
309   </software>
310
311   <!-- Batman had a variety of loaders, some work, some don't ... -->
312
313   <!-- OK -->
314   <software name="batman">
315      <description>Batman (set 1)</description>
316      <year>1986</year>
317      <publisher>Ocean</publisher>
318      <part name="cass" interface="spectrum_cass">
319         <dataarea name="cass" size="49967">
320            <rom name="batman (1986)(ocean)[48-128k].tzx" size="49967" crc="b75cfbf2" sha1="c037b1a20d04ff82645bd269e3544b9364eb9450" offset="0"/>
321         </dataarea>
322      </part>
323   </software>
324
325   <!-- loader fails before title screen, works in other emus -->
326   <software name="batmana" cloneof="batman" supported="no">
327      <description>Batman (set 2)</description>
328      <year>1986</year>
329      <publisher>Ocean</publisher>
330      <part name="cass" interface="spectrum_cass">
331         <dataarea name="cass" size="49828">
332            <rom name="batman (1986)(ocean)[48-128k][speedlock 1].tzx" size="49828" crc="7181366c" sha1="8c09cd81200808e703d8521f0713cab62dbbd8fc" offset="0"/>
333         </dataarea>
334      </part>
335   </software>
336
337   <!-- loader fails, doesn't boot after countdown completes, works in other emus -->
338   <software name="batmanb" cloneof="batman" supported="no">
339      <description>Batman (set 3)</description>
340      <year>1986</year>
341      <publisher>Ocean</publisher>
342      <part name="cass" interface="spectrum_cass">
343         <dataarea name="cass" size="52943">
344            <rom name="batman (1986)(ocean)[48-128k][speedlock 4].tzx" size="52943" crc="11fd0241" sha1="e87cef97f27029afb2e899fbeaba44b2bf965ba2" offset="0"/>
345         </dataarea>
346      </part>
347   </software>
348
349   <!-- loader fails after first block is loaded, suspect image, doesn't even run in 'realspectrum' -->
350   <software name="batmanc" cloneof="batman" supported ="no">
351      <description>Batman (set 4)</description>
352      <year>1986</year>
353      <publisher>Ocean</publisher>
354      <part name="cass" interface="spectrum_cass">
355         <dataarea name="cass" size="49828">
356            <rom name="batman (1986)(ocean)[a2][48-128k].tzx" size="49828" crc="4787057b" sha1="bc4511764bf404bb212cd152fcd4c6ab7f4827ae" offset="0"/>
357         </dataarea>
358      </part>
359   </software>
360
361   <!-- OK -->
362   <software name="batmand" cloneof="batman">
363      <description>Batman (set 5)</description>
364      <year>1986</year>
365      <publisher>Ocean</publisher>
366      <part name="cass" interface="spectrum_cass">
367         <dataarea name="cass" size="49967">
368            <rom name="batman (1986)(ocean)[a][48-128k].tzx" size="49967" crc="944aca6e" sha1="91bdd44da489d98a5a116926007f834acbb87757" offset="0"/>
369         </dataarea>
370      </part>
371   </software>
372
373   <!-- loader fails after first block is loaded, works in other emus -->
374   <software name="batmane" cloneof="batman" supported="no">
375      <description>Batman (set 6)</description>
376      <year>1986</year>
377      <publisher>Ocean</publisher>
378      <part name="cass" interface="spectrum_cass">
379         <dataarea name="cass" size="50106">
380            <rom name="batman (1986)(ocean)[a][48-128k][speedlock 1].tzx" size="50106" crc="64b70b2e" sha1="4b2feeb827e7029c7d86a129345acca2c8b76157" offset="0"/>
381         </dataarea>
382      </part>
383   </software>
384
385   <!-- loader fails before title screen -->
386   <software name="batmanf" cloneof="batman" supported="no">
387      <description>Batman (set 7)</description>
388      <year>1986</year>
389      <publisher>Ocean</publisher>
390      <part name="cass" interface="spectrum_cass">
391         <dataarea name="cass" size="49828">
392            <rom name="batman (1986)(the hit squad)[48-128k][re-release].tzx" size="49828" crc="c9eacae6" sha1="37edefc9b02adedf7af25ac6e5b598ee873e89ba" offset="0"/>
393         </dataarea>
394      </part>
395   </software>
396
397   <!-- MESS doesn't see full length of tape?, suspect image-->
398   <software name="batmang" cloneof="batman">
399      <description>Batman (set 8)</description>
400      <year>1986</year>
401      <publisher>Ocean</publisher>
402      <part name="cass" interface="spectrum_cass">
403         <dataarea name="cass" size="50064">
404            <rom name="batman (1986)(the hit squad)[a2][48-128k][re-release].tzx" size="50064" crc="70f90b4a" sha1="2817fa696522d0e9af1e2152bc6ee9a2e443a352" offset="0"/>
405         </dataarea>
406      </part>
407   </software>
408
409   <!-- OK -->
410   <software name="batmanh" cloneof="batman">
411      <description>Batman (set 9)</description>
412      <year>1986</year>
413      <publisher>Ocean</publisher>
414      <part name="cass" interface="spectrum_cass">
415         <dataarea name="cass" size="50074">
416            <rom name="batman (1987)(erbe software)[48-128k][re-release].tzx" size="50074" crc="efa02464" sha1="63a43ee003e6e0801358ce49a63df5c3ae28884a" offset="0"/>
417         </dataarea>
418      </part>
419   </software>
420
421
422   <!-- Other Games -->
423
424   <software name="snare">
425      <description>Snare</description>
426      <year>1992</year>
427      <publisher>Enigma Software Developments</publisher>
428      <part name="cass" interface="spectrum_cass">
429         <dataarea name="cass" size="42011">
430            <rom name="snare - alternate - side a.tzx" size="42011" crc="48239344" sha1="eeaab4c697e35e2f7bd452906314948134933cfc" offset="0"/>
431         <!-- side B is for the Sam Coupe, see samcoupe_cass.xml -->
432         </dataarea>
433      </part>
434   </software>
435
436   <software name="bitedust">
437      <description>Bite The Dust</description>
438      <year>1990</year>
439      <publisher>Crash Magazine</publisher>
440      <part name="cass" interface="spectrum_cass">
441         <dataarea name="cass" size="49539">
442            <rom name="bite the dust.tap" size="49539" crc="f829e9ec" sha1="af42b31315c2c27b65da497701cdd70120d39d50" offset="0"/>
443         </dataarea>
444      </part>
445   </software>
446
447   <software name="specvent">
448      <description>Specventure (set 1)</description>
449      <year>1986</year>
450      <publisher>Mastertronic</publisher>
451      <part name="cass" interface="spectrum_cass">
452         <dataarea name="cass" size="48862">
453            <rom name="specventure (1986)(mastertronic).tzx" size="48862" crc="bd60e35b" sha1="5f41781ae9c6cc3de4e29a96ab9e66c2c941e301" offset="0"/>
454         </dataarea>
455      </part>
456   </software>
457
458   <software name="specventa" cloneof="specvent">
459      <description>Specventure (set 2)</description>
460      <year>1986</year>
461      <publisher>Mastertronic</publisher>
462      <part name="cass" interface="spectrum_cass">
463         <dataarea name="cass" size="48892">
464            <rom name="specventure (1986)(mastertronic)[a].tzx" size="48892" crc="2ee1eca0" sha1="9f471e4186d906328694035e9d255600d5e0334e" offset="0"/>
465         </dataarea>
466      </part>
467   </software>
468
469   <software name="pacman">
470      <description>Pac-Man (set 1)</description>
471      <year>1983</year>
472      <publisher>Atarisoft</publisher>
473      <part name="cass" interface="spectrum_cass">
474         <dataarea name="cass" size="12402">
475            <rom name="pac-man (1983)(atarisoft).tzx" size="12402" crc="d1c0e9a9" sha1="2066e83dfa6e15de0d5c319acac8b67bc7b0bae0" offset="0"/>
476         </dataarea>
477      </part>
478   </software>
479
480   <software name="pacmana" cloneof="pacman">
481      <description>Pac-Man (set 2)</description>
482      <year>1983</year>
483      <publisher>Atarisoft</publisher>
484      <part name="cass" interface="spectrum_cass">
485         <dataarea name="cass" size="16707">
486            <rom name="pac-man (1983)(atarisoft)[a].tzx" size="16707" crc="3557b759" sha1="0af28a0d972c4c75ef432770ebb4eb2eee66870f" offset="0"/>
487         </dataarea>
488      </part>
489   </software>
490
491   <software name="pacmanb" cloneof="pacman">
492      <description>Pac-Man (set 3)</description>
493      <year>1983</year>
494      <publisher>Atarisoft</publisher>
495      <part name="cass" interface="spectrum_cass">
496         <dataarea name="cass" size="16615">
497            <rom name="pac-man (1983)(atarisoft)[a2].tzx" size="16615" crc="bd0ccace" sha1="322e8a6a6c4bd3d577dac827a135b68b8184bc56" offset="0"/>
498         </dataarea>
499      </part>
500   </software>
501
502   <software name="mspacman">
503      <description>Ms. Pac-Man (set 1)</description>
504      <year>1984</year>
505      <publisher>Atarisoft</publisher>
506      <part name="cass" interface="spectrum_cass">
507         <dataarea name="cass" size="22868">
508            <rom name="ms. pac-man (1984)(atarisoft).tzx" size="22868" crc="3639ff62" sha1="2c0dc0ff4d4507cc3c895c351c1361063f4f4a84" offset="0"/>
509         </dataarea>
510      </part>
511   </software>
512
513   <software name="mspacmana" cloneof="mspacman">
514      <description>Ms. Pac-Man (set 2)</description>
515      <year>1984</year>
516      <publisher>Atarisoft</publisher>
517      <part name="cass" interface="spectrum_cass">
518         <dataarea name="cass" size="48010">
519            <rom name="ms. pac-man (1984)(atarisoft)[a].tzx" size="48010" crc="14cd83cd" sha1="8aec8d3620a544272bf11759b65b5b653d59d6d8" offset="0"/>
520         </dataarea>
521      </part>
522   </software>
523
524
525   <software name="bombfusn">
526      <description>Bomb Fusion (set 1)</description>
527      <year>1989</year>
528      <publisher>Virgin Mastertronic</publisher>
529      <part name="cass" interface="spectrum_cass">
530         <dataarea name="cass" size="49433">
531            <rom name="bombfusion (1989)(virgin mastertronic).tzx" size="49433" crc="02290e7e" sha1="5fc0e337e79f52a391257397925ccd04fa5a7689" offset="0"/>
532         </dataarea>
533      </part>
534   </software>
535
536   <!-- no loading screen, no custom loader -->
537   <software name="bombfusna" cloneof="bombfusn">
538      <description>Bomb Fusion (set 2, copy?)</description>
539      <year>1989</year>
540      <publisher>Virgin Mastertronic</publisher>
541      <part name="cass" interface="spectrum_cass">
542         <dataarea name="cass" size="13874">
543            <rom name="bombfusion (1989)(virgin mastertronic)[a].tzx" size="13874" crc="904bbd8d" sha1="56c4b9b13ace7557cc6628ed5d54e552e498916b" offset="0"/>
544         </dataarea>
545      </part>
546   </software>
547
548   <software name="bombfusnb" cloneof="bombfusn">
549      <description>Bomb Fusion (set 3)</description>
550      <year>1989</year>
551      <publisher>Virgin Mastertronic</publisher>
552      <part name="cass" interface="spectrum_cass">
553         <dataarea name="cass" size="49403">
554            <rom name="bombfusion (1989)(virgin mastertronic)[a2].tzx" size="49403" crc="d2f7f5ff" sha1="2254ddfba0553c288b89d5bc189c4038cb23459c" offset="0"/>
555         </dataarea>
556      </part>
557   </software>
558
559   <software name="bombfusnc" cloneof="bombfusn">
560      <description>Bomb Fusion (set 4)</description>
561      <year>1989</year>
562      <publisher>Virgin Mastertronic</publisher>
563      <part name="cass" interface="spectrum_cass">
564         <dataarea name="cass" size="49531">
565            <rom name="bombfusion (1989)(dro soft)[re-release].tzx" size="49531" crc="26c2e5f4" sha1="a47c30ccd43625e5e06262b9c8d4efd940628071" offset="0"/>
566         </dataarea>
567      </part>
568   </software>
569
570   <software name="brainstm">
571      <description>Brainstorm (Pete Cooke) (set 1)</description>
572      <year>1987</year>
573      <publisher>Firebird Software</publisher>
574      <part name="cass" interface="spectrum_cass">
575         <dataarea name="cass" size="46689">
576            <rom name="brainstorm (1987)(firebird software).tzx" size="46689" crc="4217a864" sha1="8f5d705013a437ab1d644fe9077e53cb49343eb0" offset="0"/>
577         </dataarea>
578      </part>
579   </software>
580
581
582   <software name="brainstma" cloneof="brainstm">
583      <description>Brainstorm (Pete Cooke) (set 2)</description>
584      <year>1987</year>
585      <publisher>Firebird Software</publisher>
586      <part name="cass" interface="spectrum_cass">
587         <dataarea name="cass" size="46960">
588            <rom name="brainstorm (1987)(firebird software)[a].tzx" size="46960" crc="46896937" sha1="fd0095f99a0c5496f910322a3c667e622de0af94" offset="0"/>
589         </dataarea>
590      </part>
591   </software>
592
593   <software name="brainstmb" cloneof="brainstm">
594      <description>Brainstorm (Pete Cooke) (set 3)</description>
595      <year>1987</year>
596      <publisher>Firebird Software</publisher>
597      <part name="cass" interface="spectrum_cass">
598         <dataarea name="cass" size="46818">
599            <rom name="brainstorm (1987)(firebird software)[128k].tzx" size="46818" crc="e9e50095" sha1="f6a3834ca03ca8c8242e93ee50f2382b690279be" offset="0"/>
600         </dataarea>
601      </part>
602   </software>
603
604   <software name="brainstmd" cloneof="brainstm">
605      <description>Brainstorm (Pete Cooke) (set 4)</description>
606      <year>1987</year>
607      <publisher>Firebird Software</publisher>
608      <part name="cass" interface="spectrum_cass">
609         <dataarea name="cass" size="47084">
610            <rom name="brainstorm (1987)(firebird software)[a][128k].tzx" size="47084" crc="d5b15c06" sha1="1d6795dedbeb846ad3faa116db8a7082b96a423c" offset="0"/>
611         </dataarea>
612      </part>
613   </software>
614
615   <software name="bstormbb">
616      <description>Brain Storm (set 1)</description>
617      <year>1985</year>
618      <publisher>Bubblebus Software</publisher>
619      <part name="cass" interface="spectrum_cass">
620         <dataarea name="cass" size="48559">
621            <rom name="brainstorm (1985)(bubblebus software).tzx" size="48559" crc="d76d294f" sha1="e7020c7a1e58dcee90c57ca232c2b774f95be211" offset="0"/>
622         </dataarea>
623      </part>
624   </software>
625
626   <software name="bstormbba" cloneof="bstormbb">
627      <description>Brain Storm (set 2)</description>
628      <year>1985</year>
629      <publisher>Bubblebus Software</publisher>
630      <part name="cass" interface="spectrum_cass">
631         <dataarea name="cass" size="48629">
632            <rom name="brainstorm (1985)(bubblebus software)[a].tzx" size="48629" crc="329ba6c2" sha1="5dcc62357720cb9d5a9731cb72f7291f3fee2bf6" offset="0"/>
633         </dataarea>
634      </part>
635   </software>
636
637   <software name="brainst">
638      <description>Brain Storm (Micromega, 16k)</description>
639      <year>1983</year>
640      <publisher>Micromega</publisher>
641      <part name="cass" interface="spectrum_cass">
642         <dataarea name="cass" size="12541">
643            <rom name="brainstorm (1983)(micromega)[16k].tzx" size="12541" crc="0506c4c8" sha1="debfb6b371d507aad6ac69cc6d9638d0d31ed0ff" offset="0"/>
644         </dataarea>
645      </part>
646   </software>
647
648
649   <software name="earthshk">
650      <description>Earth Shaker (set 1)</description>
651      <year>1990</year>
652      <publisher>Michael Batty</publisher>
653      <part name="cass" interface="spectrum_cass">
654         <dataarea name="cass" size="37745">
655            <rom name="earth shaker (1990)(michael batty).tzx" size="37745" crc="85da782e" sha1="721677a3e18104ce5cd95cefff5d341f53cde5ff" offset="0"/>
656         </dataarea>
657      </part>
658   </software>
659
660   <software name="earthshka" cloneof="earthshk">
661      <description>Earth Shaker (set 2)</description>
662      <year>1990</year>
663      <publisher>Michael Batty</publisher>
664      <part name="cass" interface="spectrum_cass">
665         <dataarea name="cass" size="37985">
666            <rom name="earth shaker (1990)(michael batty)[a].tzx" size="37985" crc="8a6e99a5" sha1="c1db46ccb86305e88d2129f5b03ff1bcf2902086" offset="0"/>
667         </dataarea>
668      </part>
669   </software>
670
671   <!--NC128-->
672   <software name="earthshkb" cloneof="earthshk">
673      <description>Earth Shaker (set 3) (48K)</description>
674      <year>1990</year>
675      <publisher>Michael Batty</publisher>
676      <part name="cass" interface="spectrum_cass">
677         <dataarea name="cass" size="44833">
678            <rom name="earth shaker (1990)(michael batty)[different loading screen].tzx" size="44833" crc="7cd95b4a" sha1="1205d8d6c48af008fe4d5c1727fea64e6b2e62db" offset="0"/>
679         </dataarea>
680      </part>
681   </software>
682
683
684</softwarelist>
685
686
687
688
trunk/hash/samcoupe_flop.xml
r0r18477
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3
4<!-- to boot disks type 'BOOT' and press return
5  alternatively press numpad 9 which seems to do the same thing
6-->
7
8<softwarelist name="samcoupe_flop" description="Sam Coupe Floppy Disks">
9
10   <software name="manic">
11      <description>Manic Miner (2 Level Demo)</description>
12      <year>1991</year>
13      <publisher>Revelation Software / Software Projects</publisher>
14      <part name="flop1" interface="floppy_3_5">
15         <dataarea name="flop" size="819200">
16            <rom name="manic miner (1992) (revelation software) (demo).dsk" size="819200" crc="02708a54" sha1="a2d5634f5e64960db21eed38c1cef79bd2e13e7a" offset="0"/>
17         </dataarea>
18      </part>
19   </software>
20</softwarelist>
21
22
23
24
trunk/hash/samcoupe_cass.xml
r0r18477
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3
4<!-- load software with LOAD ""
5
6    Tape must be started manually from the MESS menu
7    " is mapped to ] by default on a UK keyboard layout
8
9   The Sam Coupe will recognize most Spectrum tapes but isn't actually directly compatible with the majority of them due to different memory mapping
10-->
11
12<softwarelist name="samcoupe_cass" description="Sam Coupe cassettes">
13
14  <!-- it loads, includes the SAM specific title screen, but the game doesn't boot -->
15  <software name="snare" supported="no">
16      <description>Snare</description>
17      <year>1992</year>
18      <publisher>Enigma Software Developments</publisher>
19      <part name="cass" interface="samcoupe_cass">
20         <!-- side A is for the ZX Spectrum, see spectrum_cass.xml -->
21         <dataarea name="cass" size="67044">
22            <rom name="snare - alternate - side b.tzx" size="67044" crc="3278d671" sha1="9046c7b2ca54c8dd653cc797f7cc2ac6616791af" offset="0"/>
23         </dataarea>
24      </part>
25   </software>
26</softwarelist>
27
28
29
30
trunk/src/mess/machine/samcoupe.c
r18476r18477
2222    MEMORY BANKING
2323***************************************************************************/
2424
25READ8_MEMBER(samcoupe_state::sam_bank1_r)
26{
27   if (sam_bank_read_ptr[0])
28      return sam_bank_read_ptr[0][offset];
29
30   return 0xff;
31}
32
33WRITE8_MEMBER(samcoupe_state::sam_bank1_w)
34{
35   if (sam_bank_write_ptr[0])
36      sam_bank_write_ptr[0][offset] = data;
37}
38
39
40READ8_MEMBER(samcoupe_state::sam_bank2_r)
41{
42   if (sam_bank_read_ptr[1])
43      return sam_bank_read_ptr[1][offset];
44
45   return 0xff;
46}
47
48WRITE8_MEMBER(samcoupe_state::sam_bank2_w)
49{
50   if (sam_bank_write_ptr[1])
51      sam_bank_write_ptr[1][offset] = data;
52}
53
54
55READ8_MEMBER(samcoupe_state::sam_bank3_r)
56{
57   if (sam_bank_read_ptr[2])
58      return sam_bank_read_ptr[2][offset];
59
60   return 0xff;
61}
62
63WRITE8_MEMBER(samcoupe_state::sam_bank3_w)
64{
65   if (sam_bank_write_ptr[2])
66      sam_bank_write_ptr[2][offset] = data;
67}
68
69
70READ8_MEMBER(samcoupe_state::sam_bank4_r)
71{
72   if (sam_bank_read_ptr[3])
73      return sam_bank_read_ptr[3][offset];
74
75   return 0xff;
76}
77
78WRITE8_MEMBER(samcoupe_state::sam_bank4_w)
79{
80   if (sam_bank_write_ptr[3])
81      sam_bank_write_ptr[3][offset] = data;
82}
83
2584static void samcoupe_update_bank(address_space &space, int bank_num, UINT8 *memory, int is_readonly)
2685{
86   samcoupe_state *state = space.machine().driver_data<samcoupe_state>();
87
88   state->sam_bank_read_ptr[bank_num-1] = memory;
89   if (!is_readonly)
90      state->sam_bank_write_ptr[bank_num-1] = memory;
91   else
92      state->sam_bank_write_ptr[bank_num-1] = NULL;
93
94   // installing banks on the fly is too slow (20% speed in Manic Miner gameplay vs 300% speed)
95#if 0
2796   char bank[10];
2897   sprintf(bank,"bank%d",bank_num);
29   samcoupe_state *state = space.machine().driver_data<samcoupe_state>();
3098   if (memory)
3199   {
32100      state->membank(bank)->set_base(memory);
r18476r18477
39107   } else {
40108      space.nop_readwrite(((bank_num-1) * 0x4000), ((bank_num-1) * 0x4000) + 0x3FFF);
41109   }
110#endif
42111}
43112
44113
trunk/src/mess/includes/samcoupe.h
r18476r18477
3535{
3636public:
3737   samcoupe_state(const machine_config &mconfig, device_type type, const char *tag)
38         : driver_device(mconfig, type, tag) { }
38         : driver_device(mconfig, type, tag)
39   {
40      sam_bank_read_ptr[0] = NULL;
41      sam_bank_write_ptr[0] = NULL;
42      sam_bank_read_ptr[1] = NULL;
43      sam_bank_write_ptr[1] = NULL;
44      sam_bank_read_ptr[2] = NULL;
45      sam_bank_write_ptr[2] = NULL;
46      sam_bank_read_ptr[3] = NULL;
47      sam_bank_write_ptr[3] = NULL;   
48   }
3949
4050   virtual void video_start();
4151
r18476r18477
92102   DECLARE_WRITE8_MEMBER(samcoupe_lpt2_strobe_w);
93103   DECLARE_READ8_MEMBER(samcoupe_rtc_r);
94104   DECLARE_WRITE8_MEMBER(samcoupe_rtc_w);
105
106   DECLARE_READ8_MEMBER(sam_bank1_r);
107   DECLARE_WRITE8_MEMBER(sam_bank1_w);
108   DECLARE_READ8_MEMBER(sam_bank2_r);
109   DECLARE_WRITE8_MEMBER(sam_bank2_w);
110   DECLARE_READ8_MEMBER(sam_bank3_r);
111   DECLARE_WRITE8_MEMBER(sam_bank3_w);
112   DECLARE_READ8_MEMBER(sam_bank4_r);
113   DECLARE_WRITE8_MEMBER(sam_bank4_w);
114
115   UINT8* sam_bank_read_ptr[4];
116   UINT8* sam_bank_write_ptr[4];
117
95118};
96119
97120
trunk/src/mess/drivers/spectrum.c
r18476r18477
670670   tzx_cassette_formats,
671671   NULL,
672672   (cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
673   NULL,
673   "spectrum_cass",
674674   NULL
675675};
676676
r18476r18477
738738   MCFG_SNAPSHOT_ADD("snapshot", spectrum, "ach,frz,plusd,prg,sem,sit,sna,snp,snx,sp,z80,zx", 0)
739739   MCFG_QUICKLOAD_ADD("quickload", spectrum, "raw,scr", 2) // The delay prevents the screen from being cleared by the RAM test at boot
740740   MCFG_CASSETTE_ADD( CASSETTE_TAG, spectrum_cassette_interface )
741   MCFG_SOFTWARE_LIST_ADD("cass_list","spectrum_cass")
741742
742743   /* cartridge */
743744   MCFG_CARTSLOT_ADD("cart")
trunk/src/mess/drivers/samcoupe.c
r18476r18477
295295***************************************************************************/
296296
297297static ADDRESS_MAP_START( samcoupe_mem, AS_PROGRAM, 8, samcoupe_state )
298   AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
299   AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
300   AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3")
301   AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
298   AM_RANGE(0x0000, 0x3fff) AM_RAM AM_READWRITE(sam_bank1_r, sam_bank1_w) // AM_RAMBANK("bank1")
299   AM_RANGE(0x4000, 0x7fff) AM_RAM AM_READWRITE(sam_bank2_r, sam_bank2_w) // AM_RAMBANK("bank2")
300   AM_RANGE(0x8000, 0xbfff) AM_RAM AM_READWRITE(sam_bank3_r, sam_bank3_w) // AM_RAMBANK("bank3")
301   AM_RANGE(0xc000, 0xffff) AM_RAM AM_READWRITE(sam_bank4_r, sam_bank4_w) // AM_RAMBANK("bank4")
302302ADDRESS_MAP_END
303303
304304static ADDRESS_MAP_START( samcoupe_io, AS_IO, 8, samcoupe_state )
r18476r18477
505505   tzx_cassette_formats,
506506   NULL,
507507   (cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
508   NULL,
508   "samcoupe_cass",
509509   NULL
510510};
511511
r18476r18477
544544   MCFG_CENTRONICS_PRINTER_ADD("lpt2", standard_centronics)
545545   MCFG_MSM6242_ADD("sambus_clock", samcoupe_rtc_intf)
546546   MCFG_CASSETTE_ADD(CASSETTE_TAG, samcoupe_cassette_interface)
547   MCFG_SOFTWARE_LIST_ADD("cass_list","samcoupe_cass")
548
547549   MCFG_WD1772x_ADD("wd1772", SAMCOUPE_XTAL_X1/3)
548550   MCFG_FLOPPY_DRIVE_ADD("fd0", samcoupe_floppies, "35dd", 0, samcoupe_floppy_formats)
549551   MCFG_FLOPPY_DRIVE_ADD("fd1", samcoupe_floppies, "35dd", 0, samcoupe_floppy_formats)
552   MCFG_SOFTWARE_LIST_ADD("flop_list","samcoupe_flop")
550553
551554   /* sound hardware */
552555   MCFG_SPEAKER_STANDARD_MONO("mono")

Previous 199869 Revisions Next


© 1997-2024 The MAME Team