isa8_device::isa8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, type, tag, owner, clock), device_memory_interface(mconfig, *this), m_mem_config("ISA 8-bit mem", ENDIANNESS_LITTLE, 8, 24, 0, address_map_constructor()), m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor()), m_mem16_config("ISA 16-bit mem", ENDIANNESS_LITTLE, 16, 24, 0, address_map_constructor()), m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, address_map_constructor()), m_maincpu(*this, finder_base::DUMMY_TAG), m_iospace(nullptr), m_memspace(nullptr), m_iowidth(0), m_memwidth(0), m_allocspaces(false), m_out_irq2_cb(*this), m_out_irq3_cb(*this), m_out_irq4_cb(*this), m_out_irq5_cb(*this), m_out_irq6_cb(*this), m_out_irq7_cb(*this), m_out_drq1_cb(*this), m_out_drq2_cb(*this), m_out_drq3_cb(*this), m_nmi_enabled(false), m_write_iochck(*this) { std::fill(std::begin(m_dma_device), std::end(m_dma_device), nullptr); std::fill(std::begin(m_dma_eop), std::end(m_dma_eop), false); }
ramdac_device::ramdac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, RAMDAC, tag, owner, clock), device_memory_interface(mconfig, *this), m_space_config("videoram", ENDIANNESS_LITTLE, 8, 10, 0, address_map_constructor(), address_map_constructor(FUNC(ramdac_device::ramdac_palram), this)), m_palette(*this, finder_base::DUMMY_TAG), m_color_base(0), m_split_read_reg(0) { }
pic16c62x_device::pic16c62x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int picmodel) : cpu_device(mconfig, type, tag, owner, clock) , m_program_config("program", ENDIANNESS_LITTLE, 16, program_width, -1 , ( ( program_width == 9 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_9), this) : ( ( program_width == 10 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_10), this) : address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_11), this) ))) , m_data_config("data", ENDIANNESS_LITTLE, 8, 8, 0 , ( ( picmodel == 0x16C620 || picmodel == 0x16C621 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c620_ram), this) : ( ( picmodel == 0x16C622 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c622_ram), this) : address_map_constructor(FUNC(pic16c62x_device::pic16c62xa_ram), this) ) ) ) , m_io_config("io", ENDIANNESS_LITTLE, 8, 5, 0) , m_reset_vector(0x0) , m_picmodel(picmodel) , m_picRAMmask(0xff) { }
hd61830_device::hd61830_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, HD61830, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), m_read_rd(*this), m_bf(false), m_cac(0), m_blink(0), m_cursor(0), m_space_config("videoram", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor(), address_map_constructor(FUNC(hd61830_device::hd61830), this)), m_char_rom(*this, "hd61830") { }
tc0091lvc_device::tc0091lvc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, TC0091LVC, tag, owner, clock) , device_memory_interface(mconfig, *this) , m_space_config("tc0091lvc", ENDIANNESS_LITTLE, 8,20, 0, address_map_constructor(), address_map_constructor(FUNC(tc0091lvc_device::tc0091lvc_map8), this)) , m_gfxdecode(*this, finder_base::DUMMY_TAG) { }
h8s2655_device::h8s2655_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : h8s2600_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h8s2655_device::map), this)), intc(*this, "intc"), adc(*this, "adc"), port1(*this, "port1"), port2(*this, "port2"), port3(*this, "port3"), port4(*this, "port4"), port5(*this, "port5"), port6(*this, "port6"), porta(*this, "porta"), portb(*this, "portb"), portc(*this, "portc"), portd(*this, "portd"), porte(*this, "porte"), portf(*this, "portf"), portg(*this, "portg"), timer8_0(*this, "timer8_0"), timer8_1(*this, "timer8_1"), timer16(*this, "timer16"), timer16_0(*this, "timer16:0"), timer16_1(*this, "timer16:1"), timer16_2(*this, "timer16:2"), timer16_3(*this, "timer16:3"), timer16_4(*this, "timer16:4"), timer16_5(*this, "timer16:5"), sci0(*this, "sci0"), sci1(*this, "sci1"), sci2(*this, "sci2"), watchdog(*this, "watchdog"), syscr(0) { has_trace = true; }
ADDRESS_MAP_END _5a22_device::_5a22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : g65816_device(mconfig, _5A22, tag, owner, clock, CPU_TYPE_5A22, address_map_constructor(FUNC(_5a22_device::_5a22_map), this)) { }
h83002_device::h83002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : h8h_device(mconfig, H83002, tag, owner, clock, address_map_constructor(FUNC(h83002_device::map), this)), intc(*this, "intc"), adc(*this, "adc"), dma(*this, "dma"), dma0(*this, "dma:0"), dma1(*this, "dma:1"), port4(*this, "port4"), port6(*this, "port6"), port7(*this, "port7"), port8(*this, "port8"), port9(*this, "port9"), porta(*this, "porta"), portb(*this, "portb"), timer16(*this, "timer16"), timer16_0(*this, "timer16:0"), timer16_1(*this, "timer16:1"), timer16_2(*this, "timer16:2"), timer16_3(*this, "timer16:3"), timer16_4(*this, "timer16:4"), sci0(*this, "sci0"), sci1(*this, "sci1"), watchdog(*this, "watchdog"), tend0_cb(*this), tend1_cb(*this) { syscr = 0; }
h83008_device::h83008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : h8h_device(mconfig, H83008, tag, owner, clock, address_map_constructor(FUNC(h83008_device::map), this)), intc(*this, "intc"), adc(*this, "adc"), port4(*this, "port4"), port6(*this, "port6"), port7(*this, "port7"), port8(*this, "port8"), port9(*this, "port9"), porta(*this, "porta"), portb(*this, "portb"), timer8_0(*this, "timer8_0"), timer8_1(*this, "timer8_1"), timer8_2(*this, "timer8_2"), timer8_3(*this, "timer8_3"), timer16(*this, "timer16"), timer16_0(*this, "timer16:0"), timer16_1(*this, "timer16:1"), timer16_2(*this, "timer16:2"), sci0(*this, "sci0"), sci1(*this, "sci1"), watchdog(*this, "watchdog"), syscr(0) { }
void pci9050_device::device_start() { pci_device::device_start(); add_map(0x80, M_MEM, FUNC(pci9050_device::map)); // map 0 is our config registers, mem space add_map(0x80, M_IO, FUNC(pci9050_device::map)); // map 1 is our config registers, i/o space for(int i=0; i<4; i++) if(!m_maps[i].isnull()) add_map(0, M_MEM | M_DISABLED, m_maps[i], m_devices[i]); else add_map(0, M_MEM | M_DISABLED, address_map_constructor(), nullptr); m_user_input_handler.resolve(); m_user_output_handler.resolve(); // Save states save_item(NAME(m_lasrr)); save_item(NAME(m_lasba)); save_item(NAME(m_lasbrd)); save_item(NAME(m_csbase)); save_item(NAME(m_eromrr)); save_item(NAME(m_eromba)); save_item(NAME(m_erombrd)); save_item(NAME(m_intcsr)); save_item(NAME(m_cntrl)); machine().save().register_postload(save_prepost_delegate(FUNC(pci9050_device::postload), this)); }
tmp68301_device::tmp68301_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, TMP68301, tag, owner, clock), device_memory_interface(mconfig, *this), m_cpu(*this, finder_base::DUMMY_TAG), m_in_parallel_cb(*this), m_out_parallel_cb(*this), m_imr(0), m_iisr(0), m_scr(0), m_pdir(0), m_pdr(0), m_space_config("regs", ENDIANNESS_LITTLE, 16, 10, 0, address_map_constructor(), address_map_constructor(FUNC(tmp68301_device::tmp68301_regs), this)) { memset(m_regs, 0, sizeof(m_regs)); memset(m_icr, 0, sizeof(m_icr)); memset(m_irq_vector, 0, sizeof(m_irq_vector)); }
gio64_device::gio64_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, type, tag, owner, clock) , device_memory_interface(mconfig, *this) , m_space_config("GIO64 Space", ENDIANNESS_BIG, 64, 32, 0, address_map_constructor()) , m_maincpu(*this, finder_base::DUMMY_TAG) , m_interrupt_cb{{*this}, {*this}, {*this}} { }
m68340_cpu_device::m68340_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : fscpu32_device(mconfig, tag, owner, clock, M68340, 32,32, address_map_constructor(FUNC(m68340_cpu_device::m68340_internal_map), this)) , m_serial(*this, "serial") , m_timer(*this, "timer%u", 1U) , m_clock_mode(0) , m_crystal(0) , m_extal(0) , m_pa_out_cb(*this) , m_pa_in_cb(*this) , m_pb_out_cb(*this) , m_pb_in_cb(*this) { m_m68340SIM = nullptr; m_m68340DMA = nullptr; m_m68340_base = 0; m_ipl = 0; m_cpu_space_config.m_internal_map = address_map_constructor(FUNC(m68340_cpu_device::internal_vectors_r), this); }
dio32_98550_device::dio32_98550_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, type, tag, owner, clock), device_dio16_card_interface(mconfig, *this), device_memory_interface(mconfig, *this), m_nereid(*this, "nereid"), m_catseye(*this, "catseye%d", 0), m_space_config("vram", ENDIANNESS_BIG, 8, 23, 0, address_map_constructor(FUNC(dio32_98550_device::map), this)), m_rom(*this, "hp98550a_rom"), m_vram(*this, { "vram_video", "vram_overlay"}) { }
i8155_device::i8155_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, type, tag, owner, clock), device_memory_interface(mconfig, *this), m_in_pa_cb(*this), m_in_pb_cb(*this), m_in_pc_cb(*this), m_out_pa_cb(*this), m_out_pb_cb(*this), m_out_pc_cb(*this), m_out_to_cb(*this), m_command(0), m_status(0), m_count_length(0), m_count_loaded(0), m_counter(0), m_count_extra(false), m_to(0), m_space_config("ram", ENDIANNESS_LITTLE, 8, 8, 0, address_map_constructor(), address_map_constructor(FUNC(i8155_device::i8155), this)) { }
tms57002_device::tms57002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : cpu_device(mconfig, TMS57002, tag, owner, clock) , device_sound_interface(mconfig, *this) , macc(0), macc_read(0), macc_write(0), st0(0), st1(0), sti(0), txrd(0) , m_dready_callback(*this) , m_pc0_callback(*this) , m_empty_callback(*this) , program_config("program", ENDIANNESS_LITTLE, 32, 8, -2, address_map_constructor(FUNC(tms57002_device::internal_pgm), this)) , data_config("data", ENDIANNESS_LITTLE, 8, 20) { }
at28c16_device::at28c16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, AT28C16, tag, owner, clock), device_memory_interface(mconfig, *this), device_nvram_interface(mconfig, *this), m_space_config("at28c16", ENDIANNESS_BIG, 8, 12, 0, address_map_constructor(FUNC(at28c16_device::at28c16_map8), this)), m_a9_12v(0), m_oe_12v(0), m_last_write(-1), m_default_data(*this, DEVICE_SELF, AT28C16_DATA_BYTES) { }
seibu_crtc_device::seibu_crtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, SEIBU_CRTC, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), m_decrypt_key_cb(*this), m_layer_en_cb(*this), m_layer_scroll_cb(*this), m_reg_1a_cb(*this), m_layer_scroll_base_cb(*this), m_space_config("vregs", ENDIANNESS_LITTLE, 16, 7, 0, address_map_constructor(FUNC(seibu_crtc_device::seibu_crtc_vregs), this)) { }
ADDRESS_MAP_END //************************************************************************** // LIVE DEVICE //************************************************************************** //------------------------------------------------- // dave_device - constructor //------------------------------------------------- dave_device::dave_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, DAVE, tag, owner, clock), device_memory_interface(mconfig, *this), device_sound_interface(mconfig, *this), m_program_space_config("program", ENDIANNESS_LITTLE, 8, 22, 0, address_map_constructor(FUNC(dave_device::program_map), this)), m_io_space_config("i/o", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor(FUNC(dave_device::io_map), this)), m_write_irq(*this), m_write_lh(*this), m_write_rh(*this), m_irq_status(0) { }
MACHINE_CONFIG_END m68307_cpu_device::m68307_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : m68000_device(mconfig, tag, owner, clock, M68307, 16, 24, address_map_constructor(FUNC(m68307_cpu_device::m68307_internal_map), this)), m_write_irq(*this), m_write_a_tx(*this), m_write_b_tx(*this), m_read_inport(*this), m_write_outport(*this), m_duart(*this, "internal68681") { m_m68307SIM = nullptr; m_m68307MBUS = nullptr; m_m68307TIMER = nullptr; m_m68307_base = 0; m_m68307_scrhigh = 0; m_m68307_scrlow = 0; m_m68307_currentcs = 0; }
h83337_device::h83337_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start) : h8_device(mconfig, type, tag, owner, clock, true, address_map_constructor(FUNC(h83337_device::map), this)), intc(*this, "intc"), adc(*this, "adc"), port1(*this, "port1"), port2(*this, "port2"), port3(*this, "port3"), port4(*this, "port4"), port5(*this, "port5"), port6(*this, "port6"), port7(*this, "port7"), port8(*this, "port8"), port9(*this, "port9"), timer8_0(*this, "timer8_0"), timer8_1(*this, "timer8_1"), timer16(*this, "timer16"), timer16_0(*this, "timer16:0"), sci0(*this, "sci0"), sci1(*this, "sci1"), watchdog(*this, "watchdog"), syscr(0), ram_start(start) { }
MACHINE_CONFIG_END //************************************************************************** // LIVE DEVICE //************************************************************************** m68340_cpu_device::m68340_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : fscpu32_device(mconfig, tag, owner, clock, M68340, 32,32, address_map_constructor(FUNC(m68340_cpu_device::m68340_internal_map), this)) , m_serial(*this, "serial") , m_timer1(*this, "timer1") , m_timer2(*this, "timer2") , m_clock_mode(0) , m_crystal(0) , m_extal(0) , m_pa_out_cb(*this) , m_pa_in_cb(*this) , m_pb_out_cb(*this) , m_pb_in_cb(*this) { m_m68340SIM = nullptr; m_m68340DMA = nullptr; m_m68340_base = 0; }
ppu2c0x_device::ppu2c0x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, type, tag, owner, clock) , device_memory_interface(mconfig, *this) , device_video_interface(mconfig, *this) , device_palette_interface(mconfig, *this) , m_space_config("videoram", ENDIANNESS_LITTLE, 8, 17, 0, address_map_constructor(), address_map_constructor(FUNC(ppu2c0x_device::ppu2c0x), this)) , m_cpu(*this, finder_base::DUMMY_TAG) , m_scanline(0) // reset the scanline count , m_int_callback(*this) , m_refresh_data(0) , m_refresh_latch(0) , m_x_fine(0) , m_toggle(0) , m_add(1) , m_videomem_addr(0) , m_data_latch(0) , m_buffered_data(0) , m_tile_page(0) , m_sprite_page(0) , m_back_color(0) , m_scan_scale(1) // set the scan scale (this is for dual monitor vertical setups) , m_tilecount(0) , m_draw_phase(0) , m_use_sprite_write_limitation(true) { for (auto & elem : m_regs) elem = 0; memset(m_palette_ram, 0, ARRAY_LENGTH(m_palette_ram)); m_scanlines_per_frame = NTSC_SCANLINES_PER_FRAME; m_vblank_first_scanline = VBLANK_FIRST_SCANLINE; /* usually, no security value... */ m_security_value = 0; }
kb1013vk12_device::kb1013vk12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : sm5a_device(mconfig, KB1013VK12, tag, owner, clock, 1, 9, 11, address_map_constructor(FUNC(kb1013vk12_device::program_1_8k), this), 7, address_map_constructor(FUNC(kb1013vk12_device::data_5x13x4), this)) { }
// device definitions sm511_device::sm511_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : sm511_device(mconfig, SM511, tag, owner, clock, 2 /* stack levels */, 12 /* prg width */, address_map_constructor(FUNC(sm511_device::program_4k), this), 7 /* data width */, address_map_constructor(FUNC(sm511_device::data_96_32x4), this)) { }
sm512_device::sm512_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : sm511_device(mconfig, SM512, tag, owner, clock, 2, 12, address_map_constructor(FUNC(sm512_device::program_4k), this), 7, address_map_constructor(FUNC(sm512_device::data_80_48x4), this)) { }
n2a03_device::n2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : m6502_device(mconfig, N2A03, tag, owner, clock) , m_apu(*this, "nesapu") { program_config.m_internal_map = address_map_constructor(FUNC(n2a03_device::n2a03_map), this); }
m37450_device::m37450_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : m3745x_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(m37450_device::m37450_map), this)) { }
lpc210x_device::lpc210x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : arm7_cpu_device(mconfig, LPC2103, tag, owner, clock, 4, ARCHFLAG_T, ENDIANNESS_LITTLE) , m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0, address_map_constructor(FUNC(lpc210x_device::lpc2103_map), this)) { }
// device definitions sm500_device::sm500_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : sm500_device(mconfig, SM500, tag, owner, clock, 1 /* stack levels */, 7 /* o group pins */, 11 /* prg width */, address_map_constructor(FUNC(sm500_device::program_1_2k), this), 6 /* data width */, address_map_constructor(FUNC(sm500_device::data_4x10x4), this)) { }