agat, ec184x, enmirage, jpmimpact, jpmmps, jpms80: Removed machine().device, nw

This commit is contained in:
mooglyguy 2018-06-22 16:34:11 +02:00
parent 9ff9eaef3a
commit cc7fbd926e
9 changed files with 73 additions and 59 deletions

View File

@ -320,11 +320,6 @@ void agat7_state::machine_start()
save_item(NAME(m_an2));
save_item(NAME(m_an3));
save_item(NAME(m_anykeydown));
// setup video pointers
m_video->m_ram_dev = machine().device<ram_device>(RAM_TAG);
m_video->m_char_ptr = memregion("gfx1")->base();
m_video->m_char_size = memregion("gfx1")->bytes();
}
void agat7_state::machine_reset()
@ -1083,15 +1078,15 @@ static void agat7_cards(device_slot_interface &device)
}
MACHINE_CONFIG_START(agat7_state::agat7)
MCFG_DEVICE_ADD("maincpu", M6502, XTAL(14'300'000) / 14)
MCFG_DEVICE_ADD(m_maincpu, M6502, XTAL(14'300'000) / 14)
MCFG_DEVICE_PROGRAM_MAP(agat7_map)
MCFG_DEVICE_VBLANK_INT_DRIVER(A7_VIDEO_TAG ":a7screen", agat7_state, agat_vblank)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", agat7_state, timer_irq, A7_VIDEO_TAG ":a7screen", 0, 1)
MCFG_DEVICE_ADD(A7_VIDEO_TAG, AGAT7VIDEO, 0)
MCFG_DEVICE_ADD(m_video, AGAT7VIDEO, RAM_TAG, "gfx1")
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_ADD(m_ram)
MCFG_RAM_DEFAULT_SIZE("32K")
// MCFG_RAM_EXTRA_OPTIONS("64K,128K")
MCFG_RAM_DEFAULT_VALUE(0x00)
@ -1102,14 +1097,14 @@ MACHINE_CONFIG_START(agat7_state::agat7)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
/* /INH banking */
MCFG_DEVICE_ADD(A7_UPPERBANK_TAG, ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_ADD(m_upperbank, ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(inhbank_map)
MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x3000)
/* keyboard controller -- XXX must be replaced */
MCFG_DEVICE_ADD(A7_KBDC_TAG, AY3600, 0)
MCFG_DEVICE_ADD(m_ay3600, AY3600, 0)
MCFG_AY3600_MATRIX_X0(IOPORT("X0"))
MCFG_AY3600_MATRIX_X1(IOPORT("X1"))
MCFG_AY3600_MATRIX_X2(IOPORT("X2"))
@ -1142,7 +1137,7 @@ MACHINE_CONFIG_START(agat7_state::agat7)
A2BUS_SLOT(config, "sl5", m_a2bus, agat7_cards, nullptr);
A2BUS_SLOT(config, "sl6", m_a2bus, agat7_cards, "a7ram");
MCFG_CASSETTE_ADD(A7_CASSETTE_TAG)
MCFG_CASSETTE_ADD(m_cassette)
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED)
MACHINE_CONFIG_END

View File

@ -39,30 +39,35 @@ public:
ec184x_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_ram(*this, RAM_TAG)
{ }
required_device<cpu_device> m_maincpu;
DECLARE_MACHINE_RESET(ec1841);
void init_ec1841();
struct
{
uint8_t enable[4];
int boards;
} m_memory;
DECLARE_READ8_MEMBER(memboard_r);
DECLARE_WRITE8_MEMBER(memboard_w);
void ec1841(machine_config &config);
void ec1847(machine_config &config);
void ec1840(machine_config &config);
void init_ec1841();
protected:
DECLARE_MACHINE_RESET(ec1841);
DECLARE_READ8_MEMBER(memboard_r);
DECLARE_WRITE8_MEMBER(memboard_w);
void ec1840_io(address_map &map);
void ec1840_map(address_map &map);
void ec1841_io(address_map &map);
void ec1841_map(address_map &map);
void ec1847_io(address_map &map);
void ec1847_map(address_map &map);
required_device<cpu_device> m_maincpu;
required_device<ram_device> m_ram;
struct
{
uint8_t enable[4];
int boards;
} m_memory;
};
/*
@ -101,10 +106,7 @@ READ8_MEMBER(ec184x_state::memboard_r)
WRITE8_MEMBER(ec184x_state::memboard_w)
{
address_space &program = m_maincpu->space(AS_PROGRAM);
ram_device *m_ram = machine().device<ram_device>(RAM_TAG);
uint8_t current;
current = m_memory.enable[offset];
uint8_t current = m_memory.enable[offset];
DBG_LOG(1, "ec1841_memboard", ("W (%d of %d) <- %02X (%02X)\n", offset + 1, m_memory.boards, data, current));
@ -153,7 +155,6 @@ WRITE8_MEMBER(ec184x_state::memboard_w)
void ec184x_state::init_ec1841()
{
address_space &program = m_maincpu->space(AS_PROGRAM);
ram_device *m_ram = machine().device<ram_device>(RAM_TAG);
m_memory.boards = m_ram->size() / EC1841_MEMBOARD_SIZE;
if (m_memory.boards > 4) m_memory.boards = 4;
@ -243,7 +244,7 @@ MACHINE_CONFIG_START(ec184x_state::ec1840)
MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_EC_1841)
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_ADD(m_ram)
MCFG_RAM_DEFAULT_SIZE("512K")
MACHINE_CONFIG_END
@ -269,7 +270,7 @@ MACHINE_CONFIG_START(ec184x_state::ec1841)
MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_EC_1841)
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_ADD(m_ram)
MCFG_RAM_DEFAULT_SIZE("640K")
MCFG_RAM_EXTRA_OPTIONS("512K,1024K,1576K,2048K")
MACHINE_CONFIG_END
@ -293,7 +294,7 @@ MACHINE_CONFIG_START(ec184x_state::ec1847)
MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_KEYTRONIC_PC3270)
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_ADD(m_ram)
MCFG_RAM_DEFAULT_SIZE("640K")
MACHINE_CONFIG_END

View File

@ -61,6 +61,7 @@ public:
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_fdc(*this, "wd1772"),
m_floppy_connector(*this, "wd1772:0"),
m_via(*this, "via6522"),
m_digits(*this, "digit%u", 0U)
{
@ -77,6 +78,7 @@ public:
void mirage(machine_config &config);
void mirage_map(address_map &map);
protected:
virtual void machine_reset() override;
virtual void machine_start() override { m_digits.resolve(); }
@ -84,6 +86,7 @@ protected:
required_device<mc6809e_device> m_maincpu;
required_device<wd1772_device> m_fdc;
required_device<floppy_connector> m_floppy_connector;
required_device<via6522_device> m_via;
int last_sndram_bank;
@ -257,8 +260,7 @@ ROM_END
void enmirage_state::init_mirage()
{
floppy_connector *con = machine().device<floppy_connector>("wd1772:0");
floppy_image_device *floppy = con ? con->get_device() : nullptr;
floppy_image_device *floppy = m_floppy_connector ? m_floppy_connector->get_device() : nullptr;
if (floppy)
{
m_fdc->set_floppy(floppy);

View File

@ -259,8 +259,7 @@ READ16_MEMBER(jpmimpct_state::duart_1_r)
case 0xe:
{
attotime rate = attotime::from_hz(MC68681_1_CLOCK) * (16 * duart_1.CT);
timer_device *duart_timer = machine().device<timer_device>("duart_1_timer");
duart_timer->adjust(rate, 0, rate);
m_duart_1_timer->adjust(rate, 0, rate);
break;
}
case 0xf:

View File

@ -156,7 +156,7 @@ public:
protected:
// devices
required_device<cpu_device> m_maincpu;
required_device<tms9995_device> m_maincpu;
required_device<sn76489_device> m_psg;
required_device<meters_device> m_meters;
public:
@ -239,15 +239,14 @@ WRITE8_MEMBER(jpmmps_state::jpmmps_ic22_portc_w)
void jpmmps_state::machine_reset()
{
// Disable auto wait state generation by raising the READY line on reset
tms9995_device* cpu = static_cast<tms9995_device*>(machine().device("maincpu"));
cpu->ready_line(ASSERT_LINE);
cpu->reset_line(ASSERT_LINE);
m_maincpu->ready_line(ASSERT_LINE);
m_maincpu->reset_line(ASSERT_LINE);
}
MACHINE_CONFIG_START(jpmmps_state::jpmmps)
// CPU TMS9995, standard variant; no line connections
MCFG_TMS99xx_ADD("maincpu", TMS9995, MAIN_CLOCK, jpmmps_map, jpmmps_io_map)
MCFG_TMS99xx_ADD(m_maincpu, TMS9995, MAIN_CLOCK, jpmmps_map, jpmmps_io_map)
MCFG_DEVICE_ADD("mainlatch", LS259, 0) // IC10
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(NOOP) // watchdog

View File

@ -67,7 +67,7 @@ public:
protected:
// devices
required_device<cpu_device> m_maincpu;
required_device<tms9995_device> m_maincpu;
public:
void init_jpms80();
};
@ -126,14 +126,13 @@ INPUT_PORTS_END
void jpms80_state::machine_reset()
{
// Disable auto wait state generation by raising the READY line on reset
tms9995_device* cpu = static_cast<tms9995_device*>(machine().device("maincpu"));
cpu->ready_line(ASSERT_LINE);
cpu->reset_line(ASSERT_LINE);
m_maincpu->ready_line(ASSERT_LINE);
m_maincpu->reset_line(ASSERT_LINE);
}
MACHINE_CONFIG_START(jpms80_state::jpms80)
// CPU TMS9995, standard variant; no line connections
MCFG_TMS99xx_ADD("maincpu", TMS9995, MAIN_CLOCK, jpms80_map, jpms80_io_map)
MCFG_TMS99xx_ADD(m_maincpu, TMS9995, MAIN_CLOCK, jpms80_map, jpms80_io_map)
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("outlatch0", LS259, 0) // I/O IC5

View File

@ -63,6 +63,7 @@ class jpmimpct_state : public driver_device
public:
jpmimpct_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_duart_1_timer(*this, "duart_1_timer")
, m_vfd(*this, "vfd")
, m_vram(*this, "vram")
, m_maincpu(*this, "maincpu")
@ -144,6 +145,8 @@ private:
struct bt477_t m_bt477;
void jpm_draw_lamps(int data, int lamp_strobe);
void update_irqs();
required_device<timer_device> m_duart_1_timer;
optional_device<s16lf01_device> m_vfd;
optional_shared_ptr<uint16_t> m_vram;
required_device<cpu_device> m_maincpu;

View File

@ -56,7 +56,12 @@ MACHINE_CONFIG_END
agat7video_device::agat7video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, AGAT7VIDEO, tag, owner, clock),
m_palette(*this, "a7palette")
m_ram_dev(*this, finder_base::DUMMY_TAG),
m_palette(*this, "a7palette"),
m_char_region(*this, finder_base::DUMMY_TAG),
m_char_ptr(nullptr),
m_char_size(0),
m_start_address(0)
{
}
@ -67,6 +72,9 @@ agat7video_device::agat7video_device(const machine_config &mconfig, const char *
void agat7video_device::device_start()
{
m_char_ptr = m_char_region->base();
m_char_size = m_char_region->bytes();
// save_item(NAME(m_video_mode));
save_item(NAME(m_start_address));
}

View File

@ -24,16 +24,19 @@
class agat7video_device : public device_t
{
public:
// construction/destruction
template <typename T, typename U>
agat7video_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&ram_tag, U &&char_tag)
: agat7video_device(mconfig, tag, owner, (uint32_t)0)
{
m_ram_dev.set_tag(std::forward<T>(ram_tag));
m_char_region.set_tag(std::forward<U>(char_tag));
}
agat7video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8_MEMBER(read);
DECLARE_WRITE8_MEMBER(write);
ram_device *m_ram_dev;
uint8_t *m_char_ptr;
int m_char_size;
protected:
virtual void device_start() override;
virtual void device_reset() override;
@ -48,6 +51,18 @@ protected:
private:
void do_io(int offset);
void plot_text_character(bitmap_ind16 &bitmap, int xpos, int ypos, int xscale, uint32_t code, const uint8_t *textgfx_data, uint32_t textgfx_datalen, int fg, int bg);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_PALETTE_INIT(agat7);
required_device<ram_device> m_ram_dev;
required_device<palette_device> m_palette;
required_memory_region m_char_region;
uint8_t *m_char_ptr;
int m_char_size;
uint32_t m_start_address;
enum {
TEXT_LORES = 0,
@ -57,13 +72,6 @@ private:
GRAPHICS_MONO
} m_video_mode;
void plot_text_character(bitmap_ind16 &bitmap, int xpos, int ypos, int xscale, uint32_t code, const uint8_t *textgfx_data, uint32_t textgfx_datalen, int fg, int bg);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_PALETTE_INIT(agat7);
required_device<palette_device> m_palette;
};
// device type definition