diff options
author | 2022-12-25 02:25:32 +0100 | |
---|---|---|
committer | 2022-12-25 02:25:32 +0100 | |
commit | ec64e9200e5103511e96b4e5e1f2ad2a63eb5a5e (patch) | |
tree | 73fbfac3c51f3e683b45c50f8c81e690d6de259d /src | |
parent | 0ce06a9d748f59455655f004a1d92f5e03d1ee5c (diff) |
misc/gamtor.cpp: rearrange SVGA map layout, allow beetlem to show video
Diffstat (limited to 'src')
-rw-r--r-- | src/devices/video/pc_vga.cpp | 4 | ||||
-rw-r--r-- | src/devices/video/pc_vga.h | 6 | ||||
-rw-r--r-- | src/mame/misc/gamtor.cpp | 8 |
3 files changed, 11 insertions, 7 deletions
diff --git a/src/devices/video/pc_vga.cpp b/src/devices/video/pc_vga.cpp index f5d39a839cf..e21651bf479 100644 --- a/src/devices/video/pc_vga.cpp +++ b/src/devices/video/pc_vga.cpp @@ -5004,14 +5004,14 @@ gamtor.cpp implementation // 65550 is used by Apple PowerBook 2400c // 65535 is used by IBM PC-110 -uint8_t gamtor_vga_device::mem_r(offs_t offset) +uint8_t gamtor_vga_device::mem_linear_r(offs_t offset) { if (!machine().side_effects_disabled()) logerror("Reading gamtor SVGA memory %08x\n", offset); return vga.memory[offset]; } -void gamtor_vga_device::mem_w(offs_t offset, uint8_t data) +void gamtor_vga_device::mem_linear_w(offs_t offset, uint8_t data) { if (offset & 2) vga.memory[(offset >> 2) + 0x20000] = data; diff --git a/src/devices/video/pc_vga.h b/src/devices/video/pc_vga.h index 1d470821ec7..cde088a8b8d 100644 --- a/src/devices/video/pc_vga.h +++ b/src/devices/video/pc_vga.h @@ -689,8 +689,10 @@ public: virtual void port_03c0_w(offs_t offset, uint8_t data) override; virtual uint8_t port_03d0_r(offs_t offset) override; virtual void port_03d0_w(offs_t offset, uint8_t data) override; - virtual uint8_t mem_r(offs_t offset) override; - virtual void mem_w(offs_t offset, uint8_t data) override; +// virtual uint8_t mem_r(offs_t offset) override; +// virtual void mem_w(offs_t offset, uint8_t data) override; + virtual uint8_t mem_linear_r(offs_t offset) override; + virtual void mem_linear_w(offs_t offset,uint8_t data) override; protected: virtual uint16_t offset() override; diff --git a/src/mame/misc/gamtor.cpp b/src/mame/misc/gamtor.cpp index e6f5b87bc3f..6d25e78a259 100644 --- a/src/mame/misc/gamtor.cpp +++ b/src/mame/misc/gamtor.cpp @@ -72,9 +72,11 @@ void gaminator_state::gaminator_map(address_map &map) map(0x400003c0, 0x400003cf).rw("vga", FUNC(gamtor_vga_device::port_03c0_r), FUNC(gamtor_vga_device::port_03c0_w)); map(0x400003d0, 0x400003df).rw("vga", FUNC(gamtor_vga_device::port_03d0_r), FUNC(gamtor_vga_device::port_03d0_w)); - map(0x44000000, 0x4401ffff).rw("vga", FUNC(gamtor_vga_device::mem_r), FUNC(gamtor_vga_device::mem_w)); // VRAM -// map(0x44000000, 0x44007fff).ram().share("tmapram1"); // puts strings here, looks almost like a tilemap, but where are the tiles? -// map(0x440a0000, 0x440a1fff).ram().share("tmapram2"); // beetlem (like above, mirror?) + // TODO: revisit mapping in VGA core once it enters non-text mode + map(0x44000000, 0x4401ffff).rw("vga", FUNC(gamtor_vga_device::mem_linear_r), FUNC(gamtor_vga_device::mem_linear_w)); + + // beetlem accesses here, standard layout unlike later games + map(0x440a0000, 0x440bffff).rw("vga", FUNC(gamtor_vga_device::mem_r), FUNC(gamtor_vga_device::mem_w)); map(0xe0000000, 0xe00001ff).ram(); // nvram? map(0xf0000000, 0xf00003ff).rw("maincpu_onboard", FUNC(mcf5206e_peripheral_device::dev_r), FUNC(mcf5206e_peripheral_device::dev_w)); // technically this can be moved with MBAR |