trunk/src/emu/bus/isa/trident.c
| r32077 | r32078 | |
| 38 | 38 | UINT16 trident_vga_device::offset() |
| 39 | 39 | { |
| 40 | 40 | UINT16 off = svga_device::offset(); |
| 41 | | return off; |
| 41 | |
| 42 | if (svga.rgb8_en || svga.rgb15_en || svga.rgb16_en || svga.rgb32_en) |
| 43 | return vga.crtc.offset << 3; // don't know if this is right, but Eggs Playing Chicken switches off doubleword mode, but expects the same offset length |
| 44 | else |
| 45 | return off; |
| 42 | 46 | } |
| 43 | 47 | |
| 44 | 48 | void trident_vga_device::trident_define_video_mode() |
| r32077 | r32078 | |
| 136 | 140 | |
| 137 | 141 | void trident_vga_device::trident_seq_reg_write(UINT8 index, UINT8 data) |
| 138 | 142 | { |
| 139 | | //logerror("Trident SR%02X: %s mode write %02x\n",index,tri.new_mode ? "new" : "old",data); |
| 140 | 143 | if(index <= 0x04) |
| 141 | 144 | { |
| 142 | 145 | vga.sequencer.data[vga.sequencer.index] = data; |
| r32077 | r32078 | |
| 145 | 148 | } |
| 146 | 149 | else |
| 147 | 150 | { |
| 151 | logerror("Trident SR%02X: %s mode write %02x\n",index,tri.new_mode ? "new" : "old",data); |
| 148 | 152 | switch(index) |
| 149 | 153 | { |
| 150 | 154 | case 0x0b: |
| r32077 | r32078 | |
| 217 | 221 | } |
| 218 | 222 | void trident_vga_device::trident_crtc_reg_write(UINT8 index, UINT8 data) |
| 219 | 223 | { |
| 220 | | //logerror("Trident CR%02X: write %02x\n",index,data); |
| 221 | 224 | if(index <= 0x18) |
| 222 | 225 | { |
| 223 | 226 | crtc_reg_write(index,data); |
| r32077 | r32078 | |
| 225 | 228 | } |
| 226 | 229 | else |
| 227 | 230 | { |
| 231 | logerror("Trident CR%02X: write %02x\n",index,data); |
| 228 | 232 | switch(index) |
| 229 | 233 | { |
| 230 | 234 | case 0x1f: |
| r32077 | r32078 | |
| 267 | 271 | |
| 268 | 272 | void trident_vga_device::trident_gc_reg_write(UINT8 index, UINT8 data) |
| 269 | 273 | { |
| 270 | | //logerror("Trident GC%02X: write %02x\n",index,data); |
| 271 | 274 | if(index <= 0x0d) |
| 272 | 275 | gc_reg_write(index,data); |
| 273 | 276 | else |
| 274 | 277 | { |
| 278 | logerror("Trident GC%02X: write %02x\n",index,data); |
| 275 | 279 | switch(index) |
| 276 | 280 | { |
| 277 | 281 | case 0x0e: // New Source Address Register (bit 1 is inverted here, also) |