trunk/src/emu/video/pc_vga.c
| r20019 | r20020 | |
| 4554 | 4554 | { |
| 4555 | 4555 | ibm8514a_device* dev = get_8514(); |
| 4556 | 4556 | // bit 4 of CR53 enables memory-mapped I/O |
| 4557 | | // 0xA0000-0xA7ffff maps to port 0xE2E8 (pixel transfer) |
| 4557 | // 0xA0000-0xA7fff maps to port 0xE2E8 (pixel transfer) |
| 4558 | 4558 | if(s3.cr53 & 0x10) |
| 4559 | 4559 | { |
| 4560 | 4560 | if(offset < 0x8000) |
| r20019 | r20020 | |
| 4756 | 4756 | s3.mmio_bee8 = (s3.mmio_bee8 & 0x00ff) | (data << 8); |
| 4757 | 4757 | dev->ibm8514_multifunc_w(space,0,s3.mmio_bee8,0xffff); |
| 4758 | 4758 | break; |
| 4759 | case 0x96e8: |
| 4760 | s3.mmio_96e8 = (s3.mmio_96e8 & 0xff00) | data; |
| 4761 | break; |
| 4762 | case 0x96e9: |
| 4763 | s3.mmio_96e8 = (s3.mmio_96e8 & 0x00ff) | (data << 8); |
| 4764 | dev->ibm8514_width_w(space,0,s3.mmio_96e8,0xffff); |
| 4765 | break; |
| 4766 | case 0xe2e8: |
| 4767 | dev->ibm8514.pixel_xfer = (dev->ibm8514.pixel_xfer & 0xffffff00) | data; |
| 4768 | dev->ibm8514_wait_draw(); |
| 4769 | break; |
| 4759 | 4770 | default: |
| 4760 | 4771 | if(LOG_8514) logerror("S3: MMIO offset %05x write %02x\n",offset+0xa0000,data); |
| 4761 | 4772 | } |
trunk/src/emu/cpu/i386/i386.c
| r20019 | r20020 | |
| 854 | 854 | REG16(SP) = i386_get_stack_ptr(cpustate,DPL); |
| 855 | 855 | if(V8086_MODE) |
| 856 | 856 | { |
| 857 | | logerror("IRQ (%08x): Interrupt during V8086 task\n",cpustate->pc); |
| 857 | //logerror("IRQ (%08x): Interrupt during V8086 task\n",cpustate->pc); |
| 858 | 858 | if(type & 0x08) |
| 859 | 859 | { |
| 860 | 860 | PUSH32(cpustate,cpustate->sreg[GS].selector & 0xffff); |
| r20019 | r20020 | |
| 2301 | 2301 | newESP = READ32(cpustate, ea+12); |
| 2302 | 2302 | newSS = READ32(cpustate, ea+16) & 0xffff; |
| 2303 | 2303 | /* Return to v86 mode */ |
| 2304 | | logerror("IRET (%08x): Returning to Virtual 8086 mode.\n",cpustate->pc); |
| 2304 | //logerror("IRET (%08x): Returning to Virtual 8086 mode.\n",cpustate->pc); |
| 2305 | 2305 | if(CPL != 0) |
| 2306 | 2306 | { |
| 2307 | 2307 | UINT32 oldflags = get_flags(cpustate); |