Previous 199869 Revisions Next

r37145 Sunday 12th April, 2015 at 21:04:47 UTC by Ted Green
Code cleanup
[src/emu/video]voodoo_pci.c voodoo_pci.h
[src/mame/drivers]iteagle.c
[src/mame/machine]iteagle_fpga.c

trunk/src/emu/video/voodoo_pci.c
r245656r245657
3131
3232void voodoo_pci_device::set_cpu_tag(const char *_cpu_tag)
3333{
34   cpu_tag = _cpu_tag;
34   m_cpu_tag = _cpu_tag;
3535}
3636
3737void voodoo_pci_device::device_start()
3838{
39   voodoo_device::static_set_cpu_tag(m_voodoo, cpu_tag);
39   voodoo_device::static_set_cpu_tag(m_voodoo, m_cpu_tag);
4040   pci_device::device_start();
4141   add_map(32*1024*1024, M_MEM, FUNC(voodoo_pci_device::reg_map));
4242   add_map(32*1024*1024, M_MEM, FUNC(voodoo_pci_device::lfb_map));
r245656r245657
5151void voodoo_pci_device::map_extra(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
5252                           UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
5353{
54   logerror("%s: map_extra\n", tag());
54   logerror("%s: map_extra\n", this->tag());
5555   // Really awkward way of getting vga address space mapped
5656   // Should really be dependent on voodoo VGAINIT0 bit 8 and IO base + 0xc3 bit 0
5757   if (1) {
r245656r245657
7575      start = (start & 0xFFFF0000) + 0x300;
7676      UINT64 end = (start & 0xFFFF0000) + 0x3ef;
7777      space->install_device_delegate(start, end, *this, bi.map);
78      logerror("%s: map %s at %0*x-%0*x\n", tag(), bi.map.name(), bi.flags & M_IO ? 4 : 8, UINT32(start), bi.flags & M_IO ? 4 : 8, UINT32(end));
78      logerror("%s: map %s at %0*x-%0*x\n", this->tag(), bi.map.name(), bi.flags & M_IO ? 4 : 8, UINT32(start), bi.flags & M_IO ? 4 : 8, UINT32(end));
7979   }
8080
8181}
trunk/src/emu/video/voodoo_pci.h
r245656r245657
2727
2828private:
2929   required_device<voodoo_banshee_device> m_voodoo;
30   const char *cpu_tag;
30   const char *m_cpu_tag;
3131
3232   DECLARE_ADDRESS_MAP(reg_map, 32);
3333   DECLARE_ADDRESS_MAP(lfb_map, 32);
trunk/src/mame/drivers/iteagle.c
r245656r245657
152152   MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
153153   MCFG_SCREEN_REFRESH_RATE(59)
154154   MCFG_SCREEN_SIZE(512, 384)
155   MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 383)
156155   MCFG_SCREEN_UPDATE_DEVICE(":pci:09.0", voodoo_pci_device, screen_update)
157156
158157
trunk/src/mame/machine/iteagle_fpga.c
r245656r245657
4747   //m_rtc_regs[0] = 0x11223344;
4848   switch ((machine().root_device().ioport("VERSION")->read()>>4)&0xF) {
4949      case 3:
50        m_seq = 0x0a0b0a; // gt02o
51        break;
50         m_seq = 0x0a0b0a; // gt02
51         break;
5252      case 4:
53        m_seq = 0x0a020b; // gt04
54        break;
53         m_seq = 0x0a020b; // gt04
54         break;
5555      case 5:
56        m_seq = 0x0b0a0c; // gt05
57        break;
56         m_seq = 0x0b0a0c; // gt05
57         break;
5858      default:
59        m_seq = 0x0c0b0d; // gt02
60        break;
61  }
59         m_seq = 0x0c0b0d; // gt06
60         break;
61   }
6262
63  m_seq_rem1 = 0;
64  m_seq_rem2 = 0;
63   m_seq_rem1 = 0;
64   m_seq_rem2 = 0;
6565
6666   // 0x00&0x2 == 1 for boot
6767   //m_fpga_regs[0x00/4] =  0xC1110002; // 0xCF000002;// byte 3 is voltage sensor? high = 0x40 good = 0xC0 0xF0 0xFF; //0x80 0x30 0x00FF = voltage low
r245656r245657
9797      UINT32 val1, feed;
9898      feed = ((m_seq<<4) ^ m_seq)>>7;
9999      if (data & 0x1) {
100       val1 = ((m_seq & 0x2)<<1) | ((m_seq & 0x4)>>1) | ((m_seq & 0x8)>>3);
101       m_seq_rem1 = ((m_seq & 0x10)) | ((m_seq & 0x20)>>2) | ((m_seq & 0x40)>>4);
102       m_seq_rem2 = ((m_seq & 0x80)>>1) | ((m_seq & 0x100)>>3) | ((m_seq & 0x200)>>5);
103       m_seq = (m_seq>>9) | ((feed&0x1ff)<<15);
104       m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1 + m_seq_rem2)&0xFF);
100         val1 = ((m_seq & 0x2)<<1) | ((m_seq & 0x4)>>1) | ((m_seq & 0x8)>>3);
101         m_seq_rem1 = ((m_seq & 0x10)) | ((m_seq & 0x20)>>2) | ((m_seq & 0x40)>>4);
102         m_seq_rem2 = ((m_seq & 0x80)>>1) | ((m_seq & 0x100)>>3) | ((m_seq & 0x200)>>5);
103         m_seq = (m_seq>>9) | ((feed&0x1ff)<<15);
104         m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1 + m_seq_rem2)&0xFF);
105105      } else if (data & 0x2) {
106       val1 = ((m_seq & 0x2)<<1) | ((m_seq & 0x4)>>1) | ((m_seq & 0x8)>>3);
107       m_seq_rem1 = ((m_seq & 0x10)) | ((m_seq & 0x20)>>2) | ((m_seq & 0x40)>>4);
108       m_seq = (m_seq>>6) | ((feed&0x3f)<<18);
109       m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1 + m_seq_rem2)&0xFF);
106         val1 = ((m_seq & 0x2)<<1) | ((m_seq & 0x4)>>1) | ((m_seq & 0x8)>>3);
107         m_seq_rem1 = ((m_seq & 0x10)) | ((m_seq & 0x20)>>2) | ((m_seq & 0x40)>>4);
108         m_seq = (m_seq>>6) | ((feed&0x3f)<<18);
109         m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1 + m_seq_rem2)&0xFF);
110110      } else {
111111         val1 = ((m_seq & 0x2)<<6) | ((m_seq & 0x4)<<4) | ((m_seq & 0x8)<<2) | ((m_seq & 0x10)<<0)
112112             | ((m_seq & 0x20)>>2) | ((m_seq & 0x40)>>4) | ((m_seq & 0x80)>>6) | ((m_seq & 0x100)>>8);
113       m_seq = (m_seq>>8) | ((feed&0xff)<<16);
114       m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1 + m_seq_rem2) & 0xff);
113         m_seq = (m_seq>>8) | ((feed&0xff)<<16);
114         m_fpga_regs[offset] = (m_fpga_regs[offset]&0xFFFFFF00) | ((val1 + m_seq_rem1 + m_seq_rem2) & 0xff);
115115      }
116116      if (0 && LOG_FPGA)
117117         logerror("%s:fpga update_sequence In: %02X Seq: %06X Out: %02X\n", machine().describe_context(), data, m_seq, m_fpga_regs[offset]&0xff);


Previous 199869 Revisions Next


© 1997-2024 The MAME Team