Previous 199869 Revisions Next

r44408 Sunday 24th January, 2016 at 03:57:16 UTC by AJR
Pass and return palette devices by reference, not as pointers
- Add screen_device::has_palette()
- Require device_gfx_interface::gfx() and palette() to access members
- Getters for atari_vad_device return devices as references, not pointers
[hash]atom.xml* atom_cass.xml atom_flop.xml atom_rom.xml bw14.xml dim68k.xml md2_flop.xml pro128s_flop.xml
[scripts/target/mame]mess.lua
[src/devices/cpu/alto2]a2disp.cpp
[src/devices/cpu/tms34010]tms34010.cpp
[src/devices/imagedev]floppy.h
[src/emu]digfx.cpp digfx.h drawgfx.cpp drawgfx.h screen.h tilemap.cpp tilemap.h video.cpp
[src/emu/ui]viewgfx.cpp
[src/mame]mess.lst
[src/mame/drivers]atom.cpp batman.cpp bw12.cpp dim68k.cpp microdec.cpp peoplepc.cpp rungun.cpp thunderj.cpp
[src/mame/includes]kaneko16.h
[src/mame/machine]atarigen.h megacd.cpp
[src/mame/video]atari.cpp batman.cpp c116.cpp c45.cpp cyberbal.cpp flkatck.cpp fromanc2.cpp gp9001.cpp k007121.cpp k007121.h k051316.cpp k051316.h k051960.cpp k052109.cpp k053244_k053245.cpp k053250.cpp k053936.cpp k053936.h k054338.cpp k054338.h kaneko16.cpp kaneko_spr.cpp konami_helper.cpp offtwall.cpp relief.cpp shuuz.cpp tecmo_mix.cpp tecmo_mix.h thunderj.cpp toaplan_scu.cpp

trunk/hash/atom.xml
r0r252920
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3<!--
4
5  Missing:
6
7  - econet
8  - axr2 (APP Laboratories)
9
10-->
11<softwarelist name="atom" description="Acorn Atom expansion ROMs">
12   <software name="josbox">
13      <description>Atom Extension ROM AXR1</description>
14      <year>198?</year>
15      <publisher>ECD Computer Workshop</publisher>
16      <part name="cart" interface="atom_cart">
17         <dataarea name="rom" size="4096">
18            <rom name="axr1.rom" size="4096" crc="868fda8b" sha1="f8417787c28818a7646b9b59d706ef890255049f" offset="0" />
19         </dataarea>
20      </part>
21   </software>
22
23   <software name="pcharme">
24      <description>P-Charme</description>
25      <year>1984</year>
26      <publisher>Frans van Hoesel</publisher>
27      <part name="cart" interface="atom_cart">
28         <dataarea name="rom" size="4096">
29            <rom name="pcharme.rom" size="4096" crc="9e8bd79f" sha1="66c57622448b448aa6080911dccb03456d0e3b81" offset="0" />
30         </dataarea>
31      </part>
32   </software>
33
34   <software name="gags">
35      <description>GAGS v2.3</description>
36      <year>198?</year>
37      <publisher>G. Hillebrand</publisher>
38      <part name="cart" interface="atom_cart">
39         <dataarea name="rom" size="4096">
40            <rom name="gags.rom" size="4096" crc="35e1d713" sha1="94cc2887ad9fea1849d1d53c64d0668e77696ef4" offset="0" />
41         </dataarea>
42      </part>
43   </software>
44
45   <software name="werom">
46      <description>WE-ROM</description>
47      <year>1983</year>
48      <publisher>Watford Electronics</publisher>
49      <part name="cart" interface="atom_cart">
50         <dataarea name="rom" size="4096">
51            <rom name="werom.rom" size="4096" crc="dfcb3bf8" sha1="85a19146844da2d6f03e1cde37ee17429eedeb0d" offset="0" />
52         </dataarea>
53      </part>
54   </software>
55
56   <software name="afuk">
57      <description>A&amp;F Utility Kit</description>
58      <year>198?</year>
59      <publisher>&lt;unknown&gt;</publisher>
60      <part name="cart" interface="atom_cart">
61         <dataarea name="rom" size="4096">
62            <rom name="utilikit.rom" size="4096" crc="013b8f93" sha1="b4341f116a6d1e0cbcd39d64e0b5d14a90dc0356" offset="0" />
63         </dataarea>
64      </part>
65   </software>
66
67   <software name="combox">
68      <description>COM-Box</description>
69      <year>198?</year>
70      <publisher>B. Poot</publisher>
71      <part name="cart" interface="atom_cart">
72         <dataarea name="rom" size="4096">
73            <rom name="combox.rom" size="4096" crc="9c8210ab" sha1="ea293f49a98721cdbdf985d6f2fe636290ef0e75" offset="0" />
74         </dataarea>
75      </part>
76   </software>
77
78   <software name="salfaa">
79      <description>SALFAA v2.6</description>
80      <year>198?</year>
81      <publisher>B. Poot &amp; J. Jobse</publisher>
82      <part name="cart" interface="atom_cart">
83         <dataarea name="rom" size="4096">
84            <rom name="salfaa.rom" size="4096" crc="ef857b25" sha1="b3812427233060972fa01faf3ce381a21576a5ed" offset="0" />
85         </dataarea>
86      </part>
87   </software>
88
89   <software name="mousebox">
90      <description>Mouse-Dos Box v1.01</description>
91      <year>198?</year>
92      <publisher>&lt;unknown&gt;</publisher>
93      <part name="cart" interface="atom_cart">
94         <dataarea name="rom" size="4096">
95            <rom name="mousebox.rom" size="4096" crc="0dff30e4" sha1="b7c0b9c23fcc5cfdc06cb2d2a9e7c2658e248ef7" offset="0" />
96         </dataarea>
97      </part>
98   </software>
99
100   <software name="windows">
101      <description>Atomic Windows v1.0</description>
102      <year>198?</year>
103      <publisher>&lt;unknown&gt;</publisher>
104      <part name="cart" interface="atom_cart">
105         <dataarea name="rom" size="4096">
106            <rom name="atomicw.rom" size="4096" crc="a3fd737d" sha1="d418d9322c69c49106ed2c268ad0864c0f2c4c1b" offset="0" />
107         </dataarea>
108      </part>
109   </software>
110
111   <software name="toolkit">
112      <description>Programmer's Toolkit</description>
113      <year>198?</year>
114      <publisher>&lt;unknown&gt;</publisher>
115      <part name="cart" interface="atom_cart">
116         <dataarea name="rom" size="4096">
117            <rom name="toolkit.rom" size="4096" crc="9661561c" sha1="faa0394232caf7626499c9bc57c6af36017fe852" offset="0" />
118         </dataarea>
119      </part>
120   </software>
121</softwarelist>
trunk/hash/atom_cass.xml
r252919r252920
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3
4<!-- Acorn Atom - Cassette images -->
5
6<softwarelist name="atom_cass" description="Acorn Atom cassettes">
7
8   <software name="747">
9      <description>747 (12K)</description>
10      <year>1981</year>
11      <publisher>Bug Byte</publisher>
12      <part name="cass1" interface="atom_cass">
13         <dataarea name="cass" size="4252">
14            <rom name="747(bugbyte).hq.uef" size="4252" crc="098b61ec" sha1="e819e5e7a85e481bb21d1332140bae702615eb9d" offset="0" />
15         </dataarea>
16      </part>
17   </software>
18
19   <software name="adventre">
20      <description>Adventure (12K)</description>
21      <year>1981</year>
22      <publisher>Program Power</publisher>
23      <part name="cass1" interface="atom_cass">
24         <dataarea name="cass" size="4505">
25            <rom name="adventure(programpower).hq.uef" size="4505" crc="31b5e31c" sha1="8c91aa7a353e03b4ec607c1e616a5cdafe80ed35" offset="0" />
26         </dataarea>
27      </part>
28   </software>
29
30   <software name="adventrs">
31      <description>Adventures (Adventure/Dungeon/House/Intergalactic)</description>
32      <year>1981</year>
33      <publisher>Acornsoft</publisher>
34      <part name="cass1" interface="atom_cass">
35         <dataarea name="cass" size="13965">
36            <rom name="adventures(acornsoft).hq.uef" size="13965" crc="18e3d1d4" sha1="6513f6951f34c64555027615f0afdc18987f2e38" offset="0" />
37         </dataarea>
38      </part>
39   </software>
40
41   <software name="africadi">
42      <description>The Africa Diamond (10K)</description>
43      <year>1982</year>
44      <publisher>Ramtronics</publisher>
45      <part name="cass1" interface="atom_cass">
46         <dataarea name="cass" size="7512">
47            <rom name="africadiamond(ramtronics).hq.uef" size="7512" crc="1c80dbe5" sha1="1682c82b2892f7ebdd80673ab313f17b4138fbee" offset="0" />
48         </dataarea>
49      </part>
50   </software>
51
52   <software name="atdbase">
53      <description>Atom Database</description>
54      <year>1980</year>
55      <publisher>Acornsoft</publisher>
56      <part name="cass1" interface="atom_cass">
57         <dataarea name="cass" size="4389">
58            <rom name="database(acornsoft).hq.uef" size="4389" crc="d4fcb5d8" sha1="1568a25063197149792e3aa7c1f4b16b7e050e79" offset="0" />
59         </dataarea>
60      </part>
61   </software>
62
63   <software name="atstore">
64      <description>AtomStore (12K)</description>
65      <year>1981</year>
66      <publisher>Program Power</publisher>
67      <part name="cass1" interface="atom_cass">
68         <dataarea name="cass" size="3517">
69            <rom name="atomstore(programpower).hq.uef" size="3517" crc="6604a70b" sha1="fd0b98ca8415591111cbb5ab188eefb40733f5f8" offset="0" />
70         </dataarea>
71      </part>
72   </software>
73
74   <software name="atsynth">
75      <description>Atom Synthesiser (5K)</description>
76      <year>1981</year>
77      <publisher>Acornsoft</publisher>
78      <part name="cass1" interface="atom_cass">
79         <dataarea name="cass" size="4663">
80            <rom name="synthesiser(acornsoft).hq.uef" size="4663" crc="8dbbdca0" sha1="4f12bad56fe7c4b5a10471a0d1e164100158ce94" offset="0" />
81         </dataarea>
82      </part>
83   </software>
84
85   <software name="breakout">
86      <description>Breakout (4K)</description>
87      <year>1981</year>
88      <publisher>Bug Byte</publisher>
89      <part name="cass1" interface="atom_cass">
90         <dataarea name="cass" size="3460">
91            <rom name="breakout(bugbyte).hq.uef" size="3460" crc="36b837d3" sha1="774f827ffb97d29831b29985b7c79bcece525cbc" offset="0" />
92         </dataarea>
93      </part>
94   </software>
95
96   <software name="busgame">
97      <description>Business Game</description>
98      <year>1982</year>
99      <publisher>Program Power</publisher>
100      <part name="cass1" interface="atom_cass">
101         <dataarea name="cass" size="3459">
102            <rom name="businessgame(programpower).hq.uef" size="3459" crc="c2e72bbb" sha1="4acdf3e491aba4a0bf22f2f9bebb546e3487c089" offset="0" />
103         </dataarea>
104      </part>
105   </software>
106
107   <software name="centiped">
108      <description>Centipede</description>
109      <year>198?</year>
110      <publisher>Micromania</publisher>
111      <part name="cass1" interface="atom_cass">
112         <dataarea name="cass" size="4067">
113            <rom name="centipede(micromania).hq.uef" size="4067" crc="f4e450e7" sha1="88c83eeec83dbfe5507e308c6a7c3476fa47c66a" offset="0" />
114         </dataarea>
115      </part>
116   </software>
117
118   <software name="chuckie">
119      <description>Atomic Chuckie Egg (32K)</description>
120      <year>2012</year>
121      <publisher>Retro Software</publisher>
122      <info name="author" value="Kees van Oss" />
123      <info name="usage" value="Load with *RUN&quot;CHUCKIE&quot;" />
124      <part name="cass1" interface="atom_cass">
125         <feature name="part_id" value="Monochrome"/>
126         <dataarea name="cass" size="9070">
127            <rom name="mchuck.uef" size="9070" crc="0ccd10cd" sha1="2c33026fc6a64ea30197e44896ce4f763183d14b" offset="0" />
128         </dataarea>
129      </part>
130      <part name="cass2" interface="atom_cass">
131         <feature name="part_id" value="Colour"/>
132         <dataarea name="cass" size="9062">
133            <rom name="cchuck.uef" size="9062" crc="ab4b3a62" sha1="4240d4401c61fac78c9c8b7ce8a12b56266654d8" offset="0" />
134         </dataarea>
135      </part>
136   </software>
137
138   <software name="deathsat">
139      <description>Death Satellite (12K)</description>
140      <year>1982</year>
141      <publisher>A&amp;F Software</publisher>
142      <part name="cass1" interface="atom_cass">
143         <dataarea name="cass" size="10114">
144            <rom name="deathsatellite(anf).hq.uef" size="10114" crc="2c303b50" sha1="c8a7a9fba2c9913c8d0ffd3b0296f6742109a4e1" offset="0" />
145         </dataarea>
146      </part>
147   </software>
148
149   <software name="defender">
150      <description>Defender</description>
151      <year>1982</year>
152      <publisher>Micromania</publisher>
153      <part name="cass1" interface="atom_cass">
154         <dataarea name="cass" size="4424">
155            <rom name="defender(micromania).hq.uef" size="4424" crc="15a7abd3" sha1="4d7c788787b8e98c6a5d5317a82b5b5081c370ce" offset="0" />
156         </dataarea>
157      </part>
158   </software>
159
160   <software name="demondun">
161      <description>Demon Dungeon (5K)</description>
162      <year>1980</year>
163      <publisher>Program Power</publisher>
164      <part name="cass1" interface="atom_cass">
165         <dataarea name="cass" size="5116">
166            <rom name="demondungeon(programpower).hq.uef" size="5116" crc="3f82cb6f" sha1="326b7b29a56735df61c4f75e3cb5899be85b1e5f" offset="0" />
167         </dataarea>
168      </part>
169   </software>
170
171   <software name="gala">
172      <description>Galaforce (32K)</description>
173      <year>2012</year>
174      <publisher>Retro Software</publisher>
175      <info name="author" value="Kees van Oss" />
176      <info name="usage" value="Load with *RUN&quot;LOADER&quot;" />
177      <part name="cass1" interface="atom_cass">
178         <feature name="part_id" value="Monochrome"/>
179         <dataarea name="cass" size="9913">
180            <rom name="mgala.uef" size="9913" crc="71ce39de" sha1="83519ddabf85255a3fb222e8946300ae1ebe11c8" offset="0" />
181         </dataarea>
182      </part>
183      <part name="cass2" interface="atom_cass">
184         <feature name="part_id" value="Colour"/>
185         <dataarea name="cass" size="9933">
186            <rom name="cgala.uef" size="9933" crc="49582b6a" sha1="7eae37d834cc79f5d066fe0f8b465f629bf6b279" offset="0" />
187         </dataarea>
188      </part>
189   </software>
190
191   <software name="galaxian">
192      <description>Galaxian (12K)</description>
193      <year>1981</year>
194      <publisher>Bug Byte</publisher>
195      <part name="cass1" interface="atom_cass">
196         <dataarea name="cass" size="4106">
197            <rom name="galaxian(bugbyte).hq.uef" size="4106" crc="da761b61" sha1="88fd7efe9a4defa2e593ec713070081e30dfad8f" offset="0" />
198         </dataarea>
199      </part>
200   </software>
201
202   <software name="gamepk1">
203      <description>Games Pack 1 (Asteroids/Sub Hunt/Breakout)</description>
204      <year>1981</year>
205      <publisher>Acornsoft</publisher>
206      <part name="cass1" interface="atom_cass">
207         <dataarea name="cass" size="6080">
208            <rom name="gamespack1(acornsoft).hq.uef" size="6080" crc="fe4ed08b" sha1="986348d3b7b4d3f895a21e015f2d89be00f41824" offset="0" />
209         </dataarea>
210      </part>
211   </software>
212
213   <software name="gamepk3">
214      <description>Games Pack 3 (Rat Trap/Lunar Lander/Black Box)</description>
215      <year>1981</year>
216      <publisher>Acornsoft</publisher>
217      <part name="cass1" interface="atom_cass">
218         <dataarea name="cass" size="5707">
219            <rom name="gamespack3(acornsoft).hq.uef" size="5707" crc="e00f2289" sha1="2715c998002885f355430d6aa61e66610da6c7ae" offset="0" />
220         </dataarea>
221      </part>
222   </software>
223
224   <software name="gamepk4">
225      <description>Games Pack 4 (Star Trek/Four Row/Space Attack)</description>
226      <year>1981</year>
227      <publisher>Acornsoft</publisher>
228      <part name="cass1" interface="atom_cass">
229         <dataarea name="cass" size="8390">
230            <rom name="gamespack4(acornsoft).hq.uef" size="8390" crc="17255110" sha1="98df80200d5aacd7bf8aa98c60dc74848ad1d028" offset="0" />
231         </dataarea>
232      </part>
233   </software>
234
235   <software name="gamepk8">
236      <description>Games Pack 8 (Stargate/Gomoku/Robots)</description>
237      <year>1981</year>
238      <publisher>Acornsoft</publisher>
239      <part name="cass1" interface="atom_cass">
240         <dataarea name="cass" size="8659">
241            <rom name="gamespack8(acornsoft).hq.uef" size="8659" crc="6ca83cd1" sha1="b95b10021e5b85f814c4562c92ad1905da470b18" offset="0" />
242         </dataarea>
243      </part>
244   </software>
245
246   <software name="gamepk9">
247      <description>Games Pack 9 (Snapper/Minotaur/Babies)</description>
248      <year>1981</year>
249      <publisher>Acornsoft</publisher>
250      <part name="cass1" interface="atom_cass">
251         <dataarea name="cass" size="9710">
252            <rom name="gamespack9(acornsoft).hq.uef" size="9710" crc="587742c0" sha1="1b0f064539383c2255cc9a560607c1c7e62c5c7b" offset="0" />
253         </dataarea>
254      </part>
255   </software>
256
257   <software name="gamepk10">
258      <description>Games Pack 10 (Breakout/Mastermind/Snake/Simon/Moon/Hectic/Ski-Run/Track/Squash/Bombs-Away)</description>
259      <year>1981</year>
260      <publisher>Acornsoft</publisher>
261      <part name="cass1" interface="atom_cass">
262         <dataarea name="cass" size="5389">
263            <rom name="gamespack10(acornsoft).hq.uef" size="5389" crc="329712bb" sha1="2a70142356a601b94324b7bd6127ff71fc915e32" offset="0" />
264         </dataarea>
265      </part>
266   </software>
267
268   <software name="hardhath">
269      <description>Hard Hat Harry (32K)</description>
270      <year>2011</year>
271      <publisher>Retro Software</publisher>
272      <info name="author" value="Tom Walker" />
273      <info name="usage" value="Load with *RUN&quot;LOADER&quot;" />
274      <part name="cass1" interface="atom_cass">
275         <dataarea name="cass" size="8911">
276            <rom name="hardhatharry.uef" size="8911" crc="901ca53a" sha1="b195c7ee16da9b91c83f4cd7705e0a250a5a61a4" offset="0" />
277         </dataarea>
278      </part>
279   </software>
280
281   <software name="hyperfir">
282      <description>Hyperfire (12K)</description>
283      <year>1982</year>
284      <publisher>Program Power</publisher>
285      <part name="cass1" interface="atom_cass">
286         <dataarea name="cass" size="4245">
287            <rom name="hyperfire(programpower).hq.uef" size="4245" crc="470b61d7" sha1="5000117044c1c9b5c10951f85ffe5b028f8ca4fe" offset="0" />
288         </dataarea>
289      </part>
290   </software>
291
292   <software name="hypervpr">
293      <description>Hyper Viper (12K)</description>
294      <year>2011</year>
295      <publisher>Retro Software</publisher>
296      <info name="author" value="Kenton Price" />
297      <info name="usage" value="Load with *RUN&quot;LOADER&quot;" />
298      <part name="cass1" interface="atom_cass">
299         <feature name="part_id" value="Monochrome"/>
300         <dataarea name="cass" size="4055">
301            <rom name="mhyperviper.uef" size="4055" crc="c77e31b1" sha1="0cbf321aa49357371a242127a90d2fe56e712e65" offset="0" />
302         </dataarea>
303      </part>
304      <part name="cass2" interface="atom_cass">
305         <feature name="part_id" value="Colour"/>
306         <dataarea name="cass" size="4053">
307            <rom name="chyperviper.uef" size="4053" crc="f2cdc664" sha1="06834429d0c133ebca1e47aab143bab4aec0dd7f" offset="0" />
308         </dataarea>
309      </part>
310   </software>
311
312   <software name="jetsetmn">
313      <description>Jet Set Miner (12K)</description>
314      <year>2009</year>
315      <publisher>Retro Software</publisher>
316      <info name="author" value="Kees van Oss" />
317      <info name="usage" value="Load with *RUN&quot;LOADER&quot;" />
318      <part name="cass1" interface="atom_cass">
319         <feature name="part_id" value="Monochrome"/>
320         <dataarea name="cass" size="3960">
321            <rom name="mjetsetminer.uef" size="3960" crc="08bf1104" sha1="7db984f82f230531ee2485cb602caa13fc9279cb" offset="0" />
322         </dataarea>
323      </part>
324      <part name="cass2" interface="atom_cass">
325         <feature name="part_id" value="Colour"/>
326         <dataarea name="cass" size="4021">
327            <rom name="cjetsetminer.uef" size="4021" crc="d1765c3d" sha1="1ce54ed41b878ba7abf0059785497eb7645430f2" offset="0" />
328         </dataarea>
329      </part>
330   </software>
331
332   <software name="joeblade">
333      <description>Atomic Joe Blade (32K)</description>
334      <year>2014</year>
335      <publisher>Retro Software</publisher>
336      <info name="author" value="Kees van Oss" />
337      <info name="usage" value="Load with *RUN&quot;LOADER&quot;" />
338      <part name="cass1" interface="atom_cass">
339         <dataarea name="cass" size="15022">
340            <rom name="joeblade.uef" size="15022" crc="76b7572e" sha1="0079738ca604e6cfbba4016a9e3d6937b6e8f358" offset="0" />
341         </dataarea>
342      </part>
343   </software>
344
345   <software name="jungle">
346      <description>Jungle Journey (32K)</description>
347      <year>2012</year>
348      <publisher>Retro Software</publisher>
349      <info name="author" value="Kees van Oss" />
350      <info name="usage" value="Load with *RUN&quot;JUNGLE&quot;" />
351      <part name="cass1" interface="atom_cass">
352         <dataarea name="cass" size="13807">
353            <rom name="jungle.uef" size="13807" crc="d5ed427b" sha1="7d78b13538820e6a39b08da9ea9b0ac6b0dfddfc" offset="0" />
354         </dataarea>
355      </part>
356   </software>
357
358   <software name="labyrint">
359      <description>Labyrinth (12K)</description>
360      <year>1981</year>
361      <publisher>Bug Byte</publisher>
362      <part name="cass1" interface="atom_cass">
363         <dataarea name="cass" size="5009">
364            <rom name="labyrinth(bugbyte).hq.uef" size="5009" crc="445a3221" sha1="86cb47e30cddbd36407691abdf8ee46bf1b3d265" offset="0" />
365         </dataarea>
366      </part>
367   </software>
368
369   <software name="omegamis">
370      <description>Omega Mission</description>
371      <year>1982</year>
372      <publisher>Micromania</publisher>
373      <part name="cass1" interface="atom_cass">
374         <dataarea name="cass" size="5081">
375            <rom name="omegamission(micromania).hq.uef" size="5081" crc="76fa7cdd" sha1="751466ae1e19788641063540510d61b37ab080df" offset="0" />
376         </dataarea>
377      </part>
378   </software>
379
380   <software name="peekocom">
381      <description>Peeko-Computer</description>
382      <year>1981</year>
383      <publisher>Acornsoft</publisher>
384      <part name="cass1" interface="atom_cass">
385         <dataarea name="cass" size="4483">
386            <rom name="peekocomputer(acornsoft).hq.uef" size="4483" crc="0c74b9c7" sha1="bf804a058a5012b12d3b4c9dbc44d885c42e1c8c" offset="0" />
387         </dataarea>
388      </part>
389   </software>
390
391   <software name="pinball">
392      <description>Pinball (6K)</description>
393      <year>1980</year>
394      <publisher>Bug Byte</publisher>
395      <part name="cass1" interface="atom_cass">
396         <dataarea name="cass" size="4501">
397            <rom name="pinball(bugbyte).hq.uef" size="4501" crc="29501b59" sha1="0cd917188dd3bd22a1c7d5804bdf872a86ea694e" offset="0" />
398         </dataarea>
399      </part>
400   </software>
401
402   <software name="protectr">
403      <description>The Protector</description>
404      <year>1982</year>
405      <publisher>Micromania</publisher>
406      <part name="cass1" interface="atom_cass">
407         <dataarea name="cass" size="3726">
408            <rom name="protector(micromania).hq.uef" size="3726" crc="dc0a2ac4" sha1="19e24ab434f3fcdba79425a58e263d9405d46f91" offset="0" />
409         </dataarea>
410      </part>
411   </software>
412
413   <software name="repton">
414      <description>Repton (32K)</description>
415      <year>2013</year>
416      <publisher>Retro Software</publisher>
417      <info name="author" value="Kees van Oss" />
418      <info name="usage" value="Load with *RUN&quot;LOADER&quot;" />
419      <part name="cass1" interface="atom_cass">
420         <dataarea name="cass" size="14895">
421            <rom name="repton.uef" size="14895" crc="1a69941a" sha1="ce3fc486457f1b51b1a4bde83e25936201bb63dd" offset="0" />
422         </dataarea>
423      </part>
424   </software>
425
426   <software name="spfightr">
427      <description>Space Fighter (6K)</description>
428      <year>1981</year>
429      <publisher>Program Power</publisher>
430      <part name="cass1" interface="atom_cass">
431         <dataarea name="cass" size="4341">
432            <rom name="spacefighter(programpower).hq.uef" size="4341" crc="4783c679" sha1="ef2591d569a0ddece32020e7328d721eef573ee5" offset="0" />
433         </dataarea>
434      </part>
435   </software>
436
437   <software name="swarm">
438      <description>Swarm</description>
439      <year>1981</year>
440      <publisher>Program Power</publisher>
441      <part name="cass1" interface="atom_cass">
442         <dataarea name="cass" size="3800">
443            <rom name="swarm(programpower).hq.uef" size="3800" crc="9e6706e9" sha1="563811e318bad804b874089fa2733906104494c0" offset="0" />
444         </dataarea>
445      </part>
446   </software>
447
448   <software name="typist">
449      <description>Atom Typist (7K)</description>
450      <year>1981</year>
451      <publisher>Bug Byte</publisher>
452      <part name="cass1" interface="atom_cass">
453         <dataarea name="cass" size="3136">
454            <rom name="atomtypist(bugbyte).hq.uef" size="3136" crc="4339f00b" sha1="92ae659767cf0cf3fb3e747088620cce2b7132a4" offset="0" />
455         </dataarea>
456      </part>
457   </software>
458
459   <software name="ufobombr">
460      <description>UFO Bomber (7K)</description>
461      <year>1981</year>
462      <publisher>Bug Byte</publisher>
463      <part name="cass1" interface="atom_cass">
464         <dataarea name="cass" size="3309">
465            <rom name="ufobomber(bugbyte).hq.uef" size="3309" crc="660cc687" sha1="d8ec60072e596628171e132dea978a5190c9030b" offset="0" />
466         </dataarea>
467      </part>
468   </software>
469
470   <software name="zodiac">
471      <description>Zodiac (12K)</description>
472      <year>1981</year>
473      <publisher>A&amp;F Software</publisher>
474      <part name="cass1" interface="atom_cass">
475         <dataarea name="cass" size="7969">
476            <rom name="zodiac(anf).hq.uef" size="7969" crc="2d3e6f50" sha1="75342bca3fb0560b08964280457493b59f6f3120" offset="0" />
477         </dataarea>
478      </part>
479   </software>
480
481</softwarelist>
trunk/hash/atom_flop.xml
r252919r252920
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3
4<!-- Acorn Atom - Floppy disk images -->
5
6<!-- Loading Instructions:
7
8    *DOS - enters the DOS. The LOAD and SAVE commands apply now to disk, not cassette. Use the BREAK key to return to the cassette basic.
9    *DIR - load the directory information into a buffer (but does not show it). This is a sort of mount command.
10    *CAT - prints the directory information from the buffer on the screen. If the disk was spinning, an implicit *DIR is executed.
11
12-->
13
14<softwarelist name="atom_flop" description="Acorn Atom disk images">
15
16   <software name="chuckie">
17      <description>Atomic Chuckie Egg (32K)</description>
18      <year>2012</year>
19      <publisher>Retro Software</publisher>
20      <info name="author" value="Kees van Oss" />
21      <info name="usage" value="Load with *RUN&quot;runme&quot;" />
22      <part name="flop1" interface="floppy_5_25">
23         <dataarea name="flop" size="102400">
24            <rom name="chuckie.dsk" size="102400" crc="1241ac5d" sha1="4ef6e1a18af27c922003415abb69987d54efe391" offset="0" />
25         </dataarea>
26      </part>
27   </software>
28
29   <software name="gala">
30      <description>Galaforce (32K)</description>
31      <year>2012</year>
32      <publisher>Retro Software</publisher>
33      <info name="author" value="Kees van Oss" />
34      <info name="usage" value="Load with *RUN&quot;runme&quot;" />
35      <part name="flop1" interface="floppy_5_25">
36         <dataarea name="flop" size="102400">
37            <rom name="gala.dsk" size="102400" crc="db52a3ae" sha1="ffece5ae2295818f649735c5b7711e740dfe4731" offset="0" />
38         </dataarea>
39      </part>
40   </software>
41
42   <software name="hardhath">
43      <description>Hard Hat Harry (32K)</description>
44      <year>2011</year>
45      <publisher>Retro Software</publisher>
46      <info name="author" value="Tom Walker" />
47      <info name="usage" value="Load with *RUN&quot;LOADER&quot;" />
48      <part name="flop1" interface="floppy_5_25">
49         <dataarea name="flop" size="102400">
50            <rom name="hardhatharry.dsk" size="102400" crc="654cadd3" sha1="fd2f6ff91bfb105b5eb866562d23f3a6edc91276" offset="0" />
51         </dataarea>
52      </part>
53   </software>
54
55   <software name="hypervpr">
56      <description>Hyper Viper (12K)</description>
57      <year>2011</year>
58      <publisher>Retro Software</publisher>
59      <info name="author" value="Kenton Price" />
60      <info name="usage" value="Load with *RUN&quot;LOADER&quot;" />
61      <part name="flop1" interface="floppy_5_25">
62         <dataarea name="flop" size="102400">
63            <rom name="hyperviper.dsk" size="102400" crc="401dadb9" sha1="ece2cf9d7740c0266ebe5072dd298e9811dd0f47" offset="0" />
64         </dataarea>
65      </part>
66   </software>
67
68   <software name="jetsetmn">
69      <description>Jet Set Miner (12K)</description>
70      <year>2009</year>
71      <publisher>Retro Software</publisher>
72      <info name="author" value="Kees van Oss" />
73      <info name="usage" value="Load with *RUN&quot;LOADER&quot;" />
74      <part name="flop1" interface="floppy_5_25">
75         <dataarea name="flop" size="102400">
76            <rom name="jetsetminer.dsk" size="102400" crc="de1a54f2" sha1="62d97d25fb748ee72ee972ad42c30f69d31ec5e0" offset="0" />
77         </dataarea>
78      </part>
79   </software>
80
81   <software name="jsw">
82      <description>Jet Set Willy (32K)</description>
83      <year>2015</year>
84      <publisher>Retro Software</publisher>
85      <info name="author" value="Kees van Oss" />
86      <info name="usage" value="Load with *RUN&quot;JSWRUN&quot;" />
87      <part name="flop1" interface="floppy_5_25">
88         <dataarea name="flop" size="102400">
89            <rom name="jsw.dsk" size="102400" crc="01625c6a" sha1="ee1f5cc7e21cbc7044d4b6741b144facf45130e7" offset="0" />
90         </dataarea>
91      </part>
92   </software>
93
94   <software name="jsw2">
95      <description>Jet Set Willy 2 (32K)</description>
96      <year>2015</year>
97      <publisher>Retro Software</publisher>
98      <info name="author" value="Kees van Oss" />
99      <info name="usage" value="Load with *RUN&quot;JSW2RUN&quot;" />
100      <part name="flop1" interface="floppy_5_25">
101         <dataarea name="flop" size="102400">
102            <rom name="jsw2.dsk" size="102400" crc="28566aed" sha1="394859c86d20d404a210e984b759c067aa2dc67d" offset="0" />
103         </dataarea>
104      </part>
105   </software>
106
107   <software name="joeblade">
108      <description>Atomic Joe Blade (32K)</description>
109      <year>2014</year>
110      <publisher>Retro Software</publisher>
111      <info name="author" value="Kees van Oss" />
112      <info name="usage" value="Load with *RUN&quot;JOE&quot;" />
113      <part name="flop1" interface="floppy_5_25">
114         <dataarea name="flop" size="102400">
115            <rom name="joeblade.dsk" size="102400" crc="6b5fc7a5" sha1="58c812c2bdecc358e0a127d470ee26aa0c190262" offset="0" />
116         </dataarea>
117      </part>
118   </software>
119
120   <software name="jungle">
121      <description>Jungle Journey (32K)</description>
122      <year>2012</year>
123      <publisher>Retro Software</publisher>
124      <info name="author" value="Kees van Oss" />
125      <info name="usage" value="Load with *RUN&quot;runme&quot;" />
126      <part name="flop1" interface="floppy_5_25">
127         <dataarea name="flop" size="102400">
128            <rom name="jungle.dsk" size="102400" crc="92c50fe2" sha1="a6ffbdbf0f2f7b5c4038d44632a14e1b89682db0" offset="0" />
129         </dataarea>
130      </part>
131   </software>
132
133   <software name="repton">
134      <description>Repton (32K)</description>
135      <year>2013</year>
136      <publisher>Retro Software</publisher>
137      <info name="author" value="Kees van Oss" />
138      <info name="usage" value="Load with *RUN&quot;runme&quot;" />
139      <part name="flop1" interface="floppy_5_25">
140         <dataarea name="flop" size="102400">
141            <rom name="repton.dsk" size="102400" crc="17cebe3d" sha1="0657e2bb63ba46e0de7e21abca5cab6dcdf666d1" offset="0" />
142         </dataarea>
143      </part>
144   </software>
145
146</softwarelist>
trunk/hash/atom_rom.xml
r252919r252920
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3<!--
4
5  Missing:
6
7  - econet
8  - axr2 (APP Laboratories)
9
10-->
11<softwarelist name="atom_rom" description="Acorn Atom expansion ROMs">
12
13   <software name="josbox">
14      <description>AXR1</description>
15      <year>198?</year>
16      <publisher>ECD Computer Workshop</publisher>
17      <part name="cart" interface="atom_cart">
18         <dataarea name="rom" size="4096">
19            <rom name="axr1.rom" size="4096" crc="868fda8b" sha1="f8417787c28818a7646b9b59d706ef890255049f" offset="0" />
20         </dataarea>
21      </part>
22   </software>
23
24   <software name="pcharme">
25      <description>P-Charme Interpreter</description>
26      <year>1984</year>
27      <publisher>Frans van Hoesel</publisher>
28      <part name="cart" interface="atom_cart">
29         <dataarea name="rom" size="4096">
30            <rom name="pcharme.rom" size="4096" crc="9e8bd79f" sha1="66c57622448b448aa6080911dccb03456d0e3b81" offset="0" />
31         </dataarea>
32      </part>
33   </software>
34
35   <software name="gags">
36      <description>GAGS v2.3</description>
37      <year>198?</year>
38      <publisher>G. Hillebrand</publisher>
39      <part name="cart" interface="atom_cart">
40         <dataarea name="rom" size="4096">
41            <rom name="gags.rom" size="4096" crc="35e1d713" sha1="94cc2887ad9fea1849d1d53c64d0668e77696ef4" offset="0" />
42         </dataarea>
43      </part>
44   </software>
45
46   <software name="werom">
47      <description>WE-ROM</description>
48      <year>1983</year>
49      <publisher>Watford Electronics</publisher>
50      <part name="cart" interface="atom_cart">
51         <dataarea name="rom" size="4096">
52            <rom name="werom.rom" size="4096" crc="dfcb3bf8" sha1="85a19146844da2d6f03e1cde37ee17429eedeb0d" offset="0" />
53         </dataarea>
54      </part>
55   </software>
56
57   <software name="afuk">
58      <description>A&amp;F Utility Kit</description>
59      <year>1982</year>
60      <publisher>A&amp;F Software</publisher>
61      <part name="cart" interface="atom_cart">
62         <dataarea name="rom" size="4096">
63            <rom name="utilikit.rom" size="4096" crc="013b8f93" sha1="b4341f116a6d1e0cbcd39d64e0b5d14a90dc0356" offset="0" />
64         </dataarea>
65      </part>
66   </software>
67
68   <software name="combox">
69      <description>COM-Box</description>
70      <year>198?</year>
71      <publisher>B. Poot</publisher>
72      <part name="cart" interface="atom_cart">
73         <dataarea name="rom" size="4096">
74            <rom name="combox.rom" size="4096" crc="9c8210ab" sha1="ea293f49a98721cdbdf985d6f2fe636290ef0e75" offset="0" />
75         </dataarea>
76      </part>
77   </software>
78
79   <software name="salfaa">
80      <description>SALFAA v2.6</description>
81      <year>198?</year>
82      <publisher>B. Poot &amp; J. Jobse</publisher>
83      <part name="cart" interface="atom_cart">
84         <dataarea name="rom" size="4096">
85            <rom name="salfaa.rom" size="4096" crc="ef857b25" sha1="b3812427233060972fa01faf3ce381a21576a5ed" offset="0" />
86         </dataarea>
87      </part>
88   </software>
89
90   <software name="mousebox">
91      <description>Mouse-Dos Box v1.01</description>
92      <year>198?</year>
93      <publisher>&lt;unknown&gt;</publisher>
94      <part name="cart" interface="atom_cart">
95         <dataarea name="rom" size="4096">
96            <rom name="mousebox.rom" size="4096" crc="0dff30e4" sha1="b7c0b9c23fcc5cfdc06cb2d2a9e7c2658e248ef7" offset="0" />
97         </dataarea>
98      </part>
99   </software>
100
101   <software name="windows">
102      <description>Atomic Windows v1.0</description>
103      <year>198?</year>
104      <publisher>Kees van Oss</publisher>
105      <part name="cart" interface="atom_cart">
106         <dataarea name="rom" size="4096">
107            <rom name="atomicw.rom" size="4096" crc="a3fd737d" sha1="d418d9322c69c49106ed2c268ad0864c0f2c4c1b" offset="0" />
108         </dataarea>
109      </part>
110   </software>
111
112   <software name="toolkit">
113      <description>Programmer's Toolkit</description>
114      <year>198?</year>
115      <publisher>&lt;unknown&gt;</publisher>
116      <part name="cart" interface="atom_cart">
117         <dataarea name="rom" size="4096">
118            <rom name="toolkit.rom" size="4096" crc="9661561c" sha1="faa0394232caf7626499c9bc57c6af36017fe852" offset="0" />
119         </dataarea>
120      </part>
121   </software>
122</softwarelist>
trunk/hash/bw14.xml
r252919r252920
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3
4<softwarelist name="bw14" description="Bondwell 14 disk images">
5
6   <software name="cpm30">
7      <description>CP/M 3.02</description>
8      <year>1984</year>
9      <publisher>Digital Research Inc.</publisher>
10      <info name="serial" value="1006-1269-00306" />
11      <info name="part" value="MM00027/MM00028" />
12      <part name="flop1" interface="floppy_5_25">
13         <feature name="part_id" value="System &amp; Utl. (1)"/>
14         <dataarea name="flop" size="368974">
15            <rom name="cpm3sys1.cqm" size="368974" crc="22b4904b" sha1="cc5fcbf445281625bf9f670d7bbc1f88e0b0f5af" offset="0"/>
16         </dataarea>
17      </part>
18      <part name="flop2" interface="floppy_5_25">
19         <feature name="part_id" value="System &amp; Utl. (2)"/>
20         <dataarea name="flop" size="368974">
21            <rom name="cpm3sys2.cqm" size="368974" crc="6285e8cc" sha1="3886f19a73f4f83db524df5b217f86dfa86bd8c4" offset="0"/>
22         </dataarea>
23      </part>
24   </software>
25
26   <software name="calcstar">
27      <description>CalcStar v1.45</description>
28      <year>1983</year>
29      <publisher>MicroPro International</publisher>
30      <info name="serial" value="BC01-0003-01003" />
31      <info name="part" value="MM00013" />
32      <part name="flop1" interface="floppy_5_25">
33         <feature name="part_id" value="CalcStar"/>
34         <dataarea name="flop" size="368974">
35            <rom name="calcstar.cqm" size="368974" crc="78855358" sha1="bdf5bc01f2eca7a5b264df7a5367622270f17631" offset="0"/>
36         </dataarea>
37      </part>
38   </software>
39
40   <software name="datastar">
41      <description>DataStar v1.41</description>
42      <year>1982</year>
43      <publisher>MicroPro International</publisher>
44      <info name="serial" value="BC01-0004-01003" />
45      <info name="part" value="MM00014" />
46      <part name="flop1" interface="floppy_5_25">
47         <feature name="part_id" value="DataStar"/>
48         <dataarea name="flop" size="368974">
49            <rom name="datastar.cqm" size="368974" crc="a67d06bd" sha1="13298801950eb3fdbbb4b2f9604b7b5cb0619629" offset="0"/>
50         </dataarea>
51      </part>
52   </software>
53
54   <software name="datastarc" cloneof="datastar">
55      <description>DataStar v1.41c</description>
56      <year>1982</year>
57      <publisher>MicroPro International</publisher>
58      <part name="flop1" interface="floppy_5_25">
59         <feature name="part_id" value="DataStar"/>
60         <dataarea name="flop" size="368974">
61            <rom name="datastar_v141c.cqm" size="368974" crc="65459fa1" sha1="f61c14a3cb4f4a36a53c8c343d236983db1c5506" offset="0"/>
62         </dataarea>
63      </part>
64   </software>
65
66   <software name="repstar">
67      <description>ReportStar v1.02</description>
68      <year>1982</year>
69      <publisher>MicroPro International</publisher>
70      <info name="serial" value="BC01-0005-01003/BC01-0006-01003" />
71      <info name="part" value="MM00015/MM00018" />
72      <part name="flop1" interface="floppy_5_25">
73         <feature name="part_id" value="ReportStar"/>
74         <dataarea name="flop" size="368974">
75            <rom name="reportstar.cqm" size="368974" crc="cb7512ec" sha1="547ccb4401d59d6691790a9b7465a5bdff102207" offset="0"/>
76         </dataarea>
77      </part>
78      <part name="flop2" interface="floppy_5_25">
79         <feature name="part_id" value="ReportStar Installation"/>
80         <dataarea name="flop" size="368974">
81            <rom name="reportstar_installation.cqm" size="368974" crc="0e017a2c" sha1="af55804ff8b59d7ce4782f7c7ba31ad6a8eeca89" offset="0"/>
82         </dataarea>
83      </part>
84   </software>
85
86   <software name="wordstar">
87      <description>WordStar v3.30</description>
88      <year>1983</year>
89      <publisher>MicroPro International</publisher>
90      <info name="serial" value="BC01-0001-01003/BC01-0002-01003" />
91      <info name="part" value="MM00011/MM00012" />
92      <part name="flop1" interface="floppy_5_25">
93         <feature name="part_id" value="WordStar &amp; MailMerge"/>
94         <dataarea name="flop" size="368974">
95            <rom name="wordstar.cqm" size="368974" crc="2c443cf8" sha1="b647902c851a7a037bb7f6ceb8d37e018d25f9fc" offset="0"/>
96         </dataarea>
97      </part>
98      <part name="flop2" interface="floppy_5_25">
99         <feature name="part_id" value="WordStar Installation"/>
100         <dataarea name="flop" size="368974">
101            <rom name="wordstar_installation.cqm" size="368974" crc="37c19ef0" sha1="2fcd919a8c32acbb3d66d2eedba5da3fe587d400" offset="0"/>
102         </dataarea>
103      </part>
104   </software>
105
106</softwarelist>
trunk/hash/dim68k.xml
r252919r252920
99
1010<softwarelist name="dim68k" description="Dimension 68000 Disks">
1111
12   <software name="cpm124">
13      <description>CP/M-68K Release 1.24</description>
14      <!-- Serial Number: 1015-1004-0004016-->
15      <!-- Build Date: Sept 27, 1984 -->
16      <year>1984</year>
17      <publisher>Micro Craft Corporation</publisher>
18
19      <part name="flop1" interface="floppy_5_25">
20         <feature name="part_id" value="User Master"/>
21         <dataarea name="flop" size="365718">
22            <rom name="system.imd" size="365718" crc="302a26f0" sha1="e480f90206fc24b9d74681633a90f4d575c380ca" offset="0"/>
23         </dataarea>
24      </part>
25
26      <part name="flop2" interface="floppy_5_25">
27         <feature name="part_id" value="Utilities"/>
28         <dataarea name="flop" size="343743">
29            <rom name="utilities.imd" size="343743" crc="c3bbf1f0" sha1="332771861b8a27deb307f2a758ce741406c3da36" offset="0"/>
30         </dataarea>
31      </part>
32
33      <part name="flop3" interface="floppy_5_25">
34         <feature name="part_id" value="Assembler"/>
35         <dataarea name="flop" size="381558">
36            <rom name="assembler.imd" size="381558" crc="d0a9ced3" sha1="11ba67ffa495eb81b76eab72cfff30e77a604d00" offset="0"/>
37         </dataarea>
38      </part>
39
40      <part name="flop4" interface="floppy_5_25">
41         <feature name="part_id" value="C Language/Linker"/>
42         <dataarea name="flop" size="318713">
43            <rom name="clanguage.imd" size="318713" crc="a0d6748d" sha1="080adfd1f435895bac511231e654beeb59e7657d" offset="0"/>
44         </dataarea>
45      </part>
46
47      <part name="flop5" interface="floppy_5_25">
48         <feature name="part_id" value="Emulation"/>
49         <dataarea name="flop" size="395324">
50            <rom name="emulator.imd" size="395324" crc="60264ee0" sha1="fcd206f5670d5289b618ee03fb0bcad937306f15" offset="0"/>
51         </dataarea>
52      </part>
53   </software>
54
5512   <software name="cpm121">
5613      <description>CP/M-68K Release 1.21</description>
5714      <!-- Serial Number: 1015-1004-000548-->
r252919r252920
6118
6219      <part name="flop1" interface="floppy_5_25">
6320      <!-- Disk Content: User Master -->
64         <feature name="part_id" value="User Master"/>
6521         <dataarea name="flop" size="369826">
6622            <rom name="system.imd" size="369826" crc="18fe0e83" sha1="b389159e47c8fccc6674d3cb0e35d716f04d267e" offset="0x0000" />
6723         </dataarea>
r252919r252920
6925
7026      <part name="flop2" interface="floppy_5_25">
7127      <!-- Disk Content: utilities -->
72         <feature name="part_id" value="Utilities"/>
7328         <dataarea name="flop" size="384645">
7429            <rom name="utilities.imd" size="384645" crc="175e10da" sha1="47f3151805556a4fd0c9e33329dc2db1d3b28725" offset="0x0000" />
7530         </dataarea>
r252919r252920
7732
7833      <part name="flop3" interface="floppy_5_25">
7934      <!-- Disk Content: Assembler -->
80         <feature name="part_id" value="Assembler"/>
8135         <dataarea name="flop" size="381579">
8236            <rom name="assembler.imd" size="381579" crc="05926cfa" sha1="feaa2f0a9833aae96882d8b880dcd4cc8bbf871c" offset="0x0000" />
8337         </dataarea>
r252919r252920
8539
8640      <part name="flop4" interface="floppy_5_25">
8741      <!-- Disk Content: C Language/Linker -->
88         <feature name="part_id" value="C Language/Linker"/>
8942         <dataarea name="flop" size="302891">
9043            <rom name="clanguage.imd" size="302891" crc="2e6505af" sha1="8f2296b3e852600aa77d96bd5b66f8ca52e2a24e" offset="0x0000" />
9144         </dataarea>
r252919r252920
9346
9447      <part name="flop5" interface="floppy_5_25">
9548      <!-- Disk Content: Apple ][+, Kaypro II, Z80, and IBM emulators  -->
96         <feature name="part_id" value="Apple ][+, Kaypro II, Z80, and IBM emulators"/>
9749         <dataarea name="flop" size="398409">
9850            <rom name="emulator.imd" size="398409" crc="0f8cfc5b" sha1="5a3653bbf8f34ddf1b85565b069716ef30ede195" offset="0x0000" />
9951         </dataarea>
r252919r252920
166118         </dataarea>
167119      </part>
168120   </software>
169
170   <software name="d68brnin">
171      <description>Dimension 68000 Burnin Test</description>
172      <year>1984</year>
173      <publisher>Micro Craft Corporation</publisher>
174     
175      <part name="flop1" interface="floppy_5_25">
176         <feature name="part_id" value="Disk 1"/>
177         <dataarea name="flop" size="181726">
178            <rom name="d68brnin.imd" size="181726" crc="40229a75" sha1="fac1f9a69ae9b9bac5ac7af35f21b8879a21aeb2" offset="0"/>
179         </dataarea>
180      </part>
181   </software>
182
183   <software name="d68fort">
184      <description>Fortran 68K</description>
185      <year>1983</year>
186      <publisher>Silicon Valley Software</publisher>
187     
188      <part name="flop1" interface="floppy_5_25">
189         <feature name="part_id" value="Disk 1"/>
190         <dataarea name="flop" size="391735">
191            <rom name="d68fort1.imd" size="391735" crc="db27dc48" sha1="b912b91ed49e828c91863d3f71d3a7d673ac08b1" offset="0"/>
192         </dataarea>
193      </part>
194     
195      <part name="flop2" interface="floppy_5_25">
196         <feature name="part_id" value="Disk 2"/>
197         <dataarea name="flop" size="386625">
198            <rom name="d68fort2.imd" size="386625" crc="cdd04f0c" sha1="db9028aad6d757cf5dc316142d06398d7e27abab" offset="0"/>
199         </dataarea>
200      </part>
201   </software>
202   
203121</softwarelist>
trunk/hash/md2_flop.xml
r252919r252920
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3
4<softwarelist name="md2_flop" description="MD-2 disk images">
5
6   <software name="momd2r21">
7      <description>CP/M 2.2 System Disk rev 2.1</description>
8      <year>1983</year>
9      <publisher>Morrow Designs</publisher>
10      <part name="flop1" interface="floppy_5_25">
11         <dataarea name="flop" size="80734">
12            <rom name="momd2r21.tdo" size="80734" crc="5d265d5b" sha1="68d036c1b055a1ee95679bb70e169029cb825e23" offset="0"/>
13         </dataarea>
14      </part>
15   </software>
16
17   <software name="momd2r16" cloneof="momd2r21">
18      <description>CP/M 2.2 System Disk rev 1.6</description>
19      <year>198?</year>
20      <publisher>Morrow Designs</publisher>
21      <part name="flop1" interface="floppy_5_25">
22         <dataarea name="flop" size="79928">
23            <rom name="momd2r16.tdo" size="79928" crc="3e5ba26d" sha1="c9de296ea18904f8de984b9f71b43a7988a8facc" offset="0"/>
24         </dataarea>
25      </part>
26   </software>
27
28   <software name="momd2r13" cloneof="momd2r21">
29      <description>CP/M 2.2 System Disk rev 1.3</description>
30      <year>198?</year>
31      <publisher>Morrow Designs</publisher>
32      <part name="flop1" interface="floppy_5_25">
33         <dataarea name="flop" size="76008">
34            <rom name="momd2r13.tdo" size="76008" crc="dc649f14" sha1="fb37b54d2acf99f38109482a2c7953a39754e27c" offset="0"/>
35         </dataarea>
36      </part>
37   </software>
38
39   <software name="momd2r1x" cloneof="momd2r21">
40      <description>CP/M 2.2 System Disk rev 1.x</description>
41      <year>198?</year>
42      <publisher>Morrow Designs</publisher>
43      <part name="flop1" interface="floppy_5_25">
44         <dataarea name="flop" size="75924">
45            <rom name="momd2r1x.tdo" size="75924" crc="5ba9aa27" sha1="2915d45c04b7185b7d8494730928afb327664204" offset="0"/>
46         </dataarea>
47      </part>
48   </software>
49
50   <software name="softdist">
51      <description>Software Distribution Disks</description>
52      <year>1982</year>
53      <publisher>Morrow Designs</publisher>
54      <part name="flop1" interface="floppy_5_25">
55         <feature name="part_id" value="Correct-It"/>
56         <dataarea name="flop" size="165597">
57            <rom name="distr_disk_1.imd" size="165597" crc="bf6d2ba2" sha1="4d8f95ee638894789b23abb8c72974db2cd59651" offset="0"/>
58         </dataarea>
59      </part>
60      <part name="flop2" interface="floppy_5_25">
61         <feature name="part_id" value="BASIC-80 &amp; BAZIC"/>
62         <dataarea name="flop" size="112445">
63            <rom name="6distr_disk_2.imd" size="112445" crc="899a6a8a" sha1="8c6192a3106c00d927a6da886b5ea837ea608656" offset="0"/>
64         </dataarea>
65      </part>
66      <part name="flop3" interface="floppy_5_25">
67         <feature name="part_id" value="LogiCalc"/>
68         <dataarea name="flop" size="152331">
69            <rom name="distr_disk_3.imd" size="152331" crc="7f1bbdf6" sha1="8faaab8be8123ffd49f5f9acae520faf05f699f5" offset="0"/>
70         </dataarea>
71      </part>
72   </software>
73
74</softwarelist>
trunk/hash/pro128s_flop.xml
r252919r252920
1818      <description>Aviator</description>
1919      <year>1987</year>
2020      <publisher>Olivetti Prodest</publisher>
21      <info name="release" value="SF9590" />
2221      <part name="flop1" interface="floppy_3_5">
2322         <dataarea name="flop" size="327680">
2423            <rom name="aviator.adm" size="327680" crc="98f1d06d" sha1="c8614cd080991d19cbf40ef205d049343d738a5f" offset="0" />
r252919r252920
3029      <description>Blue Ribbon 1</description>
3130      <year>1987</year>
3231      <publisher>Olivetti Prodest</publisher>
33      <info name="release" value="SF9640" />
3432      <part name="flop1" interface="floppy_3_5">
3533         <dataarea name="flop" size="327680">
3634            <rom name="blueribbon1.adm" size="327680" crc="4bda3704" sha1="2c23d43f01d35fc1397377d8317b148be804cc72" offset="0" />
r252919r252920
4240      <description>Blue Ribbon 2</description>
4341      <year>1987</year>
4442      <publisher>Olivetti Prodest</publisher>
45      <info name="release" value="SF9650" />
4643      <part name="flop1" interface="floppy_3_5">
4744         <dataarea name="flop" size="327680">
4845            <rom name="blueribbon2.adm" size="327680" crc="9cf20547" sha1="3e490286c043b3066a05785cc217b0b0866ffc09" offset="0" />
r252919r252920
124121      <description>Overdrive &amp; Centibug</description>
125122      <year>1987</year>
126123      <publisher>Olivetti Prodest</publisher>
127      <info name="release" value="SF9710" />
128124      <part name="flop1" interface="floppy_3_5">
129125         <dataarea name="flop" size="327680">
130126            <rom name="overdrive_centibug.adm" size="327680" crc="a99d9e29" sha1="e44116199ae711131937a5de010bdcab541a87b3" offset="0" />
r252919r252920
136132      <description>Revs</description>
137133      <year>1987</year>
138134      <publisher>Olivetti Prodest</publisher>
139      <info name="release" value="SF9620" />
140135      <part name="flop1" interface="floppy_3_5">
141136         <dataarea name="flop" size="327680">
142137            <rom name="revs.adm" size="327680" crc="c445ec45" sha1="4bef4edf44a727c0b36d81cf5ddd8064a13eb039" offset="0" />
r252919r252920
172167      <description>Super Arcade 3</description>
173168      <year>1987</year>
174169      <publisher>Olivetti Prodest</publisher>
175      <info name="release" value="SF9580" />
176170      <part name="flop1" interface="floppy_3_5">
177171         <dataarea name="flop" size="327680">
178172            <rom name="superarcade3.adm" size="327680" crc="c34681e0" sha1="2c3cb301ecb1fbd5b2cedd1d12385ed263c39cfd" offset="0" />
r252919r252920
184178      <description>Super Arcade 4</description>
185179      <year>1987</year>
186180      <publisher>Olivetti Prodest</publisher>
187      <info name="release" value="SF9600" />
188181      <part name="flop1" interface="floppy_3_5">
189182         <dataarea name="flop" size="327680">
190183            <rom name="superarcade4.adm" size="327680" crc="3b4510ab" sha1="058e56ac99fc8af81c05cefb8bf8954c5fa0d7e7" offset="0" />
r252919r252920
208201      <description>Scacchi (Ita)</description>
209202      <year>1987</year>
210203      <publisher>Olivetti Prodest</publisher>
211      <info name="release" value="SF9550" />
212204      <part name="flop1" interface="floppy_3_5">
213205         <dataarea name="flop" size="655360">
214206            <rom name="scacchi.adl" size="655360" crc="08a45c85" sha1="a0b38359657c6df80f58e00578ad961a316d2385" offset="0" />
r252919r252920
220212      <description>Smash &amp; Grab &amp; Mr Wiz</description>
221213      <year>1987</year>
222214      <publisher>Olivetti Prodest</publisher>
223      <info name="release" value="SF9700" />
224215      <part name="flop1" interface="floppy_3_5">
225216         <dataarea name="flop" size="327680">
226217            <rom name="smash_mrwiz.adm" size="327680" crc="2fba2c48" sha1="2e9c5ce65da83c2ac0b59f387ebe4fbd171d93c5" offset="0" />
r252919r252920
232223      <description>Star Striker &amp; Wallaby</description>
233224      <year>1987</year>
234225      <publisher>Olivetti Prodest</publisher>
235      <info name="release" value="SF9690" />
236226      <part name="flop1" interface="floppy_3_5">
237227         <dataarea name="flop" size="327680">
238228            <rom name="starstriker_wallaby.adm" size="327680" crc="7768d196" sha1="f76cf06efc9c9b6ce01d5d6e9c656bdc034236c4" offset="0" />
r252919r252920
313303      <description>Beta-Base (Ita)</description>
314304      <year>1987</year>
315305      <publisher>Clares</publisher>
316      <info name="release" value="SF9750" />
317306      <part name="flop1" interface="floppy_3_5">
318307         <dataarea name="flop" size="163840">
319308            <rom name="betabase.ads" size="163840" crc="8351f1f4" sha1="e015c41a93bf36b681d8fa7f1a18f324e789e554" offset="0" />
r252919r252920
336325      <description>ViewIndex</description>
337326      <year>1987</year>
338327      <publisher>Olivetti Prodest</publisher>
339      <info name="release" value="SF9530" />
340328      <part name="flop1" interface="floppy_3_5">
341329         <dataarea name="flop" size="327680">
342330            <rom name="viewindex.adm" size="327680" crc="6e780731" sha1="8dfaddaa238e5f3db0b9dcbbc7ef06f4fa52102a" offset="0" />
r252919r252920
348336      <description>ViewPlot</description>
349337      <year>1987</year>
350338      <publisher>Olivetti Prodest</publisher>
351      <info name="release" value="SF9540" />
352339      <part name="flop1" interface="floppy_3_5">
353340         <dataarea name="flop" size="327680">
354341            <rom name="viewplot.adm" size="327680" crc="2ca1eade" sha1="12eaa4ac1c6a6484a886f313bb793a2c4537eb91" offset="0" />
r252919r252920
360347      <description>ViewStore</description>
361348      <year>1987</year>
362349      <publisher>Olivetti Prodest</publisher>
363      <info name="release" value="SF9520" />
364350      <part name="flop1" interface="floppy_3_5">
365351         <dataarea name="flop" size="327680">
366352            <rom name="viewstore.adm" size="327680" crc="c6a08aba" sha1="a8041767230cc029f0d48e9b7aa5bb8131817441" offset="0" />
trunk/scripts/target/mame/mess.lua
r252919r252920
23642364   MAME_DIR .. "src/mame/drivers/rd110.cpp",
23652365   MAME_DIR .. "src/mame/drivers/rsc55.cpp",
23662366   MAME_DIR .. "src/mame/drivers/tb303.cpp",
2367   MAME_DIR .. "src/mame/drivers/tr606.cpp",
23682367}
23692368
23702369createMESSProjects(_target, _subtarget, "rolm")
trunk/src/devices/cpu/alto2/a2disp.cpp
r252919r252920
581581UINT32 alto2_cpu_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
582582{
583583   pen_t palette_bw[2];
584   palette_bw[0] = screen.palette()->white_pen();
585   palette_bw[1] = screen.palette()->black_pen();
584   palette_bw[0] = screen.palette().white_pen();
585   palette_bw[1] = screen.palette().black_pen();
586586   // copy even or odd field
587587   for (int y = m_dsp.odd_frame ? 0 : 1; y < ALTO2_DISPLAY_HEIGHT; y += 2)
588588      draw_scanline8(*m_dsp.bitmap, 0, y, ALTO2_DISPLAY_WIDTH, m_dsp.scanline[y], palette_bw);
trunk/src/devices/cpu/tms34010/tms34010.cpp
r252919r252920
10041004
10051005UINT32 tms340x0_device::tms340x0_ind16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
10061006{
1007   pen_t blackpen = screen.palette()->black_pen();
1007   pen_t blackpen = screen.palette().black_pen();
10081008   tms34010_display_params params;
10091009   int x;
10101010
trunk/src/devices/imagedev/floppy.h
r252919r252920
3636
3737#define FLOPPY_FORMATS_MEMBER(_member) \
3838   const floppy_format_type _member [] = {
39#define FLOPPY_FORMATS_END0 \
40      , \
41      NULL };
4239#define FLOPPY_FORMATS_END \
4340      , \
4441      FLOPPY_D88_FORMAT, \
r252919r252920
4946      FLOPPY_MFM_FORMAT, \
5047      FLOPPY_TD0_FORMAT, \
5148      FLOPPY_CQM_FORMAT, \
52      FLOPPY_DSK_FORMAT \
53   FLOPPY_FORMATS_END0
49      FLOPPY_DSK_FORMAT, \
50      NULL };
5451
5552class floppy_sound_device;
5653
trunk/src/emu/digfx.cpp
r252919r252920
276276      }
277277
278278      // allocate the graphics
279      m_gfx[curgfx] = std::make_unique<gfx_element>(m_palette, glcopy, (region_base != nullptr) ? region_base + gfx.start : nullptr, xormask, gfx.total_color_codes, gfx.color_codes_start);
279      m_gfx[curgfx] = std::make_unique<gfx_element>(*m_palette, glcopy, (region_base != nullptr) ? region_base + gfx.start : nullptr, xormask, gfx.total_color_codes, gfx.color_codes_start);
280280   }
281281
282282   m_decoded = true;
trunk/src/emu/digfx.h
r252919r252920
199199   static void static_set_palette(device_t &device, const char *tag);
200200
201201   // getters
202   palette_device *palette() const { return m_palette; }
202   palette_device &palette() const { return *m_palette; }
203203   gfx_element *gfx(int index) const { assert(index < MAX_GFX_ELEMENTS); return m_gfx[index].get(); }
204204
205205   // decoding
r252919r252920
214214   virtual void interface_pre_start() override;
215215   virtual void interface_post_start() override;
216216
217private:
217218   palette_device *            m_palette;                  // pointer to the palette device
218219   std::unique_ptr<gfx_element>  m_gfx[MAX_GFX_ELEMENTS];    // array of pointers to graphic sets
219220
220private:
221221   // configuration
222222   const gfx_decode_entry *    m_gfxdecodeinfo;        // pointer to array of gfx decode information
223223   const char *                m_palette_tag;          // configured tag for palette device
trunk/src/emu/drawgfx.cpp
r252919r252920
8686//  gfx_element - constructor
8787//-------------------------------------------------
8888
89#ifdef UNUSED_FUNCTION
8990gfx_element::gfx_element()
9091   : m_palette(nullptr),
9192      m_width(0),
r252919r252920
110111      m_layout_charincrement(0)
111112{
112113}
114#endif
113115
114gfx_element::gfx_element(palette_device *palette, UINT8 *base, UINT32 width, UINT32 height, UINT32 rowbytes, UINT32 total_colors, UINT32 color_base, UINT32 color_granularity)
115   : m_palette(palette),
116gfx_element::gfx_element(palette_device &palette, UINT8 *base, UINT32 width, UINT32 height, UINT32 rowbytes, UINT32 total_colors, UINT32 color_base, UINT32 color_granularity)
117   : m_palette(&palette),
116118      m_width(width),
117119      m_height(height),
118120      m_startx(0),
r252919r252920
136138{
137139}
138140
139gfx_element::gfx_element(palette_device *palette, const gfx_layout &gl, const UINT8 *srcdata, UINT32 xormask, UINT32 total_colors, UINT32 color_base)
140   : m_palette(palette),
141gfx_element::gfx_element(palette_device &palette, const gfx_layout &gl, const UINT8 *srcdata, UINT32 xormask, UINT32 total_colors, UINT32 color_base)
142   : m_palette(&palette),
141143      m_width(0),
142144      m_height(0),
143145      m_startx(0),
trunk/src/emu/drawgfx.h
r252919r252920
148148{
149149public:
150150   // construction/destruction
151#ifdef UNUSED_FUNCTION
151152   gfx_element();
152   gfx_element(palette_device *palette, const gfx_layout &gl, const UINT8 *srcdata, UINT32 xormask, UINT32 total_colors, UINT32 color_base);
153   gfx_element(palette_device *palette, UINT8 *base, UINT32 width, UINT32 height, UINT32 rowbytes, UINT32 total_colors, UINT32 color_base, UINT32 color_granularity);
153#endif
154   gfx_element(palette_device &palette, const gfx_layout &gl, const UINT8 *srcdata, UINT32 xormask, UINT32 total_colors, UINT32 color_base);
155   gfx_element(palette_device &palette, UINT8 *base, UINT32 width, UINT32 height, UINT32 rowbytes, UINT32 total_colors, UINT32 color_base, UINT32 color_granularity);
154156
155157   // getters
156   palette_device *palette() const { return m_palette; }
158   palette_device &palette() const { return *m_palette; }
157159   UINT16 width() const { return m_width; }
158160   UINT16 height() const { return m_height; }
159161   UINT32 elements() const { return m_total_elements; }
r252919r252920
173175   void set_source(const UINT8 *source);
174176   void set_source_and_total(const UINT8 *source, UINT32 total);
175177   void set_xormask(UINT32 xormask) { m_layout_xormask = xormask; }
176   void set_palette(palette_device *palette) { m_palette = palette; }
178   void set_palette(palette_device &palette) { m_palette = &palette; }
177179   void set_colors(UINT32 colors) { m_total_colors = colors; }
178180   void set_colorbase(UINT16 colorbase) { m_color_base = colorbase; }
179181   void set_granularity(UINT16 granularity) { m_color_granularity = granularity; }
trunk/src/emu/screen.h
r252919r252920
197197   // information getters
198198   render_container &container() const { assert(m_container != nullptr); return *m_container; }
199199   bitmap_ind8 &priority() { return m_priority; }
200   palette_device *palette() { return m_palette; }
200   palette_device &palette() const { assert(m_palette.found()); return *m_palette; }
201   bool has_palette() const { return m_palette.found(); }
201202
202203   // dynamic configuration
203204   void configure(int width, int height, const rectangle &visarea, attoseconds_t frame_period);
trunk/src/emu/tilemap.cpp
r252919r252920
348348   // populate managers and devices
349349   m_manager = &manager;
350350   m_device = dynamic_cast<tilemap_device *>(this);
351   m_palette = decoder.palette();
351   m_palette = &decoder.palette();
352352   m_next = nullptr;
353353   m_user_data = nullptr;
354354
trunk/src/emu/tilemap.h
r252919r252920
497497   // getters
498498   running_machine &machine() const;
499499   tilemap_device *device() const { return m_device; }
500   palette_device *palette() const { return m_palette; }
500   palette_device &palette() const { return *m_palette; }
501501   tilemap_t *next() const { return m_next; }
502502   void *user_data() const { return m_user_data; }
503503   memory_array &basemem() { return m_basemem; }
r252919r252920
518518   // setters
519519   void enable(bool enable = true) { m_enable = enable; }
520520   void set_user_data(void *user_data) { m_user_data = user_data; }
521   void set_palette(palette_device *palette) { m_palette = palette; }
521   void set_palette(palette_device &palette) { m_palette = &palette; }
522522   void set_palette_offset(UINT32 offset) { m_palette_offset = offset; }
523523   void set_scrolldx(int dx, int dx_flipped) { m_dx = dx; m_dx_flipped = dx_flipped; }
524524   void set_scrolldy(int dy, int dy_flipped) { m_dy = dy; m_dy_flipped = dy_flipped; }
trunk/src/emu/ui/viewgfx.cpp
r252919r252920
904904{
905905   int width = (rotate & ORIENTATION_SWAP_XY) ? gfx.height() : gfx.width();
906906   int height = (rotate & ORIENTATION_SWAP_XY) ? gfx.width() : gfx.height();
907   const rgb_t *palette = gfx.palette()->palette()->entry_list_raw() + gfx.colorbase() + color * gfx.granularity();
907   const rgb_t *palette = gfx.palette().palette()->entry_list_raw() + gfx.colorbase() + color * gfx.granularity();
908908   int x, y;
909909
910910   // loop over rows in the cell
trunk/src/emu/video.cpp
r252919r252920
247247   if (phase == MACHINE_PHASE_RUNNING)
248248   {
249249      // reset partial updates if we're paused or if the debugger is active
250      if (machine().first_screen() != nullptr && (machine().paused() || debug || debugger_within_instruction_hook(machine())))
251         machine().first_screen()->reset_partial_updates();
250      screen_device *screen = machine().first_screen();
251      if (screen != nullptr && (machine().paused() || debug || debugger_within_instruction_hook(machine())))
252         screen->reset_partial_updates();
252253   }
253254}
254255
r252919r252920
316317   png_add_text(&pnginfo, "System", text2.c_str());
317318
318319   // now do the actual work
319   const rgb_t *palette = (screen !=nullptr && screen->palette() != nullptr) ? screen->palette()->palette()->entry_list_adjusted() : nullptr;
320   int entries = (screen !=nullptr && screen->palette() != nullptr) ? screen->palette()->entries() : 0;
320   const rgb_t *palette = (screen != nullptr && screen->has_palette()) ? screen->palette().palette()->entry_list_adjusted() : nullptr;
321   int entries = (screen != nullptr && screen->has_palette()) ? screen->palette().entries() : 0;
321322   png_error error = png_write_bitmap(file, &pnginfo, m_snap_bitmap, entries, palette);
322323   if (error != PNGERR_NONE)
323324      osd_printf_error("Error generating PNG for snapshot: png_error = %d\n", error);
r252919r252920
380381      m_avi_next_frame_time = machine().time();
381382
382383      // build up information about this new movie
384      screen_device *screen = machine().first_screen();
383385      avi_movie_info info;
384386      info.video_format = 0;
385      info.video_timescale = 1000 * ((machine().first_screen() != nullptr) ? ATTOSECONDS_TO_HZ(machine().first_screen()->frame_period().attoseconds()) : screen_device::DEFAULT_FRAME_RATE);
387      info.video_timescale = 1000 * ((screen != nullptr) ? ATTOSECONDS_TO_HZ(screen->frame_period().attoseconds()) : screen_device::DEFAULT_FRAME_RATE);
386388      info.video_sampletime = 1000;
387389      info.video_numsamples = 0;
388390      info.video_width = m_snap_bitmap.width();
r252919r252920
448450      if (filerr == FILERR_NONE)
449451      {
450452         // start the capture
451         int rate = (machine().first_screen() != nullptr) ? ATTOSECONDS_TO_HZ(machine().first_screen()->frame_period().attoseconds()) : screen_device::DEFAULT_FRAME_RATE;
453         screen_device *screen = machine().first_screen();
454         int rate = (screen != nullptr) ? ATTOSECONDS_TO_HZ(screen->frame_period().attoseconds()) : screen_device::DEFAULT_FRAME_RATE;
452455         png_error pngerr = mng_capture_start(*m_mng_file, m_snap_bitmap, rate);
453456         if (pngerr != PNGERR_NONE)
454457         {
r252919r252920
10371040   // if we're past the "time-to-execute" requested, signal an exit
10381041   if (m_seconds_to_run != 0 && emutime.seconds() >= m_seconds_to_run)
10391042   {
1040      if (machine().first_screen() != nullptr)
1043      screen_device *screen = machine().first_screen();
1044      if (screen != nullptr)
10411045      {
10421046         // create a final screenshot
10431047         emu_file file(machine().options().snapshot_directory(), OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS);
10441048         file_error filerr = file.open(machine().basename(), PATH_SEPARATOR "final.png");
10451049         if (filerr == FILERR_NONE)
1046            save_snapshot(machine().first_screen(), file);
1050            save_snapshot(screen, file);
10471051      }
10481052      //printf("Scheduled exit at %f\n", emutime.as_double());
10491053      // schedule our demise
r252919r252920
12791283         }
12801284
12811285         // write the next frame
1282         const rgb_t *palette = (machine().first_screen() !=nullptr && machine().first_screen()->palette() != nullptr) ? machine().first_screen()->palette()->palette()->entry_list_adjusted() : nullptr;
1283         int entries = (machine().first_screen() !=nullptr && machine().first_screen()->palette() != nullptr) ? machine().first_screen()->palette()->entries() : 0;
1286         screen_device *screen = machine().first_screen();
1287         const rgb_t *palette = (screen != nullptr && screen->has_palette()) ? screen->palette().palette()->entry_list_adjusted() : nullptr;
1288         int entries = (screen != nullptr && screen->has_palette()) ? screen->palette().entries() : 0;
12841289         png_error error = mng_capture_frame(*m_mng_file, &pnginfo, m_snap_bitmap, entries, palette);
12851290         png_free(&pnginfo);
12861291         if (error != PNGERR_NONE)
trunk/src/mame/drivers/atom.cpp
r252919r252920
286286   AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION(SY6502_TAG, 0)
287287ADDRESS_MAP_END
288288
289/*-------------------------------------------------
290    ADDRESS_MAP( prophet2_mem )
291-------------------------------------------------*/
292
293//static ADDRESS_MAP_START( prophet2_mem, AS_PROGRAM, 8, atom_state )
294//   AM_RANGE(0x0000, 0x09ff) AM_RAM
295//   AM_RANGE(0x0a00, 0x7fff) AM_RAM
296//   AM_RANGE(0x8000, 0x97ff) AM_RAM AM_SHARE("video_ram")
297//   AM_RANGE(0x9800, 0x9fff) AM_RAM
298//   AM_RANGE(0xb000, 0xb003) AM_MIRROR(0x3fc) AM_DEVREADWRITE(INS8255_TAG, i8255_device, read, write)
299////  AM_RANGE(0xb400, 0xb403) AM_DEVREADWRITE(MC6854_TAG, mc6854_device, read, write)
300////  AM_RANGE(0xb404, 0xb404) AM_READ_PORT("ECONET")
301//   AM_RANGE(0xb800, 0xb80f) AM_MIRROR(0x3f0) AM_DEVREADWRITE(R6522_TAG, via6522_device, read, write)
302//   AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION(SY6502_TAG, 0)
303//ADDRESS_MAP_END
304
305289/***************************************************************************
306290    INPUT PORTS
307291***************************************************************************/
r252919r252920
691675
692676FLOPPY_FORMATS_MEMBER(atom_state::floppy_formats)
693677   FLOPPY_ATOM_FORMAT
694FLOPPY_FORMATS_END0
678FLOPPY_FORMATS_END
695679
696680/*-------------------------------------------------
697681    MACHINE_DRIVER( atom )
r252919r252920
731715   MCFG_I8271_IRQ_CALLBACK(WRITELINE(atom_state, atom_8271_interrupt_callback))
732716   MCFG_I8271_HDL_CALLBACK(WRITELINE(atom_state, motor_w))
733717   MCFG_FLOPPY_DRIVE_ADD(I8271_TAG ":0", atom_floppies, "525sssd", atom_state::floppy_formats)
734   MCFG_FLOPPY_DRIVE_SOUND(true)
735718   MCFG_FLOPPY_DRIVE_ADD(I8271_TAG ":1", atom_floppies, "525sssd", atom_state::floppy_formats)
736   MCFG_FLOPPY_DRIVE_SOUND(true)
737719
738720   MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_devices, "printer")
739721   MCFG_CENTRONICS_ACK_HANDLER(DEVWRITELINE(R6522_TAG, via6522_device, write_ca1))
r252919r252920
744726   MCFG_CASSETTE_ADD("cassette")
745727   MCFG_CASSETTE_FORMATS(atom_cassette_formats)
746728   MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED)
747   MCFG_CASSETTE_INTERFACE("atom_cass")
748729
749730   MCFG_QUICKLOAD_ADD("quickload", atom_state, atom_atm, "atm", 0)
750731
r252919r252920
755736
756737   /* internal ram */
757738   MCFG_RAM_ADD(RAM_TAG)
758   MCFG_RAM_DEFAULT_SIZE("32K")
759   MCFG_RAM_EXTRA_OPTIONS("2K,4K,6K,8K,10K,12K")
760   MCFG_RAM_DEFAULT_VALUE(0x00)
739   MCFG_RAM_DEFAULT_SIZE("2K")
740   MCFG_RAM_EXTRA_OPTIONS("4K,6K,8K,10K,12K,32K")
761741
762742   /* Software lists */
763   MCFG_SOFTWARE_LIST_ADD("rom_list","atom_rom")
764   MCFG_SOFTWARE_LIST_ADD("cass_list","atom_cass")
765   MCFG_SOFTWARE_LIST_ADD("flop_list","atom_flop")
743   MCFG_SOFTWARE_LIST_ADD("cart_list","atom")
766744MACHINE_CONFIG_END
767745
768746/*-------------------------------------------------
r252919r252920
845823   MCFG_CASSETTE_ADD("cassette")
846824   MCFG_CASSETTE_FORMATS(atom_cassette_formats)
847825   MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED)
848   MCFG_CASSETTE_INTERFACE("atom_cass")
849826
850827   /* internal ram */
851828   MCFG_RAM_ADD(RAM_TAG)
r252919r252920
854831
855832MACHINE_CONFIG_END
856833
857/*-------------------------------------------------
858    MACHINE_DRIVER( prophet2 )
859-------------------------------------------------*/
860
861//static MACHINE_CONFIG_DERIVED( prophet2, atom )
862//   /* basic machine hardware */
863//   MCFG_CPU_MODIFY(SY6502_TAG)
864//   MCFG_CPU_PROGRAM_MAP(prophet2_mem)
865//
866//   /* fdc */
867//   MCFG_DEVICE_REMOVE(I8271_TAG)
868//   MCFG_DEVICE_REMOVE(I8271_TAG ":0")
869//   MCFG_DEVICE_REMOVE(I8271_TAG ":1")
870//
871//   /* Software lists */
872//   MCFG_SOFTWARE_LIST_REMOVE("flop_list")
873//MACHINE_CONFIG_END
874
875/*-------------------------------------------------
876    MACHINE_DRIVER( prophet3 )
877-------------------------------------------------*/
878
879//static MACHINE_CONFIG_DERIVED( prophet3, atom )
880//
881//MACHINE_CONFIG_END
882
883/*-------------------------------------------------
884    MACHINE_DRIVER( atommc )
885-------------------------------------------------*/
886
887//static MACHINE_CONFIG_DERIVED( atommc, atom )
888//   /* Software lists */
889//   MCFG_SOFTWARE_LIST_ADD("mmc_list","atom_mmc")
890//   MCFG_SOFTWARE_LIST_REMOVE("flop_list")
891//MACHINE_CONFIG_END
892
893834/***************************************************************************
894835    ROMS
895836***************************************************************************/
r252919r252920
929870   ROM_LOAD( "bbcbasic.rom", 0x0000, 0x4000, CRC(79434781) SHA1(4a7393f3a45ea309f744441c16723e2ef447a281) )
930871ROM_END
931872
932//#define rom_prophet2 rom_atom
933873
934//#define rom_prophet3 rom_atom
935
936/*-------------------------------------------------
937    ROM( atommc )
938-------------------------------------------------*/
939
940//ROM_START( atommc )
941//   ROM_REGION( 0x4000, SY6502_TAG, 0 )
942//   ROM_LOAD( "abasic.ic20", 0x0000, 0x1000, CRC(289b7791) SHA1(0072c83458a9690a3ea1f6094f0f38cf8e96a445) )
943//   ROM_CONTINUE(            0x3000, 0x1000 )
944//   ROM_LOAD( "afloat.ic21", 0x1000, 0x1000, CRC(81d86af7) SHA1(ebcde5b36cb3a3344567cbba4c7b9fde015f4802) )
945//   ROM_LOAD( "atommc2-2.9-a000.rom", 0x2000, 0x1000, CRC(ba73e36c) SHA1(ea9739e96f3283c90b5306288c796fc01144b771) )
946//ROM_END
947
948874DRIVER_INIT_MEMBER(atomeb_state, atomeb)
949875{
950876   // these have to be set here, so that we can pass m_ext[*] to device_image_load!
r252919r252920
961887    SYSTEM DRIVERS
962888***************************************************************************/
963889
964/*    YEAR  NAME      PARENT    COMPAT  MACHINE   INPUT CLASS         INIT           COMPANY          FULLNAME                FLAGS */
965COMP( 1979, atom,     0,        0,      atom,     atom, driver_device,     0,        "Acorn",         "Atom"                , 0)
966COMP( 1979, atomeb,   atom,     0,      atomeb,   atom, atomeb_state, atomeb,        "Acorn",         "Atom with Eprom Box" , 0)
967COMP( 1982, atombb,   atom,     0,      atombb,   atom, driver_device,     0,        "Acorn",         "Atom with BBC Basic" , 0)
968//COMP( 1983, prophet2, atom,     0,      prophet2, atom, driver_device,     0,        "Busicomputers", "Prophet 2"           , 0)
969//COMP( 1983, prophet3, atom,     0,      prophet3, atom, driver_device,     0,        "Busicomputers", "Prophet 3"           , 0)
970//COMP( 2011, atommc,   atom,     0,      atommc,   atom, driver_device,     0,        "Acorn",         "Atom with AtoMMC2"   , 0)
890/*    YEAR  NAME      PARENT    COMPAT  MACHINE   INPUT     INIT      COMPANY   FULLNAME */
891COMP( 1979, atom,     0,        0,      atom,     atom, driver_device,     0,        "Acorn",  "Atom" , 0)
892COMP( 1979, atomeb,   atom,     0,      atomeb,   atom, atomeb_state, atomeb,        "Acorn",  "Atom with Eprom Box" , 0)
893COMP( 1979, atombb,   atom,     0,      atombb,   atom, driver_device,     0,        "Acorn",  "Atom with BBC Basic" , 0)
894//COMP( 1983, prophet2, atom,     0,        atom,     atom, driver_device,     0,        "Busicomputers",  "Prophet 2" , 0)
trunk/src/mame/drivers/batman.cpp
r252919r252920
7676   if ((oldword ^ m_latch_data) & 0x7000)
7777   {
7878      m_screen->update_partial(m_screen->vpos());
79      m_vad->alpha()->mark_all_dirty();
79      m_vad->alpha().mark_all_dirty();
8080      m_alpha_tile_bank = (m_latch_data >> 12) & 7;
8181   }
8282}
trunk/src/mame/drivers/bw12.cpp
r252919r252920
646646   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", bw14_floppies, "525dd", bw12_state::bw14_floppy_formats)
647647   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", bw14_floppies, "525dd", bw12_state::bw14_floppy_formats)
648648
649   // software lists
650   MCFG_SOFTWARE_LIST_ADD("flop_list", "bw14")
651
652649   /* internal ram */
653650   MCFG_RAM_ADD(RAM_TAG)
654651   MCFG_RAM_DEFAULT_SIZE("128K")
trunk/src/mame/drivers/dim68k.cpp
r252919r252920
3939#include "video/mc6845.h"
4040#include "machine/keyboard.h"
4141#include "machine/upd765.h"
42#include "softlist.h"
4342
43
4444class dim68k_state : public driver_device
4545{
4646public:
r252919r252920
335335
336336   MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0)
337337   MCFG_GENERIC_KEYBOARD_CB(WRITE8(dim68k_state, kbd_put))
338
339   // software lists
340   MCFG_SOFTWARE_LIST_ADD("flop_list", "dim68k")
341338MACHINE_CONFIG_END
342339
343340/*
trunk/src/mame/drivers/microdec.cpp
r252919r252920
1212#include "cpu/z80/z80.h"
1313#include "machine/upd765.h"
1414#include "machine/terminal.h"
15#include "softlist.h"
1615
1716#define TERMINAL_TAG "terminal"
1817
r252919r252920
109108   MCFG_UPD765A_ADD("upd765", true, true)
110109   MCFG_FLOPPY_DRIVE_ADD("upd765:0", microdec_floppies, "525hd", floppy_image_device::default_floppy_formats)
111110   MCFG_FLOPPY_DRIVE_ADD("upd765:1", microdec_floppies, "525hd", floppy_image_device::default_floppy_formats)
112
113   // software lists
114   MCFG_SOFTWARE_LIST_ADD("flop_list", "md2_flop")
115111MACHINE_CONFIG_END
116112
117113/* ROM definition */
trunk/src/mame/drivers/peoplepc.cpp
r252919r252920
176176
177177void peoplepc_state::machine_start()
178178{
179   m_gfxdecode->set_gfx(0, std::make_unique<gfx_element>(machine().device<palette_device>("palette"), peoplepc_charlayout, &m_charram[0], 0, 1, 0));
179   m_gfxdecode->set_gfx(0, std::make_unique<gfx_element>(*m_palette, peoplepc_charlayout, &m_charram[0], 0, 1, 0));
180180   m_dma0pg = 0;
181181
182182   // FIXME: cheat as there no docs about how or obvious ports that set to control the motor
trunk/src/mame/drivers/rungun.cpp
r252919r252920
182182
183183WRITE16_MEMBER(rungun_state::palette_write)
184184{
185   palette_device *cur_paldevice = m_video_mux_bank == 0 ? m_palette : static_cast<palette_device *>(m_palette2);
185   palette_device &cur_paldevice = m_video_mux_bank == 0 ? *m_palette : *m_palette2;
186186   UINT32 addr = offset + m_video_mux_bank*0x800/2;
187187   COMBINE_DATA(&m_pal_ram[addr]);
188188
r252919r252920
192192   g = (m_pal_ram[addr] & 0x3e0) >> 5;
193193   b = (m_pal_ram[addr] & 0x7e00) >> 10;
194194
195   cur_paldevice->set_pen_color(offset,pal5bit(r),pal5bit(g),pal5bit(b));
195   cur_paldevice.set_pen_color(offset,pal5bit(r),pal5bit(g),pal5bit(b));
196196}
197197
198198static ADDRESS_MAP_START( rungun_map, AS_PROGRAM, 16, rungun_state )
trunk/src/mame/drivers/thunderj.cpp
r252919r252920
100100      if (m_alpha_tile_bank != ((data >> 2) & 7))
101101      {
102102         m_screen->update_partial(m_screen->vpos());
103         m_vad->alpha()->mark_all_dirty();
103         m_vad->alpha().mark_all_dirty();
104104         m_alpha_tile_bank = (data >> 2) & 7;
105105      }
106106   }
trunk/src/mame/includes/kaneko16.h
r252919r252920
9696   TIMER_DEVICE_CALLBACK_MEMBER(shogwarr_interrupt);
9797
9898   template<class _BitmapClass>
99   void kaneko16_fill_bitmap(palette_device* palette, _BitmapClass &bitmap, const rectangle &cliprect);
99   void kaneko16_fill_bitmap(_BitmapClass &bitmap, const rectangle &cliprect);
100100
101101   void kaneko16_common_oki_bank_w(  const char *bankname, const char* tag, int bank, size_t fixedsize, size_t bankedsize );
102102   void kaneko16_unscramble_tiles(const char *region);
trunk/src/mame/machine/atarigen.h
r252919r252920
188188   template<class _Object> static devcb_base &static_set_scanline_int_cb(device_t &device, _Object object) { return downcast<atari_vad_device &>(device).m_scanline_int_cb.set_callback(object); }
189189
190190   // getters
191   tilemap_device *alpha() const { return m_alpha_tilemap; }
192   tilemap_device *playfield() const { return m_playfield_tilemap; }
193   tilemap_device *playfield2() const { return m_playfield2_tilemap; }
194   atari_motion_objects_device *mob() const { return m_mob; }
191   tilemap_device &alpha() const { return *m_alpha_tilemap; }
192   tilemap_device &playfield() const { return *m_playfield_tilemap; }
193   tilemap_device &playfield2() const { return *m_playfield2_tilemap; }
194   atari_motion_objects_device &mob() const { return *m_mob; }
195195
196196   // read/write handlers
197197   DECLARE_READ16_MEMBER(control_read);
trunk/src/mame/machine/megacd.cpp
r252919r252920
911911
912912void sega_segacd_device::segacd_mark_tiles_dirty(int offset)
913913{
914   m_gfx[0]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
915   m_gfx[1]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
916   m_gfx[2]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
917   m_gfx[3]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
918   m_gfx[4]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
919   m_gfx[5]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
920   m_gfx[6]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
921   m_gfx[7]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
914   gfx(0)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
915   gfx(1)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
916   gfx(2)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
917   gfx(3)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
918   gfx(4)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
919   gfx(5)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
920   gfx(6)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
921   gfx(7)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
922922
923   m_gfx[8]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
924   m_gfx[9]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
925   m_gfx[10]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
926   m_gfx[11]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
927   m_gfx[12]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
928   m_gfx[13]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
929   m_gfx[14]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
930   m_gfx[15]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
923   gfx(8)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
924   gfx(9)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
925   gfx(10)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
926   gfx(11)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
927   gfx(12)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
928   gfx(13)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
929   gfx(14)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
930   gfx(15)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
931931}
932932
933933
r252919r252920
10621062   int tile_region, tileno;
10631063   SCD_GET_TILE_INFO_16x16_1x1(tile_region,tileno,(int)tile_index);
10641064
1065   tileno %= m_gfx[tile_region]->elements();
1065   tileno %= gfx(tile_region)->elements();
10661066
10671067   if (tileno==0) return 0x00;
10681068
1069   const UINT8* srcdata = m_gfx[tile_region]->get_data(tileno);
1069   const UINT8* srcdata = gfx(tile_region)->get_data(tileno);
10701070   return srcdata[((ypos&((1<<tilesize)-1))*(1<<tilesize))+(xpos&((1<<tilesize)-1))];
10711071}
10721072
r252919r252920
11001100   int tile_region, tileno;
11011101   SCD_GET_TILE_INFO_32x32_1x1(tile_region,tileno,(int)tile_index);
11021102
1103   tileno %= m_gfx[tile_region]->elements();
1103   tileno %= gfx(tile_region)->elements();
11041104
11051105   if (tileno==0) return 0x00; // does this apply in this mode?
11061106
1107   const UINT8* srcdata = m_gfx[tile_region]->get_data(tileno);
1107   const UINT8* srcdata = gfx(tile_region)->get_data(tileno);
11081108   return srcdata[((ypos&((1<<tilesize)-1))*(1<<tilesize))+(xpos&((1<<tilesize)-1))];
11091109}
11101110
r252919r252920
11381138   int tile_region, tileno;
11391139   SCD_GET_TILE_INFO_16x16_16x16(tile_region,tileno,(int)tile_index);
11401140
1141   tileno %= m_gfx[tile_region]->elements();
1141   tileno %= gfx(tile_region)->elements();
11421142
11431143   if (tileno==0) return 0x00; // does this apply in this mode
11441144
1145   const UINT8* srcdata = m_gfx[tile_region]->get_data(tileno);
1145   const UINT8* srcdata = gfx(tile_region)->get_data(tileno);
11461146   return srcdata[((ypos&((1<<tilesize)-1))*(1<<tilesize))+(xpos&((1<<tilesize)-1))];
11471147}
11481148
r252919r252920
11761176   int tile_region, tileno;
11771177   SCD_GET_TILE_INFO_32x32_16x16(tile_region,tileno,(int)tile_index);
11781178
1179   tileno %= m_gfx[tile_region]->elements();
1179   tileno %= gfx(tile_region)->elements();
11801180
11811181   if (tileno==0) return 0x00;
11821182
1183   const UINT8* srcdata = m_gfx[tile_region]->get_data(tileno);
1183   const UINT8* srcdata = gfx(tile_region)->get_data(tileno);
11841184   return srcdata[((ypos&((1<<tilesize)-1))*(1<<tilesize))+(xpos&((1<<tilesize)-1))];
11851185}
11861186
trunk/src/mame/mess.lst
r252919r252920
23692369
23702370// hh_ucom4 derivatives
23712371tb303       // Roland
2372tr606       // Roland
23732372
23742373// other
23752374tama        // Bandai
trunk/src/mame/video/atari.cpp
r252919r252920
2323
2424void atari_common_state::video_start()
2525{
26   palette_device *m_palette = machine().first_screen()->palette();
26   palette_device &palette = machine().first_screen()->palette();
2727
2828   for (int i = 0; i < 256; i++)
29      m_gtia->set_color_lookup(i, (m_palette->pen(0) << 8) + m_palette->pen(0));
29      m_gtia->set_color_lookup(i, (palette.pen(0) << 8) + palette.pen(0));
3030}
3131
3232
trunk/src/mame/video/batman.cpp
r252919r252920
105105UINT32 batman_state::screen_update_batman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
106106{
107107   // start drawing
108   m_vad->mob()->draw_async(cliprect);
108   m_vad->mob().draw_async(cliprect);
109109
110110   /* draw the playfield */
111111   bitmap_ind8 &priority_bitmap = screen.priority();
112112   priority_bitmap.fill(0, cliprect);
113   m_vad->playfield()->draw(screen, bitmap, cliprect, 0, 0x00);
114   m_vad->playfield()->draw(screen, bitmap, cliprect, 1, 0x01);
115   m_vad->playfield()->draw(screen, bitmap, cliprect, 2, 0x02);
116   m_vad->playfield()->draw(screen, bitmap, cliprect, 3, 0x03);
117   m_vad->playfield2()->draw(screen, bitmap, cliprect, 0, 0x80);
118   m_vad->playfield2()->draw(screen, bitmap, cliprect, 1, 0x84);
119   m_vad->playfield2()->draw(screen, bitmap, cliprect, 2, 0x88);
120   m_vad->playfield2()->draw(screen, bitmap, cliprect, 3, 0x8c);
113   m_vad->playfield().draw(screen, bitmap, cliprect, 0, 0x00);
114   m_vad->playfield().draw(screen, bitmap, cliprect, 1, 0x01);
115   m_vad->playfield().draw(screen, bitmap, cliprect, 2, 0x02);
116   m_vad->playfield().draw(screen, bitmap, cliprect, 3, 0x03);
117   m_vad->playfield2().draw(screen, bitmap, cliprect, 0, 0x80);
118   m_vad->playfield2().draw(screen, bitmap, cliprect, 1, 0x84);
119   m_vad->playfield2().draw(screen, bitmap, cliprect, 2, 0x88);
120   m_vad->playfield2().draw(screen, bitmap, cliprect, 3, 0x8c);
121121
122122   // draw and merge the MO
123   bitmap_ind16 &mobitmap = m_vad->mob()->bitmap();
124   for (const sparse_dirty_rect *rect = m_vad->mob()->first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
123   bitmap_ind16 &mobitmap = m_vad->mob().bitmap();
124   for (const sparse_dirty_rect *rect = m_vad->mob().first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
125125      for (int y = rect->min_y; y <= rect->max_y; y++)
126126      {
127127         UINT16 *mo = &mobitmap.pix16(y);
r252919r252920
190190      }
191191
192192   /* add the alpha on top */
193   m_vad->alpha()->draw(screen, bitmap, cliprect, 0, 0);
193   m_vad->alpha().draw(screen, bitmap, cliprect, 0, 0);
194194
195195   /* now go back and process the upper bit of MO priority */
196   for (const sparse_dirty_rect *rect = m_vad->mob()->first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
196   for (const sparse_dirty_rect *rect = m_vad->mob().first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
197197      for (int y = rect->min_y; y <= rect->max_y; y++)
198198      {
199199         UINT16 *mo = &mobitmap.pix16(y);
r252919r252920
208208               {
209209                  /* if bit 2 is set, start setting high palette bits */
210210                  if (mo[x] & 2)
211                     m_vad->mob()->apply_stain(bitmap, pf, mo, x, y);
211                     m_vad->mob().apply_stain(bitmap, pf, mo, x, y);
212212               }
213213            }
214214      }
trunk/src/mame/video/c116.cpp
r252919r252920
156156   }
157157   int color = ((offset & 0x6000) >> 2) | (offset & 0x7ff);
158158   RAM[color] = data;
159   m_palette->set_pen_color(color,m_ram_r[color],m_ram_g[color],m_ram_b[color]);
159   palette().set_pen_color(color,m_ram_r[color],m_ram_g[color],m_ram_b[color]);
160160}
161161
162162
trunk/src/mame/video/c45.cpp
r252919r252920
133133WRITE16_MEMBER( namco_c45_road_device::tileram_w )
134134{
135135   COMBINE_DATA(&m_tileram[offset]);
136   m_gfx[0]->mark_dirty(offset / WORDS_PER_ROAD_TILE);
136   gfx(0)->mark_dirty(offset / WORDS_PER_ROAD_TILE);
137137}
138138
139139
r252919r252920
200200         while (numpixels-- > 0)
201201         {
202202            int pen = source_gfx[sourcex >> 16];
203            if (m_palette->pen_indirect(pen) != m_transparent_color)
203            if (palette().pen_indirect(pen) != m_transparent_color)
204204            {
205205               if (m_clut != nullptr)
206206                  pen = (pen & ~0xff) | m_clut[pen & 0xff];
trunk/src/mame/video/cyberbal.cpp
r252919r252920
8585   if (screens == 2)
8686   {
8787      palette_device *rpalette = subdevice<palette_device>("rpalette");
88      m_playfield2_tilemap->set_palette(rpalette);
89      m_alpha2_tilemap->set_palette(rpalette);
88      m_playfield2_tilemap->set_palette(*rpalette);
89      m_alpha2_tilemap->set_palette(*rpalette);
9090   }
9191
9292   /* initialize the motion objects */
trunk/src/mame/video/flkatck.cpp
r252919r252920
162162
163163   /* draw the graphics */
164164   m_k007121_tilemap[0]->draw(screen, bitmap, clip[0], 0, 0);
165   m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), nullptr, &m_k007121_ram[0x1000], 0, 40, 0, screen.priority(), (UINT32)-1);
165   m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), m_gfxdecode->palette(), &m_k007121_ram[0x1000], 0, 40, 0, screen.priority(), (UINT32)-1, true);
166166   m_k007121_tilemap[1]->draw(screen, bitmap, clip[1], 0, 0);
167167   return 0;
168168}
trunk/src/mame/video/fromanc2.cpp
r252919r252920
283283
284284   for (int screen = 0; screen < 2; screen++)
285285   {
286      palette_device *palette = (screen == 0 ? m_lpalette : m_rpalette);
286      palette_device &palette = (screen == 0 ? *m_lpalette : *m_rpalette);
287287      for (int tmap = 0; tmap < 4; tmap++)
288288      {
289289         m_videoram[screen][tmap] = std::make_unique<UINT16[]>((64 * 64));
r252919r252920
321321
322322   for (int screen = 0; screen < 2; screen++)
323323   {
324      palette_device *palette = (screen == 0 ? m_lpalette : m_rpalette);
324      palette_device &palette = (screen == 0 ? *m_lpalette : *m_rpalette);
325325      for (int tmap = 0; tmap < 3; tmap++)
326326      {
327327         m_videoram[screen][tmap] = std::make_unique<UINT16[]>((64 * 64));
r252919r252920
357357
358358   for (int screen = 0; screen < 2; screen++)
359359   {
360      palette_device *palette = (screen == 0 ? m_lpalette : m_rpalette);
360      palette_device &palette = (screen == 0 ? *m_lpalette : *m_rpalette);
361361      for (int tmap = 0; tmap < 3; tmap++)
362362      {
363363         m_videoram[screen][tmap] = std::make_unique<UINT16[]>((256 * 64));
trunk/src/mame/video/gp9001.cpp
r252919r252920
681681   UINT16 *source;
682682
683683   if (sp.use_sprite_buffer) source = sp.vram16_buffer.get();
684   else source = m_spriteram;
685   int total_elements = m_gfx[1]->elements();
686   int total_colors = m_gfx[1]->colors();
684   else source = &m_spriteram[0];
685   int total_elements = gfx(1)->elements();
686   int total_colors = gfx(1)->colors();
687687
688688   int old_x = (-(sp.scrollx)) & 0x1ff;
689689   int old_y = (-(sp.scrolly)) & 0x1ff;
r252919r252920
784784               */
785785               sprite %= total_elements;
786786               color %= total_colors;
787               const pen_t *paldata = &m_palette->pen(color * 16);
787               const pen_t *paldata = &palette().pen(color * 16);
788788               {
789789                  int yy, xx;
790                  const UINT8* srcdata = m_gfx[1]->get_data(sprite);
790                  const UINT8* srcdata = gfx(1)->get_data(sprite);
791791                  int count = 0;
792792                  int ystart, yend, yinc;
793793                  int xstart, xend, xinc;
trunk/src/mame/video/k007121.cpp
r252919r252920
229229 *
230230 */
231231
232void k007121_device::sprites_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, palette_device *palette,
233                     const UINT8 *source, int base_color, int global_x_offset, int bank_base, bitmap_ind8 &priority_bitmap, UINT32 pri_mask )
232void k007121_device::sprites_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, palette_device &palette,
233                     const UINT8 *source, int base_color, int global_x_offset, int bank_base, bitmap_ind8 &priority_bitmap, UINT32 pri_mask, bool is_flakatck )
234234{
235235   //  gfx_element *gfx = gfxs[chip];
236236   int flipscreen = m_flipscreen;
237237   int i, num, inc, offs[5];
238   int is_flakatck = (palette == nullptr);
239238
240239   if (is_flakatck)
241240   {
r252919r252920
296295      if (is_flakatck)
297296         transparent_mask = 1 << 0;
298297      else
299         transparent_mask = palette->transpen_mask(*gfx, color, 0);
298         transparent_mask = palette.transpen_mask(*gfx, color, 0);
300299
301300      if (!is_flakatck || source[0x00])   /* Flak Attack needs this */
302301      {
trunk/src/mame/video/k007121.h
r252919r252920
1717
1818   /* shall we move source in the interface? */
1919   /* also notice that now we directly pass *gfx[chip] instead of **gfx !! */
20   void sprites_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, palette_device *palette, const UINT8 *source, int base_color, int global_x_offset, int bank_base, bitmap_ind8 &priority_bitmap, UINT32 pri_mask );
20   void sprites_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, palette_device &palette, const UINT8 *source, int base_color, int global_x_offset, int bank_base, bitmap_ind8 &priority_bitmap, UINT32 pri_mask, bool is_flakatck = false );
2121
2222protected:
2323   // device-level overrides
trunk/src/mame/video/k051316.cpp
r252919r252920
159159   }
160160
161161   decode_gfx();
162   m_gfx[0]->set_colors(m_palette->entries() / m_gfx[0]->depth());
162   gfx(0)->set_colors(palette().entries() / gfx(0)->depth());
163163
164164   m_tmap = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(k051316_device::get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
165165   m_ram.resize(0x800);
trunk/src/mame/video/k051316.h
r252919r252920
7070   void zoom_draw(screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect,int flags,UINT32 priority);
7171   void wraparound_enable(int status);
7272
73   void mark_gfx_dirty(offs_t byteoffset) { m_gfx[0]->mark_dirty(byteoffset * m_pixels_per_byte / (16 * 16)); }
73   void mark_gfx_dirty(offs_t byteoffset) { gfx(0)->mark_dirty(byteoffset * m_pixels_per_byte / (16 * 16)); }
7474   void mark_tmap_dirty() { m_tmap->mark_all_dirty(); }
7575
7676protected:
trunk/src/mame/video/k051960.cpp
r252919r252920
196196   m_sprite_size = region()->bytes();
197197
198198   decode_gfx();
199   m_gfx[0]->set_colors(m_palette->entries() / m_gfx[0]->depth());
199   gfx(0)->set_colors(palette().entries() / gfx(0)->depth());
200200
201   if (VERBOSE && !(m_palette->shadows_enabled()))
201   if (VERBOSE && !(palette().shadows_enabled()))
202202      popmessage("driver should use VIDEO_HAS_SHADOWS");
203203
204204   m_ram = make_unique_clear<UINT8[]>(0x400);
r252919r252920
466466         flipy = !flipy;
467467      }
468468
469      drawmode_table[m_gfx[0]->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
469      drawmode_table[gfx(0)->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
470470
471471      if (zoomx == 0x10000 && zoomy == 0x10000)
472472      {
r252919r252920
492492                  c += yoffset[y];
493493
494494               if (max_priority == -1)
495                  m_gfx[0]->prio_transtable(bitmap,cliprect,
495                  gfx(0)->prio_transtable(bitmap,cliprect,
496496                        c,color,
497497                        flipx,flipy,
498498                        sx & 0x1ff,sy,
499499                        priority_bitmap,pri,
500500                        drawmode_table);
501501               else
502                  m_gfx[0]->transtable(bitmap,cliprect,
502                  gfx(0)->transtable(bitmap,cliprect,
503503                        c,color,
504504                        flipx,flipy,
505505                        sx & 0x1ff,sy,
r252919r252920
533533                  c += yoffset[y];
534534
535535               if (max_priority == -1)
536                  m_gfx[0]->prio_zoom_transtable(bitmap,cliprect,
536                  gfx(0)->prio_zoom_transtable(bitmap,cliprect,
537537                        c,color,
538538                        flipx,flipy,
539539                        sx & 0x1ff,sy,
r252919r252920
541541                        priority_bitmap,pri,
542542                        drawmode_table);
543543               else
544                  m_gfx[0]->zoom_transtable(bitmap,cliprect,
544                  gfx(0)->zoom_transtable(bitmap,cliprect,
545545                        c,color,
546546                        flipx,flipy,
547547                        sx & 0x1ff,sy,
trunk/src/mame/video/k052109.cpp
r252919r252920
223223   }
224224
225225   decode_gfx();
226   m_gfx[0]->set_colors(m_palette->entries() / m_gfx[0]->depth());
226   gfx(0)->set_colors(palette().entries() / gfx(0)->depth());
227227
228228   m_ram = make_unique_clear<UINT8[]>(0x6000);
229229
trunk/src/mame/video/k053244_k053245.cpp
r252919r252920
123123
124124   /* decode the graphics */
125125   decode_gfx();
126   m_gfx[0]->set_colors(m_palette->entries() / m_gfx[0]->depth());
126   gfx(0)->set_colors(palette().entries() / gfx(0)->depth());
127127
128   if (VERBOSE && !(m_palette->shadows_enabled()))
128   if (VERBOSE && !(palette().shadows_enabled()))
129129      popmessage("driver should use VIDEO_HAS_SHADOWS");
130130
131131   m_ramsize = 0x800;
r252919r252920
458458      ox -= (zoomx * w) >> 13;
459459      oy -= (zoomy * h) >> 13;
460460
461      drawmode_table[m_gfx[0]->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
461      drawmode_table[gfx(0)->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
462462
463463      for (y = 0; y < h; y++)
464464      {
r252919r252920
522522
523523            if (zoomx == 0x10000 && zoomy == 0x10000)
524524            {
525               m_gfx[0]->prio_transtable(bitmap,cliprect,
525               gfx(0)->prio_transtable(bitmap,cliprect,
526526                     c,color,
527527                     fx,fy,
528528                     sx,sy,
r252919r252920
531531            }
532532            else
533533            {
534               m_gfx[0]->prio_zoom_transtable(bitmap,cliprect,
534               gfx(0)->prio_zoom_transtable(bitmap,cliprect,
535535                     c,color,
536536                     fx,fy,
537537                     sx,sy,
trunk/src/mame/video/k053250.cpp
r252919r252920
353353   linedata_offs += line_start * linedata_adv;     // pre-advance line info offset for the clipped region
354354
355355   // load physical palette base
356   pal_base = m_palette->pens() + (colorbase << 4) % m_palette->entries();
356   pal_base = palette().pens() + (colorbase << 4) % palette().entries();
357357
358358   // walk the target bitmap within the visible area vertically or horizontally, one line at a time
359359   for (line_pos=line_start; line_pos <= line_end; linedata_offs += linedata_adv, line_pos++)
trunk/src/mame/video/k053936.cpp
r252919r252920
436436      bitmap_rgb32 &dst_bitmap, bitmap_ind16 &src_bitmap,
437437      const rectangle &dst_cliprect, const rectangle &src_cliprect,
438438      UINT32 _startx,UINT32 _starty,int _incxx,int _incxy,int _incyx,int _incyy,
439      int tilebpp, int blend, int alpha, int clip, int pixeldouble_output, palette_device *palette )
439      int tilebpp, int blend, int alpha, int clip, int pixeldouble_output, palette_device &palette )
440440{
441441   static const int colormask[8]={1,3,7,0xf,0x1f,0x3f,0x7f,0xff};
442442   int cy, cx;
r252919r252920
484484   ecx = tx = -tx;
485485
486486   tilebpp = (tilebpp-1) & 7;
487   pal_base = palette->pens();
487   pal_base = palette.pens();
488488   cmask = colormask[tilebpp];
489489
490490   src_pitch = src_bitmap.rowpixels();
r252919r252920
590590static void K053936GP_zoom_draw(running_machine &machine,
591591      int chip, UINT16 *ctrl, UINT16 *linectrl,
592592      bitmap_rgb32 &bitmap, const rectangle &cliprect, tilemap_t *tmap,
593      int tilebpp, int blend, int alpha, int pixeldouble_output, palette_device *palette)
593      int tilebpp, int blend, int alpha, int pixeldouble_output, palette_device &palette)
594594{
595595   UINT16 *lineaddr;
596596
r252919r252920
658658}
659659
660660void K053936GP_0_zoom_draw(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect,
661      tilemap_t *tmap, int tilebpp, int blend, int alpha, int pixeldouble_output, UINT16* temp_m_k053936_0_ctrl_16, UINT16* temp_m_k053936_0_linectrl_16,UINT16* temp_m_k053936_0_ctrl, UINT16* temp_m_k053936_0_linectrl, palette_device *palette)
661      tilemap_t *tmap, int tilebpp, int blend, int alpha, int pixeldouble_output, UINT16* temp_m_k053936_0_ctrl_16, UINT16* temp_m_k053936_0_linectrl_16,UINT16* temp_m_k053936_0_ctrl, UINT16* temp_m_k053936_0_linectrl, palette_device &palette)
662662{
663663   if (temp_m_k053936_0_ctrl_16)
664664   {
trunk/src/mame/video/k053936.h
r252919r252920
1313void K053936GP_set_offset(int chip, int xoffs, int yoffs);
1414void K053936GP_clip_enable(int chip, int status);
1515void K053936GP_set_cliprect(int chip, int minx, int maxx, int miny, int maxy);
16void K053936GP_0_zoom_draw(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, tilemap_t *tmap, int tilebpp, int blend, int alpha, int pixeldouble_output, UINT16* temp_m_k053936_0_ctrl_16, UINT16* temp_m_k053936_0_linectrl_16, UINT16* temp_m_k053936_0_ctrl, UINT16* temp_m_k053936_0_linectrl, palette_device *palette);
16void K053936GP_0_zoom_draw(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, tilemap_t *tmap, int tilebpp, int blend, int alpha, int pixeldouble_output, UINT16* temp_m_k053936_0_ctrl_16, UINT16* temp_m_k053936_0_linectrl_16, UINT16* temp_m_k053936_0_ctrl, UINT16* temp_m_k053936_0_linectrl, palette_device &palette);
1717
1818
1919class k053936_device : public device_t
trunk/src/mame/video/k054338.cpp
r252919r252920
7474   return m_regs[reg];
7575}
7676
77void k054338_device::update_all_shadows( int rushingheroes_hack, palette_device *palette )
77void k054338_device::update_all_shadows( int rushingheroes_hack, palette_device &palette )
7878{
7979   int i, d;
8080   int noclip = m_regs[K338_REG_CONTROL] & K338_CTL_CLIPSL;
r252919r252920
8989
9090   if (!rushingheroes_hack)
9191   {
92      palette->set_shadow_dRGB32(0, m_shd_rgb[0], m_shd_rgb[1], m_shd_rgb[2], noclip);
93      palette->set_shadow_dRGB32(1, m_shd_rgb[3], m_shd_rgb[4], m_shd_rgb[5], noclip);
94      palette->set_shadow_dRGB32(2, m_shd_rgb[6], m_shd_rgb[7], m_shd_rgb[8], noclip);
92      palette.set_shadow_dRGB32(0, m_shd_rgb[0], m_shd_rgb[1], m_shd_rgb[2], noclip);
93      palette.set_shadow_dRGB32(1, m_shd_rgb[3], m_shd_rgb[4], m_shd_rgb[5], noclip);
94      palette.set_shadow_dRGB32(2, m_shd_rgb[6], m_shd_rgb[7], m_shd_rgb[8], noclip);
9595   }
9696   else // rushing heroes seems to specify shadows in another format, or it's not being interpreted properly.
9797   {
98      palette->set_shadow_dRGB32(0, -80, -80, -80, 0);
99      palette->set_shadow_dRGB32(1, -80, -80, -80, 0);
100      palette->set_shadow_dRGB32(2, -80, -80, -80, 0);
98      palette.set_shadow_dRGB32(0, -80, -80, -80, 0);
99      palette.set_shadow_dRGB32(1, -80, -80, -80, 0);
100      palette.set_shadow_dRGB32(2, -80, -80, -80, 0);
101101   }
102102}
103103
trunk/src/mame/video/k054338.h
r252919r252920
3838   DECLARE_READ16_MEMBER( word_r );        // CLTC
3939
4040   int register_r(int reg);
41   void update_all_shadows(int rushingheroes_hack, palette_device *palette);          // called at the beginning of SCREEN_UPDATE()
41   void update_all_shadows(int rushingheroes_hack, palette_device &palette);          // called at the beginning of SCREEN_UPDATE()
4242   void fill_solid_bg(bitmap_rgb32 &bitmap, const rectangle &cliprect);             // solid backcolor fill
4343   void fill_backcolor(bitmap_rgb32 &bitmap, const rectangle &cliprect, const pen_t *pal_ptr, int mode);  // solid or gradient fill using k055555
4444   int  set_alpha_level(int pblend);                         // blend style 0-2
trunk/src/mame/video/kaneko16.cpp
r252919r252920
2929   the times. To do it right, each pixel should be drawn with pen 0
3030   of the bottomost tile that covers it (which is pretty tricky to do) */
3131template<class _BitmapClass>
32void kaneko16_state::kaneko16_fill_bitmap(palette_device* palette, _BitmapClass &bitmap, const rectangle &cliprect)
32void kaneko16_state::kaneko16_fill_bitmap(_BitmapClass &bitmap, const rectangle &cliprect)
3333{
3434   int pen = 0;
3535
36   if (m_kaneko_spr)
36   if (m_kaneko_spr.found())
3737   {
3838      if (m_kaneko_spr->get_sprite_type() == 1)
3939      {
r252919r252920
4949   }
5050   else
5151   {
52      const pen_t *pal = palette->pens();
52      const pen_t *pal = m_palette->pens();
5353      bitmap.fill(pal[pen], cliprect);
5454   }
5555}
r252919r252920
8282
8383UINT32 kaneko16_state::screen_update_kaneko16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
8484{
85   kaneko16_fill_bitmap(m_palette, bitmap,cliprect);
85   kaneko16_fill_bitmap(bitmap,cliprect);
8686
8787   // if the display is disabled, do nothing?
8888   if (!m_disp_enable) return 0;
trunk/src/mame/video/kaneko_spr.cpp
r252919r252920
308308         if (sizeof(*dest) == 2) rgb = 0;
309309         else rgb = 1;
310310
311         const pen_t *pal = gfx->palette()->pens();
311         const pen_t *pal = gfx->palette().pens();
312312
313313         for (int y = sy; y < ey; y++)
314314         {
r252919r252920
575575
576576void kaneko16_sprite_device::kaneko16_copybitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect)
577577{
578   const pen_t *pal = m_gfxdecode->gfx(0)->palette()->pens();
578   const pen_t *pal = m_gfxdecode->gfx(0)->palette().pens();
579579   UINT16* srcbitmap;
580580   UINT32* dstbitmap;
581581
trunk/src/mame/video/konami_helper.cpp
r252919r252920
1111
1212   memcpy(&gl, layout, sizeof(gl));
1313   gl.total = total;
14   gfxdecode->set_gfx(gfx_index, std::make_unique<gfx_element>(&palette, gl, data, 0, palette.entries() >> bpp, 0));
14   gfxdecode->set_gfx(gfx_index, std::make_unique<gfx_element>(palette, gl, data, 0, palette.entries() >> bpp, 0));
1515}
1616
1717
trunk/src/mame/video/offtwall.cpp
r252919r252920
8484UINT32 offtwall_state::screen_update_offtwall(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
8585{
8686   // start drawing
87   m_vad->mob()->draw_async(cliprect);
87   m_vad->mob().draw_async(cliprect);
8888
8989   /* draw the playfield */
90   m_vad->playfield()->draw(screen, bitmap, cliprect, 0, 0);
90   m_vad->playfield().draw(screen, bitmap, cliprect, 0, 0);
9191
9292   // draw and merge the MO
93   bitmap_ind16 &mobitmap = m_vad->mob()->bitmap();
94   for (const sparse_dirty_rect *rect = m_vad->mob()->first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
93   bitmap_ind16 &mobitmap = m_vad->mob().bitmap();
94   for (const sparse_dirty_rect *rect = m_vad->mob().first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
9595      for (int y = rect->min_y; y <= rect->max_y; y++)
9696      {
9797         UINT16 *mo = &mobitmap.pix16(y);
trunk/src/mame/video/relief.cpp
r252919r252920
9696UINT32 relief_state::screen_update_relief(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
9797{
9898   // start drawing
99   m_vad->mob()->draw_async(cliprect);
99   m_vad->mob().draw_async(cliprect);
100100
101101   /* draw the playfield */
102102   bitmap_ind8 &priority_bitmap = screen.priority();
103103   priority_bitmap.fill(0, cliprect);
104   m_vad->playfield()->draw(screen, bitmap, cliprect, 0, 0);
105   m_vad->playfield2()->draw(screen, bitmap, cliprect, 0, 1);
104   m_vad->playfield().draw(screen, bitmap, cliprect, 0, 0);
105   m_vad->playfield2().draw(screen, bitmap, cliprect, 0, 1);
106106
107107   // draw and merge the MO
108   bitmap_ind16 &mobitmap = m_vad->mob()->bitmap();
109   for (const sparse_dirty_rect *rect = m_vad->mob()->first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
108   bitmap_ind16 &mobitmap = m_vad->mob().bitmap();
109   for (const sparse_dirty_rect *rect = m_vad->mob().first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
110110      for (int y = rect->min_y; y <= rect->max_y; y++)
111111      {
112112         UINT16 *mo = &mobitmap.pix16(y);
trunk/src/mame/video/shuuz.cpp
r252919r252920
7878UINT32 shuuz_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
7979{
8080   // start drawing
81   m_vad->mob()->draw_async(cliprect);
81   m_vad->mob().draw_async(cliprect);
8282
8383   /* draw the playfield */
84   m_vad->playfield()->draw(screen, bitmap, cliprect, 0, 0);
84   m_vad->playfield().draw(screen, bitmap, cliprect, 0, 0);
8585
8686   // draw and merge the MO
87   bitmap_ind16 &mobitmap = m_vad->mob()->bitmap();
88   for (const sparse_dirty_rect *rect = m_vad->mob()->first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
87   bitmap_ind16 &mobitmap = m_vad->mob().bitmap();
88   for (const sparse_dirty_rect *rect = m_vad->mob().first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
8989      for (int y = rect->min_y; y <= rect->max_y; y++)
9090      {
9191         UINT16 *mo = &mobitmap.pix16(y);
trunk/src/mame/video/tecmo_mix.cpp
r252919r252920
9090}
9191
9292
93void tecmo_mix_device::mix_bitmaps(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, palette_device* palette, bitmap_ind16* bitmap_bg, bitmap_ind16* bitmap_fg, bitmap_ind16* bitmap_tx, bitmap_ind16* bitmap_sp)
93void tecmo_mix_device::mix_bitmaps(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, palette_device &palette, bitmap_ind16* bitmap_bg, bitmap_ind16* bitmap_fg, bitmap_ind16* bitmap_tx, bitmap_ind16* bitmap_sp)
9494{
9595   //int frame = (screen.frame_number()) & 1;
9696   // note this game has no tx layer, comments relate to other drivers
9797
9898   int y, x;
99   const pen_t *paldata = palette->pens();
99   const pen_t *paldata = palette.pens();
100100
101101   for (y = cliprect.min_y; y <= cliprect.max_y; y++)
102102   {
trunk/src/mame/video/tecmo_mix.h
r252919r252920
1010public:
1111   tecmo_mix_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
1212
13   void mix_bitmaps(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, palette_device* palette, bitmap_ind16* bitmap_bg, bitmap_ind16* bitmap_fg, bitmap_ind16* bitmap_tx, bitmap_ind16* bitmap_sp);
13   void mix_bitmaps(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, palette_device &palette, bitmap_ind16* bitmap_bg, bitmap_ind16* bitmap_fg, bitmap_ind16* bitmap_tx, bitmap_ind16* bitmap_sp);
1414   static void set_mixer_shifts(device_t &device, int sprpri_shift, int sprbln_shift, int sprcol_shift);
1515   static void set_blendcols(device_t &device, int bgblend_comp, int fgblend_comp, int txblend_comp, int spblend_comp);
1616   static void set_regularcols(device_t &device, int bgregular_comp, int fgregular_comp, int txregular_comp, int spregular_comp);
trunk/src/mame/video/thunderj.cpp
r252919r252920
106106UINT32 thunderj_state::screen_update_thunderj(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
107107{
108108   // start drawing
109   m_vad->mob()->draw_async(cliprect);
109   m_vad->mob().draw_async(cliprect);
110110
111111   /* draw the playfield */
112112   bitmap_ind8 &priority_bitmap = screen.priority();
113113   priority_bitmap.fill(0, cliprect);
114   m_vad->playfield()->draw(screen, bitmap, cliprect, 0, 0x00);
115   m_vad->playfield()->draw(screen, bitmap, cliprect, 1, 0x01);
116   m_vad->playfield()->draw(screen, bitmap, cliprect, 2, 0x02);
117   m_vad->playfield()->draw(screen, bitmap, cliprect, 3, 0x03);
118   m_vad->playfield2()->draw(screen, bitmap, cliprect, 0, 0x80);
119   m_vad->playfield2()->draw(screen, bitmap, cliprect, 1, 0x84);
120   m_vad->playfield2()->draw(screen, bitmap, cliprect, 2, 0x88);
121   m_vad->playfield2()->draw(screen, bitmap, cliprect, 3, 0x8c);
114   m_vad->playfield().draw(screen, bitmap, cliprect, 0, 0x00);
115   m_vad->playfield().draw(screen, bitmap, cliprect, 1, 0x01);
116   m_vad->playfield().draw(screen, bitmap, cliprect, 2, 0x02);
117   m_vad->playfield().draw(screen, bitmap, cliprect, 3, 0x03);
118   m_vad->playfield2().draw(screen, bitmap, cliprect, 0, 0x80);
119   m_vad->playfield2().draw(screen, bitmap, cliprect, 1, 0x84);
120   m_vad->playfield2().draw(screen, bitmap, cliprect, 2, 0x88);
121   m_vad->playfield2().draw(screen, bitmap, cliprect, 3, 0x8c);
122122
123123   // draw and merge the MO
124   bitmap_ind16 &mobitmap = m_vad->mob()->bitmap();
125   for (const sparse_dirty_rect *rect = m_vad->mob()->first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
124   bitmap_ind16 &mobitmap = m_vad->mob().bitmap();
125   for (const sparse_dirty_rect *rect = m_vad->mob().first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
126126      for (int y = rect->min_y; y <= rect->max_y; y++)
127127      {
128128         UINT16 *mo = &mobitmap.pix16(y);
r252919r252920
217217      }
218218
219219   /* add the alpha on top */
220   m_vad->alpha()->draw(screen, bitmap, cliprect, 0, 0);
220   m_vad->alpha().draw(screen, bitmap, cliprect, 0, 0);
221221
222222   /* now go back and process the upper bit of MO priority */
223   for (const sparse_dirty_rect *rect = m_vad->mob()->first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
223   for (const sparse_dirty_rect *rect = m_vad->mob().first_dirty_rect(cliprect); rect != nullptr; rect = rect->next())
224224      for (int y = rect->min_y; y <= rect->max_y; y++)
225225      {
226226         UINT16 *mo = &mobitmap.pix16(y);
r252919r252920
235235               {
236236                  /* if bit 2 is set, start setting high palette bits */
237237                  if (mo[x] & 2)
238                     m_vad->mob()->apply_stain(bitmap, pf, mo, x, y);
238                     m_vad->mob().apply_stain(bitmap, pf, mo, x, y);
239239               }
240240            }
241241      }
trunk/src/mame/video/toaplan_scu.cpp
r252919r252920
8585         if (flipx) sx -= m_xoffs_flipped;
8686
8787         flipy = attribute & 0x200;
88         m_gfx[0]->transpen_raw(m_temp_spritebitmap,cliprect,
88         gfx(0)->transpen_raw(m_temp_spritebitmap,cliprect,
8989            sprite,
9090            color << 4 /* << 4 because using _raw */ ,
9191            flipx,flipy,
r252919r252920
103103void toaplan_scu_device::copy_sprites_from_tempbitmap(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority)
104104{
105105   int y, x;
106   int colourbase = m_gfx[0]->colorbase();
106   int colourbase = gfx(0)->colorbase();
107107
108108   for (y=cliprect.min_y;y<=cliprect.max_y;y++)
109109   {


Previous 199869 Revisions Next


© 1997-2024 The MAME Team