Previous 199869 Revisions Next

r41391 Tuesday 27th October, 2015 at 14:08:15 UTC by Roberto Fresca
Merge branch 'master' of https://github.com/mamedev/mame
[hash]a2600.xml sg1000.xml sms.xml
[hlsl]vector.fx
[scripts/target/mame]mess.lua
[src/devices/bus/a2bus]a2themill.c
[src/emu]emuopts.c emuopts.h
[src/emu/ui]ui.c
[src/emu/video]vector.c vector.h
[src/mame]arcade.lst mess.lst
[src/mame/drivers]bublbobl.c exelv.c osborne1.c pc.c sega_sawatte.c* subhuntr.c
[src/mame/includes]neogeo.h osborne1.h
[src/mame/machine]osborne1.c
[src/osd/modules/debugger/osx]debugview.m
[src/osd/sdl]video.c

trunk/hash/a2600.xml
r249902r249903
1797717977    <part name="cart" interface="a2600_cart">
1797817978      <feature name="slot" value="a26_dpcplus" />
1797917979      <dataarea name="rom" size="0x8000">
17980        <rom name="SF2_demo_NTSC.bin" size="0x8000" crc="fd850bd6" sha1="bd8166da7777c66e6bb3ab0c77563193d8289f5f)" offset="0" />
17980        <rom name="SF2_demo_NTSC.bin" size="0x8000" crc="fd850bd6" sha1="bd8166da7777c66e6bb3ab0c77563193d8289f5f" offset="0" />
1798117981      </dataarea>
1798217982    </part>
1798317983  </software>
r249902r249903
1800418004    <part name="cart" interface="a2600_cart">
1800518005      <feature name="slot" value="a26_dpcplus" />
1800618006      <dataarea name="rom" size="0x8000">
18007        <rom name="SF2_demo_PAL.bin" size="0x8000" crc="b47582f3" sha1="73625429e73f1b354e0cbe6a360d79590032de2b)" offset="0" />
18007        <rom name="SF2_demo_PAL.bin" size="0x8000" crc="b47582f3" sha1="73625429e73f1b354e0cbe6a360d79590032de2b" offset="0" />
1800818008      </dataarea>
1800918009    </part>
1801018010  </software>
trunk/hash/sg1000.xml
r249902r249903
12831283      </part>
12841284   </software>
12851285
1286   <software name="herot" cloneof="hero">
1286   <software name="herot" cloneof="hero"> <!-- Taiwanese logo version -->
12871287      <description>Qing Feng Xia (Tw)</description>
12881288      <year>1985?</year>
12891289      <publisher>&lt;unknown&gt;</publisher>
r249902r249903
12961296      </part>
12971297   </software>
12981298
1299   <software name="homemj">
1299  <software name="herotw" cloneof="hero"> <!-- English logo version -->
1300    <description>H.E.R.O. (Tw)</description>
1301    <year>1985</year>
1302    <publisher>Aaronix</publisher>
1303    <part name="cart" interface="sg1000_cart">
1304      <dataarea name="rom" size="32768">
1305        <rom name="H.E.R.O. [english logo] (TW).sg" size="32768" crc="96f09c6d" sha1="82b530feef7c011361e21b62d2c359c626ab8a9c" offset="000000" />
1306      </dataarea>
1307    </part>
1308  </software>
1309
1310  <software name="homemj">
13001311      <description>Home Mahjong (Jpn, v1)</description>
13011312      <year>1984</year>
13021313      <publisher>Sega</publisher>
r249902r249903
13471358      </part>
13481359   </software>
13491360
1350   <software name="hyperspt">
1361  <software name="hustletw" cloneof="hustle">
1362    <description>Hustle Chumy / Wanpi shu (Tw)</description>
1363    <year>1984</year>
1364    <publisher>Aaronix</publisher>
1365    <part name="cart" interface="sg1000_cart">
1366      <dataarea name="rom" size="16384">
1367        <rom name="Hustle Chumy (TW).sg" size="16384" crc="c4ed1fd9" sha1="e7800d107ef0a7773eea2d482b5db9d866ba74f9" offset="000000" />
1368      </dataarea>
1369    </part>
1370  </software>
1371
1372  <software name="hyperspt">
13511373      <description>Hyper Sports (Jpn)</description>
13521374      <year>1985</year>
13531375      <publisher>Sega / Konami</publisher>
r249902r249903
20662088      </part>
20672089   </software>
20682090
2069   <software name="motianda" cloneof="rocknbol">
2091   <software name="motianda" cloneof="rocknbol"> <!-- Taiwanese logo version -->
20702092      <description>Mo Tian Da Lou (Tw)</description>
20712093      <year>1985?</year>
20722094      <publisher>Aaronix</publisher>
r249902r249903
20792101      </part>
20802102   </software>
20812103
2082   <software name="safarihu" supported="no">
2104  <software name="rocknboltw" cloneof="rocknbol"> <!-- English logo version -->
2105    <description>Rock n' Bolt (Tw)</description>
2106    <year>1985</year>
2107    <publisher>Aaronix</publisher>
2108    <part name="cart" interface="sg1000_cart">
2109      <dataarea name="rom" size="32768">
2110        <rom name="Rock n' Bolt [english logo] (TW).sg" size="32768" crc="09a82af7" sha1="e3be08bda8459fc60836abe332e9864e7c596202" offset="000000" />
2111      </dataarea>
2112    </part>
2113  </software>
2114
2115  <software name="safarihu" supported="no">
20832116      <description>Safari Hunting (Jpn)</description>
20842117      <year>1983</year>
20852118      <publisher>Sega</publisher>
trunk/hash/sms.xml
r249902r249903
120120      </part>
121121   </software>
122122
123   <software name="addfam">
123  <software name="actionfgtw" cloneof="actionfg">
124    <description>Action Fighter / Mo zhan che (Taiwan)</description>
125    <year>1986</year>
126    <publisher>&lt;unknown&gt;</publisher>
127    <part name="cart" interface="sms_cart">
128      <dataarea name="rom" size="131072">
129        <rom name="Action Fighter (TW).sms" size="131072" crc="8418f438" sha1="4f514dc568466f6b0424086edeb3fa0014f9c887" offset="000000" />
130      </dataarea>
131    </part>
132  </software>
133
134
135  <software name="addfam">
124136      <description>The Addams Family (Euro)</description>
125137      <year>1993</year>
126138      <publisher>Flying Edge</publisher>
r249902r249903
20912103      </part>
20922104   </software>
20932105
2094   <software name="excdizzy" supported="no">
2106  <software name="eswatp0" cloneof="eswatc"> <!-- early build, alt subtitle -->
2107    <description>E-SWAT - The Ultimate Battle In The Factor Against Crime (prototype 0)</description>
2108    <year>1990</year>
2109    <publisher>Sega</publisher>
2110    <info name="serial" value="7042"/>
2111    <part name="cart" interface="sms_cart">
2112      <dataarea name="rom" size="262144">
2113        <rom name="E-SWAT [Proto 0].sms" size="262144" crc="4f20694a" sha1="855c2f54b700663cedd6484aab396d849dcb5290" offset="000000" />
2114      </dataarea>
2115    </part>
2116  </software>
2117
2118  <software name="eswatp1" cloneof="eswatc">
2119    <description>E-SWAT - City Under Siege (prototype 1)</description>
2120    <year>1990</year>
2121    <publisher>Sega</publisher>
2122    <info name="serial" value="7042"/>
2123    <part name="cart" interface="sms_cart">
2124      <dataarea name="rom" size="262144">
2125        <rom name="E-SWAT [Proto 1].sms" size="262144" crc="f7ca9801" sha1="12c5005f8a0d78c75704b61bf87961875b9d29d4" offset="000000" />
2126      </dataarea>
2127    </part>
2128  </software>
2129
2130  <software name="eswatp2" cloneof="eswatc">
2131    <description>E-SWAT - City Under Siege (prototype 2)</description>
2132    <year>1990</year>
2133    <publisher>Sega</publisher>
2134    <info name="serial" value="7042"/>
2135    <part name="cart" interface="sms_cart">
2136      <dataarea name="rom" size="262144">
2137        <rom name="E-SWAT [Proto 2].sms" size="262144" crc="fd91cc7e" sha1="63fa1fcbf941b0e0ce601b3094c6c31f997c95d8" offset="000000" />
2138      </dataarea>
2139    </part>
2140  </software>
2141
2142  <software name="excdizzy" supported="no">
20952143      <description>The Excellent Dizzy Collection (Euro, USA, Prototype)</description>
20962144      <year>19??</year>
20972145      <publisher>Codemasters</publisher>
r249902r249903
56815729      </part>
56825730   </software>
56835731
5684   <software name="smgp">
5732  <software name="supcol">
5733    <description>Super Columns &amp; Tetris (Kor)</description>
5734    <year>1990</year>
5735    <publisher>Hi-Com</publisher>
5736    <part name="cart" interface="sms_cart">
5737      <dataarea name="rom" size="262144">
5738        <rom name="Super Columns (KR).sms" size="32768" crc="6ce7f694" sha1="9d696b6eda1d13b8d439509beeb64210987e308e" offset="000000" />
5739      </dataarea>
5740    </part>
5741  </software>
5742
5743  <software name="smgp">
56855744      <description>Super Monaco GP (Euro, Bra)</description>
56865745      <year>1990</year>
56875746      <publisher>Sega</publisher>
trunk/hlsl/vector.fx
r249902r249903
4242VS_OUTPUT vs_main(VS_INPUT Input)
4343{
4444   VS_OUTPUT Output = (VS_OUTPUT)0;
45   
45
4646   Output.Position = float4(Input.Position.xyz, 1.0f);
4747   Output.Position.xy /= ScreenDims;
48   Output.Position.y = 1.0f - Output.Position.y;
49   Output.Position.xy -= 0.5f;
50   Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
48   Output.Position.y = 1.0f - Output.Position.y; // flip y
49   Output.Position.xy -= 0.5f; // center
50   Output.Position.xy *= 2.0f; // zoom
51
52   Output.TexCoord = Input.Position.xy / ScreenDims;
53
5154   Output.Color = Input.Color;
52   Output.TexCoord = Input.Position.xy / ScreenDims;
55
5356   Output.LineInfo = Input.LineInfo;
57
5458   return Output;
5559}
5660
r249902r249903
6468// LengthParams.z: Size at which fade is maximum
6569float4 ps_main(PS_INPUT Input) : COLOR
6670{
67   float timeModulate = lerp(1.0f, TimeParams.x, TimeParams.y) * 1.0;
71   float timeModulate = lerp(1.0f, TimeParams.x, TimeParams.y);
6872
6973   float lengthModulate = 1.0f - clamp(Input.LineInfo.x / LengthParams.z, 0.0f, 1.0f);
7074   float minLength = 2.0f - clamp(Input.LineInfo.x - 1.0f, 0.0f, 2.0f);
7175   lengthModulate = lerp(lengthModulate, 4.0f, minLength * 0.5f);
72   lengthModulate = lerp(1.0f, timeModulate * lengthModulate, LengthParams.y) * 1.0;
76   lengthModulate = lerp(1.0f, timeModulate * lengthModulate, LengthParams.y);
7377
74   float4 outColor = Input.Color * float4(lengthModulate, lengthModulate, lengthModulate, 1.0f) * 2.0;
78   float4 outColor = Input.Color * float4(lengthModulate, lengthModulate, lengthModulate, 1.0f);
7579   return outColor;
7680}
7781
trunk/scripts/target/mame/mess.lua
r249902r249903
21372137   MAME_DIR .. "src/mame/drivers/megadriv.c",
21382138   MAME_DIR .. "src/mame/drivers/saturn.c",
21392139   MAME_DIR .. "src/mame/drivers/segapico.c",
2140   MAME_DIR .. "src/mame/drivers/sega_sawatte.c",
21402141   MAME_DIR .. "src/mame/drivers/segapm.c",
21412142   MAME_DIR .. "src/mame/drivers/sg1000.c",
21422143   MAME_DIR .. "src/mame/drivers/sms.c",
trunk/src/devices/bus/a2bus/a2themill.c
r249902r249903
77    Implementation of the Stellation Two The Mill 6809 card
88
99    The OS9 add-on changes the address mapping as follows:
10    6809 0x0000-0xafff -> 6502 0x1000-0xbfff
11    6809 0xb000-0xdfff -> 6502 0xd000-0xffff
12    6809 0xe000-0xefff -> 6502 0xc000-0xcfff
13    6809 0xf000-0xffff -> 6502 0x0000-0x0fff
10    6809 0x0000-0x7fff -> 6502 0x1000-0x8fff
11    6809 0x8000-0xafff -> 6502 0xd000-0xffff
12    6809 0xb000-0xbfff -> 6502 0xc000-0xcfff
13    6809 0xc000-0xcfff -> 6502 0x0000-0x0fff
14    6809 0xd000-0xffff -> 6502 0x9000-0xbfff
1415
15    (reference: http://mirrors.apple2.org.za/ground.icaen.uiowa.edu/MiscInfo/Hardware/mill.6809 )
16    (reference: "6809.txt" on one of the disks for The Mill)
1617
1718    ProDOS "Stellation The Mill Disk.po" requires Mill in slot 2; boot
1819    the disc and type "-DEMO1" and press Enter to launch the simple demo.
1920
20    The OS9 disk image available around the internet seems to be bad - the
21    6809 boot vector is 0x4144 which maps to 6502 0x5144 and there's all
22    zeros from 6502 1000-8fff.  There is valid 6809 code from 9000-BFFF
23    at the point where it wants to boot the 6809, but I don't know what
24    is supposed to be the entry point.
21    TODO: Add DIP switch to select standard and OS-9 modes.
2522
2623*********************************************************************/
2724
r249902r249903
103100{
104101   m_bEnabled = false;
105102   m_flipAddrSpace = false;
106   m_6809Mode = false;
103   m_6809Mode = true;
107104   m_status = 0xc0;    // OS9 loader relies on this
108105   m_6809->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
109106   m_6809->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
r249902r249903
238235
239236READ8_MEMBER( a2bus_themill_device::dma_r )
240237{
238   // MAME startup ordering has the 6809 free-running at boot, which is undesirable
239   if (!m_bEnabled)
240   {
241      m_6809->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
242   }
243
241244   if (m_6809Mode)
242245   {
243      if (offset <= 0xafff)
246      if (offset <= 0x7fff)
244247      {
245248         return slot_dma_read(space, offset+0x1000);
246249      }
247      else if (offset <= 0xbfff)
250      else if (offset <= 0xafff)
248251      {
249         return slot_dma_read(space, (offset&0xfff) + 0xd000);
252         return slot_dma_read(space, (offset&0x3fff) + 0xd000);
250253      }
251      else if (offset <= 0xcfff)
254      else if (offset <= 0xbfff)
252255      {
253         return slot_dma_read(space, (offset&0xfff) + 0xe000);
256         return slot_dma_read(space, (offset&0xfff) + 0xc000);
254257      }
255      else if (offset <= 0xdfff)
258      else if (offset <= 0xcfff)   // 6809 Cxxx -> 6502 ZP
256259      {
257         return slot_dma_read(space, (offset&0xfff) + 0xf000);
260         return slot_dma_read(space, (offset&0xfff));
258261      }
259      else if (offset <= 0xefff)
262      else    // 6809 Dxxx -> 6502 9000
260263      {
261         return slot_dma_read(space, (offset&0xfff) + 0xc000);
264         return slot_dma_read(space, (offset-0xd000)+0x9000);
262265      }
263      else    // 6809 Fxxx -> 6502 ZP
264      {
265         return slot_dma_read(space, offset&0xfff);
266      }
267266   }
268267   else
269268   {
r249902r249903
289288{
290289   if (m_6809Mode)
291290   {
292      if (offset <= 0xafff)
291      if (offset <= 0x7fff)
293292      {
294293         slot_dma_write(space, offset+0x1000, data);
295294      }
295      else if (offset <= 0xafff)
296      {
297         slot_dma_write(space, (offset&0x3fff) + 0xd000, data);
298      }
296299      else if (offset <= 0xbfff)
297300      {
298         slot_dma_write(space, (offset&0xfff) + 0xd000, data);
301         slot_dma_write(space, (offset&0xfff) + 0xc000, data);
299302      }
300303      else if (offset <= 0xcfff)
301304      {
302         slot_dma_write(space, (offset&0xfff) + 0xe000, data);
305         slot_dma_write(space, (offset&0xfff), data);
303306      }
304      else if (offset <= 0xdfff)
307      else    // 6809 Dxxx -> 6502 9000
305308      {
306         slot_dma_write(space, (offset&0xfff) + 0xf000, data);
309         slot_dma_write(space, (offset-0xd000)+0x9000, data);
307310      }
308      else if (offset <= 0xefff)
309      {
310         slot_dma_write(space, (offset&0xfff) + 0xc000, data);
311      }
312      else    // 6809 Fxxx -> 6502 ZP
313      {
314         slot_dma_write(space, offset&0xfff, data);
315      }
316311   }
317312   else
318313   {
trunk/src/emu/emuopts.c
r249902r249903
112112   // vector options
113113   { NULL,                                              NULL,        OPTION_HEADER,     "CORE VECTOR OPTIONS" },
114114   { OPTION_ANTIALIAS ";aa",                            "1",         OPTION_BOOLEAN,    "use antialiasing when drawing vectors" },
115   { OPTION_BEAM,                                       "1.0",       OPTION_FLOAT,      "set vector beam width" },
115   { OPTION_BEAM_WIDTH_MIN,                             "1.0",       OPTION_FLOAT,      "set vector beam width minimum" },
116   { OPTION_BEAM_WIDTH_MAX,                             "1.0",       OPTION_FLOAT,      "set vector beam width maximum" },
117   { OPTION_BEAM_INTENSITY_WEIGHT,                      "0",         OPTION_FLOAT,      "set vector beam intensity weight " },
116118   { OPTION_FLICKER,                                    "0",         OPTION_FLOAT,      "set vector flicker effect" },
117119
118120   // sound options
trunk/src/emu/emuopts.h
r249902r249903
119119
120120// core vector options
121121#define OPTION_ANTIALIAS            "antialias"
122#define OPTION_BEAM                 "beam"
122#define OPTION_BEAM_WIDTH_MIN       "beam_width_min"
123#define OPTION_BEAM_WIDTH_MAX       "beam_width_max"
124#define OPTION_BEAM_INTENSITY_WEIGHT   "beam_intensity_weight"
123125#define OPTION_FLICKER              "flicker"
124126
125127// core sound options
r249902r249903
296298
297299   // core vector options
298300   bool antialias() const { return bool_value(OPTION_ANTIALIAS); }
299   float beam() const { return float_value(OPTION_BEAM); }
301   float beam_width_min() const { return float_value(OPTION_BEAM_WIDTH_MIN); }
302   float beam_width_max() const { return float_value(OPTION_BEAM_WIDTH_MAX); }
303   float beam_intensity_weight() const { return float_value(OPTION_BEAM_INTENSITY_WEIGHT); }
300304   float flicker() const { return float_value(OPTION_FLICKER); }
301305
302306   // core sound options
trunk/src/emu/ui/ui.c
r249902r249903
124124static INT32 slider_overxoffset(running_machine &machine, void *arg, std::string *str, INT32 newval);
125125static INT32 slider_overyoffset(running_machine &machine, void *arg, std::string *str, INT32 newval);
126126static INT32 slider_flicker(running_machine &machine, void *arg, std::string *str, INT32 newval);
127static INT32 slider_beam(running_machine &machine, void *arg, std::string *str, INT32 newval);
127static INT32 slider_beam_width_min(running_machine &machine, void *arg, std::string *str, INT32 newval);
128static INT32 slider_beam_width_max(running_machine &machine, void *arg, std::string *str, INT32 newval);
129static INT32 slider_beam_intensity_weight(running_machine &machine, void *arg, std::string *str, INT32 newval);
128130static char *slider_get_screen_desc(screen_device &screen);
129131#ifdef MAME_DEBUG
130132static INT32 slider_crossscale(running_machine &machine, void *arg, std::string *str, INT32 newval);
r249902r249903
19641966   for (screen_device *screen = scriter.first(); screen != NULL; screen = scriter.next())
19651967      if (screen->screen_type() == SCREEN_TYPE_VECTOR)
19661968      {
1967         // add flicker control
1969         // add vector control
19681970         *tailptr = slider_alloc(machine, "Vector Flicker", 0, 0, 1000, 10, slider_flicker, NULL);
19691971         tailptr = &(*tailptr)->next;
1970         *tailptr = slider_alloc(machine, "Beam Width", 10, 100, 1000, 10, slider_beam, NULL);
1972         *tailptr = slider_alloc(machine, "Beam Width Minimum", 1, 100, 1000, 1, slider_beam_width_min, NULL);
19711973         tailptr = &(*tailptr)->next;
1974         *tailptr = slider_alloc(machine, "Beam Width Maximum", 1, 100, 1000, 1, slider_beam_width_max, NULL);
1975         tailptr = &(*tailptr)->next;
1976         *tailptr = slider_alloc(machine, "Beam Intensity Weight", -1000, 0, 1000, 10, slider_beam_intensity_weight, NULL);
1977         tailptr = &(*tailptr)->next;
19721978         break;
19731979      }
19741980
r249902r249903
23402346{
23412347   vector_device *vector = NULL;
23422348   if (newval != SLIDER_NOCHANGE)
2343      vector->set_flicker((float)newval * 0.1f);
2349      vector->set_flicker((float)newval * 0.001f);
23442350   if (str != NULL)
23452351      strprintf(*str,"%1.2f", (double) vector->get_flicker());
2346   return floor(vector->get_flicker() * 10.0f + 0.5f);
2352   return floor(vector->get_flicker() * 1000.0f + 0.5f);
23472353}
23482354
23492355
23502356//-------------------------------------------------
2351//  slider_beam - vector beam width slider
2357//  slider_beam_width_min - minimum vector beam width slider
23522358//  callback
23532359//-------------------------------------------------
23542360
2355static INT32 slider_beam(running_machine &machine, void *arg, std::string *str, INT32 newval)
2361static INT32 slider_beam_width_min(running_machine &machine, void *arg, std::string *str, INT32 newval)
23562362{
23572363   vector_device *vector = NULL;
23582364   if (newval != SLIDER_NOCHANGE)
2359      vector->set_beam((float)newval * 0.01f);
2365      vector->set_beam_width_min(MIN((float)newval * 0.01f, vector->get_beam_width_max()));
23602366   if (str != NULL)
2361      strprintf(*str,"%1.2f", (double) vector->get_beam());
2362   return floor(vector->get_beam() * 100.0f + 0.5f);
2367      strprintf(*str,"%1.2f", (double) vector->get_beam_width_min());
2368   return floor(vector->get_beam_width_min() * 100.0f + 0.5f);
23632369}
23642370
23652371
23662372//-------------------------------------------------
2373//  slider_beam_width_max - maximum vector beam width slider
2374//  callback
2375//-------------------------------------------------
2376
2377static INT32 slider_beam_width_max(running_machine &machine, void *arg, std::string *str, INT32 newval)
2378{
2379   vector_device *vector = NULL;
2380   if (newval != SLIDER_NOCHANGE)
2381      vector->set_beam_width_max(MAX((float)newval * 0.01f, vector->get_beam_width_min()));
2382   if (str != NULL)
2383      strprintf(*str,"%1.2f", (double) vector->get_beam_width_max());
2384   return floor(vector->get_beam_width_max() * 100.0f + 0.5f);
2385}
2386
2387
2388//-------------------------------------------------
2389//  slider_beam_intensity_weight - vector beam intensity weight slider
2390//  callback
2391//-------------------------------------------------
2392
2393static INT32 slider_beam_intensity_weight(running_machine &machine, void *arg, std::string *str, INT32 newval)
2394{
2395   vector_device *vector = NULL;
2396   if (newval != SLIDER_NOCHANGE)
2397      vector->set_beam_intensity_weight((float)newval * 0.001f);
2398   if (str != NULL)
2399      strprintf(*str,"%1.2f", (double) vector->get_beam_intensity_weight());
2400   return floor(vector->get_beam_intensity_weight() * 1000.0f + 0.5f);
2401}
2402
2403
2404//-------------------------------------------------
23672405//  slider_get_screen_desc - returns the
23682406//  description for a given screen
23692407//-------------------------------------------------
trunk/src/emu/video/vector.c
r249902r249903
3535#include "vector.h"
3636
3737
38#define FLT_EPSILON 1E-5
3839
39#define VECTOR_WIDTH_DENOM          512
40#define VECTOR_WIDTH_DENOM 512
4041
42#define MAX_POINTS 10000
4143
42#define MAX_POINTS  10000
43
4444#define VECTOR_TEAM \
4545   "-* Vector Heads *-\n" \
4646   "Brad Oliver\n" \
r249902r249903
140140{
141141}
142142
143float vector_device::m_flicker_correction = 0.0f;
144float vector_device::m_beam_width = 0.0f;
145int vector_device::m_flicker;
143float vector_device::m_flicker = 0.0f;
144float vector_device::m_beam_width_min = 0.0f;
145float vector_device::m_beam_width_max = 0.0f;
146float vector_device::m_beam_intensity_weight = 0.0f;
146147int vector_device::m_vector_index;
147148
148149void vector_device::device_start()
149150{
150   m_beam_width = machine().options().beam();
151
152151   /* Grab the settings for this session */
153   set_flicker(machine().options().flicker());
152   m_beam_width_min = machine().options().beam_width_min();
153   m_beam_width_max = machine().options().beam_width_max();
154   m_beam_intensity_weight = machine().options().beam_intensity_weight();
155   m_flicker = machine().options().flicker();
154156
155157   m_vector_index = 0;
156158
r249902r249903
158160   m_vector_list = auto_alloc_array_clear(machine(), point, MAX_POINTS);
159161}
160162
161void vector_device::set_flicker(float _flicker)
163void vector_device::set_flicker(float newval)
162164{
163   m_flicker_correction = _flicker;
164   m_flicker = (int)(m_flicker_correction * 2.55f);
165   m_flicker = newval;
165166}
166167
167168float vector_device::get_flicker()
168169{
169   return m_flicker_correction;
170   return m_flicker;
170171}
171172
172void vector_device::set_beam(float _beam)
173void vector_device::set_beam_width_min(float newval)
173174{
174   m_beam_width = _beam;
175   m_beam_width_min = newval;
175176}
176177
177float vector_device::get_beam()
178float vector_device::get_beam_width_min()
178179{
179   return m_beam_width;
180   return m_beam_width_min;
180181}
181182
183void vector_device::set_beam_width_max(float newval)
184{
185   m_beam_width_max = newval;
186}
182187
188float vector_device::get_beam_width_max()
189{
190   return m_beam_width_max;
191}
192
193void vector_device::set_beam_intensity_weight(float newval)
194{
195   m_beam_intensity_weight = newval;
196}
197
198float vector_device::get_beam_intensity_weight()
199{
200   return m_beam_intensity_weight;
201}
202
203
183204/*
205 * www.dinodini.wordpress.com/2010/04/05/normalized-tunable-sigmoid-functions/
206 */
207float vector_device::normalized_sigmoid(float n, float k)
208{
209   // valid for n and k in range of -1.0 and 1.0
210   return (n - n * k) / (k - fabs(n) * 2.0f * k + 1.0f);
211}
212
213
214/*
184215 * Adds a line end point to the vertices list. The vector processor emulation
185216 * needs to call this.
186217 */
187void vector_device::add_point (int x, int y, rgb_t color, int intensity)
218void vector_device::add_point(int x, int y, rgb_t color, int intensity)
188219{
189220   point *newpoint;
190221
191   if (intensity > 0xff)
192      intensity = 0xff;
222   if (intensity > 255)
223   {
224      intensity = 255;
225   }
193226
194227   if (m_flicker && (intensity > 0))
195228   {
196      intensity += (intensity * (0x80-(machine().rand()&0xff)) * m_flicker)>>16;
229      float random = (float)(machine().rand() & 255) / 255.0f; // random value between 0.0 and 1.0
230     
231      intensity -= (int)(intensity * random * m_flicker);
197232      if (intensity < 0)
233      {
198234         intensity = 0;
199      if (intensity > 0xff)
200         intensity = 0xff;
235      }     
236      if (intensity > 255)
237      {
238         intensity = 255;
239      }
201240   }
241
202242   newpoint = &m_vector_list[m_vector_index];
203243   newpoint->x = x;
204244   newpoint->y = y;
r249902r249903
214254   }
215255}
216256
257
217258/*
218259 * Add new clipping info to the list
219260 */
220void vector_device::add_clip (int x1, int yy1, int x2, int y2)
261void vector_device::add_clip(int x1, int yy1, int x2, int y2)
221262{
222263   point *newpoint;
223264
r249902r249903
241282 * The vector CPU creates a new display list. We save the old display list,
242283 * but only once per refresh.
243284 */
244void vector_device::clear_list (void)
285void vector_device::clear_list(void)
245286{
246287   m_vector_index = 0;
247288}
r249902r249903
255296   float yscale = 1.0f / (65536 * visarea.height());
256297   float xoffs = (float)visarea.min_x;
257298   float yoffs = (float)visarea.min_y;
299   float xratio = xscale / yscale;
300   float yratio = yscale / xscale;
301   xratio = (xratio < 1.0f) ? xratio : 1.0f;
302   xratio = (yratio < 1.0f) ? yratio : 1.0f;
303
258304   point *curpoint;
259305   render_bounds clip;
260   int lastx = 0, lasty = 0;
261   int i;
306   int lastx = 0;
307   int lasty = 0;
262308
263309   curpoint = m_vector_list;
264310
r249902r249903
268314   clip.x0 = clip.y0 = 0.0f;
269315   clip.x1 = clip.y1 = 1.0f;
270316
271   for (i = 0; i < m_vector_index; i++)
317   for (int i = 0; i < m_vector_index; i++)
272318   {
273319      render_bounds coords;
274320
r249902r249903
286332      }
287333      else
288334      {
335         float intensity = (float)curpoint->intensity / 255.0f;
336         float intensity_weight = normalized_sigmoid(intensity, m_beam_intensity_weight);
337
338         float beam_intensity_width = (m_beam_width_max - m_beam_width_min) * intensity_weight + m_beam_width_min;
339         float beam_width = beam_intensity_width * (1.0f / (float)VECTOR_WIDTH_DENOM);
340
289341         coords.x0 = ((float)lastx - xoffs) * xscale;
290342         coords.y0 = ((float)lasty - yoffs) * yscale;
291343         coords.x1 = ((float)curpoint->x - xoffs) * xscale;
292344         coords.y1 = ((float)curpoint->y - yoffs) * yscale;
293345
294         if (curpoint->intensity != 0)
295            if (!render_clip_line(&coords, &clip))
296               screen.container().add_line(coords.x0, coords.y0, coords.x1, coords.y1,
297                     m_beam_width * (1.0f / (float)VECTOR_WIDTH_DENOM),
298                     (curpoint->intensity << 24) | (curpoint->col & 0xffffff),
299                     flags);
346         // extend zero-length vector line (vector point) by quarter beam_width on both sides
347         if (fabs(coords.x0 - coords.x1) < FLT_EPSILON &&
348            fabs(coords.y0 - coords.y1) < FLT_EPSILON)
349         {
350            coords.x0 += xratio * beam_width * 0.25f;
351            coords.y0 += yratio * beam_width * 0.25f;
352            coords.x1 -= xratio * beam_width * 0.25f;
353            coords.y1 -= yratio * beam_width * 0.25f;
354         }
300355
356         if (curpoint->intensity != 0 && !render_clip_line(&coords, &clip))
357         {
358            screen.container().add_line(
359               coords.x0, coords.y0, coords.x1, coords.y1,
360               beam_width,
361               (curpoint->intensity << 24) | (curpoint->col & 0xffffff),
362               flags);
363         }
364
301365         lastx = curpoint->x;
302366         lasty = curpoint->y;
303367      }
368
304369      curpoint++;
305370   }
371
306372   return 0;
307373}
trunk/src/emu/video/vector.h
r249902r249903
1616/* The vertices are buffered here */
1717struct point
1818{
19      point():
19   point() :
2020      x(0),
2121      y(0),
2222      col(0),
r249902r249903
3232   int status;         /* for dirty and clipping handling */
3333};
3434
35class vector_device :  public device_t,
36                     public device_video_interface
35class vector_device : public device_t, public device_video_interface
3736{
3837public:
3938   // construction/destruction
r249902r249903
4645   void add_point(int x, int y, rgb_t color, int intensity);
4746   void add_clip(int minx, int miny, int maxx, int maxy);
4847
49   void set_flicker(float m_flicker_correction);
48   void set_flicker(float newval);
5049   float get_flicker();
5150
52   void set_beam(float _beam);
53   float get_beam();
51   void set_beam_width_min(float newval);
52   float get_beam_width_min();
5453
54   void set_beam_width_max(float newval);
55   float get_beam_width_max();
56
57   void set_beam_intensity_weight(float newval);
58   float get_beam_intensity_weight();
59
5560   // device-level overrides
5661   virtual void device_start();
5762
5863private:
59   static int m_flicker;                              /* beam flicker value     */
60   static float m_flicker_correction;
61   static float m_beam_width;
64   static float m_flicker;
65   static float m_beam_width_min;
66   static float m_beam_width_max;
67   static float m_beam_intensity_weight;
6268   point *m_vector_list;
6369   static int m_vector_index;
70
71   float normalized_sigmoid(float n, float k);
6472};
6573
6674
trunk/src/mame/arcade.lst
r249902r249903
20962096sboblbobl       // bootleg
20972097sboblbobla      // bootleg
20982098sboblboblb      // bootleg
2099sboblboblc      // bootleg
2100bublboblb      // bootleg
20992101bub68705        // bootleg
21002102dland           // bootleg
2103bbredux         // bootleg / hack
2104bublcave      // hack
2105boblcave      // hack
2106bublcave11      // hack
2107bublcave10      // hack
21012108missb2          // bootleg on enhanced hardware
21022109bublpong        // bootleg on enhanced hardware
21032110kikikai         // A85 (c) 1986 Taito Corporation
trunk/src/mame/drivers/bublbobl.c
r249902r249903
265265- tokio: sound support is probably incomplete. There are a couple of unknown
266266  accesses done by the CPU, including to the YM2203 I/O ports. At the
267267  very least, there should be some filters.
268 
269 there are also Bubble Bobble bootlegs with a P8749H MCU, however the MCU
270 is protected against reading and the main code only differs by 1 byte from
271 Bubble Bobble.  If the MCU were to be dumped that would also make for
272 interesting comparisons.
268273
269274***************************************************************************/
270275
r249902r249903
556561   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
557562INPUT_PORTS_END
558563
564
565static INPUT_PORTS_START( boblcave )
566   PORT_INCLUDE( boblbobl )
567
568   PORT_MODIFY( "DSW1" ) // not monster speed on this, causes startup hangs just like original bublbobl
569   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )          PORT_DIPLOCATION("DSW-B:7")
570   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )              // must be off (see notes)
571   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
572   PORT_DIPNAME( 0x80, 0x80, "ROM Type" )                  PORT_DIPLOCATION("DSW-B:8")
573   PORT_DIPSETTING(    0x80, "IC52=512kb, IC53=none" )     // will hang on startup if set to wrong type
574   PORT_DIPSETTING(    0x00, "IC52=256kb, IC53=256kb" )
575INPUT_PORTS_END
576
559577static INPUT_PORTS_START( sboblboblb )
560578   PORT_INCLUDE( boblbobl )
561579
r249902r249903
13591377   ROM_LOAD( "pal16l8.u4",  0x0400, 0x0104, CRC(077d20a8) SHA1(8e568ffd6f66c3dd61708dd0f3be9c2ed488ae4b) )
13601378ROM_END
13611379
1380ROM_START( bbredux )
1381   ROM_REGION( 0x30000, "maincpu", 0 )
1382   ROM_LOAD( "redux_bb3",          0x00000, 0x8000, CRC(d51de9f3) SHA1(dc6bc93692145563a88c146eeb1d0361e25af840) )
1383   /* ROMs banked at 8000-bfff */
1384   ROM_LOAD( "redux_bb5",          0x10000, 0x8000, CRC(d29d3444) SHA1(3db694a6ba2ba2ed85d31c2bc4c7c94911b99b85) )
1385   ROM_LOAD( "redux_bb4",          0x18000, 0x8000, CRC(984149bd) SHA1(9a0f96eee038712277f652545a343587f711b9aa) )
1386
1387   ROM_REGION( 0x10000, "slave", 0 )   /* 64k for the second CPU */
1388   ROM_LOAD( "a78-08.37",    0x0000, 0x08000, CRC(ae11a07b) SHA1(af7a335c8da637103103cc274e077f123908ebb7) )
1389
1390   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for the third CPU */
1391   ROM_LOAD( "a78-07.46",    0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) )
1392
1393   ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT )
1394   ROM_LOAD( "a78-09.12",    0x00000, 0x8000, CRC(20358c22) SHA1(2297af6c53d5807bf90a8e081075b8c72a994fc5) )    /* 1st plane */
1395   ROM_LOAD( "a78-10.13",    0x08000, 0x8000, CRC(930168a9) SHA1(fd358c3c3b424bca285f67a1589eb98a345ff670) )
1396   ROM_LOAD( "a78-11.14",    0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) )
1397   ROM_LOAD( "a78-12.15",    0x18000, 0x8000, CRC(d045549b) SHA1(0c12077d3ddc2ce6aa45a0224ad5540f3f218446) )
1398   ROM_LOAD( "a78-13.16",    0x20000, 0x8000, CRC(d0af35c5) SHA1(c5a89f4d73acc0db86654540b3abfd77b3757db5) )
1399   ROM_LOAD( "a78-14.17",    0x28000, 0x8000, CRC(7b5369a8) SHA1(1307b26d80e6f36ebe6c442bebec41d20066eaf9) )
1400   /* 0x30000-0x3ffff empty */
1401   ROM_LOAD( "a78-15.30",    0x40000, 0x8000, CRC(6b61a413) SHA1(44eddf12fb46fceca2addbe6da929aaea7636b13) )    /* 2nd plane */
1402   ROM_LOAD( "a78-16.31",    0x48000, 0x8000, CRC(b5492d97) SHA1(d5b045e3ebaa44809757a4220cefb3c6815470da) )
1403   ROM_LOAD( "a78-17.32",    0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) )
1404   ROM_LOAD( "a78-18.33",    0x58000, 0x8000, CRC(9f243b68) SHA1(32dce8d311a4be003693182a999e4053baa6bb0a) )
1405   ROM_LOAD( "a78-19.34",    0x60000, 0x8000, CRC(66e9438c) SHA1(b94e62b6fbe7f4e08086d0365afc5cff6e0ccafd) )
1406   ROM_LOAD( "a78-20.35",    0x68000, 0x8000, CRC(9ef863ad) SHA1(29f91b5a3765e4d6e6c3382db1d8d8297b6e56c8) )
1407   /* 0x70000-0x7ffff empty */
1408
1409   ROM_REGION( 0x0100, "proms", 0 )
1410   ROM_LOAD( "a71-25.41",    0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) )    /* video timing */
1411
1412   ROM_REGION( 0x0600, "plds", 0 )
1413   ROM_LOAD( "pal16r4.u36", 0x0000, 0x0104, CRC(22fe26ac) SHA1(bbbfcbe6faded4af7ceec57b800297c054a997da) )
1414   ROM_LOAD( "pal16l8.u38", 0x0200, 0x0104, CRC(c02d9663) SHA1(5d23cfd96f072981fd5fcf0dd7e98459da58b662) )
1415   ROM_LOAD( "pal16l8.u4",  0x0400, 0x0104, CRC(077d20a8) SHA1(8e568ffd6f66c3dd61708dd0f3be9c2ed488ae4b) )
1416ROM_END
1417
13621418ROM_START( sboblbobl )
13631419   ROM_REGION( 0x30000, "maincpu", 0 )
13641420   ROM_LOAD( "cpu2-3.bin",   0x00000, 0x08000, CRC(2d9107b6) SHA1(ab1a4a20f4b533cd06cc458668f407a8a14c9d70) )
r249902r249903
14591515
14601516
14611517
1518ROM_START( sboblboblc )
1519   ROM_REGION( 0x30000, "maincpu", 0 )
1520   ROM_LOAD( "3",    0x00000, 0x08000, CRC(f2d44846) SHA1(dd1a29f2ff1938c31d4c6199cf970483ceb52485) )
1521   /* ROMs banked at 8000-bfff */
1522   ROM_LOAD( "5",          0x10000, 0x08000, CRC(3c5e4441) SHA1(b85da9d7e0148e950b76036d3f9a3d4a9dfa039c) )
1523   ROM_LOAD( "4",          0x18000, 0x08000, CRC(1f29b5c0) SHA1(c15c84ca11cc10edac6340468bca463ecb2d89e6) )
1524   /* 20000-2ffff empty */
1525
1526   ROM_REGION( 0x10000, "slave", 0 )   /* 64k for the second CPU */
1527   ROM_LOAD( "1",    0x0000, 0x08000, CRC(ae11a07b) SHA1(af7a335c8da637103103cc274e077f123908ebb7) )
1528
1529   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for the third CPU */
1530   ROM_LOAD( "2",    0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) )
1531
1532   ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT )
1533   ROM_LOAD( "12",    0x00000, 0x8000, CRC(20358c22) SHA1(2297af6c53d5807bf90a8e081075b8c72a994fc5) )    /* 1st plane */
1534   ROM_LOAD( "13",    0x08000, 0x8000, CRC(930168a9) SHA1(fd358c3c3b424bca285f67a1589eb98a345ff670) )
1535   ROM_LOAD( "14",    0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) )
1536   ROM_LOAD( "15",    0x18000, 0x8000, CRC(d045549b) SHA1(0c12077d3ddc2ce6aa45a0224ad5540f3f218446) )
1537   ROM_LOAD( "16",    0x20000, 0x8000, CRC(d0af35c5) SHA1(c5a89f4d73acc0db86654540b3abfd77b3757db5) )
1538   ROM_LOAD( "17",    0x28000, 0x8000, CRC(7b5369a8) SHA1(1307b26d80e6f36ebe6c442bebec41d20066eaf9) )
1539   /* 0x30000-0x3ffff empty */
1540   ROM_LOAD( "6",     0x40000, 0x8000, CRC(6b61a413) SHA1(44eddf12fb46fceca2addbe6da929aaea7636b13) )    /* 2nd plane */
1541   ROM_LOAD( "7",     0x48000, 0x8000, CRC(b5492d97) SHA1(d5b045e3ebaa44809757a4220cefb3c6815470da) )
1542   ROM_LOAD( "8",     0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) )
1543   ROM_LOAD( "9",     0x58000, 0x8000, CRC(9f243b68) SHA1(32dce8d311a4be003693182a999e4053baa6bb0a) )
1544   ROM_LOAD( "10",    0x60000, 0x8000, CRC(66e9438c) SHA1(b94e62b6fbe7f4e08086d0365afc5cff6e0ccafd) )
1545   ROM_LOAD( "11",    0x68000, 0x8000, CRC(9ef863ad) SHA1(29f91b5a3765e4d6e6c3382db1d8d8297b6e56c8) )
1546   /* 0x70000-0x7ffff empty */
1547
1548   ROM_REGION( 0x0100, "proms", 0 )
1549   ROM_LOAD( "a71-25.41",    0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) )    /* video timing */
1550
1551ROM_END
1552
14621553ROM_START( bub68705 )
14631554   ROM_REGION( 0x30000, "maincpu", 0 ) /* Program roms match Bubble Bobble (older) */
14641555   ROM_LOAD( "2.bin",    0x00000, 0x08000, CRC(32c8305b) SHA1(6bf69b3edfbefd33cd670a762b4bf0b39629a220) )
r249902r249903
15261617ROM_END
15271618
15281619
1620ROM_START( bublcave )
1621   ROM_REGION( 0x30000, "maincpu", 0 )
1622   ROM_LOAD( "bublcave-06.51",    0x00000, 0x08000, CRC(e8b9af5e) SHA1(dec44e47634a402df212806e84e3a810f8442776) )
1623   ROM_LOAD( "bublcave-05.52",    0x10000, 0x10000, CRC(cfe14cb8) SHA1(17d463c755f630ae9d05943515fa4828972bd7b0) )
15291624
1625   ROM_REGION( 0x10000, "slave", 0 )
1626   ROM_LOAD( "bublcave-08.37",    0x0000, 0x08000, CRC(a9384086) SHA1(26e686671d6d3ba3759716bf46e7f951bbb8a291) )
1627
1628   ROM_REGION( 0x10000, "audiocpu", 0 )
1629   ROM_LOAD( "a78-07.46",         0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) )
1630
1631   ROM_REGION( 0x10000, "mcu", 0 )
1632   ROM_LOAD( "a78-01.17",         0xf000, 0x1000, CRC(b1bfb53d) SHA1(31b8f31acd3aa394acd80db362774749842e1285) )
1633
1634   ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT )
1635   ROM_LOAD( "bublcave-09.12",    0x00000, 0x8000, CRC(b90b7eef) SHA1(de72e4635843ad76248aa3b4aa8f8a0bfd53879e) )    /* 1st plane */
1636   ROM_LOAD( "bublcave-10.13",    0x08000, 0x8000, CRC(4fb22f05) SHA1(880104e86dbd00ae657cbc768722427503b6a59f) )
1637   ROM_LOAD( "bublcave-11.14",    0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) )
1638   ROM_LOAD( "bublcave-12.15",    0x18000, 0x8000, CRC(e49eb49e) SHA1(2e05dc8833e10bef1a317d238c39fb9f362e9997) )
1639   ROM_LOAD( "bublcave-13.16",    0x20000, 0x8000, CRC(61919734) SHA1(2c07e29f3dcc972d5eb47679ad81a0d7656b0cb2) )
1640   ROM_LOAD( "bublcave-14.17",    0x28000, 0x8000, CRC(7e3a13bd) SHA1(bd4dba799340fa599f11cc68e03efe70ba6ba99b) )
1641   ROM_LOAD( "bublcave-15.30",    0x40000, 0x8000, CRC(c253c73a) SHA1(3e187f6b9ca769772990068abe7b309417147d39) )    /* 2nd plane */
1642   ROM_LOAD( "bublcave-16.31",    0x48000, 0x8000, CRC(e66c92ee) SHA1(12ea193c54121d08ad110c94cc075e29fef3ff85) )
1643   ROM_LOAD( "bublcave-17.32",    0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) )
1644   ROM_LOAD( "bublcave-18.33",    0x58000, 0x8000, CRC(47ee2544) SHA1(c6946e824043a312ed437e548a64ef599effbd42) )
1645   ROM_LOAD( "bublcave-19.34",    0x60000, 0x8000, CRC(1ceeb1fa) SHA1(eb29ff896d149f7ab4cf38a338df39df14ccc20c) )
1646   ROM_LOAD( "bublcave-20.35",    0x68000, 0x8000, CRC(64322e24) SHA1(acff8a9fcaf74f198653080759898d15cccf04e8) )
1647
1648   ROM_REGION( 0x0100, "proms", 0 )
1649   ROM_LOAD( "a71-25.41",         0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) )   /* video timing */
1650ROM_END
1651
1652
1653ROM_START( boblcave )
1654   ROM_REGION( 0x30000, "maincpu", 0 )
1655   ROM_LOAD( "lc12_bb3",          0x00000, 0x08000, CRC(dddc9a24) SHA1(c0b31dd64d7359ae0ea5067db6ac8b54f9415e5a) )
1656   /* ROMs banked at 8000-bfff */
1657   ROM_LOAD( "lc12_bb5",          0x10000, 0x08000, CRC(0bc4de52) SHA1(55581a557dfd60d93642b89eb702c7170458b826) )
1658   ROM_LOAD( "lc12_bb4",          0x18000, 0x08000, CRC(bd7afdf4) SHA1(a9bcdc857b1f252c36a5a70f5027a11737f8dd59) )
1659   /* 20000-2ffff empty */
1660
1661   ROM_REGION( 0x10000, "slave", 0 )   /* 64k for the second CPU */
1662   ROM_LOAD( "bublcave-08.37",    0x0000, 0x08000, CRC(a9384086) SHA1(26e686671d6d3ba3759716bf46e7f951bbb8a291) )
1663
1664   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for the third CPU */
1665   ROM_LOAD( "a78-07.46",    0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) )
1666
1667   ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT )
1668   ROM_LOAD( "bublcave-09.12",    0x00000, 0x8000, CRC(b90b7eef) SHA1(de72e4635843ad76248aa3b4aa8f8a0bfd53879e) )    /* 1st plane */
1669   ROM_LOAD( "bublcave-10.13",    0x08000, 0x8000, CRC(4fb22f05) SHA1(880104e86dbd00ae657cbc768722427503b6a59f) )
1670   ROM_LOAD( "bublcave-11.14",    0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) )
1671   ROM_LOAD( "bublcave-12.15",    0x18000, 0x8000, CRC(e49eb49e) SHA1(2e05dc8833e10bef1a317d238c39fb9f362e9997) )
1672   ROM_LOAD( "bublcave-13.16",    0x20000, 0x8000, CRC(61919734) SHA1(2c07e29f3dcc972d5eb47679ad81a0d7656b0cb2) )
1673   ROM_LOAD( "bublcave-14.17",    0x28000, 0x8000, CRC(7e3a13bd) SHA1(bd4dba799340fa599f11cc68e03efe70ba6ba99b) )
1674   ROM_LOAD( "bublcave-15.30",    0x40000, 0x8000, CRC(c253c73a) SHA1(3e187f6b9ca769772990068abe7b309417147d39) )    /* 2nd plane */
1675   ROM_LOAD( "bublcave-16.31",    0x48000, 0x8000, CRC(e66c92ee) SHA1(12ea193c54121d08ad110c94cc075e29fef3ff85) )
1676   ROM_LOAD( "bublcave-17.32",    0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) )
1677   ROM_LOAD( "bublcave-18.33",    0x58000, 0x8000, CRC(47ee2544) SHA1(c6946e824043a312ed437e548a64ef599effbd42) )
1678   ROM_LOAD( "bublcave-19.34",    0x60000, 0x8000, CRC(1ceeb1fa) SHA1(eb29ff896d149f7ab4cf38a338df39df14ccc20c) )
1679   ROM_LOAD( "bublcave-20.35",    0x68000, 0x8000, CRC(64322e24) SHA1(acff8a9fcaf74f198653080759898d15cccf04e8) )
1680
1681   ROM_REGION( 0x0100, "proms", 0 )
1682   ROM_LOAD( "a71-25.41",    0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) )    /* video timing */
1683
1684   ROM_REGION( 0x0600, "plds", 0 )
1685   ROM_LOAD( "pal16r4.u36", 0x0000, 0x0104, CRC(22fe26ac) SHA1(bbbfcbe6faded4af7ceec57b800297c054a997da) )
1686   ROM_LOAD( "pal16l8.u38", 0x0200, 0x0104, CRC(c02d9663) SHA1(5d23cfd96f072981fd5fcf0dd7e98459da58b662) )
1687   ROM_LOAD( "pal16l8.u4",  0x0400, 0x0104, CRC(077d20a8) SHA1(8e568ffd6f66c3dd61708dd0f3be9c2ed488ae4b) )
1688ROM_END
1689
1690
1691ROM_START( bublcave11 )
1692   ROM_REGION( 0x30000, "maincpu", 0 )
1693   ROM_LOAD( "bublcave10-06.51",  0x00000, 0x08000, CRC(185cc219) SHA1(dfb312f144fb01c07581cb8ea55ab0dc92ccd5b2) )
1694   ROM_LOAD( "bublcave11-05.52",  0x10000, 0x10000, CRC(b6b02df3) SHA1(542589544216a54f84c213b161d7145934875d2b) )
1695
1696   ROM_REGION( 0x10000, "slave", 0 )
1697   ROM_LOAD( "bublcave11-08.37",  0x0000, 0x08000, CRC(c5d14e62) SHA1(b32b1ca76b54755a69a7a346d01545f2699e1363) )
1698
1699   ROM_REGION( 0x10000, "audiocpu", 0 )
1700   ROM_LOAD( "a78-07.46",         0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) )
1701
1702   ROM_REGION( 0x10000, "mcu", 0 )
1703   ROM_LOAD( "a78-01.17",         0xf000, 0x1000, CRC(b1bfb53d) SHA1(31b8f31acd3aa394acd80db362774749842e1285) )
1704
1705   ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT )
1706   ROM_LOAD( "bublcave-09.12",    0x00000, 0x8000, CRC(b90b7eef) SHA1(de72e4635843ad76248aa3b4aa8f8a0bfd53879e) )    /* 1st plane */
1707   ROM_LOAD( "bublcave-10.13",    0x08000, 0x8000, CRC(4fb22f05) SHA1(880104e86dbd00ae657cbc768722427503b6a59f) )
1708   ROM_LOAD( "bublcave-11.14",    0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) )
1709   ROM_LOAD( "bublcave-12.15",    0x18000, 0x8000, CRC(e49eb49e) SHA1(2e05dc8833e10bef1a317d238c39fb9f362e9997) )
1710   ROM_LOAD( "bublcave-13.16",    0x20000, 0x8000, CRC(61919734) SHA1(2c07e29f3dcc972d5eb47679ad81a0d7656b0cb2) )
1711   ROM_LOAD( "bublcave-14.17",    0x28000, 0x8000, CRC(7e3a13bd) SHA1(bd4dba799340fa599f11cc68e03efe70ba6ba99b) )
1712   ROM_LOAD( "bublcave-15.30",    0x40000, 0x8000, CRC(c253c73a) SHA1(3e187f6b9ca769772990068abe7b309417147d39) )    /* 2nd plane */
1713   ROM_LOAD( "bublcave-16.31",    0x48000, 0x8000, CRC(e66c92ee) SHA1(12ea193c54121d08ad110c94cc075e29fef3ff85) )
1714   ROM_LOAD( "bublcave-17.32",    0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) )
1715   ROM_LOAD( "bublcave-18.33",    0x58000, 0x8000, CRC(47ee2544) SHA1(c6946e824043a312ed437e548a64ef599effbd42) )
1716   ROM_LOAD( "bublcave-19.34",    0x60000, 0x8000, CRC(1ceeb1fa) SHA1(eb29ff896d149f7ab4cf38a338df39df14ccc20c) )
1717   ROM_LOAD( "bublcave-20.35",    0x68000, 0x8000, CRC(64322e24) SHA1(acff8a9fcaf74f198653080759898d15cccf04e8) )
1718
1719   ROM_REGION( 0x0100, "proms", 0 )
1720   ROM_LOAD( "a71-25.41",         0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) )   /* video timing */
1721ROM_END
1722
1723ROM_START( bublcave10 )
1724   ROM_REGION( 0x30000, "maincpu", 0 )
1725   ROM_LOAD( "bublcave10-06.51",  0x00000, 0x08000, CRC(185cc219) SHA1(dfb312f144fb01c07581cb8ea55ab0dc92ccd5b2) )
1726   ROM_LOAD( "bublcave10-05.52",  0x10000, 0x10000, CRC(381cdde7) SHA1(0c9de44d7dbad754e873af8ddb5a2736f5ec2096) )
1727
1728   ROM_REGION( 0x10000, "slave", 0 )
1729   ROM_LOAD( "bublcave10-08.37",  0x0000, 0x08000, CRC(026a68e1) SHA1(9e54310a9f1f5187ea6eb49d9189865b44708a7e) )
1730
1731   ROM_REGION( 0x10000, "audiocpu", 0 )
1732   ROM_LOAD( "a78-07.46",         0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) )
1733
1734   ROM_REGION( 0x10000, "mcu", 0 )
1735   ROM_LOAD( "a78-01.17",         0xf000, 0x1000, CRC(b1bfb53d) SHA1(31b8f31acd3aa394acd80db362774749842e1285) )
1736
1737   ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT )
1738   ROM_LOAD( "bublcave-09.12",    0x00000, 0x8000, CRC(b90b7eef) SHA1(de72e4635843ad76248aa3b4aa8f8a0bfd53879e) )    /* 1st plane */
1739   ROM_LOAD( "bublcave-10.13",    0x08000, 0x8000, CRC(4fb22f05) SHA1(880104e86dbd00ae657cbc768722427503b6a59f) )
1740   ROM_LOAD( "bublcave-11.14",    0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) )
1741   ROM_LOAD( "bublcave-12.15",    0x18000, 0x8000, CRC(e49eb49e) SHA1(2e05dc8833e10bef1a317d238c39fb9f362e9997) )
1742   ROM_LOAD( "bublcave-13.16",    0x20000, 0x8000, CRC(61919734) SHA1(2c07e29f3dcc972d5eb47679ad81a0d7656b0cb2) )
1743   ROM_LOAD( "bublcave-14.17",    0x28000, 0x8000, CRC(7e3a13bd) SHA1(bd4dba799340fa599f11cc68e03efe70ba6ba99b) )
1744   ROM_LOAD( "bublcave-15.30",    0x40000, 0x8000, CRC(c253c73a) SHA1(3e187f6b9ca769772990068abe7b309417147d39) )    /* 2nd plane */
1745   ROM_LOAD( "bublcave-16.31",    0x48000, 0x8000, CRC(e66c92ee) SHA1(12ea193c54121d08ad110c94cc075e29fef3ff85) )
1746   ROM_LOAD( "bublcave-17.32",    0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) )
1747   ROM_LOAD( "bublcave-18.33",    0x58000, 0x8000, CRC(47ee2544) SHA1(c6946e824043a312ed437e548a64ef599effbd42) )
1748   ROM_LOAD( "bublcave-19.34",    0x60000, 0x8000, CRC(1ceeb1fa) SHA1(eb29ff896d149f7ab4cf38a338df39df14ccc20c) )
1749   ROM_LOAD( "bublcave-20.35",    0x68000, 0x8000, CRC(64322e24) SHA1(acff8a9fcaf74f198653080759898d15cccf04e8) )
1750
1751   ROM_REGION( 0x0100, "proms", 0 )
1752   ROM_LOAD( "a71-25.41",         0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) )   /* video timing */
1753ROM_END
1754
1755ROM_START( bublboblb )
1756   ROM_REGION( 0x30000, "maincpu", 0 )
1757   ROM_LOAD( "bbaladar.3",   0x00000, 0x8000, CRC(31bfc6fb) SHA1(6a72086d415a69b9e5c003ec6cf7858e8c4b346f) )
1758   /* ROMs banked at 8000-bfff */
1759   ROM_LOAD( "bbaladar.5",   0x10000, 0x8000, CRC(16386e9a) SHA1(77fa3f5ecce5c79ba52098c0870482459926b415) )
1760   ROM_LOAD( "bbaladar.4",   0x18000, 0x8000, CRC(0c4bcb07) SHA1(3e3f7fa098d6be61d265cab5258dbd0e279bd8ed) )
1761
1762   ROM_REGION( 0x10000, "slave", 0 )   /* 64k for the second CPU */
1763   ROM_LOAD( "a78-08.37",    0x0000, 0x08000, CRC(ae11a07b) SHA1(af7a335c8da637103103cc274e077f123908ebb7) )
1764
1765   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for the third CPU */
1766   ROM_LOAD( "a78-07.46",    0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) )
1767
1768   ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT )
1769   ROM_LOAD( "a78-09.12",    0x00000, 0x8000, CRC(20358c22) SHA1(2297af6c53d5807bf90a8e081075b8c72a994fc5) )    /* 1st plane */
1770   ROM_LOAD( "a78-10.13",    0x08000, 0x8000, CRC(930168a9) SHA1(fd358c3c3b424bca285f67a1589eb98a345ff670) )
1771   ROM_LOAD( "a78-11.14",    0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) )
1772   ROM_LOAD( "a78-12.15",    0x18000, 0x8000, CRC(d045549b) SHA1(0c12077d3ddc2ce6aa45a0224ad5540f3f218446) )
1773   ROM_LOAD( "a78-13.16",    0x20000, 0x8000, CRC(d0af35c5) SHA1(c5a89f4d73acc0db86654540b3abfd77b3757db5) )
1774   ROM_LOAD( "a78-14.17",    0x28000, 0x8000, CRC(7b5369a8) SHA1(1307b26d80e6f36ebe6c442bebec41d20066eaf9) )
1775   /* 0x30000-0x3ffff empty */
1776   ROM_LOAD( "a78-15.30",    0x40000, 0x8000, CRC(6b61a413) SHA1(44eddf12fb46fceca2addbe6da929aaea7636b13) )    /* 2nd plane */
1777   ROM_LOAD( "a78-16.31",    0x48000, 0x8000, CRC(b5492d97) SHA1(d5b045e3ebaa44809757a4220cefb3c6815470da) )
1778   ROM_LOAD( "a78-17.32",    0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) )
1779   ROM_LOAD( "a78-18.33",    0x58000, 0x8000, CRC(9f243b68) SHA1(32dce8d311a4be003693182a999e4053baa6bb0a) )
1780   ROM_LOAD( "a78-19.34",    0x60000, 0x8000, CRC(66e9438c) SHA1(b94e62b6fbe7f4e08086d0365afc5cff6e0ccafd) )
1781   ROM_LOAD( "a78-20.35",    0x68000, 0x8000, CRC(9ef863ad) SHA1(29f91b5a3765e4d6e6c3382db1d8d8297b6e56c8) )
1782   /* 0x70000-0x7ffff empty */
1783
1784   ROM_REGION( 0x0100, "proms", 0 )
1785   ROM_LOAD( "a71-25.41",    0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) )    /* video timing */
1786
1787   ROM_REGION( 0x0600, "plds", 0 )
1788   ROM_LOAD( "pal16r4.u36", 0x0000, 0x0104, CRC(22fe26ac) SHA1(bbbfcbe6faded4af7ceec57b800297c054a997da) )
1789   ROM_LOAD( "pal16l8.u38", 0x0200, 0x0104, CRC(c02d9663) SHA1(5d23cfd96f072981fd5fcf0dd7e98459da58b662) )
1790   ROM_LOAD( "pal16l8.u4",  0x0400, 0x0104, CRC(077d20a8) SHA1(8e568ffd6f66c3dd61708dd0f3be9c2ed488ae4b) )
1791ROM_END
1792
15301793/*************************************
15311794 *
15321795 *  Driver initialization
r249902r249903
15981861GAME( 1986, sboblbobl,  bublbobl, boblbobl, sboblbobl,  bublbobl_state, bublbobl, ROT0,  "bootleg (Datsu)", "Super Bobble Bobble (bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
15991862GAME( 1986, sboblbobla, bublbobl, boblbobl, boblbobl,   bublbobl_state, bublbobl, ROT0,  "bootleg", "Super Bobble Bobble (bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
16001863GAME( 1986, sboblboblb, bublbobl, boblbobl, sboblboblb, bublbobl_state, bublbobl, ROT0,  "bootleg", "Super Bobble Bobble (bootleg, set 3)", MACHINE_SUPPORTS_SAVE )
1864GAME( 1986, sboblboblc, bublbobl, boblbobl, sboblboblb, bublbobl_state, bublbobl, ROT0,  "bootleg", "Super Bubble Bobble (bootleg)", MACHINE_SUPPORTS_SAVE ) // the title screen on this one isn't hacked
16011865GAME( 1986, bub68705,   bublbobl, bub68705, bublbobl,   bublbobl_state, bublbobl, ROT0,  "bootleg", "Bubble Bobble (bootleg with 68705)", MACHINE_SUPPORTS_SAVE )
16021866
16031867GAME( 1987, dland,      bublbobl, boblbobl, dland,      bublbobl_state, dland,    ROT0,  "bootleg", "Dream Land / Super Dream Land (bootleg of Bubble Bobble)", MACHINE_SUPPORTS_SAVE )
1868
1869GAME( 2013, bbredux,    bublbobl, boblbobl, boblbobl, bublbobl_state, bublbobl, ROT0, "bootleg (Punji)",  "Bubble Bobble ('bootleg redux' hack for Bobble Bobble PCB)", MACHINE_SUPPORTS_SAVE ) // for use on non-MCU bootleg boards (Bobble Bobble etc.) has more faithful simulation of the protection device (JAN-04-2015 release)
1870GAME( 2013, bublboblb,  bublbobl, boblbobl, boblcave, bublbobl_state, bublbobl, ROT0, "bootleg (Aladar)", "Bubble Bobble (for Bobble Bobble PCB)", MACHINE_SUPPORTS_SAVE ) // alt bootleg/hack to restore proper MCU behavior to bootleg boards
1871
1872GAME( 2013, bublcave,   bublbobl, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "hack (Bisboch and Aladar)", "Bubble Bobble: Lost Cave V1.2", MACHINE_SUPPORTS_SAVE )
1873GAME( 2013, boblcave,   bublbobl, boblbobl, boblcave, bublbobl_state, bublbobl, ROT0, "hack (Bisboch and Aladar)", "Bubble Bobble: Lost Cave V1.2 (for Bobble Bobble PCB)", MACHINE_SUPPORTS_SAVE )
1874
1875GAME( 2012, bublcave11, bublbobl, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "hack (Bisboch and Aladar)", "Bubble Bobble: Lost Cave V1.1", MACHINE_SUPPORTS_SAVE )
1876GAME( 2012, bublcave10, bublbobl, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "hack (Bisboch and Aladar)", "Bubble Bobble: Lost Cave V1.0", MACHINE_SUPPORTS_SAVE )
1877
1878
trunk/src/mame/drivers/exelv.c
r249902r249903
523523   MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_linear_slot, "exelvision_cart")
524524   MCFG_GENERIC_EXTENSIONS("bin,rom")
525525
526   MCFG_SOFTWARE_LIST_ADD("cart_list", "exl100_cart")
526   MCFG_SOFTWARE_LIST_ADD("cart_list", "exl100")
527527MACHINE_CONFIG_END
528528
529529
trunk/src/mame/drivers/osborne1.c
r249902r249903
202202
203203   MCFG_SCREEN_ADD("screen", RASTER)
204204   MCFG_SCREEN_UPDATE_DRIVER(osborne1_state, screen_update)
205   MCFG_SCREEN_RAW_PARAMS( MAIN_CLOCK, 1024, 0, 832, 260, 0, 240 )
205   MCFG_SCREEN_RAW_PARAMS( MAIN_CLOCK, 1024, 0, 104*8, 260, 0, 24*10 )
206206   MCFG_SCREEN_PALETTE("palette")
207207   MCFG_GFXDECODE_ADD("gfxdecode", "palette", osborne1)
208208   MCFG_PALETTE_ADD_MONOCHROME_GREEN_HIGHLIGHT("palette")
trunk/src/mame/drivers/pc.c
r249902r249903
485485   ROMX_LOAD( "eagle 1600 62-2732-002 rev e u404.bin",0xfe001, 0x1000, CRC(be6492d4) SHA1(ef25faf33e8336121d030e38e177be39be8afb7a), ROM_SKIP(1))
486486
487487   ROM_REGION(0x8000,"gfx1", 0)
488   ROM_LOAD("eagle 1600 video char gen u301.bin", 0x00000, 0x2000, CRC(1a7e552f) SHA1(749058783eec9d96a70dc5fdbfccb56196f889dc))
488   ROM_LOAD("eagle 1600 video char gen u301.bin", 0x00000, 0x1000, CRC(1a7e552f) SHA1(749058783eec9d96a70dc5fdbfccb56196f889dc))
489489ROM_END
490490
491491/***************************************************************************
trunk/src/mame/drivers/sega_sawatte.c
r0r249903
1// license:BSD-3-Clause
2// copyright-holders:
3
4/* Sega Sawatte / S-Pico
5
6a sound-only Pico type system (one of the boards even says S-PICO)
7
8CPU is unknown (I can't see one?!) cartridge dumps should be good, but not confirmed, might be data only for an MCU?
9driver does nothing except allow the softlist to be connected to the -romident commands etc.
10
11
12images supplied by Team Europe
13
14http://mamedev.emulab.it/haze/reference/sawatte/cartridge_pcb_front.jpg
15http://mamedev.emulab.it/haze/reference/sawatte/cartridge_pcb_back.jpg
16
17http://mamedev.emulab.it/haze/reference/sawatte/PCB_Front.jpg
18http://mamedev.emulab.it/haze/reference/sawatte/PCB_Back.jpg
19
20http://mamedev.emulab.it/haze/reference/sawatte/Console_Front.JPG
21http://mamedev.emulab.it/haze/reference/sawatte/Console_Back.JPG
22
23http://mamedev.emulab.it/haze/reference/sawatte/cartridge_example.jpg
24
25*/
26
27#include "emu.h"
28
29
30
31class sawatte_state : public driver_device
32{
33public:
34   sawatte_state(const machine_config &mconfig, device_type type, const char *tag)
35      : driver_device(mconfig, type, tag)
36   { }
37
38protected:
39};
40
41
42static INPUT_PORTS_START( sawatte )
43INPUT_PORTS_END
44
45
46static MACHINE_CONFIG_START( sawatte, sawatte_state )
47   MCFG_SOFTWARE_LIST_ADD("cart_list", "sawatte")
48MACHINE_CONFIG_END
49
50ROM_START( sawatte )
51ROM_END
52
53
54GAME( 1996?, sawatte,    0,       sawatte,  sawatte, driver_device,  0,  ROT0,  "Sega",    "Sawatte",          MACHINE_IS_SKELETON )
trunk/src/mame/drivers/subhuntr.c
r249902r249903
7878static ADDRESS_MAP_START( subhuntr_io_map, AS_IO, 8, subhuntr_state )
7979//   AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE( ,  )
8080//   AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READWRITE( ,  )
81//   AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE")
81   AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ_PORT("SENSE")
8282ADDRESS_MAP_END
8383
8484/***************************************************************************
r249902r249903
109109
110110INTERRUPT_GEN_MEMBER(subhuntr_state::subhuntr_interrupt)
111111{
112//   device.execute().set_input_line_and_vector(0, HOLD_LINE, 0x03);
112   device.execute().set_input_line_and_vector(0, HOLD_LINE, 0x03);
113113}
114114
115115static const gfx_layout tiles8x8_layout =
trunk/src/mame/includes/neogeo.h
r249902r249903
392392   ROM_LOAD16_WORD_SWAP_BIOS( 0, "sp-s2.sp1",         0x00000, 0x020000, CRC(9036d879) SHA1(4f5ed7105b7128794654ce82b51723e16e389543) ) /* Europe, 1 Slot, has also been found on 2 Slot and 4 Slot (the old hacks were designed for this one) */ \
393393   ROM_SYSTEM_BIOS( 1, "euro-s1", "Europe MVS (Ver. 1)" ) \
394394   ROM_LOAD16_WORD_SWAP_BIOS( 1, "sp-s.sp1",          0x00000, 0x020000, CRC(c7f2fa45) SHA1(09576ff20b4d6b365e78e6a5698ea450262697cd) ) /* Europe, 4 Slot */ \
395   \
395396   ROM_SYSTEM_BIOS( 2, "us", "US MVS (Ver. 2?)" ) \
396397   ROM_LOAD16_WORD_SWAP_BIOS( 2, "sp-u2.sp1",         0x00000, 0x020000, CRC(e72943de) SHA1(5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb) ) /* US, 2 Slot */ \
397398   ROM_SYSTEM_BIOS( 3, "us-e", "US MVS (Ver. 1)" ) \
398399   ROM_LOAD16_WORD_SWAP_BIOS( 3, "sp-e.sp1",          0x00000, 0x020000, CRC(2723a5b5) SHA1(5dbff7531cf04886cde3ef022fb5ca687573dcb8) ) /* US, 6 Slot (V5?) */ \
399   ROM_SYSTEM_BIOS( 4, "asia", "Asia MVS (Ver. 3)" ) \
400   ROM_LOAD16_WORD_SWAP_BIOS( 4, "asia-s3.rom",       0x00000, 0x020000, CRC(91b64be3) SHA1(720a3e20d26818632aedf2c2fd16c54f213543e1) ) /* Asia */ \
401   ROM_SYSTEM_BIOS( 5, "japan", "Japan MVS (Ver. 3)" ) \
402   ROM_LOAD16_WORD_SWAP_BIOS( 5, "vs-bios.rom",       0x00000, 0x020000, CRC(f0e8f27d) SHA1(ecf01eda815909f1facec62abf3594eaa8d11075) ) /* Japan, Ver 6 VS Bios */ \
403   ROM_SYSTEM_BIOS( 6, "japan-s2", "Japan MVS (Ver. 2)" ) \
404   ROM_LOAD16_WORD_SWAP_BIOS( 6, "sp-j2.sp1",         0x00000, 0x020000, CRC(acede59c) SHA1(b6f97acd282fd7e94d9426078a90f059b5e9dd91) ) /* Japan, Older */ \
405   ROM_SYSTEM_BIOS( 7, "japan-s1", "Japan MVS (Ver. 1)" ) \
406   ROM_LOAD16_WORD_SWAP_BIOS( 7, "sp1.jipan.1024",    0x00000, 0x020000, CRC(9fb0abe4) SHA1(18a987ce2229df79a8cf6a84f968f0e42ce4e59d) ) /* Japan, Older */ \
407   ROM_SYSTEM_BIOS( 8, "mv1c", "NEO-MVH MV1C" ) \
408   ROM_LOAD16_WORD_SWAP_BIOS( 8, "sp-45.sp1",         0x00000, 0x080000, CRC(03cc9f6a) SHA1(cdf1f49e3ff2bac528c21ed28449cf35b7957dc1) ) /* Latest Asia bios */ \
409   ROM_SYSTEM_BIOS( 9, "japan-j3", "Japan MVS (J3)" ) \
410   ROM_LOAD16_WORD_SWAP_BIOS( 9, "japan-j3.bin",      0x00000, 0x020000, CRC(dff6d41f) SHA1(e92910e20092577a4523a6b39d578a71d4de7085) ) /* Latest Japan bios; correct chip label unknown */ \
411   ROM_SYSTEM_BIOS(10, "japan-hotel", "Custom Japanese Hotel" ) \
412   ROM_LOAD16_WORD_SWAP_BIOS(10, "sp-1v1_3db8c.bin",  0x00000, 0x020000, CRC(162f0ebe) SHA1(fe1c6dd3dfcf97d960065b1bb46c1e11cb7bf271) ) /* 'rare MVS found in japanese hotels' shows v1.3 in test mode */ \
413   ROM_SYSTEM_BIOS(11, "unibios31", "Universe Bios (Hack, Ver. 3.1)" ) \
414   ROM_LOAD16_WORD_SWAP_BIOS(11, "uni-bios_3_1.rom",  0x00000, 0x020000, CRC(0c58093f) SHA1(29329a3448c2505e1ff45ffa75e61e9693165153) ) /* Universe Bios v3.1 (hack) */ \
415   ROM_SYSTEM_BIOS(12, "unibios30", "Universe Bios (Hack, Ver. 3.0)" ) \
416   ROM_LOAD16_WORD_SWAP_BIOS(12, "uni-bios_3_0.rom",  0x00000, 0x020000, CRC(a97c89a9) SHA1(97a5eff3b119062f10e31ad6f04fe4b90d366e7f) ) /* Universe Bios v3.0 (hack) */ \
417   ROM_SYSTEM_BIOS(13, "unibios23", "Universe Bios (Hack, Ver. 2.3)" ) \
418   ROM_LOAD16_WORD_SWAP_BIOS(13, "uni-bios_2_3.rom",  0x00000, 0x020000, CRC(27664eb5) SHA1(5b02900a3ccf3df168bdcfc98458136fd2b92ac0) ) /* Universe Bios v2.3 (hack) */ \
419   ROM_SYSTEM_BIOS(14, "unibios23o", "Universe Bios (Hack, Ver. 2.3, older?)" ) \
420   ROM_LOAD16_WORD_SWAP_BIOS(14, "uni-bios_2_3o.rom", 0x00000, 0x020000, CRC(601720ae) SHA1(1b8a72c720cdb5ee3f1d735bbcf447b09204b8d9) ) /* Universe Bios v2.3 (hack) alt version, withdrawn? */ \
421   ROM_SYSTEM_BIOS(15, "unibios22", "Universe Bios (Hack, Ver. 2.2)" ) \
422   ROM_LOAD16_WORD_SWAP_BIOS(15, "uni-bios_2_2.rom",  0x00000, 0x020000, CRC(2d50996a) SHA1(5241a4fb0c63b1a23fd1da8efa9c9a9bd3b4279c) ) /* Universe Bios v2.2 (hack) */ \
423   ROM_SYSTEM_BIOS(16, "unibios21", "Universe Bios (Hack, Ver. 2.1)" ) \
424   ROM_LOAD16_WORD_SWAP_BIOS(16, "uni-bios_2_1.rom",  0x00000, 0x020000, CRC(8dabf76b) SHA1(c23732c4491d966cf0373c65c83c7a4e88f0082c) ) /* Universe Bios v2.1 (hack) */ \
425   ROM_SYSTEM_BIOS(17, "unibios20", "Universe Bios (Hack, Ver. 2.0)" ) \
426   ROM_LOAD16_WORD_SWAP_BIOS(17, "uni-bios_2_0.rom",  0x00000, 0x020000, CRC(0c12c2ad) SHA1(37bcd4d30f3892078b46841d895a6eff16dc921e) ) /* Universe Bios v2.0 (hack) */ \
427   ROM_SYSTEM_BIOS(18, "unibios13", "Universe Bios (Hack, Ver. 1.3)" ) \
428   ROM_LOAD16_WORD_SWAP_BIOS(18, "uni-bios_1_3.rom",  0x00000, 0x020000, CRC(b24b44a0) SHA1(eca8851d30557b97c309a0d9f4a9d20e5b14af4e) ) /* Universe Bios v1.3 (hack) */ \
429   ROM_SYSTEM_BIOS(19, "unibios12", "Universe Bios (Hack, Ver. 1.2)" ) \
430   ROM_LOAD16_WORD_SWAP_BIOS(19, "uni-bios_1_2.rom",  0x00000, 0x020000, CRC(4fa698e9) SHA1(682e13ec1c42beaa2d04473967840c88fd52c75a) ) /* Universe Bios v1.2 (hack) */ \
431   ROM_SYSTEM_BIOS(20, "unibios12o", "Universe Bios (Hack, Ver. 1.2, older)" ) \
432   ROM_LOAD16_WORD_SWAP_BIOS(20, "uni-bios_1_2o.rom", 0x00000, 0x020000, CRC(e19d3ce9) SHA1(af88ef837f44a3af2d7144bb46a37c8512b67770) ) /* Universe Bios v1.2 (hack) alt version */ \
433   ROM_SYSTEM_BIOS(21, "unibios11", "Universe Bios (Hack, Ver. 1.1)" ) \
434   ROM_LOAD16_WORD_SWAP_BIOS(21, "uni-bios_1_1.rom",  0x00000, 0x020000, CRC(5dda0d84) SHA1(4153d533c02926a2577e49c32657214781ff29b7) ) /* Universe Bios v1.1 (hack) */ \
435   ROM_SYSTEM_BIOS(22, "unibios10", "Universe Bios (Hack, Ver. 1.0)" ) \
436   ROM_LOAD16_WORD_SWAP_BIOS(22, "uni-bios_1_0.rom",  0x00000, 0x020000, CRC(0ce453a0) SHA1(3b4c0cd26c176fc6b26c3a2f95143dd478f6abf9) ) /* Universe Bios v1.0 (hack) */
400   ROM_SYSTEM_BIOS( 4, "us-v2", "US MVS (4 slot, Ver 2)" ) \
401   ROM_LOAD16_WORD_SWAP_BIOS(4, "v2.bin",            0x00000, 0x020000, CRC(62f021f4) SHA1(62d372269e1b3161c64ae21123655a0a22ffd1bb) ) /* US, 4 slot */ \
402   \
403   ROM_SYSTEM_BIOS( 5, "asia", "Asia MVS (Ver. 3)" ) \
404   ROM_LOAD16_WORD_SWAP_BIOS( 5, "asia-s3.rom",       0x00000, 0x020000, CRC(91b64be3) SHA1(720a3e20d26818632aedf2c2fd16c54f213543e1) ) /* Asia */ \
405   \
406   ROM_SYSTEM_BIOS( 6, "japan", "Japan MVS (Ver. 3)" ) \
407   ROM_LOAD16_WORD_SWAP_BIOS( 6, "vs-bios.rom",       0x00000, 0x020000, CRC(f0e8f27d) SHA1(ecf01eda815909f1facec62abf3594eaa8d11075) ) /* Japan, Ver 6 VS Bios */ \
408   ROM_SYSTEM_BIOS( 7, "japan-s2", "Japan MVS (Ver. 2)" ) \
409   ROM_LOAD16_WORD_SWAP_BIOS( 7, "sp-j2.sp1",         0x00000, 0x020000, CRC(acede59c) SHA1(b6f97acd282fd7e94d9426078a90f059b5e9dd91) ) /* Japan, Older */ \
410   ROM_SYSTEM_BIOS( 8, "japan-s1", "Japan MVS (Ver. 1)" ) \
411   ROM_LOAD16_WORD_SWAP_BIOS( 8, "sp1.jipan.1024",    0x00000, 0x020000, CRC(9fb0abe4) SHA1(18a987ce2229df79a8cf6a84f968f0e42ce4e59d) ) /* Japan, Older */ \
412   ROM_SYSTEM_BIOS( 9, "mv1c", "NEO-MVH MV1C" ) \
413   ROM_LOAD16_WORD_SWAP_BIOS( 9, "sp-45.sp1",         0x00000, 0x080000, CRC(03cc9f6a) SHA1(cdf1f49e3ff2bac528c21ed28449cf35b7957dc1) ) /* Latest Asia bios */ \
414   ROM_SYSTEM_BIOS( 10, "japan-j3", "Japan MVS (J3)" ) \
415   ROM_LOAD16_WORD_SWAP_BIOS( 10, "japan-j3.bin",      0x00000, 0x020000, CRC(dff6d41f) SHA1(e92910e20092577a4523a6b39d578a71d4de7085) ) /* Latest Japan bios; correct chip label unknown */ \
416   ROM_SYSTEM_BIOS(11, "japan-hotel", "Custom Japanese Hotel" ) \
417   ROM_LOAD16_WORD_SWAP_BIOS(11, "sp-1v1_3db8c.bin",  0x00000, 0x020000, CRC(162f0ebe) SHA1(fe1c6dd3dfcf97d960065b1bb46c1e11cb7bf271) ) /* 'rare MVS found in japanese hotels' shows v1.3 in test mode */ \
418   \
419   ROM_SYSTEM_BIOS(12, "unibios31", "Universe Bios (Hack, Ver. 3.1)" ) \
420   ROM_LOAD16_WORD_SWAP_BIOS(12, "uni-bios_3_1.rom",  0x00000, 0x020000, CRC(0c58093f) SHA1(29329a3448c2505e1ff45ffa75e61e9693165153) ) /* Universe Bios v3.1 (hack) */ \
421   ROM_SYSTEM_BIOS(13, "unibios30", "Universe Bios (Hack, Ver. 3.0)" ) \
422   ROM_LOAD16_WORD_SWAP_BIOS(13, "uni-bios_3_0.rom",  0x00000, 0x020000, CRC(a97c89a9) SHA1(97a5eff3b119062f10e31ad6f04fe4b90d366e7f) ) /* Universe Bios v3.0 (hack) */ \
423   ROM_SYSTEM_BIOS(14, "unibios23", "Universe Bios (Hack, Ver. 2.3)" ) \
424   ROM_LOAD16_WORD_SWAP_BIOS(14, "uni-bios_2_3.rom",  0x00000, 0x020000, CRC(27664eb5) SHA1(5b02900a3ccf3df168bdcfc98458136fd2b92ac0) ) /* Universe Bios v2.3 (hack) */ \
425   ROM_SYSTEM_BIOS(15, "unibios23o", "Universe Bios (Hack, Ver. 2.3, older?)" ) \
426   ROM_LOAD16_WORD_SWAP_BIOS(15, "uni-bios_2_3o.rom", 0x00000, 0x020000, CRC(601720ae) SHA1(1b8a72c720cdb5ee3f1d735bbcf447b09204b8d9) ) /* Universe Bios v2.3 (hack) alt version, withdrawn? */ \
427   ROM_SYSTEM_BIOS(16, "unibios22", "Universe Bios (Hack, Ver. 2.2)" ) \
428   ROM_LOAD16_WORD_SWAP_BIOS(16, "uni-bios_2_2.rom",  0x00000, 0x020000, CRC(2d50996a) SHA1(5241a4fb0c63b1a23fd1da8efa9c9a9bd3b4279c) ) /* Universe Bios v2.2 (hack) */ \
429   ROM_SYSTEM_BIOS(17, "unibios21", "Universe Bios (Hack, Ver. 2.1)" ) \
430   ROM_LOAD16_WORD_SWAP_BIOS(17, "uni-bios_2_1.rom",  0x00000, 0x020000, CRC(8dabf76b) SHA1(c23732c4491d966cf0373c65c83c7a4e88f0082c) ) /* Universe Bios v2.1 (hack) */ \
431   ROM_SYSTEM_BIOS(18, "unibios20", "Universe Bios (Hack, Ver. 2.0)" ) \
432   ROM_LOAD16_WORD_SWAP_BIOS(18, "uni-bios_2_0.rom",  0x00000, 0x020000, CRC(0c12c2ad) SHA1(37bcd4d30f3892078b46841d895a6eff16dc921e) ) /* Universe Bios v2.0 (hack) */ \
433   ROM_SYSTEM_BIOS(19, "unibios13", "Universe Bios (Hack, Ver. 1.3)" ) \
434   ROM_LOAD16_WORD_SWAP_BIOS(19, "uni-bios_1_3.rom",  0x00000, 0x020000, CRC(b24b44a0) SHA1(eca8851d30557b97c309a0d9f4a9d20e5b14af4e) ) /* Universe Bios v1.3 (hack) */ \
435   ROM_SYSTEM_BIOS(20, "unibios12", "Universe Bios (Hack, Ver. 1.2)" ) \
436   ROM_LOAD16_WORD_SWAP_BIOS(20, "uni-bios_1_2.rom",  0x00000, 0x020000, CRC(4fa698e9) SHA1(682e13ec1c42beaa2d04473967840c88fd52c75a) ) /* Universe Bios v1.2 (hack) */ \
437   ROM_SYSTEM_BIOS(21, "unibios12o", "Universe Bios (Hack, Ver. 1.2, older)" ) \
438   ROM_LOAD16_WORD_SWAP_BIOS(21, "uni-bios_1_2o.rom", 0x00000, 0x020000, CRC(e19d3ce9) SHA1(af88ef837f44a3af2d7144bb46a37c8512b67770) ) /* Universe Bios v1.2 (hack) alt version */ \
439   ROM_SYSTEM_BIOS(22, "unibios11", "Universe Bios (Hack, Ver. 1.1)" ) \
440   ROM_LOAD16_WORD_SWAP_BIOS(22, "uni-bios_1_1.rom",  0x00000, 0x020000, CRC(5dda0d84) SHA1(4153d533c02926a2577e49c32657214781ff29b7) ) /* Universe Bios v1.1 (hack) */ \
441   ROM_SYSTEM_BIOS(23, "unibios10", "Universe Bios (Hack, Ver. 1.0)" ) \
442   ROM_LOAD16_WORD_SWAP_BIOS(23, "uni-bios_1_0.rom",  0x00000, 0x020000, CRC(0ce453a0) SHA1(3b4c0cd26c176fc6b26c3a2f95143dd478f6abf9) ) /* Universe Bios v1.0 (hack) */
437443
438444
439445
trunk/src/mame/includes/osborne1.h
r249902r249903
9696   /* video related */
9797   UINT8   m_screen_pac;
9898   UINT8   m_resolution;
99   UINT8   m_hc_left;
99100   UINT8   m_new_start_x;
100101   UINT8   m_new_start_y;
101102   emu_timer *m_video_timer;
trunk/src/mame/machine/osborne1.c
r249902r249903
113113         break;
114114      case 0x400: /* SCREEN-PAC */
115115         m_resolution = data & 0x01;
116         m_hc_left = (data >> 1) & 0x01;
116117         break;
117118      case 0x900: /* IEEE488 PIA */
118119         m_pia0->write(space, offset & 0x03, data );
r249902r249903
342343
343344TIMER_CALLBACK_MEMBER(osborne1_state::osborne1_video_callback)
344345{
345   int y = machine().first_screen()->vpos();
346   UINT8 ra=0,chr,gfx,dim;
347   UINT16 x,ma;
346   int const y = machine().first_screen()->vpos();
347   UINT8 ra=0;
348348
349349   /* Check for start of frame */
350350   if ( y == 0 )
r249902r249903
361361   {
362362      ra = y % 10;
363363      /* Draw a line of the display */
364      ma = (m_new_start_y + (y/10)) * 128 + m_new_start_x;
364      bool const hires = m_screen_pac & m_resolution;
365      UINT16 const row = (m_new_start_y + (y/10)) * 128 & 0xF80;
366      UINT16 const col = (m_new_start_x & (hires ? 0x60 : 0x7F)) - ((hires && m_hc_left) ? 8 : 0);
365367      UINT16 *p = &m_bitmap.pix16(y);
366368
367      for ( x = 0; x < ((m_screen_pac && m_resolution) ? 104 : 52); x++ )
369      for ( UINT16 x = 0; x < (hires ? 104 : 52); x++ )
368370      {
369         chr = m_ram->pointer()[ 0xF000 + ( (ma+x) & 0xFFF ) ];
370         dim = m_ram->pointer()[ 0x10000 + ( (ma+x) & 0xFFF ) ] & 0x80;
371         UINT16 offs = row | ((col + x) & 0x7F);
372         UINT8 const chr = m_ram->pointer()[ 0xF000 + offs ];
373         UINT8 const dim = m_ram->pointer()[ 0x10000 + offs ] & 0x80;
371374
372         if ( (chr & 0x80) && (ra == 9) )
373            gfx = 0xFF;
374         else
375            gfx = m_p_chargen[ (ra << 7) | ( chr & 0x7F ) ];
375         UINT8 const gfx = ((chr & 0x80) && (ra == 9)) ? 0xFF : m_p_chargen[ (ra << 7) | (chr & 0x7F) ];
376376
377377         /* Display a scanline of a character */
378378         *p++ = BIT(gfx, 7) ? ( dim ? 2 : 1 ) : 0;
379         if (!m_screen_pac || !m_resolution) { p[0] = p[-1]; p++; }
379         if (!hires) { p[0] = p[-1]; p++; }
380380         *p++ = BIT(gfx, 6) ? ( dim ? 2 : 1 ) : 0;
381         if (!m_screen_pac || !m_resolution) { p[0] = p[-1]; p++; }
381         if (!hires) { p[0] = p[-1]; p++; }
382382         *p++ = BIT(gfx, 5) ? ( dim ? 2 : 1 ) : 0;
383         if (!m_screen_pac || !m_resolution) { p[0] = p[-1]; p++; }
383         if (!hires) { p[0] = p[-1]; p++; }
384384         *p++ = BIT(gfx, 4) ? ( dim ? 2 : 1 ) : 0;
385         if (!m_screen_pac || !m_resolution) { p[0] = p[-1]; p++; }
385         if (!hires) { p[0] = p[-1]; p++; }
386386         *p++ = BIT(gfx, 3) ? ( dim ? 2 : 1 ) : 0;
387         if (!m_screen_pac || !m_resolution) { p[0] = p[-1]; p++; }
387         if (!hires) { p[0] = p[-1]; p++; }
388388         *p++ = BIT(gfx, 2) ? ( dim ? 2 : 1 ) : 0;
389         if (!m_screen_pac || !m_resolution) { p[0] = p[-1]; p++; }
389         if (!hires) { p[0] = p[-1]; p++; }
390390         *p++ = BIT(gfx, 1) ? ( dim ? 2 : 1 ) : 0;
391         if (!m_screen_pac || !m_resolution) { p[0] = p[-1]; p++; }
391         if (!hires) { p[0] = p[-1]; p++; }
392392         *p++ = BIT(gfx, 0) ? ( dim ? 2 : 1 ) : 0;
393         if (!m_screen_pac || !m_resolution) { p[0] = p[-1]; p++; }
393         if (!hires) { p[0] = p[-1]; p++; }
394394      }
395395   }
396396
r249902r249903
425425
426426   m_screen_pac = 0 != (m_cnf->read() & 0x01);
427427   m_resolution = 0;
428   m_hc_left = 0;
428429   m_p_chargen = memregion( "chargen" )->base();
429430
430431   memset( m_ram->pointer() + 0x10000, 0xFF, 0x1000 );
trunk/src/mame/mess.lst
r249902r249903
8181picou    // 1994 Sega Pico (USA)
8282picoj    // 1993 Sega Pico (Japan)
8383copera  // 1993 Sega / Yamaha
84sawatte   //
8485segacd  // 1992 Sega Sega CD (USA)
8586megacd  // 1993 Sega Mega-CD (Europe)
8687megacda // 1993 Sega Mega-CD (Asia)
trunk/src/osd/modules/debugger/osx/debugview.m
r249902r249903
404404   [text addAttribute:NSFontAttributeName value:font range:run];
405405   NSPasteboard *const board = [NSPasteboard generalPasteboard];
406406   [board declareTypes:[NSArray arrayWithObject:NSRTFPboardType] owner:nil];
407   [board setData:[text RTFFromRange:run documentAttributes:@{}] forType:NSRTFPboardType];
407   [board setData:[text RTFFromRange:run documentAttributes:[NSDictionary dictionary]] forType:NSRTFPboardType];
408408   [text deleteCharactersInRange:run];
409409}
410410
trunk/src/osd/sdl/video.c
r249902r249903
9696   sdl_monitor_info::init();
9797
9898   // we need the beam width in a float, contrary to what the core does.
99   video_config.beamwidth = options().beam();
99   video_config.beamwidth = options().beam_width_min();
100100
101101   // initialize the window system so we can make windows
102102   if (!window_init())


Previous 199869 Revisions Next


© 1997-2024 The MAME Team