trunk/src/emu/video/pc_vga.c
| r18071 | r18072 | |
| 5084 | 5084 | This bit toggles every time a HSYNC pulse starts |
| 5085 | 5085 | 3-15 Reserved(0) |
| 5086 | 5086 | */ |
| 5087 | | READ16_HANDLER(mach8_status_r) |
| 5087 | READ16_HANDLER(ibm8514_status_r) |
| 5088 | 5088 | { |
| 5089 | 5089 | return vga_vblank(space.machine()) << 1; |
| 5090 | 5090 | } |
| 5091 | 5091 | |
| 5092 | | WRITE16_HANDLER(mach8_htotal_w) |
| 5092 | WRITE16_HANDLER(ibm8514_htotal_w) |
| 5093 | 5093 | { |
| 5094 | 5094 | ibm8514.htotal = data & 0x01ff; |
| 5095 | 5095 | //vga.crtc.horz_total = data & 0x01ff; |
| r18071 | r18072 | |
| 5116 | 5116 | 8-11 CHIP_REV. Chip revision number. |
| 5117 | 5117 | 12-15 (CT82c480) CHIP_ID. 0=CT 82c480. |
| 5118 | 5118 | */ |
| 5119 | | READ16_HANDLER(mach8_substatus_r) |
| 5119 | READ16_HANDLER(ibm8514_substatus_r) |
| 5120 | 5120 | { |
| 5121 | 5121 | // TODO: |
| 5122 | 5122 | if(vga_vblank(space.machine()) != 0) // not correct, but will do for now |
| r18071 | r18072 | |
| 5141 | 5141 | 12-13 CHPTEST. Used for chip testing. |
| 5142 | 5142 | 14-15 Graphics Processor Control (GPCTRL). |
| 5143 | 5143 | */ |
| 5144 | | WRITE16_HANDLER(mach8_subcontrol_w) |
| 5144 | WRITE16_HANDLER(ibm8514_subcontrol_w) |
| 5145 | 5145 | { |
| 5146 | 5146 | ibm8514.subctrl = data; |
| 5147 | 5147 | ibm8514.substatus &= ~(data & 0x0f); // reset interrupts |
| 5148 | 5148 | // logerror("8514/A: Subsystem control write %04x\n",data); |
| 5149 | 5149 | } |
| 5150 | 5150 | |
| 5151 | | READ16_HANDLER(mach8_subcontrol_r) |
| 5151 | READ16_HANDLER(ibm8514_subcontrol_r) |
| 5152 | 5152 | { |
| 5153 | 5153 | return ibm8514.subctrl; |
| 5154 | 5154 | } |
| 5155 | 5155 | |
| 5156 | | READ16_HANDLER(mach8_htotal_r) |
| 5156 | READ16_HANDLER(ibm8514_htotal_r) |
| 5157 | 5157 | { |
| 5158 | 5158 | return ibm8514.htotal; |
| 5159 | 5159 | } |
| 5160 | 5160 | |
| 5161 | | READ16_HANDLER(mach8_vtotal_r) |
| 5161 | READ16_HANDLER(ibm8514_vtotal_r) |
| 5162 | 5162 | { |
| 5163 | 5163 | return ibm8514.vtotal; |
| 5164 | 5164 | } |
| 5165 | 5165 | |
| 5166 | | WRITE16_HANDLER(mach8_vtotal_w) |
| 5166 | WRITE16_HANDLER(ibm8514_vtotal_w) |
| 5167 | 5167 | { |
| 5168 | 5168 | ibm8514.vtotal = data; |
| 5169 | 5169 | // vga.crtc.vert_total = data; |
| 5170 | 5170 | logerror("8514/A: Vertical total write %04x\n",data); |
| 5171 | 5171 | } |
| 5172 | 5172 | |
| 5173 | | READ16_HANDLER(mach8_vdisp_r) |
| 5173 | READ16_HANDLER(ibm8514_vdisp_r) |
| 5174 | 5174 | { |
| 5175 | 5175 | return ibm8514.vdisp; |
| 5176 | 5176 | } |
| 5177 | 5177 | |
| 5178 | | WRITE16_HANDLER(mach8_vdisp_w) |
| 5178 | WRITE16_HANDLER(ibm8514_vdisp_w) |
| 5179 | 5179 | { |
| 5180 | 5180 | ibm8514.vdisp = data; |
| 5181 | 5181 | // vga.crtc.vert_disp_end = data >> 3; |
| 5182 | 5182 | logerror("8514/A: Vertical Displayed write %04x\n",data); |
| 5183 | 5183 | } |
| 5184 | 5184 | |
| 5185 | | READ16_HANDLER(mach8_vsync_r) |
| 5185 | READ16_HANDLER(ibm8514_vsync_r) |
| 5186 | 5186 | { |
| 5187 | 5187 | return ibm8514.vsync; |
| 5188 | 5188 | } |
| 5189 | 5189 | |
| 5190 | | WRITE16_HANDLER(mach8_vsync_w) |
| 5190 | WRITE16_HANDLER(ibm8514_vsync_w) |
| 5191 | 5191 | { |
| 5192 | 5192 | ibm8514.vsync = data; |
| 5193 | 5193 | logerror("8514/A: Vertical Sync write %04x\n",data); |
trunk/src/emu/video/pc_vga.h
| r18071 | r18072 | |
| 113 | 113 | DECLARE_WRITE16_HANDLER(mach8_scratch1_w); |
| 114 | 114 | DECLARE_READ16_HANDLER(mach8_config1_r); |
| 115 | 115 | DECLARE_READ16_HANDLER(mach8_config2_r); |
| 116 | | DECLARE_READ16_HANDLER(mach8_status_r); |
| 117 | | DECLARE_READ16_HANDLER(mach8_substatus_r); |
| 118 | | DECLARE_WRITE16_HANDLER(mach8_subcontrol_w); |
| 119 | | DECLARE_READ16_HANDLER(mach8_subcontrol_r); |
| 120 | | DECLARE_READ16_HANDLER(mach8_htotal_r); |
| 121 | | DECLARE_WRITE16_HANDLER(mach8_htotal_w); |
| 122 | | DECLARE_READ16_HANDLER(mach8_vtotal_r); |
| 123 | | DECLARE_WRITE16_HANDLER(mach8_vtotal_w); |
| 124 | | DECLARE_READ16_HANDLER(mach8_vdisp_r); |
| 125 | | DECLARE_WRITE16_HANDLER(mach8_vdisp_w); |
| 126 | | DECLARE_READ16_HANDLER(mach8_vsync_r); |
| 127 | | DECLARE_WRITE16_HANDLER(mach8_vsync_w); |
| 116 | DECLARE_READ16_HANDLER(ibm8514_status_r); |
| 117 | DECLARE_READ16_HANDLER(ibm8514_substatus_r); |
| 118 | DECLARE_WRITE16_HANDLER(ibm8514_subcontrol_w); |
| 119 | DECLARE_READ16_HANDLER(ibm8514_subcontrol_r); |
| 120 | DECLARE_READ16_HANDLER(ibm8514_htotal_r); |
| 121 | DECLARE_WRITE16_HANDLER(ibm8514_htotal_w); |
| 122 | DECLARE_READ16_HANDLER(ibm8514_vtotal_r); |
| 123 | DECLARE_WRITE16_HANDLER(ibm8514_vtotal_w); |
| 124 | DECLARE_READ16_HANDLER(ibm8514_vdisp_r); |
| 125 | DECLARE_WRITE16_HANDLER(ibm8514_vdisp_w); |
| 126 | DECLARE_READ16_HANDLER(ibm8514_vsync_r); |
| 127 | DECLARE_WRITE16_HANDLER(ibm8514_vsync_w); |
| 128 | 128 | DECLARE_WRITE16_HANDLER(mach8_linedraw_w); |
| 129 | 129 | DECLARE_READ16_HANDLER(mach8_ec0_r); |
| 130 | 130 | DECLARE_WRITE16_HANDLER(mach8_ec0_w); |
trunk/src/mess/video/isa_vga_ati.c
| r18071 | r18072 | |
| 79 | 79 | m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "vga", "gfxultra"); |
| 80 | 80 | |
| 81 | 81 | m_isa->install_device(this, 0x1ce, 0x1cf, 0, 0, FUNC(ati_port_ext_r), FUNC(ati_port_ext_w)); |
| 82 | | m_isa->install16_device(0x2e8, 0x2eb, 0, 0, FUNC(mach8_status_r), FUNC(mach8_htotal_w)); |
| 82 | m_isa->install16_device(0x2e8, 0x2eb, 0, 0, FUNC(ibm8514_status_r), FUNC(ibm8514_htotal_w)); |
| 83 | 83 | m_isa->install_device(0x3b0, 0x3bf, 0, 0, FUNC(vga_port_03b0_r), FUNC(vga_port_03b0_w)); |
| 84 | 84 | m_isa->install_device(0x3c0, 0x3cf, 0, 0, FUNC(ati_port_03c0_r), FUNC(vga_port_03c0_w)); |
| 85 | 85 | m_isa->install_device(0x3d0, 0x3df, 0, 0, FUNC(vga_port_03d0_r), FUNC(vga_port_03d0_w)); |
| 86 | | m_isa->install16_device(0x12e8, 0x12eb, 0, 0, FUNC(mach8_vtotal_r),FUNC(mach8_vtotal_w)); |
| 86 | m_isa->install16_device(0x12e8, 0x12eb, 0, 0, FUNC(ibm8514_vtotal_r),FUNC(ibm8514_vtotal_w)); |
| 87 | 87 | m_isa->install16_device(0x12ec, 0x12ef, 0, 0, FUNC(mach8_config1_r),NULL,NULL); |
| 88 | | m_isa->install16_device(0x16e8, 0x16eb, 0, 0, FUNC(mach8_vdisp_r),FUNC(mach8_vdisp_w)); |
| 88 | m_isa->install16_device(0x16e8, 0x16eb, 0, 0, FUNC(ibm8514_vdisp_r),FUNC(ibm8514_vdisp_w)); |
| 89 | 89 | m_isa->install16_device(0x16ec, 0x16ef, 0, 0, FUNC(mach8_config2_r),NULL,NULL); |
| 90 | | m_isa->install16_device(0x1ae8, 0x1aeb, 0, 0, FUNC(mach8_vsync_r),FUNC(mach8_vsync_w)); |
| 91 | | m_isa->install16_device(0x26e8, 0x26eb, 0, 0, FUNC(mach8_htotal_r),NULL,NULL); |
| 92 | | m_isa->install16_device(0x2ee8, 0x2eeb, 0, 0, FUNC(mach8_subcontrol_r),NULL,NULL); |
| 93 | | m_isa->install16_device(0x42e8, 0x42eb, 0, 0, FUNC(mach8_substatus_r), FUNC(mach8_subcontrol_w)); |
| 90 | m_isa->install16_device(0x1ae8, 0x1aeb, 0, 0, FUNC(ibm8514_vsync_r),FUNC(ibm8514_vsync_w)); |
| 91 | m_isa->install16_device(0x26e8, 0x26eb, 0, 0, FUNC(ibm8514_htotal_r),NULL,NULL); |
| 92 | m_isa->install16_device(0x2ee8, 0x2eeb, 0, 0, FUNC(ibm8514_subcontrol_r),NULL,NULL); |
| 93 | m_isa->install16_device(0x42e8, 0x42eb, 0, 0, FUNC(ibm8514_substatus_r), FUNC(ibm8514_subcontrol_w)); |
| 94 | 94 | m_isa->install16_device(0x52e8, 0x52eb, 0, 0, FUNC(mach8_ec0_r), FUNC(mach8_ec0_w)); |
| 95 | 95 | m_isa->install16_device(0x52ec, 0x52ef, 0, 0, FUNC(mach8_scratch0_r), FUNC(mach8_scratch0_w)); |
| 96 | 96 | m_isa->install16_device(0x56e8, 0x56eb, 0, 0, FUNC(mach8_ec1_r), FUNC(mach8_ec1_w)); |