mirror of
https://github.com/holub/mame
synced 2025-05-15 18:32:02 +03:00
Eliminates the extern variables from atarimo video core, in order to remove a significant source of AM_BASE macros. [Atari Ace]
This commit is contained in:
parent
a86ea403e8
commit
24c52a794a
@ -69,6 +69,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/arcadecl.h"
|
||||
|
||||
|
||||
@ -155,9 +156,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE_MEMBER(arcadecl_state, m_bitmap)
|
||||
AM_RANGE(0x3c0000, 0x3c07ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3e0000, 0x3e07ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3e0800, 0x3effbf) AM_RAM
|
||||
AM_RANGE(0x3effc0, 0x3effff) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x640000, 0x640001) AM_READ_PORT("PLAYER1")
|
||||
AM_RANGE(0x640002, 0x640003) AM_READ_PORT("PLAYER2")
|
||||
AM_RANGE(0x640010, 0x640011) AM_READ_PORT("STATUS")
|
||||
|
@ -193,10 +193,11 @@ RoadBlasters (aka Future Vette):005*
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "includes/atarisy1.h"
|
||||
#include "sound/tms5220.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "sound/pokey.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/atarisy1.h"
|
||||
|
||||
|
||||
|
||||
@ -481,7 +482,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x8c0000, 0x8c0001) AM_WRITE(atarigen_eeprom_enable_w)
|
||||
AM_RANGE(0x900000, 0x9fffff) AM_RAM
|
||||
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(atarisy1_state, m_playfield)
|
||||
AM_RANGE(0xa02000, 0xa02fff) AM_RAM_WRITE(atarisy1_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xa02000, 0xa02fff) AM_READWRITE(atarimo_0_spriteram_r, atarisy1_spriteram_w)
|
||||
AM_RANGE(0xa03000, 0xa03fff) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(atarisy1_state, m_alpha)
|
||||
AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xf00000, 0xf00fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
|
||||
|
@ -165,8 +165,9 @@ Measurements -
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "includes/badlands.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/badlands.h"
|
||||
|
||||
|
||||
|
||||
@ -398,7 +399,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0xfee000, 0xfeffff) AM_WRITE(atarigen_eeprom_enable_w)
|
||||
AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(badlands_state, m_playfield)
|
||||
AM_RANGE(0xfff000, 0xfff1ff) AM_RAM_WRITE(atarimo_0_spriteram_expanded_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xfff000, 0xfff1ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_expanded_w)
|
||||
AM_RANGE(0xfff200, 0xffffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -660,7 +661,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0xfee000, 0xfeffff) AM_WRITE(atarigen_eeprom_enable_w)
|
||||
AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(badlands_state, m_playfield)
|
||||
AM_RANGE(0xfff000, 0xfff1ff) AM_RAM_WRITE(atarimo_0_spriteram_expanded_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xfff000, 0xfff1ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_expanded_w)
|
||||
AM_RANGE(0xfff200, 0xffffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/batman.h"
|
||||
|
||||
|
||||
@ -147,10 +148,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x100000) AM_WRITE(atarigen_playfield2_latched_msb_w) AM_BASE_MEMBER(batman_state, m_playfield2)
|
||||
AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x100000) AM_WRITE(atarigen_playfield_latched_lsb_w) AM_BASE_MEMBER(batman_state, m_playfield)
|
||||
AM_RANGE(0x3f4000, 0x3f5fff) AM_MIRROR(0x100000) AM_WRITE(atarigen_playfield_dual_upper_w) AM_BASE_MEMBER(batman_state, m_playfield_upper)
|
||||
AM_RANGE(0x3f6000, 0x3f7fff) AM_MIRROR(0x100000) AM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3f8000, 0x3f8fef) AM_MIRROR(0x100000) AM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(batman_state, m_alpha)
|
||||
AM_RANGE(0x3f6000, 0x3f7fff) AM_MIRROR(0x100000) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3f8000, 0x3f8eff) AM_MIRROR(0x100000) AM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(batman_state, m_alpha)
|
||||
AM_RANGE(0x3f8f00, 0x3f8f7f) AM_MIRROR(0x100000) AM_BASE_MEMBER(batman_state, m_atarivc_eof_data)
|
||||
AM_RANGE(0x3f8f80, 0x3f8fff) AM_MIRROR(0x100000) AM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3f8f80, 0x3f8fff) AM_MIRROR(0x100000) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x3f0000, 0x3fffff) AM_MIRROR(0x100000) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/blstroid.h"
|
||||
|
||||
|
||||
@ -108,7 +109,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
|
||||
AM_RANGE(0xffc000, 0xffcfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(blstroid_state, m_playfield)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0xffe000, 0xffffff) AM_MIRROR(0x7f8000) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "sound/dac.h"
|
||||
#include "rendlay.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/cyberbal.h"
|
||||
|
||||
|
||||
@ -162,11 +163,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0xfec000, 0xfecfff) AM_RAM_WRITE(cyberbal_paletteram_0_w) AM_SHARE("share2") AM_BASE_MEMBER(cyberbal_state, m_paletteram_0)
|
||||
AM_RANGE(0xff0000, 0xff1fff) AM_RAM_WRITE(atarigen_playfield2_w) AM_SHARE("share3") AM_BASE_MEMBER(cyberbal_state, m_playfield2)
|
||||
AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(atarigen_alpha2_w) AM_SHARE("share4") AM_BASE_MEMBER(cyberbal_state, m_alpha2)
|
||||
AM_RANGE(0xff3000, 0xff37ff) AM_RAM_WRITE(atarimo_1_spriteram_w) AM_SHARE("share5") AM_BASE(&atarimo_1_spriteram)
|
||||
AM_RANGE(0xff3000, 0xff37ff) AM_READWRITE(atarimo_1_spriteram_r, atarimo_1_spriteram_w)
|
||||
AM_RANGE(0xff3800, 0xff3fff) AM_RAM AM_SHARE("share6")
|
||||
AM_RANGE(0xff4000, 0xff5fff) AM_RAM_WRITE(atarigen_playfield_w) AM_SHARE("share7") AM_BASE_MEMBER(cyberbal_state, m_playfield)
|
||||
AM_RANGE(0xff6000, 0xff6fff) AM_RAM_WRITE(atarigen_alpha_w) AM_SHARE("share8") AM_BASE_MEMBER(cyberbal_state, m_alpha)
|
||||
AM_RANGE(0xff7000, 0xff77ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_SHARE("share9") AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xff7000, 0xff77ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0xff7800, 0xff9fff) AM_RAM AM_SHARE("share10")
|
||||
AM_RANGE(0xffa000, 0xffbfff) AM_READONLY AM_WRITENOP AM_SHARE("share11")
|
||||
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("share12")
|
||||
@ -189,11 +190,11 @@ static ADDRESS_MAP_START( extra_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0xfec000, 0xfecfff) AM_RAM_WRITE(cyberbal_paletteram_0_w) AM_SHARE("share2")
|
||||
AM_RANGE(0xff0000, 0xff1fff) AM_RAM_WRITE(atarigen_playfield2_w) AM_SHARE("share3")
|
||||
AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(atarigen_alpha2_w) AM_SHARE("share4")
|
||||
AM_RANGE(0xff3000, 0xff37ff) AM_RAM_WRITE(atarimo_1_spriteram_w) AM_SHARE("share5")
|
||||
AM_RANGE(0xff3000, 0xff37ff) AM_READWRITE(atarimo_1_spriteram_r, atarimo_1_spriteram_w)
|
||||
AM_RANGE(0xff3800, 0xff3fff) AM_RAM AM_SHARE("share6")
|
||||
AM_RANGE(0xff4000, 0xff5fff) AM_RAM_WRITE(atarigen_playfield_w) AM_SHARE("share7")
|
||||
AM_RANGE(0xff6000, 0xff6fff) AM_RAM_WRITE(atarigen_alpha_w) AM_SHARE("share8")
|
||||
AM_RANGE(0xff7000, 0xff77ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_SHARE("share9")
|
||||
AM_RANGE(0xff7000, 0xff77ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0xff7800, 0xff9fff) AM_RAM AM_SHARE("share10")
|
||||
AM_RANGE(0xffa000, 0xffbfff) AM_RAM AM_SHARE("share11")
|
||||
AM_RANGE(0xffc000, 0xffffff) AM_READONLY AM_WRITENOP AM_SHARE("share12")
|
||||
@ -263,7 +264,7 @@ static ADDRESS_MAP_START( cyberbal2p_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0xfe0000, 0xfe0003) AM_READ(sound_state_r)
|
||||
AM_RANGE(0xff0000, 0xff1fff) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(cyberbal_state, m_playfield)
|
||||
AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(cyberbal_state, m_alpha)
|
||||
AM_RANGE(0xff3000, 0xff37ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xff3000, 0xff37ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0xff3800, 0xffffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/eprom.h"
|
||||
|
||||
|
||||
@ -176,9 +177,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x360030, 0x360031) AM_WRITE(atarigen_sound_w)
|
||||
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x3f0000, 0x3f1fff) AM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(eprom_state, m_playfield)
|
||||
AM_RANGE(0x3f2000, 0x3f3fff) AM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3f2000, 0x3f3fff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3f4000, 0x3f4f7f) AM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(eprom_state, m_alpha)
|
||||
AM_RANGE(0x3f4f80, 0x3f4fff) AM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3f4f80, 0x3f4fff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x3f8000, 0x3f9fff) AM_WRITE(atarigen_playfield_upper_w) AM_BASE_MEMBER(eprom_state, m_playfield_upper)
|
||||
AM_RANGE(0x3f0000, 0x3f9fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
@ -202,9 +203,9 @@ static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xff0000, 0xff1fff) AM_WRITE(atarigen_playfield_upper_w) AM_BASE_MEMBER(eprom_state, m_playfield_upper)
|
||||
AM_RANGE(0xff8000, 0xff9fff) AM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(eprom_state, m_playfield)
|
||||
AM_RANGE(0xffa000, 0xffbfff) AM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xffa000, 0xffbfff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0xffc000, 0xffcf7f) AM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(eprom_state, m_alpha)
|
||||
AM_RANGE(0xffcf80, 0xffcfff) AM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0xffcf80, 0xffcfff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0xff0000, 0xff1fff) AM_RAM
|
||||
AM_RANGE(0xff8000, 0xffffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
@ -124,6 +124,7 @@
|
||||
#include "sound/tms5220.h"
|
||||
#include "sound/2151intf.h"
|
||||
#include "sound/pokey.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/gauntlet.h"
|
||||
|
||||
|
||||
@ -325,11 +326,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
|
||||
/* VBUS */
|
||||
AM_RANGE(0x900000, 0x901fff) AM_MIRROR(0x2c8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(gauntlet_state, m_playfield)
|
||||
AM_RANGE(0x902000, 0x903fff) AM_MIRROR(0x2c8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x902000, 0x903fff) AM_MIRROR(0x2c8000) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x904000, 0x904fff) AM_MIRROR(0x2c8000) AM_RAM
|
||||
AM_RANGE(0x905f6e, 0x905f6f) AM_MIRROR(0x2c8000) AM_RAM_WRITE(gauntlet_yscroll_w) AM_BASE_MEMBER(gauntlet_state, m_yscroll)
|
||||
AM_RANGE(0x905000, 0x905f7f) AM_MIRROR(0x2c8000) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(gauntlet_state, m_alpha)
|
||||
AM_RANGE(0x905f80, 0x905fff) AM_MIRROR(0x2c8000) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x905f80, 0x905fff) AM_MIRROR(0x2c8000) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x910000, 0x9107ff) AM_MIRROR(0x2cf800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x930000, 0x930001) AM_MIRROR(0x2cfffe) AM_WRITE(gauntlet_xscroll_w) AM_BASE_MEMBER(gauntlet_state, m_xscroll)
|
||||
ADDRESS_MAP_END
|
||||
|
@ -19,8 +19,9 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "includes/klax.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/klax.h"
|
||||
|
||||
|
||||
|
||||
@ -93,9 +94,9 @@ static ADDRESS_MAP_START( klax_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x360000, 0x360001) AM_WRITE(interrupt_ack_w)
|
||||
AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(klax_state, m_playfield)
|
||||
AM_RANGE(0x3f0f80, 0x3f0fff) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3f0f80, 0x3f0fff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_WRITE(atarigen_playfield_upper_w) AM_BASE_MEMBER(klax_state, m_playfield_upper)
|
||||
AM_RANGE(0x3f2000, 0x3f27ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3f2000, 0x3f27ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3f2800, 0x3f3fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/offtwall.h"
|
||||
|
||||
|
||||
@ -295,10 +296,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(offtwall_atarivc_r, offtwall_atarivc_w) AM_BASE_MEMBER(offtwall_state, m_atarivc_data)
|
||||
AM_RANGE(0x3f4000, 0x3f5eff) AM_RAM_WRITE(atarigen_playfield_latched_msb_w) AM_BASE_MEMBER(offtwall_state, m_playfield)
|
||||
AM_RANGE(0x3f5f00, 0x3f5f7f) AM_RAM AM_BASE_MEMBER(offtwall_state, m_atarivc_eof_data)
|
||||
AM_RANGE(0x3f5f80, 0x3f5fff) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3f5f80, 0x3f5fff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x3f6000, 0x3f7fff) AM_RAM_WRITE(atarigen_playfield_upper_w) AM_BASE_MEMBER(offtwall_state, m_playfield_upper)
|
||||
AM_RANGE(0x3f8000, 0x3fcfff) AM_RAM
|
||||
AM_RANGE(0x3fd000, 0x3fd7ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3fd000, 0x3fd7ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3fd800, 0x3fffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -24,9 +24,10 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "includes/rampart.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "sound/2413intf.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/rampart.h"
|
||||
|
||||
|
||||
#define MASTER_CLOCK XTAL_14_31818MHz
|
||||
@ -139,9 +140,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE_MEMBER(rampart_state, m_bitmap)
|
||||
AM_RANGE(0x220000, 0x3bffff) AM_WRITENOP /* the code blasts right through this when initializing */
|
||||
AM_RANGE(0x3c0000, 0x3c07ff) AM_MIRROR(0x019800) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x3e0000, 0x3e07ff) AM_MIRROR(0x010000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3e0000, 0x3e07ff) AM_MIRROR(0x010000) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3e0800, 0x3e3f3f) AM_MIRROR(0x010000) AM_RAM
|
||||
AM_RANGE(0x3e3f40, 0x3e3f7f) AM_MIRROR(0x010000) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3e3f40, 0x3e3f7f) AM_MIRROR(0x010000) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x3e3f80, 0x3effff) AM_MIRROR(0x010000) AM_RAM
|
||||
AM_RANGE(0x460000, 0x460001) AM_MIRROR(0x019ffe) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00)
|
||||
AM_RANGE(0x480000, 0x480003) AM_MIRROR(0x019ffc) AM_DEVWRITE8("ymsnd", ym2413_w, 0xff00)
|
||||
|
@ -20,9 +20,10 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "includes/relief.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "sound/2413intf.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/relief.h"
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -165,10 +166,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_WRITE(atarigen_playfield2_latched_msb_w) AM_BASE_MEMBER(relief_state, m_playfield2)
|
||||
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM_WRITE(atarigen_playfield_latched_lsb_w) AM_BASE_MEMBER(relief_state, m_playfield)
|
||||
AM_RANGE(0x3f4000, 0x3f5fff) AM_RAM_WRITE(atarigen_playfield_dual_upper_w) AM_BASE_MEMBER(relief_state, m_playfield_upper)
|
||||
AM_RANGE(0x3f6000, 0x3f67ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3f6000, 0x3f67ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3f6800, 0x3f8eff) AM_RAM
|
||||
AM_RANGE(0x3f8f00, 0x3f8f7f) AM_RAM AM_BASE_MEMBER(relief_state, m_atarivc_eof_data)
|
||||
AM_RANGE(0x3f8f80, 0x3f8fff) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3f8f80, 0x3f8fff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x3f9000, 0x3fffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -19,8 +19,9 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "includes/shuuz.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/shuuz.h"
|
||||
|
||||
|
||||
|
||||
@ -151,10 +152,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(shuuz_atarivc_r, shuuz_atarivc_w) AM_BASE_MEMBER(shuuz_state, m_atarivc_data)
|
||||
AM_RANGE(0x3f4000, 0x3f5eff) AM_RAM_WRITE(atarigen_playfield_latched_msb_w) AM_BASE_MEMBER(shuuz_state, m_playfield)
|
||||
AM_RANGE(0x3f5f00, 0x3f5f7f) AM_RAM AM_BASE_MEMBER(shuuz_state, m_atarivc_eof_data)
|
||||
AM_RANGE(0x3f5f80, 0x3f5fff) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3f5f80, 0x3f5fff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x3f6000, 0x3f7fff) AM_RAM_WRITE(atarigen_playfield_upper_w) AM_BASE_MEMBER(shuuz_state, m_playfield_upper)
|
||||
AM_RANGE(0x3f8000, 0x3fcfff) AM_RAM
|
||||
AM_RANGE(0x3fd000, 0x3fd3ff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3fd000, 0x3fd3ff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3fd400, 0x3fffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/skullxbo.h"
|
||||
|
||||
|
||||
@ -151,8 +152,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0xff8000, 0xff9fff) AM_RAM_WRITE(atarigen_playfield_latched_lsb_w) AM_BASE_MEMBER(skullxbo_state, m_playfield)
|
||||
AM_RANGE(0xffa000, 0xffbfff) AM_RAM_WRITE(atarigen_playfield_upper_w) AM_BASE_MEMBER(skullxbo_state, m_playfield_upper)
|
||||
AM_RANGE(0xffc000, 0xffcf7f) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(skullxbo_state, m_alpha)
|
||||
AM_RANGE(0xffcf80, 0xffcfff) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xffcf80, 0xffcfff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0xffe000, 0xffffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/thunderj.h"
|
||||
|
||||
|
||||
@ -168,10 +169,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_WRITE(atarigen_playfield2_latched_msb_w) AM_BASE_MEMBER(thunderj_state, m_playfield2)
|
||||
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM_WRITE(atarigen_playfield_latched_lsb_w) AM_BASE_MEMBER(thunderj_state, m_playfield)
|
||||
AM_RANGE(0x3f4000, 0x3f5fff) AM_RAM_WRITE(atarigen_playfield_dual_upper_w) AM_BASE_MEMBER(thunderj_state, m_playfield_upper)
|
||||
AM_RANGE(0x3f6000, 0x3f7fff) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3f6000, 0x3f7fff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3f8000, 0x3f8eff) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(thunderj_state, m_alpha)
|
||||
AM_RANGE(0x3f8f00, 0x3f8f7f) AM_RAM AM_BASE_MEMBER(thunderj_state, m_atarivc_eof_data)
|
||||
AM_RANGE(0x3f8f80, 0x3f8fff) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3f8f80, 0x3f8fff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x3f9000, 0x3fffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/toobin.h"
|
||||
|
||||
#define MASTER_CLOCK XTAL_32MHz
|
||||
@ -111,14 +112,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0xc00000, 0xc07fff) AM_RAM_WRITE(atarigen_playfield_large_w) AM_BASE_MEMBER(toobin_state, m_playfield)
|
||||
AM_RANGE(0xc08000, 0xc097ff) AM_MIRROR(0x046000) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(toobin_state, m_alpha)
|
||||
AM_RANGE(0xc09800, 0xc09fff) AM_MIRROR(0x046000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xc09800, 0xc09fff) AM_MIRROR(0x046000) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE(toobin_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xff6000, 0xff6001) AM_READNOP /* who knows? read at controls time */
|
||||
AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x4500fe) AM_WRITE(watchdog_reset16_w)
|
||||
AM_RANGE(0xff8100, 0xff8101) AM_MIRROR(0x4500fe) AM_WRITE(atarigen_sound_w)
|
||||
AM_RANGE(0xff8300, 0xff8301) AM_MIRROR(0x45003e) AM_WRITE(toobin_intensity_w)
|
||||
AM_RANGE(0xff8340, 0xff8341) AM_MIRROR(0x45003e) AM_WRITE(interrupt_scan_w) AM_BASE_MEMBER(toobin_state, m_interrupt_scan)
|
||||
AM_RANGE(0xff8380, 0xff8381) AM_MIRROR(0x45003e) AM_WRITE(toobin_slip_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0xff8380, 0xff8381) AM_MIRROR(0x45003e) AM_READWRITE(atarimo_0_slipram_r, toobin_slip_w)
|
||||
AM_RANGE(0xff83c0, 0xff83c1) AM_MIRROR(0x45003e) AM_WRITE(atarigen_scanline_int_ack_w)
|
||||
AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x4500fe) AM_WRITE(atarigen_sound_reset_w)
|
||||
AM_RANGE(0xff8500, 0xff8501) AM_MIRROR(0x4500fe) AM_WRITE(atarigen_eeprom_enable_w)
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/vindictr.h"
|
||||
|
||||
|
||||
@ -97,9 +98,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x360030, 0x360031) AM_WRITE(atarigen_sound_w)
|
||||
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(vindictr_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(vindictr_state, m_playfield)
|
||||
AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x8000) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0x3f4000, 0x3f4f7f) AM_MIRROR(0x8000) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(vindictr_state, m_alpha)
|
||||
AM_RANGE(0x3f4f80, 0x3f4fff) AM_MIRROR(0x8000) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
|
||||
AM_RANGE(0x3f4f80, 0x3f4fff) AM_MIRROR(0x8000) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
|
||||
AM_RANGE(0x3f5000, 0x3f7fff) AM_MIRROR(0x8000) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "audio/atarijsa.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/xybots.h"
|
||||
|
||||
|
||||
@ -89,7 +90,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x010000, 0x03ffff) AM_MIRROR(0x7c0000) AM_ROM
|
||||
AM_RANGE(0xff8000, 0xff8fff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(xybots_state, m_alpha)
|
||||
AM_RANGE(0xff9000, 0xffadff) AM_MIRROR(0x7f8000) AM_RAM
|
||||
AM_RANGE(0xffae00, 0xffafff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
|
||||
AM_RANGE(0xffae00, 0xffafff) AM_MIRROR(0x7f8000) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
|
||||
AM_RANGE(0xffb000, 0xffbfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(xybots_state, m_playfield)
|
||||
AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
|
||||
|
@ -45,6 +45,7 @@
|
||||
#include "sound/tms5220.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "sound/pokey.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/slapstic.h"
|
||||
#include "atarigen.h"
|
||||
|
||||
|
@ -41,7 +41,6 @@
|
||||
#define __MACHINE_ATARIGEN__
|
||||
|
||||
#include "machine/nvram.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "machine/er2055.h"
|
||||
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/arcadecl.h"
|
||||
|
||||
|
||||
|
@ -215,7 +215,7 @@ SCREEN_UPDATE( atarig42 )
|
||||
if (mo[x])
|
||||
{
|
||||
int pfpri = pri[x];
|
||||
int mopri = mo[x] >> ATARIMO_PRIORITY_SHIFT;
|
||||
int mopri = mo[x] >> ATARIRLE_PRIORITY_SHIFT;
|
||||
if (mopri >= pfpri)
|
||||
pf[x] = mo[x] & ATARIRLE_DATA_MASK;
|
||||
}
|
||||
|
@ -94,7 +94,8 @@ struct _atarimo_data
|
||||
int codehighshift; /* shift count for the upper code */
|
||||
|
||||
atarimo_entry * spriteram; /* pointer to sprite RAM */
|
||||
UINT16 ** slipram; /* pointer to the SLIP RAM pointer */
|
||||
UINT16 * sprite_ram; /* pointer to the sprite RAM */
|
||||
UINT16 * slip_ram; /* pointer to the SLIP RAM */
|
||||
UINT16 * codelookup; /* lookup table for codes */
|
||||
UINT8 * colorlookup; /* lookup table for colors */
|
||||
UINT8 * gfxlookup; /* lookup table for graphics */
|
||||
@ -124,18 +125,6 @@ struct _atarimo_data
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
GLOBAL VARIABLES
|
||||
***************************************************************************/
|
||||
|
||||
UINT16 *atarimo_0_spriteram;
|
||||
UINT16 *atarimo_0_slipram;
|
||||
|
||||
UINT16 *atarimo_1_spriteram;
|
||||
UINT16 *atarimo_1_slipram;
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
STATIC VARIABLES
|
||||
***************************************************************************/
|
||||
@ -403,7 +392,8 @@ void atarimo_init(running_machine &machine, int map, const atarimo_desc *desc)
|
||||
mo->specialcb = desc->specialcb;
|
||||
mo->codehighshift = compute_log(round_to_powerof2(mo->codemask.mask));
|
||||
|
||||
mo->slipram = (map == 0) ? &atarimo_0_slipram : &atarimo_1_slipram;
|
||||
mo->sprite_ram = auto_alloc_array_clear(machine, UINT16, 0x2000);
|
||||
mo->slip_ram = auto_alloc_array_clear(machine, UINT16, 0x80);
|
||||
|
||||
/* allocate the temp bitmap */
|
||||
mo->bitmap = auto_bitmap_alloc(machine, machine.primary_screen->width(), machine.primary_screen->height(), BITMAP_FORMAT_INDEXED16);
|
||||
@ -684,7 +674,7 @@ bitmap_t *atarimo_render(int map, const rectangle *cliprect, atarimo_rect_list *
|
||||
else
|
||||
{
|
||||
int slipentry = band & mo->sliprammask;
|
||||
link = ((*mo->slipram)[slipentry] >> mo->linkmask.shift) & mo->linkmask.mask;
|
||||
link = (mo->slip_ram[slipentry] >> mo->linkmask.shift) & mo->linkmask.mask;
|
||||
|
||||
/* start with the cliprect */
|
||||
bandclip = *cliprect;
|
||||
@ -982,6 +972,17 @@ int atarimo_get_yscroll(int map)
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------
|
||||
atarimo_0_spriteram_r: Read handler for the spriteram.
|
||||
---------------------------------------------------------------*/
|
||||
|
||||
READ16_HANDLER( atarimo_0_spriteram_r )
|
||||
{
|
||||
atarimo_data *mo = &atarimo[0];
|
||||
return mo->sprite_ram[offset] & mem_mask;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------
|
||||
atarimo_0_spriteram_w: Write handler for the spriteram.
|
||||
---------------------------------------------------------------*/
|
||||
@ -989,20 +990,32 @@ int atarimo_get_yscroll(int map)
|
||||
WRITE16_HANDLER( atarimo_0_spriteram_w )
|
||||
{
|
||||
int entry, idx, bank;
|
||||
atarimo_data *mo = &atarimo[0];
|
||||
|
||||
COMBINE_DATA(&atarimo_0_spriteram[offset]);
|
||||
if (atarimo[0].split)
|
||||
COMBINE_DATA(&mo->sprite_ram[offset]);
|
||||
if (mo->split)
|
||||
{
|
||||
entry = offset & atarimo[0].linkmask.mask;
|
||||
idx = (offset >> atarimo[0].entrybits) & 3;
|
||||
entry = offset & mo->linkmask.mask;
|
||||
idx = (offset >> mo->entrybits) & 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
entry = (offset >> 2) & atarimo[0].linkmask.mask;
|
||||
entry = (offset >> 2) & mo->linkmask.mask;
|
||||
idx = offset & 3;
|
||||
}
|
||||
bank = offset >> (2 + atarimo[0].entrybits);
|
||||
COMBINE_DATA(&atarimo[0].spriteram[(bank << atarimo[0].entrybits) + entry].data[idx]);
|
||||
bank = offset >> (2 + mo->entrybits);
|
||||
COMBINE_DATA(&mo->spriteram[(bank << mo->entrybits) + entry].data[idx]);
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------
|
||||
atarimo_1_spriteram_r: Read handler for the spriteram.
|
||||
---------------------------------------------------------------*/
|
||||
|
||||
READ16_HANDLER( atarimo_1_spriteram_r )
|
||||
{
|
||||
atarimo_data *mo = &atarimo[1];
|
||||
return mo->sprite_ram[offset] & mem_mask;
|
||||
}
|
||||
|
||||
|
||||
@ -1013,20 +1026,21 @@ WRITE16_HANDLER( atarimo_0_spriteram_w )
|
||||
WRITE16_HANDLER( atarimo_1_spriteram_w )
|
||||
{
|
||||
int entry, idx, bank;
|
||||
atarimo_data *mo = &atarimo[1];
|
||||
|
||||
COMBINE_DATA(&atarimo_1_spriteram[offset]);
|
||||
if (atarimo[1].split)
|
||||
COMBINE_DATA(&mo->sprite_ram[offset]);
|
||||
if (mo->split)
|
||||
{
|
||||
entry = offset & atarimo[1].linkmask.mask;
|
||||
idx = (offset >> atarimo[1].entrybits) & 3;
|
||||
entry = offset & mo->linkmask.mask;
|
||||
idx = (offset >> mo->entrybits) & 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
entry = (offset >> 2) & atarimo[1].linkmask.mask;
|
||||
entry = (offset >> 2) & mo->linkmask.mask;
|
||||
idx = offset & 3;
|
||||
}
|
||||
bank = offset >> (2 + atarimo[1].entrybits);
|
||||
COMBINE_DATA(&atarimo[1].spriteram[(bank << atarimo[1].entrybits) + entry].data[idx]);
|
||||
bank = offset >> (2 + mo->entrybits);
|
||||
COMBINE_DATA(&mo->spriteram[(bank << mo->entrybits) + entry].data[idx]);
|
||||
}
|
||||
|
||||
|
||||
@ -1038,34 +1052,71 @@ WRITE16_HANDLER( atarimo_1_spriteram_w )
|
||||
WRITE16_HANDLER( atarimo_0_spriteram_expanded_w )
|
||||
{
|
||||
int entry, idx, bank;
|
||||
atarimo_data *mo = &atarimo[0];
|
||||
|
||||
COMBINE_DATA(&atarimo_0_spriteram[offset]);
|
||||
COMBINE_DATA(&mo->sprite_ram[offset]);
|
||||
if (!(offset & 1))
|
||||
{
|
||||
offset >>= 1;
|
||||
if (atarimo[0].split)
|
||||
if (mo->split)
|
||||
{
|
||||
entry = offset & atarimo[0].linkmask.mask;
|
||||
idx = (offset >> atarimo[0].entrybits) & 3;
|
||||
entry = offset & mo->linkmask.mask;
|
||||
idx = (offset >> mo->entrybits) & 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
entry = (offset >> 2) & atarimo[0].linkmask.mask;
|
||||
entry = (offset >> 2) & mo->linkmask.mask;
|
||||
idx = offset & 3;
|
||||
}
|
||||
bank = offset >> (2 + atarimo[0].entrybits);
|
||||
COMBINE_DATA(&atarimo[0].spriteram[(bank << atarimo[0].entrybits) + entry].data[idx]);
|
||||
bank = offset >> (2 + mo->entrybits);
|
||||
COMBINE_DATA(&mo->spriteram[(bank << mo->entrybits) + entry].data[idx]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------
|
||||
atarimo_set_slipram: Set slipram pointer.
|
||||
---------------------------------------------------------------*/
|
||||
|
||||
void atarimo_set_slipram(int map, UINT16 *ram)
|
||||
{
|
||||
atarimo_data *mo = &atarimo[map];
|
||||
mo->slip_ram = ram;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------
|
||||
atarimo_0_slipram_r: Read handler for the slipram.
|
||||
---------------------------------------------------------------*/
|
||||
|
||||
READ16_HANDLER( atarimo_0_slipram_r )
|
||||
{
|
||||
atarimo_data *mo = &atarimo[0];
|
||||
logerror("READ: %04x:%04x\n", offset, mo->slip_ram[offset] & mem_mask);
|
||||
return mo->slip_ram[offset] & mem_mask;
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------
|
||||
atarimo_0_slipram_w: Write handler for the slipram.
|
||||
---------------------------------------------------------------*/
|
||||
|
||||
WRITE16_HANDLER( atarimo_0_slipram_w )
|
||||
{
|
||||
COMBINE_DATA(&atarimo_0_slipram[offset]);
|
||||
atarimo_data *mo = &atarimo[0];
|
||||
logerror("WRITE: %04x:%04x:%04x:%04x\n", offset, mo->slip_ram[offset], data, mem_mask);
|
||||
COMBINE_DATA(&mo->slip_ram[offset]);
|
||||
}
|
||||
|
||||
|
||||
/*---------------------------------------------------------------
|
||||
atarimo_1_slipram_r: Read handler for the slipram.
|
||||
---------------------------------------------------------------*/
|
||||
|
||||
READ16_HANDLER( atarimo_1_slipram_r )
|
||||
{
|
||||
atarimo_data *mo = &atarimo[1];
|
||||
return mo->slip_ram[offset] & mem_mask;
|
||||
}
|
||||
|
||||
|
||||
@ -1075,7 +1126,8 @@ WRITE16_HANDLER( atarimo_0_slipram_w )
|
||||
|
||||
WRITE16_HANDLER( atarimo_1_slipram_w )
|
||||
{
|
||||
COMBINE_DATA(&atarimo_1_slipram[offset]);
|
||||
atarimo_data *mo = &atarimo[1];
|
||||
COMBINE_DATA(&mo->slip_ram[offset]);
|
||||
}
|
||||
|
||||
|
||||
|
@ -106,13 +106,20 @@ bitmap_t *atarimo_render(int map, const rectangle *cliprect, atarimo_rect_list *
|
||||
void atarimo_set_bank(int map, int bank);
|
||||
void atarimo_set_xscroll(int map, int xscroll);
|
||||
void atarimo_set_yscroll(int map, int yscroll);
|
||||
void atarimo_set_slipram(int map, UINT16 *ram);
|
||||
|
||||
/* atrribute getters */
|
||||
int atarimo_get_bank(int map);
|
||||
int atarimo_get_xscroll(int map);
|
||||
int atarimo_get_yscroll(int map);
|
||||
|
||||
/* write handlers */
|
||||
/* read/write handlers */
|
||||
READ16_HANDLER( atarimo_0_spriteram_r );
|
||||
READ16_HANDLER( atarimo_0_slipram_r );
|
||||
|
||||
READ16_HANDLER( atarimo_1_spriteram_r );
|
||||
READ16_HANDLER( atarimo_1_slipram_r );
|
||||
|
||||
WRITE16_HANDLER( atarimo_0_spriteram_w );
|
||||
WRITE16_HANDLER( atarimo_0_spriteram_expanded_w );
|
||||
WRITE16_HANDLER( atarimo_0_slipram_w );
|
||||
@ -123,15 +130,4 @@ WRITE16_HANDLER( atarimo_1_slipram_w );
|
||||
void atarimo_mark_high_palette(bitmap_t *bitmap, UINT16 *pf, UINT16 *mo, int x, int y);
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
GLOBAL VARIABLES
|
||||
***************************************************************************/
|
||||
|
||||
extern UINT16 *atarimo_0_spriteram;
|
||||
extern UINT16 *atarimo_0_slipram;
|
||||
|
||||
extern UINT16 *atarimo_1_spriteram;
|
||||
extern UINT16 *atarimo_1_slipram;
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -5,6 +5,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/atarisy1.h"
|
||||
|
||||
|
||||
@ -348,7 +349,7 @@ WRITE16_HANDLER( atarisy1_yscroll_w )
|
||||
WRITE16_HANDLER( atarisy1_spriteram_w )
|
||||
{
|
||||
int active_bank = atarimo_get_bank(0);
|
||||
int oldword = atarimo_0_spriteram[offset];
|
||||
int oldword = atarimo_0_spriteram_r(space, offset, mem_mask);
|
||||
int newword = oldword;
|
||||
COMBINE_DATA(&newword);
|
||||
|
||||
@ -356,7 +357,7 @@ WRITE16_HANDLER( atarisy1_spriteram_w )
|
||||
if (oldword != newword && (offset >> 8) == active_bank)
|
||||
{
|
||||
/* if modifying a timer, beware */
|
||||
if (((offset & 0xc0) == 0x00 && atarimo_0_spriteram[offset | 0x40] == 0xffff) ||
|
||||
if (((offset & 0xc0) == 0x00 && atarimo_0_spriteram_r(space, offset | 0x40, mem_mask) == 0xffff) ||
|
||||
((offset & 0xc0) == 0x40 && (newword == 0xffff || oldword == 0xffff)))
|
||||
{
|
||||
/* if the timer is in the active bank, update the display list */
|
||||
@ -434,7 +435,9 @@ READ16_HANDLER( atarisy1_int3state_r )
|
||||
static void update_timers(running_machine &machine, int scanline)
|
||||
{
|
||||
atarisy1_state *state = machine.driver_data<atarisy1_state>();
|
||||
UINT16 *base = &atarimo_0_spriteram[atarimo_get_bank(0) * 64 * 4];
|
||||
address_space *space = NULL;
|
||||
UINT16 mem_mask = 0xffff;
|
||||
int offset = atarimo_get_bank(0) * 64 * 4;
|
||||
int link = 0, best = scanline, found = 0;
|
||||
UINT8 spritevisit[64];
|
||||
|
||||
@ -445,9 +448,9 @@ static void update_timers(running_machine &machine, int scanline)
|
||||
while (!spritevisit[link])
|
||||
{
|
||||
/* timers are indicated by 0xffff in entry 2 */
|
||||
if (base[link + 0x40] == 0xffff)
|
||||
if (atarimo_0_spriteram_r(space, offset + link + 0x40, mem_mask) == 0xffff)
|
||||
{
|
||||
int data = base[link];
|
||||
int data = atarimo_0_spriteram_r(space, offset + link, mem_mask);
|
||||
int vsize = (data & 15) + 1;
|
||||
int ypos = (256 - (data >> 5) - vsize * 8 - 1) & 0x1ff;
|
||||
|
||||
@ -469,7 +472,7 @@ static void update_timers(running_machine &machine, int scanline)
|
||||
|
||||
/* link to the next */
|
||||
spritevisit[link] = 1;
|
||||
link = base[link + 0xc0] & 0x3f;
|
||||
link = atarimo_0_spriteram_r(space, offset + link + 0xc0, mem_mask) & 0x3f;
|
||||
}
|
||||
|
||||
/* if nothing was found, use scanline -1 */
|
||||
|
@ -5,6 +5,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/slapstic.h"
|
||||
#include "includes/atarisy2.h"
|
||||
|
||||
@ -96,7 +97,6 @@ VIDEO_START( atarisy2 )
|
||||
|
||||
/* initialize banked memory */
|
||||
state->m_alpha = &state->m_vram[0x0000];
|
||||
atarimo_0_spriteram = &state->m_vram[0x0c00];
|
||||
state->m_playfield = &state->m_vram[0x2000];
|
||||
|
||||
/* initialize the playfield */
|
||||
@ -264,7 +264,13 @@ WRITE16_HANDLER( atarisy2_slapstic_w )
|
||||
READ16_HANDLER( atarisy2_videoram_r )
|
||||
{
|
||||
atarisy2_state *state = space->machine().driver_data<atarisy2_state>();
|
||||
return state->m_vram[offset | state->m_videobank];
|
||||
int offs = offset | state->m_videobank;
|
||||
if (offs >= 0xc00 && offs < 0x1000)
|
||||
{
|
||||
return atarimo_0_spriteram_r(space, offs - 0x0c00, mem_mask);
|
||||
}
|
||||
|
||||
return state->m_vram[offs];
|
||||
}
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/badlands.h"
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/batman.h"
|
||||
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/blstroid.h"
|
||||
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/cyberbal.h"
|
||||
|
||||
|
||||
@ -143,15 +144,12 @@ static void video_start_cyberbal_common(running_machine &machine, int screens)
|
||||
};
|
||||
cyberbal_state *state = machine.driver_data<cyberbal_state>();
|
||||
|
||||
/* set the slip variables */
|
||||
atarimo_0_slipram = &state->m_current_slip[0];
|
||||
atarimo_1_slipram = &state->m_current_slip[1];
|
||||
|
||||
/* initialize the playfield */
|
||||
state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, tilemap_scan_rows, 16,8, 64,64);
|
||||
|
||||
/* initialize the motion objects */
|
||||
atarimo_init(machine, 0, &mo0desc);
|
||||
atarimo_set_slipram(0, &state->m_current_slip[0]);
|
||||
|
||||
/* initialize the alphanumerics */
|
||||
state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, tilemap_scan_rows, 16,8, 64,32);
|
||||
@ -166,6 +164,7 @@ static void video_start_cyberbal_common(running_machine &machine, int screens)
|
||||
|
||||
/* initialize the motion objects */
|
||||
atarimo_init(machine, 1, &mo1desc);
|
||||
atarimo_set_slipram(1, &state->m_current_slip[1]);
|
||||
|
||||
/* initialize the alphanumerics */
|
||||
state->m_alpha2_tilemap = tilemap_create(machine, get_alpha2_tile_info, tilemap_scan_rows, 16,8, 64,32);
|
||||
|
@ -5,6 +5,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/eprom.h"
|
||||
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/gauntlet.h"
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/klax.h"
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/offtwall.h"
|
||||
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/rampart.h"
|
||||
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/relief.h"
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/shuuz.h"
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/skullxbo.h"
|
||||
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/thunderj.h"
|
||||
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/toobin.h"
|
||||
|
||||
|
||||
@ -207,7 +208,7 @@ WRITE16_HANDLER( toobin_yscroll_w )
|
||||
|
||||
WRITE16_HANDLER( toobin_slip_w )
|
||||
{
|
||||
int oldslip = atarimo_0_slipram[offset];
|
||||
int oldslip = atarimo_0_slipram_r(space, offset, mem_mask);
|
||||
int newslip = oldslip;
|
||||
COMBINE_DATA(&newslip);
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/vindictr.h"
|
||||
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/atarigen.h"
|
||||
#include "video/atarimo.h"
|
||||
#include "includes/xybots.h"
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user