Previous 199869 Revisions Next

r35246 Tuesday 24th February, 2015 at 06:18:32 UTC by Peter Ferrie
Merge branch 'master' of https://github.com/mamedev/mame
[/trunk]makefile
[hash]pico.xml tutor.xml
[src/emu]render.c render.h rendersw.inc
[src/emu/bus]bus.mak
[src/emu/bus/cpc]smartwatch.c* smartwatch.h*
[src/lib/util]palette.h
[src/mame]mame.lst
[src/mame/drivers]chihiro.c cps2.c namcos2.c opwolf.c retofinv.c segaorun.c seicross.c speedatk.c thedeep.c triforce.c triplhnt.c
[src/mame/includes]cps1.h retofinv.h speedatk.h thedeep.h
[src/mame/machine]retofinv.c
[src/mame/video]retofinv.c speedatk.c thedeep.c
[src/mess/drivers]alnchase.c amstrad.c edracula.c tmtennis.c wildfire.c
[src/mess/includes]amstrad.h
[src/mess/machine]amstrad.c
[src/osd/sdl]blit13.h draw13.c drawogl.c
[src/osd/windows]d3dhlsl.c drawd3d.c vconv.c

trunk/hash/pico.xml
r243757r243758
1414Published by Sega/Sega Toys (HPC-6*** serial codes)
1515
1616* 超光戦士 シャンゼリオン  - Chou Hikari Senshi Shanzerion (Sega - 1996xxxx - HPC-6038)
17* パケット2 ゆかいな仲間とゲームで数遊び  - Paketto 2 Yukai na Nakama to Game de Kazu Asobi (Sega - ???? - HPC-6048)
1817* さわってみよう! よいこのはじめてキーボード - Sawattemiyou! Yoiko no Hajimete Keyboard (Sega - 199712xx - HPC-6053)
1918* プーさんとたのしいなかまたち - Pooh-san to Tanoshii na Kamatachi (Sega - ???? - HPC-6054)
2019* はじめまシリーズ5 けろけろけろっぴのハリキリうんどうかい - Hajimema Series 5 - Kerokero Keroppi no Harikiri Undoukai (Sega - 1998xxxx - HPC-6059) [reprint HPC-6006]
r243757r243758
4544* ディズニープリンセス 白雪姫 ~しらゆきひめ~ <Best> - Disney Princesses - Shirayukihime Best Selection (Sega Toys - 20040426 - HPC-6139)
4645* 七田 眞 監修 右脳イメージトレーニング さんすう・えいごでモジャーズに挑戦 THE ARITHMETIC & ABC FIGHT VS MOJARS <Best Selection> - Shichida Makoto Kanshuu Unou Image Training Sansuu - Eigo de Mojaazu ni Chousen THE ARITHMETIC & ABC FIGHT VS MOJARS Best Selection (Sega Toys - 2004xxxx - HPC-????)
4746* 七田 眞 監修 右脳イメージトレーニング ひらがな・カタカナ カジノでモジャベガスドリーム <Best Selection> - Shichida Makoto Kanshuu Unou Image Training Hiragana - Katakana Kajino de Moja Vegas Dream Best Selection (Sega Toys - 2004xxxx - HPC-????)
48* ディズニープリンセス すてきにレッスン! ひらがな・カタカナ - Disney Princess Suteki ni Ressun! Hiragana-Katakana (Sega Toys - 20041018 - HPC-6145)
4947
5048to be verified
5149* アンパンマンのもしもしピコ セット それいけ!アンパンマン アンパンマンとでんわであそぼう!<同梱> - Anpanman no Moshimoshi Pico Set with Soreike! Anpanman - Anpanman to Denwa de Asobou! (Sega - 199712xx - HPC-6050) [is the serial correct, or is it 6051 like reported for the single cart?]
r243757r243758
5957* ウルトラマンピコ ウルトラファイティングベース - Ultraman Pico Ultraman Fighting Best (Bandai - 200009xx - T-133???)
6058* アンパンマンピコ わくわくパン工場 - Anpanman Pico Wakuwaku Pan Koujou (Bandai - 200106xx - T-133350)
6159* おジャ魔女どれみ ドッカ~ン! - Ojamajo Doremi Dokka~n! (Bandai - 200205xx - T-133410)
62* それいけ!アンパンマンの メダリンピックワールド2 <Best Selection> - Soreike! Anpanman no Medarin Pikku World 2 Best Selection (Bandai - 20040713 - T-133460) [reprint T-133300]
63* 特捜戦隊デカレンジャー - Tokusou Sentai Dekaranger (Bandai - 200406xx - T-133470)
6460* いっしょにはしろうきかんしゃトーマス <Best Selection> - Issho ni Hashirou Kikansha Thomas Best Selection (Bandai - 20040713 - T-133490) [reprint T-133140]
6561* 学研のおべんきょうソフト たしざん ひきざん - Gakken no Obenkyou Soft - Tashizan Hikizan (Gakken - 1995xxxx - T-169030)
6662* はじめまシリーズ4 学研のおべんきょうソフト たしざん ひきざん - Hajimema Series 4 - Gakken no Obenkyou Soft - Tashizan Hikizan (Gakken - 1998xxxx - T-169070)
r243757r243758
790786      </part>
791787   </software>
792788
789   <software name="princehk">
790      <description>Disney Princess Suteki ni Lesson! Hiragana-Katakana (Jpn)</description>
791      <year>2004</year>
792      <publisher>Sega Toys</publisher>
793      <info name="serial" value="HPC-6145" />
794      <info name="release" value="20041018"/>
795      <info name="alt_title" value="ディズニープリンセス すてきにレッスン! ひらがな・カタカナ"/>
796      <part name="cart" interface="pico_cart">
797         <feature name="pcb" value="171-7090A" />
798         <feature name="ic1" value="EPOXY BLOCK IC1" />
799         <dataarea name="rom" size="2097152">
800            <rom name="epoxy block ic1.ic1" size="2097152" crc="761e7d3c" sha1="f7e35cb1084130b95ca5add40e263d15dc54b6a5" offset="0" loadflag="load16_word_swap" />
801         </dataarea>
802      </part>
803   </software>
804
793805   <software name="ariel">
794806      <description>Disney Princess Ariel (Jpn)</description>
795807      <year>2004</year>
r243757r243758
11901202      </part>
11911203   </software>
11921204
1193   <software name="eccojrg" cloneof="eccojr">
1194      <description>Ecco Jr. und die große Schatzsuche im Ozean! (Ger)</description>
1205   <software name="eccojrb" cloneof="eccojr">
1206      <description>Ecco Jr. - No fundo do mar! (Bra)</description>
11951207      <year>19??</year>
11961208      <publisher>Sega</publisher>
11971209      <part name="cart" interface="pico_cart">
1210         <feature name="pcb" value="171-6882A" />
1211         <feature name="ic1" value="MPR-18318-U" />
11981212         <dataarea name="rom" size="524288">
1199            <rom name="ecco jr. und die grosse schatzsuche im ozean! (germany).bin" size="524288" crc="470af94e" sha1="f57b18e13d44eb1a1dc85701757e5cdafcf43faa" offset="000000" loadflag="load16_word_swap" />
1213            <rom name="mpr-18318-u.ic1" size="524288" crc="557670cf" sha1="fc8936611b4fb868838fd1ad60fba4944e4f8822" offset="0" loadflag="load16_word_swap" />
12001214         </dataarea>
12011215      </part>
12021216   </software>
r243757r243758
12151229      </part>
12161230   </software>
12171231
1232   <software name="eccojrg" cloneof="eccojr">
1233      <description>Ecco Jr. und die große Schatzsuche im Ozean! (Ger)</description>
1234      <year>19??</year>
1235      <publisher>Sega</publisher>
1236      <part name="cart" interface="pico_cart">
1237         <dataarea name="rom" size="524288">
1238            <rom name="ecco jr. und die grosse schatzsuche im ozean! (germany).bin" size="524288" crc="470af94e" sha1="f57b18e13d44eb1a1dc85701757e5cdafcf43faa" offset="000000" loadflag="load16_word_swap" />
1239         </dataarea>
1240      </part>
1241   </software>
1242
12181243   <software name="eccojrj" cloneof="eccojr">
12191244      <description>Ecco Jr. and the Great Ocean Treasure Hunt! (Jpn)</description>
12201245      <year>1995</year>
r243757r243758
23942419      </part>
23952420   </software>
23962421
2422   <software name="magiccrab" cloneof="magiccra">
2423      <description>Cores Mágicas (Bra)</description>
2424      <year>1994</year>
2425      <publisher>Sega</publisher>
2426      <part name="cart" interface="pico_cart">
2427         <feature name="pcb" value="171-6882A" />
2428         <feature name="ic1" value="MPR-18319-T" />
2429         <dataarea name="rom" size="524288">
2430            <rom name="mpr-18319-t.ic1" size="524288" crc="81046d4d" sha1="ca2ffba211e088a9b1f0047e86013e65e2948b04" offset="000000" loadflag="load16_word_swap" />
2431         </dataarea>
2432      </part>
2433   </software>
2434
23972435   <software name="magiccraf" cloneof="magiccra">
23982436      <description>Crayons Magiques (Fra)</description>
23992437      <year>1994</year>
r243757r243758
26162654      </part>
26172655   </software>
26182656
2657   <software name="mickblstb" cloneof="mickblst" supported="no">
2658      <description>Mickey Viajando no Tempo (Bra)</description>
2659      <year>1994</year>
2660      <publisher>Sega</publisher>
2661      <part name="cart" interface="pico_cart">
2662         <feature name="pcb" value="171-6882A" />
2663         <feature name="ic1" value="MPR-18315-T" />
2664         <dataarea name="rom" size="524288">
2665            <rom name="mpr-18315-t.ic1" size="524288" crc="a1d63b9a" sha1="b1912dd0ddd19c38cc5dfeb92e669535b2e1619f" offset="000000" loadflag="load16_word_swap" />
2666         </dataarea>
2667      </part>
2668   </software>
2669
26192670   <software name="mickblstf" cloneof="mickblst" supported="no">
26202671      <description>Mickey - Fait un Voyage Eclair Dans Le Passé (Fra)</description>
26212672      <year>1994</year>
r243757r243758
31073158      </part>
31083159   </software>
31093160
3161   <software name="paketto2">
3162      <description>Paketto 2 - Yukai na Nakama to Game de Kazu Asobi (Jpn)</description>
3163      <year>199?</year>
3164      <publisher>Sega</publisher>
3165      <info name="serial" value="HPC-6048"/>
3166      <info name="alt_title" value="パケット2 ゆかいな仲間とゲームで数遊び"/>
3167      <part name="cart" interface="pico_cart">
3168         <feature name="pcb" value="171-7505A" />
3169         <feature name="ic1" value="MPR-20212 E61" />
3170         <feature name="ic2" value="315-6120" />
3171         <dataarea name="rom" size="2097152">
3172            <rom name="mpr-20212 e61.ic1" size="2097152" crc="6dd450f5" sha1="56579b02774ec28521e1b25f16debe43bc43149f" offset="000000" loadflag="load16_word_swap" />
3173         </dataarea>
3174      </part>
3175   </software>
3176
31103177   <software name="pecola">
31113178      <description>Pecola no Daibouken Maboroshi no Ice Cream wo Sagase! (Jpn)</description>
31123179      <year>1998</year>
r243757r243758
40074074   </software>
40084075
40094076   <software name="anpanmm2">
4077      <description>Soreike! Anpanman no Medalympic World 2 (Jpn, Best Selection)</description>
4078      <year>2004</year>
4079      <publisher>Bandai</publisher>
4080      <info name="serial" value="T-133460"/>
4081      <info name="release" value="20040713"/>
4082      <info name="alt_title" value="それいけ!アンパンマンのメダリンピックワールド2 (Best Selection)"/>
4083      <part name="cart" interface="pico_cart">
4084         <feature name="pcb" value="171-7090A" />
4085         <feature name="ic1" value="EPOXY BLOCK IC1" />
4086         <dataarea name="rom" size="524288">
4087            <rom name="epoxy block ic1.ic1" size="524288" crc="8dab2ec3" sha1="6ee0ce5db07c4f3feba319f77f714a399176e72e" offset="0" loadflag="load16_word_swap" />
4088         </dataarea>
4089      </part>
4090   </software>
4091
4092   <software name="anpanmm2a" cloneof="anpanmm2">
40104093      <description>Soreike! Anpanman no Medalympic World 2 (Jpn)</description>
40114094      <year>199?</year>
40124095      <publisher>Bandai</publisher>
r243757r243758
42104293      </part>
42114294   </software>
42124295
4296   <software name="dekrangr">
4297      <description>Tokusou Sentai Dekaranger (Jpn)</description>
4298      <year>2004</year>
4299      <publisher>Bandai</publisher>
4300      <info name="serial" value="T-133470" />
4301      <info name="release" value="200406xx"/>
4302      <info name="alt_title" value="特捜戦隊デカレンジャー"/>
4303      <part name="cart" interface="pico_cart">
4304         <feature name="pcb" value="171-7090A" />
4305         <feature name="ic1" value="EPOXY BLOCK IC1" />
4306         <dataarea name="rom" size="2097152">
4307            <rom name="epoxy block ic1.ic1" size="2097152" crc="9d5067a3" sha1="79a09c334b518357d380d09350bc31f0df0ae243" offset="0" loadflag="load16_word_swap" />
4308         </dataarea>
4309      </part>
4310   </software>
4311
42134312<!-- The game was re-released in 2003 for the Pico 10th Anniversary. The ROM content is the same, but the PCB is different. -->
42144313   <software name="tokyodtt">
42154314      <description>Tokyo Disneyland Toon Town - Mickey no Boku wa Untenshu (Jpn)</description>
r243757r243758
44624561   </software>
44634562
44644563   <software name="yukaimp">
4465      <description>Yukai na Mori no Packet (Jpn)</description>
4564      <description>Yukai na Mori no Paketto (Jpn)</description>
44664565      <year>1995</year>
44674566      <publisher>Sega</publisher>
44684567      <info name="serial" value="HPC-6034"/>
trunk/hash/tutor.xml
r243757r243758
1515005E Frogger ~ フロッガー    [dumped]
1616006E Scramble ~ スクランブル  [dumped]
1717007E NightFlight ~ ナイトフライト  [dumped]
18008E Marine Adventure ~ マリン アドベンチャー
18008E Marine Adventure ~ マリン アドベンチャー    [dumped]
1919009E Mission Attack ~ ミッション アタック    [dumped]
2020010E Traffic Jam ~ トラフィック ジャム
2121011E Mystery Gold ~ ミステリー ゴールド
r243757r243758
131131      </part>
132132   </software>
133133
134   <software name="deepsix">
135   <!-- Stock No: 8106, Clone of Marine Adventure (Japanese 008E)-->
134   <software name="deepsix" cloneof="marinadv">
136135      <description>Deep Six (USA)</description>
137136      <year>1983</year>
138137      <publisher>Tomy</publisher>
r243757r243758
207206      </part>
208207   </software>
209208
209   <software name="marinadv">
210      <description>Marine Adventure (Jpn)</description>
211      <year>1982</year>
212      <publisher>Tomy</publisher>
213      <info name="alt_title" value="マリン アドベンチャー"/>
214      <info name="serial" value="008E"/>
215      <part name="cart" interface="tutor_cart">
216         <dataarea name="rom" size="8192">
217            <rom name="tomy 32.2.u1" size="8192" crc="90f6a3d9" sha1="9e7007b97ec2c1cf865b2f55989bb616af14a6e6" offset="0" />
218         </dataarea>
219      </part>
220   </software>
221
210222   <software name="athland">
211223      <description>Mickey Athletic Land (Jpn)</description>
212224      <year>198?</year>
trunk/makefile
r243757r243758
935935
936936ifndef EXECUTABLE_DEFINED
937937
938ifeq ($(BUSES),)
939LIBBUS =
940endif
941
938942EMULATOROBJLIST = $(EMUINFOOBJ) $(DRIVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBBUS) $(LIBOPTIONAL) $(LIBEMU) $(LIBDASM) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(JPEG_LIB) $(FLAC_LIB) $(7Z_LIB) $(FORMATS_LIB) $(LUA_LIB) $(SQLITE3_LIB) $(WEB_LIB) $(BGFX_LIB) $(ZLIB) $(LIBOCORE) $(MIDI_LIB) $(RESFILE)
939943
940944ifeq ($(TARGETOS),emscripten)
trunk/src/emu/bus/bus.mak
r243757r243758
13711371BUSOBJS += $(BUSOBJ)/cpc/symbfac2.o
13721372BUSOBJS += $(BUSOBJ)/cpc/amdrum.o
13731373BUSOBJS += $(BUSOBJ)/cpc/playcity.o
1374BUSOBJS += $(BUSOBJ)/cpc/smartwatch.o
13741375endif
13751376
13761377#-------------------------------------------------
trunk/src/emu/bus/cpc/smartwatch.c
r0r243758
1/*
2   Dobbertin Smartwatch
3   
4   Created: 23/2/2015
5   
6   TODO: setting the time (requires the DS1315 core to be able to do this,
7         at the moment it just reads the current time)
8*/
9
10#include "emu.h"
11#include "smartwatch.h"
12#include "includes/amstrad.h"
13
14
15//**************************************************************************
16//  DEVICE DEFINITIONS
17//**************************************************************************
18
19const device_type CPC_SMARTWATCH = &device_creator<cpc_smartwatch_device>;
20
21
22static MACHINE_CONFIG_FRAGMENT( cpc_smartwatch )
23   MCFG_DS1315_ADD("rtc")
24   // no pass-through (?)
25MACHINE_CONFIG_END
26
27machine_config_constructor cpc_smartwatch_device::device_mconfig_additions() const
28{
29   return MACHINE_CONFIG_NAME( cpc_smartwatch );
30}
31
32ROM_START( cpc_smartwatch )
33   ROM_REGION( 0x4000, "exp_rom", 0 )
34   ROM_LOAD( "timerom+.rom",   0x0000, 0x4000, CRC(ed42a147) SHA1(61750d0535a1fbf2a4addad9def332cbcf8917c3) )
35ROM_END
36
37const rom_entry *cpc_smartwatch_device::device_rom_region() const
38{
39   return ROM_NAME( cpc_smartwatch );
40}
41
42//**************************************************************************
43//  LIVE DEVICE
44//**************************************************************************
45
46cpc_smartwatch_device::cpc_smartwatch_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
47   device_t(mconfig, CPC_SMARTWATCH, "Dobbertin Smartwatch", tag, owner, clock, "cpc_smartwatch", __FILE__),
48   device_cpc_expansion_card_interface(mconfig, *this),
49   m_rtc(*this,"rtc")
50{
51}
52
53//-------------------------------------------------
54//  device_start - device-specific startup
55//-------------------------------------------------
56
57void cpc_smartwatch_device::device_start()
58{
59   m_slot = dynamic_cast<cpc_expansion_slot_device *>(owner());
60}
61
62//-------------------------------------------------
63//  device_reset - device-specific reset
64//-------------------------------------------------
65
66void cpc_smartwatch_device::device_reset()
67{
68   device_t* cpu = machine().device(":maincpu");
69   address_space& space = cpu->memory().space(AS_PROGRAM);
70   space.install_read_handler(0xc000,0xc001,0,0,read8_delegate(FUNC(cpc_smartwatch_device::rtc_w),this));
71   space.install_read_handler(0xc004,0xc004,0,0,read8_delegate(FUNC(cpc_smartwatch_device::rtc_r),this));
72   m_bank = membank(":bank7");
73}
74
75READ8_MEMBER(cpc_smartwatch_device::rtc_w)
76{
77   UINT8* bank = (UINT8*)m_bank->base();
78   if(offset & 1)
79      m_rtc->read_1(space,0);
80   else
81      m_rtc->read_0(space,0);
82   return bank[offset & 1];
83}
84
85READ8_MEMBER(cpc_smartwatch_device::rtc_r)
86{
87   UINT8* bank = (UINT8*)m_bank->base();
88   return ((bank[(offset & 1)+4]) & 0xfe) | (m_rtc->read_data(space,0) & 0x01);
89}
trunk/src/emu/bus/cpc/smartwatch.h
r0r243758
1/*
2   Dobbertin Smartwatch
3   
4   Dallas DS1216 Smartwatch + DS1315 Phantom Time chip
5   
6   Further info at: http://www.cpcwiki.eu/index.php/Dobbertin_Smart_Watch
7   
8*/
9
10#ifndef SMARTWATCH_H_
11#define SMARTWATCH_H_
12
13#include "emu.h"
14#include "cpcexp.h"
15#include "machine/ds1315.h"
16
17class cpc_smartwatch_device   : public device_t,
18            public device_cpc_expansion_card_interface
19{
20public:
21   // construction/destruction
22   cpc_smartwatch_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
23
24   // optional information overrides
25   virtual machine_config_constructor device_mconfig_additions() const;
26   virtual const rom_entry *device_rom_region() const;
27
28   DECLARE_READ8_MEMBER(rtc_w);
29   DECLARE_READ8_MEMBER(rtc_r);
30protected:
31   // device-level overrides
32   virtual void device_start();
33   virtual void device_reset();
34
35private:
36   cpc_expansion_slot_device *m_slot;
37
38   required_device<ds1315_device> m_rtc;
39   memory_bank* m_bank;
40};
41
42// device type definition
43extern const device_type CPC_SMARTWATCH;
44
45
46#endif /* SMARTWATCH_H_ */
trunk/src/emu/render.c
r243757r243758
202202}
203203
204204//**************************************************************************
205//  render_texinfo
206//**************************************************************************
207
208render_texinfo &render_texinfo::operator=(const render_texinfo &src)
209{
210   free_palette();
211   base = src.base;
212   rowpixels = src.rowpixels;
213   width = src.width;
214   height = src.height;
215   seqid = src.seqid;
216   osddata = src.osddata;
217   m_palette = src.m_palette;
218   if (m_palette != NULL)
219   {
220      m_palette->ref_count++;
221   }
222   return *this;
223}
224
225render_texinfo::render_texinfo(const render_texinfo &src)
226{
227   base = src.base;
228   rowpixels = src.rowpixels;
229   width = src.width;
230   height = src.height;
231   seqid = src.seqid;
232   osddata = src.osddata;
233   m_palette = src.m_palette;
234   if (m_palette != NULL)
235   {
236      m_palette->ref_count++;
237   }
238}
239
240void render_texinfo::set_palette(const dynamic_array<rgb_t> *source)
241{
242   free_palette();
243   if (source != NULL)
244   {
245      m_palette = global_alloc(render_palette_copy);
246      m_palette->palette.copyfrom(*source);
247      m_palette->ref_count = 1;
248   }
249   else
250   {
251      m_palette = NULL;
252   }
253}
254
255void render_texinfo::free_palette()
256{
257   if (m_palette != NULL)
258   {
259      m_palette->ref_count--;
260      if (m_palette->ref_count == 0)
261      {
262         global_free(m_palette);
263      }
264   }
265   m_palette = NULL;
266}
267
268
269//**************************************************************************
270205//  RENDER PRIMITIVE
271206//**************************************************************************
272207
r243757r243758
277212
278213void render_primitive::reset()
279214{
280   // public state
281   type = INVALID;
282   container = NULL;
283   bounds.x0 = 0;
284   bounds.y0 = 0;
285   bounds.x1 = 0;
286   bounds.y1 = 0;
287   color.a = 0;
288   color.r = 0;
289   color.g = 0;
290   color.b = 0;
291   flags = 0;
292   width = 0.0f;
293   texture.set_palette(NULL);
294   texture = render_texinfo();
295   texcoords.bl.u = 0.0f;
296   texcoords.bl.v = 0.0f;
297   texcoords.br.u = 0.0f;
298   texcoords.br.v = 0.0f;
299   texcoords.tl.u = 0.0f;
300   texcoords.tl.v = 0.0f;
301   texcoords.tr.u = 0.0f;
302   texcoords.tr.v = 0.0f;
303
304215   // do not clear m_next!
305   // memset(&type, 0, FPTR(&texcoords + 1) - FPTR(&type));
216   memset(&type, 0, FPTR(&texcoords + 1) - FPTR(&type));
306217}
307218
308219
r243757r243758
556467      texinfo.rowpixels = m_bitmap->rowpixels();
557468      texinfo.width = swidth;
558469      texinfo.height = sheight;
559      // will be set later
560      texinfo.set_palette(NULL);
470      // palette will be set later
561471      texinfo.seqid = ++m_curseq;
562472   }
563473   else
r243757r243758
611521      texinfo.rowpixels = scaled->bitmap->rowpixels();
612522      texinfo.width = dwidth;
613523      texinfo.height = dheight;
614      // will be set later
615      texinfo.set_palette(NULL);
524      // palette will be set later
616525      texinfo.seqid = scaled->seqid;
617526   }
618527}
r243757r243758
623532//  palette for a texture
624533//-------------------------------------------------
625534
626const dynamic_array<rgb_t> *render_texture::get_adjusted_palette(render_container &container)
535const rgb_t *render_texture::get_adjusted_palette(render_container &container)
627536{
628537   // override the palette with our adjusted palette
629538   switch (m_format)
r243757r243758
633542
634543         assert(m_bitmap->palette() != NULL);
635544
636         // if no adjustment necessary, return the raw palette
637         if (!container.has_brightness_contrast_gamma_changes())
638            return m_bitmap->palette()->entry_list_adjusted_darray();
639
640         // otherwise, return our adjusted palette
545         // return our adjusted palette
641546         return container.bcg_lookup_table(m_format, m_bitmap->palette());
642547
643548      case TEXFORMAT_RGB32:
r243757r243758
671576      m_manager(manager),
672577      m_screen(screen),
673578      m_overlaybitmap(NULL),
674      m_overlaytexture(NULL),
675      m_bcglookup256(0x400)
579      m_overlaytexture(NULL)
676580{
677581   // make sure it is empty
678582   empty();
r243757r243758
685589      m_user.m_brightness = manager.machine().options().brightness();
686590      m_user.m_contrast = manager.machine().options().contrast();
687591      m_user.m_gamma = manager.machine().options().gamma();
688      // can't allocate palette client yet since palette and screen devices aren't started yet
592      // palette client will be allocated later
689593   }
690594
691595   recompute_lookups();
r243757r243758
812716//  given texture mode
813717//-------------------------------------------------
814718
815const dynamic_array<rgb_t> *render_container::bcg_lookup_table(int texformat, palette_t *palette)
719const rgb_t *render_container::bcg_lookup_table(int texformat, palette_t *palette)
816720{
817721   switch (texformat)
818722   {
r243757r243758
820724      case TEXFORMAT_PALETTEA16:
821725         if (m_palclient == NULL) // if adjusted palette hasn't been created yet, create it
822726         {
823            assert(palette == m_screen->palette()->palette());
824727            m_palclient.reset(global_alloc(palette_client(*palette)));
825728            m_bcglookup.resize(palette->max_index());
826729            recompute_lookups();
827730         }
828731         assert (palette == &m_palclient->palette());
829         return &m_bcglookup;
732         return m_bcglookup;
830733
831734      case TEXFORMAT_RGB32:
832735      case TEXFORMAT_ARGB32:
833736      case TEXFORMAT_YUY16:
834         return &m_bcglookup256;
737         return m_bcglookup256;
835738
836739      default:
837740         return NULL;
r243757r243758
916819      const rgb_t *adjusted_palette = palette.entry_list_adjusted();
917820      int colors = palette.max_index();
918821
919      for (int i = 0; i < colors; i++)
822      if (has_brightness_contrast_gamma_changes())
920823      {
921         rgb_t newval = adjusted_palette[i];
922         m_bcglookup[i] = (newval & 0xff000000) |
824         for (int i = 0; i < colors; i++)
825         {
826            rgb_t newval = adjusted_palette[i];
827            m_bcglookup[i] = (newval & 0xff000000) |
923828                              m_bcglookup256[0x200 + newval.r()] |
924829                              m_bcglookup256[0x100 + newval.g()] |
925830                              m_bcglookup256[0x000 + newval.b()];
831         }
926832      }
833      else
834         memcpy(&m_bcglookup[0], adjusted_palette, colors * sizeof(rgb_t));
927835   }
928836}
929837
r243757r243758
949857      palette_t &palette = m_palclient->palette();
950858      const rgb_t *adjusted_palette = palette.entry_list_adjusted();
951859
952      // loop over chunks of 32 entries, since we can quickly examine 32 at a time
953      for (UINT32 entry32 = mindirty / 32; entry32 <= maxdirty / 32; entry32++)
860      if (has_brightness_contrast_gamma_changes())
954861      {
955         UINT32 dirtybits = dirty[entry32];
956         if (dirtybits != 0)
862         // loop over chunks of 32 entries, since we can quickly examine 32 at a time
863         for (UINT32 entry32 = mindirty / 32; entry32 <= maxdirty / 32; entry32++)
864         {
865            UINT32 dirtybits = dirty[entry32];
866            if (dirtybits != 0)
957867
958            // this chunk of 32 has dirty entries; fix them up
959            for (UINT32 entry = 0; entry < 32; entry++)
960               if (dirtybits & (1 << entry))
961               {
962                  UINT32 finalentry = entry32 * 32 + entry;
963                  rgb_t newval = adjusted_palette[finalentry];
964                  m_bcglookup[finalentry] = (newval & 0xff000000) |
868               // this chunk of 32 has dirty entries; fix them up
869               for (UINT32 entry = 0; entry < 32; entry++)
870                  if (dirtybits & (1 << entry))
871                  {
872                     UINT32 finalentry = entry32 * 32 + entry;
873                     rgb_t newval = adjusted_palette[finalentry];
874                     m_bcglookup[finalentry] = (newval & 0xff000000) |
965875                                          m_bcglookup256[0x200 + newval.r()] |
966876                                          m_bcglookup256[0x100 + newval.g()] |
967877                                          m_bcglookup256[0x000 + newval.b()];
968               }
878                  }
879         }
969880      }
881      else
882         memcpy(&m_bcglookup[mindirty], &adjusted_palette[mindirty], (maxdirty - mindirty + 1) * sizeof(rgb_t));
970883   }
971884}
972885
r243757r243758
18211734               height = MIN(height, m_maxtexheight);
18221735
18231736               curitem->texture()->get_scaled(width, height, prim->texture, list);
1737
18241738               // set the palette
1825#if 1
1826               const dynamic_array<rgb_t> *adjusted_pal = curitem->texture()->get_adjusted_palette(container);
1827               prim->texture.set_palette(adjusted_pal);
1828#else
18291739               prim->texture.palette = curitem->texture()->get_adjusted_palette(container);
1830#endif
18311740
18321741               // determine UV coordinates and apply clipping
18331742               prim->texcoords = oriented_texcoords[finalorient];
trunk/src/emu/render.h
r243757r243758
209209
210210
211211// render_texinfo - texture information
212
213
214struct render_palette_copy
212struct render_texinfo
215213{
216   int ref_count;
217   dynamic_array<rgb_t> palette;
218};
219
220class render_texinfo
221{
222public:
223   render_texinfo()
224   : base(NULL), rowpixels(0), width(0), height(0),
225      seqid(0), osddata(0), m_palette(NULL)
226   {}
227
228   render_texinfo(const render_texinfo &src);
229
230   ~render_texinfo()
231   {
232      free_palette();
233   }
234
235   render_texinfo &operator=(const render_texinfo &src);
236
237214   void *              base;               // base of the data
238215   UINT32              rowpixels;          // pixels per row
239216   UINT32              width;              // width of the image
240217   UINT32              height;             // height of the image
241218   UINT32              seqid;              // sequence ID
242219   UINT64              osddata;            // aux data to pass to osd
243
244   const rgb_t *       palette() const { return ((m_palette == NULL) ? NULL : &m_palette->palette[0]); }
245
246   void set_palette(const dynamic_array<rgb_t> *source);
247
248private:
249   void free_palette();
250
251   render_palette_copy *m_palette;     // palette for PALETTE16 textures, LUTs for RGB15/RGB32
220   const rgb_t *       palette;            // palette for PALETTE16 textures, bcg lookup table for RGB32/YUY16
252221};
253222
254223
r243757r243758
465434private:
466435   // internal helpers
467436   void get_scaled(UINT32 dwidth, UINT32 dheight, render_texinfo &texinfo, render_primitive_list &primlist);
468   const dynamic_array<rgb_t> *get_adjusted_palette(render_container &container);
437   const rgb_t *get_adjusted_palette(render_container &container);
469438
470439   static const int MAX_TEXTURE_SCALES = 8;
471440
r243757r243758
555524   bool has_brightness_contrast_gamma_changes() const { return (m_user.m_brightness != 1.0f || m_user.m_contrast != 1.0f || m_user.m_gamma != 1.0f); }
556525   UINT8 apply_brightness_contrast_gamma(UINT8 value);
557526   float apply_brightness_contrast_gamma_fp(float value);
558   const dynamic_array<rgb_t> *bcg_lookup_table(int texformat, palette_t *palette = NULL);
527   const rgb_t *bcg_lookup_table(int texformat, palette_t *palette = NULL);
559528
560529private:
561530   // an item describes a high level primitive that is added to a container
r243757r243758
606575   bitmap_argb32 *         m_overlaybitmap;        // overlay bitmap
607576   render_texture *        m_overlaytexture;       // overlay texture
608577   auto_pointer<palette_client> m_palclient;       // client to the screen palette
609   dynamic_array<rgb_t>    m_bcglookup;            // full palette lookup with bcg adjustments
610   dynamic_array<rgb_t>    m_bcglookup256;         // lookup table for brightness/contrast/gamma
578   dynamic_array<rgb_t>    m_bcglookup;            // copy of screen palette with bcg adjustment
579   rgb_t                   m_bcglookup256[0x400];  // lookup table for brightness/contrast/gamma
611580};
612581
613582
trunk/src/emu/rendersw.inc
r243757r243758
130130
131131   static inline UINT32 get_texel_palette16(const render_texinfo &texture, INT32 curu, INT32 curv)
132132   {
133      const rgb_t *palbase = texture.palette();
133      const rgb_t *palbase = texture.palette;
134134      if (_BilinearFilter)
135135      {
136136         INT32 u0 = curu >> 16;
r243757r243758
166166
167167   static inline UINT32 get_texel_palette16a(const render_texinfo &texture, INT32 curu, INT32 curv)
168168   {
169      const rgb_t *palbase = texture.palette();
169      const rgb_t *palbase = texture.palette;
170170      if (_BilinearFilter)
171171      {
172172         INT32 u0 = curu >> 16;
r243757r243758
622622      INT32 endx = setup.endx;
623623
624624      // ensure all parameters are valid
625      assert(prim.texture.palette() != NULL);
625      assert(prim.texture.palette != NULL);
626626
627627      // fast case: no coloring, no alpha
628628      if (prim.color.r >= 1.0f && prim.color.g >= 1.0f && prim.color.b >= 1.0f && is_opaque(prim.color.a))
r243757r243758
730730      INT32 endx = setup.endx;
731731
732732      // ensure all parameters are valid
733      assert(prim.texture.palette() != NULL);
733      assert(prim.texture.palette != NULL);
734734
735735      // fast case: no coloring, no alpha
736736      if (prim.color.r >= 1.0f && prim.color.g >= 1.0f && prim.color.b >= 1.0f && is_opaque(prim.color.a))
r243757r243758
823823      INT32 endx = setup.endx;
824824
825825      // ensure all parameters are valid
826      assert(prim.texture.palette() != NULL);
826      assert(prim.texture.palette != NULL);
827827
828828      // fast case: no coloring, no alpha
829829      if (prim.color.r >= 1.0f && prim.color.g >= 1.0f && prim.color.b >= 1.0f && is_opaque(prim.color.a))
r243757r243758
914914
915915   static void draw_quad_yuy16_none(const render_primitive &prim, _PixelType *dstdata, UINT32 pitch, quad_setup_data &setup)
916916   {
917      const rgb_t *palbase = prim.texture.palette();
917      const rgb_t *palbase = prim.texture.palette;
918918      INT32 dudx = setup.dudx;
919919      INT32 dvdx = setup.dvdx;
920920      INT32 endx = setup.endx;
r243757r243758
10841084
10851085   static void draw_quad_rgb32(const render_primitive &prim, _PixelType *dstdata, UINT32 pitch, quad_setup_data &setup)
10861086   {
1087      const rgb_t *palbase = prim.texture.palette();
1087      const rgb_t *palbase = prim.texture.palette;
10881088      INT32 dudx = setup.dudx;
10891089      INT32 dvdx = setup.dvdx;
10901090      INT32 endx = setup.endx;
r243757r243758
12541254
12551255   static void draw_quad_rgb32_add(const render_primitive &prim, _PixelType *dstdata, UINT32 pitch, quad_setup_data &setup)
12561256   {
1257      const rgb_t *palbase = prim.texture.palette();
1257      const rgb_t *palbase = prim.texture.palette;
12581258      INT32 dudx = setup.dudx;
12591259      INT32 dvdx = setup.dvdx;
12601260      INT32 endx = setup.endx;
r243757r243758
13921392
13931393   static void draw_quad_argb32_alpha(const render_primitive &prim, _PixelType *dstdata, UINT32 pitch, quad_setup_data &setup)
13941394   {
1395      const rgb_t *palbase = prim.texture.palette();
1395      const rgb_t *palbase = prim.texture.palette;
13961396      INT32 dudx = setup.dudx;
13971397      INT32 dvdx = setup.dvdx;
13981398      INT32 endx = setup.endx;
r243757r243758
15381538
15391539   static void draw_quad_argb32_multiply(const render_primitive &prim, _PixelType *dstdata, UINT32 pitch, quad_setup_data &setup)
15401540   {
1541      const rgb_t *palbase = prim.texture.palette();
1541      const rgb_t *palbase = prim.texture.palette;
15421542      INT32 dudx = setup.dudx;
15431543      INT32 dvdx = setup.dvdx;
15441544      INT32 endx = setup.endx;
r243757r243758
16571657
16581658   static void draw_quad_argb32_add(const render_primitive &prim, _PixelType *dstdata, UINT32 pitch, quad_setup_data &setup)
16591659   {
1660      const rgb_t *palbase = prim.texture.palette();
1660      const rgb_t *palbase = prim.texture.palette;
16611661      INT32 dudx = setup.dudx;
16621662      INT32 dvdx = setup.dvdx;
16631663      INT32 endx = setup.endx;
trunk/src/lib/util/palette.h
r243757r243758
170170
171171   // entry list getters
172172   const rgb_t *entry_list_raw() const { return m_entry_color; }
173   const dynamic_array<rgb_t> *entry_list_adjusted_darray() const { return &m_adjusted_color; }
174173   const rgb_t *entry_list_adjusted() const { return m_adjusted_color; }
175174   const rgb_t *entry_list_adjusted_rgb15() const { return m_adjusted_rgb15; }
176175
trunk/src/mame/drivers/chihiro.c
r243757r243758
2121|*| 2004 | Sega Network Taisen Mahjong MJ 2 (Rev C)           | Sega                     | GDROM  | GDX-0006C  |              |
2222| | 2004 | Sega Network Taisen Mahjong MJ 2 (Rev D)           | Sega                     | GDROM  | GDX-0006D  |              |
2323| | 2005 | Sega Network Taisen Mahjong MJ 2 (Rev E)           | Sega                     | GDROM  | GDX-0006E  |              |
24| | 2005 | Sega Network Taisen Mahjong MJ 2 (Rev F)           | Sega                     | GDROM  | GDX-0006F  |              |
24|*| 2005 | Sega Network Taisen Mahjong MJ 2 (Rev F)           | Sega                     | GDROM  | GDX-0006F  |              |
2525|*| 2005 | Sega Network Taisen Mahjong MJ 2 (Rev G)           | Sega                     | GDROM  | GDX-0006G  | 317-0374-JPN |
2626|*| 2004 | Ollie King                                         | Sega / Amusement Vision  | GDROM  | GDX-0007   | 317-0377-COM |
2727| | 2004 | Wangan Midnight Maximum Tune (Japan)               | Namco                    | GDROM  | GDX-0008   | 317-5101-JPN |
r243757r243758
3131| | 2004 | Wangan Midnight Maximum Tune (Export) (Rev A)      | Namco                    | GDROM  | GDX-0009A  | 317-5101-COM |
3232|*| 2004 | Wangan Midnight Maximum Tune (Export) (Rev B)      | Namco                    | GDROM  | GDX-0009B  | 317-5101-COM |
3333| | 2004 | Outrun 2 SP (Japan)                                | Sega                     | GDROM  | GDX-0011   |              |
34| | 2004 | Ghost Squad                                        | Sega                     | GDROM  | GDX-0012   | 317-0398-COM |
34|*| 2004 | Ghost Squad                                        | Sega                     | GDROM  | GDX-0012   | 317-0398-COM |
3535|*| 2004 | Ghost Squad (Rev A)                                | Sega                     | GDROM  | GDX-0012A  | 317-0398-COM |
3636|*| 2005 | Gundam Battle Operating Simulator                  | Banpresto                | GDROM  | GDX-0013   | 317-0400-JPN |
3737| | 2004 | Outrun 2 Special Tours                             | Sega                     | GDROM  | GDX-0014   | 317-0xxx-COM |
r243757r243758
19061906PIC
19071907253-5508-0348
19081908317-0348-com
1909BFN.BIN
1910a8 0b f8 f2 b9 20 b9 97
19111909*/
19121910ROM_START( hotd3 )
19131911   CHIHIRO_BIOS
r243757r243758
19671965
19681966PIC
19691967255-5508-354
1970317-054-COM
1968317-0354-COM
19711969*/
19721970ROM_START( vcop3 )
19731971   CHIHIRO_BIOS
r243757r243758
19831981   CHIHIRO_BIOS
19841982
19851983   DISK_REGION( "gdrom" )
1986   DISK_IMAGE_READONLY( "gdx-0004a", 0, BAD_DUMP SHA1(27acd2d0680e6bafa0d052f60b4372adc37224fd) )
1984   DISK_IMAGE_READONLY( "gdx-0004a", 0, SHA1(055a13a5dc4f54e6b6bdf5ce29dbda14cc9741d7) )
19871985
19881986   ROM_REGION( 0x50, "pic", ROMREGION_ERASE)
19891987   ROM_LOAD("317-0372-com.data", 0x00, 0x50, CRC(a15c9666) SHA1(fd36c524744acb33e579ccb257c71375a5d3af67) )
r243757r243758
19991997   ROM_LOAD("317-0374-jpn.data", 0x00, 0x50, NO_DUMP )
20001998ROM_END
20011999
2000ROM_START( mj2f )
2001   CHIHIRO_BIOS
2002
2003   DISK_REGION( "gdrom" )
2004   DISK_IMAGE_READONLY( "gdx-0006f", 0, SHA1(d3900ca5135f9001e642c78b4d323d353880b41b) )
2005
2006   ROM_REGION( 0x50, "pic", ROMREGION_ERASE) // key was missing
2007   ROM_LOAD("317-0374-jpn.data", 0x00, 0x50, NO_DUMP )
2008ROM_END
2009
20022010/*
20032011Title             MJ2
20042012Media ID          3580
r243757r243758
20392047   CHIHIRO_BIOS
20402048
20412049   DISK_REGION( "gdrom" )
2042   DISK_IMAGE_READONLY( "gdx-0009b", 0, BAD_DUMP SHA1(e032b9fd8d5d09255592f02f7531a608e8179c9c) )
2050   DISK_IMAGE_READONLY( "gdx-0009b", 0, SHA1(6fcbebb95b53eaabbc5da6ee08fbe15c2922b8d4) )
20432051
20442052   ROM_REGION( 0x50, "pic", ROMREGION_ERASE)
20452053   ROM_LOAD("317-5101-com.data", 0x00, 0x50, CRC(3af801f3) SHA1(e9a2558930f3f1f55d5b3c2cadad69329d931f26) )
20462054ROM_END
20472055
2056ROM_START( ghostsqo )
2057   CHIHIRO_BIOS
2058
2059   DISK_REGION( "gdrom" )
2060   DISK_IMAGE_READONLY( "gdx-0012", 0, SHA1(ad5d08cc3b8cfd0890feb152670b429c28659512) )
2061
2062   ROM_REGION( 0x50, "pic", ROMREGION_ERASE)
2063   ROM_LOAD("317-0398-com.data", 0x00, 0x50, CRC(8c5391a2) SHA1(e64cadeb30c94c3cd4002630cd79cc76c7bde2ed) )
2064ROM_END
2065
20482066/*
20492067Title             GHOST SQUAD
20502068Media ID          004F
r243757r243758
21562174track01.bin           150        8740    20206032
21572175track02.raw          8891       10242     3179904
21582176track03.bin         45150      549299  1185760800
2159
2160PIC16C621A ()
2161Sticker: 235-5508-0567
2162VER0001, TEST_OK, BRN.BIN, '70 1F 71 1F' D96446469BDCE9C1
21632177*/
21642178ROM_START( ccfboxa )
21652179   CHIHIRO_BIOS
r243757r243758
21672181   DISK_REGION( "gdrom" )
21682182   DISK_IMAGE_READONLY( "gdx-0024a", 0, SHA1(79d8c0faeec7cf6882f014760b8af938800b7e52) )
21692183
2170   ROM_REGION( 0x50, "pic", ROMREGION_ERASE)
2171   ROM_LOAD("317-0567-exp.data", 0x00, 0x50, NO_DUMP )
2184   ROM_REGION( 0x4000, "pic", ROMREGION_ERASEFF)
2185   //PIC16C621A (317-0567-EXP)
2186   //(sticker 253-5508-0567)
2187   ROM_LOAD("317-0567-exp.pic", 0x00, 0x4000, CRC(cd1d2b2d) SHA1(78203ee0339f76eb76da08d7de43e7e44e4b7d32) )
21722188ROM_END
21732189
21742190
r243757r243758
21912207/* 0006C */ GAME( 2004, mj2c,     mj2,      chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Sega Network Taisen Mahjong MJ 2 (Rev C) (GDX-0006C)", GAME_NO_SOUND|GAME_NOT_WORKING )
21922208// 0006D    GAME( 2004, mj2d,     mj2,      chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Sega Network Taisen Mahjong MJ 2 (Rev D) (GDX-0006D)", GAME_NO_SOUND|GAME_NOT_WORKING )
21932209// 0006E    GAME( 2004, mj2e,     mj2,      chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Sega Network Taisen Mahjong MJ 2 (Rev E) (GDX-0006E)", GAME_NO_SOUND|GAME_NOT_WORKING )
2194// 0006F   GAME( 2004, mj2f,     mj2,      chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Sega Network Taisen Mahjong MJ 2 (Rev F) (GDX-0006F)", GAME_NO_SOUND|GAME_NOT_WORKING )
2210/* 0006F */ GAME( 2004, mj2f,     mj2,      chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Sega Network Taisen Mahjong MJ 2 (Rev F) (GDX-0006F)", GAME_NO_SOUND|GAME_NOT_WORKING )
21952211/* 0006G */ GAME( 2004, mj2,      chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Sega Network Taisen Mahjong MJ 2 (Rev G) (GDX-0006G)", GAME_NO_SOUND|GAME_NOT_WORKING )
21962212/* 0007  */ GAME( 2004, ollie,    chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega / Amusement Vision",  "Ollie King (GDX-0007)", GAME_NO_SOUND|GAME_NOT_WORKING )
21972213// 0008     GAME( 2004, wangmdjo, wangmidj, chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (Japan) (GDX-0008)", GAME_NO_SOUND|GAME_NOT_WORKING )
r243757r243758
22022218/* 0009B */ GAME( 2004, wangmid,  chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Namco",                    "Wangan Midnight Maximum Tune (Export) (Rev B) (GDX-0009B)", GAME_NO_SOUND|GAME_NOT_WORKING )
22032219// 0010
22042220// 0011     GAME( 2004, outr2sp,  chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Out Run 2 SP (Japan) (GDX-0011)", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
2205// 0012    GAME( 2004, ghostsqo, ghostsqu, chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Ghost Squad (GDX-0012)", GAME_NO_SOUND|GAME_NOT_WORKING )
2221/* 0012  */ GAME( 2004, ghostsqo, ghostsqu, chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Ghost Squad (GDX-0012)", GAME_NO_SOUND|GAME_NOT_WORKING )
22062222/* 0012A */ GAME( 2004, ghostsqu, chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Ghost Squad (Rev A) (GDX-0012A)", GAME_NO_SOUND|GAME_NOT_WORKING )
22072223/* 0013  */ GAME( 2005, gundamos, chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Banpresto",                "Gundam Battle Operating Simulator (GDX-0013)", GAME_NO_SOUND|GAME_NOT_WORKING )
22082224// 0014     GAME( 2004, outr2sto, outr2st,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Out Run 2 Special Tours (GDX-0014)", GAME_NO_SOUND|GAME_NOT_WORKING )
trunk/src/mame/drivers/cps2.c
r243757r243758
474474                                  and C only. Both FlashROMs are located on the same side of the SIMM.
475475
476476
477Q-Sound Amp board
478
479CAPCOM CPB-001A
480|--------------------|
481| B Rch Lch          |
482|                    |
483|      IC1           |
484|                    |
485| IC3      IC2       |
486|                    |
487|                    |
488|                    |
489|                    |
490|       ||||         |
491|--------------------|
492
493Notes:
494      2 RCA cables from A-board CN L/R go in at the top. The audio goes through
495      Mitsumi MM1326 series "Q Expander" ICs responsible for creating the 3D stereo
496      effect. The 4-pin connector at the bottom goes to the cabinet speakers.
497     
498      IC1 - don't know yet which chip is which
499      IC2 - "
500      IC3 - "
501
502
477503Communication Board
478504
479505TOURNAMENT CAPCOM 93656D-3
trunk/src/mame/drivers/namcos2.c
r243757r243758
55655565GAMEL(1990, finalap2,   0,        finallap, finallap, namcos2_state, finalap2, ROT0,   "Namco", "Final Lap 2", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
55665566GAMEL(1990, finalap2j,  finalap2, finallap, finallap, namcos2_state, finalap2, ROT0,   "Namco", "Final Lap 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
55675567
5568GAME( 1990, gollygho,   0,        gollygho, gollygho, namcos2_state, gollygho, ROT180, "Namco", "Golly! Ghost!", 0 )
5568GAME( 1990, gollygho,   0,        gollygho, gollygho, namcos2_state, gollygho, ROT180, "Namco", "Golly! Ghost!", GAME_REQUIRES_ARTWORK )
55695569
55705570GAME( 1990, rthun2,     0,        default3, default,  namcos2_state, rthun2,   ROT0,   "Namco", "Rolling Thunder 2", 0 )
55715571GAME( 1990, rthun2j,    rthun2,   default3, default,  namcos2_state, rthun2j,  ROT0,   "Namco", "Rolling Thunder 2 (Japan)", 0 )
r243757r243758
55795579GAME( 1991, cosmogng,   0,        default,  default,  namcos2_state, cosmogng, ROT90,  "Namco", "Cosmo Gang the Video (US)", 0 )
55805580GAME( 1991, cosmogngj,  cosmogng, default,  default,  namcos2_state, cosmogng, ROT90,  "Namco", "Cosmo Gang the Video (Japan)", 0 )
55815581
5582GAME( 1992, bubbletr,   0,        gollygho, bubbletr, namcos2_state, bubbletr, ROT180, "Namco", "Bubble Trouble (Japan, Rev C)", GAME_IMPERFECT_GRAPHICS )  /* missing external artwork */
5582GAME( 1992, bubbletr,   0,        gollygho, bubbletr, namcos2_state, bubbletr, ROT180, "Namco", "Bubble Trouble (Japan, Rev C)", GAME_REQUIRES_ARTWORK )
55835583
55845584GAMEL(1992, finalap3,   0,        finallap, finalap3, namcos2_state, finalap3, ROT0,   "Namco", "Final Lap 3 (World, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
55855585GAMEL(1992, finalap3a,  finalap3, finallap, finalap3, namcos2_state, finalap3, ROT0,   "Namco", "Final Lap 3 (World, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
r243757r243758
55905590GAME( 1992, luckywld,   0,        luckywld, luckywld, namcos2_state, luckywld, ROT0,   "Namco", "Lucky & Wild", 0 )
55915591GAME( 1992, luckywldj,  luckywld, luckywld, luckywld, namcos2_state, luckywld, ROT0,   "Namco", "Lucky & Wild (Japan)", 0 )
55925592
5593GAME( 1992, suzuka8h,   0,        luckywld, suzuka,   namcos2_state, suzuka8h, ROT0,   "Namco", "Suzuka 8 Hours (World, Rev C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
5593GAME( 1992, suzuka8h,   0,        luckywld, suzuka,   namcos2_state, suzuka8h, ROT0,   "Namco", "Suzuka 8 Hours (World, Rev C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
55945594GAME( 1992, suzuka8hj,  suzuka8h, luckywld, suzuka,   namcos2_state, suzuka8h, ROT0,   "Namco", "Suzuka 8 Hours (Japan, Rev B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
55955595
55965596GAME( 1992, sws,        0,        default,  default,  namcos2_state, sws,      ROT0,   "Namco", "Super World Stadium (Japan)", 0 )
trunk/src/mame/drivers/opwolf.c
r243757r243758
551551static INPUT_PORTS_START( opwolf )
552552   /* 0x380000 -> 0x0ff028 (-$fd8,A5) (C-chip) */
553553   PORT_START("DSWA")
554   PORT_DIPUNUSED( 0x01, IP_ACTIVE_LOW )
555   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) )
554   PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:1" )
555   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:2")
556556   PORT_DIPSETTING(    0x02, DEF_STR( No ) )
557557   PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
558   TAITO_DSWA_BITS_2_TO_3
559   TAITO_COINAGE_WORLD
558   PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:3")
559   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4")
560   PORT_DIPSETTING(    0x00, DEF_STR( Off ) ) \
561   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
562   TAITO_COINAGE_WORLD_LOC(SW1)
560563
561564   /* 0x380002 -> 0x0ff02a (-$fd6,A5) (C-chip) */
562565   PORT_START("DSWB")
563   TAITO_DIFFICULTY
564   PORT_DIPNAME( 0x0c, 0x0c, "Ammo Magazines at Start" )
566   TAITO_DIFFICULTY_LOC(SW2)
567   PORT_DIPNAME( 0x0c, 0x0c, "Ammo Magazines at Start" ) PORT_DIPLOCATION("SW2:3,4")
565568   PORT_DIPSETTING(    0x00, "4" )
566569   PORT_DIPSETTING(    0x04, "5" )
567570   PORT_DIPSETTING(    0x0c, "6" )
568571   PORT_DIPSETTING(    0x08, "7" )
569   PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
570   PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
571   PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
572   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Language ) )
572   PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
573   PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
574   PORT_DIPNAME( 0x40, 0x00, "Discount When Continuing" ) PORT_DIPLOCATION("SW2:7")
575   PORT_DIPSETTING(    0x40, DEF_STR( No ) )
576   PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
577   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW2:8")
573578   PORT_DIPSETTING(    0x80, DEF_STR( Japanese ) )
574579   PORT_DIPSETTING(    0x00, DEF_STR( English ) )
575580
trunk/src/mame/drivers/retofinv.c
r243757r243758
3535#include "includes/retofinv.h"
3636
3737
38void retofinv_state::machine_start()
39{
40   save_item(NAME(m_main_irq_mask));
41   save_item(NAME(m_sub_irq_mask));
42   save_item(NAME(m_cpu2_m6000));
43   
44   if (m_68705 != NULL) // only for the parent (with MCU)
45   {
46      save_item(NAME(m_from_main));
47      save_item(NAME(m_from_mcu));
48      save_item(NAME(m_mcu_sent));
49      save_item(NAME(m_main_sent));
50      save_item(NAME(m_portA_in));
51      save_item(NAME(m_portA_out));
52      save_item(NAME(m_ddrA));
53      save_item(NAME(m_portB_in));
54      save_item(NAME(m_portB_out));
55      save_item(NAME(m_ddrB));
56      save_item(NAME(m_portC_in));
57      save_item(NAME(m_portC_out));
58      save_item(NAME(m_ddrC));
59   }
60}
3861
3962WRITE8_MEMBER(retofinv_state::cpu1_reset_w)
4063{
r243757r243758
99122   AM_RANGE(0x7fff, 0x7fff) AM_WRITE(coincounter_w)
100123   AM_RANGE(0x7b00, 0x7bff) AM_ROM /* space for diagnostic ROM? The code looks */
101124                           /* for a string here, and jumps if it's present */
102   AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(retofinv_fg_videoram_w) AM_SHARE("fg_videoram")
125   AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
103126   AM_RANGE(0x8800, 0x9fff) AM_RAM AM_SHARE("sharedram")
104   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(retofinv_bg_videoram_w) AM_SHARE("bg_videoram")
105   AM_RANGE(0xb800, 0xb802) AM_WRITE(retofinv_gfx_ctrl_w)
127   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
128   AM_RANGE(0xb800, 0xb802) AM_WRITE(gfx_ctrl_w)
106129   AM_RANGE(0xc000, 0xc000) AM_READ_PORT("P1")
107130   AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P2")
108131   AM_RANGE(0xc002, 0xc002) AM_READNOP /* bit 7 must be 0, otherwise game resets */
109   AM_RANGE(0xc003, 0xc003) AM_READ(retofinv_mcu_status_r)
132   AM_RANGE(0xc003, 0xc003) AM_READ(mcu_status_r)
110133   AM_RANGE(0xc004, 0xc004) AM_READ_PORT("SYSTEM")
111134   AM_RANGE(0xc005, 0xc005) AM_READ_PORT("DSW1")
112135   AM_RANGE(0xc006, 0xc006) AM_READ_PORT("DSW2")
r243757r243758
119142   AM_RANGE(0xc805, 0xc805) AM_WRITE(cpu1_reset_w)
120143   AM_RANGE(0xd000, 0xd000) AM_WRITE(watchdog_reset_w)
121144   AM_RANGE(0xd800, 0xd800) AM_WRITE(soundcommand_w)
122   AM_RANGE(0xe000, 0xe000) AM_READ(retofinv_mcu_r)
123   AM_RANGE(0xe800, 0xe800) AM_WRITE(retofinv_mcu_w)
145   AM_RANGE(0xe000, 0xe000) AM_READ(mcu_r)
146   AM_RANGE(0xe800, 0xe800) AM_WRITE(mcu_w)
124147   AM_RANGE(0xf800, 0xf800) AM_READ(cpu0_mf800_r)
125148ADDRESS_MAP_END
126149
127150static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, retofinv_state )
128151   AM_RANGE(0x0000, 0x1fff) AM_ROM
129   AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(retofinv_fg_videoram_w) AM_SHARE("fg_videoram")
152   AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
130153   AM_RANGE(0x8800, 0x9fff) AM_RAM AM_SHARE("sharedram")
131   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(retofinv_bg_videoram_w) AM_SHARE("bg_videoram")
154   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
132155   AM_RANGE(0xc804, 0xc804) AM_WRITE(irq1_ack_w)
133156ADDRESS_MAP_END
134157
r243757r243758
144167
145168static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, retofinv_state )
146169   ADDRESS_MAP_GLOBAL_MASK(0x7ff)
147   AM_RANGE(0x0000, 0x0000) AM_READWRITE(retofinv_68705_portA_r, retofinv_68705_portA_w)
148   AM_RANGE(0x0001, 0x0001) AM_READWRITE(retofinv_68705_portB_r, retofinv_68705_portB_w)
149   AM_RANGE(0x0002, 0x0002) AM_READWRITE(retofinv_68705_portC_r, retofinv_68705_portC_w)
150   AM_RANGE(0x0004, 0x0004) AM_WRITE(retofinv_68705_ddrA_w)
151   AM_RANGE(0x0005, 0x0005) AM_WRITE(retofinv_68705_ddrB_w)
152   AM_RANGE(0x0006, 0x0006) AM_WRITE(retofinv_68705_ddrC_w)
170   AM_RANGE(0x0000, 0x0000) AM_READWRITE(mcu_portA_r, mcu_portA_w)
171   AM_RANGE(0x0001, 0x0001) AM_READWRITE(mcu_portB_r, mcu_portB_w)
172   AM_RANGE(0x0002, 0x0002) AM_READWRITE(mcu_portC_r, mcu_portC_w)
173   AM_RANGE(0x0004, 0x0004) AM_WRITE(mcu_ddrA_w)
174   AM_RANGE(0x0005, 0x0005) AM_WRITE(mcu_ddrB_w)
175   AM_RANGE(0x0006, 0x0006) AM_WRITE(mcu_ddrC_w)
153176   AM_RANGE(0x0010, 0x007f) AM_RAM
154177   AM_RANGE(0x0080, 0x07ff) AM_ROM
155178ADDRESS_MAP_END
r243757r243758
367390   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
368391   MCFG_SCREEN_SIZE(36*8, 28*8)
369392   MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
370   MCFG_SCREEN_UPDATE_DRIVER(retofinv_state, screen_update_retofinv)
393   MCFG_SCREEN_UPDATE_DRIVER(retofinv_state, screen_update)
371394   MCFG_SCREEN_PALETTE("palette")
372395
373396   MCFG_GFXDECODE_ADD("gfxdecode", "palette", retofinv)
r243757r243758
501524
502525
503526
504GAME( 1985, retofinv, 0,        retofinv, retofinv, driver_device, 0, ROT90, "Taito Corporation", "Return of the Invaders", 0 )
505GAME( 1985, retofinv1,retofinv, retofinb, retofinv, driver_device, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 1)", 0 )
506GAME( 1985, retofinv2,retofinv, retofinb, retofin2, driver_device, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 2)", 0 )
527GAME( 1985, retofinv, 0,        retofinv, retofinv, driver_device, 0, ROT90, "Taito Corporation", "Return of the Invaders", GAME_SUPPORTS_SAVE )
528GAME( 1985, retofinv1,retofinv, retofinb, retofinv, driver_device, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 1)", GAME_SUPPORTS_SAVE )
529GAME( 1985, retofinv2,retofinv, retofinb, retofin2, driver_device, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 2)", GAME_SUPPORTS_SAVE )
trunk/src/mame/drivers/segaorun.c
r243757r243758
23772377//
23782378ROM_START( toutrunj1 )
23792379   ROM_REGION( 0x60000, "maincpu", 0 ) // 68000 code
2380   ROM_LOAD16_BYTE( "EPR-12289.IC133", 0x000000, 0x10000, CRC(89380754) SHA1(52b3bf7ed04a58dbf13440f58ae6e71a28fca5f6) ) // Verified correct labels but conflicts with the 317-0109 set
2381   ROM_LOAD16_BYTE( "EPR-12288.IC118", 0x000001, 0x10000, CRC(47b47ef1) SHA1(1af002721ec9bf72c17e3184cf5df82e7b5f45e1) ) // Verified correct labels but conflicts with the 317-0109 set
2382   ROM_LOAD16_BYTE( "EPR-12291.IC132", 0x020000, 0x10000, CRC(1f4ab0c6) SHA1(5c21ad7e3b232d6d3bce325f878659ba9cfda0da) ) // Verified correct labels but conflicts with the 317-0109 set
2383   ROM_LOAD16_BYTE( "EPR-12290.IC117", 0x020001, 0x10000, CRC(67e81543) SHA1(a2844c2bbe139e709aa7679f82e38e93d9494e6d) ) // Verified correct labels but conflicts with the 317-0109 set
2384   ROM_LOAD16_BYTE( "EPR-12293.IC131", 0x040000, 0x10000, CRC(f4321eea) SHA1(64334acc82c14bb58b7d51719f34fd81cfb9fc6b) )
2385   ROM_LOAD16_BYTE( "EPR-12292.IC116", 0x040001, 0x10000, CRC(51d98af0) SHA1(6e7115706bfafb687faa23d55d4a8c8e498a4df2) )
2380   ROM_LOAD16_BYTE( "epr-12289.ic133", 0x000000, 0x10000, CRC(89380754) SHA1(52b3bf7ed04a58dbf13440f58ae6e71a28fca5f6) ) // Verified correct labels but conflicts with the 317-0109 set
2381   ROM_LOAD16_BYTE( "epr-12288.ic118", 0x000001, 0x10000, CRC(47b47ef1) SHA1(1af002721ec9bf72c17e3184cf5df82e7b5f45e1) ) // Verified correct labels but conflicts with the 317-0109 set
2382   ROM_LOAD16_BYTE( "epr-12291.ic132", 0x020000, 0x10000, CRC(1f4ab0c6) SHA1(5c21ad7e3b232d6d3bce325f878659ba9cfda0da) ) // Verified correct labels but conflicts with the 317-0109 set
2383   ROM_LOAD16_BYTE( "epr-12290.ic117", 0x020001, 0x10000, CRC(67e81543) SHA1(a2844c2bbe139e709aa7679f82e38e93d9494e6d) ) // Verified correct labels but conflicts with the 317-0109 set
2384   ROM_LOAD16_BYTE( "epr-12293.ic131", 0x040000, 0x10000, CRC(f4321eea) SHA1(64334acc82c14bb58b7d51719f34fd81cfb9fc6b) )
2385   ROM_LOAD16_BYTE( "epr-12292.ic116", 0x040001, 0x10000, CRC(51d98af0) SHA1(6e7115706bfafb687faa23d55d4a8c8e498a4df2) )
23862386
23872387   ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
23882388   ROM_LOAD( "317-0101.key", 0x0000, 0x2000, CRC(eb636314) SHA1(a10e5585a0af2865a9aa640a3b6bd1cf60f47a1e) )
23892389
23902390   ROM_REGION( 0x60000, "subcpu", 0 ) // second 68000 CPU
2391   ROM_LOAD16_BYTE( "EPR-12295.IC76", 0x000000, 0x10000, CRC(d43a3a84) SHA1(362c98f62c205b6b40b7e8a4ba107745b547b984) )
2392   ROM_LOAD16_BYTE( "EPR-12294.IC58", 0x000001, 0x10000, CRC(27cdcfd3) SHA1(4fe57db95b109ab1bb1326789e06a3d3aac311cc) )
2393   ROM_LOAD16_BYTE( "EPR-12297.IC75", 0x020000, 0x10000, CRC(1d9b5677) SHA1(fb6e33acc43fbc7a8d7ac44045439ecdf794fdeb) )
2394   ROM_LOAD16_BYTE( "EPR-12296.IC57", 0x020001, 0x10000, CRC(0a513671) SHA1(4c13ca3a6f0aa9d06ed80798b466cca0c966a265) )
2391   ROM_LOAD16_BYTE( "epr-12295.ic76", 0x000000, 0x10000, CRC(d43a3a84) SHA1(362c98f62c205b6b40b7e8a4ba107745b547b984) )
2392   ROM_LOAD16_BYTE( "epr-12294.ic58", 0x000001, 0x10000, CRC(27cdcfd3) SHA1(4fe57db95b109ab1bb1326789e06a3d3aac311cc) )
2393   ROM_LOAD16_BYTE( "epr-12297.ic75", 0x020000, 0x10000, CRC(1d9b5677) SHA1(fb6e33acc43fbc7a8d7ac44045439ecdf794fdeb) )
2394   ROM_LOAD16_BYTE( "epr-12296.ic57", 0x020001, 0x10000, CRC(0a513671) SHA1(4c13ca3a6f0aa9d06ed80798b466cca0c966a265) )
23952395
23962396   ROM_REGION( 0x30000, "gfx1", 0 ) // tiles
2397   ROM_LOAD( "EPR-12323.IC102", 0x00000, 0x10000, CRC(4de43a6f) SHA1(68909338e1f192ac2699c8a8d24c3f46502dd019) )
2398   ROM_LOAD( "EPR-12324.IC103", 0x10000, 0x10000, CRC(24607a55) SHA1(69033f2281cd42e88233c23d809b73607fe54853) )
2399   ROM_LOAD( "EPR-12325.IC104", 0x20000, 0x10000, CRC(1405137a) SHA1(367db88d36852e35c5e839f692be5ea8c8e072d2) )
2397   ROM_LOAD( "epr-12323.ic102", 0x00000, 0x10000, CRC(4de43a6f) SHA1(68909338e1f192ac2699c8a8d24c3f46502dd019) )
2398   ROM_LOAD( "epr-12324.ic103", 0x10000, 0x10000, CRC(24607a55) SHA1(69033f2281cd42e88233c23d809b73607fe54853) )
2399   ROM_LOAD( "epr-12325.ic104", 0x20000, 0x10000, CRC(1405137a) SHA1(367db88d36852e35c5e839f692be5ea8c8e072d2) )
24002400
24012401   ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
2402   ROM_LOAD32_BYTE( "EPR-12307.IC9",  0x00000, 0x10000, CRC(437dcf09) SHA1(0022ee4d1c3698f77271e570cef98a8a1e5c5d6a) )
2403   ROM_LOAD32_BYTE( "EPR-12308.IC10", 0x00001, 0x10000, CRC(0de70cc2) SHA1(c03f8f8cda72daf64af2878bf254840ac6dd17eb) )
2404   ROM_LOAD32_BYTE( "EPR-12309.IC11", 0x00002, 0x10000, CRC(deb8c242) SHA1(c05d8ced4eafae52c4795fb1471cd66f5903d1aa) )
2405   ROM_LOAD32_BYTE( "EPR-12310.IC12", 0x00003, 0x10000, CRC(45cf157e) SHA1(5d0be2a374a53ea1fe0ba2bf9b2173e96de1eb51) )
2406   ROM_LOAD32_BYTE( "EPR-12311.IC13", 0x40000, 0x10000, CRC(ae2bd639) SHA1(64bb60ae7e3f87fbbce00106ba65c4e6fc1af0e4) )
2407   ROM_LOAD32_BYTE( "EPR-12312.IC14", 0x40001, 0x10000, CRC(626000e7) SHA1(4a7f9e76dd76a3dc56b8257149bc94be3f4f2e87) )
2408   ROM_LOAD32_BYTE( "EPR-12313.IC15", 0x40002, 0x10000, CRC(52870c37) SHA1(3a6836a46d94c0f9115800d206410252a1134c57) )
2409   ROM_LOAD32_BYTE( "EPR-12314.IC16", 0x40003, 0x10000, CRC(40c461ea) SHA1(7bed8f24112dc3c827fd087138fcf2700092aa59) )
2410   ROM_LOAD32_BYTE( "EPR-12315.IC17", 0x80000, 0x10000, CRC(3ff9a3a3) SHA1(0d90fe2669d03bd07a0d3b05934201778e28d54c) )
2411   ROM_LOAD32_BYTE( "EPR-12316.IC18", 0x80001, 0x10000, CRC(8a1e6dc8) SHA1(32f09ec504c2b6772815bad7380a2f738f11746a) )
2412   ROM_LOAD32_BYTE( "EPR-12317.IC19", 0x80002, 0x10000, CRC(77e382d4) SHA1(5b7912069a46043b7be989d82436add85497d318) )
2413   ROM_LOAD32_BYTE( "EPR-12318.IC20", 0x80003, 0x10000, CRC(d1afdea9) SHA1(813eccc88d5046992be5b5a0618d32127d16e30b) )
2414   ROM_LOAD32_BYTE( "EPR-12319.IC21", 0xc0000, 0x10000, CRC(df23baf9) SHA1(f9611391bb3b3b92203fa9f6dd461e3a6e863622) )
2415   ROM_LOAD32_BYTE( "EPR-12320.IC22", 0xc0001, 0x10000, CRC(7931e446) SHA1(9f2161a689ebad61f6653942e23d9c2bc6170d4a) )
2416   ROM_LOAD32_BYTE( "EPR-12321.IC23", 0xc0002, 0x10000, CRC(830bacd4) SHA1(5a4816969437ee1edca5845006c0b8e9ba365491) )
2417   ROM_LOAD32_BYTE( "EPR-12322.IC24", 0xc0003, 0x10000, CRC(8b812492) SHA1(bf1f9e059c093c0991c7caf1b01c739ed54b8357) )
2402   ROM_LOAD32_BYTE( "epr-12307.ic9",  0x00000, 0x10000, CRC(437dcf09) SHA1(0022ee4d1c3698f77271e570cef98a8a1e5c5d6a) )
2403   ROM_LOAD32_BYTE( "epr-12308.ic10", 0x00001, 0x10000, CRC(0de70cc2) SHA1(c03f8f8cda72daf64af2878bf254840ac6dd17eb) )
2404   ROM_LOAD32_BYTE( "epr-12309.ic11", 0x00002, 0x10000, CRC(deb8c242) SHA1(c05d8ced4eafae52c4795fb1471cd66f5903d1aa) )
2405   ROM_LOAD32_BYTE( "epr-12310.ic12", 0x00003, 0x10000, CRC(45cf157e) SHA1(5d0be2a374a53ea1fe0ba2bf9b2173e96de1eb51) )
2406   ROM_LOAD32_BYTE( "epr-12311.ic13", 0x40000, 0x10000, CRC(ae2bd639) SHA1(64bb60ae7e3f87fbbce00106ba65c4e6fc1af0e4) )
2407   ROM_LOAD32_BYTE( "epr-12312.ic14", 0x40001, 0x10000, CRC(626000e7) SHA1(4a7f9e76dd76a3dc56b8257149bc94be3f4f2e87) )
2408   ROM_LOAD32_BYTE( "epr-12313.ic15", 0x40002, 0x10000, CRC(52870c37) SHA1(3a6836a46d94c0f9115800d206410252a1134c57) )
2409   ROM_LOAD32_BYTE( "epr-12314.ic16", 0x40003, 0x10000, CRC(40c461ea) SHA1(7bed8f24112dc3c827fd087138fcf2700092aa59) )
2410   ROM_LOAD32_BYTE( "epr-12315.ic17", 0x80000, 0x10000, CRC(3ff9a3a3) SHA1(0d90fe2669d03bd07a0d3b05934201778e28d54c) )
2411   ROM_LOAD32_BYTE( "epr-12316.ic18", 0x80001, 0x10000, CRC(8a1e6dc8) SHA1(32f09ec504c2b6772815bad7380a2f738f11746a) )
2412   ROM_LOAD32_BYTE( "epr-12317.ic19", 0x80002, 0x10000, CRC(77e382d4) SHA1(5b7912069a46043b7be989d82436add85497d318) )
2413   ROM_LOAD32_BYTE( "epr-12318.ic20", 0x80003, 0x10000, CRC(d1afdea9) SHA1(813eccc88d5046992be5b5a0618d32127d16e30b) )
2414   ROM_LOAD32_BYTE( "epr-12319.ic21", 0xc0000, 0x10000, CRC(df23baf9) SHA1(f9611391bb3b3b92203fa9f6dd461e3a6e863622) )
2415   ROM_LOAD32_BYTE( "epr-12320.ic22", 0xc0001, 0x10000, CRC(7931e446) SHA1(9f2161a689ebad61f6653942e23d9c2bc6170d4a) )
2416   ROM_LOAD32_BYTE( "epr-12321.ic23", 0xc0002, 0x10000, CRC(830bacd4) SHA1(5a4816969437ee1edca5845006c0b8e9ba365491) )
2417   ROM_LOAD32_BYTE( "epr-12322.ic24", 0xc0003, 0x10000, CRC(8b812492) SHA1(bf1f9e059c093c0991c7caf1b01c739ed54b8357) )
24182418
24192419   ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical roms, 1 for each road)
2420   ROM_LOAD( "EPR-12298.IC47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Both are EPR-12298
2421   ROM_LOAD( "EPR-12298.IC28", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
2420   ROM_LOAD( "epr-12298.ic47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Both are EPR-12298
2421   ROM_LOAD( "epr-12298.ic28", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
24222422
24232423   ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
2424   ROM_LOAD( "EPR-12300.IC88", 0x00000, 0x10000, CRC(e8ff7011) SHA1(6eaf3aea507007ea31d507ed7825d905f4b8e7ab) )
2424   ROM_LOAD( "epr-12300.ic88", 0x00000, 0x10000, CRC(e8ff7011) SHA1(6eaf3aea507007ea31d507ed7825d905f4b8e7ab) )
24252425
24262426   ROM_REGION( 0x80000, "pcm", ROMREGION_ERASEFF ) // sound PCM data
2427   ROM_LOAD( "EPR-12301.IC66", 0x00000, 0x10000, CRC(6e78ad15) SHA1(c31ddf434b459cd1a381d2a028beabddd4ed10d2) )
2428   ROM_LOAD( "EPR-12302.IC67", 0x10000, 0x10000, CRC(e72928af) SHA1(40e0b178958cfe97c097fe9d82b5de54bc27a29f) )
2429   ROM_LOAD( "EPR-12303.IC68", 0x20000, 0x10000, CRC(8384205c) SHA1(c1f9d52bc587eab5a97867198e9aa7c19e973429) )
2430   ROM_LOAD( "EPR-12304.IC69", 0x30000, 0x10000, CRC(e1762ac3) SHA1(855f06c082a17d90857e6efa3cf95b0eda0e634d) )
2431   ROM_LOAD( "EPR-12305.IC70", 0x40000, 0x10000, CRC(ba9ce677) SHA1(056781f92450c902e1d279a02bda28337815cba9) )
2432   ROM_LOAD( "EPR-12306.IC71", 0x50000, 0x10000, CRC(e49249fd) SHA1(ff36e4dba4e9d3d354e3dd528edeb50ad9c18ee4) )
2427   ROM_LOAD( "epr-12301.ic66", 0x00000, 0x10000, CRC(6e78ad15) SHA1(c31ddf434b459cd1a381d2a028beabddd4ed10d2) )
2428   ROM_LOAD( "epr-12302.ic67", 0x10000, 0x10000, CRC(e72928af) SHA1(40e0b178958cfe97c097fe9d82b5de54bc27a29f) )
2429   ROM_LOAD( "epr-12303.ic68", 0x20000, 0x10000, CRC(8384205c) SHA1(c1f9d52bc587eab5a97867198e9aa7c19e973429) )
2430   ROM_LOAD( "epr-12304.ic69", 0x30000, 0x10000, CRC(e1762ac3) SHA1(855f06c082a17d90857e6efa3cf95b0eda0e634d) )
2431   ROM_LOAD( "epr-12305.ic70", 0x40000, 0x10000, CRC(ba9ce677) SHA1(056781f92450c902e1d279a02bda28337815cba9) )
2432   ROM_LOAD( "epr-12306.ic71", 0x50000, 0x10000, CRC(e49249fd) SHA1(ff36e4dba4e9d3d354e3dd528edeb50ad9c18ee4) )
24332433ROM_END
24342434
24352435//**************************************************************************
trunk/src/mame/drivers/seicross.c
r243757r243758
8686   m_irq_mask = data & 1;
8787
8888   /* bit 1 flips screen */
89   flip_screen_set(data & 2);
8990
9091   /* bit 2 resets the microcontroller */
9192   if (((m_portb & 4) == 0) && (data & 4))
trunk/src/mame/drivers/speedatk.c
r243757r243758
77driver by Pierpaolo Prazzoli & Angelo Salese, based on early work by David Haywood
88
99TODO:
10 - Video emulation requires a major conversion to the HD46505SP C.R.T. chip (MC6845 clone)
1110 - It's possible that there is only one coin chute and not two,needs a real board to know
1211   more about it.
1312
r243757r243758
7978#include "emu.h"
8079#include "cpu/z80/z80.h"
8180#include "sound/ay8910.h"
82#include "video/mc6845.h"
8381#include "includes/speedatk.h"
8482
8583#define MASTER_CLOCK XTAL_12MHz
8684
85void speedatk_state::machine_start()
86{
87   save_item(NAME(m_mux_data));
88   save_item(NAME(m_km_status));
89   save_item(NAME(m_coin_settings));
90   save_item(NAME(m_coin_impulse));
91}
92
8793UINT8 speedatk_state::iox_key_matrix_calc(UINT8 p_side)
8894{
8995   static const char *const keynames[] = { "P1_ROW0", "P1_ROW1", "P2_ROW0", "P2_ROW1" };
r243757r243758
175181   AM_RANGE(0x8000, 0x8000) AM_READWRITE(key_matrix_r,key_matrix_w)
176182   AM_RANGE(0x8001, 0x8001) AM_READWRITE(key_matrix_status_r,key_matrix_status_w)
177183   AM_RANGE(0x8800, 0x8fff) AM_RAM
178   AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(speedatk_videoram_w) AM_SHARE("videoram")
179   AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(speedatk_colorram_w) AM_SHARE("colorram")
184   AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_SHARE("videoram")
185   AM_RANGE(0xb000, 0xb3ff) AM_RAM AM_SHARE("colorram")
180186ADDRESS_MAP_END
181187
182188
183189static ADDRESS_MAP_START( speedatk_io, AS_IO, 8, speedatk_state )
184190   ADDRESS_MAP_GLOBAL_MASK(0xff)
185   AM_RANGE(0x00, 0x01) AM_WRITE(speedatk_6845_w) //h46505 address / data routing
191   AM_RANGE(0x00, 0x01) AM_WRITE(m6845_w) //h46505 address / data routing
186192   AM_RANGE(0x24, 0x24) AM_WRITE(watchdog_reset_w)
187193   AM_RANGE(0x40, 0x40) AM_DEVREAD("aysnd", ay8910_device, data_r)
188194   AM_RANGE(0x40, 0x41) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
r243757r243758
285291   GFXDECODE_ENTRY( "gfx2", 0, charlayout_3bpp,   0, 32 )
286292GFXDECODE_END
287293
288WRITE8_MEMBER(speedatk_state::speedatk_output_w)
294WRITE8_MEMBER(speedatk_state::output_w)
289295{
290296   m_flip_scr = data & 0x80;
291297
r243757r243758
308314   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
309315   MCFG_SCREEN_SIZE(320, 256)
310316   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
311   MCFG_SCREEN_UPDATE_DRIVER(speedatk_state, screen_update_speedatk)
317   MCFG_SCREEN_UPDATE_DRIVER(speedatk_state, screen_update)
312318   MCFG_SCREEN_PALETTE("palette")
313319
314320   MCFG_MC6845_ADD("crtc", H46505, "screen", MASTER_CLOCK/16)   /* hand tuned to get ~60 fps */
r243757r243758
325331
326332   MCFG_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/4) //divider is unknown
327333   MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW"))
328   MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(speedatk_state, speedatk_output_w))
334   MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(speedatk_state, output_w))
329335   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
330336MACHINE_CONFIG_END
331337
r243757r243758
350356   ROM_LOAD( "cb2.bpr",      0x0020, 0x0100, CRC(a604cf96) SHA1(a4ef6e77dcd3abe4c27e8e636222a5ee711a51f5) ) /* lookup table */
351357ROM_END
352358
353GAME( 1984, speedatk, 0, speedatk, speedatk, driver_device, 0, ROT0, "Seta Kikaku Corp.", "Speed Attack! (Japan)", 0 )
359GAME( 1984, speedatk, 0, speedatk, speedatk, driver_device, 0, ROT0, "Seta Kikaku Corp.", "Speed Attack! (Japan)", GAME_SUPPORTS_SAVE )
trunk/src/mame/drivers/thedeep.c
r243757r243758
3838***************************************************************************/
3939
4040
41WRITE8_MEMBER(thedeep_state::thedeep_nmi_w)
41WRITE8_MEMBER(thedeep_state::nmi_w)
4242{
4343   m_nmi_enable = data;
4444}
4545
46WRITE8_MEMBER(thedeep_state::thedeep_sound_w)
46WRITE8_MEMBER(thedeep_state::sound_w)
4747{
4848   soundlatch_byte_w(space, 0, data);
4949   m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
5050}
5151
52void thedeep_state::machine_start()
53{
54   membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x4000);
55   save_item(NAME(m_nmi_enable));
56   save_item(NAME(m_protection_command));
57   save_item(NAME(m_protection_data));
58   save_item(NAME(m_protection_index));
59   save_item(NAME(m_protection_irq));
60   save_item(NAME(m_mcu_p3_reg));
61}
5262
5363void thedeep_state::machine_reset()
5464{
55   membank("bank1")->set_base(memregion("maincpu")->base() + 0x10000 + 0 * 0x4000);
65   membank("bank1")->set_entry(0);
5666   m_scroll[0] = 0;
5767   m_scroll[1] = 0;
5868   m_scroll[2] = 0;
r243757r243758
6070   m_protection_command = 0;
6171   m_protection_index = -1;
6272   m_protection_irq = 0;
63   m_rombank = -1;
6473}
6574
66WRITE8_MEMBER(thedeep_state::thedeep_protection_w)
75WRITE8_MEMBER(thedeep_state::protection_w)
6776{
6877   m_protection_command = data;
6978   switch (m_protection_command)
r243757r243758
8089      case 0x31:
8190      case 0x32:
8291      case 0x33:
83      {
84         UINT8 *rom;
85         int new_rombank = m_protection_command & 3;
86         if (m_rombank == new_rombank)   break;
87         m_rombank = new_rombank;
88         rom = memregion("maincpu")->base();
89         membank("bank1")->set_base(rom + 0x10000 + m_rombank * 0x4000);
90
91      }
92         membank("bank1")->set_entry(m_protection_command & 3);
9293      break;
9394
9495      case 0x59:
r243757r243758
126127   }
127128}
128129
129READ8_MEMBER(thedeep_state::thedeep_e004_r)
130READ8_MEMBER(thedeep_state::e004_r)
130131{
131132   return m_protection_irq ? 1 : 0;
132133}
133134
134READ8_MEMBER(thedeep_state::thedeep_protection_r)
135READ8_MEMBER(thedeep_state::protection_r)
135136{
136137   m_protection_irq = 0;
137138   return m_protection_data;
138139}
139140
140WRITE8_MEMBER(thedeep_state::thedeep_e100_w)
141WRITE8_MEMBER(thedeep_state::e100_w)
141142{
142143   if (data != 1)
143144      logerror("pc %04x: e100 = %02x\n", space.device().safe_pc(),data);
r243757r243758
148149   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")    // ROM (banked)
149150   AM_RANGE(0xc000, 0xcfff) AM_RAM
150151   AM_RANGE(0xd000, 0xdfff) AM_RAM                             // RAM (MCU data copied here)
151   AM_RANGE(0xe000, 0xe000) AM_READWRITE(thedeep_protection_r, thedeep_protection_w)   // To MCU
152   AM_RANGE(0xe004, 0xe004) AM_READWRITE(thedeep_e004_r, thedeep_nmi_w)    //
152   AM_RANGE(0xe000, 0xe000) AM_READWRITE(protection_r, protection_w)   // To MCU
153   AM_RANGE(0xe004, 0xe004) AM_READWRITE(e004_r, nmi_w)    //
153154   AM_RANGE(0xe008, 0xe008) AM_READ_PORT("e008")           // P1 (Inputs)
154155   AM_RANGE(0xe009, 0xe009) AM_READ_PORT("e009")           // P2
155156   AM_RANGE(0xe00a, 0xe00a) AM_READ_PORT("e00a")           // DSW1
156157   AM_RANGE(0xe00b, 0xe00b) AM_READ_PORT("e00b")           // DSW2
157   AM_RANGE(0xe00c, 0xe00c) AM_WRITE(thedeep_sound_w)  // To Sound CPU
158   AM_RANGE(0xe100, 0xe100) AM_WRITE(thedeep_e100_w)   // ?
158   AM_RANGE(0xe00c, 0xe00c) AM_WRITE(sound_w)  // To Sound CPU
159   AM_RANGE(0xe100, 0xe100) AM_WRITE(e100_w)   // ?
159160   AM_RANGE(0xe210, 0xe213) AM_WRITEONLY AM_SHARE("scroll")    // Scroll
160161   AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_SHARE("spriteram")   // Sprites
161   AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(thedeep_vram_1_w) AM_SHARE("vram_1")  // Text Layer
162   AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(thedeep_vram_0_w) AM_SHARE("vram_0")  // Background Layer
162   AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram_1")  // Text Layer
163   AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0")  // Background Layer
163164   AM_RANGE(0xf800, 0xf83f) AM_RAM AM_SHARE("scroll2") // Column Scroll
164165   AM_RANGE(0xf840, 0xffff) AM_RAM
165166ADDRESS_MAP_END
r243757r243758
185186
186187***************************************************************************/
187188
188void thedeep_state::thedeep_maincpu_bankswitch(UINT8 bank_trig)
189WRITE8_MEMBER(thedeep_state::p1_w)
189190{
190   UINT8 *rom;
191   int new_rombank = bank_trig & 3;
192
193   if (m_rombank == new_rombank)
194      return;
195   m_rombank = new_rombank;
196   rom = memregion("maincpu")->base();
197   membank("bank1")->set_base(rom + 0x10000 + m_rombank * 0x4000);
198
199}
200
201WRITE8_MEMBER(thedeep_state::thedeep_p1_w)
202{
203191   flip_screen_set((data & 1) ^ 1);
204   thedeep_maincpu_bankswitch((data & 6) >> 1);
192   membank("bank1")->set_entry((data & 6) >> 1);
205193   logerror("P1 %02x\n",data);
206194}
207195
208READ8_MEMBER(thedeep_state::thedeep_from_main_r)
196READ8_MEMBER(thedeep_state::from_main_r)
209197{
210198   static UINT8 res;
211199
r243757r243758
215203   return 0x20;
216204}
217205
218WRITE8_MEMBER(thedeep_state::thedeep_to_main_w)
206WRITE8_MEMBER(thedeep_state::to_main_w)
219207{
220208   // ...
221209}
222210
223WRITE8_MEMBER(thedeep_state::thedeep_p3_w)
211WRITE8_MEMBER(thedeep_state::p3_w)
224212{
225213   /* bit 0 0->1 transition IRQ0 to main */
226214   if((!(m_mcu_p3_reg & 0x01)) && data & 0x01)
r243757r243758
238226   logerror("P3 %02x\n",data);
239227}
240228
241READ8_MEMBER(thedeep_state::thedeep_p0_r)
229READ8_MEMBER(thedeep_state::p0_r)
242230{
243231   UINT8 coin_mux;
244232
r243757r243758
249237
250238static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, thedeep_state )
251239   ADDRESS_MAP_UNMAP_HIGH
252   AM_RANGE(MCS51_PORT_P0,MCS51_PORT_P0) AM_READ(thedeep_p0_r)
253   AM_RANGE(MCS51_PORT_P1,MCS51_PORT_P1) AM_WRITE(thedeep_p1_w)
254   AM_RANGE(MCS51_PORT_P2,MCS51_PORT_P2) AM_READWRITE(thedeep_from_main_r,thedeep_to_main_w)
255   AM_RANGE(MCS51_PORT_P3,MCS51_PORT_P3) AM_WRITE(thedeep_p3_w)
240   AM_RANGE(MCS51_PORT_P0,MCS51_PORT_P0) AM_READ(p0_r)
241   AM_RANGE(MCS51_PORT_P1,MCS51_PORT_P1) AM_WRITE(p1_w)
242   AM_RANGE(MCS51_PORT_P2,MCS51_PORT_P2) AM_READWRITE(from_main_r,to_main_w)
243   AM_RANGE(MCS51_PORT_P3,MCS51_PORT_P3) AM_WRITE(p3_w)
256244ADDRESS_MAP_END
257245
258246
r243757r243758
382370
383371***************************************************************************/
384372
385WRITE_LINE_MEMBER(thedeep_state::irqhandler)
373TIMER_DEVICE_CALLBACK_MEMBER(thedeep_state::interrupt)
386374{
387   m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
388}
389
390TIMER_DEVICE_CALLBACK_MEMBER(thedeep_state::thedeep_interrupt)
391{
392375   int scanline = param;
393376
394377   if (scanline == 124) // TODO: clean this
r243757r243758
417400   }
418401}
419402
420INTERRUPT_GEN_MEMBER(thedeep_state::thedeep_mcu_irq)
403INTERRUPT_GEN_MEMBER(thedeep_state::mcu_irq)
421404{
422405   m_mcu->set_input_line(MCS51_INT1_LINE, ASSERT_LINE);
423406}
r243757r243758
427410   /* basic machine hardware */
428411   MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)      /* verified on pcb */
429412   MCFG_CPU_PROGRAM_MAP(main_map)
430   MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", thedeep_state, thedeep_interrupt, "screen", 0, 1)
413   MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", thedeep_state, interrupt, "screen", 0, 1)
431414
432415   MCFG_CPU_ADD("audiocpu", M65C02, XTAL_12MHz/8)      /* verified on pcb */
433416   MCFG_CPU_PROGRAM_MAP(audio_map)
r243757r243758
436419   /* MCU is a i8751 running at 8Mhz (8mhz xtal)*/
437420   MCFG_CPU_ADD("mcu", I8751, XTAL_8MHz)
438421   MCFG_CPU_IO_MAP(mcu_io_map)
439   MCFG_CPU_VBLANK_INT_DRIVER("screen", thedeep_state, thedeep_mcu_irq) // unknown source, but presumably vblank
422   MCFG_CPU_VBLANK_INT_DRIVER("screen", thedeep_state, mcu_irq) // unknown source, but presumably vblank
440423   MCFG_DEVICE_DISABLE()
441424
442425
r243757r243758
446429   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
447430   MCFG_SCREEN_SIZE(0x100, 0xf8)
448431   MCFG_SCREEN_VISIBLE_AREA(0, 0x100-1, 0, 0xf8-1)
449   MCFG_SCREEN_UPDATE_DRIVER(thedeep_state, screen_update_thedeep)
432   MCFG_SCREEN_UPDATE_DRIVER(thedeep_state, screen_update)
450433   MCFG_SCREEN_PALETTE("palette")
451434
452435   MCFG_GFXDECODE_ADD("gfxdecode", "palette", thedeep)
r243757r243758
458441   MCFG_SPEAKER_STANDARD_MONO("mono")
459442
460443   MCFG_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/4)  /* verified on pcb */
461   MCFG_YM2203_IRQ_HANDLER(WRITELINE(thedeep_state, irqhandler))
444   MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
462445   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
463446MACHINE_CONFIG_END
464447
r243757r243758
474457
475458Here are the proms for The Deep!
476459NOTE: This game is Vertical.
477I couldn't test this board so I don't know the manufakturer, sorry.
460I couldn't test this board so I don't know the manufacturer, sorry.
4784611 Z80
4794621 R6502
4804631 YM 2203
r243757r243758
553536   ROM_LOAD( "fi-3", 0x400, 0x200, CRC(f61a9686) SHA1(24082f60b72268d240ceca6999bdf18872625cd2) )
554537ROM_END
555538
556GAME( 1987, thedeep, 0,      thedeep, thedeep, driver_device, 0, ROT270, "Wood Place Inc.", "The Deep (Japan)", 0 )
557GAME( 1988, rundeep, thedeep,thedeep, thedeep, driver_device, 0, ROT270, "bootleg (Cream)", "Run Deep", 0 )
539GAME( 1987, thedeep, 0,      thedeep, thedeep, driver_device, 0, ROT270, "Wood Place Inc.", "The Deep (Japan)", GAME_SUPPORTS_SAVE )
540GAME( 1988, rundeep, thedeep,thedeep, thedeep, driver_device, 0, ROT270, "bootleg (Cream)", "Run Deep", GAME_SUPPORTS_SAVE )
trunk/src/mame/drivers/triforce.c
r243757r243758
5858| | 2004 | The Key Of Avalon 1.??: ??? (client) (Rev B)                    | Sega / Hitmaker                     | GDROM | GDT-0010B      |              |               |
5959|*| 2004 | The Key Of Avalon 1.30: Chaotic Sabbat (client) (Rev C)         | Sega / Hitmaker                     | GDROM | GDT-0010C      |              |               |
6060|*| 2004 | Firmware Update                                                 | Sega                                | GDROM | GDT-0011       | 317-0371-JPN |               |
61| | 2004 | Virtua Striker 2002 (Export)                                    | Sega                                | GDROM | GDT-0012       |              |               |
6162| | 2004 | Virtua Striker 4 (Japan)                                        | Sega                                | GDROM | GDT-0013       | 317-0391-JPN |               |
6263| | 2004 | Virtua Striker 4 (Japan) (Rev A)                                | Sega                                | GDROM | GDT-0013A      | 317-0391-JPN |               |
6364| | 2004 | Virtua Striker 4 (Japan) (Rev B)                                | Sega                                | GDROM | GDT-0013B      | 317-0391-JPN |               |
6465| | 2004 | Virtua Striker 4 (Japan) (Rev C)                                | Sega                                | GDROM | GDT-0013C      | 317-0391-JPN |               |
6566| | 2004 | Virtua Striker 4 (Japan) (Rev D)                                | Sega                                | GDROM | GDT-0013D      | 317-0391-JPN |               |
6667|*| 2004 | Virtua Striker 4 (Japan) (Rev E)                                | Sega                                | GDROM | GDT-0013E      | 317-0391-JPN |               |
68| | 2004 | Virtua Striker 4 (Export)                                       | Sega                                | GDROM | GDT-0014       |              |               |
6769|*| 2004 | Virtua Striker 4 (Export)                                       | Sega                                | GDROM | GDT-0015       | 317-0393-EXP |               |
6870| | 2004 | The Key Of Avalon 2: Eutaxy Commandment (server)                | Sega / Hitmaker                     | GDROM | GDT-0016       |              |               |
6971| | 2004 | The Key Of Avalon 2: Eutaxy Commandment (client)                | Sega / Hitmaker                     | GDROM | GDT-0017       |              |               |
r243757r243758
7375| | 2005 | Donkey Kong Jungle Fever                                        | Namco / Nintendo                    | Cart  |                |              |               |
7476|*| 2005 | Mario Kart Arcade GP (MKA1 Ver.A1)                              | Namco / Nintendo                    | Cart  | 837-14343-4T1  | 317-5109-COM | 253-5509-5109 |
7577|*| 2005 | Mario Kart Arcade GP (MKA2 Ver.B)                               | Namco / Nintendo                    | Cart  | 837-14343-R4S0 | 317-5109-COM | 253-5509-5109 |
76| | 2005 | The Key Of Avalon 2.5: War of the Key                           | Sega / Hitmaker                     | GDROM |                |              |               |
78| | 2005 | The Key Of Avalon 2.5: War of the Key (server)                  | Sega / Hitmaker                     | GDROM | GDT-0019B      |              |               |
79| | 2005 | The Key Of Avalon 2.5: War of the Key (client)                  | Sega / Hitmaker                     | GDROM |                |              |               |
7780| | 2006 | Virtua Striker 4 Ver.2006 (Japan)                               | Sega                                | GDROM | GDT-0020       |              |               |
7881| | 2006 | Virtua Striker 4 Ver.2006 (Japan) (Rev A)                       | Sega                                | GDROM | GDT-0020A      |              |               |
7982| | 2006 | Virtua Striker 4 Ver.2006 (Japan) (Rev B)                       | Sega                                | GDROM | GDT-0020B      |              |               |
trunk/src/mame/drivers/triplhnt.c
r243757r243758
44
55  Calibrate controls in service mode the first time you run this game.
66
7To Do:
8 The 3 different overlays need to be found, scanned and added as artwork
9 to really make the game complete.
10
117***************************************************************************/
128
139#include "emu.h"
r243757r243758
358354ROM_END
359355
360356
361GAME( 1977, triplhnt, 0, triplhnt, triplhnt, triplhnt_state, triplhnt, 0, "Atari", "Triple Hunt", 0 )
357GAME( 1977, triplhnt, 0, triplhnt, triplhnt, triplhnt_state, triplhnt, 0, "Atari", "Triple Hunt", GAME_REQUIRES_ARTWORK )
trunk/src/mame/includes/cps1.h
r243757r243758
1717// measured clocks:
1818// CPS2(Guru): V = 59.6376Hz, H = 15,4445kHz *H is probably measured too low!
1919// CPS1 GNG: V = 59.61Hz
20/* CPS1(Charles MacDonald):
21    Pixel clock: 8.00 MHz
22    Total pixel clocks per scanline: 512 clocks
23    Horizontal sync pulse width : 36 clocks
24    Horizontal display and blanking period: 476 clocks
25    Frame size: 262 scanlines
26    Refresh rate: 59.63 MHz.
27*/
2028#define CPS_PIXEL_CLOCK  (XTAL_16MHz/2)
2129
2230#define CPS_HTOTAL       (512)
trunk/src/mame/includes/retofinv.h
r243757r243758
33public:
44   retofinv_state(const machine_config &mconfig, device_type type, const char *tag)
55      : driver_device(mconfig, type, tag),
6      m_fg_videoram(*this, "fg_videoram"),
7      m_sharedram(*this, "sharedram"),
8      m_bg_videoram(*this, "bg_videoram"),
96      m_maincpu(*this, "maincpu"),
107      m_audiocpu(*this, "audiocpu"),
118      m_subcpu(*this, "sub"),
129      m_68705(*this, "68705"),
1310      m_gfxdecode(*this, "gfxdecode"),
14      m_palette(*this, "palette") { }
11      m_palette(*this, "palette"),
12      m_fg_videoram(*this, "fg_videoram"),
13      m_sharedram(*this, "sharedram"),
14      m_bg_videoram(*this, "bg_videoram") { }
1515
16   UINT8 m_cpu2_m6000;
16   required_device<cpu_device> m_maincpu;
17   required_device<cpu_device> m_audiocpu;
18   required_device<cpu_device> m_subcpu;
19   optional_device<cpu_device> m_68705;
20   required_device<gfxdecode_device> m_gfxdecode;
21   required_device<palette_device> m_palette;
22   
1723   required_shared_ptr<UINT8> m_fg_videoram;
1824   required_shared_ptr<UINT8> m_sharedram;
1925   required_shared_ptr<UINT8> m_bg_videoram;
26   
27   UINT8 m_main_irq_mask;
28   UINT8 m_sub_irq_mask;
29   UINT8 m_cpu2_m6000;
2030   UINT8 m_from_main;
2131   UINT8 m_from_mcu;
2232   int m_mcu_sent;
r243757r243758
3545   tilemap_t *m_bg_tilemap;
3646   tilemap_t *m_fg_tilemap;
3747
38   UINT8 m_main_irq_mask;
39   UINT8 m_sub_irq_mask;
4048   DECLARE_WRITE8_MEMBER(cpu1_reset_w);
4149   DECLARE_WRITE8_MEMBER(cpu2_reset_w);
4250   DECLARE_WRITE8_MEMBER(mcu_reset_w);
r243757r243758
4755   DECLARE_WRITE8_MEMBER(irq1_ack_w);
4856   DECLARE_WRITE8_MEMBER(coincounter_w);
4957   DECLARE_WRITE8_MEMBER(coinlockout_w);
50   DECLARE_READ8_MEMBER(retofinv_68705_portA_r);
51   DECLARE_WRITE8_MEMBER(retofinv_68705_portA_w);
52   DECLARE_WRITE8_MEMBER(retofinv_68705_ddrA_w);
53   DECLARE_READ8_MEMBER(retofinv_68705_portB_r);
54   DECLARE_WRITE8_MEMBER(retofinv_68705_portB_w);
55   DECLARE_WRITE8_MEMBER(retofinv_68705_ddrB_w);
56   DECLARE_READ8_MEMBER(retofinv_68705_portC_r);
57   DECLARE_WRITE8_MEMBER(retofinv_68705_portC_w);
58   DECLARE_WRITE8_MEMBER(retofinv_68705_ddrC_w);
59   DECLARE_WRITE8_MEMBER(retofinv_mcu_w);
60   DECLARE_READ8_MEMBER(retofinv_mcu_r);
61   DECLARE_READ8_MEMBER(retofinv_mcu_status_r);
62   DECLARE_WRITE8_MEMBER(retofinv_bg_videoram_w);
63   DECLARE_WRITE8_MEMBER(retofinv_fg_videoram_w);
64   DECLARE_WRITE8_MEMBER(retofinv_gfx_ctrl_w);
58   DECLARE_READ8_MEMBER(mcu_portA_r);
59   DECLARE_WRITE8_MEMBER(mcu_portA_w);
60   DECLARE_WRITE8_MEMBER(mcu_ddrA_w);
61   DECLARE_READ8_MEMBER(mcu_portB_r);
62   DECLARE_WRITE8_MEMBER(mcu_portB_w);
63   DECLARE_WRITE8_MEMBER(mcu_ddrB_w);
64   DECLARE_READ8_MEMBER(mcu_portC_r);
65   DECLARE_WRITE8_MEMBER(mcu_portC_w);
66   DECLARE_WRITE8_MEMBER(mcu_ddrC_w);
67   DECLARE_WRITE8_MEMBER(mcu_w);
68   DECLARE_READ8_MEMBER(mcu_r);
69   DECLARE_READ8_MEMBER(mcu_status_r);
70   DECLARE_WRITE8_MEMBER(bg_videoram_w);
71   DECLARE_WRITE8_MEMBER(fg_videoram_w);
72   DECLARE_WRITE8_MEMBER(gfx_ctrl_w);
73
6574   TILEMAP_MAPPER_MEMBER(tilemap_scan);
6675   TILE_GET_INFO_MEMBER(bg_get_tile_info);
6776   TILE_GET_INFO_MEMBER(fg_get_tile_info);
77
78   virtual void machine_start();
6879   virtual void video_start();
6980   DECLARE_PALETTE_INIT(retofinv);
70   UINT32 screen_update_retofinv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
81   
82   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
83   void draw_sprites(bitmap_ind16 &bitmap);
84   
7185   INTERRUPT_GEN_MEMBER(main_vblank_irq);
7286   INTERRUPT_GEN_MEMBER(sub_vblank_irq);
73   void draw_sprites(bitmap_ind16 &bitmap);
74   required_device<cpu_device> m_maincpu;
75   required_device<cpu_device> m_audiocpu;
76   required_device<cpu_device> m_subcpu;
77   optional_device<cpu_device> m_68705;
78   required_device<gfxdecode_device> m_gfxdecode;
79   required_device<palette_device> m_palette;
8087};
trunk/src/mame/includes/speedatk.h
r243757r243758
1#include "video/mc6845.h"
2
13class speedatk_state : public driver_device
24{
35public:
r243757r243758
35   speedatk_state(const machine_config &mconfig, device_type type, const char *tag)
46      : driver_device(mconfig, type, tag),
5      m_videoram(*this, "videoram"),
6      m_colorram(*this, "colorram"),
77      m_maincpu(*this, "maincpu"),
8      m_crtc(*this, "crtc"),
89      m_gfxdecode(*this, "gfxdecode"),
9      m_palette(*this, "palette") { }
10      m_palette(*this, "palette"),
11      m_videoram(*this, "videoram"),
12      m_colorram(*this, "colorram") { }
1013
14   required_device<cpu_device> m_maincpu;
15   required_device<h46505_device> m_crtc;
16   required_device<gfxdecode_device> m_gfxdecode;
17   required_device<palette_device> m_palette;
18
1119   required_shared_ptr<UINT8> m_videoram;
1220   required_shared_ptr<UINT8> m_colorram;
21   
1322   UINT8 m_crtc_vreg[0x100];
1423   UINT8 m_crtc_index;
1524   UINT8 m_flip_scr;
16
1725   UINT8 m_mux_data;
1826   UINT8 m_km_status;
1927   UINT8 m_coin_settings;
2028   UINT8 m_coin_impulse;
29   
2130   DECLARE_READ8_MEMBER(key_matrix_r);
2231   DECLARE_WRITE8_MEMBER(key_matrix_w);
2332   DECLARE_READ8_MEMBER(key_matrix_status_r);
2433   DECLARE_WRITE8_MEMBER(key_matrix_status_w);
25   DECLARE_WRITE8_MEMBER(speedatk_videoram_w);
26   DECLARE_WRITE8_MEMBER(speedatk_colorram_w);
27   DECLARE_WRITE8_MEMBER(speedatk_6845_w);
28   DECLARE_WRITE8_MEMBER(speedatk_output_w);
34   DECLARE_WRITE8_MEMBER(videoram_w);
35   DECLARE_WRITE8_MEMBER(colorram_w);
36   DECLARE_WRITE8_MEMBER(m6845_w);
37   DECLARE_WRITE8_MEMBER(output_w);
38
39   virtual void machine_start();
2940   virtual void video_start();
3041   DECLARE_PALETTE_INIT(speedatk);
31   UINT32 screen_update_speedatk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
42   
43   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
44   
3245   UINT8 iox_key_matrix_calc(UINT8 p_side);
33   required_device<cpu_device> m_maincpu;
34   required_device<gfxdecode_device> m_gfxdecode;
35   required_device<palette_device> m_palette;
3646};
trunk/src/mame/includes/thedeep.h
r243757r243758
33public:
44   thedeep_state(const machine_config &mconfig, device_type type, const char *tag)
55      : driver_device(mconfig, type, tag),
6      m_maincpu(*this,"maincpu"),
7      m_audiocpu(*this, "audiocpu"),
8      m_mcu(*this, "mcu"),
9      m_gfxdecode(*this, "gfxdecode"),
10      m_palette(*this, "palette"),
611      m_spriteram(*this, "spriteram"),
712      m_vram_0(*this, "vram_0"),
813      m_vram_1(*this, "vram_1"),
914      m_scroll(*this, "scroll"),
10      m_scroll2(*this, "scroll2"),
11      m_maincpu(*this,"maincpu"),
12      m_audiocpu(*this, "audiocpu"),
13      m_mcu(*this, "mcu"),
14      m_gfxdecode(*this, "gfxdecode"),
15      m_palette(*this, "palette")  { }
15      m_scroll2(*this, "scroll2")  { }
1616
17   required_device<cpu_device> m_maincpu;
18   required_device<cpu_device> m_audiocpu;
19   required_device<cpu_device> m_mcu;
20   required_device<gfxdecode_device> m_gfxdecode;
21   required_device<palette_device> m_palette;
22
1723   required_shared_ptr<UINT8> m_spriteram;
24   required_shared_ptr<UINT8> m_vram_0;
25   required_shared_ptr<UINT8> m_vram_1;
26   required_shared_ptr<UINT8> m_scroll;
27   required_shared_ptr<UINT8> m_scroll2;
28   
1829   int m_nmi_enable;
1930   UINT8 m_protection_command;
2031   UINT8 m_protection_data;
2132   int m_protection_index;
2233   int m_protection_irq;
23   int m_rombank;
24   required_shared_ptr<UINT8> m_vram_0;
25   required_shared_ptr<UINT8> m_vram_1;
26   required_shared_ptr<UINT8> m_scroll;
27   required_shared_ptr<UINT8> m_scroll2;
2834   tilemap_t *m_tilemap_0;
2935   tilemap_t *m_tilemap_1;
3036   UINT8 m_mcu_p3_reg;
3137
32   required_device<cpu_device> m_maincpu;
33   required_device<cpu_device> m_audiocpu;
34   required_device<cpu_device> m_mcu;
35   required_device<gfxdecode_device> m_gfxdecode;
36   required_device<palette_device> m_palette;
37
38   DECLARE_WRITE8_MEMBER(thedeep_nmi_w);
39   DECLARE_WRITE8_MEMBER(thedeep_sound_w);
40   DECLARE_WRITE8_MEMBER(thedeep_protection_w);
41   DECLARE_READ8_MEMBER(thedeep_e004_r);
42   DECLARE_READ8_MEMBER(thedeep_protection_r);
43   DECLARE_WRITE8_MEMBER(thedeep_e100_w);
44   DECLARE_WRITE8_MEMBER(thedeep_p1_w);
45   DECLARE_READ8_MEMBER(thedeep_from_main_r);
46   DECLARE_WRITE8_MEMBER(thedeep_to_main_w);
47   DECLARE_WRITE8_MEMBER(thedeep_p3_w);
48   DECLARE_READ8_MEMBER(thedeep_p0_r);
49   DECLARE_WRITE8_MEMBER(thedeep_vram_0_w);
50   DECLARE_WRITE8_MEMBER(thedeep_vram_1_w);
38   DECLARE_WRITE8_MEMBER(nmi_w);
39   DECLARE_WRITE8_MEMBER(sound_w);
40   DECLARE_WRITE8_MEMBER(protection_w);
41   DECLARE_READ8_MEMBER(e004_r);
42   DECLARE_READ8_MEMBER(protection_r);
43   DECLARE_WRITE8_MEMBER(e100_w);
44   DECLARE_WRITE8_MEMBER(p1_w);
45   DECLARE_READ8_MEMBER(from_main_r);
46   DECLARE_WRITE8_MEMBER(to_main_w);
47   DECLARE_WRITE8_MEMBER(p3_w);
48   DECLARE_READ8_MEMBER(p0_r);
49   DECLARE_WRITE8_MEMBER(vram_0_w);
50   DECLARE_WRITE8_MEMBER(vram_1_w);
51   
5152   TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_back);
5253   TILE_GET_INFO_MEMBER(get_tile_info_0);
5354   TILE_GET_INFO_MEMBER(get_tile_info_1);
55
56   virtual void machine_start();
5457   virtual void machine_reset();
5558   virtual void video_start();
5659   DECLARE_PALETTE_INIT(thedeep);
57   UINT32 screen_update_thedeep(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
58   INTERRUPT_GEN_MEMBER(thedeep_mcu_irq);
59   TIMER_DEVICE_CALLBACK_MEMBER(thedeep_interrupt);
60
61   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
6062   void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
61   void thedeep_maincpu_bankswitch(UINT8 bank_trig);
62   DECLARE_WRITE_LINE_MEMBER(irqhandler);
63   
64   INTERRUPT_GEN_MEMBER(mcu_irq);
65   TIMER_DEVICE_CALLBACK_MEMBER(interrupt);
6366};
trunk/src/mame/machine/retofinv.c
r243757r243758
1010***************************************************************************/
1111
1212
13READ8_MEMBER(retofinv_state::retofinv_68705_portA_r)
13READ8_MEMBER(retofinv_state::mcu_portA_r)
1414{
1515//logerror("%04x: 68705 port A read %02x\n",space.device().safe_pc(),m_portA_in);
1616   return (m_portA_out & m_ddrA) | (m_portA_in & ~m_ddrA);
1717}
1818
19WRITE8_MEMBER(retofinv_state::retofinv_68705_portA_w)
19WRITE8_MEMBER(retofinv_state::mcu_portA_w)
2020{
2121//logerror("%04x: 68705 port A write %02x\n",space.device().safe_pc(),data);
2222   m_portA_out = data;
2323}
2424
25WRITE8_MEMBER(retofinv_state::retofinv_68705_ddrA_w)
25WRITE8_MEMBER(retofinv_state::mcu_ddrA_w)
2626{
2727   m_ddrA = data;
2828}
r243757r243758
3939 */
4040
4141
42READ8_MEMBER(retofinv_state::retofinv_68705_portB_r)
42READ8_MEMBER(retofinv_state::mcu_portB_r)
4343{
4444   return (m_portB_out & m_ddrB) | (m_portB_in & ~m_ddrB);
4545}
4646
47WRITE8_MEMBER(retofinv_state::retofinv_68705_portB_w)
47WRITE8_MEMBER(retofinv_state::mcu_portB_w)
4848{
4949//logerror("%04x: 68705 port B write %02x\n",space.device().safe_pc(),data);
5050
r243757r243758
6565   m_portB_out = data;
6666}
6767
68WRITE8_MEMBER(retofinv_state::retofinv_68705_ddrB_w)
68WRITE8_MEMBER(retofinv_state::mcu_ddrB_w)
6969{
7070   m_ddrB = data;
7171}
r243757r243758
8181 */
8282
8383
84READ8_MEMBER(retofinv_state::retofinv_68705_portC_r)
84READ8_MEMBER(retofinv_state::mcu_portC_r)
8585{
8686   m_portC_in = 0;
8787   if (m_main_sent) m_portC_in |= 0x01;
r243757r243758
9090   return (m_portC_out & m_ddrC) | (m_portC_in & ~m_ddrC);
9191}
9292
93WRITE8_MEMBER(retofinv_state::retofinv_68705_portC_w)
93WRITE8_MEMBER(retofinv_state::mcu_portC_w)
9494{
9595logerror("%04x: 68705 port C write %02x\n",space.device().safe_pc(),data);
9696   m_portC_out = data;
9797}
9898
99WRITE8_MEMBER(retofinv_state::retofinv_68705_ddrC_w)
99WRITE8_MEMBER(retofinv_state::mcu_ddrC_w)
100100{
101101   m_ddrC = data;
102102}
103103
104104
105WRITE8_MEMBER(retofinv_state::retofinv_mcu_w)
105WRITE8_MEMBER(retofinv_state::mcu_w)
106106{
107107logerror("%04x: mcu_w %02x\n",space.device().safe_pc(),data);
108108   m_from_main = data;
r243757r243758
110110   m_68705->set_input_line(0, ASSERT_LINE);
111111}
112112
113READ8_MEMBER(retofinv_state::retofinv_mcu_r)
113READ8_MEMBER(retofinv_state::mcu_r)
114114{
115115logerror("%04x: mcu_r %02x\n",space.device().safe_pc(),m_from_mcu);
116116   m_mcu_sent = 0;
117117   return m_from_mcu;
118118}
119119
120READ8_MEMBER(retofinv_state::retofinv_mcu_status_r)
120READ8_MEMBER(retofinv_state::mcu_status_r)
121121{
122122   int res = 0;
123123
trunk/src/mame/mame.lst
r243757r243758
56805680wangmid         // 2004.07 Wangan Midnight Maximum Tune (export) (Rev B)
56815681            // 2004.09 Quest of D
56825682            // 2004.11 Sega Golf Club Network Pro Tour
5683            // 2004.12 Ghost Squad
5683ghostsqo        // 2004.12 Ghost Squad
56845684            // 2004.12 Quest of D Ver.1.01C
56855685            // 2004.12 Quest of D Ver.1.02
56865686            // 2004.12 Quest of D Ver.1.10
r243757r243758
56925692            // 2004.12 Sega Network Taisen Mahjong MJ 2 (Rev D)
56935693ghostsqu        // 2004.12.09 Ghost Squad (Rev A)
56945694            // 2005.02 Sega Network Taisen Mahjong MJ 2 (Rev E)
5695            // 2005.02 Sega Network Taisen Mahjong MJ 2 (Rev F)
5695mj2f            // 2005.02 Sega Network Taisen Mahjong MJ 2 (Rev F)
56965696mj2             // 2005.02.02 Sega Network Taisen Mahjong MJ 2 (Rev G)
56975697            // 2005.03 Sangokushi Taisen
56985698gundamos        // 2005.03 Gundam Battle Operating Simulator
trunk/src/mame/video/retofinv.c
r243757r243758
103103   m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(retofinv_state::fg_get_tile_info),this),tilemap_mapper_delegate(FUNC(retofinv_state::tilemap_scan),this),8,8,36,28);
104104
105105   m_fg_tilemap->configure_groups(*m_gfxdecode->gfx(0), 0);
106   
107   save_item(NAME(m_fg_bank));
108   save_item(NAME(m_bg_bank));
106109}
107110
108111
r243757r243758
113116
114117***************************************************************************/
115118
116WRITE8_MEMBER(retofinv_state::retofinv_bg_videoram_w)
119WRITE8_MEMBER(retofinv_state::bg_videoram_w)
117120{
118121   m_bg_videoram[offset] = data;
119122   m_bg_tilemap->mark_tile_dirty(offset & 0x3ff);
120123}
121124
122WRITE8_MEMBER(retofinv_state::retofinv_fg_videoram_w)
125WRITE8_MEMBER(retofinv_state::fg_videoram_w)
123126{
124127   m_fg_videoram[offset] = data;
125128   m_fg_tilemap->mark_tile_dirty(offset & 0x3ff);
126129}
127130
128WRITE8_MEMBER(retofinv_state::retofinv_gfx_ctrl_w)
131WRITE8_MEMBER(retofinv_state::gfx_ctrl_w)
129132{
130133   switch (offset)
131134   {
r243757r243758
214217
215218
216219
217UINT32 retofinv_state::screen_update_retofinv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
220UINT32 retofinv_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
218221{
219222   m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0);
220223   draw_sprites(bitmap);
trunk/src/mame/video/speedatk.c
r243757r243758
55*****************************************************************************************/
66#include "emu.h"
77#include "includes/speedatk.h"
8#include "video/mc6845.h"
98
109
1110PALETTE_INIT_MEMBER(speedatk_state, speedatk)
r243757r243758
5049   }
5150}
5251
53WRITE8_MEMBER(speedatk_state::speedatk_videoram_w)
54{
55   m_videoram[offset] = data;
56}
57
58WRITE8_MEMBER(speedatk_state::speedatk_colorram_w)
59{
60   m_colorram[offset] = data;
61}
62
6352void speedatk_state::video_start()
6453{
54   save_item(NAME(m_crtc_vreg));
55   save_item(NAME(m_crtc_index));
56   save_item(NAME(m_flip_scr));
6557}
6658
67WRITE8_MEMBER(speedatk_state::speedatk_6845_w)
59WRITE8_MEMBER(speedatk_state::m6845_w)
6860{
6961   if(offset == 0)
7062   {
7163      m_crtc_index = data;
72      machine().device<mc6845_device>("crtc")->address_w(space,0,data);
64      m_crtc->address_w(space,0,data);
7365   }
7466   else
7567   {
7668      m_crtc_vreg[m_crtc_index] = data;
77      machine().device<mc6845_device>("crtc")->register_w(space,0,data);
69      m_crtc->register_w(space,0,data);
7870   }
7971}
8072
81UINT32 speedatk_state::screen_update_speedatk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
73UINT32 speedatk_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
8274{
8375   int x,y;
8476   int count;
trunk/src/mame/video/thedeep.c
r243757r243758
6363         0);
6464}
6565
66WRITE8_MEMBER(thedeep_state::thedeep_vram_0_w)
66WRITE8_MEMBER(thedeep_state::vram_0_w)
6767{
6868   m_vram_0[offset] = data;
6969   m_tilemap_0->mark_tile_dirty(offset / 2);
7070}
7171
72WRITE8_MEMBER(thedeep_state::thedeep_vram_1_w)
72WRITE8_MEMBER(thedeep_state::vram_1_w)
7373{
7474   m_vram_1[offset] = data;
7575   m_tilemap_1->mark_tile_dirty(offset / 2);
r243757r243758
202202
203203***************************************************************************/
204204
205UINT32 thedeep_state::screen_update_thedeep(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
205UINT32 thedeep_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
206206{
207207   int scrollx = m_scroll[0] + (m_scroll[1]<<8);
208208   int scrolly = m_scroll[2] + (m_scroll[3]<<8);
trunk/src/mess/drivers/alnchase.c
r243757r243758
238238ROM_END
239239
240240
241CONS( 1984, alnchase, 0, 0, alnchase, alnchase, driver_device, 0, "Tomy", "Alien Chase", GAME_NOT_WORKING )
241CONS( 1984, alnchase, 0, 0, alnchase, alnchase, driver_device, 0, "Tomy", "Alien Chase", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
trunk/src/mess/drivers/amstrad.c
r243757r243758
804804   SLOT_INTERFACE("sf2", CPC_SYMBIFACE2)
805805   SLOT_INTERFACE("amdrum", CPC_AMDRUM)
806806   SLOT_INTERFACE("playcity", CPC_PLAYCITY)
807   SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH)
807808SLOT_INTERFACE_END
808809
809810SLOT_INTERFACE_START(cpcplus_exp_cards)
r243757r243758
816817   SLOT_INTERFACE("sf2", CPC_SYMBIFACE2)
817818   SLOT_INTERFACE("amdrum", CPC_AMDRUM)
818819   SLOT_INTERFACE("playcity", CPC_PLAYCITY)
820   SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH)
819821SLOT_INTERFACE_END
820822
821823SLOT_INTERFACE_START(amstrad_centronics_devices)
trunk/src/mess/drivers/edracula.c
r243757r243758
188188ROM_END
189189
190190
191CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula", GAME_SUPPORTS_SAVE )
191CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
trunk/src/mess/drivers/tmtennis.c
r243757r243758
257257ROM_END
258258
259259
260CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomytronic)", GAME_SUPPORTS_SAVE )
260CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
trunk/src/mess/drivers/wildfire.c
r243757r243758
316316ROM_END
317317
318318
319CONS( 1979, wildfire, 0, 0, wildfire, wildfire, driver_device, 0, "Parker Brothers", "Wildfire (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
319CONS( 1979, wildfire, 0, 0, wildfire, wildfire, driver_device, 0, "Parker Brothers", "Wildfire (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) // note: pretty sure that it matches the commercial release
trunk/src/mess/includes/amstrad.h
r243757r243758
2323#include "bus/cpc/symbfac2.h"
2424#include "bus/cpc/amdrum.h"
2525#include "bus/cpc/playcity.h"
26#include "bus/cpc/smartwatch.h"
2627#include "machine/ram.h"
2728#include "imagedev/cassette.h"
2829#include "bus/centronics/ctronics.h"
trunk/src/mess/machine/amstrad.c
r243757r243758
29182918
29192919void amstrad_state::amstrad_common_init()
29202920{
2921   address_space &space = m_maincpu->space(AS_PROGRAM);
2921//   address_space &space = m_maincpu->space(AS_PROGRAM);
29222922
29232923   m_aleste_mode = 0;
29242924
r243757r243758
29282928   m_GateArray_RamConfiguration = 0;
29292929   m_gate_array.hsync_counter = 2;
29302930
2931   space.install_read_bank(0x0000, 0x1fff, "bank1");
2931/*   space.install_read_bank(0x0000, 0x1fff, "bank1");
29322932   space.install_read_bank(0x2000, 0x3fff, "bank2");
29332933
29342934   space.install_read_bank(0x4000, 0x5fff, "bank3");
r243757r243758
29512951
29522952   space.install_write_bank(0xc000, 0xdfff, "bank15");
29532953   space.install_write_bank(0xe000, 0xffff, "bank16");
2954
2954*/
29552955   enumerate_roms();
29562956
29572957   m_maincpu->reset();
trunk/src/osd/sdl/blit13.h
r243757r243758
139139   blit_texcopy() : blit_base(sizeof(_dest_type) / _len_div, false, false) { }
140140    void texop(const texture_info *texture, const render_texinfo *texsource) const
141141    {
142       ATTR_UNUSED const rgb_t *palbase = texsource->palette();
142       ATTR_UNUSED const rgb_t *palbase = texsource->palette;
143143       int x, y;
144144       /* loop over Y */
145145       for (y = 0; y < texsource->height; y++) {
r243757r243758
166166   blit_texrot() : blit_base(sizeof(_dest_type), true, false) { }
167167   void texop(const texture_info *texture, const render_texinfo *texsource) const
168168   {
169      ATTR_UNUSED const rgb_t *palbase = texsource->palette();
169      ATTR_UNUSED const rgb_t *palbase = texsource->palette;
170170      int x, y;
171171      const quad_setup_data *setup = &texture->m_setup;
172172      int dudx = setup->dudx;
trunk/src/osd/sdl/draw13.c
r243757r243758
874874         m_format = SDL_TEXFORMAT_ARGB32;
875875         break;
876876      case TEXFORMAT_RGB32:
877         m_format = texsource.palette() ? SDL_TEXFORMAT_RGB32_PALETTED : SDL_TEXFORMAT_RGB32;
877         m_format = texsource.palette ? SDL_TEXFORMAT_RGB32_PALETTED : SDL_TEXFORMAT_RGB32;
878878         break;
879879      case TEXFORMAT_PALETTE16:
880880         m_format = SDL_TEXFORMAT_PALETTE16;
r243757r243758
883883         m_format = SDL_TEXFORMAT_PALETTE16A;
884884         break;
885885      case TEXFORMAT_YUY16:
886         m_format = texsource.palette() ? SDL_TEXFORMAT_YUY16_PALETTED : SDL_TEXFORMAT_YUY16;
886         m_format = texsource.palette ? SDL_TEXFORMAT_YUY16_PALETTED : SDL_TEXFORMAT_YUY16;
887887         break;
888888
889889      default:
trunk/src/osd/sdl/drawogl.c
r243757r243758
18161816   if    ( texture_copy_properties[texture->format][SDL_TEXFORMAT_SRC_EQUALS_DEST] &&
18171817         !texture_copy_properties[texture->format][SDL_TEXFORMAT_SRC_HAS_PALETTE] &&
18181818         texture->xprescale == 1 && texture->yprescale == 1 &&
1819         !texture->borderpix && !texsource->palette() &&
1819         !texture->borderpix && !texsource->palette &&
18201820         texsource->rowpixels <= m_texture_max_width )
18211821   {
18221822      texture->nocopy = TRUE;
r243757r243758
22632263         texture->format = SDL_TEXFORMAT_ARGB32;
22642264         break;
22652265      case TEXFORMAT_RGB32:
2266         if (texsource->palette() != NULL)
2266         if (texsource->palette != NULL)
22672267            texture->format = SDL_TEXFORMAT_RGB32_PALETTED;
22682268         else
22692269            texture->format = SDL_TEXFORMAT_RGB32;
r243757r243758
22752275         texture->format = SDL_TEXFORMAT_PALETTE16A;
22762276         break;
22772277      case TEXFORMAT_YUY16:
2278         if (texsource->palette() != NULL)
2278         if (texsource->palette != NULL)
22792279            texture->format = SDL_TEXFORMAT_YUY16_PALETTED;
22802280         else
22812281            texture->format = SDL_TEXFORMAT_YUY16;
r243757r243758
27172717            switch (PRIMFLAG_GET_TEXFORMAT(flags))
27182718            {
27192719               case TEXFORMAT_PALETTE16:
2720                  copyline_palette16((UINT32 *)dst, (UINT16 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette(), texture->borderpix, texture->xprescale);
2720                  copyline_palette16((UINT32 *)dst, (UINT16 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette, texture->borderpix, texture->xprescale);
27212721                  break;
27222722
27232723               case TEXFORMAT_PALETTEA16:
2724                  copyline_palettea16((UINT32 *)dst, (UINT16 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette(), texture->borderpix, texture->xprescale);
2724                  copyline_palettea16((UINT32 *)dst, (UINT16 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette, texture->borderpix, texture->xprescale);
27252725                  break;
27262726
27272727               case TEXFORMAT_RGB32:
2728                  copyline_rgb32((UINT32 *)dst, (UINT32 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette(), texture->borderpix, texture->xprescale);
2728                  copyline_rgb32((UINT32 *)dst, (UINT32 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette, texture->borderpix, texture->xprescale);
27292729                  break;
27302730
27312731               case TEXFORMAT_ARGB32:
2732                  copyline_argb32((UINT32 *)dst, (UINT32 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette(), texture->borderpix, texture->xprescale);
2732                  copyline_argb32((UINT32 *)dst, (UINT32 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette, texture->borderpix, texture->xprescale);
27332733                  break;
27342734
27352735               case TEXFORMAT_YUY16:
2736                  copyline_yuy16_to_argb((UINT32 *)dst, (UINT16 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette(), texture->borderpix, texture->xprescale);
2736                  copyline_yuy16_to_argb((UINT32 *)dst, (UINT16 *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette, texture->borderpix, texture->xprescale);
27372737                  break;
27382738
27392739               default:
r243757r243758
28062806      texture->texinfo.width == prim->texture.width &&
28072807      texture->texinfo.height == prim->texture.height &&
28082808      texture->texinfo.rowpixels == prim->texture.rowpixels &&
2809      /* texture->texinfo.palette() == prim->texture.palette() && */
2809      /* texture->texinfo.palette == prim->texture.palette && */
28102810      ((texture->flags ^ prim->flags) & (PRIMFLAG_BLENDMODE_MASK | PRIMFLAG_TEXFORMAT_MASK)) == 0)
28112811      return 1;
28122812   else
trunk/src/osd/windows/d3dhlsl.c
r243757r243758
927927      texture.rowpixels = shadow_bitmap.rowpixels();
928928      texture.width = shadow_bitmap.width();
929929      texture.height = shadow_bitmap.height();
930      texture.set_palette(NULL);
930      texture.palette = NULL;
931931      texture.seqid = 0;
932932
933933      // FIXME: should shadow bitmap really use prescale?
trunk/src/osd/windows/drawd3d.c
r243757r243758
500500      texture.rowpixels = m_default_bitmap.rowpixels();
501501      texture.width = m_default_bitmap.width();
502502      texture.height = m_default_bitmap.height();
503      texture.set_palette(NULL);
503      texture.palette = NULL;
504504      texture.seqid = 0;
505505
506506      // now create it
r243757r243758
517517      texture.rowpixels = m_vector_bitmap.rowpixels();
518518      texture.width = m_vector_bitmap.width();
519519      texture.height = m_vector_bitmap.height();
520      texture.set_palette(NULL);
520      texture.palette = NULL;
521521      texture.seqid = 0;
522522
523523      // now create it
r243757r243758
25442544      switch (PRIMFLAG_GET_TEXFORMAT(flags))
25452545      {
25462546         case TEXFORMAT_PALETTE16:
2547            copyline_palette16((UINT32 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette(), m_xborderpix);
2547            copyline_palette16((UINT32 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix);
25482548            break;
25492549
25502550         case TEXFORMAT_PALETTEA16:
2551            copyline_palettea16((UINT32 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette(), m_xborderpix);
2551            copyline_palettea16((UINT32 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix);
25522552            break;
25532553
25542554         case TEXFORMAT_RGB32:
2555            copyline_rgb32((UINT32 *)dst, (UINT32 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette(), m_xborderpix);
2555            copyline_rgb32((UINT32 *)dst, (UINT32 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix);
25562556            break;
25572557
25582558         case TEXFORMAT_ARGB32:
2559            copyline_argb32((UINT32 *)dst, (UINT32 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette(), m_xborderpix);
2559            copyline_argb32((UINT32 *)dst, (UINT32 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix);
25602560            break;
25612561
25622562         case TEXFORMAT_YUY16:
25632563            if (m_texture_manager->get_yuv_format() == D3DFMT_YUY2)
2564               copyline_yuy16_to_yuy2((UINT16 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette(), m_xborderpix);
2564               copyline_yuy16_to_yuy2((UINT16 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix);
25652565            else if (m_texture_manager->get_yuv_format() == D3DFMT_UYVY)
2566               copyline_yuy16_to_uyvy((UINT16 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette(), m_xborderpix);
2566               copyline_yuy16_to_uyvy((UINT16 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix);
25672567            else
2568               copyline_yuy16_to_argb((UINT32 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette(), m_xborderpix);
2568               copyline_yuy16_to_argb((UINT32 *)dst, (UINT16 *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix);
25692569            break;
25702570
25712571         default:
trunk/src/osd/windows/vconv.c
r243757r243758
8888   // warning C4296: 'x' : expression is always false
8989   // warning C4306: 'xxx': conversion from 'type1' to 'type2' of greater size // 64-bit only
9090   // warning C4310: cast truncates constant value
91   // warning C4312: 'type cast' : conversion from 'xxx' to 'xxx' of greater size
9192   // warning C4324: 'xxx' : structure was padded due to __declspec(align())
9293   // warning C4347: behavior change: 'xxx' is called instead of 'xxx' // obsolete VS2005 - VS2010 only
9394   // warning C4435: 'xxx' : Object layout under /vd2 will change due to virtual base 'xxx'
r243757r243758
109110   // warning C4805: 'x' : unsafe mix of type 'xxx' and type 'xxx' in operation
110111   // warning C4820: 'xxx' : 'x' bytes padding added after data member 'xxx'
111112   // warning C4826: Conversion from 'type1 ' to 'type_2' is sign-extended. This may cause unexpected runtime behavior. // 32-bit only
112   { VS7,      "-Wall",                    "/Wall /W4 /wd4003 /wd4018 /wd4061 /wd4100 /wd4127 /wd4131 /wd4141 /wd4146 /wd4150 /wd4189 /wd4191 /wd4201 /wd4232 /wd4242 /wd4244 /wd4250 /wd4255 /wd4296 /wd4306 /wd4310 /wd4324 /wd4347 /wd4435 /wd4510 /wd4512 /wd4514 /wd4571 /wd4610 /wd4611 /wd4619 /wd4625 /wd4626 /wd4640 /wd4668 /wd4702 /wd4706 /wd4710 /wd4711 /wd4805 /wd4820 /wd4826" },
113   { VS7,      "-Wall",                    "/Wall /W4 /wd4003 /wd4018 /wd4061 /wd4100 /wd4127 /wd4131 /wd4141 /wd4146 /wd4150 /wd4189 /wd4191 /wd4201 /wd4232 /wd4242 /wd4244 /wd4250 /wd4255 /wd4296 /wd4306 /wd4310 /wd4312 /wd4324 /wd4347 /wd4435 /wd4510 /wd4512 /wd4514 /wd4571 /wd4610 /wd4611 /wd4619 /wd4625 /wd4626 /wd4640 /wd4668 /wd4702 /wd4706 /wd4710 /wd4711 /wd4805 /wd4820 /wd4826" },
113114   { 0,        "-Wall",                    "/W0" },
114115   { VS7,      "-Wno-unused",              "/wd4100 /wd4101 /wd4102 /wd4505" },
115116   { 0,        "-Wno-sign-compare",        "/wd4365 /wd4389 /wd4245 /wd4388" },


Previous 199869 Revisions Next


© 1997-2024 The MAME Team