Previous 199869 Revisions Next

r23787 Wednesday 19th June, 2013 at 10:35:43 UTC by smf
Added ata_interface_device, ide_controller_device is now only for pc register mapping. Renamed ide_mass_storage_device to ata_mass_storage_device. Changed ide_hdd_device so it only picks up it's image from the harddisk_image_device, which does a lookup to see if there is a region itself. (nw)
[src/emu/imagedev]harddriv.c
[src/emu/machine]atadev.c* atadev.h* ataflash.h ataintf.c* ataintf.h* {idectrl.c} {idectrl.h} idehd.c idehd.h machine.mak
[src/mame/drivers]atlantis.c calchase.c chihiro.c cobra.c djmain.c extrema.c fruitpc.c funkball.c gamecstl.c globalvr.c iteagle.c jaguar.c kinst.c maygayep.c mediagx.c midqslvr.c midvunit.c photoply.c pinball2k.c pyson.c qdrmfgp.c quakeat.c queen.c savquest.c seattle.c taitogn.c taitotz.c twinkle.c vegas.c viper.c voyager.c vp101.c zn.c
[src/mame/includes]djmain.h qdrmfgp.h
[src/mess/drivers]bebox.c
[src/mess/machine]a2cffa.c a2cffa.h a2vulcan.c a2vulcan.h a2zipdrive.c a2zipdrive.h adam_ide.c adam_ide.h bebox.c c64_ide64.c c64_ide64.h isa_fdc.c isa_ide.c isa_ide8.c kc_d004.c kc_d004.h southbridge.h
[src/mess/machine/ti99]tn_ide.c tn_ide.h

trunk/src/emu/imagedev/harddriv.c
r23786r23787
102102   m_chd = NULL;
103103
104104   // try to locate the CHD from a DISK_REGION
105   chd_file *handle = get_disk_handle(machine(), owner()->tag());
105   chd_file *handle = get_disk_handle(machine(), tag());
106106   if (handle != NULL)
107107   {
108108      m_hard_disk_handle = hard_disk_open(handle);
trunk/src/emu/machine/ataintf.c
r0r23787
1/***************************************************************************
2
3    ataintf.c
4
5    ATA Interface implementation.
6
7    Copyright Nicola Salmoria and the MAME Team.
8    Visit http://mamedev.org for licensing and usage restrictions.
9
10***************************************************************************/
11
12#include "emu.h"
13#include "ataintf.h"
14#include "debugger.h"
15#include "idehd.h"
16
17/***************************************************************************
18    DEBUGGING
19***************************************************************************/
20
21#define VERBOSE                     0
22
23#define LOG(x)  do { if (VERBOSE) logerror x; } while (0)
24
25void ata_interface_device::set_irq(int state)
26{
27   if (state == ASSERT_LINE)
28      LOG(("ATA interrupt assert\n"));
29   else
30      LOG(("ATA interrupt clear\n"));
31
32   /* signal an interrupt */
33   m_irq_handler(state);
34}
35
36void ata_interface_device::set_dmarq(int state)
37{
38   m_dmarq_handler(state);
39}
40
41WRITE_LINE_MEMBER( ata_interface_device::irq0_write_line )
42{
43   m_irq[0] = state;
44
45   set_irq(m_irq[0] == ASSERT_LINE || m_irq[1] == ASSERT_LINE);
46}
47
48WRITE_LINE_MEMBER( ata_interface_device::irq1_write_line )
49{
50   m_irq[1] = state;
51
52   set_irq(m_irq[0] == ASSERT_LINE || m_irq[1] == ASSERT_LINE);
53}
54
55WRITE_LINE_MEMBER( ata_interface_device::dmarq0_write_line )
56{
57   m_dmarq[0] = state;
58
59   set_dmarq(m_dmarq[0] == ASSERT_LINE || m_dmarq[1] == ASSERT_LINE);
60}
61
62WRITE_LINE_MEMBER( ata_interface_device::dmarq1_write_line )
63{
64   m_dmarq[1] = state;
65
66   set_dmarq(m_dmarq[0] == ASSERT_LINE || m_dmarq[1] == ASSERT_LINE);
67}
68
69
70/***************************************************************************
71    INITIALIZATION AND RESET
72***************************************************************************/
73
74UINT8 *ata_interface_device::identify_device_buffer(int _drive)
75{
76   return m_slot[_drive]->dev()->identify_device_buffer();
77}
78
79void ata_interface_device::set_master_password(int _drive, const UINT8 *password)
80{
81   m_slot[_drive]->dev()->m_master_password = password;
82   m_slot[_drive]->dev()->m_master_password_enable = (password != NULL);
83}
84
85
86void ata_interface_device::set_user_password(int _drive, const UINT8 *password)
87{
88   m_slot[_drive]->dev()->m_user_password = password;
89   m_slot[_drive]->dev()->m_user_password_enable = (password != NULL);
90}
91
92/*************************************
93 *
94 *  ATA interface read
95 *
96 *************************************/
97
98UINT16 ata_interface_device::read_dma()
99{
100   UINT16 result = 0xffff;
101   for (int i = 0; i < 2; i++)
102      if (m_slot[i]->dev() != NULL)
103         result &= m_slot[i]->dev()->read_dma();
104
105//  printf( "read_dma %04x\n", result );
106   return result;
107}
108
109READ16_MEMBER( ata_interface_device::read_cs0 )
110{
111   UINT16 result = mem_mask;
112   for (int i = 0; i < 2; i++)
113      if (m_slot[i]->dev() != NULL)
114         result &= m_slot[i]->dev()->read_cs0(space, offset, mem_mask);
115
116//  printf( "read cs0 %04x %04x %04x\n", offset, result, mem_mask );
117
118   return result;
119}
120
121READ16_MEMBER( ata_interface_device::read_cs1 )
122{
123   UINT16 result = mem_mask;
124   for (int i = 0; i < 2; i++)
125      if (m_slot[i]->dev() != NULL)
126         result &= m_slot[i]->dev()->read_cs1(space, offset, mem_mask);
127
128//  printf( "read cs1 %04x %04x %04x\n", offset, result, mem_mask );
129
130   return result;
131}
132
133
134/*************************************
135 *
136 *  ATA interface write
137 *
138 *************************************/
139
140void ata_interface_device::write_dma( UINT16 data )
141{
142//  printf( "write_dma %04x\n", data );
143
144   for (int i = 0; i < 2; i++)
145      if (m_slot[i]->dev() != NULL)
146         m_slot[i]->dev()->write_dma(data);
147}
148
149WRITE16_MEMBER( ata_interface_device::write_cs0 )
150{
151//  printf( "write cs0 %04x %04x %04x\n", offset, data, mem_mask );
152
153   for (int i = 0; i < 2; i++)
154      if (m_slot[i]->dev() != NULL)
155         m_slot[i]->dev()->write_cs0(space, offset, data, mem_mask);
156}
157
158WRITE16_MEMBER( ata_interface_device::write_cs1 )
159{
160//  printf( "write cs1 %04x %04x %04x\n", offset, data, mem_mask );
161
162   for (int i = 0; i < 2; i++)
163      if (m_slot[i]->dev() != NULL)
164         m_slot[i]->dev()->write_cs1(space, offset, data, mem_mask);
165}
166
167WRITE_LINE_MEMBER( ata_interface_device::write_dmack )
168{
169//  printf( "write_dmack %04x\n", state );
170
171   for (int i = 0; i < 2; i++)
172      if (m_slot[i]->dev() != NULL)
173         m_slot[i]->dev()->write_dmack(state);
174}
175
176SLOT_INTERFACE_START(ata_devices)
177   SLOT_INTERFACE("hdd", IDE_HARDDISK)
178SLOT_INTERFACE_END
179
180ata_interface_device::ata_interface_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock) :
181   device_t(mconfig, type, name, tag, owner, clock),
182   m_irq_handler(*this),
183   m_dmarq_handler(*this)
184{
185}
186
187
188const device_type ATA_INTERFACE = &device_creator<ata_interface_device>;
189
190ata_interface_device::ata_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
191   device_t(mconfig, ATA_INTERFACE, "ATA Interface", tag, owner, clock),
192   m_irq_handler(*this),
193   m_dmarq_handler(*this)
194{
195}
196
197//-------------------------------------------------
198//  device_start - device-specific startup
199//-------------------------------------------------
200
201void ata_interface_device::device_start()
202{
203   m_irq_handler.resolve_safe();
204   m_dmarq_handler.resolve_safe();
205
206   /* set MAME harddisk handle */
207   m_slot[0] = subdevice<ata_slot_device>("0");
208   m_slot[1] = subdevice<ata_slot_device>("1");
209
210   for (int i = 0; i < 2; i++)
211   {
212      m_irq[i] = 0;
213      m_dmarq[i] = 0;
214
215      ata_device_interface *dev = m_slot[i]->dev();
216      if (dev != NULL)
217      {
218         if (i == 0)
219         {
220            dev->m_irq_handler.set_callback(DEVCB2_DEVWRITELINE("^", ata_interface_device, irq0_write_line));
221            dev->m_dmarq_handler.set_callback(DEVCB2_DEVWRITELINE("^", ata_interface_device, dmarq0_write_line));
222         }
223         else
224         {
225            dev->m_irq_handler.set_callback(DEVCB2_DEVWRITELINE("^", ata_interface_device, irq1_write_line));
226            dev->m_dmarq_handler.set_callback(DEVCB2_DEVWRITELINE("^", ata_interface_device, dmarq1_write_line));
227         }
228
229         dev->write_csel(i);
230         dev->write_dasp(m_slot[1]->dev() != NULL);
231      }
232   }
233}
234
235//-------------------------------------------------
236//  device_reset - device-specific reset
237//-------------------------------------------------
238
239void ata_interface_device::device_reset()
240{
241   LOG(("ATA interface reset\n"));
242}
243
244
245
246//**************************************************************************
247//  ATA SLOT DEVICE
248//**************************************************************************
249
250// device type definition
251const device_type ATA_SLOT = &device_creator<ata_slot_device>;
252
253//-------------------------------------------------
254//  ata_slot_device - constructor
255//-------------------------------------------------
256
257ata_slot_device::ata_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
258   : device_t(mconfig, ATA_SLOT, "ATA Connector", tag, owner, clock),
259      device_slot_interface(mconfig, *this),
260      m_dev(NULL)
261{
262}
263
264//-------------------------------------------------
265//  device_config_complete - perform any
266//  operations now that the configuration is
267//  complete
268//-------------------------------------------------
269
270void ata_slot_device::device_config_complete()
271{
272   m_dev = dynamic_cast<ata_device_interface *>(get_card_device());
273}
274
275//-------------------------------------------------
276//  device_start - device-specific startup
277//-------------------------------------------------
278
279void ata_slot_device::device_start()
280{
281}
Property changes on: trunk/src/emu/machine/ataintf.c
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/emu/machine/ataintf.h
r0r23787
1/***************************************************************************
2
3    ataintf.h
4
5    ATA Interface implementation.
6
7    Copyright Nicola Salmoria and the MAME Team.
8    Visit http://mamedev.org for licensing and usage restrictions.
9
10***************************************************************************/
11
12#pragma once
13
14#ifndef __ATAINTF_H__
15#define __ATAINTF_H__
16
17#include "atadev.h"
18
19/***************************************************************************
20    TYPE DEFINITIONS
21***************************************************************************/
22
23// ======================> ata_slot_device
24
25class ata_slot_device : public device_t,
26                  public device_slot_interface
27{
28public:
29   // construction/destruction
30   ata_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
31
32   ata_device_interface *dev() { return m_dev; }
33protected:
34   // device-level overrides
35   virtual void device_start();
36   virtual void device_config_complete();
37private:
38   ata_device_interface *m_dev;
39};
40
41// device type definition
42extern const device_type ATA_SLOT;
43
44/***************************************************************************
45    TYPE DEFINITIONS
46***************************************************************************/
47
48#define MCFG_ATA_INTERFACE_IRQ_HANDLER(_devcb) \
49   devcb = &ata_interface_device::set_irq_handler(*device, DEVCB2_##_devcb);
50
51#define MCFG_ATA_INTERFACE_DMARQ_HANDLER(_devcb) \
52   devcb = &ata_interface_device::set_dmarq_handler(*device, DEVCB2_##_devcb);
53
54SLOT_INTERFACE_EXTERN(ata_devices);
55
56/***************************************************************************
57    DEVICE CONFIGURATION MACROS
58***************************************************************************/
59
60#define MCFG_ATA_INTERFACE_ADD(_tag, _slotintf, _master, _slave, _fixed) \
61   MCFG_DEVICE_ADD(_tag, ATA_INTERFACE, 0) \
62   MCFG_ATA_SLOT_ADD(_tag ":0", _slotintf, _master, _fixed) \
63   MCFG_ATA_SLOT_ADD(_tag ":1", _slotintf, _slave, _fixed) \
64   MCFG_DEVICE_MODIFY(_tag)
65
66#define MCFG_ATA_SLOT_ADD(_tag, _slot_intf, _def_slot, _fixed) \
67   MCFG_DEVICE_ADD(_tag, ATA_SLOT, 0) \
68   MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed)
69
70/***************************************************************************
71    TYPE DEFINITIONS
72***************************************************************************/
73
74/* ----- device interface ----- */
75
76class ata_interface_device : public device_t
77{
78public:
79   ata_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
80   ata_interface_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
81
82   // static configuration helpers
83   template<class _Object> static devcb2_base &set_irq_handler(device_t &device, _Object object) { return downcast<ata_interface_device &>(device).m_irq_handler.set_callback(object); }
84   template<class _Object> static devcb2_base &set_dmarq_handler(device_t &device, _Object object) { return downcast<ata_interface_device &>(device).m_dmarq_handler.set_callback(object); }
85
86   UINT8 *identify_device_buffer(int drive);
87   void set_master_password(int drive, const UINT8 *password);
88   void set_user_password(int drive, const UINT8 *password);
89
90   UINT16 read_dma();
91   virtual DECLARE_READ16_MEMBER(read_cs0);
92   virtual DECLARE_READ16_MEMBER(read_cs1);
93
94   void write_dma(UINT16 data);
95   virtual DECLARE_WRITE16_MEMBER(write_cs0);
96   virtual DECLARE_WRITE16_MEMBER(write_cs1);
97   DECLARE_WRITE_LINE_MEMBER(write_dmack);
98
99protected:
100   // device-level overrides
101   virtual void device_start();
102   virtual void device_reset();
103
104   virtual void set_irq(int state);
105   virtual void set_dmarq(int state);
106
107private:
108   DECLARE_WRITE_LINE_MEMBER(irq0_write_line);
109   DECLARE_WRITE_LINE_MEMBER(dmarq0_write_line);
110
111   DECLARE_WRITE_LINE_MEMBER(irq1_write_line);
112   DECLARE_WRITE_LINE_MEMBER(dmarq1_write_line);
113
114   ata_slot_device *m_slot[2];
115   int m_irq[2];
116   int m_dmarq[2];
117
118   devcb2_write_line m_irq_handler;
119   devcb2_write_line m_dmarq_handler;
120};
121
122extern const device_type ATA_INTERFACE;
123
124#endif  /* __ATAINTF_H__ */
Property changes on: trunk/src/emu/machine/ataintf.h
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/machine/ataflash.h
r23786r23787
44#define __ATAFLASH_H__
55
66#include "pccard.h"
7#include "machine/idectrl.h"
7#include "machine/idehd.h"
88
99extern const device_type ATA_FLASH_PCCARD;
1010
trunk/src/emu/machine/idehd.c
r23786r23787
4848#define IDE_COMMAND_IDENTIFY_DEVICE         0xec
4949#define IDE_COMMAND_SET_FEATURES            0xef
5050#define IDE_COMMAND_SECURITY_UNLOCK         0xf2
51#define IDE_COMMAND_UNKNOWN_F9              0xf9
51#define IDE_COMMAND_SET_MAX              0xf9
5252#define IDE_COMMAND_VERIFY_SECTORS          0x40
5353#define IDE_COMMAND_VERIFY_SECTORS_NORETRY  0x41
5454#define IDE_COMMAND_ATAPI_IDENTIFY          0xa1
r23786r23787
7070   TID_WRITE_SECTOR_DONE_CALLBACK
7171};
7272
73//**************************************************************************
74//  IDE DEVICE INTERFACE
75//**************************************************************************
76
77//-------------------------------------------------
78//  ide_device_interface - constructor
79//-------------------------------------------------
80
81ide_device_interface::ide_device_interface(const machine_config &mconfig, device_t &device) :
82   m_master_password(NULL),
83   m_user_password(NULL),
84   m_irq_handler(device),
85   m_dmarq_handler(device)
86{
87}
88
89ide_mass_storage_device::ide_mass_storage_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)
73ata_mass_storage_device::ata_mass_storage_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)
9074   : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
91   ide_device_interface(mconfig, *this),
75   ata_device_interface(mconfig, *this),
9276   device_slot_card_interface(mconfig, *this),
9377   m_csel(0),
9478   m_dasp(0),
r23786r23787
9882{
9983}
10084
101void ide_mass_storage_device::update_irq()
85void ata_mass_storage_device::update_irq()
10286{
10387   if (device_selected() && (m_device_control & IDE_DEVICE_CONTROL_NIEN) == 0)
10488      m_irq_handler(m_irq);
r23786r23787
10690      m_irq_handler(CLEAR_LINE);
10791}
10892
109void ide_mass_storage_device::set_irq(int state)
93void ata_mass_storage_device::set_irq(int state)
11094{
11195   if (m_irq != state)
11296   {
r23786r23787
121105   }
122106}
123107
124void ide_mass_storage_device::set_dmarq(int state)
108void ata_mass_storage_device::set_dmarq(int state)
125109{
126110   if (m_dmarq != state)
127111   {
r23786r23787
131115   }
132116}
133117
134WRITE_LINE_MEMBER( ide_mass_storage_device::write_csel )
118WRITE_LINE_MEMBER( ata_mass_storage_device::write_csel )
135119{
136120   m_csel = state;
137121}
138122
139WRITE_LINE_MEMBER( ide_mass_storage_device::write_dasp )
123WRITE_LINE_MEMBER( ata_mass_storage_device::write_dasp )
140124{
141125   m_dasp = state;
142126}
143127
144WRITE_LINE_MEMBER( ide_mass_storage_device::write_dmack )
128WRITE_LINE_MEMBER( ata_mass_storage_device::write_dmack )
145129{
146130   m_dmack = state;
147131}
r23786r23787
152136 *
153137 *************************************/
154138
155UINT32 ide_mass_storage_device::lba_address()
139UINT32 ata_mass_storage_device::lba_address()
156140{
157141   /* LBA direct? */
158142   if (m_device_head & IDE_DEVICE_HEAD_L)
r23786r23787
183167}
184168
185169
186void ide_mass_storage_device::ide_build_identify_device()
170void ata_mass_storage_device::ide_build_identify_device()
187171{
188172   memset(m_identify_device, 0, IDE_DISK_SECTOR_SIZE);
189173   int total_sectors = m_num_cylinders * m_num_heads * m_num_sectors;
r23786r23787
343327//  device_start - device-specific startup
344328//-------------------------------------------------
345329
346void ide_mass_storage_device::device_start()
330void ata_mass_storage_device::device_start()
347331{
348332   m_irq_handler.resolve_safe();
349333   m_dmarq_handler.resolve_safe();
r23786r23787
376360   m_reset_timer = timer_alloc(TID_RESET_CALLBACK);
377361}
378362
379void ide_mass_storage_device::device_reset()
363void ata_mass_storage_device::device_reset()
380364{
381365   m_buffer_offset = 0;
382366   m_master_password_enable = (m_master_password != NULL);
r23786r23787
405389   set_dmarq(CLEAR_LINE);
406390}
407391
408void ide_mass_storage_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
392void ata_mass_storage_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
409393{
410394   switch(id)
411395   {
r23786r23787
442426 *
443427 *************************************/
444428
445void ide_mass_storage_device::next_sector()
429void ata_mass_storage_device::next_sector()
446430{
447431   UINT8 cur_head = m_device_head & IDE_DEVICE_HEAD_HS;
448432
r23786r23787
495479 *
496480 *************************************/
497481
498void ide_mass_storage_device::security_error()
482void ata_mass_storage_device::security_error()
499483{
500484   /* set error state */
501485   m_status |= IDE_STATUS_ERR;
r23786r23787
511495 *
512496 *************************************/
513497
514void ide_mass_storage_device::read_buffer_empty()
498void ata_mass_storage_device::read_buffer_empty()
515499{
516500   /* reset the totals */
517501   m_buffer_offset = 0;
r23786r23787
522506   fill_buffer();
523507}
524508
525void ide_mass_storage_device::fill_buffer()
509void ata_mass_storage_device::fill_buffer()
526510{
527511   switch (m_command)
528512   {
r23786r23787
548532}
549533
550534
551void ide_mass_storage_device::read_sector_done()
535void ata_mass_storage_device::read_sector_done()
552536{
553537   int lba = lba_address(), count = 0;
554538
r23786r23787
600584}
601585
602586
603void ide_mass_storage_device::read_first_sector()
587void ata_mass_storage_device::read_first_sector()
604588{
605589   /* mark ourselves busy */
606590   m_status |= IDE_STATUS_BSY;
r23786r23787
624608}
625609
626610
627void ide_mass_storage_device::read_next_sector()
611void ata_mass_storage_device::read_next_sector()
628612{
629613   /* mark ourselves busy */
630614   m_status |= IDE_STATUS_BSY;
r23786r23787
651635 *
652636 *************************************/
653637
654void ide_mass_storage_device::continue_write()
638void ata_mass_storage_device::continue_write()
655639{
656640   /* reset the totals */
657641   m_buffer_offset = 0;
r23786r23787
680664}
681665
682666
683void ide_mass_storage_device::write_buffer_full()
667void ata_mass_storage_device::write_buffer_full()
684668{
685669   m_status &= ~IDE_STATUS_DRQ;
686670   set_dmarq(CLEAR_LINE);
r23786r23787
688672   process_buffer();
689673}
690674
691void ide_mass_storage_device::process_buffer()
675void ata_mass_storage_device::process_buffer()
692676{
693677   if (m_command == IDE_COMMAND_SECURITY_UNLOCK)
694678   {
r23786r23787
727711}
728712
729713
730void ide_mass_storage_device::write_sector_done()
714void ata_mass_storage_device::write_sector_done()
731715{
732716   int lba = lba_address(), count = 0;
733717
r23786r23787
783767 *
784768 *************************************/
785769
786bool ide_mass_storage_device::process_command()
770bool ata_mass_storage_device::process_command()
787771{
788772   switch (m_command)
789773   {
r23786r23787
923907      timer_set(MINIMUM_COMMAND_TIME, TID_DELAYED_INTERRUPT);
924908      return true;
925909
926   case IDE_COMMAND_UNKNOWN_F9:
927      /* only used by Killer Instinct AFAICT */
928      LOGPRINT(("IDE unknown command (F9)\n"));
910   case IDE_COMMAND_SET_MAX:
911      LOGPRINT(("IDE Set max (%02X %02X %02X %02X %02X)\n", m_feature, m_sector_count & 0xff, m_sector_number, m_cylinder_low, m_cylinder_high));
929912
930913      /* signal an interrupt */
931914      set_irq(ASSERT_LINE);
r23786r23787
957940   }
958941}
959942
960UINT16 ide_mass_storage_device::read_dma()
943UINT16 ata_mass_storage_device::read_dma()
961944{
962945   UINT16 result = 0xffff;
963946
r23786r23787
995978   return result;
996979}
997980
998READ16_MEMBER( ide_mass_storage_device::read_cs0 )
981READ16_MEMBER( ata_mass_storage_device::read_cs0 )
999982{
1000983   /* logit */
1001984//  if (offset != IDE_CS0_DATA_RW && offset != IDE_CS0_STATUS_R)
r23786r23787
11311114   return result;
11321115}
11331116
1134READ16_MEMBER( ide_mass_storage_device::read_cs1 )
1117READ16_MEMBER( ata_mass_storage_device::read_cs1 )
11351118{
11361119   /* logit */
11371120//  if (offset != IDE_CS1_ALTERNATE_STATUS_R)
r23786r23787
11781161   return result;
11791162}
11801163
1181void ide_mass_storage_device::write_dma( UINT16 data )
1164void ata_mass_storage_device::write_dma( UINT16 data )
11821165{
11831166   if (device_selected())
11841167   {
r23786r23787
12131196   }
12141197}
12151198
1216WRITE16_MEMBER( ide_mass_storage_device::write_cs0 )
1199WRITE16_MEMBER( ata_mass_storage_device::write_cs0 )
12171200{
12181201   /* logit */
12191202   if (offset != IDE_CS0_DATA_RW)
r23786r23787
13271310   }
13281311}
13291312
1330WRITE16_MEMBER( ide_mass_storage_device::write_cs1 )
1313WRITE16_MEMBER( ata_mass_storage_device::write_cs1 )
13311314{
13321315   /* logit */
13331316   LOG(("%s:IDE cs1 write to %X = %08X, mem_mask=%d\n", machine().describe_context(), offset, data, mem_mask));
r23786r23787
13761359//-------------------------------------------------
13771360
13781361ide_hdd_device::ide_hdd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
1379   : ide_mass_storage_device(mconfig, IDE_HARDDISK, "IDE Hard Disk", tag, owner, clock, "hdd", __FILE__)
1362   : ata_mass_storage_device(mconfig, IDE_HARDDISK, "IDE Hard Disk", tag, owner, clock, "hdd", __FILE__),
1363   m_image(*this, "image")
13801364{
13811365}
13821366
13831367ide_hdd_device::ide_hdd_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)
1384   : ide_mass_storage_device(mconfig, type, name, tag, owner, clock, shortname, source)
1368   : ata_mass_storage_device(mconfig, type, name, tag, owner, clock, shortname, source),
1369   m_image(*this, "image")
13851370{
13861371}
13871372
r23786r23787
13911376
13921377void ide_hdd_device::device_reset()
13931378{
1394   m_handle = subdevice<harddisk_image_device>("harddisk")->get_chd_file();
1379   ata_mass_storage_device::device_reset();
13951380
1396   if (m_handle)
1397   {
1398      m_disk = subdevice<harddisk_image_device>("harddisk")->get_hard_disk_file();
1399   }
1400   else
1401   {
1402      m_handle = get_disk_handle(machine(), tag());
1403      m_disk = hard_disk_open(m_handle);
1404   }
1381   m_handle = m_image->get_chd_file();
1382   m_disk = m_image->get_hard_disk_file();
14051383
1406   ide_mass_storage_device::device_reset();
1407
14081384   if (m_disk != NULL)
14091385   {
14101386      const hard_disk_info *hdinfo = hard_disk_get_info(m_disk);
r23786r23787
14161392         if (PRINTF_IDE_COMMANDS) mame_printf_debug("CHS: %d %d %d\n", m_num_cylinders, m_num_heads, m_num_sectors);
14171393         mame_printf_debug("CHS: %d %d %d\n", m_num_cylinders, m_num_heads, m_num_sectors);
14181394      }
1395
14191396      // build the features page
14201397      UINT32 metalength;
14211398      if (m_handle->read_metadata (HARD_DISK_IDENT_METADATA_TAG, 0, m_identify_device, IDE_DISK_SECTOR_SIZE, metalength) != CHDERR_NONE)
r23786r23787
14301407//  machine configurations
14311408//-------------------------------------------------
14321409static MACHINE_CONFIG_FRAGMENT( hdd_image )
1433   MCFG_HARDDISK_ADD( "harddisk" )
1410   MCFG_HARDDISK_ADD( "image" )
14341411MACHINE_CONFIG_END
14351412
14361413machine_config_constructor ide_hdd_device::device_mconfig_additions() const
trunk/src/emu/machine/idehd.h
r23786r23787
11#include "emu.h"
2#include "atadev.h"
3#include "harddisk.h"
24#include "imagedev/harddriv.h"
35
46#define IDE_DISK_SECTOR_SIZE            512
r23786r23787
4244#define IDE_DEVICE_HEAD_DRV  0x10
4345#define IDE_DEVICE_HEAD_L    0x40
4446
45// ======================> ide_device_interface
46
47class ide_device_interface
48{
49public:
50   ide_device_interface(const machine_config &mconfig, device_t &device);
51   virtual ~ide_device_interface() {}
52
53   virtual UINT16 read_dma() = 0;
54   virtual DECLARE_READ16_MEMBER(read_cs0) = 0;
55   virtual DECLARE_READ16_MEMBER(read_cs1) = 0;
56
57   virtual void write_dma(UINT16 data) = 0;
58   virtual DECLARE_WRITE16_MEMBER(write_cs0) = 0;
59   virtual DECLARE_WRITE16_MEMBER(write_cs1) = 0;
60   virtual DECLARE_WRITE_LINE_MEMBER(write_dmack) = 0;
61   virtual DECLARE_WRITE_LINE_MEMBER(write_csel) = 0;
62   virtual DECLARE_WRITE_LINE_MEMBER(write_dasp) = 0;
63
64   virtual bool is_ready() { return true; }
65   virtual UINT8 *identify_device_buffer() = 0;
66
67   UINT8           m_master_password_enable;
68   UINT8           m_user_password_enable;
69   const UINT8 *   m_master_password;
70   const UINT8 *   m_user_password;
71
72   devcb2_write_line m_irq_handler;
73   devcb2_write_line m_dmarq_handler;
74};
75
76class ide_mass_storage_device : public device_t,
77   public ide_device_interface,
47class ata_mass_storage_device : public device_t,
48   public ata_device_interface,
7849   public device_slot_card_interface
7950{
8051public:
81   ide_mass_storage_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 = __FILE__);
52   ata_mass_storage_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 = __FILE__);
8253
8354   virtual UINT16 read_dma();
8455   virtual DECLARE_READ16_MEMBER(read_cs0);
r23786r23787
9869   virtual void device_reset();
9970   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
10071
72   virtual bool is_ready() { return true; }
10173   virtual int read_sector(UINT32 lba, void *buffer) = 0;
10274   virtual int write_sector(UINT32 lba, const void *buffer) = 0;
10375
r23786r23787
163135
164136// ======================> ide_hdd_device
165137
166class ide_hdd_device : public ide_mass_storage_device
138class ide_hdd_device : public ata_mass_storage_device
167139{
168140public:
169141   // construction/destruction
r23786r23787
182154
183155   chd_file       *m_handle;
184156   hard_disk_file *m_disk;
157
158private:
159   required_device<harddisk_image_device> m_image;
185160};
186161
187162// device type definition
trunk/src/emu/machine/idectrl.c
r23786r23787
11/***************************************************************************
22
3    Generic (PC-style) IDE controller implementation
3    idectrl.c
44
5    Generic (PC-style) IDE controller implementation.
6
7    Copyright Nicola Salmoria and the MAME Team.
8    Visit http://mamedev.org for licensing and usage restrictions.
9
510***************************************************************************/
611
7#include "emu.h"
812#include "idectrl.h"
9#include "debugger.h"
1013
14
1115/***************************************************************************
1216    DEBUGGING
1317***************************************************************************/
1418
1519#define VERBOSE                     0
16#define PRINTF_IDE_COMMANDS         0
17#define PRINTF_IDE_PASSWORD         0
1820
1921#define LOG(x)  do { if (VERBOSE) logerror x; } while (0)
2022
21#define LOGPRINT(x) do { if (VERBOSE) logerror x; if (PRINTF_IDE_COMMANDS) mame_printf_debug x; } while (0)
2223
23
24
2524/***************************************************************************
2625    CONSTANTS
2726***************************************************************************/
r23786r23787
3029#define IDE_BANK2_CONFIG_REGISTER           8
3130#define IDE_BANK2_CONFIG_DATA               0xc
3231
32const device_type IDE_CONTROLLER = &device_creator<ide_controller_device>;
3333
34void ide_controller_device::set_irq(int state)
34ide_controller_device::ide_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
35   ata_interface_device(mconfig, IDE_CONTROLLER, "IDE Controller", tag, owner, clock),
36   m_config_unknown(0),
37   m_config_register_num(0)
3538{
36   if (state == ASSERT_LINE)
37      LOG(("IDE interrupt assert\n"));
38   else
39      LOG(("IDE interrupt clear\n"));
40
41   /* signal an interrupt */
42   m_irq_handler(state);
4339}
4440
45void ide_controller_device::set_dmarq(int state)
41ide_controller_device::ide_controller_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock) :
42   ata_interface_device(mconfig, type, name, tag, owner, clock),
43   m_config_unknown(0),
44   m_config_register_num(0)
4645{
47   m_dmarq_handler(state);
4846}
4947
50WRITE_LINE_MEMBER( ide_controller_device::irq0_write_line )
51{
52   m_irq[0] = state;
48//-------------------------------------------------
49//  device_start - device-specific startup
50//-------------------------------------------------
5351
54   set_irq(m_irq[0] == ASSERT_LINE || m_irq[1] == ASSERT_LINE);
55}
56
57WRITE_LINE_MEMBER( ide_controller_device::irq1_write_line )
52void ide_controller_device::device_start()
5853{
59   m_irq[1] = state;
54   ata_interface_device::device_start();
6055
61   set_irq(m_irq[0] == ASSERT_LINE || m_irq[1] == ASSERT_LINE);
56   /* register ide states */
57   save_item(NAME(m_config_unknown));
58   save_item(NAME(m_config_register));
59   save_item(NAME(m_config_register_num));
6260}
6361
64WRITE_LINE_MEMBER( ide_controller_device::dmarq0_write_line )
65{
66   m_dmarq[0] = state;
67
68   set_dmarq(m_dmarq[0] == ASSERT_LINE || m_dmarq[1] == ASSERT_LINE);
69}
70
71WRITE_LINE_MEMBER( ide_controller_device::dmarq1_write_line )
72{
73   m_dmarq[1] = state;
74
75   set_dmarq(m_dmarq[0] == ASSERT_LINE || m_dmarq[1] == ASSERT_LINE);
76}
77
78
79/***************************************************************************
80    INITIALIZATION AND RESET
81***************************************************************************/
82
83UINT8 *ide_controller_device::identify_device_buffer(int _drive)
84{
85   return m_slot[_drive]->dev()->identify_device_buffer();
86}
87
88void ide_controller_device::ide_set_master_password(int _drive, const UINT8 *password)
89{
90   m_slot[_drive]->dev()->m_master_password = password;
91   m_slot[_drive]->dev()->m_master_password_enable = (password != NULL);
92}
93
94
95void ide_controller_device::ide_set_user_password(int _drive, const UINT8 *password)
96{
97   m_slot[_drive]->dev()->m_user_password = password;
98   m_slot[_drive]->dev()->m_user_password_enable = (password != NULL);
99}
100
101/*************************************
102 *
103 *  IDE controller read
104 *
105 *************************************/
106
107UINT16 ide_controller_device::read_dma()
108{
109   UINT16 result = 0xffff;
110   for (int i = 0; i < 2; i++)
111      if (m_slot[i]->dev() != NULL)
112         result &= m_slot[i]->dev()->read_dma();
113
114//  printf( "read_dma %04x\n", result );
115   return result;
116}
117
118READ16_MEMBER( ide_controller_device::read_cs0 )
119{
120   UINT16 result = mem_mask;
121   for (int i = 0; i < 2; i++)
122      if (m_slot[i]->dev() != NULL)
123         result &= m_slot[i]->dev()->read_cs0(space, offset, mem_mask);
124
125//  printf( "read cs0 %04x %04x %04x\n", offset, result, mem_mask );
126
127   return result;
128}
129
130READ16_MEMBER( ide_controller_device::read_cs1 )
131{
132   UINT16 result = mem_mask;
133   for (int i = 0; i < 2; i++)
134      if (m_slot[i]->dev() != NULL)
135         result &= m_slot[i]->dev()->read_cs1(space, offset, mem_mask);
136
137//  printf( "read cs1 %04x %04x %04x\n", offset, result, mem_mask );
138
139   return result;
140}
141
14262READ8_MEMBER( ide_controller_device::read_via_config )
14363{
14464   UINT16 result = 0;
r23786r23787
17393   return result;
17494}
17595
176READ16_MEMBER( ide_controller_device::read_cs0_pc )
96READ16_MEMBER( ide_controller_device::read_cs0 )
17797{
17898   if (mem_mask == 0xffff && offset == 1 ) offset = 0; // hack for 32 bit read of data register
17999   if (mem_mask == 0xff00)
180100   {
181      return read_cs0(space, (offset * 2) + 1, 0xff) << 8;
101      return ata_interface_device::read_cs0(space, (offset * 2) + 1, 0xff) << 8;
182102   }
183103   else
184104   {
185      return read_cs0(space, offset * 2, mem_mask);
105      return ata_interface_device::read_cs0(space, offset * 2, mem_mask);
186106   }
187107}
188108
189READ16_MEMBER( ide_controller_device::read_cs1_pc )
109READ16_MEMBER( ide_controller_device::read_cs1 )
190110{
191111   if (mem_mask == 0xff00)
192112   {
193      return read_cs1(space, (offset * 2) + 1, 0xff) << 8;
113      return ata_interface_device::read_cs1(space, (offset * 2) + 1, 0xff) << 8;
194114   }
195115   else
196116   {
197      return read_cs1(space, offset * 2, mem_mask);
117      return ata_interface_device::read_cs1(space, offset * 2, mem_mask);
198118   }
199119}
200120
201
202/*************************************
203 *
204 *  IDE controller write
205 *
206 *************************************/
207
208void ide_controller_device::write_dma( UINT16 data )
209{
210//  printf( "write_dma %04x\n", data );
211
212   for (int i = 0; i < 2; i++)
213      if (m_slot[i]->dev() != NULL)
214         m_slot[i]->dev()->write_dma(data);
215}
216
217WRITE16_MEMBER( ide_controller_device::write_cs0 )
218{
219//  printf( "write cs0 %04x %04x %04x\n", offset, data, mem_mask );
220
221   for (int i = 0; i < 2; i++)
222      if (m_slot[i]->dev() != NULL)
223         m_slot[i]->dev()->write_cs0(space, offset, data, mem_mask);
224}
225
226WRITE16_MEMBER( ide_controller_device::write_cs1 )
227{
228//  printf( "write cs1 %04x %04x %04x\n", offset, data, mem_mask );
229
230   for (int i = 0; i < 2; i++)
231      if (m_slot[i]->dev() != NULL)
232         m_slot[i]->dev()->write_cs1(space, offset, data, mem_mask);
233}
234
235WRITE_LINE_MEMBER( ide_controller_device::write_dmack )
236{
237//  printf( "write_dmack %04x\n", state );
238
239   for (int i = 0; i < 2; i++)
240      if (m_slot[i]->dev() != NULL)
241         m_slot[i]->dev()->write_dmack(state);
242}
243
244121WRITE8_MEMBER( ide_controller_device::write_via_config )
245122{
246123//  printf( "write via config %04x %04x %04x\n", offset, data, mem_mask );
r23786r23787
268145   }
269146}
270147
271WRITE16_MEMBER( ide_controller_device::write_cs0_pc )
148WRITE16_MEMBER( ide_controller_device::write_cs0 )
272149{
273150   if (mem_mask == 0xffff && offset == 1 ) offset = 0; // hack for 32 bit write to data register
274151   if (mem_mask == 0xff00)
275152   {
276      return write_cs0(space, (offset * 2) + 1, data >> 8, 0xff);
153      return ata_interface_device::write_cs0(space, (offset * 2) + 1, data >> 8, 0xff);
277154   }
278155   else
279156   {
280      return write_cs0(space, offset * 2, data, mem_mask);
157      return ata_interface_device::write_cs0(space, offset * 2, data, mem_mask);
281158   }
282159}
283160
284WRITE16_MEMBER( ide_controller_device::write_cs1_pc )
161WRITE16_MEMBER( ide_controller_device::write_cs1 )
285162{
286163   if (mem_mask == 0xff00)
287164   {
288      return write_cs1(space, (offset * 2) + 1, data >> 8, 0xff);
165      return ata_interface_device::write_cs1(space, (offset * 2) + 1, data >> 8, 0xff);
289166   }
290167   else
291168   {
292      return write_cs1(space, offset * 2, data, mem_mask);
169      return ata_interface_device::write_cs1(space, offset * 2, data, mem_mask);
293170   }
294171}
295172
296SLOT_INTERFACE_START(ide_devices)
297   SLOT_INTERFACE("hdd", IDE_HARDDISK)
298SLOT_INTERFACE_END
299
300ide_controller_device::ide_controller_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock) :
301   device_t(mconfig, type, name, tag, owner, clock),
302   m_config_unknown(0),
303   m_config_register_num(0),
304   m_irq_handler(*this),
305   m_dmarq_handler(*this)
306{
307}
308
309
310const device_type IDE_CONTROLLER = &device_creator<ide_controller_device>;
311
312ide_controller_device::ide_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
313   device_t(mconfig, IDE_CONTROLLER, "IDE Controller", tag, owner, clock),
314   m_config_unknown(0),
315   m_config_register_num(0),
316   m_irq_handler(*this),
317   m_dmarq_handler(*this)
318{
319}
320
321//-------------------------------------------------
322//  device_start - device-specific startup
323//-------------------------------------------------
324
325void ide_controller_device::device_start()
326{
327   m_irq_handler.resolve_safe();
328   m_dmarq_handler.resolve_safe();
329
330   /* set MAME harddisk handle */
331   m_slot[0] = subdevice<ide_slot_device>("0");
332   m_slot[1] = subdevice<ide_slot_device>("1");
333
334   for (int i = 0; i < 2; i++)
335   {
336      m_irq[i] = 0;
337      m_dmarq[i] = 0;
338
339      ide_device_interface *dev = m_slot[i]->dev();
340      if (dev != NULL)
341      {
342         if (i == 0)
343         {
344            dev->m_irq_handler.set_callback(DEVCB2_DEVWRITELINE("^", ide_controller_device, irq0_write_line));
345            dev->m_dmarq_handler.set_callback(DEVCB2_DEVWRITELINE("^", ide_controller_device, dmarq0_write_line));
346         }
347         else
348         {
349            dev->m_irq_handler.set_callback(DEVCB2_DEVWRITELINE("^", ide_controller_device, irq1_write_line));
350            dev->m_dmarq_handler.set_callback(DEVCB2_DEVWRITELINE("^", ide_controller_device, dmarq1_write_line));
351         }
352
353         dev->write_csel(i);
354         dev->write_dasp(m_slot[1]->dev() != NULL);
355      }
356   }
357
358   /* register ide states */
359   save_item(NAME(m_config_unknown));
360   save_item(NAME(m_config_register));
361   save_item(NAME(m_config_register_num));
362}
363
364//-------------------------------------------------
365//  device_reset - device-specific reset
366//-------------------------------------------------
367
368void ide_controller_device::device_reset()
369{
370   LOG(("IDE controller reset performed\n"));
371}
372
373
374
375//**************************************************************************
376//  IDE SLOT DEVICE
377//**************************************************************************
378
379// device type definition
380const device_type IDE_SLOT = &device_creator<ide_slot_device>;
381
382//-------------------------------------------------
383//  ide_slot_device - constructor
384//-------------------------------------------------
385
386ide_slot_device::ide_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
387   : device_t(mconfig, IDE_SLOT, "IDE Connector", tag, owner, clock),
388      device_slot_interface(mconfig, *this),
389      m_dev(NULL)
390{
391}
392
393//-------------------------------------------------
394//  device_config_complete - perform any
395//  operations now that the configuration is
396//  complete
397//-------------------------------------------------
398
399void ide_slot_device::device_config_complete()
400{
401   m_dev = dynamic_cast<ide_device_interface *>(get_card_device());
402}
403
404//-------------------------------------------------
405//  device_start - device-specific startup
406//-------------------------------------------------
407
408void ide_slot_device::device_start()
409{
410}
411
412
413
414173#define IDE_BUSMASTER_STATUS_ACTIVE         0x01
415174#define IDE_BUSMASTER_STATUS_ERROR          0x02
416175#define IDE_BUSMASTER_STATUS_IRQ            0x04
r23786r23787
459218
460219void bus_master_ide_controller_device::set_irq(int state)
461220{
462   ide_controller_device::set_irq(state);
221   ata_interface_device::set_irq(state);
463222
464223   if (m_irq != state)
465224   {
r23786r23787
472231
473232void bus_master_ide_controller_device::set_dmarq(int state)
474233{
475   ide_controller_device::set_dmarq(state);
234   ata_interface_device::set_dmarq(state);
476235
477236   if (m_dmarq != state)
478237   {
trunk/src/emu/machine/idectrl.h
r23786r23787
1414#ifndef __IDECTRL_H__
1515#define __IDECTRL_H__
1616
17#include "idehd.h"
18#include "harddisk.h"
17#include "ataintf.h"
1918
2019/***************************************************************************
21    TYPE DEFINITIONS
22***************************************************************************/
23
24// ======================> ide_slot_device
25
26class ide_slot_device : public device_t,
27                  public device_slot_interface
28{
29public:
30   // construction/destruction
31   ide_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
32
33   ide_device_interface *dev() { return m_dev; }
34protected:
35   // device-level overrides
36   virtual void device_start();
37   virtual void device_config_complete();
38private:
39   ide_device_interface *m_dev;
40};
41
42// device type definition
43extern const device_type IDE_SLOT;
44
45/***************************************************************************
46    TYPE DEFINITIONS
47***************************************************************************/
48
49#define MCFG_IDE_CONTROLLER_IRQ_HANDLER(_devcb) \
50   devcb = &ide_controller_device::set_irq_handler(*device, DEVCB2_##_devcb);
51
52#define MCFG_IDE_CONTROLLER_DMARQ_HANDLER(_devcb) \
53   devcb = &ide_controller_device::set_dmarq_handler(*device, DEVCB2_##_devcb);
54
55SLOT_INTERFACE_EXTERN(ide_devices);
56SLOT_INTERFACE_EXTERN(ide_devices);
57
58/***************************************************************************
5920    DEVICE CONFIGURATION MACROS
6021***************************************************************************/
6122
6223#define MCFG_IDE_CONTROLLER_ADD(_tag, _slotintf, _master, _slave, _fixed) \
6324   MCFG_DEVICE_ADD(_tag, IDE_CONTROLLER, 0) \
64   MCFG_IDE_SLOT_ADD(_tag ":0", _slotintf, _master, _fixed) \
65   MCFG_IDE_SLOT_ADD(_tag ":1", _slotintf, _slave, _fixed) \
25   MCFG_ATA_SLOT_ADD(_tag ":0", _slotintf, _master, _fixed) \
26   MCFG_ATA_SLOT_ADD(_tag ":1", _slotintf, _slave, _fixed) \
6627   MCFG_DEVICE_MODIFY(_tag)
6728
68#define MCFG_IDE_SLOT_ADD(_tag, _slot_intf, _def_slot, _fixed) \
69   MCFG_DEVICE_ADD(_tag, IDE_SLOT, 0) \
70   MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed)
71
72/***************************************************************************
73    TYPE DEFINITIONS
74***************************************************************************/
75
7629#define IDE_CONFIG_REGISTERS                0x10
7730
78/* ----- device interface ----- */
79
80class ide_controller_device : public device_t
31class ide_controller_device : public ata_interface_device
8132{
8233public:
8334   ide_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
8435   ide_controller_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
8536
86   // static configuration helpers
87   template<class _Object> static devcb2_base &set_irq_handler(device_t &device, _Object object) { return downcast<ide_controller_device &>(device).m_irq_handler.set_callback(object); }
88   template<class _Object> static devcb2_base &set_dmarq_handler(device_t &device, _Object object) { return downcast<ide_controller_device &>(device).m_dmarq_handler.set_callback(object); }
89
90   UINT8 *identify_device_buffer(int drive);
91   void ide_set_master_password(int drive, const UINT8 *password);
92   void ide_set_user_password(int drive, const UINT8 *password);
93
94   UINT16 read_dma();
95   DECLARE_READ16_MEMBER(read_cs0);
96   DECLARE_READ16_MEMBER(read_cs1);
97
98   void write_dma(UINT16 data);
99   DECLARE_WRITE16_MEMBER(write_cs0);
100   DECLARE_WRITE16_MEMBER(write_cs1);
101   DECLARE_WRITE_LINE_MEMBER(write_dmack);
102
10337   DECLARE_READ8_MEMBER(read_via_config);
10438   DECLARE_WRITE8_MEMBER(write_via_config);
105   DECLARE_READ16_MEMBER(read_cs0_pc);
106   DECLARE_READ16_MEMBER(read_cs1_pc);
107   DECLARE_WRITE16_MEMBER(write_cs0_pc);
108   DECLARE_WRITE16_MEMBER(write_cs1_pc);
39   virtual DECLARE_READ16_MEMBER(read_cs0);
40   virtual DECLARE_READ16_MEMBER(read_cs1);
41   virtual DECLARE_WRITE16_MEMBER(write_cs0);
42   virtual DECLARE_WRITE16_MEMBER(write_cs1);
10943
11044protected:
111   // device-level overrides
11245   virtual void device_start();
113   virtual void device_reset();
11446
115   virtual void set_irq(int state);
116   virtual void set_dmarq(int state);
117
11847private:
119   DECLARE_WRITE_LINE_MEMBER(irq0_write_line);
120   DECLARE_WRITE_LINE_MEMBER(dmarq0_write_line);
121
122   DECLARE_WRITE_LINE_MEMBER(irq1_write_line);
123   DECLARE_WRITE_LINE_MEMBER(dmarq1_write_line);
124
12548   UINT8           m_config_unknown;
12649   UINT8           m_config_register[IDE_CONFIG_REGISTERS];
12750   UINT8           m_config_register_num;
128
129   ide_slot_device *m_slot[2];
130   int m_irq[2];
131   int m_dmarq[2];
132
133   devcb2_write_line m_irq_handler;
134   devcb2_write_line m_dmarq_handler;
13551};
13652
13753extern const device_type IDE_CONTROLLER;
r23786r23787
13955
14056#define MCFG_BUS_MASTER_IDE_CONTROLLER_ADD(_tag, _slotintf, _master, _slave, _fixed) \
14157   MCFG_DEVICE_ADD(_tag, BUS_MASTER_IDE_CONTROLLER, 0) \
142   MCFG_IDE_SLOT_ADD(_tag ":0", _slotintf, _master, _fixed) \
143   MCFG_IDE_SLOT_ADD(_tag ":1", _slotintf, _slave, _fixed) \
58   MCFG_ATA_SLOT_ADD(_tag ":0", _slotintf, _master, _fixed) \
59   MCFG_ATA_SLOT_ADD(_tag ":1", _slotintf, _slave, _fixed) \
14460   MCFG_DEVICE_MODIFY(_tag)
14561
14662#define MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(bmcpu, bmspace) \
trunk/src/emu/machine/atadev.c
r0r23787
1/***************************************************************************
2
3    ATA Device implementation.
4
5***************************************************************************/
6
7#include "atadev.h"
8
9//-------------------------------------------------
10//  ata_device_interface - constructor
11//-------------------------------------------------
12
13ata_device_interface::ata_device_interface(const machine_config &mconfig, device_t &device) :
14   m_master_password(NULL),
15   m_user_password(NULL),
16   m_irq_handler(device),
17   m_dmarq_handler(device)
18{
19}
Property changes on: trunk/src/emu/machine/atadev.c
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/machine/atadev.h
r0r23787
1/***************************************************************************
2
3    atadev.h
4
5    ATA Device implementation.
6
7    Copyright Nicola Salmoria and the MAME Team.
8    Visit http://mamedev.org for licensing and usage restrictions.
9
10***************************************************************************/
11
12#pragma once
13
14#ifndef __ATADEV_H__
15#define __ATADEV_H__
16
17#include "emu.h"
18
19// ======================> ata_device_interface
20
21class ata_device_interface
22{
23public:
24   ata_device_interface(const machine_config &mconfig, device_t &device);
25   virtual ~ata_device_interface() {}
26
27   virtual UINT16 read_dma() = 0;
28   virtual DECLARE_READ16_MEMBER(read_cs0) = 0;
29   virtual DECLARE_READ16_MEMBER(read_cs1) = 0;
30
31   virtual void write_dma(UINT16 data) = 0;
32   virtual DECLARE_WRITE16_MEMBER(write_cs0) = 0;
33   virtual DECLARE_WRITE16_MEMBER(write_cs1) = 0;
34   virtual DECLARE_WRITE_LINE_MEMBER(write_dmack) = 0;
35   virtual DECLARE_WRITE_LINE_MEMBER(write_csel) = 0;
36   virtual DECLARE_WRITE_LINE_MEMBER(write_dasp) = 0;
37
38   virtual UINT8 *identify_device_buffer() = 0;
39
40   UINT8           m_master_password_enable;
41   UINT8           m_user_password_enable;
42   const UINT8 *   m_master_password;
43   const UINT8 *   m_user_password;
44
45   devcb2_write_line m_irq_handler;
46   devcb2_write_line m_dmarq_handler;
47};
48
49#endif
Property changes on: trunk/src/emu/machine/atadev.h
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/emu/machine/machine.mak
r23786r23787
473473#-------------------------------------------------
474474
475475ifneq ($(filter IDE,$(MACHINES)),)
476MACHINEOBJS += $(MACHINEOBJ)/ataintf.o
477MACHINEOBJS += $(MACHINEOBJ)/atadev.o
476478MACHINEOBJS += $(MACHINEOBJ)/idectrl.o
477479MACHINEOBJS += $(MACHINEOBJ)/idehd.o
478480endif
trunk/src/mess/drivers/bebox.c
r23786r23787
5353   AM_RANGE(0x80000080, 0x8000009F) AM_READWRITE8(bebox_page_r, bebox_page_w, U64(0xffffffffffffffff) )
5454   AM_RANGE(0x800000A0, 0x800000BF) AM_DEVREADWRITE8("pic8259_2", pic8259_device, read, write, U64(0xffffffffffffffff) )
5555   AM_RANGE(0x800000C0, 0x800000DF) AM_READWRITE8(at_dma8237_1_r, at_dma8237_1_w, U64(0xffffffffffffffff))
56   AM_RANGE(0x800001F0, 0x800001F7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, U64(0xffffffffffffffff) )
56   AM_RANGE(0x800001F0, 0x800001F7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, U64(0xffffffffffffffff) )
5757   AM_RANGE(0x800002F8, 0x800002FF) AM_DEVREADWRITE8( "ns16550_1", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
5858   AM_RANGE(0x80000380, 0x80000387) AM_DEVREADWRITE8( "ns16550_2", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
5959   AM_RANGE(0x80000388, 0x8000038F) AM_DEVREADWRITE8( "ns16550_3", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
6060   AM_RANGE(0x800003b0, 0x800003bf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03b0_r, port_03b0_w, U64(0xffffffffffffffff))
6161   AM_RANGE(0x800003c0, 0x800003cf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03c0_r, port_03c0_w, U64(0xffffffffffffffff))
6262   AM_RANGE(0x800003d0, 0x800003df) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03d0_r, port_03d0_w, U64(0xffffffffffffffff))
63   AM_RANGE(0x800003F0, 0x800003F7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, U64(0xffffffffffffffff) )
63   AM_RANGE(0x800003F0, 0x800003F7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, U64(0xffffffffffffffff) )
6464   AM_RANGE(0x800003F0, 0x800003F7) AM_DEVICE8( "smc37c78", smc37c78_device, map, U64(0xffffffffffffffff) )
6565   AM_RANGE(0x800003F8, 0x800003FF) AM_DEVREADWRITE8( "ns16550_0",ns16550_device,  ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
6666   AM_RANGE(0x80000480, 0x8000048F) AM_READWRITE8(bebox_80000480_r, bebox_80000480_w, U64(0xffffffffffffffff) )
r23786r23787
218218   MCFG_SCSIDEV_ADD("scsi:cdrom", SCSICD, SCSI_ID_3)
219219   MCFG_LSI53C810_ADD( "scsi:lsi53c810", lsi53c810_intf)
220220
221   MCFG_IDE_CONTROLLER_ADD( "ide", ide_devices, "hdd", NULL, false ) /* FIXME */
222   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(bebox_state, bebox_ide_interrupt))
221   MCFG_IDE_CONTROLLER_ADD( "ide", ata_devices, "hdd", NULL, false ) /* FIXME */
222   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(bebox_state, bebox_ide_interrupt))
223223
224224   /* pci */
225225   MCFG_PCI_BUS_ADD("pcibus", 0)
trunk/src/mess/machine/kc_d004.c
r23786r23787
1414#define Z80_TAG         "disk"
1515#define Z80CTC_TAG      "z80ctc"
1616#define UPD765_TAG      "upd765"
17#define IDE_TAG         "ide"
17#define ATA_TAG         "ata"
1818
1919/***************************************************************************
2020    IMPLEMENTATION
r23786r23787
9090   MCFG_CPU_MODIFY(Z80_TAG)
9191   MCFG_CPU_IO_MAP(kc_d004_gide_io)
9292
93   MCFG_IDE_CONTROLLER_ADD(IDE_TAG, ide_devices, "hdd", "hdd", false)
93   MCFG_ATA_INTERFACE_ADD(ATA_TAG, ata_devices, "hdd", "hdd", false)
9494MACHINE_CONFIG_END
9595
9696
r23786r23787
390390
391391kc_d004_gide_device::kc_d004_gide_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
392392      : kc_d004_device(mconfig, KC_D004, "D004 Floppy Disk + GIDE Interface", tag, owner, clock, "kc_d004gide", __FILE__),
393      m_ide(*this, IDE_TAG)
393      m_ata(*this, ATA_TAG)
394394{
395395}
396396
r23786r23787
421421{
422422   kc_d004_device::device_reset();
423423
424   m_ide_data  = 0;
424   m_ata_data  = 0;
425425   m_lh        = 0;
426426}
427427
r23786r23787
457457         {
458458            if (ide_cs == 0 )
459459            {
460               m_ide_data = m_ide->read_cs0(space, io_addr & 0x07, 0xffff);
460               m_ata_data = m_ata->read_cs0(space, io_addr & 0x07, 0xffff);
461461            }
462462            else
463463            {
464               m_ide_data = m_ide->read_cs1(space, io_addr & 0x07, 0xffff);
464               m_ata_data = m_ata->read_cs1(space, io_addr & 0x07, 0xffff);
465465            }
466466         }
467467
468         data = (m_ide_data >> data_shift) & 0xff;
468         data = (m_ata_data >> data_shift) & 0xff;
469469      }
470470
471471      m_lh = (io_addr == 0x08) ? !m_lh : ((io_addr > 0x08) ? 0 : m_lh);
r23786r23787
500500         if (io_addr == 0x08 && m_lh)
501501            data_shift = 8;
502502
503         m_ide_data = (data << data_shift) | (m_ide_data & (0xff00 >> data_shift));
503         m_ata_data = (data << data_shift) | (m_ata_data & (0xff00 >> data_shift));
504504
505505         if (io_addr == 0x06 || io_addr == 0x07 || io_addr > 0x08 || (io_addr == 0x08 && m_lh))
506506         {
507507            if (ide_cs == 0)
508508            {
509               m_ide->write_cs0(space, io_addr & 0x07, m_ide_data, 0xffff);
509               m_ata->write_cs0(space, io_addr & 0x07, m_ata_data, 0xffff);
510510            }
511511            else
512512            {
513               m_ide->write_cs1(space, io_addr & 0x07, m_ide_data, 0xffff);
513               m_ata->write_cs1(space, io_addr & 0x07, m_ata_data, 0xffff);
514514            }
515515         }
516516      }
trunk/src/mess/machine/kc_d004.h
r23786r23787
88#include "machine/z80ctc.h"
99#include "cpu/z80/z80.h"
1010#include "machine/upd765.h"
11#include "machine/idectrl.h"
11#include "machine/ataintf.h"
1212#include "formats/basicdsk.h"
1313#include "imagedev/harddriv.h"
1414
r23786r23787
100100   DECLARE_WRITE8_MEMBER(gide_w);
101101
102102private:
103   required_device<ide_controller_device> m_ide;
103   required_device<ata_interface_device> m_ata;
104104
105   UINT16              m_ide_data;
105   UINT16              m_ata_data;
106106   int                 m_lh;
107107};
108108
trunk/src/mess/machine/isa_fdc.c
r23786r23787
99#include "machine/pc_fdc.h"
1010#include "imagedev/flopdrv.h"
1111#include "formats/pc_dsk.h"
12#include "machine/idectrl.h"
12#include "machine/ataintf.h"
1313#include "formats/pc_dsk.h"
1414#include "formats/mfi_dsk.h"
1515
trunk/src/mess/machine/a2zipdrive.c
r23786r23787
1919
2020#include "a2zipdrive.h"
2121#include "includes/apple2.h"
22#include "machine/idectrl.h"
22#include "machine/ataintf.h"
2323#include "imagedev/harddriv.h"
2424
2525//**************************************************************************
r23786r23787
2929const device_type A2BUS_ZIPDRIVE = &device_creator<a2bus_zipdrive_device>;
3030
3131#define ZIPDRIVE_ROM_REGION  "zipdrive_rom"
32#define ZIPDRIVE_IDE_TAG     "zipdrive_ide"
32#define ZIPDRIVE_ATA_TAG     "zipdrive_ata"
3333
3434static MACHINE_CONFIG_FRAGMENT( zipdrive )
35   MCFG_IDE_CONTROLLER_ADD(ZIPDRIVE_IDE_TAG, ide_devices, "hdd", "hdd", false)
35   MCFG_ATA_INTERFACE_ADD(ZIPDRIVE_ATA_TAG, ata_devices, "hdd", "hdd", false)
3636MACHINE_CONFIG_END
3737
3838ROM_START( zipdrive )
r23786r23787
7070a2bus_zipdrivebase_device::a2bus_zipdrivebase_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) :
7171   device_t(mconfig, type, name, tag, owner, clock, shortname, source),
7272   device_a2bus_card_interface(mconfig, *this),
73   m_ide(*this, ZIPDRIVE_IDE_TAG)
73   m_ata(*this, ZIPDRIVE_ATA_TAG)
7474{
7575}
7676
r23786r23787
116116      case 5:
117117      case 6:
118118      case 7:
119         return m_ide->read_cs0(space, offset, 0xff);
119         return m_ata->read_cs0(space, offset, 0xff);
120120
121121      case 8: // data port
122         m_lastdata = m_ide->read_cs0(space, offset, 0xffff);
122         m_lastdata = m_ata->read_cs0(space, offset, 0xffff);
123123//          printf("%04x @ IDE data\n", m_lastdata);
124124         return m_lastdata&0xff;
125125
r23786r23787
152152      case 6:
153153      case 7:
154154//          printf("%02x to IDE controller @ %x\n", data, offset);
155         m_ide->write_cs0(space, offset, data, 0xff);
155         m_ata->write_cs0(space, offset, data, 0xff);
156156         break;
157157
158158      case 8:
r23786r23787
164164//          printf("%02x to IDE data hi\n", data);
165165         m_lastdata &= 0x00ff;
166166         m_lastdata |= (data << 8);
167         m_ide->write_cs0(space, offset, m_lastdata, 0xffff);
167         m_ata->write_cs0(space, offset, m_lastdata, 0xffff);
168168         break;
169169
170170      default:
trunk/src/mess/machine/a2zipdrive.h
r23786r23787
1313
1414#include "emu.h"
1515#include "machine/a2bus.h"
16#include "machine/idectrl.h"
16#include "machine/ataintf.h"
1717
1818//**************************************************************************
1919//  TYPE DEFINITIONS
r23786r23787
4141   virtual UINT8 read_cnxx(address_space &space, UINT8 offset);
4242   virtual UINT8 read_c800(address_space &space, UINT16 offset);
4343
44   required_device<ide_controller_device> m_ide;
44   required_device<ata_interface_device> m_ata;
4545
4646   UINT8 *m_rom;
4747
trunk/src/mess/machine/isa_ide.c
r23786r23787
1111
1212READ8_MEMBER(isa16_ide_device::ide16_alt_r )
1313{
14   return m_ide->read_cs1_pc(space, 6/2, 0xff);
14   return m_ide->read_cs1(space, 6/2, 0xff);
1515}
1616
1717WRITE8_MEMBER(isa16_ide_device::ide16_alt_w )
1818{
19   m_ide->write_cs1_pc(space, 6/2, data, 0xff);
19   m_ide->write_cs1(space, 6/2, data, 0xff);
2020}
2121
2222DEVICE_ADDRESS_MAP_START(map, 16, isa16_ide_device)
23   AM_RANGE(0x0, 0x7) AM_DEVREADWRITE("ide", ide_controller_device, read_cs0_pc, write_cs0_pc)
23   AM_RANGE(0x0, 0x7) AM_DEVREADWRITE("ide", ide_controller_device, read_cs0, write_cs0)
2424ADDRESS_MAP_END
2525
2626DEVICE_ADDRESS_MAP_START(alt_map, 8, isa16_ide_device)
r23786r23787
4040}
4141
4242static MACHINE_CONFIG_FRAGMENT( ide )
43   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", "hdd", false)
44   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(isa16_ide_device, ide_interrupt))
43   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", "hdd", false)
44   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(isa16_ide_device, ide_interrupt))
4545MACHINE_CONFIG_END
4646
4747static INPUT_PORTS_START( ide )
trunk/src/mess/machine/ti99/tn_ide.c
r23786r23787
2727
2828#include "emu.h"
2929#include "peribox.h"
30#include "machine/idectrl.h"
30#include "machine/ataintf.h"
3131#include "tn_ide.h"
3232#include "ti99_hd.h"
3333
r23786r23787
4949};
5050
5151nouspikel_ide_interface_device::nouspikel_ide_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
52: ti_expansion_card_device(mconfig, TI99_IDE, "Nouspikel IDE interface card", tag, owner, clock, "ti99_ide", __FILE__)
52   : ti_expansion_card_device(mconfig, TI99_IDE, "Nouspikel IDE interface card", tag, owner, clock, "ti99_ide", __FILE__),
53   m_ata(*this, "ata")
5354{
5455}
5556
r23786r23787
7172            reply |= 4;
7273         if (m_sram_enable_dip)
7374            reply |= 2;
74         if (!m_ide_irq)
75         if (!m_ata_irq)
7576            reply |= 1;
7677      }
7778      *value = reply;
r23786r23787
107108            m_cru_register &= ~(1 << bit);
108109
109110         if (bit == 6)
110            m_slot->set_inta((m_cru_register & cru_reg_int_en) && m_ide_irq);
111            m_slot->set_inta((m_cru_register & cru_reg_int_en) && m_ata_irq);
111112
112113         if ((bit == 6) || (bit == 7))
113114            if ((m_cru_register & cru_reg_int_en) && !(m_cru_register & cru_reg_reset))
114               m_ide->reset();
115               m_ata->reset();
115116         break;
116117      }
117118   }
r23786r23787
151152         case 2:     /* IDE registers set 1 (CS1Fx) */
152153            if (m_tms9995_mode ? (!(addr & 1)) : (addr & 1))
153154            {   /* first read triggers 16-bit read cycle */
154               m_input_latch = (! (addr & 0x10)) ? m_ide->read_cs0(space, (addr >> 1) & 0x7, 0xffff) : 0;
155               m_input_latch = (! (addr & 0x10)) ? m_ata->read_cs0(space, (addr >> 1) & 0x7, 0xffff) : 0;
155156            }
156157
157158            /* return latched input */
r23786r23787
162163         case 3:     /* IDE registers set 2 (CS3Fx) */
163164            if (m_tms9995_mode ? (!(addr & 1)) : (addr & 1))
164165            {   /* first read triggers 16-bit read cycle */
165               m_input_latch = (! (addr & 0x10)) ? m_ide->read_cs1(space, (addr >> 1) & 0x7, 0xffff) : 0;
166               m_input_latch = (! (addr & 0x10)) ? m_ata->read_cs1(space, (addr >> 1) & 0x7, 0xffff) : 0;
166167            }
167168
168169            /* return latched input */
r23786r23787
232233
233234            if (m_tms9995_mode ? (addr & 1) : (!(addr & 1)))
234235            {   /* second write triggers 16-bit write cycle */
235               m_ide->write_cs0(space, (addr >> 1) & 0x7, m_output_latch, 0xffff);
236               m_ata->write_cs0(space, (addr >> 1) & 0x7, m_output_latch, 0xffff);
236237            }
237238            break;
238239         case 3:     /* IDE registers set 2 (CS3Fx) */
r23786r23787
250251
251252            if (m_tms9995_mode ? (addr & 1) : (!(addr & 1)))
252253            {   /* second write triggers 16-bit write cycle */
253               m_ide->write_cs1(space, (addr >> 1) & 0x7, m_output_latch, 0xffff);
254               m_ata->write_cs1(space, (addr >> 1) & 0x7, m_output_latch, 0xffff);
254255            }
255256            break;
256257         }
r23786r23787
279280*/
280281WRITE_LINE_MEMBER(nouspikel_ide_interface_device::ide_interrupt_callback)
281282{
282   m_ide_irq = state;
283   m_ata_irq = state;
283284   if (m_cru_register & cru_reg_int_en)
284285      do_inta(state);
285286}
r23786r23787
297298void nouspikel_ide_interface_device::device_start()
298299{
299300   m_rtc = subdevice<rtc65271_device>("ide_rtc");
300   m_ide = subdevice<ide_controller_device>("ide");
301301
302302   m_ram = memregion(BUFFER_TAG)->base();
303303   m_sram_enable_dip = false; // TODO: what is this?
r23786r23787
334334
335335MACHINE_CONFIG_FRAGMENT( tn_ide )
336336   MCFG_RTC65271_ADD( "ide_rtc", ide_rtc_cfg )
337   MCFG_IDE_CONTROLLER_ADD( "ide", ide_devices, "hdd", NULL, false)  // see idectrl.c
338   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(nouspikel_ide_interface_device, ide_interrupt_callback))
339//  MCFG_IDE_CONTROLLER_REGIONS(":peribox:idehd0:drive", NULL)
337   MCFG_ATA_INTERFACE_ADD( "ata", ata_devices, "hdd", NULL, false)
338   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(nouspikel_ide_interface_device, ide_interrupt_callback))
340339MACHINE_CONFIG_END
341340
342341ROM_START( tn_ide )
trunk/src/mess/machine/ti99/tn_ide.h
r23786r23787
1414
1515#include "emu.h"
1616#include "ti99defs.h"
17#include "machine/idectrl.h"
17#include "machine/ataintf.h"
1818#include "machine/rtc65271.h"
1919
2020extern const device_type TI99_IDE;
r23786r23787
3030   void    cruwrite(offs_t offset, UINT8 value);
3131
3232   void    do_inta(int state);
33   bool    m_ide_irq;
33   bool    m_ata_irq;
3434   int     m_cru_register;
3535
3636   DECLARE_WRITE_LINE_MEMBER(clock_interrupt_callback);
r23786r23787
4545
4646private:
4747   rtc65271_device*    m_rtc;
48   ide_controller_device* m_ide;
48   required_device<ata_interface_device> m_ata;
4949
5050   bool    m_clk_irq;
5151   bool    m_sram_enable;
trunk/src/mess/machine/a2cffa.c
r23786r23787
1111
1212#include "a2cffa.h"
1313#include "includes/apple2.h"
14#include "machine/idectrl.h"
14#include "machine/ataintf.h"
1515#include "imagedev/harddriv.h"
1616
1717
r23786r23787
2929const device_type A2BUS_CFFA2_6502 = &device_creator<a2bus_cffa2_6502_device>;
3030
3131#define CFFA2_ROM_REGION  "cffa2_rom"
32#define CFFA2_IDE_TAG     "cffa2_ide"
32#define CFFA2_ATA_TAG     "cffa2_ata"
3333
3434MACHINE_CONFIG_FRAGMENT( cffa2 )
35   MCFG_IDE_CONTROLLER_ADD(CFFA2_IDE_TAG, ide_devices, "hdd", "hdd", false)
35   MCFG_ATA_INTERFACE_ADD(CFFA2_ATA_TAG, ata_devices, "hdd", "hdd", false)
3636MACHINE_CONFIG_END
3737
3838ROM_START( cffa2 )
r23786r23787
8181a2bus_cffa2000_device::a2bus_cffa2000_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) :
8282   device_t(mconfig, type, name, tag, owner, clock, shortname, source),
8383   device_a2bus_card_interface(mconfig, *this),
84   m_ide(*this, CFFA2_IDE_TAG)
84   m_ata(*this, CFFA2_ATA_TAG)
8585{
8686}
8787
r23786r23787
143143         break;
144144
145145      case 8:
146         m_lastdata = m_ide->read_cs0(space, offset-8, 0xffff);
146         m_lastdata = m_ata->read_cs0(space, offset-8, 0xffff);
147147         return m_lastdata & 0xff;
148148
149149      case 9:
r23786r23787
153153      case 0xd:
154154      case 0xe:
155155      case 0xf:
156         return m_ide->read_cs0(space, offset-8, 0xff);
156         return m_ata->read_cs0(space, offset-8, 0xff);
157157   }
158158
159159   return 0xff;
r23786r23787
184184      case 8:
185185         m_lastdata &= 0xff00;
186186         m_lastdata |= data;
187         m_ide->write_cs0(space, offset-8, m_lastdata, 0xffff);
187         m_ata->write_cs0(space, offset-8, m_lastdata, 0xffff);
188188         break;
189189
190190      case 9:
r23786r23787
194194      case 0xd:
195195      case 0xe:
196196      case 0xf:
197         m_ide->write_cs0(space, offset-8, data, 0xff);
197         m_ata->write_cs0(space, offset-8, data, 0xff);
198198         break;
199199   }
200200}
trunk/src/mess/machine/southbridge.h
r23786r23787
1010#include "machine/pic8259.h"
1111#include "machine/pit8253.h"
1212
13#include "machine/idectrl.h"
13#include "machine/ataintf.h"
1414#include "machine/at_keybc.h"
1515
1616#include "imagedev/harddriv.h"
trunk/src/mess/machine/a2cffa.h
r23786r23787
1212
1313#include "emu.h"
1414#include "machine/a2bus.h"
15#include "machine/idectrl.h"
15#include "machine/ataintf.h"
1616
1717//**************************************************************************
1818//  TYPE DEFINITIONS
r23786r23787
4141   virtual UINT8 read_c800(address_space &space, UINT16 offset);
4242   virtual void write_c800(address_space &space, UINT16 offset, UINT8 data);
4343
44   required_device<ide_controller_device> m_ide;
44   required_device<ata_interface_device> m_ata;
4545
4646   UINT8 *m_rom;
4747   UINT8 m_eeprom[0x1000];
trunk/src/mess/machine/isa_ide8.c
r23786r23787
5555
5656static READ8_DEVICE_HANDLER( ide8_r )
5757{
58   ide_controller_device   *ide = (ide_controller_device *) device;
58   ata_interface_device   *ide = (ata_interface_device *) device;
5959   isa8_ide_device         *ide8_d = downcast<isa8_ide_device *>(device->owner());
6060   UINT8   result  = 0;
6161
r23786r23787
8080
8181static WRITE8_DEVICE_HANDLER( ide8_w )
8282{
83   ide_controller_device   *ide = (ide_controller_device *) device;
83   ata_interface_device   *ide = (ata_interface_device *) device;
8484   isa8_ide_device         *ide8_d = downcast<isa8_ide_device *>(device->owner());
8585
8686//  logerror("%s ide8_w: offset=%d, data=%2X\n",device->machine().describe_context(),offset,data);
r23786r23787
114114}
115115
116116static MACHINE_CONFIG_FRAGMENT( ide8_config )
117   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", "hdd", false)
118   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(isa8_ide_device, ide_interrupt))
117   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", "hdd", false)
118   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(isa8_ide_device, ide_interrupt))
119119MACHINE_CONFIG_END
120120
121121static INPUT_PORTS_START( ide8_port )
trunk/src/mess/machine/bebox.c
r23786r23787
100100#include "machine/mc146818.h"
101101#include "machine/pic8259.h"
102102#include "machine/am9517a.h"
103#include "machine/idectrl.h"
103#include "machine/ataintf.h"
104104#include "machine/pci.h"
105105#include "machine/intelfsh.h"
106106#include "machine/53c810.h"
trunk/src/mess/machine/adam_ide.c
r23786r23787
2525//  MACROS/CONSTANTS
2626//**************************************************************************
2727
28#define IDE_TAG             "ide"
28#define ATA_TAG             "ata"
2929#define CENTRONICS_TAG      "centronics"
3030
3131
r23786r23787
3838
3939
4040//-------------------------------------------------
41//  ROM( adam_ide )
41//  ROM( adam_ata )
4242//-------------------------------------------------
4343
44ROM_START( adam_ide )
44ROM_START( adam_ata )
4545   ROM_REGION( 0x1000, "rom", 0 )
4646   ROM_LOAD( "exp.rom", 0x0000, 0x1000, NO_DUMP )
4747ROM_END
r23786r23787
5353
5454const rom_entry *powermate_ide_device::device_rom_region() const
5555{
56   return ROM_NAME( adam_ide );
56   return ROM_NAME( adam_ata );
5757}
5858
5959
6060//-------------------------------------------------
61//  MACHINE_CONFIG_FRAGMENT( adam_ide )
61//  MACHINE_CONFIG_FRAGMENT( adam_ata )
6262//-------------------------------------------------
63static MACHINE_CONFIG_FRAGMENT( adam_ide )
64   MCFG_IDE_CONTROLLER_ADD(IDE_TAG, ide_devices, "hdd", NULL, false)
63static MACHINE_CONFIG_FRAGMENT( adam_ata )
64   MCFG_ATA_INTERFACE_ADD(ATA_TAG, ata_devices, "hdd", NULL, false)
6565   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
6666MACHINE_CONFIG_END
6767
r23786r23787
7373
7474machine_config_constructor powermate_ide_device::device_mconfig_additions() const
7575{
76   return MACHINE_CONFIG_NAME( adam_ide );
76   return MACHINE_CONFIG_NAME( adam_ata );
7777}
7878
7979
r23786r23787
8787//-------------------------------------------------
8888
8989powermate_ide_device::powermate_ide_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
90   : device_t(mconfig, ADAM_IDE, "Powermate HP IDE", tag, owner, clock, "adam_ide", __FILE__),
90   : device_t(mconfig, ADAM_IDE, "Powermate HP IDE", tag, owner, clock, "adam_ata", __FILE__),
9191      device_adam_expansion_slot_card_interface(mconfig, *this),
92      m_ide(*this, IDE_TAG),
92      m_ata(*this, ATA_TAG),
9393      m_centronics(*this, CENTRONICS_TAG)
9494{
9595}
r23786r23787
121121      case 0x05:
122122      case 0x06:
123123      case 0x07:
124         data = m_ide->read_cs0(space, offset & 0x07, 0xff);
124         data = m_ata->read_cs0(space, offset & 0x07, 0xff);
125125         break;
126126
127127      case 0x40: // Printer status
r23786r23787
142142         break;
143143
144144      case 0x58:
145         m_ide_data = m_ide->read_cs0(space, 0, 0xffff);
145         m_ata_data = m_ata->read_cs0(space, 0, 0xffff);
146146
147         data = m_ide_data & 0xff;
147         data = m_ata_data & 0xff;
148148         break;
149149
150150      case 0x59:
151         data = m_ide_data >> 8;
151         data = m_ata_data >> 8;
152152         break;
153153
154154      case 0x5a:
155         data = m_ide->read_cs1(space, 6, 0xff);
155         data = m_ata->read_cs1(space, 6, 0xff);
156156         break;
157157
158158      case 0x5b: // Digital Input Register
r23786r23787
181181      case 0x05:
182182      case 0x06:
183183      case 0x07:
184         m_ide->write_cs0(space, offset & 0x07, data, 0xff);
184         m_ata->write_cs0(space, offset & 0x07, data, 0xff);
185185         break;
186186
187187      case 0x40:
r23786r23787
192192         break;
193193
194194      case 0x58:
195         m_ide_data |= data;
196         m_ide->write_cs0(space, 0, m_ide_data, 0xffff);
195         m_ata_data |= data;
196         m_ata->write_cs0(space, 0, m_ata_data, 0xffff);
197197         break;
198198
199199      case 0x59:
200         m_ide_data = data << 8;
200         m_ata_data = data << 8;
201201         break;
202202
203203      case 0x5a: // Fixed Disk Control Register
trunk/src/mess/machine/c64_ide64.c
r23786r23787
3131#define AT29C010A_TAG       "u3"
3232#define DS1302_TAG          "u4"
3333#define FT245R_TAG          "u21"
34#define IDE_TAG             "ide"
34#define ATA_TAG             "ata"
3535
3636
3737
r23786r23787
4949   MCFG_ATMEL_29C010_ADD(AT29C010A_TAG)
5050   MCFG_DS1302_ADD(DS1302_TAG, XTAL_32_768kHz)
5151
52   MCFG_IDE_CONTROLLER_ADD(IDE_TAG, ide_devices, "hdd", "hdd", false)
52   MCFG_ATA_INTERFACE_ADD(ATA_TAG, ata_devices, "hdd", "hdd", false)
5353MACHINE_CONFIG_END
5454
5555
r23786r23787
100100   device_c64_expansion_card_interface(mconfig, *this),
101101   m_flash_rom(*this, AT29C010A_TAG),
102102   m_rtc(*this, DS1302_TAG),
103   m_ide(*this, IDE_TAG),
103   m_ata(*this, ATA_TAG),
104104   m_jp1(*this, "JP1")
105105{
106106}
r23786r23787
117117
118118   // state saving
119119   save_item(NAME(m_bank));
120   save_item(NAME(m_ide_data));
120   save_item(NAME(m_ata_data));
121121   save_item(NAME(m_enable));
122122}
123123
r23786r23787
181181
182182      if (io1_offset >= 0x20 && io1_offset < 0x28)
183183      {
184         m_ide_data = m_ide->read_cs0(space, offset & 0x07, 0xffff);
184         m_ata_data = m_ata->read_cs0(space, offset & 0x07, 0xffff);
185185
186         data = m_ide_data & 0xff;
186         data = m_ata_data & 0xff;
187187      }
188188      else if (io1_offset >= 0x28 && io1_offset < 0x30)
189189      {
190         m_ide_data = m_ide->read_cs1(space, offset & 0x07, 0xffff);
190         m_ata_data = m_ata->read_cs1(space, offset & 0x07, 0xffff);
191191
192         data = m_ide_data & 0xff;
192         data = m_ata_data & 0xff;
193193      }
194194      else if (io1_offset == 0x31)
195195      {
196         data = m_ide_data >> 8;
196         data = m_ata_data >> 8;
197197      }
198198      else if (io1_offset == 0x32)
199199      {
r23786r23787
282282
283283      if (io1_offset >= 0x20 && io1_offset < 0x28)
284284      {
285         m_ide_data = (m_ide_data & 0xff00) | data;
285         m_ata_data = (m_ata_data & 0xff00) | data;
286286
287         m_ide->write_cs0(space, offset & 0x07, m_ide_data, 0xffff);
287         m_ata->write_cs0(space, offset & 0x07, m_ata_data, 0xffff);
288288      }
289289      else if (io1_offset >= 0x28 && io1_offset < 0x30)
290290      {
291         m_ide_data = (m_ide_data & 0xff00) | data;
291         m_ata_data = (m_ata_data & 0xff00) | data;
292292
293         m_ide->write_cs1(space, offset & 0x07, m_ide_data, 0xffff);
293         m_ata->write_cs1(space, offset & 0x07, m_ata_data, 0xffff);
294294      }
295295      else if (io1_offset == 0x31)
296296      {
297         m_ide_data = (data << 8) | (m_ide_data & 0xff);
297         m_ata_data = (data << 8) | (m_ata_data & 0xff);
298298      }
299299      else if (io1_offset == 0x5f)
300300      {
trunk/src/mess/machine/adam_ide.h
r23786r23787
1515#include "emu.h"
1616#include "machine/adamexp.h"
1717#include "machine/ctronics.h"
18#include "machine/idectrl.h"
18#include "machine/ataintf.h"
1919
2020
2121
r23786r23787
4545   virtual void adam_bd_w(address_space &space, offs_t offset, UINT8 data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2);
4646
4747private:
48   required_device<ide_controller_device> m_ide;
48   required_device<ata_interface_device> m_ata;
4949   required_device<centronics_device> m_centronics;
5050
51   UINT16 m_ide_data;
51   UINT16 m_ata_data;
5252};
5353
5454
trunk/src/mess/machine/c64_ide64.h
r23786r23787
1616#include "emu.h"
1717#include "machine/c64exp.h"
1818#include "machine/ds1302.h"
19#include "machine/idectrl.h"
19#include "machine/ataintf.h"
2020#include "machine/intelfsh.h"
2121#include "imagedev/harddriv.h"
2222
r23786r23787
5353private:
5454   required_device<atmel_29c010_device> m_flash_rom;
5555   required_device<ds1302_device> m_rtc;
56   required_device<ide_controller_device> m_ide;
56   required_device<ata_interface_device> m_ata;
5757   required_ioport m_jp1;
5858
5959   UINT8 m_bank;
60   UINT16 m_ide_data;
60   UINT16 m_ata_data;
6161   int m_wp;
6262   int m_enable;
6363};
trunk/src/mess/machine/a2vulcan.c
r23786r23787
5353
5454#include "a2vulcan.h"
5555#include "includes/apple2.h"
56#include "machine/idectrl.h"
56#include "machine/ataintf.h"
5757#include "imagedev/harddriv.h"
5858
5959//**************************************************************************
r23786r23787
6363const device_type A2BUS_VULCAN = &device_creator<a2bus_vulcan_device>;
6464
6565#define VULCAN_ROM_REGION  "vulcan_rom"
66#define VULCAN_IDE_TAG     "vulcan_ide"
66#define VULCAN_ATA_TAG     "vulcan_ata"
6767
6868static MACHINE_CONFIG_FRAGMENT( vulcan )
69   MCFG_IDE_CONTROLLER_ADD(VULCAN_IDE_TAG, ide_devices, "hdd", "hdd", false)
69   MCFG_ATA_INTERFACE_ADD(VULCAN_ATA_TAG, ata_devices, "hdd", "hdd", false)
7070MACHINE_CONFIG_END
7171
7272ROM_START( vulcan )
r23786r23787
104104a2bus_vulcanbase_device::a2bus_vulcanbase_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) :
105105   device_t(mconfig, type, name, tag, owner, clock, shortname, source),
106106   device_a2bus_card_interface(mconfig, *this),
107   m_ide(*this, VULCAN_IDE_TAG)
107   m_ata(*this, VULCAN_ATA_TAG)
108108{
109109}
110110
r23786r23787
151151   switch (offset)
152152   {
153153      case 0:
154         m_lastdata = m_ide->read_cs0(space, offset, 0xffff);
154         m_lastdata = m_ata->read_cs0(space, offset, 0xffff);
155155//          printf("IDE: read %04x\n", m_lastdata);
156156         m_last_read_was_0 = true;
157157         return m_lastdata&0xff;
r23786r23787
164164         }
165165         else
166166         {
167            return m_ide->read_cs0(space, offset, 0xff);
167            return m_ata->read_cs0(space, offset, 0xff);
168168         }
169169         break;
170170
r23786r23787
174174      case 5:
175175      case 6:
176176      case 7:
177         return m_ide->read_cs0(space, offset, 0xff);
177         return m_ata->read_cs0(space, offset, 0xff);
178178
179179      default:
180180//          printf("Read @ C0n%x\n", offset);
r23786r23787
206206            m_lastdata &= 0x00ff;
207207            m_lastdata |= (data << 8);
208208//              printf("IDE: write %04x\n", m_lastdata);
209            m_ide->write_cs0(space, offset, m_lastdata, 0xffff);
209            m_ata->write_cs0(space, offset, m_lastdata, 0xffff);
210210         }
211211         else
212212         {
213            m_ide->write_cs0(space, offset, data, 0xff);
213            m_ata->write_cs0(space, offset, data, 0xff);
214214         }
215215         break;
216216
r23786r23787
221221      case 6:
222222      case 7:
223223//          printf("%02x to IDE controller @ %x\n", data, offset);
224         m_ide->write_cs0(space, offset, data, 0xff);
224         m_ata->write_cs0(space, offset, data, 0xff);
225225         break;
226226
227227      case 9: // ROM bank
trunk/src/mess/machine/a2vulcan.h
r23786r23787
1111
1212#include "emu.h"
1313#include "machine/a2bus.h"
14#include "machine/idectrl.h"
14#include "machine/ataintf.h"
1515
1616//**************************************************************************
1717//  TYPE DEFINITIONS
r23786r23787
4040   virtual UINT8 read_c800(address_space &space, UINT16 offset);
4141   virtual void write_c800(address_space &space, UINT16 offset, UINT8 data);
4242
43   required_device<ide_controller_device> m_ide;
43   required_device<ata_interface_device> m_ata;
4444
4545   UINT8 *m_rom;
4646   UINT8 m_ram[8*1024];
trunk/src/mame/drivers/pinball2k.c
r23786r23787
579579   MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
580580   MCFG_PCI_BUS_LEGACY_DEVICE(18, NULL, cx5510_pci_r, cx5510_pci_w)
581581
582   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
583   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
582   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
583   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
584584
585585   MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
586586
trunk/src/mame/drivers/midvunit.c
r23786r23787
2929#include "cpu/tms32031/tms32031.h"
3030#include "cpu/adsp2100/adsp2100.h"
3131#include "audio/dcs.h"
32#include "machine/idectrl.h"
32#include "machine/ataintf.h"
3333#include "machine/midwayic.h"
3434#include "machine/nvram.h"
3535#include "includes/midvunit.h"
r23786r23787
8080   m_timer[0] = machine().device<timer_device>("timer0");
8181   m_timer[1] = machine().device<timer_device>("timer1");
8282
83   machine().device("ide")->reset();
83   machine().device("ata")->reset();
8484}
8585
8686
r23786r23787
508508   AM_RANGE(0x990000, 0x99000f) AM_READWRITE_LEGACY(midway_ioasic_r, midway_ioasic_w)
509509   AM_RANGE(0x994000, 0x994000) AM_WRITE(midvunit_control_w)
510510   AM_RANGE(0x995020, 0x995020) AM_WRITE(midvunit_cmos_protect_w)
511   AM_RANGE(0x9a0000, 0x9a0007) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0x0000ffff)
511   AM_RANGE(0x9a0000, 0x9a0007) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0x0000ffff)
512512   AM_RANGE(0x9c0000, 0x9c7fff) AM_RAM_WRITE(midvunit_paletteram_w) AM_SHARE("paletteram")
513513   AM_RANGE(0x9d0000, 0x9d000f) AM_READWRITE(midvplus_misc_r, midvplus_misc_w) AM_SHARE("midvplus_misc")
514514   AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(midvunit_textureram_r, midvunit_textureram_w) AM_SHARE("textureram")
r23786r23787
10421042   MCFG_DEVICE_REMOVE("nvram")
10431043   MCFG_NVRAM_HANDLER(midway_serial_pic2)
10441044
1045   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
1045   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
10461046
10471047   /* sound hardware */
10481048   MCFG_FRAGMENT_ADD(dcs2_audio_2115)
r23786r23787
16651665   ROM_REGION32_LE( 0x1000000, "user1", 0 )
16661666   ROM_LOAD( "u41.rom", 0x000000, 0x20000, CRC(398c54cc) SHA1(6c4b5d6ec5c844dcbf181f9d86a9196a088ed2db) )
16671667
1668   DISK_REGION( "ide:0:hdd" )
1668   DISK_REGION( "ata:0:hdd:image" )
16691669   DISK_IMAGE( "wargods_10-09-1996", 0, SHA1(7585bc65b1038589cb59d3e7c56e08ca9d7015b8) )
16701670ROM_END
16711671
r23786r23787
16761676   ROM_REGION32_LE( 0x1000000, "user1", 0 )
16771677   ROM_LOAD( "u41.rom", 0x000000, 0x20000, CRC(398c54cc) SHA1(6c4b5d6ec5c844dcbf181f9d86a9196a088ed2db) )
16781678
1679   DISK_REGION( "ide:0:hdd" )
1679   DISK_REGION( "ata:0:hdd:image" )
16801680   DISK_IMAGE( "wargods_08-15-1996", 0, SHA1(5dee00be40c315fbb1d6e3994dae8e498ab87fb2) )
16811681ROM_END
16821682
r23786r23787
16871687   ROM_REGION32_LE( 0x1000000, "user1", 0 )
16881688   ROM_LOAD( "u41.rom", 0x000000, 0x20000, CRC(398c54cc) SHA1(6c4b5d6ec5c844dcbf181f9d86a9196a088ed2db) )
16891689
1690   DISK_REGION( "ide:0:hdd" )
1690   DISK_REGION( "ata:0:hdd:image" )
16911691   DISK_IMAGE( "wargods_12-11-1995", 0, SHA1(141063f95867fdcc4b15c844e510696604a70c6a) )
16921692ROM_END
16931693
trunk/src/mame/drivers/mediagx.c
r23786r23787
750750   AM_RANGE(0x0020, 0x0023) AM_READWRITE8(io20_r, io20_w, 0xffff0000)
751751   AM_IMPORT_FROM(pcat32_io_common)
752752   AM_RANGE(0x00e8, 0x00eb) AM_NOP     // I/O delay port
753   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
753   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
754754   AM_RANGE(0x0378, 0x037b) AM_READWRITE(parallel_port_r, parallel_port_w)
755   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
755   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
756756   AM_RANGE(0x0400, 0x04ff) AM_READWRITE(ad1847_r, ad1847_w)
757757   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
758758ADDRESS_MAP_END
r23786r23787
858858   m_dmadac[0] = machine().device<dmadac_sound_device>("dac1");
859859   m_dmadac[1] = machine().device<dmadac_sound_device>("dac2");
860860   dmadac_enable(&m_dmadac[0], 2, 1);
861   m_ide->reset();
862861}
863862
864863static ADDRESS_MAP_START( ramdac_map, AS_0, 8, mediagx_state )
r23786r23787
882881   MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
883882   MCFG_PCI_BUS_LEGACY_DEVICE(18, NULL, cx5510_pci_r, cx5510_pci_w)
884883
885   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
886   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
884   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
885   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
887886
888887   MCFG_TIMER_DRIVER_ADD("sound_timer", mediagx_state, sound_timer_callback)
889888
r23786r23787
10141013   ROM_REGION(0x08100, "gfx1", 0)
10151014   ROM_LOAD("cga.chr",     0x00000, 0x01000, CRC(42009069) SHA1(ed08559ce2d7f97f68b9f540bddad5b6295294dd))
10161015
1017   DISK_REGION( "ide:0:hdd" )
1016   DISK_REGION( "ide:0:hdd:image" )
10181017   DISK_IMAGE( "a51site4-2_01", 0, SHA1(48496666d1613700ae9274f9a5361ea5bbaebea0) ) /* Happ replacement drive "A-22509", sticker on drive shows REV 2.01 and Test Mode screen shows the date September 7, 1998 */
10191018ROM_END
10201019
r23786r23787
10281027   ROM_REGION(0x08100, "gfx1", 0)
10291028   ROM_LOAD("cga.chr",     0x00000, 0x01000, CRC(42009069) SHA1(ed08559ce2d7f97f68b9f540bddad5b6295294dd))
10301029
1031   DISK_REGION( "ide:0:hdd" )
1030   DISK_REGION( "ide:0:hdd:image" )
10321031   DISK_IMAGE( "a51site4-2_0", 0, SHA1(4de421e4d1708ecbdfb50730000814a1ea36a044) ) /* Stock drive, sticker on drive shows REV 2.0 and Test Mode screen shows the date September 11, 1998 */
10331032ROM_END
10341033
trunk/src/mame/drivers/viper.c
r23786r23787
284284#include "emu.h"
285285#include "cpu/powerpc/ppc.h"
286286#include "machine/pci.h"
287#include "machine/idectrl.h"
287#include "machine/ataintf.h"
288288#include "machine/timekpr.h"
289289#include "video/voodoo.h"
290290
r23786r23787
310310   viper_state(const machine_config &mconfig, device_type type, const char *tag)
311311      : driver_device(mconfig, type, tag),
312312      m_maincpu(*this, "maincpu"),
313      m_ide(*this, "ide")
313      m_ata(*this, "ata")
314314   {
315315   }
316316
r23786r23787
363363   int ds2430_insert_cmd_bit(int bit);
364364   void DS2430_w(int bit);
365365   required_device<cpu_device> m_maincpu;
366   required_device<ide_controller_device> m_ide;
366   required_device<ata_interface_device> m_ata;
367367};
368368
369369UINT32 viper_state::screen_update_viper(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
r23786r23787
12661266      {
12671267         case 0x8:   // Duplicate Even RD Data
12681268         {
1269            r |= m_ide->read_cs0(space, 0, mem_mask >> 16) << 16;
1269            r |= m_ata->read_cs0(space, 0, mem_mask >> 16) << 16;
12701270            break;
12711271         }
12721272
r23786r23787
12871287      {
12881288         case 0x8:   // Duplicate Even RD Data
12891289         {
1290            m_ide->write_cs0(space, 0, data >> 16, mem_mask >> 16);
1290            m_ata->write_cs0(space, 0, data >> 16, mem_mask >> 16);
12911291            break;
12921292         }
12931293
r23786r23787
13181318            case 0x6:   // Select Card/Head
13191319            case 0x7:   // Status
13201320            {
1321               r |= m_ide->read_cs0(space, offset & 7, mem_mask >> 16) << 16;
1321               r |= m_ata->read_cs0(space, offset & 7, mem_mask >> 16) << 16;
13221322               break;
13231323            }
13241324
r23786r23787
13271327
13281328            case 0xd:   // Duplicate Error
13291329            {
1330               r |= m_ide->read_cs0(space, 1, mem_mask >> 16) << 16;
1330               r |= m_ata->read_cs0(space, 1, mem_mask >> 16) << 16;
13311331               break;
13321332            }
13331333            case 0xe:   // Alt Status
13341334            case 0xf:   // Drive Address
13351335            {
1336               r |= m_ide->read_cs1(space, offset & 7, mem_mask >> 16) << 16;
1336               r |= m_ata->read_cs1(space, offset & 7, mem_mask >> 16) << 16;
13371337               break;
13381338            }
13391339
r23786r23787
13831383            case 0x6:   // Select Card/Head
13841384            case 0x7:   // Command
13851385            {
1386               m_ide->write_cs0(space, offset & 7, data >> 16, mem_mask >> 16);
1386               m_ata->write_cs0(space, offset & 7, data >> 16, mem_mask >> 16);
13871387               break;
13881388            }
13891389
r23786r23787
13921392
13931393            case 0xd:   // Duplicate Features
13941394            {
1395               m_ide->write_cs0(space, 1, data >> 16, mem_mask >> 16);
1395               m_ata->write_cs0(space, 1, data >> 16, mem_mask >> 16);
13961396               break;
13971397            }
13981398            case 0xe:   // Device Ctl
13991399            case 0xf:   // Reserved
14001400            {
1401               m_ide->write_cs1(space, offset & 7, data >> 16, mem_mask >> 16);
1401               m_ata->write_cs1(space, offset & 7, data >> 16, mem_mask >> 16);
14021402               break;
14031403            }
14041404
r23786r23787
14191419                  m_cf_card_ide = 1;
14201420
14211421                  // soft reset
1422                  m_ide->write_cs1(space, 6, 0x04, 0xff);
1422                  m_ata->write_cs1(space, 6, 0x04, 0xff);
14231423               }
14241424               break;
14251425            }
r23786r23787
14541454      switch(offset & 0x80)
14551455      {
14561456      case 0x00:
1457         r |= m_ide->read_cs0(space, reg, mem_mask >> 16) << 16;
1457         r |= m_ata->read_cs0(space, reg, mem_mask >> 16) << 16;
14581458         break;
14591459      case 0x80:
1460         r |= m_ide->read_cs1(space, reg, mem_mask >> 16) << 16;
1460         r |= m_ata->read_cs1(space, reg, mem_mask >> 16) << 16;
14611461         break;
14621462      }
14631463   }
r23786r23787
14741474      switch(offset & 0x80)
14751475      {
14761476      case 0x00:
1477         m_ide->write_cs0(space, reg, data >> 16, mem_mask >> 16);
1477         m_ata->write_cs0(space, reg, data >> 16, mem_mask >> 16);
14781478         break;
14791479      case 0x80:
1480         m_ide->write_cs1(space, reg, data >> 16, mem_mask >> 16);
1480         m_ata->write_cs1(space, reg, data >> 16, mem_mask >> 16);
14811481         break;
14821482      }
14831483   }
r23786r23787
20212021
20222022void viper_state::machine_reset()
20232023{
2024   m_ide->reset();
20252024   mpc8240_epic_reset();
20262025
2027   UINT8 *identify_device = m_ide->identify_device_buffer(0);
2026   UINT8 *identify_device = m_ata->identify_device_buffer(0);
20282027
20292028   // Viper expects these settings or the BIOS fails
20302029   identify_device[51*2+0] = 0;           /* 51: PIO data transfer cycle timing mode */
r23786r23787
20572056   MCFG_PCI_BUS_LEGACY_DEVICE(0, "mpc8240", mpc8240_pci_r, mpc8240_pci_w)
20582057   MCFG_PCI_BUS_LEGACY_DEVICE(12, "voodoo", voodoo3_pci_r, voodoo3_pci_w)
20592058
2060   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
2059   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
20612060
20622061   MCFG_3DFX_VOODOO_3_ADD("voodoo", STD_VOODOO_3_CLOCK, voodoo_intf)
20632062
r23786r23787
21262125
21272126   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
21282127
2129   DISK_REGION( "ide:0:hdd" )
2128   DISK_REGION( "ata:0:hdd:image" )
21302129   DISK_IMAGE( "ppp2nd", 0, SHA1(b8b90483d515c83eac05ffa617af19612ea990b0))
21312130ROM_END
21322131
r23786r23787
21402139   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
21412140   ROM_LOAD("a45jaa_nvram.u39", 0x00000, 0x2000, CRC(c24e29fc) SHA1(efb6ecaf25cbdf9d8dfcafa85e38a195fa5ff6c4))
21422141
2143   DISK_REGION( "ide:0:hdd" )
2142   DISK_REGION( "ata:0:hdd:image" )
21442143   DISK_IMAGE( "a45a02", 0, SHA1(9af2481f53de705ae48fad08d8dd26553667c2d0) )
21452144ROM_END
21462145
r23786r23787
21532152   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
21542153   ROM_LOAD("nvram.u39", 0x00000, 0x2000, NO_DUMP )
21552154
2156   DISK_REGION( "ide:0:hdd" )
2155   DISK_REGION( "ata:0:hdd:image" )
21572156   DISK_IMAGE( "922d02", 0, SHA1(01f35e324c9e8567da0f51b3e68fff1562c32116) )
21582157ROM_END
21592158
r23786r23787
21662165   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
21672166   ROM_LOAD("nvram.u39", 0x00000, 0x2000, NO_DUMP )
21682167
2169   DISK_REGION( "ide:0:hdd" )
2168   DISK_REGION( "ata:0:hdd:image" )
21702169   DISK_IMAGE( "922b02", 0, SHA1(4d288b5dcfab3678af662783e7083a358eee99ce) )
21712170ROM_END
21722171
r23786r23787
21802179   ROM_LOAD("nvram.u39", 0x00000, 0x2000, CRC(d0604e84) SHA1(18d1183f1331af3e655a56692eb7ab877b4bc239)) //old dump, probably has non-default settings.
21812180   ROM_LOAD("941jab_nvram.u39", 0x00000, 0x2000, CRC(6c4a852f) SHA1(2753dda42cdd81af22dc6780678f1ddeb3c62013))
21822181
2183   DISK_REGION( "ide:0:hdd" )
2182   DISK_REGION( "ata:0:hdd:image" )
21842183   DISK_IMAGE( "941b02", 0,  SHA1(943bc9b1ea7273a8382b94c8a75010dfe296df14) )
21852184ROM_END
21862185
r23786r23787
21902189   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
21912190   ROM_LOAD("941eaa_nvram.u39", 0x00000, 0x2000, CRC(5ee7004d) SHA1(92e0ce01049308f459985d466fbfcfac82f34a47))
21922191
2193   DISK_REGION( "ide:0:hdd" )
2192   DISK_REGION( "ata:0:hdd:image" )
21942193   DISK_IMAGE( "941a02", 0,  NO_DUMP )
21952194ROM_END
21962195
r23786r23787
22032202   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
22042203   ROM_LOAD("b41ebc_nvram.u39", 0x00000, 0x2000, CRC(55d1681d) SHA1(26868cf0d14f23f06b81f2df0b4186924439bb43))
22052204
2206   DISK_REGION( "ide:0:hdd" )
2205   DISK_REGION( "ata:0:hdd:image" )
22072206   DISK_IMAGE( "b41c02", 0, SHA1(fb6b0b43a6f818041d644bcd711f6a727348d3aa) )
22082207ROM_END
22092208
r23786r23787
22172216   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
22182217   ROM_LOAD("b33uaa_nvram.u39", 0x00000, 0x1ff8, BAD_DUMP CRC(0f0ba988) SHA1(5618c03b21fc2ba14b2e159cee3aab7f53c2c34d)) //data looks plain bad (compared to the other games)
22192218
2220   DISK_REGION( "ide:0:hdd" )
2219   DISK_REGION( "ata:0:hdd:image" )
22212220   DISK_IMAGE( "b33a02", 0, SHA1(819d8fac5d2411542c1b989105cffe38a5545fc2) )
22222221ROM_END
22232222
r23786r23787
22302229   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
22312230   ROM_LOAD("a29aaa_nvram.u39", 0x000000, 0x2000, CRC(14b9fe68) SHA1(3c59e6df1bb46bc1835c13fd182b1bb092c08759)) //supposed to be aab version?
22322231
2233   DISK_REGION( "ide:0:hdd" )
2232   DISK_REGION( "ata:0:hdd:image" )
22342233   DISK_IMAGE( "a29b02", 0, SHA1(f0c04310caf2cca804fde20805eb30a44c5a6796) ) //missing bootloader
22352234ROM_END
22362235
r23786r23787
22432242   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
22442243   ROM_LOAD("a29jaa_nvram.u39", 0x000000, 0x2000, CRC(2f7cdf27) SHA1(0b69d8728be12909e235268268a312982f81d46a))
22452244
2246   DISK_REGION( "ide:0:hdd" )
2245   DISK_REGION( "ata:0:hdd:image" )
22472246   DISK_IMAGE( "a29a02", 0, SHA1(00afad399737652b3e17257c70a19f62e37f3c97) )
22482247ROM_END
22492248
r23786r23787
22562255   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
22572256   ROM_LOAD("a00uad_nvram.u39", 0x000000, 0x2000, CRC(cca056ca) SHA1(de1a00d84c1311d48bbe6d24f5b36e22ecf5e85a))
22582257
2259   DISK_REGION( "ide:0:hdd" )
2258   DISK_REGION( "ata:0:hdd:image" )
22602259   DISK_IMAGE( "a00uad02", 0, SHA1(6acb8dc41920e7025b87034a3a62b185ef0109d9) )
22612260ROM_END
22622261
r23786r23787
22692268   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
22702269   ROM_LOAD("a00uac_nvram.u39", 0x000000, 0x2000,  NO_DUMP )
22712270
2272   DISK_REGION( "ide:0:hdd" )
2271   DISK_REGION( "ata:0:hdd:image" )
22732272   DISK_IMAGE( "a00uac02", 0, SHA1(b268789416dbf8886118a634b911f0ee254970de) )
22742273ROM_END
22752274
r23786r23787
22822281   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
22832282   ROM_LOAD("a00kac_nvram.u39", 0x000000, 0x2000,  CRC(8ddc921c) SHA1(901538da237679fc74966a301278b36d1335671f) )
22842283
2285   DISK_REGION( "ide:0:hdd" )
2284   DISK_REGION( "ata:0:hdd:image" )
22862285   DISK_IMAGE( "a00kac02", 0, SHA1(b268789416dbf8886118a634b911f0ee254970de) )
22872286ROM_END
22882287
r23786r23787
22952294   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
22962295   ROM_LOAD("a00eaa_nvram.u39", 0x000000, 0x2000,  CRC(4f3497b6) SHA1(3045c54f98dff92cdf3a1fc0cd4c76ba82d632d7) )
22972296
2298   DISK_REGION( "ide:0:hdd" )
2297   DISK_REGION( "ata:0:hdd:image" )
22992298   DISK_IMAGE( "a00eaa02", 0, SHA1(81565a2dce2e2b0a7927078a784354948af1f87c) )
23002299ROM_END
23012300
r23786r23787
23082307   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
23092308   ROM_LOAD("a00jaa_nvram.u39", 0x000000, 0x2000, CRC(9ecf70dc) SHA1(4769a99b0cc28563e219860b8d480f32d1e21f60))
23102309
2311   DISK_REGION( "ide:0:hdd" )
2310   DISK_REGION( "ata:0:hdd:image" )
23122311   DISK_IMAGE( "a00jac02", 0, SHA1(d962d3a8ea84c380767d0fe336296911c289c224) )
23132312ROM_END
23142313
r23786r23787
23212320   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
23222321   ROM_LOAD("nvram.u39", 0x000000, 0x2000, NO_DUMP )
23232322
2324   DISK_REGION( "ide:0:hdd" )
2323   DISK_REGION( "ata:0:hdd:image" )
23252324   DISK_IMAGE( "b11a02", 0, SHA1(57665664321b78c1913d01f0d2c0b8d3efd42e04) )
23262325ROM_END
23272326
r23786r23787
23342333   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
23352334   ROM_LOAD("nvram.u39", 0x000000, 0x2000, NO_DUMP )
23362335
2337   DISK_REGION( "ide:0:hdd" )
2336   DISK_REGION( "ata:0:hdd:image" )
23382337   DISK_IMAGE( "c00jab", 0, BAD_DUMP SHA1(3763aaded9b45388a664edd84a3f7f8ff4101be4) )
23392338ROM_END
23402339
r23786r23787
23472346   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
23482347   ROM_LOAD("a13uaa_nvram.u39", 0x000000, 0x2000, CRC(7b0e1ac8) SHA1(1ea549964539e27f87370e9986bfa44eeed037cd))
23492348
2350   DISK_REGION( "ide:0:hdd" )
2349   DISK_REGION( "ata:0:hdd:image" )
23512350   DISK_IMAGE( "a13c02", 0, SHA1(d740784fa51a3f43695ea95e23f92ef05f43284a) )
23522351ROM_END
23532352
r23786r23787
23622361   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
23632362   ROM_LOAD("nvram.u39", 0x000000, 0x2000, CRC(2f325c55) SHA1(0bc44f40f981a815c8ce64eae95ae55db510c565))
23642363
2365   DISK_REGION( "ide:0:hdd" )
2364   DISK_REGION( "ata:0:hdd:image" )
23662365   DISK_IMAGE( "a13b02", 0, SHA1(c25a61b76d365794c2da4a9e7de88a5519e944ec) )
23672366ROM_END
23682367
r23786r23787
23762375   ROM_LOAD("a41ebb_nvram.u39", 0x00000, 0x2000, CRC(22f59ac0) SHA1(e14ea2ba95b72edf0a3331ab82c192760bfdbce3))
23772376//  a41eba_nvram == a41ebb_nvram
23782377
2379   DISK_REGION( "ide:0:hdd" )
2378   DISK_REGION( "ata:0:hdd:image" )
23802379   DISK_IMAGE( "a41b02", 0, SHA1(0426f4bb9001cf457f44e2c22e3d7575b8049aa3) )
23812380ROM_END
23822381
r23786r23787
23892388   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
23902389   ROM_LOAD("a41aaa_nvram.u39", 0x00000, 0x2000, CRC(d5de9b8e) SHA1(768bcd46a6ad20948f60f5e0ecd2f7b9c2901061))
23912390
2392   DISK_REGION( "ide:0:hdd" )
2391   DISK_REGION( "ata:0:hdd:image" )
23932392   DISK_IMAGE( "a41a02", 0, SHA1(bbb71e23bddfa07dfa30b6565a35befd82b055b8) )
23942393ROM_END
23952394
r23786r23787
24032402   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
24042403   ROM_LOAD("941eaa_nvram.u39", 0x00000, 0x2000, NO_DUMP )
24052404
2406   DISK_REGION( "ide:0:hdd" )
2405   DISK_REGION( "ata:0:hdd:image" )
24072406   DISK_IMAGE( "a41c02", 0, SHA1(ab3020e8709768c0fd2467573e92b679a05944e5) )
24082407ROM_END
24092408
r23786r23787
24162415   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
24172416   ROM_LOAD("a30eab_nvram.u39", 0x00000, 0x2000, CRC(c123342c) SHA1(55416767608fe0311a362854a16b214b04435a31))
24182417
2419   DISK_REGION( "ide:0:hdd" )
2418   DISK_REGION( "ata:0:hdd:image" )
24202419   DISK_IMAGE( "a30b02", 0, SHA1(d2be83b7323c365ba445de7697c3fb8eb83d0212) )
24212420ROM_END
24222421
r23786r23787
24292428   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
24302429   ROM_LOAD("a30jac_nvram.u39", 0x00000, 0x2000, NO_DUMP )
24312430
2432   DISK_REGION( "ide:0:hdd" )
2431   DISK_REGION( "ata:0:hdd:image" )
24332432   DISK_IMAGE( "a30c02", 0, SHA1(533b5669b00884a800df9ba29651777a76559862) )
24342433ROM_END
24352434
r23786r23787
24432442   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
24442443   ROM_LOAD("wcombat_nvram.u39", 0x00000, 0x2000, CRC(4f8b5858) SHA1(68066241c6f9db7f45e55b3c5da101987f4ce53c))
24452444
2446   DISK_REGION( "ide:0:hdd" )
2445   DISK_REGION( "ata:0:hdd:image" )
24472446   DISK_IMAGE( "c22d02", 0, BAD_DUMP SHA1(85d2a8b5ec4cfd932190486cad991f0c180ca6b3) )
24482447ROM_END
24492448
r23786r23787
24532452   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
24542453   ROM_LOAD("wcombatk_nvram.u39", 0x00000, 0x2000, CRC(ebd4d645) SHA1(2fa7e2c6b113214f3eb1900c8ceef4d5fcf0bb76))
24552454
2456   DISK_REGION( "ide:0:hdd" )
2455   DISK_REGION( "ata:0:hdd:image" )
24572456   DISK_IMAGE( "c22c02", 0, BAD_DUMP SHA1(8bd1dfbf926ad5b28fa7dafd7e31c475325ec569) )
24582457ROM_END
24592458
r23786r23787
24662465   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
24672466   ROM_LOAD("wcombatj_nvram.u39", 0x00000, 0x2000, CRC(bd8a6640) SHA1(2d409197ef3fb07d984d27fa943f29c7a711d715))
24682467
2469   DISK_REGION( "ide:0:hdd" )
2468   DISK_REGION( "ata:0:hdd:image" )
24702469   DISK_IMAGE( "c22a02", 0, BAD_DUMP SHA1(b607fb2ddfd0bd552b7a736cea4ac1aa3ea021bd) )
24712470ROM_END
24722471
r23786r23787
24792478   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
24802479   ROM_LOAD("b4xjab_nvram.u39", 0x00000, 0x2000, CRC(33708a93) SHA1(715968e3c9c15edf628fa6ac655dc0864e336c6c))
24812480
2482   DISK_REGION( "ide:0:hdd" )
2481   DISK_REGION( "ata:0:hdd:image" )
24832482   DISK_IMAGE( "b4xb02", 0, SHA1(d8d54f3f16b762bf0187fe29b2f8696015c0a940) )
24842483ROM_END
24852484
r23786r23787
25412540   ROM_LOAD("nvram.u39", 0x00000, 0x2000, CRC(9fb551a5) SHA1(a33d185e186d404c3bf62277d7e34e5ad0000b09)) //likely non-default settings
25422541   ROM_LOAD("c09jad_nvram.u39", 0x00000, 0x2000, CRC(33e960b7) SHA1(a9a249e68c89b18d4685f1859fe35dc21df18e14))
25432542
2544   DISK_REGION( "ide:0:hdd" )
2543   DISK_REGION( "ata:0:hdd:image" )
25452544   DISK_IMAGE( "c09d04", 0, SHA1(7395b7a33e953f65827aea44461e49f8388464fb) )
25462545ROM_END
25472546
r23786r23787
25552554   ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00)     /* M48T58 Timekeeper NVRAM */
25562555   ROM_LOAD("c09jac_nvram.u39", 0x00000, 0x2000, NO_DUMP )
25572556
2558   DISK_REGION( "ide:0:hdd" )
2557   DISK_REGION( "ata:0:hdd:image" )
25592558   DISK_IMAGE( "c09c04", 0, SHA1(bf5f7447d74399d34edd4eb6dfcca7f6fc2154f2) )
25602559ROM_END
25612560
trunk/src/mame/drivers/vp101.c
r23786r23787
1515
1616#include "emu.h"
1717#include "cpu/mips/mips3.h"
18#include "machine/idectrl.h"
18#include "machine/ataintf.h"
1919
2020
2121class vp10x_state : public driver_device
r23786r23787
103103   ROM_REGION(0x80000, "pic", 0)       /* PIC18c422 program - read-protected, need dumped */
104104   ROM_LOAD( "8722a-1206.bin", 0x000000, 0x80000, NO_DUMP )
105105
106   DISK_REGION( "ide" )
106   DISK_REGION( "ata:0:hdd:image" )
107107   DISK_IMAGE_READONLY("jn010108", 0, SHA1(4f3e9c6349c9be59213df1236dba7d79e7cd704e) )
108108ROM_END
109109
r23786r23787
115115   ROM_REGION(0x80000, "pic", 0)       /* PIC18c422 I/P program - read-protected, need dumped */
116116   ROM_LOAD( "special_forces_et_u7_rev1.2.u7", 0x000000, 0x80000, NO_DUMP )
117117
118   DISK_REGION( "ide" )
118   DISK_REGION( "ata:0:hdd:image" )
119119   DISK_IMAGE_READONLY("sf010101", 0, SHA1(59b5e3d8e1d5537204233598830be2066aad0556) )
120120ROM_END
121121
trunk/src/mame/drivers/extrema.c
r23786r23787
6464ROM_END
6565
6666#define MISSING_DISK \
67   DISK_REGION( "ide" ) \
67   DISK_REGION( "ata:0:hdd:image" ) \
6868   DISK_IMAGE( "extrema_hdd", 0, NO_DUMP )
6969
7070ROM_START( adults )
trunk/src/mame/drivers/fruitpc.c
r23786r23787
7070
7171static ADDRESS_MAP_START( fruitpc_io, AS_IO, 32, fruitpc_state )
7272   AM_IMPORT_FROM(pcat32_io_common)
73   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
73   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
7474   AM_RANGE(0x0310, 0x0313) AM_READ8(fruit_inp_r, 0xffffffff)
7575   AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
7676   AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
7777   AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
78   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
78   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
7979ADDRESS_MAP_END
8080
8181#define AT_KEYB_HELPER(bit, text, key1) \
r23786r23787
157157
158158   MCFG_FRAGMENT_ADD( pcat_common )
159159
160   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
161   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
160   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
161   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
162162
163163   /* video hardware */
164164   MCFG_FRAGMENT_ADD( pcvideo_vga )
r23786r23787
175175   ROM_REGION( 0x20000, "bios", 0 )
176176   ROM_LOAD( "at-gs001.bin", 0x000000, 0x020000, CRC(7dec34d0) SHA1(81d194d67fef9f6531bd3cd1ee0baacb5c2558bf) )
177177
178   DISK_REGION( "ide:0:hdd" )    // 8 MB Compact Flash card
178   DISK_REGION( "ide:0:hdd:image" )    // 8 MB Compact Flash card
179179   DISK_IMAGE( "fruit", 0,SHA1(df250ff06a97fa141a4144034f7035ac2947c53c) )
180180ROM_END
181181
trunk/src/mame/drivers/kinst.c
r23786r23787
131131#include "emu.h"
132132#include "cpu/mips/mips3.h"
133133#include "cpu/adsp2100/adsp2100.h"
134#include "machine/idectrl.h"
134#include "machine/ataintf.h"
135135#include "machine/midwayic.h"
136136#include "audio/dcs.h"
137137
r23786r23787
151151      m_control(*this, "control"),
152152      m_rombase(*this, "rombase"),
153153      m_maincpu(*this, "maincpu"),
154      m_ide(*this, "ide" )
154      m_ata(*this, "ata" )
155155   {
156156   }
157157
r23786r23787
175175   UINT32 screen_update_kinst(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
176176   INTERRUPT_GEN_MEMBER(irq0_start);
177177   required_device<cpu_device> m_maincpu;
178   required_device<ide_controller_device> m_ide;
178   required_device<ata_interface_device> m_ata;
179179
180180protected:
181181   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
r23786r23787
215215
216216void kinst_state::machine_reset()
217217{
218   UINT8 *identify_device = m_ide->identify_device_buffer(0);
218   UINT8 *identify_device = m_ata->identify_device_buffer(0);
219219
220220   if (strncmp(machine().system().name, "kinst2", 6) != 0)
221221   {
r23786r23787
325325
326326READ32_MEMBER(kinst_state::kinst_ide_r)
327327{
328   return m_ide->read_cs0(space, offset / 2, mem_mask);
328   return m_ata->read_cs0(space, offset / 2, mem_mask);
329329}
330330
331331
332332WRITE32_MEMBER(kinst_state::kinst_ide_w)
333333{
334   m_ide->write_cs0(space, offset / 2, data, mem_mask);
334   m_ata->write_cs0(space, offset / 2, data, mem_mask);
335335}
336336
337337
338338READ32_MEMBER(kinst_state::kinst_ide_extra_r)
339339{
340   return m_ide->read_cs1(space, 6, 0xff);
340   return m_ata->read_cs1(space, 6, 0xff);
341341}
342342
343343
344344WRITE32_MEMBER(kinst_state::kinst_ide_extra_w)
345345{
346   m_ide->write_cs1(space, 6, data, 0xff);
346   m_ata->write_cs1(space, 6, data, 0xff);
347347}
348348
349349
r23786r23787
689689   MCFG_CPU_VBLANK_INT_DRIVER("screen", kinst_state,  irq0_start)
690690
691691
692   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
693   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(kinst_state, ide_interrupt))
692   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
693   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(kinst_state, ide_interrupt))
694694
695695   /* video hardware */
696696   MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r23786r23787
731731   ROM_LOAD16_BYTE( "u35-l1", 0xc00000, 0x80000, CRC(0aaef4fc) SHA1(48c4c954ac9db648f28ad64f9845e19ec432eec3) )
732732   ROM_LOAD16_BYTE( "u36-l1", 0xe00000, 0x80000, CRC(0577bb60) SHA1(cc78070cc41701e9a91fde5cfbdc7e1e83354854) )
733733
734   DISK_REGION( "ide:0:hdd" )
734   DISK_REGION( "ata:0:hdd:image" )
735735   DISK_IMAGE( "kinst", 0, SHA1(81d833236e994528d1482979261401b198d1ca53) )
736736ROM_END
737737
r23786r23787
750750   ROM_LOAD16_BYTE( "u35-l1", 0xc00000, 0x80000, CRC(0aaef4fc) SHA1(48c4c954ac9db648f28ad64f9845e19ec432eec3) )
751751   ROM_LOAD16_BYTE( "u36-l1", 0xe00000, 0x80000, CRC(0577bb60) SHA1(cc78070cc41701e9a91fde5cfbdc7e1e83354854) )
752752
753   DISK_REGION( "ide:0:hdd" )
753   DISK_REGION( "ata:0:hdd:image" )
754754   DISK_IMAGE( "kinst", 0, SHA1(81d833236e994528d1482979261401b198d1ca53) )
755755ROM_END
756756
r23786r23787
769769   ROM_LOAD16_BYTE( "u35-l1", 0xc00000, 0x80000, CRC(0aaef4fc) SHA1(48c4c954ac9db648f28ad64f9845e19ec432eec3) )
770770   ROM_LOAD16_BYTE( "u36-l1", 0xe00000, 0x80000, CRC(0577bb60) SHA1(cc78070cc41701e9a91fde5cfbdc7e1e83354854) )
771771
772   DISK_REGION( "ide:0:hdd" )
772   DISK_REGION( "ata:0:hdd:image" )
773773   DISK_IMAGE( "kinst", 0, SHA1(81d833236e994528d1482979261401b198d1ca53) )
774774ROM_END
775775
r23786r23787
788788   ROM_LOAD16_BYTE( "u35-l1", 0xc00000, 0x80000, CRC(0aaef4fc) SHA1(48c4c954ac9db648f28ad64f9845e19ec432eec3) )
789789   ROM_LOAD16_BYTE( "u36-l1", 0xe00000, 0x80000, CRC(0577bb60) SHA1(cc78070cc41701e9a91fde5cfbdc7e1e83354854) )
790790
791   DISK_REGION( "ide:0:hdd" )
791   DISK_REGION( "ata:0:hdd:image" )
792792   DISK_IMAGE( "kinst", 0, SHA1(81d833236e994528d1482979261401b198d1ca53) )
793793ROM_END
794794
r23786r23787
807807   ROM_LOAD16_BYTE( "ki2_l1.u35", 0xc00000, 0x80000, CRC(7245ce69) SHA1(24a3ff009c8a7f5a0bfcb198b8dcb5df365770d3) )
808808   ROM_LOAD16_BYTE( "ki2_l1.u36", 0xe00000, 0x80000, CRC(8920acbb) SHA1(0fca72c40067034939b984b4bf32972a5a6c26af) )
809809
810   DISK_REGION( "ide:0:hdd" )
810   DISK_REGION( "ata:0:hdd:image" )
811811   DISK_IMAGE( "kinst2", 0, SHA1(e7c9291b4648eae0012ea0cc230731ed4987d1d5) )
812812ROM_END
813813
r23786r23787
826826   ROM_LOAD16_BYTE( "ki2_l1.u35", 0xc00000, 0x80000, CRC(7245ce69) SHA1(24a3ff009c8a7f5a0bfcb198b8dcb5df365770d3) )
827827   ROM_LOAD16_BYTE( "ki2_l1.u36", 0xe00000, 0x80000, CRC(8920acbb) SHA1(0fca72c40067034939b984b4bf32972a5a6c26af) )
828828
829   DISK_REGION( "ide:0:hdd" )
829   DISK_REGION( "ata:0:hdd:image" )
830830   DISK_IMAGE( "kinst2", 0, SHA1(e7c9291b4648eae0012ea0cc230731ed4987d1d5) )
831831ROM_END
832832
r23786r23787
845845   ROM_LOAD16_BYTE( "ki2_l1.u35", 0xc00000, 0x80000, CRC(7245ce69) SHA1(24a3ff009c8a7f5a0bfcb198b8dcb5df365770d3) )
846846   ROM_LOAD16_BYTE( "ki2_l1.u36", 0xe00000, 0x80000, CRC(8920acbb) SHA1(0fca72c40067034939b984b4bf32972a5a6c26af) )
847847
848   DISK_REGION( "ide:0:hdd" )
848   DISK_REGION( "ata:0:hdd:image" )
849849   DISK_IMAGE( "kinst2", 0, SHA1(e7c9291b4648eae0012ea0cc230731ed4987d1d5) )
850850ROM_END
851851
r23786r23787
864864   ROM_LOAD16_BYTE( "ki2_l1.u35", 0xc00000, 0x80000, CRC(7245ce69) SHA1(24a3ff009c8a7f5a0bfcb198b8dcb5df365770d3) )
865865   ROM_LOAD16_BYTE( "ki2_l1.u36", 0xe00000, 0x80000, CRC(8920acbb) SHA1(0fca72c40067034939b984b4bf32972a5a6c26af) )
866866
867   DISK_REGION( "ide:0:hdd" )
867   DISK_REGION( "ata:0:hdd:image" )
868868   DISK_IMAGE( "kinst2", 0, SHA1(e7c9291b4648eae0012ea0cc230731ed4987d1d5) )
869869ROM_END
870870
r23786r23787
883883   ROM_LOAD16_BYTE( "ki2_l1.u35", 0xc00000, 0x80000, CRC(7245ce69) SHA1(24a3ff009c8a7f5a0bfcb198b8dcb5df365770d3) )
884884   ROM_LOAD16_BYTE( "ki2_l1.u36", 0xe00000, 0x80000, CRC(8920acbb) SHA1(0fca72c40067034939b984b4bf32972a5a6c26af) )
885885
886   DISK_REGION( "ide:0:hdd" )
886   DISK_REGION( "ata:0:hdd:image" )
887887   DISK_IMAGE( "kinst2", 0, SHA1(e7c9291b4648eae0012ea0cc230731ed4987d1d5) )
888888ROM_END
889889
r23786r23787
902902   ROM_LOAD16_BYTE( "ki2_l1.u35", 0xc00000, 0x80000, CRC(7245ce69) SHA1(24a3ff009c8a7f5a0bfcb198b8dcb5df365770d3) )
903903   ROM_LOAD16_BYTE( "ki2_l1.u36", 0xe00000, 0x80000, CRC(8920acbb) SHA1(0fca72c40067034939b984b4bf32972a5a6c26af) )
904904
905   DISK_REGION( "ide:0:hdd" )
905   DISK_REGION( "ata:0:hdd:image" )
906906   DISK_IMAGE( "kinst2", 0, SHA1(e7c9291b4648eae0012ea0cc230731ed4987d1d5) )
907907ROM_END
908908
trunk/src/mame/drivers/funkball.c
r23786r23787
401401   AM_IMPORT_FROM(pcat32_io_common)
402402   AM_RANGE(0x00e8, 0x00ef) AM_NOP
403403
404   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
405   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
404   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
405   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
406406   AM_RANGE(0x03f8, 0x03ff) AM_READWRITE8(serial_r,serial_w,0xffffffff)
407407
408408   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
r23786r23787
869869   MCFG_PCI_BUS_LEGACY_DEVICE(7, "voodoo_0", voodoo_0_pci_r, voodoo_0_pci_w)
870870   MCFG_PCI_BUS_LEGACY_DEVICE(18, NULL, cx5510_pci_r, cx5510_pci_w)
871871
872   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
873   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
872   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
873   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
874874
875875   /* video hardware */
876876   MCFG_3DFX_VOODOO_1_ADD("voodoo_0", STD_VOODOO_1_CLOCK, voodoo_intf)
trunk/src/mame/drivers/gamecstl.c
r23786r23787
345345   AM_IMPORT_FROM(pcat32_io_common)
346346   AM_RANGE(0x00e8, 0x00eb) AM_NOP
347347   AM_RANGE(0x00ec, 0x00ef) AM_NOP
348   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
348   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
349349   AM_RANGE(0x0300, 0x03af) AM_NOP
350350   AM_RANGE(0x03b0, 0x03df) AM_NOP
351351   AM_RANGE(0x0278, 0x027b) AM_WRITE(pnp_config_w)
352   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
352   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
353353   AM_RANGE(0x0a78, 0x0a7b) AM_WRITE(pnp_data_w)
354354   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
355355ADDRESS_MAP_END
r23786r23787
435435   MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
436436   MCFG_PCI_BUS_LEGACY_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w)
437437
438   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
439   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
438   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
439   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
440440
441441   /* video hardware */
442442   MCFG_SCREEN_ADD("screen", RASTER)
r23786r23787
469469   ROM_REGION(0x08100, "gfx1", 0)
470470   ROM_LOAD("cga.chr",     0x00000, 0x01000, BAD_DUMP CRC(42009069) SHA1(ed08559ce2d7f97f68b9f540bddad5b6295294dd))
471471
472   DISK_REGION( "ide:0:hdd" )
472   DISK_REGION( "ide:0:hdd:image" )
473473   DISK_IMAGE( "gamecstl", 0, SHA1(b431af3c42c48ba07972d77a3d24e60ee1e4359e) )
474474ROM_END
475475
r23786r23787
480480   ROM_REGION(0x08100, "gfx1", 0)
481481   ROM_LOAD("cga.chr",     0x00000, 0x01000, BAD_DUMP CRC(42009069) SHA1(ed08559ce2d7f97f68b9f540bddad5b6295294dd))
482482
483   DISK_REGION( "ide:0:hdd" )
483   DISK_REGION( "ide:0:hdd:image" )
484484   DISK_IMAGE( "gamecst2", 0, SHA1(14e1b311cb474801c7bdda3164a0c220fb102159) )
485485ROM_END
486486
trunk/src/mame/drivers/voyager.c
r23786r23787
248248   //AM_RANGE(0x00e8, 0x00eb) AM_NOP
249249   AM_RANGE(0x00e8, 0x00ef) AM_NOP //AMI BIOS write to this ports as delays between I/O ports operations sending al value -> NEWIODELAY
250250   AM_RANGE(0x0170, 0x0177) AM_NOP //To debug
251   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
251   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
252252   AM_RANGE(0x0200, 0x021f) AM_NOP //To debug
253253   AM_RANGE(0x0260, 0x026f) AM_NOP //To debug
254254   AM_RANGE(0x0278, 0x027b) AM_WRITENOP//AM_WRITE(pnp_config_w)
r23786r23787
267267   AM_RANGE(0x0378, 0x037f) AM_NOP //To debug
268268   // AM_RANGE(0x0300, 0x03af) AM_NOP
269269   // AM_RANGE(0x03b0, 0x03df) AM_NOP
270   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
270   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
271271   AM_RANGE(0x03f8, 0x03ff) AM_NOP // To debug Serial Port COM1:
272272   AM_RANGE(0x0a78, 0x0a7b) AM_WRITENOP//AM_WRITE(pnp_data_w)
273273   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
r23786r23787
480480
481481   MCFG_FRAGMENT_ADD( pcat_common )
482482
483   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
484   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
483   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
484   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
485485
486486   MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
487487   MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
r23786r23787
511511
512512   ROM_REGION( 0x800, "nvram", ROMREGION_ERASE00 )
513513
514   DISK_REGION( "ide:0:hdd" )
514   DISK_REGION( "ide:0:hdd:image" )
515515   DISK_IMAGE_READONLY( "voyager", 0, SHA1(8b94f2420f6abb40148e4ba6eed8819d8e85dbde))
516516ROM_END
517517
trunk/src/mame/drivers/zn.c
r23786r23787
1919#include "machine/7200fifo.h"
2020#include "machine/znsec.h"
2121#include "machine/zndip.h"
22#include "machine/ataintf.h"
2223#include "machine/idectrl.h"
2324#include "audio/taitosnd.h"
2425#include "sound/2610intf.h"
r23786r23787
8889   DECLARE_MACHINE_RESET(coh1000c);
8990   DECLARE_MACHINE_RESET(coh1000ta);
9091   DECLARE_MACHINE_RESET(coh1000tb);
91   DECLARE_MACHINE_RESET(coh1000w);
9292   DECLARE_MACHINE_RESET(coh1002e);
9393   DECLARE_MACHINE_RESET(bam2);
94   DECLARE_MACHINE_RESET(jdredd);
9594   DECLARE_MACHINE_RESET(coh1001l);
9695   DECLARE_MACHINE_RESET(coh1002v);
9796   DECLARE_MACHINE_RESET(coh1002m);
r23786r23787
13591358   AM_RANGE(0x1f000000, 0x1f1fffff) AM_ROM AM_REGION("roms", 0)
13601359   AM_RANGE(0x1f000000, 0x1f000003) AM_WRITENOP
13611360   AM_RANGE(0x1f7e8000, 0x1f7e8003) AM_NOP
1361   // 8/16
13621362   AM_RANGE(0x1f7e4030, 0x1f7e403f) AM_DEVREADWRITE8("ide", ide_controller_device, read_via_config, write_via_config, 0xffffffff)
1363   AM_RANGE(0x1f7e41f0, 0x1f7e41f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
1364   AM_RANGE(0x1f7e43f0, 0x1f7e43f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
1365   AM_RANGE(0x1f7f41f0, 0x1f7f41f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
1366   AM_RANGE(0x1f7f43f0, 0x1f7f43f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
1363   AM_RANGE(0x1f7e41f0, 0x1f7e41f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
1364   AM_RANGE(0x1f7e43f0, 0x1f7e43f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
1365   // 32
1366   AM_RANGE(0x1f7f41f0, 0x1f7f41f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
1367   AM_RANGE(0x1f7f43f0, 0x1f7f43f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
13671368
13681369   AM_IMPORT_FROM(zn_map)
13691370ADDRESS_MAP_END
13701371
1371MACHINE_RESET_MEMBER(zn_state,coh1000w)
1372{
1373   m_ide->reset();
1374}
1375
13761372static MACHINE_CONFIG_DERIVED( coh1000w, zn1_2mb_vram )
13771373   MCFG_CPU_MODIFY("maincpu")
13781374   MCFG_CPU_PROGRAM_MAP(coh1000w_map)
r23786r23787
13801376   MCFG_RAM_MODIFY("maincpu:ram")
13811377   MCFG_RAM_DEFAULT_SIZE("8M")
13821378
1383   MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000w )
1384
1385   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
1386   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("maincpu:irq", psxirq_device, intin10))
1379   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
1380   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("maincpu:irq", psxirq_device, intin10))
13871381   MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psx_dma_read_delegate( FUNC( zn_state::atpsx_dma_read ), (zn_state *) owner ) )
13881382   MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 5, psx_dma_write_delegate( FUNC( zn_state::atpsx_dma_write ), (zn_state *) owner ) )
13891383MACHINE_CONFIG_END
r23786r23787
19561950ADDRESS_MAP_END
19571951
19581952static ADDRESS_MAP_START(jdredd_map, AS_PROGRAM, 32, zn_state)
1959   AM_RANGE(0x1fbfff80, 0x1fbfff8f) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
1960   AM_RANGE(0x1fbfff90, 0x1fbfff9f) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
1953   AM_RANGE(0x1fbfff80, 0x1fbfff8f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs1, write_cs1, 0xffffffff)
1954   AM_RANGE(0x1fbfff90, 0x1fbfff9f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff)
19611955
19621956   AM_IMPORT_FROM(coh1000a_map)
19631957ADDRESS_MAP_END
19641958
1965MACHINE_RESET_MEMBER(zn_state,jdredd)
1966{
1967   m_ide->reset();
1968}
1969
19701959static MACHINE_CONFIG_DERIVED( coh1000a, zn1_2mb_vram )
19711960   MCFG_CPU_MODIFY("maincpu")
19721961   MCFG_CPU_PROGRAM_MAP(coh1000a_map)
r23786r23787
19861975   MCFG_DEVICE_MODIFY("gpu")
19871976   MCFG_PSXGPU_VBLANK_CALLBACK(vblank_state_delegate( FUNC( zn_state::jdredd_vblank ), (zn_state *) owner))
19881977
1989   MCFG_MACHINE_RESET_OVERRIDE(zn_state, jdredd)
1990
1991   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
1992   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("maincpu:irq", psxirq_device, intin10))
1978   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
1979   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("maincpu:irq", psxirq_device, intin10))
19931980MACHINE_CONFIG_END
19941981
19951982/*
r23786r23787
43994386   ROM_LOAD( "mtr-bam-a09.u31", 0x2400000, 0x400000, CRC(e4bd7cec) SHA1(794d10b15a22aeed89082f4db2f3cb94aa7d807d) )
44004387   ROM_LOAD( "mtr-bam-a10.u32", 0x2800000, 0x400000, CRC(37fd1fa0) SHA1(afe846a817e499c405a5fd4ad83094270640faf3) )
44014388
4402   DISK_REGION( "ide:0:hdd" )
4389   DISK_REGION( "ata:0:hdd:image" )
44034390   DISK_IMAGE("bam2", 0, SHA1(634d9a745a82c567fc4d7ce48e3570d88326c5f9) )
44044391ROM_END
44054392
r23786r23787
44234410   ROM_LOAD16_BYTE( "pr2_036.u17",  0x100001, 0x080000, CRC(3681516c) SHA1(714f73ea4ac190c36a6eb2308616a4aecabc4e69) )
44244411   ROM_LOAD16_BYTE( "pr2_036.u15",  0x100000, 0x080000, CRC(4b24bd54) SHA1(7f27cd524d10e5869aab6d4dc6a4217d049c475d) )
44254412
4426   DISK_REGION( "ide:0:hdd" )
4413   DISK_REGION( "ide:0:hdd:image" )
44274414   DISK_IMAGE( "primrag2", 0, SHA1(bc615068ddf4fd967f770ee01c02f285c052c4c5) )
44284415ROM_END
44294416
r23786r23787
44754462   ROM_LOAD16_BYTE( "j-dread.u36",  0x000001, 0x020000, CRC(37addbf9) SHA1(a4061a1ba9e230f080f0bfea69bf77efe9264a92) )
44764463   ROM_LOAD16_BYTE( "j-dread.u35",  0x000000, 0x020000, CRC(c1e17191) SHA1(82901439b1a51b9aadb4df4b9d944f26697a1460) )
44774464
4478   DISK_REGION( "ide:0:hdd" )
4465   DISK_REGION( "ata:0:hdd:image" )
44794466   DISK_IMAGE( "jdreddc", 0, SHA1(eee205f83e5f590f8baf36452c873d7063156bd0) )
44804467ROM_END
44814468
r23786r23787
44864473   ROM_LOAD16_BYTE( "j-dread.u36",  0x000001, 0x020000, CRC(37addbf9) SHA1(a4061a1ba9e230f080f0bfea69bf77efe9264a92) )
44874474   ROM_LOAD16_BYTE( "j-dread.u35",  0x000000, 0x020000, CRC(c1e17191) SHA1(82901439b1a51b9aadb4df4b9d944f26697a1460) )
44884475
4489   DISK_REGION( "ide:0:hdd" )
4476   DISK_REGION( "ide:0:hdd:image" )
44904477   DISK_IMAGE( "jdreddb", 0, SHA1(20f696fa6e1fbf97793bac2a794631c5dd4fb39a) )
44914478ROM_END
44924479
trunk/src/mame/drivers/queen.c
r23786r23787
236236   AM_IMPORT_FROM(pcat32_io_common)
237237   AM_RANGE(0x00e8, 0x00ef) AM_NOP
238238
239   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
239   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
240240   AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
241241   AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
242242   AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
243   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
243   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
244244
245245   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
246246ADDRESS_MAP_END
r23786r23787
273273   MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
274274   MCFG_PCI_BUS_LEGACY_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w)
275275
276   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
277   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
276   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
277   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
278278
279279   /* video hardware */
280280   MCFG_FRAGMENT_ADD( pcvideo_vga )
r23786r23787
291291//  ROM_LOAD16_BYTE( "trident_tgui9680_bios.bin", 0x0000, 0x4000, BAD_DUMP CRC(1eebde64) SHA1(67896a854d43a575037613b3506aea6dae5d6a19) )
292292//  ROM_CONTINUE(                                 0x0001, 0x4000 )
293293
294   DISK_REGION( "ide:0:hdd" )
294   DISK_REGION( "ide:0:hdd:image" )
295295   DISK_IMAGE( "pqiidediskonmodule", 0,SHA1(a56efcc711b1c5a2e63160b3088001a8c4fb56c2) )
296296ROM_END
297297
trunk/src/mame/drivers/chihiro.c
r23786r23787
365365#include "machine/pic8259.h"
366366#include "machine/pit8253.h"
367367#include "machine/idectrl.h"
368#include "machine/idehd.h"
368369#include "machine/naomigd.h"
369370#include "video/polynew.h"
370371#include "bitmap.h"
r23786r23787
26562657
26572658// ======================> ide_baseboard_device
26582659
2659class ide_baseboard_device : public ide_mass_storage_device
2660class ide_baseboard_device : public ata_mass_storage_device
26602661{
26612662public:
26622663   // construction/destruction
r23786r23787
26662667   virtual int  write_sector(UINT32 lba, const void *buffer);
26672668protected:
26682669   // device-level overrides
2669   virtual void device_start();
26702670   virtual void device_reset();
26712671};
26722672
r23786r23787
26822682//-------------------------------------------------
26832683
26842684ide_baseboard_device::ide_baseboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
2685   : ide_mass_storage_device(mconfig, IDE_BASEBOARD, "IDE Baseboard", tag, owner, clock, "ide_baseboard", __FILE__)
2685   : ata_mass_storage_device(mconfig, IDE_BASEBOARD, "IDE Baseboard", tag, owner, clock, "ide_baseboard", __FILE__)
26862686{
26872687}
26882688
26892689//-------------------------------------------------
2690//  device_start - device-specific startup
2691//-------------------------------------------------
2692
2693void ide_baseboard_device::device_start()
2694{
2695}
2696
2697//-------------------------------------------------
26982690//  device_reset - device-specific reset
26992691//-------------------------------------------------
27002692
27012693void ide_baseboard_device::device_reset()
27022694{
2695   ata_mass_storage_device::device_reset();
2696
27032697   m_num_cylinders=65535;
27042698   m_num_sectors=255;
27052699   m_num_heads=255;
r23786r23787
29512945   AM_RANGE(0x0020, 0x0023) AM_DEVREADWRITE8("pic8259_1", pic8259_device, read, write, 0xffffffff)
29522946   AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE8("pit8254", pit8254_device, read, write, 0xffffffff)
29532947   AM_RANGE(0x00a0, 0x00a3) AM_DEVREADWRITE8("pic8259_2", pic8259_device, read, write, 0xffffffff)
2954   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", bus_master_ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
2948   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", bus_master_ide_controller_device, read_cs0, write_cs0, 0xffffffff)
29552949   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
29562950   AM_RANGE(0x8000, 0x80ff) AM_READWRITE(dummy_r, dummy_w)
29572951   AM_RANGE(0xc000, 0xc0ff) AM_READWRITE(smbus_r, smbus_w)
r23786r23787
30042998   MCFG_PIC8259_ADD( "pic8259_2", DEVWRITELINE("pic8259_1", pic8259_device, ir2_w), GND, NULL )
30052999   MCFG_PIT8254_ADD( "pit8254", chihiro_pit8254_config )
30063000   MCFG_BUS_MASTER_IDE_CONTROLLER_ADD( "ide", ide_baseboard, NULL, "bb", true)
3007   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
3001   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
30083002   MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE("maincpu", AS_PROGRAM)
30093003
30103004   /* video hardware */
trunk/src/mame/drivers/pyson.c
r23786r23787
221221   PYSON_BIOS
222222
223223   ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
224   DISK_REGION( "ide:0:hdd" )
224   DISK_REGION( "ide:0:hdd:image" )
225225ROM_END
226226
227227ROM_START( wswe )
r23786r23787
235235   ROM_REGION(0x2000, "timekeeper", ROMREGION_ERASE00)
236236      ROM_LOAD( "m48t58y.u48",       0x000000, 0x002000, CRC(d4181cb5) SHA1(c5560d1ac043bfe2527fac3fb1989fa8fc53cf8a) )
237237
238   DISK_REGION( "ide:0:hdd" )
238   DISK_REGION( "ide:0:hdd:image" )
239239   DISK_IMAGE_READONLY( "c18jaa03", 0, SHA1(b47190aa38f1f3a499b817758e3f29fac54391bd) )
240240ROM_END
241241
r23786r23787
250250   ROM_REGION(0x2000, "timekeeper", ROMREGION_ERASE00)
251251      ROM_LOAD( "m48t58y.u48",       0x000000, 0x002000, CRC(76068de0) SHA1(5f75b88ad04871fb3799fe904658c87524bad94f) )
252252
253   DISK_REGION( "ide:0:hdd" )
253   DISK_REGION( "ide:0:hdd:image" )
254254   DISK_IMAGE_READONLY( "c27jaa03", 0, SHA1(9b2aa900711d88cf5effb3ba6be18726ea006ac4) )
255255ROM_END
256256
trunk/src/mame/drivers/taitotz.c
r23786r23787
174174#include "emu.h"
175175#include "cpu/powerpc/ppc.h"
176176#include "cpu/tlcs900/tlcs900.h"
177#include "machine/idectrl.h"
177#include "machine/ataintf.h"
178178#include "machine/nvram.h"
179179#include "video/polynew.h"
180180
r23786r23787
567567      m_iocpu(*this, "iocpu"),
568568      m_work_ram(*this, "work_ram"),
569569      m_mbox_ram(*this, "mbox_ram"),
570      m_ide(*this, "ide")
570      m_ata(*this, "ata")
571571   {
572572   }
573573
r23786r23787
575575   required_device<cpu_device> m_iocpu;
576576   required_shared_ptr<UINT64> m_work_ram;
577577   required_shared_ptr<UINT8>  m_mbox_ram;
578   required_device<ide_controller_device> m_ide;
578   required_device<ata_interface_device> m_ata;
579579
580580   DECLARE_READ64_MEMBER(ppc_common_r);
581581   DECLARE_WRITE64_MEMBER(ppc_common_w);
r23786r23787
21182118   {
21192119      if ((offset & 1) == 0)
21202120      {
2121         ide_cs0_latch_r = m_ide->read_cs0(space, reg, 0xffff);
2121         ide_cs0_latch_r = m_ata->read_cs0(space, reg, 0xffff);
21222122         return (ide_cs0_latch_r & 0xff);
21232123      }
21242124      else
r23786r23787
21312131      if (offset & 1)
21322132         fatalerror("tlcs_ide0_r: %02X, odd offset\n", offset);
21332133
2134      UINT8 d = m_ide->read_cs0(space, reg, 0xff);
2134      UINT8 d = m_ata->read_cs0(space, reg, 0xff);
21352135      if (reg == 7)
21362136         d &= ~0x2;      // Type Zero doesn't like the index bit. It's defined as vendor-specific, so it probably shouldn't be up...
21372137                     // The status check explicitly checks for 0x50 (drive ready, seek complete).
r23786r23787
21542154      {
21552155         ide_cs0_latch_w &= 0x00ff;
21562156         ide_cs0_latch_w |= (UINT16)(data) << 8;
2157         m_ide->write_cs0(space, reg, ide_cs0_latch_w, 0xffff);
2157         m_ata->write_cs0(space, reg, ide_cs0_latch_w, 0xffff);
21582158      }
21592159   }
21602160   else
21612161   {
21622162      if (offset & 1)
21632163         fatalerror("tlcs_ide0_w: %02X, %02X, odd offset\n", offset, data);
2164      m_ide->write_cs0(space, reg, data, 0xff);
2164      m_ata->write_cs0(space, reg, data, 0xff);
21652165   }
21662166}
21672167
r23786r23787
21742174
21752175   if ((offset & 1) == 0)
21762176   {
2177      UINT8 d = m_ide->read_cs1(space, reg, 0xff);
2177      UINT8 d = m_ata->read_cs1(space, reg, 0xff);
21782178      d &= ~0x2;      // Type Zero doesn't like the index bit. It's defined as vendor-specific, so it probably shouldn't be up...
21792179                  // The status check explicitly checks for 0x50 (drive ready, seek complete).
21802180      return d;
r23786r23787
21822182   else
21832183   {
21842184      //fatalerror("tlcs_ide1_r: %02X, odd offset\n", offset);
2185      UINT8 d = m_ide->read_cs1(space, reg, 0xff);
2185      UINT8 d = m_ata->read_cs1(space, reg, 0xff);
21862186      d &= ~0x2;
21872187      return d;
21882188   }
r23786r23787
22042204   {
22052205      ide_cs1_latch_w &= 0x00ff;
22062206      ide_cs1_latch_w |= (UINT16)(data) << 16;
2207      m_ide->write_cs1(space, reg, ide_cs1_latch_w, 0xffff);
2207      m_ata->write_cs1(space, reg, ide_cs1_latch_w, 0xffff);
22082208   }
22092209}
22102210
r23786r23787
25302530{
25312531   if (m_hdd_serial_number != NULL)
25322532   {
2533      UINT8 *identify_device = m_ide->identify_device_buffer(0);
2533      UINT8 *identify_device = m_ata->identify_device_buffer(0);
25342534
25352535      for (int i=0; i < 20; i++)
25362536      {
r23786r23787
25902590
25912591   MCFG_QUANTUM_TIME(attotime::from_hz(120))
25922592
2593   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
2594   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(taitotz_state, ide_interrupt))
2593   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
2594   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(taitotz_state, ide_interrupt))
25952595
25962596   MCFG_NVRAM_ADD_0FILL("nvram")
25972597
r23786r23787
27242724   ROM_REGION( 0x40000, "io_cpu", ROMREGION_ERASE00 )
27252725   ROM_REGION( 0x10000, "sound_cpu", ROMREGION_ERASE00 ) /* Internal ROM :( */
27262726   ROM_REGION( 0x500, "plds", ROMREGION_ERASE00 )
2727   DISK_REGION( "ide:0:hdd" )
2727   DISK_REGION( "ata:0:hdd:image" )
27282728ROM_END
27292729
27302730ROM_START( landhigh )
r23786r23787
27432743   ROM_LOAD( "e82-02.ic45", 0x117, 0x2dd, CRC(f581cff5) SHA1(468e0e6a3828f2dcda35c6d523154510f9c99db7) )
27442744   ROM_LOAD( "e68-06.ic24", 0x3f4, 0x100, NO_DUMP )
27452745
2746   DISK_REGION( "ide:0:hdd" )
2746   DISK_REGION( "ata:0:hdd:image" )
27472747   DISK_IMAGE( "landhigh", 0, SHA1(7cea4ea5c3899e6ac774a4eb12821f44541d9c9c) )
27482748ROM_END
27492749
r23786r23787
27582758   ROM_REGION( 0x10000, "sound_cpu", 0 ) /* Internal ROM :( */
27592759   ROM_LOAD( "e68-01.ic7", 0x000000, 0x010000, NO_DUMP )
27602760
2761   DISK_REGION( "ide:0:hdd" )
2761   DISK_REGION( "ata:0:hdd:image" )
27622762   DISK_IMAGE( "batlgear", 0, SHA1(eab283839ad3e0a3e6be11f6482570db334eacca) )
27632763ROM_END
27642764
r23786r23787
27732773   ROM_REGION( 0x10000, "sound_cpu", 0 ) /* Internal ROM :( */
27742774   ROM_LOAD( "e68-01.ic7", 0x000000, 0x010000, NO_DUMP )
27752775
2776   DISK_REGION( "ide:0:hdd" )
2776   DISK_REGION( "ata:0:hdd:image" )
27772777   DISK_IMAGE( "bg2_204j", 0, SHA1(7ac100fba39ae0b93980c0af2f0212a731106912) )
27782778ROM_END
27792779
r23786r23787
27882788   ROM_REGION( 0x10000, "sound_cpu", 0 ) /* Internal ROM :( */
27892789   ROM_LOAD( "e68-01.ic7", 0x000000, 0x010000, NO_DUMP )
27902790
2791   DISK_REGION( "ide:0:hdd" )
2791   DISK_REGION( "ata:0:hdd:image" )
27922792   DISK_IMAGE( "bg2_201j", 0, SHA1(542d12682bd0f95143368578461c6a4fcc492fcc) )
27932793ROM_END
27942794
r23786r23787
28122812   ROM_REGION( 0x20000, "oki2", 0 )
28132813   ROM_LOAD( "e74-08.ic8", 0x000000, 0x020000, CRC(ca5baccc) SHA1(4594b7a6232b912d698fff053f7e3f51d8e1bfb6) ) // located on the I/O PCB
28142814
2815   DISK_REGION( "ide:0:hdd" )
2815   DISK_REGION( "ata:0:hdd:image" )
28162816   DISK_IMAGE( "pwrshovl", 0, SHA1(360f63b39f645851c513b4644fb40601b9ba1412) )
28172817ROM_END
28182818
r23786r23787
28272827   ROM_REGION( 0x10000, "sound_cpu", 0 ) /* Internal ROM :( */
28282828   ROM_LOAD( "e68-01.ic7", 0x000000, 0x010000, NO_DUMP )
28292829
2830   DISK_REGION( "ide:0:hdd" )
2830   DISK_REGION( "ata:0:hdd:image" )
28312831   DISK_IMAGE( "raizpin", 0, SHA1(883ebcda03026df31da1cdb95af521e100c171ed) )
28322832ROM_END
28332833
trunk/src/mame/drivers/atlantis.c
r23786r23787
142142   MCFG_CPU_PROGRAM_MAP(main_map)
143143
144144
145   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
145   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
146146
147147   /* video hardware */
148148   MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r23786r23787
173173   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* 512k for R4310 code */
174174   ROM_LOAD( "skins_game_u4_boot_1.00.u4", 0x000000, 0x080000, CRC(0fe87720) SHA1(4b24abbe662a2d7b61e6a3f079e28b73605ba19f) )
175175
176   DISK_REGION( "ide:0:hdd" )
176   DISK_REGION( "ide:0:hdd:image" )
177177   DISK_IMAGE( "mwskins", 0, SHA1(5cb293a6fdb2478293f48ddfc93cdd018acb2bb5) )
178178ROM_END
179179
r23786r23787
181181   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* 512k for R4310 code */
182182   ROM_LOAD( "skins_game_u4_boot_1.00.u4", 0x000000, 0x080000, CRC(0fe87720) SHA1(4b24abbe662a2d7b61e6a3f079e28b73605ba19f) )
183183
184   DISK_REGION( "ide:0:hdd" )
184   DISK_REGION( "ide:0:hdd:image" )
185185   DISK_IMAGE( "mwskinsa", 0, SHA1(72497917b31156eb11a46bbcc6f22a254dcec044) )
186186ROM_END
187187
r23786r23787
189189   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* 512k for R4310 code */
190190   ROM_LOAD( "skins_game_u4_boot_1.00.u4", 0x000000, 0x080000, CRC(0fe87720) SHA1(4b24abbe662a2d7b61e6a3f079e28b73605ba19f) )
191191
192   DISK_REGION( "ide:0:hdd" )
192   DISK_REGION( "ide:0:hdd:image" )
193193   DISK_IMAGE( "mwskins104", 0, SHA1(6917f66718999c144c854795c5856bf5659b85fa) )
194194ROM_END
195195
trunk/src/mame/drivers/cobra.c
r23786r23787
314314#include "emu.h"
315315#include "cpu/powerpc/ppc.h"
316316#include "machine/pci.h"
317#include "machine/idectrl.h"
317#include "machine/ataintf.h"
318318#include "machine/timekpr.h"
319319#include "machine/jvshost.h"
320320#include "machine/jvsdev.h"
r23786r23787
609609      m_gfxcpu(*this, "gfxcpu"),
610610      m_gfx_pagetable(*this, "pagetable"),
611611      m_k001604(*this, "k001604"),
612      m_ide(*this, "ide")
612      m_ata(*this, "ata")
613613   {
614614   }
615615
r23786r23787
618618   required_device<cpu_device> m_gfxcpu;
619619   required_shared_ptr<UINT64> m_gfx_pagetable;
620620   required_device<k001604_device> m_k001604;
621   required_device<ide_controller_device> m_ide;
621   required_device<ata_interface_device> m_ata;
622622
623623   DECLARE_READ64_MEMBER(main_comram_r);
624624   DECLARE_WRITE64_MEMBER(main_comram_w);
r23786r23787
18191819{
18201820   mem_mask = ( mem_mask << 8 ) | ( mem_mask >> 8 );
18211821
1822   UINT32 data = m_ide->read_cs0(space, offset, mem_mask);
1822   UINT32 data = m_ata->read_cs0(space, offset, mem_mask);
18231823   data = ( data << 8 ) | ( data >> 8 );
18241824
18251825   return data;
r23786r23787
18301830   mem_mask = ( mem_mask << 8 ) | ( mem_mask >> 8 );
18311831   data = ( data << 8 ) | ( data >> 8 );
18321832
1833   m_ide->write_cs0(space, offset, data, mem_mask);
1833   m_ata->write_cs0(space, offset, data, mem_mask);
18341834}
18351835
18361836READ16_MEMBER(cobra_state::sub_ata1_r)
18371837{
18381838   mem_mask = ( mem_mask << 8 ) | ( mem_mask >> 8 );
18391839
1840   UINT32 data = m_ide->read_cs1(space, offset, mem_mask);
1840   UINT32 data = m_ata->read_cs1(space, offset, mem_mask);
18411841
18421842   return ( data << 8 ) | ( data >> 8 );
18431843}
r23786r23787
18471847   mem_mask = ( mem_mask << 8 ) | ( mem_mask >> 8 );
18481848   data = ( data << 8 ) | ( data >> 8 );
18491849
1850   m_ide->write_cs1(space, offset, data, mem_mask);
1850   m_ata->write_cs1(space, offset, data, mem_mask);
18511851}
18521852
18531853READ32_MEMBER(cobra_state::sub_comram_r)
r23786r23787
31633163{
31643164   m_sub_interrupt = 0xff;
31653165
3166   UINT8 *identify_device = m_ide->identify_device_buffer(0);
3166   UINT8 *identify_device = m_ata->identify_device_buffer(0);
31673167
31683168   // Cobra expects these settings or the BIOS fails
31693169   identify_device[51*2+0] = 0;           /* 51: PIO data transfer cycle timing mode */
r23786r23787
32043204   MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
32053205   MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, mpc106_pci_r, mpc106_pci_w)
32063206
3207   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
3208   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(cobra_state, ide_interrupt))
3207   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
3208   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(cobra_state, ide_interrupt))
32093209
32103210   /* video hardware */
32113211
r23786r23787
34873487
34883488   ROM_REGION(0x1000000, "rfsnd", ROMREGION_ERASE00)
34893489
3490   DISK_REGION( "ide:0:hdd" )
3490   DISK_REGION( "ata:0:hdd:image" )
34913491   DISK_IMAGE_READONLY( "645c04", 0, SHA1(c0aabe69f6eb4e4cf748d606ae50674297af6a04) )
34923492ROM_END
34933493
r23786r23787
35063506
35073507   ROM_REGION(0x1000000, "rfsnd", ROMREGION_ERASE00)
35083508
3509   DISK_REGION( "ide:0:hdd" )
3509   DISK_REGION( "ata:0:hdd:image" )
35103510   DISK_IMAGE_READONLY( "676a04", 0, SHA1(8e89d3e5099e871b99fccba13adaa3cf8a6b71f0) )
35113511ROM_END
35123512
trunk/src/mame/drivers/jaguar.c
r23786r23787
10901090   else if( offset >= 0x1f0/4 && offset < 0x1f8/4 )
10911091   {
10921092      if (ACCESSING_BITS_0_15)
1093         data |= m_ide->read_cs0_pc(space, (offset * 2) & 7, mem_mask);
1093         data |= m_ide->read_cs0(space, (offset * 2) & 7, mem_mask);
10941094      if (ACCESSING_BITS_16_31)
1095         data |= m_ide->read_cs0_pc(space, ((offset * 2) & 7) + 1, mem_mask >> 16) << 16;
1095         data |= m_ide->read_cs0(space, ((offset * 2) & 7) + 1, mem_mask >> 16) << 16;
10961096   }
10971097   else if( offset >= 0x3f0/4 && offset < 0x3f8/4 )
10981098   {
10991099      if (ACCESSING_BITS_0_15)
1100         data |= m_ide->read_cs1_pc(space, (offset * 2) & 7, mem_mask);
1100         data |= m_ide->read_cs1(space, (offset * 2) & 7, mem_mask);
11011101      if (ACCESSING_BITS_16_31)
1102         data |= m_ide->read_cs1_pc(space, ((offset * 2) & 7) + 1, mem_mask >> 16) << 16;
1102         data |= m_ide->read_cs1(space, ((offset * 2) & 7) + 1, mem_mask >> 16) << 16;
11031103   }
11041104
11051105   return data;
r23786r23787
11151115   else if( offset >= 0x1f0/4 && offset < 0x1f8/4 )
11161116   {
11171117      if (ACCESSING_BITS_0_15)
1118         m_ide->write_cs0_pc(space, (offset * 2) & 7, data, mem_mask);
1118         m_ide->write_cs0(space, (offset * 2) & 7, data, mem_mask);
11191119      if (ACCESSING_BITS_16_31)
1120         m_ide->write_cs0_pc(space, ((offset * 2) & 7) + 1, data >> 16, mem_mask >> 16);
1120         m_ide->write_cs0(space, ((offset * 2) & 7) + 1, data >> 16, mem_mask >> 16);
11211121   }
11221122   else if( offset >= 0x3f0/4 && offset < 0x3f8/4 )
11231123   {
11241124      if (ACCESSING_BITS_0_15)
1125         m_ide->write_cs1_pc(space, (offset * 2) & 7, data, mem_mask);
1125         m_ide->write_cs1(space, (offset * 2) & 7, data, mem_mask);
11261126      if (ACCESSING_BITS_16_31)
1127         m_ide->write_cs1_pc(space, ((offset * 2) & 7) + 1, data >> 16, mem_mask >> 16);
1127         m_ide->write_cs1(space, ((offset * 2) & 7) + 1, data >> 16, mem_mask >> 16);
11281128   }
11291129}
11301130
r23786r23787
16011601
16021602   MCFG_NVRAM_ADD_1FILL("nvram")
16031603
1604   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
1605   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(jaguar_state, external_int))
1604   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
1605   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(jaguar_state, external_int))
16061606
16071607   /* video hardware */
16081608   MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r23786r23787
16231623
16241624static MACHINE_CONFIG_DERIVED( cojagr3k_rom, cojagr3k )
16251625   MCFG_DEVICE_REMOVE("ide:0")
1626   MCFG_IDE_SLOT_ADD("ide:0", ide_devices, NULL, true)
1626   MCFG_ATA_SLOT_ADD("ide:0", ata_devices, NULL, true)
16271627MACHINE_CONFIG_END
16281628
16291629static MACHINE_CONFIG_DERIVED( cojag68k, cojagr3k )
r23786r23787
18971897   ROM_REGION16_BE( 0x1000, "waverom", 0 )
18981898   ROM_LOAD16_WORD("jagwave.rom", 0x0000, 0x1000, CRC(7a25ee5b) SHA1(58117e11fd6478c521fbd3fdbe157f39567552f0) )
18991899
1900   DISK_REGION( "ide:0:hdd" )
1900   DISK_REGION( "ide:0:hdd:image" )
19011901   DISK_IMAGE( "area51t", 0, SHA1(d2865cc7b1bb08a4393a72013a90e18d8a8f9860) )
19021902ROM_END
19031903
r23786r23787
19111911   ROM_REGION16_BE( 0x1000, "waverom", 0 )
19121912   ROM_LOAD16_WORD("jagwave.rom", 0x0000, 0x1000, CRC(7a25ee5b) SHA1(58117e11fd6478c521fbd3fdbe157f39567552f0) )
19131913
1914   DISK_REGION( "ide:0:hdd" )
1914   DISK_REGION( "ide:0:hdd:image" )
19151915   DISK_IMAGE( "area51", 0, SHA1(3b303bc37e206a6d7339352c869f050d04186f11) )
19161916ROM_END
19171917
r23786r23787
19251925   ROM_REGION16_BE( 0x1000, "waverom", 0 )
19261926   ROM_LOAD16_WORD("jagwave.rom", 0x0000, 0x1000, CRC(7a25ee5b) SHA1(58117e11fd6478c521fbd3fdbe157f39567552f0) )
19271927
1928   DISK_REGION( "ide:0:hdd" )
1928   DISK_REGION( "ide:0:hdd:image" )
19291929   DISK_IMAGE( "area51", 0, SHA1(3b303bc37e206a6d7339352c869f050d04186f11) )
19301930ROM_END
19311931
r23786r23787
19391939   ROM_REGION16_BE( 0x1000, "waverom", 0 )
19401940   ROM_LOAD16_WORD("jagwave.rom", 0x0000, 0x1000, CRC(7a25ee5b) SHA1(58117e11fd6478c521fbd3fdbe157f39567552f0) )
19411941
1942   DISK_REGION( "ide:0:hdd" )
1942   DISK_REGION( "ide:0:hdd:image" )
19431943   DISK_IMAGE( "maxforce", 0, SHA1(d54e7a8f3866bb2a1d28ae637e7c92ffa4dbe558) )
19441944ROM_END
19451945
r23786r23787
19541954   ROM_REGION16_BE( 0x1000, "waverom", 0 )
19551955   ROM_LOAD16_WORD("jagwave.rom", 0x0000, 0x1000, CRC(7a25ee5b) SHA1(58117e11fd6478c521fbd3fdbe157f39567552f0) )
19561956
1957   DISK_REGION( "ide:0:hdd" )
1957   DISK_REGION( "ide:0:hdd:image" )
19581958   DISK_IMAGE( "maxforce", 0, SHA1(d54e7a8f3866bb2a1d28ae637e7c92ffa4dbe558) )
19591959ROM_END
19601960
r23786r23787
19721972   ROM_REGION( 0x800, "user2", 0 ) /* 28C16 style eeprom, currently loaded but not used */
19731973   ROM_LOAD( "28c16.17z", 0x000, 0x800, CRC(1cdd9088) SHA1(4f01f02ff95f31ced87a3cdd7f171afd92551266) )
19741974
1975   DISK_REGION( "ide:0:hdd" )
1975   DISK_REGION( "ide:0:hdd:image" )
19761976   DISK_IMAGE( "maxforce", 0, SHA1(d54e7a8f3866bb2a1d28ae637e7c92ffa4dbe558) )
19771977ROM_END
19781978
r23786r23787
19871987   ROM_REGION16_BE( 0x1000, "waverom", 0 )
19881988   ROM_LOAD16_WORD("jagwave.rom", 0x0000, 0x1000, CRC(7a25ee5b) SHA1(58117e11fd6478c521fbd3fdbe157f39567552f0) )
19891989
1990   DISK_REGION( "ide:0:hdd" )
1990   DISK_REGION( "ide:0:hdd:image" )
19911991   DISK_IMAGE( "area51mx", 0, SHA1(5ff10f4e87094d4449eabf3de7549564ca568c7e) )
19921992ROM_END
19931993
r23786r23787
20022002   ROM_REGION16_BE( 0x1000, "waverom", 0 )
20032003   ROM_LOAD16_WORD("jagwave.rom", 0x0000, 0x1000, CRC(7a25ee5b) SHA1(58117e11fd6478c521fbd3fdbe157f39567552f0) )
20042004
2005   DISK_REGION( "ide:0:hdd" )
2005   DISK_REGION( "ide:0:hdd:image" )
20062006   DISK_IMAGE( "area51mx", 0, SHA1(5ff10f4e87094d4449eabf3de7549564ca568c7e) )
20072007ROM_END
20082008
r23786r23787
20172017   ROM_REGION16_BE( 0x1000, "waverom", 0 )
20182018   ROM_LOAD16_WORD("jagwave.rom", 0x0000, 0x1000, CRC(7a25ee5b) SHA1(58117e11fd6478c521fbd3fdbe157f39567552f0) )
20192019
2020   DISK_REGION( "ide:0:hdd" )
2020   DISK_REGION( "ide:0:hdd:image" )
20212021   DISK_IMAGE( "vcircle", 0, SHA1(bfa79c4cacdc9c2cd6362f62a23056b3e35a2034) )
20222022ROM_END
20232023
trunk/src/mame/drivers/quakeat.c
r23786r23787
9292static ADDRESS_MAP_START( quake_io, AS_IO, 32, quakeat_state )
9393   AM_IMPORT_FROM(pcat32_io_common)
9494   AM_RANGE(0x00e8, 0x00eb) AM_NOP
95//  AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
95//  AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
9696   AM_RANGE(0x0300, 0x03af) AM_NOP
9797   AM_RANGE(0x03b0, 0x03df) AM_NOP
9898//  AM_RANGE(0x0278, 0x027b) AM_WRITE(pnp_config_w)
99//  AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
99//  AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
100100//  AM_RANGE(0x0a78, 0x0a7b) AM_WRITE(pnp_data_w)
101101//  AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_device, read, write)
102102ADDRESS_MAP_END
trunk/src/mame/drivers/twinkle.c
r23786r23787
235235#include "machine/am53cf96.h"
236236#include "machine/rtc65271.h"
237237#include "machine/i2cmem.h"
238#include "machine/idectrl.h"
238#include "machine/ataintf.h"
239239#include "sound/spu.h"
240240#include "sound/cdda.h"
241241#include "sound/rf5c400.h"
r23786r23787
713713   // 250000 = write to initiate DMA?
714714   // 260000 = ???
715715   AM_RANGE(0x280000, 0x280fff) AM_READWRITE(shared_68k_r, shared_68k_w )
716   AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("ide", ide_controller_device, read_cs0, write_cs0)
716   AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs0, write_cs0)
717717   // 34000E = ???
718718   AM_RANGE(0x400000, 0x400fff) AM_DEVREADWRITE("rfsnd", rf5c400_device, rf5c400_r, rf5c400_w)
719719   AM_RANGE(0x800000, 0xffffff) AM_READWRITE(twinkle_waveram_r, twinkle_waveram_w )    // 8 MB window wave RAM
r23786r23787
839839   MCFG_AM53CF96_ADD("scsi:am53cf96")
840840   MCFG_AM53CF96_IRQ_HANDLER(DEVWRITELINE("^maincpu:irq", psxirq_device, intin10))
841841
842   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
843   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(twinkle_state, ide_interrupt))
842   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
843   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(twinkle_state, ide_interrupt))
844844
845845   MCFG_RTC65271_ADD("rtc", twinkle_rtc)
846846
r23786r23787
939939   DISK_REGION( "cdrom1" ) // video CD
940940   DISK_IMAGE_READONLY("863jaa04", 0, BAD_DUMP SHA1(8f6a0d2e191153032c9388b5298d8ee531b22a41) )
941941
942   DISK_REGION( "ide:0:hdd" )
942   DISK_REGION( "ata:0:hdd:image" )
943943   DISK_IMAGE_READONLY("c44jaa03", 0, SHA1(53e9bd25d1674a04aeec81c0224b4e4e44af802a) ) // was part of a 1st mix machine, but "c44" indicates 8th mix?
944944ROM_END
945945
r23786r23787
955955   DISK_REGION( "cdrom1" ) // video CD
956956   DISK_IMAGE_READONLY( "985jaa02", 0, NO_DUMP )
957957
958   DISK_REGION( "ide:0:hdd" )
958   DISK_REGION( "ata:0:hdd:image" )
959959   DISK_IMAGE_READONLY( "985jaahd", 0, NO_DUMP )
960960ROM_END
961961
r23786r23787
971971   DISK_REGION( "cdrom1" ) // video CD
972972   DISK_IMAGE_READONLY( "992jaa02", 0, NO_DUMP )
973973
974   DISK_REGION( "ide:0:hdd" )
974   DISK_REGION( "ata:0:hdd:image" )
975975   DISK_IMAGE_READONLY( "992jaahd", 0, NO_DUMP )
976976ROM_END
977977
r23786r23787
987987   DISK_REGION( "cdrom1" ) // video CD
988988   DISK_IMAGE_READONLY( "a03jaa02", 0, NO_DUMP )
989989
990   DISK_REGION( "ide:0:hdd" )
990   DISK_REGION( "ata:0:hdd:image" )
991991   DISK_IMAGE_READONLY( "a03jaahd", 0, NO_DUMP )
992992ROM_END
993993
r23786r23787
10031003   DISK_REGION( "cdrom1" ) // DVD
10041004   DISK_IMAGE_READONLY( "b4ujaa02", 0, NO_DUMP )
10051005
1006   DISK_REGION( "ide:0:hdd" )
1006   DISK_REGION( "ata:0:hdd:image" )
10071007   DISK_IMAGE_READONLY( "b4ujaahd", 0, NO_DUMP )
10081008ROM_END
10091009
r23786r23787
10191019   DISK_REGION( "cdrom1" ) // DVD
10201020   DISK_IMAGE_READONLY( "b44jaa02", 0, NO_DUMP )
10211021
1022   DISK_REGION( "ide:0:hdd" )
1022   DISK_REGION( "ata:0:hdd:image" )
10231023   DISK_IMAGE_READONLY( "b44jaahd", 0, NO_DUMP )
10241024ROM_END
10251025
r23786r23787
10351035   DISK_REGION( "cdrom1" ) // DVD
10361036   DISK_IMAGE_READONLY( "c44jaa02", 0, NO_DUMP )
10371037
1038   DISK_REGION( "ide:0:hdd" )
1038   DISK_REGION( "ata:0:hdd:image" )
10391039   DISK_IMAGE_READONLY( "c44jaahd", 0, NO_DUMP )
10401040ROM_END
10411041
r23786r23787
10511051   DISK_REGION( "cdrom1" ) // video CD
10521052   DISK_IMAGE_READONLY( "abmjaa02", 0, NO_DUMP )
10531053
1054   DISK_REGION( "ide:0:hdd" )
1054   DISK_REGION( "ata:0:hdd:image" )
10551055   DISK_IMAGE_READONLY( "abmjaahd", 0, NO_DUMP )
10561056ROM_END
10571057
r23786r23787
10671067   DISK_REGION( "cdrom1" ) // video CD
10681068   DISK_IMAGE_READONLY( "abmjaa02", 0, NO_DUMP )
10691069
1070   DISK_REGION( "ide:0:hdd" )
1070   DISK_REGION( "ata:0:hdd:image" )
10711071   DISK_IMAGE_READONLY( "abmjaahd", 0, NO_DUMP )
10721072ROM_END
10731073
r23786r23787
10831083   DISK_REGION( "cdrom1" ) // video CD
10841084   DISK_IMAGE_READONLY( "abmjaa02", 0, NO_DUMP )
10851085
1086   DISK_REGION( "ide:0:hdd" )
1086   DISK_REGION( "ata:0:hdd:image" )
10871087   DISK_IMAGE_READONLY( "abmjaahd", 0, NO_DUMP )
10881088ROM_END
10891089
trunk/src/mame/drivers/vegas.c
r23786r23787
14621462
14631463   UINT32 data = 0;
14641464   if (ACCESSING_BITS_0_15)
1465      data |= ide->read_cs0_pc(space, offset * 2, mem_mask);
1465      data |= ide->read_cs0(space, offset * 2, mem_mask);
14661466   if (ACCESSING_BITS_16_31)
1467      data |= ide->read_cs0_pc(space, (offset * 2) + 1, mem_mask >> 16) << 16;
1467      data |= ide->read_cs0(space, (offset * 2) + 1, mem_mask >> 16) << 16;
14681468
14691469   return data;
14701470}
r23786r23787
14751475   bus_master_ide_controller_device *ide = (bus_master_ide_controller_device *) device;
14761476
14771477   if (ACCESSING_BITS_0_15)
1478      ide->write_cs0_pc(space, offset * 2, data, mem_mask);
1478      ide->write_cs0(space, offset * 2, data, mem_mask);
14791479   if (ACCESSING_BITS_16_31)
1480      ide->write_cs0_pc(space, (offset * 2) + 1, data >> 16, mem_mask >> 16);
1480      ide->write_cs0(space, (offset * 2) + 1, data >> 16, mem_mask >> 16);
14811481}
14821482
14831483
r23786r23787
14871487
14881488   UINT32 data = 0;
14891489   if (ACCESSING_BITS_0_15)
1490      data |= ide->read_cs1_pc(space, (4/2) + (offset * 2), mem_mask);
1490      data |= ide->read_cs1(space, (4/2) + (offset * 2), mem_mask);
14911491   if (ACCESSING_BITS_16_31)
1492      data |= ide->read_cs1_pc(space, (4/2) + (offset * 2) + 1, mem_mask >> 16) << 16;
1492      data |= ide->read_cs1(space, (4/2) + (offset * 2) + 1, mem_mask >> 16) << 16;
14931493
14941494   return data;
14951495}
r23786r23787
15001500   bus_master_ide_controller_device *ide = (bus_master_ide_controller_device *) device;
15011501
15021502   if (ACCESSING_BITS_0_15)
1503      ide->write_cs1_pc(space, 6/2 + offset * 2, data, mem_mask);
1503      ide->write_cs1(space, 6/2 + offset * 2, data, mem_mask);
15041504   if (ACCESSING_BITS_16_31)
1505      ide->write_cs1_pc(space, 6/2 + (offset * 2) + 1, data >> 16, mem_mask >> 16);
1505      ide->write_cs1(space, 6/2 + (offset * 2) + 1, data >> 16, mem_mask >> 16);
15061506}
15071507
15081508
r23786r23787
22792279
22802280   MCFG_M48T37_ADD("timekeeper")
22812281
2282   MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
2283   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(vegas_state, ide_interrupt))
2282   MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
2283   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(vegas_state, ide_interrupt))
22842284   MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE("maincpu", AS_PROGRAM)
22852285
22862286   MCFG_SMC91C94_ADD("ethernet", ethernet_intf)
r23786r23787
23712371   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* EPROM 1.5 11/17/1998 */
23722372   ROM_LOAD( "legend15.bin", 0x000000, 0x80000, CRC(a8372d70) SHA1(d8cd4fd4d7007ee38bb58b5a818d0f83043d5a48) )
23732373
2374   DISK_REGION( "ide:0:hdd" )    /* Guts 1.5 1/14/1999 Game 1/14/1999 */
2374   DISK_REGION( "ide:0:hdd:image" )    /* Guts 1.5 1/14/1999 Game 1/14/1999 */
23752375   DISK_IMAGE( "gauntleg", 0, SHA1(66eb70e2fba574a7abe54be8bd45310654b24b08) )
23762376
23772377   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* Vegas SIO boot ROM */
r23786r23787
23832383   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* EPROM 1.3 9/25/1998 */
23842384   ROM_LOAD( "legend12.bin", 0x000000, 0x80000, CRC(34674c5f) SHA1(92ec1779f3ab32944cbd953b6e1889503a57794b) )
23852385
2386   DISK_REGION( "ide:0:hdd" )    /* Guts 1.4 10/22/1998 Main 10/23/1998 */
2386   DISK_REGION( "ide:0:hdd:image" )    /* Guts 1.4 10/22/1998 Main 10/23/1998 */
23872387   DISK_IMAGE( "gauntl12", 0, SHA1(c8208e3ce3b02a271dc6b089efa98dd996b66ce0) )
23882388
23892389   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* Vegas SIO boot ROM */
r23786r23787
23952395   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* EPROM 1.7 12/14/1999 */
23962396   ROM_LOAD( "gauntdl.bin", 0x000000, 0x80000, CRC(3d631518) SHA1(d7f5a3bc109a19c9c7a711d607ff87e11868b536) )
23972397
2398   DISK_REGION( "ide:0:hdd" )    /* Guts: 1.9 3/17/2000 Game 5/9/2000 */
2398   DISK_REGION( "ide:0:hdd:image" )    /* Guts: 1.9 3/17/2000 Game 5/9/2000 */
23992399   DISK_IMAGE( "gauntdl", 0, SHA1(ba3af48171e727c2f7232c06dcf8411cbcf14de8) )
24002400
24012401   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* Vegas SIO boot ROM */
r23786r23787
24072407   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* EPROM 1.7 12/14/1999 */
24082408   ROM_LOAD( "gauntdl.bin", 0x000000, 0x80000, CRC(3d631518) SHA1(d7f5a3bc109a19c9c7a711d607ff87e11868b536) )
24092409
2410   DISK_REGION( "ide:0:hdd" )    /* Guts: 1.9 3/17/2000 Game 3/19/2000 */
2410   DISK_REGION( "ide:0:hdd:image" )    /* Guts: 1.9 3/17/2000 Game 3/19/2000 */
24112411   DISK_IMAGE( "gauntd24", 0, SHA1(3e055794d23d62680732e906cfaf9154765de698) )
24122412
24132413   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* Vegas SIO boot ROM */
r23786r23787
24192419   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* EPROM 1.9 3/25/1999 */
24202420   ROM_LOAD( "warboot.v19", 0x000000, 0x80000, CRC(b0c095cd) SHA1(d3b8cccdca83f0ecb49aa7993864cfdaa4e5c6f0) )
24212421
2422   DISK_REGION( "ide:0:hdd" )    /* Guts 1.3 4/20/1999 Game 4/20/1999 */
2422   DISK_REGION( "ide:0:hdd:image" )    /* Guts 1.3 4/20/1999 Game 4/20/1999 */
24232423   DISK_IMAGE( "warfa", 0, SHA1(87f8a8878cd6be716dbd6c68fb1bc7f564ede484) )
24242424
24252425   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* Vegas SIO boot ROM */
r23786r23787
24312431   ROM_REGION32_LE( 0x80000, "user1", 0 )
24322432   ROM_LOAD( "tenthdeg.bio", 0x000000, 0x80000, CRC(1cd2191b) SHA1(a40c48f3d6a9e2760cec809a79a35abe762da9ce) )
24332433
2434   DISK_REGION( "ide:0:hdd" )    /* Guts 5/26/1998 Main 8/25/1998 */
2434   DISK_REGION( "ide:0:hdd:image" )    /* Guts 5/26/1998 Main 8/25/1998 */
24352435   DISK_IMAGE( "tenthdeg", 0, SHA1(41a1a045a2d118cf6235be2cc40bf16dbb8be5d1) )
24362436
24372437   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* Vegas SIO boot ROM */
r23786r23787
24432443   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* EPROM 2.6 4/22/1999 */
24442444   ROM_LOAD( "rbmain.bin", 0x000000, 0x80000, CRC(060e1aa8) SHA1(2a1027d209f87249fe143500e721dfde7fb5f3bc) )
24452445
2446   DISK_REGION( "ide:0:hdd" )    /* Guts 4/22/1999 Game 4/22/1999 */
2446   DISK_REGION( "ide:0:hdd:image" )    /* Guts 4/22/1999 Game 4/22/1999 */
24472447   DISK_IMAGE( "roadburn", 0, SHA1(a62870cceafa6357d7d3505aca250c3f16087566) )
24482448ROM_END
24492449
r23786r23787
24522452   ROM_REGION32_LE( 0x80000, "user1", 0 )
24532453   ROM_LOAD( "nbau27.100", 0x000000, 0x80000, CRC(ff5d620d) SHA1(8f07567929f40a2269a42495dfa9dd5edef688fe) )
24542454
2455   DISK_REGION( "ide:0:hdd" )
2455   DISK_REGION( "ide:0:hdd:image" )
24562456   DISK_IMAGE( "nbashowt", 0, SHA1(f7c56bc3dcbebc434de58034986179ae01127f87) )
24572457
24582458   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* Vegas SIO boot ROM */
r23786r23787
24652465   ROM_LOAD( "u27nflnba.bin", 0x000000, 0x80000, CRC(6a9bd382) SHA1(18b942df6af86ea944c24166dbe88148334eaff9) )
24662466//  ROM_LOAD( "bootnflnba.bin", 0x000000, 0x80000, CRC(3def7053) SHA1(8f07567929f40a2269a42495dfa9dd5edef688fe) )
24672467
2468   DISK_REGION( "ide:0:hdd" )
2468   DISK_REGION( "ide:0:hdd:image" )
24692469   DISK_IMAGE( "nbanfl", 0, SHA1(f60c627f85f1bf58f2ea674063736a1e516e7e9e) )
24702470
24712471   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* Vegas SIO boot ROM */
r23786r23787
24772477   ROM_REGION32_LE( 0x80000, "user1", 0 )
24782478   ROM_LOAD( "bootu27", 0x000000, 0x80000, CRC(c44550a2) SHA1(ad30f1c3382ff2f5902a4cbacbb1f0c4e37f42f9) )
24792479
2480   DISK_REGION( "ide:0:hdd" )
2480   DISK_REGION( "ide:0:hdd:image" )
24812481   DISK_IMAGE( "cartfury", 0, SHA1(4c5bc2803297ea9a191bbd8b002d0e46b4ae1563) )
24822482
24832483   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* ADSP-2105 data */
r23786r23787
24892489   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* EPROM 1.02 7/9/1999 */
24902490   ROM_LOAD( "sf2049.u27", 0x000000, 0x80000, CRC(174ba8fe) SHA1(baba83b811eca659f00514a008a86ef0ac9680ee) )
24912491
2492   DISK_REGION( "ide:0:hdd" )    /* Guts 1.03 9/3/1999 Game 9/8/1999 */
2492   DISK_REGION( "ide:0:hdd:image" )    /* Guts 1.03 9/3/1999 Game 9/8/1999 */
24932493   DISK_IMAGE( "sf2049", 0, SHA1(9e0661b8566a6c78d18c59c11cd3a6628d025405) )
24942494ROM_END
24952495
r23786r23787
24982498   ROM_REGION32_LE( 0x80000, "user1", 0 )
24992499   ROM_LOAD( "sf2049se.u27", 0x000000, 0x80000, CRC(da4ecd9c) SHA1(2574ff3d608ebcc59a63cf6dea13ee7650ae8921) )
25002500
2501   DISK_REGION( "ide:0:hdd" )
2501   DISK_REGION( "ide:0:hdd:image" )
25022502   DISK_IMAGE( "sf2049se", 0, SHA1(7b27a8ce2a953050ce267548bb7160b41f3e8054) )
25032503ROM_END
25042504
r23786r23787
25072507   ROM_REGION32_LE( 0x80000, "user1", 0 )
25082508   ROM_LOAD( "sf2049te.u27", 0x000000, 0x80000, CRC(cc7c8601) SHA1(3f37dbd1b32b3ac5caa300725468e8e426f0fb83) )
25092509
2510   DISK_REGION( "ide:0:hdd" )
2510   DISK_REGION( "ide:0:hdd:image" )
25112511   DISK_IMAGE( "sf2049te", 0, SHA1(625aa36436587b7bec3e7db1d19793b760e2ea51) )
25122512ROM_END
25132513
trunk/src/mame/drivers/qdrmfgp.c
r23786r23787
2323
2424#include "emu.h"
2525#include "cpu/m68000/m68000.h"
26#include "machine/idectrl.h"
26#include "machine/ataintf.h"
2727#include "sound/k054539.h"
2828#include "video/konicdev.h"
2929#include "machine/k053252.h"
r23786r23787
199199      }
200200   }
201201
202   return m_ide->read_cs0(space, offset, mem_mask);
202   return m_ata->read_cs0(space, offset, mem_mask);
203203}
204204
205205
r23786r23787
291291   AM_RANGE(0x880000, 0x881fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w)          /* vram */
292292   AM_RANGE(0x882000, 0x883fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w)          /* vram (mirror) */
293293   AM_RANGE(0x900000, 0x901fff) AM_READ(v_rom_r)                                               /* gfxrom through */
294   AM_RANGE(0xa00000, 0xa0000f) AM_DEVREADWRITE("ide", ide_controller_device, read_cs0, write_cs0) /* IDE control regs */
295   AM_RANGE(0xa40000, 0xa4000f) AM_DEVREADWRITE("ide", ide_controller_device, read_cs1, write_cs1) /* IDE status control reg */
294   AM_RANGE(0xa00000, 0xa0000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs0, write_cs0) /* IDE control regs */
295   AM_RANGE(0xa40000, 0xa4000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs1, write_cs1) /* IDE status control reg */
296296   AM_RANGE(0xc00000, 0xcbffff) AM_READWRITE(sndram_r, sndram_w)                               /* sound ram */
297297ADDRESS_MAP_END
298298
r23786r23787
314314   AM_RANGE(0x880000, 0x881fff) AM_READWRITE(gp2_vram_r, gp2_vram_w)                           /* vram */
315315   AM_RANGE(0x89f000, 0x8a0fff) AM_READWRITE(gp2_vram_mirror_r, gp2_vram_mirror_w)             /* vram (mirror) */
316316   AM_RANGE(0x900000, 0x901fff) AM_READ(v_rom_r)                                               /* gfxrom through */
317   AM_RANGE(0xa00000, 0xa0000f) AM_READ(gp2_ide_std_r) AM_DEVWRITE("ide", ide_controller_device, write_cs0) /* IDE control regs */
318   AM_RANGE(0xa40000, 0xa4000f) AM_DEVREADWRITE("ide", ide_controller_device, read_cs1, write_cs1) /* IDE status control reg */
317   AM_RANGE(0xa00000, 0xa0000f) AM_READ(gp2_ide_std_r) AM_DEVWRITE("ata", ata_interface_device, write_cs0) /* IDE control regs */
318   AM_RANGE(0xa40000, 0xa4000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs1, write_cs1) /* IDE status control reg */
319319   AM_RANGE(0xc00000, 0xcbffff) AM_READWRITE(sndram_r,sndram_w)                                /* sound ram */
320320ADDRESS_MAP_END
321321
r23786r23787
596596
597597   /* reset the IDE controller */
598598   m_gp2_irq_control = 0;
599   m_ide->reset();
600599}
601600
602601
r23786r23787
615614   MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp)
616615   MCFG_NVRAM_ADD_1FILL("nvram")
617616
618   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
619   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(qdrmfgp_state, ide_interrupt))
617   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
618   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(qdrmfgp_state, ide_interrupt))
620619
621620   /* video hardware */
622621   MCFG_SCREEN_ADD("screen", RASTER)
r23786r23787
651650   MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp2)
652651   MCFG_NVRAM_ADD_1FILL("nvram")
653652
654   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
655   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(qdrmfgp_state, gp2_ide_interrupt))
653   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
654   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(qdrmfgp_state, gp2_ide_interrupt))
656655
657656   /* video hardware */
658657   MCFG_SCREEN_ADD("screen", RASTER)
r23786r23787
697696   ROM_LOAD( "gq_460_a07.14h", 0x000000, 0x80000, CRC(67d8ea6b) SHA1(11af1b5a33de2a6e24823964d210bef193ecefe4) )
698697   ROM_LOAD( "gq_460_a06.12h", 0x080000, 0x80000, CRC(97ed5a77) SHA1(68600fd8d914451284cf181fb4bd5872860fb9ad) )
699698
700   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
699   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
701700   DISK_IMAGE( "gq460a08", 0, SHA1(2f142f986fa3c79d5c4102e800980d1706c35f75) )
702701ROM_END
703702
r23786r23787
714713   ROM_LOAD( "ge_557_a07.19h", 0x000000, 0x80000, CRC(7491e0c8) SHA1(6459ab5e7af052ef7a1c4ce01cd844c0f4319f2e) )
715714   ROM_LOAD( "ge_557_a08.19k", 0x080000, 0x80000, CRC(3da2b20c) SHA1(fdc2cdc27f3299f541944a78ce36ed33a7926056) )
716715
717   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
716   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
718717   DISK_IMAGE( "ge557a09", 0, SHA1(1ef8093b542fe0bf8240a5fd64e5af3839b6a04c) )
719718ROM_END
720719
trunk/src/mame/drivers/djmain.c
r23786r23787
6565
6666#include "emu.h"
6767#include "cpu/m68000/m68000.h"
68#include "machine/idectrl.h"
68#include "machine/ataintf.h"
6969#include "sound/k054539.h"
7070#include "video/konicdev.h"
7171#include "includes/djmain.h"
r23786r23787
416416   AM_RANGE(0x803800, 0x803fff) AM_READ(obj_rom_r)                     // OBJECT ROM readthrough (for POST)
417417   AM_RANGE(0xc00000, 0xc01fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_long_r, k056832_ram_long_w)  // VIDEO RAM (tilemap) (beatmania)
418418   AM_RANGE(0xc02000, 0xc02047) AM_WRITE(unknownc02000_w)                  // ??
419   AM_RANGE(0xd00000, 0xd0000f) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff) // IDE control regs (hiphopmania)
420   AM_RANGE(0xd40000, 0xd4000f) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff) // IDE status control reg (hiphopmania)
419   AM_RANGE(0xd00000, 0xd0000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff) // IDE control regs (hiphopmania)
420   AM_RANGE(0xd40000, 0xd4000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs1, write_cs1, 0xffffffff) // IDE status control reg (hiphopmania)
421421   AM_RANGE(0xe00000, 0xe01fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_long_r, k056832_ram_long_w)  // VIDEO RAM (tilemap) (hiphopmania)
422   AM_RANGE(0xf00000, 0xf0000f) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff) // IDE control regs (beatmania)
423   AM_RANGE(0xf40000, 0xf4000f) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff) // IDE status control reg (beatmania)
422   AM_RANGE(0xf00000, 0xf0000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff) // IDE control regs (beatmania)
423   AM_RANGE(0xf40000, 0xf4000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs1, write_cs1, 0xffffffff) // IDE status control reg (beatmania)
424424ADDRESS_MAP_END
425425
426426
r23786r23787
13541354
13551355void djmain_state::machine_start()
13561356{
1357   if (m_ide_master_password != NULL)
1358      m_ide->ide_set_master_password(0, m_ide_master_password);
1359   if (m_ide_user_password != NULL)
1360      m_ide->ide_set_user_password(0, m_ide_user_password);
1357   if (m_ata_master_password != NULL)
1358      m_ata->set_master_password(0, m_ata_master_password);
1359   if (m_ata_user_password != NULL)
1360      m_ata->set_user_password(0, m_ata_user_password);
13611361
13621362   save_item(NAME(m_sndram_bank));
13631363   save_item(NAME(m_pending_vb_int));
r23786r23787
13741374   m_sndram_bank = 0;
13751375   sndram_set_bank();
13761376
1377   /* reset the IDE controller */
1378   m_ide->reset();
1379
13801377   /* reset LEDs */
13811378   set_led_status(machine(), 0, 1);
13821379   set_led_status(machine(), 1, 1);
r23786r23787
14101407   MCFG_CPU_VBLANK_INT_DRIVER("screen", djmain_state,  vb_interrupt)
14111408
14121409
1413   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
1414   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(djmain_state, ide_interrupt))
1410   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
1411   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(djmain_state, ide_interrupt))
14151412
14161413   /* video hardware */
14171414   MCFG_SCREEN_ADD("screen", RASTER)
r23786r23787
14661463   ROM_LOAD16_BYTE( "753jaa09.25d", 0x100000, 0x80000, CRC(B50C3DBB) SHA1(6022ea249aad0793b2279699e68087b4bc9b4ef1) )
14671464   ROM_LOAD16_BYTE( "753jaa10.27d", 0x100001, 0x80000, CRC(391F4BFD) SHA1(791c9889ea3ce639bbfb87934a1cad9aa3c9ccde) )
14681465
1469   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1466   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
14701467   DISK_IMAGE( "753jaa11", 0, SHA1(2e70cf31a853322f29f99b6f292c187a2cf33015) ) /* ver 1.00 JA */
14711468   // There is an alternate image
14721469   //DISK_IMAGE( "753jaa11", 0, MD5(260c9b72f4a03055e3abad61c6225324) SHA1(2cc3e149744516bf2353a2b47d33bc9d2072b6c4) ) /* ver 1.00 JA */
r23786r23787
14911488   ROM_LOAD16_BYTE( "853jaa09.25d", 0x100000, 0x80000, CRC(8584E21E) SHA1(3d1ca6de00f9ac07bbe7cd1e67093cca7bf484bb) )
14921489   ROM_LOAD16_BYTE( "853jaa10.27d", 0x100001, 0x80000, CRC(9CB92D98) SHA1(6ace4492ba0b5a8f94a9e7b4f7126b31c6254637) )
14931490
1494   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1491   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
14951492   DISK_IMAGE( "853jaa11", 0, SHA1(9683ff8462491252b6eb2e5b3aa6496884c01506) ) /* ver 1.10 JA */
14961493
14971494   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
15141511   ROM_LOAD16_BYTE( "853jaa09.25d", 0x100000, 0x80000, CRC(8584E21E) SHA1(3d1ca6de00f9ac07bbe7cd1e67093cca7bf484bb) )
15151512   ROM_LOAD16_BYTE( "853jaa10.27d", 0x100001, 0x80000, CRC(9CB92D98) SHA1(6ace4492ba0b5a8f94a9e7b4f7126b31c6254637) )
15161513
1517   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1514   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
15181515   DISK_IMAGE( "853jaa11", 0, SHA1(9683ff8462491252b6eb2e5b3aa6496884c01506) ) /* ver 1.10 JA */
15191516
15201517   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
15371534   ROM_LOAD16_BYTE( "825jaa09.25d", 0x100000, 0x80000, CRC(D3E65669) SHA1(51abf452da60794fa47c05d11c08b203dde563ff) )
15381535   ROM_LOAD16_BYTE( "825jaa10.27d", 0x100001, 0x80000, CRC(44D184F3) SHA1(28f3ec33a29164a6531f53db071272ccf015f66d) )
15391536
1540   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1537   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
15411538   DISK_IMAGE( "825jaa11", 0, SHA1(048919977232bbce046406a7212586cf39b77cf2) ) /* ver 1.00 JA */
15421539
15431540   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
15601557   ROM_LOAD16_BYTE( "858jaa09.25d", 0x100000, 0x80000, CRC(0B4AD843) SHA1(c01e15053dd1975dc68db9f4e6da47062d8f9b54) )
15611558   ROM_LOAD16_BYTE( "858jaa10.27d", 0x100001, 0x80000, CRC(00B124EE) SHA1(435d28a327c2707833a8ddfe841104df65ffa3f8) )
15621559
1563   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1560   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
15641561   DISK_IMAGE( "858jaa11", 0, SHA1(bc590472046336a1000f29901fe3fd7b29747e47) ) /* ver 1.00 JA */
15651562
15661563   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
15831580   ROM_LOAD16_BYTE( "858uaa09.25d", 0x100000, 0x80000, CRC(99519886) SHA1(664f6bd953201a6e2fc123cb8b3facf72766107d) )
15841581   ROM_LOAD16_BYTE( "858uaa10.27d", 0x100001, 0x80000, CRC(20AA7145) SHA1(eeff87eb9a9864985d751f45e843ee6e73db8cfd) )
15851582
1586   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1583   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
15871584   DISK_IMAGE( "858jaa11", 0, SHA1(bc590472046336a1000f29901fe3fd7b29747e47) ) /* ver 1.00 JA */
15881585
15891586   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
16061603   ROM_LOAD16_BYTE( "847jab09.25d", 0x100000, 0x80000, CRC(2E4AC9FE) SHA1(bbd4c6e0c82fc0be88f851e901e5853b6bcf775f) )
16071604   ROM_LOAD16_BYTE( "847jab10.27d", 0x100001, 0x80000, CRC(C78516F5) SHA1(1adf5805c808dc55de14a9a9b20c3d2cf7bf414d) )
16081605
1609   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1606   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
16101607   DISK_IMAGE( "847jaa11", 0, SHA1(8cad631531b5616d6a4b0a99d988f4b525932dc7) ) /* ver 1.00 JA */
16111608
16121609   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
16291626   ROM_LOAD16_BYTE( "981jaa09.25d", 0x100000, 0x80000, CRC(D96D4E1C) SHA1(379aa4e82cd06490645f54dab1724c827108735d) )
16301627   ROM_LOAD16_BYTE( "981jaa10.27d", 0x100001, 0x80000, CRC(06BEE0E4) SHA1(6eea8614cb01e7079393b9976b6fd6a52c14e3c0) )
16311628
1632   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1629   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
16331630   DISK_IMAGE( "981jaa11", 0, SHA1(dc7353fa436d96ae174a58d3a38ca9928a63727f) ) /* ver 1.00 JA */
16341631
16351632   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
16521649   ROM_LOAD16_BYTE( "993jaa09.25d", 0x100000, 0x80000, CRC(E1A172DD) SHA1(42e850c055dc5bfccf6b6989f9f3a945fce13006) )
16531650   ROM_LOAD16_BYTE( "993jaa10.27d", 0x100001, 0x80000, CRC(9D113A2D) SHA1(eee94a5f7015c49aa630b8df0c8e9d137d238811) )
16541651
1655   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1652   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
16561653   DISK_IMAGE( "993hdda01", 0, SHA1(f5d4df1dd27ce6ee2d0897852342691d55b63bfb) )
16571654   // this image has not been verified
16581655   //  DISK_IMAGE( "993jaa11", 0, MD5(e26eb62d7cf3357585f5066da6063143) )  /* ver 1.00 JA */
r23786r23787
16771674   ROM_LOAD16_BYTE( "988jaa09.25d", 0x100000, 0x80000, CRC(8F3BAE7F) SHA1(c4dac14f6c7f75a2b19153e05bfe969e9eb4aca0) )
16781675   ROM_LOAD16_BYTE( "988jaa10.27d", 0x100001, 0x80000, CRC(248BF0EE) SHA1(d89205ed57e771401bfc2c24043d200ecbd0b7fc) )
16791676
1680   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1677   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
16811678   DISK_IMAGE( "988jaa11", 0, SHA1(12a0988c631dd3331e54b8417a9659402afe168b) ) /* ver 1.00 JA */
16821679
16831680   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
17001697   ROM_LOAD16_BYTE( "988uaa09.25d", 0x100000, 0x80000, CRC(C2AD6810) SHA1(706388c5acf6718297fd90e10f8a673463a0893b) )
17011698   ROM_LOAD16_BYTE( "988uaa10.27d", 0x100001, 0x80000, CRC(DAB0F3C9) SHA1(6fd899e753e32f60262c54ab8553c686c7ef28de) )
17021699
1703   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1700   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
17041701   DISK_IMAGE( "988jaa11", 0, SHA1(12a0988c631dd3331e54b8417a9659402afe168b) ) /* ver 1.00 JA */
17051702
17061703   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
17231720   ROM_LOAD16_BYTE( "995jaa09.25d", 0x100000, 0x80000, CRC(1510A9C2) SHA1(daf1ab26b7b6b0fe0123b3fbee68684157c2ce51) )
17241721   ROM_LOAD16_BYTE( "995jaa10.27d", 0x100001, 0x80000, CRC(F9E4E9F2) SHA1(fe91badf6b0baeea690d75399d8c66fabcf6d352) )
17251722
1726   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1723   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
17271724   DISK_IMAGE( "995jaa11", 0, SHA1(8fec3c4d97f64f48b9867230a97cda4347496075) ) /* ver 1.00 JA */
17281725
17291726   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
17461743   ROM_LOAD16_BYTE( "a05jaa09.25d", 0x100000, 0x80000, CRC(1504D62C) SHA1(3c31c6625bc089235a96fe21021239f2d0c0f6e1) )
17471744   ROM_LOAD16_BYTE( "a05jaa10.27d", 0x100001, 0x80000, CRC(99D75C36) SHA1(9599420863aa0a9492d3caeb03f8ac5fd4c3cdb2) )
17481745
1749   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1746   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
17501747   DISK_IMAGE( "a05jaa11", 0, SHA1(7ebc41cc3e9a0a922b49201b34e29201522eb726) ) /* ver 1.00 JA */
17511748
17521749   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
17691766   ROM_LOAD16_BYTE( "a21jaa09.25d", 0x100000, 0x80000, CRC(181E6F70) SHA1(82c7ca3068ace9a66b614ead4b90ea6fe4017d51) )
17701767   ROM_LOAD16_BYTE( "a21jaa10.27d", 0x100001, 0x80000, CRC(1AC33595) SHA1(3173bb8dc420487c4d427e779444a98aad37d51e) )
17711768
1772   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1769   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
17731770   DISK_IMAGE( "a21jaa11", 0, SHA1(ed0a07212a360e75934fc22c56265842cf0829b6) ) /* ver 1.00 JA */
17741771
17751772   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
17921789   ROM_LOAD16_BYTE( "b07jaa09.25d", 0x100000, 0x80000, CRC(2530CEDB) SHA1(94b38b4fe198b26a2ff4d99d2cb28a0f935fe940) )
17931790   ROM_LOAD16_BYTE( "b07jaa10.27d", 0x100001, 0x80000, CRC(6B75BA9C) SHA1(aee922adc3bc0296ae6e08e461b20a9e5e72a2df) )
17941791
1795   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1792   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
17961793   DISK_IMAGE( "b07jaa11", 0, SHA1(e4925494f0a801abb4d3aa6524c379eb445d8dff) ) /* ver 1.00 JA */
17971794   // this image has not been verified
17981795   //DISK_IMAGE( "b07jab11", 0, MD5(0e9440787ca69567792095085e2a3619) )    /* ver 1.00 JA */
r23786r23787
18171814   ROM_LOAD16_BYTE( "c01jaa09.25d", 0x100000, 0x80000, CRC(45CF93B1) SHA1(7c5082bcd1fe15761a0a965e25dda121904ff1bd) )
18181815   ROM_LOAD16_BYTE( "c01jaa10.27d", 0x100001, 0x80000, CRC(C9927749) SHA1(c2644877bda483e241381265e723ea8ab8357761) )
18191816
1820   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1817   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
18211818   DISK_IMAGE( "c01jaa11", 0, SHA1(0a53c4412a72a886f5fb98c12c529d056d625244) ) /* ver 1.00 JA */
18221819   // this image has not been verified
18231820   //DISK_IMAGE( "c01jaa11", 0, MD5(8bb7e6b6bc63cac8a4f2997307c25748) )    /* ver 1.00 JA */
r23786r23787
18421839   ROM_LOAD16_BYTE( "831jaa09.25d", 0x100000, 0x80000, CRC(AE7838D2) SHA1(4f8a6793065c6c1eb08161f65b1d6246987bf47e) )
18431840   ROM_LOAD16_BYTE( "831jaa10.27d", 0x100001, 0x80000, CRC(85173CB6) SHA1(bc4d86bf4654a9a0a58e624f77090854950f3993) )
18441841
1845   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1842   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
18461843   DISK_IMAGE( "831jhdda01", 0, SHA1(ef62d5fcc1a36235fc932e6ecef71dc845d1d72d) )
18471844
18481845   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
18671864   ROM_LOAD16_BYTE( "825jab09.25d", 0x100000, 0x80000, CRC(1407BA5D) SHA1(e7a0d190326589f4d94e83cb7c85dd4e91f4efad) )
18681865   ROM_LOAD16_BYTE( "825jab10.27d", 0x100001, 0x80000, CRC(2AFD0A10) SHA1(1b8b868ac5720bb1b376f4eb8952efb190257bda) )
18691866
1870   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1867   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
18711868   DISK_IMAGE( "825jab11", 0, MD5(f4360da10a932ba90e93469df7426d1d) SHA1(1) )  /* ver 1.01 JA */
18721869
18731870   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
18901887   ROM_LOAD16_BYTE( "803jaa09.25d", 0x100000, 0x80000, CRC(204D53EB) SHA1(349de147246b0ed08fb7e473d63e073b71fa30c9) )
18911888   ROM_LOAD16_BYTE( "803jaa10.27d", 0x100001, 0x80000, CRC(535A61A3) SHA1(b24c57601a7e3a349473af69114703133a46806d) )
18921889
1893   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1890   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
18941891   DISK_IMAGE( "803jaa11", 0, MD5(54a8ac87857d81740621c622e27736d7) )  /* ver 1.00 JA */
18951892
18961893   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
19131910   ROM_LOAD16_BYTE( "980jaa09.25d", 0x100000, 0x80000, CRC(1CB4D84E) SHA1(9669585c6a2825aeae6e47dd03458624b4c44721) )
19141911   ROM_LOAD16_BYTE( "980jaa10.27d", 0x100001, 0x80000, CRC(7776B87E) SHA1(662b7cd7cb4fb8f8bab240ef543bf9a593e23a03) )
19151912
1916   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1913   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
19171914   DISK_IMAGE( "980jaa11", 0, MD5(6e5cc17a6bc75cac0256192cc700215c) )  /* ver 1.00 JA */
19181915
19191916   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
19361933   ROM_LOAD16_BYTE( "970jba09.25d", 0x100000, 0x80000, CRC(5D2BDA52) SHA1(d03c135ac04437b54e4d267ae168fe7ebb9e5b65) )
19371934   ROM_LOAD16_BYTE( "970jba10.27d", 0x100001, 0x80000, CRC(EDC4A245) SHA1(30bbd7bf0299a064119c535abb9be69d725aa130) )
19381935
1939   DISK_REGION( "ide:0:hdd" )            /* IDE HARD DRIVE */
1936   DISK_REGION( "ata:0:hdd:image" )            /* IDE HARD DRIVE */
19401937   DISK_IMAGE( "970jba11", 0, MD5(1616905838fdb2b521d53499c6c2a7a4) )  /* ver 1.00 JA */
19411938
19421939   ROM_REGION( 0x1000000, "shared", ROMREGION_ERASE00 )        /* K054539 RAM */
r23786r23787
19511948
19521949DRIVER_INIT_MEMBER(djmain_state,beatmania)
19531950{
1954   m_ide_master_password = NULL;
1955   m_ide_user_password = NULL;
1951   m_ata_master_password = NULL;
1952   m_ata_user_password = NULL;
19561953}
19571954
19581955static const UINT8 beatmania_master_password[2 + 32] =
r23786r23787
19771974
19781975   DRIVER_INIT_CALL(beatmania);
19791976
1980   m_ide_master_password = beatmania_master_password;
1981   m_ide_user_password = hmcompmx_user_password;
1977   m_ata_master_password = beatmania_master_password;
1978   m_ata_user_password = hmcompmx_user_password;
19821979}
19831980
19841981DRIVER_INIT_MEMBER(djmain_state,bm4thmix)
r23786r23787
19941991
19951992   DRIVER_INIT_CALL(beatmania);
19961993
1997   m_ide_user_password = bm4thmix_user_password;
1994   m_ata_user_password = bm4thmix_user_password;
19981995}
19991996
20001997DRIVER_INIT_MEMBER(djmain_state,bm5thmix)
r23786r23787
20102007
20112008   DRIVER_INIT_CALL(beatmania);
20122009
2013   m_ide_master_password = beatmania_master_password;
2014   m_ide_user_password = bm5thmix_user_password;
2010   m_ata_master_password = beatmania_master_password;
2011   m_ata_user_password = bm5thmix_user_password;
20152012}
20162013
20172014DRIVER_INIT_MEMBER(djmain_state,bmclubmx)
r23786r23787
20272024
20282025   DRIVER_INIT_CALL(beatmania);
20292026
2030   m_ide_master_password = beatmania_master_password;
2031   m_ide_user_password = bmclubmx_user_password;
2027   m_ata_master_password = beatmania_master_password;
2028   m_ata_user_password = bmclubmx_user_password;
20322029}
20332030
20342031
r23786r23787
20452042
20462043   DRIVER_INIT_CALL(beatmania);
20472044
2048   m_ide_master_password = beatmania_master_password;
2049   m_ide_user_password = bmcompm2_user_password;
2045   m_ata_master_password = beatmania_master_password;
2046   m_ata_user_password = bmcompm2_user_password;
20502047}
20512048
20522049DRIVER_INIT_MEMBER(djmain_state,hmcompm2)
r23786r23787
20622059
20632060   DRIVER_INIT_CALL(beatmania);
20642061
2065   m_ide_master_password = beatmania_master_password;
2066   m_ide_user_password = hmcompm2_user_password;
2062   m_ata_master_password = beatmania_master_password;
2063   m_ata_user_password = hmcompm2_user_password;
20672064}
20682065
20692066DRIVER_INIT_MEMBER(djmain_state,bmdct)
r23786r23787
20792076
20802077   DRIVER_INIT_CALL(beatmania);
20812078
2082   m_ide_master_password = beatmania_master_password;
2083   m_ide_user_password = bmdct_user_password;
2079   m_ata_master_password = beatmania_master_password;
2080   m_ata_user_password = bmdct_user_password;
20842081}
20852082
20862083DRIVER_INIT_MEMBER(djmain_state,bmcorerm)
r23786r23787
20962093
20972094   DRIVER_INIT_CALL(beatmania);
20982095
2099   m_ide_master_password = beatmania_master_password;
2100   m_ide_user_password = bmcorerm_user_password;
2096   m_ata_master_password = beatmania_master_password;
2097   m_ata_user_password = bmcorerm_user_password;
21012098}
21022099
21032100DRIVER_INIT_MEMBER(djmain_state,bm6thmix)
r23786r23787
21132110
21142111   DRIVER_INIT_CALL(beatmania);
21152112
2116   m_ide_master_password = beatmania_master_password;
2117   m_ide_user_password = bm6thmix_user_password;
2113   m_ata_master_password = beatmania_master_password;
2114   m_ata_user_password = bm6thmix_user_password;
21182115}
21192116
21202117DRIVER_INIT_MEMBER(djmain_state,bm7thmix)
r23786r23787
21302127
21312128   DRIVER_INIT_CALL(beatmania);
21322129
2133   m_ide_master_password = beatmania_master_password;
2134   m_ide_user_password = bm7thmix_user_password;
2130   m_ata_master_password = beatmania_master_password;
2131   m_ata_user_password = bm7thmix_user_password;
21352132}
21362133
21372134DRIVER_INIT_MEMBER(djmain_state,bmfinal)
r23786r23787
21472144
21482145   DRIVER_INIT_CALL(beatmania);
21492146
2150   m_ide_master_password = beatmania_master_password;
2151   m_ide_user_password = bmfinal_user_password;
2147   m_ata_master_password = beatmania_master_password;
2148   m_ata_user_password = bmfinal_user_password;
21522149}
21532150
21542151
trunk/src/mame/drivers/iteagle.c
r23786r23787
8484
8585#include "emu.h"
8686#include "cpu/mips/mips3.h"
87#include "machine/idectrl.h"
87#include "machine/ataintf.h"
8888#include "video/voodoo.h"
8989
9090class iteagle_state : public driver_device
r23786r23787
199199   MCFG_CPU_CONFIG(r4310_config)
200200   MCFG_CPU_PROGRAM_MAP(main_map)
201201
202   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
203   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(iteagle_state, ide_interrupt))
202   MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
203   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(iteagle_state, ide_interrupt))
204204
205205   /* video hardware */
206206   MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r23786r23787
258258ROM_START( iteagle )
259259   EAGLE_BIOS
260260
261   DISK_REGION( "ide:0:hdd" )
261   DISK_REGION( "ata:0:hdd:image" )
262262ROM_END
263263
264264ROM_START( gtfore04 )
265265   EAGLE_BIOS
266266
267   DISK_REGION( "ide:0:hdd" )
267   DISK_REGION( "ata:0:hdd:image" )
268268   DISK_IMAGE( "gt2004", 0, SHA1(739a52d6ce13bb6ac7a543ee0e8086fb66be19b9) )
269269ROM_END
270270
271271ROM_START( gtfore05 )
272272   EAGLE_BIOS
273273
274   DISK_REGION( "ide:0:hdd" )
274   DISK_REGION( "ata:0:hdd:image" )
275275   DISK_IMAGE( "gt2005", 0, SHA1(d8de569d8cf97b5aaada10ce896eb3c75f1b37f1) )
276276ROM_END
277277
trunk/src/mame/drivers/maygayep.c
r23786r23787
42644264   */
42654265
42664266#define EP_PHARO_HDD \
4267   DISK_REGION( "ide" ) \
4267   DISK_REGION( "ata:0:hdd:image" ) \
42684268   DISK_IMAGE( "ep_pharo", 0, SHA1(daf56705178bb2b6f3547418a98c361478702aed) )
42694269
42704270
trunk/src/mame/drivers/seattle.c
r23786r23787
17781778   /* note that blitz times out if we don't have this cycle stealing */
17791779   if (offset == 6/2)
17801780      m_maincpu->eat_cycles(100);
1781   return m_ide->read_cs1_pc(space, offset, mem_mask);
1781   return m_ide->read_cs1(space, offset, mem_mask);
17821782}
17831783
17841784static ADDRESS_MAP_START( seattle_map, AS_PROGRAM, 32, seattle_state )
17851785   ADDRESS_MAP_UNMAP_HIGH
17861786   AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("rambase") // wg3dh only has 4MB; sfrush, blitz99 8MB
17871787   AM_RANGE(0x08000000, 0x08ffffff) AM_DEVREAD_LEGACY("voodoo", voodoo_r) AM_WRITE(seattle_voodoo_w)
1788   AM_RANGE(0x0a0001f0, 0x0a0001f7) AM_DEVREADWRITE16("ide", bus_master_ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
1789   AM_RANGE(0x0a0003f0, 0x0a0003f7) AM_READ16(seattle_ide_r, 0xffffffff) AM_DEVWRITE16("ide", bus_master_ide_controller_device, write_cs1_pc, 0xffffffff)
1788   AM_RANGE(0x0a0001f0, 0x0a0001f7) AM_DEVREADWRITE16("ide", bus_master_ide_controller_device, read_cs0, write_cs0, 0xffffffff)
1789   AM_RANGE(0x0a0003f0, 0x0a0003f7) AM_READ16(seattle_ide_r, 0xffffffff) AM_DEVWRITE16("ide", bus_master_ide_controller_device, write_cs1, 0xffffffff)
17901790   AM_RANGE(0x0a00040c, 0x0a00040f) AM_NOP                     // IDE-related, but annoying
17911791   AM_RANGE(0x0a000f00, 0x0a000f07) AM_DEVREADWRITE("ide", bus_master_ide_controller_device, ide_bus_master32_r, ide_bus_master32_w)
17921792   AM_RANGE(0x0c000000, 0x0c000fff) AM_READWRITE(galileo_r, galileo_w)
r23786r23787
25352535
25362536   MCFG_NVRAM_ADD_1FILL("nvram")
25372537
2538   MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
2539   MCFG_IDE_CONTROLLER_IRQ_HANDLER(WRITELINE(seattle_state, ide_interrupt))
2538   MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
2539   MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(seattle_state, ide_interrupt))
25402540   MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE("maincpu", AS_PROGRAM)
25412541
25422542   MCFG_3DFX_VOODOO_1_ADD("voodoo", STD_VOODOO_1_CLOCK, voodoo_intf)
r23786r23787
26282628   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* Boot Code Version L1.2 (10/8/96) */
26292629   ROM_LOAD( "wg3dh_12.u32", 0x000000, 0x80000, CRC(15e4cea2) SHA1(72c0db7dc53ce645ba27a5311b5ce803ad39f131) )
26302630
2631   DISK_REGION( "ide:0:hdd" )    /* Hard Drive Version 1.3 (Guts 10/15/96, Main 10/15/96) */
2631   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive Version 1.3 (Guts 10/15/96, Main 10/15/96) */
26322632   DISK_IMAGE( "wg3dh", 0, SHA1(4fc6f25d7f043d9bcf8743aa8df1d9be3cbc375b) )
26332633
26342634   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* ADSP-2115 data Version L1.1 */
r23786r23787
26402640   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* Boot Code Version 1.0ce 7/2/97 */
26412641   ROM_LOAD( "mace10ce.u32", 0x000000, 0x80000, CRC(7a50b37e) SHA1(33788835f84a9443566c80bee9f20a1691490c6d) )
26422642
2643   DISK_REGION( "ide:0:hdd" )    /* Hard Drive Version 1.0B 6/10/97 (Guts 7/2/97, Main 7/2/97) */
2643   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive Version 1.0B 6/10/97 (Guts 7/2/97, Main 7/2/97) */
26442644   DISK_IMAGE( "mace", 0, SHA1(96ec8d3ff5dd894e21aa81403bcdbeba44bb97ea) )
26452645
26462646   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* ADSP-2115 data Version L1.1, Labeled as Version 1.0 */
r23786r23787
26522652   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* Boot Code Version ??? 5/7/97 */
26532653   ROM_LOAD( "maceboot.u32", 0x000000, 0x80000, CRC(effe3ebc) SHA1(7af3ca3580d6276ffa7ab8b4c57274e15ee6bcbb) )
26542654
2655   DISK_REGION( "ide:0:hdd" )    /* Hard Drive Version 1.0a (Guts 6/9/97, Main 5/12/97) */
2655   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive Version 1.0a (Guts 6/9/97, Main 5/12/97) */
26562656   DISK_IMAGE( "macea", 0, BAD_DUMP SHA1(9bd4a60627915d71932cab24f89c48ea21f4c1cb) )
26572657
26582658   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* ADSP-2115 data Version L1.1 */
r23786r23787
26732673   ROM_LOAD32_WORD( "sfrush.u53",  0x800000, 0x200000, CRC(71f8ddb0) SHA1(c24bef801f43bae68fda043c4356e8cf1298ca97) )
26742674   ROM_LOAD32_WORD( "sfrush.u49",  0x800002, 0x200000, CRC(dfb0a54c) SHA1(ed34f9485f7a7e5bb73bf5c6428b27548e12db12) )
26752675
2676   DISK_REGION( "ide:0:hdd" )    /* Hard Drive Version L1.06 */
2676   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive Version L1.06 */
26772677   DISK_IMAGE( "sfrush", 0, SHA1(e2db0270a707fb2115207f988d5751081d6b4994) )
26782678ROM_END
26792679
r23786r23787
26912691   ROM_LOAD32_WORD( "audio.u53",  0x800000, 0x200000, CRC(51c89a14) SHA1(6bc62bcda224040a4596d795132874828011a038) )
26922692   ROM_LOAD32_WORD( "audio.u49",  0x800002, 0x200000, CRC(e6b684d3) SHA1(1f5bab7fae974cecc8756dd23e3c7aa2cf6e7dc7) )
26932693
2694   DISK_REGION( "ide:0:hdd" )    /* Hard Drive Version 1.2 */
2694   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive Version 1.2 */
26952695   DISK_IMAGE( "sfrushrk", 0, SHA1(e763f26aca67ebc17fe8b8df4fba91d492cf7837) )
26962696ROM_END
26972697
r23786r23787
27002700   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* Boot Code Version 1.2 (2/18/98) */
27012701   ROM_LOAD( "caspd1_2.u32", 0x000000, 0x80000, CRC(0a235e4e) SHA1(b352f10fad786260b58bd344b5002b6ea7aaf76d) )
27022702
2703   DISK_REGION( "ide:0:hdd" )    /* Release version 2.1a (4/17/98) (Guts 1.25 4/17/98, Main 4/17/98) */
2703   DISK_REGION( "ide:0:hdd:image" )    /* Release version 2.1a (4/17/98) (Guts 1.25 4/17/98, Main 4/17/98) */
27042704   DISK_IMAGE( "calspeed", 0, SHA1(08d411c591d4b8bbdd6437ea80d01c4cec8516f8) )
27052705
27062706   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* ADSP-2115 data Version 1.02 */
r23786r23787
27122712   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* Boot Code Version 1.2 (2/18/98) */
27132713   ROM_LOAD( "caspd1_2.u32", 0x000000, 0x80000, CRC(0a235e4e) SHA1(b352f10fad786260b58bd344b5002b6ea7aaf76d) )
27142714
2715   DISK_REGION( "ide:0:hdd" )    /* Release version 1.0r7a (3/4/98) (Guts 3/3/98, Main 1/19/98) */
2715   DISK_REGION( "ide:0:hdd:image" )    /* Release version 1.0r7a (3/4/98) (Guts 3/3/98, Main 1/19/98) */
27162716   DISK_IMAGE( "calspeda", 0, SHA1(6b1c3a7530195ef7309b06a651b01c8b3ece92c6) )
27172717
27182718   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* ADSP-2115 data Version 1.02 */
r23786r23787
27242724   ROM_REGION32_LE( 0x80000, "user1", 0 )
27252725   ROM_LOAD( "vtrxboot.bin", 0x000000, 0x80000, CRC(ee487a6c) SHA1(fb9efda85047cf615f24f7276a9af9fd542f3354) )
27262726
2727   DISK_REGION( "ide:0:hdd" )
2727   DISK_REGION( "ide:0:hdd:image" )
27282728   DISK_IMAGE( "vaportrx", 0, SHA1(fe53ca7643d2ed2745086abb7f2243c69678cab1) )
27292729
27302730   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* ADSP-2115 data Version 1.02 */
r23786r23787
27362736   ROM_REGION32_LE( 0x80000, "user1", 0 )
27372737   ROM_LOAD( "vtrxboot.bin", 0x000000, 0x80000, CRC(ee487a6c) SHA1(fb9efda85047cf615f24f7276a9af9fd542f3354) )
27382738
2739   DISK_REGION( "ide:0:hdd" ) /* Guts: Apr 10 1998 11:03:14  Main: Apr 10 1998 11:27:44 */
2739   DISK_REGION( "ide:0:hdd:image" ) /* Guts: Apr 10 1998 11:03:14  Main: Apr 10 1998 11:27:44 */
27402740   DISK_IMAGE( "vaportrp", 0, SHA1(6c86637c442ebd6994eee8c0ae0dce343c35dbe9) )
27412741
27422742   ROM_REGION16_LE( 0x10000, "dcs", 0 )    /* ADSP-2115 data Version 1.02 */
r23786r23787
27512751   ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Seattle System Boot ROM Version 0.1i Apr 14 1997  14:52:53 */
27522752   ROM_LOAD( "biofreak.u32", 0x000000, 0x80000, CRC(cefa00bb) SHA1(7e171610ede1e8a448fb8d175f9cb9e7d549de28) )
27532753
2754   DISK_REGION( "ide:0:hdd" ) /* Build Date 12/11/97 */
2754   DISK_REGION( "ide:0:hdd:image" ) /* Build Date 12/11/97 */
27552755   DISK_IMAGE( "biofreak", 0, SHA1(711241642f92ded8eaf20c418ea748989183fe10) )
27562756ROM_END
27572757
r23786r23787
27632763   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* Boot Code Version 1.2 */
27642764   ROM_LOAD( "blitz1_2.u32", 0x000000, 0x80000, CRC(38dbecf5) SHA1(7dd5a5b3baf83a7f8f877ff4cd3f5e8b5201b36f) )
27652765
2766   DISK_REGION( "ide:0:hdd" )    /* Hard Drive Version 1.21 */
2766   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive Version 1.21 */
27672767   DISK_IMAGE( "blitz", 0, SHA1(9131c7888e89b3c172780156ed3fe1fe46f78b0a) )
27682768ROM_END
27692769
r23786r23787
27752775   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* Boot Code Version 1.1 */
27762776   ROM_LOAD( "blitz1_1.u32", 0x000000, 0x80000, CRC(8163ce02) SHA1(89b432d8879052f6c5534ee49599f667f50a010f) )
27772777
2778   DISK_REGION( "ide:0:hdd" )    /* Hard Drive Version 1.21 */
2778   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive Version 1.21 */
27792779   DISK_IMAGE( "blitz", 0, SHA1(9131c7888e89b3c172780156ed3fe1fe46f78b0a) )
27802780ROM_END
27812781
r23786r23787
27872787   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* Boot Code Version 1.0 */
27882788   ROM_LOAD( "bltz9910.u32", 0x000000, 0x80000, CRC(777119b2) SHA1(40d255181c2f3a787919c339e83593fd506779a5) )
27892789
2790   DISK_REGION( "ide:0:hdd" )    /* Hard Drive Version 1.30 */
2790   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive Version 1.30 */
27912791   DISK_IMAGE( "blitz99", 0, SHA1(19877e26ffce81dd525031e9e2b4f83ff982e2d9) )
27922792ROM_END
27932793
r23786r23787
27992799   ROM_REGION32_LE( 0x80000, "user1", 0 )  /* Boot Code Version 1.4 */
28002800   ROM_LOAD( "bltz2k14.u32", 0x000000, 0x80000, CRC(ac4f0051) SHA1(b8125c17370db7bfd9b783230b4ef3d5b22a2025) )
28012801
2802   DISK_REGION( "ide:0:hdd" )    /* Hard Drive Version 1.5 */
2802   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive Version 1.5 */
28032803   DISK_IMAGE( "blitz2k", 0, SHA1(e89b7fbd4b4a9854d47ae97493e0afffbd1f69e7) )
28042804ROM_END
28052805
r23786r23787
28112811   ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Rom Version 1.9 */
28122812   ROM_LOAD( "carnevil1_9.u32", 0x000000, 0x80000, CRC(82c07f2e) SHA1(fa51c58022ce251c53bad12fc6ffadb35adb8162) )
28132813
2814   DISK_REGION( "ide:0:hdd" )    /* Hard Drive v1.0.3  Diagnostics v3.4 / Feb 1 1999 16:00:07 */
2814   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive v1.0.3  Diagnostics v3.4 / Feb 1 1999 16:00:07 */
28152815   DISK_IMAGE( "carnevil", 0, SHA1(5cffb0de63ad36eb01c5951bab04d3f8a9e23e16) )
28162816ROM_END
28172817
r23786r23787
28232823   ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Rom Version 1.9 */
28242824   ROM_LOAD( "carnevil1_9.u32", 0x000000, 0x80000, CRC(82c07f2e) SHA1(fa51c58022ce251c53bad12fc6ffadb35adb8162) )
28252825
2826   DISK_REGION( "ide:0:hdd" )    /* Hard Drive v1.0.1  Diagnostics v3.3 / Oct 20 1998 11:44:41 */
2826   DISK_REGION( "ide:0:hdd:image" )    /* Hard Drive v1.0.1  Diagnostics v3.3 / Oct 20 1998 11:44:41 */
28272827   DISK_IMAGE( "carnevi1", 0, BAD_DUMP SHA1(94532727512280930a100fe473bf3a938fe2d44f) )
28282828ROM_END
28292829
r23786r23787
28352835   ROM_REGION32_LE( 0x80000, "user1", 0 ) /* Boot Rom Version 9. */
28362836   ROM_LOAD( "hyprdrve.u32", 0x000000, 0x80000, CRC(3e18cb80) SHA1(b18cc4253090ee1d65d72a7ec0c426ed08c4f238) )
28372837
2838   DISK_REGION( "ide:0:hdd" )    /* Version 1.40  Oct 23 1998  15:16:00 */
2838   DISK_REGION( "ide:0:hdd:image" )    /* Version 1.40  Oct 23 1998  15:16:00 */
28392839   DISK_IMAGE( "hyprdriv", 0, SHA1(8cfa343797575b32f46cc24150024be48963a03e) )
28402840ROM_END
28412841
trunk/src/mame/drivers/globalvr.c
r23786r23787
9090
9191
9292ROM_START( hyperv2 )
93   DISK_REGION( "ide:0:hdd" )
93   DISK_REGION( "ide:0:hdd:image" )
9494   DISK_IMAGE_READONLY( "hyperv2_pqi_6-12-02", 0, SHA1(44473f2950c0e108acb0961579a46f4765e379f7) )
9595ROM_END
9696
r23786r23787
9898   ROM_REGION( 0x168000, "bootdisk", 0 ) /* Win98/DOS bootdisk from folder made into .IMA with WinImage */
9999   ROM_LOAD( "hyperv2_pqi_9-30-01.ima", 0x000000, 0x168000, CRC(964d8e00) SHA1(efefcfcca85328df8445a4ba482cd7d5b584ae05) )
100100
101   DISK_REGION( "ide:0:hdd" )
101   DISK_REGION( "ide:0:hdd:image" )
102102   DISK_IMAGE_READONLY( "hyperv2_pqi_9-30-01", 0, SHA1(7a8c201a83a45609d0242a20441891f5204d7dd1) )
103103ROM_END
104104
105105ROM_START( gvrxpsys )
106   DISK_REGION( "ide:0:hdd" )
106   DISK_REGION( "ide:0:hdd:image" )
107107   DISK_IMAGE_READONLY( "globalvr_xp_system", 0, SHA1(83a784fe038acbd651544b3fa3b17ceb11bbeeab) )
108108ROM_END
109109
110110ROM_START( gvrxpsup )
111   DISK_REGION( "ide:0:hdd" )
111   DISK_REGION( "ide:0:hdd:image" )
112112   DISK_IMAGE_READONLY( "vr_xp_system_6-11-2002", 0, SHA1(c2b586a0106632bcaddc1df8077ee9c226537d2b) )
113113ROM_END
114114
115115ROM_START( bhead2k )
116   DISK_REGION( "ide:0:hdd" )
116   DISK_REGION( "ide:0:hdd:image" )
117117   DISK_IMAGE_READONLY( "beachhead2000_5-27-2003", 0, SHA1(d4473a7fb9820f2e517a1e0609ec9e12f326fc06) )
118118ROM_END
119119
120120ROM_START( bhead2ka )
121   DISK_REGION( "ide:0:hdd" )
121   DISK_REGION( "ide:0:hdd:image" )
122122   DISK_IMAGE_READONLY( "beachhead2000_9-16-2001", 0, SHA1(2151c0aff39a5279adb422e97f00c610d21c48e8) )
123123ROM_END
124124
125125ROM_START( bhead2k2 )
126   DISK_REGION( "ide:0:hdd" )
126   DISK_REGION( "ide:0:hdd:image" )
127127   DISK_IMAGE_READONLY( "beachhead2002_5-27-2003", 0, SHA1(c58e62363387b76b4f03432b543498d4560d27a9) )
128128ROM_END
129129
130130ROM_START( bhead2k3 )
131   DISK_REGION( "ide:0:hdd" )
131   DISK_REGION( "ide:0:hdd:image" )
132132   DISK_IMAGE_READONLY( "beachhead2003desertwar_5-27-2003", 0, SHA1(fed23a6496836050eb1d4f69b91da09adbd9d973) )
133133ROM_END
134134
135135ROM_START( nfsug )
136   DISK_REGION( "ide:0:hdd" )
136   DISK_REGION( "ide:0:hdd:image" )
137137   DISK_IMAGE_READONLY( "nfsug1_1-disc1", 0, SHA1(25a9f0606ac3909bd7c4f3f3a59c6782e3c84712) )
138138
139139   DISK_REGION( "drive_1" )
trunk/src/mame/drivers/savquest.c
r23786r23787
552552
553553   AM_RANGE(0x00e8, 0x00ef) AM_NOP
554554
555   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
555   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
556556   AM_RANGE(0x0378, 0x037b) AM_READWRITE(parallel_port_r, parallel_port_w)
557557   AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
558558   AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
559559   AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
560   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
560   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
561561
562562   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
563563
r23786r23787
619619   MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
620620   MCFG_PCI_BUS_LEGACY_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w)
621621
622   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
623   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
622   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
623   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
624624
625625   /* video hardware */
626626   MCFG_FRAGMENT_ADD( pcvideo_s3_vga )
r23786r23787
636636   ROM_LOAD( "s3_764.bin",   0x000000, 0x008000, BAD_DUMP CRC(4f10aac7) SHA1(c77b3f11cc15679121314823588887dd547cd715) )
637637   ROM_IGNORE( 0x8000 )
638638
639   DISK_REGION( "ide:0:hdd" )
639   DISK_REGION( "ide:0:hdd:image" )
640640   DISK_IMAGE( "savquest", 0, SHA1(b7c8901172b66706a7ab5f5c91e6912855153fa9) )
641641ROM_END
642642
trunk/src/mame/drivers/photoply.c
r23786r23787
4848static ADDRESS_MAP_START( photoply_io, AS_IO, 32, photoply_state )
4949   AM_IMPORT_FROM(pcat32_io_common)
5050   AM_RANGE(0x00e8, 0x00eb) AM_NOP
51   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
51   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
5252   AM_RANGE(0x0278, 0x027f) AM_RAM //parallel port 2
5353   AM_RANGE(0x0378, 0x037f) AM_RAM //parallel port
5454   //AM_RANGE(0x03bc, 0x03bf) AM_RAM //parallel port 3
5555   AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
5656   AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
5757   AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
58   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
58   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
5959ADDRESS_MAP_END
6060
6161#define AT_KEYB_HELPER(bit, text, key1) \
r23786r23787
123123
124124   MCFG_GFXDECODE( photoply )
125125
126   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
127   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
126   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
127   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
128128
129129   MCFG_FRAGMENT_ADD( pcvideo_vga )
130130MACHINE_CONFIG_END
r23786r23787
143143   ROM_REGION(0x8000, "video_bios", 0 )
144144   ROM_LOAD("vga.bin", 0x000000, 0x8000, CRC(7a859659) SHA1(ff667218261969c48082ec12aa91088a01b0cb2a) )
145145
146   DISK_REGION( "ide:0:hdd" )
146   DISK_REGION( "ide:0:hdd:image" )
147147   DISK_IMAGE( "pp201", 0, SHA1(23e1940d485d19401e7d0ad912ddad2cf2ea10b4) )
148148ROM_END
149149
trunk/src/mame/drivers/midqslvr.c
r23786r23787
372372   AM_IMPORT_FROM(pcat32_io_common)
373373   AM_RANGE(0x00e8, 0x00ef) AM_NOP
374374
375   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
375   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
376376   AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
377377   AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
378378   AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
379   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
379   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
380380
381381   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
382382ADDRESS_MAP_END
r23786r23787
418418   MCFG_PCI_BUS_LEGACY_DEVICE( 0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
419419   MCFG_PCI_BUS_LEGACY_DEVICE(31, NULL, intel82371ab_pci_r, intel82371ab_pci_w)
420420
421   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
422   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
421   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
422   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
423423
424424   /* video hardware */
425425   MCFG_FRAGMENT_ADD( pcvideo_vga )
r23786r23787
434434//  ROM_LOAD16_BYTE( "trident_tgui9680_bios.bin", 0x0000, 0x4000, BAD_DUMP CRC(1eebde64) SHA1(67896a854d43a575037613b3506aea6dae5d6a19) )
435435//  ROM_CONTINUE(                                 0x0001, 0x4000 )
436436
437   DISK_REGION( "ide:0:hdd" )
437   DISK_REGION( "ide:0:hdd:image" )
438438   DISK_IMAGE( "offrthnd", 0, SHA1(d88f1c5b75361a1e310565a8a5a09c674a4a1a22) )
439439ROM_END
440440
r23786r23787
446446//  ROM_LOAD16_BYTE( "trident_tgui9680_bios.bin", 0x0000, 0x4000, BAD_DUMP CRC(1eebde64) SHA1(67896a854d43a575037613b3506aea6dae5d6a19) )
447447//  ROM_CONTINUE(                                 0x0001, 0x4000 )
448448
449   DISK_REGION( "ide:0:hdd" )
449   DISK_REGION( "ide:0:hdd:image" )
450450   DISK_IMAGE( "hydro", 0,  SHA1(d481d178782943c066b41764628a419cd55f676d) )
451451ROM_END
452452
r23786r23787
458458//  ROM_LOAD16_BYTE( "trident_tgui9680_bios.bin", 0x0000, 0x4000, BAD_DUMP CRC(1eebde64) SHA1(67896a854d43a575037613b3506aea6dae5d6a19) )
459459//  ROM_CONTINUE(                                 0x0001, 0x4000 )
460460
461   DISK_REGION( "ide:0:hdd" )
461   DISK_REGION( "ide:0:hdd:image" )
462462   DISK_IMAGE( "arctthnd", 0,  SHA1(f4373e57c3f453ac09c735b5d8d99ff811416a23) )
463463ROM_END
464464
r23786r23787
471471//  ROM_LOAD16_BYTE( "trident_tgui9680_bios.bin", 0x0000, 0x4000, BAD_DUMP CRC(1eebde64) SHA1(67896a854d43a575037613b3506aea6dae5d6a19) )
472472//  ROM_CONTINUE(                                 0x0001, 0x4000 )
473473
474   DISK_REGION( "ide:0:hdd" )
474   DISK_REGION( "ide:0:hdd:image" )
475475   DISK_IMAGE( "uarctict", 0, SHA1(8557a1d7ae8dc41c879350cb1c228f4c27a0dd09) )
476476ROM_END
477477
trunk/src/mame/drivers/calchase.c
r23786r23787
409409   //AM_RANGE(0x00e8, 0x00eb) AM_NOP
410410   AM_RANGE(0x00e8, 0x00ef) AM_NOP //AMI BIOS write to this ports as delays between I/O ports operations sending al value -> NEWIODELAY
411411   AM_RANGE(0x0170, 0x0177) AM_NOP //To debug
412   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff)
412   AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
413413   AM_RANGE(0x0200, 0x021f) AM_NOP //To debug
414414   AM_RANGE(0x0260, 0x026f) AM_NOP //To debug
415415   AM_RANGE(0x0278, 0x027b) AM_WRITENOP//AM_WRITE(pnp_config_w)
r23786r23787
428428   AM_RANGE(0x0378, 0x037f) AM_NOP //To debug
429429   // AM_RANGE(0x0300, 0x03af) AM_NOP
430430   // AM_RANGE(0x03b0, 0x03df) AM_NOP
431   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff)
431   AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
432432   AM_RANGE(0x03f8, 0x03ff) AM_NOP // To debug Serial Port COM1:
433433   AM_RANGE(0x0a78, 0x0a7b) AM_WRITENOP//AM_WRITE(pnp_data_w)
434434   AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
r23786r23787
644644
645645   MCFG_FRAGMENT_ADD( pcat_common )
646646
647   MCFG_IDE_CONTROLLER_ADD("ide", ide_devices, "hdd", NULL, true)
648   MCFG_IDE_CONTROLLER_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
647   MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
648   MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
649649
650650   MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
651651   MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
r23786r23787
696696   ROM_REGION( 0x800, "nvram", 0 )
697697   ROM_LOAD( "ds1220y_nv.bin", 0x000, 0x800, CRC(7912c070) SHA1(b4c55c7ca76bcd8dad1c4b50297233349ae02ed3) )
698698
699   DISK_REGION( "ide:0:hdd" )
699   DISK_REGION( "ide:0:hdd:image" )
700700   DISK_IMAGE_READONLY( "calchase", 0,BAD_DUMP SHA1(6ae51a9b3f31cf4166322328a98c0235b0874eb3) )
701701ROM_END
702702
trunk/src/mame/drivers/taitogn.c
r23786r23787
795795ROM_START(raycris)
796796   TAITOGNET_BIOS
797797
798   DISK_REGION( "pccard:ataflash" )
798   DISK_REGION( "pccard:ataflash:image" )
799799   DISK_IMAGE( "raycris", 0, SHA1(015cb0e6c4421cc38809de28c4793b4491386aee))
800800ROM_END
801801
r23786r23787
803803ROM_START(gobyrc)
804804   TAITOGNET_BIOS
805805
806   DISK_REGION( "pccard:ataflash" )
806   DISK_REGION( "pccard:ataflash:image" )
807807   DISK_IMAGE( "gobyrc", 0, SHA1(0bee1f495fc8b033fd56aad9260ae94abb35eb58))
808808ROM_END
809809
810810ROM_START(rcdego)
811811   TAITOGNET_BIOS
812812
813   DISK_REGION( "pccard:ataflash" )
813   DISK_REGION( "pccard:ataflash:image" )
814814   DISK_IMAGE( "rcdego", 0, SHA1(9e177f2a3954cfea0c8c5a288e116324d10f5dd1))
815815ROM_END
816816
817817ROM_START(chaoshea)
818818   TAITOGNET_BIOS
819819
820   DISK_REGION( "pccard:ataflash" )
820   DISK_REGION( "pccard:ataflash:image" )
821821   DISK_IMAGE( "chaosheat", 0, SHA1(c13b7d7025eee05f1f696d108801c7bafb3f1356))
822822ROM_END
823823
824824ROM_START(chaosheaj)
825825   TAITOGNET_BIOS
826826
827   DISK_REGION( "pccard:ataflash" )
827   DISK_REGION( "pccard:ataflash:image" )
828828   DISK_IMAGE( "chaosheatj", 0, SHA1(2f211ac08675ea8ec33c7659a13951db94eaa627))
829829ROM_END
830830
r23786r23787
832832ROM_START(flipmaze)
833833   TAITOGNET_BIOS
834834
835   DISK_REGION( "pccard:ataflash" )
835   DISK_REGION( "pccard:ataflash:image" )
836836   DISK_IMAGE( "flipmaze", 0, SHA1(423b6c06f4f2d9a608ce20b61a3ac11687d22c40) )
837837ROM_END
838838
r23786r23787
840840ROM_START(spuzbobl)
841841   TAITOGNET_BIOS
842842
843   DISK_REGION( "pccard:ataflash" )
843   DISK_REGION( "pccard:ataflash:image" )
844844   DISK_IMAGE( "spuzbobl", 0, SHA1(1b1c72fb7e5656021485fefaef8f2ba48e2b4ea8))
845845ROM_END
846846
847847ROM_START(spuzboblj)
848848   TAITOGNET_BIOS
849849
850   DISK_REGION( "pccard:ataflash" )
850   DISK_REGION( "pccard:ataflash:image" )
851851   DISK_IMAGE( "spuzbobj", 0, SHA1(dac433cf88543d2499bf797d7406b82ae4338726))
852852ROM_END
853853
854854ROM_START(soutenry)
855855   TAITOGNET_BIOS
856856
857   DISK_REGION( "pccard:ataflash" )
857   DISK_REGION( "pccard:ataflash:image" )
858858   DISK_IMAGE( "soutenry", 0, SHA1(9204d0be833d29f37b8cd3fbdf09da69b622254b))
859859ROM_END
860860
861861ROM_START(shanghss)
862862   TAITOGNET_BIOS
863863
864   DISK_REGION( "pccard:ataflash" )
864   DISK_REGION( "pccard:ataflash:image" )
865865   DISK_IMAGE( "shanghss", 0, SHA1(7964f71ec5c81d2120d83b63a82f97fbad5a8e6d))
866866ROM_END
867867
868868ROM_START(sianniv)
869869   TAITOGNET_BIOS
870870
871   DISK_REGION( "pccard:ataflash" )
871   DISK_REGION( "pccard:ataflash:image" )
872872   DISK_IMAGE( "sianniv", 0, SHA1(1e08b813190a9e1baf29bc16884172d6c8da7ae3))
873873ROM_END
874874
875875ROM_START(kollon)
876876   TAITOGNET_BIOS
877877
878   DISK_REGION( "pccard:ataflash" )
878   DISK_REGION( "pccard:ataflash:image" )
879879   DISK_IMAGE( "kollon", 0, SHA1(d8ea5b5b0ee99004b16ef89883e23de6c7ddd7ce))
880880ROM_END
881881
r23786r23787
883883   TAITOGNET_BIOS
884884   ROM_DEFAULT_BIOS( "v2" )
885885
886   DISK_REGION( "pccard:ataflash" )
886   DISK_REGION( "pccard:ataflash:image" )
887887   DISK_IMAGE( "kollonc", 0, SHA1(ce62181659701cfb8f7c564870ab902be4d8e060)) /* Original Taito Compact Flash version */
888888ROM_END
889889
890890ROM_START(shikigam)
891891   TAITOGNET_BIOS
892892
893   DISK_REGION( "pccard:ataflash" )
893   DISK_REGION( "pccard:ataflash:image" )
894894   DISK_IMAGE( "shikigam", 0, SHA1(fa49a0bc47f5cb7c30d7e49e2c3696b21bafb840))
895895ROM_END
896896
r23786r23787
900900ROM_START(otenamih)
901901   TAITOGNET_BIOS
902902
903   DISK_REGION( "pccard:ataflash" )
903   DISK_REGION( "pccard:ataflash:image" )
904904   DISK_IMAGE( "otenamih", 0, SHA1(b3babe3a1876c43745616ee1e7d87276ce7dad0b) )
905905ROM_END
906906
r23786r23787
908908ROM_START(psyvaria)
909909   TAITOGNET_BIOS
910910
911   DISK_REGION( "pccard:ataflash" )
911   DISK_REGION( "pccard:ataflash:image" )
912912   DISK_IMAGE( "psyvaria", 0,  SHA1(b981a42a10069322b77f7a268beae1d409b4156d))
913913ROM_END
914914
915915ROM_START(psyvarrv)
916916   TAITOGNET_BIOS
917917
918   DISK_REGION( "pccard:ataflash" )
918   DISK_REGION( "pccard:ataflash:image" )
919919   DISK_IMAGE( "psyvarrv", 0, SHA1(277c4f52502bcd7acc1889840962ec80d56465f3))
920920ROM_END
921921
922922ROM_START(zooo)
923923   TAITOGNET_BIOS
924924
925   DISK_REGION( "pccard:ataflash" )
925   DISK_REGION( "pccard:ataflash:image" )
926926   DISK_IMAGE( "zooo", 0, SHA1(e275b3141b2bc49142990e6b497a5394a314a30b))
927927ROM_END
928928
929929ROM_START(zokuoten)
930930   TAITOGNET_BIOS
931931
932   DISK_REGION( "pccard:ataflash" )
932   DISK_REGION( "pccard:ataflash:image" )
933933   DISK_IMAGE( "zokuoten", 0, SHA1(5ce13db00518f96af64935176c71ec68d2a51938))
934934ROM_END
935935
r23786r23787
937937   TAITOGNET_BIOS
938938   ROM_DEFAULT_BIOS( "v2" )
939939
940   DISK_REGION( "pccard:ataflash" )
940   DISK_REGION( "pccard:ataflash:image" )
941941   DISK_IMAGE( "otenamhf", 0, SHA1(5b15c33bf401e5546d78e905f538513d6ffcf562)) /* Original Taito Compact Flash version */
942942ROM_END
943943
r23786r23787
949949ROM_START(nightrai)
950950   TAITOGNET_BIOS
951951
952   DISK_REGION( "pccard:ataflash" )
952   DISK_REGION( "pccard:ataflash:image" )
953953   DISK_IMAGE( "nightrai", 0, SHA1(74d0458f851cbcf10453c5cc4c47bb4388244cdf))
954954ROM_END
955955
956956ROM_START(otenki)
957957   TAITOGNET_BIOS
958958
959   DISK_REGION( "pccard:ataflash" )
959   DISK_REGION( "pccard:ataflash:image" )
960960   DISK_IMAGE( "otenki", 0, SHA1(7e745ca4c4570215f452fd09cdd56a42c39caeba))
961961ROM_END
962962
r23786r23787
965965ROM_START(usagi)
966966   TAITOGNET_BIOS
967967
968   DISK_REGION( "pccard:ataflash" )
968   DISK_REGION( "pccard:ataflash:image" )
969969   DISK_IMAGE( "usagi", 0, SHA1(edf9dd271957f6cb06feed238ae21100514bef8e))
970970ROM_END
971971
972972ROM_START(mahjngoh)
973973   TAITOGNET_BIOS
974974
975   DISK_REGION( "pccard:ataflash" )
975   DISK_REGION( "pccard:ataflash:image" )
976976   DISK_IMAGE( "mahjngoh", 0, SHA1(3ef1110d15582d7c0187438d7ad61765dd121cff))
977977ROM_END
978978
979979ROM_START(shangtou)
980980   TAITOGNET_BIOS
981981
982   DISK_REGION( "pccard:ataflash" )
982   DISK_REGION( "pccard:ataflash:image" )
983983   DISK_IMAGE( "shanghaito", 0, SHA1(9901db5a9aae77e3af4157aa2c601eaab5b7ca85) )
984984ROM_END
985985
r23786r23787
989989ROM_START(xiistag)
990990   TAITOGNET_BIOS
991991
992   DISK_REGION( "pccard:ataflash" )
992   DISK_REGION( "pccard:ataflash:image" )
993993   DISK_IMAGE( "xiistag", 0, SHA1(586e37c8d926293b2bd928e5f0d693910cfb05a2))
994994ROM_END
995995
trunk/src/mame/includes/qdrmfgp.h
r23786r23787
1#include "machine/idectrl.h"
1#include "machine/ataintf.h"
22#include "sound/k054539.h"
33
44class qdrmfgp_state : public driver_device
r23786r23787
1111      m_workram(*this, "workram"),
1212      m_k056832(*this, "k056832"),
1313      m_k054539(*this, "k054539"),
14      m_ide(*this, "ide")
14      m_ata(*this, "ata")
1515   {
1616   }
1717
r23786r23787
2121   required_shared_ptr<UINT16> m_workram;
2222   required_device<k056832_device> m_k056832;
2323   required_device<k054539_device> m_k054539;
24   required_device<ide_controller_device> m_ide;
24   required_device<ata_interface_device> m_ata;
2525   UINT16 m_control;
2626   INT32 m_gp2_irq_control;
2727   INT32 m_pal;
trunk/src/mame/includes/djmain.h
r23786r23787
1#include "machine/idectrl.h"
1#include "machine/ataintf.h"
22
33class djmain_state : public driver_device
44{
r23786r23787
99      m_maincpu(*this, "maincpu"),
1010      m_k056832(*this, "k056832"),
1111      m_k055555(*this, "k055555"),
12      m_ide(*this, "ide")
12      m_ata(*this, "ata")
1313   {
1414   }
1515
r23786r23787
2121   UINT8 m_pending_vb_int;
2222   UINT16 m_v_ctrl;
2323   UINT32 m_obj_regs[0xa0/4];
24   const UINT8 *m_ide_user_password;
25   const UINT8 *m_ide_master_password;
24   const UINT8 *m_ata_user_password;
25   const UINT8 *m_ata_master_password;
2626   required_shared_ptr<UINT32> m_obj_ram;
2727   DECLARE_WRITE32_MEMBER(paletteram32_w);
2828   DECLARE_WRITE32_MEMBER(sndram_bank_w);
r23786r23787
6565   required_device<cpu_device> m_maincpu;
6666   required_device<k056832_device> m_k056832;
6767   required_device<k055555_device> m_k055555;
68   required_device<ide_controller_device> m_ide;
68   required_device<ata_interface_device> m_ata;
6969};
7070
7171/*----------- defined in video/djmain.c -----------*/

Previous 199869 Revisions Next


© 1997-2024 The MAME Team