Previous 199869 Revisions Next

r44566 Friday 29th January, 2016 at 10:49:45 UTC by Miodrag Milanović
Merge branch 'master' of https://github.com/mamedev/mame
[src/devices/cpu/i86]i86.txt
[src/emu]diimage.cpp luaengine.cpp render.cpp video.cpp video.h
[src/emu/debug]debugcmd.cpp textbuf.cpp
[src/emu/sound]wavwrite.cpp
[src/emu/ui]miscmenu.cpp selgame.h ui.cpp
[src/lib/util]corealloc.h
[src/mame]mess.lst
[src/mame/drivers]fidel6502.cpp fidelz80.cpp hh_cop400.cpp hh_tms1k.cpp iteagle.cpp mmodular.cpp overdriv.cpp pulsar.cpp tispeak.cpp
[src/mame/includes]fidelz80.h overdriv.h
[src/mame/machine]iteagle_fpga.cpp iteagle_fpga.h
[src/osd/sdl]sdlfile.cpp

trunk/src/devices/cpu/i86/i86.txt
r253077r253078
29298086/8088
3030---------
3131"mov cs, " causes unconditional jump!
320xd6 is salc (sbb al,al) as all other intel x86-16 and -32 cpus
3233
333480C86/80C88
3435-----------
r253077r253078
3637
373880186/80188
3839-----------
39integrated pic8259, pit8253, dma8253 (but not at standard pc addresses)
40integrated pic, timer and dmac entirely incompatible with 8259, 825[3,4] and 82[3,5]7
4041additional instructions
41"mov cs, " ?
42#BR/bound/int 5, #UD/illegal instruction/int 6, #NM/coprocessor unavailable/int 7 support
43"mov cs, " ignored (likely causes int 6)
4244shift count anded with 0x1f
4345
444680188
r253077r253078
52548080 emulation mode
5355"mov cs, " ignored
5456shift count not anded (acts like 8086)
570xd6 is xlat alias
5558
5659NEC 70116 (V30)
5760---------------
r253077r253078
6972
7073NEC V40
7174-------
72pinout, integrated peripherals as 80186
75pinout, integrated peripherals 8259,54,37 clones at nonpc compatible addresses
7376
7477NEC V50
7578-------
76pinout, integrated peripherals as 80188
79pinout, integrated peripherals as v40
7780
7881NEC V33?
7982--------
r253077r253078
9295
939680286
9497-----
9580186 with additional instructions
9880186 with additional instructions but no peripherals
969924 bit address bus,
97protected mode
100protected mode selector/descriptor
98101
9910280386 and later
100103---------------
trunk/src/emu/debug/debugcmd.cpp
r253077r253078
23812381   for (int i = 2; i < params; i++)
23822382   {
23832383      const char *pdata = param[i];
2384      size_t pdatalen = strlen(pdata) - 1;
23842385
23852386      /* check for a string */
2386      if (pdata[0] == '"' && pdata[strlen(pdata) - 1] == '"')
2387      if (pdata[0] == '"' && pdata[pdatalen] == '"')
23872388      {
2388         for (j = 1; j < strlen(pdata) - 1; j++)
2389         for (j = 1; j < pdatalen; j++)
23892390         {
23902391            data_to_find[data_count] = pdata[j];
23912392            data_size[data_count++] = 1;
trunk/src/emu/debug/textbuf.cpp
r253077r253078
8686   text_buffer *text;
8787
8888   /* allocate memory for the text buffer object */
89   text = (text_buffer *)global_alloc(text_buffer);
89   text = global_alloc_nothrow(text_buffer);
9090   if (!text)
9191      return nullptr;
9292
9393   /* allocate memory for the buffer itself */
94   text->buffer = (char *)global_alloc_array(char, bytes);
94   text->buffer = global_alloc_array_nothrow(char, bytes);
9595   if (!text->buffer)
9696   {
9797      global_free(text);
r253077r253078
9999   }
100100
101101   /* allocate memory for the lines array */
102   text->lineoffs = (INT32 *)global_alloc_array(INT32, lines);
102   text->lineoffs = global_alloc_array_nothrow(INT32, lines);
103103   if (!text->lineoffs)
104104   {
105105      global_free_array(text->buffer);
trunk/src/emu/diimage.cpp
r253077r253078
161161   zippath_parent(m_working_directory, filename);
162162   m_basename.assign(m_image_name);
163163
164   int loc1 = m_image_name.find_last_of('\\');
165   int loc2 = m_image_name.find_last_of('/');
166   int loc3 = m_image_name.find_last_of(':');
167   int loc = MAX(loc1,MAX(loc2,loc3));
168   if (loc!=-1) {
164   size_t loc1 = m_image_name.find_last_of('\\');
165   size_t loc2 = m_image_name.find_last_of('/');
166   size_t loc3 = m_image_name.find_last_of(':');
167   size_t loc = MAX(loc1,MAX(loc2, loc3));
168   if (loc != -1) {
169169      if (loc == loc3)
170170      {
171171         // temp workaround for softlists now that m_image_name contains the part name too (e.g. list:gamename:cart)
172172         m_basename = m_basename.substr(0, loc);
173         std::string tmpstr = std::string(m_basename);
174         int tmploc = tmpstr.find_last_of(':');
175         m_basename = m_basename.substr(tmploc + 1,loc-tmploc);
173         size_t tmploc = m_basename.find_last_of(':');
174         m_basename = m_basename.substr(tmploc + 1, loc - tmploc);
176175      }
177176      else
178         m_basename = m_basename.substr(loc + 1, m_basename.length() - loc);
177         m_basename = m_basename.substr(loc + 1);
179178   }
180   m_basename_noext = m_basename.assign(m_basename);
179   m_basename_noext = m_basename;
181180   m_filetype = "";
182181   loc = m_basename_noext.find_last_of('.');
183   if (loc!=-1) {
184      m_basename_noext = m_basename_noext.substr(0,loc);
185      m_filetype = m_basename.assign(m_basename);
186      m_filetype = m_filetype.substr(loc + 1, m_filetype.length() - loc);
182   if (loc != -1) {
183      m_basename_noext = m_basename_noext.substr(0, loc);
184      m_filetype = m_basename.substr(loc + 1);
187185   }
188186
189187   return IMAGE_ERROR_SUCCESS;
trunk/src/emu/luaengine.cpp
r253077r253078
10491049   osd_lock_acquire(lock);
10501050   if (msg.ready == 1) {
10511051   lua_settop(m_lua_state, 0);
1052   int status = luaL_loadbuffer(m_lua_state, msg.text.c_str(), strlen(msg.text.c_str()), "=stdin");
1052   int status = luaL_loadbuffer(m_lua_state, msg.text.c_str(), msg.text.length(), "=stdin");
10531053   if (incomplete(status)==0)  /* cannot try to add lines? */
10541054   {
10551055      if (status == LUA_OK) status = docall(0, LUA_MULTRET);
trunk/src/emu/render.cpp
r253077r253078
10551055   if (strcmp(viewname, "auto") != 0)
10561056   {
10571057      // scan for a matching view name
1058      size_t viewlen = strlen(viewname);
10581059      for (view = view_by_index(viewindex = 0); view != nullptr; view = view_by_index(++viewindex))
1059         if (core_strnicmp(view->name(), viewname, strlen(viewname)) == 0)
1060         if (core_strnicmp(view->name(), viewname, viewlen) == 0)
10601061            break;
10611062   }
10621063
trunk/src/emu/sound/wavwrite.cpp
r253077r253078
1818   UINT16 align, temp16;
1919
2020   /* allocate memory for the wav struct */
21   wav = (wav_file *) global_alloc(wav_file);
21   wav = global_alloc_nothrow(wav_file);
2222   if (!wav)
2323      return nullptr;
2424
trunk/src/emu/ui/miscmenu.cpp
r253077r253078
434434         file_enumerator path(machine().options().crosshair_path());
435435         const osd_directory_entry *dir;
436436         /* reset search flags */
437         int using_default = false;
438         int finished = false;
439         int found = false;
437         bool using_default = false;
438         bool finished = false;
439         bool found = false;
440440
441441         /* if we are using the default, then we just need to find the first in the list */
442442         if (*(settings.name) == 0)
trunk/src/emu/ui/selgame.h
r253077r253078
3131   // internal state
3232   enum { VISIBLE_GAMES_IN_LIST = 15 };
3333   UINT8                   m_error;
34   UINT8                   m_rerandomize;
34   bool                    m_rerandomize;
3535   char                    m_search[40];
3636   int                     m_matchlist[VISIBLE_GAMES_IN_LIST];
3737   std::vector<const game_driver *> m_driverlist;
trunk/src/emu/ui/ui.cpp
r253077r253078
183183    CORE IMPLEMENTATION
184184***************************************************************************/
185185
186static const UINT32 mouse_bitmap[] = {
186static const UINT32 mouse_bitmap[32*32] =
187{
187188   0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,
188189   0x09a46f30,0x81ac7c43,0x24af8049,0x00ad7d45,0x00a8753a,0x00a46f30,0x009f6725,0x009b611c,0x00985b14,0x0095560d,0x00935308,0x00915004,0x00904e02,0x008f4e01,0x008f4d00,0x008f4d00,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,
189190   0x00a16a29,0xa2aa783d,0xffbb864a,0xc0b0824c,0x5aaf7f48,0x09ac7b42,0x00a9773c,0x00a67134,0x00a26b2b,0x009e6522,0x009a5e19,0x00965911,0x0094550b,0x00925207,0x00915004,0x008f4e01,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,0x00ffffff,
r253077r253078
236237   m_handler_param = 0;
237238   m_single_step = false;
238239   m_showfps = false;
239   m_showfps_end = false;
240   m_showfps_end = 0;
240241   m_show_profiler = false;
241242   m_popup_text_end = 0;
242243   m_use_natural_keyboard = false;
r253077r253078
457458      {
458459         float mouse_y=-1,mouse_x=-1;
459460         if (mouse_target->map_point_container(mouse_target_x, mouse_target_y, *container, mouse_x, mouse_y)) {
460            container->add_quad(mouse_x,mouse_y,mouse_x + 0.05f*container->manager().ui_aspect(container),mouse_y + 0.05f,UI_TEXT_COLOR,m_mouse_arrow_texture,PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
461            container->add_quad(mouse_x,mouse_y,mouse_x + 0.02f*container->manager().ui_aspect(container),mouse_y + 0.02f,UI_TEXT_COLOR,m_mouse_arrow_texture,PRIMFLAG_ANTIALIAS(1)|PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
461462         }
462463      }
463464   }
r253077r253078
15031504   // first draw the FPS counter
15041505   if (machine.ui().show_fps_counter())
15051506   {
1506      std::string tempstring;
15071507      machine.ui().draw_text_full(container, machine.video().speed_text().c_str(), 0.0f, 0.0f, 1.0f,
15081508               JUSTIFY_RIGHT, WRAP_WORD, DRAW_OPAQUE, ARGB_WHITE, ARGB_BLACK, nullptr, nullptr);
15091509   }
trunk/src/emu/video.cpp
r253077r253078
584584//  forward
585585//-------------------------------------------------
586586
587inline int video_manager::effective_autoframeskip() const
587inline bool video_manager::effective_autoframeskip() const
588588{
589589   // if we're fast forwarding or paused, autoframeskip is disabled
590590   if (m_fastforward || machine().paused())
trunk/src/emu/video.h
r253077r253078
100100   void postload();
101101
102102   // effective value helpers
103   int effective_autoframeskip() const;
103   bool effective_autoframeskip() const;
104104   int effective_frameskip() const;
105105   bool effective_throttle() const;
106106
trunk/src/lib/util/corealloc.h
r253077r253078
2727
2828// global allocation helpers -- use these instead of new and delete
2929#define global_alloc(_type)                         new _type
30#define global_alloc_nothrow(_type)                 new (std::nothrow) _type
3031#define global_alloc_array(_type, _num)             new _type[_num]
32#define global_alloc_array_nothrow(_type, _num)     new (std::nothrow) _type[_num]
3133#define global_free(_ptr)                           do { delete _ptr; } while (0)
3234#define global_free_array(_ptr)                     do { delete[] _ptr; } while (0)
3335
trunk/src/mame/drivers/fidel6502.cpp
r253077r253078
3636      : fidelz80base_state(mconfig, type, tag),
3737      m_6821pia(*this, "6821pia"),
3838      m_cart(*this, "cartslot"),
39      m_speaker(*this, "speaker"),
40      m_irq_off(*this, "irq_off")
39      m_speaker(*this, "speaker")
4140   { }
4241
4342   // devices/pointers
4443   optional_device<pia6821_device> m_6821pia;
4544   optional_device<generic_slot_device> m_cart;
4645   optional_device<speaker_sound_device> m_speaker;
47   optional_device<timer_device> m_irq_off;
4846   
47   TIMER_DEVICE_CALLBACK_MEMBER(irq_on) { m_maincpu->set_input_line(M6502_IRQ_LINE, ASSERT_LINE); }
48   TIMER_DEVICE_CALLBACK_MEMBER(irq_off) { m_maincpu->set_input_line(M6502_IRQ_LINE, CLEAR_LINE); }
49
4950   // model CSC
5051   void csc_update_7442();
5152   void csc_prepare_display();
r253077r253078
6566   // model SC12
6667   DECLARE_MACHINE_START(sc12);
6768   DECLARE_DEVICE_IMAGE_LOAD_MEMBER(scc_cartridge);
68   TIMER_DEVICE_CALLBACK_MEMBER(irq_off);
69   TIMER_DEVICE_CALLBACK_MEMBER(sc12_irq);
7069   DECLARE_WRITE8_MEMBER(sc12_control_w);
7170   DECLARE_READ8_MEMBER(sc12_input_r);
7271};
r253077r253078
247246}
248247
249248
250// interrupt handling
251
252TIMER_DEVICE_CALLBACK_MEMBER(fidel6502_state::irq_off)
253{
254   m_maincpu->set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
255}
256
257TIMER_DEVICE_CALLBACK_MEMBER(fidel6502_state::sc12_irq)
258{
259   m_maincpu->set_input_line(M6502_IRQ_LINE, ASSERT_LINE);
260   m_irq_off->adjust(attotime::from_nsec(15250)); // active low for 15.25us
261}
262
263
264249// TTL
265250
266251WRITE8_MEMBER(fidel6502_state::sc12_control_w)
r253077r253078
571556   /* basic machine hardware */
572557   MCFG_CPU_ADD("maincpu", R65C02, XTAL_4MHz)
573558   MCFG_CPU_PROGRAM_MAP(sc12_map)
574   MCFG_TIMER_DRIVER_ADD_PERIODIC("sc12_irq", fidel6502_state, sc12_irq, attotime::from_hz(780)) // from 556 timer
575   MCFG_TIMER_DRIVER_ADD("irq_off", fidel6502_state, irq_off)
559   MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_on", fidel6502_state, irq_on, attotime::from_hz(780)) // from 556 timer
560   MCFG_TIMER_START_DELAY(attotime::from_hz(780) - attotime::from_nsec(15250)) // active for 15.25us
561   MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_off", fidel6502_state, irq_off, attotime::from_hz(780))
576562
577563   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelz80base_state, display_decay_tick, attotime::from_msec(1))
578564   MCFG_DEFAULT_LAYOUT(layout_fidel_sc12)
r253077r253078
595581static MACHINE_CONFIG_START( fev, fidel6502_state )
596582
597583   /* basic machine hardware */
598   MCFG_CPU_ADD("maincpu", M65SC02, XTAL_3MHz) // M65SC102 (CMD)
584   MCFG_CPU_ADD("maincpu", M65SC02, XTAL_12MHz/4) // G65SC102
599585   MCFG_CPU_PROGRAM_MAP(fev_map)
600586
601587   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelz80base_state, display_decay_tick, attotime::from_msec(1))
r253077r253078
649635/*    YEAR  NAME      PARENT  COMPAT  MACHINE  INPUT     INIT              COMPANY, FULLNAME, FLAGS */
650636COMP( 1981, csc,     0,      0,      csc,  csc, driver_device,   0, "Fidelity Electronics", "Champion Sensory Chess Challenger", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
651637
652COMP( 1984, fscc12,     0,      0,      sc12,  sc12, driver_device,   0, "Fidelity Electronics", "Sensory Chess Challenger 12-B", MACHINE_NOT_WORKING )
638COMP( 1984, fscc12,     0,      0,      sc12,  sc12, driver_device,   0, "Fidelity Electronics", "Sensory Chess Challenger 12-B", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
653639
654COMP( 1987, fexcelv,     0,      0,      fev,  csc, driver_device,   0, "Fidelity Electronics", "Voice Excellence", MACHINE_NOT_WORKING )
640COMP( 1987, fexcelv,     0,      0,      fev,  csc, driver_device,   0, "Fidelity Electronics", "Voice Excellence", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
trunk/src/mame/drivers/fidelz80.cpp
r253077r253078
598598PB.4 - white wire (and TSI BUSY line)
599599PB.5 - selection jumper input (see below)
600600PB.6 - TSI start line
601PB.7 - TSI ROM D0 line
601PB.7 - TSI ROM A12 line
602602
603603
604604selection jumpers:
r253077r253078
10701070{
10711071   // d0-d3: select digits
10721072   // d0-d7: select leds, input mux low bits
1073   m_inp_mux = (m_inp_mux & 0x300) | data;
1073   m_inp_mux = (m_inp_mux & ~0xff) | data;
10741074   m_led_select = data;
10751075   vsc_prepare_display();
10761076}
r253077r253078
10811081READ8_MEMBER(fidelz80_state::vsc_pio_porta_r)
10821082{
10831083   // d0-d7: multiplexed inputs
1084   return read_inputs(10);
1084   return read_inputs(11);
1085   
10851086}
10861087
10871088READ8_MEMBER(fidelz80_state::vsc_pio_portb_r)
r253077r253078
10901091
10911092   // d4: TSI BUSY line
10921093   ret |= (m_speech->busy_r()) ? 0 : 0x10;
1093
1094   
10941095   return ret;
10951096}
10961097
10971098WRITE8_MEMBER(fidelz80_state::vsc_pio_portb_w)
10981099{
10991100   // d0,d1: input mux highest bits
1100   m_inp_mux = (m_inp_mux & 0xff) | (data << 8 & 0x300);
1101
1101   // d5: enable language switch
1102   m_inp_mux = (m_inp_mux & ~0x700) | (data << 8 & 0x300) | (data << 5 & 0x400);
1103   
1104   //if (m_inp_mux & 0x400) debugger_break(machine());
1105   
1106   // d7: TSI ROM A12
1107   
1108   m_speech->force_update(); // update stream to now
1109   m_speech_bank = data >> 7 & 1;
1110   
11021111   // d6: TSI START line
11031112   m_speech->start_w(data >> 6 & 1);
1104
1113   
11051114   // d2: lower TSI volume
11061115   m_speech->set_output_gain(0, (data & 4) ? 0.5 : 1.0);
11071116}
r253077r253078
12981307   PORT_START("IN.4")
12991308   PORT_BIT(0x0f, IP_ACTIVE_HIGH, IPT_UNUSED)
13001309
1301   PORT_START("LEVEL") // factory setting
1302   PORT_CONFNAME( 0x80, 0x00, "PPI.B.7: Maximum Levels" )
1303   PORT_CONFSETTING( 0x00, "10" )
1310   PORT_START("LEVEL") // hardwired (VCC/GND?)
1311   PORT_CONFNAME( 0x80, 0x00, "Maximum Levels" )
1312   PORT_CONFSETTING( 0x00, "10" ) // factory setting
13041313   PORT_CONFSETTING( 0x80, "3" )
13051314INPUT_PORTS_END
13061315
13071316static INPUT_PORTS_START( vcc )
13081317   PORT_INCLUDE( vcc_base )
13091318
1310   PORT_START("IN.4") // not consumer accessible
1311   PORT_CONFNAME( 0x01, 0x00, "PCB Jumper: French" )
1319   PORT_START("IN.4") // PCB jumpers, not consumer accessible
1320   PORT_CONFNAME( 0x01, 0x00, "Language: French" )
13121321   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13131322   PORT_CONFSETTING(    0x01, DEF_STR( On ) )
1314   PORT_CONFNAME( 0x02, 0x00, "PCB Jumper: Spanish" )
1323   PORT_CONFNAME( 0x02, 0x00, "Language: Spanish" )
13151324   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13161325   PORT_CONFSETTING(    0x02, DEF_STR( On ) )
1317   PORT_CONFNAME( 0x04, 0x00, "PCB Jumper: German" )
1326   PORT_CONFNAME( 0x04, 0x00, "Language: German" )
13181327   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13191328   PORT_CONFSETTING(    0x04, DEF_STR( On ) )
1320   PORT_CONFNAME( 0x08, 0x00, "PCB Jumper: Special" )
1329   PORT_CONFNAME( 0x08, 0x00, "Language: Special" )
13211330   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13221331   PORT_CONFSETTING(    0x08, DEF_STR( On ) )
13231332INPUT_PORTS_END
r253077r253078
13261335   PORT_INCLUDE( vcc )
13271336
13281337   PORT_MODIFY("IN.4")
1329   PORT_CONFNAME( 0x01, 0x01, "PCB Jumper: French" )
1338   PORT_CONFNAME( 0x01, 0x01, "Language: French" )
13301339   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13311340   PORT_CONFSETTING(    0x01, DEF_STR( On ) )
13321341INPUT_PORTS_END
r253077r253078
13351344   PORT_INCLUDE( vcc )
13361345
13371346   PORT_MODIFY("IN.4")
1338   PORT_CONFNAME( 0x02, 0x02, "PCB Jumper: Spanish" )
1347   PORT_CONFNAME( 0x02, 0x02, "Language: Spanish" )
13391348   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13401349   PORT_CONFSETTING(    0x02, DEF_STR( On ) )
13411350INPUT_PORTS_END
r253077r253078
13441353   PORT_INCLUDE( vcc )
13451354
13461355   PORT_MODIFY("IN.4")
1347   PORT_CONFNAME( 0x04, 0x04, "PCB Jumper: German" )
1356   PORT_CONFNAME( 0x04, 0x04, "Language: German" )
13481357   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13491358   PORT_CONFSETTING(    0x04, DEF_STR( On ) )
13501359INPUT_PORTS_END
r253077r253078
14491458   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("DM") PORT_CODE(KEYCODE_M)
14501459   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ST") PORT_CODE(KEYCODE_S)
14511460   PORT_BIT(0xc0, IP_ACTIVE_HIGH, IPT_UNUSED)
1461
1462   PORT_START("IN.10") // hardwired (2 diodes)
1463   PORT_CONFNAME( 0x03, 0x00, "Language" )
1464   PORT_CONFSETTING( 0x00, "English" )
1465   PORT_CONFSETTING( 0x01, "1" ) // todo: game dasm says it checks against 0/not0, 2, 3.. which language is which?
1466   PORT_CONFSETTING( 0x02, "2" )
1467   PORT_CONFSETTING( 0x03, "3" )
14521468INPUT_PORTS_END
14531469
14541470static INPUT_PORTS_START( vbrc )
r253077r253078
15821598   /* sound hardware */
15831599   MCFG_SPEAKER_STANDARD_MONO("mono")
15841600   MCFG_SOUND_ADD("speech", S14001A, 25000) // R/C circuit, around 25khz
1601   MCFG_S14001A_EXT_READ_HANDLER(READ8(fidelz80_state, vcc_speech_r))
15851602   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
15861603MACHINE_CONFIG_END
15871604
r253077r253078
17051722   ROM_LOAD("101-64109.bin", 0x2000, 0x2000, CRC(08a3577c) SHA1(69fe379d21a9d4b57c84c3832d7b3e7431eec341) )
17061723   ROM_LOAD("101-32024.bin", 0x4000, 0x1000, CRC(2a078676) SHA1(db2f0aba7e8ac0f84a17bae7155210cdf0813afb) )
17071724
1708   ROM_REGION( 0x1000, "speech", 0 )
1725   ROM_REGION( 0x2000, "speech", 0 )
17091726   ROM_LOAD("101-32107.bin", 0x0000, 0x1000, CRC(f35784f9) SHA1(348e54a7fa1e8091f89ac656b4da22f28ca2e44d) )
1727   ROM_RELOAD(               0x1000, 0x1000)
17101728ROM_END
17111729
1730ROM_START( vscsp )
1731   ROM_REGION( 0x10000, "maincpu", 0 )
1732   ROM_LOAD("101-64108.bin", 0x0000, 0x2000, CRC(c9c98490) SHA1(e6db883df088d60463e75db51433a4b01a3e7626) )
1733   ROM_LOAD("101-64109.bin", 0x2000, 0x2000, CRC(08a3577c) SHA1(69fe379d21a9d4b57c84c3832d7b3e7431eec341) )
1734   ROM_LOAD("101-32024.bin", 0x4000, 0x1000, CRC(2a078676) SHA1(db2f0aba7e8ac0f84a17bae7155210cdf0813afb) )
17121735
1736   ROM_REGION( 0x2000, "speech", 0 )
1737   ROM_LOAD("vcc-spanish.bin", 0x0000, 0x2000, BAD_DUMP CRC(8766e128) SHA1(78c7413bf240159720b131ab70bfbdf4e86eb1e9) ) // taken from vcc/fexcelv, assume correct
1738ROM_END
1739
1740ROM_START( vscg )
1741   ROM_REGION( 0x10000, "maincpu", 0 )
1742   ROM_LOAD("101-64108.bin", 0x0000, 0x2000, CRC(c9c98490) SHA1(e6db883df088d60463e75db51433a4b01a3e7626) )
1743   ROM_LOAD("101-64109.bin", 0x2000, 0x2000, CRC(08a3577c) SHA1(69fe379d21a9d4b57c84c3832d7b3e7431eec341) )
1744   ROM_LOAD("101-32024.bin", 0x4000, 0x1000, CRC(2a078676) SHA1(db2f0aba7e8ac0f84a17bae7155210cdf0813afb) )
1745
1746   ROM_REGION( 0x2000, "speech", 0 )
1747   ROM_LOAD("vcc-german.bin", 0x0000, 0x2000, BAD_DUMP CRC(6c85e310) SHA1(20d1d6543c1e6a1f04184a2df2a468f33faec3ff) ) // taken from fexcelv, assume correct
1748ROM_END
1749
1750ROM_START( vscfr )
1751   ROM_REGION( 0x10000, "maincpu", 0 )
1752   ROM_LOAD("101-64108.bin", 0x0000, 0x2000, CRC(c9c98490) SHA1(e6db883df088d60463e75db51433a4b01a3e7626) )
1753   ROM_LOAD("101-64109.bin", 0x2000, 0x2000, CRC(08a3577c) SHA1(69fe379d21a9d4b57c84c3832d7b3e7431eec341) )
1754   ROM_LOAD("101-32024.bin", 0x4000, 0x1000, CRC(2a078676) SHA1(db2f0aba7e8ac0f84a17bae7155210cdf0813afb) )
1755
1756   ROM_REGION( 0x2000, "speech", 0 )
1757   ROM_LOAD("vcc-french.bin", 0x0000, 0x2000, BAD_DUMP CRC(fe8c5c18) SHA1(2b64279ab3747ee81c86963c13e78321c6cfa3a3) ) // taken from fexcelv, assume correct
1758ROM_END
1759
1760
17131761ROM_START( vbrc ) // AKA model 7002
17141762   ROM_REGION( 0x10000, "maincpu", 0 )
17151763   // nec 2364 mask roms; pin 27 (PGM, probably NC here due to mask roms) goes to the pcb
r253077r253078
17571805COMP( 1980, uvcg,     vcc,    0,      vcc,     vccg,   driver_device, 0, "Fidelity Electronics", "Advanced Voice Chess Challenger (German)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
17581806COMP( 1980, uvcfr,    vcc,    0,      vcc,     vccfr,  driver_device, 0, "Fidelity Electronics", "Advanced Voice Chess Challenger (French)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
17591807
1760COMP( 1980, vsc,      0,      0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
1808COMP( 1980, vsc,      0,      0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger (English)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
1809COMP( 1980, vscsp,    vsc,    0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger (Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
1810COMP( 1980, vscg,     vsc,    0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger (German)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
1811COMP( 1980, vscfr,    vsc,    0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger (French)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
17611812
17621813COMP( 1979, vbrc,     0,      0,      vbrc,    vbrc,   driver_device, 0, "Fidelity Electronics", "Voice Bridge Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
17631814COMP( 1980, bridgec3, vbrc,   0,      vbrc,    vbrc,   driver_device, 0, "Fidelity Electronics", "Voice Bridge Challenger III", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
trunk/src/mame/drivers/hh_cop400.cpp
r253077r253078
824824CONS( 1979, funrlgl,   0,        0, funrlgl,   funrlgl,   driver_device, 0, "Mattel", "Funtronics Red Light Green Light", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
825825
826826CONS( 1980, plus1,     0,        0, plus1,     plus1,     driver_device, 0, "Milton Bradley", "Plus One", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
827CONS( 1981, lightfgt,  0,        0, lightfgt,  lightfgt,  driver_device, 0, "Milton Bradley", "Lightfight", MACHINE_SUPPORTS_SAVE )
827CONS( 1981, lightfgt,  0,        0, lightfgt,  lightfgt,  driver_device, 0, "Milton Bradley", "Lightfight", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
trunk/src/mame/drivers/hh_tms1k.cpp
r253077r253078
49094909CONS( 1980, mdndclab,  0,        0, mdndclab,  mdndclab,  driver_device, 0, "Mattel", "Dungeons & Dragons - Computer Labyrinth Game", MACHINE_SUPPORTS_SAVE ) // ***
49104910
49114911CONS( 1977, comp4,     0,        0, comp4,     comp4,     driver_device, 0, "Milton Bradley", "Comp IV", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
4912CONS( 1978, simon,     0,        0, simon,     simon,     driver_device, 0, "Milton Bradley", "Simon (Rev. A)", MACHINE_SUPPORTS_SAVE )
4913CONS( 1979, ssimon,    0,        0, ssimon,    ssimon,    driver_device, 0, "Milton Bradley", "Super Simon", MACHINE_SUPPORTS_SAVE )
4912CONS( 1978, simon,     0,        0, simon,     simon,     driver_device, 0, "Milton Bradley", "Simon (Rev. A)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
4913CONS( 1979, ssimon,    0,        0, ssimon,    ssimon,    driver_device, 0, "Milton Bradley", "Super Simon", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
49144914CONS( 1979, bigtrak,   0,        0, bigtrak,   bigtrak,   driver_device, 0, "Milton Bradley", "Big Trak", MACHINE_SUPPORTS_SAVE | MACHINE_MECHANICAL ) // ***
49154915
49164916CONS( 1977, cnsector,  0,        0, cnsector,  cnsector,  driver_device, 0, "Parker Brothers", "Code Name: Sector", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) // ***
4917CONS( 1978, merlin,    0,        0, merlin,    merlin,    driver_device, 0, "Parker Brothers", "Merlin - The Electronic Wizard", MACHINE_SUPPORTS_SAVE )
4917CONS( 1978, merlin,    0,        0, merlin,    merlin,    driver_device, 0, "Parker Brothers", "Merlin - The Electronic Wizard", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
49184918CONS( 1979, stopthie,  0,        0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner)", MACHINE_SUPPORTS_SAVE ) // ***
49194919CONS( 1979, stopthiep, stopthie, 0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner) (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
49204920CONS( 1980, bankshot,  0,        0, bankshot,  bankshot,  driver_device, 0, "Parker Brothers", "Bank Shot - Electronic Pool", MACHINE_SUPPORTS_SAVE )
49214921CONS( 1980, splitsec,  0,        0, splitsec,  splitsec,  driver_device, 0, "Parker Brothers", "Split Second", MACHINE_SUPPORTS_SAVE )
4922CONS( 1982, mmerlin,   0,        0, mmerlin,   mmerlin,   driver_device, 0, "Parker Brothers", "Master Merlin", MACHINE_SUPPORTS_SAVE )
4922CONS( 1982, mmerlin,   0,        0, mmerlin,   mmerlin,   driver_device, 0, "Parker Brothers", "Master Merlin", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
49234923
4924CONS( 1981, tandy12,   0,        0, tandy12,   tandy12,   driver_device, 0, "Tandy Radio Shack", "Tandy-12: Computerized Arcade", MACHINE_SUPPORTS_SAVE ) // some of the minigames: ***
4924CONS( 1981, tandy12,   0,        0, tandy12,   tandy12,   driver_device, 0, "Tandy Radio Shack", "Tandy-12: Computerized Arcade", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // some of the minigames: ***
49254925
49264926CONS( 1979, tbreakup,  0,        0, tbreakup,  tbreakup,  driver_device, 0, "Tomy", "Break Up (Tomy)", MACHINE_SUPPORTS_SAVE )
49274927CONS( 1980, phpball,   0,        0, phpball,   phpball,   driver_device, 0, "Tomy", "Power House Pinball", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )
trunk/src/mame/drivers/iteagle.cpp
r253077r253078
179179
180180static MACHINE_CONFIG_DERIVED( gtfore01, iteagle )
181181   MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
182   MCFG_ITEAGLE_FPGA_INIT(0x01000401, 0x0b0b0b)
182   MCFG_ITEAGLE_FPGA_INIT(0x00000401, 0x0b0b0b)
183183   MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
184184   MCFG_ITEAGLE_EEPROM_INIT(0x0401, 0x7)
185185MACHINE_CONFIG_END
r253077r253078
187187static MACHINE_CONFIG_DERIVED( gtfore02, iteagle )
188188   MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
189189   MCFG_ITEAGLE_FPGA_INIT(0x01000402, 0x020201)
190   MCFG_DEVICE_MODIFY(":pci:0a.0")
190   MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
191191   MCFG_ITEAGLE_EEPROM_INIT(0x0402, 0x7)
192192MACHINE_CONFIG_END
193193
r253077r253078
215215static MACHINE_CONFIG_DERIVED( gtfore06, iteagle )
216216   MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
217217   MCFG_ITEAGLE_FPGA_INIT(0x01000406, 0x0c0b0d)
218   MCFG_DEVICE_MODIFY(":pci:0a.0")
218   MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
219219   MCFG_ITEAGLE_EEPROM_INIT(0x0406, 0x9);
220220MACHINE_CONFIG_END
221221
222222static MACHINE_CONFIG_DERIVED( carnking, iteagle )
223223   MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
224   MCFG_ITEAGLE_FPGA_INIT(0x01000603, 0x0c0b0d)
224   MCFG_ITEAGLE_FPGA_INIT(0x01000a01, 0x0e0a0a)
225225   MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
226   MCFG_ITEAGLE_EEPROM_INIT(0x0603, 0x9)
226   MCFG_ITEAGLE_EEPROM_INIT(0x0a01, 0x9)
227227MACHINE_CONFIG_END
228228
229229static MACHINE_CONFIG_DERIVED( bbhsc, iteagle )
230230   MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
231   MCFG_ITEAGLE_FPGA_INIT(0x01000600, 0x0c0a0a)
231   MCFG_ITEAGLE_FPGA_INIT(0x02000600, 0x0c0a0a)
232232   MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
233   MCFG_ITEAGLE_EEPROM_INIT(0x0600, 0x9)
233   MCFG_ITEAGLE_EEPROM_INIT(0x0000, 0x7)
234234MACHINE_CONFIG_END
235235
236236static MACHINE_CONFIG_DERIVED( bbhcotw, iteagle )
237237   MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
238238   MCFG_ITEAGLE_FPGA_INIT(0x02000603, 0x080704)
239   MCFG_DEVICE_MODIFY(":pci:0a.0")
239   MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
240240   MCFG_ITEAGLE_EEPROM_INIT(0x0603, 0x9)
241241MACHINE_CONFIG_END
242242
r253077r253078
331331
332332INPUT_PORTS_END
333333
334static INPUT_PORTS_START( bbhcotw )
334static INPUT_PORTS_START( bbh )
335335   PORT_INCLUDE( iteagle )
336336
337337   PORT_MODIFY("IN1")
r253077r253078
557557
558558GAME( 2000, iteagle,          0,  iteagle,  iteagle,  driver_device, 0, ROT0, "Incredible Technologies", "Eagle BIOS", MACHINE_IS_BIOS_ROOT )
559559GAME( 1998, virtpool,   iteagle,  virtpool, virtpool, driver_device, 0, ROT0, "Incredible Technologies", "Virtual Pool", MACHINE_NOT_WORKING ) // random lockups on loading screens
560GAME( 2002, carnking,   iteagle,  carnking, iteagle,  driver_device, 0, ROT0, "Incredible Technologies", "Carnival King (v1.00.11)", MACHINE_NOT_WORKING )
560GAME( 2002, carnking,   iteagle,  carnking, bbh,  driver_device, 0, ROT0, "Incredible Technologies", "Carnival King (v1.00.11)", 0 )
561561GAME( 2000, gtfore01,   iteagle,  gtfore01, iteagle,  driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! (v1.00.25)", 0 )
562562GAME( 2001, gtfore02,   iteagle,  gtfore02, iteagle,  driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2002 (v2.01.06)", 0 )
563563GAME( 2002, gtfore03,   iteagle,  gtfore03, iteagle,  driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2003 (v3.00.10)", 0 )
r253077r253078
569569GAME( 2004, gtfore05b,  gtfore05, gtfore05, iteagle,  driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.01.00)", 0 )
570570GAME( 2004, gtfore05c,  gtfore05, gtfore05, iteagle,  driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.00.00)", 0 )
571571GAME( 2005, gtfore06,   iteagle,  gtfore06, iteagle,  driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2006 Complete (v6.00.01)", 0 )
572GAME( 2002, bbhsc,      iteagle,  bbhsc,    iteagle,  driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter - Shooter's Challenge (v1.50.07)", MACHINE_NOT_WORKING ) // doesn't boot
573GAME( 2006, bbhcotw,    iteagle,  bbhcotw,  bbhcotw,  driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter Call of the Wild (v3.02.5)", MACHINE_NOT_WORKING ) // random lockups
572GAME( 2002, bbhsc,      iteagle,  bbhsc,    bbh,  driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter - Shooter's Challenge (v1.50.07)", MACHINE_NOT_WORKING ) // doesn't boot
573GAME( 2006, bbhcotw,    iteagle,  bbhcotw,  bbh,  driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter Call of the Wild (v3.02.5)", MACHINE_NOT_WORKING ) // random lockups
trunk/src/mame/drivers/mmodular.cpp
r253077r253078
1515 Vancouver 68020 12Mhz
1616 Genius 68030 V4.00 33.333 Mhz
1717 Genius 68030 V4.01 33.333 Mhz
18 Genius 68030 V4.01 33.333x2 Mhz (custom MESS overclocked version for higher ELO)
1918 Berlin Pro 68020 24.576 Mhz (not modular board, but otherwise close to milano)
2019 Berlin Pro (London) 68020 24.576 Mhz (not modular board, but otherwise close to milano)
2120 London 68030 V5.00k 33.333 Mhz (probably the Genius 3/4 update ROM)
r253077r253078
998997MACHINE_START_MEMBER(polgar_state,van32)
999998{
1000999// patch LCD delay loop on the 68030 machines until waitstates and/or opcode timings are fixed in MAME core
1001// patches gen32 gen32_41 gen32_oc lond030
1000// patches gen32 gen32_41 lond030
10021001
10031002   UINT8 *rom = memregion("maincpu")->base();
10041003
10051004   if(rom[0x870] == 0x0c && rom[0x871] == 0x78) {
1006      if (!strcmp(machine().system().name,"gen32_oc")) {
1007         rom[0x870] = 0x6c;
1008      } else {
1009         rom[0x870] = 0x38;
1010      }
1005      rom[0x870] = 0x38;
10111006   }
10121007}
10131008
r253077r253078
16941689
16951690MACHINE_CONFIG_END
16961691
1697static MACHINE_CONFIG_DERIVED( gen32_oc, gen32 )
1698   MCFG_CPU_MODIFY("maincpu")
1699   MCFG_CPU_CLOCK( XTAL_33_333MHz * 2 )
1700   MCFG_DEVICE_REMOVE("int_timer")
1701   MCFG_TIMER_DRIVER_ADD_PERIODIC("int_timer", polgar_state, timer_update_irq6, attotime::from_hz(500))
1702
1703
1704MACHINE_CONFIG_END
1705
17061692static MACHINE_CONFIG_START( bpl32, polgar_state )
17071693   MCFG_CPU_ADD("maincpu", M68020, XTAL_24_576MHz)
17081694   MCFG_CPU_PROGRAM_MAP(bpl32_mem)
r253077r253078
18511837   ROM_LOAD("gen32_41.bin", 0x00000, 0x40000,CRC(ea9938c0) SHA1(645cf0b5b831b48104ad6cec8d78c63dbb6a588c))
18521838ROM_END
18531839
1854ROM_START( gen32_oc )
1855   ROM_REGION32_BE( 0x40000, "maincpu", 0 )
1856   ROM_LOAD("gen32_41.bin", 0x00000, 0x40000,CRC(ea9938c0) SHA1(645cf0b5b831b48104ad6cec8d78c63dbb6a588c))
1857ROM_END
1858
18591840ROM_START( berlinp )
18601841   ROM_REGION32_BE( 0x40000, "maincpu", 0 )
18611842   ROM_LOAD("berlinp.bin", 0x00000, 0x40000,CRC(82FBAF6E) SHA1(729B7CEF3DFAECC4594A6178FC4BA6015AFA6202))
r253077r253078
19041885   CONS(  1992, risc,     0,       0,      risc,      van16, driver_device,    0,       "Saitek",                    "RISC2500", MACHINE_SUPPORTS_SAVE|MACHINE_REQUIRES_ARTWORK|MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
19051886   CONS(  1993, gen32,    van16,   0,      gen32,     gen32, driver_device,    0,       "Hegener & Glaser Muenchen", "Mephisto Genius030 V4.00", MACHINE_SUPPORTS_SAVE|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK )
19061887   CONS(  1993, gen32_41, van16,   0,      gen32,     gen32, driver_device,    0,       "Hegener & Glaser Muenchen", "Mephisto Genius030 V4.01", MACHINE_SUPPORTS_SAVE|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK )
1907   CONS(  1993, gen32_oc, van16,   0,      gen32_oc,  gen32, driver_device,    0,       "Hegener & Glaser Muenchen", "Mephisto Genius030 V4.01OC", MACHINE_SUPPORTS_SAVE|MACHINE_REQUIRES_ARTWORK|MACHINE_UNOFFICIAL | MACHINE_CLICKABLE_ARTWORK )
19081888   CONS(  1994, berlinp,  van16,   0,      bpl32,     bpl32, driver_device,    0,       "Hegener & Glaser Muenchen", "Mephisto Berlin Pro 68020", MACHINE_SUPPORTS_SAVE|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK )
19091889   CONS(  1996, bpl32,    van16,   0,      bpl32,     bpl32, driver_device,    0,       "Hegener & Glaser Muenchen", "Mephisto Berlin Pro London Upgrade V5.00", MACHINE_SUPPORTS_SAVE|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK )
19101890   CONS(  1996, lond020,  van16,   0,      van32,     van32, driver_device,    0,       "Hegener & Glaser Muenchen", "Mephisto London 68020 32 Bit", MACHINE_SUPPORTS_SAVE|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK )
trunk/src/mame/drivers/overdriv.cpp
r253077r253078
7070
7171TIMER_DEVICE_CALLBACK_MEMBER(overdriv_state::overdriv_cpuA_scanline)
7272{
73   const int timer_threshold = 168; // fwiw matches 0 on mask ROM check, so IF it's a timer irq then should be close ...
7374   int scanline = param;
74
75   /* TODO: irqs routines are TOO slow right now, it ends up firing spurious irqs for whatever reason (shared ram fighting?) */
76   /*       this is a temporary solution to get rid of deprecat lib and the crashes, but also makes the game timer to be too slow */
77   if(scanline == 256 && m_screen->frame_number() & 1) // vblank-out irq
75   
76   m_fake_timer ++;
77   
78   // TODO: irqs routines are TOO slow right now, it ends up firing spurious irqs for whatever reason (shared ram fighting?)
79   //       this is a temporary solution to get rid of deprecat lib and the crashes, but also makes the game timer to be too slow.
80    //       Update: gameplay is actually too fast compared to timer, first attract mode shouldn't even surpass first blue car on right.
81   if(scanline == 256) // vblank-out irq
82   {
83      // m_screen->frame_number() & 1
7884      m_maincpu->set_input_line(4, HOLD_LINE);
79   else if((scanline % 128) == 0) // timer irq
85      m_subcpu->set_input_line(4, HOLD_LINE); // likely wrong
86   }
87   else if(m_fake_timer >= timer_threshold) // timer irq
88   {
89      m_fake_timer -= timer_threshold;
8090      m_maincpu->set_input_line(5, HOLD_LINE);
91   }
8192}
8293
8394INTERRUPT_GEN_MEMBER(overdriv_state::cpuB_interrupt)
8495{
8596   // this doesn't get turned on until the irq has happened? wrong irq?
86//  if (m_k053246->k053246_is_irq_enabled())
87   m_subcpu->set_input_line(4, HOLD_LINE); // likely wrong
97   if (m_k053246->k053246_is_irq_enabled())
98      m_subcpu->set_input_line(6, HOLD_LINE); // likely wrong
8899}
89100
90101
r253077r253078
127138
128139WRITE16_MEMBER(overdriv_state::overdriv_soundirq_w)
129140{
130   m_audiocpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE);
141   m_audiocpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
131142}
132143
144
133145WRITE16_MEMBER(overdriv_state::overdriv_cpuB_irq_x_w)
134146{
135147   m_subcpu->set_input_line(5, HOLD_LINE); // likely wrong
r253077r253078
137149
138150WRITE16_MEMBER(overdriv_state::overdriv_cpuB_irq_y_w)
139151{
140   m_subcpu->set_input_line(6, HOLD_LINE); // likely wrong
141152}
142153
143154static ADDRESS_MAP_START( overdriv_master_map, AS_PROGRAM, 16, overdriv_state )
r253077r253078
167178   AM_RANGE(0x238000, 0x238001) AM_WRITE(overdriv_cpuB_irq_x_w)
168179ADDRESS_MAP_END
169180
170// HACK ALERT
181#ifdef UNUSED_FUNCTION
171182WRITE16_MEMBER( overdriv_state::overdriv_k053246_word_w )
172183{
173184   m_k053246->k053246_word_w(space,offset,data,mem_mask);
r253077r253078
190201   //printf("%02x %04x %04x\n", offset, data, mem_mask);
191202
192203}
204#endif
193205
194206static ADDRESS_MAP_START( overdriv_slave_map, AS_PROGRAM, 16, overdriv_state )
195207   AM_RANGE(0x000000, 0x03ffff) AM_ROM
r253077r253078
197209   AM_RANGE(0x0c0000, 0x0c1fff) AM_RAM //AM_DEVREADWRITE("k053250_1", k053250_device, ram_r, ram_w)
198210   AM_RANGE(0x100000, 0x10000f) AM_DEVREADWRITE("k053250_1", k053250_device, reg_r, reg_w)
199211   AM_RANGE(0x108000, 0x10800f) AM_DEVREADWRITE("k053250_2", k053250_device, reg_r, reg_w)
200   AM_RANGE(0x118000, 0x118fff) AM_RAM AM_SHARE("sprram") //AM_DEVREADWRITE("k053246", k053247_device, k053247_word_r, k053247_word_w) // data gets copied to sprite chip with DMA..
212   AM_RANGE(0x118000, 0x118fff) AM_DEVREADWRITE("k053246", k053247_device, k053247_word_r, k053247_word_w) // data gets copied to sprite chip with DMA..
201213   AM_RANGE(0x120000, 0x120001) AM_DEVREAD("k053246", k053247_device, k053246_word_r)
202214   AM_RANGE(0x128000, 0x128001) AM_READWRITE(cpuB_ctrl_r, cpuB_ctrl_w) /* enable K053247 ROM reading, plus something else */
203   AM_RANGE(0x130000, 0x130007) AM_WRITE(overdriv_k053246_word_w) // AM_DEVWRITE("k053246", k053247_device, k053246_word_w)
215   AM_RANGE(0x130000, 0x130007) AM_DEVREADWRITE8("k053246", k053247_device, k053246_r,k053246_w,0xffff)
216   //AM_RANGE(0x140000, 0x140001) used in later stages
204217   AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("share1")
205218   AM_RANGE(0x208000, 0x20bfff) AM_RAM
206219   AM_RANGE(0x218000, 0x219fff) AM_DEVREAD("k053250_1", k053250_device, rom_r)
207220   AM_RANGE(0x220000, 0x221fff) AM_DEVREAD("k053250_2", k053250_device, rom_r)
208221ADDRESS_MAP_END
209222
223WRITE8_MEMBER(overdriv_state::sound_ack_w)
224{
225   m_audiocpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
226}
227
210228static ADDRESS_MAP_START( overdriv_sound_map, AS_PROGRAM, 8, overdriv_state )
229   AM_RANGE(0x0000, 0x0000) AM_WRITE(sound_ack_w)
230   // 0x012 read during explosions
231   // 0x180
211232   AM_RANGE(0x0200, 0x0201) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
212233   AM_RANGE(0x0400, 0x042f) AM_DEVREADWRITE("k053260_1", k053260_device, read, write)
213234   AM_RANGE(0x0600, 0x062f) AM_DEVREADWRITE("k053260_2", k053260_device, read, write)
r253077r253078
222243
223244static INPUT_PORTS_START( overdriv )
224245   PORT_START("INPUTS")
225   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_TOGGLE
246   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_TOGGLE
226247   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
227248   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
228249   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
r253077r253078
297318
298319   /* video hardware */
299320   MCFG_SCREEN_ADD("screen", RASTER)
300   MCFG_SCREEN_REFRESH_RATE(59)
301   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
302   MCFG_SCREEN_SIZE(64*8, 40*8)
303   MCFG_SCREEN_VISIBLE_AREA(13*8, (64-13)*8-1, 0*8, 32*8-1 )
321   MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4,384,0,305,264,0,224)
304322   MCFG_SCREEN_UPDATE_DRIVER(overdriv_state, screen_update_overdriv)
305323   MCFG_SCREEN_PALETTE("palette")
306324
r253077r253078
475493   ROM_LOAD( "789e02.f1", 0x100000, 0x100000, CRC(bdd3b5c6) SHA1(412332d64052c0a3714f4002c944b0e7d32980a4) )
476494ROM_END
477495
478GAMEL( 1990, overdriv,         0, overdriv, overdriv, driver_device, 0, ROT90, "Konami", "Over Drive (set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_overdriv )
479GAMEL( 1990, overdriva, overdriv, overdriv, overdriv, driver_device, 0, ROT90, "Konami", "Over Drive (set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_overdriv )
480GAMEL( 1990, overdrivb, overdriv, overdriv, overdriv, driver_device, 0, ROT90, "Konami", "Over Drive (set 3)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_overdriv )
496GAMEL( 1990, overdriv,         0, overdriv, overdriv, driver_device, 0, ROT90, "Konami", "Over Drive (set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_overdriv ) // US version
497GAMEL( 1990, overdriva, overdriv, overdriv, overdriv, driver_device, 0, ROT90, "Konami", "Over Drive (set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_overdriv ) // Overseas?
498GAMEL( 1990, overdrivb, overdriv, overdriv, overdriv, driver_device, 0, ROT90, "Konami", "Over Drive (set 3)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_overdriv ) // Overseas?
trunk/src/mame/drivers/pulsar.cpp
r253077r253078
254254/* ROM definition */
255255ROM_START( pulsarlb )
256256   ROM_REGION( 0x10800, "maincpu", ROMREGION_ERASEFF )
257   ROM_LOAD( "mp7a.bin", 0x10000, 0x800, CRC(726b8a19) SHA1(43b2af84d5622c1f67584c501b730acf002a6113) )
257   ROM_SYSTEM_BIOS(0, "mon7", "MP7A")
258   ROMX_LOAD( "mp7a.bin", 0x10000, 0x800, CRC(726b8a19) SHA1(43b2af84d5622c1f67584c501b730acf002a6113), ROM_BIOS(1))
259   ROM_SYSTEM_BIOS(1, "mon6", "LBOOT6") // Blank screen until floppy boots
260   ROMX_LOAD( "lboot6.rom", 0x10000, 0x800, CRC(3bca9096) SHA1(ff99288e51a9e832785ce8e3ab5a9452b1064231), ROM_BIOS(2))
258261ROM_END
259262
260263/* Driver */
trunk/src/mame/drivers/tispeak.cpp
r253077r253078
15581558
15591559COMP( 1979, lantutor,   0,        0, lantutor,     lantutor,   tispeak_state, lantutor, "Texas Instruments", "Language Tutor (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
15601560
1561COMP( 1981, tntell,     0,        0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (US, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK ) // assume there is an older version too, with CD8010 MCU
1562COMP( 1980, tntellp,    tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING )
1563COMP( 1981, tntelluk,   tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (UK)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK )
1564COMP( 1981, tntellfr,   tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Le Livre Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK )
1561COMP( 1981, tntell,     0,        0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (US, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK ) // assume there is an older version too, with CD8010 MCU
1562COMP( 1980, tntellp,    tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING )
1563COMP( 1981, tntelluk,   tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (UK)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK )
1564COMP( 1981, tntellfr,   tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Le Livre Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK )
15651565
15661566COMP( 1982, vocaid,     0,        0, vocaid,       tntell,     driver_device, 0,        "Texas Instruments", "Vocaid", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK )
trunk/src/mame/includes/fidelz80.h
r253077r253078
2525
2626   // devices/pointers
2727   required_device<cpu_device> m_maincpu;
28   optional_ioport_array<10> m_inp_matrix; // max 10
28   optional_ioport_array<11> m_inp_matrix; // max 11
2929   optional_device<s14001a_device> m_speech;
3030   optional_region_ptr<UINT8> m_speech_rom;
3131
trunk/src/mame/includes/overdriv.h
r253077r253078
2424      m_k053246(*this, "k053246"),
2525      m_k053251(*this, "k053251"),
2626      m_k053252(*this, "k053252"),
27      m_sprram(*this, "sprram"),
2827      m_screen(*this, "screen")
2928   { }
3029
r253077r253078
4544   required_device<k053247_device> m_k053246;
4645   required_device<k053251_device> m_k053251;
4746   required_device<k053252_device> m_k053252;
48   required_shared_ptr<UINT16> m_sprram;
4947   required_device<screen_device> m_screen;
5048   DECLARE_WRITE16_MEMBER(eeprom_w);
5149   DECLARE_WRITE16_MEMBER(cpuA_ctrl_w);
5250   DECLARE_READ16_MEMBER(cpuB_ctrl_r);
5351   DECLARE_WRITE16_MEMBER(cpuB_ctrl_w);
5452   DECLARE_WRITE16_MEMBER(overdriv_soundirq_w);
53   DECLARE_WRITE8_MEMBER(sound_ack_w);
5554   DECLARE_WRITE16_MEMBER(overdriv_cpuB_irq_x_w);
5655   DECLARE_WRITE16_MEMBER(overdriv_cpuB_irq_y_w);
5756   virtual void machine_start() override;
r253077r253078
5958   UINT32 screen_update_overdriv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
6059   INTERRUPT_GEN_MEMBER(cpuB_interrupt);
6160   TIMER_DEVICE_CALLBACK_MEMBER(overdriv_cpuA_scanline);
62
63   DECLARE_WRITE16_MEMBER( overdriv_k053246_word_w );
61   int m_fake_timer;
62   
6463   K051316_CB_MEMBER(zoom_callback_1);
6564   K051316_CB_MEMBER(zoom_callback_2);
6665   K053246_CB_MEMBER(sprite_callback);
trunk/src/mame/machine/iteagle_fpga.cpp
r253077r253078
44#include "coreutil.h"
55
66#define LOG_FPGA            (0)
7#define LOG_SERIAL          (0)
78#define LOG_RTC             (0)
89#define LOG_RAM             (0)
910#define LOG_EEPROM          (0)
r253077r253078
8081   m_serial_str.clear();
8182   m_serial_idx = 0;
8283   m_serial_data = false;
84   memset(m_serial_com0, 0, sizeof(m_serial_com0));
8385   memset(m_serial_com1, 0, sizeof(m_serial_com1));
8486   memset(m_serial_com2, 0, sizeof(m_serial_com2));
8587   memset(m_serial_com3, 0, sizeof(m_serial_com3));
86   memset(m_serial_com4, 0, sizeof(m_serial_com4));
88   m_serial_com0[0] = 0x2c;
8789   m_serial_com1[0] = 0x2c;
8890   m_serial_com2[0] = 0x2c;
8991   m_serial_com3[0] = 0x2c;
90   m_serial_com4[0] = 0x2c;
9192}
9293
9394void iteagle_fpga_device::update_sequence(UINT32 data)
r253077r253078
130131      val1 = ((m_seq & 0x2)<<6) | ((m_seq & 0x4)<<4) | ((m_seq & 0x8)<<2) | ((m_seq & 0x10)<<0)
131132            | ((m_seq & 0x20)>>2) | ((m_seq & 0x40)>>4) | ((m_seq & 0x80)>>6) | ((m_seq & 0x100)>>8);
132133      m_seq = (m_seq>>8) | ((feed&0xff)<<16);
133      //m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1)&0xFF);
134134      m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1 + m_seq_rem2)&0xFF);
135135   } else if (data & 0x2) {
136136      val1 = ((m_seq & 0x2)<<1) | ((m_seq & 0x4)>>1) | ((m_seq & 0x8)>>3);
137137      m_seq_rem1 = ((m_seq & 0x10)) | ((m_seq & 0x20)>>2) | ((m_seq & 0x40)>>4);
138      //m_seq_rem2 = ((m_seq & 0x80)>>1) | ((m_seq & 0x100)>>3) | ((m_seq & 0x200)>>5);
139138      m_seq = (m_seq>>6) | ((feed&0x3f)<<18);
140139      m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1 + m_seq_rem2)&0xFF);
141140   } else {
r253077r253078
197196            logerror("%s:fpga_r offset %04X = %08X & %08X\n", machine().describe_context(), offset*4, result, mem_mask);
198197         break;
199198      case 0x0c/4: // 1d = modem byte
200         result = (result & 0xFFFF0000) | ((m_serial_com2[m_serial_idx]&0xff)<<8) | (m_serial_com1[m_serial_idx]&0xff);
199         result = (result & 0xFFFF0000) | ((m_serial_com1[m_serial_idx]&0xff)<<8) | (m_serial_com0[m_serial_idx]&0xff);
201200         if (ACCESSING_BITS_0_15) {
202201            m_serial_data = false;
203202            m_serial_idx = 0;
204203         }
205         if (LOG_FPGA)
204         if (0 && LOG_FPGA)
206205            logerror("%s:fpga_r offset %04X = %08X & %08X\n", machine().describe_context(), offset*4, result, mem_mask);
207206         break;
208207      case 0x1c/4: // 1d = modem byte
209         result = (result & 0xFFFF0000) | ((m_serial_com4[m_serial_idx]&0xff)<<8) | (m_serial_com3[m_serial_idx]&0xff);
208         result = (result & 0xFFFF0000) | ((m_serial_com3[m_serial_idx]&0xff)<<8) | (m_serial_com2[m_serial_idx]&0xff);
210209         if (ACCESSING_BITS_0_15) {
211210            m_serial_data = false;
212211            m_serial_idx = 0;
r253077r253078
233232            if ((m_version & 0xff00) == 0x0200)
234233               update_sequence_eg1(data & 0xff);
235234            else
236            // ATMEL Chip access.  Returns version id's when bit 7 is set.
237            update_sequence(data & 0xff);
235               // ATMEL Chip access.  Returns version id's when bit 7 is set.
236               update_sequence(data & 0xff);
238237            if (0 && LOG_FPGA)
239238                  logerror("%s:fpga_w offset %04X = %08X & %08X\n", machine().describe_context(), offset*4, data, mem_mask);
240239         }
r253077r253078
242241         if (ACCESSING_BITS_24_31 && (data & 0x01000000)) {
243242            m_cpu->set_input_line(m_irq_num, CLEAR_LINE);
244243            // Not sure what value to use here, needed for lightgun
245            m_timer->adjust(attotime::from_hz(25));
244            m_timer->adjust(attotime::from_hz(59));
246245            if (LOG_FPGA)
247246                  logerror("%s:fpga_w offset %04X = %08X & %08X Clearing interrupt(%i)\n", machine().describe_context(), offset*4, data, mem_mask, m_irq_num);
248247         } else {
r253077r253078
269268            if (!m_serial_data) {
270269               m_serial_idx = data&0xf;
271270            } else {
272               m_serial_com1[m_serial_idx] = data&0xff;
271               m_serial_com0[m_serial_idx] = data&0xff;
273272               m_serial_idx = 0;
274273            }
275274            m_serial_data = !m_serial_data;
r253077r253078
278277            if (!m_serial_data) {
279278               m_serial_idx = (data&0x0f00)>>8;
280279            } else {
281               m_serial_com2[m_serial_idx] = (data&0xff00)>>8;
280               m_serial_com1[m_serial_idx] = (data&0xff00)>>8;
282281            }
283282            m_serial_data = !m_serial_data;
284283         }
285284         if (ACCESSING_BITS_16_23) {
286285            if (m_serial_str.size()==0)
287               m_serial_str = "com1: ";
286               m_serial_str = "com0: ";
288287            m_serial_str += (data>>16)&0xff;
289288            if (((data>>16)&0xff)==0xd) {
289               if (LOG_SERIAL) logerror("%s\n", m_serial_str.c_str());
290290               osd_printf_debug("%s\n", m_serial_str.c_str());
291291               m_serial_str.clear();
292292            }
293293         }
294294         if (ACCESSING_BITS_24_31) {
295295            if (m_serial_str.size()==0)
296               m_serial_str = "com2: ";
296               m_serial_str = "com1: ";
297297            m_serial_str += (data>>24)&0xff;
298298            if (1 || ((data>>24)&0xff)==0xd) {
299               if (LOG_SERIAL) logerror("%s\n", m_serial_str.c_str());
299300               osd_printf_debug("%s\n", m_serial_str.c_str());
300301               m_serial_str.clear();
301302            }
302303         }
303         if (LOG_FPGA)
304         if (0 && LOG_FPGA)
304305               logerror("%s:fpga_w offset %04X = %08X & %08X\n", machine().describe_context(), offset*4, data, mem_mask);
305306         break;
306307      case 0x1c/4:
r253077r253078
308309            if (!m_serial_data) {
309310               m_serial_idx = data&0xf;
310311            } else {
311               m_serial_com3[m_serial_idx] = data&0xff;
312               m_serial_com2[m_serial_idx] = data&0xff;
312313               m_serial_idx = 0;
313314            }
314315            m_serial_data = !m_serial_data;
r253077r253078
317318            if (!m_serial_data) {
318319               m_serial_idx = (data&0x0f00)>>8;
319320            } else {
320               m_serial_com4[m_serial_idx] = (data&0xff00)>>8;
321               m_serial_com3[m_serial_idx] = (data&0xff00)>>8;
321322            }
322323            m_serial_data = !m_serial_data;
323324         }
324325         if (ACCESSING_BITS_16_23) {
325326            if (m_serial_str.size()==0)
326               m_serial_str = "com3: ";
327               m_serial_str = "com2: ";
327328            m_serial_str += (data>>16)&0xff;
328329            if (1 || ((data>>16)&0xff)==0xd) {
330               if (LOG_SERIAL) logerror("%s\n", m_serial_str.c_str());
329331               osd_printf_debug("%s\n", m_serial_str.c_str());
330332               m_serial_str.clear();
331333            }
332334         }
333335         if (ACCESSING_BITS_24_31) {
334336            if (m_serial_str.size()==0)
335               m_serial_str = "com4: ";
337               m_serial_str = "com3: ";
336338            m_serial_str += (data>>24)&0xff;
337339            if (((data>>24)&0xff)==0xd) {
340               if (LOG_SERIAL) logerror("%s\n", m_serial_str.c_str());
338341               osd_printf_debug("%s\n", m_serial_str.c_str());
339342               m_serial_str.clear();
340343            }
r253077r253078
649652{
650653   pci_device::device_reset();
651654   memset(m_ctrl_regs, 0, sizeof(m_ctrl_regs));
652   m_ctrl_regs[0x10/4] =  0x00000000; // 0x6=No SIMM, 0x2, 0x1, 0x0 = SIMM .  Top 16 bits are compared to 0x3.
655   m_ctrl_regs[0x10/4] =  0x00070000; // 0x6=No SIMM, 0x2, 0x1, 0x0 = SIMM .  Top 16 bits are compared to 0x3. Bit 0 might be lan chip present.
653656   memset(m_rtc_regs, 0, sizeof(m_rtc_regs));
654657   m_rtc_regs[0xa] = 0x20; // 32.768 MHz
655658   m_rtc_regs[0xb] = 0x02; // 24-hour format
trunk/src/mame/machine/iteagle_fpga.h
r253077r253078
6363   std::string m_serial_str;
6464   UINT8 m_serial_idx;
6565   bool  m_serial_data;
66   UINT8 m_serial_com0[0x10];
6667   UINT8 m_serial_com1[0x10];
6768   UINT8 m_serial_com2[0x10];
6869   UINT8 m_serial_com3[0x10];
69   UINT8 m_serial_com4[0x10];
7070
7171   UINT32 m_version;
7272   UINT32 m_seq_init;
trunk/src/mame/mess.lst
r253077r253078
21532153bridgec3
21542154vbrc
21552155vsc
2156vscg
2157vscfr
2158vscsp
21562159csc
21572160fscc12
21582161fexcelv
r253077r253078
21872190van32    // 1991 Mephisto Vancouver 68020
21882191gen32    // 1993 Mephisto Genius030 V4.00
21892192gen32_41 // 1993 Mephisto Genius030 V4.01
2190gen32_oc // 1993 Mephisto Genius030 V4.01OC
21912193berlinp  // 1994 Mephisto Berlin Pro 68020
21922194bpl32    // 1996 Mephisto Berlin Pro London Upgrade V5.00
21932195lond020  // 1996 Mephisto London 68020 32 Bit
trunk/src/osd/sdl/sdlfile.cpp
r253077r253078
134134   {
135135      (*file)->type = SDLFILE_SOCKET;
136136      filerr = sdl_open_socket(path, openflags, file, filesize);
137      if(filerr != FILERR_NONE && (*file)->socket != -1)
138         close((*file)->socket);
137139      goto error;
138140   }
139141


Previous 199869 Revisions Next


© 1997-2024 The MAME Team