Previous 199869 Revisions Next

r20751 Tuesday 5th February, 2013 at 21:38:12 UTC by Angelo Salese
Corrected VDP2 VRAM mirror, fixes missing gfxs in Civilization and Silhouette Mirage
[src/mame/drivers]saturn.c
[src/mame/video]stvvdp2.c

trunk/src/mame/drivers/saturn.c
r20750r20751
789789   AM_RANGE(0x05c00000, 0x05c7ffff) AM_READWRITE_LEGACY(saturn_vdp1_vram_r, saturn_vdp1_vram_w)
790790   AM_RANGE(0x05c80000, 0x05cbffff) AM_READWRITE_LEGACY(saturn_vdp1_framebuffer0_r, saturn_vdp1_framebuffer0_w)
791791   AM_RANGE(0x05d00000, 0x05d0001f) AM_READWRITE16_LEGACY(saturn_vdp1_regs_r, saturn_vdp1_regs_w,0xffffffff)
792   AM_RANGE(0x05e00000, 0x05efffff) AM_READWRITE_LEGACY(saturn_vdp2_vram_r, saturn_vdp2_vram_w)
792   AM_RANGE(0x05e00000, 0x05e7ffff) AM_MIRROR(0x80000) AM_READWRITE_LEGACY(saturn_vdp2_vram_r, saturn_vdp2_vram_w)
793793   AM_RANGE(0x05f00000, 0x05f7ffff) AM_READWRITE_LEGACY(saturn_vdp2_cram_r, saturn_vdp2_cram_w)
794794   AM_RANGE(0x05f80000, 0x05fbffff) AM_READWRITE16_LEGACY(saturn_vdp2_regs_r, saturn_vdp2_regs_w,0xffffffff)
795795   AM_RANGE(0x05fe0000, 0x05fe00cf) AM_READWRITE(saturn_scu_r, saturn_scu_w)
r20750r20751
797797   AM_RANGE(0x20000000, 0x2007ffff) AM_ROM AM_SHARE("share6")  // bios mirror
798798   AM_RANGE(0x22000000, 0x24ffffff) AM_ROM AM_SHARE("share7")  // cart mirror
799799   AM_RANGE(0x45000000, 0x46ffffff) AM_WRITENOP
800   AM_RANGE(0xc0000000, 0xc00007ff) AM_RAM // cache RAM, Dragon Ball Z sprites needs this
800   AM_RANGE(0x60000000, 0x600003ff) AM_WRITENOP // cache address array
801   AM_RANGE(0xc0000000, 0xc00007ff) AM_RAM // cache data array, Dragon Ball Z sprites relies on this
801802ADDRESS_MAP_END
802803
803804static ADDRESS_MAP_START( stv_mem, AS_PROGRAM, 32, saturn_state )
r20750r20751
817818   AM_RANGE(0x05c00000, 0x05c7ffff) AM_READWRITE_LEGACY(saturn_vdp1_vram_r, saturn_vdp1_vram_w)
818819   AM_RANGE(0x05c80000, 0x05cbffff) AM_READWRITE_LEGACY(saturn_vdp1_framebuffer0_r, saturn_vdp1_framebuffer0_w)
819820   AM_RANGE(0x05d00000, 0x05d0001f) AM_READWRITE16_LEGACY(saturn_vdp1_regs_r, saturn_vdp1_regs_w,0xffffffff)
820   AM_RANGE(0x05e00000, 0x05efffff) AM_READWRITE_LEGACY(saturn_vdp2_vram_r, saturn_vdp2_vram_w)
821   AM_RANGE(0x05e00000, 0x05e7ffff) AM_MIRROR(0x80000) AM_READWRITE_LEGACY(saturn_vdp2_vram_r, saturn_vdp2_vram_w)
821822   AM_RANGE(0x05f00000, 0x05f7ffff) AM_READWRITE_LEGACY(saturn_vdp2_cram_r, saturn_vdp2_cram_w)
822823   AM_RANGE(0x05f80000, 0x05fbffff) AM_READWRITE16_LEGACY(saturn_vdp2_regs_r, saturn_vdp2_regs_w,0xffffffff)
823824   AM_RANGE(0x05fe0000, 0x05fe00cf) AM_READWRITE(saturn_scu_r, saturn_scu_w)
trunk/src/mame/video/stvvdp2.c
r20750r20751
719719   #define STV_VDP2_MPOFN_ (state->m_vdp2_regs[0x03c/2])
720720
721721   /* Higher 3 bits of the map offset for each layer */
722   #define STV_VDP2_N3MP_ ((STV_VDP2_MPOFN_ & 0x7000) >> 12)
723   #define STV_VDP2_N2MP_ ((STV_VDP2_MPOFN_ & 0x0700) >> 8)
724   #define STV_VDP2_N1MP_ ((STV_VDP2_MPOFN_ & 0x0070) >> 4)
725   #define STV_VDP2_N0MP_ ((STV_VDP2_MPOFN_ & 0x0007) >> 0)
722   #define STV_VDP2_N3MP_ ((STV_VDP2_MPOFN_ & 0x3000) >> 12)
723   #define STV_VDP2_N2MP_ ((STV_VDP2_MPOFN_ & 0x0300) >> 8)
724   #define STV_VDP2_N1MP_ ((STV_VDP2_MPOFN_ & 0x0030) >> 4)
725   #define STV_VDP2_N0MP_ ((STV_VDP2_MPOFN_ & 0x0003) >> 0)
726726
727727
728728
r20750r20751
736736
737737   #define STV_VDP2_MPOFR_ (state->m_vdp2_regs[0x03e/2])
738738
739   #define STV_VDP2_RAMP_ ((STV_VDP2_MPOFR_ & 0x0007) >> 0)
740   #define STV_VDP2_RBMP_ ((STV_VDP2_MPOFR_ & 0x0070) >> 4)
739   #define STV_VDP2_RBMP_ ((STV_VDP2_MPOFR_ & 0x0030) >> 4)
740   #define STV_VDP2_RAMP_ ((STV_VDP2_MPOFR_ & 0x0003) >> 0)
741741
742742/* 180040 - MPABN0 - Map (NBG0, Plane A,B)
743743 bit-> /----15----|----14----|----13----|----12----|----11----|----10----|----09----|----08----\
r20750r20751
53665366   }
53675367}
53685368
5369READ32_HANDLER ( saturn_vdp2_vram_r )
5370{
5371   saturn_state *state = space.machine().driver_data<saturn_state>();
53695372
5373   return state->m_vdp2_vram[offset];
5374}
5375
53705376WRITE32_HANDLER ( saturn_vdp2_vram_w )
53715377{
53725378   saturn_state *state = space.machine().driver_data<saturn_state>();
r20750r20751
55135519}
55145520
55155521
5516READ32_HANDLER ( saturn_vdp2_vram_r )
5517{
5518   saturn_state *state = space.machine().driver_data<saturn_state>();
55195522
5520   return state->m_vdp2_vram[offset];
5521}
55225523
55235524WRITE32_HANDLER ( saturn_vdp2_cram_w )
55245525{

Previous 199869 Revisions Next


© 1997-2024 The MAME Team