atarigen.cpp: Continue pulling stuff out of this grab-bag (nw)

This commit is contained in:
AJR 2018-11-30 23:27:14 -05:00
parent 7679eb7f44
commit d026809d9c
34 changed files with 88 additions and 56 deletions

View File

@ -75,6 +75,7 @@
#include "machine/watchdog.h"
#include "sound/okim6295.h"
#include "video/atarimo.h"
#include "emupal.h"
#include "speaker.h"
@ -97,7 +98,7 @@ void sparkz_state::scanline_update(screen_device &screen, int scanline)
{
/* generate 32V signals */
if ((scanline & 32) == 0)
scanline_int_gen(*m_maincpu);
scanline_int_write_line(1);
}

View File

@ -24,6 +24,7 @@
#include "includes/atarig1.h"
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "emupal.h"
#include "speaker.h"
@ -191,7 +192,7 @@ void atarig1_state::main_map(address_map &map)
map(0xfd0000, 0xfd0000).r(m_jsa, FUNC(atari_jsa_ii_device::main_response_r));
map(0xfd8000, 0xfdffff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
/* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/
map(0xfe8000, 0xfe89ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0xfe8000, 0xfe89ff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0xff0000, 0xffffff).ram();
map(0xff0000, 0xff0fff).ram().share("rle");
map(0xff2000, 0xff2001).w(FUNC(atarig1_state::mo_command_w)).share("mo_command");

View File

@ -23,6 +23,7 @@
#include "includes/atarig42.h"
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "emupal.h"
#include "speaker.h"
@ -334,7 +335,7 @@ void atarig42_state::main_map(address_map &map)
map(0xf60000, 0xf60001).r(m_asic65, FUNC(asic65_device::read));
map(0xf80000, 0xf80003).w(m_asic65, FUNC(asic65_device::data_w));
map(0xfa0000, 0xfa0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
map(0xfc0000, 0xfc0fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0xfc0000, 0xfc0fff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0xff0000, 0xffffff).ram();
map(0xff0000, 0xff0fff).ram().share("rle");
map(0xff2000, 0xff5fff).w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");

View File

@ -65,7 +65,7 @@
/*************************************
*
* Initialization
* Interrupt handling
*
*************************************/
@ -76,6 +76,18 @@ void atarigt_state::update_interrupts()
}
INTERRUPT_GEN_MEMBER(atarigt_state::scanline_int_gen)
{
scanline_int_write_line(1);
}
/*************************************
*
* Initialization
*
*************************************/
MACHINE_RESET_MEMBER(atarigt_state,atarigt)
{
atarigen_state::machine_reset();

View File

@ -29,6 +29,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/eeprompar.h"
#include "emupal.h"
#include "speaker.h"
@ -1192,7 +1193,7 @@ void atarigx2_state::main_map(address_map &map)
map(0xc80000, 0xc80fff).ram();
map(0xd00000, 0xd0000f).r(FUNC(atarigx2_state::a2d_data_r)).umask32(0xff00ff00);
map(0xd20000, 0xd20fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask32(0xff00ff00);
map(0xd40000, 0xd40fff).ram().w(m_palette, FUNC(palette_device::write32)).share("palette");
map(0xd40000, 0xd40fff).ram().w("palette", FUNC(palette_device::write32)).share("palette");
map(0xd70000, 0xd7ffff).ram();
map(0xd72000, 0xd75fff).w(m_playfield_tilemap, FUNC(tilemap_device::write32)).share("playfield");
map(0xd76000, 0xd76fff).w(m_alpha_tilemap, FUNC(tilemap_device::write32)).share("alpha");

View File

@ -183,7 +183,7 @@ void atarisy2_state::scanline_update(screen_device &screen, int scanline)
/* generate the 32V interrupt (IRQ 2) */
if ((scanline % 64) == 0)
if (m_interrupt_enable & 4)
scanline_int_gen(*m_maincpu);
scanline_int_write_line(1);
}
}
@ -736,7 +736,7 @@ void atarisy2_state::main_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x0fff).ram();
map(0x1000, 0x11ff).mirror(0x0200).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x1000, 0x11ff).mirror(0x0200).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0x1400, 0x1400).mirror(0x007e).r("adc", FUNC(adc0808_device::data_r));
map(0x1400, 0x1403).mirror(0x007c).w(FUNC(atarisy2_state::bankselect_w));
map(0x1480, 0x148f).mirror(0x0070).w("adc", FUNC(adc0808_device::address_offset_start_w)).umask16(0x00ff);

View File

@ -165,7 +165,7 @@ Measurements -
#include "emu.h"
#include "includes/badlands.h"
#include "emupal.h"
/*************************************

View File

@ -41,6 +41,7 @@
#include "emu.h"
#include "includes/badlands.h"
#include "emupal.h"
uint32_t badlandsbl_state::screen_update_badlandsbl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{

View File

@ -25,6 +25,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "emupal.h"
#include "speaker.h"
@ -81,7 +82,7 @@ void blstroid_state::main_map(address_map &map)
map(0x801804, 0x801805).mirror(0x0383f8).portr("DIAL1");
map(0x801c00, 0x801c01).mirror(0x0383fc).portr("IN0");
map(0x801c02, 0x801c03).mirror(0x0383fc).portr("IN1");
map(0x802000, 0x8023ff).mirror(0x038c00).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x802000, 0x8023ff).mirror(0x038c00).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0x803000, 0x8033ff).mirror(0x038c00).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
map(0x804000, 0x804fff).mirror(0x038000).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0x805000, 0x805fff).mirror(0x038000).ram().share("mob");

View File

@ -27,7 +27,6 @@
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "sound/volt_reg.h"
#include "diexec.h"
#include "speaker.h"
#include "rendlay.h"

View File

@ -20,6 +20,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "emupal.h"
#include "speaker.h"

View File

@ -129,6 +129,7 @@
#include "sound/tms5220.h"
#include "sound/ym2151.h"
#include "sound/pokey.h"
#include "emupal.h"
#include "speaker.h"
@ -300,7 +301,7 @@ void gauntlet_state::main_map(address_map &map)
map(0x905000, 0x905f7f).mirror(0x2c8000).ram().w(m_alpha_tilemap, FUNC(tilemap_device::write16)).share("alpha");
map(0x905f6e, 0x905f6f).mirror(0x2c8000).ram().w(FUNC(gauntlet_state::gauntlet_yscroll_w)).share("yscroll");
map(0x905f80, 0x905fff).mirror(0x2c8000).ram().share("mob:slip");
map(0x910000, 0x9107ff).mirror(0x2cf800).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x910000, 0x9107ff).mirror(0x2cf800).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0x930000, 0x930001).mirror(0x2cfffe).w(FUNC(gauntlet_state::gauntlet_xscroll_w)).share("xscroll");
}

View File

@ -28,6 +28,7 @@
#include "machine/watchdog.h"
#include "sound/okim6295.h"
#include "sound/msm5205.h"
#include "emupal.h"
#include "speaker.h"
@ -46,8 +47,8 @@ void klax_state::update_interrupts()
void klax_state::scanline_update(screen_device &screen, int scanline)
{
/* generate 32V signals */
if ((scanline & 32) == 0 && !(m_p1->read() & 0x800))
scanline_int_gen(*m_maincpu);
if ((scanline & 32) == 0 && !m_screen->vblank() && !(m_p1->read() & 0x800))
scanline_int_write_line(1);
}
@ -89,7 +90,7 @@ void klax_state::klax_map(address_map &map)
map(0x270001, 0x270001).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0x2e0000, 0x2e0001).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
map(0x360000, 0x360001).w(FUNC(klax_state::interrupt_ack_w));
map(0x3e0000, 0x3e07ff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0xff00).share("palette");
map(0x3e0000, 0x3e07ff).rw("palette", FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0xff00).share("palette");
map(0x3f0000, 0x3f0f7f).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0x3f0f80, 0x3f0fff).ram().share("mob:slip");
map(0x3f1000, 0x3f1fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16_ext)).share("playfield_ext");
@ -107,7 +108,7 @@ void klax_state::klax2bl_map(address_map &map)
map(0x260006, 0x260007).w(FUNC(klax_state::interrupt_ack_w));
// AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) // no OKI here
map(0x2e0000, 0x2e0001).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
map(0x3e0000, 0x3e07ff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0xff00).share("palette");
map(0x3e0000, 0x3e07ff).rw("palette", FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0xff00).share("palette");
map(0x3f0000, 0x3f0f7f).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0x3f0f80, 0x3f0fff).ram().share("mob:slip");
map(0x3f1000, 0x3f1fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16_ext)).share("playfield_ext");

View File

@ -25,6 +25,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "emupal.h"
#include "speaker.h"

View File

@ -32,6 +32,7 @@
#include "machine/watchdog.h"
#include "sound/okim6295.h"
#include "sound/ym2413.h"
#include "emupal.h"
#include "speaker.h"
@ -54,7 +55,7 @@ void rampart_state::scanline_update(screen_device &screen, int scanline)
{
/* generate 32V signals */
if ((scanline & 32) == 0)
scanline_int_gen(*m_maincpu);
scanline_int_write_line(1);
}
@ -134,7 +135,7 @@ void rampart_state::main_map(address_map &map)
map(0x140000, 0x147fff).mirror(0x438000).rom(); /* slapstic goes here */
map(0x200000, 0x21ffff).ram().share("bitmap");
map(0x220000, 0x3bffff).nopw(); /* the code blasts right through this when initializing */
map(0x3c0000, 0x3c07ff).mirror(0x019800).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0xff00).share("palette");
map(0x3c0000, 0x3c07ff).mirror(0x019800).rw("palette", FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0xff00).share("palette");
map(0x3e0000, 0x3e07ff).mirror(0x010000).ram().share("mob");
map(0x3e0800, 0x3e3f3f).mirror(0x010000).ram();
map(0x3e3f40, 0x3e3f7f).mirror(0x010000).ram().share("mob:slip");

View File

@ -26,6 +26,7 @@
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "sound/okim6295.h"
#include "emupal.h"
#include "speaker.h"
@ -121,7 +122,7 @@ void shuuz_state::main_map(address_map &map)
map(0x105002, 0x105003).portr("BUTTONS");
map(0x106001, 0x106001).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0x107000, 0x107007).noprw();
map(0x3e0000, 0x3e07ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x3e0000, 0x3e07ff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0x3effc0, 0x3effff).rw(m_vad, FUNC(atari_vad_device::control_read), FUNC(atari_vad_device::control_write));
map(0x3f4000, 0x3f5eff).ram().w(m_vad, FUNC(atari_vad_device::playfield_latched_msb_w)).share("vad:playfield");
map(0x3f5f00, 0x3f5f7f).ram().share("vad:eof");

View File

@ -25,6 +25,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "emupal.h"
#include "speaker.h"
@ -44,7 +45,7 @@ void skullxbo_state::update_interrupts()
TIMER_DEVICE_CALLBACK_MEMBER(skullxbo_state::scanline_timer)
{
scanline_int_gen(*m_maincpu);
scanline_int_write_line(1);
}
@ -115,7 +116,7 @@ void skullxbo_state::main_map(address_map &map)
map(0xff1e80, 0xff1eff).w(FUNC(skullxbo_state::skullxbo_xscroll_w));
map(0xff1f00, 0xff1f7f).w(FUNC(skullxbo_state::scanline_int_ack_w));
map(0xff1f80, 0xff1fff).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
map(0xff2000, 0xff2fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0xff2000, 0xff2fff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0xff4000, 0xff47ff).w(FUNC(skullxbo_state::skullxbo_yscroll_w)).share("yscroll");
map(0xff4800, 0xff4fff).w(FUNC(skullxbo_state::skullxbo_mobwr_w));
map(0xff5001, 0xff5001).r(m_jsa, FUNC(atari_jsa_ii_device::main_response_r));

View File

@ -41,6 +41,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "emupal.h"
#include "speaker.h"

View File

@ -25,6 +25,7 @@
#include "cpu/m68000/m68000.h"
#include "machine/eeprompar.h"
#include "machine/watchdog.h"
#include "emupal.h"
#include "speaker.h"
@ -74,7 +75,7 @@ void xybots_state::main_map(address_map &map)
map(0x801000, 0x802dff).mirror(0x7f8000).ram();
map(0x802e00, 0x802fff).mirror(0x7f8000).ram().share("mob");
map(0x803000, 0x803fff).mirror(0x7f8000).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0x804000, 0x8047ff).mirror(0x7f8800).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x804000, 0x8047ff).mirror(0x7f8800).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0x805000, 0x805fff).mirror(0x7f8000).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
map(0x806000, 0x8060ff).mirror(0x7f8000).r(m_jsa, FUNC(atari_jsa_i_device::main_response_r)).umask16(0x00ff);
map(0x806100, 0x8061ff).mirror(0x7f8000).portr("FFE100");

View File

@ -10,6 +10,7 @@
#include "machine/adc0808.h"
#include "machine/atarigen.h"
#include "video/atarirle.h"
#include "emupal.h"
#define CRAM_ENTRIES 0x4000
#define TRAM_ENTRIES 0x4000
@ -22,6 +23,7 @@ class atarigt_state : public atarigen_state
public:
atarigt_state(const machine_config &mconfig, device_type type, const char *tag) :
atarigen_state(mconfig, type, tag),
m_palette(*this, "palette"),
m_colorram(*this, "colorram", 32),
m_adc(*this, "adc"),
m_playfield_tilemap(*this, "playfield"),
@ -35,6 +37,7 @@ public:
{ }
bool m_is_primrage;
required_device<palette_device> m_palette;
required_shared_ptr<uint16_t> m_colorram;
optional_device<adc0808_device> m_adc;
@ -70,6 +73,7 @@ public:
std::unique_ptr<uint8_t[]> m_protdata;
virtual void update_interrupts() override;
INTERRUPT_GEN_MEMBER(scanline_int_gen);
virtual void scanline_update(screen_device &screen, int scanline) override;
DECLARE_READ32_MEMBER(special_port2_r);
DECLARE_READ32_MEMBER(special_port3_r);

View File

@ -18,6 +18,7 @@
#include "sound/tms5220.h"
#include "sound/ym2151.h"
#include "video/atarimo.h"
#include "emupal.h"
class atarisy1_state : public atarigen_state
{
@ -28,6 +29,7 @@ public:
, m_soundcomm(*this, "soundcomm")
, m_bankselect(*this, "bankselect")
, m_mob(*this, "mob")
, m_palette(*this, "palette")
, m_adc(*this, "adc")
, m_ajsint(*this, "ajsint")
, m_playfield_tilemap(*this, "playfield")
@ -44,6 +46,7 @@ public:
required_shared_ptr<uint16_t> m_bankselect;
required_device<atari_motion_objects_device> m_mob;
required_device<palette_device> m_palette;
uint8_t m_joystick_type;
uint8_t m_trackball_type;

View File

@ -15,6 +15,7 @@
#include "sound/ym2151.h"
#include "sound/pokey.h"
#include "sound/tms5220.h"
#include "emupal.h"
#include "slapstic.h"
class atarisy2_state : public atarigen_state

View File

@ -17,6 +17,7 @@
#include "cpu/m6502/m6502.h"
#include "sound/dac.h"
#include "sound/ym2151.h"
#include "emupal.h"
#include "screen.h"
class cyberbal_base_state : public atarigen_state
@ -94,6 +95,7 @@ public:
m_playfield2(*this, "playfield2"),
m_alpha2(*this, "alpha2"),
m_mob2(*this, "mob2"),
m_rpalette(*this, "rpalette"),
m_lscreen(*this, "lscreen"),
m_rscreen(*this, "rscreen")
{ }
@ -147,6 +149,7 @@ private:
required_device<tilemap_device> m_playfield2;
required_device<tilemap_device> m_alpha2;
required_device<atari_motion_objects_device> m_mob2;
required_device<palette_device> m_rpalette;
required_device<screen_device> m_lscreen;
required_device<screen_device> m_rscreen;

View File

@ -14,6 +14,7 @@
#include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h"
#include "emupal.h"
class eprom_state : public atarigen_state
{
@ -25,7 +26,9 @@ public:
m_mob(*this, "mob"),
m_jsa(*this, "jsa"),
m_adc(*this, "adc"),
m_extra(*this, "extra")
m_extra(*this, "extra"),
m_palette(*this, "palette"),
m_paletteram(*this, "paletteram")
{ }
void guts(machine_config &config);
@ -64,6 +67,8 @@ private:
uint16_t m_sync_data;
optional_device<adc0808_device> m_adc;
optional_device<cpu_device> m_extra;
required_device<palette_device> m_palette;
optional_shared_ptr<uint16_t> m_paletteram;
static const atari_motion_objects_config s_mob_config;
static const atari_motion_objects_config s_guts_mob_config;
};

View File

@ -13,6 +13,7 @@
#include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h"
#include "emupal.h"
class toobin_state : public atarigen_state
{
@ -23,6 +24,8 @@ public:
m_playfield_tilemap(*this, "playfield"),
m_alpha_tilemap(*this, "alpha"),
m_mob(*this, "mob"),
m_palette(*this, "palette"),
m_paletteram(*this, "paletteram"),
m_interrupt_scan(*this, "interrupt_scan"),
m_sound_int_state(0)
{ }
@ -54,7 +57,9 @@ private:
required_device<tilemap_device> m_playfield_tilemap;
required_device<tilemap_device> m_alpha_tilemap;
required_device<atari_motion_objects_device> m_mob;
required_device<palette_device> m_palette;
required_shared_ptr<uint16_t> m_paletteram;
required_shared_ptr<uint16_t> m_interrupt_scan;
double m_brightness;

View File

@ -13,6 +13,7 @@
#include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h"
#include "emupal.h"
class vindictr_state : public atarigen_state
{
@ -22,7 +23,9 @@ public:
m_playfield_tilemap(*this, "playfield"),
m_alpha_tilemap(*this, "alpha"),
m_mob(*this, "mob"),
m_jsa(*this, "jsa")
m_jsa(*this, "jsa"),
m_palette(*this, "palette"),
m_paletteram(*this, "paletteram")
{ }
void vindictr(machine_config &config);
@ -47,6 +50,9 @@ private:
required_device<tilemap_device> m_alpha_tilemap;
required_device<atari_motion_objects_device> m_mob;
required_device<atari_jsa_i_device> m_jsa;
required_device<palette_device> m_palette;
required_shared_ptr<uint16_t> m_paletteram;
uint8_t m_playfield_tile_bank;
uint16_t m_playfield_xscroll;
uint16_t m_playfield_yscroll;

View File

@ -342,8 +342,6 @@ atarigen_state::atarigen_state(const machine_config &mconfig, device_type type,
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_generic_paletteram_16(*this, "paletteram"),
m_slapstic_device(*this, ":slapstic")
{
}
@ -396,7 +394,7 @@ void atarigen_state::device_timer(emu_timer &timer, device_timer_id id, int para
{
case TID_SCANLINE_INTERRUPT:
{
scanline_int_gen(*m_maincpu);
scanline_int_write_line(1);
screen_device *screen = reinterpret_cast<screen_device *>(ptr);
timer.adjust(screen->frame_period());
break;
@ -446,18 +444,6 @@ WRITE_LINE_MEMBER(atarigen_state::scanline_int_write_line)
}
//-------------------------------------------------
// scanline_int_gen: Standard interrupt routine
// which sets the scanline interrupt state.
//-------------------------------------------------
INTERRUPT_GEN_MEMBER(atarigen_state::scanline_int_gen)
{
m_scanline_int_state = 1;
update_interrupts();
}
//-------------------------------------------------
// scanline_int_ack_w: Resets the state of the
// scanline interrupt.

View File

@ -13,7 +13,6 @@
#include "includes/slapstic.h"
#include "cpu/m6502/m6502.h"
#include "emupal.h"
#include "screen.h"
@ -148,7 +147,6 @@ protected:
// interrupt handling
void scanline_int_set(screen_device &screen, int scanline);
DECLARE_WRITE_LINE_MEMBER(scanline_int_write_line);
INTERRUPT_GEN_MEMBER(scanline_int_gen);
DECLARE_WRITE16_MEMBER(scanline_int_ack_w);
DECLARE_WRITE_LINE_MEMBER(video_int_write_line);
@ -204,8 +202,6 @@ protected:
optional_device<gfxdecode_device> m_gfxdecode;
optional_device<screen_device> m_screen;
optional_device<palette_device> m_palette;
optional_shared_ptr<uint16_t> m_generic_paletteram_16;
optional_device<atari_slapstic_device> m_slapstic_device;
private:

View File

@ -365,7 +365,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(atarisy1_state::atarisy1_int3_callback)
int scanline = param;
/* update the state */
scanline_int_gen(*m_maincpu);
scanline_int_write_line(1);
/* set a timer to turn it off */
m_int3off_timer->adjust(m_screen->scan_period());

View File

@ -95,7 +95,7 @@ void blstroid_state::device_timer(emu_timer &timer, device_timer_id id, int para
break;
case TIMER_IRQ_ON:
/* generate the interrupt */
scanline_int_gen(*m_maincpu);
scanline_int_write_line(1);
update_interrupts();
break;
default:

View File

@ -114,9 +114,8 @@ void cyberbal_base_state::video_start()
void cyberbal_state::video_start()
{
palette_device *rpalette = subdevice<palette_device>("rpalette");
m_playfield2->set_palette(*rpalette);
m_alpha2->set_palette(*rpalette);
m_playfield2->set_palette(*m_rpalette);
m_alpha2->set_palette(*m_rpalette);
cyberbal_base_state::video_start();

View File

@ -23,7 +23,7 @@ void eprom_state::update_palette()
for (color = 0; color < 0x800; ++color)
{
int i, r, g, b;
uint16_t const data = m_generic_paletteram_16[color];
uint16_t const data = m_paletteram[color];
/* FIXME this is only a very crude approximation of the palette output.
* The circuit involves a dozen transistors and probably has an output

View File

@ -96,10 +96,8 @@ void toobin_state::video_start()
WRITE16_MEMBER( toobin_state::paletteram_w )
{
int newword;
COMBINE_DATA(&m_generic_paletteram_16[offset]);
newword = m_generic_paletteram_16[offset];
COMBINE_DATA(&m_paletteram[offset]);
uint16_t newword = m_paletteram[offset];
{
int red = (((newword >> 10) & 31) * 224) >> 5;
@ -128,7 +126,7 @@ WRITE16_MEMBER( toobin_state::intensity_w )
m_brightness = (double)(~data & 0x1f) / 31.0;
for (i = 0; i < 0x400; i++)
if (!(m_generic_paletteram_16[i] & 0x8000))
if (!BIT(m_paletteram[i], 15))
m_palette->set_pen_contrast(i, m_brightness);
}
}

View File

@ -100,8 +100,8 @@ WRITE16_MEMBER( vindictr_state::vindictr_paletteram_w )
int c;
/* first blend the data */
COMBINE_DATA(&m_generic_paletteram_16[offset]);
data = m_generic_paletteram_16[offset];
COMBINE_DATA(&m_paletteram[offset]);
data = m_paletteram[offset];
/* now generate colors at all 16 intensities */
for (c = 0; c < 8; c++)
@ -171,7 +171,7 @@ void vindictr_state::scanline_update(screen_device &screen, int scanline)
break;
case 6: /* /VIRQ */
scanline_int_gen(*m_maincpu);
scanline_int_write_line(1);
break;
case 7: /* /PFVS */