mirror of
https://github.com/holub/mame
synced 2025-06-05 12:26:35 +03:00
Initialised more variables and updated a few things overlooked earlier.
This commit is contained in:
parent
da40d38565
commit
f1ed47b3aa
@ -89,10 +89,10 @@ private:
|
||||
uint8_t *m_ram_base;
|
||||
uint8_t *m_rom_base;
|
||||
uint8_t *m_char_ram;
|
||||
uint16_t m_pcg_addr;
|
||||
uint16_t m_pcg_internal_addr;
|
||||
uint8_t m_key_mux;
|
||||
uint8_t m_memsel[4];
|
||||
uint16_t m_pcg_addr = 0U;
|
||||
uint16_t m_pcg_internal_addr = 0U;
|
||||
uint8_t m_key_mux = 0U;
|
||||
uint8_t m_memsel[4]{};
|
||||
required_device<z80_device> m_maincpu;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<upd7220_device> m_hgdc;
|
||||
|
@ -66,9 +66,9 @@ public:
|
||||
, m_ic6(*this, "ic6")
|
||||
, m_ic7(*this, "ic7")
|
||||
, m_ic8(*this, "ic8")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_leds(*this, "led%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_leds(*this, "led%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void allied(machine_config &config);
|
||||
@ -96,16 +96,16 @@ private:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(timer_a);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u32 m_player_score[6];
|
||||
u8 m_display;
|
||||
u8 m_bit_counter;
|
||||
bool m_disp_data;
|
||||
u8 m_ic5a;
|
||||
u8 m_ic6a0;
|
||||
u8 m_ic6a1;
|
||||
u8 m_ic6a2;
|
||||
u8 m_ic6b4;
|
||||
u8 m_ic6b7;
|
||||
u32 m_player_score[6]{};
|
||||
u8 m_display = 0U;
|
||||
u8 m_bit_counter = 0U;
|
||||
bool m_disp_data = 0;
|
||||
u8 m_ic5a = 0U;
|
||||
u8 m_ic6a0 = 0U;
|
||||
u8 m_ic6a1 = 0U;
|
||||
u8 m_ic6a2 = 0U;
|
||||
u8 m_ic6b4 = 0U;
|
||||
u8 m_ic6b7 = 0U;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
required_device<m6504_device> m_maincpu;
|
||||
@ -626,6 +626,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( allied_state::timer_a )
|
||||
|
||||
void allied_state::machine_start()
|
||||
{
|
||||
genpin_class::machine_start();
|
||||
m_digits.resolve();
|
||||
m_leds.resolve();
|
||||
m_io_outputs.resolve();
|
||||
@ -644,6 +645,10 @@ void allied_state::machine_start()
|
||||
|
||||
void allied_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
|
||||
m_display = 0;
|
||||
m_bit_counter = 0;
|
||||
m_disp_data = 0;
|
||||
|
@ -77,8 +77,6 @@ public:
|
||||
, m_centronics(*this, "centronics")
|
||||
, m_config(*this, "CONFIG")
|
||||
, m_cart(*this, "cartslot")
|
||||
, m_centronics_ack(0)
|
||||
, m_centronics_busy(0)
|
||||
{ }
|
||||
|
||||
void alphatro(machine_config &config);
|
||||
@ -119,11 +117,11 @@ private:
|
||||
uint8_t *m_ram_ptr;
|
||||
required_device<ram_device> m_ram;
|
||||
required_shared_ptr<u8> m_p_videoram;
|
||||
u8 m_flashcnt;
|
||||
u8 m_cass_data[4];
|
||||
u8 m_port_10, m_port_20, m_port_f0;
|
||||
bool m_cassbit;
|
||||
bool m_cassold, m_fdc_irq;
|
||||
u8 m_flashcnt = 0U;
|
||||
u8 m_cass_data[4]{};
|
||||
u8 m_port_10 = 0U, m_port_20 = 0U, m_port_f0 = 0U;
|
||||
bool m_cassbit = 0;
|
||||
bool m_cassold = 0, m_fdc_irq = 0;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
@ -140,12 +138,12 @@ private:
|
||||
required_ioport m_config;
|
||||
required_device<generic_slot_device> m_cart;
|
||||
|
||||
int m_centronics_ack;
|
||||
int m_centronics_busy;
|
||||
int m_centronics_ack = 0;
|
||||
int m_centronics_busy = 0;
|
||||
|
||||
std::unique_ptr<uint8_t[]> m_bicom_ram;
|
||||
uint16_t m_bicom_addr;
|
||||
uint8_t m_bicom_en;
|
||||
uint16_t m_bicom_addr = 0U;
|
||||
uint8_t m_bicom_en = 0U;
|
||||
};
|
||||
|
||||
class alphatro_pal_state : public alphatro_state
|
||||
|
@ -69,10 +69,10 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
uint8_t m_port08;
|
||||
uint8_t m_port09;
|
||||
bool m_ipl;
|
||||
offs_t m_curr_bank;
|
||||
uint8_t m_port08 = 0U;
|
||||
uint8_t m_port09 = 0U;
|
||||
bool m_ipl = 0;
|
||||
offs_t m_curr_bank = 0;
|
||||
floppy_image_device *m_floppy;
|
||||
std::unique_ptr<u8[]> m_ram; // main ram 192k
|
||||
std::unique_ptr<u8[]> m_dummy; // for wrpt
|
||||
|
@ -148,9 +148,9 @@ private:
|
||||
MC6845_BEGIN_UPDATE(crtc_update_border);
|
||||
void applix_palette(palette_device &palette) const;
|
||||
|
||||
u8 m_video_latch;
|
||||
u8 m_pa;
|
||||
u8 m_palette_latch[4];
|
||||
u8 m_video_latch = 0U;
|
||||
u8 m_pa = 0U;
|
||||
u8 m_palette_latch[4]{};
|
||||
required_shared_ptr<u16> m_base;
|
||||
|
||||
void main_mem(address_map &map);
|
||||
@ -159,24 +159,24 @@ private:
|
||||
void sub_io(address_map &map);
|
||||
void sub_mem(address_map &map);
|
||||
|
||||
u8 m_pb;
|
||||
u8 m_analog_latch;
|
||||
u8 m_dac_latch;
|
||||
u8 m_port08;
|
||||
u8 m_data_to_fdc;
|
||||
u8 m_data_from_fdc;
|
||||
bool m_data;
|
||||
bool m_data_or_cmd;
|
||||
bool m_buffer_empty;
|
||||
bool m_fdc_cmd;
|
||||
u8 m_clock_count;
|
||||
bool m_cp;
|
||||
u8 m_p1;
|
||||
u8 m_p1_data;
|
||||
u8 m_p2;
|
||||
u8 m_p3;
|
||||
u16 m_last_write_addr;
|
||||
u8 m_cass_data[4];
|
||||
u8 m_pb = 0U;
|
||||
u8 m_analog_latch = 0U;
|
||||
u8 m_dac_latch = 0U;
|
||||
u8 m_port08 = 0U;
|
||||
u8 m_data_to_fdc = 0U;
|
||||
u8 m_data_from_fdc = 0U;
|
||||
bool m_data = 0;
|
||||
bool m_data_or_cmd = 0;
|
||||
bool m_buffer_empty = 0;
|
||||
bool m_fdc_cmd = 0;
|
||||
u8 m_clock_count = 0U;
|
||||
bool m_cp = 0;
|
||||
u8 m_p1 = 0U;
|
||||
u8 m_p1_data = 0U;
|
||||
u8 m_p2 = 0U;
|
||||
u8 m_p3 = 0U;
|
||||
u16 m_last_write_addr = 0U;
|
||||
u8 m_cass_data[4]{};
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<via6522_device> m_via;
|
||||
|
@ -38,7 +38,7 @@ public:
|
||||
atari_4x4_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
|
@ -76,9 +76,9 @@ public:
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_ram(*this, "ram")
|
||||
, m_dac(*this, "dac")
|
||||
, m_switch(*this, "X%u", 0)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_player_lamps(*this, "text%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_player_lamps(*this, "text%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
@ -114,18 +114,18 @@ private:
|
||||
|
||||
bool m_audio_en = false;
|
||||
u8 m_timer_s[3]{};
|
||||
u8 m_vol = 0;
|
||||
u8 m_1080 = 0;
|
||||
u8 m_1084 = 0;
|
||||
u8 m_1088 = 0;
|
||||
u8 m_108c = 0;
|
||||
u8 m_bit6 = 0;
|
||||
u8 m_t_c = 0;
|
||||
u8 m_vol = 0U;
|
||||
u8 m_1080 = 0U;
|
||||
u8 m_1084 = 0U;
|
||||
u8 m_1088 = 0U;
|
||||
u8 m_108c = 0U;
|
||||
u8 m_bit6 = 0U;
|
||||
u8 m_t_c = 0U;
|
||||
required_region_ptr<u8> m_p_prom;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<u8> m_p_ram;
|
||||
required_device<dac_4bit_r2r_device> m_dac;
|
||||
required_ioport_array<10> m_switch;
|
||||
required_ioport_array<10> m_io_keyboard;
|
||||
output_finder<78> m_digits;
|
||||
output_finder<8> m_player_lamps;
|
||||
output_finder<160> m_io_outputs; // 32 solenoids + 128 lamps
|
||||
@ -393,7 +393,7 @@ void atari_s1_state::midearth_w(offs_t offset, u8 data)
|
||||
|
||||
u8 atari_s1_state::switch_r(offs_t offset)
|
||||
{
|
||||
return (BIT(m_switch[offset>>3]->read(), offset&7 ) << 7) | (BIT(m_bit6, 1) << 6) | 0x3f; // switch bit | BIT6_CLK
|
||||
return (BIT(m_io_keyboard[offset>>3]->read(), offset&7 ) << 7) | (BIT(m_bit6, 1) << 6) | 0x3f; // switch bit | BIT6_CLK
|
||||
}
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( atari_s1_state::nmi )
|
||||
|
@ -43,7 +43,7 @@ public:
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_dac(*this, "dac")
|
||||
, m_dac1(*this, "dac1")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
@ -70,10 +70,10 @@ private:
|
||||
|
||||
bool m_timer_sb = 0;
|
||||
u8 m_timer_s[5]{};
|
||||
u8 m_sound0 = 0;
|
||||
u8 m_sound1 = 0;
|
||||
u8 m_vol = 0;
|
||||
u8 m_t_c = 0;
|
||||
u8 m_sound0 = 0U;
|
||||
u8 m_sound1 = 0U;
|
||||
u8 m_vol = 0U;
|
||||
u8 m_t_c = 0U;
|
||||
u8 m_segment[7]{};
|
||||
required_region_ptr<u8> m_p_prom;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
@ -1,12 +1,12 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Robbbert
|
||||
// PINBALL
|
||||
// Skeleton driver for Barni pinballs.
|
||||
// Known pinballs to be dumped: Shield (1985) - different electronics
|
||||
// Hardware listing and ROM definitions from PinMAME.
|
||||
/**************************************************************************************************************
|
||||
PINBALL
|
||||
Driver for Barni pinballs.
|
||||
Known pinballs to be dumped: Shield (1985) - different electronics
|
||||
Hardware listing and ROM definitions from PinMAME.
|
||||
|
||||
/*
|
||||
Hardware:
|
||||
Hardware:
|
||||
CPU: 2 x 6809E, optional MC6802 which may replace second 6809E
|
||||
INT: IRQ on CPU 0, FIRQ on CPU 1
|
||||
IO: 2x PIA 6821
|
||||
@ -16,6 +16,9 @@
|
||||
|
||||
Undumped 16L8 at position U9
|
||||
|
||||
Status:
|
||||
- Skeletons
|
||||
|
||||
TODO:
|
||||
- Almost everything
|
||||
- Value of crystal on audio cpu
|
||||
@ -26,7 +29,7 @@ TODO:
|
||||
- Does speech work? DAC works by poking $5D in audio cpu.
|
||||
- Manuals are difficult to read, and don't show everything we need.
|
||||
|
||||
*/
|
||||
**************************************************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "machine/genpin.h"
|
||||
@ -55,7 +58,7 @@ public:
|
||||
, m_speech(*this, "tms5220")
|
||||
, m_dac(*this, "dac")
|
||||
, m_dac2(*this, "dac2")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
{ }
|
||||
|
||||
void barni(machine_config &config);
|
||||
@ -71,9 +74,9 @@ private:
|
||||
void pias1_pb_w(u8);
|
||||
void pias2_pb_w(u8);
|
||||
void showseg(u8, u8);
|
||||
u8 m_via_pa = 0;
|
||||
u8 m_bitcount = 0;
|
||||
u8 m_soundcmd = 0;
|
||||
u8 m_via_pa = 0U;
|
||||
u8 m_bitcount = 0U;
|
||||
u8 m_soundcmd = 0U;
|
||||
//void machine_reset() override;
|
||||
void machine_start() override { m_digits.resolve(); }
|
||||
required_device<mc6809e_device> m_maincpu;
|
||||
|
@ -144,10 +144,10 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
u8 crt8002(u8 ac_ra, u8 ac_chr, u8 ac_attr, uint16_t ac_cnt, bool ac_curs);
|
||||
u8 m_term_data;
|
||||
u8 m_term_status;
|
||||
uint16_t m_cnt;
|
||||
bool m_cc[8];
|
||||
u8 m_term_data = 0U;
|
||||
u8 m_term_status = 0U;
|
||||
uint16_t m_cnt = 0U;
|
||||
bool m_cc[8]{};
|
||||
floppy_image_device *m_floppy;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
@ -75,8 +75,8 @@ private:
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(kansas_r);
|
||||
|
||||
u8 m_cass_data[4];
|
||||
bool m_cassold, m_cassinbit, m_cassoutbit;
|
||||
u8 m_cass_data[4]{};
|
||||
bool m_cassold = 0, m_cassinbit = 0, m_cassoutbit = 0;
|
||||
|
||||
void mem_map(address_map &map);
|
||||
void machine_start() override;
|
||||
|
@ -133,33 +133,33 @@ private:
|
||||
uint8_t ym2203_r();
|
||||
void ym2203_w(u8 data);
|
||||
|
||||
u8 m_hres_reg;
|
||||
u8 m_crtc_vreg[0x100];
|
||||
u8 m_psg_latch;
|
||||
u8 m_attr_latch;
|
||||
u8 m_vres_reg;
|
||||
bool m_keyb_interrupt_enabled;
|
||||
bool m_keyb_nmi_disabled; // not used yet
|
||||
bool m_keyb_counter_operation_disabled;
|
||||
u8 m_keyb_empty_scan;
|
||||
u8 m_keyb_scancode;
|
||||
u16 m_kbt = 0;
|
||||
bool m_keyb_capslock_led_on;
|
||||
bool m_keyb_hiragana_led_on;
|
||||
bool m_keyb_katakana_led_on;
|
||||
bool m_cassbit;
|
||||
bool m_cassold;
|
||||
u8 m_cass_data[4];
|
||||
u8 m_hres_reg = 0U;
|
||||
u8 m_crtc_vreg[0x100]{};
|
||||
u8 m_psg_latch = 0U;
|
||||
u8 m_attr_latch = 0U;
|
||||
u8 m_vres_reg = 0U;
|
||||
bool m_keyb_interrupt_enabled = 0;
|
||||
bool m_keyb_nmi_disabled = 0; // not used yet
|
||||
bool m_keyb_counter_operation_disabled = 0;
|
||||
u8 m_keyb_empty_scan = 0U;
|
||||
u8 m_keyb_scancode = 0U;
|
||||
u16 m_kbt = 0U;
|
||||
bool m_keyb_capslock_led_on = 0;
|
||||
bool m_keyb_hiragana_led_on = 0;
|
||||
bool m_keyb_katakana_led_on = 0;
|
||||
bool m_cassbit = 0;
|
||||
bool m_cassold = 0;
|
||||
u8 m_cass_data[4]{};
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
void m6845_change_clock(u8 setting);
|
||||
u8 m_crtc_index;
|
||||
u8 m_crtc_index = 0U;
|
||||
std::unique_ptr<u8[]> m_extram;
|
||||
std::unique_ptr<u8[]> m_vram;
|
||||
std::unique_ptr<u8[]> m_aram;
|
||||
u8 m_firq_mask;
|
||||
u8 m_firq_status;
|
||||
u8 m_nmi;
|
||||
u8 m_firq_mask = 0U;
|
||||
u8 m_firq_status = 0U;
|
||||
u8 m_nmi = 0U;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
required_device<bml3bus_device> m_bml3bus;
|
||||
|
@ -183,7 +183,7 @@ public:
|
||||
, m_palette(*this, "palette")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_ram(*this, RAM_TAG)
|
||||
, m_bankr(*this, "bankr%d", 0)
|
||||
, m_bankr(*this, "bankr%d", 0U)
|
||||
, m_cass(*this, "cassette")
|
||||
//, m_printer(*this, "centronics")
|
||||
, m_crtc(*this, "crtc")
|
||||
@ -222,12 +222,12 @@ private:
|
||||
void lynx48k_io(address_map &map);
|
||||
void lynx48k_mem(address_map &map);
|
||||
void lynx96k_io(address_map &map);
|
||||
u8 m_port58;
|
||||
u8 m_port80;
|
||||
u8 m_bankdata;
|
||||
u8 m_wbyte;
|
||||
u8 m_port58 = 0U;
|
||||
u8 m_port80 = 0U;
|
||||
u8 m_bankdata = 0U;
|
||||
u8 m_wbyte = 0U;
|
||||
u8 *m_p_ram;
|
||||
bool m_is_128k;
|
||||
bool m_is_128k = 0;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<z80_device> m_maincpu;
|
||||
required_device<ram_device> m_ram;
|
||||
|
@ -131,10 +131,10 @@ protected:
|
||||
void port04_w(u8 data);
|
||||
void port34_w(u8 data);
|
||||
|
||||
bool m_ss;
|
||||
bool m_dden;
|
||||
bool m_dsize;
|
||||
u8 m_ds;
|
||||
bool m_ss = 0;
|
||||
bool m_dden = 0;
|
||||
bool m_dsize = 0;
|
||||
u8 m_ds = 0U;
|
||||
floppy_image_device *m_floppy;
|
||||
|
||||
required_device<z80_device> m_maincpu;
|
||||
@ -161,7 +161,7 @@ private:
|
||||
void ccs2810_io(address_map &map);
|
||||
void ccs2810_mem(address_map &map);
|
||||
|
||||
u8 m_power_on_status;
|
||||
u8 m_power_on_status = 0U;
|
||||
};
|
||||
|
||||
class ccs300_state : public ccs_state
|
||||
|
@ -86,10 +86,10 @@ private:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(kansas_r);
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
|
||||
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
u8 m_term_data;
|
||||
bool m_cassbit;
|
||||
bool m_cassold;
|
||||
u8 m_cass_data[4];
|
||||
u8 m_term_data = 0U;
|
||||
bool m_cassbit = 0;
|
||||
bool m_cassold = 0;
|
||||
u8 m_cass_data[4]{};
|
||||
void machine_reset() override;
|
||||
void machine_start() override;
|
||||
required_device<s2650_device> m_maincpu;
|
||||
|
@ -88,9 +88,9 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
bool m_kbd_ack;
|
||||
bool m_vdp_int;
|
||||
u8 m_term_data;
|
||||
bool m_kbd_ack = 0;
|
||||
bool m_vdp_int = 0;
|
||||
u8 m_term_data = 0U;
|
||||
required_device<tms9995_device> m_maincpu;
|
||||
required_region_ptr<u8> m_rom;
|
||||
required_shared_ptr<u8> m_ram;
|
||||
|
@ -76,7 +76,7 @@ private:
|
||||
void piaset_w(offs_t, u8);
|
||||
bool m_cassbit = 0;
|
||||
bool m_cassold = 0;
|
||||
u8 m_cass_data[4] = { 0, };
|
||||
u8 m_cass_data[4]{};
|
||||
void machine_start() override;
|
||||
void machine_reset() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
@ -58,8 +58,8 @@ private:
|
||||
void digit_w(u8 data);
|
||||
void segment_w(u8 data);
|
||||
|
||||
u8 m_digit;
|
||||
u8 m_seg;
|
||||
u8 m_digit = 0U;
|
||||
u8 m_seg = 0U;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<pwm_display_device> m_display;
|
||||
required_ioport_array<8> m_io_keyboard;
|
||||
|
@ -91,10 +91,10 @@ private:
|
||||
|
||||
void d6800_map(address_map &map);
|
||||
|
||||
bool m_cb2;
|
||||
bool m_cassold;
|
||||
uint8_t m_cass_data[4];
|
||||
uint8_t m_portb;
|
||||
bool m_cb2 = 0;
|
||||
bool m_cassold = 0;
|
||||
uint8_t m_cass_data[4]{};
|
||||
uint8_t m_portb = 0U;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
@ -119,11 +119,11 @@ private:
|
||||
void mem_map(address_map &map);
|
||||
void machine_start() override;
|
||||
|
||||
u8 m_cass_data;
|
||||
u8 m_last_key;
|
||||
bool m_cassbit;
|
||||
bool m_cassold;
|
||||
bool m_speaker_state;
|
||||
u8 m_cass_data = 0U;
|
||||
u8 m_last_key = 0U;
|
||||
bool m_cassbit = 0;
|
||||
bool m_cassold = 0;
|
||||
bool m_speaker_state = 0;
|
||||
required_device<s2650_device> m_maincpu;
|
||||
required_device<speaker_sound_device> m_speaker;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
|
@ -61,8 +61,8 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
bool m_dma_dir;
|
||||
u16 m_dma_adr;
|
||||
bool m_dma_dir = 0;
|
||||
u16 m_dma_adr = 0U;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_region_ptr<u8> m_rom;
|
||||
required_shared_ptr<u8> m_ram;
|
||||
|
@ -66,9 +66,9 @@ public:
|
||||
, m_cti(*this, CDP1864_TAG)
|
||||
, m_pia(*this, MC6821_TAG)
|
||||
, m_cassette(*this, "cassette")
|
||||
, m_io_keyboard(*this, "KEY.%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_special(*this, "SPECIAL")
|
||||
, m_leds(*this, "led%u", 0U)
|
||||
, m_leds(*this, "led%d", 0U)
|
||||
{ }
|
||||
|
||||
void eti660(machine_config &config);
|
||||
@ -104,11 +104,11 @@ private:
|
||||
uint16_t m_resetcnt;
|
||||
|
||||
/* keyboard state */
|
||||
u8 m_keylatch;
|
||||
u8 m_keylatch = 0U;
|
||||
|
||||
/* video state */
|
||||
u8 m_color_ram[0xc0];
|
||||
u8 m_color;
|
||||
u8 m_color_ram[0xc0]{};
|
||||
u8 m_color = 0U;
|
||||
};
|
||||
|
||||
|
||||
@ -164,28 +164,28 @@ void eti660_state::io_map(address_map &map)
|
||||
|
||||
/* Input Ports */
|
||||
static INPUT_PORTS_START( eti660 )
|
||||
PORT_START("KEY.0")
|
||||
PORT_START("X0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("KEY.1")
|
||||
PORT_START("X1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4')
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("KEY.2")
|
||||
PORT_START("X2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9')
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8')
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("KEY.3")
|
||||
PORT_START("X3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
|
||||
|
@ -109,12 +109,12 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u8 m_sys_status;
|
||||
u8 m_kbdrow;
|
||||
bool m_crtc_vs;
|
||||
bool m_crtc_hs;
|
||||
bool m_motor;
|
||||
bool m_centronics_busy;
|
||||
u8 m_sys_status = 0U;
|
||||
u8 m_kbdrow = 0U;
|
||||
bool m_crtc_vs = 0;
|
||||
bool m_crtc_hs = 0;
|
||||
bool m_motor = 0;
|
||||
bool m_centronics_busy = 0;
|
||||
std::unique_ptr<u8[]> m_vram;
|
||||
std::unique_ptr<u8[]> m_hram;
|
||||
std::unique_ptr<u8[]> m_ram;
|
||||
|
@ -57,10 +57,10 @@ public:
|
||||
g627_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_switch(*this, "SWITCH.%u", 0)
|
||||
, m_testipt(*this, "TEST.%u", 0)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_testipt(*this, "T%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void g627(machine_config &config);
|
||||
@ -76,15 +76,15 @@ private:
|
||||
void lamp_w(offs_t offset, u8 data);
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
u8 m_seg[6];
|
||||
u8 m_portc = 0;
|
||||
u8 m_motor = 0;
|
||||
u8 m_last_solenoid = 0;
|
||||
u8 m_seg[6]{};
|
||||
u8 m_portc = 0U;
|
||||
u8 m_motor = 0U;
|
||||
u8 m_last_solenoid = 0U;
|
||||
bool m_type = 0;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_ioport_array<7> m_switch;
|
||||
required_ioport_array<7> m_io_keyboard;
|
||||
required_ioport_array<6> m_testipt;
|
||||
output_finder<56> m_digits;
|
||||
output_finder<72> m_io_outputs; // 16 solenoids + 56 lamps
|
||||
@ -108,10 +108,10 @@ void g627_state::io_map(address_map &map)
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( g627 )
|
||||
PORT_START("SWITCH.0")
|
||||
PORT_START("X0")
|
||||
//bits 0,1 : optical encoder for precise table alignment. Correct position = 3.
|
||||
//bit2-7 : position of table as it turns, using Gray code.
|
||||
PORT_START("SWITCH.1")
|
||||
PORT_START("X1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("Centre TB")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("Bank Shot Outlane")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("Spinner")
|
||||
@ -120,7 +120,7 @@ static INPUT_PORTS_START( g627 )
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_START2) PORT_NAME("Call South")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_START1) PORT_NAME("Call North")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_START4) PORT_NAME("Call West")
|
||||
PORT_START("SWITCH.2")
|
||||
PORT_START("X2")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("Bottom TB")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Left Flipper Return") PORT_CODE(KEYCODE_LSHIFT)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("3/11 Target")
|
||||
@ -129,7 +129,7 @@ static INPUT_PORTS_START( g627 )
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) PORT_NAME("North Test")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_COIN1) PORT_NAME("North Coin")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_9) PORT_NAME("North Tilt")
|
||||
PORT_START("SWITCH.3")
|
||||
PORT_START("X3")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_NAME("Top Slingshot")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("Bank Shot Advance")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_J) PORT_NAME("4/12 Target")
|
||||
@ -138,16 +138,16 @@ static INPUT_PORTS_START( g627 )
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) PORT_NAME("South Test")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_COIN2) PORT_NAME("South Coin")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("South Tilt")
|
||||
PORT_START("SWITCH.4")
|
||||
PORT_START("X4")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("Right Slingshot")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_X) PORT_NAME("OutHole")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("5/13 Target")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_NAME("4/16 Target")
|
||||
PORT_START("SWITCH.5")
|
||||
PORT_START("X5")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) PORT_NAME("Left Slingshot")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Right Flipper Return") PORT_CODE(KEYCODE_RSHIFT)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_P) PORT_NAME("Right Out Lane")
|
||||
PORT_START("SWITCH.6")
|
||||
PORT_START("X6")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("Top TB")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("7/15 Target")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("10 Points")
|
||||
@ -156,32 +156,32 @@ static INPUT_PORTS_START( g627 )
|
||||
|
||||
// Diagnostic Keyboard: Press GAME then END then TEST#. Press GAME etc for more tests.
|
||||
// Pressing test 8 at any time will instantly reset the NVRAM.
|
||||
PORT_START("TEST.0")
|
||||
PORT_START("T0")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("3") PORT_CODE(KEYCODE_3_PAD)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("2") PORT_CODE(KEYCODE_2_PAD)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("1") PORT_CODE(KEYCODE_1_PAD)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("0") PORT_CODE(KEYCODE_0_PAD)
|
||||
PORT_START("TEST.1")
|
||||
PORT_START("T1")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("7") PORT_CODE(KEYCODE_7_PAD)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("6") PORT_CODE(KEYCODE_6_PAD)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("5") PORT_CODE(KEYCODE_5_PAD)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("4") PORT_CODE(KEYCODE_4_PAD)
|
||||
PORT_START("TEST.2")
|
||||
PORT_START("T2")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("SET") PORT_CODE(KEYCODE_PLUS_PAD)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME(".") PORT_CODE(KEYCODE_DEL_PAD)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("9") PORT_CODE(KEYCODE_9_PAD)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("8") PORT_CODE(KEYCODE_8_PAD)
|
||||
PORT_START("TEST.3")
|
||||
PORT_START("T3")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Test 3") PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Test 2") PORT_CODE(KEYCODE_EQUALS)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Test 1") PORT_CODE(KEYCODE_MINUS)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("GAME") PORT_CODE(KEYCODE_ENTER_PAD)
|
||||
PORT_START("TEST.4")
|
||||
PORT_START("T4")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Test 7") PORT_CODE(KEYCODE_OPENBRACE)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Test 6") PORT_CODE(KEYCODE_ENTER)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Test 5") PORT_CODE(KEYCODE_QUOTE)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Test 4") PORT_CODE(KEYCODE_COLON)
|
||||
PORT_START("TEST.5")
|
||||
PORT_START("T5")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("END") PORT_CODE(KEYCODE_END)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Test 10") PORT_CODE(KEYCODE_BACKSLASH)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Test 9") PORT_CODE(KEYCODE_CLOSEBRACE)
|
||||
@ -199,7 +199,7 @@ u8 g627_state::porta_r()
|
||||
if (!m_portc)
|
||||
return ((m_motor >> 1)^m_motor) | 3; // convert to Gray Code
|
||||
else if (m_portc < 7)
|
||||
return m_switch[m_portc]->read();
|
||||
return m_io_keyboard[m_portc]->read();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -327,7 +327,6 @@ void g627_state::lamp_w(offs_t offset, u8 data)
|
||||
void g627_state::machine_start()
|
||||
{
|
||||
genpin_class::machine_start();
|
||||
|
||||
m_digits.resolve();
|
||||
m_io_outputs.resolve();
|
||||
|
||||
@ -341,6 +340,8 @@ void g627_state::machine_start()
|
||||
void g627_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
}
|
||||
|
||||
void g627_state::g627(machine_config &config)
|
||||
|
@ -52,8 +52,8 @@ public:
|
||||
, m_io_x9(*this, "X9")
|
||||
, m_io_xa(*this, "XA")
|
||||
, m_io_xb(*this, "XB")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void gp_1(machine_config &config);
|
||||
@ -66,10 +66,10 @@ private:
|
||||
u8 portb_r();
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
u8 m_u14 = 0;
|
||||
u8 m_digit = 0;
|
||||
u8 m_u14 = 0U;
|
||||
u8 m_digit = 0U;
|
||||
u8 m_segment[16]{};
|
||||
u8 m_last_solenoid = 15;
|
||||
u8 m_last_solenoid = 15U;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
required_device<z80_device> m_maincpu;
|
||||
|
@ -2,8 +2,8 @@
|
||||
// copyright-holders:Robbbert
|
||||
/*****************************************************************************************
|
||||
|
||||
PINBALL
|
||||
Game Plan MPU-2
|
||||
PINBALL
|
||||
Game Plan MPU-2
|
||||
|
||||
When first turned on, you need to press num-0 to enter the setup program, then keep
|
||||
pressing num-0 until 06 shows in the credits display. Press the credit button to set
|
||||
@ -68,8 +68,8 @@ public:
|
||||
, m_io_x9(*this, "X9")
|
||||
, m_io_xa(*this, "XA")
|
||||
, m_io_xb(*this, "XB")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void gp_2(machine_config &config);
|
||||
@ -80,10 +80,10 @@ private:
|
||||
u8 portb_r();
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
u8 m_u14 = 0;
|
||||
u8 m_digit = 0;
|
||||
u8 m_u14 = 0U;
|
||||
u8 m_digit = 0U;
|
||||
u8 m_segment[16]{};
|
||||
u8 m_last_solenoid = 15;
|
||||
u8 m_last_solenoid = 15U;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
required_device<z80_device> m_maincpu;
|
||||
|
@ -58,9 +58,9 @@ public:
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_u4(*this, "u4")
|
||||
, m_u5(*this, "u5")
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void gts3(machine_config &config);
|
||||
@ -77,10 +77,10 @@ private:
|
||||
void mem_map(address_map &map);
|
||||
bool m_dispclk = 0;
|
||||
bool m_lampclk = 0;
|
||||
u8 m_digit = 0;
|
||||
u8 m_row = 0; // for lamps and switches
|
||||
u8 m_segment[4];
|
||||
u8 m_u4b = 0;
|
||||
u8 m_digit = 0U;
|
||||
u8 m_row = 0U; // for lamps and switches
|
||||
u8 m_segment[4]{};
|
||||
u8 m_u4b = 0U;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
required_device<m65c02_device> m_maincpu;
|
||||
@ -115,8 +115,8 @@ static INPUT_PORTS_START( gts3 )
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN3)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_COIN2)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_START)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_SERVICE1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Left Advance")
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_SERVICE2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Right Advance")
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Left Advance")
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Right Advance")
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("INP06")
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("INP07")
|
||||
|
||||
@ -320,6 +320,9 @@ void gts3_state::machine_start()
|
||||
void gts3_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
|
||||
m_digit = 0;
|
||||
m_dispclk = 0;
|
||||
}
|
||||
|
@ -43,9 +43,9 @@ public:
|
||||
, m_vram(*this, "vram")
|
||||
, m_u4(*this, "u4")
|
||||
, m_u5(*this, "u5")
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void gts3a(machine_config &config);
|
||||
@ -73,10 +73,10 @@ private:
|
||||
|
||||
bool m_dispclk = 0;
|
||||
bool m_lampclk = 0;
|
||||
u8 m_digit = 0;
|
||||
u8 m_row = 0; // for lamps and switches
|
||||
u8 m_segment = 0;
|
||||
u8 m_u4b = 0;
|
||||
u8 m_digit = 0U;
|
||||
u8 m_row = 0U; // for lamps and switches
|
||||
u8 m_segment = 0U;
|
||||
u8 m_u4b = 0U;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
required_device<m65c02_device> m_maincpu;
|
||||
@ -129,8 +129,8 @@ static INPUT_PORTS_START( gts3a )
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN3)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_COIN2)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_START)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_SERVICE1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Left Advance")
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_SERVICE2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Right Advance")
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Left Advance")
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Right Advance")
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("INP06")
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("INP07")
|
||||
|
||||
@ -391,6 +391,9 @@ void gts3a_state::machine_start()
|
||||
void gts3a_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
|
||||
m_digit = 0;
|
||||
m_dispclk = 0;
|
||||
}
|
||||
|
@ -54,12 +54,12 @@ public:
|
||||
, m_riot1(*this, "riot1")
|
||||
, m_riot2(*this, "riot2")
|
||||
, m_riot3(*this, "riot3")
|
||||
, m_io_dips(*this, "DSW%u", 0U)
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_io_dips(*this, "DSW%d", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_r0_sound(*this, "r0sound")
|
||||
, m_r1_sound(*this, "r1sound")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void gts80(machine_config &config);
|
||||
@ -78,10 +78,10 @@ private:
|
||||
void port3b_w(u8 data);
|
||||
void gts80_map(address_map &map);
|
||||
|
||||
u8 m_segment = 0;
|
||||
u8 m_lamprow = 0;
|
||||
u8 m_swrow = 0;
|
||||
u8 m_soundex = 0;
|
||||
u8 m_segment = 0U;
|
||||
u8 m_lamprow = 0U;
|
||||
u8 m_swrow = 0U;
|
||||
u8 m_soundex = 0U;
|
||||
u8 m_sol_state[9][2]{};
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
|
@ -46,12 +46,12 @@ public:
|
||||
, m_riot1(*this, "riot1")
|
||||
, m_riot2(*this, "riot2")
|
||||
, m_riot3(*this, "riot3")
|
||||
, m_io_dips(*this, "DSW%u", 0U)
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_io_dips(*this, "DSW%d", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_r0_sound(*this, "r0sound")
|
||||
, m_r1_sound(*this, "r1sound")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void gts80a(machine_config &config);
|
||||
@ -69,11 +69,11 @@ private:
|
||||
void port3b_w(u8 data);
|
||||
void gts80a_map(address_map &map);
|
||||
|
||||
u8 m_segment = 0;
|
||||
u8 m_lamprow = 0;
|
||||
u8 m_swrow = 0;
|
||||
u8 m_soundex = 0;
|
||||
u8 m_sol_state[9][2];
|
||||
u8 m_segment = 0U;
|
||||
u8 m_lamprow = 0U;
|
||||
u8 m_swrow = 0U;
|
||||
u8 m_soundex = 0U;
|
||||
u8 m_sol_state[9][2]{};
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
required_device<m6502_device> m_maincpu;
|
||||
@ -469,6 +469,9 @@ void gts80a_state::machine_start()
|
||||
void gts80a_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
|
||||
m_lamprow = 0;
|
||||
m_swrow = 0;
|
||||
m_segment = 0;
|
||||
|
@ -46,12 +46,12 @@ public:
|
||||
, m_riot1(*this, "riot1")
|
||||
, m_riot2(*this, "riot2")
|
||||
, m_riot3(*this, "riot3")
|
||||
, m_io_dips(*this, "DSW%u", 0U)
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_io_dips(*this, "DSW%d", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_r0_sound(*this, "r0sound")
|
||||
, m_r1_sound(*this, "r1sound")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void gts80b_s2(machine_config &config);
|
||||
@ -73,14 +73,14 @@ private:
|
||||
void port3b_w(u8 data);
|
||||
void gts80b_map(address_map &map);
|
||||
|
||||
u8 m_segment = 0;
|
||||
u8 m_lamprow = 0;
|
||||
u8 m_swrow = 0;
|
||||
u8 m_soundex = 0;
|
||||
u8 m_sol_state[9][2];
|
||||
u8 m_dispcmd;
|
||||
bool m_in_cmd_mode[2];
|
||||
u8 m_digit[2];
|
||||
u8 m_segment = 0U;
|
||||
u8 m_lamprow = 0U;
|
||||
u8 m_swrow = 0U;
|
||||
u8 m_soundex = 0U;
|
||||
u8 m_sol_state[9][2]{};
|
||||
u8 m_dispcmd = 0U;
|
||||
bool m_in_cmd_mode[2]{};
|
||||
u8 m_digit[2]{};
|
||||
bool m_slam_low = false;
|
||||
|
||||
virtual void machine_reset() override;
|
||||
@ -517,6 +517,9 @@ void gts80b_state::machine_start()
|
||||
void gts80b_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
|
||||
m_lamprow = 0;
|
||||
m_swrow = 0;
|
||||
m_segment = 0;
|
||||
|
@ -84,7 +84,7 @@ private:
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_ioport_array<11> m_io_keyboard;
|
||||
|
||||
uint8_t m_bank = 0;
|
||||
uint8_t m_bank = 0U;
|
||||
MC6845_UPDATE_ROW(crtc_update_row);
|
||||
|
||||
uint8_t *m_ram_ptr, *m_vram_ptr;
|
||||
|
@ -46,8 +46,8 @@ public:
|
||||
, m_ic2(*this, "ic2")
|
||||
, m_dac(*this, "dac")
|
||||
, m_io_test(*this, "TEST")
|
||||
, m_io_x(*this, { "X0", "X1", "X2", "X3", "X4", "DSW0", "DSW1", "DSW2" })
|
||||
, m_digits(*this, "digit%u%u", 0U, 0U)
|
||||
, m_io_keyboard(*this, { "X0", "X1", "X2", "X3", "X4", "DSW0", "DSW1", "DSW2" })
|
||||
, m_digits(*this, "digit%d%d", 0U, 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
@ -80,19 +80,19 @@ private:
|
||||
|
||||
bool m_timer_sb = 0;
|
||||
u8 m_timer_s[3]{};
|
||||
u8 m_vol = 0;
|
||||
u8 m_ic2a = 0;
|
||||
u8 m_ic2b = 0;
|
||||
u8 m_ic10a = 0;
|
||||
u8 m_ic10b = 0;
|
||||
u8 m_ic11a = 0;
|
||||
u8 m_vol = 0U;
|
||||
u8 m_ic2a = 0U;
|
||||
u8 m_ic2b = 0U;
|
||||
u8 m_ic10a = 0U;
|
||||
u8 m_ic10b = 0U;
|
||||
u8 m_ic11a = 0U;
|
||||
bool m_ic11_ca2 = 0;
|
||||
bool m_ic11_cb2 = 0;
|
||||
bool m_ic10_cb2 = 0;
|
||||
bool m_ic2_ca2 = 0;
|
||||
bool m_ic2_cb2 = 0;
|
||||
u8 m_counter = 0;
|
||||
u8 m_digit = 0;
|
||||
u8 m_counter = 0U;
|
||||
u8 m_digit = 0U;
|
||||
u8 m_segment[5]{};
|
||||
|
||||
required_region_ptr<u8> m_p_prom;
|
||||
@ -103,7 +103,7 @@ private:
|
||||
required_device<pia6821_device> m_ic2;
|
||||
required_device<dac_4bit_r2r_device> m_dac;
|
||||
required_ioport m_io_test;
|
||||
required_ioport_array<8> m_io_x;
|
||||
required_ioport_array<8> m_io_keyboard;
|
||||
output_finder<5, 6> m_digits;
|
||||
output_finder<96> m_io_outputs; // 32 solenoids + 64 lamps
|
||||
};
|
||||
@ -368,7 +368,7 @@ u8 hankin_state::ic11_b_r()
|
||||
for (unsigned i = 0U; i < 8U; ++i)
|
||||
{
|
||||
if (BIT(m_ic11a, i))
|
||||
data |= m_io_x[i]->read();
|
||||
data |= m_io_keyboard[i]->read();
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -66,8 +66,8 @@ protected:
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
|
||||
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
std::unique_ptr<u8[]> m_vram;
|
||||
u8 m_rows;
|
||||
u8 m_cols;
|
||||
u8 m_rows = 0U;
|
||||
u8 m_cols = 0U;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_memory_bank m_bank1;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
@ -90,8 +90,8 @@ private:
|
||||
INTERRUPT_GEN_MEMBER(homelab_frame);
|
||||
void homelab2_mem(address_map &map);
|
||||
u8 cass2_r();
|
||||
bool m_nmi;
|
||||
bool m_spr_bit;
|
||||
bool m_nmi = 0;
|
||||
bool m_spr_bit = 0;
|
||||
u8 mem3800_r();
|
||||
u8 mem3a00_r(offs_t);
|
||||
void mem3c00_w(offs_t, u8);
|
||||
|
@ -22,6 +22,7 @@ ToDO:
|
||||
- Display
|
||||
- Mechanical sounds
|
||||
- The usual: identify lamps, solenoids, contactors
|
||||
- Outputs
|
||||
|
||||
**********************************************************************************************************************/
|
||||
|
||||
@ -43,7 +44,7 @@ public:
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_speech(*this, "speech")
|
||||
, m_ppi(*this, "ppi%u", 1)
|
||||
, m_ppi(*this, "ppi%u", 1U)
|
||||
{ }
|
||||
|
||||
void bsktbllp(machine_config &config);
|
||||
@ -72,8 +73,8 @@ private:
|
||||
|
||||
virtual void machine_reset() override;
|
||||
|
||||
uint16_t m_irqcnt;
|
||||
uint8_t m_ppi_data;
|
||||
uint16_t m_irqcnt = 0U;
|
||||
uint8_t m_ppi_data = 0U;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<sp0256_device> m_speech;
|
||||
optional_device_array<i8255_device, 2> m_ppi;
|
||||
@ -110,64 +111,64 @@ void idsa_state::maincpu_io_map(address_map &map)
|
||||
|
||||
static INPUT_PORTS_START( idsa )
|
||||
PORT_START("X0") // 1-8
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_NAME("INP01")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_B) PORT_NAME("INP02")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_C) PORT_NAME("INP03")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_NAME("INP04")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_NAME("INP05")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_F) PORT_NAME("INP06")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_G) PORT_NAME("INP07")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_H) PORT_NAME("INP08")
|
||||
|
||||
PORT_START("X1") // 9-16
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_I) PORT_NAME("INP09")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_J) PORT_NAME("INP10")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_K) PORT_NAME("INP11")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_L) PORT_NAME("INP12")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_M) PORT_NAME("INP13")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_N) PORT_NAME("INP14")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_O) PORT_NAME("INP15")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_P) PORT_NAME("INP16")
|
||||
|
||||
PORT_START("X2") // 17-24
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Q) PORT_NAME("INP17")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("INP18")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("INP19")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_T) PORT_NAME("INP20")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_U) PORT_NAME("INP21")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_V) PORT_NAME("INP22")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_W) PORT_NAME("INP23")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_X) PORT_NAME("INP24")
|
||||
|
||||
PORT_START("X3") // 25-32
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_STOP)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COLON)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Y) PORT_NAME("INP25")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Z) PORT_NAME("INP26")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_COMMA) PORT_NAME("INP27")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_STOP) PORT_NAME("INP28")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH) PORT_NAME("INP29")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_COLON) PORT_NAME("INP30")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_QUOTE) PORT_NAME("INP31")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("INP32")
|
||||
|
||||
PORT_START("X4") // 33-40
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_SPACE)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_LEFT)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_RIGHT)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_UP)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_DOWN)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_NAME("INP33")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_NAME("INP34")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_NAME("INP35")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_MINUS) PORT_NAME("INP36")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("INP37")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("INP38")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("INP39")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGUP) PORT_NAME("INP40")
|
||||
|
||||
PORT_START("X5") // 41-48
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_0_PAD)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_UP) PORT_NAME("INP41")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_LEFT) PORT_NAME("INP42")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("INP43")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_DOWN) PORT_NAME("INP44")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_HOME) PORT_NAME("INP45")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_END) PORT_NAME("INP46")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_DEL) PORT_NAME("INP47")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_SPACE) PORT_NAME("INP48")
|
||||
|
||||
PORT_START("X6")
|
||||
PORT_DIPNAME( 0x01, 0x01, "S01")
|
||||
|
@ -119,14 +119,14 @@ private:
|
||||
void lapbylap_audio_map(address_map &map);
|
||||
|
||||
bool m_pc0 = 0;
|
||||
u8 m_game = 0;
|
||||
u8 m_portc = 0;
|
||||
u8 m_row = 0;
|
||||
u8 m_game = 0U;
|
||||
u8 m_portc = 0U;
|
||||
u8 m_row = 0U;
|
||||
u8 m_segment[8]{};
|
||||
u8 m_sndcmd = 0;
|
||||
u8 m_sndbank = 0;
|
||||
u32 m_sound_addr = 0;
|
||||
u32 m_audio_size = 0;
|
||||
u8 m_sndcmd = 0U;
|
||||
u8 m_sndbank = 0U;
|
||||
u32 m_sound_addr = 0U;
|
||||
u32 m_audio_size = 0U;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<cpu_device> m_audiocpu;
|
||||
|
@ -45,9 +45,9 @@ public:
|
||||
inderp_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_io_keyboard(*this, "X%u", 0)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void inderp(machine_config &config);
|
||||
@ -55,9 +55,9 @@ public:
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(clock_tick);
|
||||
u8 m_key_row = 0;
|
||||
u16 m_t_c = 0;
|
||||
u8 m_segment[5];
|
||||
u8 m_key_row = 0U;
|
||||
u16 m_t_c = 0U;
|
||||
u8 m_segment[5]{};
|
||||
bool m_1player = false;
|
||||
void inputs_w(offs_t offset, u8 data);
|
||||
u8 inputs_r();
|
||||
|
@ -95,11 +95,11 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
uint16_t m_lar;
|
||||
uint8_t m_digit;
|
||||
u8 m_seg;
|
||||
bool m_cassin;
|
||||
bool m_irqstate;
|
||||
uint16_t m_lar = 0U;
|
||||
uint8_t m_digit = 0U;
|
||||
u8 m_seg = 0U;
|
||||
bool m_cassin = 0;
|
||||
bool m_irqstate = 0;
|
||||
required_device<s2650_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_ram;
|
||||
required_shared_ptr<uint8_t> m_p_smiram;
|
||||
|
@ -56,7 +56,7 @@ protected:
|
||||
u8 p3_r();
|
||||
void p3_w(u8 data);
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
|
||||
int m_centronics_busy;
|
||||
int m_centronics_busy = 0;
|
||||
DECLARE_WRITE_LINE_MEMBER(write_centronics_busy);
|
||||
required_device<z8_device> m_maincpu;
|
||||
required_device<ram_device> m_ram;
|
||||
@ -106,7 +106,7 @@ private:
|
||||
u8 videoram_r(offs_t offset);
|
||||
void videoram_w(offs_t offset, u8 data);
|
||||
void banksel_w(u8 data);
|
||||
u8 m_video_bank;
|
||||
u8 m_video_bank = 0U;
|
||||
|
||||
memory_share_creator<uint8_t> m_video_ram_40;
|
||||
memory_share_creator<uint8_t> m_color_ram_r;
|
||||
|
@ -38,10 +38,10 @@ public:
|
||||
lckydraw_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_io_dips(*this, "DSW%u", 0U)
|
||||
, m_io_switches(*this, "X%u", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_io_dips(*this, "DSW%d", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void lckydraw(machine_config &config);
|
||||
@ -53,17 +53,17 @@ private:
|
||||
void p2_w(u8);
|
||||
u8 bus_r(offs_t);
|
||||
void bus_w(offs_t,u8);
|
||||
u8 m_bank_sw = 0;
|
||||
u8 m_ram[256];
|
||||
u8 m_p2_out[16];
|
||||
u8 m_segment[3];
|
||||
u8 m_p1 = 0;
|
||||
u8 m_p2 = 0;
|
||||
u8 m_bank_sw = 0U;
|
||||
u8 m_ram[256]{};
|
||||
u8 m_p2_out[16]{};
|
||||
u8 m_segment[3]{};
|
||||
u8 m_p1 = 0U;
|
||||
u8 m_p2 = 0U;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
required_device<i8035_device> m_maincpu;
|
||||
required_ioport_array<4> m_io_dips;
|
||||
required_ioport_array<8> m_io_switches;
|
||||
required_ioport_array<8> m_io_keyboard;
|
||||
output_finder<48> m_digits;
|
||||
output_finder<48> m_io_outputs; // 16 solenoids + 32 lamps
|
||||
};
|
||||
@ -99,7 +99,7 @@ u8 lckydraw_state::bus_r(offs_t offset)
|
||||
data = 0xff;
|
||||
for (u8 i = 0; i < 4; i++)
|
||||
if (!BIT(m_p1, i))
|
||||
data &= m_io_switches[i]->read();
|
||||
data &= m_io_keyboard[i]->read();
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@ -385,6 +385,8 @@ void lckydraw_state::machine_start()
|
||||
void lckydraw_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
}
|
||||
|
||||
void lckydraw_state::lckydraw(machine_config &config)
|
||||
|
@ -82,8 +82,8 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u8 m_porta;
|
||||
u8 m_term_data;
|
||||
u8 m_porta = 0U;
|
||||
u8 m_term_data = 0U;
|
||||
required_device<z80_device> m_maincpu;
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
|
@ -106,7 +106,7 @@ private:
|
||||
void lnw80_io(address_map &map);
|
||||
void lnw80_mem(address_map &map);
|
||||
|
||||
u8 m_lnw_mode = 0;
|
||||
u8 m_lnw_mode = 0U;
|
||||
required_shared_ptr<u8> m_p_gfxram;
|
||||
memory_view m_lnw_bank;
|
||||
};
|
||||
|
@ -67,16 +67,16 @@ public:
|
||||
ltd_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(ficha);
|
||||
|
||||
protected:
|
||||
|
||||
u8 m_digit = 0;
|
||||
u8 m_digit = 0U;
|
||||
void mr_common();
|
||||
void ms_common();
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
@ -44,10 +44,10 @@ public:
|
||||
macp_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_ay8910(*this, "ay%u", 0U)
|
||||
, m_io_keyboard(*this, "X%u", 0)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_ay8910(*this, "ay%d", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void mac16k(machine_config &config);
|
||||
@ -68,11 +68,11 @@ private:
|
||||
void ay1_b_w(u8);
|
||||
u8 ay1_b_r();
|
||||
u8 kbd_r();
|
||||
u8 m_t_c = 0;
|
||||
u8 m_digit = 0;
|
||||
u8 m_ay1_b = 0;
|
||||
u8 m_ay1_a = 0;
|
||||
u8 m_relay_ctrl = 0;
|
||||
u8 m_t_c = 0U;
|
||||
u8 m_digit = 0U;
|
||||
u8 m_ay1_b = 0U;
|
||||
u8 m_ay1_a = 0U;
|
||||
u8 m_relay_ctrl = 0U;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
required_device<z80_device> m_maincpu;
|
||||
|
@ -126,11 +126,11 @@ private:
|
||||
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u8 m_size_store = 0;
|
||||
u8 m_size_store = 0U;
|
||||
bool m_fdc_drq = 0;
|
||||
bool m_fdc_int = 0;
|
||||
bool m_allow_nmi = 0;
|
||||
u8 m_mode = 0;
|
||||
u8 m_mode = 0U;
|
||||
floppy_image_device *m_floppy;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
//required_region_ptr<u8> m_p_chargen;
|
||||
|
@ -103,8 +103,8 @@ private:
|
||||
void sub_mem(address_map &map);
|
||||
void sub_io(address_map &map);
|
||||
|
||||
u8 m_comm_latch;
|
||||
u8 m_term_data;
|
||||
u8 m_comm_latch = 0U;
|
||||
u8 m_term_data = 0U;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<i8255_device> m_ppi_m;
|
||||
required_shared_ptr<u8> m_vram;
|
||||
|
@ -69,9 +69,9 @@ private:
|
||||
void sport2k_map(address_map &map);
|
||||
void sport2k_8051_io(address_map &map);
|
||||
|
||||
u8 m_ay8910_data;
|
||||
bool m_ay8910_bdir;
|
||||
bool m_ay8910_bc1;
|
||||
u8 m_ay8910_data = 0U;
|
||||
bool m_ay8910_bdir = 0;
|
||||
bool m_ay8910_bc1 = 0;
|
||||
void ay8910_update();
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
@ -47,8 +47,8 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u8 m_term_data;
|
||||
u8 m_port08;
|
||||
u8 m_term_data = 0U;
|
||||
u8 m_port08 = 0U;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_shared_ptr<u8> m_p_videoram;
|
||||
required_region_ptr<u8> m_p_chargen;
|
||||
|
@ -50,15 +50,15 @@ class micropin_state : public genpin_class
|
||||
public:
|
||||
micropin_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_leds(*this, "led%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_leds(*this, "led%d", 0U)
|
||||
{ }
|
||||
|
||||
void pentacup2(machine_config &config);
|
||||
|
||||
protected:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(timer_a);
|
||||
u8 m_led_time[10]; // size must match m_leds
|
||||
u8 m_led_time[10]{}; // size must match m_leds
|
||||
void mr_common();
|
||||
void ms_common();
|
||||
output_finder<76> m_digits;
|
||||
@ -92,8 +92,8 @@ private:
|
||||
void p51b_w(u8 data) { }; // volume control
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u8 m_row;
|
||||
u8 m_counter;
|
||||
u8 m_row = 0U;
|
||||
u8 m_counter = 0U;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
required_device<m6800_cpu_device> m_v1cpu;
|
||||
|
@ -120,9 +120,9 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u8 m_cass_data[4];
|
||||
bool m_cassinbit, m_cassoutbit, m_cassold;
|
||||
u8 m_return_code;
|
||||
u8 m_cass_data[4]{};
|
||||
bool m_cassinbit = 0, m_cassoutbit = 0, m_cassold = 0;
|
||||
u8 m_return_code = 0U;
|
||||
|
||||
required_device<i8080_cpu_device> m_maincpu;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
|
@ -158,14 +158,14 @@ private:
|
||||
bool m_ackv = 0;
|
||||
bool m_flip = 0;
|
||||
bool m_intst = 0;
|
||||
u8 m_data = 0;
|
||||
u8 m_sxx = 0;
|
||||
u8 m_irq_state = 0;
|
||||
u8 m_row = 0;
|
||||
u8 m_sound_data = 0;
|
||||
u8 m_gfx_bank = 0;
|
||||
u8 m_video_data = 0;
|
||||
u8 m_video_status = 0;
|
||||
u8 m_data = 0U;
|
||||
u8 m_sxx = 0U;
|
||||
u8 m_irq_state = 0U;
|
||||
u8 m_row = 0U;
|
||||
u8 m_sound_data = 0U;
|
||||
u8 m_gfx_bank = 0U;
|
||||
u8 m_video_data = 0U;
|
||||
u8 m_video_status = 0U;
|
||||
|
||||
tilemap_t *m_tilemap;
|
||||
};
|
||||
|
@ -52,9 +52,9 @@ public:
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_nvram(*this, "nvram")
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void nsm(machine_config &config);
|
||||
@ -82,11 +82,11 @@ private:
|
||||
|
||||
u8 m_cru_out[9]{};
|
||||
u8 m_cru_in[3]{};
|
||||
u8 m_cru_in_bit = 0;
|
||||
u8 m_cru_overflow = 0;
|
||||
u8 m_row = 0;
|
||||
u8 m_np_cru = 0;
|
||||
u8 m_np_sel = 0;
|
||||
u8 m_cru_in_bit = 0U;
|
||||
u8 m_cru_overflow = 0U;
|
||||
u8 m_row = 0U;
|
||||
u8 m_np_cru = 0U;
|
||||
u8 m_np_sel = 0U;
|
||||
bool m_e600_locked = false;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
|
@ -105,9 +105,9 @@ private:
|
||||
void pegasus_mem(address_map &map);
|
||||
void pegasusm_mem(address_map &map);
|
||||
|
||||
u8 m_kbd_row;
|
||||
bool m_kbd_irq;
|
||||
u8 m_control_bits;
|
||||
u8 m_kbd_row = 0U;
|
||||
bool m_kbd_irq = 0;
|
||||
u8 m_control_bits = 0U;
|
||||
std::unique_ptr<u8[]> m_pcg;
|
||||
void pegasus_decrypt_rom(u8 *ROM);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
@ -126,9 +126,9 @@ private:
|
||||
void mem_map(address_map &map);
|
||||
|
||||
virtual void machine_start() override;
|
||||
int m_centronics_busy;
|
||||
int m_centronics_ack;
|
||||
bool m_cass_state;
|
||||
int m_centronics_busy = 0;
|
||||
int m_centronics_ack = 0;
|
||||
bool m_cass_state = 0;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
|
@ -76,8 +76,8 @@ private:
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER(quickload_cb);
|
||||
void data_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
u8 m_cass_data[4];
|
||||
bool m_cassold, m_cassinbit;
|
||||
u8 m_cass_data[4]{};
|
||||
bool m_cassold = 0, m_cassinbit = 0;
|
||||
};
|
||||
|
||||
void pipbug_state::pipbug_ctrl_w(u8 data)
|
||||
|
@ -40,11 +40,11 @@ public:
|
||||
play_1_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_monotone(*this, "monotone")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_leds(*this, "led%u", 1U)
|
||||
, m_player_lamps(*this, "text%u", 1U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_leds(*this, "led%d", 1U)
|
||||
, m_player_lamps(*this, "text%d", 1U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
@ -74,12 +74,12 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u8 m_resetcnt = 0;
|
||||
u16 m_clockcnt = 0;
|
||||
u16 m_waitcnt = 0;
|
||||
u8 m_segment = 0;
|
||||
u8 m_match = 0;
|
||||
u8 m_ball = 0;
|
||||
u8 m_resetcnt = 0U;
|
||||
u16 m_clockcnt = 0U;
|
||||
u16 m_waitcnt = 0U;
|
||||
u8 m_segment = 0U;
|
||||
u8 m_match = 0U;
|
||||
u8 m_ball = 0U;
|
||||
required_device<cosmac_device> m_maincpu;
|
||||
required_ioport_array<10> m_io_keyboard;
|
||||
required_device<clock_device> m_monotone;
|
||||
|
@ -59,8 +59,8 @@ public:
|
||||
, m_4020(*this, "4020")
|
||||
, m_1863(*this, "1863")
|
||||
, m_snd_off(*this, "snd_off")
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
@ -83,13 +83,13 @@ protected:
|
||||
void play_2_io(address_map &map);
|
||||
void play_2_map(address_map &map);
|
||||
|
||||
u8 m_resetcnt = 0;
|
||||
u8 m_kbdrow = 0;
|
||||
u8 m_resetcnt = 0U;
|
||||
u8 m_kbdrow = 0U;
|
||||
u8 m_segment[5]{};
|
||||
bool m_disp_sw = 0;
|
||||
u8 m_port06 = 0;
|
||||
u8 m_port06 = 0U;
|
||||
u8 m_old_solenoids[8]{};
|
||||
u8 m_soundlatch = 0;
|
||||
u8 m_soundlatch = 0U;
|
||||
bool m_snd_on = false;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
|
@ -87,8 +87,8 @@ public:
|
||||
, m_ay1(*this, "ay1")
|
||||
, m_ay2(*this, "ay2")
|
||||
, m_zsu(*this, "zsu")
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
@ -127,13 +127,13 @@ private:
|
||||
void flashman_io(address_map &map);
|
||||
void sklflite_io(address_map &map);
|
||||
|
||||
u8 m_resetcnt = 0;
|
||||
u8 m_resetcnt_a = 0;
|
||||
u8 m_soundlatch = 0;
|
||||
u8 m_port03_old = 0;
|
||||
u8 m_a_irqset = 0;
|
||||
u16 m_a_irqcnt = 0;
|
||||
u8 m_kbdrow = 0;
|
||||
u8 m_resetcnt = 0U;
|
||||
u8 m_resetcnt_a = 0U;
|
||||
u8 m_soundlatch = 0U;
|
||||
u8 m_port03_old = 0U;
|
||||
u8 m_a_irqset = 0U;
|
||||
u16 m_a_irqcnt = 0U;
|
||||
u8 m_kbdrow = 0U;
|
||||
u8 m_segment[5]{};
|
||||
bool m_disp_sw = 0;
|
||||
virtual void machine_reset() override;
|
||||
|
@ -144,8 +144,8 @@ private:
|
||||
u8 port07_r();
|
||||
void port1b_w(u8 data);
|
||||
void port1c_w(u8 data);
|
||||
u8 m_term_out;
|
||||
u8 m_term_in;
|
||||
u8 m_term_out = 0U;
|
||||
u8 m_term_in = 0U;
|
||||
required_device<generic_terminal_device> m_terminal;
|
||||
};
|
||||
|
||||
|
@ -89,12 +89,12 @@ private:
|
||||
void io_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
bool m_q_state;
|
||||
bool m_qbar_state;
|
||||
bool m_drq_state;
|
||||
uint16_t m_beepcnt;
|
||||
bool m_eop;
|
||||
bool m_dack1;
|
||||
bool m_q_state = 0;
|
||||
bool m_qbar_state = 0;
|
||||
bool m_drq_state = 0;
|
||||
uint16_t m_beepcnt = 0U;
|
||||
bool m_eop = 0;
|
||||
bool m_dack1 = 0;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<z80_device> m_maincpu;
|
||||
required_region_ptr<u8> m_rom;
|
||||
|
@ -34,6 +34,7 @@ ToDo:
|
||||
- No info on the sound (all it says is 4 TTL chips controlled by 6 bits of the IO expander)
|
||||
- A plug-in printer is used to view and alter settings. We have no info about it.
|
||||
- Default layout
|
||||
- Outputs
|
||||
|
||||
*****************************************************************************************************/
|
||||
|
||||
@ -58,8 +59,8 @@ public:
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_pm(*this, "module") // personality module
|
||||
, m_nvram(*this, "nvram")
|
||||
, m_switches(*this, "X%u", 0U)
|
||||
, m_digit(*this, "digit%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digit(*this, "digit%d", 0U)
|
||||
{ }
|
||||
|
||||
void recel(machine_config &config);
|
||||
@ -87,14 +88,14 @@ private:
|
||||
required_device<pps4_2_device> m_maincpu;
|
||||
required_region_ptr<u8> m_pm;
|
||||
required_shared_ptr<u8> m_nvram;
|
||||
required_ioport_array<6> m_switches;
|
||||
required_ioport_array<6> m_io_keyboard;
|
||||
output_finder<32> m_digit;
|
||||
|
||||
u8 m_strobe = 0;
|
||||
u16 m_nvram_addr = 0;
|
||||
u8 m_nvram_data = 0;
|
||||
u8 m_strobe = 0U;
|
||||
u16 m_nvram_addr = 0U;
|
||||
u8 m_nvram_data = 0U;
|
||||
bool m_nvram_prev_clk = 0;
|
||||
u8 m_prom_addr = 0;
|
||||
u8 m_prom_addr = 0U;
|
||||
};
|
||||
|
||||
void recel_state::recel_map(address_map &map) // need address ranges
|
||||
@ -121,53 +122,53 @@ void recel_state::recel_io(address_map &map) // to be done
|
||||
static INPUT_PORTS_START( recel )
|
||||
PORT_START("X0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("Play/Test")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_NAME("SW.10")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_B) PORT_NAME("SW.20")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_C) PORT_NAME("SW.30")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_NAME("SW.40")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_NAME("SW.50")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_F) PORT_NAME("SW.60")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_G) PORT_NAME("SW.70")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_NAME("INP10")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_B) PORT_NAME("INP20")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_C) PORT_NAME("INP30")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_NAME("INP40")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_NAME("INP50")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_F) PORT_NAME("INP60")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_G) PORT_NAME("INP70")
|
||||
|
||||
PORT_START("X1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_H) PORT_NAME("SW.11")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_I) PORT_NAME("SW.21")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_J) PORT_NAME("SW.31")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_K) PORT_NAME("SW.41")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_L) PORT_NAME("SW.51")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_M) PORT_NAME("SW.61")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_N) PORT_NAME("SW.71")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_H) PORT_NAME("INP11")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_I) PORT_NAME("INP21")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_J) PORT_NAME("INP31")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_K) PORT_NAME("INP41")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_L) PORT_NAME("INP51")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_M) PORT_NAME("INP61")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_N) PORT_NAME("INP71")
|
||||
|
||||
PORT_START("X2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_O) PORT_NAME("SW.12")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_P) PORT_NAME("SW.22")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Q) PORT_NAME("SW.32")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("SW.42")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("SW.52")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_T) PORT_NAME("SW.62")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_U) PORT_NAME("SW.72")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_O) PORT_NAME("INP12")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_P) PORT_NAME("INP22")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Q) PORT_NAME("INP32")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("INP42")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("INP52")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_T) PORT_NAME("INP62")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_U) PORT_NAME("INP72")
|
||||
|
||||
PORT_START("X3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_V) PORT_NAME("SW.13")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_W) PORT_NAME("SW.23")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Y) PORT_NAME("SW.33")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Z) PORT_NAME("SW.43")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_MINUS) PORT_NAME("SW.53")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("SW.63")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("SW.73")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_V) PORT_NAME("INP13")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_W) PORT_NAME("INP23")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Y) PORT_NAME("INP33")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Z) PORT_NAME("INP43")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_MINUS) PORT_NAME("INP53")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("INP63")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("INP73")
|
||||
|
||||
PORT_START("X4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("Tilt")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_NAME("SW.14")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_NAME("SW.24")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_NAME("SW.34")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_COMMA) PORT_NAME("SW.44")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_QUOTE) PORT_NAME("SW.54")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_STOP) PORT_NAME("SW.64")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH) PORT_NAME("SW.74")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_NAME("INP14")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_NAME("INP24")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_NAME("INP34")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_COMMA) PORT_NAME("INP44")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_QUOTE) PORT_NAME("INP54")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_STOP) PORT_NAME("INP64")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH) PORT_NAME("INP74")
|
||||
|
||||
PORT_START("X5")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Reset")
|
||||
@ -239,7 +240,7 @@ u8 recel_state::switches_r(offs_t offset) // to be done
|
||||
for (u8 i = 0; i < 5; i++)
|
||||
if (BIT(m_strobe, i))
|
||||
{
|
||||
data |= BIT(m_switches[i]->read(), offset & 7);
|
||||
data |= BIT(m_io_keyboard[i]->read(), offset & 7);
|
||||
//LOG("%s: switches[bit %X of %X, using offset of %X] got %x\n", __FUNCTION__, i, m_strobe, offset&7, data);
|
||||
}
|
||||
return data ? 0 : 1; // FIXME: inverted or normal?
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_audiocpu(*this, "audiocpu")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
@ -57,7 +57,7 @@ private:
|
||||
void audio_mem_map(address_map &map);
|
||||
void audio_io_map(address_map &map);
|
||||
|
||||
u8 m_sndcmd = 0xff;
|
||||
u8 m_sndcmd = 0xffU;
|
||||
u8 m_io[32]{};
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
|
@ -124,11 +124,11 @@ private:
|
||||
optional_device<ram_device> m_videoram;
|
||||
optional_region_ptr<uint8_t> m_p_cas;
|
||||
|
||||
int m_led1_val;
|
||||
int m_led2_val;
|
||||
u8 m_krfd;
|
||||
uint16_t m_dma_adr;
|
||||
int m_r, m_w;
|
||||
int m_led1_val = 0;
|
||||
int m_led2_val = 0;
|
||||
u8 m_krfd = 0U;
|
||||
uint16_t m_dma_adr = 0U;
|
||||
int m_r = 0, m_w = 0;
|
||||
};
|
||||
|
||||
|
||||
@ -882,6 +882,6 @@ ROM_END
|
||||
***************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
|
||||
COMP( 1986, rt1715, 0, 0, rt1715, k7658, rt1715_state, empty_init, "Robotron", "Robotron PC-1715", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1986, rt1715lc, rt1715, 0, rt1715, k7658, rt1715_state, empty_init, "Robotron", "Robotron PC-1715 (latin/cyrillic)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1986, rt1715, 0, 0, rt1715, k7658, rt1715_state, empty_init, "Robotron", "Robotron PC-1715", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1986, rt1715lc, rt1715, 0, rt1715, k7658, rt1715_state, empty_init, "Robotron", "Robotron PC-1715 (latin/cyrillic)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1986, rt1715w, rt1715, 0, rt1715w, rt1715w, rt1715_state, empty_init, "Robotron", "Robotron PC-1715W", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW )
|
||||
|
@ -115,15 +115,15 @@ private:
|
||||
void rx78_io(address_map &map);
|
||||
void rx78_mem(address_map &map);
|
||||
|
||||
u8 m_vram_read_bank = 0;
|
||||
u8 m_vram_write_bank = 0;
|
||||
u8 m_pal_reg[7];
|
||||
u8 m_pri_mask = 0;
|
||||
u8 m_key_mux = 0;
|
||||
u8 m_background = 0;
|
||||
u8 m_vram_read_bank = 0U;
|
||||
u8 m_vram_write_bank = 0U;
|
||||
u8 m_pal_reg[7]{};
|
||||
u8 m_pri_mask = 0U;
|
||||
u8 m_key_mux = 0U;
|
||||
u8 m_background = 0U;
|
||||
bool m_irq_en = 1;
|
||||
u8 m_irq_slow = 0;
|
||||
u8 m_irq_count = 0;
|
||||
u8 m_irq_slow = 0U;
|
||||
u8 m_irq_count = 0U;
|
||||
std::unique_ptr<u8[]> m_vram;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cassette_image_device> m_cass;
|
||||
|
@ -122,11 +122,11 @@ private:
|
||||
void audio_map(address_map &map);
|
||||
void main_map(address_map &map);
|
||||
|
||||
u8 m_sound_data = 0;
|
||||
u8 m_strobe = 0;
|
||||
u8 m_row = 0;
|
||||
u8 m_sound_data = 0U;
|
||||
u8 m_strobe = 0U;
|
||||
u8 m_row = 0U;
|
||||
bool m_data_ok = 0;
|
||||
u8 m_lamp_data = 0;
|
||||
u8 m_lamp_data = 0U;
|
||||
emu_timer* m_irq_timer;
|
||||
static const device_timer_id TIMER_IRQ = 0;
|
||||
required_device<m6802_cpu_device> m_maincpu;
|
||||
|
@ -117,14 +117,14 @@ private:
|
||||
void sub_io_map(address_map &map);
|
||||
void sub_mem_map(address_map &map);
|
||||
|
||||
bool m_busak;
|
||||
u8 m_keydown;
|
||||
u8 m_porta;
|
||||
u8 m_portb;
|
||||
u8 m_portc;
|
||||
u8 m_port10;
|
||||
u8 m_key_data;
|
||||
u8 m_framecnt;
|
||||
bool m_busak = 0;
|
||||
u8 m_keydown = 0U;
|
||||
u8 m_porta = 0U;
|
||||
u8 m_portb = 0U;
|
||||
u8 m_portc = 0U;
|
||||
u8 m_port10 = 0U;
|
||||
u8 m_key_data = 0U;
|
||||
u8 m_framecnt = 0U;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_subcpu;
|
||||
|
@ -57,10 +57,10 @@ public:
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_snsnd(*this, "snsnd")
|
||||
, m_switch(*this, "X%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_p_ram(*this, "nvram")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void spectra(machine_config &config);
|
||||
@ -74,15 +74,15 @@ private:
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(outtimer);
|
||||
void spectra_map(address_map &map);
|
||||
|
||||
u8 m_porta;
|
||||
u8 m_portb;
|
||||
u8 m_t_c;
|
||||
u8 m_out_offs;
|
||||
u8 m_porta = 0U;
|
||||
u8 m_portb = 0U;
|
||||
u8 m_t_c = 0U;
|
||||
u8 m_out_offs = 0U;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<sn76477_device> m_snsnd;
|
||||
required_ioport_array<4> m_switch;
|
||||
required_ioport_array<4> m_io_keyboard;
|
||||
required_shared_ptr<u8> m_p_ram;
|
||||
output_finder<40> m_digits;
|
||||
output_finder<64> m_io_outputs; // 16 solenoids + 48 lamps
|
||||
@ -143,7 +143,7 @@ INPUT_PORTS_END
|
||||
u8 spectra_state::porta_r()
|
||||
{
|
||||
u8 row = (m_porta & 0x18) >> 3;
|
||||
u8 key = m_switch[row]->read();
|
||||
u8 key = m_io_keyboard[row]->read();
|
||||
u8 ret = ((BIT(key, m_porta & 7)) ? 0x40 : 0) | (m_porta & 0xbf);
|
||||
|
||||
if (ret == 0x1b && m_p_ram[0x7b] < 0x1E)
|
||||
@ -240,7 +240,6 @@ TIMER_DEVICE_CALLBACK_MEMBER( spectra_state::outtimer)
|
||||
void spectra_state::machine_start()
|
||||
{
|
||||
genpin_class::machine_start();
|
||||
|
||||
m_digits.resolve();
|
||||
m_io_outputs.resolve();
|
||||
|
||||
@ -253,6 +252,9 @@ void spectra_state::machine_start()
|
||||
void spectra_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
|
||||
m_t_c = 0;
|
||||
}
|
||||
|
||||
|
@ -138,23 +138,23 @@ private:
|
||||
|
||||
bool m_pc0a = 0;
|
||||
bool m_pc0m = 0;
|
||||
u8 m_game = 0;
|
||||
u8 m_row = 0;
|
||||
u8 m_p3 = 0;
|
||||
u8 m_p32 = 0;
|
||||
u8 m_dmdcmd = 0;
|
||||
u8 m_dmdbank = 0;
|
||||
u8 m_dmdextaddr = 0;
|
||||
u8 m_game = 0U;
|
||||
u8 m_row = 0U;
|
||||
u8 m_p3 = 0U;
|
||||
u8 m_p32 = 0U;
|
||||
u8 m_dmdcmd = 0U;
|
||||
u8 m_dmdbank = 0U;
|
||||
u8 m_dmdextaddr = 0U;
|
||||
u8 m_dmdram[0x2000]{};
|
||||
u8 m_sndcmd = 0;
|
||||
u8 m_sndbank_a = 0;
|
||||
u8 m_sndbank_m = 0;
|
||||
u32 m_sound_addr_a = 0;
|
||||
u32 m_sound_addr_m = 0;
|
||||
u32 m_audio_size = 0;
|
||||
u32 m_music_size = 0;
|
||||
u32 m_dmd_size = 0;
|
||||
u8 m_return_status = 0;
|
||||
u8 m_sndcmd = 0U;
|
||||
u8 m_sndbank_a = 0U;
|
||||
u8 m_sndbank_m = 0U;
|
||||
u32 m_sound_addr_a = 0U;
|
||||
u32 m_sound_addr_m = 0U;
|
||||
u32 m_audio_size = 0U;
|
||||
u32 m_music_size = 0U;
|
||||
u32 m_dmd_size = 0U;
|
||||
u8 m_return_status = 0U;
|
||||
u8 m_segment[8]{}; // metalman
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
|
@ -65,9 +65,9 @@ private:
|
||||
u8 sw_r();
|
||||
void maincpu_map(address_map &map);
|
||||
|
||||
u8 m_t_c = 0;
|
||||
u8 m_strobe = 0;
|
||||
u8 m_segment = 0;
|
||||
u8 m_t_c = 0U;
|
||||
u8 m_strobe = 0U;
|
||||
u8 m_segment = 0U;
|
||||
u8 m_last_solenoid[2]{ };
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
@ -47,8 +47,8 @@ public:
|
||||
, m_io_x2(*this, "X2")
|
||||
, m_io_x3(*this, "X3")
|
||||
, m_io_x4(*this, "X4")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void st_mp100(machine_config &config);
|
||||
@ -74,18 +74,18 @@ private:
|
||||
DECLARE_WRITE_LINE_MEMBER(u11_cb2_w);
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u8 m_u10a = 0;
|
||||
u8 m_u10b = 0;
|
||||
u8 m_u11a = 0;
|
||||
u8 m_u11b = 0;
|
||||
u8 m_u10a = 0U;
|
||||
u8 m_u10b = 0U;
|
||||
u8 m_u11a = 0U;
|
||||
u8 m_u11b = 0U;
|
||||
bool m_u10_ca2 = 0;
|
||||
bool m_u10_cb2 = 0;
|
||||
bool m_u11_cb2 = 0;
|
||||
u8 m_stored_lamp = 0xff;
|
||||
u8 m_digit = 0;
|
||||
u8 m_counter = 0;
|
||||
u8 m_stored_lamp = 0xffU;
|
||||
u8 m_digit = 0U;
|
||||
u8 m_counter = 0U;
|
||||
u8 m_segment[5]{};
|
||||
u8 m_last_solenoid = 15;
|
||||
u8 m_last_solenoid = 15U;
|
||||
|
||||
required_device<m6800_cpu_device> m_maincpu;
|
||||
required_device<pia6821_device> m_pia_u10;
|
||||
@ -718,7 +718,6 @@ void st_mp100_state::u11_b_w(u8 data)
|
||||
void st_mp100_state::machine_start()
|
||||
{
|
||||
genpin_class::machine_start();
|
||||
|
||||
m_digits.resolve();
|
||||
m_io_outputs.resolve();
|
||||
|
||||
|
@ -67,8 +67,8 @@ public:
|
||||
, m_io_x2(*this, "X2")
|
||||
, m_io_x3(*this, "X3")
|
||||
, m_io_x4(*this, "X4")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void st_mp201(machine_config &config);
|
||||
@ -101,19 +101,19 @@ private:
|
||||
|
||||
void mem_map(address_map &map);
|
||||
|
||||
u8 m_u10a = 0;
|
||||
u8 m_u10b = 0;
|
||||
u8 m_u11a = 0;
|
||||
u8 m_u11b = 0;
|
||||
u8 m_u10a = 0U;
|
||||
u8 m_u10b = 0U;
|
||||
u8 m_u11a = 0U;
|
||||
u8 m_u11b = 0U;
|
||||
bool m_u10_ca2 = 0;
|
||||
bool m_u10_cb2 = 0;
|
||||
bool m_u11_cb2 = 0;
|
||||
bool m_7d = 0; // 7-digit display yes/no
|
||||
u8 m_stored_lamp = 0xff;
|
||||
u8 m_digit = 0;
|
||||
u8 m_counter = 0;
|
||||
u8 m_stored_lamp = 0xffU;
|
||||
u8 m_digit = 0U;
|
||||
u8 m_counter = 0U;
|
||||
u8 m_segment[5]{};
|
||||
u8 m_last_solenoid = 31;
|
||||
u8 m_last_solenoid = 31U;
|
||||
required_device<m6800_cpu_device> m_maincpu;
|
||||
optional_device<s14001a_device> m_s14001a;
|
||||
optional_region_ptr<u8> m_speech;
|
||||
@ -538,7 +538,6 @@ u8 st_mp200_state::speech_r(offs_t offset)
|
||||
void st_mp200_state::machine_start()
|
||||
{
|
||||
genpin_class::machine_start();
|
||||
|
||||
m_digits.resolve();
|
||||
m_io_outputs.resolve();
|
||||
|
||||
@ -560,6 +559,7 @@ void st_mp200_state::machine_start()
|
||||
void st_mp200_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
|
||||
m_u10a = 0;
|
||||
m_u10b = 0;
|
||||
m_u10_cb2 = 0;
|
||||
|
@ -69,8 +69,8 @@ private:
|
||||
void maincpu_io(address_map &map);
|
||||
void maincpu_map(address_map &map);
|
||||
u8 m_segment[5]{};
|
||||
u8 m_game = 0;
|
||||
u8 m_row = 0;
|
||||
u8 m_game = 0U;
|
||||
u8 m_row = 0U;
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
@ -84,17 +84,17 @@ private:
|
||||
required_ioport m_io_row2;
|
||||
required_ioport m_io_joy;
|
||||
|
||||
uint8_t m_column;
|
||||
uint8_t m_column = 0U;
|
||||
|
||||
// graphics signals
|
||||
uint8_t m_ag;
|
||||
uint8_t m_gm2;
|
||||
uint8_t m_gm1;
|
||||
uint8_t m_gm0;
|
||||
uint8_t m_as;
|
||||
uint8_t m_css;
|
||||
uint8_t m_intext;
|
||||
uint8_t m_inv;
|
||||
uint8_t m_ag = 0U;
|
||||
uint8_t m_gm2 = 0U;
|
||||
uint8_t m_gm1 = 0U;
|
||||
uint8_t m_gm0 = 0U;
|
||||
uint8_t m_as = 0U;
|
||||
uint8_t m_css = 0U;
|
||||
uint8_t m_intext = 0U;
|
||||
uint8_t m_inv = 0U;
|
||||
};
|
||||
|
||||
|
||||
|
@ -66,7 +66,7 @@ public:
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_audiocpu(*this, "audiocpu")
|
||||
, m_pia(*this, "pia")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
@ -79,7 +79,7 @@ protected:
|
||||
void audio_map(address_map &map);
|
||||
void audio_map2(address_map &map);
|
||||
u8 pia_pb_r();
|
||||
u8 m_sndcmd = 0x3e;
|
||||
u8 m_sndcmd = 0x3eU;
|
||||
required_device<m6802_cpu_device> m_audiocpu;
|
||||
required_device<pia6821_device> m_pia;
|
||||
output_finder<32> m_digits;
|
||||
@ -114,7 +114,7 @@ private:
|
||||
void shock_audio_map(address_map &map);
|
||||
void main_map(address_map &map);
|
||||
|
||||
u8 m_votrax_cmd = 0;
|
||||
u8 m_votrax_cmd = 0U;
|
||||
u8 m_io[32]{};
|
||||
required_device<i8080_cpu_device> m_maincpu;
|
||||
optional_device<votrax_sc01_device> m_votrax;
|
||||
@ -143,8 +143,8 @@ private:
|
||||
void z80_lamp_w(u8);
|
||||
void z80_sol_w(u8);
|
||||
u8 z80_key_r();
|
||||
u8 m_row = 0;
|
||||
u8 m_t_c = 0;
|
||||
u8 m_row = 0U;
|
||||
u8 m_t_c = 0U;
|
||||
required_device<z80_device> m_z80cpu;
|
||||
required_ioport_array<8> m_io_keyboard;
|
||||
};
|
||||
|
@ -47,9 +47,9 @@ public:
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_audiocpu(*this, "audiocpu")
|
||||
, m_dac(*this, "dac")
|
||||
, m_io_keyboard(*this, "X%u", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void techno(machine_config &config);
|
||||
@ -95,12 +95,12 @@ private:
|
||||
emu_timer *m_irq_advance_timer;
|
||||
|
||||
bool m_digwait = 0;
|
||||
u8 m_keyrow = 0;
|
||||
u16 m_digit = 0;
|
||||
u8 m_vector = 0;
|
||||
u8 m_snd_cmd = 0;
|
||||
u8 m_keyrow = 0U;
|
||||
u16 m_digit = 0U;
|
||||
u8 m_vector = 0U;
|
||||
u8 m_snd_cmd = 0U;
|
||||
bool m_snd_ack = 0;
|
||||
u32 m_last_solenoid = 0;
|
||||
u32 m_last_solenoid = 0U;
|
||||
};
|
||||
|
||||
|
||||
|
@ -168,21 +168,21 @@ private:
|
||||
output_finder<10> m_digits;
|
||||
output_finder<7> m_leds;
|
||||
|
||||
int m_load_state;
|
||||
int m_load_state = 0;
|
||||
|
||||
int m_digitsel;
|
||||
int m_segment;
|
||||
int m_digitsel = 0;
|
||||
int m_segment = 0;
|
||||
emu_timer *m_displayena_timer;
|
||||
uint8_t m_segment_state[10];
|
||||
uint8_t m_old_segment_state[10];
|
||||
uint8_t m_LED_state;
|
||||
uint8_t m_segment_state[10]{};
|
||||
uint8_t m_old_segment_state[10]{};
|
||||
uint8_t m_LED_state = 0U;
|
||||
emu_timer *m_joy1x_timer;
|
||||
emu_timer *m_joy1y_timer;
|
||||
emu_timer *m_joy2x_timer;
|
||||
emu_timer *m_joy2y_timer;
|
||||
device_image_interface *m_rs232_fp;
|
||||
//uint8_t m_rs232_rts;
|
||||
uint8_t m_bogus_read_save;
|
||||
uint8_t m_bogus_read_save = 0U;
|
||||
};
|
||||
|
||||
|
||||
|
@ -59,7 +59,6 @@ public:
|
||||
, m_crtc(*this, "crtc")
|
||||
, m_psg(*this, "psg")
|
||||
, m_uart(*this, "uart")
|
||||
, m_membank(0)
|
||||
{}
|
||||
|
||||
void ultim809(machine_config &config);
|
||||
@ -77,7 +76,7 @@ private:
|
||||
required_device<tms9918a_device> m_crtc;
|
||||
required_device<ay8910_device> m_psg;
|
||||
required_device<ns16550_device> m_uart;
|
||||
u8 m_membank;
|
||||
u8 m_membank = 0U;
|
||||
};
|
||||
|
||||
void ultim809_state::mem_map(address_map &map)
|
||||
|
@ -71,7 +71,6 @@ class v6809_state : public driver_device
|
||||
public:
|
||||
v6809_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_video_address(0)
|
||||
, m_pia0(*this, "pia0")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_crtc(*this, "crtc")
|
||||
@ -103,11 +102,11 @@ private:
|
||||
|
||||
void v6809_mem(address_map &map);
|
||||
|
||||
u16 m_video_address;
|
||||
bool m_speaker_en;
|
||||
u8 m_video_index;
|
||||
u8 m_term_data;
|
||||
u8 m_vidbyte;
|
||||
u16 m_video_address = 0U;
|
||||
bool m_speaker_en = 0;
|
||||
u8 m_video_index = 0U;
|
||||
u8 m_term_data = 0U;
|
||||
u8 m_vidbyte = 0U;
|
||||
std::unique_ptr<u8[]> m_vram;
|
||||
required_device<pia6821_device> m_pia0;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
@ -41,8 +41,8 @@ public:
|
||||
vd_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void vd(machine_config &config);
|
||||
@ -61,8 +61,8 @@ private:
|
||||
void mem_map(address_map &map);
|
||||
|
||||
bool m_ready = 0;
|
||||
u8 m_t_c = 0;
|
||||
u8 m_game = 0;
|
||||
u8 m_t_c = 0U;
|
||||
u8 m_game = 0U;
|
||||
u8 m_segment[5]{};
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
@ -99,14 +99,7 @@ public:
|
||||
, m_sync_rom(*this, "video")
|
||||
, m_char_rom(*this, "chargen")
|
||||
, m_video_ram(*this, "video_ram")
|
||||
, m_key(*this, "KEY.%u", 0)
|
||||
, m_cmd_d1(0)
|
||||
, m_fdint(0)
|
||||
, m_vsync(0)
|
||||
, m_srq(1)
|
||||
, m_atn(1)
|
||||
, m_rxrdy(0)
|
||||
, m_txrdy(0)
|
||||
, m_key(*this, "KEY.%u", 0U)
|
||||
{ }
|
||||
|
||||
void vixen(machine_config &config);
|
||||
@ -165,30 +158,30 @@ private:
|
||||
void update_interrupt();
|
||||
|
||||
// keyboard state
|
||||
uint8_t m_col;
|
||||
uint8_t m_col = 0U;
|
||||
|
||||
// interrupt state
|
||||
int m_cmd_d0;
|
||||
int m_cmd_d1;
|
||||
int m_cmd_d0 = 0;
|
||||
int m_cmd_d1 = 0;
|
||||
|
||||
bool m_fdint;
|
||||
int m_vsync;
|
||||
bool m_fdint = 0;
|
||||
int m_vsync = 0;
|
||||
|
||||
int m_srq;
|
||||
int m_atn;
|
||||
int m_enb_srq_int;
|
||||
int m_enb_atn_int;
|
||||
int m_srq = 1;
|
||||
int m_atn = 1;
|
||||
int m_enb_srq_int = 0;
|
||||
int m_enb_atn_int = 0;
|
||||
|
||||
int m_rxrdy;
|
||||
int m_txrdy;
|
||||
int m_int_clk;
|
||||
int m_enb_xmt_int;
|
||||
int m_enb_rcv_int;
|
||||
int m_enb_ring_int;
|
||||
int m_rxrdy = 0;
|
||||
int m_txrdy = 0;
|
||||
int m_int_clk = 0;
|
||||
int m_enb_xmt_int = 0;
|
||||
int m_enb_rcv_int = 0;
|
||||
int m_enb_ring_int = 0;
|
||||
|
||||
// video state
|
||||
bool m_alt;
|
||||
bool m_256;
|
||||
bool m_alt = 0;
|
||||
bool m_256 = 0;
|
||||
};
|
||||
|
||||
|
||||
|
@ -54,8 +54,8 @@ public:
|
||||
, m_hcpu(*this, "hcpu")
|
||||
, m_shared_ram(*this, "sharedram")
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void wico(machine_config &config);
|
||||
@ -77,12 +77,12 @@ private:
|
||||
void ccpu_map(address_map &map);
|
||||
void hcpu_map(address_map &map);
|
||||
|
||||
bool m_zcen;
|
||||
bool m_gten;
|
||||
bool m_disp_on;
|
||||
bool m_diag_on;
|
||||
u8 m_firqtimer;
|
||||
u8 m_diag_segments;
|
||||
bool m_zcen = 0;
|
||||
bool m_gten = 0;
|
||||
bool m_disp_on = 0;
|
||||
bool m_diag_on = 0;
|
||||
u8 m_firqtimer = 0U;
|
||||
u8 m_diag_segments = 0U;
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
required_device<cpu_device> m_ccpu;
|
||||
|
@ -80,8 +80,8 @@ public:
|
||||
, m_dac(*this, "dac")
|
||||
, m_soundlatch(*this, "soundlatch")
|
||||
, m_sn(*this, "sn")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void locomotp(machine_config &config);
|
||||
@ -112,13 +112,13 @@ private:
|
||||
void audio_data(address_map &map);
|
||||
void audio_io(address_map &map);
|
||||
|
||||
uint8_t m_t_c = 0;
|
||||
uint8_t m_out_offs = 0;
|
||||
uint8_t m_input_line = 0;
|
||||
u8 m_sn_store = 0xff;
|
||||
uint8_t m_t_c = 0U;
|
||||
uint8_t m_out_offs = 0U;
|
||||
uint8_t m_input_line = 0U;
|
||||
u8 m_sn_store = 0xffU;
|
||||
bool m_clock_state = 0;
|
||||
bool m_noise_state = 0;
|
||||
u8 m_40193 = 0;
|
||||
u8 m_40193 = 0U;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
void audio_command_w(uint8_t data);
|
||||
@ -453,6 +453,10 @@ WRITE_LINE_MEMBER( zac_1_state::serial_w )
|
||||
|
||||
void zac_1_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
|
||||
m_t_c = 0;
|
||||
m_out_offs = 0;
|
||||
m_input_line = 0;
|
||||
@ -476,6 +480,7 @@ void zac_1_state::machine_reset()
|
||||
|
||||
void zac_1_state::machine_start()
|
||||
{
|
||||
genpin_class::machine_start();
|
||||
m_digits.resolve();
|
||||
m_io_outputs.resolve();
|
||||
|
||||
|
@ -2,8 +2,8 @@
|
||||
// copyright-holders:Robbbert
|
||||
/***************************************************************************************************
|
||||
|
||||
PINBALL
|
||||
Zaccaria Generation 2
|
||||
PINBALL
|
||||
Zaccaria Generation 2
|
||||
|
||||
****************************************************************************************************/
|
||||
|
||||
@ -21,8 +21,8 @@ public:
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_p_ram(*this, "ram")
|
||||
, m_row(*this, "ROW.%u", 0)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_keyboard(*this, "X%d", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
{ }
|
||||
|
||||
void zac_2(machine_config &config);
|
||||
@ -39,14 +39,14 @@ private:
|
||||
void zac_2_io(address_map &map);
|
||||
void zac_2_map(address_map &map);
|
||||
|
||||
uint8_t m_input_line;
|
||||
uint8_t m_t_c;
|
||||
uint8_t m_out_offs;
|
||||
uint8_t m_input_line = 0U;
|
||||
uint8_t m_t_c = 0U;
|
||||
uint8_t m_out_offs = 0U;
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override { m_digits.resolve(); }
|
||||
required_device<s2650_device> m_maincpu;
|
||||
required_shared_ptr<uint8_t> m_p_ram;
|
||||
required_ioport_array<6> m_row;
|
||||
required_ioport_array<7> m_io_keyboard;
|
||||
output_finder<78> m_digits;
|
||||
};
|
||||
|
||||
@ -90,68 +90,81 @@ static INPUT_PORTS_START( zac_2 )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR(Off))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR(On))
|
||||
|
||||
PORT_START("ROW.0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Advance Test")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Return Test")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_START("X0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Advance Test")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Return Test")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_0) PORT_NAME("Tilt 2")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Credit Service")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Printer")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("ROW.1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RAM Reset")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x3c, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Burn Test")
|
||||
PORT_START("X1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_9) PORT_NAME("Tilt 2")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Factory Burn Test")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
// from here is not correct
|
||||
PORT_START("ROW.2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Outhole") PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Flap") PORT_CODE(KEYCODE_Q)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Flap") PORT_CODE(KEYCODE_W)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Bottom Inside RH Canal") PORT_CODE(KEYCODE_E)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Bottom Outside RH Canal") PORT_CODE(KEYCODE_R)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Bottom Outside LH Canal") PORT_CODE(KEYCODE_Y)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Bottom Inside LH Canal") PORT_CODE(KEYCODE_U)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Top Hole") PORT_CODE(KEYCODE_I)
|
||||
PORT_START("X2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_X) PORT_NAME("Outhole")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_NAME("INP17")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_B) PORT_NAME("INP18")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_C) PORT_NAME("INP19")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_NAME("INP20")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_NAME("INP21")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_F) PORT_NAME("INP22")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_G) PORT_NAME("INP23")
|
||||
|
||||
PORT_START("ROW.3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Bumper") PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Top Canal") PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Top Centre Canal") PORT_CODE(KEYCODE_S)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Top Canal") PORT_CODE(KEYCODE_D)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Top Fixed Target") PORT_CODE(KEYCODE_F)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Top Fixed Target") PORT_CODE(KEYCODE_G)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Bumper") PORT_CODE(KEYCODE_H)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Top Hole") PORT_CODE(KEYCODE_J)
|
||||
PORT_START("X3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_H) PORT_NAME("INP24")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_I) PORT_NAME("INP25")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_J) PORT_NAME("INP26")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_K) PORT_NAME("INP27")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_L) PORT_NAME("INP28")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_M) PORT_NAME("INP29")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_N) PORT_NAME("INP30")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_O) PORT_NAME("INP31")
|
||||
|
||||
PORT_START("ROW.4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Bottom Bumper") PORT_CODE(KEYCODE_K)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Top Contact") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Top Contact") PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Spinning Target") PORT_CODE(KEYCODE_QUOTE)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Lateral Outside Contacts") PORT_CODE(KEYCODE_C)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Spinning Target") PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Bank Contacts") PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Moving Target") PORT_CODE(KEYCODE_N)
|
||||
PORT_START("X4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_P) PORT_NAME("INP32")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Q) PORT_NAME("INP33")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("INP34")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("INP35")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_T) PORT_NAME("INP36")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_U) PORT_NAME("INP37")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_V) PORT_NAME("INP38")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_W) PORT_NAME("INP39")
|
||||
|
||||
PORT_START("ROW.5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Bank Target 1") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Bank Target 2") PORT_CODE(KEYCODE_MINUS)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Bank Target 3") PORT_CODE(KEYCODE_EQUALS)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("LH Bank Target 4") PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Bank Target 1") PORT_CODE(KEYCODE_OPENBRACE)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Bank Target 2") PORT_CODE(KEYCODE_CLOSEBRACE)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Bank Target 3") PORT_CODE(KEYCODE_BACKSLASH)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RH Bank Target 4") PORT_CODE(KEYCODE_COLON)
|
||||
PORT_START("X5")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Y) PORT_NAME("INP40")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Z) PORT_NAME("INP41")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_COMMA) PORT_NAME("INP42")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_STOP) PORT_NAME("INP43")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH) PORT_NAME("INP44")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_COLON) PORT_NAME("INP45")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_QUOTE) PORT_NAME("INP46")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("INP47")
|
||||
|
||||
PORT_START("X6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_NAME("INP48")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_NAME("INP49")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_NAME("INP50")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_MINUS) PORT_NAME("INP51")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("INP52")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("INP53")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGUP) PORT_NAME("INP54")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("INP55")
|
||||
INPUT_PORTS_END
|
||||
|
||||
uint8_t zac_2_state::ctrl_r()
|
||||
{
|
||||
if (m_input_line < 6)
|
||||
return m_row[m_input_line]->read();
|
||||
if (m_input_line < 7)
|
||||
return m_io_keyboard[m_input_line]->read();
|
||||
|
||||
return 0xff;
|
||||
}
|
||||
|
@ -40,8 +40,8 @@ public:
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_speaker(*this, "speaker")
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_io_outputs(*this, "out%u", 0U)
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void zac_proto(machine_config &config);
|
||||
@ -53,10 +53,10 @@ private:
|
||||
void sound_w(offs_t offset, uint8_t data);
|
||||
DECLARE_WRITE_LINE_MEMBER(audio_clock);
|
||||
void zac_proto_map(address_map &map);
|
||||
u8 m_u36 = 0x80; // preset divider for u44/u45
|
||||
u8 m_u37 = 0; // selector for u48
|
||||
u8 m_u44u45 = 0; // counters for u44/u45
|
||||
u8 m_u46u47 = 0; // counters for u46/u47
|
||||
u8 m_u36 = 0x80U; // preset divider for u44/u45
|
||||
u8 m_u37 = 0U; // selector for u48
|
||||
u8 m_u44u45 = 0U; // counters for u44/u45
|
||||
u8 m_u46u47 = 0U; // counters for u46/u47
|
||||
|
||||
virtual void machine_reset() override;
|
||||
virtual void machine_start() override;
|
||||
@ -95,35 +95,35 @@ static INPUT_PORTS_START( zac_proto )
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_9) PORT_NAME("Tilt")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Z) PORT_NAME("Ball Ready")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_X) PORT_NAME("Outhole")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("INP 06")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("INP 07")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("INP06")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("INP07")
|
||||
PORT_START("X1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("INP 10")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_NAME("INP 11")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("INP 12")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("INP 13")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("INP 14")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_NAME("INP 15")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("INP 16")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_J) PORT_NAME("INP 17")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("INP10")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_NAME("INP11")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("INP12")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("INP13")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("INP14")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_NAME("INP15")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("INP16")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_J) PORT_NAME("INP17")
|
||||
PORT_START("X2")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_K) PORT_NAME("INP 20")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("INP 21")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("INP 22")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_NAME("INP 23")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) PORT_NAME("INP 24")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_P) PORT_NAME("INP 25")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("INP 26")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("INP 27")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_K) PORT_NAME("INP20")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("INP21")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("INP22")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_NAME("INP23")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) PORT_NAME("INP24")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_P) PORT_NAME("INP25")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("INP26")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("INP27")
|
||||
PORT_START("X3")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("INP 30")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("INP 31")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_NAME("INP 32")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_NAME("INP 33")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_NAME("INP 34")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) PORT_NAME("INP 35")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_COMMA) PORT_NAME("INP 36")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_STOP) PORT_NAME("INP 37")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("INP30")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("INP31")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_NAME("INP32")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_NAME("INP33")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_NAME("INP34")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) PORT_NAME("INP35")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_COMMA) PORT_NAME("INP36")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_STOP) PORT_NAME("INP37")
|
||||
PORT_START("X4")
|
||||
PORT_BIT(0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
@ -299,6 +299,8 @@ void zac_proto_state::machine_start()
|
||||
|
||||
void zac_proto_state::machine_reset()
|
||||
{
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
m_digits[10] = 0x3f; // units shows zero all the time
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user