Additional small cleanups to Mac drivers, getting rid of MCFG overrides

This commit is contained in:
AJR 2022-07-24 22:45:21 -04:00
parent 7cb029b80c
commit e600f4943d
6 changed files with 23 additions and 53 deletions

View File

@ -556,7 +556,7 @@ void mac_state::add_via2(machine_config &config)
void mac_state::add_egret(machine_config &config, int type)
{
EGRET(config, m_egret, type);
m_egret->reset_callback().set(FUNC(mac_state::cuda_reset_w));
m_egret->reset_callback().set(FUNC(mac_state::egret_reset_w));
m_egret->linechange_callback().set(m_macadb, FUNC(macadb_device::adb_linechange_w));
m_egret->via_clock_callback().set(m_via1, FUNC(via6522_device::write_cb1));
m_egret->via_data_callback().set(m_via1, FUNC(via6522_device::write_cb2));
@ -771,8 +771,6 @@ void mac_state::macse30(machine_config &config)
PALETTE(config, m_palette, palette_device::MONOCHROME_INVERTED);
MCFG_VIDEO_START_OVERRIDE(mac_state,mac)
add_base_devices(config, true, 1);
add_asc(config, asc_device::asc_type::ASC);
add_scsi(config);
@ -802,9 +800,6 @@ void mac_state::maciici(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &mac_state::maciici_map);
m_maincpu->set_dasm_override(FUNC(mac_state::mac_dasm_override));
MCFG_VIDEO_START_OVERRIDE(mac_state,macrbv)
MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(25175000, 800, 0, 640, 525, 0, 480);
m_screen->set_size(640, 870);
@ -826,9 +821,6 @@ void mac_state::maciisi(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &mac_state::maciici_map);
m_maincpu->set_dasm_override(FUNC(mac_state::mac_dasm_override));
MCFG_VIDEO_START_OVERRIDE(mac_state,macrbv)
MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(25175000, 800, 0, 640, 525, 0, 480);
m_screen->set_size(640, 870);

View File

@ -26,7 +26,6 @@
#include "macrtc.h"
#include "macscsi.h"
#include "sound/asc.h"
#include "sound/dac.h"
#include "cpu/m68000/m68000.h"
#include "emupal.h"
#include "screen.h"
@ -66,8 +65,6 @@ public:
m_montype(*this, "MONTYPE"),
m_main_buffer(true),
m_vram(*this,"vram"),
m_vram16(*this,"vram16"),
m_vram64(*this,"vram64"),
m_via2_ca1_hack(0),
m_screen(*this, "screen"),
m_palette(*this, "palette")
@ -172,8 +169,6 @@ private:
// this is shared among all video setups with vram
optional_shared_ptr<uint32_t> m_vram;
optional_shared_ptr<uint16_t> m_vram16;
optional_shared_ptr<uint64_t> m_vram64;
// interrupts
int m_scc_interrupt = false, m_via_interrupt = false, m_via2_interrupt = false, m_scsi_interrupt = false, m_last_taken_interrupt = false;
@ -234,7 +229,7 @@ private:
DECLARE_WRITE_LINE_MEMBER(nubus_irq_d_w);
DECLARE_WRITE_LINE_MEMBER(nubus_irq_e_w);
DECLARE_WRITE_LINE_MEMBER(cuda_reset_w);
DECLARE_WRITE_LINE_MEMBER(egret_reset_w);
DECLARE_WRITE_LINE_MEMBER(mac_scsi_irq);
DECLARE_WRITE_LINE_MEMBER(mac_asc_irq);
@ -242,10 +237,7 @@ private:
void macii_map(address_map &map);
void maciici_map(address_map &map);
void maciifx_map(address_map &map);
void maclc3_map(address_map &map);
void maclc_map(address_map &map);
void macse30_map(address_map &map);
void pwrmac_map(address_map &map);
uint8_t m_oss_regs[0x400]{};
@ -267,11 +259,7 @@ private:
void devsel_w(uint8_t devsel);
void hdsel_w(int hdsel);
DECLARE_VIDEO_START(mac);
DECLARE_VIDEO_RESET(macrbv);
DECLARE_VIDEO_START(macv8);
DECLARE_VIDEO_RESET(maceagle);
DECLARE_VIDEO_START(macrbv);
void macrbv_reset();
uint32_t screen_update_macse30(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_macrbv(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_macrbvvram(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);

View File

@ -844,13 +844,16 @@ void mac_state::machine_start()
save_item(NAME(m_se30_vbl_enable));
save_item(NAME(m_adb_irq_pending));
save_item(NAME(ca1_data));
save_item(NAME(m_rbv_regs));
save_item(NAME(m_rbv_ier));
save_item(NAME(m_rbv_ifr));
save_item(NAME(m_rbv_colors));
save_item(NAME(m_rbv_count));
save_item(NAME(m_rbv_clutoffs));
save_item(NAME(m_rbv_palette));
if ((m_model == MODEL_MAC_IICI) || (m_model == MODEL_MAC_IISI))
{
save_item(NAME(m_rbv_regs));
save_item(NAME(m_rbv_ier));
save_item(NAME(m_rbv_ifr));
save_item(NAME(m_rbv_colors));
save_item(NAME(m_rbv_count));
save_item(NAME(m_rbv_clutoffs));
save_item(NAME(m_rbv_palette));
}
save_item(NAME(m_scc_interrupt));
save_item(NAME(m_via_interrupt));
save_item(NAME(m_via2_interrupt));
@ -870,7 +873,11 @@ void mac_state::machine_reset()
// stop 60.15 Hz timer
m_6015_timer->adjust(attotime::never);
m_rbv_vbltime = 0;
if ((m_model == MODEL_MAC_IICI) || (m_model == MODEL_MAC_IISI))
{
m_rbv_vbltime = 0;
macrbv_reset();
}
// start 60.15 Hz timer for most systems
if ((m_model >= MODEL_MAC_IICI) && (m_model <= MODEL_MAC_IIFX))
@ -907,7 +914,7 @@ void mac_state::machine_reset()
m_last_taken_interrupt = 0;
}
WRITE_LINE_MEMBER(mac_state::cuda_reset_w)
WRITE_LINE_MEMBER(mac_state::egret_reset_w)
{
if (state == ASSERT_LINE)
{

View File

@ -52,10 +52,6 @@ Apple color FPD 01 11 10 (FPD = Full Page Display)
#include "machine/ram.h"
#include "render.h"
VIDEO_START_MEMBER(mac_state,mac)
{
}
uint32_t mac_state::screen_update_macse30(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
uint32_t const video_base = (m_screen_buffer ? 0x8000 : 0) + (MAC_H_VIS/8);
@ -77,20 +73,9 @@ uint32_t mac_state::screen_update_macse30(screen_device &screen, bitmap_ind16 &b
return 0;
}
// IIci/IIsi RAM-Based Video (RBV) and children: V8, Eagle, Spice
// IIci/IIsi RAM-Based Video (RBV)
VIDEO_START_MEMBER(mac_state,macrbv)
{
}
VIDEO_RESET_MEMBER(mac_state,maceagle)
{
m_rbv_montype = 32;
m_rbv_palette[0xfe] = 0xffffff;
m_rbv_palette[0xff] = 0;
}
VIDEO_RESET_MEMBER(mac_state,macrbv)
void mac_state::macrbv_reset()
{
int htotal, vtotal;
double framerate;

View File

@ -31,7 +31,6 @@
#include "machine/swim1.h"
#include "machine/timer.h"
#include "machine/z80scc.h"
#include "cuda.h"
#include "egret.h"
#include "macadb.h"
#include "macscsi.h"
@ -110,7 +109,7 @@ private:
m_maincpu->pulse_input_line(M68K_LINE_BUSERROR, attotime::zero);
}
WRITE_LINE_MEMBER(cuda_reset_w)
WRITE_LINE_MEMBER(egret_reset_w)
{
m_maincpu->set_input_line(INPUT_LINE_HALT, state);
m_maincpu->set_input_line(INPUT_LINE_RESET, state);
@ -364,7 +363,7 @@ void maciivx_state::maciivx(machine_config &config)
maciiv_base(config);
EGRET(config, m_egret, EGRET_341S0851);
m_egret->reset_callback().set(FUNC(maciivx_state::cuda_reset_w));
m_egret->reset_callback().set(FUNC(maciivx_state::egret_reset_w));
m_egret->linechange_callback().set(m_macadb, FUNC(macadb_device::adb_linechange_w));
m_egret->via_clock_callback().set(m_vasp, FUNC(vasp_device::cb1_w));
m_egret->via_data_callback().set(m_vasp, FUNC(vasp_device::cb2_w));

View File

@ -88,7 +88,6 @@
#include "emu.h"
#include "macrtc.h"
#include "cpu/m68000/m68000.h"
#include "cpu/m6502/m5074x.h"
#include "machine/6522via.h"