Skip to content

Commit fd6e7a5

Browse files
committed
Cleaned up various things, mostly where .c_str() is unnecessary.
See GitHub #15895 for various examples.
1 parent 6dfa4af commit fd6e7a5

34 files changed

Lines changed: 754 additions & 870 deletions

scripts/src/bus.lua

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2547,10 +2547,8 @@ if BUSES["HP_DIO"] then
25472547
MAME_DIR .. "src/devices/bus/hp_dio/hp98544.h",
25482548
MAME_DIR .. "src/devices/bus/hp_dio/hp98550.cpp",
25492549
MAME_DIR .. "src/devices/bus/hp_dio/hp98550.h",
2550-
MAME_DIR .. "src/devices/bus/hp_dio/hp98603a.cpp",
2551-
MAME_DIR .. "src/devices/bus/hp_dio/hp98603a.h",
2552-
MAME_DIR .. "src/devices/bus/hp_dio/hp98603b.cpp",
2553-
MAME_DIR .. "src/devices/bus/hp_dio/hp98603b.h",
2550+
MAME_DIR .. "src/devices/bus/hp_dio/hp98603.cpp",
2551+
MAME_DIR .. "src/devices/bus/hp_dio/hp98603.h",
25542552
MAME_DIR .. "src/devices/bus/hp_dio/hp98620.cpp",
25552553
MAME_DIR .. "src/devices/bus/hp_dio/hp98620.h",
25562554
MAME_DIR .. "src/devices/bus/hp_dio/hp98624.cpp",

src/devices/bus/a2bus/a2corvus.cpp

Lines changed: 43 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,30 +42,56 @@
4242

4343
#include "emu.h"
4444
#include "a2corvus.h"
45+
46+
#include "machine/corvushd.h"
4547
#include "imagedev/harddriv.h"
4648

47-
/***************************************************************************
48-
PARAMETERS
49-
***************************************************************************/
49+
50+
namespace {
5051

5152
//**************************************************************************
5253
// GLOBAL VARIABLES
5354
//**************************************************************************
5455

55-
DEFINE_DEVICE_TYPE(A2BUS_CORVUS, a2bus_corvus_device, "a2corvus", "Corvus Flat Cable interface")
56-
5756
#define CORVUS_ROM_REGION "corvus_rom"
58-
#define CORVUS_HD_TAG "corvushd"
5957

6058

6159
ROM_START( corvus )
6260
ROM_REGION(0x800, CORVUS_ROM_REGION, 0)
6361
ROM_LOAD( "a4.7.u10", 0x0000, 0x0800, CRC(1cf6e32a) SHA1(dbd6efeb3b54c0523b8b4eda8b3d737413f6a91a) )
6462
ROM_END
6563

66-
/***************************************************************************
67-
FUNCTION PROTOTYPES
68-
***************************************************************************/
64+
65+
//**************************************************************************
66+
// TYPE DEFINITIONS
67+
//**************************************************************************
68+
69+
class a2bus_corvus_device:
70+
public device_t,
71+
public device_a2bus_card_interface
72+
{
73+
public:
74+
// construction/destruction
75+
a2bus_corvus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
76+
77+
protected:
78+
a2bus_corvus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
79+
80+
virtual void device_start() override ATTR_COLD;
81+
virtual void device_reset() override ATTR_COLD;
82+
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
83+
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
84+
85+
// overrides of standard a2bus slot functions
86+
virtual uint8_t read_c0nx(uint8_t offset) override;
87+
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
88+
virtual uint8_t read_cnxx(uint8_t offset) override;
89+
virtual uint8_t read_c800(uint16_t offset) override;
90+
virtual bool take_c800() const override { return true; }
91+
92+
required_region_ptr<uint8_t> m_rom;
93+
required_device<corvus_hdc_device> m_corvushd;
94+
};
6995

7096
//-------------------------------------------------
7197
// device_add_mconfig - add device configuration
@@ -96,7 +122,8 @@ const tiny_rom_entry *a2bus_corvus_device::device_rom_region() const
96122
a2bus_corvus_device::a2bus_corvus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
97123
device_t(mconfig, type, tag, owner, clock),
98124
device_a2bus_card_interface(mconfig, *this),
99-
m_corvushd(*this, CORVUS_HD_TAG), m_rom(nullptr)
125+
m_rom(*this, CORVUS_ROM_REGION),
126+
m_corvushd(*this, "corvushd")
100127
{
101128
}
102129

@@ -111,7 +138,6 @@ a2bus_corvus_device::a2bus_corvus_device(const machine_config &mconfig, const ch
111138

112139
void a2bus_corvus_device::device_start()
113140
{
114-
m_rom = device().machine().root_device().memregion(this->subtag(CORVUS_ROM_REGION).c_str())->base();
115141
}
116142

117143
void a2bus_corvus_device::device_reset()
@@ -161,7 +187,7 @@ void a2bus_corvus_device::write_c0nx(uint8_t offset, uint8_t data)
161187
uint8_t a2bus_corvus_device::read_cnxx(uint8_t offset)
162188
{
163189
// one slot image at the end of the ROM, it appears
164-
return m_rom[offset+0x700];
190+
return m_rom[offset + 0x700];
165191
}
166192

167193
/*-------------------------------------------------
@@ -172,3 +198,8 @@ uint8_t a2bus_corvus_device::read_c800(uint16_t offset)
172198
{
173199
return m_rom[offset & 0x7ff];
174200
}
201+
202+
} // anonymous namespace
203+
204+
205+
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_CORVUS, device_a2bus_card_interface, a2bus_corvus_device, "a2corvus", "Corvus Flat Cable interface")

src/devices/bus/a2bus/a2corvus.h

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -15,42 +15,7 @@
1515
#pragma once
1616

1717
#include "a2bus.h"
18-
#include "machine/corvushd.h"
19-
20-
//**************************************************************************
21-
// TYPE DEFINITIONS
22-
//**************************************************************************
23-
24-
class a2bus_corvus_device:
25-
public device_t,
26-
public device_a2bus_card_interface
27-
{
28-
public:
29-
// construction/destruction
30-
a2bus_corvus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
31-
32-
protected:
33-
a2bus_corvus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
34-
35-
virtual void device_start() override ATTR_COLD;
36-
virtual void device_reset() override ATTR_COLD;
37-
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
38-
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
39-
40-
// overrides of standard a2bus slot functions
41-
virtual uint8_t read_c0nx(uint8_t offset) override;
42-
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
43-
virtual uint8_t read_cnxx(uint8_t offset) override;
44-
virtual uint8_t read_c800(uint16_t offset) override;
45-
virtual bool take_c800() const override { return true; }
46-
47-
required_device<corvus_hdc_device> m_corvushd;
48-
49-
private:
50-
uint8_t *m_rom;
51-
};
52-
53-
// device type definition
54-
DECLARE_DEVICE_TYPE(A2BUS_CORVUS, a2bus_corvus_device)
18+
19+
DECLARE_DEVICE_TYPE(A2BUS_CORVUS, device_a2bus_card_interface)
5520

5621
#endif // MAME_BUS_A2BUS_A2CORVUS_H

src/devices/bus/a2bus/a2diskiing.cpp

Lines changed: 117 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,20 @@
1111
#include "emu.h"
1212
#include "a2diskiing.h"
1313

14+
#include "machine/wozfdc.h"
15+
#include "imagedev/floppy.h"
16+
1417
#include "formats/ap2_dsk.h"
1518
#include "formats/as_dsk.h"
1619
#include "formats/fs_prodos.h"
1720

18-
/***************************************************************************
19-
PARAMETERS
20-
***************************************************************************/
21+
22+
namespace {
2123

2224
//**************************************************************************
2325
// GLOBAL VARIABLES
2426
//**************************************************************************
2527

26-
DEFINE_DEVICE_TYPE(A2BUS_DISKIING, a2bus_diskiing_device, "a2diskiing", "Apple Disk II NG controller (16-sector)")
27-
DEFINE_DEVICE_TYPE(A2BUS_DISKIING13, a2bus_diskiing13_device, "diskii13", "Apple Disk II NG controller (13-sector)")
28-
DEFINE_DEVICE_TYPE(A2BUS_APPLESURANCE, a2bus_applesurance_device, "a2surance", "Applesurance Diagnostic Controller")
29-
DEFINE_DEVICE_TYPE(A2BUS_AGAT7_FDC, a2bus_agat7flop_device, "agat7_flop", "Agat-7 140K floppy card")
30-
DEFINE_DEVICE_TYPE(A2BUS_AGAT9_FDC, a2bus_agat9flop_device, "agat9_flop", "Agat-9 140K floppy card")
31-
32-
#define WOZFDC_TAG "wozfdc"
3328
#define DISKII_ROM_REGION "diskii_rom"
3429

3530
static void a2_floppies(device_slot_interface &device)
@@ -62,6 +57,104 @@ ROM_START( agat9 )
6257
ROM_LOAD( "shugart9.rom", 0x0000, 0x0100, CRC(964a0ce2) SHA1(bf955189ebffe874c20ef649a3db8177dc16af61) )
6358
ROM_END
6459

60+
61+
//**************************************************************************
62+
// TYPE DEFINITIONS
63+
//**************************************************************************
64+
65+
class diskiing_device:
66+
public device_t,
67+
public device_a2bus_card_interface
68+
{
69+
protected:
70+
// construction/destruction
71+
diskiing_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
72+
73+
virtual void device_start() override ATTR_COLD;
74+
virtual void device_reset() override ATTR_COLD;
75+
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
76+
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
77+
78+
// overrides of standard a2bus slot functions
79+
virtual uint8_t read_c0nx(uint8_t offset) override;
80+
virtual void write_c0nx(uint8_t offset, uint8_t data) override;
81+
virtual uint8_t read_cnxx(uint8_t offset) override;
82+
virtual void reset_from_bus() override;
83+
84+
required_region_ptr<uint8_t> m_rom;
85+
required_device<diskii_fdc_device> m_wozfdc;
86+
required_device_array<floppy_connector, 2> m_floppy;
87+
88+
private:
89+
static void floppy_formats(format_registration &fr);
90+
};
91+
92+
class a2bus_diskiing_device: public diskiing_device
93+
{
94+
public:
95+
a2bus_diskiing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
96+
};
97+
98+
class a2bus_diskiing13_device: public diskiing_device
99+
{
100+
public:
101+
a2bus_diskiing13_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
102+
103+
protected:
104+
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
105+
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
106+
107+
private:
108+
static void floppy_formats(format_registration &fr);
109+
};
110+
111+
class a2bus_applesurance_device: public diskiing_device
112+
{
113+
public:
114+
a2bus_applesurance_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
115+
116+
protected:
117+
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
118+
119+
virtual void device_reset() override ATTR_COLD;
120+
121+
virtual uint8_t read_cnxx(uint8_t offset) override;
122+
virtual uint8_t read_c800(uint16_t offset) override;
123+
124+
virtual void write_c800(uint16_t offset, uint8_t data) override
125+
{
126+
if (offset == 0x7ff)
127+
{
128+
m_c800_bank = data & 1;
129+
}
130+
}
131+
132+
virtual bool take_c800() const override { return true; }
133+
134+
virtual void reset_from_bus() override;
135+
136+
private:
137+
int m_c800_bank;
138+
};
139+
140+
class a2bus_agat7flop_device : public diskiing_device
141+
{
142+
public:
143+
a2bus_agat7flop_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
144+
145+
protected:
146+
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
147+
};
148+
149+
class a2bus_agat9flop_device : public diskiing_device
150+
{
151+
public:
152+
a2bus_agat9flop_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
153+
154+
protected:
155+
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
156+
};
157+
65158
void diskiing_device::floppy_formats(format_registration &fr)
66159
{
67160
fr.add(FLOPPY_A213S_FORMAT);
@@ -136,9 +229,9 @@ const tiny_rom_entry *a2bus_agat9flop_device::device_rom_region() const
136229
diskiing_device::diskiing_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
137230
device_t(mconfig, type, tag, owner, clock),
138231
device_a2bus_card_interface(mconfig, *this),
139-
m_wozfdc(*this, WOZFDC_TAG),
140-
m_floppy(*this, "%u", 0U),
141-
m_rom(nullptr)
232+
m_rom(*this, DISKII_ROM_REGION),
233+
m_wozfdc(*this, "wozfdc"),
234+
m_floppy(*this, "%u", 0U)
142235
{
143236
}
144237

@@ -174,7 +267,6 @@ a2bus_agat9flop_device::a2bus_agat9flop_device(const machine_config &mconfig, co
174267

175268
void diskiing_device::device_start()
176269
{
177-
m_rom = device().machine().root_device().memregion(this->subtag(DISKII_ROM_REGION).c_str())->base();
178270
}
179271

180272
void diskiing_device::device_reset()
@@ -217,7 +309,7 @@ uint8_t diskiing_device::read_cnxx(uint8_t offset)
217309

218310
uint8_t a2bus_applesurance_device::read_cnxx(uint8_t offset)
219311
{
220-
return m_rom[offset+0x800];
312+
return m_rom[offset + 0x800];
221313
}
222314

223315
uint8_t a2bus_applesurance_device::read_c800(uint16_t offset)
@@ -232,7 +324,7 @@ uint8_t a2bus_applesurance_device::read_c800(uint16_t offset)
232324
return m_rom[offset];
233325
}
234326

235-
return m_rom[offset+0x800];
327+
return m_rom[offset + 0x800];
236328
}
237329

238330
void a2bus_applesurance_device::device_reset()
@@ -246,3 +338,12 @@ void a2bus_applesurance_device::reset_from_bus()
246338
m_c800_bank = 1;
247339
diskiing_device::reset_from_bus();
248340
}
341+
342+
} // anonymous namespace
343+
344+
345+
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_DISKIING, device_a2bus_card_interface, a2bus_diskiing_device, "a2diskiing", "Apple Disk II NG controller (16-sector)")
346+
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_DISKIING13, device_a2bus_card_interface, a2bus_diskiing13_device, "diskii13", "Apple Disk II NG controller (13-sector)")
347+
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_APPLESURANCE, device_a2bus_card_interface, a2bus_applesurance_device, "a2surance", "Applesurance Diagnostic Controller")
348+
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_AGAT7_FDC, device_a2bus_card_interface, a2bus_agat7flop_device, "agat7_flop", "Agat-7 140K floppy card")
349+
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_AGAT9_FDC, device_a2bus_card_interface, a2bus_agat9flop_device, "agat9_flop", "Agat-9 140K floppy card")

0 commit comments

Comments
 (0)