src/emu/video/pc_vga.c
| r14379 | r14380 | |
| 22 | 22 | - fix video update. |
| 23 | 23 | - rewrite video drawing functions (they are horrible) |
| 24 | 24 | - add VESA etc. |
| 25 | | - "System Information" UI currently crashes the emulation |
| 26 | 25 | - (and many more ...) |
| 27 | 26 | |
| 28 | 27 | per-game issues: |
| r14379 | r14380 | |
| 30 | 29 | - MAME 0.01: fix 92 Hz refresh rate bug (uses VESA register?). |
| 31 | 30 | - Bio Menace: jerky H scrolling (uses EGA mode) |
| 32 | 31 | - Virtual Pool: ET4k unrecognized; |
| 33 | | - California Chase (calchase): init bug causes messed up chars at POST |
| 34 | | (gfxs works if you soft reset). |
| 32 | - California Chase (calchase): various gfx bugs, CPU related? |
| 35 | 33 | |
| 36 | 34 | ROM declarations: |
| 37 | 35 | |
| r14379 | r14380 | |
| 1996 | 1994 | |
| 1997 | 1995 | vga_mem_w(space,offset,data); |
| 1998 | 1996 | } |
| 1997 | |
| 1998 | /****************************************** |
| 1999 | |
| 2000 | S3 implementation |
| 2001 | |
| 2002 | ******************************************/ |
| 2003 | |
| 2004 | READ8_HANDLER(s3_port_03c0_r) |
| 2005 | { |
| 2006 | UINT8 res; |
| 2007 | |
| 2008 | switch(offset) |
| 2009 | { |
| 2010 | default: |
| 2011 | res = vga_port_03c0_r(space,offset); |
| 2012 | break; |
| 2013 | } |
| 2014 | |
| 2015 | return res; |
| 2016 | } |
| 2017 | |
| 2018 | WRITE8_HANDLER(s3_port_03c0_w) |
| 2019 | { |
| 2020 | switch(offset) |
| 2021 | { |
| 2022 | default: |
| 2023 | vga_port_03c0_w(space,offset,data); |
| 2024 | break; |
| 2025 | } |
| 2026 | } |
| 2027 | |
| 2028 | |
| 2029 | READ8_HANDLER(s3_port_03d0_r) |
| 2030 | { |
| 2031 | UINT8 res = 0xff; |
| 2032 | |
| 2033 | if (CRTC_PORT_ADDR == 0x3d0) |
| 2034 | { |
| 2035 | switch(offset) |
| 2036 | { |
| 2037 | default: |
| 2038 | res = vga_port_03d0_r(space,offset); |
| 2039 | break; |
| 2040 | } |
| 2041 | } |
| 2042 | |
| 2043 | return res; |
| 2044 | } |
| 2045 | |
| 2046 | WRITE8_HANDLER(s3_port_03d0_w) |
| 2047 | { |
| 2048 | if (CRTC_PORT_ADDR == 0x3d0) |
| 2049 | { |
| 2050 | switch(offset) |
| 2051 | { |
| 2052 | default: |
| 2053 | vga_port_03d0_w(space,offset,data); |
| 2054 | break; |
| 2055 | } |
| 2056 | } |
| 2057 | } |
| 2058 | |
| 2059 | READ8_HANDLER( s3_mem_r ) |
| 2060 | { |
| 2061 | return vga_mem_r(space,offset); |
| 2062 | } |
| 2063 | |
| 2064 | WRITE8_HANDLER( s3_mem_w ) |
| 2065 | { |
| 2066 | vga_mem_w(space,offset,data); |
| 2067 | } |
| 2068 | |
src/mess/video/isa_svga_s3.c
| r14379 | r14380 | |
| 52 | 52 | device_t(mconfig, ISA8_SVGA_S3, "ISA8_SVGA_S3", tag, owner, clock), |
| 53 | 53 | device_isa8_card_interface(mconfig, *this) |
| 54 | 54 | { |
| 55 | | m_shortname = "s3_864"; |
| 55 | m_shortname = "s3_764"; |
| 56 | 56 | } |
| 57 | 57 | |
| 58 | 58 | //------------------------------------------------- |
| r14379 | r14380 | |
| 76 | 76 | m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "svga", "s3_764"); |
| 77 | 77 | |
| 78 | 78 | m_isa->install_device(0x3b0, 0x3bf, 0, 0, FUNC(vga_port_03b0_r), FUNC(vga_port_03b0_w)); |
| 79 | | m_isa->install_device(0x3c0, 0x3cf, 0, 0, FUNC(vga_port_03c0_r), FUNC(vga_port_03c0_w)); |
| 80 | | m_isa->install_device(0x3d0, 0x3df, 0, 0, FUNC(vga_port_03d0_r), FUNC(vga_port_03d0_w)); |
| 79 | m_isa->install_device(0x3c0, 0x3cf, 0, 0, FUNC(s3_port_03c0_r), FUNC(s3_port_03c0_w)); |
| 80 | m_isa->install_device(0x3d0, 0x3df, 0, 0, FUNC(s3_port_03d0_r), FUNC(s3_port_03d0_w)); |
| 81 | 81 | |
| 82 | | m_isa->install_memory(0xa0000, 0xbffff, 0, 0, FUNC(vga_mem_r), FUNC(vga_mem_w)); |
| 82 | m_isa->install_memory(0xa0000, 0xbffff, 0, 0, FUNC(s3_mem_r), FUNC(s3_mem_w)); |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | //------------------------------------------------- |