Skip to content

Commit 21a89d5

Browse files
committed
-igs/igs027a.cpp: Started encapsulating IGS 027A onboard peripherals.
-igs/igs_m027.cpp: Improved I/O: * Hooked up inputs, hopper and counters for mgcs3. * Hooked up mahjong keyboard for lhzb4. * Added more RAM for extradrw. -Bumped GitHub CI to three simuataneous jobs for Windows and Linux - this should be OK with 16GB RAM. -Added out-of-line destructors to various device classes that aren't templates and aren't in anonymous namespaces.
1 parent 98d6cb7 commit 21a89d5

29 files changed

+394
-224
lines changed

.github/workflows/ci-linux.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
ARCHOPTS: ${{ matrix.archopts }}
5959
SUBTARGET: ${{ matrix.subtarget }}
6060
TOOLS: 1
61-
run: make -j2
61+
run: make -j3
6262
- name: Validate
6363
run: ./${{ matrix.executable }} -validate
6464
- name: Reconcile driver list

.github/workflows/ci-windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
ARCHOPTS: "-fuse-ld=lld"
5757
SUBTARGET: ${{ matrix.subtarget }}
5858
TOOLS: 1
59-
run: make -j2
59+
run: make -j3
6060
- name: Validate
6161
run: ./${{ matrix.executable }}.exe -validate
6262
- uses: actions/upload-artifact@master

src/devices/cpu/arm7/arm7.cpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,17 @@ arm7_cpu_device::arm7_cpu_device(const machine_config &mconfig, const char *tag,
8383
{
8484
}
8585

86-
arm7_cpu_device::arm7_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness)
86+
arm7_cpu_device::arm7_cpu_device(
87+
const machine_config &mconfig,
88+
device_type type,
89+
const char *tag, device_t *owner,
90+
uint32_t clock,
91+
uint8_t archRev,
92+
uint32_t archFlags,
93+
endianness_t endianness,
94+
address_map_constructor internal_map)
8795
: cpu_device(mconfig, type, tag, owner, clock)
88-
, m_program_config("program", endianness, 32, 32, 0)
96+
, m_program_config("program", endianness, 32, 32, 0, internal_map)
8997
, m_prefetch_word0_shift(endianness == ENDIANNESS_LITTLE ? 0 : 16)
9098
, m_prefetch_word1_shift(endianness == ENDIANNESS_LITTLE ? 16 : 0)
9199
, m_endian(endianness)
@@ -113,6 +121,10 @@ arm7_cpu_device::arm7_cpu_device(const machine_config &mconfig, device_type type
113121
m_actual_log = 0;
114122
}
115123

124+
arm7_cpu_device::~arm7_cpu_device()
125+
{
126+
}
127+
116128

117129
arm7_be_cpu_device::arm7_be_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
118130
: arm7_cpu_device(mconfig, ARM7_BE, tag, owner, clock, 4, ARCHFLAG_T, ENDIANNESS_BIG)

src/devices/cpu/arm7/arm7.h

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ class arm7_cpu_device : public cpu_device, public arm7_disassembler::config
5252
public:
5353
// construction/destruction
5454
arm7_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
55+
virtual ~arm7_cpu_device();
5556

5657
void set_high_vectors() { m_vectorbase = 0xffff0000; }
5758

@@ -113,7 +114,16 @@ class arm7_cpu_device : public cpu_device, public arm7_disassembler::config
113114
ARM9_COPRO_ID_MFR_INTEL = 0x69 << 24
114115
};
115116

116-
arm7_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness);
117+
arm7_cpu_device(
118+
const machine_config &mconfig,
119+
device_type type,
120+
const char *tag,
121+
device_t *owner,
122+
uint32_t clock,
123+
uint8_t archRev,
124+
uint32_t archFlags,
125+
endianness_t endianness,
126+
address_map_constructor internal_map = address_map_constructor());
117127

118128
void postload();
119129

src/devices/machine/2812fifo.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ fifo2812_device::fifo2812_device(machine_config const &mconfig, char const *tag,
4545
std::fill(std::begin(m_data), std::end(m_data), 0U);
4646
}
4747

48+
fifo2812_device::~fifo2812_device()
49+
{
50+
}
51+
4852

4953
void fifo2812_device::mr_w(int state)
5054
{

src/devices/machine/2812fifo.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class fifo2812_device : public device_t
3333
public:
3434
// standard constructor
3535
fifo2812_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock = 0);
36+
virtual ~fifo2812_device();
3637

3738
// callbacks
3839
auto q_cb() { return m_q_cb.bind(); }

src/devices/machine/at_keybc.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,10 @@ at_kbc_device_base::at_kbc_device_base(machine_config const &mconfig, device_typ
291291
{
292292
}
293293

294+
at_kbc_device_base::~at_kbc_device_base()
295+
{
296+
}
297+
294298
void at_kbc_device_base::device_start()
295299
{
296300
save_item(NAME(m_hot_res));
@@ -376,6 +380,10 @@ at_keyboard_controller_device::at_keyboard_controller_device(machine_config cons
376380
{
377381
}
378382

383+
at_keyboard_controller_device::~at_keyboard_controller_device()
384+
{
385+
}
386+
379387
tiny_rom_entry const *at_keyboard_controller_device::device_rom_region() const
380388
{
381389
return ROM_NAME(at_kbc);
@@ -452,6 +460,10 @@ ps2_keyboard_controller_device::ps2_keyboard_controller_device(machine_config co
452460
{
453461
}
454462

463+
ps2_keyboard_controller_device::~ps2_keyboard_controller_device()
464+
{
465+
}
466+
455467
tiny_rom_entry const *ps2_keyboard_controller_device::device_rom_region() const
456468
{
457469
return ROM_NAME(ps2_kbc);

src/devices/machine/at_keybc.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
class at_kbc_device_base : public device_t
2121
{
2222
public:
23+
virtual ~at_kbc_device_base();
24+
2325
// outputs to host
2426
auto hot_res() { return m_hot_res_cb.bind(); }
2527
auto gate_a20() { return m_gate_a20_cb.bind(); }
@@ -83,6 +85,7 @@ class at_keyboard_controller_device : public at_kbc_device_base
8385
public:
8486
// standard constructor
8587
at_keyboard_controller_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
88+
virtual ~at_keyboard_controller_device();
8689

8790
protected:
8891
// device_t implementation
@@ -120,6 +123,7 @@ class ps2_keyboard_controller_device : public at_kbc_device_base
120123

121124
// standard constructor
122125
ps2_keyboard_controller_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
126+
virtual ~ps2_keyboard_controller_device();
123127

124128
protected:
125129
// device_t implementation

src/devices/machine/input_merger.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
class input_merger_device : public device_t
2020
{
2121
public:
22+
virtual ~input_merger_device() override;
23+
2224
// configuration
2325
auto output_handler() { return m_output_handler.bind(); }
2426

@@ -38,7 +40,6 @@ class input_merger_device : public device_t
3840
u32 initval,
3941
u32 xorval,
4042
int active);
41-
virtual ~input_merger_device() override;
4243

4344
// device-level overrides
4445
virtual void device_start() override;

src/devices/machine/keyboard.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,10 @@ generic_keyboard_device::generic_keyboard_device(
261261
{
262262
}
263263

264+
generic_keyboard_device::~generic_keyboard_device()
265+
{
266+
}
267+
264268

265269
generic_keyboard_device::generic_keyboard_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
266270
: generic_keyboard_device(mconfig, GENERIC_KEYBOARD, tag, owner, clock)

0 commit comments

Comments
 (0)