Previous 199869 Revisions Next

r33342 Tuesday 11th November, 2014 at 14:56:40 UTC by Olivier Galibert
i6300esb: More more more [O. Galibert]
[src/emu/machine]i6300esb.c i6300esb.h i82875p.c pci.c pci.h

trunk/src/emu/machine/i6300esb.c
r241853r241854
2020void i6300esb_watchdog_device::device_reset()
2121{
2222   pci_device::device_reset();
23   command = 0x000f;
24   command_mask = 0x0140;
25   status = 0x0280;
2326}
2427
2528
2629DEVICE_ADDRESS_MAP_START(config_map, 32, i6300esb_lpc_device)
27   AM_RANGE(0x58, 0x5b) AM_READWRITE  (gpio_base_r, gpio_base_w)
28   AM_RANGE(0x5c, 0x5f) AM_READWRITE8 (gpio_cntl_r, gpio_cntl_w, 0x000000ff)
29   AM_RANGE(0xe4, 0xe7) AM_READWRITE16(gen1_dec_r,  gen1_dec_w,  0x0000ffff)
30   AM_RANGE(0xe4, 0xe7) AM_READWRITE16(lpc_en_r,    lpc_en_w,    0xffff0000)
31   AM_RANGE(0xe8, 0xeb) AM_READWRITE  (fwh_sel1_r,  fwh_sel1_w)
32   AM_RANGE(0xfc, 0xff) AM_READWRITE  (unk_fc_r,    unk_fc_w)
30   AM_RANGE(0x40, 0x43) AM_READWRITE  (pmbase_r,               pmbase_w)
31   AM_RANGE(0x44, 0x47) AM_READWRITE8 (acpi_cntl_r,            acpi_cntl_w,            0x000000ff)
32   AM_RANGE(0x4c, 0x4f) AM_READWRITE16(bios_cntl_r,            bios_cntl_w,            0xffff0000)
33   AM_RANGE(0x54, 0x57) AM_READWRITE8 (tco_cntl_r,             tco_cntl_w,             0x000000ff)
34   AM_RANGE(0x58, 0x5b) AM_READWRITE  (gpio_base_r,            gpio_base_w)
35   AM_RANGE(0x5c, 0x5f) AM_READWRITE8 (gpio_cntl_r,            gpio_cntl_w,            0x000000ff)
36   AM_RANGE(0x60, 0x63) AM_READWRITE8 (pirq_rout_r,            pirq_rout_w,            0xffffffff)
37   AM_RANGE(0x64, 0x67) AM_READWRITE8 (serirq_cntl_r,          serirq_cntl_w,          0x000000ff)
38   AM_RANGE(0x68, 0x6b) AM_READWRITE8 (pirq2_rout_r,           pirq2_rout_w,           0xffffffff)
39   AM_RANGE(0x88, 0x8b) AM_READWRITE8 (d31_err_cfg_r,          d31_err_cfg_w,          0x000000ff)
40   AM_RANGE(0x88, 0x8b) AM_READWRITE8 (d31_err_sts_r,          d31_err_sts_w,          0x00ff0000)
41   AM_RANGE(0x90, 0x93) AM_READWRITE16(pci_dma_cfg_r,          pci_dma_cfg_w,          0x0000ffff)
42   AM_RANGE(0xd0, 0xd3) AM_READWRITE  (gen_cntl_r,             gen_cntl_w)
43   AM_RANGE(0xd4, 0xd7) AM_READWRITE8 (gen_sta_r,              gen_sta_w,              0x000000ff)
44   AM_RANGE(0xd4, 0xd7) AM_READWRITE8 (back_cntl_r,            back_cntl_w,            0x0000ff00)
45   AM_RANGE(0xd8, 0xdb) AM_READWRITE8 (rtc_conf_r,             rtc_conf_w,             0x000000ff)
46   AM_RANGE(0xe0, 0xe3) AM_READWRITE8 (lpc_if_com_range_r,     lpc_if_com_range_w,     0x000000ff)
47   AM_RANGE(0xe0, 0xe3) AM_READWRITE8 (lpc_if_fdd_lpt_range_r, lpc_if_fdd_lpt_range_w, 0x0000ff00)
48   AM_RANGE(0xe0, 0xe3) AM_READWRITE8 (lpc_if_sound_range_r,   lpc_if_sound_range_w,   0x00ff0000)
49   AM_RANGE(0xe0, 0xe3) AM_READWRITE8 (fwh_dec_en1_r,          fwh_dec_en1_w,          0xff000000)
50   AM_RANGE(0xe4, 0xe7) AM_READWRITE16(gen1_dec_r,             gen1_dec_w,             0x0000ffff)
51   AM_RANGE(0xe4, 0xe7) AM_READWRITE16(lpc_en_r,               lpc_en_w,               0xffff0000)
52   AM_RANGE(0xe8, 0xeb) AM_READWRITE  (fwh_sel1_r,             fwh_sel1_w)
53   AM_RANGE(0xec, 0xef) AM_READWRITE16(gen2_dec_r,             gen2_dec_w,             0x0000ffff)
54   AM_RANGE(0xec, 0xef) AM_READWRITE16(fwh_sel2_r,             fwh_sel2_w,             0xffff0000)
55   AM_RANGE(0xf0, 0xf3) AM_READWRITE8 (fwh_dec_en2_r,          fwh_dec_en2_w,          0x000000ff)
56   AM_RANGE(0xf0, 0xf3) AM_READWRITE16(func_dis_r,             func_dis_w,             0xffff0000)
57   AM_RANGE(0xf4, 0xf7) AM_READWRITE  (etr1_r,                 etr1_w)
58   AM_RANGE(0xf8, 0xfb) AM_READ       (mfid_r)
59   AM_RANGE(0xfc, 0xff) AM_READWRITE  (unk_fc_r,               unk_fc_w)
3360
3461   AM_INHERIT_FROM(pci_device::config_map)
3562ADDRESS_MAP_END
r241853r241854
5885void i6300esb_lpc_device::device_reset()
5986{
6087   pci_device::device_reset();
88   tco_cntl = 0x00;
89   serirq_cntl = 0x10;
90   memset(pirq_rout, 0x80, sizeof(pirq_rout));
91   d31_err_cfg = 0x00;
92   d31_err_sts = 0x00;
93   pci_dma_cfg = 0x0000;
94   rtc_conf = 0x00;
95   func_dis = 0x0080;
96   etr1 = 0x00000000;
6197   siu_config_port = 0;
6298   siu_config_state = 0;
6399}
64100
65101void i6300esb_lpc_device::reset_all_mappings()
66102{
103   pci_device::reset_all_mappings();
104
105   pmbase = 0;
106   acpi_cntl = 0;
67107   gpio_base = 0;
68108   gpio_cntl = 0x00;
109   back_cntl = 0x0f;
69110   lpc_if_com_range = 0x00;
70111   lpc_if_fdd_lpt_range = 0x00;
71112   lpc_if_sound_range = 0x00;
72113   fwh_dec_en1 = 0xff;
114   fwh_dec_en2 = 0x0f;
73115   gen1_dec = 0x0000;
74116   lpc_en = 0x0000;
75117   fwh_sel1 = 0x00112233;
118   gen_cntl = 0x00000080;
76119}
77120
121READ32_MEMBER (i6300esb_lpc_device::pmbase_r)
122{
123   return pmbase | 1;
124}
125
126WRITE32_MEMBER(i6300esb_lpc_device::pmbase_w)
127{
128   COMBINE_DATA(&pmbase);
129   pmbase &= 0x0000ff80;
130   logerror("%s: pmbase = %08x\n", tag(), pmbase);
131   remap_cb();
132}
133
134READ8_MEMBER (i6300esb_lpc_device::acpi_cntl_r)
135{
136   return acpi_cntl;
137}
138
139WRITE8_MEMBER(i6300esb_lpc_device::acpi_cntl_w)
140{
141   acpi_cntl = data;
142   logerror("%s: acpi_cntl = %08x\n", tag(), acpi_cntl);
143   remap_cb();
144}
145
146READ16_MEMBER (i6300esb_lpc_device::bios_cntl_r)
147{
148   return pmbase | 1;
149}
150
151WRITE16_MEMBER(i6300esb_lpc_device::bios_cntl_w)
152{
153   COMBINE_DATA(&bios_cntl);
154   logerror("%s: bios_cntl = %08x\n", tag(), bios_cntl);
155   remap_cb();
156}
157
158READ8_MEMBER  (i6300esb_lpc_device::tco_cntl_r)
159{
160   return tco_cntl;
161}
162
163WRITE8_MEMBER (i6300esb_lpc_device::tco_cntl_w)
164{
165   tco_cntl = data;
166   logerror("%s: tco_cntl = %02x\n", tag(), tco_cntl);
167}
168
78169READ32_MEMBER (i6300esb_lpc_device::gpio_base_r)
79170{
80171   return gpio_base | 1;
r241853r241854
95186
96187WRITE8_MEMBER (i6300esb_lpc_device::gpio_cntl_w)
97188{
98   COMBINE_DATA(&gpio_cntl);
189   gpio_cntl = data;
99190   logerror("%s: gpio_cntl = %02x\n", tag(), gpio_cntl);
100191   remap_cb();
101192}
102193
194READ8_MEMBER  (i6300esb_lpc_device::pirq_rout_r)
195{
196   return pirq_rout[offset];
197}
198
199WRITE8_MEMBER (i6300esb_lpc_device::pirq_rout_w)
200{
201   pirq_rout[offset] = data;
202   logerror("%s: pirq_rout[%d] = %02x\n", tag(), offset, pirq_rout[offset]);
203}
204
205READ8_MEMBER  (i6300esb_lpc_device::serirq_cntl_r)
206{
207   return serirq_cntl;
208}
209
210WRITE8_MEMBER (i6300esb_lpc_device::serirq_cntl_w)
211{
212   serirq_cntl = data;
213   logerror("%s: serirq_cntl = %02x\n", tag(), serirq_cntl);
214}
215
216READ8_MEMBER  (i6300esb_lpc_device::pirq2_rout_r)
217{
218   return pirq_rout_r(space, offset+4);
219}
220
221WRITE8_MEMBER (i6300esb_lpc_device::pirq2_rout_w)
222{
223   pirq_rout_w(space, offset+4, data);
224}
225
226READ8_MEMBER  (i6300esb_lpc_device::d31_err_cfg_r)
227{
228   return d31_err_cfg;
229}
230
231WRITE8_MEMBER (i6300esb_lpc_device::d31_err_cfg_w)
232{
233   d31_err_cfg = data;
234   logerror("%s: d31_err_cfg = %02x\n", tag(), d31_err_cfg);
235}
236
237READ8_MEMBER  (i6300esb_lpc_device::d31_err_sts_r)
238{
239   return d31_err_sts;
240}
241
242WRITE8_MEMBER (i6300esb_lpc_device::d31_err_sts_w)
243{
244   d31_err_sts &= ~data;
245   logerror("%s: d31_err_sts = %02x\n", tag(), d31_err_sts);
246}
247
248READ16_MEMBER (i6300esb_lpc_device::pci_dma_cfg_r)
249{
250   return pci_dma_cfg;
251}
252
253WRITE16_MEMBER(i6300esb_lpc_device::pci_dma_cfg_w)
254{
255   COMBINE_DATA(&pci_dma_cfg);
256   logerror("%s: pci_dma_cfg = %04x\n", tag(), pci_dma_cfg);
257}
258
259READ32_MEMBER (i6300esb_lpc_device::gen_cntl_r)
260{
261   return gen_cntl;
262}
263
264WRITE32_MEMBER(i6300esb_lpc_device::gen_cntl_w)
265{
266   COMBINE_DATA(&gen_cntl);
267   logerror("%s: gen_cntl = %08x\n", tag(), gen_cntl);
268}
269
270READ8_MEMBER  (i6300esb_lpc_device::gen_sta_r)
271{
272   return gen_sta;
273}
274
275WRITE8_MEMBER (i6300esb_lpc_device::gen_sta_w)
276{
277   gen_sta = data;
278   logerror("%s: gen_sta = %02x\n", tag(), gen_sta);
279}
280
281READ8_MEMBER  (i6300esb_lpc_device::back_cntl_r)
282{
283   return back_cntl;
284}
285
286WRITE8_MEMBER (i6300esb_lpc_device::back_cntl_w)
287{
288   back_cntl = data;
289   logerror("%s: back_cntl = %02x\n", tag(), back_cntl);
290   remap_cb();
291}
292
293READ8_MEMBER  (i6300esb_lpc_device::rtc_conf_r)
294{
295   return rtc_conf;
296}
297
298WRITE8_MEMBER (i6300esb_lpc_device::rtc_conf_w)
299{
300   rtc_conf = data;
301   logerror("%s: rtc_conf = %02x\n", tag(), rtc_conf);
302}
303
103304READ8_MEMBER  (i6300esb_lpc_device::lpc_if_com_range_r)
104305{
105306   return lpc_if_com_range;
r241853r241854
107308
108309WRITE8_MEMBER (i6300esb_lpc_device::lpc_if_com_range_w)
109310{
110   COMBINE_DATA(&lpc_if_com_range);
111   logerror("%s: lpc_if_com_range  = %02x\n", tag(), lpc_if_com_range);
311   lpc_if_com_range = data;
312   logerror("%s: lpc_if_com_range = %02x\n", tag(), lpc_if_com_range);
112313   remap_cb();
113314}
114315
r241853r241854
184385   remap_cb();
185386}
186387
388READ16_MEMBER (i6300esb_lpc_device::gen2_dec_r)
389{
390   return gen2_dec;
391}
392
393WRITE16_MEMBER(i6300esb_lpc_device::gen2_dec_w)
394{
395   COMBINE_DATA(&gen2_dec);
396   logerror("%s: gen2_dec = %04x\n", tag(), gen2_dec);
397   remap_cb();
398}
399
400READ16_MEMBER (i6300esb_lpc_device::fwh_sel2_r)
401{
402   return fwh_sel2;
403}
404
405WRITE16_MEMBER(i6300esb_lpc_device::fwh_sel2_w)
406{
407   COMBINE_DATA(&fwh_sel2);
408   logerror("%s: fwh_sel2 = %04x\n", tag(), fwh_sel2);
409   remap_cb();
410}
411
412READ8_MEMBER  (i6300esb_lpc_device::fwh_dec_en2_r)
413{
414   return fwh_dec_en2;
415}
416
417WRITE8_MEMBER (i6300esb_lpc_device::fwh_dec_en2_w)
418{
419   fwh_dec_en2 = data;
420   logerror("%s: fwh_dec_en2  = %02x\n", tag(), fwh_dec_en2);
421   remap_cb();
422}
423
424READ16_MEMBER (i6300esb_lpc_device::func_dis_r)
425{
426   return func_dis;
427}
428
429WRITE16_MEMBER(i6300esb_lpc_device::func_dis_w)
430{
431   COMBINE_DATA(&func_dis);
432   logerror("%s: func_dis = %04x\n", tag(), func_dis);
433}
434
435READ32_MEMBER (i6300esb_lpc_device::etr1_r)
436{
437   return etr1;
438}
439
440WRITE32_MEMBER(i6300esb_lpc_device::etr1_w)
441{
442   logerror("%s: etr1 = %08x\n", tag(), data);
443}
444
445READ32_MEMBER (i6300esb_lpc_device::mfid_r)
446{
447   return 0xf66;
448}
449
187450READ32_MEMBER (i6300esb_lpc_device::unk_fc_r)
188451{
189452   logerror("%s: read undocumented config reg fc\n", tag());
r241853r241854
289552   }
290553
291554   io_space->install_device(0, 0xffff, *this, &i6300esb_lpc_device::internal_io_map);
555
556   if(acpi_cntl & 0x10)
557      logerror("%s: Warning: acpi range enabled at %04x-%04x\n", tag(), pmbase, pmbase+127);
558   if(gpio_cntl & 0x10)
559      logerror("%s: Warning: gpio range enabled at %04x-%04x\n", tag(), gpio_base, gpio_base+63);
292560}
293561
trunk/src/emu/machine/i6300esb.h
r241853r241854
2929private:
3030   DECLARE_ADDRESS_MAP(internal_io_map, 32);
3131
32   UINT32 gpio_base, fwh_sel1;
33   UINT16 gen1_dec, lpc_en;
34   UINT8 gpio_cntl, lpc_if_com_range, lpc_if_fdd_lpt_range, lpc_if_sound_range, fwh_dec_en1, siu_config_port;
32   UINT32 pmbase, gpio_base, fwh_sel1, gen_cntl, etr1;
33   UINT16 bios_cntl, pci_dma_cfg, gen1_dec, lpc_en, gen2_dec, fwh_sel2, func_dis;
34   UINT8 pirq_rout[8];
35   UINT8 acpi_cntl, tco_cntl, gpio_cntl, serirq_cntl, d31_err_cfg, d31_err_sts, gen_sta, back_cntl, rtc_conf;
36   UINT8 lpc_if_com_range, lpc_if_fdd_lpt_range, lpc_if_sound_range, fwh_dec_en1, fwh_dec_en2, siu_config_port;
3537   int siu_config_state;
3638
3739   DECLARE_WRITE8_MEMBER (nop_w);
3840
3941   // configuration space registers
42   DECLARE_READ32_MEMBER (pmbase_r);               // 40
43   DECLARE_WRITE32_MEMBER(pmbase_w);
44   DECLARE_READ8_MEMBER  (acpi_cntl_r);            // 44
45   DECLARE_WRITE8_MEMBER (acpi_cntl_w);
46   DECLARE_READ16_MEMBER (bios_cntl_r);            // 4e
47   DECLARE_WRITE16_MEMBER(bios_cntl_w);
48   DECLARE_READ8_MEMBER  (tco_cntl_r);             // 54
49   DECLARE_WRITE8_MEMBER (tco_cntl_w);
4050   DECLARE_READ32_MEMBER (gpio_base_r);            // 58
4151   DECLARE_WRITE32_MEMBER(gpio_base_w);
4252   DECLARE_READ8_MEMBER  (gpio_cntl_r);            // 5c
4353   DECLARE_WRITE8_MEMBER (gpio_cntl_w);
44
54   DECLARE_READ8_MEMBER  (pirq_rout_r);            // 60-63
55   DECLARE_WRITE8_MEMBER (pirq_rout_w);
56   DECLARE_READ8_MEMBER  (serirq_cntl_r);          // 64
57   DECLARE_WRITE8_MEMBER (serirq_cntl_w);
58   DECLARE_READ8_MEMBER  (pirq2_rout_r);           // 68-6b
59   DECLARE_WRITE8_MEMBER (pirq2_rout_w);
60   DECLARE_READ8_MEMBER  (d31_err_cfg_r);          // 88
61   DECLARE_WRITE8_MEMBER (d31_err_cfg_w);
62   DECLARE_READ8_MEMBER  (d31_err_sts_r);          // 8a
63   DECLARE_WRITE8_MEMBER (d31_err_sts_w);
64   DECLARE_READ16_MEMBER (pci_dma_cfg_r);          // 90
65   DECLARE_WRITE16_MEMBER(pci_dma_cfg_w);
66   DECLARE_READ32_MEMBER (gen_cntl_r);             // d0
67   DECLARE_WRITE32_MEMBER(gen_cntl_w);
68   DECLARE_READ8_MEMBER  (gen_sta_r);              // d4
69   DECLARE_WRITE8_MEMBER (gen_sta_w);
70   DECLARE_READ8_MEMBER  (back_cntl_r);            // d5
71   DECLARE_WRITE8_MEMBER (back_cntl_w);
72   DECLARE_READ8_MEMBER  (rtc_conf_r);             // d8
73   DECLARE_WRITE8_MEMBER (rtc_conf_w);
4574   DECLARE_READ8_MEMBER  (lpc_if_com_range_r);     // e0
4675   DECLARE_WRITE8_MEMBER (lpc_if_com_range_w);
4776   DECLARE_READ8_MEMBER  (lpc_if_fdd_lpt_range_r); // e1
r241853r241854
5685   DECLARE_WRITE16_MEMBER(lpc_en_w);
5786   DECLARE_READ32_MEMBER (fwh_sel1_r);             // e8
5887   DECLARE_WRITE32_MEMBER(fwh_sel1_w);
59
88   DECLARE_READ16_MEMBER (gen2_dec_r);             // ec
89   DECLARE_WRITE16_MEMBER(gen2_dec_w);
90   DECLARE_READ16_MEMBER (fwh_sel2_r);             // ee
91   DECLARE_WRITE16_MEMBER(fwh_sel2_w);
92   DECLARE_READ8_MEMBER  (fwh_dec_en2_r);          // f0
93   DECLARE_WRITE8_MEMBER (fwh_dec_en2_w);
94   DECLARE_READ16_MEMBER (func_dis_r);             // f2
95   DECLARE_WRITE16_MEMBER(func_dis_w);
96   DECLARE_READ32_MEMBER (etr1_r);                 // f4
97   DECLARE_WRITE32_MEMBER(etr1_w);
98   DECLARE_READ32_MEMBER (mfid_r);                 // f8
6099   DECLARE_READ32_MEMBER (unk_fc_r);               // fc
61100   DECLARE_WRITE32_MEMBER(unk_fc_w);
62101
trunk/src/emu/machine/i82875p.c
r241853r241854
7171   io_window_start = 0;
7272   io_window_end   = 0xffff;
7373   io_offset       = 0;
74   status = 0x0010;
7475
7576   ram.resize(ram_size/4);
7677
r241853r241854
339340   if(top > ram_size)
340341      top = ram_size;
341342
342   memory_space->install_ram          (0x00000000, 0x0007ffff, &ram[0x00000000/4]);
343   memory_space->install_ram          (0x00000000, 0x0009ffff, &ram[0x00000000/4]);
343344
344345   if(smram & 0x40)
345346      memory_space->install_ram      (0x000a0000, 0x000bffff, &ram[0x000a0000/4]);
trunk/src/emu/machine/pci.c
r241853r241854
44const device_type PCI_BRIDGE = &device_creator<pci_bridge_device>;
55
66DEVICE_ADDRESS_MAP_START(config_map, 32, pci_device)
7   AM_RANGE(0x00, 0x03) AM_READ16(vendor_r,          0x0000ffff)
8   AM_RANGE(0x00, 0x03) AM_READ16(device_r,          0xffff0000)
7   AM_RANGE(0x00, 0x03) AM_READ16     (vendor_r,                     0x0000ffff)
8   AM_RANGE(0x00, 0x03) AM_READ16     (device_r,                     0xffff0000)
9   AM_RANGE(0x04, 0x07) AM_READWRITE16(command_r,         command_w, 0x0000ffff)
10   AM_RANGE(0x04, 0x07) AM_READ16     (status_r,                     0xffff0000)
911
10   AM_RANGE(0x08, 0x0b) AM_READ  (class_rev_r)
11   AM_RANGE(0x0c, 0x0f) AM_READ8 (cache_line_size_r, 0x000000ff)
12   AM_RANGE(0x0c, 0x0f) AM_READ8 (latency_timer_r,   0x0000ff00)
13   AM_RANGE(0x0c, 0x0f) AM_READ8 (header_type_r,     0x00ff0000)
14   AM_RANGE(0x0c, 0x0f) AM_READ8 (bist_r,            0xff000000)
12   AM_RANGE(0x08, 0x0b) AM_READ       (class_rev_r)
13   AM_RANGE(0x0c, 0x0f) AM_READ8      (cache_line_size_r,            0x000000ff)
14   AM_RANGE(0x0c, 0x0f) AM_READ8      (latency_timer_r,              0x0000ff00)
15   AM_RANGE(0x0c, 0x0f) AM_READ8      (header_type_r,                0x00ff0000)
16   AM_RANGE(0x0c, 0x0f) AM_READ8      (bist_r,                       0xff000000)
1517
16   AM_RANGE(0x2c, 0x2f) AM_READ16(subvendor_r,       0x0000ffff)
17   AM_RANGE(0x2c, 0x2f) AM_READ16(subsystem_r,       0xffff0000)
18   AM_RANGE(0x2c, 0x2f) AM_READ16     (subvendor_r,                  0x0000ffff)
19   AM_RANGE(0x2c, 0x2f) AM_READ16     (subsystem_r,                  0xffff0000)
1820
19   AM_RANGE(0x34, 0x37) AM_READ8 (capptr_r,          0x000000ff)
21   AM_RANGE(0x34, 0x37) AM_READ8      (capptr_r,                     0x000000ff)
2022ADDRESS_MAP_END
2123
2224pci_device::pci_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)
r241853r241854
3840
3941void pci_device::device_start()
4042{
43   command = 0x0080;
44   command_mask = 0x01bf;
45   status = 0x0000;
4146}
4247
4348void pci_device::device_reset()
r241853r241854
5459   return main_id;
5560}
5661
62READ16_MEMBER(pci_device::command_r)
63{
64   return command;
65}
66
67WRITE16_MEMBER(pci_device::command_w)
68{
69   mem_mask &= command_mask;
70   COMBINE_DATA(&command);
71   logerror("%s: command = %04x\n", tag(), command);
72}
73
74READ16_MEMBER(pci_device::status_r)
75{
76   return status;
77}
78
5779READ32_MEMBER(pci_device::class_rev_r)
5880{
5981   return (pclass << 8) | revision;
trunk/src/emu/machine/pci.h
r241853r241854
4545
4646   DECLARE_READ16_MEMBER(vendor_r);
4747   DECLARE_READ16_MEMBER(device_r);
48   DECLARE_READ16_MEMBER(command_r);
49   DECLARE_WRITE16_MEMBER(command_w);
50   DECLARE_READ16_MEMBER(status_r);
4851   DECLARE_READ32_MEMBER(class_rev_r);
4952   virtual DECLARE_READ8_MEMBER(cache_line_size_r);
5053   virtual DECLARE_READ8_MEMBER(latency_timer_r);
r241853r241854
6669   UINT32 main_id, subsystem_id;
6770   UINT32 pclass;
6871   UINT8 revision;
72   UINT16 command, command_mask, status;
6973
7074   virtual void device_start();
7175   virtual void device_reset();


Previous 199869 Revisions Next


© 1997-2024 The MAME Team