Previous 199869 Revisions Next

r35245 Tuesday 24th February, 2015 at 06:18:20 UTC by Peter Ferrie
(MESS) ap2_dsk.c: support oversized Apple II EDD images [Peter Ferrie]
[/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/formats]ap2_dsk.c
[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
r243756r243757
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)
1718* さわってみよう! よいこのはじめてキーボード - Sawattemiyou! Yoiko no Hajimete Keyboard (Sega - 199712xx - HPC-6053)
1819* プーさんとたのしいなかまたち - Pooh-san to Tanoshii na Kamatachi (Sega - ???? - HPC-6054)
1920* はじめまシリーズ5 けろけろけろっぴのハリキリうんどうかい - Hajimema Series 5 - Kerokero Keroppi no Harikiri Undoukai (Sega - 1998xxxx - HPC-6059) [reprint HPC-6006]
r243756r243757
4445* ディズニープリンセス 白雪姫 ~しらゆきひめ~ <Best> - Disney Princesses - Shirayukihime Best Selection (Sega Toys - 20040426 - HPC-6139)
4546* 七田 眞 監修 右脳イメージトレーニング さんすう・えいごでモジャーズに挑戦 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-????)
4647* 七田 眞 監修 右脳イメージトレーニング ひらがな・カタカナ カジノでモジャベガスドリーム <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)
4749
4850to be verified
4951* アンパンマンのもしもしピコ セット それいけ!アンパンマン アンパンマンとでんわであそぼう!<同梱> - 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?]
r243756r243757
5759* ウルトラマンピコ ウルトラファイティングベース - Ultraman Pico Ultraman Fighting Best (Bandai - 200009xx - T-133???)
5860* アンパンマンピコ わくわくパン工場 - Anpanman Pico Wakuwaku Pan Koujou (Bandai - 200106xx - T-133350)
5961* おジャ魔女どれみ ドッカ~ン! - 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)
6064* いっしょにはしろうきかんしゃトーマス <Best Selection> - Issho ni Hashirou Kikansha Thomas Best Selection (Bandai - 20040713 - T-133490) [reprint T-133140]
6165* 学研のおべんきょうソフト たしざん ひきざん - Gakken no Obenkyou Soft - Tashizan Hikizan (Gakken - 1995xxxx - T-169030)
6266* はじめまシリーズ4 学研のおべんきょうソフト たしざん ひきざん - Hajimema Series 4 - Gakken no Obenkyou Soft - Tashizan Hikizan (Gakken - 1998xxxx - T-169070)
r243756r243757
786790      </part>
787791   </software>
788792
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
805793   <software name="ariel">
806794      <description>Disney Princess Ariel (Jpn)</description>
807795      <year>2004</year>
r243756r243757
12021190      </part>
12031191   </software>
12041192
1205   <software name="eccojrb" cloneof="eccojr">
1206      <description>Ecco Jr. - No fundo do mar! (Bra)</description>
1193   <software name="eccojrg" cloneof="eccojr">
1194      <description>Ecco Jr. und die große Schatzsuche im Ozean! (Ger)</description>
12071195      <year>19??</year>
12081196      <publisher>Sega</publisher>
12091197      <part name="cart" interface="pico_cart">
1210         <feature name="pcb" value="171-6882A" />
1211         <feature name="ic1" value="MPR-18318-U" />
12121198         <dataarea name="rom" size="524288">
1213            <rom name="mpr-18318-u.ic1" size="524288" crc="557670cf" sha1="fc8936611b4fb868838fd1ad60fba4944e4f8822" offset="0" loadflag="load16_word_swap" />
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" />
12141200         </dataarea>
12151201      </part>
12161202   </software>
r243756r243757
12291215      </part>
12301216   </software>
12311217
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
12431218   <software name="eccojrj" cloneof="eccojr">
12441219      <description>Ecco Jr. and the Great Ocean Treasure Hunt! (Jpn)</description>
12451220      <year>1995</year>
r243756r243757
24192394      </part>
24202395   </software>
24212396
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
24352397   <software name="magiccraf" cloneof="magiccra">
24362398      <description>Crayons Magiques (Fra)</description>
24372399      <year>1994</year>
r243756r243757
26542616      </part>
26552617   </software>
26562618
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
26702619   <software name="mickblstf" cloneof="mickblst" supported="no">
26712620      <description>Mickey - Fait un Voyage Eclair Dans Le Passé (Fra)</description>
26722621      <year>1994</year>
r243756r243757
31583107      </part>
31593108   </software>
31603109
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
31773110   <software name="pecola">
31783111      <description>Pecola no Daibouken Maboroshi no Ice Cream wo Sagase! (Jpn)</description>
31793112      <year>1998</year>
r243756r243757
40744007   </software>
40754008
40764009   <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">
40934010      <description>Soreike! Anpanman no Medalympic World 2 (Jpn)</description>
40944011      <year>199?</year>
40954012      <publisher>Bandai</publisher>
r243756r243757
42934210      </part>
42944211   </software>
42954212
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
43124213<!-- The game was re-released in 2003 for the Pico 10th Anniversary. The ROM content is the same, but the PCB is different. -->
43134214   <software name="tokyodtt">
43144215      <description>Tokyo Disneyland Toon Town - Mickey no Boku wa Untenshu (Jpn)</description>
r243756r243757
45614462   </software>
45624463
45634464   <software name="yukaimp">
4564      <description>Yukai na Mori no Paketto (Jpn)</description>
4465      <description>Yukai na Mori no Packet (Jpn)</description>
45654466      <year>1995</year>
45664467      <publisher>Sega</publisher>
45674468      <info name="serial" value="HPC-6034"/>
trunk/hash/tutor.xml
r243756r243757
1515005E Frogger ~ フロッガー    [dumped]
1616006E Scramble ~ スクランブル  [dumped]
1717007E NightFlight ~ ナイトフライト  [dumped]
18008E Marine Adventure ~ マリン アドベンチャー    [dumped]
18008E Marine Adventure ~ マリン アドベンチャー
1919009E Mission Attack ~ ミッション アタック    [dumped]
2020010E Traffic Jam ~ トラフィック ジャム
2121011E Mystery Gold ~ ミステリー ゴールド
r243756r243757
131131      </part>
132132   </software>
133133
134   <software name="deepsix" cloneof="marinadv">
134   <software name="deepsix">
135   <!-- Stock No: 8106, Clone of Marine Adventure (Japanese 008E)-->
135136      <description>Deep Six (USA)</description>
136137      <year>1983</year>
137138      <publisher>Tomy</publisher>
r243756r243757
206207      </part>
207208   </software>
208209
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
222210   <software name="athland">
223211      <description>Mickey Athletic Land (Jpn)</description>
224212      <year>198?</year>
trunk/makefile
r243756r243757
935935
936936ifndef EXECUTABLE_DEFINED
937937
938ifeq ($(BUSES),)
939LIBBUS =
940endif
941
942938EMULATOROBJLIST = $(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)
943939
944940ifeq ($(TARGETOS),emscripten)
trunk/src/emu/bus/bus.mak
r243756r243757
13711371BUSOBJS += $(BUSOBJ)/cpc/symbfac2.o
13721372BUSOBJS += $(BUSOBJ)/cpc/amdrum.o
13731373BUSOBJS += $(BUSOBJ)/cpc/playcity.o
1374BUSOBJS += $(BUSOBJ)/cpc/smartwatch.o
13751374endif
13761375
13771376#-------------------------------------------------
trunk/src/emu/bus/cpc/smartwatch.c
r243756r243757
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
r243756r243757
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
r243756r243757
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//**************************************************************************
205270//  RENDER PRIMITIVE
206271//**************************************************************************
207272
r243756r243757
212277
213278void render_primitive::reset()
214279{
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
215304   // do not clear m_next!
216   memset(&type, 0, FPTR(&texcoords + 1) - FPTR(&type));
305   // memset(&type, 0, FPTR(&texcoords + 1) - FPTR(&type));
217306}
218307
219308
r243756r243757
467556      texinfo.rowpixels = m_bitmap->rowpixels();
468557      texinfo.width = swidth;
469558      texinfo.height = sheight;
470      // palette will be set later
559      // will be set later
560      texinfo.set_palette(NULL);
471561      texinfo.seqid = ++m_curseq;
472562   }
473563   else
r243756r243757
521611      texinfo.rowpixels = scaled->bitmap->rowpixels();
522612      texinfo.width = dwidth;
523613      texinfo.height = dheight;
524      // palette will be set later
614      // will be set later
615      texinfo.set_palette(NULL);
525616      texinfo.seqid = scaled->seqid;
526617   }
527618}
r243756r243757
532623//  palette for a texture
533624//-------------------------------------------------
534625
535const rgb_t *render_texture::get_adjusted_palette(render_container &container)
626const dynamic_array<rgb_t> *render_texture::get_adjusted_palette(render_container &container)
536627{
537628   // override the palette with our adjusted palette
538629   switch (m_format)
r243756r243757
542633
543634         assert(m_bitmap->palette() != NULL);
544635
545         // return our adjusted palette
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
546641         return container.bcg_lookup_table(m_format, m_bitmap->palette());
547642
548643      case TEXFORMAT_RGB32:
r243756r243757
576671      m_manager(manager),
577672      m_screen(screen),
578673      m_overlaybitmap(NULL),
579      m_overlaytexture(NULL)
674      m_overlaytexture(NULL),
675      m_bcglookup256(0x400)
580676{
581677   // make sure it is empty
582678   empty();
r243756r243757
589685      m_user.m_brightness = manager.machine().options().brightness();
590686      m_user.m_contrast = manager.machine().options().contrast();
591687      m_user.m_gamma = manager.machine().options().gamma();
592      // palette client will be allocated later
688      // can't allocate palette client yet since palette and screen devices aren't started yet
593689   }
594690
595691   recompute_lookups();
r243756r243757
716812//  given texture mode
717813//-------------------------------------------------
718814
719const rgb_t *render_container::bcg_lookup_table(int texformat, palette_t *palette)
815const dynamic_array<rgb_t> *render_container::bcg_lookup_table(int texformat, palette_t *palette)
720816{
721817   switch (texformat)
722818   {
r243756r243757
724820      case TEXFORMAT_PALETTEA16:
725821         if (m_palclient == NULL) // if adjusted palette hasn't been created yet, create it
726822         {
823            assert(palette == m_screen->palette()->palette());
727824            m_palclient.reset(global_alloc(palette_client(*palette)));
728825            m_bcglookup.resize(palette->max_index());
729826            recompute_lookups();
730827         }
731828         assert (palette == &m_palclient->palette());
732         return m_bcglookup;
829         return &m_bcglookup;
733830
734831      case TEXFORMAT_RGB32:
735832      case TEXFORMAT_ARGB32:
736833      case TEXFORMAT_YUY16:
737         return m_bcglookup256;
834         return &m_bcglookup256;
738835
739836      default:
740837         return NULL;
r243756r243757
819916      const rgb_t *adjusted_palette = palette.entry_list_adjusted();
820917      int colors = palette.max_index();
821918
822      if (has_brightness_contrast_gamma_changes())
919      for (int i = 0; i < colors; i++)
823920      {
824         for (int i = 0; i < colors; i++)
825         {
826            rgb_t newval = adjusted_palette[i];
827            m_bcglookup[i] = (newval & 0xff000000) |
921         rgb_t newval = adjusted_palette[i];
922         m_bcglookup[i] = (newval & 0xff000000) |
828923                              m_bcglookup256[0x200 + newval.r()] |
829924                              m_bcglookup256[0x100 + newval.g()] |
830925                              m_bcglookup256[0x000 + newval.b()];
831         }
832926      }
833      else
834         memcpy(&m_bcglookup[0], adjusted_palette, colors * sizeof(rgb_t));
835927   }
836928}
837929
r243756r243757
857949      palette_t &palette = m_palclient->palette();
858950      const rgb_t *adjusted_palette = palette.entry_list_adjusted();
859951
860      if (has_brightness_contrast_gamma_changes())
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++)
861954      {
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)
955         UINT32 dirtybits = dirty[entry32];
956         if (dirtybits != 0)
867957
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) |
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) |
875965                                          m_bcglookup256[0x200 + newval.r()] |
876966                                          m_bcglookup256[0x100 + newval.g()] |
877967                                          m_bcglookup256[0x000 + newval.b()];
878                  }
879         }
968               }
880969      }
881      else
882         memcpy(&m_bcglookup[mindirty], &adjusted_palette[mindirty], (maxdirty - mindirty + 1) * sizeof(rgb_t));
883970   }
884971}
885972
r243756r243757
17341821               height = MIN(height, m_maxtexheight);
17351822
17361823               curitem->texture()->get_scaled(width, height, prim->texture, list);
1737
17381824               // 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
17391829               prim->texture.palette = curitem->texture()->get_adjusted_palette(container);
1830#endif
17401831
17411832               // determine UV coordinates and apply clipping
17421833               prim->texcoords = oriented_texcoords[finalorient];
trunk/src/emu/render.h
r243756r243757
209209
210210
211211// render_texinfo - texture information
212struct render_texinfo
212
213
214struct render_palette_copy
213215{
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
214237   void *              base;               // base of the data
215238   UINT32              rowpixels;          // pixels per row
216239   UINT32              width;              // width of the image
217240   UINT32              height;             // height of the image
218241   UINT32              seqid;              // sequence ID
219242   UINT64              osddata;            // aux data to pass to osd
220   const rgb_t *       palette;            // palette for PALETTE16 textures, bcg lookup table for RGB32/YUY16
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
221252};
222253
223254
r243756r243757
434465private:
435466   // internal helpers
436467   void get_scaled(UINT32 dwidth, UINT32 dheight, render_texinfo &texinfo, render_primitive_list &primlist);
437   const rgb_t *get_adjusted_palette(render_container &container);
468   const dynamic_array<rgb_t> *get_adjusted_palette(render_container &container);
438469
439470   static const int MAX_TEXTURE_SCALES = 8;
440471
r243756r243757
524555   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); }
525556   UINT8 apply_brightness_contrast_gamma(UINT8 value);
526557   float apply_brightness_contrast_gamma_fp(float value);
527   const rgb_t *bcg_lookup_table(int texformat, palette_t *palette = NULL);
558   const dynamic_array<rgb_t> *bcg_lookup_table(int texformat, palette_t *palette = NULL);
528559
529560private:
530561   // an item describes a high level primitive that is added to a container
r243756r243757
575606   bitmap_argb32 *         m_overlaybitmap;        // overlay bitmap
576607   render_texture *        m_overlaytexture;       // overlay texture
577608   auto_pointer<palette_client> m_palclient;       // client to the screen palette
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
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
580611};
581612
582613
trunk/src/emu/rendersw.inc
r243756r243757
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;
r243756r243757
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;
r243756r243757
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))
r243756r243757
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))
r243756r243757
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))
r243756r243757
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;
r243756r243757
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;
r243756r243757
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;
r243756r243757
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;
r243756r243757
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;
r243756r243757
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/formats/ap2_dsk.c
r243756r243757
15451545
15461546int a2_edd_format::identify(io_generic *io, UINT32 form_factor)
15471547{
1548   return io_generic_size(io) == 2244608 ? 50 : 0;
1548   return ((io_generic_size(io) == 2244608) || (io_generic_size(io) == 2310144)) ? 50 : 0;
15491549}
15501550
15511551UINT8 a2_edd_format::pick(const UINT8 *data, int pos)
trunk/src/lib/util/palette.h
r243756r243757
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; }
173174   const rgb_t *entry_list_adjusted() const { return m_adjusted_color; }
174175   const rgb_t *entry_list_adjusted_rgb15() const { return m_adjusted_rgb15; }
175176
trunk/src/mame/drivers/chihiro.c
r243756r243757
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 |
r243756r243757
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 |
r243756r243757
19061906PIC
19071907253-5508-0348
19081908317-0348-com
1909BFN.BIN
1910a8 0b f8 f2 b9 20 b9 97
19091911*/
19101912ROM_START( hotd3 )
19111913   CHIHIRO_BIOS
r243756r243757
19651967
19661968PIC
19671969255-5508-354
1968317-0354-COM
1970317-054-COM
19691971*/
19701972ROM_START( vcop3 )
19711973   CHIHIRO_BIOS
r243756r243757
19811983   CHIHIRO_BIOS
19821984
19831985   DISK_REGION( "gdrom" )
1984   DISK_IMAGE_READONLY( "gdx-0004a", 0, SHA1(055a13a5dc4f54e6b6bdf5ce29dbda14cc9741d7) )
1986   DISK_IMAGE_READONLY( "gdx-0004a", 0, BAD_DUMP SHA1(27acd2d0680e6bafa0d052f60b4372adc37224fd) )
19851987
19861988   ROM_REGION( 0x50, "pic", ROMREGION_ERASE)
19871989   ROM_LOAD("317-0372-com.data", 0x00, 0x50, CRC(a15c9666) SHA1(fd36c524744acb33e579ccb257c71375a5d3af67) )
r243756r243757
19971999   ROM_LOAD("317-0374-jpn.data", 0x00, 0x50, NO_DUMP )
19982000ROM_END
19992001
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
20102002/*
20112003Title             MJ2
20122004Media ID          3580
r243756r243757
20472039   CHIHIRO_BIOS
20482040
20492041   DISK_REGION( "gdrom" )
2050   DISK_IMAGE_READONLY( "gdx-0009b", 0, SHA1(6fcbebb95b53eaabbc5da6ee08fbe15c2922b8d4) )
2042   DISK_IMAGE_READONLY( "gdx-0009b", 0, BAD_DUMP SHA1(e032b9fd8d5d09255592f02f7531a608e8179c9c) )
20512043
20522044   ROM_REGION( 0x50, "pic", ROMREGION_ERASE)
20532045   ROM_LOAD("317-5101-com.data", 0x00, 0x50, CRC(3af801f3) SHA1(e9a2558930f3f1f55d5b3c2cadad69329d931f26) )
20542046ROM_END
20552047
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
20662048/*
20672049Title             GHOST SQUAD
20682050Media ID          004F
r243756r243757
21742156track01.bin           150        8740    20206032
21752157track02.raw          8891       10242     3179904
21762158track03.bin         45150      549299  1185760800
2159
2160PIC16C621A ()
2161Sticker: 235-5508-0567
2162VER0001, TEST_OK, BRN.BIN, '70 1F 71 1F' D96446469BDCE9C1
21772163*/
21782164ROM_START( ccfboxa )
21792165   CHIHIRO_BIOS
r243756r243757
21812167   DISK_REGION( "gdrom" )
21822168   DISK_IMAGE_READONLY( "gdx-0024a", 0, SHA1(79d8c0faeec7cf6882f014760b8af938800b7e52) )
21832169
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) )
2170   ROM_REGION( 0x50, "pic", ROMREGION_ERASE)
2171   ROM_LOAD("317-0567-exp.data", 0x00, 0x50, NO_DUMP )
21882172ROM_END
21892173
21902174
r243756r243757
22072191/* 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 )
22082192// 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 )
22092193// 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 )
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 )
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 )
22112195/* 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 )
22122196/* 0007  */ GAME( 2004, ollie,    chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega / Amusement Vision",  "Ollie King (GDX-0007)", GAME_NO_SOUND|GAME_NOT_WORKING )
22132197// 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 )
r243756r243757
22182202/* 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 )
22192203// 0010
22202204// 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 )
2221/* 0012  */ GAME( 2004, ghostsqo, ghostsqu, chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Ghost Squad (GDX-0012)", GAME_NO_SOUND|GAME_NOT_WORKING )
2205// 0012    GAME( 2004, ghostsqo, ghostsqu, chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Ghost Squad (GDX-0012)", GAME_NO_SOUND|GAME_NOT_WORKING )
22222206/* 0012A */ GAME( 2004, ghostsqu, chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Sega",                     "Ghost Squad (Rev A) (GDX-0012A)", GAME_NO_SOUND|GAME_NOT_WORKING )
22232207/* 0013  */ GAME( 2005, gundamos, chihiro,  chihirogd,    chihiro, driver_device, 0, ROT0, "Banpresto",                "Gundam Battle Operating Simulator (GDX-0013)", GAME_NO_SOUND|GAME_NOT_WORKING )
22242208// 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
r243756r243757
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
503477Communication Board
504478
505479TOURNAMENT CAPCOM 93656D-3
trunk/src/mame/drivers/namcos2.c
r243756r243757
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!", GAME_REQUIRES_ARTWORK )
5568GAME( 1990, gollygho,   0,        gollygho, gollygho, namcos2_state, gollygho, ROT180, "Namco", "Golly! Ghost!", 0 )
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 )
r243756r243757
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_REQUIRES_ARTWORK )
5582GAME( 1992, bubbletr,   0,        gollygho, bubbletr, namcos2_state, bubbletr, ROT180, "Namco", "Bubble Trouble (Japan, Rev C)", GAME_IMPERFECT_GRAPHICS )  /* missing external 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 )
r243756r243757
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
r243756r243757
551551static INPUT_PORTS_START( opwolf )
552552   /* 0x380000 -> 0x0ff028 (-$fd8,A5) (C-chip) */
553553   PORT_START("DSWA")
554   PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:1" )
555   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:2")
554   PORT_DIPUNUSED( 0x01, IP_ACTIVE_LOW )
555   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) )
556556   PORT_DIPSETTING(    0x02, DEF_STR( No ) )
557557   PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
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)
558   TAITO_DSWA_BITS_2_TO_3
559   TAITO_COINAGE_WORLD
563560
564561   /* 0x380002 -> 0x0ff02a (-$fd6,A5) (C-chip) */
565562   PORT_START("DSWB")
566   TAITO_DIFFICULTY_LOC(SW2)
567   PORT_DIPNAME( 0x0c, 0x0c, "Ammo Magazines at Start" ) PORT_DIPLOCATION("SW2:3,4")
563   TAITO_DIFFICULTY
564   PORT_DIPNAME( 0x0c, 0x0c, "Ammo Magazines at Start" )
568565   PORT_DIPSETTING(    0x00, "4" )
569566   PORT_DIPSETTING(    0x04, "5" )
570567   PORT_DIPSETTING(    0x0c, "6" )
571568   PORT_DIPSETTING(    0x08, "7" )
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")
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 ) )
578573   PORT_DIPSETTING(    0x80, DEF_STR( Japanese ) )
579574   PORT_DIPSETTING(    0x00, DEF_STR( English ) )
580575
trunk/src/mame/drivers/retofinv.c
r243756r243757
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}
6138
6239WRITE8_MEMBER(retofinv_state::cpu1_reset_w)
6340{
r243756r243757
12299   AM_RANGE(0x7fff, 0x7fff) AM_WRITE(coincounter_w)
123100   AM_RANGE(0x7b00, 0x7bff) AM_ROM /* space for diagnostic ROM? The code looks */
124101                           /* for a string here, and jumps if it's present */
125   AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
102   AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(retofinv_fg_videoram_w) AM_SHARE("fg_videoram")
126103   AM_RANGE(0x8800, 0x9fff) AM_RAM AM_SHARE("sharedram")
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)
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)
129106   AM_RANGE(0xc000, 0xc000) AM_READ_PORT("P1")
130107   AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P2")
131108   AM_RANGE(0xc002, 0xc002) AM_READNOP /* bit 7 must be 0, otherwise game resets */
132   AM_RANGE(0xc003, 0xc003) AM_READ(mcu_status_r)
109   AM_RANGE(0xc003, 0xc003) AM_READ(retofinv_mcu_status_r)
133110   AM_RANGE(0xc004, 0xc004) AM_READ_PORT("SYSTEM")
134111   AM_RANGE(0xc005, 0xc005) AM_READ_PORT("DSW1")
135112   AM_RANGE(0xc006, 0xc006) AM_READ_PORT("DSW2")
r243756r243757
142119   AM_RANGE(0xc805, 0xc805) AM_WRITE(cpu1_reset_w)
143120   AM_RANGE(0xd000, 0xd000) AM_WRITE(watchdog_reset_w)
144121   AM_RANGE(0xd800, 0xd800) AM_WRITE(soundcommand_w)
145   AM_RANGE(0xe000, 0xe000) AM_READ(mcu_r)
146   AM_RANGE(0xe800, 0xe800) AM_WRITE(mcu_w)
122   AM_RANGE(0xe000, 0xe000) AM_READ(retofinv_mcu_r)
123   AM_RANGE(0xe800, 0xe800) AM_WRITE(retofinv_mcu_w)
147124   AM_RANGE(0xf800, 0xf800) AM_READ(cpu0_mf800_r)
148125ADDRESS_MAP_END
149126
150127static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, retofinv_state )
151128   AM_RANGE(0x0000, 0x1fff) AM_ROM
152   AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
129   AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(retofinv_fg_videoram_w) AM_SHARE("fg_videoram")
153130   AM_RANGE(0x8800, 0x9fff) AM_RAM AM_SHARE("sharedram")
154   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
131   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(retofinv_bg_videoram_w) AM_SHARE("bg_videoram")
155132   AM_RANGE(0xc804, 0xc804) AM_WRITE(irq1_ack_w)
156133ADDRESS_MAP_END
157134
r243756r243757
167144
168145static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, retofinv_state )
169146   ADDRESS_MAP_GLOBAL_MASK(0x7ff)
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)
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)
176153   AM_RANGE(0x0010, 0x007f) AM_RAM
177154   AM_RANGE(0x0080, 0x07ff) AM_ROM
178155ADDRESS_MAP_END
r243756r243757
390367   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
391368   MCFG_SCREEN_SIZE(36*8, 28*8)
392369   MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
393   MCFG_SCREEN_UPDATE_DRIVER(retofinv_state, screen_update)
370   MCFG_SCREEN_UPDATE_DRIVER(retofinv_state, screen_update_retofinv)
394371   MCFG_SCREEN_PALETTE("palette")
395372
396373   MCFG_GFXDECODE_ADD("gfxdecode", "palette", retofinv)
r243756r243757
524501
525502
526503
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 )
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 )
trunk/src/mame/drivers/segaorun.c
r243756r243757
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
r243756r243757
8686   m_irq_mask = data & 1;
8787
8888   /* bit 1 flips screen */
89   flip_screen_set(data & 2);
9089
9190   /* bit 2 resets the microcontroller */
9291   if (((m_portb & 4) == 0) && (data & 4))
trunk/src/mame/drivers/speedatk.c
r243756r243757
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)
1011 - It's possible that there is only one coin chute and not two,needs a real board to know
1112   more about it.
1213
r243756r243757
7879#include "emu.h"
7980#include "cpu/z80/z80.h"
8081#include "sound/ay8910.h"
82#include "video/mc6845.h"
8183#include "includes/speedatk.h"
8284
8385#define MASTER_CLOCK XTAL_12MHz
8486
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
9387UINT8 speedatk_state::iox_key_matrix_calc(UINT8 p_side)
9488{
9589   static const char *const keynames[] = { "P1_ROW0", "P1_ROW1", "P2_ROW0", "P2_ROW1" };
r243756r243757
181175   AM_RANGE(0x8000, 0x8000) AM_READWRITE(key_matrix_r,key_matrix_w)
182176   AM_RANGE(0x8001, 0x8001) AM_READWRITE(key_matrix_status_r,key_matrix_status_w)
183177   AM_RANGE(0x8800, 0x8fff) AM_RAM
184   AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_SHARE("videoram")
185   AM_RANGE(0xb000, 0xb3ff) AM_RAM AM_SHARE("colorram")
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")
186180ADDRESS_MAP_END
187181
188182
189183static ADDRESS_MAP_START( speedatk_io, AS_IO, 8, speedatk_state )
190184   ADDRESS_MAP_GLOBAL_MASK(0xff)
191   AM_RANGE(0x00, 0x01) AM_WRITE(m6845_w) //h46505 address / data routing
185   AM_RANGE(0x00, 0x01) AM_WRITE(speedatk_6845_w) //h46505 address / data routing
192186   AM_RANGE(0x24, 0x24) AM_WRITE(watchdog_reset_w)
193187   AM_RANGE(0x40, 0x40) AM_DEVREAD("aysnd", ay8910_device, data_r)
194188   AM_RANGE(0x40, 0x41) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
r243756r243757
291285   GFXDECODE_ENTRY( "gfx2", 0, charlayout_3bpp,   0, 32 )
292286GFXDECODE_END
293287
294WRITE8_MEMBER(speedatk_state::output_w)
288WRITE8_MEMBER(speedatk_state::speedatk_output_w)
295289{
296290   m_flip_scr = data & 0x80;
297291
r243756r243757
314308   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
315309   MCFG_SCREEN_SIZE(320, 256)
316310   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
317   MCFG_SCREEN_UPDATE_DRIVER(speedatk_state, screen_update)
311   MCFG_SCREEN_UPDATE_DRIVER(speedatk_state, screen_update_speedatk)
318312   MCFG_SCREEN_PALETTE("palette")
319313
320314   MCFG_MC6845_ADD("crtc", H46505, "screen", MASTER_CLOCK/16)   /* hand tuned to get ~60 fps */
r243756r243757
331325
332326   MCFG_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/4) //divider is unknown
333327   MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW"))
334   MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(speedatk_state, output_w))
328   MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(speedatk_state, speedatk_output_w))
335329   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
336330MACHINE_CONFIG_END
337331
r243756r243757
356350   ROM_LOAD( "cb2.bpr",      0x0020, 0x0100, CRC(a604cf96) SHA1(a4ef6e77dcd3abe4c27e8e636222a5ee711a51f5) ) /* lookup table */
357351ROM_END
358352
359GAME( 1984, speedatk, 0, speedatk, speedatk, driver_device, 0, ROT0, "Seta Kikaku Corp.", "Speed Attack! (Japan)", GAME_SUPPORTS_SAVE )
353GAME( 1984, speedatk, 0, speedatk, speedatk, driver_device, 0, ROT0, "Seta Kikaku Corp.", "Speed Attack! (Japan)", 0 )
trunk/src/mame/drivers/thedeep.c
r243756r243757
3838***************************************************************************/
3939
4040
41WRITE8_MEMBER(thedeep_state::nmi_w)
41WRITE8_MEMBER(thedeep_state::thedeep_nmi_w)
4242{
4343   m_nmi_enable = data;
4444}
4545
46WRITE8_MEMBER(thedeep_state::sound_w)
46WRITE8_MEMBER(thedeep_state::thedeep_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}
6252
6353void thedeep_state::machine_reset()
6454{
65   membank("bank1")->set_entry(0);
55   membank("bank1")->set_base(memregion("maincpu")->base() + 0x10000 + 0 * 0x4000);
6656   m_scroll[0] = 0;
6757   m_scroll[1] = 0;
6858   m_scroll[2] = 0;
r243756r243757
7060   m_protection_command = 0;
7161   m_protection_index = -1;
7262   m_protection_irq = 0;
63   m_rombank = -1;
7364}
7465
75WRITE8_MEMBER(thedeep_state::protection_w)
66WRITE8_MEMBER(thedeep_state::thedeep_protection_w)
7667{
7768   m_protection_command = data;
7869   switch (m_protection_command)
r243756r243757
8980      case 0x31:
9081      case 0x32:
9182      case 0x33:
92         membank("bank1")->set_entry(m_protection_command & 3);
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      }
9392      break;
9493
9594      case 0x59:
r243756r243757
127126   }
128127}
129128
130READ8_MEMBER(thedeep_state::e004_r)
129READ8_MEMBER(thedeep_state::thedeep_e004_r)
131130{
132131   return m_protection_irq ? 1 : 0;
133132}
134133
135READ8_MEMBER(thedeep_state::protection_r)
134READ8_MEMBER(thedeep_state::thedeep_protection_r)
136135{
137136   m_protection_irq = 0;
138137   return m_protection_data;
139138}
140139
141WRITE8_MEMBER(thedeep_state::e100_w)
140WRITE8_MEMBER(thedeep_state::thedeep_e100_w)
142141{
143142   if (data != 1)
144143      logerror("pc %04x: e100 = %02x\n", space.device().safe_pc(),data);
r243756r243757
149148   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")    // ROM (banked)
150149   AM_RANGE(0xc000, 0xcfff) AM_RAM
151150   AM_RANGE(0xd000, 0xdfff) AM_RAM                             // RAM (MCU data copied here)
152   AM_RANGE(0xe000, 0xe000) AM_READWRITE(protection_r, protection_w)   // To MCU
153   AM_RANGE(0xe004, 0xe004) AM_READWRITE(e004_r, nmi_w)    //
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)    //
154153   AM_RANGE(0xe008, 0xe008) AM_READ_PORT("e008")           // P1 (Inputs)
155154   AM_RANGE(0xe009, 0xe009) AM_READ_PORT("e009")           // P2
156155   AM_RANGE(0xe00a, 0xe00a) AM_READ_PORT("e00a")           // DSW1
157156   AM_RANGE(0xe00b, 0xe00b) AM_READ_PORT("e00b")           // DSW2
158   AM_RANGE(0xe00c, 0xe00c) AM_WRITE(sound_w)  // To Sound CPU
159   AM_RANGE(0xe100, 0xe100) AM_WRITE(e100_w)   // ?
157   AM_RANGE(0xe00c, 0xe00c) AM_WRITE(thedeep_sound_w)  // To Sound CPU
158   AM_RANGE(0xe100, 0xe100) AM_WRITE(thedeep_e100_w)   // ?
160159   AM_RANGE(0xe210, 0xe213) AM_WRITEONLY AM_SHARE("scroll")    // Scroll
161160   AM_RANGE(0xe400, 0xe7ff) AM_RAM AM_SHARE("spriteram")   // Sprites
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
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
164163   AM_RANGE(0xf800, 0xf83f) AM_RAM AM_SHARE("scroll2") // Column Scroll
165164   AM_RANGE(0xf840, 0xffff) AM_RAM
166165ADDRESS_MAP_END
r243756r243757
186185
187186***************************************************************************/
188187
189WRITE8_MEMBER(thedeep_state::p1_w)
188void thedeep_state::thedeep_maincpu_bankswitch(UINT8 bank_trig)
190189{
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{
191203   flip_screen_set((data & 1) ^ 1);
192   membank("bank1")->set_entry((data & 6) >> 1);
204   thedeep_maincpu_bankswitch((data & 6) >> 1);
193205   logerror("P1 %02x\n",data);
194206}
195207
196READ8_MEMBER(thedeep_state::from_main_r)
208READ8_MEMBER(thedeep_state::thedeep_from_main_r)
197209{
198210   static UINT8 res;
199211
r243756r243757
203215   return 0x20;
204216}
205217
206WRITE8_MEMBER(thedeep_state::to_main_w)
218WRITE8_MEMBER(thedeep_state::thedeep_to_main_w)
207219{
208220   // ...
209221}
210222
211WRITE8_MEMBER(thedeep_state::p3_w)
223WRITE8_MEMBER(thedeep_state::thedeep_p3_w)
212224{
213225   /* bit 0 0->1 transition IRQ0 to main */
214226   if((!(m_mcu_p3_reg & 0x01)) && data & 0x01)
r243756r243757
226238   logerror("P3 %02x\n",data);
227239}
228240
229READ8_MEMBER(thedeep_state::p0_r)
241READ8_MEMBER(thedeep_state::thedeep_p0_r)
230242{
231243   UINT8 coin_mux;
232244
r243756r243757
237249
238250static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, thedeep_state )
239251   ADDRESS_MAP_UNMAP_HIGH
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)
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)
244256ADDRESS_MAP_END
245257
246258
r243756r243757
370382
371383***************************************************************************/
372384
373TIMER_DEVICE_CALLBACK_MEMBER(thedeep_state::interrupt)
385WRITE_LINE_MEMBER(thedeep_state::irqhandler)
374386{
387   m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
388}
389
390TIMER_DEVICE_CALLBACK_MEMBER(thedeep_state::thedeep_interrupt)
391{
375392   int scanline = param;
376393
377394   if (scanline == 124) // TODO: clean this
r243756r243757
400417   }
401418}
402419
403INTERRUPT_GEN_MEMBER(thedeep_state::mcu_irq)
420INTERRUPT_GEN_MEMBER(thedeep_state::thedeep_mcu_irq)
404421{
405422   m_mcu->set_input_line(MCS51_INT1_LINE, ASSERT_LINE);
406423}
r243756r243757
410427   /* basic machine hardware */
411428   MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)      /* verified on pcb */
412429   MCFG_CPU_PROGRAM_MAP(main_map)
413   MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", thedeep_state, interrupt, "screen", 0, 1)
430   MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", thedeep_state, thedeep_interrupt, "screen", 0, 1)
414431
415432   MCFG_CPU_ADD("audiocpu", M65C02, XTAL_12MHz/8)      /* verified on pcb */
416433   MCFG_CPU_PROGRAM_MAP(audio_map)
r243756r243757
419436   /* MCU is a i8751 running at 8Mhz (8mhz xtal)*/
420437   MCFG_CPU_ADD("mcu", I8751, XTAL_8MHz)
421438   MCFG_CPU_IO_MAP(mcu_io_map)
422   MCFG_CPU_VBLANK_INT_DRIVER("screen", thedeep_state, mcu_irq) // unknown source, but presumably vblank
439   MCFG_CPU_VBLANK_INT_DRIVER("screen", thedeep_state, thedeep_mcu_irq) // unknown source, but presumably vblank
423440   MCFG_DEVICE_DISABLE()
424441
425442
r243756r243757
429446   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
430447   MCFG_SCREEN_SIZE(0x100, 0xf8)
431448   MCFG_SCREEN_VISIBLE_AREA(0, 0x100-1, 0, 0xf8-1)
432   MCFG_SCREEN_UPDATE_DRIVER(thedeep_state, screen_update)
449   MCFG_SCREEN_UPDATE_DRIVER(thedeep_state, screen_update_thedeep)
433450   MCFG_SCREEN_PALETTE("palette")
434451
435452   MCFG_GFXDECODE_ADD("gfxdecode", "palette", thedeep)
r243756r243757
441458   MCFG_SPEAKER_STANDARD_MONO("mono")
442459
443460   MCFG_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/4)  /* verified on pcb */
444   MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
461   MCFG_YM2203_IRQ_HANDLER(WRITELINE(thedeep_state, irqhandler))
445462   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
446463MACHINE_CONFIG_END
447464
r243756r243757
457474
458475Here are the proms for The Deep!
459476NOTE: This game is Vertical.
460I couldn't test this board so I don't know the manufacturer, sorry.
477I couldn't test this board so I don't know the manufakturer, sorry.
4614781 Z80
4624791 R6502
4634801 YM 2203
r243756r243757
536553   ROM_LOAD( "fi-3", 0x400, 0x200, CRC(f61a9686) SHA1(24082f60b72268d240ceca6999bdf18872625cd2) )
537554ROM_END
538555
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 )
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 )
trunk/src/mame/drivers/triforce.c
r243756r243757
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       |              |               |
6261| | 2004 | Virtua Striker 4 (Japan)                                        | Sega                                | GDROM | GDT-0013       | 317-0391-JPN |               |
6362| | 2004 | Virtua Striker 4 (Japan) (Rev A)                                | Sega                                | GDROM | GDT-0013A      | 317-0391-JPN |               |
6463| | 2004 | Virtua Striker 4 (Japan) (Rev B)                                | Sega                                | GDROM | GDT-0013B      | 317-0391-JPN |               |
6564| | 2004 | Virtua Striker 4 (Japan) (Rev C)                                | Sega                                | GDROM | GDT-0013C      | 317-0391-JPN |               |
6665| | 2004 | Virtua Striker 4 (Japan) (Rev D)                                | Sega                                | GDROM | GDT-0013D      | 317-0391-JPN |               |
6766|*| 2004 | Virtua Striker 4 (Japan) (Rev E)                                | Sega                                | GDROM | GDT-0013E      | 317-0391-JPN |               |
68| | 2004 | Virtua Striker 4 (Export)                                       | Sega                                | GDROM | GDT-0014       |              |               |
6967|*| 2004 | Virtua Striker 4 (Export)                                       | Sega                                | GDROM | GDT-0015       | 317-0393-EXP |               |
7068| | 2004 | The Key Of Avalon 2: Eutaxy Commandment (server)                | Sega / Hitmaker                     | GDROM | GDT-0016       |              |               |
7169| | 2004 | The Key Of Avalon 2: Eutaxy Commandment (client)                | Sega / Hitmaker                     | GDROM | GDT-0017       |              |               |
r243756r243757
7573| | 2005 | Donkey Kong Jungle Fever                                        | Namco / Nintendo                    | Cart  |                |              |               |
7674|*| 2005 | Mario Kart Arcade GP (MKA1 Ver.A1)                              | Namco / Nintendo                    | Cart  | 837-14343-4T1  | 317-5109-COM | 253-5509-5109 |
7775|*| 2005 | Mario Kart Arcade GP (MKA2 Ver.B)                               | Namco / Nintendo                    | Cart  | 837-14343-R4S0 | 317-5109-COM | 253-5509-5109 |
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 |                |              |               |
76| | 2005 | The Key Of Avalon 2.5: War of the Key                           | Sega / Hitmaker                     | GDROM |                |              |               |
8077| | 2006 | Virtua Striker 4 Ver.2006 (Japan)                               | Sega                                | GDROM | GDT-0020       |              |               |
8178| | 2006 | Virtua Striker 4 Ver.2006 (Japan) (Rev A)                       | Sega                                | GDROM | GDT-0020A      |              |               |
8279| | 2006 | Virtua Striker 4 Ver.2006 (Japan) (Rev B)                       | Sega                                | GDROM | GDT-0020B      |              |               |
trunk/src/mame/drivers/triplhnt.c
r243756r243757
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
711***************************************************************************/
812
913#include "emu.h"
r243756r243757
354358ROM_END
355359
356360
357GAME( 1977, triplhnt, 0, triplhnt, triplhnt, triplhnt_state, triplhnt, 0, "Atari", "Triple Hunt", GAME_REQUIRES_ARTWORK )
361GAME( 1977, triplhnt, 0, triplhnt, triplhnt, triplhnt_state, triplhnt, 0, "Atari", "Triple Hunt", 0 )
trunk/src/mame/includes/cps1.h
r243756r243757
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*/
2820#define CPS_PIXEL_CLOCK  (XTAL_16MHz/2)
2921
3022#define CPS_HTOTAL       (512)
trunk/src/mame/includes/retofinv.h
r243756r243757
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"),
69      m_maincpu(*this, "maincpu"),
710      m_audiocpu(*this, "audiocpu"),
811      m_subcpu(*this, "sub"),
912      m_68705(*this, "68705"),
1013      m_gfxdecode(*this, "gfxdecode"),
11      m_palette(*this, "palette"),
12      m_fg_videoram(*this, "fg_videoram"),
13      m_sharedram(*this, "sharedram"),
14      m_bg_videoram(*this, "bg_videoram") { }
14      m_palette(*this, "palette") { }
1515
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   
16   UINT8 m_cpu2_m6000;
2317   required_shared_ptr<UINT8> m_fg_videoram;
2418   required_shared_ptr<UINT8> m_sharedram;
2519   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;
3020   UINT8 m_from_main;
3121   UINT8 m_from_mcu;
3222   int m_mcu_sent;
r243756r243757
4535   tilemap_t *m_bg_tilemap;
4636   tilemap_t *m_fg_tilemap;
4737
38   UINT8 m_main_irq_mask;
39   UINT8 m_sub_irq_mask;
4840   DECLARE_WRITE8_MEMBER(cpu1_reset_w);
4941   DECLARE_WRITE8_MEMBER(cpu2_reset_w);
5042   DECLARE_WRITE8_MEMBER(mcu_reset_w);
r243756r243757
5547   DECLARE_WRITE8_MEMBER(irq1_ack_w);
5648   DECLARE_WRITE8_MEMBER(coincounter_w);
5749   DECLARE_WRITE8_MEMBER(coinlockout_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
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);
7465   TILEMAP_MAPPER_MEMBER(tilemap_scan);
7566   TILE_GET_INFO_MEMBER(bg_get_tile_info);
7667   TILE_GET_INFO_MEMBER(fg_get_tile_info);
77
78   virtual void machine_start();
7968   virtual void video_start();
8069   DECLARE_PALETTE_INIT(retofinv);
81   
82   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
83   void draw_sprites(bitmap_ind16 &bitmap);
84   
70   UINT32 screen_update_retofinv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
8571   INTERRUPT_GEN_MEMBER(main_vblank_irq);
8672   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;
8780};
trunk/src/mame/includes/speedatk.h
r243756r243757
1#include "video/mc6845.h"
2
31class speedatk_state : public driver_device
42{
53public:
64   speedatk_state(const machine_config &mconfig, device_type type, const char *tag)
75      : driver_device(mconfig, type, tag),
6      m_videoram(*this, "videoram"),
7      m_colorram(*this, "colorram"),
88      m_maincpu(*this, "maincpu"),
9      m_crtc(*this, "crtc"),
109      m_gfxdecode(*this, "gfxdecode"),
11      m_palette(*this, "palette"),
12      m_videoram(*this, "videoram"),
13      m_colorram(*this, "colorram") { }
10      m_palette(*this, "palette") { }
1411
15   required_device<cpu_device> m_maincpu;
16   required_device<h46505_device> m_crtc;
17   required_device<gfxdecode_device> m_gfxdecode;
18   required_device<palette_device> m_palette;
19
2012   required_shared_ptr<UINT8> m_videoram;
2113   required_shared_ptr<UINT8> m_colorram;
22   
2314   UINT8 m_crtc_vreg[0x100];
2415   UINT8 m_crtc_index;
2516   UINT8 m_flip_scr;
17
2618   UINT8 m_mux_data;
2719   UINT8 m_km_status;
2820   UINT8 m_coin_settings;
2921   UINT8 m_coin_impulse;
30   
3122   DECLARE_READ8_MEMBER(key_matrix_r);
3223   DECLARE_WRITE8_MEMBER(key_matrix_w);
3324   DECLARE_READ8_MEMBER(key_matrix_status_r);
3425   DECLARE_WRITE8_MEMBER(key_matrix_status_w);
35   DECLARE_WRITE8_MEMBER(videoram_w);
36   DECLARE_WRITE8_MEMBER(colorram_w);
37   DECLARE_WRITE8_MEMBER(m6845_w);
38   DECLARE_WRITE8_MEMBER(output_w);
39
40   virtual void machine_start();
26   DECLARE_WRITE8_MEMBER(speedatk_videoram_w);
27   DECLARE_WRITE8_MEMBER(speedatk_colorram_w);
28   DECLARE_WRITE8_MEMBER(speedatk_6845_w);
29   DECLARE_WRITE8_MEMBER(speedatk_output_w);
4130   virtual void video_start();
4231   DECLARE_PALETTE_INIT(speedatk);
43   
44   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
45   
32   UINT32 screen_update_speedatk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
4633   UINT8 iox_key_matrix_calc(UINT8 p_side);
34   required_device<cpu_device> m_maincpu;
35   required_device<gfxdecode_device> m_gfxdecode;
36   required_device<palette_device> m_palette;
4737};
trunk/src/mame/includes/thedeep.h
r243756r243757
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"),
116      m_spriteram(*this, "spriteram"),
127      m_vram_0(*this, "vram_0"),
138      m_vram_1(*this, "vram_1"),
149      m_scroll(*this, "scroll"),
15      m_scroll2(*this, "scroll2")  { }
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")  { }
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
2317   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   
2918   int m_nmi_enable;
3019   UINT8 m_protection_command;
3120   UINT8 m_protection_data;
3221   int m_protection_index;
3322   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;
3428   tilemap_t *m_tilemap_0;
3529   tilemap_t *m_tilemap_1;
3630   UINT8 m_mcu_p3_reg;
3731
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   
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);
5251   TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_back);
5352   TILE_GET_INFO_MEMBER(get_tile_info_0);
5453   TILE_GET_INFO_MEMBER(get_tile_info_1);
55
56   virtual void machine_start();
5754   virtual void machine_reset();
5855   virtual void video_start();
5956   DECLARE_PALETTE_INIT(thedeep);
60
61   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
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);
6260   void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
63   
64   INTERRUPT_GEN_MEMBER(mcu_irq);
65   TIMER_DEVICE_CALLBACK_MEMBER(interrupt);
61   void thedeep_maincpu_bankswitch(UINT8 bank_trig);
62   DECLARE_WRITE_LINE_MEMBER(irqhandler);
6663};
trunk/src/mame/machine/retofinv.c
r243756r243757
1010***************************************************************************/
1111
1212
13READ8_MEMBER(retofinv_state::mcu_portA_r)
13READ8_MEMBER(retofinv_state::retofinv_68705_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::mcu_portA_w)
19WRITE8_MEMBER(retofinv_state::retofinv_68705_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::mcu_ddrA_w)
25WRITE8_MEMBER(retofinv_state::retofinv_68705_ddrA_w)
2626{
2727   m_ddrA = data;
2828}
r243756r243757
3939 */
4040
4141
42READ8_MEMBER(retofinv_state::mcu_portB_r)
42READ8_MEMBER(retofinv_state::retofinv_68705_portB_r)
4343{
4444   return (m_portB_out & m_ddrB) | (m_portB_in & ~m_ddrB);
4545}
4646
47WRITE8_MEMBER(retofinv_state::mcu_portB_w)
47WRITE8_MEMBER(retofinv_state::retofinv_68705_portB_w)
4848{
4949//logerror("%04x: 68705 port B write %02x\n",space.device().safe_pc(),data);
5050
r243756r243757
6565   m_portB_out = data;
6666}
6767
68WRITE8_MEMBER(retofinv_state::mcu_ddrB_w)
68WRITE8_MEMBER(retofinv_state::retofinv_68705_ddrB_w)
6969{
7070   m_ddrB = data;
7171}
r243756r243757
8181 */
8282
8383
84READ8_MEMBER(retofinv_state::mcu_portC_r)
84READ8_MEMBER(retofinv_state::retofinv_68705_portC_r)
8585{
8686   m_portC_in = 0;
8787   if (m_main_sent) m_portC_in |= 0x01;
r243756r243757
9090   return (m_portC_out & m_ddrC) | (m_portC_in & ~m_ddrC);
9191}
9292
93WRITE8_MEMBER(retofinv_state::mcu_portC_w)
93WRITE8_MEMBER(retofinv_state::retofinv_68705_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::mcu_ddrC_w)
99WRITE8_MEMBER(retofinv_state::retofinv_68705_ddrC_w)
100100{
101101   m_ddrC = data;
102102}
103103
104104
105WRITE8_MEMBER(retofinv_state::mcu_w)
105WRITE8_MEMBER(retofinv_state::retofinv_mcu_w)
106106{
107107logerror("%04x: mcu_w %02x\n",space.device().safe_pc(),data);
108108   m_from_main = data;
r243756r243757
110110   m_68705->set_input_line(0, ASSERT_LINE);
111111}
112112
113READ8_MEMBER(retofinv_state::mcu_r)
113READ8_MEMBER(retofinv_state::retofinv_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::mcu_status_r)
120READ8_MEMBER(retofinv_state::retofinv_mcu_status_r)
121121{
122122   int res = 0;
123123
trunk/src/mame/mame.lst
r243756r243757
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
5683ghostsqo        // 2004.12 Ghost Squad
5683            // 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
r243756r243757
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)
5695mj2f            // 2005.02 Sega Network Taisen Mahjong MJ 2 (Rev F)
5695            // 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
r243756r243757
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));
109106}
110107
111108
r243756r243757
116113
117114***************************************************************************/
118115
119WRITE8_MEMBER(retofinv_state::bg_videoram_w)
116WRITE8_MEMBER(retofinv_state::retofinv_bg_videoram_w)
120117{
121118   m_bg_videoram[offset] = data;
122119   m_bg_tilemap->mark_tile_dirty(offset & 0x3ff);
123120}
124121
125WRITE8_MEMBER(retofinv_state::fg_videoram_w)
122WRITE8_MEMBER(retofinv_state::retofinv_fg_videoram_w)
126123{
127124   m_fg_videoram[offset] = data;
128125   m_fg_tilemap->mark_tile_dirty(offset & 0x3ff);
129126}
130127
131WRITE8_MEMBER(retofinv_state::gfx_ctrl_w)
128WRITE8_MEMBER(retofinv_state::retofinv_gfx_ctrl_w)
132129{
133130   switch (offset)
134131   {
r243756r243757
217214
218215
219216
220UINT32 retofinv_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
217UINT32 retofinv_state::screen_update_retofinv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
221218{
222219   m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0);
223220   draw_sprites(bitmap);
trunk/src/mame/video/speedatk.c
r243756r243757
55*****************************************************************************************/
66#include "emu.h"
77#include "includes/speedatk.h"
8#include "video/mc6845.h"
89
910
1011PALETTE_INIT_MEMBER(speedatk_state, speedatk)
r243756r243757
4950   }
5051}
5152
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
5263void speedatk_state::video_start()
5364{
54   save_item(NAME(m_crtc_vreg));
55   save_item(NAME(m_crtc_index));
56   save_item(NAME(m_flip_scr));
5765}
5866
59WRITE8_MEMBER(speedatk_state::m6845_w)
67WRITE8_MEMBER(speedatk_state::speedatk_6845_w)
6068{
6169   if(offset == 0)
6270   {
6371      m_crtc_index = data;
64      m_crtc->address_w(space,0,data);
72      machine().device<mc6845_device>("crtc")->address_w(space,0,data);
6573   }
6674   else
6775   {
6876      m_crtc_vreg[m_crtc_index] = data;
69      m_crtc->register_w(space,0,data);
77      machine().device<mc6845_device>("crtc")->register_w(space,0,data);
7078   }
7179}
7280
73UINT32 speedatk_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
81UINT32 speedatk_state::screen_update_speedatk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
7482{
7583   int x,y;
7684   int count;
trunk/src/mame/video/thedeep.c
r243756r243757
6363         0);
6464}
6565
66WRITE8_MEMBER(thedeep_state::vram_0_w)
66WRITE8_MEMBER(thedeep_state::thedeep_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::vram_1_w)
72WRITE8_MEMBER(thedeep_state::thedeep_vram_1_w)
7373{
7474   m_vram_1[offset] = data;
7575   m_tilemap_1->mark_tile_dirty(offset / 2);
r243756r243757
202202
203203***************************************************************************/
204204
205UINT32 thedeep_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
205UINT32 thedeep_state::screen_update_thedeep(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
r243756r243757
238238ROM_END
239239
240240
241CONS( 1984, alnchase, 0, 0, alnchase, alnchase, driver_device, 0, "Tomy", "Alien Chase", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
241CONS( 1984, alnchase, 0, 0, alnchase, alnchase, driver_device, 0, "Tomy", "Alien Chase", GAME_NOT_WORKING )
trunk/src/mess/drivers/amstrad.c
r243756r243757
804804   SLOT_INTERFACE("sf2", CPC_SYMBIFACE2)
805805   SLOT_INTERFACE("amdrum", CPC_AMDRUM)
806806   SLOT_INTERFACE("playcity", CPC_PLAYCITY)
807   SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH)
808807SLOT_INTERFACE_END
809808
810809SLOT_INTERFACE_START(cpcplus_exp_cards)
r243756r243757
817816   SLOT_INTERFACE("sf2", CPC_SYMBIFACE2)
818817   SLOT_INTERFACE("amdrum", CPC_AMDRUM)
819818   SLOT_INTERFACE("playcity", CPC_PLAYCITY)
820   SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH)
821819SLOT_INTERFACE_END
822820
823821SLOT_INTERFACE_START(amstrad_centronics_devices)
trunk/src/mess/drivers/edracula.c
r243756r243757
188188ROM_END
189189
190190
191CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
191CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula", GAME_SUPPORTS_SAVE )
trunk/src/mess/drivers/tmtennis.c
r243756r243757
257257ROM_END
258258
259259
260CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
260CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomytronic)", GAME_SUPPORTS_SAVE )
trunk/src/mess/drivers/wildfire.c
r243756r243757
316316ROM_END
317317
318318
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
319CONS( 1979, wildfire, 0, 0, wildfire, wildfire, driver_device, 0, "Parker Brothers", "Wildfire (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
trunk/src/mess/includes/amstrad.h
r243756r243757
2323#include "bus/cpc/symbfac2.h"
2424#include "bus/cpc/amdrum.h"
2525#include "bus/cpc/playcity.h"
26#include "bus/cpc/smartwatch.h"
2726#include "machine/ram.h"
2827#include "imagedev/cassette.h"
2928#include "bus/centronics/ctronics.h"
trunk/src/mess/machine/amstrad.c
r243756r243757
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
r243756r243757
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");
r243756r243757
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
r243756r243757
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++) {
r243756r243757
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
r243756r243757
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;
r243756r243757
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
r243756r243757
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;
r243756r243757
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;
r243756r243757
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;
r243756r243757
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:
r243756r243757
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
r243756r243757
927927      texture.rowpixels = shadow_bitmap.rowpixels();
928928      texture.width = shadow_bitmap.width();
929929      texture.height = shadow_bitmap.height();
930      texture.palette = NULL;
930      texture.set_palette(NULL);
931931      texture.seqid = 0;
932932
933933      // FIXME: should shadow bitmap really use prescale?
trunk/src/osd/windows/drawd3d.c
r243756r243757
500500      texture.rowpixels = m_default_bitmap.rowpixels();
501501      texture.width = m_default_bitmap.width();
502502      texture.height = m_default_bitmap.height();
503      texture.palette = NULL;
503      texture.set_palette(NULL);
504504      texture.seqid = 0;
505505
506506      // now create it
r243756r243757
517517      texture.rowpixels = m_vector_bitmap.rowpixels();
518518      texture.width = m_vector_bitmap.width();
519519      texture.height = m_vector_bitmap.height();
520      texture.palette = NULL;
520      texture.set_palette(NULL);
521521      texture.seqid = 0;
522522
523523      // now create it
r243756r243757
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
r243756r243757
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
9291   // warning C4324: 'xxx' : structure was padded due to __declspec(align())
9392   // warning C4347: behavior change: 'xxx' is called instead of 'xxx' // obsolete VS2005 - VS2010 only
9493   // warning C4435: 'xxx' : Object layout under /vd2 will change due to virtual base 'xxx'
r243756r243757
110109   // warning C4805: 'x' : unsafe mix of type 'xxx' and type 'xxx' in operation
111110   // warning C4820: 'xxx' : 'x' bytes padding added after data member 'xxx'
112111   // warning C4826: Conversion from 'type1 ' to 'type_2' is sign-extended. This may cause unexpected runtime behavior. // 32-bit only
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" },
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" },
114113   { 0,        "-Wall",                    "/W0" },
115114   { VS7,      "-Wno-unused",              "/wd4100 /wd4101 /wd4102 /wd4505" },
116115   { 0,        "-Wno-sign-compare",        "/wd4365 /wd4389 /wd4245 /wd4388" },


Previous 199869 Revisions Next


© 1997-2024 The MAME Team