Previous 15994 Revisions Next

r14243 Friday 27th January, 2012 at 18:47:25 UTC by Miodrag Milanović
Sync with MAME r15194 (nw)
[src/emu/cpu/i386]x87ops.c
[src/mame/drivers]ajax.c baraduke.c battlnts.c cninja.c dcheese.c fastlane.c gyruss.c hexion.c igs_m027.c ironhors.c jchan.c junofrst.c mappy.c pacman.c progolf.c sfbonus.c taito_z.c tmaster.c vball.c vcombat.c vsnes.c
[src/mame/includes]cave.h cps1.h skyraid.h
[src/mame/video]cave.c cps1.c lsasquad.c naughtyb.c skyraid.c taito_f3.c vertigo.c

src/mame/includes/skyraid.h
r14242r14243
1515   UINT8* m_pos_ram;
1616   UINT8* m_obj_ram;
1717
18   bitmap_ind16 *m_helper;
18   bitmap_ind16 m_helper;
1919};
2020
2121
src/mame/includes/cps1.h
r14242r14243
131131   int          m_palette_align;
132132   int          m_palette_size;
133133   int          m_stars_rom_size;
134   UINT8        m_empty_tile8x8[8*8];
135   UINT8        m_empty_tile[32*32/2];
134   UINT8        m_empty_tile[32*32];
136135   int          m_cps_version;
137136
138137   /* devices */
src/mame/includes/cave.h
r14242r14243
5858   int          m_tiledim[4];
5959   int          m_old_tiledim[4];
6060
61   bitmap_ind8 m_sprite_zbuf;
61   bitmap_ind16 m_sprite_zbuf;
6262   UINT16       m_sprite_zbuf_baseval;
6363
6464   int          m_num_sprites;
src/mame/video/vertigo.c
r14242r14243
133133   state_save_register_item(machine, "vector_proc", NULL, 0, state->m_bsp.f);
134134   state_save_register_item(machine, "vector_proc", NULL, 0, state->m_bsp.y);
135135
136   state->m_vgen.set_machine(machine);
137136   state_save_register_item(machine, "vector_proc", NULL, 0, state->m_vgen.sreg);
138137   state_save_register_item(machine, "vector_proc", NULL, 0, state->m_vgen.l1);
139138   state_save_register_item(machine, "vector_proc", NULL, 0, state->m_vgen.l2);
r14242r14243
188187   memset(&state->m_vs, 0, sizeof(state->m_vs));
189188   memset(&state->m_bsp, 0, sizeof(state->m_bsp));
190189   memset(&state->m_vgen, 0, sizeof(state->m_vgen));
190   state->m_vgen.set_machine(machine);
191191}
192192
193193
src/mame/video/skyraid.c
r14242r14243
1212{
1313   skyraid_state *state = machine.driver_data<skyraid_state>();
1414
15   state->m_helper = auto_bitmap_ind16_alloc(machine, 128, 240);
15   state->m_helper.allocate(128, 240);
1616}
1717
1818
r14242r14243
139139
140140   bitmap.fill(0, cliprect);
141141
142   draw_terrain(screen.machine(), *state->m_helper, cliprect);
143   draw_sprites(screen.machine(), *state->m_helper, cliprect);
144   draw_missiles(screen.machine(), *state->m_helper, cliprect);
145   draw_trapezoid(screen.machine(), bitmap, *state->m_helper);
142   rectangle helper_clip = cliprect;
143   helper_clip &= state->m_helper.cliprect();
144   
145   draw_terrain(screen.machine(), state->m_helper, helper_clip);
146   draw_sprites(screen.machine(), state->m_helper, helper_clip);
147   draw_missiles(screen.machine(), state->m_helper, helper_clip);
148   draw_trapezoid(screen.machine(), bitmap, state->m_helper);
146149   draw_text(screen.machine(), bitmap, cliprect);
147150   return 0;
148151}
src/mame/video/cps1.c
r14242r14243
20092009   // for out of range tiles, switch to fully transparent data
20102010   // (but still call SET_TILE_INFO, otherwise problems might occur on boot e.g. unsquad)
20112011   if (code == -1)
2012      tileinfo.pen_data = state->m_empty_tile8x8;
2012      tileinfo.pen_data = state->m_empty_tile;
20132013}
20142014
20152015static TILE_GET_INFO( get_tile1_info )
r14242r14243
20982098   state->m_bg_tilemap[2] = tilemap_create(machine, get_tile2_info, tilemap2_scan, 32, 32, 64, 64);
20992099
21002100   /* create empty tiles */
2101   memset(state->m_empty_tile8x8, 0x0f, sizeof(state->m_empty_tile8x8));
2102   memset(state->m_empty_tile, 0xff, sizeof(state->m_empty_tile));   // 16x16 and 32x32 use packed graphics, 8x8 does not
2101   memset(state->m_empty_tile, 0x0f, sizeof(state->m_empty_tile));
21032102
21042103   /* front masks will change at runtime to handle sprite occluding */
21052104   cps1_update_transmasks(machine);
src/mame/video/naughtyb.c
r14242r14243
119119   state->m_cocktail =
120120      ( ( input_port_read(space->machine(), "DSW0") & 0x80 ) &&   // cabinet == cocktail
121121        ( data & 0x01 ) );            // handling player 2
122   state->m_palreg  = (data >> 1) & 0x03;         // pallette sel is bit 1 & 2
122   state->m_palreg  = (data >> 1) & 0x03;         // palette sel is bit 1 & 2
123123   state->m_bankreg = (data >> 2) & 0x01;         // banksel is just bit 2
124124}
125125
r14242r14243
132132   state->m_cocktail =
133133      ( ( input_port_read(space->machine(), "DSW0") & 0x80 ) &&   // cabinet == cocktail
134134        ( data & 0x01 ) );            // handling player 2
135   state->m_palreg  = (data >> 1) & 0x03;         // pallette sel is bit 1 & 2
135   state->m_palreg  = (data >> 1) & 0x03;         // palette sel is bit 1 & 2
136136   state->m_bankreg = (data >> 3) & 0x01;         // banksel is just bit 3
137137}
138138
src/mame/video/taito_f3.c
r14242r14243
14611461   UINT8 *dstp0,*dstp;
14621462
14631463   int yadv = bitmap.rowpixels();
1464   int yadvp = state->m_pri_alp_bitmap.rowpixels();
14641465   int i=0,y=draw_line_num[0];
14651466   int ty = y;
14661467
r14242r14243
14681469   {
14691470      ty = bitmap.height() - 1 - ty;
14701471      yadv = -yadv;
1472      yadvp = -yadvp;
14711473   }
14721474
14731475   dstp0 = &state->m_pri_alp_bitmap.pix8(ty, x);
r14242r14243
15461548         if(draw_line_num[i]==y+1)
15471549         {
15481550            dsti0 += yadv;
1549            dstp0 += yadv;
1551            dstp0 += yadvp;
15501552            y++;
15511553            continue;
15521554         }
15531555         else
15541556         {
1555            int dy=(draw_line_num[i]-y)*yadv;
1556            dsti0 += dy;
1557            dstp0 += dy;
1557            dsti0 += (draw_line_num[i]-y)*yadv;
1558            dstp0 += (draw_line_num[i]-y)*yadvp;
15581559            y=draw_line_num[i];
15591560         }
15601561      }
r14242r14243
26812682               UINT32 *dest0 = &dest_bmp.pix32(sy, sx);
26822683               UINT8 *pri0 = &state->m_pri_alp_bitmap.pix8(sy, sx);
26832684               int yadv = dest_bmp.rowpixels();
2685               int yadvp = state->m_pri_alp_bitmap.rowpixels();
26842686               dy=dy*16;
26852687               while(1)
26862688               {
r14242r14243
27302732                  if(!(--y)) break;
27312733                  source0 += dy;
27322734                  dest0+=yadv;
2733                  pri0+=yadv;
2735                  pri0+=yadvp;
27342736               }
27352737            }
27362738         }
src/mame/video/lsasquad.c
r14242r14243
216216   bitmap.fill(511, cliprect);
217217   drawbg(screen.machine(), bitmap, cliprect, 0); // bottom
218218   draw_sprites(screen.machine(), bitmap, cliprect);
219   drawbg(screen.machine(), bitmap, cliprect, 1);   // top = pallete $d ?
219   drawbg(screen.machine(), bitmap, cliprect, 1);   // top = palette $d ?
220220   return 0;
221221}
src/mame/video/cave.c
r14242r14243
744744
745745   state->m_sprite_zbuf_baseval = 0x10000 - MAX_SPRITE_NUM;
746746   machine.primary_screen->register_screen_bitmap(state->m_sprite_zbuf);
747   state->m_blit.baseaddr_zbuf = &state->m_sprite_zbuf.pix8(0);
748   state->m_blit.line_offset_zbuf = state->m_sprite_zbuf.rowpixels() * state->m_sprite_zbuf.bpp() / 8;
749747
750748   state->m_num_sprites = state->m_spriteram_size / 0x10 / 2;
751749   state->m_sprite = auto_alloc_array_clear(machine, struct sprite_cave, state->m_num_sprites);
r14242r14243
15471545   set_pens(screen.machine());
15481546
15491547   state->m_blit.baseaddr = reinterpret_cast<UINT8 *>(bitmap.raw_pixptr(0));
1550   state->m_blit.line_offset = bitmap.rowpixels() * bitmap.bpp() / 8;
1548   state->m_blit.line_offset = bitmap.rowbytes();
1549   state->m_blit.baseaddr_zbuf = reinterpret_cast<UINT8 *>(state->m_sprite_zbuf.raw_pixptr(0));
1550   state->m_blit.line_offset_zbuf = state->m_sprite_zbuf.rowbytes();
15511551
15521552   /* Choose the tilemap to display (8x8 tiles or 16x16 tiles) */
15531553   for (GFX = 0; GFX < 4; GFX++)
src/mame/drivers/vball.c
r14242r14243
44
55 TODO:
66 Needs to be tilemapped. The background layer and sprite layer are identical to spdodgeb, except for the
7  back-switched graphics roms and the size of the pallete banks.
7  back-switched graphics roms and the size of the palette banks.
88
99 03/28/03 - Additions by Steve Ellenoff
1010 ---------------------------------------
src/mame/drivers/junofrst.c
r14242r14243
334334   KONAMI8_COCKTAIL_B213_UNK
335335
336336   PORT_START("DSW1")
337   KONAMI_COINAGE(DEF_STR( Free_Play ), "No Coin B")
337   KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
338338   /* "No Coin B" = coins produce sound, but no effect on coin counter */
339339
340340   PORT_START("DSW2")
341   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
341   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )      PORT_DIPLOCATION("SW2:1,2")
342342   PORT_DIPSETTING(    0x03, "3" )
343343   PORT_DIPSETTING(    0x02, "4" )
344344   PORT_DIPSETTING(    0x01, "5" )
345345   PORT_DIPSETTING(    0x00, "256 (Cheat)")
346   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
346   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )      PORT_DIPLOCATION("SW2:3")
347347   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
348348   PORT_DIPSETTING(    0x04, DEF_STR( Cocktail ) )
349   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
350   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
351   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
352   PORT_DIPNAME( 0x70, 0x70, DEF_STR( Difficulty ) )
349   PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
350   PORT_DIPNAME( 0x70, 0x70, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("SW2:5,6,7")
353351   PORT_DIPSETTING(    0x70, "1 (Easiest)" )
354352   PORT_DIPSETTING(    0x60, "2" )
355353   PORT_DIPSETTING(    0x50, "3" )
r14242r14243
358356   PORT_DIPSETTING(    0x20, "6" )
359357   PORT_DIPSETTING(    0x10, "7" )
360358   PORT_DIPSETTING(    0x00, "8 (Hardest)" )
361   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
359   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )   PORT_DIPLOCATION("SW2:8")
362360   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
363361   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
364362INPUT_PORTS_END
src/mame/drivers/vsnes.c
r14242r14243
4444- Goonies
4545- Soccer
4646- T.K.O. Boxing *
47  (Manual states this is an RP2C04-0004 - though the pallete doesn't agree)
47  (Manual states this is an RP2C04-0004 - though the palette doesn't agree)
4848
4949RP2C04-0004:
5050- Clu Clu Land
src/mame/drivers/cninja.c
r14242r14243
153153static WRITE16_HANDLER( cninja_pf12_control_w )
154154{
155155   cninja_state *state = space->machine().driver_data<cninja_state>();
156   space->machine().primary_screen->update_partial(space->machine().primary_screen->vpos());
156157   deco16ic_pf_control_w(state->m_deco_tilegen1, offset, data, mem_mask);
157   space->machine().primary_screen->update_partial(space->machine().primary_screen->vpos());
158158}
159159
160160
161161static WRITE16_HANDLER( cninja_pf34_control_w )
162162{
163163   cninja_state *state = space->machine().driver_data<cninja_state>();
164   space->machine().primary_screen->update_partial(space->machine().primary_screen->vpos());
164165   deco16ic_pf_control_w(state->m_deco_tilegen2, offset, data, mem_mask);
165   space->machine().primary_screen->update_partial(space->machine().primary_screen->vpos());
166166}
167167
168168
src/mame/drivers/igs_m027.c
r14242r14243
3030   UINT32 *m_igs_cg_videoram;
3131   UINT32 *m_igs_tx_videoram;
3232   UINT32 *m_igs_bg_videoram;
33   UINT32 *m_igs_pallete32;
33   UINT32 *m_igs_palette32;
3434   tilemap_t *m_igs_tx_tilemap;
3535   tilemap_t *m_igs_bg_tilemap;
3636};
r14242r14243
4242    Video
4343
4444    0x38001000, 0x380017ff          CG_CONTROL,8 byte per object, 0x100 in total
45    0x38001800, 0x380019ff      PALLETE RAM,2 byte per color, 0x100 in total
45    0x38001800, 0x380019ff      PALETTE RAM,2 byte per color, 0x100 in total
4646    0x38004000, 0x38005FFF      TX Video RAM????????1E00??????512x240??????
4747    0x38006000, 0x38007FFF      BG Video RAM????????1E00??????512x240??????
4848
r14242r14243
138138}
139139
140140
141/* Pallete Layer */
142static WRITE32_HANDLER( igs_pallete32_w )
141/* Palette Layer */
142static WRITE32_HANDLER( igs_palette32_w )
143143{
144144   igs_m027_state *state = space->machine().driver_data<igs_m027_state>();
145   space->machine().generic.paletteram.u16=(UINT16 *)state->m_igs_pallete32;
146   COMBINE_DATA(&state->m_igs_pallete32[offset]);
145   space->machine().generic.paletteram.u16=(UINT16 *)state->m_igs_palette32;
146   COMBINE_DATA(&state->m_igs_palette32[offset]);
147147   //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2,space->machine().generic.paletteram.u16[offset*2],0);
148148   //paletteram16_xGGGGGRRRRRBBBBB_word_w(offset*2+1,space->machine().generic.paletteram.u16[offset*2+1],0);
149149   //if(data!=0)
150   //fprintf(stdout,"PALLETE RAM OFFSET %x ,data %x!\n",offset ,state->m_igs_pallete32[offset]);
150   //fprintf(stdout,"PALETTE RAM OFFSET %x ,data %x!\n",offset ,state->m_igs_palette32[offset]);
151151}
152152
153153
r14242r14243
197197   AM_RANGE(0x10000000, 0x100003ff) AM_RAM AM_BASE_MEMBER(igs_m027_state, m_igs_mainram)// main ram for asic?
198198   AM_RANGE(0x18000000, 0x18007fff) AM_RAM
199199
200   AM_RANGE(0x38001000, 0x380017ff) AM_RAM_WRITE(igs_cg_videoram_w) AM_BASE_MEMBER(igs_m027_state, m_igs_cg_videoram)      //0x200 * 1   CG PALLETE?
201   AM_RANGE(0x38001800, 0x38001fff) AM_RAM_WRITE(igs_pallete32_w) AM_BASE_MEMBER(igs_m027_state, m_igs_pallete32)      //0x200 * 1
200   AM_RANGE(0x38001000, 0x380017ff) AM_RAM_WRITE(igs_cg_videoram_w) AM_BASE_MEMBER(igs_m027_state, m_igs_cg_videoram)      //0x200 * 1   CG PALETTE?
201   AM_RANGE(0x38001800, 0x38001fff) AM_RAM_WRITE(igs_palette32_w) AM_BASE_MEMBER(igs_m027_state, m_igs_palette32)      //0x200 * 1
202202
203203   AM_RANGE(0x38004000, 0x38005FFF) AM_RAM_WRITE(igs_tx_videoram_w) AM_BASE_MEMBER(igs_m027_state, m_igs_tx_videoram) /* Text Layer */
204204   AM_RANGE(0x38006000, 0x38007FFF) AM_RAM_WRITE(igs_bg_videoram_w) AM_BASE_MEMBER(igs_m027_state, m_igs_bg_videoram) /* CG Layer */
src/mame/drivers/vcombat.c
r14242r14243
7272               Might this be a HW blank bit so things look clean when
7373               the i860's do their updates?
7474               The two other times I see it read are just before
75               and after one of the pallette setups is done.
75               and after one of the palette setups is done.
7676         0x600018: ? No info yet.
7777         0x704000: (VC only) Likely analog axis for VR headset
7878         0x703000: (VC only) Likely analog axis for VR headset
src/mame/drivers/baraduke.c
r14242r14243
100100
101101DIP locations verified for:
102102--------------------------
103- metrocrs (manual)
103- baraduke (manual JP)
104- metrocrs (manual US, JP)
104105
105106***************************************************************************/
106107
r14242r14243
231232
232233   PORT_START("DSWB")
233234   PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Bonus_Life ) )   PORT_DIPLOCATION("SWB:1,2")
234   PORT_DIPSETTING(    0x80, "Every 10k" )
235   PORT_DIPSETTING(    0xc0, "10k And Every 20k" )
236   PORT_DIPSETTING(    0x40, "Every 20k" )
237   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
235   PORT_DIPSETTING(    0x80, "Every 10k" )            // "B"
236   PORT_DIPSETTING(    0xc0, "10k And Every 20k" )      // "A" (default)
237   PORT_DIPSETTING(    0x40, "Every 20k" )            // "C"
238   PORT_DIPSETTING(    0x00, DEF_STR( None ) )         // "D"
238239   PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("SWB:3,4")
239   PORT_DIPSETTING(    0x20, DEF_STR( Easy ) )
240   PORT_DIPSETTING(    0x30, DEF_STR( Normal ) )
241   PORT_DIPSETTING(    0x10, DEF_STR( Hard ) )
242   PORT_DIPSETTING(    0x00, DEF_STR( Very_Hard ) )
240   PORT_DIPSETTING(    0x20, DEF_STR( Easy ) )         // "B"
241   PORT_DIPSETTING(    0x30, DEF_STR( Normal ) )      // "A" (default)
242   PORT_DIPSETTING(    0x10, DEF_STR( Hard ) )         // "C"
243   PORT_DIPSETTING(    0x00, DEF_STR( Very_Hard ) )   // "D"
243244   /*  To advance rounds: set SWB:5 to ON, coin up game and push 1P start.
244245        Use joystick to select round 1 - 48. Set SWB:5 to OFF to play selected round. */
245246   PORT_DIPNAME( 0x08, 0x08, "Round Select" )         PORT_DIPLOCATION("SWB:5")
r14242r14243
297298   PORT_DIPSETTING(    0x60, DEF_STR( 1C_1C ) )
298299   PORT_DIPSETTING(    0x40, DEF_STR( 1C_2C ) )
299300   PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("SWA:4,5")
300   PORT_DIPSETTING(    0x10, DEF_STR( Easy ) )
301   PORT_DIPSETTING(    0x18, DEF_STR( Normal ) )
302   PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )
303   PORT_DIPSETTING(    0x00, DEF_STR( Very_Hard ) )
304   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWA:6")
301   PORT_DIPSETTING(    0x10, DEF_STR( Easy ) )         // "B"
302   PORT_DIPSETTING(    0x18, DEF_STR( Normal ) )      // "A" (default)
303   PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )         // "C"
304   PORT_DIPSETTING(    0x00, DEF_STR( Very_Hard ) )   // "D"
305   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWA:6") // metrocrs: after round 8, metrocrsa: after round 4
305306   PORT_DIPSETTING(    0x00, DEF_STR( No ) )
306307   PORT_DIPSETTING(    0x04, DEF_STR( Yes ) )
307308
src/mame/drivers/dcheese.c
r14242r14243
591591   ROM_RELOAD(        0x380000, 0x80000 )
592592
593593   ROM_REGION16_LE( 0x20000, "user1", 0 )
594   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Pallette - 0 at U144 */
595   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Pallette - 1 at U145 */
594   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Palette - 0 at U144 */
595   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Palette - 1 at U145 */
596596
597597   ROM_REGION( 0x100, "user2", 0 )
598598   ROM_LOAD16_BYTE( "93c46.u158", 0x00000, 0x0080, CRC(a40a7b87) SHA1(3632b7538b3bf41ee0cbe7541a0f5951f70b4a9b) ) /* EEPROM data at U158 */
r14242r14243
624624   ROM_RELOAD(        0x380000, 0x80000 )
625625
626626   ROM_REGION16_LE( 0x20000, "user1", 0 )
627   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Pallette - 0 at U144 */
628   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Pallette - 1 at U145 */
627   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Palette - 0 at U144 */
628   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Palette - 1 at U145 */
629629
630630   ROM_REGION( 0x100, "user2", 0 )
631631   ROM_LOAD16_BYTE( "93c46.u158", 0x00000, 0x0080, CRC(a40a7b87) SHA1(3632b7538b3bf41ee0cbe7541a0f5951f70b4a9b) ) /* EEPROM data at U158 */
r14242r14243
656656   ROM_RELOAD(        0x380000, 0x80000 )
657657
658658   ROM_REGION16_LE( 0x20000, "user1", 0 )
659   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Pallette - 0 at U144 */
660   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Pallette - 1 at U145 */
659   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Palette - 0 at U144 */
660   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Palette - 1 at U145 */
661661
662662   ROM_REGION( 0x100, "user2", 0 )
663663   ROM_LOAD16_BYTE( "93c46.u158", 0x00000, 0x0080, CRC(a40a7b87) SHA1(3632b7538b3bf41ee0cbe7541a0f5951f70b4a9b) ) /* EEPROM data at U158 */
r14242r14243
689689   ROM_RELOAD(        0x380000, 0x80000 )
690690
691691   ROM_REGION16_LE( 0x20000, "user1", 0 )
692   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Pallette - 0 at U144 */
693   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Pallette - 1 at U145 */
692   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Palette - 0 at U144 */
693   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Palette - 1 at U145 */
694694
695695   ROM_REGION( 0x100, "user2", 0 )
696696   ROM_LOAD16_BYTE( "93c46.u158", 0x00000, 0x0080, CRC(a40a7b87) SHA1(3632b7538b3bf41ee0cbe7541a0f5951f70b4a9b) ) /* EEPROM data at U158 */
r14242r14243
721721   ROM_RELOAD(        0x380000, 0x80000 )
722722
723723   ROM_REGION16_LE( 0x20000, "user1", 0 )
724   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Pallette - 0 at U144 */
725   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Pallette - 1 at U145 */
724   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Palette - 0 at U144 */
725   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Palette - 1 at U145 */
726726
727727   ROM_REGION( 0x100, "user2", 0 )
728728   ROM_LOAD16_BYTE( "93c46.u158", 0x00000, 0x0080, CRC(a40a7b87) SHA1(3632b7538b3bf41ee0cbe7541a0f5951f70b4a9b) ) /* EEPROM data at U158 */
r14242r14243
753753   ROM_RELOAD(        0x380000, 0x80000 )
754754
755755   ROM_REGION16_LE( 0x20000, "user1", 0 )
756   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Pallette - 0 at U144 */
757   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Pallette - 1 at U145 */
756   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(793c4bda) SHA1(5a8a2981b48922f4d9e617a9bf9ef6a47ab702b7) ) /* Palette - 0 at U144 */
757   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(fe2c3521) SHA1(896e53427c7831620ca565be9c0b76aabc36b9f4) ) /* Palette - 1 at U145 */
758758
759759   ROM_REGION( 0x100, "user2", 0 )
760760   ROM_LOAD16_BYTE( "93c46.u158", 0x00000, 0x0080, CRC(a40a7b87) SHA1(3632b7538b3bf41ee0cbe7541a0f5951f70b4a9b) ) /* EEPROM data at U158 */
r14242r14243
794794   ROM_RELOAD(        0x3c0000, 0x40000 )
795795
796796   ROM_REGION16_LE( 0x20000, "user1", 0 )
797   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(69b3cc85) SHA1(05f7204ac961274b5d2f42cc6c0d06e5fa146aef)) /* Pallette - 0 at U144 */
798   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(e64a8511) SHA1(0e3a1fe936c841b8acfb150bf63e564b1dec2363) ) /* Pallette - 1 at U145 */
797   ROM_LOAD16_BYTE( "0.144", 0x00000, 0x10000, CRC(69b3cc85) SHA1(05f7204ac961274b5d2f42cc6c0d06e5fa146aef)) /* Palette - 0 at U144 */
798   ROM_LOAD16_BYTE( "1.145", 0x00001, 0x10000, CRC(e64a8511) SHA1(0e3a1fe936c841b8acfb150bf63e564b1dec2363) ) /* Palette - 1 at U145 */
799799ROM_END
800800
801801
src/mame/drivers/sfbonus.c
r14242r14243
8484   Sound: OKI M6295
8585   Other: XILINX XC9536XL (used for programable protection, connected to H2)
8686
87HM86171-120 - HMC 28 pin DIP Color Pallete RAMDAC
87HM86171-120 - HMC 28 pin DIP Color Palette RAMDAC
8888 FM1608-120 - RAMTRON 64Kb bytewide Ferroelectric Nonvolatile RAM
8989   ULN2003A - 16 pin DIP Seven Darlington Arrays
9090       386D - JRC 386D low voltage AMP
r14242r14243
140140   Sound: OKI M6295
141141   Other: XILINX XC9536XL (socketted)
142142
143HM86171-120 - HMC 28 pin DIP Color Pallete RAMDAC
143HM86171-120 - HMC 28 pin DIP Color Palette RAMDAC
144144   ULN2003A - 16 pin DIP Seven Darlington Arrays
145145      51864 - V62C51864L-35P 64Kb SRAM
146146      75176 - SN75176BP Differential BUS Transceiver (Bidirectional data communication on multipoint bus transmission line)
r14242r14243
234234   Sound: OKI M6295
235235   Other: XILINX XC9536XL (used for programable protection, connected to H2)
236236
237HM86171-120 - HMC 28 pin DIP Color Pallete RAMDAC
237HM86171-120 - HMC 28 pin DIP Color Palette RAMDAC
238238 FM1608-120 - RAMTRON 64Kb bytewide Ferroelectric Nonvolatile RAM
239239   ULN2003A - 16 pin DIP Seven Darlington Arrays
240240      75176 - SN75176BP Differential BUS Transceiver (Bidirectional data communication on multipoint bus transmission line)
r14242r14243
252252
253253--------------------------------------------------------------------
254254
255MH86171 Color Pallete RAMDAC
255MH86171 Color Palette RAMDAC
256256 Hardware & software compatible with VGA, MCGA & 8514/A graphics
257257 Compatible with the RS170 video stadard
258258 Single monolithic, high performance CMOS
src/mame/drivers/hexion.c
r14242r14243
141141
142142static INPUT_PORTS_START( hexion )
143143   PORT_START("DSW1")
144   KONAMI_COINAGE(DEF_STR( Free_Play ), DEF_STR( Free_Play ))
144   KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), DEF_STR( Free_Play ), SW1)
145145
146146   PORT_START("DSW2")
147   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
148   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
149   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
150   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
151   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
152   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
153   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
154   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
155   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
156   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
157   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
158   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
159   PORT_DIPNAME( 0x70, 0x70, DEF_STR( Difficulty ) )
160   PORT_DIPSETTING(    0x70, DEF_STR( Easiest ) )
161   PORT_DIPSETTING(    0x60, DEF_STR( Very_Easy) )
162   PORT_DIPSETTING(    0x50, DEF_STR( Easy ) )
163   PORT_DIPSETTING(    0x40, DEF_STR( Medium ) )
164   PORT_DIPSETTING(    0x30, DEF_STR( Medium_Hard ) )
165   PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )
166   PORT_DIPSETTING(    0x10, DEF_STR( Very_Hard ) )
167   PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
168   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
169   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
170   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
147   PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
148   PORT_DIPNAME( 0x70, 0x40, DEF_STR( Difficulty ) )      PORT_DIPLOCATION("SW2:5,6,7")
149   PORT_DIPSETTING(    0x70, DEF_STR( Easiest ) )         // "1"
150   PORT_DIPSETTING(    0x60, DEF_STR( Very_Easy) )         // "2"
151   PORT_DIPSETTING(    0x50, DEF_STR( Easy ) )            // "3"
152   PORT_DIPSETTING(    0x40, DEF_STR( Medium ) )         // "4"
153   PORT_DIPSETTING(    0x30, DEF_STR( Medium_Hard ) )      // "5"
154   PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )            // "6"
155   PORT_DIPSETTING(    0x10, DEF_STR( Very_Hard ) )      // "7"
156   PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )         // "8"
157   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )      PORT_DIPLOCATION("SW2:8")
158   PORT_DIPSETTING(   0x80, DEF_STR( Off ) )
159   PORT_DIPSETTING(   0x00, DEF_STR( On ) )
171160
172161   PORT_START("DSW3")
173   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
162   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )      PORT_DIPLOCATION("SW3:1")
174163   PORT_DIPSETTING(   0x01, DEF_STR( Off ) )
175164   PORT_DIPSETTING(   0x00, DEF_STR( On ) )
176   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
177   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
178   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
179   PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
180   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
181   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
182   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
183   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
165   PORT_BIT( 0xfa, IP_ACTIVE_LOW, IPT_UNUSED )
166   PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
184167
185168   PORT_START("P1")
186169   KONAMI8_B12_START(1)
src/mame/drivers/battlnts.c
r14242r14243
131131
132132   PORT_START("P1")
133133   KONAMI8_B1(1)
134   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW3:4")
134   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW3:4")
135135   PORT_DIPSETTING(   0x80, "3 Times" )
136136   PORT_DIPSETTING(   0x00, "5 Times" )
137137
r14242r14243
139139   KONAMI8_B1_UNK(2)
140140INPUT_PORTS_END
141141
142static INPUT_PORTS_START( thehustlj )
142static INPUT_PORTS_START( rackemup )
143143   PORT_INCLUDE( battlnts )
144144
145145   PORT_MODIFY("DSW2")
146146   PORT_DIPNAME( 0x03, 0x02, "Balls" )               PORT_DIPLOCATION("SW2:1,2")
147   PORT_DIPSETTING(   0x03, "1" )
148   PORT_DIPSETTING(   0x02, "2" )
149   PORT_DIPSETTING(   0x01, "3" )
150   PORT_DIPSETTING(   0x00, "6" )
151   PORT_DIPNAME( 0x18, 0x18, "Time To Aim" )         PORT_DIPLOCATION("SW2:4,5")
147   PORT_DIPSETTING(   0x03, "2" )
148   PORT_DIPSETTING(   0x02, "3" )
149   PORT_DIPSETTING(   0x01, "4" )
150   PORT_DIPSETTING(   0x00, "7" )
151   PORT_DIPNAME( 0x18, 0x10, "Time To Aim" )         PORT_DIPLOCATION("SW2:4,5")
152152   PORT_DIPSETTING(   0x18, "25s (Stage 1: 30s)" )
153153   PORT_DIPSETTING(   0x10, "20s (Stage 1: 25s)" )
154154   PORT_DIPSETTING(   0x08, "17s (Stage 1: 22s)" )
155155   PORT_DIPSETTING(   0x00, "15s (Stage 1: 20s)" )
156156
157   PORT_MODIFY("DSW3")
158   PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW3:2" )
159
160157   PORT_MODIFY("P1")
161158   KONAMI8_B12(1)
162159   PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW3:4" )
r14242r14243
165162   KONAMI8_B12_UNK(2)
166163INPUT_PORTS_END
167164
165static INPUT_PORTS_START( thehustl )
166   PORT_INCLUDE( rackemup )
168167
168   PORT_MODIFY("DSW3")
169   PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW3:2" )
170INPUT_PORTS_END
171
172
169173/*************************************
170174 *
171175 *  Graphics definitions
r14242r14243
414418
415419GAME( 1987, battlnts,  0,        battlnts, battlnts, 0,        ROT90, "Konami", "Battlantis", GAME_SUPPORTS_SAVE )
416420GAME( 1987, battlntsj, battlnts, battlnts, battlnts, 0,        ROT90, "Konami", "Battlantis (Japan)", GAME_SUPPORTS_SAVE )
417GAME( 1987, rackemup,  0,        battlnts, thehustlj,rackemup, ROT90, "Konami", "Rack 'em Up", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
418GAME( 1987, thehustl,  rackemup, battlnts, thehustlj,0,        ROT90, "Konami", "The Hustler (Japan version M)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
419GAME( 1987, thehustlj, rackemup, battlnts, thehustlj,0,        ROT90, "Konami", "The Hustler (Japan version J)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
421GAME( 1987, rackemup,  0,        battlnts, rackemup, rackemup, ROT90, "Konami", "Rack 'em Up", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
422GAME( 1987, thehustl,  rackemup, battlnts, thehustl, 0,        ROT90, "Konami", "The Hustler (Japan version M)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
423GAME( 1987, thehustlj, rackemup, battlnts, thehustl, 0,        ROT90, "Konami", "The Hustler (Japan version J)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
src/mame/drivers/ironhors.c
r14242r14243
6767   AM_RANGE(0x0060, 0x00df) AM_RAM
6868   AM_RANGE(0x0800, 0x0800) AM_WRITE(soundlatch_w)
6969   AM_RANGE(0x0900, 0x0900) AM_READ_PORT("DSW3") AM_WRITE(ironhors_sh_irqtrigger_w)
70   AM_RANGE(0x0a00, 0x0a00) AM_READ_PORT("DSW1") AM_WRITE(ironhors_palettebank_w)
71   AM_RANGE(0x0b00, 0x0b00) AM_READ_PORT("DSW2") AM_WRITE(ironhors_flipscreen_w)
70   AM_RANGE(0x0a00, 0x0a00) AM_READ_PORT("DSW2") AM_WRITE(ironhors_palettebank_w)
71   AM_RANGE(0x0b00, 0x0b00) AM_READ_PORT("DSW1") AM_WRITE(ironhors_flipscreen_w)
7272   AM_RANGE(0x0b01, 0x0b01) AM_READ_PORT("P2")
7373   AM_RANGE(0x0b02, 0x0b02) AM_READ_PORT("P1")
7474   AM_RANGE(0x0b03, 0x0b03) AM_READ_PORT("SYSTEM")
r14242r14243
106106   AM_RANGE(0x0060, 0x00ff) AM_RAM
107107   AM_RANGE(0x0800, 0x0800) AM_WRITE(soundlatch_w)
108108   AM_RANGE(0x0900, 0x0900) /*AM_READ_PORT("DSW3") */AM_WRITE(ironhors_sh_irqtrigger_w)
109   AM_RANGE(0x0a00, 0x0a00) AM_READ_PORT("DSW1") //AM_WRITE(ironhors_palettebank_w)
110   AM_RANGE(0x0b00, 0x0b00) AM_READ_PORT("DSW2") AM_WRITE(ironhors_flipscreen_w)
111   AM_RANGE(0x0b01, 0x0b01) AM_READ_PORT("DSW1") //AM_WRITE(ironhors_palettebank_w)
109   AM_RANGE(0x0a00, 0x0a00) AM_READ_PORT("DSW2") //AM_WRITE(ironhors_palettebank_w)
110   AM_RANGE(0x0b00, 0x0b00) AM_READ_PORT("DSW1") AM_WRITE(ironhors_flipscreen_w)
111   AM_RANGE(0x0b01, 0x0b01) AM_READ_PORT("DSW2") //AM_WRITE(ironhors_palettebank_w)
112112   AM_RANGE(0x0b02, 0x0b02) AM_READ_PORT("P1")
113113   AM_RANGE(0x0b03, 0x0b03) AM_READ_PORT("SYSTEM")
114114
r14242r14243
154154   KONAMI8_COCKTAIL_4WAY_B123_UNK
155155
156156   PORT_START("DSW1")
157   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
157   KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
158   /* "No Coin B" = coins produce sound, but no effect on coin counter */
159
160   PORT_START("DSW2")
161   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )      PORT_DIPLOCATION("SW2:1,2")
158162   PORT_DIPSETTING(    0x03, "2" )
159163   PORT_DIPSETTING(    0x02, "3" )
160164   PORT_DIPSETTING(    0x01, "5" )
161165   PORT_DIPSETTING(    0x00, "7" )
162   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
166   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )      PORT_DIPLOCATION("SW2:3")
163167   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
164168   PORT_DIPSETTING(    0x04, DEF_STR( Cocktail ) )
165   PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) )
169   PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) )   PORT_DIPLOCATION("SW2:4,5")
166170   PORT_DIPSETTING(    0x18, "30K 70K+" )
167171   PORT_DIPSETTING(    0x10, "40K 80K+" )
168172   PORT_DIPSETTING(    0x08, "40K" )
169173   PORT_DIPSETTING(    0x00, "50K" )
170   PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
174   PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("SW2:6,7")
171175   PORT_DIPSETTING(    0x60, DEF_STR( Easy ) )
172   PORT_DIPSETTING(    0x40, DEF_STR( Normal ) )
173   PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )
176   PORT_DIPSETTING(    0x40, DEF_STR( Normal ) )      // factory default (JP)
177   PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )         // factory default (US)
174178   PORT_DIPSETTING(    0x00, DEF_STR( Very_Hard ) )
175   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
179   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )   PORT_DIPLOCATION("SW2:8")
176180   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
177181   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
178182
179   PORT_START("DSW2")
180   KONAMI_COINAGE(DEF_STR( Free_Play ), "No Coin B")
181   /* "No Coin B" = coins produce sound, but no effect on coin counter */
182
183183   PORT_START("DSW3")
184   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Flip_Screen ) )
184   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Flip_Screen ) )   PORT_DIPLOCATION("SW3:1")
185185   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
186186   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
187   PORT_DIPNAME( 0x02, 0x02, "Upright Controls" )
187   PORT_DIPNAME( 0x02, 0x02, "Upright Controls" )      PORT_DIPLOCATION("SW3:2")
188188   PORT_DIPSETTING(    0x02, DEF_STR( Single ) )
189189   PORT_DIPSETTING(    0x00, DEF_STR( Dual ) )
190   PORT_DIPNAME( 0x04, 0x04, "Button Layout" )
190   PORT_DIPNAME( 0x04, 0x04, "Button Layout" )         PORT_DIPLOCATION("SW3:3") // though US manual says unused
191191   PORT_DIPSETTING(    0x04, "Power Attack Squat" )
192192   PORT_DIPSETTING(    0x00, "Squat Attack Power" )
193193   PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED )
src/mame/drivers/jchan.c
r14242r14243
1717jchan2 : "1995/10/24 Fists Of Fire"
1818
1919
20 main2sub comunication is done within $400000-$403fff (mainsub_shared_ram):
20 main2sub communication is done within $400000-$403fff (mainsub_shared_ram):
2121 - $403C02(W) : ]
2222 - $403C04(W) : ] main68k sets parameters before calling subcpu routine, when required
2323 - $403C06(W) : ]
src/mame/drivers/tmaster.c
r14242r14243
8181 Video: XC3042A (Sigma Xilinx FPGA gate array)
8282 Sound: OKI M6295
8383   OSC: 32MHz, 24MHz & 8.664MHz
84 Other: SCN68681C1N40 (Serial controler chip)
84 Other: SCN68681C1N40 (Serial controller chip)
8585        DALLAS DS1225AB-85 Nonvolatile SRAM
8686        DALLAS DS1204V (used for security)
8787        DALLAS DS1232 (MicroMonitor Chip)
src/mame/drivers/progolf.c
r14242r14243
127127               {
128128                  color = state->m_fg_fb[(xi+yi*8)+count*0x40];
129129
130                  if(cliprect.contains(x+yi, 256-y+xi))
130                  if(color != 0 && cliprect.contains(x+yi, 256-y+xi))
131131                     bitmap.pix16(x+yi, 256-y+xi) = screen.machine().pens[(color & 0x7)];
132132               }
133133            }
src/mame/drivers/taito_z.c
r14242r14243
196196                                   including video output. For example, if the harness is connected backwards, this chip blows and kills
197197                                   the PCB. Even manually resetting the 68000's cannot restart the PCB, and it just shows a wavey pattern
198198                                   on screen.
199                       TC0110PCR - Pallete Generator
199                       TC0110PCR - Palette Generator
200200                       TC0100SCN - Tilemap Generator
201201                       TC0150ROD - Road Generator
202202                       TC0050VDZ - \ Motion Object Generator Combo?
src/mame/drivers/mappy.c
r14242r14243
3131   sprites are 4bpp instead of 2bpp, so the final stage of video generation is
3232   a little different as well, though the custom ICs are still the same.
3333   Dig Dig II and Motos are almost the same, apart from larger ROMs.
34   Tower of Druaga also has 4x the amount of sprite color combinations so it's
35   the most different of the four.
34   The Tower of Druaga also has 4x the amount of sprite color combinations so
35   it's the most different of the four.
3636
3737
3838Custom ICs (Super Pacman and Mappy):
r14242r14243
117117
118118Mappy memory map
119119----------------
120Tower of Druaga, Dig Dug 2, Motos are the same, with minor differences.
120The Tower of Druaga, Dig Dug 2, Motos are the same, with minor differences.
121121The main difference with Super Pac-Man is the increased video RAM, needed to
122122implement a scrolling tilemap.
123123
r14242r14243
154154111xxxxxxxxxxxxx R   xxxxxxxx ROM 1B    program ROM [2]
155155
156156[1] only half of that space is actually used, because only 2 of the possible 4 I/O chips are present
157[2] Tower of Druaga, Dig Dug 2, Motos have 2 128k ROMs instead of 3 64k:
157[2] The Tower of Druaga, Dig Dug 2, Motos have 2 128k ROMs instead of 3 64k:
15815810xxxxxxxxxxxxxx R   xxxxxxxx ROM 1D    program ROM
15915911xxxxxxxxxxxxxx R   xxxxxxxx ROM 1B    program ROM
160160[3] Overlaps the ROM region. Dig Dug 2 reads it.
r14242r14243
446446    (c) 1983 NAMCO
447447    ALL RIGHTS RESERVED
448448
449- Tower of Druaga
449- The Tower of Druaga
450450  - enter service mode
451451  - select sound 19
452452  - press S to display the grid
r14242r14243
518518  99.99.999.9999.9999.9999
519519  99.99.999.9999.9999.0000
520520
521- Tower of Druaga: keep button 1 pressed while pressing the start button to
521- The Tower of Druaga: keep button 1 pressed while pressing the start button to
522522  continue the previous game; you can choose which level to start from.
523523
524524- Grobda: when the Level Select dip switch is On, after inserting a coin press
r14242r14243
22972297/* 2x6809, scroling tilemap, 4bpp sprites (Super Pacman type) */
22982298GAME( 1983, mappy,    0,        mappy,    mappy,    0,        ROT90, "Namco", "Mappy (US)", GAME_SUPPORTS_SAVE )
22992299GAME( 1983, mappyj,   mappy,    mappy,    mappy,    0,        ROT90, "Namco", "Mappy (Japan)", GAME_SUPPORTS_SAVE )
2300GAME( 1984, todruaga, 0,        todruaga, todruaga, 0,        ROT90, "Namco", "Tower of Druaga (New Ver.)", GAME_SUPPORTS_SAVE )
2301GAME( 1984, todruagao,todruaga, todruaga, todruaga, 0,        ROT90, "Namco", "Tower of Druaga (Old Ver.)", GAME_SUPPORTS_SAVE )
2302GAME( 1984, todruagas,todruaga, todruaga, todruaga, 0,        ROT90, "bootleg? (Sidam)", "Tower of Druaga (Sidam)", GAME_SUPPORTS_SAVE )
2300GAME( 1984, todruaga, 0,        todruaga, todruaga, 0,        ROT90, "Namco", "The Tower of Druaga (New Ver.)", GAME_SUPPORTS_SAVE )
2301GAME( 1984, todruagao,todruaga, todruaga, todruaga, 0,        ROT90, "Namco", "The Tower of Druaga (Old Ver.)", GAME_SUPPORTS_SAVE )
2302GAME( 1984, todruagas,todruaga, todruaga, todruaga, 0,        ROT90, "bootleg? (Sidam)", "The Tower of Druaga (Sidam)", GAME_SUPPORTS_SAVE )
23032303GAME( 1985, digdug2,  0,        digdug2,  digdug2,  digdug2,  ROT90, "Namco", "Dig Dug II (New Ver.)", GAME_SUPPORTS_SAVE )
23042304GAME( 1985, digdug2o, digdug2,  digdug2,  digdug2,  digdug2,  ROT90, "Namco", "Dig Dug II (Old Ver.)", GAME_SUPPORTS_SAVE )
23052305GAME( 1985, motos,    0,        motos,    motos,    0,        ROT90, "Namco", "Motos", GAME_SUPPORTS_SAVE )
src/mame/drivers/gyruss.c
r14242r14243
6262#include "cpu/mcs48/mcs48.h"
6363#include "sound/ay8910.h"
6464#include "sound/discrete.h"
65#include "includes/konamipt.h"
6566#include "includes/gyruss.h"
6667
6768
r14242r14243
251252   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
252253
253254   PORT_START("DSW1")
254   PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )           PORT_DIPLOCATION("SW1:1,2,3,4")
255   PORT_DIPSETTING(    0x02, DEF_STR( 4C_1C ) )
256   PORT_DIPSETTING(    0x05, DEF_STR( 3C_1C ) )
257   PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
258   PORT_DIPSETTING(    0x04, DEF_STR( 3C_2C ) )
259   PORT_DIPSETTING(    0x01, DEF_STR( 4C_3C ) )
260   PORT_DIPSETTING(    0x0f, DEF_STR( 1C_1C ) )
261   PORT_DIPSETTING(    0x03, DEF_STR( 3C_4C ) )
262   PORT_DIPSETTING(    0x07, DEF_STR( 2C_3C ) )
263   PORT_DIPSETTING(    0x0e, DEF_STR( 1C_2C ) )
264   PORT_DIPSETTING(    0x06, DEF_STR( 2C_5C ) )
265   PORT_DIPSETTING(    0x0d, DEF_STR( 1C_3C ) )
266   PORT_DIPSETTING(    0x0c, DEF_STR( 1C_4C ) )
267   PORT_DIPSETTING(    0x0b, DEF_STR( 1C_5C ) )
268   PORT_DIPSETTING(    0x0a, DEF_STR( 1C_6C ) )
269   PORT_DIPSETTING(    0x09, DEF_STR( 1C_7C ) )
270   PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
271   PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )           PORT_DIPLOCATION("SW1:5,6,7,8")
272   PORT_DIPSETTING(    0x20, DEF_STR( 4C_1C ) )
273   PORT_DIPSETTING(    0x50, DEF_STR( 3C_1C ) )
274   PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) )
275   PORT_DIPSETTING(    0x40, DEF_STR( 3C_2C ) )
276   PORT_DIPSETTING(    0x10, DEF_STR( 4C_3C ) )
277   PORT_DIPSETTING(    0xf0, DEF_STR( 1C_1C ) )
278   PORT_DIPSETTING(    0x30, DEF_STR( 3C_4C ) )
279   PORT_DIPSETTING(    0x70, DEF_STR( 2C_3C ) )
280   PORT_DIPSETTING(    0xe0, DEF_STR( 1C_2C ) )
281   PORT_DIPSETTING(    0x60, DEF_STR( 2C_5C ) )
282   PORT_DIPSETTING(    0xd0, DEF_STR( 1C_3C ) )
283   PORT_DIPSETTING(    0xc0, DEF_STR( 1C_4C ) )
284   PORT_DIPSETTING(    0xb0, DEF_STR( 1C_5C ) )
285   PORT_DIPSETTING(    0xa0, DEF_STR( 1C_6C ) )
286   PORT_DIPSETTING(    0x90, DEF_STR( 1C_7C ) )
287   PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
255   KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), DEF_STR( Free_Play ), SW1)
288256
289257   PORT_START("DSW2")
290   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )            PORT_DIPLOCATION("SW2:1,2")
258   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )         PORT_DIPLOCATION("SW2:1,2")
291259   PORT_DIPSETTING(    0x03, "3" )
292260   PORT_DIPSETTING(    0x02, "4" )
293261   PORT_DIPSETTING(    0x01, "5" )
294262   PORT_DIPSETTING(    0x00, "255 (Cheat)")
295   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )          PORT_DIPLOCATION("SW2:3")
263   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )         PORT_DIPLOCATION("SW2:3")
296264   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
297265   PORT_DIPSETTING(    0x04, DEF_STR( Cocktail ) )
298   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:4")     /* tables at 0x1653 (15 bytes) or 0x4bf3 (13 bytes) */
299   PORT_DIPSETTING(    0x08, "30k 90k 60k+" )              /* last bonus life at 810k : max. 14 bonus lives */
300   PORT_DIPSETTING(    0x00, "40k 110k 70k+" )             /* last bonus life at 810k : max. 12 bonus lives */
301   PORT_DIPNAME( 0x70, 0x30, DEF_STR( Difficulty ) )       PORT_DIPLOCATION("SW2:5,6,7")
266   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )      PORT_DIPLOCATION("SW2:4")     /* tables at 0x1653 (15 bytes) or 0x4bf3 (13 bytes) */
267   PORT_DIPSETTING(    0x08, "30k 90k 60k+" )            /* last bonus life at 810k : max. 14 bonus lives */
268   PORT_DIPSETTING(    0x00, "40k 110k 70k+" )            /* last bonus life at 810k : max. 12 bonus lives */
269   PORT_DIPNAME( 0x70, 0x30, DEF_STR( Difficulty ) )      PORT_DIPLOCATION("SW2:5,6,7")
302270   PORT_DIPSETTING(    0x70, "1 (Easiest)" )
303271   PORT_DIPSETTING(    0x60, "2" )
304272   PORT_DIPSETTING(    0x50, "3" )
r14242r14243
307275   PORT_DIPSETTING(    0x20, "6" )
308276   PORT_DIPSETTING(    0x10, "7" )
309277   PORT_DIPSETTING(    0x00, "8 (Hardest)" )
310   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )      PORT_DIPLOCATION("SW2:8")
278   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )      PORT_DIPLOCATION("SW2:8")
311279   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
312280   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
313281
314282   PORT_START("DSW3")
315   PORT_DIPNAME( 0x01, 0x00, "Demo Music" )                PORT_DIPLOCATION("SW3:1")
283   PORT_DIPNAME( 0x01, 0x00, "Demo Music" )            PORT_DIPLOCATION("SW3:1")
316284   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
317285   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
286   PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
318287INPUT_PORTS_END
319288
320289static INPUT_PORTS_START( gyrussce )
321290   PORT_INCLUDE( gyruss )
322291
323292   PORT_MODIFY("DSW2")
324   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) )       PORT_DIPLOCATION("SW2:3")     /* tables at 0x1653 (15 bytes) or 0x4bf3 (13 bytes) */
325   PORT_DIPSETTING(    0x08, "50k 120k 70k+" )             /* last bonus life at 960k : max. 14 bonus lives */
326   PORT_DIPSETTING(    0x00, "60k 140k 80k+" )             /* last bonus life at 940k : max. 12 bonus lives */
327   PORT_DIPNAME( 0x70, 0x20, DEF_STR( Difficulty ) )       PORT_DIPLOCATION("SW2:5,6,7") /* "Difficult" default setting according to Centuri manual */
293   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) )      PORT_DIPLOCATION("SW2:3")     /* tables at 0x1653 (15 bytes) or 0x4bf3 (13 bytes) */
294   PORT_DIPSETTING(    0x08, "50k 120k 70k+" )            /* last bonus life at 960k : max. 14 bonus lives */
295   PORT_DIPSETTING(    0x00, "60k 140k 80k+" )            /* last bonus life at 940k : max. 12 bonus lives */
296   PORT_DIPNAME( 0x70, 0x20, DEF_STR( Difficulty ) )      PORT_DIPLOCATION("SW2:5,6,7") /* "Difficult" default setting according to Centuri manual */
328297   PORT_DIPSETTING(    0x70, "1 (Easiest)" )
329298   PORT_DIPSETTING(    0x60, "2" )
330299   PORT_DIPSETTING(    0x50, "3" )
src/mame/drivers/fastlane.c
r14242r14243
100100/* verified from HD6309 code */
101101static INPUT_PORTS_START( fastlane )
102102   PORT_START("DSW1")
103   KONAMI_COINAGE(DEF_STR( Free_Play ), "No Coin B")
103   KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
104104   /* "No Coin B" = coins produce sound, but no effect on coin counter */
105105
106106   PORT_START("DSW2")
107   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
107   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )         PORT_DIPLOCATION("SW2:1,2")
108108   PORT_DIPSETTING(   0x03, "2" )
109109   PORT_DIPSETTING(   0x02, "3" )
110110   PORT_DIPSETTING(   0x01, "4" )
111111   PORT_DIPSETTING(   0x00, "7" )
112   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
112   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )         PORT_DIPLOCATION("SW2:3")
113113   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
114114   PORT_DIPSETTING(    0x04, DEF_STR( Cocktail ) )
115115   /* The bonus life affects the starting high score too, 20000 or 30000 */
116116   PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) )
117   PORT_DIPSETTING(   0x18, "20k 100k 200k 400k 800k" )
117   PORT_DIPSETTING(   0x18, "20k 100k 200k 400k 800k" )   PORT_DIPLOCATION("SW2:4,5")
118118   PORT_DIPSETTING(   0x10, "30k 150k 300k 600k" )
119119   PORT_DIPSETTING(   0x08, "20k only" )
120120   PORT_DIPSETTING(   0x00, "30k only" )
121   PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
121   PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )      PORT_DIPLOCATION("SW2:6,7")
122122   PORT_DIPSETTING(   0x60, DEF_STR( Easy ) )
123123   PORT_DIPSETTING(   0x40, DEF_STR( Medium ) )
124124   PORT_DIPSETTING(   0x20, DEF_STR( Hard ) )
125125   PORT_DIPSETTING(   0x00, DEF_STR( Hardest ) )
126   PORT_DIPNAME( 0x80, 0x00, "Demo Music" )                /* when levels are played by the computer */
126   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )      PORT_DIPLOCATION("SW2:8")
127127   PORT_DIPSETTING(   0x80, DEF_STR( Off ) )
128128   PORT_DIPSETTING(   0x00, DEF_STR( On ) )
129129
130130   PORT_START("DSW3")
131   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
131   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )      PORT_DIPLOCATION("SW3:1")
132132   PORT_DIPSETTING(   0x01, DEF_STR( Off ) )
133133   PORT_DIPSETTING(   0x00, DEF_STR( On ) )
134   PORT_DIPNAME( 0x02, 0x02, "Upright Controls" )
134   PORT_DIPNAME( 0x02, 0x02, "Upright Controls" )         PORT_DIPLOCATION("SW3:2")
135135   PORT_DIPSETTING(    0x02, DEF_STR( Single ) )
136136   PORT_DIPSETTING(    0x00, DEF_STR( Dual ) )
137   PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
138   PORT_DIPNAME( 0x08, 0x08, "Continue" )
139   PORT_DIPSETTING(   0x08, "3" )
137   PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
138   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Allow_Continue ) )   PORT_DIPLOCATION("SW3:4")
139   PORT_DIPSETTING(   0x08, "3 Times" )
140140   PORT_DIPSETTING(   0x00, DEF_STR( Infinite ) )
141141   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
142142
src/mame/drivers/pacman.c
r14242r14243
399399
400400
401401/*
402   The piranha board has a sync bus controler card similar to Midway's pacman. It
402   The piranha board has a sync bus controller card similar to Midway's pacman. It
403403   stores the LSB of the interrupt vector using port 00 but it alters the byte to prevent
404404   it from running on normal pacman hardware and vice versa. I wrote a program to print
405405   out the even numbers and the vectors they convert to.  Thanks to Dave France for
src/mame/drivers/ajax.c
r14242r14243
7474   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )      PORT_DIPLOCATION("SW2:3")
7575   PORT_DIPSETTING(   0x00, DEF_STR( Upright ) )
7676   PORT_DIPSETTING(   0x04, DEF_STR( Cocktail ) )
77   PORT_DIPNAME( 0x18, 0x10, DEF_STR( Bonus_Life ) )   PORT_DIPLOCATION("SW2:4,5")
77   PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) )   PORT_DIPLOCATION("SW2:4,5")
7878   PORT_DIPSETTING(   0x18, "30000 150000" )
7979   PORT_DIPSETTING(   0x10, "50000 200000" )
8080   PORT_DIPSETTING(   0x08, "30000" )
r14242r14243
9292   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )   PORT_DIPLOCATION("SW3:1")
9393   PORT_DIPSETTING(   0x01, DEF_STR( Off ) )
9494   PORT_DIPSETTING(   0x00, DEF_STR( On ) )
95   PORT_DIPNAME( 0x02, 0x02, "Upright Controls" )      PORT_DIPLOCATION("SW3:2")   // Listed as "unused" and forced to be off in the manual.
95   PORT_DIPNAME( 0x02, 0x02, "Upright Controls" )      PORT_DIPLOCATION("SW3:2")   // Listed as "unused" and forced to be off in the manual. (US) // "Normal Upright / Upright Double" (JP)
9696   PORT_DIPSETTING(    0x02, DEF_STR( Single ) )
9797   PORT_DIPSETTING(    0x00, DEF_STR( Dual ) )
9898   PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
src/emu/cpu/i386/x87ops.c
r14242r14243
44
55   TODO:
66    - 80-bit precision for F2XM1, FYL2X, FPATAN
7    - Figure out why SoftFloat trig extensions produce bad values
78    - Cycle counts for all processors (currently using 486 counts)
89    - Precision-dependent cycle counts for divide instructions
910    - Last instruction, operand pointers etc.
r14242r14243
21572158      result1 = ST(0);
21582159      result2 = fx80_one;
21592160
2161#if 0 // TODO: Function produces bad values
21602162      if (floatx80_ftan(result1) != -1)
21612163         cpustate->x87_sw &= ~X87_SW_C2;
21622164      else
21632165         cpustate->x87_sw |= X87_SW_C2;
2166#else
2167      double x = fx80_to_double(result1);
2168      x = tan(x);
2169      result1 = double_to_fx80(x);
2170     
2171      cpustate->x87_sw &= ~X87_SW_C2;
2172#endif
21642173   }
21652174
21662175   if (x87_check_exceptions(cpustate))
r14242r14243
22112220   {
22122221      result = ST(0);
22132222
2223#if 0 // TODO: Function produces bad values
22142224      if (floatx80_fsin(result) != -1)
22152225         cpustate->x87_sw &= ~X87_SW_C2;
22162226      else
22172227         cpustate->x87_sw |= X87_SW_C2;
2228#else
2229      double x = fx80_to_double(result);
2230      x = sin(x);
2231      result = double_to_fx80(x);
2232     
2233      cpustate->x87_sw &= ~X87_SW_C2;
2234#endif
22182235   }
22192236
22202237   if (x87_check_exceptions(cpustate))
r14242r14243
22362253   {
22372254      result = ST(0);
22382255
2256#if 0 // TODO: Function produces bad values
22392257      if (floatx80_fcos(result) != -1)
22402258         cpustate->x87_sw &= ~X87_SW_C2;
22412259      else
22422260         cpustate->x87_sw |= X87_SW_C2;
2261#else
2262      double x = fx80_to_double(result);
2263      x = cos(x);
2264      result = double_to_fx80(x);
2265     
2266      cpustate->x87_sw &= ~X87_SW_C2;
2267#endif
22432268   }
22442269
22452270   if (x87_check_exceptions(cpustate))
r14242r14243
22682293
22692294      s_result = c_result = ST(0);
22702295
2296#if 0 // TODO: Function produces bad values
22712297      if (sf_fsincos(s_result, &s_result, &c_result) != -1)
22722298         cpustate->x87_sw &= ~X87_SW_C2;
22732299      else
22742300         cpustate->x87_sw |= X87_SW_C2;
2301#else
2302      double s = fx80_to_double(s_result);
2303      double c = fx80_to_double(c_result);     
2304      s = sin(s);
2305      c = cos(c);
2306     
2307      s_result = double_to_fx80(s);
2308      c_result = double_to_fx80(c);
2309     
2310      cpustate->x87_sw &= ~X87_SW_C2;
2311#endif
22752312   }
22762313
22772314   if (x87_check_exceptions(cpustate))
r14242r14243
42774314{
42784315   int modrm = 0;
42794316
4280   for (modrm = 0; modrm < 0xff; ++modrm)
4317   for (modrm = 0; modrm < 0x100; ++modrm)
42814318   {
42824319      void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
42834320
r14242r14243
43194356{
43204357   int modrm = 0;
43214358
4322   for (modrm = 0; modrm < 0xff; ++modrm)
4359   for (modrm = 0; modrm < 0x100; ++modrm)
43234360   {
43244361      void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
43254362
r14242r14243
43974434{
43984435   int modrm = 0;
43994436
4400   for (modrm = 0; modrm < 0xff; ++modrm)
4437   for (modrm = 0; modrm < 0x100; ++modrm)
44014438   {
44024439      void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
44034440
r14242r14243
44324469{
44334470   int modrm = 0;
44344471
4435   for (modrm = 0; modrm < 0xff; ++modrm)
4472   for (modrm = 0; modrm < 0x100; ++modrm)
44364473   {
44374474      void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
44384475
r14242r14243
44684505{
44694506   int modrm = 0;
44704507
4471   for (modrm = 0; modrm < 0xff; ++modrm)
4508   for (modrm = 0; modrm < 0x100; ++modrm)
44724509   {
44734510      void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
44744511
r14242r14243
45084545{
45094546   int modrm = 0;
45104547
4511   for (modrm = 0; modrm < 0xff; ++modrm)
4548   for (modrm = 0; modrm < 0x100; ++modrm)
45124549   {
45134550      void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
45144551
r14242r14243
45454582{
45464583   int modrm = 0;
45474584
4548   for (modrm = 0; modrm < 0xff; ++modrm)
4585   for (modrm = 0; modrm < 0x100; ++modrm)
45494586   {
45504587      void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
45514588
r14242r14243
45864623{
45874624   int modrm = 0;
45884625
4589   for (modrm = 0; modrm < 0xff; ++modrm)
4626   for (modrm = 0; modrm < 0x100; ++modrm)
45904627   {
45914628      void (*ptr)(i386_state *cpustate, UINT8 modrm) = x87_invalid;
45924629

Previous 15994 Revisions Next


© 1998-2018 The MESS Team