Previous 199869 Revisions Next

r32983 Sunday 26th October, 2014 at 18:26:02 UTC by Sergey Svishchev
mc1502: restore fdc support for bios 5.3x
[src/emu/bus/isa]mc1502_fdc.c mc1502_fdc.h
[src/emu/video]upd7220.c
[src/mame/drivers]peplus.c
[src/mess/drivers]pc9801.c

trunk/src/emu/bus/isa/mc1502_fdc.c
r241494r241495
162162   {
163163      case 0: data = mc1502_wd17xx_aux_r();     break;
164164      case 8: data = mc1502_wd17xx_drq_r();     break;
165      case 10: data = mc1502_wd17xx_motor_r();  break;
165      case 10: data = mc1502_wd17xx_motor_r();  break;
166166   }
167167
168168   return data;
169169}
170170
171READ8_MEMBER( mc1502_fdc_device::mc1502_fdcv2_r )
172{
173   UINT8 data = 0xff;
174
175   switch( offset )
176   {
177      case 0: data = mc1502_wd17xx_aux_r();     break;
178      case 1: data = mc1502_wd17xx_motor_r();   break;
179      case 2: data = mc1502_wd17xx_drq_r();     break;
180   }
181
182   return data;
183}
184
171185WRITE8_MEMBER( mc1502_fdc_device::mc1502_fdc_w )
172186{
173187   switch( offset )
r241494r241495
187201{
188202}
189203
190#if 0
191   AM_RANGE(0x004c, 0x004c) AM_READWRITE(mc1502_wd17xx_aux_r, mc1502_wd17xx_aux_w)
192   AM_RANGE(0x004d, 0x004d) AM_READ(mc1502_wd17xx_motor_r)
193   AM_RANGE(0x004e, 0x004e) AM_READ(mc1502_wd17xx_drq_r)           // blocking read!
194   AM_RANGE(0x0048, 0x004b) AM_DEVREADWRITE("vg93", fd1793_t, read, write)
195
196   AM_RANGE(0x0100, 0x0100) AM_READWRITE(mc1502_wd17xx_aux_r, mc1502_wd17xx_aux_w)
197   AM_RANGE(0x0108, 0x0108) AM_READ(mc1502_wd17xx_drq_r)           // blocking read!
198   AM_RANGE(0x010a, 0x010a) AM_READ(mc1502_wd17xx_motor_r)
199   AM_RANGE(0x010c, 0x010f) AM_DEVREADWRITE("vg93", fd1793_t, read, write)
200#endif
201
202204//-------------------------------------------------
203205//  device_start - device-specific startup
204206//-------------------------------------------------
r241494r241495
207209{
208210   set_isa_device();
209211
210   // BIOS 5.0, 5.2
212   // BIOS 5.0-5.2x
211213   m_isa->install_device(0x010c, 0x010f, 0, 0,
212214      READ8_DEVICE_DELEGATE(m_fdc, fd1793_t, read),
213215      WRITE8_DEVICE_DELEGATE(m_fdc, fd1793_t, write) );
214216   m_isa->install_device(0x0100, 0x010b, 0, 0, read8_delegate( FUNC(mc1502_fdc_device::mc1502_fdc_r), this ), write8_delegate( FUNC(mc1502_fdc_device::mc1502_fdc_w), this ) );
215   // BIOS 5.31, 5.33
216/*
217    m_isa->install_device(0x010c, 0x010f, 0, 0,
218        READ8_DEVICE_DELEGATE(m_fdc, fd1793_t, read),
219        WRITE8_DEVICE_DELEGATE(m_fdc, fd1793_t, write) );
220    m_isa->install_device(0x0100, 0x010b, 0, 0, read8_delegate( FUNC(mc1502_fdc_device::mc1502_fdc_r), this ), write8_delegate( FUNC(mc1502_fdc_device::mc1502_fdc_w), this ) );
221*/
222217
218   // BIOS 5.3x
219   m_isa->install_device(0x0048, 0x004b, 0, 0,
220      READ8_DEVICE_DELEGATE(m_fdc, fd1793_t, read),
221      WRITE8_DEVICE_DELEGATE(m_fdc, fd1793_t, write) );
222   m_isa->install_device(0x004c, 0x004f, 0, 0, read8_delegate( FUNC(mc1502_fdc_device::mc1502_fdcv2_r), this ), write8_delegate( FUNC(mc1502_fdc_device::mc1502_fdc_w), this ) );
223
223224   motor_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(mc1502_fdc_device::motor_callback),this));
224225   motor_on = 0;
225226}
226
227
228//-------------------------------------------------
229//  device_reset - device-specific reset
230//-------------------------------------------------
231
232void mc1502_fdc_device::device_reset()
233{
234}
trunk/src/emu/bus/isa/mc1502_fdc.h
r241494r241495
3939   TIMER_CALLBACK_MEMBER( motor_callback );
4040
4141   DECLARE_READ8_MEMBER(mc1502_fdc_r);
42   DECLARE_READ8_MEMBER(mc1502_fdcv2_r);
4243   DECLARE_WRITE8_MEMBER(mc1502_fdc_w);
4344   DECLARE_WRITE_LINE_MEMBER( mc1502_fdc_irq_drq );
4445
4546protected:
4647   // device-level overrides
4748   virtual void device_start();
48   virtual void device_reset();
4949
5050private:
5151   required_device<fd1793_t> m_fdc;
trunk/src/emu/video/upd7220.c
r241494r241495
15921592            addr = ((sad << 1) & 0x3ffff) + (y * (m_pitch << (im ? 0 : 1)));
15931593
15941594            if (!m_display_cb.isnull())
1595               draw_graphics_line(bitmap, addr, y + (bsy / m_lr), wd);
1595               draw_graphics_line(bitmap, addr, y + (im ? bsy : (bsy >> 1)), wd);
15961596         }
15971597      }
15981598      else
trunk/src/mame/drivers/peplus.c
r241494r241495
141141  PPnnnn Poker games. Several different types of poker require specific CG graphics + CAP color prom
142142  IPnnnn International Poker games. Several different types of poker require specific CG graphics + CAP color prom
143143  PSnnnn Slot games. Each slot game requires specific CG graphics + CAP color prom
144  MGnnnn Multi Game programs for the Player's Choice machines that had optional touchscreens and or printers
145144
146145Super PE+
147146 Program Types
r241494r241495
89538952GAMEL(1987, peip0120,  peip0031, peplus,  peplus_poker, peplus_state, nonplus,  ROT0,  "IGT - International Game Technology", "Player's Edge Plus (IP0120) Standard Draw Poker - French",  0, layout_pe_poker )
89548953
89558954/* Normal board : Blackjack */
8956GAMEL(1994, pebe0014, 0,      peplus,  peplus_bjack, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (BE0014) Blackjack",                        0, layout_pe_bjack )
8955GAMEL(1994, pebe0014, 0,      peplus,  peplus_bjack, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (BE0014) Blackjack",                        0,   layout_pe_bjack )
89578956
89588957/* Normal board : Keno */
89598958GAMEL(1994, peke1012,  0,        peplus, peplus_keno, peplus_state, peplus, ROT0,  "IGT - International Game Technology", "Player's Edge Plus (KE1012) Keno",                              0, layout_pe_keno )
trunk/src/mess/drivers/pc9801.c
r241494r241495
19081908   pcg_offset|= offset & 0x1e;
19091909   pcg_offset|= m_font_lr;
19101910
1911   if(!(m_font_addr & 0xff))
1912   {
1913      int char_size = m_video_ff[FONTSEL_REG];
1914      return m_char_rom[(m_font_addr >> 8) * (8 << char_size) + (char_size * 0x800) + ((offset >> 1) & 0xf)];
1915   }
1916
19171911   /* TODO: investigate on this difference */
19181912   if((m_font_addr & 0xff00) == 0x5600 || (m_font_addr & 0xff00) == 0x5700)
19191913      return m_kanji_rom[pcg_offset];


Previous 199869 Revisions Next


© 1997-2024 The MAME Team