Previous 199869 Revisions Next

r37153 Monday 13th April, 2015 at 06:39:05 UTC by Barry Rodewald
pc_vga: split Cirrus Logic SVGA devices into separate GD5428 and GD5430 devices.  No differences between them yet, other than chip ID.
[src/emu/bus/isa]svga_cirrus.c svga_cirrus.h
[src/emu/video]pc_vga.c pc_vga.h
[src/mame/drivers]gambl186.c pcat_nit.c
[src/mess/drivers]bebox.c

trunk/src/emu/bus/isa/svga_cirrus.c
r245664r245665
2323static MACHINE_CONFIG_FRAGMENT( vga_cirrus )
2424   MCFG_SCREEN_ADD("screen", RASTER)
2525   MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
26   MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_vga_device, screen_update)
26   MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5430_device, screen_update)
2727
2828   MCFG_PALETTE_ADD("palette", 0x100)
2929
30   MCFG_DEVICE_ADD("vga", CIRRUS_VGA, 0)
30   MCFG_DEVICE_ADD("vga", CIRRUS_GD5430, 0)
3131MACHINE_CONFIG_END
3232
3333//-------------------------------------------------
r245664r245665
7272{
7373   set_isa_device();
7474
75   m_vga = subdevice<cirrus_vga_device>("vga");
75   m_vga = subdevice<cirrus_gd5430_device>("vga");
7676
7777   m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "svga", "dm_clgd5430");
7878
79   m_isa->install_device(0x03b0, 0x03bf, 0, 0, read8_delegate(FUNC(cirrus_vga_device::port_03b0_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::port_03b0_w),m_vga));
80   m_isa->install_device(0x03c0, 0x03cf, 0, 0, read8_delegate(FUNC(cirrus_vga_device::port_03c0_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::port_03c0_w),m_vga));
81   m_isa->install_device(0x03d0, 0x03df, 0, 0, read8_delegate(FUNC(cirrus_vga_device::port_03d0_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::port_03d0_w),m_vga));
82//  m_isa->install_device(0x9ae8, 0x9aeb, 0, 0, read8_delegate(FUNC(cirrus_vga_device::s3_port_9ae8_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::s3_port_9ae8_w),m_vga));
79   m_isa->install_device(0x03b0, 0x03bf, 0, 0, read8_delegate(FUNC(cirrus_gd5430_device::port_03b0_r),m_vga), write8_delegate(FUNC(cirrus_gd5430_device::port_03b0_w),m_vga));
80   m_isa->install_device(0x03c0, 0x03cf, 0, 0, read8_delegate(FUNC(cirrus_gd5430_device::port_03c0_r),m_vga), write8_delegate(FUNC(cirrus_gd5430_device::port_03c0_w),m_vga));
81   m_isa->install_device(0x03d0, 0x03df, 0, 0, read8_delegate(FUNC(cirrus_gd5430_device::port_03d0_r),m_vga), write8_delegate(FUNC(cirrus_gd5430_device::port_03d0_w),m_vga));
82//  m_isa->install_device(0x9ae8, 0x9aeb, 0, 0, read8_delegate(FUNC(cirrus_gd5430_device::s3_port_9ae8_r),m_vga), write8_delegate(FUNC(cirrus_gd5430_device::s3_port_9ae8_w),m_vga));
8383
84   m_isa->install_memory(0xa0000, 0xbffff, 0, 0, read8_delegate(FUNC(cirrus_vga_device::mem_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::mem_w),m_vga));
84   m_isa->install_memory(0xa0000, 0xbffff, 0, 0, read8_delegate(FUNC(cirrus_gd5430_device::mem_r),m_vga), write8_delegate(FUNC(cirrus_gd5430_device::mem_w),m_vga));
8585}
8686
8787//-------------------------------------------------
trunk/src/emu/bus/isa/svga_cirrus.h
r245664r245665
3131      virtual void device_start();
3232      virtual void device_reset();
3333private:
34      cirrus_vga_device *m_vga;
34      cirrus_gd5430_device *m_vga;
3535};
3636
3737
trunk/src/emu/video/pc_vga.c
r245664r245665
122122const device_type S3_VGA = &device_creator<s3_vga_device>;
123123const device_type GAMTOR_VGA = &device_creator<gamtor_vga_device>;
124124const device_type ATI_VGA = &device_creator<ati_vga_device>;
125const device_type CIRRUS_VGA = &device_creator<cirrus_vga_device>;
125const device_type CIRRUS_GD5428 = &device_creator<cirrus_gd5428_device>;
126const device_type CIRRUS_GD5430 = &device_creator<cirrus_gd5430_device>;
126127const device_type IBM8514A = &device_creator<ibm8514a_device>;
127128const device_type MACH8 = &device_creator<mach8_device>;
128129
r245664r245665
173174{
174175}
175176
176cirrus_vga_device::cirrus_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
177   : svga_device(mconfig, CIRRUS_VGA, "Cirrus Logic VGA", tag, owner, clock, "cirrus_vga", __FILE__)
177cirrus_gd5428_device::cirrus_gd5428_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
178   : svga_device(mconfig, CIRRUS_GD5428, "Cirrus Logic GD5428", tag, owner, clock, "clgd5428", __FILE__)
178179{
179180}
180181
182cirrus_gd5428_device::cirrus_gd5428_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
183   : svga_device(mconfig, type, name, tag, owner, clock, shortname, source)
184{
185}
186
187cirrus_gd5430_device::cirrus_gd5430_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
188   : cirrus_gd5428_device(mconfig, CIRRUS_GD5430, "Cirrus Logic GD5430", tag, owner, clock, "clgd5430", __FILE__)
189{
190}
191
181192ibm8514a_device::ibm8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
182193   : device_t(mconfig, IBM8514A, "IBM8514A Video", tag, owner, clock, "ibm8514a", __FILE__)
183194{
r245664r245665
260271   memset(&svga, 0, sizeof(svga));
261272}
262273
263void cirrus_vga_device::device_start()
274void cirrus_gd5428_device::device_start()
264275{
265276   zero();
266277
r245664r245665
282293   save_pointer(vga.crtc.data,"CRTC Registers",0x100);
283294   save_pointer(vga.sequencer.data,"Sequencer Registers",0x100);
284295   save_pointer(vga.attribute.data,"Attribute Registers", 0x15);
296   save_item(NAME(m_chip_id));
285297
286298   m_vblank_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(vga_device::vblank_timer_cb),this));
299   
300   m_chip_id = 0x98;  // GD5428 - Rev 0
287301}
288302
303void cirrus_gd5430_device::device_start()
304{
305   cirrus_gd5428_device::device_start();
306   m_chip_id = 0xa0;  // GD5430 - Rev 0
307}
308
289309void ati_vga_device::device_start()
290310{
291311   svga_device::device_start();
r245664r245665
11431163   return 0;
11441164}
11451165
1146UINT32 cirrus_vga_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
1166UINT32 cirrus_gd5428_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
11471167{
11481168   int x,y,bit;
11491169   UINT32 ptr = (vga.svga_intf.vram_size - 0x4000);  // cursor patterns are stored in the last 16kB of VRAM
r245664r245665
21002120   s3.sr11 = 0x41;
21012121}
21022122
2103void cirrus_vga_device::device_reset()
2123void cirrus_gd5428_device::device_reset()
21042124{
21052125   vga_device::device_reset();
21062126   gc_locked = true;
r245664r245665
22482268   MCFG_DEVICE_ADD("vga", TRIDENT_VGA, 0)
22492269MACHINE_CONFIG_END
22502270
2251MACHINE_CONFIG_FRAGMENT( pcvideo_cirrus_vga )
2271MACHINE_CONFIG_FRAGMENT( pcvideo_cirrus_gd5428 )
22522272   MCFG_SCREEN_ADD("screen", RASTER)
22532273   MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
2254   MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_vga_device, screen_update)
2274   MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5428_device, screen_update)
22552275
22562276   MCFG_PALETTE_ADD("palette", 0x100)
2257   MCFG_DEVICE_ADD("vga", CIRRUS_VGA, 0)
2277   MCFG_DEVICE_ADD("vga", CIRRUS_GD5428, 0)
22582278MACHINE_CONFIG_END
22592279
2280MACHINE_CONFIG_FRAGMENT( pcvideo_cirrus_gd5430 )
2281   MCFG_SCREEN_ADD("screen", RASTER)
2282   MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
2283   MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5430_device, screen_update)
2284
2285   MCFG_PALETTE_ADD("palette", 0x100)
2286   MCFG_DEVICE_ADD("vga", CIRRUS_GD5430, 0)
2287MACHINE_CONFIG_END
2288
22602289MACHINE_CONFIG_FRAGMENT( pcvideo_gamtor_vga )
22612290   MCFG_SCREEN_ADD("screen", RASTER)
22622291   MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
r245664r245665
57265755
57275756******************************************/
57285757
5729void cirrus_vga_device::cirrus_define_video_mode()
5758void cirrus_gd5428_device::cirrus_define_video_mode()
57305759{
57315760   svga.rgb8_en = 0;
57325761   svga.rgb15_en = 0;
57335762   svga.rgb16_en = 0;
57345763   svga.rgb24_en = 0;
57355764   svga.rgb32_en = 0;
5736   if ((vga.sequencer.data[0x06] == 0x12) && (vga.sequencer.data[0x07] & 0x01))
5765   if (!gc_locked && (vga.sequencer.data[0x07] & 0x01))
57375766   {
57385767      switch(vga.sequencer.data[0x07] & 0x0E)
57395768      {
r245664r245665
57445773         case 0x08:  svga.rgb32_en = 1; break;
57455774      }
57465775   }
5776   recompute_params_clock(1, (vga.miscellaneous_output & 0xc) ? XTAL_28_63636MHz : XTAL_25_1748MHz);
57475777}
57485778
5749UINT16 cirrus_vga_device::offset()
5779UINT16 cirrus_gd5428_device::offset()
57505780{
57515781   //popmessage("Offset: %04x  %s %s **",vga.crtc.offset,vga.crtc.dw?"DW":"--",vga.crtc.word_mode?"BYTE":"WORD");
57525782   if(gc_mode_ext & 0x10)
r245664r245665
57565786   return vga_device::offset();
57575787}
57585788
5759UINT8 cirrus_vga_device::cirrus_seq_reg_read(UINT8 index)
5789UINT8 cirrus_gd5428_device::cirrus_seq_reg_read(UINT8 index)
57605790{
57615791   UINT8 res;
57625792
r245664r245665
57965826   return res;
57975827}
57985828
5799void cirrus_vga_device::cirrus_seq_reg_write(UINT8 index, UINT8 data)
5829void cirrus_gd5428_device::cirrus_seq_reg_write(UINT8 index, UINT8 data)
58005830{
58015831   switch(index)
58025832   {
r245664r245665
58745904   }
58755905}
58765906
5877UINT8 cirrus_vga_device::cirrus_gc_reg_read(UINT8 index)
5907UINT8 cirrus_gd5428_device::cirrus_gc_reg_read(UINT8 index)
58785908{
58795909   UINT8 res = 0xff;
58805910
r245664r245665
59225952   return res;
59235953}
59245954
5925void cirrus_vga_device::cirrus_gc_reg_write(UINT8 index, UINT8 data)
5955void cirrus_gd5428_device::cirrus_gc_reg_write(UINT8 index, UINT8 data)
59265956{
59275957   logerror("CL: GC write %02x to GR%02x\n",data,index);
59285958   switch(index)
r245664r245665
59716001   }
59726002}
59736003
5974READ8_MEMBER(cirrus_vga_device::port_03c0_r)
6004READ8_MEMBER(cirrus_gd5428_device::port_03c0_r)
59756005{
59766006   UINT8 res = 0xff;
59776007
r245664r245665
60196049   return res;
60206050}
60216051
6022WRITE8_MEMBER(cirrus_vga_device::port_03c0_w)
6052WRITE8_MEMBER(cirrus_gd5428_device::port_03c0_w)
60236053{
60246054   switch(offset)
60256055   {
r245664r245665
60616091   cirrus_define_video_mode();
60626092}
60636093
6064READ8_MEMBER(cirrus_vga_device::port_03b0_r)
6094READ8_MEMBER(cirrus_gd5428_device::port_03b0_r)
60656095{
60666096   UINT8 res = 0xff;
60676097
r245664r245665
60816111   return res;
60826112}
60836113
6084READ8_MEMBER(cirrus_vga_device::port_03d0_r)
6114READ8_MEMBER(cirrus_gd5428_device::port_03d0_r)
60856115{
60866116   UINT8 res = 0xff;
60876117
r245664r245665
61016131   return res;
61026132}
61036133
6104WRITE8_MEMBER(cirrus_vga_device::port_03b0_w)
6134WRITE8_MEMBER(cirrus_gd5428_device::port_03b0_w)
61056135{
61066136   if (CRTC_PORT_ADDR == 0x3b0)
61076137   {
r245664r245665
61166146            break;
61176147      }
61186148   }
6149   cirrus_define_video_mode();
61196150}
61206151
6121WRITE8_MEMBER(cirrus_vga_device::port_03d0_w)
6152WRITE8_MEMBER(cirrus_gd5428_device::port_03d0_w)
61226153{
61236154   if (CRTC_PORT_ADDR == 0x3d0)
61246155   {
r245664r245665
61336164            break;
61346165      }
61356166   }
6167   cirrus_define_video_mode();
61366168}
61376169
6138UINT8 cirrus_vga_device::cirrus_crtc_reg_read(UINT8 index)
6170UINT8 cirrus_gd5428_device::cirrus_crtc_reg_read(UINT8 index)
61396171{
61406172   UINT8 res = 0xff;
61416173
r245664r245665
61546186      res = m_cr1b;
61556187      break;
61566188   case 0x27:
6157      res = 0xa0;  // Chip ID - GD5430 rev 0
6189      res = m_chip_id;
61586190      break;
61596191   default:
61606192      logerror("CL: Unhandled extended CRTC register CR%02x read\n",index);
r245664r245665
61636195   return res;
61646196}
61656197
6166void cirrus_vga_device::cirrus_crtc_reg_write(UINT8 index, UINT8 data)
6198void cirrus_gd5428_device::cirrus_crtc_reg_write(UINT8 index, UINT8 data)
61676199{
61686200   if(index <= 0x18)
61696201   {
r245664r245665
61906222
61916223}
61926224
6193READ8_MEMBER(cirrus_vga_device::mem_r)
6225READ8_MEMBER(cirrus_gd5428_device::mem_r)
61946226{
61956227   UINT32 addr;
61966228   UINT8 bank;
r245664r245665
62916323   }
62926324}
62936325
6294WRITE8_MEMBER(cirrus_vga_device::mem_w)
6326WRITE8_MEMBER(cirrus_gd5428_device::mem_w)
62956327{
62966328   UINT32 addr;
62976329   UINT8 bank;
trunk/src/emu/video/pc_vga.h
r245664r245665
1212MACHINE_CONFIG_EXTERN( pcvideo_vga );
1313MACHINE_CONFIG_EXTERN( pcvideo_trident_vga );
1414MACHINE_CONFIG_EXTERN( pcvideo_gamtor_vga );
15MACHINE_CONFIG_EXTERN( pcvideo_cirrus_vga );
15MACHINE_CONFIG_EXTERN( pcvideo_cirrus_gd5428 );
16MACHINE_CONFIG_EXTERN( pcvideo_cirrus_gd5430 );
1617MACHINE_CONFIG_EXTERN( pcvideo_s3_vga );
1718
1819// ======================> vga_device
r245664r245665
623624
624625// ======================> cirrus_vga_device
625626
626class cirrus_vga_device :  public svga_device
627class cirrus_gd5428_device :  public svga_device
627628{
628629public:
629630   // construction/destruction
630   cirrus_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
631
631   cirrus_gd5428_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
632   cirrus_gd5428_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
632633   virtual READ8_MEMBER(port_03c0_r);
633634   virtual WRITE8_MEMBER(port_03c0_w);
634635   virtual READ8_MEMBER(port_03b0_r);
r245664r245665
645646   virtual void device_reset();
646647   virtual UINT16 offset();
647648
649   UINT8 m_chip_id;
650
648651   UINT8 gc_mode_ext;
649652   UINT8 gc_bank_0;
650653   UINT8 gc_bank_1;
r245664r245665
676679   void cirrus_crtc_reg_write(UINT8 index, UINT8 data);
677680};
678681
682class cirrus_gd5430_device :  public cirrus_gd5428_device
683{
684public:
685   cirrus_gd5430_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
686protected:
687   virtual void device_start();
688};
689
679690// device type definition
680extern const device_type CIRRUS_VGA;
691extern const device_type CIRRUS_GD5428;
692extern const device_type CIRRUS_GD5430;
693
681694/*
682695  pega notes (paradise)
683696  build in amstrad pc1640
trunk/src/mame/drivers/gambl186.c
r245664r245665
5050static ADDRESS_MAP_START( gambl186_map, AS_PROGRAM, 16, gambl186_state )
5151   AM_RANGE(0x00000, 0x0ffff) AM_RAM
5252   AM_RANGE(0x40000, 0x4ffff) AM_ROM AM_REGION("data",0) // TODO: way bigger than this, banked?
53   AM_RANGE(0xa0000, 0xbffff) AM_DEVREADWRITE8("vga", cirrus_vga_device, mem_r, mem_w, 0xffff)
53   AM_RANGE(0xa0000, 0xbffff) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, mem_r, mem_w, 0xffff)
5454   AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("ipl",0)
5555ADDRESS_MAP_END
5656
r245664r245665
6060}
6161
6262static ADDRESS_MAP_START( gambl186_io, AS_IO, 16, gambl186_state )
63   AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03b0_r, port_03b0_w, 0xffff)
64   AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03c0_r, port_03c0_w, 0xffff)
65   AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03d0_r, port_03d0_w, 0xffff)
63   AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03b0_r, port_03b0_w, 0xffff)
64   AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03c0_r, port_03c0_w, 0xffff)
65   AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03d0_r, port_03d0_w, 0xffff)
6666   AM_RANGE(0x0400, 0x0401) AM_WRITENOP // sound
6767   AM_RANGE(0x0500, 0x0501) AM_READ_PORT("IN0")
6868   AM_RANGE(0x0502, 0x0503) AM_READ_PORT("IN1")
r245664r245665
360360   MCFG_CPU_PROGRAM_MAP(gambl186_map)
361361   MCFG_CPU_IO_MAP(gambl186_io)
362362
363   MCFG_FRAGMENT_ADD( pcvideo_cirrus_vga )
363   MCFG_FRAGMENT_ADD( pcvideo_cirrus_gd5428 )
364364MACHINE_CONFIG_END
365365
366366
trunk/src/mame/drivers/pcat_nit.c
r245664r245665
158158
159159static ADDRESS_MAP_START( bonanza_map, AS_PROGRAM, 32, pcat_nit_state )
160160   AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
161   AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", cirrus_vga_device, mem_r, mem_w, 0xffffffff)
161   AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, mem_r, mem_w, 0xffffffff)
162162   AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_WRITENOP
163163   AM_RANGE(0x000d0000, 0x000d3fff) AM_RAM AM_REGION("disk_bios", 0)
164164   AM_RANGE(0x000d7000, 0x000d7003) AM_WRITE8(pcat_nit_rombank_w, 0xff)
r245664r245665
196196   AM_IMPORT_FROM(pcat32_io_common)
197197   AM_RANGE(0x0278, 0x027f) AM_READ8(pcat_nit_io_r, 0xffffffff) AM_WRITENOP
198198   AM_RANGE(0x0280, 0x0283) AM_READNOP
199   AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
200   AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
201   AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
199   AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03b0_r, port_03b0_w, 0xffffffff)
200   AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03c0_r, port_03c0_w, 0xffffffff)
201   AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03d0_r, port_03d0_w, 0xffffffff)
202202   AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ns16450_0", ns16450_device, ins8250_r, ins8250_w, 0xffffffff)
203203ADDRESS_MAP_END
204204
r245664r245665
244244   MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
245245
246246   /* video hardware */
247   MCFG_FRAGMENT_ADD( pcvideo_cirrus_vga )
247   MCFG_FRAGMENT_ADD( pcvideo_cirrus_gd5428 )
248248
249249   MCFG_FRAGMENT_ADD( pcat_common )
250250   MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL_1_8432MHz )
trunk/src/mess/drivers/bebox.c
r245664r245665
5656   AM_RANGE(0x800002F8, 0x800002FF) AM_DEVREADWRITE8( "ns16550_1", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
5757   AM_RANGE(0x80000380, 0x80000387) AM_DEVREADWRITE8( "ns16550_2", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
5858   AM_RANGE(0x80000388, 0x8000038F) AM_DEVREADWRITE8( "ns16550_3", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
59   AM_RANGE(0x800003b0, 0x800003bf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03b0_r, port_03b0_w, U64(0xffffffffffffffff))
60   AM_RANGE(0x800003c0, 0x800003cf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03c0_r, port_03c0_w, U64(0xffffffffffffffff))
61   AM_RANGE(0x800003d0, 0x800003df) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03d0_r, port_03d0_w, U64(0xffffffffffffffff))
59   AM_RANGE(0x800003b0, 0x800003bf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03b0_r, port_03b0_w, U64(0xffffffffffffffff))
60   AM_RANGE(0x800003c0, 0x800003cf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03c0_r, port_03c0_w, U64(0xffffffffffffffff))
61   AM_RANGE(0x800003d0, 0x800003df) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03d0_r, port_03d0_w, U64(0xffffffffffffffff))
6262   AM_RANGE(0x800003F0, 0x800003F7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, U64(0xffffffffffffffff) )
6363   AM_RANGE(0x800003F0, 0x800003F7) AM_DEVICE8( "smc37c78", smc37c78_device, map, U64(0xffffffffffffffff) )
6464   AM_RANGE(0x800003F8, 0x800003FF) AM_DEVREADWRITE8( "ns16550_0",ns16550_device,  ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
r245664r245665
6767   //AM_RANGE(0x800042E8, 0x800042EF) AM_DEVWRITE8("cirrus", cirrus_device, cirrus_42E8_w, U64(0xffffffffffffffff) )
6868
6969   AM_RANGE(0xBFFFFFF0, 0xBFFFFFFF) AM_READ(bebox_interrupt_ack_r )
70   AM_RANGE(0xC00A0000, 0XC00BFFFF) AM_DEVREADWRITE8("vga", cirrus_vga_device, mem_r, mem_w, U64(0xffffffffffffffff) )
71   AM_RANGE(0xC1000000, 0XC11FFFFF) AM_DEVREADWRITE8("vga", cirrus_vga_device, mem_linear_r, mem_linear_w, U64(0xffffffffffffffff) )
70   AM_RANGE(0xC00A0000, 0XC00BFFFF) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, mem_r, mem_w, U64(0xffffffffffffffff) )
71   AM_RANGE(0xC1000000, 0XC11FFFFF) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, mem_linear_r, mem_linear_w, U64(0xffffffffffffffff) )
7272   AM_RANGE(0xFFF00000, 0xFFF03FFF) AM_ROMBANK("bank2")
7373   AM_RANGE(0xFFF04000, 0xFFFFFFFF) AM_READWRITE8(bebox_flash_r, bebox_flash_w, U64(0xffffffffffffffff) )
7474ADDRESS_MAP_END
r245664r245665
189189   MCFG_DEVICE_ADD( "ns16550_3", NS16550, 0 )   /* TODO: Verify model */
190190
191191   /* video hardware */
192   MCFG_FRAGMENT_ADD( pcvideo_cirrus_vga )
192   MCFG_FRAGMENT_ADD( pcvideo_cirrus_gd5428 )
193193
194194
195195   MCFG_SPEAKER_STANDARD_MONO("mono")


Previous 199869 Revisions Next


© 1997-2024 The MAME Team