summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus')
-rw-r--r--src/devices/bus/a1bus/a1bus.cpp36
-rw-r--r--src/devices/bus/a1bus/a1bus.h35
-rw-r--r--src/devices/bus/a1bus/a1cassette.cpp18
-rw-r--r--src/devices/bus/a1bus/a1cassette.h17
-rw-r--r--src/devices/bus/a1bus/a1cffa.cpp19
-rw-r--r--src/devices/bus/a1bus/a1cffa.h15
-rw-r--r--src/devices/bus/a2bus/a2alfam2.cpp12
-rw-r--r--src/devices/bus/a2bus/a2alfam2.h28
-rw-r--r--src/devices/bus/a2bus/a2applicard.cpp10
-rw-r--r--src/devices/bus/a2bus/a2applicard.h13
-rw-r--r--src/devices/bus/a2bus/a2arcadebd.cpp11
-rw-r--r--src/devices/bus/a2bus/a2arcadebd.h13
-rw-r--r--src/devices/bus/a2bus/a2bus.cpp35
-rw-r--r--src/devices/bus/a2bus/a2bus.h30
-rw-r--r--src/devices/bus/a2bus/a2cffa.cpp12
-rw-r--r--src/devices/bus/a2bus/a2cffa.h18
-rw-r--r--src/devices/bus/a2bus/a2corvus.cpp10
-rw-r--r--src/devices/bus/a2bus/a2corvus.h17
-rw-r--r--src/devices/bus/a2bus/a2diskii.cpp20
-rw-r--r--src/devices/bus/a2bus/a2diskii.h20
-rw-r--r--src/devices/bus/a2bus/a2diskiing.cpp7
-rw-r--r--src/devices/bus/a2bus/a2diskiing.h12
-rw-r--r--src/devices/bus/a2bus/a2dx1.cpp11
-rw-r--r--src/devices/bus/a2bus/a2dx1.h19
-rw-r--r--src/devices/bus/a2bus/a2eauxslot.cpp36
-rw-r--r--src/devices/bus/a2bus/a2eauxslot.h28
-rw-r--r--src/devices/bus/a2bus/a2echoii.cpp10
-rw-r--r--src/devices/bus/a2bus/a2echoii.h12
-rw-r--r--src/devices/bus/a2bus/a2eext80col.cpp9
-rw-r--r--src/devices/bus/a2bus/a2eext80col.h13
-rw-r--r--src/devices/bus/a2bus/a2eramworks3.cpp13
-rw-r--r--src/devices/bus/a2bus/a2eramworks3.h11
-rw-r--r--src/devices/bus/a2bus/a2estd80col.cpp9
-rw-r--r--src/devices/bus/a2bus/a2estd80col.h13
-rw-r--r--src/devices/bus/a2bus/a2hsscsi.cpp11
-rw-r--r--src/devices/bus/a2bus/a2hsscsi.h19
-rw-r--r--src/devices/bus/a2bus/a2mcms.cpp23
-rw-r--r--src/devices/bus/a2bus/a2mcms.h16
-rw-r--r--src/devices/bus/a2bus/a2memexp.cpp12
-rw-r--r--src/devices/bus/a2bus/a2memexp.h18
-rw-r--r--src/devices/bus/a2bus/a2midi.cpp12
-rw-r--r--src/devices/bus/a2bus/a2midi.h13
-rw-r--r--src/devices/bus/a2bus/a2mockingboard.cpp16
-rw-r--r--src/devices/bus/a2bus/a2mockingboard.h23
-rw-r--r--src/devices/bus/a2bus/a2pic.cpp14
-rw-r--r--src/devices/bus/a2bus/a2pic.h23
-rw-r--r--src/devices/bus/a2bus/a2sam.cpp4
-rw-r--r--src/devices/bus/a2bus/a2sam.h12
-rw-r--r--src/devices/bus/a2bus/a2scsi.cpp11
-rw-r--r--src/devices/bus/a2bus/a2scsi.h19
-rw-r--r--src/devices/bus/a2bus/a2softcard.cpp10
-rw-r--r--src/devices/bus/a2bus/a2softcard.h11
-rw-r--r--src/devices/bus/a2bus/a2ssc.cpp13
-rw-r--r--src/devices/bus/a2bus/a2ssc.h15
-rw-r--r--src/devices/bus/a2bus/a2swyft.cpp9
-rw-r--r--src/devices/bus/a2bus/a2swyft.h13
-rw-r--r--src/devices/bus/a2bus/a2themill.cpp10
-rw-r--r--src/devices/bus/a2bus/a2themill.h13
-rw-r--r--src/devices/bus/a2bus/a2thunderclock.cpp10
-rw-r--r--src/devices/bus/a2bus/a2thunderclock.h13
-rw-r--r--src/devices/bus/a2bus/a2ultraterm.cpp12
-rw-r--r--src/devices/bus/a2bus/a2ultraterm.h28
-rw-r--r--src/devices/bus/a2bus/a2videoterm.cpp32
-rw-r--r--src/devices/bus/a2bus/a2videoterm.h41
-rw-r--r--src/devices/bus/a2bus/a2vulcan.cpp12
-rw-r--r--src/devices/bus/a2bus/a2vulcan.h18
-rw-r--r--src/devices/bus/a2bus/a2zipdrive.cpp8
-rw-r--r--src/devices/bus/a2bus/a2zipdrive.h16
-rw-r--r--src/devices/bus/a2bus/agat7langcard.cpp9
-rw-r--r--src/devices/bus/a2bus/agat7langcard.h12
-rw-r--r--src/devices/bus/a2bus/agat7ram.cpp9
-rw-r--r--src/devices/bus/a2bus/agat7ram.h13
-rw-r--r--src/devices/bus/a2bus/corvfdc01.cpp17
-rw-r--r--src/devices/bus/a2bus/corvfdc01.h15
-rw-r--r--src/devices/bus/a2bus/corvfdc02.cpp14
-rw-r--r--src/devices/bus/a2bus/corvfdc02.h13
-rw-r--r--src/devices/bus/a2bus/ezcgi.cpp30
-rw-r--r--src/devices/bus/a2bus/ezcgi.h23
-rw-r--r--src/devices/bus/a2bus/laser128.cpp9
-rw-r--r--src/devices/bus/a2bus/laser128.h13
-rw-r--r--src/devices/bus/a2bus/mouse.cpp8
-rw-r--r--src/devices/bus/a2bus/mouse.h5
-rw-r--r--src/devices/bus/a2bus/pc_xporter.cpp16
-rw-r--r--src/devices/bus/a2bus/pc_xporter.h44
-rw-r--r--src/devices/bus/a2bus/ramcard128k.cpp11
-rw-r--r--src/devices/bus/a2bus/ramcard128k.h13
-rw-r--r--src/devices/bus/a2bus/ramcard16k.cpp9
-rw-r--r--src/devices/bus/a2bus/ramcard16k.h13
-rw-r--r--src/devices/bus/a2bus/timemasterho.cpp12
-rw-r--r--src/devices/bus/a2bus/timemasterho.h13
-rw-r--r--src/devices/bus/a7800/a78_carts.h7
-rw-r--r--src/devices/bus/a7800/a78_slot.cpp12
-rw-r--r--src/devices/bus/a7800/a78_slot.h13
-rw-r--r--src/devices/bus/a7800/cpuwiz.cpp22
-rw-r--r--src/devices/bus/a7800/cpuwiz.h17
-rw-r--r--src/devices/bus/a7800/hiscore.cpp6
-rw-r--r--src/devices/bus/a7800/hiscore.h10
-rw-r--r--src/devices/bus/a7800/rom.cpp104
-rw-r--r--src/devices/bus/a7800/rom.h86
-rw-r--r--src/devices/bus/a7800/xboard.cpp27
-rw-r--r--src/devices/bus/a7800/xboard.h25
-rw-r--r--src/devices/bus/a800/a800_carts.h7
-rw-r--r--src/devices/bus/a800/a800_slot.cpp22
-rw-r--r--src/devices/bus/a800/a800_slot.h27
-rw-r--r--src/devices/bus/a800/a8sio.cpp22
-rw-r--r--src/devices/bus/a800/a8sio.h31
-rw-r--r--src/devices/bus/a800/cassette.cpp17
-rw-r--r--src/devices/bus/a800/cassette.h13
-rw-r--r--src/devices/bus/a800/oss.cpp25
-rw-r--r--src/devices/bus/a800/oss.h48
-rw-r--r--src/devices/bus/a800/rom.cpp62
-rw-r--r--src/devices/bus/a800/rom.h93
-rw-r--r--src/devices/bus/a800/sparta.cpp10
-rw-r--r--src/devices/bus/a800/sparta.h18
-rw-r--r--src/devices/bus/abcbus/abc890.cpp98
-rw-r--r--src/devices/bus/abcbus/abc890.h59
-rw-r--r--src/devices/bus/abcbus/abcbus.cpp12
-rw-r--r--src/devices/bus/abcbus/abcbus.h66
-rw-r--r--src/devices/bus/abcbus/fd2.cpp60
-rw-r--r--src/devices/bus/abcbus/fd2.h20
-rw-r--r--src/devices/bus/abcbus/hdc.cpp8
-rw-r--r--src/devices/bus/abcbus/hdc.h12
-rw-r--r--src/devices/bus/abcbus/lux10828.cpp4
-rw-r--r--src/devices/bus/abcbus/lux10828.h12
-rw-r--r--src/devices/bus/abcbus/lux21046.cpp144
-rw-r--r--src/devices/bus/abcbus/lux21046.h48
-rw-r--r--src/devices/bus/abcbus/lux21056.cpp4
-rw-r--r--src/devices/bus/abcbus/lux21056.h14
-rw-r--r--src/devices/bus/abcbus/lux4105.cpp4
-rw-r--r--src/devices/bus/abcbus/lux4105.h13
-rw-r--r--src/devices/bus/abcbus/memcard.cpp14
-rw-r--r--src/devices/bus/abcbus/memcard.h16
-rw-r--r--src/devices/bus/abcbus/ram.cpp14
-rw-r--r--src/devices/bus/abcbus/ram.h19
-rw-r--r--src/devices/bus/abcbus/sio.cpp4
-rw-r--r--src/devices/bus/abcbus/sio.h12
-rw-r--r--src/devices/bus/abcbus/slutprov.cpp4
-rw-r--r--src/devices/bus/abcbus/slutprov.h12
-rw-r--r--src/devices/bus/abcbus/turbo.cpp4
-rw-r--r--src/devices/bus/abcbus/turbo.h11
-rw-r--r--src/devices/bus/abcbus/uni800.cpp4
-rw-r--r--src/devices/bus/abcbus/uni800.h12
-rw-r--r--src/devices/bus/abckb/abc77.cpp12
-rw-r--r--src/devices/bus/abckb/abc77.h10
-rw-r--r--src/devices/bus/abckb/abc800kb.cpp5
-rw-r--r--src/devices/bus/abckb/abc800kb.h12
-rw-r--r--src/devices/bus/abckb/abc99.cpp4
-rw-r--r--src/devices/bus/abckb/abc99.h2
-rw-r--r--src/devices/bus/abckb/abckb.cpp4
-rw-r--r--src/devices/bus/abckb/abckb.h27
-rw-r--r--src/devices/bus/adam/adamlink.cpp6
-rw-r--r--src/devices/bus/adam/adamlink.h12
-rw-r--r--src/devices/bus/adam/exp.cpp4
-rw-r--r--src/devices/bus/adam/exp.h18
-rw-r--r--src/devices/bus/adam/ide.cpp4
-rw-r--r--src/devices/bus/adam/ide.h12
-rw-r--r--src/devices/bus/adam/ram.cpp4
-rw-r--r--src/devices/bus/adam/ram.h12
-rw-r--r--src/devices/bus/adamnet/adamnet.cpp8
-rw-r--r--src/devices/bus/adamnet/adamnet.h18
-rw-r--r--src/devices/bus/adamnet/ddp.cpp4
-rw-r--r--src/devices/bus/adamnet/ddp.h12
-rw-r--r--src/devices/bus/adamnet/fdc.cpp20
-rw-r--r--src/devices/bus/adamnet/fdc.h12
-rw-r--r--src/devices/bus/adamnet/kb.cpp4
-rw-r--r--src/devices/bus/adamnet/kb.h10
-rw-r--r--src/devices/bus/adamnet/printer.cpp4
-rw-r--r--src/devices/bus/adamnet/printer.h12
-rw-r--r--src/devices/bus/adamnet/spi.cpp4
-rw-r--r--src/devices/bus/adamnet/spi.h12
-rw-r--r--src/devices/bus/amiga/keyboard/a1200.cpp4
-rw-r--r--src/devices/bus/amiga/keyboard/a1200.h22
-rw-r--r--src/devices/bus/amiga/keyboard/a500.cpp47
-rw-r--r--src/devices/bus/amiga/keyboard/a500.h37
-rw-r--r--src/devices/bus/amiga/keyboard/keyboard.cpp4
-rw-r--r--src/devices/bus/amiga/keyboard/keyboard.h25
-rw-r--r--src/devices/bus/amiga/keyboard/matrix.h6
-rw-r--r--src/devices/bus/amiga/zorro/a2052.cpp4
-rw-r--r--src/devices/bus/amiga/zorro/a2052.h10
-rw-r--r--src/devices/bus/amiga/zorro/a2232.cpp4
-rw-r--r--src/devices/bus/amiga/zorro/a2232.h10
-rw-r--r--src/devices/bus/amiga/zorro/a590.cpp13
-rw-r--r--src/devices/bus/amiga/zorro/a590.h21
-rw-r--r--src/devices/bus/amiga/zorro/action_replay.cpp17
-rw-r--r--src/devices/bus/amiga/zorro/action_replay.h21
-rw-r--r--src/devices/bus/amiga/zorro/buddha.cpp4
-rw-r--r--src/devices/bus/amiga/zorro/buddha.h10
-rw-r--r--src/devices/bus/amiga/zorro/cards.cpp7
-rw-r--r--src/devices/bus/amiga/zorro/cards.h14
-rw-r--r--src/devices/bus/amiga/zorro/zorro.cpp39
-rw-r--r--src/devices/bus/amiga/zorro/zorro.h74
-rw-r--r--src/devices/bus/apf/rom.cpp18
-rw-r--r--src/devices/bus/apf/rom.h27
-rw-r--r--src/devices/bus/apf/slot.cpp10
-rw-r--r--src/devices/bus/apf/slot.h9
-rw-r--r--src/devices/bus/apricot/expansion/cards.cpp1
-rw-r--r--src/devices/bus/apricot/expansion/cards.h10
-rw-r--r--src/devices/bus/apricot/expansion/expansion.cpp18
-rw-r--r--src/devices/bus/apricot/expansion/expansion.h47
-rw-r--r--src/devices/bus/apricot/expansion/ram.cpp12
-rw-r--r--src/devices/bus/apricot/expansion/ram.h14
-rw-r--r--src/devices/bus/apricot/keyboard/hle.cpp4
-rw-r--r--src/devices/bus/apricot/keyboard/hle.h14
-rw-r--r--src/devices/bus/apricot/keyboard/keyboard.cpp4
-rw-r--r--src/devices/bus/apricot/keyboard/keyboard.h19
-rw-r--r--src/devices/bus/arcadia/rom.cpp14
-rw-r--r--src/devices/bus/arcadia/rom.h22
-rw-r--r--src/devices/bus/arcadia/slot.cpp10
-rw-r--r--src/devices/bus/arcadia/slot.h14
-rw-r--r--src/devices/bus/astrocde/exp.cpp8
-rw-r--r--src/devices/bus/astrocde/exp.h17
-rw-r--r--src/devices/bus/astrocde/ram.cpp46
-rw-r--r--src/devices/bus/astrocde/ram.h58
-rw-r--r--src/devices/bus/astrocde/rom.cpp22
-rw-r--r--src/devices/bus/astrocde/rom.h42
-rw-r--r--src/devices/bus/astrocde/slot.cpp10
-rw-r--r--src/devices/bus/astrocde/slot.h19
-rw-r--r--src/devices/bus/bbc/1mhzbus/1mhzbus.cpp6
-rw-r--r--src/devices/bus/bbc/1mhzbus/1mhzbus.h21
-rw-r--r--src/devices/bus/bbc/1mhzbus/opus3.cpp6
-rw-r--r--src/devices/bus/bbc/1mhzbus/opus3.h10
-rw-r--r--src/devices/bus/bbc/analogue/analogue.cpp6
-rw-r--r--src/devices/bus/bbc/analogue/analogue.h15
-rw-r--r--src/devices/bus/bbc/analogue/joystick.cpp12
-rw-r--r--src/devices/bus/bbc/analogue/joystick.h18
-rw-r--r--src/devices/bus/bbc/fdc/acorn.cpp10
-rw-r--r--src/devices/bus/bbc/fdc/acorn.h14
-rw-r--r--src/devices/bus/bbc/fdc/cumana.cpp14
-rw-r--r--src/devices/bus/bbc/fdc/cumana.h19
-rw-r--r--src/devices/bus/bbc/fdc/fdc.cpp6
-rw-r--r--src/devices/bus/bbc/fdc/fdc.h21
-rw-r--r--src/devices/bus/bbc/fdc/opus.cpp18
-rw-r--r--src/devices/bus/bbc/fdc/opus.h21
-rw-r--r--src/devices/bus/bbc/fdc/watford.cpp16
-rw-r--r--src/devices/bus/bbc/fdc/watford.h22
-rw-r--r--src/devices/bus/bbc/joyport/joyport.cpp6
-rw-r--r--src/devices/bus/bbc/joyport/joyport.h14
-rw-r--r--src/devices/bus/bbc/joyport/joystick.cpp8
-rw-r--r--src/devices/bus/bbc/joyport/joystick.h10
-rw-r--r--src/devices/bus/bbc/tube/tube.cpp6
-rw-r--r--src/devices/bus/bbc/tube/tube.h19
-rw-r--r--src/devices/bus/bbc/userport/userport.cpp6
-rw-r--r--src/devices/bus/bbc/userport/userport.h14
-rw-r--r--src/devices/bus/bml3/bml3bus.cpp30
-rw-r--r--src/devices/bus/bml3/bml3bus.h31
-rw-r--r--src/devices/bus/bml3/bml3kanji.cpp4
-rw-r--r--src/devices/bus/bml3/bml3kanji.h10
-rw-r--r--src/devices/bus/bml3/bml3mp1802.cpp6
-rw-r--r--src/devices/bus/bml3/bml3mp1802.h11
-rw-r--r--src/devices/bus/bml3/bml3mp1805.cpp4
-rw-r--r--src/devices/bus/bml3/bml3mp1805.h10
-rw-r--r--src/devices/bus/bw2/exp.cpp4
-rw-r--r--src/devices/bus/bw2/exp.h14
-rw-r--r--src/devices/bus/bw2/ramcard.cpp4
-rw-r--r--src/devices/bus/bw2/ramcard.h10
-rw-r--r--src/devices/bus/c64/16kb.cpp4
-rw-r--r--src/devices/bus/c64/16kb.h14
-rw-r--r--src/devices/bus/c64/4dxh.cpp4
-rw-r--r--src/devices/bus/c64/4dxh.h10
-rw-r--r--src/devices/bus/c64/4ksa.cpp4
-rw-r--r--src/devices/bus/c64/4ksa.h10
-rw-r--r--src/devices/bus/c64/4tba.cpp4
-rw-r--r--src/devices/bus/c64/4tba.h11
-rw-r--r--src/devices/bus/c64/bn1541.cpp4
-rw-r--r--src/devices/bus/c64/bn1541.h10
-rw-r--r--src/devices/bus/c64/c128_comal80.cpp4
-rw-r--r--src/devices/bus/c64/c128_comal80.h10
-rw-r--r--src/devices/bus/c64/c128_partner.cpp27
-rw-r--r--src/devices/bus/c64/c128_partner.h16
-rw-r--r--src/devices/bus/c64/comal80.cpp4
-rw-r--r--src/devices/bus/c64/comal80.h10
-rw-r--r--src/devices/bus/c64/cpm.cpp4
-rw-r--r--src/devices/bus/c64/cpm.h12
-rw-r--r--src/devices/bus/c64/currah_speech.cpp4
-rw-r--r--src/devices/bus/c64/currah_speech.h10
-rw-r--r--src/devices/bus/c64/dela_ep256.cpp4
-rw-r--r--src/devices/bus/c64/dela_ep256.h11
-rw-r--r--src/devices/bus/c64/dela_ep64.cpp4
-rw-r--r--src/devices/bus/c64/dela_ep64.h10
-rw-r--r--src/devices/bus/c64/dela_ep7x8.cpp4
-rw-r--r--src/devices/bus/c64/dela_ep7x8.h11
-rw-r--r--src/devices/bus/c64/dinamic.cpp4
-rw-r--r--src/devices/bus/c64/dinamic.h10
-rw-r--r--src/devices/bus/c64/dqbb.cpp4
-rw-r--r--src/devices/bus/c64/dqbb.h10
-rw-r--r--src/devices/bus/c64/easy_calc_result.cpp4
-rw-r--r--src/devices/bus/c64/easy_calc_result.h10
-rw-r--r--src/devices/bus/c64/easyflash.cpp4
-rw-r--r--src/devices/bus/c64/easyflash.h10
-rw-r--r--src/devices/bus/c64/epyx_fast_load.cpp4
-rw-r--r--src/devices/bus/c64/epyx_fast_load.h10
-rw-r--r--src/devices/bus/c64/exos.cpp4
-rw-r--r--src/devices/bus/c64/exos.h10
-rw-r--r--src/devices/bus/c64/exp.cpp4
-rw-r--r--src/devices/bus/c64/exp.h23
-rw-r--r--src/devices/bus/c64/fcc.cpp4
-rw-r--r--src/devices/bus/c64/fcc.h11
-rw-r--r--src/devices/bus/c64/final.cpp4
-rw-r--r--src/devices/bus/c64/final.h10
-rw-r--r--src/devices/bus/c64/final3.cpp4
-rw-r--r--src/devices/bus/c64/final3.h10
-rw-r--r--src/devices/bus/c64/fun_play.cpp4
-rw-r--r--src/devices/bus/c64/fun_play.h10
-rw-r--r--src/devices/bus/c64/geocable.cpp4
-rw-r--r--src/devices/bus/c64/geocable.h9
-rw-r--r--src/devices/bus/c64/georam.cpp4
-rw-r--r--src/devices/bus/c64/georam.h10
-rw-r--r--src/devices/bus/c64/ide64.cpp4
-rw-r--r--src/devices/bus/c64/ide64.h10
-rw-r--r--src/devices/bus/c64/ieee488.cpp4
-rw-r--r--src/devices/bus/c64/ieee488.h13
-rw-r--r--src/devices/bus/c64/kingsoft.cpp4
-rw-r--r--src/devices/bus/c64/kingsoft.h10
-rw-r--r--src/devices/bus/c64/mach5.cpp4
-rw-r--r--src/devices/bus/c64/mach5.h10
-rw-r--r--src/devices/bus/c64/magic_desk.cpp4
-rw-r--r--src/devices/bus/c64/magic_desk.h10
-rw-r--r--src/devices/bus/c64/magic_formel.cpp4
-rw-r--r--src/devices/bus/c64/magic_formel.h10
-rw-r--r--src/devices/bus/c64/magic_voice.cpp4
-rw-r--r--src/devices/bus/c64/magic_voice.h13
-rw-r--r--src/devices/bus/c64/midi_maplin.cpp4
-rw-r--r--src/devices/bus/c64/midi_maplin.h10
-rw-r--r--src/devices/bus/c64/midi_namesoft.cpp4
-rw-r--r--src/devices/bus/c64/midi_namesoft.h10
-rw-r--r--src/devices/bus/c64/midi_passport.cpp4
-rw-r--r--src/devices/bus/c64/midi_passport.h10
-rw-r--r--src/devices/bus/c64/midi_sci.cpp4
-rw-r--r--src/devices/bus/c64/midi_sci.h10
-rw-r--r--src/devices/bus/c64/midi_siel.cpp4
-rw-r--r--src/devices/bus/c64/midi_siel.h10
-rw-r--r--src/devices/bus/c64/mikro_assembler.cpp4
-rw-r--r--src/devices/bus/c64/mikro_assembler.h10
-rw-r--r--src/devices/bus/c64/multiscreen.cpp4
-rw-r--r--src/devices/bus/c64/multiscreen.h10
-rw-r--r--src/devices/bus/c64/music64.cpp4
-rw-r--r--src/devices/bus/c64/music64.h10
-rw-r--r--src/devices/bus/c64/neoram.cpp4
-rw-r--r--src/devices/bus/c64/neoram.h10
-rw-r--r--src/devices/bus/c64/ocean.cpp4
-rw-r--r--src/devices/bus/c64/ocean.h10
-rw-r--r--src/devices/bus/c64/pagefox.cpp4
-rw-r--r--src/devices/bus/c64/pagefox.h10
-rw-r--r--src/devices/bus/c64/partner.cpp4
-rw-r--r--src/devices/bus/c64/partner.h10
-rw-r--r--src/devices/bus/c64/prophet64.cpp4
-rw-r--r--src/devices/bus/c64/prophet64.h12
-rw-r--r--src/devices/bus/c64/ps64.cpp4
-rw-r--r--src/devices/bus/c64/ps64.h10
-rw-r--r--src/devices/bus/c64/reu.cpp16
-rw-r--r--src/devices/bus/c64/reu.h21
-rw-r--r--src/devices/bus/c64/rex.cpp4
-rw-r--r--src/devices/bus/c64/rex.h10
-rw-r--r--src/devices/bus/c64/rex_ep256.cpp4
-rw-r--r--src/devices/bus/c64/rex_ep256.h11
-rw-r--r--src/devices/bus/c64/ross.cpp4
-rw-r--r--src/devices/bus/c64/ross.h11
-rw-r--r--src/devices/bus/c64/sfx_sound_expander.cpp4
-rw-r--r--src/devices/bus/c64/sfx_sound_expander.h11
-rw-r--r--src/devices/bus/c64/silverrock.cpp4
-rw-r--r--src/devices/bus/c64/silverrock.h10
-rw-r--r--src/devices/bus/c64/simons_basic.cpp4
-rw-r--r--src/devices/bus/c64/simons_basic.h10
-rw-r--r--src/devices/bus/c64/speakeasy.cpp16
-rw-r--r--src/devices/bus/c64/speakeasy.h18
-rw-r--r--src/devices/bus/c64/stardos.cpp4
-rw-r--r--src/devices/bus/c64/stardos.h10
-rw-r--r--src/devices/bus/c64/std.cpp4
-rw-r--r--src/devices/bus/c64/std.h10
-rw-r--r--src/devices/bus/c64/structured_basic.cpp4
-rw-r--r--src/devices/bus/c64/structured_basic.h11
-rw-r--r--src/devices/bus/c64/super_explode.cpp4
-rw-r--r--src/devices/bus/c64/super_explode.h10
-rw-r--r--src/devices/bus/c64/super_games.cpp4
-rw-r--r--src/devices/bus/c64/super_games.h10
-rw-r--r--src/devices/bus/c64/supercpu.cpp4
-rw-r--r--src/devices/bus/c64/supercpu.h11
-rw-r--r--src/devices/bus/c64/sw8k.cpp4
-rw-r--r--src/devices/bus/c64/sw8k.h9
-rw-r--r--src/devices/bus/c64/swiftlink.cpp4
-rw-r--r--src/devices/bus/c64/swiftlink.h10
-rw-r--r--src/devices/bus/c64/system3.cpp4
-rw-r--r--src/devices/bus/c64/system3.h10
-rw-r--r--src/devices/bus/c64/tdos.cpp4
-rw-r--r--src/devices/bus/c64/tdos.h10
-rw-r--r--src/devices/bus/c64/turbo232.cpp4
-rw-r--r--src/devices/bus/c64/turbo232.h10
-rw-r--r--src/devices/bus/c64/user.h8
-rw-r--r--src/devices/bus/c64/vizastar.cpp4
-rw-r--r--src/devices/bus/c64/vizastar.h10
-rw-r--r--src/devices/bus/c64/vw64.cpp4
-rw-r--r--src/devices/bus/c64/vw64.h10
-rw-r--r--src/devices/bus/c64/warp_speed.cpp4
-rw-r--r--src/devices/bus/c64/warp_speed.h10
-rw-r--r--src/devices/bus/c64/westermann.cpp4
-rw-r--r--src/devices/bus/c64/westermann.h10
-rw-r--r--src/devices/bus/c64/xl80.cpp4
-rw-r--r--src/devices/bus/c64/xl80.h10
-rw-r--r--src/devices/bus/c64/zaxxon.cpp4
-rw-r--r--src/devices/bus/c64/zaxxon.h10
-rw-r--r--src/devices/bus/cbm2/24k.cpp4
-rw-r--r--src/devices/bus/cbm2/24k.h10
-rw-r--r--src/devices/bus/cbm2/exp.cpp9
-rw-r--r--src/devices/bus/cbm2/exp.h14
-rw-r--r--src/devices/bus/cbm2/hrg.cpp40
-rw-r--r--src/devices/bus/cbm2/hrg.h35
-rw-r--r--src/devices/bus/cbm2/std.cpp4
-rw-r--r--src/devices/bus/cbm2/std.h10
-rw-r--r--src/devices/bus/cbm2/user.cpp4
-rw-r--r--src/devices/bus/cbm2/user.h27
-rw-r--r--src/devices/bus/cbmiec/c1526.cpp50
-rw-r--r--src/devices/bus/cbmiec/c1526.h36
-rw-r--r--src/devices/bus/cbmiec/c1541.cpp236
-rw-r--r--src/devices/bus/cbmiec/c1541.h120
-rw-r--r--src/devices/bus/cbmiec/c1571.cpp264
-rw-r--r--src/devices/bus/cbmiec/c1571.h49
-rw-r--r--src/devices/bus/cbmiec/c1581.cpp87
-rw-r--r--src/devices/bus/cbmiec/c1581.h31
-rw-r--r--src/devices/bus/cbmiec/c64_nl10.cpp6
-rw-r--r--src/devices/bus/cbmiec/c64_nl10.h14
-rw-r--r--src/devices/bus/cbmiec/cbmiec.cpp8
-rw-r--r--src/devices/bus/cbmiec/cbmiec.h37
-rw-r--r--src/devices/bus/cbmiec/cmdhd.cpp4
-rw-r--r--src/devices/bus/cbmiec/cmdhd.h16
-rw-r--r--src/devices/bus/cbmiec/diag264_lb_iec.cpp6
-rw-r--r--src/devices/bus/cbmiec/diag264_lb_iec.h11
-rw-r--r--src/devices/bus/cbmiec/fd2000.cpp29
-rw-r--r--src/devices/bus/cbmiec/fd2000.h28
-rw-r--r--src/devices/bus/cbmiec/interpod.cpp10
-rw-r--r--src/devices/bus/cbmiec/interpod.h16
-rw-r--r--src/devices/bus/cbmiec/serialbox.cpp4
-rw-r--r--src/devices/bus/cbmiec/serialbox.h14
-rw-r--r--src/devices/bus/cbmiec/vic1515.cpp28
-rw-r--r--src/devices/bus/cbmiec/vic1515.h18
-rw-r--r--src/devices/bus/cbmiec/vic1520.cpp26
-rw-r--r--src/devices/bus/cbmiec/vic1520.h16
-rw-r--r--src/devices/bus/centronics/comxpl80.cpp4
-rw-r--r--src/devices/bus/centronics/comxpl80.h10
-rw-r--r--src/devices/bus/centronics/covox.cpp8
-rw-r--r--src/devices/bus/centronics/covox.h10
-rw-r--r--src/devices/bus/centronics/ctronics.cpp4
-rw-r--r--src/devices/bus/centronics/ctronics.h80
-rw-r--r--src/devices/bus/centronics/digiblst.cpp4
-rw-r--r--src/devices/bus/centronics/digiblst.h8
-rw-r--r--src/devices/bus/centronics/dsjoy.cpp4
-rw-r--r--src/devices/bus/centronics/dsjoy.h8
-rw-r--r--src/devices/bus/centronics/epson_ex800.cpp64
-rw-r--r--src/devices/bus/centronics/epson_ex800.h16
-rw-r--r--src/devices/bus/centronics/epson_lx800.cpp80
-rw-r--r--src/devices/bus/centronics/epson_lx800.h19
-rw-r--r--src/devices/bus/centronics/epson_lx810l.cpp147
-rw-r--r--src/devices/bus/centronics/epson_lx810l.h29
-rw-r--r--src/devices/bus/centronics/nec_p72.cpp22
-rw-r--r--src/devices/bus/centronics/nec_p72.h22
-rw-r--r--src/devices/bus/centronics/printer.cpp4
-rw-r--r--src/devices/bus/centronics/printer.h10
-rw-r--r--src/devices/bus/cgenie/expansion/carts.cpp4
-rw-r--r--src/devices/bus/cgenie/expansion/carts.h12
-rw-r--r--src/devices/bus/cgenie/expansion/expansion.cpp30
-rw-r--r--src/devices/bus/cgenie/expansion/expansion.h59
-rw-r--r--src/devices/bus/cgenie/expansion/floppy.cpp14
-rw-r--r--src/devices/bus/cgenie/expansion/floppy.h14
-rw-r--r--src/devices/bus/cgenie/parallel/carts.cpp5
-rw-r--r--src/devices/bus/cgenie/parallel/carts.h13
-rw-r--r--src/devices/bus/cgenie/parallel/joystick.cpp6
-rw-r--r--src/devices/bus/cgenie/parallel/joystick.h12
-rw-r--r--src/devices/bus/cgenie/parallel/parallel.cpp36
-rw-r--r--src/devices/bus/cgenie/parallel/parallel.h43
-rw-r--r--src/devices/bus/cgenie/parallel/printer.cpp6
-rw-r--r--src/devices/bus/cgenie/parallel/printer.h12
-rw-r--r--src/devices/bus/chanf/rom.cpp40
-rw-r--r--src/devices/bus/chanf/rom.h22
-rw-r--r--src/devices/bus/chanf/slot.cpp10
-rw-r--r--src/devices/bus/chanf/slot.h16
-rw-r--r--src/devices/bus/coco/coco_232.cpp8
-rw-r--r--src/devices/bus/coco/coco_232.h28
-rw-r--r--src/devices/bus/coco/coco_dwsock.cpp15
-rw-r--r--src/devices/bus/coco/coco_dwsock.h8
-rw-r--r--src/devices/bus/coco/coco_fdc.cpp34
-rw-r--r--src/devices/bus/coco/coco_fdc.h22
-rw-r--r--src/devices/bus/coco/coco_multi.cpp13
-rw-r--r--src/devices/bus/coco/coco_multi.h12
-rw-r--r--src/devices/bus/coco/coco_orch90.cpp10
-rw-r--r--src/devices/bus/coco/coco_orch90.h12
-rw-r--r--src/devices/bus/coco/coco_pak.cpp20
-rw-r--r--src/devices/bus/coco/coco_pak.h60
-rw-r--r--src/devices/bus/coco/coco_t4426.cpp29
-rw-r--r--src/devices/bus/coco/coco_t4426.h49
-rw-r--r--src/devices/bus/coco/cococart.cpp14
-rw-r--r--src/devices/bus/coco/cococart.h18
-rw-r--r--src/devices/bus/coco/dragon_fdc.cpp25
-rw-r--r--src/devices/bus/coleco/ctrl.cpp7
-rw-r--r--src/devices/bus/coleco/ctrl.h25
-rw-r--r--src/devices/bus/coleco/exp.cpp7
-rw-r--r--src/devices/bus/coleco/exp.h19
-rw-r--r--src/devices/bus/coleco/hand.cpp18
-rw-r--r--src/devices/bus/coleco/hand.h16
-rw-r--r--src/devices/bus/coleco/sac.cpp22
-rw-r--r--src/devices/bus/coleco/sac.h16
-rw-r--r--src/devices/bus/coleco/std.cpp4
-rw-r--r--src/devices/bus/coleco/std.h10
-rw-r--r--src/devices/bus/coleco/xin1.cpp4
-rw-r--r--src/devices/bus/coleco/xin1.h10
-rw-r--r--src/devices/bus/compis/graphics.cpp12
-rw-r--r--src/devices/bus/compis/graphics.h29
-rw-r--r--src/devices/bus/compis/hrg.cpp42
-rw-r--r--src/devices/bus/compis/hrg.h28
-rw-r--r--src/devices/bus/compucolor/floppy.cpp20
-rw-r--r--src/devices/bus/compucolor/floppy.h22
-rw-r--r--src/devices/bus/comx35/clm.cpp4
-rw-r--r--src/devices/bus/comx35/clm.h10
-rw-r--r--src/devices/bus/comx35/eprom.cpp4
-rw-r--r--src/devices/bus/comx35/eprom.h10
-rw-r--r--src/devices/bus/comx35/exp.cpp4
-rw-r--r--src/devices/bus/comx35/exp.h29
-rw-r--r--src/devices/bus/comx35/expbox.cpp4
-rw-r--r--src/devices/bus/comx35/expbox.h10
-rw-r--r--src/devices/bus/comx35/fdc.cpp4
-rw-r--r--src/devices/bus/comx35/fdc.h12
-rw-r--r--src/devices/bus/comx35/joycard.cpp4
-rw-r--r--src/devices/bus/comx35/joycard.h10
-rw-r--r--src/devices/bus/comx35/printer.cpp4
-rw-r--r--src/devices/bus/comx35/printer.h13
-rw-r--r--src/devices/bus/comx35/ram.cpp4
-rw-r--r--src/devices/bus/comx35/ram.h10
-rw-r--r--src/devices/bus/comx35/thermal.cpp4
-rw-r--r--src/devices/bus/comx35/thermal.h10
-rw-r--r--src/devices/bus/cpc/amdrum.cpp4
-rw-r--r--src/devices/bus/cpc/amdrum.h10
-rw-r--r--src/devices/bus/cpc/brunword4.cpp7
-rw-r--r--src/devices/bus/cpc/brunword4.h8
-rw-r--r--src/devices/bus/cpc/cpc_pds.cpp7
-rw-r--r--src/devices/bus/cpc/cpc_pds.h10
-rw-r--r--src/devices/bus/cpc/cpc_rom.cpp44
-rw-r--r--src/devices/bus/cpc/cpc_rom.h29
-rw-r--r--src/devices/bus/cpc/cpc_rs232.cpp19
-rw-r--r--src/devices/bus/cpc/cpc_rs232.h29
-rw-r--r--src/devices/bus/cpc/cpc_ssa1.cpp8
-rw-r--r--src/devices/bus/cpc/cpc_ssa1.h12
-rw-r--r--src/devices/bus/cpc/cpcexp.cpp23
-rw-r--r--src/devices/bus/cpc/cpcexp.h46
-rw-r--r--src/devices/bus/cpc/ddi1.cpp5
-rw-r--r--src/devices/bus/cpc/ddi1.h12
-rw-r--r--src/devices/bus/cpc/doubler.cpp5
-rw-r--r--src/devices/bus/cpc/doubler.h10
-rw-r--r--src/devices/bus/cpc/hd20.cpp5
-rw-r--r--src/devices/bus/cpc/hd20.h10
-rw-r--r--src/devices/bus/cpc/magicsound.cpp6
-rw-r--r--src/devices/bus/cpc/magicsound.h10
-rw-r--r--src/devices/bus/cpc/mface2.cpp8
-rw-r--r--src/devices/bus/cpc/mface2.h10
-rw-r--r--src/devices/bus/cpc/playcity.cpp7
-rw-r--r--src/devices/bus/cpc/playcity.h13
-rw-r--r--src/devices/bus/cpc/smartwatch.cpp5
-rw-r--r--src/devices/bus/cpc/smartwatch.h13
-rw-r--r--src/devices/bus/cpc/symbfac2.cpp10
-rw-r--r--src/devices/bus/cpc/symbfac2.h13
-rw-r--r--src/devices/bus/cpc/transtape.cpp8
-rw-r--r--src/devices/bus/cpc/transtape.h10
-rw-r--r--src/devices/bus/crvision/rom.cpp35
-rw-r--r--src/devices/bus/crvision/rom.h35
-rw-r--r--src/devices/bus/crvision/slot.cpp10
-rw-r--r--src/devices/bus/crvision/slot.h13
-rw-r--r--src/devices/bus/dmv/dmvbus.cpp16
-rw-r--r--src/devices/bus/dmv/dmvbus.h24
-rw-r--r--src/devices/bus/dmv/k210.cpp17
-rw-r--r--src/devices/bus/dmv/k210.h10
-rw-r--r--src/devices/bus/dmv/k220.cpp17
-rw-r--r--src/devices/bus/dmv/k220.h9
-rw-r--r--src/devices/bus/dmv/k230.cpp37
-rw-r--r--src/devices/bus/dmv/k230.h19
-rw-r--r--src/devices/bus/dmv/k233.cpp12
-rw-r--r--src/devices/bus/dmv/k233.h10
-rw-r--r--src/devices/bus/dmv/k801.cpp37
-rw-r--r--src/devices/bus/dmv/k801.h22
-rw-r--r--src/devices/bus/dmv/k803.cpp12
-rw-r--r--src/devices/bus/dmv/k803.h10
-rw-r--r--src/devices/bus/dmv/k806.cpp19
-rw-r--r--src/devices/bus/dmv/k806.h10
-rw-r--r--src/devices/bus/dmv/ram.cpp29
-rw-r--r--src/devices/bus/dmv/ram.h30
-rw-r--r--src/devices/bus/ecbbus/ecbbus.cpp14
-rw-r--r--src/devices/bus/ecbbus/ecbbus.h30
-rw-r--r--src/devices/bus/ecbbus/grip.cpp93
-rw-r--r--src/devices/bus/ecbbus/grip.h12
-rw-r--r--src/devices/bus/econet/e01.cpp198
-rw-r--r--src/devices/bus/econet/e01.h43
-rw-r--r--src/devices/bus/econet/econet.cpp17
-rw-r--r--src/devices/bus/econet/econet.h27
-rw-r--r--src/devices/bus/electron/exp.cpp6
-rw-r--r--src/devices/bus/electron/exp.h20
-rw-r--r--src/devices/bus/electron/fbjoy.cpp8
-rw-r--r--src/devices/bus/electron/fbjoy.h10
-rw-r--r--src/devices/bus/electron/m2105.cpp20
-rw-r--r--src/devices/bus/electron/m2105.h9
-rw-r--r--src/devices/bus/electron/plus3.cpp16
-rw-r--r--src/devices/bus/electron/plus3.h11
-rw-r--r--src/devices/bus/electron/pwrjoy.cpp10
-rw-r--r--src/devices/bus/electron/pwrjoy.h11
-rw-r--r--src/devices/bus/ep64/exdos.cpp6
-rw-r--r--src/devices/bus/ep64/exdos.h13
-rw-r--r--src/devices/bus/ep64/exp.cpp4
-rw-r--r--src/devices/bus/ep64/exp.h20
-rw-r--r--src/devices/bus/epson_sio/epson_sio.cpp11
-rw-r--r--src/devices/bus/epson_sio/epson_sio.h13
-rw-r--r--src/devices/bus/epson_sio/pf10.cpp4
-rw-r--r--src/devices/bus/epson_sio/pf10.h12
-rw-r--r--src/devices/bus/epson_sio/tf20.cpp4
-rw-r--r--src/devices/bus/epson_sio/tf20.h12
-rw-r--r--src/devices/bus/gameboy/gb_slot.cpp51
-rw-r--r--src/devices/bus/gameboy/gb_slot.h27
-rw-r--r--src/devices/bus/gameboy/mbc.cpp124
-rw-r--r--src/devices/bus/gameboy/mbc.h237
-rw-r--r--src/devices/bus/gameboy/rom.cpp44
-rw-r--r--src/devices/bus/gameboy/rom.h95
-rw-r--r--src/devices/bus/gamegear/ggext.cpp11
-rw-r--r--src/devices/bus/gamegear/ggext.h19
-rw-r--r--src/devices/bus/gamegear/smsctrladp.cpp5
-rw-r--r--src/devices/bus/gamegear/smsctrladp.h10
-rw-r--r--src/devices/bus/gba/gba_slot.cpp469
-rw-r--r--src/devices/bus/gba/gba_slot.h476
-rw-r--r--src/devices/bus/gba/rom.cpp99
-rw-r--r--src/devices/bus/gba/rom.h160
-rw-r--r--src/devices/bus/generic/carts.cpp3
-rw-r--r--src/devices/bus/generic/carts.h12
-rw-r--r--src/devices/bus/generic/ram.cpp44
-rw-r--r--src/devices/bus/generic/ram.h48
-rw-r--r--src/devices/bus/generic/rom.cpp21
-rw-r--r--src/devices/bus/generic/rom.h27
-rw-r--r--src/devices/bus/generic/slot.cpp21
-rw-r--r--src/devices/bus/generic/slot.h26
-rw-r--r--src/devices/bus/hp9845_io/98034.cpp87
-rw-r--r--src/devices/bus/hp9845_io/98034.h34
-rw-r--r--src/devices/bus/hp9845_io/98035.cpp82
-rw-r--r--src/devices/bus/hp9845_io/98035.h39
-rw-r--r--src/devices/bus/hp9845_io/hp9845_io.cpp8
-rw-r--r--src/devices/bus/hp9845_io/hp9845_io.h18
-rw-r--r--src/devices/bus/hp_hil/hil_devices.h6
-rw-r--r--src/devices/bus/hp_hil/hlekbd.cpp10
-rw-r--r--src/devices/bus/hp_hil/hlekbd.h11
-rw-r--r--src/devices/bus/hp_hil/hp_hil.cpp8
-rw-r--r--src/devices/bus/hp_hil/hp_hil.h33
-rw-r--r--src/devices/bus/hp_optroms/hp_optrom.cpp13
-rw-r--r--src/devices/bus/hp_optroms/hp_optrom.h76
-rw-r--r--src/devices/bus/ieee488/c2031.cpp29
-rw-r--r--src/devices/bus/ieee488/c2031.h11
-rw-r--r--src/devices/bus/ieee488/c2040.cpp242
-rw-r--r--src/devices/bus/ieee488/c2040.h45
-rw-r--r--src/devices/bus/ieee488/c2040fdc.cpp74
-rw-r--r--src/devices/bus/ieee488/c2040fdc.h30
-rw-r--r--src/devices/bus/ieee488/c8050.cpp307
-rw-r--r--src/devices/bus/ieee488/c8050.h53
-rw-r--r--src/devices/bus/ieee488/c8050fdc.cpp80
-rw-r--r--src/devices/bus/ieee488/c8050fdc.h34
-rw-r--r--src/devices/bus/ieee488/c8280.cpp76
-rw-r--r--src/devices/bus/ieee488/c8280.h24
-rw-r--r--src/devices/bus/ieee488/d9060.cpp132
-rw-r--r--src/devices/bus/ieee488/d9060.h55
-rw-r--r--src/devices/bus/ieee488/hardbox.cpp17
-rw-r--r--src/devices/bus/ieee488/hardbox.h13
-rw-r--r--src/devices/bus/ieee488/hp9895.cpp4
-rw-r--r--src/devices/bus/ieee488/hp9895.h18
-rw-r--r--src/devices/bus/ieee488/ieee488.cpp38
-rw-r--r--src/devices/bus/ieee488/ieee488.h57
-rw-r--r--src/devices/bus/ieee488/shark.cpp8
-rw-r--r--src/devices/bus/ieee488/shark.h12
-rw-r--r--src/devices/bus/ieee488/softbox.cpp19
-rw-r--r--src/devices/bus/ieee488/softbox.h13
-rw-r--r--src/devices/bus/imi7000/imi5000h.cpp4
-rw-r--r--src/devices/bus/imi7000/imi5000h.h11
-rw-r--r--src/devices/bus/imi7000/imi7000.cpp15
-rw-r--r--src/devices/bus/imi7000/imi7000.h18
-rw-r--r--src/devices/bus/intv/ecs.cpp67
-rw-r--r--src/devices/bus/intv/ecs.h76
-rw-r--r--src/devices/bus/intv/rom.cpp23
-rw-r--r--src/devices/bus/intv/rom.h18
-rw-r--r--src/devices/bus/intv/slot.cpp11
-rw-r--r--src/devices/bus/intv/slot.h20
-rw-r--r--src/devices/bus/intv/voice.cpp21
-rw-r--r--src/devices/bus/intv/voice.h26
-rw-r--r--src/devices/bus/intv_ctrl/ctrl.cpp7
-rw-r--r--src/devices/bus/intv_ctrl/ctrl.h12
-rw-r--r--src/devices/bus/intv_ctrl/ecs_ctrl.cpp18
-rw-r--r--src/devices/bus/intv_ctrl/ecs_ctrl.h24
-rw-r--r--src/devices/bus/intv_ctrl/handctrl.cpp16
-rw-r--r--src/devices/bus/intv_ctrl/handctrl.h10
-rw-r--r--src/devices/bus/iq151/disc2.cpp10
-rw-r--r--src/devices/bus/iq151/disc2.h11
-rw-r--r--src/devices/bus/iq151/grafik.cpp10
-rw-r--r--src/devices/bus/iq151/grafik.h9
-rw-r--r--src/devices/bus/iq151/iq151.cpp21
-rw-r--r--src/devices/bus/iq151/iq151.h26
-rw-r--r--src/devices/bus/iq151/minigraf.cpp9
-rw-r--r--src/devices/bus/iq151/minigraf.h10
-rw-r--r--src/devices/bus/iq151/ms151a.cpp9
-rw-r--r--src/devices/bus/iq151/ms151a.h10
-rw-r--r--src/devices/bus/iq151/rom.cpp34
-rw-r--r--src/devices/bus/iq151/rom.h26
-rw-r--r--src/devices/bus/iq151/staper.cpp14
-rw-r--r--src/devices/bus/iq151/staper.h10
-rw-r--r--src/devices/bus/iq151/video32.cpp13
-rw-r--r--src/devices/bus/iq151/video32.h14
-rw-r--r--src/devices/bus/iq151/video64.cpp15
-rw-r--r--src/devices/bus/iq151/video64.h14
-rw-r--r--src/devices/bus/isa/3c503.cpp10
-rw-r--r--src/devices/bus/isa/3c503.h13
-rw-r--r--src/devices/bus/isa/3c505.cpp16
-rw-r--r--src/devices/bus/isa/3c505.h37
-rw-r--r--src/devices/bus/isa/adlib.cpp8
-rw-r--r--src/devices/bus/isa/adlib.h10
-rw-r--r--src/devices/bus/isa/aga.cpp71
-rw-r--r--src/devices/bus/isa/aga.h32
-rw-r--r--src/devices/bus/isa/aha1542.cpp4
-rw-r--r--src/devices/bus/isa/aha1542.h11
-rw-r--r--src/devices/bus/isa/cga.cpp72
-rw-r--r--src/devices/bus/isa/cga.h32
-rw-r--r--src/devices/bus/isa/com.cpp15
-rw-r--r--src/devices/bus/isa/com.h30
-rw-r--r--src/devices/bus/isa/dectalk.cpp4
-rw-r--r--src/devices/bus/isa/dectalk.h10
-rw-r--r--src/devices/bus/isa/ega.cpp18
-rw-r--r--src/devices/bus/isa/ega.h165
-rw-r--r--src/devices/bus/isa/fdc.cpp24
-rw-r--r--src/devices/bus/isa/fdc.h28
-rw-r--r--src/devices/bus/isa/finalchs.cpp9
-rw-r--r--src/devices/bus/isa/finalchs.h42
-rw-r--r--src/devices/bus/isa/gblaster.cpp12
-rw-r--r--src/devices/bus/isa/gblaster.h42
-rw-r--r--src/devices/bus/isa/gus.cpp29
-rw-r--r--src/devices/bus/isa/gus.h82
-rw-r--r--src/devices/bus/isa/hdc.cpp51
-rw-r--r--src/devices/bus/isa/hdc.h69
-rw-r--r--src/devices/bus/isa/ibm_mfc.cpp19
-rw-r--r--src/devices/bus/isa/ibm_mfc.h10
-rw-r--r--src/devices/bus/isa/ide.cpp10
-rw-r--r--src/devices/bus/isa/ide.h10
-rw-r--r--src/devices/bus/isa/isa.cpp110
-rw-r--r--src/devices/bus/isa/isa.h73
-rw-r--r--src/devices/bus/isa/isa_cards.cpp53
-rw-r--r--src/devices/bus/isa/isa_cards.h60
-rw-r--r--src/devices/bus/isa/lpt.cpp4
-rw-r--r--src/devices/bus/isa/lpt.h10
-rw-r--r--src/devices/bus/isa/mach32.cpp40
-rw-r--r--src/devices/bus/isa/mach32.h38
-rw-r--r--src/devices/bus/isa/mc1502_fdc.cpp12
-rw-r--r--src/devices/bus/isa/mc1502_fdc.h15
-rw-r--r--src/devices/bus/isa/mc1502_rom.cpp4
-rw-r--r--src/devices/bus/isa/mc1502_rom.h10
-rw-r--r--src/devices/bus/isa/mcd.cpp6
-rw-r--r--src/devices/bus/isa/mcd.h12
-rw-r--r--src/devices/bus/isa/mda.cpp27
-rw-r--r--src/devices/bus/isa/mda.h18
-rw-r--r--src/devices/bus/isa/mpu401.cpp8
-rw-r--r--src/devices/bus/isa/mpu401.h32
-rw-r--r--src/devices/bus/isa/mufdc.cpp17
-rw-r--r--src/devices/bus/isa/mufdc.h27
-rw-r--r--src/devices/bus/isa/ne1000.cpp10
-rw-r--r--src/devices/bus/isa/ne1000.h10
-rw-r--r--src/devices/bus/isa/ne2000.cpp10
-rw-r--r--src/devices/bus/isa/ne2000.h10
-rw-r--r--src/devices/bus/isa/num9rev.cpp14
-rw-r--r--src/devices/bus/isa/num9rev.h10
-rw-r--r--src/devices/bus/isa/omti8621.cpp32
-rw-r--r--src/devices/bus/isa/omti8621.h23
-rw-r--r--src/devices/bus/isa/p1_fdc.cpp8
-rw-r--r--src/devices/bus/isa/p1_fdc.h14
-rw-r--r--src/devices/bus/isa/p1_hdc.cpp4
-rw-r--r--src/devices/bus/isa/p1_hdc.h12
-rw-r--r--src/devices/bus/isa/p1_rom.cpp4
-rw-r--r--src/devices/bus/isa/p1_rom.h8
-rw-r--r--src/devices/bus/isa/p1_sound.cpp6
-rw-r--r--src/devices/bus/isa/p1_sound.h12
-rw-r--r--src/devices/bus/isa/pc1640_iga.cpp4
-rw-r--r--src/devices/bus/isa/pc1640_iga.h11
-rw-r--r--src/devices/bus/isa/pds.cpp8
-rw-r--r--src/devices/bus/isa/pds.h29
-rw-r--r--src/devices/bus/isa/pgc.cpp15
-rw-r--r--src/devices/bus/isa/pgc.h13
-rw-r--r--src/devices/bus/isa/s3virge.cpp20
-rw-r--r--src/devices/bus/isa/s3virge.h21
-rw-r--r--src/devices/bus/isa/sb16.cpp4
-rw-r--r--src/devices/bus/isa/sb16.h22
-rw-r--r--src/devices/bus/isa/sblaster.cpp36
-rw-r--r--src/devices/bus/isa/sblaster.h375
-rw-r--r--src/devices/bus/isa/sc499.cpp12
-rw-r--r--src/devices/bus/isa/sc499.h13
-rw-r--r--src/devices/bus/isa/side116.cpp4
-rw-r--r--src/devices/bus/isa/side116.h14
-rw-r--r--src/devices/bus/isa/ssi2001.cpp4
-rw-r--r--src/devices/bus/isa/ssi2001.h16
-rw-r--r--src/devices/bus/isa/stereo_fx.cpp4
-rw-r--r--src/devices/bus/isa/stereo_fx.h17
-rw-r--r--src/devices/bus/isa/svga_cirrus.cpp14
-rw-r--r--src/devices/bus/isa/svga_cirrus.h52
-rw-r--r--src/devices/bus/isa/svga_s3.cpp28
-rw-r--r--src/devices/bus/isa/svga_s3.h98
-rw-r--r--src/devices/bus/isa/svga_trident.cpp7
-rw-r--r--src/devices/bus/isa/svga_trident.h28
-rw-r--r--src/devices/bus/isa/svga_tseng.cpp7
-rw-r--r--src/devices/bus/isa/svga_tseng.h30
-rw-r--r--src/devices/bus/isa/trident.cpp12
-rw-r--r--src/devices/bus/isa/trident.h18
-rw-r--r--src/devices/bus/isa/vga.cpp6
-rw-r--r--src/devices/bus/isa/vga.h30
-rw-r--r--src/devices/bus/isa/vga_ati.cpp21
-rw-r--r--src/devices/bus/isa/vga_ati.h76
-rw-r--r--src/devices/bus/isa/wd1002a_wx1.cpp6
-rw-r--r--src/devices/bus/isa/wd1002a_wx1.h10
-rw-r--r--src/devices/bus/isa/wdxt_gen.cpp12
-rw-r--r--src/devices/bus/isa/wdxt_gen.h12
-rw-r--r--src/devices/bus/isa/xsu_cards.cpp22
-rw-r--r--src/devices/bus/isa/xsu_cards.h24
-rw-r--r--src/devices/bus/isa/xtide.cpp4
-rw-r--r--src/devices/bus/isa/xtide.h16
-rw-r--r--src/devices/bus/isbx/compis_fdc.cpp4
-rw-r--r--src/devices/bus/isbx/compis_fdc.h10
-rw-r--r--src/devices/bus/isbx/isbc_218a.cpp4
-rw-r--r--src/devices/bus/isbx/isbc_218a.h10
-rw-r--r--src/devices/bus/isbx/isbx.cpp4
-rw-r--r--src/devices/bus/isbx/isbx.h25
-rw-r--r--src/devices/bus/kc/d002.cpp21
-rw-r--r--src/devices/bus/kc/d002.h15
-rw-r--r--src/devices/bus/kc/d004.cpp35
-rw-r--r--src/devices/bus/kc/d004.h35
-rw-r--r--src/devices/bus/kc/kc.cpp27
-rw-r--r--src/devices/bus/kc/kc.h34
-rw-r--r--src/devices/bus/kc/ram.cpp34
-rw-r--r--src/devices/bus/kc/ram.h25
-rw-r--r--src/devices/bus/kc/rom.cpp27
-rw-r--r--src/devices/bus/kc/rom.h19
-rw-r--r--src/devices/bus/lpci/cirrus.cpp20
-rw-r--r--src/devices/bus/lpci/cirrus.h17
-rw-r--r--src/devices/bus/lpci/i82371ab.cpp6
-rw-r--r--src/devices/bus/lpci/i82371ab.h10
-rw-r--r--src/devices/bus/lpci/i82371sb.cpp6
-rw-r--r--src/devices/bus/lpci/i82371sb.h13
-rw-r--r--src/devices/bus/lpci/i82439tx.cpp10
-rw-r--r--src/devices/bus/lpci/i82439tx.h13
-rw-r--r--src/devices/bus/lpci/mpc105.cpp4
-rw-r--r--src/devices/bus/lpci/mpc105.h10
-rw-r--r--src/devices/bus/lpci/northbridge.cpp4
-rw-r--r--src/devices/bus/lpci/northbridge.h28
-rw-r--r--src/devices/bus/lpci/pci.cpp20
-rw-r--r--src/devices/bus/lpci/pci.h22
-rw-r--r--src/devices/bus/lpci/southbridge.cpp7
-rw-r--r--src/devices/bus/lpci/southbridge.h172
-rw-r--r--src/devices/bus/lpci/vt82c505.cpp6
-rw-r--r--src/devices/bus/lpci/vt82c505.h12
-rw-r--r--src/devices/bus/m5/rom.cpp15
-rw-r--r--src/devices/bus/m5/rom.h25
-rw-r--r--src/devices/bus/m5/slot.cpp10
-rw-r--r--src/devices/bus/m5/slot.h15
-rw-r--r--src/devices/bus/macpds/macpds.cpp25
-rw-r--r--src/devices/bus/macpds/macpds.h34
-rw-r--r--src/devices/bus/macpds/pds_tpdfpd.cpp19
-rw-r--r--src/devices/bus/macpds/pds_tpdfpd.h57
-rw-r--r--src/devices/bus/megadrive/eeprom.cpp70
-rw-r--r--src/devices/bus/megadrive/eeprom.h47
-rw-r--r--src/devices/bus/megadrive/ggenie.cpp11
-rw-r--r--src/devices/bus/megadrive/ggenie.h16
-rw-r--r--src/devices/bus/megadrive/jcart.cpp36
-rw-r--r--src/devices/bus/megadrive/jcart.h31
-rw-r--r--src/devices/bus/megadrive/md_carts.cpp9
-rw-r--r--src/devices/bus/megadrive/md_carts.h16
-rw-r--r--src/devices/bus/megadrive/md_slot.cpp24
-rw-r--r--src/devices/bus/megadrive/md_slot.h23
-rw-r--r--src/devices/bus/megadrive/rom.cpp194
-rw-r--r--src/devices/bus/megadrive/rom.h236
-rw-r--r--src/devices/bus/megadrive/sk.cpp14
-rw-r--r--src/devices/bus/megadrive/sk.h16
-rw-r--r--src/devices/bus/megadrive/stm95.cpp24
-rw-r--r--src/devices/bus/megadrive/stm95.h51
-rw-r--r--src/devices/bus/megadrive/svp.cpp24
-rw-r--r--src/devices/bus/megadrive/svp.h22
-rw-r--r--src/devices/bus/midi/midi.cpp4
-rw-r--r--src/devices/bus/midi/midi.h16
-rw-r--r--src/devices/bus/midi/midiinport.cpp4
-rw-r--r--src/devices/bus/midi/midiinport.h10
-rw-r--r--src/devices/bus/midi/midioutport.cpp4
-rw-r--r--src/devices/bus/midi/midioutport.h10
-rw-r--r--src/devices/bus/msx_cart/arc.cpp22
-rw-r--r--src/devices/bus/msx_cart/arc.h25
-rw-r--r--src/devices/bus/msx_cart/ascii.cpp104
-rw-r--r--src/devices/bus/msx_cart/ascii.h88
-rw-r--r--src/devices/bus/msx_cart/bm_012.cpp18
-rw-r--r--src/devices/bus/msx_cart/bm_012.h19
-rw-r--r--src/devices/bus/msx_cart/cartridge.h20
-rw-r--r--src/devices/bus/msx_cart/crossblaim.cpp22
-rw-r--r--src/devices/bus/msx_cart/crossblaim.h24
-rw-r--r--src/devices/bus/msx_cart/disk.cpp113
-rw-r--r--src/devices/bus/msx_cart/disk.h85
-rw-r--r--src/devices/bus/msx_cart/dooly.cpp18
-rw-r--r--src/devices/bus/msx_cart/dooly.h24
-rw-r--r--src/devices/bus/msx_cart/fmpac.cpp26
-rw-r--r--src/devices/bus/msx_cart/fmpac.h25
-rw-r--r--src/devices/bus/msx_cart/fs_sr022.cpp16
-rw-r--r--src/devices/bus/msx_cart/fs_sr022.h24
-rw-r--r--src/devices/bus/msx_cart/halnote.cpp31
-rw-r--r--src/devices/bus/msx_cart/halnote.h24
-rw-r--r--src/devices/bus/msx_cart/hfox.cpp26
-rw-r--r--src/devices/bus/msx_cart/hfox.h22
-rw-r--r--src/devices/bus/msx_cart/holy_quran.cpp30
-rw-r--r--src/devices/bus/msx_cart/holy_quran.h24
-rw-r--r--src/devices/bus/msx_cart/konami.cpp148
-rw-r--r--src/devices/bus/msx_cart/konami.h105
-rw-r--r--src/devices/bus/msx_cart/korean.cpp85
-rw-r--r--src/devices/bus/msx_cart/korean.h68
-rw-r--r--src/devices/bus/msx_cart/majutsushi.cpp22
-rw-r--r--src/devices/bus/msx_cart/majutsushi.h23
-rw-r--r--src/devices/bus/msx_cart/moonsound.cpp50
-rw-r--r--src/devices/bus/msx_cart/moonsound.h21
-rw-r--r--src/devices/bus/msx_cart/msx_audio.cpp76
-rw-r--r--src/devices/bus/msx_cart/msx_audio.h47
-rw-r--r--src/devices/bus/msx_cart/msx_audio_kb.cpp37
-rw-r--r--src/devices/bus/msx_cart/msx_audio_kb.h27
-rw-r--r--src/devices/bus/msx_cart/msxdos2.cpp20
-rw-r--r--src/devices/bus/msx_cart/msxdos2.h24
-rw-r--r--src/devices/bus/msx_cart/nomapper.cpp12
-rw-r--r--src/devices/bus/msx_cart/nomapper.h15
-rw-r--r--src/devices/bus/msx_cart/rtype.cpp20
-rw-r--r--src/devices/bus/msx_cart/rtype.h24
-rw-r--r--src/devices/bus/msx_cart/super_swangi.cpp22
-rw-r--r--src/devices/bus/msx_cart/super_swangi.h24
-rw-r--r--src/devices/bus/msx_cart/superloderunner.cpp20
-rw-r--r--src/devices/bus/msx_cart/superloderunner.h22
-rw-r--r--src/devices/bus/msx_cart/yamaha.cpp44
-rw-r--r--src/devices/bus/msx_cart/yamaha.h31
-rw-r--r--src/devices/bus/msx_slot/bunsetsu.cpp4
-rw-r--r--src/devices/bus/msx_slot/bunsetsu.h16
-rw-r--r--src/devices/bus/msx_slot/cartridge.cpp17
-rw-r--r--src/devices/bus/msx_slot/cartridge.h28
-rw-r--r--src/devices/bus/msx_slot/disk.cpp38
-rw-r--r--src/devices/bus/msx_slot/disk.h68
-rw-r--r--src/devices/bus/msx_slot/fs4600.cpp11
-rw-r--r--src/devices/bus/msx_slot/fs4600.h17
-rw-r--r--src/devices/bus/msx_slot/music.cpp4
-rw-r--r--src/devices/bus/msx_slot/music.h15
-rw-r--r--src/devices/bus/msx_slot/panasonic08.cpp4
-rw-r--r--src/devices/bus/msx_slot/panasonic08.h22
-rw-r--r--src/devices/bus/msx_slot/ram.cpp4
-rw-r--r--src/devices/bus/msx_slot/ram.h13
-rw-r--r--src/devices/bus/msx_slot/ram_mm.cpp4
-rw-r--r--src/devices/bus/msx_slot/ram_mm.h16
-rw-r--r--src/devices/bus/msx_slot/rom.cpp8
-rw-r--r--src/devices/bus/msx_slot/rom.h16
-rw-r--r--src/devices/bus/msx_slot/slot.h8
-rw-r--r--src/devices/bus/msx_slot/sony08.cpp4
-rw-r--r--src/devices/bus/msx_slot/sony08.h12
-rw-r--r--src/devices/bus/nasbus/avc.cpp14
-rw-r--r--src/devices/bus/nasbus/avc.h10
-rw-r--r--src/devices/bus/nasbus/cards.cpp4
-rw-r--r--src/devices/bus/nasbus/cards.h11
-rw-r--r--src/devices/bus/nasbus/floppy.cpp10
-rw-r--r--src/devices/bus/nasbus/floppy.h12
-rw-r--r--src/devices/bus/nasbus/nasbus.cpp19
-rw-r--r--src/devices/bus/nasbus/nasbus.h45
-rw-r--r--src/devices/bus/neogeo/boot_cthd.cpp62
-rw-r--r--src/devices/bus/neogeo/boot_cthd.h60
-rw-r--r--src/devices/bus/neogeo/boot_kof10th.cpp31
-rw-r--r--src/devices/bus/neogeo/boot_kof10th.h28
-rw-r--r--src/devices/bus/neogeo/boot_kof2k2.cpp39
-rw-r--r--src/devices/bus/neogeo/boot_kof2k2.h32
-rw-r--r--src/devices/bus/neogeo/boot_kof2k3.cpp39
-rw-r--r--src/devices/bus/neogeo/boot_kof2k3.h32
-rw-r--r--src/devices/bus/neogeo/boot_misc.cpp143
-rw-r--r--src/devices/bus/neogeo/boot_misc.h108
-rw-r--r--src/devices/bus/neogeo/boot_svc.cpp49
-rw-r--r--src/devices/bus/neogeo/boot_svc.h38
-rw-r--r--src/devices/bus/neogeo/carts.h9
-rw-r--r--src/devices/bus/neogeo/cmc.cpp163
-rw-r--r--src/devices/bus/neogeo/cmc.h148
-rw-r--r--src/devices/bus/neogeo/fatfury2.cpp17
-rw-r--r--src/devices/bus/neogeo/fatfury2.h25
-rw-r--r--src/devices/bus/neogeo/kof2k2.cpp85
-rw-r--r--src/devices/bus/neogeo/kof2k2.h72
-rw-r--r--src/devices/bus/neogeo/kof98.cpp19
-rw-r--r--src/devices/bus/neogeo/kof98.h28
-rw-r--r--src/devices/bus/neogeo/mslugx.cpp17
-rw-r--r--src/devices/bus/neogeo/mslugx.h25
-rw-r--r--src/devices/bus/neogeo/pcm2.cpp70
-rw-r--r--src/devices/bus/neogeo/pcm2.h63
-rw-r--r--src/devices/bus/neogeo/prot_cmc.cpp4
-rw-r--r--src/devices/bus/neogeo/prot_cmc.h10
-rw-r--r--src/devices/bus/neogeo/prot_cthd.cpp7
-rw-r--r--src/devices/bus/neogeo/prot_cthd.h12
-rw-r--r--src/devices/bus/neogeo/prot_fatfury2.cpp4
-rw-r--r--src/devices/bus/neogeo/prot_fatfury2.h16
-rw-r--r--src/devices/bus/neogeo/prot_kof2k2.cpp4
-rw-r--r--src/devices/bus/neogeo/prot_kof2k2.h14
-rw-r--r--src/devices/bus/neogeo/prot_kof2k3bl.cpp7
-rw-r--r--src/devices/bus/neogeo/prot_kof2k3bl.h12
-rw-r--r--src/devices/bus/neogeo/prot_kof98.cpp7
-rw-r--r--src/devices/bus/neogeo/prot_kof98.h12
-rw-r--r--src/devices/bus/neogeo/prot_misc.cpp7
-rw-r--r--src/devices/bus/neogeo/prot_misc.h10
-rw-r--r--src/devices/bus/neogeo/prot_mslugx.cpp7
-rw-r--r--src/devices/bus/neogeo/prot_mslugx.h10
-rw-r--r--src/devices/bus/neogeo/prot_pcm2.cpp4
-rw-r--r--src/devices/bus/neogeo/prot_pcm2.h12
-rw-r--r--src/devices/bus/neogeo/prot_pvc.cpp7
-rw-r--r--src/devices/bus/neogeo/prot_pvc.h12
-rw-r--r--src/devices/bus/neogeo/prot_sma.cpp7
-rw-r--r--src/devices/bus/neogeo/prot_sma.h12
-rw-r--r--src/devices/bus/neogeo/pvc.cpp70
-rw-r--r--src/devices/bus/neogeo/pvc.h63
-rw-r--r--src/devices/bus/neogeo/rom.cpp30
-rw-r--r--src/devices/bus/neogeo/rom.h34
-rw-r--r--src/devices/bus/neogeo/sbp.cpp21
-rw-r--r--src/devices/bus/neogeo/sbp.h23
-rw-r--r--src/devices/bus/neogeo/slot.cpp10
-rw-r--r--src/devices/bus/neogeo/slot.h38
-rw-r--r--src/devices/bus/neogeo/sma.cpp90
-rw-r--r--src/devices/bus/neogeo/sma.h69
-rw-r--r--src/devices/bus/neogeo_ctrl/ctrl.cpp15
-rw-r--r--src/devices/bus/neogeo_ctrl/ctrl.h29
-rw-r--r--src/devices/bus/neogeo_ctrl/dial.cpp14
-rw-r--r--src/devices/bus/neogeo_ctrl/dial.h16
-rw-r--r--src/devices/bus/neogeo_ctrl/irrmaze.cpp14
-rw-r--r--src/devices/bus/neogeo_ctrl/irrmaze.h18
-rw-r--r--src/devices/bus/neogeo_ctrl/joystick.cpp20
-rw-r--r--src/devices/bus/neogeo_ctrl/joystick.h18
-rw-r--r--src/devices/bus/neogeo_ctrl/kizuna4p.cpp18
-rw-r--r--src/devices/bus/neogeo_ctrl/kizuna4p.h11
-rw-r--r--src/devices/bus/neogeo_ctrl/mahjong.cpp16
-rw-r--r--src/devices/bus/neogeo_ctrl/mahjong.h18
-rw-r--r--src/devices/bus/nes/2a03pur.cpp4
-rw-r--r--src/devices/bus/nes/2a03pur.h14
-rw-r--r--src/devices/bus/nes/act53.cpp8
-rw-r--r--src/devices/bus/nes/act53.h20
-rw-r--r--src/devices/bus/nes/aladdin.cpp47
-rw-r--r--src/devices/bus/nes/aladdin.h31
-rw-r--r--src/devices/bus/nes/ave.cpp14
-rw-r--r--src/devices/bus/nes/ave.h35
-rw-r--r--src/devices/bus/nes/bandai.cpp50
-rw-r--r--src/devices/bus/nes/bandai.h60
-rw-r--r--src/devices/bus/nes/benshieng.cpp8
-rw-r--r--src/devices/bus/nes/benshieng.h14
-rw-r--r--src/devices/bus/nes/bootleg.cpp118
-rw-r--r--src/devices/bus/nes/bootleg.h201
-rw-r--r--src/devices/bus/nes/camerica.cpp16
-rw-r--r--src/devices/bus/nes/camerica.h35
-rw-r--r--src/devices/bus/nes/cne.cpp12
-rw-r--r--src/devices/bus/nes/cne.h35
-rw-r--r--src/devices/bus/nes/cony.cpp34
-rw-r--r--src/devices/bus/nes/cony.h34
-rw-r--r--src/devices/bus/nes/datach.cpp49
-rw-r--r--src/devices/bus/nes/datach.h31
-rw-r--r--src/devices/bus/nes/discrete.cpp16
-rw-r--r--src/devices/bus/nes/discrete.h41
-rw-r--r--src/devices/bus/nes/disksys.cpp17
-rw-r--r--src/devices/bus/nes/disksys.h24
-rw-r--r--src/devices/bus/nes/event.cpp18
-rw-r--r--src/devices/bus/nes/event.h27
-rw-r--r--src/devices/bus/nes/ggenie.cpp10
-rw-r--r--src/devices/bus/nes/ggenie.h16
-rw-r--r--src/devices/bus/nes/henggedianzi.cpp14
-rw-r--r--src/devices/bus/nes/henggedianzi.h36
-rw-r--r--src/devices/bus/nes/hes.cpp4
-rw-r--r--src/devices/bus/nes/hes.h16
-rw-r--r--src/devices/bus/nes/hosenkan.cpp20
-rw-r--r--src/devices/bus/nes/hosenkan.h20
-rw-r--r--src/devices/bus/nes/irem.cpp24
-rw-r--r--src/devices/bus/nes/irem.h50
-rw-r--r--src/devices/bus/nes/jaleco.cpp86
-rw-r--r--src/devices/bus/nes/jaleco.h98
-rw-r--r--src/devices/bus/nes/jy.cpp28
-rw-r--r--src/devices/bus/nes/jy.h30
-rw-r--r--src/devices/bus/nes/kaiser.cpp52
-rw-r--r--src/devices/bus/nes/kaiser.h92
-rw-r--r--src/devices/bus/nes/karastudio.cpp32
-rw-r--r--src/devices/bus/nes/karastudio.h33
-rw-r--r--src/devices/bus/nes/konami.cpp38
-rw-r--r--src/devices/bus/nes/konami.h71
-rw-r--r--src/devices/bus/nes/legacy.cpp20
-rw-r--r--src/devices/bus/nes/legacy.h35
-rw-r--r--src/devices/bus/nes/mmc1.cpp24
-rw-r--r--src/devices/bus/nes/mmc1.h30
-rw-r--r--src/devices/bus/nes/mmc2.cpp19
-rw-r--r--src/devices/bus/nes/mmc2.h23
-rw-r--r--src/devices/bus/nes/mmc3.cpp41
-rw-r--r--src/devices/bus/nes/mmc3.h37
-rw-r--r--src/devices/bus/nes/mmc3_clones.cpp176
-rw-r--r--src/devices/bus/nes/mmc3_clones.h216
-rw-r--r--src/devices/bus/nes/mmc5.cpp16
-rw-r--r--src/devices/bus/nes/mmc5.h16
-rw-r--r--src/devices/bus/nes/multigame.cpp222
-rw-r--r--src/devices/bus/nes/multigame.h386
-rw-r--r--src/devices/bus/nes/namcot.cpp48
-rw-r--r--src/devices/bus/nes/namcot.h63
-rw-r--r--src/devices/bus/nes/nanjing.cpp12
-rw-r--r--src/devices/bus/nes/nanjing.h19
-rw-r--r--src/devices/bus/nes/nes_carts.cpp55
-rw-r--r--src/devices/bus/nes/nes_carts.h63
-rw-r--r--src/devices/bus/nes/nes_slot.cpp68
-rw-r--r--src/devices/bus/nes/nes_slot.h15
-rw-r--r--src/devices/bus/nes/ntdec.cpp12
-rw-r--r--src/devices/bus/nes/ntdec.h27
-rw-r--r--src/devices/bus/nes/nxrom.cpp62
-rw-r--r--src/devices/bus/nes/nxrom.h96
-rw-r--r--src/devices/bus/nes/pirate.cpp84
-rw-r--r--src/devices/bus/nes/pirate.h146
-rw-r--r--src/devices/bus/nes/pt554.cpp6
-rw-r--r--src/devices/bus/nes/pt554.h12
-rw-r--r--src/devices/bus/nes/racermate.cpp8
-rw-r--r--src/devices/bus/nes/racermate.h11
-rw-r--r--src/devices/bus/nes/rcm.cpp22
-rw-r--r--src/devices/bus/nes/rcm.h50
-rw-r--r--src/devices/bus/nes/rexsoft.cpp14
-rw-r--r--src/devices/bus/nes/rexsoft.h25
-rw-r--r--src/devices/bus/nes/sachen.cpp70
-rw-r--r--src/devices/bus/nes/sachen.h105
-rw-r--r--src/devices/bus/nes/somari.cpp16
-rw-r--r--src/devices/bus/nes/somari.h18
-rw-r--r--src/devices/bus/nes/subor.cpp20
-rw-r--r--src/devices/bus/nes/subor.h28
-rw-r--r--src/devices/bus/nes/sunsoft.cpp44
-rw-r--r--src/devices/bus/nes/sunsoft.h64
-rw-r--r--src/devices/bus/nes/sunsoft_dcs.cpp29
-rw-r--r--src/devices/bus/nes/sunsoft_dcs.h33
-rw-r--r--src/devices/bus/nes/taito.cpp30
-rw-r--r--src/devices/bus/nes/taito.h45
-rw-r--r--src/devices/bus/nes/tengen.cpp22
-rw-r--r--src/devices/bus/nes/tengen.h34
-rw-r--r--src/devices/bus/nes/txc.cpp24
-rw-r--r--src/devices/bus/nes/txc.h40
-rw-r--r--src/devices/bus/nes/waixing.cpp102
-rw-r--r--src/devices/bus/nes/waixing.h123
-rw-r--r--src/devices/bus/nes/zemina.cpp4
-rw-r--r--src/devices/bus/nes/zemina.h4
-rw-r--r--src/devices/bus/nes_ctrl/4score.cpp29
-rw-r--r--src/devices/bus/nes_ctrl/4score.h20
-rw-r--r--src/devices/bus/nes_ctrl/arkpaddle.cpp28
-rw-r--r--src/devices/bus/nes_ctrl/arkpaddle.h21
-rw-r--r--src/devices/bus/nes_ctrl/bcbattle.cpp11
-rw-r--r--src/devices/bus/nes_ctrl/bcbattle.h17
-rw-r--r--src/devices/bus/nes_ctrl/ctrl.cpp9
-rw-r--r--src/devices/bus/nes_ctrl/ctrl.h21
-rw-r--r--src/devices/bus/nes_ctrl/fckeybrd.cpp4
-rw-r--r--src/devices/bus/nes_ctrl/fckeybrd.h12
-rw-r--r--src/devices/bus/nes_ctrl/ftrainer.cpp4
-rw-r--r--src/devices/bus/nes_ctrl/ftrainer.h12
-rw-r--r--src/devices/bus/nes_ctrl/hori.cpp26
-rw-r--r--src/devices/bus/nes_ctrl/hori.h18
-rw-r--r--src/devices/bus/nes_ctrl/joypad.cpp34
-rw-r--r--src/devices/bus/nes_ctrl/joypad.h23
-rw-r--r--src/devices/bus/nes_ctrl/konamihs.cpp12
-rw-r--r--src/devices/bus/nes_ctrl/konamihs.h12
-rw-r--r--src/devices/bus/nes_ctrl/miracle.cpp14
-rw-r--r--src/devices/bus/nes_ctrl/miracle.h34
-rw-r--r--src/devices/bus/nes_ctrl/mjpanel.cpp4
-rw-r--r--src/devices/bus/nes_ctrl/mjpanel.h12
-rw-r--r--src/devices/bus/nes_ctrl/pachinko.cpp11
-rw-r--r--src/devices/bus/nes_ctrl/pachinko.h12
-rw-r--r--src/devices/bus/nes_ctrl/partytap.cpp10
-rw-r--r--src/devices/bus/nes_ctrl/partytap.h12
-rw-r--r--src/devices/bus/nes_ctrl/powerpad.cpp10
-rw-r--r--src/devices/bus/nes_ctrl/powerpad.h10
-rw-r--r--src/devices/bus/nes_ctrl/suborkey.cpp4
-rw-r--r--src/devices/bus/nes_ctrl/suborkey.h13
-rw-r--r--src/devices/bus/nes_ctrl/zapper.cpp12
-rw-r--r--src/devices/bus/nes_ctrl/zapper.h11
-rw-r--r--src/devices/bus/newbrain/eim.cpp74
-rw-r--r--src/devices/bus/newbrain/eim.h20
-rw-r--r--src/devices/bus/newbrain/exp.cpp22
-rw-r--r--src/devices/bus/newbrain/exp.h34
-rw-r--r--src/devices/bus/newbrain/fdc.cpp40
-rw-r--r--src/devices/bus/newbrain/fdc.h21
-rw-r--r--src/devices/bus/nubus/nubus.cpp43
-rw-r--r--src/devices/bus/nubus/nubus.h50
-rw-r--r--src/devices/bus/nubus/nubus_48gc.cpp22
-rw-r--r--src/devices/bus/nubus/nubus_48gc.h58
-rw-r--r--src/devices/bus/nubus/nubus_asntmc3b.cpp16
-rw-r--r--src/devices/bus/nubus/nubus_asntmc3b.h50
-rw-r--r--src/devices/bus/nubus/nubus_cb264.cpp12
-rw-r--r--src/devices/bus/nubus/nubus_cb264.h46
-rw-r--r--src/devices/bus/nubus/nubus_image.cpp52
-rw-r--r--src/devices/bus/nubus/nubus_image.h59
-rw-r--r--src/devices/bus/nubus/nubus_m2hires.cpp19
-rw-r--r--src/devices/bus/nubus/nubus_m2hires.h60
-rw-r--r--src/devices/bus/nubus/nubus_m2video.cpp19
-rw-r--r--src/devices/bus/nubus/nubus_m2video.h59
-rw-r--r--src/devices/bus/nubus/nubus_radiustpd.cpp19
-rw-r--r--src/devices/bus/nubus/nubus_radiustpd.h59
-rw-r--r--src/devices/bus/nubus/nubus_spec8.cpp20
-rw-r--r--src/devices/bus/nubus/nubus_spec8.h67
-rw-r--r--src/devices/bus/nubus/nubus_specpdq.cpp23
-rw-r--r--src/devices/bus/nubus/nubus_specpdq.h65
-rw-r--r--src/devices/bus/nubus/nubus_vikbw.cpp12
-rw-r--r--src/devices/bus/nubus/nubus_vikbw.h46
-rw-r--r--src/devices/bus/nubus/nubus_wsportrait.cpp19
-rw-r--r--src/devices/bus/nubus/nubus_wsportrait.h59
-rw-r--r--src/devices/bus/nubus/pds30_30hr.cpp19
-rw-r--r--src/devices/bus/nubus/pds30_30hr.h59
-rw-r--r--src/devices/bus/nubus/pds30_cb264.cpp19
-rw-r--r--src/devices/bus/nubus/pds30_cb264.h59
-rw-r--r--src/devices/bus/nubus/pds30_mc30.cpp19
-rw-r--r--src/devices/bus/nubus/pds30_mc30.h59
-rw-r--r--src/devices/bus/nubus/pds30_procolor816.cpp19
-rw-r--r--src/devices/bus/nubus/pds30_procolor816.h59
-rw-r--r--src/devices/bus/nubus/pds30_sigmalview.cpp19
-rw-r--r--src/devices/bus/nubus/pds30_sigmalview.h61
-rw-r--r--src/devices/bus/odyssey2/chess.cpp6
-rw-r--r--src/devices/bus/odyssey2/chess.h19
-rw-r--r--src/devices/bus/odyssey2/rom.cpp24
-rw-r--r--src/devices/bus/odyssey2/rom.h27
-rw-r--r--src/devices/bus/odyssey2/slot.cpp18
-rw-r--r--src/devices/bus/odyssey2/slot.h23
-rw-r--r--src/devices/bus/odyssey2/voice.cpp10
-rw-r--r--src/devices/bus/odyssey2/voice.h20
-rw-r--r--src/devices/bus/oricext/jasmin.cpp6
-rw-r--r--src/devices/bus/oricext/jasmin.h22
-rw-r--r--src/devices/bus/oricext/microdisc.cpp6
-rw-r--r--src/devices/bus/oricext/microdisc.h10
-rw-r--r--src/devices/bus/oricext/oricext.cpp8
-rw-r--r--src/devices/bus/oricext/oricext.h29
-rw-r--r--src/devices/bus/pc1512/mouse.cpp30
-rw-r--r--src/devices/bus/pc1512/mouse.h49
-rw-r--r--src/devices/bus/pc_joy/pc_joy.cpp8
-rw-r--r--src/devices/bus/pc_joy/pc_joy.h23
-rw-r--r--src/devices/bus/pc_joy/pc_joy_sw.cpp4
-rw-r--r--src/devices/bus/pc_joy/pc_joy_sw.h10
-rw-r--r--src/devices/bus/pc_kbd/ec1841.cpp4
-rw-r--r--src/devices/bus/pc_kbd/ec1841.h15
-rw-r--r--src/devices/bus/pc_kbd/iskr1030.cpp4
-rw-r--r--src/devices/bus/pc_kbd/iskr1030.h15
-rw-r--r--src/devices/bus/pc_kbd/keyboards.h8
-rw-r--r--src/devices/bus/pc_kbd/keytro.cpp15
-rw-r--r--src/devices/bus/pc_kbd/keytro.h11
-rw-r--r--src/devices/bus/pc_kbd/msnat.cpp87
-rw-r--r--src/devices/bus/pc_kbd/msnat.h32
-rw-r--r--src/devices/bus/pc_kbd/pc83.cpp4
-rw-r--r--src/devices/bus/pc_kbd/pc83.h11
-rw-r--r--src/devices/bus/pc_kbd/pc_kbdc.cpp30
-rw-r--r--src/devices/bus/pc_kbd/pc_kbdc.h23
-rw-r--r--src/devices/bus/pc_kbd/pcat84.cpp16
-rw-r--r--src/devices/bus/pc_kbd/pcat84.h17
-rw-r--r--src/devices/bus/pc_kbd/pcxt83.cpp4
-rw-r--r--src/devices/bus/pc_kbd/pcxt83.h16
-rw-r--r--src/devices/bus/pce/pce_rom.cpp25
-rw-r--r--src/devices/bus/pce/pce_rom.h40
-rw-r--r--src/devices/bus/pce/pce_slot.cpp12
-rw-r--r--src/devices/bus/pce/pce_slot.h22
-rw-r--r--src/devices/bus/pet/2joysnd.cpp4
-rw-r--r--src/devices/bus/pet/2joysnd.h20
-rw-r--r--src/devices/bus/pet/64k.cpp4
-rw-r--r--src/devices/bus/pet/64k.h14
-rw-r--r--src/devices/bus/pet/c2n.cpp31
-rw-r--r--src/devices/bus/pet/c2n.h19
-rw-r--r--src/devices/bus/pet/cass.cpp8
-rw-r--r--src/devices/bus/pet/cass.h32
-rw-r--r--src/devices/bus/pet/cb2snd.cpp4
-rw-r--r--src/devices/bus/pet/cb2snd.h14
-rw-r--r--src/devices/bus/pet/diag.cpp8
-rw-r--r--src/devices/bus/pet/diag.h18
-rw-r--r--src/devices/bus/pet/diag264_lb_tape.cpp13
-rw-r--r--src/devices/bus/pet/diag264_lb_tape.h11
-rw-r--r--src/devices/bus/pet/exp.cpp4
-rw-r--r--src/devices/bus/pet/exp.h15
-rw-r--r--src/devices/bus/pet/hsg.cpp42
-rw-r--r--src/devices/bus/pet/hsg.h37
-rw-r--r--src/devices/bus/pet/petuja.cpp4
-rw-r--r--src/devices/bus/pet/petuja.h10
-rw-r--r--src/devices/bus/pet/superpet.cpp4
-rw-r--r--src/devices/bus/pet/superpet.h10
-rw-r--r--src/devices/bus/pet/user.cpp4
-rw-r--r--src/devices/bus/pet/user.h51
-rw-r--r--src/devices/bus/plus4/c1551.cpp107
-rw-r--r--src/devices/bus/plus4/c1551.h18
-rw-r--r--src/devices/bus/plus4/diag264_lb_user.cpp6
-rw-r--r--src/devices/bus/plus4/diag264_lb_user.h13
-rw-r--r--src/devices/bus/plus4/exp.cpp36
-rw-r--r--src/devices/bus/plus4/exp.h27
-rw-r--r--src/devices/bus/plus4/sid.cpp4
-rw-r--r--src/devices/bus/plus4/sid.h10
-rw-r--r--src/devices/bus/plus4/std.cpp4
-rw-r--r--src/devices/bus/plus4/std.h13
-rw-r--r--src/devices/bus/plus4/user.h8
-rw-r--r--src/devices/bus/pofo/ccm.cpp16
-rw-r--r--src/devices/bus/pofo/ccm.h33
-rw-r--r--src/devices/bus/pofo/exp.cpp22
-rw-r--r--src/devices/bus/pofo/exp.h48
-rw-r--r--src/devices/bus/pofo/hpc101.cpp18
-rw-r--r--src/devices/bus/pofo/hpc101.h19
-rw-r--r--src/devices/bus/pofo/hpc102.cpp20
-rw-r--r--src/devices/bus/pofo/hpc102.h23
-rw-r--r--src/devices/bus/pofo/hpc104.cpp48
-rw-r--r--src/devices/bus/pofo/hpc104.h33
-rw-r--r--src/devices/bus/pofo/ram.cpp14
-rw-r--r--src/devices/bus/pofo/ram.h18
-rw-r--r--src/devices/bus/pofo/rom.cpp12
-rw-r--r--src/devices/bus/pofo/rom.h18
-rw-r--r--src/devices/bus/psx/analogue.cpp44
-rw-r--r--src/devices/bus/psx/analogue.h23
-rw-r--r--src/devices/bus/psx/ctlrport.cpp35
-rw-r--r--src/devices/bus/psx/ctlrport.h22
-rw-r--r--src/devices/bus/psx/memcard.cpp8
-rw-r--r--src/devices/bus/psx/memcard.h42
-rw-r--r--src/devices/bus/psx/multitap.cpp4
-rw-r--r--src/devices/bus/psx/multitap.h7
-rw-r--r--src/devices/bus/ql/cst_q_plus4.cpp26
-rw-r--r--src/devices/bus/ql/cst_q_plus4.h28
-rw-r--r--src/devices/bus/ql/cst_qdisc.cpp16
-rw-r--r--src/devices/bus/ql/cst_qdisc.h17
-rw-r--r--src/devices/bus/ql/cumana_fdi.cpp16
-rw-r--r--src/devices/bus/ql/cumana_fdi.h18
-rw-r--r--src/devices/bus/ql/exp.cpp12
-rw-r--r--src/devices/bus/ql/exp.h41
-rw-r--r--src/devices/bus/ql/kempston_di.cpp16
-rw-r--r--src/devices/bus/ql/kempston_di.h19
-rw-r--r--src/devices/bus/ql/miracle_gold_card.cpp16
-rw-r--r--src/devices/bus/ql/miracle_gold_card.h19
-rw-r--r--src/devices/bus/ql/miracle_hd.cpp16
-rw-r--r--src/devices/bus/ql/miracle_hd.h19
-rw-r--r--src/devices/bus/ql/mp_fdi.cpp16
-rw-r--r--src/devices/bus/ql/mp_fdi.h21
-rw-r--r--src/devices/bus/ql/opd_basic_master.cpp16
-rw-r--r--src/devices/bus/ql/opd_basic_master.h20
-rw-r--r--src/devices/bus/ql/pcml_qdisk.cpp16
-rw-r--r--src/devices/bus/ql/pcml_qdisk.h20
-rw-r--r--src/devices/bus/ql/qubide.cpp22
-rw-r--r--src/devices/bus/ql/qubide.h19
-rw-r--r--src/devices/bus/ql/rom.cpp16
-rw-r--r--src/devices/bus/ql/rom.h27
-rw-r--r--src/devices/bus/ql/sandy_superdisk.cpp32
-rw-r--r--src/devices/bus/ql/sandy_superdisk.h17
-rw-r--r--src/devices/bus/ql/sandy_superqboard.cpp85
-rw-r--r--src/devices/bus/ql/sandy_superqboard.h48
-rw-r--r--src/devices/bus/ql/std.cpp12
-rw-r--r--src/devices/bus/ql/std.h18
-rw-r--r--src/devices/bus/ql/trumpcard.cpp64
-rw-r--r--src/devices/bus/ql/trumpcard.h49
-rw-r--r--src/devices/bus/rs232/ie15.cpp5
-rw-r--r--src/devices/bus/rs232/ie15.h4
-rw-r--r--src/devices/bus/rs232/keyboard.cpp8
-rw-r--r--src/devices/bus/rs232/keyboard.h7
-rw-r--r--src/devices/bus/rs232/loopback.cpp6
-rw-r--r--src/devices/bus/rs232/loopback.h8
-rw-r--r--src/devices/bus/rs232/null_modem.cpp4
-rw-r--r--src/devices/bus/rs232/null_modem.h12
-rw-r--r--src/devices/bus/rs232/printer.cpp4
-rw-r--r--src/devices/bus/rs232/printer.h8
-rw-r--r--src/devices/bus/rs232/pty.cpp156
-rw-r--r--src/devices/bus/rs232/pty.h61
-rw-r--r--src/devices/bus/rs232/rs232.cpp20
-rw-r--r--src/devices/bus/rs232/rs232.h36
-rw-r--r--src/devices/bus/rs232/ser_mouse.cpp12
-rw-r--r--src/devices/bus/rs232/ser_mouse.h20
-rw-r--r--src/devices/bus/rs232/sun_kbd.cpp4
-rw-r--r--src/devices/bus/rs232/sun_kbd.h8
-rw-r--r--src/devices/bus/rs232/terminal.cpp4
-rw-r--r--src/devices/bus/rs232/terminal.h2
-rw-r--r--src/devices/bus/rs232/xvd701.cpp4
-rw-r--r--src/devices/bus/rs232/xvd701.h10
-rw-r--r--src/devices/bus/s100/dj2db.cpp4
-rw-r--r--src/devices/bus/s100/dj2db.h13
-rw-r--r--src/devices/bus/s100/djdma.cpp4
-rw-r--r--src/devices/bus/s100/djdma.h11
-rw-r--r--src/devices/bus/s100/mm65k16s.cpp4
-rw-r--r--src/devices/bus/s100/mm65k16s.h11
-rw-r--r--src/devices/bus/s100/nsmdsa.cpp4
-rw-r--r--src/devices/bus/s100/nsmdsa.h12
-rw-r--r--src/devices/bus/s100/nsmdsad.cpp4
-rw-r--r--src/devices/bus/s100/nsmdsad.h12
-rw-r--r--src/devices/bus/s100/s100.cpp41
-rw-r--r--src/devices/bus/s100/s100.h150
-rw-r--r--src/devices/bus/s100/wunderbus.cpp4
-rw-r--r--src/devices/bus/s100/wunderbus.h11
-rw-r--r--src/devices/bus/sat_ctrl/analog.cpp14
-rw-r--r--src/devices/bus/sat_ctrl/analog.h11
-rw-r--r--src/devices/bus/sat_ctrl/ctrl.cpp7
-rw-r--r--src/devices/bus/sat_ctrl/ctrl.h21
-rw-r--r--src/devices/bus/sat_ctrl/joy.cpp8
-rw-r--r--src/devices/bus/sat_ctrl/joy.h11
-rw-r--r--src/devices/bus/sat_ctrl/joy_md.cpp16
-rw-r--r--src/devices/bus/sat_ctrl/joy_md.h20
-rw-r--r--src/devices/bus/sat_ctrl/keybd.cpp14
-rw-r--r--src/devices/bus/sat_ctrl/keybd.h11
-rw-r--r--src/devices/bus/sat_ctrl/mouse.cpp12
-rw-r--r--src/devices/bus/sat_ctrl/mouse.h11
-rw-r--r--src/devices/bus/sat_ctrl/multitap.cpp4
-rw-r--r--src/devices/bus/sat_ctrl/multitap.h11
-rw-r--r--src/devices/bus/sat_ctrl/pointer.cpp12
-rw-r--r--src/devices/bus/sat_ctrl/pointer.h11
-rw-r--r--src/devices/bus/sat_ctrl/racing.cpp10
-rw-r--r--src/devices/bus/sat_ctrl/racing.h11
-rw-r--r--src/devices/bus/sat_ctrl/segatap.cpp4
-rw-r--r--src/devices/bus/sat_ctrl/segatap.h11
-rw-r--r--src/devices/bus/saturn/bram.cpp28
-rw-r--r--src/devices/bus/saturn/bram.h25
-rw-r--r--src/devices/bus/saturn/dram.cpp16
-rw-r--r--src/devices/bus/saturn/dram.h25
-rw-r--r--src/devices/bus/saturn/rom.cpp12
-rw-r--r--src/devices/bus/saturn/rom.h23
-rw-r--r--src/devices/bus/saturn/sat_slot.cpp17
-rw-r--r--src/devices/bus/saturn/sat_slot.h31
-rw-r--r--src/devices/bus/scsi/acb4070.cpp4
-rw-r--r--src/devices/bus/scsi/acb4070.h10
-rw-r--r--src/devices/bus/scsi/cdu76s.cpp4
-rw-r--r--src/devices/bus/scsi/cdu76s.h10
-rw-r--r--src/devices/bus/scsi/d9060hd.cpp4
-rw-r--r--src/devices/bus/scsi/d9060hd.h10
-rw-r--r--src/devices/bus/scsi/omti5100.cpp8
-rw-r--r--src/devices/bus/scsi/omti5100.h10
-rw-r--r--src/devices/bus/scsi/pc9801_sasi.cpp4
-rw-r--r--src/devices/bus/scsi/pc9801_sasi.h10
-rw-r--r--src/devices/bus/scsi/s1410.cpp4
-rw-r--r--src/devices/bus/scsi/s1410.h12
-rw-r--r--src/devices/bus/scsi/sa1403d.cpp4
-rw-r--r--src/devices/bus/scsi/sa1403d.h10
-rw-r--r--src/devices/bus/scsi/scsi.cpp94
-rw-r--r--src/devices/bus/scsi/scsi.h154
-rw-r--r--src/devices/bus/scsi/scsicd.cpp8
-rw-r--r--src/devices/bus/scsi/scsicd.h13
-rw-r--r--src/devices/bus/scsi/scsihd.cpp8
-rw-r--r--src/devices/bus/scsi/scsihd.h15
-rw-r--r--src/devices/bus/scsi/scsihle.cpp4
-rw-r--r--src/devices/bus/scsi/scsihle.h13
-rw-r--r--src/devices/bus/scv/rom.cpp42
-rw-r--r--src/devices/bus/scv/rom.h66
-rw-r--r--src/devices/bus/scv/slot.cpp10
-rw-r--r--src/devices/bus/scv/slot.h23
-rw-r--r--src/devices/bus/sega8/ccatch.cpp5
-rw-r--r--src/devices/bus/sega8/ccatch.h13
-rw-r--r--src/devices/bus/sega8/mgear.cpp5
-rw-r--r--src/devices/bus/sega8/mgear.h13
-rw-r--r--src/devices/bus/sega8/rom.cpp126
-rw-r--r--src/devices/bus/sega8/rom.h131
-rw-r--r--src/devices/bus/sega8/sega8_slot.cpp58
-rw-r--r--src/devices/bus/sega8/sega8_slot.h38
-rw-r--r--src/devices/bus/sg1000_exp/fm_unit.cpp4
-rw-r--r--src/devices/bus/sg1000_exp/fm_unit.h11
-rw-r--r--src/devices/bus/sg1000_exp/sg1000exp.cpp8
-rw-r--r--src/devices/bus/sg1000_exp/sg1000exp.h24
-rw-r--r--src/devices/bus/sg1000_exp/sk1100.cpp4
-rw-r--r--src/devices/bus/sg1000_exp/sk1100.h10
-rw-r--r--src/devices/bus/sms_ctrl/graphic.cpp6
-rw-r--r--src/devices/bus/sms_ctrl/graphic.h10
-rw-r--r--src/devices/bus/sms_ctrl/joypad.cpp4
-rw-r--r--src/devices/bus/sms_ctrl/joypad.h10
-rw-r--r--src/devices/bus/sms_ctrl/lphaser.cpp4
-rw-r--r--src/devices/bus/sms_ctrl/lphaser.h10
-rw-r--r--src/devices/bus/sms_ctrl/multitap.cpp9
-rw-r--r--src/devices/bus/sms_ctrl/multitap.h10
-rw-r--r--src/devices/bus/sms_ctrl/paddle.cpp4
-rw-r--r--src/devices/bus/sms_ctrl/paddle.h8
-rw-r--r--src/devices/bus/sms_ctrl/rfu.cpp6
-rw-r--r--src/devices/bus/sms_ctrl/rfu.h10
-rw-r--r--src/devices/bus/sms_ctrl/smsctrl.cpp12
-rw-r--r--src/devices/bus/sms_ctrl/smsctrl.h25
-rw-r--r--src/devices/bus/sms_ctrl/sports.cpp7
-rw-r--r--src/devices/bus/sms_ctrl/sports.h10
-rw-r--r--src/devices/bus/sms_ctrl/sportsjp.cpp4
-rw-r--r--src/devices/bus/sms_ctrl/sportsjp.h10
-rw-r--r--src/devices/bus/sms_exp/gender.cpp12
-rw-r--r--src/devices/bus/sms_exp/gender.h11
-rw-r--r--src/devices/bus/sms_exp/smsexp.cpp63
-rw-r--r--src/devices/bus/sms_exp/smsexp.h71
-rw-r--r--src/devices/bus/snes/bsx.cpp69
-rw-r--r--src/devices/bus/snes/bsx.h96
-rw-r--r--src/devices/bus/snes/event.cpp20
-rw-r--r--src/devices/bus/snes/event.h27
-rw-r--r--src/devices/bus/snes/rom.cpp58
-rw-r--r--src/devices/bus/snes/rom.h113
-rw-r--r--src/devices/bus/snes/rom21.cpp16
-rw-r--r--src/devices/bus/snes/rom21.h33
-rw-r--r--src/devices/bus/snes/sa1.cpp19
-rw-r--r--src/devices/bus/snes/sa1.h19
-rw-r--r--src/devices/bus/snes/sdd1.cpp46
-rw-r--r--src/devices/bus/snes/sdd1.h269
-rw-r--r--src/devices/bus/snes/sfx.cpp6
-rw-r--r--src/devices/bus/snes/sfx.h19
-rw-r--r--src/devices/bus/snes/sgb.cpp12
-rw-r--r--src/devices/bus/snes/sgb.h26
-rw-r--r--src/devices/bus/snes/snes_carts.cpp13
-rw-r--r--src/devices/bus/snes/snes_carts.h20
-rw-r--r--src/devices/bus/snes/snes_slot.cpp33
-rw-r--r--src/devices/bus/snes/snes_slot.h50
-rw-r--r--src/devices/bus/snes/spc7110.cpp101
-rw-r--r--src/devices/bus/snes/spc7110.h167
-rw-r--r--src/devices/bus/snes/sufami.cpp12
-rw-r--r--src/devices/bus/snes/sufami.h25
-rw-r--r--src/devices/bus/snes/upd.cpp65
-rw-r--r--src/devices/bus/snes/upd.h74
-rw-r--r--src/devices/bus/snes_ctrl/bcbattle.cpp11
-rw-r--r--src/devices/bus/snes_ctrl/bcbattle.h14
-rw-r--r--src/devices/bus/snes_ctrl/ctrl.cpp7
-rw-r--r--src/devices/bus/snes_ctrl/ctrl.h29
-rw-r--r--src/devices/bus/snes_ctrl/joypad.cpp9
-rw-r--r--src/devices/bus/snes_ctrl/joypad.h9
-rw-r--r--src/devices/bus/snes_ctrl/miracle.cpp14
-rw-r--r--src/devices/bus/snes_ctrl/miracle.h37
-rw-r--r--src/devices/bus/snes_ctrl/mouse.cpp16
-rw-r--r--src/devices/bus/snes_ctrl/mouse.h11
-rw-r--r--src/devices/bus/snes_ctrl/multitap.cpp4
-rw-r--r--src/devices/bus/snes_ctrl/multitap.h11
-rw-r--r--src/devices/bus/snes_ctrl/pachinko.cpp11
-rw-r--r--src/devices/bus/snes_ctrl/pachinko.h11
-rw-r--r--src/devices/bus/snes_ctrl/sscope.cpp20
-rw-r--r--src/devices/bus/snes_ctrl/sscope.h11
-rw-r--r--src/devices/bus/snes_ctrl/twintap.cpp9
-rw-r--r--src/devices/bus/snes_ctrl/twintap.h9
-rw-r--r--src/devices/bus/spc1000/exp.cpp7
-rw-r--r--src/devices/bus/spc1000/exp.h27
-rw-r--r--src/devices/bus/spc1000/fdd.cpp17
-rw-r--r--src/devices/bus/spc1000/fdd.h19
-rw-r--r--src/devices/bus/spc1000/vdp.cpp8
-rw-r--r--src/devices/bus/spc1000/vdp.h13
-rw-r--r--src/devices/bus/sunkbd/hlekbd.cpp62
-rw-r--r--src/devices/bus/sunkbd/hlekbd.h26
-rw-r--r--src/devices/bus/sunkbd/sunkbd.cpp11
-rw-r--r--src/devices/bus/sunkbd/sunkbd.h10
-rw-r--r--src/devices/bus/svi3x8/expander/expander.cpp4
-rw-r--r--src/devices/bus/svi3x8/expander/expander.h55
-rw-r--r--src/devices/bus/svi3x8/expander/modules.cpp4
-rw-r--r--src/devices/bus/svi3x8/expander/modules.h12
-rw-r--r--src/devices/bus/svi3x8/expander/sv601.cpp4
-rw-r--r--src/devices/bus/svi3x8/expander/sv601.h10
-rw-r--r--src/devices/bus/svi3x8/expander/sv602.cpp4
-rw-r--r--src/devices/bus/svi3x8/expander/sv602.h10
-rw-r--r--src/devices/bus/svi3x8/expander/sv603.cpp4
-rw-r--r--src/devices/bus/svi3x8/expander/sv603.h10
-rw-r--r--src/devices/bus/svi3x8/slot/cards.cpp8
-rw-r--r--src/devices/bus/svi3x8/slot/cards.h15
-rw-r--r--src/devices/bus/svi3x8/slot/slot.cpp12
-rw-r--r--src/devices/bus/svi3x8/slot/slot.h56
-rw-r--r--src/devices/bus/svi3x8/slot/sv801.cpp4
-rw-r--r--src/devices/bus/svi3x8/slot/sv801.h12
-rw-r--r--src/devices/bus/svi3x8/slot/sv802.cpp4
-rw-r--r--src/devices/bus/svi3x8/slot/sv802.h10
-rw-r--r--src/devices/bus/svi3x8/slot/sv803.cpp4
-rw-r--r--src/devices/bus/svi3x8/slot/sv803.h10
-rw-r--r--src/devices/bus/svi3x8/slot/sv805.cpp4
-rw-r--r--src/devices/bus/svi3x8/slot/sv805.h10
-rw-r--r--src/devices/bus/svi3x8/slot/sv806.cpp4
-rw-r--r--src/devices/bus/svi3x8/slot/sv806.h10
-rw-r--r--src/devices/bus/svi3x8/slot/sv807.cpp4
-rw-r--r--src/devices/bus/svi3x8/slot/sv807.h10
-rw-r--r--src/devices/bus/ti8x/bitsocket.cpp4
-rw-r--r--src/devices/bus/ti8x/bitsocket.h12
-rw-r--r--src/devices/bus/ti8x/graphlinkhle.cpp4
-rw-r--r--src/devices/bus/ti8x/graphlinkhle.h14
-rw-r--r--src/devices/bus/ti8x/teeconn.cpp4
-rw-r--r--src/devices/bus/ti8x/teeconn.h6
-rw-r--r--src/devices/bus/ti8x/ti8x.cpp11
-rw-r--r--src/devices/bus/ti8x/ti8x.h7
-rw-r--r--src/devices/bus/ti8x/tispeaker.cpp8
-rw-r--r--src/devices/bus/ti8x/tispeaker.h8
-rw-r--r--src/devices/bus/ti99/colorbus/busmouse.cpp (renamed from src/devices/bus/ti99x/busmouse.cpp)23
-rw-r--r--src/devices/bus/ti99/colorbus/busmouse.h (renamed from src/devices/bus/ti99x/busmouse.h)20
-rw-r--r--src/devices/bus/ti99/colorbus/colorbus.cpp (renamed from src/devices/bus/ti99x/colorbus.cpp)24
-rw-r--r--src/devices/bus/ti99/colorbus/colorbus.h (renamed from src/devices/bus/ti99x/colorbus.h)38
-rw-r--r--src/devices/bus/ti99/joyport/handset.cpp (renamed from src/devices/bus/ti99x/handset.cpp)26
-rw-r--r--src/devices/bus/ti99/joyport/handset.h (renamed from src/devices/bus/ti99x/handset.h)28
-rw-r--r--src/devices/bus/ti99/joyport/joyport.cpp (renamed from src/devices/bus/ti99x/joyport.cpp)36
-rw-r--r--src/devices/bus/ti99/joyport/joyport.h87
-rw-r--r--src/devices/bus/ti99/joyport/mecmouse.cpp (renamed from src/devices/bus/ti99x/mecmouse.cpp)18
-rw-r--r--src/devices/bus/ti99/joyport/mecmouse.h (renamed from src/devices/bus/ti99x/mecmouse.h)17
-rw-r--r--src/devices/bus/ti99/peb/bwg.cpp (renamed from src/devices/bus/ti99_peb/bwg.cpp)8
-rw-r--r--src/devices/bus/ti99/peb/bwg.h (renamed from src/devices/bus/ti99_peb/bwg.h)21
-rw-r--r--src/devices/bus/ti99/peb/evpc.cpp (renamed from src/devices/bus/ti99_peb/evpc.cpp)4
-rw-r--r--src/devices/bus/ti99/peb/evpc.h (renamed from src/devices/bus/ti99_peb/evpc.h)38
-rw-r--r--src/devices/bus/ti99/peb/hfdc.cpp (renamed from src/devices/bus/ti99_peb/hfdc.cpp)35
-rw-r--r--src/devices/bus/ti99/peb/hfdc.h (renamed from src/devices/bus/ti99_peb/hfdc.h)11
-rw-r--r--src/devices/bus/ti99/peb/horizon.cpp (renamed from src/devices/bus/ti99_peb/horizon.cpp)4
-rw-r--r--src/devices/bus/ti99/peb/horizon.h (renamed from src/devices/bus/ti99_peb/horizon.h)10
-rw-r--r--src/devices/bus/ti99/peb/hsgpl.cpp (renamed from src/devices/bus/ti99_peb/hsgpl.cpp)4
-rw-r--r--src/devices/bus/ti99/peb/hsgpl.h (renamed from src/devices/bus/ti99_peb/hsgpl.h)16
-rw-r--r--src/devices/bus/ti99/peb/memex.cpp (renamed from src/devices/bus/ti99_peb/memex.cpp)4
-rw-r--r--src/devices/bus/ti99/peb/memex.h (renamed from src/devices/bus/ti99_peb/memex.h)14
-rw-r--r--src/devices/bus/ti99/peb/myarcmem.cpp (renamed from src/devices/bus/ti99_peb/myarcmem.cpp)4
-rw-r--r--src/devices/bus/ti99/peb/myarcmem.h (renamed from src/devices/bus/ti99_peb/myarcmem.h)16
-rw-r--r--src/devices/bus/ti99/peb/pcode.cpp (renamed from src/devices/bus/ti99_peb/pcode.cpp)4
-rw-r--r--src/devices/bus/ti99/peb/pcode.h (renamed from src/devices/bus/ti99_peb/pcode.h)10
-rw-r--r--src/devices/bus/ti99/peb/peribox.cpp (renamed from src/devices/bus/ti99_peb/peribox.cpp)43
-rw-r--r--src/devices/bus/ti99/peb/peribox.h (renamed from src/devices/bus/ti99_peb/peribox.h)67
-rw-r--r--src/devices/bus/ti99/peb/samsmem.cpp (renamed from src/devices/bus/ti99_peb/samsmem.cpp)4
-rw-r--r--src/devices/bus/ti99/peb/samsmem.h (renamed from src/devices/bus/ti99_peb/samsmem.h)15
-rw-r--r--src/devices/bus/ti99/peb/spchsyn.cpp (renamed from src/devices/bus/ti99_peb/spchsyn.cpp)7
-rw-r--r--src/devices/bus/ti99/peb/spchsyn.h (renamed from src/devices/bus/ti99_peb/spchsyn.h)16
-rw-r--r--src/devices/bus/ti99/peb/ti_32kmem.cpp (renamed from src/devices/bus/ti99_peb/ti_32kmem.cpp)7
-rw-r--r--src/devices/bus/ti99/peb/ti_32kmem.h (renamed from src/devices/bus/ti99_peb/ti_32kmem.h)14
-rw-r--r--src/devices/bus/ti99/peb/ti_fdc.cpp (renamed from src/devices/bus/ti99_peb/ti_fdc.cpp)40
-rw-r--r--src/devices/bus/ti99/peb/ti_fdc.h (renamed from src/devices/bus/ti99_peb/ti_fdc.h)14
-rw-r--r--src/devices/bus/ti99/peb/ti_rs232.cpp (renamed from src/devices/bus/ti99_peb/ti_rs232.cpp)136
-rw-r--r--src/devices/bus/ti99/peb/ti_rs232.h (renamed from src/devices/bus/ti99_peb/ti_rs232.h)28
-rw-r--r--src/devices/bus/ti99/peb/tn_ide.cpp (renamed from src/devices/bus/ti99_peb/tn_ide.cpp)6
-rw-r--r--src/devices/bus/ti99/peb/tn_ide.h (renamed from src/devices/bus/ti99_peb/tn_ide.h)17
-rw-r--r--src/devices/bus/ti99/peb/tn_usbsm.cpp (renamed from src/devices/bus/ti99_peb/tn_usbsm.cpp)4
-rw-r--r--src/devices/bus/ti99/peb/tn_usbsm.h (renamed from src/devices/bus/ti99_peb/tn_usbsm.h)14
-rw-r--r--src/devices/bus/ti99x/990_dk.cpp19
-rw-r--r--src/devices/bus/ti99x/990_dk.h35
-rw-r--r--src/devices/bus/ti99x/990_hd.cpp7
-rw-r--r--src/devices/bus/ti99x/990_hd.h22
-rw-r--r--src/devices/bus/ti99x/990_tap.cpp12
-rw-r--r--src/devices/bus/ti99x/990_tap.h29
-rw-r--r--src/devices/bus/ti99x/998board.cpp58
-rw-r--r--src/devices/bus/ti99x/998board.h157
-rw-r--r--src/devices/bus/ti99x/datamux.cpp7
-rw-r--r--src/devices/bus/ti99x/datamux.h18
-rw-r--r--src/devices/bus/ti99x/genboard.cpp16
-rw-r--r--src/devices/bus/ti99x/genboard.h32
-rw-r--r--src/devices/bus/ti99x/gromport.cpp342
-rw-r--r--src/devices/bus/ti99x/gromport.h222
-rw-r--r--src/devices/bus/ti99x/joyport.h89
-rw-r--r--src/devices/bus/ti99x/ti99defs.cpp4
-rw-r--r--src/devices/bus/ti99x/ti99defs.h39
-rw-r--r--src/devices/bus/tiki100/8088.cpp30
-rw-r--r--src/devices/bus/tiki100/8088.h17
-rw-r--r--src/devices/bus/tiki100/exp.cpp36
-rw-r--r--src/devices/bus/tiki100/exp.h83
-rw-r--r--src/devices/bus/tiki100/hdc.cpp18
-rw-r--r--src/devices/bus/tiki100/hdc.h18
-rw-r--r--src/devices/bus/tvc/hbf.cpp10
-rw-r--r--src/devices/bus/tvc/hbf.h12
-rw-r--r--src/devices/bus/tvc/tvc.cpp11
-rw-r--r--src/devices/bus/tvc/tvc.h33
-rw-r--r--src/devices/bus/vboy/rom.cpp14
-rw-r--r--src/devices/bus/vboy/rom.h25
-rw-r--r--src/devices/bus/vboy/slot.cpp11
-rw-r--r--src/devices/bus/vboy/slot.h26
-rw-r--r--src/devices/bus/vc4000/rom.cpp22
-rw-r--r--src/devices/bus/vc4000/rom.h29
-rw-r--r--src/devices/bus/vc4000/slot.cpp15
-rw-r--r--src/devices/bus/vc4000/slot.h20
-rw-r--r--src/devices/bus/vcs/compumat.cpp4
-rw-r--r--src/devices/bus/vcs/compumat.h10
-rw-r--r--src/devices/bus/vcs/dpc.cpp9
-rw-r--r--src/devices/bus/vcs/dpc.h57
-rw-r--r--src/devices/bus/vcs/harmony_melody.cpp7
-rw-r--r--src/devices/bus/vcs/harmony_melody.h20
-rwxr-xr-xsrc/devices/bus/vcs/rom.cpp117
-rwxr-xr-xsrc/devices/bus/vcs/rom.h162
-rw-r--r--src/devices/bus/vcs/scharger.cpp8
-rw-r--r--src/devices/bus/vcs/scharger.h21
-rw-r--r--src/devices/bus/vcs/vcs_slot.cpp8
-rwxr-xr-xsrc/devices/bus/vcs/vcs_slot.h23
-rw-r--r--src/devices/bus/vcs_ctrl/ctrl.cpp4
-rw-r--r--src/devices/bus/vcs_ctrl/ctrl.h15
-rw-r--r--src/devices/bus/vcs_ctrl/joybooster.cpp4
-rw-r--r--src/devices/bus/vcs_ctrl/joybooster.h11
-rw-r--r--src/devices/bus/vcs_ctrl/joystick.cpp4
-rw-r--r--src/devices/bus/vcs_ctrl/joystick.h10
-rw-r--r--src/devices/bus/vcs_ctrl/keypad.cpp7
-rw-r--r--src/devices/bus/vcs_ctrl/keypad.h11
-rw-r--r--src/devices/bus/vcs_ctrl/lightpen.cpp4
-rw-r--r--src/devices/bus/vcs_ctrl/lightpen.h11
-rw-r--r--src/devices/bus/vcs_ctrl/paddles.cpp4
-rw-r--r--src/devices/bus/vcs_ctrl/paddles.h11
-rw-r--r--src/devices/bus/vcs_ctrl/wheel.cpp4
-rw-r--r--src/devices/bus/vcs_ctrl/wheel.h11
-rw-r--r--src/devices/bus/vectrex/rom.cpp20
-rw-r--r--src/devices/bus/vectrex/rom.h36
-rw-r--r--src/devices/bus/vectrex/slot.cpp13
-rw-r--r--src/devices/bus/vectrex/slot.h25
-rw-r--r--src/devices/bus/vic10/exp.cpp17
-rw-r--r--src/devices/bus/vic10/exp.h35
-rw-r--r--src/devices/bus/vic10/std.cpp5
-rw-r--r--src/devices/bus/vic10/std.h11
-rw-r--r--src/devices/bus/vic20/4cga.cpp4
-rw-r--r--src/devices/bus/vic20/4cga.h10
-rw-r--r--src/devices/bus/vic20/exp.cpp15
-rw-r--r--src/devices/bus/vic20/exp.h20
-rw-r--r--src/devices/bus/vic20/fe3.cpp26
-rw-r--r--src/devices/bus/vic20/fe3.h18
-rw-r--r--src/devices/bus/vic20/megacart.cpp10
-rw-r--r--src/devices/bus/vic20/megacart.h12
-rw-r--r--src/devices/bus/vic20/speakeasy.cpp16
-rw-r--r--src/devices/bus/vic20/speakeasy.h18
-rw-r--r--src/devices/bus/vic20/std.cpp5
-rw-r--r--src/devices/bus/vic20/std.h12
-rw-r--r--src/devices/bus/vic20/user.h8
-rw-r--r--src/devices/bus/vic20/vic1010.cpp20
-rw-r--r--src/devices/bus/vic20/vic1010.h31
-rw-r--r--src/devices/bus/vic20/vic1011.cpp8
-rw-r--r--src/devices/bus/vic20/vic1011.h8
-rw-r--r--src/devices/bus/vic20/vic1110.cpp10
-rw-r--r--src/devices/bus/vic20/vic1110.h11
-rw-r--r--src/devices/bus/vic20/vic1111.cpp8
-rw-r--r--src/devices/bus/vic20/vic1111.h12
-rw-r--r--src/devices/bus/vic20/vic1112.cpp33
-rw-r--r--src/devices/bus/vic20/vic1112.h12
-rw-r--r--src/devices/bus/vic20/vic1210.cpp8
-rw-r--r--src/devices/bus/vic20/vic1210.h12
-rw-r--r--src/devices/bus/vic20/videopak.cpp24
-rw-r--r--src/devices/bus/vic20/videopak.h17
-rw-r--r--src/devices/bus/vidbrain/exp.cpp4
-rw-r--r--src/devices/bus/vidbrain/exp.h24
-rw-r--r--src/devices/bus/vidbrain/money_minder.cpp4
-rw-r--r--src/devices/bus/vidbrain/money_minder.h11
-rw-r--r--src/devices/bus/vidbrain/std.cpp4
-rw-r--r--src/devices/bus/vidbrain/std.h11
-rw-r--r--src/devices/bus/vidbrain/timeshare.cpp4
-rw-r--r--src/devices/bus/vidbrain/timeshare.h11
-rw-r--r--src/devices/bus/vip/byteio.cpp9
-rw-r--r--src/devices/bus/vip/byteio.h25
-rw-r--r--src/devices/bus/vip/exp.cpp4
-rw-r--r--src/devices/bus/vip/exp.h39
-rw-r--r--src/devices/bus/vip/vp550.cpp4
-rw-r--r--src/devices/bus/vip/vp550.h11
-rw-r--r--src/devices/bus/vip/vp570.cpp4
-rw-r--r--src/devices/bus/vip/vp570.h10
-rw-r--r--src/devices/bus/vip/vp575.cpp13
-rw-r--r--src/devices/bus/vip/vp575.h23
-rw-r--r--src/devices/bus/vip/vp585.cpp7
-rw-r--r--src/devices/bus/vip/vp585.h11
-rw-r--r--src/devices/bus/vip/vp590.cpp7
-rw-r--r--src/devices/bus/vip/vp590.h11
-rw-r--r--src/devices/bus/vip/vp595.cpp4
-rw-r--r--src/devices/bus/vip/vp595.h11
-rw-r--r--src/devices/bus/vip/vp620.cpp8
-rw-r--r--src/devices/bus/vip/vp620.h13
-rw-r--r--src/devices/bus/vip/vp700.cpp4
-rw-r--r--src/devices/bus/vip/vp700.h11
-rw-r--r--src/devices/bus/vme/vme.cpp50
-rw-r--r--src/devices/bus/vme/vme.h44
-rw-r--r--src/devices/bus/vme/vme_fccpu20.cpp35
-rw-r--r--src/devices/bus/vme/vme_fccpu20.h128
-rw-r--r--src/devices/bus/vme/vme_fcisio.cpp42
-rw-r--r--src/devices/bus/vme/vme_fcisio.h16
-rw-r--r--src/devices/bus/vme/vme_fcscsi.cpp38
-rw-r--r--src/devices/bus/vme/vme_fcscsi.h33
-rw-r--r--src/devices/bus/vme/vme_mvme350.cpp14
-rw-r--r--src/devices/bus/vme/vme_mvme350.h18
-rw-r--r--src/devices/bus/vme/vme_mzr8105.cpp9
-rw-r--r--src/devices/bus/vme/vme_mzr8105.h19
-rw-r--r--src/devices/bus/vme/vme_mzr8300.cpp17
-rw-r--r--src/devices/bus/vme/vme_mzr8300.h16
-rw-r--r--src/devices/bus/vtech/ioexp/carts.cpp10
-rw-r--r--src/devices/bus/vtech/ioexp/carts.h13
-rw-r--r--src/devices/bus/vtech/ioexp/ioexp.cpp28
-rw-r--r--src/devices/bus/vtech/ioexp/ioexp.h40
-rw-r--r--src/devices/bus/vtech/ioexp/joystick.cpp20
-rw-r--r--src/devices/bus/vtech/ioexp/joystick.h14
-rw-r--r--src/devices/bus/vtech/ioexp/printer.cpp30
-rw-r--r--src/devices/bus/vtech/ioexp/printer.h14
-rw-r--r--src/devices/bus/vtech/memexp/carts.cpp25
-rw-r--r--src/devices/bus/vtech/memexp/carts.h17
-rw-r--r--src/devices/bus/vtech/memexp/floppy.cpp47
-rw-r--r--src/devices/bus/vtech/memexp/floppy.h26
-rw-r--r--src/devices/bus/vtech/memexp/memexp.cpp30
-rw-r--r--src/devices/bus/vtech/memexp/memexp.h60
-rw-r--r--src/devices/bus/vtech/memexp/memory.cpp68
-rw-r--r--src/devices/bus/vtech/memexp/memory.h40
-rw-r--r--src/devices/bus/vtech/memexp/rs232.cpp32
-rw-r--r--src/devices/bus/vtech/memexp/rs232.h16
-rw-r--r--src/devices/bus/vtech/memexp/rtty.cpp30
-rw-r--r--src/devices/bus/vtech/memexp/rtty.h18
-rw-r--r--src/devices/bus/vtech/memexp/wordpro.cpp20
-rw-r--r--src/devices/bus/vtech/memexp/wordpro.h16
-rw-r--r--src/devices/bus/wangpc/emb.cpp7
-rw-r--r--src/devices/bus/wangpc/emb.h9
-rw-r--r--src/devices/bus/wangpc/lic.cpp4
-rw-r--r--src/devices/bus/wangpc/lic.h11
-rw-r--r--src/devices/bus/wangpc/lvc.cpp4
-rw-r--r--src/devices/bus/wangpc/lvc.h11
-rw-r--r--src/devices/bus/wangpc/mcc.cpp4
-rw-r--r--src/devices/bus/wangpc/mcc.h11
-rw-r--r--src/devices/bus/wangpc/mvc.cpp4
-rw-r--r--src/devices/bus/wangpc/mvc.h11
-rw-r--r--src/devices/bus/wangpc/rtc.cpp4
-rw-r--r--src/devices/bus/wangpc/rtc.h11
-rw-r--r--src/devices/bus/wangpc/tig.cpp4
-rw-r--r--src/devices/bus/wangpc/tig.h13
-rw-r--r--src/devices/bus/wangpc/wangpc.cpp8
-rw-r--r--src/devices/bus/wangpc/wangpc.h67
-rw-r--r--src/devices/bus/wangpc/wdc.cpp4
-rw-r--r--src/devices/bus/wangpc/wdc.h11
-rw-r--r--src/devices/bus/wswan/rom.cpp44
-rw-r--r--src/devices/bus/wswan/rom.h47
-rw-r--r--src/devices/bus/wswan/slot.cpp11
-rw-r--r--src/devices/bus/wswan/slot.h25
-rw-r--r--src/devices/bus/x68k/x68k_neptunex.cpp10
-rw-r--r--src/devices/bus/x68k/x68k_neptunex.h15
-rw-r--r--src/devices/bus/x68k/x68k_scsiext.cpp9
-rw-r--r--src/devices/bus/x68k/x68k_scsiext.h14
-rw-r--r--src/devices/bus/x68k/x68kexp.cpp15
-rw-r--r--src/devices/bus/x68k/x68kexp.h27
-rw-r--r--src/devices/bus/z88/flash.cpp8
-rw-r--r--src/devices/bus/z88/flash.h11
-rw-r--r--src/devices/bus/z88/ram.cpp26
-rw-r--r--src/devices/bus/z88/ram.h19
-rw-r--r--src/devices/bus/z88/rom.cpp22
-rw-r--r--src/devices/bus/z88/rom.h17
-rw-r--r--src/devices/bus/z88/z88.cpp11
-rw-r--r--src/devices/bus/z88/z88.h28
1785 files changed, 22176 insertions, 21555 deletions
diff --git a/src/devices/bus/a1bus/a1bus.cpp b/src/devices/bus/a1bus/a1bus.cpp
index 39bf0c52489..d1f0bbd7fe0 100644
--- a/src/devices/bus/a1bus/a1bus.cpp
+++ b/src/devices/bus/a1bus/a1bus.cpp
@@ -14,7 +14,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A1BUS_SLOT = device_creator<a1bus_slot_device>;
+DEFINE_DEVICE_TYPE(A1BUS_SLOT, a1bus_slot_device, "a1bus_slot", "Apple I Slot")
//**************************************************************************
// LIVE DEVICE
@@ -23,17 +23,16 @@ const device_type A1BUS_SLOT = device_creator<a1bus_slot_device>;
//-------------------------------------------------
// a1bus_slot_device - constructor
//-------------------------------------------------
-a1bus_slot_device::a1bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A1BUS_SLOT, "Apple I Slot", tag, owner, clock, "a1bus_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_a1bus_tag(nullptr),
- m_a1bus_slottag(nullptr)
+a1bus_slot_device::a1bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : a1bus_slot_device(mconfig, A1BUS_SLOT, tag, owner, clock)
{
}
-a1bus_slot_device::a1bus_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this), m_a1bus_tag(nullptr), m_a1bus_slottag(nullptr)
+a1bus_slot_device::a1bus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_slot_interface(mconfig, *this)
+ , m_a1bus_tag(nullptr)
+ , m_a1bus_slottag(nullptr)
{
}
@@ -59,7 +58,7 @@ void a1bus_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A1BUS = device_creator<a1bus_device>;
+DEFINE_DEVICE_TYPE(A1BUS, a1bus_device, "a1bus", "Apple I Bus")
void a1bus_device::static_set_cputag(device_t &device, const char *tag)
{
@@ -75,17 +74,18 @@ void a1bus_device::static_set_cputag(device_t &device, const char *tag)
// a1bus_device - constructor
//-------------------------------------------------
-a1bus_device::a1bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A1BUS, "Apple I Bus", tag, owner, clock, "a1bus", __FILE__), m_maincpu(nullptr),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this), m_device(nullptr), m_cputag(nullptr)
+a1bus_device::a1bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : a1bus_device(mconfig, A1BUS, tag, owner, clock)
{
}
-a1bus_device::a1bus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source), m_maincpu(nullptr),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this), m_device(nullptr), m_cputag(nullptr)
+a1bus_device::a1bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , m_maincpu(nullptr)
+ , m_out_irq_cb(*this)
+ , m_out_nmi_cb(*this)
+ , m_device(nullptr)
+ , m_cputag(nullptr)
{
}
//-------------------------------------------------
diff --git a/src/devices/bus/a1bus/a1bus.h b/src/devices/bus/a1bus/a1bus.h
index 38830940525..320a2d9bc80 100644
--- a/src/devices/bus/a1bus/a1bus.h
+++ b/src/devices/bus/a1bus/a1bus.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_A1BUS_A1BUS_H
+#define MAME_BUS_A1BUS_A1BUS_H
-#ifndef __A1BUS_H__
-#define __A1BUS_H__
+#pragma once
//**************************************************************************
@@ -49,20 +49,22 @@ class a1bus_slot_device : public device_t,
public:
// construction/destruction
a1bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a1bus_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
// inline configuration
static void static_set_a1bus_slot(device_t &device, const char *tag, const char *slottag);
+
protected:
+ a1bus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
// configuration
const char *m_a1bus_tag, *m_a1bus_slottag;
};
// device type definition
-extern const device_type A1BUS_SLOT;
+DECLARE_DEVICE_TYPE(A1BUS_SLOT, a1bus_slot_device)
class device_a1bus_card_interface;
@@ -72,12 +74,11 @@ class a1bus_device : public device_t
public:
// construction/destruction
a1bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a1bus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// inline configuration
static void static_set_cputag(device_t &device, const char *tag);
- template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<a1bus_device &>(device).m_out_irq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<a1bus_device &>(device).m_out_nmi_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_irq_callback(device_t &device, Object &&cb) { return downcast<a1bus_device &>(device).m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<a1bus_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
void add_a1bus_card(device_a1bus_card_interface *card);
device_a1bus_card_interface *get_a1bus_card();
@@ -92,6 +93,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( nmi_w );
protected:
+ a1bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -108,7 +111,7 @@ protected:
// device type definition
-extern const device_type A1BUS;
+DECLARE_DEVICE_TYPE(A1BUS, a1bus_device)
// ======================> device_a1bus_card_interface
@@ -118,7 +121,6 @@ class device_a1bus_card_interface : public device_slot_card_interface
friend class a1bus_device;
public:
// construction/destruction
- device_a1bus_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_a1bus_card_interface();
device_a1bus_card_interface *next() const { return m_next; }
@@ -135,10 +137,13 @@ public:
// inline configuration
static void static_set_a1bus_tag(device_t &device, const char *tag, const char *slottag);
-public:
+
+protected:
+ device_a1bus_card_interface(const machine_config &mconfig, device_t &device);
+
a1bus_device *m_a1bus;
const char *m_a1bus_tag, *m_a1bus_slottag;
device_a1bus_card_interface *m_next;
};
-#endif /* __A1BUS_H__ */
+#endif // MAME_BUS_A1BUS_A1BUS_H
diff --git a/src/devices/bus/a1bus/a1cassette.cpp b/src/devices/bus/a1bus/a1cassette.cpp
index c050a06120e..f7b2012d461 100644
--- a/src/devices/bus/a1bus/a1cassette.cpp
+++ b/src/devices/bus/a1bus/a1cassette.cpp
@@ -21,7 +21,7 @@
#define CASSETTE_ROM_REGION "casrom"
-const device_type A1BUS_CASSETTE = device_creator<a1bus_cassette_device>;
+DEFINE_DEVICE_TYPE(A1BUS_CASSETTE, a1bus_cassette_device, "a1cass", "Apple I cassette board")
/* sound output */
@@ -57,17 +57,17 @@ const tiny_rom_entry *a1bus_cassette_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a1bus_cassette_device::a1bus_cassette_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A1BUS_CASSETTE, "Apple I cassette board", tag, owner, clock, "a1cass", __FILE__),
- device_a1bus_card_interface(mconfig, *this),
- m_cassette(*this, "cassette"), m_rom(nullptr), m_cassette_output_flipflop(0)
+a1bus_cassette_device::a1bus_cassette_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : a1bus_cassette_device(mconfig, A1BUS_CASSETTE, tag, owner, clock)
{
}
-a1bus_cassette_device::a1bus_cassette_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_a1bus_card_interface(mconfig, *this),
- m_cassette(*this, "cassette"), m_rom(nullptr), m_cassette_output_flipflop(0)
+a1bus_cassette_device::a1bus_cassette_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_a1bus_card_interface(mconfig, *this)
+ , m_cassette(*this, "cassette")
+ , m_rom(nullptr),
+ m_cassette_output_flipflop(0)
{
}
diff --git a/src/devices/bus/a1bus/a1cassette.h b/src/devices/bus/a1bus/a1cassette.h
index 408ae5fe4cf..f674559732c 100644
--- a/src/devices/bus/a1bus/a1cassette.h
+++ b/src/devices/bus/a1bus/a1cassette.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A1BUS_CASSETTE__
-#define __A1BUS_CASSETTE__
+#ifndef MAME_BUS_A1BUS_A1CASSETTE_H
+#define MAME_BUS_A1BUS_A1CASSETTE_H
+
+#pragma once
#include "a1bus.h"
#include "imagedev/cassette.h"
@@ -25,29 +27,30 @@ class a1bus_cassette_device:
public:
// construction/destruction
a1bus_cassette_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a1bus_cassette_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
- optional_device<cassette_image_device> m_cassette;
-
DECLARE_READ8_MEMBER(cassette_r);
DECLARE_WRITE8_MEMBER(cassette_w);
protected:
+ a1bus_cassette_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
void cassette_toggle_output();
+ optional_device<cassette_image_device> m_cassette;
+
private:
uint8_t *m_rom;
int m_cassette_output_flipflop;
};
// device type definition
-extern const device_type A1BUS_CASSETTE;
+DECLARE_DEVICE_TYPE(A1BUS_CASSETTE, a1bus_cassette_device)
-#endif /* __A1BUS_CASSETTE__ */
+#endif // MAME_BUS_A1BUS_A1CASSETTE_H
diff --git a/src/devices/bus/a1bus/a1cffa.cpp b/src/devices/bus/a1bus/a1cffa.cpp
index f53270cd1df..3fb11381e9a 100644
--- a/src/devices/bus/a1bus/a1cffa.cpp
+++ b/src/devices/bus/a1bus/a1cffa.cpp
@@ -22,7 +22,7 @@
#define CFFA_ROM_REGION "cffa_rom"
#define CFFA_ATA_TAG "cffa_ata"
-const device_type A1BUS_CFFA = device_creator<a1bus_cffa_device>;
+DEFINE_DEVICE_TYPE(A1BUS_CFFA, a1bus_cffa_device, "cffa1", "CFFA Compact Flash for Apple I")
MACHINE_CONFIG_FRAGMENT( cffa )
MCFG_ATA_INTERFACE_ADD(CFFA_ATA_TAG, ata_devices, "hdd", nullptr, false)
@@ -52,17 +52,18 @@ const tiny_rom_entry *a1bus_cffa_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a1bus_cffa_device::a1bus_cffa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A1BUS_CFFA, "CFFA Compact Flash for Apple I", tag, owner, clock, "cffa1", __FILE__),
- device_a1bus_card_interface(mconfig, *this),
- m_ata(*this, CFFA_ATA_TAG), m_rom(nullptr), m_lastdata(0), m_writeprotect(false)
+a1bus_cffa_device::a1bus_cffa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : a1bus_cffa_device(mconfig, A1BUS_CFFA, tag, owner, clock)
{
}
-a1bus_cffa_device::a1bus_cffa_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_a1bus_card_interface(mconfig, *this),
- m_ata(*this, CFFA_ATA_TAG), m_rom(nullptr), m_lastdata(0), m_writeprotect(false)
+a1bus_cffa_device::a1bus_cffa_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_a1bus_card_interface(mconfig, *this)
+ , m_ata(*this, CFFA_ATA_TAG)
+ , m_rom(nullptr)
+ , m_lastdata(0)
+ , m_writeprotect(false)
{
}
diff --git a/src/devices/bus/a1bus/a1cffa.h b/src/devices/bus/a1bus/a1cffa.h
index 1f7925df0f9..e1114a23f05 100644
--- a/src/devices/bus/a1bus/a1cffa.h
+++ b/src/devices/bus/a1bus/a1cffa.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A1BUS_CFFA__
-#define __A1BUS_CFFA__
+#ifndef MAME_BUS_A1BUS_A1CFFA_H
+#define MAME_BUS_A1BUS_A1CFFA_H
+
+#pragma once
#include "a1bus.h"
#include "machine/ataintf.h"
@@ -25,21 +27,22 @@ class a1bus_cffa_device:
public:
// construction/destruction
a1bus_cffa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a1bus_cffa_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
- required_device<ata_interface_device> m_ata;
-
DECLARE_READ8_MEMBER(cffa_r);
DECLARE_WRITE8_MEMBER(cffa_w);
protected:
+ a1bus_cffa_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
+ required_device<ata_interface_device> m_ata;
+
private:
uint8_t *m_rom;
uint16_t m_lastdata;
@@ -49,4 +52,4 @@ private:
// device type definition
extern const device_type A1BUS_CFFA;
-#endif /* __A1BUS_CFFA__ */
+#endif // MAME_BUS_A1BUS_A1CFFA_H
diff --git a/src/devices/bus/a2bus/a2alfam2.cpp b/src/devices/bus/a2bus/a2alfam2.cpp
index fc28c7900da..aaf8287cd8f 100644
--- a/src/devices/bus/a2bus/a2alfam2.cpp
+++ b/src/devices/bus/a2bus/a2alfam2.cpp
@@ -22,8 +22,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_ALFAM2 = device_creator<a2bus_alfam2_device>;
-const device_type A2BUS_AESMS = device_creator<a2bus_aesms_device>;
+DEFINE_DEVICE_TYPE(A2BUS_ALFAM2, a2bus_alfam2_device, "a2alfam2", "ALF MC1 / Apple Music II")
+DEFINE_DEVICE_TYPE(A2BUS_AESMS, a2bus_aesms_device, "a2aesms", "Applied Engineering Super Music Synthesizer")
#define SN1_TAG "sn76489_1" // left
#define SN2_TAG "sn76489_2" // center
@@ -83,8 +83,8 @@ machine_config_constructor a2bus_aesms_device::device_mconfig_additions() const
// LIVE DEVICE
//**************************************************************************
-a2bus_sn76489_device::a2bus_sn76489_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_sn76489_device::a2bus_sn76489_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_sn1(*this, SN1_TAG),
m_sn2(*this, SN2_TAG),
@@ -94,13 +94,13 @@ a2bus_sn76489_device::a2bus_sn76489_device(const machine_config &mconfig, device
}
a2bus_alfam2_device::a2bus_alfam2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_sn76489_device(mconfig, A2BUS_ALFAM2, "ALF MC1 / Apple Music II", tag, owner, clock, "a2alfam2", __FILE__)
+ a2bus_sn76489_device(mconfig, A2BUS_ALFAM2, tag, owner, clock)
{
m_has4thsn = false;
}
a2bus_aesms_device::a2bus_aesms_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_sn76489_device(mconfig, A2BUS_AESMS, "Applied Engineering Super Music Synthesizer", tag, owner, clock, "a2aesms", __FILE__)
+ a2bus_sn76489_device(mconfig, A2BUS_AESMS, tag, owner, clock)
{
m_has4thsn = true;
}
diff --git a/src/devices/bus/a2bus/a2alfam2.h b/src/devices/bus/a2bus/a2alfam2.h
index b693ebb6a3f..ec98e87095d 100644
--- a/src/devices/bus/a2bus/a2alfam2.h
+++ b/src/devices/bus/a2bus/a2alfam2.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_ALFAM2__
-#define __A2BUS_ALFAM2__
+#ifndef MAME_BUS_A2BUS_A2ALFAM2_H
+#define MAME_BUS_A2BUS_A2ALFAM2_H
+
+#pragma once
#include "a2bus.h"
#include "sound/sn76496.h"
@@ -23,18 +25,13 @@ class a2bus_sn76489_device:
public device_a2bus_card_interface
{
public:
- // construction/destruction
- a2bus_sn76489_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
- required_device<sn76489_device> m_sn1;
- required_device<sn76489_device> m_sn2;
- required_device<sn76489_device> m_sn3;
- optional_device<sn76489_device> m_sn4;
-
protected:
+ // construction/destruction
+ a2bus_sn76489_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -43,6 +40,11 @@ protected:
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
virtual bool take_c800() override;
+ required_device<sn76489_device> m_sn1;
+ required_device<sn76489_device> m_sn2;
+ required_device<sn76489_device> m_sn3;
+ optional_device<sn76489_device> m_sn4;
+
private:
uint8_t m_latch0, m_latch1, m_latch2, m_latch3;
@@ -65,7 +67,7 @@ public:
};
// device type definition
-extern const device_type A2BUS_ALFAM2;
-extern const device_type A2BUS_AESMS;
+DECLARE_DEVICE_TYPE(A2BUS_ALFAM2, a2bus_alfam2_device)
+DECLARE_DEVICE_TYPE(A2BUS_AESMS, a2bus_aesms_device)
-#endif /* __A2BUS_ALFAM2__ */
+#endif // MAME_BUS_A2BUS_A2ALFAM2_H
diff --git a/src/devices/bus/a2bus/a2applicard.cpp b/src/devices/bus/a2bus/a2applicard.cpp
index f24903138dc..a356f8de706 100644
--- a/src/devices/bus/a2bus/a2applicard.cpp
+++ b/src/devices/bus/a2bus/a2applicard.cpp
@@ -24,7 +24,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_APPLICARD = device_creator<a2bus_applicard_device>;
+DEFINE_DEVICE_TYPE(A2BUS_APPLICARD, a2bus_applicard_device, "a2aplcrd", "PCPI Applicard")
#define Z80_TAG "z80"
#define Z80_ROM_REGION "z80_rom"
@@ -75,17 +75,15 @@ const tiny_rom_entry *a2bus_applicard_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_applicard_device::a2bus_applicard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_applicard_device::a2bus_applicard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_z80(*this, Z80_TAG), m_bROMAtZ80Zero(false), m_z80stat(false), m_6502stat(false), m_toz80(0), m_to6502(0), m_z80rom(nullptr)
{
}
a2bus_applicard_device::a2bus_applicard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_APPLICARD, "PCPI Applicard", tag, owner, clock, "a2aplcrd", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_z80(*this, Z80_TAG), m_bROMAtZ80Zero(false), m_z80stat(false), m_6502stat(false), m_toz80(0), m_to6502(0), m_z80rom(nullptr)
+ a2bus_applicard_device(mconfig, A2BUS_APPLICARD, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2applicard.h b/src/devices/bus/a2bus/a2applicard.h
index 89df1bf188e..dfacfbf208f 100644
--- a/src/devices/bus/a2bus/a2applicard.h
+++ b/src/devices/bus/a2bus/a2applicard.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_APPLICARD__
-#define __A2BUS_APPLICARD__
+#ifndef MAME_BUS_A2BUS_A2APPLICARD_H
+#define MAME_BUS_A2BUS_A2APPLICARD_H
+
+#pragma once
#include "a2bus.h"
@@ -23,7 +25,6 @@ class a2bus_applicard_device:
{
public:
// construction/destruction
- a2bus_applicard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_applicard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -35,6 +36,8 @@ public:
DECLARE_WRITE8_MEMBER( z80_io_w );
protected:
+ a2bus_applicard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -55,6 +58,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_APPLICARD;
+DECLARE_DEVICE_TYPE(A2BUS_APPLICARD, a2bus_applicard_device)
-#endif /* __A2BUS_APPLICARD__ */
+#endif // MAME_BUS_A2BUS_A2APPLICARD_H
diff --git a/src/devices/bus/a2bus/a2arcadebd.cpp b/src/devices/bus/a2bus/a2arcadebd.cpp
index 68da2e73426..cff4747f223 100644
--- a/src/devices/bus/a2bus/a2arcadebd.cpp
+++ b/src/devices/bus/a2bus/a2arcadebd.cpp
@@ -30,7 +30,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_ARCADEBOARD = device_creator<a2bus_arcboard_device>;
+DEFINE_DEVICE_TYPE(A2BUS_ARCADEBOARD, a2bus_arcboard_device, "a2arcbd", "Third Millenium Engineering Arcade Board")
MACHINE_CONFIG_FRAGMENT( arcadeboard )
MCFG_DEVICE_ADD( TMS_TAG, TMS9918A, XTAL_10_738635MHz / 2 )
@@ -59,15 +59,12 @@ machine_config_constructor a2bus_arcboard_device::device_mconfig_additions() con
//**************************************************************************
a2bus_arcboard_device::a2bus_arcboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_ARCADEBOARD, "Third Millenium Engineering Arcade Board", tag, owner, clock, "a2arcbd", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_tms(*this, TMS_TAG),
- m_ay(*this, AY_TAG)
+ a2bus_arcboard_device(mconfig, A2BUS_ARCADEBOARD, tag, owner, clock)
{
}
-a2bus_arcboard_device::a2bus_arcboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_arcboard_device::a2bus_arcboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_tms(*this, TMS_TAG),
m_ay(*this, AY_TAG)
diff --git a/src/devices/bus/a2bus/a2arcadebd.h b/src/devices/bus/a2bus/a2arcadebd.h
index a57894e5830..dcf303f94ae 100644
--- a/src/devices/bus/a2bus/a2arcadebd.h
+++ b/src/devices/bus/a2bus/a2arcadebd.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_ARCADEBOARD__
-#define __A2BUS_ARCADEBOARD__
+#ifndef MAME_BUS_A2BUS_A2ARCADEBD_H
+#define MAME_BUS_A2BUS_A2ARCADEBD_H
+
+#pragma once
#include "a2bus.h"
#include "video/tms9928a.h"
@@ -26,7 +28,6 @@ class a2bus_arcboard_device:
public:
// construction/destruction
a2bus_arcboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_arcboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -34,6 +35,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
protected:
+ a2bus_arcboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -46,6 +49,6 @@ protected:
};
// device type definition
-extern const device_type A2BUS_ARCADEBOARD;
+DECLARE_DEVICE_TYPE(A2BUS_ARCADEBOARD, a2bus_arcboard_device)
-#endif /* __A2BUS_ARCADEBOARD__ */
+#endif // MAME_BUS_A2BUS_A2ARCADEBD_H
diff --git a/src/devices/bus/a2bus/a2bus.cpp b/src/devices/bus/a2bus/a2bus.cpp
index d271c4e2762..d70b0414b9f 100644
--- a/src/devices/bus/a2bus/a2bus.cpp
+++ b/src/devices/bus/a2bus/a2bus.cpp
@@ -78,7 +78,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_SLOT = device_creator<a2bus_slot_device>;
+DEFINE_DEVICE_TYPE(A2BUS_SLOT, a2bus_slot_device, "a2bus_slot", "Apple II Slot")
//**************************************************************************
// LIVE DEVICE
@@ -87,15 +87,16 @@ const device_type A2BUS_SLOT = device_creator<a2bus_slot_device>;
//-------------------------------------------------
// a2bus_slot_device - constructor
//-------------------------------------------------
-a2bus_slot_device::a2bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_SLOT, "Apple II Slot", tag, owner, clock, "a2bus_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_a2bus_tag(nullptr), m_a2bus_slottag(nullptr)
+a2bus_slot_device::a2bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : a2bus_slot_device(mconfig, A2BUS_SLOT, tag, owner, clock)
{
}
-a2bus_slot_device::a2bus_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this), m_a2bus_tag(nullptr), m_a2bus_slottag(nullptr)
+a2bus_slot_device::a2bus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_slot_interface(mconfig, *this)
+ , m_a2bus_tag(nullptr)
+ , m_a2bus_slottag(nullptr)
{
}
@@ -121,7 +122,7 @@ void a2bus_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS = device_creator<a2bus_device>;
+DEFINE_DEVICE_TYPE(A2BUS, a2bus_device, "a2bus", "Apple II Bus")
void a2bus_device::static_set_cputag(device_t &device, const char *tag)
{
@@ -137,19 +138,17 @@ void a2bus_device::static_set_cputag(device_t &device, const char *tag)
// a2bus_device - constructor
//-------------------------------------------------
-a2bus_device::a2bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS, "Apple II Bus", tag, owner, clock, "a2bus", __FILE__), m_maincpu(nullptr), m_maincpu_space(nullptr),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this),
- m_out_inh_cb(*this), m_cputag(nullptr), m_slot_irq_mask(0), m_slot_nmi_mask(0)
+a2bus_device::a2bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : a2bus_device(mconfig, A2BUS, tag, owner, clock)
{
}
-a2bus_device::a2bus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source), m_maincpu(nullptr), m_maincpu_space(nullptr),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this),
- m_out_inh_cb(*this), m_cputag(nullptr), m_slot_irq_mask(0), m_slot_nmi_mask(0)
+a2bus_device::a2bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , m_maincpu(nullptr) , m_maincpu_space(nullptr)
+ , m_out_irq_cb(*this) , m_out_nmi_cb(*this) , m_out_inh_cb(*this)
+ , m_cputag(nullptr)
+ , m_slot_irq_mask(0), m_slot_nmi_mask(0)
{
}
//-------------------------------------------------
diff --git a/src/devices/bus/a2bus/a2bus.h b/src/devices/bus/a2bus/a2bus.h
index 16433f5b814..f76a5e1166c 100644
--- a/src/devices/bus/a2bus/a2bus.h
+++ b/src/devices/bus/a2bus/a2bus.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_A2BUS_A2BUS_H
+#define MAME_BUS_A2BUS_A2BUS_H
-#ifndef __A2BUS_H__
-#define __A2BUS_H__
+#pragma once
// /INH special addresses
@@ -63,7 +63,6 @@ class a2bus_slot_device : public device_t,
public:
// construction/destruction
a2bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// device-level overrides
virtual void device_start() override;
@@ -71,12 +70,14 @@ public:
// inline configuration
static void static_set_a2bus_slot(device_t &device, const char *tag, const char *slottag);
protected:
+ a2bus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// configuration
const char *m_a2bus_tag, *m_a2bus_slottag;
};
// device type definition
-extern const device_type A2BUS_SLOT;
+DECLARE_DEVICE_TYPE(A2BUS_SLOT, a2bus_slot_device)
class device_a2bus_card_interface;
@@ -88,13 +89,12 @@ class a2bus_device : public device_t
public:
// construction/destruction
a2bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// inline configuration
static void static_set_cputag(device_t &device, const char *tag);
- template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<a2bus_device &>(device).m_out_irq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<a2bus_device &>(device).m_out_nmi_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_inh_callback(device_t &device, _Object object) { return downcast<a2bus_device &>(device).m_out_inh_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_irq_callback(device_t &device, Object &&cb) { return downcast<a2bus_device &>(device).m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<a2bus_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_inh_callback(device_t &device, Object &&cb) { return downcast<a2bus_device &>(device).m_out_inh_cb.set_callback(std::forward<Object>(cb)); }
void add_a2bus_card(int slot, device_a2bus_card_interface *card);
device_a2bus_card_interface *get_a2bus_card(int slot);
@@ -114,6 +114,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( nmi_w );
protected:
+ a2bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -135,7 +137,7 @@ protected:
// device type definition
-extern const device_type A2BUS;
+DECLARE_DEVICE_TYPE(A2BUS, a2bus_device)
// ======================> device_a2bus_card_interface
@@ -145,7 +147,6 @@ class device_a2bus_card_interface : public device_slot_card_interface
friend class a2bus_device;
public:
// construction/destruction
- device_a2bus_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_a2bus_card_interface();
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) { m_device.logerror("a2bus: unhandled read at C0n%x\n", offset); return 0; } // C0nX - /DEVSEL
@@ -186,11 +187,14 @@ public:
// inline configuration
static void static_set_a2bus_tag(device_t &device, const char *tag, const char *slottag);
-public:
+
+protected:
+ device_a2bus_card_interface(const machine_config &mconfig, device_t &device);
+
a2bus_device *m_a2bus;
const char *m_a2bus_tag, *m_a2bus_slottag;
int m_slot;
device_a2bus_card_interface *m_next;
};
-#endif /* __A2BUS_H__ */
+#endif // MAME_BUS_A2BUS_A2BUS_H
diff --git a/src/devices/bus/a2bus/a2cffa.cpp b/src/devices/bus/a2bus/a2cffa.cpp
index a37e33d2779..f4d96f6d436 100644
--- a/src/devices/bus/a2bus/a2cffa.cpp
+++ b/src/devices/bus/a2bus/a2cffa.cpp
@@ -27,8 +27,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_CFFA2 = device_creator<a2bus_cffa2_device>;
-const device_type A2BUS_CFFA2_6502 = device_creator<a2bus_cffa2_6502_device>;
+DEFINE_DEVICE_TYPE(A2BUS_CFFA2, a2bus_cffa2_device, "a2cffa2", "CFFA2000 Compact Flash (65C02 firmware, www.dreher.net)")
+DEFINE_DEVICE_TYPE(A2BUS_CFFA2_6502, a2bus_cffa2_6502_device, "a2cffa02", "CFFA2000 Compact Flash (6502 firmware, www.dreher.net)")
#define CFFA2_ROM_REGION "cffa2_rom"
#define CFFA2_ATA_TAG "cffa2_ata"
@@ -83,21 +83,21 @@ const tiny_rom_entry *a2bus_cffa2_6502_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_cffa2000_device::a2bus_cffa2000_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_cffa2000_device::a2bus_cffa2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_ata(*this, CFFA2_ATA_TAG), m_rom(nullptr), m_lastdata(0), m_lastreaddata(0), m_writeprotect(false), m_inwritecycle(false)
{
}
a2bus_cffa2_device::a2bus_cffa2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_cffa2000_device(mconfig, A2BUS_CFFA2, "CFFA2000 Compact Flash (65C02 firmware, www.dreher.net)", tag, owner, clock, "a2cffa2", __FILE__),
+ a2bus_cffa2000_device(mconfig, A2BUS_CFFA2, tag, owner, clock),
device_nvram_interface(mconfig, *this)
{
}
a2bus_cffa2_6502_device::a2bus_cffa2_6502_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_cffa2000_device(mconfig, A2BUS_CFFA2_6502, "CFFA2000 Compact Flash (6502 firmware, www.dreher.net)", tag, owner, clock, "a2cffa02", __FILE__),
+ a2bus_cffa2000_device(mconfig, A2BUS_CFFA2_6502, tag, owner, clock),
device_nvram_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/a2bus/a2cffa.h b/src/devices/bus/a2bus/a2cffa.h
index 0c7832bbb93..be326ad037b 100644
--- a/src/devices/bus/a2bus/a2cffa.h
+++ b/src/devices/bus/a2bus/a2cffa.h
@@ -9,8 +9,10 @@
*********************************************************************/
-#ifndef __A2BUS_CFFA2__
-#define __A2BUS_CFFA2__
+#ifndef MAME_BUS_A2BUS_A2CFFA_H
+#define MAME_BUS_A2BUS_A2CFFA_H
+
+#pragma once
#include "a2bus.h"
#include "machine/ataintf.h"
@@ -24,14 +26,14 @@ class a2bus_cffa2000_device:
public device_a2bus_card_interface
{
public:
- // construction/destruction
- a2bus_cffa2000_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
+ // construction/destruction
+ a2bus_cffa2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -79,7 +81,7 @@ protected:
};
// device type definition
-extern const device_type A2BUS_CFFA2;
-extern const device_type A2BUS_CFFA2_6502;
+DECLARE_DEVICE_TYPE(A2BUS_CFFA2, a2bus_cffa2_device)
+DECLARE_DEVICE_TYPE(A2BUS_CFFA2_6502, a2bus_cffa2_6502_device)
-#endif /* __A2BUS_CFFA2__ */
+#endif // MAME_BUS_A2BUS_A2CFFA_H
diff --git a/src/devices/bus/a2bus/a2corvus.cpp b/src/devices/bus/a2bus/a2corvus.cpp
index 7c399b215f4..15e734ddfef 100644
--- a/src/devices/bus/a2bus/a2corvus.cpp
+++ b/src/devices/bus/a2bus/a2corvus.cpp
@@ -52,7 +52,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_CORVUS = device_creator<a2bus_corvus_device>;
+DEFINE_DEVICE_TYPE(A2BUS_CORVUS, a2bus_corvus_device, "a2corvus", "Corvus Flat Cable interface")
#define CORVUS_ROM_REGION "corvus_rom"
#define CORVUS_HD_TAG "corvushd"
@@ -101,17 +101,15 @@ const tiny_rom_entry *a2bus_corvus_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_corvus_device::a2bus_corvus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_corvus_device::a2bus_corvus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_corvushd(*this, CORVUS_HD_TAG), m_rom(nullptr)
{
}
a2bus_corvus_device::a2bus_corvus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_CORVUS, "Corvus Flat Cable interface", tag, owner, clock, "a2corvus", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_corvushd(*this, CORVUS_HD_TAG), m_rom(nullptr)
+ a2bus_corvus_device(mconfig, A2BUS_CORVUS, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2corvus.h b/src/devices/bus/a2bus/a2corvus.h
index a221ef51d45..2a58d280a06 100644
--- a/src/devices/bus/a2bus/a2corvus.h
+++ b/src/devices/bus/a2bus/a2corvus.h
@@ -9,8 +9,10 @@
*********************************************************************/
-#ifndef __A2BUS_CORVUS__
-#define __A2BUS_CORVUS__
+#ifndef MAME_A2BUS_A2CORVUS_H
+#define MAME_A2BUS_A2CORVUS_H
+
+#pragma once
#include "a2bus.h"
#include "machine/corvushd.h"
@@ -25,16 +27,15 @@ class a2bus_corvus_device:
{
public:
// construction/destruction
- a2bus_corvus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_corvus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
- required_device<corvus_hdc_t> m_corvushd;
-
protected:
+ a2bus_corvus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -44,11 +45,13 @@ protected:
virtual uint8_t read_cnxx(address_space &space, uint8_t offset) override;
virtual uint8_t read_c800(address_space &space, uint16_t offset) override;
+ required_device<corvus_hdc_device> m_corvushd;
+
private:
uint8_t *m_rom;
};
// device type definition
-extern const device_type A2BUS_CORVUS;
+DECLARE_DEVICE_TYPE(A2BUS_CORVUS, a2bus_corvus_device)
-#endif /* __A2BUS_CORVUS__ */
+#endif // MAME_A2BUS_A2CORVUS_H
diff --git a/src/devices/bus/a2bus/a2diskii.cpp b/src/devices/bus/a2bus/a2diskii.cpp
index a28cc19076b..71f6895ea44 100644
--- a/src/devices/bus/a2bus/a2diskii.cpp
+++ b/src/devices/bus/a2bus/a2diskii.cpp
@@ -23,9 +23,9 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_DISKII = device_creator<a2bus_diskii_device>;
-const device_type A2BUS_IWM_FDC = device_creator<a2bus_iwmflop_device>;
-const device_type A2BUS_AGAT7_FDC = device_creator<a2bus_agat7flop_device>;
+DEFINE_DEVICE_TYPE(A2BUS_DISKII, a2bus_diskii_device, "a2diskii", "Apple Disk II controller")
+DEFINE_DEVICE_TYPE(A2BUS_IWM_FDC, a2bus_iwmflop_device, "a2iwm_flop", "Apple IWM floppy card")
+DEFINE_DEVICE_TYPE(A2BUS_AGAT7_FDC, a2bus_agat7flop_device, "agat7_flop", "Agat-7 140K floppy card")
#define DISKII_ROM_REGION "diskii_rom"
#define FDC_TAG "diskii_fdc"
@@ -100,25 +100,25 @@ const tiny_rom_entry *a2bus_agat7flop_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_floppy_device::a2bus_floppy_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_a2bus_card_interface(mconfig, *this),
- m_fdc(*this, FDC_TAG), m_rom(nullptr)
+a2bus_floppy_device::a2bus_floppy_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_a2bus_card_interface(mconfig, *this),
+ m_fdc(*this, FDC_TAG), m_rom(nullptr)
{
}
a2bus_diskii_device::a2bus_diskii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_floppy_device(mconfig, A2BUS_DISKII, "Apple Disk II controller", tag, owner, clock, "a2diskii", __FILE__)
+ a2bus_floppy_device(mconfig, A2BUS_DISKII, tag, owner, clock)
{
}
a2bus_iwmflop_device::a2bus_iwmflop_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_floppy_device(mconfig, A2BUS_IWM_FDC, "Apple IWM floppy card", tag, owner, clock, "a2iwm_flop", __FILE__)
+ a2bus_floppy_device(mconfig, A2BUS_IWM_FDC, tag, owner, clock)
{
}
a2bus_agat7flop_device::a2bus_agat7flop_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_floppy_device(mconfig, A2BUS_AGAT7_FDC, "Agat-7 140K floppy card", tag, owner, clock, "agat7_flop", __FILE__)
+ a2bus_floppy_device(mconfig, A2BUS_AGAT7_FDC, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2diskii.h b/src/devices/bus/a2bus/a2diskii.h
index 9d17757a144..b4367fd0aea 100644
--- a/src/devices/bus/a2bus/a2diskii.h
+++ b/src/devices/bus/a2bus/a2diskii.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_DISKII__
-#define __A2BUS_DISKII__
+#ifndef MAME_BUS_A2BUS_A2DISKII_H
+#define MAME_BUS_A2BUS_A2DISKII_H
+
+#pragma once
#include "a2bus.h"
#include "machine/applefdc.h"
@@ -23,14 +25,14 @@ class a2bus_floppy_device:
public device_a2bus_card_interface
{
public:
- // construction/destruction
- a2bus_floppy_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
+ // construction/destruction
+ a2bus_floppy_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -68,8 +70,8 @@ public:
};
// device type definition
-extern const device_type A2BUS_DISKII;
-extern const device_type A2BUS_IWM_FDC;
-extern const device_type A2BUS_AGAT7_FDC;
+DECLARE_DEVICE_TYPE(A2BUS_DISKII, a2bus_diskii_device)
+DECLARE_DEVICE_TYPE(A2BUS_IWM_FDC, a2bus_iwmflop_device)
+DECLARE_DEVICE_TYPE(A2BUS_AGAT7_FDC, a2bus_agat7flop_device)
-#endif /* __A2BUS_DISKII__ */
+#endif // MAME_BUS_A2BUS_A2DISKII_H
diff --git a/src/devices/bus/a2bus/a2diskiing.cpp b/src/devices/bus/a2bus/a2diskiing.cpp
index a1ebc3fb3c1..3235f4ec2ba 100644
--- a/src/devices/bus/a2bus/a2diskiing.cpp
+++ b/src/devices/bus/a2bus/a2diskiing.cpp
@@ -21,7 +21,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_DISKIING = device_creator<a2bus_diskiing_device>;
+DEFINE_DEVICE_TYPE(A2BUS_DISKIING, a2bus_diskiing_device, "a2diskiing", "Apple Disk II NG controller")
#define WOZFDC_TAG "wozfdc"
#define DISKII_ROM_REGION "diskii_rom"
@@ -69,11 +69,12 @@ const tiny_rom_entry *a2bus_diskiing_device::device_rom_region() const
//**************************************************************************
a2bus_diskiing_device::a2bus_diskiing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_DISKIING, "Apple Disk II NG controller", tag, owner, clock, "a2diskiing", __FILE__),
+ device_t(mconfig, A2BUS_DISKIING, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_wozfdc(*this, WOZFDC_TAG),
floppy0(*this, "0"),
- floppy1(*this, "1"), m_rom(nullptr)
+ floppy1(*this, "1"),
+ m_rom(nullptr)
{
}
diff --git a/src/devices/bus/a2bus/a2diskiing.h b/src/devices/bus/a2bus/a2diskiing.h
index 76e16818700..68c705435e6 100644
--- a/src/devices/bus/a2bus/a2diskiing.h
+++ b/src/devices/bus/a2bus/a2diskiing.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_DISKIING__
-#define __A2BUS_DISKIING__
+#ifndef MAME_BUS_A2BUS_A2DISKIING_H
+#define MAME_BUS_A2BUS_A2DISKIING_H
+
+#pragma once
#include "a2bus.h"
#include "imagedev/floppy.h"
@@ -45,7 +47,7 @@ protected:
virtual uint8_t read_cnxx(address_space &space, uint8_t offset) override;
private:
- required_device<diskii_fdc> m_wozfdc;
+ required_device<diskii_fdc_device> m_wozfdc;
required_device<floppy_connector> floppy0;
required_device<floppy_connector> floppy1;
@@ -53,6 +55,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_DISKIING;
+DECLARE_DEVICE_TYPE(A2BUS_DISKIING, a2bus_diskiing_device)
-#endif /* __A2BUS_DISKIING__ */
+#endif // MAME_BUS_A2BUS_A2DISKIING_H
diff --git a/src/devices/bus/a2bus/a2dx1.cpp b/src/devices/bus/a2bus/a2dx1.cpp
index 16b68bb2e81..16ec11d63d0 100644
--- a/src/devices/bus/a2bus/a2dx1.cpp
+++ b/src/devices/bus/a2bus/a2dx1.cpp
@@ -21,7 +21,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_DX1 = device_creator<a2bus_dx1_device>;
+DEFINE_DEVICE_TYPE(A2BUS_DX1, a2bus_dx1_device, "a2dx1", "Decillonix DX-1")
MACHINE_CONFIG_FRAGMENT( a2dx1 )
MCFG_SPEAKER_STANDARD_MONO("speaker")
@@ -50,8 +50,8 @@ machine_config_constructor a2bus_dx1_device::device_mconfig_additions() const
// LIVE DEVICE
//**************************************************************************
-a2bus_dx1_device::a2bus_dx1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_dx1_device::a2bus_dx1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_dac(*this, "dac"),
m_dacvol(*this, "dacvol")
@@ -59,10 +59,7 @@ a2bus_dx1_device::a2bus_dx1_device(const machine_config &mconfig, device_type ty
}
a2bus_dx1_device::a2bus_dx1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_DX1, "Decillonix DX-1", tag, owner, clock, "a2dx1", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_dac(*this, "dac"),
- m_dacvol(*this, "dacvol")
+ a2bus_dx1_device(mconfig, A2BUS_DX1, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2dx1.h b/src/devices/bus/a2bus/a2dx1.h
index a5c60a19ffa..f831e5777a6 100644
--- a/src/devices/bus/a2bus/a2dx1.h
+++ b/src/devices/bus/a2bus/a2dx1.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_DX1__
-#define __A2BUS_DX1__
+#ifndef MAME_BUS_A2BUS_A2DX1_H
+#define MAME_BUS_A2BUS_A2DX1_H
+
+#pragma once
#include "a2bus.h"
#include "sound/dac.h"
@@ -24,25 +26,26 @@ class a2bus_dx1_device:
{
public:
// construction/destruction
- a2bus_dx1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_dx1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
- required_device<dac_byte_interface> m_dac;
- required_device<dac_byte_interface> m_dacvol;
-
protected:
+ a2bus_dx1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
virtual bool take_c800() override;
+
+ required_device<dac_byte_interface> m_dac;
+ required_device<dac_byte_interface> m_dacvol;
};
// device type definition
-extern const device_type A2BUS_DX1;
+DECLARE_DEVICE_TYPE(A2BUS_DX1, a2bus_dx1_device)
-#endif /* __A2BUS_DX1__ */
+#endif // MAME_BUS_A2BUS_A2DX1_H
diff --git a/src/devices/bus/a2bus/a2eauxslot.cpp b/src/devices/bus/a2bus/a2eauxslot.cpp
index 8fc2f7a8137..7e3ba7ca8e3 100644
--- a/src/devices/bus/a2bus/a2eauxslot.cpp
+++ b/src/devices/bus/a2bus/a2eauxslot.cpp
@@ -16,7 +16,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2EAUXSLOT_SLOT = device_creator<a2eauxslot_slot_device>;
+DEFINE_DEVICE_TYPE(A2EAUXSLOT_SLOT, a2eauxslot_slot_device, "a2eauxslot_slot", "Apple IIe AUX Slot")
//**************************************************************************
// LIVE DEVICE
@@ -25,17 +25,16 @@ const device_type A2EAUXSLOT_SLOT = device_creator<a2eauxslot_slot_device>;
//-------------------------------------------------
// a2eauxslot_slot_device - constructor
//-------------------------------------------------
-a2eauxslot_slot_device::a2eauxslot_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2EAUXSLOT_SLOT, "Apple IIe AUX Slot", tag, owner, clock, "a2eauxslot_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_a2eauxslot_tag(nullptr),
- m_a2eauxslot_slottag(nullptr)
+a2eauxslot_slot_device::a2eauxslot_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : a2eauxslot_slot_device(mconfig, A2EAUXSLOT_SLOT, tag, owner, clock)
{
}
-a2eauxslot_slot_device::a2eauxslot_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this), m_a2eauxslot_tag(nullptr), m_a2eauxslot_slottag(nullptr)
+a2eauxslot_slot_device::a2eauxslot_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_slot_interface(mconfig, *this)
+ , m_a2eauxslot_tag(nullptr)
+ , m_a2eauxslot_slottag(nullptr)
{
}
@@ -61,7 +60,7 @@ void a2eauxslot_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2EAUXSLOT = device_creator<a2eauxslot_device>;
+DEFINE_DEVICE_TYPE(A2EAUXSLOT, a2eauxslot_device, "a2eauxslot", "Apple IIe AUX Bus")
void a2eauxslot_device::static_set_cputag(device_t &device, const char *tag)
{
@@ -77,17 +76,18 @@ void a2eauxslot_device::static_set_cputag(device_t &device, const char *tag)
// a2eauxslot_device - constructor
//-------------------------------------------------
-a2eauxslot_device::a2eauxslot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2EAUXSLOT, "Apple IIe AUX Bus", tag, owner, clock, "a2eauxslot", __FILE__), m_maincpu(nullptr),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this), m_device(nullptr), m_cputag(nullptr)
+a2eauxslot_device::a2eauxslot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : a2eauxslot_device(mconfig, A2EAUXSLOT, tag, owner, clock)
{
}
-a2eauxslot_device::a2eauxslot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source), m_maincpu(nullptr),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this), m_device(nullptr), m_cputag(nullptr)
+a2eauxslot_device::a2eauxslot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , m_maincpu(nullptr)
+ , m_out_irq_cb(*this)
+ , m_out_nmi_cb(*this)
+ , m_device(nullptr)
+ , m_cputag(nullptr)
{
}
//-------------------------------------------------
diff --git a/src/devices/bus/a2bus/a2eauxslot.h b/src/devices/bus/a2bus/a2eauxslot.h
index e697ae17844..b7c3dec55bd 100644
--- a/src/devices/bus/a2bus/a2eauxslot.h
+++ b/src/devices/bus/a2bus/a2eauxslot.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_A2BUS_A2EAUXSLOT_H
+#define MAME_BUS_A2BUS_A2EAUXSLOT_H
-#ifndef __A2EAUXSLOT_H__
-#define __A2EAUXSLOT_H__
+#pragma once
#include "a2bus.h"
@@ -47,20 +47,22 @@ class a2eauxslot_slot_device : public device_t,
public:
// construction/destruction
a2eauxslot_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2eauxslot_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// device-level overrides
virtual void device_start() override;
// inline configuration
static void static_set_a2eauxslot_slot(device_t &device, const char *tag, const char *slottag);
+
protected:
+ a2eauxslot_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// configuration
const char *m_a2eauxslot_tag, *m_a2eauxslot_slottag;
};
// device type definition
-extern const device_type A2EAUXSLOT_SLOT;
+DECLARE_DEVICE_TYPE(A2EAUXSLOT_SLOT, a2eauxslot_slot_device)
class device_a2eauxslot_card_interface;
@@ -71,12 +73,11 @@ class a2eauxslot_device : public device_t
public:
// construction/destruction
a2eauxslot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2eauxslot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// inline configuration
static void static_set_cputag(device_t &device, const char *tag);
- template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<a2eauxslot_device &>(device).m_out_irq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<a2eauxslot_device &>(device).m_out_nmi_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_irq_callback(device_t &device, Object &&cb) { return downcast<a2eauxslot_device &>(device).m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<a2eauxslot_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
void add_a2eauxslot_card(device_a2eauxslot_card_interface *card);
device_a2eauxslot_card_interface *get_a2eauxslot_card();
@@ -88,6 +89,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( nmi_w );
protected:
+ a2eauxslot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -105,6 +108,7 @@ protected:
// device type definition
extern const device_type A2EAUXSLOT;
+DECLARE_DEVICE_TYPE(A2EAUXSLOT, a2eauxslot_device)
// ======================> device_a2eauxslot_card_interface
@@ -114,7 +118,6 @@ class device_a2eauxslot_card_interface : public device_slot_card_interface
friend class a2eauxslot_device;
public:
// construction/destruction
- device_a2eauxslot_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_a2eauxslot_card_interface();
virtual uint8_t read_auxram(uint16_t offset) { printf("a2eauxslot: unhandled auxram read @ %04x\n", offset); return 0xff; }
@@ -135,11 +138,14 @@ public:
// inline configuration
static void static_set_a2eauxslot_tag(device_t &device, const char *tag, const char *slottag);
-public:
+
+protected:
+ device_a2eauxslot_card_interface(const machine_config &mconfig, device_t &device);
+
a2eauxslot_device *m_a2eauxslot;
const char *m_a2eauxslot_tag, *m_a2eauxslot_slottag;
int m_slot;
device_a2eauxslot_card_interface *m_next;
};
-#endif /* __A2EAUXSLOT_H__ */
+#endif // MAME_BUS_A2BUS_A2EAUXSLOT_H
diff --git a/src/devices/bus/a2bus/a2echoii.cpp b/src/devices/bus/a2bus/a2echoii.cpp
index 3803af3fce4..6ea4ca68e48 100644
--- a/src/devices/bus/a2bus/a2echoii.cpp
+++ b/src/devices/bus/a2bus/a2echoii.cpp
@@ -21,7 +21,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_ECHOII = device_creator<a2bus_echoii_device>;
+DEFINE_DEVICE_TYPE(A2BUS_ECHOII, a2bus_echoii_device, "a2echoii", "Street Electronics Echo II")
#define TMS_TAG "tms5220"
@@ -49,17 +49,15 @@ machine_config_constructor a2bus_echoii_device::device_mconfig_additions() const
// LIVE DEVICE
//**************************************************************************
-a2bus_echoii_device::a2bus_echoii_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_echoii_device::a2bus_echoii_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_tms(*this, TMS_TAG)
{
}
a2bus_echoii_device::a2bus_echoii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_ECHOII, "Street Electronics Echo II", tag, owner, clock, "a2echoii", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_tms(*this, TMS_TAG)
+ a2bus_echoii_device(mconfig, A2BUS_ECHOII, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2echoii.h b/src/devices/bus/a2bus/a2echoii.h
index 2dcdf849797..d0781e0c4d9 100644
--- a/src/devices/bus/a2bus/a2echoii.h
+++ b/src/devices/bus/a2bus/a2echoii.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_ECHOII__
-#define __A2BUS_ECHOII__
+#ifndef MAME_BUS_A2BUS_A2ECHOII_H
+#define MAME_BUS_A2BUS_A2ECHOII_H
+
+#pragma once
#include "a2bus.h"
#include "sound/tms5220.h"
@@ -24,7 +26,6 @@ class a2bus_echoii_device:
{
public:
// construction/destruction
- a2bus_echoii_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_echoii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -33,6 +34,8 @@ public:
required_device<tms5220_device> m_tms;
protected:
+ a2bus_echoii_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -44,5 +47,6 @@ protected:
// device type definition
extern const device_type A2BUS_ECHOII;
+DECLARE_DEVICE_TYPE(A2BUS_ECHOII, a2bus_echoii_device)
-#endif /* __A2BUS_ECHOII__ */
+#endif // MAME_BUS_A2BUS_A2ECHOII_H
diff --git a/src/devices/bus/a2bus/a2eext80col.cpp b/src/devices/bus/a2bus/a2eext80col.cpp
index d7732804f58..b98d31c0d5c 100644
--- a/src/devices/bus/a2bus/a2eext80col.cpp
+++ b/src/devices/bus/a2bus/a2eext80col.cpp
@@ -20,20 +20,19 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2EAUX_EXT80COL = device_creator<a2eaux_ext80col_device>;
+DEFINE_DEVICE_TYPE(A2EAUX_EXT80COL, a2eaux_ext80col_device, "a2eext80", "Apple IIe Extended 80-Column Card")
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
a2eaux_ext80col_device::a2eaux_ext80col_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2EAUX_EXT80COL, "Apple IIe Extended 80-Column Card", tag, owner, clock, "a2eext80", __FILE__),
- device_a2eauxslot_card_interface(mconfig, *this)
+ a2eaux_ext80col_device(mconfig, A2EAUX_EXT80COL, tag, owner, clock)
{
}
-a2eaux_ext80col_device::a2eaux_ext80col_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2eaux_ext80col_device::a2eaux_ext80col_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2eauxslot_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/a2bus/a2eext80col.h b/src/devices/bus/a2bus/a2eext80col.h
index 09762dce2cc..2aa89586f5b 100644
--- a/src/devices/bus/a2bus/a2eext80col.h
+++ b/src/devices/bus/a2bus/a2eext80col.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2EAUX_EXT80COL__
-#define __A2EAUX_EXT80COL__
+#ifndef MAME_BUS_A2BUS_A2EEXT809COL_H
+#define MAME_BUS_A2BUS_A2EEXT809COL_H
+
+#pragma once
#include "a2eauxslot.h"
@@ -24,9 +26,10 @@ class a2eaux_ext80col_device:
public:
// construction/destruction
a2eaux_ext80col_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2eaux_ext80col_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
protected:
+ a2eaux_ext80col_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -41,6 +44,6 @@ private:
};
// device type definition
-extern const device_type A2EAUX_EXT80COL;
+DECLARE_DEVICE_TYPE(A2EAUX_EXT80COL, a2eaux_ext80col_device)
-#endif /* __A2EAUX_EXT80COL__ */
+#endif // MAME_BUS_A2BUS_A2EEXT809COL_H
diff --git a/src/devices/bus/a2bus/a2eramworks3.cpp b/src/devices/bus/a2bus/a2eramworks3.cpp
index 587165e81e4..e82225cbd27 100644
--- a/src/devices/bus/a2bus/a2eramworks3.cpp
+++ b/src/devices/bus/a2bus/a2eramworks3.cpp
@@ -21,22 +21,21 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2EAUX_RAMWORKS3 = device_creator<a2eaux_ramworks3_device>;
+DEFINE_DEVICE_TYPE(A2EAUX_RAMWORKS3, a2eaux_ramworks3_device, "a2erwks3", "Applied Engineering RamWorks III")
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
a2eaux_ramworks3_device::a2eaux_ramworks3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2EAUX_RAMWORKS3, "Applied Engineering RamWorks III", tag, owner, clock, "a2erwks3", __FILE__),
- device_a2eauxslot_card_interface(mconfig, *this),
- m_bank(0)
+ a2eaux_ramworks3_device(mconfig, A2EAUX_RAMWORKS3, tag, owner, clock)
{
}
-a2eaux_ramworks3_device::a2eaux_ramworks3_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_a2eauxslot_card_interface(mconfig, *this), m_bank(0)
+a2eaux_ramworks3_device::a2eaux_ramworks3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_a2eauxslot_card_interface(mconfig, *this),
+ m_bank(0)
{
}
diff --git a/src/devices/bus/a2bus/a2eramworks3.h b/src/devices/bus/a2bus/a2eramworks3.h
index 75c8872d1cb..f2b327ebfab 100644
--- a/src/devices/bus/a2bus/a2eramworks3.h
+++ b/src/devices/bus/a2bus/a2eramworks3.h
@@ -8,8 +8,8 @@
*********************************************************************/
-#ifndef __A2EAUX_RAMWORKS3__
-#define __A2EAUX_RAMWORKS3__
+#ifndef MAME_BUS_A2BUS_A2ERAMWORKS3_H
+#define MAME_BUS_A2BUS_A2ERAMWORKS3_H
#include "a2eauxslot.h"
@@ -24,9 +24,10 @@ class a2eaux_ramworks3_device:
public:
// construction/destruction
a2eaux_ramworks3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2eaux_ramworks3_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
protected:
+ a2eaux_ramworks3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -43,6 +44,6 @@ private:
};
// device type definition
-extern const device_type A2EAUX_RAMWORKS3;
+DECLARE_DEVICE_TYPE(A2EAUX_RAMWORKS3, a2eaux_ramworks3_device)
-#endif /* __A2EAUX_RAMWORKS3__ */
+#endif // MAME_BUS_A2BUS_A2ERAMWORKS3_H
diff --git a/src/devices/bus/a2bus/a2estd80col.cpp b/src/devices/bus/a2bus/a2estd80col.cpp
index a32b6750c77..e5a9741e7a0 100644
--- a/src/devices/bus/a2bus/a2estd80col.cpp
+++ b/src/devices/bus/a2bus/a2estd80col.cpp
@@ -20,20 +20,19 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2EAUX_STD80COL = device_creator<a2eaux_std80col_device>;
+DEFINE_DEVICE_TYPE(A2EAUX_STD80COL, a2eaux_std80col_device, "a2estd80", "Apple IIe Standard 80-Column Card")
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
a2eaux_std80col_device::a2eaux_std80col_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2EAUX_STD80COL, "Apple IIe Standard 80-Column Card", tag, owner, clock, "a2estd80", __FILE__),
- device_a2eauxslot_card_interface(mconfig, *this)
+ a2eaux_std80col_device(mconfig, A2EAUX_STD80COL, tag, owner, clock)
{
}
-a2eaux_std80col_device::a2eaux_std80col_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2eaux_std80col_device::a2eaux_std80col_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2eauxslot_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/a2bus/a2estd80col.h b/src/devices/bus/a2bus/a2estd80col.h
index bd483863b1d..6f81860487d 100644
--- a/src/devices/bus/a2bus/a2estd80col.h
+++ b/src/devices/bus/a2bus/a2estd80col.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2EAUX_STD80COL__
-#define __A2EAUX_STD80COL__
+#ifndef MAME_BUS_A2BUS_A2ESTD80COL_H
+#define MAME_BUS_A2BUS_A2ESTD80COL_H
+
+#pragma once
#include "a2eauxslot.h"
@@ -24,9 +26,10 @@ class a2eaux_std80col_device:
public:
// construction/destruction
a2eaux_std80col_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2eaux_std80col_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
protected:
+ a2eaux_std80col_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -41,6 +44,6 @@ private:
};
// device type definition
-extern const device_type A2EAUX_STD80COL;
+DECLARE_DEVICE_TYPE(A2EAUX_STD80COL, a2eaux_std80col_device)
-#endif /* __A2EAUX_STD80COL__ */
+#endif // MAME_BUS_A2BUS_A2ESTD80COL_H
diff --git a/src/devices/bus/a2bus/a2hsscsi.cpp b/src/devices/bus/a2bus/a2hsscsi.cpp
index 7584c73d836..118ad966630 100644
--- a/src/devices/bus/a2bus/a2hsscsi.cpp
+++ b/src/devices/bus/a2bus/a2hsscsi.cpp
@@ -51,7 +51,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_HSSCSI = device_creator<a2bus_hsscsi_device>;
+DEFINE_DEVICE_TYPE(A2BUS_HSSCSI, a2bus_hsscsi_device, "a2hsscsi", "Apple II High-Speed SCSI Card")
#define SCSI_ROM_REGION "scsi_rom"
#define SCSI_BUS_TAG "scsibus"
@@ -113,8 +113,8 @@ const tiny_rom_entry *a2bus_hsscsi_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_hsscsi_device::a2bus_hsscsi_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_hsscsi_device::a2bus_hsscsi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_ncr5380(*this, SCSI_5380_TAG),
m_scsibus(*this, SCSI_BUS_TAG), m_rom(nullptr), m_rambank(0), m_rombank(0), m_drq(0), m_bank(0), m_816block(false), m_c0ne(0), m_c0nf(0)
@@ -122,10 +122,7 @@ a2bus_hsscsi_device::a2bus_hsscsi_device(const machine_config &mconfig, device_t
}
a2bus_hsscsi_device::a2bus_hsscsi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_HSSCSI, "Apple II High-Speed SCSI Card", tag, owner, clock, "a2hsscsi", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_ncr5380(*this, SCSI_5380_TAG),
- m_scsibus(*this, SCSI_BUS_TAG), m_rom(nullptr), m_rambank(0), m_rombank(0), m_drq(0), m_bank(0), m_816block(false), m_c0ne(0), m_c0nf(0)
+ a2bus_hsscsi_device(mconfig, A2BUS_HSSCSI, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2hsscsi.h b/src/devices/bus/a2bus/a2hsscsi.h
index 344253cd1ef..c4ff4d0a0b1 100644
--- a/src/devices/bus/a2bus/a2hsscsi.h
+++ b/src/devices/bus/a2bus/a2hsscsi.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_HSSCSI__
-#define __A2BUS_HSSCSI__
+#ifndef MAME_BUS_A2BUS_A2HSSCSI_H
+#define MAME_BUS_A2BUS_A2HSSCSI_H
+
+#pragma once
#include "a2bus.h"
#include "machine/ncr5380n.h"
@@ -24,19 +26,17 @@ class a2bus_hsscsi_device:
{
public:
// construction/destruction
- a2bus_hsscsi_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_hsscsi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
- required_device<ncr5380n_device> m_ncr5380;
- required_device<nscsi_bus_device> m_scsibus;
-
DECLARE_WRITE_LINE_MEMBER( drq_w );
protected:
+ a2bus_hsscsi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -48,6 +48,9 @@ protected:
virtual uint8_t read_c800(address_space &space, uint16_t offset) override;
virtual void write_c800(address_space &space, uint16_t offset, uint8_t data) override;
+ required_device<ncr5380n_device> m_ncr5380;
+ required_device<nscsi_bus_device> m_scsibus;
+
private:
uint8_t *m_rom;
uint8_t m_ram[8192]; // 8 banks of 1024 bytes
@@ -59,6 +62,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_HSSCSI;
+DECLARE_DEVICE_TYPE(A2BUS_HSSCSI, a2bus_hsscsi_device)
-#endif /* __A2BUS_HSSCSI__ */
+#endif // MAME_BUS_A2BUS_A2HSSCSI_H
diff --git a/src/devices/bus/a2bus/a2mcms.cpp b/src/devices/bus/a2bus/a2mcms.cpp
index 891bc51c0a0..da2459408a0 100644
--- a/src/devices/bus/a2bus/a2mcms.cpp
+++ b/src/devices/bus/a2bus/a2mcms.cpp
@@ -23,7 +23,7 @@ enum
};
-const device_type MCMS = device_creator<mcms_device>;
+DEFINE_DEVICE_TYPE(MCMS, mcms_device, "mcmseng", "Mountain Computer Music System engine")
/***************************************************************************
PARAMETERS
@@ -33,8 +33,8 @@ const device_type MCMS = device_creator<mcms_device>;
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_MCMS1 = device_creator<a2bus_mcms1_device>;
-const device_type A2BUS_MCMS2 = device_creator<a2bus_mcms2_device>;
+DEFINE_DEVICE_TYPE(A2BUS_MCMS1, a2bus_mcms1_device, "a2mcms1", "Mountain Computer Music System (card 1)")
+DEFINE_DEVICE_TYPE(A2BUS_MCMS2, a2bus_mcms2_device, "a2mcms2", "Mountain Computer Music System (card 2)")
#define ENGINE_TAG "engine"
@@ -69,17 +69,15 @@ machine_config_constructor a2bus_mcms1_device::device_mconfig_additions() const
// LIVE DEVICE - Card 1
//**************************************************************************
-a2bus_mcms1_device::a2bus_mcms1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_mcms1_device::a2bus_mcms1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_mcms(*this, ENGINE_TAG)
{
}
a2bus_mcms1_device::a2bus_mcms1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_MCMS1, "Mountain Computer Music System (card 1)", tag, owner, clock, "a2mcms1", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_mcms(*this, ENGINE_TAG)
+ a2bus_mcms1_device(mconfig, A2BUS_MCMS1, tag, owner, clock)
{
}
@@ -150,15 +148,14 @@ WRITE_LINE_MEMBER(a2bus_mcms1_device::irq_w)
// LIVE DEVICE - Card 2
//**************************************************************************
-a2bus_mcms2_device::a2bus_mcms2_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_mcms2_device::a2bus_mcms2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this), m_card1(nullptr), m_engine(nullptr)
{
}
a2bus_mcms2_device::a2bus_mcms2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_MCMS2, "Mountain Computer Music System (card 2)", tag, owner, clock, "a2mcms2", __FILE__),
- device_a2bus_card_interface(mconfig, *this), m_card1(nullptr), m_engine(nullptr)
+ a2bus_mcms2_device(mconfig, A2BUS_MCMS2, tag, owner, clock)
{
}
@@ -214,7 +211,7 @@ void a2bus_mcms2_device::write_cnxx(address_space &space, uint8_t offset, uint8_
*/
mcms_device::mcms_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MCMS, "Mountain Computer Music System engine", tag, owner, clock, "msmseng", __FILE__),
+ : device_t(mconfig, MCMS, tag, owner, clock),
device_sound_interface(mconfig, *this),
m_write_irq(*this), m_stream(nullptr), m_timer(nullptr), m_clrtimer(nullptr), m_pBusDevice(nullptr), m_enabled(false), m_mastervol(0), m_rand(0)
{
diff --git a/src/devices/bus/a2bus/a2mcms.h b/src/devices/bus/a2bus/a2mcms.h
index 9877b8e945b..e854169bae3 100644
--- a/src/devices/bus/a2bus/a2mcms.h
+++ b/src/devices/bus/a2bus/a2mcms.h
@@ -10,8 +10,8 @@
*********************************************************************/
-#ifndef __A2BUS_MCMS__
-#define __A2BUS_MCMS__
+#ifndef MAME_BUS_A2BUS_A2MCMS_H
+#define MAME_BUS_A2BUS_A2MCMS_H
#include "a2bus.h"
@@ -64,7 +64,6 @@ class a2bus_mcms1_device:
{
public:
// construction/destruction
- a2bus_mcms1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_mcms1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -78,6 +77,8 @@ public:
required_device<mcms_device> m_mcms;
protected:
+ a2bus_mcms1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -95,10 +96,11 @@ class a2bus_mcms2_device:
{
public:
// construction/destruction
- a2bus_mcms2_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_mcms2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
+ a2bus_mcms2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -114,7 +116,7 @@ private:
};
// device type definition
-extern const device_type A2BUS_MCMS1;
-extern const device_type A2BUS_MCMS2;
+DECLARE_DEVICE_TYPE(A2BUS_MCMS1, a2bus_mcms1_device)
+DECLARE_DEVICE_TYPE(A2BUS_MCMS2, a2bus_mcms2_device)
-#endif /* __A2BUS_MCMS__ */
+#endif // MAME_BUS_A2BUS_A2MCMS_H
diff --git a/src/devices/bus/a2bus/a2memexp.cpp b/src/devices/bus/a2bus/a2memexp.cpp
index ebd2bb4dc9a..df9d39dbdc8 100644
--- a/src/devices/bus/a2bus/a2memexp.cpp
+++ b/src/devices/bus/a2bus/a2memexp.cpp
@@ -20,8 +20,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_MEMEXP = device_creator<a2bus_memexpapple_device>;
-const device_type A2BUS_RAMFACTOR = device_creator<a2bus_ramfactor_device>;
+DEFINE_DEVICE_TYPE(A2BUS_MEMEXP, a2bus_memexpapple_device, "a2memexp", "Apple II Memory Expansion Card")
+DEFINE_DEVICE_TYPE(A2BUS_RAMFACTOR, a2bus_ramfactor_device, "a2ramfac", "Applied Engineering RamFactor")
#define MEMEXP_ROM_REGION "memexp_rom"
@@ -73,14 +73,14 @@ const tiny_rom_entry *a2bus_ramfactor_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_memexp_device::a2bus_memexp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_memexp_device::a2bus_memexp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this), m_isramfactor(false), m_bankhior(0), m_addrmask(0), m_rom(nullptr), m_wptr(0), m_liveptr(0)
{
}
a2bus_memexpapple_device::a2bus_memexpapple_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_memexp_device(mconfig, A2BUS_MEMEXP, "Apple II Memory Expansion Card", tag, owner, clock, "a2memexp", __FILE__)
+ a2bus_memexp_device(mconfig, A2BUS_MEMEXP, tag, owner, clock)
{
m_isramfactor = false;
m_bankhior = 0xf0;
@@ -88,7 +88,7 @@ a2bus_memexpapple_device::a2bus_memexpapple_device(const machine_config &mconfig
}
a2bus_ramfactor_device::a2bus_ramfactor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_memexp_device(mconfig, A2BUS_RAMFACTOR, "Applied Engineering RamFactor", tag, owner, clock, "a2ramfac", __FILE__)
+ a2bus_memexp_device(mconfig, A2BUS_RAMFACTOR, tag, owner, clock)
{
m_isramfactor = true;
m_bankhior = 0x00;
diff --git a/src/devices/bus/a2bus/a2memexp.h b/src/devices/bus/a2bus/a2memexp.h
index 554ff0c0c13..d3b4e76ef16 100644
--- a/src/devices/bus/a2bus/a2memexp.h
+++ b/src/devices/bus/a2bus/a2memexp.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_MEMEXP__
-#define __A2BUS_MEMEXP__
+#ifndef MAME_BUS_A2BUS_A2MEMEXP_H
+#define MAME_BUS_A2BUS_A2MEMEXP_H
+
+#pragma once
#include "a2bus.h"
@@ -22,9 +24,6 @@ class a2bus_memexp_device:
public device_a2bus_card_interface
{
public:
- // construction/destruction
- a2bus_memexp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -34,6 +33,9 @@ public:
int m_addrmask;
protected:
+ // construction/destruction
+ a2bus_memexp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -65,7 +67,7 @@ public:
};
// device type definition
-extern const device_type A2BUS_MEMEXP;
-extern const device_type A2BUS_RAMFACTOR;
+DECLARE_DEVICE_TYPE(A2BUS_MEMEXP, a2bus_memexpapple_device)
+DECLARE_DEVICE_TYPE(A2BUS_RAMFACTOR, a2bus_ramfactor_device)
-#endif /* __A2BUS_MEMEXP__ */
+#endif // MAME_BUS_A2BUS_A2MEMEXP_H
diff --git a/src/devices/bus/a2bus/a2midi.cpp b/src/devices/bus/a2bus/a2midi.cpp
index f8a9df64e8d..eff2cd8bcbf 100644
--- a/src/devices/bus/a2bus/a2midi.cpp
+++ b/src/devices/bus/a2bus/a2midi.cpp
@@ -22,7 +22,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_MIDI = device_creator<a2bus_midi_device>;
+DEFINE_DEVICE_TYPE(A2BUS_MIDI, a2bus_midi_device, "a2midi", "6850 MIDI card")
#define MIDI_PTM_TAG "midi_ptm"
#define MIDI_ACIA_TAG "midi_acia"
@@ -60,16 +60,12 @@ machine_config_constructor a2bus_midi_device::device_mconfig_additions() const
//**************************************************************************
a2bus_midi_device::a2bus_midi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_MIDI, "6850 MIDI card", tag, owner, clock, "a2midi", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_ptm(*this, MIDI_PTM_TAG),
- m_acia(*this, MIDI_ACIA_TAG), m_acia_irq(false),
- m_ptm_irq(false)
+ a2bus_midi_device(mconfig, A2BUS_MIDI, tag, owner, clock)
{
}
-a2bus_midi_device::a2bus_midi_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_midi_device::a2bus_midi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_ptm(*this, MIDI_PTM_TAG),
m_acia(*this, MIDI_ACIA_TAG), m_acia_irq(false),
diff --git a/src/devices/bus/a2bus/a2midi.h b/src/devices/bus/a2bus/a2midi.h
index 3442805ed49..7852dbea2f4 100644
--- a/src/devices/bus/a2bus/a2midi.h
+++ b/src/devices/bus/a2bus/a2midi.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_MIDI__
-#define __A2BUS_MIDI__
+#ifndef MAME_BUS_A2BUS_A2MIDI_H
+#define MAME_BUS_A2BUS_A2MIDI_H
+
+#pragma once
#include "a2bus.h"
#include "machine/6840ptm.h"
@@ -26,7 +28,6 @@ class a2bus_midi_device:
public:
// construction/destruction
a2bus_midi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_midi_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -36,6 +37,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
protected:
+ a2bus_midi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -50,6 +53,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_MIDI;
+DECLARE_DEVICE_TYPE(A2BUS_MIDI, a2bus_midi_device)
-#endif /* __A2BUS_MIDI__ */
+#endif // MAME_BUS_A2BUS_A2MIDI_H
diff --git a/src/devices/bus/a2bus/a2mockingboard.cpp b/src/devices/bus/a2bus/a2mockingboard.cpp
index 98c33c6fd09..9492b2f2060 100644
--- a/src/devices/bus/a2bus/a2mockingboard.cpp
+++ b/src/devices/bus/a2bus/a2mockingboard.cpp
@@ -30,9 +30,9 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_MOCKINGBOARD = device_creator<a2bus_mockingboard_device>;
-const device_type A2BUS_PHASOR = device_creator<a2bus_phasor_device>;
-const device_type A2BUS_ECHOPLUS = device_creator<a2bus_echoplus_device>;
+DEFINE_DEVICE_TYPE(A2BUS_MOCKINGBOARD, a2bus_mockingboard_device, "a2mockbd", "Sweet Micro Systems Mockingboard")
+DEFINE_DEVICE_TYPE(A2BUS_PHASOR, a2bus_phasor_device, "a2phasor", "Applied Engineering Phasor")
+DEFINE_DEVICE_TYPE(A2BUS_ECHOPLUS, a2bus_echoplus_device, "a2echop", "Street Electronics Echo Plus")
MACHINE_CONFIG_FRAGMENT( mockingboard )
MCFG_DEVICE_ADD(VIA1_TAG, VIA6522, 1022727)
@@ -121,8 +121,8 @@ machine_config_constructor a2bus_echoplus_device::device_mconfig_additions() con
// LIVE DEVICE
//**************************************************************************
-a2bus_ayboard_device::a2bus_ayboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_ayboard_device::a2bus_ayboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_via1(*this, VIA1_TAG),
m_via2(*this, VIA2_TAG),
@@ -134,21 +134,21 @@ a2bus_ayboard_device::a2bus_ayboard_device(const machine_config &mconfig, device
}
a2bus_mockingboard_device::a2bus_mockingboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_ayboard_device(mconfig, A2BUS_MOCKINGBOARD, "Sweet Micro Systems Mockingboard", tag, owner, clock, "a2mockbd", __FILE__)
+ a2bus_ayboard_device(mconfig, A2BUS_MOCKINGBOARD, tag, owner, clock)
{
m_isPhasor = false;
m_PhasorNative = false;
}
a2bus_phasor_device::a2bus_phasor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_ayboard_device(mconfig, A2BUS_PHASOR, "Applied Engineering Phasor", tag, owner, clock, "a2phasor", __FILE__)
+ a2bus_ayboard_device(mconfig, A2BUS_PHASOR, tag, owner, clock)
{
m_isPhasor = true;
m_PhasorNative = false;
}
a2bus_echoplus_device::a2bus_echoplus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_ayboard_device(mconfig, A2BUS_ECHOPLUS, "Street Electronics Echo Plus", tag, owner, clock, "a2echop", __FILE__),
+ a2bus_ayboard_device(mconfig, A2BUS_ECHOPLUS, tag, owner, clock),
m_tms(*this, E2P_TMS_TAG)
{
m_isPhasor = false;
diff --git a/src/devices/bus/a2bus/a2mockingboard.h b/src/devices/bus/a2bus/a2mockingboard.h
index 279f06c0110..870e1dd2f15 100644
--- a/src/devices/bus/a2bus/a2mockingboard.h
+++ b/src/devices/bus/a2bus/a2mockingboard.h
@@ -8,8 +8,8 @@
*********************************************************************/
-#ifndef __A2BUS_MOCKINGBOARD__
-#define __A2BUS_MOCKINGBOARD__
+#ifndef MAME_BUS_A2BUS_A2MOCKINGBOARD_H
+#define MAME_BUS_A2BUS_A2MOCKINGBOARD_H
#include "a2bus.h"
#include "machine/6522via.h"
@@ -25,9 +25,6 @@ class a2bus_ayboard_device:
public device_a2bus_card_interface
{
public:
- // construction/destruction
- a2bus_ayboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -39,6 +36,9 @@ public:
DECLARE_WRITE8_MEMBER(via2_out_b);
protected:
+ // construction/destruction
+ a2bus_ayboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -80,17 +80,18 @@ class a2bus_echoplus_device : public a2bus_ayboard_device
public:
a2bus_echoplus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual machine_config_constructor device_mconfig_additions() const override;
+
+protected:
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
required_device<tms5220_device> m_tms;
-
- virtual machine_config_constructor device_mconfig_additions() const override;
};
// device type definition
-extern const device_type A2BUS_MOCKINGBOARD;
-extern const device_type A2BUS_PHASOR;
-extern const device_type A2BUS_ECHOPLUS;
+DECLARE_DEVICE_TYPE(A2BUS_MOCKINGBOARD, a2bus_mockingboard_device)
+DECLARE_DEVICE_TYPE(A2BUS_PHASOR, a2bus_phasor_device)
+DECLARE_DEVICE_TYPE(A2BUS_ECHOPLUS, a2bus_echoplus_device)
-#endif /* __A2BUS_MOCKINGBOARD__ */
+#endif // MAME_BUS_A2BUS_A2MOCKINGBOARD_H
diff --git a/src/devices/bus/a2bus/a2pic.cpp b/src/devices/bus/a2bus/a2pic.cpp
index d05842a7269..abe7554574f 100644
--- a/src/devices/bus/a2bus/a2pic.cpp
+++ b/src/devices/bus/a2bus/a2pic.cpp
@@ -19,7 +19,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_PIC = device_creator<a2bus_pic_device>;
+DEFINE_DEVICE_TYPE(A2BUS_PIC, a2bus_pic_device, "a2pic", "Apple Parallel Interface Card")
#define PIC_ROM_REGION "pic_rom"
#define PIC_CENTRONICS_TAG "pic_ctx"
@@ -100,18 +100,12 @@ const tiny_rom_entry *a2bus_pic_device::device_rom_region() const
//**************************************************************************
a2bus_pic_device::a2bus_pic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_PIC, "Apple Parallel Interface Card", tag, owner, clock, "a2pic", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_dsw1(*this, "DSW1"),
- m_ctx(*this, PIC_CENTRONICS_TAG),
- m_ctx_data_in(*this, "ctx_data_in"),
- m_ctx_data_out(*this, "ctx_data_out"), m_rom(nullptr),
- m_started(false), m_ack(0), m_irqenable(false), m_autostrobe(false), m_timer(nullptr)
+ a2bus_pic_device(mconfig, A2BUS_PIC, tag, owner, clock)
{
}
-a2bus_pic_device::a2bus_pic_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_pic_device::a2bus_pic_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_dsw1(*this, "DSW1"),
m_ctx(*this, PIC_CENTRONICS_TAG),
diff --git a/src/devices/bus/a2bus/a2pic.h b/src/devices/bus/a2bus/a2pic.h
index 83ff5bd2fa4..fbc0c24a97e 100644
--- a/src/devices/bus/a2bus/a2pic.h
+++ b/src/devices/bus/a2bus/a2pic.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_PIC__
-#define __A2BUS_PIC__
+#ifndef MAME_BUS_A2BUS_A2PIC_H
+#define MAME_BUS_A2BUS_A2PIC_H
+
+#pragma once
#include "a2bus.h"
#include "bus/centronics/ctronics.h"
@@ -25,18 +27,17 @@ class a2bus_pic_device:
public:
// construction/destruction
a2bus_pic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_pic_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
- required_ioport m_dsw1;
-
DECLARE_WRITE_LINE_MEMBER( ack_w );
protected:
+ a2bus_pic_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -45,13 +46,15 @@ protected:
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
virtual uint8_t read_cnxx(address_space &space, uint8_t offset) override;
+ void start_strobe();
+ void clear_strobe();
+
+ required_ioport m_dsw1;
+
required_device<centronics_device> m_ctx;
required_device<input_buffer_device> m_ctx_data_in;
required_device<output_latch_device> m_ctx_data_out;
- void start_strobe();
- void clear_strobe();
-
private:
uint8_t *m_rom;
bool m_started;
@@ -62,6 +65,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_PIC;
+DECLARE_DEVICE_TYPE(A2BUS_PIC, a2bus_pic_device)
-#endif /* __A2BUS_PIC__ */
+#endif // MAME_BUS_A2BUS_A2PIC_H
diff --git a/src/devices/bus/a2bus/a2sam.cpp b/src/devices/bus/a2bus/a2sam.cpp
index 322be844267..3dc70bb326a 100644
--- a/src/devices/bus/a2bus/a2sam.cpp
+++ b/src/devices/bus/a2bus/a2sam.cpp
@@ -21,7 +21,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_SAM = device_creator<a2bus_sam_device>;
+DEFINE_DEVICE_TYPE(A2BUS_SAM, a2bus_sam_device, "a2sam", "Don't Ask Software SAM")
MACHINE_CONFIG_FRAGMENT( a2sam )
MCFG_SPEAKER_STANDARD_MONO("speaker")
@@ -49,7 +49,7 @@ machine_config_constructor a2bus_sam_device::device_mconfig_additions() const
//**************************************************************************
a2bus_sam_device::a2bus_sam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_SAM, "Don't Ask Software SAM", tag, owner, clock, "a2sam", __FILE__),
+ device_t(mconfig, A2BUS_SAM, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_dac(*this, "dac")
{
diff --git a/src/devices/bus/a2bus/a2sam.h b/src/devices/bus/a2bus/a2sam.h
index 29777e42b60..49e6e40329d 100644
--- a/src/devices/bus/a2bus/a2sam.h
+++ b/src/devices/bus/a2bus/a2sam.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_SAM__
-#define __A2BUS_SAM__
+#ifndef MAME_BUS_A2BUS_A2SAM_H
+#define MAME_BUS_A2BUS_A2SAM_H
+
+#pragma once
#include "a2bus.h"
#include "sound/dac.h"
@@ -29,8 +31,6 @@ public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
- required_device<dac_byte_interface> m_dac;
-
protected:
virtual void device_start() override;
virtual void device_reset() override;
@@ -38,9 +38,11 @@ protected:
// overrides of standard a2bus slot functions
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
virtual bool take_c800() override;
+
+ required_device<dac_byte_interface> m_dac;
};
// device type definition
extern const device_type A2BUS_SAM;
-#endif /* __A2BUS_SAM__ */
+#endif // MAME_BUS_A2BUS_A2SAM_H
diff --git a/src/devices/bus/a2bus/a2scsi.cpp b/src/devices/bus/a2bus/a2scsi.cpp
index 00e0c27bb11..447a5867bb4 100644
--- a/src/devices/bus/a2bus/a2scsi.cpp
+++ b/src/devices/bus/a2bus/a2scsi.cpp
@@ -44,7 +44,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_SCSI = device_creator<a2bus_scsi_device>;
+DEFINE_DEVICE_TYPE(A2BUS_SCSI, a2bus_scsi_device, "a2scsi", "Apple II SCSI Card")
#define SCSI_ROM_REGION "scsi_rom"
#define SCSI_BUS_TAG "scsibus"
@@ -106,8 +106,8 @@ const tiny_rom_entry *a2bus_scsi_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_scsi_device::a2bus_scsi_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_scsi_device::a2bus_scsi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_ncr5380(*this, SCSI_5380_TAG),
m_scsibus(*this, SCSI_BUS_TAG), m_rom(nullptr), m_rambank(0), m_rombank(0), m_drq(0), m_bank(0), m_816block(false)
@@ -115,10 +115,7 @@ a2bus_scsi_device::a2bus_scsi_device(const machine_config &mconfig, device_type
}
a2bus_scsi_device::a2bus_scsi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_SCSI, "Apple II SCSI Card", tag, owner, clock, "a2scsi", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_ncr5380(*this, SCSI_5380_TAG),
- m_scsibus(*this, SCSI_BUS_TAG), m_rom(nullptr), m_rambank(0), m_rombank(0), m_drq(0), m_bank(0), m_816block(false)
+ a2bus_scsi_device(mconfig, A2BUS_SCSI, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2scsi.h b/src/devices/bus/a2bus/a2scsi.h
index 4d5fac99a20..35e60eaf89e 100644
--- a/src/devices/bus/a2bus/a2scsi.h
+++ b/src/devices/bus/a2bus/a2scsi.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_SCSI__
-#define __A2BUS_SCSI__
+#ifndef MAME_BUS_A2BUS_A2SCSI_H
+#define MAME_BUS_A2BUS_A2SCSI_H
+
+#pragma once
#include "a2bus.h"
#include "machine/ncr5380n.h"
@@ -24,19 +26,17 @@ class a2bus_scsi_device:
{
public:
// construction/destruction
- a2bus_scsi_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_scsi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
- required_device<ncr5380n_device> m_ncr5380;
- required_device<nscsi_bus_device> m_scsibus;
-
DECLARE_WRITE_LINE_MEMBER( drq_w );
protected:
+ a2bus_scsi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -48,6 +48,9 @@ protected:
virtual uint8_t read_c800(address_space &space, uint16_t offset) override;
virtual void write_c800(address_space &space, uint16_t offset, uint8_t data) override;
+ required_device<ncr5380n_device> m_ncr5380;
+ required_device<nscsi_bus_device> m_scsibus;
+
private:
uint8_t *m_rom;
uint8_t m_ram[8192]; // 8 banks of 1024 bytes
@@ -58,6 +61,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_SCSI;
+DECLARE_DEVICE_TYPE(A2BUS_SCSI, a2bus_scsi_device)
-#endif /* __A2BUS_SCSI__ */
+#endif // MAME_BUS_A2BUS_A2SCSI_H
diff --git a/src/devices/bus/a2bus/a2softcard.cpp b/src/devices/bus/a2bus/a2softcard.cpp
index 3051755dc0f..1d8cea0121e 100644
--- a/src/devices/bus/a2bus/a2softcard.cpp
+++ b/src/devices/bus/a2bus/a2softcard.cpp
@@ -20,7 +20,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_SOFTCARD = device_creator<a2bus_softcard_device>;
+DEFINE_DEVICE_TYPE(A2BUS_SOFTCARD, a2bus_softcard_device, "a2softcard", "Microsoft SoftCard")
#define Z80_TAG "z80"
@@ -51,17 +51,15 @@ machine_config_constructor a2bus_softcard_device::device_mconfig_additions() con
// LIVE DEVICE
//**************************************************************************
-a2bus_softcard_device::a2bus_softcard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_softcard_device::a2bus_softcard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_z80(*this, Z80_TAG), m_bEnabled(false), m_FirstZ80Boot(false)
{
}
a2bus_softcard_device::a2bus_softcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_SOFTCARD, "Microsoft SoftCard", tag, owner, clock, "a2softcard", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_z80(*this, Z80_TAG), m_bEnabled(false), m_FirstZ80Boot(false)
+ a2bus_softcard_device(mconfig, A2BUS_SOFTCARD, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2softcard.h b/src/devices/bus/a2bus/a2softcard.h
index f8545e1ae6a..025686a6645 100644
--- a/src/devices/bus/a2bus/a2softcard.h
+++ b/src/devices/bus/a2bus/a2softcard.h
@@ -8,8 +8,8 @@
*********************************************************************/
-#ifndef __A2BUS_SOFTCARD__
-#define __A2BUS_SOFTCARD__
+#ifndef MAME_BUS_A2BUS_A2SOFTCARD_H
+#define MAME_BUS_A2BUS_A2SOFTCARD_H
#include "a2bus.h"
@@ -23,7 +23,6 @@ class a2bus_softcard_device:
{
public:
// construction/destruction
- a2bus_softcard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_softcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -33,6 +32,8 @@ public:
DECLARE_WRITE8_MEMBER( dma_w );
protected:
+ a2bus_softcard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -48,6 +49,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_SOFTCARD;
+DECLARE_DEVICE_TYPE(A2BUS_SOFTCARD, a2bus_softcard_device)
-#endif /* __A2BUS_SOFTCARD__ */
+#endif // MAME_BUS_A2BUS_A2SOFTCARD_H
diff --git a/src/devices/bus/a2bus/a2ssc.cpp b/src/devices/bus/a2bus/a2ssc.cpp
index aa8f28f48be..b84a7f26881 100644
--- a/src/devices/bus/a2bus/a2ssc.cpp
+++ b/src/devices/bus/a2bus/a2ssc.cpp
@@ -21,7 +21,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_SSC = device_creator<a2bus_ssc_device>;
+DEFINE_DEVICE_TYPE(A2BUS_SSC, a2bus_ssc_device, "a2ssc", "Apple Super Serial Card")
#define SSC_ROM_REGION "ssc_rom"
#define SSC_ACIA_TAG "ssc_acia"
@@ -129,17 +129,12 @@ const tiny_rom_entry *a2bus_ssc_device::device_rom_region() const
//**************************************************************************
a2bus_ssc_device::a2bus_ssc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_SSC, "Apple Super Serial Card", tag, owner, clock, "a2ssc", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_dsw1(*this, "DSW1"),
- m_dsw2(*this, "DSW2"),
- m_acia(*this, SSC_ACIA_TAG), m_rom(nullptr),
- m_started(false)
+ a2bus_ssc_device(mconfig, A2BUS_SSC, tag, owner, clock)
{
}
-a2bus_ssc_device::a2bus_ssc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_ssc_device::a2bus_ssc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_dsw1(*this, "DSW1"),
m_dsw2(*this, "DSW2"),
diff --git a/src/devices/bus/a2bus/a2ssc.h b/src/devices/bus/a2bus/a2ssc.h
index b130012c52f..fdca90f9346 100644
--- a/src/devices/bus/a2bus/a2ssc.h
+++ b/src/devices/bus/a2bus/a2ssc.h
@@ -8,8 +8,8 @@
*********************************************************************/
-#ifndef __A2BUS_SSC__
-#define __A2BUS_SSC__
+#ifndef MAME_BUS_A2BUS_A2SSC_H
+#define MAME_BUS_A2BUS_A2SSC_H
#include "a2bus.h"
#include "machine/mos6551.h"
@@ -25,18 +25,17 @@ class a2bus_ssc_device:
public:
// construction/destruction
a2bus_ssc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_ssc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
- required_ioport m_dsw1, m_dsw2;
-
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
protected:
+ a2bus_ssc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -45,6 +44,8 @@ protected:
virtual uint8_t read_cnxx(address_space &space, uint8_t offset) override;
virtual uint8_t read_c800(address_space &space, uint16_t offset) override;
+ required_ioport m_dsw1, m_dsw2;
+
required_device<mos6551_device> m_acia;
private:
@@ -53,6 +54,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_SSC;
+DECLARE_DEVICE_TYPE(A2BUS_SSC, a2bus_ssc_device)
-#endif /* __A2BUS_SSC__ */
+#endif // MAME_BUS_A2BUS_A2SSC_H
diff --git a/src/devices/bus/a2bus/a2swyft.cpp b/src/devices/bus/a2bus/a2swyft.cpp
index 8ccdf8bb928..1403120c74c 100644
--- a/src/devices/bus/a2bus/a2swyft.cpp
+++ b/src/devices/bus/a2bus/a2swyft.cpp
@@ -20,7 +20,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_SWYFT = device_creator<a2bus_swyft_device>;
+DEFINE_DEVICE_TYPE(A2BUS_SWYFT, a2bus_swyft_device, "a2swyft", "IAI SwyftCard")
#define SWYFT_ROM_REGION "swyft_rom"
@@ -45,13 +45,12 @@ const tiny_rom_entry *a2bus_swyft_device::device_rom_region() const
//**************************************************************************
a2bus_swyft_device::a2bus_swyft_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_SWYFT, "IAI SwyftCard", tag, owner, clock, "a2swyft", __FILE__),
- device_a2bus_card_interface(mconfig, *this), m_rom(nullptr), m_rombank(0), m_inh_state(0)
+ a2bus_swyft_device(mconfig, A2BUS_SWYFT, tag, owner, clock)
{
}
-a2bus_swyft_device::a2bus_swyft_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_swyft_device::a2bus_swyft_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this), m_rom(nullptr), m_rombank(0), m_inh_state(0)
{
}
diff --git a/src/devices/bus/a2bus/a2swyft.h b/src/devices/bus/a2bus/a2swyft.h
index df646038aa9..0215c4623ab 100644
--- a/src/devices/bus/a2bus/a2swyft.h
+++ b/src/devices/bus/a2bus/a2swyft.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_SWYFT__
-#define __A2BUS_SWYFT__
+#ifndef MAME_BUS_A2BUS_A2SWYFT_H
+#define MAME_BUS_A2BUS_A2SWYFT_H
+
+#pragma once
#include "a2bus.h"
@@ -24,11 +26,12 @@ class a2bus_swyft_device:
public:
// construction/destruction
a2bus_swyft_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_swyft_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
+ a2bus_swyft_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -46,6 +49,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_SWYFT;
+DECLARE_DEVICE_TYPE(A2BUS_SWYFT, a2bus_swyft_device)
-#endif /* __A2BUS_SWYFT__ */
+#endif // MAME_BUS_A2BUS_A2SWYFT_H
diff --git a/src/devices/bus/a2bus/a2themill.cpp b/src/devices/bus/a2bus/a2themill.cpp
index dd935cf2554..27a3302d625 100644
--- a/src/devices/bus/a2bus/a2themill.cpp
+++ b/src/devices/bus/a2bus/a2themill.cpp
@@ -36,7 +36,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_THEMILL = device_creator<a2bus_themill_device>;
+DEFINE_DEVICE_TYPE(A2BUS_THEMILL, a2bus_themill_device, "a2themill", "Stellation Two The Mill")
#define M6809_TAG "m6809"
@@ -67,17 +67,15 @@ machine_config_constructor a2bus_themill_device::device_mconfig_additions() cons
// LIVE DEVICE
//**************************************************************************
-a2bus_themill_device::a2bus_themill_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_themill_device::a2bus_themill_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_6809(*this, M6809_TAG), m_bEnabled(false), m_flipAddrSpace(false), m_6809Mode(false), m_status(0)
{
}
a2bus_themill_device::a2bus_themill_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_THEMILL, "Stellation Two The Mill", tag, owner, clock, "a2themill", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_6809(*this, M6809_TAG), m_bEnabled(false), m_flipAddrSpace(false), m_6809Mode(false), m_status(0)
+ a2bus_themill_device(mconfig, A2BUS_THEMILL, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2themill.h b/src/devices/bus/a2bus/a2themill.h
index 67f9bc43c7a..aa0c2f180e2 100644
--- a/src/devices/bus/a2bus/a2themill.h
+++ b/src/devices/bus/a2bus/a2themill.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_THEMILL__
-#define __A2BUS_THEMILL__
+#ifndef MAME_BUS_A2BUS_A2THEMILL_H
+#define MAME_BUS_A2BUS_A2THEMILL_H
+
+#pragma once
#include "a2bus.h"
@@ -23,7 +25,6 @@ class a2bus_themill_device:
{
public:
// construction/destruction
- a2bus_themill_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_themill_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -33,6 +34,8 @@ public:
DECLARE_WRITE8_MEMBER( dma_w );
protected:
+ a2bus_themill_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -51,6 +54,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_THEMILL;
+DECLARE_DEVICE_TYPE(A2BUS_THEMILL, a2bus_themill_device)
-#endif /* __A2BUS_THEMILL__ */
+#endif // MAME_BUS_A2BUS_A2THEMILL_H
diff --git a/src/devices/bus/a2bus/a2thunderclock.cpp b/src/devices/bus/a2bus/a2thunderclock.cpp
index 18a6f22abf1..70642bbdfe8 100644
--- a/src/devices/bus/a2bus/a2thunderclock.cpp
+++ b/src/devices/bus/a2bus/a2thunderclock.cpp
@@ -36,7 +36,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_THUNDERCLOCK = device_creator<a2bus_thunderclock_device>;
+DEFINE_DEVICE_TYPE(A2BUS_THUNDERCLOCK, a2bus_thunderclock_device, "a2thunpl", "ThunderWare ThunderClock Plus")
#define THUNDERCLOCK_ROM_REGION "thunclk_rom"
#define THUNDERCLOCK_UPD1990_TAG "thunclk_upd"
@@ -77,17 +77,15 @@ const tiny_rom_entry *a2bus_thunderclock_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_thunderclock_device::a2bus_thunderclock_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_thunderclock_device::a2bus_thunderclock_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_upd1990ac(*this, THUNDERCLOCK_UPD1990_TAG), m_rom(nullptr), m_dataout(0)
{
}
a2bus_thunderclock_device::a2bus_thunderclock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_THUNDERCLOCK, "ThunderWare ThunderClock Plus", tag, owner, clock, "a2thunpl", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_upd1990ac(*this, THUNDERCLOCK_UPD1990_TAG), m_rom(nullptr), m_dataout(0)
+ a2bus_thunderclock_device(mconfig, A2BUS_THUNDERCLOCK, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2thunderclock.h b/src/devices/bus/a2bus/a2thunderclock.h
index 8188ede7380..5c221151769 100644
--- a/src/devices/bus/a2bus/a2thunderclock.h
+++ b/src/devices/bus/a2bus/a2thunderclock.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_THUNDERCLOCK__
-#define __A2BUS_THUNDERCLOCK__
+#ifndef MAME_BUS_A2BUS_A2THUNDERCLOCK_H
+#define MAME_BUS_A2BUS_A2THUNDERCLOCK_H
+
+#pragma once
#include "a2bus.h"
#include "machine/upd1990a.h"
@@ -24,7 +26,6 @@ class a2bus_thunderclock_device:
{
public:
// construction/destruction
- a2bus_thunderclock_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_thunderclock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -34,6 +35,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( upd_dataout_w );
protected:
+ a2bus_thunderclock_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -51,6 +54,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_THUNDERCLOCK;
+DECLARE_DEVICE_TYPE(A2BUS_THUNDERCLOCK, a2bus_thunderclock_device)
-#endif /* __A2BUS_THUNDERCLOCK__ */
+#endif // MAME_BUS_A2BUS_A2THUNDERCLOCK_H
diff --git a/src/devices/bus/a2bus/a2ultraterm.cpp b/src/devices/bus/a2bus/a2ultraterm.cpp
index 3edeeaf8cdd..8d8a576834a 100644
--- a/src/devices/bus/a2bus/a2ultraterm.cpp
+++ b/src/devices/bus/a2bus/a2ultraterm.cpp
@@ -40,8 +40,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_ULTRATERM = device_creator<a2bus_ultraterm_device>;
-const device_type A2BUS_ULTRATERMENH = device_creator<a2bus_ultratermenh_device>;
+DEFINE_DEVICE_TYPE(A2BUS_ULTRATERM, a2bus_ultraterm_device, "a2ulttrm", "Videx UltraTerm (original)")
+DEFINE_DEVICE_TYPE(A2BUS_ULTRATERMENH, a2bus_ultratermenh_device, "a2ultrme", "Videx UltraTerm (enhanced //e)")
#define ULTRATERM_ROM_REGION "uterm_rom"
#define ULTRATERM_GFX_REGION "uterm_gfx"
@@ -139,20 +139,20 @@ const tiny_rom_entry *a2bus_ultratermenh_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_videx160_device::a2bus_videx160_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_videx160_device::a2bus_videx160_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this), m_rom(nullptr), m_chrrom(nullptr), m_framecnt(0), m_ctrl1(0), m_ctrl2(0),
m_crtc(*this, ULTRATERM_MC6845_NAME), m_rambank(0)
{
}
a2bus_ultraterm_device::a2bus_ultraterm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_videx160_device(mconfig, A2BUS_ULTRATERM, "Videx UltraTerm (original)", tag, owner, clock, "a2ulttrm", __FILE__)
+ a2bus_videx160_device(mconfig, A2BUS_ULTRATERM, tag, owner, clock)
{
}
a2bus_ultratermenh_device::a2bus_ultratermenh_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_videx160_device(mconfig, A2BUS_ULTRATERMENH, "Videx UltraTerm (enhanced //e)", tag, owner, clock, "a2ultrme", __FILE__)
+ a2bus_videx160_device(mconfig, A2BUS_ULTRATERMENH, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2ultraterm.h b/src/devices/bus/a2bus/a2ultraterm.h
index 3d9c3a67a52..73b012b63c3 100644
--- a/src/devices/bus/a2bus/a2ultraterm.h
+++ b/src/devices/bus/a2bus/a2ultraterm.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_ULTRATERM__
-#define __A2BUS_ULTRATERM__
+#ifndef MAME_BUS_A2BUS_A2ULTRATERM_H
+#define MAME_BUS_A2BUS_A2ULTRATERM_H
+
+#pragma once
#include "a2bus.h"
#include "video/mc6845.h"
@@ -23,21 +25,16 @@ class a2bus_videx160_device:
public device_a2bus_card_interface
{
public:
- // construction/destruction
- a2bus_videx160_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
DECLARE_WRITE_LINE_MEMBER(vsync_changed);
MC6845_UPDATE_ROW(crtc_update_row);
- uint8_t *m_rom, *m_chrrom;
- uint8_t m_ram[256*16];
- int m_framecnt;
- uint8_t m_ctrl1, m_ctrl2;
-
protected:
+ // construction/destruction
+ a2bus_videx160_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -49,6 +46,11 @@ protected:
virtual uint8_t read_c800(address_space &space, uint16_t offset) override;
virtual void write_c800(address_space &space, uint16_t offset, uint8_t data) override;
+ uint8_t *m_rom, *m_chrrom;
+ uint8_t m_ram[256*16];
+ int m_framecnt;
+ uint8_t m_ctrl1, m_ctrl2;
+
required_device<mc6845_device> m_crtc;
private:
@@ -72,7 +74,7 @@ public:
};
// device type definition
-extern const device_type A2BUS_ULTRATERM;
-extern const device_type A2BUS_ULTRATERMENH;
+DECLARE_DEVICE_TYPE(A2BUS_ULTRATERM, a2bus_ultraterm_device)
+DECLARE_DEVICE_TYPE(A2BUS_ULTRATERMENH, a2bus_ultratermenh_device)
-#endif /* __A2BUS_ULTRATERM__ */
+#endif // MAME_BUS_A2BUS_A2ULTRATERM_H
diff --git a/src/devices/bus/a2bus/a2videoterm.cpp b/src/devices/bus/a2bus/a2videoterm.cpp
index 1cfb4552313..7bcea832ce0 100644
--- a/src/devices/bus/a2bus/a2videoterm.cpp
+++ b/src/devices/bus/a2bus/a2videoterm.cpp
@@ -36,12 +36,12 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_VIDEOTERM = device_creator<a2bus_videoterm_device>;
-const device_type A2BUS_IBSAP16 = device_creator<a2bus_ap16_device>;
-const device_type A2BUS_IBSAP16ALT = device_creator<a2bus_ap16alt_device>;
-const device_type A2BUS_VTC1 = device_creator<a2bus_vtc1_device>;
-const device_type A2BUS_VTC2 = device_creator<a2bus_vtc2_device>;
-const device_type A2BUS_AEVIEWMASTER80 = device_creator<a2bus_aevm80_device>;
+DEFINE_DEVICE_TYPE(A2BUS_VIDEOTERM, a2bus_videoterm_device, "a2vidtrm", "Videx VideoTerm")
+DEFINE_DEVICE_TYPE(A2BUS_IBSAP16, a2bus_ap16_device, "a2ap16", "IBS AP-16 80 column card")
+DEFINE_DEVICE_TYPE(A2BUS_IBSAP16ALT, a2bus_ap16alt_device, "a2ap16a", "IBS AP-16 80 column card (alt. version)")
+DEFINE_DEVICE_TYPE(A2BUS_VTC1, a2bus_vtc1_device, "a2vtc1", "Unknown VideoTerm clone #1")
+DEFINE_DEVICE_TYPE(A2BUS_VTC2, a2bus_vtc2_device, "a2vtc2", "Unknown VideoTerm clone #2")
+DEFINE_DEVICE_TYPE(A2BUS_AEVIEWMASTER80, a2bus_aevm80_device, "a2aevm80", "Applied Engineering Viewmaster 80")
#define VIDEOTERM_ROM_REGION "vterm_rom"
#define VIDEOTERM_GFX_REGION "vterm_gfx"
@@ -173,41 +173,41 @@ const tiny_rom_entry *a2bus_aevm80_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_videx80_device::a2bus_videx80_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_videx80_device::a2bus_videx80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this), m_rom(nullptr), m_chrrom(nullptr), m_framecnt(0),
- m_crtc(*this, VIDEOTERM_MC6845_NAME), m_rambank(0),
- m_palette(*this, ":palette")
+ m_crtc(*this, VIDEOTERM_MC6845_NAME), m_palette(*this, ":palette"),
+ m_rambank(0)
{
}
a2bus_videoterm_device::a2bus_videoterm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_videx80_device(mconfig, A2BUS_VIDEOTERM, "Videx VideoTerm", tag, owner, clock, "a2vidtrm", __FILE__)
+ a2bus_videx80_device(mconfig, A2BUS_VIDEOTERM, tag, owner, clock)
{
}
a2bus_ap16_device::a2bus_ap16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_videx80_device(mconfig, A2BUS_IBSAP16, "IBS AP-16 80 column card", tag, owner, clock, "a2ap16", __FILE__)
+ a2bus_videx80_device(mconfig, A2BUS_IBSAP16, tag, owner, clock)
{
}
a2bus_ap16alt_device::a2bus_ap16alt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_videx80_device(mconfig, A2BUS_IBSAP16ALT, "IBS AP-16 80 column card (alt. version)", tag, owner, clock, "a2ap16a", __FILE__)
+ a2bus_videx80_device(mconfig, A2BUS_IBSAP16ALT, tag, owner, clock)
{
}
a2bus_vtc1_device::a2bus_vtc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_videx80_device(mconfig, A2BUS_VTC1, "Unknown VideoTerm clone #1", tag, owner, clock, "a2vtc1", __FILE__)
+ a2bus_videx80_device(mconfig, A2BUS_VTC1, tag, owner, clock)
{
}
a2bus_vtc2_device::a2bus_vtc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_videx80_device(mconfig, A2BUS_VTC2, "Unknown VideoTerm clone #2", tag, owner, clock, "a2vtc2", __FILE__)
+ a2bus_videx80_device(mconfig, A2BUS_VTC2, tag, owner, clock)
{
}
a2bus_aevm80_device::a2bus_aevm80_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_videx80_device(mconfig, A2BUS_AEVIEWMASTER80, "Applied Engineering Viewmaster 80", tag, owner, clock, "a2aevm80", __FILE__)
+ a2bus_videx80_device(mconfig, A2BUS_AEVIEWMASTER80, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2videoterm.h b/src/devices/bus/a2bus/a2videoterm.h
index 5f78b7fe91f..f9d407f785a 100644
--- a/src/devices/bus/a2bus/a2videoterm.h
+++ b/src/devices/bus/a2bus/a2videoterm.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_VIDEOTERM__
-#define __A2BUS_VIDEOTERM__
+#ifndef MAME_BUS_A2BUS_A2VIDEOTERM_H
+#define MAME_BUS_A2BUS_A2VIDEOTERM_H
+
+#pragma once
#include "a2bus.h"
#include "video/mc6845.h"
@@ -23,20 +25,16 @@ class a2bus_videx80_device:
public device_a2bus_card_interface
{
public:
- // construction/destruction
- a2bus_videx80_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
DECLARE_WRITE_LINE_MEMBER(vsync_changed);
MC6845_UPDATE_ROW(crtc_update_row);
- uint8_t *m_rom, *m_chrrom;
- uint8_t m_ram[512*4];
- int m_framecnt;
-
protected:
+ // construction/destruction
+ a2bus_videx80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -48,12 +46,15 @@ protected:
virtual uint8_t read_c800(address_space &space, uint16_t offset) override;
virtual void write_c800(address_space &space, uint16_t offset, uint8_t data) override;
+ uint8_t *m_rom, *m_chrrom;
+ uint8_t m_ram[512*4];
+ int m_framecnt;
+
required_device<mc6845_device> m_crtc;
+ required_device<palette_device> m_palette;
private:
int m_rambank;
-public:
- required_device<palette_device> m_palette;
};
class a2bus_videoterm_device : public a2bus_videx80_device
@@ -71,6 +72,7 @@ public:
virtual const tiny_rom_entry *device_rom_region() const override;
+protected:
virtual uint8_t read_cnxx(address_space &space, uint8_t offset) override;
};
@@ -82,6 +84,7 @@ public:
virtual const tiny_rom_entry *device_rom_region() const override;
+protected:
virtual uint8_t read_cnxx(address_space &space, uint8_t offset) override;
};
@@ -110,11 +113,11 @@ public:
};
// device type definition
-extern const device_type A2BUS_VIDEOTERM;
-extern const device_type A2BUS_IBSAP16;
-extern const device_type A2BUS_IBSAP16ALT;
-extern const device_type A2BUS_VTC1;
-extern const device_type A2BUS_VTC2;
-extern const device_type A2BUS_AEVIEWMASTER80;
-
-#endif /* __A2BUS_VIDEOTERM__ */
+DECLARE_DEVICE_TYPE(A2BUS_VIDEOTERM, a2bus_videoterm_device)
+DECLARE_DEVICE_TYPE(A2BUS_IBSAP16, a2bus_ap16_device)
+DECLARE_DEVICE_TYPE(A2BUS_IBSAP16ALT, a2bus_ap16alt_device)
+DECLARE_DEVICE_TYPE(A2BUS_VTC1, a2bus_vtc1_device)
+DECLARE_DEVICE_TYPE(A2BUS_VTC2, a2bus_vtc2_device)
+DECLARE_DEVICE_TYPE(A2BUS_AEVIEWMASTER80, a2bus_aevm80_device)
+
+#endif // MAME_BUS_A2BUS_A2VIDEOTERM_H
diff --git a/src/devices/bus/a2bus/a2vulcan.cpp b/src/devices/bus/a2bus/a2vulcan.cpp
index 585a9eadff0..0e0d24f2464 100644
--- a/src/devices/bus/a2bus/a2vulcan.cpp
+++ b/src/devices/bus/a2bus/a2vulcan.cpp
@@ -62,8 +62,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_VULCAN = device_creator<a2bus_vulcan_device>;
-const device_type A2BUS_VULCANGOLD = device_creator<a2bus_vulcangold_device>;
+DEFINE_DEVICE_TYPE(A2BUS_VULCAN, a2bus_vulcan_device, "a2vulcan", "Applied Engineering Vulcan IDE controller")
+DEFINE_DEVICE_TYPE(A2BUS_VULCANGOLD, a2bus_vulcangold_device, "a2vulgld", "Applied Engineering Vulcan Gold IDE controller")
#define VULCAN_ROM_REGION "vulcan_rom"
#define VULCAN_ATA_TAG "vulcan_ata"
@@ -114,20 +114,20 @@ const tiny_rom_entry *a2bus_vulcangold_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_vulcanbase_device::a2bus_vulcanbase_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_vulcanbase_device::a2bus_vulcanbase_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_ata(*this, VULCAN_ATA_TAG), m_rom(nullptr), m_lastdata(0), m_rombank(0), m_rambank(0), m_last_read_was_0(false)
{
}
a2bus_vulcan_device::a2bus_vulcan_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_vulcanbase_device(mconfig, A2BUS_VULCAN, "Applied Engineering Vulcan IDE controller", tag, owner, clock, "a2vulcan", __FILE__)
+ a2bus_vulcanbase_device(mconfig, A2BUS_VULCAN, tag, owner, clock)
{
}
a2bus_vulcangold_device::a2bus_vulcangold_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_vulcanbase_device(mconfig, A2BUS_VULCANGOLD, "Applied Engineering Vulcan Gold IDE controller", tag, owner, clock, "a2vulgld", __FILE__)
+ a2bus_vulcanbase_device(mconfig, A2BUS_VULCANGOLD, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2vulcan.h b/src/devices/bus/a2bus/a2vulcan.h
index bd2acab26b4..ebb3d75f551 100644
--- a/src/devices/bus/a2bus/a2vulcan.h
+++ b/src/devices/bus/a2bus/a2vulcan.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_VULCAN__
-#define __A2BUS_VULCAN__
+#ifndef MAME_BUS_A2BUS_VULCAN_H
+#define MAME_BUS_A2BUS_VULCAN_H
+
+#pragma once
#include "a2bus.h"
#include "machine/ataintf.h"
@@ -23,13 +25,13 @@ class a2bus_vulcanbase_device:
public device_a2bus_card_interface
{
public:
- // construction/destruction
- a2bus_vulcanbase_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
+ // construction/destruction
+ a2bus_vulcanbase_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -71,7 +73,7 @@ public:
};
// device type definition
-extern const device_type A2BUS_VULCAN;
-extern const device_type A2BUS_VULCANGOLD;
+DECLARE_DEVICE_TYPE(A2BUS_VULCAN, a2bus_vulcan_device)
+DECLARE_DEVICE_TYPE(A2BUS_VULCANGOLD, a2bus_vulcangold_device)
-#endif /* __A2BUS_VULCAN__ */
+#endif // MAME_BUS_A2BUS_VULCAN_H
diff --git a/src/devices/bus/a2bus/a2zipdrive.cpp b/src/devices/bus/a2bus/a2zipdrive.cpp
index a3220476cda..4c65ac8ec0f 100644
--- a/src/devices/bus/a2bus/a2zipdrive.cpp
+++ b/src/devices/bus/a2bus/a2zipdrive.cpp
@@ -28,7 +28,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_ZIPDRIVE = device_creator<a2bus_zipdrive_device>;
+DEFINE_DEVICE_TYPE(A2BUS_ZIPDRIVE, a2bus_zipdrive_device, "a2zipdrv", "Zip Technologies ZipDrive")
#define ZIPDRIVE_ROM_REGION "zipdrive_rom"
#define ZIPDRIVE_ATA_TAG "zipdrive_ata"
@@ -69,15 +69,15 @@ const tiny_rom_entry *a2bus_zipdrivebase_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_zipdrivebase_device::a2bus_zipdrivebase_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_zipdrivebase_device::a2bus_zipdrivebase_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_ata(*this, ZIPDRIVE_ATA_TAG), m_rom(nullptr), m_lastdata(0)
{
}
a2bus_zipdrive_device::a2bus_zipdrive_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_zipdrivebase_device(mconfig, A2BUS_ZIPDRIVE, "Zip Technologies ZipDrive", tag, owner, clock, "a2zipdrv", __FILE__)
+ a2bus_zipdrivebase_device(mconfig, A2BUS_ZIPDRIVE, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/a2zipdrive.h b/src/devices/bus/a2bus/a2zipdrive.h
index 3878c4b7bf0..12b7e6bb574 100644
--- a/src/devices/bus/a2bus/a2zipdrive.h
+++ b/src/devices/bus/a2bus/a2zipdrive.h
@@ -10,8 +10,10 @@
*********************************************************************/
-#ifndef __A2BUS_ZIPDRIVE__
-#define __A2BUS_ZIPDRIVE__
+#ifndef MAME_BUS_A2BUS_ZIPDRIVE_H
+#define MAME_BUS_A2BUS_ZIPDRIVE_H
+
+#pragma once
#include "a2bus.h"
#include "machine/ataintf.h"
@@ -25,14 +27,14 @@ class a2bus_zipdrivebase_device:
public device_a2bus_card_interface
{
public:
- // construction/destruction
- a2bus_zipdrivebase_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
+ // construction/destruction
+ a2bus_zipdrivebase_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -57,6 +59,6 @@ public:
};
// device type definition
-extern const device_type A2BUS_ZIPDRIVE;
+DECLARE_DEVICE_TYPE(A2BUS_ZIPDRIVE, a2bus_zipdrive_device)
-#endif /* __A2BUS_ZIPDRIVE__ */
+#endif // MAME_BUS_A2BUS_ZIPDRIVE_H
diff --git a/src/devices/bus/a2bus/agat7langcard.cpp b/src/devices/bus/a2bus/agat7langcard.cpp
index fba82f8dcd2..9bb00b38c60 100644
--- a/src/devices/bus/a2bus/agat7langcard.cpp
+++ b/src/devices/bus/a2bus/agat7langcard.cpp
@@ -18,7 +18,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_AGAT7LANGCARD = device_creator<a2bus_agat7langcard_device>;
+DEFINE_DEVICE_TYPE(A2BUS_AGAT7LANGCARD, a2bus_agat7langcard_device, "a7lang", "Agat-7 32K Language Card")
/***************************************************************************
FUNCTION PROTOTYPES
@@ -28,15 +28,14 @@ const device_type A2BUS_AGAT7LANGCARD = device_creator<a2bus_agat7langcard_devic
// LIVE DEVICE
//**************************************************************************
-a2bus_agat7langcard_device::a2bus_agat7langcard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_agat7langcard_device::a2bus_agat7langcard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this), m_inh_state(0), m_last_offset(0), m_dxxx_bank(0), m_main_bank(0)
{
}
a2bus_agat7langcard_device::a2bus_agat7langcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_AGAT7LANGCARD, "Agat-7 32K Language Card", tag, owner, clock, "a7lang", __FILE__),
- device_a2bus_card_interface(mconfig, *this), m_inh_state(0), m_last_offset(0), m_dxxx_bank(0), m_main_bank(0)
+ a2bus_agat7langcard_device(mconfig, A2BUS_AGAT7LANGCARD, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/agat7langcard.h b/src/devices/bus/a2bus/agat7langcard.h
index ea7b80e5075..13647abfb11 100644
--- a/src/devices/bus/a2bus/agat7langcard.h
+++ b/src/devices/bus/a2bus/agat7langcard.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_AGAT7LANGCARD__
-#define __A2BUS_AGAT7LANGCARD__
+#ifndef MAME_BUS_A2BUS_AGAT7LANGCARD_H
+#define MAME_BUS_A2BUS_AGAT7LANGCARD_H
+
+#pragma once
#include "emu.h"
#include "a2bus.h"
@@ -24,10 +26,11 @@ class a2bus_agat7langcard_device:
{
public:
// construction/destruction
- a2bus_agat7langcard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_agat7langcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
+ a2bus_agat7langcard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -53,5 +56,6 @@ private:
// device type definition
extern const device_type A2BUS_AGAT7LANGCARD;
+DECLARE_DEVICE_TYPE(A2BUS_AGAT7LANGCARD, a2bus_agat7langcard_device)
-#endif /* __A2BUS_AGAT7LANGCARD__ */
+#endif // MAME_BUS_A2BUS_AGAT7LANGCARD_H
diff --git a/src/devices/bus/a2bus/agat7ram.cpp b/src/devices/bus/a2bus/agat7ram.cpp
index 694d6c65daa..dde0260db3f 100644
--- a/src/devices/bus/a2bus/agat7ram.cpp
+++ b/src/devices/bus/a2bus/agat7ram.cpp
@@ -18,7 +18,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_AGAT7RAM = device_creator<a2bus_agat7ram_device>;
+DEFINE_DEVICE_TYPE(A2BUS_AGAT7RAM, a2bus_agat7ram_device, "a7ram", "Agat-7 32K RAM Card")
/***************************************************************************
FUNCTION PROTOTYPES
@@ -28,15 +28,14 @@ const device_type A2BUS_AGAT7RAM = device_creator<a2bus_agat7ram_device>;
// LIVE DEVICE
//**************************************************************************
-a2bus_agat7ram_device::a2bus_agat7ram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_agat7ram_device::a2bus_agat7ram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this), m_inh_state(0), m_last_offset(0), m_main_bank(0)
{
}
a2bus_agat7ram_device::a2bus_agat7ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_AGAT7RAM, "Agat-7 32K RAM Card", tag, owner, clock, "a7ram", __FILE__),
- device_a2bus_card_interface(mconfig, *this), m_inh_state(0), m_last_offset(0), m_main_bank(0)
+ a2bus_agat7ram_device(mconfig, A2BUS_AGAT7RAM, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/agat7ram.h b/src/devices/bus/a2bus/agat7ram.h
index 451efb08e3e..e30aaf7b94b 100644
--- a/src/devices/bus/a2bus/agat7ram.h
+++ b/src/devices/bus/a2bus/agat7ram.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_AGAT7RAM__
-#define __A2BUS_AGAT7RAM__
+#ifndef MAME_BUS_A2BUS_AGAT7RAM_H
+#define MAME_BUS_A2BUS_AGAT7RAM_H
+
+#pragma once
#include "emu.h"
#include "a2bus.h"
@@ -24,10 +26,11 @@ class a2bus_agat7ram_device:
{
public:
// construction/destruction
- a2bus_agat7ram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_agat7ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
+ a2bus_agat7ram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -50,6 +53,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_AGAT7RAM;
+DECLARE_DEVICE_TYPE(A2BUS_AGAT7RAM, a2bus_agat7ram_device)
-#endif /* __A2BUS_AGAT7RAM__ */
+#endif // MAME_BUS_A2BUS_AGAT7RAM_H
diff --git a/src/devices/bus/a2bus/corvfdc01.cpp b/src/devices/bus/a2bus/corvfdc01.cpp
index e6badc3238a..c69315fabf2 100644
--- a/src/devices/bus/a2bus/corvfdc01.cpp
+++ b/src/devices/bus/a2bus/corvfdc01.cpp
@@ -22,7 +22,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_CORVFDC01 = device_creator<a2bus_corvfdc01_device>;
+DEFINE_DEVICE_TYPE(A2BUS_CORVFDC01, a2bus_corvfdc01_device, "crvfdc01", "Corvus Systems Floppy Controller")
#define FDC01_ROM_REGION "fdc01_rom"
#define FDC01_FDC_TAG "fdc01_fdc"
@@ -111,25 +111,20 @@ const tiny_rom_entry *a2bus_corvfdc01_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_corvfdc01_device::a2bus_corvfdc01_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_corvfdc01_device::a2bus_corvfdc01_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_wdfdc(*this, FDC01_FDC_TAG),
m_con1(*this, FDC01_FDC_TAG":0"),
m_con2(*this, FDC01_FDC_TAG":1"),
m_con3(*this, FDC01_FDC_TAG":2"),
- m_con4(*this, FDC01_FDC_TAG":3"), m_rom(nullptr), m_fdc_local_status(0), m_fdc_local_command(0), m_curfloppy(nullptr)
+ m_con4(*this, FDC01_FDC_TAG":3"),
+ m_rom(nullptr), m_fdc_local_status(0), m_fdc_local_command(0), m_curfloppy(nullptr)
{
}
a2bus_corvfdc01_device::a2bus_corvfdc01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_CORVFDC01, "Corvus Systems Floppy Controller", tag, owner, clock, "crvfdc01", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_wdfdc(*this, FDC01_FDC_TAG),
- m_con1(*this, FDC01_FDC_TAG":0"),
- m_con2(*this, FDC01_FDC_TAG":1"),
- m_con3(*this, FDC01_FDC_TAG":2"),
- m_con4(*this, FDC01_FDC_TAG":3"), m_rom(nullptr), m_fdc_local_status(0), m_fdc_local_command(0), m_curfloppy(nullptr)
+ a2bus_corvfdc01_device(mconfig, A2BUS_CORVFDC01, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/corvfdc01.h b/src/devices/bus/a2bus/corvfdc01.h
index 63953dd0acb..fc5395087de 100644
--- a/src/devices/bus/a2bus/corvfdc01.h
+++ b/src/devices/bus/a2bus/corvfdc01.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_CORVFDC01__
-#define __A2BUS_CORVFDC01__
+#ifndef MAME_BUS_A2BUS_CORVFDC01_H
+#define MAME_BUS_A2BUS_CORVFDC01_H
+
+#pragma once
#include "a2bus.h"
#include "machine/wd_fdc.h"
@@ -25,7 +27,6 @@ class a2bus_corvfdc01_device:
{
public:
// construction/destruction
- a2bus_corvfdc01_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_corvfdc01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -38,6 +39,8 @@ public:
DECLARE_FLOPPY_FORMATS(corv_floppy_formats);
protected:
+ a2bus_corvfdc01_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -46,7 +49,7 @@ protected:
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
virtual uint8_t read_cnxx(address_space &space, uint8_t offset) override;
- required_device<fd1793_t> m_wdfdc;
+ required_device<fd1793_device> m_wdfdc;
required_device<floppy_connector> m_con1;
required_device<floppy_connector> m_con2;
required_device<floppy_connector> m_con3;
@@ -59,6 +62,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_CORVFDC01;
+DECLARE_DEVICE_TYPE(A2BUS_CORVFDC01, a2bus_corvfdc01_device)
-#endif /* __A2BUS_CORVFDC01__ */
+#endif // MAME_BUS_A2BUS_CORVFDC01_H
diff --git a/src/devices/bus/a2bus/corvfdc02.cpp b/src/devices/bus/a2bus/corvfdc02.cpp
index a65726629cb..f87d793ceb5 100644
--- a/src/devices/bus/a2bus/corvfdc02.cpp
+++ b/src/devices/bus/a2bus/corvfdc02.cpp
@@ -24,7 +24,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_CORVFDC02 = device_creator<a2bus_corvfdc02_device>;
+DEFINE_DEVICE_TYPE(A2BUS_CORVFDC02, a2bus_corvfdc02_device, "crvfdc02", "Corvus Systems Buffered Floppy Controller")
#define FDC02_ROM_REGION "fdc02_rom"
#define FDC02_FDC_TAG "fdc02_fdc"
@@ -81,8 +81,8 @@ const tiny_rom_entry *a2bus_corvfdc02_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_corvfdc02_device::a2bus_corvfdc02_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_corvfdc02_device::a2bus_corvfdc02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_fdc(*this, FDC02_FDC_TAG),
m_con1(*this, FDC02_FDC_TAG":0"),
@@ -93,13 +93,7 @@ a2bus_corvfdc02_device::a2bus_corvfdc02_device(const machine_config &mconfig, de
}
a2bus_corvfdc02_device::a2bus_corvfdc02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_CORVFDC02, "Corvus Systems Buffered Floppy Controller", tag, owner, clock, "crvfdc02", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_fdc(*this, FDC02_FDC_TAG),
- m_con1(*this, FDC02_FDC_TAG":0"),
- m_con2(*this, FDC02_FDC_TAG":1"),
- m_con3(*this, FDC02_FDC_TAG":2"),
- m_con4(*this, FDC02_FDC_TAG":3"), m_rom(nullptr), m_fdc_local_status(0), m_fdc_local_command(0), m_bufptr(0), m_curfloppy(nullptr), m_in_drq(false), m_timer(nullptr)
+ a2bus_corvfdc02_device(mconfig, A2BUS_CORVFDC02, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/corvfdc02.h b/src/devices/bus/a2bus/corvfdc02.h
index f6d5d1885ef..089e3c5cc01 100644
--- a/src/devices/bus/a2bus/corvfdc02.h
+++ b/src/devices/bus/a2bus/corvfdc02.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_CORVFDC02__
-#define __A2BUS_CORVFDC02__
+#ifndef MAME_BUS_A2BUS_CORVFDC02_H
+#define MAME_BUS_A2BUS_CORVFDC02_H
+
+#pragma once
#include "a2bus.h"
#include "machine/upd765.h"
@@ -25,7 +27,6 @@ class a2bus_corvfdc02_device:
{
public:
// construction/destruction
- a2bus_corvfdc02_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_corvfdc02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -38,6 +39,8 @@ public:
DECLARE_FLOPPY_FORMATS(corv_floppy_formats);
protected:
+ a2bus_corvfdc02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -64,6 +67,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_CORVFDC02;
+DECLARE_DEVICE_TYPE(A2BUS_CORVFDC02, a2bus_corvfdc02_device)
-#endif /* __A2BUS_CORVFDC02__ */
+#endif // MAME_BUS_A2BUS_CORVFDC02_H
diff --git a/src/devices/bus/a2bus/ezcgi.cpp b/src/devices/bus/a2bus/ezcgi.cpp
index 49cae2b14e8..1fc3ede7399 100644
--- a/src/devices/bus/a2bus/ezcgi.cpp
+++ b/src/devices/bus/a2bus/ezcgi.cpp
@@ -25,9 +25,9 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_EZCGI = device_creator<a2bus_ezcgi_device>;
-const device_type A2BUS_EZCGI_9938 = device_creator<a2bus_ezcgi_9938_device>;
-const device_type A2BUS_EZCGI_9958 = device_creator<a2bus_ezcgi_9958_device>;
+DEFINE_DEVICE_TYPE(A2BUS_EZCGI, a2bus_ezcgi_device, "a2ezcgi", "E-Z Color Graphics Interface")
+DEFINE_DEVICE_TYPE(A2BUS_EZCGI_9938, a2bus_ezcgi_9938_device, "a2ezcgi3", "E-Z Color Graphics Interface (TMS9938)")
+DEFINE_DEVICE_TYPE(A2BUS_EZCGI_9958, a2bus_ezcgi_9958_device, "a2ezcgi5", "E-Z Color Graphics Interface (TMS9958)")
MACHINE_CONFIG_FRAGMENT( ezcgi )
MCFG_DEVICE_ADD( TMS_TAG, TMS9918A, XTAL_10_738635MHz / 2 )
@@ -97,42 +97,36 @@ machine_config_constructor a2bus_ezcgi_9958_device::device_mconfig_additions() c
//**************************************************************************
a2bus_ezcgi_device::a2bus_ezcgi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_EZCGI, "E-Z Color Graphics Interface", tag, owner, clock, "a2ezcgi", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_tms(*this, TMS_TAG)
+ a2bus_ezcgi_device(mconfig, A2BUS_EZCGI, tag, owner, clock)
{
}
-a2bus_ezcgi_device::a2bus_ezcgi_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_ezcgi_device::a2bus_ezcgi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_tms(*this, TMS_TAG)
{
}
a2bus_ezcgi_9938_device::a2bus_ezcgi_9938_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_EZCGI_9938, "E-Z Color Graphics Interface (TMS9938)", tag, owner, clock, "a2ezcgi3", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_tms(*this, TMS_TAG)
+ a2bus_ezcgi_9938_device(mconfig, A2BUS_EZCGI_9938, tag, owner, clock)
{
}
-a2bus_ezcgi_9938_device::a2bus_ezcgi_9938_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_ezcgi_9938_device::a2bus_ezcgi_9938_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_tms(*this, TMS_TAG)
{
}
a2bus_ezcgi_9958_device::a2bus_ezcgi_9958_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_EZCGI_9958, "E-Z Color Graphics Interface (TMS9958)", tag, owner, clock, "a2ezcgi5", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_tms(*this, TMS_TAG)
+ a2bus_ezcgi_9958_device(mconfig, A2BUS_EZCGI_9958, tag, owner, clock)
{
}
-a2bus_ezcgi_9958_device::a2bus_ezcgi_9958_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_ezcgi_9958_device::a2bus_ezcgi_9958_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_tms(*this, TMS_TAG)
{
diff --git a/src/devices/bus/a2bus/ezcgi.h b/src/devices/bus/a2bus/ezcgi.h
index 095c3da9beb..fe8ded273c3 100644
--- a/src/devices/bus/a2bus/ezcgi.h
+++ b/src/devices/bus/a2bus/ezcgi.h
@@ -10,8 +10,10 @@
*********************************************************************/
-#ifndef __A2BUS_EZCGI__
-#define __A2BUS_EZCGI__
+#ifndef MAME_BUS_A2BUS_A2EZCGI_H
+#define MAME_BUS_A2BUS_A2EZCGI_H
+
+#pragma once
#include "a2bus.h"
#include "video/tms9928a.h"
@@ -28,7 +30,6 @@ class a2bus_ezcgi_device:
public:
// construction/destruction
a2bus_ezcgi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_ezcgi_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -36,6 +37,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
protected:
+ a2bus_ezcgi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -53,7 +56,6 @@ class a2bus_ezcgi_9938_device:
public:
// construction/destruction
a2bus_ezcgi_9938_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_ezcgi_9938_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -61,6 +63,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
protected:
+ a2bus_ezcgi_9938_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -78,7 +82,6 @@ class a2bus_ezcgi_9958_device:
public:
// construction/destruction
a2bus_ezcgi_9958_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a2bus_ezcgi_9958_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -86,6 +89,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
protected:
+ a2bus_ezcgi_9958_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -97,8 +102,8 @@ protected:
};
// device type definition
-extern const device_type A2BUS_EZCGI;
-extern const device_type A2BUS_EZCGI_9938;
-extern const device_type A2BUS_EZCGI_9958;
+DECLARE_DEVICE_TYPE(A2BUS_EZCGI, a2bus_ezcgi_device)
+DECLARE_DEVICE_TYPE(A2BUS_EZCGI_9938, a2bus_ezcgi_9938_device)
+DECLARE_DEVICE_TYPE(A2BUS_EZCGI_9958, a2bus_ezcgi_9958_device)
-#endif /* __A2BUS_EZCGI__ */
+#endif // MAME_BUS_A2BUS_A2EZCGI_H
diff --git a/src/devices/bus/a2bus/laser128.cpp b/src/devices/bus/a2bus/laser128.cpp
index 4cfe11e52ec..947f9df5b5f 100644
--- a/src/devices/bus/a2bus/laser128.cpp
+++ b/src/devices/bus/a2bus/laser128.cpp
@@ -19,7 +19,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_LASER128 = device_creator<a2bus_laser128_device>;
+DEFINE_DEVICE_TYPE(A2BUS_LASER128, a2bus_laser128_device, "a2laser128", "VTech Laser 128 Internal Device")
MACHINE_CONFIG_FRAGMENT( a2laser128 )
MACHINE_CONFIG_END
@@ -42,16 +42,15 @@ machine_config_constructor a2bus_laser128_device::device_mconfig_additions() con
// LIVE DEVICE
//**************************************************************************
-a2bus_laser128_device::a2bus_laser128_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_laser128_device::a2bus_laser128_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this), m_rom(nullptr), m_slot7_bank(0), m_slot7_ram_bank(0)
{
}
a2bus_laser128_device::a2bus_laser128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_LASER128, "VTech Laser 128 Internal Device", tag, owner, clock, "a2laser128", __FILE__),
- device_a2bus_card_interface(mconfig, *this), m_rom(nullptr), m_slot7_bank(0), m_slot7_ram_bank(0)
+ a2bus_laser128_device(mconfig, A2BUS_LASER128, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/laser128.h b/src/devices/bus/a2bus/laser128.h
index 22733ea94fa..c324911ea37 100644
--- a/src/devices/bus/a2bus/laser128.h
+++ b/src/devices/bus/a2bus/laser128.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_LASER128__
-#define __A2BUS_LASER128__
+#ifndef MAME_BUS_A2BUS_LASER128_H
+#define MAME_BUS_A2BUS_LASER128_H
+
+#pragma once
#include "a2bus.h"
@@ -23,13 +25,14 @@ class a2bus_laser128_device:
{
public:
// construction/destruction
- a2bus_laser128_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_laser128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
+ a2bus_laser128_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -48,6 +51,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_LASER128;
+DECLARE_DEVICE_TYPE(A2BUS_LASER128, a2bus_laser128_device)
-#endif /* __A2BUS_LASER128__ */
+#endif // MAME_BUS_A2BUS_LASER128_H
diff --git a/src/devices/bus/a2bus/mouse.cpp b/src/devices/bus/a2bus/mouse.cpp
index c332fce3d65..5380df8894c 100644
--- a/src/devices/bus/a2bus/mouse.cpp
+++ b/src/devices/bus/a2bus/mouse.cpp
@@ -83,7 +83,7 @@
GLOBAL VARIABLES
***************************************************************************/
-const device_type A2BUS_MOUSE = device_creator<a2bus_mouse_device>;
+DEFINE_DEVICE_TYPE(A2BUS_MOUSE, a2bus_mouse_device, "a2mouse", "Apple II Mouse Card")
static MACHINE_CONFIG_FRAGMENT( mouse )
MCFG_CPU_ADD(MOUSE_MCU_TAG, M68705P3, 2043600)
@@ -161,8 +161,8 @@ const tiny_rom_entry *a2bus_mouse_device::device_rom_region() const
LIVE DEVICE
***************************************************************************/
-a2bus_mouse_device::a2bus_mouse_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_mouse_device::a2bus_mouse_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_pia(*this, MOUSE_PIA_TAG),
m_mcu(*this, MOUSE_MCU_TAG),
@@ -175,7 +175,7 @@ a2bus_mouse_device::a2bus_mouse_device(const machine_config &mconfig, device_typ
}
a2bus_mouse_device::a2bus_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a2bus_mouse_device(mconfig, A2BUS_MOUSE, "Apple II Mouse Card", tag, owner, clock, "a2mouse", __FILE__)
+ a2bus_mouse_device(mconfig, A2BUS_MOUSE, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/mouse.h b/src/devices/bus/a2bus/mouse.h
index 97a9c00059b..b20513bc4d0 100644
--- a/src/devices/bus/a2bus/mouse.h
+++ b/src/devices/bus/a2bus/mouse.h
@@ -11,6 +11,8 @@
#ifndef MAME_DEVICES_A2BUS_MOUSE_H
#define MAME_DEVICES_A2BUS_MOUSE_H
+#pragma once
+
#include "a2bus.h"
#include "machine/6821pia.h"
#include "cpu/m6805/m68705.h"
@@ -25,7 +27,6 @@ class a2bus_mouse_device:
{
public:
// construction/destruction
- a2bus_mouse_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -45,6 +46,8 @@ public:
DECLARE_WRITE8_MEMBER(mcu_port_c_w);
protected:
+ a2bus_mouse_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
diff --git a/src/devices/bus/a2bus/pc_xporter.cpp b/src/devices/bus/a2bus/pc_xporter.cpp
index 158475219bc..f5f267cd883 100644
--- a/src/devices/bus/a2bus/pc_xporter.cpp
+++ b/src/devices/bus/a2bus/pc_xporter.cpp
@@ -89,7 +89,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_PCXPORTER = device_creator<a2bus_pcxporter_device>;
+DEFINE_DEVICE_TYPE(A2BUS_PCXPORTER, a2bus_pcxporter_device, "a2pcxport", "Applied Engineering PC Transporter")
static ADDRESS_MAP_START( pc_map, AS_PROGRAM, 16, a2bus_pcxporter_device )
ADDRESS_MAP_UNMAP_HIGH
@@ -183,8 +183,8 @@ machine_config_constructor a2bus_pcxporter_device::device_mconfig_additions() co
// LIVE DEVICE
//**************************************************************************
-a2bus_pcxporter_device::a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_pcxporter_device::a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_v30(*this, "v30"),
m_pic8259(*this, "pic8259"),
@@ -197,15 +197,7 @@ a2bus_pcxporter_device::a2bus_pcxporter_device(const machine_config &mconfig, de
}
a2bus_pcxporter_device::a2bus_pcxporter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_PCXPORTER, "Applied Engineering PC Transporter", tag, owner, clock, "a2pcxport", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_v30(*this, "v30"),
- m_pic8259(*this, "pic8259"),
- m_dma8237(*this, "dma8237"),
- m_pit8253(*this, "pit8253"),
- m_speaker(*this, "speaker"),
- m_isabus(*this, "isa"),
- m_pc_kbdc(*this, "pc_kbdc")
+ a2bus_pcxporter_device(mconfig, A2BUS_PCXPORTER, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/pc_xporter.h b/src/devices/bus/a2bus/pc_xporter.h
index 49221a28ce9..5b990adc5a2 100644
--- a/src/devices/bus/a2bus/pc_xporter.h
+++ b/src/devices/bus/a2bus/pc_xporter.h
@@ -8,6 +8,9 @@
*********************************************************************/
+#ifndef MAME_BUS_A2BUS_PC_XPORTER_H
+#define MAME_BUS_A2BUS_PC_XPORTER_H
+
#pragma once
#include "a2bus.h"
@@ -33,7 +36,6 @@ class a2bus_pcxporter_device:
{
public:
// construction/destruction
- a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_pcxporter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -41,14 +43,6 @@ public:
DECLARE_READ16_MEMBER(pc_bios_r);
- required_device<v30_device> m_v30;
- required_device<pic8259_device> m_pic8259;
- required_device<am9517a_device> m_dma8237;
- required_device<pit8253_device> m_pit8253;
- required_device<speaker_sound_device> m_speaker;
- required_device<isa8_device> m_isabus;
- optional_device<pc_kbdc_device> m_pc_kbdc;
-
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
@@ -57,16 +51,6 @@ public:
virtual uint8_t read_c800(address_space &space, uint16_t offset) override;
virtual void write_c800(address_space &space, uint16_t offset, uint8_t data) override;
- uint8_t m_u73_q2;
- uint8_t m_out1;
- int m_dma_channel;
- uint8_t m_dma_offset[4];
- uint8_t m_pc_spkrdata;
- uint8_t m_pit_out2;
- bool m_cur_eop;
-
- uint8_t m_nmi_enabled;
-
// interface to the keyboard
DECLARE_WRITE_LINE_MEMBER( keyboard_clock_w );
DECLARE_WRITE_LINE_MEMBER( keyboard_data_w );
@@ -98,9 +82,29 @@ public:
DECLARE_WRITE8_MEMBER(nmi_enable_w);
protected:
+ a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
+ required_device<v30_device> m_v30;
+ required_device<pic8259_device> m_pic8259;
+ required_device<am9517a_device> m_dma8237;
+ required_device<pit8253_device> m_pit8253;
+ required_device<speaker_sound_device> m_speaker;
+ required_device<isa8_device> m_isabus;
+ optional_device<pc_kbdc_device> m_pc_kbdc;
+
+ uint8_t m_u73_q2;
+ uint8_t m_out1;
+ int m_dma_channel;
+ uint8_t m_dma_offset[4];
+ uint8_t m_pc_spkrdata;
+ uint8_t m_pit_out2;
+ bool m_cur_eop;
+
+ uint8_t m_nmi_enabled;
+
private:
uint8_t m_ram[768*1024];
uint8_t m_c800_ram[0x400];
@@ -116,3 +120,5 @@ private:
// device type definition
extern const device_type A2BUS_PCXPORTER;
+
+#endif // MAME_BUS_A2BUS_PC_XPORTER_H
diff --git a/src/devices/bus/a2bus/ramcard128k.cpp b/src/devices/bus/a2bus/ramcard128k.cpp
index 6697c6ac9ab..b98d2edfad9 100644
--- a/src/devices/bus/a2bus/ramcard128k.cpp
+++ b/src/devices/bus/a2bus/ramcard128k.cpp
@@ -19,7 +19,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_RAMCARD128K = device_creator<a2bus_ssramcard_device>;
+DEFINE_DEVICE_TYPE(A2BUS_RAMCARD128K, a2bus_ssramcard_device, "ssram128", "Saturn Systems 128K Extended Language Card")
/***************************************************************************
FUNCTION PROTOTYPES
@@ -29,15 +29,14 @@ const device_type A2BUS_RAMCARD128K = device_creator<a2bus_ssramcard_device>;
// LIVE DEVICE
//**************************************************************************
-a2bus_ssramcard_device::a2bus_ssramcard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_a2bus_card_interface(mconfig, *this), m_inh_state(0), m_last_offset(0), m_dxxx_bank(0), m_main_bank(0)
+a2bus_ssramcard_device::a2bus_ssramcard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock), device_a2bus_card_interface(mconfig, *this),
+ m_inh_state(0), m_last_offset(0), m_dxxx_bank(0), m_main_bank(0)
{
}
a2bus_ssramcard_device::a2bus_ssramcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_RAMCARD128K, "Saturn Systems 128K Extended Language Card", tag, owner, clock, "ssram128", __FILE__),
- device_a2bus_card_interface(mconfig, *this), m_inh_state(0), m_last_offset(0), m_dxxx_bank(0), m_main_bank(0)
+ a2bus_ssramcard_device(mconfig, A2BUS_RAMCARD128K, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/ramcard128k.h b/src/devices/bus/a2bus/ramcard128k.h
index 922bebbb730..a6ac119f200 100644
--- a/src/devices/bus/a2bus/ramcard128k.h
+++ b/src/devices/bus/a2bus/ramcard128k.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_RAMCARD128K__
-#define __A2BUS_RAMCARD128K__
+#ifndef MAME_BUS_A2BUS_RAMCARD128K_H
+#define MAME_BUS_A2BUS_RAMCARD128K_H
+
+#pragma once
#include "a2bus.h"
@@ -23,10 +25,11 @@ class a2bus_ssramcard_device:
{
public:
// construction/destruction
- a2bus_ssramcard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_ssramcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
+ a2bus_ssramcard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -50,6 +53,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_RAMCARD128K;
+DECLARE_DEVICE_TYPE(A2BUS_RAMCARD128K, a2bus_ssramcard_device)
-#endif /* __A2BUS_RAMCARD128K__ */
+#endif // MAME_BUS_A2BUS_RAMCARD128K_H
diff --git a/src/devices/bus/a2bus/ramcard16k.cpp b/src/devices/bus/a2bus/ramcard16k.cpp
index 3feb4a62bd3..d80bc9f4f6c 100644
--- a/src/devices/bus/a2bus/ramcard16k.cpp
+++ b/src/devices/bus/a2bus/ramcard16k.cpp
@@ -19,7 +19,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_RAMCARD16K = device_creator<a2bus_ramcard_device>;
+DEFINE_DEVICE_TYPE(A2BUS_RAMCARD16K, a2bus_ramcard_device, "a2ram16k", "Apple II 16K Language Card")
/***************************************************************************
FUNCTION PROTOTYPES
@@ -29,15 +29,14 @@ const device_type A2BUS_RAMCARD16K = device_creator<a2bus_ramcard_device>;
// LIVE DEVICE
//**************************************************************************
-a2bus_ramcard_device::a2bus_ramcard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_ramcard_device::a2bus_ramcard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this), m_inh_state(0), m_prewrite(false), m_dxxx_bank(0)
{
}
a2bus_ramcard_device::a2bus_ramcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_RAMCARD16K, "Apple II 16K Language Card", tag, owner, clock, "a2ram16k", __FILE__),
- device_a2bus_card_interface(mconfig, *this), m_inh_state(0), m_prewrite(false), m_dxxx_bank(0)
+ a2bus_ramcard_device(mconfig, A2BUS_RAMCARD16K, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a2bus/ramcard16k.h b/src/devices/bus/a2bus/ramcard16k.h
index abfceec35d9..43e8ca8b535 100644
--- a/src/devices/bus/a2bus/ramcard16k.h
+++ b/src/devices/bus/a2bus/ramcard16k.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_RAMCARD16K__
-#define __A2BUS_RAMCARD16K__
+#ifndef MAME_BUS_A2BUS_RAMCARD16K_H
+#define MAME_BUS_A2BUS_RAMCARD16K_H
+
+#pragma once
#include "a2bus.h"
@@ -23,10 +25,11 @@ class a2bus_ramcard_device:
{
public:
// construction/destruction
- a2bus_ramcard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_ramcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
+ a2bus_ramcard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -49,6 +52,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_RAMCARD16K;
+DECLARE_DEVICE_TYPE(A2BUS_RAMCARD16K, a2bus_ramcard_device)
-#endif /* __A2BUS_RAMCARD16K__ */
+#endif // MAME_BUS_A2BUS_RAMCARD16K_H
diff --git a/src/devices/bus/a2bus/timemasterho.cpp b/src/devices/bus/a2bus/timemasterho.cpp
index 7eee31eb768..27951e7d635 100644
--- a/src/devices/bus/a2bus/timemasterho.cpp
+++ b/src/devices/bus/a2bus/timemasterho.cpp
@@ -46,7 +46,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A2BUS_TIMEMASTERHO = device_creator<a2bus_timemasterho_device>;
+DEFINE_DEVICE_TYPE(A2BUS_TIMEMASTERHO, a2bus_timemasterho_device, "a2tmstho", "Applied Engineering TimeMaster H.O.")
#define TIMEMASTER_ROM_REGION "timemst_rom"
#define TIMEMASTER_PIA_TAG "timemst_pia"
@@ -122,8 +122,8 @@ const tiny_rom_entry *a2bus_timemasterho_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-a2bus_timemasterho_device::a2bus_timemasterho_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+a2bus_timemasterho_device::a2bus_timemasterho_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_a2bus_card_interface(mconfig, *this),
m_pia(*this, TIMEMASTER_PIA_TAG),
m_msm5832(*this, TIMEMASTER_M5832_TAG),
@@ -133,11 +133,7 @@ a2bus_timemasterho_device::a2bus_timemasterho_device(const machine_config &mconf
}
a2bus_timemasterho_device::a2bus_timemasterho_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_TIMEMASTERHO, "Applied Engineering TimeMaster H.O.", tag, owner, clock, "a2tmstho", __FILE__),
- device_a2bus_card_interface(mconfig, *this),
- m_pia(*this, TIMEMASTER_PIA_TAG),
- m_msm5832(*this, TIMEMASTER_M5832_TAG),
- m_dsw1(*this, "DSW1"), m_rom(nullptr), m_irqa(false), m_irqb(false)
+ a2bus_timemasterho_device(mconfig, A2BUS_TIMEMASTERHO, tag, owner, clock)
{
m_started = false;
}
diff --git a/src/devices/bus/a2bus/timemasterho.h b/src/devices/bus/a2bus/timemasterho.h
index c05d95571c7..ad6457ddf03 100644
--- a/src/devices/bus/a2bus/timemasterho.h
+++ b/src/devices/bus/a2bus/timemasterho.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __A2BUS_TIMEMASTERHO__
-#define __A2BUS_TIMEMASTERHO__
+#ifndef MAME_BUS_A2BUS_TIMEMASTERHO_H
+#define MAME_BUS_A2BUS_TIMEMASTERHO_H
+
+#pragma once
#include "a2bus.h"
#include "machine/6821pia.h"
@@ -25,7 +27,6 @@ class a2bus_timemasterho_device:
{
public:
// construction/destruction
- a2bus_timemasterho_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a2bus_timemasterho_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -39,6 +40,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(pia_irqb_w);
protected:
+ a2bus_timemasterho_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -61,6 +64,6 @@ private:
};
// device type definition
-extern const device_type A2BUS_TIMEMASTERHO;
+DECLARE_DEVICE_TYPE(A2BUS_TIMEMASTERHO, a2bus_timemasterho_device)
-#endif /* __A2BUS_TIMEMASTERHO__ */
+#endif // MAME_BUS_A2BUS_TIMEMASTERHO_H
diff --git a/src/devices/bus/a7800/a78_carts.h b/src/devices/bus/a7800/a78_carts.h
index c115d8f45d9..dc9abffbbe2 100644
--- a/src/devices/bus/a7800/a78_carts.h
+++ b/src/devices/bus/a7800/a78_carts.h
@@ -1,8 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A78_CARTS_H
-#define __A78_CARTS_H
+#ifndef MAME_BUS_A7800_A78_CARTS_H
+#define MAME_BUS_A7800_A78_CARTS_H
+#pragma once
#include "rom.h"
#include "xboard.h"
@@ -36,4 +37,4 @@ SLOT_INTERFACE_END
// supported devices
SLOT_INTERFACE_EXTERN(a78_cart);
-#endif
+#endif // MAME_BUS_A7800_A78_CARTS_H
diff --git a/src/devices/bus/a7800/a78_slot.cpp b/src/devices/bus/a7800/a78_slot.cpp
index 878e5c94dd4..78749155cbb 100644
--- a/src/devices/bus/a7800/a78_slot.cpp
+++ b/src/devices/bus/a7800/a78_slot.cpp
@@ -33,7 +33,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A78_CART_SLOT = device_creator<a78_cart_slot_device>;
+DEFINE_DEVICE_TYPE(A78_CART_SLOT, a78_cart_slot_device, "a78_cart_slot", "Atari 7800 Cartridge Slot")
//-------------------------------------------------
@@ -112,10 +112,12 @@ void device_a78_cart_interface::nvram_alloc(uint32_t size)
//-------------------------------------------------
// a78_cart_slot_device - constructor
//-------------------------------------------------
-a78_cart_slot_device::a78_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A78_CART_SLOT, "Atari 7800 Cartridge Slot", tag, owner, clock, "a78_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this), m_cart(nullptr), m_type(0)
+a78_cart_slot_device::a78_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, A78_CART_SLOT, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , device_slot_interface(mconfig, *this)
+ , m_cart(nullptr)
+ , m_type(0)
{
}
diff --git a/src/devices/bus/a7800/a78_slot.h b/src/devices/bus/a7800/a78_slot.h
index 7164b579d8d..e498f416e54 100644
--- a/src/devices/bus/a7800/a78_slot.h
+++ b/src/devices/bus/a7800/a78_slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A78_SLOT_H
-#define __A78_SLOT_H
+#ifndef MAME_BUS_A7800_A78_SLOT_H
+#define MAME_BUS_A7800_A78_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -43,7 +45,6 @@ class device_a78_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_a78_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_a78_cart_interface();
// memory accessor
@@ -67,6 +68,8 @@ public:
uint32_t get_nvram_size() { return m_nvram.size(); }
protected:
+ device_a78_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -137,7 +140,7 @@ private:
// device type definition
-extern const device_type A78_CART_SLOT;
+DECLARE_DEVICE_TYPE(A78_CART_SLOT, a78_cart_slot_device)
/***************************************************************************
@@ -151,4 +154,4 @@ extern const device_type A78_CART_SLOT;
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+#endif // MAME_BUS_A7800_A78_SLOT_H
diff --git a/src/devices/bus/a7800/cpuwiz.cpp b/src/devices/bus/a7800/cpuwiz.cpp
index cc63d13b9c8..69506ae5d84 100644
--- a/src/devices/bus/a7800/cpuwiz.cpp
+++ b/src/devices/bus/a7800/cpuwiz.cpp
@@ -35,32 +35,32 @@
// constructor
//-------------------------------------------------
-const device_type A78_ROM_VERSABOARD = device_creator<a78_versaboard_device>;
-const device_type A78_ROM_MEGACART = device_creator<a78_megacart_device>;
+DEFINE_DEVICE_TYPE(A78_ROM_VERSABOARD, a78_versaboard_device, "a78_versaboard", "Atari 7800 VersaBoard Cart")
+DEFINE_DEVICE_TYPE(A78_ROM_MEGACART, a78_megacart_device, "a78_megacart", "Atari 7800 MegaCart+")
-const device_type A78_ROM_P450_VB = device_creator<a78_rom_p450_vb_device>;
+DEFINE_DEVICE_TYPE(A78_ROM_P450_VB, a78_rom_p450_vb_device, "a78_versapokey", "Atari 7800 VersaBoard + POKEY @ 0x450 Cart")
-a78_versaboard_device::a78_versaboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : a78_rom_sg_device(mconfig, type, name, tag, owner, clock, shortname, source), m_ram_bank(0)
- {
+a78_versaboard_device::a78_versaboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : a78_rom_sg_device(mconfig, type, tag, owner, clock), m_ram_bank(0)
+{
}
a78_versaboard_device::a78_versaboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_sg_device(mconfig, A78_ROM_VERSABOARD, "Atari 7800 VersaBoard Cart", tag, owner, clock, "a78_versaboard", __FILE__), m_ram_bank(0)
- {
+ : a78_versaboard_device(mconfig, A78_ROM_VERSABOARD, tag, owner, clock)
+{
}
a78_megacart_device::a78_megacart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_versaboard_device(mconfig, A78_ROM_MEGACART, "Atari 7800 MegaCart+", tag, owner, clock, "a78_megacart", __FILE__)
+ : a78_versaboard_device(mconfig, A78_ROM_MEGACART, tag, owner, clock)
{
}
a78_rom_p450_vb_device::a78_rom_p450_vb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_versaboard_device(mconfig, A78_ROM_P450_VB, "Atari 7800 VersaBoard + POKEY @ 0x0450 Cart", tag, owner, clock, "a78_versapokey", __FILE__),
- m_pokey450(*this, "pokey450")
+ : a78_versaboard_device(mconfig, A78_ROM_P450_VB, tag, owner, clock)
+ , m_pokey450(*this, "pokey450")
{
}
diff --git a/src/devices/bus/a7800/cpuwiz.h b/src/devices/bus/a7800/cpuwiz.h
index 7d288055aaa..2357064428c 100644
--- a/src/devices/bus/a7800/cpuwiz.h
+++ b/src/devices/bus/a7800/cpuwiz.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A78_CPUWIZ_H
-#define __A78_CPUWIZ_H
+#ifndef MAME_BUS_A7800_CPUWIZ_H
+#define MAME_BUS_A7800_CPUWIZ_H
+
+#pragma once
#include "a78_slot.h"
#include "rom.h"
@@ -13,7 +15,6 @@ class a78_versaboard_device : public a78_rom_sg_device
{
public:
// construction/destruction
- a78_versaboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a78_versaboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
@@ -25,6 +26,8 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
protected:
+ a78_versaboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
int m_ram_bank;
};
@@ -66,9 +69,9 @@ protected:
// device type definition
-extern const device_type A78_ROM_VERSABOARD;
-extern const device_type A78_ROM_MEGACART;
+DECLARE_DEVICE_TYPE(A78_ROM_VERSABOARD, a78_versaboard_device)
+DECLARE_DEVICE_TYPE(A78_ROM_MEGACART, a78_megacart_device)
-extern const device_type A78_ROM_P450_VB;
+DECLARE_DEVICE_TYPE(A78_ROM_P450_VB, a78_rom_p450_vb_device)
-#endif
+#endif // MAME_BUS_A7800_CPUWIZ_H
diff --git a/src/devices/bus/a7800/hiscore.cpp b/src/devices/bus/a7800/hiscore.cpp
index e78147c2f46..2241d092597 100644
--- a/src/devices/bus/a7800/hiscore.cpp
+++ b/src/devices/bus/a7800/hiscore.cpp
@@ -17,12 +17,12 @@
// constructor
//-------------------------------------------------
-const device_type A78_HISCORE = device_creator<a78_hiscore_device>;
+DEFINE_DEVICE_TYPE(A78_HISCORE, a78_hiscore_device, "a78_hiscore", "Atari 7800 High Score Cart")
a78_hiscore_device::a78_hiscore_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_device(mconfig, A78_HISCORE, "Atari 7800 High Score Cart", tag, owner, clock, "a78_highscore", __FILE__),
- m_hscslot(*this, "hsc_slot")
+ : a78_rom_device(mconfig, A78_HISCORE, tag, owner, clock)
+ , m_hscslot(*this, "hsc_slot")
{
}
diff --git a/src/devices/bus/a7800/hiscore.h b/src/devices/bus/a7800/hiscore.h
index 2ce16b319c6..4f7606a85ff 100644
--- a/src/devices/bus/a7800/hiscore.h
+++ b/src/devices/bus/a7800/hiscore.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A78_HISCORE_H
-#define __A78_HISCORE_H
+#ifndef MAME_BUS_A7800_HISCORE_H
+#define MAME_BUS_A7800_HISCORE_H
+
+#pragma once
#include "a78_slot.h"
#include "rom.h"
@@ -34,7 +36,7 @@ protected:
// device type definition
-extern const device_type A78_HISCORE;
+DECLARE_DEVICE_TYPE(A78_HISCORE, a78_hiscore_device)
-#endif
+#endif // MAME_BUS_A7800_HISCORE_H
diff --git a/src/devices/bus/a7800/rom.cpp b/src/devices/bus/a7800/rom.cpp
index 8604ddf92f5..1b624fdb516 100644
--- a/src/devices/bus/a7800/rom.cpp
+++ b/src/devices/bus/a7800/rom.cpp
@@ -27,131 +27,131 @@
// constructor
//-------------------------------------------------
-const device_type A78_ROM = device_creator<a78_rom_device>;
-const device_type A78_ROM_SG = device_creator<a78_rom_sg_device>;
-const device_type A78_ROM_POKEY = device_creator<a78_rom_pokey_device>;
-const device_type A78_ROM_SG_POKEY = device_creator<a78_rom_sg_pokey_device>;
-const device_type A78_ROM_SG_RAM = device_creator<a78_rom_sg_ram_device>;
-const device_type A78_ROM_SG9 = device_creator<a78_rom_sg9_device>;
-const device_type A78_ROM_MRAM = device_creator<a78_rom_mram_device>;
-const device_type A78_ROM_ABSOLUTE = device_creator<a78_rom_abs_device>;
-const device_type A78_ROM_ACTIVISION = device_creator<a78_rom_act_device>;
+DEFINE_DEVICE_TYPE(A78_ROM, a78_rom_device, "a78_rom", "Atari 7800 ROM Carts w/no Bankswitch")
+DEFINE_DEVICE_TYPE(A78_ROM_SG, a78_rom_sg_device, "a78_rom_sg", "Atari 7800 ROM Carts w/SuperGame Bankswitch")
+DEFINE_DEVICE_TYPE(A78_ROM_POKEY, a78_rom_pokey_device, "a78_rom_pok", "Atari 7800 ROM Carts w/no Bankswitch + POKEY")
+DEFINE_DEVICE_TYPE(A78_ROM_SG_POKEY, a78_rom_sg_pokey_device, "a78_rom_sgp", "Atari 7800 ROM Carts w/SuperGame Bankswitch + POKEY")
+DEFINE_DEVICE_TYPE(A78_ROM_SG_RAM, a78_rom_sg_ram_device, "a78_rom_sgr", "Atari 7800 ROM Carts w/SuperGame Bankswitch + RAM")
+DEFINE_DEVICE_TYPE(A78_ROM_MRAM, a78_rom_mram_device, "a78_rom_mram", "Atari 7800 ROM Carts + Mirror RAM")
+DEFINE_DEVICE_TYPE(A78_ROM_SG9, a78_rom_sg9_device, "a78_rom_sg9", "Atari 7800 ROM Carts w/SuperGame 9Banks")
+DEFINE_DEVICE_TYPE(A78_ROM_ABSOLUTE, a78_rom_abs_device, "a78_rom_abs", "Atari 7800 ROM Carts w/Absolute Bankswitch")
+DEFINE_DEVICE_TYPE(A78_ROM_ACTIVISION, a78_rom_act_device, "a78_rom_act", "Atari 7800 ROM Carts w/Activision Bankswitch")
+DEFINE_DEVICE_TYPE(A78_ROM_P450, a78_rom_p450_device, "a78_p450_t0", "Atari 7800 ROM Carts w/POKEY @ 0x0450")
+DEFINE_DEVICE_TYPE(A78_ROM_P450_POKEY, a78_rom_p450_pokey_device, "a78_p450_t1", "Atari 7800 ROM Carts w/no Bankswitch + POKEY + POKEY @ 0x0450")
+DEFINE_DEVICE_TYPE(A78_ROM_P450_SG_RAM, a78_rom_p450_sg_ram_device, "a78_p450_t6", "Atari 7800 ROM Carts w/SuperGame Bankswitch + RAM + POKEY @ 0x0450")
+DEFINE_DEVICE_TYPE(A78_ROM_P450_SG9, a78_rom_p450_sg9_device, "a78_p450_ta", "Atari 7800 ROM Carts w/SuperGame 9Banks + POKEY @ 0x0450")
-const device_type A78_ROM_P450 = device_creator<a78_rom_p450_device>;
-const device_type A78_ROM_P450_POKEY = device_creator<a78_rom_p450_pokey_device>;
-const device_type A78_ROM_P450_SG_RAM = device_creator<a78_rom_p450_sg_ram_device>;
-const device_type A78_ROM_P450_SG9 = device_creator<a78_rom_p450_sg9_device>;
-
-a78_rom_device::a78_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_a78_cart_interface( mconfig, *this )
+a78_rom_device::a78_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_a78_cart_interface( mconfig, *this )
{
}
a78_rom_device::a78_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, A78_ROM, "Atari 7800 ROM Carts w/no Bankswitch", tag, owner, clock, "a78_rom", __FILE__),
- device_a78_cart_interface( mconfig, *this )
+ : a78_rom_device(mconfig, A78_ROM, tag, owner, clock)
{
}
-a78_rom_pokey_device::a78_rom_pokey_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : a78_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_pokey(*this, "pokey")
+a78_rom_pokey_device::a78_rom_pokey_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : a78_rom_device(mconfig, type, tag, owner, clock)
+ , m_pokey(*this, "pokey")
{
}
a78_rom_pokey_device::a78_rom_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_device(mconfig, A78_ROM_POKEY, "Atari 7800 ROM Carts w/no Bankswitch + POKEY", tag, owner, clock, "a78_rom_pok", __FILE__),
- m_pokey(*this, "pokey")
+ : a78_rom_pokey_device(mconfig, A78_ROM_POKEY, tag, owner, clock)
{
}
-a78_rom_mram_device::a78_rom_mram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : a78_rom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+a78_rom_mram_device::a78_rom_mram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : a78_rom_device(mconfig, type, tag, owner, clock)
{
}
a78_rom_mram_device::a78_rom_mram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_device(mconfig, A78_ROM_MRAM, "Atari 7800 ROM Carts + Mirror RAM", tag, owner, clock, "a78_rom_mram", __FILE__)
+ : a78_rom_mram_device(mconfig, A78_ROM_MRAM, tag, owner, clock)
{
}
-a78_rom_sg_device::a78_rom_sg_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : a78_rom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_bank(0)
- {
+a78_rom_sg_device::a78_rom_sg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : a78_rom_device(mconfig, type, tag, owner, clock)
+ , m_bank(0)
+{
}
a78_rom_sg_device::a78_rom_sg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_device(mconfig, A78_ROM_SG, "Atari 7800 ROM Carts w/SuperGame Bankswitch", tag, owner, clock, "a78_rom_sg", __FILE__), m_bank(0)
- {
+ : a78_rom_sg_device(mconfig, A78_ROM_SG, tag, owner, clock)
+{
}
a78_rom_sg_pokey_device::a78_rom_sg_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_sg_device(mconfig, A78_ROM_SG_POKEY, "Atari 7800 ROM Carts w/SuperGame Bankswitch + POKEY", tag, owner, clock, "a78_rom_sgp", __FILE__),
- m_pokey(*this, "pokey")
+ : a78_rom_sg_device(mconfig, A78_ROM_SG_POKEY, tag, owner, clock)
+ , m_pokey(*this, "pokey")
{
}
-a78_rom_sg_ram_device::a78_rom_sg_ram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : a78_rom_sg_device(mconfig, type, name, tag, owner, clock, shortname, source)
+a78_rom_sg_ram_device::a78_rom_sg_ram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : a78_rom_sg_device(mconfig, type, tag, owner, clock)
{
}
a78_rom_sg_ram_device::a78_rom_sg_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_sg_device(mconfig, A78_ROM_SG_RAM, "Atari 7800 ROM Carts w/SuperGame Bankswitch + RAM", tag, owner, clock, "a78_rom_sgr", __FILE__)
+ : a78_rom_sg_ram_device(mconfig, A78_ROM_SG_RAM, tag, owner, clock)
{
}
-a78_rom_sg9_device::a78_rom_sg9_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : a78_rom_sg_device(mconfig, type, name, tag, owner, clock, shortname, source)
+a78_rom_sg9_device::a78_rom_sg9_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : a78_rom_sg_device(mconfig, type, tag, owner, clock)
{
}
a78_rom_sg9_device::a78_rom_sg9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_sg_device(mconfig, A78_ROM_SG9, "Atari 7800 ROM Carts w/SuperGame 9Banks", tag, owner, clock, "a78_rom_sg9", __FILE__)
+ : a78_rom_sg9_device(mconfig, A78_ROM_SG9, tag, owner, clock)
{
}
a78_rom_abs_device::a78_rom_abs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_device(mconfig, A78_ROM_ABSOLUTE, "Atari 7800 ROM Carts w/Absolute Bankswitch", tag, owner, clock, "a78_rom_abs", __FILE__), m_bank(0)
- {
+ : a78_rom_device(mconfig, A78_ROM_ABSOLUTE, tag, owner, clock)
+ , m_bank(0)
+{
}
a78_rom_act_device::a78_rom_act_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_device(mconfig, A78_ROM_ACTIVISION, "Atari 7800 ROM Carts w/Activision Bankswitch", tag, owner, clock, "a78_rom_act", __FILE__), m_bank(0)
- {
+ : a78_rom_device(mconfig, A78_ROM_ACTIVISION, tag, owner, clock)
+ , m_bank(0)
+{
}
a78_rom_p450_device::a78_rom_p450_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_device(mconfig, A78_ROM_P450, "Atari 7800 ROM Carts w/POKEY @ 0x0450", tag, owner, clock, "a78_p450_t0", __FILE__),
- m_pokey450(*this, "pokey450")
+ : a78_rom_device(mconfig, A78_ROM_P450, tag, owner, clock)
+ , m_pokey450(*this, "pokey450")
{
}
a78_rom_p450_pokey_device::a78_rom_p450_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_pokey_device(mconfig, A78_ROM_P450_POKEY, "Atari 7800 ROM Carts w/no Bankswitch + POKEY + POKEY @ 0x0450", tag, owner, clock, "a78_p450_t1", __FILE__),
- m_pokey450(*this, "pokey450")
+ : a78_rom_pokey_device(mconfig, A78_ROM_P450_POKEY, tag, owner, clock)
+ , m_pokey450(*this, "pokey450")
{
}
a78_rom_p450_sg_ram_device::a78_rom_p450_sg_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_sg_ram_device(mconfig, A78_ROM_P450_SG_RAM, "Atari 7800 ROM Carts w/SuperGame Bankswitch + RAM + POKEY @ 0x0450", tag, owner, clock, "a78_p450_t6", __FILE__),
- m_pokey450(*this, "pokey450")
+ : a78_rom_sg_ram_device(mconfig, A78_ROM_P450_SG_RAM, tag, owner, clock)
+ , m_pokey450(*this, "pokey450")
{
}
a78_rom_p450_sg9_device::a78_rom_p450_sg9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_sg9_device(mconfig, A78_ROM_P450_SG9, "Atari 7800 ROM Carts w/SuperGame 9Banks + POKEY @ 0x0450", tag, owner, clock, "a78_p450_ta", __FILE__),
- m_pokey450(*this, "pokey450")
+ : a78_rom_sg9_device(mconfig, A78_ROM_P450_SG9, tag, owner, clock)
+ , m_pokey450(*this, "pokey450")
{
}
diff --git a/src/devices/bus/a7800/rom.h b/src/devices/bus/a7800/rom.h
index 5036b530aae..9e9a971e0d5 100644
--- a/src/devices/bus/a7800/rom.h
+++ b/src/devices/bus/a7800/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A78_ROM_H
-#define __A78_ROM_H
+#ifndef MAME_BUS_A7800_ROM_H
+#define MAME_BUS_A7800_ROM_H
+
+#pragma once
#include "a78_slot.h"
#include "sound/pokey.h"
@@ -14,15 +16,17 @@ class a78_rom_device : public device_t,
{
public:
// construction/destruction
- a78_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a78_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_40xx) override;
+
+protected:
+ a78_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
-
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_40xx) override;
};
@@ -32,7 +36,6 @@ class a78_rom_pokey_device : public a78_rom_device
{
public:
// construction/destruction
- a78_rom_pokey_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a78_rom_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
@@ -43,6 +46,8 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
protected:
+ a78_rom_pokey_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
required_device<pokey_device> m_pokey;
};
@@ -53,12 +58,14 @@ class a78_rom_mram_device : public a78_rom_device
{
public:
// construction/destruction
- a78_rom_mram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a78_rom_mram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx) override;
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
+
+protected:
+ a78_rom_mram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
@@ -68,18 +75,19 @@ class a78_rom_sg_device : public a78_rom_device
{
public:
// construction/destruction
- a78_rom_sg_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a78_rom_sg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx) override;
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
protected:
+ a78_rom_sg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -110,12 +118,14 @@ class a78_rom_sg_ram_device : public a78_rom_sg_device
{
public:
// construction/destruction
- a78_rom_sg_ram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a78_rom_sg_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx) override;
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
+
+protected:
+ a78_rom_sg_ram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
@@ -125,12 +135,14 @@ class a78_rom_sg9_device : public a78_rom_sg_device
{
public:
// construction/destruction
- a78_rom_sg9_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a78_rom_sg9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx) override;
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
+
+protected:
+ a78_rom_sg9_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
@@ -142,15 +154,15 @@ public:
// construction/destruction
a78_rom_abs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx) override;
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -163,15 +175,15 @@ public:
// construction/destruction
a78_rom_act_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx) override;
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -258,20 +270,20 @@ protected:
// device type definition
-extern const device_type A78_ROM;
-extern const device_type A78_ROM_SG;
-extern const device_type A78_ROM_POKEY;
-extern const device_type A78_ROM_SG_POKEY;
-extern const device_type A78_ROM_SG_RAM;
-extern const device_type A78_ROM_MRAM;
-extern const device_type A78_ROM_SG9;
-extern const device_type A78_ROM_ABSOLUTE;
-extern const device_type A78_ROM_ACTIVISION;
+DECLARE_DEVICE_TYPE(A78_ROM, a78_rom_device)
+DECLARE_DEVICE_TYPE(A78_ROM_SG, a78_rom_sg_device)
+DECLARE_DEVICE_TYPE(A78_ROM_POKEY, a78_rom_pokey_device)
+DECLARE_DEVICE_TYPE(A78_ROM_SG_POKEY, a78_rom_sg_pokey_device)
+DECLARE_DEVICE_TYPE(A78_ROM_SG_RAM, a78_rom_sg_ram_device)
+DECLARE_DEVICE_TYPE(A78_ROM_MRAM, a78_rom_mram_device)
+DECLARE_DEVICE_TYPE(A78_ROM_SG9, a78_rom_sg9_device)
+DECLARE_DEVICE_TYPE(A78_ROM_ABSOLUTE, a78_rom_abs_device)
+DECLARE_DEVICE_TYPE(A78_ROM_ACTIVISION, a78_rom_act_device)
// PCB variants with a POKEY at $0450
-extern const device_type A78_ROM_P450;
-extern const device_type A78_ROM_P450_POKEY;
-extern const device_type A78_ROM_P450_SG_RAM;
-extern const device_type A78_ROM_P450_SG9;
+DECLARE_DEVICE_TYPE(A78_ROM_P450, a78_rom_p450_device)
+DECLARE_DEVICE_TYPE(A78_ROM_P450_POKEY, a78_rom_p450_pokey_device)
+DECLARE_DEVICE_TYPE(A78_ROM_P450_SG_RAM, a78_rom_p450_sg_ram_device)
+DECLARE_DEVICE_TYPE(A78_ROM_P450_SG9, a78_rom_p450_sg9_device)
-#endif
+#endif // MAME_BUS_A7800_ROM_H
diff --git a/src/devices/bus/a7800/xboard.cpp b/src/devices/bus/a7800/xboard.cpp
index 5e3737aee61..c07e85e7cd0 100644
--- a/src/devices/bus/a7800/xboard.cpp
+++ b/src/devices/bus/a7800/xboard.cpp
@@ -53,30 +53,29 @@
// constructor
//-------------------------------------------------
-const device_type A78_XBOARD = device_creator<a78_xboard_device>;
-const device_type A78_XM = device_creator<a78_xm_device>;
+DEFINE_DEVICE_TYPE(A78_XBOARD, a78_xboard_device, "a78_xboard", "Atari 7800 XBoarD expansion")
+DEFINE_DEVICE_TYPE(A78_XM, a78_xm_device, "a78_xm", "Atari 7800 XM expansion module")
-a78_xboard_device::a78_xboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : a78_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_xbslot(*this, "xb_slot"),
- m_pokey(*this, "xb_pokey"), m_reg(0), m_ram_bank(0)
- {
+a78_xboard_device::a78_xboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : a78_rom_device(mconfig, type, tag, owner, clock)
+ , m_xbslot(*this, "xb_slot")
+ , m_pokey(*this, "xb_pokey")
+ , m_reg(0), m_ram_bank(0)
+{
}
a78_xboard_device::a78_xboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_rom_device(mconfig, A78_XBOARD, "Atari 7800 XBoarD expansion", tag, owner, clock, "a78_xboard", __FILE__),
- m_xbslot(*this, "xb_slot"),
- m_pokey(*this, "xb_pokey"), m_reg(0), m_ram_bank(0)
- {
+ : a78_xboard_device(mconfig, A78_XBOARD, tag, owner, clock)
+{
}
a78_xm_device::a78_xm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a78_xboard_device(mconfig, A78_XM, "Atari 7800 XM expansion module", tag, owner, clock, "a78_xm", __FILE__),
- m_ym(*this, "xm_ym2151"), m_ym_enabled(0)
- {
+ : a78_xboard_device(mconfig, A78_XM, tag, owner, clock)
+ , m_ym(*this, "xm_ym2151"), m_ym_enabled(0)
+{
}
diff --git a/src/devices/bus/a7800/xboard.h b/src/devices/bus/a7800/xboard.h
index 0ab9884a957..514109e6d29 100644
--- a/src/devices/bus/a7800/xboard.h
+++ b/src/devices/bus/a7800/xboard.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A78_XBOARD_H
-#define __A78_XBOARD_H
+#ifndef MAME_BUS_A7800_XBOARD_H
+#define MAME_BUS_A7800_XBOARD_H
+
+#pragma once
#include "a78_slot.h"
#include "rom.h"
@@ -15,13 +17,10 @@ class a78_xboard_device : public a78_rom_device
{
public:
// construction/destruction
- a78_xboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a78_xboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_reset() override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override;
@@ -30,6 +29,11 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
protected:
+ a78_xboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
required_device<a78_cart_slot_device> m_xbslot;
required_device<pokey_device> m_pokey;
int m_reg, m_ram_bank;
@@ -45,9 +49,7 @@ public:
a78_xm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_reset() override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override;
@@ -57,6 +59,9 @@ public:
virtual DECLARE_READ8_MEMBER(read_30xx) override;
protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
required_device<ym2151_device> m_ym;
int m_ym_enabled;
};
@@ -64,8 +69,8 @@ protected:
// device type definition
-extern const device_type A78_XBOARD;
-extern const device_type A78_XM;
+DECLARE_DEVICE_TYPE(A78_XBOARD, a78_xboard_device)
+DECLARE_DEVICE_TYPE(A78_XM, a78_xm_device)
-#endif
+#endif // MAME_BUS_A7800_XBOARD_H
diff --git a/src/devices/bus/a800/a800_carts.h b/src/devices/bus/a800/a800_carts.h
index c328fa61685..6d6e68ad6c3 100644
--- a/src/devices/bus/a800/a800_carts.h
+++ b/src/devices/bus/a800/a800_carts.h
@@ -1,8 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A800_CARTS_H
-#define __A800_CARTS_H
+#ifndef MAME_BUS_A800_A800_CARTS_H
+#define MAME_BUS_A800_A800_CARTS_H
+#pragma once
#include "rom.h"
@@ -46,4 +47,4 @@ static SLOT_INTERFACE_START(a5200_carts)
SLOT_INTERFACE_INTERNAL("a5200_bbsb", A5200_ROM_BBSB)
SLOT_INTERFACE_END
-#endif
+#endif // MAME_BUS_A800_A800_CARTS_H
diff --git a/src/devices/bus/a800/a800_slot.cpp b/src/devices/bus/a800/a800_slot.cpp
index bfe53f72041..9307efaf209 100644
--- a/src/devices/bus/a800/a800_slot.cpp
+++ b/src/devices/bus/a800/a800_slot.cpp
@@ -29,9 +29,9 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A800_CART_SLOT = device_creator<a800_cart_slot_device>;
-const device_type A5200_CART_SLOT = device_creator<a5200_cart_slot_device>;
-const device_type XEGS_CART_SLOT = device_creator<xegs_cart_slot_device>;
+DEFINE_DEVICE_TYPE(A800_CART_SLOT, a800_cart_slot_device, "a800_cart_slot", "Atari 8bit Cartridge Slot")
+DEFINE_DEVICE_TYPE(A5200_CART_SLOT, a5200_cart_slot_device, "a5200_cart_slot", "Atari 5200 Cartridge Slot")
+DEFINE_DEVICE_TYPE(XEGS_CART_SLOT, xegs_cart_slot_device, "xegs_cart_slot", "Atari XEGS Cartridge Slot")
//-------------------------------------------------
@@ -101,29 +101,27 @@ void device_a800_cart_interface::nvram_alloc(uint32_t size)
//-------------------------------------------------
// ****_cart_slot_device - constructor
//-------------------------------------------------
-a800_cart_slot_device::a800_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this), m_cart(nullptr), m_type(0)
+a800_cart_slot_device::a800_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this), m_cart(nullptr), m_type(0)
{
}
a800_cart_slot_device::a800_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A800_CART_SLOT, "Atari 8bit Cartridge Slot", tag, owner, clock, "a800_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this), m_cart(nullptr), m_type(0)
+ a800_cart_slot_device(mconfig, A800_CART_SLOT, tag, owner, clock)
{
}
a5200_cart_slot_device::a5200_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a800_cart_slot_device(mconfig, A5200_CART_SLOT, "Atari 5200 Cartridge Slot", tag, owner, clock, "a5200_cart_slot", __FILE__)
+ a800_cart_slot_device(mconfig, A5200_CART_SLOT, tag, owner, clock)
{
}
xegs_cart_slot_device::xegs_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a800_cart_slot_device(mconfig, XEGS_CART_SLOT, "Atari XEGS Cartridge Slot", tag, owner, clock, "xegs_cart_slot", __FILE__)
+ a800_cart_slot_device(mconfig, XEGS_CART_SLOT, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a800/a800_slot.h b/src/devices/bus/a800/a800_slot.h
index 66d8bb0f745..569d912329c 100644
--- a/src/devices/bus/a800/a800_slot.h
+++ b/src/devices/bus/a800/a800_slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A800_SLOT_H
-#define __A800_SLOT_H
+#ifndef MAME_BUS_A800_A800_SLOT_H
+#define MAME_BUS_A800_A800_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -49,7 +51,6 @@ class device_a800_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_a800_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_a800_cart_interface();
// memory accessor
@@ -69,6 +70,8 @@ public:
uint32_t get_nvram_size() { return m_nvram.size(); }
protected:
+ device_a800_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -87,13 +90,9 @@ class a800_cart_slot_device : public device_t,
{
public:
// construction/destruction
- a800_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a800_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~a800_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override;
@@ -121,6 +120,12 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_80xx);
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
+protected:
+ a800_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
private:
device_a800_cart_interface* m_cart;
int m_type;
@@ -161,9 +166,9 @@ public:
};
// device type definition
-extern const device_type A800_CART_SLOT;
-extern const device_type A5200_CART_SLOT;
-extern const device_type XEGS_CART_SLOT;
+DECLARE_DEVICE_TYPE(A800_CART_SLOT, a800_cart_slot_device)
+DECLARE_DEVICE_TYPE(A5200_CART_SLOT, a5200_cart_slot_device)
+DECLARE_DEVICE_TYPE(XEGS_CART_SLOT, xegs_cart_slot_device)
/***************************************************************************
@@ -185,4 +190,4 @@ extern const device_type XEGS_CART_SLOT;
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+#endif // MAME_BUS_A800_A800_SLOT_H
diff --git a/src/devices/bus/a800/a8sio.cpp b/src/devices/bus/a800/a8sio.cpp
index 403ea833bb0..cfbef3b47e4 100644
--- a/src/devices/bus/a800/a8sio.cpp
+++ b/src/devices/bus/a800/a8sio.cpp
@@ -39,7 +39,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A8SIO_SLOT = device_creator<a8sio_slot_device>;
+DEFINE_DEVICE_TYPE(A8SIO_SLOT, a8sio_slot_device, "a8sio_slot", "Atari 8 bit SIO Slot")
//**************************************************************************
// LIVE DEVICE
@@ -49,14 +49,13 @@ const device_type A8SIO_SLOT = device_creator<a8sio_slot_device>;
// a8sio_slot_device - constructor
//-------------------------------------------------
a8sio_slot_device::a8sio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, A8SIO_SLOT, "Atari 8 bit SIO Slot", tag, owner, clock, "a8sio_slot", __FILE__)
- , device_slot_interface(mconfig, *this), m_a8sio_tag(nullptr), m_a8sio_slottag(nullptr)
+ : a8sio_slot_device(mconfig, A8SIO_SLOT, tag, owner, clock)
{
}
-a8sio_slot_device::a8sio_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this), m_a8sio_tag(nullptr), m_a8sio_slottag(nullptr)
+a8sio_slot_device::a8sio_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_slot_interface(mconfig, *this), m_a8sio_tag(nullptr), m_a8sio_slottag(nullptr)
{
}
@@ -87,7 +86,7 @@ void a8sio_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A8SIO = device_creator<a8sio_device>;
+DEFINE_DEVICE_TYPE(A8SIO, a8sio_device, "a8sio", "Atari 8 bit SIO")
//**************************************************************************
@@ -99,15 +98,12 @@ const device_type A8SIO = device_creator<a8sio_device>;
//-------------------------------------------------
a8sio_device::a8sio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, A8SIO, "Atari 8 biot SIO", tag, owner, clock, "a8sio", __FILE__)
- , m_out_clock_in_cb(*this)
- , m_out_data_in_cb(*this)
- , m_out_audio_in_cb(*this), m_device(nullptr)
+ : a8sio_device(mconfig, A8SIO, tag, owner, clock)
{
}
-a8sio_device::a8sio_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+a8sio_device::a8sio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, m_out_clock_in_cb(*this)
, m_out_data_in_cb(*this)
, m_out_audio_in_cb(*this), m_device(nullptr)
diff --git a/src/devices/bus/a800/a8sio.h b/src/devices/bus/a800/a8sio.h
index 2684a3d3c28..31d853ec633 100644
--- a/src/devices/bus/a800/a8sio.h
+++ b/src/devices/bus/a800/a8sio.h
@@ -30,10 +30,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_A800_A8SIO_H
+#define MAME_BUS_A800_A8SIO_H
-#ifndef __A8SIO_H_
-#define __A8SIO_H_
+#pragma once
//**************************************************************************
@@ -55,15 +55,16 @@ class a8sio_slot_device : public device_t,
public:
// construction/destruction
a8sio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a8sio_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
// inline configuration
static void static_set_a8sio_slot(device_t &device, const char *tag, const char *slottag);
protected:
+ a8sio_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
// configuration
const char *m_a8sio_tag;
const char *m_a8sio_slottag;
@@ -71,7 +72,7 @@ protected:
// device type definition
-extern const device_type A8SIO_SLOT;
+DECLARE_DEVICE_TYPE(A8SIO_SLOT, a8sio_slot_device)
class device_a8sio_card_interface;
@@ -81,12 +82,11 @@ class a8sio_device : public device_t
public:
// construction/destruction
a8sio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a8sio_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// inline configuration
- template<class _Object> static devcb_base &set_clock_in_callback(device_t &device, _Object object) { return downcast<a8sio_device &>(device).m_out_clock_in_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_data_in_callback(device_t &device, _Object object) { return downcast<a8sio_device &>(device).m_out_data_in_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_audio_in_callback(device_t &device, _Object object) { return downcast<a8sio_device &>(device).m_out_audio_in_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_clock_in_callback(device_t &device, Object &&cb) { return downcast<a8sio_device &>(device).m_out_clock_in_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data_in_callback(device_t &device, Object &&cb) { return downcast<a8sio_device &>(device).m_out_data_in_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_audio_in_callback(device_t &device, Object &&cb) { return downcast<a8sio_device &>(device).m_out_audio_in_cb.set_callback(std::forward<Object>(cb)); }
void add_a8sio_card(device_a8sio_card_interface *card);
device_a8sio_card_interface *get_a8sio_card();
@@ -101,6 +101,8 @@ public:
DECLARE_WRITE8_MEMBER( audio_in_w ); // pin 11
protected:
+ a8sio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -122,7 +124,6 @@ class device_a8sio_card_interface : public device_slot_card_interface
friend class a8sio_device;
public:
// construction/destruction
- device_a8sio_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_a8sio_card_interface();
void set_a8sio_device();
@@ -133,6 +134,8 @@ public:
virtual DECLARE_WRITE_LINE_MEMBER( motor_w );
public:
+ device_a8sio_card_interface(const machine_config &mconfig, device_t &device);
+
a8sio_device *m_a8sio;
const char *m_a8sio_tag;
const char *m_a8sio_slottag;
@@ -141,4 +144,4 @@ public:
SLOT_INTERFACE_EXTERN(a8sio_cards);
-#endif
+#endif // MAME_BUS_A800_A8SIO_H
diff --git a/src/devices/bus/a800/cassette.cpp b/src/devices/bus/a800/cassette.cpp
index bb35bea187a..bd3ce3a30de 100644
--- a/src/devices/bus/a800/cassette.cpp
+++ b/src/devices/bus/a800/cassette.cpp
@@ -25,7 +25,7 @@ TODO:
// GLOBAL VARIABLES
//**************************************************************************
-const device_type A8SIO_CASSETTE = device_creator<a8sio_cassette_device>;
+DEFINE_DEVICE_TYPE(A8SIO_CASSETTE, a8sio_cassette_device, "a8sio_cass", "Atari 8 bit cassette")
const device_timer_id TIMER_CASSETTE_READ = 1;
static MACHINE_CONFIG_FRAGMENT( cassette )
@@ -45,19 +45,16 @@ machine_config_constructor a8sio_cassette_device::device_mconfig_additions() con
//**************************************************************************
a8sio_cassette_device::a8sio_cassette_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, A8SIO_CASSETTE, "Atari 8 bit cassette", tag, owner, clock, "a8sio_cass", __FILE__)
- , device_a8sio_card_interface(mconfig, *this)
- , m_cassette(*this, "cassette"), m_read_timer(nullptr)
- , m_old_cass_signal(0)
- , m_signal_count(0)
+ : a8sio_cassette_device(mconfig, A8SIO_CASSETTE, tag, owner, clock)
{
}
-a8sio_cassette_device::a8sio_cassette_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+a8sio_cassette_device::a8sio_cassette_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_a8sio_card_interface(mconfig, *this)
- , m_cassette(*this, "cassette"), m_read_timer(nullptr)
- , m_old_cass_signal(0)
+ , m_cassette(*this, "cassette")
+ , m_read_timer(nullptr)
+ , m_old_cass_signal(0)
, m_signal_count(0)
{
}
diff --git a/src/devices/bus/a800/cassette.h b/src/devices/bus/a800/cassette.h
index 72d0f749ccc..0168a4b3a64 100644
--- a/src/devices/bus/a800/cassette.h
+++ b/src/devices/bus/a800/cassette.h
@@ -11,10 +11,10 @@ Known cassette players:
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_A800_CASSETTE_H
+#define MAME_BUS_A800_CASSETTE_H
-#ifndef __A8SIO_CASSETTE_H_
-#define __A8SIO_CASSETTE_H_
+#pragma once
#include "a8sio.h"
@@ -28,7 +28,6 @@ class a8sio_cassette_device
public:
// construction/destruction
a8sio_cassette_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- a8sio_cassette_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -36,6 +35,8 @@ public:
virtual DECLARE_WRITE_LINE_MEMBER( motor_w ) override;
protected:
+ a8sio_cassette_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -48,7 +49,7 @@ protected:
};
// device type definition
-extern const device_type A8SIO_CASSETTE;
+DECLARE_DEVICE_TYPE(A8SIO_CASSETTE, a8sio_cassette_device)
-#endif
+#endif // MAME_BUS_A800_CASSETTE_H
diff --git a/src/devices/bus/a800/oss.cpp b/src/devices/bus/a800/oss.cpp
index 6d0977cfdd3..70a9375ef28 100644
--- a/src/devices/bus/a800/oss.cpp
+++ b/src/devices/bus/a800/oss.cpp
@@ -15,34 +15,33 @@
// constructor
//-------------------------------------------------
-const device_type A800_ROM_OSS8K = device_creator<a800_rom_oss8k_device>;
-const device_type A800_ROM_OSS34 = device_creator<a800_rom_oss34_device>;
-const device_type A800_ROM_OSS43 = device_creator<a800_rom_oss43_device>;
-const device_type A800_ROM_OSS91 = device_creator<a800_rom_oss91_device>;
+DEFINE_DEVICE_TYPE(A800_ROM_OSS8K, a800_rom_oss8k_device, "a800_oss8k", "Atari 800 ROM Carts OSS 8K")
+DEFINE_DEVICE_TYPE(A800_ROM_OSS34, a800_rom_oss34_device, "a800_034m", "Atari 800 ROM Carts OSS-034M")
+DEFINE_DEVICE_TYPE(A800_ROM_OSS43, a800_rom_oss43_device, "a800_043m", "Atari 800 ROM Carts OSS-043M")
+DEFINE_DEVICE_TYPE(A800_ROM_OSS91, a800_rom_oss91_device, "a800_m091", "Atari 800 ROM Carts OSS-M091")
a800_rom_oss8k_device::a800_rom_oss8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_OSS8K, "Atari 800 ROM Carts OSS 8K", tag, owner, clock, "a800_oss8k", __FILE__),
- m_bank(0)
- {
+ : a800_rom_device(mconfig, A800_ROM_OSS8K, tag, owner, clock), m_bank(0)
+{
}
a800_rom_oss34_device::a800_rom_oss34_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_OSS34, "Atari 800 ROM Carts OSS-034M", tag, owner, clock, "a800_034m", __FILE__), m_bank(0)
- {
+ : a800_rom_device(mconfig, A800_ROM_OSS34, tag, owner, clock), m_bank(0)
+{
}
a800_rom_oss43_device::a800_rom_oss43_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_OSS43, "Atari 800 ROM Carts OSS-043M", tag, owner, clock, "a800_043m", __FILE__), m_bank(0)
- {
+ : a800_rom_device(mconfig, A800_ROM_OSS43, tag, owner, clock), m_bank(0)
+{
}
a800_rom_oss91_device::a800_rom_oss91_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_OSS91, "Atari 800 ROM Carts OSS-M091", tag, owner, clock, "a800_m091", __FILE__), m_bank(0)
- {
+ : a800_rom_device(mconfig, A800_ROM_OSS91, tag, owner, clock), m_bank(0)
+{
}
diff --git a/src/devices/bus/a800/oss.h b/src/devices/bus/a800/oss.h
index fef9ab5d939..367bd4f8f8d 100644
--- a/src/devices/bus/a800/oss.h
+++ b/src/devices/bus/a800/oss.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A800_OSS_H
-#define __A800_OSS_H
+#ifndef MAME_BUS_A800_OSS_H
+#define MAME_BUS_A800_OSS_H
+
+#pragma once
#include "rom.h"
@@ -14,14 +16,14 @@ public:
// construction/destruction
a800_rom_oss8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_d5xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -34,14 +36,14 @@ public:
// construction/destruction
a800_rom_oss34_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_d5xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -54,14 +56,14 @@ public:
// construction/destruction
a800_rom_oss43_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_d5xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -74,24 +76,24 @@ public:
// construction/destruction
a800_rom_oss91_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_d5xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
// device type definition
-extern const device_type A800_ROM_OSS8K;
-extern const device_type A800_ROM_OSS34;
-extern const device_type A800_ROM_OSS43;
-extern const device_type A800_ROM_OSS91;
+DECLARE_DEVICE_TYPE(A800_ROM_OSS8K, a800_rom_oss8k_device)
+DECLARE_DEVICE_TYPE(A800_ROM_OSS34, a800_rom_oss34_device)
+DECLARE_DEVICE_TYPE(A800_ROM_OSS43, a800_rom_oss43_device)
+DECLARE_DEVICE_TYPE(A800_ROM_OSS91, a800_rom_oss91_device)
-#endif
+#endif // MAME_BUS_A800_OSS_H
diff --git a/src/devices/bus/a800/rom.cpp b/src/devices/bus/a800/rom.cpp
index ff7730ecae9..f33c8776d52 100644
--- a/src/devices/bus/a800/rom.cpp
+++ b/src/devices/bus/a800/rom.cpp
@@ -18,82 +18,86 @@
// constructor
//-------------------------------------------------
-const device_type A800_ROM = device_creator<a800_rom_device>;
-const device_type A800_ROM_BBSB = device_creator<a800_rom_bbsb_device>;
-const device_type A800_ROM_WILLIAMS = device_creator<a800_rom_williams_device>;
-const device_type A800_ROM_EXPRESS = device_creator<a800_rom_express_device>;
-const device_type A800_ROM_TURBO = device_creator<a800_rom_turbo_device>;
-const device_type A800_ROM_TELELINK2 = device_creator<a800_rom_telelink2_device>;
-const device_type A800_ROM_MICROCALC = device_creator<a800_rom_microcalc_device>;
-const device_type XEGS_ROM = device_creator<xegs_rom_device>;
-const device_type A5200_ROM_2CHIPS = device_creator<a5200_rom_2chips_device>;
-const device_type A5200_ROM_BBSB = device_creator<a5200_rom_bbsb_device>;
+DEFINE_DEVICE_TYPE(A800_ROM, a800_rom_device, "a800_rom", "Atari 800 ROM Carts")
+DEFINE_DEVICE_TYPE(A800_ROM_BBSB, a800_rom_bbsb_device, "a800_bbsb", "Atari 800 ROM Carts BBSB")
+DEFINE_DEVICE_TYPE(A800_ROM_WILLIAMS, a800_rom_williams_device, "a800_williams", "Atari 800 64K ROM Carts Williams")
+DEFINE_DEVICE_TYPE(A800_ROM_EXPRESS, a800_rom_express_device, "a800_express", "Atari 800 64K ROM Carts Express/Diamond")
+DEFINE_DEVICE_TYPE(A800_ROM_TURBO, a800_rom_turbo_device, "a800_turbo", "Atari 800 64K ROM Carts Turbosoft")
+DEFINE_DEVICE_TYPE(A800_ROM_TELELINK2, a800_rom_telelink2_device, "a800_tlink2", "Atari 800 64K ROM Cart Telelink II")
+DEFINE_DEVICE_TYPE(A800_ROM_MICROCALC, a800_rom_microcalc_device, "a800_sitsa", "Atari 800 64K ROM Carts SITSA MicroCalc")
+DEFINE_DEVICE_TYPE(XEGS_ROM, xegs_rom_device, "a800_xegs", "Atari XEGS 64K ROM Carts")
+DEFINE_DEVICE_TYPE(A5200_ROM_2CHIPS, a5200_rom_2chips_device, "a5200_16k2c", "Atari 5200 ROM Cart 16K in 2 Chips")
+DEFINE_DEVICE_TYPE(A5200_ROM_BBSB, a5200_rom_bbsb_device, "a5200_bbsb", "Atari 5200 ROM Cart BBSB")
-a800_rom_device::a800_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_a800_cart_interface( mconfig, *this )
+a800_rom_device::a800_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_a800_cart_interface( mconfig, *this )
{
}
a800_rom_device::a800_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, A800_ROM, "Atari 800 ROM Carts", tag, owner, clock, "a800_rom", __FILE__),
- device_a800_cart_interface( mconfig, *this )
+ : a800_rom_device(mconfig, A800_ROM, tag, owner, clock)
{
}
a800_rom_bbsb_device::a800_rom_bbsb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_BBSB, "Atari 800 ROM Cart BBSB", tag, owner, clock, "a800_bbsb", __FILE__)
+ : a800_rom_device(mconfig, A800_ROM_BBSB, tag, owner, clock)
{
}
xegs_rom_device::xegs_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, XEGS_ROM, "Atari XEGS 64K ROM Carts", tag, owner, clock, "a800_xegs", __FILE__), m_bank(0)
- {
+ : a800_rom_device(mconfig, XEGS_ROM, tag, owner, clock)
+ , m_bank(0)
+{
}
a800_rom_williams_device::a800_rom_williams_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_WILLIAMS, "Atari 800 64K ROM Carts Williams", tag, owner, clock, "a800_williams", __FILE__), m_bank(0)
- {
+ : a800_rom_device(mconfig, A800_ROM_WILLIAMS, tag, owner, clock)
+ , m_bank(0)
+{
}
a800_rom_express_device::a800_rom_express_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_EXPRESS, "Atari 800 64K ROM Carts Express/Diamond", tag, owner, clock, "a800_express", __FILE__), m_bank(0)
- {
+ : a800_rom_device(mconfig, A800_ROM_EXPRESS, tag, owner, clock)
+ , m_bank(0)
+{
}
a800_rom_turbo_device::a800_rom_turbo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_TURBO, "Atari 800 64K ROM Carts Turbosoft", tag, owner, clock, "a800_turbo", __FILE__), m_bank(0)
- {
+ : a800_rom_device(mconfig, A800_ROM_TURBO, tag, owner, clock)
+ , m_bank(0)
+{
}
a800_rom_telelink2_device::a800_rom_telelink2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_TELELINK2, "Atari 800 64K ROM Cart Telelink II", tag, owner, clock, "a800_tlink2", __FILE__)
+ : a800_rom_device(mconfig, A800_ROM_TELELINK2, tag, owner, clock)
{
}
a800_rom_microcalc_device::a800_rom_microcalc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_MICROCALC, "Atari 800 64K ROM Cart SITSA MicroCalc", tag, owner, clock, "a800_sitsa", __FILE__), m_bank(0)
- {
+ : a800_rom_device(mconfig, A800_ROM_MICROCALC, tag, owner, clock)
+ , m_bank(0)
+{
}
a5200_rom_2chips_device::a5200_rom_2chips_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A5200_ROM_2CHIPS, "Atari 5200 ROM Cart 16K in 2 Chips", tag, owner, clock, "a5200_16k2c", __FILE__)
+ : a800_rom_device(mconfig, A5200_ROM_2CHIPS, tag, owner, clock)
{
}
a5200_rom_bbsb_device::a5200_rom_bbsb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A5200_ROM_BBSB, "Atari 5200 ROM Cart BBSB", tag, owner, clock, "a5200_bbsb", __FILE__)
+ : a800_rom_device(mconfig, A5200_ROM_BBSB, tag, owner, clock)
{
}
diff --git a/src/devices/bus/a800/rom.h b/src/devices/bus/a800/rom.h
index e15d5e29a0a..9ba329b3113 100644
--- a/src/devices/bus/a800/rom.h
+++ b/src/devices/bus/a800/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A800_ROM_H
-#define __A800_ROM_H
+#ifndef MAME_BUS_A800_ROM_H
+#define MAME_BUS_A800_ROM_H
+
+#pragma once
#include "a800_slot.h"
@@ -13,14 +15,16 @@ class a800_rom_device : public device_t,
{
public:
// construction/destruction
- a800_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a800_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual DECLARE_READ8_MEMBER(read_80xx) override;
+
+protected:
+ a800_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
-
- virtual DECLARE_READ8_MEMBER(read_80xx) override;
};
@@ -32,14 +36,14 @@ public:
// construction/destruction
a800_rom_bbsb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_80xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_banks[2];
};
@@ -52,14 +56,14 @@ public:
// construction/destruction
a800_rom_williams_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_d5xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -72,14 +76,14 @@ public:
// construction/destruction
a800_rom_express_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_d5xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -92,11 +96,12 @@ public:
// construction/destruction
a800_rom_blizzard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual DECLARE_READ8_MEMBER(read_80xx) override;
+
+protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
-
- virtual DECLARE_READ8_MEMBER(read_80xx) override;
};
@@ -108,14 +113,14 @@ public:
// construction/destruction
a800_rom_turbo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_d5xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -143,14 +148,14 @@ public:
// construction/destruction
a800_rom_microcalc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_d5xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank;
};
@@ -195,30 +200,30 @@ public:
// construction/destruction
a5200_rom_bbsb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_80xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_banks[2];
};
// device type definition
-extern const device_type A800_ROM;
-extern const device_type A800_ROM_BBSB;
-extern const device_type A800_ROM_WILLIAMS;
-extern const device_type A800_ROM_EXPRESS;
-extern const device_type A800_ROM_TURBO;
-extern const device_type A800_ROM_TELELINK2;
-extern const device_type A800_ROM_MICROCALC;
-extern const device_type XEGS_ROM;
-extern const device_type A5200_ROM_2CHIPS;
-extern const device_type A5200_ROM_BBSB;
-
-
-#endif
+DECLARE_DEVICE_TYPE(A800_ROM, a800_rom_device)
+DECLARE_DEVICE_TYPE(A800_ROM_BBSB, a800_rom_bbsb_device)
+DECLARE_DEVICE_TYPE(A800_ROM_WILLIAMS, a800_rom_williams_device)
+DECLARE_DEVICE_TYPE(A800_ROM_EXPRESS, a800_rom_express_device)
+DECLARE_DEVICE_TYPE(A800_ROM_TURBO, a800_rom_turbo_device)
+DECLARE_DEVICE_TYPE(A800_ROM_TELELINK2, a800_rom_telelink2_device)
+DECLARE_DEVICE_TYPE(A800_ROM_MICROCALC, a800_rom_microcalc_device)
+DECLARE_DEVICE_TYPE(XEGS_ROM, xegs_rom_device)
+DECLARE_DEVICE_TYPE(A5200_ROM_2CHIPS, a5200_rom_2chips_device)
+DECLARE_DEVICE_TYPE(A5200_ROM_BBSB, a5200_rom_bbsb_device)
+
+
+#endif // MAME_BUS_A800_ROM_H
diff --git a/src/devices/bus/a800/sparta.cpp b/src/devices/bus/a800/sparta.cpp
index b02443d6aed..30d76eecc38 100644
--- a/src/devices/bus/a800/sparta.cpp
+++ b/src/devices/bus/a800/sparta.cpp
@@ -15,14 +15,14 @@
// constructor
//-------------------------------------------------
-const device_type A800_ROM_SPARTADOS = device_creator<a800_rom_spartados_device>;
+DEFINE_DEVICE_TYPE(A800_ROM_SPARTADOS, a800_rom_spartados_device, "a800_sparta", "Atari 800 SpartaDOS ROM Carts")
a800_rom_spartados_device::a800_rom_spartados_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a800_rom_device(mconfig, A800_ROM_SPARTADOS, "Atari 800 SpartaDOS ROM Carts", tag, owner, clock, "a800_sparta", __FILE__),
- m_bank(0),
- m_subslot_enabled(0)
- {
+ : a800_rom_device(mconfig, A800_ROM_SPARTADOS, tag, owner, clock)
+ , m_bank(0)
+ , m_subslot_enabled(0)
+{
}
diff --git a/src/devices/bus/a800/sparta.h b/src/devices/bus/a800/sparta.h
index f39aa515cde..614ce86571c 100644
--- a/src/devices/bus/a800/sparta.h
+++ b/src/devices/bus/a800/sparta.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __A800_SPARTA_H
-#define __A800_SPARTA_H
+#ifndef MAME_BUS_A800_SPARTA_H
+#define MAME_BUS_A800_SPARTA_H
+
+#pragma once
#include "rom.h"
@@ -14,21 +16,21 @@ public:
// construction/destruction
a800_rom_spartados_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_80xx) override;
virtual DECLARE_WRITE8_MEMBER(write_d5xx) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank, m_subslot_enabled;
};
// device type definition
-extern const device_type A800_ROM_SPARTADOS;
+DECLARE_DEVICE_TYPE(A800_ROM_SPARTADOS, a800_rom_spartados_device)
-#endif
+#endif // MAME_BUS_A800_SPARTA_H
diff --git a/src/devices/bus/abcbus/abc890.cpp b/src/devices/bus/abcbus/abc890.cpp
index 61a56ba0ddd..b0594accc55 100644
--- a/src/devices/bus/abcbus/abc890.cpp
+++ b/src/devices/bus/abcbus/abc890.cpp
@@ -15,12 +15,12 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC890 = device_creator<abc890_t>;
-const device_type ABC_EXPANSION_UNIT = device_creator<abc_expansion_unit_t>;
-const device_type ABC894 = device_creator<abc894_t>;
-const device_type ABC850 = device_creator<abc850_t>;
-const device_type ABC852 = device_creator<abc852_t>;
-const device_type ABC856 = device_creator<abc856_t>;
+DEFINE_DEVICE_TYPE(ABC_EXPANSION_UNIT, abc_expansion_unit_device, "abcexp", "ABC Expansion Unit")
+DEFINE_DEVICE_TYPE(ABC890, abc890_device, "abc890", "ABC 890")
+DEFINE_DEVICE_TYPE(ABC894, abc894_device, "abc894", "ABC 894")
+DEFINE_DEVICE_TYPE(ABC850, abc850_device, "abc850", "ABC 850")
+DEFINE_DEVICE_TYPE(ABC852, abc852_device, "abc852", "ABC 852")
+DEFINE_DEVICE_TYPE(ABC856, abc856_device, "abc856", "ABC 856")
//-------------------------------------------------
@@ -43,7 +43,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor abc890_t::device_mconfig_additions() const
+machine_config_constructor abc890_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc890 );
}
@@ -69,7 +69,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor abc_expansion_unit_t::device_mconfig_additions() const
+machine_config_constructor abc_expansion_unit_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc_expansion_unit );
}
@@ -91,7 +91,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor abc894_t::device_mconfig_additions() const
+machine_config_constructor abc894_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc894 );
}
@@ -118,7 +118,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor abc850_t::device_mconfig_additions() const
+machine_config_constructor abc850_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc850 );
}
@@ -145,7 +145,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor abc852_t::device_mconfig_additions() const
+machine_config_constructor abc852_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc852 );
}
@@ -172,7 +172,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor abc856_t::device_mconfig_additions() const
+machine_config_constructor abc856_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc856 );
}
@@ -184,42 +184,42 @@ machine_config_constructor abc856_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// abc890_t - constructor
+// abc890_device - constructor
//-------------------------------------------------
-abc890_t::abc890_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+abc890_device::abc890_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this)
{
}
-abc890_t::abc890_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- abc890_t(mconfig, ABC890, "ABC 890", tag, owner, clock, "abc890", __FILE__)
+abc890_device::abc890_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ abc890_device(mconfig, ABC890, tag, owner, clock)
{
}
-abc_expansion_unit_t::abc_expansion_unit_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- abc890_t(mconfig, ABC_EXPANSION_UNIT, "ABC Expansion Unit", tag, owner, clock, "abcexp", __FILE__)
+abc_expansion_unit_device::abc_expansion_unit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ abc890_device(mconfig, ABC_EXPANSION_UNIT, tag, owner, clock)
{
}
-abc894_t::abc894_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- abc890_t(mconfig, ABC894, "ABC 894", tag, owner, clock, "abc894", __FILE__)
+abc894_device::abc894_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ abc890_device(mconfig, ABC894, tag, owner, clock)
{
}
-abc850_t::abc850_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- abc890_t(mconfig, ABC850, "ABC 850", tag, owner, clock, "abc850", __FILE__)
+abc850_device::abc850_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ abc890_device(mconfig, ABC850, tag, owner, clock)
{
}
-abc852_t::abc852_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- abc890_t(mconfig, ABC852, "ABC 852", tag, owner, clock, "abc852", __FILE__)
+abc852_device::abc852_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ abc890_device(mconfig, ABC852, tag, owner, clock)
{
}
-abc856_t::abc856_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- abc890_t(mconfig, ABC856, "ABC 856", tag, owner, clock, "abc856", __FILE__)
+abc856_device::abc856_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ abc890_device(mconfig, ABC856, tag, owner, clock)
{
}
@@ -228,7 +228,7 @@ abc856_t::abc856_t(const machine_config &mconfig, const char *tag, device_t *own
// device_start - device-specific startup
//-------------------------------------------------
-void abc890_t::device_start()
+void abc890_device::device_start()
{
}
@@ -237,7 +237,7 @@ void abc890_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void abc890_t::device_reset()
+void abc890_device::device_reset()
{
for (device_t &device : subdevices())
{
@@ -250,9 +250,9 @@ void abc890_t::device_reset()
// abcbus_cs - card select
//-------------------------------------------------
-void abc890_t::abcbus_cs(uint8_t data)
+void abc890_device::abcbus_cs(uint8_t data)
{
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
slot.cs_w(data);
}
@@ -263,11 +263,11 @@ void abc890_t::abcbus_cs(uint8_t data)
// abcbus_inp - input
//-------------------------------------------------
-uint8_t abc890_t::abcbus_inp()
+uint8_t abc890_device::abcbus_inp()
{
uint8_t data = 0xff;
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
data &= slot.inp_r();
}
@@ -280,9 +280,9 @@ uint8_t abc890_t::abcbus_inp()
// abcbus_out - output
//-------------------------------------------------
-void abc890_t::abcbus_out(uint8_t data)
+void abc890_device::abcbus_out(uint8_t data)
{
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
slot.out_w(data);
}
@@ -293,11 +293,11 @@ void abc890_t::abcbus_out(uint8_t data)
// abcbus_stat - status
//-------------------------------------------------
-uint8_t abc890_t::abcbus_stat()
+uint8_t abc890_device::abcbus_stat()
{
uint8_t data = 0xff;
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
data &= slot.stat_r();
}
@@ -310,9 +310,9 @@ uint8_t abc890_t::abcbus_stat()
// abcbus_c1 - command 1
//-------------------------------------------------
-void abc890_t::abcbus_c1(uint8_t data)
+void abc890_device::abcbus_c1(uint8_t data)
{
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
slot.c1_w(data);
}
@@ -323,9 +323,9 @@ void abc890_t::abcbus_c1(uint8_t data)
// abcbus_c2 - command 2
//-------------------------------------------------
-void abc890_t::abcbus_c2(uint8_t data)
+void abc890_device::abcbus_c2(uint8_t data)
{
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
slot.c2_w(data);
}
@@ -336,9 +336,9 @@ void abc890_t::abcbus_c2(uint8_t data)
// abcbus_c3 - command 3
//-------------------------------------------------
-void abc890_t::abcbus_c3(uint8_t data)
+void abc890_device::abcbus_c3(uint8_t data)
{
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
slot.c3_w(data);
}
@@ -349,9 +349,9 @@ void abc890_t::abcbus_c3(uint8_t data)
// abcbus_c4 - command 4
//-------------------------------------------------
-void abc890_t::abcbus_c4(uint8_t data)
+void abc890_device::abcbus_c4(uint8_t data)
{
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
slot.c4_w(data);
}
@@ -362,11 +362,11 @@ void abc890_t::abcbus_c4(uint8_t data)
// abcbus_xmemfl - extended memory read
//-------------------------------------------------
-uint8_t abc890_t::abcbus_xmemfl(offs_t offset)
+uint8_t abc890_device::abcbus_xmemfl(offs_t offset)
{
uint8_t data = 0xff;
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
data &= slot.xmemfl_r(offset);
}
@@ -379,9 +379,9 @@ uint8_t abc890_t::abcbus_xmemfl(offs_t offset)
// abcbus_xmemw - extended memory write
//-------------------------------------------------
-void abc890_t::abcbus_xmemw(offs_t offset, uint8_t data)
+void abc890_device::abcbus_xmemw(offs_t offset, uint8_t data)
{
- for (abcbus_slot_t &slot : abcbus_slot_device_iterator(*this))
+ for (abcbus_slot_device &slot : abcbus_slot_device_iterator(*this))
{
slot.xmemw_w(offset, data);
}
diff --git a/src/devices/bus/abcbus/abc890.h b/src/devices/bus/abcbus/abc890.h
index 0501e1aa44c..2d3aa9e345a 100644
--- a/src/devices/bus/abcbus/abc890.h
+++ b/src/devices/bus/abcbus/abc890.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCBUS_ABC890_H
+#define MAME_BUS_ABCBUS_ABC890_H
-#ifndef __ABC890__
-#define __ABC890__
+#pragma once
#include "abcbus.h"
@@ -19,20 +19,21 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> abc890_t
+// ======================> abc890_device
-class abc890_t : public device_t,
+class abc890_device : public device_t,
public device_abcbus_card_interface
{
public:
// construction/destruction
- abc890_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- abc890_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc890_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
+ abc890_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -51,65 +52,65 @@ protected:
};
-// ======================> abc_expansion_unit_t
+// ======================> abc_expansion_unit_device
-class abc_expansion_unit_t : public abc890_t
+class abc_expansion_unit_device : public abc890_device
{
public:
// construction/destruction
- abc_expansion_unit_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc_expansion_unit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
};
-// ======================> abc894_t
+// ======================> abc894_device
-class abc894_t : public abc890_t
+class abc894_device : public abc890_device
{
public:
// construction/destruction
- abc894_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc894_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
};
-// ======================> abc850_t
+// ======================> abc850_device
-class abc850_t : public abc890_t
+class abc850_device : public abc890_device
{
public:
// construction/destruction
- abc850_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc850_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
};
-// ======================> abc852_t
+// ======================> abc852_device
-class abc852_t : public abc890_t
+class abc852_device : public abc890_device
{
public:
// construction/destruction
- abc852_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc852_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
};
-// ======================> abc856_t
+// ======================> abc856_device
-class abc856_t : public abc890_t
+class abc856_device : public abc890_device
{
public:
// construction/destruction
- abc856_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc856_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -117,13 +118,13 @@ public:
// device type definition
-extern const device_type ABC_EXPANSION_UNIT;
-extern const device_type ABC890;
-extern const device_type ABC894;
-extern const device_type ABC850;
-extern const device_type ABC852;
-extern const device_type ABC856;
+DECLARE_DEVICE_TYPE(ABC_EXPANSION_UNIT, abc_expansion_unit_device)
+DECLARE_DEVICE_TYPE(ABC890, abc890_device)
+DECLARE_DEVICE_TYPE(ABC894, abc894_device)
+DECLARE_DEVICE_TYPE(ABC850, abc850_device)
+DECLARE_DEVICE_TYPE(ABC852, abc852_device)
+DECLARE_DEVICE_TYPE(ABC856, abc856_device)
-#endif
+#endif // MAME_BUS_ABCBUS_ABC890_H
diff --git a/src/devices/bus/abcbus/abcbus.cpp b/src/devices/bus/abcbus/abcbus.cpp
index 855a52824d9..a75a162de0e 100644
--- a/src/devices/bus/abcbus/abcbus.cpp
+++ b/src/devices/bus/abcbus/abcbus.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ABCBUS_SLOT = device_creator<abcbus_slot_t>;
+DEFINE_DEVICE_TYPE(ABCBUS_SLOT, abcbus_slot_device, "abcbus_slot", "ABCBUS slot")
@@ -30,16 +30,16 @@ const device_type ABCBUS_SLOT = device_creator<abcbus_slot_t>;
device_abcbus_card_interface::device_abcbus_card_interface(const machine_config &mconfig, device_t &device)
: device_slot_card_interface(mconfig, device)
{
- m_slot = dynamic_cast<abcbus_slot_t *>(device.owner());
+ m_slot = dynamic_cast<abcbus_slot_device *>(device.owner());
}
//-------------------------------------------------
-// abcbus_slot_t - constructor
+// abcbus_slot_device - constructor
//-------------------------------------------------
-abcbus_slot_t::abcbus_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ABCBUS_SLOT, "ABCBUS slot", tag, owner, clock, "abcbus_slot", __FILE__),
+abcbus_slot_device::abcbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, ABCBUS_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_write_irq(*this),
m_write_nmi(*this),
@@ -60,7 +60,7 @@ abcbus_slot_t::abcbus_slot_t(const machine_config &mconfig, const char *tag, dev
// device_start - device-specific startup
//-------------------------------------------------
-void abcbus_slot_t::device_start()
+void abcbus_slot_device::device_start()
{
m_card = dynamic_cast<device_abcbus_card_interface *>(get_card_device());
diff --git a/src/devices/bus/abcbus/abcbus.h b/src/devices/bus/abcbus/abcbus.h
index 6e29e4793d1..aee0c75c2fc 100644
--- a/src/devices/bus/abcbus/abcbus.h
+++ b/src/devices/bus/abcbus/abcbus.h
@@ -120,34 +120,34 @@
#define MCFG_ABCBUS_SLOT_IRQ_CALLBACK(_irq) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_irq_callback(DEVCB_##_irq);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_irq_callback(DEVCB_##_irq);
#define MCFG_ABCBUS_SLOT_NMI_CALLBACK(_nmi) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_nmi_callback(DEVCB_##_nmi);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_nmi_callback(DEVCB_##_nmi);
#define MCFG_ABCBUS_SLOT_RDY_CALLBACK(_rdy) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_rdy_callback(DEVCB_##_rdy);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_rdy_callback(DEVCB_##_rdy);
#define MCFG_ABCBUS_SLOT_RESIN_CALLBACK(_resin) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_resin_callback(DEVCB_##_resin);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_resin_callback(DEVCB_##_resin);
#define MCFG_ABCBUS_SLOT_PREN_CALLBACK(_pren) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_pren_callback(DEVCB_##_pren);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_pren_callback(DEVCB_##_pren);
#define MCFG_ABCBUS_SLOT_TRRQ_CALLBACK(_trrq) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_trrq_callback(DEVCB_##_trrq);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_trrq_callback(DEVCB_##_trrq);
#define MCFG_ABCBUS_SLOT_XINT2_CALLBACK(_xint2) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_xint2_callback(DEVCB_##_xint2);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_xint2_callback(DEVCB_##_xint2);
#define MCFG_ABCBUS_SLOT_XINT3_CALLBACK(_xint3) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_xint3_callback(DEVCB_##_xint3);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_xint3_callback(DEVCB_##_xint3);
#define MCFG_ABCBUS_SLOT_XINT4_CALLBACK(_xint4) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_xint4_callback(DEVCB_##_xint4);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_xint4_callback(DEVCB_##_xint4);
#define MCFG_ABCBUS_SLOT_XINT5_CALLBACK(_xint5) \
- devcb = &downcast<abcbus_slot_t *>(device)->set_xint5_callback(DEVCB_##_xint5);
+ devcb = &downcast<abcbus_slot_device *>(device)->set_xint5_callback(DEVCB_##_xint5);
@@ -157,14 +157,11 @@
// ======================> device_abcbus_card_interface
-class abcbus_slot_t;
+class abcbus_slot_device;
class device_abcbus_card_interface : public device_slot_card_interface
{
public:
- // construction/destruction
- device_abcbus_card_interface(const machine_config &mconfig, device_t &device);
-
// required operation overrides
virtual void abcbus_cs(uint8_t data) = 0;
@@ -192,30 +189,35 @@ public:
virtual int abcbus_xcsb4() { return 1; };
virtual int abcbus_xcsb5() { return 1; };
-public:
- abcbus_slot_t *m_slot;
+protected:
+ // construction/destruction
+ device_abcbus_card_interface(const machine_config &mconfig, device_t &device);
+
+ abcbus_slot_device *m_slot;
+
+ friend class abcbus_slot_device;
};
-// ======================> abcbus_slot_t
+// ======================> abcbus_slot_device
-class abcbus_slot_t : public device_t,
+class abcbus_slot_device : public device_t,
public device_slot_interface
{
public:
// construction/destruction
- abcbus_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- template<class _irq> devcb_base &set_irq_callback(_irq irq) { return m_write_irq.set_callback(irq); }
- template<class _nmi> devcb_base &set_nmi_callback(_nmi nmi) { return m_write_nmi.set_callback(nmi); }
- template<class _rdy> devcb_base &set_rdy_callback(_rdy rdy) { return m_write_rdy.set_callback(rdy); }
- template<class _resin> devcb_base &set_resin_callback(_resin resin) { return m_write_resin.set_callback(resin); }
- template<class _pren> devcb_base &set_pren_callback(_pren pren) { return m_write_pren.set_callback(pren); }
- template<class _trrq> devcb_base &set_trrq_callback(_trrq trrq) { return m_write_trrq.set_callback(trrq); }
- template<class _xint2> devcb_base &set_xint2_callback(_xint2 xint2) { return m_write_xint2.set_callback(xint2); }
- template<class _xint3> devcb_base &set_xint3_callback(_xint3 xint3) { return m_write_xint3.set_callback(xint3); }
- template<class _xint4> devcb_base &set_xint4_callback(_xint4 xint4) { return m_write_xint4.set_callback(xint4); }
- template<class _xint5> devcb_base &set_xint5_callback(_xint5 xint5) { return m_write_xint5.set_callback(xint5); }
+ abcbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ template <class Object> devcb_base &set_irq_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nmi_callback(Object &&cb) { return m_write_nmi.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_rdy_callback(Object &&cb) { return m_write_rdy.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_resin_callback(Object &&cb) { return m_write_resin.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_pren_callback(Object &&cb) { return m_write_pren.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_trrq_callback(Object &&cb) { return m_write_trrq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_xint2_callback(Object &&cb) { return m_write_xint2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_xint3_callback(Object &&cb) { return m_write_xint3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_xint4_callback(Object &&cb) { return m_write_xint4.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_xint5_callback(Object &&cb) { return m_write_xint5.set_callback(std::forward<Object>(cb)); }
// computer interface
void cs_w(uint8_t data) { if (m_card) m_card->abcbus_cs(data); }
@@ -302,7 +304,7 @@ protected:
// device type definition
-extern const device_type ABCBUS_SLOT;
+DECLARE_DEVICE_TYPE(ABCBUS_SLOT, abcbus_slot_device)
SLOT_INTERFACE_EXTERN( abc80_cards );
@@ -310,7 +312,7 @@ SLOT_INTERFACE_EXTERN( abcbus_cards );
SLOT_INTERFACE_EXTERN( abc1600bus_cards );
-typedef device_type_iterator<abcbus_slot_t> abcbus_slot_device_iterator;
+typedef device_type_iterator<abcbus_slot_device> abcbus_slot_device_iterator;
#endif // MAME_DEVICES_ABCBUS_ABCBUS_H
diff --git a/src/devices/bus/abcbus/fd2.cpp b/src/devices/bus/abcbus/fd2.cpp
index 9f2688149e8..9fe4cf08003 100644
--- a/src/devices/bus/abcbus/fd2.cpp
+++ b/src/devices/bus/abcbus/fd2.cpp
@@ -55,7 +55,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC_FD2 = device_creator<abc_fd2_t>;
+DEFINE_DEVICE_TYPE(ABC_FD2, abc_fd2_device, "abc_fd2", "ABC FD2")
//-------------------------------------------------
@@ -76,7 +76,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *abc_fd2_t::device_rom_region() const
+const tiny_rom_entry *abc_fd2_device::device_rom_region() const
{
return ROM_NAME( abc_fd2 );
}
@@ -86,7 +86,7 @@ const tiny_rom_entry *abc_fd2_t::device_rom_region() const
// status_w -
//-------------------------------------------------
-WRITE8_MEMBER( abc_fd2_t::status_w )
+WRITE8_MEMBER( abc_fd2_device::status_w )
{
/*
@@ -114,7 +114,7 @@ WRITE8_MEMBER( abc_fd2_t::status_w )
// ADDRESS_MAP( abc_fd2_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc_fd2_mem, AS_PROGRAM, 8, abc_fd2_t )
+static ADDRESS_MAP_START( abc_fd2_mem, AS_PROGRAM, 8, abc_fd2_device )
AM_RANGE(0x0000, 0x03ff) AM_ROM AM_REGION(Z80_TAG, 0)
AM_RANGE(0x0800, 0x0bff) AM_RAM
ADDRESS_MAP_END
@@ -124,10 +124,10 @@ ADDRESS_MAP_END
// ADDRESS_MAP( abc_fd2_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( abc_fd2_io, AS_IO, 8, abc_fd2_t )
+static ADDRESS_MAP_START( abc_fd2_io, AS_IO, 8, abc_fd2_device )
ADDRESS_MAP_GLOBAL_MASK(0x73)
AM_RANGE(0x30, 0x33) AM_DEVREADWRITE(Z80PIO_TAG, z80pio_device, read_alt, write_alt)
- AM_RANGE(0x50, 0x53) AM_DEVREADWRITE(FD1771_TAG, fd1771_t, read, write)
+ AM_RANGE(0x50, 0x53) AM_DEVREADWRITE(FD1771_TAG, fd1771_device, read, write)
AM_RANGE(0x60, 0x60) AM_WRITE(status_w)
ADDRESS_MAP_END
@@ -136,17 +136,17 @@ ADDRESS_MAP_END
// Z80PIO
//-------------------------------------------------
-READ8_MEMBER( abc_fd2_t::pio_pa_r )
+READ8_MEMBER( abc_fd2_device::pio_pa_r )
{
return m_data;
}
-WRITE8_MEMBER( abc_fd2_t::pio_pa_w )
+WRITE8_MEMBER( abc_fd2_device::pio_pa_w )
{
m_data = data;
}
-READ8_MEMBER( abc_fd2_t::pio_pb_r )
+READ8_MEMBER( abc_fd2_device::pio_pb_r )
{
/*
@@ -172,7 +172,7 @@ READ8_MEMBER( abc_fd2_t::pio_pb_r )
return data;
}
-WRITE8_MEMBER( abc_fd2_t::pio_pb_w )
+WRITE8_MEMBER( abc_fd2_device::pio_pb_w )
{
/*
@@ -225,7 +225,7 @@ static SLOT_INTERFACE_START( abc_fd2_floppies )
SLOT_INTERFACE( "525sssd", FLOPPY_525_SSSD )
SLOT_INTERFACE_END
-FLOPPY_FORMATS_MEMBER( abc_fd2_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( abc_fd2_device::floppy_formats )
FLOPPY_ABC_FD2_FORMAT
FLOPPY_FORMATS_END
@@ -242,18 +242,18 @@ static MACHINE_CONFIG_FRAGMENT( abc_fd2 )
MCFG_DEVICE_ADD(Z80PIO_TAG, Z80PIO, XTAL_4MHz/2)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
- MCFG_Z80PIO_IN_PA_CB(READ8(abc_fd2_t, pio_pa_r))
- MCFG_Z80PIO_OUT_PA_CB(WRITE8(abc_fd2_t, pio_pa_w))
- MCFG_Z80PIO_IN_PB_CB(READ8(abc_fd2_t, pio_pb_r))
- MCFG_Z80PIO_OUT_PB_CB(WRITE8(abc_fd2_t, pio_pb_w))
+ MCFG_Z80PIO_IN_PA_CB(READ8(abc_fd2_device, pio_pa_r))
+ MCFG_Z80PIO_OUT_PA_CB(WRITE8(abc_fd2_device, pio_pa_w))
+ MCFG_Z80PIO_IN_PB_CB(READ8(abc_fd2_device, pio_pb_r))
+ MCFG_Z80PIO_OUT_PB_CB(WRITE8(abc_fd2_device, pio_pb_w))
MCFG_FD1771_ADD(FD1771_TAG, XTAL_4MHz/4)
MCFG_WD_FDC_INTRQ_CALLBACK(DEVWRITELINE(Z80PIO_TAG, z80pio_device, pb7_w))
MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE(Z80PIO_TAG, z80pio_device, pb5_w))
MCFG_WD_FDC_HLD_CALLBACK(DEVWRITELINE(Z80PIO_TAG, z80pio_device, pb6_w))
- MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG ":0", abc_fd2_floppies, "525sssd", abc_fd2_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG ":1", abc_fd2_floppies, "525sssd", abc_fd2_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG ":0", abc_fd2_floppies, "525sssd", abc_fd2_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG ":1", abc_fd2_floppies, "525sssd", abc_fd2_device::floppy_formats)
MACHINE_CONFIG_END
@@ -262,7 +262,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor abc_fd2_t::device_mconfig_additions() const
+machine_config_constructor abc_fd2_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc_fd2 );
}
@@ -274,11 +274,11 @@ machine_config_constructor abc_fd2_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// abc_fd2_t - constructor
+// abc_fd2_device - constructor
//-------------------------------------------------
-abc_fd2_t::abc_fd2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ABC_FD2, "ABC FD2", tag, owner, clock, "abc_fd2", __FILE__),
+abc_fd2_device::abc_fd2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, ABC_FD2, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG),
m_pio(*this, Z80PIO_TAG),
@@ -295,7 +295,7 @@ abc_fd2_t::abc_fd2_t(const machine_config &mconfig, const char *tag, device_t *o
// device_start - device-specific startup
//-------------------------------------------------
-void abc_fd2_t::device_start()
+void abc_fd2_device::device_start()
{
}
@@ -304,7 +304,7 @@ void abc_fd2_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void abc_fd2_t::device_reset()
+void abc_fd2_device::device_reset()
{
m_cs = false;
@@ -325,7 +325,7 @@ void abc_fd2_t::device_reset()
// abcbus_cs -
//-------------------------------------------------
-void abc_fd2_t::abcbus_cs(uint8_t data)
+void abc_fd2_device::abcbus_cs(uint8_t data)
{
m_cs = (data == 0x2d);
}
@@ -335,7 +335,7 @@ void abc_fd2_t::abcbus_cs(uint8_t data)
// abcbus_stat -
//-------------------------------------------------
-uint8_t abc_fd2_t::abcbus_stat()
+uint8_t abc_fd2_device::abcbus_stat()
{
uint8_t data = 0xff;
@@ -352,7 +352,7 @@ uint8_t abc_fd2_t::abcbus_stat()
// abcbus_inp -
//-------------------------------------------------
-uint8_t abc_fd2_t::abcbus_inp()
+uint8_t abc_fd2_device::abcbus_inp()
{
uint8_t data = 0xff;
@@ -375,7 +375,7 @@ uint8_t abc_fd2_t::abcbus_inp()
// abcbus_out -
//-------------------------------------------------
-void abc_fd2_t::abcbus_out(uint8_t data)
+void abc_fd2_device::abcbus_out(uint8_t data)
{
if (!m_cs) return;
@@ -393,7 +393,7 @@ void abc_fd2_t::abcbus_out(uint8_t data)
// abcbus_c1 -
//-------------------------------------------------
-void abc_fd2_t::abcbus_c1(uint8_t data)
+void abc_fd2_device::abcbus_c1(uint8_t data)
{
if (m_cs)
{
@@ -407,7 +407,7 @@ void abc_fd2_t::abcbus_c1(uint8_t data)
// abcbus_c3 -
//-------------------------------------------------
-void abc_fd2_t::abcbus_c3(uint8_t data)
+void abc_fd2_device::abcbus_c3(uint8_t data)
{
if (m_cs)
{
@@ -420,7 +420,7 @@ void abc_fd2_t::abcbus_c3(uint8_t data)
// abcbus_xmemfl -
//-------------------------------------------------
-uint8_t abc_fd2_t::abcbus_xmemfl(offs_t offset)
+uint8_t abc_fd2_device::abcbus_xmemfl(offs_t offset)
{
uint8_t data = 0xff;
diff --git a/src/devices/bus/abcbus/fd2.h b/src/devices/bus/abcbus/fd2.h
index f82c0fb68d0..37a2be98959 100644
--- a/src/devices/bus/abcbus/fd2.h
+++ b/src/devices/bus/abcbus/fd2.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCBUS_FD2_H
+#define MAME_BUS_ABCBUS_FD2_H
-#ifndef __ABC_FD2__
-#define __ABC_FD2__
+#pragma once
#include "abcbus.h"
#include "cpu/z80/z80.h"
@@ -24,14 +24,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> abc_fd2_t
+// ======================> abc_fd2_device
-class abc_fd2_t : public device_t,
+class abc_fd2_device : public device_t,
public device_abcbus_card_interface
{
public:
// construction/destruction
- abc_fd2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc_fd2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -63,7 +63,7 @@ protected:
private:
required_device<cpu_device> m_maincpu;
required_device<z80pio_device> m_pio;
- required_device<fd1771_t> m_fdc;
+ required_device<fd1771_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_memory_region m_dos_rom;
@@ -75,8 +75,6 @@ private:
// device type definition
-extern const device_type ABC_FD2;
-
-
+DECLARE_DEVICE_TYPE(ABC_FD2, abc_fd2_device)
-#endif
+#endif // MAME_BUS_ABCBUS_FD2_H
diff --git a/src/devices/bus/abcbus/hdc.cpp b/src/devices/bus/abcbus/hdc.cpp
index 9e69ced4ad3..ba27d1cd948 100644
--- a/src/devices/bus/abcbus/hdc.cpp
+++ b/src/devices/bus/abcbus/hdc.cpp
@@ -24,7 +24,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC_HDC = device_creator<abc_hdc_device>;
+DEFINE_DEVICE_TYPE(ABC_HDC, abc_hdc_device, "abc_hdc", "ABC HDC")
//-------------------------------------------------
@@ -113,9 +113,9 @@ machine_config_constructor abc_hdc_device::device_mconfig_additions() const
//-------------------------------------------------
abc_hdc_device::abc_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ABC_HDC, "ABC HDC", tag, owner, clock, "abc_hdc", __FILE__),
- device_abcbus_card_interface(mconfig, *this),
- m_maincpu(*this, Z80_TAG)
+ : device_t(mconfig, ABC_HDC, tag, owner, clock)
+ , device_abcbus_card_interface(mconfig, *this)
+ , m_maincpu(*this, Z80_TAG)
{
}
diff --git a/src/devices/bus/abcbus/hdc.h b/src/devices/bus/abcbus/hdc.h
index c0a1350d51e..e9edb3b8d2a 100644
--- a/src/devices/bus/abcbus/hdc.h
+++ b/src/devices/bus/abcbus/hdc.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCBUS_HDC_H
+#define MAME_BUS_ABCBUS_HDC_H
-#ifndef __ABC_HDC__
-#define __ABC_HDC__
+#pragma once
#include "abcbus.h"
#include "cpu/z80/z80.h"
@@ -49,8 +49,6 @@ private:
// device type definition
-extern const device_type ABC_HDC;
-
-
+DECLARE_DEVICE_TYPE(ABC_HDC, abc_hdc_device)
-#endif
+#endif // MAME_BUS_ABCBUS_HDC_H
diff --git a/src/devices/bus/abcbus/lux10828.cpp b/src/devices/bus/abcbus/lux10828.cpp
index 42960d2e918..888055886c4 100644
--- a/src/devices/bus/abcbus/lux10828.cpp
+++ b/src/devices/bus/abcbus/lux10828.cpp
@@ -139,7 +139,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type LUXOR_55_10828 = device_creator<luxor_55_10828_device>;
+DEFINE_DEVICE_TYPE(LUXOR_55_10828, luxor_55_10828_device, "lux10828", "Luxor 55 10828")
//-------------------------------------------------
@@ -405,7 +405,7 @@ ioport_constructor luxor_55_10828_device::device_input_ports() const
//-------------------------------------------------
luxor_55_10828_device::luxor_55_10828_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, LUXOR_55_10828, "Luxor 55 10828", tag, owner, clock, "lux10828", __FILE__),
+ : device_t(mconfig, LUXOR_55_10828, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG),
m_pio(*this, Z80PIO_TAG),
diff --git a/src/devices/bus/abcbus/lux10828.h b/src/devices/bus/abcbus/lux10828.h
index 100e32f3f4f..d695c57c19f 100644
--- a/src/devices/bus/abcbus/lux10828.h
+++ b/src/devices/bus/abcbus/lux10828.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCBUS_LUXOR10828_H
+#define MAME_BUS_ABCBUS_LUXOR10828_H
-#ifndef __LUXOR_55_10828__
-#define __LUXOR_55_10828__
+#pragma once
#include "abcbus.h"
#include "cpu/z80/z80.h"
@@ -91,7 +91,7 @@ protected:
private:
required_device<cpu_device> m_maincpu;
required_device<z80pio_device> m_pio;
- required_device<mb8876_t> m_fdc;
+ required_device<mb8876_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_ioport m_sw1;
@@ -109,6 +109,6 @@ private:
// device type definition
-extern const device_type LUXOR_55_10828;
+DECLARE_DEVICE_TYPE(LUXOR_55_10828, luxor_55_10828_device)
-#endif
+#endif // MAME_BUS_ABCBUS_LUXOR10828_H
diff --git a/src/devices/bus/abcbus/lux21046.cpp b/src/devices/bus/abcbus/lux21046.cpp
index 489aac9e92c..86bddaf990e 100644
--- a/src/devices/bus/abcbus/lux21046.cpp
+++ b/src/devices/bus/abcbus/lux21046.cpp
@@ -94,12 +94,12 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type LUXOR_55_21046 = device_creator<luxor_55_21046_t>;
-const device_type ABC830 = device_creator<abc830_t>;
-const device_type ABC832 = device_creator<abc832_t>;
-const device_type ABC834 = device_creator<abc834_t>;
-const device_type ABC838 = device_creator<abc838_device>;
-const device_type ABC850_FLOPPY = device_creator<abc850_floppy_t>;
+DEFINE_DEVICE_TYPE(LUXOR_55_21046, luxor_55_21046_device, "lux21046", "Luxor 55 21046")
+DEFINE_DEVICE_TYPE(ABC830, abc830_device, "abc830", "ABC 830")
+DEFINE_DEVICE_TYPE(ABC832, abc832_device, "abc832", "ABC 832")
+DEFINE_DEVICE_TYPE(ABC834, abc834_device, "abc834", "ABC 834")
+DEFINE_DEVICE_TYPE(ABC838, abc838_device, "abc838", "ABC 838")
+DEFINE_DEVICE_TYPE(ABC850_FLOPPY, abc850_floppy_device, "abc850flop", "ABC 850 Floppy")
//-------------------------------------------------
@@ -127,7 +127,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *luxor_55_21046_t::device_rom_region() const
+const tiny_rom_entry *luxor_55_21046_device::device_rom_region() const
{
return ROM_NAME( luxor_55_21046 );
}
@@ -137,7 +137,7 @@ const tiny_rom_entry *luxor_55_21046_t::device_rom_region() const
// ADDRESS_MAP( luxor_55_21046_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( luxor_55_21046_mem, AS_PROGRAM, 8, luxor_55_21046_t )
+static ADDRESS_MAP_START( luxor_55_21046_mem, AS_PROGRAM, 8, luxor_55_21046_device )
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION(Z80_TAG, 0x2000) // A13 pull-up
@@ -149,7 +149,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( luxor_55_21046_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( luxor_55_21046_io, AS_IO, 8, luxor_55_21046_t )
+static ADDRESS_MAP_START( luxor_55_21046_io, AS_IO, 8, luxor_55_21046_device )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0c, 0x0c) AM_MIRROR(0xff03) AM_READ(out_r)
AM_RANGE(0x1c, 0x1c) AM_MIRROR(0xff03) AM_WRITE(inp_w)
@@ -157,8 +157,8 @@ static ADDRESS_MAP_START( luxor_55_21046_io, AS_IO, 8, luxor_55_21046_t )
AM_RANGE(0x3c, 0x3c) AM_MIRROR(0xff03) AM_WRITE(_9b_w)
AM_RANGE(0x4c, 0x4c) AM_MIRROR(0xff03) AM_WRITE(_8a_w)
AM_RANGE(0x58, 0x58) AM_MIRROR(0x0007) AM_SELECT(0xff00) AM_READ(_9a_r)
- AM_RANGE(0x68, 0x6b) AM_MIRROR(0xff00) AM_DEVREAD(SAB1793_TAG, fd1793_t, read)
- AM_RANGE(0x78, 0x7b) AM_MIRROR(0xff00) AM_DEVWRITE(SAB1793_TAG, fd1793_t, write)
+ AM_RANGE(0x68, 0x6b) AM_MIRROR(0xff00) AM_DEVREAD(SAB1793_TAG, fd1793_device, read)
+ AM_RANGE(0x78, 0x7b) AM_MIRROR(0xff00) AM_DEVWRITE(SAB1793_TAG, fd1793_device, write)
AM_RANGE(0x80, 0x80) AM_MIRROR(0xff77) AM_DEVREADWRITE(Z80DMA_TAG, z80dma_device, read, write)
ADDRESS_MAP_END
@@ -222,7 +222,7 @@ ADDRESS_MAP_END
*/
-WRITE_LINE_MEMBER( luxor_55_21046_t::dma_int_w )
+WRITE_LINE_MEMBER( luxor_55_21046_device::dma_int_w )
{
m_dma_irq = state;
@@ -230,27 +230,27 @@ WRITE_LINE_MEMBER( luxor_55_21046_t::dma_int_w )
m_maincpu->set_input_line(INPUT_LINE_IRQ0, m_fdc_irq || m_dma_irq);
}
-READ8_MEMBER( luxor_55_21046_t::memory_read_byte )
+READ8_MEMBER( luxor_55_21046_device::memory_read_byte )
{
return m_maincpu->space(AS_PROGRAM).read_byte(offset);
}
-WRITE8_MEMBER( luxor_55_21046_t::memory_write_byte )
+WRITE8_MEMBER( luxor_55_21046_device::memory_write_byte )
{
return m_maincpu->space(AS_PROGRAM).write_byte(offset, data);
}
-READ8_MEMBER( luxor_55_21046_t::io_read_byte )
+READ8_MEMBER( luxor_55_21046_device::io_read_byte )
{
return m_maincpu->space(AS_IO).read_byte(offset);
}
-WRITE8_MEMBER( luxor_55_21046_t::io_write_byte )
+WRITE8_MEMBER( luxor_55_21046_device::io_write_byte )
{
return m_maincpu->space(AS_IO).write_byte(offset, data);
}
-FLOPPY_FORMATS_MEMBER( luxor_55_21046_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( luxor_55_21046_device::floppy_formats )
FLOPPY_ABC800_FORMAT
FLOPPY_FORMATS_END
@@ -263,7 +263,7 @@ static SLOT_INTERFACE_START( abc_floppies )
SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
SLOT_INTERFACE_END
-WRITE_LINE_MEMBER( luxor_55_21046_t::fdc_intrq_w )
+WRITE_LINE_MEMBER( luxor_55_21046_device::fdc_intrq_w )
{
m_fdc_irq = state;
@@ -295,14 +295,14 @@ static MACHINE_CONFIG_FRAGMENT( luxor_55_21046 )
MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, XTAL_16MHz/4)
MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT))
- MCFG_Z80DMA_OUT_INT_CB(WRITELINE(luxor_55_21046_t, dma_int_w))
- MCFG_Z80DMA_IN_MREQ_CB(READ8(luxor_55_21046_t, memory_read_byte))
- MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(luxor_55_21046_t, memory_write_byte))
- MCFG_Z80DMA_IN_IORQ_CB(READ8(luxor_55_21046_t, io_read_byte))
- MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(luxor_55_21046_t, io_write_byte))
+ MCFG_Z80DMA_OUT_INT_CB(WRITELINE(luxor_55_21046_device, dma_int_w))
+ MCFG_Z80DMA_IN_MREQ_CB(READ8(luxor_55_21046_device, memory_read_byte))
+ MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(luxor_55_21046_device, memory_write_byte))
+ MCFG_Z80DMA_IN_IORQ_CB(READ8(luxor_55_21046_device, io_read_byte))
+ MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(luxor_55_21046_device, io_write_byte))
MCFG_FD1793_ADD(SAB1793_TAG, XTAL_16MHz/16)
- MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(luxor_55_21046_t, fdc_intrq_w))
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(luxor_55_21046_device, fdc_intrq_w))
MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE(Z80DMA_TAG, z80dma_device, rdy_w))
MACHINE_CONFIG_END
@@ -312,8 +312,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
static MACHINE_CONFIG_DERIVED( abc830, luxor_55_21046 )
- MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525ssdd", luxor_55_21046_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525ssdd", luxor_55_21046_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525ssdd", luxor_55_21046_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525ssdd", luxor_55_21046_device::floppy_formats)
MACHINE_CONFIG_END
@@ -322,8 +322,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
static MACHINE_CONFIG_DERIVED( abc832, luxor_55_21046 )
- MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525qd", luxor_55_21046_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats)
MACHINE_CONFIG_END
@@ -332,8 +332,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
static MACHINE_CONFIG_DERIVED( abc838, luxor_55_21046 )
- MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "8dsdd", luxor_55_21046_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "8dsdd", luxor_55_21046_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "8dsdd", luxor_55_21046_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "8dsdd", luxor_55_21046_device::floppy_formats)
MACHINE_CONFIG_END
@@ -342,8 +342,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
static MACHINE_CONFIG_DERIVED( abc850, luxor_55_21046 )
- MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, nullptr, luxor_55_21046_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, nullptr, luxor_55_21046_device::floppy_formats)
MACHINE_CONFIG_END
@@ -352,22 +352,22 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor luxor_55_21046_t::device_mconfig_additions() const
+machine_config_constructor luxor_55_21046_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( luxor_55_21046 );
}
-machine_config_constructor abc830_t::device_mconfig_additions() const
+machine_config_constructor abc830_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc830 );
}
-machine_config_constructor abc832_t::device_mconfig_additions() const
+machine_config_constructor abc832_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc832 );
}
-machine_config_constructor abc834_t::device_mconfig_additions() const
+machine_config_constructor abc834_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc832 );
}
@@ -377,7 +377,7 @@ machine_config_constructor abc838_device::device_mconfig_additions() const
return MACHINE_CONFIG_NAME( abc838 );
}
-machine_config_constructor abc850_floppy_t::device_mconfig_additions() const
+machine_config_constructor abc850_floppy_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc850 );
}
@@ -703,22 +703,22 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor luxor_55_21046_t::device_input_ports() const
+ioport_constructor luxor_55_21046_device::device_input_ports() const
{
return INPUT_PORTS_NAME( luxor_55_21046 );
}
-ioport_constructor abc830_t::device_input_ports() const
+ioport_constructor abc830_device::device_input_ports() const
{
return INPUT_PORTS_NAME( abc830 );
}
-ioport_constructor abc832_t::device_input_ports() const
+ioport_constructor abc832_device::device_input_ports() const
{
return INPUT_PORTS_NAME( abc832 );
}
-ioport_constructor abc834_t::device_input_ports() const
+ioport_constructor abc834_device::device_input_ports() const
{
return INPUT_PORTS_NAME( abc834 );
}
@@ -728,7 +728,7 @@ ioport_constructor abc838_device::device_input_ports() const
return INPUT_PORTS_NAME( abc838 );
}
-ioport_constructor abc850_floppy_t::device_input_ports() const
+ioport_constructor abc850_floppy_device::device_input_ports() const
{
return INPUT_PORTS_NAME( abc850 );
}
@@ -740,16 +740,16 @@ ioport_constructor abc850_floppy_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// luxor_55_21046_t - constructor
+// luxor_55_21046_device - constructor
//-------------------------------------------------
-luxor_55_21046_t::luxor_55_21046_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- luxor_55_21046_t(mconfig, LUXOR_55_21046, "Luxor 55 21046", tag, owner, clock, "lux21046", __FILE__)
+luxor_55_21046_device::luxor_55_21046_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ luxor_55_21046_device(mconfig, LUXOR_55_21046, tag, owner, clock)
{
}
-luxor_55_21046_t::luxor_55_21046_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+luxor_55_21046_device::luxor_55_21046_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG),
m_dma(*this, Z80DMA_TAG),
@@ -771,28 +771,28 @@ luxor_55_21046_t::luxor_55_21046_t(const machine_config &mconfig, device_type ty
{
}
-abc830_t::abc830_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- luxor_55_21046_t(mconfig, ABC830, "ABC 830", tag, owner, clock, "abc830", __FILE__)
+abc830_device::abc830_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ luxor_55_21046_device(mconfig, ABC830, tag, owner, clock)
{
}
-abc832_t::abc832_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- luxor_55_21046_t(mconfig, ABC832, "ABC 832", tag, owner, clock, "abc832", __FILE__)
+abc832_device::abc832_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ luxor_55_21046_device(mconfig, ABC832, tag, owner, clock)
{
}
-abc834_t::abc834_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- luxor_55_21046_t(mconfig, ABC834, "ABC 834", tag, owner, clock, "abc834", __FILE__)
+abc834_device::abc834_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ luxor_55_21046_device(mconfig, ABC834, tag, owner, clock)
{
}
abc838_device::abc838_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- luxor_55_21046_t(mconfig, ABC838, "ABC 838", tag, owner, clock, "abc838", __FILE__)
+ luxor_55_21046_device(mconfig, ABC838, tag, owner, clock)
{
}
-abc850_floppy_t::abc850_floppy_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- luxor_55_21046_t(mconfig, ABC850_FLOPPY, "ABC 850 floppy", tag, owner, clock, "abc850flop", __FILE__)
+abc850_floppy_device::abc850_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ luxor_55_21046_device(mconfig, ABC850_FLOPPY, tag, owner, clock)
{
}
@@ -801,7 +801,7 @@ abc850_floppy_t::abc850_floppy_t(const machine_config &mconfig, const char *tag,
// device_start - device-specific startup
//-------------------------------------------------
-void luxor_55_21046_t::device_start()
+void luxor_55_21046_device::device_start()
{
// state saving
save_item(NAME(m_cs));
@@ -819,7 +819,7 @@ void luxor_55_21046_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void luxor_55_21046_t::device_reset()
+void luxor_55_21046_device::device_reset()
{
m_cs = false;
m_out = 0;
@@ -842,7 +842,7 @@ void luxor_55_21046_t::device_reset()
// abcbus_cs -
//-------------------------------------------------
-void luxor_55_21046_t::abcbus_cs(uint8_t data)
+void luxor_55_21046_device::abcbus_cs(uint8_t data)
{
m_cs = (data == m_sw3->read());
}
@@ -852,7 +852,7 @@ void luxor_55_21046_t::abcbus_cs(uint8_t data)
// abcbus_csb -
//-------------------------------------------------
-int luxor_55_21046_t::abcbus_csb()
+int luxor_55_21046_device::abcbus_csb()
{
return m_cs ? 0 : 1;
}
@@ -862,7 +862,7 @@ int luxor_55_21046_t::abcbus_csb()
// abcbus_stat -
//-------------------------------------------------
-uint8_t luxor_55_21046_t::abcbus_stat()
+uint8_t luxor_55_21046_device::abcbus_stat()
{
/*
@@ -895,7 +895,7 @@ uint8_t luxor_55_21046_t::abcbus_stat()
// abcbus_inp -
//-------------------------------------------------
-uint8_t luxor_55_21046_t::abcbus_inp()
+uint8_t luxor_55_21046_device::abcbus_inp()
{
uint8_t data = 0xff;
@@ -913,7 +913,7 @@ uint8_t luxor_55_21046_t::abcbus_inp()
// abcbus_out -
//-------------------------------------------------
-void luxor_55_21046_t::abcbus_out(uint8_t data)
+void luxor_55_21046_device::abcbus_out(uint8_t data)
{
if (m_cs)
{
@@ -927,7 +927,7 @@ void luxor_55_21046_t::abcbus_out(uint8_t data)
// abcbus_c1 -
//-------------------------------------------------
-void luxor_55_21046_t::abcbus_c1(uint8_t data)
+void luxor_55_21046_device::abcbus_c1(uint8_t data)
{
if (m_cs)
{
@@ -941,7 +941,7 @@ void luxor_55_21046_t::abcbus_c1(uint8_t data)
// abcbus_c3 -
//-------------------------------------------------
-void luxor_55_21046_t::abcbus_c3(uint8_t data)
+void luxor_55_21046_device::abcbus_c3(uint8_t data)
{
if (m_cs)
{
@@ -954,7 +954,7 @@ void luxor_55_21046_t::abcbus_c3(uint8_t data)
// abcbus_c4 -
//-------------------------------------------------
-void luxor_55_21046_t::abcbus_c4(uint8_t data)
+void luxor_55_21046_device::abcbus_c4(uint8_t data)
{
// TODO connected to PAL16R4 pin 2
}
@@ -969,7 +969,7 @@ void luxor_55_21046_t::abcbus_c4(uint8_t data)
// 3d_r -
//-------------------------------------------------
-READ8_MEMBER( luxor_55_21046_t::out_r )
+READ8_MEMBER( luxor_55_21046_device::out_r )
{
if (m_busy)
{
@@ -984,7 +984,7 @@ READ8_MEMBER( luxor_55_21046_t::out_r )
// 4d_w -
//-------------------------------------------------
-WRITE8_MEMBER( luxor_55_21046_t::inp_w )
+WRITE8_MEMBER( luxor_55_21046_device::inp_w )
{
if (m_busy)
{
@@ -999,7 +999,7 @@ WRITE8_MEMBER( luxor_55_21046_t::inp_w )
// 4b_w -
//-------------------------------------------------
-WRITE8_MEMBER( luxor_55_21046_t::_4b_w )
+WRITE8_MEMBER( luxor_55_21046_device::_4b_w )
{
/*
@@ -1030,7 +1030,7 @@ WRITE8_MEMBER( luxor_55_21046_t::_4b_w )
// 9b_w -
//-------------------------------------------------
-WRITE8_MEMBER( luxor_55_21046_t::_9b_w )
+WRITE8_MEMBER( luxor_55_21046_device::_9b_w )
{
/*
@@ -1070,7 +1070,7 @@ WRITE8_MEMBER( luxor_55_21046_t::_9b_w )
// 8a_w -
//-------------------------------------------------
-WRITE8_MEMBER( luxor_55_21046_t::_8a_w )
+WRITE8_MEMBER( luxor_55_21046_device::_8a_w )
{
/*
@@ -1110,7 +1110,7 @@ WRITE8_MEMBER( luxor_55_21046_t::_8a_w )
// 9a_r -
//-------------------------------------------------
-READ8_MEMBER( luxor_55_21046_t::_9a_r )
+READ8_MEMBER( luxor_55_21046_device::_9a_r )
{
/*
diff --git a/src/devices/bus/abcbus/lux21046.h b/src/devices/bus/abcbus/lux21046.h
index 8feed1090a2..818b31a0718 100644
--- a/src/devices/bus/abcbus/lux21046.h
+++ b/src/devices/bus/abcbus/lux21046.h
@@ -45,14 +45,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> luxor_55_21046_t
+// ======================> luxor_55_21046_device
-class luxor_55_21046_t : public device_t,
+class luxor_55_21046_device : public device_t,
public device_abcbus_card_interface
{
public:
// construction/destruction
- luxor_55_21046_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ luxor_55_21046_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -79,7 +79,7 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
- luxor_55_21046_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ luxor_55_21046_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
@@ -98,7 +98,7 @@ protected:
private:
required_device<cpu_device> m_maincpu;
required_device<z80dma_device> m_dma;
- required_device<fd1793_t> m_fdc;
+ required_device<fd1793_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
floppy_image_device *m_floppy;
@@ -117,13 +117,13 @@ private:
};
-// ======================> abc830_t
+// ======================> abc830_device
-class abc830_t : public luxor_55_21046_t
+class abc830_device : public luxor_55_21046_device
{
public:
// construction/destruction
- abc830_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc830_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -131,13 +131,13 @@ public:
};
-// ======================> abc832_t
+// ======================> abc832_device
-class abc832_t : public luxor_55_21046_t
+class abc832_device : public luxor_55_21046_device
{
public:
// construction/destruction
- abc832_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc832_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -145,13 +145,13 @@ public:
};
-// ======================> abc834_t
+// ======================> abc834_device
-class abc834_t : public luxor_55_21046_t
+class abc834_device : public luxor_55_21046_device
{
public:
// construction/destruction
- abc834_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc834_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -161,7 +161,7 @@ public:
// ======================> abc838_device
-class abc838_device : public luxor_55_21046_t
+class abc838_device : public luxor_55_21046_device
{
public:
// construction/destruction
@@ -173,13 +173,13 @@ public:
};
-// ======================> abc850_floppy_t
+// ======================> abc850_floppy_device
-class abc850_floppy_t : public luxor_55_21046_t
+class abc850_floppy_device : public luxor_55_21046_device
{
public:
// construction/destruction
- abc850_floppy_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc850_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -188,12 +188,12 @@ public:
// device type definition
-extern const device_type LUXOR_55_21046;
-extern const device_type ABC830;
-extern const device_type ABC832;
-extern const device_type ABC834;
-extern const device_type ABC838;
-extern const device_type ABC850_FLOPPY;
+DECLARE_DEVICE_TYPE(LUXOR_55_21046, luxor_55_21046_device)
+DECLARE_DEVICE_TYPE(ABC830, abc830_device)
+DECLARE_DEVICE_TYPE(ABC832, abc832_device)
+DECLARE_DEVICE_TYPE(ABC834, abc834_device)
+DECLARE_DEVICE_TYPE(ABC838, abc838_device)
+DECLARE_DEVICE_TYPE(ABC850_FLOPPY, abc850_floppy_device)
diff --git a/src/devices/bus/abcbus/lux21056.cpp b/src/devices/bus/abcbus/lux21056.cpp
index 1cebd0f9258..7fa81c39667 100644
--- a/src/devices/bus/abcbus/lux21056.cpp
+++ b/src/devices/bus/abcbus/lux21056.cpp
@@ -94,7 +94,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type LUXOR_55_21056 = device_creator<luxor_55_21056_device>;
+DEFINE_DEVICE_TYPE(LUXOR_55_21056, luxor_55_21056_device, "lux21056", "Luxor 55 21056")
//-------------------------------------------------
@@ -339,7 +339,7 @@ ioport_constructor luxor_55_21056_device::device_input_ports() const
//-------------------------------------------------
luxor_55_21056_device::luxor_55_21056_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, LUXOR_55_21056, "Luxor 55 21056", tag, owner, clock, "lux21056", __FILE__),
+ : device_t(mconfig, LUXOR_55_21056, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG),
m_dma(*this, Z80DMA_TAG),
diff --git a/src/devices/bus/abcbus/lux21056.h b/src/devices/bus/abcbus/lux21056.h
index d87183e91d3..b79dc547895 100644
--- a/src/devices/bus/abcbus/lux21056.h
+++ b/src/devices/bus/abcbus/lux21056.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCBUS_LUX21056_H
+#define MAME_BUS_ABCBUS_LUX21056_H
-#ifndef __LUXOR_55_21056__
-#define __LUXOR_55_21056__
+#pragma once
#include "abcbus.h"
#include "bus/scsi/scsi.h"
@@ -79,7 +79,7 @@ private:
required_device<cpu_device> m_maincpu;
required_device<z80dma_device> m_dma;
- required_device<SCSI_PORT_DEVICE> m_sasibus;
+ required_device<scsi_port_device> m_sasibus;
required_device<output_latch_device> m_sasi_data_out;
required_device<input_buffer_device> m_sasi_data_in;
required_ioport m_s1;
@@ -100,8 +100,6 @@ private:
// device type definition
-extern const device_type LUXOR_55_21056;
-
-
+DECLARE_DEVICE_TYPE(LUXOR_55_21056, luxor_55_21056_device)
-#endif
+#endif // MAME_BUS_ABCBUS_LUX21056_H
diff --git a/src/devices/bus/abcbus/lux4105.cpp b/src/devices/bus/abcbus/lux4105.cpp
index 4ffdf711756..9d7a84e30e0 100644
--- a/src/devices/bus/abcbus/lux4105.cpp
+++ b/src/devices/bus/abcbus/lux4105.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type LUXOR_4105 = device_creator<luxor_4105_device>;
+DEFINE_DEVICE_TYPE(LUXOR_4105, luxor_4105_device, "lux4105", "Luxor 4105")
WRITE_LINE_MEMBER( luxor_4105_device::write_sasi_bsy )
@@ -176,7 +176,7 @@ inline void luxor_4105_device::update_trrq_int()
//-------------------------------------------------
luxor_4105_device::luxor_4105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, LUXOR_4105, "Luxor 4105", tag, owner, clock, "lux4105", __FILE__),
+ device_t(mconfig, LUXOR_4105, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_sasibus(*this, SASIBUS_TAG),
m_sasi_data_out(*this, "sasi_data_out"),
diff --git a/src/devices/bus/abcbus/lux4105.h b/src/devices/bus/abcbus/lux4105.h
index 7c4e7881665..6c81a457b11 100644
--- a/src/devices/bus/abcbus/lux4105.h
+++ b/src/devices/bus/abcbus/lux4105.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCBUS_LUX4105_H
+#define MAME_BUS_ABCBUS_LUX4105_H
-#ifndef __LUXOR_4105__
-#define __LUXOR_4105__
+#pragma once
#include "abcbus.h"
@@ -66,7 +66,7 @@ protected:
private:
inline void update_trrq_int();
- required_device<SCSI_PORT_DEVICE> m_sasibus;
+ required_device<scsi_port_device> m_sasibus;
required_device<output_latch_device> m_sasi_data_out;
required_device<input_buffer_device> m_sasi_data_in;
required_ioport m_1e;
@@ -84,8 +84,7 @@ private:
// device type definition
-extern const device_type LUXOR_4105;
-
+DECLARE_DEVICE_TYPE(LUXOR_4105, luxor_4105_device)
-#endif
+#endif // MAME_BUS_ABCBUS_LUX4105_H
diff --git a/src/devices/bus/abcbus/memcard.cpp b/src/devices/bus/abcbus/memcard.cpp
index 32ac9a9cf42..6cdaf7be531 100644
--- a/src/devices/bus/abcbus/memcard.cpp
+++ b/src/devices/bus/abcbus/memcard.cpp
@@ -63,7 +63,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC_MEMORY_CARD = device_creator<abc_memory_card_t>;
+DEFINE_DEVICE_TYPE(ABC_MEMORY_CARD, abc_memory_card_device, "abc_mem", "ABC Memory Card")
//-------------------------------------------------
@@ -95,7 +95,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *abc_memory_card_t::device_rom_region() const
+const tiny_rom_entry *abc_memory_card_device::device_rom_region() const
{
return ROM_NAME( abc_dos );
}
@@ -107,11 +107,11 @@ const tiny_rom_entry *abc_memory_card_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// abc_memory_card_t - constructor
+// abc_memory_card_device - constructor
//-------------------------------------------------
-abc_memory_card_t::abc_memory_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ABC_MEMORY_CARD, "ABC Memory Card", tag, owner, clock, "abc_mem", __FILE__),
+abc_memory_card_device::abc_memory_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, ABC_MEMORY_CARD, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_dos_rom(*this, "dos"),
m_iec_rom(*this, "iec"),
@@ -125,7 +125,7 @@ abc_memory_card_t::abc_memory_card_t(const machine_config &mconfig, const char *
// device_start - device-specific startup
//-------------------------------------------------
-void abc_memory_card_t::device_start()
+void abc_memory_card_device::device_start()
{
}
@@ -139,7 +139,7 @@ void abc_memory_card_t::device_start()
// abcbus_xmemfl -
//-------------------------------------------------
-uint8_t abc_memory_card_t::abcbus_xmemfl(offs_t offset)
+uint8_t abc_memory_card_device::abcbus_xmemfl(offs_t offset)
{
uint8_t data = 0xff;
diff --git a/src/devices/bus/abcbus/memcard.h b/src/devices/bus/abcbus/memcard.h
index 63fc582a48a..3c9f77da89f 100644
--- a/src/devices/bus/abcbus/memcard.h
+++ b/src/devices/bus/abcbus/memcard.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCBUS_MEMCARD_H
+#define MAME_BUS_ABCBUS_MEMCARD_H
-#ifndef __ABC_MEMORY_CARD__
-#define __ABC_MEMORY_CARD__
+#pragma once
#include "abcbus.h"
@@ -19,14 +19,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> abc_memory_card_t
+// ======================> abc_memory_card_device
-class abc_memory_card_t : public device_t,
- public device_abcbus_card_interface
+class abc_memory_card_device : public device_t, public device_abcbus_card_interface
{
public:
// construction/destruction
- abc_memory_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc_memory_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -49,7 +48,8 @@ private:
// device type definition
extern const device_type ABC_MEMORY_CARD;
+DECLARE_DEVICE_TYPE(ABC_MEMORY_CARD, abc_memory_card_device)
-#endif
+#endif // MAME_BUS_ABCBUS_MEMCARD_H
diff --git a/src/devices/bus/abcbus/ram.cpp b/src/devices/bus/abcbus/ram.cpp
index 07739a75f40..4886f46defa 100644
--- a/src/devices/bus/abcbus/ram.cpp
+++ b/src/devices/bus/abcbus/ram.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC80_16KB_RAM_CARD = device_creator<abc80_16kb_ram_card_t>;
+DEFINE_DEVICE_TYPE(ABC80_16KB_RAM_CARD, abc80_16kb_ram_card_device, "abc80_16kb", "ABC 80 16KB RAM card")
@@ -24,11 +24,11 @@ const device_type ABC80_16KB_RAM_CARD = device_creator<abc80_16kb_ram_card_t>;
//**************************************************************************
//-------------------------------------------------
-// abc80_16kb_ram_card_t - constructor
+// abc80_16kb_ram_card_device - constructor
//-------------------------------------------------
-abc80_16kb_ram_card_t::abc80_16kb_ram_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ABC80_16KB_RAM_CARD, "ABC 80 16KB RAM card", tag, owner, clock, "abc80_16kb", __FILE__),
+abc80_16kb_ram_card_device::abc80_16kb_ram_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, ABC80_16KB_RAM_CARD, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_ram(*this, "ram")
{
@@ -39,7 +39,7 @@ abc80_16kb_ram_card_t::abc80_16kb_ram_card_t(const machine_config &mconfig, cons
// device_start - device-specific startup
//-------------------------------------------------
-void abc80_16kb_ram_card_t::device_start()
+void abc80_16kb_ram_card_device::device_start()
{
m_ram.allocate(0x4000);
}
@@ -54,7 +54,7 @@ void abc80_16kb_ram_card_t::device_start()
// abcbus_xmemfl -
//-------------------------------------------------
-uint8_t abc80_16kb_ram_card_t::abcbus_xmemfl(offs_t offset)
+uint8_t abc80_16kb_ram_card_device::abcbus_xmemfl(offs_t offset)
{
uint8_t data = 0xff;
@@ -71,7 +71,7 @@ uint8_t abc80_16kb_ram_card_t::abcbus_xmemfl(offs_t offset)
// abcbus_xmemw -
//-------------------------------------------------
-void abc80_16kb_ram_card_t::abcbus_xmemw(offs_t offset, uint8_t data)
+void abc80_16kb_ram_card_device::abcbus_xmemw(offs_t offset, uint8_t data)
{
if (offset >= 0x8000 && offset < 0xc000)
{
diff --git a/src/devices/bus/abcbus/ram.h b/src/devices/bus/abcbus/ram.h
index eac0283dff0..cddb07182c7 100644
--- a/src/devices/bus/abcbus/ram.h
+++ b/src/devices/bus/abcbus/ram.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCBUS_RAM_H
+#define MAME_BUS_ABCBUS_RAM_H
-#ifndef __ABC80_16KB_RAM_CARD__
-#define __ABC80_16KB_RAM_CARD__
+#pragma once
#include "abcbus.h"
@@ -19,14 +19,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> abc80_16kb_ram_card_t
+// ======================> abc80_16kb_ram_card_device
-class abc80_16kb_ram_card_t : public device_t,
- public device_abcbus_card_interface
+class abc80_16kb_ram_card_device : public device_t, public device_abcbus_card_interface
{
public:
// construction/destruction
- abc80_16kb_ram_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc80_16kb_ram_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides
@@ -43,8 +42,6 @@ private:
// device type definition
-extern const device_type ABC80_16KB_RAM_CARD;
-
-
+DECLARE_DEVICE_TYPE(ABC80_16KB_RAM_CARD, abc80_16kb_ram_card_device)
-#endif
+#endif // MAME_BUS_ABCBUS_RAM_H
diff --git a/src/devices/bus/abcbus/sio.cpp b/src/devices/bus/abcbus/sio.cpp
index e99d51f61a6..1e39214d12b 100644
--- a/src/devices/bus/abcbus/sio.cpp
+++ b/src/devices/bus/abcbus/sio.cpp
@@ -48,7 +48,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC_SIO = device_creator<abc_sio_device>;
+DEFINE_DEVICE_TYPE(ABC_SIO, abc_sio_device, "abcsio", "ABC SIO")
//-------------------------------------------------
@@ -103,7 +103,7 @@ machine_config_constructor abc_sio_device::device_mconfig_additions() const
//-------------------------------------------------
abc_sio_device::abc_sio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ABC_SIO, "ABC SIO", tag, owner, clock, "abcsio", __FILE__),
+ : device_t(mconfig, ABC_SIO, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_ctc(*this, Z80CTC_TAG),
m_sio(*this, Z80SIO_TAG),
diff --git a/src/devices/bus/abcbus/sio.h b/src/devices/bus/abcbus/sio.h
index 3b2abb78157..fffaf89c640 100644
--- a/src/devices/bus/abcbus/sio.h
+++ b/src/devices/bus/abcbus/sio.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
-#pragma once
+#ifndef MAME_BUS_ABCBUS_SIO_H
+#define MAME_BUS_ABCBUS_SIO_H
-#ifndef __ABC_SIO__
-#define __ABC_SIO__
+#pragma once
#include "abcbus.h"
#include "machine/z80ctc.h"
@@ -45,8 +45,6 @@ private:
// device type definition
-extern const device_type ABC_SIO;
-
-
+DECLARE_DEVICE_TYPE(ABC_SIO, abc_sio_device)
-#endif
+#endif // MAME_BUS_ABCBUS_SIO_H
diff --git a/src/devices/bus/abcbus/slutprov.cpp b/src/devices/bus/abcbus/slutprov.cpp
index 9dead4049f3..3e75dcd577c 100644
--- a/src/devices/bus/abcbus/slutprov.cpp
+++ b/src/devices/bus/abcbus/slutprov.cpp
@@ -9,7 +9,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC_SLUTPROV = device_creator<abc_slutprov_device>;
+DEFINE_DEVICE_TYPE(ABC_SLUTPROV, abc_slutprov_device, "slutprov", "Slutprov")
//-------------------------------------------------
@@ -42,7 +42,7 @@ const tiny_rom_entry *abc_slutprov_device::device_rom_region() const
//-------------------------------------------------
abc_slutprov_device::abc_slutprov_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ABC_SLUTPROV, "Slutprov", tag, owner, clock, "slutprov", __FILE__),
+ : device_t(mconfig, ABC_SLUTPROV, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/abcbus/slutprov.h b/src/devices/bus/abcbus/slutprov.h
index e4600eb7059..16f6b0e9f79 100644
--- a/src/devices/bus/abcbus/slutprov.h
+++ b/src/devices/bus/abcbus/slutprov.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
-#pragma once
+#ifndef MAME_BUS_ABCBUS_SLUTPROV_H
+#define MAME_BUS_ABCBUS_SLUTPROV_H
-#ifndef __ABC_SLUTPROV__
-#define __ABC_SLUTPROV__
+#pragma once
#include "abcbus.h"
@@ -36,8 +36,6 @@ protected:
// device type definition
-extern const device_type ABC_SLUTPROV;
-
-
+DECLARE_DEVICE_TYPE(ABC_SLUTPROV, abc_slutprov_device)
-#endif
+#endif // MAME_BUS_ABCBUS_SLUTPROV_H
diff --git a/src/devices/bus/abcbus/turbo.cpp b/src/devices/bus/abcbus/turbo.cpp
index d552f8e40e9..c9a30b0a61a 100644
--- a/src/devices/bus/abcbus/turbo.cpp
+++ b/src/devices/bus/abcbus/turbo.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type TURBO_KONTROLLER = device_creator<turbo_kontroller_device>;
+DEFINE_DEVICE_TYPE(TURBO_KONTROLLER, turbo_kontroller_device, "unidisk", "Turbo-Kontroller")
//-------------------------------------------------
@@ -111,7 +111,7 @@ machine_config_constructor turbo_kontroller_device::device_mconfig_additions() c
//-------------------------------------------------
turbo_kontroller_device::turbo_kontroller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, TURBO_KONTROLLER, "Turbo-Kontroller", tag, owner, clock, "unidisk", __FILE__),
+ : device_t(mconfig, TURBO_KONTROLLER, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG)
{
diff --git a/src/devices/bus/abcbus/turbo.h b/src/devices/bus/abcbus/turbo.h
index b6f7a97721c..1204bf7df3e 100644
--- a/src/devices/bus/abcbus/turbo.h
+++ b/src/devices/bus/abcbus/turbo.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCBUS_TURBO_H
+#define MAME_BUS_ABCBUS_TURBO_H
-#ifndef __TURBO_KONTROLLER__
-#define __TURBO_KONTROLLER__
+#pragma once
#include "abcbus.h"
#include "cpu/z80/z80.h"
@@ -49,7 +49,6 @@ private:
// device type definition
extern const device_type TURBO_KONTROLLER;
+DECLARE_DEVICE_TYPE(TURBO_KONTROLLER, turbo_kontroller_device)
-
-
-#endif
+#endif // MAME_BUS_ABCBUS_TURBO_H
diff --git a/src/devices/bus/abcbus/uni800.cpp b/src/devices/bus/abcbus/uni800.cpp
index 5bdc0e68661..5e45d3fc30e 100644
--- a/src/devices/bus/abcbus/uni800.cpp
+++ b/src/devices/bus/abcbus/uni800.cpp
@@ -40,7 +40,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC_UNI800 = device_creator<abc_uni800_device>;
+DEFINE_DEVICE_TYPE(ABC_UNI800, abc_uni800_device, "uni800", "UNI-800")
//-------------------------------------------------
@@ -73,7 +73,7 @@ const tiny_rom_entry *abc_uni800_device::device_rom_region() const
//-------------------------------------------------
abc_uni800_device::abc_uni800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ABC_UNI800, "UNI-800", tag, owner, clock, "uni800", __FILE__),
+ : device_t(mconfig, ABC_UNI800, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/abcbus/uni800.h b/src/devices/bus/abcbus/uni800.h
index f8754b07aec..c6eb9400d40 100644
--- a/src/devices/bus/abcbus/uni800.h
+++ b/src/devices/bus/abcbus/uni800.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
-#pragma once
+#ifndef MAME_BUS_ABCBUS_UNI800_H
+#define MAME_BUS_ABCBUS_UNI800_H
-#ifndef __ABC_UNI800__
-#define __ABC_UNI800__
+#pragma once
#include "abcbus.h"
@@ -36,8 +36,6 @@ protected:
// device type definition
-extern const device_type ABC_UNI800;
-
-
+DECLARE_DEVICE_TYPE(ABC_UNI800, abc_uni800_device)
-#endif
+#endif // MAME_BUS_ABCBUS_UNI800_H
diff --git a/src/devices/bus/abckb/abc77.cpp b/src/devices/bus/abckb/abc77.cpp
index 561085d0488..58236638d74 100644
--- a/src/devices/bus/abckb/abc77.cpp
+++ b/src/devices/bus/abckb/abc77.cpp
@@ -60,8 +60,8 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC77 = device_creator<abc77_device>;
-const device_type ABC55 = device_creator<abc55_device>;
+DEFINE_DEVICE_TYPE(ABC77, abc77_device, "abc77", "Luxor ABC 77")
+DEFINE_DEVICE_TYPE(ABC55, abc55_device, "abc55", "Luxor ABC 55")
//-------------------------------------------------
@@ -424,8 +424,8 @@ inline void abc77_device::key_down(int state)
// abc77_device - constructor
//-------------------------------------------------
-abc77_device::abc77_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+abc77_device::abc77_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
abc_keyboard_interface(mconfig, *this),
m_maincpu(*this, I8035_TAG),
m_watchdog(*this, "watchdog"),
@@ -440,10 +440,10 @@ abc77_device::abc77_device(const machine_config &mconfig, device_type type, cons
}
abc55_device::abc55_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- abc77_device(mconfig, ABC55, "Luxor ABC 55", tag, owner, clock, "abc55", __FILE__) { }
+ abc77_device(mconfig, ABC55, tag, owner, clock) { }
abc77_device::abc77_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- abc77_device(mconfig, ABC77, "Luxor ABC 77", tag, owner, clock, "abc77", __FILE__) { }
+ abc77_device(mconfig, ABC77, tag, owner, clock) { }
//-------------------------------------------------
diff --git a/src/devices/bus/abckb/abc77.h b/src/devices/bus/abckb/abc77.h
index 52114de522d..4d07bc1d2a4 100644
--- a/src/devices/bus/abckb/abc77.h
+++ b/src/devices/bus/abckb/abc77.h
@@ -26,12 +26,10 @@
// ======================> abc77_device
-class abc77_device : public device_t,
- public abc_keyboard_interface
+class abc77_device : public device_t, public abc_keyboard_interface
{
public:
// construction/destruction
- abc77_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
abc77_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -51,6 +49,8 @@ public:
DECLARE_WRITE8_MEMBER( j3_w );
protected:
+ abc77_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -99,8 +99,8 @@ public:
// device type definition
-extern const device_type ABC77;
-extern const device_type ABC55;
+DECLARE_DEVICE_TYPE(ABC77, abc77_device)
+DECLARE_DEVICE_TYPE(ABC55, abc55_device)
#endif // MAME_BUS_ABCKB_ABC77_H
diff --git a/src/devices/bus/abckb/abc800kb.cpp b/src/devices/bus/abckb/abc800kb.cpp
index 19962ff01f2..a158924ae9e 100644
--- a/src/devices/bus/abckb/abc800kb.cpp
+++ b/src/devices/bus/abckb/abc800kb.cpp
@@ -85,7 +85,7 @@ XR22-050-3B Pinout
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC800_KEYBOARD = device_creator<abc800_keyboard_device>;
+DEFINE_DEVICE_TYPE(ABC800_KEYBOARD, abc800_keyboard_device, "abc800kb", "ABC-800 Keyboard")
//-------------------------------------------------
@@ -325,7 +325,8 @@ inline void abc800_keyboard_device::key_down(int state)
// abc800_keyboard_device - constructor
//-------------------------------------------------
-abc800_keyboard_device::abc800_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, ABC800_KEYBOARD, "ABC-800 Keyboard", tag, owner, clock, "abc800kb", __FILE__),
+abc800_keyboard_device::abc800_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, ABC800_KEYBOARD, tag, owner, clock),
abc_keyboard_interface(mconfig, *this),
m_maincpu(*this, I8048_TAG),
m_x(*this, "X%u", 0),
diff --git a/src/devices/bus/abckb/abc800kb.h b/src/devices/bus/abckb/abc800kb.h
index d5dabb45ac5..e2bbd460cad 100644
--- a/src/devices/bus/abckb/abc800kb.h
+++ b/src/devices/bus/abckb/abc800kb.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCKB_ABC800KB_H
+#define MAME_BUS_ABCKB_ABC800KB_H
-#ifndef __ABC800_KEYBOARD__
-#define __ABC800_KEYBOARD__
+#pragma once
#include "cpu/mcs48/mcs48.h"
@@ -71,8 +71,6 @@ private:
// device type definition
-extern const device_type ABC800_KEYBOARD;
-
-
+DECLARE_DEVICE_TYPE(ABC800_KEYBOARD, abc800_keyboard_device)
-#endif
+#endif // MAME_BUS_ABCKB_ABC800KB_H
diff --git a/src/devices/bus/abckb/abc99.cpp b/src/devices/bus/abckb/abc99.cpp
index 0590046e6d0..51d78e85da7 100644
--- a/src/devices/bus/abckb/abc99.cpp
+++ b/src/devices/bus/abckb/abc99.cpp
@@ -71,7 +71,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ABC99 = device_creator<abc99_device>;
+DEFINE_DEVICE_TYPE(ABC99, abc99_device, "abc99", "Luxor ABC 99")
//-------------------------------------------------
@@ -479,7 +479,7 @@ inline void abc99_device::scan_mouse()
//-------------------------------------------------
abc99_device::abc99_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ABC99, "Luxor ABC 99", tag, owner, clock, "abc99", __FILE__),
+ device_t(mconfig, ABC99, tag, owner, clock),
abc_keyboard_interface(mconfig, *this), m_serial_timer(nullptr), m_mouse_timer(nullptr),
m_maincpu(*this, I8035_Z2_TAG),
m_mousecpu(*this, I8035_Z5_TAG),
diff --git a/src/devices/bus/abckb/abc99.h b/src/devices/bus/abckb/abc99.h
index ad421139e7d..b8ec975778c 100644
--- a/src/devices/bus/abckb/abc99.h
+++ b/src/devices/bus/abckb/abc99.h
@@ -107,7 +107,7 @@ private:
// device type definition
-extern const device_type ABC99;
+DECLARE_DEVICE_TYPE(ABC99, abc99_device)
#endif // MAME_BUS_ABCKB_ABC99_H
diff --git a/src/devices/bus/abckb/abckb.cpp b/src/devices/bus/abckb/abckb.cpp
index fd0478f54ef..3dfb80c04cc 100644
--- a/src/devices/bus/abckb/abckb.cpp
+++ b/src/devices/bus/abckb/abckb.cpp
@@ -16,7 +16,7 @@
//**************************************************************************
// device type definition
-const device_type ABC_KEYBOARD_PORT = device_creator<abc_keyboard_port_device>;
+DEFINE_DEVICE_TYPE(ABC_KEYBOARD_PORT, abc_keyboard_port_device, "abc_keyboard_port", "Luxor ABC keyboard port")
@@ -44,7 +44,7 @@ abc_keyboard_interface::abc_keyboard_interface(const machine_config &mconfig, de
//-------------------------------------------------
abc_keyboard_port_device::abc_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ABC_KEYBOARD_PORT, "Luxor ABC keyboard port", tag, owner, clock, "abc_keyboard_port", __FILE__),
+ device_t(mconfig, ABC_KEYBOARD_PORT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_out_rx_handler(*this),
m_out_trxc_handler(*this),
diff --git a/src/devices/bus/abckb/abckb.h b/src/devices/bus/abckb/abckb.h
index e342bf1422f..302c5ef39fd 100644
--- a/src/devices/bus/abckb/abckb.h
+++ b/src/devices/bus/abckb/abckb.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ABCKB_ABCKB_H
+#define MAME_BUS_ABCKB_ABCKB_H
-#ifndef __ABC_KEYBOARD_PORT__
-#define __ABC_KEYBOARD_PORT__
+#pragma once
@@ -39,16 +39,15 @@
class abc_keyboard_interface;
-class abc_keyboard_port_device : public device_t,
- public device_slot_interface
+class abc_keyboard_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
abc_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_out_rx_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_rx_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_out_trxc_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_trxc_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_out_keydown_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_keydown_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_out_rx_handler(device_t &device, Object &&cb) { return downcast<abc_keyboard_port_device &>(device).m_out_rx_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_trxc_handler(device_t &device, Object &&cb) { return downcast<abc_keyboard_port_device &>(device).m_out_trxc_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_keydown_handler(device_t &device, Object &&cb) { return downcast<abc_keyboard_port_device &>(device).m_out_keydown_handler.set_callback(std::forward<Object>(cb)); }
// computer interface
DECLARE_WRITE_LINE_MEMBER( txd_w );
@@ -74,23 +73,21 @@ protected:
class abc_keyboard_interface : public device_slot_card_interface
{
public:
+ virtual void txd_w(int state) { }
+
+protected:
// construction/destruction
abc_keyboard_interface(const machine_config &mconfig, device_t &device);
- virtual void txd_w(int state) { };
-
-protected:
abc_keyboard_port_device *m_slot;
};
// device type definition
-extern const device_type ABC_KEYBOARD_PORT;
+DECLARE_DEVICE_TYPE(ABC_KEYBOARD_PORT, abc_keyboard_port_device)
// supported devices
SLOT_INTERFACE_EXTERN( abc_keyboard_devices );
-
-
-#endif
+#endif // MAME_BUS_ABCKB_ABCKB_H
diff --git a/src/devices/bus/adam/adamlink.cpp b/src/devices/bus/adam/adamlink.cpp
index d4144d430e6..f4227273421 100644
--- a/src/devices/bus/adam/adamlink.cpp
+++ b/src/devices/bus/adam/adamlink.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ADAMLINK = device_creator<adamlink_device>;
+DEFINE_DEVICE_TYPE(ADAMLINK, adamlink_device, "adamlink", "AdamLink modem")
@@ -28,8 +28,8 @@ const device_type ADAMLINK = device_creator<adamlink_device>;
//-------------------------------------------------
adamlink_device::adamlink_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ADAMLINK, "AdamLink modem", tag, owner, clock, "adamlink", __FILE__),
- device_adam_expansion_slot_card_interface(mconfig, *this)
+ : device_t(mconfig, ADAMLINK, tag, owner, clock)
+ , device_adam_expansion_slot_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/adam/adamlink.h b/src/devices/bus/adam/adamlink.h
index 9897cd83dc1..42fd06490f9 100644
--- a/src/devices/bus/adam/adamlink.h
+++ b/src/devices/bus/adam/adamlink.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAM_ADAMLINK_H
+#define MAME_BUS_ADAM_ADAMLINK_H
-#ifndef __ADAMLINK__
-#define __ADAMLINK__
+#pragma once
#include "exp.h"
@@ -39,8 +39,6 @@ protected:
// device type definition
-extern const device_type ADAMLINK;
-
-
+DECLARE_DEVICE_TYPE(ADAMLINK, adamlink_device)
-#endif
+#endif // MAME_BUS_ADAM_ADAMLINK_H
diff --git a/src/devices/bus/adam/exp.cpp b/src/devices/bus/adam/exp.cpp
index a7ae7b5a11d..5c4b24481d7 100644
--- a/src/devices/bus/adam/exp.cpp
+++ b/src/devices/bus/adam/exp.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ADAM_EXPANSION_SLOT = device_creator<adam_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(ADAM_EXPANSION_SLOT, adam_expansion_slot_device, "adam_expansion_slot", "ADAM expansion slot")
@@ -53,7 +53,7 @@ device_adam_expansion_slot_card_interface::device_adam_expansion_slot_card_inter
//-------------------------------------------------
adam_expansion_slot_device::adam_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ADAM_EXPANSION_SLOT, "ADAM expansion slot", tag, owner, clock, "adam_expansion_slot", __FILE__),
+ device_t(mconfig, ADAM_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
device_image_interface(mconfig, *this),
m_write_irq(*this), m_card(nullptr)
diff --git a/src/devices/bus/adam/exp.h b/src/devices/bus/adam/exp.h
index f0c5ee2d19b..6a856faa826 100644
--- a/src/devices/bus/adam/exp.h
+++ b/src/devices/bus/adam/exp.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAM_EXP_H
+#define MAME_BUS_ADAM_EXP_H
-#ifndef __ADAM_EXPANSION_SLOT__
-#define __ADAM_EXPANSION_SLOT__
+#pragma once
#include "softlist_dev.h"
@@ -55,7 +55,7 @@ public:
adam_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~adam_expansion_slot_device() { }
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<adam_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<adam_expansion_slot_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
// computer interface
uint8_t bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2);
@@ -98,12 +98,10 @@ class device_adam_expansion_slot_card_interface : public device_slot_card_interf
{
friend class adam_expansion_slot_device;
-public:
+protected:
// construction/destruction
device_adam_expansion_slot_card_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_adam_expansion_slot_card_interface() { }
-protected:
// runtime
virtual uint8_t adam_bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) { return data; }
virtual void adam_bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) { }
@@ -115,13 +113,11 @@ protected:
// device type definition
-extern const device_type ADAM_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(ADAM_EXPANSION_SLOT, adam_expansion_slot_device)
SLOT_INTERFACE_EXTERN( adam_slot1_devices );
SLOT_INTERFACE_EXTERN( adam_slot2_devices );
SLOT_INTERFACE_EXTERN( adam_slot3_devices );
-
-
-#endif
+#endif // MAME_BUS_ADAM_EXP_H
diff --git a/src/devices/bus/adam/ide.cpp b/src/devices/bus/adam/ide.cpp
index b49777663c4..d34fd71e7bb 100644
--- a/src/devices/bus/adam/ide.cpp
+++ b/src/devices/bus/adam/ide.cpp
@@ -35,7 +35,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ADAM_IDE = device_creator<powermate_ide_device>;
+DEFINE_DEVICE_TYPE(ADAM_IDE, powermate_ide_device, "adam_ide", "Powermate HP IDE")
//-------------------------------------------------
@@ -90,7 +90,7 @@ machine_config_constructor powermate_ide_device::device_mconfig_additions() cons
//-------------------------------------------------
powermate_ide_device::powermate_ide_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ADAM_IDE, "Powermate HP IDE", tag, owner, clock, "adam_ide", __FILE__),
+ : device_t(mconfig, ADAM_IDE, tag, owner, clock),
device_adam_expansion_slot_card_interface(mconfig, *this),
m_ata(*this, ATA_TAG),
m_cent_data_out(*this, "cent_data_out"), m_ata_data(0)
diff --git a/src/devices/bus/adam/ide.h b/src/devices/bus/adam/ide.h
index 881129f6809..dd17f98ab03 100644
--- a/src/devices/bus/adam/ide.h
+++ b/src/devices/bus/adam/ide.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAM_IDE_H
+#define MAME_BUS_ADAM_IDE_H
-#ifndef __ADAM_IDE__
-#define __ADAM_IDE__
+#pragma once
#include "exp.h"
#include "machine/ataintf.h"
@@ -51,8 +51,6 @@ private:
// device type definition
-extern const device_type ADAM_IDE;
-
-
+DECLARE_DEVICE_TYPE(ADAM_IDE, powermate_ide_device)
-#endif
+#endif // MAME_BUS_ADAM_IDE_H
diff --git a/src/devices/bus/adam/ram.cpp b/src/devices/bus/adam/ram.cpp
index 5f627cd46fc..2a756000dc2 100644
--- a/src/devices/bus/adam/ram.cpp
+++ b/src/devices/bus/adam/ram.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ADAM_RAM = device_creator<adam_ram_expansion_device>;
+DEFINE_DEVICE_TYPE(ADAM_RAM, adam_ram_expansion_device, "adam_ram", "Adam 64KB RAM expansion")
@@ -28,7 +28,7 @@ const device_type ADAM_RAM = device_creator<adam_ram_expansion_device>;
//-------------------------------------------------
adam_ram_expansion_device::adam_ram_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ADAM_RAM, "Adam 64KB RAM expansion", tag, owner, clock, "adam_ram", __FILE__),
+ device_t(mconfig, ADAM_RAM, tag, owner, clock),
device_adam_expansion_slot_card_interface(mconfig, *this),
m_ram(*this, "ram")
{
diff --git a/src/devices/bus/adam/ram.h b/src/devices/bus/adam/ram.h
index 9dbcba75c03..80ec417f3cc 100644
--- a/src/devices/bus/adam/ram.h
+++ b/src/devices/bus/adam/ram.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAM_RAM_H
+#define MAME_BUS_ADAM_RAM_H
-#ifndef __ADAM_RAM__
-#define __ADAM_RAM__
+#pragma once
#include "exp.h"
@@ -42,8 +42,6 @@ private:
// device type definition
-extern const device_type ADAM_RAM;
-
-
+DECLARE_DEVICE_TYPE(ADAM_RAM, adam_ram_expansion_device)
-#endif
+#endif // MAME_BUS_ADAM_RAM_H
diff --git a/src/devices/bus/adamnet/adamnet.cpp b/src/devices/bus/adamnet/adamnet.cpp
index 17a38148196..832ea2309c4 100644
--- a/src/devices/bus/adamnet/adamnet.cpp
+++ b/src/devices/bus/adamnet/adamnet.cpp
@@ -15,8 +15,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ADAMNET = device_creator<adamnet_device>;
-const device_type ADAMNET_SLOT = device_creator<adamnet_slot_device>;
+DEFINE_DEVICE_TYPE(ADAMNET, adamnet_device, "adamnet", "ADAMnet bus")
+DEFINE_DEVICE_TYPE(ADAMNET_SLOT, adamnet_slot_device, "adamnet_slot", "ADAMnet slot")
@@ -53,7 +53,7 @@ device_adamnet_card_interface::~device_adamnet_card_interface()
// adamnet_slot_device - constructor
//-------------------------------------------------
adamnet_slot_device::adamnet_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ADAMNET_SLOT, "ADAMnet slot", tag, owner, clock, "adamnet_slot", __FILE__),
+ device_t(mconfig, ADAMNET_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this), m_bus(nullptr)
{
}
@@ -81,7 +81,7 @@ void adamnet_slot_device::device_start()
//-------------------------------------------------
adamnet_device::adamnet_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ADAMNET, "ADAMnet bus", tag, owner, clock, "adamnet", __FILE__),
+ device_t(mconfig, ADAMNET, tag, owner, clock),
m_txd(1),
m_reset(CLEAR_LINE)
{
diff --git a/src/devices/bus/adamnet/adamnet.h b/src/devices/bus/adamnet/adamnet.h
index 2fa5c724e22..76e42742f1c 100644
--- a/src/devices/bus/adamnet/adamnet.h
+++ b/src/devices/bus/adamnet/adamnet.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAMNET_ADAMNET_H
+#define MAME_BUS_ADAMNET_ADAMNET_H
-#ifndef __ADAMNET__
-#define __ADAMNET__
+#pragma once
@@ -107,24 +107,28 @@ protected:
class device_adamnet_card_interface : public device_slot_card_interface
{
+ friend class adamnet_device;
+
public:
// construction/destruction
- device_adamnet_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_adamnet_card_interface();
virtual void adamnet_reset_w(int state) = 0;
+protected:
+ device_adamnet_card_interface(const machine_config &mconfig, device_t &device);
+
adamnet_device *m_bus;
};
// device type definitions
-extern const device_type ADAMNET;
-extern const device_type ADAMNET_SLOT;
+DECLARE_DEVICE_TYPE(ADAMNET, adamnet_device)
+DECLARE_DEVICE_TYPE(ADAMNET_SLOT, adamnet_slot_device)
SLOT_INTERFACE_EXTERN( adamnet_devices );
-#endif
+#endif // MAME_BUS_ADAMNET_ADAMNET_H
diff --git a/src/devices/bus/adamnet/ddp.cpp b/src/devices/bus/adamnet/ddp.cpp
index 27bc97b3816..91b7127041d 100644
--- a/src/devices/bus/adamnet/ddp.cpp
+++ b/src/devices/bus/adamnet/ddp.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ADAM_DDP = device_creator<adam_digital_data_pack_device>;
+DEFINE_DEVICE_TYPE(ADAM_DDP, adam_digital_data_pack_device, "adam_ddp", "Adam Digital Data Pack")
//-------------------------------------------------
@@ -120,7 +120,7 @@ machine_config_constructor adam_digital_data_pack_device::device_mconfig_additio
//-------------------------------------------------
adam_digital_data_pack_device::adam_digital_data_pack_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ADAM_DDP, "Adam DDP", tag, owner, clock, "adam_ddp", __FILE__),
+ : device_t(mconfig, ADAM_DDP, tag, owner, clock),
device_adamnet_card_interface(mconfig, *this),
m_maincpu(*this, M6801_TAG),
m_ddp0(*this, "cassette"),
diff --git a/src/devices/bus/adamnet/ddp.h b/src/devices/bus/adamnet/ddp.h
index 72fd3a5929c..2ba54d7e006 100644
--- a/src/devices/bus/adamnet/ddp.h
+++ b/src/devices/bus/adamnet/ddp.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAMNET_DDP_H
+#define MAME_BUS_ADAMNET_DDP_H
-#ifndef __ADAM_DDP__
-#define __ADAM_DDP__
+#pragma once
#include "adamnet.h"
#include "cpu/m6800/m6800.h"
@@ -59,8 +59,6 @@ protected:
// device type definition
-extern const device_type ADAM_DDP;
-
-
+DECLARE_DEVICE_TYPE(ADAM_DDP, adam_digital_data_pack_device)
-#endif
+#endif // MAME_BUS_ADAMNET_DDP_H
diff --git a/src/devices/bus/adamnet/fdc.cpp b/src/devices/bus/adamnet/fdc.cpp
index c2cf39ec7f7..437492a814a 100644
--- a/src/devices/bus/adamnet/fdc.cpp
+++ b/src/devices/bus/adamnet/fdc.cpp
@@ -34,7 +34,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ADAM_FDC = device_creator<adam_fdc_device>;
+DEFINE_DEVICE_TYPE(ADAM_FDC, adam_fdc_device, "adam_fdc", "Adam FDC")
//-------------------------------------------------
@@ -81,16 +81,16 @@ static ADDRESS_MAP_START( adam_fdc_mem, AS_PROGRAM, 8, adam_fdc_device )
AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE(M6801_TAG, m6801_cpu_device, m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM AM_WRITEONLY AM_SHARE("ram")
- AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x3ff) AM_DEVREAD(WD2793_TAG, wd2793_t, status_r)
+ AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x3ff) AM_DEVREAD(WD2793_TAG, wd2793_device, status_r)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_READONLY AM_SHARE("ram")
- AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x3ff) AM_DEVWRITE(WD2793_TAG, wd2793_t, cmd_w)
- AM_RANGE(0x2800, 0x2800) AM_MIRROR(0x3ff) AM_DEVREAD(WD2793_TAG, wd2793_t, track_r)
- AM_RANGE(0x3800, 0x3800) AM_MIRROR(0x3ff) AM_DEVWRITE(WD2793_TAG, wd2793_t, track_w)
- AM_RANGE(0x4800, 0x4800) AM_MIRROR(0x3ff) AM_DEVREAD(WD2793_TAG, wd2793_t, sector_r)
- AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x3ff) AM_DEVWRITE(WD2793_TAG, wd2793_t, sector_w)
- AM_RANGE(0x6800, 0x6800) AM_MIRROR(0x3ff) AM_DEVREAD(WD2793_TAG, wd2793_t, data_r)
+ AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x3ff) AM_DEVWRITE(WD2793_TAG, wd2793_device, cmd_w)
+ AM_RANGE(0x2800, 0x2800) AM_MIRROR(0x3ff) AM_DEVREAD(WD2793_TAG, wd2793_device, track_r)
+ AM_RANGE(0x3800, 0x3800) AM_MIRROR(0x3ff) AM_DEVWRITE(WD2793_TAG, wd2793_device, track_w)
+ AM_RANGE(0x4800, 0x4800) AM_MIRROR(0x3ff) AM_DEVREAD(WD2793_TAG, wd2793_device, sector_r)
+ AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x3ff) AM_DEVWRITE(WD2793_TAG, wd2793_device, sector_w)
+ AM_RANGE(0x6800, 0x6800) AM_MIRROR(0x3ff) AM_DEVREAD(WD2793_TAG, wd2793_device, data_r)
AM_RANGE(0x6c00, 0x6fff) AM_READ(data_r)
- AM_RANGE(0x7800, 0x7800) AM_MIRROR(0x3ff) AM_DEVWRITE(WD2793_TAG, wd2793_t, data_w)
+ AM_RANGE(0x7800, 0x7800) AM_MIRROR(0x3ff) AM_DEVWRITE(WD2793_TAG, wd2793_device, data_w)
AM_RANGE(0x8000, 0x8fff) AM_MIRROR(0x7000) AM_ROM AM_REGION(M6801_TAG, 0)
ADDRESS_MAP_END
@@ -179,7 +179,7 @@ ioport_constructor adam_fdc_device::device_input_ports() const
//-------------------------------------------------
adam_fdc_device::adam_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ADAM_FDC, "Adam FDC", tag, owner, clock, "adam_fdc", __FILE__),
+ : device_t(mconfig, ADAM_FDC, tag, owner, clock),
device_adamnet_card_interface(mconfig, *this),
m_maincpu(*this, M6801_TAG),
m_fdc(*this, WD2793_TAG),
diff --git a/src/devices/bus/adamnet/fdc.h b/src/devices/bus/adamnet/fdc.h
index 48f17b29bb3..b966d938e33 100644
--- a/src/devices/bus/adamnet/fdc.h
+++ b/src/devices/bus/adamnet/fdc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAMNET_FDC_H
+#define MAME_BUS_ADAMNET_FDC_H
-#ifndef __ADAM_FDC__
-#define __ADAM_FDC__
+#pragma once
#include "adamnet.h"
#include "cpu/m6800/m6800.h"
@@ -53,7 +53,7 @@ protected:
virtual void adamnet_reset_w(int state) override;
required_device<cpu_device> m_maincpu;
- required_device<wd2793_t> m_fdc;
+ required_device<wd2793_device> m_fdc;
required_device<floppy_image_device> m_floppy0;
floppy_image_device *m_floppy;
required_shared_ptr<uint8_t> m_ram;
@@ -62,7 +62,7 @@ protected:
// device type definition
-extern const device_type ADAM_FDC;
+DECLARE_DEVICE_TYPE(ADAM_FDC, adam_fdc_device)
-#endif
+#endif // MAME_BUS_ADAMNET_FDC_H
diff --git a/src/devices/bus/adamnet/kb.cpp b/src/devices/bus/adamnet/kb.cpp
index 2f52e88a700..5bdf877e634 100644
--- a/src/devices/bus/adamnet/kb.cpp
+++ b/src/devices/bus/adamnet/kb.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ADAM_KB = device_creator<adam_keyboard_device>;
+DEFINE_DEVICE_TYPE(ADAM_KB, adam_keyboard_device, "adam_kb", "Adam keyboard")
//-------------------------------------------------
@@ -224,7 +224,7 @@ ioport_constructor adam_keyboard_device::device_input_ports() const
//-------------------------------------------------
adam_keyboard_device::adam_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ADAM_KB, "Adam keyboard", tag, owner, clock, "adam_kb", __FILE__),
+ device_t(mconfig, ADAM_KB, tag, owner, clock),
device_adamnet_card_interface(mconfig, *this),
m_maincpu(*this, M6801_TAG),
m_y(*this, "Y%u", 0),
diff --git a/src/devices/bus/adamnet/kb.h b/src/devices/bus/adamnet/kb.h
index bec487fe260..e438ec17b68 100644
--- a/src/devices/bus/adamnet/kb.h
+++ b/src/devices/bus/adamnet/kb.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAMNET_KB_H
+#define MAME_BUS_ADAMNET_KB_H
-#ifndef __ADAM_KB__
-#define __ADAM_KB__
+#pragma once
#include "adamnet.h"
#include "cpu/m6800/m6800.h"
@@ -58,8 +58,8 @@ protected:
// device type definition
-extern const device_type ADAM_KB;
+DECLARE_DEVICE_TYPE(ADAM_KB, adam_keyboard_device)
-#endif
+#endif // MAME_BUS_ADAMNET_KB_H
diff --git a/src/devices/bus/adamnet/printer.cpp b/src/devices/bus/adamnet/printer.cpp
index 6c2a609c1e5..d09f4f1d845 100644
--- a/src/devices/bus/adamnet/printer.cpp
+++ b/src/devices/bus/adamnet/printer.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ADAM_PRN = device_creator<adam_printer_device>;
+DEFINE_DEVICE_TYPE(ADAM_PRN, adam_printer_device, "adam_prn", "Adam printer")
//-------------------------------------------------
@@ -102,7 +102,7 @@ machine_config_constructor adam_printer_device::device_mconfig_additions() const
//-------------------------------------------------
adam_printer_device::adam_printer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ADAM_PRN, "Adam printer", tag, owner, clock, "adam_prn", __FILE__),
+ : device_t(mconfig, ADAM_PRN, tag, owner, clock),
device_adamnet_card_interface(mconfig, *this),
m_maincpu(*this, M6801_TAG)
{
diff --git a/src/devices/bus/adamnet/printer.h b/src/devices/bus/adamnet/printer.h
index 7c320b5840a..543cbfdded6 100644
--- a/src/devices/bus/adamnet/printer.h
+++ b/src/devices/bus/adamnet/printer.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAMNET_PRINTER_H
+#define MAME_BUS_ADAMNET_PRINTER_H
-#ifndef __ADAM_PRN__
-#define __ADAM_PRN__
+#pragma once
#include "adamnet.h"
#include "cpu/m6800/m6800.h"
@@ -53,8 +53,6 @@ protected:
// device type definition
-extern const device_type ADAM_PRN;
-
-
+DECLARE_DEVICE_TYPE(ADAM_PRN, adam_printer_device)
-#endif
+#endif // MAME_BUS_ADAMNET_PRINTER_H
diff --git a/src/devices/bus/adamnet/spi.cpp b/src/devices/bus/adamnet/spi.cpp
index 1fe2fbaf6cf..ca50e6def20 100644
--- a/src/devices/bus/adamnet/spi.cpp
+++ b/src/devices/bus/adamnet/spi.cpp
@@ -26,7 +26,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ADAM_SPI = device_creator<adam_spi_device>;
+DEFINE_DEVICE_TYPE(ADAM_SPI, adam_spi_device, "adam_spi", "Adam SPI")
//-------------------------------------------------
@@ -111,7 +111,7 @@ machine_config_constructor adam_spi_device::device_mconfig_additions() const
//-------------------------------------------------
adam_spi_device::adam_spi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ADAM_SPI, "Adam SPI", tag, owner, clock, "adam_spi", __FILE__),
+ : device_t(mconfig, ADAM_SPI, tag, owner, clock),
device_adamnet_card_interface(mconfig, *this),
m_maincpu(*this, M6801_TAG)
{
diff --git a/src/devices/bus/adamnet/spi.h b/src/devices/bus/adamnet/spi.h
index fad035fb686..01e86d5c67f 100644
--- a/src/devices/bus/adamnet/spi.h
+++ b/src/devices/bus/adamnet/spi.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ADAMNET_SPI_H
+#define MAME_BUS_ADAMNET_SPI_H
-#ifndef __ADAM_SPI__
-#define __ADAM_SPI__
+#pragma once
#include "adamnet.h"
#include "bus/centronics/ctronics.h"
@@ -52,8 +52,6 @@ protected:
// device type definition
-extern const device_type ADAM_SPI;
-
-
+DECLARE_DEVICE_TYPE(ADAM_SPI, adam_spi_device)
-#endif
+#endif // MAME_BUS_ADAMNET_SPI_H
diff --git a/src/devices/bus/amiga/keyboard/a1200.cpp b/src/devices/bus/amiga/keyboard/a1200.cpp
index 3b0278c62cf..e845d8ff582 100644
--- a/src/devices/bus/amiga/keyboard/a1200.cpp
+++ b/src/devices/bus/amiga/keyboard/a1200.cpp
@@ -23,7 +23,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-device_type const A1200_KBD = device_creator<bus::amiga::keyboard::a1200_kbd_device>;
+DEFINE_DEVICE_TYPE_NS(A1200_KBD, bus::amiga::keyboard, a1200_kbd_device, "a1200kbd_rb", "Amiga 1200 Keyboard Rev B")
@@ -74,7 +74,7 @@ ROM_END
//**************************************************************************
a1200_kbd_device::a1200_kbd_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, A1200_KBD, "Amiga 1200 Keyboard Rev B", tag, owner, clock, "a1200kbd_rb", __FILE__)
+ : device_t(mconfig, A1200_KBD, tag, owner, clock)
, device_amiga_keyboard_interface(mconfig, *this)
, m_rows(*this, "ROW%u", 0)
, m_mpu(*this, "mpu")
diff --git a/src/devices/bus/amiga/keyboard/a1200.h b/src/devices/bus/amiga/keyboard/a1200.h
index f29689b18e3..3927657174d 100644
--- a/src/devices/bus/amiga/keyboard/a1200.h
+++ b/src/devices/bus/amiga/keyboard/a1200.h
@@ -1,26 +1,19 @@
// license:BSD-3-Clause
-// copyright-holders: Vas Crabb
+// copyright-holders:Vas Crabb
/***************************************************************************
Amiga 1200 Keyboard
***************************************************************************/
-#ifndef DEVICES_BUS_AMIGA_KEYBOARD_A1200_H
-#define DEVICES_BUS_AMIGA_KEYBOARD_A1200_H
+#ifndef MAME_BUS_AMIGA_KEYBOARD_A1200_H
+#define MAME_BUS_AMIGA_KEYBOARD_A1200_H
#pragma once
#include "keyboard.h"
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-extern device_type const A1200_KBD;
-
-
namespace bus { namespace amiga { namespace keyboard {
//**************************************************************************
@@ -63,4 +56,11 @@ private:
} } } // namespace bus::amiga::keyboard
-#endif // DEVICES_BUS_AMIGA_KEYBOARD_A1200_H
+
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+DECLARE_DEVICE_TYPE_NS(A1200_KBD, bus::amiga::keyboard, a1200_kbd_device)
+
+#endif // MAME_BUS_AMIGA_KEYBOARD_A1200_H
diff --git a/src/devices/bus/amiga/keyboard/a500.cpp b/src/devices/bus/amiga/keyboard/a500.cpp
index b1cd982a780..f00f0970b24 100644
--- a/src/devices/bus/amiga/keyboard/a500.cpp
+++ b/src/devices/bus/amiga/keyboard/a500.cpp
@@ -20,16 +20,16 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type A500_KBD_US = device_creator<bus::amiga::keyboard::a500_kbd_us_device>;
-const device_type A500_KBD_DE = device_creator<bus::amiga::keyboard::a500_kbd_de_device>;
-const device_type A500_KBD_FR = device_creator<bus::amiga::keyboard::a500_kbd_fr_device>;
-const device_type A500_KBD_IT = device_creator<bus::amiga::keyboard::a500_kbd_it_device>;
-const device_type A500_KBD_SE = device_creator<bus::amiga::keyboard::a500_kbd_se_device>;
-const device_type A500_KBD_ES = device_creator<bus::amiga::keyboard::a500_kbd_es_device>;
-const device_type A500_KBD_DK = device_creator<bus::amiga::keyboard::a500_kbd_dk_device>;
-const device_type A500_KBD_CH = device_creator<bus::amiga::keyboard::a500_kbd_ch_device>;
-const device_type A500_KBD_NO = device_creator<bus::amiga::keyboard::a500_kbd_no_device>;
-const device_type A500_KBD_GB = device_creator<bus::amiga::keyboard::a500_kbd_gb_device>;
+DEFINE_DEVICE_TYPE_NS(A500_KBD_US, bus::amiga::keyboard, a500_kbd_us_device, "a500_kbd_us", "Amiga 500 Keyboard (U.S./Canada)")
+DEFINE_DEVICE_TYPE_NS(A500_KBD_DE, bus::amiga::keyboard, a500_kbd_de_device, "a500_kbd_de", "Amiga 500 Keyboard (Germany/Austria)")
+DEFINE_DEVICE_TYPE_NS(A500_KBD_FR, bus::amiga::keyboard, a500_kbd_fr_device, "a500_kbd_fr", "Amiga 500 Keyboard (France/Belgium)")
+DEFINE_DEVICE_TYPE_NS(A500_KBD_IT, bus::amiga::keyboard, a500_kbd_it_device, "a500_kbd_it", "Amiga 500 Keyboard (Italy)")
+DEFINE_DEVICE_TYPE_NS(A500_KBD_SE, bus::amiga::keyboard, a500_kbd_se_device, "a500_kbd_se", "Amiga 500 Keyboard (Sweden)")
+DEFINE_DEVICE_TYPE_NS(A500_KBD_ES, bus::amiga::keyboard, a500_kbd_es_device, "a500_kbd_es", "Amiga 500 Keyboard (Spain)")
+DEFINE_DEVICE_TYPE_NS(A500_KBD_DK, bus::amiga::keyboard, a500_kbd_dk_device, "a500_kbd_dk", "Amiga 500 Keyboard (Denmark)")
+DEFINE_DEVICE_TYPE_NS(A500_KBD_CH, bus::amiga::keyboard, a500_kbd_ch_device, "a500_kbd_ch", "Amiga 500 Keyboard (Switzerland)")
+DEFINE_DEVICE_TYPE_NS(A500_KBD_NO, bus::amiga::keyboard, a500_kbd_no_device, "a500_kbd_no", "Amiga 500 Keyboard (Norway)")
+DEFINE_DEVICE_TYPE_NS(A500_KBD_GB, bus::amiga::keyboard, a500_kbd_gb_device, "a500_kbd_gb", "Amiga 500 Keyboard (UK)")
namespace bus { namespace amiga { namespace keyboard {
@@ -172,11 +172,8 @@ a500_kbd_device::a500_kbd_device(
const char *tag,
device_t *owner,
uint32_t clock,
- device_type type,
- const char *name,
- const char *shortname,
- const char *file) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, file),
+ device_type type) :
+ device_t(mconfig, type, tag, owner, clock),
device_amiga_keyboard_interface(mconfig, *this),
m_mpu(*this, "ic1"),
m_special(*this, "special"),
@@ -197,52 +194,52 @@ a500_kbd_device::a500_kbd_device(
a500_kbd_us_device::a500_kbd_us_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_US, "Amiga 500 Keyboard (U.S./Canada)", "a500_kbd_us", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_US)
{
}
a500_kbd_de_device::a500_kbd_de_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_DE, "Amiga 500 Keyboard (Germany/Austria)", "a500_kbd_de", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_DE)
{
}
a500_kbd_fr_device::a500_kbd_fr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_FR, "Amiga 500 Keyboard (France/Belgium)", "a500_kbd_fr", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_FR)
{
}
a500_kbd_it_device::a500_kbd_it_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_IT, "Amiga 500 Keyboard (Italy)", "a500_kbd_it", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_IT)
{
}
a500_kbd_se_device::a500_kbd_se_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_SE, "Amiga 500 Keyboard (Sweden/Finland)", "a500_kbd_se", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_SE)
{
}
a500_kbd_es_device::a500_kbd_es_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_ES, "Amiga 500 Keyboard (Spain)", "a500_kbd_es", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_ES)
{
}
a500_kbd_dk_device::a500_kbd_dk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_DK, "Amiga 500 Keyboard (Denmark)", "a500_kbd_dk", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_DK)
{
}
a500_kbd_ch_device::a500_kbd_ch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_CH, "Amiga 500 Keyboard (Switzerland)", "a500_kbd_ch", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_CH)
{
}
a500_kbd_no_device::a500_kbd_no_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_NO, "Amiga 500 Keyboard (Norway)", "a500_kbd_no", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_NO)
{
}
a500_kbd_gb_device::a500_kbd_gb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_GB, "Amiga 500 Keyboard (UK)", "a500_kbd_gb", __FILE__)
+ a500_kbd_device(mconfig, tag, owner, clock, A500_KBD_GB)
{
}
diff --git a/src/devices/bus/amiga/keyboard/a500.h b/src/devices/bus/amiga/keyboard/a500.h
index 6716622a1e9..3d1a0fb47c9 100644
--- a/src/devices/bus/amiga/keyboard/a500.h
+++ b/src/devices/bus/amiga/keyboard/a500.h
@@ -27,8 +27,8 @@
***************************************************************************/
-#ifndef DEVICES_BUS_AMIGA_KEYBOARD_A500_H
-#define DEVICES_BUS_AMIGA_KEYBOARD_A500_H
+#ifndef MAME_BUS_AMIGA_KEYBOARD_A500_H
+#define MAME_BUS_AMIGA_KEYBOARD_A500_H
#pragma once
@@ -36,19 +36,6 @@
#include "cpu/m6502/m6502.h"
-// device type definition
-extern const device_type A500_KBD_US;
-extern const device_type A500_KBD_DE;
-extern const device_type A500_KBD_FR;
-extern const device_type A500_KBD_IT;
-extern const device_type A500_KBD_SE;
-extern const device_type A500_KBD_ES;
-extern const device_type A500_KBD_DK;
-extern const device_type A500_KBD_CH;
-extern const device_type A500_KBD_NO;
-extern const device_type A500_KBD_GB;
-
-
namespace bus { namespace amiga { namespace keyboard {
//**************************************************************************
@@ -85,10 +72,7 @@ protected:
const char *tag,
device_t *owner,
uint32_t clock,
- device_type type,
- const char *name,
- const char *shortname,
- const char *file);
+ device_type type);
// device-level overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -250,4 +234,17 @@ protected:
} } } // namespace bus::amiga::keyboard
-#endif // DEVICES_BUS_AMIGA_KEYBOARD_A500_H
+
+// device type definition
+DECLARE_DEVICE_TYPE_NS(A500_KBD_US, bus::amiga::keyboard, a500_kbd_us_device)
+DECLARE_DEVICE_TYPE_NS(A500_KBD_DE, bus::amiga::keyboard, a500_kbd_de_device)
+DECLARE_DEVICE_TYPE_NS(A500_KBD_FR, bus::amiga::keyboard, a500_kbd_fr_device)
+DECLARE_DEVICE_TYPE_NS(A500_KBD_IT, bus::amiga::keyboard, a500_kbd_it_device)
+DECLARE_DEVICE_TYPE_NS(A500_KBD_SE, bus::amiga::keyboard, a500_kbd_se_device)
+DECLARE_DEVICE_TYPE_NS(A500_KBD_ES, bus::amiga::keyboard, a500_kbd_es_device)
+DECLARE_DEVICE_TYPE_NS(A500_KBD_DK, bus::amiga::keyboard, a500_kbd_dk_device)
+DECLARE_DEVICE_TYPE_NS(A500_KBD_CH, bus::amiga::keyboard, a500_kbd_ch_device)
+DECLARE_DEVICE_TYPE_NS(A500_KBD_NO, bus::amiga::keyboard, a500_kbd_no_device)
+DECLARE_DEVICE_TYPE_NS(A500_KBD_GB, bus::amiga::keyboard, a500_kbd_gb_device)
+
+#endif // MAME_BUS_AMIGA_KEYBOARD_A500_H
diff --git a/src/devices/bus/amiga/keyboard/keyboard.cpp b/src/devices/bus/amiga/keyboard/keyboard.cpp
index 169fbb05448..8d617350296 100644
--- a/src/devices/bus/amiga/keyboard/keyboard.cpp
+++ b/src/devices/bus/amiga/keyboard/keyboard.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type AMIGA_KEYBOARD_INTERFACE = device_creator<amiga_keyboard_bus_device>;
+DEFINE_DEVICE_TYPE(AMIGA_KEYBOARD_INTERFACE, amiga_keyboard_bus_device, "amiga_kbd", "Amiga Keyboard Interface")
//**************************************************************************
@@ -28,7 +28,7 @@ const device_type AMIGA_KEYBOARD_INTERFACE = device_creator<amiga_keyboard_bus_d
//-------------------------------------------------
amiga_keyboard_bus_device::amiga_keyboard_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, AMIGA_KEYBOARD_INTERFACE, "Amiga Keyboard Interface", tag, owner, clock, "amiga_kbd", __FILE__),
+ device_t(mconfig, AMIGA_KEYBOARD_INTERFACE, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_kbd(nullptr),
m_kclk_handler(*this), m_kdat_handler(*this), m_krst_handler(*this)
diff --git a/src/devices/bus/amiga/keyboard/keyboard.h b/src/devices/bus/amiga/keyboard/keyboard.h
index 39625228c3f..4066ebd9d53 100644
--- a/src/devices/bus/amiga/keyboard/keyboard.h
+++ b/src/devices/bus/amiga/keyboard/keyboard.h
@@ -12,10 +12,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_AMIGA_KEYBOARD_H
+#define MAME_BUS_AMIGA_KEYBOARD_H
-#ifndef DEVICES_BUS_AMIGA_KEYBOARD_H
-#define DEVICES_BUS_AMIGA_KEYBOARD_H
+#pragma once
@@ -53,14 +53,14 @@ public:
virtual ~amiga_keyboard_bus_device();
// callbacks
- template<class _Object> static devcb_base &set_kclk_handler(device_t &device, _Object object)
- { return downcast<amiga_keyboard_bus_device &>(device).m_kclk_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_kclk_handler(device_t &device, Object &&cb)
+ { return downcast<amiga_keyboard_bus_device &>(device).m_kclk_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_kdat_handler(device_t &device, _Object object)
- { return downcast<amiga_keyboard_bus_device &>(device).m_kdat_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_kdat_handler(device_t &device, Object &&cb)
+ { return downcast<amiga_keyboard_bus_device &>(device).m_kdat_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_krst_handler(device_t &device, _Object object)
- { return downcast<amiga_keyboard_bus_device &>(device).m_krst_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_krst_handler(device_t &device, Object &&cb)
+ { return downcast<amiga_keyboard_bus_device &>(device).m_krst_handler.set_callback(std::forward<Object>(cb)); }
// called from keyboard
DECLARE_WRITE_LINE_MEMBER(kclk_w) { m_kclk_handler(state); }
@@ -89,19 +89,20 @@ class device_amiga_keyboard_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_amiga_keyboard_interface(const machine_config &mconfig, device_t &device);
virtual ~device_amiga_keyboard_interface();
virtual DECLARE_WRITE_LINE_MEMBER(kdat_w) = 0;
protected:
+ device_amiga_keyboard_interface(const machine_config &mconfig, device_t &device);
+
amiga_keyboard_bus_device *m_host;
};
// device type definition
-extern const device_type AMIGA_KEYBOARD_INTERFACE;
+DECLARE_DEVICE_TYPE(AMIGA_KEYBOARD_INTERFACE, amiga_keyboard_bus_device)
// supported devices
SLOT_INTERFACE_EXTERN( amiga_keyboard_devices );
-#endif // DEVICES_BUS_AMIGA_KEYBOARD_H
+#endif // MAME_BUS_AMIGA_KEYBOARD_H
diff --git a/src/devices/bus/amiga/keyboard/matrix.h b/src/devices/bus/amiga/keyboard/matrix.h
index aafc2942ce4..9bfa801f9c8 100644
--- a/src/devices/bus/amiga/keyboard/matrix.h
+++ b/src/devices/bus/amiga/keyboard/matrix.h
@@ -6,8 +6,8 @@
***************************************************************************/
-#ifndef DEVICES_BUS_AMIGA_KEYBOARD_MATRIX_H
-#define DEVICES_BUS_AMIGA_KEYBOARD_MATRIX_H
+#ifndef MAME_BUS_AMIGA_KEYBOARD_MATRIX_H
+#define MAME_BUS_AMIGA_KEYBOARD_MATRIX_H
#pragma once
@@ -26,4 +26,4 @@ INPUT_PORTS_EXTERN(matrix_gb);
} } } // namespace bus::amiga::keyboard
-#endif // DEVICES_BUS_AMIGA_KEYBOARD_MATRIX_H
+#endif // MAME_BUS_AMIGA_KEYBOARD_MATRIX_H
diff --git a/src/devices/bus/amiga/zorro/a2052.cpp b/src/devices/bus/amiga/zorro/a2052.cpp
index d0f777b333b..f2cef15b32e 100644
--- a/src/devices/bus/amiga/zorro/a2052.cpp
+++ b/src/devices/bus/amiga/zorro/a2052.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type A2052 = device_creator<a2052_device>;
+DEFINE_DEVICE_TYPE(A2052, a2052_device, "a2052", "CBM A2052 Fast Memory")
//-------------------------------------------------
// input_ports - device-specific input ports
@@ -52,7 +52,7 @@ ioport_constructor a2052_device::device_input_ports() const
//-------------------------------------------------
a2052_device::a2052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2052, "CBM A2052 Fast Memory", tag, owner, clock, "a2052", __FILE__),
+ device_t(mconfig, A2052, tag, owner, clock),
device_zorro2_card_interface(mconfig, *this),
m_config(*this, "config")
{
diff --git a/src/devices/bus/amiga/zorro/a2052.h b/src/devices/bus/amiga/zorro/a2052.h
index 2928420996a..255b459767d 100644
--- a/src/devices/bus/amiga/zorro/a2052.h
+++ b/src/devices/bus/amiga/zorro/a2052.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_AMIGA_ZORRO_A2052_H
+#define MAME_BUS_AMIGA_ZORRO_A2052_H
-#ifndef __A2052_H__
-#define __A2052_H__
+#pragma once
#include "zorro.h"
#include "machine/autoconfig.h"
@@ -45,6 +45,6 @@ private:
};
// device type definition
-extern const device_type A2052;
+DECLARE_DEVICE_TYPE(A2052, a2052_device)
-#endif
+#endif // MAME_BUS_AMIGA_ZORRO_A2052_H
diff --git a/src/devices/bus/amiga/zorro/a2232.cpp b/src/devices/bus/amiga/zorro/a2232.cpp
index 19a8140f609..39521ee8cdc 100644
--- a/src/devices/bus/amiga/zorro/a2232.cpp
+++ b/src/devices/bus/amiga/zorro/a2232.cpp
@@ -24,7 +24,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type A2232 = device_creator<a2232_device>;
+DEFINE_DEVICE_TYPE(A2232, a2232_device, "a2232", "CBM A2232 Serial Card")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -153,7 +153,7 @@ machine_config_constructor a2232_device::device_mconfig_additions() const
//-------------------------------------------------
a2232_device::a2232_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2232, "CBM A2232 Serial Card", tag, owner, clock, "a2232", __FILE__),
+ device_t(mconfig, A2232, tag, owner, clock),
device_zorro2_card_interface(mconfig, *this),
m_iocpu(*this, "iocpu"),
m_acia_0(*this, "acia_0"),
diff --git a/src/devices/bus/amiga/zorro/a2232.h b/src/devices/bus/amiga/zorro/a2232.h
index 2c1eb8c46ee..ca08ad3b152 100644
--- a/src/devices/bus/amiga/zorro/a2232.h
+++ b/src/devices/bus/amiga/zorro/a2232.h
@@ -10,10 +10,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_AMIGA_ZORRO_A2232_H
+#define MAME_BUS_AMIGA_ZORRO_A2232_H
-#ifndef __A2232_H__
-#define __A2232_H__
+#pragma once
#include "zorro.h"
#include "machine/autoconfig.h"
@@ -145,6 +145,6 @@ private:
};
// device type definition
-extern const device_type A2232;
+DECLARE_DEVICE_TYPE(A2232, a2232_device)
-#endif // __A2232_H__
+#endif // MAME_BUS_AMIGA_ZORRO_A2232_H
diff --git a/src/devices/bus/amiga/zorro/a590.cpp b/src/devices/bus/amiga/zorro/a590.cpp
index 09c9a3cf73d..dae30858cd5 100644
--- a/src/devices/bus/amiga/zorro/a590.cpp
+++ b/src/devices/bus/amiga/zorro/a590.cpp
@@ -18,8 +18,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type A590 = device_creator<a590_device>;
-const device_type A2091 = device_creator<a2091_device>;
+DEFINE_DEVICE_TYPE(A590, a590_device, "a590", "CBM A590 HD Controller")
+DEFINE_DEVICE_TYPE(A2091, a2091_device, "a2091", "CBM A2091 HD Controller")
//-------------------------------------------------
// input_ports - device-specific input ports
@@ -192,9 +192,8 @@ const tiny_rom_entry *dmac_hdc_device::device_rom_region() const
// dmac_hdc_device - constructor
//-------------------------------------------------
-dmac_hdc_device::dmac_hdc_device(const machine_config &mconfig, device_type type, const char *tag,
- device_t *owner, uint32_t clock, const char *name, const char *shortname) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
+dmac_hdc_device::dmac_hdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
m_int6(false),
m_dmac(*this, "dmac"),
m_wdc(*this, "wd33c93")
@@ -202,7 +201,7 @@ dmac_hdc_device::dmac_hdc_device(const machine_config &mconfig, device_type type
}
a590_device::a590_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dmac_hdc_device(mconfig, A590, tag, owner, clock, "CBM A590 HD Controller", "a590"),
+ dmac_hdc_device(mconfig, A590, tag, owner, clock),
device_exp_card_interface(mconfig, *this),
m_dips(*this, "dips"),
m_jp1(*this, "jp1"),
@@ -212,7 +211,7 @@ a590_device::a590_device(const machine_config &mconfig, const char *tag, device_
}
a2091_device::a2091_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dmac_hdc_device(mconfig, A2091, tag, owner, clock, "CBM A2091 HD Controller", "a2091"),
+ dmac_hdc_device(mconfig, A2091, tag, owner, clock),
device_zorro2_card_interface(mconfig, *this),
m_jp1(*this, "jp1"),
m_jp2(*this, "jp2"),
diff --git a/src/devices/bus/amiga/zorro/a590.h b/src/devices/bus/amiga/zorro/a590.h
index 0e71423b8b7..7fe27c33d60 100644
--- a/src/devices/bus/amiga/zorro/a590.h
+++ b/src/devices/bus/amiga/zorro/a590.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_AMIGA_ZORRO_A590_H
+#define MAME_BUS_AMIGA_ZORRO_A590_H
-#ifndef __A590_H__
-#define __A590_H__
+#pragma once
#include "zorro.h"
#include "machine/dmac.h"
@@ -27,10 +27,6 @@
class dmac_hdc_device : public device_t
{
public:
- // construction/destruction
- dmac_hdc_device(const machine_config &mconfig, device_type type, const char *tag,
- device_t *owner, uint32_t clock, const char *name, const char *shortname);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -42,6 +38,9 @@ public:
DECLARE_WRITE_LINE_MEMBER( scsi_irq_w );
protected:
+ // construction/destruction
+ dmac_hdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -58,7 +57,7 @@ protected:
bool m_int6;
// sub-devices
- required_device<dmac_device> m_dmac;
+ required_device<amiga_dmac_device> m_dmac;
required_device<wd33c93_device> m_wdc;
std::vector<uint8_t> m_ram;
@@ -127,7 +126,7 @@ private:
};
// device type definition
-extern const device_type A590;
-extern const device_type A2091;
+DECLARE_DEVICE_TYPE(A590, a590_device)
+DECLARE_DEVICE_TYPE(A2091, a2091_device)
-#endif
+#endif // MAME_BUS_AMIGA_ZORRO_A590_H
diff --git a/src/devices/bus/amiga/zorro/action_replay.cpp b/src/devices/bus/amiga/zorro/action_replay.cpp
index e60dad68fdf..5f8641bb9bb 100644
--- a/src/devices/bus/amiga/zorro/action_replay.cpp
+++ b/src/devices/bus/amiga/zorro/action_replay.cpp
@@ -22,9 +22,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ACTION_REPLAY_MK1 = device_creator<action_replay_mk1_device>;
-const device_type ACTION_REPLAY_MK2 = device_creator<action_replay_mk2_device>;
-const device_type ACTION_REPLAY_MK3 = device_creator<action_replay_mk3_device>;
+DEFINE_DEVICE_TYPE(ACTION_REPLAY_MK1, action_replay_mk1_device, "amiga_ar1", "Datel Action Replay MK-I")
+DEFINE_DEVICE_TYPE(ACTION_REPLAY_MK2, action_replay_mk2_device, "amiga_ar2", "Datel Action Replay MK-II")
+DEFINE_DEVICE_TYPE(ACTION_REPLAY_MK3, action_replay_mk3_device, "amiga_ar3", "Datel Action Replay MK-III")
//-------------------------------------------------
// input_ports - device-specific input ports
@@ -98,26 +98,25 @@ const tiny_rom_entry *action_replay_mk3_device::device_rom_region() const
// action_replay_device - constructor
//-------------------------------------------------
-action_replay_device::action_replay_device(const machine_config &mconfig, device_type type, const char *tag,
- device_t *owner, uint32_t clock, const char *name, const char *shortname) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
+action_replay_device::action_replay_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_exp_card_interface(mconfig, *this),
m_button(*this, "freeze")
{
}
action_replay_mk1_device::action_replay_mk1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- action_replay_device(mconfig, ACTION_REPLAY_MK1, tag, owner, clock, "Datel Action Replay MK-I", "amiga_ar1")
+ action_replay_device(mconfig, ACTION_REPLAY_MK1, tag, owner, clock)
{
}
action_replay_mk2_device::action_replay_mk2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- action_replay_device(mconfig, ACTION_REPLAY_MK2, tag, owner, clock, "Datel Action Replay MK-II", "amiga_ar2")
+ action_replay_device(mconfig, ACTION_REPLAY_MK2, tag, owner, clock)
{
}
action_replay_mk3_device::action_replay_mk3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- action_replay_device(mconfig, ACTION_REPLAY_MK3, tag, owner, clock, "Datel Action Replay MK-III", "amiga_ar3")
+ action_replay_device(mconfig, ACTION_REPLAY_MK3, tag, owner, clock)
{
}
diff --git a/src/devices/bus/amiga/zorro/action_replay.h b/src/devices/bus/amiga/zorro/action_replay.h
index 9931cdadaad..5dd1e347049 100644
--- a/src/devices/bus/amiga/zorro/action_replay.h
+++ b/src/devices/bus/amiga/zorro/action_replay.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_AMIGA_ZORRO_ACTION_REPLAY_H
+#define MAME_BUS_AMIGA_ZORRO_ACTION_REPLAY_H
-#ifndef __ACTION_REPLAY_H__
-#define __ACTION_REPLAY_H__
+#pragma once
#include "zorro.h"
@@ -25,16 +25,15 @@
class action_replay_device : public device_t, public device_exp_card_interface
{
public:
- // construction/destruction
- action_replay_device(const machine_config &mconfig, device_type type, const char *tag,
- device_t *owner, uint32_t clock, const char *name, const char *shortname);
-
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
DECLARE_INPUT_CHANGED_MEMBER( freeze );
protected:
+ // construction/destruction
+ action_replay_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -74,8 +73,8 @@ public:
};
// device type definition
-extern const device_type ACTION_REPLAY_MK1;
-extern const device_type ACTION_REPLAY_MK2;
-extern const device_type ACTION_REPLAY_MK3;
+DECLARE_DEVICE_TYPE(ACTION_REPLAY_MK1, action_replay_mk1_device)
+DECLARE_DEVICE_TYPE(ACTION_REPLAY_MK2, action_replay_mk2_device)
+DECLARE_DEVICE_TYPE(ACTION_REPLAY_MK3, action_replay_mk3_device)
-#endif
+#endif // MAME_BUS_AMIGA_ZORRO_ACTION_REPLAY_H
diff --git a/src/devices/bus/amiga/zorro/buddha.cpp b/src/devices/bus/amiga/zorro/buddha.cpp
index cc363a00d5d..46dfdb6bade 100644
--- a/src/devices/bus/amiga/zorro/buddha.cpp
+++ b/src/devices/bus/amiga/zorro/buddha.cpp
@@ -36,7 +36,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BUDDHA = device_creator<buddha_device>;
+DEFINE_DEVICE_TYPE(BUDDHA, buddha_device, "buddha", "Buddha IDE controller")
//-------------------------------------------------
// mmio_map - device-specific memory mapped I/O
@@ -98,7 +98,7 @@ const tiny_rom_entry *buddha_device::device_rom_region() const
//-------------------------------------------------
buddha_device::buddha_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BUDDHA, "Buddha IDE controller", tag, owner, clock, "buddha", __FILE__),
+ device_t(mconfig, BUDDHA, tag, owner, clock),
device_zorro2_card_interface(mconfig, *this),
m_ata_0(*this, "ata_0"),
m_ata_1(*this, "ata_1"),
diff --git a/src/devices/bus/amiga/zorro/buddha.h b/src/devices/bus/amiga/zorro/buddha.h
index fd7fb794eaa..cc01864b885 100644
--- a/src/devices/bus/amiga/zorro/buddha.h
+++ b/src/devices/bus/amiga/zorro/buddha.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_AMIGA_ZORRO_BUDDHA_H
+#define MAME_BUS_AMIGA_ZORRO_BUDDHA_H
-#ifndef __BUDDHA_H__
-#define __BUDDHA_H__
+#pragma once
#include "zorro.h"
#include "machine/autoconfig.h"
@@ -78,6 +78,6 @@ private:
};
// device type definition
-extern const device_type BUDDHA;
+DECLARE_DEVICE_TYPE(BUDDHA, buddha_device)
-#endif
+#endif // MAME_BUS_AMIGA_ZORRO_BUDDHA_H
diff --git a/src/devices/bus/amiga/zorro/cards.cpp b/src/devices/bus/amiga/zorro/cards.cpp
index 4647afa9d0a..572ee491d93 100644
--- a/src/devices/bus/amiga/zorro/cards.cpp
+++ b/src/devices/bus/amiga/zorro/cards.cpp
@@ -9,6 +9,13 @@
#include "emu.h"
#include "cards.h"
+#include "a2052.h"
+#include "a2232.h"
+#include "a590.h"
+#include "action_replay.h"
+#include "buddha.h"
+
+
SLOT_INTERFACE_START( a1000_expansion_cards )
SLOT_INTERFACE_END
diff --git a/src/devices/bus/amiga/zorro/cards.h b/src/devices/bus/amiga/zorro/cards.h
index 5f025ab08fd..3d1e00935ca 100644
--- a/src/devices/bus/amiga/zorro/cards.h
+++ b/src/devices/bus/amiga/zorro/cards.h
@@ -21,17 +21,11 @@
***************************************************************************/
-#pragma once
-
-#ifndef __CARDS_H__
-#define __CARDS_H__
+#ifndef MAME_BUS_AMIGA_ZORRO_CARDS_H
+#define MAME_BUS_AMIGA_ZORRO_CARDS_H
+#pragma once
-#include "a2052.h"
-#include "a2232.h"
-#include "a590.h"
-#include "action_replay.h"
-#include "buddha.h"
SLOT_INTERFACE_EXTERN( a1000_expansion_cards );
SLOT_INTERFACE_EXTERN( a500_expansion_cards );
@@ -40,4 +34,4 @@ SLOT_INTERFACE_EXTERN( a2000_expansion_cards );
SLOT_INTERFACE_EXTERN( zorro2_cards );
SLOT_INTERFACE_EXTERN( zorro3_cards );
-#endif // __CARDS_H__
+#endif // MAME_BUS_AMIGA_ZORRO_CARDS_H
diff --git a/src/devices/bus/amiga/zorro/zorro.cpp b/src/devices/bus/amiga/zorro/zorro.cpp
index 180f6091157..0e29f13893f 100644
--- a/src/devices/bus/amiga/zorro/zorro.cpp
+++ b/src/devices/bus/amiga/zorro/zorro.cpp
@@ -16,22 +16,19 @@
// ZORRO SLOT DEVICE
//**************************************************************************
-const device_type ZORRO_SLOT = device_creator<zorro_slot_device>;
+DEFINE_DEVICE_TYPE(ZORRO_SLOT, zorro_slot_device, "zorro_slot", "Zorro slot")
//-------------------------------------------------
// zorro_slot_device - constructor
//-------------------------------------------------
zorro_slot_device::zorro_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ZORRO_SLOT, "Zorro slot", tag, owner, clock, "zorro_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_zorro_tag(nullptr)
+ zorro_slot_device(mconfig, ZORRO_SLOT, tag, owner, clock)
{
}
-zorro_slot_device::zorro_slot_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+zorro_slot_device::zorro_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_zorro_tag(nullptr)
{
@@ -68,9 +65,8 @@ void zorro_slot_device::device_start()
// exp_slot_device - constructor
//-------------------------------------------------
-zorro_device::zorro_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+zorro_device::zorro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
m_space(nullptr),
m_cputag(nullptr),
m_ovr_handler(*this),
@@ -115,22 +111,21 @@ WRITE_LINE_MEMBER( zorro_device::int6_w ) { m_int6_handler(state); }
// EXPANSION SLOT DEVICE
//**************************************************************************
-const device_type EXP_SLOT = device_creator<exp_slot_device>;
+DEFINE_DEVICE_TYPE(EXP_SLOT, exp_slot_device, "exp_slot", "86-pin expansion slot")
//-------------------------------------------------
// exp_slot_device - constructor
//-------------------------------------------------
exp_slot_device::exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- zorro_device(mconfig, EXP_SLOT, "86-pin expansion slot", tag, owner, clock, "exp_slot", __FILE__),
+ zorro_device(mconfig, EXP_SLOT, tag, owner, clock),
m_ipl_handler(*this),
m_dev(nullptr)
{
}
-exp_slot_device::exp_slot_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- zorro_device(mconfig, type, name, tag, owner, clock, shortname, source),
+exp_slot_device::exp_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ zorro_device(mconfig, type, tag, owner, clock),
m_ipl_handler(*this),
m_dev(nullptr)
{
@@ -181,25 +176,19 @@ void exp_slot_device::fc_w(int code) { if (m_dev) m_dev->fc_w(code); }
// ZORRO2 DEVICE
//**************************************************************************
-const device_type ZORRO2 = device_creator<zorro2_device>;
+DEFINE_DEVICE_TYPE(ZORRO2, zorro2_device, "zorro2", "Zorro-II bus")
//-------------------------------------------------
// zorro2_device - constructor
//-------------------------------------------------
zorro2_device::zorro2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- zorro_device(mconfig, ZORRO2, "Zorro-II bus", tag, owner, clock, "zorro2", __FILE__),
- m_eint1_handler(*this),
- m_eint4_handler(*this),
- m_eint5_handler(*this),
- m_eint7_handler(*this),
- m_autoconfig_device(nullptr)
+ zorro2_device(mconfig, ZORRO2, tag, owner, clock)
{
}
-zorro2_device::zorro2_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- zorro_device(mconfig, type, name, tag, owner, clock, shortname, source),
+zorro2_device::zorro2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ zorro_device(mconfig, type, tag, owner, clock),
m_eint1_handler(*this),
m_eint4_handler(*this),
m_eint5_handler(*this),
diff --git a/src/devices/bus/amiga/zorro/zorro.h b/src/devices/bus/amiga/zorro/zorro.h
index 482608d7949..3429f668ff9 100644
--- a/src/devices/bus/amiga/zorro/zorro.h
+++ b/src/devices/bus/amiga/zorro/zorro.h
@@ -138,10 +138,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_AMIGA_ZORRO_ZORRO_H
+#define MAME_BUS_AMIGA_ZORRO_ZORRO_H
-#ifndef __ZORRO_H__
-#define __ZORRO_H__
+#pragma once
//**************************************************************************
@@ -230,8 +230,6 @@ class zorro_slot_device : public device_t, public device_slot_interface
public:
// construction/destruction
zorro_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- zorro_slot_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// device-level overrides
virtual void device_start() override;
@@ -240,31 +238,29 @@ public:
static void set_zorro_slot(device_t &device, device_t *owner, const char *zorro_tag);
protected:
+ zorro_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// configuration
const char *m_zorro_tag;
};
// device type definition
-extern const device_type ZORRO_SLOT;
+DECLARE_DEVICE_TYPE(ZORRO_SLOT, zorro_slot_device)
// ======================> base zorro bus device
class zorro_device : public device_t
{
public:
- // construction/destruction
- zorro_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// static configuration helpers
static void set_cputag(device_t &device, const char *tag);
- template<class _Object> static devcb_base &set_int2_handler(device_t &device, _Object object)
- { return downcast<zorro_device &>(device).m_int2_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_int6_handler(device_t &device, _Object object)
- { return downcast<zorro_device &>(device).m_int6_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_ovr_handler(device_t &device, _Object object)
- { return downcast<zorro_device &>(device).m_ovr_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_int2_handler(device_t &device, Object &&cb)
+ { return downcast<zorro_device &>(device).m_int2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_int6_handler(device_t &device, Object &&cb)
+ { return downcast<zorro_device &>(device).m_int6_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_ovr_handler(device_t &device, Object &&cb)
+ { return downcast<zorro_device &>(device).m_ovr_handler.set_callback(std::forward<Object>(cb)); }
virtual void add_card(device_zorro_card_interface *card) = 0;
@@ -282,6 +278,9 @@ public:
address_space *m_space;
protected:
+ // construction/destruction
+ zorro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
@@ -300,11 +299,9 @@ class exp_slot_device : public zorro_device
public:
// construction/destruction
exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- exp_slot_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- template<class _Object> static devcb_base &set_ipl_handler(device_t &device, _Object object)
- { return downcast<exp_slot_device &>(device).m_ipl_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_ipl_handler(device_t &device, Object &&cb)
+ { return downcast<exp_slot_device &>(device).m_ipl_handler.set_callback(std::forward<Object>(cb)); }
// the expansion slot can only have a single card
virtual void add_card(device_zorro_card_interface *card) override;
@@ -316,6 +313,8 @@ public:
virtual void fc_w(int code) override;
protected:
+ exp_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -327,7 +326,7 @@ private:
};
// device type definition
-extern const device_type EXP_SLOT;
+DECLARE_DEVICE_TYPE(EXP_SLOT, exp_slot_device)
// ======================> zorro2 slot device
@@ -336,18 +335,16 @@ class zorro2_device : public zorro_device
public:
// construction/destruction
zorro2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- zorro2_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
~zorro2_device();
- template<class _Object> static devcb_base &set_eint1_handler(device_t &device, _Object object)
- { return downcast<zorro2_device &>(device).m_eint1_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_eint4_handler(device_t &device, _Object object)
- { return downcast<zorro2_device &>(device).m_eint4_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_eint5_handler(device_t &device, _Object object)
- { return downcast<zorro2_device &>(device).m_eint5_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_eint7_handler(device_t &device, _Object object)
- { return downcast<zorro2_device &>(device).m_eint7_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_eint1_handler(device_t &device, Object &&cb)
+ { return downcast<zorro2_device &>(device).m_eint1_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_eint4_handler(device_t &device, Object &&cb)
+ { return downcast<zorro2_device &>(device).m_eint4_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_eint5_handler(device_t &device, Object &&cb)
+ { return downcast<zorro2_device &>(device).m_eint5_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_eint7_handler(device_t &device, Object &&cb)
+ { return downcast<zorro2_device &>(device).m_eint7_handler.set_callback(std::forward<Object>(cb)); }
// the zorro2 bus supports multiple cards
virtual void add_card(device_zorro_card_interface *card) override;
@@ -364,6 +361,8 @@ public:
virtual void fc_w(int code) override;
protected:
+ zorro2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -381,7 +380,7 @@ private:
};
// device type definition
-extern const device_type ZORRO2;
+DECLARE_DEVICE_TYPE(ZORRO2, zorro2_device)
// ======================> base zorro card interface
@@ -390,7 +389,6 @@ class device_zorro_card_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_zorro_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_zorro_card_interface();
virtual void set_zorro_device() = 0;
@@ -405,6 +403,8 @@ public:
virtual DECLARE_WRITE_LINE_MEMBER( cfgin_w );
protected:
+ device_zorro_card_interface(const machine_config &mconfig, device_t &device);
+
zorro_device *m_zorro;
};
@@ -414,12 +414,13 @@ class device_exp_card_interface : public device_zorro_card_interface
{
public:
// construction/destruction
- device_exp_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_exp_card_interface();
virtual void set_zorro_device() override;
protected:
+ device_exp_card_interface(const machine_config &mconfig, device_t &device);
+
exp_slot_device *m_slot;
};
@@ -429,7 +430,6 @@ class device_zorro2_card_interface : public device_zorro_card_interface
{
public:
// construction/destruction
- device_zorro2_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_zorro2_card_interface();
virtual void set_zorro_device() override;
@@ -438,6 +438,8 @@ public:
device_zorro2_card_interface *m_next;
protected:
+ device_zorro2_card_interface(const machine_config &mconfig, device_t &device);
+
zorro2_device *m_slot;
};
@@ -447,4 +449,4 @@ protected:
#include "cards.h"
-#endif // __ZORRO_H__
+#endif // MAME_BUS_AMIGA_ZORRO_ZORRO_H
diff --git a/src/devices/bus/apf/rom.cpp b/src/devices/bus/apf/rom.cpp
index 616d4d42146..113e5bf5259 100644
--- a/src/devices/bus/apf/rom.cpp
+++ b/src/devices/bus/apf/rom.cpp
@@ -17,30 +17,28 @@
// apf_rom_device - constructor
//-------------------------------------------------
-const device_type APF_ROM_STD = device_creator<apf_rom_device>;
-const device_type APF_ROM_BASIC = device_creator<apf_basic_device>;
-const device_type APF_ROM_SPACEDST = device_creator<apf_spacedst_device>;
+DEFINE_DEVICE_TYPE(APF_ROM_STD, apf_rom_device, "apf_rom", "APF Standard Carts")
+DEFINE_DEVICE_TYPE(APF_ROM_BASIC, apf_basic_device, "apf_basic", "APF BASIC Carts")
+DEFINE_DEVICE_TYPE(APF_ROM_SPACEDST, apf_spacedst_device, "apf_spacedst", "APF Space Destroyer Cart")
-apf_rom_device::apf_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_apf_cart_interface( mconfig, *this )
+apf_rom_device::apf_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_apf_cart_interface(mconfig, *this)
{
}
apf_rom_device::apf_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, APF_ROM_STD, "APF Standard Carts", tag, owner, clock, "apf_rom", __FILE__),
- device_apf_cart_interface( mconfig, *this )
+ : apf_rom_device(mconfig, APF_ROM_STD, tag, owner, clock)
{
}
apf_basic_device::apf_basic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : apf_rom_device(mconfig, APF_ROM_BASIC, "APF BASIC Carts", tag, owner, clock, "apf_basic", __FILE__)
+ : apf_rom_device(mconfig, APF_ROM_BASIC, tag, owner, clock)
{
}
apf_spacedst_device::apf_spacedst_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : apf_rom_device(mconfig, APF_ROM_SPACEDST, "APF Space Destroyer Cart", tag, owner, clock, "apf_spacedst", __FILE__)
+ : apf_rom_device(mconfig, APF_ROM_SPACEDST, tag, owner, clock)
{
}
diff --git a/src/devices/bus/apf/rom.h b/src/devices/bus/apf/rom.h
index 68b9c3bdbd3..89d82f51a99 100644
--- a/src/devices/bus/apf/rom.h
+++ b/src/devices/bus/apf/rom.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __APF_ROM_H
-#define __APF_ROM_H
+#ifndef MAME_BUS_APF_ROM_H
+#define MAME_BUS_APF_ROM_H
#include "slot.h"
@@ -13,15 +13,17 @@ class apf_rom_device : public device_t,
{
public:
// construction/destruction
- apf_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
apf_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
- virtual void device_reset() override {}
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+protected:
+ apf_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
};
// ======================> apf_basic_device
@@ -51,12 +53,9 @@ public:
-
-
// device type definition
-extern const device_type APF_ROM_STD;
-extern const device_type APF_ROM_BASIC;
-extern const device_type APF_ROM_SPACEDST;
-
+DECLARE_DEVICE_TYPE(APF_ROM_STD, apf_rom_device)
+DECLARE_DEVICE_TYPE(APF_ROM_BASIC, apf_basic_device)
+DECLARE_DEVICE_TYPE(APF_ROM_SPACEDST, apf_spacedst_device)
-#endif
+#endif // MAME_BUS_APF_ROM_H
diff --git a/src/devices/bus/apf/slot.cpp b/src/devices/bus/apf/slot.cpp
index b4048f70969..871c43e4655 100644
--- a/src/devices/bus/apf/slot.cpp
+++ b/src/devices/bus/apf/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type APF_CART_SLOT = device_creator<apf_cart_slot_device>;
+DEFINE_DEVICE_TYPE(APF_CART_SLOT, apf_cart_slot_device, "apf_cart_slot", "APF Cartridge Slot")
//**************************************************************************
// APF Cartridges Interface
@@ -73,10 +73,10 @@ void device_apf_cart_interface::ram_alloc(uint32_t size)
// apf_cart_slot_device - constructor
//-------------------------------------------------
apf_cart_slot_device::apf_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, APF_CART_SLOT, "APF Cartridge Slot", tag, owner, clock, "apf_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(APF_STD), m_cart(nullptr)
+ device_t(mconfig, APF_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(APF_STD), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/apf/slot.h b/src/devices/bus/apf/slot.h
index 501006cc0f8..92ebbe4ad43 100644
--- a/src/devices/bus/apf/slot.h
+++ b/src/devices/bus/apf/slot.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __APF_SLOT_H
-#define __APF_SLOT_H
+#ifndef MAME_BUS_APF_SLOT_H
+#define MAME_BUS_APF_SLOT_H
#include "softlist_dev.h"
@@ -101,7 +101,7 @@ protected:
// device type definition
-extern const device_type APF_CART_SLOT;
+DECLARE_DEVICE_TYPE(APF_CART_SLOT, apf_cart_slot_device)
/***************************************************************************
@@ -113,4 +113,5 @@ extern const device_type APF_CART_SLOT;
#define MCFG_APF_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, APF_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+#endif // MAME_BUS_APF_SLOT_H
diff --git a/src/devices/bus/apricot/expansion/cards.cpp b/src/devices/bus/apricot/expansion/cards.cpp
index 16804f896d8..eb5b71948c0 100644
--- a/src/devices/bus/apricot/expansion/cards.cpp
+++ b/src/devices/bus/apricot/expansion/cards.cpp
@@ -8,6 +8,7 @@
#include "emu.h"
#include "cards.h"
+#include "ram.h"
SLOT_INTERFACE_START( apricot_expansion_cards )
SLOT_INTERFACE("128k", APRICOT_128K_RAM)
diff --git a/src/devices/bus/apricot/expansion/cards.h b/src/devices/bus/apricot/expansion/cards.h
index 4d9b73b0b86..36767f81e44 100644
--- a/src/devices/bus/apricot/expansion/cards.h
+++ b/src/devices/bus/apricot/expansion/cards.h
@@ -6,13 +6,11 @@
***************************************************************************/
-#pragma once
-
-#ifndef __APRICOT_CARDS_H__
-#define __APRICOT_CARDS_H__
+#ifndef MAME_BUS_APRICOT_EXPANSION_CARDS_H
+#define MAME_BUS_APRICOT_EXPANSION_CARDS_H
-#include "ram.h"
+#pragma once
SLOT_INTERFACE_EXTERN( apricot_expansion_cards );
-#endif // __APRICOT_CARDS_H__
+#endif // MAME_BUS_APRICOT_EXPANSION_CARDS_H
diff --git a/src/devices/bus/apricot/expansion/expansion.cpp b/src/devices/bus/apricot/expansion/expansion.cpp
index 8f99831b482..b5717d320a5 100644
--- a/src/devices/bus/apricot/expansion/expansion.cpp
+++ b/src/devices/bus/apricot/expansion/expansion.cpp
@@ -14,21 +14,19 @@
// EXPANSION SLOT DEVICE
//**************************************************************************
-const device_type APRICOT_EXPANSION_SLOT = device_creator<apricot_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(APRICOT_EXPANSION_SLOT, apricot_expansion_slot_device, "apricot_exp_slot", "Apricot Expansion Slot")
//-------------------------------------------------
// apricot_expansion_slot_device - constructor
//-------------------------------------------------
apricot_expansion_slot_device::apricot_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, APRICOT_EXPANSION_SLOT, "Apricot Expansion Slot", tag, owner, clock, "apricot_exp_slot", __FILE__),
- device_slot_interface(mconfig, *this)
+ apricot_expansion_slot_device(mconfig, APRICOT_EXPANSION_SLOT, tag, owner, clock)
{
}
-apricot_expansion_slot_device::apricot_expansion_slot_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+apricot_expansion_slot_device::apricot_expansion_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_slot_interface(mconfig, *this)
{
}
@@ -53,14 +51,14 @@ void apricot_expansion_slot_device::device_start()
// EXPANSION BUS DEVICE
//**************************************************************************
-const device_type APRICOT_EXPANSION_BUS = device_creator<apricot_expansion_bus_device>;
+DEFINE_DEVICE_TYPE(APRICOT_EXPANSION_BUS, apricot_expansion_bus_device, "apricot_exp_bus", "Apricot Expansion Bus")
//-------------------------------------------------
// apricot_expansion_bus_device - constructor
//-------------------------------------------------
apricot_expansion_bus_device::apricot_expansion_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, APRICOT_EXPANSION_BUS, "Apricot Expansion Bus", tag, owner, clock, "apricot_exp_bus", __FILE__),
+ device_t(mconfig, APRICOT_EXPANSION_BUS, tag, owner, clock),
m_program(nullptr),
m_io(nullptr),
m_program_iop(nullptr),
@@ -174,8 +172,8 @@ void apricot_expansion_bus_device::install_ram(offs_t addrstart, offs_t addrend,
device_apricot_expansion_card_interface::device_apricot_expansion_card_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device),
- m_next(nullptr),
- m_bus(nullptr)
+ m_bus(nullptr),
+ m_next(nullptr)
{
}
diff --git a/src/devices/bus/apricot/expansion/expansion.h b/src/devices/bus/apricot/expansion/expansion.h
index e87bcf355d4..8ea2a850bc3 100644
--- a/src/devices/bus/apricot/expansion/expansion.h
+++ b/src/devices/bus/apricot/expansion/expansion.h
@@ -41,10 +41,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_APRICOT_EXPANSION_EXPANSION_H
+#define MAME_BUS_APRICOT_EXPANSION_EXPANSION_H
-#ifndef __APRICOT_EXPANSION_H__
-#define __APRICOT_EXPANSION_H__
+#pragma once
@@ -97,8 +97,9 @@ class apricot_expansion_slot_device : public device_t, public device_slot_interf
public:
// construction/destruction
apricot_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- apricot_expansion_slot_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+
+protected:
+ apricot_expansion_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
@@ -117,23 +118,23 @@ public:
apricot_expansion_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~apricot_expansion_bus_device();
- template<class _Object> static devcb_base &set_dma1_handler(device_t &device, _Object object)
- { return downcast<apricot_expansion_bus_device &>(device).m_dma1_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_dma1_handler(device_t &device, Object &&cb)
+ { return downcast<apricot_expansion_bus_device &>(device).m_dma1_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_dma2_handler(device_t &device, _Object object)
- { return downcast<apricot_expansion_bus_device &>(device).m_dma2_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_dma2_handler(device_t &device, Object &&cb)
+ { return downcast<apricot_expansion_bus_device &>(device).m_dma2_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_ext1_handler(device_t &device, _Object object)
- { return downcast<apricot_expansion_bus_device &>(device).m_ext1_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_ext1_handler(device_t &device, Object &&cb)
+ { return downcast<apricot_expansion_bus_device &>(device).m_ext1_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_ext2_handler(device_t &device, _Object object)
- { return downcast<apricot_expansion_bus_device &>(device).m_ext2_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_ext2_handler(device_t &device, Object &&cb)
+ { return downcast<apricot_expansion_bus_device &>(device).m_ext2_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_int2_handler(device_t &device, _Object object)
- { return downcast<apricot_expansion_bus_device &>(device).m_int2_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_int2_handler(device_t &device, Object &&cb)
+ { return downcast<apricot_expansion_bus_device &>(device).m_int2_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_int3_handler(device_t &device, _Object object)
- { return downcast<apricot_expansion_bus_device &>(device).m_int3_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_int3_handler(device_t &device, Object &&cb)
+ { return downcast<apricot_expansion_bus_device &>(device).m_int3_handler.set_callback(std::forward<Object>(cb)); }
// inline configuration
static void set_cpu_tag(device_t &device, device_t *owner, const char *tag);
@@ -178,25 +179,29 @@ private:
};
// device type definition
-extern const device_type APRICOT_EXPANSION_BUS;
+DECLARE_DEVICE_TYPE(APRICOT_EXPANSION_BUS, apricot_expansion_bus_device)
// ======================> device_apricot_expansion_card_interface
class device_apricot_expansion_card_interface : public device_slot_card_interface
{
+ template <class ElementType> friend class simple_list;
+
public:
// construction/destruction
- device_apricot_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_apricot_expansion_card_interface();
void set_bus_device(apricot_expansion_bus_device *bus);
device_apricot_expansion_card_interface *next() const { return m_next; }
- device_apricot_expansion_card_interface *m_next;
protected:
+ device_apricot_expansion_card_interface(const machine_config &mconfig, device_t &device);
+
apricot_expansion_bus_device *m_bus;
+
+ device_apricot_expansion_card_interface *m_next;
};
@@ -204,4 +209,4 @@ protected:
#include "cards.h"
-#endif // __APRICOT_EXPANSION_H__
+#endif // MAME_BUS_APRICOT_EXPANSION_EXPANSION_H
diff --git a/src/devices/bus/apricot/expansion/ram.cpp b/src/devices/bus/apricot/expansion/ram.cpp
index 46a5bee1543..ba9b146522d 100644
--- a/src/devices/bus/apricot/expansion/ram.cpp
+++ b/src/devices/bus/apricot/expansion/ram.cpp
@@ -14,9 +14,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type APRICOT_256K_RAM = device_creator<apricot_256k_ram_device>;
-const device_type APRICOT_128K_RAM = device_creator<apricot_128k_ram_device>;
-const device_type APRICOT_512K_RAM = device_creator<apricot_512k_ram_device>;
+DEFINE_DEVICE_TYPE(APRICOT_256K_RAM, apricot_256k_ram_device, "apricot_256k_ram", "Apricot 256K RAM Expansion Board")
+DEFINE_DEVICE_TYPE(APRICOT_128K_RAM, apricot_128k_ram_device, "apricot_128k_ram", "Apricot 128K/512K RAM Expansion Board (128K)")
+DEFINE_DEVICE_TYPE(APRICOT_512K_RAM, apricot_512k_ram_device, "apricot_512k_ram", "Apricot 128K/512K RAM Expansion Board (512K)")
//**************************************************************************
@@ -44,7 +44,7 @@ ioport_constructor apricot_256k_ram_device::device_input_ports() const
//-------------------------------------------------
apricot_256k_ram_device::apricot_256k_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, APRICOT_256K_RAM, "Apricot 256K RAM Expansion Board", tag, owner, clock, "apricot_256k_ram", __FILE__),
+ device_t(mconfig, APRICOT_256K_RAM, tag, owner, clock),
device_apricot_expansion_card_interface(mconfig, *this),
m_sw(*this, "sw")
{
@@ -98,7 +98,7 @@ ioport_constructor apricot_128k_ram_device::device_input_ports() const
//-------------------------------------------------
apricot_128k_ram_device::apricot_128k_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, APRICOT_128K_RAM, "Apricot 128/512K RAM Expansion Board (128K)", tag, owner, clock, "apricot_128k_ram", __FILE__),
+ device_t(mconfig, APRICOT_128K_RAM, tag, owner, clock),
device_apricot_expansion_card_interface(mconfig, *this),
m_strap(*this, "strap")
{
@@ -152,7 +152,7 @@ ioport_constructor apricot_512k_ram_device::device_input_ports() const
//-------------------------------------------------
apricot_512k_ram_device::apricot_512k_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, APRICOT_512K_RAM, "Apricot 128/512K RAM Expansion Board (512K)", tag, owner, clock, "apricot_512k_ram", __FILE__),
+ device_t(mconfig, APRICOT_512K_RAM, tag, owner, clock),
device_apricot_expansion_card_interface(mconfig, *this),
m_strap(*this, "strap")
{
diff --git a/src/devices/bus/apricot/expansion/ram.h b/src/devices/bus/apricot/expansion/ram.h
index e9e837b660c..d6692b49ba7 100644
--- a/src/devices/bus/apricot/expansion/ram.h
+++ b/src/devices/bus/apricot/expansion/ram.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_APRICOT_RAM_H
+#define MAME_BUS_APRICOT_RAM_H
-#ifndef __APRICOT_RAM__
-#define __APRICOT_RAM__
+#pragma once
#include "expansion.h"
@@ -80,9 +80,9 @@ private:
// device type definition
-extern const device_type APRICOT_256K_RAM;
-extern const device_type APRICOT_128K_RAM;
-extern const device_type APRICOT_512K_RAM;
+DECLARE_DEVICE_TYPE(APRICOT_256K_RAM, apricot_256k_ram_device)
+DECLARE_DEVICE_TYPE(APRICOT_128K_RAM, apricot_128k_ram_device)
+DECLARE_DEVICE_TYPE(APRICOT_512K_RAM, apricot_512k_ram_device)
-#endif // __APRICOT_RAM__
+#endif // MAME_BUS_APRICOT_RAM_H
diff --git a/src/devices/bus/apricot/keyboard/hle.cpp b/src/devices/bus/apricot/keyboard/hle.cpp
index 7fef733b134..be7454c0da3 100644
--- a/src/devices/bus/apricot/keyboard/hle.cpp
+++ b/src/devices/bus/apricot/keyboard/hle.cpp
@@ -58,7 +58,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type APRICOT_KEYBOARD_HLE = device_creator<apricot_keyboard_hle_device>;
+DEFINE_DEVICE_TYPE(APRICOT_KEYBOARD_HLE, apricot_keyboard_hle_device, "apricotkb_hle", "Apricot Keyboard (HLE)")
//-------------------------------------------------
@@ -214,7 +214,7 @@ machine_config_constructor apricot_keyboard_hle_device::device_mconfig_additions
//-------------------------------------------------
apricot_keyboard_hle_device::apricot_keyboard_hle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, APRICOT_KEYBOARD_HLE, "Apricot Keyboard (HLE)", tag, owner, clock, "apricotkb_hle", __FILE__),
+ device_t(mconfig, APRICOT_KEYBOARD_HLE, tag, owner, clock),
device_apricot_keyboard_interface(mconfig, *this),
device_buffered_serial_interface(mconfig, *this),
device_matrix_keyboard_interface(mconfig, *this, "row_0", "row_1", "row_2", "row_3", "row_4", "row_5", "row_6", "row_7", "row_8", "row_9", "row_a", "row_b", "row_c"),
diff --git a/src/devices/bus/apricot/keyboard/hle.h b/src/devices/bus/apricot/keyboard/hle.h
index 9096c434f65..176a3bfcc22 100644
--- a/src/devices/bus/apricot/keyboard/hle.h
+++ b/src/devices/bus/apricot/keyboard/hle.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_APRICOT_KEYBOARD_HLE_H
+#define MAME_BUS_APRICOT_KEYBOARD_HLE_H
-#ifndef __APRICOT_KEYBOARD_HLE_H__
-#define __APRICOT_KEYBOARD_HLE_H__
+#pragma once
#include "keyboard.h"
#include "machine/keyboard.h"
@@ -52,8 +52,6 @@ protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
private:
- required_device<msm5832_device> m_rtc;
-
enum {
CMD_REQ_TIME_AND_DATE = 0xe1,
CMD_SET_TIME_AND_DATE = 0xe4,
@@ -64,12 +62,14 @@ private:
ACK_DIAGNOSTICS = 0xfb
};
+ required_device<msm5832_device> m_rtc;
+
int m_rtc_index;
};
// device type definition
-extern const device_type APRICOT_KEYBOARD_HLE;
+DECLARE_DEVICE_TYPE(APRICOT_KEYBOARD_HLE, apricot_keyboard_hle_device)
-#endif // __APRICOT_KEYBOARD_HLE_H__
+#endif // MAME_BUS_APRICOT_KEYBOARD_HLE_H
diff --git a/src/devices/bus/apricot/keyboard/keyboard.cpp b/src/devices/bus/apricot/keyboard/keyboard.cpp
index e406c0c4cd5..87c491b6693 100644
--- a/src/devices/bus/apricot/keyboard/keyboard.cpp
+++ b/src/devices/bus/apricot/keyboard/keyboard.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type APRICOT_KEYBOARD_INTERFACE = device_creator<apricot_keyboard_bus_device>;
+DEFINE_DEVICE_TYPE(APRICOT_KEYBOARD_INTERFACE, apricot_keyboard_bus_device, "apricot_kbd", "Apricot Keyboard Interface")
//**************************************************************************
@@ -27,7 +27,7 @@ const device_type APRICOT_KEYBOARD_INTERFACE = device_creator<apricot_keyboard_b
//-------------------------------------------------
apricot_keyboard_bus_device::apricot_keyboard_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, APRICOT_KEYBOARD_INTERFACE, "Apricot Keyboard Interface", tag, owner, clock, "apricot_kbd", __FILE__),
+ device_t(mconfig, APRICOT_KEYBOARD_INTERFACE, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_kbd(nullptr),
m_in_handler(*this)
diff --git a/src/devices/bus/apricot/keyboard/keyboard.h b/src/devices/bus/apricot/keyboard/keyboard.h
index 8fa27f672ec..e7cc28ef584 100644
--- a/src/devices/bus/apricot/keyboard/keyboard.h
+++ b/src/devices/bus/apricot/keyboard/keyboard.h
@@ -27,10 +27,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_APRICOT_KEYBOARD_KEYBOARD_H
+#define MAME_BUS_APRICOT_KEYBOARD_KEYBOARD_H
-#ifndef __APRICOT_KEYBOARD_H__
-#define __APRICOT_KEYBOARD_H__
+#pragma once
@@ -62,8 +62,8 @@ public:
virtual ~apricot_keyboard_bus_device();
// callbacks
- template<class _Object> static devcb_base &set_in_handler(device_t &device, _Object object)
- { return downcast<apricot_keyboard_bus_device &>(device).m_in_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_in_handler(device_t &device, Object &&cb)
+ { return downcast<apricot_keyboard_bus_device &>(device).m_in_handler.set_callback(std::forward<Object>(cb)); }
// called from keyboard
DECLARE_WRITE_LINE_MEMBER( in_w ) { m_in_handler(state); }
@@ -88,21 +88,22 @@ class device_apricot_keyboard_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_apricot_keyboard_interface(const machine_config &mconfig, device_t &device);
virtual ~device_apricot_keyboard_interface();
- virtual void out_w(int state) {};
+ virtual void out_w(int state) = 0;
protected:
+ device_apricot_keyboard_interface(const machine_config &mconfig, device_t &device);
+
apricot_keyboard_bus_device *m_host;
};
// device type definition
-extern const device_type APRICOT_KEYBOARD_INTERFACE;
+DECLARE_DEVICE_TYPE(APRICOT_KEYBOARD_INTERFACE, apricot_keyboard_bus_device)
// supported devices
SLOT_INTERFACE_EXTERN( apricot_keyboard_devices );
-#endif // __APRICOT_KEYBOARD_H__
+#endif // MAME_BUS_APRICOT_KEYBOARD_KEYBOARD_H
diff --git a/src/devices/bus/arcadia/rom.cpp b/src/devices/bus/arcadia/rom.cpp
index 73640851160..2221fed2f2c 100644
--- a/src/devices/bus/arcadia/rom.cpp
+++ b/src/devices/bus/arcadia/rom.cpp
@@ -18,24 +18,22 @@
// arcadia_rom_device - constructor
//-------------------------------------------------
-const device_type ARCADIA_ROM_STD = device_creator<arcadia_rom_device>;
-const device_type ARCADIA_ROM_GOLF = device_creator<arcadia_golf_device>;
+DEFINE_DEVICE_TYPE(ARCADIA_ROM_STD, arcadia_rom_device, "arcadia_rom", "Emerson Arcadia Standard Carts")
+DEFINE_DEVICE_TYPE(ARCADIA_ROM_GOLF, arcadia_golf_device, "arcadia_golf", "Emerson Arcadia Golf Cart")
-arcadia_rom_device::arcadia_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_arcadia_cart_interface( mconfig, *this )
+arcadia_rom_device::arcadia_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_arcadia_cart_interface(mconfig, *this)
{
}
arcadia_rom_device::arcadia_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ARCADIA_ROM_STD, "Emerson Arcadia Standard Carts", tag, owner, clock, "arcadia_rom", __FILE__),
- device_arcadia_cart_interface( mconfig, *this )
+ : arcadia_rom_device(mconfig, ARCADIA_ROM_STD, tag, owner, clock)
{
}
arcadia_golf_device::arcadia_golf_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : arcadia_rom_device(mconfig, ARCADIA_ROM_GOLF, "Emerson Arcadia Golf Cart", tag, owner, clock, "arcadia_golf", __FILE__)
+ : arcadia_rom_device(mconfig, ARCADIA_ROM_GOLF, tag, owner, clock)
{
}
diff --git a/src/devices/bus/arcadia/rom.h b/src/devices/bus/arcadia/rom.h
index ad77caa1bc3..9cacb9b5e6e 100644
--- a/src/devices/bus/arcadia/rom.h
+++ b/src/devices/bus/arcadia/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __ARCADIA_ROM_H
-#define __ARCADIA_ROM_H
+#ifndef MAME_BUS_ARCADIA_ROM_H
+#define MAME_BUS_ARCADIA_ROM_H
+
+#pragma once
#include "slot.h"
@@ -13,16 +15,18 @@ class arcadia_rom_device : public device_t,
{
public:
// construction/destruction
- arcadia_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
arcadia_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
- virtual void device_reset() override {}
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_READ8_MEMBER(extra_rom) override;
+
+public:
+ arcadia_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
};
// ======================> arcadia_golf_device
@@ -40,5 +44,7 @@ public:
// device type definition
extern const device_type ARCADIA_ROM_STD;
extern const device_type ARCADIA_ROM_GOLF;
+DECLARE_DEVICE_TYPE(ARCADIA_ROM_STD, arcadia_rom_device)
+DECLARE_DEVICE_TYPE(ARCADIA_ROM_GOLF, arcadia_golf_device)
-#endif
+#endif // MAME_BUS_ARCADIA_ROM_H
diff --git a/src/devices/bus/arcadia/slot.cpp b/src/devices/bus/arcadia/slot.cpp
index d264205a21e..fed92bee9cd 100644
--- a/src/devices/bus/arcadia/slot.cpp
+++ b/src/devices/bus/arcadia/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type EA2001_CART_SLOT = device_creator<arcadia_cart_slot_device>;
+DEFINE_DEVICE_TYPE(EA2001_CART_SLOT, arcadia_cart_slot_device, "arcadia_cart_slot", "Emerson Arcadia Cartridge Slot")
//**************************************************************************
// ARCADIA Cartridges Interface
@@ -63,10 +63,10 @@ void device_arcadia_cart_interface::rom_alloc(uint32_t size, const char *tag)
// arcadia_cart_slot_device - constructor
//-------------------------------------------------
arcadia_cart_slot_device::arcadia_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, EA2001_CART_SLOT, "Emerson Arcadia Cartridge Slot", tag, owner, clock, "arcadia_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(ARCADIA_STD), m_cart(nullptr)
+ device_t(mconfig, EA2001_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(ARCADIA_STD), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/arcadia/slot.h b/src/devices/bus/arcadia/slot.h
index 16af9153a6c..b67912d2cf7 100644
--- a/src/devices/bus/arcadia/slot.h
+++ b/src/devices/bus/arcadia/slot.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __ARCADIA_SLOT_H
-#define __ARCADIA_SLOT_H
+#ifndef MAME_BUS_ARCADIA_SLOT_H
+#define MAME_BUS_ARCADIA_SLOT_H
#include "softlist_dev.h"
@@ -54,9 +54,6 @@ public:
arcadia_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~arcadia_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override {}
@@ -81,6 +78,8 @@ public:
virtual DECLARE_READ8_MEMBER(extra_rom);
protected:
+ // device-level overrides
+ virtual void device_start() override;
int m_type;
device_arcadia_cart_interface* m_cart;
@@ -89,7 +88,7 @@ protected:
// device type definition
-extern const device_type EA2001_CART_SLOT;
+DECLARE_DEVICE_TYPE(EA2001_CART_SLOT, arcadia_cart_slot_device)
/***************************************************************************
@@ -101,4 +100,5 @@ extern const device_type EA2001_CART_SLOT;
#define MCFG_ARCADIA_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, EA2001_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+#endif // MAME_BUS_ARCADIA_SLOT_H
diff --git a/src/devices/bus/astrocde/exp.cpp b/src/devices/bus/astrocde/exp.cpp
index 3e67050ddc2..40b6fbecbc4 100644
--- a/src/devices/bus/astrocde/exp.cpp
+++ b/src/devices/bus/astrocde/exp.cpp
@@ -14,7 +14,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ASTROCADE_EXP_SLOT = device_creator<astrocade_exp_device>;
+DEFINE_DEVICE_TYPE(ASTROCADE_EXP_SLOT, astrocade_exp_device, "astrocade_exp", "Bally Astrocade expansion")
device_astrocade_card_interface::device_astrocade_card_interface(const machine_config &mconfig, device_t &device)
@@ -36,9 +36,9 @@ device_astrocade_card_interface::~device_astrocade_card_interface()
// astrocade_exp_device - constructor
//-------------------------------------------------
astrocade_exp_device::astrocade_exp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ASTROCADE_EXP_SLOT, "Bally Astrocade expansion", tag, owner, clock, "astrocde_exp", __FILE__),
- device_slot_interface(mconfig, *this),
- m_card_mounted(false), m_card(nullptr)
+ device_t(mconfig, ASTROCADE_EXP_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_card_mounted(false), m_card(nullptr)
{
}
diff --git a/src/devices/bus/astrocde/exp.h b/src/devices/bus/astrocde/exp.h
index 110bdaf0367..9be60975ed7 100644
--- a/src/devices/bus/astrocde/exp.h
+++ b/src/devices/bus/astrocde/exp.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __ASTROCADE_EXP_H
-#define __ASTROCADE_EXP_H
+#ifndef MAME_BUS_ASTROCADE_EXP_H
+#define MAME_BUS_ASTROCADE_EXP_H
// ======================> device_astrocade_card_interface
@@ -9,19 +9,20 @@ class device_astrocade_card_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_astrocade_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_astrocade_card_interface();
// reading and writing
virtual DECLARE_READ8_MEMBER(read) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write) {}
+ virtual DECLARE_WRITE8_MEMBER(write) { }
+
+protected:
+ device_astrocade_card_interface(const machine_config &mconfig, device_t &device);
};
// ======================> astrocade_exp_device
-class astrocade_exp_device : public device_t,
- public device_slot_interface
+class astrocade_exp_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
@@ -45,11 +46,11 @@ protected:
// device type definition
-extern const device_type ASTROCADE_EXP_SLOT;
+DECLARE_DEVICE_TYPE(ASTROCADE_EXP_SLOT, astrocade_exp_device)
#define MCFG_ASTROCADE_EXPANSION_SLOT_ADD(_tag, _slot_intf, _def_slot) \
MCFG_DEVICE_ADD(_tag, ASTROCADE_EXP_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+#endif // MAME_BUS_ASTROCADE_EXP_H
diff --git a/src/devices/bus/astrocde/ram.cpp b/src/devices/bus/astrocde/ram.cpp
index 89d16e6de77..36d1ed9ab77 100644
--- a/src/devices/bus/astrocde/ram.cpp
+++ b/src/devices/bus/astrocde/ram.cpp
@@ -60,56 +60,54 @@
// astrocade_rom_device - constructor
//-------------------------------------------------
-const device_type ASTROCADE_BLUERAM_4K = device_creator<astrocade_blueram_4k_device>;
-const device_type ASTROCADE_BLUERAM_16K = device_creator<astrocade_blueram_16k_device>;
-const device_type ASTROCADE_BLUERAM_32K = device_creator<astrocade_blueram_32k_device>;
-const device_type ASTROCADE_VIPER_SYS1 = device_creator<astrocade_viper_sys1_device>;
-const device_type ASTROCADE_WHITERAM = device_creator<astrocade_whiteram_device>;
-const device_type ASTROCADE_RL64RAM = device_creator<astrocade_rl64ram_device>;
+DEFINE_DEVICE_TYPE(ASTROCADE_BLUERAM_4K, astrocade_blueram_4k_device, "astrocade_br4", "Bally Astrocade Blue RAM 4K")
+DEFINE_DEVICE_TYPE(ASTROCADE_BLUERAM_16K, astrocade_blueram_16k_device, "astrocade_br16", "Bally Astrocade Blue RAM 16K")
+DEFINE_DEVICE_TYPE(ASTROCADE_BLUERAM_32K, astrocade_blueram_32k_device, "astrocade_br32", "Bally Astrocade Blue RAM 32K")
+DEFINE_DEVICE_TYPE(ASTROCADE_VIPER_SYS1, astrocade_viper_sys1_device, "astrocade_vs1", "Bally Astrocade Viper System 1")
+DEFINE_DEVICE_TYPE(ASTROCADE_WHITERAM, astrocade_whiteram_device, "astrocade_lwr", "Bally Astrocade Lil' White RAM 32K")
+DEFINE_DEVICE_TYPE(ASTROCADE_RL64RAM, astrocade_rl64ram_device, "astrocade_rl64", "Bally Astrocade R&L RAM 64K")
-astrocade_blueram_4k_device::astrocade_blueram_4k_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_astrocade_card_interface(mconfig, *this),
- m_write_prot(*this, "RAM_PROTECT")
+astrocade_blueram_4k_device::astrocade_blueram_4k_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock),
+ device_astrocade_card_interface(mconfig, *this),
+ m_write_prot(*this, "RAM_PROTECT")
{
}
astrocade_blueram_4k_device::astrocade_blueram_4k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_BLUERAM_4K, "Bally Astrocade Blue RAM 4K", tag, owner, clock, "astrocade_br4", __FILE__),
- device_astrocade_card_interface(mconfig, *this),
- m_write_prot(*this, "RAM_PROTECT")
+ : astrocade_blueram_4k_device(mconfig, ASTROCADE_BLUERAM_4K, tag, owner, clock)
{
}
astrocade_blueram_16k_device::astrocade_blueram_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : astrocade_blueram_4k_device(mconfig, ASTROCADE_BLUERAM_16K, "Bally Astrocade Blue RAM 16K", tag, owner, clock, "astrocade_br16", __FILE__)
+ : astrocade_blueram_4k_device(mconfig, ASTROCADE_BLUERAM_16K, tag, owner, clock)
{
}
astrocade_blueram_32k_device::astrocade_blueram_32k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : astrocade_blueram_4k_device(mconfig, ASTROCADE_BLUERAM_32K, "Bally Astrocade Blue RAM 32K", tag, owner, clock, "astrocade_br32", __FILE__)
+ : astrocade_blueram_4k_device(mconfig, ASTROCADE_BLUERAM_32K, tag, owner, clock)
{
}
astrocade_viper_sys1_device::astrocade_viper_sys1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_VIPER_SYS1, "Bally Astrocade Viper System 1", tag, owner, clock, "astrocade_vs1", __FILE__),
- device_astrocade_card_interface(mconfig, *this),
- m_write_prot(*this, "RAM_PROTECT")
+ : device_t(mconfig, ASTROCADE_VIPER_SYS1, tag, owner, clock),
+ device_astrocade_card_interface(mconfig, *this),
+ m_write_prot(*this, "RAM_PROTECT")
{
}
astrocade_whiteram_device::astrocade_whiteram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_WHITERAM, "Bally Astrocade Lil' White RAM 32K", tag, owner, clock, "astrocade_lwr", __FILE__),
- device_astrocade_card_interface(mconfig, *this),
- m_write_prot(*this, "RAM_PROTECT")
+ : device_t(mconfig, ASTROCADE_WHITERAM, tag, owner, clock),
+ device_astrocade_card_interface(mconfig, *this),
+ m_write_prot(*this, "RAM_PROTECT")
{
}
astrocade_rl64ram_device::astrocade_rl64ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_RL64RAM, "Bally Astrocade R&L RAM 64K", tag, owner, clock, "astrocade_rl64", __FILE__),
- device_astrocade_card_interface(mconfig, *this),
- m_write_prot(*this, "RAM_PROTECT")
+ : device_t(mconfig, ASTROCADE_RL64RAM, tag, owner, clock),
+ device_astrocade_card_interface(mconfig, *this),
+ m_write_prot(*this, "RAM_PROTECT")
{
}
diff --git a/src/devices/bus/astrocde/ram.h b/src/devices/bus/astrocde/ram.h
index d714c14e3b3..83f9483d2e8 100644
--- a/src/devices/bus/astrocde/ram.h
+++ b/src/devices/bus/astrocde/ram.h
@@ -1,24 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __ASTROCADE_RAM_H
-#define __ASTROCADE_RAM_H
+#ifndef MAME_BUS_ASTROCADE_RAM_H
+#define MAME_BUS_ASTROCADE_RAM_H
+
+#pragma once
#include "exp.h"
// ======================> astrocade_blueram_4k_device
-class astrocade_blueram_4k_device : public device_t,
- public device_astrocade_card_interface
+class astrocade_blueram_4k_device : public device_t, public device_astrocade_card_interface
{
public:
// construction/destruction
- astrocade_blueram_4k_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
astrocade_blueram_4k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override { m_ram.resize(0x1000); save_item(NAME(m_ram)); }
- virtual void device_reset() override {}
virtual ioport_constructor device_input_ports() const override;
// reading and writing
@@ -26,6 +24,11 @@ public:
virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
+ astrocade_blueram_4k_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override { m_ram.resize(0x1000); save_item(NAME(m_ram)); }
+ virtual void device_reset() override { }
+
std::vector<uint8_t> m_ram;
required_ioport m_write_prot;
};
@@ -54,22 +57,23 @@ public:
// ======================> astrocade_viper_sys1_device
-class astrocade_viper_sys1_device : public device_t,
- public device_astrocade_card_interface
+class astrocade_viper_sys1_device : public device_t, public device_astrocade_card_interface
{
public:
// construction/destruction
astrocade_viper_sys1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override { m_ram.resize(0x4000); save_item(NAME(m_ram)); }
- virtual void device_reset() override {}
virtual ioport_constructor device_input_ports() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_start() override { m_ram.resize(0x4000); save_item(NAME(m_ram)); }
+ virtual void device_reset() override { }
+
private:
std::vector<uint8_t> m_ram;
required_ioport m_write_prot;
@@ -77,22 +81,23 @@ private:
// ======================> astrocade_whiteram_device
-class astrocade_whiteram_device : public device_t,
- public device_astrocade_card_interface
+class astrocade_whiteram_device : public device_t, public device_astrocade_card_interface
{
public:
// construction/destruction
astrocade_whiteram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override { m_ram.resize(0x8000); save_item(NAME(m_ram)); }
- virtual void device_reset() override {}
virtual ioport_constructor device_input_ports() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_start() override { m_ram.resize(0x8000); save_item(NAME(m_ram)); }
+ virtual void device_reset() override { }
+
private:
std::vector<uint8_t> m_ram;
required_ioport m_write_prot;
@@ -100,22 +105,23 @@ private:
// ======================> astrocade_rl64ram_device
-class astrocade_rl64ram_device : public device_t,
- public device_astrocade_card_interface
+class astrocade_rl64ram_device : public device_t, public device_astrocade_card_interface
{
public:
// construction/destruction
astrocade_rl64ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override { m_ram.resize(0xb000); save_item(NAME(m_ram)); }
- virtual void device_reset() override {}
virtual ioport_constructor device_input_ports() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_start() override { m_ram.resize(0xb000); save_item(NAME(m_ram)); }
+ virtual void device_reset() override { }
+
private:
std::vector<uint8_t> m_ram;
required_ioport m_write_prot;
@@ -124,12 +130,12 @@ private:
// device type definition
-extern const device_type ASTROCADE_BLUERAM_4K;
-extern const device_type ASTROCADE_BLUERAM_16K;
-extern const device_type ASTROCADE_BLUERAM_32K;
-extern const device_type ASTROCADE_VIPER_SYS1;
-extern const device_type ASTROCADE_WHITERAM;
-extern const device_type ASTROCADE_RL64RAM;
+DECLARE_DEVICE_TYPE(ASTROCADE_BLUERAM_4K, astrocade_blueram_4k_device)
+DECLARE_DEVICE_TYPE(ASTROCADE_BLUERAM_16K, astrocade_blueram_16k_device)
+DECLARE_DEVICE_TYPE(ASTROCADE_BLUERAM_32K, astrocade_blueram_32k_device)
+DECLARE_DEVICE_TYPE(ASTROCADE_VIPER_SYS1, astrocade_viper_sys1_device)
+DECLARE_DEVICE_TYPE(ASTROCADE_WHITERAM, astrocade_whiteram_device)
+DECLARE_DEVICE_TYPE(ASTROCADE_RL64RAM, astrocade_rl64ram_device)
-#endif
+#endif // MAME_BUS_ASTROCADE_RAM_H
diff --git a/src/devices/bus/astrocde/rom.cpp b/src/devices/bus/astrocde/rom.cpp
index c5edddd7d3a..fcebedfc81d 100644
--- a/src/devices/bus/astrocde/rom.cpp
+++ b/src/devices/bus/astrocde/rom.cpp
@@ -17,31 +17,29 @@
// astrocade_rom_device - constructor
//-------------------------------------------------
-const device_type ASTROCADE_ROM_STD = device_creator<astrocade_rom_device>;
-const device_type ASTROCADE_ROM_256K = device_creator<astrocade_rom_256k_device>;
-const device_type ASTROCADE_ROM_512K = device_creator<astrocade_rom_512k_device>;
+DEFINE_DEVICE_TYPE(ASTROCADE_ROM_STD, astrocade_rom_device, "astrocade_rom", "Bally Astrocade Standard Carts")
+DEFINE_DEVICE_TYPE(ASTROCADE_ROM_256K, astrocade_rom_256k_device, "astrocade_256k", "Bally Astrocade 256K Carts")
+DEFINE_DEVICE_TYPE(ASTROCADE_ROM_512K, astrocade_rom_512k_device, "astrocade_512k", "Bally Astrocade 512K Carts")
-astrocade_rom_device::astrocade_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_astrocade_cart_interface(mconfig, *this)
+astrocade_rom_device::astrocade_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_astrocade_cart_interface(mconfig, *this)
{
}
astrocade_rom_device::astrocade_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ASTROCADE_ROM_STD, "Bally Astrocade Standard Carts", tag, owner, clock, "astrocade_rom", __FILE__),
- device_astrocade_cart_interface(mconfig, *this)
+ : astrocade_rom_device(mconfig, ASTROCADE_ROM_STD, tag, owner, clock)
{
}
astrocade_rom_256k_device::astrocade_rom_256k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : astrocade_rom_device(mconfig, ASTROCADE_ROM_256K, "Bally Astrocade 256K Carts", tag, owner, clock, "astrocade_256k", __FILE__), m_base_bank(0)
- {
+ : astrocade_rom_device(mconfig, ASTROCADE_ROM_256K, tag, owner, clock), m_base_bank(0)
+{
}
astrocade_rom_512k_device::astrocade_rom_512k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : astrocade_rom_device(mconfig, ASTROCADE_ROM_512K, "Bally Astrocade 512K Carts", tag, owner, clock, "astrocade_512k", __FILE__), m_base_bank(0)
- {
+ : astrocade_rom_device(mconfig, ASTROCADE_ROM_512K, tag, owner, clock), m_base_bank(0)
+{
}
diff --git a/src/devices/bus/astrocde/rom.h b/src/devices/bus/astrocde/rom.h
index 9fa0b20e5fe..0471ada8dd1 100644
--- a/src/devices/bus/astrocde/rom.h
+++ b/src/devices/bus/astrocde/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __ASTROCADE_ROM_H
-#define __ASTROCADE_ROM_H
+#ifndef MAME_BUS_ASTROCADE_ROM_H
+#define MAME_BUS_ASTROCADE_ROM_H
+
+#pragma once
#include "slot.h"
@@ -13,15 +15,17 @@ class astrocade_rom_device : public device_t,
{
public:
// construction/destruction
- astrocade_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
astrocade_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
- virtual void device_reset() override {}
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+protected:
+ astrocade_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
};
// ======================> astrocade_rom_256k_device
@@ -32,13 +36,13 @@ public:
// construction/destruction
astrocade_rom_256k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
private:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_base_bank;
};
@@ -50,24 +54,20 @@ public:
// construction/destruction
astrocade_rom_512k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
private:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_base_bank;
};
-
-
-
// device type definition
-extern const device_type ASTROCADE_ROM_STD;
-extern const device_type ASTROCADE_ROM_256K;
-extern const device_type ASTROCADE_ROM_512K;
-
+DECLARE_DEVICE_TYPE(ASTROCADE_ROM_STD, astrocade_rom_device)
+DECLARE_DEVICE_TYPE(ASTROCADE_ROM_256K, astrocade_rom_256k_device)
+DECLARE_DEVICE_TYPE(ASTROCADE_ROM_512K, astrocade_rom_512k_device)
-#endif
+#endif // MAME_BUS_ASTROCADE_ROM_H
diff --git a/src/devices/bus/astrocde/slot.cpp b/src/devices/bus/astrocde/slot.cpp
index d997b6454e5..b83b8e576ad 100644
--- a/src/devices/bus/astrocde/slot.cpp
+++ b/src/devices/bus/astrocde/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ASTROCADE_CART_SLOT = device_creator<astrocade_cart_slot_device>;
+DEFINE_DEVICE_TYPE(ASTROCADE_CART_SLOT, astrocade_cart_slot_device, "astrocade_cart_slot", "Bally Astrocade Cartridge Slot")
//**************************************************************************
// Astrocade Cartridges Interface
@@ -63,10 +63,10 @@ void device_astrocade_cart_interface::rom_alloc(uint32_t size, const char *tag)
// astrocade_cart_slot_device - constructor
//-------------------------------------------------
astrocade_cart_slot_device::astrocade_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ASTROCADE_CART_SLOT, "Bally Astrocade Cartridge Slot", tag, owner, clock, "astrocade_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(ASTROCADE_STD), m_cart(nullptr)
+ device_t(mconfig, ASTROCADE_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(ASTROCADE_STD), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/astrocde/slot.h b/src/devices/bus/astrocde/slot.h
index 702342aad8c..dc7a2c84ca9 100644
--- a/src/devices/bus/astrocde/slot.h
+++ b/src/devices/bus/astrocde/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __ASTROCADE_SLOT_H
-#define __ASTROCADE_SLOT_H
+#ifndef MAME_BUS_ASTROCADE_SLOT_H
+#define MAME_BUS_ASTROCADE_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -26,7 +28,6 @@ class device_astrocade_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_astrocade_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_astrocade_cart_interface();
// reading and writing
@@ -37,6 +38,8 @@ public:
uint32_t get_rom_size() { return m_rom_size; }
protected:
+ device_astrocade_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -54,9 +57,6 @@ public:
astrocade_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~astrocade_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override {}
@@ -80,6 +80,8 @@ public:
virtual DECLARE_READ8_MEMBER(read_rom);
protected:
+ // device-level overrides
+ virtual void device_start() override;
int m_type;
device_astrocade_cart_interface* m_cart;
@@ -88,7 +90,7 @@ protected:
// device type definition
-extern const device_type ASTROCADE_CART_SLOT;
+DECLARE_DEVICE_TYPE(ASTROCADE_CART_SLOT, astrocade_cart_slot_device)
/***************************************************************************
@@ -100,4 +102,5 @@ extern const device_type ASTROCADE_CART_SLOT;
#define MCFG_ASTROCADE_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, ASTROCADE_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+#endif // MAME_BUS_ASTROCADE_SLOT_H
diff --git a/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp b/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp
index 273025a5ce9..a03d3b439ee 100644
--- a/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp
+++ b/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_1MHZBUS_SLOT = device_creator<bbc_1mhzbus_slot_device>;
+DEFINE_DEVICE_TYPE(BBC_1MHZBUS_SLOT, bbc_1mhzbus_slot_device, "bbc_1mhzbus_slot", "BBC Micro 1MHz Bus port")
@@ -52,8 +52,8 @@ device_bbc_1mhzbus_interface::~device_bbc_1mhzbus_interface()
//-------------------------------------------------
bbc_1mhzbus_slot_device::bbc_1mhzbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BBC_1MHZBUS_SLOT, "BBC Micro 1MHz Bus port", tag, owner, clock, "bbc_1mhzbus_slot", __FILE__),
- device_slot_interface(mconfig, *this),
+ device_t(mconfig, BBC_1MHZBUS_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
m_card(nullptr),
m_irq_handler(*this),
m_nmi_handler(*this)
diff --git a/src/devices/bus/bbc/1mhzbus/1mhzbus.h b/src/devices/bus/bbc/1mhzbus/1mhzbus.h
index f8b5f4083f9..450e7fd8357 100644
--- a/src/devices/bus/bbc/1mhzbus/1mhzbus.h
+++ b/src/devices/bus/bbc/1mhzbus/1mhzbus.h
@@ -72,10 +72,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BBC_1MHZBUS_1MHZBUS_H
+#define MAME_BUS_BBC_1MHZBUS_1MHZBUS_H
-#ifndef __BBC_1MHZBUS_SLOT__
-#define __BBC_1MHZBUS_SLOT__
+#pragma once
@@ -122,11 +122,11 @@ public:
virtual ~bbc_1mhzbus_slot_device();
// callbacks
- template<class _Object> static devcb_base &set_irq_handler(device_t &device, _Object object)
- { return downcast<bbc_1mhzbus_slot_device &>(device).m_irq_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_handler(device_t &device, Object &&cb)
+ { return downcast<bbc_1mhzbus_slot_device &>(device).m_irq_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_nmi_handler(device_t &device, _Object object)
- { return downcast<bbc_1mhzbus_slot_device &>(device).m_nmi_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_nmi_handler(device_t &device, Object &&cb)
+ { return downcast<bbc_1mhzbus_slot_device &>(device).m_nmi_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
@@ -150,19 +150,20 @@ class device_bbc_1mhzbus_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_bbc_1mhzbus_interface(const machine_config &mconfig, device_t &device);
virtual ~device_bbc_1mhzbus_interface();
protected:
+ device_bbc_1mhzbus_interface(const machine_config &mconfig, device_t &device);
+
bbc_1mhzbus_slot_device *m_slot;
};
// device type definition
-extern const device_type BBC_1MHZBUS_SLOT;
+DECLARE_DEVICE_TYPE(BBC_1MHZBUS_SLOT, bbc_1mhzbus_slot_device)
SLOT_INTERFACE_EXTERN( bbcb_1mhzbus_devices );
SLOT_INTERFACE_EXTERN( bbcm_1mhzbus_devices );
-#endif
+#endif // MAME_BUS_BBC_1MHZBUS_1MHZBUS_H
diff --git a/src/devices/bus/bbc/1mhzbus/opus3.cpp b/src/devices/bus/bbc/1mhzbus/opus3.cpp
index ca748a4763f..cb2d41d5583 100644
--- a/src/devices/bus/bbc/1mhzbus/opus3.cpp
+++ b/src/devices/bus/bbc/1mhzbus/opus3.cpp
@@ -45,7 +45,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_OPUS3 = device_creator<bbc_opus3_device>;
+DEFINE_DEVICE_TYPE(BBC_OPUS3, bbc_opus3_device, "bbc_opus3", "Opus Challenger 3-in-1")
//-------------------------------------------------
@@ -117,7 +117,7 @@ const tiny_rom_entry *bbc_opus3_device::device_rom_region() const
//-------------------------------------------------
bbc_opus3_device::bbc_opus3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_OPUS3, "Opus Challenger 3-in-1", tag, owner, clock, "bbc_opus3", __FILE__),
+ : device_t(mconfig, BBC_OPUS3, tag, owner, clock),
device_bbc_1mhzbus_interface(mconfig, *this),
m_dfs_rom(*this, "dfs_rom"),
m_ramdisk(*this, "ramdisk"),
@@ -136,7 +136,7 @@ void bbc_opus3_device::device_start()
address_space& space = machine().device("maincpu")->memory().space(AS_PROGRAM);
m_slot = dynamic_cast<bbc_1mhzbus_slot_device *>(owner());
- space.install_readwrite_handler(0xfcf8, 0xfcfb, READ8_DEVICE_DELEGATE(m_fdc, wd1770_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd1770_t, write));
+ space.install_readwrite_handler(0xfcf8, 0xfcfb, READ8_DEVICE_DELEGATE(m_fdc, wd1770_device, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd1770_device, write));
space.install_write_handler(0xfcfc, 0xfcfc, WRITE8_DELEGATE(bbc_opus3_device, wd1770l_write));
space.install_write_handler(0xfcfe, 0xfcff, WRITE8_DELEGATE(bbc_opus3_device, page_w));
space.install_readwrite_handler(0xfd00, 0xfdff, READ8_DELEGATE(bbc_opus3_device, ramdisk_r), WRITE8_DELEGATE(bbc_opus3_device, ramdisk_w));
diff --git a/src/devices/bus/bbc/1mhzbus/opus3.h b/src/devices/bus/bbc/1mhzbus/opus3.h
index b521aa87de2..09139db001b 100644
--- a/src/devices/bus/bbc/1mhzbus/opus3.h
+++ b/src/devices/bus/bbc/1mhzbus/opus3.h
@@ -7,8 +7,8 @@
**********************************************************************/
-#ifndef __BBC_OPUS3__
-#define __BBC_OPUS3__
+#ifndef MAME_BUS_BBC_1MHZBUS_OPUS3_H
+#define MAME_BUS_BBC_1MHZBUS_OPUS3_H
#include "1mhzbus.h"
#include "machine/ram.h"
@@ -48,7 +48,7 @@ protected:
private:
required_memory_region m_dfs_rom;
required_device<ram_device> m_ramdisk;
- required_device<wd1770_t> m_fdc;
+ required_device<wd1770_device> m_fdc;
required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
@@ -59,7 +59,7 @@ private:
// device type definition
-extern const device_type BBC_OPUS3;
+DECLARE_DEVICE_TYPE(BBC_OPUS3, bbc_opus3_device)
-#endif /* __BBC_OPUS3__ */
+#endif // MAME_BUS_BBC_1MHZBUS_OPUS3_H
diff --git a/src/devices/bus/bbc/analogue/analogue.cpp b/src/devices/bus/bbc/analogue/analogue.cpp
index 726f869771c..5d7f4497d67 100644
--- a/src/devices/bus/bbc/analogue/analogue.cpp
+++ b/src/devices/bus/bbc/analogue/analogue.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_ANALOGUE_SLOT = device_creator<bbc_analogue_slot_device>;
+DEFINE_DEVICE_TYPE(BBC_ANALOGUE_SLOT, bbc_analogue_slot_device, "bbc_analogue_slot", "BBC Micro Analogue port")
@@ -51,8 +51,8 @@ device_bbc_analogue_interface::~device_bbc_analogue_interface()
//-------------------------------------------------
bbc_analogue_slot_device::bbc_analogue_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BBC_ANALOGUE_SLOT, "BBC Micro Analogue port", tag, owner, clock, "bbc_analogue_slot", __FILE__),
- device_slot_interface(mconfig, *this)
+ device_t(mconfig, BBC_ANALOGUE_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/bbc/analogue/analogue.h b/src/devices/bus/bbc/analogue/analogue.h
index d63ef808018..6d831c109f8 100644
--- a/src/devices/bus/bbc/analogue/analogue.h
+++ b/src/devices/bus/bbc/analogue/analogue.h
@@ -26,10 +26,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BBC_ANALOGUE_ANALOGUE_H
+#define MAME_BUS_BBC_ANALOGUE_ANALOGUE_H
-#ifndef __BBC_ANALOGUE_SLOT__
-#define __BBC_ANALOGUE_SLOT__
+#pragma once
@@ -61,7 +61,6 @@ class bbc_analogue_slot_device : public device_t, public device_slot_interface
public:
// construction/destruction
bbc_analogue_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~bbc_analogue_slot_device() {}
uint8_t ch_r(int channel);
uint8_t pb_r();
@@ -81,21 +80,21 @@ class device_bbc_analogue_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_bbc_analogue_interface(const machine_config &mconfig, device_t &device);
virtual ~device_bbc_analogue_interface();
virtual uint8_t ch_r(int channel) { return 0x00; };
virtual uint8_t pb_r() { return 0x30; };
protected:
+ device_bbc_analogue_interface(const machine_config &mconfig, device_t &device);
+
bbc_analogue_slot_device *m_slot;
};
// device type definition
-extern const device_type BBC_ANALOGUE_SLOT;
+DECLARE_DEVICE_TYPE(BBC_ANALOGUE_SLOT, bbc_analogue_slot_device)
SLOT_INTERFACE_EXTERN( bbc_analogue_devices );
-
-#endif
+#endif // MAME_BUS_BBC_ANALOGUE_ANALOGUE_H
diff --git a/src/devices/bus/bbc/analogue/joystick.cpp b/src/devices/bus/bbc/analogue/joystick.cpp
index 8c6aa767af6..e67abff9e22 100644
--- a/src/devices/bus/bbc/analogue/joystick.cpp
+++ b/src/devices/bus/bbc/analogue/joystick.cpp
@@ -18,8 +18,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_ACORNJOY = device_creator<bbc_acornjoy_device>;
-const device_type BBC_VOLTMACE3B = device_creator<bbc_voltmace3b_device>;
+DEFINE_DEVICE_TYPE(BBC_ACORNJOY, bbc_acornjoy_device, "bbc_acornjoy", "Acorn Analogue Joysticks")
+DEFINE_DEVICE_TYPE(BBC_VOLTMACE3B, bbc_voltmace3b_device, "bbc_voltmace3b", "Voltmace Delta 3b Twin Joysticks")
static INPUT_PORTS_START( acornjoy )
@@ -82,8 +82,8 @@ ioport_constructor bbc_voltmace3b_device::device_input_ports() const
// bbc_joystick_device - constructor
//-------------------------------------------------
-bbc_joystick_device::bbc_joystick_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+bbc_joystick_device::bbc_joystick_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_bbc_analogue_interface(mconfig, *this),
m_joy(*this, "JOY%u", 0),
m_buttons(*this, "BUTTONS")
@@ -91,12 +91,12 @@ bbc_joystick_device::bbc_joystick_device(const machine_config &mconfig, device_t
}
bbc_acornjoy_device::bbc_acornjoy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- bbc_joystick_device(mconfig, BBC_ACORNJOY, "Acorn Analogue Joysticks", tag, owner, clock, "bbc_acornjoy", __FILE__)
+ bbc_joystick_device(mconfig, BBC_ACORNJOY, tag, owner, clock)
{
}
bbc_voltmace3b_device::bbc_voltmace3b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- bbc_joystick_device(mconfig, BBC_VOLTMACE3B, "Voltmace Delta 3b Twin Joysticks", tag, owner, clock, "bbc_voltmace3b", __FILE__)
+ bbc_joystick_device(mconfig, BBC_VOLTMACE3B, tag, owner, clock)
{
}
diff --git a/src/devices/bus/bbc/analogue/joystick.h b/src/devices/bus/bbc/analogue/joystick.h
index bf2b906102a..887e87c74d7 100644
--- a/src/devices/bus/bbc/analogue/joystick.h
+++ b/src/devices/bus/bbc/analogue/joystick.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BBC_ANALOGUE_JOYSTICK_H
+#define MAME_BUS_BBC_ANALOGUE_JOYSTICK_H
-#ifndef __BBC_JOYSTICK__
-#define __BBC_JOYSTICK__
+#pragma once
#include "analogue.h"
@@ -24,11 +24,10 @@ class bbc_joystick_device :
public device_t,
public device_bbc_analogue_interface
{
-public:
+protected:
// construction/destruction
- bbc_joystick_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ bbc_joystick_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -59,8 +58,7 @@ public:
// device type definition
-extern const device_type BBC_ACORNJOY;
-extern const device_type BBC_VOLTMACE3B;
-
+DECLARE_DEVICE_TYPE(BBC_ACORNJOY, bbc_acornjoy_device)
+DECLARE_DEVICE_TYPE(BBC_VOLTMACE3B, bbc_voltmace3b_device)
-#endif
+#endif // MAME_BUS_BBC_ANALOGUE_JOYSTICK_H
diff --git a/src/devices/bus/bbc/fdc/acorn.cpp b/src/devices/bus/bbc/fdc/acorn.cpp
index 45a13a5dc18..397f3b9408d 100644
--- a/src/devices/bus/bbc/fdc/acorn.cpp
+++ b/src/devices/bus/bbc/fdc/acorn.cpp
@@ -15,8 +15,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_ACORN8271 = device_creator<bbc_acorn8271_device>;
-const device_type BBC_ACORN1770 = device_creator<bbc_acorn1770_device>;
+DEFINE_DEVICE_TYPE(BBC_ACORN8271, bbc_acorn8271_device, "bbc_acorn8271", "Acorn 8721 FDC")
+DEFINE_DEVICE_TYPE(BBC_ACORN1770, bbc_acorn1770_device, "bbc_acorn1770", "Acorn 1770 FDC")
//-------------------------------------------------
@@ -171,7 +171,7 @@ const tiny_rom_entry *bbc_acorn1770_device::device_rom_region() const
//-------------------------------------------------
bbc_acorn8271_device::bbc_acorn8271_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_ACORN8271, "Acorn 8271 FDC", tag, owner, clock, "bbc_acorn8271", __FILE__),
+ : device_t(mconfig, BBC_ACORN8271, tag, owner, clock),
device_bbc_fdc_interface(mconfig, *this),
m_dfs_rom(*this, "dfs_rom"),
m_fdc(*this, "i8271"),
@@ -181,7 +181,7 @@ bbc_acorn8271_device::bbc_acorn8271_device(const machine_config &mconfig, const
}
bbc_acorn1770_device::bbc_acorn1770_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_ACORN1770, "Acorn 1770 FDC", tag, owner, clock, "bbc_acorn1770", __FILE__),
+ : device_t(mconfig, BBC_ACORN1770, tag, owner, clock),
device_bbc_fdc_interface(mconfig, *this),
m_dfs_rom(*this, "dfs_rom"),
m_fdc(*this, "wd1770"),
@@ -212,7 +212,7 @@ void bbc_acorn1770_device::device_start()
m_slot = dynamic_cast<bbc_fdc_slot_device *>(owner());
space.install_readwrite_handler(0xfe80, 0xfe83, READ8_DELEGATE(bbc_acorn1770_device, wd1770l_read), WRITE8_DELEGATE(bbc_acorn1770_device, wd1770l_write));
- space.install_readwrite_handler(0xfe84, 0xfe9f, READ8_DEVICE_DELEGATE(m_fdc, wd1770_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd1770_t, write));
+ space.install_readwrite_handler(0xfe84, 0xfe9f, READ8_DEVICE_DELEGATE(m_fdc, wd1770_device, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd1770_device, write));
m_drive_control = 0xfe;
}
diff --git a/src/devices/bus/bbc/fdc/acorn.h b/src/devices/bus/bbc/fdc/acorn.h
index 9e1ded12cfb..30fd049432f 100644
--- a/src/devices/bus/bbc/fdc/acorn.h
+++ b/src/devices/bus/bbc/fdc/acorn.h
@@ -7,8 +7,10 @@
**********************************************************************/
-#ifndef __BBC_ACORN__
-#define __BBC_ACORN__
+#ifndef MAME_BUS__BBC_FDC_ACORN_H
+#define MAME_BUS__BBC_FDC_ACORN_H
+
+#pragma once
#include "fdc.h"
#include "machine/i8271.h"
@@ -78,7 +80,7 @@ protected:
private:
required_memory_region m_dfs_rom;
- required_device<wd1770_t> m_fdc;
+ required_device<wd1770_device> m_fdc;
required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
@@ -87,8 +89,8 @@ private:
// device type definition
-extern const device_type BBC_ACORN8271;
-extern const device_type BBC_ACORN1770;
+DECLARE_DEVICE_TYPE(BBC_ACORN8271, bbc_acorn8271_device)
+DECLARE_DEVICE_TYPE(BBC_ACORN1770, bbc_acorn1770_device)
-#endif /* __BBC_ACORN__ */
+#endif // MAME_BUS__BBC_FDC_ACORN_H
diff --git a/src/devices/bus/bbc/fdc/cumana.cpp b/src/devices/bus/bbc/fdc/cumana.cpp
index ca36e75a2da..242d8b38a05 100644
--- a/src/devices/bus/bbc/fdc/cumana.cpp
+++ b/src/devices/bus/bbc/fdc/cumana.cpp
@@ -17,8 +17,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_CUMANA1 = device_creator<bbc_cumana1_device>;
-const device_type BBC_CUMANA2 = device_creator<bbc_cumana2_device>;
+DEFINE_DEVICE_TYPE(BBC_CUMANA1, bbc_cumana1_device, "bbc_cumana1", "Cumana QFS 8877A FDC")
+DEFINE_DEVICE_TYPE(BBC_CUMANA2, bbc_cumana2_device, "bbc_cumana2", "Cumana QFS Issue 2 8877A FDC")
//-------------------------------------------------
@@ -99,8 +99,8 @@ const tiny_rom_entry *bbc_cumana2_device::device_rom_region() const
// bbc_cumanafdc_device - constructor
//-------------------------------------------------
-bbc_cumanafdc_device::bbc_cumanafdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+bbc_cumanafdc_device::bbc_cumanafdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_bbc_fdc_interface(mconfig, *this),
m_dfs_rom(*this, "dfs_rom"),
m_fdc(*this, "mb8877a"),
@@ -110,13 +110,13 @@ bbc_cumanafdc_device::bbc_cumanafdc_device(const machine_config &mconfig, device
}
bbc_cumana1_device::bbc_cumana1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- bbc_cumanafdc_device(mconfig, BBC_CUMANA1, "Cumana QFS 8877A FDC", tag, owner, clock, "bbc_cumana1", __FILE__)
+ bbc_cumanafdc_device(mconfig, BBC_CUMANA1, tag, owner, clock)
{
m_invert = true;
}
bbc_cumana2_device::bbc_cumana2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- bbc_cumanafdc_device(mconfig, BBC_CUMANA2, "Cumana QFS Issue 2 8877A FDC", tag, owner, clock, "bbc_cumana2", __FILE__)
+ bbc_cumanafdc_device(mconfig, BBC_CUMANA2, tag, owner, clock)
{
m_invert = false;
}
@@ -133,7 +133,7 @@ void bbc_cumanafdc_device::device_start()
m_slot = dynamic_cast<bbc_fdc_slot_device *>(owner());
space.install_readwrite_handler(0xfe80, 0xfe83, READ8_DELEGATE(bbc_cumanafdc_device, ctrl_r), WRITE8_DELEGATE(bbc_cumanafdc_device, ctrl_w));
- space.install_readwrite_handler(0xfe84, 0xfe9f, READ8_DEVICE_DELEGATE(m_fdc, mb8877_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, mb8877_t, write));
+ space.install_readwrite_handler(0xfe84, 0xfe9f, READ8_DEVICE_DELEGATE(m_fdc, mb8877_device, read), WRITE8_DEVICE_DELEGATE(m_fdc, mb8877_device, write));
}
//-------------------------------------------------
diff --git a/src/devices/bus/bbc/fdc/cumana.h b/src/devices/bus/bbc/fdc/cumana.h
index 5bae494f090..465644ba683 100644
--- a/src/devices/bus/bbc/fdc/cumana.h
+++ b/src/devices/bus/bbc/fdc/cumana.h
@@ -6,9 +6,10 @@
**********************************************************************/
+#ifndef MAME_BUS_BBC_FDC_CUMANA_H
+#define MAME_BUS_BBC_FDC_CUMANA_H
-#ifndef __BBC_CUMANA__
-#define __BBC_CUMANA__
+#pragma once
#include "fdc.h"
#include "machine/wd_fdc.h"
@@ -25,9 +26,6 @@ class bbc_cumanafdc_device :
{
public:
- // construction/destruction
- bbc_cumanafdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
DECLARE_FLOPPY_FORMATS(floppy_formats);
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
@@ -37,6 +35,9 @@ public:
DECLARE_WRITE8_MEMBER(ctrl_w);
protected:
+ // construction/destruction
+ bbc_cumanafdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -45,7 +46,7 @@ protected:
private:
required_memory_region m_dfs_rom;
- required_device<mb8877_t> m_fdc;
+ required_device<mb8877_device> m_fdc;
required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
@@ -73,8 +74,8 @@ public:
// device type definition
-extern const device_type BBC_CUMANA1;
-extern const device_type BBC_CUMANA2;
+DECLARE_DEVICE_TYPE(BBC_CUMANA1, bbc_cumana1_device)
+DECLARE_DEVICE_TYPE(BBC_CUMANA2, bbc_cumana2_device)
-#endif /* __BBC_CUMANA__ */
+#endif // MAME_BUS_BBC_FDC_CUMANA_H
diff --git a/src/devices/bus/bbc/fdc/fdc.cpp b/src/devices/bus/bbc/fdc/fdc.cpp
index 58bbfc416e3..bd824459c2d 100644
--- a/src/devices/bus/bbc/fdc/fdc.cpp
+++ b/src/devices/bus/bbc/fdc/fdc.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_FDC_SLOT = device_creator<bbc_fdc_slot_device>;
+DEFINE_DEVICE_TYPE(BBC_FDC_SLOT, bbc_fdc_slot_device, "bbc_fdc_slot", "BBC Micro FDC slot")
//**************************************************************************
@@ -50,8 +50,8 @@ device_bbc_fdc_interface::~device_bbc_fdc_interface()
//-------------------------------------------------
bbc_fdc_slot_device::bbc_fdc_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BBC_FDC_SLOT, "BBC Micro FDC slot", tag, owner, clock, "bbc_fdc_slot", __FILE__),
- device_slot_interface(mconfig, *this),
+ device_t(mconfig, BBC_FDC_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
m_card(nullptr),
m_intrq_handler(*this),
m_drq_handler(*this)
diff --git a/src/devices/bus/bbc/fdc/fdc.h b/src/devices/bus/bbc/fdc/fdc.h
index 186d6497b0e..0aa5a54d15d 100644
--- a/src/devices/bus/bbc/fdc/fdc.h
+++ b/src/devices/bus/bbc/fdc/fdc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BBC_FDC_FDC_H
+#define MAME_BUS_BBC_FDC_FDC_H
-#ifndef __BBC_FDC_SLOT__
-#define __BBC_FDC_SLOT__
+#pragma once
@@ -44,10 +44,10 @@ public:
virtual ~bbc_fdc_slot_device();
// callbacks
- template<class _Object> static devcb_base &set_intrq_handler(device_t &device, _Object object)
- { return downcast<bbc_fdc_slot_device &>(device).m_intrq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_drq_handler(device_t &device, _Object object)
- { return downcast<bbc_fdc_slot_device &>(device).m_drq_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_intrq_handler(device_t &device, Object &&cb)
+ { return downcast<bbc_fdc_slot_device &>(device).m_intrq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_drq_handler(device_t &device, Object &&cb)
+ { return downcast<bbc_fdc_slot_device &>(device).m_drq_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( intrq_w ) { m_intrq_handler(state); }
DECLARE_WRITE_LINE_MEMBER( drq_w) { m_drq_handler(state); }
@@ -71,18 +71,19 @@ class device_bbc_fdc_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_bbc_fdc_interface(const machine_config &mconfig, device_t &device);
virtual ~device_bbc_fdc_interface();
protected:
+ device_bbc_fdc_interface(const machine_config &mconfig, device_t &device);
+
bbc_fdc_slot_device *m_slot;
};
// device type definition
-extern const device_type BBC_FDC_SLOT;
+DECLARE_DEVICE_TYPE(BBC_FDC_SLOT, bbc_fdc_slot_device)
SLOT_INTERFACE_EXTERN( bbc_fdc_devices );
-#endif
+#endif // MAME_BUS_BBC_FDC_FDC_H
diff --git a/src/devices/bus/bbc/fdc/opus.cpp b/src/devices/bus/bbc/fdc/opus.cpp
index ccc75650925..245b20f9c60 100644
--- a/src/devices/bus/bbc/fdc/opus.cpp
+++ b/src/devices/bus/bbc/fdc/opus.cpp
@@ -20,9 +20,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_OPUS2791 = device_creator<bbc_opus2791_device>;
-const device_type BBC_OPUS2793 = device_creator<bbc_opus2793_device>;
-const device_type BBC_OPUS1770 = device_creator<bbc_opus1770_device>;
+DEFINE_DEVICE_TYPE(BBC_OPUS2791, bbc_opus2791_device, "bbc_opus2791", "Opus 2791 FDC")
+DEFINE_DEVICE_TYPE(BBC_OPUS2793, bbc_opus2793_device, "bbc_opus2793", "Opus 2793 FDC")
+DEFINE_DEVICE_TYPE(BBC_OPUS1770, bbc_opus1770_device, "bbc_opus1770", "Opus D-DOS(B) 1770 FDC")
//-------------------------------------------------
@@ -144,8 +144,8 @@ const tiny_rom_entry *bbc_opus1770_device::device_rom_region() const
// bbc_opusfdc_device - constructor
//-------------------------------------------------
-bbc_opusfdc_device::bbc_opusfdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+bbc_opusfdc_device::bbc_opusfdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_bbc_fdc_interface(mconfig, *this),
m_dfs_rom(*this, "dfs_rom"),
m_fdc(*this, "fdc"),
@@ -155,17 +155,17 @@ bbc_opusfdc_device::bbc_opusfdc_device(const machine_config &mconfig, device_typ
}
bbc_opus2791_device::bbc_opus2791_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_opusfdc_device(mconfig, BBC_OPUS2791, "Opus 2791 FDC", tag, owner, clock, "bbc_opus2791", __FILE__)
+ : bbc_opusfdc_device(mconfig, BBC_OPUS2791, tag, owner, clock)
{
}
bbc_opus2793_device::bbc_opus2793_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_opusfdc_device(mconfig, BBC_OPUS2793, "Opus 2793 FDC", tag, owner, clock, "bbc_opus2793", __FILE__)
+ : bbc_opusfdc_device(mconfig, BBC_OPUS2793, tag, owner, clock)
{
}
bbc_opus1770_device::bbc_opus1770_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_opusfdc_device(mconfig, BBC_OPUS1770, "Opus D-DOS(B) 1770 FDC", tag, owner, clock, "bbc_opus1770", __FILE__)
+ : bbc_opusfdc_device(mconfig, BBC_OPUS1770, tag, owner, clock)
{
}
@@ -179,7 +179,7 @@ void bbc_opusfdc_device::device_start()
address_space& space = cpu->memory().space(AS_PROGRAM);
m_slot = dynamic_cast<bbc_fdc_slot_device *>(owner());
- space.install_readwrite_handler(0xfe80, 0xfe83, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, write));
+ space.install_readwrite_handler(0xfe80, 0xfe83, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, write));
space.install_readwrite_handler(0xfe84, 0xfe84, READ8_DELEGATE(bbc_opusfdc_device, ctrl_r), WRITE8_DELEGATE(bbc_opusfdc_device, ctrl_w));
}
diff --git a/src/devices/bus/bbc/fdc/opus.h b/src/devices/bus/bbc/fdc/opus.h
index b59291bf205..60deb3cd0af 100644
--- a/src/devices/bus/bbc/fdc/opus.h
+++ b/src/devices/bus/bbc/fdc/opus.h
@@ -6,9 +6,8 @@
**********************************************************************/
-
-#ifndef __BBC_OPUSFDC__
-#define __BBC_OPUSFDC__
+#ifndef MAME_BUS_BBC_FDC_OPUS_H
+#define MAME_BUS_BBC_FDC_OPUS_H
#include "fdc.h"
#include "machine/wd_fdc.h"
@@ -25,9 +24,6 @@ class bbc_opusfdc_device:
{
public:
- // construction/destruction
- bbc_opusfdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
DECLARE_FLOPPY_FORMATS(floppy_formats);
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
@@ -37,13 +33,16 @@ public:
DECLARE_WRITE8_MEMBER(ctrl_w);
protected:
+ // construction/destruction
+ bbc_opusfdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
private:
required_memory_region m_dfs_rom;
- required_device<wd_fdc_t> m_fdc;
+ required_device<wd_fdc_device_base> m_fdc;
required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
@@ -78,8 +77,8 @@ public:
};
// device type definition
-extern const device_type BBC_OPUS2791;
-extern const device_type BBC_OPUS2793;
-extern const device_type BBC_OPUS1770;
+DECLARE_DEVICE_TYPE(BBC_OPUS2791, bbc_opus2791_device)
+DECLARE_DEVICE_TYPE(BBC_OPUS2793, bbc_opus2793_device)
+DECLARE_DEVICE_TYPE(BBC_OPUS1770, bbc_opus1770_device)
-#endif /* __BBC_OPUSFDC_ */
+#endif // MAME_BUS_BBC_FDC_OPUS_H
diff --git a/src/devices/bus/bbc/fdc/watford.cpp b/src/devices/bus/bbc/fdc/watford.cpp
index 158e7c9a9c3..b63e1e92f69 100644
--- a/src/devices/bus/bbc/fdc/watford.cpp
+++ b/src/devices/bus/bbc/fdc/watford.cpp
@@ -19,8 +19,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_WEDDB2 = device_creator<bbc_weddb2_device>;
-const device_type BBC_WEDDB3 = device_creator<bbc_weddb3_device>;
+DEFINE_DEVICE_TYPE(BBC_WEDDB2, bbc_weddb2_device, "bbc_weddb2", "Watford Electronics DDB2 1772 FDC")
+DEFINE_DEVICE_TYPE(BBC_WEDDB3, bbc_weddb3_device, "bbc_weddb3", "Watford Electronics DDB3 1770 FDC")
//-------------------------------------------------
@@ -114,14 +114,14 @@ const tiny_rom_entry *bbc_weddb3_device::device_rom_region() const
// bbc_watfordfdc_device - constructor
//-------------------------------------------------
-bbc_watfordfdc_device::bbc_watfordfdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+bbc_watfordfdc_device::bbc_watfordfdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_bbc_fdc_interface(mconfig, *this)
{
}
bbc_weddb2_device::bbc_weddb2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_watfordfdc_device(mconfig, BBC_WEDDB2, "Watford Electronics DDB2 1772 FDC", tag, owner, clock, "bbc_weddb2", __FILE__),
+ : bbc_watfordfdc_device(mconfig, BBC_WEDDB2, tag, owner, clock),
m_dfs_rom(*this, "dfs_rom"),
m_fdc(*this, "wd1772"),
m_floppy0(*this, "wd1772:0"),
@@ -130,7 +130,7 @@ bbc_weddb2_device::bbc_weddb2_device(const machine_config &mconfig, const char *
}
bbc_weddb3_device::bbc_weddb3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_watfordfdc_device(mconfig, BBC_WEDDB3, "Watford Electronics DDB3 1770 FDC", tag, owner, clock, "bbc_weddb3", __FILE__),
+ : bbc_watfordfdc_device(mconfig, BBC_WEDDB3, tag, owner, clock),
m_dfs_rom(*this, "dfs_rom"),
m_fdc(*this, "wd1770"),
m_floppy0(*this, "wd1770:0"),
@@ -149,7 +149,7 @@ void bbc_weddb2_device::device_start()
m_slot = dynamic_cast<bbc_fdc_slot_device *>(owner());
space.install_readwrite_handler(0xfe80, 0xfe83, READ8_DELEGATE(bbc_weddb2_device, wd177xl_read), WRITE8_DELEGATE(bbc_weddb2_device, wd177xl_write));
- space.install_readwrite_handler(0xfe84, 0xfe8f, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, write));
+ space.install_readwrite_handler(0xfe84, 0xfe8f, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, write));
}
void bbc_weddb3_device::device_start()
@@ -159,7 +159,7 @@ void bbc_weddb3_device::device_start()
m_slot = dynamic_cast<bbc_fdc_slot_device *>(owner());
space.install_readwrite_handler(0xfe80, 0xfe83, READ8_DELEGATE(bbc_weddb3_device, wd177xl_read), WRITE8_DELEGATE(bbc_weddb3_device, wd177xl_write));
- space.install_readwrite_handler(0xfe84, 0xfe8f, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, write));
+ space.install_readwrite_handler(0xfe84, 0xfe8f, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, write));
}
//-------------------------------------------------
diff --git a/src/devices/bus/bbc/fdc/watford.h b/src/devices/bus/bbc/fdc/watford.h
index 9a29ee79777..09b3a846a9a 100644
--- a/src/devices/bus/bbc/fdc/watford.h
+++ b/src/devices/bus/bbc/fdc/watford.h
@@ -6,9 +6,10 @@
**********************************************************************/
+#ifndef MAME_BUS_BBC_FDC_WATFORD_H
+#define MAME_BUS_BBC_FDC_WATFORD_H
-#ifndef __BBC_WATFORD__
-#define __BBC_WATFORD__
+#pragma once
#include "fdc.h"
#include "machine/wd_fdc.h"
@@ -25,13 +26,14 @@ class bbc_watfordfdc_device :
{
public:
- // construction/destruction
- bbc_watfordfdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
DECLARE_FLOPPY_FORMATS(floppy_formats);
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
+
+protected:
+ // construction/destruction
+ bbc_watfordfdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
class bbc_weddb2_device : public bbc_watfordfdc_device
@@ -52,7 +54,7 @@ protected:
private:
required_memory_region m_dfs_rom;
- required_device<wd_fdc_t> m_fdc;
+ required_device<wd_fdc_device_base> m_fdc;
required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
@@ -77,7 +79,7 @@ protected:
private:
required_memory_region m_dfs_rom;
- required_device<wd_fdc_t> m_fdc;
+ required_device<wd_fdc_device_base> m_fdc;
required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
@@ -86,8 +88,8 @@ private:
// device type definition
-extern const device_type BBC_WEDDB2;
-extern const device_type BBC_WEDDB3;
+DECLARE_DEVICE_TYPE(BBC_WEDDB2, bbc_weddb2_device)
+DECLARE_DEVICE_TYPE(BBC_WEDDB3, bbc_weddb3_device)
-#endif /* __BBC_WATFORD__ */
+#endif // MAME_BUS_BBC_FDC_WATFORD_H
diff --git a/src/devices/bus/bbc/joyport/joyport.cpp b/src/devices/bus/bbc/joyport/joyport.cpp
index 872aa0cb5f0..d15f0cb6166 100644
--- a/src/devices/bus/bbc/joyport/joyport.cpp
+++ b/src/devices/bus/bbc/joyport/joyport.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_JOYPORT_SLOT = device_creator<bbc_joyport_slot_device>;
+DEFINE_DEVICE_TYPE(BBC_JOYPORT_SLOT, bbc_joyport_slot_device, "bbc_joyport_slot", "BBC Master Compact Joystick/Mouse port")
//**************************************************************************
@@ -50,8 +50,8 @@ device_bbc_joyport_interface::~device_bbc_joyport_interface()
//-------------------------------------------------
bbc_joyport_slot_device::bbc_joyport_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BBC_JOYPORT_SLOT, "BBC Master Compact Joystick/Mouse port", tag, owner, clock, "bbc_joyport_slot", __FILE__),
- device_slot_interface(mconfig, *this),
+ device_t(mconfig, BBC_JOYPORT_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
m_device(nullptr)
{
}
diff --git a/src/devices/bus/bbc/joyport/joyport.h b/src/devices/bus/bbc/joyport/joyport.h
index 158ce1433f7..43de9d7b0c5 100644
--- a/src/devices/bus/bbc/joyport/joyport.h
+++ b/src/devices/bus/bbc/joyport/joyport.h
@@ -26,10 +26,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BBC_JOYPORT_JOYPORT_H
+#define MAME_BUS_BBC_JOYPORT_JOYPORT_H
-#ifndef __COMPACT_JOYPORT__
-#define __COMPACT_JOYPORT__
+#pragma once
@@ -54,7 +54,6 @@ class bbc_joyport_slot_device : public device_t, public device_slot_interface
public:
// construction/destruction
bbc_joyport_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~bbc_joyport_slot_device() {}
uint8_t cb_r();
uint8_t pb_r();
@@ -74,21 +73,22 @@ class device_bbc_joyport_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_bbc_joyport_interface(const machine_config &mconfig, device_t &device);
virtual ~device_bbc_joyport_interface();
virtual uint8_t cb_r() { return 0xff; }
virtual uint8_t pb_r() { return 0x1f; }
protected:
+ device_bbc_joyport_interface(const machine_config &mconfig, device_t &device);
+
bbc_joyport_slot_device *m_slot;
};
// device type definition
-extern const device_type BBC_JOYPORT_SLOT;
+DECLARE_DEVICE_TYPE(BBC_JOYPORT_SLOT, bbc_joyport_slot_device)
SLOT_INTERFACE_EXTERN( bbc_joyport_devices );
-#endif /* __COMPACT_JOYPORT__ */
+#endif // MAME_BUS_BBC_JOYPORT_JOYPORT_H
diff --git a/src/devices/bus/bbc/joyport/joystick.cpp b/src/devices/bus/bbc/joyport/joystick.cpp
index d4eecd8acaf..ee02a64a56a 100644
--- a/src/devices/bus/bbc/joyport/joystick.cpp
+++ b/src/devices/bus/bbc/joyport/joystick.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBCMC_JOYSTICK = device_creator<bbcmc_joystick_device>;
+DEFINE_DEVICE_TYPE(BBCMC_JOYSTICK, bbcmc_joystick_device, "bbcmc_joystick", "Master Compact Joystick")
static INPUT_PORTS_START( joystick )
@@ -45,9 +45,9 @@ ioport_constructor bbcmc_joystick_device::device_input_ports() const
//-------------------------------------------------
bbcmc_joystick_device::bbcmc_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBCMC_JOYSTICK, "Master Compact Joystick", tag, owner, clock, "bbcmc_joystick", __FILE__),
- device_bbc_joyport_interface(mconfig, *this),
- m_joy(*this, "JOY")
+ : device_t(mconfig, BBCMC_JOYSTICK, tag, owner, clock)
+ , device_bbc_joyport_interface(mconfig, *this)
+ , m_joy(*this, "JOY")
{
}
diff --git a/src/devices/bus/bbc/joyport/joystick.h b/src/devices/bus/bbc/joyport/joystick.h
index 4f1c3dba611..bfbc67543df 100644
--- a/src/devices/bus/bbc/joyport/joystick.h
+++ b/src/devices/bus/bbc/joyport/joystick.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BBC_JOYPORT_JOYSTICK_H
+#define MAME_BUS_BBC_JOYPORT_JOYSTICK_H
-#ifndef __BBCMC_JOYSTICK__
-#define __BBCMC_JOYSTICK__
+#pragma once
#include "joyport.h"
@@ -45,7 +45,7 @@ private:
// device type definition
-extern const device_type BBCMC_JOYSTICK;
+DECLARE_DEVICE_TYPE(BBCMC_JOYSTICK, bbcmc_joystick_device)
-#endif
+#endif // MAME_BUS_BBC_JOYPORT_JOYSTICK_H
diff --git a/src/devices/bus/bbc/tube/tube.cpp b/src/devices/bus/bbc/tube/tube.cpp
index 694cecfc2f3..5404402c0c6 100644
--- a/src/devices/bus/bbc/tube/tube.cpp
+++ b/src/devices/bus/bbc/tube/tube.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BBC_TUBE_SLOT = device_creator<bbc_tube_slot_device>;
+DEFINE_DEVICE_TYPE(BBC_TUBE_SLOT, bbc_tube_slot_device, "bbc_tube_slot", "BBC Micro Tube port")
@@ -53,8 +53,8 @@ device_bbc_tube_interface::~device_bbc_tube_interface()
//-------------------------------------------------
bbc_tube_slot_device::bbc_tube_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BBC_TUBE_SLOT, "BBC Micro Tube port", tag, owner, clock, "bbc_tube_slot", __FILE__),
- device_slot_interface(mconfig, *this)
+ device_t(mconfig, BBC_TUBE_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/bbc/tube/tube.h b/src/devices/bus/bbc/tube/tube.h
index 0828577de1d..404b9312902 100644
--- a/src/devices/bus/bbc/tube/tube.h
+++ b/src/devices/bus/bbc/tube/tube.h
@@ -31,10 +31,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BBC_TUBE_TUBE_H
+#define MAME_BUS_BBC_TUBE_TUBE_H
-#ifndef __BBC_TUBE_SLOT__
-#define __BBC_TUBE_SLOT__
+#pragma once
@@ -66,21 +66,17 @@
class device_bbc_tube_interface;
-class bbc_tube_slot_device : public device_t,
- public device_slot_interface
+class bbc_tube_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
bbc_tube_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~bbc_tube_slot_device() {}
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
-
device_bbc_tube_interface *m_card;
};
@@ -91,19 +87,20 @@ class device_bbc_tube_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_bbc_tube_interface(const machine_config &mconfig, device_t &device);
virtual ~device_bbc_tube_interface();
protected:
+ device_bbc_tube_interface(const machine_config &mconfig, device_t &device);
+
bbc_tube_slot_device *m_slot;
};
// device type definition
-extern const device_type BBC_TUBE_SLOT;
+DECLARE_DEVICE_TYPE(BBC_TUBE_SLOT, bbc_tube_slot_device)
SLOT_INTERFACE_EXTERN( bbc_tube_ext_devices );
SLOT_INTERFACE_EXTERN( bbc_tube_int_devices );
-#endif
+#endif // MAME_BUS_BBC_TUBE_TUBE_H
diff --git a/src/devices/bus/bbc/userport/userport.cpp b/src/devices/bus/bbc/userport/userport.cpp
index ed6858a20a6..51591bbe85e 100644
--- a/src/devices/bus/bbc/userport/userport.cpp
+++ b/src/devices/bus/bbc/userport/userport.cpp
@@ -14,7 +14,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type BBC_USERPORT_SLOT = device_creator<bbc_userport_device>;
+DEFINE_DEVICE_TYPE(BBC_USERPORT_SLOT, bbc_userport_device, "bbc_userport_slot", "BBC Micro User port")
@@ -52,8 +52,8 @@ device_bbc_userport_interface::~device_bbc_userport_interface()
//-------------------------------------------------
bbc_userport_device::bbc_userport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BBC_USERPORT_SLOT, "BBC Micro User port", tag, owner, clock, "bbc_userport_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, BBC_USERPORT_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this), m_device(nullptr)
{
}
diff --git a/src/devices/bus/bbc/userport/userport.h b/src/devices/bus/bbc/userport/userport.h
index 6258e57324c..0db9464af32 100644
--- a/src/devices/bus/bbc/userport/userport.h
+++ b/src/devices/bus/bbc/userport/userport.h
@@ -25,10 +25,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BBC_USERPORT_USERPORT_H
+#define MAME_BUS_BBC_USERPORT_USERPORT_H
-#ifndef __BBC_USERPORT_SLOT__
-#define __BBC_USERPORT_SLOT__
+#pragma once
//**************************************************************************
@@ -43,7 +43,6 @@ class device_bbc_userport_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_bbc_userport_interface(const machine_config &mconfig, device_t &device);
virtual ~device_bbc_userport_interface();
virtual uint8_t read_portb() { return 0xff; };
@@ -51,6 +50,8 @@ public:
virtual uint8_t read_cb2() { return 0xff; };
protected:
+ device_bbc_userport_interface(const machine_config &mconfig, device_t &device);
+
bbc_userport_device *m_slot;
};
@@ -62,7 +63,6 @@ class bbc_userport_device : public device_t,
public:
// construction/destruction
bbc_userport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~bbc_userport_device() {}
uint8_t read_portb();
uint8_t read_cb1();
@@ -76,7 +76,7 @@ protected:
};
// device type definition
-extern const device_type BBC_USERPORT_SLOT;
+DECLARE_DEVICE_TYPE(BBC_USERPORT_SLOT, bbc_userport_device)
//**************************************************************************
@@ -100,4 +100,4 @@ extern const device_type BBC_USERPORT_SLOT;
SLOT_INTERFACE_EXTERN( bbc_userport_devices );
-#endif
+#endif // MAME_BUS_BBC_USERPORT_USERPORT_H
diff --git a/src/devices/bus/bml3/bml3bus.cpp b/src/devices/bus/bml3/bml3bus.cpp
index 8bbc443672a..fc427756876 100644
--- a/src/devices/bus/bml3/bml3bus.cpp
+++ b/src/devices/bus/bml3/bml3bus.cpp
@@ -50,7 +50,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type BML3BUS_SLOT = device_creator<bml3bus_slot_device>;
+DEFINE_DEVICE_TYPE(BML3BUS_SLOT, bml3bus_slot_device, "bml3bus_slot", "Hitachi MB-6890 Slot")
//**************************************************************************
// LIVE DEVICE
@@ -60,14 +60,13 @@ const device_type BML3BUS_SLOT = device_creator<bml3bus_slot_device>;
// bml3bus_slot_device - constructor
//-------------------------------------------------
bml3bus_slot_device::bml3bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BML3BUS_SLOT, "Hitachi MB-6890 Slot", tag, owner, clock, "bml3bus_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_bml3bus_tag(nullptr), m_bml3bus_slottag(nullptr)
+ bml3bus_slot_device(mconfig, BML3BUS_SLOT, tag, owner, clock)
{
}
-bml3bus_slot_device::bml3bus_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this), m_bml3bus_tag(nullptr), m_bml3bus_slottag(nullptr)
+bml3bus_slot_device::bml3bus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_slot_interface(mconfig, *this), m_bml3bus_tag(nullptr), m_bml3bus_slottag(nullptr)
{
}
@@ -93,7 +92,7 @@ void bml3bus_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type BML3BUS = device_creator<bml3bus_device>;
+DEFINE_DEVICE_TYPE(BML3BUS, bml3bus_device, "bml3bus", "Hitachi MB-6890 Bus")
void bml3bus_device::static_set_cputag(device_t &device, const char *tag)
{
@@ -110,18 +109,17 @@ void bml3bus_device::static_set_cputag(device_t &device, const char *tag)
//-------------------------------------------------
bml3bus_device::bml3bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BML3BUS, "Hitachi MB-6890 Bus", tag, owner, clock, "bml3bus", __FILE__), m_maincpu(nullptr),
- m_out_nmi_cb(*this),
- m_out_irq_cb(*this),
- m_out_firq_cb(*this), m_cputag(nullptr)
+ bml3bus_device(mconfig, BML3BUS, tag, owner, clock)
{
}
-bml3bus_device::bml3bus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source), m_maincpu(nullptr),
- m_out_nmi_cb(*this),
- m_out_irq_cb(*this),
- m_out_firq_cb(*this), m_cputag(nullptr)
+bml3bus_device::bml3bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ m_maincpu(nullptr),
+ m_out_nmi_cb(*this),
+ m_out_irq_cb(*this),
+ m_out_firq_cb(*this),
+ m_cputag(nullptr)
{
}
//-------------------------------------------------
diff --git a/src/devices/bus/bml3/bml3bus.h b/src/devices/bus/bml3/bml3bus.h
index 3b90a25fd60..32046d40f57 100644
--- a/src/devices/bus/bml3/bml3bus.h
+++ b/src/devices/bus/bml3/bml3bus.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_BML3_BML3BUS_H
+#define MAME_BUS_BML3_BML3BUS_H
-#ifndef __BML3BUS_H__
-#define __BML3BUS_H__
+#pragma once
#define BML3BUS_MAX_SLOTS 6
@@ -56,20 +56,22 @@ class bml3bus_slot_device : public device_t,
public:
// construction/destruction
bml3bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- bml3bus_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// device-level overrides
virtual void device_start() override;
// inline configuration
static void static_set_bml3bus_slot(device_t &device, const char *tag, const char *slottag);
+
protected:
+ bml3bus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// configuration
const char *m_bml3bus_tag, *m_bml3bus_slottag;
};
// device type definition
-extern const device_type BML3BUS_SLOT;
+DECLARE_DEVICE_TYPE(BML3BUS_SLOT, bml3bus_slot_device)
class device_bml3bus_card_interface;
@@ -79,13 +81,12 @@ class bml3bus_device : public device_t
public:
// construction/destruction
bml3bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- bml3bus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// inline configuration
static void static_set_cputag(device_t &device, const char *tag);
- template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<bml3bus_device &>(device).m_out_nmi_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<bml3bus_device &>(device).m_out_irq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_firq_callback(device_t &device, _Object object) { return downcast<bml3bus_device &>(device).m_out_firq_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<bml3bus_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq_callback(device_t &device, Object &&cb) { return downcast<bml3bus_device &>(device).m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_firq_callback(device_t &device, Object &&cb) { return downcast<bml3bus_device &>(device).m_out_firq_cb.set_callback(std::forward<Object>(cb)); }
void add_bml3bus_card(int slot, device_bml3bus_card_interface *card);
device_bml3bus_card_interface *get_bml3bus_card(int slot);
@@ -99,6 +100,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( firq_w );
protected:
+ bml3bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -116,7 +119,7 @@ protected:
// device type definition
-extern const device_type BML3BUS;
+DECLARE_DEVICE_TYPE(BML3BUS, bml3bus_device)
// ======================> device_bml3bus_card_interface
@@ -126,7 +129,6 @@ class device_bml3bus_card_interface : public device_slot_card_interface
friend class bml3bus_device;
public:
// construction/destruction
- device_bml3bus_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_bml3bus_card_interface();
device_bml3bus_card_interface *next() const { return m_next; }
@@ -142,11 +144,14 @@ public:
// inline configuration
static void static_set_bml3bus_tag(device_t &device, const char *tag, const char *slottag);
-public:
+
+protected:
+ device_bml3bus_card_interface(const machine_config &mconfig, device_t &device);
+
bml3bus_device *m_bml3bus;
const char *m_bml3bus_tag, *m_bml3bus_slottag;
int m_slot;
device_bml3bus_card_interface *m_next;
};
-#endif /* __BML3BUS_H__ */
+#endif // MAME_BUS_BML3_BML3BUS_H
diff --git a/src/devices/bus/bml3/bml3kanji.cpp b/src/devices/bus/bml3/bml3kanji.cpp
index 753b0665f19..a3e214fcab3 100644
--- a/src/devices/bus/bml3/bml3kanji.cpp
+++ b/src/devices/bus/bml3/bml3kanji.cpp
@@ -20,7 +20,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type BML3BUS_KANJI = device_creator<bml3bus_kanji_device>;
+DEFINE_DEVICE_TYPE(BML3BUS_KANJI, bml3bus_kanji_device, "bml3kanji", "Hitachi MP-9740 Kanji Character ROM Card")
#define KANJI_ROM_REGION "kanji_rom"
@@ -73,7 +73,7 @@ WRITE8_MEMBER( bml3bus_kanji_device::bml3_kanji_w )
//**************************************************************************
bml3bus_kanji_device::bml3bus_kanji_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BML3BUS_KANJI, "Hitachi MP-9740 Kanji Character ROM Card", tag, owner, clock, "bml3kanji", __FILE__),
+ device_t(mconfig, BML3BUS_KANJI, tag, owner, clock),
device_bml3bus_card_interface(mconfig, *this), m_kanji_addr(0), m_rom(nullptr)
{
}
diff --git a/src/devices/bus/bml3/bml3kanji.h b/src/devices/bus/bml3/bml3kanji.h
index 1472f82d40b..f8ada6a420f 100644
--- a/src/devices/bus/bml3/bml3kanji.h
+++ b/src/devices/bus/bml3/bml3kanji.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __BML3BUS_KANJI__
-#define __BML3BUS_KANJI__
+#ifndef MAME_BUS_BML3_BML3KANJI_H
+#define MAME_BUS_BML3_BML3KANJI_H
+
+#pragma once
#include "bml3bus.h"
@@ -43,6 +45,6 @@ private:
};
// device type definition
-extern const device_type BML3BUS_KANJI;
+DECLARE_DEVICE_TYPE(BML3BUS_KANJI, bml3bus_kanji_device)
-#endif /* __BML3BUS_KANJI__ */
+#endif // MAME_BUS_BML3_BML3KANJI_H
diff --git a/src/devices/bus/bml3/bml3mp1802.cpp b/src/devices/bus/bml3/bml3mp1802.cpp
index 201e28b87fc..ab51c2dd291 100644
--- a/src/devices/bus/bml3/bml3mp1802.cpp
+++ b/src/devices/bus/bml3/bml3mp1802.cpp
@@ -21,7 +21,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type BML3BUS_MP1802 = device_creator<bml3bus_mp1802_device>;
+DEFINE_DEVICE_TYPE(BML3BUS_MP1802, bml3bus_mp1802_device, "bml3mp1802", "Hitachi MP-1802 Floppy Controller Card")
static SLOT_INTERFACE_START( mp1802_floppies )
SLOT_INTERFACE("dd", FLOPPY_525_DD)
@@ -107,7 +107,7 @@ WRITE8_MEMBER( bml3bus_mp1802_device::bml3_mp1802_w)
//**************************************************************************
bml3bus_mp1802_device::bml3bus_mp1802_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BML3BUS_MP1802, "Hitachi MP-1802 Floppy Controller Card", tag, owner, clock, "bml3mp1802", __FILE__),
+ device_t(mconfig, BML3BUS_MP1802, tag, owner, clock),
device_bml3bus_card_interface(mconfig, *this),
m_fdc(*this, "fdc"),
m_floppy0(*this, "fdc:0"),
@@ -131,7 +131,7 @@ void bml3bus_mp1802_device::device_start()
// install into memory
address_space &space_prg = machine().firstcpu->space(AS_PROGRAM);
- space_prg.install_readwrite_handler(0xff00, 0xff03, read8_delegate(FUNC(mb8866_t::read),(mb8866_t*)m_fdc), write8_delegate(FUNC(mb8866_t::write),(mb8866_t*)m_fdc));
+ space_prg.install_readwrite_handler(0xff00, 0xff03, read8_delegate(FUNC(mb8866_device::read),(mb8866_device*)m_fdc), write8_delegate(FUNC(mb8866_device::write),(mb8866_device*)m_fdc));
space_prg.install_readwrite_handler(0xff04, 0xff04, read8_delegate(FUNC(bml3bus_mp1802_device::bml3_mp1802_r), this), write8_delegate(FUNC(bml3bus_mp1802_device::bml3_mp1802_w), this));
// overwriting the main ROM (rather than using e.g. install_rom) should mean that bank switches for RAM expansion still work...
uint8_t *mainrom = device().machine().root_device().memregion("maincpu")->base();
diff --git a/src/devices/bus/bml3/bml3mp1802.h b/src/devices/bus/bml3/bml3mp1802.h
index 27e109fc67d..7d519ebca75 100644
--- a/src/devices/bus/bml3/bml3mp1802.h
+++ b/src/devices/bus/bml3/bml3mp1802.h
@@ -9,8 +9,10 @@
*********************************************************************/
-#ifndef __BML3BUS_MP1802__
-#define __BML3BUS_MP1802__
+#ifndef MAME_BUS_BML3_BML3MP1802_H
+#define MAME_BUS_BML3_BML3MP1802_H
+
+#pragma once
#include "bml3bus.h"
#include "imagedev/flopdrv.h"
@@ -42,7 +44,7 @@ protected:
virtual void device_reset() override;
private:
- required_device<mb8866_t> m_fdc;
+ required_device<mb8866_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_device<floppy_connector> m_floppy2;
@@ -53,5 +55,6 @@ private:
// device type definition
extern const device_type BML3BUS_MP1802;
+DECLARE_DEVICE_TYPE(BML3BUS_MP1802, bml3bus_mp1802_device)
-#endif /* __BML3BUS_MP1802__ */
+#endif // MAME_BUS_BML3_BML3MP1802_H
diff --git a/src/devices/bus/bml3/bml3mp1805.cpp b/src/devices/bus/bml3/bml3mp1805.cpp
index dc8b9e58551..5e72bd13b26 100644
--- a/src/devices/bus/bml3/bml3mp1805.cpp
+++ b/src/devices/bus/bml3/bml3mp1805.cpp
@@ -21,7 +21,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type BML3BUS_MP1805 = device_creator<bml3bus_mp1805_device>;
+DEFINE_DEVICE_TYPE(BML3BUS_MP1805, bml3bus_mp1805_device, "bml3mp1805", "Hitachi MP-1805 Floppy Controller Card")
static const floppy_interface bml3_mp1805_floppy_interface =
{
@@ -138,7 +138,7 @@ WRITE8_MEMBER( bml3bus_mp1805_device::bml3_mp1805_w)
//**************************************************************************
bml3bus_mp1805_device::bml3bus_mp1805_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BML3BUS_MP1805, "Hitachi MP-1805 Floppy Controller Card", tag, owner, clock, "bml3mp1805", __FILE__),
+ device_t(mconfig, BML3BUS_MP1805, tag, owner, clock),
device_bml3bus_card_interface(mconfig, *this),
m_mc6843(*this, "mc6843"), m_rom(nullptr)
{
diff --git a/src/devices/bus/bml3/bml3mp1805.h b/src/devices/bus/bml3/bml3mp1805.h
index 6ea64bc2956..19d8cbdc9fe 100644
--- a/src/devices/bus/bml3/bml3mp1805.h
+++ b/src/devices/bus/bml3/bml3mp1805.h
@@ -9,8 +9,10 @@
*********************************************************************/
-#ifndef __BML3BUS_MP1805__
-#define __BML3BUS_MP1805__
+#ifndef MAME_BUS_BML3_BML3MP1805_H
+#define MAME_BUS_BML3_BML3MP1805_H
+
+#pragma once
#include "bml3bus.h"
#include "imagedev/flopdrv.h"
@@ -48,6 +50,6 @@ private:
};
// device type definition
-extern const device_type BML3BUS_MP1805;
+DECLARE_DEVICE_TYPE(BML3BUS_MP1805, bml3bus_mp1805_device)
-#endif /* __BML3BUS_MP1805__ */
+#endif // MAME_BUS_BML3_BML3MP1805_H
diff --git a/src/devices/bus/bw2/exp.cpp b/src/devices/bus/bw2/exp.cpp
index 4002d5df709..94e7a616460 100644
--- a/src/devices/bus/bw2/exp.cpp
+++ b/src/devices/bus/bw2/exp.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type BW2_EXPANSION_SLOT = device_creator<bw2_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(BW2_EXPANSION_SLOT, bw2_expansion_slot_device, "bw2_expansion_slot", "Bondwell 2 expansion port")
@@ -53,7 +53,7 @@ device_bw2_expansion_slot_interface::~device_bw2_expansion_slot_interface()
//-------------------------------------------------
bw2_expansion_slot_device::bw2_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, BW2_EXPANSION_SLOT, "Bondwell 2 expansion port", tag, owner, clock, "bw2_expansion_slot", __FILE__),
+ device_t(mconfig, BW2_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/bw2/exp.h b/src/devices/bus/bw2/exp.h
index 1be10d400e7..fe4e51298a2 100644
--- a/src/devices/bus/bw2/exp.h
+++ b/src/devices/bus/bw2/exp.h
@@ -34,10 +34,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BW2_EXP_H
+#define MAME_BUS_BW2_EXP_H
-#ifndef __BW2_EXPANSION_SLOT__
-#define __BW2_EXPANSION_SLOT__
+#pragma once
@@ -102,7 +102,6 @@ class device_bw2_expansion_slot_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_bw2_expansion_slot_interface(const machine_config &mconfig, device_t &device);
virtual ~device_bw2_expansion_slot_interface();
virtual uint8_t bw2_cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) { return data; };
@@ -115,16 +114,17 @@ public:
virtual void bw2_modsel_w(address_space &space, offs_t offset, uint8_t data) { }
protected:
+ device_bw2_expansion_slot_interface(const machine_config &mconfig, device_t &device);
+
bw2_expansion_slot_device *m_slot;
};
// device type definition
-extern const device_type BW2_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(BW2_EXPANSION_SLOT, bw2_expansion_slot_device)
SLOT_INTERFACE_EXTERN( bw2_expansion_cards );
-
-#endif
+#endif // MAME_BUS_BW2_EXP_H
diff --git a/src/devices/bus/bw2/ramcard.cpp b/src/devices/bus/bw2/ramcard.cpp
index 6e66de49933..b59159cd5b1 100644
--- a/src/devices/bus/bw2/ramcard.cpp
+++ b/src/devices/bus/bw2/ramcard.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type BW2_RAMCARD = device_creator<bw2_ramcard_device>;
+DEFINE_DEVICE_TYPE(BW2_RAMCARD, bw2_ramcard_device, "bw2_ramcard", "Bondwell 2 RAMCARD")
//-------------------------------------------------
@@ -48,7 +48,7 @@ const tiny_rom_entry *bw2_ramcard_device::device_rom_region() const
//-------------------------------------------------
bw2_ramcard_device::bw2_ramcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BW2_RAMCARD, "RAMCARD", tag, owner, clock, "bw2_ramcard", __FILE__),
+ : device_t(mconfig, BW2_RAMCARD, tag, owner, clock),
device_bw2_expansion_slot_interface(mconfig, *this),
m_rom(*this, "ramcard"),
m_ram(*this, "ram"),
diff --git a/src/devices/bus/bw2/ramcard.h b/src/devices/bus/bw2/ramcard.h
index 260dc423e30..9ac2b0433fa 100644
--- a/src/devices/bus/bw2/ramcard.h
+++ b/src/devices/bus/bw2/ramcard.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BW2_RAMCARD_H
+#define MAME_BUS_BW2_RAMCARD_H
-#ifndef __BW2_RAMCARD__
-#define __BW2_RAMCARD__
+#pragma once
#include "exp.h"
@@ -51,8 +51,8 @@ private:
// device type definition
-extern const device_type BW2_RAMCARD;
+DECLARE_DEVICE_TYPE(BW2_RAMCARD, bw2_ramcard_device)
-#endif
+#endif // MAME_BUS_BW2_RAMCARD_H
diff --git a/src/devices/bus/c64/16kb.cpp b/src/devices/bus/c64/16kb.cpp
index 4c5520950ce..0eaddc9a0f6 100644
--- a/src/devices/bus/c64/16kb.cpp
+++ b/src/devices/bus/c64/16kb.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_16KB = device_creator<c64_16kb_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_16KB, c64_16kb_cartridge_device, "c64_16kb", "C64 16KB EPROM cartridge")
//-------------------------------------------------
@@ -75,7 +75,7 @@ ioport_constructor c64_16kb_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_16kb_cartridge_device::c64_16kb_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_16KB, "C64 16KB EPROM cartridge", tag, owner, clock, "c64_16kb", __FILE__),
+ device_t(mconfig, C64_16KB, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_sw1(*this, "SW1"),
m_low(*this, "roml"),
diff --git a/src/devices/bus/c64/16kb.h b/src/devices/bus/c64/16kb.h
index 4b688b35a0d..f1685ae5956 100644
--- a/src/devices/bus/c64/16kb.h
+++ b/src/devices/bus/c64/16kb.h
@@ -6,15 +6,15 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_16KB_H
+#define MAME_BUS_C64_16KB_H
-#ifndef __C64_16KB__
-#define __C64_16KB__
+#pragma once
+#include "exp.h"
#include "bus/generic/slot.h"
#include "bus/generic/carts.h"
-#include "exp.h"
@@ -51,8 +51,6 @@ private:
// device type definition
-extern const device_type C64_16KB;
-
-
+DECLARE_DEVICE_TYPE(C64_16KB, c64_16kb_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_16KB_H
diff --git a/src/devices/bus/c64/4dxh.cpp b/src/devices/bus/c64/4dxh.cpp
index 3cd731215fd..4273388543b 100644
--- a/src/devices/bus/c64/4dxh.cpp
+++ b/src/devices/bus/c64/4dxh.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_4DXH = device_creator<c64_4dxh_device>;
+DEFINE_DEVICE_TYPE(C64_4DXH, c64_4dxh_device, "c64_4dxh", "C64 DXH 4-Player Adapter")
//-------------------------------------------------
@@ -63,7 +63,7 @@ ioport_constructor c64_4dxh_device::device_input_ports() const
//-------------------------------------------------
c64_4dxh_device::c64_4dxh_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_4DXH, "C64 DXH 4-Player Adapter", tag, owner, clock, "c64_4dxh", __FILE__),
+ device_t(mconfig, C64_4DXH, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/4dxh.h b/src/devices/bus/c64/4dxh.h
index 2360307e26b..4f84231bf03 100644
--- a/src/devices/bus/c64/4dxh.h
+++ b/src/devices/bus/c64/4dxh.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_4DXH_H
+#define MAME_BUS_C64_4DXH_H
-#ifndef __C64_4DXH__
-#define __C64_4DXH__
+#pragma once
#include "user.h"
@@ -43,7 +43,7 @@ protected:
// device type definition
-extern const device_type C64_4DXH;
+DECLARE_DEVICE_TYPE(C64_4DXH, c64_4dxh_device)
-#endif
+#endif // MAME_BUS_C64_4DXH_H
diff --git a/src/devices/bus/c64/4ksa.cpp b/src/devices/bus/c64/4ksa.cpp
index a3f47f48405..39a86b6b17c 100644
--- a/src/devices/bus/c64/4ksa.cpp
+++ b/src/devices/bus/c64/4ksa.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_4KSA = device_creator<c64_4ksa_device>;
+DEFINE_DEVICE_TYPE(C64_4KSA, c64_4ksa_device, "c64_4ksa", "C64 Kingsoft 4-Player Adapter")
//-------------------------------------------------
@@ -63,7 +63,7 @@ ioport_constructor c64_4ksa_device::device_input_ports() const
//-------------------------------------------------
c64_4ksa_device::c64_4ksa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_4KSA, "C64 Kingsoft 4-Player Adapter", tag, owner, clock, "c64_4ksa", __FILE__),
+ device_t(mconfig, C64_4KSA, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/4ksa.h b/src/devices/bus/c64/4ksa.h
index 7d9594cb4b3..7dc8676a6a8 100644
--- a/src/devices/bus/c64/4ksa.h
+++ b/src/devices/bus/c64/4ksa.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_4KSA_H
+#define MAME_BUS_C64_4KSA_H
-#ifndef __C64_4KSA__
-#define __C64_4KSA__
+#pragma once
#include "user.h"
@@ -43,7 +43,7 @@ protected:
// device type definition
-extern const device_type C64_4KSA;
+DECLARE_DEVICE_TYPE(C64_4KSA, c64_4ksa_device)
-#endif
+#endif // MAME_BUS_C64_4KSA_H
diff --git a/src/devices/bus/c64/4tba.cpp b/src/devices/bus/c64/4tba.cpp
index 7f4adc76bce..4fc58cb0d49 100644
--- a/src/devices/bus/c64/4tba.cpp
+++ b/src/devices/bus/c64/4tba.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_4TBA = device_creator<c64_4tba_device>;
+DEFINE_DEVICE_TYPE(C64_4TBA, c64_4tba_device, "c64_4tba", "C64 Tie Break Adapter")
//-------------------------------------------------
@@ -63,7 +63,7 @@ ioport_constructor c64_4tba_device::device_input_ports() const
//-------------------------------------------------
c64_4tba_device::c64_4tba_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_4TBA, "C64 Tie Break Adapter", tag, owner, clock, "c64_4tba", __FILE__),
+ device_t(mconfig, C64_4TBA, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/4tba.h b/src/devices/bus/c64/4tba.h
index 01b185248dd..f96716c4839 100644
--- a/src/devices/bus/c64/4tba.h
+++ b/src/devices/bus/c64/4tba.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_4TBA_H
+#define MAME_BUS_C64_4TBA_H
-#ifndef __C64_4TBA__
-#define __C64_4TBA__
+#pragma once
#include "user.h"
@@ -43,7 +43,6 @@ protected:
// device type definition
-extern const device_type C64_4TBA;
-
+DECLARE_DEVICE_TYPE(C64_4TBA, c64_4tba_device)
-#endif
+#endif // MAME_BUS_C64_4TBA_H
diff --git a/src/devices/bus/c64/bn1541.cpp b/src/devices/bus/c64/bn1541.cpp
index bd3fc5a270b..dbb5fc4bb1a 100644
--- a/src/devices/bus/c64/bn1541.cpp
+++ b/src/devices/bus/c64/bn1541.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_BN1541 = device_creator<c64_bn1541_device>;
+DEFINE_DEVICE_TYPE(C64_BN1541, c64_bn1541_device, "c64_bn1541", "C64 Burst Nibbler 1541/1571 Parallel Cable")
@@ -62,7 +62,7 @@ device_c64_floppy_parallel_interface::~device_c64_floppy_parallel_interface()
//-------------------------------------------------
c64_bn1541_device::c64_bn1541_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_BN1541, "C64 Burst Nibbler 1541/1571 Parallel Cable", tag, owner, clock, "c64_bn1541", __FILE__),
+ device_t(mconfig, C64_BN1541, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this),
device_c64_floppy_parallel_interface(mconfig, *this), m_parallel_output(0)
{
diff --git a/src/devices/bus/c64/bn1541.h b/src/devices/bus/c64/bn1541.h
index 9859b272bd7..1865adda460 100644
--- a/src/devices/bus/c64/bn1541.h
+++ b/src/devices/bus/c64/bn1541.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_BN1541_H
+#define MAME_BUS_C64_BN1541_H
-#ifndef __C64_BN1541__
-#define __C64_BN1541__
+#pragma once
#include "user.h"
@@ -75,7 +75,7 @@ private:
// device type definition
-extern const device_type C64_BN1541;
+DECLARE_DEVICE_TYPE(C64_BN1541, c64_bn1541_device)
-#endif
+#endif // MAME_BUS_C64_BN1541_H
diff --git a/src/devices/bus/c64/c128_comal80.cpp b/src/devices/bus/c64/c128_comal80.cpp
index 9f0e8a03954..234a3499a19 100644
--- a/src/devices/bus/c64/c128_comal80.cpp
+++ b/src/devices/bus/c64/c128_comal80.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C128_COMAL80 = device_creator<c128_comal80_cartridge_device>;
+DEFINE_DEVICE_TYPE(C128_COMAL80, c128_comal80_cartridge_device, "c128_comal80", "C128 COMAL 80 cartridge")
@@ -28,7 +28,7 @@ const device_type C128_COMAL80 = device_creator<c128_comal80_cartridge_device>;
//-------------------------------------------------
c128_comal80_cartridge_device::c128_comal80_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C128_COMAL80, "C128 COMAL 80 cartridge", tag, owner, clock, "c128_comal80", __FILE__),
+ device_t(mconfig, C128_COMAL80, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/c128_comal80.h b/src/devices/bus/c64/c128_comal80.h
index 58d92837f11..c141cffb69e 100644
--- a/src/devices/bus/c64/c128_comal80.h
+++ b/src/devices/bus/c64/c128_comal80.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_C128_COMAL80_H
+#define MAME_BUS_C64_C128_COMAL80_H
-#ifndef __C128_COMAL80__
-#define __C128_COMAL80__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type C128_COMAL80;
+DECLARE_DEVICE_TYPE(C128_COMAL80, c128_comal80_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_C128_COMAL80_H
diff --git a/src/devices/bus/c64/c128_partner.cpp b/src/devices/bus/c64/c128_partner.cpp
index 3be09f7f258..d5e74cc43cb 100644
--- a/src/devices/bus/c64/c128_partner.cpp
+++ b/src/devices/bus/c64/c128_partner.cpp
@@ -37,14 +37,14 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C128_PARTNER = device_creator<partner128_t>;
+DEFINE_DEVICE_TYPE(C128_PARTNER, c128_partner_cartridge_device, "c128_partner", "PARTNER 128 cartridge")
//-------------------------------------------------
// INPUT_PORTS( c128_partner )
//-------------------------------------------------
-WRITE_LINE_MEMBER( partner128_t::nmi_w )
+WRITE_LINE_MEMBER( c128_partner_cartridge_device::nmi_w )
{
if (state)
{
@@ -54,7 +54,7 @@ WRITE_LINE_MEMBER( partner128_t::nmi_w )
static INPUT_PORTS_START( c128_partner )
PORT_START("NMI")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Menu") PORT_CODE(KEYCODE_END) PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, partner128_t, nmi_w)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Menu") PORT_CODE(KEYCODE_END) PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, c128_partner_cartridge_device, nmi_w)
INPUT_PORTS_END
@@ -62,7 +62,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor partner128_t::device_input_ports() const
+ioport_constructor c128_partner_cartridge_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c128_partner );
}
@@ -74,13 +74,12 @@ ioport_constructor partner128_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// partner128_t - constructor
+// c128_partner_cartridge_device - constructor
//-------------------------------------------------
-partner128_t::partner128_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C128_PARTNER, "PARTNER 128", tag, owner, clock, "c128_partner", __FILE__),
+c128_partner_cartridge_device::c128_partner_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, C128_PARTNER, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
- //device_vcs_control_port_interface(mconfig, *this),
m_ram(*this, "ram"), t_joyb2(nullptr),
m_ram_a12_a7(0),
m_ls74_cd(0),
@@ -95,7 +94,7 @@ partner128_t::partner128_t(const machine_config &mconfig, const char *tag, devic
// device_start - device-specific startup
//-------------------------------------------------
-void partner128_t::device_start()
+void c128_partner_cartridge_device::device_start()
{
// allocate memory
m_ram.allocate(0x2000);
@@ -117,7 +116,7 @@ void partner128_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void partner128_t::device_reset()
+void c128_partner_cartridge_device::device_reset()
{
m_ram_a12_a7 = 0;
@@ -133,7 +132,7 @@ void partner128_t::device_reset()
// device_timer -
//-------------------------------------------------
-void partner128_t::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+void c128_partner_cartridge_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
if (m_ls74_cd)
{
@@ -148,7 +147,7 @@ void partner128_t::device_timer(emu_timer &timer, device_timer_id id, int param,
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t partner128_t::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c128_partner_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!roml)
{
@@ -186,7 +185,7 @@ uint8_t partner128_t::c64_cd_r(address_space &space, offs_t offset, uint8_t data
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void partner128_t::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c128_partner_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -236,7 +235,7 @@ void partner128_t::c64_cd_w(address_space &space, offs_t offset, uint8_t data, i
// vcs_joy_w - joystick write
//-------------------------------------------------
-void partner128_t::vcs_joy_w(uint8_t data)
+void c128_partner_cartridge_device::vcs_joy_w(uint8_t data)
{
int joyb2 = BIT(data, 2);
diff --git a/src/devices/bus/c64/c128_partner.h b/src/devices/bus/c64/c128_partner.h
index f38295f7231..632e526b035 100644
--- a/src/devices/bus/c64/c128_partner.h
+++ b/src/devices/bus/c64/c128_partner.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_C128_PARTNER_H
+#define MAME_BUS_C64_C128_PARTNER_H
-#ifndef __C128_PARTNER__
-#define __C128_PARTNER__
+#pragma once
#include "bus/c64/exp.h"
#include "bus/vcs_ctrl/ctrl.h"
@@ -20,15 +20,15 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> partner128_t
+// ======================> c128_partner_cartridge_device
-class partner128_t : public device_t,
+class c128_partner_cartridge_device : public device_t,
public device_c64_expansion_card_interface
//public device_vcs_control_port_interface
{
public:
// construction/destruction
- partner128_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c128_partner_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
@@ -61,7 +61,7 @@ private:
// device type definition
-extern const device_type C128_PARTNER;
+DECLARE_DEVICE_TYPE(C128_PARTNER, c128_partner_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_C128_PARTNER_H
diff --git a/src/devices/bus/c64/comal80.cpp b/src/devices/bus/c64/comal80.cpp
index f3421510012..24c966eccc1 100644
--- a/src/devices/bus/c64/comal80.cpp
+++ b/src/devices/bus/c64/comal80.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_COMAL80 = device_creator<c64_comal80_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_COMAL80, c64_comal80_cartridge_device, "c64_comal80", "C64 COMAL 80 cartridge")
@@ -28,7 +28,7 @@ const device_type C64_COMAL80 = device_creator<c64_comal80_cartridge_device>;
//-------------------------------------------------
c64_comal80_cartridge_device::c64_comal80_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_COMAL80, "C64 COMAL 80 cartridge", tag, owner, clock, "c64_comal80", __FILE__),
+ device_t(mconfig, C64_COMAL80, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/comal80.h b/src/devices/bus/c64/comal80.h
index 349911eb9bb..fb0ceaad303 100644
--- a/src/devices/bus/c64/comal80.h
+++ b/src/devices/bus/c64/comal80.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_COMAL80_H
+#define MAME_BUS_C64_COMAL80_H
-#ifndef __COMAL80__
-#define __COMAL80__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type C64_COMAL80;
+DECLARE_DEVICE_TYPE(C64_COMAL80, c64_comal80_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_COMAL80_H
diff --git a/src/devices/bus/c64/cpm.cpp b/src/devices/bus/c64/cpm.cpp
index 8544938255a..c18d0eff286 100644
--- a/src/devices/bus/c64/cpm.cpp
+++ b/src/devices/bus/c64/cpm.cpp
@@ -33,7 +33,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_CPM = device_creator<c64_cpm_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_CPM, c64_cpm_cartridge_device, "c64_cpm", "C64 CP/M cartridge")
//-------------------------------------------------
@@ -131,7 +131,7 @@ inline void c64_cpm_cartridge_device::update_signals()
//-------------------------------------------------
c64_cpm_cartridge_device::c64_cpm_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_CPM, "C64 CP/M cartridge", tag, owner, clock, "c64_cpm", __FILE__),
+ device_t(mconfig, C64_CPM, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG),
m_enabled(0),
diff --git a/src/devices/bus/c64/cpm.h b/src/devices/bus/c64/cpm.h
index 603465bae88..88e4c172da8 100644
--- a/src/devices/bus/c64/cpm.h
+++ b/src/devices/bus/c64/cpm.h
@@ -6,13 +6,13 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_CPM_H
+#define MAME_BUS_C64_CPM_H
-#ifndef __CPM__
-#define __CPM__
+#pragma once
-#include "cpu/z80/z80.h"
#include "exp.h"
+#include "cpu/z80/z80.h"
@@ -58,7 +58,7 @@ private:
// device type definition
-extern const device_type C64_CPM;
+DECLARE_DEVICE_TYPE(C64_CPM, c64_cpm_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_CPM_H
diff --git a/src/devices/bus/c64/currah_speech.cpp b/src/devices/bus/c64/currah_speech.cpp
index 7deb76db067..f71b9bcebde 100644
--- a/src/devices/bus/c64/currah_speech.cpp
+++ b/src/devices/bus/c64/currah_speech.cpp
@@ -85,7 +85,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_CURRAH_SPEECH = device_creator<c64_currah_speech_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_CURRAH_SPEECH, c64_currah_speech_cartridge_device, "c64_cs", "C64 Currah Speech")
//-------------------------------------------------
@@ -157,7 +157,7 @@ void c64_currah_speech_cartridge_device::set_osc1(int voice, int intonation)
//-------------------------------------------------
c64_currah_speech_cartridge_device::c64_currah_speech_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_CURRAH_SPEECH, "C64 Currah Speech", tag, owner, clock, "c64_cs", __FILE__),
+ device_t(mconfig, C64_CURRAH_SPEECH, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_nsp(*this, SP0256_TAG)
{
diff --git a/src/devices/bus/c64/currah_speech.h b/src/devices/bus/c64/currah_speech.h
index e11afc520fc..ce2e31db8e0 100644
--- a/src/devices/bus/c64/currah_speech.h
+++ b/src/devices/bus/c64/currah_speech.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_CURRAH_SPEECH_H
+#define MAME_BUS_C64_CURRAH_SPEECH_H
-#ifndef __CURRAH_SPEECH_64__
-#define __CURRAH_SPEECH_64__
+#pragma once
#include "exp.h"
@@ -51,7 +51,7 @@ private:
// device type definition
-extern const device_type C64_CURRAH_SPEECH;
+DECLARE_DEVICE_TYPE(C64_CURRAH_SPEECH, c64_currah_speech_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_CURRAH_SPEECH_H
diff --git a/src/devices/bus/c64/dela_ep256.cpp b/src/devices/bus/c64/dela_ep256.cpp
index 2dd9c890d44..04bd9137363 100644
--- a/src/devices/bus/c64/dela_ep256.cpp
+++ b/src/devices/bus/c64/dela_ep256.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_DELA_EP256 = device_creator<c64_dela_ep256_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_DELA_EP256, c64_dela_ep256_cartridge_device, "delep256", "C64 Dela 256KB EPROM cartridge")
//-------------------------------------------------
@@ -63,7 +63,7 @@ machine_config_constructor c64_dela_ep256_cartridge_device::device_mconfig_addit
//-------------------------------------------------
c64_dela_ep256_cartridge_device::c64_dela_ep256_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_DELA_EP256, "C64 Dela 256KB EPROM cartridge", tag, owner, clock, "delep256", __FILE__),
+ device_t(mconfig, C64_DELA_EP256, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
for (int i = 0; i < 8; i++)
diff --git a/src/devices/bus/c64/dela_ep256.h b/src/devices/bus/c64/dela_ep256.h
index 5b7c4413f5d..44b154ae50e 100644
--- a/src/devices/bus/c64/dela_ep256.h
+++ b/src/devices/bus/c64/dela_ep256.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_DELA_EP256_H
+#define MAME_BUS_C64_DELA_EP256_H
-#ifndef __DELA_EP256__
-#define __DELA_EP256__
+#pragma once
#include "exp.h"
@@ -52,8 +52,7 @@ private:
// device type definition
-extern const device_type C64_DELA_EP256;
-
+DECLARE_DEVICE_TYPE(C64_DELA_EP256, c64_dela_ep256_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_DELA_EP256_H
diff --git a/src/devices/bus/c64/dela_ep64.cpp b/src/devices/bus/c64/dela_ep64.cpp
index 65c371a1f8f..b6812f20bf5 100644
--- a/src/devices/bus/c64/dela_ep64.cpp
+++ b/src/devices/bus/c64/dela_ep64.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_DELA_EP64 = device_creator<c64_dela_ep64_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_DELA_EP64, c64_dela_ep64_cartridge_device, "c64_dela_ep64", "C64 Rex 64KB EPROM cartridge")
//-------------------------------------------------
@@ -50,7 +50,7 @@ machine_config_constructor c64_dela_ep64_cartridge_device::device_mconfig_additi
//-------------------------------------------------
c64_dela_ep64_cartridge_device::c64_dela_ep64_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_DELA_EP64, "C64 Rex 64KB EPROM cartridge", tag, owner, clock, "c64_dela_ep64", __FILE__),
+ device_t(mconfig, C64_DELA_EP64, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_eprom1(*this, "eprom1"),
m_eprom2(*this, "eprom2"), m_bank(0), m_reset(0), m_rom0_ce(0), m_rom1_ce(0), m_rom2_ce(0)
diff --git a/src/devices/bus/c64/dela_ep64.h b/src/devices/bus/c64/dela_ep64.h
index 88b1c91ad89..6e7aad548c8 100644
--- a/src/devices/bus/c64/dela_ep64.h
+++ b/src/devices/bus/c64/dela_ep64.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_DELA_EP64_H
+#define MAME_BUS_C64_DELA_EP64_H
-#ifndef __DELA_EP64__
-#define __DELA_EP64__
+#pragma once
#include "bus/generic/slot.h"
@@ -56,8 +56,8 @@ private:
// device type definition
-extern const device_type C64_DELA_EP64;
+DECLARE_DEVICE_TYPE(C64_DELA_EP64, c64_dela_ep64_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_DELA_EP64_H
diff --git a/src/devices/bus/c64/dela_ep7x8.cpp b/src/devices/bus/c64/dela_ep7x8.cpp
index eae8c4ae34b..0f973004ea4 100644
--- a/src/devices/bus/c64/dela_ep7x8.cpp
+++ b/src/devices/bus/c64/dela_ep7x8.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_DELA_EP7X8 = device_creator<c64_dela_ep7x8_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_DELA_EP7X8, c64_dela_ep7x8_cartridge_device, "c64_dela_ep7x8", "C64 Dela 7x8KB EPROM cartridge")
//-------------------------------------------------
@@ -60,7 +60,7 @@ machine_config_constructor c64_dela_ep7x8_cartridge_device::device_mconfig_addit
//-------------------------------------------------
c64_dela_ep7x8_cartridge_device::c64_dela_ep7x8_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_DELA_EP7X8, "C64 Dela 7x8KB EPROM cartridge", tag, owner, clock, "ep7x8", __FILE__),
+ device_t(mconfig, C64_DELA_EP7X8, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_eprom1(*this, "rom1"),
m_eprom2(*this, "rom2"),
diff --git a/src/devices/bus/c64/dela_ep7x8.h b/src/devices/bus/c64/dela_ep7x8.h
index a5f3fd5b4ab..e66cc211bc0 100644
--- a/src/devices/bus/c64/dela_ep7x8.h
+++ b/src/devices/bus/c64/dela_ep7x8.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_DELA_EP7X8_H
+#define MAME_BUS_C64_DELA_EP7X8_H
-#ifndef __DELA_EP7X8__
-#define __DELA_EP7X8__
+#pragma once
#include "bus/generic/slot.h"
@@ -57,8 +57,7 @@ private:
// device type definition
-extern const device_type C64_DELA_EP7X8;
-
+DECLARE_DEVICE_TYPE(C64_DELA_EP7X8, c64_dela_ep7x8_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_DELA_EP7X8_H
diff --git a/src/devices/bus/c64/dinamic.cpp b/src/devices/bus/c64/dinamic.cpp
index ada3ca405ee..8ab60892263 100644
--- a/src/devices/bus/c64/dinamic.cpp
+++ b/src/devices/bus/c64/dinamic.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_DINAMIC = device_creator<c64_dinamic_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_DINAMIC, c64_dinamic_cartridge_device, "c64_dinamic", "C64 Dinamic cartridge")
@@ -28,7 +28,7 @@ const device_type C64_DINAMIC = device_creator<c64_dinamic_cartridge_device>;
//-------------------------------------------------
c64_dinamic_cartridge_device::c64_dinamic_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_DINAMIC, "C64 Dinamic cartridge", tag, owner, clock, "c64_dinamic", __FILE__),
+ device_t(mconfig, C64_DINAMIC, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/dinamic.h b/src/devices/bus/c64/dinamic.h
index acab7b79563..84bd1503503 100644
--- a/src/devices/bus/c64/dinamic.h
+++ b/src/devices/bus/c64/dinamic.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_DINAMIC_H
+#define MAME_BUS_C64_DINAMIC_H
-#ifndef __DINAMIC__
-#define __DINAMIC__
+#pragma once
#include "exp.h"
@@ -43,7 +43,7 @@ private:
// device type definition
-extern const device_type C64_DINAMIC;
+DECLARE_DEVICE_TYPE(C64_DINAMIC, c64_dinamic_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_DINAMIC_H
diff --git a/src/devices/bus/c64/dqbb.cpp b/src/devices/bus/c64/dqbb.cpp
index 31458acb9a2..b9cb32ce1cc 100644
--- a/src/devices/bus/c64/dqbb.cpp
+++ b/src/devices/bus/c64/dqbb.cpp
@@ -24,7 +24,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_DQBB = device_creator<c64_dqbb_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_DQBB, c64_dqbb_cartridge_device, "c64_dqbb", "C64 Double Quick Brown Box cartridge")
@@ -37,7 +37,7 @@ const device_type C64_DQBB = device_creator<c64_dqbb_cartridge_device>;
//-------------------------------------------------
c64_dqbb_cartridge_device::c64_dqbb_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_DQBB, "C64 Double Quick Brown Box cartridge", tag, owner, clock, "c64_dqbb", __FILE__),
+ device_t(mconfig, C64_DQBB, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
device_nvram_interface(mconfig, *this),
m_cs(0),
diff --git a/src/devices/bus/c64/dqbb.h b/src/devices/bus/c64/dqbb.h
index 9a4233dc94e..6c472eb6696 100644
--- a/src/devices/bus/c64/dqbb.h
+++ b/src/devices/bus/c64/dqbb.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_DQBB_H
+#define MAME_BUS_C64_DQBB_H
-#ifndef __DQBB__
-#define __DQBB__
+#pragma once
#include "exp.h"
@@ -52,7 +52,7 @@ private:
// device type definition
-extern const device_type C64_DQBB;
+DECLARE_DEVICE_TYPE(C64_DQBB, c64_dqbb_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_DQBB_H
diff --git a/src/devices/bus/c64/easy_calc_result.cpp b/src/devices/bus/c64/easy_calc_result.cpp
index dd24e20d013..4ddd4cbdac0 100644
--- a/src/devices/bus/c64/easy_calc_result.cpp
+++ b/src/devices/bus/c64/easy_calc_result.cpp
@@ -36,7 +36,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_EASY_CALC_RESULT = device_creator<c64_easy_calc_result_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_EASY_CALC_RESULT, c64_easy_calc_result_cartridge_device, "c64_easy_calc_result", "C64 Easy Calc Result cartridge")
@@ -49,7 +49,7 @@ const device_type C64_EASY_CALC_RESULT = device_creator<c64_easy_calc_result_car
//-------------------------------------------------
c64_easy_calc_result_cartridge_device::c64_easy_calc_result_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_EASY_CALC_RESULT, "C64 Easy Calc Result cartridge", tag, owner, clock, "c64_easy_calc_result", __FILE__),
+ device_t(mconfig, C64_EASY_CALC_RESULT, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this), m_bank(0)
{
}
diff --git a/src/devices/bus/c64/easy_calc_result.h b/src/devices/bus/c64/easy_calc_result.h
index 51b5b053e64..377bbd12b17 100644
--- a/src/devices/bus/c64/easy_calc_result.h
+++ b/src/devices/bus/c64/easy_calc_result.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_EASY_CALC_RESULT_H
+#define MAME_BUS_C64_EASY_CALC_RESULT_H
-#ifndef __EASY_CALC_RESULT__
-#define __EASY_CALC_RESULT__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type C64_EASY_CALC_RESULT;
+DECLARE_DEVICE_TYPE(C64_EASY_CALC_RESULT, c64_easy_calc_result_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_EASY_CALC_RESULT_H
diff --git a/src/devices/bus/c64/easyflash.cpp b/src/devices/bus/c64/easyflash.cpp
index edc7c4c3cff..04abd50a7fe 100644
--- a/src/devices/bus/c64/easyflash.cpp
+++ b/src/devices/bus/c64/easyflash.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_EASYFLASH = device_creator<c64_easyflash_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_EASYFLASH, c64_easyflash_cartridge_device, "c64_easyflash", "C64 EasyFlash cartridge")
//-------------------------------------------------
@@ -82,7 +82,7 @@ ioport_constructor c64_easyflash_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_easyflash_cartridge_device::c64_easyflash_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_EASYFLASH, "C64 EasyFlash cartridge", tag, owner, clock, "c64_easyflash", __FILE__),
+ device_t(mconfig, C64_EASYFLASH, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_flash_roml(*this, AM29F040_0_TAG),
m_flash_romh(*this, AM29F040_1_TAG),
diff --git a/src/devices/bus/c64/easyflash.h b/src/devices/bus/c64/easyflash.h
index aa28f13d23d..9760a247319 100644
--- a/src/devices/bus/c64/easyflash.h
+++ b/src/devices/bus/c64/easyflash.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_EASYFLASH_H
+#define MAME_BUS_C64_EASYFLASH_H
-#ifndef __EASYFLASH__
-#define __EASYFLASH__
+#pragma once
#include "exp.h"
@@ -57,7 +57,7 @@ private:
// device type definition
-extern const device_type C64_EASYFLASH;
+DECLARE_DEVICE_TYPE(C64_EASYFLASH, c64_easyflash_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_EASYFLASH_H
diff --git a/src/devices/bus/c64/epyx_fast_load.cpp b/src/devices/bus/c64/epyx_fast_load.cpp
index 75e4f7e2a35..d119091555b 100644
--- a/src/devices/bus/c64/epyx_fast_load.cpp
+++ b/src/devices/bus/c64/epyx_fast_load.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_EPYX_FAST_LOAD = device_creator<c64_epyx_fast_load_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_EPYX_FAST_LOAD, c64_epyx_fast_load_cartridge_device, "c64_epyx_fast_load", "C64 Epyx Fast Load cartridge")
@@ -38,7 +38,7 @@ const device_type C64_EPYX_FAST_LOAD = device_creator<c64_epyx_fast_load_cartrid
//-------------------------------------------------
c64_epyx_fast_load_cartridge_device::c64_epyx_fast_load_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_EPYX_FAST_LOAD, "C64 Epyx Fast Load cartridge", tag, owner, clock, "c64_epyx_fast_load", __FILE__),
+ device_t(mconfig, C64_EPYX_FAST_LOAD, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this), m_exrom_timer(nullptr)
{
}
diff --git a/src/devices/bus/c64/epyx_fast_load.h b/src/devices/bus/c64/epyx_fast_load.h
index cede6124a40..42f04254703 100644
--- a/src/devices/bus/c64/epyx_fast_load.h
+++ b/src/devices/bus/c64/epyx_fast_load.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_EPYX_FAST_LOAD_H
+#define MAME_BUS_C64_EPYX_FAST_LOAD_H
-#ifndef __EPYX_FAST_LOAD__
-#define __EPYX_FAST_LOAD__
+#pragma once
#include "exp.h"
@@ -45,7 +45,7 @@ private:
// device type definition
-extern const device_type C64_EPYX_FAST_LOAD;
+DECLARE_DEVICE_TYPE(C64_EPYX_FAST_LOAD, c64_epyx_fast_load_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_EPYX_FAST_LOAD_H
diff --git a/src/devices/bus/c64/exos.cpp b/src/devices/bus/c64/exos.cpp
index 5c2d51d864a..5c41cd7d6d3 100644
--- a/src/devices/bus/c64/exos.cpp
+++ b/src/devices/bus/c64/exos.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_EXOS = device_creator<c64_exos_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_EXOS, c64_exos_cartridge_device, "c64_exos", "C64 ExOS cartridge")
@@ -28,7 +28,7 @@ const device_type C64_EXOS = device_creator<c64_exos_cartridge_device>;
//-------------------------------------------------
c64_exos_cartridge_device::c64_exos_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_EXOS, "C64 ExOS cartridge", tag, owner, clock, "c64_exos", __FILE__),
+ device_t(mconfig, C64_EXOS, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/exos.h b/src/devices/bus/c64/exos.h
index 76bb85e1a0b..93872e38e7a 100644
--- a/src/devices/bus/c64/exos.h
+++ b/src/devices/bus/c64/exos.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_EXOS_H
+#define MAME_BUS_C64_EXOS_H
-#ifndef __EXOS__
-#define __EXOS__
+#pragma once
#include "exp.h"
@@ -40,7 +40,7 @@ protected:
// device type definition
-extern const device_type C64_EXOS;
+DECLARE_DEVICE_TYPE(C64_EXOS, c64_exos_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_EXOS_H
diff --git a/src/devices/bus/c64/exp.cpp b/src/devices/bus/c64/exp.cpp
index 9b774ec5d7b..c28c10e82f6 100644
--- a/src/devices/bus/c64/exp.cpp
+++ b/src/devices/bus/c64/exp.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_EXPANSION_SLOT = device_creator<c64_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(C64_EXPANSION_SLOT, c64_expansion_slot_device, "c64_expansion_slot", "C64 expansion port")
@@ -58,7 +58,7 @@ device_c64_expansion_card_interface::~device_c64_expansion_card_interface()
//-------------------------------------------------
c64_expansion_slot_device::c64_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_EXPANSION_SLOT, "C64 expansion port", tag, owner, clock, "c64_expansion_slot", __FILE__),
+ device_t(mconfig, C64_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
device_image_interface(mconfig, *this),
m_read_dma_cd(*this),
diff --git a/src/devices/bus/c64/exp.h b/src/devices/bus/c64/exp.h
index c73b5281ad6..da1dc08fcb6 100644
--- a/src/devices/bus/c64/exp.h
+++ b/src/devices/bus/c64/exp.h
@@ -31,10 +31,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_EXP_H
+#define MAME_BUS_C64_EXP_H
-#ifndef __C64_EXPANSION_SLOT__
-#define __C64_EXPANSION_SLOT__
+#pragma once
#include "softlist_dev.h"
#include "formats/cbm_crt.h"
@@ -103,12 +103,12 @@ public:
// construction/destruction
c64_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
- template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_nmi.set_callback(object); }
- template<class _Object> static devcb_base &set_reset_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_reset.set_callback(object); }
- template<class _Object> static devcb_base &set_cd_rd_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_read_dma_cd.set_callback(object); }
- template<class _Object> static devcb_base &set_cd_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_dma_cd.set_callback(object); }
- template<class _Object> static devcb_base &set_dma_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_dma.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<c64_expansion_slot_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_nmi_wr_callback(device_t &device, Object &&cb) { return downcast<c64_expansion_slot_device &>(device).m_write_nmi.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_reset_wr_callback(device_t &device, Object &&cb) { return downcast<c64_expansion_slot_device &>(device).m_write_reset.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_cd_rd_callback(device_t &device, Object &&cb) { return downcast<c64_expansion_slot_device &>(device).m_read_dma_cd.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_cd_wr_callback(device_t &device, Object &&cb) { return downcast<c64_expansion_slot_device &>(device).m_write_dma_cd.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dma_wr_callback(device_t &device, Object &&cb) { return downcast<c64_expansion_slot_device &>(device).m_write_dma.set_callback(std::forward<Object>(cb)); }
// computer interface
uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2);
@@ -170,7 +170,6 @@ class device_c64_expansion_card_interface : public device_slot_card_interface
public:
// construction/destruction
- device_c64_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_c64_expansion_card_interface();
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) { return data; };
@@ -179,6 +178,8 @@ public:
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) { return m_exrom; }
protected:
+ device_c64_expansion_card_interface(const machine_config &mconfig, device_t &device);
+
optional_shared_ptr<uint8_t> m_roml;
optional_shared_ptr<uint8_t> m_romh;
optional_shared_ptr<uint8_t> m_nvram;
@@ -191,7 +192,7 @@ protected:
// device type definition
-extern const device_type C64_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(C64_EXPANSION_SLOT, c64_expansion_slot_device)
SLOT_INTERFACE_EXTERN( c64_expansion_cards );
diff --git a/src/devices/bus/c64/fcc.cpp b/src/devices/bus/c64/fcc.cpp
index 8bd0986ff04..c4e98e90738 100644
--- a/src/devices/bus/c64/fcc.cpp
+++ b/src/devices/bus/c64/fcc.cpp
@@ -37,7 +37,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_FCC = device_creator<c64_final_chesscard_device>;
+DEFINE_DEVICE_TYPE(C64_FCC, c64_final_chesscard_device, "c64_fcc", "Final ChessCard")
//-------------------------------------------------
@@ -120,7 +120,7 @@ ioport_constructor c64_final_chesscard_device::device_input_ports() const
//-------------------------------------------------
c64_final_chesscard_device::c64_final_chesscard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_FCC, "Final ChessCard", tag, owner, clock, "c64_fcc", __FILE__),
+ device_t(mconfig, C64_FCC, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
device_nvram_interface(mconfig, *this),
m_maincpu(*this, G65SC02P4_TAG),
diff --git a/src/devices/bus/c64/fcc.h b/src/devices/bus/c64/fcc.h
index 53573a4ea40..3460738a389 100644
--- a/src/devices/bus/c64/fcc.h
+++ b/src/devices/bus/c64/fcc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_FCC_H
+#define MAME_BUS_C64_FCC_H
-#ifndef __FCC__
-#define __FCC__
+#pragma once
#include "exp.h"
#include "cpu/m6502/m65sc02.h"
@@ -61,8 +61,7 @@ private:
// device type definition
-extern const device_type C64_FCC;
-
+DECLARE_DEVICE_TYPE(C64_FCC, c64_final_chesscard_device)
-#endif
+#endif // MAME_BUS_C64_FCC_H
diff --git a/src/devices/bus/c64/final.cpp b/src/devices/bus/c64/final.cpp
index 0c756ddecbd..90be1e6e588 100644
--- a/src/devices/bus/c64/final.cpp
+++ b/src/devices/bus/c64/final.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_FINAL = device_creator<c64_final_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_FINAL, c64_final_cartridge_device, "c64_final", "C64 Final Cartridge")
//-------------------------------------------------
@@ -64,7 +64,7 @@ ioport_constructor c64_final_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_final_cartridge_device::c64_final_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_FINAL, "C64 Final cartridge", tag, owner, clock, "c64_final", __FILE__),
+ device_t(mconfig, C64_FINAL, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/final.h b/src/devices/bus/c64/final.h
index 4bfe2e96d6d..a8ed113f13b 100644
--- a/src/devices/bus/c64/final.h
+++ b/src/devices/bus/c64/final.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_FINAL_H
+#define MAME_BUS_C64_FINAL_H
-#ifndef __FINAL__
-#define __FINAL__
+#pragma once
#include "exp.h"
@@ -46,7 +46,7 @@ protected:
// device type definition
-extern const device_type C64_FINAL;
+DECLARE_DEVICE_TYPE(C64_FINAL, c64_final_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_FINAL_H
diff --git a/src/devices/bus/c64/final3.cpp b/src/devices/bus/c64/final3.cpp
index 4226cb981c8..9a64e7c4172 100644
--- a/src/devices/bus/c64/final3.cpp
+++ b/src/devices/bus/c64/final3.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_FINAL3 = device_creator<c64_final3_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_FINAL3, c64_final3_cartridge_device, "c64_final3", "C64 Final Cartridge III")
//-------------------------------------------------
@@ -65,7 +65,7 @@ ioport_constructor c64_final3_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_final3_cartridge_device::c64_final3_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_FINAL3, "C64 Final Cartridge III", tag, owner, clock, "c64_final3", __FILE__),
+ device_t(mconfig, C64_FINAL3, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this), m_bank(0), m_hidden(0)
{
}
diff --git a/src/devices/bus/c64/final3.h b/src/devices/bus/c64/final3.h
index 759bba15514..d424c76537a 100644
--- a/src/devices/bus/c64/final3.h
+++ b/src/devices/bus/c64/final3.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C4_FINAL3_H
+#define MAME_BUS_C4_FINAL3_H
-#ifndef __FINAL3__
-#define __FINAL3__
+#pragma once
#include "exp.h"
@@ -50,7 +50,7 @@ private:
// device type definition
-extern const device_type C64_FINAL3;
+DECLARE_DEVICE_TYPE(C64_FINAL3, c64_final3_cartridge_device)
-#endif
+#endif // MAME_BUS_C4_FINAL3_H
diff --git a/src/devices/bus/c64/fun_play.cpp b/src/devices/bus/c64/fun_play.cpp
index c675ae763de..b4b7a7285d2 100644
--- a/src/devices/bus/c64/fun_play.cpp
+++ b/src/devices/bus/c64/fun_play.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_FUN_PLAY = device_creator<c64_fun_play_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_FUN_PLAY, c64_fun_play_cartridge_device, "c64_fun_play", "C64 Fun Play cartridge")
@@ -28,7 +28,7 @@ const device_type C64_FUN_PLAY = device_creator<c64_fun_play_cartridge_device>;
//-------------------------------------------------
c64_fun_play_cartridge_device::c64_fun_play_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_FUN_PLAY, "C64 Fun Play cartridge", tag, owner, clock, "c64_fun_play", __FILE__),
+ device_t(mconfig, C64_FUN_PLAY, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/fun_play.h b/src/devices/bus/c64/fun_play.h
index 7fcef385018..ba62626651a 100644
--- a/src/devices/bus/c64/fun_play.h
+++ b/src/devices/bus/c64/fun_play.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_FUN_PLAY_H
+#define MAME_BUS_C64_FUN_PLAY_H
-#ifndef __FUN_PLAY__
-#define __FUN_PLAY__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type C64_FUN_PLAY;
+DECLARE_DEVICE_TYPE(C64_FUN_PLAY, c64_fun_play_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_FUN_PLAY_H
diff --git a/src/devices/bus/c64/geocable.cpp b/src/devices/bus/c64/geocable.cpp
index 7640251306f..8859612a4e1 100644
--- a/src/devices/bus/c64/geocable.cpp
+++ b/src/devices/bus/c64/geocable.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_GEOCABLE = device_creator<c64_geocable_device>;
+DEFINE_DEVICE_TYPE(C64_GEOCABLE, c64_geocable_device, "c64_geocable", "C64 geoCable")
//-------------------------------------------------
@@ -57,7 +57,7 @@ machine_config_constructor c64_geocable_device::device_mconfig_additions() const
//-------------------------------------------------
c64_geocable_device::c64_geocable_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_GEOCABLE, "C64 geoCable", tag, owner, clock, "c64_geocable", __FILE__),
+ device_t(mconfig, C64_GEOCABLE, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this),
m_centronics(*this, CENTRONICS_TAG)
{
diff --git a/src/devices/bus/c64/geocable.h b/src/devices/bus/c64/geocable.h
index 5dd56ffa021..7ab6f88d68f 100644
--- a/src/devices/bus/c64/geocable.h
+++ b/src/devices/bus/c64/geocable.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_GEOCABLE_H
+#define MAME_BUS_C64_GEOCABLE_H
-#ifndef __C64_GEOCABLE__
-#define __C64_GEOCABLE__
+#pragma once
#include "user.h"
@@ -55,6 +55,7 @@ private:
// device type definition
extern const device_type C64_GEOCABLE;
+DECLARE_DEVICE_TYPE(C64_GEOCABLE, c64_geocable_device)
-#endif
+#endif // MAME_BUS_C64_GEOCABLE_H
diff --git a/src/devices/bus/c64/georam.cpp b/src/devices/bus/c64/georam.cpp
index c68efcc2a80..e82061df80e 100644
--- a/src/devices/bus/c64/georam.cpp
+++ b/src/devices/bus/c64/georam.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_GEORAM = device_creator<c64_georam_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_GEORAM, c64_georam_cartridge_device, "c64_georam", "C64 GeoRAM cartridge")
@@ -28,7 +28,7 @@ const device_type C64_GEORAM = device_creator<c64_georam_cartridge_device>;
//-------------------------------------------------
c64_georam_cartridge_device::c64_georam_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_GEORAM, "C64 GeoRAM cartridge", tag, owner, clock, "c64_georam", __FILE__),
+ device_t(mconfig, C64_GEORAM, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_ram(*this, "ram"),
m_bank(0)
diff --git a/src/devices/bus/c64/georam.h b/src/devices/bus/c64/georam.h
index ed285ce5221..352ddff6d1b 100644
--- a/src/devices/bus/c64/georam.h
+++ b/src/devices/bus/c64/georam.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUC_C64_GEORAM_H
+#define MAME_BUC_C64_GEORAM_H
-#ifndef __GEORAM__
-#define __GEORAM__
+#pragma once
#include "exp.h"
@@ -46,7 +46,7 @@ private:
// device type definition
-extern const device_type C64_GEORAM;
+DECLARE_DEVICE_TYPE(C64_GEORAM, c64_georam_cartridge_device)
-#endif
+#endif // MAME_BUC_C64_GEORAM_H
diff --git a/src/devices/bus/c64/ide64.cpp b/src/devices/bus/c64/ide64.cpp
index cd49717a148..b9112aa6ba3 100644
--- a/src/devices/bus/c64/ide64.cpp
+++ b/src/devices/bus/c64/ide64.cpp
@@ -39,7 +39,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_IDE64 = device_creator<c64_ide64_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_IDE64, c64_ide64_cartridge_device, "c64_ide64", "C64 IDE64 cartridge")
//-------------------------------------------------
@@ -96,7 +96,7 @@ ioport_constructor c64_ide64_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_ide64_cartridge_device::c64_ide64_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_IDE64, "C64 IDE64 cartridge", tag, owner, clock, "c64_ide64", __FILE__),
+ device_t(mconfig, C64_IDE64, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_flash_rom(*this, AT29C010A_TAG),
m_rtc(*this, DS1302_TAG),
diff --git a/src/devices/bus/c64/ide64.h b/src/devices/bus/c64/ide64.h
index ad7ad042ae9..cacf380f428 100644
--- a/src/devices/bus/c64/ide64.h
+++ b/src/devices/bus/c64/ide64.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_IDE64_H
+#define MAME_BUS_C64_IDE64_H
-#ifndef __IDE64__
-#define __IDE64__
+#pragma once
#include "exp.h"
@@ -63,7 +63,7 @@ private:
// device type definition
-extern const device_type C64_IDE64;
+DECLARE_DEVICE_TYPE(C64_IDE64, c64_ide64_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_IDE64_H
diff --git a/src/devices/bus/c64/ieee488.cpp b/src/devices/bus/c64/ieee488.cpp
index 8e57f6ef007..6282879786d 100644
--- a/src/devices/bus/c64/ieee488.cpp
+++ b/src/devices/bus/c64/ieee488.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_IEEE488 = device_creator<c64_ieee488_device>;
+DEFINE_DEVICE_TYPE(C64_IEEE488, c64_ieee488_device, "c64_ieee488_device", "C64 IEEE-488 cartridge")
//-------------------------------------------------
@@ -175,7 +175,7 @@ machine_config_constructor c64_ieee488_device::device_mconfig_additions() const
//-------------------------------------------------
c64_ieee488_device::c64_ieee488_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_IEEE488, "IEEE-488", tag, owner, clock, "c64_ieee488", __FILE__),
+ device_t(mconfig, C64_IEEE488, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_tpi(*this, MOS6525_TAG),
m_bus(*this, IEEE488_TAG),
diff --git a/src/devices/bus/c64/ieee488.h b/src/devices/bus/c64/ieee488.h
index 037f493cb7a..92a7de1f9f1 100644
--- a/src/devices/bus/c64/ieee488.h
+++ b/src/devices/bus/c64/ieee488.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_IEEE488_H
+#define MAME_BUS_C64_IEEE488_H
-#ifndef __C64_IEEE488__
-#define __C64_IEEE488__
+#pragma once
+#include "exp.h"
#include "bus/ieee488/ieee488.h"
#include "machine/6525tpi.h"
-#include "exp.h"
@@ -58,9 +58,8 @@ private:
};
-
// device type definition
-extern const device_type C64_IEEE488;
+DECLARE_DEVICE_TYPE(C64_IEEE488, c64_ieee488_device)
-#endif
+#endif // MAME_BUS_C64_IEEE488_H
diff --git a/src/devices/bus/c64/kingsoft.cpp b/src/devices/bus/c64/kingsoft.cpp
index 6716028f634..84263b71da7 100644
--- a/src/devices/bus/c64/kingsoft.cpp
+++ b/src/devices/bus/c64/kingsoft.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_KINGSOFT = device_creator<c64_kingsoft_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_KINGSOFT, c64_kingsoft_cartridge_device, "c64_kingsoft", "C64 Kingsoft cartridge")
@@ -28,7 +28,7 @@ const device_type C64_KINGSOFT = device_creator<c64_kingsoft_cartridge_device>;
//-------------------------------------------------
c64_kingsoft_cartridge_device::c64_kingsoft_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_KINGSOFT, "C64 Kingsoft cartridge", tag, owner, clock, "c64_kingsoft", __FILE__),
+ device_t(mconfig, C64_KINGSOFT, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/kingsoft.h b/src/devices/bus/c64/kingsoft.h
index 039bed77b09..89b2a4e0367 100644
--- a/src/devices/bus/c64/kingsoft.h
+++ b/src/devices/bus/c64/kingsoft.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_KINGSOFT_H
+#define MAME_BUS_C64_KINGSOFT_H
-#ifndef __KINGSOFT__
-#define __KINGSOFT__
+#pragma once
#include "exp.h"
@@ -42,7 +42,7 @@ protected:
// device type definition
-extern const device_type C64_KINGSOFT;
+DECLARE_DEVICE_TYPE(C64_KINGSOFT, c64_kingsoft_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_KINGSOFT_H
diff --git a/src/devices/bus/c64/mach5.cpp b/src/devices/bus/c64/mach5.cpp
index ff16f80ee4f..f312a14e1d4 100644
--- a/src/devices/bus/c64/mach5.cpp
+++ b/src/devices/bus/c64/mach5.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MACH5 = device_creator<c64_mach5_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MACH5, c64_mach5_cartridge_device, "c64_mach5", "C64 MACH5 cartridge")
//-------------------------------------------------
@@ -53,7 +53,7 @@ ioport_constructor c64_mach5_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_mach5_cartridge_device::c64_mach5_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MACH5, "C64 MACH5 cartridge", tag, owner, clock, "c64_mach5", __FILE__),
+ device_t(mconfig, C64_MACH5, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_s1(*this, "S1"), m_c128(false)
{
diff --git a/src/devices/bus/c64/mach5.h b/src/devices/bus/c64/mach5.h
index f93d23dc51b..affe03a52dc 100644
--- a/src/devices/bus/c64/mach5.h
+++ b/src/devices/bus/c64/mach5.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MACH5_H
+#define MAME_BUS_C64_MACH5_H
-#ifndef __MACH5__
-#define __MACH5__
+#pragma once
#include "exp.h"
@@ -48,7 +48,7 @@ private:
// device type definition
-extern const device_type C64_MACH5;
+DECLARE_DEVICE_TYPE(C64_MACH5, c64_mach5_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MACH5_H
diff --git a/src/devices/bus/c64/magic_desk.cpp b/src/devices/bus/c64/magic_desk.cpp
index a1ad9614530..9f72a1f416f 100644
--- a/src/devices/bus/c64/magic_desk.cpp
+++ b/src/devices/bus/c64/magic_desk.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MAGIC_DESK = device_creator<c64_magic_desk_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MAGIC_DESK, c64_magic_desk_cartridge_device, "c64_magic_desk", "C64 Magic Desk cartridge")
@@ -28,7 +28,7 @@ const device_type C64_MAGIC_DESK = device_creator<c64_magic_desk_cartridge_devic
//-------------------------------------------------
c64_magic_desk_cartridge_device::c64_magic_desk_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MAGIC_DESK, "C64 Magic Desk cartridge", tag, owner, clock, "c64_magic_desk", __FILE__),
+ device_t(mconfig, C64_MAGIC_DESK, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/magic_desk.h b/src/devices/bus/c64/magic_desk.h
index fb45fde1161..4082fc5ff56 100644
--- a/src/devices/bus/c64/magic_desk.h
+++ b/src/devices/bus/c64/magic_desk.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MAGIC_DESK_H
+#define MAME_BUS_C64_MAGIC_DESK_H
-#ifndef __MAGIC_DESK__
-#define __MAGIC_DESK__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type C64_MAGIC_DESK;
+DECLARE_DEVICE_TYPE(C64_MAGIC_DESK, c64_magic_desk_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MAGIC_DESK_H
diff --git a/src/devices/bus/c64/magic_formel.cpp b/src/devices/bus/c64/magic_formel.cpp
index 0812e2aaeba..b85ef00813d 100644
--- a/src/devices/bus/c64/magic_formel.cpp
+++ b/src/devices/bus/c64/magic_formel.cpp
@@ -31,7 +31,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MAGIC_FORMEL = device_creator<c64_magic_formel_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MAGIC_FORMEL, c64_magic_formel_cartridge_device, "c64_magic_formel", "C64 Magic Formel cartridge")
WRITE8_MEMBER( c64_magic_formel_cartridge_device::pia_pa_w )
@@ -164,7 +164,7 @@ ioport_constructor c64_magic_formel_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_magic_formel_cartridge_device::c64_magic_formel_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MAGIC_FORMEL, "C64 Magic Formel cartridge", tag, owner, clock, "c64_magic_formel", __FILE__),
+ device_t(mconfig, C64_MAGIC_FORMEL, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_pia(*this, MC6821_TAG),
m_ram(*this, "ram"),
diff --git a/src/devices/bus/c64/magic_formel.h b/src/devices/bus/c64/magic_formel.h
index 3068a62ec66..687e9c8f935 100644
--- a/src/devices/bus/c64/magic_formel.h
+++ b/src/devices/bus/c64/magic_formel.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MAGIC_FORMEL_H
+#define MAME_BUS_C64_MAGIC_FORMEL_H
-#ifndef __MAGIC_FORMEL__
-#define __MAGIC_FORMEL__
+#pragma once
#include "exp.h"
#include "machine/6821pia.h"
@@ -64,7 +64,7 @@ private:
// device type definition
-extern const device_type C64_MAGIC_FORMEL;
+DECLARE_DEVICE_TYPE(C64_MAGIC_FORMEL, c64_magic_formel_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MAGIC_FORMEL_H
diff --git a/src/devices/bus/c64/magic_voice.cpp b/src/devices/bus/c64/magic_voice.cpp
index b973f87a0c4..e687a96ccca 100644
--- a/src/devices/bus/c64/magic_voice.cpp
+++ b/src/devices/bus/c64/magic_voice.cpp
@@ -66,7 +66,7 @@ http://www.stefan-uhlmann.de/cbm/MVM/index.html
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MAGIC_VOICE = device_creator<c64_magic_voice_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MAGIC_VOICE, c64_magic_voice_cartridge_device, "c64_magic_voice", "C64 Magic Voice cartridge")
//-------------------------------------------------
@@ -265,7 +265,7 @@ machine_config_constructor c64_magic_voice_cartridge_device::device_mconfig_addi
//-------------------------------------------------
c64_magic_voice_cartridge_device::c64_magic_voice_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MAGIC_VOICE, "C64 Magic Voice cartridge", tag, owner, clock, "c64_magic_voice", __FILE__),
+ device_t(mconfig, C64_MAGIC_VOICE, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_vslsi(*this, T6721A_TAG),
m_tpi(*this, MOS6525_TAG),
diff --git a/src/devices/bus/c64/magic_voice.h b/src/devices/bus/c64/magic_voice.h
index 06bb5df632b..e801da274d6 100644
--- a/src/devices/bus/c64/magic_voice.h
+++ b/src/devices/bus/c64/magic_voice.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MAGIC_VOICE_H
+#define MAME_BUS_C64_MAGIC_VOICE_H
-#ifndef __MAGIC_VOICE__
-#define __MAGIC_VOICE__
+#pragma once
+#include "exp.h"
#include "machine/40105.h"
#include "machine/6525tpi.h"
-#include "exp.h"
#include "sound/t6721a.h"
@@ -72,8 +72,7 @@ private:
// device type definition
-extern const device_type C64_MAGIC_VOICE;
-
+DECLARE_DEVICE_TYPE(C64_MAGIC_VOICE, c64_magic_voice_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MAGIC_VOICE_H
diff --git a/src/devices/bus/c64/midi_maplin.cpp b/src/devices/bus/c64/midi_maplin.cpp
index 092c0ff76db..d18e4396a88 100644
--- a/src/devices/bus/c64/midi_maplin.cpp
+++ b/src/devices/bus/c64/midi_maplin.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MIDI_MAPLIN = device_creator<c64_maplin_midi_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MIDI_MAPLIN, c64_maplin_midi_cartridge_device, "c64_midimap", "C64 Maplin MIDI")
WRITE_LINE_MEMBER( c64_maplin_midi_cartridge_device::acia_irq_w )
@@ -80,7 +80,7 @@ machine_config_constructor c64_maplin_midi_cartridge_device::device_mconfig_addi
//-------------------------------------------------
c64_maplin_midi_cartridge_device::c64_maplin_midi_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MIDI_MAPLIN, "C64 Maplin MIDI", tag, owner, clock, "c64_midimap", __FILE__),
+ device_t(mconfig, C64_MIDI_MAPLIN, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_acia(*this, MC6850_TAG)
{
diff --git a/src/devices/bus/c64/midi_maplin.h b/src/devices/bus/c64/midi_maplin.h
index 5608f506989..a9fefd89169 100644
--- a/src/devices/bus/c64/midi_maplin.h
+++ b/src/devices/bus/c64/midi_maplin.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MIDI_MAPLIN_H
+#define MAME_BUS_C64_MIDI_MAPLIN_H
-#ifndef __C64_MIDI_MAPLIN__
-#define __C64_MIDI_MAPLIN__
+#pragma once
#include "exp.h"
#include "machine/6850acia.h"
@@ -50,7 +50,7 @@ private:
// device type definition
-extern const device_type C64_MIDI_MAPLIN;
+DECLARE_DEVICE_TYPE(C64_MIDI_MAPLIN, c64_maplin_midi_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MIDI_MAPLIN_H
diff --git a/src/devices/bus/c64/midi_namesoft.cpp b/src/devices/bus/c64/midi_namesoft.cpp
index 6ef20e74b41..ca4ce072075 100644
--- a/src/devices/bus/c64/midi_namesoft.cpp
+++ b/src/devices/bus/c64/midi_namesoft.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MIDI_NAMESOFT = device_creator<c64_namesoft_midi_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MIDI_NAMESOFT, c64_namesoft_midi_cartridge_device, "c64_midins", "C64 Namesoft MIDI")
WRITE_LINE_MEMBER( c64_namesoft_midi_cartridge_device::acia_irq_w )
@@ -80,7 +80,7 @@ machine_config_constructor c64_namesoft_midi_cartridge_device::device_mconfig_ad
//-------------------------------------------------
c64_namesoft_midi_cartridge_device::c64_namesoft_midi_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MIDI_NAMESOFT, "C64 Namesoft MIDI", tag, owner, clock, "c64_midins", __FILE__),
+ device_t(mconfig, C64_MIDI_NAMESOFT, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_acia(*this, MC6850_TAG)
{
diff --git a/src/devices/bus/c64/midi_namesoft.h b/src/devices/bus/c64/midi_namesoft.h
index d9321d9f217..2b1a77b6e36 100644
--- a/src/devices/bus/c64/midi_namesoft.h
+++ b/src/devices/bus/c64/midi_namesoft.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MIDI_NAMESOFT_H
+#define MAME_BUS_C64_MIDI_NAMESOFT_H
-#ifndef __C64_MIDI_NAMESOFT__
-#define __C64_MIDI_NAMESOFT__
+#pragma once
#include "exp.h"
#include "machine/6850acia.h"
@@ -50,7 +50,7 @@ private:
// device type definition
-extern const device_type C64_MIDI_NAMESOFT;
+DECLARE_DEVICE_TYPE(C64_MIDI_NAMESOFT, c64_namesoft_midi_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MIDI_NAMESOFT_H
diff --git a/src/devices/bus/c64/midi_passport.cpp b/src/devices/bus/c64/midi_passport.cpp
index 4c229129112..de6a6dea5df 100644
--- a/src/devices/bus/c64/midi_passport.cpp
+++ b/src/devices/bus/c64/midi_passport.cpp
@@ -26,7 +26,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MIDI_PASSPORT = device_creator<c64_passport_midi_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MIDI_PASSPORT, c64_passport_midi_cartridge_device, "c64_midipp", "C64 Passport MIDI")
//-------------------------------------------------
@@ -98,7 +98,7 @@ machine_config_constructor c64_passport_midi_cartridge_device::device_mconfig_ad
//-------------------------------------------------
c64_passport_midi_cartridge_device::c64_passport_midi_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MIDI_PASSPORT, "C64 Passport MIDI", tag, owner, clock, "c64_midipp", __FILE__),
+ device_t(mconfig, C64_MIDI_PASSPORT, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_acia(*this, MC6850_TAG),
m_ptm(*this, MC6840_TAG),
diff --git a/src/devices/bus/c64/midi_passport.h b/src/devices/bus/c64/midi_passport.h
index 995c5b1d6ee..2660a696189 100644
--- a/src/devices/bus/c64/midi_passport.h
+++ b/src/devices/bus/c64/midi_passport.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MIDI_PASSPORT_H
+#define MAME_BUS_C64_MIDI_PASSPORT_H
-#ifndef __C64_MIDI_PASSPORT__
-#define __C64_MIDI_PASSPORT__
+#pragma once
#include "exp.h"
#include "machine/6840ptm.h"
@@ -56,7 +56,7 @@ private:
// device type definition
-extern const device_type C64_MIDI_PASSPORT;
+DECLARE_DEVICE_TYPE(C64_MIDI_PASSPORT, c64_passport_midi_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MIDI_PASSPORT_H
diff --git a/src/devices/bus/c64/midi_sci.cpp b/src/devices/bus/c64/midi_sci.cpp
index 120dd875be4..82df737966b 100644
--- a/src/devices/bus/c64/midi_sci.cpp
+++ b/src/devices/bus/c64/midi_sci.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MIDI_SCI = device_creator<c64_sequential_midi_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MIDI_SCI, c64_sequential_midi_cartridge_device, "c64_midisci", "C64 Sequential Circuits MIDI")
WRITE_LINE_MEMBER( c64_sequential_midi_cartridge_device::acia_irq_w )
@@ -80,7 +80,7 @@ machine_config_constructor c64_sequential_midi_cartridge_device::device_mconfig_
//-------------------------------------------------
c64_sequential_midi_cartridge_device::c64_sequential_midi_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MIDI_SCI, "C64 Sequential Circuits MIDI", tag, owner, clock, "c64_midisci", __FILE__),
+ device_t(mconfig, C64_MIDI_SCI, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_acia(*this, MC6850_TAG)
{
diff --git a/src/devices/bus/c64/midi_sci.h b/src/devices/bus/c64/midi_sci.h
index c4f49bb092c..b905784218a 100644
--- a/src/devices/bus/c64/midi_sci.h
+++ b/src/devices/bus/c64/midi_sci.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MIDI_SCI_H
+#define MAME_BUS_C64_MIDI_SCI_H
-#ifndef __C64_MIDI_SCI__
-#define __C64_MIDI_SCI__
+#pragma once
#include "exp.h"
#include "machine/6850acia.h"
@@ -50,7 +50,7 @@ private:
// device type definition
-extern const device_type C64_MIDI_SCI;
+DECLARE_DEVICE_TYPE(C64_MIDI_SCI, c64_sequential_midi_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MIDI_SCI_H
diff --git a/src/devices/bus/c64/midi_siel.cpp b/src/devices/bus/c64/midi_siel.cpp
index cb1b4e1a9c1..296e0991718 100644
--- a/src/devices/bus/c64/midi_siel.cpp
+++ b/src/devices/bus/c64/midi_siel.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MIDI_SIEL = device_creator<c64_siel_midi_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MIDI_SIEL, c64_siel_midi_cartridge_device, "c64_midisiel", "C64 Siel MIDI")
WRITE_LINE_MEMBER( c64_siel_midi_cartridge_device::acia_irq_w )
@@ -80,7 +80,7 @@ machine_config_constructor c64_siel_midi_cartridge_device::device_mconfig_additi
//-------------------------------------------------
c64_siel_midi_cartridge_device::c64_siel_midi_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MIDI_SIEL, "C64 Siel MIDI", tag, owner, clock, "c64_midisiel", __FILE__),
+ device_t(mconfig, C64_MIDI_SIEL, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_acia(*this, MC6850_TAG)
{
diff --git a/src/devices/bus/c64/midi_siel.h b/src/devices/bus/c64/midi_siel.h
index 35373dda012..3f647c9a089 100644
--- a/src/devices/bus/c64/midi_siel.h
+++ b/src/devices/bus/c64/midi_siel.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MIDI_SIEL_H
+#define MAME_BUS_C64_MIDI_SIEL_H
-#ifndef __C64_MIDI_SIEL__
-#define __C64_MIDI_SIEL__
+#pragma once
#include "exp.h"
#include "machine/6850acia.h"
@@ -50,7 +50,7 @@ private:
// device type definition
-extern const device_type C64_MIDI_SIEL;
+DECLARE_DEVICE_TYPE(C64_MIDI_SIEL, c64_siel_midi_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MIDI_SIEL_H
diff --git a/src/devices/bus/c64/mikro_assembler.cpp b/src/devices/bus/c64/mikro_assembler.cpp
index 18f7bcd2772..fe97c9472d7 100644
--- a/src/devices/bus/c64/mikro_assembler.cpp
+++ b/src/devices/bus/c64/mikro_assembler.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MIKRO_ASSEMBLER = device_creator<c64_mikro_assembler_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MIKRO_ASSEMBLER, c64_mikro_assembler_cartridge_device, "c64_mikro_assembler", "C64 Mikro Assembler cartridge")
@@ -28,7 +28,7 @@ const device_type C64_MIKRO_ASSEMBLER = device_creator<c64_mikro_assembler_cartr
//-------------------------------------------------
c64_mikro_assembler_cartridge_device::c64_mikro_assembler_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MIKRO_ASSEMBLER, "C64 Mikro Assembler cartridge", tag, owner, clock, "c64_mikro_assembler", __FILE__),
+ device_t(mconfig, C64_MIKRO_ASSEMBLER, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/mikro_assembler.h b/src/devices/bus/c64/mikro_assembler.h
index 0ab466d5057..edeb220fd43 100644
--- a/src/devices/bus/c64/mikro_assembler.h
+++ b/src/devices/bus/c64/mikro_assembler.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MIKRO_ASSEMBLER_H
+#define MAME_BUS_C64_MIKRO_ASSEMBLER_H
-#ifndef __MIKRO_ASSEMBLER__
-#define __MIKRO_ASSEMBLER__
+#pragma once
#include "exp.h"
@@ -39,7 +39,7 @@ protected:
// device type definition
-extern const device_type C64_MIKRO_ASSEMBLER;
+DECLARE_DEVICE_TYPE(C64_MIKRO_ASSEMBLER, c64_mikro_assembler_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MIKRO_ASSEMBLER_H
diff --git a/src/devices/bus/c64/multiscreen.cpp b/src/devices/bus/c64/multiscreen.cpp
index 37c077a1606..185162d2914 100644
--- a/src/devices/bus/c64/multiscreen.cpp
+++ b/src/devices/bus/c64/multiscreen.cpp
@@ -78,7 +78,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MULTISCREEN = device_creator<c64_multiscreen_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MULTISCREEN, c64_multiscreen_cartridge_device, "c64_mscr", "C64 Multiscreen cartridge")
//-------------------------------------------------
@@ -141,7 +141,7 @@ machine_config_constructor c64_multiscreen_cartridge_device::device_mconfig_addi
//-------------------------------------------------
c64_multiscreen_cartridge_device::c64_multiscreen_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MULTISCREEN, "C64 Multiscreen cartridge", tag, owner, clock, "c64_mscr", __FILE__),
+ device_t(mconfig, C64_MULTISCREEN, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this), m_bank(0)
{
}
diff --git a/src/devices/bus/c64/multiscreen.h b/src/devices/bus/c64/multiscreen.h
index c2e79272853..46a72bde046 100644
--- a/src/devices/bus/c64/multiscreen.h
+++ b/src/devices/bus/c64/multiscreen.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MULTISCREEN_H
+#define MAME_BUS_C64_MULTISCREEN_H
-#ifndef __MULTISCREEN__
-#define __MULTISCREEN__
+#pragma once
#include "cpu/m6800/m6800.h"
@@ -50,7 +50,7 @@ private:
// device type definition
-extern const device_type C64_MULTISCREEN;
+DECLARE_DEVICE_TYPE(C64_MULTISCREEN, c64_multiscreen_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MULTISCREEN_H
diff --git a/src/devices/bus/c64/music64.cpp b/src/devices/bus/c64/music64.cpp
index 3c886b60935..90f0e478c48 100644
--- a/src/devices/bus/c64/music64.cpp
+++ b/src/devices/bus/c64/music64.cpp
@@ -37,7 +37,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_MUSIC64 = device_creator<c64_music64_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_MUSIC64, c64_music64_cartridge_device, "c64_music64", "C64 Music 64 cartridge")
//-------------------------------------------------
@@ -151,7 +151,7 @@ ioport_constructor c64_music64_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_music64_cartridge_device::c64_music64_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_MUSIC64, "C64 Music 64 cartridge", tag, owner, clock, "c64_music64", __FILE__),
+ device_t(mconfig, C64_MUSIC64, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_exp(*this, C64_EXPANSION_SLOT_TAG),
m_kb(*this, "KB%u", 0)
diff --git a/src/devices/bus/c64/music64.h b/src/devices/bus/c64/music64.h
index 9de8f992131..eea75aae771 100644
--- a/src/devices/bus/c64/music64.h
+++ b/src/devices/bus/c64/music64.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_MUSIC64_H
+#define MAME_BUS_C64_MUSIC64_H
-#ifndef __MUSIC64__
-#define __MUSIC64__
+#pragma once
#include "exp.h"
@@ -50,7 +50,7 @@ private:
// device type definition
-extern const device_type C64_MUSIC64;
+DECLARE_DEVICE_TYPE(C64_MUSIC64, c64_music64_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_MUSIC64_H
diff --git a/src/devices/bus/c64/neoram.cpp b/src/devices/bus/c64/neoram.cpp
index f0686a9f077..a2576cebeeb 100644
--- a/src/devices/bus/c64/neoram.cpp
+++ b/src/devices/bus/c64/neoram.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_NEORAM = device_creator<c64_neoram_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_NEORAM, c64_neoram_cartridge_device, "c64_neoram", "C64 NeoRAM cartridge")
@@ -28,7 +28,7 @@ const device_type C64_NEORAM = device_creator<c64_neoram_cartridge_device>;
//-------------------------------------------------
c64_neoram_cartridge_device::c64_neoram_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_NEORAM, "C64 NeoRAM cartridge", tag, owner, clock, "c64_neoram", __FILE__),
+ device_t(mconfig, C64_NEORAM, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
device_nvram_interface(mconfig, *this),
m_bank(0)
diff --git a/src/devices/bus/c64/neoram.h b/src/devices/bus/c64/neoram.h
index 3890fd6c21e..e75a76cd088 100644
--- a/src/devices/bus/c64/neoram.h
+++ b/src/devices/bus/c64/neoram.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_NEORAM_H
+#define MAME_BUS_C64_NEORAM_H
-#ifndef __NEORAM__
-#define __NEORAM__
+#pragma once
#include "exp.h"
@@ -50,7 +50,7 @@ private:
// device type definition
-extern const device_type C64_NEORAM;
+DECLARE_DEVICE_TYPE(C64_NEORAM, c64_neoram_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_NEORAM_H
diff --git a/src/devices/bus/c64/ocean.cpp b/src/devices/bus/c64/ocean.cpp
index a6d3d17cc1b..6f4fecda52f 100644
--- a/src/devices/bus/c64/ocean.cpp
+++ b/src/devices/bus/c64/ocean.cpp
@@ -37,7 +37,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_OCEAN = device_creator<c64_ocean_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_OCEAN, c64_ocean_cartridge_device, "c64_ocean", "C64 Ocean cartridge")
@@ -50,7 +50,7 @@ const device_type C64_OCEAN = device_creator<c64_ocean_cartridge_device>;
//-------------------------------------------------
c64_ocean_cartridge_device::c64_ocean_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_OCEAN, "C64 Ocean cartridge", tag, owner, clock, "c64_ocean", __FILE__),
+ device_t(mconfig, C64_OCEAN, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/ocean.h b/src/devices/bus/c64/ocean.h
index b871dfac89e..1af2101b3fa 100644
--- a/src/devices/bus/c64/ocean.h
+++ b/src/devices/bus/c64/ocean.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_OCEAN_H
+#define MAME_BUS_C64_OCEAN_H
-#ifndef __OCEAN__
-#define __OCEAN__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type C64_OCEAN;
+DECLARE_DEVICE_TYPE(C64_OCEAN, c64_ocean_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_OCEAN_H
diff --git a/src/devices/bus/c64/pagefox.cpp b/src/devices/bus/c64/pagefox.cpp
index 837e3ada595..975f64d5408 100644
--- a/src/devices/bus/c64/pagefox.cpp
+++ b/src/devices/bus/c64/pagefox.cpp
@@ -37,7 +37,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_PAGEFOX = device_creator<c64_pagefox_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_PAGEFOX, c64_pagefox_cartridge_device, "c64_pagefox", "C64 Pagefox cartridge")
@@ -50,7 +50,7 @@ const device_type C64_PAGEFOX = device_creator<c64_pagefox_cartridge_device>;
//-------------------------------------------------
c64_pagefox_cartridge_device::c64_pagefox_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_PAGEFOX, "C64 Pagefox cartridge", tag, owner, clock, "c64_pagefox", __FILE__),
+ device_t(mconfig, C64_PAGEFOX, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_ram(*this, "ram"), m_bank(0)
{
diff --git a/src/devices/bus/c64/pagefox.h b/src/devices/bus/c64/pagefox.h
index 2a8702af60b..25eedac9eb0 100644
--- a/src/devices/bus/c64/pagefox.h
+++ b/src/devices/bus/c64/pagefox.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_PAGEFOX_H
+#define MAME_BUS_C64_PAGEFOX_H
-#ifndef __PAGEFOX__
-#define __PAGEFOX__
+#pragma once
#include "exp.h"
@@ -46,7 +46,7 @@ private:
// device type definition
-extern const device_type C64_PAGEFOX;
+DECLARE_DEVICE_TYPE(C64_PAGEFOX, c64_pagefox_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_PAGEFOX_H
diff --git a/src/devices/bus/c64/partner.cpp b/src/devices/bus/c64/partner.cpp
index b431bc02b94..9f198bc1220 100644
--- a/src/devices/bus/c64/partner.cpp
+++ b/src/devices/bus/c64/partner.cpp
@@ -36,7 +36,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_PARTNER = device_creator<c64_partner_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_PARTNER, c64_partner_cartridge_device, "c64_partner", "C64 PARTNER 64 cartridge")
//-------------------------------------------------
@@ -78,7 +78,7 @@ ioport_constructor c64_partner_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_partner_cartridge_device::c64_partner_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_PARTNER, "C64 PARTNER 64 cartridge", tag, owner, clock, "c64_partner", __FILE__),
+ device_t(mconfig, C64_PARTNER, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_ram(*this, "ram"),
m_a0(1),
diff --git a/src/devices/bus/c64/partner.h b/src/devices/bus/c64/partner.h
index 9e44f0a1e6a..cfd82208a8b 100644
--- a/src/devices/bus/c64/partner.h
+++ b/src/devices/bus/c64/partner.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_PARTNER_H
+#define MAME_BUS_C64_PARTNER_H
-#ifndef __PARTNER__
-#define __PARTNER__
+#pragma once
#include "exp.h"
@@ -53,7 +53,7 @@ private:
// device type definition
-extern const device_type C64_PARTNER;
+DECLARE_DEVICE_TYPE(C64_PARTNER, c64_partner_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_PARTNER_H
diff --git a/src/devices/bus/c64/prophet64.cpp b/src/devices/bus/c64/prophet64.cpp
index 3a02de50eba..3b84ea81a5d 100644
--- a/src/devices/bus/c64/prophet64.cpp
+++ b/src/devices/bus/c64/prophet64.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_PROPHET64 = device_creator<c64_prophet64_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_PROPHET64, c64_prophet64_cartridge_device, "c64_prophet64", "PROPHET64")
@@ -28,7 +28,7 @@ const device_type C64_PROPHET64 = device_creator<c64_prophet64_cartridge_device>
//-------------------------------------------------
c64_prophet64_cartridge_device::c64_prophet64_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_PROPHET64, "PROPHET64", tag, owner, clock, "c64_prophet64", __FILE__),
+ device_t(mconfig, C64_PROPHET64, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/prophet64.h b/src/devices/bus/c64/prophet64.h
index 9c755b1aa97..af7b1c32544 100644
--- a/src/devices/bus/c64/prophet64.h
+++ b/src/devices/bus/c64/prophet64.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_PROPHET64_H
+#define MAME_BUS_C64_PROPHET64_H
-#ifndef __PROPHET64__
-#define __PROPHET64__
+#pragma once
#include "exp.h"
@@ -43,8 +43,6 @@ private:
// device type definition
-extern const device_type C64_PROPHET64;
-
-
+DECLARE_DEVICE_TYPE(C64_PROPHET64, c64_prophet64_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_PROPHET64_H
diff --git a/src/devices/bus/c64/ps64.cpp b/src/devices/bus/c64/ps64.cpp
index f12ef27280f..9ae20bb4162 100644
--- a/src/devices/bus/c64/ps64.cpp
+++ b/src/devices/bus/c64/ps64.cpp
@@ -57,7 +57,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_PS64 = device_creator<c64_ps64_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_PS64, c64_ps64_cartridge_device, "c64_ps64", "C64 PS-64")
//-------------------------------------------------
@@ -102,7 +102,7 @@ machine_config_constructor c64_ps64_cartridge_device::device_mconfig_additions()
//-------------------------------------------------
c64_ps64_cartridge_device::c64_ps64_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_PS64, "C64 PS-64", tag, owner, clock, "c64_ps64", __FILE__),
+ device_t(mconfig, C64_PS64, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/ps64.h b/src/devices/bus/c64/ps64.h
index f6f7be9ca12..d319cf5e573 100644
--- a/src/devices/bus/c64/ps64.h
+++ b/src/devices/bus/c64/ps64.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_PS64_H
+#define MAME_BUS_C64_PS64_H
-#ifndef __PS64__
-#define __PS64__
+#pragma once
#include "exp.h"
@@ -45,7 +45,7 @@ protected:
// device type definition
-extern const device_type C64_PS64;
+DECLARE_DEVICE_TYPE(C64_PS64, c64_ps64_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_PS64_H
diff --git a/src/devices/bus/c64/reu.cpp b/src/devices/bus/c64/reu.cpp
index 415bc8510db..124a624056f 100644
--- a/src/devices/bus/c64/reu.cpp
+++ b/src/devices/bus/c64/reu.cpp
@@ -22,9 +22,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_REU1700 = device_creator<c64_reu1700_cartridge_device>;
-const device_type C64_REU1750 = device_creator<c64_reu1750_cartridge_device>;
-const device_type C64_REU1764 = device_creator<c64_reu1764_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_REU1700, c64_reu1700_cartridge_device, "c64_1700reu", "1700 REU")
+DEFINE_DEVICE_TYPE(C64_REU1750, c64_reu1750_cartridge_device, "c64_1750reu", "1750 REU")
+DEFINE_DEVICE_TYPE(C64_REU1764, c64_reu1764_cartridge_device, "c64_1764reu", "1764 REU")
//-------------------------------------------------
@@ -59,8 +59,8 @@ machine_config_constructor c64_reu_cartridge_device::device_mconfig_additions()
// c64_reu_cartridge_device - constructor
//-------------------------------------------------
-c64_reu_cartridge_device::c64_reu_cartridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t variant, int jp1, size_t ram_size, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+c64_reu_cartridge_device::c64_reu_cartridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant, int jp1, size_t ram_size) :
+ device_t(mconfig, type, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_dmac(*this, MOS8726R1_TAG),
m_eprom(*this, "rom"),
@@ -72,13 +72,13 @@ c64_reu_cartridge_device::c64_reu_cartridge_device(const machine_config &mconfig
}
c64_reu1700_cartridge_device::c64_reu1700_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c64_reu_cartridge_device(mconfig, C64_REU1700, "1700 REU", tag, owner, clock, TYPE_1700, 0, 128 * 1024, "c64_1700reu", __FILE__) { }
+ : c64_reu_cartridge_device(mconfig, C64_REU1700, tag, owner, clock, TYPE_1700, 0, 128 * 1024) { }
c64_reu1750_cartridge_device::c64_reu1750_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c64_reu_cartridge_device(mconfig, C64_REU1750, "1750 REU", tag, owner, clock, TYPE_1750, 1, 256 * 1024, "c64_1750reu", __FILE__) { }
+ : c64_reu_cartridge_device(mconfig, C64_REU1750, tag, owner, clock, TYPE_1750, 1, 256 * 1024) { }
c64_reu1764_cartridge_device::c64_reu1764_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c64_reu_cartridge_device(mconfig, C64_REU1764, "1764 REU", tag, owner, clock, TYPE_1764, 1, 512 * 1024, "c64_1764reu", __FILE__) { }
+ : c64_reu_cartridge_device(mconfig, C64_REU1764, tag, owner, clock, TYPE_1764, 1, 512 * 1024) { }
//-------------------------------------------------
diff --git a/src/devices/bus/c64/reu.h b/src/devices/bus/c64/reu.h
index 66888f87f0d..7ace9c7b2a9 100644
--- a/src/devices/bus/c64/reu.h
+++ b/src/devices/bus/c64/reu.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_REU_H
+#define MAME_BUS_C64_REU_H
-#ifndef __REU__
-#define __REU__
+#pragma once
#include "bus/generic/slot.h"
@@ -29,9 +29,6 @@ class c64_reu_cartridge_device : public device_t,
public device_c64_expansion_card_interface
{
public:
- // construction/destruction
- c64_reu_cartridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t variant, int jp1, size_t ram_size, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -43,6 +40,9 @@ protected:
TYPE_1764
};
+ // construction/destruction
+ c64_reu_cartridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant, int jp1, size_t ram_size);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -91,10 +91,9 @@ public:
// device type definition
-extern const device_type C64_REU1700;
-extern const device_type C64_REU1750;
-extern const device_type C64_REU1764;
-
+DECLARE_DEVICE_TYPE(C64_REU1700, c64_reu1700_cartridge_device)
+DECLARE_DEVICE_TYPE(C64_REU1750, c64_reu1750_cartridge_device)
+DECLARE_DEVICE_TYPE(C64_REU1764, c64_reu1764_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_REU_H
diff --git a/src/devices/bus/c64/rex.cpp b/src/devices/bus/c64/rex.cpp
index 08b357dbc41..73bcdaf453a 100644
--- a/src/devices/bus/c64/rex.cpp
+++ b/src/devices/bus/c64/rex.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_REX = device_creator<c64_rex_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_REX, c64_rex_cartridge_device, "c64_rex", "C64 Rex cartridge")
@@ -28,7 +28,7 @@ const device_type C64_REX = device_creator<c64_rex_cartridge_device>;
//-------------------------------------------------
c64_rex_cartridge_device::c64_rex_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_REX, "C64 Rex cartridge", tag, owner, clock, "c64_rex", __FILE__),
+ device_t(mconfig, C64_REX, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/rex.h b/src/devices/bus/c64/rex.h
index 65ea804e159..42d565971ed 100644
--- a/src/devices/bus/c64/rex.h
+++ b/src/devices/bus/c64/rex.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_REX_H
+#define MAME_BUS_C64_REX_H
-#ifndef __REX__
-#define __REX__
+#pragma once
#include "exp.h"
@@ -40,7 +40,7 @@ protected:
// device type definition
-extern const device_type C64_REX;
+DECLARE_DEVICE_TYPE(C64_REX, c64_rex_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_REX_H
diff --git a/src/devices/bus/c64/rex_ep256.cpp b/src/devices/bus/c64/rex_ep256.cpp
index 7c93751ea10..6ba19fd1f2f 100644
--- a/src/devices/bus/c64/rex_ep256.cpp
+++ b/src/devices/bus/c64/rex_ep256.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_REX_EP256 = device_creator<c64_rex_ep256_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_REX_EP256, c64_rex_ep256_cartridge_device, "rexexp256", "C64 Rex 256KB EPROM cartridge")
//-------------------------------------------------
@@ -63,7 +63,7 @@ machine_config_constructor c64_rex_ep256_cartridge_device::device_mconfig_additi
//-------------------------------------------------
c64_rex_ep256_cartridge_device::c64_rex_ep256_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_REX_EP256, "C64 Rex 256KB EPROM cartridge", tag, owner, clock, "rexep256", __FILE__),
+ device_t(mconfig, C64_REX_EP256, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
for (int i = 0; i < 8; i++)
diff --git a/src/devices/bus/c64/rex_ep256.h b/src/devices/bus/c64/rex_ep256.h
index 05859b4fc3e..2d4cb25c95f 100644
--- a/src/devices/bus/c64/rex_ep256.h
+++ b/src/devices/bus/c64/rex_ep256.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_REX_EP256_H
+#define MAME_BUS_C64_REX_EP256_H
-#ifndef __REX_EP256__
-#define __REX_EP256__
+#pragma once
#include "bus/generic/slot.h"
@@ -52,8 +52,7 @@ private:
// device type definition
-extern const device_type C64_REX_EP256;
-
+DECLARE_DEVICE_TYPE(C64_REX_EP256, c64_rex_ep256_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_REX_EP256_H
diff --git a/src/devices/bus/c64/ross.cpp b/src/devices/bus/c64/ross.cpp
index add7f50bbe2..827f98f9401 100644
--- a/src/devices/bus/c64/ross.cpp
+++ b/src/devices/bus/c64/ross.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_ROSS = device_creator<c64_ross_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_ROSS, c64_ross_cartridge_device, "c64_ross", "C64 Ross cartridge")
@@ -28,7 +28,7 @@ const device_type C64_ROSS = device_creator<c64_ross_cartridge_device>;
//-------------------------------------------------
c64_ross_cartridge_device::c64_ross_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_ROSS, "C64 Ross cartridge", tag, owner, clock, "c64_ross", __FILE__),
+ device_t(mconfig, C64_ROSS, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this), m_bank(0)
{
}
diff --git a/src/devices/bus/c64/ross.h b/src/devices/bus/c64/ross.h
index e6096c1d9bd..c36e616948d 100644
--- a/src/devices/bus/c64/ross.h
+++ b/src/devices/bus/c64/ross.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_ROSS_H
+#define MAME_BUS_C64_ROSS_H
-#ifndef __ROSS__
-#define __ROSS__
+#pragma once
#include "exp.h"
@@ -44,8 +44,7 @@ private:
// device type definition
-extern const device_type C64_ROSS;
-
+DECLARE_DEVICE_TYPE(C64_ROSS, c64_ross_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_ROSS_H
diff --git a/src/devices/bus/c64/sfx_sound_expander.cpp b/src/devices/bus/c64/sfx_sound_expander.cpp
index b77dff2d61d..7c721d03b6c 100644
--- a/src/devices/bus/c64/sfx_sound_expander.cpp
+++ b/src/devices/bus/c64/sfx_sound_expander.cpp
@@ -24,7 +24,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SFX_SOUND_EXPANDER = device_creator<c64_sfx_sound_expander_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_SFX_SOUND_EXPANDER, c64_sfx_sound_expander_cartridge_device, "c64_sfxse", "C64 SFX Sound Expander cartridge")
//-------------------------------------------------
@@ -183,7 +183,7 @@ inline offs_t c64_sfx_sound_expander_cartridge_device::get_offset(offs_t offset,
//-------------------------------------------------
c64_sfx_sound_expander_cartridge_device::c64_sfx_sound_expander_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SFX_SOUND_EXPANDER, "C64 SFX Sound Expander cartridge", tag, owner, clock, "c64_sfxse", __FILE__),
+ device_t(mconfig, C64_SFX_SOUND_EXPANDER, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_opl(*this, YM3526_TAG),
m_exp(*this, C64_EXPANSION_SLOT_TAG),
diff --git a/src/devices/bus/c64/sfx_sound_expander.h b/src/devices/bus/c64/sfx_sound_expander.h
index f0d0e132dd1..8df5a1d6c0a 100644
--- a/src/devices/bus/c64/sfx_sound_expander.h
+++ b/src/devices/bus/c64/sfx_sound_expander.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_SFX_SOUND_EXPANDER_H
+#define MAME_BUS_C64_SFX_SOUND_EXPANDER_H
-#ifndef __SFX_SOUND_EXPANDER__
-#define __SFX_SOUND_EXPANDER__
+#pragma once
#include "exp.h"
#include "sound/3526intf.h"
@@ -56,8 +56,7 @@ private:
// device type definition
-extern const device_type C64_SFX_SOUND_EXPANDER;
-
+DECLARE_DEVICE_TYPE(C64_SFX_SOUND_EXPANDER, c64_sfx_sound_expander_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_SFX_SOUND_EXPANDER_H
diff --git a/src/devices/bus/c64/silverrock.cpp b/src/devices/bus/c64/silverrock.cpp
index d780445f714..2260b82738a 100644
--- a/src/devices/bus/c64/silverrock.cpp
+++ b/src/devices/bus/c64/silverrock.cpp
@@ -48,7 +48,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SILVERROCK = device_creator<c64_silverrock_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_SILVERROCK, c64_silverrock_cartridge_device, "c64_silverrock", "C64 SilverRock cartridge")
@@ -61,7 +61,7 @@ const device_type C64_SILVERROCK = device_creator<c64_silverrock_cartridge_devic
//-------------------------------------------------
c64_silverrock_cartridge_device::c64_silverrock_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SILVERROCK, "C64 SilverRock cartridge", tag, owner, clock, "c64_silverrock", __FILE__),
+ device_t(mconfig, C64_SILVERROCK, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this), m_bank(0)
{
}
diff --git a/src/devices/bus/c64/silverrock.h b/src/devices/bus/c64/silverrock.h
index ed399f18698..4bd33a4db71 100644
--- a/src/devices/bus/c64/silverrock.h
+++ b/src/devices/bus/c64/silverrock.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_SILVERROCK_H
+#define MAME_BUS_C64_SILVERROCK_H
-#ifndef __SILVERROCK__
-#define __SILVERROCK__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type C64_SILVERROCK;
+DECLARE_DEVICE_TYPE(C64_SILVERROCK, c64_silverrock_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_SILVERROCK_H
diff --git a/src/devices/bus/c64/simons_basic.cpp b/src/devices/bus/c64/simons_basic.cpp
index 5ced074bc7c..043d43531c0 100644
--- a/src/devices/bus/c64/simons_basic.cpp
+++ b/src/devices/bus/c64/simons_basic.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SIMONS_BASIC = device_creator<c64_simons_basic_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_SIMONS_BASIC, c64_simons_basic_cartridge_device, "c64_simons_basic", "C64 Simons' BASIC")
@@ -28,7 +28,7 @@ const device_type C64_SIMONS_BASIC = device_creator<c64_simons_basic_cartridge_d
//-------------------------------------------------
c64_simons_basic_cartridge_device::c64_simons_basic_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SIMONS_BASIC, "Simons' BASIC", tag, owner, clock, "c64_simons_basic", __FILE__),
+ device_t(mconfig, C64_SIMONS_BASIC, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/simons_basic.h b/src/devices/bus/c64/simons_basic.h
index d08686018f9..9f9cd5a1636 100644
--- a/src/devices/bus/c64/simons_basic.h
+++ b/src/devices/bus/c64/simons_basic.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_SIMONS_BASIC_H
+#define MAME_BUS_C64_SIMONS_BASIC_H
-#ifndef __SIMONS_BASIC__
-#define __SIMONS_BASIC__
+#pragma once
#include "exp.h"
@@ -41,7 +41,7 @@ protected:
// device type definition
-extern const device_type C64_SIMONS_BASIC;
+DECLARE_DEVICE_TYPE(C64_SIMONS_BASIC, c64_simons_basic_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_SIMONS_BASIC_H
diff --git a/src/devices/bus/c64/speakeasy.cpp b/src/devices/bus/c64/speakeasy.cpp
index 41060e9b3bd..a4c2d02a278 100644
--- a/src/devices/bus/c64/speakeasy.cpp
+++ b/src/devices/bus/c64/speakeasy.cpp
@@ -24,7 +24,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SPEAKEASY = device_creator<c64_speakeasy_t>;
+DEFINE_DEVICE_TYPE(C64_SPEAKEASY, c64_speakeasy_cartridge_device, "c64_speakeasy", "PPP Speakeasy 64")
//-------------------------------------------------
@@ -44,7 +44,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c64_speakeasy_t::device_mconfig_additions() const
+machine_config_constructor c64_speakeasy_cartridge_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( speakeasy );
}
@@ -56,11 +56,11 @@ machine_config_constructor c64_speakeasy_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// c64_speakeasy_t - constructor
+// c64_speakeasy_cartridge_device - constructor
//-------------------------------------------------
-c64_speakeasy_t::c64_speakeasy_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SPEAKEASY, "Speakeasy 64", tag, owner, clock, "speakeasy64", __FILE__),
+c64_speakeasy_cartridge_device::c64_speakeasy_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, C64_SPEAKEASY, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_votrax(*this, SC01A_TAG)
{
@@ -71,7 +71,7 @@ c64_speakeasy_t::c64_speakeasy_t(const machine_config &mconfig, const char *tag,
// device_start - device-specific startup
//-------------------------------------------------
-void c64_speakeasy_t::device_start()
+void c64_speakeasy_cartridge_device::device_start()
{
}
@@ -80,7 +80,7 @@ void c64_speakeasy_t::device_start()
// c64_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c64_speakeasy_t::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+uint8_t c64_speakeasy_cartridge_device::c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
@@ -95,7 +95,7 @@ uint8_t c64_speakeasy_t::c64_cd_r(address_space &space, offs_t offset, uint8_t d
// c64_cd_w - cartridge data write
//-------------------------------------------------
-void c64_speakeasy_t::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
+void c64_speakeasy_cartridge_device::c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
{
if (!io1)
{
diff --git a/src/devices/bus/c64/speakeasy.h b/src/devices/bus/c64/speakeasy.h
index 0dee7203789..9ff90a460b9 100644
--- a/src/devices/bus/c64/speakeasy.h
+++ b/src/devices/bus/c64/speakeasy.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_SPEAKEASY_H
+#define MAME_BUS_C64_SPEAKEASY_H
-#ifndef __C64_SPEAKEASY__
-#define __C64_SPEAKEASY__
+#pragma once
#include "exp.h"
#include "sound/votrax.h"
@@ -20,14 +20,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c64_speakeasy_t
+// ======================> c64_speakeasy_cartridge_device
-class c64_speakeasy_t : public device_t,
- public device_c64_expansion_card_interface
+class c64_speakeasy_cartridge_device : public device_t, public device_c64_expansion_card_interface
{
public:
// construction/destruction
- c64_speakeasy_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c64_speakeasy_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -46,8 +45,7 @@ private:
// device type definition
-extern const device_type C64_SPEAKEASY;
-
+DECLARE_DEVICE_TYPE(C64_SPEAKEASY, c64_speakeasy_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_SPEAKEASY_H
diff --git a/src/devices/bus/c64/stardos.cpp b/src/devices/bus/c64/stardos.cpp
index 945d089f15d..ce3d19f0b9b 100644
--- a/src/devices/bus/c64/stardos.cpp
+++ b/src/devices/bus/c64/stardos.cpp
@@ -44,7 +44,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_STARDOS = device_creator<c64_stardos_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_STARDOS, c64_stardos_cartridge_device, "c64_stardos", "C64 StarDOS cartridge")
//-------------------------------------------------
@@ -114,7 +114,7 @@ void c64_stardos_cartridge_device::charge_io2_capacitor()
//-------------------------------------------------
c64_stardos_cartridge_device::c64_stardos_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_STARDOS, "C64 StarDOS cartridge", tag, owner, clock, "c64_stardos", __FILE__),
+ device_t(mconfig, C64_STARDOS, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_io1_charge(0),
m_io2_charge(0)
diff --git a/src/devices/bus/c64/stardos.h b/src/devices/bus/c64/stardos.h
index 337101c8f7d..d9c8699a991 100644
--- a/src/devices/bus/c64/stardos.h
+++ b/src/devices/bus/c64/stardos.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C4_STARDOS_H
+#define MAME_BUS_C4_STARDOS_H
-#ifndef __STARDOS__
-#define __STARDOS__
+#pragma once
#include "exp.h"
@@ -53,7 +53,7 @@ private:
// device type definition
-extern const device_type C64_STARDOS;
+DECLARE_DEVICE_TYPE(C64_STARDOS, c64_stardos_cartridge_device)
-#endif
+#endif // MAME_BUS_C4_STARDOS_H
diff --git a/src/devices/bus/c64/std.cpp b/src/devices/bus/c64/std.cpp
index 2b75507d9b6..fac9d021696 100644
--- a/src/devices/bus/c64/std.cpp
+++ b/src/devices/bus/c64/std.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_STD = device_creator<c64_standard_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_STD, c64_standard_cartridge_device, "c64_standard", "C64 standard cartridge")
@@ -28,7 +28,7 @@ const device_type C64_STD = device_creator<c64_standard_cartridge_device>;
//-------------------------------------------------
c64_standard_cartridge_device::c64_standard_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_STD, "C64 standard cartridge", tag, owner, clock, "c64_standard", __FILE__),
+ device_t(mconfig, C64_STD, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/std.h b/src/devices/bus/c64/std.h
index 22c0d29e171..8a2599fe7bd 100644
--- a/src/devices/bus/c64/std.h
+++ b/src/devices/bus/c64/std.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_STD_H
+#define MAME_BUS_C64_STD_H
-#ifndef __C64_STANDARD_CARTRIDGE__
-#define __C64_STANDARD_CARTRIDGE__
+#pragma once
#include "exp.h"
@@ -39,7 +39,7 @@ protected:
// device type definition
-extern const device_type C64_STD;
+DECLARE_DEVICE_TYPE(C64_STD, c64_standard_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_STD_H
diff --git a/src/devices/bus/c64/structured_basic.cpp b/src/devices/bus/c64/structured_basic.cpp
index 9e5580545df..2f968643b7d 100644
--- a/src/devices/bus/c64/structured_basic.cpp
+++ b/src/devices/bus/c64/structured_basic.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_STRUCTURED_BASIC = device_creator<c64_structured_basic_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_STRUCTURED_BASIC, c64_structured_basic_cartridge_device, "c64_structured_basic", "C64 Structured Basic cartridge")
@@ -28,7 +28,7 @@ const device_type C64_STRUCTURED_BASIC = device_creator<c64_structured_basic_car
//-------------------------------------------------
c64_structured_basic_cartridge_device::c64_structured_basic_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_STRUCTURED_BASIC, "C64 Structured Basic cartridge", tag, owner, clock, "c64_structured_basic", __FILE__),
+ device_t(mconfig, C64_STRUCTURED_BASIC, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/structured_basic.h b/src/devices/bus/c64/structured_basic.h
index 21e44b42c8c..7b36402dcf5 100644
--- a/src/devices/bus/c64/structured_basic.h
+++ b/src/devices/bus/c64/structured_basic.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_STRUCTURED_BASIC_H
+#define MAME_BUS_C64_STRUCTURED_BASIC_H
-#ifndef __STRUCTURED_BASIC__
-#define __STRUCTURED_BASIC__
+#pragma once
#include "exp.h"
@@ -44,8 +44,7 @@ private:
// device type definition
-extern const device_type C64_STRUCTURED_BASIC;
-
+DECLARE_DEVICE_TYPE(C64_STRUCTURED_BASIC, c64_structured_basic_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_STRUCTURED_BASIC_H
diff --git a/src/devices/bus/c64/super_explode.cpp b/src/devices/bus/c64/super_explode.cpp
index d535d1d066e..88e7a9b48ab 100644
--- a/src/devices/bus/c64/super_explode.cpp
+++ b/src/devices/bus/c64/super_explode.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SUPER_EXPLODE = device_creator<c64_super_explode_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_SUPER_EXPLODE, c64_super_explode_cartridge_device, "c64_super_explode", "C64 Super Explode! cartridge")
@@ -38,7 +38,7 @@ const device_type C64_SUPER_EXPLODE = device_creator<c64_super_explode_cartridge
//-------------------------------------------------
c64_super_explode_cartridge_device::c64_super_explode_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SUPER_EXPLODE, "C64 Super Explode! cartridge", tag, owner, clock, "c64_super_explode", __FILE__),
+ device_t(mconfig, C64_SUPER_EXPLODE, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this), m_bank(0), m_exrom_timer(nullptr)
{
}
diff --git a/src/devices/bus/c64/super_explode.h b/src/devices/bus/c64/super_explode.h
index c65ebab167d..74edade0e6e 100644
--- a/src/devices/bus/c64/super_explode.h
+++ b/src/devices/bus/c64/super_explode.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_SUPER_EXPLODE_H
+#define MAME_BUS_C64_SUPER_EXPLODE_H
-#ifndef __SUPER_EXPLODE__
-#define __SUPER_EXPLODE__
+#pragma once
#include "exp.h"
@@ -47,7 +47,7 @@ private:
// device type definition
-extern const device_type C64_SUPER_EXPLODE;
+DECLARE_DEVICE_TYPE(C64_SUPER_EXPLODE, c64_super_explode_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_SUPER_EXPLODE_H
diff --git a/src/devices/bus/c64/super_games.cpp b/src/devices/bus/c64/super_games.cpp
index dde616c1719..7a58d29cd57 100644
--- a/src/devices/bus/c64/super_games.cpp
+++ b/src/devices/bus/c64/super_games.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SUPER_GAMES = device_creator<c64_super_games_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_SUPER_GAMES, c64_super_games_cartridge_device, "c64_super_games", "C64 Super Games cartridge")
@@ -28,7 +28,7 @@ const device_type C64_SUPER_GAMES = device_creator<c64_super_games_cartridge_dev
//-------------------------------------------------
c64_super_games_cartridge_device::c64_super_games_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SUPER_GAMES, "C64 Super Games cartridge", tag, owner, clock, "c64_super_games", __FILE__),
+ device_t(mconfig, C64_SUPER_GAMES, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/super_games.h b/src/devices/bus/c64/super_games.h
index 627eae89338..64a50f9e240 100644
--- a/src/devices/bus/c64/super_games.h
+++ b/src/devices/bus/c64/super_games.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_SUPER_GAMES_H
+#define MAME_BUS_C64_SUPER_GAMES_H
-#ifndef __SUPER_GAMES__
-#define __SUPER_GAMES__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type C64_SUPER_GAMES;
+DECLARE_DEVICE_TYPE(C64_SUPER_GAMES, c64_super_games_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_SUPER_GAMES_H
diff --git a/src/devices/bus/c64/supercpu.cpp b/src/devices/bus/c64/supercpu.cpp
index 256a184664b..cedd3057f6f 100644
--- a/src/devices/bus/c64/supercpu.cpp
+++ b/src/devices/bus/c64/supercpu.cpp
@@ -22,7 +22,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SUPERCPU = device_creator<c64_supercpu_device>;
+DEFINE_DEVICE_TYPE(C64_SUPERCPU, c64_supercpu_device, "c64_supercpu", "C64 SuperCPU v2 + SuperRAM")
//-------------------------------------------------
@@ -120,7 +120,7 @@ ioport_constructor c64_supercpu_device::device_input_ports() const
//-------------------------------------------------
c64_supercpu_device::c64_supercpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SUPERCPU, "SuperCPU", tag, owner, clock, "c64_supercpu", __FILE__),
+ device_t(mconfig, C64_SUPERCPU, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_maincpu(*this, G65816_TAG),
m_exp(*this, C64_EXPANSION_SLOT_TAG),
diff --git a/src/devices/bus/c64/supercpu.h b/src/devices/bus/c64/supercpu.h
index 3db47899c01..c3c0308d471 100644
--- a/src/devices/bus/c64/supercpu.h
+++ b/src/devices/bus/c64/supercpu.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_SUPERCPU_H
+#define MAME_BUS_C64_SUPERCPU_H
-#ifndef __SUPERCPU__
-#define __SUPERCPU__
+#pragma once
#include "exp.h"
#include "cpu/g65816/g65816.h"
@@ -55,8 +55,7 @@ private:
// device type definition
-extern const device_type C64_SUPERCPU;
-
+DECLARE_DEVICE_TYPE(C64_SUPERCPU, c64_supercpu_device)
-#endif
+#endif // MAME_BUS_C64_SUPERCPU_H
diff --git a/src/devices/bus/c64/sw8k.cpp b/src/devices/bus/c64/sw8k.cpp
index 024d6c0145c..ff0e3310101 100644
--- a/src/devices/bus/c64/sw8k.cpp
+++ b/src/devices/bus/c64/sw8k.cpp
@@ -38,7 +38,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SW8K = device_creator<c64_switchable_8k_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_SW8K, c64_switchable_8k_cartridge_device, "c64_sw8k", "C64 Switchable 8K cartridge")
//-------------------------------------------------
@@ -73,7 +73,7 @@ ioport_constructor c64_switchable_8k_cartridge_device::device_input_ports() cons
//-------------------------------------------------
c64_switchable_8k_cartridge_device::c64_switchable_8k_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SW8K, "C64 Switchable 8K cartridge", tag, owner, clock, "c64_sw8k", __FILE__),
+ device_t(mconfig, C64_SW8K, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_sw(*this, "SW"), m_bank(0)
{
diff --git a/src/devices/bus/c64/sw8k.h b/src/devices/bus/c64/sw8k.h
index 6217da60d70..10ced77912a 100644
--- a/src/devices/bus/c64/sw8k.h
+++ b/src/devices/bus/c64/sw8k.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_SW8K_H
+#define MAME_BUS_C64_SW8K_H
-#ifndef __C64_SW8K__
-#define __C64_SW8K__
+#pragma once
#include "exp.h"
@@ -49,6 +49,7 @@ private:
// device type definition
extern const device_type C64_SW8K;
+DECLARE_DEVICE_TYPE(C64_SW8K, c64_switchable_8k_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_SW8K_H
diff --git a/src/devices/bus/c64/swiftlink.cpp b/src/devices/bus/c64/swiftlink.cpp
index eeaa9677568..a59c65d5048 100644
--- a/src/devices/bus/c64/swiftlink.cpp
+++ b/src/devices/bus/c64/swiftlink.cpp
@@ -31,7 +31,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SWIFTLINK = device_creator<c64_swiftlink_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_SWIFTLINK, c64_swiftlink_cartridge_device, "c64_swiftlink", "C64 SwiftLink cartridge")
//-------------------------------------------------
@@ -101,7 +101,7 @@ ioport_constructor c64_swiftlink_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_swiftlink_cartridge_device::c64_swiftlink_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SWIFTLINK, "C64 SwiftLink cartridge", tag, owner, clock, "c64_swiftlink", __FILE__),
+ device_t(mconfig, C64_SWIFTLINK, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_acia(*this, MOS6551_TAG),
m_io_cs(*this, "CS"),
diff --git a/src/devices/bus/c64/swiftlink.h b/src/devices/bus/c64/swiftlink.h
index 3cc2ed17165..fba041f1b11 100644
--- a/src/devices/bus/c64/swiftlink.h
+++ b/src/devices/bus/c64/swiftlink.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_SWIFTLINK_H
+#define MAME_BUS_C64_SWIFTLINK_H
-#ifndef __SWIFTLINK__
-#define __SWIFTLINK__
+#pragma once
#include "exp.h"
@@ -70,7 +70,7 @@ private:
// device type definition
-extern const device_type C64_SWIFTLINK;
+DECLARE_DEVICE_TYPE(C64_SWIFTLINK, c64_swiftlink_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_SWIFTLINK_H
diff --git a/src/devices/bus/c64/system3.cpp b/src/devices/bus/c64/system3.cpp
index c7a72e4d4a2..7a1fd54ab3e 100644
--- a/src/devices/bus/c64/system3.cpp
+++ b/src/devices/bus/c64/system3.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_SYSTEM3 = device_creator<c64_system3_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_SYSTEM3, c64_system3_cartridge_device, "c64_system3", "C64 System 3 cartridge")
@@ -28,7 +28,7 @@ const device_type C64_SYSTEM3 = device_creator<c64_system3_cartridge_device>;
//-------------------------------------------------
c64_system3_cartridge_device::c64_system3_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_SYSTEM3, "C64 System 3 cartridge", tag, owner, clock, "c64_system3", __FILE__),
+ device_t(mconfig, C64_SYSTEM3, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/system3.h b/src/devices/bus/c64/system3.h
index 4f348628222..ff5ed78b53d 100644
--- a/src/devices/bus/c64/system3.h
+++ b/src/devices/bus/c64/system3.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_BUS_SYSTEM3_H
+#define MAME_BUS_BUS_SYSTEM3_H
-#ifndef __SYSTEM3__
-#define __SYSTEM3__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type C64_SYSTEM3;
+DECLARE_DEVICE_TYPE(C64_SYSTEM3, c64_system3_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_SYSTEM3_H
diff --git a/src/devices/bus/c64/tdos.cpp b/src/devices/bus/c64/tdos.cpp
index 276a1d8965e..11019901cdd 100644
--- a/src/devices/bus/c64/tdos.cpp
+++ b/src/devices/bus/c64/tdos.cpp
@@ -146,7 +146,7 @@ BASIC commands (SYS 32768 to activate)
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_TDOS = device_creator<c64_tdos_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_TDOS, c64_tdos_cartridge_device, "c64_tdos", "C64 TDOS cartridge")
//-------------------------------------------------
@@ -203,7 +203,7 @@ ioport_constructor c64_tdos_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_tdos_cartridge_device::c64_tdos_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_TDOS, "C64 TDOS cartridge", tag, owner, clock, "c64_tdos", __FILE__),
+ device_t(mconfig, C64_TDOS, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_ssda(*this, MC68A52P_TAG),
m_exp(*this, C64_EXPANSION_SLOT_TAG),
diff --git a/src/devices/bus/c64/tdos.h b/src/devices/bus/c64/tdos.h
index 79fcadd3537..164d2fd5ca0 100644
--- a/src/devices/bus/c64/tdos.h
+++ b/src/devices/bus/c64/tdos.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_TDOS_H
+#define MAME_BUS_C64_TDOS_H
-#ifndef __TDOS__
-#define __TDOS__
+#pragma once
#include "exp.h"
#include "machine/mc6852.h"
@@ -54,7 +54,7 @@ private:
// device type definition
-extern const device_type C64_TDOS;
+DECLARE_DEVICE_TYPE(C64_TDOS, c64_tdos_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_TDOS_H
diff --git a/src/devices/bus/c64/turbo232.cpp b/src/devices/bus/c64/turbo232.cpp
index 524cb98a26e..a62c0a58274 100644
--- a/src/devices/bus/c64/turbo232.cpp
+++ b/src/devices/bus/c64/turbo232.cpp
@@ -30,7 +30,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_TURBO232 = device_creator<c64_turbo232_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_TURBO232, c64_turbo232_cartridge_device, "c64_turbo232", "C64 Turbo232 cartridge")
//-------------------------------------------------
@@ -100,7 +100,7 @@ ioport_constructor c64_turbo232_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_turbo232_cartridge_device::c64_turbo232_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_TURBO232, "C64 Turbo232 cartridge", tag, owner, clock, "c64_turbo232", __FILE__),
+ device_t(mconfig, C64_TURBO232, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_acia(*this, MOS6551_TAG),
m_rs232(*this, RS232_TAG),
diff --git a/src/devices/bus/c64/turbo232.h b/src/devices/bus/c64/turbo232.h
index c98d9cc10eb..4ca2cb73084 100644
--- a/src/devices/bus/c64/turbo232.h
+++ b/src/devices/bus/c64/turbo232.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_TURBO232_H
+#define MAME_BUS_C64_TURBO232_H
-#ifndef __TURBO232__
-#define __TURBO232__
+#pragma once
#include "exp.h"
@@ -83,7 +83,7 @@ private:
// device type definition
-extern const device_type C64_TURBO232;
+DECLARE_DEVICE_TYPE(C64_TURBO232, c64_turbo232_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_TURBO232_H
diff --git a/src/devices/bus/c64/user.h b/src/devices/bus/c64/user.h
index 52aed6eb972..8e9ecf347b2 100644
--- a/src/devices/bus/c64/user.h
+++ b/src/devices/bus/c64/user.h
@@ -21,13 +21,13 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_USER_H
+#define MAME_BUS_C64_USER_H
-#ifndef __C64_USER_PORT__
-#define __C64_USER_PORT__
+#pragma once
#include "bus/pet/user.h"
SLOT_INTERFACE_EXTERN( c64_user_port_cards );
-#endif
+#endif // MAME_BUS_C64_USER_H
diff --git a/src/devices/bus/c64/vizastar.cpp b/src/devices/bus/c64/vizastar.cpp
index bd16f5b70bb..03043e7de93 100644
--- a/src/devices/bus/c64/vizastar.cpp
+++ b/src/devices/bus/c64/vizastar.cpp
@@ -47,7 +47,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_VIZASTAR = device_creator<c64_vizastar_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_VIZASTAR, c64_vizastar_cartridge_device, "c64_vizastar", "VizaStar 64 XL4")
@@ -60,7 +60,7 @@ const device_type C64_VIZASTAR = device_creator<c64_vizastar_cartridge_device>;
//-------------------------------------------------
c64_vizastar_cartridge_device::c64_vizastar_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_VIZASTAR, "VizaStar 64 XL4", tag, owner, clock, "c64_vizastar", __FILE__),
+ device_t(mconfig, C64_VIZASTAR, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/vizastar.h b/src/devices/bus/c64/vizastar.h
index dc541aec89e..95453eb6e38 100644
--- a/src/devices/bus/c64/vizastar.h
+++ b/src/devices/bus/c64/vizastar.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_VIZASTAR_H
+#define MAME_BUS_C64_VIZASTAR_H
-#ifndef __VIZASTAR__
-#define __VIZASTAR__
+#pragma once
#include "exp.h"
@@ -39,7 +39,7 @@ protected:
// device type definition
-extern const device_type C64_VIZASTAR;
+DECLARE_DEVICE_TYPE(C64_VIZASTAR, c64_vizastar_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_VIZASTAR_H
diff --git a/src/devices/bus/c64/vw64.cpp b/src/devices/bus/c64/vw64.cpp
index 794aa210a8f..f6ed996765a 100644
--- a/src/devices/bus/c64/vw64.cpp
+++ b/src/devices/bus/c64/vw64.cpp
@@ -55,7 +55,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_VW64 = device_creator<c64_vizawrite_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_VW64, c64_vizawrite_cartridge_device, "c64_vizawrite", "VizaWrite 64")
@@ -68,7 +68,7 @@ const device_type C64_VW64 = device_creator<c64_vizawrite_cartridge_device>;
//-------------------------------------------------
c64_vizawrite_cartridge_device::c64_vizawrite_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_VW64, "VizaWrite 64", tag, owner, clock, "c64_vizawrite", __FILE__),
+ device_t(mconfig, C64_VW64, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this), m_game_timer(nullptr)
{
}
diff --git a/src/devices/bus/c64/vw64.h b/src/devices/bus/c64/vw64.h
index a514931d58d..abff81acb4b 100644
--- a/src/devices/bus/c64/vw64.h
+++ b/src/devices/bus/c64/vw64.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_VW64_H
+#define MAME_BUS_C64_VW64_H
-#ifndef __VW64__
-#define __VW64__
+#pragma once
#include "exp.h"
@@ -45,7 +45,7 @@ private:
// device type definition
-extern const device_type C64_VW64;
+DECLARE_DEVICE_TYPE(C64_VW64, c64_vizawrite_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_VW64_H
diff --git a/src/devices/bus/c64/warp_speed.cpp b/src/devices/bus/c64/warp_speed.cpp
index 17ed11be1b3..e9098dadb44 100644
--- a/src/devices/bus/c64/warp_speed.cpp
+++ b/src/devices/bus/c64/warp_speed.cpp
@@ -49,7 +49,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_WARP_SPEED = device_creator<c64_warp_speed_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_WARP_SPEED, c64_warp_speed_cartridge_device, "c64_warp_speed", "C64 Warp Speed cartridge")
//-------------------------------------------------
@@ -87,7 +87,7 @@ ioport_constructor c64_warp_speed_cartridge_device::device_input_ports() const
//-------------------------------------------------
c64_warp_speed_cartridge_device::c64_warp_speed_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_WARP_SPEED, "C64 Warp Speed cartridge", tag, owner, clock, "c64_warp_speed", __FILE__),
+ device_t(mconfig, C64_WARP_SPEED, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/warp_speed.h b/src/devices/bus/c64/warp_speed.h
index 2a7f2db65c3..7a3b25cecfc 100644
--- a/src/devices/bus/c64/warp_speed.h
+++ b/src/devices/bus/c64/warp_speed.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_WARP_SPEED_H
+#define MAME_BUS_C64_WARP_SPEED_H
-#ifndef __WARP_SPEED__
-#define __WARP_SPEED__
+#pragma once
#include "exp.h"
@@ -44,7 +44,7 @@ protected:
// device type definition
-extern const device_type C64_WARP_SPEED;
+DECLARE_DEVICE_TYPE(C64_WARP_SPEED, c64_warp_speed_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_WARP_SPEED_H
diff --git a/src/devices/bus/c64/westermann.cpp b/src/devices/bus/c64/westermann.cpp
index d977e493cb5..8cb86b39a1c 100644
--- a/src/devices/bus/c64/westermann.cpp
+++ b/src/devices/bus/c64/westermann.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_WESTERMANN = device_creator<c64_westermann_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_WESTERMANN, c64_westermann_cartridge_device, "c64_westermann", "C64 Westermann cartridge")
@@ -28,7 +28,7 @@ const device_type C64_WESTERMANN = device_creator<c64_westermann_cartridge_devic
//-------------------------------------------------
c64_westermann_cartridge_device::c64_westermann_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_WESTERMANN, "C64 Westermann cartridge", tag, owner, clock, "c64_westermann", __FILE__),
+ device_t(mconfig, C64_WESTERMANN, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/c64/westermann.h b/src/devices/bus/c64/westermann.h
index 3e724a78f54..b9392c52f72 100644
--- a/src/devices/bus/c64/westermann.h
+++ b/src/devices/bus/c64/westermann.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_WESTERMANN_H
+#define MAME_BUS_C64_WESTERMANN_H
-#ifndef __WESTERMANN__
-#define __WESTERMANN__
+#pragma once
#include "exp.h"
@@ -40,7 +40,7 @@ protected:
// device type definition
-extern const device_type C64_WESTERMANN;
+DECLARE_DEVICE_TYPE(C64_WESTERMANN, c64_westermann_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_WESTERMANN_H
diff --git a/src/devices/bus/c64/xl80.cpp b/src/devices/bus/c64/xl80.cpp
index ef2891c68f4..31e66699b2d 100644
--- a/src/devices/bus/c64/xl80.cpp
+++ b/src/devices/bus/c64/xl80.cpp
@@ -57,7 +57,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_XL80 = device_creator<c64_xl80_device>;
+DEFINE_DEVICE_TYPE(C64_XL80, c64_xl80_device, "c64_xl80", "C64 XL 80 cartridge")
//-------------------------------------------------
@@ -161,7 +161,7 @@ machine_config_constructor c64_xl80_device::device_mconfig_additions() const
//-------------------------------------------------
c64_xl80_device::c64_xl80_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_XL80, "XL 80", tag, owner, clock, "c64_xl80", __FILE__),
+ device_t(mconfig, C64_XL80, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_crtc(*this, HD46505SP_TAG),
m_palette(*this, "palette"),
diff --git a/src/devices/bus/c64/xl80.h b/src/devices/bus/c64/xl80.h
index 8da0a40a78f..ee3e1789fa1 100644
--- a/src/devices/bus/c64/xl80.h
+++ b/src/devices/bus/c64/xl80.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_XL80_H
+#define MAME_BUS_C64_XL80_H
-#ifndef __XL80__
-#define __XL80__
+#pragma once
#include "exp.h"
@@ -57,7 +57,7 @@ private:
// device type definition
-extern const device_type C64_XL80;
+DECLARE_DEVICE_TYPE(C64_XL80, c64_xl80_device)
-#endif
+#endif // MAME_BUS_C64_XL80_H
diff --git a/src/devices/bus/c64/zaxxon.cpp b/src/devices/bus/c64/zaxxon.cpp
index c6e5c1ef749..8de226cfb9d 100644
--- a/src/devices/bus/c64/zaxxon.cpp
+++ b/src/devices/bus/c64/zaxxon.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_ZAXXON = device_creator<c64_zaxxon_cartridge_device>;
+DEFINE_DEVICE_TYPE(C64_ZAXXON, c64_zaxxon_cartridge_device, "c64_zaxxon", "C64 Zaxxon cartridge")
@@ -28,7 +28,7 @@ const device_type C64_ZAXXON = device_creator<c64_zaxxon_cartridge_device>;
//-------------------------------------------------
c64_zaxxon_cartridge_device::c64_zaxxon_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_ZAXXON, "C64 Zaxxon cartridge", tag, owner, clock, "c64_zaxxon", __FILE__),
+ device_t(mconfig, C64_ZAXXON, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
m_bank(0)
{
diff --git a/src/devices/bus/c64/zaxxon.h b/src/devices/bus/c64/zaxxon.h
index b15b0b0b4a5..dafd293081f 100644
--- a/src/devices/bus/c64/zaxxon.h
+++ b/src/devices/bus/c64/zaxxon.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_C64_ZAXXON_H
+#define MAME_BUS_C64_ZAXXON_H
-#ifndef __ZAXXON__
-#define __ZAXXON__
+#pragma once
#include "exp.h"
@@ -42,7 +42,7 @@ private:
// device type definition
-extern const device_type C64_ZAXXON;
+DECLARE_DEVICE_TYPE(C64_ZAXXON, c64_zaxxon_cartridge_device)
-#endif
+#endif // MAME_BUS_C64_ZAXXON_H
diff --git a/src/devices/bus/cbm2/24k.cpp b/src/devices/bus/cbm2/24k.cpp
index e9e94d272a5..9517337f8c1 100644
--- a/src/devices/bus/cbm2/24k.cpp
+++ b/src/devices/bus/cbm2/24k.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CBM2_24K = device_creator<cbm2_24k_cartridge_device>;
+DEFINE_DEVICE_TYPE(CBM2_24K, cbm2_24k_cartridge_device, "cbm2_24k", "CBM-II 24K RAM/ROM cartridge")
@@ -28,7 +28,7 @@ const device_type CBM2_24K = device_creator<cbm2_24k_cartridge_device>;
//-------------------------------------------------
cbm2_24k_cartridge_device::cbm2_24k_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CBM2_24K, "24K RAM/ROM cartridge", tag, owner, clock, "cbm2_24k", __FILE__),
+ device_t(mconfig, CBM2_24K, tag, owner, clock),
device_cbm2_expansion_card_interface(mconfig, *this),
m_ram(*this, "ram")
{
diff --git a/src/devices/bus/cbm2/24k.h b/src/devices/bus/cbm2/24k.h
index 52b75796402..0e40e67d478 100644
--- a/src/devices/bus/cbm2/24k.h
+++ b/src/devices/bus/cbm2/24k.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBM2_24K_H
+#define MAME_BUS_CBM2_24K_H
-#ifndef __CBM2_24K_CARTRIDGE__
-#define __CBM2_24K_CARTRIDGE__
+#pragma once
#include "exp.h"
@@ -41,7 +41,7 @@ protected:
// device type definition
-extern const device_type CBM2_24K;
+DECLARE_DEVICE_TYPE(CBM2_24K, cbm2_24k_cartridge_device)
-#endif
+#endif // MAME_BUS_CBM2_24K_H
diff --git a/src/devices/bus/cbm2/exp.cpp b/src/devices/bus/cbm2/exp.cpp
index bd6c2932128..0659fbc93ed 100644
--- a/src/devices/bus/cbm2/exp.cpp
+++ b/src/devices/bus/cbm2/exp.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CBM2_EXPANSION_SLOT = device_creator<cbm2_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(CBM2_EXPANSION_SLOT, cbm2_expansion_slot_device, "cbm2_expansion_slot", "CBM-II expansion port")
@@ -64,9 +64,10 @@ device_cbm2_expansion_card_interface::~device_cbm2_expansion_card_interface()
//-------------------------------------------------
cbm2_expansion_slot_device::cbm2_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CBM2_EXPANSION_SLOT, "CBM-II expansion port", tag, owner, clock, "cbm2_expansion_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- device_image_interface(mconfig, *this), m_card(nullptr)
+ device_t(mconfig, CBM2_EXPANSION_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ device_image_interface(mconfig, *this),
+ m_card(nullptr)
{
}
diff --git a/src/devices/bus/cbm2/exp.h b/src/devices/bus/cbm2/exp.h
index 061834b1504..0b6ca30a087 100644
--- a/src/devices/bus/cbm2/exp.h
+++ b/src/devices/bus/cbm2/exp.h
@@ -24,10 +24,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBM2_EXP_H
+#define MAME_BUS_CBM2_EXP_H
-#ifndef __CBM2_EXPANSION_SLOT__
-#define __CBM2_EXPANSION_SLOT__
+#pragma once
#include "softlist_dev.h"
@@ -108,13 +108,14 @@ class device_cbm2_expansion_card_interface : public device_slot_card_interface
public:
// construction/destruction
- device_cbm2_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_cbm2_expansion_card_interface();
virtual uint8_t cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) { return data; };
virtual void cbm2_bd_w(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3) { };
protected:
+ device_cbm2_expansion_card_interface(const machine_config &mconfig, device_t &device);
+
optional_shared_ptr<uint8_t> m_bank1;
optional_shared_ptr<uint8_t> m_bank2;
optional_shared_ptr<uint8_t> m_bank3;
@@ -124,11 +125,10 @@ protected:
// device type definition
-extern const device_type CBM2_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(CBM2_EXPANSION_SLOT, cbm2_expansion_slot_device)
SLOT_INTERFACE_EXTERN( cbm2_expansion_cards );
-
-#endif
+#endif // MAME_BUS_CBM2_EXP_H
diff --git a/src/devices/bus/cbm2/hrg.cpp b/src/devices/bus/cbm2/hrg.cpp
index cc06bbb7f40..c1c38b958f1 100644
--- a/src/devices/bus/cbm2/hrg.cpp
+++ b/src/devices/bus/cbm2/hrg.cpp
@@ -38,8 +38,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CBM2_HRG_A = device_creator<cbm2_hrg_a_t>;
-const device_type CBM2_HRG_B = device_creator<cbm2_hrg_b_t>;
+DEFINE_DEVICE_TYPE(CBM2_HRG_A, cbm2_hrg_a_device, "cbm2_hrga", "CBM 500/600/700 High Resolution Graphics (A)")
+DEFINE_DEVICE_TYPE(CBM2_HRG_B, cbm2_hrg_b_device, "cbm2_hrgb", "CBM 500/600/700 High Resolution Graphics (B)")
//-------------------------------------------------
@@ -56,7 +56,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *cbm2_hrg_t::device_rom_region() const
+const tiny_rom_entry *cbm2_hrg_device::device_rom_region() const
{
return ROM_NAME( cbm2_hrg );
}
@@ -66,7 +66,7 @@ const tiny_rom_entry *cbm2_hrg_t::device_rom_region() const
// ADDRESS_MAP( hrg_a_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( hrg_a_map, AS_0, 8, cbm2_hrg_a_t )
+static ADDRESS_MAP_START( hrg_a_map, AS_0, 8, cbm2_hrg_a_device )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x7fff) AM_RAM
ADDRESS_MAP_END
@@ -76,7 +76,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( hrg_b_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( hrg_b_map, AS_0, 8, cbm2_hrg_b_t )
+static ADDRESS_MAP_START( hrg_b_map, AS_0, 8, cbm2_hrg_b_device )
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x3fff) AM_RAM
ADDRESS_MAP_END
@@ -99,7 +99,7 @@ static MACHINE_CONFIG_FRAGMENT( cbm2_hrg_a )
MCFG_DEVICE_ADDRESS_MAP(AS_0, hrg_a_map)
MCFG_EF936X_PALETTE("palette")
MCFG_EF936X_BITPLANES_CNT(1);
- MCFG_EF936X_DISPLAYMODE(EF936X_512x512_DISPLAY_MODE);
+ MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x512);
MACHINE_CONFIG_END
@@ -120,7 +120,7 @@ static MACHINE_CONFIG_FRAGMENT( cbm2_hrg_b )
MCFG_DEVICE_ADDRESS_MAP(AS_0, hrg_b_map)
MCFG_EF936X_PALETTE("palette")
MCFG_EF936X_BITPLANES_CNT(1);
- MCFG_EF936X_DISPLAYMODE(EF936X_512x256_DISPLAY_MODE);
+ MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x256);
MACHINE_CONFIG_END
@@ -129,12 +129,12 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor cbm2_hrg_a_t::device_mconfig_additions() const
+machine_config_constructor cbm2_hrg_a_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cbm2_hrg_a );
}
-machine_config_constructor cbm2_hrg_b_t::device_mconfig_additions() const
+machine_config_constructor cbm2_hrg_b_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cbm2_hrg_b );
}
@@ -146,24 +146,24 @@ machine_config_constructor cbm2_hrg_b_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// cbm2_hrg_t - constructor
+// cbm2_hrg_device - constructor
//-------------------------------------------------
-cbm2_hrg_t::cbm2_hrg_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+cbm2_hrg_device::cbm2_hrg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_cbm2_expansion_card_interface(mconfig, *this),
m_gdc(*this, EF9366_TAG),
m_bank3(*this, "bank3")
{
}
-cbm2_hrg_a_t::cbm2_hrg_a_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- cbm2_hrg_t(mconfig, CBM2_HRG_A, "CBM 500/600/700 High Resolution Graphics (A)", tag, owner, clock, "cbm2_hrga", __FILE__)
+cbm2_hrg_a_device::cbm2_hrg_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ cbm2_hrg_device(mconfig, CBM2_HRG_A, tag, owner, clock)
{
}
-cbm2_hrg_b_t::cbm2_hrg_b_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- cbm2_hrg_t(mconfig, CBM2_HRG_B, "CBM 500/600/700 High Resolution Graphics (B)", tag, owner, clock, "cbm2_hrgb", __FILE__)
+cbm2_hrg_b_device::cbm2_hrg_b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ cbm2_hrg_device(mconfig, CBM2_HRG_B, tag, owner, clock)
{
}
@@ -172,7 +172,7 @@ cbm2_hrg_b_t::cbm2_hrg_b_t(const machine_config &mconfig, const char *tag, devic
// device_start - device-specific startup
//-------------------------------------------------
-void cbm2_hrg_t::device_start()
+void cbm2_hrg_device::device_start()
{
}
@@ -181,7 +181,7 @@ void cbm2_hrg_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void cbm2_hrg_t::device_reset()
+void cbm2_hrg_device::device_reset()
{
m_gdc->reset();
}
@@ -191,7 +191,7 @@ void cbm2_hrg_t::device_reset()
// cbm2_bd_r - cartridge data read
//-------------------------------------------------
-uint8_t cbm2_hrg_t::cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
+uint8_t cbm2_hrg_device::cbm2_bd_r(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
{
if (!csbank3)
{
@@ -234,7 +234,7 @@ uint8_t cbm2_hrg_t::cbm2_bd_r(address_space &space, offs_t offset, uint8_t data,
// cbm2_bd_w - cartridge data write
//-------------------------------------------------
-void cbm2_hrg_t::cbm2_bd_w(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
+void cbm2_hrg_device::cbm2_bd_w(address_space &space, offs_t offset, uint8_t data, int csbank1, int csbank2, int csbank3)
{
if (!csbank3)
{
diff --git a/src/devices/bus/cbm2/hrg.h b/src/devices/bus/cbm2/hrg.h
index 72db8dc8564..289ff89a604 100644
--- a/src/devices/bus/cbm2/hrg.h
+++ b/src/devices/bus/cbm2/hrg.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBM2_HRG_H
+#define MAME_BUS_CBM2_HRG_H
-#ifndef __CBM2_GRAPHIC__
-#define __CBM2_GRAPHIC__
+#pragma once
#include "exp.h"
#include "video/ef9365.h"
@@ -20,19 +20,19 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> cbm2_hrg_t
+// ======================> cbm2_hrg_device
-class cbm2_hrg_t : public device_t,
+class cbm2_hrg_device : public device_t,
public device_cbm2_expansion_card_interface
{
public:
- // construction/destruction
- cbm2_hrg_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
+ // construction/destruction
+ cbm2_hrg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -47,26 +47,26 @@ private:
};
-// ======================> cbm2_hrg_a_t
+// ======================> cbm2_hrg_a_device
-class cbm2_hrg_a_t : public cbm2_hrg_t
+class cbm2_hrg_a_device : public cbm2_hrg_device
{
public:
// construction/destruction
- cbm2_hrg_a_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cbm2_hrg_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
};
-// ======================> cbm2_hrg_b_t
+// ======================> cbm2_hrg_b_device
-class cbm2_hrg_b_t : public cbm2_hrg_t
+class cbm2_hrg_b_device : public cbm2_hrg_device
{
public:
// construction/destruction
- cbm2_hrg_b_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cbm2_hrg_b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -74,9 +74,8 @@ public:
// device type definition
-extern const device_type CBM2_HRG_A;
-extern const device_type CBM2_HRG_B;
-
+DECLARE_DEVICE_TYPE(CBM2_HRG_A, cbm2_hrg_a_device)
+DECLARE_DEVICE_TYPE(CBM2_HRG_B, cbm2_hrg_b_device)
-#endif
+#endif // MAME_BUS_CBM2_HRG_H
diff --git a/src/devices/bus/cbm2/std.cpp b/src/devices/bus/cbm2/std.cpp
index d795fd8837a..5087e39cd93 100644
--- a/src/devices/bus/cbm2/std.cpp
+++ b/src/devices/bus/cbm2/std.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CBM2_STD = device_creator<cbm2_standard_cartridge_device>;
+DEFINE_DEVICE_TYPE(CBM2_STD, cbm2_standard_cartridge_device, "cbm2_standard", "CBM-II standard cartridge")
@@ -28,7 +28,7 @@ const device_type CBM2_STD = device_creator<cbm2_standard_cartridge_device>;
//-------------------------------------------------
cbm2_standard_cartridge_device::cbm2_standard_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CBM2_STD, "CBM-II standard cartridge", tag, owner, clock, "cbm2_standard", __FILE__),
+ device_t(mconfig, CBM2_STD, tag, owner, clock),
device_cbm2_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/cbm2/std.h b/src/devices/bus/cbm2/std.h
index cbfc3f6f5db..beb54e1fb2e 100644
--- a/src/devices/bus/cbm2/std.h
+++ b/src/devices/bus/cbm2/std.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBM2_STD_H
+#define MAME_BUS_CBM2_STD_H
-#ifndef __CBM2_STANDARD_CARTRIDGE__
-#define __CBM2_STANDARD_CARTRIDGE__
+#pragma once
#include "exp.h"
@@ -38,7 +38,7 @@ protected:
// device type definition
-extern const device_type CBM2_STD;
+DECLARE_DEVICE_TYPE(CBM2_STD, cbm2_standard_cartridge_device)
-#endif
+#endif // MAME_BUS_CBM2_STD_H
diff --git a/src/devices/bus/cbm2/user.cpp b/src/devices/bus/cbm2/user.cpp
index 118b379abc8..0c54e409901 100644
--- a/src/devices/bus/cbm2/user.cpp
+++ b/src/devices/bus/cbm2/user.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CBM2_USER_PORT = device_creator<cbm2_user_port_device>;
+DEFINE_DEVICE_TYPE(CBM2_USER_PORT, cbm2_user_port_device, "cbm2_user_port", "CBM-II user port")
@@ -44,7 +44,7 @@ device_cbm2_user_port_interface::device_cbm2_user_port_interface(const machine_c
//-------------------------------------------------
cbm2_user_port_device::cbm2_user_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CBM2_USER_PORT, "CBM2 user port", tag, owner, clock, "cbm2_user_port", __FILE__),
+ device_t(mconfig, CBM2_USER_PORT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_write_irq(*this),
m_write_sp(*this),
diff --git a/src/devices/bus/cbm2/user.h b/src/devices/bus/cbm2/user.h
index 02b7565b0e7..9c764d7315b 100644
--- a/src/devices/bus/cbm2/user.h
+++ b/src/devices/bus/cbm2/user.h
@@ -22,10 +22,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBM2_USER_H
+#define MAME_BUS_CBM2_USER_H
-#ifndef __CBM2_USER_PORT__
-#define __CBM2_USER_PORT__
+#pragma once
@@ -73,10 +73,6 @@ class cbm2_user_port_device;
class device_cbm2_user_port_interface : public device_slot_card_interface
{
public:
- // construction/destruction
- device_cbm2_user_port_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_cbm2_user_port_interface() { }
-
virtual uint8_t cbm2_d1_r(address_space &space, offs_t offset) { return 0xff; };
virtual void cbm2_d1_w(address_space &space, offs_t offset, uint8_t data) { };
@@ -93,6 +89,9 @@ public:
virtual void cbm2_sp_w(int state) { };
protected:
+ // construction/destruction
+ device_cbm2_user_port_interface(const machine_config &mconfig, device_t &device);
+
cbm2_user_port_device *m_slot;
};
@@ -105,12 +104,11 @@ class cbm2_user_port_device : public device_t,
public:
// construction/destruction
cbm2_user_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~cbm2_user_port_device() { }
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_irq.set_callback(object); }
- template<class _Object> static devcb_base &set_sp_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_sp.set_callback(object); }
- template<class _Object> static devcb_base &set_cnt_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_cnt.set_callback(object); }
- template<class _Object> static devcb_base &set_flag_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_flag.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<cbm2_user_port_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_sp_wr_callback(device_t &device, Object &&cb) { return downcast<cbm2_user_port_device &>(device).m_write_sp.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_cnt_wr_callback(device_t &device, Object &&cb) { return downcast<cbm2_user_port_device &>(device).m_write_cnt.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_flag_wr_callback(device_t &device, Object &&cb) { return downcast<cbm2_user_port_device &>(device).m_write_flag.set_callback(std::forward<Object>(cb)); }
// computer interface
DECLARE_READ8_MEMBER( d1_r ) { uint8_t data = 0xff; if (m_card != nullptr) data = m_card->cbm2_d1_r(space, offset); return data; }
@@ -145,12 +143,11 @@ protected:
// device type definition
-extern const device_type CBM2_USER_PORT;
+DECLARE_DEVICE_TYPE(CBM2_USER_PORT, cbm2_user_port_device)
// slot devices
SLOT_INTERFACE_EXTERN( cbm2_user_port_cards );
-
-#endif
+#endif // MAME_BUS_CBM2_USER_H
diff --git a/src/devices/bus/cbmiec/c1526.cpp b/src/devices/bus/cbmiec/c1526.cpp
index 4c13a5cb151..db9b513d92b 100644
--- a/src/devices/bus/cbmiec/c1526.cpp
+++ b/src/devices/bus/cbmiec/c1526.cpp
@@ -23,9 +23,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C1526 = device_creator<c1526_t>;
+DEFINE_DEVICE_TYPE(C1526, c1526_device, "c1526", "MPS802/C1526 Printer")
+DEFINE_DEVICE_TYPE(C4023, c4023_device, "c4023", "C4023 Printer")
const device_type MPS802 = C1526;
-const device_type C4023 = device_creator<c4023_t>;
//-------------------------------------------------
@@ -49,7 +49,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1526_t::device_rom_region() const
+const tiny_rom_entry *c1526_device::device_rom_region() const
{
return ROM_NAME( c1526 );
}
@@ -69,7 +69,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c4023_t::device_rom_region() const
+const tiny_rom_entry *c4023_device::device_rom_region() const
{
return ROM_NAME( c4023 );
}
@@ -79,7 +79,7 @@ const tiny_rom_entry *c4023_t::device_rom_region() const
// ADDRESS_MAP( c1526_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c1526_mem, AS_PROGRAM, 8, c1526_base_t )
+static ADDRESS_MAP_START( c1526_mem, AS_PROGRAM, 8, c1526_device_base )
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION(M6504_TAG, 0)
ADDRESS_MAP_END
@@ -99,7 +99,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1526_t::device_mconfig_additions() const
+machine_config_constructor c1526_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1526 );
}
@@ -120,7 +120,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c4023_t::device_mconfig_additions() const
+machine_config_constructor c4023_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c4023 );
}
@@ -138,7 +138,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor c1526_t::device_input_ports() const
+ioport_constructor c1526_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c1526 );
}
@@ -156,7 +156,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor c4023_t::device_input_ports() const
+ioport_constructor c4023_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c4023 );
}
@@ -168,32 +168,32 @@ ioport_constructor c4023_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// c1526_base_t - constructor
+// c1526_device_base - constructor
//-------------------------------------------------
-c1526_base_t:: c1526_base_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+c1526_device_base::c1526_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock)
{
}
//-------------------------------------------------
-// c1526_t - constructor
+// c1526_device - constructor
//-------------------------------------------------
-c1526_t::c1526_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- c1526_base_t(mconfig, C1526, "MPS802/C1526 Printer", tag, owner, clock, "c1526", __FILE__),
+c1526_device::c1526_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ c1526_device_base(mconfig, C1526, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this)
{
}
//-------------------------------------------------
-// c4023_t - constructor
+// c4023_device - constructor
//-------------------------------------------------
-c4023_t::c4023_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- c1526_base_t(mconfig, C4023, "C4023 Printer", tag, owner, clock, "c4023", __FILE__),
+c4023_device::c4023_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ c1526_device_base(mconfig, C4023, tag, owner, clock),
device_ieee488_interface(mconfig, *this)
{
}
@@ -203,7 +203,7 @@ c4023_t::c4023_t(const machine_config &mconfig, const char *tag, device_t *owner
// device_start - device-specific startup
//-------------------------------------------------
-void c1526_base_t::device_start()
+void c1526_device_base::device_start()
{
}
@@ -212,7 +212,7 @@ void c1526_base_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void c1526_base_t::device_reset()
+void c1526_device_base::device_reset()
{
}
@@ -221,7 +221,7 @@ void c1526_base_t::device_reset()
// cbm_iec_atn -
//-------------------------------------------------
-void c1526_t::cbm_iec_atn(int state)
+void c1526_device::cbm_iec_atn(int state)
{
}
@@ -230,7 +230,7 @@ void c1526_t::cbm_iec_atn(int state)
// cbm_iec_data -
//-------------------------------------------------
-void c1526_t::cbm_iec_data(int state)
+void c1526_device::cbm_iec_data(int state)
{
}
@@ -239,7 +239,7 @@ void c1526_t::cbm_iec_data(int state)
// cbm_iec_reset -
//-------------------------------------------------
-void c1526_t::cbm_iec_reset(int state)
+void c1526_device::cbm_iec_reset(int state)
{
if (!state)
{
@@ -252,7 +252,7 @@ void c1526_t::cbm_iec_reset(int state)
// ieee488_atn_w -
//-------------------------------------------------
-void c4023_t::ieee488_atn(int state)
+void c4023_device::ieee488_atn(int state)
{
}
@@ -261,7 +261,7 @@ void c4023_t::ieee488_atn(int state)
// ieee488_ifc_w -
//-------------------------------------------------
-void c4023_t::ieee488_ifc(int state)
+void c4023_device::ieee488_ifc(int state)
{
if (!state)
{
diff --git a/src/devices/bus/cbmiec/c1526.h b/src/devices/bus/cbmiec/c1526.h
index ba528485ac8..9d4d61ec7ae 100644
--- a/src/devices/bus/cbmiec/c1526.h
+++ b/src/devices/bus/cbmiec/c1526.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_C1626_H
+#define MAME_BUS_CBMIEC_C1626_H
-#ifndef __C1526__
-#define __C1526__
+#pragma once
#include "cbmiec.h"
#include "bus/ieee488/ieee488.h"
@@ -21,29 +21,27 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c1526_base_t
+// ======================> c1526_device_base
-class c1526_base_t : public device_t
+class c1526_device_base : public device_t
{
-public:
+protected:
// construction/destruction
- c1526_base_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ c1526_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
};
-// ======================> c1526_t
+// ======================> c1526_device
-class c1526_t : public c1526_base_t,
- public device_cbm_iec_interface
+class c1526_device : public c1526_device_base, public device_cbm_iec_interface
{
public:
// construction/destruction
- c1526_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1526_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -58,14 +56,13 @@ protected:
};
-// ======================> c4023_t
+// ======================> c4023_device
-class c4023_t : public c1526_base_t,
- public device_ieee488_interface
+class c4023_device : public c1526_device_base, public device_ieee488_interface
{
public:
// construction/destruction
- c4023_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c4023_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -80,10 +77,9 @@ protected:
// device type definition
-extern const device_type C1526;
+DECLARE_DEVICE_TYPE(C1526, c1526_device)
+DECLARE_DEVICE_TYPE(C4023, c4023_device)
extern const device_type MPS802;
-extern const device_type C4023;
-
-#endif
+#endif // MAME_BUS_CBMIEC_C1626_H
diff --git a/src/devices/bus/cbmiec/c1541.cpp b/src/devices/bus/cbmiec/c1541.cpp
index 9955cb5afeb..9bb72cc0745 100644
--- a/src/devices/bus/cbmiec/c1541.cpp
+++ b/src/devices/bus/cbmiec/c1541.cpp
@@ -161,18 +161,18 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C1540 = device_creator<c1540_t>;
-const device_type C1541 = device_creator<c1541_t>;
-const device_type C1541C = device_creator<c1541c_t>;
-const device_type C1541II = device_creator<c1541ii_t>;
-const device_type SX1541 = device_creator<sx1541_t>;
-const device_type FSD1 = device_creator<fsd1_t>;
-const device_type FSD2 = device_creator<fsd2_t>;
-const device_type CSD1 = device_creator<csd1_t>;
-const device_type C1541_DOLPHIN_DOS = device_creator<c1541_dolphin_dos_t>;
-const device_type C1541_PROFESSIONAL_DOS_V1 = device_creator<c1541_professional_dos_v1_t>;
-const device_type C1541_PROLOGIC_DOS_CLASSIC = device_creator<c1541_prologic_dos_classic_t>;
-const device_type INDUS_GT = device_creator<indus_gt_t>;
+DEFINE_DEVICE_TYPE(C1540, c1540_device, "c1540", "C1540")
+DEFINE_DEVICE_TYPE(C1541, c1541_device, "c1541", "C1541")
+DEFINE_DEVICE_TYPE(C1541C, c1541c_device, "c1541c", "C1541C")
+DEFINE_DEVICE_TYPE(C1541II, c1541ii_device, "c1541ii", "C1541-II")
+DEFINE_DEVICE_TYPE(SX1541, sx1541_device, "sx1541", "SX1541")
+DEFINE_DEVICE_TYPE(FSD1, fsd1_device, "fsd1", "FSD-1")
+DEFINE_DEVICE_TYPE(FSD2, fsd2_device, "fsd2", "FSD-2")
+DEFINE_DEVICE_TYPE(CSD1, csd1_device, "csd1", "CSD-1")
+DEFINE_DEVICE_TYPE(C1541_DOLPHIN_DOS, c1541_dolphin_dos_device, "c1541dd", "C1541 Dolphin-DOS 2.0")
+DEFINE_DEVICE_TYPE(C1541_PROFESSIONAL_DOS_V1, c1541_professional_dos_v1_device, "c1541pd", "C1541 Professional-DOS v1")
+DEFINE_DEVICE_TYPE(C1541_PROLOGIC_DOS_CLASSIC, c1541_prologic_dos_classic_device, "c1541pdc", "C1541 ProLogic-DOS Classic")
+DEFINE_DEVICE_TYPE(INDUS_GT, indus_gt_device, "indusgt", "Indus GT")
//-------------------------------------------------
@@ -190,7 +190,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1540_t::device_rom_region() const
+const tiny_rom_entry *c1540_device::device_rom_region() const
{
return ROM_NAME( c1540 );
}
@@ -234,7 +234,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1541_t::device_rom_region() const
+const tiny_rom_entry *c1541_device::device_rom_region() const
{
return ROM_NAME( c1541 );
}
@@ -258,7 +258,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1541c_t::device_rom_region() const
+const tiny_rom_entry *c1541c_device::device_rom_region() const
{
return ROM_NAME( c1541c );
}
@@ -284,7 +284,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1541ii_t::device_rom_region() const
+const tiny_rom_entry *c1541ii_device::device_rom_region() const
{
return ROM_NAME( c1541ii );
}
@@ -312,7 +312,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *sx1541_t::device_rom_region() const
+const tiny_rom_entry *sx1541_device::device_rom_region() const
{
return ROM_NAME( sx1541 );
}
@@ -332,7 +332,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *fsd1_t::device_rom_region() const
+const tiny_rom_entry *fsd1_device::device_rom_region() const
{
return ROM_NAME( fsd1 );
}
@@ -360,7 +360,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *fsd2_t::device_rom_region() const
+const tiny_rom_entry *fsd2_device::device_rom_region() const
{
return ROM_NAME( fsd2 );
}
@@ -381,7 +381,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *csd1_t::device_rom_region() const
+const tiny_rom_entry *csd1_device::device_rom_region() const
{
return ROM_NAME( csd1 );
}
@@ -401,7 +401,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1541_dolphin_dos_t::device_rom_region() const
+const tiny_rom_entry *c1541_dolphin_dos_device::device_rom_region() const
{
return ROM_NAME( c1541dd );
}
@@ -422,7 +422,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1541_professional_dos_v1_t::device_rom_region() const
+const tiny_rom_entry *c1541_professional_dos_v1_device::device_rom_region() const
{
return ROM_NAME( c1541pd );
}
@@ -447,7 +447,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1541_prologic_dos_classic_t::device_rom_region() const
+const tiny_rom_entry *c1541_prologic_dos_classic_device::device_rom_region() const
{
return ROM_NAME( c1541pdc );
}
@@ -471,7 +471,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *indus_gt_t::device_rom_region() const
+const tiny_rom_entry *indus_gt_device::device_rom_region() const
{
return ROM_NAME( indusgt );
}
@@ -481,7 +481,7 @@ const tiny_rom_entry *indus_gt_t::device_rom_region() const
// read -
//-------------------------------------------------
-READ8_MEMBER( c1541_prologic_dos_classic_t::read )
+READ8_MEMBER( c1541_prologic_dos_classic_device::read )
{
return 0;
}
@@ -491,7 +491,7 @@ READ8_MEMBER( c1541_prologic_dos_classic_t::read )
// write -
//-------------------------------------------------
-WRITE8_MEMBER( c1541_prologic_dos_classic_t::write )
+WRITE8_MEMBER( c1541_prologic_dos_classic_device::write )
{
}
@@ -500,7 +500,7 @@ WRITE8_MEMBER( c1541_prologic_dos_classic_t::write )
// ADDRESS_MAP( c1541_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c1541_mem, AS_PROGRAM, 8, c1541_base_t )
+static ADDRESS_MAP_START( c1541_mem, AS_PROGRAM, 8, c1541_device_base )
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
@@ -512,7 +512,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( c1541dd_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c1541dd_mem, AS_PROGRAM, 8, c1541_base_t )
+static ADDRESS_MAP_START( c1541dd_mem, AS_PROGRAM, 8, c1541_device_base )
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
@@ -525,7 +525,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( c1541pd_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c1541pd_mem, AS_PROGRAM, 8, c1541_base_t )
+static ADDRESS_MAP_START( c1541pd_mem, AS_PROGRAM, 8, c1541_device_base )
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
@@ -540,7 +540,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( c1541pdc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c1541pdc_mem, AS_PROGRAM, 8, c1541_prologic_dos_classic_t )
+static ADDRESS_MAP_START( c1541pdc_mem, AS_PROGRAM, 8, c1541_prologic_dos_classic_device )
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
/* AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("share1")
AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
@@ -553,20 +553,20 @@ static ADDRESS_MAP_START( c1541pdc_mem, AS_PROGRAM, 8, c1541_prologic_dos_classi
ADDRESS_MAP_END
-WRITE_LINE_MEMBER( c1541_base_t::via0_irq_w )
+WRITE_LINE_MEMBER( c1541_device_base::via0_irq_w )
{
m_via0_irq = state;
m_maincpu->set_input_line(INPUT_LINE_IRQ0, (m_via0_irq || m_via1_irq) ? ASSERT_LINE : CLEAR_LINE);
}
-READ8_MEMBER( c1541_base_t::via0_pa_r )
+READ8_MEMBER( c1541_device_base::via0_pa_r )
{
// dummy read to acknowledge ATN IN interrupt
return m_parallel_data;
}
-WRITE8_MEMBER( c1541_base_t::via0_pa_w )
+WRITE8_MEMBER( c1541_device_base::via0_pa_w )
{
if (m_other != nullptr)
{
@@ -574,7 +574,7 @@ WRITE8_MEMBER( c1541_base_t::via0_pa_w )
}
}
-READ8_MEMBER( c1541_base_t::via0_pb_r )
+READ8_MEMBER( c1541_device_base::via0_pb_r )
{
/*
@@ -608,7 +608,7 @@ READ8_MEMBER( c1541_base_t::via0_pb_r )
return data;
}
-WRITE8_MEMBER( c1541_base_t::via0_pb_w )
+WRITE8_MEMBER( c1541_device_base::via0_pb_w )
{
/*
@@ -635,7 +635,7 @@ WRITE8_MEMBER( c1541_base_t::via0_pb_w )
m_bus->clk_w(this, !BIT(data, 3));
}
-WRITE_LINE_MEMBER( c1541_base_t::via0_ca2_w )
+WRITE_LINE_MEMBER( c1541_device_base::via0_ca2_w )
{
if (m_other != nullptr)
{
@@ -643,7 +643,7 @@ WRITE_LINE_MEMBER( c1541_base_t::via0_ca2_w )
}
}
-READ8_MEMBER( c1541c_t::via0_pa_r )
+READ8_MEMBER( c1541c_device::via0_pa_r )
{
/*
@@ -664,14 +664,14 @@ READ8_MEMBER( c1541c_t::via0_pa_r )
}
-WRITE_LINE_MEMBER( c1541_base_t::via1_irq_w )
+WRITE_LINE_MEMBER( c1541_device_base::via1_irq_w )
{
m_via1_irq = state;
m_maincpu->set_input_line(INPUT_LINE_IRQ0, (m_via0_irq || m_via1_irq) ? ASSERT_LINE : CLEAR_LINE);
}
-READ8_MEMBER( c1541_base_t::via1_pb_r )
+READ8_MEMBER( c1541_device_base::via1_pb_r )
{
/*
@@ -699,7 +699,7 @@ READ8_MEMBER( c1541_base_t::via1_pb_r )
return data;
}
-WRITE8_MEMBER( c1541_base_t::via1_pb_w )
+WRITE8_MEMBER( c1541_device_base::via1_pb_w )
{
/*
@@ -734,12 +734,12 @@ WRITE8_MEMBER( c1541_base_t::via1_pb_w )
// C64H156_INTERFACE( ga_intf )
//-------------------------------------------------
-WRITE_LINE_MEMBER( c1541_base_t::atn_w )
+WRITE_LINE_MEMBER( c1541_device_base::atn_w )
{
set_iec_data();
}
-WRITE_LINE_MEMBER( c1541_base_t::byte_w )
+WRITE_LINE_MEMBER( c1541_device_base::byte_w )
{
m_maincpu->set_input_line(M6502_SET_OVERFLOW, state);
@@ -752,7 +752,7 @@ WRITE_LINE_MEMBER( c1541_base_t::byte_w )
//-------------------------------------------------
static SLOT_INTERFACE_START( c1540_floppies )
- SLOT_INTERFACE( "525ssqd", ALPS_3255190x )
+ SLOT_INTERFACE( "525ssqd", ALPS_3255190X )
SLOT_INTERFACE_END
@@ -760,23 +760,23 @@ SLOT_INTERFACE_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c1541_base_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c1541_device_base::floppy_formats )
FLOPPY_D64_FORMAT,
FLOPPY_G64_FORMAT
FLOPPY_FORMATS_END
-READ8_MEMBER( c1541_prologic_dos_classic_t::pia_r )
+READ8_MEMBER( c1541_prologic_dos_classic_device::pia_r )
{
return m_pia->read(space, (offset >> 2) & 0x03);
}
-WRITE8_MEMBER( c1541_prologic_dos_classic_t::pia_w )
+WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_w )
{
m_pia->write(space, (offset >> 2) & 0x03, data);
}
-WRITE8_MEMBER( c1541_prologic_dos_classic_t::pia_pa_w )
+WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_pa_w )
{
/*
@@ -794,12 +794,12 @@ WRITE8_MEMBER( c1541_prologic_dos_classic_t::pia_pa_w )
*/
}
-READ8_MEMBER( c1541_prologic_dos_classic_t::pia_pb_r )
+READ8_MEMBER( c1541_prologic_dos_classic_device::pia_pb_r )
{
return m_parallel_data;
}
-WRITE8_MEMBER( c1541_prologic_dos_classic_t::pia_pb_w )
+WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_pb_w )
{
m_parallel_data = data;
@@ -817,26 +817,26 @@ static MACHINE_CONFIG_FRAGMENT( c1541 )
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, XTAL_16MHz/16)
- MCFG_VIA6522_READPA_HANDLER(READ8(c1541_base_t, via0_pa_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1541_base_t, via0_pb_r))
- MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1541_base_t, via0_pa_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1541_base_t, via0_pb_w))
- MCFG_VIA6522_CB2_HANDLER(WRITELINE(c1541_base_t, via0_ca2_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1541_base_t, via0_irq_w))
+ MCFG_VIA6522_READPA_HANDLER(READ8(c1541_device_base, via0_pa_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1541_device_base, via0_pb_r))
+ MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1541_device_base, via0_pa_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1541_device_base, via0_pb_w))
+ MCFG_VIA6522_CB2_HANDLER(WRITELINE(c1541_device_base, via0_ca2_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1541_device_base, via0_irq_w))
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, XTAL_16MHz/16)
MCFG_VIA6522_READPA_HANDLER(DEVREAD8(C64H156_TAG, c64h156_device, yb_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1541_base_t, via1_pb_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1541_device_base, via1_pb_r))
MCFG_VIA6522_WRITEPA_HANDLER(DEVWRITE8(C64H156_TAG, c64h156_device, yb_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1541_base_t, via1_pb_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1541_device_base, via1_pb_w))
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, soe_w))
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, oe_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1541_base_t, via1_irq_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1541_device_base, via1_irq_w))
MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
- MCFG_64H156_ATN_CALLBACK(WRITELINE(c1541_base_t, atn_w))
- MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1541_base_t, byte_w))
- MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1540_floppies, "525ssqd", c1541_base_t::floppy_formats)
+ MCFG_64H156_ATN_CALLBACK(WRITELINE(c1541_device_base, atn_w))
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1541_device_base, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1540_floppies, "525ssqd", c1541_device_base::floppy_formats)
MACHINE_CONFIG_END
@@ -845,7 +845,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1541_base_t::device_mconfig_additions() const
+machine_config_constructor c1541_device_base::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1541 );
}
@@ -865,7 +865,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1541c_t::device_mconfig_additions() const
+machine_config_constructor c1541c_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1541c );
}
@@ -888,7 +888,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1541_dolphin_dos_t::device_mconfig_additions() const
+machine_config_constructor c1541_dolphin_dos_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1541dd );
}
@@ -911,7 +911,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1541_professional_dos_v1_t::device_mconfig_additions() const
+machine_config_constructor c1541_professional_dos_v1_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1541pd );
}
@@ -928,9 +928,9 @@ static MACHINE_CONFIG_FRAGMENT( c1541pdc )
MCFG_CPU_PROGRAM_MAP(c1541pdc_mem)
MCFG_DEVICE_ADD(MC6821_TAG, PIA6821, 0)
- MCFG_PIA_READPB_HANDLER(READ8(c1541_prologic_dos_classic_t, pia_pb_r))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(c1541_prologic_dos_classic_t, pia_pa_w))
- MCFG_PIA_WRITEPB_HANDLER(WRITE8(c1541_prologic_dos_classic_t, pia_pb_w))
+ MCFG_PIA_READPB_HANDLER(READ8(c1541_prologic_dos_classic_device, pia_pb_r))
+ MCFG_PIA_WRITEPA_HANDLER(WRITE8(c1541_prologic_dos_classic_device, pia_pa_w))
+ MCFG_PIA_WRITEPB_HANDLER(WRITE8(c1541_prologic_dos_classic_device, pia_pb_w))
MCFG_PIA_CA2_HANDLER(DEVWRITELINE(CENTRONICS_TAG, centronics_device, write_strobe))
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_devices, "printer")
@@ -944,7 +944,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1541_prologic_dos_classic_t::device_mconfig_additions() const
+machine_config_constructor c1541_prologic_dos_classic_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1541pdc );
}
@@ -968,7 +968,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor c1541_base_t::device_input_ports() const
+ioport_constructor c1541_device_base::device_input_ports() const
{
return INPUT_PORTS_NAME( c1541 );
}
@@ -983,7 +983,7 @@ ioport_constructor c1541_base_t::device_input_ports() const
// set_iec_data -
//-------------------------------------------------
-inline void c1541_base_t::set_iec_data()
+inline void c1541_device_base::set_iec_data()
{
int data = !m_data_out && !m_ga->atn_r();
@@ -997,11 +997,11 @@ inline void c1541_base_t::set_iec_data()
//**************************************************************************
//-------------------------------------------------
-// c1541_base_t - constructor
+// c1541_device_base - constructor
//-------------------------------------------------
-c1541_base_t:: c1541_base_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+c1541_device_base::c1541_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this),
device_c64_floppy_parallel_interface(mconfig, *this),
m_maincpu(*this, M6502_TAG),
@@ -1018,91 +1018,91 @@ c1541_base_t:: c1541_base_t(const machine_config &mconfig, device_type type, con
//-------------------------------------------------
-// c1540_t - constructor
+// c1540_device - constructor
//-------------------------------------------------
-c1540_t::c1540_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, C1540, "C1540", tag, owner, clock, "c1540", __FILE__) { }
+c1540_device::c1540_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, C1540, tag, owner, clock) { }
//-------------------------------------------------
-// c1541_t - constructor
+// c1541_device - constructor
//-------------------------------------------------
-c1541_t::c1541_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, C1541, "C1541", tag, owner, clock, "c1541", __FILE__) { }
+c1541_device::c1541_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, C1541, tag, owner, clock) { }
//-------------------------------------------------
-// c1541c_t - constructor
+// c1541c_device - constructor
//-------------------------------------------------
-c1541c_t::c1541c_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, C1541C, "C1541C", tag, owner, clock, "c1541c", __FILE__) { }
+c1541c_device::c1541c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, C1541C, tag, owner, clock) { }
//-------------------------------------------------
-// c1541ii_t - constructor
+// c1541ii_device - constructor
//-------------------------------------------------
-c1541ii_t::c1541ii_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, C1541II, "C1541-II", tag, owner, clock, "c1541ii", __FILE__) { }
+c1541ii_device::c1541ii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, C1541II, tag, owner, clock) { }
//-------------------------------------------------
-// sx1541_t - constructor
+// sx1541_device - constructor
//-------------------------------------------------
-sx1541_t::sx1541_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, SX1541, "SX1541", tag, owner, clock, "sx1541", __FILE__) { }
+sx1541_device::sx1541_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, SX1541, tag, owner, clock) { }
//-------------------------------------------------
-// fsd1_t - constructor
+// fsd1_device - constructor
//-------------------------------------------------
-fsd1_t::fsd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, FSD1, "FSD-1", tag, owner, clock, "fsd1", __FILE__) { }
+fsd1_device::fsd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, FSD1, tag, owner, clock) { }
//-------------------------------------------------
-// fsd2_t - constructor
+// fsd2_device - constructor
//-------------------------------------------------
-fsd2_t::fsd2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, FSD2, "FSD-2", tag, owner, clock, "fsd2", __FILE__) { }
+fsd2_device::fsd2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, FSD2, tag, owner, clock) { }
//-------------------------------------------------
-// csd1_t - constructor
+// csd1_device - constructor
//-------------------------------------------------
-csd1_t::csd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, CSD1, "CSD-1", tag, owner, clock, "csd1", __FILE__) { }
+csd1_device::csd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, CSD1, tag, owner, clock) { }
//-------------------------------------------------
-// c1541_dolphin_dos_t - constructor
+// c1541_dolphin_dos_device - constructor
//-------------------------------------------------
-c1541_dolphin_dos_t::c1541_dolphin_dos_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, C1541_DOLPHIN_DOS, "C1541 Dolphin-DOS 2.0", tag, owner, clock, "c1541dd", __FILE__) { }
+c1541_dolphin_dos_device::c1541_dolphin_dos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, C1541_DOLPHIN_DOS, tag, owner, clock) { }
//-------------------------------------------------
-// c1541_professional_dos_v1_t - constructor
+// c1541_professional_dos_v1_device - constructor
//-------------------------------------------------
-c1541_professional_dos_v1_t::c1541_professional_dos_v1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, C1541_PROFESSIONAL_DOS_V1, "C1541 Professional-DOS v1", tag, owner, clock, "c1541pd", __FILE__) { }
+c1541_professional_dos_v1_device::c1541_professional_dos_v1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, C1541_PROFESSIONAL_DOS_V1, tag, owner, clock) { }
//-------------------------------------------------
-// c1541_prologic_dos_classic_t - constructor
+// c1541_prologic_dos_classic_device - constructor
//-------------------------------------------------
-c1541_prologic_dos_classic_t::c1541_prologic_dos_classic_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, C1541_PROLOGIC_DOS_CLASSIC, "C1541 ProLogic-DOS Classic", tag, owner, clock, "c1541pdc", __FILE__),
+c1541_prologic_dos_classic_device::c1541_prologic_dos_classic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, C1541_PROLOGIC_DOS_CLASSIC, tag, owner, clock),
m_pia(*this, MC6821_TAG),
m_cent_data_out(*this, "cent_data_out"),
m_mmu_rom(*this, "mmu")
@@ -1111,18 +1111,18 @@ c1541_prologic_dos_classic_t::c1541_prologic_dos_classic_t(const machine_config
//-------------------------------------------------
-// indus_gt_t - constructor
+// indus_gt_device - constructor
//-------------------------------------------------
-indus_gt_t::indus_gt_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1541_base_t(mconfig, INDUS_GT, "Indus GT", tag, owner, clock, "indusgt", __FILE__) { }
+indus_gt_device::indus_gt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1541_device_base(mconfig, INDUS_GT, tag, owner, clock) { }
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
-void c1541_base_t::device_start()
+void c1541_device_base::device_start()
{
// install image callbacks
m_ga->set_floppy(m_floppy);
@@ -1133,9 +1133,9 @@ void c1541_base_t::device_start()
save_item(NAME(m_via1_irq));
}
-void fsd2_t::device_start()
+void fsd2_device::device_start()
{
- c1541_base_t::device_start();
+ c1541_device_base::device_start();
// decrypt ROM
uint8_t *rom = memregion(M6502_TAG)->base();
@@ -1153,7 +1153,7 @@ void fsd2_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void c1541_base_t::device_reset()
+void c1541_device_base::device_reset()
{
m_maincpu->reset();
@@ -1170,7 +1170,7 @@ void c1541_base_t::device_reset()
// iec_atn_w -
//-------------------------------------------------
-void c1541_base_t::cbm_iec_atn(int state)
+void c1541_device_base::cbm_iec_atn(int state)
{
m_via0->write_ca1(!state);
m_ga->atni_w(!state);
@@ -1183,7 +1183,7 @@ void c1541_base_t::cbm_iec_atn(int state)
// iec_reset_w -
//-------------------------------------------------
-void c1541_base_t::cbm_iec_reset(int state)
+void c1541_device_base::cbm_iec_reset(int state)
{
if (!state)
{
@@ -1196,7 +1196,7 @@ void c1541_base_t::cbm_iec_reset(int state)
// parallel_data_w -
//-------------------------------------------------
-void c1541_base_t::parallel_data_w(uint8_t data)
+void c1541_device_base::parallel_data_w(uint8_t data)
{
m_parallel_data = data;
}
@@ -1206,7 +1206,7 @@ void c1541_base_t::parallel_data_w(uint8_t data)
// parallel_strobe_w -
//-------------------------------------------------
-void c1541_base_t::parallel_strobe_w(int state)
+void c1541_device_base::parallel_strobe_w(int state)
{
m_via0->write_cb1(state);
}
diff --git a/src/devices/bus/cbmiec/c1541.h b/src/devices/bus/cbmiec/c1541.h
index 73ceb88eef8..3725da29fa5 100644
--- a/src/devices/bus/cbmiec/c1541.h
+++ b/src/devices/bus/cbmiec/c1541.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_C1541_H
+#define MAME_BUS_CBMIEC_C1541_H
-#ifndef __C1541__
-#define __C1541__
+#pragma once
#include "cbmiec.h"
#include "bus/c64/bn1541.h"
@@ -33,16 +33,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c1541_base_t
+// ======================> c1541_device_base
-class c1541_base_t : public device_t,
+class c1541_device_base : public device_t,
public device_cbm_iec_interface,
public device_c64_floppy_parallel_interface
{
public:
- // construction/destruction
- c1541_base_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
@@ -62,6 +59,9 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
+ // construction/destruction
+ c1541_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -98,39 +98,39 @@ protected:
};
-// ======================> c1540_t
+// ======================> c1540_device
-class c1540_t : public c1541_base_t
+class c1540_device : public c1541_device_base
{
public:
// construction/destruction
- c1540_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1540_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
-// ======================> c1541_t
+// ======================> c1541_device
-class c1541_t : public c1541_base_t
+class c1541_device : public c1541_device_base
{
public:
// construction/destruction
- c1541_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1541_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
-// ======================> c1541c_t
+// ======================> c1541c_device
-class c1541c_t : public c1541_base_t
+class c1541c_device : public c1541_device_base
{
public:
// construction/destruction
- c1541c_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1541c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -141,52 +141,52 @@ public:
};
-// ======================> c1541ii_t
+// ======================> c1541ii_device
-class c1541ii_t : public c1541_base_t
+class c1541ii_device : public c1541_device_base
{
public:
// construction/destruction
- c1541ii_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1541ii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
-// ======================> sx1541_t
+// ======================> sx1541_device
-class sx1541_t : public c1541_base_t
+class sx1541_device : public c1541_device_base
{
public:
// construction/destruction
- sx1541_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sx1541_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
-// ======================> fsd1_t
+// ======================> fsd1_device
-class fsd1_t : public c1541_base_t
+class fsd1_device : public c1541_device_base
{
public:
// construction/destruction
- fsd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ fsd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
-// ======================> fsd2_t
+// ======================> fsd2_device
-class fsd2_t : public c1541_base_t
+class fsd2_device : public c1541_device_base
{
public:
// construction/destruction
- fsd2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ fsd2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -196,26 +196,26 @@ public:
};
-// ======================> csd1_t
+// ======================> csd1_device
-class csd1_t : public c1541_base_t
+class csd1_device : public c1541_device_base
{
public:
// construction/destruction
- csd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ csd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
};
-// ======================> c1541_dolphin_dos_t
+// ======================> c1541_dolphin_dos_device
-class c1541_dolphin_dos_t : public c1541_base_t
+class c1541_dolphin_dos_device : public c1541_device_base
{
public:
// construction/destruction
- c1541_dolphin_dos_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1541_dolphin_dos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -223,13 +223,13 @@ public:
};
-// ======================> c1541_professional_dos_v1_t
+// ======================> c1541_professional_dos_v1_device
-class c1541_professional_dos_v1_t : public c1541_base_t
+class c1541_professional_dos_v1_device : public c1541_device_base
{
public:
// construction/destruction
- c1541_professional_dos_v1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1541_professional_dos_v1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -237,13 +237,13 @@ public:
};
-// ======================> c1541_prologic_dos_classic_t
+// ======================> c1541_prologic_dos_classic_device
-class c1541_prologic_dos_classic_t : public c1541_base_t
+class c1541_prologic_dos_classic_device : public c1541_device_base
{
public:
// construction/destruction
- c1541_prologic_dos_classic_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1541_prologic_dos_classic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -267,13 +267,13 @@ protected:
};
-// ======================> indus_gt_t
+// ======================> indus_gt_device
-class indus_gt_t : public c1541_base_t
+class indus_gt_device : public c1541_device_base
{
public:
// construction/destruction
- indus_gt_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ indus_gt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -281,19 +281,19 @@ public:
// device type definition
-extern const device_type C1540;
-extern const device_type C1541;
-extern const device_type C1541C;
-extern const device_type C1541II;
-extern const device_type SX1541;
-extern const device_type FSD1;
-extern const device_type FSD2;
-extern const device_type CSD1;
-extern const device_type C1541_DOLPHIN_DOS;
-extern const device_type C1541_PROFESSIONAL_DOS_V1;
-extern const device_type C1541_PROLOGIC_DOS_CLASSIC;
-extern const device_type INDUS_GT;
-
-
-
-#endif
+DECLARE_DEVICE_TYPE(C1540, c1540_device)
+DECLARE_DEVICE_TYPE(C1541, c1541_device)
+DECLARE_DEVICE_TYPE(C1541C, c1541c_device)
+DECLARE_DEVICE_TYPE(C1541II, c1541ii_device)
+DECLARE_DEVICE_TYPE(SX1541, sx1541_device)
+DECLARE_DEVICE_TYPE(FSD1, fsd1_device)
+DECLARE_DEVICE_TYPE(FSD2, fsd2_device)
+DECLARE_DEVICE_TYPE(CSD1, csd1_device)
+DECLARE_DEVICE_TYPE(C1541_DOLPHIN_DOS, c1541_dolphin_dos_device)
+DECLARE_DEVICE_TYPE(C1541_PROFESSIONAL_DOS_V1, c1541_professional_dos_v1_device)
+DECLARE_DEVICE_TYPE(C1541_PROLOGIC_DOS_CLASSIC, c1541_prologic_dos_classic_device)
+DECLARE_DEVICE_TYPE(INDUS_GT, indus_gt_device)
+
+
+
+#endif // MAME_BUS_CBMIEC_C1541_H
diff --git a/src/devices/bus/cbmiec/c1571.cpp b/src/devices/bus/cbmiec/c1571.cpp
index b1369d3cec9..daa9b9d08c9 100644
--- a/src/devices/bus/cbmiec/c1571.cpp
+++ b/src/devices/bus/cbmiec/c1571.cpp
@@ -44,10 +44,10 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C1570 = device_creator<c1570_t>;
-const device_type C1571 = device_creator<c1571_t>;
-const device_type C1571CR = device_creator<c1571cr_t>;
-const device_type MINI_CHIEF = device_creator<mini_chief_t>;
+DEFINE_DEVICE_TYPE(C1570, c1570_device, "c1570", "C1570")
+DEFINE_DEVICE_TYPE(C1571, c1571_device, "c1571", "C1571")
+DEFINE_DEVICE_TYPE(C1571CR, c1571cr_device, "c1571cr", "C1571CR")
+DEFINE_DEVICE_TYPE(MINI_CHIEF, mini_chief_device, "minichif", "ICT Mini Chief")
//-------------------------------------------------
@@ -64,7 +64,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1570_t::device_rom_region() const
+const tiny_rom_entry *c1570_device::device_rom_region() const
{
return ROM_NAME( c1570 );
}
@@ -90,7 +90,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1571_t::device_rom_region() const
+const tiny_rom_entry *c1571_device::device_rom_region() const
{
return ROM_NAME( c1571 );
}
@@ -114,7 +114,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1571cr_t::device_rom_region() const
+const tiny_rom_entry *c1571cr_device::device_rom_region() const
{
return ROM_NAME( c1571cr );
}
@@ -134,7 +134,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *mini_chief_t::device_rom_region() const
+const tiny_rom_entry *mini_chief_device::device_rom_region() const
{
return ROM_NAME( minichief );
}
@@ -144,11 +144,11 @@ const tiny_rom_entry *mini_chief_t::device_rom_region() const
// ADDRESS_MAP( c1571_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c1571_mem, AS_PROGRAM, 8, c1571_t )
+static ADDRESS_MAP_START( c1571_mem, AS_PROGRAM, 8, c1571_device )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x03f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x03f0) AM_READWRITE(via1_r, via1_w)
- AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE(WD1770_TAG, wd1770_t, read, write)
+ AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE(WD1770_TAG, wd1770_device, read, write)
AM_RANGE(0x4000, 0x400f) AM_MIRROR(0x3ff0) AM_DEVREADWRITE(M6526_TAG, mos6526_device, read, write)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0)
ADDRESS_MAP_END
@@ -158,11 +158,11 @@ ADDRESS_MAP_END
// ADDRESS_MAP( mini_chief_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( mini_chief_mem, AS_PROGRAM, 8, mini_chief_t )
+static ADDRESS_MAP_START( mini_chief_mem, AS_PROGRAM, 8, mini_chief_device )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x03f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x03f0) AM_READWRITE(via1_r, via1_w)
- AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE(WD1770_TAG, wd1770_t, read, write)
+ AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE(WD1770_TAG, wd1770_device, read, write)
AM_RANGE(0x4000, 0x400f) AM_MIRROR(0xff0) AM_DEVREADWRITE(M6526_TAG, mos6526_device, read, write)
AM_RANGE(0x5000, 0x5fff) AM_MIRROR(0x2000) AM_RAM
AM_RANGE(0x6000, 0x6fff) AM_RAM
@@ -170,14 +170,14 @@ static ADDRESS_MAP_START( mini_chief_mem, AS_PROGRAM, 8, mini_chief_t )
ADDRESS_MAP_END
-WRITE_LINE_MEMBER( c1571_t::via0_irq_w )
+WRITE_LINE_MEMBER( c1571_device::via0_irq_w )
{
m_via0_irq = state;
m_maincpu->set_input_line(INPUT_LINE_IRQ0, (m_via0_irq || m_via1_irq || m_cia_irq) ? ASSERT_LINE : CLEAR_LINE);
}
-READ8_MEMBER( c1571_t::via0_pa_r )
+READ8_MEMBER( c1571_device::via0_pa_r )
{
/*
@@ -205,7 +205,7 @@ READ8_MEMBER( c1571_t::via0_pa_r )
return data;
}
-WRITE8_MEMBER( c1571_t::via0_pa_w )
+WRITE8_MEMBER( c1571_device::via0_pa_w )
{
/*
@@ -250,7 +250,7 @@ WRITE8_MEMBER( c1571_t::via0_pa_w )
update_iec();
}
-WRITE8_MEMBER( c1571cr_t::via0_pa_w )
+WRITE8_MEMBER( c1571cr_device::via0_pa_w )
{
/*
@@ -287,7 +287,7 @@ WRITE8_MEMBER( c1571cr_t::via0_pa_w )
}
}
-READ8_MEMBER( c1571_t::via0_pb_r )
+READ8_MEMBER( c1571_device::via0_pb_r )
{
/*
@@ -321,7 +321,7 @@ READ8_MEMBER( c1571_t::via0_pb_r )
return data;
}
-WRITE8_MEMBER( c1571_t::via0_pb_w )
+WRITE8_MEMBER( c1571_device::via0_pb_w )
{
/*
@@ -350,7 +350,7 @@ WRITE8_MEMBER( c1571_t::via0_pb_w )
update_iec();
}
-WRITE8_MEMBER( c1571cr_t::via0_pb_w )
+WRITE8_MEMBER( c1571cr_device::via0_pb_w )
{
/*
@@ -380,7 +380,7 @@ WRITE8_MEMBER( c1571cr_t::via0_pb_w )
}
-READ8_MEMBER( c1571_t::via1_r )
+READ8_MEMBER( c1571_device::via1_r )
{
uint8_t data = m_via1->read(space, offset);
@@ -390,7 +390,7 @@ READ8_MEMBER( c1571_t::via1_r )
return data;
}
-WRITE8_MEMBER( c1571_t::via1_w )
+WRITE8_MEMBER( c1571_device::via1_w )
{
m_via1->write(space, offset, data);
@@ -398,14 +398,14 @@ WRITE8_MEMBER( c1571_t::via1_w )
m_ga->ted_w(1);
}
-WRITE_LINE_MEMBER( c1571_t::via1_irq_w )
+WRITE_LINE_MEMBER( c1571_device::via1_irq_w )
{
m_via1_irq = state;
m_maincpu->set_input_line(INPUT_LINE_IRQ0, (m_via0_irq || m_via1_irq || m_cia_irq) ? ASSERT_LINE : CLEAR_LINE);
}
-READ8_MEMBER( c1571_t::via1_pb_r )
+READ8_MEMBER( c1571_device::via1_pb_r )
{
/*
@@ -433,7 +433,7 @@ READ8_MEMBER( c1571_t::via1_pb_r )
return data;
}
-WRITE8_MEMBER( c1571_t::via1_pb_w )
+WRITE8_MEMBER( c1571_device::via1_pb_w )
{
/*
@@ -468,14 +468,14 @@ WRITE8_MEMBER( c1571_t::via1_pb_w )
// MOS6526_INTERFACE( cia_intf )
//-------------------------------------------------
-WRITE_LINE_MEMBER( c1571_t::cia_irq_w )
+WRITE_LINE_MEMBER( c1571_device::cia_irq_w )
{
m_cia_irq = state;
m_maincpu->set_input_line(INPUT_LINE_IRQ0, (m_via0_irq || m_via1_irq || m_cia_irq) ? ASSERT_LINE : CLEAR_LINE);
}
-WRITE_LINE_MEMBER( c1571_t::cia_pc_w )
+WRITE_LINE_MEMBER( c1571_device::cia_pc_w )
{
if (m_other != nullptr)
{
@@ -483,26 +483,26 @@ WRITE_LINE_MEMBER( c1571_t::cia_pc_w )
}
}
-WRITE_LINE_MEMBER( c1571_t::cia_cnt_w )
+WRITE_LINE_MEMBER( c1571_device::cia_cnt_w )
{
m_cnt_out = state;
update_iec();
}
-WRITE_LINE_MEMBER( c1571_t::cia_sp_w )
+WRITE_LINE_MEMBER( c1571_device::cia_sp_w )
{
m_sp_out = state;
update_iec();
}
-READ8_MEMBER( c1571_t::cia_pb_r )
+READ8_MEMBER( c1571_device::cia_pb_r )
{
return m_parallel_data;
}
-WRITE8_MEMBER( c1571_t::cia_pb_w )
+WRITE8_MEMBER( c1571_device::cia_pb_w )
{
if (m_other != nullptr)
{
@@ -515,19 +515,19 @@ WRITE8_MEMBER( c1571_t::cia_pb_w )
// MOS6526_INTERFACE( mini_chief_cia_intf )
//-------------------------------------------------
-READ8_MEMBER( mini_chief_t::cia_pa_r )
+READ8_MEMBER( mini_chief_device::cia_pa_r )
{
// TODO read from ISA bus @ 0x320 | A2 A1 A0
return 0;
}
-WRITE8_MEMBER( mini_chief_t::cia_pa_w )
+WRITE8_MEMBER( mini_chief_device::cia_pa_w )
{
// TODO write to ISA bus @ 0x320 | A2 A1 A0
}
-WRITE8_MEMBER( mini_chief_t::cia_pb_w )
+WRITE8_MEMBER( mini_chief_device::cia_pb_w )
{
/*
@@ -550,7 +550,7 @@ WRITE8_MEMBER( mini_chief_t::cia_pb_w )
// C64H156_INTERFACE( ga_intf )
//-------------------------------------------------
-WRITE_LINE_MEMBER( c1571_t::byte_w )
+WRITE_LINE_MEMBER( c1571_device::byte_w )
{
m_via1->write_ca1(state);
@@ -571,7 +571,7 @@ SLOT_INTERFACE_END
// floppy_interface c1571_floppy_interface
//-------------------------------------------------
-void c1571_t::wpt_callback(floppy_image_device *floppy, int state)
+void c1571_device::wpt_callback(floppy_image_device *floppy, int state)
{
m_via0->write_ca2(!state);
}
@@ -581,7 +581,7 @@ void c1571_t::wpt_callback(floppy_image_device *floppy, int state)
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c1571_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c1571_device::floppy_formats )
FLOPPY_D64_FORMAT,
FLOPPY_G64_FORMAT,
FLOPPY_D71_FORMAT
@@ -606,33 +606,33 @@ static MACHINE_CONFIG_FRAGMENT( c1570 )
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, XTAL_16MHz/16)
- MCFG_VIA6522_READPA_HANDLER(READ8(c1571_t, via0_pa_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1571_t, via0_pb_r))
- MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1571_t, via0_pa_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_t, via0_pb_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_t, via0_irq_w))
+ MCFG_VIA6522_READPA_HANDLER(READ8(c1571_device, via0_pa_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1571_device, via0_pb_r))
+ MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1571_device, via0_pa_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_device, via0_pb_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_device, via0_irq_w))
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, XTAL_16MHz/16)
MCFG_VIA6522_READPA_HANDLER(DEVREAD8(C64H156_TAG, c64h156_device, yb_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1571_t, via1_pb_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1571_device, via1_pb_r))
MCFG_VIA6522_WRITEPA_HANDLER(DEVWRITE8(C64H156_TAG, c64h156_device, yb_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_t, via1_pb_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_device, via1_pb_w))
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, soe_w))
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, oe_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_t, via1_irq_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_device, via1_irq_w))
MCFG_DEVICE_ADD(M6526_TAG, MOS6526, XTAL_16MHz/16)
- MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c1571_t, cia_irq_w))
- MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c1571_t, cia_cnt_w))
- MCFG_MOS6526_SP_CALLBACK(WRITELINE(c1571_t, cia_sp_w))
- MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c1571_t, cia_pb_r))
- MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c1571_t, cia_pb_w))
- MCFG_MOS6526_PC_CALLBACK(WRITELINE(c1571_t, cia_pc_w))
+ MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c1571_device, cia_irq_w))
+ MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c1571_device, cia_cnt_w))
+ MCFG_MOS6526_SP_CALLBACK(WRITELINE(c1571_device, cia_sp_w))
+ MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c1571_device, cia_pb_r))
+ MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c1571_device, cia_pb_w))
+ MCFG_MOS6526_PC_CALLBACK(WRITELINE(c1571_device, cia_pc_w))
MCFG_WD1770_ADD(WD1770_TAG, XTAL_16MHz/2)
MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
- MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_t, byte_w))
- MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_t::floppy_formats)
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_device, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
MACHINE_CONFIG_END
@@ -641,7 +641,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1570_t::device_mconfig_additions() const
+machine_config_constructor c1570_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1570 );
}
@@ -657,33 +657,33 @@ static MACHINE_CONFIG_FRAGMENT( c1571 )
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, XTAL_16MHz/16)
- MCFG_VIA6522_READPA_HANDLER(READ8(c1571_t, via0_pa_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1571_t, via0_pb_r))
- MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1571_t, via0_pa_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_t, via0_pb_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_t, via0_irq_w))
+ MCFG_VIA6522_READPA_HANDLER(READ8(c1571_device, via0_pa_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1571_device, via0_pb_r))
+ MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1571_device, via0_pa_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_device, via0_pb_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_device, via0_irq_w))
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, XTAL_16MHz/16)
MCFG_VIA6522_READPA_HANDLER(DEVREAD8(C64H156_TAG, c64h156_device, yb_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1571_t, via1_pb_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1571_device, via1_pb_r))
MCFG_VIA6522_WRITEPA_HANDLER(DEVWRITE8(C64H156_TAG, c64h156_device, yb_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_t, via1_pb_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_device, via1_pb_w))
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, soe_w))
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, oe_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_t, via1_irq_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_device, via1_irq_w))
MCFG_DEVICE_ADD(M6526_TAG, MOS6526, XTAL_16MHz/16)
- MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c1571_t, cia_irq_w))
- MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c1571_t, cia_cnt_w))
- MCFG_MOS6526_SP_CALLBACK(WRITELINE(c1571_t, cia_sp_w))
- MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c1571_t, cia_pb_r))
- MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c1571_t, cia_pb_w))
- MCFG_MOS6526_PC_CALLBACK(WRITELINE(c1571_t, cia_pc_w))
+ MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c1571_device, cia_irq_w))
+ MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c1571_device, cia_cnt_w))
+ MCFG_MOS6526_SP_CALLBACK(WRITELINE(c1571_device, cia_sp_w))
+ MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c1571_device, cia_pb_r))
+ MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c1571_device, cia_pb_w))
+ MCFG_MOS6526_PC_CALLBACK(WRITELINE(c1571_device, cia_pc_w))
MCFG_WD1770_ADD(WD1770_TAG, XTAL_16MHz/2)
MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
- MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_t, byte_w))
- MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_t::floppy_formats)
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_device, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
MACHINE_CONFIG_END
@@ -692,7 +692,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1571_t::device_mconfig_additions() const
+machine_config_constructor c1571_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1571 );
}
@@ -708,27 +708,27 @@ static MACHINE_CONFIG_FRAGMENT( c1571cr )
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, XTAL_16MHz/16)
- MCFG_VIA6522_READPA_HANDLER(READ8(c1571_t, via0_pa_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1571_t, via0_pb_r))
- MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1571cr_t, via0_pa_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571cr_t, via0_pb_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_t, via0_irq_w))
+ MCFG_VIA6522_READPA_HANDLER(READ8(c1571_device, via0_pa_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1571_device, via0_pb_r))
+ MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1571cr_device, via0_pa_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571cr_device, via0_pb_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_device, via0_irq_w))
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, XTAL_16MHz/16)
MCFG_VIA6522_READPA_HANDLER(DEVREAD8(C64H156_TAG, c64h156_device, yb_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1571_t, via1_pb_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1571_device, via1_pb_r))
MCFG_VIA6522_WRITEPA_HANDLER(DEVWRITE8(C64H156_TAG, c64h156_device, yb_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_t, via1_pb_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_device, via1_pb_w))
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, soe_w))
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, oe_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_t, via1_irq_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_device, via1_irq_w))
//MCFG_MOS5710_ADD(M5710_TAG, XTAL_16MHz/16, 0)
MCFG_WD1770_ADD(WD1770_TAG, XTAL_16MHz/2)
MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
- MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_t, byte_w))
- MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_t::floppy_formats)
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_device, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
MACHINE_CONFIG_END
@@ -737,7 +737,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1571cr_t::device_mconfig_additions() const
+machine_config_constructor c1571cr_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1571cr );
}
@@ -753,33 +753,33 @@ static MACHINE_CONFIG_FRAGMENT( mini_chief )
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, XTAL_16MHz/16)
- MCFG_VIA6522_READPA_HANDLER(READ8(c1571_t, via0_pa_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1571_t, via0_pb_r))
- MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1571_t, via0_pa_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_t, via0_pb_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_t, via0_irq_w))
+ MCFG_VIA6522_READPA_HANDLER(READ8(c1571_device, via0_pa_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1571_device, via0_pb_r))
+ MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(c1571_device, via0_pa_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_device, via0_pb_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_device, via0_irq_w))
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, XTAL_16MHz/16)
MCFG_VIA6522_READPA_HANDLER(DEVREAD8(C64H156_TAG, c64h156_device, yb_r))
- MCFG_VIA6522_READPB_HANDLER(READ8(c1571_t, via1_pb_r))
+ MCFG_VIA6522_READPB_HANDLER(READ8(c1571_device, via1_pb_r))
MCFG_VIA6522_WRITEPA_HANDLER(DEVWRITE8(C64H156_TAG, c64h156_device, yb_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_t, via1_pb_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c1571_device, via1_pb_w))
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, soe_w))
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(C64H156_TAG, c64h156_device, oe_w))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_t, via1_irq_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(c1571_device, via1_irq_w))
MCFG_DEVICE_ADD(M6526_TAG, MOS6526, XTAL_16MHz/16)
- MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c1571_t, cia_irq_w))
- MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c1571_t, cia_cnt_w))
- MCFG_MOS6526_SP_CALLBACK(WRITELINE(c1571_t, cia_sp_w))
- MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c1571_t, cia_pb_r))
- MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c1571_t, cia_pb_w))
- MCFG_MOS6526_PC_CALLBACK(WRITELINE(c1571_t, cia_pc_w))
+ MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c1571_device, cia_irq_w))
+ MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c1571_device, cia_cnt_w))
+ MCFG_MOS6526_SP_CALLBACK(WRITELINE(c1571_device, cia_sp_w))
+ MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c1571_device, cia_pb_r))
+ MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c1571_device, cia_pb_w))
+ MCFG_MOS6526_PC_CALLBACK(WRITELINE(c1571_device, cia_pc_w))
MCFG_WD1770_ADD(WD1770_TAG, XTAL_16MHz/2)
MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
- MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_t, byte_w))
- MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_t::floppy_formats)
+ MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_device, byte_w))
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0)
MCFG_ISA8_CPU(M6502_TAG)
@@ -792,7 +792,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor mini_chief_t::device_mconfig_additions() const
+machine_config_constructor mini_chief_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( mini_chief );
}
@@ -816,7 +816,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor c1571_t::device_input_ports() const
+ioport_constructor c1571_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c1571 );
}
@@ -828,11 +828,11 @@ ioport_constructor c1571_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// c1571_t - constructor
+// c1571_device - constructor
//-------------------------------------------------
-c1571_t::c1571_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+c1571_device::c1571_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this),
device_c64_floppy_parallel_interface(mconfig, *this),
m_maincpu(*this, M6502_TAG),
@@ -854,56 +854,38 @@ c1571_t::c1571_t(const machine_config &mconfig, device_type type, const char *na
{
}
-c1571_t::c1571_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, C1571, "C1571", tag, owner, clock, "c1571", __FILE__),
- device_cbm_iec_interface(mconfig, *this),
- device_c64_floppy_parallel_interface(mconfig, *this),
- m_maincpu(*this, M6502_TAG),
- m_via0(*this, M6522_0_TAG),
- m_via1(*this, M6522_1_TAG),
- m_cia(*this, M6526_TAG),
- m_fdc(*this, WD1770_TAG),
- m_ga(*this, C64H156_TAG),
- m_floppy(*this, C64H156_TAG":0:525qd"),
- m_address(*this, "ADDRESS"),
- m_1_2mhz(0),
- m_data_out(1),
- m_ser_dir(0),
- m_sp_out(1),
- m_cnt_out(1),
- m_via0_irq(CLEAR_LINE),
- m_via1_irq(CLEAR_LINE),
- m_cia_irq(CLEAR_LINE)
+c1571_device::c1571_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1571_device(mconfig, C1571, tag, owner, clock)
{
}
//-------------------------------------------------
-// c1570_t - constructor
+// c1570_device - constructor
//-------------------------------------------------
-c1570_t::c1570_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1571_t(mconfig, C1570, "C1570", tag, owner, clock, "c1570", __FILE__)
+c1570_device::c1570_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1571_device(mconfig, C1570, tag, owner, clock)
{
}
//-------------------------------------------------
-// c1571cr_t - constructor
+// c1571cr_device - constructor
//-------------------------------------------------
-c1571cr_t::c1571cr_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1571_t(mconfig, C1571CR, "C1571CR", tag, owner, clock, "c1571cr", __FILE__)
+c1571cr_device::c1571cr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1571_device(mconfig, C1571CR, tag, owner, clock)
{
}
//-------------------------------------------------
-// mini_chief_t - constructor
+// mini_chief_device - constructor
//-------------------------------------------------
-mini_chief_t::mini_chief_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1571_t(mconfig, MINI_CHIEF, "ICT Mini Chief", tag, owner, clock, "minichif", __FILE__)
+mini_chief_device::mini_chief_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1571_device(mconfig, MINI_CHIEF, tag, owner, clock)
{
}
@@ -912,12 +894,12 @@ mini_chief_t::mini_chief_t(const machine_config &mconfig, const char *tag, devic
// device_start - device-specific startup
//-------------------------------------------------
-void c1571_t::device_start()
+void c1571_device::device_start()
{
// install image callbacks
m_ga->set_floppy(m_floppy);
//m_fdc->set_floppy(m_floppy);
- m_floppy->setup_wpt_cb(floppy_image_device::wpt_cb(&c1571_t::wpt_callback, this));
+ m_floppy->setup_wpt_cb(floppy_image_device::wpt_cb(&c1571_device::wpt_callback, this));
// register for state saving
save_item(NAME(m_1_2mhz));
@@ -935,7 +917,7 @@ void c1571_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void c1571_t::device_reset()
+void c1571_device::device_reset()
{
m_maincpu->reset();
@@ -957,7 +939,7 @@ void c1571_t::device_reset()
// cbm_iec_srq -
//-------------------------------------------------
-void c1571_t::cbm_iec_srq(int state)
+void c1571_device::cbm_iec_srq(int state)
{
update_iec();
}
@@ -967,7 +949,7 @@ void c1571_t::cbm_iec_srq(int state)
// cbm_iec_atn -
//-------------------------------------------------
-void c1571_t::cbm_iec_atn(int state)
+void c1571_device::cbm_iec_atn(int state)
{
update_iec();
}
@@ -977,7 +959,7 @@ void c1571_t::cbm_iec_atn(int state)
// cbm_iec_data -
//-------------------------------------------------
-void c1571_t::cbm_iec_data(int state)
+void c1571_device::cbm_iec_data(int state)
{
update_iec();
}
@@ -987,7 +969,7 @@ void c1571_t::cbm_iec_data(int state)
// cbm_iec_reset -
//-------------------------------------------------
-void c1571_t::cbm_iec_reset(int state)
+void c1571_device::cbm_iec_reset(int state)
{
if (!state)
{
@@ -1000,7 +982,7 @@ void c1571_t::cbm_iec_reset(int state)
// parallel_data_w -
//-------------------------------------------------
-void c1571_t::parallel_data_w(uint8_t data)
+void c1571_device::parallel_data_w(uint8_t data)
{
m_parallel_data = data;
}
@@ -1010,7 +992,7 @@ void c1571_t::parallel_data_w(uint8_t data)
// parallel_strobe_w -
//-------------------------------------------------
-void c1571_t::parallel_strobe_w(int state)
+void c1571_device::parallel_strobe_w(int state)
{
m_cia->flag_w(state);
}
@@ -1020,7 +1002,7 @@ void c1571_t::parallel_strobe_w(int state)
// update_iec -
//-------------------------------------------------
-void c1571_t::update_iec()
+void c1571_device::update_iec()
{
m_cia->cnt_w(m_ser_dir || m_bus->srq_r());
m_cia->sp_w(m_ser_dir || m_bus->data_r());
diff --git a/src/devices/bus/cbmiec/c1571.h b/src/devices/bus/cbmiec/c1571.h
index 027ab98d242..3bc5b287b98 100644
--- a/src/devices/bus/cbmiec/c1571.h
+++ b/src/devices/bus/cbmiec/c1571.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_C1571_H
+#define MAME_BUS_CBMIEC_C1571_H
-#ifndef __C1571__
-#define __C1571__
+#pragma once
#include "cbmiec.h"
#include "bus/c64/bn1541.h"
@@ -35,16 +35,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c1571_t
+// ======================> c1571_device
-class c1571_t : public device_t,
- public device_cbm_iec_interface,
- public device_c64_floppy_parallel_interface
+class c1571_device : public device_t, public device_cbm_iec_interface, public device_c64_floppy_parallel_interface
{
public:
// construction/destruction
- c1571_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- c1571_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1571_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -77,6 +74,8 @@ public:
void wpt_callback(floppy_image_device *floppy, int state);
protected:
+ c1571_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -103,7 +102,7 @@ protected:
required_device<via6522_device> m_via0;
required_device<via6522_device> m_via1;
required_device<mos6526_device> m_cia;
- required_device<wd1770_t> m_fdc;
+ required_device<wd1770_device> m_fdc;
required_device<c64h156_device> m_ga;
required_device<floppy_image_device> m_floppy;
required_ioport m_address;
@@ -124,13 +123,13 @@ protected:
};
-// ======================> c1570_t
+// ======================> c1570_device
-class c1570_t : public c1571_t
+class c1570_device : public c1571_device
{
public:
// construction/destruction
- c1570_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1570_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -138,13 +137,13 @@ public:
};
-// ======================> c1571cr_t
+// ======================> c1571cr_device
-class c1571cr_t : public c1571_t
+class c1571cr_device : public c1571_device
{
public:
// construction/destruction
- c1571cr_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1571cr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -155,13 +154,13 @@ public:
};
-// ======================> mini_chief_t
+// ======================> mini_chief_device
-class mini_chief_t : public c1571_t
+class mini_chief_device : public c1571_device
{
public:
// construction/destruction
- mini_chief_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mini_chief_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -174,11 +173,9 @@ public:
// device type definition
-extern const device_type C1570;
-extern const device_type C1571;
-extern const device_type C1571CR;
-extern const device_type MINI_CHIEF;
-
-
+DECLARE_DEVICE_TYPE(C1570, c1570_device)
+DECLARE_DEVICE_TYPE(C1571, c1571_device)
+DECLARE_DEVICE_TYPE(C1571CR, c1571cr_device)
+DECLARE_DEVICE_TYPE(MINI_CHIEF, mini_chief_device)
-#endif
+#endif // MAME_BUS_CBMIEC_C1571_H
diff --git a/src/devices/bus/cbmiec/c1581.cpp b/src/devices/bus/cbmiec/c1581.cpp
index eb48f99141d..28e6a504c47 100644
--- a/src/devices/bus/cbmiec/c1581.cpp
+++ b/src/devices/bus/cbmiec/c1581.cpp
@@ -33,8 +33,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C1563 = device_creator<c1563_t>;
-const device_type C1581 = device_creator<c1581_t>;
+DEFINE_DEVICE_TYPE(C1563, c1563_device, "c1563", "C1563")
+DEFINE_DEVICE_TYPE(C1581, c1581_device, "c1581", "C1581")
//-------------------------------------------------
@@ -59,7 +59,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1581_t::device_rom_region() const
+const tiny_rom_entry *c1581_device::device_rom_region() const
{
return ROM_NAME( c1581 );
}
@@ -79,7 +79,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1563_t::device_rom_region() const
+const tiny_rom_entry *c1563_device::device_rom_region() const
{
return ROM_NAME( c1563 );
}
@@ -89,10 +89,10 @@ const tiny_rom_entry *c1563_t::device_rom_region() const
// ADDRESS_MAP( c1581_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c1581_mem, AS_PROGRAM, 8, c1581_t )
+static ADDRESS_MAP_START( c1581_mem, AS_PROGRAM, 8, c1581_device )
AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x2000) AM_RAM
AM_RANGE(0x4000, 0x400f) AM_MIRROR(0x1ff0) AM_DEVREADWRITE(M8520_TAG, mos8520_device, read, write)
- AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE(WD1772_TAG, wd1772_t, read, write)
+ AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE(WD1772_TAG, wd1772_device, read, write)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0)
ADDRESS_MAP_END
@@ -101,21 +101,21 @@ ADDRESS_MAP_END
// MOS8520_INTERFACE( cia_intf )
//-------------------------------------------------
-WRITE_LINE_MEMBER( c1581_t::cnt_w )
+WRITE_LINE_MEMBER( c1581_device::cnt_w )
{
m_cnt_out = state;
update_iec();
}
-WRITE_LINE_MEMBER( c1581_t::sp_w )
+WRITE_LINE_MEMBER( c1581_device::sp_w )
{
m_sp_out = state;
update_iec();
}
-READ8_MEMBER( c1581_t::cia_pa_r )
+READ8_MEMBER( c1581_device::cia_pa_r )
{
/*
@@ -146,7 +146,7 @@ READ8_MEMBER( c1581_t::cia_pa_r )
return data;
}
-WRITE8_MEMBER( c1581_t::cia_pa_w )
+WRITE8_MEMBER( c1581_device::cia_pa_w )
{
/*
@@ -176,7 +176,7 @@ WRITE8_MEMBER( c1581_t::cia_pa_w )
machine().output().set_led_value(LED_ACT, BIT(data, 6));
}
-READ8_MEMBER( c1581_t::cia_pb_r )
+READ8_MEMBER( c1581_device::cia_pb_r )
{
/*
@@ -210,7 +210,7 @@ READ8_MEMBER( c1581_t::cia_pb_r )
return data;
}
-WRITE8_MEMBER( c1581_t::cia_pb_w )
+WRITE8_MEMBER( c1581_device::cia_pb_w )
{
/*
@@ -253,10 +253,10 @@ SLOT_INTERFACE_END
//-------------------------------------------------
-// FLOPPY_FORMATS( c1581_t::floppy_formats )
+// FLOPPY_FORMATS( c1581_device::floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c1581_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c1581_device::floppy_formats )
FLOPPY_D81_FORMAT
FLOPPY_FORMATS_END
@@ -271,15 +271,15 @@ static MACHINE_CONFIG_FRAGMENT( c1581 )
MCFG_DEVICE_ADD(M8520_TAG, MOS8520, XTAL_16MHz/8)
MCFG_MOS6526_IRQ_CALLBACK(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
- MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c1581_t, cnt_w))
- MCFG_MOS6526_SP_CALLBACK(WRITELINE(c1581_t, sp_w))
- MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c1581_t, cia_pa_r))
- MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c1581_t, cia_pa_w))
- MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c1581_t, cia_pb_r))
- MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c1581_t, cia_pb_w))
+ MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c1581_device, cnt_w))
+ MCFG_MOS6526_SP_CALLBACK(WRITELINE(c1581_device, sp_w))
+ MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c1581_device, cia_pa_r))
+ MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c1581_device, cia_pa_w))
+ MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c1581_device, cia_pb_r))
+ MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c1581_device, cia_pb_w))
MCFG_WD1772_ADD(WD1772_TAG, XTAL_16MHz/2)
- MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", c1581_floppies, "35dd", c1581_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", c1581_floppies, "35dd", c1581_device::floppy_formats)
MACHINE_CONFIG_END
@@ -288,7 +288,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1581_t::device_mconfig_additions() const
+machine_config_constructor c1581_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1581 );
}
@@ -312,7 +312,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor c1581_t::device_input_ports() const
+ioport_constructor c1581_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c1581 );
}
@@ -324,11 +324,11 @@ ioport_constructor c1581_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// c1581_t - constructor
+// c1581_device - constructor
//-------------------------------------------------
-c1581_t::c1581_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+c1581_device::c1581_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this),
m_maincpu(*this, M6502_TAG),
m_cia(*this, M8520_TAG),
@@ -343,36 +343,25 @@ c1581_t::c1581_t(const machine_config &mconfig, device_type type, const char *na
{
}
-c1581_t::c1581_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, C1581, "C1581", tag, owner, clock, "c1581", __FILE__),
- device_cbm_iec_interface(mconfig, *this),
- m_maincpu(*this, M6502_TAG),
- m_cia(*this, M8520_TAG),
- m_fdc(*this, WD1772_TAG),
- m_floppy(*this, WD1772_TAG":0:35dd"),
- m_address(*this, "ADDRESS"),
- m_data_out(0),
- m_atn_ack(0),
- m_fast_ser_dir(0),
- m_sp_out(1),
- m_cnt_out(1)
+c1581_device::c1581_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1581_device(mconfig, C1581, tag, owner, clock)
{
}
//-------------------------------------------------
-// c1563_t - constructor
+// c1563_device - constructor
//-------------------------------------------------
-c1563_t::c1563_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c1581_t(mconfig, C1563, "C1563", tag, owner, clock, "c1563", __FILE__) { }
+c1563_device::c1563_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : c1581_device(mconfig, C1563, tag, owner, clock) { }
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
-void c1581_t::device_start()
+void c1581_device::device_start()
{
// state saving
save_item(NAME(m_data_out));
@@ -387,7 +376,7 @@ void c1581_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void c1581_t::device_reset()
+void c1581_device::device_reset()
{
m_maincpu->reset();
@@ -408,7 +397,7 @@ void c1581_t::device_reset()
// cbm_iec_srq -
//-------------------------------------------------
-void c1581_t::cbm_iec_srq(int state)
+void c1581_device::cbm_iec_srq(int state)
{
update_iec();
}
@@ -418,7 +407,7 @@ void c1581_t::cbm_iec_srq(int state)
// cbm_iec_atn -
//-------------------------------------------------
-void c1581_t::cbm_iec_atn(int state)
+void c1581_device::cbm_iec_atn(int state)
{
update_iec();
}
@@ -428,7 +417,7 @@ void c1581_t::cbm_iec_atn(int state)
// cbm_iec_data -
//-------------------------------------------------
-void c1581_t::cbm_iec_data(int state)
+void c1581_device::cbm_iec_data(int state)
{
update_iec();
}
@@ -438,7 +427,7 @@ void c1581_t::cbm_iec_data(int state)
// cbm_iec_reset -
//-------------------------------------------------
-void c1581_t::cbm_iec_reset(int state)
+void c1581_device::cbm_iec_reset(int state)
{
if (!state)
{
@@ -451,7 +440,7 @@ void c1581_t::cbm_iec_reset(int state)
// update_iec -
//-------------------------------------------------
-void c1581_t::update_iec()
+void c1581_device::update_iec()
{
m_cia->cnt_w(m_fast_ser_dir || m_bus->srq_r());
m_cia->sp_w(m_fast_ser_dir || m_bus->data_r());
diff --git a/src/devices/bus/cbmiec/c1581.h b/src/devices/bus/cbmiec/c1581.h
index 5f4c9c47437..77d60400e8c 100644
--- a/src/devices/bus/cbmiec/c1581.h
+++ b/src/devices/bus/cbmiec/c1581.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_C1581_H
+#define MAME_BUS_CBMIEC_C1581_H
-#ifndef __C1581__
-#define __C1581__
+#pragma once
#include "cbmiec.h"
#include "cpu/m6502/m6502.h"
@@ -31,15 +31,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c1581_t
+// ======================> c1581_device
-class c1581_t : public device_t,
- public device_cbm_iec_interface
+class c1581_device : public device_t, public device_cbm_iec_interface
{
public:
// construction/destruction
- c1581_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- c1581_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1581_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -57,6 +55,8 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
+ c1581_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -77,7 +77,7 @@ protected:
required_device<cpu_device> m_maincpu;
required_device<mos6526_device> m_cia;
- required_device<wd1772_t> m_fdc;
+ required_device<wd1772_device> m_fdc;
required_device<floppy_image_device> m_floppy;
required_ioport m_address;
@@ -89,13 +89,13 @@ protected:
};
-// ======================> c1563_t
+// ======================> c1563_device
-class c1563_t : public c1581_t
+class c1563_device : public c1581_device
{
public:
// construction/destruction
- c1563_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1563_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -103,9 +103,8 @@ public:
// device type definition
-extern const device_type C1563;
-extern const device_type C1581;
-
+DECLARE_DEVICE_TYPE(C1563, c1563_device)
+DECLARE_DEVICE_TYPE(C1581, c1581_device)
-#endif
+#endif // MAME_BUS_CBMIEC_C1581_H
diff --git a/src/devices/bus/cbmiec/c64_nl10.cpp b/src/devices/bus/cbmiec/c64_nl10.cpp
index 0288aa2874f..d4ed3467016 100644
--- a/src/devices/bus/cbmiec/c64_nl10.cpp
+++ b/src/devices/bus/cbmiec/c64_nl10.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_NL10_INTERFACE = device_creator<c64_nl10_interface_device>;
+DEFINE_DEVICE_TYPE(C64_NL10_INTERFACE, c64_nl10_interface_device, "c64_nl10", "Star NL-10 C64 Interface Cartridge")
//-------------------------------------------------
@@ -48,8 +48,8 @@ const tiny_rom_entry *c64_nl10_interface_device::device_rom_region() const
//-------------------------------------------------
c64_nl10_interface_device::c64_nl10_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, C64_NL10_INTERFACE, "Star NL-10 C64 Interface Cartridge", tag, owner, clock, "c64_nl10", __FILE__),
- device_cbm_iec_interface(mconfig, *this)
+ : device_t(mconfig, C64_NL10_INTERFACE, tag, owner, clock)
+ , device_cbm_iec_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/cbmiec/c64_nl10.h b/src/devices/bus/cbmiec/c64_nl10.h
index 3d6d1fae895..68f9f135c91 100644
--- a/src/devices/bus/cbmiec/c64_nl10.h
+++ b/src/devices/bus/cbmiec/c64_nl10.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_C64_NL10_H
+#define MAME_BUS_CBMIEC_C64_NL10_H
-#ifndef __C64_NL10_INTERFACE__
-#define __C64_NL10_INTERFACE__
+#pragma once
#include "cbmiec.h"
@@ -21,8 +21,7 @@
// ======================> c64_nl10_interface_device
-class c64_nl10_interface_device : public device_t,
- public device_cbm_iec_interface
+class c64_nl10_interface_device : public device_t, public device_cbm_iec_interface
{
public:
// construction/destruction
@@ -44,8 +43,7 @@ protected:
// device type definition
-extern const device_type C64_NL10_INTERFACE;
-
+DECLARE_DEVICE_TYPE(C64_NL10_INTERFACE, c64_nl10_interface_device)
-#endif
+#endif // MAME_BUS_CBMIEC_C64_NL10_H
diff --git a/src/devices/bus/cbmiec/cbmiec.cpp b/src/devices/bus/cbmiec/cbmiec.cpp
index 67276583fae..2ecf86420a3 100644
--- a/src/devices/bus/cbmiec/cbmiec.cpp
+++ b/src/devices/bus/cbmiec/cbmiec.cpp
@@ -209,8 +209,8 @@ static const char *const SIGNAL_NAME[] = { "SRQ", "ATN", "CLK", "DATA", "RESET"
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CBM_IEC = device_creator<cbm_iec_device>;
-const device_type CBM_IEC_SLOT = device_creator<cbm_iec_slot_device>;
+DEFINE_DEVICE_TYPE(CBM_IEC, cbm_iec_device, "cbm_iec", "CBM IEC bus")
+DEFINE_DEVICE_TYPE(CBM_IEC_SLOT, cbm_iec_slot_device, "cbm_iec_slot", "CBM IEC slot")
@@ -247,7 +247,7 @@ device_cbm_iec_interface::~device_cbm_iec_interface()
//-------------------------------------------------
cbm_iec_slot_device::cbm_iec_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CBM_IEC_SLOT, "CBM IEC slot", tag, owner, clock, "cbm_iec_slot", __FILE__),
+ device_t(mconfig, CBM_IEC_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this), m_address(0)
{
}
@@ -284,7 +284,7 @@ void cbm_iec_slot_device::device_start()
//-------------------------------------------------
cbm_iec_device::cbm_iec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CBM_IEC, "CBM IEC bus", tag, owner, clock, "cbm_iec", __FILE__),
+ : device_t(mconfig, CBM_IEC, tag, owner, clock),
m_write_srq(*this),
m_write_atn(*this),
m_write_clk(*this),
diff --git a/src/devices/bus/cbmiec/cbmiec.h b/src/devices/bus/cbmiec/cbmiec.h
index 20146a78590..6c7d60f471b 100644
--- a/src/devices/bus/cbmiec/cbmiec.h
+++ b/src/devices/bus/cbmiec/cbmiec.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_CBMIEC_H
+#define MAME_BUS_CBMIEC_CBMIEC_H
-#ifndef __CBM_IEC__
-#define __CBM_IEC__
+#pragma once
@@ -77,11 +77,11 @@ public:
// construction/destruction
cbm_iec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _write> devcb_base &set_srq_callback(_write wr) { return m_write_srq.set_callback(wr); }
- template<class _write> devcb_base &set_atn_callback(_write wr) { return m_write_atn.set_callback(wr); }
- template<class _write> devcb_base &set_clk_callback(_write wr) { return m_write_clk.set_callback(wr); }
- template<class _write> devcb_base &set_data_callback(_write wr) { return m_write_data.set_callback(wr); }
- template<class _write> devcb_base &set_reset_callback(_write wr) { return m_write_reset.set_callback(wr); }
+ template <class Object> devcb_base &set_srq_callback(Object &&wr) { return m_write_srq.set_callback(std::forward<Object>(wr)); }
+ template <class Object> devcb_base &set_atn_callback(Object &&wr) { return m_write_atn.set_callback(std::forward<Object>(wr)); }
+ template <class Object> devcb_base &set_clk_callback(Object &&wr) { return m_write_clk.set_callback(std::forward<Object>(wr)); }
+ template <class Object> devcb_base &set_data_callback(Object &&wr) { return m_write_data.set_callback(std::forward<Object>(wr)); }
+ template <class Object> devcb_base &set_reset_callback(Object &&wr) { return m_write_reset.set_callback(std::forward<Object>(wr)); }
void add_device(cbm_iec_slot_device *slot, device_t *target);
@@ -179,18 +179,20 @@ class device_cbm_iec_interface : public device_slot_card_interface
public:
// construction/destruction
- device_cbm_iec_interface(const machine_config &mconfig, device_t &device);
virtual ~device_cbm_iec_interface();
device_cbm_iec_interface *next() const { return m_next; }
device_cbm_iec_interface *m_next;
// optional operation overrides
- virtual void cbm_iec_srq(int state) { };
- virtual void cbm_iec_atn(int state) { };
- virtual void cbm_iec_clk(int state) { };
- virtual void cbm_iec_data(int state) { };
- virtual void cbm_iec_reset(int state) { };
+ virtual void cbm_iec_srq(int state) { }
+ virtual void cbm_iec_atn(int state) { }
+ virtual void cbm_iec_clk(int state) { }
+ virtual void cbm_iec_data(int state) { }
+ virtual void cbm_iec_reset(int state) { }
+
+protected:
+ device_cbm_iec_interface(const machine_config &mconfig, device_t &device);
cbm_iec_device *m_bus;
cbm_iec_slot_device *m_slot;
@@ -198,12 +200,11 @@ public:
// device type definition
-extern const device_type CBM_IEC;
-extern const device_type CBM_IEC_SLOT;
+DECLARE_DEVICE_TYPE(CBM_IEC, cbm_iec_device)
+DECLARE_DEVICE_TYPE(CBM_IEC_SLOT, cbm_iec_slot_device)
SLOT_INTERFACE_EXTERN( cbm_iec_devices );
-
-#endif
+#endif // MAME_BUS_CBMIEC_CBMIEC_H
diff --git a/src/devices/bus/cbmiec/cmdhd.cpp b/src/devices/bus/cbmiec/cmdhd.cpp
index b554c9bda71..247d627ce7a 100644
--- a/src/devices/bus/cbmiec/cmdhd.cpp
+++ b/src/devices/bus/cbmiec/cmdhd.cpp
@@ -29,7 +29,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CMD_HD = device_creator<cmd_hd_device>;
+DEFINE_DEVICE_TYPE(CMD_HD, cmd_hd_device, "cmdhd", "CMD HD")
//-------------------------------------------------
@@ -111,7 +111,7 @@ machine_config_constructor cmd_hd_device::device_mconfig_additions() const
//-------------------------------------------------
cmd_hd_device::cmd_hd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CMD_HD, "HD", tag, owner, clock, "cmdhd", __FILE__),
+ : device_t(mconfig, CMD_HD, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this),
m_maincpu(*this, M6502_TAG),
m_scsibus(*this, SCSIBUS_TAG)
diff --git a/src/devices/bus/cbmiec/cmdhd.h b/src/devices/bus/cbmiec/cmdhd.h
index fc38a89a2cb..e648f379281 100644
--- a/src/devices/bus/cbmiec/cmdhd.h
+++ b/src/devices/bus/cbmiec/cmdhd.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_CMDHD_H
+#define MAME_BUS_CBMIEC_CMDHD_H
-#ifndef __CMD_HD__
-#define __CMD_HD__
+#pragma once
#include "cbmiec.h"
#include "cpu/m6502/m6502.h"
@@ -34,8 +34,7 @@
// ======================> cmd_hd_device
-class cmd_hd_device : public device_t,
- public device_cbm_iec_interface
+class cmd_hd_device : public device_t, public device_cbm_iec_interface
{
public:
// construction/destruction
@@ -59,13 +58,12 @@ protected:
void cbm_iec_reset(int state) override;
required_device<cpu_device> m_maincpu;
- required_device<SCSI_PORT_DEVICE> m_scsibus;
+ required_device<scsi_port_device> m_scsibus;
};
// device type definition
-extern const device_type CMD_HD;
-
+DECLARE_DEVICE_TYPE(CMD_HD, cmd_hd_device)
-#endif
+#endif // MAME_BUS_CBMIEC_CMDHD_H
diff --git a/src/devices/bus/cbmiec/diag264_lb_iec.cpp b/src/devices/bus/cbmiec/diag264_lb_iec.cpp
index 7eb12763ef9..18dac929017 100644
--- a/src/devices/bus/cbmiec/diag264_lb_iec.cpp
+++ b/src/devices/bus/cbmiec/diag264_lb_iec.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type DIAG264_SERIAL_LOOPBACK = device_creator<diag264_serial_loopback_device>;
+DEFINE_DEVICE_TYPE(DIAG264_SERIAL_LOOPBACK, diag264_serial_loopback_device, "diag264_serial_loopback", "Diag264 Serial Loopback")
@@ -28,8 +28,8 @@ const device_type DIAG264_SERIAL_LOOPBACK = device_creator<diag264_serial_loopba
//-------------------------------------------------
diag264_serial_loopback_device::diag264_serial_loopback_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DIAG264_SERIAL_LOOPBACK, "Diag264 Serial Loopback", tag, owner, clock, "diag264_serial_loopback", __FILE__),
- device_cbm_iec_interface(mconfig, *this)
+ : device_t(mconfig, DIAG264_SERIAL_LOOPBACK, tag, owner, clock)
+ , device_cbm_iec_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/cbmiec/diag264_lb_iec.h b/src/devices/bus/cbmiec/diag264_lb_iec.h
index a998cd6fe06..6611fee413d 100644
--- a/src/devices/bus/cbmiec/diag264_lb_iec.h
+++ b/src/devices/bus/cbmiec/diag264_lb_iec.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_DIAG264_LB_IEC_H
+#define MAME_BUS_CBMIEC_DIAG264_LB_IEC_H
-#ifndef __DIAG264_IEC_LOOPBACK__
-#define __DIAG264_IEC_LOOPBACK__
+#pragma once
#include "cbmiec.h"
@@ -38,8 +38,7 @@ protected:
// device type definition
-extern const device_type DIAG264_SERIAL_LOOPBACK;
-
+DECLARE_DEVICE_TYPE(DIAG264_SERIAL_LOOPBACK, diag264_serial_loopback_device)
-#endif
+#endif // MAME_BUS_CBMIEC_DIAG264_LB_IEC_H
diff --git a/src/devices/bus/cbmiec/fd2000.cpp b/src/devices/bus/cbmiec/fd2000.cpp
index 92164c9299e..d169440a857 100644
--- a/src/devices/bus/cbmiec/fd2000.cpp
+++ b/src/devices/bus/cbmiec/fd2000.cpp
@@ -39,8 +39,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type FD2000 = device_creator<fd2000_device>;
-const device_type FD4000 = device_creator<fd4000_device>;
+DEFINE_DEVICE_TYPE(FD2000, fd2000_device, "fd2000", "FD-2000")
+DEFINE_DEVICE_TYPE(FD4000, fd4000_device, "fd4000", "FD-4000")
//-------------------------------------------------
@@ -276,22 +276,17 @@ machine_config_constructor fd2000_device::device_mconfig_additions() const
//-------------------------------------------------
fd2000_device::fd2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, FD2000, "FD-2000", tag, owner, clock, "fd2000", __FILE__),
- device_cbm_iec_interface(mconfig, *this),
- m_maincpu(*this, G65SC02PI2_TAG),
- m_fdc(*this, DP8473V_TAG),
- m_floppy0(*this, DP8473V_TAG":0"),
- m_variant(TYPE_FD2000)
+ : fd2000_device(mconfig, FD2000, tag, owner, clock, TYPE_FD2000)
{
}
-fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t variant, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_cbm_iec_interface(mconfig, *this),
- m_maincpu(*this, R65C02P4_TAG),
- m_fdc(*this, PC8477AV1_TAG),
- m_floppy0(*this, PC8477AV1_TAG":0"),
- m_variant(variant)
+fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_cbm_iec_interface(mconfig, *this)
+ , m_maincpu(*this, R65C02P4_TAG)
+ , m_fdc(*this, PC8477AV1_TAG)
+ , m_floppy0(*this, PC8477AV1_TAG":0")
+ , m_variant(variant)
{
}
@@ -301,7 +296,9 @@ fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, co
//-------------------------------------------------
fd4000_device::fd4000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : fd2000_device(mconfig, FD4000, "FD-4000", tag, owner, clock, TYPE_FD4000, "fd4000", __FILE__ ) { }
+ : fd2000_device(mconfig, FD4000, tag, owner, clock, TYPE_FD4000)
+{
+}
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/fd2000.h b/src/devices/bus/cbmiec/fd2000.h
index d0cc4585dff..4623a0d8d10 100644
--- a/src/devices/bus/cbmiec/fd2000.h
+++ b/src/devices/bus/cbmiec/fd2000.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_FD2000_H
+#define MAME_BUS_CBMIEC_FD2000_H
-#ifndef __FD2000__
-#define __FD2000__
+#pragma once
#include "cbmiec.h"
#include "cpu/m6502/m65c02.h"
@@ -39,13 +39,6 @@ class fd2000_device : public device_t,
public:
// construction/destruction
fd2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- fd2000_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t variant, const char *shortname, const char *source);
-
- enum
- {
- TYPE_FD2000,
- TYPE_FD4000
- };
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -59,6 +52,14 @@ public:
//DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
+ enum
+ {
+ TYPE_FD2000,
+ TYPE_FD4000
+ };
+
+ fd2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -88,9 +89,8 @@ public:
// device type definition
-extern const device_type FD2000;
-extern const device_type FD4000;
-
+DECLARE_DEVICE_TYPE(FD2000, fd2000_device)
+DECLARE_DEVICE_TYPE(FD4000, fd4000_device)
-#endif
+#endif // MAME_BUS_CBMIEC_FD2000_H
diff --git a/src/devices/bus/cbmiec/interpod.cpp b/src/devices/bus/cbmiec/interpod.cpp
index 796802ab95e..850f403a122 100644
--- a/src/devices/bus/cbmiec/interpod.cpp
+++ b/src/devices/bus/cbmiec/interpod.cpp
@@ -76,7 +76,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type INTERPOD = device_creator<interpod_device>;
+DEFINE_DEVICE_TYPE(INTERPOD, interpod_device, "interpod", "Interpod")
@@ -110,8 +110,8 @@ const tiny_rom_entry *interpod_device::device_rom_region() const
//-------------------------------------------------
static ADDRESS_MAP_START( interpod_mem, AS_PROGRAM, 8, interpod_device )
- AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x3b80) AM_DEVICE(R6532_TAG, mos6532_t, ram_map)
- AM_RANGE(0x0400, 0x041f) AM_MIRROR(0x3be0) AM_DEVICE(R6532_TAG, mos6532_t, io_map)
+ AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x3b80) AM_DEVICE(R6532_TAG, mos6532_new_device, ram_map)
+ AM_RANGE(0x0400, 0x041f) AM_MIRROR(0x3be0) AM_DEVICE(R6532_TAG, mos6532_new_device, io_map)
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x9ffe) AM_DEVREADWRITE(MC6850_TAG, acia6850_device, status_r, control_w)
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x9ffe) AM_DEVREADWRITE(MC6850_TAG, acia6850_device, data_r, data_w)
AM_RANGE(0x4000, 0x47ff) AM_MIRROR(0xb800) AM_ROM AM_REGION(R6502_TAG, 0)
@@ -128,7 +128,7 @@ static MACHINE_CONFIG_FRAGMENT( interpod )
MCFG_CPU_PROGRAM_MAP(interpod_mem)
MCFG_DEVICE_ADD(R6522_TAG, VIA6522, 1000000)
- MCFG_DEVICE_ADD(R6532_TAG, MOS6532n, 1000000)
+ MCFG_DEVICE_ADD(R6532_TAG, MOS6532_NEW, 1000000)
MCFG_DEVICE_ADD(MC6850_TAG, ACIA6850, 0)
MCFG_CBM_IEEE488_ADD(nullptr)
@@ -155,7 +155,7 @@ machine_config_constructor interpod_device::device_mconfig_additions() const
//-------------------------------------------------
interpod_device::interpod_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, INTERPOD, "Interpod", tag, owner, clock, "interpod", __FILE__),
+ : device_t(mconfig, INTERPOD, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this),
m_maincpu(*this, R6502_TAG),
m_via(*this, R6522_TAG),
diff --git a/src/devices/bus/cbmiec/interpod.h b/src/devices/bus/cbmiec/interpod.h
index 718479effc7..b33eb8bcd86 100644
--- a/src/devices/bus/cbmiec/interpod.h
+++ b/src/devices/bus/cbmiec/interpod.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_INTERPOD_H
+#define MAME_BUS_CBMIEC_INTERPOD_H
-#ifndef __INTERPOD__
-#define __INTERPOD__
+#pragma once
#include "cbmiec.h"
#include "bus/ieee488/ieee488.h"
@@ -43,8 +43,7 @@
// ======================> interpod_device
-class interpod_device : public device_t,
- public device_cbm_iec_interface
+class interpod_device : public device_t, public device_cbm_iec_interface
{
public:
// construction/destruction
@@ -61,15 +60,14 @@ protected:
required_device<cpu_device> m_maincpu;
required_device<via6522_device> m_via;
- required_device<mos6532_t> m_riot;
+ required_device<mos6532_new_device> m_riot;
required_device<acia6850_device> m_acia;
required_device<ieee488_device> m_ieee;
};
// device type definition
-extern const device_type INTERPOD;
-
+DECLARE_DEVICE_TYPE(INTERPOD, interpod_device)
-#endif
+#endif // MAME_BUS_CBMIEC_INTERPOD_H
diff --git a/src/devices/bus/cbmiec/serialbox.cpp b/src/devices/bus/cbmiec/serialbox.cpp
index d47cf61a0dc..1d0ff2e8abb 100644
--- a/src/devices/bus/cbmiec/serialbox.cpp
+++ b/src/devices/bus/cbmiec/serialbox.cpp
@@ -32,7 +32,7 @@ enum
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SERIAL_BOX = device_creator<serial_box_device>;
+DEFINE_DEVICE_TYPE(SERIAL_BOX, serial_box_device, "serbox", "Serial Box")
//-------------------------------------------------
@@ -95,7 +95,7 @@ machine_config_constructor serial_box_device::device_mconfig_additions() const
//-------------------------------------------------
serial_box_device::serial_box_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SERIAL_BOX, "Serial Box", tag, owner, clock, "serbox", __FILE__),
+ : device_t(mconfig, SERIAL_BOX, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this),
m_maincpu(*this, M6502_TAG)
{
diff --git a/src/devices/bus/cbmiec/serialbox.h b/src/devices/bus/cbmiec/serialbox.h
index be7405a97d3..67fa9feacf5 100644
--- a/src/devices/bus/cbmiec/serialbox.h
+++ b/src/devices/bus/cbmiec/serialbox.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_SERIALBOX_H
+#define MAME_BUS_CBMIEC_SERIALBOX_H
-#ifndef __SERIAL_BOX__
-#define __SERIAL_BOX__
+#pragma once
#include "cpu/m6502/m65c02.h"
#include "bus/cbmiec/cbmiec.h"
@@ -30,8 +30,7 @@
// ======================> serial_box_device
-class serial_box_device : public device_t,
- public device_cbm_iec_interface
+class serial_box_device : public device_t, public device_cbm_iec_interface
{
public:
// construction/destruction
@@ -57,8 +56,7 @@ private:
// device type definition
-extern const device_type SERIAL_BOX;
-
+DECLARE_DEVICE_TYPE(SERIAL_BOX, serial_box_device)
-#endif
+#endif // MAME_BUS_CBMIEC_SERIALBOX_H
diff --git a/src/devices/bus/cbmiec/vic1515.cpp b/src/devices/bus/cbmiec/vic1515.cpp
index 77157cdea07..289ffeac4e1 100644
--- a/src/devices/bus/cbmiec/vic1515.cpp
+++ b/src/devices/bus/cbmiec/vic1515.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC1515 = device_creator<vic1515_t>;
+DEFINE_DEVICE_TYPE(VIC1515, vic1515_device, "vic1515", "VIC-1515")
//-------------------------------------------------
@@ -32,7 +32,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *vic1515_t::device_rom_region() const
+const tiny_rom_entry *vic1515_device::device_rom_region() const
{
return ROM_NAME( vic1515 );
}
@@ -42,7 +42,7 @@ const tiny_rom_entry *vic1515_t::device_rom_region() const
// ADDRESS_MAP( vic1515_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic1515_mem, AS_PROGRAM, 8, vic1515_t )
+static ADDRESS_MAP_START( vic1515_mem, AS_PROGRAM, 8, vic1515_device )
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("rom", 0)
ADDRESS_MAP_END
@@ -51,7 +51,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( vic1515_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic1515_io, AS_IO, 8, vic1515_t )
+static ADDRESS_MAP_START( vic1515_io, AS_IO, 8, vic1515_device )
ADDRESS_MAP_END
@@ -71,7 +71,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor vic1515_t::device_mconfig_additions() const
+machine_config_constructor vic1515_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( vic1515 );
}
@@ -94,7 +94,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor vic1515_t::device_input_ports() const
+ioport_constructor vic1515_device::device_input_ports() const
{
return INPUT_PORTS_NAME( vic1515 );
}
@@ -106,11 +106,11 @@ ioport_constructor vic1515_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// vic1515_t - constructor
+// vic1515_device - constructor
//-------------------------------------------------
-vic1515_t::vic1515_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIC1515, "VIC-1515", tag, owner, clock, "vic1515", __FILE__),
+vic1515_device::vic1515_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VIC1515, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this)
{
}
@@ -120,7 +120,7 @@ vic1515_t::vic1515_t(const machine_config &mconfig, const char *tag, device_t *o
// device_start - device-specific startup
//-------------------------------------------------
-void vic1515_t::device_start()
+void vic1515_device::device_start()
{
}
@@ -129,7 +129,7 @@ void vic1515_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void vic1515_t::device_reset()
+void vic1515_device::device_reset()
{
}
@@ -138,7 +138,7 @@ void vic1515_t::device_reset()
// cbm_iec_atn -
//-------------------------------------------------
-void vic1515_t::cbm_iec_atn(int state)
+void vic1515_device::cbm_iec_atn(int state)
{
}
@@ -147,7 +147,7 @@ void vic1515_t::cbm_iec_atn(int state)
// cbm_iec_data -
//-------------------------------------------------
-void vic1515_t::cbm_iec_data(int state)
+void vic1515_device::cbm_iec_data(int state)
{
}
@@ -156,7 +156,7 @@ void vic1515_t::cbm_iec_data(int state)
// cbm_iec_reset -
//-------------------------------------------------
-void vic1515_t::cbm_iec_reset(int state)
+void vic1515_device::cbm_iec_reset(int state)
{
if (!state)
{
diff --git a/src/devices/bus/cbmiec/vic1515.h b/src/devices/bus/cbmiec/vic1515.h
index 2f511006ed4..ca5452aa35c 100644
--- a/src/devices/bus/cbmiec/vic1515.h
+++ b/src/devices/bus/cbmiec/vic1515.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_VIC1515_H
+#define MAME_BUS_CBMIEC_VIC1515_H
-#ifndef __VIC1515__
-#define __VIC1515__
+#pragma once
#include "cbmiec.h"
#include "cpu/mcs48/mcs48.h"
@@ -20,14 +20,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> vic1515_t
+// ======================> vic1515_device
-class vic1515_t : public device_t,
- public device_cbm_iec_interface
+class vic1515_device : public device_t, public device_cbm_iec_interface
{
public:
// construction/destruction
- vic1515_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vic1515_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -47,8 +46,7 @@ protected:
// device type definition
-extern const device_type VIC1515;
-
+DECLARE_DEVICE_TYPE(VIC1515, vic1515_device)
-#endif
+#endif // MAME_BUS_CBMIEC_VIC1515_H
diff --git a/src/devices/bus/cbmiec/vic1520.cpp b/src/devices/bus/cbmiec/vic1520.cpp
index e2275224f1e..f6f412ced18 100644
--- a/src/devices/bus/cbmiec/vic1520.cpp
+++ b/src/devices/bus/cbmiec/vic1520.cpp
@@ -52,7 +52,7 @@ PD7 Y MOTOR COM D
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC1520 = device_creator<vic1520_t>;
+DEFINE_DEVICE_TYPE(VIC1520, vic1520_device, "vic1520", "VIC-1520")
//-------------------------------------------------
@@ -72,7 +72,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *vic1520_t::device_rom_region() const
+const tiny_rom_entry *vic1520_device::device_rom_region() const
{
return ROM_NAME( vic1520 );
}
@@ -82,7 +82,7 @@ const tiny_rom_entry *vic1520_t::device_rom_region() const
// ADDRESS_MAP( vic1520_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( vic1520_mem, AS_PROGRAM, 8, vic1520_t )
+static ADDRESS_MAP_START( vic1520_mem, AS_PROGRAM, 8, vic1520_device )
ADDRESS_MAP_GLOBAL_MASK(0xfff)
AM_RANGE(0x000, 0x03f) AM_RAM
AM_RANGE(0x800, 0xfff) AM_ROM AM_REGION(M6500_1_TAG, 0)
@@ -104,7 +104,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor vic1520_t::device_mconfig_additions() const
+machine_config_constructor vic1520_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( vic1520 );
}
@@ -122,7 +122,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor vic1520_t::device_input_ports() const
+ioport_constructor vic1520_device::device_input_ports() const
{
return INPUT_PORTS_NAME( vic1520 );
}
@@ -134,11 +134,11 @@ ioport_constructor vic1520_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// vic1520_t - constructor
+// vic1520_device - constructor
//-------------------------------------------------
-vic1520_t::vic1520_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIC1520, "VIC-1520", tag, owner, clock, "vic1520", __FILE__),
+vic1520_device::vic1520_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VIC1520, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this)
{
}
@@ -148,7 +148,7 @@ vic1520_t::vic1520_t(const machine_config &mconfig, const char *tag, device_t *o
// device_start - device-specific startup
//-------------------------------------------------
-void vic1520_t::device_start()
+void vic1520_device::device_start()
{
}
@@ -157,7 +157,7 @@ void vic1520_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void vic1520_t::device_reset()
+void vic1520_device::device_reset()
{
}
@@ -166,7 +166,7 @@ void vic1520_t::device_reset()
// cbm_iec_atn -
//-------------------------------------------------
-void vic1520_t::cbm_iec_atn(int state)
+void vic1520_device::cbm_iec_atn(int state)
{
}
@@ -175,7 +175,7 @@ void vic1520_t::cbm_iec_atn(int state)
// cbm_iec_data -
//-------------------------------------------------
-void vic1520_t::cbm_iec_data(int state)
+void vic1520_device::cbm_iec_data(int state)
{
}
@@ -184,7 +184,7 @@ void vic1520_t::cbm_iec_data(int state)
// cbm_iec_reset -
//-------------------------------------------------
-void vic1520_t::cbm_iec_reset(int state)
+void vic1520_device::cbm_iec_reset(int state)
{
if (!state)
{
diff --git a/src/devices/bus/cbmiec/vic1520.h b/src/devices/bus/cbmiec/vic1520.h
index 3f2ec228db1..b39fa85b9b1 100644
--- a/src/devices/bus/cbmiec/vic1520.h
+++ b/src/devices/bus/cbmiec/vic1520.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CBMIEC_VIC1520_H
+#define MAME_BUS_CBMIEC_VIC1520_H
-#ifndef __VIC1520__
-#define __VIC1520__
+#pragma once
#include "cbmiec.h"
#include "cpu/m6502/m6502.h"
@@ -20,14 +20,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> vic1520_t
+// ======================> vic1520_device
-class vic1520_t : public device_t,
- public device_cbm_iec_interface
+class vic1520_device : public device_t, public device_cbm_iec_interface
{
public:
// construction/destruction
- vic1520_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vic1520_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -50,5 +49,4 @@ protected:
extern const device_type VIC1520;
-
-#endif
+#endif // MAME_BUS_CBMIEC_VIC1520_H
diff --git a/src/devices/bus/centronics/comxpl80.cpp b/src/devices/bus/centronics/comxpl80.cpp
index bdca08de3e6..1faff54acf4 100644
--- a/src/devices/bus/centronics/comxpl80.cpp
+++ b/src/devices/bus/centronics/comxpl80.cpp
@@ -31,7 +31,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_PL80 = device_creator<comx_pl80_device>;
+DEFINE_DEVICE_TYPE(COMX_PL80, comx_pl80_device, "comx_pl80", "COMX PL-80")
//-------------------------------------------------
@@ -160,7 +160,7 @@ ioport_constructor comx_pl80_device::device_input_ports() const
//-------------------------------------------------
comx_pl80_device::comx_pl80_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, COMX_PL80, "COMX PL-80", tag, owner, clock, "comx_pl80", __FILE__),
+ : device_t(mconfig, COMX_PL80, tag, owner, clock),
device_centronics_peripheral_interface(mconfig, *this),
m_plotter(*this, "gfx1"),
m_font(*this, "FONT"),
diff --git a/src/devices/bus/centronics/comxpl80.h b/src/devices/bus/centronics/comxpl80.h
index 0f648902639..2fbb809fd3b 100644
--- a/src/devices/bus/centronics/comxpl80.h
+++ b/src/devices/bus/centronics/comxpl80.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CENTRONICS_COMXPL80_H
+#define MAME_BUS_CENTRONICS_COMXPL80_H
-#ifndef __COMX_PL80__
-#define __COMX_PL80__
+#pragma once
#include "cpu/m6805/m6805.h"
#include "bus/centronics/ctronics.h"
@@ -73,8 +73,8 @@ private:
// device type definition
-extern const device_type COMX_PL80;
+DECLARE_DEVICE_TYPE(COMX_PL80, comx_pl80_device)
-#endif
+#endif // MAME_BUS_CENTRONICS_COMXPL80_H
diff --git a/src/devices/bus/centronics/covox.cpp b/src/devices/bus/centronics/covox.cpp
index 1caea17daae..ece3068f736 100644
--- a/src/devices/bus/centronics/covox.cpp
+++ b/src/devices/bus/centronics/covox.cpp
@@ -16,7 +16,7 @@
//**************************************************************************
// device type definition
-const device_type CENTRONICS_COVOX = device_creator<centronics_covox_device>;
+DEFINE_DEVICE_TYPE(CENTRONICS_COVOX, centronics_covox_device, "covox", "Covox Speech Thing")
static MACHINE_CONFIG_FRAGMENT( covox )
/* sound hardware */
@@ -35,7 +35,7 @@ MACHINE_CONFIG_END
//-------------------------------------------------
centronics_covox_device::centronics_covox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CENTRONICS_COVOX, "Covox Speech Thing", tag, owner, clock, "covox", __FILE__),
+ : device_t(mconfig, CENTRONICS_COVOX, tag, owner, clock),
device_centronics_peripheral_interface( mconfig, *this ),
m_dac(*this, "dac"),
m_data(0)
@@ -68,7 +68,7 @@ void centronics_covox_device::update_dac()
//**************************************************************************
// device type definition
-const device_type CENTRONICS_COVOX_STEREO = device_creator<centronics_covox_stereo_device>;
+DEFINE_DEVICE_TYPE(CENTRONICS_COVOX_STEREO, centronics_covox_stereo_device, "covox_stereo", "Covox (Stereo-in-1)")
static MACHINE_CONFIG_FRAGMENT( covox_stereo )
/* sound hardware */
@@ -89,7 +89,7 @@ MACHINE_CONFIG_END
//-------------------------------------------------
centronics_covox_stereo_device::centronics_covox_stereo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CENTRONICS_COVOX_STEREO, "Covox (Stereo-in-1)", tag, owner, clock, "covox_stereo", __FILE__),
+ : device_t(mconfig, CENTRONICS_COVOX_STEREO, tag, owner, clock),
device_centronics_peripheral_interface( mconfig, *this ),
m_ldac(*this, "ldac"),
m_rdac(*this, "rdac"),
diff --git a/src/devices/bus/centronics/covox.h b/src/devices/bus/centronics/covox.h
index 48036c05487..969065c117a 100644
--- a/src/devices/bus/centronics/covox.h
+++ b/src/devices/bus/centronics/covox.h
@@ -6,8 +6,8 @@
***************************************************************************/
-#ifndef __CENTRONICS_COVOX_H__
-#define __CENTRONICS_COVOX_H__
+#ifndef MAME_BUS_CENTRONICS_COVOX_H
+#define MAME_BUS_CENTRONICS_COVOX_H
#pragma once
@@ -48,7 +48,7 @@ private:
};
// device type definition
-extern const device_type CENTRONICS_COVOX;
+DECLARE_DEVICE_TYPE(CENTRONICS_COVOX, centronics_covox_device)
// ======================> centronics_covox_stereo_device
@@ -89,6 +89,6 @@ private:
};
// device type definition
-extern const device_type CENTRONICS_COVOX_STEREO;
+DECLARE_DEVICE_TYPE(CENTRONICS_COVOX_STEREO, centronics_covox_stereo_device)
-#endif /* __CENTRONICS_COVOX_H__ */
+#endif // MAME_BUS_CENTRONICS_COVOX_H
diff --git a/src/devices/bus/centronics/ctronics.cpp b/src/devices/bus/centronics/ctronics.cpp
index fd66f57d3ac..6c99dcf0786 100644
--- a/src/devices/bus/centronics/ctronics.cpp
+++ b/src/devices/bus/centronics/ctronics.cpp
@@ -11,10 +11,10 @@
// class centronics_device
-const device_type CENTRONICS = device_creator<centronics_device>;
+DEFINE_DEVICE_TYPE(CENTRONICS, centronics_device, "centronics", "Centronics")
centronics_device::centronics_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CENTRONICS, "Centronics", tag, owner, clock, "centronics", __FILE__),
+ : device_t(mconfig, CENTRONICS, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_strobe_handler(*this),
m_data0_handler(*this),
diff --git a/src/devices/bus/centronics/ctronics.h b/src/devices/bus/centronics/ctronics.h
index 514028f2c6e..62c1cf5a94e 100644
--- a/src/devices/bus/centronics/ctronics.h
+++ b/src/devices/bus/centronics/ctronics.h
@@ -5,12 +5,11 @@
Centronics printer interface
***************************************************************************/
+#ifndef MAME_BUS_CENTRONICS_CTRONICS_H
+#define MAME_BUS_CENTRONICS_CTRONICS_H
#pragma once
-#ifndef __CTRONICS_H__
-#define __CTRONICS_H__
-
#include "machine/buffer.h"
#include "machine/latch.h"
@@ -91,7 +90,7 @@
MCFG_CENTRONICS_DATA6_HANDLER(DEVWRITELINE(_tag, input_buffer_device, write_bit6)) \
MCFG_CENTRONICS_DATA7_HANDLER(DEVWRITELINE(_tag, input_buffer_device, write_bit7))
-extern const device_type CENTRONICS;
+DECLARE_DEVICE_TYPE(CENTRONICS, centronics_device)
class device_centronics_peripheral_interface;
@@ -103,23 +102,23 @@ class centronics_device : public device_t,
public:
centronics_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_strobe_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_strobe_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data0_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data0_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data1_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data1_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data2_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data2_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data3_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data3_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data4_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data4_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data5_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data5_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data6_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data6_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data7_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data7_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_ack_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_ack_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_busy_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_busy_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_perror_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_perror_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_select_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_select_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_autofd_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_autofd_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_fault_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_fault_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_init_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_init_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_select_in_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_select_in_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_strobe_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_strobe_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data0_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_data0_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data1_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_data1_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data2_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_data2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data3_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_data3_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data4_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_data4_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data5_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_data5_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data6_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_data6_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data7_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_data7_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_ack_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_ack_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_busy_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_busy_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_perror_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_perror_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_select_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_select_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_autofd_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_autofd_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_fault_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_fault_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_init_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_init_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_select_in_handler(device_t &device, Object &&cb) { return downcast<centronics_device &>(device).m_select_in_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( write_strobe );
DECLARE_WRITE_LINE_MEMBER( write_data0 );
@@ -172,7 +171,6 @@ class device_centronics_peripheral_interface : public device_slot_card_interface
friend class centronics_device;
public:
- device_centronics_peripheral_interface(const machine_config &mconfig, device_t &device);
virtual ~device_centronics_peripheral_interface();
DECLARE_WRITE_LINE_MEMBER( output_strobe ) { m_slot->m_strobe_handler(state); }
@@ -194,23 +192,25 @@ public:
DECLARE_WRITE_LINE_MEMBER( output_select_in ) { m_slot->m_select_in_handler(state); }
protected:
- virtual DECLARE_WRITE_LINE_MEMBER( input_strobe ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data3 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data4 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data5 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data6 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_ack ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_busy ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_perror ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_select ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_autofd ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_fault ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_init ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_select_in ) {}
+ device_centronics_peripheral_interface(const machine_config &mconfig, device_t &device);
+
+ virtual DECLARE_WRITE_LINE_MEMBER( input_strobe ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data3 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data4 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data5 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data6 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_ack ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_busy ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_perror ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_select ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_autofd ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_fault ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_init ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_select_in ) { }
centronics_device *m_slot;
};
@@ -218,4 +218,4 @@ protected:
SLOT_INTERFACE_EXTERN( centronics_devices );
-#endif
+#endif // MAME_BUS_CENTRONICS_CTRONICS_H
diff --git a/src/devices/bus/centronics/digiblst.cpp b/src/devices/bus/centronics/digiblst.cpp
index 006fbb5068b..8afbe731960 100644
--- a/src/devices/bus/centronics/digiblst.cpp
+++ b/src/devices/bus/centronics/digiblst.cpp
@@ -16,7 +16,7 @@
//**************************************************************************
// device type definition
-const device_type CENTRONICS_DIGIBLASTER = device_creator<centronics_digiblaster_device>;
+DEFINE_DEVICE_TYPE(CENTRONICS_DIGIBLASTER, centronics_digiblaster_device, "digiblst", "Digiblaster (DIY)")
static MACHINE_CONFIG_FRAGMENT( digiblst )
/* sound hardware */
@@ -35,7 +35,7 @@ MACHINE_CONFIG_END
//-------------------------------------------------
centronics_digiblaster_device::centronics_digiblaster_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CENTRONICS_DIGIBLASTER, "Digiblaster (DIY)", tag, owner, clock, "digiblst", __FILE__),
+ : device_t(mconfig, CENTRONICS_DIGIBLASTER, tag, owner, clock),
device_centronics_peripheral_interface( mconfig, *this ),
m_dac(*this, "dac"),
m_data(0)
diff --git a/src/devices/bus/centronics/digiblst.h b/src/devices/bus/centronics/digiblst.h
index 4b5924b9f55..4521b8a2a6b 100644
--- a/src/devices/bus/centronics/digiblst.h
+++ b/src/devices/bus/centronics/digiblst.h
@@ -12,8 +12,8 @@
* Created on: 23/08/2014
*/
-#ifndef DIGIBLST_H_
-#define DIGIBLST_H_
+#ifndef MAME_BUS_CENTRONICS_DIGIBLST_H
+#define MAME_BUS_CENTRONICS_DIGIBLST_H
#pragma once
@@ -54,7 +54,7 @@ private:
};
// device type definition
-extern const device_type CENTRONICS_DIGIBLASTER;
+DECLARE_DEVICE_TYPE(CENTRONICS_DIGIBLASTER, centronics_digiblaster_device)
-#endif /* DIGIBLST_H_ */
+#endif // MAME_BUS_CENTRONICS_DIGIBLST_H
diff --git a/src/devices/bus/centronics/dsjoy.cpp b/src/devices/bus/centronics/dsjoy.cpp
index 7d1fa9dee78..a9209c264f8 100644
--- a/src/devices/bus/centronics/dsjoy.cpp
+++ b/src/devices/bus/centronics/dsjoy.cpp
@@ -4,10 +4,10 @@
#include "emu.h"
#include "dsjoy.h"
-const device_type DEMPA_SHINBUNSHA_JOYSTICK = device_creator<dempa_shinbunsha_joystick_device>;
+DEFINE_DEVICE_TYPE(DEMPA_SHINBUNSHA_JOYSTICK, dempa_shinbunsha_joystick_device, "dempa_shinbunsha_joystick", "Dempa Shinbunsha Joystick")
dempa_shinbunsha_joystick_device::dempa_shinbunsha_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, DEMPA_SHINBUNSHA_JOYSTICK, "Dempa Shinbunsha Joystick", tag, owner, clock, "dempa_shinbunsha_joystick", __FILE__),
+ device_t(mconfig, DEMPA_SHINBUNSHA_JOYSTICK, tag, owner, clock),
device_centronics_peripheral_interface( mconfig, *this ),
m_lptjoy(*this, "lptjoy"),
m_data(0xff),
diff --git a/src/devices/bus/centronics/dsjoy.h b/src/devices/bus/centronics/dsjoy.h
index 5db48e615fb..bcb91afceed 100644
--- a/src/devices/bus/centronics/dsjoy.h
+++ b/src/devices/bus/centronics/dsjoy.h
@@ -6,8 +6,8 @@
***************************************************************************/
-#ifndef __CENTRONICS_DSJOY_H__
-#define __CENTRONICS_DSJOY_H__
+#ifndef MAME_BUS_CENTRONICS_DSJOY_H
+#define MAME_BUS_CENTRONICS_DSJOY_H
#pragma once
@@ -42,6 +42,6 @@ private:
};
// device type definition
-extern const device_type DEMPA_SHINBUNSHA_JOYSTICK;
+DECLARE_DEVICE_TYPE(DEMPA_SHINBUNSHA_JOYSTICK, dempa_shinbunsha_joystick_device)
-#endif
+#endif // MAME_BUS_CENTRONICS_DSJOY_H
diff --git a/src/devices/bus/centronics/epson_ex800.cpp b/src/devices/bus/centronics/epson_ex800.cpp
index 6c42844ca79..83c95a59214 100644
--- a/src/devices/bus/centronics/epson_ex800.cpp
+++ b/src/devices/bus/centronics/epson_ex800.cpp
@@ -171,7 +171,7 @@ TODO: - The UPD7810 core is missing analog port emulation
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type EPSON_EX800 = device_creator<epson_ex800_t>;
+DEFINE_DEVICE_TYPE(EPSON_EX800, epson_ex800_device, "ex800", "Epson EX-800")
//-------------------------------------------------
@@ -188,7 +188,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *epson_ex800_t::device_rom_region() const
+const tiny_rom_entry *epson_ex800_device::device_rom_region() const
{
return ROM_NAME( ex800 );
}
@@ -198,7 +198,7 @@ const tiny_rom_entry *epson_ex800_t::device_rom_region() const
// ADDRESS_MAP( ex800_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( ex800_mem, AS_PROGRAM, 8, epson_ex800_t )
+static ADDRESS_MAP_START( ex800_mem, AS_PROGRAM, 8, epson_ex800_device )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x8000, 0xbfff) AM_RAM /* external RAM */
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_READWRITE(devsel_r, devsel_w)
@@ -219,12 +219,12 @@ static MACHINE_CONFIG_FRAGMENT( epson_ex800 )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", UPD7810, 12000000) /* 12 MHz? */
MCFG_CPU_PROGRAM_MAP(ex800_mem)
- MCFG_UPD7810_PORTA_READ_CB(READ8(epson_ex800_t, porta_r))
- MCFG_UPD7810_PORTA_WRITE_CB(WRITE8(epson_ex800_t, porta_w))
- MCFG_UPD7810_PORTB_READ_CB(READ8(epson_ex800_t, portb_r))
- MCFG_UPD7810_PORTB_WRITE_CB(WRITE8(epson_ex800_t, portb_w))
- MCFG_UPD7810_PORTC_READ_CB(READ8(epson_ex800_t, portc_r))
- MCFG_UPD7810_PORTC_WRITE_CB(WRITE8(epson_ex800_t, portc_w))
+ MCFG_UPD7810_PORTA_READ_CB(READ8(epson_ex800_device, porta_r))
+ MCFG_UPD7810_PORTA_WRITE_CB(WRITE8(epson_ex800_device, porta_w))
+ MCFG_UPD7810_PORTB_READ_CB(READ8(epson_ex800_device, portb_r))
+ MCFG_UPD7810_PORTB_WRITE_CB(WRITE8(epson_ex800_device, portb_w))
+ MCFG_UPD7810_PORTC_READ_CB(READ8(epson_ex800_device, portc_r))
+ MCFG_UPD7810_PORTC_WRITE_CB(WRITE8(epson_ex800_device, portc_w))
MCFG_DEFAULT_LAYOUT(layout_ex800)
@@ -240,14 +240,14 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor epson_ex800_t::device_mconfig_additions() const
+machine_config_constructor epson_ex800_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( epson_ex800 );
}
/* The ON LINE switch is directly connected to the INT1 input of the CPU */
-INPUT_CHANGED_MEMBER(epson_ex800_t::online_switch)
+INPUT_CHANGED_MEMBER(epson_ex800_device::online_switch)
{
if (newval)
{
@@ -264,7 +264,7 @@ INPUT_CHANGED_MEMBER(epson_ex800_t::online_switch)
INPUT_PORTS_START( epson_ex800 )
PORT_START("ONLISW")
PORT_BIT(0xfe, IP_ACTIVE_HIGH, IPT_UNUSED)
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON LINE") PORT_CODE(KEYCODE_F9) PORT_CHANGED_MEMBER(DEVICE_SELF, epson_ex800_t, online_switch, nullptr)
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON LINE") PORT_CODE(KEYCODE_F9) PORT_CHANGED_MEMBER(DEVICE_SELF, epson_ex800_device, online_switch, nullptr)
PORT_START("FEED")
PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
@@ -337,7 +337,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor epson_ex800_t::device_input_ports() const
+ioport_constructor epson_ex800_device::device_input_ports() const
{
return INPUT_PORTS_NAME( epson_ex800 );
}
@@ -349,11 +349,11 @@ ioport_constructor epson_ex800_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// epson_ex800_t - constructor
+// epson_ex800_device - constructor
//-------------------------------------------------
-epson_ex800_t::epson_ex800_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, EPSON_EX800, "Epson EX-800", tag, owner, clock, "ex800", __FILE__),
+epson_ex800_device::epson_ex800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, EPSON_EX800, tag, owner, clock),
device_centronics_peripheral_interface(mconfig, *this),
m_maincpu(*this, "maincpu"),
m_beeper(*this, "beeper"), m_irq_state(0)
@@ -365,7 +365,7 @@ epson_ex800_t::epson_ex800_t(const machine_config &mconfig, const char *tag, dev
// device_start - device-specific startup
//-------------------------------------------------
-void epson_ex800_t::device_start()
+void epson_ex800_device::device_start()
{
m_irq_state = ASSERT_LINE;
}
@@ -375,32 +375,32 @@ void epson_ex800_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void epson_ex800_t::device_reset()
+void epson_ex800_device::device_reset()
{
/* Setup beep */
m_beeper->set_state(0);
}
-READ8_MEMBER(epson_ex800_t::porta_r)
+READ8_MEMBER(epson_ex800_device::porta_r)
{
logerror("PA R @%x\n", space.device().safe_pc());
return machine().rand();
}
-READ8_MEMBER(epson_ex800_t::portb_r)
+READ8_MEMBER(epson_ex800_device::portb_r)
{
logerror("PB R @%x\n", space.device().safe_pc());
return machine().rand();
}
-READ8_MEMBER(epson_ex800_t::portc_r)
+READ8_MEMBER(epson_ex800_device::portc_r)
{
logerror("PC R @%x\n", space.device().safe_pc());
return machine().rand();
}
-WRITE8_MEMBER(epson_ex800_t::porta_w)
+WRITE8_MEMBER(epson_ex800_device::porta_w)
{
if (PA6) logerror("BNK0 selected.\n");
if (PA7) logerror("BNK1 selected.\n");
@@ -408,7 +408,7 @@ WRITE8_MEMBER(epson_ex800_t::porta_w)
logerror("PA W %x @%x\n", data, space.device().safe_pc());
}
-WRITE8_MEMBER(epson_ex800_t::portb_w)
+WRITE8_MEMBER(epson_ex800_device::portb_w)
{
if (data & 3)
logerror("PB0/1 Line feed @%x\n", space.device().safe_pc());
@@ -432,7 +432,7 @@ WRITE8_MEMBER(epson_ex800_t::portb_w)
// logerror("PB W %x @%x\n", data, space.device().safe_pc());
}
-WRITE8_MEMBER(epson_ex800_t::portc_w)
+WRITE8_MEMBER(epson_ex800_device::portc_w)
{
if (data & 0x80)
m_beeper->set_state(0);
@@ -445,46 +445,46 @@ WRITE8_MEMBER(epson_ex800_t::portc_w)
/* Memory mapped I/O access */
-READ8_MEMBER(epson_ex800_t::devsel_r)
+READ8_MEMBER(epson_ex800_device::devsel_r)
{
logerror("DEVSEL R @%x with offset %x\n", space.device().safe_pc(), offset);
return machine().rand();
}
-WRITE8_MEMBER(epson_ex800_t::devsel_w)
+WRITE8_MEMBER(epson_ex800_device::devsel_w)
{
logerror("DEVSEL W %x @%x with offset %x\n", data, space.device().safe_pc(), offset);
}
-READ8_MEMBER(epson_ex800_t::gate5a_r)
+READ8_MEMBER(epson_ex800_device::gate5a_r)
{
logerror("GATE5A R @%x with offset %x\n", space.device().safe_pc(), offset);
return machine().rand();
}
-WRITE8_MEMBER(epson_ex800_t::gate5a_w)
+WRITE8_MEMBER(epson_ex800_device::gate5a_w)
{
logerror("GATE5A W %x @%x with offset %x\n", data, space.device().safe_pc(), offset);
}
-READ8_MEMBER(epson_ex800_t::iosel_r)
+READ8_MEMBER(epson_ex800_device::iosel_r)
{
logerror("IOSEL R @%x with offset %x\n", space.device().safe_pc(), offset);
return machine().rand();
}
-WRITE8_MEMBER(epson_ex800_t::iosel_w)
+WRITE8_MEMBER(epson_ex800_device::iosel_w)
{
logerror("IOSEL W %x @%x with offset %x\n", data, space.device().safe_pc(), offset);
}
-READ8_MEMBER(epson_ex800_t::gate7a_r)
+READ8_MEMBER(epson_ex800_device::gate7a_r)
{
logerror("GATE7A R @%x with offset %x\n", space.device().safe_pc(), offset);
return machine().rand();
}
-WRITE8_MEMBER(epson_ex800_t::gate7a_w)
+WRITE8_MEMBER(epson_ex800_device::gate7a_w)
{
logerror("GATE7A W %x @%x with offset %x\n", data, space.device().safe_pc(), offset);
}
diff --git a/src/devices/bus/centronics/epson_ex800.h b/src/devices/bus/centronics/epson_ex800.h
index 133bdb39897..453670750d5 100644
--- a/src/devices/bus/centronics/epson_ex800.h
+++ b/src/devices/bus/centronics/epson_ex800.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CENTRONICS_EPSON_EX800_H
+#define MAME_BUS_CENTRONICS_EPSON_EX800_H
-#ifndef __EPSON_EX800__
-#define __EPSON_EX800__
+#pragma once
#include "ctronics.h"
#include "cpu/upd7810/upd7810.h"
@@ -21,14 +21,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> epson_ex800_t
+// ======================> epson_ex800_device
-class epson_ex800_t : public device_t,
+class epson_ex800_device : public device_t,
public device_centronics_peripheral_interface
{
public:
// construction/destruction
- epson_ex800_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ epson_ex800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -67,8 +67,8 @@ private:
// device type definition
-extern const device_type EPSON_EX800;
+DECLARE_DEVICE_TYPE(EPSON_EX800, epson_ex800_device)
-#endif
+#endif // MAME_BUS_CENTRONICS_EPSON_EX800_H
diff --git a/src/devices/bus/centronics/epson_lx800.cpp b/src/devices/bus/centronics/epson_lx800.cpp
index 7870d3c72da..38be060268e 100644
--- a/src/devices/bus/centronics/epson_lx800.cpp
+++ b/src/devices/bus/centronics/epson_lx800.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type EPSON_LX800 = device_creator<epson_lx800_t>;
+DEFINE_DEVICE_TYPE(EPSON_LX800, epson_lx800_device, "lx800", "Epson LX-800")
//-------------------------------------------------
@@ -42,7 +42,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *epson_lx800_t::device_rom_region() const
+const tiny_rom_entry *epson_lx800_device::device_rom_region() const
{
return ROM_NAME( lx800 );
}
@@ -52,7 +52,7 @@ const tiny_rom_entry *epson_lx800_t::device_rom_region() const
// ADDRESS_MAP( lx800_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( lx800_mem, AS_PROGRAM, 8, epson_lx800_t )
+static ADDRESS_MAP_START( lx800_mem, AS_PROGRAM, 8, epson_lx800_device )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* 32k firmware */
AM_RANGE(0x8000, 0x9fff) AM_RAM /* 8k external RAM */
AM_RANGE(0xa000, 0xbfff) AM_NOP /* not used */
@@ -70,17 +70,17 @@ static MACHINE_CONFIG_FRAGMENT( epson_lx800 )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", UPD7810, XTAL_14_7456MHz)
MCFG_CPU_PROGRAM_MAP(lx800_mem)
- MCFG_UPD7810_PORTA_READ_CB(READ8(epson_lx800_t, porta_r))
- MCFG_UPD7810_PORTA_WRITE_CB(WRITE8(epson_lx800_t, porta_w))
+ MCFG_UPD7810_PORTA_READ_CB(READ8(epson_lx800_device, porta_r))
+ MCFG_UPD7810_PORTA_WRITE_CB(WRITE8(epson_lx800_device, porta_w))
MCFG_UPD7810_PORTB_READ_CB(IOPORT("DIPSW1"))
- MCFG_UPD7810_PORTC_READ_CB(READ8(epson_lx800_t, portc_r))
- MCFG_UPD7810_PORTC_WRITE_CB(WRITE8(epson_lx800_t, portc_w))
- MCFG_UPD7810_AN0(READLINE(epson_lx800_t, an0_r))
- MCFG_UPD7810_AN1(READLINE(epson_lx800_t, an1_r))
- MCFG_UPD7810_AN2(READLINE(epson_lx800_t, an2_r))
- MCFG_UPD7810_AN3(READLINE(epson_lx800_t, an3_r))
- MCFG_UPD7810_AN4(READLINE(epson_lx800_t, an4_r))
- MCFG_UPD7810_AN5(READLINE(epson_lx800_t, an5_r))
+ MCFG_UPD7810_PORTC_READ_CB(READ8(epson_lx800_device, portc_r))
+ MCFG_UPD7810_PORTC_WRITE_CB(WRITE8(epson_lx800_device, portc_w))
+ MCFG_UPD7810_AN0(READLINE(epson_lx800_device, an0_r))
+ MCFG_UPD7810_AN1(READLINE(epson_lx800_device, an1_r))
+ MCFG_UPD7810_AN2(READLINE(epson_lx800_device, an2_r))
+ MCFG_UPD7810_AN3(READLINE(epson_lx800_device, an3_r))
+ MCFG_UPD7810_AN4(READLINE(epson_lx800_device, an4_r))
+ MCFG_UPD7810_AN5(READLINE(epson_lx800_device, an5_r))
MCFG_DEFAULT_LAYOUT(layout_lx800)
@@ -91,10 +91,10 @@ static MACHINE_CONFIG_FRAGMENT( epson_lx800 )
/* gate array */
MCFG_DEVICE_ADD("ic3b", E05A03, 0)
- MCFG_E05A03_PE_LP_CALLBACK(WRITELINE(epson_lx800_t, paperempty_led_w))
- MCFG_E05A03_RESO_CALLBACK(WRITELINE(epson_lx800_t, reset_w))
- MCFG_E05A03_PE_CALLBACK(WRITELINE(epson_lx800_t, centronics_pe_w))
- MCFG_E05A03_DATA_CALLBACK(READ8(epson_lx800_t, centronics_data_r))
+ MCFG_E05A03_PE_LP_CALLBACK(WRITELINE(epson_lx800_device, paperempty_led_w))
+ MCFG_E05A03_RESO_CALLBACK(WRITELINE(epson_lx800_device, reset_w))
+ MCFG_E05A03_PE_CALLBACK(WRITELINE(epson_lx800_device, centronics_pe_w))
+ MCFG_E05A03_DATA_CALLBACK(READ8(epson_lx800_device, centronics_data_r))
MACHINE_CONFIG_END
@@ -103,7 +103,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor epson_lx800_t::device_mconfig_additions() const
+machine_config_constructor epson_lx800_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( epson_lx800 );
}
@@ -179,7 +179,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor epson_lx800_t::device_input_ports() const
+ioport_constructor epson_lx800_device::device_input_ports() const
{
return INPUT_PORTS_NAME( epson_lx800 );
}
@@ -191,19 +191,19 @@ ioport_constructor epson_lx800_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// epson_lx800_t - constructor
+// epson_lx800_device - constructor
//-------------------------------------------------
-epson_lx800_t::epson_lx800_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, EPSON_LX800, "Epson LX-800", tag, owner, clock, "lx800", __FILE__),
+epson_lx800_device::epson_lx800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, EPSON_LX800, tag, owner, clock),
device_centronics_peripheral_interface(mconfig, *this),
m_maincpu(*this, "maincpu"),
m_beep(*this, "beeper")
{
}
-epson_lx800_t::epson_lx800_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
+epson_lx800_device::epson_lx800_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_centronics_peripheral_interface(mconfig, *this),
m_maincpu(*this, "maincpu"),
m_beep(*this, "beeper")
@@ -215,7 +215,7 @@ epson_lx800_t::epson_lx800_t(const machine_config &mconfig, device_type type, co
// device_start - device-specific startup
//-------------------------------------------------
-void epson_lx800_t::device_start()
+void epson_lx800_device::device_start()
{
}
@@ -224,7 +224,7 @@ void epson_lx800_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void epson_lx800_t::device_reset()
+void epson_lx800_device::device_reset()
{
m_beep->set_state(0);
}
@@ -243,7 +243,7 @@ void epson_lx800_t::device_reset()
* PA6 not used
* PA7 R P/S P/S signal from the optional interface
*/
-READ8_MEMBER( epson_lx800_t::porta_r )
+READ8_MEMBER( epson_lx800_device::porta_r )
{
uint8_t result = 0;
@@ -258,7 +258,7 @@ READ8_MEMBER( epson_lx800_t::porta_r )
return result;
}
-WRITE8_MEMBER( epson_lx800_t::porta_w )
+WRITE8_MEMBER( epson_lx800_device::porta_w )
{
logerror("%s: lx800_porta_w(%02x): %02x\n", machine().describe_context(), offset, data);
logerror("--> carriage: %d, paper feed: %d\n", BIT(data, 0), BIT(data, 2));
@@ -273,7 +273,7 @@ WRITE8_MEMBER( epson_lx800_t::porta_w )
* PC6 W FIRE drive pulse width signal
* PC7 W BUZZER buzzer signal
*/
-READ8_MEMBER( epson_lx800_t::portc_r )
+READ8_MEMBER( epson_lx800_device::portc_r )
{
uint8_t result = 0;
@@ -284,7 +284,7 @@ READ8_MEMBER( epson_lx800_t::portc_r )
return result;
}
-WRITE8_MEMBER( epson_lx800_t::portc_w )
+WRITE8_MEMBER( epson_lx800_device::portc_w )
{
logerror("%s: lx800_portc_w(%02x): %02x\n", machine().describe_context(), offset, data);
logerror("--> err: %d, ack: %d, fire: %d, buzzer: %d\n", BIT(data, 4), BIT(data, 5), BIT(data, 6), BIT(data, 7));
@@ -293,32 +293,32 @@ WRITE8_MEMBER( epson_lx800_t::portc_w )
m_beep->set_state(!BIT(data, 7));
}
-READ_LINE_MEMBER( epson_lx800_t::an0_r )
+READ_LINE_MEMBER( epson_lx800_device::an0_r )
{
return BIT(ioport("DIPSW2")->read(), 0);
}
-READ_LINE_MEMBER( epson_lx800_t::an1_r )
+READ_LINE_MEMBER( epson_lx800_device::an1_r )
{
return BIT(ioport("DIPSW2")->read(), 1);
}
-READ_LINE_MEMBER( epson_lx800_t::an2_r )
+READ_LINE_MEMBER( epson_lx800_device::an2_r )
{
return BIT(ioport("DIPSW2")->read(), 2);
}
-READ_LINE_MEMBER( epson_lx800_t::an3_r )
+READ_LINE_MEMBER( epson_lx800_device::an3_r )
{
return BIT(ioport("DIPSW2")->read(), 3); // can also read an external line AUTO_FEED_XT
}
-READ_LINE_MEMBER( epson_lx800_t::an4_r )
+READ_LINE_MEMBER( epson_lx800_device::an4_r )
{
return 0; // Printer select line (0=always selected)
}
-READ_LINE_MEMBER( epson_lx800_t::an5_r )
+READ_LINE_MEMBER( epson_lx800_device::an5_r )
{
return 1; // Monitors 24v line, should return 4.08 volts
}
@@ -328,24 +328,24 @@ READ_LINE_MEMBER( epson_lx800_t::an5_r )
GATE ARRAY
***************************************************************************/
-READ8_MEMBER( epson_lx800_t::centronics_data_r )
+READ8_MEMBER( epson_lx800_device::centronics_data_r )
{
logerror("centronics: data read\n");
return 0x55;
}
-WRITE_LINE_MEMBER( epson_lx800_t::centronics_pe_w )
+WRITE_LINE_MEMBER( epson_lx800_device::centronics_pe_w )
{
logerror("centronics: pe = %d\n", state);
}
-WRITE_LINE_MEMBER( epson_lx800_t::paperempty_led_w )
+WRITE_LINE_MEMBER( epson_lx800_device::paperempty_led_w )
{
logerror("setting paperout led: %d\n", state);
machine().output().set_value("paperout_led", state);
}
-WRITE_LINE_MEMBER( epson_lx800_t::reset_w )
+WRITE_LINE_MEMBER( epson_lx800_device::reset_w )
{
logerror("cpu reset");
m_maincpu->reset();
diff --git a/src/devices/bus/centronics/epson_lx800.h b/src/devices/bus/centronics/epson_lx800.h
index 740a9a248d1..2cf67beb9eb 100644
--- a/src/devices/bus/centronics/epson_lx800.h
+++ b/src/devices/bus/centronics/epson_lx800.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CENTRONICS_EPSON_LX800_H
+#define MAME_BUS_CENTRONICS_EPSON_LX800_H
-#ifndef __EPSON_LX800__
-#define __EPSON_LX800__
+#pragma once
#include "ctronics.h"
#include "cpu/upd7810/upd7810.h"
@@ -22,15 +22,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> epson_lx800_t
+// ======================> epson_lx800_device
-class epson_lx800_t : public device_t,
+class epson_lx800_device : public device_t,
public device_centronics_peripheral_interface
{
public:
// construction/destruction
- epson_lx800_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- epson_lx800_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ epson_lx800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -53,6 +52,8 @@ public:
DECLARE_READ_LINE_MEMBER(an5_r);
protected:
+ epson_lx800_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -65,8 +66,8 @@ private:
// device type definition
-extern const device_type EPSON_LX800;
+DECLARE_DEVICE_TYPE(EPSON_LX800, epson_lx800_device)
-#endif
+#endif // MAME_BUS_CENTRONICS_EPSON_LX800_H
diff --git a/src/devices/bus/centronics/epson_lx810l.cpp b/src/devices/bus/centronics/epson_lx810l.cpp
index 1d288e41bff..b87609e685a 100644
--- a/src/devices/bus/centronics/epson_lx810l.cpp
+++ b/src/devices/bus/centronics/epson_lx810l.cpp
@@ -43,8 +43,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type EPSON_LX810L = device_creator<epson_lx810l_t>;
-const device_type EPSON_AP2000 = device_creator<epson_ap2000_t>;
+DEFINE_DEVICE_TYPE(EPSON_LX810L, epson_lx810l_device, "lx810l", "Espon LX-810L")
+DEFINE_DEVICE_TYPE(EPSON_AP2000, epson_ap2000_device, "ap2000", "Epson ActionPrinter 2000")
//-------------------------------------------------
@@ -75,7 +75,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *epson_lx810l_t::device_rom_region() const
+const tiny_rom_entry *epson_lx810l_device::device_rom_region() const
{
return ROM_NAME( lx810l );
}
@@ -85,7 +85,7 @@ const tiny_rom_entry *epson_lx810l_t::device_rom_region() const
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *epson_ap2000_t::device_rom_region() const
+const tiny_rom_entry *epson_ap2000_device::device_rom_region() const
{
return ROM_NAME( ap2000 );
}
@@ -95,7 +95,7 @@ const tiny_rom_entry *epson_ap2000_t::device_rom_region() const
// ADDRESS_MAP( lx810l_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( lx810l_mem, AS_PROGRAM, 8, epson_lx810l_t )
+static ADDRESS_MAP_START( lx810l_mem, AS_PROGRAM, 8, epson_lx810l_device )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* 32k firmware */
AM_RANGE(0x8000, 0x9fff) AM_RAM /* 8k external RAM */
AM_RANGE(0xa000, 0xbfff) AM_READWRITE(fakemem_r, fakemem_w) /* fake memory, write one, set all */
@@ -113,21 +113,21 @@ static MACHINE_CONFIG_FRAGMENT( epson_lx810l )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", UPD7810, XTAL_14_7456MHz)
MCFG_CPU_PROGRAM_MAP(lx810l_mem)
- MCFG_UPD7810_PORTA_READ_CB(READ8(epson_lx810l_t, porta_r))
- MCFG_UPD7810_PORTA_WRITE_CB(WRITE8(epson_lx810l_t, porta_w))
- MCFG_UPD7810_PORTB_READ_CB(READ8(epson_lx810l_t, portb_r))
- MCFG_UPD7810_PORTB_WRITE_CB(WRITE8(epson_lx810l_t, portb_w))
- MCFG_UPD7810_PORTC_READ_CB(READ8(epson_lx810l_t, portc_r))
- MCFG_UPD7810_PORTC_WRITE_CB(WRITE8(epson_lx810l_t, portc_w))
- MCFG_UPD7810_AN0(READ8(epson_lx810l_t, an0_r))
- MCFG_UPD7810_AN1(READ8(epson_lx810l_t, an1_r))
- MCFG_UPD7810_AN2(READ8(epson_lx810l_t, an2_r))
- MCFG_UPD7810_AN3(READ8(epson_lx810l_t, an3_r))
- MCFG_UPD7810_AN4(READ8(epson_lx810l_t, an4_r))
- MCFG_UPD7810_AN5(READ8(epson_lx810l_t, an5_r))
- MCFG_UPD7810_AN6(READ8(epson_lx810l_t, an6_r))
- MCFG_UPD7810_AN7(READ8(epson_lx810l_t, an7_r))
- MCFG_UPD7810_CO0(WRITELINE(epson_lx810l_t, co0_w))
+ MCFG_UPD7810_PORTA_READ_CB(READ8(epson_lx810l_device, porta_r))
+ MCFG_UPD7810_PORTA_WRITE_CB(WRITE8(epson_lx810l_device, porta_w))
+ MCFG_UPD7810_PORTB_READ_CB(READ8(epson_lx810l_device, portb_r))
+ MCFG_UPD7810_PORTB_WRITE_CB(WRITE8(epson_lx810l_device, portb_w))
+ MCFG_UPD7810_PORTC_READ_CB(READ8(epson_lx810l_device, portc_r))
+ MCFG_UPD7810_PORTC_WRITE_CB(WRITE8(epson_lx810l_device, portc_w))
+ MCFG_UPD7810_AN0(READ8(epson_lx810l_device, an0_r))
+ MCFG_UPD7810_AN1(READ8(epson_lx810l_device, an1_r))
+ MCFG_UPD7810_AN2(READ8(epson_lx810l_device, an2_r))
+ MCFG_UPD7810_AN3(READ8(epson_lx810l_device, an3_r))
+ MCFG_UPD7810_AN4(READ8(epson_lx810l_device, an4_r))
+ MCFG_UPD7810_AN5(READ8(epson_lx810l_device, an5_r))
+ MCFG_UPD7810_AN6(READ8(epson_lx810l_device, an6_r))
+ MCFG_UPD7810_AN7(READ8(epson_lx810l_device, an7_r))
+ MCFG_UPD7810_CO0(WRITELINE(epson_lx810l_device, co0_w))
MCFG_UPD7810_CO1(DEVWRITELINE("dac", dac_bit_interface, write))
// MCFG_DEFAULT_LAYOUT(layout_lx800)
@@ -138,7 +138,7 @@ static MACHINE_CONFIG_FRAGMENT( epson_lx810l )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(PAPER_WIDTH, PAPER_HEIGHT)
MCFG_SCREEN_VISIBLE_AREA(0, PAPER_WIDTH-1, 0, PAPER_HEIGHT-1)
- MCFG_SCREEN_UPDATE_DRIVER(epson_lx810l_t, screen_update_lx810l)
+ MCFG_SCREEN_UPDATE_DRIVER(epson_lx810l_device, screen_update_lx810l)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("speaker")
@@ -148,15 +148,15 @@ static MACHINE_CONFIG_FRAGMENT( epson_lx810l )
/* gate array */
MCFG_DEVICE_ADD("e05a30", E05A30, 0)
- MCFG_E05A30_PRINTHEAD_CALLBACK(WRITE16(epson_lx810l_t, printhead))
- MCFG_E05A30_PF_STEPPER_CALLBACK(WRITE8(epson_lx810l_t, pf_stepper))
- MCFG_E05A30_CR_STEPPER_CALLBACK(WRITE8(epson_lx810l_t, cr_stepper))
- MCFG_E05A30_READY_CALLBACK(WRITELINE(epson_lx810l_t, e05a30_ready))
- MCFG_E05A30_CENTRONICS_ACK_CALLBACK(WRITELINE(epson_lx810l_t, e05a30_centronics_ack))
- MCFG_E05A30_CENTRONICS_BUSY_CALLBACK(WRITELINE(epson_lx810l_t, e05a30_centronics_busy))
- MCFG_E05A30_CENTRONICS_PERROR_CALLBACK(WRITELINE(epson_lx810l_t, e05a30_centronics_perror))
- MCFG_E05A30_CENTRONICS_FAULT_CALLBACK(WRITELINE(epson_lx810l_t, e05a30_centronics_fault))
- MCFG_E05A30_CENTRONICS_SELECT_CALLBACK(WRITELINE(epson_lx810l_t, e05a30_centronics_select))
+ MCFG_E05A30_PRINTHEAD_CALLBACK(WRITE16(epson_lx810l_device, printhead))
+ MCFG_E05A30_PF_STEPPER_CALLBACK(WRITE8(epson_lx810l_device, pf_stepper))
+ MCFG_E05A30_CR_STEPPER_CALLBACK(WRITE8(epson_lx810l_device, cr_stepper))
+ MCFG_E05A30_READY_CALLBACK(WRITELINE(epson_lx810l_device, e05a30_ready))
+ MCFG_E05A30_CENTRONICS_ACK_CALLBACK(WRITELINE(epson_lx810l_device, e05a30_centronics_ack))
+ MCFG_E05A30_CENTRONICS_BUSY_CALLBACK(WRITELINE(epson_lx810l_device, e05a30_centronics_busy))
+ MCFG_E05A30_CENTRONICS_PERROR_CALLBACK(WRITELINE(epson_lx810l_device, e05a30_centronics_perror))
+ MCFG_E05A30_CENTRONICS_FAULT_CALLBACK(WRITELINE(epson_lx810l_device, e05a30_centronics_fault))
+ MCFG_E05A30_CENTRONICS_SELECT_CALLBACK(WRITELINE(epson_lx810l_device, e05a30_centronics_select))
/* 256-bit eeprom */
MCFG_EEPROM_SERIAL_93C06_ADD("eeprom")
@@ -177,7 +177,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor epson_lx810l_t::device_mconfig_additions() const
+machine_config_constructor epson_lx810l_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( epson_lx810l );
}
@@ -191,7 +191,7 @@ static INPUT_PORTS_START( epson_lx810l )
/* Buttons on printer */
PORT_START("ONLINE")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("On Line") PORT_CODE(KEYCODE_O) PORT_CHANGED_MEMBER(DEVICE_SELF, epson_lx810l_t, online_sw, nullptr)
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("On Line") PORT_CODE(KEYCODE_O) PORT_CHANGED_MEMBER(DEVICE_SELF, epson_lx810l_device, online_sw, nullptr)
PORT_START("FORMFEED")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Form Feed") PORT_CODE(KEYCODE_F) PORT_TOGGLE
PORT_START("LINEFEED")
@@ -265,12 +265,12 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor epson_lx810l_t::device_input_ports() const
+ioport_constructor epson_lx810l_device::device_input_ports() const
{
return INPUT_PORTS_NAME( epson_lx810l );
}
-INPUT_CHANGED_MEMBER(epson_lx810l_t::online_sw)
+INPUT_CHANGED_MEMBER(epson_lx810l_device::online_sw)
{
m_maincpu->set_input_line(UPD7810_INTF2, newval ? CLEAR_LINE : ASSERT_LINE);
}
@@ -281,31 +281,16 @@ INPUT_CHANGED_MEMBER(epson_lx810l_t::online_sw)
//**************************************************************************
//-------------------------------------------------
-// epson_lx810l_t - constructor
+// epson_lx810l_device - constructor
//-------------------------------------------------
-epson_lx810l_t::epson_lx810l_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, EPSON_LX810L, "Epson LX-810L", tag, owner, clock, "lx810l", __FILE__),
- device_centronics_peripheral_interface(mconfig, *this),
- m_maincpu(*this, "maincpu"),
- m_pf_stepper(*this, "pf_stepper"),
- m_cr_stepper(*this, "cr_stepper"),
- m_eeprom(*this, "eeprom"),
- m_e05a30(*this, "e05a30"),
- m_screen(*this, "screen"),
- m_93c06_clk(0),
- m_93c06_cs(0),
- m_printhead(0),
- m_pf_pos_abs(1),
- m_cr_pos_abs(1),
- m_real_cr_pos(1),
- m_real_cr_steps(0),
- m_real_cr_dir(0), m_fakemem(0)
+epson_lx810l_device::epson_lx810l_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ epson_lx810l_device(mconfig, EPSON_LX810L, tag, owner, clock)
{
}
-epson_lx810l_t::epson_lx810l_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
+epson_lx810l_device::epson_lx810l_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_centronics_peripheral_interface(mconfig, *this),
m_maincpu(*this, "maincpu"),
m_pf_stepper(*this, "pf_stepper"),
@@ -324,8 +309,8 @@ epson_lx810l_t::epson_lx810l_t(const machine_config &mconfig, device_type type,
{
}
-epson_ap2000_t::epson_ap2000_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : epson_lx810l_t(mconfig, EPSON_AP2000, "Epson ActionPrinter 2000", tag, owner, clock, "ap2000", __FILE__)
+epson_ap2000_device::epson_ap2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : epson_lx810l_device(mconfig, EPSON_AP2000, tag, owner, clock)
{ }
@@ -336,7 +321,7 @@ epson_ap2000_t::epson_ap2000_t(const machine_config &mconfig, const char *tag, d
-void epson_lx810l_t::device_start()
+void epson_lx810l_device::device_start()
{
machine().first_screen()->register_screen_bitmap(m_bitmap);
m_bitmap.fill(0xffffff); /* Start with a clean white piece of paper */
@@ -347,7 +332,7 @@ void epson_lx810l_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void epson_lx810l_t::device_reset()
+void epson_lx810l_device::device_reset()
{
}
@@ -356,7 +341,7 @@ void epson_lx810l_t::device_reset()
// device_timer - device-specific timer
//-------------------------------------------------
-void epson_lx810l_t::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+void epson_lx810l_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
switch (id) {
case TIMER_CR:
@@ -379,12 +364,12 @@ void epson_lx810l_t::device_timer(emu_timer &timer, device_timer_id id, int para
FAKEMEM READ/WRITE
***************************************************************************/
-READ8_MEMBER(epson_lx810l_t::fakemem_r)
+READ8_MEMBER(epson_lx810l_device::fakemem_r)
{
return m_fakemem;
}
-WRITE8_MEMBER(epson_lx810l_t::fakemem_w)
+WRITE8_MEMBER(epson_lx810l_device::fakemem_w)
{
m_fakemem = data;
}
@@ -404,7 +389,7 @@ WRITE8_MEMBER(epson_lx810l_t::fakemem_w)
* PA6 R Line Feed SWITCH
* PA7 R Form Feed SWITCH
*/
-READ8_MEMBER( epson_lx810l_t::porta_r )
+READ8_MEMBER( epson_lx810l_device::porta_r )
{
uint8_t result = 0;
uint8_t hp_sensor = m_cr_pos_abs <= 0 ? 0 : 1;
@@ -420,7 +405,7 @@ READ8_MEMBER( epson_lx810l_t::porta_r )
return result;
}
-WRITE8_MEMBER( epson_lx810l_t::porta_w )
+WRITE8_MEMBER( epson_lx810l_device::porta_w )
{
LX810LLOG("%s: lx810l_PA_w(%02x): %02x: stepper vref %d\n", machine().describe_context(), offset, data, BIT(data, 3) | (BIT(data, 4)<<1) | (BIT(data, 5)<<2));
}
@@ -435,7 +420,7 @@ WRITE8_MEMBER( epson_lx810l_t::porta_w )
* PB6 R DIP1.6
* PB7 R DIP1.7
*/
-READ8_MEMBER( epson_lx810l_t::portb_r )
+READ8_MEMBER( epson_lx810l_device::portb_r )
{
uint8_t result = ~ioport("DIPSW1")->read();
@@ -451,7 +436,7 @@ READ8_MEMBER( epson_lx810l_t::portb_r )
return result;
}
-WRITE8_MEMBER( epson_lx810l_t::portb_w )
+WRITE8_MEMBER( epson_lx810l_device::portb_w )
{
uint8_t data_in = BIT(data, 1);
@@ -472,7 +457,7 @@ WRITE8_MEMBER( epson_lx810l_t::portb_w )
* PC6 W FIRE drive pulse width signal, also E05A30.57
* PC7 W BUZZER buzzer signal
*/
-READ8_MEMBER( epson_lx810l_t::portc_r )
+READ8_MEMBER( epson_lx810l_device::portc_r )
{
uint8_t result = 0;
@@ -486,7 +471,7 @@ READ8_MEMBER( epson_lx810l_t::portc_r )
return result;
}
-WRITE8_MEMBER( epson_lx810l_t::portc_w )
+WRITE8_MEMBER( epson_lx810l_device::portc_w )
{
/* ioport("serial")->write(BIT(data, 0)); */
@@ -506,12 +491,12 @@ WRITE8_MEMBER( epson_lx810l_t::portc_w )
GATE ARRAY
***************************************************************************/
-WRITE16_MEMBER( epson_lx810l_t::printhead )
+WRITE16_MEMBER( epson_lx810l_device::printhead )
{
m_printhead = data;
}
-WRITE8_MEMBER( epson_lx810l_t::pf_stepper )
+WRITE8_MEMBER( epson_lx810l_device::pf_stepper )
{
int changed = m_pf_stepper->update(data);
m_pf_pos_abs = -m_pf_stepper->get_absolute_position();
@@ -525,7 +510,7 @@ WRITE8_MEMBER( epson_lx810l_t::pf_stepper )
LX810LLOG("%s: %s(%02x); abs %d\n", machine().describe_context(), __func__, data, m_pf_pos_abs);
}
-WRITE8_MEMBER( epson_lx810l_t::cr_stepper )
+WRITE8_MEMBER( epson_lx810l_device::cr_stepper )
{
int m_cr_pos_abs_prev = m_cr_pos_abs;
@@ -547,7 +532,7 @@ WRITE8_MEMBER( epson_lx810l_t::cr_stepper )
LX810LLOG("%s: %s(%02x); abs %d\n", machine().describe_context(), __func__, data, m_cr_pos_abs);
}
-WRITE_LINE_MEMBER( epson_lx810l_t::e05a30_ready )
+WRITE_LINE_MEMBER( epson_lx810l_device::e05a30_ready )
{
m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
@@ -557,7 +542,7 @@ WRITE_LINE_MEMBER( epson_lx810l_t::e05a30_ready )
Video hardware (simulates paper)
***************************************************************************/
-uint32_t epson_lx810l_t::screen_update_lx810l(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+uint32_t epson_lx810l_device::screen_update_lx810l(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int scrolly = -bitmap_line(9);
copyscrollbitmap(bitmap, m_bitmap, 0, nullptr, 1, &scrolly, cliprect);
@@ -573,7 +558,7 @@ uint32_t epson_lx810l_t::screen_update_lx810l(screen_device &screen, bitmap_rgb3
Extended Timer Output
***************************************************************************/
-WRITE_LINE_MEMBER( epson_lx810l_t::co0_w )
+WRITE_LINE_MEMBER( epson_lx810l_device::co0_w )
{
/* Printhead is being fired on !state. */
if (!state) {
@@ -603,47 +588,47 @@ WRITE_LINE_MEMBER( epson_lx810l_t::co0_w )
ADC
***************************************************************************/
-READ8_MEMBER(epson_lx810l_t::an0_r)
+READ8_MEMBER(epson_lx810l_device::an0_r)
{
uint8_t res = !!(ioport("DIPSW2")->read() & 0x01);
return res - 1; /* DIPSW2.1 */
}
-READ8_MEMBER(epson_lx810l_t::an1_r)
+READ8_MEMBER(epson_lx810l_device::an1_r)
{
uint8_t res = !!(ioport("DIPSW2")->read() & 0x02);
return res - 1; /* DIPSW2.2 */
}
-READ8_MEMBER(epson_lx810l_t::an2_r)
+READ8_MEMBER(epson_lx810l_device::an2_r)
{
uint8_t res = !!(ioport("DIPSW2")->read() & 0x04);
return res - 1; /* DIPSW2.3 */
}
-READ8_MEMBER(epson_lx810l_t::an3_r)
+READ8_MEMBER(epson_lx810l_device::an3_r)
{
uint8_t res = !!(ioport("DIPSW2")->read() & 0x08);
return res - 1; /* DIPSW2.4 */
}
-READ8_MEMBER(epson_lx810l_t::an4_r)
+READ8_MEMBER(epson_lx810l_device::an4_r)
{
return 0xff;
}
-READ8_MEMBER(epson_lx810l_t::an5_r)
+READ8_MEMBER(epson_lx810l_device::an5_r)
{
return 0xCB; /* motor voltage, 0xcb = 24V */
}
-READ8_MEMBER(epson_lx810l_t::an6_r)
+READ8_MEMBER(epson_lx810l_device::an6_r)
{
uint8_t res = !ioport("LOADEJECT")->read();
return res - 1;
}
-READ8_MEMBER(epson_lx810l_t::an7_r)
+READ8_MEMBER(epson_lx810l_device::an7_r)
{
return 0xff;
}
diff --git a/src/devices/bus/centronics/epson_lx810l.h b/src/devices/bus/centronics/epson_lx810l.h
index c20041b821e..429266de8e4 100644
--- a/src/devices/bus/centronics/epson_lx810l.h
+++ b/src/devices/bus/centronics/epson_lx810l.h
@@ -5,10 +5,10 @@
*
*/
-#pragma once
+#ifndef MAME_BUS_CENTRONICS_EPSON_LX810L_H
+#define MAME_BUS_CENTRONICS_EPSON_LX810L_H
-#ifndef __EPSON_LX810L__
-#define __EPSON_LX810L__
+#pragma once
#include "ctronics.h"
#include "cpu/upd7810/upd7810.h"
@@ -33,18 +33,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> epson_lx810l_t
+// ======================> epson_lx810l_device
-class epson_lx810l_t : public device_t,
- public device_centronics_peripheral_interface
+class epson_lx810l_device : public device_t, public device_centronics_peripheral_interface
{
public:
// construction/destruction
- epson_lx810l_t(const machine_config &mconfig, const char *tag,
- device_t *owner, uint32_t clock);
- epson_lx810l_t(const machine_config &mconfig, device_type type,
- const char *name, const char *tag, device_t *owner,
- uint32_t clock, const char *shortname, const char *source);
+ epson_lx810l_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -106,6 +101,8 @@ public:
unsigned int bitmap_line(int i) { return ((uabs(m_pf_pos_abs) / 6) + i) % m_bitmap.height(); }
protected:
+ epson_lx810l_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -137,11 +134,11 @@ private:
// ======================> epson_ap2000_t
-class epson_ap2000_t : public epson_lx810l_t
+class epson_ap2000_device : public epson_lx810l_device
{
public:
// construction/destruction
- epson_ap2000_t(const machine_config &mconfig, const char *tag,
+ epson_ap2000_device(const machine_config &mconfig, const char *tag,
device_t *owner, uint32_t clock);
// optional information overrides
@@ -150,7 +147,7 @@ public:
// device type definition
-extern const device_type EPSON_LX810L;
-extern const device_type EPSON_AP2000;
+DECLARE_DEVICE_TYPE(EPSON_LX810L, epson_lx810l_device)
+DECLARE_DEVICE_TYPE(EPSON_AP2000, epson_ap2000_device)
-#endif
+#endif // MAME_BUS_CENTRONICS_EPSON_LX810L_H
diff --git a/src/devices/bus/centronics/nec_p72.cpp b/src/devices/bus/centronics/nec_p72.cpp
index 1e0cbbc985a..f9f8dc6a089 100644
--- a/src/devices/bus/centronics/nec_p72.cpp
+++ b/src/devices/bus/centronics/nec_p72.cpp
@@ -9,7 +9,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NEC_P72 = device_creator<nec_p72_t>;
+DEFINE_DEVICE_TYPE(NEC_P72, nec_p72_device, "p72", "NEC PinWriter P72")
//-------------------------------------------------
@@ -26,7 +26,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *nec_p72_t::device_rom_region() const
+const tiny_rom_entry *nec_p72_device::device_rom_region() const
{
return ROM_NAME( p72 );
}
@@ -36,7 +36,7 @@ const tiny_rom_entry *nec_p72_t::device_rom_region() const
// ADDRESS_MAP( p72_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( p72_mem, AS_PROGRAM, 16, nec_p72_t )
+static ADDRESS_MAP_START( p72_mem, AS_PROGRAM, 16, nec_p72_device )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* 1Mbyte firmware */
//AM_RANGE(0x100000, 0x1fffff) AM_RAM /* 1Mbyte external RAM */ /* TODO might be 2x1Mbit */
// [RH] 29 August 2016: Commented out because the NEC V33 only has 20 address lines, and
@@ -60,7 +60,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor nec_p72_t::device_mconfig_additions() const
+machine_config_constructor nec_p72_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( nec_p72 );
}
@@ -70,7 +70,7 @@ machine_config_constructor nec_p72_t::device_mconfig_additions() const
// device_start - device-specific startup
//-------------------------------------------------
-void nec_p72_t::device_start()
+void nec_p72_device::device_start()
{
}
@@ -79,18 +79,16 @@ void nec_p72_t::device_start()
//**************************************************************************
//-------------------------------------------------
-// nec_p72_t - constructor
+// nec_p72_device - constructor
//-------------------------------------------------
-nec_p72_t::nec_p72_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEC_P72, "NEC PinWrite P72", tag, owner, clock, "p72", __FILE__),
- device_centronics_peripheral_interface(mconfig, *this),
- m_maincpu(*this, "maincpu")
+nec_p72_device::nec_p72_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ nec_p72_device(mconfig, NEC_P72, tag, owner, clock)
{
}
-nec_p72_t::nec_p72_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
+nec_p72_device::nec_p72_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_centronics_peripheral_interface(mconfig, *this),
m_maincpu(*this, "maincpu")
{
diff --git a/src/devices/bus/centronics/nec_p72.h b/src/devices/bus/centronics/nec_p72.h
index 1957dfb40c4..c34e1886c17 100644
--- a/src/devices/bus/centronics/nec_p72.h
+++ b/src/devices/bus/centronics/nec_p72.h
@@ -1,10 +1,10 @@
// license:BSD-3-Clause
// copyright-holders:Ramiro Polla
-#pragma once
+#ifndef MAME_BUS_CENTRONICS_NEC_P72_H
+#define MAME_BUS_CENTRONICS_NEC_P72_H
-#ifndef __NEC_P72__
-#define __NEC_P72__
+#pragma once
#include "ctronics.h"
#include "cpu/nec/nec.h"
@@ -13,24 +13,22 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> nec_p72_t
+// ======================> nec_p72_device
-class nec_p72_t : public device_t,
+class nec_p72_device : public device_t,
public device_centronics_peripheral_interface
{
public:
// construction/destruction
- nec_p72_t(const machine_config &mconfig, const char *tag,
- device_t *owner, uint32_t clock);
- nec_p72_t(const machine_config &mconfig, device_type type,
- const char *name, const char *tag, device_t *owner,
- uint32_t clock, const char *shortname, const char *source);
+ nec_p72_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
+ nec_p72_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
@@ -39,6 +37,6 @@ private:
};
// device type definition
-extern const device_type NEC_P72;
+DECLARE_DEVICE_TYPE(NEC_P72, nec_p72_device)
-#endif
+#endif // MAME_BUS_CENTRONICS_NEC_P72_H
diff --git a/src/devices/bus/centronics/printer.cpp b/src/devices/bus/centronics/printer.cpp
index 318ac9bd597..cf7a7dc9e4e 100644
--- a/src/devices/bus/centronics/printer.cpp
+++ b/src/devices/bus/centronics/printer.cpp
@@ -8,7 +8,7 @@
//**************************************************************************
// device type definition
-const device_type CENTRONICS_PRINTER = device_creator<centronics_printer_device>;
+DEFINE_DEVICE_TYPE(CENTRONICS_PRINTER, centronics_printer_device, "centronics_printer", "Centronics Printer")
static MACHINE_CONFIG_FRAGMENT( centronics_printer )
@@ -25,7 +25,7 @@ MACHINE_CONFIG_END
//-------------------------------------------------
centronics_printer_device::centronics_printer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CENTRONICS_PRINTER, "Centronics Printer", tag, owner, clock, "centronics_printer", __FILE__),
+ device_t(mconfig, CENTRONICS_PRINTER, tag, owner, clock),
device_centronics_peripheral_interface( mconfig, *this ),
m_strobe(0),
m_data(0),
diff --git a/src/devices/bus/centronics/printer.h b/src/devices/bus/centronics/printer.h
index 4c3cfa30393..9e1f358c569 100644
--- a/src/devices/bus/centronics/printer.h
+++ b/src/devices/bus/centronics/printer.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:smf
-#pragma once
+#ifndef MAME_BUS_CENTRONICS_PRINTER_H
+#define MAME_BUS_CENTRONICS_PRINTER_H
-#ifndef __CENTRONICS_PRINTER_H__
-#define __CENTRONICS_PRINTER_H__
+#pragma once
#include "ctronics.h"
#include "imagedev/printer.h"
@@ -53,6 +53,6 @@ private:
};
// device type definition
-extern const device_type CENTRONICS_PRINTER;
+DECLARE_DEVICE_TYPE(CENTRONICS_PRINTER, centronics_printer_device)
-#endif
+#endif // MAME_BUS_CENTRONICS_PRINTER_H
diff --git a/src/devices/bus/cgenie/expansion/carts.cpp b/src/devices/bus/cgenie/expansion/carts.cpp
index 213d7dcdf5e..48779691821 100644
--- a/src/devices/bus/cgenie/expansion/carts.cpp
+++ b/src/devices/bus/cgenie/expansion/carts.cpp
@@ -8,7 +8,9 @@
#include "emu.h"
#include "carts.h"
+#include "floppy.h"
-SLOT_INTERFACE_START( expansion_slot_carts )
+
+SLOT_INTERFACE_START( cg_exp_slot_carts )
SLOT_INTERFACE("floppy", CGENIE_FDC)
SLOT_INTERFACE_END
diff --git a/src/devices/bus/cgenie/expansion/carts.h b/src/devices/bus/cgenie/expansion/carts.h
index 2f26f0a37b1..6f3503bdabf 100644
--- a/src/devices/bus/cgenie/expansion/carts.h
+++ b/src/devices/bus/cgenie/expansion/carts.h
@@ -6,14 +6,12 @@
***************************************************************************/
-#pragma once
-
-#ifndef __CGENIE_EXPANSION_CARTS_H__
-#define __CGENIE_EXPANSION_CARTS_H__
+#ifndef MAME_BUS_CGENIE_EXPANSION_CARTS_H
+#define MAME_BUS_CGENIE_EXPANSION_CARTS_H
+#pragma once
-#include "floppy.h"
-SLOT_INTERFACE_EXTERN( expansion_slot_carts );
+SLOT_INTERFACE_EXTERN( cg_exp_slot_carts );
-#endif // __CGENIE_EXPANSION_CARTS_H__
+#endif // MAME_BUS_CGENIE_EXPANSION_CARTS_H
diff --git a/src/devices/bus/cgenie/expansion/expansion.cpp b/src/devices/bus/cgenie/expansion/expansion.cpp
index ab7e083b84b..366b1513aca 100644
--- a/src/devices/bus/cgenie/expansion/expansion.cpp
+++ b/src/devices/bus/cgenie/expansion/expansion.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type EXPANSION_SLOT = device_creator<expansion_slot_device>;
+DEFINE_DEVICE_TYPE(CG_EXP_SLOT, cg_exp_slot_device, "cg_exp_slot", "Colour Genie Expansion Slot")
//**************************************************************************
@@ -24,11 +24,11 @@ const device_type EXPANSION_SLOT = device_creator<expansion_slot_device>;
//**************************************************************************
//-------------------------------------------------
-// expansion_slot_device - constructor
+// cg_exp - constructor
//-------------------------------------------------
-expansion_slot_device::expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, EXPANSION_SLOT, "Expansion Slot", tag, owner, clock, "expansion_slot", __FILE__),
+cg_exp_slot_device::cg_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, CG_EXP_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_program(nullptr),
m_io(nullptr),
@@ -40,10 +40,10 @@ expansion_slot_device::expansion_slot_device(const machine_config &mconfig, cons
}
//-------------------------------------------------
-// expansion_slot_device - destructor
+// cg_exp_slot_device - destructor
//-------------------------------------------------
-expansion_slot_device::~expansion_slot_device()
+cg_exp_slot_device::~cg_exp_slot_device()
{
}
@@ -51,7 +51,7 @@ expansion_slot_device::~expansion_slot_device()
// device_start - device-specific startup
//-------------------------------------------------
-void expansion_slot_device::device_start()
+void cg_exp_slot_device::device_start()
{
// resolve callbacks
m_int_handler.resolve_safe();
@@ -63,7 +63,7 @@ void expansion_slot_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void expansion_slot_device::device_reset()
+void cg_exp_slot_device::device_reset()
{
}
@@ -71,7 +71,7 @@ void expansion_slot_device::device_reset()
// set_program_space - set address space we are attached to
//-------------------------------------------------
-void expansion_slot_device::set_program_space(address_space *program)
+void cg_exp_slot_device::set_program_space(address_space *program)
{
m_program = program;
}
@@ -80,7 +80,7 @@ void expansion_slot_device::set_program_space(address_space *program)
// set_io_space - set address space we are attached to
//-------------------------------------------------
-void expansion_slot_device::set_io_space(address_space *io)
+void cg_exp_slot_device::set_io_space(address_space *io)
{
m_io = io;
}
@@ -91,19 +91,19 @@ void expansion_slot_device::set_io_space(address_space *io)
//**************************************************************************
//-------------------------------------------------
-// device_expansion_interface - constructor
+// device_cg_exp_interface - constructor
//-------------------------------------------------
-device_expansion_interface::device_expansion_interface(const machine_config &mconfig, device_t &device) :
+device_cg_exp_interface::device_cg_exp_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device)
{
- m_slot = dynamic_cast<expansion_slot_device *>(device.owner());
+ m_slot = dynamic_cast<cg_exp_slot_device *>(device.owner());
}
//-------------------------------------------------
-// ~device_expansion_interface - destructor
+// ~device_cg_exp_interface - destructor
//-------------------------------------------------
-device_expansion_interface::~device_expansion_interface()
+device_cg_exp_interface::~device_cg_exp_interface()
{
}
diff --git a/src/devices/bus/cgenie/expansion/expansion.h b/src/devices/bus/cgenie/expansion/expansion.h
index 319f7c4878f..6c752efb331 100644
--- a/src/devices/bus/cgenie/expansion/expansion.h
+++ b/src/devices/bus/cgenie/expansion/expansion.h
@@ -34,10 +34,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_CGENIE_EXPANSION_EXPANSION_H
+#define MAME_BUS_CGENIE_EXPANSION_EXPANSION_H
-#ifndef __CGENIE_EXPANSION_H__
-#define __CGENIE_EXPANSION_H__
+#pragma once
@@ -45,45 +45,45 @@
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
-#define MCFG_EXPANSION_SLOT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, EXPANSION_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(expansion_slot_carts, nullptr, false)
+#define MCFG_CG_EXP_SLOT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, CG_EXP_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(cg_exp_slot_carts, nullptr, false)
-#define MCFG_EXPANSION_SLOT_INT_HANDLER(_devcb) \
- devcb = &expansion_slot_device::set_int_handler(*device, DEVCB_##_devcb);
+#define MCFG_CG_EXP_SLOT_INT_HANDLER(_devcb) \
+ devcb = &cg_exp_slot_device::set_int_handler(*device, DEVCB_##_devcb);
-#define MCFG_EXPANSION_SLOT_NMI_HANDLER(_devcb) \
- devcb = &expansion_slot_device::set_nmi_handler(*device, DEVCB_##_devcb);
+#define MCFG_CG_EXP_SLOT_NMI_HANDLER(_devcb) \
+ devcb = &cg_exp_slot_device::set_nmi_handler(*device, DEVCB_##_devcb);
-#define MCFG_EXPANSION_SLOT_RESET_HANDLER(_devcb) \
- devcb = &expansion_slot_device::set_reset_handler(*device, DEVCB_##_devcb);
+#define MCFG_CG_EXP_SLOT_RESET_HANDLER(_devcb) \
+ devcb = &cg_exp_slot_device::set_reset_handler(*device, DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-class device_expansion_interface;
+class device_cg_exp_interface;
-class expansion_slot_device : public device_t, public device_slot_interface
+class cg_exp_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~expansion_slot_device();
+ cg_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~cg_exp_slot_device();
void set_program_space(address_space *program);
void set_io_space(address_space *io);
// callbacks
- template<class _Object> static devcb_base &set_int_handler(device_t &device, _Object object)
- { return downcast<expansion_slot_device &>(device).m_int_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_int_handler(device_t &device, Object &&cb)
+ { return downcast<cg_exp_slot_device &>(device).m_int_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_nmi_handler(device_t &device, _Object object)
- { return downcast<expansion_slot_device &>(device).m_nmi_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_nmi_handler(device_t &device, Object &&cb)
+ { return downcast<cg_exp_slot_device &>(device).m_nmi_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_reset_handler(device_t &device, _Object object)
- { return downcast<expansion_slot_device &>(device).m_reset_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_reset_handler(device_t &device, Object &&cb)
+ { return downcast<cg_exp_slot_device &>(device).m_reset_handler.set_callback(std::forward<Object>(cb)); }
// called from cart device
DECLARE_WRITE_LINE_MEMBER( int_w ) { m_int_handler(state); }
@@ -98,7 +98,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
- device_expansion_interface *m_cart;
+ device_cg_exp_interface *m_cart;
private:
devcb_write_line m_int_handler;
@@ -107,21 +107,22 @@ private:
};
// class representing interface-specific live expansion device
-class device_expansion_interface : public device_slot_card_interface
+class device_cg_exp_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_expansion_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_expansion_interface();
+ virtual ~device_cg_exp_interface();
protected:
- expansion_slot_device *m_slot;
+ device_cg_exp_interface(const machine_config &mconfig, device_t &device);
+
+ cg_exp_slot_device *m_slot;
};
// device type definition
-extern const device_type EXPANSION_SLOT;
+extern const device_type CG_EXP_SLOT;
// include here so drivers don't need to
#include "carts.h"
-#endif // __CGENIE_EXPANSION_H__
+#endif // MAME_BUS_CGENIE_EXPANSION_EXPANSION_H
diff --git a/src/devices/bus/cgenie/expansion/floppy.cpp b/src/devices/bus/cgenie/expansion/floppy.cpp
index d784f0f8dc1..9179aea9b87 100644
--- a/src/devices/bus/cgenie/expansion/floppy.cpp
+++ b/src/devices/bus/cgenie/expansion/floppy.cpp
@@ -28,14 +28,14 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CGENIE_FDC = device_creator<cgenie_fdc_device>;
+DEFINE_DEVICE_TYPE(CGENIE_FDC, cgenie_fdc_device, "cgenie_fdc", "Colour Genie FDC")
DEVICE_ADDRESS_MAP_START( mmio, 8, cgenie_fdc_device )
AM_RANGE(0xe0, 0xe3) AM_MIRROR(0x10) AM_READWRITE(irq_r, select_w)
- AM_RANGE(0xec, 0xec) AM_MIRROR(0x10) AM_DEVREAD("fd1793", fd1793_t, status_r) AM_WRITE(command_w)
- AM_RANGE(0xed, 0xed) AM_MIRROR(0x10) AM_DEVREADWRITE("fd1793", fd1793_t, track_r, track_w)
- AM_RANGE(0xee, 0xee) AM_MIRROR(0x10) AM_DEVREADWRITE("fd1793", fd1793_t, sector_r, sector_w)
- AM_RANGE(0xef, 0xef) AM_MIRROR(0x10) AM_DEVREADWRITE("fd1793", fd1793_t, data_r, data_w)
+ AM_RANGE(0xec, 0xec) AM_MIRROR(0x10) AM_DEVREAD("fd1793", fd1793_device, status_r) AM_WRITE(command_w)
+ AM_RANGE(0xed, 0xed) AM_MIRROR(0x10) AM_DEVREADWRITE("fd1793", fd1793_device, track_r, track_w)
+ AM_RANGE(0xee, 0xee) AM_MIRROR(0x10) AM_DEVREADWRITE("fd1793", fd1793_device, sector_r, sector_w)
+ AM_RANGE(0xef, 0xef) AM_MIRROR(0x10) AM_DEVREADWRITE("fd1793", fd1793_device, data_r, data_w)
ADDRESS_MAP_END
FLOPPY_FORMATS_MEMBER( cgenie_fdc_device::floppy_formats )
@@ -105,8 +105,8 @@ machine_config_constructor cgenie_fdc_device::device_mconfig_additions() const
//-------------------------------------------------
cgenie_fdc_device::cgenie_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CGENIE_FDC, "Floppy Disc Controller", tag, owner, clock, "cgenie_fdc", __FILE__),
- device_expansion_interface(mconfig, *this),
+ device_t(mconfig, CGENIE_FDC, tag, owner, clock),
+ device_cg_exp_interface(mconfig, *this),
m_fdc(*this, "fd1793"),
m_floppy0(*this, "fd1793:0"),
m_floppy1(*this, "fd1793:1"),
diff --git a/src/devices/bus/cgenie/expansion/floppy.h b/src/devices/bus/cgenie/expansion/floppy.h
index 686c1eb3871..b46f2eee796 100644
--- a/src/devices/bus/cgenie/expansion/floppy.h
+++ b/src/devices/bus/cgenie/expansion/floppy.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_CGENIE_EXPANSION_FLOPPY_H
+#define MAME_BUS_CGENIE_EXPANSION_FLOPPY_H
-#ifndef __CGENIE_EXPANSION_FLOPPY_H__
-#define __CGENIE_EXPANSION_FLOPPY_H__
+#pragma once
#include "expansion.h"
#include "machine/wd_fdc.h"
@@ -22,7 +22,7 @@
// ======================> floppy_controller_device
-class cgenie_fdc_device : public device_t, public device_expansion_interface
+class cgenie_fdc_device : public device_t, public device_cg_exp_interface
{
public:
// construction/destruction
@@ -49,7 +49,7 @@ protected:
virtual void device_reset() override;
private:
- required_device<fd1793_t> m_fdc;
+ required_device<fd1793_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_device<floppy_connector> m_floppy2;
@@ -68,6 +68,6 @@ private:
};
// device type definition
-extern const device_type CGENIE_FDC;
+DECLARE_DEVICE_TYPE(CGENIE_FDC, cgenie_fdc_device)
-#endif // __CGENIE_EXPANSION_FLOPPY_H__
+#endif // MAME_BUS_CGENIE_EXPANSION_FLOPPY_H
diff --git a/src/devices/bus/cgenie/parallel/carts.cpp b/src/devices/bus/cgenie/parallel/carts.cpp
index 1de5c319105..627d969bd2f 100644
--- a/src/devices/bus/cgenie/parallel/carts.cpp
+++ b/src/devices/bus/cgenie/parallel/carts.cpp
@@ -8,8 +8,11 @@
#include "emu.h"
#include "carts.h"
+#include "joystick.h"
+#include "printer.h"
-SLOT_INTERFACE_START( parallel_slot_carts )
+
+SLOT_INTERFACE_START( cg_parallel_slot_carts )
SLOT_INTERFACE("joystick", CGENIE_JOYSTICK)
SLOT_INTERFACE("printer", CGENIE_PRINTER)
SLOT_INTERFACE_END
diff --git a/src/devices/bus/cgenie/parallel/carts.h b/src/devices/bus/cgenie/parallel/carts.h
index e654f5bf682..0c893368899 100644
--- a/src/devices/bus/cgenie/parallel/carts.h
+++ b/src/devices/bus/cgenie/parallel/carts.h
@@ -6,15 +6,12 @@
***************************************************************************/
-#pragma once
-
-#ifndef __CGENIE_PARALLEL_CARTS_H__
-#define __CGENIE_PARALLEL_CARTS_H__
+#ifndef MAME_BUS_CGENIE_PARALLEL_CARTS_H
+#define MAME_BUS_CGENIE_PARALLEL_CARTS_H
+#pragma once
-#include "joystick.h"
-#include "printer.h"
-SLOT_INTERFACE_EXTERN( parallel_slot_carts );
+SLOT_INTERFACE_EXTERN( cg_parallel_slot_carts );
-#endif // __CGENIE_PARALLEL_CARTS_H__
+#endif // MAME_BUS_CGENIE_PARALLEL_CARTS_H
diff --git a/src/devices/bus/cgenie/parallel/joystick.cpp b/src/devices/bus/cgenie/parallel/joystick.cpp
index 2e54551959a..2be4d5280b5 100644
--- a/src/devices/bus/cgenie/parallel/joystick.cpp
+++ b/src/devices/bus/cgenie/parallel/joystick.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CGENIE_JOYSTICK = device_creator<cgenie_joystick_device>;
+DEFINE_DEVICE_TYPE(CGENIE_JOYSTICK, cgenie_joystick_device, "cgenie_joystick", "Joystick Interface EG2013")
//-------------------------------------------------
// input_ports - device-specific input ports
@@ -94,8 +94,8 @@ ioport_constructor cgenie_joystick_device::device_input_ports() const
//-------------------------------------------------
cgenie_joystick_device::cgenie_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CGENIE_JOYSTICK, "Joystick Interface EG2013", tag, owner, clock, "cgenie_joystick", __FILE__),
- device_parallel_interface(mconfig, *this),
+ device_t(mconfig, CGENIE_JOYSTICK, tag, owner, clock),
+ device_cg_parallel_interface(mconfig, *this),
m_joy(*this, "JOY.%u", 0),
m_keypad(*this, "KEYPAD.%u", 0),
m_select(0)
diff --git a/src/devices/bus/cgenie/parallel/joystick.h b/src/devices/bus/cgenie/parallel/joystick.h
index 6625af5bdff..6a4025ada9f 100644
--- a/src/devices/bus/cgenie/parallel/joystick.h
+++ b/src/devices/bus/cgenie/parallel/joystick.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_CGENIE_PARALLEL_JOYSTICK_H
+#define MAME_BUS_CGENIE_PARALLEL_JOYSTICK_H
-#ifndef __CGENIE_PARALLEL_JOYSTICK_H__
-#define __CGENIE_PARALLEL_JOYSTICK_H__
+#pragma once
#include "parallel.h"
@@ -20,7 +20,7 @@
// ======================> cgenie_joystick_device
-class cgenie_joystick_device : public device_t, public device_parallel_interface
+class cgenie_joystick_device : public device_t, public device_cg_parallel_interface
{
public:
// construction/destruction
@@ -42,6 +42,6 @@ private:
};
// device type definition
-extern const device_type CGENIE_JOYSTICK;
+DECLARE_DEVICE_TYPE(CGENIE_JOYSTICK, cgenie_joystick_device)
-#endif // __CGENIE_PARALLEL_JOYSTICK_H__
+#endif // MAME_BUS_CGENIE_PARALLEL_JOYSTICK_H
diff --git a/src/devices/bus/cgenie/parallel/parallel.cpp b/src/devices/bus/cgenie/parallel/parallel.cpp
index 2f993298755..a5072e094ee 100644
--- a/src/devices/bus/cgenie/parallel/parallel.cpp
+++ b/src/devices/bus/cgenie/parallel/parallel.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PARALLEL_SLOT = device_creator<parallel_slot_device>;
+DEFINE_DEVICE_TYPE(CG_PARALLEL_SLOT, cg_parallel_slot_device, "cg_parallel_slot", "Colour Genie Parallel Slot")
//**************************************************************************
@@ -24,21 +24,21 @@ const device_type PARALLEL_SLOT = device_creator<parallel_slot_device>;
//**************************************************************************
//-------------------------------------------------
-// parallel_slot_device - constructor
+// cg_parallel_slot_device - constructor
//-------------------------------------------------
-parallel_slot_device::parallel_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PARALLEL_SLOT, "Parallel Slot", tag, owner, clock, "parallel_slot", __FILE__),
+cg_parallel_slot_device::cg_parallel_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, CG_PARALLEL_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_cart(nullptr)
{
}
//-------------------------------------------------
-// parallel_slot_device - destructor
+// cg_parallel_slot_device - destructor
//-------------------------------------------------
-parallel_slot_device::~parallel_slot_device()
+cg_parallel_slot_device::~cg_parallel_slot_device()
{
}
@@ -46,16 +46,16 @@ parallel_slot_device::~parallel_slot_device()
// device_start - device-specific startup
//-------------------------------------------------
-void parallel_slot_device::device_start()
+void cg_parallel_slot_device::device_start()
{
- m_cart = dynamic_cast<device_parallel_interface *>(get_card_device());
+ m_cart = dynamic_cast<device_cg_parallel_interface *>(get_card_device());
}
//-------------------------------------------------
// device_reset - device-specific reset
//-------------------------------------------------
-void parallel_slot_device::device_reset()
+void cg_parallel_slot_device::device_reset()
{
}
@@ -64,7 +64,7 @@ void parallel_slot_device::device_reset()
// I/O PORTS
//**************************************************************************
-READ8_MEMBER( parallel_slot_device::pa_r )
+READ8_MEMBER( cg_parallel_slot_device::pa_r )
{
if (m_cart)
return m_cart->pa_r();
@@ -72,13 +72,13 @@ READ8_MEMBER( parallel_slot_device::pa_r )
return 0xff;
}
-WRITE8_MEMBER( parallel_slot_device::pa_w )
+WRITE8_MEMBER( cg_parallel_slot_device::pa_w )
{
if (m_cart)
m_cart->pa_w(data);
}
-READ8_MEMBER( parallel_slot_device::pb_r )
+READ8_MEMBER( cg_parallel_slot_device::pb_r )
{
if (m_cart)
return m_cart->pb_r();
@@ -86,7 +86,7 @@ READ8_MEMBER( parallel_slot_device::pb_r )
return 0xff;
}
-WRITE8_MEMBER( parallel_slot_device::pb_w )
+WRITE8_MEMBER( cg_parallel_slot_device::pb_w )
{
if (m_cart)
m_cart->pb_w(data);
@@ -98,19 +98,19 @@ WRITE8_MEMBER( parallel_slot_device::pb_w )
//**************************************************************************
//-------------------------------------------------
-// device_parallel_interface - constructor
+// device_cg_parallel_interface - constructor
//-------------------------------------------------
-device_parallel_interface::device_parallel_interface(const machine_config &mconfig, device_t &device) :
+device_cg_parallel_interface::device_cg_parallel_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device)
{
- m_slot = dynamic_cast<parallel_slot_device *>(device.owner());
+ m_slot = dynamic_cast<cg_parallel_slot_device *>(device.owner());
}
//-------------------------------------------------
-// ~device_parallel_interface - destructor
+// ~device_cg_parallel_interface - destructor
//-------------------------------------------------
-device_parallel_interface::~device_parallel_interface()
+device_cg_parallel_interface::~device_cg_parallel_interface()
{
}
diff --git a/src/devices/bus/cgenie/parallel/parallel.h b/src/devices/bus/cgenie/parallel/parallel.h
index 9f70f4b85ac..9bc8d5665c4 100644
--- a/src/devices/bus/cgenie/parallel/parallel.h
+++ b/src/devices/bus/cgenie/parallel/parallel.h
@@ -19,10 +19,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_CGENIE_PARALLEL_PARALLEL_H
+#define MAME_BUS_CGENIE_PARALLEL_PARALLEL_H
-#ifndef __CGENIE_PARALLEL_H__
-#define __CGENIE_PARALLEL_H__
+#pragma once
@@ -30,23 +30,23 @@
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
-#define MCFG_PARALLEL_SLOT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, PARALLEL_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(parallel_slot_carts, nullptr, false)
+#define MCFG_CG_PARALLEL_SLOT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, CG_PARALLEL_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(cg_parallel_slot_carts, nullptr, false)
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-class device_parallel_interface;
+class device_cg_parallel_interface;
-class parallel_slot_device : public device_t, public device_slot_interface
+class cg_parallel_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- parallel_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~parallel_slot_device();
+ cg_parallel_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~cg_parallel_slot_device();
// IOA
DECLARE_READ8_MEMBER(pa_r);
@@ -61,31 +61,32 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
- device_parallel_interface *m_cart;
+ device_cg_parallel_interface *m_cart;
};
// class representing interface-specific live parallel device
-class device_parallel_interface : public device_slot_card_interface
+class device_cg_parallel_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_parallel_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_parallel_interface();
+ virtual ~device_cg_parallel_interface();
- virtual uint8_t pa_r() { return 0xff; };
- virtual void pa_w(uint8_t data) {};
+ virtual uint8_t pa_r() { return 0xff; }
+ virtual void pa_w(uint8_t data) { }
- virtual uint8_t pb_r() { return 0xff; };
- virtual void pb_w(uint8_t data) {};
+ virtual uint8_t pb_r() { return 0xff; }
+ virtual void pb_w(uint8_t data) { }
protected:
- parallel_slot_device *m_slot;
+ device_cg_parallel_interface(const machine_config &mconfig, device_t &device);
+
+ cg_parallel_slot_device *m_slot;
};
// device type definition
-extern const device_type PARALLEL_SLOT;
+DECLARE_DEVICE_TYPE(CG_PARALLEL_SLOT, cg_parallel_slot_device)
// include here so drivers don't need to
#include "carts.h"
-#endif // __CGENIE_PARALLEL_H__
+#endif // MAME_BUS_CGENIE_PARALLEL_PARALLEL_H
diff --git a/src/devices/bus/cgenie/parallel/printer.cpp b/src/devices/bus/cgenie/parallel/printer.cpp
index cd798e978d9..f23c2e6de86 100644
--- a/src/devices/bus/cgenie/parallel/printer.cpp
+++ b/src/devices/bus/cgenie/parallel/printer.cpp
@@ -21,7 +21,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CGENIE_PRINTER = device_creator<cgenie_printer_device>;
+DEFINE_DEVICE_TYPE(CGENIE_PRINTER, cgenie_printer_device, "cgenie_printer", "Printer Interface EG2012")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -52,8 +52,8 @@ machine_config_constructor cgenie_printer_device::device_mconfig_additions() con
//-------------------------------------------------
cgenie_printer_device::cgenie_printer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CGENIE_PRINTER, "Printer Interface EG2012", tag, owner, clock, "cgenie_printer", __FILE__),
- device_parallel_interface(mconfig, *this),
+ device_t(mconfig, CGENIE_PRINTER, tag, owner, clock),
+ device_cg_parallel_interface(mconfig, *this),
m_centronics(*this, "centronics"),
m_latch(*this, "latch"),
m_centronics_busy(0),
diff --git a/src/devices/bus/cgenie/parallel/printer.h b/src/devices/bus/cgenie/parallel/printer.h
index 313e61d9542..f2a5338be27 100644
--- a/src/devices/bus/cgenie/parallel/printer.h
+++ b/src/devices/bus/cgenie/parallel/printer.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_CGENIE_PARALLEL_PRINTER_H
+#define MAME_BUS_CGENIE_PARALLEL_PRINTER_H
-#ifndef __CGENIE_PARALLEL_PRINTER_H__
-#define __CGENIE_PARALLEL_PRINTER_H__
+#pragma once
#include "parallel.h"
#include "bus/centronics/ctronics.h"
@@ -21,7 +21,7 @@
// ======================> cgenie_printer_device
-class cgenie_printer_device : public device_t, public device_parallel_interface
+class cgenie_printer_device : public device_t, public device_cg_parallel_interface
{
public:
// construction/destruction
@@ -52,6 +52,6 @@ private:
};
// device type definition
-extern const device_type CGENIE_PRINTER;
+DECLARE_DEVICE_TYPE(CGENIE_PRINTER, cgenie_printer_device)
-#endif // __CGENIE_PARALLEL_PRINTER_H__
+#endif // MAME_BUS_CGENIE_PARALLEL_PRINTER_H
diff --git a/src/devices/bus/chanf/rom.cpp b/src/devices/bus/chanf/rom.cpp
index 35e886aeb0d..3dc509a29d9 100644
--- a/src/devices/bus/chanf/rom.cpp
+++ b/src/devices/bus/chanf/rom.cpp
@@ -23,49 +23,49 @@
// chanf_rom_device - constructor
//-------------------------------------------------
-const device_type CHANF_ROM_STD = device_creator<chanf_rom_device>;
-const device_type CHANF_ROM_MAZE = device_creator<chanf_maze_device>;
-const device_type CHANF_ROM_HANGMAN = device_creator<chanf_hangman_device>;
-const device_type CHANF_ROM_CHESS = device_creator<chanf_chess_device>;
-const device_type CHANF_ROM_MULTI_OLD = device_creator<chanf_multi_old_device>;
-const device_type CHANF_ROM_MULTI_FINAL = device_creator<chanf_multi_final_device>;
+DEFINE_DEVICE_TYPE(CHANF_ROM_STD, chanf_rom_device, "chanf_rom", "Channel F Standard Carts")
+DEFINE_DEVICE_TYPE(CHANF_ROM_MAZE, chanf_maze_device, "chanf_maze", "Channel F Maze Cart")
+DEFINE_DEVICE_TYPE(CHANF_ROM_HANGMAN, chanf_hangman_device, "chanf_hang", "Channel F Hangman Cart")
+DEFINE_DEVICE_TYPE(CHANF_ROM_CHESS, chanf_chess_device, "chanf_chess", "Channel F Chess Cart")
+DEFINE_DEVICE_TYPE(CHANF_ROM_MULTI_OLD, chanf_multi_old_device, "chanf_multi_old", "Channel F Multigame (Earlier Version) Cart")
+DEFINE_DEVICE_TYPE(CHANF_ROM_MULTI_FINAL, chanf_multi_final_device, "chanf_multi_fin", "Channel F Multigame (Final Version) Cart")
-chanf_rom_device::chanf_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_channelf_cart_interface( mconfig, *this ), m_addr_latch(0), m_addr(0), m_read_write(0), m_data0(0)
- {
+chanf_rom_device::chanf_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_channelf_cart_interface(mconfig, *this)
+ , m_addr_latch(0), m_addr(0), m_read_write(0), m_data0(0)
+{
}
chanf_rom_device::chanf_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CHANF_ROM_STD, "Channel F Standard Carts", tag, owner, clock, "chanf_rom", __FILE__),
- device_channelf_cart_interface( mconfig, *this ), m_addr_latch(0), m_addr(0), m_read_write(0), m_data0(0)
- {
+ : chanf_rom_device(mconfig, CHANF_ROM_STD, tag, owner, clock)
+{
}
chanf_maze_device::chanf_maze_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : chanf_rom_device(mconfig, CHANF_ROM_MAZE, "Channel F Maze Cart", tag, owner, clock, "chanf_maze", __FILE__)
+ : chanf_rom_device(mconfig, CHANF_ROM_MAZE, tag, owner, clock)
{
}
chanf_hangman_device::chanf_hangman_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : chanf_rom_device(mconfig, CHANF_ROM_HANGMAN, "Channel F Hangman Cart", tag, owner, clock, "chanf_hang", __FILE__)
+ : chanf_rom_device(mconfig, CHANF_ROM_HANGMAN, tag, owner, clock)
{
}
chanf_chess_device::chanf_chess_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : chanf_rom_device(mconfig, CHANF_ROM_CHESS, "Channel F Chess Cart", tag, owner, clock, "chanf_chess", __FILE__)
+ : chanf_rom_device(mconfig, CHANF_ROM_CHESS, tag, owner, clock)
{
}
chanf_multi_old_device::chanf_multi_old_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : chanf_rom_device(mconfig, CHANF_ROM_MULTI_OLD, "Channel F Multigame (Earlier Version) Cart", tag, owner, clock, "chanf_multi_old", __FILE__), m_base_bank(0)
- {
+ : chanf_rom_device(mconfig, CHANF_ROM_MULTI_OLD, tag, owner, clock), m_base_bank(0)
+{
}
chanf_multi_final_device::chanf_multi_final_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : chanf_rom_device(mconfig, CHANF_ROM_MULTI_FINAL, "Channel F Multigame (Final Version) Cart", tag, owner, clock, "chanf_multi_fin", __FILE__), m_base_bank(0), m_half_bank(0)
- {
+ : chanf_rom_device(mconfig, CHANF_ROM_MULTI_FINAL, tag, owner, clock), m_base_bank(0), m_half_bank(0)
+{
}
diff --git a/src/devices/bus/chanf/rom.h b/src/devices/bus/chanf/rom.h
index 7fd8944ba99..bd32f177ff8 100644
--- a/src/devices/bus/chanf/rom.h
+++ b/src/devices/bus/chanf/rom.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __CHANF_ROM_H
-#define __CHANF_ROM_H
+#ifndef MAME_BUS_CHANF_ROM_H
+#define MAME_BUS_CHANF_ROM_H
#include "slot.h"
@@ -13,7 +13,6 @@ class chanf_rom_device : public device_t,
{
public:
// construction/destruction
- chanf_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
chanf_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
@@ -28,8 +27,9 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
-
protected:
+ chanf_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// used for RAM chip in Hangman & Maze
uint8_t m_latch[2]; // PORT A & PORT B
uint16_t m_addr_latch, m_addr;
@@ -133,12 +133,12 @@ private:
// device type definition
-extern const device_type CHANF_ROM_STD;
-extern const device_type CHANF_ROM_MAZE;
-extern const device_type CHANF_ROM_HANGMAN;
-extern const device_type CHANF_ROM_CHESS;
-extern const device_type CHANF_ROM_MULTI_OLD;
-extern const device_type CHANF_ROM_MULTI_FINAL;
+DECLARE_DEVICE_TYPE(CHANF_ROM_STD, chanf_rom_device)
+DECLARE_DEVICE_TYPE(CHANF_ROM_MAZE, chanf_maze_device)
+DECLARE_DEVICE_TYPE(CHANF_ROM_HANGMAN, chanf_hangman_device)
+DECLARE_DEVICE_TYPE(CHANF_ROM_CHESS, chanf_chess_device)
+DECLARE_DEVICE_TYPE(CHANF_ROM_MULTI_OLD, chanf_multi_old_device)
+DECLARE_DEVICE_TYPE(CHANF_ROM_MULTI_FINAL, chanf_multi_final_device)
-#endif
+#endif // MAME_BUS_CHANF_ROM_H
diff --git a/src/devices/bus/chanf/slot.cpp b/src/devices/bus/chanf/slot.cpp
index 1b982151059..d9e1a27d399 100644
--- a/src/devices/bus/chanf/slot.cpp
+++ b/src/devices/bus/chanf/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type CHANF_CART_SLOT = device_creator<channelf_cart_slot_device>;
+DEFINE_DEVICE_TYPE(CHANF_CART_SLOT, channelf_cart_slot_device, "chanf_cart_slot", "Fairchild Channel F Cartridge Slot")
//**************************************************************************
// Channel F cartridges Interface
@@ -73,10 +73,10 @@ void device_channelf_cart_interface::ram_alloc(uint32_t size)
// channelf_cart_slot_device - constructor
//-------------------------------------------------
channelf_cart_slot_device::channelf_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CHANF_CART_SLOT, "Fairchild Channel F Cartridge Slot", tag, owner, clock, "cf_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(CF_CHESS), m_cart(nullptr)
+ device_t(mconfig, CHANF_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(CF_CHESS), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/chanf/slot.h b/src/devices/bus/chanf/slot.h
index 798d7c5dc65..289c1b3e600 100644
--- a/src/devices/bus/chanf/slot.h
+++ b/src/devices/bus/chanf/slot.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __CHANF_SLOT_H
-#define __CHANF_SLOT_H
+#ifndef MAME_BUS_CHANF_SLOT_H
+#define MAME_BUS_CHANF_SLOT_H
#include "softlist_dev.h"
@@ -29,14 +29,13 @@ class device_channelf_cart_interface : public device_slot_card_interface
{
public:
// device_channelf_cart_interface/destruction
- device_channelf_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_channelf_cart_interface();
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) { return 0xff; }
virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_ram) {}
- virtual DECLARE_WRITE8_MEMBER(write_bank) {}
+ virtual DECLARE_WRITE8_MEMBER(write_ram) { }
+ virtual DECLARE_WRITE8_MEMBER(write_bank) {}
void rom_alloc(uint32_t size, const char *tag);
void ram_alloc(uint32_t size);
@@ -48,6 +47,8 @@ public:
void save_ram() { device().save_item(NAME(m_ram)); }
protected:
+ device_channelf_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -105,7 +106,7 @@ protected:
// device type definition
-extern const device_type CHANF_CART_SLOT;
+DECLARE_DEVICE_TYPE(CHANF_CART_SLOT, channelf_cart_slot_device)
/***************************************************************************
@@ -117,4 +118,5 @@ extern const device_type CHANF_CART_SLOT;
#define MCFG_CHANNELF_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, CHANF_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+#endif // MAME_BUS_CHANF_SLOT_H
diff --git a/src/devices/bus/coco/coco_232.cpp b/src/devices/bus/coco/coco_232.cpp
index 8973a36ccf6..431abfa958d 100644
--- a/src/devices/bus/coco/coco_232.cpp
+++ b/src/devices/bus/coco/coco_232.cpp
@@ -31,7 +31,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type COCO_232 = device_creator<coco_232_device>;
+DEFINE_DEVICE_TYPE(COCO_232, coco_232_device, "coco_232", "CoCo RS-232 PAK")
//**************************************************************************
// LIVE DEVICE
@@ -42,9 +42,9 @@ const device_type COCO_232 = device_creator<coco_232_device>;
//-------------------------------------------------
coco_232_device::coco_232_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, COCO_232, "CoCo RS-232 PAK", tag, owner, clock, "coco_232", __FILE__),
- device_cococart_interface( mconfig, *this ),
- m_uart(*this, UART_TAG)
+ : device_t(mconfig, COCO_232, tag, owner, clock)
+ , device_cococart_interface(mconfig, *this)
+ , m_uart(*this, UART_TAG)
{
}
diff --git a/src/devices/bus/coco/coco_232.h b/src/devices/bus/coco/coco_232.h
index 3ff2107985f..6b2a2d9de1e 100644
--- a/src/devices/bus/coco/coco_232.h
+++ b/src/devices/bus/coco/coco_232.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Nathan Woods
-#pragma once
+#ifndef MAME_BUS_COCO_COCO_232_H
+#define MAME_BUS_COCO_COCO_232_H
-#ifndef __COCO_232_H__
-#define __COCO_232_H__
+#pragma once
#include "cococart.h"
#include "machine/mos6551.h"
@@ -19,23 +19,23 @@ class coco_232_device :
public device_cococart_interface
{
public:
- // construction/destruction
- coco_232_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ coco_232_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual DECLARE_READ8_MEMBER(read) override;
- virtual DECLARE_WRITE8_MEMBER(write) override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
// internal state
- required_device<mos6551_device> m_uart;
+ required_device<mos6551_device> m_uart;
};
// device type definition
-extern const device_type COCO_232;
+DECLARE_DEVICE_TYPE(COCO_232, coco_232_device)
-#endif /* __COCO_232_H__ */
+#endif // MAME_BUS_COCO_COCO_232_H
diff --git a/src/devices/bus/coco/coco_dwsock.cpp b/src/devices/bus/coco/coco_dwsock.cpp
index 91fa892e950..28914abb994 100644
--- a/src/devices/bus/coco/coco_dwsock.cpp
+++ b/src/devices/bus/coco/coco_dwsock.cpp
@@ -1,5 +1,8 @@
// license:BSD-3-Clause
// copyright-holders:Nathan Woods
+#include "emu.h"
+#include "coco_dwsock.h"
+
#include <stdio.h>
#include <stdlib.h>
#ifdef __GNUC__
@@ -8,16 +11,12 @@
#include <fcntl.h>
#include <sys/types.h>
-#include "emu.h"
-#include "osdcore.h"
-
-#include "coco_dwsock.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COCO_DWSOCK = device_creator<beckerport_device>;
+DEFINE_DEVICE_TYPE(COCO_DWSOCK, beckerport_device, "coco_dwsock", "Virtual Becker Port")
//-------------------------------------------------
// INPUT_PORTS( coco_drivewire )
@@ -64,8 +63,8 @@ INPUT_CHANGED_MEMBER(beckerport_device::drivewire_port_changed)
//-------------------------------------------------
beckerport_device::beckerport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, COCO_DWSOCK, "Virtual Becker Port", tag, owner, clock, "coco_dwsock", __FILE__), m_hostname(nullptr),
- m_dwconfigport(*this, DRIVEWIRE_PORT_TAG), m_dwtcpport(0)
+ : device_t(mconfig, COCO_DWSOCK, tag, owner, clock)
+ , m_hostname(nullptr), m_dwconfigport(*this, DRIVEWIRE_PORT_TAG), m_dwtcpport(0)
{
m_head = 0;
m_rx_pending = 0;
@@ -163,7 +162,7 @@ READ8_MEMBER(beckerport_device::read)
fprintf(stderr, "%s: read from bad offset %d\n", __FILE__, offset);
}
- return (int)data;
+ return data;
}
/*-------------------------------------------------
diff --git a/src/devices/bus/coco/coco_dwsock.h b/src/devices/bus/coco/coco_dwsock.h
index deba649f761..a9ac21a18e4 100644
--- a/src/devices/bus/coco/coco_dwsock.h
+++ b/src/devices/bus/coco/coco_dwsock.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Nathan Woods
-#ifndef MAME_DEVICES_BUS_COCO_DWSOCKH_H
-#define MAME_DEVICES_BUS_COCO_DWSOCKH_H
+#ifndef MAME_BUS_COCO_COCO_DWSOCKH_H
+#define MAME_BUS_COCO_COCO_DWSOCKH_H
#include "osdcore.h"
@@ -64,9 +64,9 @@ private:
};
// device type definition
-extern const device_type COCO_DWSOCK;
+DECLARE_DEVICE_TYPE(COCO_DWSOCK, beckerport_device)
// device iterator
typedef device_type_iterator<beckerport_device> beckerport_device_iterator;
-#endif // MAME_DEVICES_BUS_COCO_DWSOCKH_H
+#endif // MAME_BUS_COCO_COCO_DWSOCKH_H
diff --git a/src/devices/bus/coco/coco_fdc.cpp b/src/devices/bus/coco/coco_fdc.cpp
index 6cb6d6df646..29fdaef874f 100644
--- a/src/devices/bus/coco/coco_fdc.cpp
+++ b/src/devices/bus/coco/coco_fdc.cpp
@@ -71,11 +71,10 @@
class coco_fdc_device_base : public coco_family_fdc_device_base
{
-public:
+protected:
// construction/destruction
- coco_fdc_device_base(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ coco_fdc_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-protected:
enum class rtc_type
{
DISTO = 0x00,
@@ -94,7 +93,7 @@ protected:
rtc_type real_time_clock();
// devices
- required_device<wd1773_t> m_wd17xx;
+ required_device<wd1773_device> m_wd17xx;
required_device<ds1315_device> m_ds1315;
required_device_array<floppy_connector, 4> m_floppies;
@@ -185,8 +184,8 @@ uint8_t* coco_family_fdc_device_base::get_cart_base()
// coco_fdc_device_base - constructor
//-------------------------------------------------
-coco_fdc_device_base::coco_fdc_device_base(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : coco_family_fdc_device_base(mconfig, type, name, tag, owner, clock, shortname, source)
+coco_fdc_device_base::coco_fdc_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : coco_family_fdc_device_base(mconfig, type, tag, owner, clock)
, m_wd17xx(*this, WD_TAG)
, m_ds1315(*this, CLOUD9_TAG)
, m_floppies(*this, WD_TAG ":%u", 0)
@@ -418,7 +417,7 @@ namespace
public:
// construction/destruction
coco_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : coco_fdc_device_base(mconfig, COCO_FDC, "CoCo FDC", tag, owner, clock, "coco_fdc", __FILE__)
+ : coco_fdc_device_base(mconfig, COCO_FDC, tag, owner, clock)
{
}
@@ -432,7 +431,8 @@ namespace
};
}
-const device_type COCO_FDC = device_creator<coco_fdc_device>;
+
+DEFINE_DEVICE_TYPE(COCO_FDC, coco_fdc_device, "coco_fdc", "CoCo FDC")
//**************************************************************************
@@ -454,7 +454,7 @@ namespace
public:
// construction/destruction
coco_fdc_v11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : coco_fdc_device_base(mconfig, COCO_FDC_V11, "CoCo FDC v1.1", tag, owner, clock, "coco_fdc_v11", __FILE__)
+ : coco_fdc_device_base(mconfig, COCO_FDC_V11, tag, owner, clock)
{
}
@@ -465,9 +465,9 @@ namespace
return ROM_NAME(coco_fdc_v11);
}
};
-};
+}
-const device_type COCO_FDC_V11 = device_creator<coco_fdc_v11_device>;
+DEFINE_DEVICE_TYPE(COCO_FDC_V11, coco_fdc_v11_device, "coco_fdc_v11", "CoCo FDC v1.1")
//**************************************************************************
@@ -489,7 +489,7 @@ namespace
public:
// construction/destruction
coco3_hdb1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : coco_fdc_device_base(mconfig, COCO3_HDB1, "CoCo3 HDB-DOS", tag, owner, clock, "coco3_hdb1", __FILE__)
+ : coco_fdc_device_base(mconfig, COCO3_HDB1, tag, owner, clock)
{
}
@@ -500,9 +500,9 @@ namespace
return ROM_NAME(coco3_hdb1);
}
};
-};
+}
-const device_type COCO3_HDB1 = device_creator<coco3_hdb1_device>;
+DEFINE_DEVICE_TYPE(COCO3_HDB1, coco3_hdb1_device, "coco3_hdb1", "CoCo3 HDB-DOS")
//**************************************************************************
// CP400 FDC
@@ -520,7 +520,7 @@ namespace
public:
// construction/destruction
cp400_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : coco_fdc_device_base(mconfig, CP400_FDC, "CP400 FDC", tag, owner, clock, "cp400_fdc", __FILE__)
+ : coco_fdc_device_base(mconfig, CP400_FDC, tag, owner, clock)
{
}
@@ -531,6 +531,6 @@ namespace
return ROM_NAME(cp400_fdc);
}
};
-};
+}
-const device_type CP400_FDC = device_creator<cp400_fdc_device>;
+DEFINE_DEVICE_TYPE(CP400_FDC, cp400_fdc_device, "cp400_fdc", "CP400 FDC")
diff --git a/src/devices/bus/coco/coco_fdc.h b/src/devices/bus/coco/coco_fdc.h
index 4dcd4b7b694..c596dfeef33 100644
--- a/src/devices/bus/coco/coco_fdc.h
+++ b/src/devices/bus/coco/coco_fdc.h
@@ -8,8 +8,8 @@
*********************************************************************/
-#ifndef MAME_DEVICES_BUS_COCO_FDC_H
-#define MAME_DEVICES_BUS_COCO_FDC_H
+#ifndef MAME_BUS_COCO_COCO_FDC_H
+#define MAME_BUS_COCO_COCO_FDC_H
#include "cococart.h"
#include "imagedev/floppy.h"
@@ -26,20 +26,20 @@ class coco_family_fdc_device_base :
public device_cococart_interface
{
public:
- // construction/destruction
- coco_family_fdc_device_base(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
- , device_cococart_interface(mconfig, *this)
- {
- m_owner = dynamic_cast<cococart_slot_device *>(owner);
- };
-
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w) { m_intrq = state; update_lines(); }
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w) { m_drq = state; update_lines(); }
DECLARE_FLOPPY_FORMATS(floppy_formats);
protected:
+ // construction/destruction
+ coco_family_fdc_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_cococart_interface(mconfig, *this)
+ {
+ m_owner = dynamic_cast<cococart_slot_device *>(owner);
+ };
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -84,4 +84,4 @@ extern const device_type CP400_FDC;
extern const device_type DRAGON_FDC;
extern const device_type SDTANDY_FDC;
-#endif // MAME_DEVICES_BUS_COCO_FDC_H
+#endif // MAME_BUS_COCO_COCO_FDC_H
diff --git a/src/devices/bus/coco/coco_multi.cpp b/src/devices/bus/coco/coco_multi.cpp
index 5e1737d7347..32813925984 100644
--- a/src/devices/bus/coco/coco_multi.cpp
+++ b/src/devices/bus/coco/coco_multi.cpp
@@ -111,7 +111,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type COCO_MULTIPAK = device_creator<coco_multipak_device>;
+DEFINE_DEVICE_TYPE(COCO_MULTIPAK, coco_multipak_device, "coco_multipack", "CoCo Multi-Pak Interface")
@@ -124,8 +124,9 @@ const device_type COCO_MULTIPAK = device_creator<coco_multipak_device>;
//-------------------------------------------------
coco_multipak_device::coco_multipak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, COCO_MULTIPAK, "CoCo Multi-Pak Interface", tag, owner, clock, "coco_multipak", __FILE__),
- device_cococart_interface( mconfig, *this ), m_select(0)
+ : device_t(mconfig, COCO_MULTIPAK, tag, owner, clock)
+ , device_cococart_interface(mconfig, *this)
+ , m_slots(*this, "slot%u", 1), m_select(0)
{
}
@@ -136,12 +137,6 @@ coco_multipak_device::coco_multipak_device(const machine_config &mconfig, const
void coco_multipak_device::device_start()
{
- // identify slots
- m_slots[0] = dynamic_cast<cococart_slot_device *>(subdevice(SLOT1_TAG));
- m_slots[1] = dynamic_cast<cococart_slot_device *>(subdevice(SLOT2_TAG));
- m_slots[2] = dynamic_cast<cococart_slot_device *>(subdevice(SLOT3_TAG));
- m_slots[3] = dynamic_cast<cococart_slot_device *>(subdevice(SLOT4_TAG));
-
// install $FF7F handler
write8_delegate wh = write8_delegate(FUNC(coco_multipak_device::ff7f_write), this);
machine().device(":maincpu")->memory().space(AS_PROGRAM).install_write_handler(0xFF7F, 0xFF7F, wh);
diff --git a/src/devices/bus/coco/coco_multi.h b/src/devices/bus/coco/coco_multi.h
index 92f029a5703..e3e9ce850ab 100644
--- a/src/devices/bus/coco/coco_multi.h
+++ b/src/devices/bus/coco/coco_multi.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_COCO_COCO_MULTI_H
+#define MAME_BUS_COCO_COCO_MULTI_H
-#ifndef __COCO_MULTI_H__
-#define __COCO_MULTI_H__
+#pragma once
#include "cococart.h"
@@ -61,7 +61,7 @@ protected:
private:
// device references
- std::array<cococart_slot_device *, 4> m_slots;
+ required_device_array<cococart_slot_device, 4> m_slots;
// internal state
uint8_t m_select;
@@ -82,6 +82,6 @@ private:
// device type definition
-extern const device_type COCO_MULTIPAK;
+DECLARE_DEVICE_TYPE(COCO_MULTIPAK, coco_multipak_device)
-#endif /* __COCO_MULTI_H__ */
+#endif // MAME_BUS_COCO_COCO_MULTI_H
diff --git a/src/devices/bus/coco/coco_orch90.cpp b/src/devices/bus/coco/coco_orch90.cpp
index 1d3ee1c5a94..f1f66367ed6 100644
--- a/src/devices/bus/coco/coco_orch90.cpp
+++ b/src/devices/bus/coco/coco_orch90.cpp
@@ -32,7 +32,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type COCO_ORCH90 = device_creator<coco_orch90_device>;
+DEFINE_DEVICE_TYPE(COCO_ORCH90, coco_orch90_device, "coco_orch90", "CoCo Orch-90 PAK")
//**************************************************************************
// LIVE DEVICE
@@ -43,10 +43,10 @@ const device_type COCO_ORCH90 = device_creator<coco_orch90_device>;
//-------------------------------------------------
coco_orch90_device::coco_orch90_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, COCO_ORCH90, "CoCo Orch-90 PAK", tag, owner, clock, "coco_orch90", __FILE__),
- device_cococart_interface(mconfig, *this ),
- m_ldac(*this, "ldac"),
- m_rdac(*this, "rdac")
+ : device_t(mconfig, COCO_ORCH90, tag, owner, clock)
+ , device_cococart_interface(mconfig, *this )
+ , m_ldac(*this, "ldac")
+ , m_rdac(*this, "rdac")
{
}
diff --git a/src/devices/bus/coco/coco_orch90.h b/src/devices/bus/coco/coco_orch90.h
index 8ef59729ceb..ceed461ba36 100644
--- a/src/devices/bus/coco/coco_orch90.h
+++ b/src/devices/bus/coco/coco_orch90.h
@@ -1,12 +1,12 @@
// license:BSD-3-Clause
// copyright-holders:Nathan Woods
-#pragma once
+#ifndef MAME_BUS_COCO_COCO_ORCH90_H
+#define MAME_BUS_COCO_COCO_ORCH90_H
-#ifndef __COCO_ORCH90_H__
-#define __COCO_ORCH90_H__
+#pragma once
-#include "sound/dac.h"
#include "cococart.h"
+#include "sound/dac.h"
//**************************************************************************
// TYPE DEFINITIONS
@@ -36,6 +36,6 @@ private:
// device type definition
-extern const device_type COCO_ORCH90;
+DECLARE_DEVICE_TYPE(COCO_ORCH90, coco_orch90_device)
-#endif /* __COCO_ORCH90_H__ */
+#endif // MAME_BUS_COCO_COCO_ORCH90_H
diff --git a/src/devices/bus/coco/coco_pak.cpp b/src/devices/bus/coco/coco_pak.cpp
index f4efb829c70..97bcaddc6fa 100644
--- a/src/devices/bus/coco/coco_pak.cpp
+++ b/src/devices/bus/coco/coco_pak.cpp
@@ -43,7 +43,7 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type COCO_PAK = device_creator<coco_pak_device>;
+DEFINE_DEVICE_TYPE(COCO_PAK, coco_pak_device, "cocopak", "CoCo Program PAK")
//**************************************************************************
// LIVE DEVICE
@@ -52,18 +52,16 @@ const device_type COCO_PAK = device_creator<coco_pak_device>;
//-------------------------------------------------
// coco_pak_device - constructor
//-------------------------------------------------
-coco_pak_device::coco_pak_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_cococart_interface( mconfig, *this ), m_cart(nullptr), m_owner(nullptr),
- m_autostart(*this, CART_AUTOSTART_TAG)
+coco_pak_device::coco_pak_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_cococart_interface(mconfig, *this)
+ , m_cart(nullptr), m_owner(nullptr), m_autostart(*this, CART_AUTOSTART_TAG)
{
}
coco_pak_device::coco_pak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, COCO_PAK, "CoCo Program PAK", tag, owner, clock, "cocopak", __FILE__),
- device_cococart_interface( mconfig, *this ), m_cart(nullptr), m_owner(nullptr),
- m_autostart(*this, CART_AUTOSTART_TAG)
- {
+ : coco_pak_device(mconfig, COCO_PAK, tag, owner, clock)
+{
}
//-------------------------------------------------
@@ -138,7 +136,7 @@ uint8_t* coco_pak_device::get_cart_base()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type COCO_PAK_BANKED = device_creator<coco_pak_banked_device>;
+DEFINE_DEVICE_TYPE(COCO_PAK_BANKED, coco_pak_banked_device, "cocopak_banked", "CoCo Program PAK (Banked)")
//**************************************************************************
// LIVE DEVICE
@@ -149,7 +147,7 @@ const device_type COCO_PAK_BANKED = device_creator<coco_pak_banked_device>;
//-------------------------------------------------
coco_pak_banked_device::coco_pak_banked_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : coco_pak_device(mconfig, COCO_PAK_BANKED, "CoCo Program PAK (Banked)", tag, owner, clock, "cocopak_banked", __FILE__)
+ : coco_pak_device(mconfig, COCO_PAK_BANKED, tag, owner, clock)
{
}
diff --git a/src/devices/bus/coco/coco_pak.h b/src/devices/bus/coco/coco_pak.h
index f4fd2894681..6c7862da2ac 100644
--- a/src/devices/bus/coco/coco_pak.h
+++ b/src/devices/bus/coco/coco_pak.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Nathan Woods
-#pragma once
+#ifndef MAME_BUS_COCO_COCO_PAK_H
+#define MAME_BUS_COCO_COCO_PAK_H
-#ifndef __COCO_PAK_H__
-#define __COCO_PAK_H__
+#pragma once
#include "cococart.h"
@@ -18,50 +18,52 @@ class coco_pak_device :
public device_cococart_interface
{
public:
- // construction/destruction
- coco_pak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- coco_pak_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ // construction/destruction
+ coco_pak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
+ virtual uint8_t* get_cart_base() override;
- virtual uint8_t* get_cart_base() override;
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ coco_pak_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- // internal state
- device_image_interface *m_cart;
- cococart_slot_device *m_owner;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
- optional_ioport m_autostart;
+ // internal state
+ device_image_interface *m_cart;
+ cococart_slot_device *m_owner;
+
+ optional_ioport m_autostart;
};
// device type definition
-extern const device_type COCO_PAK;
+DECLARE_DEVICE_TYPE(COCO_PAK, coco_pak_device)
// ======================> coco_pak_banked_device
-class coco_pak_banked_device :
- public coco_pak_device
+class coco_pak_banked_device : public coco_pak_device
{
public:
- // construction/destruction
- coco_pak_banked_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ coco_pak_banked_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
- // device-level overrides
- virtual void device_reset() override;
- virtual DECLARE_WRITE8_MEMBER(write) override;
+ // device-level overrides
+ virtual void device_reset() override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
- void banked_pak_set_bank(uint32_t bank);
+ void banked_pak_set_bank(uint32_t bank);
};
// device type definition
-extern const device_type COCO_PAK_BANKED;
-#endif /* __COCO_PAK_H__ */
+DECLARE_DEVICE_TYPE(COCO_PAK_BANKED, coco_pak_banked_device)
+
+#endif // MAME_BUS_COCO_COCO_PAK_H
diff --git a/src/devices/bus/coco/coco_t4426.cpp b/src/devices/bus/coco/coco_t4426.cpp
index f76094695bf..aea2403f076 100644
--- a/src/devices/bus/coco/coco_t4426.cpp
+++ b/src/devices/bus/coco/coco_t4426.cpp
@@ -124,7 +124,7 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type COCO_T4426 = device_creator<coco_t4426_device>;
+DEFINE_DEVICE_TYPE(COCO_T4426, coco_t4426_device, "coco_t4426", "Terco CNC Programming Station 4426 multi cart")
//**************************************************************************
// LIVE DEVICE
@@ -134,27 +134,20 @@ const device_type COCO_T4426 = device_creator<coco_t4426_device>;
// coco_t4426_device - constructor
//-------------------------------------------------
-coco_t4426_device::coco_t4426_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
- ,device_cococart_interface( mconfig, *this )
- ,m_cart(nullptr)
- ,m_owner(nullptr)
- ,m_select(0)
- ,m_autostart(*this, CART_AUTOSTART_TAG)
- ,m_uart(*this, UART_TAG)
- ,m_pia(*this, PIA_TAG)
+coco_t4426_device::coco_t4426_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_cococart_interface(mconfig, *this)
+ , m_cart(nullptr)
+ , m_owner(nullptr)
+ , m_select(0)
+ , m_autostart(*this, CART_AUTOSTART_TAG)
+ , m_uart(*this, UART_TAG)
+ , m_pia(*this, PIA_TAG)
{
}
coco_t4426_device::coco_t4426_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, COCO_T4426, "Terco CNC Programming Station 4426 multi cart", tag, owner, clock, "coco_t4426", __FILE__)
- ,device_cococart_interface( mconfig, *this )
- ,m_cart(nullptr)
- ,m_owner(nullptr)
- ,m_select(0)
- ,m_autostart(*this, CART_AUTOSTART_TAG)
- ,m_uart(*this, UART_TAG)
- ,m_pia(*this, PIA_TAG)
+ : coco_t4426_device(mconfig, COCO_T4426, tag, owner, clock)
{
}
diff --git a/src/devices/bus/coco/coco_t4426.h b/src/devices/bus/coco/coco_t4426.h
index 92beb845fd2..3d1aafacd7d 100644
--- a/src/devices/bus/coco/coco_t4426.h
+++ b/src/devices/bus/coco/coco_t4426.h
@@ -20,40 +20,41 @@ class coco_t4426_device :
public device_cococart_interface
{
public:
- // construction/destruction
- coco_t4426_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- coco_t4426_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ coco_t4426_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
- virtual uint8_t* get_cart_base() override;
- DECLARE_WRITE8_MEMBER( pia_A_w );
+ virtual uint8_t* get_cart_base() override;
+ DECLARE_WRITE8_MEMBER( pia_A_w );
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ coco_t4426_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- // internal state
- device_image_interface *m_cart;
- cococart_slot_device *m_owner;
- uint8_t m_select;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
- optional_ioport m_autostart;
+ // internal state
+ device_image_interface *m_cart;
+ cococart_slot_device *m_owner;
+ uint8_t m_select;
- virtual DECLARE_READ8_MEMBER(read) override;
- virtual DECLARE_WRITE8_MEMBER(write) override;
+ optional_ioport m_autostart;
+
+ virtual DECLARE_READ8_MEMBER(read) override;
+ virtual DECLARE_WRITE8_MEMBER(write) override;
private:
- // internal state
- required_device<acia6850_device> m_uart;
- required_device<pia6821_device> m_pia;
+ // internal state
+ required_device<acia6850_device> m_uart;
+ required_device<pia6821_device> m_pia;
};
// device type definition
-extern const device_type COCO_T4426;
+DECLARE_DEVICE_TYPE(COCO_T4426, coco_t4426_device)
-#endif /* MAME_BUS_COCO_T4426_H */
+#endif // MAME_BUS_COCO_T4426_H
diff --git a/src/devices/bus/coco/cococart.cpp b/src/devices/bus/coco/cococart.cpp
index 545c29b408e..db2651e32ee 100644
--- a/src/devices/bus/coco/cococart.cpp
+++ b/src/devices/bus/coco/cococart.cpp
@@ -23,7 +23,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type COCOCART_SLOT = device_creator<cococart_slot_device>;
+DEFINE_DEVICE_TYPE(COCOCART_SLOT, cococart_slot_device, "cococart_slot", "CoCo Cartridge Slot")
@@ -35,12 +35,12 @@ const device_type COCOCART_SLOT = device_creator<cococart_slot_device>;
// cococart_slot_device - constructor
//-------------------------------------------------
cococart_slot_device::cococart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COCOCART_SLOT, "CoCo Cartridge Slot", tag, owner, clock, "cococart_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- device_image_interface(mconfig, *this),
- m_cart_callback(*this),
- m_nmi_callback(*this),
- m_halt_callback(*this), m_cart(nullptr)
+ device_t(mconfig, COCOCART_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ device_image_interface(mconfig, *this),
+ m_cart_callback(*this),
+ m_nmi_callback(*this),
+ m_halt_callback(*this), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/coco/cococart.h b/src/devices/bus/coco/cococart.h
index bbb132359b0..1d6049119e7 100644
--- a/src/devices/bus/coco/cococart.h
+++ b/src/devices/bus/coco/cococart.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __COCOCART_H__
-#define __COCOCART_H__
+#ifndef MAME_BUS_COCO_COCOCART_H
+#define MAME_BUS_COCO_COCOCART_H
+
+#pragma once
#include "softlist_dev.h"
@@ -61,9 +63,9 @@ public:
// construction/destruction
cococart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &static_set_cart_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_cart_callback.set_callback(object); }
- template<class _Object> static devcb_base &static_set_nmi_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_nmi_callback.set_callback(object); }
- template<class _Object> static devcb_base &static_set_halt_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_halt_callback.set_callback(object); }
+ template <class Object> static devcb_base &static_set_cart_callback(device_t &device, Object &&cb) { return downcast<cococart_slot_device &>(device).m_cart_callback.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &static_set_nmi_callback(device_t &device, Object &&cb) { return downcast<cococart_slot_device &>(device).m_nmi_callback.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &static_set_halt_callback(device_t &device, Object &&cb) { return downcast<cococart_slot_device &>(device).m_halt_callback.set_callback(std::forward<Object>(cb)); }
// device-level overrides
virtual void device_start() override;
@@ -144,6 +146,7 @@ private:
// device type definition
extern const device_type COCOCART_SLOT;
+DECLARE_DEVICE_TYPE(COCOCART_SLOT, cococart_slot_device)
// ======================> device_cococart_interface
@@ -151,7 +154,6 @@ class device_cococart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_cococart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_cococart_interface();
virtual DECLARE_READ8_MEMBER(read);
@@ -162,6 +164,8 @@ public:
void set_cart_base_update(cococart_base_update_delegate update);
protected:
+ device_cococart_interface(const machine_config &mconfig, device_t &device);
+
void cart_base_changed(void);
private:
@@ -179,4 +183,4 @@ private:
#define MCFG_COCO_CARTRIDGE_REMOVE(_tag) \
MCFG_DEVICE_REMOVE(_tag)
-#endif // __COCOCART_H__
+#endif // MAME_BUS_COCO_COCOCART_H
diff --git a/src/devices/bus/coco/dragon_fdc.cpp b/src/devices/bus/coco/dragon_fdc.cpp
index f6b161ba1f5..9b8a1d61317 100644
--- a/src/devices/bus/coco/dragon_fdc.cpp
+++ b/src/devices/bus/coco/dragon_fdc.cpp
@@ -91,11 +91,10 @@ namespace
{
class dragon_fdc_device_base : public coco_family_fdc_device_base
{
- public:
+ protected:
// construction/destruction
- dragon_fdc_device_base(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ dragon_fdc_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- protected:
// device-level overrides
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
@@ -104,13 +103,13 @@ namespace
private:
// device references
- required_device<wd2797_t> m_wd2797;
+ required_device<wd2797_device> m_wd2797;
required_device_array<floppy_connector, 4> m_floppies;
// methods
void dskreg_w(uint8_t data);
};
-};
+}
/***************************************************************************
LOCAL VARIABLES
@@ -144,8 +143,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
// dragon_fdc_device_base - constructor
//-------------------------------------------------
-dragon_fdc_device_base::dragon_fdc_device_base(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : coco_family_fdc_device_base(mconfig, type, name, tag, owner, clock, shortname, source)
+dragon_fdc_device_base::dragon_fdc_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : coco_family_fdc_device_base(mconfig, type, tag, owner, clock)
, m_wd2797(*this, WD2797_TAG)
, m_floppies(*this, WD2797_TAG ":%u", 0)
{
@@ -288,7 +287,7 @@ namespace
public:
// construction/destruction
dragon_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dragon_fdc_device_base(mconfig, DRAGON_FDC, "Dragon FDC", tag, owner, clock, "dragon_fdc", __FILE__)
+ : dragon_fdc_device_base(mconfig, DRAGON_FDC, tag, owner, clock)
{
}
@@ -299,9 +298,9 @@ namespace
return ROM_NAME(dragon_fdc);
}
};
-};
+}
-const device_type DRAGON_FDC = device_creator<dragon_fdc_device>;
+DEFINE_DEVICE_TYPE(DRAGON_FDC, dragon_fdc_device, "dragon_fdc", "Dragon FDC")
//**************************************************************************
@@ -320,7 +319,7 @@ namespace
public:
// construction/destruction
sdtandy_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dragon_fdc_device_base(mconfig, SDTANDY_FDC, "SDTANDY FDC", tag, owner, clock, "sdtandy_fdc", __FILE__)
+ : dragon_fdc_device_base(mconfig, SDTANDY_FDC, tag, owner, clock)
{
}
@@ -331,6 +330,6 @@ namespace
return ROM_NAME(sdtandy_fdc);
}
};
-};
+}
-const device_type SDTANDY_FDC = device_creator<sdtandy_fdc_device>;
+DEFINE_DEVICE_TYPE(SDTANDY_FDC, sdtandy_fdc_device, "sdtandy_fdc", "SDTANDY FDC")
diff --git a/src/devices/bus/coleco/ctrl.cpp b/src/devices/bus/coleco/ctrl.cpp
index 6553f56b19a..630553998de 100644
--- a/src/devices/bus/coleco/ctrl.cpp
+++ b/src/devices/bus/coleco/ctrl.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITION
//**************************************************************************
-const device_type COLECOVISION_CONTROL_PORT = device_creator<colecovision_control_port_device>;
+DEFINE_DEVICE_TYPE(COLECOVISION_CONTROL_PORT, colecovision_control_port_device, "colecovision_control_port", "ColecoVision control port")
@@ -46,8 +46,9 @@ device_colecovision_control_port_interface::device_colecovision_control_port_int
//-------------------------------------------------
colecovision_control_port_device::colecovision_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COLECOVISION_CONTROL_PORT, "ColecoVision control port", tag, owner, clock, "colecovision_control_port", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr),
+ device_t(mconfig, COLECOVISION_CONTROL_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_device(nullptr),
m_write_irq(*this)
{
}
diff --git a/src/devices/bus/coleco/ctrl.h b/src/devices/bus/coleco/ctrl.h
index 3555e0299e6..df39b41944c 100644
--- a/src/devices/bus/coleco/ctrl.h
+++ b/src/devices/bus/coleco/ctrl.h
@@ -9,10 +9,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COLECO_CTRL_H
+#define MAME_BUS_COLECO_CTRL_H
-#ifndef __COLECOVISION_CONTROL_PORT__
-#define __COLECOVISION_CONTROL_PORT__
+#pragma once
@@ -43,15 +43,14 @@ class colecovision_control_port_device;
class device_colecovision_control_port_interface : public device_slot_card_interface
{
public:
+ virtual uint8_t joy_r() { return 0xff; }
+ virtual void common0_w(int state) { m_common0 = state; }
+ virtual void common1_w(int state) { m_common1 = state; }
+
+protected:
// construction/destruction
device_colecovision_control_port_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_colecovision_control_port_interface() { }
- virtual uint8_t joy_r() { return 0xff; };
- virtual void common0_w(int state) { m_common0 = state; };
- virtual void common1_w(int state) { m_common1 = state; };
-
-protected:
colecovision_control_port_device *m_port;
int m_common0;
@@ -67,10 +66,9 @@ class colecovision_control_port_device : public device_t,
public:
// construction/destruction
colecovision_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~colecovision_control_port_device() { }
// static configuration helpers
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<colecovision_control_port_device &>(device).m_write_irq.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<colecovision_control_port_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
// computer interface
uint8_t read() { uint8_t data = 0xff; if (exists()) data = m_device->joy_r(); return data; }
@@ -95,10 +93,9 @@ private:
// device type definition
-extern const device_type COLECOVISION_CONTROL_PORT;
+DECLARE_DEVICE_TYPE(COLECOVISION_CONTROL_PORT, colecovision_control_port_device)
SLOT_INTERFACE_EXTERN( colecovision_control_port_devices );
-
-#endif
+#endif // MAME_BUS_COLECO_CTRL_H
diff --git a/src/devices/bus/coleco/exp.cpp b/src/devices/bus/coleco/exp.cpp
index 2eafe5ac05b..b092fd5a49b 100644
--- a/src/devices/bus/coleco/exp.cpp
+++ b/src/devices/bus/coleco/exp.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COLECOVISION_CARTRIDGE_SLOT = device_creator<colecovision_cartridge_slot_device>;
+DEFINE_DEVICE_TYPE(COLECOVISION_CARTRIDGE_SLOT, colecovision_cartridge_slot_device, "coleco_cartridge_port", "ColecoVision cartridge port")
@@ -54,9 +54,10 @@ void device_colecovision_cartridge_interface::rom_alloc(size_t size)
//-------------------------------------------------
colecovision_cartridge_slot_device::colecovision_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COLECOVISION_CARTRIDGE_SLOT, "ColecoVision cartridge port", tag, owner, clock, "coleco_cartridge_port", __FILE__),
+ device_t(mconfig, COLECOVISION_CARTRIDGE_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
- device_image_interface(mconfig, *this), m_card(nullptr)
+ device_image_interface(mconfig, *this),
+ m_card(nullptr)
{
}
diff --git a/src/devices/bus/coleco/exp.h b/src/devices/bus/coleco/exp.h
index 2c9682381fc..4c4f8db8fa8 100644
--- a/src/devices/bus/coleco/exp.h
+++ b/src/devices/bus/coleco/exp.h
@@ -25,10 +25,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COLECO_EXP_H
+#define MAME_BUS_COLECO_EXP_H
-#ifndef __COLECOVISION_CARTRIDGE_SLOT__
-#define __COLECOVISION_CARTRIDGE_SLOT__
+#pragma once
#include "softlist_dev.h"
@@ -66,7 +66,6 @@ class colecovision_cartridge_slot_device : public device_t,
public:
// construction/destruction
colecovision_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~colecovision_cartridge_slot_device() { }
// computer interface
uint8_t bd_r(address_space &space, offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000);
@@ -103,15 +102,14 @@ class device_colecovision_cartridge_interface : public device_slot_card_interfac
friend class colecovision_cartridge_slot_device;
public:
- // construction/destruction
- device_colecovision_cartridge_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_colecovision_cartridge_interface() { }
-
virtual uint8_t bd_r(address_space &space, offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) { return 0xff; }
void rom_alloc(size_t size);
protected:
+ // construction/destruction
+ device_colecovision_cartridge_interface(const machine_config &mconfig, device_t &device);
+
uint8_t *m_rom;
size_t m_rom_size;
@@ -120,10 +118,9 @@ protected:
// device type definition
-extern const device_type COLECOVISION_CARTRIDGE_SLOT;
+DECLARE_DEVICE_TYPE(COLECOVISION_CARTRIDGE_SLOT, colecovision_cartridge_slot_device)
SLOT_INTERFACE_EXTERN( colecovision_cartridges );
-
-#endif
+#endif // MAME_BUS_COLECO_EXP_H
diff --git a/src/devices/bus/coleco/hand.cpp b/src/devices/bus/coleco/hand.cpp
index 9e9f7610dd4..c11652b5ad5 100644
--- a/src/devices/bus/coleco/hand.cpp
+++ b/src/devices/bus/coleco/hand.cpp
@@ -15,10 +15,10 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COLECO_HAND_CONTROLLER = device_creator<coleco_hand_controller_t>;
+DEFINE_DEVICE_TYPE(COLECO_HAND_CONTROLLER, coleco_hand_controller_device, "coleco_hand", "ColecoVision Hand Controller")
-CUSTOM_INPUT_MEMBER( coleco_hand_controller_t::keypad_r )
+CUSTOM_INPUT_MEMBER( coleco_hand_controller_device::keypad_r )
{
uint8_t data = 0xf;
uint16_t keypad = m_io_keypad->read();
@@ -50,7 +50,7 @@ static INPUT_PORTS_START( coleco_hand_controller )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL )
PORT_START("COMMON1")
- PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, coleco_hand_controller_t, keypad_r, nullptr)
+ PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, coleco_hand_controller_device, keypad_r, nullptr)
PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL )
@@ -75,7 +75,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor coleco_hand_controller_t::device_input_ports() const
+ioport_constructor coleco_hand_controller_device::device_input_ports() const
{
return INPUT_PORTS_NAME( coleco_hand_controller );
}
@@ -87,11 +87,11 @@ ioport_constructor coleco_hand_controller_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// coleco_hand_controller_t - constructor
+// coleco_hand_controller_device - constructor
//-------------------------------------------------
-coleco_hand_controller_t::coleco_hand_controller_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COLECO_HAND_CONTROLLER, "ColecoVision Hand Controller", tag, owner, clock, "coleco_hand", __FILE__),
+coleco_hand_controller_device::coleco_hand_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, COLECO_HAND_CONTROLLER, tag, owner, clock),
device_colecovision_control_port_interface(mconfig, *this),
m_io_common0(*this, "COMMON0"),
m_io_common1(*this, "COMMON1"),
@@ -104,7 +104,7 @@ coleco_hand_controller_t::coleco_hand_controller_t(const machine_config &mconfig
// device_start - device-specific startup
//-------------------------------------------------
-void coleco_hand_controller_t::device_start()
+void coleco_hand_controller_device::device_start()
{
// state saving
save_item(NAME(m_common0));
@@ -116,7 +116,7 @@ void coleco_hand_controller_t::device_start()
// joy_r - joystick read
//-------------------------------------------------
-uint8_t coleco_hand_controller_t::joy_r()
+uint8_t coleco_hand_controller_device::joy_r()
{
uint8_t data = 0x7f;
diff --git a/src/devices/bus/coleco/hand.h b/src/devices/bus/coleco/hand.h
index 01e4e928534..f65ad709106 100644
--- a/src/devices/bus/coleco/hand.h
+++ b/src/devices/bus/coleco/hand.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COLECO_HAND_H
+#define MAME_BUS_COLECO_HAND_H
-#ifndef __COLECO_HAND_CONTROLLER__
-#define __COLECO_HAND_CONTROLLER__
+#pragma once
#include "ctrl.h"
@@ -19,14 +19,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> coleco_hand_controller_t
+// ======================> coleco_hand_controller_device
-class coleco_hand_controller_t : public device_t,
+class coleco_hand_controller_device : public device_t,
public device_colecovision_control_port_interface
{
public:
// construction/destruction
- coleco_hand_controller_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ coleco_hand_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
@@ -48,7 +48,7 @@ private:
// device type definition
-extern const device_type COLECO_HAND_CONTROLLER;
+DECLARE_DEVICE_TYPE(COLECO_HAND_CONTROLLER, coleco_hand_controller_device)
-#endif
+#endif // MAME_BUS_COLECO_HAND_H
diff --git a/src/devices/bus/coleco/sac.cpp b/src/devices/bus/coleco/sac.cpp
index 28835f7ad85..fd016a0dc19 100644
--- a/src/devices/bus/coleco/sac.cpp
+++ b/src/devices/bus/coleco/sac.cpp
@@ -15,10 +15,10 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COLECO_SUPER_ACTION_CONTROLLER = device_creator<coleco_super_action_controller_t>;
+DEFINE_DEVICE_TYPE(COLECO_SUPER_ACTION_CONTROLLER, coleco_super_action_controller_device, "coleco_sac", "ColecoVision Super Action Controller")
-CUSTOM_INPUT_MEMBER( coleco_super_action_controller_t::keypad_r )
+CUSTOM_INPUT_MEMBER( coleco_super_action_controller_device::keypad_r )
{
uint8_t data = 0xf;
uint16_t keypad = m_io_keypad->read();
@@ -41,7 +41,7 @@ CUSTOM_INPUT_MEMBER( coleco_super_action_controller_t::keypad_r )
return data;
}
-INPUT_CHANGED_MEMBER( coleco_super_action_controller_t::slider_w )
+INPUT_CHANGED_MEMBER( coleco_super_action_controller_device::slider_w )
{
// TODO
}
@@ -57,7 +57,7 @@ static INPUT_PORTS_START( coleco_super_action_controller )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL )
PORT_START("COMMON1")
- PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, coleco_super_action_controller_t, keypad_r, nullptr)
+ PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, coleco_super_action_controller_device, keypad_r, nullptr)
PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL )
@@ -79,7 +79,7 @@ static INPUT_PORTS_START( coleco_super_action_controller )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON4 )
PORT_START("SLIDER")
- PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_REVERSE PORT_RESET PORT_CHANGED_MEMBER(DEVICE_SELF, coleco_super_action_controller_t, slider_w, nullptr)
+ PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(25) PORT_REVERSE PORT_RESET PORT_CHANGED_MEMBER(DEVICE_SELF, coleco_super_action_controller_device, slider_w, nullptr)
INPUT_PORTS_END
@@ -87,7 +87,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor coleco_super_action_controller_t::device_input_ports() const
+ioport_constructor coleco_super_action_controller_device::device_input_ports() const
{
return INPUT_PORTS_NAME( coleco_super_action_controller );
}
@@ -99,11 +99,11 @@ ioport_constructor coleco_super_action_controller_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// coleco_super_action_controller_t - constructor
+// coleco_super_action_controller_device - constructor
//-------------------------------------------------
-coleco_super_action_controller_t::coleco_super_action_controller_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COLECO_SUPER_ACTION_CONTROLLER, "ColecoVision Super Action Controller", tag, owner, clock, "coleco_sac", __FILE__),
+coleco_super_action_controller_device::coleco_super_action_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, COLECO_SUPER_ACTION_CONTROLLER, tag, owner, clock),
device_colecovision_control_port_interface(mconfig, *this),
m_io_common0(*this, "COMMON0"),
m_io_common1(*this, "COMMON1"),
@@ -116,7 +116,7 @@ coleco_super_action_controller_t::coleco_super_action_controller_t(const machine
// device_start - device-specific startup
//-------------------------------------------------
-void coleco_super_action_controller_t::device_start()
+void coleco_super_action_controller_device::device_start()
{
// state saving
save_item(NAME(m_common0));
@@ -128,7 +128,7 @@ void coleco_super_action_controller_t::device_start()
// joy_r - joystick read
//-------------------------------------------------
-uint8_t coleco_super_action_controller_t::joy_r()
+uint8_t coleco_super_action_controller_device::joy_r()
{
uint8_t data = 0x7f;
diff --git a/src/devices/bus/coleco/sac.h b/src/devices/bus/coleco/sac.h
index 7b6a65b6440..20078e33ef7 100644
--- a/src/devices/bus/coleco/sac.h
+++ b/src/devices/bus/coleco/sac.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COLECO_SAC_H
+#define MAME_BUS_COLECO_SAC_H
-#ifndef __COLECO_SUPER_ACTION_CONTROLLER__
-#define __COLECO_SUPER_ACTION_CONTROLLER__
+#pragma once
#include "ctrl.h"
@@ -19,14 +19,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> coleco_super_action_controller_t
+// ======================> coleco_super_action_controller_device
-class coleco_super_action_controller_t : public device_t,
+class coleco_super_action_controller_device : public device_t,
public device_colecovision_control_port_interface
{
public:
// construction/destruction
- coleco_super_action_controller_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ coleco_super_action_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
@@ -49,7 +49,7 @@ private:
// device type definition
-extern const device_type COLECO_SUPER_ACTION_CONTROLLER;
+DECLARE_DEVICE_TYPE(COLECO_SUPER_ACTION_CONTROLLER, coleco_super_action_controller_device)
-#endif
+#endif // MAME_BUS_COLECO_SAC_H
diff --git a/src/devices/bus/coleco/std.cpp b/src/devices/bus/coleco/std.cpp
index d6ba16eafa5..ae490dea2e9 100644
--- a/src/devices/bus/coleco/std.cpp
+++ b/src/devices/bus/coleco/std.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COLECOVISION_STANDARD = device_creator<colecovision_standard_cartridge_device>;
+DEFINE_DEVICE_TYPE(COLECOVISION_STANDARD, colecovision_standard_cartridge_device, "colecovision_standard", "ColecoVision standard cartridge")
@@ -28,7 +28,7 @@ const device_type COLECOVISION_STANDARD = device_creator<colecovision_standard_c
//-------------------------------------------------
colecovision_standard_cartridge_device::colecovision_standard_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COLECOVISION_STANDARD, "ColecoVision standard cartridge", tag, owner, clock, "colecovision_standard", __FILE__),
+ device_t(mconfig, COLECOVISION_STANDARD, tag, owner, clock),
device_colecovision_cartridge_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/coleco/std.h b/src/devices/bus/coleco/std.h
index ee3cb2adf1f..7ee221502a7 100644
--- a/src/devices/bus/coleco/std.h
+++ b/src/devices/bus/coleco/std.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COLECO_STD_H
+#define MAME_BUS_COLECO_STD_H
-#ifndef __COLECOVISION_STANDARD_CARTRIDGE__
-#define __COLECOVISION_STANDARD_CARTRIDGE__
+#pragma once
#include "exp.h"
@@ -38,7 +38,7 @@ protected:
// device type definition
-extern const device_type COLECOVISION_STANDARD;
+DECLARE_DEVICE_TYPE(COLECOVISION_STANDARD, colecovision_standard_cartridge_device)
-#endif
+#endif // MAME_BUS_COLECO_STD_H
diff --git a/src/devices/bus/coleco/xin1.cpp b/src/devices/bus/coleco/xin1.cpp
index d7de9dde30c..3538f93bb90 100644
--- a/src/devices/bus/coleco/xin1.cpp
+++ b/src/devices/bus/coleco/xin1.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COLECOVISION_XIN1 = device_creator<colecovision_xin1_cartridge_device>;
+DEFINE_DEVICE_TYPE(COLECOVISION_XIN1, colecovision_xin1_cartridge_device, "colecovision_xin1", "ColecoVision X-in-1 cartridge")
@@ -28,7 +28,7 @@ const device_type COLECOVISION_XIN1 = device_creator<colecovision_xin1_cartridge
//-------------------------------------------------
colecovision_xin1_cartridge_device::colecovision_xin1_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COLECOVISION_XIN1, "ColecoVision X-in-1 cartridge", tag, owner, clock, "colecovision_xin1", __FILE__),
+ device_t(mconfig, COLECOVISION_XIN1, tag, owner, clock),
device_colecovision_cartridge_interface(mconfig, *this),
m_current_offset(0)
{
diff --git a/src/devices/bus/coleco/xin1.h b/src/devices/bus/coleco/xin1.h
index 14802eb95da..c5b0ae49b76 100644
--- a/src/devices/bus/coleco/xin1.h
+++ b/src/devices/bus/coleco/xin1.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COLECO_XIN1_H
+#define MAME_BUS_COLECO_XIN1_H
-#ifndef __COLECOVISION_XIN1_CARTRIDGE__
-#define __COLECOVISION_XIN1_CARTRIDGE__
+#pragma once
#include "exp.h"
@@ -42,7 +42,7 @@ private:
// device type definition
-extern const device_type COLECOVISION_XIN1;
+DECLARE_DEVICE_TYPE(COLECOVISION_XIN1, colecovision_xin1_cartridge_device)
-#endif
+#endif // MAME_BUS_COLECO_XIN1_H
diff --git a/src/devices/bus/compis/graphics.cpp b/src/devices/bus/compis/graphics.cpp
index 879c75b5b47..cf66c311632 100644
--- a/src/devices/bus/compis/graphics.cpp
+++ b/src/devices/bus/compis/graphics.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMPIS_GRAPHICS_SLOT = device_creator<compis_graphics_slot_t>;
+DEFINE_DEVICE_TYPE(COMPIS_GRAPHICS_SLOT, compis_graphics_slot_device, "compisgfx_slot", "Compis graphics slot")
@@ -30,16 +30,16 @@ const device_type COMPIS_GRAPHICS_SLOT = device_creator<compis_graphics_slot_t>;
device_compis_graphics_card_interface::device_compis_graphics_card_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device)
{
- m_slot = dynamic_cast<compis_graphics_slot_t *>(device.owner());
+ m_slot = dynamic_cast<compis_graphics_slot_device *>(device.owner());
}
//-------------------------------------------------
-// compis_graphics_slot_t - constructor
+// compis_graphics_slot_device - constructor
//-------------------------------------------------
-compis_graphics_slot_t::compis_graphics_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMPIS_GRAPHICS_SLOT, "Compis graphics slot", tag, owner, clock, "compisgfx_slot", __FILE__),
+compis_graphics_slot_device::compis_graphics_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, COMPIS_GRAPHICS_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_write_dma_request(*this),
m_card(nullptr)
@@ -51,7 +51,7 @@ compis_graphics_slot_t::compis_graphics_slot_t(const machine_config &mconfig, co
// device_start - device-specific startup
//-------------------------------------------------
-void compis_graphics_slot_t::device_start()
+void compis_graphics_slot_device::device_start()
{
m_card = dynamic_cast<device_compis_graphics_card_interface *>(get_card_device());
diff --git a/src/devices/bus/compis/graphics.h b/src/devices/bus/compis/graphics.h
index 9985a41738d..f42bb2bdd30 100644
--- a/src/devices/bus/compis/graphics.h
+++ b/src/devices/bus/compis/graphics.h
@@ -8,10 +8,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMPIS_GRAPHICS_H
+#define MAME_BUS_COMPIS_GRAPHICS_H
-#ifndef __COMPIS_GRAPHICS_SLOT__
-#define __COMPIS_GRAPHICS_SLOT__
+#pragma once
@@ -26,7 +26,7 @@
#define MCFG_COMPIS_GRAPHICS_SLOT_DMA_REQUEST_CALLBACK(_dma_request) \
- downcast<compis_graphics_slot_t *>(device)->set_dma_request_callback(DEVCB_##_dma_request);
+ downcast<compis_graphics_slot_device *>(device)->set_dma_request_callback(DEVCB_##_dma_request);
@@ -36,14 +36,11 @@
// ======================> device_compis_graphics_card_interface
-class compis_graphics_slot_t;
+class compis_graphics_slot_device;
class device_compis_graphics_card_interface : public device_slot_card_interface
{
public:
- // construction/destruction
- device_compis_graphics_card_interface(const machine_config &mconfig, device_t &device);
-
virtual uint8_t mcs0_r(address_space &space, offs_t offset) { return 0xff; }
virtual void mcs0_w(address_space &space, offs_t offset, uint8_t data) { }
virtual uint8_t mcs1_r(address_space &space, offs_t offset) { return 0xff; }
@@ -56,18 +53,21 @@ public:
virtual void dma_ack_w(address_space &space, offs_t offset, uint8_t data) { }
protected:
- compis_graphics_slot_t *m_slot;
+ // construction/destruction
+ device_compis_graphics_card_interface(const machine_config &mconfig, device_t &device);
+
+ compis_graphics_slot_device *m_slot;
};
-// ======================> compis_graphics_slot_t
+// ======================> compis_graphics_slot_device
-class compis_graphics_slot_t : public device_t,
+class compis_graphics_slot_device : public device_t,
public device_slot_interface
{
public:
// construction/destruction
- compis_graphics_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ compis_graphics_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template<class _dma_request> void set_dma_request_callback(_dma_request dma_request) { m_write_dma_request.set_callback(dma_request); }
@@ -98,11 +98,10 @@ protected:
// device type definition
-extern const device_type COMPIS_GRAPHICS_SLOT;
+DECLARE_DEVICE_TYPE(COMPIS_GRAPHICS_SLOT, compis_graphics_slot_device)
SLOT_INTERFACE_EXTERN( compis_graphics_cards );
-
-#endif
+#endif // MAME_BUS_COMPIS_GRAPHICS_H
diff --git a/src/devices/bus/compis/hrg.cpp b/src/devices/bus/compis/hrg.cpp
index 052f2d5ee98..7931ee123d9 100644
--- a/src/devices/bus/compis/hrg.cpp
+++ b/src/devices/bus/compis/hrg.cpp
@@ -24,20 +24,20 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMPIS_HRG = device_creator<compis_hrg_t>;
-const device_type COMPIS_UHRG = device_creator<compis_uhrg_t>;
+DEFINE_DEVICE_TYPE(COMPIS_HRG, compis_hrg_device, "compis_hrg", "Compis HRG")
+DEFINE_DEVICE_TYPE(COMPIS_UHRG, compis_uhrg_device, "compis_uhrg", "Compis UHRG")
//-------------------------------------------------
// ADDRESS_MAP( upd7220_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( hrg_map, AS_0, 16, compis_hrg_t )
+static ADDRESS_MAP_START( hrg_map, AS_0, 16, compis_hrg_device )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x00000, 0x7fff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( uhrg_map, AS_0, 16, compis_uhrg_t )
+static ADDRESS_MAP_START( uhrg_map, AS_0, 16, compis_uhrg_device )
ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
AM_RANGE(0x00000, 0x1ffff) AM_RAM AM_SHARE("video_ram")
ADDRESS_MAP_END
@@ -47,7 +47,7 @@ ADDRESS_MAP_END
// UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels )
//-------------------------------------------------
-UPD7220_DISPLAY_PIXELS_MEMBER( compis_hrg_t::display_pixels )
+UPD7220_DISPLAY_PIXELS_MEMBER( compis_hrg_device::display_pixels )
{
uint16_t i,gfx = m_video_ram[(address & 0x7fff) >> 1];
const pen_t *pen = m_palette->pens();
@@ -61,7 +61,7 @@ UPD7220_DISPLAY_PIXELS_MEMBER( compis_hrg_t::display_pixels )
// UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels )
//-------------------------------------------------
-UPD7220_DISPLAY_PIXELS_MEMBER( compis_uhrg_t::display_pixels )
+UPD7220_DISPLAY_PIXELS_MEMBER( compis_uhrg_device::display_pixels )
{
uint16_t i,gfx = m_video_ram[(address & 0x1ffff) >> 1];
const pen_t *pen = m_palette->pens();
@@ -86,7 +86,7 @@ static MACHINE_CONFIG_FRAGMENT( hrg )
MCFG_DEVICE_ADD(UPD7220_TAG, UPD7220, 2252500) // unknown clock
MCFG_DEVICE_ADDRESS_MAP(AS_0, hrg_map)
- MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(compis_hrg_t, display_pixels)
+ MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(compis_hrg_device, display_pixels)
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
MCFG_PALETTE_ADD_MONOCHROME("palette")
@@ -98,7 +98,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor compis_hrg_t::device_mconfig_additions() const
+machine_config_constructor compis_hrg_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( hrg );
}
@@ -119,7 +119,7 @@ static MACHINE_CONFIG_FRAGMENT( uhrg )
MCFG_DEVICE_ADD(UPD7220_TAG, UPD7220, 2252500*2) // unknown clock
MCFG_DEVICE_ADDRESS_MAP(AS_0, uhrg_map)
- MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(compis_uhrg_t, display_pixels)
+ MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(compis_uhrg_device, display_pixels)
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
MCFG_PALETTE_ADD_MONOCHROME("palette")
@@ -131,7 +131,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor compis_uhrg_t::device_mconfig_additions() const
+machine_config_constructor compis_uhrg_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( uhrg );
}
@@ -143,11 +143,11 @@ machine_config_constructor compis_uhrg_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// compis_hrg_t - constructor
+// compis_hrg_device - constructor
//-------------------------------------------------
-compis_hrg_t::compis_hrg_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+compis_hrg_device::compis_hrg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_compis_graphics_card_interface(mconfig, *this),
m_crtc(*this, UPD7220_TAG),
m_palette(*this, "palette"),
@@ -155,13 +155,13 @@ compis_hrg_t::compis_hrg_t(const machine_config &mconfig, device_type type, cons
{
}
-compis_hrg_t::compis_hrg_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- compis_hrg_t(mconfig, COMPIS_HRG, "Compis HRG", tag, owner, clock, "compis_hrg", __FILE__)
+compis_hrg_device::compis_hrg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ compis_hrg_device(mconfig, COMPIS_HRG, tag, owner, clock)
{
}
-compis_uhrg_t::compis_uhrg_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- compis_hrg_t(mconfig, COMPIS_UHRG, "Compis UHRG", tag, owner, clock, "compis_uhrg", __FILE__)
+compis_uhrg_device::compis_uhrg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ compis_hrg_device(mconfig, COMPIS_UHRG, tag, owner, clock)
{
}
@@ -170,7 +170,7 @@ compis_uhrg_t::compis_uhrg_t(const machine_config &mconfig, const char *tag, dev
// device_start - device-specific startup
//-------------------------------------------------
-void compis_hrg_t::device_start()
+void compis_hrg_device::device_start()
{
}
@@ -179,7 +179,7 @@ void compis_hrg_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void compis_hrg_t::device_reset()
+void compis_hrg_device::device_reset()
{
}
@@ -188,7 +188,7 @@ void compis_hrg_t::device_reset()
// pcs6_6_r -
//-------------------------------------------------
-uint8_t compis_hrg_t::pcs6_6_r(address_space &space, offs_t offset)
+uint8_t compis_hrg_device::pcs6_6_r(address_space &space, offs_t offset)
{
uint8_t data = 0xff;
@@ -225,7 +225,7 @@ uint8_t compis_hrg_t::pcs6_6_r(address_space &space, offs_t offset)
// pcs6_6_w -
//-------------------------------------------------
-void compis_hrg_t::pcs6_6_w(address_space &space, offs_t offset, uint8_t data)
+void compis_hrg_device::pcs6_6_w(address_space &space, offs_t offset, uint8_t data)
{
//logerror("%s PCS 6:6 write %04x : %02x\n", machine().describe_context(), offset, data);
diff --git a/src/devices/bus/compis/hrg.h b/src/devices/bus/compis/hrg.h
index 96ea1db02cb..50dfe882d58 100644
--- a/src/devices/bus/compis/hrg.h
+++ b/src/devices/bus/compis/hrg.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMPIS_HRG_H
+#define MAME_BUS_COMPIS_HRG_H
-#ifndef __COMPIS_HRG__
-#define __COMPIS_HRG__
+#pragma once
#include "graphics.h"
#include "video/upd7220.h"
@@ -20,15 +20,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> compis_hrg_t
+// ======================> compis_hrg_device
-class compis_hrg_t : public device_t,
+class compis_hrg_device : public device_t,
public device_compis_graphics_card_interface
{
public:
// construction/destruction
- compis_hrg_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- compis_hrg_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ compis_hrg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -36,6 +35,8 @@ public:
UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels );
protected:
+ compis_hrg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -52,13 +53,13 @@ protected:
};
-// ======================> compis_uhrg_t
+// ======================> compis_uhrg_device
-class compis_uhrg_t : public compis_hrg_t
+class compis_uhrg_device : public compis_hrg_device
{
public:
// construction/destruction
- compis_uhrg_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ compis_uhrg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -68,9 +69,8 @@ public:
// device type definition
-extern const device_type COMPIS_HRG;
-extern const device_type COMPIS_UHRG;
-
+DECLARE_DEVICE_TYPE(COMPIS_HRG, compis_hrg_device)
+DECLARE_DEVICE_TYPE(COMPIS_UHRG, compis_uhrg_device)
-#endif
+#endif // MAME_BUS_COMPIS_HRG_H
diff --git a/src/devices/bus/compucolor/floppy.cpp b/src/devices/bus/compucolor/floppy.cpp
index 7c7fa88472b..77e4e0f5d53 100644
--- a/src/devices/bus/compucolor/floppy.cpp
+++ b/src/devices/bus/compucolor/floppy.cpp
@@ -15,8 +15,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMPUCOLOR_FLOPPY_PORT = device_creator<compucolor_floppy_port_device>;
-const device_type COMPUCOLOR_FLOPPY = device_creator<compucolor_floppy_device>;
+DEFINE_DEVICE_TYPE(COMPUCOLOR_FLOPPY_PORT, compucolor_floppy_port_device, "compclr_flp_port", "Compucolor Floppy Port")
+DEFINE_DEVICE_TYPE(COMPUCOLOR_FLOPPY, compucolor_floppy_device, "compclr_flp", "Compucolor floppy")
//-------------------------------------------------
@@ -86,7 +86,7 @@ device_compucolor_floppy_port_interface::device_compucolor_floppy_port_interface
//-------------------------------------------------
compucolor_floppy_port_device::compucolor_floppy_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : rs232_port_device(mconfig, COMPUCOLOR_FLOPPY_PORT, "Compucolor Floppy Port", tag, owner, clock, "compclr_flp_port", __FILE__), m_dev(nullptr)
+ : rs232_port_device(mconfig, COMPUCOLOR_FLOPPY_PORT, tag, owner, clock), m_dev(nullptr)
{
}
@@ -96,13 +96,13 @@ compucolor_floppy_port_device::compucolor_floppy_port_device(const machine_confi
//-------------------------------------------------
compucolor_floppy_device::compucolor_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, COMPUCOLOR_FLOPPY, "Compucolor floppy", tag, owner, clock, "compclr_flp", __FILE__),
- device_compucolor_floppy_port_interface(mconfig, *this),
- m_floppy(*this, "floppy:525sssd"),
- m_rw(1),
- m_stp(0),
- m_sel(1),
- m_period(attotime::from_hz(9600*8))
+ : device_t(mconfig, COMPUCOLOR_FLOPPY, tag, owner, clock)
+ , device_compucolor_floppy_port_interface(mconfig, *this)
+ , m_floppy(*this, "floppy:525sssd")
+ , m_rw(1)
+ , m_stp(0)
+ , m_sel(1)
+ , m_period(attotime::from_hz(9600*8))
{
m_owner = dynamic_cast<compucolor_floppy_port_device *>(this->owner());
}
diff --git a/src/devices/bus/compucolor/floppy.h b/src/devices/bus/compucolor/floppy.h
index 22a716457f3..69c6524ab01 100644
--- a/src/devices/bus/compucolor/floppy.h
+++ b/src/devices/bus/compucolor/floppy.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMPUCOLOR_FLOPPY_H
+#define MAME_BUS_COMPUCOLOR_FLOPPY_H
-#ifndef __COMPCLR_FLP__
-#define __COMPCLR_FLP__
+#pragma once
#include "bus/rs232/rs232.h"
#include "formats/ccvf_dsk.h"
@@ -36,12 +36,12 @@
class device_compucolor_floppy_port_interface : public device_rs232_port_interface
{
public:
- device_compucolor_floppy_port_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_compucolor_floppy_port_interface() { }
-
virtual void rw_w(int state) = 0;
virtual void stepper_w(uint8_t data) = 0;
virtual void select_w(int state) = 0;
+
+protected:
+ device_compucolor_floppy_port_interface(const machine_config &mconfig, device_t &device);
};
@@ -51,7 +51,6 @@ class compucolor_floppy_port_device : public rs232_port_device
{
public:
compucolor_floppy_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~compucolor_floppy_port_device() { }
DECLARE_WRITE_LINE_MEMBER( rw_w ) { if (m_dev) m_dev->rw_w(state); }
void stepper_w(uint8_t data) { if (m_dev) m_dev->stepper_w(data); }
@@ -69,8 +68,7 @@ private:
// ======================> compucolor_floppy_device
-class compucolor_floppy_device : public device_t,
- public device_compucolor_floppy_port_interface
+class compucolor_floppy_device : public device_t, public device_compucolor_floppy_port_interface
{
public:
// construction/destruction
@@ -113,11 +111,11 @@ private:
// device type definition
-extern const device_type COMPUCOLOR_FLOPPY_PORT;
-extern const device_type COMPUCOLOR_FLOPPY;
+DECLARE_DEVICE_TYPE(COMPUCOLOR_FLOPPY_PORT, compucolor_floppy_port_device)
+DECLARE_DEVICE_TYPE(COMPUCOLOR_FLOPPY, compucolor_floppy_device)
// slot devices
SLOT_INTERFACE_EXTERN( compucolor_floppy_port_devices );
-#endif
+#endif // MAME_BUS_COMPUCOLOR_FLOPPY_H
diff --git a/src/devices/bus/comx35/clm.cpp b/src/devices/bus/comx35/clm.cpp
index 65a0b3fd9c9..0ddd65d5d6c 100644
--- a/src/devices/bus/comx35/clm.cpp
+++ b/src/devices/bus/comx35/clm.cpp
@@ -64,7 +64,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_CLM = device_creator<comx_clm_device>;
+DEFINE_DEVICE_TYPE(COMX_CLM, comx_clm_device, "comx_clm", "COMX 80 Column Card")
//-------------------------------------------------
@@ -175,7 +175,7 @@ machine_config_constructor comx_clm_device::device_mconfig_additions() const
//-------------------------------------------------
comx_clm_device::comx_clm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMX_CLM, "COMX 80 Column Card", tag, owner, clock, "comx_clm", __FILE__),
+ device_t(mconfig, COMX_CLM, tag, owner, clock),
device_comx_expansion_card_interface(mconfig, *this),
device_gfx_interface(mconfig, *this, nullptr, "palette"),
m_crtc(*this, MC6845_TAG),
diff --git a/src/devices/bus/comx35/clm.h b/src/devices/bus/comx35/clm.h
index 7230cece942..4967d386214 100644
--- a/src/devices/bus/comx35/clm.h
+++ b/src/devices/bus/comx35/clm.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMX35_CLM_H
+#define MAME_BUS_COMX35_CLM_H
-#ifndef __COMX_CLM__
-#define __COMX_CLM__
+#pragma once
#include "exp.h"
#include "video/mc6845.h"
@@ -57,7 +57,7 @@ private:
// device type definition
-extern const device_type COMX_CLM;
+DECLARE_DEVICE_TYPE(COMX_CLM, comx_clm_device)
-#endif
+#endif // MAME_BUS_COMX35_CLM_H
diff --git a/src/devices/bus/comx35/eprom.cpp b/src/devices/bus/comx35/eprom.cpp
index 701a78a9f8b..ab1b2b97504 100644
--- a/src/devices/bus/comx35/eprom.cpp
+++ b/src/devices/bus/comx35/eprom.cpp
@@ -21,7 +21,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_EPR = device_creator<comx_epr_device>;
+DEFINE_DEVICE_TYPE(COMX_EPR, comx_epr_device, "comx_epr", "COMX-35 F&M EPROM Switchboard")
//-------------------------------------------------
@@ -58,7 +58,7 @@ const tiny_rom_entry *comx_epr_device::device_rom_region() const
//-------------------------------------------------
comx_epr_device::comx_epr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMX_EPR, "COMX-35 F&M EPROM Switchboard", tag, owner, clock, "comx_epr", __FILE__),
+ device_t(mconfig, COMX_EPR, tag, owner, clock),
device_comx_expansion_card_interface(mconfig, *this),
m_rom(*this, "f800"),
m_eprom(*this, "eprom"),
diff --git a/src/devices/bus/comx35/eprom.h b/src/devices/bus/comx35/eprom.h
index afd0e4e08d9..c6489dfa774 100644
--- a/src/devices/bus/comx35/eprom.h
+++ b/src/devices/bus/comx35/eprom.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMX35_EPROM_H
+#define MAME_BUS_COMX35_EPROM_H
-#ifndef __COMX_EPR__
-#define __COMX_EPR__
+#pragma once
#include "exp.h"
@@ -49,7 +49,7 @@ private:
// device type definition
-extern const device_type COMX_EPR;
+DECLARE_DEVICE_TYPE(COMX_EPR, comx_epr_device)
-#endif
+#endif // MAME_BUS_COMX35_EPROM_H
diff --git a/src/devices/bus/comx35/exp.cpp b/src/devices/bus/comx35/exp.cpp
index 8e2aacf910e..8c160829bdc 100644
--- a/src/devices/bus/comx35/exp.cpp
+++ b/src/devices/bus/comx35/exp.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_EXPANSION_SLOT = device_creator<comx_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(COMX_EXPANSION_SLOT, comx_expansion_slot_device, "comx_expansion_slot", "COMX-35 expansion slot")
@@ -44,7 +44,7 @@ device_comx_expansion_card_interface::device_comx_expansion_card_interface(const
//-------------------------------------------------
comx_expansion_slot_device::comx_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMX_EXPANSION_SLOT, "COMX-35 expansion slot", tag, owner, clock, "comx_expansion_slot", __FILE__),
+ device_t(mconfig, COMX_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_write_irq(*this), m_card(nullptr)
{
diff --git a/src/devices/bus/comx35/exp.h b/src/devices/bus/comx35/exp.h
index c8bec33960c..c52b7eee849 100644
--- a/src/devices/bus/comx35/exp.h
+++ b/src/devices/bus/comx35/exp.h
@@ -31,10 +31,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMX35_EXP_H
+#define MAME_BUS_COMX35_EXP_H
-#ifndef __COMX35_EXPANSION_SLOT__
-#define __COMX35_EXPANSION_SLOT__
+#pragma once
@@ -75,9 +75,8 @@ class comx_expansion_slot_device : public device_t,
public:
// construction/destruction
comx_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~comx_expansion_slot_device() { }
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<comx_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<comx_expansion_slot_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
uint8_t mrd_r(address_space &space, offs_t offset, int *extrom);
void mwr_w(address_space &space, offs_t offset, uint8_t data);
@@ -109,24 +108,22 @@ class device_comx_expansion_card_interface : public device_slot_card_interface
{
friend class comx_expansion_slot_device;
-public:
+protected:
// construction/destruction
device_comx_expansion_card_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_comx_expansion_card_interface() { }
-protected:
// signals
virtual int comx_ef4_r() { return CLEAR_LINE; }
- virtual void comx_ds_w(int state) { m_ds = state; };
- virtual void comx_q_w(int state) { };
+ virtual void comx_ds_w(int state) { m_ds = state; }
+ virtual void comx_q_w(int state) { }
// memory access
- virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) { return 0; };
- virtual void comx_mwr_w(address_space &space, offs_t offset, uint8_t data) { };
+ virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) { return 0; }
+ virtual void comx_mwr_w(address_space &space, offs_t offset, uint8_t data) { }
// I/O access
- virtual uint8_t comx_io_r(address_space &space, offs_t offset) { return 0; };
- virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) { };
+ virtual uint8_t comx_io_r(address_space &space, offs_t offset) { return 0; }
+ virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) { }
comx_expansion_slot_device *m_slot;
@@ -135,10 +132,10 @@ protected:
// device type definition
-extern const device_type COMX_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(COMX_EXPANSION_SLOT, comx_expansion_slot_device)
SLOT_INTERFACE_EXTERN( comx_expansion_cards );
-#endif
+#endif // MAME_BUS_COMX35_EXP_H
diff --git a/src/devices/bus/comx35/expbox.cpp b/src/devices/bus/comx35/expbox.cpp
index 51962fb2d39..1eacd1dea5e 100644
--- a/src/devices/bus/comx35/expbox.cpp
+++ b/src/devices/bus/comx35/expbox.cpp
@@ -66,7 +66,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_EB = device_creator<comx_eb_device>;
+DEFINE_DEVICE_TYPE(COMX_EB, comx_eb_device, "comx_eb", "COMX-35E Expansion Box")
//-------------------------------------------------
@@ -131,7 +131,7 @@ machine_config_constructor comx_eb_device::device_mconfig_additions() const
//-------------------------------------------------
comx_eb_device::comx_eb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMX_EB, "COMX-35E Expansion Box", tag, owner, clock, "comx_eb", __FILE__),
+ device_t(mconfig, COMX_EB, tag, owner, clock),
device_comx_expansion_card_interface(mconfig, *this),
m_rom(*this, "e000"),
m_select(0)
diff --git a/src/devices/bus/comx35/expbox.h b/src/devices/bus/comx35/expbox.h
index 00febcb6188..ce266ee0402 100644
--- a/src/devices/bus/comx35/expbox.h
+++ b/src/devices/bus/comx35/expbox.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMX35_EXPBOX_H
+#define MAME_BUS_COMX35_EXPBOX_H
-#ifndef __COMX_EB__
-#define __COMX_EB__
+#pragma once
#include "exp.h"
@@ -71,7 +71,7 @@ private:
// device type definition
-extern const device_type COMX_EB;
+DECLARE_DEVICE_TYPE(COMX_EB, comx_eb_device)
-#endif
+#endif // MAME_BUS_COMX35_EXPBOX_H
diff --git a/src/devices/bus/comx35/fdc.cpp b/src/devices/bus/comx35/fdc.cpp
index 8550fe414ec..2c8a8e163cb 100644
--- a/src/devices/bus/comx35/fdc.cpp
+++ b/src/devices/bus/comx35/fdc.cpp
@@ -58,7 +58,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_FD = device_creator<comx_fd_device>;
+DEFINE_DEVICE_TYPE(COMX_FD, comx_fd_device, "comx_fd", "COMX FD")
//-------------------------------------------------
@@ -124,7 +124,7 @@ machine_config_constructor comx_fd_device::device_mconfig_additions() const
//-------------------------------------------------
comx_fd_device::comx_fd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMX_FD, "COMX FD", tag, owner, clock, "comx_fd", __FILE__),
+ device_t(mconfig, COMX_FD, tag, owner, clock),
device_comx_expansion_card_interface(mconfig, *this),
m_fdc(*this, WD1770_TAG),
m_floppy0(*this, WD1770_TAG":0"),
diff --git a/src/devices/bus/comx35/fdc.h b/src/devices/bus/comx35/fdc.h
index ced4a012216..bc23816da98 100644
--- a/src/devices/bus/comx35/fdc.h
+++ b/src/devices/bus/comx35/fdc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMX35_FD_H
+#define MAME_BUS_COMX35_FD_H
-#ifndef __COMX_FD__
-#define __COMX_FD__
+#pragma once
#include "exp.h"
#include "formats/comx35_dsk.h"
@@ -50,7 +50,7 @@ protected:
private:
// internal state
- required_device<wd1770_t> m_fdc;
+ required_device<wd1770_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_memory_region m_rom;
@@ -63,7 +63,7 @@ private:
// device type definition
-extern const device_type COMX_FD;
+DECLARE_DEVICE_TYPE(COMX_FD, comx_fd_device)
-#endif
+#endif // MAME_BUS_COMX35_FD_H
diff --git a/src/devices/bus/comx35/joycard.cpp b/src/devices/bus/comx35/joycard.cpp
index 3a7a7b9b311..4c6e46ff06e 100644
--- a/src/devices/bus/comx35/joycard.cpp
+++ b/src/devices/bus/comx35/joycard.cpp
@@ -22,7 +22,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_JOY = device_creator<comx_joy_device>;
+DEFINE_DEVICE_TYPE(COMX_JOY, comx_joy_device, "comx_joy", "COMX JoyCard")
//-------------------------------------------------
@@ -68,7 +68,7 @@ ioport_constructor comx_joy_device::device_input_ports() const
//-------------------------------------------------
comx_joy_device::comx_joy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMX_JOY, "COMX JoyCard", tag, owner, clock, "comx_joy", __FILE__),
+ device_t(mconfig, COMX_JOY, tag, owner, clock),
device_comx_expansion_card_interface(mconfig, *this),
m_joy1(*this, "JOY1"),
m_joy2(*this, "JOY2")
diff --git a/src/devices/bus/comx35/joycard.h b/src/devices/bus/comx35/joycard.h
index 567d2434599..e2d6bb40151 100644
--- a/src/devices/bus/comx35/joycard.h
+++ b/src/devices/bus/comx35/joycard.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMX35_JOYCARD_H
+#define MAME_BUS_COMX35_JOYCARD_H
-#ifndef __COMX_JOY__
-#define __COMX_JOY__
+#pragma once
#include "exp.h"
@@ -46,7 +46,7 @@ private:
// device type definition
-extern const device_type COMX_JOY;
+DECLARE_DEVICE_TYPE(COMX_JOY, comx_joy_device)
-#endif
+#endif // MAME_BUS_COMX35_JOYCARD_H
diff --git a/src/devices/bus/comx35/printer.cpp b/src/devices/bus/comx35/printer.cpp
index 1a24c93cae6..4a9ced09f17 100644
--- a/src/devices/bus/comx35/printer.cpp
+++ b/src/devices/bus/comx35/printer.cpp
@@ -24,7 +24,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_PRN = device_creator<comx_prn_device>;
+DEFINE_DEVICE_TYPE(COMX_PRN, comx_prn_device, "comx_prn", "COMX-35 Printer Card")
//-------------------------------------------------
@@ -88,7 +88,7 @@ machine_config_constructor comx_prn_device::device_mconfig_additions() const
//-------------------------------------------------
comx_prn_device::comx_prn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMX_PRN, "COMX-35 Printer Card", tag, owner, clock, "comx_prn", __FILE__),
+ device_t(mconfig, COMX_PRN, tag, owner, clock),
device_comx_expansion_card_interface(mconfig, *this),
m_centronics(*this, CENTRONICS_TAG),
m_cent_data_out(*this, "cent_data_out"),
diff --git a/src/devices/bus/comx35/printer.h b/src/devices/bus/comx35/printer.h
index 887abaa13d6..b973982b2f3 100644
--- a/src/devices/bus/comx35/printer.h
+++ b/src/devices/bus/comx35/printer.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMX35_PRINTER_H
+#define MAME_BUS_COMX35_PRINTER_H
-#ifndef __COMX_PRN__
-#define __COMX_PRN__
+#pragma once
#include "exp.h"
#include "machine/buffer.h"
@@ -23,8 +23,7 @@
// ======================> comx_prn_device
-class comx_prn_device : public device_t,
- public device_comx_expansion_card_interface
+class comx_prn_device : public device_t, public device_comx_expansion_card_interface
{
public:
// construction/destruction
@@ -53,7 +52,7 @@ private:
// device type definition
-extern const device_type COMX_PRN;
+DECLARE_DEVICE_TYPE(COMX_PRN, comx_prn_device)
-#endif
+#endif // MAME_BUS_COMX35_PRINTER_H
diff --git a/src/devices/bus/comx35/ram.cpp b/src/devices/bus/comx35/ram.cpp
index 89c7bfff728..c09ef729225 100644
--- a/src/devices/bus/comx35/ram.cpp
+++ b/src/devices/bus/comx35/ram.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_RAM = device_creator<comx_ram_device>;
+DEFINE_DEVICE_TYPE(COMX_RAM, comx_ram_device, "comx_ram", "COMX-35 RAM Card")
//**************************************************************************
@@ -35,7 +35,7 @@ const device_type COMX_RAM = device_creator<comx_ram_device>;
//-------------------------------------------------
comx_ram_device::comx_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMX_RAM, "COMX-35 RAM Card", tag, owner, clock, "comx_ram", __FILE__),
+ device_t(mconfig, COMX_RAM, tag, owner, clock),
device_comx_expansion_card_interface(mconfig, *this),
m_ram(*this, "ram"),
m_bank(0)
diff --git a/src/devices/bus/comx35/ram.h b/src/devices/bus/comx35/ram.h
index fc6af702fa3..251e47e2097 100644
--- a/src/devices/bus/comx35/ram.h
+++ b/src/devices/bus/comx35/ram.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMX35_RAM_H
+#define MAME_BUS_COMX35_RAM_H
-#ifndef __COMX_RAM__
-#define __COMX_RAM__
+#pragma once
#include "exp.h"
@@ -46,7 +46,7 @@ private:
// device type definition
-extern const device_type COMX_RAM;
+DECLARE_DEVICE_TYPE(COMX_RAM, comx_ram_device)
-#endif
+#endif // MAME_BUS_COMX35_RAM_H
diff --git a/src/devices/bus/comx35/thermal.cpp b/src/devices/bus/comx35/thermal.cpp
index d08aac2175e..e1d4f0ed8d3 100644
--- a/src/devices/bus/comx35/thermal.cpp
+++ b/src/devices/bus/comx35/thermal.cpp
@@ -21,7 +21,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMX_THM = device_creator<comx_thm_device>;
+DEFINE_DEVICE_TYPE(COMX_THM, comx_thm_device, "comx_thm", "COMX-35 Thermal Printer Card")
//-------------------------------------------------
@@ -53,7 +53,7 @@ const tiny_rom_entry *comx_thm_device::device_rom_region() const
//-------------------------------------------------
comx_thm_device::comx_thm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMX_THM, "COMX-35 Thermal Printer Card", tag, owner, clock, "comx_thm", __FILE__),
+ device_t(mconfig, COMX_THM, tag, owner, clock),
device_comx_expansion_card_interface(mconfig, *this),
m_rom(*this, "c000")
{
diff --git a/src/devices/bus/comx35/thermal.h b/src/devices/bus/comx35/thermal.h
index 08b46ba6945..feb92f7bc45 100644
--- a/src/devices/bus/comx35/thermal.h
+++ b/src/devices/bus/comx35/thermal.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_COMX35_THERMAL_H
+#define MAME_BUS_COMX35_THERMAL_H
-#ifndef __COMX_THM__
-#define __COMX_THM__
+#pragma once
#include "exp.h"
@@ -47,7 +47,7 @@ private:
// device type definition
-extern const device_type COMX_THM;
+DECLARE_DEVICE_TYPE(COMX_THM, comx_thm_device)
-#endif
+#endif // MAME_BUS_COMX35_THERMAL_H
diff --git a/src/devices/bus/cpc/amdrum.cpp b/src/devices/bus/cpc/amdrum.cpp
index 8cc82aea1cb..2cd233a1b9b 100644
--- a/src/devices/bus/cpc/amdrum.cpp
+++ b/src/devices/bus/cpc/amdrum.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_AMDRUM = device_creator<cpc_amdrum_device>;
+DEFINE_DEVICE_TYPE(CPC_AMDRUM, cpc_amdrum_device, "cpc_amdrum", "Amdrum")
static MACHINE_CONFIG_FRAGMENT( cpc_amdrum )
@@ -38,7 +38,7 @@ machine_config_constructor cpc_amdrum_device::device_mconfig_additions() const
//**************************************************************************
cpc_amdrum_device::cpc_amdrum_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_AMDRUM, "Amdrum", tag, owner, clock, "cpc_amdrum", __FILE__),
+ device_t(mconfig, CPC_AMDRUM, tag, owner, clock),
device_cpc_expansion_card_interface(mconfig, *this),
m_slot(nullptr),
m_dac(*this,"dac")
diff --git a/src/devices/bus/cpc/amdrum.h b/src/devices/bus/cpc/amdrum.h
index f9efb5ce411..6f68a506bd5 100644
--- a/src/devices/bus/cpc/amdrum.h
+++ b/src/devices/bus/cpc/amdrum.h
@@ -12,8 +12,10 @@
*
*/
-#ifndef AMDRUM_H_
-#define AMDRUM_H_
+#ifndef MAME_BUS_CPC_AMDRUM_H
+#define MAME_BUS_CPC_AMDRUM_H
+
+#pragma once
#include "cpcexp.h"
#include "sound/dac.h"
@@ -41,7 +43,7 @@ private:
};
// device type definition
-extern const device_type CPC_AMDRUM;
+DECLARE_DEVICE_TYPE(CPC_AMDRUM, cpc_amdrum_device)
-#endif /* AMDRUM_H_ */
+#endif // MAME_BUS_CPC_AMDRUM_H
diff --git a/src/devices/bus/cpc/brunword4.cpp b/src/devices/bus/cpc/brunword4.cpp
index 1118e0c8b61..6d5a7b885d3 100644
--- a/src/devices/bus/cpc/brunword4.cpp
+++ b/src/devices/bus/cpc/brunword4.cpp
@@ -14,7 +14,7 @@
#include "emu.h"
#include "brunword4.h"
-const device_type CPC_BRUNWORD_MK4 = device_creator<cpc_brunword4_device>;
+DEFINE_DEVICE_TYPE(CPC_BRUNWORD_MK4, cpc_brunword4_device, "cpc_brunword4", "Brunword Elite MK4")
ROM_START( cpc_brunword4 )
@@ -64,8 +64,9 @@ const tiny_rom_entry *cpc_brunword4_device::device_rom_region() const
}
cpc_brunword4_device::cpc_brunword4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_BRUNWORD_MK4, "Brunword Elite MK4", tag, owner, clock, "cpc_brunword4", __FILE__),
- device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr), m_rombank_active(false), m_bank_sel(0)
+ device_t(mconfig, CPC_BRUNWORD_MK4, tag, owner, clock),
+ device_cpc_expansion_card_interface(mconfig, *this),
+ m_slot(nullptr), m_rombank_active(false), m_bank_sel(0)
{
}
diff --git a/src/devices/bus/cpc/brunword4.h b/src/devices/bus/cpc/brunword4.h
index 31d8d38beb3..66d5cdebab5 100644
--- a/src/devices/bus/cpc/brunword4.h
+++ b/src/devices/bus/cpc/brunword4.h
@@ -5,6 +5,10 @@
Brunword MK4 - Word processor ROM / expansion
*/
+#ifndef MAME_BUS_CPC_BRUNWORD4_H
+#define MAME_BUS_CPC_BRUNWORD4_H
+
+#pragma once
#include "cpcexp.h"
@@ -34,4 +38,6 @@ private:
};
// device type definition
-extern const device_type CPC_BRUNWORD_MK4;
+DECLARE_DEVICE_TYPE(CPC_BRUNWORD_MK4, cpc_brunword4_device)
+
+#endif // MAME_BUS_CPC_BRUNWORD4_H
diff --git a/src/devices/bus/cpc/cpc_pds.cpp b/src/devices/bus/cpc/cpc_pds.cpp
index b9ab288ec9a..3273fcf8f8e 100644
--- a/src/devices/bus/cpc/cpc_pds.cpp
+++ b/src/devices/bus/cpc/cpc_pds.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_PDS = device_creator<cpc_pds_device>;
+DEFINE_DEVICE_TYPE(CPC_PDS, cpc_pds_device, "cpc_pds", "Programmers Development System (CPC Target)")
static MACHINE_CONFIG_FRAGMENT( cpc_pds )
@@ -35,8 +35,9 @@ machine_config_constructor cpc_pds_device::device_mconfig_additions() const
//**************************************************************************
cpc_pds_device::cpc_pds_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_PDS, "Programmers Development System (CPC Target)", tag, owner, clock, "cpc_pds", __FILE__),
- device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr),
+ device_t(mconfig, CPC_PDS, tag, owner, clock),
+ device_cpc_expansion_card_interface(mconfig, *this),
+ m_slot(nullptr),
m_pio(*this,"pio")
{
}
diff --git a/src/devices/bus/cpc/cpc_pds.h b/src/devices/bus/cpc/cpc_pds.h
index 5bc1a87cabc..2da3ac96a01 100644
--- a/src/devices/bus/cpc/cpc_pds.h
+++ b/src/devices/bus/cpc/cpc_pds.h
@@ -21,8 +21,10 @@
* running the target side
*/
-#ifndef CPC_PDS_H_
-#define CPC_PDS_H_
+#ifndef MAME_BUS_CPC_CPC_PDS_H
+#define MAME_BUS_CPC_CPC_PDS_H
+
+#pragma once
#include "cpcexp.h"
#include "machine/z80pio.h"
@@ -52,6 +54,6 @@ private:
};
// device type definition
-extern const device_type CPC_PDS;
+DECLARE_DEVICE_TYPE(CPC_PDS, cpc_pds_device)
-#endif /* CPC_PDS_H_ */
+#endif // MAME_BUS_CPC_CPC_PDS_H
diff --git a/src/devices/bus/cpc/cpc_rom.cpp b/src/devices/bus/cpc/cpc_rom.cpp
index 3fa2848aa8c..e3ff29108cc 100644
--- a/src/devices/bus/cpc/cpc_rom.cpp
+++ b/src/devices/bus/cpc/cpc_rom.cpp
@@ -9,7 +9,7 @@
#include "emu.h"
#include "cpc_rom.h"
-const device_type CPC_ROM = device_creator<cpc_rom_device>;
+DEFINE_DEVICE_TYPE(CPC_ROM, cpc_rom_device, "cpc_rom", "CPC ROM Box")
SLOT_INTERFACE_EXTERN(cpc_exp_cards);
@@ -19,14 +19,14 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
// device machine config
static MACHINE_CONFIG_FRAGMENT( cpc_rom )
- MCFG_ROMSLOT_ADD("rom1")
- MCFG_ROMSLOT_ADD("rom2")
- MCFG_ROMSLOT_ADD("rom3")
- MCFG_ROMSLOT_ADD("rom4")
- MCFG_ROMSLOT_ADD("rom5")
- MCFG_ROMSLOT_ADD("rom6")
- MCFG_ROMSLOT_ADD("rom7")
- MCFG_ROMSLOT_ADD("rom8")
+ MCFG_CPC_ROMSLOT_ADD("rom1")
+ MCFG_CPC_ROMSLOT_ADD("rom2")
+ MCFG_CPC_ROMSLOT_ADD("rom3")
+ MCFG_CPC_ROMSLOT_ADD("rom4")
+ MCFG_CPC_ROMSLOT_ADD("rom5")
+ MCFG_CPC_ROMSLOT_ADD("rom6")
+ MCFG_CPC_ROMSLOT_ADD("rom7")
+ MCFG_CPC_ROMSLOT_ADD("rom8")
// pass-through
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
@@ -48,8 +48,9 @@ machine_config_constructor cpc_rom_device::device_mconfig_additions() const
//**************************************************************************
cpc_rom_device::cpc_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_ROM, "ROM Box", tag, owner, clock, "cpc_rom", __FILE__),
- device_cpc_expansion_card_interface(mconfig, *this)
+ device_t(mconfig, CPC_ROM, tag, owner, clock),
+ device_cpc_expansion_card_interface(mconfig, *this),
+ m_rom(*this, "rom%u", 1)
{
}
@@ -73,23 +74,24 @@ void cpc_rom_device::device_reset()
/*** ROM image device ***/
// device type definition
-const device_type ROMSLOT = device_creator<rom_image_device>;
+DEFINE_DEVICE_TYPE(CPC_ROMSLOT, cpc_rom_image_device, "cpc_rom_image", "CPC ROM image")
//-------------------------------------------------
-// rom_image_device - constructor
+// cpc_rom_image_device - constructor
//-------------------------------------------------
-rom_image_device::rom_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ROMSLOT, "ROM image", tag, owner, clock, "rom_image", __FILE__),
- device_image_interface(mconfig, *this), m_base(nullptr)
+cpc_rom_image_device::cpc_rom_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, CPC_ROMSLOT, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , m_base(nullptr)
{
}
//-------------------------------------------------
-// rom_image_device - destructor
+// cpc_rom_image_device - destructor
//-------------------------------------------------
-rom_image_device::~rom_image_device()
+cpc_rom_image_device::~cpc_rom_image_device()
{
}
@@ -97,7 +99,7 @@ rom_image_device::~rom_image_device()
// device_start - device-specific startup
//-------------------------------------------------
-void rom_image_device::device_start()
+void cpc_rom_image_device::device_start()
{
m_base = nullptr;
}
@@ -105,7 +107,7 @@ void rom_image_device::device_start()
/*-------------------------------------------------
DEVICE_IMAGE_LOAD( rom )
-------------------------------------------------*/
-image_init_result rom_image_device::call_load()
+image_init_result cpc_rom_image_device::call_load()
{
device_image_interface* image = this;
uint64_t size = image->length();
@@ -128,7 +130,7 @@ image_init_result rom_image_device::call_load()
/*-------------------------------------------------
DEVICE_IMAGE_UNLOAD( rom )
-------------------------------------------------*/
-void rom_image_device::call_unload()
+void cpc_rom_image_device::call_unload()
{
m_base = nullptr;
}
diff --git a/src/devices/bus/cpc/cpc_rom.h b/src/devices/bus/cpc/cpc_rom.h
index 8330e5baf20..979134b60e8 100644
--- a/src/devices/bus/cpc/cpc_rom.h
+++ b/src/devices/bus/cpc/cpc_rom.h
@@ -6,22 +6,23 @@
*
*/
-#ifndef CPC_ROM_H_
-#define CPC_ROM_H_
+#ifndef MAME_BUS_CPC_CPC_ROM_H
+#define MAME_BUS_CPC_CPC_ROM_H
+
+#pragma once
#include "cpcexp.h"
/*** ROM image device ***/
-// ======================> rom_image_device
+// ======================> cpc_rom_image_device
-class rom_image_device : public device_t,
- public device_image_interface
+class cpc_rom_image_device : public device_t, public device_image_interface
{
public:
// construction/destruction
- rom_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~rom_image_device();
+ cpc_rom_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~cpc_rom_image_device();
// image-level overrides
virtual image_init_result call_load() override;
@@ -49,11 +50,11 @@ private:
// device type definition
-extern const device_type ROMSLOT;
+DECLARE_DEVICE_TYPE(CPC_ROMSLOT, cpc_rom_image_device)
-#define MCFG_ROMSLOT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, ROMSLOT, 0)
+#define MCFG_CPC_ROMSLOT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, CPC_ROMSLOT, 0)
/*** ROM box device ***/
@@ -75,13 +76,11 @@ protected:
virtual void device_reset() override;
private:
- //cpc_expansion_slot_device *m_slot;
-
- rom_image_device* m_rom[8];
+ required_device_array<cpc_rom_image_device, 8> m_rom;
};
// device type definition
-extern const device_type CPC_ROM;
+DECLARE_DEVICE_TYPE(CPC_ROM, cpc_rom_device)
-#endif
+#endif // MAME_BUS_CPC_CPC_ROM_H
diff --git a/src/devices/bus/cpc/cpc_rs232.cpp b/src/devices/bus/cpc/cpc_rs232.cpp
index fee168423f0..3122eb1ff75 100644
--- a/src/devices/bus/cpc/cpc_rs232.cpp
+++ b/src/devices/bus/cpc/cpc_rs232.cpp
@@ -15,8 +15,8 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_RS232 = device_creator<cpc_rs232_device>;
-const device_type CPC_RS232_AMS = device_creator<cpc_ams_rs232_device>;
+DEFINE_DEVICE_TYPE(CPC_RS232, cpc_rs232_device, "cpc_ser", "Pace RS232C interface")
+DEFINE_DEVICE_TYPE(CPC_RS232_AMS, cpc_ams_rs232_device, "cpc_serams", "Amstrad RS232C interface")
// device machine config
static MACHINE_CONFIG_FRAGMENT( cpc_rs232 )
@@ -83,25 +83,22 @@ const tiny_rom_entry *cpc_ams_rs232_device::device_rom_region() const
//**************************************************************************
cpc_rs232_device::cpc_rs232_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_RS232, "Pace RS232C interface", tag, owner, clock, "cpc_ser", __FILE__),
- device_cpc_expansion_card_interface(mconfig, *this),
- m_pit(*this,"pit"),
- m_dart(*this,"dart"),
- m_rs232(*this,"rs232"), m_slot(nullptr)
+ cpc_rs232_device(mconfig, CPC_RS232, tag, owner, clock)
{
}
-cpc_rs232_device::cpc_rs232_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+cpc_rs232_device::cpc_rs232_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_cpc_expansion_card_interface(mconfig, *this),
m_pit(*this,"pit"),
m_dart(*this,"dart"),
- m_rs232(*this,"rs232"), m_slot(nullptr)
+ m_rs232(*this,"rs232"),
+ m_slot(nullptr)
{
}
cpc_ams_rs232_device::cpc_ams_rs232_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- cpc_rs232_device(mconfig, CPC_RS232_AMS, "Amstrad RS232C interface", tag, owner, clock, "cpc_serams", __FILE__)
+ cpc_rs232_device(mconfig, CPC_RS232_AMS, tag, owner, clock)
{
}
diff --git a/src/devices/bus/cpc/cpc_rs232.h b/src/devices/bus/cpc/cpc_rs232.h
index a55ca23fdf8..d6eb4c92d9b 100644
--- a/src/devices/bus/cpc/cpc_rs232.h
+++ b/src/devices/bus/cpc/cpc_rs232.h
@@ -6,23 +6,23 @@
* Created on: 22/04/2014
*/
-#ifndef CPC_RS232_H_
-#define CPC_RS232_H_
+#ifndef MAME_BUS_CPC_CPC_RS232_H
+#define MAME_BUS_CPC_CPC_RS232_H
+#pragma once
+
+#include "cpcexp.h"
#include "machine/z80dart.h"
#include "machine/pit8253.h"
#include "bus/rs232/rs232.h"
-#include "cpcexp.h"
-class cpc_rs232_device : public device_t,
- public device_cpc_expansion_card_interface
+class cpc_rs232_device : public device_t, public device_cpc_expansion_card_interface
{
public:
// construction/destruction
cpc_rs232_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- cpc_rs232_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- // optional information overrides
+ // optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
DECLARE_WRITE_LINE_MEMBER(pit_out0_w);
@@ -34,15 +34,18 @@ public:
DECLARE_READ8_MEMBER(pit_r);
DECLARE_WRITE8_MEMBER(pit_w);
- required_device<pit8253_device> m_pit;
- required_device<z80dart_device> m_dart;
- required_device<rs232_port_device> m_rs232;
protected:
+ cpc_rs232_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
virtual const tiny_rom_entry *device_rom_region() const override;
+ required_device<pit8253_device> m_pit;
+ required_device<z80dart_device> m_dart;
+ required_device<rs232_port_device> m_rs232;
+
private:
cpc_expansion_slot_device *m_slot;
};
@@ -58,7 +61,7 @@ protected:
};
// device type definition
-extern const device_type CPC_RS232;
-extern const device_type CPC_RS232_AMS;
+DECLARE_DEVICE_TYPE(CPC_RS232, cpc_rs232_device)
+DECLARE_DEVICE_TYPE(CPC_RS232_AMS, cpc_ams_rs232_device)
-#endif /* CPC_RS232_H_ */
+#endif // MAME_BUS_CPC_CPC_RS232_H
diff --git a/src/devices/bus/cpc/cpc_ssa1.cpp b/src/devices/bus/cpc/cpc_ssa1.cpp
index af2627e03bb..5e6132dfba0 100644
--- a/src/devices/bus/cpc/cpc_ssa1.cpp
+++ b/src/devices/bus/cpc/cpc_ssa1.cpp
@@ -19,8 +19,8 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_SSA1 = device_creator<cpc_ssa1_device>;
-const device_type CPC_DKSPEECH = device_creator<cpc_dkspeech_device>;
+DEFINE_DEVICE_TYPE(CPC_SSA1, cpc_ssa1_device, "cpc_ssa1", "Amstrad SSA-1")
+DEFINE_DEVICE_TYPE(CPC_DKSPEECH, cpc_dkspeech_device, "cpc_dkspeech", "DK'Tronics Speech Synthesiser")
//-------------------------------------------------
// device I/O handlers
@@ -162,7 +162,7 @@ machine_config_constructor cpc_dkspeech_device::device_mconfig_additions() const
//**************************************************************************
cpc_ssa1_device::cpc_ssa1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_SSA1, "SSA-1", tag, owner, clock, "cpc_ssa1", __FILE__),
+ device_t(mconfig, CPC_SSA1, tag, owner, clock),
device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr), m_rom(nullptr),
m_lrq(1), m_sby(0),
m_sp0256_device(*this,"sp0256")
@@ -170,7 +170,7 @@ cpc_ssa1_device::cpc_ssa1_device(const machine_config &mconfig, const char *tag,
}
cpc_dkspeech_device::cpc_dkspeech_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_DKSPEECH, "DK'Tronics Speech Synthesiser", tag, owner, clock, "cpc_dkspeech", __FILE__),
+ device_t(mconfig, CPC_DKSPEECH, tag, owner, clock),
device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr), m_rom(nullptr),
m_lrq(1), m_sby(0),
m_sp0256_device(*this,"sp0256")
diff --git a/src/devices/bus/cpc/cpc_ssa1.h b/src/devices/bus/cpc/cpc_ssa1.h
index a8943ec4392..da4aafa5a38 100644
--- a/src/devices/bus/cpc/cpc_ssa1.h
+++ b/src/devices/bus/cpc/cpc_ssa1.h
@@ -40,8 +40,10 @@
*
*/
-#ifndef CPC_SSA1_H_
-#define CPC_SSA1_H_
+#ifndef MAME_BUS_CPC_CPC_SSA1_H
+#define MAME_BUS_CPC_CPC_SSA1_H
+
+#pragma once
#include "cpcexp.h"
@@ -120,8 +122,8 @@ private:
};
// device type definition
-extern const device_type CPC_SSA1;
-extern const device_type CPC_DKSPEECH;
+DECLARE_DEVICE_TYPE(CPC_SSA1, cpc_ssa1_device)
+DECLARE_DEVICE_TYPE(CPC_DKSPEECH, cpc_dkspeech_device)
-#endif /* CPC_SSA1_H_ */
+#endif // MAME_BUS_CPC_CPC_SSA1_H
diff --git a/src/devices/bus/cpc/cpcexp.cpp b/src/devices/bus/cpc/cpcexp.cpp
index ff1db3d6741..d40af53711c 100644
--- a/src/devices/bus/cpc/cpcexp.cpp
+++ b/src/devices/bus/cpc/cpcexp.cpp
@@ -16,7 +16,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type CPC_EXPANSION_SLOT = device_creator<cpc_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(CPC_EXPANSION_SLOT, cpc_expansion_slot_device, "cpc_expansion_slot", "Amstrad CPC expansion port")
//**************************************************************************
@@ -25,8 +25,8 @@ const device_type CPC_EXPANSION_SLOT = device_creator<cpc_expansion_slot_device>
device_cpc_expansion_card_interface::device_cpc_expansion_card_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig,device),
- m_rom_sel(0)
+ : device_slot_card_interface(mconfig,device)
+ , m_rom_sel(0)
{
}
@@ -41,14 +41,15 @@ device_cpc_expansion_card_interface::~device_cpc_expansion_card_interface()
// LIVE DEVICE
//**************************************************************************
-cpc_expansion_slot_device::cpc_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_EXPANSION_SLOT, "Amstrad CPC expansion port", tag, owner, clock, "cpc_expansion_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this),
- m_out_reset_cb(*this),
- m_out_romdis_cb(*this),
- m_out_rom_select(*this), m_card(nullptr)
+cpc_expansion_slot_device::cpc_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, CPC_EXPANSION_SLOT, tag, owner, clock)
+ , device_slot_interface(mconfig, *this)
+ , m_out_irq_cb(*this)
+ , m_out_nmi_cb(*this)
+ , m_out_reset_cb(*this)
+ , m_out_romdis_cb(*this)
+ , m_out_rom_select(*this)
+ , m_card(nullptr)
{
}
diff --git a/src/devices/bus/cpc/cpcexp.h b/src/devices/bus/cpc/cpcexp.h
index 9552a4ee803..0f99ea051aa 100644
--- a/src/devices/bus/cpc/cpcexp.h
+++ b/src/devices/bus/cpc/cpcexp.h
@@ -43,10 +43,10 @@
*
*/
-#pragma once
+#ifndef MAME_BUS_CPC_CPCEXP_H
+#define MAME_BUS_CPC_CPCEXP_H
-#ifndef CPCEXP_H_
-#define CPCEXP_H_
+#pragma once
//**************************************************************************
@@ -55,13 +55,6 @@
#define CPC_EXP_SLOT_TAG "cpcexp"
-enum
-{
- MAP_LOWER = 0, // special lower ROM handling
- MAP_UPPER, // special upper ROM handling
- MAP_OTHER // custom ROM handling (eg: Brunword MK4)
-};
-
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
@@ -91,18 +84,27 @@ enum
class device_cpc_expansion_card_interface : public device_slot_card_interface
{
public:
+ enum
+ {
+ MAP_LOWER = 0, // special lower ROM handling
+ MAP_UPPER, // special upper ROM handling
+ MAP_OTHER // custom ROM handling (eg: Brunword MK4)
+ };
+
// construction/destruction
- device_cpc_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_cpc_expansion_card_interface();
// reset
- virtual void cpc_reset_w() { };
- virtual WRITE_LINE_MEMBER( cursor_w ) { };
- virtual WRITE_LINE_MEMBER( romen_w ) { };
+ virtual void cpc_reset_w() { }
+ virtual WRITE_LINE_MEMBER( cursor_w ) { }
+ virtual WRITE_LINE_MEMBER( romen_w ) { }
void set_rom_bank(uint8_t sel) { m_rom_sel = sel; } // tell device the currently selected ROM
uint8_t get_rom_bank() { return m_rom_sel; }
- virtual void set_mapping(uint8_t type) { };
+ virtual void set_mapping(uint8_t type) { }
+
+protected:
+ device_cpc_expansion_card_interface(const machine_config &mconfig, device_t &device);
private:
uint8_t m_rom_sel; // currently selected ROM
@@ -119,11 +121,11 @@ public:
cpc_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~cpc_expansion_slot_device();
- template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_irq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_reset_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_reset_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_romdis_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_romdis_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_rom_select_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_rom_select.set_callback(object); }
+ template <class Object> static devcb_base &set_out_irq_callback(device_t &device, Object &&cb) { return downcast<cpc_expansion_slot_device &>(device).m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<cpc_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_reset_callback(device_t &device, Object &&cb) { return downcast<cpc_expansion_slot_device &>(device).m_out_reset_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_romdis_callback(device_t &device, Object &&cb) { return downcast<cpc_expansion_slot_device &>(device).m_out_romdis_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_rom_select_callback(device_t &device, Object &&cb) { return downcast<cpc_expansion_slot_device &>(device).m_out_rom_select.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( irq_w );
DECLARE_WRITE_LINE_MEMBER( nmi_w );
@@ -153,6 +155,6 @@ protected:
// device type definition
-extern const device_type CPC_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(CPC_EXPANSION_SLOT, cpc_expansion_slot_device)
-#endif /* CPCEXP_H_ */
+#endif // MAME_BUS_CPC_CPCEXP_H
diff --git a/src/devices/bus/cpc/ddi1.cpp b/src/devices/bus/cpc/ddi1.cpp
index b78caa06129..1ee3ab13d06 100644
--- a/src/devices/bus/cpc/ddi1.cpp
+++ b/src/devices/bus/cpc/ddi1.cpp
@@ -7,13 +7,14 @@
#include "emu.h"
#include "ddi1.h"
#include "softlist.h"
+
SLOT_INTERFACE_EXTERN(cpc_exp_cards);
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_DDI1 = device_creator<cpc_ddi1_device>;
+DEFINE_DEVICE_TYPE(CPC_DDI1, cpc_ddi1_device, "cpc_ddi1", "Amstrad DDI-1")
static SLOT_INTERFACE_START( ddi1_floppies )
SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD )
@@ -62,7 +63,7 @@ machine_config_constructor cpc_ddi1_device::device_mconfig_additions() const
//**************************************************************************
cpc_ddi1_device::cpc_ddi1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_DDI1, "DDI-1", tag, owner, clock, "cpc_ddi1", __FILE__),
+ device_t(mconfig, CPC_DDI1, tag, owner, clock),
device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr),
m_fdc(*this,"upd765"),
m_connector(*this,"upd765:0"), m_rom_active(false), m_romen(false)
diff --git a/src/devices/bus/cpc/ddi1.h b/src/devices/bus/cpc/ddi1.h
index 8d900048b32..37d7cd32e1a 100644
--- a/src/devices/bus/cpc/ddi1.h
+++ b/src/devices/bus/cpc/ddi1.h
@@ -8,14 +8,15 @@
*
*/
-#ifndef CPC_DDI1_H_
-#define CPC_DDI1_H_
+#ifndef MAME_BUS_CPC_DDI1_H
+#define MAME_BUS_CPC_DDI1_H
+
+#pragma once
#include "cpcexp.h"
#include "machine/upd765.h"
-class cpc_ddi1_device : public device_t,
- public device_cpc_expansion_card_interface
+class cpc_ddi1_device : public device_t, public device_cpc_expansion_card_interface
{
public:
// construction/destruction
@@ -48,5 +49,6 @@ private:
// device type definition
extern const device_type CPC_DDI1;
+DECLARE_DEVICE_TYPE(CPC_DDI1, cpc_ddi1_device)
-#endif /* CPC_DDI1_H_ */
+#endif // MAME_BUS_CPC_DDI1_H
diff --git a/src/devices/bus/cpc/doubler.cpp b/src/devices/bus/cpc/doubler.cpp
index 5a26931e400..30642445277 100644
--- a/src/devices/bus/cpc/doubler.cpp
+++ b/src/devices/bus/cpc/doubler.cpp
@@ -8,13 +8,12 @@
#include "emu.h"
#include "doubler.h"
-SLOT_INTERFACE_EXTERN(cpc_exp_cards);
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_DOUBLER = device_creator<cpc_doubler_device>;
+DEFINE_DEVICE_TYPE(CPC_DOUBLER, cpc_doubler_device, "cpc_doubler", "Draysoft Doubler")
static MACHINE_CONFIG_FRAGMENT( cpc_doubler )
@@ -38,7 +37,7 @@ machine_config_constructor cpc_doubler_device::device_mconfig_additions() const
//**************************************************************************
cpc_doubler_device::cpc_doubler_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_DOUBLER, "Draysoft Doubler", tag, owner, clock, "cpc_doubler", __FILE__),
+ device_t(mconfig, CPC_DOUBLER, tag, owner, clock),
device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr),
m_tape(*this,"doubler_tape")
{
diff --git a/src/devices/bus/cpc/doubler.h b/src/devices/bus/cpc/doubler.h
index 673e592470e..03d75a16247 100644
--- a/src/devices/bus/cpc/doubler.h
+++ b/src/devices/bus/cpc/doubler.h
@@ -8,8 +8,10 @@
*
*/
-#ifndef DOUBLER_H_
-#define DOUBLER_H_
+#ifndef MAME_BUS_CPC_DOUBLER_H
+#define MAME_BUS_CPC_DOUBLER_H
+
+#pragma once
#include "cpcexp.h"
#include "imagedev/cassette.h"
@@ -39,6 +41,6 @@ private:
};
// device type definition
-extern const device_type CPC_DOUBLER;
+DECLARE_DEVICE_TYPE(CPC_DOUBLER, cpc_doubler_device)
-#endif /* DOUBLER_H_ */
+#endif // MAME_BUS_CPC_DOUBLER_H
diff --git a/src/devices/bus/cpc/hd20.cpp b/src/devices/bus/cpc/hd20.cpp
index 427ef00efd4..5a2a204346e 100644
--- a/src/devices/bus/cpc/hd20.cpp
+++ b/src/devices/bus/cpc/hd20.cpp
@@ -8,13 +8,12 @@
#include "emu.h"
#include "hd20.h"
-SLOT_INTERFACE_EXTERN(cpc_exp_cards);
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_HD20 = device_creator<cpc_hd20_device>;
+DEFINE_DEVICE_TYPE(CPC_HD20, cpc_hd20_device, "cpc_hd20", "Dobbertin HD20")
static MACHINE_CONFIG_FRAGMENT( cpc_hd20 )
MCFG_DEVICE_ADD("hdc",ST11M_HDC,0)
@@ -48,7 +47,7 @@ const tiny_rom_entry *cpc_hd20_device::device_rom_region() const
//**************************************************************************
cpc_hd20_device::cpc_hd20_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_HD20, "Dobbertin HD20", tag, owner, clock, "cpc_hd20", __FILE__),
+ device_t(mconfig, CPC_HD20, tag, owner, clock),
device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr),
m_hdc(*this,"hdc")
{
diff --git a/src/devices/bus/cpc/hd20.h b/src/devices/bus/cpc/hd20.h
index 2837a748b76..e0dd933da73 100644
--- a/src/devices/bus/cpc/hd20.h
+++ b/src/devices/bus/cpc/hd20.h
@@ -11,8 +11,10 @@
*/
-#ifndef HD20_H_
-#define HD20_H_
+#ifndef MAME_BUS_CPC_HD20_H
+#define MAME_BUS_CPC_HD20_H
+
+#pragma once
#include "cpcexp.h"
#include "bus/isa/hdc.h"
@@ -44,6 +46,6 @@ private:
};
// device type definition
-extern const device_type CPC_HD20;
+DECLARE_DEVICE_TYPE(CPC_HD20, cpc_hd20_device)
-#endif /* HD20_H_ */
+#endif // MAME_BUS_CPC_HD20_H
diff --git a/src/devices/bus/cpc/magicsound.cpp b/src/devices/bus/cpc/magicsound.cpp
index 6736f2367dd..c4feaa89f1a 100644
--- a/src/devices/bus/cpc/magicsound.cpp
+++ b/src/devices/bus/cpc/magicsound.cpp
@@ -13,13 +13,11 @@
#include "speaker.h"
-SLOT_INTERFACE_EXTERN(cpc_exp_cards);
-
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type AL_MAGICSOUND = device_creator<al_magicsound_device>;
+DEFINE_DEVICE_TYPE(AL_MAGICSOUND, al_magicsound_device, "al_magicsound", "Aleste Magic Sound Board")
static MACHINE_CONFIG_FRAGMENT( al_magicsound )
@@ -75,7 +73,7 @@ machine_config_constructor al_magicsound_device::device_mconfig_additions() cons
//**************************************************************************
al_magicsound_device::al_magicsound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, AL_MAGICSOUND, "Magic Sound Board", tag, owner, clock, "al_magicsound", __FILE__),
+ device_t(mconfig, AL_MAGICSOUND, tag, owner, clock),
device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr),
m_dac(*this,"dac"),
m_dmac(*this,"dmac"),
diff --git a/src/devices/bus/cpc/magicsound.h b/src/devices/bus/cpc/magicsound.h
index c0d276e5a23..ccb11091988 100644
--- a/src/devices/bus/cpc/magicsound.h
+++ b/src/devices/bus/cpc/magicsound.h
@@ -22,8 +22,10 @@
*
*/
-#ifndef MAGICSOUND_H_
-#define MAGICSOUND_H_
+#ifndef MAME_BUS_CPC_MAGICSOUND_H
+#define MAME_BUS_CPC_MAGICSOUND_H
+
+#pragma once
#include "cpcexp.h"
#include "sound/dmadac.h"
@@ -84,7 +86,7 @@ private:
};
// device type definition
-extern const device_type AL_MAGICSOUND;
+DECLARE_DEVICE_TYPE(AL_MAGICSOUND, al_magicsound_device)
-#endif /* MAGICSOUND_H_ */
+#endif // MAME_BUS_CPC_MAGICSOUND_H
diff --git a/src/devices/bus/cpc/mface2.cpp b/src/devices/bus/cpc/mface2.cpp
index 536a0133f56..0db80e55cc0 100644
--- a/src/devices/bus/cpc/mface2.cpp
+++ b/src/devices/bus/cpc/mface2.cpp
@@ -8,13 +8,14 @@
#include "emu.h"
#include "mface2.h"
+
SLOT_INTERFACE_EXTERN(cpc_exp_cards);
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_MFACE2 = device_creator<cpc_multiface2_device>;
+DEFINE_DEVICE_TYPE(CPC_MFACE2, cpc_multiface2_device, "cpc_mface2", "Multiface II")
// device machine config
static MACHINE_CONFIG_FRAGMENT( cpc_mface2 )
@@ -311,8 +312,9 @@ ioport_constructor cpc_multiface2_device::device_input_ports() const
//**************************************************************************
cpc_multiface2_device::cpc_multiface2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_MFACE2, "Multiface II", tag, owner, clock, "cpc_mf2", __FILE__),
- device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr), m_multiface_ram(nullptr), m_multiface_flags(0), m_romdis(0)
+ device_t(mconfig, CPC_MFACE2, tag, owner, clock),
+ device_cpc_expansion_card_interface(mconfig, *this),
+ m_slot(nullptr), m_multiface_ram(nullptr), m_multiface_flags(0), m_romdis(0)
{
}
diff --git a/src/devices/bus/cpc/mface2.h b/src/devices/bus/cpc/mface2.h
index 0df2cbab52c..de41dc97c15 100644
--- a/src/devices/bus/cpc/mface2.h
+++ b/src/devices/bus/cpc/mface2.h
@@ -17,8 +17,10 @@
* It also monitors all I/O port writes, so that it can restore them when resuming the current application.
*/
-#ifndef MFACE2_H_
-#define MFACE2_H_
+#ifndef MAME_BUS_CPC_MFACE2_H
+#define MAME_BUS_CPC_MFACE2_H
+
+#pragma once
#include "cpcexp.h"
@@ -62,6 +64,6 @@ private:
};
// device type definition
-extern const device_type CPC_MFACE2;
+DECLARE_DEVICE_TYPE(CPC_MFACE2, cpc_multiface2_device)
-#endif /* MFACE2_H_ */
+#endif // MAME_BUS_CPC_MFACE2_H
diff --git a/src/devices/bus/cpc/playcity.cpp b/src/devices/bus/cpc/playcity.cpp
index de8da2d8377..d303fc16f0f 100644
--- a/src/devices/bus/cpc/playcity.cpp
+++ b/src/devices/bus/cpc/playcity.cpp
@@ -21,7 +21,7 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_PLAYCITY = device_creator<cpc_playcity_device>;
+DEFINE_DEVICE_TYPE(CPC_PLAYCITY, cpc_playcity_device, "cpc_playcity", "PlayCity")
// device machine config
static MACHINE_CONFIG_FRAGMENT( cpc_playcity )
@@ -57,8 +57,9 @@ machine_config_constructor cpc_playcity_device::device_mconfig_additions() const
//**************************************************************************
cpc_playcity_device::cpc_playcity_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_PLAYCITY, "PlayCity", tag, owner, clock, "cpc_playcity", __FILE__),
- device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr),
+ device_t(mconfig, CPC_PLAYCITY, tag, owner, clock),
+ device_cpc_expansion_card_interface(mconfig, *this),
+ m_slot(nullptr),
m_ctc(*this,"ctc"),
m_ymz1(*this,"ymz_1"),
m_ymz2(*this,"ymz_2")
diff --git a/src/devices/bus/cpc/playcity.h b/src/devices/bus/cpc/playcity.h
index 27f9851bd6f..f7c2162051c 100644
--- a/src/devices/bus/cpc/playcity.h
+++ b/src/devices/bus/cpc/playcity.h
@@ -14,16 +14,17 @@
* F988 - YMZ294 #2 (left) register select
*/
-#ifndef CPC_PLAYCITY_H_
-#define CPC_PLAYCITY_H_
+#ifndef MAME_BUS_CPC_PLAYCITY_H
+#define MAME_BUS_CPC_PLAYCITY_H
+
+#pragma once
#include "cpcexp.h"
#include "sound/ay8910.h"
#include "machine/z80ctc.h"
-class cpc_playcity_device : public device_t,
- public device_cpc_expansion_card_interface
+class cpc_playcity_device : public device_t, public device_cpc_expansion_card_interface
{
public:
// construction/destruction
@@ -61,7 +62,7 @@ private:
};
// device type definition
-extern const device_type CPC_PLAYCITY;
+DECLARE_DEVICE_TYPE(CPC_PLAYCITY, cpc_playcity_device)
-#endif /* CPC_PLAYCITY_H_ */
+#endif // MAME_BUS_CPC_PLAYCITY_H
diff --git a/src/devices/bus/cpc/smartwatch.cpp b/src/devices/bus/cpc/smartwatch.cpp
index 89805cd607b..cef0a846572 100644
--- a/src/devices/bus/cpc/smartwatch.cpp
+++ b/src/devices/bus/cpc/smartwatch.cpp
@@ -11,13 +11,12 @@
#include "emu.h"
#include "smartwatch.h"
-SLOT_INTERFACE_EXTERN(cpc_exp_cards);
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_SMARTWATCH = device_creator<cpc_smartwatch_device>;
+DEFINE_DEVICE_TYPE(CPC_SMARTWATCH, cpc_smartwatch_device, "cpc_smartwatch", "Dobbertin Smartwatch")
static MACHINE_CONFIG_FRAGMENT( cpc_smartwatch )
@@ -45,7 +44,7 @@ const tiny_rom_entry *cpc_smartwatch_device::device_rom_region() const
//**************************************************************************
cpc_smartwatch_device::cpc_smartwatch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_SMARTWATCH, "Dobbertin Smartwatch", tag, owner, clock, "cpc_smartwatch", __FILE__),
+ device_t(mconfig, CPC_SMARTWATCH, tag, owner, clock),
device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr),
m_rtc(*this,"rtc"), m_bank(nullptr)
{
diff --git a/src/devices/bus/cpc/smartwatch.h b/src/devices/bus/cpc/smartwatch.h
index b27b7b4df67..a555b802553 100644
--- a/src/devices/bus/cpc/smartwatch.h
+++ b/src/devices/bus/cpc/smartwatch.h
@@ -9,14 +9,15 @@
*/
-#ifndef SMARTWATCH_H_
-#define SMARTWATCH_H_
+#ifndef MAME_BUS_CPC_SMARTWATCH_H
+#define MAME_BUS_CPC_SMARTWATCH_H
+
+#pragma once
#include "cpcexp.h"
#include "machine/ds1315.h"
-class cpc_smartwatch_device : public device_t,
- public device_cpc_expansion_card_interface
+class cpc_smartwatch_device : public device_t, public device_cpc_expansion_card_interface
{
public:
// construction/destruction
@@ -41,7 +42,7 @@ private:
};
// device type definition
-extern const device_type CPC_SMARTWATCH;
+DECLARE_DEVICE_TYPE(CPC_SMARTWATCH, cpc_smartwatch_device)
-#endif /* SMARTWATCH_H_ */
+#endif // MAME_BUS_CPC_SMARTWATCH_H
diff --git a/src/devices/bus/cpc/symbfac2.cpp b/src/devices/bus/cpc/symbfac2.cpp
index 049e5f487f2..cba1e4c5003 100644
--- a/src/devices/bus/cpc/symbfac2.cpp
+++ b/src/devices/bus/cpc/symbfac2.cpp
@@ -21,7 +21,7 @@
#include "symbfac2.h"
-const device_type CPC_SYMBIFACE2 = device_creator<cpc_symbiface2_device>;
+DEFINE_DEVICE_TYPE(CPC_SYMBIFACE2, cpc_symbiface2_device, "cpc_symf2", "SYMBiFACE II")
//**************************************************************************
// DEVICE CONFIG INTERFACE
@@ -73,14 +73,16 @@ ioport_constructor cpc_symbiface2_device::device_input_ports() const
//**************************************************************************
cpc_symbiface2_device::cpc_symbiface2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_SYMBIFACE2, "SYMBiFACE II", tag, owner, clock, "cpc_symf2", __FILE__),
- device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr),
+ device_t(mconfig, CPC_SYMBIFACE2, tag, owner, clock),
+ device_cpc_expansion_card_interface(mconfig, *this),
+ m_slot(nullptr),
m_ide(*this,"ide"),
m_rtc(*this,"rtc"),
m_nvram(*this,"nvram"),
m_mouse_x(*this,"sf2_mouse_x"),
m_mouse_y(*this,"sf2_mouse_y"),
- m_mouse_buttons(*this,"sf2_mouse_buttons"), m_iohigh(false), m_ide_data(0), m_mouse_state(0), m_input_x(0), m_input_y(0), m_4xxx_ptr_r(nullptr), m_4xxx_ptr_w(nullptr), m_6xxx_ptr_r(nullptr), m_6xxx_ptr_w(nullptr)
+ m_mouse_buttons(*this,"sf2_mouse_buttons"),
+ m_iohigh(false), m_ide_data(0), m_mouse_state(0), m_input_x(0), m_input_y(0), m_4xxx_ptr_r(nullptr), m_4xxx_ptr_w(nullptr), m_6xxx_ptr_r(nullptr), m_6xxx_ptr_w(nullptr)
{
}
diff --git a/src/devices/bus/cpc/symbfac2.h b/src/devices/bus/cpc/symbfac2.h
index a5a568b423f..9144d8a6519 100644
--- a/src/devices/bus/cpc/symbfac2.h
+++ b/src/devices/bus/cpc/symbfac2.h
@@ -6,13 +6,15 @@
* Created on: 2/08/2014
*/
-#ifndef SYMBFAC2_H_
-#define SYMBFAC2_H_
+#ifndef MAME_BUS_CPC_SYMBFAC2_H
+#define MAME_BUS_CPC_SYMBFAC2_H
+#pragma once
+
+#include "cpcexp.h"
#include "machine/ataintf.h"
#include "machine/ds128x.h"
#include "machine/nvram.h"
-#include "cpcexp.h"
class cpc_symbiface2_device : public device_t,
public device_cpc_expansion_card_interface
@@ -46,6 +48,7 @@ public:
PS2_MOUSE_BUTTONS,
PS2_MOUSE_SCROLL
};
+
protected:
// device-level overrides
virtual void device_start() override;
@@ -78,7 +81,7 @@ private:
};
// device type definition
-extern const device_type CPC_SYMBIFACE2;
+DECLARE_DEVICE_TYPE(CPC_SYMBIFACE2, cpc_symbiface2_device)
-#endif /* SYMBFAC2_H_ */
+#endif // MAME_BUS_CPC_SYMBFAC2_H
diff --git a/src/devices/bus/cpc/transtape.cpp b/src/devices/bus/cpc/transtape.cpp
index 231333dd0e6..fbbe3bc464c 100644
--- a/src/devices/bus/cpc/transtape.cpp
+++ b/src/devices/bus/cpc/transtape.cpp
@@ -10,13 +10,12 @@
#include "emu.h"
#include "transtape.h"
-SLOT_INTERFACE_EXTERN(cpc_exp_cards);
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CPC_TRANSTAPE = device_creator<cpc_transtape_device>;
+DEFINE_DEVICE_TYPE(CPC_TRANSTAPE, cpc_transtape_device, "cpc_transtape", "Hard Micro Transtape")
ROM_START( cpc_transtape )
ROM_REGION( 0x4000, "tt_rom", 0 )
@@ -44,8 +43,9 @@ ioport_constructor cpc_transtape_device::device_input_ports() const
//**************************************************************************
cpc_transtape_device::cpc_transtape_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CPC_TRANSTAPE, "HM Transtape", tag, owner, clock, "cpc_transtape", __FILE__),
- device_cpc_expansion_card_interface(mconfig, *this), m_slot(nullptr), m_cpu(nullptr), m_space(nullptr), m_ram(nullptr),
+ device_t(mconfig, CPC_TRANSTAPE, tag, owner, clock),
+ device_cpc_expansion_card_interface(mconfig, *this),
+ m_slot(nullptr), m_cpu(nullptr), m_space(nullptr), m_ram(nullptr),
m_rom_active(false),
m_romen(true),
m_output(0)
diff --git a/src/devices/bus/cpc/transtape.h b/src/devices/bus/cpc/transtape.h
index b8ae9037266..14fd81a0dc1 100644
--- a/src/devices/bus/cpc/transtape.h
+++ b/src/devices/bus/cpc/transtape.h
@@ -7,8 +7,10 @@
*
*/
-#ifndef TRANSTAPE_H_
-#define TRANSTAPE_H_
+#ifndef MAME_BUS_CPC_TRANSTAPE_H
+#define MAME_BUS_CPC_TRANSTAPE_H
+
+#pragma once
#include "cpcexp.h"
@@ -49,6 +51,6 @@ private:
};
// device type definition
-extern const device_type CPC_TRANSTAPE;
+DECLARE_DEVICE_TYPE(CPC_TRANSTAPE, cpc_transtape_device)
-#endif /* TRANSTAPE_H_ */
+#endif // MAME_BUS_CPC_TRANSTAPE_H
diff --git a/src/devices/bus/crvision/rom.cpp b/src/devices/bus/crvision/rom.cpp
index 773eb00472b..fad177683b0 100644
--- a/src/devices/bus/crvision/rom.cpp
+++ b/src/devices/bus/crvision/rom.cpp
@@ -17,54 +17,53 @@
// crvision_rom_device - constructor
//-------------------------------------------------
-const device_type CRVISION_ROM_4K = device_creator<crvision_rom_device>;
-const device_type CRVISION_ROM_6K = device_creator<crvision_rom6k_device>;
-const device_type CRVISION_ROM_8K = device_creator<crvision_rom8k_device>;
-const device_type CRVISION_ROM_10K = device_creator<crvision_rom10k_device>;
-const device_type CRVISION_ROM_12K = device_creator<crvision_rom12k_device>;
-const device_type CRVISION_ROM_16K = device_creator<crvision_rom16k_device>;
-const device_type CRVISION_ROM_18K = device_creator<crvision_rom18k_device>;
+DEFINE_DEVICE_TYPE(CRVISION_ROM_4K, crvision_rom_device, "crvision_4k", "CreatiVision 4K Carts")
+DEFINE_DEVICE_TYPE(CRVISION_ROM_6K, crvision_rom6k_device, "crvision_6k", "CreatiVision 6K Carts")
+DEFINE_DEVICE_TYPE(CRVISION_ROM_8K, crvision_rom8k_device, "crvision_8k", "CreatiVision 8K Carts")
+DEFINE_DEVICE_TYPE(CRVISION_ROM_10K, crvision_rom10k_device, "crvision_10k", "CreatiVision 10K Carts")
+DEFINE_DEVICE_TYPE(CRVISION_ROM_12K, crvision_rom12k_device, "crvision_12k", "CreatiVision 12K Carts")
+DEFINE_DEVICE_TYPE(CRVISION_ROM_16K, crvision_rom16k_device, "crvision_16k", "CreatiVision 16K Carts")
+DEFINE_DEVICE_TYPE(CRVISION_ROM_18K, crvision_rom18k_device, "crvision_18k", "CreatiVision 18K Carts")
-crvision_rom_device::crvision_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_crvision_cart_interface(mconfig, *this)
+crvision_rom_device::crvision_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_crvision_cart_interface(mconfig, *this)
{
}
crvision_rom_device::crvision_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CRVISION_ROM_4K, "CreatiVision 4K Carts", tag, owner, clock, "crvision_4k", __FILE__),
- device_crvision_cart_interface(mconfig, *this)
+ : crvision_rom_device(mconfig, CRVISION_ROM_4K, tag, owner, clock)
{
}
crvision_rom6k_device::crvision_rom6k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : crvision_rom_device(mconfig, CRVISION_ROM_6K, "CreatiVision 6K Carts", tag, owner, clock, "crvision_6k", __FILE__)
+ : crvision_rom_device(mconfig, CRVISION_ROM_6K, tag, owner, clock)
{
}
crvision_rom8k_device::crvision_rom8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : crvision_rom_device(mconfig, CRVISION_ROM_8K, "CreatiVision 8K Carts", tag, owner, clock, "crvision_8k", __FILE__)
+ : crvision_rom_device(mconfig, CRVISION_ROM_8K, tag, owner, clock)
{
}
crvision_rom10k_device::crvision_rom10k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : crvision_rom_device(mconfig, CRVISION_ROM_10K, "CreatiVision 10K Carts", tag, owner, clock, "crvision_10k", __FILE__)
+ : crvision_rom_device(mconfig, CRVISION_ROM_10K, tag, owner, clock)
{
}
crvision_rom12k_device::crvision_rom12k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : crvision_rom_device(mconfig, CRVISION_ROM_12K, "CreatiVision 12K Carts", tag, owner, clock, "crvision_12k", __FILE__)
+ : crvision_rom_device(mconfig, CRVISION_ROM_12K, tag, owner, clock)
{
}
crvision_rom16k_device::crvision_rom16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : crvision_rom_device(mconfig, CRVISION_ROM_16K, "CreatiVision 16K Carts", tag, owner, clock, "crvision_16k", __FILE__)
+ : crvision_rom_device(mconfig, CRVISION_ROM_16K, tag, owner, clock)
{
}
crvision_rom18k_device::crvision_rom18k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : crvision_rom_device(mconfig, CRVISION_ROM_18K, "CreatiVision 18K Carts", tag, owner, clock, "crvision_18k", __FILE__)
+ : crvision_rom_device(mconfig, CRVISION_ROM_18K, tag, owner, clock)
{
}
diff --git a/src/devices/bus/crvision/rom.h b/src/devices/bus/crvision/rom.h
index c557389ec97..cf15b1e4e2a 100644
--- a/src/devices/bus/crvision/rom.h
+++ b/src/devices/bus/crvision/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __CRVISION_ROM_H
-#define __CRVISION_ROM_H
+#ifndef MAME_BUS_CPC_CRVISION_ROM_H
+#define MAME_BUS_CPC_CRVISION_ROM_H
+
+#pragma once
#include "slot.h"
@@ -13,15 +15,17 @@ class crvision_rom_device : public device_t,
{
public:
// construction/destruction
- crvision_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
crvision_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_rom80) override;
+
+protected:
+ crvision_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override {}
virtual void device_reset() override {}
-
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_rom80) override;
};
// ======================> crvision_rom6k_device
@@ -100,17 +104,14 @@ public:
};
-
-
-
// device type definition
-extern const device_type CRVISION_ROM_4K;
-extern const device_type CRVISION_ROM_6K;
-extern const device_type CRVISION_ROM_8K;
-extern const device_type CRVISION_ROM_10K;
-extern const device_type CRVISION_ROM_12K;
-extern const device_type CRVISION_ROM_16K;
-extern const device_type CRVISION_ROM_18K;
+DECLARE_DEVICE_TYPE(CRVISION_ROM_4K, crvision_rom_device)
+DECLARE_DEVICE_TYPE(CRVISION_ROM_6K, crvision_rom6k_device)
+DECLARE_DEVICE_TYPE(CRVISION_ROM_8K, crvision_rom8k_device)
+DECLARE_DEVICE_TYPE(CRVISION_ROM_10K, crvision_rom10k_device)
+DECLARE_DEVICE_TYPE(CRVISION_ROM_12K, crvision_rom12k_device)
+DECLARE_DEVICE_TYPE(CRVISION_ROM_16K, crvision_rom16k_device)
+DECLARE_DEVICE_TYPE(CRVISION_ROM_18K, crvision_rom18k_device)
-#endif
+#endif // MAME_BUS_CPC_CRVISION_ROM_H
diff --git a/src/devices/bus/crvision/slot.cpp b/src/devices/bus/crvision/slot.cpp
index 48e0fd719ea..a0398840f00 100644
--- a/src/devices/bus/crvision/slot.cpp
+++ b/src/devices/bus/crvision/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type CRVISION_CART_SLOT = device_creator<crvision_cart_slot_device>;
+DEFINE_DEVICE_TYPE(CRVISION_CART_SLOT, crvision_cart_slot_device, "crvision_cart_slot", "CreatiVision Cartridge Slot")
//**************************************************************************
// CreatiVision Cartridges Interface
@@ -63,10 +63,10 @@ void device_crvision_cart_interface::rom_alloc(uint32_t size, const char *tag)
// crvision_cart_slot_device - constructor
//-------------------------------------------------
crvision_cart_slot_device::crvision_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CRVISION_CART_SLOT, "CreatiVision Cartridge Slot", tag, owner, clock, "crvision_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(CRV_4K), m_cart(nullptr)
+ device_t(mconfig, CRVISION_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(CRV_4K), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/crvision/slot.h b/src/devices/bus/crvision/slot.h
index c705d016d1b..bcf841ecfdd 100644
--- a/src/devices/bus/crvision/slot.h
+++ b/src/devices/bus/crvision/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __CRVISION_SLOT_H
-#define __CRVISION_SLOT_H
+#ifndef MAME_BUS_CRVISION_SLOT_H
+#define MAME_BUS_CRVISION_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -30,7 +32,6 @@ class device_crvision_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_crvision_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_crvision_cart_interface();
// reading and writing
@@ -42,6 +43,8 @@ public:
uint32_t get_rom_size() { return m_rom_size; }
protected:
+ device_crvision_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -95,6 +98,7 @@ protected:
// device type definition
extern const device_type CRVISION_CART_SLOT;
+DECLARE_DEVICE_TYPE(CRVISION_CART_SLOT, crvision_cart_slot_device)
/***************************************************************************
@@ -106,4 +110,5 @@ extern const device_type CRVISION_CART_SLOT;
#define MCFG_CRVISION_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, CRVISION_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+#endif // MAME_BUS_CRVISION_SLOT_H
diff --git a/src/devices/bus/dmv/dmvbus.cpp b/src/devices/bus/dmv/dmvbus.cpp
index 379be49cef2..80cb8ae748c 100644
--- a/src/devices/bus/dmv/dmvbus.cpp
+++ b/src/devices/bus/dmv/dmvbus.cpp
@@ -162,7 +162,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type DMVCART_SLOT = device_creator<dmvcart_slot_device>;
+DEFINE_DEVICE_TYPE(DMVCART_SLOT, dmvcart_slot_device, "dmvcart_slot", "Decision Mate V cartridge slot")
//**************************************************************************
// DMV cartridge interface
@@ -195,13 +195,13 @@ device_dmvslot_interface::~device_dmvslot_interface()
// dmvcart_slot_device - constructor
//-------------------------------------------------
dmvcart_slot_device::dmvcart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, DMVCART_SLOT, "Decision Mate V cartridge slot", tag, owner, clock, "dmvcart_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_prog_read_cb(*this),
- m_prog_write_cb(*this),
- m_out_int_cb(*this),
- m_out_irq_cb(*this),
- m_out_thold_cb(*this), m_cart(nullptr)
+ device_t(mconfig, DMVCART_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_prog_read_cb(*this),
+ m_prog_write_cb(*this),
+ m_out_int_cb(*this),
+ m_out_irq_cb(*this),
+ m_out_thold_cb(*this), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/dmv/dmvbus.h b/src/devices/bus/dmv/dmvbus.h
index ab5d152515c..62a1d7254b9 100644
--- a/src/devices/bus/dmv/dmvbus.h
+++ b/src/devices/bus/dmv/dmvbus.h
@@ -6,8 +6,10 @@
*********************************************************************/
-#ifndef __DMV_CART_H__
-#define __DMV_CART_H__
+#ifndef MAME_BUS_DMV_DMVBUS_H
+#define MAME_BUS_DMV_DMVBUS_H
+
+#pragma once
/***************************************************************************
TYPE DEFINITIONS
@@ -19,7 +21,6 @@ class device_dmvslot_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_dmvslot_interface(const machine_config &mconfig, device_t &device);
virtual ~device_dmvslot_interface();
virtual bool read(offs_t offset, uint8_t &data) { return false; }
@@ -45,6 +46,9 @@ public:
virtual void irq4_w(int state) { }
virtual void irq5_w(int state) { }
virtual void irq6_w(int state) { }
+
+protected:
+ device_dmvslot_interface(const machine_config &mconfig, device_t &device);
};
@@ -58,11 +62,11 @@ public:
dmvcart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~dmvcart_slot_device();
- template<class _Object> static devcb_base &set_prog_read_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_prog_read_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_prog_write_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_prog_write_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_int_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_out_int_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_out_irq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_thold_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_out_thold_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_prog_read_callback(device_t &device, Object &&cb) { return downcast<dmvcart_slot_device &>(device).m_prog_read_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_prog_write_callback(device_t &device, Object &&cb) { return downcast<dmvcart_slot_device &>(device).m_prog_write_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_int_callback(device_t &device, Object &&cb) { return downcast<dmvcart_slot_device &>(device).m_out_int_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq_callback(device_t &device, Object &&cb) { return downcast<dmvcart_slot_device &>(device).m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_thold_callback(device_t &device, Object &&cb) { return downcast<dmvcart_slot_device &>(device).m_out_thold_cb.set_callback(std::forward<Object>(cb)); }
// device-level overrides
virtual void device_start() override;
@@ -99,7 +103,7 @@ public:
// device type definition
-extern const device_type DMVCART_SLOT;
+DECLARE_DEVICE_TYPE(DMVCART_SLOT, dmvcart_slot_device)
/***************************************************************************
@@ -119,4 +123,4 @@ extern const device_type DMVCART_SLOT;
#define MCFG_DMVCART_SLOT_OUT_THOLD_CB(_devcb) \
devcb = &dmvcart_slot_device::set_out_thold_callback(*device, DEVCB_##_devcb);
-#endif /* __DMV_CART_H__ */
+#endif // MAME_BUS_DMV_DMVBUS_H
diff --git a/src/devices/bus/dmv/k210.cpp b/src/devices/bus/dmv/k210.cpp
index cb3c67a5f4e..d8bc83f88a9 100644
--- a/src/devices/bus/dmv/k210.cpp
+++ b/src/devices/bus/dmv/k210.cpp
@@ -41,7 +41,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type DMV_K210 = device_creator<dmv_k210_device>;
+DEFINE_DEVICE_TYPE(DMV_K210, dmv_k210_device, "dmv_k210", "K210 Centronics")
//**************************************************************************
// LIVE DEVICE
@@ -52,13 +52,14 @@ const device_type DMV_K210 = device_creator<dmv_k210_device>;
//-------------------------------------------------
dmv_k210_device::dmv_k210_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DMV_K210, "K210 Centronics", tag, owner, clock, "dmv_k210", __FILE__),
- device_dmvslot_interface( mconfig, *this ),
- m_ppi(*this, "ppi8255"),
- m_centronics(*this, "centronics"),
- m_cent_data_in(*this, "cent_data_in"),
- m_cent_data_out(*this, "cent_data_out"), m_bus(nullptr), m_clk1_timer(nullptr), m_portb(0), m_portc(0)
- {
+ : device_t(mconfig, DMV_K210, tag, owner, clock)
+ , device_dmvslot_interface(mconfig, *this)
+ , m_ppi(*this, "ppi8255")
+ , m_centronics(*this, "centronics")
+ , m_cent_data_in(*this, "cent_data_in")
+ , m_cent_data_out(*this, "cent_data_out")
+ , m_bus(nullptr), m_clk1_timer(nullptr), m_portb(0), m_portc(0)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/dmv/k210.h b/src/devices/bus/dmv/k210.h
index 4c31252218b..dea7863f19a 100644
--- a/src/devices/bus/dmv/k210.h
+++ b/src/devices/bus/dmv/k210.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_DMV_K210_H
+#define MAME_BUS_DMV_K210_H
-#ifndef __DMV_K210_H__
-#define __DMV_K210_H__
+#pragma once
#include "dmvbus.h"
#include "machine/i8255.h"
@@ -65,6 +65,6 @@ private:
// device type definition
-extern const device_type DMV_K210;
+DECLARE_DEVICE_TYPE(DMV_K210, dmv_k210_device)
-#endif /* __DMV_K210_H__ */
+#endif // MAME_BUS_DMV_K210_H
diff --git a/src/devices/bus/dmv/k220.cpp b/src/devices/bus/dmv/k220.cpp
index 9f5ad2dd154..863c5ce3f58 100644
--- a/src/devices/bus/dmv/k220.cpp
+++ b/src/devices/bus/dmv/k220.cpp
@@ -122,7 +122,7 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type DMV_K220 = device_creator<dmv_k220_device>;
+DEFINE_DEVICE_TYPE(DMV_K220, dmv_k220_device, "dmv_k220", "K220 diagnostic")
//**************************************************************************
// LIVE DEVICE
@@ -133,13 +133,14 @@ const device_type DMV_K220 = device_creator<dmv_k220_device>;
//-------------------------------------------------
dmv_k220_device::dmv_k220_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DMV_K220, "K220 diagnostic", tag, owner, clock, "dmv_k220", __FILE__),
- device_dmvslot_interface( mconfig, *this ),
- m_pit(*this, "pit8253"),
- m_ppi(*this, "ppi8255"),
- m_ram(*this, "ram"),
- m_rom(*this, "rom"), m_portc(0)
- {
+ : device_t(mconfig, DMV_K220, tag, owner, clock)
+ , device_dmvslot_interface(mconfig, *this)
+ , m_pit(*this, "pit8253")
+ , m_ppi(*this, "ppi8255")
+ , m_ram(*this, "ram")
+ , m_rom(*this, "rom")
+ , m_portc(0)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/dmv/k220.h b/src/devices/bus/dmv/k220.h
index 125f317170a..fe71e2311da 100644
--- a/src/devices/bus/dmv/k220.h
+++ b/src/devices/bus/dmv/k220.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_DMV_K220_H
+#define MAME_BUS_DMV_K220_H
-#ifndef __DMV_K220_H__
-#define __DMV_K220_H__
+#pragma once
#include "dmvbus.h"
#include "machine/i8255.h"
@@ -55,5 +55,6 @@ private:
// device type definition
extern const device_type DMV_K220;
+DECLARE_DEVICE_TYPE(DMV_K220, dmv_k220_device)
-#endif /* __DMV_K220_H__ */
+#endif // MAME_BUS_DMV_K220_H
diff --git a/src/devices/bus/dmv/k230.cpp b/src/devices/bus/dmv/k230.cpp
index 4aad694c433..4d6dbe2d5f6 100644
--- a/src/devices/bus/dmv/k230.cpp
+++ b/src/devices/bus/dmv/k230.cpp
@@ -93,10 +93,10 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type DMV_K230 = device_creator<dmv_k230_device>;
-const device_type DMV_K231 = device_creator<dmv_k231_device>;
-const device_type DMV_K234 = device_creator<dmv_k234_device>;
-const device_type DMV_K235 = device_creator<dmv_k235_device>;
+DEFINE_DEVICE_TYPE(DMV_K230, dmv_k230_device, "dmv_k230", "K230 8088 without interrupt controller")
+DEFINE_DEVICE_TYPE(DMV_K231, dmv_k231_device, "dmv_k231", "K231 8088 without interrupt controller")
+DEFINE_DEVICE_TYPE(DMV_K234, dmv_k234_device, "dmv_k234", "K234 68008")
+DEFINE_DEVICE_TYPE(DMV_K235, dmv_k235_device, "dmv_k235", "K235 8088 with interrupt controller")
//**************************************************************************
// LIVE DEVICE
@@ -107,19 +107,16 @@ const device_type DMV_K235 = device_creator<dmv_k235_device>;
//-------------------------------------------------
dmv_k230_device::dmv_k230_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DMV_K230, "K230 8088 without interrupt controller", tag, owner, clock, "dmv_k230", __FILE__),
- device_dmvslot_interface( mconfig, *this ),
- m_maincpu(*this, "maincpu"),
- m_rom(*this, "rom"), m_bus(nullptr), m_io(nullptr), m_switch16(0), m_hold(0)
- {
+ : dmv_k230_device(mconfig, DMV_K230, tag, owner, clock)
+{
}
-dmv_k230_device::dmv_k230_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_dmvslot_interface( mconfig, *this ),
- m_maincpu(*this, "maincpu"),
- m_rom(*this, "rom"), m_bus(nullptr), m_io(nullptr), m_switch16(0), m_hold(0)
- {
+dmv_k230_device::dmv_k230_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_dmvslot_interface(mconfig, *this)
+ , m_maincpu(*this, "maincpu")
+ , m_rom(*this, "rom"), m_bus(nullptr), m_io(nullptr), m_switch16(0), m_hold(0)
+{
}
//-------------------------------------------------
@@ -127,7 +124,7 @@ dmv_k230_device::dmv_k230_device(const machine_config &mconfig, device_type type
//-------------------------------------------------
dmv_k231_device::dmv_k231_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dmv_k230_device(mconfig, DMV_K231, "K231 8088 without interrupt controller", tag, owner, clock, "dmv_k231", __FILE__)
+ : dmv_k230_device(mconfig, DMV_K231, tag, owner, clock)
{
}
@@ -136,8 +133,8 @@ dmv_k231_device::dmv_k231_device(const machine_config &mconfig, const char *tag,
//-------------------------------------------------
dmv_k234_device::dmv_k234_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dmv_k230_device(mconfig, DMV_K234, "K234 68008", tag, owner, clock, "dmv_k234", __FILE__), m_snr(0)
- {
+ : dmv_k230_device(mconfig, DMV_K234, tag, owner, clock), m_snr(0)
+{
}
//-------------------------------------------------
@@ -145,9 +142,7 @@ dmv_k234_device::dmv_k234_device(const machine_config &mconfig, const char *tag,
//-------------------------------------------------
dmv_k235_device::dmv_k235_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dmv_k230_device(mconfig, DMV_K235, "K235 8088 with interrupt controller", tag, owner, clock, "dmv_k235", __FILE__),
- m_pic(*this, "pic8259"),
- m_dsw(*this, "DSW")
+ : dmv_k230_device(mconfig, DMV_K235, tag, owner, clock), m_pic(*this, "pic8259"), m_dsw(*this, "DSW")
{
}
diff --git a/src/devices/bus/dmv/k230.h b/src/devices/bus/dmv/k230.h
index 1f5da13a87f..9e183b1c997 100644
--- a/src/devices/bus/dmv/k230.h
+++ b/src/devices/bus/dmv/k230.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_DMV_K230_H
+#define MAME_BUS_DMV_K230_H
-#ifndef __DMV_K230_H__
-#define __DMV_K230_H__
+#pragma once
#include "dmvbus.h"
#include "cpu/i86/i86.h"
@@ -28,7 +28,6 @@ class dmv_k230_device :
{
public:
// construction/destruction
- dmv_k230_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
dmv_k230_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -42,6 +41,8 @@ public:
DECLARE_READ8_MEMBER(rom_r);
protected:
+ dmv_k230_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -137,9 +138,9 @@ private:
};
// device type definition
-extern const device_type DMV_K230;
-extern const device_type DMV_K231;
-extern const device_type DMV_K234;
-extern const device_type DMV_K235;
+DECLARE_DEVICE_TYPE(DMV_K230, dmv_k230_device)
+DECLARE_DEVICE_TYPE(DMV_K231, dmv_k231_device)
+DECLARE_DEVICE_TYPE(DMV_K234, dmv_k234_device)
+DECLARE_DEVICE_TYPE(DMV_K235, dmv_k235_device)
-#endif /* __DMV_K230_H__ */
+#endif // MAME_BUS_DMV_K230_H
diff --git a/src/devices/bus/dmv/k233.cpp b/src/devices/bus/dmv/k233.cpp
index 129823975a7..2ba68d3f53f 100644
--- a/src/devices/bus/dmv/k233.cpp
+++ b/src/devices/bus/dmv/k233.cpp
@@ -18,7 +18,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type DMV_K233 = device_creator<dmv_k233_device>;
+DEFINE_DEVICE_TYPE(DMV_K233, dmv_k233_device, "dmv_k233", "K233 16K Shared RAM")
//**************************************************************************
// LIVE DEVICE
@@ -29,11 +29,11 @@ const device_type DMV_K233 = device_creator<dmv_k233_device>;
//-------------------------------------------------
dmv_k233_device::dmv_k233_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DMV_K233, "K233 16K Shared RAM", tag, owner, clock, "dmv_k233", __FILE__),
- device_dmvslot_interface( mconfig, *this ),
- m_enabled(false),
- m_ram(nullptr)
- {
+ : device_t(mconfig, DMV_K233, tag, owner, clock)
+ , device_dmvslot_interface(mconfig, *this)
+ , m_enabled(false)
+ , m_ram(nullptr)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/dmv/k233.h b/src/devices/bus/dmv/k233.h
index 6641f97bf08..8aa2f0d235b 100644
--- a/src/devices/bus/dmv/k233.h
+++ b/src/devices/bus/dmv/k233.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_DMV_K233_H
+#define MAME_BUS_DMV_K233_H
-#ifndef __DMV_K233_H__
-#define __DMV_K233_H__
+#pragma once
#include "dmvbus.h"
@@ -38,6 +38,6 @@ private:
// device type definition
-extern const device_type DMV_K233;
+DECLARE_DEVICE_TYPE(DMV_K233, dmv_k233_device)
-#endif /* __DMV_K233_H__ */
+#endif // MAME_BUS_DMV_K233_H
diff --git a/src/devices/bus/dmv/k801.cpp b/src/devices/bus/dmv/k801.cpp
index c466e83e121..2a739363465 100644
--- a/src/devices/bus/dmv/k801.cpp
+++ b/src/devices/bus/dmv/k801.cpp
@@ -98,10 +98,10 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type DMV_K801 = device_creator<dmv_k801_device>;
-const device_type DMV_K211 = device_creator<dmv_k211_device>;
-const device_type DMV_K212 = device_creator<dmv_k212_device>;
-const device_type DMV_K213 = device_creator<dmv_k213_device>;
+DEFINE_DEVICE_TYPE(DMV_K801, dmv_k801_device, "dmv_k801", "K801 RS-232 Switchable Interface")
+DEFINE_DEVICE_TYPE(DMV_K211, dmv_k211_device, "dmv_k211", "K211 RS-232 Communications Interface")
+DEFINE_DEVICE_TYPE(DMV_K212, dmv_k212_device, "dmv_k212", "K212 RS-232 Printer Interface")
+DEFINE_DEVICE_TYPE(DMV_K213, dmv_k213_device, "dmv_k213", "K213 RS-232 Plotter Interface")
//**************************************************************************
// LIVE DEVICE
@@ -112,19 +112,16 @@ const device_type DMV_K213 = device_creator<dmv_k213_device>;
//-------------------------------------------------
dmv_k801_device::dmv_k801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DMV_K801, "K801 RS-232 Switchable Interface", tag, owner, clock, "dmv_k801", __FILE__),
- device_dmvslot_interface( mconfig, *this ),
- m_epci(*this, "epci"),
- m_dsw(*this, "DSW"), m_bus(nullptr)
- {
+ : dmv_k801_device(mconfig, DMV_K801, tag, owner, clock)
+{
}
-dmv_k801_device::dmv_k801_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_dmvslot_interface( mconfig, *this ),
- m_epci(*this, "epci"),
- m_dsw(*this, "DSW"), m_bus(nullptr)
- {
+dmv_k801_device::dmv_k801_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock),
+ device_dmvslot_interface( mconfig, *this ),
+ m_epci(*this, "epci"),
+ m_dsw(*this, "DSW"), m_bus(nullptr)
+{
}
//-------------------------------------------------
@@ -132,13 +129,13 @@ dmv_k801_device::dmv_k801_device(const machine_config &mconfig, device_type type
//-------------------------------------------------
dmv_k211_device::dmv_k211_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dmv_k801_device(mconfig, DMV_K211, "K211 RS-232 Communications Interface", tag, owner, clock, "dmv_k211", __FILE__)
+ : dmv_k211_device(mconfig, DMV_K211, tag, owner, clock)
{
}
-dmv_k211_device::dmv_k211_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : dmv_k801_device(mconfig, type, name, tag, owner, clock, shortname, source)
+dmv_k211_device::dmv_k211_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : dmv_k801_device(mconfig, type, tag, owner, clock)
{
}
@@ -147,7 +144,7 @@ dmv_k211_device::dmv_k211_device(const machine_config &mconfig, device_type type
//-------------------------------------------------
dmv_k212_device::dmv_k212_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dmv_k211_device(mconfig, DMV_K212, "K212 RS-232 Printer Interface", tag, owner, clock, "dmv_k212", __FILE__)
+ : dmv_k211_device(mconfig, DMV_K212, tag, owner, clock)
{
}
@@ -156,7 +153,7 @@ dmv_k212_device::dmv_k212_device(const machine_config &mconfig, const char *tag,
//-------------------------------------------------
dmv_k213_device::dmv_k213_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dmv_k211_device(mconfig, DMV_K213, "K213 RS-232 Plotter Interface", tag, owner, clock, "dmv_k213", __FILE__)
+ : dmv_k211_device(mconfig, DMV_K213, tag, owner, clock)
{
}
diff --git a/src/devices/bus/dmv/k801.h b/src/devices/bus/dmv/k801.h
index a569dc5efab..cad9701e61e 100644
--- a/src/devices/bus/dmv/k801.h
+++ b/src/devices/bus/dmv/k801.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_DMV_K801_H
+#define MAME_BUS_DMV_K801_H
-#ifndef __DMV_K801_H__
-#define __DMV_K801_H__
+#pragma once
#include "dmvbus.h"
#include "machine/mc2661.h"
@@ -23,7 +23,6 @@ class dmv_k801_device :
public:
// construction/destruction
dmv_k801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- dmv_k801_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
@@ -32,6 +31,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(epci_irq_w);
protected:
+ dmv_k801_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -55,13 +56,14 @@ class dmv_k211_device :
public:
// construction/destruction
dmv_k211_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- dmv_k211_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
+ dmv_k211_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// dmvcart_interface overrides
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
@@ -97,9 +99,9 @@ public:
// device type definition
-extern const device_type DMV_K801;
-extern const device_type DMV_K211;
-extern const device_type DMV_K212;
-extern const device_type DMV_K213;
+DECLARE_DEVICE_TYPE(DMV_K801, dmv_k801_device)
+DECLARE_DEVICE_TYPE(DMV_K211, dmv_k211_device)
+DECLARE_DEVICE_TYPE(DMV_K212, dmv_k212_device)
+DECLARE_DEVICE_TYPE(DMV_K213, dmv_k213_device)
-#endif /* __DMV_K801_H__ */
+#endif // MAME_BUS_DMV_K801_H
diff --git a/src/devices/bus/dmv/k803.cpp b/src/devices/bus/dmv/k803.cpp
index be80480bac6..299b0655e40 100644
--- a/src/devices/bus/dmv/k803.cpp
+++ b/src/devices/bus/dmv/k803.cpp
@@ -38,7 +38,7 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type DMV_K803 = device_creator<dmv_k803_device>;
+DEFINE_DEVICE_TYPE(DMV_K803, dmv_k803_device, "dmv_k803", "K803 RTC")
//**************************************************************************
@@ -50,11 +50,11 @@ const device_type DMV_K803 = device_creator<dmv_k803_device>;
//-------------------------------------------------
dmv_k803_device::dmv_k803_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DMV_K803, "K803 RTC", tag, owner, clock, "dmv_k803", __FILE__),
- device_dmvslot_interface( mconfig, *this ),
- m_rtc(*this, "rtc"),
- m_dsw(*this, "DSW"), m_bus(nullptr), m_latch(0), m_rtc_int(0)
- {
+ : device_t(mconfig, DMV_K803, tag, owner, clock),
+ device_dmvslot_interface( mconfig, *this ),
+ m_rtc(*this, "rtc"),
+ m_dsw(*this, "DSW"), m_bus(nullptr), m_latch(0), m_rtc_int(0)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/dmv/k803.h b/src/devices/bus/dmv/k803.h
index 714c08b1e45..0446a8bbeb4 100644
--- a/src/devices/bus/dmv/k803.h
+++ b/src/devices/bus/dmv/k803.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_DMV_K803_H
+#define MAME_BUS_DMV_K803_H
-#ifndef __DMV_K803_H__
-#define __DMV_K803_H__
+#pragma once
#include "dmvbus.h"
#include "machine/mm58167.h"
@@ -48,6 +48,6 @@ private:
// device type definition
-extern const device_type DMV_K803;
+DECLARE_DEVICE_TYPE(DMV_K803, dmv_k803_device)
-#endif /* __DMV_K803_H__ */
+#endif // MAME_BUS_DMV_K803_H
diff --git a/src/devices/bus/dmv/k806.cpp b/src/devices/bus/dmv/k806.cpp
index 7e4309ac5a9..9d0f986b7f9 100644
--- a/src/devices/bus/dmv/k806.cpp
+++ b/src/devices/bus/dmv/k806.cpp
@@ -61,7 +61,7 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type DMV_K806 = device_creator<dmv_k806_device>;
+DEFINE_DEVICE_TYPE(DMV_K806, dmv_k806_device, "dmv_k806", "K806 mouse")
//**************************************************************************
// LIVE DEVICE
@@ -72,14 +72,15 @@ const device_type DMV_K806 = device_creator<dmv_k806_device>;
//-------------------------------------------------
dmv_k806_device::dmv_k806_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DMV_K806, "K806 mouse", tag, owner, clock, "dmv_k806", __FILE__),
- device_dmvslot_interface( mconfig, *this ),
- m_mcu(*this, "mcu"),
- m_jumpers(*this, "JUMPERS"),
- m_mouse_buttons(*this, "MOUSE"),
- m_mouse_x(*this, "MOUSEX"),
- m_mouse_y(*this, "MOUSEY"), m_bus(nullptr)
- {
+ : device_t(mconfig, DMV_K806, tag, owner, clock)
+ , device_dmvslot_interface( mconfig, *this )
+ , m_mcu(*this, "mcu")
+ , m_jumpers(*this, "JUMPERS")
+ , m_mouse_buttons(*this, "MOUSE")
+ , m_mouse_x(*this, "MOUSEX")
+ , m_mouse_y(*this, "MOUSEY")
+ , m_bus(nullptr)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/dmv/k806.h b/src/devices/bus/dmv/k806.h
index 4e1330d5578..bcb41068f82 100644
--- a/src/devices/bus/dmv/k806.h
+++ b/src/devices/bus/dmv/k806.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_DMV_K806_H
+#define MAME_BUS_DMV_K806_H
-#ifndef __DMV_K806_H__
-#define __DMV_K806_H__
+#pragma once
#include "dmvbus.h"
#include "cpu/mcs48/mcs48.h"
@@ -66,6 +66,6 @@ private:
// device type definition
-extern const device_type DMV_K806;
+DECLARE_DEVICE_TYPE(DMV_K806, dmv_k806_device)
-#endif /* __DMV_K806_H__ */
+#endif // MAME_BUS_DMV_K806_H
diff --git a/src/devices/bus/dmv/ram.cpp b/src/devices/bus/dmv/ram.cpp
index b676a7c3148..2e879fc9ce6 100644
--- a/src/devices/bus/dmv/ram.cpp
+++ b/src/devices/bus/dmv/ram.cpp
@@ -20,22 +20,23 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type DMV_K200 = device_creator<dmv_k200_device>;
-const device_type DMV_K202 = device_creator<dmv_k202_device>;
-const device_type DMV_K208 = device_creator<dmv_k208_device>;
+DEFINE_DEVICE_TYPE(DMV_K200, dmv_k200_device, "dmv_k200", "K200 64K RAM expansion")
+DEFINE_DEVICE_TYPE(DMV_K202, dmv_k202_device, "dmv_k202", "K202 192K RAM expansion")
+DEFINE_DEVICE_TYPE(DMV_K208, dmv_k208_device, "dmv_k208", "K208 448K RAM expansion")
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
-// dmv_ram_device - constructor
+// dmv_ram_device_base - constructor
//-------------------------------------------------
-dmv_ram_device::dmv_ram_device(const machine_config &mconfig, device_type type, uint32_t size, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_dmvslot_interface( mconfig, *this ), m_ram(nullptr),
- m_size(size)
+dmv_ram_device_base::dmv_ram_device_base(const machine_config &mconfig, device_type type, uint32_t size, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_dmvslot_interface(mconfig, *this)
+ , m_ram(nullptr)
+ , m_size(size)
{
}
@@ -44,7 +45,7 @@ dmv_ram_device::dmv_ram_device(const machine_config &mconfig, device_type type,
//-------------------------------------------------
dmv_k200_device::dmv_k200_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dmv_ram_device(mconfig, DMV_K200, 1, "K200 64K RAM expansion", tag, owner, clock, "dmv_k200", __FILE__)
+ : dmv_ram_device_base(mconfig, DMV_K200, 1, tag, owner, clock)
{
}
@@ -53,7 +54,7 @@ dmv_k200_device::dmv_k200_device(const machine_config &mconfig, const char *tag,
//-------------------------------------------------
dmv_k202_device::dmv_k202_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dmv_ram_device(mconfig, DMV_K202, 3, "K202 192K RAM expansion", tag, owner, clock, "dmv_k202", __FILE__)
+ : dmv_ram_device_base(mconfig, DMV_K202, 3, tag, owner, clock)
{
}
@@ -62,7 +63,7 @@ dmv_k202_device::dmv_k202_device(const machine_config &mconfig, const char *tag,
//-------------------------------------------------
dmv_k208_device::dmv_k208_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : dmv_ram_device(mconfig, DMV_K208, 7 , "K208 448K RAM expansion", tag, owner, clock, "dmv_k208", __FILE__)
+ : dmv_ram_device_base(mconfig, DMV_K208, 7, tag, owner, clock)
{
}
@@ -70,7 +71,7 @@ dmv_k208_device::dmv_k208_device(const machine_config &mconfig, const char *tag,
// device_start - device-specific startup
//-------------------------------------------------
-void dmv_ram_device::device_start()
+void dmv_ram_device_base::device_start()
{
m_ram = machine().memory().region_alloc( "expram", m_size * 0x10000, 1, ENDIANNESS_LITTLE )->base();
}
@@ -79,7 +80,7 @@ void dmv_ram_device::device_start()
// read
//-------------------------------------------------
-void dmv_ram_device::ram_read(uint8_t cas, offs_t offset, uint8_t &data)
+void dmv_ram_device_base::ram_read(uint8_t cas, offs_t offset, uint8_t &data)
{
if (cas && cas <= m_size)
data = m_ram[((cas - 1) << 16) | (offset & 0xffff)];
@@ -89,7 +90,7 @@ void dmv_ram_device::ram_read(uint8_t cas, offs_t offset, uint8_t &data)
// write
//-------------------------------------------------
-void dmv_ram_device::ram_write(uint8_t cas, offs_t offset, uint8_t data)
+void dmv_ram_device_base::ram_write(uint8_t cas, offs_t offset, uint8_t data)
{
if (cas && cas <= m_size)
m_ram[((cas - 1) << 16) | (offset & 0xffff)] = data;
diff --git a/src/devices/bus/dmv/ram.h b/src/devices/bus/dmv/ram.h
index 783c7bacf42..43e7820a9ca 100644
--- a/src/devices/bus/dmv/ram.h
+++ b/src/devices/bus/dmv/ram.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_DMV_RAM_H
+#define MAME_BUS_DMV_RAM_H
-#ifndef __DMV_RAM_H__
-#define __DMV_RAM_H__
+#pragma once
#include "dmvbus.h"
@@ -13,15 +13,14 @@
// ======================>
-class dmv_ram_device :
+class dmv_ram_device_base :
public device_t,
public device_dmvslot_interface
{
-public:
+protected:
// construction/destruction
- dmv_ram_device(const machine_config &mconfig, device_type type, uint32_t size, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ dmv_ram_device_base(const machine_config &mconfig, device_type type, uint32_t size, const char *tag, device_t *owner, uint32_t clock);
-protected:
// device-level overrides
virtual void device_start() override;
@@ -35,8 +34,7 @@ private:
};
-class dmv_k200_device :
- public dmv_ram_device
+class dmv_k200_device : public dmv_ram_device_base
{
public:
// construction/destruction
@@ -44,8 +42,7 @@ public:
};
-class dmv_k202_device :
- public dmv_ram_device
+class dmv_k202_device : public dmv_ram_device_base
{
public:
// construction/destruction
@@ -53,8 +50,7 @@ public:
};
-class dmv_k208_device :
- public dmv_ram_device
+class dmv_k208_device : public dmv_ram_device_base
{
public:
// construction/destruction
@@ -63,8 +59,8 @@ public:
// device type definition
-extern const device_type DMV_K200;
-extern const device_type DMV_K202;
-extern const device_type DMV_K208;
+DECLARE_DEVICE_TYPE(DMV_K200, dmv_k200_device)
+DECLARE_DEVICE_TYPE(DMV_K202, dmv_k202_device)
+DECLARE_DEVICE_TYPE(DMV_K208, dmv_k208_device)
-#endif /* __DMV_RAM_H__ */
+#endif // MAME_BUS_DMV_RAM_H
diff --git a/src/devices/bus/ecbbus/ecbbus.cpp b/src/devices/bus/ecbbus/ecbbus.cpp
index 0947322dfc7..7649dea491a 100644
--- a/src/devices/bus/ecbbus/ecbbus.cpp
+++ b/src/devices/bus/ecbbus/ecbbus.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ECBBUS_SLOT = device_creator<ecbbus_slot_device>;
+DEFINE_DEVICE_TYPE(ECBBUS_SLOT, ecbbus_slot_device, "ecbbus_slot", "ECB bus slot")
@@ -28,8 +28,9 @@ const device_type ECBBUS_SLOT = device_creator<ecbbus_slot_device>;
//-------------------------------------------------
ecbbus_slot_device::ecbbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ECBBUS_SLOT, "ECB bus slot", tag, owner, clock, "ecbbus_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_bus_tag(nullptr), m_bus_num(0), m_bus(nullptr)
+ device_t(mconfig, ECBBUS_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_bus_tag(nullptr), m_bus_num(0), m_bus(nullptr)
{
}
@@ -63,7 +64,7 @@ void ecbbus_slot_device::device_start()
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ECBBUS = device_creator<ecbbus_device>;
+DEFINE_DEVICE_TYPE(ECBBUS, ecbbus_device, "ecbbus", "ECB bus")
@@ -92,12 +93,11 @@ device_ecbbus_card_interface::device_ecbbus_card_interface(const machine_config
//-------------------------------------------------
ecbbus_device::ecbbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ECBBUS, "ECB bus", tag, owner, clock, "ecbbus", __FILE__),
+ device_t(mconfig, ECBBUS, tag, owner, clock),
m_write_irq(*this),
m_write_nmi(*this)
{
- for (auto & elem : m_ecbbus_device)
- elem = nullptr;
+ std::fill(std::begin(m_ecbbus_device), std::end(m_ecbbus_device), nullptr);
}
diff --git a/src/devices/bus/ecbbus/ecbbus.h b/src/devices/bus/ecbbus/ecbbus.h
index 8fb7e51f893..9a4943e0a19 100644
--- a/src/devices/bus/ecbbus/ecbbus.h
+++ b/src/devices/bus/ecbbus/ecbbus.h
@@ -42,10 +42,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ECBBUS_ECBBUS_H
+#define MAME_BUS_ECBBUS_ECBBUS_H
-#ifndef __ECBBUS__
-#define __ECBBUS__
+#pragma once
@@ -56,9 +56,6 @@
#define ECBBUS_TAG "ecbbus"
-#define MAX_ECBBUS_SLOTS 16
-
-
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
@@ -110,7 +107,7 @@ private:
// device type definition
-extern const device_type ECBBUS_SLOT;
+DECLARE_DEVICE_TYPE(ECBBUS_SLOT, ecbbus_slot_device)
// ======================> ecbbus_interface
@@ -126,8 +123,8 @@ public:
// construction/destruction
ecbbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<ecbbus_device &>(device).m_write_irq.set_callback(object); }
- template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<ecbbus_device &>(device).m_write_nmi.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<ecbbus_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_nmi_wr_callback(device_t &device, Object &&cb) { return downcast<ecbbus_device &>(device).m_write_nmi.set_callback(std::forward<Object>(cb)); }
void add_card(device_ecbbus_card_interface *card, int pos);
@@ -145,6 +142,8 @@ protected:
virtual void device_start() override;
private:
+ static constexpr unsigned MAX_ECBBUS_SLOTS = 16;
+
devcb_write_line m_write_irq;
devcb_write_line m_write_nmi;
@@ -153,7 +152,7 @@ private:
// device type definition
-extern const device_type ECBBUS;
+DECLARE_DEVICE_TYPE(ECBBUS, ecbbus_device)
// ======================> device_ecbbus_card_interface
@@ -164,17 +163,16 @@ class device_ecbbus_card_interface : public device_slot_card_interface
friend class ecbbus_device;
public:
- // construction/destruction
- device_ecbbus_card_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_ecbbus_card_interface() { }
-
// optional operation overrides
virtual uint8_t ecbbus_mem_r(offs_t offset) { return 0; };
virtual void ecbbus_mem_w(offs_t offset, uint8_t data) { };
virtual uint8_t ecbbus_io_r(offs_t offset) { return 0; };
virtual void ecbbus_io_w(offs_t offset, uint8_t data) { };
-public:
+protected:
+ // construction/destruction
+ device_ecbbus_card_interface(const machine_config &mconfig, device_t &device);
+
ecbbus_slot_device *m_slot;
};
@@ -183,4 +181,4 @@ SLOT_INTERFACE_EXTERN( ecbbus_cards );
-#endif
+#endif // MAME_BUS_ECBBUS_ECBBUS_H
diff --git a/src/devices/bus/ecbbus/grip.cpp b/src/devices/bus/ecbbus/grip.cpp
index 3dea8a6b486..6ec37c878fd 100644
--- a/src/devices/bus/ecbbus/grip.cpp
+++ b/src/devices/bus/ecbbus/grip.cpp
@@ -35,7 +35,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ECB_GRIP21 = device_creator<grip_device>;
+DEFINE_DEVICE_TYPE(ECB_GRIP21, ecb_grip21_device, "ecb_grip21", "Conitec Datensysteme GRIP-2.1")
@@ -109,7 +109,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *grip_device::device_rom_region() const
+const tiny_rom_entry *ecb_grip21_device::device_rom_region() const
{
return ROM_NAME( grip21 );
}
@@ -124,7 +124,7 @@ const tiny_rom_entry *grip_device::device_rom_region() const
// ADDRESS_MAP( grip_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( grip_mem, AS_PROGRAM, 8, grip_device )
+static ADDRESS_MAP_START( grip_mem, AS_PROGRAM, 8, ecb_grip21_device )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0xffff) AM_RAMBANK("videoram")
@@ -135,7 +135,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( grip_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( grip_io, AS_IO, 8, grip_device )
+static ADDRESS_MAP_START( grip_io, AS_IO, 8, ecb_grip21_device )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(cxstb_r, cxstb_w)
// AM_RANGE(0x10, 0x10) AM_WRITE(ccon_w)
@@ -227,7 +227,7 @@ ADDRESS_MAP_END
// mc6845
//-------------------------------------------------
-MC6845_UPDATE_ROW( grip_device::crtc_update_row )
+MC6845_UPDATE_ROW( ecb_grip21_device::crtc_update_row )
{
for (int column = 0; column < x_count; column++)
{
@@ -244,7 +244,7 @@ MC6845_UPDATE_ROW( grip_device::crtc_update_row )
}
}
/*
-MC6845_UPDATE_ROW( grip_device::grip5_update_row )
+MC6845_UPDATE_ROW( ecb_grip21_device::grip5_update_row )
{
const rgb_t *palette = m_palette->palette()->entry_list_raw();
int column, bit;
@@ -264,7 +264,7 @@ MC6845_UPDATE_ROW( grip_device::grip5_update_row )
}
}
-MC6845_ON_UPDATE_ADDR_CHANGED( grip_device::grip5_addr_changed )
+MC6845_ON_UPDATE_ADDR_CHANGED( ecb_grip21_device::grip5_addr_changed )
{
}
*/
@@ -275,7 +275,7 @@ static const int16_t speaker_levels[] = { -32768, 0, 32767, 0 };
// I8255A interface
//-------------------------------------------------
-READ8_MEMBER( grip_device::ppi_pa_r )
+READ8_MEMBER( ecb_grip21_device::ppi_pa_r )
{
/*
@@ -295,7 +295,7 @@ READ8_MEMBER( grip_device::ppi_pa_r )
return m_ppi_pa;
}
-WRITE8_MEMBER( grip_device::ppi_pa_w )
+WRITE8_MEMBER( ecb_grip21_device::ppi_pa_w )
{
/*
@@ -315,7 +315,7 @@ WRITE8_MEMBER( grip_device::ppi_pa_w )
m_ppi_pa = data;
}
-READ8_MEMBER( grip_device::ppi_pb_r )
+READ8_MEMBER( ecb_grip21_device::ppi_pb_r )
{
/*
@@ -335,7 +335,7 @@ READ8_MEMBER( grip_device::ppi_pb_r )
return m_keydata;
}
-WRITE8_MEMBER( grip_device::ppi_pc_w )
+WRITE8_MEMBER( ecb_grip21_device::ppi_pc_w )
{
/*
@@ -371,12 +371,12 @@ WRITE8_MEMBER( grip_device::ppi_pc_w )
// Z80STI_INTERFACE( sti_intf )
//-------------------------------------------------
-WRITE_LINE_MEMBER(grip_device::write_centronics_busy)
+WRITE_LINE_MEMBER(ecb_grip21_device::write_centronics_busy)
{
m_centronics_busy = state;
}
-READ8_MEMBER( grip_device::sti_gpio_r )
+READ8_MEMBER( ecb_grip21_device::sti_gpio_r )
{
/*
@@ -413,7 +413,7 @@ READ8_MEMBER( grip_device::sti_gpio_r )
return data;
}
-WRITE_LINE_MEMBER( grip_device::speaker_w )
+WRITE_LINE_MEMBER( ecb_grip21_device::speaker_w )
{
int level = state && ((m_vol1 << 1) | m_vol0);
@@ -435,7 +435,7 @@ static const z80_daisy_config grip_daisy_chain[] =
// ASCII_KEYBOARD_INTERFACE( kb_intf )
//-------------------------------------------------
-WRITE8_MEMBER( grip_device::kb_w )
+void ecb_grip21_device::kb_w(uint8_t data)
{
if (!m_kbf)
{
@@ -482,33 +482,33 @@ static MACHINE_CONFIG_FRAGMENT( grip )
MCFG_MC6845_ADD(MC6845_TAG, MC6845, SCREEN_TAG, XTAL_16MHz/4)
MCFG_MC6845_SHOW_BORDER_AREA(true)
MCFG_MC6845_CHAR_WIDTH(8)
- MCFG_MC6845_UPDATE_ROW_CB(grip_device, crtc_update_row)
+ MCFG_MC6845_UPDATE_ROW_CB(ecb_grip21_device, crtc_update_row)
MCFG_MC6845_OUT_DE_CB(DEVWRITELINE(Z80STI_TAG, z80sti_device, i1_w))
MCFG_MC6845_OUT_CUR_CB(DEVWRITELINE(Z80STI_TAG, z80sti_device, i1_w))
// MCFG_MC6845_ADD(HD6345_TAG, HD6345, SCREEN_TAG, XTAL_16MHz/4)
MCFG_DEVICE_ADD(I8255A_TAG, I8255A, 0)
- MCFG_I8255_IN_PORTA_CB(READ8(grip_device, ppi_pa_r))
- MCFG_I8255_OUT_PORTA_CB(WRITE8(grip_device, ppi_pa_w))
- MCFG_I8255_IN_PORTB_CB(READ8(grip_device, ppi_pb_r))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(grip_device, ppi_pc_w))
+ MCFG_I8255_IN_PORTA_CB(READ8(ecb_grip21_device, ppi_pa_r))
+ MCFG_I8255_OUT_PORTA_CB(WRITE8(ecb_grip21_device, ppi_pa_w))
+ MCFG_I8255_IN_PORTB_CB(READ8(ecb_grip21_device, ppi_pb_r))
+ MCFG_I8255_OUT_PORTC_CB(WRITE8(ecb_grip21_device, ppi_pc_w))
MCFG_DEVICE_ADD(Z80STI_TAG, Z80STI, XTAL_16MHz/4)
MCFG_Z80STI_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
- MCFG_Z80STI_IN_GPIO_CB(READ8(grip_device, sti_gpio_r))
- MCFG_Z80STI_OUT_TBO_CB(WRITELINE(grip_device, speaker_w))
+ MCFG_Z80STI_IN_GPIO_CB(READ8(ecb_grip21_device, sti_gpio_r))
+ MCFG_Z80STI_OUT_TBO_CB(WRITELINE(ecb_grip21_device, speaker_w))
MCFG_Z80STI_OUT_TCO_CB(DEVWRITELINE(Z80STI_TAG, z80sti_device, tc_w))
MCFG_Z80STI_OUT_TDO_CB(DEVWRITELINE(Z80STI_TAG, z80sti_device, tc_w))
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_devices, "printer")
- MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(grip_device, write_centronics_busy))
- MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(grip_device, write_centronics_fault))
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(ecb_grip21_device, write_centronics_busy))
+ MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(ecb_grip21_device, write_centronics_fault))
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0)
- MCFG_GENERIC_KEYBOARD_CB(WRITE8(grip_device, kb_w))
+ MCFG_GENERIC_KEYBOARD_CB(PUT(ecb_grip21_device, kb_w))
MACHINE_CONFIG_END
@@ -517,7 +517,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor grip_device::device_mconfig_additions() const
+machine_config_constructor ecb_grip21_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( grip );
}
@@ -602,7 +602,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor grip_device::device_input_ports() const
+ioport_constructor ecb_grip21_device::device_input_ports() const
{
return INPUT_PORTS_NAME( grip );
}
@@ -614,11 +614,11 @@ ioport_constructor grip_device::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// grip_device - constructor
+// ecb_grip21_device - constructor
//-------------------------------------------------
-grip_device::grip_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ECB_GRIP21, "GRIP-2.1", tag, owner, clock, "grip", __FILE__),
+ecb_grip21_device::ecb_grip21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, ECB_GRIP21, tag, owner, clock),
device_ecbbus_card_interface(mconfig, *this),
m_ppi(*this, I8255A_TAG),
m_sti(*this, Z80STI_TAG),
@@ -629,7 +629,8 @@ grip_device::grip_device(const machine_config &mconfig, const char *tag, device_
m_video_ram(*this, "video_ram"),
m_j3a(*this, "J3A"),
m_j3b(*this, "J3B"),
- m_j7(*this, "J7"), m_centronics_busy(0), m_centronics_fault(0), m_vol0(0), m_vol1(0), m_ia(0), m_ib(0), m_keydata(0), m_kbf(0), m_lps(0), m_page(0), m_flash(0), m_base(0), m_ppi_pa(0), m_ppi_pc(0), m_kb_timer(nullptr)
+ m_j7(*this, "J7"),
+ m_centronics_busy(0), m_centronics_fault(0), m_vol0(0), m_vol1(0), m_ia(0), m_ib(0), m_keydata(0), m_kbf(0), m_lps(0), m_page(0), m_flash(0), m_base(0), m_ppi_pa(0), m_ppi_pc(0), m_kb_timer(nullptr)
{
}
@@ -637,7 +638,7 @@ grip_device::grip_device(const machine_config &mconfig, const char *tag, device_
// device_start - device-specific startup
//-------------------------------------------------
-void grip_device::device_start()
+void ecb_grip21_device::device_start()
{
// allocate video RAM
m_video_ram.allocate(VIDEORAM_SIZE);
@@ -663,7 +664,7 @@ void grip_device::device_start()
/*
void grip5_state::machine_start()
{
- grip_device::machine_start();
+ ecb_grip21_device::machine_start();
// setup ROM banking
membank("eprom")->configure_entries(0, 2, memregion(Z80_TAG)->base(), 0x4000);
@@ -678,7 +679,7 @@ void grip5_state::machine_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void grip_device::device_reset()
+void ecb_grip21_device::device_reset()
{
m_base = m_j7->read();
m_page = 0;
@@ -690,7 +691,7 @@ void grip_device::device_reset()
// vol0_w - volume 0
//-------------------------------------------------
-WRITE8_MEMBER( grip_device::vol0_w )
+WRITE8_MEMBER( ecb_grip21_device::vol0_w )
{
m_vol0 = BIT(data, 7);
}
@@ -700,7 +701,7 @@ WRITE8_MEMBER( grip_device::vol0_w )
// vol1_w - volume 1
//-------------------------------------------------
-WRITE8_MEMBER( grip_device::vol1_w )
+WRITE8_MEMBER( ecb_grip21_device::vol1_w )
{
m_vol1 = BIT(data, 7);
}
@@ -710,7 +711,7 @@ WRITE8_MEMBER( grip_device::vol1_w )
// flash_w -
//-------------------------------------------------
-WRITE8_MEMBER( grip_device::flash_w )
+WRITE8_MEMBER( ecb_grip21_device::flash_w )
{
m_flash = BIT(data, 7);
}
@@ -720,7 +721,7 @@ WRITE8_MEMBER( grip_device::flash_w )
// page_w - video page select
//-------------------------------------------------
-WRITE8_MEMBER( grip_device::page_w )
+WRITE8_MEMBER( ecb_grip21_device::page_w )
{
m_page = BIT(data, 7);
@@ -732,12 +733,12 @@ WRITE8_MEMBER( grip_device::page_w )
// stat_r -
//-------------------------------------------------
-WRITE_LINE_MEMBER(grip_device::write_centronics_fault)
+WRITE_LINE_MEMBER(ecb_grip21_device::write_centronics_fault)
{
m_centronics_fault = state;
}
-READ8_MEMBER( grip_device::stat_r )
+READ8_MEMBER( ecb_grip21_device::stat_r )
{
/*
@@ -795,7 +796,7 @@ READ8_MEMBER( grip_device::stat_r )
// lrs_r -
//-------------------------------------------------
-READ8_MEMBER( grip_device::lrs_r )
+READ8_MEMBER( ecb_grip21_device::lrs_r )
{
m_lps = 0;
@@ -807,7 +808,7 @@ READ8_MEMBER( grip_device::lrs_r )
// lrs_w -
//-------------------------------------------------
-WRITE8_MEMBER( grip_device::lrs_w )
+WRITE8_MEMBER( ecb_grip21_device::lrs_w )
{
m_lps = 0;
}
@@ -817,7 +818,7 @@ WRITE8_MEMBER( grip_device::lrs_w )
// cxstb_r - centronics strobe
//-------------------------------------------------
-READ8_MEMBER( grip_device::cxstb_r )
+READ8_MEMBER( ecb_grip21_device::cxstb_r )
{
m_centronics->write_strobe(0);
m_centronics->write_strobe(1);
@@ -830,7 +831,7 @@ READ8_MEMBER( grip_device::cxstb_r )
// cxstb_w - centronics strobe
//-------------------------------------------------
-WRITE8_MEMBER( grip_device::cxstb_w )
+WRITE8_MEMBER( ecb_grip21_device::cxstb_w )
{
m_centronics->write_strobe(0);
m_centronics->write_strobe(1);
@@ -862,7 +863,7 @@ WRITE8_MEMBER( grip5_state::dpage_w )
// ecbbus_io_r - I/O read
//-------------------------------------------------
-uint8_t grip_device::ecbbus_io_r(offs_t offset)
+uint8_t ecb_grip21_device::ecbbus_io_r(offs_t offset)
{
uint8_t data = 0;
@@ -890,7 +891,7 @@ uint8_t grip_device::ecbbus_io_r(offs_t offset)
// ecbbus_io_w - I/O write
//-------------------------------------------------
-void grip_device::ecbbus_io_w(offs_t offset, uint8_t data)
+void ecb_grip21_device::ecbbus_io_w(offs_t offset, uint8_t data)
{
if ((offset & 0xfe) == m_base)
{
diff --git a/src/devices/bus/ecbbus/grip.h b/src/devices/bus/ecbbus/grip.h
index 0dc2d86bf8b..a261b22a557 100644
--- a/src/devices/bus/ecbbus/grip.h
+++ b/src/devices/bus/ecbbus/grip.h
@@ -28,14 +28,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> grip_device
+// ======================> ecb_grip21_device
-class grip_device : public device_t,
- public device_ecbbus_card_interface
+class ecb_grip21_device : public device_t, public device_ecbbus_card_interface
{
public:
// construction/destruction
- grip_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ecb_grip21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -58,7 +57,8 @@ public:
DECLARE_WRITE8_MEMBER( ppi_pc_w );
DECLARE_READ8_MEMBER( sti_gpio_r );
DECLARE_WRITE_LINE_MEMBER( speaker_w );
- DECLARE_WRITE8_MEMBER( kb_w );
+
+ void kb_w(uint8_t data);
DECLARE_WRITE_LINE_MEMBER( write_centronics_busy );
DECLARE_WRITE_LINE_MEMBER( write_centronics_fault );
@@ -126,6 +126,6 @@ private:
// device type definition
-extern const device_type ECB_GRIP21;
+DECLARE_DEVICE_TYPE(ECB_GRIP21, ecb_grip21_device)
#endif // MAME_BUS_ECBBUS_GRIP_H
diff --git a/src/devices/bus/econet/e01.cpp b/src/devices/bus/econet/e01.cpp
index 80fc8bb3029..675f270e0c9 100644
--- a/src/devices/bus/econet/e01.cpp
+++ b/src/devices/bus/econet/e01.cpp
@@ -75,11 +75,13 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type E01 = device_creator<e01_device>;
-const device_type E01S = device_creator<e01s_device>;
+DEFINE_DEVICE_TYPE(ECONET_E01, econet_e01_device, "econet_e01", "Acorn FileStore E01")
+DEFINE_DEVICE_TYPE(ECONET_E01S, econet_e01s_device, "econet_e01s", "Acorn FileStore E01S")
-e01s_device::e01s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- :e01_device(mconfig, E01S, "Acorn FileStore E01S", tag, owner, clock, "e01s", __FILE__) { m_variant = TYPE_E01S; }
+econet_e01s_device::econet_e01s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : econet_e01_device(mconfig, ECONET_E01S, tag, owner, clock, TYPE_E01S)
+{
+}
//-------------------------------------------------
@@ -113,7 +115,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *e01_device::device_rom_region() const
+const tiny_rom_entry *econet_e01_device::device_rom_region() const
{
switch (m_variant)
{
@@ -131,7 +133,7 @@ const tiny_rom_entry *e01_device::device_rom_region() const
// MC146818_INTERFACE( rtc_intf )
//-------------------------------------------------
-WRITE_LINE_MEMBER(e01_device::rtc_irq_w)
+WRITE_LINE_MEMBER(econet_e01_device::rtc_irq_w)
{
m_rtc_irq = state;
@@ -143,26 +145,26 @@ WRITE_LINE_MEMBER(e01_device::rtc_irq_w)
// mc6854_interface adlc_intf
//-------------------------------------------------
-WRITE_LINE_MEMBER( e01_device::adlc_irq_w )
+WRITE_LINE_MEMBER( econet_e01_device::adlc_irq_w )
{
m_adlc_irq = state;
update_interrupts();
}
-WRITE_LINE_MEMBER( e01_device::econet_data_w )
+WRITE_LINE_MEMBER( econet_e01_device::econet_data_w )
{
m_econet->data_w(this, state);
}
-WRITE_LINE_MEMBER(e01_device::via_irq_w)
+WRITE_LINE_MEMBER(econet_e01_device::via_irq_w)
{
m_via_irq = state;
update_interrupts();
}
-WRITE_LINE_MEMBER( e01_device::clk_en_w )
+WRITE_LINE_MEMBER( econet_e01_device::clk_en_w )
{
m_clk_en = state;
}
@@ -175,21 +177,21 @@ static SLOT_INTERFACE_START( e01_floppies )
SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) // NEC FD1036 A
SLOT_INTERFACE_END
-WRITE_LINE_MEMBER( e01_device::fdc_irq_w )
+WRITE_LINE_MEMBER( econet_e01_device::fdc_irq_w )
{
m_fdc_irq = state;
update_interrupts();
}
-WRITE_LINE_MEMBER( e01_device::fdc_drq_w )
+WRITE_LINE_MEMBER( econet_e01_device::fdc_drq_w )
{
m_fdc_drq = state;
update_interrupts();
}
-WRITE_LINE_MEMBER( e01_device::scsi_bsy_w )
+WRITE_LINE_MEMBER( econet_e01_device::scsi_bsy_w )
{
m_scsi_ctrl_in->write_bit1(state);
@@ -199,7 +201,7 @@ WRITE_LINE_MEMBER( e01_device::scsi_bsy_w )
}
}
-WRITE_LINE_MEMBER( e01_device::scsi_req_w )
+WRITE_LINE_MEMBER( econet_e01_device::scsi_req_w )
{
m_scsi_ctrl_in->write_bit5(state);
@@ -217,12 +219,12 @@ WRITE_LINE_MEMBER( e01_device::scsi_req_w )
// ADDRESS_MAP( e01_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( e01_mem, AS_PROGRAM, 8, e01_device )
+static ADDRESS_MAP_START( e01_mem, AS_PROGRAM, 8, econet_e01_device )
AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
AM_RANGE(0xfc00, 0xfc00) AM_MIRROR(0x00c3) AM_READWRITE(rtc_address_r, rtc_address_w)
AM_RANGE(0xfc04, 0xfc04) AM_MIRROR(0x00c3) AM_READWRITE(rtc_data_r, rtc_data_w)
AM_RANGE(0xfc08, 0xfc08) AM_MIRROR(0x00c0) AM_READ(ram_select_r) AM_WRITE(floppy_w)
- AM_RANGE(0xfc0c, 0xfc0f) AM_MIRROR(0x00c0) AM_DEVREADWRITE(WD2793_TAG, wd2793_t, read, write)
+ AM_RANGE(0xfc0c, 0xfc0f) AM_MIRROR(0x00c0) AM_DEVREADWRITE(WD2793_TAG, wd2793_device, read, write)
AM_RANGE(0xfc10, 0xfc1f) AM_MIRROR(0x00c0) AM_DEVREADWRITE(R6522_TAG, via6522_device, read, write)
AM_RANGE(0xfc20, 0xfc23) AM_MIRROR(0x00c0) AM_DEVREADWRITE(MC6854_TAG, mc6854_device, read, write)
AM_RANGE(0xfc24, 0xfc24) AM_MIRROR(0x00c3) AM_READWRITE(network_irq_disable_r, network_irq_disable_w)
@@ -245,19 +247,19 @@ static MACHINE_CONFIG_FRAGMENT( e01 )
MCFG_CPU_PROGRAM_MAP(e01_mem)
MCFG_MC146818_ADD(HD146818_TAG, XTAL_32_768kHz)
- MCFG_MC146818_IRQ_HANDLER(WRITELINE(e01_device, rtc_irq_w))
+ MCFG_MC146818_IRQ_HANDLER(WRITELINE(econet_e01_device, rtc_irq_w))
// devices
MCFG_DEVICE_ADD(R6522_TAG, VIA6522, XTAL_8MHz / 4)
MCFG_VIA6522_WRITEPA_HANDLER(DEVWRITE8("cent_data_out", output_latch_device, write))
- MCFG_VIA6522_IRQ_HANDLER(WRITELINE(e01_device, via_irq_w))
+ MCFG_VIA6522_IRQ_HANDLER(WRITELINE(econet_e01_device, via_irq_w))
MCFG_DEVICE_ADD(MC6854_TAG, MC6854, 0)
- MCFG_MC6854_OUT_IRQ_CB(WRITELINE(e01_device, adlc_irq_w))
- MCFG_MC6854_OUT_TXD_CB(WRITELINE(e01_device, econet_data_w))
+ MCFG_MC6854_OUT_IRQ_CB(WRITELINE(econet_e01_device, adlc_irq_w))
+ MCFG_MC6854_OUT_TXD_CB(WRITELINE(econet_e01_device, econet_data_w))
MCFG_WD2793_ADD(WD2793_TAG, XTAL_8MHz/4)
- MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(e01_device, fdc_irq_w))
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(e01_device, fdc_drq_w))
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(econet_e01_device, fdc_irq_w))
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(econet_e01_device, fdc_drq_w))
MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":0", e01_floppies, "35dd", floppy_formats_afs)
MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":1", e01_floppies, "35dd", floppy_formats_afs)
MCFG_SOFTWARE_LIST_ADD("flop_ls_e01", "e01_flop")
@@ -270,11 +272,11 @@ static MACHINE_CONFIG_FRAGMENT( e01 )
MCFG_DEVICE_ADD(SCSIBUS_TAG, SCSI_PORT, 0)
MCFG_SCSI_DATA_INPUT_BUFFER("scsi_data_in")
MCFG_SCSI_MSG_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit0))
- MCFG_SCSI_BSY_HANDLER(WRITELINE(e01_device, scsi_bsy_w)) // bit1
+ MCFG_SCSI_BSY_HANDLER(WRITELINE(econet_e01_device, scsi_bsy_w)) // bit1
// bit 2 0
// bit 3 0
// bit 4 NIRQ
- MCFG_SCSI_REQ_HANDLER(WRITELINE(e01_device, scsi_req_w)) // bit5
+ MCFG_SCSI_REQ_HANDLER(WRITELINE(econet_e01_device, scsi_req_w)) // bit5
MCFG_SCSI_IO_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit6))
MCFG_SCSI_CD_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit7))
MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":" SCSI_PORT_DEVICE1, "harddisk", SCSIHD, SCSI_ID_0)
@@ -294,7 +296,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor e01_device::device_mconfig_additions() const
+machine_config_constructor econet_e01_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( e01 );
}
@@ -320,7 +322,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor e01_device::device_input_ports() const
+ioport_constructor econet_e01_device::device_input_ports() const
{
return INPUT_PORTS_NAME( e01 );
}
@@ -335,7 +337,7 @@ ioport_constructor e01_device::device_input_ports() const
// update_interrupts - update interrupt state
//-------------------------------------------------
-inline void e01_device::update_interrupts()
+inline void econet_e01_device::update_interrupts()
{
int irq = (m_via_irq || (m_hdc_ie & m_hdc_irq) || m_rtc_irq) ? ASSERT_LINE : CLEAR_LINE;
int nmi = (m_fdc_irq || m_fdc_drq || (m_adlc_ie & m_adlc_irq)) ? ASSERT_LINE : CLEAR_LINE;
@@ -349,7 +351,7 @@ inline void e01_device::update_interrupts()
// network_irq_enable - network interrupt enable
//-------------------------------------------------
-inline void e01_device::network_irq_enable(int enabled)
+inline void econet_e01_device::network_irq_enable(int enabled)
{
m_adlc_ie = enabled;
@@ -361,7 +363,7 @@ inline void e01_device::network_irq_enable(int enabled)
// hdc_irq_enable - hard disk interrupt enable
//-------------------------------------------------
-inline void e01_device::hdc_irq_enable(int enabled)
+inline void econet_e01_device::hdc_irq_enable(int enabled)
{
m_hdc_ie = enabled;
@@ -375,65 +377,43 @@ inline void e01_device::hdc_irq_enable(int enabled)
//**************************************************************************
//-------------------------------------------------
-// e01_device - constructor
-//-------------------------------------------------
-
-e01_device::e01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, E01, "Acorn FileStore E01", tag, owner, clock, "e01" , __FILE__),
- device_econet_interface(mconfig, *this),
- m_maincpu(*this, R65C102_TAG),
- m_fdc(*this, WD2793_TAG),
- m_adlc(*this, MC6854_TAG),
- m_rtc(*this, HD146818_TAG),
- m_ram(*this, RAM_TAG),
- m_scsibus(*this, SCSIBUS_TAG),
- m_scsi_data_out(*this, "scsi_data_out"),
- m_scsi_data_in(*this, "scsi_data_in"),
- m_scsi_ctrl_in(*this, "scsi_ctrl_in"),
- m_floppy0(*this, WD2793_TAG":0"),
- m_floppy1(*this, WD2793_TAG":1"),
- m_rom(*this, R65C102_TAG),
- m_centronics(*this, CENTRONICS_TAG),
- m_adlc_ie(0),
- m_hdc_ie(0),
- m_rtc_irq(CLEAR_LINE),
- m_via_irq(CLEAR_LINE),
- m_hdc_irq(CLEAR_LINE),
- m_fdc_irq(CLEAR_LINE),
- m_fdc_drq(CLEAR_LINE),
- m_adlc_irq(CLEAR_LINE),
- m_clk_en(0), m_ram_en(false),
- m_variant(TYPE_E01), m_clk_timer(nullptr)
-{
-}
-
-
-e01_device::e01_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_econet_interface(mconfig, *this),
- m_maincpu(*this, R65C102_TAG),
- m_fdc(*this, WD2793_TAG),
- m_adlc(*this, MC6854_TAG),
- m_rtc(*this, HD146818_TAG),
- m_ram(*this, RAM_TAG),
- m_scsibus(*this, SCSIBUS_TAG),
- m_scsi_data_out(*this, "scsi_data_out"),
- m_scsi_data_in(*this, "scsi_data_in"),
- m_scsi_ctrl_in(*this, "scsi_ctrl_in"),
- m_floppy0(*this, WD2793_TAG":0"),
- m_floppy1(*this, WD2793_TAG":1"),
- m_rom(*this, R65C102_TAG),
- m_centronics(*this, CENTRONICS_TAG),
- m_adlc_ie(0),
- m_hdc_ie(0),
- m_rtc_irq(CLEAR_LINE),
- m_via_irq(CLEAR_LINE),
- m_hdc_irq(CLEAR_LINE),
- m_fdc_irq(CLEAR_LINE),
- m_fdc_drq(CLEAR_LINE),
- m_adlc_irq(CLEAR_LINE),
- m_clk_en(0), m_ram_en(false),
- m_variant(TYPE_E01), m_clk_timer(nullptr)
+// econet_e01_device - constructor
+//-------------------------------------------------
+
+econet_e01_device::econet_e01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : econet_e01_device(mconfig, ECONET_E01, tag, owner, clock, TYPE_E01)
+{
+}
+
+
+econet_e01_device::econet_e01_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int variant)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_econet_interface(mconfig, *this)
+ , m_maincpu(*this, R65C102_TAG)
+ , m_fdc(*this, WD2793_TAG)
+ , m_adlc(*this, MC6854_TAG)
+ , m_rtc(*this, HD146818_TAG)
+ , m_ram(*this, RAM_TAG)
+ , m_scsibus(*this, SCSIBUS_TAG)
+ , m_scsi_data_out(*this, "scsi_data_out")
+ , m_scsi_data_in(*this, "scsi_data_in")
+ , m_scsi_ctrl_in(*this, "scsi_ctrl_in")
+ , m_floppy0(*this, WD2793_TAG":0")
+ , m_floppy1(*this, WD2793_TAG":1")
+ , m_rom(*this, R65C102_TAG)
+ , m_centronics(*this, CENTRONICS_TAG)
+ , m_adlc_ie(0)
+ , m_hdc_ie(0)
+ , m_rtc_irq(CLEAR_LINE)
+ , m_via_irq(CLEAR_LINE)
+ , m_hdc_irq(CLEAR_LINE)
+ , m_fdc_irq(CLEAR_LINE)
+ , m_fdc_drq(CLEAR_LINE)
+ , m_adlc_irq(CLEAR_LINE)
+ , m_clk_en(0)
+ , m_ram_en(false)
+ , m_variant(variant)
+ , m_clk_timer(nullptr)
{
}
@@ -441,7 +421,7 @@ e01_device::e01_device(const machine_config &mconfig, device_type type, const ch
// device_start - device-specific startup
//-------------------------------------------------
-void e01_device::device_start()
+void econet_e01_device::device_start()
{
// allocate timers
m_clk_timer = timer_alloc();
@@ -461,7 +441,7 @@ void e01_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void e01_device::device_reset()
+void econet_e01_device::device_reset()
{
m_clk_timer->adjust(attotime::zero, 0, attotime::from_hz(200000));
m_ram_en = false;
@@ -472,7 +452,7 @@ void e01_device::device_reset()
// device_timer - handler timer events
//-------------------------------------------------
-void e01_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+void econet_e01_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
if (m_clk_en)
{
@@ -486,7 +466,7 @@ void e01_device::device_timer(emu_timer &timer, device_timer_id id, int param, v
// read -
//-------------------------------------------------
-READ8_MEMBER( e01_device::read )
+READ8_MEMBER( econet_e01_device::read )
{
uint8_t data;
@@ -507,7 +487,7 @@ READ8_MEMBER( e01_device::read )
// write -
//-------------------------------------------------
-WRITE8_MEMBER( e01_device::write )
+WRITE8_MEMBER( econet_e01_device::write )
{
m_ram->pointer()[offset] = data;
}
@@ -517,7 +497,7 @@ WRITE8_MEMBER( e01_device::write )
// eprom_r - ROM/RAM select read
//-------------------------------------------------
-READ8_MEMBER( e01_device::ram_select_r )
+READ8_MEMBER( econet_e01_device::ram_select_r )
{
m_ram_en = true;
@@ -529,7 +509,7 @@ READ8_MEMBER( e01_device::ram_select_r )
// floppy_w - floppy control write
//-------------------------------------------------
-WRITE8_MEMBER( e01_device::floppy_w )
+WRITE8_MEMBER( econet_e01_device::floppy_w )
{
/*
@@ -577,7 +557,7 @@ WRITE8_MEMBER( e01_device::floppy_w )
// network_irq_disable_r -
//-------------------------------------------------
-READ8_MEMBER( e01_device::network_irq_disable_r )
+READ8_MEMBER( econet_e01_device::network_irq_disable_r )
{
network_irq_enable(0);
@@ -589,7 +569,7 @@ READ8_MEMBER( e01_device::network_irq_disable_r )
// network_irq_disable_w -
//-------------------------------------------------
-WRITE8_MEMBER( e01_device::network_irq_disable_w )
+WRITE8_MEMBER( econet_e01_device::network_irq_disable_w )
{
network_irq_enable(0);
}
@@ -599,7 +579,7 @@ WRITE8_MEMBER( e01_device::network_irq_disable_w )
// network_irq_enable_r -
//-------------------------------------------------
-READ8_MEMBER( e01_device::network_irq_enable_r )
+READ8_MEMBER( econet_e01_device::network_irq_enable_r )
{
network_irq_enable(1);
@@ -611,7 +591,7 @@ READ8_MEMBER( e01_device::network_irq_enable_r )
// network_irq_enable_w -
//-------------------------------------------------
-WRITE8_MEMBER( e01_device::network_irq_enable_w )
+WRITE8_MEMBER( econet_e01_device::network_irq_enable_w )
{
network_irq_enable(1);
}
@@ -621,7 +601,7 @@ WRITE8_MEMBER( e01_device::network_irq_enable_w )
// hdc_data_r -
//-------------------------------------------------
-READ8_MEMBER( e01_device::hdc_data_r )
+READ8_MEMBER( econet_e01_device::hdc_data_r )
{
uint8_t data = m_scsi_data_in->read();
@@ -635,7 +615,7 @@ READ8_MEMBER( e01_device::hdc_data_r )
// hdc_data_w -
//-------------------------------------------------
-WRITE8_MEMBER( e01_device::hdc_data_w )
+WRITE8_MEMBER( econet_e01_device::hdc_data_w )
{
m_scsi_data_out->write(data);
@@ -647,7 +627,7 @@ WRITE8_MEMBER( e01_device::hdc_data_w )
// hdc_select_w -
//-------------------------------------------------
-WRITE8_MEMBER( e01_device::hdc_select_w )
+WRITE8_MEMBER( econet_e01_device::hdc_select_w )
{
m_scsibus->write_sel(1);
}
@@ -657,7 +637,7 @@ WRITE8_MEMBER( e01_device::hdc_select_w )
// hdc_irq_enable_w -
//-------------------------------------------------
-WRITE8_MEMBER( e01_device::hdc_irq_enable_w )
+WRITE8_MEMBER( econet_e01_device::hdc_irq_enable_w )
{
hdc_irq_enable(BIT(data, 0));
}
@@ -667,7 +647,7 @@ WRITE8_MEMBER( e01_device::hdc_irq_enable_w )
// rtc_address_r -
//-------------------------------------------------
-READ8_MEMBER( e01_device::rtc_address_r )
+READ8_MEMBER( econet_e01_device::rtc_address_r )
{
return m_rtc->read(space, 0);
}
@@ -677,7 +657,7 @@ READ8_MEMBER( e01_device::rtc_address_r )
// rtc_address_w -
//-------------------------------------------------
-WRITE8_MEMBER( e01_device::rtc_address_w )
+WRITE8_MEMBER( econet_e01_device::rtc_address_w )
{
m_rtc->write(space, 0, data);
}
@@ -687,7 +667,7 @@ WRITE8_MEMBER( e01_device::rtc_address_w )
// rtc_data_r -
//-------------------------------------------------
-READ8_MEMBER( e01_device::rtc_data_r )
+READ8_MEMBER( econet_e01_device::rtc_data_r )
{
return m_rtc->read(space, 1);
}
@@ -697,7 +677,7 @@ READ8_MEMBER( e01_device::rtc_data_r )
// rtc_data_w -
//-------------------------------------------------
-WRITE8_MEMBER( e01_device::rtc_data_w )
+WRITE8_MEMBER( econet_e01_device::rtc_data_w )
{
m_rtc->write(space, 1, data);
}
@@ -707,7 +687,7 @@ WRITE8_MEMBER( e01_device::rtc_data_w )
// econet_clk_w -
//-------------------------------------------------
-void e01_device::econet_data(int state)
+void econet_e01_device::econet_data(int state)
{
m_adlc->set_rx(state);
}
@@ -717,7 +697,7 @@ void e01_device::econet_data(int state)
// econet_clk_w -
//-------------------------------------------------
-void e01_device::econet_clk(int state)
+void econet_e01_device::econet_clk(int state)
{
m_adlc->rxc_w(state);
m_adlc->txc_w(state);
diff --git a/src/devices/bus/econet/e01.h b/src/devices/bus/econet/e01.h
index 4cf86c6cabd..dd9eab8fc4f 100644
--- a/src/devices/bus/econet/e01.h
+++ b/src/devices/bus/econet/e01.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ECONET_E01_H
+#define MAME_BUS_ECONET_E01_H
-#ifndef __E01__
-#define __E01__
+#pragma once
#include "econet.h"
#include "bus/centronics/ctronics.h"
@@ -24,19 +24,12 @@
#include "machine/wd_fdc.h"
#include "formats/afs_dsk.h"
-class e01_device : public device_t,
+class econet_e01_device : public device_t,
public device_econet_interface
{
public:
// construction/destruction
- e01_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- e01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- enum
- {
- TYPE_E01 = 0,
- TYPE_E01S
- };
+ econet_e01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_FLOPPY_FORMATS(floppy_formats_afs);
@@ -67,6 +60,14 @@ public:
DECLARE_WRITE_LINE_MEMBER( scsi_req_w );
protected:
+ enum
+ {
+ TYPE_E01 = 0,
+ TYPE_E01S
+ };
+
+ econet_e01_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int variant);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -82,11 +83,11 @@ protected:
virtual void econet_clk(int state) override;
required_device<m65c02_device> m_maincpu;
- required_device<wd2793_t> m_fdc;
+ required_device<wd2793_device> m_fdc;
required_device<mc6854_device> m_adlc;
required_device<mc146818_device> m_rtc;
required_device<ram_device> m_ram;
- required_device<SCSI_PORT_DEVICE> m_scsibus;
+ required_device<scsi_port_device> m_scsibus;
required_device<output_latch_device> m_scsi_data_out;
required_device<input_buffer_device> m_scsi_data_in;
required_device<input_buffer_device> m_scsi_ctrl_in;
@@ -111,27 +112,27 @@ protected:
int m_clk_en;
bool m_ram_en;
- int m_variant;
+ const int m_variant;
// timers
emu_timer *m_clk_timer;
};
-// ======================> e01s_device
+// ======================> econet_e01s_device
-class e01s_device : public e01_device
+class econet_e01s_device : public econet_e01_device
{
public:
// construction/destruction
- e01s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ econet_e01s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
// device type definition
-extern const device_type E01;
-extern const device_type E01S;
+DECLARE_DEVICE_TYPE(ECONET_E01, econet_e01_device)
+DECLARE_DEVICE_TYPE(ECONET_E01S, econet_e01s_device)
-#endif
+#endif // MAME_BUS_ECONET_E01_H
diff --git a/src/devices/bus/econet/econet.cpp b/src/devices/bus/econet/econet.cpp
index 18e5134f459..e4acfe3c3d6 100644
--- a/src/devices/bus/econet/econet.cpp
+++ b/src/devices/bus/econet/econet.cpp
@@ -26,8 +26,8 @@ static const char *const SIGNAL_NAME[] = { "CLK", "DATA" };
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ECONET = device_creator<econet_device>;
-const device_type ECONET_SLOT = device_creator<econet_slot_device>;
+DEFINE_DEVICE_TYPE(ECONET, econet_device, "econet", "Econet")
+DEFINE_DEVICE_TYPE(ECONET_SLOT, econet_slot_device, "econet_slot", "Econet station")
@@ -40,7 +40,7 @@ const device_type ECONET_SLOT = device_creator<econet_slot_device>;
//-------------------------------------------------
device_econet_interface::device_econet_interface(const machine_config &mconfig, device_t &device) :
- device_slot_card_interface(mconfig, device), m_next(nullptr), m_econet(nullptr), m_address(0)
+ device_slot_card_interface(mconfig, device), m_econet(nullptr), m_address(0), m_next(nullptr)
{
}
@@ -55,8 +55,9 @@ device_econet_interface::device_econet_interface(const machine_config &mconfig,
//-------------------------------------------------
econet_slot_device::econet_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ECONET_SLOT, "Econet station", tag, owner, clock, "econet_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_address(0), m_econet(nullptr)
+ device_t(mconfig, ECONET_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_address(0), m_econet(nullptr)
{
}
@@ -195,7 +196,7 @@ inline int econet_device::get_signal(int signal)
//-------------------------------------------------
econet_device::econet_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ECONET, "Econet", tag, owner, clock, "econet", __FILE__),
+ device_t(mconfig, ECONET, tag, owner, clock),
m_write_clk(*this),
m_write_data(*this)
{
@@ -309,6 +310,6 @@ void econet_device::data_w(device_t *device, int state)
#include "e01.h"
SLOT_INTERFACE_START( econet_devices )
- SLOT_INTERFACE("e01", E01)
- SLOT_INTERFACE("e01s", E01S)
+ SLOT_INTERFACE("e01", ECONET_E01)
+ SLOT_INTERFACE("e01s", ECONET_E01S)
SLOT_INTERFACE_END
diff --git a/src/devices/bus/econet/econet.h b/src/devices/bus/econet/econet.h
index e41b5dbf133..1531931f3c2 100644
--- a/src/devices/bus/econet/econet.h
+++ b/src/devices/bus/econet/econet.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ECONET_ECONET_H
+#define MAME_BUS_ECONET_ECONET_H
-#ifndef __ECONET__
-#define __ECONET__
+#pragma once
@@ -57,8 +57,8 @@ public:
// construction/destruction
econet_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_clk_wr_callback(device_t &device, _Object object) { return downcast<econet_device &>(device).m_write_clk.set_callback(object); }
- template<class _Object> static devcb_base &set_data_wr_callback(device_t &device, _Object object) { return downcast<econet_device &>(device).m_write_data.set_callback(object); }
+ template <class Object> static devcb_base &set_clk_wr_callback(device_t &device, Object &&cb) { return downcast<econet_device &>(device).m_write_clk.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data_wr_callback(device_t &device, Object &&cb) { return downcast<econet_device &>(device).m_write_data.set_callback(std::forward<Object>(cb)); }
void add_device(device_t *target, int address);
@@ -135,30 +135,35 @@ private:
class device_econet_interface : public device_slot_card_interface
{
friend class econet_device;
+ template <class ElementType> friend class simple_list;
public:
- // construction/destruction
- device_econet_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_econet_interface() { }
-
device_econet_interface *next() const { return m_next; }
- device_econet_interface *m_next;
virtual void econet_clk(int state) = 0;
virtual void econet_data(int state) = 0;
+protected:
+ // construction/destruction
+ device_econet_interface(const machine_config &mconfig, device_t &device);
+
econet_device *m_econet;
uint8_t m_address;
+
+private:
+ device_econet_interface *m_next;
};
// device type definition
extern const device_type ECONET;
extern const device_type ECONET_SLOT;
+DECLARE_DEVICE_TYPE(ECONET, econet_device)
+DECLARE_DEVICE_TYPE(ECONET_SLOT, econet_slot_device)
SLOT_INTERFACE_EXTERN( econet_devices );
-#endif
+#endif // MAME_BUS_ECONET_ECONET_H
diff --git a/src/devices/bus/electron/exp.cpp b/src/devices/bus/electron/exp.cpp
index 93175809a57..3bcc1377e19 100644
--- a/src/devices/bus/electron/exp.cpp
+++ b/src/devices/bus/electron/exp.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ELECTRON_EXPANSION_SLOT = device_creator<electron_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(ELECTRON_EXPANSION_SLOT, electron_expansion_slot_device, "electron_expansion_slot", "Acorn Electron Expansion port")
//**************************************************************************
@@ -50,8 +50,8 @@ device_electron_expansion_interface::~device_electron_expansion_interface()
//-------------------------------------------------
electron_expansion_slot_device::electron_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ELECTRON_EXPANSION_SLOT, "Acorn Electron Expansion port", tag, owner, clock, "electron_expansion_slot", __FILE__),
- device_slot_interface(mconfig, *this),
+ device_t(mconfig, ELECTRON_EXPANSION_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
m_card(nullptr),
m_irq_handler(*this),
m_nmi_handler(*this)
diff --git a/src/devices/bus/electron/exp.h b/src/devices/bus/electron/exp.h
index a87b1670fcc..57b98aa6d5c 100644
--- a/src/devices/bus/electron/exp.h
+++ b/src/devices/bus/electron/exp.h
@@ -83,10 +83,10 @@ AC RETURNS (pins 3,4) - adaptor. A total of 6W may be drawn from these lines as
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ELECTRON_EXP_H
+#define MAME_BUS_ELECTRON_EXP_H
-#ifndef __ELECTRON_EXPANSION_SLOT__
-#define __ELECTRON_EXPANSION_SLOT__
+#pragma once
@@ -133,11 +133,11 @@ public:
virtual ~electron_expansion_slot_device();
// callbacks
- template<class _Object> static devcb_base &set_irq_handler(device_t &device, _Object object)
- { return downcast<electron_expansion_slot_device &>(device).m_irq_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_handler(device_t &device, Object &&cb)
+ { return downcast<electron_expansion_slot_device &>(device).m_irq_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_nmi_handler(device_t &device, _Object object)
- { return downcast<electron_expansion_slot_device &>(device).m_nmi_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_nmi_handler(device_t &device, Object &&cb)
+ { return downcast<electron_expansion_slot_device &>(device).m_nmi_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
@@ -161,18 +161,20 @@ class device_electron_expansion_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_electron_expansion_interface(const machine_config &mconfig, device_t &device);
virtual ~device_electron_expansion_interface();
protected:
+ device_electron_expansion_interface(const machine_config &mconfig, device_t &device);
+
electron_expansion_slot_device *m_slot;
};
// device type definition
extern const device_type ELECTRON_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(ELECTRON_EXPANSION_SLOT, electron_expansion_device)
SLOT_INTERFACE_EXTERN( electron_expansion_devices );
-#endif
+#endif // MAME_BUS_ELECTRON_EXP_H
diff --git a/src/devices/bus/electron/fbjoy.cpp b/src/devices/bus/electron/fbjoy.cpp
index 532df461f6a..643b697615b 100644
--- a/src/devices/bus/electron/fbjoy.cpp
+++ b/src/devices/bus/electron/fbjoy.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ELECTRON_FBJOY = device_creator<electron_fbjoy_device>;
+DEFINE_DEVICE_TYPE(ELECTRON_FBJOY, electron_fbjoy_device, "electron_fbjoy", "First Byte Joystick Interface")
static INPUT_PORTS_START( fbjoy )
@@ -47,9 +47,9 @@ ioport_constructor electron_fbjoy_device::device_input_ports() const
//-------------------------------------------------
electron_fbjoy_device::electron_fbjoy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ELECTRON_FBJOY, "First Byte Joystick Interface", tag, owner, clock, "electron_fbjoy", __FILE__),
- device_electron_expansion_interface(mconfig, *this),
- m_joy(*this, "JOY")
+ : device_t(mconfig, ELECTRON_FBJOY, tag, owner, clock)
+ , device_electron_expansion_interface(mconfig, *this)
+ , m_joy(*this, "JOY")
{
}
diff --git a/src/devices/bus/electron/fbjoy.h b/src/devices/bus/electron/fbjoy.h
index 0323f4f4bbf..d532c896d46 100644
--- a/src/devices/bus/electron/fbjoy.h
+++ b/src/devices/bus/electron/fbjoy.h
@@ -8,10 +8,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ELECTRON_FBJOY_H
+#define MAME_BUS_ELECTRON_FBJOY_H
-#ifndef __ELECTRON_FBJOY__
-#define __ELECTRON_FBJOY__
+#pragma once
#include "exp.h"
@@ -46,7 +46,7 @@ private:
// device type definition
-extern const device_type ELECTRON_FBJOY;
+DECLARE_DEVICE_TYPE(ELECTRON_FBJOY, electron_fbjoy_device)
-#endif
+#endif // MAME_BUS_ELECTRON_FBJOY_H
diff --git a/src/devices/bus/electron/m2105.cpp b/src/devices/bus/electron/m2105.cpp
index ba437842a4c..1e3ebc2308a 100644
--- a/src/devices/bus/electron/m2105.cpp
+++ b/src/devices/bus/electron/m2105.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ELECTRON_M2105 = device_creator<electron_m2105_device>;
+DEFINE_DEVICE_TYPE(ELECTRON_M2105, electron_m2105_device, "electron_m2105", "Acorn M2105 Expansion")
//-------------------------------------------------
@@ -123,15 +123,15 @@ const tiny_rom_entry *electron_m2105_device::device_rom_region() const
//-------------------------------------------------
electron_m2105_device::electron_m2105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ELECTRON_M2105, "Acorn M2105 Expansion", tag, owner, clock, "electron_m2105", __FILE__),
- device_electron_expansion_interface(mconfig, *this),
- m_exp_rom(*this, "exp_rom"),
- m_via6522_0(*this, "via6522_0"),
- m_via6522_1(*this, "via6522_1"),
- m_duart(*this, "sc2681"),
- m_tms(*this, "tms5220"),
- m_centronics(*this, "centronics"),
- m_irqs(*this, "irqs")
+ : device_t(mconfig, ELECTRON_M2105, tag, owner, clock)
+ , device_electron_expansion_interface(mconfig, *this)
+ , m_exp_rom(*this, "exp_rom")
+ , m_via6522_0(*this, "via6522_0")
+ , m_via6522_1(*this, "via6522_1")
+ , m_duart(*this, "sc2681")
+ , m_tms(*this, "tms5220")
+ , m_centronics(*this, "centronics")
+ , m_irqs(*this, "irqs")
{
}
diff --git a/src/devices/bus/electron/m2105.h b/src/devices/bus/electron/m2105.h
index d9d8d5b3aed..94ab1d8ec5f 100644
--- a/src/devices/bus/electron/m2105.h
+++ b/src/devices/bus/electron/m2105.h
@@ -6,9 +6,10 @@
**********************************************************************/
+#ifndef MAME_BUS_ELECTRON_M2105_M
+#define MAME_BUS_ELECTRON_M2105_M
-#ifndef __ELECTRON_M2105__
-#define __ELECTRON_M2105__
+#pragma once
#include "exp.h"
#include "machine/6522via.h"
@@ -53,7 +54,7 @@ private:
// device type definition
-extern const device_type ELECTRON_M2105;
+DECLARE_DEVICE_TYPE(ELECTRON_M2105, electron_m2105_device)
-#endif /* __ELECTRON_M2105__ */
+#endif // MAME_BUS_ELECTRON_M2105_M
diff --git a/src/devices/bus/electron/plus3.cpp b/src/devices/bus/electron/plus3.cpp
index 98189b6cae7..46395d81f09 100644
--- a/src/devices/bus/electron/plus3.cpp
+++ b/src/devices/bus/electron/plus3.cpp
@@ -24,7 +24,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ELECTRON_PLUS3 = device_creator<electron_plus3_device>;
+DEFINE_DEVICE_TYPE(ELECTRON_PLUS3, electron_plus3_device, "electron_plus3", "Acorn Plus 3 Disc Expansion")
//-------------------------------------------------
@@ -102,12 +102,12 @@ const tiny_rom_entry *electron_plus3_device::device_rom_region() const
//-------------------------------------------------
electron_plus3_device::electron_plus3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ELECTRON_PLUS3, "Acorn Plus 3 Disc Expansion", tag, owner, clock, "electron_plus3", __FILE__),
- device_electron_expansion_interface(mconfig, *this),
- m_exp_rom(*this, "exp_rom"),
- m_fdc(*this, "fdc"),
- m_floppy0(*this, "fdc:0"),
- m_floppy1(*this, "fdc:1")
+ : device_t(mconfig, ELECTRON_PLUS3, tag, owner, clock)
+ , device_electron_expansion_interface(mconfig, *this)
+ , m_exp_rom(*this, "exp_rom")
+ , m_fdc(*this, "fdc")
+ , m_floppy0(*this, "fdc:0")
+ , m_floppy1(*this, "fdc:1")
{
}
@@ -121,7 +121,7 @@ void electron_plus3_device::device_start()
m_slot = dynamic_cast<electron_expansion_slot_device *>(owner());
space.install_readwrite_handler(0xfcc0, 0xfcc0, READ8_DELEGATE(electron_plus3_device, wd1770_status_r), WRITE8_DELEGATE(electron_plus3_device, wd1770_status_w));
- space.install_readwrite_handler(0xfcc4, 0xfcc7, READ8_DEVICE_DELEGATE(m_fdc, wd1770_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd1770_t, write));
+ space.install_readwrite_handler(0xfcc4, 0xfcc7, READ8_DEVICE_DELEGATE(m_fdc, wd1770_device, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd1770_device, write));
}
//-------------------------------------------------
diff --git a/src/devices/bus/electron/plus3.h b/src/devices/bus/electron/plus3.h
index 80aa3ec2320..0fc49206f89 100644
--- a/src/devices/bus/electron/plus3.h
+++ b/src/devices/bus/electron/plus3.h
@@ -6,9 +6,8 @@
**********************************************************************/
-
-#ifndef __ELECTRON_PLUS3__
-#define __ELECTRON_PLUS3__
+#ifndef MAME_BUS_ELECTRON_PLUS3_H
+#define MAME_BUS_ELECTRON_PLUS3_H
#include "exp.h"
#include "machine/wd_fdc.h"
@@ -42,7 +41,7 @@ protected:
private:
required_memory_region m_exp_rom;
- required_device<wd1770_t> m_fdc;
+ required_device<wd1770_device> m_fdc;
required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
@@ -51,7 +50,7 @@ private:
// device type definition
-extern const device_type ELECTRON_PLUS3;
+DECLARE_DEVICE_TYPE(ELECTRON_PLUS3, electron_plus3_device)
-#endif /* __ELECTRON_PLUS3__ */
+#endif // MAME_BUS_ELECTRON_PLUS3_H
diff --git a/src/devices/bus/electron/pwrjoy.cpp b/src/devices/bus/electron/pwrjoy.cpp
index 02f65b277e9..98d6422cdd8 100644
--- a/src/devices/bus/electron/pwrjoy.cpp
+++ b/src/devices/bus/electron/pwrjoy.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ELECTRON_PWRJOY = device_creator<electron_pwrjoy_device>;
+DEFINE_DEVICE_TYPE(ELECTRON_PWRJOY, electron_pwrjoy_device, "electron_pwrjoy", "Power Software Joystick Interface")
ROM_START( pwrjoy )
@@ -56,10 +56,10 @@ const tiny_rom_entry *electron_pwrjoy_device::device_rom_region() const
//-------------------------------------------------
electron_pwrjoy_device::electron_pwrjoy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ELECTRON_PWRJOY, "Power Software Joystick Interface", tag, owner, clock, "electron_pwrjoy", __FILE__),
- device_electron_expansion_interface(mconfig, *this),
- m_exp_rom(*this, "exp_rom"),
- m_joy(*this, "JOY")
+ : device_t(mconfig, ELECTRON_PWRJOY, tag, owner, clock)
+ , device_electron_expansion_interface(mconfig, *this)
+ , m_exp_rom(*this, "exp_rom")
+ , m_joy(*this, "JOY")
{
}
diff --git a/src/devices/bus/electron/pwrjoy.h b/src/devices/bus/electron/pwrjoy.h
index fba6b1b8c1e..1566f21d10d 100644
--- a/src/devices/bus/electron/pwrjoy.h
+++ b/src/devices/bus/electron/pwrjoy.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ELECTRON_PWRJOY_H
+#define MAME_BUS_ELECTRON_PWRJOY_H
-#ifndef __ELECTRON_PWRJOY__
-#define __ELECTRON_PWRJOY__
+#pragma once
#include "exp.h"
@@ -46,7 +46,6 @@ private:
// device type definition
-extern const device_type ELECTRON_PWRJOY;
-
+DECLARE_DEVICE_TYPE(ELECTRON_PWRJOY, electron_pwrjoy_device)
-#endif
+#endif // MAME_BUS_ELECTRON_PWRJOY_H
diff --git a/src/devices/bus/ep64/exdos.cpp b/src/devices/bus/ep64/exdos.cpp
index 9b8d6ea9d48..9a207b31f3b 100644
--- a/src/devices/bus/ep64/exdos.cpp
+++ b/src/devices/bus/ep64/exdos.cpp
@@ -62,7 +62,7 @@ This PCB plugs into the external expansion connector on the right side of the ma
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type EP64_EXDOS = device_creator<ep64_exdos_device>;
+DEFINE_DEVICE_TYPE(EP64_EXDOS, ep64_exdos_device, "ep64_exdos", "EP64 EXDOS")
//-------------------------------------------------
@@ -133,7 +133,7 @@ machine_config_constructor ep64_exdos_device::device_mconfig_additions() const
//-------------------------------------------------
ep64_exdos_device::ep64_exdos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, EP64_EXDOS, "EXDOS", tag, owner, clock, "ep64_exdos", __FILE__),
+ device_t(mconfig, EP64_EXDOS, tag, owner, clock),
device_ep64_expansion_bus_card_interface(mconfig, *this),
m_fdc(*this, WD1770_TAG),
m_floppy0(*this, WD1770_TAG":0"),
@@ -154,7 +154,7 @@ void ep64_exdos_device::device_start()
{
m_slot->program().install_rom(0x080000, 0x087fff, m_rom->base());
- m_slot->io().install_readwrite_handler(0x10, 0x13, 0, 0x04, 0, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, write));
+ m_slot->io().install_readwrite_handler(0x10, 0x13, 0, 0x04, 0, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, write));
m_slot->io().install_readwrite_handler(0x18, 0x18, 0, 0x04, 0, READ8_DELEGATE(ep64_exdos_device, read), WRITE8_DELEGATE(ep64_exdos_device, write));
}
diff --git a/src/devices/bus/ep64/exdos.h b/src/devices/bus/ep64/exdos.h
index a2417e0b1fa..9cb002c7754 100644
--- a/src/devices/bus/ep64/exdos.h
+++ b/src/devices/bus/ep64/exdos.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_EP64_EXDOS_H
+#define MAME_BUS_EP64_EXDOS_H
-#ifndef __EP64_EXDOS__
-#define __EP64_EXDOS__
+#pragma once
#include "exp.h"
#include "formats/ep64_dsk.h"
@@ -45,7 +45,7 @@ protected:
virtual void device_reset() override;
private:
- required_device<wd1770_t> m_fdc;
+ required_device<wd1770_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_device<floppy_connector> m_floppy2;
@@ -56,8 +56,7 @@ private:
// device type definition
-extern const device_type EP64_EXDOS;
-
+DECLARE_DEVICE_TYPE(EP64_EXDOS, ep64_exdos_device)
-#endif
+#endif // MAME_BUS_EP64_EXDOS_H
diff --git a/src/devices/bus/ep64/exp.cpp b/src/devices/bus/ep64/exp.cpp
index 028b397b6df..a60c4d386c8 100644
--- a/src/devices/bus/ep64/exp.cpp
+++ b/src/devices/bus/ep64/exp.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type EP64_EXPANSION_BUS_SLOT = device_creator<ep64_expansion_bus_slot_device>;
+DEFINE_DEVICE_TYPE(EP64_EXPANSION_BUS_SLOT, ep64_expansion_bus_slot_device, "ep64_expansion_bus_slot", "Enterprise Sixty Four expansion bus slot")
@@ -44,7 +44,7 @@ device_ep64_expansion_bus_card_interface::device_ep64_expansion_bus_card_interfa
//-------------------------------------------------
ep64_expansion_bus_slot_device::ep64_expansion_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, EP64_EXPANSION_BUS_SLOT, "Enterprise Sixty Four expansion bus slot", tag, owner, clock, "ep64_expansion_bus_slot", __FILE__)
+ : device_t(mconfig, EP64_EXPANSION_BUS_SLOT, tag, owner, clock)
, device_slot_interface(mconfig, *this)
, m_write_irq(*this)
, m_write_nmi(*this)
diff --git a/src/devices/bus/ep64/exp.h b/src/devices/bus/ep64/exp.h
index 1dd01eb1e5f..d66fd8536b0 100644
--- a/src/devices/bus/ep64/exp.h
+++ b/src/devices/bus/ep64/exp.h
@@ -42,10 +42,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_EP64_EXP_H
+#define MAME_BUS_EP64_EXP_H
-#ifndef __EP64_EXPANSION_BUS__
-#define __EP64_EXPANSION_BUS__
+#pragma once
#include "sound/dave.h"
@@ -99,9 +99,9 @@ public:
ep64_expansion_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
static void static_set_dave_tag(device_t &device, const char* tag) { downcast<ep64_expansion_bus_slot_device &>(device).m_dave.set_tag(tag); }
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_irq.set_callback(object); }
- template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_nmi.set_callback(object); }
- template<class _Object> static devcb_base &set_wait_wr_callback(device_t &device, _Object object) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_wait.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_nmi_wr_callback(device_t &device, Object &&cb) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_nmi.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_wait_wr_callback(device_t &device, Object &&cb) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_wait.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_write_nmi(state); }
@@ -130,21 +130,19 @@ private:
class device_ep64_expansion_bus_card_interface : public device_slot_card_interface
{
-public:
+protected:
// construction/destruction
device_ep64_expansion_bus_card_interface(const machine_config &mconfig, device_t &device);
-protected:
ep64_expansion_bus_slot_device *m_slot;
};
// device type definition
-extern const device_type EP64_EXPANSION_BUS_SLOT;
+DECLARE_DEVICE_TYPE(EP64_EXPANSION_BUS_SLOT, ep64_expansion_bus_slot_device)
SLOT_INTERFACE_EXTERN( ep64_expansion_bus_cards );
-
-#endif
+#endif // MAME_BUS_EP64_EXP_H
diff --git a/src/devices/bus/epson_sio/epson_sio.cpp b/src/devices/bus/epson_sio/epson_sio.cpp
index 6fd316989dc..74e9294d456 100644
--- a/src/devices/bus/epson_sio/epson_sio.cpp
+++ b/src/devices/bus/epson_sio/epson_sio.cpp
@@ -18,7 +18,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type EPSON_SIO = device_creator<epson_sio_device>;
+DEFINE_DEVICE_TYPE(EPSON_SIO, epson_sio_device, "epson_sio", "EPSON SIO port")
//**************************************************************************
@@ -54,10 +54,11 @@ device_epson_sio_interface::~device_epson_sio_interface()
//-------------------------------------------------
epson_sio_device::epson_sio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, EPSON_SIO, "EPSON SIO port", tag, owner, clock, "epson_sio", __FILE__),
- device_slot_interface(mconfig, *this), m_cart(nullptr),
- m_write_rx(*this),
- m_write_pin(*this)
+ device_t(mconfig, EPSON_SIO, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_cart(nullptr),
+ m_write_rx(*this),
+ m_write_pin(*this)
{
}
diff --git a/src/devices/bus/epson_sio/epson_sio.h b/src/devices/bus/epson_sio/epson_sio.h
index cd853d950b9..7e1a001c8b1 100644
--- a/src/devices/bus/epson_sio/epson_sio.h
+++ b/src/devices/bus/epson_sio/epson_sio.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_EPSON_SIO_EPSON_SIO_H
+#define MAME_BUS_EPSON_SIO_EPSON_SIO_H
-#ifndef __EPSON_SIO_H__
-#define __EPSON_SIO_H__
+#pragma once
@@ -73,23 +73,24 @@ class device_epson_sio_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_epson_sio_interface(const machine_config &mconfig, device_t &device);
virtual ~device_epson_sio_interface();
virtual void tx_w(int state) { };
virtual void pout_w(int state) { };
protected:
+ device_epson_sio_interface(const machine_config &mconfig, device_t &device);
+
epson_sio_device *m_slot;
};
// device type definition
-extern const device_type EPSON_SIO;
+DECLARE_DEVICE_TYPE(EPSON_SIO, epson_sio_device)
// supported devices
SLOT_INTERFACE_EXTERN( epson_sio_devices );
-#endif // __EPSON_SIO_H__
+#endif // MAME_BUS_EPSON_SIO_EPSON_SIO_H
diff --git a/src/devices/bus/epson_sio/pf10.cpp b/src/devices/bus/epson_sio/pf10.cpp
index 0e3bac64c1a..9ece008557a 100644
--- a/src/devices/bus/epson_sio/pf10.cpp
+++ b/src/devices/bus/epson_sio/pf10.cpp
@@ -18,7 +18,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type EPSON_PF10 = device_creator<epson_pf10_device>;
+DEFINE_DEVICE_TYPE(EPSON_PF10, epson_pf10_device, "epson_pf10_device", "EPSON PF-10 Portable Floppy Unit")
//-------------------------------------------------
@@ -93,7 +93,7 @@ machine_config_constructor epson_pf10_device::device_mconfig_additions() const
//-------------------------------------------------
epson_pf10_device::epson_pf10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, EPSON_PF10, "EPSON PF-10 Portable Floppy Unit", tag, owner, clock, "epson_pf10", __FILE__),
+ device_t(mconfig, EPSON_PF10, tag, owner, clock),
device_epson_sio_interface(mconfig, *this),
m_cpu(*this, "maincpu"),
m_fdc(*this, "upd765a"),
diff --git a/src/devices/bus/epson_sio/pf10.h b/src/devices/bus/epson_sio/pf10.h
index ab89b0fe01c..e3d4f01e69c 100644
--- a/src/devices/bus/epson_sio/pf10.h
+++ b/src/devices/bus/epson_sio/pf10.h
@@ -8,14 +8,14 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_EPSON_SIO_PF10_H
+#define MAME_BUS_EPSON_SIO_PF10_H
-#ifndef __PF10_H__
-#define __PF10_H__
+#pragma once
+#include "epson_sio.h"
#include "cpu/m6800/m6800.h"
#include "machine/upd765.h"
-#include "epson_sio.h"
//**************************************************************************
@@ -94,7 +94,7 @@ private:
// device type definition
-extern const device_type EPSON_PF10;
+DECLARE_DEVICE_TYPE(EPSON_PF10, epson_pf10_device)
-#endif // __PF10_H__
+#endif // MAME_BUS_EPSON_SIO_PF10_H
diff --git a/src/devices/bus/epson_sio/tf20.cpp b/src/devices/bus/epson_sio/tf20.cpp
index f1af2da2c74..4b9ce2c1bbb 100644
--- a/src/devices/bus/epson_sio/tf20.cpp
+++ b/src/devices/bus/epson_sio/tf20.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type EPSON_TF20 = device_creator<epson_tf20_device>;
+DEFINE_DEVICE_TYPE(EPSON_TF20, epson_tf20_device, "epson_tf20", "EPSON TF-20 Dual Floppy Disk Drive")
//-------------------------------------------------
// address maps
@@ -128,7 +128,7 @@ machine_config_constructor epson_tf20_device::device_mconfig_additions() const
//-------------------------------------------------
epson_tf20_device::epson_tf20_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, EPSON_TF20, "EPSON TF-20 Dual Floppy Disk Drive", tag, owner, clock, "epson_tf20", __FILE__),
+ device_t(mconfig, EPSON_TF20, tag, owner, clock),
device_epson_sio_interface(mconfig, *this),
m_cpu(*this, "19b"),
m_ram(*this, "ram"),
diff --git a/src/devices/bus/epson_sio/tf20.h b/src/devices/bus/epson_sio/tf20.h
index a82f38ce9d3..31c1232c4bb 100644
--- a/src/devices/bus/epson_sio/tf20.h
+++ b/src/devices/bus/epson_sio/tf20.h
@@ -8,16 +8,16 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_EPSON_SIO_TF20_H
+#define MAME_BUS_EPSON_SIO_TF20_H
-#ifndef __TF20_H__
-#define __TF20_H__
+#pragma once
+#include "epson_sio.h"
#include "cpu/z80/z80.h"
#include "machine/ram.h"
#include "machine/upd765.h"
#include "machine/z80dart.h"
-#include "epson_sio.h"
//**************************************************************************
@@ -84,7 +84,7 @@ private:
// device type definition
-extern const device_type EPSON_TF20;
+DECLARE_DEVICE_TYPE(EPSON_TF20, epson_tf20_device)
-#endif // __TF20_H__
+#endif // MAME_BUS_EPSON_SIO_TF20_H
diff --git a/src/devices/bus/gameboy/gb_slot.cpp b/src/devices/bus/gameboy/gb_slot.cpp
index 592ab91a507..5e767119e80 100644
--- a/src/devices/bus/gameboy/gb_slot.cpp
+++ b/src/devices/bus/gameboy/gb_slot.cpp
@@ -25,8 +25,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type GB_CART_SLOT = device_creator<gb_cart_slot_device>;
-const device_type MEGADUCK_CART_SLOT = device_creator<megaduck_cart_slot_device>;
+DEFINE_DEVICE_TYPE(GB_CART_SLOT, gb_cart_slot_device, "gb_cart_slot", "Game Boy Cartridge Slot")
+DEFINE_DEVICE_TYPE(MEGADUCK_CART_SLOT, megaduck_cart_slot_device, "megaduck_cart_slot", "Megaduck Cartridge Slot")
//**************************************************************************
// GB cartridges Interface
@@ -135,32 +135,33 @@ void device_gb_cart_interface::ram_map_setup(uint8_t banks)
//**************************************************************************
//-------------------------------------------------
-// base_gb_cart_slot_device - constructor
+// gb_cart_slot_device_base - constructor
//-------------------------------------------------
-base_gb_cart_slot_device::base_gb_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_sgb_hack(0),
- m_type(GB_MBC_UNKNOWN), m_cart(nullptr)
+gb_cart_slot_device_base::gb_cart_slot_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_sgb_hack(0),
+ m_type(GB_MBC_UNKNOWN),
+ m_cart(nullptr)
{
}
gb_cart_slot_device::gb_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- base_gb_cart_slot_device(mconfig, GB_CART_SLOT, "Game Boy Cartridge Slot", tag, owner, clock, "gb_cart_slot", __FILE__)
+ gb_cart_slot_device_base(mconfig, GB_CART_SLOT, tag, owner, clock)
{
}
megaduck_cart_slot_device::megaduck_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- base_gb_cart_slot_device(mconfig, MEGADUCK_CART_SLOT, "Megaduck Cartridge Slot", tag, owner, clock, "megaduck_cart_slot", __FILE__)
+ gb_cart_slot_device_base(mconfig, MEGADUCK_CART_SLOT, tag, owner, clock)
{
}
//-------------------------------------------------
-// base_gb_cart_slot_device - destructor
+// gb_cart_slot_device_base - destructor
//-------------------------------------------------
-base_gb_cart_slot_device::~base_gb_cart_slot_device()
+gb_cart_slot_device_base::~gb_cart_slot_device_base()
{
}
@@ -168,7 +169,7 @@ base_gb_cart_slot_device::~base_gb_cart_slot_device()
// device_start - device-specific startup
//-------------------------------------------------
-void base_gb_cart_slot_device::device_start()
+void gb_cart_slot_device_base::device_start()
{
m_cart = dynamic_cast<device_gb_cart_interface *>(get_card_device());
}
@@ -246,7 +247,7 @@ static const char *gb_get_slot(int type)
-------------------------------------------------*/
-image_init_result base_gb_cart_slot_device::call_load()
+image_init_result gb_cart_slot_device_base::call_load()
{
if (m_cart)
{
@@ -424,13 +425,13 @@ image_init_result megaduck_cart_slot_device::call_load()
call_unload
-------------------------------------------------*/
-void base_gb_cart_slot_device::call_unload()
+void gb_cart_slot_device_base::call_unload()
{
if (m_cart && m_cart->get_ram_base() && m_cart->get_ram_size() && m_cart->get_has_battery())
battery_save(m_cart->get_ram_base(), m_cart->get_ram_size());
}
-void base_gb_cart_slot_device::setup_ram(uint8_t banks)
+void gb_cart_slot_device_base::setup_ram(uint8_t banks)
{
m_cart->ram_alloc(banks * 0x2000);
memset(m_cart->get_ram_base(), 0xff, m_cart->get_ram_size());
@@ -440,7 +441,7 @@ void base_gb_cart_slot_device::setup_ram(uint8_t banks)
// This fails to catch Mani 4-in-1 carts... even when they match this, then they have MBC1/3 in the internal header instead of MMM01...
-bool base_gb_cart_slot_device::get_mmm01_candidate(const uint8_t *ROM, uint32_t len)
+bool gb_cart_slot_device_base::get_mmm01_candidate(const uint8_t *ROM, uint32_t len)
{
if (len < 0x8147)
return false;
@@ -463,7 +464,7 @@ bool base_gb_cart_slot_device::get_mmm01_candidate(const uint8_t *ROM, uint32_t
return false;
}
-int base_gb_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len)
+int gb_cart_slot_device_base::get_cart_type(const uint8_t *ROM, uint32_t len)
{
int type = GB_MBC_NONE;
@@ -579,7 +580,7 @@ int base_gb_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len)
get default card software
-------------------------------------------------*/
-std::string base_gb_cart_slot_device::get_default_card_software(get_default_card_software_hook &hook) const
+std::string gb_cart_slot_device_base::get_default_card_software(get_default_card_software_hook &hook) const
{
if (hook.image_file())
{
@@ -622,7 +623,7 @@ std::string megaduck_cart_slot_device::get_default_card_software(get_default_car
read
-------------------------------------------------*/
-READ8_MEMBER(base_gb_cart_slot_device::read_rom)
+READ8_MEMBER(gb_cart_slot_device_base::read_rom)
{
if (m_cart)
return m_cart->read_rom(space, offset);
@@ -630,7 +631,7 @@ READ8_MEMBER(base_gb_cart_slot_device::read_rom)
return 0xff;
}
-READ8_MEMBER(base_gb_cart_slot_device::read_ram)
+READ8_MEMBER(gb_cart_slot_device_base::read_ram)
{
if (m_cart)
return m_cart->read_ram(space, offset);
@@ -643,13 +644,13 @@ READ8_MEMBER(base_gb_cart_slot_device::read_ram)
write
-------------------------------------------------*/
-WRITE8_MEMBER(base_gb_cart_slot_device::write_bank)
+WRITE8_MEMBER(gb_cart_slot_device_base::write_bank)
{
if (m_cart)
m_cart->write_bank(space, offset, data);
}
-WRITE8_MEMBER(base_gb_cart_slot_device::write_ram)
+WRITE8_MEMBER(gb_cart_slot_device_base::write_ram)
{
if (m_cart)
m_cart->write_ram(space, offset, data);
@@ -660,7 +661,7 @@ WRITE8_MEMBER(base_gb_cart_slot_device::write_ram)
Internal header logging
-------------------------------------------------*/
-void base_gb_cart_slot_device::internal_header_logging(uint8_t *ROM, uint32_t len)
+void gb_cart_slot_device_base::internal_header_logging(uint8_t *ROM, uint32_t len)
{
static const char *const cart_types[] =
{
diff --git a/src/devices/bus/gameboy/gb_slot.h b/src/devices/bus/gameboy/gb_slot.h
index 9ac41618f82..f3198f8e20c 100644
--- a/src/devices/bus/gameboy/gb_slot.h
+++ b/src/devices/bus/gameboy/gb_slot.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli, Wilbert Pol
-#ifndef __GB_SLOT_H
-#define __GB_SLOT_H
+#ifndef MAME_BUS_GAMEBOY_GB_SLOT_H
+#define MAME_BUS_GAMEBOY_GB_SLOT_H
#include "softlist_dev.h"
@@ -55,7 +55,6 @@ class device_gb_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_gb_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_gb_cart_interface();
// reading and writing
@@ -82,6 +81,9 @@ public:
void save_ram() { device().save_item(NAME(m_ram)); }
+protected:
+ device_gb_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -103,16 +105,15 @@ public:
};
-// ======================> base_gb_cart_slot_device
+// ======================> gb_cart_slot_device_base
-class base_gb_cart_slot_device : public device_t,
+class gb_cart_slot_device_base : public device_t,
public device_image_interface,
public device_slot_interface
{
public:
// construction/destruction
- base_gb_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- virtual ~base_gb_cart_slot_device();
+ virtual ~gb_cart_slot_device_base();
// device-level overrides
virtual void device_start() override;
@@ -152,6 +153,8 @@ public:
protected:
+ gb_cart_slot_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// Donkey Kong Land 2 + 3 store SGB border tiles differently... this will be hopefully be removed when SGB is properly emulated!
int m_sgb_hack;
@@ -161,7 +164,7 @@ protected:
// ======================> gb_cart_slot_device
-class gb_cart_slot_device : public base_gb_cart_slot_device
+class gb_cart_slot_device : public gb_cart_slot_device_base
{
public:
// construction/destruction
@@ -171,7 +174,7 @@ public:
// ======================> megaduck_cart_slot_device
-class megaduck_cart_slot_device : public base_gb_cart_slot_device
+class megaduck_cart_slot_device : public gb_cart_slot_device_base
{
public:
// construction/destruction
@@ -190,8 +193,8 @@ public:
// device type definition
-extern const device_type GB_CART_SLOT;
-extern const device_type MEGADUCK_CART_SLOT;
+DECLARE_DEVICE_TYPE(GB_CART_SLOT, gb_cart_slot_device)
+DECLARE_DEVICE_TYPE(MEGADUCK_CART_SLOT, megaduck_cart_slot_device)
/***************************************************************************
@@ -209,4 +212,4 @@ extern const device_type MEGADUCK_CART_SLOT;
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+#endif // MAME_BUS_GAMEBOY_GB_SLOT_H
diff --git a/src/devices/bus/gameboy/mbc.cpp b/src/devices/bus/gameboy/mbc.cpp
index 6aba03a2124..5bcc83377f3 100644
--- a/src/devices/bus/gameboy/mbc.cpp
+++ b/src/devices/bus/gameboy/mbc.cpp
@@ -18,133 +18,133 @@
// gb_rom_mbc*_device - constructor
//-------------------------------------------------
-const device_type GB_ROM_MBC1 = device_creator<gb_rom_mbc1_device>;
-const device_type GB_ROM_MBC2 = device_creator<gb_rom_mbc2_device>;
-const device_type GB_ROM_MBC3 = device_creator<gb_rom_mbc3_device>;
-const device_type GB_ROM_MBC5 = device_creator<gb_rom_mbc5_device>;
-const device_type GB_ROM_MBC6 = device_creator<gb_rom_mbc6_device>;
-const device_type GB_ROM_MBC7 = device_creator<gb_rom_mbc7_device>;
-const device_type GB_ROM_M161 = device_creator<gb_rom_m161_device>;
-const device_type GB_ROM_MMM01 = device_creator<gb_rom_mmm01_device>;
-const device_type GB_ROM_SACHEN1 = device_creator<gb_rom_sachen_mmc1_device>;
-const device_type GB_ROM_SACHEN2 = device_creator<gb_rom_sachen_mmc2_device>;
-const device_type GB_ROM_188IN1 = device_creator<gb_rom_188in1_device>;
-const device_type GB_ROM_SINTAX = device_creator<gb_rom_sintax_device>;
-const device_type GB_ROM_CHONGWU = device_creator<gb_rom_chongwu_device>;
-const device_type GB_ROM_LICHENG = device_creator<gb_rom_licheng_device>;
-const device_type GB_ROM_DIGIMON = device_creator<gb_rom_digimon_device>;
-const device_type GB_ROM_ROCKMAN8 = device_creator<gb_rom_rockman8_device>;
-const device_type GB_ROM_SM3SP = device_creator<gb_rom_sm3sp_device>;
-
-
-gb_rom_mbc_device::gb_rom_mbc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_gb_cart_interface( mconfig, *this ), m_ram_enable(0)
- {
-}
-
-gb_rom_mbc1_device::gb_rom_mbc1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : gb_rom_mbc_device(mconfig, type, name, tag, owner, clock, shortname, source), m_mode(MODE_16M_64k),
- m_mask(0x1f),
- m_shift(0)
+DEFINE_DEVICE_TYPE(GB_ROM_MBC1, gb_rom_mbc1_device, "gb_rom_mbc1", "GB MBC1 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_MBC2, gb_rom_mbc2_device, "gb_rom_mbc2", "GB MBC2 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_MBC3, gb_rom_mbc3_device, "gb_rom_mbc3", "GB MBC3 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_MBC5, gb_rom_mbc5_device, "gb_rom_mbc5", "GB MBC5 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_MBC6, gb_rom_mbc6_device, "gb_rom_mbc6", "GB MBC6 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_MBC7, gb_rom_mbc7_device, "gb_rom_mbc7", "GB MBC7 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_M161, gb_rom_m161_device, "gb_rom_m161", "GB M161 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_MMM01, gb_rom_mmm01_device, "gb_rom_mmm01", "GB MMM01 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_SACHEN1, gb_rom_sachen_mmc1_device, "gb_rom_sachen1", "GB Sachen MMC1 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_SACHEN2, gb_rom_sachen_mmc2_device, "gb_rom_sachen2", "GB Sachen MMC2 Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_188IN1, gb_rom_188in1_device, "gb_rom_188in1", "GB 188in1")
+DEFINE_DEVICE_TYPE(GB_ROM_SINTAX, gb_rom_sintax_device, "gb_rom_sintax", "GB MBC5 Sintax Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_CHONGWU, gb_rom_chongwu_device, "gb_rom_chongwu", "GB Chong Wu Xiao Jing Ling")
+DEFINE_DEVICE_TYPE(GB_ROM_LICHENG, gb_rom_licheng_device, "gb_rom_licheng", "GB MBC5 Li Cheng Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_DIGIMON, gb_rom_digimon_device, "gb_rom_digimon", "GB Digimon")
+DEFINE_DEVICE_TYPE(GB_ROM_ROCKMAN8, gb_rom_rockman8_device, "gb_rom_rockman8", "GB MBC1 Rockman 8")
+DEFINE_DEVICE_TYPE(GB_ROM_SM3SP, gb_rom_sm3sp_device, "gb_sm3sp", "GB MBC1 Super Mario 3 Special")
+
+
+gb_rom_mbc_device::gb_rom_mbc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_gb_cart_interface(mconfig, *this)
+ , m_ram_enable(0)
+{
+}
+
+gb_rom_mbc1_device::gb_rom_mbc1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : gb_rom_mbc_device(mconfig, type, tag, owner, clock)
+ , m_mode(MODE_16M_64k)
+ , m_mask(0x1f)
+ , m_shift(0)
{
}
gb_rom_mbc1_device::gb_rom_mbc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_MBC1, "GB MBC1 Carts", tag, owner, clock, "gb_rom_mbc1", __FILE__), m_mode(MODE_16M_64k),
- m_mask(0x1f),
- m_shift(0)
+ : gb_rom_mbc1_device(mconfig, GB_ROM_MBC1, tag, owner, clock)
{
}
gb_rom_mbc2_device::gb_rom_mbc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_MBC2, "GB MBC2 Carts", tag, owner, clock, "gb_rom_mbc2", __FILE__)
+ : gb_rom_mbc_device(mconfig, GB_ROM_MBC2, tag, owner, clock)
{
}
gb_rom_mbc3_device::gb_rom_mbc3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_MBC3, "GB MBC3 Carts", tag, owner, clock, "gb_rom_mbc3", __FILE__)
+ : gb_rom_mbc_device(mconfig, GB_ROM_MBC3, tag, owner, clock)
{
}
-gb_rom_mbc5_device::gb_rom_mbc5_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : gb_rom_mbc_device(mconfig, type, name, tag, owner, clock, shortname, source)
+gb_rom_mbc5_device::gb_rom_mbc5_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : gb_rom_mbc_device(mconfig, type, tag, owner, clock)
{
}
gb_rom_mbc5_device::gb_rom_mbc5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_MBC5, "GB MBC5 Carts", tag, owner, clock, "gb_rom_mbc5", __FILE__)
+ : gb_rom_mbc5_device(mconfig, GB_ROM_MBC5, tag, owner, clock)
{
}
gb_rom_mbc6_device::gb_rom_mbc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_MBC6, "GB MBC6 Carts", tag, owner, clock, "gb_rom_mbc6", __FILE__), m_latch1(0), m_latch2(0), m_bank_4000(0), m_bank_6000(0)
- {
+ : gb_rom_mbc_device(mconfig, GB_ROM_MBC6, tag, owner, clock), m_latch1(0), m_latch2(0), m_bank_4000(0), m_bank_6000(0)
+{
}
gb_rom_mbc7_device::gb_rom_mbc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_MBC7, "GB MBC7 Carts", tag, owner, clock, "gb_rom_mbc7", __FILE__)
+ : gb_rom_mbc_device(mconfig, GB_ROM_MBC7, tag, owner, clock)
{
}
gb_rom_m161_device::gb_rom_m161_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_M161, "GB M161 Carts", tag, owner, clock, "gb_rom_m161", __FILE__), m_base_bank(0), m_load_disable(0)
- {
+ : gb_rom_mbc_device(mconfig, GB_ROM_M161, tag, owner, clock), m_base_bank(0), m_load_disable(0)
+{
}
gb_rom_mmm01_device::gb_rom_mmm01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_MMM01, "GB MMM01 Carts", tag, owner, clock, "gb_rom_mmm01", __FILE__), m_romb(0), m_romb_nwe(0), m_ramb(0), m_ramb_nwe(0), m_mode(0), m_mode_nwe(0), m_map(0), m_mux(0)
- {
+ : gb_rom_mbc_device(mconfig, GB_ROM_MMM01, tag, owner, clock), m_romb(0), m_romb_nwe(0), m_ramb(0), m_ramb_nwe(0), m_mode(0), m_mode_nwe(0), m_map(0), m_mux(0)
+{
}
gb_rom_sachen_mmc1_device::gb_rom_sachen_mmc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_SACHEN1, "GB Sachen MMC1 Carts", tag, owner, clock, "gb_rom_sachen1", __FILE__), m_base_bank(0), m_mask(0), m_mode(0), m_unlock_cnt(0)
- {
+ : gb_rom_sachen_mmc1_device(mconfig, GB_ROM_SACHEN1, tag, owner, clock)
+{
}
-gb_rom_sachen_mmc1_device::gb_rom_sachen_mmc1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : gb_rom_mbc_device(mconfig, type, name, tag, owner, clock, shortname, source), m_base_bank(0), m_mask(0), m_mode(0), m_unlock_cnt(0)
- {
+gb_rom_sachen_mmc1_device::gb_rom_sachen_mmc1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : gb_rom_mbc_device(mconfig, type, tag, owner, clock), m_base_bank(0), m_mask(0), m_mode(0), m_unlock_cnt(0)
+{
}
gb_rom_sachen_mmc2_device::gb_rom_sachen_mmc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_sachen_mmc1_device(mconfig, GB_ROM_SACHEN2, "GB Sachen MMC2 Carts", tag, owner, clock, "gb_rom_sachen2", __FILE__)
+ : gb_rom_sachen_mmc1_device(mconfig, GB_ROM_SACHEN2, tag, owner, clock)
{
}
gb_rom_188in1_device::gb_rom_188in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc1_device(mconfig, GB_ROM_188IN1, "GB 188in1", tag, owner, clock, "gb_rom_188in1", __FILE__), m_game_base(0)
- {
+ : gb_rom_mbc1_device(mconfig, GB_ROM_188IN1, tag, owner, clock), m_game_base(0)
+{
}
gb_rom_sintax_device::gb_rom_sintax_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_SINTAX, "GB MBC5 Sintax Carts", tag, owner, clock, "gb_rom_sintax", __FILE__), m_bank_mask(0), m_bank(0), m_reg(0), m_currentxor(0), m_xor2(0), m_xor3(0), m_xor4(0), m_xor5(0), m_sintax_mode(0)
- {
+ : gb_rom_mbc_device(mconfig, GB_ROM_SINTAX, tag, owner, clock), m_bank_mask(0), m_bank(0), m_reg(0), m_currentxor(0), m_xor2(0), m_xor3(0), m_xor4(0), m_xor5(0), m_sintax_mode(0)
+{
}
gb_rom_chongwu_device::gb_rom_chongwu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc5_device(mconfig, GB_ROM_CHONGWU, "GB Chong Wu Xiao Jing Ling", tag, owner, clock, "gb_rom_chongwu", __FILE__), m_protection_checked(0)
- {
+ : gb_rom_mbc5_device(mconfig, GB_ROM_CHONGWU, tag, owner, clock), m_protection_checked(0)
+{
}
gb_rom_licheng_device::gb_rom_licheng_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc5_device(mconfig, GB_ROM_LICHENG, "GB MBC5 Li Cheng Carts", tag, owner, clock, "gb_rom_licheng", __FILE__)
+ : gb_rom_mbc5_device(mconfig, GB_ROM_LICHENG, tag, owner, clock)
{
}
gb_rom_digimon_device::gb_rom_digimon_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc5_device(mconfig, GB_ROM_DIGIMON, "GB Digimon", tag, owner, clock, "gb_rom_digimon", __FILE__)
+ : gb_rom_mbc5_device(mconfig, GB_ROM_DIGIMON, tag, owner, clock)
{
}
gb_rom_rockman8_device::gb_rom_rockman8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_ROCKMAN8, "GB MBC1 Rockman 8", tag, owner, clock, "gb_rom_rockman8", __FILE__), m_bank_mask(0), m_bank(0), m_reg(0)
- {
+ : gb_rom_mbc_device(mconfig, GB_ROM_ROCKMAN8, tag, owner, clock), m_bank_mask(0), m_bank(0), m_reg(0)
+{
}
gb_rom_sm3sp_device::gb_rom_sm3sp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_mbc_device(mconfig, GB_ROM_SM3SP, "GB MBC1 Super Mario 3 Special", tag, owner, clock, "gb_rom_sm3sp", __FILE__), m_bank_mask(0), m_bank(0), m_reg(0), m_mode(0)
- {
+ : gb_rom_mbc_device(mconfig, GB_ROM_SM3SP, tag, owner, clock), m_bank_mask(0), m_bank(0), m_reg(0), m_mode(0)
+{
}
diff --git a/src/devices/bus/gameboy/mbc.h b/src/devices/bus/gameboy/mbc.h
index 4a9b49bd52e..a99f859639b 100644
--- a/src/devices/bus/gameboy/mbc.h
+++ b/src/devices/bus/gameboy/mbc.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli, Wilbert Pol
-#ifndef __GB_MBC_H
-#define __GB_MBC_H
+#ifndef MAME_BUS_GAMEBOY_MBC_H
+#define MAME_BUS_GAMEBOY_MBC_H
#include "gb_slot.h"
@@ -12,21 +12,22 @@ class gb_rom_mbc_device : public device_t,
public device_gb_cart_interface
{
public:
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
// construction/destruction
- gb_rom_mbc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ gb_rom_mbc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
void shared_start();
void shared_reset();
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_rom) override;
- virtual DECLARE_READ8_MEMBER(read_ram) override;
- virtual DECLARE_WRITE8_MEMBER(write_ram) override;
-
uint8_t m_ram_enable;
};
@@ -36,25 +37,27 @@ class gb_rom_mbc1_device : public gb_rom_mbc_device
{
public:
+ // construction/destruction
+ gb_rom_mbc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
enum {
MODE_16M_64k = 0, /// 16Mbit ROM, 64kBit RAM
MODE_4M_256k = 1 /// 4Mbit ROM, 256kBit RAM
};
- // construction/destruction
- gb_rom_mbc1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- gb_rom_mbc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ gb_rom_mbc1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override { shared_start(); save_item(NAME(m_mode)); };
- virtual void device_reset() override { shared_reset(); m_mode = MODE_16M_64k; };
+ virtual void device_start() override { shared_start(); save_item(NAME(m_mode)); }
+ virtual void device_reset() override { shared_reset(); m_mode = MODE_16M_64k; }
virtual void set_additional_wirings(uint8_t mask, int shift) override { m_mask = mask; m_shift = shift; } // these get set at cart loading
- virtual DECLARE_READ8_MEMBER(read_rom) override;
- virtual DECLARE_WRITE8_MEMBER(write_bank) override;
- virtual DECLARE_READ8_MEMBER(read_ram) override;
- virtual DECLARE_WRITE8_MEMBER(write_ram) override;
-
uint8_t m_mode, m_mask;
int m_shift;
};
@@ -67,14 +70,15 @@ public:
// construction/destruction
gb_rom_mbc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
};
// ======================> gb_rom_mbc3_device
@@ -85,15 +89,16 @@ public:
// construction/destruction
gb_rom_mbc3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
void update_rtc();
uint8_t m_rtc_regs[5];
@@ -106,17 +111,19 @@ class gb_rom_mbc5_device : public gb_rom_mbc_device
{
public:
// construction/destruction
- gb_rom_mbc5_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
gb_rom_mbc5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ gb_rom_mbc5_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
};
// ======================> gb_rom_mbc6_device
@@ -127,14 +134,16 @@ public:
// construction/destruction
gb_rom_mbc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint16_t m_latch1, m_latch2;
uint8_t m_bank_4000, m_bank_6000;
};
@@ -147,14 +156,15 @@ public:
// construction/destruction
gb_rom_mbc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
};
// ======================> gb_rom_m161_device
@@ -162,19 +172,19 @@ public:
class gb_rom_m161_device : public gb_rom_mbc_device
{
public:
-
// construction/destruction
gb_rom_m161_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_ram) override { }
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_base_bank;
uint8_t m_load_disable;
};
@@ -186,16 +196,17 @@ public:
// construction/destruction
gb_rom_mmm01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint16_t m_romb;
uint8_t m_romb_nwe;
uint8_t m_ramb;
@@ -211,25 +222,26 @@ public:
class gb_rom_sachen_mmc1_device : public gb_rom_mbc_device
{
public:
+ // construction/destruction
+ gb_rom_sachen_mmc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override { }
+
+protected:
enum {
MODE_LOCKED,
MODE_UNLOCKED
};
- // construction/destruction
- gb_rom_sachen_mmc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- gb_rom_sachen_mmc1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ gb_rom_sachen_mmc1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual DECLARE_READ8_MEMBER(read_rom) override;
- virtual DECLARE_WRITE8_MEMBER(write_bank) override;
- virtual DECLARE_READ8_MEMBER(read_ram) override { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_ram) override { }
-
uint8_t m_base_bank, m_mask, m_mode, m_unlock_cnt;
};
@@ -238,24 +250,23 @@ public:
class gb_rom_sachen_mmc2_device : public gb_rom_sachen_mmc1_device
{
public:
+ // construction/destruction
+ gb_rom_sachen_mmc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+protected:
enum {
MODE_LOCKED_DMG,
MODE_LOCKED_CGB,
MODE_UNLOCKED
};
- // construction/destruction
- gb_rom_sachen_mmc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
-
- virtual DECLARE_READ8_MEMBER(read_rom) override;
- virtual DECLARE_READ8_MEMBER(read_ram) override;
- virtual DECLARE_WRITE8_MEMBER(write_ram) override;
-
};
// ======================> gb_rom_188in1_device
@@ -265,14 +276,15 @@ public:
// construction/destruction
gb_rom_188in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); save_item(NAME(m_game_base)); };
- virtual void device_reset() override { shared_reset(); m_game_base = 0; };
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); save_item(NAME(m_game_base)); }
+ virtual void device_reset() override { shared_reset(); m_game_base = 0; }
+
private:
uint32_t m_game_base;
};
@@ -284,16 +296,18 @@ public:
// construction/destruction
gb_rom_sintax_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- void set_xor_for_bank(uint8_t bank);
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ void set_xor_for_bank(uint8_t bank);
+
uint8_t m_bank_mask, m_bank, m_reg;
uint8_t m_currentxor, m_xor2, m_xor3, m_xor4, m_xor5, m_sintax_mode;
@@ -307,11 +321,13 @@ public:
// construction/destruction
gb_rom_chongwu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual DECLARE_READ8_MEMBER(read_rom) override;
uint8_t m_protection_checked;
};
@@ -334,13 +350,14 @@ public:
// construction/destruction
gb_rom_digimon_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
};
@@ -351,15 +368,17 @@ public:
// construction/destruction
gb_rom_rockman8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
+
uint8_t m_bank_mask, m_bank, m_reg;
};
@@ -370,39 +389,39 @@ public:
// construction/destruction
gb_rom_sm3sp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
+
uint8_t m_bank_mask, m_bank, m_reg, m_mode;
};
// device type definition
-extern const device_type GB_ROM_MBC1;
-extern const device_type GB_ROM_MBC1_COL;
-extern const device_type GB_ROM_MBC2;
-extern const device_type GB_ROM_MBC3;
-extern const device_type GB_ROM_MBC4;
-extern const device_type GB_ROM_MBC5;
-extern const device_type GB_ROM_MBC6;
-extern const device_type GB_ROM_MBC7;
-extern const device_type GB_ROM_M161;
-extern const device_type GB_ROM_MMM01;
-extern const device_type GB_ROM_SACHEN1;
-extern const device_type GB_ROM_SACHEN2;
-extern const device_type GB_ROM_188IN1;
-extern const device_type GB_ROM_SINTAX;
-extern const device_type GB_ROM_CHONGWU;
-extern const device_type GB_ROM_LICHENG;
-extern const device_type GB_ROM_DIGIMON;
-extern const device_type GB_ROM_ROCKMAN8;
-extern const device_type GB_ROM_SM3SP;
-
-#endif
+DECLARE_DEVICE_TYPE(GB_ROM_MBC1, gb_rom_mbc1_device)
+DECLARE_DEVICE_TYPE(GB_ROM_MBC2, gb_rom_mbc2_device)
+DECLARE_DEVICE_TYPE(GB_ROM_MBC3, gb_rom_mbc3_device)
+DECLARE_DEVICE_TYPE(GB_ROM_MBC5, gb_rom_mbc5_device)
+DECLARE_DEVICE_TYPE(GB_ROM_MBC6, gb_rom_mbc6_device)
+DECLARE_DEVICE_TYPE(GB_ROM_MBC7, gb_rom_mbc7_device)
+DECLARE_DEVICE_TYPE(GB_ROM_M161, gb_rom_m161_device)
+DECLARE_DEVICE_TYPE(GB_ROM_MMM01, gb_rom_mmm01_device)
+DECLARE_DEVICE_TYPE(GB_ROM_SACHEN1, gb_rom_sachen_mmc1_device)
+DECLARE_DEVICE_TYPE(GB_ROM_SACHEN2, gb_rom_sachen_mmc2_device)
+DECLARE_DEVICE_TYPE(GB_ROM_188IN1, gb_rom_188in1_device)
+DECLARE_DEVICE_TYPE(GB_ROM_SINTAX, gb_rom_sintax_device)
+DECLARE_DEVICE_TYPE(GB_ROM_CHONGWU, gb_rom_chongwu_device)
+DECLARE_DEVICE_TYPE(GB_ROM_LICHENG, gb_rom_licheng_device)
+DECLARE_DEVICE_TYPE(GB_ROM_DIGIMON, gb_rom_digimon_device)
+DECLARE_DEVICE_TYPE(GB_ROM_ROCKMAN8, gb_rom_rockman8_device)
+DECLARE_DEVICE_TYPE(GB_ROM_SM3SP, gb_rom_sm3sp_device)
+
+#endif // MAME_BUS_GAMEBOY_MBC_H
diff --git a/src/devices/bus/gameboy/rom.cpp b/src/devices/bus/gameboy/rom.cpp
index f06164426ef..1d907d8db37 100644
--- a/src/devices/bus/gameboy/rom.cpp
+++ b/src/devices/bus/gameboy/rom.cpp
@@ -19,63 +19,61 @@
// gb_rom_device - constructor
//-------------------------------------------------
-const device_type GB_STD_ROM = device_creator<gb_rom_device>;
-const device_type GB_ROM_TAMA5 = device_creator<gb_rom_tama5_device>;
-const device_type GB_ROM_WISDOM = device_creator<gb_rom_wisdom_device>;
-const device_type GB_ROM_YONG = device_creator<gb_rom_yong_device>;
-const device_type GB_ROM_ATVRAC = device_creator<gb_rom_atvrac_device>;
-const device_type GB_ROM_LASAMA = device_creator<gb_rom_lasama_device>;
+DEFINE_DEVICE_TYPE(GB_STD_ROM, gb_rom_device, "gb_rom", "GB Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_TAMA5, gb_rom_tama5_device, "gb_rom_tama5", "GB Tamagotchi")
+DEFINE_DEVICE_TYPE(GB_ROM_WISDOM, gb_rom_wisdom_device, "gb_rom_wisdom", "GB Wisdom Tree Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_YONG, gb_rom_yong_device, "gb_rom_yong", "GB Young Yong Carts")
+DEFINE_DEVICE_TYPE(GB_ROM_ATVRAC, gb_rom_atvrac_device, "gb_rom_atvrac", "GB ATV Racin'")
+DEFINE_DEVICE_TYPE(GB_ROM_LASAMA, gb_rom_lasama_device, "gb_rom_lasama", "GB LaSaMa")
-const device_type MEGADUCK_ROM = device_creator<megaduck_rom_device>;
+DEFINE_DEVICE_TYPE(MEGADUCK_ROM, megaduck_rom_device, "megaduck_rom", "MegaDuck Carts")
-gb_rom_device::gb_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_gb_cart_interface( mconfig, *this )
+gb_rom_device::gb_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_gb_cart_interface(mconfig, *this)
{
}
gb_rom_device::gb_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, GB_STD_ROM, "GB Carts", tag, owner, clock, "gb_rom", __FILE__),
- device_gb_cart_interface( mconfig, *this )
+ : gb_rom_device(mconfig, GB_STD_ROM, tag, owner, clock)
{
}
gb_rom_tama5_device::gb_rom_tama5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_device(mconfig, GB_ROM_TAMA5, "GB Tamagotchi", tag, owner, clock, "gb_rom_tama5", __FILE__), m_tama5_data(0), m_tama5_addr(0), m_tama5_cmd(0), m_rtc_reg(0)
- {
+ : gb_rom_device(mconfig, GB_ROM_TAMA5, tag, owner, clock), m_tama5_data(0), m_tama5_addr(0), m_tama5_cmd(0), m_rtc_reg(0)
+{
}
gb_rom_wisdom_device::gb_rom_wisdom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_device(mconfig, GB_ROM_WISDOM, "GB Wisdom Tree Carts", tag, owner, clock, "gb_rom_wisdom", __FILE__)
+ : gb_rom_device(mconfig, GB_ROM_WISDOM, tag, owner, clock)
{
}
gb_rom_yong_device::gb_rom_yong_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_device(mconfig, GB_ROM_YONG, "GB Yong Yong Carts", tag, owner, clock, "gb_rom_yong", __FILE__)
+ : gb_rom_device(mconfig, GB_ROM_YONG, tag, owner, clock)
{
}
gb_rom_atvrac_device::gb_rom_atvrac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_device(mconfig, GB_ROM_ATVRAC, "GB ATV Racin'", tag, owner, clock, "gb_rom_atvrac", __FILE__)
+ : gb_rom_device(mconfig, GB_ROM_ATVRAC, tag, owner, clock)
{
}
gb_rom_lasama_device::gb_rom_lasama_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gb_rom_device(mconfig, GB_ROM_LASAMA, "GB LaSaMa", tag, owner, clock, "gb_rom_lasama", __FILE__)
+ : gb_rom_device(mconfig, GB_ROM_LASAMA, tag, owner, clock)
{
}
-megaduck_rom_device::megaduck_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_gb_cart_interface( mconfig, *this )
+megaduck_rom_device::megaduck_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_gb_cart_interface(mconfig, *this)
{
}
megaduck_rom_device::megaduck_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MEGADUCK_ROM, "MegaDuck Carts", tag, owner, clock, "megaduck_rom", __FILE__),
- device_gb_cart_interface( mconfig, *this )
+ : megaduck_rom_device(mconfig, MEGADUCK_ROM, tag, owner, clock)
{
}
diff --git a/src/devices/bus/gameboy/rom.h b/src/devices/bus/gameboy/rom.h
index 99a1602efa9..a5439fba598 100644
--- a/src/devices/bus/gameboy/rom.h
+++ b/src/devices/bus/gameboy/rom.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli, Wilbert Pol
-#ifndef __GB_ROM_H
-#define __GB_ROM_H
+#ifndef MAME_BUS_GAMEBOY_ROM_H
+#define MAME_BUS_GAMEBOY_ROM_H
#include "gb_slot.h"
@@ -13,20 +13,22 @@ class gb_rom_device : public device_t,
{
public:
// construction/destruction
- gb_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
gb_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
- void shared_start();
- void shared_reset();
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ gb_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
+
+ void shared_start();
+ void shared_reset();
};
// ======================> gb_rom_tama5_device
@@ -36,15 +38,16 @@ public:
// construction/destruction
gb_rom_tama5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint16_t m_tama5_data, m_tama5_addr, m_tama5_cmd;
uint8_t m_regs[32];
uint8_t m_rtc_reg;
@@ -57,13 +60,14 @@ public:
// construction/destruction
gb_rom_wisdom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
};
// ======================> gb_rom_yong_device
@@ -73,13 +77,14 @@ public:
// construction/destruction
gb_rom_yong_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
};
// ======================> gb_rom_atvrac_device
@@ -89,13 +94,14 @@ public:
// construction/destruction
gb_rom_atvrac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
};
// ======================> gb_rom_lasama_device
@@ -105,13 +111,14 @@ public:
// construction/destruction
gb_rom_lasama_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { shared_start(); };
- virtual void device_reset() override { shared_reset(); };
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { shared_start(); }
+ virtual void device_reset() override { shared_reset(); }
};
@@ -121,27 +128,29 @@ class megaduck_rom_device :public device_t,
{
public:
// construction/destruction
- megaduck_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
megaduck_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ megaduck_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
};
// device type definition
-extern const device_type GB_STD_ROM;
-extern const device_type GB_ROM_TAMA5;
-extern const device_type GB_ROM_WISDOM;
-extern const device_type GB_ROM_YONG;
-extern const device_type GB_ROM_ATVRAC;
-extern const device_type GB_ROM_LASAMA;
+DECLARE_DEVICE_TYPE(GB_STD_ROM, gb_rom_device)
+DECLARE_DEVICE_TYPE(GB_ROM_TAMA5, gb_rom_tama5_device)
+DECLARE_DEVICE_TYPE(GB_ROM_WISDOM, gb_rom_wisdom_device)
+DECLARE_DEVICE_TYPE(GB_ROM_YONG, gb_rom_yong_device)
+DECLARE_DEVICE_TYPE(GB_ROM_ATVRAC, gb_rom_atvrac_device)
+DECLARE_DEVICE_TYPE(GB_ROM_LASAMA, gb_rom_lasama_device)
-extern const device_type MEGADUCK_ROM;
+DECLARE_DEVICE_TYPE(MEGADUCK_ROM, megaduck_rom_device)
-#endif
+#endif // MAME_BUS_GAMEBOY_ROM_H
diff --git a/src/devices/bus/gamegear/ggext.cpp b/src/devices/bus/gamegear/ggext.cpp
index 3be7f8a1080..4cdd0d59afc 100644
--- a/src/devices/bus/gamegear/ggext.cpp
+++ b/src/devices/bus/gamegear/ggext.cpp
@@ -18,7 +18,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type GG_EXT_PORT = device_creator<gg_ext_port_device>;
+DEFINE_DEVICE_TYPE(GG_EXT_PORT, gg_ext_port_device, "gg_ext_port", "Game Gear EXT Port")
@@ -56,10 +56,11 @@ device_gg_ext_port_interface::~device_gg_ext_port_interface()
//-------------------------------------------------
gg_ext_port_device::gg_ext_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, GG_EXT_PORT, "EXT Port", tag, owner, clock, "gg_ext_port", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr),
- m_th_pin_handler(*this),
- m_pixel_handler(*this)
+ device_t(mconfig, GG_EXT_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_device(nullptr),
+ m_th_pin_handler(*this),
+ m_pixel_handler(*this)
{
}
diff --git a/src/devices/bus/gamegear/ggext.h b/src/devices/bus/gamegear/ggext.h
index cdcbcb0dc00..64ac953b3f4 100644
--- a/src/devices/bus/gamegear/ggext.h
+++ b/src/devices/bus/gamegear/ggext.h
@@ -10,10 +10,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_GAMEGEAR_GGEXT_H
+#define MAME_BUS_GAMEGEAR_GGEXT_H
-#ifndef __GG_EXT_PORT__
-#define __GG_EXT_PORT__
+#pragma once
@@ -55,9 +55,9 @@ public:
virtual ~gg_ext_port_device();
// static configuration helpers
- template<class _Object> static devcb_base &set_th_input_handler(device_t &device, _Object object) { return downcast<gg_ext_port_device &>(device).m_th_pin_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_th_input_handler(device_t &device, Object &&cb) { return downcast<gg_ext_port_device &>(device).m_th_pin_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_pixel_handler(device_t &device, _Object object) { return downcast<gg_ext_port_device &>(device).m_pixel_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_pixel_handler(device_t &device, Object &&cb) { return downcast<gg_ext_port_device &>(device).m_pixel_handler.set_callback(std::forward<Object>(cb)); }
// Currently, only the support for SMS Controller Adaptor is emulated,
// for when SMS Compatibility mode is enabled. In that mode, the 10 pins
@@ -100,13 +100,14 @@ class device_gg_ext_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_gg_ext_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_gg_ext_port_interface();
- virtual uint8_t peripheral_r() { return 0xff; };
- virtual void peripheral_w(uint8_t data) { };
+ virtual uint8_t peripheral_r() { return 0xff; }
+ virtual void peripheral_w(uint8_t data) { }
protected:
+ device_gg_ext_port_interface(const machine_config &mconfig, device_t &device);
+
gg_ext_port_device *m_port;
};
@@ -118,4 +119,4 @@ extern const device_type GG_EXT_PORT;
SLOT_INTERFACE_EXTERN( gg_ext_port_devices );
-#endif
+#endif // MAME_BUS_GAMEGEAR_GGEXT_H
diff --git a/src/devices/bus/gamegear/smsctrladp.cpp b/src/devices/bus/gamegear/smsctrladp.cpp
index e829dd80e5e..cfa70510101 100644
--- a/src/devices/bus/gamegear/smsctrladp.cpp
+++ b/src/devices/bus/gamegear/smsctrladp.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_CTRL_ADAPTOR = device_creator<sms_ctrl_adaptor_device>;
+DEFINE_DEVICE_TYPE(SMS_CTRL_ADAPTOR, sms_ctrl_adaptor_device, "sms_ctrl_adaptor", "SMS Controller Adaptor")
//**************************************************************************
@@ -28,7 +28,7 @@ const device_type SMS_CTRL_ADAPTOR = device_creator<sms_ctrl_adaptor_device>;
//-------------------------------------------------
sms_ctrl_adaptor_device::sms_ctrl_adaptor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_CTRL_ADAPTOR, "SMS Controller Adaptor", tag, owner, clock, "sms_ctrl_adaptor", __FILE__),
+ device_t(mconfig, SMS_CTRL_ADAPTOR, tag, owner, clock),
device_gg_ext_port_interface(mconfig, *this),
m_subctrl_port(*this, "ctrl")
{
@@ -41,7 +41,6 @@ sms_ctrl_adaptor_device::sms_ctrl_adaptor_device(const machine_config &mconfig,
void sms_ctrl_adaptor_device::device_start()
{
- m_subctrl_port->device_start();
}
diff --git a/src/devices/bus/gamegear/smsctrladp.h b/src/devices/bus/gamegear/smsctrladp.h
index 4a4b9958ef5..8d139eb0371 100644
--- a/src/devices/bus/gamegear/smsctrladp.h
+++ b/src/devices/bus/gamegear/smsctrladp.h
@@ -7,10 +7,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_GAMEGEAR_SMSCRTLADP_H
+#define MAME_BUS_GAMEGEAR_SMSCRTLADP_H
-#ifndef __SMS_CTRL_ADAPTOR__
-#define __SMS_CTRL_ADAPTOR__
+#pragma once
#include "ggext.h"
@@ -49,7 +49,7 @@ private:
// device type definition
-extern const device_type SMS_CTRL_ADAPTOR;
+DECLARE_DEVICE_TYPE(SMS_CTRL_ADAPTOR, sms_ctrl_adaptor_device)
-#endif
+#endif // MAME_BUS_GAMEGEAR_SMSCRTLADP_H
diff --git a/src/devices/bus/gba/gba_slot.cpp b/src/devices/bus/gba/gba_slot.cpp
index 9df15197487..07af56d800a 100644
--- a/src/devices/bus/gba/gba_slot.cpp
+++ b/src/devices/bus/gba/gba_slot.cpp
@@ -12,11 +12,463 @@
#include "emu.h"
#include "gba_slot.h"
+namespace {
+
+struct gba_chip_fix_conflict_item
+{
+ char game_code[5];
+ uint32_t chip;
+};
+
+const gba_chip_fix_conflict_item gba_chip_fix_conflict_list[] =
+{
+ { "ABFJ", GBA_CHIP_SRAM }, // 0059 - Breath of Fire - Ryuu no Senshi (JPN)
+ { "AHMJ", GBA_CHIP_EEPROM_4K }, // 0364 - Dai-Mahjong (JPN)
+ { "A2GJ", GBA_CHIP_EEPROM_64K }, // 0399 - Advance GT2 (JPN)
+ { "AK9E", GBA_CHIP_EEPROM_4K }, // 0479 - Medabots AX - Rokusho Version (USA)
+ { "AK8E", GBA_CHIP_EEPROM_4K }, // 0480 - Medabots AX - Metabee Version (USA)
+ { "AK9P", GBA_CHIP_EEPROM_4K }, // 0515 - Medabots AX - Rokusho Version (EUR)
+ { "AGIJ", GBA_CHIP_EEPROM_4K }, // 0548 - Medarot G - Kuwagata Version (JPN)
+ { "A3DJ", GBA_CHIP_EEPROM_4K }, // 0567 - Disney Sports - American Football (JPN)
+ { "AF7J", GBA_CHIP_EEPROM_64K }, // 0605 - Tokimeki Yume Series 1 - Ohanaya-san ni Narou! (JPN)
+ { "AH7J", GBA_CHIP_EEPROM_64K }, // 0617 - Nakayoshi Pet Advance Series 1 - Kawaii Hamster (JPN)
+ { "AGHJ", GBA_CHIP_EEPROM_4K }, // 0620 - Medarot G - Kabuto Version (JPN)
+ { "AR8E", GBA_CHIP_SRAM }, // 0727 - Rocky (USA)
+ { "ALUE", GBA_CHIP_EEPROM_4K }, // 0751 - Super Monkey Ball Jr. (USA)
+ { "A3DE", GBA_CHIP_EEPROM_4K }, // 0800 - Disney Sports - Football (USA)
+ { "A87J", GBA_CHIP_EEPROM_64K }, // 0817 - Ohanaya-San Monogatari GBA (JPN)
+ { "A56J", GBA_CHIP_EEPROM_64K }, // 0827 - DokiDoki Cooking Series 1 - Komugi-chan no Happy Cake (JPN)
+ { "AUSJ", GBA_CHIP_FLASH }, // 0906 - One Piece - Mezase! King of Berries (JPN)
+ { "ANTJ", GBA_CHIP_SRAM }, // 0950 - Nippon Pro Mahjong Renmei Kounin - Tetsuman Advance (JPN)
+ { "A8OJ", GBA_CHIP_EEPROM_64K }, // 0988 - DokiDoki Cooking Series 2 - Gourmet Kitchen - Suteki na Obentou (JPN)
+ { "AK8P", GBA_CHIP_EEPROM_4K }, // 1022 - Medabots AX - Metabee Version (EUR)
+ { "A6OJ", GBA_CHIP_EEPROM_64K }, // 1092 - Onimusha Tactics (JPN)
+ { "A6OE", GBA_CHIP_EEPROM_64K }, // 1241 - Onimusha Tactics (USA)
+ { "A6OP", GBA_CHIP_EEPROM_64K }, // 1288 - Onimusha Tactics (EUR)
+ { "BKME", GBA_CHIP_EEPROM_4K }, // 1545 - Kim Possible 2 - Drakken's Demise (USA)
+ { "BDKJ", GBA_CHIP_EEPROM_64K }, // 1555 - Digi Communication 2 in 1 Datou! Black Gemagema Dan (JPN)
+ { "BR4J", GBA_CHIP_FLASH }, // 1586 - Rockman EXE 4.5 - Real Operation (JPN)
+ { "BG8J", GBA_CHIP_EEPROM_64K }, // 1853 - Ganbare! Dodge Fighters (JPN)
+ { "AROP", GBA_CHIP_EEPROM_4K }, // 1862 - Rocky (EUR)
+// "A2YE" - 1906 - Top Gun - Combat Zones (USA) - multiple NVRAM chips detected, but none present (protection against emu?)
+ { "BKMJ", GBA_CHIP_EEPROM_4K }, // 2039 - Kim Possible (JPN)
+ { "BKEJ", GBA_CHIP_EEPROM_64K }, // 2047 - Konjiki no Gashbell - The Card Battle for GBA (JPN)
+ { "BKMP", GBA_CHIP_EEPROM_4K }, // 2297 - Kim Possible 2 - Drakken's Demise (EUR)
+ { "BUHJ", GBA_CHIP_EEPROM_4K }, // 2311 - Ueki no Housoku Shinki Sakuretsu! Nouryokumono Battle (JPN)
+ { "BYUJ", GBA_CHIP_EEPROM_64K }, // 2322 - Yggdra Union (JPN)
+};
+
+struct gba_chip_fix_item
+{
+ char game_code[5];
+};
+
+const gba_chip_fix_item gba_chip_fix_eeprom_list[] =
+{
+ // gba scan no. 7
+ { "AKTJ" }, // 0145 - Hello Kitty Collection - Miracle Fashion Maker (JPN)
+ { "AISP" }, // 0185 - International Superstar Soccer (EUR)
+ { "AKGP" }, // 0204 - Mech Platoon (EUR)
+ { "AX2E" }, // 0207 - Dave Mirra Freestyle BMX 2 (USA)
+ { "AASJ" }, // 0234 - World Advance Soccer - Shouri heno Michi (JPN)
+ { "AA2J" }, // 0237 - Super Mario World - Super Mario Advance 2 (JPN)
+ { "AJWJ" }, // 0242 - Jikkyou World Soccer Pocket (JPN)
+ { "AABE" }, // 0244 - American Bass Challenge (USA)
+ { "AWXJ" }, // 0254 - ESPN Winter X-Games Snowboarding 2002 (JPN)
+ { "AALJ" }, // 0259 - Kidou Tenshi Angelic Layer - Misaki to Yume no Tenshi-tachi (JPN)
+ { "AKGE" }, // 0263 - Mech Platoon (USA)
+ { "AGLJ" }, // 0273 - Tomato Adventure (JPN)
+ { "AWIJ" }, // 0274 - Hyper Sports 2002 Winter (JPN)
+ { "APNJ" }, // 0286 - Pinky Monkey Town (JPN)
+ { "AA2E" }, // 0288 - Super Mario World - Super Mario Advance 2 (USA)
+ { "AX2P" }, // 0293 - Dave Mirra Freestyle BMX 2 (EUR)
+ { "AMGP" }, // 0296 - ESPN Great Outdoor Games - Bass Tournament (EUR)
+ { "AMHJ" }, // 0308 - Bomberman Max 2 - Bomberman Version (JPN)
+ { "AGNJ" }, // 0311 - Goemon - New Age Shutsudou! (JPN)
+ { "AMYJ" }, // 0324 - Bomberman Max 2 - Max Version (JPN)
+ { "AT3E" }, // 0326 - Tony Hawk's Pro Skater 3 (USA)
+ { "AHHE" }, // 0327 - High Heat - Major League Baseball 2003 (USA)
+ { "ANLE" }, // 0328 - NHL 2002 (USA)
+ { "AAGJ" }, // 0345 - Angelique (JPN)
+ { "ABJP" }, // 0351 - Broken Sword - The Shadow of the Templars (EUR)
+ { "AKVJ" }, // 0357 - K-1 Pocket Grand Prix (JPN)
+ { "AKGJ" }, // 0361 - Kikaika Guntai - Mech Platoon (JPN)
+ { "ADDJ" }, // 0362 - Diadroids World - Evil Teikoku no Yabou (JPN)
+ { "ABJE" }, // 0365 - Broken Sword - The Shadow of the Templars (USA)
+ { "AABP" }, // 0380 - Super Black Bass Advance (EUR)
+ { "AA2P" }, // 0390 - Super Mario World - Super Mario Advance 2 (EUR)
+ { "A2GJ" }, // 0399 - Advance GT2 (JPN)
+ { "AEWJ" }, // 0400 - Ui-Ire - World Soccer Winning Eleven (JPN)
+ { "ADPJ" }, // 0417 - Doraemon - Dokodemo Walker (JPN)
+ { "AN5J" }, // 0420 - Kawa no Nushi Tsuri 5 - Fushigi no Mori Kara (JPN)
+ { "ACBJ" }, // 0421 - Gekitou! Car Battler Go!! (JPN)
+ { "AHIJ" }, // 0426 - Hitsuji no Kimochi (JPN)
+ { "ATFP" }, // 0429 - Alex Ferguson's Player Manager 2002 (EUR)
+ { "AFUJ" }, // 0431 - Youkaidou (JPN)
+ { "AEPP" }, // 0435 - Sheep (EUR)
+ { "AMHE" }, // 0442 - Bomberman Max 2 - Blue Advance (USA)
+ { "AMYE" }, // 0443 - Bomberman Max 2 - Red Advance (USA)
+ { "AT3F" }, // 0457 - Tony Hawk's Pro Skater 3 (FRA)
+ { "ARJJ" }, // 0497 - Custom Robo GX (JPN)
+ { "AFCJ" }, // 0521 - RockMan & Forte (JPN)
+ { "ANJE" }, // 0528 - Madden NFL 2003 (USA)
+ { "AN7J" }, // 0533 - Famista Advance (JPN)
+ { "ATYJ" }, // 0540 - Gambler Densetsu Tetsuya - Yomigaeru Densetsu (JPN)
+ { "AXBJ" }, // 0551 - Black Matrix Zero (JPN)
+ { "A3AE" }, // 0580 - Yoshi's Island - Super Mario Advance 3 (USA)
+ { "A3AJ" }, // 0582 - Super Mario Advance 3 (JPN)
+ { "AZUJ" }, // 0595 - Street Fighter Zero 3 - Upper (JPN)
+ { "ALOE" }, // 0600 - The Lord of the Rings - The Fellowship of the Ring (USA)
+ { "A2SE" }, // 0602 - Spyro 2 - Season of Flame (USA)
+ { "AF7J" }, // 0605 - Tokimeki Yume Series 1 - Ohanaya-san ni Narou! (JPN)
+ { "A3AP" }, // 0610 - Yoshi's Island - Super Mario Advance 3 (EUR)
+ { "AH7J" }, // 0617 - Nakayoshi Pet Advance Series 1 - Kawaii Hamster (JPN)
+ { "AI7J" }, // 0618 - Nakayoshi Pet Advance Series 2 - Kawaii Koinu (JPN)
+ { "AN3J" }, // 0619 - Nakayoshi Pet Advance Series 3 - Kawaii Koneko (JPN)
+ { "AAPJ" }, // 0632 - Metalgun Slinger (JPN)
+ { "A2JJ" }, // 0643 - J.League - Winning Eleven Advance 2002 (JPN)
+ { "AHXJ" }, // 0649 - High Heat - Major League Baseball 2003 (JPN)
+ { "AHAJ" }, // 0651 - Hamster Paradise Advance (JPN)
+ { "APUJ" }, // 0653 - PukuPuku Tennen Kairanban (JPN)
+ { "A2SP" }, // 0673 - Spyro 2 - Season of Flame (EUR)
+ { "AN9J" }, // 0675 - Tales of the World - Narikiri Dungeon 2 (JPN)
+ { "ACBE" }, // 0683 - Car Battler Joe (USA)
+ { "AT6E" }, // 0693 - Tony Hawk's Pro Skater 4 (USA)
+ { "ALOP" }, // 0702 - The Lord of the Rings - The Fellowship of the Ring (EUR)
+ { "A63J" }, // 0710 - Kawaii Pet Shop Monogatari 3 (JPN)
+ { "AAXJ" }, // 0748 - Fantastic Maerchen - Cake-yasan Monogatari (JPN)
+ { "AZLE" }, // 0763 - The Legend of Zelda - A Link to the Past & Four Swords (USA)
+ { "AZUP" }, // 0765 - Street Fighter Alpha 3 - Upper (EUR)
+ { "AJKJ" }, // 0769 - Jikkyou World Soccer Pocket 2 (JPN)
+ { "AB3E" }, // 0781 - Dave Mirra Freestyle BMX 3 (USA)
+ { "A2IJ" }, // 0791 - Magi Nation (JPN)
+ { "AK7J" }, // 0792 - Klonoa Heroes - Densetsu no Star Medal (JPN)
+ { "A2HJ" }, // 0794 - Hajime no Ippo - The Fighting! (JPN)
+ { "ALNE" }, // 0795 - Lunar Legend (USA)
+ { "AUCJ" }, // 0808 - Uchuu Daisakusen Choco Vader - Uchuu Kara no Shinryakusha (JPN)
+ { "A59J" }, // 0809 - Toukon Heat (JPN)
+ { "ALJE" }, // 0815 - Sea Trader - Rise of Taipan (USA)
+ { "A87J" }, // 0817 - Ohanaya-San Monogatari GBA (JPN)
+ { "A56J" }, // 0827 - DokiDoki Cooking Series 1 - Komugi-chan no Happy Cake (JPN)
+ { "AHZJ" }, // 0830 - Higanbana (JPN)
+ { "A8BP" }, // 0832 - Medabots - Metabee Version (EUR)
+ { "A2OJ" }, // 0833 - K-1 Pocket Grand Prix 2 (JPN)
+ { "AY2P" }, // 0843 - International Superstar Soccer Advance (EUR)
+ { "ANSJ" }, // 0845 - Marie, Elie & Anis no Atelier - Soyokaze Kara no Dengon (JPN)
+ { "ACOJ" }, // 0865 - Manga-ka Debut Monogatari (JPN)
+ { "AZLP" }, // 0870 - The Legend of Zelda - A Link to the Past & Four Swords (EUR)
+ { "AWKJ" }, // 0879 - Wagamama Fairy Mirumo de Pon! - Ougon Maracas no Densetsu (JPN)
+ { "AZUE" }, // 0886 - Street Fighter Alpha 3 - Upper (USA)
+ { "AZLJ" }, // 0887 - Zelda no Densetsu - Kamigami no Triforce & 4tsu no Tsurugi (JPN)
+ { "A6ME" }, // 0889 - MegaMan & Bass (USA)
+ { "A64J" }, // 0915 - Shimura Ken no Baka Tonosama (JPN)
+ { "A9HJ" }, // 0917 - Dragon Quest Monsters - Caravan Heart (JPN)
+ { "AMHP" }, // 0929 - Bomberman Max 2 - Blue Advance (EUR)
+ { "AMYP" }, // 0930 - Bomberman Max 2 - Red Advance (EUR)
+ { "AMGJ" }, // 0943 - Exciting Bass (JPN)
+ { "A5KJ" }, // 0946 - Medarot 2 Core - Kabuto Version (JPN)
+ { "A4LJ" }, // 0949 - Sylvania Family 4 - Meguru Kisetsu no Tapestry (JPN)
+ { "A2VJ" }, // 0955 - Kisekko Gurumi - Chesty to Nuigurumi-tachi no Mahou no Bouken (JPN)
+ { "A5QJ" }, // 0956 - Medarot 2 Core - Kuwagata Version (JPN)
+ { "AZBJ" }, // 0958 - Bass Tsuri Shiyouze! (JPN)
+ { "AO2J" }, // 0961 - Oshare Princess 2 (JPN)
+ { "AB4J" }, // 0965 - Summon Night - Craft Sword Monogatari (JPN)
+ { "AZAJ" }, // 0971 - Azumanga Daiou Advance (JPN)
+ { "AF3J" }, // 0974 - Zero One (JPN)
+ { "A8OJ" }, // 0988 - DokiDoki Cooking Series 2 - Gourmet Kitchen - Suteki na Obentou (JPN)
+ { "AT3D" }, // 1016 - Tony Hawk's Pro Skater 3 (GER)
+ { "A6MP" }, // 1031 - MegaMan & Bass (EUR)
+ { "ANNJ" }, // 1032 - Gekitou Densetsu Noah - Dream Management (JPN)
+ { "AFNJ" }, // 1036 - Angel Collection - Mezase! Gakuen no Fashion Leader (JPN)
+ { "ALFP" }, // 1041 - Dragon Ball Z - The Legacy of Goku II (EUR)
+ { "A9TJ" }, // 1055 - Metal Max 2 Kai (JPN)
+ { "ALFE" }, // 1070 - Dragon Ball Z - The Legacy of Goku II (USA)
+ { "BHCJ" }, // 1074 - Hamster Monogatari Collection (JPN)
+ { "BKKJ" }, // 1075 - Minna no Shiiku Series - Boku no Kabuto-Kuwagata (JPN)
+ { "BKIJ" }, // 1083 - Nakayoshi Pet Advance Series 4 - Kawaii Koinu Kogata Inu (JPN)
+ { "BGBJ" }, // 1084 - Get! - Boku no Mushi Tsukamaete (JPN)
+ { "A82J" }, // 1085 - Hamster Paradise - Pure Heart (JPN)
+ { "U3IJ" }, // 1087 - Bokura no Taiyou - Taiyou Action RPG (JPN)
+ { "A6OJ" }, // 1092 - Onimusha Tactics (JPN)
+ { "AN8J" }, // 1102 - Tales of Phantasia (JPN)
+ { "AC4J" }, // 1104 - Meitantei Conan - Nerawareta Tantei (JPN)
+ { "A8ZJ" }, // 1108 - Shin Megami Tensei Devil Children - Puzzle de Call! (JPN)
+ { "BGMJ" }, // 1113 - Gensou Maden Saiyuuki - Hangyaku no Toushin-taishi (JPN)
+ { "BMDE" }, // 1115 - Madden NFL 2004 (USA)
+ { "BO3J" }, // 1141 - Oshare Princess 3 (JPN)
+ { "U3IE" }, // 1145 - Boktai - The Sun is in Your Hand (USA)
+ { "BMRJ" }, // 1194 - Matantei Loki Ragnarok - Gensou no Labyrinth (JPN)
+ { "BLME" }, // 1204 - Lizzie McGuire (USA)
+ { "AOWE" }, // 1208 - Spyro - Attack of the Rhynocs (USA)
+ { "BTOE" }, // 1209 - Tony Hawk's Underground (USA)
+ { "BFJE" }, // 1212 - Frogger's Journey - The Forgotten Relic (USA)
+ { "A88P" }, // 1229 - Mario & Luigi - Superstar Saga (EUR)
+ { "BEYP" }, // 1236 - Beyblade VForce - Ultimate Blader Jam (EUR)
+ { "A85J" }, // 1239 - Sanrio Puroland All Characters (JPN)
+ { "BMZJ" }, // 1240 - Zooo (JPN)
+ { "A6OE" }, // 1241 - Onimusha Tactics (USA)
+ { "AOWP" }, // 1253 - Spyro Adventure (EUR)
+ { "A88E" }, // 1260 - Mario & Luigi - Superstar Saga (USA)
+ { "BEYE" }, // 1262 - Beyblade VForce - Ultimate Blader Jam (USA)
+ { "BCME" }, // 1264 - CIMA - The Enemy (USA)
+ { "A88J" }, // 1266 - Mario & Luigi RPG (JPN)
+ { "A5CP" }, // 1269 - Sim City 2000 (EUR)
+ { "BGAJ" }, // 1277 - SD Gundam G Generation (JPN)
+ { "A6OP" }, // 1288 - Onimusha Tactics (EUR)
+ { "BLMP" }, // 1289 - Lizzie McGuire (EUR)
+ { "ASIE" }, // 1295 - The Sims - Bustin' Out (USA)
+ { "BISJ" }, // 1299 - Koinu-Chan no Hajimete no Osanpo - Koinu no Kokoro Ikusei Game (JPN)
+ { "BK3J" }, // 1305 - Card Captor Sakura - Sakura Card de Mini Game (JPN)
+ { "A4GJ" }, // 1306 - Konjiki no Gashbell!! - Unare! Yuujou no Zakeru (JPN)
+ { "BTAJ" }, // 1315 - Astro Boy - Tetsuwan Atom (JPN)
+ { "BS5J" }, // 1322 - Sylvanian Family - Yousei no Stick to Fushigi no Ki (JPN)
+ { "A5CE" }, // 1326 - Sim City 2000 (USA)
+ { "B4PJ" }, // 1342 - The Sims (JPN)
+ { "BDTJ" }, // 1383 - Downtown - Nekketsu Monogatari EX (JPN)
+ { "B08J" }, // 1391 - One Piece - Going Baseball (JPN)
+ { "AWUP" }, // 1394 - Sabre Wulf (EUR)
+ { "BRPJ" }, // 1421 - Liliput Oukoku (JPN)
+ { "BPNJ" }, // 1435 - Pika Pika Nurse Monogatari - Nurse Ikusei Game (JPN)
+ { "BP3J" }, // 1446 - Pia Carrot he Youkoso!! 3.3 (JPN)
+ { "BKCJ" }, // 1461 - Crayon Shin-Chan - Arashi no Yobu Cinema-Land no Daibouken! (JPN)
+ { "BGNJ" }, // 1464 - Battle Suit Gundam Seed - Battle Assault (JPN)
+ { "U3IP" }, // 1465 - Boktai - The Sun is in Your Hand (EUR)
+ { "BDTE" }, // 1484 - River City Ransom EX (USA)
+ { "BHTE" }, // 1485 - Harry Potter and the Prisoner of Azkaban (USA)
+ { "FZLE" }, // 1494 - Classic NES Series - The Legend of Zelda (USA)
+ { "FEBE" }, // 1499 - Classic NES Series - ExciteBike (USA)
+ { "BUCE" }, // 1505 - Ultimate Card Games (USA)
+ { "AWUE" }, // 1511 - Sabre Wulf (USA)
+ { "B2DP" }, // 1522 - Donkey Kong Country 2 (EUR)
+ { "BHTJ" }, // 1528 - Harry Potter to Azkaban no Shuujin (JPN)
+ { "A5SJ" }, // 1534 - Oshare Wanko (JPN)
+ { "B2DJ" }, // 1541 - Super Donkey Kong 2 (JPN)
+ { "BTAE" }, // 1551 - Astro Boy - Omega Factor (USA)
+ { "BKOJ" }, // 1553 - Kaiketsu Zorori to Mahou no Yuuenchi (JPN)
+ { "BDKJ" }, // 1555 - Digi Communication 2 in 1 Datou! Black Gemagema Dan (JPN)
+ { "U32J" }, // 1567 - Zoku Bokura no Taiyou - Taiyou Shounen Django (JPN)
+ { "ALFJ" }, // 1573 - Dragon Ball Z - The Legacy of Goku II - International (JPN)
+ { "BGHJ" }, // 1575 - Gakkou no Kaidan - Hyakuyobako no Fuuin (JPN)
+ { "BZOJ" }, // 1576 - Zero One SP (JPN)
+ { "BDXJ" }, // 1587 - B-Densetsu! Battle B-Daman Moero! B-Kon (JPN)
+ { "BNBJ" }, // 1589 - Himawari Doubutsu Byouin Pet no Oishasan (JPN)
+ { "BMFE" }, // 1595 - Madden NFL 2005 (USA)
+ { "FMRJ" }, // 1599 - Famicom Mini Series 23 - Metroid (JPN)
+ { "FPTJ" }, // 1600 - Famicom Mini Series 24 - Hikari Shinwa - Palutena no Kagame (JPN)
+ { "FLBJ" }, // 1601 - Famicom Mini Series 25 - The Legend of Zelda 2 - Link no Bouken (JPN)
+ { "FSDJ" }, // 1606 - Famicom Mini Series 30 - SD Gundam World - Gachapon Senshi Scramble Wars (JPN)
+ { "BSKJ" }, // 1611 - Summon Night - Craft Sword Monogatari 2 (JPN)
+ { "BG3E" }, // 1628 - Dragon Ball Z - Buu's Fury (USA)
+ { "BECJ" }, // 1644 - Angel Collection 2 - Pichimo ni Narou (JPN)
+ { "B2TE" }, // 1672 - Tony Hawk's Underground 2 (USA)
+ { "BTYE" }, // 1689 - Ty the Tasmanian Tiger 2 - Bush Rescue (USA)
+ { "BT2E" }, // 1695 - Teenage Mutant Ninja Turtles 2 - Battlenexus (USA)
+ { "U32E" }, // 1697 - Boktai 2 - Solar Boy Django (USA)
+ { "BFDJ" }, // 1708 - Fruit Mura no Doubutsu Tachi (JPN)
+ { "BPQJ" }, // 1717 - PukuPuku Tennen Kairanban - Koi no Cupid Daisakusen (JPN)
+ { "BZMJ" }, // 1721 - The Legend of Zelda - Fushigi no Boushi (JPN)
+ { "FLBE" }, // 1723 - Classic NES Series - Zelda II - The Adventure of Link (USA)
+ { "BZMP" }, // 1736 - The Legend of Zelda - The Minish Cap (EUR)
+ { "B2DE" }, // 1754 - Donkey Kong Country 2 (USA)
+ { "BT2P" }, // 1758 - Teenage Mutant Ninja Turtles 2 - Battle Nexus (EUR)
+ { "BB2E" }, // 1759 - Beyblade G-Revolution (USA)
+ { "BRGE" }, // 1761 - Yu-Yu-Hakusho - Tournament Tactics (USA)
+ { "BFJJ" }, // 1766 - Frogger - Kodaibunmei no Nazo (JPN)
+ { "BB2P" }, // 1776 - Beyblade G-Revolution (EUR)
+ { "BSFJ" }, // 1791 - Sylvania Family - Fashion Designer ni Naritai (JPN)
+ { "BPIE" }, // 1798 - It's Mr Pants (USA)
+ { "B3PJ" }, // 1809 - Pukupuku Tennen Kairanban Youkoso Illusion Land (JPN)
+ { "BHDJ" }, // 1812 - Hello Idol Debut (JPN)
+ { "BKUJ" }, // 1823 - Shingata Medarot - Kuwagata Version (JPN)
+ { "BKVJ" }, // 1824 - Shingata Medarot - Kabuto Version (JPN)
+ { "BLIJ" }, // 1825 - Little Patissier Cake no Oshiro (JPN)
+ { "B3TJ" }, // 1833 - Tales of the World - Narikiri Dungeon 3 (JPN)
+ { "B2KJ" }, // 1836 - Kiss x Kiss - Seirei Gakuen (JPN)
+ { "A9BE" }, // 1837 - Medabots - Rokusho Version (USA)
+ { "BZME" }, // 1842 - The Legend of Zelda - The Minish Cap (USA)
+ { "B8MJ" }, // 1845 - Mario Party Advance (JPN)
+ { "A8BE" }, // 1871 - Medabots - Metabee Version (USA)
+ { "BTAP" }, // 1879 - Astro Boy - Omega Factor (EUR)
+ { "FSRJ" }, // 1916 - Famicom Mini Series - Dai 2 Ji Super Robot Taisen (JPN)
+ { "B8ME" }, // 1931 - Mario Party Advance (USA)
+ { "BO8K" }, // 1938 - One Piece - Going Baseball Haejeok Yaku (KOR)
+ { "B4ZJ" }, // 1941 - Rockman Zero 4 (JPN)
+ { "BQAJ" }, // 1953 - Meitantei Conan Akatsuki no Monument (JPN)
+ { "BIPJ" }, // 1956 - One Piece - Dragon Dream (JPN)
+ { "BQBJ" }, // 1970 - Konchu Monster Battle Master (JPN)
+ { "BQSJ" }, // 1971 - Konchu Monster Battle Stadium (JPN)
+ { "BWXJ" }, // 1982 - Wanko Mix Chiwanko World (JPN)
+ { "A9TJ" }, // 1984 - Metal Max 2 - Kai Version (JPN)
+ { "U32P" }, // 1992 - Boktai 2 - Solar Boy Django (EUR)
+ { "B4RJ" }, // 2005 - Shikakui Atama wo Marukusuru Advance - Kokugo Sansu Rika Shakai (JPN)
+ { "B4KJ" }, // 2007 - Shikakui Atama wo Marukusuru Advance - Kanji Keisan (JPN)
+ { "BFCJ" }, // 2019 - Fantasic Children (JPN)
+ { "BCSP" }, // 2020 - 2 in 1 - V-Rally 3 - Stuntman (EUR)
+ { "BM2J" }, // 2024 - Momotarou Densetsu G Gold Deck wo Tsukure! (JPN)
+ { "BEJJ" }, // 2026 - Erementar Gerad (JPN)
+ { "B5AP" }, // 2034 - Crash & Spyro - Super Pack Volume 1 (EUR)
+ { "B52P" }, // 2035 - Crash & Spyro - Super Pack Volume 2 (EUR)
+ { "BFMJ" }, // 2046 - Futari wa Precure Max Heart Maji! Maji! Fight de IN Janai (JPN)
+ { "BKEJ" }, // 2047 - Konjiki no Gashbell - The Card Battle for GBA (JPN)
+ { "U33J" }, // 2048 - Shin Bokura no Taiyou - Gyakushuu no Sabata (JPN)
+ { "BHFJ" }, // 2050 - Twin Series 4 - Ham Ham Monster EX + Fantasy Puzzle Hamster Monogatari (JPN)
+ { "BMWJ" }, // 2051 - Twin Series 5 - Wan Wan Meitantei EX + Mahou no Kuni no Keaki-Okusan Monogatari (JPN)
+ { "BMZP" }, // 2055 - Zooo (EUR)
+ { "B6ME" }, // 2057 - Madden NFL 06 (USA)
+ { "BT4E" }, // 2058 - Dragon Ball GT - Transformation (USA)
+ { "B2OJ" }, // 2071 - Pro Mahjong - Tsuwamono GBA (JPN)
+ { "BX4E" }, // 2079 - 2 in 1 - Tony Hawk's Underground + Kelly Slater's Pro Surfer (USA)
+ { "BRLE" }, // 2097 - Rebelstar - Tactical Command (USA)
+ { "BX5P" }, // 2100 - Rayman - 10th Anniversary (EUR)
+ { "B4ZP" }, // 2108 - MegaMan Zero 4 (EUR)
+ { "BX5E" }, // 2123 - Rayman - 10th Anniversary (USA)
+ { "BGXJ" }, // 2143 - Gunstar Super Heroes (JPN)
+ { "B4ZE" }, // 2144 - Megaman Zero 4 (USA)
+ { "B53P" }, // 2164 - Crash & Spyro - Super Pack Volume 3 (EUR)
+ { "B26E" }, // 2169 - World Poker Tour (USA)
+ { "BH9E" }, // 2172 - Tony Hawk's American Sk8land (USA)
+ { "BHGE" }, // 2177 - Gunstar Super Heroes (USA)
+ { "BCMJ" }, // 2178 - Frontier Stories (JPN)
+ { "BUZE" }, // 2182 - Ultimate Arcade Games (USA)
+ { "BTVE" }, // 2198 - Ty the Tasmanian Tiger 3 - Night of the Quinkan (USA)
+ { "BHGP" }, // 2199 - Gunstar Future Heroes (EUR)
+ { "BH9X" }, // 2214 - Tony Hawk's American Sk8land (EUR)
+ { "BWIP" }, // 2231 - Win X Club (EUR)
+ { "BQTP" }, // 2232 - My Pet Hotel (EUR)
+ { "B4LJ" }, // 2245 - Sugar Sugar Une - Heart Gaippai! Moegi Gakuen (JPN)
+ { "B3CJ" }, // 2249 - Summon Night Craft Sword Monogatari - Hajimari no Ishi (JPN)
+ { "A4GE" }, // 2260 - ZatchBell! - Electric Arena (USA)
+ { "BLFE" }, // 2264 - 2 in 1 - Dragon Ball Z 1 and 2 (USA)
+ { "BO2J" }, // 2272 - Ochainu no Bouken Jima (JPN)
+ { "BWIE" }, // 2276 - WinX Club (USA)
+ { "BGQE" }, // 2279 - Greg Hastings' Tournament Paintball Max'd (USA)
+ { "BURE" }, // 2298 - Paws & Claws - Pet Resort (USA)
+ { "A3AC" }, // 2303 - Yaoxi Dao (CHN)
+ { "AN8E" }, // 2305 - Tales of Phantasia (USA)
+ { "BZWJ" }, // 2309 - Akagi (JPN)
+ { "BT8P" }, // 2316 - Teenage Mutant Ninja Turtles Double Pack (EUR)
+ { "BYUJ" }, // 2322 - Yggdra Union (JPN)
+ { "AN3E" }, // 2324 - Catz (USA)
+ { "AN8P" }, // 2325 - Tales of Phantasia (EUR)
+ { "AA2C" }, // 2332 - Chaoji Maliou Shijie (CHN)
+ { "BWOP" }, // 2333 - World Poker Tour (EUR)
+ { "BKCS" }, // 2334 - Shinchan - Aventuras en Cineland (ESP)
+ { "BC2J" }, // 2341 - Crayon Shin chan - Densetsu wo Yobu Omake no Miyako Shockgaan (JPN)
+ { "BUOJ" }, // 2345 - Minna no Soft Series - Numpla Advance (JPN)
+ { "AN3J" }, // 2347 - Minna no Soft Series - Kawaii Koneko (JPN)
+ { "BUOE" }, // 2366 - Dr. Sudoku (USA)
+ { "B8SE" }, // 2368 - Spyro Superpack - Season of Ice + Season of Flame (USA)
+ { "U32J" }, // 2369 - Zoku Bokura no Taiyou - Taiyou Shounen Django (v01) (JPN)
+ { "BBMJ" }, // 2388 - B-Legend! Battle B-Daman - Moero! B-Damashi!! (JPN)
+ { "B53E" }, // 2395 - Crash & Spyro Superpack - Ripto's Rampage + The Cortex Conspiracy (USA)
+ { "BH9P" }, // 2399 - Tony Hawk's American Sk8land (EUR)
+ { "BAQP" }, // 2406 - Premier Action Soccer (EUR)
+ { "AB4E" }, // 2432 - Summon Night - Swordcraft Story (USA)
+ { "BBYE" }, // 2436 - Barnyard (USA)
+ { "BDXE" }, // 2438 - Battle B-Daman (USA)
+ { "B7ME" }, // 2446 - Madden NFL 07 (USA)
+ { "BUFE" }, // 2447 - 2 Games in 1 - Dragon Ball Z - Buu's Fury + Dragon Ball GT - Transformation (USA)
+ { "BUOP" }, // 2449 - Dr. Sudoku (EUR)
+ { "BBYX" }, // 2461 - Barnyard (EUR)
+ { "BFEE" }, // 2466 - Dogz - Fashion (USA)
+ { "AN3X" }, // 2468 - Catz (EUR)
+ { "BBME" }, // 2481 - Battle B-Daman - Fire Spirits (USA)
+ { "BQZE" }, // 2487 - Avatar - The Last Airbender (USA)
+ { "BXFE" }, // 2498 - Bratz - Forever Diamondz (USA)
+ { "BT8E" }, // 2500 - Teenage Mutant Ninja Turtles Double Pack (USA)
+ { "B3YE" }, // 2504 - The Legend of Spyro - A New Beginning (USA)
+ { "BSKE" }, // 2505 - Summon Night - Swordcraft Story 2 (USA)
+ { "BHBP" }, // 2513 - Best Friends - Hunde & Katzen (EUR)
+ { "B3YP" }, // 2519 - The Legend Of Spyro - A New Beginning (EUR)
+ { "BXFD" }, // 2520 - Bratz - Forever Diamondz (GER)
+ { "BRLP" }, // 2532 - Rebelstar - Tactical Command (EUR)
+ { "BENP" }, // 2560 - Eragon (EUR)
+ { "BENE" }, // 2561 - Eragon (USA)
+ { "BYUE" }, // 2573 - Yggdra Union - We'll Never Fight Alone (USA)
+ { "BFRP" }, // 2588 - My Animal Centre in Africa (EUR)
+ { "BFQE" }, // 2606 - Mazes of Fate (USA)
+ { "BQZP" }, // 2607 - Avatar - The Legend of Aang (EUR)
+ { "BFEP" }, // 2613 - Dogz Fashion (EUR)
+ { "BC2S" }, // 2631 - Shinchan contra los Munecos de Shock Gahn (ESP)
+ { "BXFP" }, // 2640 - Bratz - Forever Diamondz (EUR)
+ { "BEFP" }, // 2652 - Best Friends - My Horse (EUR)
+ { "BNBE" }, // 2695 - Petz Vet (USA)
+ { "BIME" }, // 2696 - Dogz 2 (USA)
+ { "BQTX" }, // 2710 - Mijn Dierenpension (EUR)
+ { "BIMP" }, // 2720 - Dogz 2 (EUR)
+ { "BIMX" }, // 2727 - Dogz 2 (EUR)
+ { "BHUE" }, // 2730 - Horsez (USA)
+ { "BQTF" }, // 2732 - Lea - Passion Veterinaire (FRA)
+ { "BJPP" }, // 2770 - Harry Potter Collection (EUR)
+ { "BEFE" }, // 2772 - Let's Ride - Friends Forever (USA)
+ { "BHBE" }, // 2774 - Best Friends - Dogs & Cats (USA)
+ { "BYUP" }, // 2781 - Yggdra Union - We'll Never Fight Alone (EUR)
+ { "ACOJ" }, // 2787 - Manga-ka Debut Monogatari (v01) (JPN)
+ { "BFDJ" }, // 2789 - Fruit Mura no Doubutsu Tachi (v02) (JPN)
+ // gba scan no. 8
+ { "AYSJ" }, // 0229 - Gakkou wo Tsukurou!! Advance (JPN)
+ { "ASNJ" }, // 0260 - Sansara Naga 1x2 (JPN)
+ { "ACTX" }, // 0265 - Creatures (EUR)
+ { "ASFJ" }, // 0359 - Slot! Pro Advance - Takarabune & Ooedo Sakurafubuki 2 (JPN)
+ { "ABGJ" }, // 0404 - Sweet Cookie Pie (JPN)
+ { "ARNJ" }, // 0615 - Harukanaru Toki no Naka de (JPN)
+ { "AOPJ" }, // 0646 - Oshare Princess (JPN)
+ { "AHVJ" }, // 0664 - Nakayoshi Youchien - Sukoyaka Enji Ikusei Game (JPN)
+ { "AYCE" }, // 0758 - Phantasy Star Collection (USA)
+ { "AYCP" }, // 0877 - Phantasy Star Collection (EUR)
+ { "ATBJ" }, // 0948 - Slot! Pro 2 Advance - GoGo Juggler & New Tairyou (JPN)
+ { "A83J" }, // 1012 - Hamster Monogatari 3 GBA (JPN)
+ { "AEHJ" }, // 1014 - Puzzle & Tantei Collection (JPN)
+ { "BWDJ" }, // 1114 - Wan Nyan Doubutsu Byouin (JPN)
+ { "BKZE" }, // 1138 - Banjo-Kazooie - Grunty's Revenge (USA)
+ { "FZLJ" }, // 1369 - Famicom Mini Series 5 - Zelda no Denzetsu 1 (JPN)
+ { "BPVP" }, // 1738 - Pferd & Pony - Mein Pferdehof (EUR)
+ { "ACTY" }, // 1763 - Creatures (EUR)
+ { "BITJ" }, // 1811 - Onmyou Taisenki Zeroshik (JPN)
+ { "BOVJ" }, // 1848 - Bouken-Ou Beet - Busters Road (JPN)
+ { "BT3J" }, // 1852 - Tantei Jinguuji Saburou Shiroi Kage no Syoujyo (JPN)
+ { "BG8J" }, // 1853 - Ganbare! Dodge Fighters (JPN)
+ { "BLDS" }, // 1919 - 2 Games in 1 - Lizzie McGuire - Disney Princesas (ESP)
+ { "BLDP" }, // 1934 - 2 Games in 1 - Lizzie McGuire - Disney Princess (EUR)
+ { "B8MP" }, // 1993 - Mario Party Advance (EUR)
+ { "BYPP" }, // 2155 - Horse & Pony - Let`s Ride 2 (EUR)
+ { "B8AE" }, // 2174 - Crash Superpack - N-Tranced + Nitro Kart (USA)
+ { "BL9E" }, // 2329 - Let's Ride! Dreamer (USA)
+ { "B34E" }, // 2331 - Let's Ride! - Sunshine Stables (USA)
+ { "BQVP" }, // 2414 - Meine Tierarztpraxis (EUR)
+ { "BHUP" }, // 2480 - Horse and Pony - My Stud Farm (EUR)
+ { "BPVX" }, // 2645 - Pippa Funnell - Stable Adventures (EUR)
+ { "BYPX" }, // 2653 - Pippa Funell 2 (EUR)
+ { "BQVX" }, // 2711 - Mijn Dierenpraktijk (EUR)
+ { "BPVY" }, // 2712 - Paard & Pony - Mijn Manege (EUR)
+ { "BYPY" }, // 2713 - Paard & Pony - Paard in Galop (EUR)
+ { "B54E" }, // 2757 - Crash & Spyro Superpack - The Huge Adventure + Season of Ice (USA)
+ // gba scan no. 9
+ { "BKZX" }, // 1199 - Banjo-Kazooie - Grunty's Revenge (EUR)
+ { "BKZI" }, // 1381 - Banjo Kazooie - La Vendetta di Grunty (ITA)
+ { "BAZJ" }, // 1710 - Akachan Doubutsu Sono (JPN)
+ { "BKZS" }, // 1883 - Banjo Kazooie - La Venganza de Grunty (ESP)
+ // gba scan no. 11
+ { "A9BP" }, // 0925 - Medabots - Rokusho Version (EUR)
+ { "A3IJ" }, // bokura no taiyou - taiyou action rpg - kabunushi go-yuutai ban (japan) (demo)
+};
+
+const gba_chip_fix_item gba_chip_fix_rumble_list[] =
+{
+ { "KYGP" }, // Yoshi's Universal Gravitation (EUR)
+ { "KYGE" }, // Yoshi - Topsy-Turvy (USA)
+ { "KYGJ" }, // Yoshi no Banyuuinryoku (JPN)
+ { "KHPJ" } // Koro Koro Puzzle - Happy Panechu! (JPN)
+};
+
+} // anonymous namespace
+
+
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
-const device_type GBA_CART_SLOT = device_creator<gba_cart_slot_device>;
+DEFINE_DEVICE_TYPE(GBA_CART_SLOT, gba_cart_slot_device, "gba_cart_slot", "Game Boy Advance Cartridge Slot")
//**************************************************************************
// GBA cartridges Interface
@@ -27,9 +479,9 @@ const device_type GBA_CART_SLOT = device_creator<gba_cart_slot_device>;
//-------------------------------------------------
device_gba_cart_interface::device_gba_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_rom(nullptr),
- m_rom_size(0)
+ : device_slot_card_interface(mconfig, device)
+ , m_rom(nullptr)
+ , m_rom_size(0)
{
}
@@ -81,10 +533,11 @@ void device_gba_cart_interface::nvram_alloc(uint32_t size)
// gba_cart_slot_device - constructor
//-------------------------------------------------
gba_cart_slot_device::gba_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, GBA_CART_SLOT, "Game Boy Advance Cartridge Slot", tag, owner, clock, "gba_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(GBA_STD), m_cart(nullptr)
+ device_t(mconfig, GBA_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(GBA_STD),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/gba/gba_slot.h b/src/devices/bus/gba/gba_slot.h
index 959f62dd332..d2c042b3ba9 100644
--- a/src/devices/bus/gba/gba_slot.h
+++ b/src/devices/bus/gba/gba_slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont,Ryan Holtz,Fabio Priuli
-#ifndef __GBA_SLOT_H
-#define __GBA_SLOT_H
+#ifndef MAME_BUS_GBA_GBA_SLOT_H
+#define MAME_BUS_GBA_GBA_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -38,7 +40,6 @@ class device_gba_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_gba_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_gba_cart_interface();
// reading and writing
@@ -46,10 +47,10 @@ public:
virtual DECLARE_READ32_MEMBER(read_ram) { return 0xffffffff; }
virtual DECLARE_READ32_MEMBER(read_gpio) { return 0; }
virtual DECLARE_READ32_MEMBER(read_tilt) { return 0xffffffff; }
- virtual DECLARE_WRITE32_MEMBER(write_ram) {};
- virtual DECLARE_WRITE32_MEMBER(write_gpio) {};
- virtual DECLARE_WRITE32_MEMBER(write_tilt) {};
- virtual DECLARE_WRITE32_MEMBER(write_mapper) {};
+ virtual DECLARE_WRITE32_MEMBER(write_ram) { }
+ virtual DECLARE_WRITE32_MEMBER(write_gpio) { }
+ virtual DECLARE_WRITE32_MEMBER(write_tilt) { }
+ virtual DECLARE_WRITE32_MEMBER(write_mapper) { }
void rom_alloc(uint32_t size, const char *tag);
void nvram_alloc(uint32_t size);
@@ -63,6 +64,9 @@ public:
void save_nvram() { device().save_item(NAME(m_nvram)); }
+protected:
+ device_gba_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint32_t *m_rom; // this points to the cart rom region
uint32_t m_rom_size; // this is the actual game size, not the rom region size!
@@ -96,8 +100,8 @@ public:
void internal_header_logging(uint8_t *ROM, uint32_t len);
- void save_nvram() { if (m_cart && m_cart->get_nvram_size()) m_cart->save_nvram(); }
- uint32_t get_rom_size() { if (m_cart) return m_cart->get_rom_size(); return 0; }
+ void save_nvram() { if (m_cart && m_cart->get_nvram_size()) m_cart->save_nvram(); }
+ uint32_t get_rom_size() { if (m_cart) return m_cart->get_rom_size(); return 0; }
virtual iodevice_t image_type() const override { return IO_CARTSLOT; }
virtual bool is_readable() const override { return 1; }
@@ -125,13 +129,13 @@ public:
protected:
int m_type;
- device_gba_cart_interface* m_cart;
+ device_gba_cart_interface* m_cart;
};
// device type definition
-extern const device_type GBA_CART_SLOT;
+DECLARE_DEVICE_TYPE(GBA_CART_SLOT, gba_cart_slot_device)
/***************************************************************************
@@ -164,452 +168,4 @@ extern const device_type GBA_CART_SLOT;
#define GBA_CHIP_EEPROM_4K (1 << 7)
-struct gba_chip_fix_conflict_item
-{
- char game_code[5];
- uint32_t chip;
-};
-
-static const gba_chip_fix_conflict_item gba_chip_fix_conflict_list[] =
-{
- { "ABFJ", GBA_CHIP_SRAM }, // 0059 - Breath of Fire - Ryuu no Senshi (JPN)
- { "AHMJ", GBA_CHIP_EEPROM_4K }, // 0364 - Dai-Mahjong (JPN)
- { "A2GJ", GBA_CHIP_EEPROM_64K }, // 0399 - Advance GT2 (JPN)
- { "AK9E", GBA_CHIP_EEPROM_4K }, // 0479 - Medabots AX - Rokusho Version (USA)
- { "AK8E", GBA_CHIP_EEPROM_4K }, // 0480 - Medabots AX - Metabee Version (USA)
- { "AK9P", GBA_CHIP_EEPROM_4K }, // 0515 - Medabots AX - Rokusho Version (EUR)
- { "AGIJ", GBA_CHIP_EEPROM_4K }, // 0548 - Medarot G - Kuwagata Version (JPN)
- { "A3DJ", GBA_CHIP_EEPROM_4K }, // 0567 - Disney Sports - American Football (JPN)
- { "AF7J", GBA_CHIP_EEPROM_64K }, // 0605 - Tokimeki Yume Series 1 - Ohanaya-san ni Narou! (JPN)
- { "AH7J", GBA_CHIP_EEPROM_64K }, // 0617 - Nakayoshi Pet Advance Series 1 - Kawaii Hamster (JPN)
- { "AGHJ", GBA_CHIP_EEPROM_4K }, // 0620 - Medarot G - Kabuto Version (JPN)
- { "AR8E", GBA_CHIP_SRAM }, // 0727 - Rocky (USA)
- { "ALUE", GBA_CHIP_EEPROM_4K }, // 0751 - Super Monkey Ball Jr. (USA)
- { "A3DE", GBA_CHIP_EEPROM_4K }, // 0800 - Disney Sports - Football (USA)
- { "A87J", GBA_CHIP_EEPROM_64K }, // 0817 - Ohanaya-San Monogatari GBA (JPN)
- { "A56J", GBA_CHIP_EEPROM_64K }, // 0827 - DokiDoki Cooking Series 1 - Komugi-chan no Happy Cake (JPN)
- { "AUSJ", GBA_CHIP_FLASH }, // 0906 - One Piece - Mezase! King of Berries (JPN)
- { "ANTJ", GBA_CHIP_SRAM }, // 0950 - Nippon Pro Mahjong Renmei Kounin - Tetsuman Advance (JPN)
- { "A8OJ", GBA_CHIP_EEPROM_64K }, // 0988 - DokiDoki Cooking Series 2 - Gourmet Kitchen - Suteki na Obentou (JPN)
- { "AK8P", GBA_CHIP_EEPROM_4K }, // 1022 - Medabots AX - Metabee Version (EUR)
- { "A6OJ", GBA_CHIP_EEPROM_64K }, // 1092 - Onimusha Tactics (JPN)
- { "A6OE", GBA_CHIP_EEPROM_64K }, // 1241 - Onimusha Tactics (USA)
- { "A6OP", GBA_CHIP_EEPROM_64K }, // 1288 - Onimusha Tactics (EUR)
- { "BKME", GBA_CHIP_EEPROM_4K }, // 1545 - Kim Possible 2 - Drakken's Demise (USA)
- { "BDKJ", GBA_CHIP_EEPROM_64K }, // 1555 - Digi Communication 2 in 1 Datou! Black Gemagema Dan (JPN)
- { "BR4J", GBA_CHIP_FLASH }, // 1586 - Rockman EXE 4.5 - Real Operation (JPN)
- { "BG8J", GBA_CHIP_EEPROM_64K }, // 1853 - Ganbare! Dodge Fighters (JPN)
- { "AROP", GBA_CHIP_EEPROM_4K }, // 1862 - Rocky (EUR)
-// "A2YE" - 1906 - Top Gun - Combat Zones (USA) - multiple NVRAM chips detected, but none present (protection against emu?)
- { "BKMJ", GBA_CHIP_EEPROM_4K }, // 2039 - Kim Possible (JPN)
- { "BKEJ", GBA_CHIP_EEPROM_64K }, // 2047 - Konjiki no Gashbell - The Card Battle for GBA (JPN)
- { "BKMP", GBA_CHIP_EEPROM_4K }, // 2297 - Kim Possible 2 - Drakken's Demise (EUR)
- { "BUHJ", GBA_CHIP_EEPROM_4K }, // 2311 - Ueki no Housoku Shinki Sakuretsu! Nouryokumono Battle (JPN)
- { "BYUJ", GBA_CHIP_EEPROM_64K }, // 2322 - Yggdra Union (JPN)
-};
-
-struct gba_chip_fix_item
-{
- char game_code[5];
-};
-
-static const gba_chip_fix_item gba_chip_fix_eeprom_list[] =
-{
- // gba scan no. 7
- { "AKTJ" }, // 0145 - Hello Kitty Collection - Miracle Fashion Maker (JPN)
- { "AISP" }, // 0185 - International Superstar Soccer (EUR)
- { "AKGP" }, // 0204 - Mech Platoon (EUR)
- { "AX2E" }, // 0207 - Dave Mirra Freestyle BMX 2 (USA)
- { "AASJ" }, // 0234 - World Advance Soccer - Shouri heno Michi (JPN)
- { "AA2J" }, // 0237 - Super Mario World - Super Mario Advance 2 (JPN)
- { "AJWJ" }, // 0242 - Jikkyou World Soccer Pocket (JPN)
- { "AABE" }, // 0244 - American Bass Challenge (USA)
- { "AWXJ" }, // 0254 - ESPN Winter X-Games Snowboarding 2002 (JPN)
- { "AALJ" }, // 0259 - Kidou Tenshi Angelic Layer - Misaki to Yume no Tenshi-tachi (JPN)
- { "AKGE" }, // 0263 - Mech Platoon (USA)
- { "AGLJ" }, // 0273 - Tomato Adventure (JPN)
- { "AWIJ" }, // 0274 - Hyper Sports 2002 Winter (JPN)
- { "APNJ" }, // 0286 - Pinky Monkey Town (JPN)
- { "AA2E" }, // 0288 - Super Mario World - Super Mario Advance 2 (USA)
- { "AX2P" }, // 0293 - Dave Mirra Freestyle BMX 2 (EUR)
- { "AMGP" }, // 0296 - ESPN Great Outdoor Games - Bass Tournament (EUR)
- { "AMHJ" }, // 0308 - Bomberman Max 2 - Bomberman Version (JPN)
- { "AGNJ" }, // 0311 - Goemon - New Age Shutsudou! (JPN)
- { "AMYJ" }, // 0324 - Bomberman Max 2 - Max Version (JPN)
- { "AT3E" }, // 0326 - Tony Hawk's Pro Skater 3 (USA)
- { "AHHE" }, // 0327 - High Heat - Major League Baseball 2003 (USA)
- { "ANLE" }, // 0328 - NHL 2002 (USA)
- { "AAGJ" }, // 0345 - Angelique (JPN)
- { "ABJP" }, // 0351 - Broken Sword - The Shadow of the Templars (EUR)
- { "AKVJ" }, // 0357 - K-1 Pocket Grand Prix (JPN)
- { "AKGJ" }, // 0361 - Kikaika Guntai - Mech Platoon (JPN)
- { "ADDJ" }, // 0362 - Diadroids World - Evil Teikoku no Yabou (JPN)
- { "ABJE" }, // 0365 - Broken Sword - The Shadow of the Templars (USA)
- { "AABP" }, // 0380 - Super Black Bass Advance (EUR)
- { "AA2P" }, // 0390 - Super Mario World - Super Mario Advance 2 (EUR)
- { "A2GJ" }, // 0399 - Advance GT2 (JPN)
- { "AEWJ" }, // 0400 - Ui-Ire - World Soccer Winning Eleven (JPN)
- { "ADPJ" }, // 0417 - Doraemon - Dokodemo Walker (JPN)
- { "AN5J" }, // 0420 - Kawa no Nushi Tsuri 5 - Fushigi no Mori Kara (JPN)
- { "ACBJ" }, // 0421 - Gekitou! Car Battler Go!! (JPN)
- { "AHIJ" }, // 0426 - Hitsuji no Kimochi (JPN)
- { "ATFP" }, // 0429 - Alex Ferguson's Player Manager 2002 (EUR)
- { "AFUJ" }, // 0431 - Youkaidou (JPN)
- { "AEPP" }, // 0435 - Sheep (EUR)
- { "AMHE" }, // 0442 - Bomberman Max 2 - Blue Advance (USA)
- { "AMYE" }, // 0443 - Bomberman Max 2 - Red Advance (USA)
- { "AT3F" }, // 0457 - Tony Hawk's Pro Skater 3 (FRA)
- { "ARJJ" }, // 0497 - Custom Robo GX (JPN)
- { "AFCJ" }, // 0521 - RockMan & Forte (JPN)
- { "ANJE" }, // 0528 - Madden NFL 2003 (USA)
- { "AN7J" }, // 0533 - Famista Advance (JPN)
- { "ATYJ" }, // 0540 - Gambler Densetsu Tetsuya - Yomigaeru Densetsu (JPN)
- { "AXBJ" }, // 0551 - Black Matrix Zero (JPN)
- { "A3AE" }, // 0580 - Yoshi's Island - Super Mario Advance 3 (USA)
- { "A3AJ" }, // 0582 - Super Mario Advance 3 (JPN)
- { "AZUJ" }, // 0595 - Street Fighter Zero 3 - Upper (JPN)
- { "ALOE" }, // 0600 - The Lord of the Rings - The Fellowship of the Ring (USA)
- { "A2SE" }, // 0602 - Spyro 2 - Season of Flame (USA)
- { "AF7J" }, // 0605 - Tokimeki Yume Series 1 - Ohanaya-san ni Narou! (JPN)
- { "A3AP" }, // 0610 - Yoshi's Island - Super Mario Advance 3 (EUR)
- { "AH7J" }, // 0617 - Nakayoshi Pet Advance Series 1 - Kawaii Hamster (JPN)
- { "AI7J" }, // 0618 - Nakayoshi Pet Advance Series 2 - Kawaii Koinu (JPN)
- { "AN3J" }, // 0619 - Nakayoshi Pet Advance Series 3 - Kawaii Koneko (JPN)
- { "AAPJ" }, // 0632 - Metalgun Slinger (JPN)
- { "A2JJ" }, // 0643 - J.League - Winning Eleven Advance 2002 (JPN)
- { "AHXJ" }, // 0649 - High Heat - Major League Baseball 2003 (JPN)
- { "AHAJ" }, // 0651 - Hamster Paradise Advance (JPN)
- { "APUJ" }, // 0653 - PukuPuku Tennen Kairanban (JPN)
- { "A2SP" }, // 0673 - Spyro 2 - Season of Flame (EUR)
- { "AN9J" }, // 0675 - Tales of the World - Narikiri Dungeon 2 (JPN)
- { "ACBE" }, // 0683 - Car Battler Joe (USA)
- { "AT6E" }, // 0693 - Tony Hawk's Pro Skater 4 (USA)
- { "ALOP" }, // 0702 - The Lord of the Rings - The Fellowship of the Ring (EUR)
- { "A63J" }, // 0710 - Kawaii Pet Shop Monogatari 3 (JPN)
- { "AAXJ" }, // 0748 - Fantastic Maerchen - Cake-yasan Monogatari (JPN)
- { "AZLE" }, // 0763 - The Legend of Zelda - A Link to the Past & Four Swords (USA)
- { "AZUP" }, // 0765 - Street Fighter Alpha 3 - Upper (EUR)
- { "AJKJ" }, // 0769 - Jikkyou World Soccer Pocket 2 (JPN)
- { "AB3E" }, // 0781 - Dave Mirra Freestyle BMX 3 (USA)
- { "A2IJ" }, // 0791 - Magi Nation (JPN)
- { "AK7J" }, // 0792 - Klonoa Heroes - Densetsu no Star Medal (JPN)
- { "A2HJ" }, // 0794 - Hajime no Ippo - The Fighting! (JPN)
- { "ALNE" }, // 0795 - Lunar Legend (USA)
- { "AUCJ" }, // 0808 - Uchuu Daisakusen Choco Vader - Uchuu Kara no Shinryakusha (JPN)
- { "A59J" }, // 0809 - Toukon Heat (JPN)
- { "ALJE" }, // 0815 - Sea Trader - Rise of Taipan (USA)
- { "A87J" }, // 0817 - Ohanaya-San Monogatari GBA (JPN)
- { "A56J" }, // 0827 - DokiDoki Cooking Series 1 - Komugi-chan no Happy Cake (JPN)
- { "AHZJ" }, // 0830 - Higanbana (JPN)
- { "A8BP" }, // 0832 - Medabots - Metabee Version (EUR)
- { "A2OJ" }, // 0833 - K-1 Pocket Grand Prix 2 (JPN)
- { "AY2P" }, // 0843 - International Superstar Soccer Advance (EUR)
- { "ANSJ" }, // 0845 - Marie, Elie & Anis no Atelier - Soyokaze Kara no Dengon (JPN)
- { "ACOJ" }, // 0865 - Manga-ka Debut Monogatari (JPN)
- { "AZLP" }, // 0870 - The Legend of Zelda - A Link to the Past & Four Swords (EUR)
- { "AWKJ" }, // 0879 - Wagamama Fairy Mirumo de Pon! - Ougon Maracas no Densetsu (JPN)
- { "AZUE" }, // 0886 - Street Fighter Alpha 3 - Upper (USA)
- { "AZLJ" }, // 0887 - Zelda no Densetsu - Kamigami no Triforce & 4tsu no Tsurugi (JPN)
- { "A6ME" }, // 0889 - MegaMan & Bass (USA)
- { "A64J" }, // 0915 - Shimura Ken no Baka Tonosama (JPN)
- { "A9HJ" }, // 0917 - Dragon Quest Monsters - Caravan Heart (JPN)
- { "AMHP" }, // 0929 - Bomberman Max 2 - Blue Advance (EUR)
- { "AMYP" }, // 0930 - Bomberman Max 2 - Red Advance (EUR)
- { "AMGJ" }, // 0943 - Exciting Bass (JPN)
- { "A5KJ" }, // 0946 - Medarot 2 Core - Kabuto Version (JPN)
- { "A4LJ" }, // 0949 - Sylvania Family 4 - Meguru Kisetsu no Tapestry (JPN)
- { "A2VJ" }, // 0955 - Kisekko Gurumi - Chesty to Nuigurumi-tachi no Mahou no Bouken (JPN)
- { "A5QJ" }, // 0956 - Medarot 2 Core - Kuwagata Version (JPN)
- { "AZBJ" }, // 0958 - Bass Tsuri Shiyouze! (JPN)
- { "AO2J" }, // 0961 - Oshare Princess 2 (JPN)
- { "AB4J" }, // 0965 - Summon Night - Craft Sword Monogatari (JPN)
- { "AZAJ" }, // 0971 - Azumanga Daiou Advance (JPN)
- { "AF3J" }, // 0974 - Zero One (JPN)
- { "A8OJ" }, // 0988 - DokiDoki Cooking Series 2 - Gourmet Kitchen - Suteki na Obentou (JPN)
- { "AT3D" }, // 1016 - Tony Hawk's Pro Skater 3 (GER)
- { "A6MP" }, // 1031 - MegaMan & Bass (EUR)
- { "ANNJ" }, // 1032 - Gekitou Densetsu Noah - Dream Management (JPN)
- { "AFNJ" }, // 1036 - Angel Collection - Mezase! Gakuen no Fashion Leader (JPN)
- { "ALFP" }, // 1041 - Dragon Ball Z - The Legacy of Goku II (EUR)
- { "A9TJ" }, // 1055 - Metal Max 2 Kai (JPN)
- { "ALFE" }, // 1070 - Dragon Ball Z - The Legacy of Goku II (USA)
- { "BHCJ" }, // 1074 - Hamster Monogatari Collection (JPN)
- { "BKKJ" }, // 1075 - Minna no Shiiku Series - Boku no Kabuto-Kuwagata (JPN)
- { "BKIJ" }, // 1083 - Nakayoshi Pet Advance Series 4 - Kawaii Koinu Kogata Inu (JPN)
- { "BGBJ" }, // 1084 - Get! - Boku no Mushi Tsukamaete (JPN)
- { "A82J" }, // 1085 - Hamster Paradise - Pure Heart (JPN)
- { "U3IJ" }, // 1087 - Bokura no Taiyou - Taiyou Action RPG (JPN)
- { "A6OJ" }, // 1092 - Onimusha Tactics (JPN)
- { "AN8J" }, // 1102 - Tales of Phantasia (JPN)
- { "AC4J" }, // 1104 - Meitantei Conan - Nerawareta Tantei (JPN)
- { "A8ZJ" }, // 1108 - Shin Megami Tensei Devil Children - Puzzle de Call! (JPN)
- { "BGMJ" }, // 1113 - Gensou Maden Saiyuuki - Hangyaku no Toushin-taishi (JPN)
- { "BMDE" }, // 1115 - Madden NFL 2004 (USA)
- { "BO3J" }, // 1141 - Oshare Princess 3 (JPN)
- { "U3IE" }, // 1145 - Boktai - The Sun is in Your Hand (USA)
- { "BMRJ" }, // 1194 - Matantei Loki Ragnarok - Gensou no Labyrinth (JPN)
- { "BLME" }, // 1204 - Lizzie McGuire (USA)
- { "AOWE" }, // 1208 - Spyro - Attack of the Rhynocs (USA)
- { "BTOE" }, // 1209 - Tony Hawk's Underground (USA)
- { "BFJE" }, // 1212 - Frogger's Journey - The Forgotten Relic (USA)
- { "A88P" }, // 1229 - Mario & Luigi - Superstar Saga (EUR)
- { "BEYP" }, // 1236 - Beyblade VForce - Ultimate Blader Jam (EUR)
- { "A85J" }, // 1239 - Sanrio Puroland All Characters (JPN)
- { "BMZJ" }, // 1240 - Zooo (JPN)
- { "A6OE" }, // 1241 - Onimusha Tactics (USA)
- { "AOWP" }, // 1253 - Spyro Adventure (EUR)
- { "A88E" }, // 1260 - Mario & Luigi - Superstar Saga (USA)
- { "BEYE" }, // 1262 - Beyblade VForce - Ultimate Blader Jam (USA)
- { "BCME" }, // 1264 - CIMA - The Enemy (USA)
- { "A88J" }, // 1266 - Mario & Luigi RPG (JPN)
- { "A5CP" }, // 1269 - Sim City 2000 (EUR)
- { "BGAJ" }, // 1277 - SD Gundam G Generation (JPN)
- { "A6OP" }, // 1288 - Onimusha Tactics (EUR)
- { "BLMP" }, // 1289 - Lizzie McGuire (EUR)
- { "ASIE" }, // 1295 - The Sims - Bustin' Out (USA)
- { "BISJ" }, // 1299 - Koinu-Chan no Hajimete no Osanpo - Koinu no Kokoro Ikusei Game (JPN)
- { "BK3J" }, // 1305 - Card Captor Sakura - Sakura Card de Mini Game (JPN)
- { "A4GJ" }, // 1306 - Konjiki no Gashbell!! - Unare! Yuujou no Zakeru (JPN)
- { "BTAJ" }, // 1315 - Astro Boy - Tetsuwan Atom (JPN)
- { "BS5J" }, // 1322 - Sylvanian Family - Yousei no Stick to Fushigi no Ki (JPN)
- { "A5CE" }, // 1326 - Sim City 2000 (USA)
- { "B4PJ" }, // 1342 - The Sims (JPN)
- { "BDTJ" }, // 1383 - Downtown - Nekketsu Monogatari EX (JPN)
- { "B08J" }, // 1391 - One Piece - Going Baseball (JPN)
- { "AWUP" }, // 1394 - Sabre Wulf (EUR)
- { "BRPJ" }, // 1421 - Liliput Oukoku (JPN)
- { "BPNJ" }, // 1435 - Pika Pika Nurse Monogatari - Nurse Ikusei Game (JPN)
- { "BP3J" }, // 1446 - Pia Carrot he Youkoso!! 3.3 (JPN)
- { "BKCJ" }, // 1461 - Crayon Shin-Chan - Arashi no Yobu Cinema-Land no Daibouken! (JPN)
- { "BGNJ" }, // 1464 - Battle Suit Gundam Seed - Battle Assault (JPN)
- { "U3IP" }, // 1465 - Boktai - The Sun is in Your Hand (EUR)
- { "BDTE" }, // 1484 - River City Ransom EX (USA)
- { "BHTE" }, // 1485 - Harry Potter and the Prisoner of Azkaban (USA)
- { "FZLE" }, // 1494 - Classic NES Series - The Legend of Zelda (USA)
- { "FEBE" }, // 1499 - Classic NES Series - ExciteBike (USA)
- { "BUCE" }, // 1505 - Ultimate Card Games (USA)
- { "AWUE" }, // 1511 - Sabre Wulf (USA)
- { "B2DP" }, // 1522 - Donkey Kong Country 2 (EUR)
- { "BHTJ" }, // 1528 - Harry Potter to Azkaban no Shuujin (JPN)
- { "A5SJ" }, // 1534 - Oshare Wanko (JPN)
- { "B2DJ" }, // 1541 - Super Donkey Kong 2 (JPN)
- { "BTAE" }, // 1551 - Astro Boy - Omega Factor (USA)
- { "BKOJ" }, // 1553 - Kaiketsu Zorori to Mahou no Yuuenchi (JPN)
- { "BDKJ" }, // 1555 - Digi Communication 2 in 1 Datou! Black Gemagema Dan (JPN)
- { "U32J" }, // 1567 - Zoku Bokura no Taiyou - Taiyou Shounen Django (JPN)
- { "ALFJ" }, // 1573 - Dragon Ball Z - The Legacy of Goku II - International (JPN)
- { "BGHJ" }, // 1575 - Gakkou no Kaidan - Hyakuyobako no Fuuin (JPN)
- { "BZOJ" }, // 1576 - Zero One SP (JPN)
- { "BDXJ" }, // 1587 - B-Densetsu! Battle B-Daman Moero! B-Kon (JPN)
- { "BNBJ" }, // 1589 - Himawari Doubutsu Byouin Pet no Oishasan (JPN)
- { "BMFE" }, // 1595 - Madden NFL 2005 (USA)
- { "FMRJ" }, // 1599 - Famicom Mini Series 23 - Metroid (JPN)
- { "FPTJ" }, // 1600 - Famicom Mini Series 24 - Hikari Shinwa - Palutena no Kagame (JPN)
- { "FLBJ" }, // 1601 - Famicom Mini Series 25 - The Legend of Zelda 2 - Link no Bouken (JPN)
- { "FSDJ" }, // 1606 - Famicom Mini Series 30 - SD Gundam World - Gachapon Senshi Scramble Wars (JPN)
- { "BSKJ" }, // 1611 - Summon Night - Craft Sword Monogatari 2 (JPN)
- { "BG3E" }, // 1628 - Dragon Ball Z - Buu's Fury (USA)
- { "BECJ" }, // 1644 - Angel Collection 2 - Pichimo ni Narou (JPN)
- { "B2TE" }, // 1672 - Tony Hawk's Underground 2 (USA)
- { "BTYE" }, // 1689 - Ty the Tasmanian Tiger 2 - Bush Rescue (USA)
- { "BT2E" }, // 1695 - Teenage Mutant Ninja Turtles 2 - Battlenexus (USA)
- { "U32E" }, // 1697 - Boktai 2 - Solar Boy Django (USA)
- { "BFDJ" }, // 1708 - Fruit Mura no Doubutsu Tachi (JPN)
- { "BPQJ" }, // 1717 - PukuPuku Tennen Kairanban - Koi no Cupid Daisakusen (JPN)
- { "BZMJ" }, // 1721 - The Legend of Zelda - Fushigi no Boushi (JPN)
- { "FLBE" }, // 1723 - Classic NES Series - Zelda II - The Adventure of Link (USA)
- { "BZMP" }, // 1736 - The Legend of Zelda - The Minish Cap (EUR)
- { "B2DE" }, // 1754 - Donkey Kong Country 2 (USA)
- { "BT2P" }, // 1758 - Teenage Mutant Ninja Turtles 2 - Battle Nexus (EUR)
- { "BB2E" }, // 1759 - Beyblade G-Revolution (USA)
- { "BRGE" }, // 1761 - Yu-Yu-Hakusho - Tournament Tactics (USA)
- { "BFJJ" }, // 1766 - Frogger - Kodaibunmei no Nazo (JPN)
- { "BB2P" }, // 1776 - Beyblade G-Revolution (EUR)
- { "BSFJ" }, // 1791 - Sylvania Family - Fashion Designer ni Naritai (JPN)
- { "BPIE" }, // 1798 - It's Mr Pants (USA)
- { "B3PJ" }, // 1809 - Pukupuku Tennen Kairanban Youkoso Illusion Land (JPN)
- { "BHDJ" }, // 1812 - Hello Idol Debut (JPN)
- { "BKUJ" }, // 1823 - Shingata Medarot - Kuwagata Version (JPN)
- { "BKVJ" }, // 1824 - Shingata Medarot - Kabuto Version (JPN)
- { "BLIJ" }, // 1825 - Little Patissier Cake no Oshiro (JPN)
- { "B3TJ" }, // 1833 - Tales of the World - Narikiri Dungeon 3 (JPN)
- { "B2KJ" }, // 1836 - Kiss x Kiss - Seirei Gakuen (JPN)
- { "A9BE" }, // 1837 - Medabots - Rokusho Version (USA)
- { "BZME" }, // 1842 - The Legend of Zelda - The Minish Cap (USA)
- { "B8MJ" }, // 1845 - Mario Party Advance (JPN)
- { "A8BE" }, // 1871 - Medabots - Metabee Version (USA)
- { "BTAP" }, // 1879 - Astro Boy - Omega Factor (EUR)
- { "FSRJ" }, // 1916 - Famicom Mini Series - Dai 2 Ji Super Robot Taisen (JPN)
- { "B8ME" }, // 1931 - Mario Party Advance (USA)
- { "BO8K" }, // 1938 - One Piece - Going Baseball Haejeok Yaku (KOR)
- { "B4ZJ" }, // 1941 - Rockman Zero 4 (JPN)
- { "BQAJ" }, // 1953 - Meitantei Conan Akatsuki no Monument (JPN)
- { "BIPJ" }, // 1956 - One Piece - Dragon Dream (JPN)
- { "BQBJ" }, // 1970 - Konchu Monster Battle Master (JPN)
- { "BQSJ" }, // 1971 - Konchu Monster Battle Stadium (JPN)
- { "BWXJ" }, // 1982 - Wanko Mix Chiwanko World (JPN)
- { "A9TJ" }, // 1984 - Metal Max 2 - Kai Version (JPN)
- { "U32P" }, // 1992 - Boktai 2 - Solar Boy Django (EUR)
- { "B4RJ" }, // 2005 - Shikakui Atama wo Marukusuru Advance - Kokugo Sansu Rika Shakai (JPN)
- { "B4KJ" }, // 2007 - Shikakui Atama wo Marukusuru Advance - Kanji Keisan (JPN)
- { "BFCJ" }, // 2019 - Fantasic Children (JPN)
- { "BCSP" }, // 2020 - 2 in 1 - V-Rally 3 - Stuntman (EUR)
- { "BM2J" }, // 2024 - Momotarou Densetsu G Gold Deck wo Tsukure! (JPN)
- { "BEJJ" }, // 2026 - Erementar Gerad (JPN)
- { "B5AP" }, // 2034 - Crash & Spyro - Super Pack Volume 1 (EUR)
- { "B52P" }, // 2035 - Crash & Spyro - Super Pack Volume 2 (EUR)
- { "BFMJ" }, // 2046 - Futari wa Precure Max Heart Maji! Maji! Fight de IN Janai (JPN)
- { "BKEJ" }, // 2047 - Konjiki no Gashbell - The Card Battle for GBA (JPN)
- { "U33J" }, // 2048 - Shin Bokura no Taiyou - Gyakushuu no Sabata (JPN)
- { "BHFJ" }, // 2050 - Twin Series 4 - Ham Ham Monster EX + Fantasy Puzzle Hamster Monogatari (JPN)
- { "BMWJ" }, // 2051 - Twin Series 5 - Wan Wan Meitantei EX + Mahou no Kuni no Keaki-Okusan Monogatari (JPN)
- { "BMZP" }, // 2055 - Zooo (EUR)
- { "B6ME" }, // 2057 - Madden NFL 06 (USA)
- { "BT4E" }, // 2058 - Dragon Ball GT - Transformation (USA)
- { "B2OJ" }, // 2071 - Pro Mahjong - Tsuwamono GBA (JPN)
- { "BX4E" }, // 2079 - 2 in 1 - Tony Hawk's Underground + Kelly Slater's Pro Surfer (USA)
- { "BRLE" }, // 2097 - Rebelstar - Tactical Command (USA)
- { "BX5P" }, // 2100 - Rayman - 10th Anniversary (EUR)
- { "B4ZP" }, // 2108 - MegaMan Zero 4 (EUR)
- { "BX5E" }, // 2123 - Rayman - 10th Anniversary (USA)
- { "BGXJ" }, // 2143 - Gunstar Super Heroes (JPN)
- { "B4ZE" }, // 2144 - Megaman Zero 4 (USA)
- { "B53P" }, // 2164 - Crash & Spyro - Super Pack Volume 3 (EUR)
- { "B26E" }, // 2169 - World Poker Tour (USA)
- { "BH9E" }, // 2172 - Tony Hawk's American Sk8land (USA)
- { "BHGE" }, // 2177 - Gunstar Super Heroes (USA)
- { "BCMJ" }, // 2178 - Frontier Stories (JPN)
- { "BUZE" }, // 2182 - Ultimate Arcade Games (USA)
- { "BTVE" }, // 2198 - Ty the Tasmanian Tiger 3 - Night of the Quinkan (USA)
- { "BHGP" }, // 2199 - Gunstar Future Heroes (EUR)
- { "BH9X" }, // 2214 - Tony Hawk's American Sk8land (EUR)
- { "BWIP" }, // 2231 - Win X Club (EUR)
- { "BQTP" }, // 2232 - My Pet Hotel (EUR)
- { "B4LJ" }, // 2245 - Sugar Sugar Une - Heart Gaippai! Moegi Gakuen (JPN)
- { "B3CJ" }, // 2249 - Summon Night Craft Sword Monogatari - Hajimari no Ishi (JPN)
- { "A4GE" }, // 2260 - ZatchBell! - Electric Arena (USA)
- { "BLFE" }, // 2264 - 2 in 1 - Dragon Ball Z 1 and 2 (USA)
- { "BO2J" }, // 2272 - Ochainu no Bouken Jima (JPN)
- { "BWIE" }, // 2276 - WinX Club (USA)
- { "BGQE" }, // 2279 - Greg Hastings' Tournament Paintball Max'd (USA)
- { "BURE" }, // 2298 - Paws & Claws - Pet Resort (USA)
- { "A3AC" }, // 2303 - Yaoxi Dao (CHN)
- { "AN8E" }, // 2305 - Tales of Phantasia (USA)
- { "BZWJ" }, // 2309 - Akagi (JPN)
- { "BT8P" }, // 2316 - Teenage Mutant Ninja Turtles Double Pack (EUR)
- { "BYUJ" }, // 2322 - Yggdra Union (JPN)
- { "AN3E" }, // 2324 - Catz (USA)
- { "AN8P" }, // 2325 - Tales of Phantasia (EUR)
- { "AA2C" }, // 2332 - Chaoji Maliou Shijie (CHN)
- { "BWOP" }, // 2333 - World Poker Tour (EUR)
- { "BKCS" }, // 2334 - Shinchan - Aventuras en Cineland (ESP)
- { "BC2J" }, // 2341 - Crayon Shin chan - Densetsu wo Yobu Omake no Miyako Shockgaan (JPN)
- { "BUOJ" }, // 2345 - Minna no Soft Series - Numpla Advance (JPN)
- { "AN3J" }, // 2347 - Minna no Soft Series - Kawaii Koneko (JPN)
- { "BUOE" }, // 2366 - Dr. Sudoku (USA)
- { "B8SE" }, // 2368 - Spyro Superpack - Season of Ice + Season of Flame (USA)
- { "U32J" }, // 2369 - Zoku Bokura no Taiyou - Taiyou Shounen Django (v01) (JPN)
- { "BBMJ" }, // 2388 - B-Legend! Battle B-Daman - Moero! B-Damashi!! (JPN)
- { "B53E" }, // 2395 - Crash & Spyro Superpack - Ripto's Rampage + The Cortex Conspiracy (USA)
- { "BH9P" }, // 2399 - Tony Hawk's American Sk8land (EUR)
- { "BAQP" }, // 2406 - Premier Action Soccer (EUR)
- { "AB4E" }, // 2432 - Summon Night - Swordcraft Story (USA)
- { "BBYE" }, // 2436 - Barnyard (USA)
- { "BDXE" }, // 2438 - Battle B-Daman (USA)
- { "B7ME" }, // 2446 - Madden NFL 07 (USA)
- { "BUFE" }, // 2447 - 2 Games in 1 - Dragon Ball Z - Buu's Fury + Dragon Ball GT - Transformation (USA)
- { "BUOP" }, // 2449 - Dr. Sudoku (EUR)
- { "BBYX" }, // 2461 - Barnyard (EUR)
- { "BFEE" }, // 2466 - Dogz - Fashion (USA)
- { "AN3X" }, // 2468 - Catz (EUR)
- { "BBME" }, // 2481 - Battle B-Daman - Fire Spirits (USA)
- { "BQZE" }, // 2487 - Avatar - The Last Airbender (USA)
- { "BXFE" }, // 2498 - Bratz - Forever Diamondz (USA)
- { "BT8E" }, // 2500 - Teenage Mutant Ninja Turtles Double Pack (USA)
- { "B3YE" }, // 2504 - The Legend of Spyro - A New Beginning (USA)
- { "BSKE" }, // 2505 - Summon Night - Swordcraft Story 2 (USA)
- { "BHBP" }, // 2513 - Best Friends - Hunde & Katzen (EUR)
- { "B3YP" }, // 2519 - The Legend Of Spyro - A New Beginning (EUR)
- { "BXFD" }, // 2520 - Bratz - Forever Diamondz (GER)
- { "BRLP" }, // 2532 - Rebelstar - Tactical Command (EUR)
- { "BENP" }, // 2560 - Eragon (EUR)
- { "BENE" }, // 2561 - Eragon (USA)
- { "BYUE" }, // 2573 - Yggdra Union - We'll Never Fight Alone (USA)
- { "BFRP" }, // 2588 - My Animal Centre in Africa (EUR)
- { "BFQE" }, // 2606 - Mazes of Fate (USA)
- { "BQZP" }, // 2607 - Avatar - The Legend of Aang (EUR)
- { "BFEP" }, // 2613 - Dogz Fashion (EUR)
- { "BC2S" }, // 2631 - Shinchan contra los Munecos de Shock Gahn (ESP)
- { "BXFP" }, // 2640 - Bratz - Forever Diamondz (EUR)
- { "BEFP" }, // 2652 - Best Friends - My Horse (EUR)
- { "BNBE" }, // 2695 - Petz Vet (USA)
- { "BIME" }, // 2696 - Dogz 2 (USA)
- { "BQTX" }, // 2710 - Mijn Dierenpension (EUR)
- { "BIMP" }, // 2720 - Dogz 2 (EUR)
- { "BIMX" }, // 2727 - Dogz 2 (EUR)
- { "BHUE" }, // 2730 - Horsez (USA)
- { "BQTF" }, // 2732 - Lea - Passion Veterinaire (FRA)
- { "BJPP" }, // 2770 - Harry Potter Collection (EUR)
- { "BEFE" }, // 2772 - Let's Ride - Friends Forever (USA)
- { "BHBE" }, // 2774 - Best Friends - Dogs & Cats (USA)
- { "BYUP" }, // 2781 - Yggdra Union - We'll Never Fight Alone (EUR)
- { "ACOJ" }, // 2787 - Manga-ka Debut Monogatari (v01) (JPN)
- { "BFDJ" }, // 2789 - Fruit Mura no Doubutsu Tachi (v02) (JPN)
- // gba scan no. 8
- { "AYSJ" }, // 0229 - Gakkou wo Tsukurou!! Advance (JPN)
- { "ASNJ" }, // 0260 - Sansara Naga 1x2 (JPN)
- { "ACTX" }, // 0265 - Creatures (EUR)
- { "ASFJ" }, // 0359 - Slot! Pro Advance - Takarabune & Ooedo Sakurafubuki 2 (JPN)
- { "ABGJ" }, // 0404 - Sweet Cookie Pie (JPN)
- { "ARNJ" }, // 0615 - Harukanaru Toki no Naka de (JPN)
- { "AOPJ" }, // 0646 - Oshare Princess (JPN)
- { "AHVJ" }, // 0664 - Nakayoshi Youchien - Sukoyaka Enji Ikusei Game (JPN)
- { "AYCE" }, // 0758 - Phantasy Star Collection (USA)
- { "AYCP" }, // 0877 - Phantasy Star Collection (EUR)
- { "ATBJ" }, // 0948 - Slot! Pro 2 Advance - GoGo Juggler & New Tairyou (JPN)
- { "A83J" }, // 1012 - Hamster Monogatari 3 GBA (JPN)
- { "AEHJ" }, // 1014 - Puzzle & Tantei Collection (JPN)
- { "BWDJ" }, // 1114 - Wan Nyan Doubutsu Byouin (JPN)
- { "BKZE" }, // 1138 - Banjo-Kazooie - Grunty's Revenge (USA)
- { "FZLJ" }, // 1369 - Famicom Mini Series 5 - Zelda no Denzetsu 1 (JPN)
- { "BPVP" }, // 1738 - Pferd & Pony - Mein Pferdehof (EUR)
- { "ACTY" }, // 1763 - Creatures (EUR)
- { "BITJ" }, // 1811 - Onmyou Taisenki Zeroshik (JPN)
- { "BOVJ" }, // 1848 - Bouken-Ou Beet - Busters Road (JPN)
- { "BT3J" }, // 1852 - Tantei Jinguuji Saburou Shiroi Kage no Syoujyo (JPN)
- { "BG8J" }, // 1853 - Ganbare! Dodge Fighters (JPN)
- { "BLDS" }, // 1919 - 2 Games in 1 - Lizzie McGuire - Disney Princesas (ESP)
- { "BLDP" }, // 1934 - 2 Games in 1 - Lizzie McGuire - Disney Princess (EUR)
- { "B8MP" }, // 1993 - Mario Party Advance (EUR)
- { "BYPP" }, // 2155 - Horse & Pony - Let`s Ride 2 (EUR)
- { "B8AE" }, // 2174 - Crash Superpack - N-Tranced + Nitro Kart (USA)
- { "BL9E" }, // 2329 - Let's Ride! Dreamer (USA)
- { "B34E" }, // 2331 - Let's Ride! - Sunshine Stables (USA)
- { "BQVP" }, // 2414 - Meine Tierarztpraxis (EUR)
- { "BHUP" }, // 2480 - Horse and Pony - My Stud Farm (EUR)
- { "BPVX" }, // 2645 - Pippa Funnell - Stable Adventures (EUR)
- { "BYPX" }, // 2653 - Pippa Funell 2 (EUR)
- { "BQVX" }, // 2711 - Mijn Dierenpraktijk (EUR)
- { "BPVY" }, // 2712 - Paard & Pony - Mijn Manege (EUR)
- { "BYPY" }, // 2713 - Paard & Pony - Paard in Galop (EUR)
- { "B54E" }, // 2757 - Crash & Spyro Superpack - The Huge Adventure + Season of Ice (USA)
- // gba scan no. 9
- { "BKZX" }, // 1199 - Banjo-Kazooie - Grunty's Revenge (EUR)
- { "BKZI" }, // 1381 - Banjo Kazooie - La Vendetta di Grunty (ITA)
- { "BAZJ" }, // 1710 - Akachan Doubutsu Sono (JPN)
- { "BKZS" }, // 1883 - Banjo Kazooie - La Venganza de Grunty (ESP)
- // gba scan no. 11
- { "A9BP" }, // 0925 - Medabots - Rokusho Version (EUR)
- { "A3IJ" }, // bokura no taiyou - taiyou action rpg - kabunushi go-yuutai ban (japan) (demo)
-};
-
-static const gba_chip_fix_item gba_chip_fix_rumble_list[] =
-{
- { "KYGP" }, // Yoshi's Universal Gravitation (EUR)
- { "KYGE" }, // Yoshi - Topsy-Turvy (USA)
- { "KYGJ" }, // Yoshi no Banyuuinryoku (JPN)
- { "KHPJ" } // Koro Koro Puzzle - Happy Panechu! (JPN)
-};
-
-
-#endif
+#endif // MAME_BUS_GBA_GBA_SLOT_H
diff --git a/src/devices/bus/gba/rom.cpp b/src/devices/bus/gba/rom.cpp
index 78875860300..d6aad07ac0d 100644
--- a/src/devices/bus/gba/rom.cpp
+++ b/src/devices/bus/gba/rom.cpp
@@ -21,127 +21,122 @@
// gba_rom_device - constructor
//-------------------------------------------------
-const device_type GBA_ROM_STD = device_creator<gba_rom_device>;
-const device_type GBA_ROM_SRAM = device_creator<gba_rom_sram_device>;
-const device_type GBA_ROM_DRILLDOZ = device_creator<gba_rom_drilldoz_device>;
-const device_type GBA_ROM_WARIOTWS = device_creator<gba_rom_wariotws_device>;
-const device_type GBA_ROM_EEPROM = device_creator<gba_rom_eeprom_device>;
-const device_type GBA_ROM_YOSHIUG = device_creator<gba_rom_yoshiug_device>;
-const device_type GBA_ROM_EEPROM64 = device_creator<gba_rom_eeprom64_device>;
-const device_type GBA_ROM_BOKTAI = device_creator<gba_rom_boktai_device>;
-const device_type GBA_ROM_FLASH = device_creator<gba_rom_flash_device>;
-const device_type GBA_ROM_FLASH_RTC = device_creator<gba_rom_flash_rtc_device>;
-const device_type GBA_ROM_FLASH1M = device_creator<gba_rom_flash1m_device>;
-const device_type GBA_ROM_FLASH1M_RTC = device_creator<gba_rom_flash1m_rtc_device>;
-const device_type GBA_ROM_3DMATRIX = device_creator<gba_rom_3dmatrix_device>;
+DEFINE_DEVICE_TYPE(GBA_ROM_STD, gba_rom_device, "gba_rom", "GBA Carts")
+DEFINE_DEVICE_TYPE(GBA_ROM_SRAM, gba_rom_sram_device, "gba_rom_sram", "GBA Carts + SRAM")
+DEFINE_DEVICE_TYPE(GBA_ROM_DRILLDOZ, gba_rom_drilldoz_device, "gba_rom_drilldoz", "GBA Carts + SRAM + Rumble")
+DEFINE_DEVICE_TYPE(GBA_ROM_WARIOTWS, gba_rom_wariotws_device, "gba_rom_wariotws", "GBA Carts + SRAM + Rumble + Gyroscope")
+DEFINE_DEVICE_TYPE(GBA_ROM_EEPROM, gba_rom_eeprom_device, "gba_rom_eeprom", "GBA Carts + EEPROM")
+DEFINE_DEVICE_TYPE(GBA_ROM_YOSHIUG, gba_rom_yoshiug_device, "gba_rom_yoshiug", "GBA Carts + EEPROM + Tilt Sensor")
+DEFINE_DEVICE_TYPE(GBA_ROM_EEPROM64, gba_rom_eeprom64_device, "gba_rom_eeprom64", "GBA Carts + EEPROM 64K")
+DEFINE_DEVICE_TYPE(GBA_ROM_BOKTAI, gba_rom_boktai_device, "gba_rom_boktai", "GBA Carts + EEPROM 64K + RTC + Light Sensor")
+DEFINE_DEVICE_TYPE(GBA_ROM_FLASH, gba_rom_flash_device, "gba_rom_flash", "GBA Carts + Panasonic Flash")
+DEFINE_DEVICE_TYPE(GBA_ROM_FLASH_RTC, gba_rom_flash_rtc_device, "gba_rom_flash_rtc", "GBA Carts + Panasonic Flash + RTC")
+DEFINE_DEVICE_TYPE(GBA_ROM_FLASH1M, gba_rom_flash1m_device, "gba_rom_flash1m", "GBA Carts + Sanyo Flash")
+DEFINE_DEVICE_TYPE(GBA_ROM_FLASH1M_RTC, gba_rom_flash1m_rtc_device, "gba_rom_flash1m_rtc", "GBA Carts + Sanyo Flash + RTC")
+DEFINE_DEVICE_TYPE(GBA_ROM_3DMATRIX, gba_rom_3dmatrix_device, "gba_rom_3dmatrix", "3D Matrix Memory Mapper")
-gba_rom_device::gba_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_gba_cart_interface( mconfig, *this )
+gba_rom_device::gba_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_gba_cart_interface(mconfig, *this)
{
}
gba_rom_device::gba_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, GBA_ROM_STD, "GBA Carts", tag, owner, clock, "gba_rom", __FILE__),
- device_gba_cart_interface( mconfig, *this )
+ : gba_rom_device(mconfig, GBA_ROM_STD, tag, owner, clock)
{
}
-gba_rom_sram_device::gba_rom_sram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : gba_rom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+gba_rom_sram_device::gba_rom_sram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : gba_rom_device(mconfig, type, tag, owner, clock)
{
}
gba_rom_sram_device::gba_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_device(mconfig, GBA_ROM_SRAM, "GBA Carts + SRAM", tag, owner, clock, "gba_sram", __FILE__)
+ : gba_rom_sram_device(mconfig, GBA_ROM_SRAM, tag, owner, clock)
{
}
gba_rom_drilldoz_device::gba_rom_drilldoz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_sram_device(mconfig, GBA_ROM_DRILLDOZ, "GBA Carts + SRAM + Rumble", tag, owner, clock, "gba_drilldoz", __FILE__)
+ : gba_rom_sram_device(mconfig, GBA_ROM_DRILLDOZ, tag, owner, clock)
{
}
gba_rom_wariotws_device::gba_rom_wariotws_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_sram_device(mconfig, GBA_ROM_WARIOTWS, "GBA Carts + SRAM + Rumble + Gyroscope", tag, owner, clock, "gba_wariotws", __FILE__),
- m_gyro_z(*this, "GYROZ")
+ : gba_rom_sram_device(mconfig, GBA_ROM_WARIOTWS, tag, owner, clock)
+ , m_gyro_z(*this, "GYROZ")
{
}
-gba_rom_eeprom_device::gba_rom_eeprom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : gba_rom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+gba_rom_eeprom_device::gba_rom_eeprom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : gba_rom_device(mconfig, type, tag, owner, clock)
{
}
gba_rom_eeprom_device::gba_rom_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_device(mconfig, GBA_ROM_EEPROM, "GBA Carts + EEPROM", tag, owner, clock, "gba_eeprom", __FILE__)
+ : gba_rom_eeprom_device(mconfig, GBA_ROM_EEPROM, tag, owner, clock)
{
}
gba_rom_yoshiug_device::gba_rom_yoshiug_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_eeprom_device(mconfig, GBA_ROM_YOSHIUG, "GBA Carts + EEPROM + Tilt Sensor", tag, owner, clock, "gba_yoshiug", __FILE__),
- m_tilt_x(*this, "TILTX"),
- m_tilt_y(*this, "TILTY")
+ : gba_rom_eeprom_device(mconfig, GBA_ROM_YOSHIUG, tag, owner, clock)
+ , m_tilt_x(*this, "TILTX")
+ , m_tilt_y(*this, "TILTY")
{
}
-gba_rom_eeprom64_device::gba_rom_eeprom64_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : gba_rom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+gba_rom_eeprom64_device::gba_rom_eeprom64_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : gba_rom_device(mconfig, type, tag, owner, clock)
{
}
gba_rom_eeprom64_device::gba_rom_eeprom64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_device(mconfig, GBA_ROM_EEPROM64, "GBA Carts + EEPROM 64K", tag, owner, clock, "gba_eeprom64", __FILE__)
+ : gba_rom_eeprom64_device(mconfig, GBA_ROM_EEPROM64, tag, owner, clock)
{
}
gba_rom_boktai_device::gba_rom_boktai_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_eeprom64_device(mconfig, GBA_ROM_BOKTAI, "GBA Carts + EEPROM 64K + RTC", tag, owner, clock, "gba_boktai", __FILE__),
- m_sensor(*this, "LIGHTSENSE")
+ : gba_rom_eeprom64_device(mconfig, GBA_ROM_BOKTAI, tag, owner, clock)
+ , m_sensor(*this, "LIGHTSENSE")
{
}
-gba_rom_flash_device::gba_rom_flash_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : gba_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_flash_mask(0),
- m_flash(*this, "flash")
+gba_rom_flash_device::gba_rom_flash_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : gba_rom_device(mconfig, type, tag, owner, clock)
+ , m_flash_mask(0)
+ , m_flash(*this, "flash")
{
}
gba_rom_flash_device::gba_rom_flash_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_device(mconfig, GBA_ROM_FLASH, "GBA Carts + Panasonic Flash", tag, owner, clock, "gba_flash", __FILE__),
- m_flash_mask(0),
- m_flash(*this, "flash")
+ : gba_rom_flash_device(mconfig, GBA_ROM_FLASH, tag, owner, clock)
{
}
gba_rom_flash_rtc_device::gba_rom_flash_rtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_flash_device(mconfig, GBA_ROM_FLASH_RTC, "GBA Carts + Panasonic Flash + RTC", tag, owner, clock, "gba_flash_rtc", __FILE__)
+ : gba_rom_flash_device(mconfig, GBA_ROM_FLASH_RTC, tag, owner, clock)
{
}
-gba_rom_flash1m_device::gba_rom_flash1m_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : gba_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_flash_mask(0),
- m_flash(*this, "flash")
+gba_rom_flash1m_device::gba_rom_flash1m_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : gba_rom_device(mconfig, type, tag, owner, clock)
+ , m_flash_mask(0)
+ , m_flash(*this, "flash")
{
}
gba_rom_flash1m_device::gba_rom_flash1m_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_device(mconfig, GBA_ROM_FLASH1M, "GBA Carts + Sanyo Flash", tag, owner, clock, "gba_flash1m", __FILE__),
- m_flash_mask(0),
- m_flash(*this, "flash")
+ : gba_rom_flash1m_device(mconfig, GBA_ROM_FLASH1M, tag, owner, clock)
{
}
gba_rom_flash1m_rtc_device::gba_rom_flash1m_rtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_flash1m_device(mconfig, GBA_ROM_FLASH1M_RTC, "GBA Carts + Sanyo Flash + RTC", tag, owner, clock, "gba_flash1m_rtc", __FILE__)
+ : gba_rom_flash1m_device(mconfig, GBA_ROM_FLASH1M_RTC, tag, owner, clock)
{
}
gba_rom_3dmatrix_device::gba_rom_3dmatrix_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : gba_rom_device(mconfig, GBA_ROM_3DMATRIX, "GBA Carts + 3D Matrix Memory Mapper", tag, owner, clock, "gba_3dmatrix", __FILE__)
+ : gba_rom_device(mconfig, GBA_ROM_3DMATRIX, tag, owner, clock)
{
}
diff --git a/src/devices/bus/gba/rom.h b/src/devices/bus/gba/rom.h
index a7886c79c59..118f075e416 100644
--- a/src/devices/bus/gba/rom.h
+++ b/src/devices/bus/gba/rom.h
@@ -1,20 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont,Ryan Holtz,Fabio Priuli
-#ifndef __GBA_ROM_H
-#define __GBA_ROM_H
+#ifndef MAME_BUS_GBA_ROM_H
+#define MAME_BUS_GBA_ROM_H
+
+#pragma once
#include "gba_slot.h"
#include "machine/intelfsh.h"
// GBA RTC device
-enum {
- S3511_RTC_IDLE = 0,
- S3511_RTC_DATAOUT,
- S3511_RTC_DATAIN,
- S3511_RTC_COMMAND
-};
-
class gba_s3511_device
{
public:
@@ -28,6 +23,14 @@ public:
void write(uint16_t data, int gpio_dirs);
protected:
+ enum
+ {
+ S3511_RTC_IDLE = 0,
+ S3511_RTC_DATAOUT,
+ S3511_RTC_DATAIN,
+ S3511_RTC_COMMAND
+ };
+
int m_phase;
uint8_t m_last_val, m_bits, m_command;
int m_data_len;
@@ -41,18 +44,6 @@ protected:
// GBA EEPROM device
// TODO: is it possible to merge this with the standard EEPROM devices in the core?
-enum
-{
- EEP_IDLE = 0,
- EEP_COMMAND,
- EEP_ADDR,
- EEP_AFTERADDR,
- EEP_READ,
- EEP_WRITE,
- EEP_AFTERWRITE,
- EEP_READFIRST
-};
-
class gba_eeprom_device
{
public:
@@ -63,6 +54,18 @@ public:
void write(uint32_t data);
protected:
+ enum
+ {
+ EEP_IDLE = 0,
+ EEP_COMMAND,
+ EEP_ADDR,
+ EEP_AFTERADDR,
+ EEP_READ,
+ EEP_WRITE,
+ EEP_AFTERWRITE,
+ EEP_READFIRST
+ };
+
uint8_t *m_data;
uint32_t m_data_size;
int m_state;
@@ -85,13 +88,8 @@ class gba_rom_device : public device_t,
{
public:
// construction/destruction
- gba_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
gba_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ32_MEMBER(read_rom) override { return m_rom[offset]; }
@@ -99,7 +97,14 @@ public:
virtual DECLARE_WRITE32_MEMBER(write_gpio) override;
virtual uint16_t gpio_dev_read(int gpio_dirs) { return 0; }
- virtual void gpio_dev_write(uint16_t data, int gpio_dirs) {}
+ virtual void gpio_dev_write(uint16_t data, int gpio_dirs) { }
+
+protected:
+ gba_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
uint16_t m_gpio_regs[4];
@@ -113,12 +118,14 @@ class gba_rom_sram_device : public gba_rom_device
{
public:
// construction/destruction
- gba_rom_sram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
gba_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ32_MEMBER(read_ram) override;
virtual DECLARE_WRITE32_MEMBER(write_ram) override;
+
+protected:
+ gba_rom_sram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
@@ -145,13 +152,14 @@ public:
virtual ioport_constructor device_input_ports() const override;
+ virtual uint16_t gpio_dev_read(int gpio_dirs) override;
+ virtual void gpio_dev_write(uint16_t data, int gpio_dirs) override;
+
+protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual uint16_t gpio_dev_read(int gpio_dirs) override;
- virtual void gpio_dev_write(uint16_t data, int gpio_dirs) override;
-
private:
uint8_t m_last_val;
int m_counter;
@@ -165,18 +173,20 @@ class gba_rom_flash_device : public gba_rom_device
{
public:
// construction/destruction
- gba_rom_flash_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
gba_rom_flash_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_reset() override;
// reading and writing
virtual DECLARE_READ32_MEMBER(read_ram) override;
virtual DECLARE_WRITE32_MEMBER(write_ram) override;
protected:
+ gba_rom_flash_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_reset() override;
+
//uint32_t m_flash_size;
uint32_t m_flash_mask;
required_device<intelfsh8_device> m_flash;
@@ -192,10 +202,12 @@ public:
gba_rom_flash_rtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual uint16_t gpio_dev_read(int gpio_dirs) override;
virtual void gpio_dev_write(uint16_t data, int gpio_dirs) override;
+protected:
+ virtual void device_start() override;
+
private:
std::unique_ptr<gba_s3511_device> m_rtc;
};
@@ -207,18 +219,20 @@ class gba_rom_flash1m_device : public gba_rom_device
{
public:
// construction/destruction
- gba_rom_flash1m_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
gba_rom_flash1m_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_reset() override;
// reading and writing
virtual DECLARE_READ32_MEMBER(read_ram) override;
virtual DECLARE_WRITE32_MEMBER(write_ram) override;
protected:
+ gba_rom_flash1m_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_reset() override;
+
//uint32_t m_flash_size;
uint32_t m_flash_mask;
required_device<intelfsh8_device> m_flash;
@@ -234,10 +248,12 @@ public:
gba_rom_flash1m_rtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual uint16_t gpio_dev_read(int gpio_dirs) override;
virtual void gpio_dev_write(uint16_t data, int gpio_dirs) override;
+protected:
+ virtual void device_start() override;
+
private:
std::unique_ptr<gba_s3511_device> m_rtc;
};
@@ -249,16 +265,18 @@ class gba_rom_eeprom_device : public gba_rom_device
{
public:
// construction/destruction
- gba_rom_eeprom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
gba_rom_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
-
// reading and writing
virtual DECLARE_READ32_MEMBER(read_ram) override;
virtual DECLARE_WRITE32_MEMBER(write_ram) override;
+protected:
+ gba_rom_eeprom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
private:
std::unique_ptr<gba_eeprom_device> m_eeprom;
};
@@ -273,14 +291,16 @@ public:
gba_rom_yoshiug_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual ioport_constructor device_input_ports() const override;
// reading and writing
virtual DECLARE_READ32_MEMBER(read_tilt) override;
virtual DECLARE_WRITE32_MEMBER(write_tilt) override;
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
int m_tilt_ready;
uint16_t m_xpos, m_ypos;
@@ -295,17 +315,18 @@ class gba_rom_eeprom64_device : public gba_rom_device
{
public:
// construction/destruction
- gba_rom_eeprom64_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
gba_rom_eeprom64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
-
// reading and writing
virtual DECLARE_READ32_MEMBER(read_ram) override;
virtual DECLARE_WRITE32_MEMBER(write_ram) override;
protected:
+ gba_rom_eeprom64_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
std::unique_ptr<gba_eeprom_device> m_eeprom;
};
@@ -319,14 +340,15 @@ public:
gba_rom_boktai_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual ioport_constructor device_input_ports() const override;
virtual uint16_t gpio_dev_read(int gpio_dirs) override;
virtual void gpio_dev_write(uint16_t data, int gpio_dirs) override;
private:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
std::unique_ptr<gba_s3511_device> m_rtc;
required_ioport m_sensor;
uint8_t m_last_val;
@@ -342,33 +364,33 @@ public:
// construction/destruction
gba_rom_3dmatrix_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // reading and writing
+ virtual DECLARE_WRITE32_MEMBER(write_mapper) override;
+
+protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- // reading and writing
- virtual DECLARE_WRITE32_MEMBER(write_mapper) override;
-
private:
uint32_t m_src, m_dst, m_nblock;
};
// device type definition
-extern const device_type GBA_ROM_STD;
-extern const device_type GBA_ROM_SRAM;
-extern const device_type GBA_ROM_DRILLDOZ;
-extern const device_type GBA_ROM_WARIOTWS;
-extern const device_type GBA_ROM_EEPROM;
-extern const device_type GBA_ROM_YOSHIUG;
-extern const device_type GBA_ROM_EEPROM64;
-extern const device_type GBA_ROM_BOKTAI;
-extern const device_type GBA_ROM_FLASH;
-extern const device_type GBA_ROM_FLASH_RTC;
-extern const device_type GBA_ROM_FLASH1M;
-extern const device_type GBA_ROM_FLASH1M_RTC;
-extern const device_type GBA_ROM_3DMATRIX;
-
-
-
-#endif
+DECLARE_DEVICE_TYPE(GBA_ROM_STD, gba_rom_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_SRAM, gba_rom_sram_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_DRILLDOZ, gba_rom_drilldoz_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_WARIOTWS, gba_rom_wariotws_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_EEPROM, gba_rom_eeprom_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_YOSHIUG, gba_rom_yoshiug_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_EEPROM64, gba_rom_eeprom64_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_BOKTAI, gba_rom_boktai_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_FLASH, gba_rom_flash_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_FLASH_RTC, gba_rom_flash_rtc_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_FLASH1M, gba_rom_flash1m_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_FLASH1M_RTC, gba_rom_flash1m_rtc_device)
+DECLARE_DEVICE_TYPE(GBA_ROM_3DMATRIX, gba_rom_3dmatrix_device)
+
+
+#endif // MAME_BUS_GBA_ROM_H
diff --git a/src/devices/bus/generic/carts.cpp b/src/devices/bus/generic/carts.cpp
index b5a7dc7514a..032899823f8 100644
--- a/src/devices/bus/generic/carts.cpp
+++ b/src/devices/bus/generic/carts.cpp
@@ -9,6 +9,9 @@
#include "emu.h"
#include "carts.h"
+#include "rom.h"
+#include "ram.h"
+
SLOT_INTERFACE_START(generic_plain_slot)
SLOT_INTERFACE_INTERNAL("rom", GENERIC_ROM_PLAIN)
diff --git a/src/devices/bus/generic/carts.h b/src/devices/bus/generic/carts.h
index e7989272b32..a5b4660b4dc 100644
--- a/src/devices/bus/generic/carts.h
+++ b/src/devices/bus/generic/carts.h
@@ -6,18 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __GENERIC_CARTS_H__
-#define __GENERIC_CARTS_H__
+#ifndef MAME_BUS_GENERIC_CARTS_H
+#define MAME_BUS_GENERIC_CARTS_H
-
-#include "rom.h"
-#include "ram.h"
+#pragma once
SLOT_INTERFACE_EXTERN( generic_plain_slot );
SLOT_INTERFACE_EXTERN( generic_linear_slot );
SLOT_INTERFACE_EXTERN( generic_romram_plain_slot );
-#endif
+#endif // MAME_BUS_GENERIC_CARTS_H
diff --git a/src/devices/bus/generic/ram.cpp b/src/devices/bus/generic/ram.cpp
index 15db67732cc..601db4d0470 100644
--- a/src/devices/bus/generic/ram.cpp
+++ b/src/devices/bus/generic/ram.cpp
@@ -26,56 +26,56 @@
// constructor
//-------------------------------------------------
-const device_type GENERIC_RAM_32K_PLAIN = device_creator<generic_ram_32k_plain_device>;
-const device_type GENERIC_RAM_64K_PLAIN = device_creator<generic_ram_64k_plain_device>;
-const device_type GENERIC_RAM_128K_PLAIN = device_creator<generic_ram_128k_plain_device>;
-const device_type GENERIC_RAM_32K_LINEAR = device_creator<generic_ram_32k_linear_device>;
-const device_type GENERIC_RAM_64K_LINEAR = device_creator<generic_ram_64k_linear_device>;
-const device_type GENERIC_RAM_128K_LINEAR = device_creator<generic_ram_128k_linear_device>;
-
-
-generic_ram_plain_device::generic_ram_plain_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t size, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_generic_cart_interface(mconfig, *this),
- m_size(size)
+DEFINE_DEVICE_TYPE(GENERIC_RAM_32K_PLAIN, generic_ram_32k_plain_device, "generic_ram32p", "Generic RAM 32K (plain mapping)")
+DEFINE_DEVICE_TYPE(GENERIC_RAM_64K_PLAIN, generic_ram_64k_plain_device, "generic_ram64p", "Generic RAM 64K (plain mapping)")
+DEFINE_DEVICE_TYPE(GENERIC_RAM_128K_PLAIN, generic_ram_128k_plain_device, "generic_ram128p", "Generic RAM 128K (plain mapping)")
+DEFINE_DEVICE_TYPE(GENERIC_RAM_32K_LINEAR, generic_ram_32k_linear_device, "generic_ram32l", "Generic RAM 32K (linear mapping)")
+DEFINE_DEVICE_TYPE(GENERIC_RAM_64K_LINEAR, generic_ram_64k_linear_device, "generic_ram64l", "Generic RAM 64K (linear mapping)")
+DEFINE_DEVICE_TYPE(GENERIC_RAM_128K_LINEAR, generic_ram_128k_linear_device, "generic_ram128l", "Generic RAM 128K (linear mapping)")
+
+
+generic_ram_plain_device::generic_ram_plain_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t size)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_generic_cart_interface(mconfig, *this)
+ , m_size(size)
{
}
-generic_ram_linear_device::generic_ram_linear_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t size, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_generic_cart_interface(mconfig, *this),
- m_size(size)
+generic_ram_linear_device::generic_ram_linear_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t size)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_generic_cart_interface(mconfig, *this)
+ , m_size(size)
{
}
generic_ram_32k_plain_device::generic_ram_32k_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_ram_plain_device(mconfig, GENERIC_RAM_32K_PLAIN, "Generic RAM 32K (plain mapping)", tag, owner, clock, 0x8000, "generic_ram32p", __FILE__)
+ : generic_ram_plain_device(mconfig, GENERIC_RAM_32K_PLAIN, tag, owner, clock, 0x8000)
{
}
generic_ram_64k_plain_device::generic_ram_64k_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_ram_plain_device(mconfig, GENERIC_RAM_64K_PLAIN, "Generic RAM 64K (plain mapping)", tag, owner, clock, 0x10000, "generic_ram64p", __FILE__)
+ : generic_ram_plain_device(mconfig, GENERIC_RAM_64K_PLAIN, tag, owner, clock, 0x10000)
{
}
generic_ram_128k_plain_device::generic_ram_128k_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_ram_plain_device(mconfig, GENERIC_RAM_128K_PLAIN, "Generic RAM 128K (plain mapping)", tag, owner, clock, 0x20000, "generic_ram128p", __FILE__)
+ : generic_ram_plain_device(mconfig, GENERIC_RAM_128K_PLAIN, tag, owner, clock, 0x20000)
{
}
generic_ram_32k_linear_device::generic_ram_32k_linear_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_ram_linear_device(mconfig, GENERIC_RAM_32K_LINEAR, "Generic RAM 32K (linear mapping)", tag, owner, clock, 0x8000, "generic_ram32l", __FILE__)
+ : generic_ram_linear_device(mconfig, GENERIC_RAM_32K_LINEAR, tag, owner, clock, 0x8000)
{
}
generic_ram_64k_linear_device::generic_ram_64k_linear_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_ram_linear_device(mconfig, GENERIC_RAM_64K_LINEAR, "Generic RAM 64K (linear mapping)", tag, owner, clock, 0x10000, "generic_ram64l", __FILE__)
+ : generic_ram_linear_device(mconfig, GENERIC_RAM_64K_LINEAR, tag, owner, clock, 0x10000)
{
}
generic_ram_128k_linear_device::generic_ram_128k_linear_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_ram_linear_device(mconfig, GENERIC_RAM_128K_LINEAR, "Generic RAM 128K (linear mapping)", tag, owner, clock, 0x20000, "generic_ram128l", __FILE__)
+ : generic_ram_linear_device(mconfig, GENERIC_RAM_128K_LINEAR, tag, owner, clock, 0x20000)
{
}
diff --git a/src/devices/bus/generic/ram.h b/src/devices/bus/generic/ram.h
index 213ed8178db..aa8323ba8af 100644
--- a/src/devices/bus/generic/ram.h
+++ b/src/devices/bus/generic/ram.h
@@ -1,27 +1,29 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __GENERIC_RAM_H
-#define __GENERIC_RAM_H
+#ifndef MAME_BUS_GENERIC_RAM_H
+#define MAME_BUS_GENERIC_RAM_H
+
+#pragma once
#include "slot.h"
// ======================> generic_ram_plain_device
-class generic_ram_plain_device : public device_t,
- public device_generic_cart_interface
+class generic_ram_plain_device : public device_t, public device_generic_cart_interface
{
public:
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
// construction/destruction
- generic_ram_plain_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t size, const char *shortname, const char *source);
+ generic_ram_plain_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t size);
// device-level overrides
virtual void device_start() override;
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_ram) override;
- virtual DECLARE_WRITE8_MEMBER(write_ram) override;
-
private:
uint32_t m_size;
};
@@ -29,20 +31,20 @@ private:
// ======================> generic_ram_linear_device
-class generic_ram_linear_device : public device_t,
- public device_generic_cart_interface
+class generic_ram_linear_device : public device_t, public device_generic_cart_interface
{
public:
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
// construction/destruction
- generic_ram_linear_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t size, const char *shortname, const char *source);
+ generic_ram_linear_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t size);
// device-level overrides
virtual void device_start() override;
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_ram) override;
- virtual DECLARE_WRITE8_MEMBER(write_ram) override;
-
private:
uint32_t m_size;
};
@@ -98,12 +100,12 @@ public:
// device type definition
-extern const device_type GENERIC_RAM_32K_PLAIN;
-extern const device_type GENERIC_RAM_64K_PLAIN;
-extern const device_type GENERIC_RAM_128K_PLAIN;
-extern const device_type GENERIC_RAM_32K_LINEAR;
-extern const device_type GENERIC_RAM_64K_LINEAR;
-extern const device_type GENERIC_RAM_128K_LINEAR;
+DECLARE_DEVICE_TYPE(GENERIC_RAM_32K_PLAIN, generic_ram_32k_plain_device)
+DECLARE_DEVICE_TYPE(GENERIC_RAM_64K_PLAIN, generic_ram_64k_plain_device)
+DECLARE_DEVICE_TYPE(GENERIC_RAM_128K_PLAIN, generic_ram_128k_plain_device)
+DECLARE_DEVICE_TYPE(GENERIC_RAM_32K_LINEAR, generic_ram_32k_linear_device)
+DECLARE_DEVICE_TYPE(GENERIC_RAM_64K_LINEAR, generic_ram_64k_linear_device)
+DECLARE_DEVICE_TYPE(GENERIC_RAM_128K_LINEAR, generic_ram_128k_linear_device)
-#endif
+#endif // MAME_BUS_GENERIC_RAM_H
diff --git a/src/devices/bus/generic/rom.cpp b/src/devices/bus/generic/rom.cpp
index 9a965cc2ccb..3a63b1f90dc 100644
--- a/src/devices/bus/generic/rom.cpp
+++ b/src/devices/bus/generic/rom.cpp
@@ -26,34 +26,33 @@
// constructor
//-------------------------------------------------
-const device_type GENERIC_ROM_PLAIN = device_creator<generic_rom_plain_device>;
-const device_type GENERIC_ROM_LINEAR = device_creator<generic_rom_linear_device>;
-const device_type GENERIC_ROMRAM_PLAIN = device_creator<generic_romram_plain_device>;
+DEFINE_DEVICE_TYPE(GENERIC_ROM_PLAIN, generic_rom_plain_device, "generic_rom_plain", "Generic ROM (plain mapping)")
+DEFINE_DEVICE_TYPE(GENERIC_ROM_LINEAR, generic_rom_linear_device, "generic_rom_linear", "Generic ROM (linear mapping)")
+DEFINE_DEVICE_TYPE(GENERIC_ROMRAM_PLAIN, generic_romram_plain_device, "generic_romram_plain", "Generic ROM + RAM (plain mapping)")
-generic_rom_device::generic_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_generic_cart_interface(mconfig, *this)
+generic_rom_device::generic_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_generic_cart_interface(mconfig, *this)
{
}
-generic_rom_plain_device::generic_rom_plain_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : generic_rom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+generic_rom_plain_device::generic_rom_plain_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : generic_rom_device(mconfig, type, tag, owner, clock)
{
}
generic_rom_plain_device::generic_rom_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_rom_device(mconfig, GENERIC_ROM_PLAIN, "Generic ROM (plain mapping)", tag, owner, clock, "generic_rom_plain", __FILE__)
+ : generic_rom_plain_device(mconfig, GENERIC_ROM_PLAIN, tag, owner, clock)
{
}
generic_rom_linear_device::generic_rom_linear_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_rom_device(mconfig, GENERIC_ROM_LINEAR, "Generic ROM (linear mapping)", tag, owner, clock, "generic_rom_linear", __FILE__)
+ : generic_rom_device(mconfig, GENERIC_ROM_LINEAR, tag, owner, clock)
{
}
generic_romram_plain_device::generic_romram_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_rom_plain_device(mconfig, GENERIC_ROMRAM_PLAIN, "Generic ROM + RAM (plain mapping)", tag, owner, clock, "generic_romram_plain", __FILE__)
+ : generic_rom_plain_device(mconfig, GENERIC_ROMRAM_PLAIN, tag, owner, clock)
{
}
diff --git a/src/devices/bus/generic/rom.h b/src/devices/bus/generic/rom.h
index 1cf583c0858..2fc1011c25b 100644
--- a/src/devices/bus/generic/rom.h
+++ b/src/devices/bus/generic/rom.h
@@ -1,22 +1,23 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __GENERIC_ROM_H
-#define __GENERIC_ROM_H
+#ifndef MAME_BUS_GENERIC_ROM_H
+#define MAME_BUS_GENERIC_ROM_H
+
+#pragma once
#include "slot.h"
// ======================> generic_rom_device
-class generic_rom_device : public device_t,
- public device_generic_cart_interface
+class generic_rom_device : public device_t, public device_generic_cart_interface
{
-public:
+protected:
// construction/destruction
- generic_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ generic_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override {}
+ virtual void device_start() override { }
};
@@ -26,13 +27,15 @@ class generic_rom_plain_device : public generic_rom_device
{
public:
// construction/destruction
- generic_rom_plain_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
generic_rom_plain_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_READ16_MEMBER(read16_rom) override;
virtual DECLARE_READ32_MEMBER(read32_rom) override;
+
+protected:
+ generic_rom_plain_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
@@ -67,9 +70,9 @@ public:
// device type definition
-extern const device_type GENERIC_ROM_PLAIN;
-extern const device_type GENERIC_ROM_LINEAR;
-extern const device_type GENERIC_ROMRAM_PLAIN;
+DECLARE_DEVICE_TYPE(GENERIC_ROM_PLAIN, generic_rom_plain_device)
+DECLARE_DEVICE_TYPE(GENERIC_ROM_LINEAR, generic_rom_linear_device)
+DECLARE_DEVICE_TYPE(GENERIC_ROMRAM_PLAIN, generic_romram_plain_device)
-#endif
+#endif // MAME_BUS_GENERIC_ROM_H
diff --git a/src/devices/bus/generic/slot.cpp b/src/devices/bus/generic/slot.cpp
index c7ae4a4bf0c..b2ee9c53f93 100644
--- a/src/devices/bus/generic/slot.cpp
+++ b/src/devices/bus/generic/slot.cpp
@@ -28,7 +28,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type GENERIC_SOCKET = device_creator<generic_slot_device>;
+DEFINE_DEVICE_TYPE(GENERIC_SOCKET, generic_slot_device, "generic_socket", "Generic ROM Socket / RAM Socket / Cartridge Slot")
//-------------------------------------------------
@@ -85,15 +85,16 @@ void device_generic_cart_interface::ram_alloc(uint32_t size)
// generic_slot_device - constructor
//-------------------------------------------------
generic_slot_device::generic_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, GENERIC_SOCKET, "Generic ROM Socket / RAM Socket / Cartridge Slot", tag, owner, clock, "generic_socket", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_interface(nullptr),
- m_default_card("rom"),
- m_extensions("bin"),
- m_must_be_loaded(false),
- m_width(GENERIC_ROM8_WIDTH),
- m_endianness(ENDIANNESS_LITTLE), m_cart(nullptr)
+ device_t(mconfig, GENERIC_SOCKET, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_interface(nullptr),
+ m_default_card("rom"),
+ m_extensions("bin"),
+ m_must_be_loaded(false),
+ m_width(GENERIC_ROM8_WIDTH),
+ m_endianness(ENDIANNESS_LITTLE),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/generic/slot.h b/src/devices/bus/generic/slot.h
index 014f6ba80fa..c7add69a8bd 100644
--- a/src/devices/bus/generic/slot.h
+++ b/src/devices/bus/generic/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __GENERIC_SLOT_H
-#define __GENERIC_SLOT_H
+#ifndef MAME_BUS_GENERIC_SLOT_H
+#define MAME_BUS_GENERIC_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -17,7 +19,6 @@ class device_generic_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_generic_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_generic_cart_interface();
// reading and writing
@@ -40,7 +41,10 @@ public:
uint8_t* get_ram_base() { return &m_ram[0]; }
uint32_t get_ram_size() { return m_ram.size(); }
- void save_ram() { device().save_item(NAME(m_ram)); }
+ void save_ram() { device().save_item(NAME(m_ram)); }
+
+protected:
+ device_generic_cart_interface(const machine_config &mconfig, device_t &device);
// internal state
uint8_t *m_rom;
@@ -144,7 +148,8 @@ public:
virtual void rom_alloc(size_t size, int width, endianness_t end) { if (m_cart) m_cart->rom_alloc(size, width, end, tag()); }
virtual void ram_alloc(uint32_t size) { if (m_cart) m_cart->ram_alloc(size); }
- uint8_t* get_rom_base() {
+ uint8_t* get_rom_base()
+ {
if (m_cart)
{
if (!user_loadable())
@@ -154,7 +159,8 @@ public:
}
return nullptr;
}
- uint32_t get_rom_size() {
+ uint32_t get_rom_size()
+ {
if (m_cart)
{
if (!user_loadable())
@@ -166,10 +172,9 @@ public:
}
uint8_t* get_ram_base() { if (m_cart) return m_cart->get_ram_base(); return nullptr; }
- void save_ram() { if (m_cart && m_cart->get_ram_size()) m_cart->save_ram(); }
+ void save_ram() { if (m_cart && m_cart->get_ram_size()) m_cart->save_ram(); }
protected:
-
const char *m_interface;
const char *m_default_card;
const char *m_extensions;
@@ -183,7 +188,7 @@ protected:
// device type definition
-extern const device_type GENERIC_SOCKET;
+DECLARE_DEVICE_TYPE(GENERIC_SOCKET, generic_slot_device)
/***************************************************************************
@@ -203,4 +208,5 @@ extern const device_type GENERIC_SOCKET;
MCFG_DEVICE_ADD(_tag, GENERIC_SOCKET, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _default, false) \
MCFG_GENERIC_INTERFACE(_dev_intf)
-#endif
+
+#endif // MAME_BUS_GENERIC_SLOT_H
diff --git a/src/devices/bus/hp9845_io/98034.cpp b/src/devices/bus/hp9845_io/98034.cpp
index 3dbae257f9a..c9a2f263259 100644
--- a/src/devices/bus/hp9845_io/98034.cpp
+++ b/src/devices/bus/hp9845_io/98034.cpp
@@ -18,8 +18,9 @@
#include "coreutil.h"
// Debugging
-#define VERBOSE 0
-#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
+//#define VERBOSE 1
+#include "logmacro.h"
+
#define BIT_MASK(n) (1U << (n))
@@ -27,15 +28,15 @@
#define BIT_CLR(w , n) ((w) &= ~BIT_MASK(n))
#define BIT_SET(w , n) ((w) |= BIT_MASK(n))
-hp98034_io_card::hp98034_io_card(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : hp9845_io_card_device(mconfig , HP98034_IO_CARD , "HP98034 card" , tag , owner , clock , "hp98034" , __FILE__),
+hp98034_io_card_device::hp98034_io_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : hp9845_io_card_device(mconfig , HP98034_IO_CARD , tag , owner , clock),
m_cpu(*this , "np"),
m_sw1(*this , "sw1"),
m_ieee488(*this , IEEE488_TAG)
{
}
-hp98034_io_card::~hp98034_io_card()
+hp98034_io_card_device::~hp98034_io_card_device()
{
}
@@ -82,12 +83,12 @@ static INPUT_PORTS_START(hp98034_port)
PORT_DIPSETTING(0x20 , DEF_STR(Off))
INPUT_PORTS_END
-ioport_constructor hp98034_io_card::device_input_ports() const
+ioport_constructor hp98034_io_card_device::device_input_ports() const
{
return INPUT_PORTS_NAME(hp98034_port);
}
-void hp98034_io_card::device_start()
+void hp98034_io_card_device::device_start()
{
save_item(NAME(m_dc));
save_item(NAME(m_idr));
@@ -99,7 +100,7 @@ void hp98034_io_card::device_start()
save_item(NAME(m_data_out));
}
-void hp98034_io_card::device_reset()
+void hp98034_io_card_device::device_reset()
{
hp9845_io_card_device::device_reset();
@@ -113,7 +114,7 @@ void hp98034_io_card::device_reset()
update_dc();
}
-READ16_MEMBER(hp98034_io_card::reg_r)
+READ16_MEMBER(hp98034_io_card_device::reg_r)
{
uint16_t res = m_odr;
@@ -136,11 +137,11 @@ READ16_MEMBER(hp98034_io_card::reg_r)
// (horrible race conditions lurking...)
space.device().execute().yield();
- LOG(("read R%u=%04x\n" , offset + 4 , res));
+ LOG("read R%u=%04x\n" , offset + 4 , res);
return res;
}
-WRITE16_MEMBER(hp98034_io_card::reg_w)
+WRITE16_MEMBER(hp98034_io_card_device::reg_w)
{
m_idr = (uint8_t)data;
@@ -158,19 +159,19 @@ WRITE16_MEMBER(hp98034_io_card::reg_w)
// PPU yields to let NP see FLG=0 immediately
// (horrible race conditions lurking...)
space.device().execute().yield();
- LOG(("write R%u=%04x\n" , offset + 4 , data));
+ LOG("write R%u=%04x\n" , offset + 4 , data);
}
-WRITE8_MEMBER(hp98034_io_card::dc_w)
+WRITE8_MEMBER(hp98034_io_card_device::dc_w)
{
if (data != m_dc) {
- //LOG(("DC=%02x\n" , data));
+ //LOG("DC=%02x\n" , data);
m_dc = data;
update_dc();
}
}
-READ8_MEMBER(hp98034_io_card::dc_r)
+READ8_MEMBER(hp98034_io_card_device::dc_r)
{
uint8_t res;
@@ -184,19 +185,19 @@ READ8_MEMBER(hp98034_io_card::dc_r)
return res;
}
-WRITE8_MEMBER(hp98034_io_card::hpib_data_w)
+WRITE8_MEMBER(hp98034_io_card_device::hpib_data_w)
{
m_data_out = data;
update_data_out();
}
-WRITE8_MEMBER(hp98034_io_card::hpib_ctrl_w)
+WRITE8_MEMBER(hp98034_io_card_device::hpib_ctrl_w)
{
m_ctrl_out = data;
update_ctrl_out();
}
-READ8_MEMBER(hp98034_io_card::hpib_ctrl_r)
+READ8_MEMBER(hp98034_io_card_device::hpib_ctrl_r)
{
uint8_t res = 0;
@@ -228,39 +229,39 @@ READ8_MEMBER(hp98034_io_card::hpib_ctrl_r)
return res;
}
-READ8_MEMBER(hp98034_io_card::hpib_data_r)
+READ8_MEMBER(hp98034_io_card_device::hpib_data_r)
{
return ~m_ieee488->dio_r();
}
-READ8_MEMBER(hp98034_io_card::idr_r)
+READ8_MEMBER(hp98034_io_card_device::idr_r)
{
return m_idr;
}
-WRITE8_MEMBER(hp98034_io_card::odr_w)
+WRITE8_MEMBER(hp98034_io_card_device::odr_w)
{
m_odr = data;
}
-READ8_MEMBER(hp98034_io_card::mode_reg_r)
+READ8_MEMBER(hp98034_io_card_device::mode_reg_r)
{
return m_mode_reg;
}
-WRITE8_MEMBER(hp98034_io_card::mode_reg_clear_w)
+WRITE8_MEMBER(hp98034_io_card_device::mode_reg_clear_w)
{
m_mode_reg = 0xff;
m_force_flg = false;
update_flg();
}
-READ8_MEMBER(hp98034_io_card::switch_r)
+READ8_MEMBER(hp98034_io_card_device::switch_r)
{
return m_sw1->read() | 0xc0;
}
-IRQ_CALLBACK_MEMBER(hp98034_io_card::irq_callback)
+IRQ_CALLBACK_MEMBER(hp98034_io_card_device::irq_callback)
{
int res = 0xff;
@@ -271,12 +272,12 @@ IRQ_CALLBACK_MEMBER(hp98034_io_card::irq_callback)
return res;
}
-WRITE_LINE_MEMBER(hp98034_io_card::ieee488_ctrl_w)
+WRITE_LINE_MEMBER(hp98034_io_card_device::ieee488_ctrl_w)
{
update_clr_hpib();
}
-void hp98034_io_card::update_dc(void)
+void hp98034_io_card_device::update_dc()
{
irq_w(!BIT(m_dc , 0));
sts_w(BIT(m_dc , 4));
@@ -284,17 +285,17 @@ void hp98034_io_card::update_dc(void)
update_clr_hpib();
}
-void hp98034_io_card::update_flg(void)
+void hp98034_io_card_device::update_flg()
{
flg_w(BIT(m_dc , 3) && !m_force_flg);
}
-void hp98034_io_card::update_np_irq(void)
+void hp98034_io_card_device::update_np_irq()
{
m_cpu->set_input_line(0 , (!m_ieee488->ifc_r() || m_clr_hpib) && BIT(m_dc , HP_NANO_IE_DC));
}
-void hp98034_io_card::update_data_out(void)
+void hp98034_io_card_device::update_data_out()
{
if (m_clr_hpib) {
m_data_out = 0;
@@ -302,7 +303,7 @@ void hp98034_io_card::update_data_out(void)
m_ieee488->dio_w(~m_data_out);
}
-void hp98034_io_card::update_ctrl_out(void)
+void hp98034_io_card_device::update_ctrl_out()
{
if (m_clr_hpib) {
m_ieee488->dav_w(1);
@@ -321,13 +322,13 @@ void hp98034_io_card::update_ctrl_out(void)
m_ieee488->ifc_w(!BIT(m_ctrl_out , 3));
}
-void hp98034_io_card::update_clr_hpib(void)
+void hp98034_io_card_device::update_clr_hpib()
{
m_clr_hpib = !m_ieee488->atn_r() && BIT(m_dc , 5);
update_data_out();
update_ctrl_out();
update_np_irq();
- LOG(("clr_hpib %d\n" , m_clr_hpib));
+ LOG("clr_hpib %d\n" , m_clr_hpib);
}
ROM_START(hp98034)
@@ -335,12 +336,12 @@ ROM_START(hp98034)
ROM_LOAD("1816-1242.bin" , 0 , 0x400 , CRC(301a9f5f) SHA1(3d7c1ace38c4d3178fdbf764c044535d9f6ac94f))
ROM_END
-static ADDRESS_MAP_START(np_program_map , AS_PROGRAM , 8 , hp98034_io_card)
+static ADDRESS_MAP_START(np_program_map , AS_PROGRAM , 8 , hp98034_io_card_device)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000 , 0x3ff) AM_ROM AM_REGION("np" , 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(np_io_map , AS_IO , 8 , hp98034_io_card)
+static ADDRESS_MAP_START(np_io_map , AS_IO , 8 , hp98034_io_card_device)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0 , 0) AM_WRITE(hpib_data_w)
AM_RANGE(1 , 1) AM_WRITE(hpib_ctrl_w)
@@ -358,25 +359,25 @@ static MACHINE_CONFIG_FRAGMENT(hp98034)
MCFG_CPU_ADD("np" , HP_NANOPROCESSOR , 2000000)
MCFG_CPU_PROGRAM_MAP(np_program_map)
MCFG_CPU_IO_MAP(np_io_map)
- MCFG_HP_NANO_DC_CHANGED(WRITE8(hp98034_io_card , dc_w))
- MCFG_HP_NANO_READ_DC_CB(READ8(hp98034_io_card , dc_r))
- MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(hp98034_io_card , irq_callback)
+ MCFG_HP_NANO_DC_CHANGED(WRITE8(hp98034_io_card_device , dc_w))
+ MCFG_HP_NANO_READ_DC_CB(READ8(hp98034_io_card_device , dc_r))
+ MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(hp98034_io_card_device , irq_callback)
MCFG_IEEE488_SLOT_ADD("ieee_dev" , 0 , hp_ieee488_devices , nullptr)
MCFG_IEEE488_BUS_ADD()
- MCFG_IEEE488_IFC_CALLBACK(WRITELINE(hp98034_io_card , ieee488_ctrl_w))
- MCFG_IEEE488_ATN_CALLBACK(WRITELINE(hp98034_io_card , ieee488_ctrl_w))
+ MCFG_IEEE488_IFC_CALLBACK(WRITELINE(hp98034_io_card_device , ieee488_ctrl_w))
+ MCFG_IEEE488_ATN_CALLBACK(WRITELINE(hp98034_io_card_device , ieee488_ctrl_w))
MACHINE_CONFIG_END
-const tiny_rom_entry *hp98034_io_card::device_rom_region() const
+const tiny_rom_entry *hp98034_io_card_device::device_rom_region() const
{
return ROM_NAME(hp98034);
}
-machine_config_constructor hp98034_io_card::device_mconfig_additions() const
+machine_config_constructor hp98034_io_card_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME(hp98034);
}
// device type definition
-const device_type HP98034_IO_CARD = device_creator<hp98034_io_card>;
+DEFINE_DEVICE_TYPE(HP98034_IO_CARD, hp98034_io_card_device, "hp98034", "HP98034 card")
diff --git a/src/devices/bus/hp9845_io/98034.h b/src/devices/bus/hp9845_io/98034.h
index bf36dc80380..9d751a29568 100644
--- a/src/devices/bus/hp9845_io/98034.h
+++ b/src/devices/bus/hp9845_io/98034.h
@@ -8,26 +8,24 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_HP9845_IO_98034_H
+#define MAME_BUS_HP9845_IO_98034_H
-#ifndef _98034_H_
-#define _98034_H_
+#pragma once
#include "hp9845_io.h"
#include "cpu/nanoprocessor/nanoprocessor.h"
#include "bus/ieee488/ieee488.h"
-class hp98034_io_card : public hp9845_io_card_device
+class hp98034_io_card_device : public hp9845_io_card_device
{
public:
// construction/destruction
- hp98034_io_card(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~hp98034_io_card();
+ hp98034_io_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~hp98034_io_card_device();
// device-level overrides
virtual ioport_constructor device_input_ports() const override;
- virtual void device_start() override;
- virtual void device_reset() override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -51,6 +49,10 @@ public:
DECLARE_WRITE_LINE_MEMBER(ieee488_ctrl_w);
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
required_device<hp_nanoprocessor_device> m_cpu;
required_ioport m_sw1;
@@ -70,16 +72,16 @@ private:
uint8_t m_ctrl_out;
uint8_t m_data_out;
- void update_dc(void);
- void update_flg(void);
- void update_np_irq(void);
- void update_data_out(void);
- void update_ctrl_out(void);
- void update_clr_hpib(void);
+ void update_dc();
+ void update_flg();
+ void update_np_irq();
+ void update_data_out();
+ void update_ctrl_out();
+ void update_clr_hpib();
};
// device type definition
-extern const device_type HP98034_IO_CARD;
+DECLARE_DEVICE_TYPE(HP98034_IO_CARD, hp98034_io_card_device)
-#endif /* _98034_H_ */
+#endif // MAME_BUS_HP9845_IO_98034_H
diff --git a/src/devices/bus/hp9845_io/98035.cpp b/src/devices/bus/hp9845_io/98035.cpp
index 061d42158a5..74d8639cb45 100644
--- a/src/devices/bus/hp9845_io/98035.cpp
+++ b/src/devices/bus/hp9845_io/98035.cpp
@@ -142,14 +142,14 @@ static const uint8_t dec_2_seven_segs[] = {
0xc8 // 9
};
-hp98035_io_card::hp98035_io_card(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : hp9845_io_card_device(mconfig , HP98035_IO_CARD , "HP98035 card" , tag , owner , clock , "hp98035" , __FILE__),
+hp98035_io_card_device::hp98035_io_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : hp9845_io_card_device(mconfig , HP98035_IO_CARD , tag , owner , clock),
device_rtc_interface(mconfig , *this),
m_cpu(*this , "np")
{
}
-hp98035_io_card::~hp98035_io_card()
+hp98035_io_card_device::~hp98035_io_card_device()
{
}
@@ -157,12 +157,12 @@ static INPUT_PORTS_START(hp98035_port)
MCFG_HP9845_IO_SC(9)
INPUT_PORTS_END
-ioport_constructor hp98035_io_card::device_input_ports() const
+ioport_constructor hp98035_io_card_device::device_input_ports() const
{
return INPUT_PORTS_NAME(hp98035_port);
}
-void hp98035_io_card::device_start()
+void hp98035_io_card_device::device_start()
{
save_item(NAME(m_np_ram));
save_item(NAME(m_ram_addr));
@@ -189,7 +189,7 @@ void hp98035_io_card::device_start()
m_clock_timer = timer_alloc(CLOCK_TMR_ID);
}
-void hp98035_io_card::device_reset()
+void hp98035_io_card_device::device_reset()
{
hp9845_io_card_device::device_reset();
@@ -208,7 +208,7 @@ void hp98035_io_card::device_reset()
half_init();
}
-void hp98035_io_card::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+void hp98035_io_card_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
if (id == MSEC_TMR_ID) {
// On real hw there's a full 4-bit decimal counter, but only the LSB is used to
@@ -255,7 +255,7 @@ void hp98035_io_card::device_timer(emu_timer &timer, device_timer_id id, int par
}
}
-READ16_MEMBER(hp98035_io_card::reg_r)
+READ16_MEMBER(hp98035_io_card_device::reg_r)
{
uint16_t res;
@@ -288,7 +288,7 @@ READ16_MEMBER(hp98035_io_card::reg_r)
return res;
}
-WRITE16_MEMBER(hp98035_io_card::reg_w)
+WRITE16_MEMBER(hp98035_io_card_device::reg_w)
{
bool new_inten;
@@ -318,33 +318,33 @@ WRITE16_MEMBER(hp98035_io_card::reg_w)
LOG(("write R%u=%04x\n" , offset + 4 , data));
}
-WRITE8_MEMBER(hp98035_io_card::ram_addr_w)
+WRITE8_MEMBER(hp98035_io_card_device::ram_addr_w)
{
m_ram_addr = data;
}
-READ8_MEMBER(hp98035_io_card::ram_data_r)
+READ8_MEMBER(hp98035_io_card_device::ram_data_r)
{
return m_np_ram[ m_ram_addr ];
}
-WRITE8_MEMBER(hp98035_io_card::ram_addr_data_w)
+WRITE8_MEMBER(hp98035_io_card_device::ram_addr_data_w)
{
m_ram_addr = data;
m_np_ram[ m_ram_addr ] = m_ram_data_in;
}
-WRITE8_MEMBER(hp98035_io_card::ram_data_w)
+WRITE8_MEMBER(hp98035_io_card_device::ram_data_w)
{
m_ram_data_in = data;
}
-WRITE8_MEMBER(hp98035_io_card::clock_key_w)
+WRITE8_MEMBER(hp98035_io_card_device::clock_key_w)
{
m_clock_keys = data & 7;
}
-READ8_MEMBER(hp98035_io_card::clock_digit_r)
+READ8_MEMBER(hp98035_io_card_device::clock_digit_r)
{
switch (m_clock_mux) {
case 1:
@@ -361,20 +361,20 @@ READ8_MEMBER(hp98035_io_card::clock_digit_r)
}
}
-WRITE8_MEMBER(hp98035_io_card::odr_w)
+WRITE8_MEMBER(hp98035_io_card_device::odr_w)
{
m_odr = data;
set_flg(true);
}
-READ8_MEMBER(hp98035_io_card::idr_r)
+READ8_MEMBER(hp98035_io_card_device::idr_r)
{
set_flg(true);
m_idr_full = false;
return m_idr;
}
-READ8_MEMBER(hp98035_io_card::np_status_r)
+READ8_MEMBER(hp98035_io_card_device::np_status_r)
{
// Bit 2 = 0: use US date format
uint8_t res = 0x03;
@@ -397,13 +397,13 @@ READ8_MEMBER(hp98035_io_card::np_status_r)
return res;
}
-WRITE8_MEMBER(hp98035_io_card::clear_np_irq_w)
+WRITE8_MEMBER(hp98035_io_card_device::clear_np_irq_w)
{
m_np_irq = false;
update_dc();
}
-READ8_MEMBER(hp98035_io_card::clock_mux_r)
+READ8_MEMBER(hp98035_io_card_device::clock_mux_r)
{
// External input lines are always active (bits 7-4)
uint8_t res = 0xf0 | m_clock_mux;
@@ -414,13 +414,13 @@ READ8_MEMBER(hp98035_io_card::clock_mux_r)
return res;
}
-WRITE8_MEMBER(hp98035_io_card::set_irq_w)
+WRITE8_MEMBER(hp98035_io_card_device::set_irq_w)
{
m_irq = true;
update_irq();
}
-READ8_MEMBER(hp98035_io_card::clr_inten_r)
+READ8_MEMBER(hp98035_io_card_device::clr_inten_r)
{
m_intflag = false;
m_inten = false;
@@ -429,14 +429,14 @@ READ8_MEMBER(hp98035_io_card::clr_inten_r)
return 0xff;
}
-WRITE8_MEMBER(hp98035_io_card::clr_inten_w)
+WRITE8_MEMBER(hp98035_io_card_device::clr_inten_w)
{
m_intflag = false;
m_inten = false;
update_irq();
}
-WRITE8_MEMBER(hp98035_io_card::dc_w)
+WRITE8_MEMBER(hp98035_io_card_device::dc_w)
{
if (data != m_dc) {
//LOG(("DC=%02x\n" , data));
@@ -445,7 +445,7 @@ WRITE8_MEMBER(hp98035_io_card::dc_w)
}
}
-void hp98035_io_card::half_init(void)
+void hp98035_io_card_device::half_init()
{
m_inten = false;
m_intflag = false;
@@ -460,13 +460,13 @@ void hp98035_io_card::half_init(void)
regen_clock_image();
}
-void hp98035_io_card::set_flg(bool value)
+void hp98035_io_card_device::set_flg(bool value)
{
m_flg = value;
flg_w(m_flg);
}
-void hp98035_io_card::update_irq(void)
+void hp98035_io_card_device::update_irq()
{
if (!m_inten) {
m_irq = false;
@@ -474,12 +474,12 @@ void hp98035_io_card::update_irq(void)
irq_w(m_inten && m_irq);
}
-void hp98035_io_card::update_dc(void)
+void hp98035_io_card_device::update_dc()
{
m_cpu->set_input_line(0 , m_np_irq && BIT(m_dc , HP_NANO_IE_DC));
}
-void hp98035_io_card::set_lhs_digits(unsigned v)
+void hp98035_io_card_device::set_lhs_digits(unsigned v)
{
if (v < 10) {
m_clock_segh = false;
@@ -490,13 +490,13 @@ void hp98035_io_card::set_lhs_digits(unsigned v)
m_clock_digits[ 2 ] = dec_2_seven_segs[ v ];
}
-void hp98035_io_card::set_rhs_digits(unsigned v)
+void hp98035_io_card_device::set_rhs_digits(unsigned v)
{
m_clock_digits[ 0 ] = dec_2_seven_segs[ v % 10 ];
m_clock_digits[ 1 ] = dec_2_seven_segs[ v / 10 ];
}
-void hp98035_io_card::regen_clock_image(void)
+void hp98035_io_card_device::regen_clock_image()
{
int tmp;
bool pm;
@@ -566,7 +566,7 @@ void hp98035_io_card::regen_clock_image(void)
m_clock_digits[ 1 ] , m_clock_digits[ 0 ]));
}
-void hp98035_io_card::clock_short_press(void)
+void hp98035_io_card_device::clock_short_press()
{
LOG(("Short press:%u\n" , m_clock_keys));
@@ -676,7 +676,7 @@ void hp98035_io_card::clock_short_press(void)
}
}
-void hp98035_io_card::clock_long_press(void)
+void hp98035_io_card_device::clock_long_press()
{
LOG(("Long press:%u\n" , m_clock_keys));
@@ -710,14 +710,14 @@ void hp98035_io_card::clock_long_press(void)
}
}
-void hp98035_io_card::log_current_time(void)
+void hp98035_io_card_device::log_current_time()
{
LOG(("Time = %d:%d:%d:%d:%d\n" , get_clock_register(RTC_MONTH) ,
get_clock_register(RTC_DAY) , get_clock_register(RTC_HOUR) ,
get_clock_register(RTC_MINUTE) , get_clock_register(RTC_SECOND)));
}
-void hp98035_io_card::rtc_clock_updated(int year, int month, int day, int day_of_week, int hour, int minute, int second)
+void hp98035_io_card_device::rtc_clock_updated(int year, int month, int day, int day_of_week, int hour, int minute, int second)
{
// Do nothing, time is kept in "device_rtc_interface" registers
}
@@ -727,12 +727,12 @@ ROM_START(hp98035)
ROM_LOAD("1818-0469.bin" , 0 , 0x800 , CRC(e16ab3bc) SHA1(34e89a37a2822f27af21969941201317dbff615b))
ROM_END
-static ADDRESS_MAP_START(np_program_map , AS_PROGRAM , 8 , hp98035_io_card)
+static ADDRESS_MAP_START(np_program_map , AS_PROGRAM , 8 , hp98035_io_card_device)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000 , 0x7ff) AM_ROM AM_REGION("np" , 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START(np_io_map , AS_IO , 8 , hp98035_io_card)
+static ADDRESS_MAP_START(np_io_map , AS_IO , 8 , hp98035_io_card_device)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0 , 0x0) AM_WRITE(ram_addr_w)
AM_RANGE(0x1 , 0x1) AM_READ(ram_data_r)
@@ -753,18 +753,18 @@ static MACHINE_CONFIG_FRAGMENT(hp98035)
MCFG_CPU_ADD("np" , HP_NANOPROCESSOR , XTAL_1MHz)
MCFG_CPU_PROGRAM_MAP(np_program_map)
MCFG_CPU_IO_MAP(np_io_map)
- MCFG_HP_NANO_DC_CHANGED(WRITE8(hp98035_io_card , dc_w))
+ MCFG_HP_NANO_DC_CHANGED(WRITE8(hp98035_io_card_device , dc_w))
MACHINE_CONFIG_END
-const tiny_rom_entry *hp98035_io_card::device_rom_region() const
+const tiny_rom_entry *hp98035_io_card_device::device_rom_region() const
{
return ROM_NAME(hp98035);
}
-machine_config_constructor hp98035_io_card::device_mconfig_additions() const
+machine_config_constructor hp98035_io_card_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME(hp98035);
}
// device type definition
-const device_type HP98035_IO_CARD = device_creator<hp98035_io_card>;
+DEFINE_DEVICE_TYPE(HP98035_IO_CARD, hp98035_io_card_device, "hp98035", "HP98035 card")
diff --git a/src/devices/bus/hp9845_io/98035.h b/src/devices/bus/hp9845_io/98035.h
index af096b8be93..7bfa8a7db58 100644
--- a/src/devices/bus/hp9845_io/98035.h
+++ b/src/devices/bus/hp9845_io/98035.h
@@ -8,28 +8,24 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_HP_9845_IO_98035_H
+#define MAME_BUS_HP_9845_IO_98035_H
-#ifndef _98035_H_
-#define _98035_H_
+#pragma once
#include "hp9845_io.h"
#include "cpu/nanoprocessor/nanoprocessor.h"
#include "dirtc.h"
-class hp98035_io_card : public hp9845_io_card_device,
- public device_rtc_interface
+class hp98035_io_card_device : public hp9845_io_card_device, public device_rtc_interface
{
public:
// construction/destruction
- hp98035_io_card(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~hp98035_io_card();
+ hp98035_io_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~hp98035_io_card_device();
// device-level overrides
virtual ioport_constructor device_input_ports() const override;
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -55,6 +51,11 @@ public:
DECLARE_WRITE8_MEMBER(dc_w);
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
required_device<hp_nanoprocessor_device> m_cpu;
@@ -102,21 +103,21 @@ private:
uint8_t m_prev_clock_keys;
unsigned m_clock_key_cnt;
- void half_init(void);
+ void half_init();
void set_flg(bool value);
- void update_irq(void);
- void update_dc(void);
+ void update_irq();
+ void update_dc();
void set_lhs_digits(unsigned v);
void set_rhs_digits(unsigned v);
- void regen_clock_image(void);
- void clock_short_press(void);
- void clock_long_press(void);
- void log_current_time(void);
+ void regen_clock_image();
+ void clock_short_press();
+ void clock_long_press();
+ void log_current_time();
virtual void rtc_clock_updated(int year, int month, int day, int day_of_week, int hour, int minute, int second) override;
};
// device type definition
-extern const device_type HP98035_IO_CARD;
+DECLARE_DEVICE_TYPE(HP98035_IO_CARD, hp98035_io_card_device)
-#endif /* _98035_H_ */
+#endif // MAME_BUS_HP_9845_IO_98035_H
diff --git a/src/devices/bus/hp9845_io/hp9845_io.cpp b/src/devices/bus/hp9845_io/hp9845_io.cpp
index fa853d66c52..d270ac89e4b 100644
--- a/src/devices/bus/hp9845_io/hp9845_io.cpp
+++ b/src/devices/bus/hp9845_io/hp9845_io.cpp
@@ -12,13 +12,13 @@
#include "hp9845_io.h"
// device type definition
-const device_type HP9845_IO_SLOT = device_creator<hp9845_io_slot_device>;
+DEFINE_DEVICE_TYPE(HP9845_IO_SLOT, hp9845_io_slot_device, "hp9845_io_slot", "HP9845 I/O Slot")
// +---------------------+
// |hp9845_io_slot_device|
// +---------------------+
hp9845_io_slot_device::hp9845_io_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, HP9845_IO_SLOT, "HP9845 I/O Slot", tag, owner, clock, "hp9845_io_slot", __FILE__),
+ device_t(mconfig, HP9845_IO_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_irq_cb_func(*this),
m_sts_cb_func(*this),
@@ -84,8 +84,8 @@ uint8_t hp9845_io_card_device::get_sc(void)
return m_select_code_port->read() + HP9845_IO_FIRST_SC;
}
-hp9845_io_card_device::hp9845_io_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+hp9845_io_card_device::hp9845_io_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_slot_card_interface(mconfig, *this),
m_slot_dev(nullptr),
m_select_code_port(*this , "SC"),
diff --git a/src/devices/bus/hp9845_io/hp9845_io.h b/src/devices/bus/hp9845_io/hp9845_io.h
index 873a062e4b4..0125f1ca833 100644
--- a/src/devices/bus/hp9845_io/hp9845_io.h
+++ b/src/devices/bus/hp9845_io/hp9845_io.h
@@ -8,10 +8,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_HP9845_IO_HP9845_IO_H
+#define MAME_BUS_HP9845_IO_HP9845_IO_H
-#ifndef _HP9845_IO_H_
-#define _HP9845_IO_H_
+#pragma once
#define MCFG_HP9845_IO_SLOT_ADD(_tag) \
@@ -57,9 +57,9 @@ public:
virtual void device_start() override;
// Callback setups
- template<class _Object> static devcb_base &set_irq_cb_func(device_t &device, _Object object) { return downcast<hp9845_io_slot_device &>(device).m_irq_cb_func.set_callback(object); }
- template<class _Object> static devcb_base &set_sts_cb_func(device_t &device, _Object object) { return downcast<hp9845_io_slot_device &>(device).m_sts_cb_func.set_callback(object); }
- template<class _Object> static devcb_base &set_flg_cb_func(device_t &device, _Object object) { return downcast<hp9845_io_slot_device &>(device).m_flg_cb_func.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_cb_func(device_t &device, Object &&cb) { return downcast<hp9845_io_slot_device &>(device).m_irq_cb_func.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_sts_cb_func(device_t &device, Object &&cb) { return downcast<hp9845_io_slot_device &>(device).m_sts_cb_func.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_flg_cb_func(device_t &device, Object &&cb) { return downcast<hp9845_io_slot_device &>(device).m_flg_cb_func.set_callback(std::forward<Object>(cb)); }
// irq/sts/flg signal handlers
void irq_w(uint8_t sc , int state);
@@ -90,7 +90,7 @@ public:
protected:
// construction/destruction
- hp9845_io_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ hp9845_io_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual ~hp9845_io_card_device();
// device-level overrides
@@ -107,8 +107,8 @@ protected:
};
// device type definition
-extern const device_type HP9845_IO_SLOT;
+DECLARE_DEVICE_TYPE(HP9845_IO_SLOT, hp9845_io_slot_devices)
SLOT_INTERFACE_EXTERN(hp9845_io_slot_devices);
-#endif /* _HP9845_IO_H_ */
+#endif // MAME_BUS_HP9845_IO_HP9845_IO_H
diff --git a/src/devices/bus/hp_hil/hil_devices.h b/src/devices/bus/hp_hil/hil_devices.h
index 23c0d5ed6ee..01b74af07a4 100644
--- a/src/devices/bus/hp_hil/hil_devices.h
+++ b/src/devices/bus/hp_hil/hil_devices.h
@@ -6,8 +6,8 @@
***************************************************************************/
-#ifndef __HP_HIL_DEVICES_H__
-#define __HP_HIL_DEVICES_H__
+#ifndef MAME_BUS_HP_HIL_HIL_DEVICES_H
+#define MAME_BUS_HP_HIL_HIL_DEVICES_H
#define STR_KBD_HP_46020A "hp_46020a" // ITF Keyboard
@@ -22,4 +22,4 @@
SLOT_INTERFACE_EXTERN(hp_hil_devices);
-#endif /* __HP_HIL_DEVICES_H__ */
+#endif // MAME_BUS_HP_HIL_HIL_DEVICES_H
diff --git a/src/devices/bus/hp_hil/hlekbd.cpp b/src/devices/bus/hp_hil/hlekbd.cpp
index 980d373750d..e068e9a0ec5 100644
--- a/src/devices/bus/hp_hil/hlekbd.cpp
+++ b/src/devices/bus/hp_hil/hlekbd.cpp
@@ -9,11 +9,13 @@
DEVICE TYPE GLOBALS
***************************************************************************/
-device_type const HP_IPC_HLE_KEYBOARD = device_creator<bus::hp_hil::hle_hp_ipc_device>;
+DEFINE_DEVICE_TYPE_NS(HP_IPC_HLE_KEYBOARD, bus::hp_hil, hle_hp_ipc_device, "hp_ipc_hle_kbd", "HP Integral Keyboard (HLE)")
namespace bus { namespace hp_hil {
+
namespace {
+
/***************************************************************************
INPUT PORT DEFINITIONS
***************************************************************************/
@@ -228,8 +230,8 @@ INPUT_PORTS_END
designated device constructor
--------------------------------------------------*/
-hle_device_base::hle_device_base(machine_config const &mconfig, device_type type, char const *name, char const *tag, device_t *owner, uint32_t clock, char const *shortname, char const *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+hle_device_base::hle_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_hp_hil_interface(mconfig, *this)
, device_matrix_keyboard_interface(mconfig, *this, "COL1", "COL2", "COL3", "COL4", "COL5", "COL6", "COL7", "COL8", "COL9", "COL10", "COL11", "COL12", "COL13", "COL14", "COL15")
{ }
@@ -394,7 +396,7 @@ void hle_device_base::key_break(uint8_t row, uint8_t column)
--------------------------------------------------*/
hle_hp_ipc_device::hle_hp_ipc_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
- : hle_device_base(mconfig, HP_IPC_HLE_KEYBOARD, "HP Integral Keyboard (HLE)", tag, owner, clock, "hp_ipc_hle_kbd", __FILE__)
+ : hle_device_base(mconfig, HP_IPC_HLE_KEYBOARD, tag, owner, clock)
{ }
diff --git a/src/devices/bus/hp_hil/hlekbd.h b/src/devices/bus/hp_hil/hlekbd.h
index 5b72367f010..3c7f3fdda8c 100644
--- a/src/devices/bus/hp_hil/hlekbd.h
+++ b/src/devices/bus/hp_hil/hlekbd.h
@@ -9,21 +9,19 @@
#include "machine/keyboard.h"
-extern device_type const HP_IPC_HLE_KEYBOARD;
-
-
namespace bus { namespace hp_hil {
+
class hle_device_base
: public device_t
, public device_hp_hil_interface
, protected device_matrix_keyboard_interface<15U>
{
public:
+ virtual ~hle_device_base() override;
protected:
// constructor/destructor
- hle_device_base(machine_config const &mconfig, device_type type, char const *name, char const *tag, device_t *owner, uint32_t clock, char const *shortname, char const *source);
- virtual ~hle_device_base() override;
+ hle_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock);
// device overrides
virtual void device_start() override;
@@ -57,4 +55,7 @@ public:
} } // namespace bus::hp_hil
+
+DECLARE_DEVICE_TYPE_NS(HP_IPC_HLE_KEYBOARD, bus::hp_hil, hle_hp_ipc_device);
+
#endif // MAME_DEVICES_HP_HIL_HLEKBD_H
diff --git a/src/devices/bus/hp_hil/hp_hil.cpp b/src/devices/bus/hp_hil/hp_hil.cpp
index 991cb808667..653e4766842 100644
--- a/src/devices/bus/hp_hil/hp_hil.cpp
+++ b/src/devices/bus/hp_hil/hp_hil.cpp
@@ -28,7 +28,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type HP_HIL_SLOT = device_creator<hp_hil_slot_device>;
+DEFINE_DEVICE_TYPE(HP_HIL_SLOT, hp_hil_slot_device, "hp_hil_slot", "HP-HIL Slot")
//**************************************************************************
// LIVE DEVICE
@@ -38,7 +38,7 @@ const device_type HP_HIL_SLOT = device_creator<hp_hil_slot_device>;
// hp_hil_slot_device - constructor
//-------------------------------------------------
hp_hil_slot_device::hp_hil_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, HP_HIL_SLOT, "HP_HIL_SLOT", tag, owner, clock, "hp_hil_slot", __FILE__)
+ : device_t(mconfig, HP_HIL_SLOT, tag, owner, clock)
, device_slot_interface(mconfig, *this)
{
}
@@ -67,14 +67,14 @@ void hp_hil_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type HP_HIL_MLC = device_creator<hp_hil_mlc_device>;
+DEFINE_DEVICE_TYPE(HP_HIL_MLC, hp_hil_mlc_device, "hp_hil_mlc", "HP-HIL Master Link Controller")
//-------------------------------------------------
// hp_hil_mlc_device - constructor
//-------------------------------------------------
hp_hil_mlc_device::hp_hil_mlc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, HP_HIL_MLC, "HP-HIL Master Link Controller", tag, owner, clock, "hp_hil", __FILE__)
+ : device_t(mconfig, HP_HIL_MLC, tag, owner, clock)
, int_cb(*this)
, nmi_cb(*this)
{
diff --git a/src/devices/bus/hp_hil/hp_hil.h b/src/devices/bus/hp_hil/hp_hil.h
index 7b805f1528f..178f512e350 100644
--- a/src/devices/bus/hp_hil/hp_hil.h
+++ b/src/devices/bus/hp_hil/hp_hil.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_HP_HIL_HP_HIL_H
+#define MAME_BUS_HP_HIL_HP_HIL_H
-#ifndef __HP_HIL_H__
-#define __HP_HIL_H__
+#pragma once
#include "emu.h"
@@ -97,8 +97,7 @@
//**************************************************************************
-class hp_hil_slot_device : public device_t,
- public device_slot_interface
+class hp_hil_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
@@ -118,7 +117,7 @@ protected:
// device type definition
-extern const device_type HP_HIL_SLOT;
+DECLARE_DEVICE_TYPE(HP_HIL_SLOT, hp_hil_slot_device)
class device_hp_hil_interface;
@@ -130,8 +129,8 @@ public:
hp_hil_mlc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~hp_hil_mlc_device() { m_device_list.detach_all(); }
- template<class _Object> static devcb_base &set_int_callback(device_t &device, _Object object) { return downcast<hp_hil_mlc_device &>(device).int_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_nmi_callback(device_t &device, _Object object) { return downcast<hp_hil_mlc_device &>(device).nmi_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_int_callback(device_t &device, Object &&cb) { return downcast<hp_hil_mlc_device &>(device).int_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_nmi_callback(device_t &device, Object &&cb) { return downcast<hp_hil_mlc_device &>(device).nmi_cb.set_callback(std::forward<Object>(cb)); }
void add_hp_hil_device(device_hp_hil_interface *device);
@@ -157,7 +156,7 @@ private:
// device type definition
-extern const device_type HP_HIL_MLC;
+DECLARE_DEVICE_TYPE(HP_HIL_MLC, hp_hil_mlc_device)
// ======================> device_hp_hil_interface
@@ -165,10 +164,10 @@ extern const device_type HP_HIL_MLC;
class device_hp_hil_interface : public device_slot_card_interface
{
friend class hp_hil_mlc_device;
+ template <class ElementType> friend class simple_list;
public:
// construction/destruction
- device_hp_hil_interface(const machine_config &mconfig, device_t &device);
virtual ~device_hp_hil_interface();
device_hp_hil_interface *next() const { return m_next; }
@@ -181,20 +180,24 @@ public:
virtual void hil_write(uint16_t data) { };
int device_id() { return m_device_id; };
- hp_hil_mlc_device *m_hp_hil_mlc;
- device_t *m_hp_hil_mlc_dev;
- device_hp_hil_interface *m_next;
-
protected:
+ device_hp_hil_interface(const machine_config &mconfig, device_t &device);
+
virtual void device_reset() { }
+ hp_hil_mlc_device *m_hp_hil_mlc;
+ device_t *m_hp_hil_mlc_dev;
+
hp_hil_slot_device *m_slot;
int m_device_id;
uint16_t m_device_id16;
bool m_powerup;
bool m_passthru;
+
+private:
+ device_hp_hil_interface *m_next;
};
-#endif /* __HP_HIL_H__ */
+#endif // MAME_BUS_HP_HIL_HP_HIL_H
diff --git a/src/devices/bus/hp_optroms/hp_optrom.cpp b/src/devices/bus/hp_optroms/hp_optrom.cpp
index 0887367f3b3..389293e7fea 100644
--- a/src/devices/bus/hp_optroms/hp_optrom.cpp
+++ b/src/devices/bus/hp_optroms/hp_optrom.cpp
@@ -13,21 +13,20 @@
#include "softlist.h"
#include "cpu/hphybrid/hphybrid.h"
-const device_type HP_OPTROM_CART = device_creator<hp_optrom_cart_device>;
-const device_type HP_OPTROM_SLOT = device_creator<hp_optrom_slot_device>;
+DEFINE_DEVICE_TYPE(HP_OPTROM_CART, hp_optrom_cart_device, "hp_optrom_cart", "HP9845 optional ROM cartridge")
+DEFINE_DEVICE_TYPE(HP_OPTROM_SLOT, hp_optrom_slot_device, "hp_optrom_slot", "HP9845 optional ROM slot")
// +---------------------+
// |hp_optrom_cart_device|
// +---------------------+
-hp_optrom_cart_device::hp_optrom_cart_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+hp_optrom_cart_device::hp_optrom_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_slot_card_interface(mconfig, *this)
{
}
hp_optrom_cart_device::hp_optrom_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, HP_OPTROM_CART, "HP9845 optional ROM cartridge", tag, owner, clock, "hp_optrom_cart", __FILE__),
- device_slot_card_interface(mconfig, *this)
+ hp_optrom_cart_device(mconfig, HP_OPTROM_CART, tag, owner, clock)
{
}
@@ -35,7 +34,7 @@ hp_optrom_cart_device::hp_optrom_cart_device(const machine_config &mconfig, cons
// |hp_optrom_slot_device|
// +---------------------+
hp_optrom_slot_device::hp_optrom_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, HP_OPTROM_SLOT, "HP9845 optional ROM Slot", tag, owner, clock, "hp_optrom_slot", __FILE__),
+ device_t(mconfig, HP_OPTROM_SLOT, tag, owner, clock),
device_image_interface(mconfig, *this),
device_slot_interface(mconfig, *this),
m_cart(nullptr),
diff --git a/src/devices/bus/hp_optroms/hp_optrom.h b/src/devices/bus/hp_optroms/hp_optrom.h
index 13a550c202d..dfc43021035 100644
--- a/src/devices/bus/hp_optroms/hp_optrom.h
+++ b/src/devices/bus/hp_optroms/hp_optrom.h
@@ -8,10 +8,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_HP_OPTROMS_HP_OPTROM_H
+#define MAME_BUS_HP_OPTROMS_HP_OPTROM_H
-#ifndef _HP_OPTROM_H_
-#define _HP_OPTROM_H_
+#pragma once
#include "softlist_dev.h"
@@ -20,12 +20,14 @@ class hp_optrom_cart_device : public device_t,
public device_slot_card_interface
{
public:
- // construction/destruction
- hp_optrom_cart_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- hp_optrom_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ hp_optrom_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ hp_optrom_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
+ // device-level overrides
+ virtual void device_start() override { }
};
class hp_optrom_slot_device : public device_t,
@@ -34,40 +36,40 @@ class hp_optrom_slot_device : public device_t,
{
public:
// construction/destruction
- hp_optrom_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~hp_optrom_slot_device();
-
- // device-level overrides
- virtual void device_start() override;
-
- // image-level overrides
- virtual image_init_result call_load() override;
- virtual void call_unload() override;
- virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
-
- virtual iodevice_t image_type() const override { return IO_ROM; }
- virtual bool is_readable() const override { return true; }
- virtual bool is_writeable() const override { return false; }
- virtual bool is_creatable() const override { return false; }
- virtual bool must_be_loaded() const override { return false; }
- virtual bool is_reset_on_load() const override { return true; }
- virtual const char *image_interface() const override { return "hp9845b_rom"; }
- virtual const char *file_extensions() const override { return "bin"; }
-
- // slot interface overrides
- virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
+ hp_optrom_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~hp_optrom_slot_device();
protected:
- hp_optrom_cart_device *m_cart;
- std::vector<uint8_t> m_content;
- offs_t m_base_addr;
- offs_t m_end_addr;
+ // device-level overrides
+ virtual void device_start() override;
+
+ // image-level overrides
+ virtual image_init_result call_load() override;
+ virtual void call_unload() override;
+ virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
+
+ virtual iodevice_t image_type() const override { return IO_ROM; }
+ virtual bool is_readable() const override { return true; }
+ virtual bool is_writeable() const override { return false; }
+ virtual bool is_creatable() const override { return false; }
+ virtual bool must_be_loaded() const override { return false; }
+ virtual bool is_reset_on_load() const override { return true; }
+ virtual const char *image_interface() const override { return "hp9845b_rom"; }
+ virtual const char *file_extensions() const override { return "bin"; }
+
+ // slot interface overrides
+ virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
+
+ hp_optrom_cart_device *m_cart;
+ std::vector<uint8_t> m_content;
+ offs_t m_base_addr;
+ offs_t m_end_addr;
};
// device type definition
-extern const device_type HP_OPTROM_SLOT;
-extern const device_type HP_OPTROM_CART;
+DECLARE_DEVICE_TYPE(HP_OPTROM_SLOT, hp_optrom_slot_device)
+DECLARE_DEVICE_TYPE(HP_OPTROM_CART, hp_optrom_cart_device)
SLOT_INTERFACE_EXTERN(hp_optrom_slot_device);
-#endif /* _HP_OPTROM_H_ */
+#endif // MAME_BUS_HP_OPTROMS_HP_OPTROM_H
diff --git a/src/devices/bus/ieee488/c2031.cpp b/src/devices/bus/ieee488/c2031.cpp
index b23fb0c02d1..f068a5f29f3 100644
--- a/src/devices/bus/ieee488/c2031.cpp
+++ b/src/devices/bus/ieee488/c2031.cpp
@@ -33,7 +33,7 @@ enum
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C2031 = device_creator<c2031_device>;
+DEFINE_DEVICE_TYPE(C2031, c2031_device, "c2031", "Commodore 2031")
//-------------------------------------------------
@@ -399,19 +399,20 @@ inline int c2031_device::get_device_number()
//-------------------------------------------------
c2031_device::c2031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, C2031, "C2031", tag, owner, clock, "c2031", __FILE__),
- device_ieee488_interface(mconfig, *this),
- m_maincpu(*this, M6502_TAG),
- m_via0(*this, M6522_0_TAG),
- m_via1(*this, M6522_1_TAG),
- m_ga(*this, C64H156_TAG),
- m_floppy(*this, C64H156_TAG":0:525ssqd"),
- m_address(*this, "ADDRESS"),
- m_nrfd_out(1),
- m_ndac_out(1),
- m_atna(1), m_ifc(0),
- m_via0_irq(0),
- m_via1_irq(0)
+ : device_t(mconfig, C2031, tag, owner, clock)
+ , device_ieee488_interface(mconfig, *this)
+ , m_maincpu(*this, M6502_TAG)
+ , m_via0(*this, M6522_0_TAG)
+ , m_via1(*this, M6522_1_TAG)
+ , m_ga(*this, C64H156_TAG)
+ , m_floppy(*this, C64H156_TAG":0:525ssqd")
+ , m_address(*this, "ADDRESS")
+ , m_nrfd_out(1)
+ , m_ndac_out(1)
+ , m_atna(1)
+ , m_ifc(0)
+ , m_via0_irq(0)
+ , m_via1_irq(0)
{
}
diff --git a/src/devices/bus/ieee488/c2031.h b/src/devices/bus/ieee488/c2031.h
index 1b7212e0581..38b102d381a 100644
--- a/src/devices/bus/ieee488/c2031.h
+++ b/src/devices/bus/ieee488/c2031.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_C2031_H
+#define MAME_BUS_IEEE488_C2031_H
-#ifndef __C2031__
-#define __C2031__
+#pragma once
#include "ieee488.h"
#include "cpu/m6502/m6502.h"
@@ -79,8 +79,7 @@ protected:
// device type definition
-extern const device_type C2031;
-
+DECLARE_DEVICE_TYPE(C2031, c2031_device)
-#endif
+#endif // MAME_BUS_IEEE488_C2031_H
diff --git a/src/devices/bus/ieee488/c2040.cpp b/src/devices/bus/ieee488/c2040.cpp
index f16ba22261a..35bba2028c7 100644
--- a/src/devices/bus/ieee488/c2040.cpp
+++ b/src/devices/bus/ieee488/c2040.cpp
@@ -70,9 +70,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C2040 = device_creator<c2040_t>;
-const device_type C3040 = device_creator<c3040_t>;
-const device_type C4040 = device_creator<c4040_t>;
+DEFINE_DEVICE_TYPE(C2040, c2040_device, "c2040", "Commodore 2040")
+DEFINE_DEVICE_TYPE(C3040, c3040_device, "c3040", "Commodore 3040")
+DEFINE_DEVICE_TYPE(C4040, c4040_device, "c4040", "Commodore 4040")
//-------------------------------------------------
@@ -97,7 +97,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c2040_t::device_rom_region() const
+const tiny_rom_entry *c2040_device::device_rom_region() const
{
return ROM_NAME( c2040 );
}
@@ -124,7 +124,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c3040_t::device_rom_region() const
+const tiny_rom_entry *c3040_device::device_rom_region() const
{
return ROM_NAME( c3040 );
}
@@ -159,7 +159,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c4040_t::device_rom_region() const
+const tiny_rom_entry *c4040_device::device_rom_region() const
{
return ROM_NAME( c4040 );
}
@@ -169,12 +169,12 @@ const tiny_rom_entry *c4040_t::device_rom_region() const
// ADDRESS_MAP( c2040_main_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c2040_main_mem, AS_PROGRAM, 8, c2040_t )
+static ADDRESS_MAP_START( c2040_main_mem, AS_PROGRAM, 8, c2040_device )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0100) AM_DEVICE(M6532_0_TAG, mos6532_t, ram_map)
- AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0100) AM_DEVICE(M6532_1_TAG, mos6532_t, ram_map)
- AM_RANGE(0x0200, 0x021f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_0_TAG, mos6532_t, io_map)
- AM_RANGE(0x0280, 0x029f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_1_TAG, mos6532_t, io_map)
+ AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0100) AM_DEVICE(M6532_0_TAG, mos6532_new_device, ram_map)
+ AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0100) AM_DEVICE(M6532_1_TAG, mos6532_new_device, ram_map)
+ AM_RANGE(0x0200, 0x021f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_0_TAG, mos6532_new_device, io_map)
+ AM_RANGE(0x0280, 0x029f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_1_TAG, mos6532_new_device, io_map)
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share2")
AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share3")
@@ -187,11 +187,11 @@ ADDRESS_MAP_END
// ADDRESS_MAP( c2040_fdc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c2040_fdc_mem, AS_PROGRAM, 8, c2040_t )
+static ADDRESS_MAP_START( c2040_fdc_mem, AS_PROGRAM, 8, c2040_device )
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
- AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_t, ram_map)
+ AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_new_device, ram_map)
AM_RANGE(0x0040, 0x004f) AM_MIRROR(0x0330) AM_DEVICE(M6522_TAG, via6522_device, map)
- AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_t, io_map)
+ AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_new_device, io_map)
AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("share2")
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_SHARE("share3")
@@ -204,7 +204,7 @@ ADDRESS_MAP_END
// riot6532 uc1
//-------------------------------------------------
-READ8_MEMBER( c2040_t::dio_r )
+READ8_MEMBER( c2040_device::dio_r )
{
/*
@@ -224,7 +224,7 @@ READ8_MEMBER( c2040_t::dio_r )
return m_bus->dio_r();
}
-WRITE8_MEMBER( c2040_t::dio_w )
+WRITE8_MEMBER( c2040_device::dio_w )
{
/*
@@ -249,7 +249,7 @@ WRITE8_MEMBER( c2040_t::dio_w )
// riot6532 ue1
//-------------------------------------------------
-READ8_MEMBER( c2040_t::riot1_pa_r )
+READ8_MEMBER( c2040_device::riot1_pa_r )
{
/*
@@ -280,7 +280,7 @@ READ8_MEMBER( c2040_t::riot1_pa_r )
return data;
}
-WRITE8_MEMBER( c2040_t::riot1_pa_w )
+WRITE8_MEMBER( c2040_device::riot1_pa_w )
{
/*
@@ -315,7 +315,7 @@ WRITE8_MEMBER( c2040_t::riot1_pa_w )
update_ieee_signals();
}
-READ8_MEMBER( c2040_t::riot1_pb_r )
+READ8_MEMBER( c2040_device::riot1_pb_r )
{
/*
@@ -346,7 +346,7 @@ READ8_MEMBER( c2040_t::riot1_pb_r )
return data;
}
-WRITE8_MEMBER( c2040_t::riot1_pb_w )
+WRITE8_MEMBER( c2040_device::riot1_pb_w )
{
/*
@@ -374,7 +374,7 @@ WRITE8_MEMBER( c2040_t::riot1_pb_w )
}
-WRITE8_MEMBER( c2040_t::via_pb_w )
+WRITE8_MEMBER( c2040_device::via_pb_w )
{
/*
@@ -418,7 +418,7 @@ SLOT_INTERFACE_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c2040_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c2040_device::floppy_formats )
FLOPPY_C3040_FORMAT,
FLOPPY_G64_FORMAT
FLOPPY_FORMATS_END
@@ -428,7 +428,7 @@ FLOPPY_FORMATS_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c3040_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c3040_device::floppy_formats )
FLOPPY_C3040_FORMAT,
FLOPPY_G64_FORMAT
FLOPPY_FORMATS_END
@@ -438,7 +438,7 @@ FLOPPY_FORMATS_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c4040_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c4040_device::floppy_formats )
FLOPPY_C4040_FORMAT,
FLOPPY_G64_FORMAT
FLOPPY_FORMATS_END
@@ -453,15 +453,15 @@ static MACHINE_CONFIG_FRAGMENT( c2040 )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c2040_main_mem)
- MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_16MHz/16)
- MCFG_MOS6530n_IN_PA_CB(READ8(c2040_t, dio_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_t, dio_w))
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL_16MHz/16)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c2040_device, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_device, dio_w))
- MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_16MHz/16)
- MCFG_MOS6530n_IN_PA_CB(READ8(c2040_t, riot1_pa_r))
- MCFG_MOS6530n_OUT_PA_CB(WRITE8(c2040_t, riot1_pa_w))
- MCFG_MOS6530n_IN_PB_CB(READ8(c2040_t, riot1_pb_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_t, riot1_pb_w))
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL_16MHz/16)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c2040_device, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(c2040_device, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(c2040_device, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_device, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
// controller
@@ -469,25 +469,25 @@ static MACHINE_CONFIG_FRAGMENT( c2040 )
MCFG_CPU_PROGRAM_MAP(c2040_fdc_mem)
MCFG_DEVICE_ADD(M6522_TAG, VIA6522, XTAL_16MHz/16)
- MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c2040_fdc_t, read))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c2040_t, via_pb_w))
- MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_t, mode_sel_w))
- MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_t, rw_sel_w))
-
- MCFG_DEVICE_ADD(M6530_TAG, MOS6530n, XTAL_16MHz/16)
- MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c2040_fdc_t, write))
- MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_t, drv_sel_w))
- MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_t, ds0_w))
- MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_t, ds1_w))
+ MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c2040_fdc_device, read))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c2040_device, via_pb_w))
+ MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_device, mode_sel_w))
+ MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_device, rw_sel_w))
+
+ MCFG_DEVICE_ADD(M6530_TAG, MOS6530_NEW, XTAL_16MHz/16)
+ MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c2040_fdc_device, write))
+ MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_device, drv_sel_w))
+ MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_device, ds0_w))
+ MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_device, ds1_w))
MCFG_MOS6530n_OUT_PB7_CB(INPUTLINE(M6504_TAG, M6502_IRQ_LINE))
- MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c2040_fdc_t, wps_r))
+ MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c2040_fdc_device, wps_r))
MCFG_DEVICE_ADD(FDC_TAG, C2040_FDC, XTAL_16MHz)
- MCFG_C2040_SYNC_CALLBACK(DEVWRITELINE(M6530_TAG, mos6530_t, pb6_w))
+ MCFG_C2040_SYNC_CALLBACK(DEVWRITELINE(M6530_TAG, mos6530_new_device, pb6_w))
MCFG_C2040_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1))
MCFG_C2040_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1))
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", c2040_floppies, "525ssqd", c2040_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", c2040_floppies, "525ssqd", c2040_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", c2040_floppies, "525ssqd", c2040_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", c2040_floppies, "525ssqd", c2040_device::floppy_formats)
MACHINE_CONFIG_END
@@ -496,7 +496,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c2040_t::device_mconfig_additions() const
+machine_config_constructor c2040_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c2040 );
}
@@ -511,15 +511,15 @@ static MACHINE_CONFIG_FRAGMENT( c3040 )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c2040_main_mem)
- MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_16MHz/16)
- MCFG_MOS6530n_IN_PA_CB(READ8(c2040_t, dio_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_t, dio_w))
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL_16MHz/16)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c2040_device, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_device, dio_w))
- MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_16MHz/16)
- MCFG_MOS6530n_IN_PA_CB(READ8(c2040_t, riot1_pa_r))
- MCFG_MOS6530n_OUT_PA_CB(WRITE8(c2040_t, riot1_pa_w))
- MCFG_MOS6530n_IN_PB_CB(READ8(c2040_t, riot1_pb_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_t, riot1_pb_w))
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL_16MHz/16)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c2040_device, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(c2040_device, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(c2040_device, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_device, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
// controller
@@ -527,25 +527,25 @@ static MACHINE_CONFIG_FRAGMENT( c3040 )
MCFG_CPU_PROGRAM_MAP(c2040_fdc_mem)
MCFG_DEVICE_ADD(M6522_TAG, VIA6522, XTAL_16MHz/16)
- MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c2040_fdc_t, read))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c2040_t, via_pb_w))
- MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_t, mode_sel_w))
- MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_t, rw_sel_w))
-
- MCFG_DEVICE_ADD(M6530_TAG, MOS6530n, XTAL_16MHz/16)
- MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c2040_fdc_t, write))
- MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_t, drv_sel_w))
- MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_t, ds0_w))
- MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_t, ds1_w))
- MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c2040_fdc_t, wps_r))
+ MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c2040_fdc_device, read))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c2040_device, via_pb_w))
+ MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_device, mode_sel_w))
+ MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_device, rw_sel_w))
+
+ MCFG_DEVICE_ADD(M6530_TAG, MOS6530_NEW, XTAL_16MHz/16)
+ MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c2040_fdc_device, write))
+ MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_device, drv_sel_w))
+ MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_device, ds0_w))
+ MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_device, ds1_w))
+ MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c2040_fdc_device, wps_r))
MCFG_MOS6530n_OUT_PB7_CB(INPUTLINE(M6504_TAG, M6502_IRQ_LINE))
MCFG_DEVICE_ADD(FDC_TAG, C2040_FDC, XTAL_16MHz)
- MCFG_C2040_SYNC_CALLBACK(DEVWRITELINE(M6530_TAG, mos6530_t, pb6_w))
+ MCFG_C2040_SYNC_CALLBACK(DEVWRITELINE(M6530_TAG, mos6530_new_device, pb6_w))
MCFG_C2040_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1))
MCFG_C2040_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1))
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", c2040_floppies, "525ssqd", c3040_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", c2040_floppies, "525ssqd", c3040_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", c2040_floppies, "525ssqd", c3040_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", c2040_floppies, "525ssqd", c3040_device::floppy_formats)
MACHINE_CONFIG_END
@@ -554,7 +554,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c3040_t::device_mconfig_additions() const
+machine_config_constructor c3040_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c3040 );
}
@@ -569,15 +569,15 @@ static MACHINE_CONFIG_FRAGMENT( c4040 )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c2040_main_mem)
- MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_16MHz/16)
- MCFG_MOS6530n_IN_PA_CB(READ8(c2040_t, dio_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_t, dio_w))
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL_16MHz/16)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c2040_device, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_device, dio_w))
- MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_16MHz/16)
- MCFG_MOS6530n_IN_PA_CB(READ8(c2040_t, riot1_pa_r))
- MCFG_MOS6530n_OUT_PA_CB(WRITE8(c2040_t, riot1_pa_w))
- MCFG_MOS6530n_IN_PB_CB(READ8(c2040_t, riot1_pb_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_t, riot1_pb_w))
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL_16MHz/16)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c2040_device, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(c2040_device, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(c2040_device, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c2040_device, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
// controller
@@ -585,25 +585,25 @@ static MACHINE_CONFIG_FRAGMENT( c4040 )
MCFG_CPU_PROGRAM_MAP(c2040_fdc_mem)
MCFG_DEVICE_ADD(M6522_TAG, VIA6522, XTAL_16MHz/16)
- MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c2040_fdc_t, read))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c2040_t, via_pb_w))
- MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_t, mode_sel_w))
- MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_t, rw_sel_w))
-
- MCFG_DEVICE_ADD(M6530_TAG, MOS6530n, XTAL_16MHz/16)
- MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c2040_fdc_t, write))
- MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_t, drv_sel_w))
- MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_t, ds0_w))
- MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_t, ds1_w))
- MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c2040_fdc_t, wps_r))
+ MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c2040_fdc_device, read))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c2040_device, via_pb_w))
+ MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_device, mode_sel_w))
+ MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c2040_fdc_device, rw_sel_w))
+
+ MCFG_DEVICE_ADD(M6530_TAG, MOS6530_NEW, XTAL_16MHz/16)
+ MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c2040_fdc_device, write))
+ MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_device, drv_sel_w))
+ MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_device, ds0_w))
+ MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c2040_fdc_device, ds1_w))
+ MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c2040_fdc_device, wps_r))
MCFG_MOS6530n_OUT_PB7_CB(INPUTLINE(M6504_TAG, M6502_IRQ_LINE))
MCFG_DEVICE_ADD(FDC_TAG, C2040_FDC, XTAL_16MHz)
- MCFG_C2040_SYNC_CALLBACK(DEVWRITELINE(M6530_TAG, mos6530_t, pb6_w))
+ MCFG_C2040_SYNC_CALLBACK(DEVWRITELINE(M6530_TAG, mos6530_new_device, pb6_w))
MCFG_C2040_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1))
MCFG_C2040_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1))
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", c2040_floppies, "525ssqd", c4040_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", c2040_floppies, "525ssqd", c4040_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", c2040_floppies, "525ssqd", c4040_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":1", c2040_floppies, "525ssqd", c4040_device::floppy_formats)
MACHINE_CONFIG_END
@@ -612,7 +612,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c4040_t::device_mconfig_additions() const
+machine_config_constructor c4040_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c4040 );
}
@@ -640,7 +640,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor c2040_t::device_input_ports() const
+ioport_constructor c2040_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c2040 );
}
@@ -655,7 +655,7 @@ ioport_constructor c2040_t::device_input_ports() const
// update_ieee_signals -
//-------------------------------------------------
-inline void c2040_t::update_ieee_signals()
+inline void c2040_device::update_ieee_signals()
{
int atn = m_bus->atn_r();
int nrfd = !(!(!(atn && m_atna) && m_rfdo) || !(atn || m_atna));
@@ -672,11 +672,11 @@ inline void c2040_t::update_ieee_signals()
//**************************************************************************
//-------------------------------------------------
-// c2040_t - constructor
+// c2040_device - constructor
//-------------------------------------------------
-c2040_t::c2040_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+c2040_device::c2040_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_ieee488_interface(mconfig, *this),
m_maincpu(*this, M6502_TAG),
m_fdccpu(*this, M6504_TAG),
@@ -691,52 +691,42 @@ c2040_t::c2040_t(const machine_config &mconfig, device_type type, const char *na
m_address(*this, "ADDRESS"),
m_rfdo(1),
m_daco(1),
- m_atna(1), m_ifc(0)
+ m_atna(1),
+ m_ifc(0)
{
}
-c2040_t::c2040_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C2040, "C2040", tag, owner, clock, "c2040", __FILE__),
- device_ieee488_interface(mconfig, *this),
- m_maincpu(*this, M6502_TAG),
- m_fdccpu(*this, M6504_TAG),
- m_riot0(*this, M6532_0_TAG),
- m_riot1(*this, M6532_1_TAG),
- m_miot(*this, M6530_TAG),
- m_via(*this, M6522_TAG),
- m_floppy0(*this, FDC_TAG":0:525ssqd"),
- m_floppy1(*this, FDC_TAG":1:525ssqd"),
- m_fdc(*this, FDC_TAG),
- m_gcr(*this, "gcr"),
- m_address(*this, "ADDRESS"),
- m_rfdo(1),
- m_daco(1),
- m_atna(1), m_ifc(0)
+c2040_device::c2040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ c2040_device(mconfig, C2040, tag, owner, clock)
{
}
//-------------------------------------------------
-// c3040_t - constructor
+// c3040_device - constructor
//-------------------------------------------------
-c3040_t::c3040_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- c2040_t(mconfig, C3040, "C3040", tag, owner, clock, "c3040", __FILE__) { }
+c3040_device::c3040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ c2040_device(mconfig, C3040, tag, owner, clock)
+{
+}
//-------------------------------------------------
-// c4040_t - constructor
+// c4040_device - constructor
//-------------------------------------------------
-c4040_t::c4040_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- c2040_t(mconfig, C4040, "C4040", tag, owner, clock, "c4040", __FILE__) { }
+c4040_device::c4040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ c2040_device(mconfig, C4040, tag, owner, clock)
+{
+}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
-void c2040_t::device_start()
+void c2040_device::device_start()
{
// install image callbacks
m_fdc->set_floppy(m_floppy0, m_floppy1);
@@ -753,7 +743,7 @@ void c2040_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void c2040_t::device_reset()
+void c2040_device::device_reset()
{
m_maincpu->reset();
@@ -780,7 +770,7 @@ void c2040_t::device_reset()
// ieee488_atn -
//-------------------------------------------------
-void c2040_t::ieee488_atn(int state)
+void c2040_device::ieee488_atn(int state)
{
update_ieee_signals();
@@ -792,7 +782,7 @@ void c2040_t::ieee488_atn(int state)
// ieee488_ifc -
//-------------------------------------------------
-void c2040_t::ieee488_ifc(int state)
+void c2040_device::ieee488_ifc(int state)
{
if (!m_ifc && state)
{
diff --git a/src/devices/bus/ieee488/c2040.h b/src/devices/bus/ieee488/c2040.h
index d56da37ea9b..7289c99c43e 100644
--- a/src/devices/bus/ieee488/c2040.h
+++ b/src/devices/bus/ieee488/c2040.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_C2040_H
+#define MAME_BUS_IEEE488_C2040_H
-#ifndef __C2040__
-#define __C2040__
+#pragma once
#include "ieee488.h"
#include "c2040fdc.h"
@@ -24,15 +24,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c2040_t
+// ======================> c2040_device
-class c2040_t : public device_t,
- public device_ieee488_interface
+class c2040_device : public device_t, public device_ieee488_interface
{
public:
// construction/destruction
- c2040_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- c2040_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c2040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -50,6 +48,8 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
+ c2040_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -70,13 +70,13 @@ protected:
required_device<m6502_device> m_maincpu;
required_device<m6504_device> m_fdccpu;
- required_device<mos6532_t> m_riot0;
- required_device<mos6532_t> m_riot1;
- required_device<mos6530_t> m_miot;
+ required_device<mos6532_new_device> m_riot0;
+ required_device<mos6532_new_device> m_riot1;
+ required_device<mos6530_new_device> m_miot;
required_device<via6522_device> m_via;
required_device<floppy_image_device> m_floppy0;
optional_device<floppy_image_device> m_floppy1;
- required_device<c2040_fdc_t> m_fdc;
+ required_device<c2040_fdc_device> m_fdc;
required_memory_region m_gcr;
required_ioport m_address;
@@ -88,13 +88,13 @@ protected:
};
-// ======================> c3040_t
+// ======================> c3040_device
-class c3040_t : public c2040_t
+class c3040_device : public c2040_device
{
public:
// construction/destruction
- c3040_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c3040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -104,13 +104,13 @@ public:
};
-// ======================> c4040_t
+// ======================> c4040_device
-class c4040_t : public c2040_t
+class c4040_device : public c2040_device
{
public:
// construction/destruction
- c4040_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c4040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -121,10 +121,9 @@ public:
// device type definition
-extern const device_type C2040;
-extern const device_type C3040;
-extern const device_type C4040;
-
+DECLARE_DEVICE_TYPE(C2040, c2040_device)
+DECLARE_DEVICE_TYPE(C3040, c3040_device)
+DECLARE_DEVICE_TYPE(C4040, c4040_device)
-#endif
+#endif // MAME_BUS_IEEE488_C2040_H
diff --git a/src/devices/bus/ieee488/c2040fdc.cpp b/src/devices/bus/ieee488/c2040fdc.cpp
index 7256457371f..7d99eb780cf 100644
--- a/src/devices/bus/ieee488/c2040fdc.cpp
+++ b/src/devices/bus/ieee488/c2040fdc.cpp
@@ -38,7 +38,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C2040_FDC = device_creator<c2040_fdc_t>;
+DEFINE_DEVICE_TYPE(C2040_FDC, c2040_fdc_device, "c2040_fdc", "Commodore 2040 FDC")
//-------------------------------------------------
@@ -55,7 +55,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c2040_fdc_t::device_rom_region() const
+const tiny_rom_entry *c2040_fdc_device::device_rom_region() const
{
return ROM_NAME( c2040_fdc );
}
@@ -67,11 +67,11 @@ const tiny_rom_entry *c2040_fdc_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// c2040_fdc_t - constructor
+// c2040_fdc_device - constructor
//-------------------------------------------------
-c2040_fdc_t::c2040_fdc_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C2040_FDC, "C2040 FDC", tag, owner, clock, "c2040fdc", __FILE__),
+c2040_fdc_device::c2040_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, C2040_FDC, tag, owner, clock),
m_write_sync(*this),
m_write_ready(*this),
m_write_error(*this),
@@ -103,7 +103,7 @@ c2040_fdc_t::c2040_fdc_t(const machine_config &mconfig, const char *tag, device_
// device_start - device-specific startup
//-------------------------------------------------
-void c2040_fdc_t::device_start()
+void c2040_fdc_device::device_start()
{
// resolve callbacks
m_write_sync.resolve_safe();
@@ -132,7 +132,7 @@ void c2040_fdc_t::device_start()
// device clock is altered in any way
//-------------------------------------------------
-void c2040_fdc_t::device_clock_changed()
+void c2040_fdc_device::device_clock_changed()
{
m_period = attotime::from_hz(clock());
}
@@ -142,7 +142,7 @@ void c2040_fdc_t::device_clock_changed()
// device_reset - device-specific reset
//-------------------------------------------------
-void c2040_fdc_t::device_reset()
+void c2040_fdc_device::device_reset()
{
live_abort();
}
@@ -152,18 +152,18 @@ void c2040_fdc_t::device_reset()
// device_timer - handler timer events
//-------------------------------------------------
-void c2040_fdc_t::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+void c2040_fdc_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
live_sync();
live_run();
}
-floppy_image_device* c2040_fdc_t::get_floppy()
+floppy_image_device* c2040_fdc_device::get_floppy()
{
return cur_live.drv_sel ? m_floppy1 : m_floppy0;
}
-void c2040_fdc_t::live_start()
+void c2040_fdc_device::live_start()
{
cur_live.tm = machine().time();
cur_live.state = RUNNING;
@@ -185,31 +185,31 @@ void c2040_fdc_t::live_start()
live_run();
}
-void c2040_fdc_t::checkpoint()
+void c2040_fdc_device::checkpoint()
{
get_next_edge(machine().time());
checkpoint_live = cur_live;
}
-void c2040_fdc_t::rollback()
+void c2040_fdc_device::rollback()
{
cur_live = checkpoint_live;
get_next_edge(cur_live.tm);
}
-void c2040_fdc_t::start_writing(const attotime &tm)
+void c2040_fdc_device::start_writing(const attotime &tm)
{
cur_live.write_start_time = tm;
cur_live.write_position = 0;
}
-void c2040_fdc_t::stop_writing(const attotime &tm)
+void c2040_fdc_device::stop_writing(const attotime &tm)
{
commit(tm);
cur_live.write_start_time = attotime::never;
}
-bool c2040_fdc_t::write_next_bit(bool bit, const attotime &limit)
+bool c2040_fdc_device::write_next_bit(bool bit, const attotime &limit)
{
if(cur_live.write_start_time.is_never()) {
cur_live.write_start_time = cur_live.tm;
@@ -228,7 +228,7 @@ bool c2040_fdc_t::write_next_bit(bool bit, const attotime &limit)
return false;
}
-void c2040_fdc_t::commit(const attotime &tm)
+void c2040_fdc_device::commit(const attotime &tm)
{
if(cur_live.write_start_time.is_never() || tm == cur_live.write_start_time || !cur_live.write_position)
return;
@@ -242,7 +242,7 @@ void c2040_fdc_t::commit(const attotime &tm)
cur_live.write_position = 0;
}
-void c2040_fdc_t::live_delay(int state)
+void c2040_fdc_device::live_delay(int state)
{
cur_live.next_state = state;
if(cur_live.tm != machine().time())
@@ -251,7 +251,7 @@ void c2040_fdc_t::live_delay(int state)
live_sync();
}
-void c2040_fdc_t::live_sync()
+void c2040_fdc_device::live_sync()
{
if(!cur_live.tm.is_never()) {
if(cur_live.tm > machine().time()) {
@@ -274,7 +274,7 @@ void c2040_fdc_t::live_sync()
}
}
-void c2040_fdc_t::live_abort()
+void c2040_fdc_device::live_abort()
{
if(!cur_live.tm.is_never() && cur_live.tm > machine().time()) {
rollback();
@@ -294,7 +294,7 @@ void c2040_fdc_t::live_abort()
cur_live.error = 1;
}
-void c2040_fdc_t::live_run(const attotime &limit)
+void c2040_fdc_device::live_run(const attotime &limit)
{
if(cur_live.state == IDLE || cur_live.next_state != -1)
return;
@@ -423,14 +423,14 @@ void c2040_fdc_t::live_run(const attotime &limit)
}
}
-void c2040_fdc_t::get_next_edge(const attotime &when)
+void c2040_fdc_device::get_next_edge(const attotime &when)
{
floppy_image_device *floppy = get_floppy();
cur_live.edge = floppy ? floppy->get_next_transition(when) : attotime::never;
}
-int c2040_fdc_t::get_next_bit(attotime &tm, const attotime &limit)
+int c2040_fdc_device::get_next_bit(attotime &tm, const attotime &limit)
{
attotime next = tm + m_period;
@@ -443,7 +443,7 @@ int c2040_fdc_t::get_next_bit(attotime &tm, const attotime &limit)
return bit && cur_live.rw_sel;
}
-READ8_MEMBER( c2040_fdc_t::read )
+READ8_MEMBER( c2040_fdc_device::read )
{
uint8_t e = checkpoint_live.e;
offs_t i = checkpoint_live.i;
@@ -455,7 +455,7 @@ READ8_MEMBER( c2040_fdc_t::read )
return data;
}
-WRITE8_MEMBER( c2040_fdc_t::write )
+WRITE8_MEMBER( c2040_fdc_device::write )
{
if (m_pi != data)
{
@@ -467,19 +467,19 @@ WRITE8_MEMBER( c2040_fdc_t::write )
}
}
-WRITE_LINE_MEMBER( c2040_fdc_t::ds0_w )
+WRITE_LINE_MEMBER( c2040_fdc_device::ds0_w )
{
m_ds0 = state;
}
-WRITE_LINE_MEMBER( c2040_fdc_t::ds1_w )
+WRITE_LINE_MEMBER( c2040_fdc_device::ds1_w )
{
m_ds1 = state;
ds_w(m_ds1 << 1 | m_ds0);
}
-WRITE_LINE_MEMBER( c2040_fdc_t::drv_sel_w )
+WRITE_LINE_MEMBER( c2040_fdc_device::drv_sel_w )
{
if (m_drv_sel != state)
{
@@ -491,7 +491,7 @@ WRITE_LINE_MEMBER( c2040_fdc_t::drv_sel_w )
}
}
-WRITE_LINE_MEMBER( c2040_fdc_t::mode_sel_w )
+WRITE_LINE_MEMBER( c2040_fdc_device::mode_sel_w )
{
if (m_mode_sel != state)
{
@@ -503,7 +503,7 @@ WRITE_LINE_MEMBER( c2040_fdc_t::mode_sel_w )
}
}
-WRITE_LINE_MEMBER( c2040_fdc_t::rw_sel_w )
+WRITE_LINE_MEMBER( c2040_fdc_device::rw_sel_w )
{
if (m_rw_sel != state)
{
@@ -520,7 +520,7 @@ WRITE_LINE_MEMBER( c2040_fdc_t::rw_sel_w )
}
}
-WRITE_LINE_MEMBER( c2040_fdc_t::mtr0_w )
+WRITE_LINE_MEMBER( c2040_fdc_device::mtr0_w )
{
if (m_mtr0 != state)
{
@@ -542,7 +542,7 @@ WRITE_LINE_MEMBER( c2040_fdc_t::mtr0_w )
}
}
-WRITE_LINE_MEMBER( c2040_fdc_t::mtr1_w )
+WRITE_LINE_MEMBER( c2040_fdc_device::mtr1_w )
{
if (m_mtr1 != state)
{
@@ -564,7 +564,7 @@ WRITE_LINE_MEMBER( c2040_fdc_t::mtr1_w )
}
}
-void c2040_fdc_t::stp_w(floppy_image_device *floppy, int mtr, int &old_stp, int stp)
+void c2040_fdc_device::stp_w(floppy_image_device *floppy, int mtr, int &old_stp, int stp)
{
if (mtr) return;
@@ -594,7 +594,7 @@ void c2040_fdc_t::stp_w(floppy_image_device *floppy, int mtr, int &old_stp, int
old_stp = stp;
}
-void c2040_fdc_t::stp0_w(int stp)
+void c2040_fdc_device::stp0_w(int stp)
{
if (m_stp0 != stp)
{
@@ -605,7 +605,7 @@ void c2040_fdc_t::stp0_w(int stp)
}
}
-void c2040_fdc_t::stp1_w(int stp)
+void c2040_fdc_device::stp1_w(int stp)
{
if (m_stp1 != stp)
{
@@ -616,7 +616,7 @@ void c2040_fdc_t::stp1_w(int stp)
}
}
-void c2040_fdc_t::ds_w(int ds)
+void c2040_fdc_device::ds_w(int ds)
{
if (m_ds != ds)
{
@@ -628,7 +628,7 @@ void c2040_fdc_t::ds_w(int ds)
}
}
-void c2040_fdc_t::set_floppy(floppy_image_device *floppy0, floppy_image_device *floppy1)
+void c2040_fdc_device::set_floppy(floppy_image_device *floppy0, floppy_image_device *floppy1)
{
m_floppy0 = floppy0;
m_floppy1 = floppy1;
diff --git a/src/devices/bus/ieee488/c2040fdc.h b/src/devices/bus/ieee488/c2040fdc.h
index 45690295b9a..bbbd799182c 100644
--- a/src/devices/bus/ieee488/c2040fdc.h
+++ b/src/devices/bus/ieee488/c2040fdc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_C2040FDC_H
+#define MAME_BUS_IEEE488_C2040FDC_H
-#ifndef __C2040_FLOPPY__
-#define __C2040_FLOPPY__
+#pragma once
#include "formats/c3040_dsk.h"
#include "formats/c4040_dsk.h"
@@ -24,13 +24,13 @@
//**************************************************************************
#define MCFG_C2040_SYNC_CALLBACK(_write) \
- devcb = &c2040_fdc_t::set_sync_wr_callback(*device, DEVCB_##_write);
+ devcb = &c2040_fdc_device::set_sync_wr_callback(*device, DEVCB_##_write);
#define MCFG_C2040_READY_CALLBACK(_write) \
- devcb = &c2040_fdc_t::set_ready_wr_callback(*device, DEVCB_##_write);
+ devcb = &c2040_fdc_device::set_ready_wr_callback(*device, DEVCB_##_write);
#define MCFG_C2040_ERROR_CALLBACK(_write) \
- devcb = &c2040_fdc_t::set_error_wr_callback(*device, DEVCB_##_write);
+ devcb = &c2040_fdc_device::set_error_wr_callback(*device, DEVCB_##_write);
@@ -38,17 +38,17 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c2040_fdc_t
+// ======================> c2040_fdc_device
-class c2040_fdc_t : public device_t
+class c2040_fdc_device : public device_t
{
public:
// construction/destruction
- c2040_fdc_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c2040_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_sync_wr_callback(device_t &device, _Object object) { return downcast<c2040_fdc_t &>(device).m_write_sync.set_callback(object); }
- template<class _Object> static devcb_base &set_ready_wr_callback(device_t &device, _Object object) { return downcast<c2040_fdc_t &>(device).m_write_ready.set_callback(object); }
- template<class _Object> static devcb_base &set_error_wr_callback(device_t &device, _Object object) { return downcast<c2040_fdc_t &>(device).m_write_error.set_callback(object); }
+ template <class Object> static devcb_base &set_sync_wr_callback(device_t &device, Object &&cb) { return downcast<c2040_fdc_device &>(device).m_write_sync.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_ready_wr_callback(device_t &device, Object &&cb) { return downcast<c2040_fdc_device &>(device).m_write_ready.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_error_wr_callback(device_t &device, Object &&cb) { return downcast<c2040_fdc_device &>(device).m_write_error.set_callback(std::forward<Object>(cb)); }
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
@@ -161,8 +161,6 @@ protected:
// device type definition
-extern const device_type C2040_FDC;
-
-
+DECLARE_DEVICE_TYPE(C2040_FDC, c2040_fdc_device)
-#endif
+#endif // MAME_BUS_IEEE488_C2040FDC_H
diff --git a/src/devices/bus/ieee488/c8050.cpp b/src/devices/bus/ieee488/c8050.cpp
index 11ea6204870..91118edd649 100644
--- a/src/devices/bus/ieee488/c8050.cpp
+++ b/src/devices/bus/ieee488/c8050.cpp
@@ -54,10 +54,10 @@ enum
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C8050 = device_creator<c8050_t>;
-const device_type C8250 = device_creator<c8250_t>;
-const device_type C8250LP = device_creator<c8250lp_t>;
-const device_type SFD1001 = device_creator<sfd1001_t>;
+DEFINE_DEVICE_TYPE(C8050, c8050_device, "c8050", "Commodore 8050")
+DEFINE_DEVICE_TYPE(C8250, c8250_device, "c8250", "Commodore 8250")
+DEFINE_DEVICE_TYPE(C8250LP, c8250lp_device, "c8250lp", "Commodore 8250LP")
+DEFINE_DEVICE_TYPE(SFD1001, sfd1001_device, "sfd10001", "Commodore SFD-1001")
//-------------------------------------------------
@@ -110,7 +110,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c8050_t::device_rom_region() const
+const tiny_rom_entry *c8050_device::device_rom_region() const
{
return ROM_NAME( c8050 );
}
@@ -144,7 +144,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c8250lp_t::device_rom_region() const
+const tiny_rom_entry *c8250lp_device::device_rom_region() const
{
return ROM_NAME( c8250lp );
}
@@ -174,7 +174,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *sfd1001_t::device_rom_region() const
+const tiny_rom_entry *sfd1001_device::device_rom_region() const
{
return ROM_NAME( sfd1001 );
}
@@ -184,11 +184,11 @@ const tiny_rom_entry *sfd1001_t::device_rom_region() const
// ADDRESS_MAP( c8050_main_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c8050_main_mem, AS_PROGRAM, 8, c8050_t )
- AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0100) AM_DEVICE(M6532_0_TAG, mos6532_t, ram_map)
- AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0100) AM_DEVICE(M6532_1_TAG, mos6532_t, ram_map)
- AM_RANGE(0x0200, 0x021f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_0_TAG, mos6532_t, io_map)
- AM_RANGE(0x0280, 0x029f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_1_TAG, mos6532_t, io_map)
+static ADDRESS_MAP_START( c8050_main_mem, AS_PROGRAM, 8, c8050_device )
+ AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0100) AM_DEVICE(M6532_0_TAG, mos6532_new_device, ram_map)
+ AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0100) AM_DEVICE(M6532_1_TAG, mos6532_new_device, ram_map)
+ AM_RANGE(0x0200, 0x021f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_0_TAG, mos6532_new_device, io_map)
+ AM_RANGE(0x0280, 0x029f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_1_TAG, mos6532_new_device, io_map)
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share2")
AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share3")
@@ -201,16 +201,16 @@ ADDRESS_MAP_END
// ADDRESS_MAP( c8050_fdc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c8050_fdc_mem, AS_PROGRAM, 8, c8050_t )
+static ADDRESS_MAP_START( c8050_fdc_mem, AS_PROGRAM, 8, c8050_device )
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
- AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_t, ram_map)
+ AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_new_device, ram_map)
AM_RANGE(0x0040, 0x004f) AM_MIRROR(0x0330) AM_DEVICE(M6522_TAG, via6522_device, map)
- AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_t, io_map)
+ AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_new_device, io_map)
AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("share2")
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_SHARE("share3")
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("share4")
- AM_RANGE(0x1c00, 0x1fff) AM_DEVICE(M6530_TAG, mos6530_t, rom_map)
+ AM_RANGE(0x1c00, 0x1fff) AM_DEVICE(M6530_TAG, mos6530_new_device, rom_map)
ADDRESS_MAP_END
@@ -218,11 +218,11 @@ ADDRESS_MAP_END
// ADDRESS_MAP( c8250lp_fdc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c8250lp_fdc_mem, AS_PROGRAM, 8, c8050_t )
+static ADDRESS_MAP_START( c8250lp_fdc_mem, AS_PROGRAM, 8, c8050_device )
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
- AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_t, ram_map)
+ AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_new_device, ram_map)
AM_RANGE(0x0040, 0x004f) AM_MIRROR(0x0330) AM_DEVICE(M6522_TAG, via6522_device, map)
- AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_t, io_map)
+ AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_new_device, io_map)
AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("share2")
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_SHARE("share3")
@@ -235,11 +235,11 @@ ADDRESS_MAP_END
// ADDRESS_MAP( sfd1001_fdc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( sfd1001_fdc_mem, AS_PROGRAM, 8, c8050_t )
+static ADDRESS_MAP_START( sfd1001_fdc_mem, AS_PROGRAM, 8, c8050_device )
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
- AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_t, ram_map)
+ AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_new_device, ram_map)
AM_RANGE(0x0040, 0x004f) AM_MIRROR(0x0330) AM_DEVICE(M6522_TAG, via6522_device, map)
- AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_t, io_map)
+ AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_new_device, io_map)
AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("share2")
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_SHARE("share3")
@@ -252,7 +252,7 @@ ADDRESS_MAP_END
// riot6532 uc1
//-------------------------------------------------
-READ8_MEMBER( c8050_t::dio_r )
+READ8_MEMBER( c8050_device::dio_r )
{
/*
@@ -272,7 +272,7 @@ READ8_MEMBER( c8050_t::dio_r )
return m_bus->dio_r();
}
-WRITE8_MEMBER( c8050_t::dio_w )
+WRITE8_MEMBER( c8050_device::dio_w )
{
/*
@@ -296,7 +296,7 @@ WRITE8_MEMBER( c8050_t::dio_w )
// riot6532 ue1
//-------------------------------------------------
-READ8_MEMBER( c8050_t::riot1_pa_r )
+READ8_MEMBER( c8050_device::riot1_pa_r )
{
/*
@@ -327,7 +327,7 @@ READ8_MEMBER( c8050_t::riot1_pa_r )
return data;
}
-WRITE8_MEMBER( c8050_t::riot1_pa_w )
+WRITE8_MEMBER( c8050_device::riot1_pa_w )
{
/*
@@ -362,7 +362,7 @@ WRITE8_MEMBER( c8050_t::riot1_pa_w )
update_ieee_signals();
}
-READ8_MEMBER( c8050_t::riot1_pb_r )
+READ8_MEMBER( c8050_device::riot1_pb_r )
{
/*
@@ -393,7 +393,7 @@ READ8_MEMBER( c8050_t::riot1_pb_r )
return data;
}
-WRITE8_MEMBER( c8050_t::riot1_pb_w )
+WRITE8_MEMBER( c8050_device::riot1_pb_w )
{
/*
@@ -420,7 +420,7 @@ WRITE8_MEMBER( c8050_t::riot1_pb_w )
machine().output().set_led_value(LED_ERR, BIT(data, 5));
}
-WRITE8_MEMBER( c8050_t::via_pb_w )
+WRITE8_MEMBER( c8050_device::via_pb_w )
{
/*
@@ -467,7 +467,7 @@ SLOT_INTERFACE_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c8050_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c8050_device::floppy_formats )
FLOPPY_D80_FORMAT
FLOPPY_FORMATS_END
@@ -494,7 +494,7 @@ SLOT_INTERFACE_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c8250_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c8250_device::floppy_formats )
FLOPPY_D80_FORMAT,
FLOPPY_D82_FORMAT
FLOPPY_FORMATS_END
@@ -504,7 +504,7 @@ FLOPPY_FORMATS_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c8250lp_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c8250lp_device::floppy_formats )
FLOPPY_D80_FORMAT,
FLOPPY_D82_FORMAT
FLOPPY_FORMATS_END
@@ -514,7 +514,7 @@ FLOPPY_FORMATS_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( sfd1001_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( sfd1001_device::floppy_formats )
FLOPPY_D80_FORMAT,
FLOPPY_D82_FORMAT
FLOPPY_FORMATS_END
@@ -529,15 +529,15 @@ static MACHINE_CONFIG_FRAGMENT( c8050 )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_12MHz/12)
MCFG_CPU_PROGRAM_MAP(c8050_main_mem)
- MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_12MHz/12)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8050_t, dio_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_t, dio_w))
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8050_device, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_device, dio_w))
- MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_12MHz/12)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8050_t, riot1_pa_r))
- MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8050_t, riot1_pa_w))
- MCFG_MOS6530n_IN_PB_CB(READ8(c8050_t, riot1_pb_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_t, riot1_pb_w))
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8050_device, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8050_device, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(c8050_device, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_device, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
// controller
@@ -545,17 +545,17 @@ static MACHINE_CONFIG_FRAGMENT( c8050 )
MCFG_CPU_PROGRAM_MAP(c8050_fdc_mem)
MCFG_DEVICE_ADD(M6522_TAG, VIA6522, XTAL_12MHz/12)
- MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c8050_fdc_t, read))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c8050_t, via_pb_w))
- MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_t, mode_sel_w))
- MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_t, rw_sel_w))
-
- MCFG_DEVICE_ADD(M6530_TAG, MOS6530n, XTAL_12MHz/12)
- MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c8050_fdc_t, write))
- MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, drv_sel_w))
- MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, ds0_w))
- MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, ds1_w))
- MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c8050_fdc_t, wps_r))
+ MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c8050_fdc_device, read))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c8050_device, via_pb_w))
+ MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_device, mode_sel_w))
+ MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_device, rw_sel_w))
+
+ MCFG_DEVICE_ADD(M6530_TAG, MOS6530_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c8050_fdc_device, write))
+ MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, drv_sel_w))
+ MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, ds0_w))
+ MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, ds1_w))
+ MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c8050_fdc_device, wps_r))
MCFG_MOS6530n_IN_PB6_CB(VCC) // SINGLE SIDED
MCFG_MOS6530n_OUT_PB7_CB(INPUTLINE(M6504_TAG, M6502_IRQ_LINE))
@@ -564,8 +564,8 @@ static MACHINE_CONFIG_FRAGMENT( c8050 )
MCFG_C8050_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1))
MCFG_C8050_BRDY_CALLBACK(INPUTLINE(M6504_TAG, M6502_SET_OVERFLOW)) MCFG_DEVCB_XOR(1)
MCFG_C8050_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1))
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":0", c8050_floppies, "525ssqd", c8050_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":1", c8050_floppies, "525ssqd", c8050_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":0", c8050_floppies, "525ssqd", c8050_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":1", c8050_floppies, "525ssqd", c8050_device::floppy_formats)
MACHINE_CONFIG_END
@@ -574,7 +574,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c8050_t::device_mconfig_additions() const
+machine_config_constructor c8050_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c8050 );
}
@@ -589,15 +589,15 @@ static MACHINE_CONFIG_FRAGMENT( c8250 )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_12MHz/12)
MCFG_CPU_PROGRAM_MAP(c8050_main_mem)
- MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_12MHz/12)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8050_t, dio_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_t, dio_w))
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8050_device, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_device, dio_w))
- MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_12MHz/12)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8050_t, riot1_pa_r))
- MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8050_t, riot1_pa_w))
- MCFG_MOS6530n_IN_PB_CB(READ8(c8050_t, riot1_pb_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_t, riot1_pb_w))
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8050_device, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8050_device, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(c8050_device, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_device, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
// controller
@@ -605,18 +605,18 @@ static MACHINE_CONFIG_FRAGMENT( c8250 )
MCFG_CPU_PROGRAM_MAP(c8050_fdc_mem)
MCFG_DEVICE_ADD(M6522_TAG, VIA6522, XTAL_12MHz/12)
- MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c8050_fdc_t, read))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c8050_t, via_pb_w))
- MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_t, mode_sel_w))
- MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_t, rw_sel_w))
-
- MCFG_DEVICE_ADD(M6530_TAG, MOS6530n, XTAL_12MHz/12)
- MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c8050_fdc_t, write))
- MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, drv_sel_w))
- MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, ds0_w))
- MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, ds1_w))
- MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c8050_fdc_t, wps_r))
- MCFG_MOS6530n_OUT_PB4_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, odd_hd_w))
+ MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c8050_fdc_device, read))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c8050_device, via_pb_w))
+ MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_device, mode_sel_w))
+ MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_device, rw_sel_w))
+
+ MCFG_DEVICE_ADD(M6530_TAG, MOS6530_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c8050_fdc_device, write))
+ MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, drv_sel_w))
+ MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, ds0_w))
+ MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, ds1_w))
+ MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c8050_fdc_device, wps_r))
+ MCFG_MOS6530n_OUT_PB4_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, odd_hd_w))
MCFG_MOS6530n_IN_PB6_CB(GND) // DOUBLE SIDED
MCFG_MOS6530n_OUT_PB7_CB(INPUTLINE(M6504_TAG, M6502_IRQ_LINE))
@@ -625,8 +625,8 @@ static MACHINE_CONFIG_FRAGMENT( c8250 )
MCFG_C8050_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1))
MCFG_C8050_BRDY_CALLBACK(INPUTLINE(M6504_TAG, M6502_SET_OVERFLOW)) MCFG_DEVCB_XOR(1)
MCFG_C8050_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1))
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":0", c8250_floppies, "525qd", c8250_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":1", c8250_floppies, "525qd", c8250_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":0", c8250_floppies, "525qd", c8250_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":1", c8250_floppies, "525qd", c8250_device::floppy_formats)
MACHINE_CONFIG_END
@@ -635,7 +635,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c8250_t::device_mconfig_additions() const
+machine_config_constructor c8250_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c8250 );
}
@@ -650,15 +650,15 @@ static MACHINE_CONFIG_FRAGMENT( c8250lp )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_12MHz/12)
MCFG_CPU_PROGRAM_MAP(c8050_main_mem)
- MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_12MHz/12)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8050_t, dio_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_t, dio_w))
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8050_device, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_device, dio_w))
- MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_12MHz/12)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8050_t, riot1_pa_r))
- MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8050_t, riot1_pa_w))
- MCFG_MOS6530n_IN_PB_CB(READ8(c8050_t, riot1_pb_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_t, riot1_pb_w))
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8050_device, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8050_device, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(c8050_device, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_device, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
// controller
@@ -666,18 +666,18 @@ static MACHINE_CONFIG_FRAGMENT( c8250lp )
MCFG_CPU_PROGRAM_MAP(c8250lp_fdc_mem)
MCFG_DEVICE_ADD(M6522_TAG, VIA6522, XTAL_12MHz/12)
- MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c8050_fdc_t, read))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c8050_t, via_pb_w))
- MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_t, mode_sel_w))
- MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_t, rw_sel_w))
-
- MCFG_DEVICE_ADD(M6530_TAG, MOS6530n, XTAL_12MHz/12)
- MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c8050_fdc_t, write))
- MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, drv_sel_w))
- MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, ds0_w))
- MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, ds1_w))
- MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c8050_fdc_t, wps_r))
- MCFG_MOS6530n_OUT_PB4_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, odd_hd_w))
+ MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c8050_fdc_device, read))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c8050_device, via_pb_w))
+ MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_device, mode_sel_w))
+ MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_device, rw_sel_w))
+
+ MCFG_DEVICE_ADD(M6530_TAG, MOS6530_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c8050_fdc_device, write))
+ MCFG_MOS6530n_OUT_PB0_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, drv_sel_w))
+ MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, ds0_w))
+ MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, ds1_w))
+ MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c8050_fdc_device, wps_r))
+ MCFG_MOS6530n_OUT_PB4_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, odd_hd_w))
MCFG_MOS6530n_IN_PB6_CB(GND) // DOUBLE SIDED
MCFG_MOS6530n_OUT_PB7_CB(INPUTLINE(M6504_TAG, M6502_IRQ_LINE))
@@ -686,8 +686,8 @@ static MACHINE_CONFIG_FRAGMENT( c8250lp )
MCFG_C8050_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1))
MCFG_C8050_BRDY_CALLBACK(INPUTLINE(M6504_TAG, M6502_SET_OVERFLOW)) MCFG_DEVCB_XOR(1)
MCFG_C8050_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1))
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":0", c8250_floppies, "525qd", c8250lp_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":1", c8250_floppies, "525qd", c8250lp_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":0", c8250_floppies, "525qd", c8250lp_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":1", c8250_floppies, "525qd", c8250lp_device::floppy_formats)
MACHINE_CONFIG_END
@@ -696,7 +696,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c8250lp_t::device_mconfig_additions() const
+machine_config_constructor c8250lp_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c8250lp );
}
@@ -711,15 +711,15 @@ static MACHINE_CONFIG_FRAGMENT( sfd1001 )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_12MHz/12)
MCFG_CPU_PROGRAM_MAP(c8050_main_mem)
- MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_12MHz/12)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8050_t, dio_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_t, dio_w))
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8050_device, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_device, dio_w))
- MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_12MHz/12)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8050_t, riot1_pa_r))
- MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8050_t, riot1_pa_w))
- MCFG_MOS6530n_IN_PB_CB(READ8(c8050_t, riot1_pb_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_t, riot1_pb_w))
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8050_device, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8050_device, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(c8050_device, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8050_device, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_TAG, INPUT_LINE_IRQ0))
// controller
@@ -727,17 +727,17 @@ static MACHINE_CONFIG_FRAGMENT( sfd1001 )
MCFG_CPU_PROGRAM_MAP(sfd1001_fdc_mem)
MCFG_DEVICE_ADD(M6522_TAG, VIA6522, XTAL_12MHz/12)
- MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c8050_fdc_t, read))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c8050_t, via_pb_w))
- MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_t, mode_sel_w))
- MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_t, rw_sel_w))
-
- MCFG_DEVICE_ADD(M6530_TAG, MOS6530n, XTAL_12MHz/12)
- MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c8050_fdc_t, write))
- MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, ds0_w))
- MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, ds1_w))
- MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c8050_fdc_t, wps_r))
- MCFG_MOS6530n_OUT_PB4_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_t, odd_hd_w))
+ MCFG_VIA6522_READPA_HANDLER(DEVREAD8(FDC_TAG, c8050_fdc_device, read))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(c8050_device, via_pb_w))
+ MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_device, mode_sel_w))
+ MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(FDC_TAG, c8050_fdc_device, rw_sel_w))
+
+ MCFG_DEVICE_ADD(M6530_TAG, MOS6530_NEW, XTAL_12MHz/12)
+ MCFG_MOS6530n_OUT_PA_CB(DEVWRITE8(FDC_TAG, c8050_fdc_device, write))
+ MCFG_MOS6530n_OUT_PB1_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, ds0_w))
+ MCFG_MOS6530n_OUT_PB2_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, ds1_w))
+ MCFG_MOS6530n_IN_PB3_CB(DEVREADLINE(FDC_TAG, c8050_fdc_device, wps_r))
+ MCFG_MOS6530n_OUT_PB4_CB(DEVWRITELINE(FDC_TAG, c8050_fdc_device, odd_hd_w))
MCFG_MOS6530n_IN_PB6_CB(GND) // DOUBLE SIDED
MCFG_MOS6530n_OUT_PB7_CB(INPUTLINE(M6504_TAG, M6502_IRQ_LINE))
@@ -746,7 +746,7 @@ static MACHINE_CONFIG_FRAGMENT( sfd1001 )
MCFG_C8050_READY_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_ca1))
MCFG_C8050_BRDY_CALLBACK(INPUTLINE(M6504_TAG, M6502_SET_OVERFLOW)) MCFG_DEVCB_XOR(1)
MCFG_C8050_ERROR_CALLBACK(DEVWRITELINE(M6522_TAG, via6522_device, write_cb1))
- MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":0", sfd1001_floppies, "525qd", sfd1001_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(FDC_TAG ":0", sfd1001_floppies, "525qd", sfd1001_device::floppy_formats)
MACHINE_CONFIG_END
@@ -755,7 +755,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor sfd1001_t::device_mconfig_additions() const
+machine_config_constructor sfd1001_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sfd1001 );
}
@@ -783,7 +783,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor c8050_t::device_input_ports() const
+ioport_constructor c8050_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c8050 );
}
@@ -798,7 +798,7 @@ ioport_constructor c8050_t::device_input_ports() const
// update_ieee_signals -
//-------------------------------------------------
-inline void c8050_t::update_ieee_signals()
+inline void c8050_device::update_ieee_signals()
{
int atn = m_bus->atn_r();
int nrfd = !(!(!(atn && m_atna) && m_rfdo) || !(atn || m_atna));
@@ -815,11 +815,11 @@ inline void c8050_t::update_ieee_signals()
//**************************************************************************
//-------------------------------------------------
-// c8050_t - constructor
+// c8050_device - constructor
//-------------------------------------------------
-c8050_t::c8050_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+c8050_device::c8050_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_ieee488_interface(mconfig, *this),
m_maincpu(*this, M6502_TAG),
m_fdccpu(*this, M6504_TAG),
@@ -833,59 +833,52 @@ c8050_t::c8050_t(const machine_config &mconfig, device_type type, const char *na
m_address(*this, "ADDRESS"),
m_rfdo(1),
m_daco(1),
- m_atna(1), m_ifc(0)
+ m_atna(1),
+ m_ifc(0)
{
}
-c8050_t::c8050_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C8050, "C8050", tag, owner, clock, "c8050", __FILE__),
- device_ieee488_interface(mconfig, *this),
- m_maincpu(*this, M6502_TAG),
- m_fdccpu(*this, M6504_TAG),
- m_riot0(*this, M6532_0_TAG),
- m_riot1(*this, M6532_1_TAG),
- m_miot(*this, M6530_TAG),
- m_via(*this, M6522_TAG),
- m_floppy0(*this, FDC_TAG ":0"),
- m_floppy1(*this, FDC_TAG ":1"),
- m_fdc(*this, FDC_TAG),
- m_address(*this, "ADDRESS"),
- m_rfdo(1),
- m_daco(1),
- m_atna(1), m_ifc(0)
+c8050_device::c8050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ c8050_device(mconfig, C8050, tag, owner, clock)
{
}
//-------------------------------------------------
-// c8250_t - constructor
+// c8250_device - constructor
//-------------------------------------------------
-c8250_t::c8250_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- c8050_t(mconfig, C8250, "C8250", tag, owner, clock, "c8250", __FILE__) { }
+c8250_device::c8250_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ c8050_device(mconfig, C8250, tag, owner, clock)
+{
+}
//-------------------------------------------------
-// c8250lp_t - constructor
+// c8250lp_device - constructor
//-------------------------------------------------
-c8250lp_t::c8250lp_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- c8050_t(mconfig, C8250LP, "C8250LP", tag, owner, clock, "c8250lp", __FILE__) { }
+c8250lp_device::c8250lp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ c8050_device(mconfig, C8250LP, tag, owner, clock)
+{
+}
//-------------------------------------------------
-// sfd1001_t - constructor
+// sfd1001_device - constructor
//-------------------------------------------------
-sfd1001_t::sfd1001_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- c8050_t(mconfig, SFD1001, "SFD1001", tag, owner, clock, "sfd1001", __FILE__) { }
+sfd1001_device::sfd1001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ c8050_device(mconfig, SFD1001, tag, owner, clock)
+{
+}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
-void c8050_t::device_start()
+void c8050_device::device_start()
{
// install image callbacks
m_fdc->set_floppy(m_floppy0, m_floppy1);
@@ -901,7 +894,7 @@ void c8050_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void c8050_t::device_reset()
+void c8050_device::device_reset()
{
m_maincpu->reset();
@@ -928,7 +921,7 @@ void c8050_t::device_reset()
// ieee488_atn -
//-------------------------------------------------
-void c8050_t::ieee488_atn(int state)
+void c8050_device::ieee488_atn(int state)
{
update_ieee_signals();
@@ -940,7 +933,7 @@ void c8050_t::ieee488_atn(int state)
// ieee488_ifc -
//-------------------------------------------------
-void c8050_t::ieee488_ifc(int state)
+void c8050_device::ieee488_ifc(int state)
{
if (!m_ifc && state)
{
diff --git a/src/devices/bus/ieee488/c8050.h b/src/devices/bus/ieee488/c8050.h
index d1200326aae..c777a2b4b5b 100644
--- a/src/devices/bus/ieee488/c8050.h
+++ b/src/devices/bus/ieee488/c8050.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEE488_C8050_H
+#define MAME_BUS_IEE488_C8050_H
-#ifndef __C8050__
-#define __C8050__
+#pragma once
#include "ieee488.h"
#include "c8050fdc.h"
@@ -24,15 +24,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c8050_t
+// ======================> c8050_device
-class c8050_t : public device_t,
- public device_ieee488_interface
+class c8050_device : public device_t, public device_ieee488_interface
{
public:
// construction/destruction
- c8050_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- c8050_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c8050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -50,6 +48,8 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
+ c8050_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -62,13 +62,13 @@ protected:
required_device<m6502_device> m_maincpu;
required_device<m6504_device> m_fdccpu;
- required_device<mos6532_t> m_riot0;
- required_device<mos6532_t> m_riot1;
- required_device<mos6530_t> m_miot;
+ required_device<mos6532_new_device> m_riot0;
+ required_device<mos6532_new_device> m_riot1;
+ required_device<mos6530_new_device> m_miot;
required_device<via6522_device> m_via;
required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
- required_device<c8050_fdc_t> m_fdc;
+ required_device<c8050_fdc_device> m_fdc;
required_ioport m_address;
// IEEE-488 bus
@@ -79,13 +79,13 @@ protected:
};
-// ======================> c8250_t
+// ======================> c8250_device
-class c8250_t : public c8050_t
+class c8250_device : public c8050_device
{
public:
// construction/destruction
- c8250_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c8250_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -94,13 +94,13 @@ public:
};
-// ======================> c8250lp_t
+// ======================> c8250lp_device
-class c8250lp_t : public c8050_t
+class c8250lp_device : public c8050_device
{
public:
// construction/destruction
- c8250lp_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c8250lp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -110,13 +110,13 @@ public:
};
-// ======================> sfd1001_t
+// ======================> sfd1001_device
-class sfd1001_t : public c8050_t
+class sfd1001_device : public c8050_device
{
public:
// construction/destruction
- sfd1001_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sfd1001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -127,11 +127,10 @@ public:
// device type definition
-extern const device_type C8050;
-extern const device_type C8250;
-extern const device_type C8250LP;
-extern const device_type SFD1001;
-
+DECLARE_DEVICE_TYPE(C8050, c8050_device)
+DECLARE_DEVICE_TYPE(C8250, c8250_device)
+DECLARE_DEVICE_TYPE(C8250LP, c8250lp_device)
+DECLARE_DEVICE_TYPE(SFD1001, sfd1001_device)
-#endif
+#endif // MAME_BUS_IEE488_C8050_H
diff --git a/src/devices/bus/ieee488/c8050fdc.cpp b/src/devices/bus/ieee488/c8050fdc.cpp
index ae0fe558153..50861316839 100644
--- a/src/devices/bus/ieee488/c8050fdc.cpp
+++ b/src/devices/bus/ieee488/c8050fdc.cpp
@@ -40,7 +40,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C8050_FDC = device_creator<c8050_fdc_t>;
+DEFINE_DEVICE_TYPE(C8050_FDC, c8050_fdc_device, "c8050fdc", "Commodore 8050 FDC")
//-------------------------------------------------
@@ -57,7 +57,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c8050_fdc_t::device_rom_region() const
+const tiny_rom_entry *c8050_fdc_device::device_rom_region() const
{
return ROM_NAME( c8050_fdc );
}
@@ -69,11 +69,11 @@ const tiny_rom_entry *c8050_fdc_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// c8050_fdc_t - constructor
+// c8050_fdc_device - constructor
//-------------------------------------------------
-c8050_fdc_t::c8050_fdc_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C8050_FDC, "Commodore 8050 FDC", tag, owner, clock, "c8050fdc", __FILE__),
+c8050_fdc_device::c8050_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, C8050_FDC, tag, owner, clock),
m_write_sync(*this),
m_write_ready(*this),
m_write_brdy(*this),
@@ -103,7 +103,7 @@ c8050_fdc_t::c8050_fdc_t(const machine_config &mconfig, const char *tag, device_
// device_start - device-specific startup
//-------------------------------------------------
-void c8050_fdc_t::device_start()
+void c8050_fdc_device::device_start()
{
// resolve callbacks
m_write_sync.resolve_safe();
@@ -134,7 +134,7 @@ void c8050_fdc_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void c8050_fdc_t::device_reset()
+void c8050_fdc_device::device_reset()
{
live_abort();
}
@@ -144,18 +144,18 @@ void c8050_fdc_t::device_reset()
// device_timer - handler timer events
//-------------------------------------------------
-void c8050_fdc_t::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+void c8050_fdc_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
live_sync();
live_run();
}
-floppy_image_device* c8050_fdc_t::get_floppy()
+floppy_image_device* c8050_fdc_device::get_floppy()
{
return cur_live.drv_sel ? m_floppy1 : m_floppy0;
}
-void c8050_fdc_t::stp_w(floppy_image_device *floppy, int mtr, int &old_stp, int stp)
+void c8050_fdc_device::stp_w(floppy_image_device *floppy, int mtr, int &old_stp, int stp)
{
if (mtr) return;
@@ -185,7 +185,7 @@ void c8050_fdc_t::stp_w(floppy_image_device *floppy, int mtr, int &old_stp, int
old_stp = stp;
}
-void c8050_fdc_t::stp0_w(int stp)
+void c8050_fdc_device::stp0_w(int stp)
{
if (m_stp0 != stp)
{
@@ -196,7 +196,7 @@ void c8050_fdc_t::stp0_w(int stp)
}
}
-void c8050_fdc_t::stp1_w(int stp)
+void c8050_fdc_device::stp1_w(int stp)
{
if (m_stp1 != stp)
{
@@ -207,7 +207,7 @@ void c8050_fdc_t::stp1_w(int stp)
}
}
-void c8050_fdc_t::ds_w(int ds)
+void c8050_fdc_device::ds_w(int ds)
{
if (m_ds != ds)
{
@@ -220,7 +220,7 @@ void c8050_fdc_t::ds_w(int ds)
}
}
-void c8050_fdc_t::set_floppy(floppy_connector *floppy0, floppy_connector *floppy1)
+void c8050_fdc_device::set_floppy(floppy_connector *floppy0, floppy_connector *floppy1)
{
m_floppy0 = floppy0->get_device();
@@ -229,7 +229,7 @@ void c8050_fdc_t::set_floppy(floppy_connector *floppy0, floppy_connector *floppy
}
}
-void c8050_fdc_t::live_start()
+void c8050_fdc_device::live_start()
{
cur_live.tm = machine().time();
cur_live.state = RUNNING;
@@ -251,63 +251,63 @@ void c8050_fdc_t::live_start()
live_run();
}
-void c8050_fdc_t::pll_reset(const attotime &when)
+void c8050_fdc_device::pll_reset(const attotime &when)
{
cur_pll.reset(when);
cur_pll.set_clock(attotime::from_hz(clock() / (16 - m_ds)));
}
-void c8050_fdc_t::pll_start_writing(const attotime &tm)
+void c8050_fdc_device::pll_start_writing(const attotime &tm)
{
cur_pll.start_writing(tm);
pll_reset(cur_live.tm);
}
-void c8050_fdc_t::pll_commit(floppy_image_device *floppy, const attotime &tm)
+void c8050_fdc_device::pll_commit(floppy_image_device *floppy, const attotime &tm)
{
cur_pll.commit(floppy, tm);
}
-void c8050_fdc_t::pll_stop_writing(floppy_image_device *floppy, const attotime &tm)
+void c8050_fdc_device::pll_stop_writing(floppy_image_device *floppy, const attotime &tm)
{
cur_pll.stop_writing(floppy, tm);
pll_reset(cur_live.tm);
}
-void c8050_fdc_t::pll_save_checkpoint()
+void c8050_fdc_device::pll_save_checkpoint()
{
checkpoint_pll = cur_pll;
}
-void c8050_fdc_t::pll_retrieve_checkpoint()
+void c8050_fdc_device::pll_retrieve_checkpoint()
{
cur_pll = checkpoint_pll;
}
-int c8050_fdc_t::pll_get_next_bit(attotime &tm, floppy_image_device *floppy, const attotime &limit)
+int c8050_fdc_device::pll_get_next_bit(attotime &tm, floppy_image_device *floppy, const attotime &limit)
{
return cur_pll.get_next_bit(tm, floppy, limit);
}
-bool c8050_fdc_t::pll_write_next_bit(bool bit, attotime &tm, floppy_image_device *floppy, const attotime &limit)
+bool c8050_fdc_device::pll_write_next_bit(bool bit, attotime &tm, floppy_image_device *floppy, const attotime &limit)
{
return cur_pll.write_next_bit(bit, tm, floppy, limit);
}
-void c8050_fdc_t::checkpoint()
+void c8050_fdc_device::checkpoint()
{
pll_commit(get_floppy(), cur_live.tm);
checkpoint_live = cur_live;
pll_save_checkpoint();
}
-void c8050_fdc_t::rollback()
+void c8050_fdc_device::rollback()
{
cur_live = checkpoint_live;
pll_retrieve_checkpoint();
}
-void c8050_fdc_t::live_delay(int state)
+void c8050_fdc_device::live_delay(int state)
{
cur_live.next_state = state;
if(cur_live.tm != machine().time())
@@ -316,7 +316,7 @@ void c8050_fdc_t::live_delay(int state)
live_sync();
}
-void c8050_fdc_t::live_sync()
+void c8050_fdc_device::live_sync()
{
if(!cur_live.tm.is_never()) {
if(cur_live.tm > machine().time()) {
@@ -339,7 +339,7 @@ void c8050_fdc_t::live_sync()
}
}
-void c8050_fdc_t::live_abort()
+void c8050_fdc_device::live_abort()
{
if(!cur_live.tm.is_never() && cur_live.tm > machine().time()) {
rollback();
@@ -358,7 +358,7 @@ void c8050_fdc_t::live_abort()
cur_live.error = 1;
}
-void c8050_fdc_t::live_run(const attotime &limit)
+void c8050_fdc_device::live_run(const attotime &limit)
{
if(cur_live.state == IDLE || cur_live.next_state != -1)
return;
@@ -497,7 +497,7 @@ void c8050_fdc_t::live_run(const attotime &limit)
}
}
-READ8_MEMBER( c8050_fdc_t::read )
+READ8_MEMBER( c8050_fdc_device::read )
{
uint8_t e = checkpoint_live.e;
offs_t i = checkpoint_live.i;
@@ -505,7 +505,7 @@ READ8_MEMBER( c8050_fdc_t::read )
return GCR_DECODE(e, i);
}
-WRITE8_MEMBER( c8050_fdc_t::write )
+WRITE8_MEMBER( c8050_fdc_device::write )
{
if (LOG) logerror("%s %s PI %02x\n", machine().time().as_string(), machine().describe_context(), data);
@@ -518,19 +518,19 @@ WRITE8_MEMBER( c8050_fdc_t::write )
}
}
-WRITE_LINE_MEMBER( c8050_fdc_t::ds0_w )
+WRITE_LINE_MEMBER( c8050_fdc_device::ds0_w )
{
m_ds0 = state;
}
-WRITE_LINE_MEMBER( c8050_fdc_t::ds1_w )
+WRITE_LINE_MEMBER( c8050_fdc_device::ds1_w )
{
m_ds1 = state;
ds_w(m_ds1 << 1 | m_ds0);
}
-WRITE_LINE_MEMBER( c8050_fdc_t::drv_sel_w )
+WRITE_LINE_MEMBER( c8050_fdc_device::drv_sel_w )
{
if (m_drv_sel != state)
{
@@ -542,7 +542,7 @@ WRITE_LINE_MEMBER( c8050_fdc_t::drv_sel_w )
}
}
-WRITE_LINE_MEMBER( c8050_fdc_t::mode_sel_w )
+WRITE_LINE_MEMBER( c8050_fdc_device::mode_sel_w )
{
if (m_mode_sel != state)
{
@@ -554,7 +554,7 @@ WRITE_LINE_MEMBER( c8050_fdc_t::mode_sel_w )
}
}
-WRITE_LINE_MEMBER( c8050_fdc_t::rw_sel_w )
+WRITE_LINE_MEMBER( c8050_fdc_device::rw_sel_w )
{
if (m_rw_sel != state)
{
@@ -571,7 +571,7 @@ WRITE_LINE_MEMBER( c8050_fdc_t::rw_sel_w )
}
}
-WRITE_LINE_MEMBER( c8050_fdc_t::mtr0_w )
+WRITE_LINE_MEMBER( c8050_fdc_device::mtr0_w )
{
if (m_mtr0 != state)
{
@@ -593,7 +593,7 @@ WRITE_LINE_MEMBER( c8050_fdc_t::mtr0_w )
}
}
-WRITE_LINE_MEMBER( c8050_fdc_t::mtr1_w )
+WRITE_LINE_MEMBER( c8050_fdc_device::mtr1_w )
{
if (m_mtr1 != state)
{
@@ -615,7 +615,7 @@ WRITE_LINE_MEMBER( c8050_fdc_t::mtr1_w )
}
}
-WRITE_LINE_MEMBER( c8050_fdc_t::odd_hd_w )
+WRITE_LINE_MEMBER( c8050_fdc_device::odd_hd_w )
{
if (m_odd_hd != state)
{
@@ -629,7 +629,7 @@ WRITE_LINE_MEMBER( c8050_fdc_t::odd_hd_w )
}
}
-WRITE_LINE_MEMBER( c8050_fdc_t::pull_sync_w )
+WRITE_LINE_MEMBER( c8050_fdc_device::pull_sync_w )
{
if (LOG_MORE) logerror("%s %s PULL SYNC %u\n", machine().time().as_string(), machine().describe_context(), state);
}
diff --git a/src/devices/bus/ieee488/c8050fdc.h b/src/devices/bus/ieee488/c8050fdc.h
index 12cdc0d7def..733100327ba 100644
--- a/src/devices/bus/ieee488/c8050fdc.h
+++ b/src/devices/bus/ieee488/c8050fdc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_C8050FDC_H
+#define MAME_BUS_IEEE488_C8050FDC_H
-#ifndef __C8050_FLOPPY__
-#define __C8050_FLOPPY__
+#pragma once
#include "formats/d80_dsk.h"
#include "formats/d82_dsk.h"
@@ -23,16 +23,16 @@
//**************************************************************************
#define MCFG_C8050_SYNC_CALLBACK(_write) \
- devcb = &c8050_fdc_t::set_sync_wr_callback(*device, DEVCB_##_write);
+ devcb = &c8050_fdc_device::set_sync_wr_callback(*device, DEVCB_##_write);
#define MCFG_C8050_READY_CALLBACK(_write) \
- devcb = &c8050_fdc_t::set_ready_wr_callback(*device, DEVCB_##_write);
+ devcb = &c8050_fdc_device::set_ready_wr_callback(*device, DEVCB_##_write);
#define MCFG_C8050_BRDY_CALLBACK(_write) \
- devcb = &c8050_fdc_t::set_brdy_wr_callback(*device, DEVCB_##_write);
+ devcb = &c8050_fdc_device::set_brdy_wr_callback(*device, DEVCB_##_write);
#define MCFG_C8050_ERROR_CALLBACK(_write) \
- devcb = &c8050_fdc_t::set_error_wr_callback(*device, DEVCB_##_write);
+ devcb = &c8050_fdc_device::set_error_wr_callback(*device, DEVCB_##_write);
@@ -40,18 +40,18 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c8050_fdc_t
+// ======================> c8050_fdc_device
-class c8050_fdc_t : public device_t
+class c8050_fdc_device : public device_t
{
public:
// construction/destruction
- c8050_fdc_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c8050_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_sync_wr_callback(device_t &device, _Object object) { return downcast<c8050_fdc_t &>(device).m_write_sync.set_callback(object); }
- template<class _Object> static devcb_base &set_ready_wr_callback(device_t &device, _Object object) { return downcast<c8050_fdc_t &>(device).m_write_ready.set_callback(object); }
- template<class _Object> static devcb_base &set_brdy_wr_callback(device_t &device, _Object object) { return downcast<c8050_fdc_t &>(device).m_write_brdy.set_callback(object); }
- template<class _Object> static devcb_base &set_error_wr_callback(device_t &device, _Object object) { return downcast<c8050_fdc_t &>(device).m_write_error.set_callback(object); }
+ template <class Object> static devcb_base &set_sync_wr_callback(device_t &device, Object &&cb) { return downcast<c8050_fdc_device &>(device).m_write_sync.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_ready_wr_callback(device_t &device, Object &&cb) { return downcast<c8050_fdc_device &>(device).m_write_ready.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_brdy_wr_callback(device_t &device, Object &&cb) { return downcast<c8050_fdc_device &>(device).m_write_brdy.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_error_wr_callback(device_t &device, Object &&cb) { return downcast<c8050_fdc_device &>(device).m_write_error.set_callback(std::forward<Object>(cb)); }
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
@@ -162,8 +162,6 @@ protected:
// device type definition
-extern const device_type C8050_FDC;
-
-
+DECLARE_DEVICE_TYPE(C8050_FDC, c8050_fdc_device)
-#endif
+#endif // MAME_BUS_IEEE488_C8050FDC_H
diff --git a/src/devices/bus/ieee488/c8280.cpp b/src/devices/bus/ieee488/c8280.cpp
index 82fa2e1c4e0..22930d68f39 100644
--- a/src/devices/bus/ieee488/c8280.cpp
+++ b/src/devices/bus/ieee488/c8280.cpp
@@ -36,7 +36,7 @@ enum
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C8280 = device_creator<c8280_t>;
+DEFINE_DEVICE_TYPE(C8280, c8280_device, "c8280", "Commodore 8280")
//-------------------------------------------------
@@ -63,7 +63,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c8280_t::device_rom_region() const
+const tiny_rom_entry *c8280_device::device_rom_region() const
{
return ROM_NAME( c8280 );
}
@@ -73,11 +73,11 @@ const tiny_rom_entry *c8280_t::device_rom_region() const
// ADDRESS_MAP( c8280_main_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c8280_main_mem, AS_PROGRAM, 8, c8280_t )
- AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x100) AM_DEVICE(M6532_0_TAG, mos6532_t, ram_map)
- AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x100) AM_DEVICE(M6532_1_TAG, mos6532_t, ram_map)
- AM_RANGE(0x0200, 0x021f) AM_MIRROR(0xd60) AM_DEVICE(M6532_0_TAG, mos6532_t, io_map)
- AM_RANGE(0x0280, 0x029f) AM_MIRROR(0xd60) AM_DEVICE(M6532_1_TAG, mos6532_t, io_map)
+static ADDRESS_MAP_START( c8280_main_mem, AS_PROGRAM, 8, c8280_device )
+ AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x100) AM_DEVICE(M6532_0_TAG, mos6532_new_device, ram_map)
+ AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x100) AM_DEVICE(M6532_1_TAG, mos6532_new_device, ram_map)
+ AM_RANGE(0x0200, 0x021f) AM_MIRROR(0xd60) AM_DEVICE(M6532_0_TAG, mos6532_new_device, io_map)
+ AM_RANGE(0x0280, 0x029f) AM_MIRROR(0xd60) AM_DEVICE(M6532_1_TAG, mos6532_new_device, io_map)
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0xc00) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0xc00) AM_RAM AM_SHARE("share2")
AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0xc00) AM_RAM AM_SHARE("share3")
@@ -90,10 +90,10 @@ ADDRESS_MAP_END
// ADDRESS_MAP( c8280_fdc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c8280_fdc_mem, AS_PROGRAM, 8, c8280_t )
+static ADDRESS_MAP_START( c8280_fdc_mem, AS_PROGRAM, 8, c8280_device )
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x300) AM_RAM
- AM_RANGE(0x0080, 0x0083) AM_MIRROR(0x37c) AM_DEVREADWRITE(WD1797_TAG, fd1797_t, read, write)
+ AM_RANGE(0x0080, 0x0083) AM_MIRROR(0x37c) AM_DEVREADWRITE(WD1797_TAG, fd1797_device, read, write)
AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("share2")
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_SHARE("share3")
@@ -107,7 +107,7 @@ ADDRESS_MAP_END
// riot6532 0
//-------------------------------------------------
-READ8_MEMBER( c8280_t::dio_r )
+READ8_MEMBER( c8280_device::dio_r )
{
/*
@@ -127,7 +127,7 @@ READ8_MEMBER( c8280_t::dio_r )
return m_bus->dio_r();
}
-WRITE8_MEMBER( c8280_t::dio_w )
+WRITE8_MEMBER( c8280_device::dio_w )
{
/*
@@ -152,7 +152,7 @@ WRITE8_MEMBER( c8280_t::dio_w )
// riot6532 1
//-------------------------------------------------
-READ8_MEMBER( c8280_t::riot1_pa_r )
+READ8_MEMBER( c8280_device::riot1_pa_r )
{
/*
@@ -183,7 +183,7 @@ READ8_MEMBER( c8280_t::riot1_pa_r )
return data;
}
-WRITE8_MEMBER( c8280_t::riot1_pa_w )
+WRITE8_MEMBER( c8280_device::riot1_pa_w )
{
/*
@@ -218,7 +218,7 @@ WRITE8_MEMBER( c8280_t::riot1_pa_w )
update_ieee_signals();
}
-READ8_MEMBER( c8280_t::riot1_pb_r )
+READ8_MEMBER( c8280_device::riot1_pb_r )
{
/*
@@ -249,7 +249,7 @@ READ8_MEMBER( c8280_t::riot1_pb_r )
return data;
}
-WRITE8_MEMBER( c8280_t::riot1_pb_w )
+WRITE8_MEMBER( c8280_device::riot1_pb_w )
{
/*
@@ -280,7 +280,7 @@ static SLOT_INTERFACE_START( c8280_floppies )
SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
SLOT_INTERFACE_END
-FLOPPY_FORMATS_MEMBER( c8280_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c8280_device::floppy_formats )
FLOPPY_C8280_FORMAT
FLOPPY_FORMATS_END
@@ -293,15 +293,15 @@ static MACHINE_CONFIG_FRAGMENT( c8280 )
MCFG_CPU_ADD(M6502_DOS_TAG, M6502, XTAL_12MHz/8)
MCFG_CPU_PROGRAM_MAP(c8280_main_mem)
- MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_12MHz/8)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8280_t, dio_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8280_t, dio_w))
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL_12MHz/8)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8280_device, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8280_device, dio_w))
- MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_12MHz/8)
- MCFG_MOS6530n_IN_PA_CB(READ8(c8280_t, riot1_pa_r))
- MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8280_t, riot1_pa_w))
- MCFG_MOS6530n_IN_PB_CB(READ8(c8280_t, riot1_pb_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8280_t, riot1_pb_w))
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL_12MHz/8)
+ MCFG_MOS6530n_IN_PA_CB(READ8(c8280_device, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8280_device, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(c8280_device, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8280_device, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_DOS_TAG, INPUT_LINE_IRQ0))
MCFG_CPU_ADD(M6502_FDC_TAG, M6502, XTAL_12MHz/8)
@@ -310,8 +310,8 @@ static MACHINE_CONFIG_FRAGMENT( c8280 )
MCFG_FD1797_ADD(WD1797_TAG, XTAL_12MHz/6)
MCFG_WD_FDC_INTRQ_CALLBACK(INPUTLINE(M6502_FDC_TAG, M6502_IRQ_LINE))
MCFG_WD_FDC_DRQ_CALLBACK(INPUTLINE(M6502_FDC_TAG, M6502_SET_OVERFLOW))
- MCFG_FLOPPY_DRIVE_ADD(WD1797_TAG ":0", c8280_floppies, "8dsdd", c8280_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(WD1797_TAG ":1", c8280_floppies, "8dsdd", c8280_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1797_TAG ":0", c8280_floppies, "8dsdd", c8280_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1797_TAG ":1", c8280_floppies, "8dsdd", c8280_device::floppy_formats)
MACHINE_CONFIG_END
@@ -320,7 +320,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c8280_t::device_mconfig_additions() const
+machine_config_constructor c8280_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c8280 );
}
@@ -348,7 +348,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor c8280_t::device_input_ports() const
+ioport_constructor c8280_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c8280 );
}
@@ -363,7 +363,7 @@ ioport_constructor c8280_t::device_input_ports() const
// update_ieee_signals -
//-------------------------------------------------
-inline void c8280_t::update_ieee_signals()
+inline void c8280_device::update_ieee_signals()
{
int atn = m_bus->atn_r();
int nrfd = !(!(!(atn && m_atna) && m_rfdo) || !(atn || m_atna));
@@ -380,11 +380,11 @@ inline void c8280_t::update_ieee_signals()
//**************************************************************************
//-------------------------------------------------
-// c8280_t - constructor
+// c8280_device - constructor
//-------------------------------------------------
-c8280_t::c8280_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C8280, "C8280", tag, owner, clock, "c8280", __FILE__),
+c8280_device::c8280_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, C8280, tag, owner, clock),
device_ieee488_interface(mconfig, *this),
m_maincpu(*this, M6502_DOS_TAG),
m_fdccpu(*this, M6502_FDC_TAG),
@@ -405,7 +405,7 @@ c8280_t::c8280_t(const machine_config &mconfig, const char *tag, device_t *owner
// device_start - device-specific startup
//-------------------------------------------------
-void c8280_t::device_start()
+void c8280_device::device_start()
{
// state saving
save_item(NAME(m_rfdo));
@@ -420,7 +420,7 @@ void c8280_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void c8280_t::device_reset()
+void c8280_device::device_reset()
{
m_maincpu->reset();
@@ -447,7 +447,7 @@ void c8280_t::device_reset()
// ieee488_atn -
//-------------------------------------------------
-void c8280_t::ieee488_atn(int state)
+void c8280_device::ieee488_atn(int state)
{
update_ieee_signals();
@@ -459,7 +459,7 @@ void c8280_t::ieee488_atn(int state)
// ieee488_ifc -
//-------------------------------------------------
-void c8280_t::ieee488_ifc(int state)
+void c8280_device::ieee488_ifc(int state)
{
if (!m_ifc && state)
{
@@ -469,7 +469,7 @@ void c8280_t::ieee488_ifc(int state)
m_ifc = state;
}
-READ8_MEMBER( c8280_t::fk5_r )
+READ8_MEMBER( c8280_device::fk5_r )
{
/*
@@ -494,7 +494,7 @@ READ8_MEMBER( c8280_t::fk5_r )
return data;
}
-WRITE8_MEMBER( c8280_t::fk5_w )
+WRITE8_MEMBER( c8280_device::fk5_w )
{
/*
diff --git a/src/devices/bus/ieee488/c8280.h b/src/devices/bus/ieee488/c8280.h
index 2a3c1a4f153..8c840d707f5 100644
--- a/src/devices/bus/ieee488/c8280.h
+++ b/src/devices/bus/ieee488/c8280.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_C8280_H
+#define MAME_BUS_IEEE488_C8280_H
-#ifndef __C8280__
-#define __C8280__
+#pragma once
#include "ieee488.h"
#include "cpu/m6502/m6502.h"
@@ -23,14 +23,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c8280_t
+// ======================> c8280_device
-class c8280_t : public device_t,
- public device_ieee488_interface
+class c8280_device : public device_t, public device_ieee488_interface
{
public:
// construction/destruction
- c8280_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c8280_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -63,9 +62,9 @@ private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_fdccpu;
- required_device<mos6532_t> m_riot0;
- required_device<mos6532_t> m_riot1;
- required_device<fd1797_t> m_fdc;
+ required_device<mos6532_new_device> m_riot0;
+ required_device<mos6532_new_device> m_riot1;
+ required_device<fd1797_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_ioport m_address;
@@ -82,8 +81,7 @@ private:
// device type definition
-extern const device_type C8280;
-
+DECLARE_DEVICE_TYPE(C8280, c8280_device)
-#endif
+#endif // MAME_BUS_IEEE488_C8280_H
diff --git a/src/devices/bus/ieee488/d9060.cpp b/src/devices/bus/ieee488/d9060.cpp
index e89dea811eb..a6866ccad2a 100644
--- a/src/devices/bus/ieee488/d9060.cpp
+++ b/src/devices/bus/ieee488/d9060.cpp
@@ -61,8 +61,8 @@ enum
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type D9060 = device_creator<d9060_t>;
-const device_type D9090 = device_creator<d9090_t>;
+DEFINE_DEVICE_TYPE(D9060, d9060_device, "d9060", "Commodore D9060")
+DEFINE_DEVICE_TYPE(D9090, d9090_device, "d9090", "Commodore D9090")
//-------------------------------------------------
@@ -99,7 +99,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *d9060_base_t::device_rom_region() const
+const tiny_rom_entry *d9060_device_base::device_rom_region() const
{
return ROM_NAME( d9060 );
}
@@ -109,11 +109,11 @@ const tiny_rom_entry *d9060_base_t::device_rom_region() const
// ADDRESS_MAP( d9060_main_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( d9060_main_mem, AS_PROGRAM, 8, d9060_base_t )
- AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0100) AM_DEVICE(M6532_0_TAG, mos6532_t, ram_map)
- AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0100) AM_DEVICE(M6532_1_TAG, mos6532_t, ram_map)
- AM_RANGE(0x0200, 0x021f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_0_TAG, mos6532_t, io_map)
- AM_RANGE(0x0280, 0x029f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_1_TAG, mos6532_t, io_map)
+static ADDRESS_MAP_START( d9060_main_mem, AS_PROGRAM, 8, d9060_device_base )
+ AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0100) AM_DEVICE(M6532_0_TAG, mos6532_new_device, ram_map)
+ AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0100) AM_DEVICE(M6532_1_TAG, mos6532_new_device, ram_map)
+ AM_RANGE(0x0200, 0x021f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_0_TAG, mos6532_new_device, io_map)
+ AM_RANGE(0x0280, 0x029f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_1_TAG, mos6532_new_device, io_map)
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share2")
AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share3")
@@ -126,7 +126,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( d9060_hdc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( d9060_hdc_mem, AS_PROGRAM, 8, d9060_base_t )
+static ADDRESS_MAP_START( d9060_hdc_mem, AS_PROGRAM, 8, d9060_device_base )
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x300) AM_RAM
AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x380) AM_DEVREADWRITE(M6522_TAG, via6522_device, read, write)
@@ -142,7 +142,7 @@ ADDRESS_MAP_END
// riot6532 0
//-------------------------------------------------
-READ8_MEMBER( d9060_base_t::dio_r )
+READ8_MEMBER( d9060_device_base::dio_r )
{
/*
@@ -163,7 +163,7 @@ READ8_MEMBER( d9060_base_t::dio_r )
}
-WRITE8_MEMBER( d9060_base_t::dio_w )
+WRITE8_MEMBER( d9060_device_base::dio_w )
{
/*
@@ -188,7 +188,7 @@ WRITE8_MEMBER( d9060_base_t::dio_w )
// riot6532 1
//-------------------------------------------------
-READ8_MEMBER( d9060_base_t::riot1_pa_r )
+READ8_MEMBER( d9060_device_base::riot1_pa_r )
{
/*
@@ -219,7 +219,7 @@ READ8_MEMBER( d9060_base_t::riot1_pa_r )
return data;
}
-WRITE8_MEMBER( d9060_base_t::riot1_pa_w )
+WRITE8_MEMBER( d9060_device_base::riot1_pa_w )
{
/*
@@ -254,7 +254,7 @@ WRITE8_MEMBER( d9060_base_t::riot1_pa_w )
update_ieee_signals();
}
-READ8_MEMBER( d9060_base_t::riot1_pb_r )
+READ8_MEMBER( d9060_device_base::riot1_pb_r )
{
/*
@@ -285,7 +285,7 @@ READ8_MEMBER( d9060_base_t::riot1_pb_r )
return data;
}
-WRITE8_MEMBER( d9060_base_t::riot1_pb_w )
+WRITE8_MEMBER( d9060_device_base::riot1_pb_w )
{
/*
@@ -313,7 +313,7 @@ WRITE8_MEMBER( d9060_base_t::riot1_pb_w )
}
-WRITE8_MEMBER( d9060_base_t::via_pb_w )
+WRITE8_MEMBER( d9060_device_base::via_pb_w )
{
/*
@@ -334,12 +334,12 @@ WRITE8_MEMBER( d9060_base_t::via_pb_w )
m_sasibus->write_rst(BIT(data, 1));
}
-WRITE_LINE_MEMBER( d9060_base_t::ack_w )
+WRITE_LINE_MEMBER( d9060_device_base::ack_w )
{
m_sasibus->write_ack(!state);
}
-WRITE_LINE_MEMBER( d9060_base_t::enable_w )
+WRITE_LINE_MEMBER( d9060_device_base::enable_w )
{
m_enable = state;
@@ -353,7 +353,7 @@ WRITE_LINE_MEMBER( d9060_base_t::enable_w )
}
}
-WRITE8_MEMBER( d9060_base_t::scsi_data_w )
+WRITE8_MEMBER( d9060_device_base::scsi_data_w )
{
m_data = data;
@@ -373,15 +373,15 @@ static MACHINE_CONFIG_FRAGMENT( d9060 )
MCFG_CPU_ADD(M6502_DOS_TAG, M6502, XTAL_4MHz/4)
MCFG_CPU_PROGRAM_MAP(d9060_main_mem)
- MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_4MHz/4)
- MCFG_MOS6530n_IN_PA_CB(READ8(d9060_base_t, dio_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(d9060_base_t, dio_w))
+ MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532_NEW, XTAL_4MHz/4)
+ MCFG_MOS6530n_IN_PA_CB(READ8(d9060_device_base, dio_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(d9060_device_base, dio_w))
- MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_4MHz/4)
- MCFG_MOS6530n_IN_PA_CB(READ8(d9060_base_t, riot1_pa_r))
- MCFG_MOS6530n_OUT_PA_CB(WRITE8(d9060_base_t, riot1_pa_w))
- MCFG_MOS6530n_IN_PB_CB(READ8(d9060_base_t, riot1_pb_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(d9060_base_t, riot1_pb_w))
+ MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532_NEW, XTAL_4MHz/4)
+ MCFG_MOS6530n_IN_PA_CB(READ8(d9060_device_base, riot1_pa_r))
+ MCFG_MOS6530n_OUT_PA_CB(WRITE8(d9060_device_base, riot1_pa_w))
+ MCFG_MOS6530n_IN_PB_CB(READ8(d9060_device_base, riot1_pb_r))
+ MCFG_MOS6530n_OUT_PB_CB(WRITE8(d9060_device_base, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_DOS_TAG, INPUT_LINE_IRQ0))
// controller
@@ -389,10 +389,10 @@ static MACHINE_CONFIG_FRAGMENT( d9060 )
MCFG_CPU_PROGRAM_MAP(d9060_hdc_mem)
MCFG_DEVICE_ADD(M6522_TAG, VIA6522, XTAL_4MHz/4)
- MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(d9060_base_t, scsi_data_w))
- MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(d9060_base_t, via_pb_w))
- MCFG_VIA6522_CA2_HANDLER(WRITELINE(d9060_base_t, ack_w))
- MCFG_VIA6522_CB2_HANDLER(WRITELINE(d9060_base_t, enable_w))
+ MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(d9060_device_base, scsi_data_w))
+ MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(d9060_device_base, via_pb_w))
+ MCFG_VIA6522_CA2_HANDLER(WRITELINE(d9060_device_base, ack_w))
+ MCFG_VIA6522_CB2_HANDLER(WRITELINE(d9060_device_base, enable_w))
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(M6502_HDC_TAG, M6502_IRQ_LINE))
MCFG_DEVICE_ADD(SASIBUS_TAG, SCSI_PORT, 0)
@@ -421,7 +421,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor d9060_base_t::device_mconfig_additions() const
+machine_config_constructor d9060_device_base::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( d9060 );
}
@@ -449,7 +449,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor d9060_base_t::device_input_ports() const
+ioport_constructor d9060_device_base::device_input_ports() const
{
return INPUT_PORTS_NAME( d9060 );
}
@@ -464,7 +464,7 @@ ioport_constructor d9060_base_t::device_input_ports() const
// update_ieee_signals -
//-------------------------------------------------
-inline void d9060_base_t::update_ieee_signals()
+inline void d9060_device_base::update_ieee_signals()
{
int atn = m_bus->atn_r();
int nrfd = !(!(!(atn && m_atna) && m_rfdo) || !(atn || m_atna));
@@ -481,50 +481,56 @@ inline void d9060_base_t::update_ieee_signals()
//**************************************************************************
//-------------------------------------------------
-// d9060_base_t - constructor
-//-------------------------------------------------
-
-d9060_base_t::d9060_base_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t variant, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_ieee488_interface(mconfig, *this),
- m_maincpu(*this, M6502_DOS_TAG),
- m_hdccpu(*this, M6502_HDC_TAG),
- m_riot0(*this, M6532_0_TAG),
- m_riot1(*this, M6532_1_TAG),
- m_via(*this, M6522_TAG),
- m_sasibus(*this, SASIBUS_TAG),
- m_sasi_data_out(*this, "sasi_data_out"),
- m_address(*this, "ADDRESS"),
- m_rfdo(1),
- m_daco(1),
- m_atna(1), m_ifc(0),
- m_enable(0), m_data(0),
- m_variant(variant)
+// d9060_device_base - constructor
+//-------------------------------------------------
+
+d9060_device_base::d9060_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_ieee488_interface(mconfig, *this)
+ , m_maincpu(*this, M6502_DOS_TAG)
+ , m_hdccpu(*this, M6502_HDC_TAG)
+ , m_riot0(*this, M6532_0_TAG)
+ , m_riot1(*this, M6532_1_TAG)
+ , m_via(*this, M6522_TAG)
+ , m_sasibus(*this, SASIBUS_TAG)
+ , m_sasi_data_out(*this, "sasi_data_out")
+ , m_address(*this, "ADDRESS")
+ , m_rfdo(1)
+ , m_daco(1)
+ , m_atna(1)
+ , m_ifc(0)
+ , m_enable(0)
+ , m_data(0)
+ , m_variant(variant)
{
}
//-------------------------------------------------
-// d9060_t - constructor
+// d9060_device - constructor
//-------------------------------------------------
-d9060_t::d9060_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : d9060_base_t(mconfig, D9060, "D9060", tag, owner, clock, TYPE_9060, "d9060", __FILE__) { }
+d9060_device::d9060_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : d9060_device_base(mconfig, D9060, tag, owner, clock, TYPE_9060)
+{
+}
//-------------------------------------------------
-// d9090_t - constructor
+// d9090_device - constructor
//-------------------------------------------------
-d9090_t::d9090_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : d9060_base_t(mconfig, D9090, "D9090", tag, owner, clock, TYPE_9090, "d9090", __FILE__) { }
+d9090_device::d9090_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : d9060_device_base(mconfig, D9090, tag, owner, clock, TYPE_9090)
+{
+}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
-void d9060_base_t::device_start()
+void d9060_device_base::device_start()
{
// state saving
save_item(NAME(m_rfdo));
@@ -541,7 +547,7 @@ void d9060_base_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void d9060_base_t::device_reset()
+void d9060_device_base::device_reset()
{
m_maincpu->set_input_line(M6502_SET_OVERFLOW, ASSERT_LINE);
m_maincpu->set_input_line(M6502_SET_OVERFLOW, CLEAR_LINE);
@@ -556,7 +562,7 @@ void d9060_base_t::device_reset()
// ieee488_atn - attention
//-------------------------------------------------
-void d9060_base_t::ieee488_atn(int state)
+void d9060_device_base::ieee488_atn(int state)
{
update_ieee_signals();
@@ -568,7 +574,7 @@ void d9060_base_t::ieee488_atn(int state)
// ieee488_ifc - interface clear
//-------------------------------------------------
-void d9060_base_t::ieee488_ifc(int state)
+void d9060_device_base::ieee488_ifc(int state)
{
if (!m_ifc && state)
{
diff --git a/src/devices/bus/ieee488/d9060.h b/src/devices/bus/ieee488/d9060.h
index 9934c0e0cb0..e58f4c5f01c 100644
--- a/src/devices/bus/ieee488/d9060.h
+++ b/src/devices/bus/ieee488/d9060.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_D9060_H
+#define MAME_BUS_IEEE488_D9060_H
-#ifndef __D9060__
-#define __D9060__
+#pragma once
#include "ieee488.h"
#include "cpu/m6502/m6502.h"
@@ -24,21 +24,11 @@
//**************************************************************************
-// ======================> d9060_base_t
+// ======================> d9060_device_base
-class d9060_base_t : public device_t,
- public device_ieee488_interface
+class d9060_device_base : public device_t, public device_ieee488_interface
{
public:
- enum
- {
- TYPE_9060,
- TYPE_9090
- };
-
- // construction/destruction
- d9060_base_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, uint32_t variant, const char *shortname, const char *source);
-
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -57,6 +47,15 @@ public:
DECLARE_WRITE8_MEMBER( scsi_data_w );
protected:
+ enum
+ {
+ TYPE_9060,
+ TYPE_9090
+ };
+
+ // construction/destruction
+ d9060_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -70,10 +69,10 @@ private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_hdccpu;
- required_device<mos6532_t> m_riot0;
- required_device<mos6532_t> m_riot1;
+ required_device<mos6532_new_device> m_riot0;
+ required_device<mos6532_new_device> m_riot1;
required_device<via6522_device> m_via;
- required_device<SCSI_PORT_DEVICE> m_sasibus;
+ required_device<scsi_port_device> m_sasibus;
required_device<output_latch_device> m_sasi_data_out;
required_ioport m_address;
@@ -91,30 +90,28 @@ private:
};
-// ======================> d9060_t
+// ======================> d9060_device
-class d9060_t : public d9060_base_t
+class d9060_device : public d9060_device_base
{
public:
// construction/destruction
- d9060_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ d9060_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
-// ======================> d9090_t
+// ======================> d9090_device
-class d9090_t : public d9060_base_t
+class d9090_device : public d9060_device_base
{
public:
// construction/destruction
- d9090_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ d9090_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
// device type definition
-extern const device_type D9060;
-extern const device_type D9090;
-
-
+DECLARE_DEVICE_TYPE(D9060, d9060_device)
+DECLARE_DEVICE_TYPE(D9090, d9090_device)
-#endif
+#endif // MAME_BUS_IEEE488_D9060_H
diff --git a/src/devices/bus/ieee488/hardbox.cpp b/src/devices/bus/ieee488/hardbox.cpp
index 5aa56ad92d9..0a61dca52a7 100644
--- a/src/devices/bus/ieee488/hardbox.cpp
+++ b/src/devices/bus/ieee488/hardbox.cpp
@@ -58,7 +58,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type HARDBOX = device_creator<hardbox_device>;
+DEFINE_DEVICE_TYPE(HARDBOX, hardbox_device, "hardbox", "SSE HardBox")
//-------------------------------------------------
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( hardbox_io, AS_IO, 8, hardbox_device )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE(I8255_0_TAG, i8255_device, read, write)
AM_RANGE(0x14, 0x17) AM_DEVREADWRITE(I8255_1_TAG, i8255_device, read, write)
- AM_RANGE(0x18, 0x18) AM_DEVREADWRITE(CORVUS_HDC_TAG, corvus_hdc_t, read, write)
+ AM_RANGE(0x18, 0x18) AM_DEVREADWRITE(CORVUS_HDC_TAG, corvus_hdc_device, read, write)
ADDRESS_MAP_END
@@ -232,8 +232,8 @@ READ8_MEMBER( hardbox_device::ppi1_pc_r )
uint8_t status = m_hdc->status_r(space, 0);
uint8_t data = 0;
- data |= (status & CONTROLLER_BUSY) ? 0 : 0x10;
- data |= (status & CONTROLLER_DIRECTION) ? 0 : 0x20;
+ data |= (status & corvus_hdc_device::CONTROLLER_BUSY) ? 0 : 0x10;
+ data |= (status & corvus_hdc_device::CONTROLLER_DIRECTION) ? 0 : 0x20;
return data;
}
@@ -348,10 +348,11 @@ ioport_constructor hardbox_device::device_input_ports() const
//-------------------------------------------------
hardbox_device::hardbox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, HARDBOX, "HardBox", tag, owner, clock, "hardbox", __FILE__),
- device_ieee488_interface(mconfig, *this),
- m_maincpu(*this, Z80_TAG),
- m_hdc(*this, CORVUS_HDC_TAG), m_ifc(0)
+ : device_t(mconfig, HARDBOX, tag, owner, clock)
+ , device_ieee488_interface(mconfig, *this)
+ , m_maincpu(*this, Z80_TAG)
+ , m_hdc(*this, CORVUS_HDC_TAG)
+ , m_ifc(0)
{
}
diff --git a/src/devices/bus/ieee488/hardbox.h b/src/devices/bus/ieee488/hardbox.h
index 8ea1acc5445..d10a19c7268 100644
--- a/src/devices/bus/ieee488/hardbox.h
+++ b/src/devices/bus/ieee488/hardbox.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_HARDBOX_H
+#define MAME_BUS_IEEE488_HARDBOX_H
-#ifndef __PET_HARDBOX__
-#define __PET_HARDBOX__
+#pragma once
#include "ieee488.h"
#include "cpu/z80/z80.h"
@@ -64,14 +64,13 @@ private:
};
required_device<cpu_device> m_maincpu;
- required_device<corvus_hdc_t> m_hdc;
+ required_device<corvus_hdc_device> m_hdc;
int m_ifc; // Tracks previous state of IEEE-488 IFC line
};
// device type definition
-extern const device_type HARDBOX;
-
+DECLARE_DEVICE_TYPE(HARDBOX, hardbox_device)
-#endif
+#endif // MAME_BUS_IEEE488_HARDBOX_H
diff --git a/src/devices/bus/ieee488/hp9895.cpp b/src/devices/bus/ieee488/hp9895.cpp
index 131e115f073..6e5e62d6e53 100644
--- a/src/devices/bus/ieee488/hp9895.cpp
+++ b/src/devices/bus/ieee488/hp9895.cpp
@@ -130,7 +130,7 @@ enum {
#define MIN_SYNC_BITS 29 // Number of bits to synchronize
// device type definition
-const device_type HP9895 = device_creator<hp9895_device>;
+DEFINE_DEVICE_TYPE(HP9895, hp9895_device, "hp9895", "HP9895")
// Masks of drive selectors in XV register
static const uint8_t xv_drive_masks[] = {
@@ -139,7 +139,7 @@ static const uint8_t xv_drive_masks[] = {
};
hp9895_device::hp9895_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, HP9895, "HP9895", tag, owner, clock, "hp9895", __FILE__),
+ : device_t(mconfig, HP9895, tag, owner, clock),
device_ieee488_interface(mconfig, *this),
m_cpu(*this , "cpu"),
m_phi(*this , "phi"),
diff --git a/src/devices/bus/ieee488/hp9895.h b/src/devices/bus/ieee488/hp9895.h
index 49b99ec0017..001a03abd56 100644
--- a/src/devices/bus/ieee488/hp9895.h
+++ b/src/devices/bus/ieee488/hp9895.h
@@ -8,10 +8,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_HP9895_H
+#define MAME_BUS_IEEE488_HP9895_H
-#ifndef _HP9895_H_
-#define _HP9895_H_
+#pragma once
#include "ieee488.h"
#include "cpu/z80/z80.h"
@@ -28,9 +28,6 @@ public:
// device-level overrides
virtual ioport_constructor device_input_ports() const override;
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -82,6 +79,11 @@ public:
// Floppy drive interface
void floppy_ready_cb(floppy_image_device *floppy , int state);
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
required_device<z80_device> m_cpu;
required_device<phi_device> m_phi;
@@ -129,6 +131,6 @@ private:
};
// device type definition
-extern const device_type HP9895;
+DECLARE_DEVICE_TYPE(HP9895, hp9895_device)
-#endif /* _HP9895_H_ */
+#endif // MAME_BUS_IEEE488_HP9895_H
diff --git a/src/devices/bus/ieee488/ieee488.cpp b/src/devices/bus/ieee488/ieee488.cpp
index 5b0ba2d9197..e224419c408 100644
--- a/src/devices/bus/ieee488/ieee488.cpp
+++ b/src/devices/bus/ieee488/ieee488.cpp
@@ -27,11 +27,8 @@ static const char *const SIGNAL_NAME[] = { "EOI", "DAV", "NRFD", "NDAC", "IFC",
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type IEEE488 = device_creator<ieee488_device>;
-const device_type IEEE488_SLOT = device_creator<ieee488_slot_device>;
-
-template class device_finder<ieee488_device, false>;
-template class device_finder<ieee488_device, true>;
+DEFINE_DEVICE_TYPE(IEEE488, ieee488_device, "ieee488", "IEEE-488 bus")
+DEFINE_DEVICE_TYPE(IEEE488_SLOT, ieee488_slot_device, "ieee488_slot", "IEEE-488 slot")
@@ -44,7 +41,7 @@ template class device_finder<ieee488_device, true>;
//-------------------------------------------------
device_ieee488_interface::device_ieee488_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device), m_next(nullptr), m_bus(nullptr), m_slot(nullptr)
+ : device_slot_card_interface(mconfig, device), m_bus(nullptr), m_slot(nullptr), m_next(nullptr)
{
}
@@ -68,8 +65,9 @@ device_ieee488_interface::~device_ieee488_interface()
//-------------------------------------------------
ieee488_slot_device::ieee488_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, IEEE488_SLOT, "IEEE-488 slot", tag, owner, clock, "ieee488_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_address(0)
+ device_t(mconfig, IEEE488_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_address(0)
{
}
@@ -104,17 +102,17 @@ void ieee488_slot_device::device_start()
// ieee488_device - constructor
//-------------------------------------------------
-ieee488_device::ieee488_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, IEEE488, "IEEE-488 bus", tag, owner, clock, "ieee488", __FILE__),
- m_write_eoi(*this),
- m_write_dav(*this),
- m_write_nrfd(*this),
- m_write_ndac(*this),
- m_write_ifc(*this),
- m_write_srq(*this),
- m_write_atn(*this),
- m_write_ren(*this),
- m_dio(0xff)
+ieee488_device::ieee488_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, IEEE488, tag, owner, clock),
+ m_write_eoi(*this),
+ m_write_dav(*this),
+ m_write_nrfd(*this),
+ m_write_ndac(*this),
+ m_write_ifc(*this),
+ m_write_srq(*this),
+ m_write_atn(*this),
+ m_write_ren(*this),
+ m_dio(0xff)
{
for (auto & elem : m_line)
{
@@ -398,7 +396,7 @@ SLOT_INTERFACE_START( cbm_ieee488_devices )
SLOT_INTERFACE("d9090", D9090)
SLOT_INTERFACE("softbox", SOFTBOX)
SLOT_INTERFACE("hardbox", HARDBOX)
- SLOT_INTERFACE("shark", SHARK)
+ SLOT_INTERFACE("shark", MSHARK)
SLOT_INTERFACE("c4023", C4023)
SLOT_INTERFACE_END
diff --git a/src/devices/bus/ieee488/ieee488.h b/src/devices/bus/ieee488/ieee488.h
index 681dbb8f1fe..c5dbb770e55 100644
--- a/src/devices/bus/ieee488/ieee488.h
+++ b/src/devices/bus/ieee488/ieee488.h
@@ -7,10 +7,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_IEEE488_H
+#define MAME_BUS_IEEE488_IEEE488_H
-#ifndef __IEEE488__
-#define __IEEE488__
+#pragma once
@@ -91,14 +91,14 @@ public:
// construction/destruction
ieee488_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _write> devcb_base &set_eoi_callback(_write wr) { return m_write_eoi.set_callback(wr); }
- template<class _write> devcb_base &set_dav_callback(_write wr) { return m_write_dav.set_callback(wr); }
- template<class _write> devcb_base &set_nrfd_callback(_write wr) { return m_write_nrfd.set_callback(wr); }
- template<class _write> devcb_base &set_ndac_callback(_write wr) { return m_write_ndac.set_callback(wr); }
- template<class _write> devcb_base &set_ifc_callback(_write wr) { return m_write_ifc.set_callback(wr); }
- template<class _write> devcb_base &set_srq_callback(_write wr) { return m_write_srq.set_callback(wr); }
- template<class _write> devcb_base &set_atn_callback(_write wr) { return m_write_atn.set_callback(wr); }
- template<class _write> devcb_base &set_ren_callback(_write wr) { return m_write_ren.set_callback(wr); }
+ template <class Object> devcb_base &set_eoi_callback(Object &&cb) { return m_write_eoi.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_dav_callback(Object &&cb) { return m_write_dav.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_nrfd_callback(Object &&cb) { return m_write_nrfd.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ndac_callback(Object &&cb) { return m_write_ndac.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ifc_callback(Object &&cb) { return m_write_ifc.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_srq_callback(Object &&cb) { return m_write_srq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_atn_callback(Object &&cb) { return m_write_atn.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_ren_callback(Object &&cb) { return m_write_ren.set_callback(std::forward<Object>(cb)); }
void add_device(ieee488_slot_device *slot, device_t *target);
@@ -216,41 +216,42 @@ protected:
class device_ieee488_interface : public device_slot_card_interface
{
friend class ieee488_device;
+ template <class ElementType> friend class simple_list;
public:
// construction/destruction
- device_ieee488_interface(const machine_config &mconfig, device_t &device);
virtual ~device_ieee488_interface();
device_ieee488_interface *next() const { return m_next; }
- device_ieee488_interface *m_next;
// optional operation overrides
- virtual void ieee488_eoi(int state) { };
- virtual void ieee488_dav(int state) { };
- virtual void ieee488_nrfd(int state) { };
- virtual void ieee488_ndac(int state) { };
- virtual void ieee488_ifc(int state) { };
- virtual void ieee488_srq(int state) { };
- virtual void ieee488_atn(int state) { };
- virtual void ieee488_ren(int state) { };
+ virtual void ieee488_eoi(int state) { }
+ virtual void ieee488_dav(int state) { }
+ virtual void ieee488_nrfd(int state) { }
+ virtual void ieee488_ndac(int state) { }
+ virtual void ieee488_ifc(int state) { }
+ virtual void ieee488_srq(int state) { }
+ virtual void ieee488_atn(int state) { }
+ virtual void ieee488_ren(int state) { }
+
+protected:
+ device_ieee488_interface(const machine_config &mconfig, device_t &device);
ieee488_device *m_bus;
ieee488_slot_device *m_slot;
+
+private:
+ device_ieee488_interface *m_next;
};
// device type definition
-extern const device_type IEEE488;
-extern const device_type IEEE488_SLOT;
-
-extern template class device_finder<ieee488_device, false>;
-extern template class device_finder<ieee488_device, true>;
+DECLARE_DEVICE_TYPE(IEEE488, ieee488_device)
+DECLARE_DEVICE_TYPE(IEEE488_SLOT, ieee488_slot_device)
SLOT_INTERFACE_EXTERN( cbm_ieee488_devices );
SLOT_INTERFACE_EXTERN( hp_ieee488_devices );
-
-#endif
+#endif // MAME_BUS_IEEE488_IEEE488_H
diff --git a/src/devices/bus/ieee488/shark.cpp b/src/devices/bus/ieee488/shark.cpp
index 10c911cca61..31d747446ab 100644
--- a/src/devices/bus/ieee488/shark.cpp
+++ b/src/devices/bus/ieee488/shark.cpp
@@ -27,7 +27,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SHARK = device_creator<mshark_device>;
+DEFINE_DEVICE_TYPE(MSHARK, mshark_device, "mshark", "Mator SHARK")
//-------------------------------------------------
@@ -129,9 +129,9 @@ ioport_constructor mshark_device::device_input_ports() const
//-------------------------------------------------
mshark_device::mshark_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SHARK, "Mator SHARK", tag, owner, clock, "mshark", __FILE__),
- device_ieee488_interface(mconfig, *this),
- m_maincpu(*this, I8085_TAG)
+ : device_t(mconfig, MSHARK, tag, owner, clock)
+ , device_ieee488_interface(mconfig, *this)
+ , m_maincpu(*this, I8085_TAG)
{
}
diff --git a/src/devices/bus/ieee488/shark.h b/src/devices/bus/ieee488/shark.h
index e7d92a5da4c..5b3893cd910 100644
--- a/src/devices/bus/ieee488/shark.h
+++ b/src/devices/bus/ieee488/shark.h
@@ -8,10 +8,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_SHARK_H
+#define MAME_BUS_IEEE488_SHARK_H
-#ifndef __SHARK__
-#define __SHARK__
+#pragma once
#include "ieee488.h"
@@ -45,8 +45,6 @@ private:
// device type definition
-extern const device_type SHARK;
-
-
+DECLARE_DEVICE_TYPE(MSHARK, mshark_device)
-#endif
+#endif // MAME_BUS_IEEE488_SHARK_H
diff --git a/src/devices/bus/ieee488/softbox.cpp b/src/devices/bus/ieee488/softbox.cpp
index b2086a995b9..3010e87cd21 100644
--- a/src/devices/bus/ieee488/softbox.cpp
+++ b/src/devices/bus/ieee488/softbox.cpp
@@ -36,7 +36,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SOFTBOX = device_creator<softbox_device>;
+DEFINE_DEVICE_TYPE(SOFTBOX, softbox_device, "pet_softbox", "SSE SoftBox")
//-------------------------------------------------
@@ -89,7 +89,7 @@ static ADDRESS_MAP_START( softbox_io, AS_IO, 8, softbox_device )
AM_RANGE(0x0c, 0x0c) AM_WRITE(dbrg_w)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE(I8255_0_TAG, i8255_device, read, write)
AM_RANGE(0x14, 0x17) AM_DEVREADWRITE(I8255_1_TAG, i8255_device, read, write)
- AM_RANGE(0x18, 0x18) AM_DEVREADWRITE(CORVUS_HDC_TAG, corvus_hdc_t, read, write)
+ AM_RANGE(0x18, 0x18) AM_DEVREADWRITE(CORVUS_HDC_TAG, corvus_hdc_device, read, write)
ADDRESS_MAP_END
@@ -190,8 +190,8 @@ READ8_MEMBER( softbox_device::ppi1_pc_r )
uint8_t status = m_hdc->status_r(space, 0);
uint8_t data = 0;
- data |= (status & CONTROLLER_BUSY) ? 0 : 0x10;
- data |= (status & CONTROLLER_DIRECTION) ? 0 : 0x20;
+ data |= (status & corvus_hdc_device::CONTROLLER_BUSY) ? 0 : 0x10;
+ data |= (status & corvus_hdc_device::CONTROLLER_DIRECTION) ? 0 : 0x20;
return data;
}
@@ -328,11 +328,12 @@ ioport_constructor softbox_device::device_input_ports() const
//-------------------------------------------------
softbox_device::softbox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SOFTBOX, "PET SoftBox", tag, owner, clock, "pet_softbox", __FILE__),
- device_ieee488_interface(mconfig, *this),
- m_maincpu(*this, Z80_TAG),
- m_dbrg(*this, COM8116_TAG),
- m_hdc(*this, CORVUS_HDC_TAG), m_ifc(0)
+ : device_t(mconfig, SOFTBOX, tag, owner, clock)
+ , device_ieee488_interface(mconfig, *this)
+ , m_maincpu(*this, Z80_TAG)
+ , m_dbrg(*this, COM8116_TAG)
+ , m_hdc(*this, CORVUS_HDC_TAG)
+ , m_ifc(0)
{
}
diff --git a/src/devices/bus/ieee488/softbox.h b/src/devices/bus/ieee488/softbox.h
index 9b0d5611c1a..07bb986ba91 100644
--- a/src/devices/bus/ieee488/softbox.h
+++ b/src/devices/bus/ieee488/softbox.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IEEE488_SOFTBOX_H
+#define MAME_BUS_IEEE488_SOFTBOX_H
-#ifndef __PET_SOFTBOX__
-#define __PET_SOFTBOX__
+#pragma once
#include "ieee488.h"
#include "bus/rs232/rs232.h"
@@ -68,15 +68,14 @@ private:
required_device<cpu_device> m_maincpu;
required_device<com8116_device> m_dbrg;
- required_device<corvus_hdc_t> m_hdc;
+ required_device<corvus_hdc_device> m_hdc;
int m_ifc; // Tracks previous state of IEEE-488 IFC line
};
// device type definition
-extern const device_type SOFTBOX;
-
+DECLARE_DEVICE_TYPE(SOFTBOX, softbox_device)
-#endif
+#endif // MAME_BUS_IEEE488_SOFTBOX_H
diff --git a/src/devices/bus/imi7000/imi5000h.cpp b/src/devices/bus/imi7000/imi5000h.cpp
index 5d72030ad44..751721d4db7 100644
--- a/src/devices/bus/imi7000/imi5000h.cpp
+++ b/src/devices/bus/imi7000/imi5000h.cpp
@@ -29,7 +29,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type IMI5000H = device_creator<imi5000h_device>;
+DEFINE_DEVICE_TYPE(IMI5000H, imi5000h_device, "imi5000h", "IMI 5000H")
//-------------------------------------------------
@@ -447,7 +447,7 @@ ioport_constructor imi5000h_device::device_input_ports() const
//-------------------------------------------------
imi5000h_device::imi5000h_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, IMI5000H, "IMI 5000H", tag, owner, clock, "imi5000h", __FILE__),
+ device_t(mconfig, IMI5000H, tag, owner, clock),
device_imi7000_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG),
m_ctc(*this, Z80CTC_TAG),
diff --git a/src/devices/bus/imi7000/imi5000h.h b/src/devices/bus/imi7000/imi5000h.h
index 153ad678d37..89165ef328e 100644
--- a/src/devices/bus/imi7000/imi5000h.h
+++ b/src/devices/bus/imi7000/imi5000h.h
@@ -8,10 +8,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IMI7000_IMI5000H_H
+#define MAME_BUS_IMI7000_IMI5000H_H
-#ifndef __IMI5000H__
-#define __IMI5000H__
+#pragma once
#include "imi7000.h"
#include "cpu/z80/z80.h"
@@ -82,7 +82,6 @@ private:
// device type definition
extern const device_type IMI5000H;
+DECLARE_DEVICE_TYPE(IMI5000H, imi5000h_device)
-
-
-#endif
+#endif // MAME_BUS_IMI7000_IMI5000H_H
diff --git a/src/devices/bus/imi7000/imi7000.cpp b/src/devices/bus/imi7000/imi7000.cpp
index c558770c4f6..95f693a571e 100644
--- a/src/devices/bus/imi7000/imi7000.cpp
+++ b/src/devices/bus/imi7000/imi7000.cpp
@@ -23,8 +23,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type IMI7000_BUS = device_creator<imi7000_bus_device>;
-const device_type IMI7000_SLOT = device_creator<imi7000_slot_device>;
+DEFINE_DEVICE_TYPE(IMI7000_BUS, imi7000_bus_device, "imi7000", "IMI7000 bus")
+DEFINE_DEVICE_TYPE(IMI7000_SLOT, imi7000_slot_device, "imi7000_slot", "IMI7000 slot")
@@ -51,9 +51,10 @@ device_imi7000_interface::device_imi7000_interface(const machine_config &mconfig
// imi7000_slot_device - constructor
//-------------------------------------------------
-imi7000_slot_device::imi7000_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, IMI7000_SLOT, "IMI 7000 slot", tag, owner, clock, "imi7000_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_card(nullptr)
+imi7000_slot_device::imi7000_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, IMI7000_SLOT, tag, owner, clock)
+ , device_slot_interface(mconfig, *this)
+ , m_card(nullptr)
{
}
@@ -76,8 +77,8 @@ void imi7000_slot_device::device_start()
// imi7000_bus_device - constructor
//-------------------------------------------------
-imi7000_bus_device::imi7000_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, IMI7000_BUS, "IMI 7000 bus", tag, owner, clock, "imi7000", __FILE__)
+imi7000_bus_device::imi7000_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, IMI7000_BUS, tag, owner, clock)
{
}
diff --git a/src/devices/bus/imi7000/imi7000.h b/src/devices/bus/imi7000/imi7000.h
index 765f2ef5a3f..90b195a2667 100644
--- a/src/devices/bus/imi7000/imi7000.h
+++ b/src/devices/bus/imi7000/imi7000.h
@@ -26,10 +26,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_IMI7000_IMI7000_H
+#define MAME_BUS_IMI7000_IMI7000_H
-#ifndef __IMI7000_BUS__
-#define __IMI7000_BUS__
+#pragma once
@@ -106,24 +106,20 @@ class device_imi7000_interface : public device_slot_card_interface
{
friend class imi7000_slot_device;
-public:
+protected:
// construction/destruction
device_imi7000_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_imi7000_interface() { }
-protected:
imi7000_slot_device *m_slot;
};
// device type definition
-extern const device_type IMI7000_BUS;
-extern const device_type IMI7000_SLOT;
+DECLARE_DEVICE_TYPE(IMI7000_BUS, imi7000_bus_device)
+DECLARE_DEVICE_TYPE(IMI7000_SLOT, imi7000_slot_device)
// slot interface
SLOT_INTERFACE_EXTERN( imi7000_devices );
-
-
-#endif
+#endif // MAME_BUS_IMI7000_IMI7000_H
diff --git a/src/devices/bus/intv/ecs.cpp b/src/devices/bus/intv/ecs.cpp
index 006de780b73..d591a34f570 100644
--- a/src/devices/bus/intv/ecs.cpp
+++ b/src/devices/bus/intv/ecs.cpp
@@ -26,10 +26,10 @@
// intv_ecs_device - constructor
//-------------------------------------------------
-const device_type INTV_ROM_ECS = device_creator<intv_ecs_device>;
+DEFINE_DEVICE_TYPE(INTV_ROM_ECS, intv_ecs_device, "intv_ecs", "Intellivision ECS Expansion")
intv_ecs_device::intv_ecs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : intv_rom_device(mconfig, INTV_ROM_ECS, "Intellivision ECS Expansion", tag, owner, clock, "intv_ecs", __FILE__),
+ : intv_rom_device(mconfig, INTV_ROM_ECS, tag, owner, clock),
m_snd(*this, "ay8914"),
m_subslot(*this, "subslot"),
m_voice_enabled(false),
@@ -186,3 +186,66 @@ WRITE16_MEMBER(intv_ecs_device::write_ay)
if (ACCESSING_BITS_0_7)
return m_snd->write(space, offset, data, mem_mask);
}
+
+
+READ16_MEMBER(intv_ecs_device::read_rom80)
+{
+ if (m_ram88_enabled && offset >= 0x800)
+ return m_subslot->read_ram(space, offset & 0x7ff, mem_mask);
+ else
+ return m_subslot->read_rom80(space, offset, mem_mask);
+}
+
+
+READ16_MEMBER(intv_ecs_device::read_romd0)
+{
+ if (m_ramd0_enabled && offset < 0x800)
+ return m_subslot->read_ram(space, offset, mem_mask);
+ else
+ return m_subslot->read_romd0(space, offset, mem_mask);
+}
+
+
+WRITE16_MEMBER(intv_ecs_device::write_rom20)
+{
+ if (offset == 0xfff)
+ {
+ if (data == 0x2a50)
+ m_bank_base[2] = 0;
+ else if (data == 0x2a51)
+ m_bank_base[2] = 1;
+ }
+}
+
+WRITE16_MEMBER(intv_ecs_device::write_rom70)
+{
+ if (offset == 0xfff)
+ {
+ if (data == 0x7a50)
+ m_bank_base[7] = 0;
+ else if (data == 0x7a51)
+ m_bank_base[7] = 1;
+ }
+}
+
+WRITE16_MEMBER(intv_ecs_device::write_rome0)
+{
+ if (offset == 0xfff)
+ {
+ if (data == 0xea50)
+ m_bank_base[14] = 0;
+ else if (data == 0xea51)
+ m_bank_base[14] = 1;
+ }
+}
+
+WRITE16_MEMBER(intv_ecs_device::write_romf0)
+{
+ if (offset == 0xfff)
+ {
+ if (data == 0xfa50)
+ m_bank_base[15] = 0;
+ else if (data == 0xfa51)
+ m_bank_base[15] = 1;
+ }
+}
diff --git a/src/devices/bus/intv/ecs.h b/src/devices/bus/intv/ecs.h
index e4d6867996e..d577ba66250 100644
--- a/src/devices/bus/intv/ecs.h
+++ b/src/devices/bus/intv/ecs.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __INTV_ECS_H
-#define __INTV_ECS_H
+#ifndef MAME_BUS_INTV_ECS_H
+#define MAME_BUS_INTV_ECS_H
+
+#pragma once
#include "slot.h"
#include "rom.h"
@@ -18,8 +20,6 @@ public:
intv_ecs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -44,66 +44,18 @@ public:
virtual DECLARE_READ16_MEMBER(read_rom48) override { return m_subslot->read_rom48(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_rom50) override { return m_subslot->read_rom50(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_rom60) override { return m_subslot->read_rom60(space, offset, mem_mask); }
- virtual DECLARE_READ16_MEMBER(read_rom80) override
- {
- if (m_ram88_enabled && offset >= 0x800)
- return m_subslot->read_ram(space, offset & 0x7ff, mem_mask);
- else
- return m_subslot->read_rom80(space, offset, mem_mask);
- }
+ virtual DECLARE_READ16_MEMBER(read_rom80) override;
virtual DECLARE_READ16_MEMBER(read_rom90) override { return m_subslot->read_rom90(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_roma0) override { return m_subslot->read_roma0(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_romb0) override { return m_subslot->read_romb0(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_romc0) override { return m_subslot->read_romc0(space, offset, mem_mask); }
- virtual DECLARE_READ16_MEMBER(read_romd0) override
- {
- if (m_ramd0_enabled && offset < 0x800)
- return m_subslot->read_ram(space, offset, mem_mask);
- else
- return m_subslot->read_romd0(space, offset, mem_mask);
- }
+ virtual DECLARE_READ16_MEMBER(read_romd0) override;
// paged ROM banking
- virtual DECLARE_WRITE16_MEMBER(write_rom20) override
- {
- if (offset == 0xfff)
- {
- if (data == 0x2a50)
- m_bank_base[2] = 0;
- else if (data == 0x2a51)
- m_bank_base[2] = 1;
- }
- }
- virtual DECLARE_WRITE16_MEMBER(write_rom70) override
- {
- if (offset == 0xfff)
- {
- if (data == 0x7a50)
- m_bank_base[7] = 0;
- else if (data == 0x7a51)
- m_bank_base[7] = 1;
- }
- }
- virtual DECLARE_WRITE16_MEMBER(write_rome0) override
- {
- if (offset == 0xfff)
- {
- if (data == 0xea50)
- m_bank_base[14] = 0;
- else if (data == 0xea51)
- m_bank_base[14] = 1;
- }
- }
- virtual DECLARE_WRITE16_MEMBER(write_romf0) override
- {
- if (offset == 0xfff)
- {
- if (data == 0xfa50)
- m_bank_base[15] = 0;
- else if (data == 0xfa51)
- m_bank_base[15] = 1;
- }
- }
+ virtual DECLARE_WRITE16_MEMBER(write_rom20) override;
+ virtual DECLARE_WRITE16_MEMBER(write_rom70) override;
+ virtual DECLARE_WRITE16_MEMBER(write_rome0) override;
+ virtual DECLARE_WRITE16_MEMBER(write_romf0) override;
// RAM passthru write
virtual DECLARE_WRITE16_MEMBER(write_88) override { if (m_ram88_enabled) m_subslot->write_ram(space, offset, data, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(write_d0) override { if (m_ramd0_enabled) m_subslot->write_ram(space, offset, data, mem_mask); }
@@ -113,6 +65,10 @@ public:
virtual void late_subslot_setup() override;
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
required_device<ay8914_device> m_snd;
@@ -124,6 +80,6 @@ private:
// device type definition
-extern const device_type INTV_ROM_ECS;
+DECLARE_DEVICE_TYPE(INTV_ROM_ECS, intv_ecs_device)
-#endif
+#endif // MAME_BUS_INTV_ECS_H
diff --git a/src/devices/bus/intv/rom.cpp b/src/devices/bus/intv/rom.cpp
index 8fef5d47432..f320d1cae49 100644
--- a/src/devices/bus/intv/rom.cpp
+++ b/src/devices/bus/intv/rom.cpp
@@ -17,35 +17,34 @@
// intv_rom_device - constructor
//-------------------------------------------------
-const device_type INTV_ROM_STD = device_creator<intv_rom_device>;
-const device_type INTV_ROM_RAM = device_creator<intv_ram_device>;
-const device_type INTV_ROM_GFACT = device_creator<intv_gfact_device>;
-const device_type INTV_ROM_WSMLB = device_creator<intv_wsmlb_device>;
+DEFINE_DEVICE_TYPE(INTV_ROM_STD, intv_rom_device, "intv_rom", "Intellivision Standard Carts")
+DEFINE_DEVICE_TYPE(INTV_ROM_RAM, intv_ram_device, "intv_ram", "Intellivision Carts w/RAM")
+DEFINE_DEVICE_TYPE(INTV_ROM_GFACT, intv_gfact_device, "intv_gfact", "Intellivision Game Factory Cart")
+DEFINE_DEVICE_TYPE(INTV_ROM_WSMLB, intv_wsmlb_device, "intv_wsmlb", "Intellivision World Series Baseball Cart")
-intv_rom_device::intv_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_intv_cart_interface( mconfig, *this )
+intv_rom_device::intv_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_intv_cart_interface(mconfig, *this)
{
}
intv_rom_device::intv_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, INTV_ROM_STD, "Intellivision Standard Carts", tag, owner, clock, "intv_rom", __FILE__),
- device_intv_cart_interface( mconfig, *this )
+ : intv_rom_device(mconfig, INTV_ROM_STD, tag, owner, clock)
{
}
intv_ram_device::intv_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : intv_rom_device(mconfig, INTV_ROM_RAM, "Intellivision Carts w/RAM", tag, owner, clock, "intv_ram", __FILE__)
+ : intv_rom_device(mconfig, INTV_ROM_RAM, tag, owner, clock)
{
}
intv_gfact_device::intv_gfact_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : intv_rom_device(mconfig, INTV_ROM_GFACT, "Intellivision Game Factory Cart", tag, owner, clock, "intv_gfact", __FILE__)
+ : intv_rom_device(mconfig, INTV_ROM_GFACT, tag, owner, clock)
{
}
intv_wsmlb_device::intv_wsmlb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : intv_rom_device(mconfig, INTV_ROM_WSMLB, "Intellivision World Series Baseball Cart", tag, owner, clock, "intv_wsmlb", __FILE__)
+ : intv_rom_device(mconfig, INTV_ROM_WSMLB, tag, owner, clock)
{
}
diff --git a/src/devices/bus/intv/rom.h b/src/devices/bus/intv/rom.h
index 1db545b2678..7b83b2709fe 100644
--- a/src/devices/bus/intv/rom.h
+++ b/src/devices/bus/intv/rom.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __INTV_ROM_H
-#define __INTV_ROM_H
+#ifndef MAME_BUS_INTV_ROM_H
+#define MAME_BUS_INTV_ROM_H
#include "slot.h"
@@ -13,7 +13,6 @@ class intv_rom_device : public device_t,
{
public:
// construction/destruction
- intv_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
intv_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
@@ -33,6 +32,9 @@ public:
virtual DECLARE_READ16_MEMBER(read_rome0) override { return INTV_ROM16_READ(offset + 0xe000); }
virtual DECLARE_READ16_MEMBER(read_romf0) override { return INTV_ROM16_READ(offset + 0xf000); }
+protected:
+ intv_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override {}
virtual void device_reset() override {}
@@ -76,9 +78,9 @@ public:
// device type definition
-extern const device_type INTV_ROM_STD;
-extern const device_type INTV_ROM_RAM;
-extern const device_type INTV_ROM_GFACT;
-extern const device_type INTV_ROM_WSMLB;
+DECLARE_DEVICE_TYPE(INTV_ROM_STD, intv_rom_device)
+DECLARE_DEVICE_TYPE(INTV_ROM_RAM, intv_ram_device)
+DECLARE_DEVICE_TYPE(INTV_ROM_GFACT, intv_gfact_device)
+DECLARE_DEVICE_TYPE(INTV_ROM_WSMLB, intv_wsmlb_device)
-#endif
+#endif // MAME_BUS_INTV_ROM_H
diff --git a/src/devices/bus/intv/slot.cpp b/src/devices/bus/intv/slot.cpp
index 99ae2618c7b..d86c8fe91c4 100644
--- a/src/devices/bus/intv/slot.cpp
+++ b/src/devices/bus/intv/slot.cpp
@@ -86,7 +86,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type INTV_CART_SLOT = device_creator<intv_cart_slot_device>;
+DEFINE_DEVICE_TYPE(INTV_CART_SLOT, intv_cart_slot_device, "intv_cart_slot", "Intellivision Cartridge Slot")
//**************************************************************************
// Intellivision Cartridges Interface
@@ -145,10 +145,11 @@ void device_intv_cart_interface::ram_alloc(uint32_t size)
// intv_cart_slot_device - constructor
//-------------------------------------------------
intv_cart_slot_device::intv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, INTV_CART_SLOT, "Intellivision Cartridge Slot", tag, owner, clock, "intv_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(INTV_STD), m_cart(nullptr)
+ device_t(mconfig, INTV_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(INTV_STD),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/intv/slot.h b/src/devices/bus/intv/slot.h
index 5036c25ecb5..9442160625a 100644
--- a/src/devices/bus/intv/slot.h
+++ b/src/devices/bus/intv/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __INTV_SLOT_H
-#define __INTV_SLOT_H
+#ifndef MAME_BUS_INTV_SLOT_H
+#define MAME_BUS_INTV_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -34,7 +36,6 @@ class device_intv_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_intv_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_intv_cart_interface();
// reading and writing
@@ -80,6 +81,8 @@ public:
virtual void late_subslot_setup() {}
protected:
+ device_intv_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -98,9 +101,6 @@ public:
intv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~intv_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override {}
@@ -159,7 +159,9 @@ public:
virtual DECLARE_WRITE16_MEMBER(write_rome0) { if (m_cart) m_cart->write_rome0(space, offset, data, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(write_romf0) { if (m_cart) m_cart->write_romf0(space, offset, data, mem_mask); }
-//protected:
+protected:
+ // device-level overrides
+ virtual void device_start() override;
int m_type;
device_intv_cart_interface* m_cart;
@@ -168,7 +170,7 @@ public:
// device type definition
-extern const device_type INTV_CART_SLOT;
+DECLARE_DEVICE_TYPE(INTV_CART_SLOT, intv_cart_slot_device)
/***************************************************************************
@@ -183,4 +185,4 @@ extern const device_type INTV_CART_SLOT;
SLOT_INTERFACE_EXTERN(intv_cart);
-#endif
+#endif // MAME_BUS_INTV_SLOT_H
diff --git a/src/devices/bus/intv/voice.cpp b/src/devices/bus/intv/voice.cpp
index b144b0008c4..04fd90f4277 100644
--- a/src/devices/bus/intv/voice.cpp
+++ b/src/devices/bus/intv/voice.cpp
@@ -20,10 +20,10 @@
// intv_voice_device - constructor
//-------------------------------------------------
-const device_type INTV_ROM_VOICE = device_creator<intv_voice_device>;
+DEFINE_DEVICE_TYPE(INTV_ROM_VOICE, intv_voice_device, "intv_voice", "Intellivision Intellivoice Expansion")
intv_voice_device::intv_voice_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : intv_rom_device(mconfig, INTV_ROM_VOICE, "Intellivision Intellivoice Expansion", tag, owner, clock, "intv_voice", __FILE__),
+ : intv_rom_device(mconfig, INTV_ROM_VOICE, tag, owner, clock),
m_speech(*this, "sp0256_speech"),
m_subslot(*this, "subslot"),
m_ramd0_enabled(false),
@@ -123,3 +123,20 @@ WRITE16_MEMBER(intv_voice_device::write_speech)
if (ACCESSING_BITS_0_7)
return m_speech->spb640_w(space, offset, data, mem_mask);
}
+
+
+READ16_MEMBER(intv_voice_device::read_rom80)
+{
+ if (m_ram88_enabled && offset >= 0x800)
+ return m_subslot->read_ram(space, offset & 0x7ff, mem_mask);
+ else
+ return m_subslot->read_rom80(space, offset, mem_mask);
+}
+
+READ16_MEMBER(intv_voice_device::read_romd0)
+{
+ if (m_ramd0_enabled && offset < 0x800)
+ return m_subslot->read_ram(space, offset, mem_mask);
+ else
+ return m_subslot->read_romd0(space, offset, mem_mask);
+}
diff --git a/src/devices/bus/intv/voice.h b/src/devices/bus/intv/voice.h
index 133f16c62a6..0cf6a2d433b 100644
--- a/src/devices/bus/intv/voice.h
+++ b/src/devices/bus/intv/voice.h
@@ -17,7 +17,6 @@ public:
intv_voice_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -34,24 +33,12 @@ public:
virtual DECLARE_READ16_MEMBER(read_rom50) override { return m_subslot->read_rom50(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_rom60) override { return m_subslot->read_rom60(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_rom70) override { return m_subslot->read_rom70(space, offset, mem_mask); }
- virtual DECLARE_READ16_MEMBER(read_rom80) override
- {
- if (m_ram88_enabled && offset >= 0x800)
- return m_subslot->read_ram(space, offset & 0x7ff, mem_mask);
- else
- return m_subslot->read_rom80(space, offset, mem_mask);
- }
+ virtual DECLARE_READ16_MEMBER(read_rom80) override;
virtual DECLARE_READ16_MEMBER(read_rom90) override { return m_subslot->read_rom90(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_roma0) override { return m_subslot->read_roma0(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_romb0) override { return m_subslot->read_romb0(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_romc0) override { return m_subslot->read_romc0(space, offset, mem_mask); }
- virtual DECLARE_READ16_MEMBER(read_romd0) override
- {
- if (m_ramd0_enabled && offset < 0x800)
- return m_subslot->read_ram(space, offset, mem_mask);
- else
- return m_subslot->read_romd0(space, offset, mem_mask);
- }
+ virtual DECLARE_READ16_MEMBER(read_romd0) override;
virtual DECLARE_READ16_MEMBER(read_rome0) override { return m_subslot->read_rome0(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(read_romf0) override { return m_subslot->read_romf0(space, offset, mem_mask); }
@@ -63,6 +50,9 @@ public:
virtual void late_subslot_setup() override;
+protected:
+ virtual void device_start() override;
+
private:
required_device<sp0256_device> m_speech;
required_device<intv_cart_slot_device> m_subslot;
@@ -70,9 +60,7 @@ private:
};
-
-
// device type definition
-extern const device_type INTV_ROM_VOICE;
+DECLARE_DEVICE_TYPE(INTV_ROM_VOICE, intv_voice_device)
-#endif
+#endif // MAME_BUS_INTV_SLOT_H
diff --git a/src/devices/bus/intv_ctrl/ctrl.cpp b/src/devices/bus/intv_ctrl/ctrl.cpp
index 510ac13cba8..01b64ba6aef 100644
--- a/src/devices/bus/intv_ctrl/ctrl.cpp
+++ b/src/devices/bus/intv_ctrl/ctrl.cpp
@@ -16,7 +16,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type INTV_CONTROL_PORT = device_creator<intv_control_port_device>;
+DEFINE_DEVICE_TYPE(INTV_CONTROL_PORT, intv_control_port_device, "intv_control_port", "Mattel Intellivision control port")
//**************************************************************************
@@ -52,8 +52,9 @@ device_intv_control_port_interface::~device_intv_control_port_interface()
//-------------------------------------------------
intv_control_port_device::intv_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, INTV_CONTROL_PORT, "Mattel Intellivision control port", tag, owner, clock, "intv_control_port", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, INTV_CONTROL_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_device(nullptr)
{
}
diff --git a/src/devices/bus/intv_ctrl/ctrl.h b/src/devices/bus/intv_ctrl/ctrl.h
index 0507dbf062d..a46011845f2 100644
--- a/src/devices/bus/intv_ctrl/ctrl.h
+++ b/src/devices/bus/intv_ctrl/ctrl.h
@@ -6,12 +6,11 @@
**********************************************************************/
+#ifndef MAME_BUS_INTV_CTRL_CTRL_H
+#define MAME_BUS_INTV_CTRL_CTRL_H
#pragma once
-#ifndef __INTV_CONTROL_PORT__
-#define __INTV_CONTROL_PORT__
-
//**************************************************************************
// TYPE DEFINITIONS
@@ -25,12 +24,13 @@ class device_intv_control_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_intv_control_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_intv_control_port_interface();
virtual uint8_t read_ctrl() { return 0; };
protected:
+ device_intv_control_port_interface(const machine_config &mconfig, device_t &device);
+
intv_control_port_device *m_port;
};
@@ -56,7 +56,7 @@ protected:
// device type definition
-extern const device_type INTV_CONTROL_PORT;
+DECLARE_DEVICE_TYPE(INTV_CONTROL_PORT, intv_control_port_device)
//**************************************************************************
@@ -72,4 +72,4 @@ extern const device_type INTV_CONTROL_PORT;
SLOT_INTERFACE_EXTERN( intv_control_port_devices );
-#endif
+#endif // MAME_BUS_INTV_CTRL_CTRL_H
diff --git a/src/devices/bus/intv_ctrl/ecs_ctrl.cpp b/src/devices/bus/intv_ctrl/ecs_ctrl.cpp
index 4b187442585..077c9685c7b 100644
--- a/src/devices/bus/intv_ctrl/ecs_ctrl.cpp
+++ b/src/devices/bus/intv_ctrl/ecs_ctrl.cpp
@@ -30,7 +30,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type INTVECS_CONTROL_PORT = device_creator<intvecs_control_port_device>;
+DEFINE_DEVICE_TYPE(INTVECS_CONTROL_PORT, intvecs_control_port_device, "intvecs_control_port", "Mattel Intellivision ECS control port (HACK)")
//**************************************************************************
@@ -66,8 +66,8 @@ device_intvecs_control_port_interface::~device_intvecs_control_port_interface()
//-------------------------------------------------
intvecs_control_port_device::intvecs_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, INTVECS_CONTROL_PORT, "Mattel Intellivision ECS control port (HACK)", tag, owner, clock, "intvecs_control_port", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, INTVECS_CONTROL_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this), m_device(nullptr)
{
}
@@ -137,7 +137,7 @@ SLOT_INTERFACE_END
// ECS_CTRLS - A pair of hand controllers
//-------------------------------------------------
-const device_type ECS_CTRLS = device_creator<intvecs_ctrls_device>;
+DEFINE_DEVICE_TYPE(ECS_CTRLS, intvecs_ctrls_device, "intvecs_ctrls", "Mattel Intellivision ECS Hand Controller x2 (HACK)")
static SLOT_INTERFACE_START( intvecs_controller )
SLOT_INTERFACE("handctrl", INTV_HANDCTRL)
@@ -155,7 +155,7 @@ machine_config_constructor intvecs_ctrls_device::device_mconfig_additions() cons
}
intvecs_ctrls_device::intvecs_ctrls_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ECS_CTRLS, "Mattel Intellivision ECS Hand Controller x2 (HACK)", tag, owner, clock, "intvecs_ctrls", __FILE__),
+ device_t(mconfig, ECS_CTRLS, tag, owner, clock),
device_intvecs_control_port_interface(mconfig, *this),
m_hand1(*this, "port1"),
m_hand2(*this, "port2")
@@ -184,7 +184,7 @@ uint8_t intvecs_ctrls_device::read_portB()
// ECS_KEYBD - Keyboard
//-------------------------------------------------
-const device_type ECS_KEYBD = device_creator<intvecs_keybd_device>;
+DEFINE_DEVICE_TYPE(ECS_KEYBD, intvecs_keybd_device, "intvecs_keybd", "Mattel Intellivision ECS Keyboard")
static INPUT_PORTS_START( intvecs_keybd )
/*
@@ -281,7 +281,7 @@ ioport_constructor intvecs_keybd_device::device_input_ports() const
}
intvecs_keybd_device::intvecs_keybd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ECS_KEYBD, "Mattel Intellivision ECS Keyboard", tag, owner, clock, "intvecs_keybd", __FILE__)
+ : device_t(mconfig, ECS_KEYBD, tag, owner, clock)
, device_intvecs_control_port_interface(mconfig, *this)
, m_keybd(*this, "ROW.%u", 0)
{
@@ -320,7 +320,7 @@ void intvecs_keybd_device::write_portA(uint8_t data)
// ECS_SYNTH - Synth
//-------------------------------------------------
-const device_type ECS_SYNTH = device_creator<intvecs_synth_device>;
+DEFINE_DEVICE_TYPE(ECS_SYNTH, intvecs_synth_device, "intvecs_synth", "Mattel Intellivision ECS Synthesizer")
static INPUT_PORTS_START( intvecs_synth )
@@ -414,7 +414,7 @@ ioport_constructor intvecs_synth_device::device_input_ports() const
intvecs_synth_device::intvecs_synth_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ECS_SYNTH, "Mattel Intellivision ECS Synthetizer", tag, owner, clock, "intvecs_synth", __FILE__),
+ device_t(mconfig, ECS_SYNTH, tag, owner, clock),
device_intvecs_control_port_interface(mconfig, *this),
m_synth(*this, "SYNTH.%u", 0)
{
diff --git a/src/devices/bus/intv_ctrl/ecs_ctrl.h b/src/devices/bus/intv_ctrl/ecs_ctrl.h
index 02dd10f8e02..5bf1ef69c1f 100644
--- a/src/devices/bus/intv_ctrl/ecs_ctrl.h
+++ b/src/devices/bus/intv_ctrl/ecs_ctrl.h
@@ -6,11 +6,11 @@
**********************************************************************/
+#ifndef MAME_BUS_INTV_CTRL_ECS_CTRL_H
+#define MAME_BUS_INTV_CTRL_ECS_CTRL_H
#pragma once
-#ifndef __INTVECS_CONTROL_PORT__
-#define __INTVECS_CONTROL_PORT__
#include "bus/intv_ctrl/ctrl.h"
#include "bus/intv_ctrl/handctrl.h"
@@ -27,14 +27,15 @@ class device_intvecs_control_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_intvecs_control_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_intvecs_control_port_interface();
- virtual uint8_t read_portA() { return 0xff; };
- virtual uint8_t read_portB() { return 0xff; };
- virtual void write_portA(uint8_t data) { };
+ virtual uint8_t read_portA() { return 0xff; }
+ virtual uint8_t read_portB() { return 0xff; }
+ virtual void write_portA(uint8_t data) { }
protected:
+ device_intvecs_control_port_interface(const machine_config &mconfig, device_t &device);
+
intvecs_control_port_device *m_port;
};
@@ -64,7 +65,7 @@ protected:
// device type definition
-extern const device_type INTVECS_CONTROL_PORT;
+DECLARE_DEVICE_TYPE(INTVECS_CONTROL_PORT, intvecs_control_port_device)
//**************************************************************************
@@ -161,10 +162,9 @@ private:
// device type definition
-extern const device_type ECS_CTRLS;
-extern const device_type ECS_KEYBD;
-extern const device_type ECS_SYNTH;
-
+DECLARE_DEVICE_TYPE(ECS_CTRLS, intvecs_ctrls_device)
+DECLARE_DEVICE_TYPE(ECS_KEYBD, intvecs_keybd_device)
+DECLARE_DEVICE_TYPE(ECS_SYNTH, intvecs_synth_device)
-#endif
+#endif // MAME_BUS_INTV_CTRL_ECS_CTRL_H
diff --git a/src/devices/bus/intv_ctrl/handctrl.cpp b/src/devices/bus/intv_ctrl/handctrl.cpp
index 6208c270ab6..43cdfad91b1 100644
--- a/src/devices/bus/intv_ctrl/handctrl.cpp
+++ b/src/devices/bus/intv_ctrl/handctrl.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type INTV_HANDCTRL = device_creator<intv_handctrl_device>;
+DEFINE_DEVICE_TYPE(INTV_HANDCTRL, intv_handctrl_device, "intv_handctrl", "Mattel Intellivision Hand Controller")
static INPUT_PORTS_START( intv_handctrl )
@@ -87,13 +87,13 @@ ioport_constructor intv_handctrl_device::device_input_ports() const
//-------------------------------------------------
intv_handctrl_device::intv_handctrl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, INTV_HANDCTRL, "Mattel Intellivision Hand Controller", tag, owner, clock, "intv_hand", __FILE__),
- device_intv_control_port_interface(mconfig, *this),
- m_cfg(*this, "OPTIONS"),
- m_keypad(*this, "KEYPAD"),
- m_disc_dig(*this, "DISC_DG"),
- m_disc_anx(*this, "DISC_AN_X"),
- m_disc_any(*this, "DISC_AN_Y")
+ device_t(mconfig, INTV_HANDCTRL, tag, owner, clock),
+ device_intv_control_port_interface(mconfig, *this),
+ m_cfg(*this, "OPTIONS"),
+ m_keypad(*this, "KEYPAD"),
+ m_disc_dig(*this, "DISC_DG"),
+ m_disc_anx(*this, "DISC_AN_X"),
+ m_disc_any(*this, "DISC_AN_Y")
{
}
diff --git a/src/devices/bus/intv_ctrl/handctrl.h b/src/devices/bus/intv_ctrl/handctrl.h
index bc15a8c28d3..4aa021c1ff8 100644
--- a/src/devices/bus/intv_ctrl/handctrl.h
+++ b/src/devices/bus/intv_ctrl/handctrl.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_INTV_CTRL_HANDCTRL_H
+#define MAME_BUS_INTV_CTRL_HANDCTRL_H
-#ifndef __INTV_HANDCTRL__
-#define __INTV_HANDCTRL__
+#pragma once
#include "ctrl.h"
@@ -48,7 +48,7 @@ private:
// device type definition
-extern const device_type INTV_HANDCTRL;
+DECLARE_DEVICE_TYPE(INTV_HANDCTRL, intv_handctrl_device)
-#endif
+#endif // MAME_BUS_INTV_CTRL_HANDCTRL_H
diff --git a/src/devices/bus/iq151/disc2.cpp b/src/devices/bus/iq151/disc2.cpp
index 3ce901c61fb..8883a2a8ef5 100644
--- a/src/devices/bus/iq151/disc2.cpp
+++ b/src/devices/bus/iq151/disc2.cpp
@@ -38,7 +38,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type IQ151_DISC2 = device_creator<iq151_disc2_device>;
+DEFINE_DEVICE_TYPE(IQ151_DISC2, iq151_disc2_device, "iq151_disc2", "IQ151 Disc2")
//**************************************************************************
// LIVE DEVICE
@@ -49,10 +49,10 @@ const device_type IQ151_DISC2 = device_creator<iq151_disc2_device>;
//-------------------------------------------------
iq151_disc2_device::iq151_disc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, IQ151_DISC2, "IQ151 Disc2", tag, owner, clock, "iq151_disc2", __FILE__),
- device_iq151cart_interface( mconfig, *this ),
- m_fdc(*this, "fdc"), m_rom(nullptr), m_rom_enabled(false)
- {
+ : device_t(mconfig, IQ151_DISC2, tag, owner, clock)
+ , device_iq151cart_interface(mconfig, *this)
+ , m_fdc(*this, "fdc"), m_rom(nullptr), m_rom_enabled(false)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/iq151/disc2.h b/src/devices/bus/iq151/disc2.h
index fd2eabc4aa7..c7452ef1415 100644
--- a/src/devices/bus/iq151/disc2.h
+++ b/src/devices/bus/iq151/disc2.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_IQ151_DISC2_H
+#define MAME_BUS_IQ151_DISC2_H
-#ifndef __IQ151_DISC2_H__
-#define __IQ151_DISC2_H__
+#pragma once
#include "iq151.h"
#include "machine/upd765.h"
@@ -39,7 +39,6 @@ protected:
virtual void io_write(offs_t offset, uint8_t data) override;
private:
-
required_device<upd765a_device> m_fdc;
uint8_t * m_rom;
bool m_rom_enabled;
@@ -47,6 +46,6 @@ private:
// device type definition
-extern const device_type IQ151_DISC2;
+DECLARE_DEVICE_TYPE(IQ151_DISC2, iq151_disc2_device)
-#endif /* __IQ151_DISC2_H__ */
+#endif // MAME_BUS_IQ151_DISC2_H
diff --git a/src/devices/bus/iq151/grafik.cpp b/src/devices/bus/iq151/grafik.cpp
index 4eda406479f..84c7ea4ee08 100644
--- a/src/devices/bus/iq151/grafik.cpp
+++ b/src/devices/bus/iq151/grafik.cpp
@@ -28,7 +28,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type IQ151_GRAFIK = device_creator<iq151_grafik_device>;
+DEFINE_DEVICE_TYPE(IQ151_GRAFIK, iq151_grafik_device, "iq151_grafik", "IQ151 grafik")
//**************************************************************************
// LIVE DEVICE
@@ -39,10 +39,10 @@ const device_type IQ151_GRAFIK = device_creator<iq151_grafik_device>;
//-------------------------------------------------
iq151_grafik_device::iq151_grafik_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, IQ151_GRAFIK, "IQ151 grafik", tag, owner, clock, "iq151_grafik", __FILE__),
- device_iq151cart_interface( mconfig, *this ),
- m_ppi8255(*this, "ppi8255"), m_posx(0), m_posy(0), m_all(0), m_pen(0), m_fast(0), m_ev(0), m_ex(0), m_sel(0)
- {
+ : device_t(mconfig, IQ151_GRAFIK, tag, owner, clock)
+ , device_iq151cart_interface(mconfig, *this)
+ , m_ppi8255(*this, "ppi8255"), m_posx(0), m_posy(0), m_all(0), m_pen(0), m_fast(0), m_ev(0), m_ex(0), m_sel(0)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/iq151/grafik.h b/src/devices/bus/iq151/grafik.h
index 87e2e6d6d17..afdb233b4f6 100644
--- a/src/devices/bus/iq151/grafik.h
+++ b/src/devices/bus/iq151/grafik.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_IQ151_GRAFIK_H
+#define MAME_BUS_IQ151_GRAFIK_H
-#ifndef __IQ151_GRAFIK_H__
-#define __IQ151_GRAFIK_H__
+#pragma once
#include "iq151.h"
#include "machine/i8255.h"
@@ -58,5 +58,6 @@ private:
// device type definition
extern const device_type IQ151_GRAFIK;
+DECLARE_DEVICE_TYPE(IQ151_GRAFIK, iq151_grafik_device)
-#endif /* __IQ151_GRAFIK_H__ */
+#endif // MAME_BUS_IQ151_GRAFIK_H
diff --git a/src/devices/bus/iq151/iq151.cpp b/src/devices/bus/iq151/iq151.cpp
index 2b72156dbe9..125ba03a909 100644
--- a/src/devices/bus/iq151/iq151.cpp
+++ b/src/devices/bus/iq151/iq151.cpp
@@ -20,7 +20,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type IQ151CART_SLOT = device_creator<iq151cart_slot_device>;
+DEFINE_DEVICE_TYPE(IQ151CART_SLOT, iq151cart_slot_device, "iq151cart_slot", "IQ151 cartridge slot")
//**************************************************************************
// IQ151 cartridge interface
@@ -53,15 +53,16 @@ device_iq151cart_interface::~device_iq151cart_interface()
// iq151cart_slot_device - constructor
//-------------------------------------------------
iq151cart_slot_device::iq151cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, IQ151CART_SLOT, "IQ151 cartridge slot", tag, owner, clock, "iq151cart_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- device_image_interface(mconfig, *this),
- m_out_irq0_cb(*this),
- m_out_irq1_cb(*this),
- m_out_irq2_cb(*this),
- m_out_irq3_cb(*this),
- m_out_irq4_cb(*this),
- m_out_drq_cb(*this), m_cart(nullptr)
+ device_t(mconfig, IQ151CART_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ device_image_interface(mconfig, *this),
+ m_out_irq0_cb(*this),
+ m_out_irq1_cb(*this),
+ m_out_irq2_cb(*this),
+ m_out_irq3_cb(*this),
+ m_out_irq4_cb(*this),
+ m_out_drq_cb(*this),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/iq151/iq151.h b/src/devices/bus/iq151/iq151.h
index 22288e2ccb5..649f397d2b9 100644
--- a/src/devices/bus/iq151/iq151.h
+++ b/src/devices/bus/iq151/iq151.h
@@ -42,8 +42,10 @@
*********************************************************************/
-#ifndef __IQ151CART_H__
-#define __IQ151CART_H__
+#ifndef MAME_BUS_IQ151_IQ151_H
+#define MAME_BUS_IQ151_IQ151_H
+
+#pragma once
#include "softlist_dev.h"
@@ -57,7 +59,6 @@ class device_iq151cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_iq151cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_iq151cart_interface();
// reading and writing
@@ -69,6 +70,9 @@ public:
// video update
virtual void video_update(bitmap_ind16 &bitmap, const rectangle &cliprect) { }
+
+protected:
+ device_iq151cart_interface(const machine_config &mconfig, device_t &device);
};
// ======================> iq151cart_slot_device
@@ -82,12 +86,12 @@ public:
iq151cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~iq151cart_slot_device();
- template<class _Object> static devcb_base &set_out_irq0_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq0_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq1_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq1_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq2_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq3_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq3_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq4_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_drq_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_drq_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_irq0_callback(device_t &device, Object &&cb) { return downcast<iq151cart_slot_device &>(device).m_out_irq0_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq1_callback(device_t &device, Object &&cb) { return downcast<iq151cart_slot_device &>(device).m_out_irq1_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq2_callback(device_t &device, Object &&cb) { return downcast<iq151cart_slot_device &>(device).m_out_irq2_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq3_callback(device_t &device, Object &&cb) { return downcast<iq151cart_slot_device &>(device).m_out_irq3_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq4_callback(device_t &device, Object &&cb) { return downcast<iq151cart_slot_device &>(device).m_out_irq4_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_drq_callback(device_t &device, Object &&cb) { return downcast<iq151cart_slot_device &>(device).m_out_drq_cb.set_callback(std::forward<Object>(cb)); }
// device-level overrides
virtual void device_start() override;
@@ -127,7 +131,7 @@ public:
// device type definition
-extern const device_type IQ151CART_SLOT;
+DECLARE_DEVICE_TYPE(IQ151CART_SLOT, iq151cart_slot_device)
/***************************************************************************
@@ -152,4 +156,4 @@ extern const device_type IQ151CART_SLOT;
#define MCFG_IQ151CART_SLOT_OUT_DRQ_CB(_devcb) \
devcb = &iq151cart_slot_device::set_out_drq_callback(*device, DEVCB_##_devcb);
-#endif /* __IQ151CART_H__ */
+#endif // MAME_BUS_IQ151_IQ151_H
diff --git a/src/devices/bus/iq151/minigraf.cpp b/src/devices/bus/iq151/minigraf.cpp
index 10572aa553c..d5bf2da1f8b 100644
--- a/src/devices/bus/iq151/minigraf.cpp
+++ b/src/devices/bus/iq151/minigraf.cpp
@@ -37,7 +37,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type IQ151_MINIGRAF = device_creator<iq151_minigraf_device>;
+DEFINE_DEVICE_TYPE(IQ151_MINIGRAF, iq151_minigraf_device, "iq151_minigraf", "IQ151 Minigraf")
//**************************************************************************
// LIVE DEVICE
@@ -48,9 +48,10 @@ const device_type IQ151_MINIGRAF = device_creator<iq151_minigraf_device>;
//-------------------------------------------------
iq151_minigraf_device::iq151_minigraf_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, IQ151_MINIGRAF, "IQ151 Minigraf", tag, owner, clock, "iq151_minigraf", __FILE__),
- device_iq151cart_interface( mconfig, *this ), m_rom(nullptr), m_posx(0), m_posy(0), m_pen(0), m_control(0), m_paper(nullptr)
- {
+ : device_t(mconfig, IQ151_MINIGRAF, tag, owner, clock)
+ , device_iq151cart_interface(mconfig, *this)
+ , m_rom(nullptr), m_posx(0), m_posy(0), m_pen(0), m_control(0), m_paper(nullptr)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/iq151/minigraf.h b/src/devices/bus/iq151/minigraf.h
index 78ba888f4f6..16113288094 100644
--- a/src/devices/bus/iq151/minigraf.h
+++ b/src/devices/bus/iq151/minigraf.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_IQ151_MINIGRAF_H
+#define MAME_BUS_IQ151_MINIGRAF_H
-#ifndef __IQ151_MINIGRAF_H__
-#define __IQ151_MINIGRAF_H__
+#pragma once
#include "iq151.h"
@@ -50,6 +50,6 @@ private:
// device type definition
-extern const device_type IQ151_MINIGRAF;
+DECLARE_DEVICE_TYPE(IQ151_MINIGRAF, iq151_minigraf_device)
-#endif /* __IQ151_MINIGRAF_H__ */
+#endif // MAME_BUS_IQ151_MINIGRAF_H
diff --git a/src/devices/bus/iq151/ms151a.cpp b/src/devices/bus/iq151/ms151a.cpp
index 12e514b15ac..447c9f0d43a 100644
--- a/src/devices/bus/iq151/ms151a.cpp
+++ b/src/devices/bus/iq151/ms151a.cpp
@@ -36,7 +36,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type IQ151_MS151A = device_creator<iq151_ms151a_device>;
+DEFINE_DEVICE_TYPE(IQ151_MS151A, iq151_ms151a_device, "iq151_ms15a", "IQ151 MS151A XY plotter")
//**************************************************************************
// LIVE DEVICE
@@ -47,9 +47,10 @@ const device_type IQ151_MS151A = device_creator<iq151_ms151a_device>;
//-------------------------------------------------
iq151_ms151a_device::iq151_ms151a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, IQ151_MS151A, "IQ151 MS151A", tag, owner, clock, "iq151_ms151a", __FILE__),
- device_iq151cart_interface( mconfig, *this ), m_rom(nullptr), m_posx(0), m_posy(0), m_pen(0), m_paper(nullptr)
- {
+ : device_t(mconfig, IQ151_MS151A, tag, owner, clock)
+ , device_iq151cart_interface(mconfig, *this)
+ , m_rom(nullptr), m_posx(0), m_posy(0), m_pen(0), m_paper(nullptr)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/iq151/ms151a.h b/src/devices/bus/iq151/ms151a.h
index a00d541cee8..735729b15f1 100644
--- a/src/devices/bus/iq151/ms151a.h
+++ b/src/devices/bus/iq151/ms151a.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_IQ151_MS151A_H
+#define MAME_BUS_IQ151_MS151A_H
-#ifndef __IQ151_MS151A_H__
-#define __IQ151_MS151A_H__
+#pragma once
#include "iq151.h"
@@ -50,6 +50,6 @@ private:
// device type definition
-extern const device_type IQ151_MS151A;
+DECLARE_DEVICE_TYPE(IQ151_MS151A, iq151_ms151a_device)
-#endif /* __IQ151_MS151A_H__ */
+#endif // MAME_BUS_IQ151_MS151A_H
diff --git a/src/devices/bus/iq151/rom.cpp b/src/devices/bus/iq151/rom.cpp
index 076efa1f5a2..94658c100db 100644
--- a/src/devices/bus/iq151/rom.cpp
+++ b/src/devices/bus/iq151/rom.cpp
@@ -27,11 +27,11 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type IQ151_BASIC6 = device_creator<iq151_basic6_device>;
-const device_type IQ151_BASICG = device_creator<iq151_basicg_device>;
-const device_type IQ151_AMOS1 = device_creator<iq151_amos1_device>;
-const device_type IQ151_AMOS2 = device_creator<iq151_amos2_device>;
-const device_type IQ151_AMOS3 = device_creator<iq151_amos3_device>;
+DEFINE_DEVICE_TYPE(IQ151_BASIC6, iq151_basic6_device, "iq151_basic6", "IQ151 BASIC6")
+DEFINE_DEVICE_TYPE(IQ151_BASICG, iq151_basicg_device, "iq151_basicg", "IQ151 BASICG")
+DEFINE_DEVICE_TYPE(IQ151_AMOS1, iq151_amos1_device, "iq151_amos1", "IQ151 AMOS cart 1")
+DEFINE_DEVICE_TYPE(IQ151_AMOS2, iq151_amos2_device, "iq151_amos2", "IQ151 AMOS cart 2")
+DEFINE_DEVICE_TYPE(IQ151_AMOS3, iq151_amos3_device, "iq151_amos3", "IQ151 AMOS cart 3")
//**************************************************************************
// LIVE DEVICE
@@ -41,9 +41,10 @@ const device_type IQ151_AMOS3 = device_creator<iq151_amos3_device>;
// iq151_rom_device - constructor
//-------------------------------------------------
-iq151_rom_device::iq151_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_iq151cart_interface(mconfig, *this), m_rom(nullptr)
+iq151_rom_device::iq151_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_iq151cart_interface(mconfig, *this),
+ m_rom(*this, "rom")
{
}
@@ -53,7 +54,6 @@ iq151_rom_device::iq151_rom_device(const machine_config &mconfig, device_type ty
void iq151_rom_device::device_start()
{
- m_rom = (uint8_t*)memregion("rom")->base();
}
//-------------------------------------------------
@@ -84,7 +84,7 @@ uint8_t* iq151_rom_device::get_cart_base()
//-------------------------------------------------
iq151_basic6_device::iq151_basic6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : iq151_rom_device(mconfig, IQ151_BASIC6, "IQ151 BASIC6", tag, owner, clock, "iq151_basic6", __FILE__)
+ : iq151_rom_device(mconfig, IQ151_BASIC6, tag, owner, clock)
{
}
@@ -109,7 +109,7 @@ void iq151_basic6_device::read(offs_t offset, uint8_t &data)
//-------------------------------------------------
iq151_basicg_device::iq151_basicg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : iq151_rom_device(mconfig, IQ151_BASICG, "IQ151 BASICG", tag, owner, clock, "iq151_basicg", __FILE__)
+ : iq151_rom_device(mconfig, IQ151_BASICG, tag, owner, clock)
{
}
@@ -135,8 +135,8 @@ void iq151_basicg_device::read(offs_t offset, uint8_t &data)
//-------------------------------------------------
iq151_amos1_device::iq151_amos1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : iq151_rom_device(mconfig, IQ151_AMOS1, "IQ151 AMOS cart 1", tag, owner, clock, "iq151_amos1", __FILE__),
- m_active(true)
+ : iq151_rom_device(mconfig, IQ151_AMOS1, tag, owner, clock)
+ , m_active(true)
{
}
@@ -169,8 +169,8 @@ void iq151_amos1_device::io_write(offs_t offset, uint8_t data)
//-------------------------------------------------
iq151_amos2_device::iq151_amos2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : iq151_rom_device(mconfig, IQ151_AMOS2, "IQ151 AMOS cart 2", tag, owner, clock, "iq151_amos2", __FILE__),
- m_active(false)
+ : iq151_rom_device(mconfig, IQ151_AMOS2, tag, owner, clock)
+ , m_active(false)
{
}
@@ -203,8 +203,8 @@ void iq151_amos2_device::io_write(offs_t offset, uint8_t data)
//-------------------------------------------------
iq151_amos3_device::iq151_amos3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : iq151_rom_device(mconfig, IQ151_AMOS3, "IQ151 AMOS cart 3", tag, owner, clock, "iq151_amos3", __FILE__),
- m_active(true)
+ : iq151_rom_device(mconfig, IQ151_AMOS3, tag, owner, clock)
+ , m_active(true)
{
}
diff --git a/src/devices/bus/iq151/rom.h b/src/devices/bus/iq151/rom.h
index bd17fc4e65e..56544a24d9f 100644
--- a/src/devices/bus/iq151/rom.h
+++ b/src/devices/bus/iq151/rom.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_IQ151_ROM_H
+#define MAME_BUS_IQ151_ROM_H
-#ifndef __IQ151_ROM_H__
-#define __IQ151_ROM_H__
+#pragma once
#include "iq151.h"
#include "machine/i8255.h"
@@ -19,20 +19,20 @@ class iq151_rom_device :
public device_iq151cart_interface
{
public:
- // construction/destruction
- iq151_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
+ // construction/destruction
+ iq151_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
// iq151cart_interface overrides
virtual uint8_t* get_cart_base() override;
- uint8_t * m_rom;
+ required_region_ptr<uint8_t> m_rom;
};
@@ -120,10 +120,10 @@ protected:
// device type definition
-extern const device_type IQ151_BASIC6;
-extern const device_type IQ151_BASICG;
-extern const device_type IQ151_AMOS1;
-extern const device_type IQ151_AMOS2;
-extern const device_type IQ151_AMOS3;
+DECLARE_DEVICE_TYPE(IQ151_BASIC6, iq151_basic6_device)
+DECLARE_DEVICE_TYPE(IQ151_BASICG, iq151_basicg_device)
+DECLARE_DEVICE_TYPE(IQ151_AMOS1, iq151_amos1_device)
+DECLARE_DEVICE_TYPE(IQ151_AMOS2, iq151_amos2_device)
+DECLARE_DEVICE_TYPE(IQ151_AMOS3, iq151_amos3_device)
-#endif /* __IQ151_ROM_H__ */
+#endif // MAME_BUS_IQ151_ROM_H
diff --git a/src/devices/bus/iq151/staper.cpp b/src/devices/bus/iq151/staper.cpp
index 692c4e9431a..f04c4302540 100644
--- a/src/devices/bus/iq151/staper.cpp
+++ b/src/devices/bus/iq151/staper.cpp
@@ -34,7 +34,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type IQ151_STAPER = device_creator<iq151_staper_device>;
+DEFINE_DEVICE_TYPE(IQ151_STAPER, iq151_staper_device, "iq151_staper", "IQ151 STAPER")
//**************************************************************************
// LIVE DEVICE
@@ -45,11 +45,13 @@ const device_type IQ151_STAPER = device_creator<iq151_staper_device>;
//-------------------------------------------------
iq151_staper_device::iq151_staper_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, IQ151_STAPER, "IQ151 STAPER", tag, owner, clock, "iq151_staper", __FILE__),
- device_iq151cart_interface( mconfig, *this ),
- m_ppi(*this, "ppi8255"),
- m_printer(*this, "printer"), m_printer_timer(nullptr), m_ppi_portc(0)
- {
+ : device_t(mconfig, IQ151_STAPER, tag, owner, clock)
+ , device_iq151cart_interface(mconfig, *this)
+ , m_ppi(*this, "ppi8255")
+ , m_printer(*this, "printer")
+ , m_printer_timer(nullptr)
+ , m_ppi_portc(0)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/iq151/staper.h b/src/devices/bus/iq151/staper.h
index 54bd6823088..65df83e03fd 100644
--- a/src/devices/bus/iq151/staper.h
+++ b/src/devices/bus/iq151/staper.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_IQ151_STAPER_H
+#define MAME_BUS_IQ151_STAPER_H
-#ifndef __IQ151_STAPER_H__
-#define __IQ151_STAPER_H__
+#pragma once
#include "iq151.h"
#include "machine/i8255.h"
@@ -53,6 +53,6 @@ private:
// device type definition
-extern const device_type IQ151_STAPER;
+DECLARE_DEVICE_TYPE(IQ151_STAPER, iq151_staper_device)
-#endif /* __IQ151_STAPER_H__ */
+#endif // MAME_BUS_IQ151_STAPER_H
diff --git a/src/devices/bus/iq151/video32.cpp b/src/devices/bus/iq151/video32.cpp
index b9d4beb92ea..c11e03bafff 100644
--- a/src/devices/bus/iq151/video32.cpp
+++ b/src/devices/bus/iq151/video32.cpp
@@ -41,7 +41,7 @@ static const gfx_layout iq151_video32_charlayout =
// GLOBAL VARIABLES
//**************************************************************************
-const device_type IQ151_VIDEO32 = device_creator<iq151_video32_device>;
+DEFINE_DEVICE_TYPE(IQ151_VIDEO32, iq151_video32_device, "iq151_video32", "IQ151 video32")
//**************************************************************************
// LIVE DEVICE
@@ -52,9 +52,11 @@ const device_type IQ151_VIDEO32 = device_creator<iq151_video32_device>;
//-------------------------------------------------
iq151_video32_device::iq151_video32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, IQ151_VIDEO32, "IQ151 video32", tag, owner, clock, "iq151_video32", __FILE__),
- device_gfx_interface(mconfig, *this, nullptr, "^^palette"),
- device_iq151cart_interface( mconfig, *this ), m_videoram(nullptr), m_chargen(nullptr)
+ : device_t(mconfig, IQ151_VIDEO32, tag, owner, clock)
+ , device_gfx_interface(mconfig, *this, nullptr, "^^palette")
+ , device_iq151cart_interface(mconfig, *this)
+ , m_videoram(*this, "videoram")
+ , m_chargen(*this, "chargen")
{
}
@@ -65,9 +67,6 @@ iq151_video32_device::iq151_video32_device(const machine_config &mconfig, const
void iq151_video32_device::device_start()
{
- m_videoram = (uint8_t*)memregion("videoram")->base();
- m_chargen = (uint8_t*)memregion("chargen")->base();
-
set_gfx(0, std::make_unique<gfx_element>(palette(), iq151_video32_charlayout, m_chargen, 0, 1, 0));
}
diff --git a/src/devices/bus/iq151/video32.h b/src/devices/bus/iq151/video32.h
index 8bdd46c671b..9dc32765f6b 100644
--- a/src/devices/bus/iq151/video32.h
+++ b/src/devices/bus/iq151/video32.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_IQ151_VIDEO32_H
+#define MAME_BUS_IQ151_VIDEO32_H
-#ifndef __IQ151_VIDEO32_H__
-#define __IQ151_VIDEO32_H__
+#pragma once
#include "iq151.h"
@@ -36,12 +36,12 @@ protected:
virtual void video_update(bitmap_ind16 &bitmap, const rectangle &cliprect) override;
private:
- uint8_t * m_videoram;
- uint8_t * m_chargen;
+ required_region_ptr<uint8_t> m_videoram;
+ required_region_ptr<uint8_t> m_chargen;
};
// device type definition
-extern const device_type IQ151_VIDEO32;
+DECLARE_DEVICE_TYPE(IQ151_VIDEO32, iq151_video32_device)
-#endif /* __IQ151_VIDEO32_H__ */
+#endif // MAME_BUS_IQ151_VIDEO32_H
diff --git a/src/devices/bus/iq151/video64.cpp b/src/devices/bus/iq151/video64.cpp
index 0ee3b71dd4b..403dc9aa51e 100644
--- a/src/devices/bus/iq151/video64.cpp
+++ b/src/devices/bus/iq151/video64.cpp
@@ -42,7 +42,7 @@ static const gfx_layout iq151_video64_charlayout =
// GLOBAL VARIABLES
//**************************************************************************
-const device_type IQ151_VIDEO64 = device_creator<iq151_video64_device>;
+DEFINE_DEVICE_TYPE(IQ151_VIDEO64, iq151_video64_device, "iq151_video64", "IQ151 video64")
//**************************************************************************
// LIVE DEVICE
@@ -53,9 +53,11 @@ const device_type IQ151_VIDEO64 = device_creator<iq151_video64_device>;
//-------------------------------------------------
iq151_video64_device::iq151_video64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, IQ151_VIDEO64, "IQ151 video64", tag, owner, clock, "iq151_video64", __FILE__),
- device_gfx_interface(mconfig, *this, nullptr, "^^palette"),
- device_iq151cart_interface( mconfig, *this ), m_videoram(nullptr), m_chargen(nullptr)
+ : device_t(mconfig, IQ151_VIDEO64, tag, owner, clock)
+ , device_gfx_interface(mconfig, *this, nullptr, "^^palette")
+ , device_iq151cart_interface( mconfig, *this )
+ , m_videoram(*this, "videoram")
+ , m_chargen(*this, "chargen")
{
}
@@ -65,10 +67,7 @@ iq151_video64_device::iq151_video64_device(const machine_config &mconfig, const
void iq151_video64_device::device_start()
{
- m_videoram = (uint8_t*)memregion("videoram")->base();
- m_chargen = (uint8_t*)memregion("chargen")->base();
-
- set_gfx(0,std::make_unique<gfx_element>(palette(), iq151_video64_charlayout, m_chargen, 0, 1, 0));
+ set_gfx(0, std::make_unique<gfx_element>(palette(), iq151_video64_charlayout, m_chargen, 0, 1, 0));
}
//-------------------------------------------------
diff --git a/src/devices/bus/iq151/video64.h b/src/devices/bus/iq151/video64.h
index 773f71cd7d6..7b152fc8fd6 100644
--- a/src/devices/bus/iq151/video64.h
+++ b/src/devices/bus/iq151/video64.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_IQ151_VIDEO64_H
+#define MAME_BUS_IQ151_VIDEO64_H
-#ifndef __IQ151_VIDEO64_H__
-#define __IQ151_VIDEO64_H__
+#pragma once
#include "iq151.h"
@@ -37,12 +37,12 @@ protected:
virtual void video_update(bitmap_ind16 &bitmap, const rectangle &cliprect) override;
private:
- uint8_t * m_videoram;
- uint8_t * m_chargen;
+ required_region_ptr<uint8_t> m_videoram;
+ required_region_ptr<uint8_t> m_chargen;
};
// device type definition
-extern const device_type IQ151_VIDEO64;
+DECLARE_DEVICE_TYPE(IQ151_VIDEO64, iq151_video64_device)
-#endif /* __IQ151_VIDEO64_H__ */
+#endif // MAME_BUS_IQ151_VIDEO64_H
diff --git a/src/devices/bus/isa/3c503.cpp b/src/devices/bus/isa/3c503.cpp
index 21172ea6ecf..baeed57b6d7 100644
--- a/src/devices/bus/isa/3c503.cpp
+++ b/src/devices/bus/isa/3c503.cpp
@@ -12,17 +12,17 @@ static MACHINE_CONFIG_FRAGMENT(el2_3c503_config)
MCFG_DP8390D_MEM_WRITE_CB(WRITE8(el2_3c503_device, el2_3c503_mem_write))
MACHINE_CONFIG_END
-const device_type EL2_3C503 = device_creator<el2_3c503_device>;
+DEFINE_DEVICE_TYPE(EL2_3C503, el2_3c503_device, "el2_3c503", "3C503 Network Adapter")
machine_config_constructor el2_3c503_device::device_mconfig_additions() const {
return MACHINE_CONFIG_NAME(el2_3c503_config);
}
el2_3c503_device::el2_3c503_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock)
- : device_t(mconfig, EL2_3C503, "3C503 Network Adapter", tag, owner, clock, "el2_3c503", __FILE__),
- device_isa8_card_interface(mconfig, *this),
- m_dp8390(*this, "dp8390d"),
- m_irq_state(0)
+ : device_t(mconfig, EL2_3C503, tag, owner, clock)
+ , device_isa8_card_interface(mconfig, *this)
+ , m_dp8390(*this, "dp8390d")
+ , m_irq_state(0)
{
}
diff --git a/src/devices/bus/isa/3c503.h b/src/devices/bus/isa/3c503.h
index 06efe90f168..9db5b7c5e70 100644
--- a/src/devices/bus/isa/3c503.h
+++ b/src/devices/bus/isa/3c503.h
@@ -2,14 +2,15 @@
// copyright-holders:Carl
/* 3com Etherlink II 3c503 */
-#ifndef __3C503_H__
-#define __3C503_H__
+#ifndef MAME_BUS_ISA_3C503_H
+#define MAME_BUS_ISA_3C503_H
+
+#pragma once
#include "isa.h"
#include "machine/dp8390.h"
-class el2_3c503_device: public device_t,
- public device_isa8_card_interface
+class el2_3c503_device : public device_t, public device_isa8_card_interface
{
public:
el2_3c503_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -58,6 +59,6 @@ private:
} m_regs;
};
-extern const device_type EL2_3C503;
+DECLARE_DEVICE_TYPE(EL2_3C503, el2_3c503_device)
-#endif
+#endif // MAME_BUS_ISA_3C503_H
diff --git a/src/devices/bus/isa/3c505.cpp b/src/devices/bus/isa/3c505.cpp
index 3efe0d29213..555aefd9142 100644
--- a/src/devices/bus/isa/3c505.cpp
+++ b/src/devices/bus/isa/3c505.cpp
@@ -295,30 +295,28 @@ INPUT_PORTS_END
IMPLEMENTATION
***************************************************************************/
+constexpr unsigned threecom3c505_device::ETH_BUFFER_SIZE;
+
// device type definition
-const device_type ISA16_3C505 = device_creator<threecom3c505_device> ;
+DEFINE_DEVICE_TYPE(ISA16_3C505, threecom3c505_device, "3c505", "3Com 3C505 Network Adaptor")
//-------------------------------------------------
// threecom3c505_device - constructor
//-------------------------------------------------
threecom3c505_device::threecom3c505_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA16_3C505, "3Com 3C505 Network Adaptor", tag, owner, clock, "3c505", __FILE__),
- device_network_interface(mconfig, *this, 10.0f),
- device_isa16_card_interface(mconfig, *this),
- m_iobase(*this, "IO_BASE"),
- m_irqdrq(*this, "IRQ_DRQ"),
- m_romopts(*this, "ROM_OPTS"), m_status(0), m_control(0), m_command_index(0), m_command_pending(0), m_wait_for_ack(0), m_wait_for_nak(0), m_rx_data_index(0), m_rx_pending(0), m_tx_data_length(0), m_program_length(0), m_response_length(0), m_response_index(0), m_microcode_version(0), m_microcode_running(0), m_i82586_config(0), irq_state(), m_do_command_timer(nullptr), m_installed(false), m_irq(0), m_drq(0)
+ : threecom3c505_device(mconfig, ISA16_3C505, tag, owner, clock)
{
}
threecom3c505_device::threecom3c505_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, type, "3Com 3C505 Network Adaptor", tag, owner, clock, "3c505", __FILE__),
+ : device_t(mconfig, type, tag, owner, clock),
device_network_interface(mconfig, *this, 10.0f),
device_isa16_card_interface(mconfig, *this),
m_iobase(*this, "IO_BASE"),
m_irqdrq(*this, "IRQ_DRQ"),
- m_romopts(*this, "ROM_OPTS"), m_status(0), m_control(0), m_command_index(0), m_command_pending(0), m_wait_for_ack(0), m_wait_for_nak(0), m_rx_data_index(0), m_rx_pending(0), m_tx_data_length(0), m_program_length(0), m_response_length(0), m_response_index(0), m_microcode_version(0), m_microcode_running(0), m_i82586_config(0), irq_state(), m_do_command_timer(nullptr), m_installed(false), m_irq(0), m_drq(0)
+ m_romopts(*this, "ROM_OPTS"),
+ m_status(0), m_control(0), m_command_index(0), m_command_pending(0), m_wait_for_ack(0), m_wait_for_nak(0), m_rx_data_index(0), m_rx_pending(0), m_tx_data_length(0), m_program_length(0), m_response_length(0), m_response_index(0), m_microcode_version(0), m_microcode_running(0), m_i82586_config(0), irq_state(), m_do_command_timer(nullptr), m_installed(false), m_irq(0), m_drq(0)
{
}
diff --git a/src/devices/bus/isa/3c505.h b/src/devices/bus/isa/3c505.h
index 13f784aba56..aed8556c0a2 100644
--- a/src/devices/bus/isa/3c505.h
+++ b/src/devices/bus/isa/3c505.h
@@ -8,21 +8,13 @@
*
*/
-#pragma once
+#ifndef MAME_BUS_ISA_3C505_H
+#define MAME_BUS_ISA_3C505_H
-#ifndef THREECOM3C505_H_
-#define THREECOM3C505_H_
+#pragma once
#include "bus/isa/isa.h"
-#define CMD_BUFFER_SIZE 100
-#define ETH_BUFFER_SIZE 2048
-#define PGM_BUFFER_SIZE 0x2000
-
-#define ETHERNET_ADDR_SIZE 6 /* size of ethernet addr */
-
-#define RX_FIFO_SIZE 32
-
// ======================> PCB data structure
#pragma pack(1)
@@ -123,7 +115,6 @@ class threecom3c505_device: public device_t,
public:
// construction/destruction
threecom3c505_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- threecom3c505_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device register I/O
virtual DECLARE_READ16_MEMBER(read);
@@ -131,13 +122,19 @@ public:
static void set_verbose(int on_off);
- required_ioport m_iobase;
- required_ioport m_irqdrq;
- required_ioport m_romopts;
-
virtual void recv_cb(uint8_t *data, int length) override;
protected:
+ static constexpr unsigned CMD_BUFFER_SIZE = 100;
+ static constexpr unsigned ETH_BUFFER_SIZE = 2048;
+ static constexpr unsigned PGM_BUFFER_SIZE = 0x2000;
+
+ static constexpr unsigned ETHERNET_ADDR_SIZE = 6;
+
+ static constexpr unsigned RX_FIFO_SIZE = 32;
+
+ threecom3c505_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual int tx_data(device_t *, const uint8_t *, int);
virtual int setfilter(device_t *, int);
@@ -148,6 +145,10 @@ protected:
virtual void device_start() override;
virtual const tiny_rom_entry *device_rom_region() const override;
+ required_ioport m_iobase;
+ required_ioport m_irqdrq;
+ required_ioport m_romopts;
+
private:
// device-level overrides
virtual void device_reset() override;
@@ -276,6 +277,6 @@ private:
};
// device type definition
-extern const device_type ISA16_3C505;
+DECLARE_DEVICE_TYPE(ISA16_3C505, threecom3c505_device)
-#endif /* THREECOM3C505_H_ */
+#endif // MAME_BUS_ISA_3C505_H
diff --git a/src/devices/bus/isa/adlib.cpp b/src/devices/bus/isa/adlib.cpp
index 4193091f9d2..512d14cdad6 100644
--- a/src/devices/bus/isa/adlib.cpp
+++ b/src/devices/bus/isa/adlib.cpp
@@ -44,7 +44,7 @@ WRITE8_MEMBER( isa8_adlib_device::ym3812_16_w )
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_ADLIB = device_creator<isa8_adlib_device>;
+DEFINE_DEVICE_TYPE(ISA8_ADLIB, isa8_adlib_device, "isa_adlib", "Ad Lib Sound Card")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -65,9 +65,9 @@ machine_config_constructor isa8_adlib_device::device_mconfig_additions() const
//-------------------------------------------------
isa8_adlib_device::isa8_adlib_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA8_ADLIB, "Ad Lib Sound Card", tag, owner, clock, "isa_adlib", __FILE__),
- device_isa8_card_interface( mconfig, *this ),
- m_ym3812(*this, "ym3812")
+ : device_t(mconfig, ISA8_ADLIB, tag, owner, clock)
+ , device_isa8_card_interface(mconfig, *this)
+ , m_ym3812(*this, "ym3812")
{
}
diff --git a/src/devices/bus/isa/adlib.h b/src/devices/bus/isa/adlib.h
index 2c871235b76..e91c4f4521d 100644
--- a/src/devices/bus/isa/adlib.h
+++ b/src/devices/bus/isa/adlib.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Miodrag Milanovic
-#pragma once
+#ifndef MAME_BUS_ISA_ADLIB_H
+#define MAME_BUS_ISA_ADLIB_H
-#ifndef __ISA_ADLIB_H__
-#define __ISA_ADLIB_H__
+#pragma once
#include "isa.h"
#include "sound/3812intf.h"
@@ -38,6 +38,6 @@ private:
// device type definition
-extern const device_type ISA8_ADLIB;
+DECLARE_DEVICE_TYPE(ISA8_ADLIB, isa8_adlib_device)
-#endif /* __ISA_ADLIB_H__ */
+#endif // MAME_BUS_ISA_ADLIB_H
diff --git a/src/devices/bus/isa/aga.cpp b/src/devices/bus/isa/aga.cpp
index ad4269dba8b..5f5430d4d04 100644
--- a/src/devices/bus/isa/aga.cpp
+++ b/src/devices/bus/isa/aga.cpp
@@ -51,49 +51,36 @@ INPUT_PORTS_END
#define CGA_MONITOR (m_cga_config->read()&0x1C)
#define CGA_MONITOR_COMPOSITE 0x08 /* Colour composite */
-const device_type ISA8_AGA = device_creator<isa8_aga_device>;
+DEFINE_DEVICE_TYPE(ISA8_AGA, isa8_aga_device, "aga", "AGA")
//-------------------------------------------------
// isa8_aga_device - constructor
//-------------------------------------------------
isa8_aga_device::isa8_aga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t( mconfig, ISA8_AGA, "AGA", tag, owner, clock, "aga", __FILE__),
- device_isa8_card_interface(mconfig, *this),
- m_palette(*this, "palette"),
- m_mc6845(*this, AGA_MC6845_NAME),
- m_cga_config(*this, "cga_config"),
- m_update_row_type(-1),
- m_mode(),
- m_mda_mode_control(0),
- m_mda_status(0),
- m_mda_chr_gen(nullptr),
- m_cga_mode_control(0),
- m_cga_color_select(0),
- m_cga_status(0),
- m_cga_chr_gen(nullptr),
- m_framecnt(0),
- m_vsync(0),
- m_hsync(0),
- m_videoram(nullptr)
-{
-}
-
-isa8_aga_device::isa8_aga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_isa8_card_interface(mconfig, *this),
- m_palette(*this, "palette"),
- m_mc6845(*this, AGA_MC6845_NAME),
- m_cga_config(*this, "cga_config"),
- m_update_row_type(-1), m_mode(),
- m_mda_mode_control(0),
- m_mda_status(0), m_mda_chr_gen(nullptr),
- m_cga_mode_control(0),
- m_cga_color_select(0),
- m_cga_status(0), m_cga_chr_gen(nullptr),
- m_framecnt(0),
- m_vsync(0),
- m_hsync(0), m_videoram(nullptr)
+ isa8_aga_device(mconfig, ISA8_AGA, tag, owner, clock)
+{
+}
+
+isa8_aga_device::isa8_aga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this),
+ m_palette(*this, "palette"),
+ m_mc6845(*this, AGA_MC6845_NAME),
+ m_cga_config(*this, "cga_config"),
+ m_update_row_type(-1),
+ m_mode(),
+ m_mda_mode_control(0),
+ m_mda_status(0),
+ m_mda_chr_gen(nullptr),
+ m_cga_mode_control(0),
+ m_cga_color_select(0),
+ m_cga_status(0),
+ m_cga_chr_gen(nullptr),
+ m_framecnt(0),
+ m_vsync(0),
+ m_hsync(0),
+ m_videoram(nullptr)
{
}
//-------------------------------------------------
@@ -159,17 +146,17 @@ ioport_constructor isa8_aga_device::device_input_ports() const
-const device_type ISA8_AGA_PC200 = device_creator<isa8_aga_pc200_device>;
+DEFINE_DEVICE_TYPE(ISA8_AGA_PC200, isa8_aga_pc200_device, "aga_pc200", "AGA PC200")
//-------------------------------------------------
// isa8_aga_pc200_device - constructor
//-------------------------------------------------
isa8_aga_pc200_device::isa8_aga_pc200_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_aga_device( mconfig, ISA8_AGA_PC200, "AGA PC200", tag, owner, clock, "aga_pc200", __FILE__),
- m_port8(0),
- m_portd(0),
- m_porte(0)
+ isa8_aga_device(mconfig, ISA8_AGA_PC200, tag, owner, clock),
+ m_port8(0),
+ m_portd(0),
+ m_porte(0)
{
}
diff --git a/src/devices/bus/isa/aga.h b/src/devices/bus/isa/aga.h
index 371e185bc4c..528fced9bda 100644
--- a/src/devices/bus/isa/aga.h
+++ b/src/devices/bus/isa/aga.h
@@ -19,8 +19,8 @@
ROM_LOAD("hercules.chr", 0x00000, 0x1000, CRC(7e8c9d76))
*/
-#ifndef __ISA_AGA_H__
-#define __ISA_AGA_H__
+#ifndef MAME_BUS_ISA_AGA_H
+#define MAME_BUS_ISA_AGA_H
#include "isa.h"
#include "cga.h"
@@ -37,9 +37,6 @@ class isa8_aga_device :
public:
// construction/destruction
isa8_aga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_aga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- // device-level overrides
- virtual void device_start() override;
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -72,6 +69,11 @@ public:
required_device<palette_device> m_palette;
required_device<mc6845_device> m_mc6845;
+protected:
+ isa8_aga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ // device-level overrides
+ virtual void device_start() override;
+
required_ioport m_cga_config;
int m_update_row_type;
@@ -96,7 +98,7 @@ public:
};
// device type definition
-extern const device_type ISA8_AGA;
+DECLARE_DEVICE_TYPE(ISA8_AGA, isa8_aga_device)
// ======================> isa8_aga_pc200_device
@@ -106,22 +108,24 @@ class isa8_aga_pc200_device :
public:
// construction/destruction
isa8_aga_pc200_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- uint8_t m_port8;
- uint8_t m_portd;
- uint8_t m_porte;
-
DECLARE_READ8_MEMBER( pc200_videoram_r );
DECLARE_WRITE8_MEMBER( pc200_videoram_w );
DECLARE_WRITE8_MEMBER( pc200_cga_w );
DECLARE_READ8_MEMBER( pc200_cga_r );
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
+ uint8_t m_port8;
+ uint8_t m_portd;
+ uint8_t m_porte;
};
// device type definition
-extern const device_type ISA8_AGA_PC200;
+DECLARE_DEVICE_TYPE(ISA8_AGA_PC200, isa8_aga_pc200_device)
-#endif
+#endif // MAME_BUS_ISA_AGA_H
diff --git a/src/devices/bus/isa/aha1542.cpp b/src/devices/bus/isa/aha1542.cpp
index 0ca3b9ca80e..98ae5edb735 100644
--- a/src/devices/bus/isa/aha1542.cpp
+++ b/src/devices/bus/isa/aha1542.cpp
@@ -134,7 +134,7 @@
#define CMD_EXTBIOS 0x28 // return extended BIOS information
#define CMD_MBENABLE 0x29 // set mailbox interface enable
-const device_type AHA1542 = device_creator<aha1542_device>;
+DEFINE_DEVICE_TYPE(AHA1542, aha1542_device, "aha1542", "AHA1542 SCSI Controller")
#define Z84C0010_TAG "u5"
@@ -185,7 +185,7 @@ machine_config_constructor aha1542_device::device_mconfig_additions() const
}
aha1542_device::aha1542_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, AHA1542, "AHA1542 SCSI Controller", tag, owner, clock, "aha1542", __FILE__ ),
+ device_t(mconfig, AHA1542, tag, owner, clock),
device_isa16_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/isa/aha1542.h b/src/devices/bus/isa/aha1542.h
index 703bd48f28b..2b9fd179054 100644
--- a/src/devices/bus/isa/aha1542.h
+++ b/src/devices/bus/isa/aha1542.h
@@ -10,10 +10,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_AHA1542_H
+#define MAME_BUS_AHA1542_H
-#ifndef __AHA1542__
-#define __AHA1542__
+#pragma once
#include "isa.h"
@@ -46,7 +46,6 @@ protected:
};
// device type definition
+DECLARE_DEVICE_TYPE(AHA1542, aha1542_device)
-extern const device_type AHA1542;
-
-#endif
+#endif // MAME_BUS_AHA1542_H
diff --git a/src/devices/bus/isa/cga.cpp b/src/devices/bus/isa/cga.cpp
index f44cdfb5900..c20fc47f403 100644
--- a/src/devices/bus/isa/cga.cpp
+++ b/src/devices/bus/isa/cga.cpp
@@ -273,7 +273,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_CGA = device_creator<isa8_cga_device>;
+DEFINE_DEVICE_TYPE(ISA8_CGA, isa8_cga_device, "cga", "IBM Color/Graphics Monitor Adapter")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -305,29 +305,18 @@ const tiny_rom_entry *isa8_cga_device::device_rom_region() const
//-------------------------------------------------
isa8_cga_device::isa8_cga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_CGA, "IBM Color/Graphics Monitor Adapter", tag, owner, clock, "cga", __FILE__),
- device_isa8_card_interface(mconfig, *this),
- m_cga_config(*this, "cga_config"), m_framecnt(0), m_mode_control(0), m_color_select(0),
- m_update_row_type(-1), m_y(0), m_chr_gen_base(nullptr), m_chr_gen(nullptr), m_vsync(0), m_hsync(0),
- m_vram_size( 0x4000 ), m_plantronics(0),
- m_palette(*this, "palette"),
- m_screen(*this, "screen")
+ isa8_cga_device(mconfig, ISA8_CGA, tag, owner, clock)
{
- m_chr_gen_offset[0] = m_chr_gen_offset[2] = 0x1800;
- m_chr_gen_offset[1] = m_chr_gen_offset[3] = 0x1000;
- m_font_selection_mask = 0x01;
- m_start_offset = 0;
- m_superimpose = false;
}
-isa8_cga_device::isa8_cga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_isa8_card_interface(mconfig, *this),
- m_cga_config(*this, "cga_config"), m_framecnt(0), m_mode_control(0), m_color_select(0),
- m_update_row_type(-1), m_y(0), m_chr_gen_base(nullptr), m_chr_gen(nullptr), m_vsync(0), m_hsync(0),
- m_vram_size( 0x4000 ), m_plantronics(0),
- m_palette(*this, "palette"),
- m_screen(*this, "screen")
+isa8_cga_device::isa8_cga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this),
+ m_cga_config(*this, "cga_config"), m_framecnt(0), m_mode_control(0), m_color_select(0),
+ m_update_row_type(-1), m_y(0), m_chr_gen_base(nullptr), m_chr_gen(nullptr), m_vsync(0), m_hsync(0),
+ m_vram_size( 0x4000 ), m_plantronics(0),
+ m_palette(*this, "palette"),
+ m_screen(*this, "screen")
{
m_chr_gen_offset[0] = m_chr_gen_offset[2] = 0x1800;
m_chr_gen_offset[1] = m_chr_gen_offset[3] = 0x1000;
@@ -439,14 +428,14 @@ uint32_t isa8_cga_device::screen_update(screen_device &screen, bitmap_rgb32 &bit
}
-const device_type ISA8_CGA_POISK2 = device_creator<isa8_cga_poisk2_device>;
+DEFINE_DEVICE_TYPE(ISA8_CGA_POISK2, isa8_cga_poisk2_device, "cga_poisk2", "ISA8_CGA_POISK2")
//-------------------------------------------------
// isa8_cga_poisk2_device - constructor
//-------------------------------------------------
isa8_cga_poisk2_device::isa8_cga_poisk2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device( mconfig, ISA8_CGA_POISK2, "ISA8_CGA_POISK2", tag, owner, clock, "cga_poisk2", __FILE__)
+ isa8_cga_device(mconfig, ISA8_CGA_POISK2, tag, owner, clock)
{
m_chr_gen_offset[0] = 0x0000;
m_chr_gen_offset[1] = 0x0800;
@@ -468,20 +457,19 @@ const tiny_rom_entry *isa8_cga_poisk2_device::device_rom_region() const
/* for superimposing CGA over a different source video (i.e. tetriskr) */
-const device_type ISA8_CGA_SUPERIMPOSE = device_creator<isa8_cga_superimpose_device>;
+DEFINE_DEVICE_TYPE(ISA8_CGA_SUPERIMPOSE, isa8_cga_superimpose_device, "cga_superimpose", "ISA8_CGA_SUPERIMPOSE")
//-------------------------------------------------
// isa8_cga_superimpose_device - constructor
//-------------------------------------------------
isa8_cga_superimpose_device::isa8_cga_superimpose_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device( mconfig, ISA8_CGA_SUPERIMPOSE, "ISA8_CGA_SUPERIMPOSE", tag, owner, clock, "cga_superimpose", __FILE__)
+ isa8_cga_superimpose_device(mconfig, ISA8_CGA_SUPERIMPOSE, tag, owner, clock)
{
- m_superimpose = true;
}
-isa8_cga_superimpose_device::isa8_cga_superimpose_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- isa8_cga_device( mconfig, type, name, tag, owner, clock, shortname, source)
+isa8_cga_superimpose_device::isa8_cga_superimpose_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ isa8_cga_device(mconfig, type, tag, owner, clock)
{
m_superimpose = true;
}
@@ -1538,7 +1526,7 @@ WRITE8_MEMBER( isa8_cga_pc1512_device::vram_w )
}
-const device_type ISA8_CGA_PC1512 = device_creator<isa8_cga_pc1512_device>;
+DEFINE_DEVICE_TYPE(ISA8_CGA_PC1512, isa8_cga_pc1512_device, "cga_pc1512", "ISA8_CGA_PC1512")
const offs_t isa8_cga_pc1512_device::vram_offset[4]= { 0x0000, 0x4000, 0x8000, 0xC000 };
const uint8_t isa8_cga_pc1512_device::mc6845_writeonce_register[31] =
@@ -1551,7 +1539,7 @@ const uint8_t isa8_cga_pc1512_device::mc6845_writeonce_register[31] =
//-------------------------------------------------
isa8_cga_pc1512_device::isa8_cga_pc1512_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device( mconfig, ISA8_CGA_PC1512, "ISA8_CGA_PC1512", tag, owner, clock, "cga_pc1512", __FILE__), m_write(0), m_read(0), m_mc6845_address(0)
+ isa8_cga_device(mconfig, ISA8_CGA_PC1512, tag, owner, clock), m_write(0), m_read(0), m_mc6845_address(0)
{
m_vram_size = 0x10000;
m_chr_gen_offset[0] = 0x0000;
@@ -1673,7 +1661,7 @@ READ8_MEMBER( isa8_wyse700_device::io_read )
}
-const device_type ISA8_WYSE700 = device_creator<isa8_wyse700_device>;
+DEFINE_DEVICE_TYPE(ISA8_WYSE700, isa8_wyse700_device, "wyse700", "Wyse 700")
//-------------------------------------------------
@@ -1681,7 +1669,7 @@ const device_type ISA8_WYSE700 = device_creator<isa8_wyse700_device>;
//-------------------------------------------------
isa8_wyse700_device::isa8_wyse700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device( mconfig, ISA8_WYSE700, "Wyse 700", tag, owner, clock, "wyse700", __FILE__), m_bank_offset(0), m_bank_base(0), m_control(0)
+ isa8_cga_device(mconfig, ISA8_WYSE700, tag, owner, clock), m_bank_offset(0), m_bank_base(0), m_control(0)
{
m_vram_size = 0x20000;
m_start_offset = 0x18000;
@@ -1762,14 +1750,14 @@ uint32_t isa8_wyse700_device::screen_update(screen_device &screen, bitmap_rgb32
}
-const device_type ISA8_EC1841_0002 = device_creator<isa8_ec1841_0002_device>;
+DEFINE_DEVICE_TYPE(ISA8_EC1841_0002, isa8_ec1841_0002_device, "ec1841_0002", "EC 1841.0002 (CGA)")
//-------------------------------------------------
// isa8_ec1841_0002_device - constructor
//-------------------------------------------------
isa8_ec1841_0002_device::isa8_ec1841_0002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device( mconfig, ISA8_EC1841_0002, "EC 1841.0002 (CGA)", tag, owner, clock, "ec1841_0002", __FILE__), m_p3df(0)
+ isa8_cga_device(mconfig, ISA8_EC1841_0002, tag, owner, clock), m_p3df(0)
{
}
@@ -1848,14 +1836,14 @@ READ8_MEMBER( isa8_ec1841_0002_device::io_read )
return data;
}
-const device_type ISA8_CGA_MC1502 = device_creator<isa8_cga_mc1502_device>;
+DEFINE_DEVICE_TYPE(ISA8_CGA_MC1502, isa8_cga_mc1502_device, "cga_mc1502", "MC1502 CGA")
//-------------------------------------------------
// isa8_cga_mc1502_device - constructor
//-------------------------------------------------
isa8_cga_mc1502_device::isa8_cga_mc1502_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device( mconfig, ISA8_CGA_MC1502, "MC1502 CGA", tag, owner, clock, "cga_mc1502", __FILE__)
+ isa8_cga_device(mconfig, ISA8_CGA_MC1502, tag, owner, clock)
{
m_vram_size = 0x8000;
m_chr_gen_offset[0] = 0x0000;
@@ -1877,14 +1865,14 @@ const tiny_rom_entry *isa8_cga_iskr1031_device::device_rom_region() const
return ROM_NAME( cga_iskr1031 );
}
-const device_type ISA8_CGA_ISKR1031 = device_creator<isa8_cga_iskr1031_device>;
+DEFINE_DEVICE_TYPE(ISA8_CGA_ISKR1031, isa8_cga_iskr1031_device, "cga_iskr1031", "Iskra-1031 CGA")
//-------------------------------------------------
// isa8_cga_iskr1031_device - constructor
//-------------------------------------------------
isa8_cga_iskr1031_device::isa8_cga_iskr1031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device( mconfig, ISA8_CGA_ISKR1031, "Iskra-1031 CGA", tag, owner, clock, "cga_iskr1031", __FILE__)
+ isa8_cga_device(mconfig, ISA8_CGA_ISKR1031, tag, owner, clock)
{
}
@@ -1902,14 +1890,14 @@ const tiny_rom_entry *isa8_cga_iskr1030m_device::device_rom_region() const
return ROM_NAME( cga_iskr1030m );
}
-const device_type ISA8_CGA_ISKR1030M = device_creator<isa8_cga_iskr1030m_device>;
+DEFINE_DEVICE_TYPE(ISA8_CGA_ISKR1030M, isa8_cga_iskr1030m_device, "cga_iskr1030m", "Iskra-1030M CGA")
//-------------------------------------------------
// isa8_cga_iskr1030m_device - constructor
//-------------------------------------------------
isa8_cga_iskr1030m_device::isa8_cga_iskr1030m_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device( mconfig, ISA8_CGA_ISKR1030M, "Iskra-1030M CGA", tag, owner, clock, "cga_iskr1030m", __FILE__)
+ isa8_cga_device(mconfig, ISA8_CGA_ISKR1030M, tag, owner, clock)
{
}
@@ -1926,7 +1914,7 @@ const tiny_rom_entry *isa8_cga_mc1502_device::device_rom_region() const
return ROM_NAME( mc1502 );
}
-const device_type ISA8_CGA_M24 = device_creator<isa8_cga_m24_device>;
+DEFINE_DEVICE_TYPE(ISA8_CGA_M24, isa8_cga_m24_device, "cga_m24", "Olivetti M24 CGA")
static MACHINE_CONFIG_DERIVED( m24, cga )
MCFG_DEVICE_MODIFY(CGA_SCREEN_NAME)
@@ -1940,7 +1928,7 @@ machine_config_constructor isa8_cga_m24_device::device_mconfig_additions() const
return MACHINE_CONFIG_NAME( m24 );
}
isa8_cga_m24_device::isa8_cga_m24_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device( mconfig, ISA8_CGA_M24, "Olivetti M24 CGA", tag, owner, clock, "cga_m24", __FILE__), m_mode2(0), m_index(0)
+ isa8_cga_device(mconfig, ISA8_CGA_M24, tag, owner, clock), m_mode2(0), m_index(0)
{
m_vram_size = 0x8000;
}
diff --git a/src/devices/bus/isa/cga.h b/src/devices/bus/isa/cga.h
index 2b34695cc83..a8f8b737c93 100644
--- a/src/devices/bus/isa/cga.h
+++ b/src/devices/bus/isa/cga.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef MAME_DEVICE_BUS_ISA_CGA_H
-#define MAME_DEVICE_BUS_ISA_CGA_H
+#ifndef MAME_BUS_ISA_CGA_H
+#define MAME_BUS_ISA_CGA_H
#pragma once
@@ -28,7 +28,6 @@ class isa8_cga_device :
public:
// construction/destruction
isa8_cga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_cga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
virtual MC6845_UPDATE_ROW( crtc_update_row );
MC6845_UPDATE_ROW( cga_text_inten_update_row );
@@ -48,6 +47,8 @@ public:
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
+ isa8_cga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
required_ioport m_cga_config;
// device-level overrides
@@ -88,7 +89,7 @@ public:
};
// device type definition
-extern const device_type ISA8_CGA;
+DECLARE_DEVICE_TYPE(ISA8_CGA, isa8_cga_device)
// ======================> isa8_cga_superimpose_device
@@ -99,11 +100,12 @@ class isa8_cga_superimpose_device :
public:
// construction/destruction
isa8_cga_superimpose_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_cga_superimpose_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+protected:
+ isa8_cga_superimpose_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
// device type definition
-extern const device_type ISA8_CGA_SUPERIMPOSE;
+DECLARE_DEVICE_TYPE(ISA8_CGA_SUPERIMPOSE, isa8_cga_superimpose_device)
// ======================> isa8_poisk2_device
@@ -119,7 +121,7 @@ public:
};
// device type definition
-extern const device_type ISA8_CGA_POISK2;
+DECLARE_DEVICE_TYPE(ISA8_CGA_POISK2, isa8_cga_poisk2_device)
// ======================> isa8_pc1512_device
@@ -162,7 +164,7 @@ public:
};
// device type definition
-extern const device_type ISA8_CGA_PC1512;
+DECLARE_DEVICE_TYPE(ISA8_CGA_PC1512, isa8_cga_pc1512_device)
// ======================> isa8_wyse700_device
@@ -192,7 +194,7 @@ public:
};
// device type definition
-extern const device_type ISA8_WYSE700;
+DECLARE_DEVICE_TYPE(ISA8_WYSE700, isa8_wyse700_device)
// ======================> isa8_ec1841_0002_device
@@ -218,7 +220,7 @@ public:
};
// device type definition
-extern const device_type ISA8_EC1841_0002;
+DECLARE_DEVICE_TYPE(ISA8_EC1841_0002, isa8_ec1841_0002_device)
// ======================> isa8_cga_iskr1031_device
@@ -232,7 +234,7 @@ public:
};
// device type definition
-extern const device_type ISA8_CGA_ISKR1030M;
+DECLARE_DEVICE_TYPE(ISA8_CGA_ISKR1030M, isa8_cga_iskr1030m_device)
// ======================> isa8_cga_iskr1031_device
@@ -246,7 +248,7 @@ public:
};
// device type definition
-extern const device_type ISA8_CGA_ISKR1031;
+DECLARE_DEVICE_TYPE(ISA8_CGA_ISKR1031, isa8_cga_iskr1031_device)
// ======================> isa8_cga_mc1502_device
@@ -261,7 +263,7 @@ public:
};
// device type definition
-extern const device_type ISA8_CGA_MC1502;
+DECLARE_DEVICE_TYPE(ISA8_CGA_MC1502, isa8_cga_mc1502_device)
class isa8_cga_m24_device :
@@ -285,6 +287,6 @@ private:
};
// device type definition
-extern const device_type ISA8_CGA_M24;
+DECLARE_DEVICE_TYPE(ISA8_CGA_M24, isa8_cga_m24)
-#endif // MAME_DEVICE_BUS_ISA_CGA_H
+#endif // MAME_BUS_ISA_CGA_H
diff --git a/src/devices/bus/isa/com.cpp b/src/devices/bus/isa/com.cpp
index bce1eab2120..dd532542cf7 100644
--- a/src/devices/bus/isa/com.cpp
+++ b/src/devices/bus/isa/com.cpp
@@ -76,7 +76,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_COM = device_creator<isa8_com_device>;
+DEFINE_DEVICE_TYPE(ISA8_COM, isa8_com_device, "isa_com", "Communications Adapter PC/XT")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -97,14 +97,13 @@ machine_config_constructor isa8_com_device::device_mconfig_additions() const
//-------------------------------------------------
isa8_com_device::isa8_com_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_COM, "Communications Adapter PC/XT", tag, owner, clock, "isa_com", __FILE__),
- device_isa8_card_interface(mconfig, *this)
+ isa8_com_device(mconfig, ISA8_COM, tag, owner, clock)
{
}
-isa8_com_device::isa8_com_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_isa8_card_interface(mconfig, *this)
+isa8_com_device::isa8_com_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this)
{
}
@@ -173,7 +172,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_COM_AT = device_creator<isa8_com_at_device>;
+DEFINE_DEVICE_TYPE(ISA8_COM_AT, isa8_com_at_device, "isa_com_at", "Communications Adapter")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -190,6 +189,6 @@ machine_config_constructor isa8_com_at_device::device_mconfig_additions() const
//-------------------------------------------------
isa8_com_at_device::isa8_com_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_com_device(mconfig, ISA8_COM_AT, "Communications Adapter", tag, owner, clock, "isa_com_at", __FILE__)
+ isa8_com_device(mconfig, ISA8_COM_AT, tag, owner, clock)
{
}
diff --git a/src/devices/bus/isa/com.h b/src/devices/bus/isa/com.h
index ef503bd770d..b0230fbc405 100644
--- a/src/devices/bus/isa/com.h
+++ b/src/devices/bus/isa/com.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl,Miodrag Milanovic
-#pragma once
+#ifndef MAME_BUS_ISA_COM_H
+#define MAME_BUS_ISA_COM_H
-#ifndef __ISA_COM_H__
-#define __ISA_COM_H__
+#pragma once
#include "isa.h"
@@ -19,23 +19,25 @@ class isa8_com_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_com_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_com_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ // construction/destruction
+ isa8_com_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
DECLARE_WRITE_LINE_MEMBER(pc_com_interrupt_1) { m_isa->irq4_w(state); }
DECLARE_WRITE_LINE_MEMBER(pc_com_interrupt_2) { m_isa->irq3_w(state); }
+
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ isa8_com_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
};
// device type definition
-extern const device_type ISA8_COM;
+DECLARE_DEVICE_TYPE(ISA8_COM, isa8_com_device)
// ======================> isa8_com_at_device
@@ -43,8 +45,8 @@ class isa8_com_at_device :
public isa8_com_device
{
public:
- // construction/destruction
- isa8_com_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa8_com_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -52,6 +54,6 @@ public:
// device type definition
-extern const device_type ISA8_COM_AT;
+DECLARE_DEVICE_TYPE(ISA8_COM_AT, isa8_com_at_device)
-#endif /* __ISA_COM_H__ */
+#endif // MAME_BUS_ISA_COM_H
diff --git a/src/devices/bus/isa/dectalk.cpp b/src/devices/bus/isa/dectalk.cpp
index 5995db6b5a2..bc1a767c8a3 100644
--- a/src/devices/bus/isa/dectalk.cpp
+++ b/src/devices/bus/isa/dectalk.cpp
@@ -7,10 +7,10 @@
#include "speaker.h"
-const device_type ISA8_DECTALK = device_creator<dectalk_isa_device>;
+DEFINE_DEVICE_TYPE(ISA8_DECTALK, dectalk_isa_device, "dectalk_isa", "DECTalk-PC")
dectalk_isa_device::dectalk_isa_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
- device_t(mconfig, ISA8_DECTALK, "DECTalk-PC", tag, owner, clock, "dectalk_isa", __FILE__),
+ device_t(mconfig, ISA8_DECTALK, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
m_cmd(0),
m_stat(0),
diff --git a/src/devices/bus/isa/dectalk.h b/src/devices/bus/isa/dectalk.h
index cace3a9d488..eaab353afb7 100644
--- a/src/devices/bus/isa/dectalk.h
+++ b/src/devices/bus/isa/dectalk.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#ifndef ISA_DECTALK_H_
-#define ISA_DECTALK_H_
+#ifndef MAME_BUS_ISA_DECTALK_H
+#define MAME_BUS_ISA_DECTALK_H
+
+#pragma once
#include "isa.h"
#include "sound/dac.h"
@@ -50,6 +52,6 @@ private:
required_device<cpu_device> m_dsp;
};
-extern const device_type ISA8_DECTALK;
+DECLARE_DEVICE_TYPE(ISA8_DECTALK, dectalk_isa_device)
-#endif /* ISA_DECTALK_H_ */
+#endif // MAME_BUS_ISA_DECTALK_H
diff --git a/src/devices/bus/isa/ega.cpp b/src/devices/bus/isa/ega.cpp
index 9891b37bf6e..440e6a7be05 100644
--- a/src/devices/bus/isa/ega.cpp
+++ b/src/devices/bus/isa/ega.cpp
@@ -538,7 +538,7 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_EGA = device_creator<isa8_ega_device>;
+DEFINE_DEVICE_TYPE(ISA8_EGA, isa8_ega_device, "ega", "IBM Enhanced Graphics Adapter")
//-------------------------------------------------
@@ -574,18 +574,16 @@ ioport_constructor isa8_ega_device::device_input_ports() const
//-------------------------------------------------
isa8_ega_device::isa8_ega_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_EGA, "IBM Enhanced Graphics Adapter", tag, owner, clock, "ega", __FILE__),
- device_isa8_card_interface(mconfig, *this), m_crtc_ega(nullptr), m_vram(nullptr), m_videoram(nullptr), m_charA(nullptr), m_charB(nullptr),
- m_misc_output(0), m_feature_control(0), m_frame_cnt(0), m_hsync(0), m_vsync(0), m_vblank(0), m_display_enable(0), m_video_mode(0),
- m_palette(*this, "palette")
+ isa8_ega_device(mconfig, ISA8_EGA, tag, owner, clock)
{
}
-isa8_ega_device::isa8_ega_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_isa8_card_interface(mconfig, *this), m_crtc_ega(nullptr), m_vram(nullptr), m_videoram(nullptr), m_charA(nullptr), m_charB(nullptr),
- m_misc_output(0), m_feature_control(0), m_frame_cnt(0), m_hsync(0), m_vsync(0), m_vblank(0), m_display_enable(0), m_video_mode(0),
- m_palette(*this, "palette")
+isa8_ega_device::isa8_ega_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this),
+ m_crtc_ega(nullptr), m_vram(nullptr), m_videoram(nullptr), m_charA(nullptr), m_charB(nullptr),
+ m_misc_output(0), m_feature_control(0), m_frame_cnt(0), m_hsync(0), m_vsync(0), m_vblank(0), m_display_enable(0), m_video_mode(0),
+ m_palette(*this, "palette")
{
}
diff --git a/src/devices/bus/isa/ega.h b/src/devices/bus/isa/ega.h
index e292c5d5e4f..38310580de4 100644
--- a/src/devices/bus/isa/ega.h
+++ b/src/devices/bus/isa/ega.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#pragma once
+#ifndef MAME_BUS_ISA_EGA_H
+#define MAME_BUS_ISA_EGA_H
-#ifndef __ISA_EGA_H__
-#define __ISA_EGA_H__
+#pragma once
#include "isa.h"
#include "video/crtc_ega.h"
@@ -19,92 +19,93 @@ class isa8_ega_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_ega_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_ega_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
- DECLARE_READ8_MEMBER(pc_ega8_3b0_r);
- DECLARE_WRITE8_MEMBER(pc_ega8_3b0_w);
- DECLARE_READ8_MEMBER(pc_ega8_3c0_r);
- DECLARE_WRITE8_MEMBER(pc_ega8_3c0_w);
- DECLARE_READ8_MEMBER(pc_ega8_3d0_r);
- DECLARE_WRITE8_MEMBER(pc_ega8_3d0_w);
- DECLARE_WRITE_LINE_MEMBER(de_changed);
- DECLARE_WRITE_LINE_MEMBER(hsync_changed);
- DECLARE_WRITE_LINE_MEMBER(vsync_changed);
- DECLARE_WRITE_LINE_MEMBER(vblank_changed);
-
- CRTC_EGA_ROW_UPDATE(ega_update_row);
- CRTC_EGA_ROW_UPDATE(pc_ega_graphics);
- CRTC_EGA_ROW_UPDATE(pc_ega_text);
+ // construction/destruction
+ isa8_ega_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+
+ DECLARE_READ8_MEMBER(read);
+ DECLARE_WRITE8_MEMBER(write);
+ DECLARE_READ8_MEMBER(pc_ega8_3b0_r);
+ DECLARE_WRITE8_MEMBER(pc_ega8_3b0_w);
+ DECLARE_READ8_MEMBER(pc_ega8_3c0_r);
+ DECLARE_WRITE8_MEMBER(pc_ega8_3c0_w);
+ DECLARE_READ8_MEMBER(pc_ega8_3d0_r);
+ DECLARE_WRITE8_MEMBER(pc_ega8_3d0_w);
+ DECLARE_WRITE_LINE_MEMBER(de_changed);
+ DECLARE_WRITE_LINE_MEMBER(hsync_changed);
+ DECLARE_WRITE_LINE_MEMBER(vsync_changed);
+ DECLARE_WRITE_LINE_MEMBER(vblank_changed);
+
+ CRTC_EGA_ROW_UPDATE(ega_update_row);
+ CRTC_EGA_ROW_UPDATE(pc_ega_graphics);
+ CRTC_EGA_ROW_UPDATE(pc_ega_text);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ isa8_ega_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
- uint8_t alu_op( uint8_t data, uint8_t latch_data );
+ uint8_t alu_op( uint8_t data, uint8_t latch_data );
public:
- crtc_ega_device *m_crtc_ega;
-
- void install_banks();
- void change_mode();
- DECLARE_WRITE8_MEMBER(pc_ega8_3X0_w);
- DECLARE_READ8_MEMBER(pc_ega8_3X0_r);
-
- /* Video memory and related variables */
- memory_region *m_vram;
- uint8_t *m_plane[4];
- uint8_t m_read_latch[4];
- uint8_t *m_videoram;
- uint8_t *m_charA;
- uint8_t *m_charB;
-
- /* Registers */
- uint8_t m_misc_output;
- uint8_t m_feature_control;
-
- /* Attribute registers AR00 - AR14
- */
- struct {
- uint8_t index;
- uint8_t data[32];
- uint8_t index_write;
- } m_attribute;
-
- /* Sequencer registers SR00 - SR04
- */
- struct {
- uint8_t index;
- uint8_t data[8];
- } m_sequencer;
-
- /* Graphics controller registers GR00 - GR08
- */
- struct {
- uint8_t index;
- uint8_t data[16];
- } m_graphics_controller;
-
- uint8_t m_frame_cnt;
- uint8_t m_hsync;
- uint8_t m_vsync;
- uint8_t m_vblank;
- uint8_t m_display_enable;
- int m_video_mode;
- required_device<palette_device> m_palette;
+ crtc_ega_device *m_crtc_ega;
+
+ void install_banks();
+ void change_mode();
+ DECLARE_WRITE8_MEMBER(pc_ega8_3X0_w);
+ DECLARE_READ8_MEMBER(pc_ega8_3X0_r);
+
+ /* Video memory and related variables */
+ memory_region *m_vram;
+ uint8_t *m_plane[4];
+ uint8_t m_read_latch[4];
+ uint8_t *m_videoram;
+ uint8_t *m_charA;
+ uint8_t *m_charB;
+
+ /* Registers */
+ uint8_t m_misc_output;
+ uint8_t m_feature_control;
+
+ /* Attribute registers AR00 - AR14
+ */
+ struct {
+ uint8_t index;
+ uint8_t data[32];
+ uint8_t index_write;
+ } m_attribute;
+
+ /* Sequencer registers SR00 - SR04
+ */
+ struct {
+ uint8_t index;
+ uint8_t data[8];
+ } m_sequencer;
+
+ /* Graphics controller registers GR00 - GR08
+ */
+ struct {
+ uint8_t index;
+ uint8_t data[16];
+ } m_graphics_controller;
+
+ uint8_t m_frame_cnt;
+ uint8_t m_hsync;
+ uint8_t m_vsync;
+ uint8_t m_vblank;
+ uint8_t m_display_enable;
+ int m_video_mode;
+ required_device<palette_device> m_palette;
};
// device type definition
-extern const device_type ISA8_EGA;
+DECLARE_DEVICE_TYPE(ISA8_EGA, isa8_ega_device)
-#endif /* __ISA_EGA_H__ */
+#endif // MAME_BUS_ISA_EGA_H
diff --git a/src/devices/bus/isa/fdc.cpp b/src/devices/bus/isa/fdc.cpp
index 72495c68857..d5516ffad47 100644
--- a/src/devices/bus/isa/fdc.cpp
+++ b/src/devices/bus/isa/fdc.cpp
@@ -72,8 +72,8 @@ static MACHINE_CONFIG_FRAGMENT( cfg_superio )
MACHINE_CONFIG_END
-isa8_fdc_device::isa8_fdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+isa8_fdc_device::isa8_fdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
fdc(*this, "fdc")
{
@@ -115,7 +115,7 @@ void isa8_fdc_device::eop_w(int state)
fdc->tc_w(state == ASSERT_LINE);
}
-isa8_fdc_xt_device::isa8_fdc_xt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_XT, "ISA 8bits XT FDC hookup", tag, owner, clock, "isa8_fdc_xt", __FILE__)
+isa8_fdc_xt_device::isa8_fdc_xt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_XT, tag, owner, clock)
{
}
@@ -124,7 +124,7 @@ machine_config_constructor isa8_fdc_xt_device::device_mconfig_additions() const
return MACHINE_CONFIG_NAME(cfg_xt);
}
-isa8_fdc_at_device::isa8_fdc_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_AT, "ISA 8bits AT FDC hookup", tag, owner, clock, "isa8_fdc_at", __FILE__)
+isa8_fdc_at_device::isa8_fdc_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_AT, tag, owner, clock)
{
}
@@ -133,7 +133,7 @@ machine_config_constructor isa8_fdc_at_device::device_mconfig_additions() const
return MACHINE_CONFIG_NAME(cfg_at);
}
-isa8_fdc_smc_device::isa8_fdc_smc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_SMC, "ISA 8bits SMC FDC hookup", tag, owner, clock, "isa8_fdc_smc", __FILE__)
+isa8_fdc_smc_device::isa8_fdc_smc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_SMC, tag, owner, clock)
{
}
@@ -142,7 +142,7 @@ machine_config_constructor isa8_fdc_smc_device::device_mconfig_additions() const
return MACHINE_CONFIG_NAME(cfg_smc);
}
-isa8_fdc_ps2_device::isa8_fdc_ps2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_PS2, "ISA 8bits PS/2 FDC hookup", tag, owner, clock, "isa8_fdc_ps2", __FILE__)
+isa8_fdc_ps2_device::isa8_fdc_ps2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_PS2, tag, owner, clock)
{
}
@@ -151,7 +151,7 @@ machine_config_constructor isa8_fdc_ps2_device::device_mconfig_additions() const
return MACHINE_CONFIG_NAME(cfg_ps2);
}
-isa8_fdc_superio_device::isa8_fdc_superio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_SUPERIO, "ISA 8bits SUPERIO FDC hookup", tag, owner, clock, "isa8_fdc_superio", __FILE__)
+isa8_fdc_superio_device::isa8_fdc_superio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_SUPERIO, tag, owner, clock)
{
}
@@ -160,8 +160,8 @@ machine_config_constructor isa8_fdc_superio_device::device_mconfig_additions() c
return MACHINE_CONFIG_NAME(cfg_superio);
}
-const device_type ISA8_FDC_XT = device_creator<isa8_fdc_xt_device>;
-const device_type ISA8_FDC_AT = device_creator<isa8_fdc_at_device>;
-const device_type ISA8_FDC_SMC = device_creator<isa8_fdc_smc_device>;
-const device_type ISA8_FDC_PS2 = device_creator<isa8_fdc_ps2_device>;
-const device_type ISA8_FDC_SUPERIO = device_creator<isa8_fdc_superio_device>;
+DEFINE_DEVICE_TYPE(ISA8_FDC_XT, isa8_fdc_xt_device, "isa8_fdc_xt", "ISA 8bits XT FDC hookup")
+DEFINE_DEVICE_TYPE(ISA8_FDC_AT, isa8_fdc_at_device, "isa8_fdc_at", "ISA 8bits AT FDC hookup")
+DEFINE_DEVICE_TYPE(ISA8_FDC_SMC, isa8_fdc_smc_device, "isa8_fdc_smc", "ISA 8bits SMC FDC hookup")
+DEFINE_DEVICE_TYPE(ISA8_FDC_PS2, isa8_fdc_ps2_device, "isa8_fdc_ps2", "ISA 8bits PS/2 FDC hookup")
+DEFINE_DEVICE_TYPE(ISA8_FDC_SUPERIO, isa8_fdc_superio_device, "isa8_fdc_superio", "ISA 8bits SUPERIO FDC hookup")
diff --git a/src/devices/bus/isa/fdc.h b/src/devices/bus/isa/fdc.h
index bdcebdce2bd..0d9227a04e4 100644
--- a/src/devices/bus/isa/fdc.h
+++ b/src/devices/bus/isa/fdc.h
@@ -5,10 +5,10 @@
ISA 8 bit Floppy Disk Controller
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_FDC_H
+#define MAME_BUS_ISA_FDC_H
-#ifndef ISA_FDC_H
-#define ISA_FDC_H
+#pragma once
#include "isa.h"
#include "machine/upd765.h"
@@ -24,16 +24,14 @@ class isa8_fdc_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_fdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- required_device<pc_fdc_interface> fdc;
-
DECLARE_WRITE_LINE_MEMBER( irq_w );
DECLARE_WRITE_LINE_MEMBER( drq_w );
DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
+ // construction/destruction
+ isa8_fdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -41,6 +39,8 @@ protected:
virtual uint8_t dack_r(int line) override;
virtual void dack_w(int line, uint8_t data) override;
virtual void eop_w(int state) override;
+
+ required_device<pc_fdc_interface> fdc;
};
class isa8_fdc_xt_device : public isa8_fdc_device {
@@ -74,10 +74,10 @@ public:
};
// device type definition
-extern const device_type ISA8_FDC_XT;
-extern const device_type ISA8_FDC_AT;
-extern const device_type ISA8_FDC_SMC;
-extern const device_type ISA8_FDC_PS2;
-extern const device_type ISA8_FDC_SUPERIO;
+DECLARE_DEVICE_TYPE(ISA8_FDC_XT, isa8_fdc_xt_device)
+DECLARE_DEVICE_TYPE(ISA8_FDC_AT, isa8_fdc_at_device)
+DECLARE_DEVICE_TYPE(ISA8_FDC_SMC, isa8_fdc_smc_device)
+DECLARE_DEVICE_TYPE(ISA8_FDC_PS2, isa8_fdc_ps2_device)
+DECLARE_DEVICE_TYPE(ISA8_FDC_SUPERIO, isa8_fdc_superio_device)
-#endif /* ISA_FDC_H */
+#endif // MAME_BUS_ISA_FDC_H
diff --git a/src/devices/bus/isa/finalchs.cpp b/src/devices/bus/isa/finalchs.cpp
index 00ce6f31a92..00740d9f264 100644
--- a/src/devices/bus/isa/finalchs.cpp
+++ b/src/devices/bus/isa/finalchs.cpp
@@ -69,7 +69,7 @@ WRITE8_MEMBER( isa8_finalchs_device::finalchs_w )
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_FINALCHS = device_creator<isa8_finalchs_device>;
+DEFINE_DEVICE_TYPE(ISA8_FINALCHS, isa8_finalchs_device, "isa_finalchs", "Final Chess Card")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -90,9 +90,10 @@ machine_config_constructor isa8_finalchs_device::device_mconfig_additions() cons
//-------------------------------------------------
isa8_finalchs_device::isa8_finalchs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA8_FINALCHS, "Final Chess Card", tag, owner, clock, "finalchs", __FILE__),
- device_isa8_card_interface( mconfig, *this ), m_FCH_latch_data(0)
- {
+ : device_t(mconfig, ISA8_FINALCHS, tag, owner, clock)
+ , device_isa8_card_interface(mconfig, *this)
+ , m_FCH_latch_data(0)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/isa/finalchs.h b/src/devices/bus/isa/finalchs.h
index e105a8a0289..f287489cb3f 100644
--- a/src/devices/bus/isa/finalchs.h
+++ b/src/devices/bus/isa/finalchs.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Jonathan Gevaryahu
-#pragma once
+#ifndef MAME_BUS_ISA_FINALCHS_H
+#define MAME_BUS_ISA_FINALCHS_H
-#ifndef __ISA_FINALCHS_H__
-#define __ISA_FINALCHS_H__
+#pragma once
#include "isa.h"
@@ -18,32 +18,32 @@ class isa8_finalchs_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_finalchs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa8_finalchs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_READ8_MEMBER(finalchs_r);
- DECLARE_WRITE8_MEMBER(finalchs_w);
+ DECLARE_READ8_MEMBER(finalchs_r);
+ DECLARE_WRITE8_MEMBER(finalchs_w);
- DECLARE_WRITE8_MEMBER( io7ff8_write );
- DECLARE_READ8_MEMBER( io7ff8_read );
- DECLARE_READ8_MEMBER( io6000_read );
- DECLARE_WRITE8_MEMBER( io6000_write );
+ DECLARE_WRITE8_MEMBER( io7ff8_write );
+ DECLARE_READ8_MEMBER( io7ff8_read );
+ DECLARE_READ8_MEMBER( io6000_read );
+ DECLARE_WRITE8_MEMBER( io6000_write );
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- // internal state
- uint8_t m_FCH_latch_data;
+ // internal state
+ uint8_t m_FCH_latch_data;
};
// device type definition
-extern const device_type ISA8_FINALCHS;
+DECLARE_DEVICE_TYPE(ISA8_FINALCHS, isa8_finalchs_device)
-#endif /* __ISA_FINALCHS_H__ */
+#endif // MAME_BUS_ISA_FINALCHS_H
diff --git a/src/devices/bus/isa/gblaster.cpp b/src/devices/bus/isa/gblaster.cpp
index 9ff7d0d9f3c..59cafbd1226 100644
--- a/src/devices/bus/isa/gblaster.cpp
+++ b/src/devices/bus/isa/gblaster.cpp
@@ -78,7 +78,7 @@ WRITE8_MEMBER( isa8_gblaster_device::detect_w )
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_GAME_BLASTER = device_creator<isa8_gblaster_device>;
+DEFINE_DEVICE_TYPE(ISA8_GAME_BLASTER, isa8_gblaster_device, "isa_gblaster", "Game Blaster Sound Card")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -99,11 +99,11 @@ machine_config_constructor isa8_gblaster_device::device_mconfig_additions() cons
//-------------------------------------------------
isa8_gblaster_device::isa8_gblaster_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_GAME_BLASTER, "Game Blaster Sound Card", tag, owner, clock, "isa_gblaster", __FILE__),
- device_isa8_card_interface(mconfig, *this),
- m_saa1099_1(*this, "saa1099.1"),
- m_saa1099_2(*this, "saa1099.2"),
- detect_reg(0xFF)
+ device_t(mconfig, ISA8_GAME_BLASTER, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this),
+ m_saa1099_1(*this, "saa1099.1"),
+ m_saa1099_2(*this, "saa1099.2"),
+ detect_reg(0xFF)
{
}
diff --git a/src/devices/bus/isa/gblaster.h b/src/devices/bus/isa/gblaster.h
index 43aa55107b6..32cebdaa0ba 100644
--- a/src/devices/bus/isa/gblaster.h
+++ b/src/devices/bus/isa/gblaster.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Miodrag Milanovic
-#pragma once
+#ifndef MAME_BUS_ISA_GBLASTER_H
+#define MAME_BUS_ISA_GBLASTER_H
-#ifndef __ISA_GAME_BLASTER_H__
-#define __ISA_GAME_BLASTER_H__
+#pragma once
#include "isa.h"
#include "sound/saa1099.h"
@@ -19,30 +19,30 @@ class isa8_gblaster_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_gblaster_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa8_gblaster_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
- DECLARE_READ8_MEMBER(saa1099_16_r);
- DECLARE_WRITE8_MEMBER(saa1099_1_16_w);
- DECLARE_WRITE8_MEMBER(saa1099_2_16_w);
- DECLARE_READ8_MEMBER(detect_r);
- DECLARE_WRITE8_MEMBER(detect_w);
+ DECLARE_READ8_MEMBER(saa1099_16_r);
+ DECLARE_WRITE8_MEMBER(saa1099_1_16_w);
+ DECLARE_WRITE8_MEMBER(saa1099_2_16_w);
+ DECLARE_READ8_MEMBER(detect_r);
+ DECLARE_WRITE8_MEMBER(detect_w);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- // internal state
- required_device<saa1099_device> m_saa1099_1;
- required_device<saa1099_device> m_saa1099_2;
- uint8_t detect_reg;
+ // internal state
+ required_device<saa1099_device> m_saa1099_1;
+ required_device<saa1099_device> m_saa1099_2;
+ uint8_t detect_reg;
};
// device type definition
-extern const device_type ISA8_GAME_BLASTER;
+DECLARE_DEVICE_TYPE(ISA8_GAME_BLASTER, isa8_gblaster_device)
-#endif /* __ISA_GAME_BLASTER_H__ */
+#endif // MAME_BUS_ISA_GBLASTER_H
diff --git a/src/devices/bus/isa/gus.cpp b/src/devices/bus/isa/gus.cpp
index a81a2f7a57f..157c1d13ff2 100644
--- a/src/devices/bus/isa/gus.cpp
+++ b/src/devices/bus/isa/gus.cpp
@@ -15,6 +15,16 @@
#include "speaker.h"
+#define IRQ_2XF 0x00
+#define IRQ_MIDI_TRANSMIT 0x01
+#define IRQ_MIDI_RECEIVE 0x02
+#define IRQ_TIMER1 0x04
+#define IRQ_TIMER2 0x08
+#define IRQ_SB 0x10
+#define IRQ_WAVETABLE 0x20
+#define IRQ_VOLUME_RAMP 0x40
+#define IRQ_DRAM_TC_DMA 0x80
+
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
@@ -36,8 +46,8 @@ static const uint16_t volume_ramp_table[4] =
1, 8, 64, 512
};
-const device_type GGF1 = device_creator<gf1_device>;
-const device_type ISA16_GUS = device_creator<isa16_gus_device>;
+DEFINE_DEVICE_TYPE(GGF1, gf1_device, "gf1", "Gravis GF1")
+DEFINE_DEVICE_TYPE(ISA16_GUS, isa16_gus_device, "isa_gus", "Gravis Ultrasound")
#ifdef LOG_SOUND
FILE* f;
@@ -354,8 +364,12 @@ void gf1_device::sound_stream_update(sound_stream &stream, stream_sample_t **inp
//-------------------------------------------------
gf1_device::gf1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- acia6850_device(mconfig, GGF1, "Gravis GF1", tag, owner, clock, "gf1", __FILE__),
- device_sound_interface( mconfig, *this ), m_dma_dram_ctrl(0), m_dma_start_addr(0), m_dram_addr(0), m_timer_ctrl(0), m_timer1_count(0), m_timer2_count(0), m_timer1_value(0), m_timer2_value(0), m_sampling_freq(0), m_sampling_ctrl(0), m_joy_trim_dac(0), m_reset(0), m_active_voices(0), m_irq_source(0), m_stream(nullptr), m_timer1(nullptr), m_timer2(nullptr), m_dmatimer(nullptr), m_voltimer(nullptr), m_current_voice(0), m_current_reg(0), m_adlib_cmd(0), m_mix_ctrl(0), m_gf1_irq(0), m_midi_irq(0), m_dma_channel1(0), m_dma_channel2(0), m_irq_combine(0), m_dma_combine(0), m_adlib_timer_cmd(0), m_adlib_timer1_enable(0), m_adlib_timer2_enable(0), m_adlib_status(0), m_adlib_data(0), m_voice_irq_ptr(0), m_voice_irq_current(0), m_dma_16bit(0), m_statread(0), m_sb_data_2xc(0), m_sb_data_2xe(0), m_reg_ctrl(0), m_fake_adlib_status(0), m_dma_current(0), m_txirq(0), m_rxirq(0),
+ acia6850_device(mconfig, GGF1, tag, owner, clock),
+ device_sound_interface(mconfig, *this),
+ m_dma_dram_ctrl(0), m_dma_start_addr(0), m_dram_addr(0), m_timer_ctrl(0), m_timer1_count(0), m_timer2_count(0), m_timer1_value(0), m_timer2_value(0), m_sampling_freq(0), m_sampling_ctrl(0), m_joy_trim_dac(0), m_reset(0), m_active_voices(0), m_irq_source(0),
+ m_stream(nullptr),
+ m_timer1(nullptr), m_timer2(nullptr), m_dmatimer(nullptr), m_voltimer(nullptr),
+ m_current_voice(0), m_current_reg(0), m_adlib_cmd(0), m_mix_ctrl(0), m_gf1_irq(0), m_midi_irq(0), m_dma_channel1(0), m_dma_channel2(0), m_irq_combine(0), m_dma_combine(0), m_adlib_timer_cmd(0), m_adlib_timer1_enable(0), m_adlib_timer2_enable(0), m_adlib_status(0), m_adlib_data(0), m_voice_irq_ptr(0), m_voice_irq_current(0), m_dma_16bit(0), m_statread(0), m_sb_data_2xc(0), m_sb_data_2xe(0), m_reg_ctrl(0), m_fake_adlib_status(0), m_dma_current(0), m_txirq(0), m_rxirq(0),
m_txirq_handler(*this),
m_rxirq_handler(*this),
m_wave_irq_handler(*this),
@@ -1277,9 +1291,10 @@ ioport_constructor isa16_gus_device::device_input_ports() const
isa16_gus_device::isa16_gus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_GUS, "Gravis Ultrasound", tag, owner, clock, "isa_gus", __FILE__),
- device_isa16_card_interface( mconfig, *this ),
- m_gf1(*this, "gf1"), m_irq_status(0)
+ device_t(mconfig, ISA16_GUS, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_gf1(*this, "gf1"),
+ m_irq_status(0)
{
}
diff --git a/src/devices/bus/isa/gus.h b/src/devices/bus/isa/gus.h
index bf1d1cb852e..fe0103734d5 100644
--- a/src/devices/bus/isa/gus.h
+++ b/src/devices/bus/isa/gus.h
@@ -37,10 +37,10 @@
* 0x3X6: Data port (write only)
*/
-#pragma once
+#ifndef MAME_BUS_ISA_GUS_H
+#define MAME_BUS_ISA_GUS_H
-#ifndef __ISA_GUS_H__
-#define __ISA_GUS_H__
+#pragma once
#include "isa.h"
#include "machine/6850acia.h"
@@ -86,53 +86,43 @@
#define GF1_CLOCK 9878400
-#define IRQ_2XF 0x00
-#define IRQ_MIDI_TRANSMIT 0x01
-#define IRQ_MIDI_RECEIVE 0x02
-#define IRQ_TIMER1 0x04
-#define IRQ_TIMER2 0x08
-#define IRQ_SB 0x10
-#define IRQ_WAVETABLE 0x20
-#define IRQ_VOLUME_RAMP 0x40
-#define IRQ_DRAM_TC_DMA 0x80
-
-struct gus_voice
-{
- uint8_t voice_ctrl;
- uint16_t freq_ctrl;
- uint32_t start_addr;
- uint32_t end_addr;
- uint8_t vol_ramp_rate;
- uint8_t vol_ramp_start;
- uint8_t vol_ramp_end;
- uint16_t current_vol;
- uint32_t current_addr;
- uint8_t pan_position;
- uint8_t vol_ramp_ctrl;
- uint32_t vol_count;
- bool rollover;
- int16_t sample; // current sample data
-};
-
class gf1_device :
public acia6850_device,
public device_sound_interface
{
public:
+ struct gus_voice
+ {
+ uint8_t voice_ctrl;
+ uint16_t freq_ctrl;
+ uint32_t start_addr;
+ uint32_t end_addr;
+ uint8_t vol_ramp_rate;
+ uint8_t vol_ramp_start;
+ uint8_t vol_ramp_end;
+ uint16_t current_vol;
+ uint32_t current_addr;
+ uint8_t pan_position;
+ uint8_t vol_ramp_ctrl;
+ uint32_t vol_count;
+ bool rollover;
+ int16_t sample; // current sample data
+ };
+
// construction/destruction
gf1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_txirq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_txirq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_rxirq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_rxirq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_wave_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_wave_irq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_ramp_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_ramp_irq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_timer1_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_timer1_irq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_timer2_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_timer2_irq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_sb_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_sb_irq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_dma_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_dma_irq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_drq1_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_drq1_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_drq2_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_drq2_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_nmi_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_nmi_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_txirq_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_txirq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_rxirq_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_rxirq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_wave_irq_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_wave_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_ramp_irq_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_ramp_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_timer1_irq_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_timer1_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_timer2_irq_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_timer2_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_sb_irq_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_sb_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dma_irq_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_dma_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_drq1_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_drq1_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_drq2_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_drq2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_nmi_handler(device_t &device, Object &&cb) { return downcast<gf1_device &>(device).m_nmi_handler.set_callback(std::forward<Object>(cb)); }
// current IRQ/DMA channel getters
uint8_t gf1_irq() { if(m_gf1_irq != 0) return m_gf1_irq; else return m_midi_irq; } // workaround for win95 loading dumb values
@@ -167,6 +157,7 @@ public:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) override;
+protected:
// voice-specific registers
gus_voice m_voice[32];
@@ -192,7 +183,6 @@ public:
std::vector<uint8_t> m_wave_ram;
-protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -316,7 +306,7 @@ private:
};
// device type definition
-extern const device_type GGF1;
-extern const device_type ISA16_GUS;
+DECLARE_DEVICE_TYPE(GF1, gf1_device)
+DECLARE_DEVICE_TYPE(ISA16_GUS, isa16_gus_device)
-#endif /* __ISA_GUS_H__ */
+#endif // MAME_BUS_ISA_GUS_H
diff --git a/src/devices/bus/isa/hdc.cpp b/src/devices/bus/isa/hdc.cpp
index 6efe2dbfde0..52a8bb34e0c 100644
--- a/src/devices/bus/isa/hdc.cpp
+++ b/src/devices/bus/isa/hdc.cpp
@@ -157,37 +157,36 @@ static INPUT_PORTS_START( isa_hdc )
PORT_DIPSETTING( 0x00, DEF_STR(No) )
INPUT_PORTS_END
-const device_type XT_HDC = device_creator<xt_hdc_device>;
-const device_type EC1841_HDC = device_creator<ec1841_device>;
-const device_type ST11M_HDC = device_creator<st11m_device>;
+DEFINE_DEVICE_TYPE(XT_HDC, xt_hdc_device, "xt_hdc", "Generic PC-XT Fixed Disk Controller")
+DEFINE_DEVICE_TYPE(EC1841_HDC, ec1841_device, "ec1481", "EX1841 Fixed Disk Controller")
+DEFINE_DEVICE_TYPE(ST11M_HDC, st11m_device, "st11m", "Seagate ST11M Fixed Disk Controller")
xt_hdc_device::xt_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, XT_HDC, "Generic PC-XT Fixed Disk Controller", tag, owner, clock, "xt_hdc", __FILE__), buffer_ptr(nullptr), csb(0), status(0), error(0), m_current_cmd(0),
- m_irq_handler(*this),
- m_drq_handler(*this), drv(0), timer(nullptr), data_cnt(0), hdc_control(0), hdcdma_src(nullptr), hdcdma_dst(nullptr), hdcdma_read(0), hdcdma_write(0), hdcdma_size(0)
+ xt_hdc_device(mconfig, XT_HDC, tag, owner, clock)
{
m_type = STANDARD;
}
-xt_hdc_device::xt_hdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source), buffer_ptr(nullptr), csb(0), status(0), error(0), m_type(0), m_current_cmd(0),
- m_irq_handler(*this),
- m_drq_handler(*this), drv(0), timer(nullptr), data_cnt(0), hdc_control(0), hdcdma_src(nullptr), hdcdma_dst(nullptr), hdcdma_read(0), hdcdma_write(0), hdcdma_size(0)
+xt_hdc_device::xt_hdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ buffer_ptr(nullptr), csb(0), status(0), error(0), m_type(0), m_current_cmd(0),
+ m_irq_handler(*this),
+ m_drq_handler(*this), drv(0), timer(nullptr), data_cnt(0), hdc_control(0), hdcdma_src(nullptr), hdcdma_dst(nullptr), hdcdma_read(0), hdcdma_write(0), hdcdma_size(0)
{
}
ec1841_device::ec1841_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- xt_hdc_device(mconfig, EC1841_HDC, "EC1841 Fixed Disk Controller", tag, owner, clock, "ec1481", __FILE__),
- m_irq_handler(*this),
- m_drq_handler(*this)
+ xt_hdc_device(mconfig, EC1841_HDC, tag, owner, clock),
+ m_irq_handler(*this),
+ m_drq_handler(*this)
{
m_type = EC1841;
}
st11m_device::st11m_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- xt_hdc_device(mconfig, ST11M_HDC, "Seagate ST11M Fixed Disk Controller", tag, owner, clock, "st11m", __FILE__),
- m_irq_handler(*this),
- m_drq_handler(*this)
+ xt_hdc_device(mconfig, ST11M_HDC, tag, owner, clock),
+ m_irq_handler(*this),
+ m_drq_handler(*this)
{
m_type = ST11M;
}
@@ -928,8 +927,8 @@ void xt_hdc_device::set_ready()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_HDC = device_creator<isa8_hdc_device>;
-const device_type ISA8_HDC_EC1841 = device_creator<isa8_hdc_ec1841_device>;
+DEFINE_DEVICE_TYPE(ISA8_HDC, isa8_hdc_device, "isa_hdc", "Fixed Disk Controller Card")
+DEFINE_DEVICE_TYPE(ISA8_HDC_EC1841, isa8_hdc_ec1841_device, "isa_hdc_ec1841", "EC1841 HDC Card")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -973,22 +972,20 @@ ioport_constructor isa8_hdc_device::device_input_ports() const
//-------------------------------------------------
isa8_hdc_device::isa8_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_HDC, "Fixed Disk Controller Card", tag, owner, clock, "hdc", __FILE__),
- device_isa8_card_interface(mconfig, *this),
- m_hdc(*this,"hdc"), dip(0)
+ isa8_hdc_device(mconfig, ISA8_HDC, tag, owner, clock)
{
}
-isa8_hdc_device::isa8_hdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_isa8_card_interface(mconfig, *this),
- m_hdc(*this,"hdc"), dip(0)
+isa8_hdc_device::isa8_hdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this),
+ m_hdc(*this,"hdc"), dip(0)
{
}
isa8_hdc_ec1841_device::isa8_hdc_ec1841_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_hdc_device( mconfig, ISA8_HDC_EC1841, "EC1841 HDC", tag, owner, clock, "hdc_ec1841", __FILE__),
- m_hdc(*this,"hdc")
+ isa8_hdc_device( mconfig, ISA8_HDC_EC1841, tag, owner, clock),
+ m_hdc(*this,"hdc")
{
}
diff --git a/src/devices/bus/isa/hdc.h b/src/devices/bus/isa/hdc.h
index 52c190b3796..b631fc91818 100644
--- a/src/devices/bus/isa/hdc.h
+++ b/src/devices/bus/isa/hdc.h
@@ -5,10 +5,10 @@
ISA 8 bit XT Hard Disk Controller
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_HDC_H
+#define MAME_BUS_ISA_HDC_H
-#ifndef ISA_HDC_H
-#define ISA_HDC_H
+#pragma once
#include "isa.h"
#include "imagedev/harddriv.h"
@@ -31,10 +31,9 @@ class xt_hdc_device :
public:
// construction/destruction
xt_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- xt_hdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- template<class _Object> static devcb_base &set_irq_handler(device_t &device, _Object object) { return downcast<xt_hdc_device &>(device).m_irq_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_drq_handler(device_t &device, _Object object) { return downcast<xt_hdc_device &>(device).m_drq_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_handler(device_t &device, Object &&cb) { return downcast<xt_hdc_device &>(device).m_irq_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_drq_handler(device_t &device, Object &&cb) { return downcast<xt_hdc_device &>(device).m_drq_handler.set_callback(std::forward<Object>(cb)); }
int dack_r();
int dack_rs();
@@ -53,6 +52,8 @@ public:
bool install_rom() { return (m_type != EC1841); }
protected:
+ xt_hdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -132,9 +133,9 @@ protected:
devcb_write_line m_drq_handler;
};
-extern const device_type XT_HDC;
-extern const device_type EC1841_HDC;
-extern const device_type ST11M_HDC;
+DECLARE_DEVICE_TYPE(XT_HDC, xt_hdc_device)
+DECLARE_DEVICE_TYPE(EC1841_HDC, ec1841_device)
+DECLARE_DEVICE_TYPE(ST11M_HDC, st11m_device)
// ======================> isa8_hdc_device
@@ -143,30 +144,32 @@ class isa8_hdc_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_hdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- DECLARE_READ8_MEMBER(pc_hdc_r);
- DECLARE_WRITE8_MEMBER(pc_hdc_w);
- DECLARE_WRITE_LINE_MEMBER(irq_w);
- DECLARE_WRITE_LINE_MEMBER(drq_w);
- required_device<xt_hdc_device> m_hdc;
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
+ // construction/destruction
+ isa8_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ DECLARE_READ8_MEMBER(pc_hdc_r);
+ DECLARE_WRITE8_MEMBER(pc_hdc_w);
+ DECLARE_WRITE_LINE_MEMBER(irq_w);
+ DECLARE_WRITE_LINE_MEMBER(drq_w);
+ required_device<xt_hdc_device> m_hdc;
+
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ isa8_hdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
public:
- virtual uint8_t dack_r(int line) override;
- virtual void dack_w(int line,uint8_t data) override;
- uint8_t pc_hdc_dipswitch_r();
+ virtual uint8_t dack_r(int line) override;
+ virtual void dack_w(int line,uint8_t data) override;
+ uint8_t pc_hdc_dipswitch_r();
- int dip; /* dip switches */
+ int dip; /* dip switches */
};
@@ -182,7 +185,7 @@ public:
};
// device type definition
-extern const device_type ISA8_HDC;
-extern const device_type ISA8_HDC_EC1841;
+DECLARE_DEVICE_TYPE(ISA8_HDC, isa8_hdc_device)
+DECLARE_DEVICE_TYPE(ISA8_HDC_EC1841, isa8_hdc_ec1841_device)
-#endif /* ISA_HDC_H */
+#endif // MAME_BUS_ISA_HDC_H
diff --git a/src/devices/bus/isa/ibm_mfc.cpp b/src/devices/bus/isa/ibm_mfc.cpp
index 2b1b5f17fcb..71fb83d93ef 100644
--- a/src/devices/bus/isa/ibm_mfc.cpp
+++ b/src/devices/bus/isa/ibm_mfc.cpp
@@ -63,7 +63,7 @@ enum
// Globals
//-------------------------------------------------
-const device_type ISA8_IBM_MFC = device_creator<isa8_ibm_mfc_device>;
+DEFINE_DEVICE_TYPE(ISA8_IBM_MFC, isa8_ibm_mfc_device, "ibm_mfc", "IBM PC Music Feature Card")
//-------------------------------------------------
@@ -450,14 +450,15 @@ const tiny_rom_entry *isa8_ibm_mfc_device::device_rom_region() const
//-------------------------------------------------
isa8_ibm_mfc_device::isa8_ibm_mfc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_IBM_MFC, "IBM PC Music Feature Card", tag, owner, clock, "ibm_mfc", __FILE__),
- device_isa8_card_interface(mconfig, *this), m_tcr(0), m_pc_ppi_c(0), m_z80_ppi_c(0), m_pc_irq_state(0), m_z80_irq_state(0),
- m_cpu(*this, "ibm_mfc"),
- m_ym2151(*this, "ym2151"),
- m_d8253(*this, "d8253"),
- m_d71051(*this, "d71051"),
- m_d71055c_0(*this, "d71055c_0"),
- m_d71055c_1(*this, "d71055c_1")
+ device_t(mconfig, ISA8_IBM_MFC, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this),
+ m_tcr(0), m_pc_ppi_c(0), m_z80_ppi_c(0), m_pc_irq_state(0), m_z80_irq_state(0),
+ m_cpu(*this, "ibm_mfc"),
+ m_ym2151(*this, "ym2151"),
+ m_d8253(*this, "d8253"),
+ m_d71051(*this, "d71051"),
+ m_d71055c_0(*this, "d71055c_0"),
+ m_d71055c_1(*this, "d71055c_1")
{
}
diff --git a/src/devices/bus/isa/ibm_mfc.h b/src/devices/bus/isa/ibm_mfc.h
index a315a55dc72..019f89d5da2 100644
--- a/src/devices/bus/isa/ibm_mfc.h
+++ b/src/devices/bus/isa/ibm_mfc.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_IBM_MFC_H
+#define MAME_BUS_ISA_IBM_MFC_H
-#ifndef __ISA_IBM_MUSIC_FEATURE_CARD_H__
-#define __ISA_IBM_MUSIC_FEATURE_CARD_H__
+#pragma once
#include "isa.h"
@@ -84,6 +84,6 @@ private:
// Device type definition
-extern const device_type ISA8_IBM_MFC;
+DECLARE_DEVICE_TYPE(ISA8_IBM_MFC, isa8_ibm_mfc_device)
-#endif /* __ISA_IBM_MUSIC_FEATURE_CARD_H__ */
+#endif // MAME_BUS_ISA_IBM_MFC_H
diff --git a/src/devices/bus/isa/ide.cpp b/src/devices/bus/isa/ide.cpp
index d932543a586..0d5ee8cd352 100644
--- a/src/devices/bus/isa/ide.cpp
+++ b/src/devices/bus/isa/ide.cpp
@@ -73,7 +73,7 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_IDE = device_creator<isa16_ide_device>;
+DEFINE_DEVICE_TYPE(ISA16_IDE, isa16_ide_device, "isa_ide", "IDE Fixed Drive Adapter")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -103,10 +103,10 @@ ioport_constructor isa16_ide_device::device_input_ports() const
//-------------------------------------------------
isa16_ide_device::isa16_ide_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA16_IDE, "IDE Fixed Drive Adapter", tag, owner, clock, "isa_ide", __FILE__),
- device_isa16_card_interface( mconfig, *this ),
- m_is_primary(true),
- m_ide(*this, "ide")
+ : device_t(mconfig, ISA16_IDE, tag, owner, clock)
+ , device_isa16_card_interface(mconfig, *this)
+ , m_is_primary(true)
+ , m_ide(*this, "ide")
{
}
diff --git a/src/devices/bus/isa/ide.h b/src/devices/bus/isa/ide.h
index 4957890c0ba..6f34b144461 100644
--- a/src/devices/bus/isa/ide.h
+++ b/src/devices/bus/isa/ide.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Miodrag Milanovic
-#pragma once
+#ifndef MAME_BUS_ISA_IDE_H
+#define MAME_BUS_ISA_IDE_H
-#ifndef __ISA_IDE_H__
-#define __ISA_IDE_H__
+#pragma once
#include "isa.h"
#include "machine/idectrl.h"
@@ -44,6 +44,6 @@ private:
// device type definition
-extern const device_type ISA16_IDE;
+DECLARE_DEVICE_TYPE(ISA16_IDE, isa16_ide_device)
-#endif /* __ISA_IDE_H__ */
+#endif // MAME_BUS_ISA_IDE_H
diff --git a/src/devices/bus/isa/isa.cpp b/src/devices/bus/isa/isa.cpp
index b624df933d5..263d4452f98 100644
--- a/src/devices/bus/isa/isa.cpp
+++ b/src/devices/bus/isa/isa.cpp
@@ -14,7 +14,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_SLOT = device_creator<isa8_slot_device>;
+DEFINE_DEVICE_TYPE(ISA8_SLOT, isa8_slot_device, "isa8_slot", "8-bit ISA slot")
//**************************************************************************
// LIVE DEVICE
@@ -24,16 +24,14 @@ const device_type ISA8_SLOT = device_creator<isa8_slot_device>;
// isa8_slot_device - constructor
//-------------------------------------------------
isa8_slot_device::isa8_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_SLOT, "ISA8_SLOT", tag, owner, clock, "isa8_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_owner(nullptr),
- m_isa_tag(nullptr)
+ isa8_slot_device(mconfig, ISA8_SLOT, tag, owner, clock)
{
}
-isa8_slot_device::isa8_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this), m_owner(nullptr), m_isa_tag(nullptr)
+isa8_slot_device::isa8_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_owner(nullptr), m_isa_tag(nullptr)
{
}
@@ -64,7 +62,7 @@ void isa8_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_SLOT = device_creator<isa16_slot_device>;
+DEFINE_DEVICE_TYPE(ISA16_SLOT, isa16_slot_device, "isa16_slot", "16-bit ISA slot")
//**************************************************************************
// LIVE DEVICE
@@ -74,7 +72,7 @@ const device_type ISA16_SLOT = device_creator<isa16_slot_device>;
// isa16_slot_device - constructor
//-------------------------------------------------
isa16_slot_device::isa16_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_slot_device(mconfig, ISA16_SLOT, "ISA16_SLOT", tag, owner, clock, "isa16_slot", __FILE__)
+ isa8_slot_device(mconfig, ISA16_SLOT, tag, owner, clock)
{
}
@@ -100,7 +98,7 @@ void isa16_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8 = device_creator<isa8_device>;
+DEFINE_DEVICE_TYPE(ISA8, isa8_device, "isa8", "8-bit ISA bus")
void isa8_device::static_set_cputag(device_t &device, const char *tag)
{
@@ -124,50 +122,30 @@ void isa8_device::static_set_custom_spaces(device_t &device)
//-------------------------------------------------
isa8_device::isa8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8, "ISA8", tag, owner, clock, "isa8", __FILE__),
- device_memory_interface(mconfig, *this),
- m_program_config("ISA 8-bit program", ENDIANNESS_LITTLE, 8, 24, 0, nullptr),
- m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, nullptr),
- m_program16_config("ISA 16-bit program", ENDIANNESS_LITTLE, 16, 24, 0, nullptr),
- m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, nullptr), m_maincpu(nullptr), m_iospace(nullptr), m_prgspace(nullptr),
- m_out_irq2_cb(*this),
- m_out_irq3_cb(*this),
- m_out_irq4_cb(*this),
- m_out_irq5_cb(*this),
- m_out_irq6_cb(*this),
- m_out_irq7_cb(*this),
- m_out_drq1_cb(*this),
- m_out_drq2_cb(*this),
- m_out_drq3_cb(*this), m_cputag(nullptr),
- m_write_iochck(*this)
-{
- for(int i=0;i<8;i++)
- {
- m_dma_device[i] = nullptr;
- m_dma_eop[i] = false;
- }
- m_nmi_enabled = false;
- m_iowidth = m_prgwidth = 0;
- m_allocspaces = false;
-}
-
-isa8_device::isa8_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_memory_interface(mconfig, *this),
- m_program_config("ISA 8-bit program", ENDIANNESS_LITTLE, 8, 24, 0, nullptr),
- m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, nullptr),
- m_program16_config("ISA 16-bit program", ENDIANNESS_LITTLE, 16, 24, 0, nullptr),
- m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, nullptr), m_maincpu(nullptr), m_iospace(nullptr), m_prgspace(nullptr),
- m_out_irq2_cb(*this),
- m_out_irq3_cb(*this),
- m_out_irq4_cb(*this),
- m_out_irq5_cb(*this),
- m_out_irq6_cb(*this),
- m_out_irq7_cb(*this),
- m_out_drq1_cb(*this),
- m_out_drq2_cb(*this),
- m_out_drq3_cb(*this), m_cputag(nullptr),
- m_write_iochck(*this)
+ isa8_device(mconfig, ISA8, tag, owner, clock)
+{
+}
+
+isa8_device::isa8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_memory_interface(mconfig, *this),
+ m_program_config("ISA 8-bit program", ENDIANNESS_LITTLE, 8, 24, 0, nullptr),
+ m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, nullptr),
+ m_program16_config("ISA 16-bit program", ENDIANNESS_LITTLE, 16, 24, 0, nullptr),
+ m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, nullptr),
+ m_maincpu(nullptr),
+ m_iospace(nullptr),
+ m_prgspace(nullptr),
+ m_out_irq2_cb(*this),
+ m_out_irq3_cb(*this),
+ m_out_irq4_cb(*this),
+ m_out_irq5_cb(*this),
+ m_out_irq6_cb(*this),
+ m_out_irq7_cb(*this),
+ m_out_drq1_cb(*this),
+ m_out_drq2_cb(*this),
+ m_out_drq3_cb(*this), m_cputag(nullptr),
+ m_write_iochck(*this)
{
for(int i=0;i<8;i++)
{
@@ -444,23 +422,23 @@ void device_isa8_card_interface::set_isa_device()
}
-const device_type ISA16 = device_creator<isa16_device>;
+DEFINE_DEVICE_TYPE(ISA16, isa16_device, "isa16", "16-bit ISA bus")
//-------------------------------------------------
// isa16_device - constructor
//-------------------------------------------------
isa16_device::isa16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_device(mconfig, ISA16, "ISA16", tag, owner, clock, "isa16", __FILE__),
- m_out_irq10_cb(*this),
- m_out_irq11_cb(*this),
- m_out_irq12_cb(*this),
- m_out_irq14_cb(*this),
- m_out_irq15_cb(*this),
- m_out_drq0_cb(*this),
- m_out_drq5_cb(*this),
- m_out_drq6_cb(*this),
- m_out_drq7_cb(*this)
+ isa8_device(mconfig, ISA16, tag, owner, clock),
+ m_out_irq10_cb(*this),
+ m_out_irq11_cb(*this),
+ m_out_irq12_cb(*this),
+ m_out_irq14_cb(*this),
+ m_out_irq15_cb(*this),
+ m_out_drq0_cb(*this),
+ m_out_drq5_cb(*this),
+ m_out_drq6_cb(*this),
+ m_out_drq7_cb(*this)
{
}
diff --git a/src/devices/bus/isa/isa.h b/src/devices/bus/isa/isa.h
index 4ba5b764d24..36e949fc76f 100644
--- a/src/devices/bus/isa/isa.h
+++ b/src/devices/bus/isa/isa.h
@@ -62,10 +62,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_ISA_H
+#define MAME_BUS_ISA_ISA_H
-#ifndef __ISA_H__
-#define __ISA_H__
+#pragma once
@@ -162,21 +162,23 @@ class isa8_slot_device : public device_t,
public:
// construction/destruction
isa8_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// device-level overrides
virtual void device_start() override;
// inline configuration
static void static_set_isa8_slot(device_t &device, device_t *owner, const char *isa_tag);
+
protected:
+ isa8_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// configuration
device_t *m_owner;
const char *m_isa_tag;
};
// device type definition
-extern const device_type ISA8_SLOT;
+DECLARE_DEVICE_TYPE(ISA8_SLOT, isa8_slot_device)
class device_isa8_card_interface;
// ======================> isa8_device
@@ -186,20 +188,19 @@ class isa8_device : public device_t,
public:
// construction/destruction
isa8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// inline configuration
static void static_set_cputag(device_t &device, const char *tag);
static void static_set_custom_spaces(device_t &device);
- template<class _iochck> devcb_base &set_iochck_callback(_iochck iochck) { return m_write_iochck.set_callback(iochck); }
- template<class _Object> static devcb_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq2_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq3_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq3_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq4_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq5_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq5_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq6_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq6_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq7_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq7_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_drq1_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq1_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_drq2_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq2_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_drq3_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq3_cb.set_callback(object); }
+ template <class Object> devcb_base &set_iochck_callback(Object &&cb) { return m_write_iochck.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq2_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_irq2_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq3_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_irq3_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq4_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_irq4_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq5_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_irq5_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq6_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_irq6_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq7_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_irq7_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_drq1_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_drq1_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_drq2_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_drq2_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_drq3_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_drq3_cb.set_callback(std::forward<Object>(cb)); }
// for ISA8, put the 8-bit configs in the primary slots and the 16-bit configs in the secondary
virtual const address_space_config *memory_space_config(address_spacenum spacenum) const override
@@ -260,6 +261,8 @@ public:
const address_space_config m_program_config, m_io_config, m_program16_config, m_io16_config;
protected:
+ isa8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
void install_space(address_spacenum spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
// device-level overrides
@@ -295,7 +298,7 @@ private:
// device type definition
-extern const device_type ISA8;
+DECLARE_DEVICE_TYPE(ISA8, isa8_device)
// ======================> device_isa8_card_interface
@@ -303,9 +306,9 @@ extern const device_type ISA8;
class device_isa8_card_interface : public device_slot_card_interface
{
friend class isa8_device;
+ template <class ElementType> friend class simple_list;
public:
// construction/destruction
- device_isa8_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_isa8_card_interface();
device_isa8_card_interface *next() const { return m_next; }
@@ -318,9 +321,14 @@ public:
// inline configuration
static void static_set_isabus(device_t &device, device_t *isa_device);
+
public:
+ device_isa8_card_interface(const machine_config &mconfig, device_t &device);
+
isa8_device *m_isa;
device_t *m_isa_dev;
+
+private:
device_isa8_card_interface *m_next;
};
@@ -340,7 +348,7 @@ public:
// device type definition
-extern const device_type ISA16_SLOT;
+DECLARE_DEVICE_TYPE(ISA16_SLOT, isa16_slot_device)
// ======================> isa16_device
class isa16_device : public isa8_device
@@ -349,15 +357,15 @@ public:
// construction/destruction
isa16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_out_irq10_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq10_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq11_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq11_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq12_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq12_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq14_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq14_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq15_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq15_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_drq0_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq0_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_drq5_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq5_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_drq6_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq6_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_drq7_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq7_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_irq10_callback(device_t &device, Object &&cb) { return downcast<isa16_device &>(device).m_out_irq10_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq11_callback(device_t &device, Object &&cb) { return downcast<isa16_device &>(device).m_out_irq11_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq12_callback(device_t &device, Object &&cb) { return downcast<isa16_device &>(device).m_out_irq12_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq14_callback(device_t &device, Object &&cb) { return downcast<isa16_device &>(device).m_out_irq14_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq15_callback(device_t &device, Object &&cb) { return downcast<isa16_device &>(device).m_out_irq15_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_drq0_callback(device_t &device, Object &&cb) { return downcast<isa16_device &>(device).m_out_drq0_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_drq5_callback(device_t &device, Object &&cb) { return downcast<isa16_device &>(device).m_out_drq5_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_drq6_callback(device_t &device, Object &&cb) { return downcast<isa16_device &>(device).m_out_drq6_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_drq7_callback(device_t &device, Object &&cb) { return downcast<isa16_device &>(device).m_out_drq7_cb.set_callback(std::forward<Object>(cb)); }
void install16_device(offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler);
@@ -418,7 +426,7 @@ private:
// device type definition
-extern const device_type ISA16;
+DECLARE_DEVICE_TYPE(ISA16, isa16_device)
// ======================> device_isa16_card_interface
@@ -428,13 +436,16 @@ class device_isa16_card_interface : public device_isa8_card_interface
friend class isa16_device;
public:
// construction/destruction
- device_isa16_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_isa16_card_interface();
virtual uint16_t dack16_r(int line);
virtual void dack16_w(int line,uint16_t data);
void set_isa_device();
+
+protected:
+ device_isa16_card_interface(const machine_config &mconfig, device_t &device);
+
isa16_device *m_isa;
};
-#endif /* __ISA_H__ */
+#endif // MAME_BUS_ISA_ISA_H
diff --git a/src/devices/bus/isa/isa_cards.cpp b/src/devices/bus/isa/isa_cards.cpp
index 53e61c5e72a..218c0231baa 100644
--- a/src/devices/bus/isa/isa_cards.cpp
+++ b/src/devices/bus/isa/isa_cards.cpp
@@ -9,6 +9,59 @@
#include "emu.h"
#include "isa_cards.h"
+// video
+#include "mda.h"
+#include "cga.h"
+#include "aga.h"
+#include "ega.h"
+#include "pgc.h"
+#include "vga.h"
+#include "vga_ati.h"
+#include "svga_cirrus.h"
+#include "svga_s3.h"
+#include "svga_tseng.h"
+#include "svga_trident.h"
+#include "num9rev.h"
+
+// storage
+#include "fdc.h"
+#include "mufdc.h"
+#include "hdc.h"
+#include "wdxt_gen.h"
+#include "ide.h"
+#include "xtide.h"
+#include "side116.h"
+#include "aha1542.h"
+#include "wd1002a_wx1.h"
+#include "mcd.h"
+
+// sound
+#include "adlib.h"
+#include "gblaster.h"
+#include "gus.h"
+#include "ibm_mfc.h"
+#include "mpu401.h"
+#include "sblaster.h"
+#include "ssi2001.h"
+#include "stereo_fx.h"
+#include "dectalk.h"
+#include "sb16.h"
+
+// network
+#include "3c503.h"
+#include "ne1000.h"
+#include "ne2000.h"
+#include "3c505.h"
+
+// communication ports
+#include "lpt.h"
+#include "com.h"
+#include "pds.h"
+
+// other
+#include "finalchs.h"
+
+
SLOT_INTERFACE_START( pc_isa8_cards )
SLOT_INTERFACE("mda", ISA8_MDA)
SLOT_INTERFACE("cga", ISA8_CGA)
diff --git a/src/devices/bus/isa/isa_cards.h b/src/devices/bus/isa/isa_cards.h
index 9699ed4214f..da83f77c5e1 100644
--- a/src/devices/bus/isa/isa_cards.h
+++ b/src/devices/bus/isa/isa_cards.h
@@ -6,66 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __ISA_CARDS_H__
-#define __ISA_CARDS_H__
-
-
-// video
-#include "mda.h"
-#include "cga.h"
-#include "aga.h"
-#include "ega.h"
-#include "pgc.h"
-#include "vga.h"
-#include "vga_ati.h"
-#include "svga_cirrus.h"
-#include "svga_s3.h"
-#include "svga_tseng.h"
-#include "svga_trident.h"
-#include "num9rev.h"
+#ifndef MAME_BUS_ISA_ISA_CARDS_H
+#define MAME_BUS_ISA_ISA_CARDS_H
-// storage
-#include "fdc.h"
-#include "mufdc.h"
-#include "hdc.h"
-#include "wdxt_gen.h"
-#include "ide.h"
-#include "xtide.h"
-#include "side116.h"
-#include "aha1542.h"
-#include "wd1002a_wx1.h"
-#include "mcd.h"
-
-// sound
-#include "adlib.h"
-#include "gblaster.h"
-#include "gus.h"
-#include "ibm_mfc.h"
-#include "mpu401.h"
-#include "sblaster.h"
-#include "ssi2001.h"
-#include "stereo_fx.h"
-#include "dectalk.h"
-#include "sb16.h"
-
-// network
-#include "3c503.h"
-#include "ne1000.h"
-#include "ne2000.h"
-#include "3c505.h"
-
-// communication ports
-#include "lpt.h"
-#include "com.h"
-#include "pds.h"
+#pragma once
-// other
-#include "finalchs.h"
// supported devices
SLOT_INTERFACE_EXTERN( pc_isa8_cards );
SLOT_INTERFACE_EXTERN( pc_isa16_cards );
-#endif // __ISA_CARDS_H__
+#endif // MAME_BUS_ISA_ISA_CARDS_H
diff --git a/src/devices/bus/isa/lpt.cpp b/src/devices/bus/isa/lpt.cpp
index 5f1e0f24917..ce24502432e 100644
--- a/src/devices/bus/isa/lpt.cpp
+++ b/src/devices/bus/isa/lpt.cpp
@@ -10,10 +10,10 @@
#include "lpt.h"
#include "machine/pc_lpt.h"
-const device_type ISA8_LPT = device_creator<isa8_lpt_device>;
+DEFINE_DEVICE_TYPE(ISA8_LPT, isa8_lpt_device, "isa_lpt", "Printer Adapter")
isa8_lpt_device::isa8_lpt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_LPT, "Printer Adapter", tag, owner, clock, "isa_lpt", __FILE__),
+ device_t(mconfig, ISA8_LPT, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
m_is_primary(false)
{
diff --git a/src/devices/bus/isa/lpt.h b/src/devices/bus/isa/lpt.h
index c559c4df162..4ff3e60a9e2 100644
--- a/src/devices/bus/isa/lpt.h
+++ b/src/devices/bus/isa/lpt.h
@@ -6,8 +6,10 @@
***************************************************************************/
-#ifndef __ISA_LPT_H__
-#define __ISA_LPT_H__
+#ifndef MAME_BUS_ISA_LPT_H
+#define MAME_BUS_ISA_LPT_H
+
+#pragma once
#include "isa.h"
@@ -45,6 +47,6 @@ private:
};
// device type definition
-extern const device_type ISA8_LPT;
+DECLARE_DEVICE_TYPE(ISA8_LPT, isa8_lpt_device)
-#endif /* __ISA_LPT_H__ */
+#endif // MAME_BUS_ISA_LPT_H
diff --git a/src/devices/bus/isa/mach32.cpp b/src/devices/bus/isa/mach32.cpp
index a40503f8769..3035e1f0161 100644
--- a/src/devices/bus/isa/mach32.cpp
+++ b/src/devices/bus/isa/mach32.cpp
@@ -15,10 +15,10 @@
#include "screen.h"
-const device_type ATIMACH32 = device_creator<mach32_device>;
-const device_type ATIMACH32_8514A = device_creator<mach32_8514a_device>;
-const device_type ATIMACH64 = device_creator<mach64_device>;
-const device_type ATIMACH64_8514A = device_creator<mach64_8514a_device>;
+DEFINE_DEVICE_TYPE(ATIMACH32, mach32_device, "mach32", "ATi mach32")
+DEFINE_DEVICE_TYPE(ATIMACH32_8514A, mach32_8514a_device, "mach32_8514a", "ATi mach32 (2D acceleration module)")
+DEFINE_DEVICE_TYPE(ATIMACH64, mach64_device, "mach64", "ATi mach64")
+DEFINE_DEVICE_TYPE(ATIMACH64_8514A, mach64_8514a_device, "mach64_8514a", "ATi mach64 (2D acceleration module)")
/*
@@ -27,30 +27,24 @@ const device_type ATIMACH64_8514A = device_creator<mach64_8514a_device>;
// 8514/A device
mach32_8514a_device::mach32_8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : mach8_device(mconfig, ATIMACH32_8514A, "ATi mach32 (2D acceleration module)", tag, owner, clock, "mach32_8514a", __FILE__),
- m_chip_ID(0),
- m_membounds(0)
+ : mach32_8514a_device(mconfig, ATIMACH32_8514A, tag, owner, clock)
{
}
-mach32_8514a_device::mach32_8514a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : mach8_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_chip_ID(0),
- m_membounds(0)
+mach32_8514a_device::mach32_8514a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : mach8_device(mconfig, type, tag, owner, clock), m_chip_ID(0), m_membounds(0)
{
}
// SVGA device
mach32_device::mach32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ati_vga_device(mconfig, ATIMACH32, "ATi mach32", tag, owner, clock, "mach32", __FILE__),
- m_8514a(*this,"8514a")
+ : mach32_device(mconfig, ATIMACH32, tag, owner, clock)
{
}
-mach32_device::mach32_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : ati_vga_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_8514a(*this,"8514a")
+mach32_device::mach32_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : ati_vga_device(mconfig, type, tag, owner, clock), m_8514a(*this,"8514a")
{
}
@@ -100,26 +94,24 @@ void mach32_device::device_reset()
// 8514/A device
mach64_8514a_device::mach64_8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : mach32_8514a_device(mconfig, ATIMACH64_8514A, "ATi mach64 (2D acceleration module)", tag, owner, clock, "mach64_8514a", __FILE__)
+ : mach64_8514a_device(mconfig, ATIMACH64_8514A, tag, owner, clock)
{
}
-mach64_8514a_device::mach64_8514a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : mach32_8514a_device(mconfig, type, name, tag, owner, clock, shortname, source)
+mach64_8514a_device::mach64_8514a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : mach32_8514a_device(mconfig, type, tag, owner, clock)
{
}
// SVGA device
mach64_device::mach64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : mach32_device(mconfig, ATIMACH64, "ATi mach64", tag, owner, clock, "mach64", __FILE__),
- m_8514a(*this,"8514a")
+ : mach64_device(mconfig, ATIMACH64, tag, owner, clock)
{
}
-mach64_device::mach64_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : mach32_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_8514a(*this,"8514a")
+mach64_device::mach64_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : mach32_device(mconfig, type, tag, owner, clock), m_8514a(*this, "8514a")
{
}
diff --git a/src/devices/bus/isa/mach32.h b/src/devices/bus/isa/mach32.h
index 135d923fc57..f3aba4a911a 100644
--- a/src/devices/bus/isa/mach32.h
+++ b/src/devices/bus/isa/mach32.h
@@ -6,8 +6,10 @@
* Created on: 16/05/2014
*/
-#ifndef MACH32_H_
-#define MACH32_H_
+#ifndef MAME_BUS_ISA_MACH32_H
+#define MAME_BUS_ISA_MACH32_H
+
+#pragma once
#include "video/pc_vga.h"
#include "machine/eepromser.h"
@@ -18,7 +20,6 @@ class mach32_8514a_device : public mach8_device
public:
// construction/destruction
mach32_8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- mach32_8514a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
DECLARE_READ16_MEMBER(mach32_chipid_r) { return m_chip_ID; }
DECLARE_WRITE16_MEMBER(mach32_clksel_w) { mach8.clksel = data; } // read only on the mach8
@@ -26,6 +27,8 @@ public:
DECLARE_WRITE16_MEMBER(mach32_mem_boundary_w) { m_membounds = data; if(data & 0x10) logerror("ATI: Unimplemented memory boundary activated."); }
protected:
+ mach32_8514a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_config_complete() override;
@@ -40,7 +43,6 @@ class mach32_device : public ati_vga_device
public:
// construction/destruction
mach32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- mach32_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
required_device<mach32_8514a_device> m_8514a; // provides accelerated 2D drawing, derived from the Mach8 device
@@ -120,7 +122,10 @@ public:
DECLARE_READ16_MEMBER(mach32_mem_boundary_r) { return m_8514a->mach32_mem_boundary_r(space,offset,mem_mask); }
DECLARE_WRITE16_MEMBER(mach32_mem_boundary_w) { m_8514a->mach32_mem_boundary_w(space,offset,data,mem_mask); } // read only on the mach8
DECLARE_READ16_MEMBER(mach32_status_r) { return vga_vblank() << 1; }
+
protected:
+ mach32_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -137,9 +142,10 @@ class mach64_8514a_device : public mach32_8514a_device
public:
// construction/destruction
mach64_8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- mach64_8514a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
protected:
+ mach64_8514a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_config_complete() override;
@@ -151,23 +157,25 @@ class mach64_device : public mach32_device
public:
// construction/destruction
mach64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- mach64_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- required_device<mach64_8514a_device> m_8514a; // provides accelerated 2D drawing, derived from the Mach8 device
-
- DECLARE_WRITE16_MEMBER(mach64_config1_w) { } // why does the mach64 BIOS write to these, they are read only on the mach32 and earlier
- DECLARE_WRITE16_MEMBER(mach64_config2_w) { }
+ DECLARE_WRITE16_MEMBER(mach64_config1_w) { } // why does the mach64 BIOS write to these, they are read only on the mach32 and earlier
+ DECLARE_WRITE16_MEMBER(mach64_config2_w) { }
protected:
+ mach64_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
+
+ required_device<mach64_8514a_device> m_8514a; // provides accelerated 2D drawing, derived from the Mach8 device
};
+
// device type definition
-extern const device_type ATIMACH32;
-extern const device_type ATIMACH32_8514A;
-extern const device_type ATIMACH64;
-extern const device_type ATIMACH64_8514A;
+DECLARE_DEVICE_TYPE(ATIMACH32, mach32_device)
+DECLARE_DEVICE_TYPE(ATIMACH32_8514A, mach32_8514a_device)
+DECLARE_DEVICE_TYPE(ATIMACH64, mach64_device)
+DECLARE_DEVICE_TYPE(ATIMACH64_8514A, mach64_8514a_device)
-#endif /* MACH32_H_ */
+#endif // MAME_BUS_ISA_MACH32_H
diff --git a/src/devices/bus/isa/mc1502_fdc.cpp b/src/devices/bus/isa/mc1502_fdc.cpp
index b943c1a191b..0ad8f6056f2 100644
--- a/src/devices/bus/isa/mc1502_fdc.cpp
+++ b/src/devices/bus/isa/mc1502_fdc.cpp
@@ -29,7 +29,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type MC1502_FDC = device_creator<mc1502_fdc_device>;
+DEFINE_DEVICE_TYPE(MC1502_FDC, mc1502_fdc_device, "mc1502_fdc", "MC-1502 floppy")
FLOPPY_FORMATS_MEMBER( mc1502_fdc_device::floppy_formats )
FLOPPY_PC_FORMAT
@@ -204,7 +204,7 @@ WRITE8_MEMBER(mc1502_fdc_device::mc1502_fdc_w)
//-------------------------------------------------
mc1502_fdc_device::mc1502_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MC1502_FDC, "MC-1502 floppy", tag, owner, clock, "mc1502_fdc", __FILE__)
+ : device_t(mconfig, MC1502_FDC, tag, owner, clock)
, device_isa8_card_interface(mconfig, *this)
, m_fdc(*this, "fdc")
, motor_on(0)
@@ -222,14 +222,14 @@ void mc1502_fdc_device::device_start()
// BIOS 5.0-5.2x
m_isa->install_device(0x010c, 0x010f,
- READ8_DEVICE_DELEGATE(m_fdc, fd1793_t, read),
- WRITE8_DEVICE_DELEGATE(m_fdc, fd1793_t, write) );
+ READ8_DEVICE_DELEGATE(m_fdc, fd1793_device, read),
+ WRITE8_DEVICE_DELEGATE(m_fdc, fd1793_device, write) );
m_isa->install_device(0x0100, 0x010b, read8_delegate( FUNC(mc1502_fdc_device::mc1502_fdc_r), this ), write8_delegate( FUNC(mc1502_fdc_device::mc1502_fdc_w), this ) );
// BIOS 5.3x
m_isa->install_device(0x0048, 0x004b,
- READ8_DEVICE_DELEGATE(m_fdc, fd1793_t, read),
- WRITE8_DEVICE_DELEGATE(m_fdc, fd1793_t, write) );
+ READ8_DEVICE_DELEGATE(m_fdc, fd1793_device, read),
+ WRITE8_DEVICE_DELEGATE(m_fdc, fd1793_device, write) );
m_isa->install_device(0x004c, 0x004f, read8_delegate( FUNC(mc1502_fdc_device::mc1502_fdcv2_r), this ), write8_delegate( FUNC(mc1502_fdc_device::mc1502_fdc_w), this ) );
motor_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(mc1502_fdc_device::motor_callback),this));
diff --git a/src/devices/bus/isa/mc1502_fdc.h b/src/devices/bus/isa/mc1502_fdc.h
index af8c3ee7d54..0d3b97f326c 100644
--- a/src/devices/bus/isa/mc1502_fdc.h
+++ b/src/devices/bus/isa/mc1502_fdc.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_MC1502_FDC_H
+#define MAME_BUS_ISA_MC1502_FDC_H
-#ifndef __MC1502_FDC__
-#define __MC1502_FDC__
+#pragma once
-#include "imagedev/flopdrv.h"
#include "isa.h"
+#include "imagedev/flopdrv.h"
#include "machine/wd_fdc.h"
//**************************************************************************
@@ -44,7 +44,7 @@ protected:
virtual void device_start() override;
private:
- required_device<fd1793_t> m_fdc;
+ required_device<fd1793_device> m_fdc;
int motor_on;
emu_timer *motor_timer;
@@ -57,7 +57,6 @@ public:
// device type definition
-extern const device_type MC1502_FDC;
-
+DECLARE_DEVICE_TYPE(MC1502_FDC, mc1502_fdc_device)
-#endif
+#endif // MAME_BUS_ISA_MC1502_FDC_H
diff --git a/src/devices/bus/isa/mc1502_rom.cpp b/src/devices/bus/isa/mc1502_rom.cpp
index d5a5b189ac1..7e612c10832 100644
--- a/src/devices/bus/isa/mc1502_rom.cpp
+++ b/src/devices/bus/isa/mc1502_rom.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type MC1502_ROM = device_creator<mc1502_rom_device>;
+DEFINE_DEVICE_TYPE(MC1502_ROM, mc1502_rom_device, "mc1502_rom", "MC-1502 ROM cart")
//-------------------------------------------------
@@ -46,7 +46,7 @@ const tiny_rom_entry *mc1502_rom_device::device_rom_region() const
//-------------------------------------------------
mc1502_rom_device::mc1502_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MC1502_ROM, "MC-1502 ROM cart", tag, owner, clock, "mc1502_rom", __FILE__)
+ : device_t(mconfig, MC1502_ROM, tag, owner, clock)
, device_isa8_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/isa/mc1502_rom.h b/src/devices/bus/isa/mc1502_rom.h
index 193a9bf3274..bbb152df72f 100644
--- a/src/devices/bus/isa/mc1502_rom.h
+++ b/src/devices/bus/isa/mc1502_rom.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_MC1502_ROM_H
+#define MAME_BUS_ISA_MC1502_ROM_H
-#ifndef __MC1502_ROM__
-#define __MC1502_ROM__
+#pragma once
#include "isa.h"
@@ -35,7 +35,7 @@ protected:
// device type definition
-extern const device_type MC1502_ROM;
+DECLARE_DEVICE_TYPE(MC1502_ROM, mc1502_rom_device)
-#endif
+#endif // MAME_BUS_ISA_MC1502_ROM_H
diff --git a/src/devices/bus/isa/mcd.cpp b/src/devices/bus/isa/mcd.cpp
index d31896f43f0..70e1be82556 100644
--- a/src/devices/bus/isa/mcd.cpp
+++ b/src/devices/bus/isa/mcd.cpp
@@ -17,7 +17,7 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_MCD = device_creator<mcd_isa_device>;
+DEFINE_DEVICE_TYPE(ISA16_MCD, mcd_isa_device, "mcd_isa", "Mitsumi ISA CD-ROM Adapter")
//-------------------------------------------------
// input_ports - device-specific input ports
@@ -37,8 +37,8 @@ ioport_constructor mcd_isa_device::device_input_ports() const
//-------------------------------------------------
mcd_isa_device::mcd_isa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- cdrom_image_device(mconfig, ISA16_MCD, "Mitsumi ISA CDROM Adapter", tag, owner, clock, "mcd_isa", __FILE__),
- device_isa16_card_interface( mconfig, *this )
+ cdrom_image_device(mconfig, ISA16_MCD, tag, owner, clock),
+ device_isa16_card_interface( mconfig, *this )
{
}
diff --git a/src/devices/bus/isa/mcd.h b/src/devices/bus/isa/mcd.h
index e7a70b598df..a39d08bb142 100644
--- a/src/devices/bus/isa/mcd.h
+++ b/src/devices/bus/isa/mcd.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#pragma once
+#ifndef MAME_BUS_ISA_MCD_H
+#define MAME_BUS_ISA_MCD_H
-#ifndef __MCD_H__
-#define __MCD_H__
+#pragma once
#include "isa.h"
#include "imagedev/chd_cd.h"
@@ -31,10 +31,12 @@ public:
DECLARE_WRITE8_MEMBER(cmd_w);
DECLARE_WRITE8_MEMBER(reset_w);
virtual uint16_t dack16_r(int line) override;
+
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+
private:
bool read_sector(bool first = false);
@@ -113,6 +115,6 @@ private:
// device type definition
-extern const device_type ISA16_MCD;
+DECLARE_DEVICE_TYPE(ISA16_MCD, mcd_isa_device)
-#endif
+#endif // MAME_BUS_ISA_MCD_H
diff --git a/src/devices/bus/isa/mda.cpp b/src/devices/bus/isa/mda.cpp
index e311ce1c1ee..f5f520c5c75 100644
--- a/src/devices/bus/isa/mda.cpp
+++ b/src/devices/bus/isa/mda.cpp
@@ -123,7 +123,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_MDA = device_creator<isa8_mda_device>;
+DEFINE_DEVICE_TYPE(ISA8_MDA, isa8_mda_device, "isa_ibm_mda", "IBM Monochrome Display adn Printer Adapter")
//-------------------------------------------------
@@ -154,18 +154,15 @@ const tiny_rom_entry *isa8_mda_device::device_rom_region() const
//-------------------------------------------------
isa8_mda_device::isa8_mda_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_MDA, "IBM Monochrome Display and Printer Adapter", tag, owner, clock, "isa_ibm_mda", __FILE__),
- device_isa8_card_interface(mconfig, *this), m_framecnt(0), m_mode_control(0),
- m_update_row_type(-1), m_chr_gen(nullptr), m_vsync(0), m_hsync(0), m_pixel(0),
- m_palette(*this, "palette")
+ isa8_mda_device(mconfig, ISA8_MDA, tag, owner, clock)
{
}
-isa8_mda_device::isa8_mda_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_isa8_card_interface(mconfig, *this), m_framecnt(0), m_mode_control(0),
- m_update_row_type(-1), m_chr_gen(nullptr), m_vsync(0), m_hsync(0), m_pixel(0),
- m_palette(*this, "palette")
+isa8_mda_device::isa8_mda_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this), m_framecnt(0), m_mode_control(0),
+ m_update_row_type(-1), m_chr_gen(nullptr), m_vsync(0), m_hsync(0), m_pixel(0),
+ m_palette(*this, "palette")
{
}
@@ -191,7 +188,7 @@ void isa8_mda_device::device_start()
m_isa->install_bank(0xb7000, 0xb7fff, "bank_mda", &m_videoram[0]);
/* Initialise the mda palette */
- for(int i = 0; i < 4; i++)
+ for (int i = 0; i < 4; i++)
m_palette->set_pen_color(i, rgb_t(mda_palette[i][0], mda_palette[i][1], mda_palette[i][2]));
}
@@ -561,7 +558,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_HERCULES = device_creator<isa8_hercules_device>;
+DEFINE_DEVICE_TYPE(ISA8_HERCULES, isa8_hercules_device, "isa_hercules", "Hercules Graphics Card")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -591,7 +588,7 @@ const tiny_rom_entry *isa8_hercules_device::device_rom_region() const
//-------------------------------------------------
isa8_hercules_device::isa8_hercules_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_mda_device(mconfig, ISA8_HERCULES, "Hercules Graphics Card", tag, owner, clock, "isa_hercules", __FILE__), m_configuration_switch(0)
+ isa8_mda_device(mconfig, ISA8_HERCULES, tag, owner, clock), m_configuration_switch(0)
{
}
@@ -779,7 +776,7 @@ MACHINE_CONFIG_FRAGMENT( pcvideo_ec1840_0002 )
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(isa8_mda_device, vsync_changed))
MACHINE_CONFIG_END
-const device_type ISA8_EC1840_0002 = device_creator<isa8_ec1840_0002_device>;
+DEFINE_DEVICE_TYPE(ISA8_EC1840_0002, isa8_ec1840_0002_device, "ec1840_0002", "EC1840.0002 (MDA)")
//-------------------------------------------------
@@ -797,7 +794,7 @@ machine_config_constructor isa8_ec1840_0002_device::device_mconfig_additions() c
//-------------------------------------------------
isa8_ec1840_0002_device::isa8_ec1840_0002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_mda_device( mconfig, ISA8_EC1840_0002, "EC 1840.0002 (MDA)", tag, owner, clock, "ec1840_0002", __FILE__), m_soft_chr_gen(nullptr)
+ isa8_mda_device(mconfig, ISA8_EC1840_0002, tag, owner, clock), m_soft_chr_gen(nullptr)
{
}
diff --git a/src/devices/bus/isa/mda.h b/src/devices/bus/isa/mda.h
index 4632b94dab7..effbf2b59e5 100644
--- a/src/devices/bus/isa/mda.h
+++ b/src/devices/bus/isa/mda.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol, Miodrag Milanovic
-#pragma once
+#ifndef MAME_BUS_ISA_MDA_H
+#define MAME_BUS_ISA_MDA_H
-#ifndef __ISA_MDA_H__
-#define __ISA_MDA_H__
+#pragma once
#include "isa.h"
#include "video/mc6845.h"
@@ -22,7 +22,6 @@ public:
// construction/destruction
isa8_mda_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_mda_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -42,9 +41,12 @@ public:
MC6845_UPDATE_ROW( mda_text_blink_update_row );
protected:
+ isa8_mda_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+
public:
int m_framecnt;
@@ -61,7 +63,7 @@ public:
// device type definition
-extern const device_type ISA8_MDA;
+DECLARE_DEVICE_TYPE(ISA8_MDA, isa8_mda_device)
// ======================> isa8_hercules_device
@@ -94,7 +96,7 @@ public:
// device type definition
-extern const device_type ISA8_HERCULES;
+DECLARE_DEVICE_TYPE(ISA8_HERCULES, isa8_hercules_device)
// ======================> isa8_ec1840_0002_device
@@ -124,6 +126,6 @@ public:
};
// device type definition
-extern const device_type ISA8_EC1840_0002;
+DECLARE_DEVICE_TYPE(ISA8_EC1840_0002, isa8_ec1840_0002_device)
-#endif /* __ISA_MDA_H__ */
+#endif // MAME_BUS_ISA_MDA_H
diff --git a/src/devices/bus/isa/mpu401.cpp b/src/devices/bus/isa/mpu401.cpp
index 2690f6e333f..53a69afd38e 100644
--- a/src/devices/bus/isa/mpu401.cpp
+++ b/src/devices/bus/isa/mpu401.cpp
@@ -45,7 +45,7 @@ WRITE_LINE_MEMBER( isa8_mpu401_device::mpu_irq_out )
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_MPU401 = device_creator<isa8_mpu401_device>;
+DEFINE_DEVICE_TYPE(ISA8_MPU401, isa8_mpu401_device, "isa_mpu401", "Roland MPU-401 MIDI Interface (ISA)")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -67,9 +67,9 @@ machine_config_constructor isa8_mpu401_device::device_mconfig_additions() const
//-------------------------------------------------
isa8_mpu401_device::isa8_mpu401_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA8_MPU401, "Roland MPU-401 MIDI Interface", tag, owner, clock, "isa_mpu401", __FILE__),
- device_isa8_card_interface( mconfig, *this ),
- m_mpu401(*this, MPU_CORE_TAG)
+ : device_t(mconfig, ISA8_MPU401, tag, owner, clock)
+ , device_isa8_card_interface(mconfig, *this)
+ , m_mpu401(*this, MPU_CORE_TAG)
{
}
diff --git a/src/devices/bus/isa/mpu401.h b/src/devices/bus/isa/mpu401.h
index d0d5c89b346..2daabbac9e7 100644
--- a/src/devices/bus/isa/mpu401.h
+++ b/src/devices/bus/isa/mpu401.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont,Kevin Horton
-#pragma once
+#ifndef MAME_BUS_ISA_MPU401_H
+#define MAME_BUS_ISA_MPU401_H
-#ifndef __ISA_MPU401_H__
-#define __ISA_MPU401_H__
+#pragma once
#include "isa.h"
#include "machine/mpu401.h"
@@ -19,24 +19,24 @@ class isa8_mpu401_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_mpu401_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa8_mpu401_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- required_device<mpu401_device> m_mpu401;
+ // called back by the MPU401 core to set the IRQ line state
+ DECLARE_WRITE_LINE_MEMBER(mpu_irq_out);
- // called back by the MPU401 core to set the IRQ line state
- DECLARE_WRITE_LINE_MEMBER(mpu_irq_out);
-
- // optional information overrides
+ // optional information overrides
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual machine_config_constructor device_mconfig_additions() const override;
+
+ required_device<mpu401_device> m_mpu401;
};
// device type definition
-extern const device_type ISA8_MPU401;
+DECLARE_DEVICE_TYPE(ISA8_MPU401, isa8_mpu401_device)
-#endif /* __ISA_MPU401_H__ */
+#endif // MAME_BUS_ISA_MPU401_H
diff --git a/src/devices/bus/isa/mufdc.cpp b/src/devices/bus/isa/mufdc.cpp
index 3a88ce16ec7..aa35397953b 100644
--- a/src/devices/bus/isa/mufdc.cpp
+++ b/src/devices/bus/isa/mufdc.cpp
@@ -16,6 +16,7 @@
#include "emu.h"
#include "mufdc.h"
+
#include "formats/naslite_dsk.h"
#include "formats/pc_dsk.h"
@@ -24,8 +25,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ISA8_FDC344 = device_creator<fdc344_device>;
-const device_type ISA8_FDCMAG = device_creator<fdcmag_device>;
+DEFINE_DEVICE_TYPE(ISA8_FDC344, fdc344_device, "fdc344", "Ably-Tech FDC-344")
+DEFINE_DEVICE_TYPE(ISA8_FDCMAG, fdcmag_device, "fdcmag", "Magitronic Multi Floppy Controller Card")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -130,21 +131,21 @@ const tiny_rom_entry *fdcmag_device::device_rom_region() const
// mufdc_device - constructor
//-------------------------------------------------
-mufdc_device::mufdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const char *name, const char *shortname) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
- device_isa8_card_interface( mconfig, *this ),
+mufdc_device::mufdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_isa8_card_interface( mconfig, *this),
m_fdc(*this, "fdc"),
m_config(*this, "configuration")
{
}
fdc344_device::fdc344_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- mufdc_device(mconfig, ISA8_FDC344, tag, owner, clock, "Ably-Tech FDC-344", "fdc344")
+ mufdc_device(mconfig, ISA8_FDC344, tag, owner, clock)
{
}
fdcmag_device::fdcmag_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- mufdc_device(mconfig, ISA8_FDCMAG, tag, owner, clock, "Magitronic Multi Floppy Controller Card", "fdcmag")
+ mufdc_device(mconfig, ISA8_FDCMAG, tag, owner, clock)
{
}
@@ -163,7 +164,7 @@ void mufdc_device::device_start()
void mufdc_device::device_reset()
{
- m_isa->install_rom(this, 0xc8000, 0xc9fff, m_shortname.c_str(), "option");
+ m_isa->install_rom(this, 0xc8000, 0xc9fff, shortname(), "option");
m_isa->install_device(0x3f0, 0x3f7, *m_fdc, &pc_fdc_interface::map);
m_isa->set_dma_channel(2, this, true);
}
diff --git a/src/devices/bus/isa/mufdc.h b/src/devices/bus/isa/mufdc.h
index 46f46cb5539..3f62b9862ed 100644
--- a/src/devices/bus/isa/mufdc.h
+++ b/src/devices/bus/isa/mufdc.h
@@ -14,10 +14,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_MUFDC_H
+#define MAME_BUS_ISA_MUFDC_H
-#ifndef __ISA_MUFDC_H__
-#define __ISA_MUFDC_H__
+#pragma once
#include "isa.h"
#include "imagedev/floppy.h"
@@ -30,13 +30,9 @@
// ======================> mufdc_device
-class mufdc_device : public device_t,
- public device_isa8_card_interface
+class mufdc_device : public device_t, public device_isa8_card_interface
{
public:
- // construction/destruction
- mufdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const char *name, const char *shortname);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
@@ -48,6 +44,9 @@ public:
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
protected:
+ // construction/destruction
+ mufdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -69,9 +68,6 @@ public:
fdc344_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual const tiny_rom_entry *device_rom_region() const override;
-
-protected:
- virtual void device_config_complete() override { m_shortname = "fdc344"; }
};
class fdcmag_device : public mufdc_device
@@ -81,13 +77,10 @@ public:
fdcmag_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual const tiny_rom_entry *device_rom_region() const override;
-
-protected:
- virtual void device_config_complete() override { m_shortname = "fdcmag"; }
};
// device type definition
-extern const device_type ISA8_FDC344;
-extern const device_type ISA8_FDCMAG;
+DECLARE_DEVICE_TYPE(ISA8_FDC344, fdc344_device)
+DECLARE_DEVICE_TYPE(ISA8_FDCMAG, fdcmag_device)
-#endif
+#endif // MAME_BUS_ISA_MUFDC_H
diff --git a/src/devices/bus/isa/ne1000.cpp b/src/devices/bus/isa/ne1000.cpp
index 4fa63153c30..ad7ce5d8f69 100644
--- a/src/devices/bus/isa/ne1000.cpp
+++ b/src/devices/bus/isa/ne1000.cpp
@@ -10,18 +10,18 @@ static MACHINE_CONFIG_FRAGMENT(ne1000_config)
MCFG_DP8390D_MEM_WRITE_CB(WRITE8(ne1000_device, ne1000_mem_write))
MACHINE_CONFIG_END
-const device_type NE1000 = device_creator<ne1000_device>;
+DEFINE_DEVICE_TYPE(NE1000, ne1000_device, "ne1000", "NE1000 Network Adapter")
machine_config_constructor ne1000_device::device_mconfig_additions() const {
return MACHINE_CONFIG_NAME(ne1000_config);
}
ne1000_device::ne1000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NE1000, "NE1000 Network Adapter", tag, owner, clock, "ne1000", __FILE__),
- device_isa8_card_interface(mconfig, *this),
- m_dp8390(*this, "dp8390d"),
+ : device_t(mconfig, NE1000, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this),
+ m_dp8390(*this, "dp8390d"),
m_irq(0)
- {
+{
}
void ne1000_device::device_start() {
diff --git a/src/devices/bus/isa/ne1000.h b/src/devices/bus/isa/ne1000.h
index 6aff2bef047..5277b4d61c5 100644
--- a/src/devices/bus/isa/ne1000.h
+++ b/src/devices/bus/isa/ne1000.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#ifndef __NE1000_H__
-#define __NE1000_H__
+#ifndef MAME_BUS_ISA_NE1000_H
+#define MAME_BUS_ISA_NE1000_H
+
+#pragma once
// NE1000 is 8bit has 8KB ram; NE2000 is 16bit has 16KB ram
@@ -31,6 +33,6 @@ private:
uint8_t m_prom[16];
};
-extern const device_type NE1000;
+DECLARE_DEVICE_TYPE(NE1000, ne1000_device)
-#endif
+#endif // MAME_BUS_ISA_NE1000_H
diff --git a/src/devices/bus/isa/ne2000.cpp b/src/devices/bus/isa/ne2000.cpp
index 82997bb38d0..d348a7fe095 100644
--- a/src/devices/bus/isa/ne2000.cpp
+++ b/src/devices/bus/isa/ne2000.cpp
@@ -11,17 +11,17 @@ static MACHINE_CONFIG_FRAGMENT(ne2000_config)
MCFG_DP8390D_MEM_WRITE_CB(WRITE8(ne2000_device, ne2000_mem_write))
MACHINE_CONFIG_END
-const device_type NE2000 = device_creator<ne2000_device>;
+DEFINE_DEVICE_TYPE(NE2000, ne2000_device, "ne2000", "NE2000 Network Adapter")
machine_config_constructor ne2000_device::device_mconfig_additions() const {
return MACHINE_CONFIG_NAME(ne2000_config);
}
ne2000_device::ne2000_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock)
- : device_t(mconfig, NE2000, "NE2000 Network Adapter", tag, owner, clock, "ne2000", __FILE__),
- device_isa16_card_interface(mconfig, *this),
- m_dp8390(*this, "dp8390d"),
- m_irq(0)
+ : device_t(mconfig, NE2000, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_dp8390(*this, "dp8390d"),
+ m_irq(0)
{
}
diff --git a/src/devices/bus/isa/ne2000.h b/src/devices/bus/isa/ne2000.h
index e99308749d7..27f3688d1b5 100644
--- a/src/devices/bus/isa/ne2000.h
+++ b/src/devices/bus/isa/ne2000.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#ifndef __NE2000_H__
-#define __NE2000_H__
+#ifndef MAME_BUS_ISA_NE2000_H
+#define MAME_BUS_ISA_NE2000_H
+
+#pragma once
#include "isa.h"
#include "machine/dp8390.h"
@@ -29,6 +31,6 @@ private:
uint8_t m_prom[16];
};
-extern const device_type NE2000;
+DECLARE_DEVICE_TYPE(NE2000, ne2000_device)
-#endif
+#endif // MAME_BUS_ISA_NE2000_H
diff --git a/src/devices/bus/isa/num9rev.cpp b/src/devices/bus/isa/num9rev.cpp
index c2ee133c394..8e0963a0fa8 100644
--- a/src/devices/bus/isa/num9rev.cpp
+++ b/src/devices/bus/isa/num9rev.cpp
@@ -12,7 +12,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_NUM_9_REV = device_creator<isa8_number_9_rev_device>;
+DEFINE_DEVICE_TYPE(ISA8_NUM_9_REV, isa8_number_9_rev_device, "number_9_rev", "Number Nine Revolution 512x32/1024x8")
static ADDRESS_MAP_START( upd7220_map, AS_0, 16, isa8_number_9_rev_device )
AM_RANGE(0x00000, 0x3ffff) AM_NOP
@@ -80,12 +80,12 @@ machine_config_constructor isa8_number_9_rev_device::device_mconfig_additions()
//-------------------------------------------------
isa8_number_9_rev_device::isa8_number_9_rev_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_NUM_9_REV, "Number Nine Revolution 512x32/1024x8", tag, owner, clock, "number_9_rev", __FILE__),
- device_isa8_card_interface(mconfig, *this),
- m_upd7220(*this, "upd7220"),
- m_palette(*this, "palette"),
- m_ram(1024*1024),
- m_overlay(1024), m_bank(0), m_mode(0), m_1024(false)
+ device_t(mconfig, ISA8_NUM_9_REV, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this),
+ m_upd7220(*this, "upd7220"),
+ m_palette(*this, "palette"),
+ m_ram(1024*1024),
+ m_overlay(1024), m_bank(0), m_mode(0), m_1024(false)
{
}
diff --git a/src/devices/bus/isa/num9rev.h b/src/devices/bus/isa/num9rev.h
index a7f4d5b39ac..805ee13d449 100644
--- a/src/devices/bus/isa/num9rev.h
+++ b/src/devices/bus/isa/num9rev.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#pragma once
+#ifndef MAME_BUS_ISA_NUM9REV_H
+#define MAME_BUS_ISA_NUM9REV_H
-#ifndef __NUM9REV_H__
-#define __NUM9REV_H__
+#pragma once
#include "isa.h"
#include "video/upd7220.h"
@@ -57,6 +57,6 @@ private:
};
// device type definition
-extern const device_type ISA8_NUM_9_REV;
+DECLARE_DEVICE_TYPE(ISA8_NUM_9_REV, isa8_number_9_rev_device)
-#endif /* __NUM9REV_H__ */
+#endif // MAME_BUS_ISA_NUM9REV_H
diff --git a/src/devices/bus/isa/omti8621.cpp b/src/devices/bus/isa/omti8621.cpp
index 93822d01ae3..1b210ae4c0c 100644
--- a/src/devices/bus/isa/omti8621.cpp
+++ b/src/devices/bus/isa/omti8621.cpp
@@ -12,10 +12,6 @@
* * http://www.bitsavers.org/pdf/sms/pc/OMTI_AT_Controller_Series_Jan87.pdf
*/
-#define VERBOSE 0
-
-static int verbose = VERBOSE;
-
#include "emu.h"
#include "omti8621.h"
#include "image.h"
@@ -23,6 +19,10 @@ static int verbose = VERBOSE;
#include "formats/naslite_dsk.h"
#include "formats/apollo_dsk.h"
+#define VERBOSE 0
+
+static int verbose = VERBOSE;
+
#define LOG(x) { logerror ("%s: ", cpu_context(this)); logerror x; logerror ("\n"); }
#define LOG1(x) { if (verbose > 0) LOG(x)}
#define LOG2(x) { if (verbose > 1) LOG(x)}
@@ -45,7 +45,7 @@ static int verbose = VERBOSE;
#define OMTI_BIOS_REGION "omti_bios"
// forward declaration of image class
-extern const device_type OMTI_DISK;
+DECLARE_DEVICE_TYPE(OMTI_DISK, omti_disk_image_device)
class omti_disk_image_device : public device_t,
public device_image_interface
@@ -376,30 +376,27 @@ void omti8621_device::device_reset()
alternate_track_address[1] = 0;
}
-const device_type ISA16_OMTI8621 = device_creator<omti8621_pc_device>;
+DEFINE_DEVICE_TYPE(ISA16_OMTI8621, omti8621_pc_device, "omti8621isa", "OMTI 8621 ESDI/floppy controller (ISA)")
omti8621_pc_device::omti8621_pc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : omti8621_device(mconfig, ISA16_OMTI8621, "OMTI 8621 ESDI/floppy controller (ISA)", tag, owner, clock, "omti8621isa", __FILE__)
+ : omti8621_device(mconfig, ISA16_OMTI8621, tag, owner, clock)
{
}
-const device_type ISA16_OMTI8621_APOLLO = device_creator<omti8621_apollo_device>;
+DEFINE_DEVICE_TYPE(ISA16_OMTI8621_APOLLO, omti8621_apollo_device, "omti8621ap", "OMTI 8621 ESDI/floppy controller (Apollo)")
omti8621_apollo_device::omti8621_apollo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : omti8621_device(mconfig, ISA16_OMTI8621_APOLLO, "OMTI 8621 ESDI/floppy controller (Apollo)", tag, owner, clock, "omti8621ap", __FILE__)
+ : omti8621_device(mconfig, ISA16_OMTI8621_APOLLO, tag, owner, clock)
{
}
omti8621_device::omti8621_device(
const machine_config &mconfig,
device_type type,
- const char *name,
const char *tag,
device_t *owner,
- uint32_t clock,
- const char *shortname,
- const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+ uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_isa16_card_interface(mconfig, *this)
, m_fdc(*this, OMTI_FDC_TAG)
, m_iobase(*this, "IO_BASE")
@@ -1309,11 +1306,12 @@ void omti8621_device::eop_w(int state)
//##########################################################################
// device type definition
-const device_type OMTI_DISK = device_creator<omti_disk_image_device>;
+DEFINE_DEVICE_TYPE(OMTI_DISK, omti_disk_image_device, "omti_disk_image", "OMTI 8621 ESDI disk")
omti_disk_image_device::omti_disk_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, OMTI_DISK, "OMTI8621 ESDI disk", tag, owner, clock, "omti_disk_image", __FILE__),
- device_image_interface(mconfig, *this), m_type(0), m_cylinders(0), m_heads(0), m_sectors(0), m_sectorbytes(0), m_sector_count(0), m_image(nullptr)
+ : device_t(mconfig, OMTI_DISK, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , m_type(0), m_cylinders(0), m_heads(0), m_sectors(0), m_sectorbytes(0), m_sector_count(0), m_image(nullptr)
{
}
diff --git a/src/devices/bus/isa/omti8621.h b/src/devices/bus/isa/omti8621.h
index 2c031f1113e..66f5ad64b73 100644
--- a/src/devices/bus/isa/omti8621.h
+++ b/src/devices/bus/isa/omti8621.h
@@ -18,9 +18,6 @@
#include "isa.h"
#include "machine/pc_fdc.h"
-#define OMTI_MAX_LUN 1
-#define CDB_SIZE 10
-
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
@@ -37,24 +34,20 @@ public:
static void set_verbose(int on_off);
- required_device<pc_fdc_interface> m_fdc;
- required_ioport m_iobase;
- required_ioport m_biosopts;
-
DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
+ static constexpr unsigned OMTI_MAX_LUN = 1;
+ static constexpr unsigned CDB_SIZE = 10;
+
omti8621_device(
const machine_config &mconfig,
device_type type,
- const char *name,
const char *tag,
device_t *owner,
- uint32_t clock,
- const char *shortname,
- const char *source);
+ uint32_t clock);
// device-level overrides
virtual void device_start() override;
@@ -70,6 +63,10 @@ protected:
void set_interrupt(enum line_state line_state);
+ required_device<pc_fdc_interface> m_fdc;
+ required_ioport m_iobase;
+ required_ioport m_biosopts;
+
omti_disk_image_device *our_disks[OMTI_MAX_LUN+1];
private:
@@ -141,7 +138,7 @@ public:
omti8621_pc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
-extern const device_type ISA16_OMTI8621;
+DECLARE_DEVICE_TYPE(ISA16_OMTI8621, omti8621_pc_device)
/* ----- omti8621 for apollo device interface ----- */
@@ -156,7 +153,7 @@ protected:
virtual const tiny_rom_entry *device_rom_region() const override;
};
-extern const device_type ISA16_OMTI8621_APOLLO;
+DECLARE_DEVICE_TYPE(ISA16_OMTI8621_APOLLO, omti8621_apollo_device)
//###############################################################
diff --git a/src/devices/bus/isa/p1_fdc.cpp b/src/devices/bus/isa/p1_fdc.cpp
index 27983e5abdd..b2eacdb35e6 100644
--- a/src/devices/bus/isa/p1_fdc.cpp
+++ b/src/devices/bus/isa/p1_fdc.cpp
@@ -29,7 +29,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type P1_FDC = device_creator<p1_fdc_device>;
+DEFINE_DEVICE_TYPE(P1_FDC, p1_fdc_device, "p1_fdc", "Poisk-1 floppy B504")
FLOPPY_FORMATS_MEMBER( p1_fdc_device::floppy_formats )
FLOPPY_PC_FORMAT
@@ -178,7 +178,7 @@ WRITE8_MEMBER(p1_fdc_device::p1_fdc_w)
//-------------------------------------------------
p1_fdc_device::p1_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, P1_FDC, "Poisk-1 floppy B504", tag, owner, clock, "p1_fdc", __FILE__)
+ : device_t(mconfig, P1_FDC, tag, owner, clock)
, device_isa8_card_interface(mconfig, *this)
, m_fdc(*this, "fdc")
{
@@ -194,8 +194,8 @@ void p1_fdc_device::device_start()
set_isa_device();
m_isa->install_rom(this, 0xe0000, 0xe07ff, "XXX", "p1_fdc");
m_isa->install_device(0x00c0, 0x00c3,
- READ8_DEVICE_DELEGATE(m_fdc, fd1793_t, read),
- WRITE8_DEVICE_DELEGATE(m_fdc, fd1793_t, write) );
+ READ8_DEVICE_DELEGATE(m_fdc, fd1793_device, read),
+ WRITE8_DEVICE_DELEGATE(m_fdc, fd1793_device, write) );
m_isa->install_device(0x00c4, 0x00c7, read8_delegate( FUNC(p1_fdc_device::p1_fdc_r), this ), write8_delegate( FUNC(p1_fdc_device::p1_fdc_w), this ) );
}
diff --git a/src/devices/bus/isa/p1_fdc.h b/src/devices/bus/isa/p1_fdc.h
index 672d80f7773..81d17bb4bf5 100644
--- a/src/devices/bus/isa/p1_fdc.h
+++ b/src/devices/bus/isa/p1_fdc.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_P1_FDC_H
+#define MAME_BUS_ISA_P1_FDC_H
-#ifndef __P1_FDC__
-#define __P1_FDC__
+#pragma once
-#include "imagedev/flopdrv.h"
#include "isa.h"
+#include "imagedev/flopdrv.h"
#include "machine/wd_fdc.h"
//**************************************************************************
@@ -42,7 +42,7 @@ protected:
virtual void device_reset() override;
private:
- required_device<fd1793_t> m_fdc;
+ required_device<fd1793_device> m_fdc;
public:
void p1_wd17xx_aux_w(int data);
@@ -52,7 +52,7 @@ public:
// device type definition
-extern const device_type P1_FDC;
+DECLARE_DEVICE_TYPE(P1_FDC, p1_fdc_device)
-#endif
+#endif // MAME_BUS_ISA_P1_FDC_H
diff --git a/src/devices/bus/isa/p1_hdc.cpp b/src/devices/bus/isa/p1_hdc.cpp
index 206c3c04360..22f60d71d1a 100644
--- a/src/devices/bus/isa/p1_hdc.cpp
+++ b/src/devices/bus/isa/p1_hdc.cpp
@@ -33,7 +33,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type P1_HDC = device_creator<p1_hdc_device>;
+DEFINE_DEVICE_TYPE(P1_HDC, p1_hdc_device, "p1_hdc", "Poisk-1 MFM disk B942")
static MACHINE_CONFIG_FRAGMENT( hdc_b942 )
MCFG_DEVICE_ADD(KM1809VG7_TAG, WD2010, 5000000) // XXX clock?
@@ -121,7 +121,7 @@ WRITE8_MEMBER(p1_hdc_device::p1_HDC_w)
//-------------------------------------------------
p1_hdc_device::p1_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, P1_HDC, "Poisk-1 MFM disk B942", tag, owner, clock, "p1_hdc", __FILE__)
+ : device_t(mconfig, P1_HDC, tag, owner, clock)
, device_isa8_card_interface(mconfig, *this)
, m_hdc(*this, KM1809VG7_TAG)
{
diff --git a/src/devices/bus/isa/p1_hdc.h b/src/devices/bus/isa/p1_hdc.h
index ef3e16c526e..071cbcded95 100644
--- a/src/devices/bus/isa/p1_hdc.h
+++ b/src/devices/bus/isa/p1_hdc.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_P1_HDC_H
+#define MAME_BUS_ISA_P1_HDC_H
-#ifndef __P1_HDC__
-#define __P1_HDC__
+#pragma once
-#include "imagedev/harddriv.h"
#include "isa.h"
+#include "imagedev/harddriv.h"
#include "machine/wd2010.h"
//**************************************************************************
@@ -48,7 +48,7 @@ public:
// device type definition
-extern const device_type P1_HDC;
+DECLARE_DEVICE_TYPE(P1_HDC, p1_hdc_device)
-#endif
+#endif // MAME_BUS_ISA_P1_HDC_H
diff --git a/src/devices/bus/isa/p1_rom.cpp b/src/devices/bus/isa/p1_rom.cpp
index b46b495b6a0..d35135f95bc 100644
--- a/src/devices/bus/isa/p1_rom.cpp
+++ b/src/devices/bus/isa/p1_rom.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type P1_ROM = device_creator<p1_rom_device>;
+DEFINE_DEVICE_TYPE(P1_ROM, p1_rom_device, "p1_rom", "Poisk-1 ROM cart")
//-------------------------------------------------
@@ -51,7 +51,7 @@ const tiny_rom_entry *p1_rom_device::device_rom_region() const
//-------------------------------------------------
p1_rom_device::p1_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, P1_ROM, "Poisk-1 ROM cart", tag, owner, clock, "p1_rom", __FILE__)
+ : device_t(mconfig, P1_ROM, tag, owner, clock)
, device_isa8_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/isa/p1_rom.h b/src/devices/bus/isa/p1_rom.h
index fc88dd08222..f91d048a523 100644
--- a/src/devices/bus/isa/p1_rom.h
+++ b/src/devices/bus/isa/p1_rom.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_P1_ROM_H
+#define MAME_BUS_ISA_P1_ROM_H
-#ifndef __P1_ROM__
-#define __P1_ROM__
+#pragma once
#include "isa.h"
@@ -38,4 +38,4 @@ protected:
extern const device_type P1_ROM;
-#endif
+#endif // MAME_BUS_ISA_P1_ROM_H
diff --git a/src/devices/bus/isa/p1_sound.cpp b/src/devices/bus/isa/p1_sound.cpp
index d0c37039030..103d1b2f6c6 100644
--- a/src/devices/bus/isa/p1_sound.cpp
+++ b/src/devices/bus/isa/p1_sound.cpp
@@ -22,7 +22,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type P1_SOUND = device_creator<p1_sound_device>;
+DEFINE_DEVICE_TYPE(P1_SOUND, p1_sound_device, "p1_sound", "Poisk-1 sound card (B623)")
//-------------------------------------------------
@@ -93,7 +93,7 @@ machine_config_constructor p1_sound_device::device_mconfig_additions() const
//-------------------------------------------------
p1_sound_device::p1_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, P1_SOUND, "Poisk-1 sound card (B623)", tag, owner, clock, "p1_sound", __FILE__)
+ : device_t(mconfig, P1_SOUND, tag, owner, clock)
, device_isa8_card_interface(mconfig, *this)
, m_dac(*this, "dac")
, m_filter(*this, "filter")
@@ -207,5 +207,5 @@ void p1_sound_device::device_reset()
m_dac_ptr = 0;
// 5 kHz lowpass filter. XXX check schematics
- m_filter->filter_rc_set_RC(FLT_RC_LOWPASS, 330, 0, 0, CAP_N(100));
+ m_filter->filter_rc_set_RC(filter_rc_device::LOWPASS, 330, 0, 0, CAP_N(100));
}
diff --git a/src/devices/bus/isa/p1_sound.h b/src/devices/bus/isa/p1_sound.h
index 039d5b7868a..aee52304b99 100644
--- a/src/devices/bus/isa/p1_sound.h
+++ b/src/devices/bus/isa/p1_sound.h
@@ -9,14 +9,14 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_P1_SOUND_H
+#define MAME_BUS_P1_SOUND_H
-#ifndef __P1_SOUND__
-#define __P1_SOUND__
+#pragma once
-#include "bus/midi/midi.h"
#include "isa.h"
+#include "bus/midi/midi.h"
#include "machine/i8251.h"
#include "machine/pit8253.h"
#include "sound/dac.h"
@@ -66,7 +66,7 @@ private:
// device type definition
-extern const device_type P1_SOUND;
+DECLARE_DEVICE_TYPE(P1_SOUND, p1_sound_device)
-#endif
+#endif // MAME_BUS_P1_SOUND_H
diff --git a/src/devices/bus/isa/pc1640_iga.cpp b/src/devices/bus/isa/pc1640_iga.cpp
index 69d3e037edf..83accf6794c 100644
--- a/src/devices/bus/isa/pc1640_iga.cpp
+++ b/src/devices/bus/isa/pc1640_iga.cpp
@@ -36,7 +36,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ISA8_PC1640_IGA = device_creator<isa8_pc1640_iga_device>;
+DEFINE_DEVICE_TYPE(ISA8_PC1640_IGA, isa8_pc1640_iga_device, "pc1640_iga", "Amstrad PC1640 IGA")
//-------------------------------------------------
@@ -69,7 +69,7 @@ const tiny_rom_entry *isa8_pc1640_iga_device::device_rom_region() const
//-------------------------------------------------
isa8_pc1640_iga_device::isa8_pc1640_iga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : isa8_ega_device(mconfig, ISA8_PC1640_IGA, "Amstrad PC1640 IGA", tag, owner, clock, "pc1640_iga", __FILE__)
+ : isa8_ega_device(mconfig, ISA8_PC1640_IGA, tag, owner, clock)
{
}
diff --git a/src/devices/bus/isa/pc1640_iga.h b/src/devices/bus/isa/pc1640_iga.h
index 4e3bf60613d..0cee53d6329 100644
--- a/src/devices/bus/isa/pc1640_iga.h
+++ b/src/devices/bus/isa/pc1640_iga.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_PC1640_IGA_H
+#define MAME_BUS_ISA_PC1640_IGA_H
-#ifndef __ISA8_PC1640_IGA__
-#define __ISA8_PC1640_IGA__
+#pragma once
#include "isa.h"
#include "ega.h"
@@ -38,8 +38,7 @@ protected:
// device type definition
-extern const device_type ISA8_PC1640_IGA;
-
+DECLARE_DEVICE_TYPE(ISA8_PC1640_IGA, isa8_pc1640_iga_device)
-#endif
+#endif // MAME_BUS_ISA_PC1640_IGA_H
diff --git a/src/devices/bus/isa/pds.cpp b/src/devices/bus/isa/pds.cpp
index f4567c234e2..2a5c35d2785 100644
--- a/src/devices/bus/isa/pds.cpp
+++ b/src/devices/bus/isa/pds.cpp
@@ -19,12 +19,12 @@
#include "emu.h"
#include "pds.h"
-const device_type ISA8_PDS = device_creator<isa8_pds_device>;
+DEFINE_DEVICE_TYPE(ISA8_PDS, isa8_pds_device, "isa_pds", "Programmers Development System (host)")
isa8_pds_device::isa8_pds_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA8_PDS, "Programmers Development System", tag, owner, clock, "isa_pds", __FILE__),
- device_isa8_card_interface( mconfig, *this ),
- m_ppi(*this,"pds_ppi")
+ : device_t(mconfig, ISA8_PDS, tag, owner, clock)
+ , device_isa8_card_interface(mconfig, *this)
+ , m_ppi(*this,"pds_ppi")
{
}
diff --git a/src/devices/bus/isa/pds.h b/src/devices/bus/isa/pds.h
index 1bbcf2007d5..7b92f10350b 100644
--- a/src/devices/bus/isa/pds.h
+++ b/src/devices/bus/isa/pds.h
@@ -6,8 +6,8 @@
* Created on: 31/01/2014
*/
-#ifndef ISA_PDS_H_
-#define ISA_PDS_H_
+#ifndef MAME_BUS_ISA_PDS_H
+#define MAME_BUS_ISA_PDS_H
#include "isa.h"
#include "machine/i8255.h"
@@ -17,23 +17,22 @@ class isa8_pds_device :
public device_isa8_card_interface
{
public:
- isa8_pds_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ isa8_pds_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_READ8_MEMBER(ppi_r);
- DECLARE_WRITE8_MEMBER(ppi_w);
+ DECLARE_READ8_MEMBER(ppi_r);
+ DECLARE_WRITE8_MEMBER(ppi_w);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
- required_device<i8255_device> m_ppi;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_stop() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_stop() override;
+ required_device<i8255_device> m_ppi;
};
-extern const device_type ISA8_PDS;
+DECLARE_DEVICE_TYPE(ISA8_PDS, isa8_pds_device)
-#endif /* ISA_PDS_H_ */
+#endif // MAME_BUS_ISA_PDS_H
diff --git a/src/devices/bus/isa/pgc.cpp b/src/devices/bus/isa/pgc.cpp
index 3d004231fbf..261fbc6eda3 100644
--- a/src/devices/bus/isa/pgc.cpp
+++ b/src/devices/bus/isa/pgc.cpp
@@ -166,7 +166,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_PGC = device_creator<isa8_pgc_device>;
+DEFINE_DEVICE_TYPE(ISA8_PGC, isa8_pgc_device, "isa_ibm_pgc", "IBM Professional Graphics Controller")
//-------------------------------------------------
@@ -206,20 +206,17 @@ ioport_constructor isa8_pgc_device::device_input_ports() const
//-------------------------------------------------
isa8_pgc_device::isa8_pgc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_PGC, "IBM Professional Graphics Controller", tag, owner, clock, "isa_ibm_pgc", __FILE__),
- device_isa8_card_interface(mconfig, *this),
- m_cpu(*this, "maincpu"),
- m_screen(*this, PGC_SCREEN_NAME),
- m_palette(*this, "palette"), m_commarea(nullptr), m_vram(nullptr), m_eram(nullptr), m_bitmap(nullptr)
+ isa8_pgc_device(mconfig, ISA8_PGC, tag, owner, clock)
{
}
-isa8_pgc_device::isa8_pgc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+isa8_pgc_device::isa8_pgc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
m_cpu(*this, "maincpu"),
m_screen(*this, PGC_SCREEN_NAME),
- m_palette(*this, "palette"), m_commarea(nullptr), m_vram(nullptr), m_eram(nullptr), m_bitmap(nullptr)
+ m_palette(*this, "palette"),
+ m_commarea(nullptr), m_vram(nullptr), m_eram(nullptr), m_bitmap(nullptr)
{
}
diff --git a/src/devices/bus/isa/pgc.h b/src/devices/bus/isa/pgc.h
index 37de1f6e260..546c1d24f5a 100644
--- a/src/devices/bus/isa/pgc.h
+++ b/src/devices/bus/isa/pgc.h
@@ -1,10 +1,10 @@
// license:BSD-3-Clause
// copyright-holders:Sergey Svishchev
-#pragma once
+#ifndef MAME_BUS_ISA_PGC_H
+#define MAME_BUS_ISA_PGC_H
-#ifndef __ISA_PGC_H__
-#define __ISA_PGC_H__
+#pragma once
#include "cpu/i86/i86.h"
@@ -23,7 +23,6 @@ class isa8_pgc_device :
public:
// construction/destruction
isa8_pgc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_pgc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -44,6 +43,8 @@ public:
void reset_common();
protected:
+ isa8_pgc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -63,6 +64,6 @@ private:
// device type definition
-extern const device_type ISA8_PGC;
+DECLARE_DEVICE_TYPE(ISA8_PGC, isa8_pgc_device)
-#endif /* __ISA_PGC_H__ */
+#endif // MAME_BUS_ISA_PGC_H
diff --git a/src/devices/bus/isa/s3virge.cpp b/src/devices/bus/isa/s3virge.cpp
index b9df7bca59b..27c142036bf 100644
--- a/src/devices/bus/isa/s3virge.cpp
+++ b/src/devices/bus/isa/s3virge.cpp
@@ -20,32 +20,32 @@
#define CRTC_PORT_ADDR ((vga.miscellaneous_output & 1) ? 0x3d0 : 0x3b0)
#define LOG_REG 1
-const device_type S3VIRGE = device_creator<s3virge_vga_device>;
-const device_type S3VIRGEDX = device_creator<s3virgedx_vga_device>;
-const device_type S3VIRGEDX1 = device_creator<s3virgedx_rev1_vga_device>;
+DEFINE_DEVICE_TYPE(S3VIRGE, s3virge_vga_device, "virge_vga", "S3 86C325")
+DEFINE_DEVICE_TYPE(S3VIRGEDX, s3virgedx_vga_device, "virgedx_vga", "S3 86C375")
+DEFINE_DEVICE_TYPE(S3VIRGEDX1, s3virgedx_rev1_vga_device, "virgedx_vga_r1", "S3 86C375 (rev 1)")
s3virge_vga_device::s3virge_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : s3_vga_device(mconfig, S3VIRGE, "S3 86C325", tag, owner, clock, "virge_vga", __FILE__)
+ : s3virge_vga_device(mconfig, S3VIRGE, tag, owner, clock)
{
}
-s3virge_vga_device::s3virge_vga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : s3_vga_device(mconfig, type, name, tag, owner, clock, shortname, source)
+s3virge_vga_device::s3virge_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : s3_vga_device(mconfig, type, tag, owner, clock)
{
}
s3virgedx_vga_device::s3virgedx_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : s3virge_vga_device(mconfig, S3VIRGEDX, "S3 86C375", tag, owner, clock, "virgedx_vga", __FILE__)
+ : s3virgedx_vga_device(mconfig, S3VIRGEDX, tag, owner, clock)
{
}
-s3virgedx_vga_device::s3virgedx_vga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : s3virge_vga_device(mconfig, type, name, tag, owner, clock, shortname, source)
+s3virgedx_vga_device::s3virgedx_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : s3virge_vga_device(mconfig, type, tag, owner, clock)
{
}
s3virgedx_rev1_vga_device::s3virgedx_rev1_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : s3virgedx_vga_device(mconfig, S3VIRGEDX1, "S3 86C375 (rev 1)", tag, owner, clock, "virgedx_r1", __FILE__)
+ : s3virgedx_vga_device(mconfig, S3VIRGEDX1, tag, owner, clock)
{
}
diff --git a/src/devices/bus/isa/s3virge.h b/src/devices/bus/isa/s3virge.h
index cadbcd8ef63..0ee07815092 100644
--- a/src/devices/bus/isa/s3virge.h
+++ b/src/devices/bus/isa/s3virge.h
@@ -7,8 +7,10 @@
*
*/
-#ifndef S3VIRGE_H_
-#define S3VIRGE_H_
+#ifndef MAME_BUS_ISA_S3VIRGE_H
+#define MAME_BUS_ISA_S3VIRGE_H
+
+#pragma once
#include "video/pc_vga.h"
@@ -19,7 +21,6 @@ class s3virge_vga_device : public s3_vga_device
public:
// construction/destruction
s3virge_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- s3virge_vga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
virtual READ8_MEMBER(port_03b0_r) override;
virtual WRITE8_MEMBER(port_03b0_w) override;
@@ -31,7 +32,10 @@ public:
virtual WRITE8_MEMBER(mem_w) override;
ibm8514a_device* get_8514() { fatalerror("s3virge requested non-existant 8514/A device\n"); return nullptr; }
+
protected:
+ s3virge_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -51,9 +55,10 @@ class s3virgedx_vga_device : public s3virge_vga_device
public:
// construction/destruction
s3virgedx_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- s3virgedx_vga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
protected:
+ s3virgedx_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -74,8 +79,8 @@ protected:
};
// device type definition
-extern const device_type S3VIRGE;
-extern const device_type S3VIRGEDX;
-extern const device_type S3VIRGEDX1;
+DECLARE_DEVICE_TYPE(S3VIRGE, s3virge_vga_device)
+DECLARE_DEVICE_TYPE(S3VIRGEDX, s3virgedx_vga_device)
+DECLARE_DEVICE_TYPE(S3VIRGEDX1, s3virgedx_rev1_vga_device)
-#endif /* S3VIRGE_H_ */
+#endif // MAME_BUS_ISA_S3VIRGE_H
diff --git a/src/devices/bus/isa/sb16.cpp b/src/devices/bus/isa/sb16.cpp
index 1c8a9cda8c0..1207b6dfafd 100644
--- a/src/devices/bus/isa/sb16.cpp
+++ b/src/devices/bus/isa/sb16.cpp
@@ -12,7 +12,7 @@
#include "speaker.h"
-const device_type ISA16_SB16 = device_creator<sb16_lle_device>;
+DEFINE_DEVICE_TYPE(ISA16_SB16, sb16_lle_device, "sb16", "SoundBlaster 16 Audio Adapter LLE")
READ8_MEMBER( sb16_lle_device::dsp_data_r )
{
@@ -681,7 +681,7 @@ WRITE8_MEMBER( sb16_lle_device::mpu401_w )
}
sb16_lle_device::sb16_lle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_SB16, "SoundBlaster 16 Audio Adapter LLE", tag, owner, clock, "sb16", __FILE__),
+ device_t(mconfig, ISA16_SB16, tag, owner, clock),
device_isa16_card_interface(mconfig, *this),
m_ldac(*this, "ldac"),
m_rdac(*this, "rdac"),
diff --git a/src/devices/bus/isa/sb16.h b/src/devices/bus/isa/sb16.h
index a8de59fea45..8f02531ae55 100644
--- a/src/devices/bus/isa/sb16.h
+++ b/src/devices/bus/isa/sb16.h
@@ -1,14 +1,14 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#ifndef __SB16__
-#define __SB16__
+#ifndef MAME_BUS_ISA_SB16_H
+#define MAME_BUS_ISA_SB16_H
#include "isa.h"
-#include "sound/dac.h"
#include "bus/pc_joy/pc_joy.h"
#include "cpu/mcs51/mcs51.h"
#include "sound/262intf.h"
+#include "sound/dac.h"
//*********************************************************************
// TYPE DEFINITIONS
@@ -16,8 +16,7 @@
// ====================> sb16_device
-class sb16_lle_device : public device_t,
- public device_isa16_card_interface
+class sb16_lle_device : public device_t, public device_isa16_card_interface
{
public:
// construction/destruction
@@ -27,11 +26,6 @@ public:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
- required_device<dac_word_interface> m_ldac;
- required_device<dac_word_interface> m_rdac;
- required_device<pc_joy_device> m_joy;
- required_device<cpu_device> m_cpu;
-
READ8_MEMBER( mpu401_r );
WRITE8_MEMBER( mpu401_w );
@@ -88,6 +82,12 @@ protected:
void dack_w(int line, uint8_t data) override;
uint16_t dack16_r(int line) override;
void dack16_w(int line, uint16_t data) override;
+
+ required_device<dac_word_interface> m_ldac;
+ required_device<dac_word_interface> m_rdac;
+ required_device<pc_joy_device> m_joy;
+ required_device<cpu_device> m_cpu;
+
private:
void control_timer(bool start);
@@ -116,4 +116,4 @@ private:
extern const device_type ISA16_SB16;
-#endif
+#endif // MAME_BUS_ISA_SB16_H
diff --git a/src/devices/bus/isa/sblaster.cpp b/src/devices/bus/isa/sblaster.cpp
index 54a861a6526..235c9d92de7 100644
--- a/src/devices/bus/isa/sblaster.cpp
+++ b/src/devices/bus/isa/sblaster.cpp
@@ -21,6 +21,18 @@
#include "speaker.h"
+#define SIXTEENBIT 0x01
+#define STEREO 0x02
+#define SIGNED 0x04
+#define ADPCM2 0x08
+#define ADPCM3 0x10
+#define ADPCM4 0x20
+
+#define IRQ_DMA8 0x01
+#define IRQ_DMA16 0x02
+#define IRQ_MPU 0x04
+#define IRQ_ALL 0xff
+
/*
adlib (YM3812/OPL2 chip), part of many many soundcards (soundblaster)
@@ -1194,9 +1206,9 @@ ioport_constructor sb16_device::device_input_ports() const
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_SOUND_BLASTER_1_0 = device_creator<isa8_sblaster1_0_device>;
-const device_type ISA8_SOUND_BLASTER_1_5 = device_creator<isa8_sblaster1_5_device>;
-const device_type ISA16_SOUND_BLASTER_16 = device_creator<isa16_sblaster16_device>;
+DEFINE_DEVICE_TYPE(ISA8_SOUND_BLASTER_1_0, isa8_sblaster1_0_device, "isa_sblaster1_0", "Sound Blaster 1.0")
+DEFINE_DEVICE_TYPE(ISA8_SOUND_BLASTER_1_5, isa8_sblaster1_5_device, "isa_sblaster1_5", "Sound Blaster 1.5")
+DEFINE_DEVICE_TYPE(ISA16_SOUND_BLASTER_16, isa16_sblaster16_device, "isa_sblaster_16", "Sound Blaster 16")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -1222,8 +1234,8 @@ machine_config_constructor isa16_sblaster16_device::device_mconfig_additions() c
// LIVE DEVICE
//**************************************************************************
-sb_device::sb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const char *name, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+sb_device::sb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_serial_interface(mconfig, *this),
m_ldac(*this, "ldac"),
m_rdac(*this, "rdac"),
@@ -1233,15 +1245,15 @@ sb_device::sb_device(const machine_config &mconfig, device_type type, const char
{
}
-sb8_device::sb8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const char *name, const char *shortname, const char *source) :
- sb_device(mconfig, type, tag, owner, clock, name, shortname, source),
+sb8_device::sb8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ sb_device(mconfig, type, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
m_ym3812(*this, "ym3812")
{
}
-sb16_device::sb16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const char *name, const char *shortname, const char *source) :
- sb_device(mconfig, type, tag, owner, clock, name, shortname, source),
+sb16_device::sb16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ sb_device(mconfig, type, tag, owner, clock),
device_isa16_card_interface(mconfig, *this)
{
}
@@ -1251,19 +1263,19 @@ sb16_device::sb16_device(const machine_config &mconfig, device_type type, const
//-------------------------------------------------
isa8_sblaster1_0_device::isa8_sblaster1_0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- sb8_device(mconfig, ISA8_SOUND_BLASTER_1_0, tag, owner, clock, "Sound Blaster 1.0", "isa_sblaster1_0", __FILE__),
+ sb8_device(mconfig, ISA8_SOUND_BLASTER_1_0, tag, owner, clock),
m_saa1099_1(*this, "saa1099.1"),
m_saa1099_2(*this, "saa1099.2")
{
}
isa8_sblaster1_5_device::isa8_sblaster1_5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- sb8_device(mconfig, ISA8_SOUND_BLASTER_1_5, tag, owner, clock, "Sound Blaster 1.5", "isa_sblaster1_5", __FILE__)
+ sb8_device(mconfig, ISA8_SOUND_BLASTER_1_5, tag, owner, clock)
{
}
isa16_sblaster16_device::isa16_sblaster16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- sb16_device(mconfig, ISA16_SOUND_BLASTER_16, tag, owner, clock, "Sound Blaster 16", "isa_sblaster_16", __FILE__)
+ sb16_device(mconfig, ISA16_SOUND_BLASTER_16, tag, owner, clock)
{
}
diff --git a/src/devices/bus/isa/sblaster.h b/src/devices/bus/isa/sblaster.h
index 3c4b75b6655..8411a35acac 100644
--- a/src/devices/bus/isa/sblaster.h
+++ b/src/devices/bus/isa/sblaster.h
@@ -1,258 +1,245 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont, Miodrag Milanovic
-#pragma once
+#ifndef MAME_BUS_ISA_SBLASTER_H
+#define MAME_BUS_ISA_SBLASTER_H
-#ifndef __ISA_SOUND_BLASTER_H__
-#define __ISA_SOUND_BLASTER_H__
+#pragma once
-#include "bus/midi/midi.h"
#include "isa.h"
-#include "sound/dac.h"
+#include "bus/midi/midi.h"
#include "bus/pc_joy/pc_joy.h"
#include "sound/3812intf.h"
+#include "sound/dac.h"
#include "sound/saa1099.h"
-#define SIXTEENBIT 0x01
-#define STEREO 0x02
-#define SIGNED 0x04
-#define ADPCM2 0x08
-#define ADPCM3 0x10
-#define ADPCM4 0x20
-
-#define IRQ_DMA8 0x01
-#define IRQ_DMA16 0x02
-#define IRQ_MPU 0x04
-#define IRQ_ALL 0xff
-
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-struct sb8_dsp_state
-{
- uint8_t reset_latch;
- uint8_t rbuf_status;
- uint8_t wbuf_status;
- uint8_t fifo[16],fifo_ptr;
- uint8_t fifo_r[52],fifo_r_ptr;
- uint16_t version;
- uint8_t test_reg;
- uint8_t speaker_on;
- bool dma_no_irq;
- uint32_t prot_count;
- int32_t prot_value;
- uint32_t frequency;
- uint32_t adc_freq;
- uint32_t dma_length, dma_transferred;
- uint32_t adc_length, adc_transferred;
- uint8_t dma_autoinit;
- uint8_t data[128], d_wptr, d_rptr;
- bool dma_timer_started;
- bool dma_throttled;
- uint8_t flags;
- uint8_t irq_active;
- bool adpcm_new_ref;
- uint8_t adpcm_ref;
- uint8_t adpcm_step;
- uint8_t adpcm_count;
-};
-
-struct sb8_mixer
-{
- uint8_t status;
- uint8_t main_vol;
- uint8_t dac_vol;
- uint8_t fm_vol;
- uint8_t mic_vol;
- uint8_t in_filter;
- uint8_t stereo_sel;
- uint8_t cd_vol;
- uint8_t line_vol;
-};
-
-struct sb16_mixer
-{
- uint8_t data;
- uint8_t status;
- uint8_t main_vol[2];
- uint8_t dac_vol[2];
- uint8_t fm_vol[2];
- uint8_t cd_vol[2];
- uint8_t line_vol[2];
- uint8_t mic_vol;
- uint8_t pc_speaker_vol;
- uint8_t output_ctl;
- uint8_t input_ctl[2];
- uint8_t input_gain[2];
- uint8_t output_gain[2];
- uint8_t agc;
- uint8_t treble[2];
- uint8_t bass[2];
-};
-
// ======================> sb_device (parent)
class sb_device :
public device_t, public device_serial_interface
{
public:
- // construction/destruction
- sb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const char *name, const char *shortname, const char *source);
-
- required_device<dac_16bit_r2r_device> m_ldac;
- required_device<dac_16bit_r2r_device> m_rdac;
- required_device<pc_joy_device> m_joy;
- required_device<midi_port_device> m_mdout;
- required_ioport m_config;
-
- void process_fifo(uint8_t cmd);
- void queue(uint8_t data);
- void queue_r(uint8_t data);
- uint8_t dequeue_r();
-
- DECLARE_READ8_MEMBER(dsp_reset_r);
- DECLARE_WRITE8_MEMBER(dsp_reset_w);
- DECLARE_READ8_MEMBER(dsp_data_r);
- DECLARE_WRITE8_MEMBER(dsp_data_w);
- DECLARE_READ8_MEMBER(dsp_rbuf_status_r);
- DECLARE_READ8_MEMBER(dsp_wbuf_status_r);
- DECLARE_WRITE8_MEMBER(dsp_rbuf_status_w);
- DECLARE_WRITE8_MEMBER(dsp_cmd_w);
-
- DECLARE_WRITE_LINE_MEMBER( midi_rx_w ) { device_serial_interface::rx_w((uint8_t)state); }
+ void process_fifo(uint8_t cmd);
+ void queue(uint8_t data);
+ void queue_r(uint8_t data);
+ uint8_t dequeue_r();
+
+ DECLARE_READ8_MEMBER(dsp_reset_r);
+ DECLARE_WRITE8_MEMBER(dsp_reset_w);
+ DECLARE_READ8_MEMBER(dsp_data_r);
+ DECLARE_WRITE8_MEMBER(dsp_data_w);
+ DECLARE_READ8_MEMBER(dsp_rbuf_status_r);
+ DECLARE_READ8_MEMBER(dsp_wbuf_status_r);
+ DECLARE_WRITE8_MEMBER(dsp_rbuf_status_w);
+ DECLARE_WRITE8_MEMBER(dsp_cmd_w);
+
+ DECLARE_WRITE_LINE_MEMBER( midi_rx_w ) { device_serial_interface::rx_w((uint8_t)state); }
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- uint8_t dack_r(int line);
- void dack_w(int line, uint8_t data);
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- virtual void drq16_w(int state) { }
- virtual void drq_w(int state) { }
- virtual void irq_w(int state, int source) { }
- virtual void mixer_reset() {}
- void adpcm_decode(uint8_t sample, int size);
-
- // serial overrides
- virtual void rcv_complete() override; // Rx completed receiving byte
- virtual void tra_complete() override; // Tx completed sending byte
- virtual void tra_callback() override; // Tx send bit
-
- static const int MIDI_RING_SIZE = 2048;
-
- struct sb8_dsp_state m_dsp;
- uint8_t m_dack_out;
- void xmit_char(uint8_t data);
- bool m_onebyte_midi, m_uart_midi, m_uart_irq, m_mpu_midi;
- int m_rx_waiting, m_tx_waiting;
- uint8_t m_recvring[MIDI_RING_SIZE];
- uint8_t m_xmitring[MIDI_RING_SIZE];
- int m_xmit_read, m_xmit_write;
- int m_recv_read, m_recv_write;
- bool m_tx_busy;
-
- emu_timer *m_timer;
+ struct sb8_dsp_state
+ {
+ uint8_t reset_latch;
+ uint8_t rbuf_status;
+ uint8_t wbuf_status;
+ uint8_t fifo[16],fifo_ptr;
+ uint8_t fifo_r[52],fifo_r_ptr;
+ uint16_t version;
+ uint8_t test_reg;
+ uint8_t speaker_on;
+ bool dma_no_irq;
+ uint32_t prot_count;
+ int32_t prot_value;
+ uint32_t frequency;
+ uint32_t adc_freq;
+ uint32_t dma_length, dma_transferred;
+ uint32_t adc_length, adc_transferred;
+ uint8_t dma_autoinit;
+ uint8_t data[128], d_wptr, d_rptr;
+ bool dma_timer_started;
+ bool dma_throttled;
+ uint8_t flags;
+ uint8_t irq_active;
+ bool adpcm_new_ref;
+ uint8_t adpcm_ref;
+ uint8_t adpcm_step;
+ uint8_t adpcm_count;
+ };
+
+ struct sb8_mixer
+ {
+ uint8_t status;
+ uint8_t main_vol;
+ uint8_t dac_vol;
+ uint8_t fm_vol;
+ uint8_t mic_vol;
+ uint8_t in_filter;
+ uint8_t stereo_sel;
+ uint8_t cd_vol;
+ uint8_t line_vol;
+ };
+
+ struct sb16_mixer
+ {
+ uint8_t data;
+ uint8_t status;
+ uint8_t main_vol[2];
+ uint8_t dac_vol[2];
+ uint8_t fm_vol[2];
+ uint8_t cd_vol[2];
+ uint8_t line_vol[2];
+ uint8_t mic_vol;
+ uint8_t pc_speaker_vol;
+ uint8_t output_ctl;
+ uint8_t input_ctl[2];
+ uint8_t input_gain[2];
+ uint8_t output_gain[2];
+ uint8_t agc;
+ uint8_t treble[2];
+ uint8_t bass[2];
+ };
+
+ // construction/destruction
+ sb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ uint8_t dack_r(int line);
+ void dack_w(int line, uint8_t data);
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ virtual void drq16_w(int state) { }
+ virtual void drq_w(int state) { }
+ virtual void irq_w(int state, int source) { }
+ virtual void mixer_reset() {}
+ void adpcm_decode(uint8_t sample, int size);
+
+ // serial overrides
+ virtual void rcv_complete() override; // Rx completed receiving byte
+ virtual void tra_complete() override; // Tx completed sending byte
+ virtual void tra_callback() override; // Tx send bit
+
+ static constexpr unsigned MIDI_RING_SIZE = 2048;
+
+ required_device<dac_16bit_r2r_device> m_ldac;
+ required_device<dac_16bit_r2r_device> m_rdac;
+ required_device<pc_joy_device> m_joy;
+ required_device<midi_port_device> m_mdout;
+ required_ioport m_config;
+
+ struct sb8_dsp_state m_dsp;
+ uint8_t m_dack_out;
+ void xmit_char(uint8_t data);
+ bool m_onebyte_midi, m_uart_midi, m_uart_irq, m_mpu_midi;
+ int m_rx_waiting, m_tx_waiting;
+ uint8_t m_recvring[MIDI_RING_SIZE];
+ uint8_t m_xmitring[MIDI_RING_SIZE];
+ int m_xmit_read, m_xmit_write;
+ int m_recv_read, m_recv_write;
+ bool m_tx_busy;
+
+ emu_timer *m_timer;
};
class sb8_device : public sb_device,
public device_isa8_card_interface
{
public:
- // construction/destruction
- sb8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const char *name, const char *shortname, const char *source);
-
- DECLARE_READ8_MEMBER(ym3812_16_r);
- DECLARE_WRITE8_MEMBER(ym3812_16_w);
- virtual ioport_constructor device_input_ports() const override;
+ DECLARE_READ8_MEMBER(ym3812_16_r);
+ DECLARE_WRITE8_MEMBER(ym3812_16_w);
+ virtual ioport_constructor device_input_ports() const override;
protected:
- virtual void device_start() override;
- virtual void drq_w(int state) override;
- virtual void irq_w(int state, int source) override;
- virtual uint8_t dack_r(int line) override { return sb_device::dack_r(line); }
- virtual void dack_w(int line, uint8_t data) override { sb_device::dack_w(line, data); }
+ // construction/destruction
+ sb8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+ virtual void drq_w(int state) override;
+ virtual void irq_w(int state, int source) override;
+ virtual uint8_t dack_r(int line) override { return sb_device::dack_r(line); }
+ virtual void dack_w(int line, uint8_t data) override { sb_device::dack_w(line, data); }
private:
- required_device<ym3812_device> m_ym3812;
+ required_device<ym3812_device> m_ym3812;
};
class isa8_sblaster1_0_device : public sb8_device
{
public:
- // construction/destruction
- isa8_sblaster1_0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa8_sblaster1_0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
- DECLARE_READ8_MEMBER(saa1099_16_r);
- DECLARE_WRITE8_MEMBER(saa1099_1_16_w);
- DECLARE_WRITE8_MEMBER(saa1099_2_16_w);
+ DECLARE_READ8_MEMBER(saa1099_16_r);
+ DECLARE_WRITE8_MEMBER(saa1099_1_16_w);
+ DECLARE_WRITE8_MEMBER(saa1099_2_16_w);
protected:
- // device-level overrides
- virtual void device_start() override;
+ // device-level overrides
+ virtual void device_start() override;
private:
- // internal state
- required_device<saa1099_device> m_saa1099_1;
- required_device<saa1099_device> m_saa1099_2;
-
+ // internal state
+ required_device<saa1099_device> m_saa1099_1;
+ required_device<saa1099_device> m_saa1099_2;
};
class isa8_sblaster1_5_device : public sb8_device
{
public:
- // construction/destruction
- isa8_sblaster1_5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa8_sblaster1_5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
protected:
- // device-level overrides
- virtual void device_start() override;
+ // device-level overrides
+ virtual void device_start() override;
};
class sb16_device : public sb_device,
public device_isa16_card_interface
{
public:
- // construction/destruction
- sb16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const char *name, const char *shortname, const char *source);
- DECLARE_READ8_MEMBER(mpu401_r);
- DECLARE_WRITE8_MEMBER(mpu401_w);
- DECLARE_READ8_MEMBER(mixer_r);
- DECLARE_WRITE8_MEMBER(mixer_w);
- virtual ioport_constructor device_input_ports() const override;
+ DECLARE_READ8_MEMBER(mpu401_r);
+ DECLARE_WRITE8_MEMBER(mpu401_w);
+ DECLARE_READ8_MEMBER(mixer_r);
+ DECLARE_WRITE8_MEMBER(mixer_w);
+ virtual ioport_constructor device_input_ports() const override;
protected:
- virtual void device_start() override;
- virtual uint16_t dack16_r(int line) override;
- virtual uint8_t dack_r(int line) override { return sb_device::dack_r(line); }
- virtual void dack_w(int line, uint8_t data) override { sb_device::dack_w(line, data); }
- virtual void dack16_w(int line, uint16_t data) override;
- virtual void drq16_w(int state) override;
- virtual void drq_w(int state) override;
- virtual void irq_w(int state, int source) override;
- virtual void mixer_reset() override;
- void mixer_set();
- virtual void rcv_complete() override; // Rx completed receiving byte
+ // construction/destruction
+ sb16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ virtual void device_start() override;
+ virtual uint16_t dack16_r(int line) override;
+ virtual uint8_t dack_r(int line) override { return sb_device::dack_r(line); }
+ virtual void dack_w(int line, uint8_t data) override { sb_device::dack_w(line, data); }
+ virtual void dack16_w(int line, uint16_t data) override;
+ virtual void drq16_w(int state) override;
+ virtual void drq_w(int state) override;
+ virtual void irq_w(int state, int source) override;
+ virtual void mixer_reset() override;
+ void mixer_set();
+ virtual void rcv_complete() override; // Rx completed receiving byte
private:
- struct sb16_mixer m_mixer;
+ struct sb16_mixer m_mixer;
};
class isa16_sblaster16_device : public sb16_device
{
public:
- // construction/destruction
- isa16_sblaster16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_sblaster16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
protected:
- // device-level overrides
- virtual void device_start() override;
+ // device-level overrides
+ virtual void device_start() override;
};
// device type definition
-extern const device_type ISA8_SOUND_BLASTER_1_0;
-extern const device_type ISA8_SOUND_BLASTER_1_5;
-extern const device_type ISA16_SOUND_BLASTER_16;
+DECLARE_DEVICE_TYPE(ISA8_SOUND_BLASTER_1_0, isa8_sblaster1_0_device)
+DECLARE_DEVICE_TYPE(ISA8_SOUND_BLASTER_1_5, isa8_sblaster1_5_device)
+DECLARE_DEVICE_TYPE(ISA16_SOUND_BLASTER_16, isa16_sblaster16_device)
-#endif /* __ISA_SOUND_BLASTER_H__ */
+#endif // MAME_BUS_ISA_SBLASTER_H
diff --git a/src/devices/bus/isa/sc499.cpp b/src/devices/bus/isa/sc499.cpp
index 8dda45a4535..35f945b9a9c 100644
--- a/src/devices/bus/isa/sc499.cpp
+++ b/src/devices/bus/isa/sc499.cpp
@@ -28,7 +28,7 @@ static int verbose = VERBOSE;
#define LOG3(x) { if (verbose > 2) LOG(x)}
#define SC499_CTAPE_TAG "sc499_ctape"
-extern const device_type SC499_CTAPE;
+DECLARE_DEVICE_TYPE(SC499_CTAPE, sc499_ctape_image_device)
static INPUT_PORTS_START( sc499_port )
PORT_START("IO_BASE")
@@ -190,7 +190,7 @@ machine_config_constructor sc499_device::device_mconfig_additions() const
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ISA8_SC499 = device_creator<sc499_device>;
+DEFINE_DEVICE_TYPE(ISA8_SC499, sc499_device, "sc499", "Archive SC-499")
//**************************************************************************
// CONSTANTS
@@ -313,7 +313,7 @@ const device_type ISA8_SC499 = device_creator<sc499_device>;
//-------------------------------------------------
sc499_device::sc499_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA8_SC499, "Archive SC-499", tag, owner, clock, "sc499", __FILE__),
+ : device_t(mconfig, ISA8_SC499, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
m_iobase(*this, "IO_BASE"),
m_irqdrq(*this, "IRQ_DRQ"), m_data(0), m_command(0), m_status(0), m_control(0), m_has_cartridge(0), m_is_writable(0), m_current_command(0), m_first_block_hack(0), m_nasty_readahead(0), m_read_block_pending(0),
@@ -1298,11 +1298,11 @@ void sc499_device::block_set_filemark()
//##########################################################################
-const device_type SC499_CTAPE = device_creator<sc499_ctape_image_device>;
+DEFINE_DEVICE_TYPE(SC499_CTAPE, sc499_ctape_image_device, "sc499_ctape", "SC-499 Cartridge Tape")
sc499_ctape_image_device::sc499_ctape_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SC499_CTAPE, "Cartridge Tape", tag, owner, clock, "sc499_ctape", __FILE__),
- device_image_interface(mconfig, *this)
+ : device_t(mconfig, SC499_CTAPE, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/isa/sc499.h b/src/devices/bus/isa/sc499.h
index d2082dd028a..4f3bd24ab64 100644
--- a/src/devices/bus/isa/sc499.h
+++ b/src/devices/bus/isa/sc499.h
@@ -8,10 +8,10 @@
*
*/
-#pragma once
+#ifndef MAME_BUS_ISA_SC499_H
+#define MAME_BUS_ISA_SC499_H
-#ifndef SC499_H_
-#define SC499_H_
+#pragma once
#include "bus/isa/isa.h"
#include "softlist_dev.h"
@@ -52,7 +52,7 @@ public:
protected:
// device-level overrides
- virtual void device_start() override { };
+ virtual void device_start() override { }
std::vector<uint8_t> m_ctape_data;
};
@@ -65,6 +65,7 @@ public:
// construction/destruction
sc499_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
required_ioport m_iobase;
required_ioport m_irqdrq;
@@ -154,6 +155,6 @@ private:
// device type definition
-extern const device_type ISA8_SC499;
+DECLARE_DEVICE_TYPE(ISA8_SC499, sc499_device)
-#endif /* SC499_H_ */
+#endif // MAME_BUS_ISA_SC499_H
diff --git a/src/devices/bus/isa/side116.cpp b/src/devices/bus/isa/side116.cpp
index 785703f07f8..290143aa2fc 100644
--- a/src/devices/bus/isa/side116.cpp
+++ b/src/devices/bus/isa/side116.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ISA8_SIDE116 = device_creator<side116_device>;
+DEFINE_DEVICE_TYPE(ISA8_SIDE116, side116_device, "side116", "Acculogic sIDE-1/16 IDE Disk Controller")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -88,7 +88,7 @@ const tiny_rom_entry *side116_device::device_rom_region() const
//-------------------------------------------------
side116_device::side116_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_SIDE116, "Acculogic sIDE-1/16 IDE Disk Controller", tag, owner, clock, "side116", __FILE__),
+ device_t(mconfig, ISA8_SIDE116, tag, owner, clock),
device_isa8_card_interface( mconfig, *this ),
m_ata(*this, "ata"),
m_config(*this, "configuration"),
diff --git a/src/devices/bus/isa/side116.h b/src/devices/bus/isa/side116.h
index 993d2bef258..00095bf6279 100644
--- a/src/devices/bus/isa/side116.h
+++ b/src/devices/bus/isa/side116.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_SIDE116_H
+#define MAME_BUS_ISA_SIDE116_H
-#ifndef __ISA_SIDE116_H__
-#define __ISA_SIDE116_H__
+#pragma once
#include "machine/ataintf.h"
#include "isa.h"
@@ -23,8 +23,7 @@
// ======================> side116_device
-class side116_device : public device_t,
- public device_isa8_card_interface
+class side116_device : public device_t, public device_isa8_card_interface
{
public:
// construction/destruction
@@ -43,7 +42,6 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_config_complete() override { m_shortname = "side116"; }
private:
required_device<ata_interface_device> m_ata;
@@ -53,6 +51,6 @@ private:
// device type definition
-extern const device_type ISA8_SIDE116;
+DECLARE_DEVICE_TYPE(ISA8_SIDE116, side116_device)
-#endif
+#endif // MAME_BUS_ISA_SIDE116_H
diff --git a/src/devices/bus/isa/ssi2001.cpp b/src/devices/bus/isa/ssi2001.cpp
index 1d2669c8420..c673ed21a81 100644
--- a/src/devices/bus/isa/ssi2001.cpp
+++ b/src/devices/bus/isa/ssi2001.cpp
@@ -8,7 +8,7 @@
#include "speaker.h"
-const device_type ISA8_SSI2001 = device_creator<ssi2001_device>;
+DEFINE_DEVICE_TYPE(ISA8_SSI2001, ssi2001_device, "ssi2001", "Innovation SSI-2001 Audio Adapter")
static MACHINE_CONFIG_FRAGMENT( ssi2001 )
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -23,7 +23,7 @@ machine_config_constructor ssi2001_device::device_mconfig_additions() const
}
ssi2001_device::ssi2001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_SSI2001, "Innovation SSI-2001 Audio Adapter", tag, owner, clock, "ssi2001", __FILE__),
+ device_t(mconfig, ISA8_SSI2001, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
m_joy(*this, "pc_joy"),
m_sid(*this, "sid6581")
diff --git a/src/devices/bus/isa/ssi2001.h b/src/devices/bus/isa/ssi2001.h
index e141c891bc0..3facf845c03 100644
--- a/src/devices/bus/isa/ssi2001.h
+++ b/src/devices/bus/isa/ssi2001.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#ifndef __SSI2001__
-#define __SSI2001__
+#ifndef MAME_BUS_ISA_SSI2001_H
+#define MAME_BUS_ISA_SSI2001_H
+
+#pragma once
#include "isa.h"
#include "sound/mos6581.h"
@@ -23,17 +25,17 @@ public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
- required_device<pc_joy_device> m_joy;
- required_device<mos6581_device> m_sid;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+
+ required_device<pc_joy_device> m_joy;
+ required_device<mos6581_device> m_sid;
};
// device type definition
-extern const device_type ISA8_SSI2001;
+DECLARE_DEVICE_TYPE(ISA8_SSI2001, ssi2001_device)
-#endif
+#endif // MAME_BUS_ISA_SSI2001_H
diff --git a/src/devices/bus/isa/stereo_fx.cpp b/src/devices/bus/isa/stereo_fx.cpp
index 079c4d15b75..fef1737b6b0 100644
--- a/src/devices/bus/isa/stereo_fx.cpp
+++ b/src/devices/bus/isa/stereo_fx.cpp
@@ -12,7 +12,7 @@
#include "speaker.h"
-const device_type ISA8_STEREO_FX = device_creator<stereo_fx_device>;
+DEFINE_DEVICE_TYPE(ISA8_STEREO_FX, stereo_fx_device, "stereo_fx", "ATi Stereo F/X Audio Adapter")
READ8_MEMBER( stereo_fx_device::dev_dsp_data_r )
{
@@ -194,7 +194,7 @@ READ8_MEMBER( stereo_fx_device::invalid_r )
}
stereo_fx_device::stereo_fx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_STEREO_FX, "ATI Stereo F/X Audio Adapter", tag, owner, clock, "stereo_fx", __FILE__),
+ device_t(mconfig, ISA8_STEREO_FX, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
m_joy(*this, "pc_joy"),
m_cpu(*this, "stereo_fx_cpu"), m_data_in(false), m_in_byte(0), m_data_out(false), m_out_byte(0), m_port20(0), m_port00(0), m_timer(nullptr), m_t0(0)
diff --git a/src/devices/bus/isa/stereo_fx.h b/src/devices/bus/isa/stereo_fx.h
index 5db2e1927c4..738841e9178 100644
--- a/src/devices/bus/isa/stereo_fx.h
+++ b/src/devices/bus/isa/stereo_fx.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#ifndef __STEREO_FX__
-#define __STEREO_FX__
+#ifndef MAME_BUS_ISA_STEREO_FX_H
+#define MAME_BUS_ISA_STEREO_FX_H
+
+#pragma once
#include "isa.h"
#include "bus/pc_joy/pc_joy.h"
@@ -25,9 +27,6 @@ public:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
- required_device<pc_joy_device> m_joy;
- required_device<cpu_device> m_cpu;
-
// mcu ports
DECLARE_READ8_MEMBER( dev_dsp_data_r );
DECLARE_WRITE8_MEMBER( dev_dsp_data_w );
@@ -56,6 +55,10 @@ protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
uint8_t dack_r(int line) override;
void dack_w(int line, uint8_t data) override;
+
+ required_device<pc_joy_device> m_joy;
+ required_device<cpu_device> m_cpu;
+
private:
// internal state
bool m_data_in;
@@ -72,6 +75,6 @@ private:
// device type definition
-extern const device_type ISA8_STEREO_FX;
+DECLARE_DEVICE_TYPE(ISA8_STEREO_FX, stereo_fx_device)
-#endif
+#endif // MAME_BUS_ISA_STEREO_FX_H
diff --git a/src/devices/bus/isa/svga_cirrus.cpp b/src/devices/bus/isa/svga_cirrus.cpp
index f5f117e76bb..587f578a90f 100644
--- a/src/devices/bus/isa/svga_cirrus.cpp
+++ b/src/devices/bus/isa/svga_cirrus.cpp
@@ -22,8 +22,8 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_SVGA_CIRRUS = device_creator<isa16_svga_cirrus_device>;
-const device_type ISA16_SVGA_CIRRUS_GD542X = device_creator<isa16_svga_cirrus_gd542x_device>;
+DEFINE_DEVICE_TYPE(ISA16_SVGA_CIRRUS, isa16_svga_cirrus_device, "dm_clgd5430", "Diamond Speedstar Pro SE ISA Graphics Card (BIOS v1.00)")
+DEFINE_DEVICE_TYPE(ISA16_SVGA_CIRRUS_GD542X, isa16_svga_cirrus_gd542x_device, "clgd542x", "Generic Cirrus Logic CD542 Graphics Card (BIOS v1.20)")
static MACHINE_CONFIG_FRAGMENT( vga_cirrus )
MCFG_SCREEN_ADD("screen", RASTER)
@@ -63,8 +63,9 @@ const tiny_rom_entry *isa16_svga_cirrus_device::device_rom_region() const
//-------------------------------------------------
isa16_svga_cirrus_device::isa16_svga_cirrus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_SVGA_CIRRUS, "Diamond Speedstar Pro SE ISA Graphics Card (BIOS v1.00)", tag, owner, clock, "dm_clgd5430", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA16_SVGA_CIRRUS, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr)
{
}
@@ -149,8 +150,9 @@ const tiny_rom_entry *isa16_svga_cirrus_gd542x_device::device_rom_region() const
//-------------------------------------------------
isa16_svga_cirrus_gd542x_device::isa16_svga_cirrus_gd542x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_SVGA_CIRRUS_GD542X, "Generic Cirrus Logic GD542x Graphics Card (BIOS v1.20)", tag, owner, clock, "clgd542x", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA16_SVGA_CIRRUS_GD542X, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr)
{
}
diff --git a/src/devices/bus/isa/svga_cirrus.h b/src/devices/bus/isa/svga_cirrus.h
index 8207b24252a..3d5f3f5678d 100644
--- a/src/devices/bus/isa/svga_cirrus.h
+++ b/src/devices/bus/isa/svga_cirrus.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
-#pragma once
+#ifndef MAME_BUS_ISA_SVGA_CIRRUS_H
+#define MAME_BUS_ISA_SVGA_CIRRUS_H
-#ifndef __ISA_SVGA_CIRRUS_H__
-#define __ISA_SVGA_CIRRUS_H__
+#pragma once
#include "isa.h"
#include "video/clgd542x.h"
@@ -17,20 +17,20 @@ class isa16_svga_cirrus_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_svga_cirrus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_svga_cirrus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- cirrus_gd5430_device *m_vga;
+ cirrus_gd5430_device *m_vga;
};
class isa16_svga_cirrus_gd542x_device :
@@ -38,25 +38,25 @@ class isa16_svga_cirrus_gd542x_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_svga_cirrus_gd542x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_svga_cirrus_gd542x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- cirrus_gd5428_device *m_vga;
+ cirrus_gd5428_device *m_vga;
};
// device type definition
-extern const device_type ISA16_SVGA_CIRRUS;
-extern const device_type ISA16_SVGA_CIRRUS_GD542X;
+DECLARE_DEVICE_TYPE(ISA16_SVGA_CIRRUS, isa16_svga_cirrus_device)
+DECLARE_DEVICE_TYPE(ISA16_SVGA_CIRRUS_GD542X, isa16_svga_cirrus_gd542x_device)
-#endif /* __ISA_VGA_H__ */
+#endif // MAME_BUS_ISA_SVGA_CIRRUS_H
diff --git a/src/devices/bus/isa/svga_s3.cpp b/src/devices/bus/isa/svga_s3.cpp
index 1414022b132..cbb74d20a76 100644
--- a/src/devices/bus/isa/svga_s3.cpp
+++ b/src/devices/bus/isa/svga_s3.cpp
@@ -33,7 +33,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_SVGA_S3 = device_creator<isa16_svga_s3_device>;
+DEFINE_DEVICE_TYPE(ISA16_SVGA_S3, isa16_svga_s3_device, "s3_764", "Number Nine 9FX Vision 330 (S3 764)")
static MACHINE_CONFIG_FRAGMENT( vga_s3 )
@@ -74,8 +74,9 @@ const tiny_rom_entry *isa16_svga_s3_device::device_rom_region() const
//-------------------------------------------------
isa16_svga_s3_device::isa16_svga_s3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_SVGA_S3, "Number Nine 9FX Vision 330 (S3 764) Graphics Card", tag, owner, clock, "s3_764", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr), m_8514(nullptr)
+ device_t(mconfig, ISA16_SVGA_S3, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr), m_8514(nullptr)
{
}
@@ -145,7 +146,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_S3VIRGE = device_creator<isa16_s3virge_device>;
+DEFINE_DEVICE_TYPE(ISA16_S3VIRGE, isa16_s3virge_device, "s3virge", "S3 ViRGE Graphics Card")
static MACHINE_CONFIG_FRAGMENT( vga_s3virge )
@@ -186,8 +187,9 @@ const tiny_rom_entry *isa16_s3virge_device::device_rom_region() const
//-------------------------------------------------
isa16_s3virge_device::isa16_s3virge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_S3VIRGE, "S3 ViRGE Graphics Card", tag, owner, clock, "s3virge", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA16_S3VIRGE, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr)
{
}
@@ -242,7 +244,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_S3VIRGEDX = device_creator<isa16_s3virgedx_device>;
+DEFINE_DEVICE_TYPE(ISA16_S3VIRGEDX, isa16_s3virgedx_device, "s3virgedx", "S3 ViRGE/DX Graphics Card")
//-------------------------------------------------
@@ -273,8 +275,9 @@ const tiny_rom_entry *isa16_s3virgedx_device::device_rom_region() const
//-------------------------------------------------
isa16_s3virgedx_device::isa16_s3virgedx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_S3VIRGEDX, "S3 ViRGE/DX Graphics Card", tag, owner, clock, "s3virgedx", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA16_S3VIRGEDX, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr)
{
}
@@ -330,7 +333,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_DMS3D2KPRO = device_creator<isa16_stealth3d2kpro_device>;
+DEFINE_DEVICE_TYPE(ISA16_DMS3D2KPRO, isa16_stealth3d2kpro_device, "dms3d2kp", "Diamond Stealth 3D 2000 Pro")
//-------------------------------------------------
@@ -361,8 +364,9 @@ const tiny_rom_entry *isa16_stealth3d2kpro_device::device_rom_region() const
//-------------------------------------------------
isa16_stealth3d2kpro_device::isa16_stealth3d2kpro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_DMS3D2KPRO, "Diamond Stealth 3D 2000 Pro", tag, owner, clock, "dms3d2kp", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA16_DMS3D2KPRO, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr)
{
}
diff --git a/src/devices/bus/isa/svga_s3.h b/src/devices/bus/isa/svga_s3.h
index 0bd4cfc48e3..fbfba9bd35b 100644
--- a/src/devices/bus/isa/svga_s3.h
+++ b/src/devices/bus/isa/svga_s3.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
-#pragma once
+#ifndef MAME_BUS_ISA_SVGA_S3_H
+#define MAME_BUS_ISA_SVGA_S3_H
-#ifndef __ISA_SVGA_S3_H__
-#define __ISA_SVGA_S3_H__
+#pragma once
#include "isa.h"
#include "video/pc_vga.h"
@@ -20,21 +20,21 @@ class isa16_svga_s3_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_svga_s3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_svga_s3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- s3_vga_device *m_vga;
- ibm8514a_device *m_8514;
+ s3_vga_device *m_vga;
+ ibm8514a_device *m_8514;
};
class isa16_s3virge_device :
@@ -42,20 +42,20 @@ class isa16_s3virge_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_s3virge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_s3virge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- s3virge_vga_device *m_vga;
+ s3virge_vga_device *m_vga;
};
class isa16_s3virgedx_device :
@@ -63,20 +63,20 @@ class isa16_s3virgedx_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_s3virgedx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_s3virgedx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- s3virgedx_vga_device *m_vga;
+ s3virgedx_vga_device *m_vga;
};
class isa16_stealth3d2kpro_device :
@@ -84,27 +84,27 @@ class isa16_stealth3d2kpro_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_stealth3d2kpro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_stealth3d2kpro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- s3virgedx_vga_device *m_vga;
+ s3virgedx_vga_device *m_vga;
};
// device type definition
-extern const device_type ISA16_SVGA_S3;
-extern const device_type ISA16_S3VIRGE;
-extern const device_type ISA16_S3VIRGEDX;
-extern const device_type ISA16_DMS3D2KPRO;
+DECLARE_DEVICE_TYPE(ISA16_SVGA_S3, isa16_svga_s3_device)
+DECLARE_DEVICE_TYPE(ISA16_S3VIRGE, isa16_s3virge_device)
+DECLARE_DEVICE_TYPE(ISA16_S3VIRGEDX, isa16_s3virgedx_device)
+DECLARE_DEVICE_TYPE(ISA16_DMS3D2KPRO, isa16_stealth3d2kpro_device)
-#endif /* __ISA_VGA_H__ */
+#endif // MAME_BUS_ISA_SVGA_S3_H
diff --git a/src/devices/bus/isa/svga_trident.cpp b/src/devices/bus/isa/svga_trident.cpp
index 505737ec8e6..1c7e8cf7074 100644
--- a/src/devices/bus/isa/svga_trident.cpp
+++ b/src/devices/bus/isa/svga_trident.cpp
@@ -23,7 +23,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_SVGA_TGUI9680 = device_creator<isa16_svga_tgui9680_device>;
+DEFINE_DEVICE_TYPE(ISA16_SVGA_TGUI9680, isa16_svga_tgui9680_device, "igui9680", "Trident TGUI9680 Graphics Card (BIOS X5.5 (02) 02/13/96)")
static MACHINE_CONFIG_FRAGMENT( vga_trident )
@@ -64,8 +64,9 @@ const tiny_rom_entry *isa16_svga_tgui9680_device::device_rom_region() const
//-------------------------------------------------
isa16_svga_tgui9680_device::isa16_svga_tgui9680_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_SVGA_TGUI9680, "Trident TGUI9680 Graphics Card (BIOS X5.5 (02) 02/13/96)", tag, owner, clock, "tgui9680", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA16_SVGA_TGUI9680, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr)
{
}
diff --git a/src/devices/bus/isa/svga_trident.h b/src/devices/bus/isa/svga_trident.h
index 11885c0e048..7cfac58b4f6 100644
--- a/src/devices/bus/isa/svga_trident.h
+++ b/src/devices/bus/isa/svga_trident.h
@@ -6,8 +6,8 @@
* Created on: 6/09/2014
*/
-#ifndef SVGA_TRIDENT_H_
-#define SVGA_TRIDENT_H_
+#ifndef MAME_BUS_ISA_SVGA_TRIDENT_H
+#define MAME_BUS_ISA_SVGA_TRIDENT_H
#include "isa.h"
#include "video/pc_vga.h"
@@ -24,25 +24,25 @@ class isa16_svga_tgui9680_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_svga_tgui9680_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_svga_tgui9680_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- trident_vga_device *m_vga;
+ trident_vga_device *m_vga;
};
// device type definition
-extern const device_type ISA16_SVGA_TGUI9680;
+DECLARE_DEVICE_TYPE(ISA16_SVGA_TGUI9680, isa16_svga_tgui9680_device)
-#endif /* SVGA_TRIDENT_H_ */
+#endif // MAME_BUS_ISA_SVGA_TRIDENT_H
diff --git a/src/devices/bus/isa/svga_tseng.cpp b/src/devices/bus/isa/svga_tseng.cpp
index 8fa56a6c4ff..2fe25a14514 100644
--- a/src/devices/bus/isa/svga_tseng.cpp
+++ b/src/devices/bus/isa/svga_tseng.cpp
@@ -22,7 +22,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_SVGA_ET4K = device_creator<isa8_svga_et4k_device>;
+DEFINE_DEVICE_TYPE(ISA8_SVGA_ET4K, isa8_svga_et4k_device, "et4000", "SVGA Tseng ET4000 Graphics Card")
static MACHINE_CONFIG_FRAGMENT( vga_tseng )
@@ -63,8 +63,9 @@ const tiny_rom_entry *isa8_svga_et4k_device::device_rom_region() const
//-------------------------------------------------
isa8_svga_et4k_device::isa8_svga_et4k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_SVGA_ET4K, "SVGA Tseng ET4000 Graphics Card", tag, owner, clock, "et4000", __FILE__),
- device_isa8_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA8_SVGA_ET4K, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this),
+ m_vga(nullptr)
{
}
diff --git a/src/devices/bus/isa/svga_tseng.h b/src/devices/bus/isa/svga_tseng.h
index 8c39db16fdf..6f430af17d6 100644
--- a/src/devices/bus/isa/svga_tseng.h
+++ b/src/devices/bus/isa/svga_tseng.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
-#pragma once
+#ifndef MAME_BUS_ISA_SVGA_TSENG_H
+#define MAME_BUS_ISA_SVGA_TSENG_H
-#ifndef __ISA_SVGA_ET4K_H__
-#define __ISA_SVGA_ET4K_H__
+#pragma once
#include "isa.h"
#include "video/pc_vga.h"
@@ -19,24 +19,24 @@ class isa8_svga_et4k_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_svga_et4k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa8_svga_et4k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- tseng_vga_device *m_vga;
+ tseng_vga_device *m_vga;
};
// device type definition
-extern const device_type ISA8_SVGA_ET4K;
+DECLARE_DEVICE_TYPE(ISA8_SVGA_ET4K, isa8_svga_et4k_device)
-#endif /* __ISA_SVGA_ET4K_H__ */
+#endif // MAME_BUS_ISA_SVGA_TSENG_H
diff --git a/src/devices/bus/isa/trident.cpp b/src/devices/bus/isa/trident.cpp
index 72ff1f21fbd..287ef49b40a 100644
--- a/src/devices/bus/isa/trident.cpp
+++ b/src/devices/bus/isa/trident.cpp
@@ -15,27 +15,27 @@
#include "screen.h"
-const device_type TRIDENT_VGA = device_creator<tgui9860_device>;
-const device_type TVGA9000_VGA = device_creator<tvga9000_device>;
+DEFINE_DEVICE_TYPE(TRIDENT_VGA, tgui9860_device, "trident_vga", "Trident TGUI9860")
+DEFINE_DEVICE_TYPE(TVGA9000_VGA, tvga9000_device, "tvga9000_vga", "Trident TVGA9000")
#define CRTC_PORT_ADDR ((vga.miscellaneous_output&1)?0x3d0:0x3b0)
#define LOG (1)
#define LOG_ACCEL (1)
-trident_vga_device::trident_vga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : svga_device(mconfig, type, name, tag, owner, clock, shortname, source)
+trident_vga_device::trident_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : svga_device(mconfig, type, tag, owner, clock)
{
}
tgui9860_device::tgui9860_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : trident_vga_device(mconfig, TRIDENT_VGA, "Trident TGUI9680", tag, owner, clock, "trident_vga", __FILE__)
+ : trident_vga_device(mconfig, TRIDENT_VGA, tag, owner, clock)
{
m_version = 0xd3; // 0xd3 identifies at TGUI9660XGi (set to 0xe3 to identify at TGUI9440AGi)
}
tvga9000_device::tvga9000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : trident_vga_device(mconfig, TVGA9000_VGA, "Trident TVGA9000", tag, owner, clock, "tvga9000_vga", __FILE__)
+ : trident_vga_device(mconfig, TVGA9000_VGA, tag, owner, clock)
{
m_version = 0x43;
}
diff --git a/src/devices/bus/isa/trident.h b/src/devices/bus/isa/trident.h
index 63ef51aa36a..eadd479f14c 100644
--- a/src/devices/bus/isa/trident.h
+++ b/src/devices/bus/isa/trident.h
@@ -5,8 +5,10 @@
*
*/
-#ifndef TRIDENT_H_
-#define TRIDENT_H_
+#ifndef MAME_BUS_ISA_TRIDENT_H
+#define MAME_BUS_ISA_TRIDENT_H
+
+#pragma once
#include "video/pc_vga.h"
@@ -15,9 +17,6 @@
class trident_vga_device : public svga_device
{
public:
- // construction/destruction
- trident_vga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
virtual READ8_MEMBER(port_03c0_r) override;
virtual WRITE8_MEMBER(port_03c0_w) override;
virtual READ8_MEMBER(port_03d0_r) override;
@@ -38,6 +37,9 @@ public:
virtual uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) override;
protected:
+ // construction/destruction
+ trident_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -160,7 +162,7 @@ public:
};
// device type definition
-extern const device_type TRIDENT_VGA;
-extern const device_type TVGA9000_VGA;
+DECLARE_DEVICE_TYPE(TRIDENT_VGA, tgui9860_device)
+DECLARE_DEVICE_TYPE(TVGA9000_VGA, tvga9000_device)
-#endif /* TRIDENT_H_ */
+#endif // MAME_BUS_ISA_TRIDENT_H
diff --git a/src/devices/bus/isa/vga.cpp b/src/devices/bus/isa/vga.cpp
index 24c7d457958..d0e49ce0d56 100644
--- a/src/devices/bus/isa/vga.cpp
+++ b/src/devices/bus/isa/vga.cpp
@@ -19,7 +19,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_VGA = device_creator<isa8_vga_device>;
+DEFINE_DEVICE_TYPE(ISA8_VGA, isa8_vga_device, "ibm_vga", "IBM VGA Graphics Card")
//-------------------------------------------------
@@ -50,8 +50,8 @@ const tiny_rom_entry *isa8_vga_device::device_rom_region() const
//-------------------------------------------------
isa8_vga_device::isa8_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA8_VGA, "IBM VGA Graphics Card", tag, owner, clock, "ibm_vga", __FILE__),
- device_isa8_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA8_VGA, tag, owner, clock),
+ device_isa8_card_interface(mconfig, *this), m_vga(nullptr)
{
}
diff --git a/src/devices/bus/isa/vga.h b/src/devices/bus/isa/vga.h
index 8baf7e0d2fc..3d306be8d6b 100644
--- a/src/devices/bus/isa/vga.h
+++ b/src/devices/bus/isa/vga.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
-#pragma once
+#ifndef MAME_BUS_ISA_VGA_H
+#define MAME_BUS_ISA_VGA_H
-#ifndef __ISA_VGA_H__
-#define __ISA_VGA_H__
+#pragma once
#include "isa.h"
#include "video/pc_vga.h"
@@ -19,24 +19,24 @@ class isa8_vga_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa8_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- vga_device *m_vga;
+ vga_device *m_vga;
};
// device type definition
-extern const device_type ISA8_VGA;
+DECLARE_DEVICE_TYPE(ISA8_VGA, isa8_vga_device)
-#endif /* __ISA_VGA_H__ */
+#endif // MAME_BUS_ISA_VGA_H
diff --git a/src/devices/bus/isa/vga_ati.cpp b/src/devices/bus/isa/vga_ati.cpp
index 3452f2eddf3..12a33581c77 100644
--- a/src/devices/bus/isa/vga_ati.cpp
+++ b/src/devices/bus/isa/vga_ati.cpp
@@ -68,9 +68,9 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA16_VGA_GFXULTRA = device_creator<isa16_vga_gfxultra_device>;
-const device_type ISA16_SVGA_GFXULTRAPRO = device_creator<isa16_vga_gfxultrapro_device>;
-const device_type ISA16_SVGA_MACH64 = device_creator<isa16_vga_mach64_device>;
+DEFINE_DEVICE_TYPE(ISA16_VGA_GFXULTRA, isa16_vga_gfxultra_device, "gfxulra", "ATi Graphics Ultra Card")
+DEFINE_DEVICE_TYPE(ISA16_SVGA_GFXULTRAPRO, isa16_vga_gfxultrapro_device, "gfxxultrp", "ATi Graphics Ultra Pro Card")
+DEFINE_DEVICE_TYPE(ISA16_SVGA_MACH64, isa16_vga_mach64_device, "mach64isa", "ATi mach64 Card")
static MACHINE_CONFIG_FRAGMENT( vga_ati )
MCFG_SCREEN_ADD("screen", RASTER)
@@ -150,20 +150,23 @@ const tiny_rom_entry *isa16_vga_mach64_device::device_rom_region() const
//-------------------------------------------------
isa16_vga_gfxultra_device::isa16_vga_gfxultra_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_VGA_GFXULTRA, "ATi Graphics Ultra Card", tag, owner, clock, "gfxultra", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr), m_8514(nullptr)
+ device_t(mconfig, ISA16_VGA_GFXULTRA, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr), m_8514(nullptr)
{
}
isa16_vga_gfxultrapro_device::isa16_vga_gfxultrapro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_SVGA_GFXULTRAPRO, "ATi Graphics Ultra Pro Card", tag, owner, clock, "gfxultrp", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA16_SVGA_GFXULTRAPRO, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr)
{
}
isa16_vga_mach64_device::isa16_vga_mach64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISA16_SVGA_MACH64, "ATi mach64 Card", tag, owner, clock, "mach64isa", __FILE__),
- device_isa16_card_interface(mconfig, *this), m_vga(nullptr)
+ device_t(mconfig, ISA16_SVGA_MACH64, tag, owner, clock),
+ device_isa16_card_interface(mconfig, *this),
+ m_vga(nullptr)
{
}
diff --git a/src/devices/bus/isa/vga_ati.h b/src/devices/bus/isa/vga_ati.h
index 1dee4d1e2d2..33cf8718e79 100644
--- a/src/devices/bus/isa/vga_ati.h
+++ b/src/devices/bus/isa/vga_ati.h
@@ -7,10 +7,10 @@
*
* Created on: 9/09/2012
*/
-#pragma once
+#ifndef MAME_BUS_ISA_VGA_ATI_H
+#define MAME_BUS_ISA_VGA_ATI_H
-#ifndef ISA_VGA_ATI_H_
-#define ISA_VGA_ATI_H_
+#pragma once
#include "isa.h"
#include "video/pc_vga.h"
@@ -27,21 +27,21 @@ class isa16_vga_gfxultra_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_vga_gfxultra_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_vga_gfxultra_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- ati_vga_device *m_vga;
- mach8_device *m_8514;
+ ati_vga_device *m_vga;
+ mach8_device *m_8514;
};
class isa16_vga_gfxultrapro_device :
@@ -49,20 +49,20 @@ class isa16_vga_gfxultrapro_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_vga_gfxultrapro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_vga_gfxultrapro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- mach32_device *m_vga;
+ mach32_device *m_vga;
};
class isa16_vga_mach64_device :
@@ -70,27 +70,27 @@ class isa16_vga_mach64_device :
public device_isa16_card_interface
{
public:
- // construction/destruction
- isa16_vga_mach64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa16_vga_mach64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ8_MEMBER(input_port_0_r);
+ DECLARE_READ8_MEMBER(input_port_0_r);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
- mach64_device *m_vga;
+ mach64_device *m_vga;
};
// device type definition
-extern const device_type ISA16_VGA_GFXULTRA;
-extern const device_type ISA16_SVGA_GFXULTRAPRO;
-extern const device_type ISA16_SVGA_MACH64;
+DECLARE_DEVICE_TYPE(ISA16_VGA_GFXULTRA, isa16_vga_gfxultra_device)
+DECLARE_DEVICE_TYPE(ISA16_SVGA_GFXULTRAPRO, isa16_vga_gfxultrapro_device)
+DECLARE_DEVICE_TYPE(ISA16_SVGA_MACH64, isa16_vga_mach64_device)
-#endif /* ISA_VGA_ATI_H_ */
+#endif // MAME_BUS_ISA_VGA_ATI_H
diff --git a/src/devices/bus/isa/wd1002a_wx1.cpp b/src/devices/bus/isa/wd1002a_wx1.cpp
index 4ce188fda51..2e86d3b0523 100644
--- a/src/devices/bus/isa/wd1002a_wx1.cpp
+++ b/src/devices/bus/isa/wd1002a_wx1.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ISA8_WD1002A_WX1 = device_creator<isa8_wd1002a_wx1_device>;
+DEFINE_DEVICE_TYPE(ISA8_WD1002A_WX1, isa8_wd1002a_wx1_device, "wd1002a_wx1", "WD1002A-WX1")
//-------------------------------------------------
@@ -47,8 +47,8 @@ const tiny_rom_entry *isa8_wd1002a_wx1_device::device_rom_region() const
//-------------------------------------------------
isa8_wd1002a_wx1_device::isa8_wd1002a_wx1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA8_WD1002A_WX1, "WD1002A-WX1", tag, owner, clock, "wd1002a_wx1", __FILE__),
- device_isa8_card_interface( mconfig, *this )
+ : device_t(mconfig, ISA8_WD1002A_WX1, tag, owner, clock)
+ , device_isa8_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/isa/wd1002a_wx1.h b/src/devices/bus/isa/wd1002a_wx1.h
index a58f75178d7..7a66db54dd5 100644
--- a/src/devices/bus/isa/wd1002a_wx1.h
+++ b/src/devices/bus/isa/wd1002a_wx1.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA_WD1002A_WX1_H
+#define MAME_BUS_ISA_WD1002A_WX1_H
-#ifndef __ISA_WD1002A_WX1__
-#define __ISA_WD1002A_WX1__
+#pragma once
#include "isa.h"
@@ -39,7 +39,7 @@ protected:
// device type definition
-extern const device_type ISA8_WD1002A_WX1;
+DECLARE_DEVICE_TYPE(ISA8_WD1002A_WX1, isa8_wd1002a_wx1_device)
-#endif
+#endif // MAME_BUS_ISA_WD1002A_WX1_H
diff --git a/src/devices/bus/isa/wdxt_gen.cpp b/src/devices/bus/isa/wdxt_gen.cpp
index daef4a36704..8831e42ca19 100644
--- a/src/devices/bus/isa/wdxt_gen.cpp
+++ b/src/devices/bus/isa/wdxt_gen.cpp
@@ -62,7 +62,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ISA8_WDXT_GEN = device_creator<wdxt_gen_device>;
+DEFINE_DEVICE_TYPE(ISA8_WDXT_GEN, wdxt_gen_device, "wdxt_gen", "Western Digital WDXT-GEN (Amstrad PC1512/1640)")
//-------------------------------------------------
@@ -193,11 +193,11 @@ machine_config_constructor wdxt_gen_device::device_mconfig_additions() const
//-------------------------------------------------
wdxt_gen_device::wdxt_gen_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA8_WDXT_GEN, "Western Digital WDXT-GEN (Amstrad PC1512/1640)", tag, owner, clock, "wdxt_gen", __FILE__),
- device_isa8_card_interface(mconfig, *this),
- m_maincpu(*this, WD1015_TAG),
- m_host(*this, WD11C00_17_TAG),
- m_hdc(*this, WD2010A_TAG)
+ : device_t(mconfig, ISA8_WDXT_GEN, tag, owner, clock)
+ , device_isa8_card_interface(mconfig, *this)
+ , m_maincpu(*this, WD1015_TAG)
+ , m_host(*this, WD11C00_17_TAG)
+ , m_hdc(*this, WD2010A_TAG)
{
}
diff --git a/src/devices/bus/isa/wdxt_gen.h b/src/devices/bus/isa/wdxt_gen.h
index 5a19cc8542c..cfced925737 100644
--- a/src/devices/bus/isa/wdxt_gen.h
+++ b/src/devices/bus/isa/wdxt_gen.h
@@ -13,14 +13,14 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISA8_WDXT_GEN_H
+#define MAME_BUS_ISA8_WDXT_GEN_H
-#ifndef __ISA8_WDXT_GEN__
-#define __ISA8_WDXT_GEN__
+#pragma once
-#include "cpu/mcs48/mcs48.h"
#include "isa.h"
+#include "cpu/mcs48/mcs48.h"
#include "machine/wd11c00_17.h"
#include "machine/wd2010.h"
#include "imagedev/harddriv.h"
@@ -78,6 +78,6 @@ private:
// device type definition
-extern const device_type ISA8_WDXT_GEN;
+DECLARE_DEVICE_TYPE(ISA8_WDXT_GEN, wdxt_gen_device)
-#endif
+#endif // MAME_BUS_ISA8_WDXT_GEN_H
diff --git a/src/devices/bus/isa/xsu_cards.cpp b/src/devices/bus/isa/xsu_cards.cpp
index f7fbc3f6d02..d8839ebd4d9 100644
--- a/src/devices/bus/isa/xsu_cards.cpp
+++ b/src/devices/bus/isa/xsu_cards.cpp
@@ -7,9 +7,29 @@
**********************************************************************/
#include "emu.h"
-#include "isa_cards.h"
#include "xsu_cards.h"
+#include "cga.h"
+
+// storage
+#include "mc1502_fdc.h"
+#include "p1_fdc.h"
+#include "p1_hdc.h"
+
+// misc
+#include "mc1502_rom.h"
+#include "p1_rom.h"
+#include "p1_sound.h"
+
+// non-native
+#include "com.h"
+#include "fdc.h"
+#include "hdc.h"
+#include "lpt.h"
+#include "mda.h"
+#include "xtide.h"
+
+
SLOT_INTERFACE_START( p1_isa8_cards )
SLOT_INTERFACE("rom", P1_ROM) // B003
SLOT_INTERFACE("fdc", P1_FDC) // B504
diff --git a/src/devices/bus/isa/xsu_cards.h b/src/devices/bus/isa/xsu_cards.h
index c2508c7108f..d8b98be154c 100644
--- a/src/devices/bus/isa/xsu_cards.h
+++ b/src/devices/bus/isa/xsu_cards.h
@@ -6,27 +6,11 @@
**********************************************************************/
-#pragma once
-
-#ifndef __XSU_CARDS_H__
-#define __XSU_CARDS_H__
-
+#ifndef MAME_BUS_ISA_XSU_CARDS_H
+#define MAME_BUS_ISA_XSU_CARDS_H
-#include "cga.h"
-// storage
-#include "mc1502_fdc.h"
-#include "p1_fdc.h"
-#include "p1_hdc.h"
-
-// misc
-#include "mc1502_rom.h"
-#include "p1_rom.h"
-#include "p1_sound.h"
+#pragma once
-// non-native
-#include "com.h"
-#include "xtide.h"
-#include "lpt.h"
// supported devices
SLOT_INTERFACE_EXTERN( p1_isa8_cards );
@@ -34,4 +18,4 @@ SLOT_INTERFACE_EXTERN( mc1502_isa8_cards );
SLOT_INTERFACE_EXTERN( ec184x_isa8_cards );
SLOT_INTERFACE_EXTERN( iskr103x_isa8_cards );
-#endif // __XSU_CARDS_H__
+#endif // MAME_BUS_ISA_XSU_CARDS_H
diff --git a/src/devices/bus/isa/xtide.cpp b/src/devices/bus/isa/xtide.cpp
index a0e339be11e..6ea02ee3c77 100644
--- a/src/devices/bus/isa/xtide.cpp
+++ b/src/devices/bus/isa/xtide.cpp
@@ -262,7 +262,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type ISA8_XTIDE = device_creator<xtide_device>;
+DEFINE_DEVICE_TYPE(ISA8_XTIDE, xtide_device, "xtide", "XT-IDE Fixed Drive Adapter")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -301,7 +301,7 @@ const tiny_rom_entry *xtide_device::device_rom_region() const
//-------------------------------------------------
xtide_device::xtide_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ISA8_XTIDE, "XT-IDE Fixed Drive Adapter", tag, owner, clock, "isa8_xtide", __FILE__),
+ : device_t(mconfig, ISA8_XTIDE, tag, owner, clock),
device_isa8_card_interface( mconfig, *this ),
m_ata(*this, "ata"),
m_eeprom(*this, "eeprom"), m_irq_number(0), m_d8_d15_latch(0)
diff --git a/src/devices/bus/isa/xtide.h b/src/devices/bus/isa/xtide.h
index 0fc61a0d4e2..b78d7bd6229 100644
--- a/src/devices/bus/isa/xtide.h
+++ b/src/devices/bus/isa/xtide.h
@@ -1,20 +1,19 @@
// license:BSD-3-Clause
// copyright-holders:Phill Harvey-Smith
-#pragma once
+#ifndef MAME_BUS_ISA_XTIDE_H
+#define MAME_BUS_ISA_XTIDE_H
-#ifndef __XTIDE_H__
-#define __XTIDE_H__
+#pragma once
+#include "isa.h"
#include "machine/ataintf.h"
#include "machine/eeprompar.h"
-#include "isa.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-class xtide_device : public device_t,
- public device_isa8_card_interface
+class xtide_device : public device_t, public device_isa8_card_interface
{
public:
// construction/destruction
@@ -33,7 +32,6 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual void device_config_complete() override { m_shortname = "xtide"; }
private:
required_device<ata_interface_device> m_ata;
@@ -45,6 +43,6 @@ private:
// device type definition
-extern const device_type ISA8_XTIDE;
+DECLARE_DEVICE_TYPE(ISA8_XTIDE, xtide_device)
-#endif /* __XTIDE__ */
+#endif // MAME_BUS_ISA_XTIDE_H
diff --git a/src/devices/bus/isbx/compis_fdc.cpp b/src/devices/bus/isbx/compis_fdc.cpp
index 6f06976e925..91fedb13fa6 100644
--- a/src/devices/bus/isbx/compis_fdc.cpp
+++ b/src/devices/bus/isbx/compis_fdc.cpp
@@ -22,7 +22,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type COMPIS_FDC = device_creator<compis_fdc_device>;
+DEFINE_DEVICE_TYPE(COMPIS_FDC, compis_fdc_device, "compis_fdc", "Compis FDC")
//-------------------------------------------------
@@ -83,7 +83,7 @@ machine_config_constructor compis_fdc_device::device_mconfig_additions() const
//-------------------------------------------------
compis_fdc_device::compis_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, COMPIS_FDC, "Compis FDC", tag, owner, clock, "compis_fdc", __FILE__),
+ device_t(mconfig, COMPIS_FDC, tag, owner, clock),
device_isbx_card_interface(mconfig, *this),
m_fdc(*this, I8272_TAG),
m_floppy0(*this, I8272_TAG":0"),
diff --git a/src/devices/bus/isbx/compis_fdc.h b/src/devices/bus/isbx/compis_fdc.h
index 0fccc9e9d80..2caf59513d3 100644
--- a/src/devices/bus/isbx/compis_fdc.h
+++ b/src/devices/bus/isbx/compis_fdc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISBX_COMPIS_FDC_H
+#define MAME_BUS_ISBX_COMPIS_FDC_H
-#ifndef __COMPIS_FDC__
-#define __COMPIS_FDC__
+#pragma once
#include "isbx.h"
#include "formats/cpis_dsk.h"
@@ -58,7 +58,7 @@ private:
// device type definition
-extern const device_type COMPIS_FDC;
+DECLARE_DEVICE_TYPE(COMPIS_FDC, compis_fdc_device)
-#endif
+#endif // MAME_BUS_ISBX_COMPIS_FDC_H
diff --git a/src/devices/bus/isbx/isbc_218a.cpp b/src/devices/bus/isbx/isbc_218a.cpp
index 4537dbd6261..e174b734f00 100644
--- a/src/devices/bus/isbx/isbc_218a.cpp
+++ b/src/devices/bus/isbx/isbc_218a.cpp
@@ -22,7 +22,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ISBC_218A = device_creator<isbc_218a_device>;
+DEFINE_DEVICE_TYPE(ISBC_218A, isbc_218a_device, "isbc_218a", "ISBX 218a for ISBC")
//-------------------------------------------------
@@ -82,7 +82,7 @@ machine_config_constructor isbc_218a_device::device_mconfig_additions() const
//-------------------------------------------------
isbc_218a_device::isbc_218a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISBC_218A, "ISBX 218a for ISBC", tag, owner, clock, "isbc_218a", __FILE__),
+ device_t(mconfig, ISBC_218A, tag, owner, clock),
device_isbx_card_interface(mconfig, *this),
m_fdc(*this, I8272_TAG),
m_floppy0(*this, I8272_TAG":0"), m_reset(false), m_motor(false)
diff --git a/src/devices/bus/isbx/isbc_218a.h b/src/devices/bus/isbx/isbc_218a.h
index aa12b81aa84..f22391a4c4e 100644
--- a/src/devices/bus/isbx/isbc_218a.h
+++ b/src/devices/bus/isbx/isbc_218a.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISBX_ISBC_218A_H
+#define MAME_BUS_ISBX_ISBC_218A_H
-#ifndef __ISBC_218A__
-#define __ISBC_218A__
+#pragma once
#include "isbx.h"
#include "formats/pc_dsk.h"
@@ -60,7 +60,7 @@ private:
// device type definition
-extern const device_type ISBC_218A;
+DECLARE_DEVICE_TYPE(ISBC_218A, isbc_218a_device)
-#endif
+#endif // MAME_BUS_ISBX_ISBC_218A_H
diff --git a/src/devices/bus/isbx/isbx.cpp b/src/devices/bus/isbx/isbx.cpp
index 6746969a5b7..ce658e6b1d3 100644
--- a/src/devices/bus/isbx/isbx.cpp
+++ b/src/devices/bus/isbx/isbx.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type ISBX_SLOT = device_creator<isbx_slot_device>;
+DEFINE_DEVICE_TYPE(ISBX_SLOT, isbx_slot_device, "isbx_slot", "iSBX bus slot")
@@ -39,7 +39,7 @@ device_isbx_card_interface::device_isbx_card_interface(const machine_config &mco
//-------------------------------------------------
isbx_slot_device::isbx_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ISBX_SLOT, "iSBX bus slot", tag, owner, clock, "isbx_slot", __FILE__),
+ device_t(mconfig, ISBX_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_write_mintr0(*this),
m_write_mintr1(*this),
diff --git a/src/devices/bus/isbx/isbx.h b/src/devices/bus/isbx/isbx.h
index 69e80b1df52..3cd74178228 100644
--- a/src/devices/bus/isbx/isbx.h
+++ b/src/devices/bus/isbx/isbx.h
@@ -31,10 +31,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_ISBX_ISBX_SLOT_H
+#define MAME_BUS_ISBX_ISBX_SLOT_H
-#ifndef __ISBX_SLOT__
-#define __ISBX_SLOT__
+#pragma once
@@ -73,9 +73,6 @@ class isbx_slot_device;
class device_isbx_card_interface : public device_slot_card_interface
{
public:
- // construction/destruction
- device_isbx_card_interface(const machine_config &mconfig, device_t &device);
-
virtual uint8_t mcs0_r(address_space &space, offs_t offset) { return 0xff; }
virtual void mcs0_w(address_space &space, offs_t offset, uint8_t data) { }
virtual uint8_t mcs1_r(address_space &space, offs_t offset) { return 0xff; }
@@ -90,6 +87,9 @@ public:
virtual void mclk_w(int state) { }
protected:
+ // construction/destruction
+ device_isbx_card_interface(const machine_config &mconfig, device_t &device);
+
isbx_slot_device *m_slot;
};
@@ -103,10 +103,10 @@ public:
// construction/destruction
isbx_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _mintr0> void set_mintr0_callback(_mintr0 mintr0) { m_write_mintr0.set_callback(mintr0); }
- template<class _mintr1> void set_mintr1_callback(_mintr1 mintr1) { m_write_mintr1.set_callback(mintr1); }
- template<class _mdrqt> void set_mdrqt_callback(_mdrqt mdrqt) { m_write_mdrqt.set_callback(mdrqt); }
- template<class _mwait> void set_mwait_callback(_mwait mwait) { m_write_mwait.set_callback(mwait); }
+ template <class Object> void set_mintr0_callback(Object &&cb) { m_write_mintr0.set_callback(std::forward<Object>(cb)); }
+ template <class Object> void set_mintr1_callback(Object &&cb) { m_write_mintr1.set_callback(std::forward<Object>(cb)); }
+ template <class Object> void set_mdrqt_callback(Object &&cb) { m_write_mdrqt.set_callback(std::forward<Object>(cb)); }
+ template <class Object> void set_mwait_callback(Object &&cb) { m_write_mwait.set_callback(std::forward<Object>(cb)); }
// computer interface
DECLARE_READ8_MEMBER( mcs0_r ) { return m_card ? m_card->mcs0_r(space, offset) : 0xff; }
@@ -144,11 +144,10 @@ protected:
// device type definition
-extern const device_type ISBX_SLOT;
+DECLARE_DEVICE_TYPE(ISBX_SLOT, isbx_slot_device)
SLOT_INTERFACE_EXTERN( isbx_cards );
-
-#endif
+#endif // MAME_BUS_ISBX_ISBX_SLOT_H
diff --git a/src/devices/bus/kc/d002.cpp b/src/devices/bus/kc/d002.cpp
index d36ada24b53..ac3928acd6e 100644
--- a/src/devices/bus/kc/d002.cpp
+++ b/src/devices/bus/kc/d002.cpp
@@ -11,6 +11,11 @@
#include "emu.h"
#include "d002.h"
+#include "ram.h"
+#include "rom.h"
+#include "d004.h"
+
+
/***************************************************************************
IMPLEMENTATION
***************************************************************************/
@@ -98,7 +103,7 @@ MACHINE_CONFIG_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type KC_D002 = device_creator<kc_d002_device>;
+DEFINE_DEVICE_TYPE(KC_D002, kc_d002_device, "kc_d002", "D002 Bus Driver")
//**************************************************************************
// LIVE DEVICE
@@ -109,9 +114,11 @@ const device_type KC_D002 = device_creator<kc_d002_device>;
//-------------------------------------------------
kc_d002_device::kc_d002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, KC_D002, "D002 Bus Driver", tag, owner, clock, "kc_d002", __FILE__),
- device_kcexp_interface( mconfig, *this ), m_slot(nullptr)
- {
+ : device_t(mconfig, KC_D002, tag, owner, clock)
+ , device_kcexp_interface(mconfig, *this)
+ , m_slot(nullptr)
+ , m_expansions(*this, { "m0", "m4", "m8", "mc", "exp" })
+{
}
//-------------------------------------------------
@@ -121,12 +128,6 @@ kc_d002_device::kc_d002_device(const machine_config &mconfig, const char *tag, d
void kc_d002_device::device_start()
{
m_slot = dynamic_cast<kcexp_slot_device *>(owner());
-
- m_expansions[0] = downcast<kcexp_slot_device *>(subdevice("m0"));
- m_expansions[1] = downcast<kcexp_slot_device *>(subdevice("m4"));
- m_expansions[2] = downcast<kcexp_slot_device *>(subdevice("m8"));
- m_expansions[3] = downcast<kcexp_slot_device *>(subdevice("mc"));
- m_expansions[4] = downcast<kcexp_slot_device *>(subdevice("exp"));
}
//-------------------------------------------------
diff --git a/src/devices/bus/kc/d002.h b/src/devices/bus/kc/d002.h
index 3a93ee8564c..48bd97336b2 100644
--- a/src/devices/bus/kc/d002.h
+++ b/src/devices/bus/kc/d002.h
@@ -1,14 +1,11 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_KC_D002_H
+#define MAME_BUS_KC_D002_H
-#ifndef __KC_D002_H__
-#define __KC_D002_H__
+#pragma once
#include "kc.h"
-#include "ram.h"
-#include "rom.h"
-#include "d004.h"
//**************************************************************************
// TYPE DEFINITIONS
@@ -49,11 +46,11 @@ private:
kcexp_slot_device *m_slot;
// internal state
- kcexp_slot_device *m_expansions[5];
+ required_device_array<kcexp_slot_device, 5> m_expansions;
};
// device type definition
-extern const device_type KC_D002;
+DECLARE_DEVICE_TYPE(KC_D002, kc_d002_device)
-#endif /* __KC_D002_H__ */
+#endif // MAME_BUS_KC_D002_H
diff --git a/src/devices/bus/kc/d004.cpp b/src/devices/bus/kc/d004.cpp
index 2afd3ca0422..dafee6a6f4f 100644
--- a/src/devices/bus/kc/d004.cpp
+++ b/src/devices/bus/kc/d004.cpp
@@ -117,8 +117,8 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type KC_D004 = device_creator<kc_d004_device>;
-const device_type KC_D004_GIDE = device_creator<kc_d004_gide_device>;
+DEFINE_DEVICE_TYPE(KC_D004, kc_d004_device, "kc_d004", "D004 Floppy Disk Interface")
+DEFINE_DEVICE_TYPE(KC_D004_GIDE, kc_d004_gide_device, "kc_d004_gide", "D004 Floppy Disk + GIDE Interface")
//**************************************************************************
// LIVE DEVICE
@@ -129,21 +129,22 @@ const device_type KC_D004_GIDE = device_creator<kc_d004_gide_device>;
//-------------------------------------------------
kc_d004_device::kc_d004_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : kc_d004_device(mconfig, KC_D004, "D004 Floppy Disk Interface", tag, owner, clock, "kc_d004", __FILE__)
+ : kc_d004_device(mconfig, KC_D004, tag, owner, clock)
{
}
-kc_d004_device::kc_d004_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_kcexp_interface( mconfig, *this ),
- m_cpu(*this, Z80_TAG),
- m_fdc(*this, UPD765_TAG),
- m_floppy0(*this, UPD765_TAG ":0"),
- m_floppy1(*this, UPD765_TAG ":1"),
- m_floppy2(*this, UPD765_TAG ":2"),
- m_floppy3(*this, UPD765_TAG ":3"),
- m_koppel_ram(*this, "koppelram"), m_reset_timer(nullptr), m_rom(nullptr), m_rom_base(0), m_enabled(0), m_connected(0), m_floppy(nullptr)
- {
+kc_d004_device::kc_d004_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock),
+ device_kcexp_interface( mconfig, *this ),
+ m_cpu(*this, Z80_TAG),
+ m_fdc(*this, UPD765_TAG),
+ m_floppy0(*this, UPD765_TAG ":0"),
+ m_floppy1(*this, UPD765_TAG ":1"),
+ m_floppy2(*this, UPD765_TAG ":2"),
+ m_floppy3(*this, UPD765_TAG ":3"),
+ m_koppel_ram(*this, "koppelram"),
+ m_reset_timer(nullptr), m_rom(nullptr), m_rom_base(0), m_enabled(0), m_connected(0), m_floppy(nullptr)
+{
}
//-------------------------------------------------
@@ -375,9 +376,9 @@ WRITE_LINE_MEMBER(kc_d004_device::fdc_irq)
//-------------------------------------------------
kc_d004_gide_device::kc_d004_gide_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : kc_d004_device(mconfig, KC_D004_GIDE, "D004 Floppy Disk + GIDE Interface", tag, owner, clock, "kc_d004gide", __FILE__),
- m_ata(*this, ATA_TAG), m_ata_data(0), m_lh(0)
- {
+ : kc_d004_device(mconfig, KC_D004_GIDE, tag, owner, clock),
+ m_ata(*this, ATA_TAG), m_ata_data(0), m_lh(0)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/kc/d004.h b/src/devices/bus/kc/d004.h
index 521289a076d..bbac3463866 100644
--- a/src/devices/bus/kc/d004.h
+++ b/src/devices/bus/kc/d004.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_KC_D004_H
+#define MAME_BUS_KC_D004_H
-#ifndef __KC_D004_H__
-#define __KC_D004_H__
+#pragma once
#include "kc.h"
#include "machine/z80ctc.h"
@@ -26,7 +26,6 @@ class kc_d004_device :
public:
// construction/destruction
kc_d004_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- kc_d004_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -34,7 +33,15 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
+ DECLARE_READ8_MEMBER(hw_input_gate_r);
+ DECLARE_WRITE8_MEMBER(fdd_select_w);
+ DECLARE_WRITE8_MEMBER(hw_terminal_count_w);
+
+ DECLARE_WRITE_LINE_MEMBER( fdc_irq );
+
protected:
+ kc_d004_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -47,13 +54,6 @@ protected:
virtual void io_read(offs_t offset, uint8_t &data) override;
virtual void io_write(offs_t offset, uint8_t data) override;
-public:
- DECLARE_READ8_MEMBER(hw_input_gate_r);
- DECLARE_WRITE8_MEMBER(fdd_select_w);
- DECLARE_WRITE8_MEMBER(hw_terminal_count_w);
-
- DECLARE_WRITE_LINE_MEMBER( fdc_irq );
-
private:
static const device_timer_id TIMER_RESET = 0;
@@ -91,14 +91,13 @@ public:
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
+ DECLARE_READ8_MEMBER(gide_r);
+ DECLARE_WRITE8_MEMBER(gide_w);
+
protected:
// device-level overrides
virtual void device_reset() override;
-public:
- DECLARE_READ8_MEMBER(gide_r);
- DECLARE_WRITE8_MEMBER(gide_w);
-
private:
required_device<ata_interface_device> m_ata;
@@ -107,7 +106,7 @@ private:
};
// device type definition
-extern const device_type KC_D004;
-extern const device_type KC_D004_GIDE;
+DECLARE_DEVICE_TYPE(KC_D004, kc_d004_device)
+DECLARE_DEVICE_TYPE(KC_D004_GIDE, kc_d004_gide_device)
-#endif /* __KC_D004_H__ */
+#endif // MAME_BUS_KC_D004_H
diff --git a/src/devices/bus/kc/kc.cpp b/src/devices/bus/kc/kc.cpp
index 8995aeaa39c..99da30bb188 100644
--- a/src/devices/bus/kc/kc.cpp
+++ b/src/devices/bus/kc/kc.cpp
@@ -118,8 +118,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type KCEXP_SLOT = device_creator<kcexp_slot_device>;
-const device_type KCCART_SLOT = device_creator<kccart_slot_device>;
+DEFINE_DEVICE_TYPE(KCEXP_SLOT, kcexp_slot_device, "kcexp_slot", "KC85 Expansion Slot")
+DEFINE_DEVICE_TYPE(KCCART_SLOT, kccart_slot_device, "kccart_slot", "KC85 Cartridge Slot")
//**************************************************************************
@@ -153,20 +153,17 @@ device_kcexp_interface::~device_kcexp_interface()
// kcexp_slot_device - constructor
//-------------------------------------------------
kcexp_slot_device::kcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, KCEXP_SLOT, "KC85 Expansion Slot", tag, owner, clock, "kcexp_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this),
- m_out_halt_cb(*this), m_cart(nullptr), m_next_slot_tag(nullptr), m_next_slot(nullptr)
+ kcexp_slot_device(mconfig, KCEXP_SLOT, tag, owner, clock)
{
}
-kcexp_slot_device::kcexp_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this),
- m_out_halt_cb(*this), m_cart(nullptr), m_next_slot_tag(nullptr), m_next_slot(nullptr)
+kcexp_slot_device::kcexp_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_out_irq_cb(*this),
+ m_out_nmi_cb(*this),
+ m_out_halt_cb(*this),
+ m_cart(nullptr), m_next_slot_tag(nullptr), m_next_slot(nullptr)
{
}
@@ -299,8 +296,8 @@ WRITE_LINE_MEMBER( kcexp_slot_device::meo_w )
// kccart_slot_device - constructor
//-------------------------------------------------
kccart_slot_device::kccart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- kcexp_slot_device(mconfig, KCCART_SLOT, "KC85 Cartridge Slot", tag, owner, clock, "kccart_slot", __FILE__),
- device_image_interface(mconfig, *this)
+ kcexp_slot_device(mconfig, KCCART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/kc/kc.h b/src/devices/bus/kc/kc.h
index 4408b6913c8..a058a80c9af 100644
--- a/src/devices/bus/kc/kc.h
+++ b/src/devices/bus/kc/kc.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef __KCEXP_H__
-#define __KCEXP_H__
+#ifndef MAME_BUS_KC_KC_H
+#define MAME_BUS_KC_KC_H
+
+#pragma once
#include "softlist_dev.h"
@@ -23,7 +25,6 @@ class device_kcexp_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_kcexp_interface(const machine_config &mconfig, device_t &device);
virtual ~device_kcexp_interface();
// reading and writing
@@ -34,7 +35,10 @@ public:
virtual void io_read(offs_t offset, uint8_t &data) { }
virtual void io_write(offs_t offset, uint8_t data) { }
virtual uint8_t* get_cart_base() { return nullptr; }
- virtual DECLARE_WRITE_LINE_MEMBER( mei_w ) { };
+ virtual DECLARE_WRITE_LINE_MEMBER( mei_w ) { }
+
+protected:
+ device_kcexp_interface(const machine_config &mconfig, device_t &device);
};
// ======================> kcexp_slot_device
@@ -45,15 +49,11 @@ class kcexp_slot_device : public device_t,
public:
// construction/destruction
kcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- kcexp_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
virtual ~kcexp_slot_device();
- template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<kcexp_slot_device &>(device).m_out_irq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<kcexp_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_halt_callback(device_t &device, _Object object) { return downcast<kcexp_slot_device &>(device).m_out_halt_cb.set_callback(object); }
-
- // device-level overrides
- virtual void device_start() override;
+ template <class Object> static devcb_base &set_out_irq_callback(device_t &device, Object &&cb) { return downcast<kcexp_slot_device &>(device).m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<kcexp_slot_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_halt_callback(device_t &device, Object &&cb) { return downcast<kcexp_slot_device &>(device).m_out_halt_cb.set_callback(std::forward<Object>(cb)); }
// inline configuration
static void static_set_next_slot(device_t &device, const char *next_module_tag);
@@ -72,6 +72,12 @@ public:
devcb_write_line m_out_nmi_cb;
devcb_write_line m_out_halt_cb;
+protected:
+ kcexp_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
device_kcexp_interface* m_cart;
const char* m_next_slot_tag;
@@ -106,8 +112,8 @@ public:
};
// device type definition
-extern const device_type KCEXP_SLOT;
-extern const device_type KCCART_SLOT;
+DECLARE_DEVICE_TYPE(KCEXP_SLOT, kcexp_slot_device)
+DECLARE_DEVICE_TYPE(KCCART_SLOT, kccart_slot_device)
/***************************************************************************
@@ -147,4 +153,4 @@ extern const device_type KCCART_SLOT;
// MCFG_DEVICE_ADD(_tag, KCCART_SLOT, 0)
// MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif /* __KCEXP_H__ */
+#endif // MAME_BUS_KC_KC_H
diff --git a/src/devices/bus/kc/ram.cpp b/src/devices/bus/kc/ram.cpp
index ed55a3a9784..5e69b397508 100644
--- a/src/devices/bus/kc/ram.cpp
+++ b/src/devices/bus/kc/ram.cpp
@@ -27,12 +27,12 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type KC_M011 = device_creator<kc_m011_device>;
-const device_type KC_M022 = device_creator<kc_m022_device>;
-const device_type KC_M032 = device_creator<kc_m032_device>;
-const device_type KC_M034 = device_creator<kc_m034_device>;
-const device_type KC_M035 = device_creator<kc_m035_device>;
-const device_type KC_M036 = device_creator<kc_m036_device>;
+DEFINE_DEVICE_TYPE(KC_M011, kc_m011_device, "kc_m011", "M011 64KB RAM")
+DEFINE_DEVICE_TYPE(KC_M022, kc_m022_device, "kc_m022", "M022 16KB RAM")
+DEFINE_DEVICE_TYPE(KC_M032, kc_m032_device, "kc_m032", "M032 256KB segmented RAM")
+DEFINE_DEVICE_TYPE(KC_M034, kc_m034_device, "kc_m034", "M034 512KB segmented RAM")
+DEFINE_DEVICE_TYPE(KC_M035, kc_m035_device, "kc_m035", "M035 1MB segmented RAM")
+DEFINE_DEVICE_TYPE(KC_M036, kc_m036_device, "kc_m036", "M036 128KB segmented RAM")
//**************************************************************************
// M011 64KB RAM
@@ -43,14 +43,14 @@ const device_type KC_M036 = device_creator<kc_m036_device>;
//-------------------------------------------------
kc_m011_device::kc_m011_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, KC_M011, "M011 64KB RAM", tag, owner, clock, "kc_m011", __FILE__),
- device_kcexp_interface( mconfig, *this ), m_slot(nullptr), m_mei(0), m_ram(nullptr), m_enabled(0), m_write_enabled(0), m_base(0), m_segment(0)
- {
+ : kc_m011_device(mconfig, KC_M011, tag, owner, clock)
+{
}
-kc_m011_device::kc_m011_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_kcexp_interface( mconfig, *this ), m_slot(nullptr), m_mei(0), m_ram(nullptr), m_enabled(0), m_write_enabled(0), m_base(0), m_segment(0)
+kc_m011_device::kc_m011_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_kcexp_interface(mconfig, *this)
+ , m_slot(nullptr), m_mei(0), m_ram(nullptr), m_enabled(0), m_write_enabled(0), m_base(0), m_segment(0)
{
}
@@ -148,7 +148,7 @@ WRITE_LINE_MEMBER( kc_m011_device::mei_w )
//-------------------------------------------------
kc_m022_device::kc_m022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : kc_m011_device(mconfig, KC_M022, "M022 16KB RAM", tag, owner, clock, "kc_m022", __FILE__)
+ : kc_m011_device(mconfig, KC_M022, tag, owner, clock)
{
}
@@ -193,7 +193,7 @@ void kc_m022_device::write(offs_t offset, uint8_t data)
//-------------------------------------------------
kc_m032_device::kc_m032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : kc_m011_device(mconfig, KC_M032, "M032 256KB segmented RAM", tag, owner, clock, "kc_m032", __FILE__)
+ : kc_m011_device(mconfig, KC_M032, tag, owner, clock)
{
}
@@ -262,7 +262,7 @@ void kc_m032_device::write(offs_t offset, uint8_t data)
//-------------------------------------------------
kc_m034_device::kc_m034_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : kc_m011_device(mconfig, KC_M034, "M034 512KB segmented RAM", tag, owner, clock, "kc_m034", __FILE__)
+ : kc_m011_device(mconfig, KC_M034, tag, owner, clock)
{
}
@@ -331,7 +331,7 @@ void kc_m034_device::write(offs_t offset, uint8_t data)
//-------------------------------------------------
kc_m035_device::kc_m035_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : kc_m011_device(mconfig, KC_M035, "M035 1MB segmented RAM", tag, owner, clock, "kc_m035", __FILE__)
+ : kc_m011_device(mconfig, KC_M035, tag, owner, clock)
{
}
@@ -389,7 +389,7 @@ void kc_m035_device::write(offs_t offset, uint8_t data)
//-------------------------------------------------
kc_m036_device::kc_m036_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : kc_m011_device(mconfig, KC_M036, "M036 128KB segmented RAM", tag, owner, clock, "kc_m036", __FILE__)
+ : kc_m011_device(mconfig, KC_M036, tag, owner, clock)
{
}
diff --git a/src/devices/bus/kc/ram.h b/src/devices/bus/kc/ram.h
index 97e735e64d2..823d32bdb31 100644
--- a/src/devices/bus/kc/ram.h
+++ b/src/devices/bus/kc/ram.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_KC_RAM_H
+#define MAME_BUS_KC_RAM_H
-#ifndef __KC_RAM_H__
-#define __KC_RAM_H__
+#pragma once
#include "kc.h"
@@ -20,9 +20,10 @@ class kc_m011_device :
public:
// construction/destruction
kc_m011_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- kc_m011_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
protected:
+ kc_m011_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -169,11 +170,11 @@ private:
};
// device type definition
-extern const device_type KC_M011;
-extern const device_type KC_M022;
-extern const device_type KC_M032;
-extern const device_type KC_M034;
-extern const device_type KC_M035;
-extern const device_type KC_M036;
-
-#endif /* __KC_RAM_H__ */
+DECLARE_DEVICE_TYPE(KC_M011, kc_m011_device)
+DECLARE_DEVICE_TYPE(KC_M022, kc_m022_device)
+DECLARE_DEVICE_TYPE(KC_M032, kc_m032_device)
+DECLARE_DEVICE_TYPE(KC_M034, kc_m034_device)
+DECLARE_DEVICE_TYPE(KC_M035, kc_m035_device)
+DECLARE_DEVICE_TYPE(KC_M036, kc_m036_device)
+
+#endif // MAME_BUS_KC_RAM_H
diff --git a/src/devices/bus/kc/rom.cpp b/src/devices/bus/kc/rom.cpp
index 027b7347398..eca6d6a1907 100644
--- a/src/devices/bus/kc/rom.cpp
+++ b/src/devices/bus/kc/rom.cpp
@@ -30,9 +30,9 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type KC_STANDARD = device_creator<kc_8k_device>;
-const device_type KC_M006 = device_creator<kc_m006_device>;
-const device_type KC_M033 = device_creator<kc_m033_device>;
+DEFINE_DEVICE_TYPE(KC_STANDARD, kc_8k_device, "kc_8k", "Standard 8K ROM module")
+DEFINE_DEVICE_TYPE(KC_M006, kc_m006_device, "kc_m006", "M006 BASIC")
+DEFINE_DEVICE_TYPE(KC_M033, kc_m033_device, "kc_m033", "M033 TypeStar")
//**************************************************************************
// LIVE DEVICE
@@ -43,15 +43,15 @@ const device_type KC_M033 = device_creator<kc_m033_device>;
//-------------------------------------------------
kc_8k_device::kc_8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, KC_STANDARD, "Standard 8K ROM module", tag, owner, clock, "kc_8k", __FILE__),
- device_kcexp_interface( mconfig, *this ), m_slot(nullptr), m_mei(0), m_rom(nullptr), m_enabled(0), m_base(0)
- {
+ : kc_8k_device(mconfig, KC_STANDARD, tag, owner, clock)
+{
}
-kc_8k_device::kc_8k_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_kcexp_interface( mconfig, *this ), m_slot(nullptr), m_mei(0), m_rom(nullptr), m_enabled(0), m_base(0)
- {
+kc_8k_device::kc_8k_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_kcexp_interface(mconfig, *this)
+ , m_slot(nullptr), m_mei(0), m_rom(nullptr), m_enabled(0), m_base(0)
+{
}
@@ -143,7 +143,7 @@ WRITE_LINE_MEMBER( kc_8k_device::mei_w )
//-------------------------------------------------
kc_m006_device::kc_m006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : kc_8k_device(mconfig, KC_M006, "M006 BASIC", tag, owner, clock, "kc_m006", __FILE__)
+ : kc_8k_device(mconfig, KC_M006, tag, owner, clock)
{
}
@@ -185,8 +185,9 @@ void kc_m006_device::read(offs_t offset, uint8_t &data)
//-------------------------------------------------
kc_m033_device::kc_m033_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : kc_8k_device(mconfig, KC_M033, "M033 TypeStar", tag, owner, clock, "kc_m033", __FILE__), m_bank(0)
- {
+ : kc_8k_device(mconfig, KC_M033, tag, owner, clock)
+ , m_bank(0)
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/kc/rom.h b/src/devices/bus/kc/rom.h
index 9568bcdaea7..024969d68b4 100644
--- a/src/devices/bus/kc/rom.h
+++ b/src/devices/bus/kc/rom.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_KC_ROM_H
+#define MAME_BUS_KC_ROM_H
-#ifndef __KC_ROM_H__
-#define __KC_ROM_H__
+#pragma once
#include "kc.h"
@@ -20,11 +20,10 @@ class kc_8k_device :
public:
// construction/destruction
kc_8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- kc_8k_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
protected:
+ kc_8k_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -90,8 +89,8 @@ private:
// device type definition
-extern const device_type KC_STANDARD;
-extern const device_type KC_M006;
-extern const device_type KC_M033;
+DECLARE_DEVICE_TYPE(KC_STANDARD, kc_8k_device)
+DECLARE_DEVICE_TYPE(KC_M006, kc_m006_device)
+DECLARE_DEVICE_TYPE(KC_M033, kc_m033_device)
-#endif /* __KC_ROM_H__ */
+#endif // MAME_BUS_KC_ROM_H
diff --git a/src/devices/bus/lpci/cirrus.cpp b/src/devices/bus/lpci/cirrus.cpp
index 611965d0419..ddfe9d81330 100644
--- a/src/devices/bus/lpci/cirrus.cpp
+++ b/src/devices/bus/lpci/cirrus.cpp
@@ -73,19 +73,19 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CIRRUS = device_creator<cirrus_device>;
+DEFINE_DEVICE_TYPE(PCI_CIRRUS_SVGA, pci_cirrus_svga_device, "pci_cirrus_svga", "Cirrus SVGA (PCI)")
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
-// cirrus_device - constructor
+// pci_cirrus_svga_device - constructor
//-------------------------------------------------
-cirrus_device::cirrus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CIRRUS, "CIRRUS", tag, owner, clock, "cirrus", __FILE__),
- pci_device_interface( mconfig, *this )
+pci_cirrus_svga_device::pci_cirrus_svga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, PCI_CIRRUS_SVGA, tag, owner, clock)
+ , pci_device_interface( mconfig, *this )
{
}
@@ -93,7 +93,7 @@ cirrus_device::cirrus_device(const machine_config &mconfig, const char *tag, dev
// device_start - device-specific startup
//-------------------------------------------------
-void cirrus_device::device_start()
+void pci_cirrus_svga_device::device_start()
{
}
@@ -101,7 +101,7 @@ void cirrus_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void cirrus_device::device_reset()
+void pci_cirrus_svga_device::device_reset()
{
}
@@ -109,7 +109,7 @@ void cirrus_device::device_reset()
// pci_read - implementation of PCI read
//-------------------------------------------------
-uint32_t cirrus_device::pci_read(pci_bus_device *pcibus, int function, int offset, uint32_t mem_mask)
+uint32_t pci_cirrus_svga_device::pci_read(pci_bus_device *pcibus, int function, int offset, uint32_t mem_mask)
{
uint32_t result = 0;
@@ -145,7 +145,7 @@ uint32_t cirrus_device::pci_read(pci_bus_device *pcibus, int function, int offse
// pci_write - implementation of PCI write
//-------------------------------------------------
-void cirrus_device::pci_write(pci_bus_device *pcibus, int function, int offset, uint32_t data, uint32_t mem_mask)
+void pci_cirrus_svga_device::pci_write(pci_bus_device *pcibus, int function, int offset, uint32_t data, uint32_t mem_mask)
{
if (LOG_PCIACCESS)
logerror("cirrus5430_pci_write(): function=%d offset=0x%02X data=0x%04X\n", function, offset, data);
@@ -157,7 +157,7 @@ void cirrus_device::pci_write(pci_bus_device *pcibus, int function, int offset,
*
*************************************/
-WRITE8_MEMBER( cirrus_device::cirrus_42E8_w )
+WRITE8_MEMBER( pci_cirrus_svga_device::cirrus_42E8_w )
{
if (data & 0x80)
machine().device("vga")->reset();
diff --git a/src/devices/bus/lpci/cirrus.h b/src/devices/bus/lpci/cirrus.h
index e9c4aeeccd3..22eabaff906 100644
--- a/src/devices/bus/lpci/cirrus.h
+++ b/src/devices/bus/lpci/cirrus.h
@@ -8,19 +8,20 @@
***************************************************************************/
-#ifndef CIRRUS_H
-#define CIRRUS_H
+#ifndef MAME_BUS_LPCI_CIRRUS_H
+#define MAME_BUS_LPCI_CIRRUS_H
+
+#pragma once
#include "bus/lpci/pci.h"
-// ======================> cirrus_device
+// ======================> pci_cirrus_svga_device
-class cirrus_device : public device_t,
- public pci_device_interface
+class pci_cirrus_svga_device : public device_t, public pci_device_interface
{
public:
// construction/destruction
- cirrus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pci_cirrus_svga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual uint32_t pci_read(pci_bus_device *pcibus, int function, int offset, uint32_t mem_mask) override;
virtual void pci_write(pci_bus_device *pcibus, int function, int offset, uint32_t data, uint32_t mem_mask) override;
@@ -35,6 +36,6 @@ protected:
// device type definition
-extern const device_type CIRRUS;
+DECLARE_DEVICE_TYPE(PCI_CIRRUS_SVGA, pci_cirrus_svga_device)
-#endif /* CIRRUS_H */
+#endif // MAME_BUS_LPCI_CIRRUS_H
diff --git a/src/devices/bus/lpci/i82371ab.cpp b/src/devices/bus/lpci/i82371ab.cpp
index 80c711f5f13..1c6d2f0e166 100644
--- a/src/devices/bus/lpci/i82371ab.cpp
+++ b/src/devices/bus/lpci/i82371ab.cpp
@@ -19,12 +19,12 @@
#include "emu.h"
#include "i82371ab.h"
-const device_type I82371AB = device_creator<i82371ab_device>;
+DEFINE_DEVICE_TYPE(I82371AB, i82371ab_device, "i82371ab", "Intel 82371AB")
i82371ab_device::i82371ab_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : southbridge_device(mconfig, I82371AB, "Intel 82371AB", tag, owner, clock, "i82371ab", __FILE__),
- pci_device_interface( mconfig, *this )
+ : southbridge_device(mconfig, I82371AB, tag, owner, clock)
+ , pci_device_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/lpci/i82371ab.h b/src/devices/bus/lpci/i82371ab.h
index 637819d9694..dc251bee0bf 100644
--- a/src/devices/bus/lpci/i82371ab.h
+++ b/src/devices/bus/lpci/i82371ab.h
@@ -8,8 +8,10 @@
***************************************************************************/
-#ifndef __I82371AB_H__
-#define __I82371AB_H__
+#ifndef MAME_BUS_LPCI_I82371AB_H
+#define MAME_BUS_LPCI_I82371AB_H
+
+#pragma once
#include "pci.h"
#include "southbridge.h"
@@ -48,6 +50,6 @@ private:
};
// device type definition
-extern const device_type I82371AB;
+DECLARE_DEVICE_TYPE(I82371AB, i82371ab_device)
-#endif /* __I82371AB_H__ */
+#endif // MAME_BUS_LPCI_I82371AB_H
diff --git a/src/devices/bus/lpci/i82371sb.cpp b/src/devices/bus/lpci/i82371sb.cpp
index 1193ed8d64e..4b3744721df 100644
--- a/src/devices/bus/lpci/i82371sb.cpp
+++ b/src/devices/bus/lpci/i82371sb.cpp
@@ -24,12 +24,12 @@
IMPLEMENTATION
***************************************************************************/
-const device_type I82371SB = device_creator<i82371sb_device>;
+DEFINE_DEVICE_TYPE(I82371SB, i82371sb_device, "i82371sb", "Intel 82371SB")
i82371sb_device::i82371sb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : southbridge_device(mconfig, I82371SB, "Intel 82371SB", tag, owner, clock, "i82371sb", __FILE__),
- pci_device_interface( mconfig, *this )
+ : southbridge_device(mconfig, I82371SB, tag, owner, clock)
+ , pci_device_interface( mconfig, *this )
{
}
diff --git a/src/devices/bus/lpci/i82371sb.h b/src/devices/bus/lpci/i82371sb.h
index 9627e82f8cf..c9d71a817b7 100644
--- a/src/devices/bus/lpci/i82371sb.h
+++ b/src/devices/bus/lpci/i82371sb.h
@@ -8,16 +8,17 @@
***************************************************************************/
-#ifndef __I82371SB_H__
-#define __I82371SB_H__
+#ifndef MAME_BUS_LPCI_I82371SB_H
+#define MAME_BUS_LPCI_I82371SB_H
+
+#pragma once
#include "pci.h"
#include "southbridge.h"
// ======================> i82371sb_device
-class i82371sb_device : public southbridge_device,
- public pci_device_interface
+class i82371sb_device : public southbridge_device, public pci_device_interface
{
public:
// construction/destruction
@@ -45,6 +46,6 @@ private:
// device type definition
extern const device_type I82371SB;
+DECLARE_DEVICE_TYPE(I82371SB, i82371sb_device)
-
-#endif /* __I82371SB_H__ */
+#endif // MAME_BUS_LPCI_I82371SB_H
diff --git a/src/devices/bus/lpci/i82439tx.cpp b/src/devices/bus/lpci/i82439tx.cpp
index 568cba45c08..b4bebc8e233 100644
--- a/src/devices/bus/lpci/i82439tx.cpp
+++ b/src/devices/bus/lpci/i82439tx.cpp
@@ -13,14 +13,14 @@
IMPLEMENTATION
***************************************************************************/
-const device_type I82439TX = device_creator<i82439tx_device>;
+DEFINE_DEVICE_TYPE(I82439TX, i82439tx_device, "i82439tx", "Intel 82439TX")
i82439tx_device::i82439tx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : northbridge_device(mconfig, I82439TX, "Intel 82439TX", tag, owner, clock, "i82439tx", __FILE__),
- pci_device_interface( mconfig, *this ),
- m_cpu_tag( nullptr ),
- m_region_tag( nullptr ),
+ : northbridge_device(mconfig, I82439TX, tag, owner, clock),
+ pci_device_interface(mconfig, *this),
+ m_cpu_tag(nullptr),
+ m_region_tag(nullptr),
m_space(nullptr),
m_rom(nullptr)
{
diff --git a/src/devices/bus/lpci/i82439tx.h b/src/devices/bus/lpci/i82439tx.h
index 41626c7f627..e94b95629c0 100644
--- a/src/devices/bus/lpci/i82439tx.h
+++ b/src/devices/bus/lpci/i82439tx.h
@@ -8,8 +8,10 @@
***************************************************************************/
-#ifndef __I82439TX_H__
-#define __I82439TX_H__
+#ifndef MAME_BUS_LPCI_I82439TX_H
+#define MAME_BUS_LPCI_I82439TX_H
+
+#pragma once
#include "pci.h"
#include "northbridge.h"
@@ -22,8 +24,7 @@
// ======================> i82439tx_device
-class i82439tx_device : public northbridge_device,
- public pci_device_interface
+class i82439tx_device : public northbridge_device, public pci_device_interface
{
public:
// construction/destruction
@@ -54,6 +55,6 @@ private:
};
// device type definition
-extern const device_type I82439TX;
+DECLARE_DEVICE_TYPE(I82439TX, i82439tx_device)
-#endif /* __I82439TX_H__ */
+#endif // MAME_BUS_LPCI_I82439TX_H
diff --git a/src/devices/bus/lpci/mpc105.cpp b/src/devices/bus/lpci/mpc105.cpp
index 45958b4196c..74e11d3f5d5 100644
--- a/src/devices/bus/lpci/mpc105.cpp
+++ b/src/devices/bus/lpci/mpc105.cpp
@@ -18,7 +18,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type MPC105 = device_creator<mpc105_device>;
+DEFINE_DEVICE_TYPE(MPC105, mpc105_device, "mpc105", "Motorola MPC105")
//**************************************************************************
@@ -30,7 +30,7 @@ const device_type MPC105 = device_creator<mpc105_device>;
//-------------------------------------------------
mpc105_device::mpc105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MPC105, "MPC105", tag, owner, clock, "mpc105", __FILE__),
+ : device_t(mconfig, MPC105, tag, owner, clock),
pci_device_interface( mconfig, *this ),
m_cpu_tag(nullptr),
m_bank_base_default(0),
diff --git a/src/devices/bus/lpci/mpc105.h b/src/devices/bus/lpci/mpc105.h
index abd71070b57..3b3a726c4b1 100644
--- a/src/devices/bus/lpci/mpc105.h
+++ b/src/devices/bus/lpci/mpc105.h
@@ -8,8 +8,10 @@
***************************************************************************/
-#ifndef MPC105_H
-#define MPC105_H
+#ifndef MAME_BUS_LPCI_MPC105_H
+#define MAME_BUS_LPCI_MPC105_H
+
+#pragma once
#include "pci.h"
@@ -55,6 +57,6 @@ private:
// device type definition
-extern const device_type MPC105;
+DECLARE_DEVICE_TYPE(MPC105, mpc105_device)
-#endif /* MPC105_H */
+#endif // MAME_BUS_LPCI_MPC105_H
diff --git a/src/devices/bus/lpci/northbridge.cpp b/src/devices/bus/lpci/northbridge.cpp
index 7b69334b688..a2b9314b40a 100644
--- a/src/devices/bus/lpci/northbridge.cpp
+++ b/src/devices/bus/lpci/northbridge.cpp
@@ -13,8 +13,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-northbridge_device::northbridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+northbridge_device::northbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock),
m_maincpu(*this, ":maincpu"),
m_ram(*this, ":" RAM_TAG)
{
diff --git a/src/devices/bus/lpci/northbridge.h b/src/devices/bus/lpci/northbridge.h
index 99bf8ad7922..dd557427f16 100644
--- a/src/devices/bus/lpci/northbridge.h
+++ b/src/devices/bus/lpci/northbridge.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Miodrag Milanovic
-#pragma once
+#ifndef MAME_BUS_LPCI_NORTHBRIDGE_H
+#define MAME_BUS_LPCI_NORTHBRIDGE_H
-#ifndef __NORTHBRIDGE_H__
-#define __NORTHBRIDGE_H__
+#pragma once
#include "machine/ram.h"
@@ -14,20 +14,18 @@
// ======================> northbridge_device
-class northbridge_device :
- public device_t
+class northbridge_device : public device_t
{
-public:
- // construction/destruction
- northbridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-public:
- required_device<cpu_device> m_maincpu;
- required_device<ram_device> m_ram;
+ // construction/destruction
+ northbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ required_device<cpu_device> m_maincpu;
+ required_device<ram_device> m_ram;
};
-#endif /* __NORTHBRIDGE_H__ */
+#endif // MAME_BUS_LPCI_NORTHBRIDGE_H
diff --git a/src/devices/bus/lpci/pci.cpp b/src/devices/bus/lpci/pci.cpp
index 19e3d3ed63c..d6c8aef5bba 100644
--- a/src/devices/bus/lpci/pci.cpp
+++ b/src/devices/bus/lpci/pci.cpp
@@ -80,7 +80,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PCI_BUS = device_creator<pci_bus_device>;
+DEFINE_DEVICE_TYPE(PCI_BUS, pci_bus_device, "pci_bus", "PCI Bus")
//**************************************************************************
// LIVE DEVICE
@@ -90,8 +90,8 @@ const device_type PCI_BUS = device_creator<pci_bus_device>;
// pci_bus_device - constructor
//-------------------------------------------------
pci_bus_device::pci_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PCI_BUS, "PCI Bus", tag, owner, clock, "pci_bus", __FILE__), m_busnum(0),
- m_father(nullptr), m_address(0), m_devicenum(0), m_busnumber(0), m_busnumaddr(nullptr)
+ device_t(mconfig, PCI_BUS, tag, owner, clock), m_busnum(0),
+ m_father(nullptr), m_address(0), m_devicenum(0), m_busnumber(0), m_busnumaddr(nullptr)
{
for (auto & elem : m_devtag) {
elem= nullptr;
@@ -262,7 +262,7 @@ void pci_bus_device::device_start()
for (int i = 0; i < ARRAY_LENGTH(m_devtag); i++)
{
sprintf(id, "%d", i);
- pci_connector *conn = downcast<pci_connector *>(subdevice(id));
+ pci_connector_device *conn = downcast<pci_connector_device *>(subdevice(id));
if (conn!=nullptr)
m_device[i] = conn->get_device();
else
@@ -311,24 +311,24 @@ pci_device_interface::~pci_device_interface()
}
-const device_type PCI_CONNECTOR = device_creator<pci_connector>;
+DEFINE_DEVICE_TYPE(PCI_CONNECTOR, pci_connector_device, "pci_connector", "PCI device connector abstraction")
-pci_connector::pci_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PCI_CONNECTOR, "PCI device connector abstraction", tag, owner, clock, "pci_connector", __FILE__),
+pci_connector_device::pci_connector_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PCI_CONNECTOR, tag, owner, clock),
device_slot_interface(mconfig, *this)
{
}
-pci_connector::~pci_connector()
+pci_connector_device::~pci_connector_device()
{
}
-void pci_connector::device_start()
+void pci_connector_device::device_start()
{
}
-pci_device_interface *pci_connector::get_device()
+pci_device_interface *pci_connector_device::get_device()
{
return dynamic_cast<pci_device_interface *>(get_card_device());
}
diff --git a/src/devices/bus/lpci/pci.h b/src/devices/bus/lpci/pci.h
index 4b2ee41e748..f6c30037597 100644
--- a/src/devices/bus/lpci/pci.h
+++ b/src/devices/bus/lpci/pci.h
@@ -8,8 +8,10 @@
***************************************************************************/
-#ifndef PCI_H
-#define PCI_H
+#ifndef MAME_BUS_LPCI_PCI_H
+#define MAME_BUS_LPCI_PCI_H
+
+#pragma once
//**************************************************************************
// TYPE DEFINITIONS
@@ -22,19 +24,21 @@ class pci_device_interface : public device_slot_card_interface
{
public:
// construction/destruction
- pci_device_interface(const machine_config &mconfig, device_t &device);
virtual ~pci_device_interface();
virtual uint32_t pci_read(pci_bus_device *pcibus, int function, int offset, uint32_t mem_mask) = 0;
virtual void pci_write(pci_bus_device *pcibus, int function, int offset, uint32_t data, uint32_t mem_mask) = 0;
+
+protected:
+ pci_device_interface(const machine_config &mconfig, device_t &device);
};
-class pci_connector: public device_t,
+class pci_connector_device : public device_t,
public device_slot_interface
{
public:
- pci_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~pci_connector();
+ pci_connector_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~pci_connector_device();
pci_device_interface *get_device();
@@ -42,7 +46,7 @@ protected:
virtual void device_start() override;
};
-extern const device_type PCI_CONNECTOR;
+DECLARE_DEVICE_TYPE(PCI_CONNECTOR, pci_connector_device)
// ======================> pci_bus_device
@@ -90,7 +94,7 @@ private:
};
// device type definition
-extern const device_type PCI_BUS;
+DECLARE_DEVICE_TYPE(PCI_BUS, pci_bus_device)
/***************************************************************************
@@ -108,4 +112,4 @@ extern const device_type PCI_BUS;
downcast<pci_bus_device *>(device)->set_father(_father_tag);
-#endif /* PCI_H */
+#endif // MAME_BUS_LPCI_PCI_H
diff --git a/src/devices/bus/lpci/southbridge.cpp b/src/devices/bus/lpci/southbridge.cpp
index 362f5053295..7c9720f4068 100644
--- a/src/devices/bus/lpci/southbridge.cpp
+++ b/src/devices/bus/lpci/southbridge.cpp
@@ -9,6 +9,9 @@
#include "emu.h"
#include "southbridge.h"
+#include "bus/isa/com.h"
+#include "bus/isa/fdc.h"
+#include "bus/isa/lpt.h"
#include "bus/pc_kbd/keyboards.h"
#include "cpu/i386/i386.h"
#include "speaker.h"
@@ -129,8 +132,8 @@ machine_config_constructor southbridge_device::device_mconfig_additions() const
return MACHINE_CONFIG_NAME( southbridge );
}
-southbridge_device::southbridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+southbridge_device::southbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock),
m_maincpu(*this, ":maincpu"),
m_pic8259_master(*this, "pic8259_master"),
m_pic8259_slave(*this, "pic8259_slave"),
diff --git a/src/devices/bus/lpci/southbridge.h b/src/devices/bus/lpci/southbridge.h
index f5e78c1af9e..f1e8fb7571b 100644
--- a/src/devices/bus/lpci/southbridge.h
+++ b/src/devices/bus/lpci/southbridge.h
@@ -5,6 +5,7 @@
#pragma once
+#include "pci.h"
#include "machine/ins8250.h"
#include "machine/ds128x.h"
@@ -13,15 +14,14 @@
#include "machine/ataintf.h"
#include "machine/at_keybc.h"
+#include "machine/idectrl.h"
#include "imagedev/harddriv.h"
-#include "pci.h"
#include "sound/spkrdev.h"
#include "machine/ram.h"
#include "machine/nvram.h"
#include "bus/isa/isa.h"
-#include "bus/isa/isa_cards.h"
#include "machine/pc_lpt.h"
#include "bus/pc_kbd/pc_kbdc.h"
@@ -38,92 +38,92 @@ class southbridge_device :
public device_t
{
public:
- // construction/destruction
- southbridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-public:
+ DECLARE_READ8_MEMBER(at_page8_r);
+ DECLARE_WRITE8_MEMBER(at_page8_w);
+ DECLARE_READ8_MEMBER(at_portb_r);
+ DECLARE_WRITE8_MEMBER(at_portb_w);
+ DECLARE_READ8_MEMBER(get_slave_ack);
+ DECLARE_WRITE_LINE_MEMBER(at_pit8254_out0_changed);
+ DECLARE_WRITE_LINE_MEMBER(at_pit8254_out1_changed);
+ DECLARE_WRITE_LINE_MEMBER(at_pit8254_out2_changed);
+ DECLARE_WRITE_LINE_MEMBER(pc_dma_hrq_changed);
+ DECLARE_READ8_MEMBER(pc_dma8237_0_dack_r);
+ DECLARE_READ8_MEMBER(pc_dma8237_1_dack_r);
+ DECLARE_READ8_MEMBER(pc_dma8237_2_dack_r);
+ DECLARE_READ8_MEMBER(pc_dma8237_3_dack_r);
+ DECLARE_READ8_MEMBER(pc_dma8237_5_dack_r);
+ DECLARE_READ8_MEMBER(pc_dma8237_6_dack_r);
+ DECLARE_READ8_MEMBER(pc_dma8237_7_dack_r);
+ DECLARE_WRITE8_MEMBER(pc_dma8237_0_dack_w);
+ DECLARE_WRITE8_MEMBER(pc_dma8237_1_dack_w);
+ DECLARE_WRITE8_MEMBER(pc_dma8237_2_dack_w);
+ DECLARE_WRITE8_MEMBER(pc_dma8237_3_dack_w);
+ DECLARE_WRITE8_MEMBER(pc_dma8237_5_dack_w);
+ DECLARE_WRITE8_MEMBER(pc_dma8237_6_dack_w);
+ DECLARE_WRITE8_MEMBER(pc_dma8237_7_dack_w);
+ DECLARE_WRITE_LINE_MEMBER(at_dma8237_out_eop);
+ DECLARE_WRITE_LINE_MEMBER(pc_dack0_w);
+ DECLARE_WRITE_LINE_MEMBER(pc_dack1_w);
+ DECLARE_WRITE_LINE_MEMBER(pc_dack2_w);
+ DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
+ DECLARE_WRITE_LINE_MEMBER(pc_dack4_w);
+ DECLARE_WRITE_LINE_MEMBER(pc_dack5_w);
+ DECLARE_WRITE_LINE_MEMBER(pc_dack6_w);
+ DECLARE_WRITE_LINE_MEMBER(pc_dack7_w);
+ DECLARE_READ8_MEMBER(ide_read_cs1_r);
+ DECLARE_WRITE8_MEMBER(ide_write_cs1_w);
+ DECLARE_READ8_MEMBER(ide2_read_cs1_r);
+ DECLARE_WRITE8_MEMBER(ide2_write_cs1_w);
+ DECLARE_READ8_MEMBER(at_dma8237_2_r);
+ DECLARE_WRITE8_MEMBER(at_dma8237_2_w);
+ DECLARE_READ8_MEMBER(at_keybc_r);
+ DECLARE_WRITE8_MEMBER(at_keybc_w);
+ DECLARE_WRITE8_MEMBER(write_rtc);
+ DECLARE_READ8_MEMBER(pc_dma_read_byte);
+ DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
+ DECLARE_READ8_MEMBER(pc_dma_read_word);
+ DECLARE_WRITE8_MEMBER(pc_dma_write_word);
- required_device<cpu_device> m_maincpu;
- required_device<pic8259_device> m_pic8259_master;
- required_device<pic8259_device> m_pic8259_slave;
- required_device<am9517a_device> m_dma8237_1;
- required_device<am9517a_device> m_dma8237_2;
- required_device<pit8254_device> m_pit8254;
- required_device<at_keyboard_controller_device> m_keybc;
- required_device<isa16_device> m_isabus;
- required_device<speaker_sound_device> m_speaker;
- required_device<ds12885_device> m_ds12885;
- required_device<pc_kbdc_device> m_pc_kbdc;
- required_device<bus_master_ide_controller_device> m_ide;
- required_device<bus_master_ide_controller_device> m_ide2;
- DECLARE_READ8_MEMBER(at_page8_r);
- DECLARE_WRITE8_MEMBER(at_page8_w);
- DECLARE_READ8_MEMBER(at_portb_r);
- DECLARE_WRITE8_MEMBER(at_portb_w);
- DECLARE_READ8_MEMBER(get_slave_ack);
- DECLARE_WRITE_LINE_MEMBER(at_pit8254_out0_changed);
- DECLARE_WRITE_LINE_MEMBER(at_pit8254_out1_changed);
- DECLARE_WRITE_LINE_MEMBER(at_pit8254_out2_changed);
- DECLARE_WRITE_LINE_MEMBER(pc_dma_hrq_changed);
- DECLARE_READ8_MEMBER(pc_dma8237_0_dack_r);
- DECLARE_READ8_MEMBER(pc_dma8237_1_dack_r);
- DECLARE_READ8_MEMBER(pc_dma8237_2_dack_r);
- DECLARE_READ8_MEMBER(pc_dma8237_3_dack_r);
- DECLARE_READ8_MEMBER(pc_dma8237_5_dack_r);
- DECLARE_READ8_MEMBER(pc_dma8237_6_dack_r);
- DECLARE_READ8_MEMBER(pc_dma8237_7_dack_r);
- DECLARE_WRITE8_MEMBER(pc_dma8237_0_dack_w);
- DECLARE_WRITE8_MEMBER(pc_dma8237_1_dack_w);
- DECLARE_WRITE8_MEMBER(pc_dma8237_2_dack_w);
- DECLARE_WRITE8_MEMBER(pc_dma8237_3_dack_w);
- DECLARE_WRITE8_MEMBER(pc_dma8237_5_dack_w);
- DECLARE_WRITE8_MEMBER(pc_dma8237_6_dack_w);
- DECLARE_WRITE8_MEMBER(pc_dma8237_7_dack_w);
- DECLARE_WRITE_LINE_MEMBER(at_dma8237_out_eop);
- DECLARE_WRITE_LINE_MEMBER(pc_dack0_w);
- DECLARE_WRITE_LINE_MEMBER(pc_dack1_w);
- DECLARE_WRITE_LINE_MEMBER(pc_dack2_w);
- DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
- DECLARE_WRITE_LINE_MEMBER(pc_dack4_w);
- DECLARE_WRITE_LINE_MEMBER(pc_dack5_w);
- DECLARE_WRITE_LINE_MEMBER(pc_dack6_w);
- DECLARE_WRITE_LINE_MEMBER(pc_dack7_w);
- DECLARE_READ8_MEMBER(ide_read_cs1_r);
- DECLARE_WRITE8_MEMBER(ide_write_cs1_w);
- DECLARE_READ8_MEMBER(ide2_read_cs1_r);
- DECLARE_WRITE8_MEMBER(ide2_write_cs1_w);
- DECLARE_READ8_MEMBER(at_dma8237_2_r);
- DECLARE_WRITE8_MEMBER(at_dma8237_2_w);
- DECLARE_READ8_MEMBER(at_keybc_r);
- DECLARE_WRITE8_MEMBER(at_keybc_w);
- DECLARE_WRITE8_MEMBER(write_rtc);
- DECLARE_READ8_MEMBER(pc_dma_read_byte);
- DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
- DECLARE_READ8_MEMBER(pc_dma_read_word);
- DECLARE_WRITE8_MEMBER(pc_dma_write_word);
protected:
- uint8_t m_at_spkrdata;
- uint8_t m_pit_out2;
- int m_dma_channel;
- bool m_cur_eop;
- uint8_t m_dma_offset[2][4];
- uint8_t m_at_pages[0x10];
- uint16_t m_dma_high_byte;
- uint8_t m_at_speaker;
- bool m_refresh;
- void at_speaker_set_spkrdata(uint8_t data);
-
- uint8_t m_channel_check;
- uint8_t m_nmi_enabled;
-
- void pc_select_dma_channel(int channel, bool state);
+ // construction/destruction
+ southbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ required_device<cpu_device> m_maincpu;
+ required_device<pic8259_device> m_pic8259_master;
+ required_device<pic8259_device> m_pic8259_slave;
+ required_device<am9517a_device> m_dma8237_1;
+ required_device<am9517a_device> m_dma8237_2;
+ required_device<pit8254_device> m_pit8254;
+ required_device<at_keyboard_controller_device> m_keybc;
+ required_device<isa16_device> m_isabus;
+ required_device<speaker_sound_device> m_speaker;
+ required_device<ds12885_device> m_ds12885;
+ required_device<pc_kbdc_device> m_pc_kbdc;
+ required_device<bus_master_ide_controller_device> m_ide;
+ required_device<bus_master_ide_controller_device> m_ide2;
+
+ uint8_t m_at_spkrdata;
+ uint8_t m_pit_out2;
+ int m_dma_channel;
+ bool m_cur_eop;
+ uint8_t m_dma_offset[2][4];
+ uint8_t m_at_pages[0x10];
+ uint16_t m_dma_high_byte;
+ uint8_t m_at_speaker;
+ bool m_refresh;
+ void at_speaker_set_spkrdata(uint8_t data);
+
+ uint8_t m_channel_check;
+ uint8_t m_nmi_enabled;
+
+ void pc_select_dma_channel(int channel, bool state);
};
#endif // MAME_BUS_LPCI_SOUTHBRIDGE_H
diff --git a/src/devices/bus/lpci/vt82c505.cpp b/src/devices/bus/lpci/vt82c505.cpp
index d6e2ea56302..a7bad9cc0a2 100644
--- a/src/devices/bus/lpci/vt82c505.cpp
+++ b/src/devices/bus/lpci/vt82c505.cpp
@@ -14,12 +14,12 @@
IMPLEMENTATION
***************************************************************************/
-const device_type VT82C505 = device_creator<vt82c505_device>;
+DEFINE_DEVICE_TYPE(VT82C505, vt82c505_device, "vt82c505_device", "VIA VT82C505 PCI bridge")
vt82c505_device::vt82c505_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VT82C505, "VIA VT82C505 PCI bridge", tag, owner, clock, "vt82c505", __FILE__),
- pci_device_interface( mconfig, *this )
+ : device_t(mconfig, VT82C505, tag, owner, clock)
+ , pci_device_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/lpci/vt82c505.h b/src/devices/bus/lpci/vt82c505.h
index 7bd37b568b5..bbe790781d2 100644
--- a/src/devices/bus/lpci/vt82c505.h
+++ b/src/devices/bus/lpci/vt82c505.h
@@ -6,13 +6,12 @@
*/
-#ifndef __VT82C505_H__
-#define __VT82C505_H__
+#ifndef MAME_BUS_LPCI_VT82C505_H
+#define MAME_BUS_LPCI_VT82C505_H
#include "pci.h"
-class vt82c505_device : public device_t,
- public pci_device_interface
+class vt82c505_device : public device_t, public pci_device_interface
{
public:
// construction/destruction
@@ -32,7 +31,6 @@ private:
};
// device type definition
-extern const device_type VT82C505;
+DECLARE_DEVICE_TYPE(VT82C505, vt82c505_device)
-
-#endif /* __VT82C505_H__ */
+#endif // MAME_BUS_LPCI_VT82C505_H
diff --git a/src/devices/bus/m5/rom.cpp b/src/devices/bus/m5/rom.cpp
index 7ca9a2400d1..5bb1ee371cc 100644
--- a/src/devices/bus/m5/rom.cpp
+++ b/src/devices/bus/m5/rom.cpp
@@ -17,25 +17,24 @@
// m5_rom_device - constructor
//-------------------------------------------------
-const device_type M5_ROM_STD = device_creator<m5_rom_device>;
-const device_type M5_ROM_RAM = device_creator<m5_ram_device>;
+DEFINE_DEVICE_TYPE(M5_ROM_STD, m5_rom_device, "m5_rom", "M5 Standard ROM Carts")
+DEFINE_DEVICE_TYPE(M5_ROM_RAM, m5_ram_device, "m5_ram", "M5 Expansion memory cart")
-m5_rom_device::m5_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_m5_cart_interface( mconfig, *this )
+m5_rom_device::m5_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_m5_cart_interface(mconfig, *this)
{
}
m5_rom_device::m5_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, M5_ROM_STD, "M5 Standard ROM Carts", tag, owner, clock, "m5_rom", __FILE__),
- device_m5_cart_interface( mconfig, *this )
+ : m5_rom_device(mconfig, M5_ROM_STD, tag, owner, clock)
{
}
m5_ram_device::m5_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : m5_rom_device(mconfig, M5_ROM_RAM, "M5 Expansion memory cart", tag, owner, clock, "m5_ram", __FILE__)
+ : m5_rom_device(mconfig, M5_ROM_RAM, tag, owner, clock)
{
}
diff --git a/src/devices/bus/m5/rom.h b/src/devices/bus/m5/rom.h
index bfa40ee08ed..6050920c153 100644
--- a/src/devices/bus/m5/rom.h
+++ b/src/devices/bus/m5/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __M5_ROM_H
-#define __M5_ROM_H
+#ifndef MAME_BUS_M5_ROM_H
+#define MAME_BUS_M5_ROM_H
+
+#pragma once
#include "slot.h"
@@ -13,7 +15,6 @@ class m5_rom_device : public device_t,
{
public:
// construction/destruction
- m5_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
m5_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
@@ -22,6 +23,9 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+protected:
+ m5_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
// ======================> m5_ram_device
@@ -32,19 +36,20 @@ public:
// construction/destruction
m5_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
- virtual void device_reset() override {}
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
};
// device type definition
-extern const device_type M5_ROM_STD;
-extern const device_type M5_ROM_RAM;
+DECLARE_DEVICE_TYPE(M5_ROM_STD, m5_rom_device)
+DECLARE_DEVICE_TYPE(M5_ROM_RAM, m5_ram_device)
-#endif
+#endif // MAME_BUS_M5_ROM_H
diff --git a/src/devices/bus/m5/slot.cpp b/src/devices/bus/m5/slot.cpp
index 71f9fd2c608..cdfb88466e1 100644
--- a/src/devices/bus/m5/slot.cpp
+++ b/src/devices/bus/m5/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type M5_CART_SLOT = device_creator<m5_cart_slot_device>;
+DEFINE_DEVICE_TYPE(M5_CART_SLOT, m5_cart_slot_device, "m5_cart_slot", "M5 Cartridge Slot")
//**************************************************************************
// M5 Cartridges Interface
@@ -73,10 +73,10 @@ void device_m5_cart_interface::ram_alloc(uint32_t size)
// m5_cart_slot_device - constructor
//-------------------------------------------------
m5_cart_slot_device::m5_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, M5_CART_SLOT, "M5 Cartridge Slot", tag, owner, clock, "m5_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(M5_STD), m_cart(nullptr)
+ device_t(mconfig, M5_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(M5_STD), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/m5/slot.h b/src/devices/bus/m5/slot.h
index 80735c62154..48cb4d15124 100644
--- a/src/devices/bus/m5/slot.h
+++ b/src/devices/bus/m5/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __M5_SLOT_H
-#define __M5_SLOT_H
+#ifndef MAME_BUS_M5_SLOT_H
+#define MAME_BUS_M5_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -30,7 +32,6 @@ class device_m5_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_m5_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_m5_cart_interface();
// reading and writing
@@ -48,6 +49,8 @@ public:
void save_ram() { device().save_item(NAME(m_ram)); }
protected:
+ device_m5_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -104,7 +107,7 @@ protected:
// device type definition
-extern const device_type M5_CART_SLOT;
+DECLARE_DEVICE_TYPE(M5_CART_SLOT, m5_cart_slot_device)
/***************************************************************************
@@ -116,4 +119,6 @@ extern const device_type M5_CART_SLOT;
#define MCFG_M5_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, M5_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+
+#endif // MAME_BUS_M5_SLOT_H
diff --git a/src/devices/bus/macpds/macpds.cpp b/src/devices/bus/macpds/macpds.cpp
index b28f864bb80..36f6cf90219 100644
--- a/src/devices/bus/macpds/macpds.cpp
+++ b/src/devices/bus/macpds/macpds.cpp
@@ -16,7 +16,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type MACPDS_SLOT = device_creator<macpds_slot_device>;
+DEFINE_DEVICE_TYPE(MACPDS_SLOT, macpds_slot_device, "macpds_slot", "Mac 68000 Processor-Direct Slot")
//**************************************************************************
// LIVE DEVICE
@@ -26,16 +26,15 @@ const device_type MACPDS_SLOT = device_creator<macpds_slot_device>;
// macpds_slot_device - constructor
//-------------------------------------------------
macpds_slot_device::macpds_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, MACPDS_SLOT, "Mac 68000 Processor-Direct Slot", tag, owner, clock, "macpds_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_macpds_tag(nullptr),
- m_macpds_slottag(nullptr)
+ macpds_slot_device(mconfig, MACPDS_SLOT, tag, owner, clock)
{
}
-macpds_slot_device::macpds_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this), m_macpds_tag(nullptr), m_macpds_slottag(nullptr)
+macpds_slot_device::macpds_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_macpds_tag(nullptr),
+ m_macpds_slottag(nullptr)
{
}
@@ -61,7 +60,7 @@ void macpds_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type MACPDS = device_creator<macpds_device>;
+DEFINE_DEVICE_TYPE(MACPDS, macpds_device, "macpds", "Mac 68000 Processor-Direct Bus")
void macpds_device::static_set_cputag(device_t &device, const char *tag)
{
@@ -78,12 +77,14 @@ void macpds_device::static_set_cputag(device_t &device, const char *tag)
//-------------------------------------------------
macpds_device::macpds_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, MACPDS, "MACPDS", tag, owner, clock, "macpds", __FILE__), m_maincpu(nullptr), m_cputag(nullptr)
+ macpds_device(mconfig, MACPDS, tag, owner, clock)
{
}
-macpds_device::macpds_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source), m_maincpu(nullptr), m_cputag(nullptr)
+macpds_device::macpds_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ m_maincpu(nullptr),
+ m_cputag(nullptr)
{
}
//-------------------------------------------------
diff --git a/src/devices/bus/macpds/macpds.h b/src/devices/bus/macpds/macpds.h
index 848d5d726f5..fdd62404fac 100644
--- a/src/devices/bus/macpds/macpds.h
+++ b/src/devices/bus/macpds/macpds.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_MACPDS_MACPDS_H
+#define MAME_BUS_MACPDS_MACPDS_H
-#ifndef __MACPDS_H__
-#define __MACPDS_H__
+#pragma once
@@ -51,20 +51,22 @@ class macpds_slot_device : public device_t,
public:
// construction/destruction
macpds_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- macpds_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
// inline configuration
static void static_set_macpds_slot(device_t &device, const char *tag, const char *slottag);
+
protected:
+ macpds_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
// configuration
const char *m_macpds_tag, *m_macpds_slottag;
};
// device type definition
-extern const device_type MACPDS_SLOT;
+DECLARE_DEVICE_TYPE(MACPDS_SLOT, macpds_slot_device)
class device_macpds_card_interface;
@@ -75,7 +77,6 @@ class macpds_device : public device_t
public:
// construction/destruction
macpds_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- macpds_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
~macpds_device() { m_device_list.detach_all(); }
// inline configuration
static void static_set_cputag(device_t &device, const char *tag);
@@ -87,6 +88,8 @@ public:
void set_irq_line(int line, int state);
protected:
+ macpds_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -100,7 +103,7 @@ protected:
// device type definition
-extern const device_type MACPDS;
+DECLARE_DEVICE_TYPE(MACPDS, macpds_device)
// ======================> device_macpds_card_interface
@@ -108,9 +111,9 @@ extern const device_type MACPDS;
class device_macpds_card_interface : public device_slot_card_interface
{
friend class macpds_device;
+ template <class ElememtType> friend class simple_list;
public:
// construction/destruction
- device_macpds_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_macpds_card_interface();
device_macpds_card_interface *next() const { return m_next; }
@@ -123,10 +126,15 @@ public:
// inline configuration
static void static_set_macpds_tag(device_t &device, const char *tag, const char *slottag);
-public:
+
+protected:
+ device_macpds_card_interface(const machine_config &mconfig, device_t &device);
+
macpds_device *m_macpds;
const char *m_macpds_tag, *m_macpds_slottag;
+
+private:
device_macpds_card_interface *m_next;
};
-#endif /* __MACPDS_H__ */
+#endif // MAME_BUS_MACPDS_MACPDS_H
diff --git a/src/devices/bus/macpds/pds_tpdfpd.cpp b/src/devices/bus/macpds/pds_tpdfpd.cpp
index 6b3260f74f5..a148c57e639 100644
--- a/src/devices/bus/macpds/pds_tpdfpd.cpp
+++ b/src/devices/bus/macpds/pds_tpdfpd.cpp
@@ -59,7 +59,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PDS_SEDISPLAY = device_creator<macpds_sedisplay_device>;
+DEFINE_DEVICE_TYPE(PDS_SEDISPLAY, macpds_sedisplay_device, "pds_sefp", "Radius SE Full Page Display")
//-------------------------------------------------
@@ -90,20 +90,17 @@ const tiny_rom_entry *macpds_sedisplay_device::device_rom_region() const
//-------------------------------------------------
macpds_sedisplay_device::macpds_sedisplay_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PDS_SEDISPLAY, "Radius SE Full Page Display", tag, owner, clock, "pds_sefp", __FILE__),
- device_video_interface(mconfig, *this),
- device_macpds_card_interface(mconfig, *this), m_vram(nullptr), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+ macpds_sedisplay_device(mconfig, PDS_SEDISPLAY, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(SEDISPLAY_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-macpds_sedisplay_device::macpds_sedisplay_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_macpds_card_interface(mconfig, *this), m_vram(nullptr), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+macpds_sedisplay_device::macpds_sedisplay_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_macpds_card_interface(mconfig, *this),
+ m_vram(nullptr), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, SEDISPLAY_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(SEDISPLAY_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/macpds/pds_tpdfpd.h b/src/devices/bus/macpds/pds_tpdfpd.h
index 0082df18349..b0111bcef8e 100644
--- a/src/devices/bus/macpds/pds_tpdfpd.h
+++ b/src/devices/bus/macpds/pds_tpdfpd.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_PDS_TPDFPD_H
+#define MAME_BUS_PDS_TPDFPD_H
-#ifndef __PDS_SEDISPLAY_H__
-#define __PDS_SEDISPLAY_H__
+#pragma once
#include "macpds.h"
@@ -19,36 +19,37 @@ class macpds_sedisplay_device :
public device_macpds_card_interface
{
public:
- // construction/destruction
- macpds_sedisplay_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- macpds_sedisplay_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // construction/destruction
+ macpds_sedisplay_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ16_MEMBER(sedisplay_r);
- DECLARE_WRITE16_MEMBER(sedisplay_w);
- DECLARE_READ16_MEMBER(ramdac_r);
- DECLARE_WRITE16_MEMBER(ramdac_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::unique_ptr<uint8_t[]> m_vram;
- uint32_t m_vbl_disable;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+protected:
+ macpds_sedisplay_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ16_MEMBER(sedisplay_r);
+ DECLARE_WRITE16_MEMBER(sedisplay_w);
+ DECLARE_READ16_MEMBER(ramdac_r);
+ DECLARE_WRITE16_MEMBER(ramdac_w);
+
+ std::unique_ptr<uint8_t[]> m_vram;
+ uint32_t m_vbl_disable;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
};
// device type definition
-extern const device_type PDS_SEDISPLAY;
+DECLARE_DEVICE_TYPE(PDS_SEDISPLAY, macpds_sedisplay_device)
-#endif /* __MACPDS_SEDISPLAY_H__ */
+#endif // MAME_BUS_PDS_TPDFPD_H
diff --git a/src/devices/bus/megadrive/eeprom.cpp b/src/devices/bus/megadrive/eeprom.cpp
index 128de4da279..96b9f0bb335 100644
--- a/src/devices/bus/megadrive/eeprom.cpp
+++ b/src/devices/bus/megadrive/eeprom.cpp
@@ -51,56 +51,54 @@
// md_rom_device - constructor
//-------------------------------------------------
-const device_type MD_STD_EEPROM = device_creator<md_std_eeprom_device>;
-const device_type MD_EEPROM_NBAJAM = device_creator<md_eeprom_nbajam_device>;
-const device_type MD_EEPROM_NBAJAMTE = device_creator<md_eeprom_nbajamte_device>;
-const device_type MD_EEPROM_NFLQB = device_creator<md_eeprom_nflqb_device>;
-const device_type MD_EEPROM_CSLAM = device_creator<md_eeprom_cslam_device>;
-const device_type MD_EEPROM_NHLPA = device_creator<md_eeprom_nhlpa_device>;
-const device_type MD_EEPROM_BLARA = device_creator<md_eeprom_blara_device>;
-
-
-md_std_eeprom_device::md_std_eeprom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_md_cart_interface( mconfig, *this ),
- m_i2cmem(*this, "i2cmem"), m_i2c_mem(0), m_i2c_clk(0)
- {
+DEFINE_DEVICE_TYPE(MD_STD_EEPROM, md_std_eeprom_device, "md_std_eeprom", "MD Standard cart + EEPROM")
+DEFINE_DEVICE_TYPE(MD_EEPROM_NBAJAM, md_eeprom_nbajam_device, "md_eeprom_nbajam", "MD NBA Jam")
+DEFINE_DEVICE_TYPE(MD_EEPROM_NBAJAMTE, md_eeprom_nbajamte_device, "md_eeprom_nbajamte", "MD NBA Jam TE") // and a few more
+DEFINE_DEVICE_TYPE(MD_EEPROM_NFLQB, md_eeprom_nflqb_device, "md_eeprom_nflqb", "MD NFL Quarterback 96")
+DEFINE_DEVICE_TYPE(MD_EEPROM_CSLAM, md_eeprom_cslam_device, "md_eeprom_cslam", "MD College Slam")
+DEFINE_DEVICE_TYPE(MD_EEPROM_NHLPA, md_eeprom_nhlpa_device, "md_eeprom_nhlpa", "MD NHLPA 93")
+DEFINE_DEVICE_TYPE(MD_EEPROM_BLARA, md_eeprom_blara_device, "md_eeprom_blara", "MD Brian Lara")
+
+
+md_std_eeprom_device::md_std_eeprom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_md_cart_interface(mconfig, *this)
+ , m_i2cmem(*this, "i2cmem"), m_i2c_mem(0), m_i2c_clk(0)
+{
}
md_std_eeprom_device::md_std_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MD_STD_EEPROM, "MD Standard cart + EEPROM", tag, owner, clock, "md_std_eeprom", __FILE__),
- device_md_cart_interface( mconfig, *this ),
- m_i2cmem(*this, "i2cmem"), m_i2c_mem(0), m_i2c_clk(0)
- {
+ : md_std_eeprom_device(mconfig, MD_STD_EEPROM, tag, owner, clock)
+{
}
md_eeprom_nbajam_device::md_eeprom_nbajam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_eeprom_device(mconfig, MD_EEPROM_NBAJAM, "MD NBA Jam", tag, owner, clock, "md_eeprom_nbajam", __FILE__)
+ : md_std_eeprom_device(mconfig, MD_EEPROM_NBAJAM, tag, owner, clock)
{
}
md_eeprom_nbajamte_device::md_eeprom_nbajamte_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_eeprom_device(mconfig, MD_EEPROM_NBAJAMTE, "MD NBA Jam TE (and a few more)", tag, owner, clock, "md_eeprom_nbajamte", __FILE__)
+ : md_std_eeprom_device(mconfig, MD_EEPROM_NBAJAMTE, tag, owner, clock)
{
}
-md_eeprom_cslam_device::md_eeprom_cslam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_eeprom_device(mconfig, MD_EEPROM_CSLAM, "MD College Slam", tag, owner, clock, "md_eeprom_cslam", __FILE__)
+md_eeprom_nflqb_device::md_eeprom_nflqb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : md_std_eeprom_device(mconfig, MD_EEPROM_NFLQB, tag, owner, clock)
{
}
-md_eeprom_nflqb_device::md_eeprom_nflqb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_eeprom_device(mconfig, MD_EEPROM_NFLQB, "MD NFL Quarterback 96", tag, owner, clock, "md_eeprom_nflqb", __FILE__)
+md_eeprom_cslam_device::md_eeprom_cslam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : md_std_eeprom_device(mconfig, MD_EEPROM_CSLAM, tag, owner, clock)
{
}
md_eeprom_nhlpa_device::md_eeprom_nhlpa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_eeprom_device(mconfig, MD_EEPROM_NHLPA, "MD NHLPA 93", tag, owner, clock, "md_eeprom_nhlpa", __FILE__)
+ : md_std_eeprom_device(mconfig, MD_EEPROM_NHLPA, tag, owner, clock)
{
}
md_eeprom_blara_device::md_eeprom_blara_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_eeprom_device(mconfig, MD_EEPROM_BLARA, "MD Brian Lara", tag, owner, clock, "md_eeprom_blara", __FILE__)
+ : md_std_eeprom_device(mconfig, MD_EEPROM_BLARA, tag, owner, clock)
{
}
@@ -378,20 +376,20 @@ WRITE16_MEMBER(md_eeprom_blara_device::write)
// TEMPORARY ADDITION UNTIL WE FIND OUT WHAT IS MISSING IN THE CORE X24C02 CODE
// THIS IS A CUSTOM I2C EEPROM EMULATION THAT ALLOWS NBA JAM TO WORK
-const device_type MD_EEPROM_NBAJAM_ALT = device_creator<md_eeprom_nbajam_device_alt>;
+DEFINE_DEVICE_TYPE(MD_EEPROM_NBAJAM_ALT, md_eeprom_nbajam_alt_device, "md_eeprom_nbajama", "MD NBA Jam (Alt)")
-md_eeprom_nbajam_device_alt::md_eeprom_nbajam_device_alt(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_eeprom_device(mconfig, MD_EEPROM_NBAJAM_ALT, "MD NBA Jam (Alt)", tag, owner, clock, "md_eeprom_nbajama", __FILE__)
+md_eeprom_nbajam_alt_device::md_eeprom_nbajam_alt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : md_std_eeprom_device(mconfig, MD_EEPROM_NBAJAM_ALT, tag, owner, clock)
{
}
-void md_eeprom_nbajam_device_alt::device_start()
+void md_eeprom_nbajam_alt_device::device_start()
{
eeprom_i2c_init();
}
-void md_eeprom_nbajam_device_alt::eeprom_i2c_init()
+void md_eeprom_nbajam_alt_device::eeprom_i2c_init()
{
m_eeprom_cnt = 0;
m_eeprom_readwrite = 0;
@@ -410,7 +408,7 @@ void md_eeprom_nbajam_device_alt::eeprom_i2c_init()
// this is analogous to i2cmem.cpp implementation of write_sda
-void md_eeprom_nbajam_device_alt::idle_devsel_check()
+void md_eeprom_nbajam_alt_device::idle_devsel_check()
{
if (m_eeprom_scl)
{
@@ -431,7 +429,7 @@ void md_eeprom_nbajam_device_alt::idle_devsel_check()
}
}
-void md_eeprom_nbajam_device_alt::eeprom_i2c_update(void)
+void md_eeprom_nbajam_alt_device::eeprom_i2c_update(void)
{
switch (m_eeprom_cur_state)
{
@@ -574,7 +572,7 @@ void md_eeprom_nbajam_device_alt::eeprom_i2c_update(void)
//printf("Write line : status %d SDA %x SCL %x (count %d)\n", m_eeprom_cur_state, m_eeprom_sda, m_eeprom_scl, m_eeprom_cnt);
}
-uint8_t md_eeprom_nbajam_device_alt::eeprom_i2c_out()
+uint8_t md_eeprom_nbajam_alt_device::eeprom_i2c_out()
{
uint8_t res = m_eeprom_sda;
@@ -614,7 +612,7 @@ uint8_t md_eeprom_nbajam_device_alt::eeprom_i2c_out()
}
-READ16_MEMBER(md_eeprom_nbajam_device_alt::read)
+READ16_MEMBER(md_eeprom_nbajam_alt_device::read)
{
if (offset == 0x200000/2)
{
@@ -626,7 +624,7 @@ READ16_MEMBER(md_eeprom_nbajam_device_alt::read)
return 0xffff;
}
-WRITE16_MEMBER(md_eeprom_nbajam_device_alt::write)
+WRITE16_MEMBER(md_eeprom_nbajam_alt_device::write)
{
if (offset == 0x200000/2)
{
diff --git a/src/devices/bus/megadrive/eeprom.h b/src/devices/bus/megadrive/eeprom.h
index a99766a8681..aaa4f196fe2 100644
--- a/src/devices/bus/megadrive/eeprom.h
+++ b/src/devices/bus/megadrive/eeprom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __MD_EEPROM_H
-#define __MD_EEPROM_H
+#ifndef MAME_BUS_MEGADRIVE_EEPROM_H
+#define MAME_BUS_MEGADRIVE_EEPROM_H
+
+#pragma once
#include "md_slot.h"
#include "machine/i2cmem.h"
@@ -18,7 +20,6 @@ class md_std_eeprom_device : public device_t,
{
public:
// construction/destruction
- md_std_eeprom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
md_std_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
@@ -30,6 +31,9 @@ public:
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ md_std_eeprom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
required_device<i2cmem_device> m_i2cmem;
uint8_t m_i2c_mem, m_i2c_clk;
};
@@ -132,13 +136,13 @@ public:
// device type definition
-extern const device_type MD_STD_EEPROM;
-extern const device_type MD_EEPROM_NBAJAM;
-extern const device_type MD_EEPROM_NBAJAMTE;
-extern const device_type MD_EEPROM_CSLAM;
-extern const device_type MD_EEPROM_NFLQB;
-extern const device_type MD_EEPROM_NHLPA;
-extern const device_type MD_EEPROM_BLARA;
+DECLARE_DEVICE_TYPE(MD_STD_EEPROM, md_std_eeprom_device)
+DECLARE_DEVICE_TYPE(MD_EEPROM_NBAJAM, md_eeprom_nbajam_device)
+DECLARE_DEVICE_TYPE(MD_EEPROM_NBAJAMTE, md_eeprom_nbajamte_device)
+DECLARE_DEVICE_TYPE(MD_EEPROM_CSLAM, md_eeprom_cslam_device)
+DECLARE_DEVICE_TYPE(MD_EEPROM_NFLQB, md_eeprom_nflqb_device)
+DECLARE_DEVICE_TYPE(MD_EEPROM_NHLPA, md_eeprom_nhlpa_device)
+DECLARE_DEVICE_TYPE(MD_EEPROM_BLARA, md_eeprom_blara_device)
@@ -155,30 +159,30 @@ enum
STATE_I2C_READ_DATA
};
-// ======================> md_eeprom_nbajam_device_alt
+// ======================> md_eeprom_nbajam_alt_device
-class md_eeprom_nbajam_device_alt : public md_std_eeprom_device
+class md_eeprom_nbajam_alt_device : public md_std_eeprom_device
{
public:
// construction/destruction
- md_eeprom_nbajam_device_alt(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
-// virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_start() override;
+ md_eeprom_nbajam_alt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
- std::vector<uint8_t> m_sram;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+private:
void eeprom_i2c_init();
void idle_devsel_check();
void eeprom_i2c_update();
uint8_t eeprom_i2c_out();
-private:
+ std::vector<uint8_t> m_sram;
+
// EEPROM runtime vars
uint8_t m_eeprom_sda; // current SDA
uint8_t m_eeprom_prev_sda; // previous SDA
@@ -197,8 +201,7 @@ private:
};
-extern const device_type MD_EEPROM_NBAJAM_ALT;
-
+DECLARE_DEVICE_TYPE(MD_EEPROM_NBAJAM_ALT, md_eeprom_nbajam_alt_device)
-#endif
+#endif // MAME_BUS_MEGADRIVE_EEPROM_H
diff --git a/src/devices/bus/megadrive/ggenie.cpp b/src/devices/bus/megadrive/ggenie.cpp
index 0fa81aa1022..a809e0a948d 100644
--- a/src/devices/bus/megadrive/ggenie.cpp
+++ b/src/devices/bus/megadrive/ggenie.cpp
@@ -29,14 +29,15 @@
// md_rom_device - constructor
//-------------------------------------------------
-const device_type MD_ROM_GAMEGENIE = device_creator<md_rom_ggenie_device>;
+DEFINE_DEVICE_TYPE(MD_ROM_GAMEGENIE, md_rom_ggenie_device, "md_ggenie", "MD Game Genie")
md_rom_ggenie_device::md_rom_ggenie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MD_ROM_GAMEGENIE, "MD Game Genie", tag, owner, clock, "md_ggenie", __FILE__),
- device_md_cart_interface( mconfig, *this ),
- m_exp(*this, "subslot"), m_gg_bypass(0), m_reg_enable(0)
- {
+ : device_t(mconfig, MD_ROM_GAMEGENIE, tag, owner, clock)
+ , device_md_cart_interface(mconfig, *this)
+ , m_exp(*this, "subslot")
+ , m_gg_bypass(0), m_reg_enable(0)
+{
}
diff --git a/src/devices/bus/megadrive/ggenie.h b/src/devices/bus/megadrive/ggenie.h
index 5970ca1d172..49cf1784f64 100644
--- a/src/devices/bus/megadrive/ggenie.h
+++ b/src/devices/bus/megadrive/ggenie.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __MD_GGENIE_H
-#define __MD_GGENIE_H
+#ifndef MAME_BUS_MEGADRIVE_GGENIE_H
+#define MAME_BUS_MEGADRIVE_GGENIE_H
+
+#pragma once
#include "md_slot.h"
@@ -16,14 +18,16 @@ public:
md_rom_ggenie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
required_device<md_cart_slot_device> m_exp;
uint16_t m_gg_regs[0x20];
@@ -35,6 +39,6 @@ private:
// device type definition
-extern const device_type MD_ROM_GAMEGENIE;
+DECLARE_DEVICE_TYPE(MD_ROM_GAMEGENIE, md_rom_ggenie_device)
-#endif
+#endif // MAME_BUS_MEGADRIVE_GGENIE_H
diff --git a/src/devices/bus/megadrive/jcart.cpp b/src/devices/bus/megadrive/jcart.cpp
index 06ed2720eff..d432e8f135b 100644
--- a/src/devices/bus/megadrive/jcart.cpp
+++ b/src/devices/bus/megadrive/jcart.cpp
@@ -35,43 +35,39 @@
// md_rom_device - constructor
//-------------------------------------------------
-const device_type MD_JCART = device_creator<md_jcart_device>;
-const device_type MD_SEPROM_CODEMAST = device_creator<md_seprom_codemast_device>;
-const device_type MD_SEPROM_MM96 = device_creator<md_seprom_mm96_device>;
+DEFINE_DEVICE_TYPE(MD_JCART, md_jcart_device, "md_jcart", "MD J-Cart games")
+DEFINE_DEVICE_TYPE(MD_SEPROM_CODEMAST, md_seprom_codemast_device, "md_seprom_codemast", "MD J-Cart games + SEPROM")
+DEFINE_DEVICE_TYPE(MD_SEPROM_MM96, md_seprom_mm96_device, "md_seprom_mm96", "MD Micro Machine 96")
// Sampras, Super Skidmarks?
-md_jcart_device::md_jcart_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_md_cart_interface( mconfig, *this ),
- m_jcart3(*this, "JCART3"),
- m_jcart4(*this, "JCART4")
+md_jcart_device::md_jcart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_md_cart_interface(mconfig, *this)
+ , m_jcart3(*this, "JCART3")
+ , m_jcart4(*this, "JCART4")
{
}
md_jcart_device::md_jcart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MD_JCART, "MD J-Cart games", tag, owner, clock, "md_jcart", __FILE__),
- device_md_cart_interface( mconfig, *this ),
- m_jcart3(*this, "JCART3"),
- m_jcart4(*this, "JCART4")
+ : md_jcart_device(mconfig, MD_JCART, tag, owner, clock)
{
}
// Micro Machines 2, Micro Machines Military
-md_seprom_codemast_device::md_seprom_codemast_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : md_jcart_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_i2cmem(*this, "i2cmem"), m_i2c_mem(0), m_i2c_clk(0)
- {
+md_seprom_codemast_device::md_seprom_codemast_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : md_jcart_device(mconfig, type, tag, owner, clock)
+ , m_i2cmem(*this, "i2cmem"), m_i2c_mem(0), m_i2c_clk(0)
+{
}
md_seprom_codemast_device::md_seprom_codemast_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_jcart_device(mconfig, MD_SEPROM_CODEMAST, "MD J-Cart games + SEPROM", tag, owner, clock, "md_seprom_codemast", __FILE__),
- m_i2cmem(*this, "i2cmem"), m_i2c_mem(0), m_i2c_clk(0)
- {
+ : md_seprom_codemast_device(mconfig, MD_SEPROM_CODEMAST, tag, owner, clock)
+{
}
// Micro Machines 96
md_seprom_mm96_device::md_seprom_mm96_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_seprom_codemast_device(mconfig, MD_SEPROM_MM96, "MD Micro Machine 96", tag, owner, clock, "md_seprom_mm96", __FILE__)
+ : md_seprom_codemast_device(mconfig, MD_SEPROM_MM96, tag, owner, clock)
{
}
diff --git a/src/devices/bus/megadrive/jcart.h b/src/devices/bus/megadrive/jcart.h
index 3d2a6c10bd7..1962930d23a 100644
--- a/src/devices/bus/megadrive/jcart.h
+++ b/src/devices/bus/megadrive/jcart.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __MD_JCART_H
-#define __MD_JCART_H
+#ifndef MAME_BUS_NEGADRIVE_JCART_H
+#define MAME_BUS_NEGADRIVE_JCART_H
#include "md_slot.h"
#include "machine/i2cmem.h"
@@ -18,18 +18,21 @@ class md_jcart_device : public device_t,
{
public:
// construction/destruction
- md_jcart_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
md_jcart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual ioport_constructor device_input_ports() const override;
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ md_jcart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
required_ioport m_jcart3;
required_ioport m_jcart4;
@@ -43,18 +46,21 @@ class md_seprom_codemast_device : public md_jcart_device
{
public:
// construction/destruction
- md_seprom_codemast_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
md_seprom_codemast_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ md_seprom_codemast_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
required_device<i2cmem_device> m_i2cmem;
private:
@@ -75,10 +81,9 @@ public:
};
-
// device type definition
-extern const device_type MD_JCART;
-extern const device_type MD_SEPROM_CODEMAST;
-extern const device_type MD_SEPROM_MM96;
+DECLARE_DEVICE_TYPE(MD_JCART, md_jcart_device)
+DECLARE_DEVICE_TYPE(MD_SEPROM_CODEMAST, md_seprom_codemast_device)
+DECLARE_DEVICE_TYPE(MD_SEPROM_MM96, md_seprom_mm96_device)
-#endif
+#endif // MAME_BUS_NEGADRIVE_JCART_H
diff --git a/src/devices/bus/megadrive/md_carts.cpp b/src/devices/bus/megadrive/md_carts.cpp
index 8c1d5080e1d..30fff82a81e 100644
--- a/src/devices/bus/megadrive/md_carts.cpp
+++ b/src/devices/bus/megadrive/md_carts.cpp
@@ -9,6 +9,15 @@
#include "emu.h"
#include "md_carts.h"
+#include "rom.h"
+#include "svp.h"
+#include "sk.h"
+#include "ggenie.h"
+#include "eeprom.h"
+#include "jcart.h"
+#include "stm95.h"
+
+
SLOT_INTERFACE_START(md_cart)
SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM)
SLOT_INTERFACE_INTERNAL("rom_svp", MD_ROM_SVP)
diff --git a/src/devices/bus/megadrive/md_carts.h b/src/devices/bus/megadrive/md_carts.h
index 622c22f784c..7547a015657 100644
--- a/src/devices/bus/megadrive/md_carts.h
+++ b/src/devices/bus/megadrive/md_carts.h
@@ -6,21 +6,13 @@
**********************************************************************/
-#pragma once
-
-#ifndef __MD_CARTS_H__
-#define __MD_CARTS_H__
+#ifndef MAME_BUS_MEGADRIVE_MD_CARTS_H
+#define MAME_BUS_MEGADRIVE_MD_CARTS_H
+#pragma once
-#include "rom.h"
-#include "svp.h"
-#include "sk.h"
-#include "ggenie.h"
-#include "eeprom.h"
-#include "jcart.h"
-#include "stm95.h"
// supported devices
SLOT_INTERFACE_EXTERN(md_cart);
-#endif // __MD_CARTS_H__
+#endif // MAME_BUS_MEGADRIVE_MD_CARTS_H
diff --git a/src/devices/bus/megadrive/md_slot.cpp b/src/devices/bus/megadrive/md_slot.cpp
index 122ab4b6e97..8c62da3861c 100644
--- a/src/devices/bus/megadrive/md_slot.cpp
+++ b/src/devices/bus/megadrive/md_slot.cpp
@@ -51,9 +51,9 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type MD_CART_SLOT = device_creator<md_cart_slot_device>;
-const device_type PICO_CART_SLOT = device_creator<pico_cart_slot_device>;
-const device_type COPERA_CART_SLOT = device_creator<copera_cart_slot_device>;
+DEFINE_DEVICE_TYPE(MD_CART_SLOT, md_cart_slot_device, "md_cart_slot", "Mega Drive Cartridge Slot")
+DEFINE_DEVICE_TYPE(PICO_CART_SLOT, pico_cart_slot_device, "pico_cart_slot", "Pico Cartridge Slot")
+DEFINE_DEVICE_TYPE(COPERA_CART_SLOT, copera_cart_slot_device, "copera_cart_slot", "Copera Cartridge Slot")
//**************************************************************************
// MD cartridges Interface
@@ -160,27 +160,27 @@ uint32_t device_md_cart_interface::get_padded_size(uint32_t size)
//-------------------------------------------------
// base_md_cart_slot_device - constructor
//-------------------------------------------------
-base_md_cart_slot_device::base_md_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(SEGA_STD), m_cart(nullptr),
- m_must_be_loaded(1)
+base_md_cart_slot_device::base_md_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(SEGA_STD), m_cart(nullptr),
+ m_must_be_loaded(1)
{
}
md_cart_slot_device::md_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- base_md_cart_slot_device(mconfig, MD_CART_SLOT, "MD Cartridge Slot", tag, owner, clock, "md_cart_slot", __FILE__)
+ base_md_cart_slot_device(mconfig, MD_CART_SLOT, tag, owner, clock)
{
}
pico_cart_slot_device::pico_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- base_md_cart_slot_device(mconfig, PICO_CART_SLOT, "Pico Cartridge Slot", tag, owner, clock, "pico_cart_slot", __FILE__)
+ base_md_cart_slot_device(mconfig, PICO_CART_SLOT, tag, owner, clock)
{
}
copera_cart_slot_device::copera_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- base_md_cart_slot_device(mconfig, COPERA_CART_SLOT, "Copera Cartridge Slot", tag, owner, clock, "copera_cart_slot", __FILE__)
+ base_md_cart_slot_device(mconfig, COPERA_CART_SLOT, tag, owner, clock)
{
}
diff --git a/src/devices/bus/megadrive/md_slot.h b/src/devices/bus/megadrive/md_slot.h
index 7c30ad04a2b..78388c4dcbd 100644
--- a/src/devices/bus/megadrive/md_slot.h
+++ b/src/devices/bus/megadrive/md_slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __MD_SLOT_H
-#define __MD_SLOT_H
+#ifndef MAME_BUS_MEGADRIVE_MD_SLOT_H
+#define MAME_BUS_MEGADRIVE_MD_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -89,9 +91,9 @@ enum
class device_md_cart_interface : public device_slot_card_interface
{
+ friend class base_md_cart_slot_device;
public:
// construction/destruction
- device_md_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_md_cart_interface();
// reading and writing
@@ -120,6 +122,9 @@ public:
void rom_map_setup(uint32_t size);
uint32_t get_padded_size(uint32_t size);
+protected:
+ device_md_cart_interface(const machine_config &mconfig, device_t &device);
+
int m_nvram_start, m_nvram_end;
int m_nvram_active, m_nvram_readonly;
@@ -129,7 +134,9 @@ public:
int m_nvram_handlers_installed;
// internal state
+public: // FIXME: this needs to be public becuase the S&K "lock-on" cart is implemented in a really dodgy way
uint16_t *m_rom;
+protected:
uint32_t m_rom_size;
std::vector<uint16_t> m_nvram;
@@ -145,7 +152,7 @@ class base_md_cart_slot_device : public device_t,
{
public:
// construction/destruction
- base_md_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ base_md_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual ~base_md_cart_slot_device();
// device-level overrides
@@ -233,9 +240,9 @@ public:
// device type definition
-extern const device_type MD_CART_SLOT;
-extern const device_type PICO_CART_SLOT;
-extern const device_type COPERA_CART_SLOT;
+DECLARE_DEVICE_TYPE(MD_CART_SLOT, md_cart_slot_device)
+DECLARE_DEVICE_TYPE(PICO_CART_SLOT, pico_cart_slot_device)
+DECLARE_DEVICE_TYPE(COPERA_CART_SLOT, copera_cart_slot_device)
/***************************************************************************
@@ -262,4 +269,4 @@ extern const device_type COPERA_CART_SLOT;
static_cast<md_cart_slot_device *>(device)->set_must_be_loaded(false);
-#endif
+#endif // MAME_BUS_MEGADRIVE_MD_SLOT_H
diff --git a/src/devices/bus/megadrive/rom.cpp b/src/devices/bus/megadrive/rom.cpp
index bb9e7c4fab0..962033ab5c9 100644
--- a/src/devices/bus/megadrive/rom.cpp
+++ b/src/devices/bus/megadrive/rom.cpp
@@ -24,226 +24,224 @@
//-------------------------------------------------
// BASE CARTS + NVRAM
-const device_type MD_STD_ROM = device_creator<md_std_rom_device>;
-const device_type MD_ROM_SRAM = device_creator<md_rom_sram_device>;
-const device_type MD_ROM_FRAM = device_creator<md_rom_fram_device>;
+DEFINE_DEVICE_TYPE(MD_STD_ROM, md_std_rom_device, "md_std_rom", "MD Standard cart")
+DEFINE_DEVICE_TYPE(MD_ROM_SRAM, md_rom_sram_device, "md_rom_sram", "MD Standard cart + SRAM")
+DEFINE_DEVICE_TYPE(MD_ROM_FRAM, md_rom_fram_device, "md_rom_fram", "MD Standard cart + FRAM")
// BASE CARTS + BANKSWITCH AT RESET
-const device_type MD_ROM_CM2IN1 = device_creator<md_rom_cm2in1_device>;
+DEFINE_DEVICE_TYPE(MD_ROM_CM2IN1, md_rom_cm2in1_device, "md_rom_cm2in1", "MD Codemasters 2in1")
// BASE CARTS + PROTECTION / BANKSWITCH
-const device_type MD_ROM_SSF2 = device_creator<md_rom_ssf2_device>;
-const device_type MD_ROM_BUGSLIFE = device_creator<md_rom_bugslife_device>;
-const device_type MD_ROM_SMOUSE = device_creator<md_rom_smouse_device>;
-const device_type MD_ROM_SMW64 = device_creator<md_rom_smw64_device>;
-const device_type MD_ROM_SMB = device_creator<md_rom_smb_device>;
-const device_type MD_ROM_SMB2 = device_creator<md_rom_smb2_device>;
-const device_type MD_ROM_SBUBL = device_creator<md_rom_sbubl_device>;
-const device_type MD_ROM_RX3 = device_creator<md_rom_rx3_device>;
-const device_type MD_ROM_MJLOV = device_creator<md_rom_mjlov_device>;
-const device_type MD_ROM_CJMJCLUB = device_creator<md_rom_cjmjclub_device>;
-const device_type MD_ROM_KOF98 = device_creator<md_rom_kof98_device>;
-const device_type MD_ROM_KOF99 = device_creator<md_rom_kof99_device>;
-const device_type MD_ROM_SOULB = device_creator<md_rom_soulb_device>;
-const device_type MD_ROM_CHINF3 = device_creator<md_rom_chinf3_device>;
-const device_type MD_ROM_16MJ2 = device_creator<md_rom_16mj2_device>;
-const device_type MD_ROM_ELFWOR = device_creator<md_rom_elfwor_device>;
-const device_type MD_ROM_YASECH = device_creator<md_rom_yasech_device>;
-const device_type MD_ROM_LION2 = device_creator<md_rom_lion2_device>;
-const device_type MD_ROM_LION3 = device_creator<md_rom_lion3_device>;
-const device_type MD_ROM_MCPIR = device_creator<md_rom_mcpirate_device>;
-const device_type MD_ROM_POKEA = device_creator<md_rom_pokea_device>;
-const device_type MD_ROM_POKESTAD = device_creator<md_rom_pokestad_device>;
-const device_type MD_ROM_REALTEC = device_creator<md_rom_realtec_device>;
-const device_type MD_ROM_REDCL = device_creator<md_rom_redcl_device>;
-const device_type MD_ROM_SQUIR = device_creator<md_rom_squir_device>;
-const device_type MD_ROM_TEKKENSP = device_creator<md_rom_tekkensp_device>;
-const device_type MD_ROM_TOPF = device_creator<md_rom_topf_device>;
-const device_type MD_ROM_RADICA = device_creator<md_rom_radica_device>;
-const device_type MD_ROM_BEGGARP = device_creator<md_rom_beggarp_device>;
-const device_type MD_ROM_WUKONG = device_creator<md_rom_wukong_device>;
-const device_type MD_ROM_STARODYS = device_creator<md_rom_starodys_device>;
-
-
-md_std_rom_device::md_std_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_md_cart_interface( mconfig, *this )
+DEFINE_DEVICE_TYPE(MD_ROM_SSF2, md_rom_ssf2_device, "md_rom_ssf2", "MD Super SF2")
+DEFINE_DEVICE_TYPE(MD_ROM_BUGSLIFE, md_rom_bugslife_device, "md_rom_bugslife", "MD A Bug's Life")
+DEFINE_DEVICE_TYPE(MD_ROM_SMOUSE, md_rom_smouse_device, "md_rom_smouse", "MD Huan Le Tao Qi Shu / Smart Mouse")
+DEFINE_DEVICE_TYPE(MD_ROM_SMW64, md_rom_smw64_device, "md_rom_smw64", "MD Super Mario World 64")
+DEFINE_DEVICE_TYPE(MD_ROM_SMB, md_rom_smb_device, "md_rom_smb", "MD Super Mario Bros.")
+DEFINE_DEVICE_TYPE(MD_ROM_SMB2, md_rom_smb2_device, "md_rom_smb2", "MD Super Mario Bros. 2")
+DEFINE_DEVICE_TYPE(MD_ROM_SBUBL, md_rom_sbubl_device, "md_rom_sbubl", "MD Super Bubble Bobble")
+DEFINE_DEVICE_TYPE(MD_ROM_RX3, md_rom_rx3_device, "md_rom_rx3", "MD Rockman X3")
+DEFINE_DEVICE_TYPE(MD_ROM_MJLOV, md_rom_mjlov_device, "md_rom_mjlov", "MD Majiang Qingren / Mahjong Lover")
+DEFINE_DEVICE_TYPE(MD_ROM_CJMJCLUB, md_rom_cjmjclub_device, "md_rom_cjmjclub", "MD Chaoji Majiang Club / Super Mahjong Club")
+DEFINE_DEVICE_TYPE(MD_ROM_KOF98, md_rom_kof98_device, "md_rom_kof98", "MD KOF 98")
+DEFINE_DEVICE_TYPE(MD_ROM_KOF99, md_rom_kof99_device, "md_rom_kof99", "MD KOF 99") // and others
+DEFINE_DEVICE_TYPE(MD_ROM_SOULB, md_rom_soulb_device, "md_rom_soulb", "MD Soul Blade")
+DEFINE_DEVICE_TYPE(MD_ROM_CHINF3, md_rom_chinf3_device, "md_rom_chinf3", "MD Chinese Fighter 3")
+DEFINE_DEVICE_TYPE(MD_ROM_16MJ2, md_rom_16mj2_device, "md_rom_16mj2", "MD 16 Majong Tiles II")
+DEFINE_DEVICE_TYPE(MD_ROM_ELFWOR, md_rom_elfwor_device, "md_rom_elfwor", "MD Linghuan Daoshi Super Magician / Elf Wor")
+DEFINE_DEVICE_TYPE(MD_ROM_YASECH, md_rom_yasech_device, "md_rom_yasech", "MD Ya Se Chuan Shuo")
+DEFINE_DEVICE_TYPE(MD_ROM_LION2, md_rom_lion2_device, "md_rom_lion2", "MD Lion King 2")
+DEFINE_DEVICE_TYPE(MD_ROM_LION3, md_rom_lion3_device, "md_rom_lion3", "MD Lion King 3")
+DEFINE_DEVICE_TYPE(MD_ROM_MCPIR, md_rom_mcpirate_device, "md_rom_mcpirate", "MD Pirate Multicarts (various)")
+DEFINE_DEVICE_TYPE(MD_ROM_POKEA, md_rom_pokea_device, "md_rom_pokea", "MD Pokemon (alt protection)")
+DEFINE_DEVICE_TYPE(MD_ROM_POKESTAD, md_rom_pokestad_device, "md_rom_pokestad", "MD Pokemon Stadium")
+DEFINE_DEVICE_TYPE(MD_ROM_REALTEC, md_rom_realtec_device, "md_rom_realtec", "MD Realtec")
+DEFINE_DEVICE_TYPE(MD_ROM_REDCL, md_rom_redcl_device, "md_rom_redcl", "MD Redcliff")
+DEFINE_DEVICE_TYPE(MD_ROM_SQUIR, md_rom_squir_device, "md_rom_squir", "MD Squirrel King")
+DEFINE_DEVICE_TYPE(MD_ROM_TEKKENSP, md_rom_tekkensp_device, "md_rom_tekkensp", "MD Tekken Special")
+DEFINE_DEVICE_TYPE(MD_ROM_TOPF, md_rom_topf_device, "md_rom_topf", "MD Top Fighter")
+DEFINE_DEVICE_TYPE(MD_ROM_RADICA, md_rom_radica_device, "md_rom_radica", "MD Radica TV games")
+DEFINE_DEVICE_TYPE(MD_ROM_BEGGARP, md_rom_beggarp_device, "md_rom_beggarp", "MD Beggar Prince")
+DEFINE_DEVICE_TYPE(MD_ROM_WUKONG, md_rom_wukong_device, "md_rom_wukong", "MD Legend of Wukong")
+DEFINE_DEVICE_TYPE(MD_ROM_STARODYS, md_rom_starodys_device, "md_rom_starodys", "MD Star Odyssey")
+
+
+md_std_rom_device::md_std_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_md_cart_interface(mconfig, *this)
{
}
md_std_rom_device::md_std_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MD_STD_ROM, "MD Standard cart", tag, owner, clock, "md_std_rom", __FILE__),
- device_md_cart_interface( mconfig, *this )
+ : md_std_rom_device(mconfig, MD_STD_ROM, tag, owner, clock)
{
}
md_rom_sram_device::md_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_SRAM, "MD Standard cart + SRAM", tag, owner, clock, "md_rom_sram", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_SRAM, tag, owner, clock)
{
}
md_rom_fram_device::md_rom_fram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_FRAM, "MD Standard cart + FRAM", tag, owner, clock, "md_rom_fram", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_FRAM, tag, owner, clock)
{
}
-md_rom_ssf2_device::md_rom_ssf2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_SSF2, "MD Super SF2", tag, owner, clock, "md_rom_ssf2", __FILE__), m_lastoff(0), m_lastdata(0)
- {
-}
-
md_rom_cm2in1_device::md_rom_cm2in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_CM2IN1, "MD Codemasters 2in1", tag, owner, clock, "md_rom_cm2in1", __FILE__), m_base(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_CM2IN1, tag, owner, clock), m_base(0)
+{
}
-md_rom_mcpirate_device::md_rom_mcpirate_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_MCPIR, "MD Pirate Multicarts (Various)", tag, owner, clock, "md_rom_mcpirate", __FILE__), m_bank(0)
- {
+md_rom_ssf2_device::md_rom_ssf2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : md_std_rom_device(mconfig, MD_ROM_SSF2, tag, owner, clock), m_lastoff(0), m_lastdata(0)
+{
}
md_rom_bugslife_device::md_rom_bugslife_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_BUGSLIFE, "MD A Bug's Life", tag, owner, clock, "md_rom_bugslife", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_BUGSLIFE, tag, owner, clock)
{
}
md_rom_smouse_device::md_rom_smouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_SMOUSE, "MD Huan Le Tao Qi Shu / Smart Mouse", tag, owner, clock, "md_rom_smouse", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_SMOUSE, tag, owner, clock)
{
}
-md_rom_smb_device::md_rom_smb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_SMB, "MD Super Mario Bros.", tag, owner, clock, "md_rom_smb", __FILE__)
+md_rom_smw64_device::md_rom_smw64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : md_std_rom_device(mconfig, MD_ROM_SMW64, tag, owner, clock), m_latch0(0), m_latch1(0)
{
}
-md_rom_smb2_device::md_rom_smb2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_SMB2, "MD Super Mario Bros. 2", tag, owner, clock, "md_rom_smb2", __FILE__)
+md_rom_smb_device::md_rom_smb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : md_std_rom_device(mconfig, MD_ROM_SMB, tag, owner, clock)
{
}
-md_rom_smw64_device::md_rom_smw64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_SMW64, "MD Super Mario World 64", tag, owner, clock, "md_rom_smw64", __FILE__), m_latch0(0), m_latch1(0)
- {
+md_rom_smb2_device::md_rom_smb2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : md_std_rom_device(mconfig, MD_ROM_SMB2, tag, owner, clock)
+{
}
md_rom_sbubl_device::md_rom_sbubl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_SBUBL, "MD Super Bubble Bobble", tag, owner, clock, "md_rom_sbubl", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_SBUBL, tag, owner, clock)
{
}
md_rom_rx3_device::md_rom_rx3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_RX3, "MD Rockman X3", tag, owner, clock, "md_rom_rx3", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_RX3, tag, owner, clock)
{
}
md_rom_mjlov_device::md_rom_mjlov_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_MJLOV, "MD Ma Jiang Qing Ren / Mahjong Lover", tag, owner, clock, "md_rom_mjlov", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_MJLOV, tag, owner, clock)
{
}
md_rom_cjmjclub_device::md_rom_cjmjclub_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_CJMJCLUB, "MD Chaoji Majiang Club / Super Mahjong Club", tag, owner, clock, "md_rom_cjmjclub", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_CJMJCLUB, tag, owner, clock)
{
}
md_rom_kof98_device::md_rom_kof98_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_KOF98, "MD KOF 98", tag, owner, clock, "md_rom_kof98", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_KOF98, tag, owner, clock)
{
}
md_rom_kof99_device::md_rom_kof99_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_KOF99, "MD KOF 99 (and others)", tag, owner, clock, "md_rom_kof99", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_KOF99, tag, owner, clock)
{
}
md_rom_soulb_device::md_rom_soulb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_SOULB, "MD Soul Blade", tag, owner, clock, "md_rom_soulb", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_SOULB, tag, owner, clock)
{
}
md_rom_chinf3_device::md_rom_chinf3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_CHINF3, "MD Chinese Fighter 3", tag, owner, clock, "md_rom_chinf3", __FILE__), m_bank(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_CHINF3, tag, owner, clock), m_bank(0)
+{
}
md_rom_16mj2_device::md_rom_16mj2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_16MJ2, "MD 16 Mahjong Tiles II", tag, owner, clock, "md_rom_16mj2", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_16MJ2, tag, owner, clock)
{
}
md_rom_elfwor_device::md_rom_elfwor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_ELFWOR, "MD Linghuan Daoshi Super Magician / Elf Wor", tag, owner, clock, "md_rom_elfwor", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_ELFWOR, tag, owner, clock)
{
}
md_rom_yasech_device::md_rom_yasech_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_YASECH, "MD Ya Se Chuan Shuo", tag, owner, clock, "md_rom_yasech", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_YASECH, tag, owner, clock)
{
}
md_rom_lion2_device::md_rom_lion2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_LION2, "MD Lion King 2", tag, owner, clock, "md_rom_lion2", __FILE__), m_prot1_data(0), m_prot2_data(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_LION2, tag, owner, clock), m_prot1_data(0), m_prot2_data(0)
+{
}
md_rom_lion3_device::md_rom_lion3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_LION3, "MD Lion King 3", tag, owner, clock, "md_rom_lion3", __FILE__), m_bank(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_LION3, tag, owner, clock), m_bank(0)
+{
+}
+
+md_rom_mcpirate_device::md_rom_mcpirate_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : md_std_rom_device(mconfig, MD_ROM_MCPIR, tag, owner, clock), m_bank(0)
+{
}
md_rom_pokea_device::md_rom_pokea_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_POKEA, "MD Pokemon (Alt Protection)", tag, owner, clock, "md_rom_pokea", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_POKEA, tag, owner, clock)
{
}
md_rom_pokestad_device::md_rom_pokestad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_POKESTAD, "MD Pokemon Stadium", tag, owner, clock, "md_rom_pokestad", __FILE__), m_bank(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_POKESTAD, tag, owner, clock), m_bank(0)
+{
}
md_rom_realtec_device::md_rom_realtec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_REALTEC, "MD Realtec", tag, owner, clock, "md_rom_realtec", __FILE__), m_bank_addr(0), m_bank_size(0), m_old_bank_addr(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_REALTEC, tag, owner, clock), m_bank_addr(0), m_bank_size(0), m_old_bank_addr(0)
+{
}
md_rom_redcl_device::md_rom_redcl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_REDCL, "MD Redcliff", tag, owner, clock, "md_rom_redcl", __FILE__)
+ : md_std_rom_device(mconfig, MD_ROM_REDCL, tag, owner, clock)
{
}
md_rom_squir_device::md_rom_squir_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_SQUIR, "MD Squirrel King", tag, owner, clock, "md_rom_squir", __FILE__), m_latch(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_SQUIR, tag, owner, clock), m_latch(0)
+{
}
md_rom_tekkensp_device::md_rom_tekkensp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_TEKKENSP, "MD Tekken Special", tag, owner, clock, "md_rom_tekkensp", __FILE__), m_reg(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_TEKKENSP, tag, owner, clock), m_reg(0)
+{
}
md_rom_topf_device::md_rom_topf_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_TOPF, "MD Top Fighter", tag, owner, clock, "md_rom_topf", __FILE__), m_latch(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_TOPF, tag, owner, clock), m_latch(0)
+{
}
md_rom_radica_device::md_rom_radica_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_RADICA, "MD Radica TV games", tag, owner, clock, "md_rom_radica", __FILE__), m_bank(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_RADICA, tag, owner, clock), m_bank(0)
+{
}
md_rom_beggarp_device::md_rom_beggarp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_BEGGARP, "MD Beggar Prince", tag, owner, clock, "md_rom_beggarp", __FILE__), m_mode(0), m_lock(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_BEGGARP, tag, owner, clock), m_mode(0), m_lock(0)
+{
}
md_rom_wukong_device::md_rom_wukong_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_WUKONG, "MD Legend of Wukong", tag, owner, clock, "md_rom_wukong", __FILE__), m_mode(0)
- {
+ : md_std_rom_device(mconfig, MD_ROM_WUKONG, tag, owner, clock), m_mode(0)
+{
}
md_rom_starodys_device::md_rom_starodys_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : md_std_rom_device(mconfig, MD_ROM_STARODYS, "MD Star Odyssey", tag, owner, clock, "md_rom_starodys", __FILE__), m_mode(0), m_lock(0), m_ram_enable(0), m_base(0)
+ : md_std_rom_device(mconfig, MD_ROM_STARODYS, tag, owner, clock), m_mode(0), m_lock(0), m_ram_enable(0), m_base(0)
{
}
diff --git a/src/devices/bus/megadrive/rom.h b/src/devices/bus/megadrive/rom.h
index a75068c2ae2..8077ad7e0c6 100644
--- a/src/devices/bus/megadrive/rom.h
+++ b/src/devices/bus/megadrive/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __MD_ROM_H
-#define __MD_ROM_H
+#ifndef MAME_BUS_MEGADRIVE_ROM_H
+#define MAME_BUS_MEGADRIVE_ROM_H
+
+#pragma once
#include "md_slot.h"
@@ -16,15 +18,17 @@ class md_std_rom_device : public device_t,
{
public:
// construction/destruction
- md_std_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
md_std_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {};
-
// reading and writing
- virtual DECLARE_READ16_MEMBER(read) override { if (offset < 0x400000/2) return m_rom[MD_ADDR(offset)]; else return 0xffff; };
- virtual DECLARE_WRITE16_MEMBER(write) override { };
+ virtual DECLARE_READ16_MEMBER(read) override { if (offset < 0x400000/2) return m_rom[MD_ADDR(offset)]; else return 0xffff; }
+ virtual DECLARE_WRITE16_MEMBER(write) override { }
+
+protected:
+ md_std_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { }
};
// ======================> md_rom_sram_device
@@ -64,14 +68,15 @@ public:
// construction/destruction
md_rom_ssf2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write_a13) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_bank[16];
int m_lastoff, m_lastdata;
@@ -85,13 +90,14 @@ public:
// construction/destruction
md_rom_cm2in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // reading and writing
+ virtual DECLARE_READ16_MEMBER(read) override;
+
+protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- // reading and writing
- virtual DECLARE_READ16_MEMBER(read) override;
-
private:
int m_base;
};
@@ -105,14 +111,15 @@ public:
// construction/destruction
md_rom_mcpirate_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write_a13) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_bank;
};
@@ -138,14 +145,15 @@ public:
// construction/destruction
md_rom_chinf3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
int m_bank;
};
@@ -218,14 +226,15 @@ public:
// construction/destruction
md_rom_lion2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint16_t m_prot1_data, m_prot2_data;
};
@@ -238,14 +247,15 @@ public:
// construction/destruction
md_rom_lion3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_reg[3];
uint16_t m_bank;
@@ -295,14 +305,15 @@ public:
// construction/destruction
md_rom_pokestad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_bank;
};
@@ -315,14 +326,15 @@ public:
// construction/destruction
md_rom_realtec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint16_t m_bank_addr, m_bank_size, m_old_bank_addr;
};
@@ -395,14 +407,15 @@ public:
// construction/destruction
md_rom_smw64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint32_t m_latch0, m_latch1;
uint16_t m_reg[6];
@@ -442,14 +455,15 @@ public:
// construction/destruction
md_rom_squir_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint16_t m_latch;
};
@@ -462,14 +476,15 @@ public:
// construction/destruction
md_rom_tekkensp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint16_t m_reg;
};
@@ -482,14 +497,15 @@ public:
// construction/destruction
md_rom_topf_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint16_t m_latch;
uint8_t m_bank[3];
@@ -503,14 +519,15 @@ public:
// construction/destruction
md_rom_radica_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_READ16_MEMBER(read_a13) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_bank;
};
@@ -523,15 +540,16 @@ public:
// construction/destruction
md_rom_beggarp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
virtual DECLARE_WRITE16_MEMBER(write_a13) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_mode, m_lock;
};
@@ -544,15 +562,16 @@ public:
// construction/destruction
md_rom_wukong_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
virtual DECLARE_WRITE16_MEMBER(write_a13) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_mode;
};
@@ -565,16 +584,17 @@ public:
// construction/destruction
md_rom_starodys_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
virtual DECLARE_READ16_MEMBER(read_a13) override;
virtual DECLARE_WRITE16_MEMBER(write_a13) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_mode, m_lock, m_ram_enable, m_base;
};
@@ -582,40 +602,40 @@ private:
// device type definition
-extern const device_type MD_STD_ROM;
-extern const device_type MD_ROM_SRAM;
-extern const device_type MD_ROM_FRAM;
-extern const device_type MD_ROM_CM2IN1;
-extern const device_type MD_ROM_16MJ2;
-extern const device_type MD_ROM_BUGSLIFE;
-extern const device_type MD_ROM_CHINF3;
-extern const device_type MD_ROM_ELFWOR;
-extern const device_type MD_ROM_YASECH;
-extern const device_type MD_ROM_KOF98;
-extern const device_type MD_ROM_KOF99;
-extern const device_type MD_ROM_LION2;
-extern const device_type MD_ROM_LION3;
-extern const device_type MD_ROM_MCPIR;
-extern const device_type MD_ROM_MJLOV;
-extern const device_type MD_ROM_CJMJCLUB;
-extern const device_type MD_ROM_POKEA;
-extern const device_type MD_ROM_POKESTAD;
-extern const device_type MD_ROM_REALTEC;
-extern const device_type MD_ROM_REDCL;
-extern const device_type MD_ROM_RX3;
-extern const device_type MD_ROM_SBUBL;
-extern const device_type MD_ROM_SMB;
-extern const device_type MD_ROM_SMB2;
-extern const device_type MD_ROM_SMW64;
-extern const device_type MD_ROM_SMOUSE;
-extern const device_type MD_ROM_SOULB;
-extern const device_type MD_ROM_SSF2;
-extern const device_type MD_ROM_SQUIR;
-extern const device_type MD_ROM_TEKKENSP;
-extern const device_type MD_ROM_TOPF;
-extern const device_type MD_ROM_RADICA;
-extern const device_type MD_ROM_BEGGARP;
-extern const device_type MD_ROM_WUKONG;
-extern const device_type MD_ROM_STARODYS;
-
-#endif
+DECLARE_DEVICE_TYPE(MD_STD_ROM, md_std_rom_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SRAM, md_rom_sram_device)
+DECLARE_DEVICE_TYPE(MD_ROM_FRAM, md_rom_fram_device)
+DECLARE_DEVICE_TYPE(MD_ROM_CM2IN1, md_rom_cm2in1_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SSF2, md_rom_ssf2_device)
+DECLARE_DEVICE_TYPE(MD_ROM_BUGSLIFE, md_rom_bugslife_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SMOUSE, md_rom_smouse_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SMW64, md_rom_smw64_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SMB, md_rom_smb_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SMB2, md_rom_smb2_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SBUBL, md_rom_sbubl_device)
+DECLARE_DEVICE_TYPE(MD_ROM_RX3, md_rom_rx3_device)
+DECLARE_DEVICE_TYPE(MD_ROM_MJLOV, md_rom_mjlov_device)
+DECLARE_DEVICE_TYPE(MD_ROM_CJMJCLUB, md_rom_cjmjclub_device)
+DECLARE_DEVICE_TYPE(MD_ROM_KOF98, md_rom_kof98_device)
+DECLARE_DEVICE_TYPE(MD_ROM_KOF99, md_rom_kof99_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SOULB, md_rom_soulb_device)
+DECLARE_DEVICE_TYPE(MD_ROM_CHINF3, md_rom_chinf3_device)
+DECLARE_DEVICE_TYPE(MD_ROM_16MJ2, md_rom_16mj2_device)
+DECLARE_DEVICE_TYPE(MD_ROM_ELFWOR, md_rom_elfwor_device)
+DECLARE_DEVICE_TYPE(MD_ROM_YASECH, md_rom_yasech_device)
+DECLARE_DEVICE_TYPE(MD_ROM_LION2, md_rom_lion2_device)
+DECLARE_DEVICE_TYPE(MD_ROM_LION3, md_rom_lion3_device)
+DECLARE_DEVICE_TYPE(MD_ROM_MCPIR, md_rom_mcpirate_device)
+DECLARE_DEVICE_TYPE(MD_ROM_POKEA, md_rom_pokea_device)
+DECLARE_DEVICE_TYPE(MD_ROM_POKESTAD, md_rom_pokestad_device)
+DECLARE_DEVICE_TYPE(MD_ROM_REALTEC, md_rom_realtec_device)
+DECLARE_DEVICE_TYPE(MD_ROM_REDCL, md_rom_redcl_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SQUIR, md_rom_squir_device)
+DECLARE_DEVICE_TYPE(MD_ROM_TEKKENSP, md_rom_tekkensp_device)
+DECLARE_DEVICE_TYPE(MD_ROM_TOPF, md_rom_topf_device)
+DECLARE_DEVICE_TYPE(MD_ROM_RADICA, md_rom_radica_device)
+DECLARE_DEVICE_TYPE(MD_ROM_BEGGARP, md_rom_beggarp_device)
+DECLARE_DEVICE_TYPE(MD_ROM_WUKONG, md_rom_wukong_device)
+DECLARE_DEVICE_TYPE(MD_ROM_STARODYS, md_rom_starodys_device)
+
+#endif // MAME_BUS_MEGADRIVE_ROM_H
diff --git a/src/devices/bus/megadrive/sk.cpp b/src/devices/bus/megadrive/sk.cpp
index 8260ae4abf4..a186f035c03 100644
--- a/src/devices/bus/megadrive/sk.cpp
+++ b/src/devices/bus/megadrive/sk.cpp
@@ -24,20 +24,18 @@
// md_rom_device - constructor
//-------------------------------------------------
-const device_type MD_ROM_SK = device_creator<md_rom_sk_device>;
+DEFINE_DEVICE_TYPE(MD_ROM_SK, md_rom_sk_device, "md_rom_sk", "MD Sonic & Knuckles")
-md_rom_sk_device::md_rom_sk_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_md_cart_interface( mconfig, *this ),
- m_exp(*this, "subslot")
+md_rom_sk_device::md_rom_sk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_md_cart_interface(mconfig, *this)
+ , m_exp(*this, "subslot")
{
}
md_rom_sk_device::md_rom_sk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MD_ROM_SK, "MD Sonic & Knuckles", tag, owner, clock, "md_rom_sk", __FILE__),
- device_md_cart_interface( mconfig, *this ),
- m_exp(*this, "subslot")
+ : md_rom_sk_device(mconfig, MD_ROM_SK, tag, owner, clock)
{
}
diff --git a/src/devices/bus/megadrive/sk.h b/src/devices/bus/megadrive/sk.h
index 526a2aa47ea..091fd9325c9 100644
--- a/src/devices/bus/megadrive/sk.h
+++ b/src/devices/bus/megadrive/sk.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __MD_SK_H
-#define __MD_SK_H
+#ifndef MAME_BUS_MEGADRIVE_SK_H
+#define MAME_BUS_MEGADRIVE_SK_H
+
+#pragma once
#include "md_slot.h"
@@ -13,23 +15,25 @@ class md_rom_sk_device : public device_t,
{
public:
// construction/destruction
- md_rom_sk_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
md_rom_sk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
+protected:
+ md_rom_sk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ virtual void device_start() override;
+
private:
required_device<md_cart_slot_device> m_exp;
};
// device type definition
-extern const device_type MD_ROM_SK;
+DECLARE_DEVICE_TYPE(MD_ROM_SK, md_rom_sk_device)
-#endif
+#endif // MAME_BUS_MEGADRIVE_SK_H
diff --git a/src/devices/bus/megadrive/stm95.cpp b/src/devices/bus/megadrive/stm95.cpp
index 05adacac57f..4f536766b01 100644
--- a/src/devices/bus/megadrive/stm95.cpp
+++ b/src/devices/bus/megadrive/stm95.cpp
@@ -16,9 +16,9 @@
stm95_eeprom_device::stm95_eeprom_device(running_machine &machine, uint8_t *eeprom) :
- stm_state(IDLE),
- stream_pos(0),
- m_machine(machine)
+ stm_state(IDLE),
+ stream_pos(0),
+ m_machine(machine)
{
eeprom_data = eeprom;
m_machine.save().save_item(latch, "STM95/latch");
@@ -172,25 +172,25 @@ void stm95_eeprom_device::set_sck_line(int state)
// md_rom_device - constructor
//-------------------------------------------------
-const device_type MD_EEPROM_STM95 = device_creator<md_eeprom_stm95_device>;
+DEFINE_DEVICE_TYPE(MD_EEPROM_STM95, md_eeprom_stm95_device, "md_eeprom_stm95", "MD Cart + EEPROM STM95")
-md_eeprom_stm95_device::md_eeprom_stm95_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_md_cart_interface( mconfig, *this ), m_rdcnt(0)
- {
+md_eeprom_stm95_device::md_eeprom_stm95_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_md_cart_interface(mconfig, *this)
+ , m_rdcnt(0)
+{
}
md_eeprom_stm95_device::md_eeprom_stm95_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MD_EEPROM_STM95, "MD Cart + EEPROM STM95", tag, owner, clock, "md_eeprom_stm95", __FILE__),
- device_md_cart_interface( mconfig, *this ), m_rdcnt(0)
- {
+ : md_eeprom_stm95_device(mconfig, MD_EEPROM_STM95, tag, owner, clock)
+{
}
void md_eeprom_stm95_device::device_start()
{
- nvram_alloc(M95320_SIZE);
+ nvram_alloc(stm95_eeprom_device::M95320_SIZE);
m_stm95 = std::make_unique<stm95_eeprom_device>(machine(), (uint8_t*)get_nvram_base());
save_item(NAME(m_rdcnt));
diff --git a/src/devices/bus/megadrive/stm95.h b/src/devices/bus/megadrive/stm95.h
index 1e0561f3fae..c1291e1f12f 100644
--- a/src/devices/bus/megadrive/stm95.h
+++ b/src/devices/bus/megadrive/stm95.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli, MetalliC
-#ifndef __MD_STM95_H
-#define __MD_STM95_H
+#ifndef MAME_BUS_MEGADRIVE_STM95_H
+#define MAME_BUS_MEGADRIVE_STM95_H
+
+#pragma once
#include "md_slot.h"
@@ -12,22 +14,11 @@
/* ST M95320 32Kbit serial EEPROM implementation */
// TO DO: STM95 should be made a separate EEPROM device and this should be merged with md_eeprom.c!
-#define M95320_SIZE 0x1000
-
-enum STMSTATE
-{
- IDLE = 0,
- CMD_WRSR,
- CMD_RDSR,
- M95320_CMD_READ,
- CMD_WRITE,
- READING,
- WRITING
-};
-
class stm95_eeprom_device
{
public:
+ static constexpr unsigned M95320_SIZE = 0x1000;
+
stm95_eeprom_device(running_machine &machine, uint8_t *eeprom);
running_machine &machine() const { return m_machine; }
@@ -39,6 +30,17 @@ public:
int get_so_line(void);
protected:
+ enum STMSTATE
+ {
+ IDLE = 0,
+ CMD_WRSR,
+ CMD_RDSR,
+ M95320_CMD_READ,
+ CMD_WRITE,
+ READING,
+ WRITING
+ };
+
int latch;
int reset_line;
int sck_line;
@@ -55,23 +57,24 @@ protected:
// ======================> md_eeprom_stm95_device
-class md_eeprom_stm95_device : public device_t,
- public device_md_cart_interface
+class md_eeprom_stm95_device : public device_t, public device_md_cart_interface
{
public:
// construction/destruction
- md_eeprom_stm95_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
md_eeprom_stm95_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_READ16_MEMBER(read_a13) override;
virtual DECLARE_WRITE16_MEMBER(write_a13) override;
+protected:
+ md_eeprom_stm95_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_bank[3];
int m_rdcnt;
@@ -81,6 +84,6 @@ private:
// device type definition
-extern const device_type MD_EEPROM_STM95;
+DECLARE_DEVICE_TYPE(MD_EEPROM_STM95, md_eeprom_stm95_device)
-#endif
+#endif // MAME_BUS_MEGADRIVE_STM95_H
diff --git a/src/devices/bus/megadrive/svp.cpp b/src/devices/bus/megadrive/svp.cpp
index 05ac7f024a2..b07f14735d8 100644
--- a/src/devices/bus/megadrive/svp.cpp
+++ b/src/devices/bus/megadrive/svp.cpp
@@ -34,22 +34,20 @@
// md_rom_device - constructor
//-------------------------------------------------
-const device_type MD_ROM_SVP = device_creator<md_rom_svp_device>;
-
-md_rom_svp_device::md_rom_svp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_md_cart_interface( mconfig, *this ),
- m_svp(*this, "svp"),
- m_test_ipt(*this, "MEMORY_TEST"), m_emu_status(0), m_xst(0), m_xst2(0)
- {
+DEFINE_DEVICE_TYPE(MD_ROM_SVP, md_rom_svp_device, "md_rom_svp", "MD Virtua Racing")
+
+md_rom_svp_device::md_rom_svp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_md_cart_interface(mconfig, *this)
+ , m_svp(*this, "svp")
+ , m_test_ipt(*this, "MEMORY_TEST")
+ , m_emu_status(0), m_xst(0), m_xst2(0)
+{
}
md_rom_svp_device::md_rom_svp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MD_ROM_SVP, "MD Virtua Racing", tag, owner, clock, "md_rom_svp", __FILE__),
- device_md_cart_interface( mconfig, *this ),
- m_svp(*this, "svp"),
- m_test_ipt(*this, "MEMORY_TEST"), m_emu_status(0), m_xst(0), m_xst2(0)
- {
+ : md_rom_svp_device(mconfig, MD_ROM_SVP, tag, owner, clock)
+{
}
diff --git a/src/devices/bus/megadrive/svp.h b/src/devices/bus/megadrive/svp.h
index 57aa7713b67..328864d91e6 100644
--- a/src/devices/bus/megadrive/svp.h
+++ b/src/devices/bus/megadrive/svp.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli,Pierpaolo Prazzoli,Grazvydas Ignotas
-#ifndef __MD_SVP_H
-#define __MD_SVP_H
+#ifndef MAME_BUS_MEGADRIVE_SVP_H
+#define MAME_BUS_MEGADRIVE_SVP_H
#include "md_slot.h"
#include "cpu/ssp1601/ssp1601.h"
@@ -17,19 +17,13 @@ class md_rom_svp_device : public device_t,
{
public:
// construction/destruction
- md_rom_svp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
md_rom_svp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-//protected:
// device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
virtual void set_bank_to_rom(const char *banktag, uint32_t offset) override;
- required_device<device_t> m_svp;
- required_ioport m_test_ipt;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
@@ -56,6 +50,14 @@ public:
virtual DECLARE_WRITE16_MEMBER(write_pmc);
virtual DECLARE_WRITE16_MEMBER(write_al);
+protected:
+ md_rom_svp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+
+ required_device<device_t> m_svp;
+ required_ioport m_test_ipt;
+
uint32_t pm_io(int reg, int write, uint32_t d);
uint32_t m_pmac_read[6]; // read modes/addrs for PM0-PM5
@@ -70,6 +72,6 @@ public:
// device type definition
-extern const device_type MD_ROM_SVP;
+DECLARE_DEVICE_TYPE(MD_ROM_SVP, md_rom_svp_device)
-#endif
+#endif // MAME_BUS_MEGADRIVE_SVP_H
diff --git a/src/devices/bus/midi/midi.cpp b/src/devices/bus/midi/midi.cpp
index eb3cd8a2803..baf8cf91a8e 100644
--- a/src/devices/bus/midi/midi.cpp
+++ b/src/devices/bus/midi/midi.cpp
@@ -3,10 +3,10 @@
#include "emu.h"
#include "midi.h"
-const device_type MIDI_PORT = device_creator<midi_port_device>;
+DEFINE_DEVICE_TYPE(MIDI_PORT, midi_port_device, "midi_port", "MIDI port")
midi_port_device::midi_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MIDI_PORT, "Midi Port", tag, owner, clock, "midi_port", __FILE__),
+ : device_t(mconfig, MIDI_PORT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_rxd(0),
m_rxd_handler(*this),
diff --git a/src/devices/bus/midi/midi.h b/src/devices/bus/midi/midi.h
index 2ce2afd1bd7..a14a7b8e627 100644
--- a/src/devices/bus/midi/midi.h
+++ b/src/devices/bus/midi/midi.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#ifndef __BUS_MIDI_H__
-#define __BUS_MIDI_H__
+#ifndef MAME_BUS_MIDI_MIDI_H
+#define MAME_BUS_MIDI_MIDI_H
+
+#pragma once
#define MCFG_MIDI_PORT_ADD(_tag, _slot_intf, _def_slot) \
@@ -23,7 +25,7 @@ public:
virtual ~midi_port_device();
// static configuration helpers
- template<class _Object> static devcb_base &set_rx_handler(device_t &device, _Object object) { return downcast<midi_port_device &>(device).m_rxd_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_rx_handler(device_t &device, Object &&cb) { return downcast<midi_port_device &>(device).m_rxd_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( write_txd );
@@ -46,19 +48,21 @@ class device_midi_port_interface : public device_slot_card_interface
friend class midi_port_device;
public:
- device_midi_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_midi_port_interface();
- virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) { }
DECLARE_WRITE_LINE_MEMBER( output_rxd ) { m_port->m_rxd = state; m_port->m_rxd_handler(state); }
protected:
+ device_midi_port_interface(const machine_config &mconfig, device_t &device);
+
midi_port_device *m_port;
};
extern const device_type MIDI_PORT;
+DECLARE_DEVICE_TYPE(MIDI_PORT, midi_port_device)
SLOT_INTERFACE_EXTERN(midiin_slot);
SLOT_INTERFACE_EXTERN(midiout_slot);
-#endif
+#endif // MAME_BUS_MIDI_MIDI_H
diff --git a/src/devices/bus/midi/midiinport.cpp b/src/devices/bus/midi/midiinport.cpp
index 4ad00742af1..cac476ac2f2 100644
--- a/src/devices/bus/midi/midiinport.cpp
+++ b/src/devices/bus/midi/midiinport.cpp
@@ -11,10 +11,10 @@
#include "emu.h"
#include "midiinport.h"
-const device_type MIDIIN_PORT = device_creator<midiin_port_device>;
+DEFINE_DEVICE_TYPE(MIDIIN_PORT, midiin_port_device, "midiin_port", "MIDI In port")
midiin_port_device::midiin_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MIDIIN_PORT, "MIDI In port", tag, owner, clock, "midiin_port", __FILE__),
+ : device_t(mconfig, MIDIIN_PORT, tag, owner, clock),
device_midi_port_interface(mconfig, *this),
m_midiin(*this, "midiinimg")
{
diff --git a/src/devices/bus/midi/midiinport.h b/src/devices/bus/midi/midiinport.h
index 0f69cb11620..daf3a5cfdb9 100644
--- a/src/devices/bus/midi/midiinport.h
+++ b/src/devices/bus/midi/midiinport.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef _MIDIINPORT_H_
-#define _MIDIINPORT_H_
+#ifndef MAME_BUS_MIDI_MIDIINPORT_H
+#define MAME_BUS_MIDI_MIDIINPORT_H
+
+#pragma once
#include "midi.h"
#include "imagedev/midiin.h"
@@ -31,6 +33,6 @@ private:
required_device<midiin_device> m_midiin;
};
-extern const device_type MIDIIN_PORT;
+DECLARE_DEVICE_TYPE(MIDIIN_PORT, midiin_port_device)
-#endif
+#endif // MAME_BUS_MIDI_MIDIINPORT_H
diff --git a/src/devices/bus/midi/midioutport.cpp b/src/devices/bus/midi/midioutport.cpp
index f9a37ee486d..cf97bfbcb27 100644
--- a/src/devices/bus/midi/midioutport.cpp
+++ b/src/devices/bus/midi/midioutport.cpp
@@ -11,10 +11,10 @@
#include "emu.h"
#include "midioutport.h"
-const device_type MIDIOUT_PORT = device_creator<midiout_port_device>;
+DEFINE_DEVICE_TYPE(MIDIOUT_PORT, midiout_port_device, "midiout_port", "MIDI Out port")
midiout_port_device::midiout_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MIDIOUT_PORT, "MIDI Out port", tag, owner, clock, "midiout_port", __FILE__),
+ : device_t(mconfig, MIDIOUT_PORT, tag, owner, clock),
device_midi_port_interface(mconfig, *this),
m_midiout(*this, "midioutimg")
{
diff --git a/src/devices/bus/midi/midioutport.h b/src/devices/bus/midi/midioutport.h
index 8fca565f82d..bd594c48732 100644
--- a/src/devices/bus/midi/midioutport.h
+++ b/src/devices/bus/midi/midioutport.h
@@ -8,8 +8,10 @@
*********************************************************************/
-#ifndef _MIDIOUTPORT_H_
-#define _MIDIOUTPORT_H_
+#ifndef MAME_BUS_MIDI_MIDIOUTPORT_H
+#define MAME_BUS_MIDI_MIDIOUTPORT_H
+
+#pragma once
#include "midi.h"
#include "imagedev/midiout.h"
@@ -31,6 +33,6 @@ private:
required_device<midiout_device> m_midiout;
};
-extern const device_type MIDIOUT_PORT;
+DECLARE_DEVICE_TYPE(MIDIOUT_PORT, midiout_port_device)
-#endif
+#endif // MAME_BUS_MIDI_MIDIOUTPORT_H
diff --git a/src/devices/bus/msx_cart/arc.cpp b/src/devices/bus/msx_cart/arc.cpp
index b2e0395aadf..3504071ec4c 100644
--- a/src/devices/bus/msx_cart/arc.cpp
+++ b/src/devices/bus/msx_cart/arc.cpp
@@ -4,33 +4,33 @@
#include "arc.h"
-const device_type MSX_CART_ARC = device_creator<msx_cart_arc>;
+DEFINE_DEVICE_TYPE(MSX_CART_ARC, msx_cart_arc_device, "msx_cart_arc", "MSX Cartridge - Arc")
-msx_cart_arc::msx_cart_arc(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_ARC, "MSX Cartridge - Arc", tag, owner, clock, "msx_cart_arc", __FILE__)
+msx_cart_arc_device::msx_cart_arc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_ARC, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_7f(0)
{
}
-void msx_cart_arc::device_start()
+void msx_cart_arc_device::device_start()
{
// Install IO read/write handlers
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
- space.install_write_handler(0x7f, 0x7f, write8_delegate(FUNC(msx_cart_arc::io_7f_w), this));
- space.install_read_handler(0x7f, 0x7f, read8_delegate(FUNC(msx_cart_arc::io_7f_r), this));
+ space.install_write_handler(0x7f, 0x7f, write8_delegate(FUNC(msx_cart_arc_device::io_7f_w), this));
+ space.install_read_handler(0x7f, 0x7f, read8_delegate(FUNC(msx_cart_arc_device::io_7f_r), this));
}
-void msx_cart_arc::device_reset()
+void msx_cart_arc_device::device_reset()
{
m_7f = 0;
}
-void msx_cart_arc::initialize_cartridge()
+void msx_cart_arc_device::initialize_cartridge()
{
if (get_rom_size() != 0x8000)
{
@@ -39,7 +39,7 @@ void msx_cart_arc::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_arc::read_cart)
+READ8_MEMBER(msx_cart_arc_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -49,7 +49,7 @@ READ8_MEMBER(msx_cart_arc::read_cart)
}
-WRITE8_MEMBER(msx_cart_arc::io_7f_w)
+WRITE8_MEMBER(msx_cart_arc_device::io_7f_w)
{
if (data == 0x35)
{
@@ -58,7 +58,7 @@ WRITE8_MEMBER(msx_cart_arc::io_7f_w)
}
-READ8_MEMBER(msx_cart_arc::io_7f_r)
+READ8_MEMBER(msx_cart_arc_device::io_7f_r)
{
return ((m_7f & 0x03) == 0x03) ? 0xda : 0xff;
}
diff --git a/src/devices/bus/msx_cart/arc.h b/src/devices/bus/msx_cart/arc.h
index 748b225935d..308589961fd 100644
--- a/src/devices/bus/msx_cart/arc.h
+++ b/src/devices/bus/msx_cart/arc.h
@@ -1,23 +1,20 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_ARC_H
-#define __MSX_CART_ARC_H
+#ifndef MAME_BUS_MSX_CART_ARC_H
+#define MAME_BUS_MSX_CART_ARC_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_ARC;
+DECLARE_DEVICE_TYPE(MSX_CART_ARC, msx_cart_arc_device)
-class msx_cart_arc : public device_t
- , public msx_cart_interface
+class msx_cart_arc_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_arc(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_arc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
@@ -26,9 +23,13 @@ public:
DECLARE_WRITE8_MEMBER(io_7f_w);
DECLARE_READ8_MEMBER(io_7f_r);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_7f;
};
-
-#endif
+#endif // MAME_BUS_MSX_CART_ARC_H
diff --git a/src/devices/bus/msx_cart/ascii.cpp b/src/devices/bus/msx_cart/ascii.cpp
index 9263ca01b72..c7598a8ccc0 100644
--- a/src/devices/bus/msx_cart/ascii.cpp
+++ b/src/devices/bus/msx_cart/ascii.cpp
@@ -4,15 +4,15 @@
#include "ascii.h"
-const device_type MSX_CART_ASCII8 = device_creator<msx_cart_ascii8>;
-const device_type MSX_CART_ASCII16 = device_creator<msx_cart_ascii16>;
-const device_type MSX_CART_ASCII8_SRAM = device_creator<msx_cart_ascii8_sram>;
-const device_type MSX_CART_ASCII16_SRAM = device_creator<msx_cart_ascii16_sram>;
-const device_type MSX_CART_MSXWRITE = device_creator<msx_cart_msxwrite>;
+DEFINE_DEVICE_TYPE(MSX_CART_ASCII8, msx_cart_ascii8_device, "msx_cart_ascii8", "MSX Cartridge - ASCII8")
+DEFINE_DEVICE_TYPE(MSX_CART_ASCII16, msx_cart_ascii16_device, "msx_cart_ascii16", "MSX Cartridge - ASCII16")
+DEFINE_DEVICE_TYPE(MSX_CART_ASCII8_SRAM, msx_cart_ascii8_sram_device, "msx_cart_ascii8_sram", "MSX Cartridge - ASCII8 w/SRAM")
+DEFINE_DEVICE_TYPE(MSX_CART_ASCII16_SRAM, msx_cart_ascii16_sram_device, "msx_cart_ascii16_sram", "MSX Cartridge - ASCII16 w/SRAM")
+DEFINE_DEVICE_TYPE(MSX_CART_MSXWRITE, msx_cart_msxwrite_device, "msx_cart_msxwrite", "MSX Cartridge - MSXWRITE")
-msx_cart_ascii8::msx_cart_ascii8(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_ASCII8, "MSX Cartridge - ASCII8", tag, owner, clock, "msx_cart_ascii8", __FILE__)
+msx_cart_ascii8_device::msx_cart_ascii8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_ASCII8, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_mask(0)
{
@@ -24,15 +24,15 @@ msx_cart_ascii8::msx_cart_ascii8(const machine_config &mconfig, const char *tag,
}
-void msx_cart_ascii8::device_start()
+void msx_cart_ascii8_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii8::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii8_device::restore_banks), this));
}
-void msx_cart_ascii8::restore_banks()
+void msx_cart_ascii8_device::restore_banks()
{
for (int i = 0; i < 4; i++)
{
@@ -41,7 +41,7 @@ void msx_cart_ascii8::restore_banks()
}
-void msx_cart_ascii8::device_reset()
+void msx_cart_ascii8_device::device_reset()
{
for (auto & elem : m_selected_bank)
{
@@ -50,7 +50,7 @@ void msx_cart_ascii8::device_reset()
}
-void msx_cart_ascii8::initialize_cartridge()
+void msx_cart_ascii8_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -72,7 +72,7 @@ void msx_cart_ascii8::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_ascii8::read_cart)
+READ8_MEMBER(msx_cart_ascii8_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -82,7 +82,7 @@ READ8_MEMBER(msx_cart_ascii8::read_cart)
}
-WRITE8_MEMBER(msx_cart_ascii8::write_cart)
+WRITE8_MEMBER(msx_cart_ascii8_device::write_cart)
{
if (offset >= 0x6000 && offset < 0x8000)
{
@@ -95,8 +95,8 @@ WRITE8_MEMBER(msx_cart_ascii8::write_cart)
-msx_cart_ascii16::msx_cart_ascii16(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_ASCII16, "MSX Cartridge - ASCII16", tag, owner, clock, "msx_cart_ascii16", __FILE__)
+msx_cart_ascii16_device::msx_cart_ascii16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_ASCII16, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_mask(0)
{
@@ -108,15 +108,15 @@ msx_cart_ascii16::msx_cart_ascii16(const machine_config &mconfig, const char *ta
}
-void msx_cart_ascii16::device_start()
+void msx_cart_ascii16_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii16::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii16_device::restore_banks), this));
}
-void msx_cart_ascii16::restore_banks()
+void msx_cart_ascii16_device::restore_banks()
{
for (int i = 0; i < 2; i++)
{
@@ -125,7 +125,7 @@ void msx_cart_ascii16::restore_banks()
}
-void msx_cart_ascii16::device_reset()
+void msx_cart_ascii16_device::device_reset()
{
for (auto & elem : m_selected_bank)
{
@@ -134,7 +134,7 @@ void msx_cart_ascii16::device_reset()
}
-void msx_cart_ascii16::initialize_cartridge()
+void msx_cart_ascii16_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -156,7 +156,7 @@ void msx_cart_ascii16::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_ascii16::read_cart)
+READ8_MEMBER(msx_cart_ascii16_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -166,7 +166,7 @@ READ8_MEMBER(msx_cart_ascii16::read_cart)
}
-WRITE8_MEMBER(msx_cart_ascii16::write_cart)
+WRITE8_MEMBER(msx_cart_ascii16_device::write_cart)
{
if (offset >= 0x6000 && offset < 0x6800)
{
@@ -185,8 +185,8 @@ WRITE8_MEMBER(msx_cart_ascii16::write_cart)
-msx_cart_ascii8_sram::msx_cart_ascii8_sram(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_ASCII8_SRAM, "MSX Cartridge - ASCII8 w/SRAM", tag, owner, clock, "msx_cart_ascii8_sram", __FILE__)
+msx_cart_ascii8_sram_device::msx_cart_ascii8_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_ASCII8_SRAM, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_mask(0)
, m_sram_select_mask(0)
@@ -199,15 +199,15 @@ msx_cart_ascii8_sram::msx_cart_ascii8_sram(const machine_config &mconfig, const
}
-void msx_cart_ascii8_sram::device_start()
+void msx_cart_ascii8_sram_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii8_sram::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii8_sram_device::restore_banks), this));
}
-void msx_cart_ascii8_sram::setup_bank(uint8_t bank)
+void msx_cart_ascii8_sram_device::setup_bank(uint8_t bank)
{
if (m_selected_bank[bank] & ~(m_sram_select_mask | m_bank_mask))
{
@@ -226,7 +226,7 @@ void msx_cart_ascii8_sram::setup_bank(uint8_t bank)
}
-void msx_cart_ascii8_sram::restore_banks()
+void msx_cart_ascii8_sram_device::restore_banks()
{
for (int i = 0; i < 4; i++)
{
@@ -235,7 +235,7 @@ void msx_cart_ascii8_sram::restore_banks()
}
-void msx_cart_ascii8_sram::device_reset()
+void msx_cart_ascii8_sram_device::device_reset()
{
for (auto & elem : m_selected_bank)
{
@@ -244,7 +244,7 @@ void msx_cart_ascii8_sram::device_reset()
}
-void msx_cart_ascii8_sram::initialize_cartridge()
+void msx_cart_ascii8_sram_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -272,7 +272,7 @@ void msx_cart_ascii8_sram::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_ascii8_sram::read_cart)
+READ8_MEMBER(msx_cart_ascii8_sram_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -287,7 +287,7 @@ READ8_MEMBER(msx_cart_ascii8_sram::read_cart)
}
-WRITE8_MEMBER(msx_cart_ascii8_sram::write_cart)
+WRITE8_MEMBER(msx_cart_ascii8_sram_device::write_cart)
{
if (offset >= 0x6000 && offset < 0x8000)
{
@@ -310,8 +310,8 @@ WRITE8_MEMBER(msx_cart_ascii8_sram::write_cart)
-msx_cart_ascii16_sram::msx_cart_ascii16_sram(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_ASCII16_SRAM, "MSX Cartridge - ASCII16 w/SRAM", tag, owner, clock, "msx_cart_ascii16_sram", __FILE__)
+msx_cart_ascii16_sram_device::msx_cart_ascii16_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_ASCII16_SRAM, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_mask(0)
, m_sram_select_mask(0)
@@ -324,15 +324,15 @@ msx_cart_ascii16_sram::msx_cart_ascii16_sram(const machine_config &mconfig, cons
}
-void msx_cart_ascii16_sram::device_start()
+void msx_cart_ascii16_sram_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii16_sram::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_ascii16_sram_device::restore_banks), this));
}
-void msx_cart_ascii16_sram::setup_bank(uint8_t bank)
+void msx_cart_ascii16_sram_device::setup_bank(uint8_t bank)
{
if (m_selected_bank[bank] & ~(m_sram_select_mask | m_bank_mask))
{
@@ -351,7 +351,7 @@ void msx_cart_ascii16_sram::setup_bank(uint8_t bank)
}
-void msx_cart_ascii16_sram::restore_banks()
+void msx_cart_ascii16_sram_device::restore_banks()
{
for (int i = 0; i < 2; i++)
{
@@ -360,7 +360,7 @@ void msx_cart_ascii16_sram::restore_banks()
}
-void msx_cart_ascii16_sram::device_reset()
+void msx_cart_ascii16_sram_device::device_reset()
{
for (auto & elem : m_selected_bank)
{
@@ -369,7 +369,7 @@ void msx_cart_ascii16_sram::device_reset()
}
-void msx_cart_ascii16_sram::initialize_cartridge()
+void msx_cart_ascii16_sram_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -397,7 +397,7 @@ void msx_cart_ascii16_sram::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_ascii16_sram::read_cart)
+READ8_MEMBER(msx_cart_ascii16_sram_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -419,7 +419,7 @@ READ8_MEMBER(msx_cart_ascii16_sram::read_cart)
}
-WRITE8_MEMBER(msx_cart_ascii16_sram::write_cart)
+WRITE8_MEMBER(msx_cart_ascii16_sram_device::write_cart)
{
if (offset >= 0x6000 && offset < 0x6800)
{
@@ -445,8 +445,8 @@ WRITE8_MEMBER(msx_cart_ascii16_sram::write_cart)
-msx_cart_msxwrite::msx_cart_msxwrite(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_MSXWRITE, "MSX Cartridge - MSXWRITE", tag, owner, clock, "msx_cart_msxwrite", __FILE__)
+msx_cart_msxwrite_device::msx_cart_msxwrite_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_MSXWRITE, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_mask(0)
{
@@ -458,15 +458,15 @@ msx_cart_msxwrite::msx_cart_msxwrite(const machine_config &mconfig, const char *
}
-void msx_cart_msxwrite::device_start()
+void msx_cart_msxwrite_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_msxwrite::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_msxwrite_device::restore_banks), this));
}
-void msx_cart_msxwrite::restore_banks()
+void msx_cart_msxwrite_device::restore_banks()
{
for (int i = 0; i < 2; i++)
{
@@ -475,7 +475,7 @@ void msx_cart_msxwrite::restore_banks()
}
-void msx_cart_msxwrite::device_reset()
+void msx_cart_msxwrite_device::device_reset()
{
for (auto & elem : m_selected_bank)
{
@@ -484,7 +484,7 @@ void msx_cart_msxwrite::device_reset()
}
-void msx_cart_msxwrite::initialize_cartridge()
+void msx_cart_msxwrite_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -506,7 +506,7 @@ void msx_cart_msxwrite::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_msxwrite::read_cart)
+READ8_MEMBER(msx_cart_msxwrite_device::read_cart)
{
if ( offset >= 0x4000 && offset < 0xC000 )
{
@@ -516,7 +516,7 @@ READ8_MEMBER(msx_cart_msxwrite::read_cart)
}
-WRITE8_MEMBER(msx_cart_msxwrite::write_cart)
+WRITE8_MEMBER(msx_cart_msxwrite_device::write_cart)
{
// The rom writes to 6fff and 7fff for banking, unknown whether
// other locations also trigger banking.
diff --git a/src/devices/bus/msx_cart/ascii.h b/src/devices/bus/msx_cart/ascii.h
index 926560d1bea..2df178dc31d 100644
--- a/src/devices/bus/msx_cart/ascii.h
+++ b/src/devices/bus/msx_cart/ascii.h
@@ -1,33 +1,35 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_ASCII_H
-#define __MSX_CART_ASCII_H
+#ifndef MAME_BUS_MSX_CART_ASCII_H
+#define MAME_BUS_MSX_CART_ASCII_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_ASCII8;
-extern const device_type MSX_CART_ASCII16;
-extern const device_type MSX_CART_ASCII8_SRAM;
-extern const device_type MSX_CART_ASCII16_SRAM;
-extern const device_type MSX_CART_MSXWRITE;
+DECLARE_DEVICE_TYPE(MSX_CART_ASCII8, msx_cart_ascii8_device)
+DECLARE_DEVICE_TYPE(MSX_CART_ASCII16, msx_cart_ascii16_device)
+DECLARE_DEVICE_TYPE(MSX_CART_ASCII8_SRAM, msx_cart_ascii8_sram_device)
+DECLARE_DEVICE_TYPE(MSX_CART_ASCII16_SRAM, msx_cart_ascii16_sram_device)
+DECLARE_DEVICE_TYPE(MSX_CART_MSXWRITE, msx_cart_msxwrite_device)
-class msx_cart_ascii8 : public device_t
- , public msx_cart_interface
+class msx_cart_ascii8_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_ascii8(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_ascii8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -37,21 +39,21 @@ private:
};
-class msx_cart_ascii16 : public device_t
- , public msx_cart_interface
+class msx_cart_ascii16_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_ascii16(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_ascii16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -61,21 +63,21 @@ private:
};
-class msx_cart_ascii8_sram : public device_t
- , public msx_cart_interface
+class msx_cart_ascii8_sram_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_ascii8_sram(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_ascii8_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -88,21 +90,21 @@ private:
};
-class msx_cart_ascii16_sram : public device_t
- , public msx_cart_interface
+class msx_cart_ascii16_sram_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_ascii16_sram(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_ascii16_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -115,21 +117,21 @@ private:
};
-class msx_cart_msxwrite : public device_t
- , public msx_cart_interface
+class msx_cart_msxwrite_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_msxwrite(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_msxwrite_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -138,4 +140,4 @@ private:
uint8_t *m_bank_base[2];
};
-#endif
+#endif // MAME_BUS_MSX_CART_ASCII_H
diff --git a/src/devices/bus/msx_cart/bm_012.cpp b/src/devices/bus/msx_cart/bm_012.cpp
index 77ddcd71a06..e6f56a7b40a 100644
--- a/src/devices/bus/msx_cart/bm_012.cpp
+++ b/src/devices/bus/msx_cart/bm_012.cpp
@@ -19,11 +19,11 @@ TODO:
#include "cpu/z80/z80.h"
-const device_type MSX_CART_BM_012 = device_creator<msx_cart_bm_012>;
+DEFINE_DEVICE_TYPE(MSX_CART_BM_012, msx_cart_bm_012_device, "msx_cart_bm_012", "MSX Cartridge - BM-012")
-msx_cart_bm_012::msx_cart_bm_012(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_BM_012, "MSX Cartridge - BM-012", tag, owner, clock, "msx_cart_bm_012", __FILE__)
+msx_cart_bm_012_device::msx_cart_bm_012_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_BM_012, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_tmpz84c015af(*this, "tmpz84c015af")
, m_bm012_pio(*this, "bm012_pio")
@@ -32,7 +32,7 @@ msx_cart_bm_012::msx_cart_bm_012(const machine_config &mconfig, const char *tag,
}
-static ADDRESS_MAP_START( bm_012_memory_map, AS_PROGRAM, 8, msx_cart_bm_012 )
+static ADDRESS_MAP_START( bm_012_memory_map, AS_PROGRAM, 8, msx_cart_bm_012_device )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -69,7 +69,7 @@ static MACHINE_CONFIG_FRAGMENT( msx_cart_bm_012 )
// MIDI ports
MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
- MCFG_MIDI_RX_HANDLER(WRITELINE(msx_cart_bm_012, midi_in))
+ MCFG_MIDI_RX_HANDLER(WRITELINE(msx_cart_bm_012_device, midi_in))
MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout")
@@ -77,7 +77,7 @@ static MACHINE_CONFIG_FRAGMENT( msx_cart_bm_012 )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_bm_012::device_mconfig_additions() const
+machine_config_constructor msx_cart_bm_012_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_cart_bm_012 );
}
@@ -90,13 +90,13 @@ ROM_START( msx_cart_bm_012 )
ROM_END
-const tiny_rom_entry *msx_cart_bm_012::device_rom_region() const
+const tiny_rom_entry *msx_cart_bm_012_device::device_rom_region() const
{
return ROM_NAME( msx_cart_bm_012 );
}
-void msx_cart_bm_012::device_start()
+void msx_cart_bm_012_device::device_start()
{
// Install IO read/write handlers
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
@@ -105,7 +105,7 @@ void msx_cart_bm_012::device_start()
}
-WRITE_LINE_MEMBER(msx_cart_bm_012::midi_in)
+WRITE_LINE_MEMBER(msx_cart_bm_012_device::midi_in)
{
m_mdthru->write_txd(state);
m_tmpz84c015af->rxb_w(state);
diff --git a/src/devices/bus/msx_cart/bm_012.h b/src/devices/bus/msx_cart/bm_012.h
index 4c526f3ac49..3b8ed797622 100644
--- a/src/devices/bus/msx_cart/bm_012.h
+++ b/src/devices/bus/msx_cart/bm_012.h
@@ -1,29 +1,32 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_BM_012_H
-#define __MSX_CART_BM_012_H
+#ifndef MAME_BUS_MSX_CART_BM_012_H
+#define MAME_BUS_MSX_CART_BM_012_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
#include "cpu/z80/tmpz84c015.h"
#include "bus/midi/midi.h"
-extern const device_type MSX_CART_BM_012;
+DECLARE_DEVICE_TYPE(MSX_CART_BM_012, msx_cart_bm_012_device)
-class msx_cart_bm_012 : public device_t
- , public msx_cart_interface
+class msx_cart_bm_012_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_bm_012(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_bm_012_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_start() override;
DECLARE_WRITE_LINE_MEMBER(midi_in);
+protected:
+ virtual void device_start() override;
+
private:
required_device<tmpz84c015_device> m_tmpz84c015af;
required_device<z80pio_device> m_bm012_pio;
@@ -31,4 +34,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_BM_012_H
diff --git a/src/devices/bus/msx_cart/cartridge.h b/src/devices/bus/msx_cart/cartridge.h
index 5025f6cfa2b..c80f2949732 100644
--- a/src/devices/bus/msx_cart/cartridge.h
+++ b/src/devices/bus/msx_cart/cartridge.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_CARTRIDGE_H
-#define __MSX_CART_CARTRIDGE_H
+#ifndef MAME_BUS_MSX_CART_CARTRIDGE_H
+#define MAME_BUS_MSX_CART_CARTRIDGE_H
+
+#pragma once
SLOT_INTERFACE_EXTERN(msx_cart);
@@ -11,18 +13,16 @@ SLOT_INTERFACE_EXTERN(msx_yamaha_60pin); // 60 pin expansion slots as found in
class msx_cart_interface : public device_slot_card_interface
{
public:
- msx_cart_interface(const machine_config &mconfig, device_t &device);
-
- template<class _Object> void set_out_irq_cb(_Object object) { m_out_irq_cb.set_callback(object); m_out_irq_cb.resolve_safe(); }
+ template <class Object> void set_out_irq_cb(Object &&cb) { m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
// This is called after loading cartridge contents and allows the cartridge
// implementation to perform some additional initialization based on the
// cartridge contents.
- virtual void initialize_cartridge() {}
+ virtual void initialize_cartridge() { }
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_cart) {}
+ virtual DECLARE_WRITE8_MEMBER(write_cart) { }
// ROM/RAM/SRAM management
// Mainly used by the cartridge slot when loading images
@@ -41,6 +41,10 @@ public:
uint32_t get_sram_size() { return m_sram.size(); }
protected:
+ msx_cart_interface(const machine_config &mconfig, device_t &device);
+
+ virtual void interface_pre_start() override { m_out_irq_cb.resolve_safe(); }
+
std::vector<uint8_t> m_rom;
std::vector<uint8_t> m_ram;
std::vector<uint8_t> m_rom_vlm5030;
@@ -49,4 +53,4 @@ protected:
};
-#endif
+#endif // MAME_BUS_MSX_CART_CARTRIDGE_H
diff --git a/src/devices/bus/msx_cart/crossblaim.cpp b/src/devices/bus/msx_cart/crossblaim.cpp
index 97e875c5432..dfd7907ac46 100644
--- a/src/devices/bus/msx_cart/crossblaim.cpp
+++ b/src/devices/bus/msx_cart/crossblaim.cpp
@@ -3,11 +3,11 @@
#include "emu.h"
#include "crossblaim.h"
-const device_type MSX_CART_CROSSBLAIM = device_creator<msx_cart_crossblaim>;
+DEFINE_DEVICE_TYPE(MSX_CART_CROSSBLAIM, msx_cart_crossblaim_device, "msx_cart_crossblaim", "MSX Cartridge Cross Blaim")
-msx_cart_crossblaim::msx_cart_crossblaim(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_CROSSBLAIM, "MSX Cartridge - Cross Blaim", tag, owner, clock, "msx_cart_crossblaim", __FILE__)
+msx_cart_crossblaim_device::msx_cart_crossblaim_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_CROSSBLAIM, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_selected_bank(1)
{
@@ -18,15 +18,15 @@ msx_cart_crossblaim::msx_cart_crossblaim(const machine_config &mconfig, const ch
}
-void msx_cart_crossblaim::device_start()
+void msx_cart_crossblaim_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_crossblaim::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_crossblaim_device::restore_banks), this));
}
-void msx_cart_crossblaim::setup_bank()
+void msx_cart_crossblaim_device::setup_bank()
{
m_bank_base[0] = ( m_selected_bank & 2 ) ? nullptr : get_rom_base() + ( m_selected_bank & 0x03 ) * 0x4000;
m_bank_base[2] = get_rom_base() + ( m_selected_bank & 0x03 ) * 0x4000;
@@ -34,20 +34,20 @@ void msx_cart_crossblaim::setup_bank()
}
-void msx_cart_crossblaim::restore_banks()
+void msx_cart_crossblaim_device::restore_banks()
{
m_bank_base[1] = get_rom_base();
setup_bank();
}
-void msx_cart_crossblaim::device_reset()
+void msx_cart_crossblaim_device::device_reset()
{
m_selected_bank = 1;
}
-void msx_cart_crossblaim::initialize_cartridge()
+void msx_cart_crossblaim_device::initialize_cartridge()
{
if (get_rom_size() != 0x10000)
{
@@ -58,7 +58,7 @@ void msx_cart_crossblaim::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_crossblaim::read_cart)
+READ8_MEMBER(msx_cart_crossblaim_device::read_cart)
{
uint8_t *bank_base = m_bank_base[offset >> 14];
@@ -71,7 +71,7 @@ READ8_MEMBER(msx_cart_crossblaim::read_cart)
}
-WRITE8_MEMBER(msx_cart_crossblaim::write_cart)
+WRITE8_MEMBER(msx_cart_crossblaim_device::write_cart)
{
m_selected_bank = data & 3;
if (m_selected_bank == 0)
diff --git a/src/devices/bus/msx_cart/crossblaim.h b/src/devices/bus/msx_cart/crossblaim.h
index 8ee0a0ad6a7..a1321dd06df 100644
--- a/src/devices/bus/msx_cart/crossblaim.h
+++ b/src/devices/bus/msx_cart/crossblaim.h
@@ -1,29 +1,31 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_CROSSBLAIM_H
-#define __MSX_CART_CROSSBLAIM_H
+#ifndef MAME_BUS_MSX_CART_CROSSBLAIM_H
+#define MAME_BUS_MSX_CART_CROSSBLAIM_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_CROSSBLAIM;
+DECLARE_DEVICE_TYPE(MSX_CART_CROSSBLAIM, msx_cart_crossblaim_device)
-class msx_cart_crossblaim : public device_t
- , public msx_cart_interface
+class msx_cart_crossblaim_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_crossblaim(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_crossblaim_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -34,4 +36,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_CROSSBLAIM_H
diff --git a/src/devices/bus/msx_cart/disk.cpp b/src/devices/bus/msx_cart/disk.cpp
index 2355f8959ca..79313b49012 100644
--- a/src/devices/bus/msx_cart/disk.cpp
+++ b/src/devices/bus/msx_cart/disk.cpp
@@ -105,13 +105,13 @@
#include "formats/msx_dsk.h"
#include "softlist.h"
-const device_type MSX_CART_VY0010 = device_creator<msx_cart_vy0010>;
-const device_type MSX_CART_FSFD1 = device_creator<msx_cart_fsfd1>;
-const device_type MSX_CART_FSFD1A = device_creator<msx_cart_fsfd1a>;
-const device_type MSX_CART_FSCF351 = device_creator<msx_cart_fscf351>;
+DEFINE_DEVICE_TYPE(MSX_CART_VY0010, msx_cart_vy0010_device, "msx_cart_vy0010", "MSX Cartridge - VY0010")
+DEFINE_DEVICE_TYPE(MSX_CART_FSFD1, msx_cart_fsfd1_device, "msx_cart_fsfd1", "MSX Cartridge - FS-FD1")
+DEFINE_DEVICE_TYPE(MSX_CART_FSFD1A, msx_cart_fsfd1a_device, "msx_cart_fsfd1a", "MSX Cartridge - FS-FD1A")
+DEFINE_DEVICE_TYPE(MSX_CART_FSCF351, msx_cart_fscf351_device, "msx_cart_fscf351", "MSX Cartridge - FS-CF351")
-FLOPPY_FORMATS_MEMBER( msx_cart_disk::floppy_formats )
+FLOPPY_FORMATS_MEMBER( msx_cart_disk_device::floppy_formats )
FLOPPY_MSX_FORMAT
FLOPPY_FORMATS_END
@@ -122,8 +122,8 @@ static SLOT_INTERFACE_START( msx_floppies )
SLOT_INTERFACE_END
-msx_cart_disk::msx_cart_disk(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__)
+msx_cart_disk_device::msx_cart_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_floppy0(*this, "fdc:0")
, m_floppy1(*this, "fdc:1")
@@ -132,63 +132,64 @@ msx_cart_disk::msx_cart_disk(const machine_config &mconfig, device_type type, co
}
-msx_cart_disk_wd::msx_cart_disk_wd(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname)
- : msx_cart_disk(mconfig, type, name, tag, owner, clock, shortname)
+msx_cart_disk_wd_device::msx_cart_disk_wd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_disk_device(mconfig, type, tag, owner, clock)
, m_fdc(*this, "fdc")
{
}
-msx_cart_disk_type1::msx_cart_disk_type1(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname)
- : msx_cart_disk_wd(mconfig, type, name, tag, owner, clock, shortname), m_side_control(0)
- , m_control(0)
+msx_cart_disk_type1_device::msx_cart_disk_type1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_disk_wd_device(mconfig, type, tag, owner, clock)
+ , m_side_control(0)
+ , m_control(0)
{
}
-msx_cart_disk_type2::msx_cart_disk_type2(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname)
- : msx_cart_disk_wd(mconfig, type, name, tag, owner, clock, shortname)
+msx_cart_disk_type2_device::msx_cart_disk_type2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_disk_wd_device(mconfig, type, tag, owner, clock)
, m_control(0)
{
}
-msx_cart_vy0010::msx_cart_vy0010(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_cart_disk_type1(mconfig, MSX_CART_VY0010, "MSX Cartridge - VY0010", tag, owner, clock, "msx_cart_vy0010")
+msx_cart_vy0010_device::msx_cart_vy0010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_disk_type1_device(mconfig, MSX_CART_VY0010, tag, owner, clock)
{
}
-msx_cart_fsfd1::msx_cart_fsfd1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_cart_disk_type1(mconfig, MSX_CART_FSFD1, "MSX Cartridge - FS-FD1", tag, owner, clock, "msx_cart_fsfd1")
+msx_cart_fsfd1_device::msx_cart_fsfd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_disk_type1_device(mconfig, MSX_CART_FSFD1, tag, owner, clock)
{
}
-msx_cart_fscf351::msx_cart_fscf351(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_cart_disk_type2(mconfig, MSX_CART_FSCF351, "MSX Cartridge - FS-CF351", tag, owner, clock, "msx_cart_fscf351")
+msx_cart_fscf351_device::msx_cart_fscf351_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_disk_type2_device(mconfig, MSX_CART_FSCF351, tag, owner, clock)
{
}
-msx_cart_disk_tc8566::msx_cart_disk_tc8566(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname)
- : msx_cart_disk(mconfig, type, name, tag, owner, clock, shortname)
+msx_cart_disk_tc8566_device::msx_cart_disk_tc8566_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_disk_device(mconfig, type, tag, owner, clock)
, m_fdc(*this, "fdc")
{
}
-msx_cart_fsfd1a::msx_cart_fsfd1a(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_cart_disk_tc8566(mconfig, MSX_CART_FSFD1A, "MSX Cartridge - FS-FD1A", tag, owner, clock, "msx_cart_fsfd1a")
+msx_cart_fsfd1a_device::msx_cart_fsfd1a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_disk_tc8566_device(mconfig, MSX_CART_FSFD1A, tag, owner, clock)
{
}
-void msx_cart_disk::initialize_cartridge()
+void msx_cart_disk_device::initialize_cartridge()
{
if ( get_rom_size() != 0x4000 )
{
- fatalerror("msx_cart_disk: Invalid ROM size\n");
+ fatalerror("msx_cart_disk_device: Invalid ROM size\n");
}
}
@@ -202,7 +203,7 @@ static MACHINE_CONFIG_FRAGMENT( vy0010 )
MCFG_WD_FDC_FORCE_READY
// Single sided 3.5" floppy drive
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35ssdd", msx_cart_disk::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35ssdd", msx_cart_disk_device::floppy_formats)
// Attach software lists
// We do not know in what kind of machine the user has inserted the floppy interface
@@ -213,7 +214,7 @@ static MACHINE_CONFIG_FRAGMENT( vy0010 )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_vy0010::device_mconfig_additions() const
+machine_config_constructor msx_cart_vy0010_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( vy0010 );
}
@@ -223,7 +224,7 @@ static MACHINE_CONFIG_FRAGMENT( fsfd1 )
MCFG_WD2793_ADD("fdc", XTAL_4MHz / 4)
// Double sided 3.5" floppy drive
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats)
// Attach software lists
// We do not know in what kind of machine the user has inserted the floppy interface
@@ -234,7 +235,7 @@ static MACHINE_CONFIG_FRAGMENT( fsfd1 )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_fsfd1::device_mconfig_additions() const
+machine_config_constructor msx_cart_fsfd1_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fsfd1 );
}
@@ -244,7 +245,7 @@ static MACHINE_CONFIG_FRAGMENT( fsfd1a )
MCFG_TC8566AF_ADD("fdc")
// Double sided 3.5" floppy drive
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats)
// Attach software lists
// We do not know in what kind of machine the user has inserted the floppy interface
@@ -255,7 +256,7 @@ static MACHINE_CONFIG_FRAGMENT( fsfd1a )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_fsfd1a::device_mconfig_additions() const
+machine_config_constructor msx_cart_fsfd1a_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fsfd1a );
}
@@ -266,7 +267,7 @@ static MACHINE_CONFIG_FRAGMENT( fscf351 )
MCFG_WD_FDC_FORCE_READY
// Double sided 3.5" floppy drive
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats)
// Attach software lists
// We do not know in what kind of machine the user has inserted the floppy interface
@@ -277,22 +278,22 @@ static MACHINE_CONFIG_FRAGMENT( fscf351 )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_fscf351::device_mconfig_additions() const
+machine_config_constructor msx_cart_fscf351_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fscf351 );
}
-void msx_cart_disk_type1::device_start()
+void msx_cart_disk_type1_device::device_start()
{
save_item(NAME(m_side_control));
save_item(NAME(m_control));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_disk_type1::post_load), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_disk_type1_device::post_load), this));
}
-void msx_cart_disk_type1::post_load()
+void msx_cart_disk_type1_device::post_load()
{
uint8_t data = m_control;
@@ -303,7 +304,7 @@ void msx_cart_disk_type1::post_load()
}
-void msx_cart_disk_type1::set_control(uint8_t data)
+void msx_cart_disk_type1_device::set_control(uint8_t data)
{
uint8_t old_m_control = m_control;
@@ -340,7 +341,7 @@ void msx_cart_disk_type1::set_control(uint8_t data)
}
-void msx_cart_disk_type1::set_side_control(uint8_t data)
+void msx_cart_disk_type1_device::set_side_control(uint8_t data)
{
m_side_control = data;
@@ -351,13 +352,13 @@ void msx_cart_disk_type1::set_side_control(uint8_t data)
}
-void msx_cart_disk_type1::device_reset()
+void msx_cart_disk_type1_device::device_reset()
{
m_fdc->dden_w(false);
}
-READ8_MEMBER(msx_cart_disk_type1::read_cart)
+READ8_MEMBER(msx_cart_disk_type1_device::read_cart)
{
switch (offset)
{
@@ -398,7 +399,7 @@ READ8_MEMBER(msx_cart_disk_type1::read_cart)
}
-WRITE8_MEMBER(msx_cart_disk_type1::write_cart)
+WRITE8_MEMBER(msx_cart_disk_type1_device::write_cart)
{
switch (offset)
{
@@ -433,27 +434,27 @@ WRITE8_MEMBER(msx_cart_disk_type1::write_cart)
break;
default:
- logerror("msx_cart_disk_type1::write_cart: Unmapped write writing %02x to %04x\n", data, offset);
+ logerror("msx_cart_disk_type1_device::write_cart: Unmapped write writing %02x to %04x\n", data, offset);
break;
}
}
-void msx_cart_disk_type2::device_start()
+void msx_cart_disk_type2_device::device_start()
{
save_item(NAME(m_control));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_disk_type2::post_load), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_disk_type2_device::post_load), this));
}
-void msx_cart_disk_type2::device_reset()
+void msx_cart_disk_type2_device::device_reset()
{
m_fdc->dden_w(false);
}
-void msx_cart_disk_type2::post_load()
+void msx_cart_disk_type2_device::post_load()
{
uint8_t data = m_control;
@@ -464,7 +465,7 @@ void msx_cart_disk_type2::post_load()
}
-void msx_cart_disk_type2::set_control(uint8_t data)
+void msx_cart_disk_type2_device::set_control(uint8_t data)
{
uint8_t old_m_control = m_control;
@@ -500,7 +501,7 @@ void msx_cart_disk_type2::set_control(uint8_t data)
}
-READ8_MEMBER(msx_cart_disk_type2::read_cart)
+READ8_MEMBER(msx_cart_disk_type2_device::read_cart)
{
switch (offset)
{
@@ -533,7 +534,7 @@ READ8_MEMBER(msx_cart_disk_type2::read_cart)
}
-WRITE8_MEMBER(msx_cart_disk_type2::write_cart)
+WRITE8_MEMBER(msx_cart_disk_type2_device::write_cart)
{
switch (offset)
{
@@ -563,7 +564,7 @@ WRITE8_MEMBER(msx_cart_disk_type2::write_cart)
break;
default:
- logerror("msx_cart_disk_type2::write_cart: Unmapped write writing %02x to %04x\n", data, offset);
+ logerror("msx_cart_disk_type2_device::write_cart: Unmapped write writing %02x to %04x\n", data, offset);
break;
}
}
@@ -571,17 +572,17 @@ WRITE8_MEMBER(msx_cart_disk_type2::write_cart)
-void msx_cart_fsfd1a::device_start()
+void msx_cart_fsfd1a_device::device_start()
{
}
-void msx_cart_fsfd1a::device_reset()
+void msx_cart_fsfd1a_device::device_reset()
{
}
-READ8_MEMBER(msx_cart_fsfd1a::read_cart)
+READ8_MEMBER(msx_cart_fsfd1a_device::read_cart)
{
switch (offset)
{
@@ -602,7 +603,7 @@ READ8_MEMBER(msx_cart_fsfd1a::read_cart)
}
-WRITE8_MEMBER(msx_cart_fsfd1a::write_cart)
+WRITE8_MEMBER(msx_cart_fsfd1a_device::write_cart)
{
switch (offset)
{
@@ -622,7 +623,7 @@ WRITE8_MEMBER(msx_cart_fsfd1a::write_cart)
break;
default:
- logerror("msx_cart_fsfd1a::write_cart: Unmapped write writing %02x to %04x\n", data, offset);
+ logerror("msx_cart_fsfd1a_device::write_cart: Unmapped write writing %02x to %04x\n", data, offset);
break;
}
}
diff --git a/src/devices/bus/msx_cart/disk.h b/src/devices/bus/msx_cart/disk.h
index 2724ef39d4e..4d8a4d79146 100644
--- a/src/devices/bus/msx_cart/disk.h
+++ b/src/devices/bus/msx_cart/disk.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_DISK_H
-#define __MSX_CART_DISK_H
+#ifndef MAME_BUS_MSX_CART_DISK_H
+#define MAME_BUS_MSX_CART_DISK_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
#include "machine/wd_fdc.h"
@@ -10,54 +12,52 @@
#include "imagedev/floppy.h"
-extern const device_type MSX_CART_VY0010;
-extern const device_type MSX_CART_FSFD1;
-extern const device_type MSX_CART_FSFD1A;
-extern const device_type MSX_CART_FSCF351;
+DECLARE_DEVICE_TYPE(MSX_CART_VY0010, msx_cart_vy0010_device)
+DECLARE_DEVICE_TYPE(MSX_CART_FSFD1, msx_cart_fsfd1_device)
+DECLARE_DEVICE_TYPE(MSX_CART_FSFD1A, msx_cart_fsfd1a_device)
+DECLARE_DEVICE_TYPE(MSX_CART_FSCF351, msx_cart_fscf351_device)
-class msx_cart_disk : public device_t
- , public msx_cart_interface
+class msx_cart_disk_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_disk(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname);
-
virtual void initialize_cartridge() override;
DECLARE_FLOPPY_FORMATS(floppy_formats);
protected:
+ msx_cart_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1;
floppy_image_device *m_floppy;
};
-class msx_cart_disk_wd : public msx_cart_disk
+class msx_cart_disk_wd_device : public msx_cart_disk_device
{
-public:
- msx_cart_disk_wd(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname);
-
protected:
- required_device<wd_fdc_analog_t> m_fdc;
+ msx_cart_disk_wd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ required_device<wd_fdc_analog_device_base> m_fdc;
};
-class msx_cart_disk_type1 : public msx_cart_disk_wd
+class msx_cart_disk_type1_device : public msx_cart_disk_wd_device
{
public:
- msx_cart_disk_type1(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname);
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+
+protected:
+ msx_cart_disk_type1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual DECLARE_READ8_MEMBER(read_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_cart) override;
-
void post_load();
-protected:
uint8_t m_side_control;
uint8_t m_control;
@@ -66,77 +66,78 @@ protected:
};
-class msx_cart_disk_type2 : public msx_cart_disk_wd
+class msx_cart_disk_type2_device : public msx_cart_disk_wd_device
{
public:
- msx_cart_disk_type2(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname);
+ virtual DECLARE_READ8_MEMBER(read_cart) override;
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+
+protected:
+ msx_cart_disk_type2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual DECLARE_READ8_MEMBER(read_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_cart) override;
-
void post_load();
-protected:
uint8_t m_control;
void set_control(uint8_t data);
};
-class msx_cart_vy0010 : public msx_cart_disk_type1
+class msx_cart_vy0010_device : public msx_cart_disk_type1_device
{
public:
- msx_cart_vy0010(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_vy0010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
};
-class msx_cart_fsfd1 : public msx_cart_disk_type1
+class msx_cart_fsfd1_device : public msx_cart_disk_type1_device
{
public:
- msx_cart_fsfd1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_fsfd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
};
-class msx_cart_fscf351 : public msx_cart_disk_type2
+class msx_cart_fscf351_device : public msx_cart_disk_type2_device
{
public:
- msx_cart_fscf351(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_fscf351_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
};
-class msx_cart_disk_tc8566 : public msx_cart_disk
+class msx_cart_disk_tc8566_device : public msx_cart_disk_device
{
-public:
- msx_cart_disk_tc8566(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname);
-
protected:
+ msx_cart_disk_tc8566_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
required_device<tc8566af_device> m_fdc;
};
-class msx_cart_fsfd1a : public msx_cart_disk_tc8566
+class msx_cart_fsfd1a_device : public msx_cart_disk_tc8566_device
{
public:
- msx_cart_fsfd1a(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_fsfd1a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
};
-#endif
+#endif // MAME_BUS_MSX_CART_DISK_H
diff --git a/src/devices/bus/msx_cart/dooly.cpp b/src/devices/bus/msx_cart/dooly.cpp
index 05a29131cea..389e0c3da77 100644
--- a/src/devices/bus/msx_cart/dooly.cpp
+++ b/src/devices/bus/msx_cart/dooly.cpp
@@ -4,30 +4,30 @@
#include "dooly.h"
-const device_type MSX_CART_DOOLY = device_creator<msx_cart_dooly>;
+DEFINE_DEVICE_TYPE(MSX_CART_DOOLY, msx_cart_dooly_device, "msx_cart_dooly", "MSX Cartridge - Dooly")
-msx_cart_dooly::msx_cart_dooly(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_DOOLY, "MSX Cartridge - Dooly", tag, owner, clock, "msx_cart_dooly", __FILE__)
+msx_cart_dooly_device::msx_cart_dooly_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_DOOLY, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_prot(0)
{
}
-void msx_cart_dooly::device_start()
+void msx_cart_dooly_device::device_start()
{
save_item(NAME(m_prot));
}
-void msx_cart_dooly::device_reset()
+void msx_cart_dooly_device::device_reset()
{
m_prot = 0;
}
-void msx_cart_dooly::initialize_cartridge()
+void msx_cart_dooly_device::initialize_cartridge()
{
if (get_rom_size() != 0x8000)
{
@@ -36,7 +36,7 @@ void msx_cart_dooly::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_dooly::read_cart)
+READ8_MEMBER(msx_cart_dooly_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -54,14 +54,14 @@ READ8_MEMBER(msx_cart_dooly::read_cart)
}
-WRITE8_MEMBER(msx_cart_dooly::write_cart)
+WRITE8_MEMBER(msx_cart_dooly_device::write_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
m_prot = data & 0x07;
if (m_prot != 0 && m_prot != 4)
{
- logerror("msx_cart_dooly: unhandled write %02x to %04x\n", data, offset);
+ logerror("msx_cart_dooly_device: unhandled write %02x to %04x\n", data, offset);
}
}
}
diff --git a/src/devices/bus/msx_cart/dooly.h b/src/devices/bus/msx_cart/dooly.h
index 150d8ad452a..3ef7b365c82 100644
--- a/src/devices/bus/msx_cart/dooly.h
+++ b/src/devices/bus/msx_cart/dooly.h
@@ -1,32 +1,34 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_DOOLY_H
-#define __MSX_CART_DOOLY_H
+#ifndef MAME_BUS_MSX_CART_DOOLY_H
+#define MAME_BUS_MSX_CART_DOOLY_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_DOOLY;
+DECLARE_DEVICE_TYPE(MSX_CART_DOOLY, msx_cart_dooly_device)
-class msx_cart_dooly : public device_t
- , public msx_cart_interface
+class msx_cart_dooly_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_dooly(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_dooly_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_prot;
};
-#endif
+#endif // MAME_BUS_MSX_CART_DOOLY_H
diff --git a/src/devices/bus/msx_cart/fmpac.cpp b/src/devices/bus/msx_cart/fmpac.cpp
index 3eb388ddb8e..be434e55e41 100644
--- a/src/devices/bus/msx_cart/fmpac.cpp
+++ b/src/devices/bus/msx_cart/fmpac.cpp
@@ -11,11 +11,11 @@ with: PAC2 BACKUP DATA. We only store the raw sram contents.
#include "fmpac.h"
#include "speaker.h"
-const device_type MSX_CART_FMPAC = device_creator<msx_cart_fmpac>;
+DEFINE_DEVICE_TYPE(MSX_CART_FMPAC, msx_cart_fmpac_device, "msx_cart_fmpac", "MSX Cartridge - FM-PAC")
-msx_cart_fmpac::msx_cart_fmpac(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_FMPAC, "MSX Cartridge - FM-PAC", tag, owner, clock, "msx_cart_fmpac", __FILE__)
+msx_cart_fmpac_device::msx_cart_fmpac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_FMPAC, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_ym2413(*this, "ym2413")
, m_selected_bank(0)
@@ -37,13 +37,13 @@ static MACHINE_CONFIG_FRAGMENT( fmpac )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_fmpac::device_mconfig_additions() const
+machine_config_constructor msx_cart_fmpac_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fmpac );
}
-void msx_cart_fmpac::device_start()
+void msx_cart_fmpac_device::device_start()
{
save_item(NAME(m_selected_bank));
save_item(NAME(m_sram_active));
@@ -52,21 +52,21 @@ void msx_cart_fmpac::device_start()
save_item(NAME(m_1fff));
save_item(NAME(m_7ff6));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_fmpac::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_fmpac_device::restore_banks), this));
// Install IO read/write handlers
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
- space.install_write_handler(0x7c, 0x7d, write8_delegate(FUNC(msx_cart_fmpac::write_ym2413), this));
+ space.install_write_handler(0x7c, 0x7d, write8_delegate(FUNC(msx_cart_fmpac_device::write_ym2413), this));
}
-void msx_cart_fmpac::restore_banks()
+void msx_cart_fmpac_device::restore_banks()
{
m_bank_base = get_rom_base() + ( m_selected_bank & 0x03 ) * 0x4000;
}
-void msx_cart_fmpac::device_reset()
+void msx_cart_fmpac_device::device_reset()
{
m_selected_bank = 0;
m_sram_active = false;
@@ -77,7 +77,7 @@ void msx_cart_fmpac::device_reset()
}
-void msx_cart_fmpac::initialize_cartridge()
+void msx_cart_fmpac_device::initialize_cartridge()
{
if ( get_rom_size() != 0x10000 )
{
@@ -93,7 +93,7 @@ void msx_cart_fmpac::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_fmpac::read_cart)
+READ8_MEMBER(msx_cart_fmpac_device::read_cart)
{
if (offset >= 0x4000 && offset < 0x8000)
{
@@ -122,7 +122,7 @@ READ8_MEMBER(msx_cart_fmpac::read_cart)
}
-WRITE8_MEMBER(msx_cart_fmpac::write_cart)
+WRITE8_MEMBER(msx_cart_fmpac_device::write_cart)
{
if (offset >= 0x4000 && offset < 0x6000)
{
@@ -165,7 +165,7 @@ WRITE8_MEMBER(msx_cart_fmpac::write_cart)
}
-WRITE8_MEMBER(msx_cart_fmpac::write_ym2413)
+WRITE8_MEMBER(msx_cart_fmpac_device::write_ym2413)
{
if (m_opll_active)
{
diff --git a/src/devices/bus/msx_cart/fmpac.h b/src/devices/bus/msx_cart/fmpac.h
index ed75abdbe05..2051cdafa81 100644
--- a/src/devices/bus/msx_cart/fmpac.h
+++ b/src/devices/bus/msx_cart/fmpac.h
@@ -1,24 +1,23 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_FMPAC_H
-#define __MSX_CART_FMPAC_H
+#ifndef MAME_BUS_MSX_CART_FMPAC_H
+#define MAME_BUS_MSX_CART_FMPAC_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
#include "sound/ym2413.h"
-extern const device_type MSX_CART_FMPAC;
+DECLARE_DEVICE_TYPE(MSX_CART_FMPAC, msx_art_fmpac_device)
-class msx_cart_fmpac : public device_t
- , public msx_cart_interface
+class msx_cart_fmpac_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_fmpac(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_fmpac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override;
@@ -26,10 +25,14 @@ public:
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- void restore_banks();
-
DECLARE_WRITE8_MEMBER(write_ym2413);
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ void restore_banks();
+
private:
required_device<ym2413_device> m_ym2413;
@@ -43,4 +46,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_FMPAC_H
diff --git a/src/devices/bus/msx_cart/fs_sr022.cpp b/src/devices/bus/msx_cart/fs_sr022.cpp
index 6b7cb69c17a..7e0eac793df 100644
--- a/src/devices/bus/msx_cart/fs_sr022.cpp
+++ b/src/devices/bus/msx_cart/fs_sr022.cpp
@@ -4,11 +4,11 @@
#include "fs_sr022.h"
-const device_type MSX_CART_FS_SR022 = device_creator<msx_cart_fs_sr022>;
+DEFINE_DEVICE_TYPE(MSX_CART_FS_SR022, msx_cart_fs_sr022_device, "msx_cart_fs_sr022", "MSX Cartridge - FS-SR022")
-msx_cart_fs_sr022::msx_cart_fs_sr022(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_FS_SR022, "MSX Cartridge - FS-SR022", tag, owner, clock, "msx_cart_fs_sr022", __FILE__)
+msx_cart_fs_sr022_device::msx_cart_fs_sr022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_FS_SR022, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bunsetsu_rom(nullptr)
, m_bunsetsu_address(0)
@@ -16,19 +16,19 @@ msx_cart_fs_sr022::msx_cart_fs_sr022(const machine_config &mconfig, const char *
}
-void msx_cart_fs_sr022::device_start()
+void msx_cart_fs_sr022_device::device_start()
{
save_item(NAME(m_bunsetsu_address));
}
-void msx_cart_fs_sr022::device_reset()
+void msx_cart_fs_sr022_device::device_reset()
{
m_bunsetsu_address = 0;
}
-void msx_cart_fs_sr022::initialize_cartridge()
+void msx_cart_fs_sr022_device::initialize_cartridge()
{
if (get_rom_size() != 0x40000)
{
@@ -38,7 +38,7 @@ void msx_cart_fs_sr022::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_fs_sr022::read_cart)
+READ8_MEMBER(msx_cart_fs_sr022_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -52,7 +52,7 @@ READ8_MEMBER(msx_cart_fs_sr022::read_cart)
}
-WRITE8_MEMBER(msx_cart_fs_sr022::write_cart)
+WRITE8_MEMBER(msx_cart_fs_sr022_device::write_cart)
{
switch (offset)
{
diff --git a/src/devices/bus/msx_cart/fs_sr022.h b/src/devices/bus/msx_cart/fs_sr022.h
index 8318669d198..bf3259090e1 100644
--- a/src/devices/bus/msx_cart/fs_sr022.h
+++ b/src/devices/bus/msx_cart/fs_sr022.h
@@ -1,33 +1,35 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_FS_SR022_H
-#define __MSX_CART_FS_SR022_H
+#ifndef MAME_BUS_MSX_CART_FS_SR022_H
+#define MAME_BUS_MSX_CART_FS_SR022_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_FS_SR022;
+DECLARE_DEVICE_TYPE(MSX_CART_FS_SR022, msx_cart_fs_sr022_device)
-class msx_cart_fs_sr022 : public device_t
- , public msx_cart_interface
+class msx_cart_fs_sr022_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_fs_sr022(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_fs_sr022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
const uint8_t *m_bunsetsu_rom;
uint32_t m_bunsetsu_address;
};
-#endif
+#endif // MAME_BUS_MSX_CART_FS_SR022_H
diff --git a/src/devices/bus/msx_cart/halnote.cpp b/src/devices/bus/msx_cart/halnote.cpp
index a4a25378d6e..013d2b83680 100644
--- a/src/devices/bus/msx_cart/halnote.cpp
+++ b/src/devices/bus/msx_cart/halnote.cpp
@@ -4,30 +4,27 @@
#include "halnote.h"
-const device_type MSX_CART_HALNOTE = device_creator<msx_cart_halnote>;
+DEFINE_DEVICE_TYPE(MSX_CART_HALNOTE, msx_cart_halnote_device, "msx_cart_halnote", "MSX Cartridge - Halnote")
-msx_cart_halnote::msx_cart_halnote(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_HALNOTE, "MSX Cartridge - Halnote", tag, owner, clock, "msx_cart_halnote", __FILE__)
+msx_cart_halnote_device::msx_cart_halnote_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_HALNOTE, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
+ , m_selected_bank{ 0, 0, 0, 0, 0, 0, 0, 0 }
+ , m_bank_base{ nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }
{
- for (int i = 0; i < 8; i++)
- {
- m_selected_bank[i] = 0;
- m_bank_base[i] = nullptr;
- }
}
-void msx_cart_halnote::device_start()
+void msx_cart_halnote_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_halnote::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_halnote_device::restore_banks), this));
}
-void msx_cart_halnote::map_bank(int bank)
+void msx_cart_halnote_device::map_bank(int bank)
{
if (bank < 2)
{
@@ -58,7 +55,7 @@ void msx_cart_halnote::map_bank(int bank)
}
-void msx_cart_halnote::restore_banks()
+void msx_cart_halnote_device::restore_banks()
{
for (int i = 0; i < 8; i++)
{
@@ -67,7 +64,7 @@ void msx_cart_halnote::restore_banks()
}
-void msx_cart_halnote::device_reset()
+void msx_cart_halnote_device::device_reset()
{
for (auto & elem : m_selected_bank)
{
@@ -76,7 +73,7 @@ void msx_cart_halnote::device_reset()
}
-void msx_cart_halnote::initialize_cartridge()
+void msx_cart_halnote_device::initialize_cartridge()
{
if (get_rom_size() != 0x100000)
{
@@ -87,7 +84,7 @@ void msx_cart_halnote::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_halnote::read_cart)
+READ8_MEMBER(msx_cart_halnote_device::read_cart)
{
if (offset >= 0xc000)
{
@@ -109,7 +106,7 @@ READ8_MEMBER(msx_cart_halnote::read_cart)
}
-WRITE8_MEMBER(msx_cart_halnote::write_cart)
+WRITE8_MEMBER(msx_cart_halnote_device::write_cart)
{
if (offset < 0x4000)
{
@@ -153,7 +150,7 @@ WRITE8_MEMBER(msx_cart_halnote::write_cart)
break;
default:
- logerror("msx_cart_halnote: Unhandled write %02x to %04x\n", data, offset);
+ logerror("msx_cart_halnote_device: Unhandled write %02x to %04x\n", data, offset);
break;
}
}
diff --git a/src/devices/bus/msx_cart/halnote.h b/src/devices/bus/msx_cart/halnote.h
index 79002eca1bc..ad64d2539ee 100644
--- a/src/devices/bus/msx_cart/halnote.h
+++ b/src/devices/bus/msx_cart/halnote.h
@@ -1,29 +1,31 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_HALNOTE_H
-#define __MSX_CART_HALNOTE_H
+#ifndef MAME_BUS_MSX_CART_HALNOTE_H
+#define MAME_BUS_MSX_CART_HALNOTE_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_HALNOTE;
+DECLARE_DEVICE_TYPE(MSX_CART_HALNOTE, msx_cart_halnote_device)
-class msx_cart_halnote : public device_t
- , public msx_cart_interface
+class msx_cart_halnote_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_halnote(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_halnote_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -34,4 +36,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_HALNOTE_H
diff --git a/src/devices/bus/msx_cart/hfox.cpp b/src/devices/bus/msx_cart/hfox.cpp
index fa8ea7b8870..d7fb793e42d 100644
--- a/src/devices/bus/msx_cart/hfox.cpp
+++ b/src/devices/bus/msx_cart/hfox.cpp
@@ -4,40 +4,40 @@
#include "hfox.h"
-const device_type MSX_CART_HFOX = device_creator<msx_cart_hfox>;
+DEFINE_DEVICE_TYPE(MSX_CART_HFOX, msx_cart_hfox_device, "msx_cart_hfox", "MSX Cartridge - Harry Fox")
-msx_cart_hfox::msx_cart_hfox(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_HFOX, "MSX Cartridge - Harry Fox", tag, owner, clock, "msx_cart_hfox", __FILE__)
+msx_cart_hfox_device::msx_cart_hfox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_HFOX, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
+ , m_selected_bank{ 0, 0 }
+ , m_bank_base{ nullptr, nullptr }
{
- m_selected_bank[0] = m_selected_bank[1] = 0;
- m_bank_base[0] = m_bank_base[1] = nullptr;
}
-void msx_cart_hfox::device_start()
+void msx_cart_hfox_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_hfox::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_hfox_device::restore_banks), this));
}
-void msx_cart_hfox::restore_banks()
+void msx_cart_hfox_device::restore_banks()
{
m_bank_base[0] = get_rom_base() + ((m_selected_bank[0] & 0x01) * 0x8000);
m_bank_base[1] = get_rom_base() + ((m_selected_bank[1] & 0x01) * 0x8000) + 0x4000;
}
-void msx_cart_hfox::device_reset()
+void msx_cart_hfox_device::device_reset()
{
m_selected_bank[0] = m_selected_bank[1] = 0;
}
-void msx_cart_hfox::initialize_cartridge()
+void msx_cart_hfox_device::initialize_cartridge()
{
if (get_rom_size() < 0x10000)
{
@@ -48,7 +48,7 @@ void msx_cart_hfox::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_hfox::read_cart)
+READ8_MEMBER(msx_cart_hfox_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -58,7 +58,7 @@ READ8_MEMBER(msx_cart_hfox::read_cart)
}
-WRITE8_MEMBER(msx_cart_hfox::write_cart)
+WRITE8_MEMBER(msx_cart_hfox_device::write_cart)
{
switch (offset)
{
@@ -73,7 +73,7 @@ WRITE8_MEMBER(msx_cart_hfox::write_cart)
break;
default:
- logerror("msx_cart_hfox: unhandled write %02x to %04x\n", data, offset);
+ logerror("msx_cart_hfox_device: unhandled write %02x to %04x\n", data, offset);
break;
}
}
diff --git a/src/devices/bus/msx_cart/hfox.h b/src/devices/bus/msx_cart/hfox.h
index 7e58a07b10f..debcbc31308 100644
--- a/src/devices/bus/msx_cart/hfox.h
+++ b/src/devices/bus/msx_cart/hfox.h
@@ -1,29 +1,29 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_HFOX_H
-#define __MSX_CART_HFOX_H
+#ifndef MAME_BUS_MSX_CART_HFOX_H
+#define MAME_BUS_MSX_CART_HFOX_H
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_HFOX;
+DECLARE_DEVICE_TYPE(MSX_CART_HFOX, msx_cart_hfox_device)
-class msx_cart_hfox : public device_t
- , public msx_cart_interface
+class msx_cart_hfox_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_hfox(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_hfox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -32,4 +32,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_HFOX_H
diff --git a/src/devices/bus/msx_cart/holy_quran.cpp b/src/devices/bus/msx_cart/holy_quran.cpp
index 2c6eaca3eb0..c461b83ee16 100644
--- a/src/devices/bus/msx_cart/holy_quran.cpp
+++ b/src/devices/bus/msx_cart/holy_quran.cpp
@@ -4,20 +4,16 @@
#include "holy_quran.h"
-const device_type MSX_CART_HOLY_QURAN = device_creator<msx_cart_holy_quran>;
+DEFINE_DEVICE_TYPE(MSX_CART_HOLY_QURAN, msx_cart_holy_quran_device, "msx_cart_holy_quran", "MSX Cartridge - Holy Quran")
-msx_cart_holy_quran::msx_cart_holy_quran(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_HOLY_QURAN, "MSX Cartridge - Holy Quran", tag, owner, clock, "msx_cart_holy_quran", __FILE__)
+msx_cart_holy_quran_device::msx_cart_holy_quran_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_HOLY_QURAN, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
+ , m_selected_bank{ 0, 0, 0, 0 }
+ , m_bank_base{ nullptr, nullptr, nullptr, nullptr }
, m_decrypt(false)
{
- for (int i = 0; i < 4; i++)
- {
- m_selected_bank[i] = 0;
- m_bank_base[i] = nullptr;
- }
-
/* protection uses a simple rotation on databus, some lines inverted:
D0 D4 D4 D5
D1 ~ D3 D5 ~ D2
@@ -30,16 +26,16 @@ msx_cart_holy_quran::msx_cart_holy_quran(const machine_config &mconfig, const ch
}
-void msx_cart_holy_quran::device_start()
+void msx_cart_holy_quran_device::device_start()
{
save_item(NAME(m_selected_bank));
save_item(NAME(m_decrypt));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_holy_quran::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_holy_quran_device::restore_banks), this));
}
-void msx_cart_holy_quran::restore_banks()
+void msx_cart_holy_quran_device::restore_banks()
{
m_bank_base[0] = get_rom_base() + (m_selected_bank[0] & 0x7f) * 0x2000;
m_bank_base[1] = get_rom_base() + (m_selected_bank[1] & 0x7f) * 0x2000;
@@ -48,7 +44,7 @@ void msx_cart_holy_quran::restore_banks()
}
-void msx_cart_holy_quran::device_reset()
+void msx_cart_holy_quran_device::device_reset()
{
for (auto & elem : m_selected_bank)
{
@@ -57,7 +53,7 @@ void msx_cart_holy_quran::device_reset()
}
-void msx_cart_holy_quran::initialize_cartridge()
+void msx_cart_holy_quran_device::initialize_cartridge()
{
if (get_rom_size() != 0x100000)
{
@@ -68,7 +64,7 @@ void msx_cart_holy_quran::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_holy_quran::read_cart)
+READ8_MEMBER(msx_cart_holy_quran_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -92,7 +88,7 @@ READ8_MEMBER(msx_cart_holy_quran::read_cart)
}
-WRITE8_MEMBER(msx_cart_holy_quran::write_cart)
+WRITE8_MEMBER(msx_cart_holy_quran_device::write_cart)
{
switch (offset)
{
@@ -113,7 +109,7 @@ WRITE8_MEMBER(msx_cart_holy_quran::write_cart)
restore_banks();
break;
default:
- logerror("msx_cart_holy_quran: unhandled write %02x to %04x\n", data, offset);
+ logerror("msx_cart_holy_quran_device: unhandled write %02x to %04x\n", data, offset);
break;
}
}
diff --git a/src/devices/bus/msx_cart/holy_quran.h b/src/devices/bus/msx_cart/holy_quran.h
index 0b2bd1a06f8..b805282790c 100644
--- a/src/devices/bus/msx_cart/holy_quran.h
+++ b/src/devices/bus/msx_cart/holy_quran.h
@@ -1,29 +1,31 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_HOLY_QURAN_H
-#define __MSX_CART_HOLY_QURAN_H
+#ifndef MAME_BUS_MSX_CART_HOLY_QURAN_H
+#define MAME_BUS_MSX_CART_HOLY_QURAN_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_HOLY_QURAN;
+DECLARE_DEVICE_TYPE(MSX_CART_HOLY_QURAN, msx_cart_holy_quran_device)
-class msx_cart_holy_quran : public device_t
- , public msx_cart_interface
+class msx_cart_holy_quran_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_holy_quran(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_holy_quran_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -34,4 +36,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_HOLY_QURAN_H
diff --git a/src/devices/bus/msx_cart/konami.cpp b/src/devices/bus/msx_cart/konami.cpp
index b082e5c9703..4d7be20e91c 100644
--- a/src/devices/bus/msx_cart/konami.cpp
+++ b/src/devices/bus/msx_cart/konami.cpp
@@ -7,17 +7,17 @@
#include "speaker.h"
-const device_type MSX_CART_KONAMI = device_creator<msx_cart_konami>;
-const device_type MSX_CART_KONAMI_SCC = device_creator<msx_cart_konami_scc>;
-const device_type MSX_CART_GAMEMASTER2 = device_creator<msx_cart_gamemaster2>;
-const device_type MSX_CART_SYNTHESIZER = device_creator<msx_cart_synthesizer>;
-const device_type MSX_CART_SOUND_SNATCHER = device_creator<msx_cart_konami_sound_snatcher>;
-const device_type MSX_CART_SOUND_SDSNATCHER = device_creator<msx_cart_konami_sound_sdsnatcher>;
-const device_type MSX_CART_KEYBOARD_MASTER = device_creator<msx_cart_keyboard_master>;
+DEFINE_DEVICE_TYPE(MSX_CART_KONAMI, msx_cart_konami_device, "msx_cart_konami", "MSX Cartridge - KONAMI")
+DEFINE_DEVICE_TYPE(MSX_CART_KONAMI_SCC, msx_cart_konami_scc_device, "msx_cart_konami_scc", "MSX Cartridge - KONAMI+SCC")
+DEFINE_DEVICE_TYPE(MSX_CART_GAMEMASTER2, msx_cart_gamemaster2_device, "msx_cart_gamemaster2", "MSX Cartridge - GAMEMASTER2")
+DEFINE_DEVICE_TYPE(MSX_CART_SYNTHESIZER, msx_cart_synthesizer_device, "msx_cart_synthesizer", "MSX Cartridge - Synthesizer")
+DEFINE_DEVICE_TYPE(MSX_CART_SOUND_SNATCHER, msx_cart_konami_sound_snatcher_device, "msx_cart_sound_snatcher", "MSX Cartridge - Sound Snatcher")
+DEFINE_DEVICE_TYPE(MSX_CART_SOUND_SDSNATCHER, msx_cart_konami_sound_sdsnatcher_device, "msx_cart_sound_sdsnatcher", "MSX Cartridge - Sound SD Snatcher")
+DEFINE_DEVICE_TYPE(MSX_CART_KEYBOARD_MASTER, msx_cart_keyboard_master_device, "msx_cart_keyboard_master", "MSX Cartridge - Keyboard Master")
-msx_cart_konami::msx_cart_konami(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_KONAMI, "MSX Cartridge - KONAMI", tag, owner, clock, "msx_cart_konami", __FILE__)
+msx_cart_konami_device::msx_cart_konami_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_KONAMI, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_mask(0)
{
@@ -32,15 +32,15 @@ msx_cart_konami::msx_cart_konami(const machine_config &mconfig, const char *tag,
}
-void msx_cart_konami::device_start()
+void msx_cart_konami_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_konami::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_konami_device::restore_banks), this));
}
-void msx_cart_konami::restore_banks()
+void msx_cart_konami_device::restore_banks()
{
m_bank_base[0] = get_rom_base() + ( m_selected_bank[0] & m_bank_mask ) * 0x2000;
m_bank_base[1] = get_rom_base() + ( m_selected_bank[1] & m_bank_mask ) * 0x2000;
@@ -53,7 +53,7 @@ void msx_cart_konami::restore_banks()
}
-void msx_cart_konami::device_reset()
+void msx_cart_konami_device::device_reset()
{
for (int i = 0; i < 4; i++)
{
@@ -62,7 +62,7 @@ void msx_cart_konami::device_reset()
}
-void msx_cart_konami::initialize_cartridge()
+void msx_cart_konami_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -84,13 +84,13 @@ void msx_cart_konami::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_konami::read_cart)
+READ8_MEMBER(msx_cart_konami_device::read_cart)
{
return m_bank_base[offset >> 13][offset & 0x1fff];
}
-WRITE8_MEMBER(msx_cart_konami::write_cart)
+WRITE8_MEMBER(msx_cart_konami_device::write_cart)
{
switch (offset & 0xe000)
{
@@ -123,8 +123,8 @@ WRITE8_MEMBER(msx_cart_konami::write_cart)
-msx_cart_konami_scc::msx_cart_konami_scc(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_KONAMI_SCC, "MSX Cartridge - KONAMI+SCC", tag, owner, clock, "msx_cart_konami_scc", __FILE__)
+msx_cart_konami_scc_device::msx_cart_konami_scc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_KONAMI_SCC, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_k051649(*this, "k051649")
, m_bank_mask(0)
@@ -149,22 +149,22 @@ static MACHINE_CONFIG_FRAGMENT( konami_scc )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_konami_scc::device_mconfig_additions() const
+machine_config_constructor msx_cart_konami_scc_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( konami_scc );
}
-void msx_cart_konami_scc::device_start()
+void msx_cart_konami_scc_device::device_start()
{
save_item(NAME(m_selected_bank));
save_item(NAME(m_scc_active));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_konami_scc::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_konami_scc_device::restore_banks), this));
}
-void msx_cart_konami_scc::restore_banks()
+void msx_cart_konami_scc_device::restore_banks()
{
m_bank_base[0] = get_rom_base() + ( m_selected_bank[2] & m_bank_mask ) * 0x2000;
m_bank_base[1] = get_rom_base() + ( m_selected_bank[3] & m_bank_mask ) * 0x2000;
@@ -177,7 +177,7 @@ void msx_cart_konami_scc::restore_banks()
}
-void msx_cart_konami_scc::device_reset()
+void msx_cart_konami_scc_device::device_reset()
{
for (int i = 0; i < 4; i++)
{
@@ -187,7 +187,7 @@ void msx_cart_konami_scc::device_reset()
}
-void msx_cart_konami_scc::initialize_cartridge()
+void msx_cart_konami_scc_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -209,7 +209,7 @@ void msx_cart_konami_scc::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_konami_scc::read_cart)
+READ8_MEMBER(msx_cart_konami_scc_device::read_cart)
{
if ( m_scc_active && offset >= 0x9800 && offset < 0xa000 )
{
@@ -231,7 +231,7 @@ READ8_MEMBER(msx_cart_konami_scc::read_cart)
}
-WRITE8_MEMBER(msx_cart_konami_scc::write_cart)
+WRITE8_MEMBER(msx_cart_konami_scc_device::write_cart)
{
switch (offset & 0xf800)
{
@@ -299,8 +299,8 @@ WRITE8_MEMBER(msx_cart_konami_scc::write_cart)
-msx_cart_gamemaster2::msx_cart_gamemaster2(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_GAMEMASTER2, "MSX Cartridge - GAMEMASTER2", tag, owner, clock, "msx_cart_gamemaster2", __FILE__)
+msx_cart_gamemaster2_device::msx_cart_gamemaster2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_GAMEMASTER2, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
{
for (auto & elem : m_selected_bank)
@@ -314,15 +314,15 @@ msx_cart_gamemaster2::msx_cart_gamemaster2(const machine_config &mconfig, const
}
-void msx_cart_gamemaster2::device_start()
+void msx_cart_gamemaster2_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_gamemaster2::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_gamemaster2_device::restore_banks), this));
}
-void msx_cart_gamemaster2::setup_bank(uint8_t bank)
+void msx_cart_gamemaster2_device::setup_bank(uint8_t bank)
{
switch (bank)
{
@@ -368,7 +368,7 @@ void msx_cart_gamemaster2::setup_bank(uint8_t bank)
}
-void msx_cart_gamemaster2::restore_banks()
+void msx_cart_gamemaster2_device::restore_banks()
{
m_bank_base[0] = get_rom_base();
m_bank_base[2] = get_rom_base();
@@ -378,7 +378,7 @@ void msx_cart_gamemaster2::restore_banks()
}
-void msx_cart_gamemaster2::device_reset()
+void msx_cart_gamemaster2_device::device_reset()
{
for (int i = 0; i < 3; i++)
{
@@ -387,7 +387,7 @@ void msx_cart_gamemaster2::device_reset()
}
-void msx_cart_gamemaster2::initialize_cartridge()
+void msx_cart_gamemaster2_device::initialize_cartridge()
{
if ( get_rom_size() != 0x20000 )
{
@@ -403,7 +403,7 @@ void msx_cart_gamemaster2::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_gamemaster2::read_cart)
+READ8_MEMBER(msx_cart_gamemaster2_device::read_cart)
{
uint8_t bank = offset >> 13;
@@ -437,7 +437,7 @@ READ8_MEMBER(msx_cart_gamemaster2::read_cart)
}
-WRITE8_MEMBER(msx_cart_gamemaster2::write_cart)
+WRITE8_MEMBER(msx_cart_gamemaster2_device::write_cart)
{
switch (offset & 0xf000)
{
@@ -469,8 +469,8 @@ WRITE8_MEMBER(msx_cart_gamemaster2::write_cart)
-msx_cart_synthesizer::msx_cart_synthesizer(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_SYNTHESIZER, "MSX Cartridge - Synthesizer", tag, owner, clock, "msx_cart_synthesizer", __FILE__)
+msx_cart_synthesizer_device::msx_cart_synthesizer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_SYNTHESIZER, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_base(nullptr)
, m_dac(*this, "dac")
@@ -487,18 +487,18 @@ static MACHINE_CONFIG_FRAGMENT( synthesizer )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_synthesizer::device_mconfig_additions() const
+machine_config_constructor msx_cart_synthesizer_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( synthesizer );
}
-void msx_cart_synthesizer::device_start()
+void msx_cart_synthesizer_device::device_start()
{
}
-void msx_cart_synthesizer::initialize_cartridge()
+void msx_cart_synthesizer_device::initialize_cartridge()
{
if ( get_rom_size() != 0x8000 )
{
@@ -509,7 +509,7 @@ void msx_cart_synthesizer::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_synthesizer::read_cart)
+READ8_MEMBER(msx_cart_synthesizer_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000 )
{
@@ -519,7 +519,7 @@ READ8_MEMBER(msx_cart_synthesizer::read_cart)
}
-WRITE8_MEMBER(msx_cart_synthesizer::write_cart)
+WRITE8_MEMBER(msx_cart_synthesizer_device::write_cart)
{
if ((offset & 0xc010) == 0x4000)
{
@@ -530,8 +530,8 @@ WRITE8_MEMBER(msx_cart_synthesizer::write_cart)
-msx_cart_konami_sound::msx_cart_konami_sound(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+msx_cart_konami_sound_device::msx_cart_konami_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_k052539(*this, "k052539")
, m_scc_active(false)
@@ -565,24 +565,24 @@ static MACHINE_CONFIG_FRAGMENT( konami_sound )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_konami_sound::device_mconfig_additions() const
+machine_config_constructor msx_cart_konami_sound_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( konami_sound );
}
-void msx_cart_konami_sound::device_start()
+void msx_cart_konami_sound_device::device_start()
{
save_item(NAME(m_selected_bank));
save_item(NAME(m_scc_active));
save_item(NAME(m_sccplus_active));
save_item(NAME(m_ram_enabled));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_konami_sound::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_konami_sound_device::restore_banks), this));
}
-void msx_cart_konami_sound::restore_banks()
+void msx_cart_konami_sound_device::restore_banks()
{
for (int i = 0; i < 4; i++)
{
@@ -591,7 +591,7 @@ void msx_cart_konami_sound::restore_banks()
}
-void msx_cart_konami_sound::setup_bank(uint8_t bank)
+void msx_cart_konami_sound_device::setup_bank(uint8_t bank)
{
switch (bank)
{
@@ -618,7 +618,7 @@ void msx_cart_konami_sound::setup_bank(uint8_t bank)
}
-void msx_cart_konami_sound::device_reset()
+void msx_cart_konami_sound_device::device_reset()
{
for (int i = 0; i < 4; i++)
{
@@ -630,13 +630,13 @@ void msx_cart_konami_sound::device_reset()
}
-void msx_cart_konami_sound::initialize_cartridge()
+void msx_cart_konami_sound_device::initialize_cartridge()
{
restore_banks();
}
-READ8_MEMBER(msx_cart_konami_sound::read_cart)
+READ8_MEMBER(msx_cart_konami_sound_device::read_cart)
{
if ( m_scc_active && offset >= 0x9800 && offset < 0x9fe0 )
{
@@ -684,7 +684,7 @@ READ8_MEMBER(msx_cart_konami_sound::read_cart)
}
-WRITE8_MEMBER(msx_cart_konami_sound::write_cart)
+WRITE8_MEMBER(msx_cart_konami_sound_device::write_cart)
{
switch (offset & 0xe000)
{
@@ -826,15 +826,15 @@ WRITE8_MEMBER(msx_cart_konami_sound::write_cart)
}
-msx_cart_konami_sound_snatcher::msx_cart_konami_sound_snatcher(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_cart_konami_sound(mconfig, MSX_CART_SOUND_SNATCHER, "MSX Cartridge - Sound Snatcher", tag, owner, clock, "msx_cart_sound_snatcher", __FILE__)
+msx_cart_konami_sound_snatcher_device::msx_cart_konami_sound_snatcher_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_konami_sound_device(mconfig, MSX_CART_SOUND_SNATCHER, tag, owner, clock)
{
}
-void msx_cart_konami_sound_snatcher::initialize_cartridge()
+void msx_cart_konami_sound_snatcher_device::initialize_cartridge()
{
- msx_cart_konami_sound::initialize_cartridge();
+ msx_cart_konami_sound_device::initialize_cartridge();
if (get_ram_size() != 0x10000)
{
@@ -850,15 +850,15 @@ void msx_cart_konami_sound_snatcher::initialize_cartridge()
}
-msx_cart_konami_sound_sdsnatcher::msx_cart_konami_sound_sdsnatcher(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_cart_konami_sound(mconfig, MSX_CART_SOUND_SDSNATCHER, "MSX Cartridge - Sound SD Snatcher", tag, owner, clock, "msx_cart_sound_sdsnatcher", __FILE__)
+msx_cart_konami_sound_sdsnatcher_device::msx_cart_konami_sound_sdsnatcher_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_konami_sound_device(mconfig, MSX_CART_SOUND_SDSNATCHER, tag, owner, clock)
{
}
-void msx_cart_konami_sound_sdsnatcher::initialize_cartridge()
+void msx_cart_konami_sound_sdsnatcher_device::initialize_cartridge()
{
- msx_cart_konami_sound::initialize_cartridge();
+ msx_cart_konami_sound_device::initialize_cartridge();
if (get_ram_size() != 0x10000)
{
@@ -876,15 +876,15 @@ void msx_cart_konami_sound_sdsnatcher::initialize_cartridge()
-msx_cart_keyboard_master::msx_cart_keyboard_master(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_KEYBOARD_MASTER, "MSX Cartridge - Keyboard Master", tag, owner, clock, "msx_cart_keyboard_master", __FILE__)
+msx_cart_keyboard_master_device::msx_cart_keyboard_master_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_KEYBOARD_MASTER, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_vlm5030(*this, "vlm5030")
{
}
-static ADDRESS_MAP_START( vlm_map, AS_0, 8, msx_cart_keyboard_master )
+static ADDRESS_MAP_START( vlm_map, AS_0, 8, msx_cart_keyboard_master_device )
AM_RANGE(0x0000, 0xffff) AM_READ(read_vlm)
ADDRESS_MAP_END
@@ -898,23 +898,23 @@ static MACHINE_CONFIG_FRAGMENT( msx_cart_keyboard_master )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_keyboard_master::device_mconfig_additions() const
+machine_config_constructor msx_cart_keyboard_master_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_cart_keyboard_master );
}
-void msx_cart_keyboard_master::device_start()
+void msx_cart_keyboard_master_device::device_start()
{
// Install IO read/write handlers
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
space.install_write_handler(0x00, 0x00, write8_delegate(FUNC(vlm5030_device::data_w), m_vlm5030.target()));
- space.install_write_handler(0x20, 0x20, write8_delegate(FUNC(msx_cart_keyboard_master::io_20_w), this));
- space.install_read_handler(0x00, 0x00, read8_delegate(FUNC(msx_cart_keyboard_master::io_00_r), this));
+ space.install_write_handler(0x20, 0x20, write8_delegate(FUNC(msx_cart_keyboard_master_device::io_20_w), this));
+ space.install_read_handler(0x00, 0x00, read8_delegate(FUNC(msx_cart_keyboard_master_device::io_00_r), this));
}
-void msx_cart_keyboard_master::initialize_cartridge()
+void msx_cart_keyboard_master_device::initialize_cartridge()
{
if (get_rom_size() != 0x4000)
{
@@ -923,7 +923,7 @@ void msx_cart_keyboard_master::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_keyboard_master::read_cart)
+READ8_MEMBER(msx_cart_keyboard_master_device::read_cart)
{
if (offset >= 0x4000 && offset < 0x8000)
{
@@ -933,13 +933,13 @@ READ8_MEMBER(msx_cart_keyboard_master::read_cart)
}
-READ8_MEMBER(msx_cart_keyboard_master::read_vlm)
+READ8_MEMBER(msx_cart_keyboard_master_device::read_vlm)
{
return m_rom_vlm5030[offset];
}
-WRITE8_MEMBER(msx_cart_keyboard_master::io_20_w)
+WRITE8_MEMBER(msx_cart_keyboard_master_device::io_20_w)
{
m_vlm5030->rst((data & 0x01) ? 1 : 0);
m_vlm5030->vcu((data & 0x04) ? 1 : 0);
@@ -947,7 +947,7 @@ WRITE8_MEMBER(msx_cart_keyboard_master::io_20_w)
}
-READ8_MEMBER(msx_cart_keyboard_master::io_00_r)
+READ8_MEMBER(msx_cart_keyboard_master_device::io_00_r)
{
return m_vlm5030->bsy() ? 0x10 : 0x00;
}
diff --git a/src/devices/bus/msx_cart/konami.h b/src/devices/bus/msx_cart/konami.h
index 74400582420..a086e6467a2 100644
--- a/src/devices/bus/msx_cart/konami.h
+++ b/src/devices/bus/msx_cart/konami.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_KONAMI_H
-#define __MSX_CART_KONAMI_H
+#ifndef MAME_BUS_MSX_CART_KONAMI_H
+#define MAME_BUS_MSX_CART_KONAMI_H
#include "bus/msx_cart/cartridge.h"
#include "sound/k051649.h"
@@ -9,30 +9,30 @@
#include "sound/dac.h"
-extern const device_type MSX_CART_KONAMI;
-extern const device_type MSX_CART_KONAMI_SCC;
-extern const device_type MSX_CART_GAMEMASTER2;
-extern const device_type MSX_CART_SYNTHESIZER;
-extern const device_type MSX_CART_SOUND_SNATCHER;
-extern const device_type MSX_CART_SOUND_SDSNATCHER;
-extern const device_type MSX_CART_KEYBOARD_MASTER;
+DECLARE_DEVICE_TYPE(MSX_CART_KONAMI, msx_cart_konami_device)
+DECLARE_DEVICE_TYPE(MSX_CART_KONAMI_SCC, msx_cart_konami_scc_device)
+DECLARE_DEVICE_TYPE(MSX_CART_GAMEMASTER2, msx_cart_gamemaster2_device)
+DECLARE_DEVICE_TYPE(MSX_CART_SYNTHESIZER, msx_cart_synthesizer_device)
+DECLARE_DEVICE_TYPE(MSX_CART_SOUND_SNATCHER, msx_cart_konami_sound_snatcher_device)
+DECLARE_DEVICE_TYPE(MSX_CART_SOUND_SDSNATCHER, msx_cart_konami_sound_sdsnatcher_device)
+DECLARE_DEVICE_TYPE(MSX_CART_KEYBOARD_MASTER, msx_cart_keyboard_master_device)
-class msx_cart_konami : public device_t
- , public msx_cart_interface
+class msx_cart_konami_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_konami(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_konami_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -42,15 +42,11 @@ private:
};
-class msx_cart_konami_scc : public device_t
- , public msx_cart_interface
+class msx_cart_konami_scc_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_konami_scc(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_konami_scc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override;
@@ -58,6 +54,11 @@ public:
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -70,21 +71,21 @@ private:
};
-class msx_cart_gamemaster2 : public device_t
- , public msx_cart_interface
+class msx_cart_gamemaster2_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_gamemaster2(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_gamemaster2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -95,14 +96,11 @@ private:
};
-class msx_cart_synthesizer : public device_t
- , public msx_cart_interface
+class msx_cart_synthesizer_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_synthesizer(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_synthesizer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override;
@@ -110,21 +108,19 @@ public:
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t *m_bank_base;
required_device<dac_byte_interface> m_dac;
};
-class msx_cart_konami_sound : public device_t
- , public msx_cart_interface
+class msx_cart_konami_sound_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_konami_sound(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override;
@@ -132,9 +128,15 @@ public:
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ msx_cart_konami_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
-protected:
uint8_t *m_ram_bank[16];
private:
@@ -152,34 +154,32 @@ private:
};
-class msx_cart_konami_sound_snatcher : public msx_cart_konami_sound
+class msx_cart_konami_sound_snatcher_device : public msx_cart_konami_sound_device
{
public:
- msx_cart_konami_sound_snatcher(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_konami_sound_snatcher_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
};
-class msx_cart_konami_sound_sdsnatcher : public msx_cart_konami_sound
+class msx_cart_konami_sound_sdsnatcher_device : public msx_cart_konami_sound_device
{
public:
- msx_cart_konami_sound_sdsnatcher(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_konami_sound_sdsnatcher_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
};
-class msx_cart_keyboard_master : public device_t
- , public msx_cart_interface
+class msx_cart_keyboard_master_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_keyboard_master(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_keyboard_master_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_start() override;
virtual void initialize_cartridge() override;
@@ -189,10 +189,13 @@ public:
DECLARE_WRITE8_MEMBER(io_20_w);
DECLARE_READ8_MEMBER(io_00_r);
+protected:
+ virtual void device_start() override;
+
private:
required_device<vlm5030_device> m_vlm5030;
};
-#endif
+#endif // MAME_BUS_MSX_CART_KONAMI_H
diff --git a/src/devices/bus/msx_cart/korean.cpp b/src/devices/bus/msx_cart/korean.cpp
index 8ea5b5cfac3..cfa96ecb7aa 100644
--- a/src/devices/bus/msx_cart/korean.cpp
+++ b/src/devices/bus/msx_cart/korean.cpp
@@ -3,39 +3,36 @@
#include "emu.h"
#include "korean.h"
-const device_type MSX_CART_KOREAN_80IN1 = device_creator<msx_cart_korean_80in1>;
-const device_type MSX_CART_KOREAN_90IN1 = device_creator<msx_cart_korean_90in1>;
-const device_type MSX_CART_KOREAN_126IN1 = device_creator<msx_cart_korean_126in1>;
+DEFINE_DEVICE_TYPE(MSX_CART_KOREAN_80IN1, msx_cart_korean_80in1_device, "msx_cart_korean_80in1", "MSX Cartridge - Korean 80-in-1")
+DEFINE_DEVICE_TYPE(MSX_CART_KOREAN_90IN1, msx_cart_korean_90in1_device, "msx_cart_korean_90in1", "MSX Cartridge - Korean 90-in-1")
+DEFINE_DEVICE_TYPE(MSX_CART_KOREAN_126IN1, msx_cart_korean_126in1_device, "msx_cart_korean_126in1", "MSX Cartridge - Korean 126-in-1")
-msx_cart_korean_80in1::msx_cart_korean_80in1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_KOREAN_80IN1, "MSX Cartridge - Korean 80-in-1", tag, owner, clock, "msx_cart_korean_80in1", __FILE__)
+msx_cart_korean_80in1_device::msx_cart_korean_80in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_KOREAN_80IN1, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_mask(0)
+ , m_selected_bank{ 0, 1, 2, 3 }
+ , m_bank_base{ nullptr, nullptr, nullptr, nullptr }
{
- for (int i = 0; i < 4; i++)
- {
- m_selected_bank[i] = i;
- m_bank_base[i] = nullptr;
- }
}
-void msx_cart_korean_80in1::device_start()
+void msx_cart_korean_80in1_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_korean_80in1::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_korean_80in1_device::restore_banks), this));
}
-void msx_cart_korean_80in1::setup_bank(uint8_t bank)
+void msx_cart_korean_80in1_device::setup_bank(uint8_t bank)
{
m_bank_base[bank] = get_rom_base() + ( m_selected_bank[bank] & m_bank_mask ) * 0x2000;
}
-void msx_cart_korean_80in1::restore_banks()
+void msx_cart_korean_80in1_device::restore_banks()
{
for (int i = 0; i < 4; i++)
{
@@ -44,7 +41,7 @@ void msx_cart_korean_80in1::restore_banks()
}
-void msx_cart_korean_80in1::device_reset()
+void msx_cart_korean_80in1_device::device_reset()
{
for (int i = 0; i < 4; i++)
{
@@ -53,7 +50,7 @@ void msx_cart_korean_80in1::device_reset()
}
-void msx_cart_korean_80in1::initialize_cartridge()
+void msx_cart_korean_80in1_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -75,7 +72,7 @@ void msx_cart_korean_80in1::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_korean_80in1::read_cart)
+READ8_MEMBER(msx_cart_korean_80in1_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -86,7 +83,7 @@ READ8_MEMBER(msx_cart_korean_80in1::read_cart)
}
-WRITE8_MEMBER(msx_cart_korean_80in1::write_cart)
+WRITE8_MEMBER(msx_cart_korean_80in1_device::write_cart)
{
if (offset >= 0x4000 && offset < 0x4004)
{
@@ -101,32 +98,29 @@ WRITE8_MEMBER(msx_cart_korean_80in1::write_cart)
-msx_cart_korean_90in1::msx_cart_korean_90in1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_KOREAN_90IN1, "MSX Cartridge - Korean 90-in-1", tag, owner, clock, "msx_cart_korean_90in1", __FILE__)
+msx_cart_korean_90in1_device::msx_cart_korean_90in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_KOREAN_90IN1, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_mask(0)
, m_selected_bank(0)
+ , m_bank_base{ nullptr, nullptr, nullptr, nullptr }
{
- for (auto & elem : m_bank_base)
- {
- elem = nullptr;
- }
}
-void msx_cart_korean_90in1::device_start()
+void msx_cart_korean_90in1_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_korean_90in1::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_korean_90in1_device::restore_banks), this));
// Install IO read/write handlers
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
- space.install_write_handler(0x77, 0x77, write8_delegate(FUNC(msx_cart_korean_90in1::banking), this));
+ space.install_write_handler(0x77, 0x77, write8_delegate(FUNC(msx_cart_korean_90in1_device::banking), this));
}
-void msx_cart_korean_90in1::restore_banks()
+void msx_cart_korean_90in1_device::restore_banks()
{
uint8_t *base = get_rom_base();
@@ -159,13 +153,13 @@ void msx_cart_korean_90in1::restore_banks()
}
-void msx_cart_korean_90in1::device_reset()
+void msx_cart_korean_90in1_device::device_reset()
{
m_selected_bank = 0;
}
-void msx_cart_korean_90in1::initialize_cartridge()
+void msx_cart_korean_90in1_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -187,7 +181,7 @@ void msx_cart_korean_90in1::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_korean_90in1::read_cart)
+READ8_MEMBER(msx_cart_korean_90in1_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -198,7 +192,7 @@ READ8_MEMBER(msx_cart_korean_90in1::read_cart)
}
-WRITE8_MEMBER(msx_cart_korean_90in1::banking)
+WRITE8_MEMBER(msx_cart_korean_90in1_device::banking)
{
m_selected_bank = data;
restore_banks();
@@ -208,34 +202,31 @@ WRITE8_MEMBER(msx_cart_korean_90in1::banking)
-msx_cart_korean_126in1::msx_cart_korean_126in1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_KOREAN_126IN1, "MSX Cartridge - Korean 126-in-1", tag, owner, clock, "msx_cart_korean_126in1", __FILE__)
+msx_cart_korean_126in1_device::msx_cart_korean_126in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_KOREAN_126IN1, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_bank_mask(0)
+ , m_selected_bank{ 0, 1 }
+ , m_bank_base{ nullptr, nullptr }
{
- for (int i = 0; i < 2; i++)
- {
- m_selected_bank[i] = i;
- m_bank_base[i] = nullptr;
- }
}
-void msx_cart_korean_126in1::device_start()
+void msx_cart_korean_126in1_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_korean_126in1::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_korean_126in1_device::restore_banks), this));
}
-void msx_cart_korean_126in1::setup_bank(uint8_t bank)
+void msx_cart_korean_126in1_device::setup_bank(uint8_t bank)
{
m_bank_base[bank] = get_rom_base() + ( m_selected_bank[bank] & m_bank_mask ) * 0x4000;
}
-void msx_cart_korean_126in1::restore_banks()
+void msx_cart_korean_126in1_device::restore_banks()
{
for (int i = 0; i < 2; i++)
{
@@ -244,7 +235,7 @@ void msx_cart_korean_126in1::restore_banks()
}
-void msx_cart_korean_126in1::device_reset()
+void msx_cart_korean_126in1_device::device_reset()
{
for (int i = 0; i < 2; i++)
{
@@ -253,7 +244,7 @@ void msx_cart_korean_126in1::device_reset()
}
-void msx_cart_korean_126in1::initialize_cartridge()
+void msx_cart_korean_126in1_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
@@ -275,7 +266,7 @@ void msx_cart_korean_126in1::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_korean_126in1::read_cart)
+READ8_MEMBER(msx_cart_korean_126in1_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -286,7 +277,7 @@ READ8_MEMBER(msx_cart_korean_126in1::read_cart)
}
-WRITE8_MEMBER(msx_cart_korean_126in1::write_cart)
+WRITE8_MEMBER(msx_cart_korean_126in1_device::write_cart)
{
if (offset >= 0x4000 && offset < 0x4002)
{
diff --git a/src/devices/bus/msx_cart/korean.h b/src/devices/bus/msx_cart/korean.h
index 9dd19addf15..b34438da13e 100644
--- a/src/devices/bus/msx_cart/korean.h
+++ b/src/devices/bus/msx_cart/korean.h
@@ -1,51 +1,47 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_KOREAN_H
-#define __MSX_CART_KOREAN_H
+#ifndef MAME_BUS_MSX_CART_KOREAN_H
+#define MAME_BUS_MSX_CART_KOREAN_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_KOREAN_80IN1;
-extern const device_type MSX_CART_KOREAN_90IN1;
-extern const device_type MSX_CART_KOREAN_126IN1;
+DECLARE_DEVICE_TYPE(MSX_CART_KOREAN_80IN1, msx_cart_korean_80in1_device)
+DECLARE_DEVICE_TYPE(MSX_CART_KOREAN_90IN1, msx_cart_korean_90in1_device)
+DECLARE_DEVICE_TYPE(MSX_CART_KOREAN_126IN1, msx_cart_korean_126in1_device)
-class msx_cart_korean_80in1 : public device_t
- , public msx_cart_interface
+class msx_cart_korean_80in1_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_korean_80in1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_korean_80in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- void restore_banks();
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
+ void restore_banks();
+ void setup_bank(uint8_t bank);
+
uint8_t m_bank_mask;
uint8_t m_selected_bank[4];
uint8_t *m_bank_base[4];
-
- void setup_bank(uint8_t bank);
};
-class msx_cart_korean_90in1 : public device_t
- , public msx_cart_interface
+class msx_cart_korean_90in1_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_korean_90in1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_korean_90in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
@@ -53,39 +49,43 @@ public:
DECLARE_WRITE8_MEMBER(banking);
- void restore_banks();
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
+ void restore_banks();
+
uint8_t m_bank_mask;
uint8_t m_selected_bank;
uint8_t *m_bank_base[4];
};
-class msx_cart_korean_126in1 : public device_t
- , public msx_cart_interface
+class msx_cart_korean_126in1_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_korean_126in1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_korean_126in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- void restore_banks();
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
+ void restore_banks();
+ void setup_bank(uint8_t bank);
+
uint8_t m_bank_mask;
uint8_t m_selected_bank[2];
uint8_t *m_bank_base[2];
-
- void setup_bank(uint8_t bank);
};
-#endif
+#endif // MAME_BUS_MSX_CART_KOREAN_H
diff --git a/src/devices/bus/msx_cart/majutsushi.cpp b/src/devices/bus/msx_cart/majutsushi.cpp
index 8617860431d..94ac0a41969 100644
--- a/src/devices/bus/msx_cart/majutsushi.cpp
+++ b/src/devices/bus/msx_cart/majutsushi.cpp
@@ -7,11 +7,11 @@
#include "speaker.h"
-const device_type MSX_CART_MAJUTSUSHI = device_creator<msx_cart_majutsushi>;
+DEFINE_DEVICE_TYPE(MSX_CART_MAJUTSUSHI, msx_cart_majutsushi_device, "msx_cart_majutsushi", "MSX Cartridge - Majutsushi")
-msx_cart_majutsushi::msx_cart_majutsushi(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_MAJUTSUSHI, "MSX Cartridge - Majutsushi", tag, owner, clock, "msx_cart_majutsushi", __FILE__)
+msx_cart_majutsushi_device::msx_cart_majutsushi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_MAJUTSUSHI, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_dac(*this, "dac")
{
@@ -35,21 +35,21 @@ static MACHINE_CONFIG_FRAGMENT( majutsushi )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_majutsushi::device_mconfig_additions() const
+machine_config_constructor msx_cart_majutsushi_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( majutsushi );
}
-void msx_cart_majutsushi::device_start()
+void msx_cart_majutsushi_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_majutsushi::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_majutsushi_device::restore_banks), this));
}
-void msx_cart_majutsushi::restore_banks()
+void msx_cart_majutsushi_device::restore_banks()
{
m_bank_base[0] = get_rom_base() + ( m_selected_bank[0] & 0x0f ) * 0x2000;
m_bank_base[1] = get_rom_base() + ( m_selected_bank[1] & 0x0f ) * 0x2000;
@@ -62,7 +62,7 @@ void msx_cart_majutsushi::restore_banks()
}
-void msx_cart_majutsushi::device_reset()
+void msx_cart_majutsushi_device::device_reset()
{
for (int i = 0; i < 4; i++)
{
@@ -71,7 +71,7 @@ void msx_cart_majutsushi::device_reset()
}
-void msx_cart_majutsushi::initialize_cartridge()
+void msx_cart_majutsushi_device::initialize_cartridge()
{
if ( get_rom_size() != 0x20000 )
{
@@ -82,13 +82,13 @@ void msx_cart_majutsushi::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_majutsushi::read_cart)
+READ8_MEMBER(msx_cart_majutsushi_device::read_cart)
{
return m_bank_base[offset >> 13][offset & 0x1fff];
}
-WRITE8_MEMBER(msx_cart_majutsushi::write_cart)
+WRITE8_MEMBER(msx_cart_majutsushi_device::write_cart)
{
switch (offset & 0xe000)
{
diff --git a/src/devices/bus/msx_cart/majutsushi.h b/src/devices/bus/msx_cart/majutsushi.h
index 94be25040c3..db45c111383 100644
--- a/src/devices/bus/msx_cart/majutsushi.h
+++ b/src/devices/bus/msx_cart/majutsushi.h
@@ -1,24 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_MAJUTSUSHI_H
-#define __MSX_CART_MAJUTSUSHI_H
+#ifndef MAME_BUS_MSX_CART_MAJUTSUSHI_H
+#define MAME_BUS_MSX_CART_MAJUTSUSHI_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
#include "sound/dac.h"
-extern const device_type MSX_CART_MAJUTSUSHI;
+DECLARE_DEVICE_TYPE(MSX_CART_MAJUTSUSHI, msx_cart_majutsushi_device)
-class msx_cart_majutsushi : public device_t
- , public msx_cart_interface
+class msx_cart_majutsushi_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_majutsushi(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_majutsushi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override;
@@ -26,6 +24,11 @@ public:
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -36,4 +39,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_MAJUTSUSHI_H
diff --git a/src/devices/bus/msx_cart/moonsound.cpp b/src/devices/bus/msx_cart/moonsound.cpp
index 95a212ebb67..ea98a467b77 100644
--- a/src/devices/bus/msx_cart/moonsound.cpp
+++ b/src/devices/bus/msx_cart/moonsound.cpp
@@ -15,21 +15,21 @@ TODO:
#define VERBOSE 0
-#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
+#include "logmacro.h"
-const device_type MSX_CART_MOONSOUND = device_creator<msx_cart_moonsound>;
+DEFINE_DEVICE_TYPE(MSX_CART_MOONSOUND, msx_cart_moonsound_device, "msx_moonsound", "MSX Cartridge - MoonSound")
-msx_cart_moonsound::msx_cart_moonsound(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_MOONSOUND, "MSX Cartridge - MoonSound", tag, owner, clock, "msx_moonsound", __FILE__)
+msx_cart_moonsound_device::msx_cart_moonsound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_MOONSOUND, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_ymf278b(*this, "ymf278b")
{
}
-static ADDRESS_MAP_START( ymf278b_map, AS_0, 8, msx_cart_moonsound )
+static ADDRESS_MAP_START( ymf278b_map, AS_0, 8, msx_cart_moonsound_device )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x3fffff) AM_RAM // 2MB sram for testing
ADDRESS_MAP_END
@@ -40,7 +40,7 @@ static MACHINE_CONFIG_FRAGMENT( moonsound )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ymf278b", YMF278B, YMF278B_STD_CLOCK)
MCFG_DEVICE_ADDRESS_MAP(AS_0, ymf278b_map)
- MCFG_YMF278B_IRQ_HANDLER(WRITELINE(msx_cart_moonsound,irq_w))
+ MCFG_YMF278B_IRQ_HANDLER(WRITELINE(msx_cart_moonsound_device,irq_w))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
MCFG_SOUND_ROUTE(2, "lspeaker", 0.40)
@@ -50,7 +50,7 @@ static MACHINE_CONFIG_FRAGMENT( moonsound )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_moonsound::device_mconfig_additions() const
+machine_config_constructor msx_cart_moonsound_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( moonsound );
}
@@ -62,67 +62,67 @@ ROM_START( msx_cart_moonsound )
ROM_END
-const tiny_rom_entry *msx_cart_moonsound::device_rom_region() const
+const tiny_rom_entry *msx_cart_moonsound_device::device_rom_region() const
{
return ROM_NAME( msx_cart_moonsound );
}
-void msx_cart_moonsound::device_start()
+void msx_cart_moonsound_device::device_start()
{
m_out_irq_cb.resolve_safe();
// Install IO read/write handlers
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
- space.install_readwrite_handler(0x7e, 0x7f, read8_delegate(FUNC(msx_cart_moonsound::read_ymf278b_pcm), this), write8_delegate(FUNC(msx_cart_moonsound::write_ymf278b_pcm), this));
- space.install_readwrite_handler(0xc4, 0xc7, read8_delegate(FUNC(msx_cart_moonsound::read_ymf278b_fm), this), write8_delegate(FUNC(msx_cart_moonsound::write_ymf278b_fm), this));
- space.install_read_handler(0xc0, 0xc0, read8_delegate(FUNC(msx_cart_moonsound::read_c0), this));
+ space.install_readwrite_handler(0x7e, 0x7f, read8_delegate(FUNC(msx_cart_moonsound_device::read_ymf278b_pcm), this), write8_delegate(FUNC(msx_cart_moonsound_device::write_ymf278b_pcm), this));
+ space.install_readwrite_handler(0xc4, 0xc7, read8_delegate(FUNC(msx_cart_moonsound_device::read_ymf278b_fm), this), write8_delegate(FUNC(msx_cart_moonsound_device::write_ymf278b_fm), this));
+ space.install_read_handler(0xc0, 0xc0, read8_delegate(FUNC(msx_cart_moonsound_device::read_c0), this));
}
-void msx_cart_moonsound::device_reset()
+void msx_cart_moonsound_device::device_reset()
{
}
-WRITE_LINE_MEMBER(msx_cart_moonsound::irq_w)
+WRITE_LINE_MEMBER(msx_cart_moonsound_device::irq_w)
{
- LOG(("moonsound: irq state %d\n", state));
+ LOG("moonsound: irq state %d\n", state);
m_out_irq_cb(state);
}
-WRITE8_MEMBER(msx_cart_moonsound::write_ymf278b_fm)
+WRITE8_MEMBER(msx_cart_moonsound_device::write_ymf278b_fm)
{
- LOG(("moonsound: write 0x%02x, data 0x%02x\n", 0xc4 + offset, data));
+ LOG("moonsound: write 0x%02x, data 0x%02x\n", 0xc4 + offset, data);
m_ymf278b->write(space, offset, data);
}
-READ8_MEMBER(msx_cart_moonsound::read_ymf278b_fm)
+READ8_MEMBER(msx_cart_moonsound_device::read_ymf278b_fm)
{
- LOG(("moonsound: read 0x%02x\n", 0xc4 + offset));
+ LOG("moonsound: read 0x%02x\n", 0xc4 + offset);
return m_ymf278b->read(space, offset);
}
-WRITE8_MEMBER(msx_cart_moonsound::write_ymf278b_pcm)
+WRITE8_MEMBER(msx_cart_moonsound_device::write_ymf278b_pcm)
{
- LOG(("moonsound: write 0x%02x, data 0x%02x\n", 0x7e + offset, data));
+ LOG("moonsound: write 0x%02x, data 0x%02x\n", 0x7e + offset, data);
m_ymf278b->write(space, 4 + offset, data);
}
-READ8_MEMBER(msx_cart_moonsound::read_ymf278b_pcm)
+READ8_MEMBER(msx_cart_moonsound_device::read_ymf278b_pcm)
{
- LOG(("moonsound: read 0x%02x\n", 0x7e + offset));
+ LOG("moonsound: read 0x%02x\n", 0x7e + offset);
return m_ymf278b->read(space, 4 + offset);
}
// For detecting presence of moonsound cartridge
-READ8_MEMBER(msx_cart_moonsound::read_c0)
+READ8_MEMBER(msx_cart_moonsound_device::read_c0)
{
- LOG(("moonsound: read 0xc0\n"));
+ LOG("moonsound: read 0xc0\n");
return 0x00;
}
diff --git a/src/devices/bus/msx_cart/moonsound.h b/src/devices/bus/msx_cart/moonsound.h
index 94adfb6ee6a..1fee19bc133 100644
--- a/src/devices/bus/msx_cart/moonsound.h
+++ b/src/devices/bus/msx_cart/moonsound.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_MOONSOUND_H
-#define __MSX_CART_MOONSOUND_H
+#ifndef MAME_BUS_MSX_CART_MOONSOUND_H
+#define MAME_BUS_MSX_CART_MOONSOUND_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
#include "sound/ymf278b.h"
@@ -10,15 +12,11 @@
extern const device_type MSX_CART_MOONSOUND;
-class msx_cart_moonsound : public device_t
- , public msx_cart_interface
+class msx_cart_moonsound_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_moonsound(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_moonsound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -29,9 +27,14 @@ public:
DECLARE_READ8_MEMBER(read_c0);
DECLARE_WRITE_LINE_MEMBER(irq_w);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
required_device<ymf278b_device> m_ymf278b;
};
-#endif
+#endif // MAME_BUS_MSX_CART_MOONSOUND_H
diff --git a/src/devices/bus/msx_cart/msx_audio.cpp b/src/devices/bus/msx_cart/msx_audio.cpp
index 19a48299e7c..7ed03d4255e 100644
--- a/src/devices/bus/msx_cart/msx_audio.cpp
+++ b/src/devices/bus/msx_cart/msx_audio.cpp
@@ -67,13 +67,13 @@ and/or http://ngs.no.coocan.jp/doc/wiki.cgi/datapack?page=4.2+MSX-AUDIO+%B3%C8%C
#include "speaker.h"
-const device_type MSX_CART_MSX_AUDIO_HXMU900 = device_creator<msx_cart_msx_audio_hxmu900>;
-const device_type MSX_CART_MSX_AUDIO_NMS1205 = device_creator<msx_cart_msx_audio_nms1205>;
-const device_type MSX_CART_MSX_AUDIO_FSCA1 = device_creator<msx_cart_msx_audio_fsca1>;
+DEFINE_DEVICE_TYPE(MSX_CART_MSX_AUDIO_HXMU900, msx_cart_msx_audio_hxmu900_device, "msx_audio_hxmu900", "MSX Cartridge - MSX-AUDIO HX-MU900")
+DEFINE_DEVICE_TYPE(MSX_CART_MSX_AUDIO_NMS1205, msx_cart_msx_audio_nms1205_device, "msx_audio_nms1205", "MSX Cartridge - MSX-AUDIO NMS-1205")
+DEFINE_DEVICE_TYPE(MSX_CART_MSX_AUDIO_FSCA1, msx_cart_msx_audio_fsca1_device, "msx_audio_fsca1", "MSX Cartridge - MSX-AUDIO FS-CA1")
-msx_cart_msx_audio_hxmu900::msx_cart_msx_audio_hxmu900(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_MSX_AUDIO_HXMU900, "MSX Cartridge - MSX-AUDIO HX-MU900", tag, owner, clock, "msx_audio_hxmu900", __FILE__)
+msx_cart_msx_audio_hxmu900_device::msx_cart_msx_audio_hxmu900_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_MSX_AUDIO_HXMU900, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_y8950(*this, "y8950")
{
@@ -92,13 +92,13 @@ static MACHINE_CONFIG_FRAGMENT( msx_audio_hxmu900 )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_msx_audio_hxmu900::device_mconfig_additions() const
+machine_config_constructor msx_cart_msx_audio_hxmu900_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_audio_hxmu900 );
}
-void msx_cart_msx_audio_hxmu900::device_start()
+void msx_cart_msx_audio_hxmu900_device::device_start()
{
// Install IO read/write handlers
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
@@ -107,7 +107,7 @@ void msx_cart_msx_audio_hxmu900::device_start()
}
-void msx_cart_msx_audio_hxmu900::initialize_cartridge()
+void msx_cart_msx_audio_hxmu900_device::initialize_cartridge()
{
if (get_rom_size() < 0x8000)
{
@@ -116,7 +116,7 @@ void msx_cart_msx_audio_hxmu900::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_msx_audio_hxmu900::read_cart)
+READ8_MEMBER(msx_cart_msx_audio_hxmu900_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xC000)
{
@@ -129,8 +129,8 @@ READ8_MEMBER(msx_cart_msx_audio_hxmu900::read_cart)
-msx_cart_msx_audio_nms1205::msx_cart_msx_audio_nms1205(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_MSX_AUDIO_NMS1205, "MSX Cartridge - MSX-AUDIO NMS-1205", tag, owner, clock, "msx_audio_nms1205", __FILE__)
+msx_cart_msx_audio_nms1205_device::msx_cart_msx_audio_nms1205_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_MSX_AUDIO_NMS1205, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_y8950(*this, "y8950")
, m_acia6850(*this, "acia6850")
@@ -148,7 +148,7 @@ static MACHINE_CONFIG_FRAGMENT( msx_audio_nms1205 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MCFG_Y8950_KEYBOARD_WRITE_HANDLER(DEVWRITE8("kbdc", msx_audio_kbdc_port_device, write))
MCFG_Y8950_KEYBOARD_READ_HANDLER(DEVREAD8("kbdc", msx_audio_kbdc_port_device, read))
- MCFG_Y8950_IRQ_HANDLER(WRITELINE(msx_cart_msx_audio_nms1205, irq_write))
+ MCFG_Y8950_IRQ_HANDLER(WRITELINE(msx_cart_msx_audio_nms1205_device, irq_write))
MCFG_MSX_AUDIO_KBDC_PORT_ADD("kbdc", msx_audio_keyboards, nullptr)
@@ -157,7 +157,7 @@ static MACHINE_CONFIG_FRAGMENT( msx_audio_nms1205 )
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
- MCFG_MIDI_RX_HANDLER(WRITELINE(msx_cart_msx_audio_nms1205, midi_in))
+ MCFG_MIDI_RX_HANDLER(WRITELINE(msx_cart_msx_audio_nms1205_device, midi_in))
MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout")
@@ -165,7 +165,7 @@ static MACHINE_CONFIG_FRAGMENT( msx_audio_nms1205 )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_msx_audio_nms1205::device_mconfig_additions() const
+machine_config_constructor msx_cart_msx_audio_nms1205_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_audio_nms1205 );
}
@@ -176,13 +176,13 @@ ROM_START( msx_nms1205 )
ROM_END
-const tiny_rom_entry *msx_cart_msx_audio_nms1205::device_rom_region() const
+const tiny_rom_entry *msx_cart_msx_audio_nms1205_device::device_rom_region() const
{
return ROM_NAME( msx_nms1205 );
}
-WRITE_LINE_MEMBER(msx_cart_msx_audio_nms1205::irq_write)
+WRITE_LINE_MEMBER(msx_cart_msx_audio_nms1205_device::irq_write)
{
// Trigger IRQ on the maincpu
// The 8950 seems to trigger an irq on reset, this causes an infinite loop of continuously triggering
@@ -192,7 +192,7 @@ WRITE_LINE_MEMBER(msx_cart_msx_audio_nms1205::irq_write)
}
-WRITE_LINE_MEMBER(msx_cart_msx_audio_nms1205::midi_in)
+WRITE_LINE_MEMBER(msx_cart_msx_audio_nms1205_device::midi_in)
{
// MIDI in signals is sent to both the 6850 and the MIDI thru output port
m_acia6850->write_rxd(state);
@@ -200,7 +200,7 @@ WRITE_LINE_MEMBER(msx_cart_msx_audio_nms1205::midi_in)
}
-void msx_cart_msx_audio_nms1205::device_start()
+void msx_cart_msx_audio_nms1205_device::device_start()
{
// Install IO read/write handlers
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
@@ -213,7 +213,7 @@ void msx_cart_msx_audio_nms1205::device_start()
}
-void msx_cart_msx_audio_nms1205::initialize_cartridge()
+void msx_cart_msx_audio_nms1205_device::initialize_cartridge()
{
if (get_rom_size() < 0x8000)
{
@@ -222,7 +222,7 @@ void msx_cart_msx_audio_nms1205::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_msx_audio_nms1205::read_cart)
+READ8_MEMBER(msx_cart_msx_audio_nms1205_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xC000)
{
@@ -237,8 +237,8 @@ READ8_MEMBER(msx_cart_msx_audio_nms1205::read_cart)
-msx_cart_msx_audio_fsca1::msx_cart_msx_audio_fsca1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_MSX_AUDIO_FSCA1, "MSX Cartridge - MSX-AUDIO FS-CA1", tag, owner, clock, "msx_audio_fsca1", __FILE__)
+msx_cart_msx_audio_fsca1_device::msx_cart_msx_audio_fsca1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_MSX_AUDIO_FSCA1, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_y8950(*this, "y8950")
, m_io_config(*this, "CONFIG")
@@ -256,14 +256,14 @@ static MACHINE_CONFIG_FRAGMENT( msx_audio_fsca1 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MCFG_Y8950_KEYBOARD_WRITE_HANDLER(DEVWRITE8("kbdc", msx_audio_kbdc_port_device, write))
MCFG_Y8950_KEYBOARD_READ_HANDLER(DEVREAD8("kbdc", msx_audio_kbdc_port_device, read))
- MCFG_Y8950_IO_READ_HANDLER(READ8(msx_cart_msx_audio_fsca1, y8950_io_r))
- MCFG_Y8950_IO_WRITE_HANDLER(WRITE8(msx_cart_msx_audio_fsca1, y8950_io_w))
+ MCFG_Y8950_IO_READ_HANDLER(READ8(msx_cart_msx_audio_fsca1_device, y8950_io_r))
+ MCFG_Y8950_IO_WRITE_HANDLER(WRITE8(msx_cart_msx_audio_fsca1_device, y8950_io_w))
MCFG_MSX_AUDIO_KBDC_PORT_ADD("kbdc", msx_audio_keyboards, nullptr)
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_msx_audio_fsca1::device_mconfig_additions() const
+machine_config_constructor msx_cart_msx_audio_fsca1_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_audio_fsca1 );
}
@@ -278,7 +278,7 @@ static INPUT_PORTS_START( msx_audio_fsca1 )
INPUT_PORTS_END
-ioport_constructor msx_cart_msx_audio_fsca1::device_input_ports() const
+ioport_constructor msx_cart_msx_audio_fsca1_device::device_input_ports() const
{
return INPUT_PORTS_NAME( msx_audio_fsca1 );
}
@@ -289,22 +289,22 @@ ROM_START( msx_fsca1 )
ROM_END
-const tiny_rom_entry *msx_cart_msx_audio_fsca1::device_rom_region() const
+const tiny_rom_entry *msx_cart_msx_audio_fsca1_device::device_rom_region() const
{
return ROM_NAME( msx_fsca1 );
}
-void msx_cart_msx_audio_fsca1::device_start()
+void msx_cart_msx_audio_fsca1_device::device_start()
{
// Install IO read/write handlers
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_IO);
- space.install_write_handler(0xc0, 0xc3, write8_delegate(FUNC(msx_cart_msx_audio_fsca1::write_y8950), this));
- space.install_read_handler(0xc0, 0xc3, read8_delegate(FUNC(msx_cart_msx_audio_fsca1::read_y8950), this));
+ space.install_write_handler(0xc0, 0xc3, write8_delegate(FUNC(msx_cart_msx_audio_fsca1_device::write_y8950), this));
+ space.install_read_handler(0xc0, 0xc3, read8_delegate(FUNC(msx_cart_msx_audio_fsca1_device::read_y8950), this));
}
-void msx_cart_msx_audio_fsca1::initialize_cartridge()
+void msx_cart_msx_audio_fsca1_device::initialize_cartridge()
{
if (get_rom_size() < 0x20000)
{
@@ -313,7 +313,7 @@ void msx_cart_msx_audio_fsca1::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_msx_audio_fsca1::read_cart)
+READ8_MEMBER(msx_cart_msx_audio_fsca1_device::read_cart)
{
if (m_7ffe == 0 && (offset & 0xB000) == 0x3000)
{
@@ -323,7 +323,7 @@ READ8_MEMBER(msx_cart_msx_audio_fsca1::read_cart)
}
-WRITE8_MEMBER(msx_cart_msx_audio_fsca1::write_cart)
+WRITE8_MEMBER(msx_cart_msx_audio_fsca1_device::write_cart)
{
if (offset == 0x7ffe)
{
@@ -343,11 +343,11 @@ WRITE8_MEMBER(msx_cart_msx_audio_fsca1::write_cart)
return;
}
- logerror("msx_cart_msx_audio_fsca1: Unhandled write %02x to %04x\n", data, offset);
+ logerror("msx_cart_msx_audio_fsca1_device: Unhandled write %02x to %04x\n", data, offset);
}
-WRITE8_MEMBER(msx_cart_msx_audio_fsca1::write_y8950)
+WRITE8_MEMBER(msx_cart_msx_audio_fsca1_device::write_y8950)
{
if (offset & 2)
{
@@ -366,7 +366,7 @@ WRITE8_MEMBER(msx_cart_msx_audio_fsca1::write_y8950)
}
-READ8_MEMBER(msx_cart_msx_audio_fsca1::read_y8950)
+READ8_MEMBER(msx_cart_msx_audio_fsca1_device::read_y8950)
{
if (offset & 2)
{
@@ -379,13 +379,13 @@ READ8_MEMBER(msx_cart_msx_audio_fsca1::read_y8950)
}
-WRITE8_MEMBER(msx_cart_msx_audio_fsca1::y8950_io_w)
+WRITE8_MEMBER(msx_cart_msx_audio_fsca1_device::y8950_io_w)
{
logerror("msx_fsca1::y8950_io_w: %02x\n", data);
}
-READ8_MEMBER(msx_cart_msx_audio_fsca1::y8950_io_r)
+READ8_MEMBER(msx_cart_msx_audio_fsca1_device::y8950_io_r)
{
return m_io_config->read();
}
diff --git a/src/devices/bus/msx_cart/msx_audio.h b/src/devices/bus/msx_cart/msx_audio.h
index 9de471ce170..02093ce94f4 100644
--- a/src/devices/bus/msx_cart/msx_audio.h
+++ b/src/devices/bus/msx_cart/msx_audio.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_MSX_AUDIO_H
-#define __MSX_CART_MSX_AUDIO_H
+#ifndef MAME_BUS_MSX_CART_MSX_AUDIO_H
+#define MAME_BUS_MSX_CART_MSX_AUDIO_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
#include "sound/8950intf.h"
@@ -9,38 +11,37 @@
#include "bus/midi/midi.h"
-extern const device_type MSX_CART_MSX_AUDIO_NMS1205;
-extern const device_type MSX_CART_MSX_AUDIO_HXMU900;
-extern const device_type MSX_CART_MSX_AUDIO_FSCA1;
+DECLARE_DEVICE_TYPE(MSX_CART_MSX_AUDIO_HXMU900, msx_cart_msx_audio_hxmu900_device)
+DECLARE_DEVICE_TYPE(MSX_CART_MSX_AUDIO_NMS1205, msx_cart_msx_audio_nms1205_device)
+DECLARE_DEVICE_TYPE(MSX_CART_MSX_AUDIO_FSCA1, msx_cart_msx_audio_fsca1_device)
-class msx_cart_msx_audio_hxmu900 : public device_t
- , public msx_cart_interface
+class msx_cart_msx_audio_hxmu900_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_msx_audio_hxmu900(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_msx_audio_hxmu900_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
+protected:
+ virtual void device_start() override;
+
private:
required_device<y8950_device> m_y8950;
};
-class msx_cart_msx_audio_nms1205 : public device_t
- , public msx_cart_interface
+class msx_cart_msx_audio_nms1205_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_msx_audio_nms1205(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_msx_audio_nms1205_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -51,6 +52,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(midi_in);
DECLARE_WRITE_LINE_MEMBER(irq_write);
+protected:
+ virtual void device_start() override;
+
private:
required_device<y8950_device> m_y8950;
required_device<acia6850_device> m_acia6850;
@@ -59,14 +63,12 @@ private:
};
-class msx_cart_msx_audio_fsca1 : public device_t
- , public msx_cart_interface
+class msx_cart_msx_audio_fsca1_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_msx_audio_fsca1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_msx_audio_fsca1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -76,12 +78,15 @@ public:
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- DECLARE_WRITE8_MEMBER(write_y8950);
- DECLARE_READ8_MEMBER(read_y8950);
-
DECLARE_WRITE8_MEMBER(y8950_io_w);
DECLARE_READ8_MEMBER(y8950_io_r);
+protected:
+ virtual void device_start() override;
+
+ DECLARE_WRITE8_MEMBER(write_y8950);
+ DECLARE_READ8_MEMBER(read_y8950);
+
private:
required_device<y8950_device> m_y8950;
required_ioport m_io_config;
@@ -90,4 +95,4 @@ private:
uint8_t m_7fff;
};
-#endif
+#endif // MAME_BUS_MSX_CART_MSX_AUDIO_H
diff --git a/src/devices/bus/msx_cart/msx_audio_kb.cpp b/src/devices/bus/msx_cart/msx_audio_kb.cpp
index e606e0ffae9..2bfa98758e9 100644
--- a/src/devices/bus/msx_cart/msx_audio_kb.cpp
+++ b/src/devices/bus/msx_cart/msx_audio_kb.cpp
@@ -4,13 +4,13 @@
#include "msx_audio_kb.h"
-const device_type MSX_AUDIO_KBDC_PORT = device_creator<msx_audio_kbdc_port_device>;
+DEFINE_DEVICE_TYPE(MSX_AUDIO_KBDC_PORT, msx_audio_kbdc_port_device, "msx_audio_kbdc_port", "MSX Audio keyboard connector port")
msx_audio_kbdc_port_device::msx_audio_kbdc_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_AUDIO_KBDC_PORT, "MSX Audio keyboard connector port", tag, owner, clock, "msx_audio_kbdc_port", __FILE__),
- device_slot_interface(mconfig, *this),
- m_keyboard(nullptr)
+ : device_t(mconfig, MSX_AUDIO_KBDC_PORT, tag, owner, clock)
+ , device_slot_interface(mconfig, *this)
+ , m_keyboard(nullptr)
{
}
@@ -40,16 +40,15 @@ READ8_MEMBER(msx_audio_kbdc_port_device::read)
}
-extern const device_type MSX_AUDIO_KB_HXMU901;
-extern const device_type MSX_AUDIO_KB_NMS1160;
+DECLARE_DEVICE_TYPE(MSX_AUDIO_KB_HXMU901, msx_hxmu901_device)
+DECLARE_DEVICE_TYPE(MSX_AUDIO_KB_NMS1160, msx_nms1160_device)
-class msx_hxmu901 : public device_t
- , public msx_audio_kb_port_interface
+class msx_hxmu901_device : public device_t, public msx_audio_kb_port_interface
{
public:
- msx_hxmu901(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_AUDIO_KB_HXMU901, "Toshiba HXMU901", tag, owner, clock, "hxmu901", __FILE__)
+ msx_hxmu901_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_AUDIO_KB_HXMU901, tag, owner, clock)
, msx_audio_kb_port_interface(mconfig, *this)
, m_row(0)
, m_keyboard(*this, "KEY.%u", 0)
@@ -169,22 +168,22 @@ static INPUT_PORTS_START( hxmu901)
INPUT_PORTS_END
-ioport_constructor msx_hxmu901::device_input_ports() const
+ioport_constructor msx_hxmu901_device::device_input_ports() const
{
return INPUT_PORTS_NAME( hxmu901 );
}
-class msx_nms1160 : public device_t
- , public msx_audio_kb_port_interface
+class msx_nms1160_device : public device_t, public msx_audio_kb_port_interface
{
public:
- msx_nms1160(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_AUDIO_KB_NMS1160, "Philips NMS-1160", tag, owner, clock, "nms1160", __FILE__)
+ msx_nms1160_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_AUDIO_KB_NMS1160, tag, owner, clock)
, msx_audio_kb_port_interface(mconfig, *this)
, m_row(0)
, m_keyboard(*this, "KEY.%u", 0)
- { }
+ {
+ }
virtual ioport_constructor device_input_ports() const override;
@@ -298,15 +297,15 @@ static INPUT_PORTS_START( nms1160 )
INPUT_PORTS_END
-ioport_constructor msx_nms1160::device_input_ports() const
+ioport_constructor msx_nms1160_device::device_input_ports() const
{
return INPUT_PORTS_NAME( nms1160 );
}
-const device_type MSX_AUDIO_KB_HXMU901 = device_creator<msx_hxmu901>;
-const device_type MSX_AUDIO_KB_NMS1160 = device_creator<msx_nms1160>;
+DEFINE_DEVICE_TYPE(MSX_AUDIO_KB_HXMU901, msx_hxmu901_device, "hxmu901", "Toshiba HXMU901")
+DEFINE_DEVICE_TYPE(MSX_AUDIO_KB_NMS1160, msx_nms1160_device, "nms1160", "Philips NMS-1160")
SLOT_INTERFACE_START( msx_audio_keyboards )
diff --git a/src/devices/bus/msx_cart/msx_audio_kb.h b/src/devices/bus/msx_cart/msx_audio_kb.h
index 8759b9200e8..139d78f486b 100644
--- a/src/devices/bus/msx_cart/msx_audio_kb.h
+++ b/src/devices/bus/msx_cart/msx_audio_kb.h
@@ -1,10 +1,12 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_AUDIO_KB_H__
-#define __MSX_AUDIO_KB_H__
+#ifndef MAME_BUS_MSX_CART_MSX_AUDIO_KB_H
+#define MAME_BUS_MSX_CART_MSX_AUDIO_KB_H
+#pragma once
-extern const device_type MSX_AUDIO_KBDC_PORT;
+
+DECLARE_DEVICE_TYPE(MSX_AUDIO_KBDC_PORT, msx_audio_kbdc_port_device)
#define MCFG_MSX_AUDIO_KBDC_PORT_ADD(_tag, _slot_intf, _def_slot) \
@@ -15,18 +17,17 @@ extern const device_type MSX_AUDIO_KBDC_PORT;
class msx_audio_kb_port_interface : public device_slot_card_interface
{
public:
- // construction/destruction
- msx_audio_kb_port_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
- { };
- virtual DECLARE_READ8_MEMBER(read) { return 0xff; };
- virtual DECLARE_WRITE8_MEMBER(write) { };
+ virtual DECLARE_READ8_MEMBER(read) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write) { }
+
+protected:
+ // construction/destruction
+ using device_slot_card_interface::device_slot_card_interface;
};
-class msx_audio_kbdc_port_device : public device_t,
- public device_slot_interface
+class msx_audio_kbdc_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
@@ -39,6 +40,8 @@ public:
DECLARE_WRITE8_MEMBER(write);
DECLARE_READ8_MEMBER(read);
+
+protected:
msx_audio_kb_port_interface *m_keyboard;
};
@@ -46,4 +49,4 @@ public:
SLOT_INTERFACE_EXTERN( msx_audio_keyboards );
-#endif
+#endif // MAME_BUS_MSX_CART_MSX_AUDIO_KB_H
diff --git a/src/devices/bus/msx_cart/msxdos2.cpp b/src/devices/bus/msx_cart/msxdos2.cpp
index 3fac4457d63..f4e391f66e9 100644
--- a/src/devices/bus/msx_cart/msxdos2.cpp
+++ b/src/devices/bus/msx_cart/msxdos2.cpp
@@ -3,11 +3,11 @@
#include "emu.h"
#include "msxdos2.h"
-const device_type MSX_CART_MSXDOS2 = device_creator<msx_cart_msxdos2>;
+DEFINE_DEVICE_TYPE(MSX_CART_MSXDOS2, msx_cart_msxdos2_device, "msx_cart_msxdos2", "MSX Cartridge - MSXDOS2")
-msx_cart_msxdos2::msx_cart_msxdos2(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_MSXDOS2, "MSX Cartridge - MSXDOS2", tag, owner, clock, "msx_cart_msxdos2", __FILE__)
+msx_cart_msxdos2_device::msx_cart_msxdos2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_MSXDOS2, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_selected_bank(0)
, m_bank_base(nullptr)
@@ -15,27 +15,27 @@ msx_cart_msxdos2::msx_cart_msxdos2(const machine_config &mconfig, const char *ta
}
-void msx_cart_msxdos2::device_start()
+void msx_cart_msxdos2_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_msxdos2::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_msxdos2_device::restore_banks), this));
}
-void msx_cart_msxdos2::restore_banks()
+void msx_cart_msxdos2_device::restore_banks()
{
m_bank_base = get_rom_base() + ( m_selected_bank & 0x03 ) * 0x4000;
}
-void msx_cart_msxdos2::device_reset()
+void msx_cart_msxdos2_device::device_reset()
{
m_selected_bank = 0;
}
-void msx_cart_msxdos2::initialize_cartridge()
+void msx_cart_msxdos2_device::initialize_cartridge()
{
if (get_rom_size() != 0x10000)
{
@@ -46,7 +46,7 @@ void msx_cart_msxdos2::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_msxdos2::read_cart)
+READ8_MEMBER(msx_cart_msxdos2_device::read_cart)
{
if (offset >= 0x4000 && offset < 0x8000)
{
@@ -57,7 +57,7 @@ READ8_MEMBER(msx_cart_msxdos2::read_cart)
}
-WRITE8_MEMBER(msx_cart_msxdos2::write_cart)
+WRITE8_MEMBER(msx_cart_msxdos2_device::write_cart)
{
if (offset == 0x6000)
{
diff --git a/src/devices/bus/msx_cart/msxdos2.h b/src/devices/bus/msx_cart/msxdos2.h
index 11f2026925b..b30fbb70bd8 100644
--- a/src/devices/bus/msx_cart/msxdos2.h
+++ b/src/devices/bus/msx_cart/msxdos2.h
@@ -1,29 +1,31 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_MSXDOS2_H
-#define __MSX_CART_MSXDOS2_H
+#ifndef MAME_BUS_MSX_CART_MSXDOS2_H
+#define MAME_BUS_MSX_CART_MSXDOS2_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_MSXDOS2;
+DECLARE_DEVICE_TYPE(MSX_CART_MSXDOS2, msx_cart_msxdos2_device)
-class msx_cart_msxdos2 : public device_t
- , public msx_cart_interface
+class msx_cart_msxdos2_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_msxdos2(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_msxdos2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -32,4 +34,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_MSXDOS2_H
diff --git a/src/devices/bus/msx_cart/nomapper.cpp b/src/devices/bus/msx_cart/nomapper.cpp
index 32c49517fa9..5152464cbc4 100644
--- a/src/devices/bus/msx_cart/nomapper.cpp
+++ b/src/devices/bus/msx_cart/nomapper.cpp
@@ -4,22 +4,22 @@
#include "emu.h"
#include "nomapper.h"
-const device_type MSX_CART_NOMAPPER = device_creator<msx_cart_nomapper>;
+DEFINE_DEVICE_TYPE(MSX_CART_NOMAPPER, msx_cart_nomapper_device, "msx_cart_nomapper", "MSX Cartridge - ROM")
-msx_cart_nomapper::msx_cart_nomapper(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_NOMAPPER, "MSX Cartridge - ROM", tag, owner, clock, "msx_cart_nomapper", __FILE__)
+msx_cart_nomapper_device::msx_cart_nomapper_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_NOMAPPER, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_start_address(0)
, m_end_address(0)
{
}
-void msx_cart_nomapper::device_start()
+void msx_cart_nomapper_device::device_start()
{
}
-void msx_cart_nomapper::initialize_cartridge()
+void msx_cart_nomapper_device::initialize_cartridge()
{
uint32_t size = get_rom_size();
uint8_t *rom = get_rom_base();
@@ -84,7 +84,7 @@ void msx_cart_nomapper::initialize_cartridge()
m_end_address = std::min<uint32_t>(m_start_address + size, 0x10000);
}
-READ8_MEMBER(msx_cart_nomapper::read_cart)
+READ8_MEMBER(msx_cart_nomapper_device::read_cart)
{
if ( offset >= m_start_address && offset < m_end_address )
{
diff --git a/src/devices/bus/msx_cart/nomapper.h b/src/devices/bus/msx_cart/nomapper.h
index 9a47a2f6e30..7b29b6a69b3 100644
--- a/src/devices/bus/msx_cart/nomapper.h
+++ b/src/devices/bus/msx_cart/nomapper.h
@@ -1,19 +1,20 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_NOMAPPER_H
-#define __MSX_CART_NOMAPPER_H
+#ifndef MAME_BUS_MSX_CART_NOMAPPER_H
+#define MAME_BUS_MSX_CART_NOMAPPER_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_NOMAPPER;
+DECLARE_DEVICE_TYPE(MSX_CART_NOMAPPER, msx_cart_nomapper_device)
-class msx_cart_nomapper : public device_t
- , public msx_cart_interface
+class msx_cart_nomapper_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_nomapper(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_nomapper_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
@@ -27,4 +28,4 @@ private:
uint32_t m_end_address;
};
-#endif
+#endif // MAME_BUS_MSX_CART_NOMAPPER_H
diff --git a/src/devices/bus/msx_cart/rtype.cpp b/src/devices/bus/msx_cart/rtype.cpp
index d6c432a7dd4..3853cfeed9a 100644
--- a/src/devices/bus/msx_cart/rtype.cpp
+++ b/src/devices/bus/msx_cart/rtype.cpp
@@ -3,11 +3,11 @@
#include "emu.h"
#include "rtype.h"
-const device_type MSX_CART_RTYPE = device_creator<msx_cart_rtype>;
+DEFINE_DEVICE_TYPE(MSX_CART_RTYPE, msx_cart_rtype_device, "msx_cart_rtype", "MSX Cartridge - R-Type")
-msx_cart_rtype::msx_cart_rtype(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_RTYPE, "MSX Cartridge - R-Type", tag, owner, clock, "msx_cart_rtype", __FILE__)
+msx_cart_rtype_device::msx_cart_rtype_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_RTYPE, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_selected_bank(0)
{
@@ -18,15 +18,15 @@ msx_cart_rtype::msx_cart_rtype(const machine_config &mconfig, const char *tag, d
}
-void msx_cart_rtype::device_start()
+void msx_cart_rtype_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_rtype::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_rtype_device::restore_banks), this));
}
-void msx_cart_rtype::restore_banks()
+void msx_cart_rtype_device::restore_banks()
{
m_bank_base[0] = get_rom_base() + 15 * 0x4000;
if (m_selected_bank & 0x10)
@@ -37,13 +37,13 @@ void msx_cart_rtype::restore_banks()
}
-void msx_cart_rtype::device_reset()
+void msx_cart_rtype_device::device_reset()
{
m_selected_bank = 15;
}
-void msx_cart_rtype::initialize_cartridge()
+void msx_cart_rtype_device::initialize_cartridge()
{
if ( get_rom_size() != 0x80000 && get_rom_size() != 0x60000 )
{
@@ -54,7 +54,7 @@ void msx_cart_rtype::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_rtype::read_cart)
+READ8_MEMBER(msx_cart_rtype_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -64,7 +64,7 @@ READ8_MEMBER(msx_cart_rtype::read_cart)
}
-WRITE8_MEMBER(msx_cart_rtype::write_cart)
+WRITE8_MEMBER(msx_cart_rtype_device::write_cart)
{
if (offset >= 0x7000 && offset < 0x8000)
{
diff --git a/src/devices/bus/msx_cart/rtype.h b/src/devices/bus/msx_cart/rtype.h
index c89570f4cac..435d8666273 100644
--- a/src/devices/bus/msx_cart/rtype.h
+++ b/src/devices/bus/msx_cart/rtype.h
@@ -1,29 +1,31 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_RTYPE_H
-#define __MSX_CART_RTYPE_H
+#ifndef MAME_BUS_MSX_CART_RTYPE_H
+#define MAME_BUS_MSX_CART_RTYPE_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_RTYPE;
+DECLARE_DEVICE_TYPE(MSX_CART_RTYPE, msx_cart_rtype_device)
-class msx_cart_rtype : public device_t
- , public msx_cart_interface
+class msx_cart_rtype_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_rtype(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_rtype_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -32,4 +34,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_RTYPE_H
diff --git a/src/devices/bus/msx_cart/super_swangi.cpp b/src/devices/bus/msx_cart/super_swangi.cpp
index 8983b57e429..75ee75be6a0 100644
--- a/src/devices/bus/msx_cart/super_swangi.cpp
+++ b/src/devices/bus/msx_cart/super_swangi.cpp
@@ -4,11 +4,11 @@
#include "super_swangi.h"
-const device_type MSX_CART_SUPER_SWANGI = device_creator<msx_cart_super_swangi>;
+DEFINE_DEVICE_TYPE(MSX_CART_SUPER_SWANGI, msx_cart_super_swangi_device, "msx_cart_super_swangi", "MSX Cartridge - Super Swangi")
-msx_cart_super_swangi::msx_cart_super_swangi(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_SUPER_SWANGI, "MSX Cartridge - Super Swangi", tag, owner, clock, "msx_cart_super_swangi", __FILE__)
+msx_cart_super_swangi_device::msx_cart_super_swangi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_SUPER_SWANGI, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_selected_bank(0)
{
@@ -16,28 +16,28 @@ msx_cart_super_swangi::msx_cart_super_swangi(const machine_config &mconfig, cons
}
-void msx_cart_super_swangi::device_start()
+void msx_cart_super_swangi_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_super_swangi::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_super_swangi_device::restore_banks), this));
}
-void msx_cart_super_swangi::restore_banks()
+void msx_cart_super_swangi_device::restore_banks()
{
m_bank_base[0] = get_rom_base();
m_bank_base[1] = get_rom_base() + (((m_selected_bank >> 1) * 0x4000) & 0xffff);
}
-void msx_cart_super_swangi::device_reset()
+void msx_cart_super_swangi_device::device_reset()
{
m_selected_bank = 0;
}
-void msx_cart_super_swangi::initialize_cartridge()
+void msx_cart_super_swangi_device::initialize_cartridge()
{
if (get_rom_size() < 0x10000)
{
@@ -48,7 +48,7 @@ void msx_cart_super_swangi::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_super_swangi::read_cart)
+READ8_MEMBER(msx_cart_super_swangi_device::read_cart)
{
if (offset >= 0x4000 && offset < 0xc000)
{
@@ -58,7 +58,7 @@ READ8_MEMBER(msx_cart_super_swangi::read_cart)
}
-WRITE8_MEMBER(msx_cart_super_swangi::write_cart)
+WRITE8_MEMBER(msx_cart_super_swangi_device::write_cart)
{
if (offset == 0x8000)
{
@@ -67,6 +67,6 @@ WRITE8_MEMBER(msx_cart_super_swangi::write_cart)
}
else
{
- logerror("msx_cart_super_swangi: unhandled write %02x to %04x\n", data, offset);
+ logerror("msx_cart_super_swangi_device: unhandled write %02x to %04x\n", data, offset);
}
}
diff --git a/src/devices/bus/msx_cart/super_swangi.h b/src/devices/bus/msx_cart/super_swangi.h
index 09619437379..cf3b9f3b7c9 100644
--- a/src/devices/bus/msx_cart/super_swangi.h
+++ b/src/devices/bus/msx_cart/super_swangi.h
@@ -1,29 +1,31 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_SUPER_SWANGI_H
-#define __MSX_CART_SUPER_SWANGI_H
+#ifndef MAME_BUS_MSX_CART_SUPER_SWANGI_H
+#define MAME_BUS_MSX_CART_SUPER_SWANGI_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_SUPER_SWANGI;
+DECLARE_DEVICE_TYPE(MSX_CART_SUPER_SWANGI, msx_cart_super_swangi_device)
-class msx_cart_super_swangi : public device_t
- , public msx_cart_interface
+class msx_cart_super_swangi_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_super_swangi(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ msx_cart_super_swangi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void restore_banks();
private:
@@ -32,4 +34,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_SUPER_SWANGI_H
diff --git a/src/devices/bus/msx_cart/superloderunner.cpp b/src/devices/bus/msx_cart/superloderunner.cpp
index 64fd457377a..51289c24f10 100644
--- a/src/devices/bus/msx_cart/superloderunner.cpp
+++ b/src/devices/bus/msx_cart/superloderunner.cpp
@@ -3,11 +3,11 @@
#include "emu.h"
#include "superloderunner.h"
-const device_type MSX_CART_SUPERLODERUNNER = device_creator<msx_cart_superloderunner>;
+DEFINE_DEVICE_TYPE(MSX_CART_SUPERLODERUNNER, msx_cart_superloderunner_device, "msx_cart_superloderunner", "MSX Cartridge - Super Lode Runner")
-msx_cart_superloderunner::msx_cart_superloderunner(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_CART_SUPERLODERUNNER, "MSX Cartridge - Super Lode Runner", tag, owner, clock, "msx_cart_superloderunner", __FILE__)
+msx_cart_superloderunner_device::msx_cart_superloderunner_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, MSX_CART_SUPERLODERUNNER, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_selected_bank(0)
, m_bank_base(nullptr)
@@ -15,25 +15,25 @@ msx_cart_superloderunner::msx_cart_superloderunner(const machine_config &mconfig
}
-void msx_cart_superloderunner::device_start()
+void msx_cart_superloderunner_device::device_start()
{
save_item(NAME(m_selected_bank));
- machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_superloderunner::restore_banks), this));
+ machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_superloderunner_device::restore_banks), this));
// Install evil memory write handler
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_PROGRAM);
- space.install_write_handler(0x0000, 0x0000, write8_delegate(FUNC(msx_cart_superloderunner::banking), this));
+ space.install_write_handler(0x0000, 0x0000, write8_delegate(FUNC(msx_cart_superloderunner_device::banking), this));
}
-void msx_cart_superloderunner::restore_banks()
+void msx_cart_superloderunner_device::restore_banks()
{
m_bank_base = get_rom_base() + (m_selected_bank & 0x0f) * 0x4000;
}
-void msx_cart_superloderunner::initialize_cartridge()
+void msx_cart_superloderunner_device::initialize_cartridge()
{
if (get_rom_size() != 0x20000)
{
@@ -44,7 +44,7 @@ void msx_cart_superloderunner::initialize_cartridge()
}
-READ8_MEMBER(msx_cart_superloderunner::read_cart)
+READ8_MEMBER(msx_cart_superloderunner_device::read_cart)
{
if (offset >= 0x8000 && offset < 0xc000)
{
@@ -55,7 +55,7 @@ READ8_MEMBER(msx_cart_superloderunner::read_cart)
}
-WRITE8_MEMBER(msx_cart_superloderunner::banking)
+WRITE8_MEMBER(msx_cart_superloderunner_device::banking)
{
m_selected_bank = data;
restore_banks();
diff --git a/src/devices/bus/msx_cart/superloderunner.h b/src/devices/bus/msx_cart/superloderunner.h
index 9ca4e49bcd8..b8e73535ebf 100644
--- a/src/devices/bus/msx_cart/superloderunner.h
+++ b/src/devices/bus/msx_cart/superloderunner.h
@@ -1,22 +1,20 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_SUPERLODERUNNER_H
-#define __MSX_CART_SUPERLODERUNNER_H
+#ifndef MAME_BUS_MSX_CART_SUPERLODERUNNER_H
+#define MAME_BUS_MSX_CART_SUPERLODERUNNER_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
-extern const device_type MSX_CART_SUPERLODERUNNER;
+DECLARE_DEVICE_TYPE(MSX_CART_SUPERLODERUNNER, msx_cart_superloderunner_device)
-class msx_cart_superloderunner : public device_t
- , public msx_cart_interface
+class msx_cart_superloderunner_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_superloderunner(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
+ msx_cart_superloderunner_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void initialize_cartridge() override;
@@ -24,6 +22,10 @@ public:
DECLARE_WRITE8_MEMBER(banking);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
void restore_banks();
private:
@@ -32,4 +34,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_CART_SUPERLODERUNNER_H
diff --git a/src/devices/bus/msx_cart/yamaha.cpp b/src/devices/bus/msx_cart/yamaha.cpp
index dff91b2ce54..e8b816f99f0 100644
--- a/src/devices/bus/msx_cart/yamaha.cpp
+++ b/src/devices/bus/msx_cart/yamaha.cpp
@@ -16,12 +16,12 @@ TODO:
#include "speaker.h"
-const device_type MSX_CART_SFG01 = device_creator<msx_cart_sfg01>;
-const device_type MSX_CART_SFG05 = device_creator<msx_cart_sfg05>;
+DEFINE_DEVICE_TYPE(MSX_CART_SFG01, msx_cart_sfg01_device, "msx_cart_sfg01", "MSX Cartridge - SFG01")
+DEFINE_DEVICE_TYPE(MSX_CART_SFG05, msx_cart_sfg05_device, "msx_cart_sfg05", "MSX Cartridge - SFG05")
-msx_cart_sfg::msx_cart_sfg(const machine_config &mconfig, const device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__)
+msx_cart_sfg_device::msx_cart_sfg_device(const machine_config &mconfig, const device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, msx_cart_interface(mconfig, *this)
, m_region_sfg(*this, "sfg")
, m_ym2151(*this, "ym2151")
@@ -34,14 +34,14 @@ msx_cart_sfg::msx_cart_sfg(const machine_config &mconfig, const device_type type
}
-msx_cart_sfg01::msx_cart_sfg01(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_cart_sfg(mconfig, MSX_CART_SFG01, "MSX Cartridge - SFG01", tag, owner, clock, "msx_cart_sfg01")
+msx_cart_sfg01_device::msx_cart_sfg01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_sfg_device(mconfig, MSX_CART_SFG01, tag, owner, clock)
{
}
-msx_cart_sfg05::msx_cart_sfg05(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_cart_sfg(mconfig, MSX_CART_SFG05, "MSX Cartridge - SFG05", tag, owner, clock, "msx_cart_sfg05")
+msx_cart_sfg05_device::msx_cart_sfg05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : msx_cart_sfg_device(mconfig, MSX_CART_SFG05, tag, owner, clock)
{
}
@@ -53,7 +53,7 @@ static MACHINE_CONFIG_FRAGMENT( msx_sfg )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_YM2151_ADD("ym2151", XTAL_3_579545MHz) // The SFG01 uses a YM2151, the SFG05 uses a YM2164, input clock comes from the main cpu frequency
- MCFG_YM2151_IRQ_HANDLER(WRITELINE(msx_cart_sfg, ym2151_irq_w))
+ MCFG_YM2151_IRQ_HANDLER(WRITELINE(msx_cart_sfg_device, ym2151_irq_w))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.80)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.80)
@@ -61,7 +61,7 @@ static MACHINE_CONFIG_FRAGMENT( msx_sfg )
MCFG_YM2148_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
MCFG_YM2148_PORT_WRITE_HANDLER(DEVWRITE8("kbdc", msx_audio_kbdc_port_device, write))
MCFG_YM2148_PORT_READ_HANDLER(DEVREAD8("kbdc", msx_audio_kbdc_port_device, read))
- MCFG_YM2148_IRQ_HANDLER(WRITELINE(msx_cart_sfg,ym2148_irq_w))
+ MCFG_YM2148_IRQ_HANDLER(WRITELINE(msx_cart_sfg_device,ym2148_irq_w))
MCFG_MSX_AUDIO_KBDC_PORT_ADD("kbdc", msx_audio_keyboards, nullptr)
@@ -72,7 +72,7 @@ static MACHINE_CONFIG_FRAGMENT( msx_sfg )
MACHINE_CONFIG_END
-machine_config_constructor msx_cart_sfg::device_mconfig_additions() const
+machine_config_constructor msx_cart_sfg_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_sfg );
}
@@ -84,7 +84,7 @@ ROM_START( msx_sfg01 )
ROM_END
-const tiny_rom_entry *msx_cart_sfg01::device_rom_region() const
+const tiny_rom_entry *msx_cart_sfg01_device::device_rom_region() const
{
return ROM_NAME( msx_sfg01 );
}
@@ -96,44 +96,44 @@ ROM_START( msx_sfg05 )
ROM_END
-const tiny_rom_entry *msx_cart_sfg05::device_rom_region() const
+const tiny_rom_entry *msx_cart_sfg05_device::device_rom_region() const
{
return ROM_NAME( msx_sfg05 );
}
-void msx_cart_sfg::device_start()
+void msx_cart_sfg_device::device_start()
{
// Set rom mask
m_rom_mask = m_region_sfg->bytes() - 1;
// This should probably moved up in the bus/slot hierarchy for the msx driver
cpu_device *maincpu = machine().device<cpu_device>("maincpu");
- device_execute_interface::static_set_irq_acknowledge_callback(*maincpu, device_irq_acknowledge_delegate(FUNC(msx_cart_sfg::irq_callback),this));
+ device_execute_interface::static_set_irq_acknowledge_callback(*maincpu, device_irq_acknowledge_delegate(FUNC(msx_cart_sfg_device::irq_callback),this));
}
-IRQ_CALLBACK_MEMBER(msx_cart_sfg::irq_callback)
+IRQ_CALLBACK_MEMBER(msx_cart_sfg_device::irq_callback)
{
return m_ym2148->get_irq_vector();
}
-WRITE_LINE_MEMBER(msx_cart_sfg::ym2151_irq_w)
+WRITE_LINE_MEMBER(msx_cart_sfg_device::ym2151_irq_w)
{
m_ym2151_irq_state = state ? ASSERT_LINE : CLEAR_LINE;
check_irq();
}
-WRITE_LINE_MEMBER(msx_cart_sfg::ym2148_irq_w)
+WRITE_LINE_MEMBER(msx_cart_sfg_device::ym2148_irq_w)
{
m_ym2148_irq_state = state ? ASSERT_LINE : CLEAR_LINE;
check_irq();
}
-void msx_cart_sfg::check_irq()
+void msx_cart_sfg_device::check_irq()
{
if (m_ym2151_irq_state != CLEAR_LINE || m_ym2148_irq_state != CLEAR_LINE)
{
@@ -146,7 +146,7 @@ void msx_cart_sfg::check_irq()
}
-READ8_MEMBER(msx_cart_sfg::read_cart)
+READ8_MEMBER(msx_cart_sfg_device::read_cart)
{
switch (offset & 0x3fff)
{
@@ -173,7 +173,7 @@ READ8_MEMBER(msx_cart_sfg::read_cart)
}
-WRITE8_MEMBER(msx_cart_sfg::write_cart)
+WRITE8_MEMBER(msx_cart_sfg_device::write_cart)
{
switch (offset & 0x3fff)
{
@@ -201,7 +201,7 @@ WRITE8_MEMBER(msx_cart_sfg::write_cart)
break;
default:
- logerror("msx_cart_sfg::write_cart: write %02x to %04x\n", data, offset);
+ logerror("msx_cart_sfg_device::write_cart: write %02x to %04x\n", data, offset);
break;
}
}
diff --git a/src/devices/bus/msx_cart/yamaha.h b/src/devices/bus/msx_cart/yamaha.h
index 60462dd7015..d437aa5424e 100644
--- a/src/devices/bus/msx_cart/yamaha.h
+++ b/src/devices/bus/msx_cart/yamaha.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_CART_YAMAHA_H
-#define __MSX_CART_YAMAHA_H
+#ifndef MAME_BUS_MSX_CART_YAMAHA_H
+#define MAME_BUS_MSX_CART_YAMAHA_H
+
+#pragma once
#include "bus/msx_cart/cartridge.h"
#include "sound/ym2151.h"
@@ -9,19 +11,15 @@
#include "machine/ym2148.h"
-extern const device_type MSX_CART_SFG01;
-extern const device_type MSX_CART_SFG05;
+DECLARE_DEVICE_TYPE(MSX_CART_SFG01, msx_cart_sfg01_device)
+DECLARE_DEVICE_TYPE(MSX_CART_SFG05, msx_cart_sfg05_device)
-class msx_cart_sfg : public device_t
- , public msx_cart_interface
+class msx_cart_sfg_device : public device_t, public msx_cart_interface
{
public:
- msx_cart_sfg(const machine_config &mconfig, const device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname);
-
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
@@ -29,6 +27,11 @@ public:
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
DECLARE_WRITE_LINE_MEMBER(ym2148_irq_w);
+protected:
+ msx_cart_sfg_device(const machine_config &mconfig, const device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+
IRQ_CALLBACK_MEMBER(irq_callback);
private:
@@ -44,21 +47,21 @@ private:
};
-class msx_cart_sfg01 : public msx_cart_sfg
+class msx_cart_sfg01_device : public msx_cart_sfg_device
{
public:
- msx_cart_sfg01(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_sfg01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual const tiny_rom_entry *device_rom_region() const override;
};
-class msx_cart_sfg05 : public msx_cart_sfg
+class msx_cart_sfg05_device : public msx_cart_sfg_device
{
public:
- msx_cart_sfg05(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ msx_cart_sfg05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual const tiny_rom_entry *device_rom_region() const override;
};
-#endif
+#endif // MAME_BUS_MSX_CART_YAMAHA_H
diff --git a/src/devices/bus/msx_slot/bunsetsu.cpp b/src/devices/bus/msx_slot/bunsetsu.cpp
index 99da86b1a9a..a2f8a131a54 100644
--- a/src/devices/bus/msx_slot/bunsetsu.cpp
+++ b/src/devices/bus/msx_slot/bunsetsu.cpp
@@ -8,11 +8,11 @@
#include "bunsetsu.h"
-const device_type MSX_SLOT_BUNSETSU = device_creator<msx_slot_bunsetsu_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_BUNSETSU, msx_slot_bunsetsu_device, "msx_slot_bunsetsu", "MSX Internal BUNSETSU")
msx_slot_bunsetsu_device::msx_slot_bunsetsu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_rom_device(mconfig, MSX_SLOT_BUNSETSU, "MSX Internal BUNSETSU", tag, owner, clock, "msx_slot_bunsetsu", __FILE__)
+ : msx_slot_rom_device(mconfig, MSX_SLOT_BUNSETSU, tag, owner, clock)
, m_bunsetsu_region(*this, finder_base::DUMMY_TAG, 0x20000)
, m_bunsetsu_address(0)
{
diff --git a/src/devices/bus/msx_slot/bunsetsu.h b/src/devices/bus/msx_slot/bunsetsu.h
index eff00928a83..0e340d98ae1 100644
--- a/src/devices/bus/msx_slot/bunsetsu.h
+++ b/src/devices/bus/msx_slot/bunsetsu.h
@@ -1,19 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_BUNSETSU_H
-#define __MSX_SLOT_BUNSETSU_H
+#ifndef MAME_BUS_MSX_SLOT_BUNSETSU_H
+#define MAME_BUS_MSX_SLOT_BUNSETSU_H
+
+#pragma once
#include "bus/msx_slot/slot.h"
#include "bus/msx_slot/rom.h"
-extern const device_type MSX_SLOT_BUNSETSU;
+DECLARE_DEVICE_TYPE(MSX_SLOT_BUNSETSU, msx_slot_bunsetsu_device)
#define MCFG_MSX_SLOT_BUNSETSU_ADD(_tag, _startpage, _numpages, _region, _offset, _bunsetsu_region_tag) \
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_BUNSETSU, _startpage, _numpages) \
msx_slot_rom_device::set_rom_start(*device, "^" _region, _offset); \
msx_slot_bunsetsu_device::set_bunsetsu_region_tag(*device, "^" _bunsetsu_region_tag);
+
class msx_slot_bunsetsu_device : public msx_slot_rom_device
{
public:
@@ -22,15 +25,16 @@ public:
// static configuration helpers
static void set_bunsetsu_region_tag(device_t &device, const char *tag) { dynamic_cast<msx_slot_bunsetsu_device &>(device).m_bunsetsu_region.set_tag(tag); }
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_reset() override;
+
private:
required_region_ptr<uint8_t> m_bunsetsu_region;
uint32_t m_bunsetsu_address;
};
-#endif
+#endif // MAME_BUS_MSX_SLOT_BUNSETSU_H
diff --git a/src/devices/bus/msx_slot/cartridge.cpp b/src/devices/bus/msx_slot/cartridge.cpp
index 0feefec646c..34650b5f246 100644
--- a/src/devices/bus/msx_slot/cartridge.cpp
+++ b/src/devices/bus/msx_slot/cartridge.cpp
@@ -29,23 +29,18 @@ enum
};
-const device_type MSX_SLOT_CARTRIDGE = device_creator<msx_slot_cartridge_device>;
-const device_type MSX_SLOT_YAMAHA_EXPANSION = device_creator<msx_slot_yamaha_expansion_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_CARTRIDGE, msx_slot_cartridge_device, "msx_slot_cartridge", "MSX Cartridge slot")
+DEFINE_DEVICE_TYPE(MSX_SLOT_YAMAHA_EXPANSION, msx_slot_yamaha_expansion_device, "msx_slot_yamaha_expansion", "MSX Yamaha Expansion slot")
msx_slot_cartridge_device::msx_slot_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_SLOT_CARTRIDGE, "MSX Cartridge slot", tag, owner, clock, "msx_slot_cartridge", __FILE__)
- , device_image_interface(mconfig, *this)
- , device_slot_interface(mconfig, *this)
- , msx_internal_slot_interface()
- , m_irq_handler(*this)
- , m_cartridge(nullptr)
+ : msx_slot_cartridge_device(mconfig, MSX_SLOT_CARTRIDGE, tag, owner, clock)
{
}
-msx_slot_cartridge_device::msx_slot_cartridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+msx_slot_cartridge_device::msx_slot_cartridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_image_interface(mconfig, *this)
, device_slot_interface(mconfig, *this)
, msx_internal_slot_interface()
@@ -358,7 +353,7 @@ WRITE8_MEMBER(msx_slot_cartridge_device::write)
msx_slot_yamaha_expansion_device::msx_slot_yamaha_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_cartridge_device(mconfig, MSX_SLOT_YAMAHA_EXPANSION, "MSX Yamaha Expansion slot", tag, owner, clock, "msx_slot_yamaha_expansion", __FILE__)
+ : msx_slot_cartridge_device(mconfig, MSX_SLOT_YAMAHA_EXPANSION, tag, owner, clock)
{
}
diff --git a/src/devices/bus/msx_slot/cartridge.h b/src/devices/bus/msx_slot/cartridge.h
index 88294cb0304..78d6721263d 100644
--- a/src/devices/bus/msx_slot/cartridge.h
+++ b/src/devices/bus/msx_slot/cartridge.h
@@ -1,15 +1,17 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_CARTRIDGE_H
-#define __MSX_SLOT_CARTRIDGE_H
+#ifndef MAME_BUS_MSX_SLOT_CARTRIDGE_H
+#define MAME_BUS_MSX_SLOT_CARTRIDGE_H
+
+#pragma once
#include "slot.h"
#include "bus/msx_cart/cartridge.h"
#include "softlist_dev.h"
-extern const device_type MSX_SLOT_CARTRIDGE;
-extern const device_type MSX_SLOT_YAMAHA_EXPANSION;
+DECLARE_DEVICE_TYPE(MSX_SLOT_CARTRIDGE, msx_slot_cartridge_device)
+DECLARE_DEVICE_TYPE(MSX_SLOT_YAMAHA_EXPANSION, msx_slot_yamaha_expansion_device)
#define MCFG_MSX_SLOT_CARTRIDGE_ADD(_tag, _devcb) \
@@ -31,14 +33,10 @@ class msx_slot_cartridge_device : public device_t
{
public:
// construction/destruction
- msx_slot_cartridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
msx_slot_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// static configuration helpers
- template<class _Object> static devcb_base &set_irq_handler(device_t &device, _Object object) { return downcast<msx_slot_cartridge_device &>(device).m_irq_handler.set_callback(object); }
-
- // device-level overrides
- virtual void device_start() override;
+ template <class Object> static devcb_base &set_irq_handler(device_t &device, Object &&cb) { return downcast<msx_slot_cartridge_device &>(device).m_irq_handler.set_callback(std::forward<Object>(cb)); }
// image-level overrides
virtual image_init_result call_load() override;
@@ -65,6 +63,11 @@ public:
DECLARE_WRITE_LINE_MEMBER(irq_out);
protected:
+ msx_slot_cartridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
devcb_write_line m_irq_handler;
msx_cart_interface *m_cartridge;
@@ -78,12 +81,13 @@ public:
// construction/destruction
msx_slot_yamaha_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_start() override;
-
virtual const char *image_interface() const override { return "msx_yamaha_60pin"; }
virtual const char *custom_instance_name() const override { return "cartridge60pin"; }
virtual const char *custom_brief_instance_name() const override { return "cart60p"; }
+
+protected:
+ virtual void device_start() override;
};
-#endif
+#endif // MAME_BUS_MSX_SLOT_CARTRIDGE_H
diff --git a/src/devices/bus/msx_slot/disk.cpp b/src/devices/bus/msx_slot/disk.cpp
index 7e3e0370ef1..10a319ca489 100644
--- a/src/devices/bus/msx_slot/disk.cpp
+++ b/src/devices/bus/msx_slot/disk.cpp
@@ -35,16 +35,16 @@ set on 7FFDH bit 2 always to 0 (some use it as disk change reset)
#include "disk.h"
-const device_type MSX_SLOT_DISK1 = device_creator<msx_slot_disk1_device>;
-const device_type MSX_SLOT_DISK2 = device_creator<msx_slot_disk2_device>;
-const device_type MSX_SLOT_DISK3 = device_creator<msx_slot_disk3_device>;
-const device_type MSX_SLOT_DISK4 = device_creator<msx_slot_disk4_device>;
-const device_type MSX_SLOT_DISK5 = device_creator<msx_slot_disk5_device>;
-const device_type MSX_SLOT_DISK6 = device_creator<msx_slot_disk6_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_DISK1, msx_slot_disk1_device, "msx_slot_disk1", "MSX Internal floppy type 1")
+DEFINE_DEVICE_TYPE(MSX_SLOT_DISK2, msx_slot_disk2_device, "msx_slot_disk2", "MSX Internal floppy type 2")
+DEFINE_DEVICE_TYPE(MSX_SLOT_DISK3, msx_slot_disk3_device, "msx_slot_disk3", "MSX Internal floppy type 3")
+DEFINE_DEVICE_TYPE(MSX_SLOT_DISK4, msx_slot_disk4_device, "msx_slot_disk4", "MSX Internal floppy type 4")
+DEFINE_DEVICE_TYPE(MSX_SLOT_DISK5, msx_slot_disk5_device, "msx_slot_disk5", "MSX Internal floppy type 5")
+DEFINE_DEVICE_TYPE(MSX_SLOT_DISK6, msx_slot_disk6_device, "msx_slot_disk6", "MSX Internal floppy type 6")
-msx_slot_disk_device::msx_slot_disk_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : msx_slot_rom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+msx_slot_disk_device::msx_slot_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : msx_slot_rom_device(mconfig, type, tag, owner, clock)
, m_floppy0(nullptr)
, m_floppy1(nullptr)
, m_floppy2(nullptr)
@@ -80,8 +80,8 @@ void msx_slot_disk_device::device_start()
}
-msx_slot_wd_disk_device::msx_slot_wd_disk_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : msx_slot_disk_device(mconfig, type, name, tag, owner, clock, shortname, source)
+msx_slot_wd_disk_device::msx_slot_wd_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : msx_slot_disk_device(mconfig, type, tag, owner, clock)
, m_fdc(nullptr)
{
}
@@ -91,7 +91,7 @@ void msx_slot_wd_disk_device::device_start()
{
msx_slot_disk_device::device_start();
- m_fdc = owner()->subdevice<wd_fdc_analog_t>(m_fdc_tag);
+ m_fdc = owner()->subdevice<wd_fdc_analog_device_base>(m_fdc_tag);
if (m_fdc == nullptr)
{
@@ -100,8 +100,8 @@ void msx_slot_wd_disk_device::device_start()
}
-msx_slot_tc8566_disk_device::msx_slot_tc8566_disk_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : msx_slot_disk_device(mconfig, type, name, tag, owner, clock, shortname, source)
+msx_slot_tc8566_disk_device::msx_slot_tc8566_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : msx_slot_disk_device(mconfig, type, tag, owner, clock)
, m_fdc(nullptr)
{
}
@@ -122,7 +122,7 @@ void msx_slot_tc8566_disk_device::device_start()
msx_slot_disk1_device::msx_slot_disk1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_wd_disk_device(mconfig, MSX_SLOT_DISK1, "MSX Internal floppy type 1", tag, owner, clock, "msx_slot_disk1", __FILE__)
+ : msx_slot_wd_disk_device(mconfig, MSX_SLOT_DISK1, tag, owner, clock)
, m_side_control(0)
, m_control(0)
{
@@ -285,7 +285,7 @@ WRITE8_MEMBER(msx_slot_disk1_device::write)
msx_slot_disk2_device::msx_slot_disk2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_wd_disk_device(mconfig, MSX_SLOT_DISK2, "MSX Internal floppy type 2", tag, owner, clock, "msx_slot_disk2", __FILE__)
+ : msx_slot_wd_disk_device(mconfig, MSX_SLOT_DISK2, tag, owner, clock)
, m_control(0)
{
}
@@ -424,7 +424,7 @@ WRITE8_MEMBER(msx_slot_disk2_device::write)
msx_slot_disk3_device::msx_slot_disk3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_tc8566_disk_device(mconfig, MSX_SLOT_DISK3, "MSX Internal floppy type 3", tag, owner, clock, "msx_slot_disk3", __FILE__)
+ : msx_slot_tc8566_disk_device(mconfig, MSX_SLOT_DISK3, tag, owner, clock)
{
}
@@ -470,7 +470,7 @@ READ8_MEMBER(msx_slot_disk3_device::read)
msx_slot_disk4_device::msx_slot_disk4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_tc8566_disk_device(mconfig, MSX_SLOT_DISK4, "MSX Internal floppy type 4", tag, owner, clock, "msx_slot_disk4", __FILE__)
+ : msx_slot_tc8566_disk_device(mconfig, MSX_SLOT_DISK4, tag, owner, clock)
{
}
@@ -522,7 +522,7 @@ READ8_MEMBER(msx_slot_disk4_device::read)
msx_slot_disk5_device::msx_slot_disk5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_wd_disk_device(mconfig, MSX_SLOT_DISK5, "MSX Internal floppy type 5", tag, owner, clock, "msx_slot_disk5", __FILE__)
+ : msx_slot_wd_disk_device(mconfig, MSX_SLOT_DISK5, tag, owner, clock)
, m_control(0)
{
}
@@ -645,7 +645,7 @@ WRITE8_MEMBER(msx_slot_disk5_device::io_write)
msx_slot_disk6_device::msx_slot_disk6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_wd_disk_device(mconfig, MSX_SLOT_DISK6, "MSX Internal floppy type 6", tag, owner, clock, "msx_slot_disk6", __FILE__)
+ : msx_slot_wd_disk_device(mconfig, MSX_SLOT_DISK6, tag, owner, clock)
, m_side_motor(0)
, m_drive_select0(0)
, m_drive_select1(0)
diff --git a/src/devices/bus/msx_slot/disk.h b/src/devices/bus/msx_slot/disk.h
index 11dee498884..5bb99811c81 100644
--- a/src/devices/bus/msx_slot/disk.h
+++ b/src/devices/bus/msx_slot/disk.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_DISK_H
-#define __MSX_SLOT_DISK_H
+#ifndef MAME_BUS_MSX_SLOT_DISK_H
+#define MAME_BUS_MSX_SLOT_DISK_H
+
+#pragma once
#include "bus/msx_slot/slot.h"
#include "bus/msx_slot/rom.h"
@@ -12,17 +14,17 @@
/* WD FDC accessed through 7ffx */
-extern const device_type MSX_SLOT_DISK1;
+DECLARE_DEVICE_TYPE(MSX_SLOT_DISK1, msx_slot_disk1_device)
/* WD FDC accessed through 7fbx */
-extern const device_type MSX_SLOT_DISK2;
+DECLARE_DEVICE_TYPE(MSX_SLOT_DISK2, msx_slot_disk2_device)
/* TC8566 accessed through 7ff8-7fff */
-extern const device_type MSX_SLOT_DISK3;
+DECLARE_DEVICE_TYPE(MSX_SLOT_DISK3, msx_slot_disk3_device)
/* TC8566 accessed through 7ff0-7ff7 (used in Turob-R, untested) */
-extern const device_type MSX_SLOT_DISK4;
+DECLARE_DEVICE_TYPE(MSX_SLOT_DISK4, msx_slot_disk4_device)
/* WD FDC accessed through i/o ports 0xd0-0xd4 */
-extern const device_type MSX_SLOT_DISK5;
+DECLARE_DEVICE_TYPE(MSX_SLOT_DISK5, msx_slot_disk5_device)
/* WD FDC accessed through 7ff0-7ff? (used in Toshiba HX34) */
-extern const device_type MSX_SLOT_DISK6;
+DECLARE_DEVICE_TYPE(MSX_SLOT_DISK6, msx_slot_disk6_device)
#define MCFG_MSX_SLOT_DISK1_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
@@ -73,10 +75,6 @@ extern const device_type MSX_SLOT_DISK6;
class msx_slot_disk_device : public msx_slot_rom_device
{
public:
- msx_slot_disk_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- virtual void device_start() override;
-
// static configuration helpers
static void set_fdc_tag(device_t &device, const char *tag) { dynamic_cast<msx_slot_disk_device &>(device).m_fdc_tag = tag; }
static void set_floppy0_tag(device_t &device, const char *tag) { dynamic_cast<msx_slot_disk_device &>(device).m_floppy0_tag = tag; }
@@ -85,6 +83,10 @@ public:
static void set_floppy3_tag(device_t &device, const char *tag) { dynamic_cast<msx_slot_disk_device &>(device).m_floppy3_tag = tag; }
protected:
+ msx_slot_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+
floppy_connector *m_floppy0;
floppy_connector *m_floppy1;
floppy_connector *m_floppy2;
@@ -101,24 +103,22 @@ protected:
class msx_slot_wd_disk_device : public msx_slot_disk_device
{
-public:
- msx_slot_wd_disk_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+protected:
+ msx_slot_wd_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
-protected:
- wd_fdc_analog_t *m_fdc;
+ wd_fdc_analog_device_base *m_fdc;
};
class msx_slot_tc8566_disk_device : public msx_slot_disk_device
{
-public:
- msx_slot_tc8566_disk_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+protected:
+ msx_slot_tc8566_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
-protected:
tc8566af_device *m_fdc;
};
@@ -128,12 +128,13 @@ class msx_slot_disk1_device : public msx_slot_wd_disk_device
public:
msx_slot_disk1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void post_load();
private:
@@ -150,12 +151,13 @@ class msx_slot_disk2_device : public msx_slot_wd_disk_device
public:
msx_slot_disk2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void post_load();
private:
@@ -190,12 +192,13 @@ class msx_slot_disk5_device : public msx_slot_wd_disk_device
public:
msx_slot_disk5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_start() override;
- virtual void device_reset() override;
-
DECLARE_READ8_MEMBER(io_read);
DECLARE_WRITE8_MEMBER(io_write);
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void post_load();
private:
@@ -210,12 +213,13 @@ class msx_slot_disk6_device : public msx_slot_wd_disk_device
public:
msx_slot_disk6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void post_load();
private:
@@ -228,4 +232,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_SLOT_DISK_H
diff --git a/src/devices/bus/msx_slot/fs4600.cpp b/src/devices/bus/msx_slot/fs4600.cpp
index 0b15cb77048..3bcdce9f3a5 100644
--- a/src/devices/bus/msx_slot/fs4600.cpp
+++ b/src/devices/bus/msx_slot/fs4600.cpp
@@ -8,24 +8,21 @@
#include "fs4600.h"
-const device_type MSX_SLOT_FS4600 = device_creator<msx_slot_fs4600_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_FS4600, msx_slot_fs4600_device, "msx_slot_fs4600", "MSX Internal FS4600 Firmware")
msx_slot_fs4600_device::msx_slot_fs4600_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_SLOT_FS4600, "MSX Internal FS4600 Firmware", tag, owner, clock, "msx_slot_fs4600", __FILE__)
+ : device_t(mconfig, MSX_SLOT_FS4600, tag, owner, clock)
, msx_internal_slot_interface()
, m_nvram(*this, "nvram")
, m_rom_region(*this, finder_base::DUMMY_TAG)
, m_region_offset(0)
, m_rom(nullptr)
+ , m_selected_bank{ 0, 0, 0, 0 }
+ , m_bank_base{ nullptr, nullptr, nullptr, nullptr }
, m_sram_address(0)
, m_control(0)
{
- for (int i = 0; i < 4; i++)
- {
- m_selected_bank[i] = 0;
- m_bank_base[i] = nullptr;
- }
memset(m_sram, 0, sizeof(m_sram));
}
diff --git a/src/devices/bus/msx_slot/fs4600.h b/src/devices/bus/msx_slot/fs4600.h
index 48f5e142c82..563e7d37535 100644
--- a/src/devices/bus/msx_slot/fs4600.h
+++ b/src/devices/bus/msx_slot/fs4600.h
@@ -1,21 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_FS4600_H
-#define __MSX_SLOT_FS4600_H
+#ifndef MAME_BUS_MSX_SLOT_FS4600_H
+#define MAME_BUS_MSX_SLOT_FS4600_H
+
+#pragma once
#include "slot.h"
#include "machine/nvram.h"
-extern const device_type MSX_SLOT_FS4600;
+DECLARE_DEVICE_TYPE(MSX_SLOT_FS4600, msx_slot_fs4600_device)
#define MCFG_MSX_SLOT_FS4600_ADD(_tag, _startpage, _numpages, _region, _offset) \
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_FS4600, _startpage, _numpages) \
msx_slot_fs4600_device::set_rom_start(*device, "^" _region, _offset);
-class msx_slot_fs4600_device : public device_t,
- public msx_internal_slot_interface
+class msx_slot_fs4600_device : public device_t, public msx_internal_slot_interface
{
public:
msx_slot_fs4600_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -23,12 +24,14 @@ public:
// static configuration helpers
static void set_rom_start(device_t &device, const char *region, uint32_t offset);
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_start() override;
+
void restore_banks();
private:
@@ -44,4 +47,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_SLOT_FS4600_H
diff --git a/src/devices/bus/msx_slot/music.cpp b/src/devices/bus/msx_slot/music.cpp
index ae11b71df2b..1e526dab7eb 100644
--- a/src/devices/bus/msx_slot/music.cpp
+++ b/src/devices/bus/msx_slot/music.cpp
@@ -4,11 +4,11 @@
#include "music.h"
-const device_type MSX_SLOT_MUSIC = device_creator<msx_slot_music_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_MUSIC, msx_slot_music_device, "msx_slot_music", "MSX Internal MSX-MUSIC")
msx_slot_music_device::msx_slot_music_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_rom_device(mconfig, MSX_SLOT_MUSIC, "MSX Internal MSX-MUSIC", tag, owner, clock, "msx_slot_music", __FILE__)
+ : msx_slot_rom_device(mconfig, MSX_SLOT_MUSIC, tag, owner, clock)
, m_ym2413(nullptr)
, m_ym2413_tag(nullptr)
{
diff --git a/src/devices/bus/msx_slot/music.h b/src/devices/bus/msx_slot/music.h
index d5587c9068c..c7e2a7bafb9 100644
--- a/src/devices/bus/msx_slot/music.h
+++ b/src/devices/bus/msx_slot/music.h
@@ -1,21 +1,23 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_MUSIC_H
-#define __MSX_SLOT_MUSIC_H
+#ifndef MAME_BUS_MSX_SLOT_MUSIC_H
+#define MAME_BUS_MSX_SLOT_MUSIC_H
+#pragma once
#include "bus/msx_slot/slot.h"
#include "bus/msx_slot/rom.h"
#include "sound/ym2413.h"
-extern const device_type MSX_SLOT_MUSIC;
+DECLARE_DEVICE_TYPE(MSX_SLOT_MUSIC, msx_slot_music_device)
#define MCFG_MSX_SLOT_MUSIC_ADD(_tag, _startpage, _numpages, _region, _offset, _ym2413_tag) \
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_MUSIC, _startpage, _numpages) \
msx_slot_rom_device::set_rom_start(*device, "^" _region, _offset); \
msx_slot_music_device::set_ym2413_tag(*device, _ym2413_tag);
+
class msx_slot_music_device : public msx_slot_rom_device
{
public:
@@ -24,16 +26,17 @@ public:
// static configuration helpers
static void set_ym2413_tag(device_t &device, const char *tag) { dynamic_cast<msx_slot_music_device &>(device).m_ym2413_tag = tag; }
- virtual void device_start() override;
-
virtual DECLARE_READ8_MEMBER(read) override;
DECLARE_WRITE8_MEMBER(write_ym2413);
+protected:
+ virtual void device_start() override;
+
private:
ym2413_device *m_ym2413;
const char *m_ym2413_tag;
};
-#endif
+#endif // MAME_BUS_MSX_SLOT_MUSIC_H
diff --git a/src/devices/bus/msx_slot/panasonic08.cpp b/src/devices/bus/msx_slot/panasonic08.cpp
index b1f30ca70cc..1e4e1ce6e22 100644
--- a/src/devices/bus/msx_slot/panasonic08.cpp
+++ b/src/devices/bus/msx_slot/panasonic08.cpp
@@ -13,11 +13,11 @@ Todo:
#include "panasonic08.h"
-const device_type MSX_SLOT_PANASONIC08 = device_creator<msx_slot_panasonic08_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_PANASONIC08, msx_slot_panasonic08_device, "msx_slot_panasonic08", "MSX Internal Panasonic08")
msx_slot_panasonic08_device::msx_slot_panasonic08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_SLOT_PANASONIC08, "MSX Internal Panasonic08", tag, owner, clock, "msx_slot_panasonic08", __FILE__)
+ : device_t(mconfig, MSX_SLOT_PANASONIC08, tag, owner, clock)
, msx_internal_slot_interface()
, m_nvram(*this, "nvram")
, m_rom_region(*this, finder_base::DUMMY_TAG)
diff --git a/src/devices/bus/msx_slot/panasonic08.h b/src/devices/bus/msx_slot/panasonic08.h
index eb7b058a71c..8318bd124f3 100644
--- a/src/devices/bus/msx_slot/panasonic08.h
+++ b/src/devices/bus/msx_slot/panasonic08.h
@@ -1,21 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_PANASONIC08_H
-#define __MSX_SLOT_PANASONIC08_H
+#ifndef MAME_BUS_MSX_SLOT_PANASONIC08_H
+#define MAME_BUS_MSX_SLOT_PANASONIC08_H
+
+#pragma once
#include "slot.h"
#include "machine/nvram.h"
-extern const device_type MSX_SLOT_PANASONIC08;
+DECLARE_DEVICE_TYPE(MSX_SLOT_PANASONIC08, msx_slot_panasonic08_device)
#define MCFG_MSX_SLOT_PANASONIC08_ADD(_tag, _startpage, _numpages, _region, _offset) \
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_PANASONIC08, _startpage, _numpages) \
msx_slot_panasonic08_device::set_rom_start(*device, "^" _region, _offset);
-class msx_slot_panasonic08_device : public device_t,
- public msx_internal_slot_interface
+class msx_slot_panasonic08_device : public device_t, public msx_internal_slot_interface
{
public:
msx_slot_panasonic08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -23,15 +24,18 @@ public:
// static configuration helpers
static void set_rom_start(device_t &device, const char *region, uint32_t offset);
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
- void restore_banks();
+protected:
+ virtual void device_start() override;
private:
+ void restore_banks();
+ void map_bank(int bank);
+
required_device<nvram_device> m_nvram;
required_memory_region m_rom_region;
uint32_t m_region_offset;
@@ -40,9 +44,7 @@ private:
const uint8_t *m_bank_base[8];
uint8_t m_control;
std::vector<uint8_t> m_sram;
-
- void map_bank(int bank);
};
-#endif
+#endif // MAME_BUS_MSX_SLOT_PANASONIC08_H
diff --git a/src/devices/bus/msx_slot/ram.cpp b/src/devices/bus/msx_slot/ram.cpp
index e03a8ed4e7c..a113dab1d39 100644
--- a/src/devices/bus/msx_slot/ram.cpp
+++ b/src/devices/bus/msx_slot/ram.cpp
@@ -4,10 +4,10 @@
#include "emu.h"
#include "ram.h"
-const device_type MSX_SLOT_RAM = device_creator<msx_slot_ram_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_RAM, msx_slot_ram_device, "msx_slot_ram", "MSX Internal RAM")
msx_slot_ram_device::msx_slot_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_SLOT_RAM, "MSX Internal RAM", tag, owner, clock, "msx_slot_ram", __FILE__)
+ : device_t(mconfig, MSX_SLOT_RAM, tag, owner, clock)
, msx_internal_slot_interface()
{
}
diff --git a/src/devices/bus/msx_slot/ram.h b/src/devices/bus/msx_slot/ram.h
index 7e05bb9d46c..6b6ea760e8f 100644
--- a/src/devices/bus/msx_slot/ram.h
+++ b/src/devices/bus/msx_slot/ram.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_RAM_H
-#define __MSX_SLOT_RAM_H
+#ifndef MAME_BUS_MSX_SLOT_RAM_H
+#define MAME_BUS_MSX_SLOT_RAM_H
#include "slot.h"
@@ -20,17 +20,18 @@ public:
static void force_start_address(device_t &device, uint16_t start) { downcast<msx_slot_ram_device &>(device).m_start_address = start; }
- virtual void device_start() override;
-
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_start() override;
+
private:
std::vector<uint8_t> m_ram;
};
-extern const device_type MSX_SLOT_RAM;
+DECLARE_DEVICE_TYPE(MSX_SLOT_RAM, msx_slot_ram_device)
-#endif
+#endif // MAME_BUS_MSX_SLOT_RAM_H
diff --git a/src/devices/bus/msx_slot/ram_mm.cpp b/src/devices/bus/msx_slot/ram_mm.cpp
index 75ea33d06c5..1b765c832f2 100644
--- a/src/devices/bus/msx_slot/ram_mm.cpp
+++ b/src/devices/bus/msx_slot/ram_mm.cpp
@@ -3,10 +3,10 @@
#include "emu.h"
#include "ram_mm.h"
-const device_type MSX_SLOT_RAM_MM = device_creator<msx_slot_ram_mm_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_RAM_MM, msx_slot_ram_mm_device, "msx_slot_ram_mm", "MSX Internal Memory Mapped RAM")
msx_slot_ram_mm_device::msx_slot_ram_mm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_SLOT_RAM_MM, "MSX Internal Memory Mapped RAM", tag, owner, clock, "msx_slot_ram_mm", __FILE__)
+ : device_t(mconfig, MSX_SLOT_RAM_MM, tag, owner, clock)
, msx_internal_slot_interface()
, m_total_size(0)
, m_bank_mask(0)
diff --git a/src/devices/bus/msx_slot/ram_mm.h b/src/devices/bus/msx_slot/ram_mm.h
index 1350d3c3158..584fc064897 100644
--- a/src/devices/bus/msx_slot/ram_mm.h
+++ b/src/devices/bus/msx_slot/ram_mm.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_RAM_MM_H
-#define __MSX_SLOT_RAM_MM_H
+#ifndef MAME_BUS_MSX_SLOT_RAM_MM_H
+#define MAME_BUS_MSX_SLOT_RAM_MM_H
#include "slot.h"
@@ -12,8 +12,7 @@
#define MCFG_MSX_SLOT_RAMM_SET_RAMIO_BITS(_ramio_set_bits) \
msx_slot_ram_mm_device::set_ramio_set_bits(*device, _ramio_set_bits);
-class msx_slot_ram_mm_device : public device_t
- , public msx_internal_slot_interface
+class msx_slot_ram_mm_device : public device_t, public msx_internal_slot_interface
{
public:
msx_slot_ram_mm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -21,14 +20,15 @@ public:
static void set_total_size(device_t &device, uint32_t total_size) { dynamic_cast<msx_slot_ram_mm_device &>(device).m_total_size = total_size; }
static void set_ramio_set_bits(device_t &device, uint8_t ramio_set_bits) { dynamic_cast<msx_slot_ram_mm_device &>(device).m_ramio_set_bits = ramio_set_bits; }
- virtual void device_start() override;
-
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8_MEMBER(read_mapper_bank);
DECLARE_WRITE8_MEMBER(write_mapper_bank);
+protected:
+ virtual void device_start() override;
+
void restore_banks();
private:
@@ -40,6 +40,6 @@ private:
uint8_t m_ramio_set_bits;
};
-extern const device_type MSX_SLOT_RAM_MM;
+DECLARE_DEVICE_TYPE(MSX_SLOT_RAM_MM, msx_slot_ram_mm_device)
-#endif
+#endif // MAME_BUS_MSX_SLOT_RAM_MM_H
diff --git a/src/devices/bus/msx_slot/rom.cpp b/src/devices/bus/msx_slot/rom.cpp
index 46d468b8121..05805412762 100644
--- a/src/devices/bus/msx_slot/rom.cpp
+++ b/src/devices/bus/msx_slot/rom.cpp
@@ -4,17 +4,17 @@
#include "rom.h"
-const device_type MSX_SLOT_ROM = device_creator<msx_slot_rom_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_ROM, msx_slot_rom_device, "msx_slot_rom", "MSX Internal ROM")
msx_slot_rom_device::msx_slot_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : msx_slot_rom_device(mconfig, MSX_SLOT_ROM, "MSX Internal ROM", tag, owner, clock, "msx_slot_rom", __FILE__)
+ : msx_slot_rom_device(mconfig, MSX_SLOT_ROM, tag, owner, clock)
{
}
-msx_slot_rom_device::msx_slot_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+msx_slot_rom_device::msx_slot_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, msx_internal_slot_interface()
, m_rom_region(*this, finder_base::DUMMY_TAG)
, m_region_offset(0)
diff --git a/src/devices/bus/msx_slot/rom.h b/src/devices/bus/msx_slot/rom.h
index 09389b80eb4..19081d8d76b 100644
--- a/src/devices/bus/msx_slot/rom.h
+++ b/src/devices/bus/msx_slot/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_ROM_H
-#define __MSX_SLOT_ROM_H
+#ifndef MAME_BUS_MSX_SLOT_ROM_H
+#define MAME_BUS_MSX_SLOT_ROM_H
+
+#pragma once
#include "slot.h"
@@ -13,16 +15,18 @@ class msx_slot_rom_device : public device_t,
public msx_internal_slot_interface
{
public:
- msx_slot_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
msx_slot_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// static configuration helpers
static void set_rom_start(device_t &device, const char *region, uint32_t offset);
- virtual void device_start() override;
-
virtual DECLARE_READ8_MEMBER(read) override;
+protected:
+ msx_slot_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+
private:
required_memory_region m_rom_region;
uint32_t m_region_offset;
@@ -31,4 +35,4 @@ private:
extern const device_type MSX_SLOT_ROM;
-#endif
+#endif // MAME_BUS_MSX_SLOT_ROM_H
diff --git a/src/devices/bus/msx_slot/slot.h b/src/devices/bus/msx_slot/slot.h
index b2349fadc30..6a2c7f093d9 100644
--- a/src/devices/bus/msx_slot/slot.h
+++ b/src/devices/bus/msx_slot/slot.h
@@ -10,8 +10,10 @@ pages; and multiple pieces of rom/ram/components can occur in a single slot.
***********************************************************************************************************/
-#ifndef __MSX_SLOT_SLOT_H
-#define __MSX_SLOT_SLOT_H
+#ifndef MAME_BUS_MSX_SLOT_SLOT_H
+#define MAME_BUS_MSX_SLOT_SLOT_H
+
+#pragma once
#define MCFG_MSX_INTERNAL_SLOT_ADD(_tag, _type, _startpage, _numpages) \
MCFG_DEVICE_ADD(_tag, _type, 0) \
@@ -37,4 +39,4 @@ protected:
uint32_t m_end_address;
};
-#endif
+#endif // MAME_BUS_MSX_SLOT_SLOT_H
diff --git a/src/devices/bus/msx_slot/sony08.cpp b/src/devices/bus/msx_slot/sony08.cpp
index 4c575c9f94d..966d187e899 100644
--- a/src/devices/bus/msx_slot/sony08.cpp
+++ b/src/devices/bus/msx_slot/sony08.cpp
@@ -10,11 +10,11 @@
#include "sony08.h"
-const device_type MSX_SLOT_SONY08 = device_creator<msx_slot_sony08_device>;
+DEFINE_DEVICE_TYPE(MSX_SLOT_SONY08, msx_slot_sony08_device, "msx_slot_sony08", "MSX Internal SONY08")
msx_slot_sony08_device::msx_slot_sony08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MSX_SLOT_SONY08, "MSX Internal SONY08", tag, owner, clock, "msx_slot_sony08", __FILE__)
+ : device_t(mconfig, MSX_SLOT_SONY08, tag, owner, clock)
, msx_internal_slot_interface()
, m_nvram(*this, "nvram")
, m_rom_region(*this, finder_base::DUMMY_TAG)
diff --git a/src/devices/bus/msx_slot/sony08.h b/src/devices/bus/msx_slot/sony08.h
index e65c398f082..4a3e5a41170 100644
--- a/src/devices/bus/msx_slot/sony08.h
+++ b/src/devices/bus/msx_slot/sony08.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __MSX_SLOT_SONY08_H
-#define __MSX_SLOT_SONY08_H
+#ifndef MAME_BUS_MSX_SLOT_SONY08_H
+#define MAME_BUS_MSX_SLOT_SONY08_H
+
+#pragma once
#include "slot.h"
#include "machine/nvram.h"
@@ -23,12 +25,14 @@ public:
// static configuration helpers
static void set_rom_start(device_t &device, const char *region, uint32_t offset);
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
+protected:
+ virtual void device_start() override;
+
void restore_banks();
private:
@@ -44,4 +48,4 @@ private:
};
-#endif
+#endif // MAME_BUS_MSX_SLOT_SONY08_H
diff --git a/src/devices/bus/nasbus/avc.cpp b/src/devices/bus/nasbus/avc.cpp
index 4c7b95abdc9..01fcf5fcf60 100644
--- a/src/devices/bus/nasbus/avc.cpp
+++ b/src/devices/bus/nasbus/avc.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NASCOM_AVC = device_creator<nascom_avc_device>;
+DEFINE_DEVICE_TYPE(NASCOM_AVC, nascom_avc_device, "nascom_avc", "Nascom Advanced Video Card")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -51,7 +51,7 @@ machine_config_constructor nascom_avc_device::device_mconfig_additions() const
//-------------------------------------------------
nascom_avc_device::nascom_avc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NASCOM_AVC, "Nascom Advanced Video Card", tag, owner, clock, "nascom_avc", __FILE__),
+ device_t(mconfig, NASCOM_AVC, tag, owner, clock),
device_nasbus_card_interface(mconfig, *this),
m_crtc(*this, "mc6845"),
m_palette(*this, "palette"),
@@ -82,9 +82,9 @@ void nascom_avc_device::device_start()
void nascom_avc_device::device_reset()
{
- m_nasbus->m_io->install_write_handler(0xb0, 0xb0, write8_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
- m_nasbus->m_io->install_readwrite_handler(0xb1, 0xb1, read8_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
- m_nasbus->m_io->install_write_handler(0xb2, 0xb2, write8_delegate(FUNC(nascom_avc_device::control_w), this));
+ io_space().install_write_handler(0xb0, 0xb0, write8_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
+ io_space().install_readwrite_handler(0xb1, 0xb1, read8_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));
+ io_space().install_write_handler(0xb2, 0xb2, write8_delegate(FUNC(nascom_avc_device::control_w), this));
}
@@ -136,11 +136,11 @@ WRITE8_MEMBER( nascom_avc_device::control_w )
if (((m_control & 0x07) == 0) && (data & 0x07))
{
m_nasbus->ram_disable_w(0);
- m_nasbus->m_program->install_readwrite_handler(0x8000, 0xbfff, read8_delegate(FUNC(nascom_avc_device::vram_r), this), write8_delegate(FUNC(nascom_avc_device::vram_w), this));
+ program_space().install_readwrite_handler(0x8000, 0xbfff, read8_delegate(FUNC(nascom_avc_device::vram_r), this), write8_delegate(FUNC(nascom_avc_device::vram_w), this));
}
else if ((data & 0x07) == 0)
{
- m_nasbus->m_program->unmap_readwrite(0x8000, 0xbfff);
+ program_space().unmap_readwrite(0x8000, 0xbfff);
m_nasbus->ram_disable_w(1);
}
diff --git a/src/devices/bus/nasbus/avc.h b/src/devices/bus/nasbus/avc.h
index abe5d1e2da0..b2da174bf87 100644
--- a/src/devices/bus/nasbus/avc.h
+++ b/src/devices/bus/nasbus/avc.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_NASBUS_AVC_H
+#define MAME_BUS_NASBUS_AVC_H
-#ifndef __NASBUS_AVC_H__
-#define __NASBUS_AVC_H__
+#pragma once
#include "nasbus.h"
#include "video/mc6845.h"
@@ -50,6 +50,6 @@ private:
};
// device type definition
-extern const device_type NASCOM_AVC;
+DECLARE_DEVICE_TYPE(NASCOM_AVC, nascom_avc_device)
-#endif // __NASBUS_AVC_H__
+#endif // MAME_BUS_NASBUS_AVC_H
diff --git a/src/devices/bus/nasbus/cards.cpp b/src/devices/bus/nasbus/cards.cpp
index 9fcc3c3e70a..db6606dad50 100644
--- a/src/devices/bus/nasbus/cards.cpp
+++ b/src/devices/bus/nasbus/cards.cpp
@@ -9,6 +9,10 @@
#include "emu.h"
#include "cards.h"
+#include "avc.h"
+#include "floppy.h"
+
+
SLOT_INTERFACE_START( nasbus_slot_cards )
SLOT_INTERFACE("avc", NASCOM_AVC)
SLOT_INTERFACE("floppy", NASCOM_FDC)
diff --git a/src/devices/bus/nasbus/cards.h b/src/devices/bus/nasbus/cards.h
index a9fef5c96ab..89179c4a16f 100644
--- a/src/devices/bus/nasbus/cards.h
+++ b/src/devices/bus/nasbus/cards.h
@@ -6,15 +6,12 @@
***************************************************************************/
-#pragma once
-
-#ifndef __NASBUS_CARDS_H__
-#define __NASBUS_CARDS_H__
+#ifndef MAME_BUS_NASBUS_CARDS_H
+#define MAME_BUS_NASBUS_CARDS_H
+#pragma once
-#include "avc.h"
-#include "floppy.h"
SLOT_INTERFACE_EXTERN( nasbus_slot_cards );
-#endif // __NASBUS_CARDS_H__
+#endif // MAME_BUS_NASBUS_CARDS_H
diff --git a/src/devices/bus/nasbus/floppy.cpp b/src/devices/bus/nasbus/floppy.cpp
index f75b452f178..dd8c1337069 100644
--- a/src/devices/bus/nasbus/floppy.cpp
+++ b/src/devices/bus/nasbus/floppy.cpp
@@ -22,7 +22,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NASCOM_FDC = device_creator<nascom_fdc_device>;
+DEFINE_DEVICE_TYPE(NASCOM_FDC, nascom_fdc_device, "nascom_fdc", "Nascom Floppy Disc Controller")
FLOPPY_FORMATS_MEMBER( nascom_fdc_device::floppy_formats )
FLOPPY_NASCOM_FORMAT
@@ -62,7 +62,7 @@ machine_config_constructor nascom_fdc_device::device_mconfig_additions() const
//-------------------------------------------------
nascom_fdc_device::nascom_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NASCOM_FDC, "Nascom Floppy Disc Controller", tag, owner, clock, "nascom_fdc", __FILE__),
+ device_t(mconfig, NASCOM_FDC, tag, owner, clock),
device_nasbus_card_interface(mconfig, *this),
m_fdc(*this, "fd1793"),
m_floppy0(*this, "fd1793:0"),
@@ -93,9 +93,9 @@ void nascom_fdc_device::device_start()
void nascom_fdc_device::device_reset()
{
- m_nasbus->m_io->install_readwrite_handler(0xe0, 0xe3, read8_delegate(FUNC(fd1793_t::read), m_fdc.target()), write8_delegate(FUNC(fd1793_t::write), m_fdc.target()));
- m_nasbus->m_io->install_readwrite_handler(0xe4, 0xe4, read8_delegate(FUNC(nascom_fdc_device::select_r), this), write8_delegate(FUNC(nascom_fdc_device::select_w), this));
- m_nasbus->m_io->install_read_handler(0xe5, 0xe5, read8_delegate(FUNC(nascom_fdc_device::status_r), this));
+ io_space().install_readwrite_handler(0xe0, 0xe3, read8_delegate(FUNC(fd1793_device::read), m_fdc.target()), write8_delegate(FUNC(fd1793_device::write), m_fdc.target()));
+ io_space().install_readwrite_handler(0xe4, 0xe4, read8_delegate(FUNC(nascom_fdc_device::select_r), this), write8_delegate(FUNC(nascom_fdc_device::select_w), this));
+ io_space().install_read_handler(0xe5, 0xe5, read8_delegate(FUNC(nascom_fdc_device::status_r), this));
}
//-------------------------------------------------
diff --git a/src/devices/bus/nasbus/floppy.h b/src/devices/bus/nasbus/floppy.h
index 81526a53f88..dbe4635723f 100644
--- a/src/devices/bus/nasbus/floppy.h
+++ b/src/devices/bus/nasbus/floppy.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_NASBUS_FLOPPY_H
+#define MAME_BUS_NASBUS_FLOPPY_H
-#ifndef __NASBUS_FLOPPY_H__
-#define __NASBUS_FLOPPY_H__
+#pragma once
#include "nasbus.h"
#include "machine/wd_fdc.h"
@@ -42,7 +42,7 @@ protected:
private:
TIMER_CALLBACK_MEMBER(motor_off);
- required_device<fd1793_t> m_fdc;
+ required_device<fd1793_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_device<floppy_connector> m_floppy2;
@@ -55,6 +55,6 @@ private:
};
// device type definition
-extern const device_type NASCOM_FDC;
+DECLARE_DEVICE_TYPE(NASCOM_FDC, nascom_fdc_device)
-#endif // __NASBUS_FLOPPY_H__
+#endif // MAME_BUS_NASBUS_FLOPPY_H
diff --git a/src/devices/bus/nasbus/nasbus.cpp b/src/devices/bus/nasbus/nasbus.cpp
index f49302d5ab4..dafe56f68ac 100644
--- a/src/devices/bus/nasbus/nasbus.cpp
+++ b/src/devices/bus/nasbus/nasbus.cpp
@@ -16,22 +16,19 @@
// NASBUS SLOT DEVICE
//**************************************************************************
-const device_type NASBUS_SLOT = device_creator<nasbus_slot_device>;
+DEFINE_DEVICE_TYPE(NASBUS_SLOT, nasbus_slot_device, "nasbus_slot", "NASBUS Slot")
//-------------------------------------------------
// nasbus_slot_device - constructor
//-------------------------------------------------
nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NASBUS_SLOT, "NASBUS Slot", tag, owner, clock, "nasbus_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_nasbus_tag(nullptr)
+ nasbus_slot_device(mconfig, NASBUS_SLOT, tag, owner, clock)
{
}
-nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+nasbus_slot_device::nasbus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_nasbus_tag(nullptr)
{
@@ -64,14 +61,14 @@ void nasbus_slot_device::device_start()
// NASBUS DEVICE
//**************************************************************************
-const device_type NASBUS = device_creator<nasbus_device>;
+DEFINE_DEVICE_TYPE(NASBUS, nasbus_device, "nasbus", "NASBUS Backplane")
//-------------------------------------------------
// nasbus_device - constructor
//-------------------------------------------------
nasbus_device::nasbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NASBUS, "NASBUS Backplane", tag, owner, clock, "nasbus", __FILE__),
+ device_t(mconfig, NASBUS, tag, owner, clock),
m_program(nullptr),
m_io(nullptr),
m_ram_disable_handler(*this)
@@ -147,8 +144,8 @@ WRITE_LINE_MEMBER( nasbus_device::ram_disable_w ) { m_ram_disable_handler(state)
device_nasbus_card_interface::device_nasbus_card_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device),
- m_next(nullptr),
- m_nasbus(nullptr)
+ m_nasbus(nullptr),
+ m_next(nullptr)
{
}
diff --git a/src/devices/bus/nasbus/nasbus.h b/src/devices/bus/nasbus/nasbus.h
index 7d6151d513e..c20445c741c 100644
--- a/src/devices/bus/nasbus/nasbus.h
+++ b/src/devices/bus/nasbus/nasbus.h
@@ -87,10 +87,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_NASBUS_NASBUS_H
+#define MAME_BUS_NASBUS_NASBUS_H
-#ifndef __NASBUS_H__
-#define __NASBUS_H__
+#pragma once
@@ -131,34 +131,34 @@ class nasbus_slot_device : public device_t, public device_slot_interface
public:
// construction/destruction
nasbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nasbus_slot_device(const machine_config &mconfig, device_type type, const char *name,
- const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
-
// inline configuration
static void set_nasbus_slot(device_t &device, device_t *owner, const char *nasbus_tag);
protected:
+ nasbus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
// configuration
const char *m_nasbus_tag;
};
// device type definition
-extern const device_type NASBUS_SLOT;
+DECLARE_DEVICE_TYPE(NASBUS_SLOT, nasbus_slot_device)
// ======================> nasbus_device
class nasbus_device : public device_t
{
+ friend class device_nasbus_card_interface;
public:
// construction/destruction
nasbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nasbus_device();
- template<class _Object> static devcb_base &set_ram_disable_handler(device_t &device, _Object object)
- { return downcast<nasbus_device &>(device).m_ram_disable_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_ram_disable_handler(device_t &device, Object &&cb)
+ { return downcast<nasbus_device &>(device).m_ram_disable_handler.set_callback(std::forward<Object>(cb)); }
void add_card(device_nasbus_card_interface *card);
@@ -168,42 +168,49 @@ public:
// from cards
DECLARE_WRITE_LINE_MEMBER( ram_disable_w );
- address_space *m_program;
- address_space *m_io;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
private:
+ address_space *m_program;
+ address_space *m_io;
+
simple_list<device_nasbus_card_interface> m_dev;
devcb_write_line m_ram_disable_handler;
};
// device type definition
-extern const device_type NASBUS;
+DECLARE_DEVICE_TYPE(NASBUS, nasbus_device)
// ======================> device_nasbus_interface
class device_nasbus_card_interface : public device_slot_card_interface
{
+ template <class ElementType> friend class simple_list;
public:
// construction/destruction
- device_nasbus_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_nasbus_card_interface();
void set_nasbus_device(nasbus_device *nasbus);
device_nasbus_card_interface *next() const { return m_next; }
- device_nasbus_card_interface *m_next;
protected:
+ device_nasbus_card_interface(const machine_config &mconfig, device_t &device);
+
+ address_space &program_space() { return *m_nasbus->m_program; }
+ address_space &io_space() { return *m_nasbus->m_io; }
+
nasbus_device *m_nasbus;
+
+private:
+ device_nasbus_card_interface *m_next;
};
// include here so drivers don't need to
#include "cards.h"
-#endif // __NASBUS_H__
+#endif // MAME_BUS_NASBUS_NASBUS_H
diff --git a/src/devices/bus/neogeo/boot_cthd.cpp b/src/devices/bus/neogeo/boot_cthd.cpp
index 79189841fdf..360bc937433 100644
--- a/src/devices/bus/neogeo/boot_cthd.cpp
+++ b/src/devices/bus/neogeo/boot_cthd.cpp
@@ -13,32 +13,33 @@
//-------------------------------------------------
-// neogeo_cthd2k3_cart - constructor
+// neogeo_cthd2k3_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_CTHD2K3_CART = device_creator<neogeo_cthd2k3_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CTHD2K3_CART, neogeo_cthd2k3_cart_device, "neocart_ct2k3", "Neo Geo CTHD 2003 Cart")
-neogeo_cthd2k3_cart::neogeo_cthd2k3_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source) :
- neogeo_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
+neogeo_cthd2k3_cart_device::neogeo_cthd2k3_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, type, tag, owner, clock),
m_prot(*this, "cthd_prot")
-{}
+{
+}
-neogeo_cthd2k3_cart::neogeo_cthd2k3_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_CTHD2K3_CART, "Neo Geo CTHD 2003 Cart", tag, owner, clock, "neocart_ct2k3", __FILE__),
- m_prot(*this, "cthd_prot")
-{}
+neogeo_cthd2k3_cart_device::neogeo_cthd2k3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_cthd2k3_cart_device(mconfig, NEOGEO_CTHD2K3_CART, tag, owner, clock)
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_cthd2k3_cart::device_start()
+void neogeo_cthd2k3_cart_device::device_start()
{
}
-void neogeo_cthd2k3_cart::device_reset()
+void neogeo_cthd2k3_cart_device::device_reset()
{
}
@@ -51,7 +52,7 @@ static MACHINE_CONFIG_FRAGMENT( cthd_cart )
MCFG_CTHD_PROT_ADD("cthd_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_cthd2k3_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_cthd2k3_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cthd_cart );
}
@@ -62,7 +63,7 @@ machine_config_constructor neogeo_cthd2k3_cart::device_mconfig_additions() const
**************************************************/
-void neogeo_cthd2k3_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cthd2k3_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->decrypt_cthd2003(spr_region, spr_region_size, audiocpu_region, audio_region_size, fix_region, fix_region_size);
m_prot->patch_cthd2003(cpuregion, cpuregion_size);
@@ -74,13 +75,14 @@ void neogeo_cthd2k3_cart::decrypt_all(DECRYPT_ALL_PARAMS)
**************************************************/
-const device_type NEOGEO_CT2K3SP_CART = device_creator<neogeo_ct2k3sp_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CT2K3SP_CART, neogeo_ct2k3sp_cart_device, "neocart_ct2k3sp", "Neo Geo CTHD 2003 Sp Cart")
-neogeo_ct2k3sp_cart::neogeo_ct2k3sp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cthd2k3_cart(mconfig, NEOGEO_CT2K3SP_CART, "Neo Geo CTHD 2003 Sp Cart", tag, owner, clock, "neocart_ct2k3sp", __FILE__)
-{}
+neogeo_ct2k3sp_cart_device::neogeo_ct2k3sp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cthd2k3_cart_device(mconfig, NEOGEO_CT2K3SP_CART, tag, owner, clock)
+{
+}
-void neogeo_ct2k3sp_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_ct2k3sp_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->decrypt_ct2k3sp(spr_region, spr_region_size, audiocpu_region, audio_region_size, fix_region, fix_region_size);
m_prot->patch_cthd2003(cpuregion, cpuregion_size);
@@ -90,13 +92,14 @@ void neogeo_ct2k3sp_cart::decrypt_all(DECRYPT_ALL_PARAMS)
ct2k3sa
**************************************************/
-const device_type NEOGEO_CT2K3SA_CART = device_creator<neogeo_ct2k3sa_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CT2K3SA_CART, neogeo_ct2k3sa_cart_device, "neocart_ct2k3sa", "Neo Geo CTHD 2003 Sp Alt Cart")
-neogeo_ct2k3sa_cart::neogeo_ct2k3sa_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cthd2k3_cart(mconfig, NEOGEO_CT2K3SA_CART, "Neo Geo CTHD 2003 Sp Alt Cart", tag, owner, clock, "neocart_ct2k3sa", __FILE__)
-{}
+neogeo_ct2k3sa_cart_device::neogeo_ct2k3sa_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cthd2k3_cart_device(mconfig, NEOGEO_CT2K3SA_CART, tag, owner, clock)
+{
+}
-void neogeo_ct2k3sa_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_ct2k3sa_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->decrypt_ct2k3sa(spr_region, spr_region_size, audiocpu_region, audio_region_size);
m_prot->patch_ct2k3sa(cpuregion, cpuregion_size);
@@ -107,15 +110,16 @@ void neogeo_ct2k3sa_cart::decrypt_all(DECRYPT_ALL_PARAMS)
matrimbl
**************************************************/
-const device_type NEOGEO_MATRIMBL_CART = device_creator<neogeo_matrimbl_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_MATRIMBL_CART, neogeo_matrimbl_cart_device, "neocart_matrimbl", "Neo Geo Matrimelee Bootleg Cart")
-neogeo_matrimbl_cart::neogeo_matrimbl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cthd2k3_cart(mconfig, NEOGEO_MATRIMBL_CART, "Neo Geo Matrimelee Bootleg Cart", tag, owner, clock, "neocart_matrimbl", __FILE__),
+neogeo_matrimbl_cart_device::neogeo_matrimbl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cthd2k3_cart_device(mconfig, NEOGEO_MATRIMBL_CART, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_kof2k2_prot(*this, "kof2k2_prot")
-{}
+{
+}
-void neogeo_matrimbl_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_matrimbl_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_kof2k2_prot->matrim_decrypt_68k(cpuregion, cpuregion_size);
m_cmc_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size); // required for text layer
@@ -129,7 +133,7 @@ static MACHINE_CONFIG_FRAGMENT( matrimbl_cart )
MCFG_CTHD_PROT_ADD("cthd_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_matrimbl_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_matrimbl_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( matrimbl_cart );
}
diff --git a/src/devices/bus/neogeo/boot_cthd.h b/src/devices/bus/neogeo/boot_cthd.h
index 7d3bb213b80..1846d1dd744 100644
--- a/src/devices/bus/neogeo/boot_cthd.h
+++ b/src/devices/bus/neogeo/boot_cthd.h
@@ -1,37 +1,44 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_BOOTCTHD_H
-#define __NEOGEO_BOOTCTHD_H
+#ifndef MAME_BUS_NEOGEO_BOOT_CTHD_H
+#define MAME_BUS_NEOGEO_BOOT_CTHD_H
+
+#pragma once
#include "slot.h"
-#include "rom.h"
+#include "prot_cmc.h"
#include "prot_cthd.h"
+#include "prot_kof2k2.h"
+#include "rom.h"
-// ======================> neogeo_cthd2k3_cart
-class neogeo_cthd2k3_cart : public neogeo_rom_device
+// ======================> neogeo_cthd2k3_cart_device
+
+class neogeo_cthd2k3_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_cthd2k3_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source);
- neogeo_cthd2k3_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_cthd2k3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual uint32_t get_bank_base(uint16_t sel) override { return m_prot->get_bank_base(sel); }
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
protected:
+ neogeo_cthd2k3_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
required_device<cthd_prot_device> m_prot;
};
// device type definition
-extern const device_type NEOGEO_CTHD2K3_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_CTHD2K3_CART, neogeo_cthd2k3_cart_device)
@@ -39,45 +46,42 @@ extern const device_type NEOGEO_CTHD2K3_CART;
ct2k3sp
**************************************************/
-class neogeo_ct2k3sp_cart : public neogeo_cthd2k3_cart
+class neogeo_ct2k3sp_cart_device : public neogeo_cthd2k3_cart_device
{
public:
- neogeo_ct2k3sp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_ct2k3sp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_CT2K3SP_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_CT2K3SP_CART, neogeo_ct2k3sp_cart_device)
/*************************************************
ct2k3sa
**************************************************/
-class neogeo_ct2k3sa_cart : public neogeo_cthd2k3_cart
+class neogeo_ct2k3sa_cart_device : public neogeo_cthd2k3_cart_device
{
public:
- neogeo_ct2k3sa_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_ct2k3sa_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_CT2K3SA_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_CT2K3SA_CART, neogeo_ct2k3sa_cart_device)
/*************************************************
matrimbl
**************************************************/
-#include "prot_cmc.h"
-#include "prot_kof2k2.h"
-
-class neogeo_matrimbl_cart : public neogeo_cthd2k3_cart
+class neogeo_matrimbl_cart_device : public neogeo_cthd2k3_cart_device
{
public:
- neogeo_matrimbl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_matrimbl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 2; }
+ virtual int get_fixed_bank_type() override { return 2; }
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -86,7 +90,7 @@ private:
required_device<kof2002_prot_device> m_kof2k2_prot;
};
-extern const device_type NEOGEO_MATRIMBL_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_MATRIMBL_CART, neogeo_matrimbl_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_BOOT_CTHD_H
diff --git a/src/devices/bus/neogeo/boot_kof10th.cpp b/src/devices/bus/neogeo/boot_kof10th.cpp
index 1ce38f14785..aa42ed9018f 100644
--- a/src/devices/bus/neogeo/boot_kof10th.cpp
+++ b/src/devices/bus/neogeo/boot_kof10th.cpp
@@ -13,22 +13,23 @@
//-------------------------------------------------
-// neogeo_kof10th_cart - constructor
+// neogeo_kof10th_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_KOF10TH_CART = device_creator<neogeo_kof10th_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KOF10TH_CART, neogeo_kof10th_cart_device, "neocart_kof10th", "Neo Geo KoF 10th Ann. Bootleg Cart")
-neogeo_kof10th_cart::neogeo_kof10th_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KOF10TH_CART, "Neo Geo KOF 10th Ann Bootleg Cart", tag, owner, clock, "neocart_kof10th", __FILE__)
-{}
+neogeo_kof10th_cart_device::neogeo_kof10th_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KOF10TH_CART, tag, owner, clock)
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_kof10th_cart::device_start()
+void neogeo_kof10th_cart_device::device_start()
{
save_pointer(NAME(m_fixed), 0x40000);
save_item(NAME(m_special_bank));
@@ -36,7 +37,7 @@ void neogeo_kof10th_cart::device_start()
save_item(NAME(m_cart_ram2));
}
-void neogeo_kof10th_cart::device_reset()
+void neogeo_kof10th_cart_device::device_reset()
{
m_special_bank = 0;
memset(m_cart_ram, 0x00, 0x2000);
@@ -52,13 +53,13 @@ static MACHINE_CONFIG_FRAGMENT( kof10th_cart )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_kof10th_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_kof10th_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof10th_cart );
}
-void neogeo_kof10th_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kof10th_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->kof10th_decrypt(cpuregion, cpuregion_size);
memcpy(m_cart_ram2, (uint8_t *)cpuregion + 0xe0000, 0x20000);
@@ -70,7 +71,7 @@ void neogeo_kof10th_cart::decrypt_all(DECRYPT_ALL_PARAMS)
is incomplete, at the moment the S data is copied from the program rom on
start-up instead */
-uint32_t neogeo_kof10th_cart::get_bank_base(uint16_t sel)
+uint32_t neogeo_kof10th_cart_device::get_bank_base(uint16_t sel)
{
uint32_t bank = 0x100000 + ((sel & 7) << 20);
if (bank >= 0x700000)
@@ -78,28 +79,28 @@ uint32_t neogeo_kof10th_cart::get_bank_base(uint16_t sel)
return bank;
}
-uint16_t neogeo_kof10th_cart::get_helper()
+uint16_t neogeo_kof10th_cart_device::get_helper()
{
return m_cart_ram[0xffc];
}
-uint32_t neogeo_kof10th_cart::get_special_bank()
+uint32_t neogeo_kof10th_cart_device::get_special_bank()
{
return m_special_bank;
}
-READ16_MEMBER(neogeo_kof10th_cart::protection_r)
+READ16_MEMBER(neogeo_kof10th_cart_device::protection_r)
{
return m_cart_ram[offset];
}
-READ16_MEMBER(neogeo_kof10th_cart::addon_r)
+READ16_MEMBER(neogeo_kof10th_cart_device::addon_r)
{
// printf("kof10th_RAM2_r\n");
return m_cart_ram2[offset];
}
-WRITE16_MEMBER(neogeo_kof10th_cart::protection_w)
+WRITE16_MEMBER(neogeo_kof10th_cart_device::protection_w)
{
if (offset < 0x40000/2)
{
diff --git a/src/devices/bus/neogeo/boot_kof10th.h b/src/devices/bus/neogeo/boot_kof10th.h
index 0ba5c0ee2a1..1d246d6f4e1 100644
--- a/src/devices/bus/neogeo/boot_kof10th.h
+++ b/src/devices/bus/neogeo/boot_kof10th.h
@@ -1,23 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_KOF10TH_H
-#define __NEOGEO_KOF10TH_H
+#ifndef MAME_BUS_NEOGEO_BOOT_KOF10TH_H
+#define MAME_BUS_NEOGEO_BOOT_KOF10TH_H
+
+#pragma once
#include "slot.h"
#include "boot_misc.h"
#include "prot_misc.h"
-// ======================> neogeo_kof10th_cart
+// ======================> neogeo_kof10th_cart_device
-class neogeo_kof10th_cart : public neogeo_bootleg_cart
+class neogeo_kof10th_cart_device : public neogeo_bootleg_cart_device
{
public:
// construction/destruction
- neogeo_kof10th_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_kof10th_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
@@ -29,7 +28,12 @@ public:
virtual DECLARE_WRITE16_MEMBER(protection_w) override;
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
private:
uint8_t* m_fixed;
@@ -39,8 +43,6 @@ private:
};
// device type definition
-extern const device_type NEOGEO_KOF10TH_CART;
-
-
+DECLARE_DEVICE_TYPE(NEOGEO_KOF10TH_CART, neogeo_kof10th_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_BOOT_KOF10TH_H
diff --git a/src/devices/bus/neogeo/boot_kof2k2.cpp b/src/devices/bus/neogeo/boot_kof2k2.cpp
index 522f83e65aa..61876fd02f9 100644
--- a/src/devices/bus/neogeo/boot_kof2k2.cpp
+++ b/src/devices/bus/neogeo/boot_kof2k2.cpp
@@ -25,17 +25,17 @@ static MACHINE_CONFIG_FRAGMENT( kof2k2mp_cart )
MCFG_PCM2_PROT_ADD("pcm2_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_kof2002b_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_kof2002b_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2k2bl_cart );
}
-machine_config_constructor neogeo_kf2k2mp_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_kf2k2mp_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2k2mp_cart );
}
-machine_config_constructor neogeo_kf2k2mp2_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_kf2k2mp2_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2k2mp_cart );
}
@@ -44,17 +44,18 @@ machine_config_constructor neogeo_kf2k2mp2_cart::device_mconfig_additions() cons
kof2002b
**************************************************/
-const device_type NEOGEO_KOF2002B_CART = device_creator<neogeo_kof2002b_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KOF2002B_CART, neogeo_kof2002b_cart_device, "neocart_kof2002b", "Neo Geo KoF 2002 Bootleg Cart")
-neogeo_kof2002b_cart::neogeo_kof2002b_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KOF2002B_CART, "Neo Geo KOF 2002 Bootleg Cart", tag, owner, clock, "neocart_kof2002b", __FILE__),
+neogeo_kof2002b_cart_device::neogeo_kof2002b_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KOF2002B_CART, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot"),
m_kof2k2_prot(*this, "kof2k2_prot")
-{}
+{
+}
-void neogeo_kof2002b_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kof2002b_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_kof2k2_prot->kof2002_decrypt_68k(cpuregion, cpuregion_size);
m_pcm2_prot->swap(ym_region, ym_region_size, 0);
@@ -67,16 +68,17 @@ void neogeo_kof2002b_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kf2k2mp
**************************************************/
-const device_type NEOGEO_KF2K2MP_CART = device_creator<neogeo_kf2k2mp_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KF2K2MP_CART, neogeo_kf2k2mp_cart_device, "neocart_kf2k2mp", "Neo Geo KoF 2002 MP Cart")
-neogeo_kf2k2mp_cart::neogeo_kf2k2mp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KF2K2MP_CART, "Neo Geo KOF 2002 MP Cart", tag, owner, clock, "neocart_kf2k2mp", __FILE__),
+neogeo_kf2k2mp_cart_device::neogeo_kf2k2mp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KF2K2MP_CART, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot")
-{}
+{
+}
-void neogeo_kf2k2mp_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kf2k2mp_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->kf2k2mp_decrypt(cpuregion, cpuregion_size);
m_pcm2_prot->swap(ym_region, ym_region_size, 0);
@@ -89,16 +91,17 @@ void neogeo_kf2k2mp_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kf2k2mp2
**************************************************/
-const device_type NEOGEO_KF2K2MP2_CART = device_creator<neogeo_kf2k2mp2_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KF2K2MP2_CART, neogeo_kf2k2mp2_cart_device, "neocart_kf2k2mp2", "Neo Geo KoF 2002 MP2 Cart")
-neogeo_kf2k2mp2_cart::neogeo_kf2k2mp2_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KF2K2MP2_CART, "Neo Geo KOF 2002 MP2 Cart", tag, owner, clock, "neocart_kf2k2mp2", __FILE__),
+neogeo_kf2k2mp2_cart_device::neogeo_kf2k2mp2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KF2K2MP2_CART, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot")
-{}
+{
+}
-void neogeo_kf2k2mp2_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kf2k2mp2_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->kf2k2mp2_px_decrypt(cpuregion, cpuregion_size);
m_pcm2_prot->swap(ym_region, ym_region_size, 0);
diff --git a/src/devices/bus/neogeo/boot_kof2k2.h b/src/devices/bus/neogeo/boot_kof2k2.h
index 11539369d78..6faf1bdbfe3 100644
--- a/src/devices/bus/neogeo/boot_kof2k2.h
+++ b/src/devices/bus/neogeo/boot_kof2k2.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_BOOTKOF2K2_H
-#define __NEOGEO_BOOTKOF2K2_H
+#ifndef MAME_BUS_NEOGEO_BOOT_KOF2K2_H
+#define MAME_BUS_NEOGEO_BOOT_KOF2K2_H
+
+#pragma once
#include "slot.h"
#include "boot_misc.h"
@@ -15,13 +17,13 @@
kof2002b
**************************************************/
-class neogeo_kof2002b_cart : public neogeo_bootleg_cart
+class neogeo_kof2002b_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kof2002b_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kof2002b_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
private:
@@ -30,20 +32,20 @@ private:
required_device<kof2002_prot_device> m_kof2k2_prot;
};
-extern const device_type NEOGEO_KOF2002B_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KOF2002B_CART, neogeo_kof2002b_cart_device)
/*************************************************
kf2k2mp
**************************************************/
-class neogeo_kf2k2mp_cart : public neogeo_bootleg_cart
+class neogeo_kf2k2mp_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kf2k2mp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kf2k2mp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
private:
@@ -51,20 +53,20 @@ private:
required_device<pcm2_prot_device> m_pcm2_prot;
};
-extern const device_type NEOGEO_KF2K2MP_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KF2K2MP_CART, neogeo_kf2k2mp_cart_device)
/*************************************************
kf2k2mp2
**************************************************/
-class neogeo_kf2k2mp2_cart : public neogeo_bootleg_cart
+class neogeo_kf2k2mp2_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kf2k2mp2_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kf2k2mp2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
private:
@@ -72,8 +74,8 @@ private:
required_device<pcm2_prot_device> m_pcm2_prot;
};
-extern const device_type NEOGEO_KF2K2MP2_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KF2K2MP2_CART, neogeo_kf2k2mp2_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_BOOT_KOF2K2_H
diff --git a/src/devices/bus/neogeo/boot_kof2k3.cpp b/src/devices/bus/neogeo/boot_kof2k3.cpp
index b5394a3a652..3b37d92f99b 100644
--- a/src/devices/bus/neogeo/boot_kof2k3.cpp
+++ b/src/devices/bus/neogeo/boot_kof2k3.cpp
@@ -19,17 +19,17 @@ static MACHINE_CONFIG_FRAGMENT( kof2k3bl_cart )
MCFG_KOF2K3BL_PROT_ADD("kof2k3bl_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_kf2k3bl_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_kf2k3bl_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2k3bl_cart );
}
-machine_config_constructor neogeo_kf2k3pl_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_kf2k3pl_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2k3bl_cart );
}
-machine_config_constructor neogeo_kf2k3upl_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_kf2k3upl_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2k3bl_cart );
}
@@ -38,16 +38,17 @@ machine_config_constructor neogeo_kf2k3upl_cart::device_mconfig_additions() cons
kf2k3bl
**************************************************/
-const device_type NEOGEO_KF2K3BL_CART = device_creator<neogeo_kf2k3bl_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KF2K3BL_CART, neogeo_kf2k3bl_cart_device, "neocart_kf2k3bl", "Neo Geo KoF 2003 Bootleg Cart")
-neogeo_kf2k3bl_cart::neogeo_kf2k3bl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KF2K3BL_CART, "Neo Geo KOF 2003 Bootleg Cart", tag, owner, clock, "neocart_kf2k3bl", __FILE__),
+neogeo_kf2k3bl_cart_device::neogeo_kf2k3bl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KF2K3BL_CART, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot"),
m_kof2k3bl_prot(*this, "kof2k3bl_prot")
-{}
+{
+}
-void neogeo_kf2k3bl_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kf2k3bl_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_cmc_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, KOF2003_GFX_KEY);
m_pcm2_prot->swap(ym_region, ym_region_size, 5);
@@ -59,16 +60,17 @@ void neogeo_kf2k3bl_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kf2k3pl
**************************************************/
-const device_type NEOGEO_KF2K3PL_CART = device_creator<neogeo_kf2k3pl_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KF2K3PL_CART, neogeo_kf2k3pl_cart_device, "neocart_kf2k3pl", "Neo Geo KoF 2003 PL Cart")
-neogeo_kf2k3pl_cart::neogeo_kf2k3pl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KF2K3PL_CART, "Neo Geo KOF 2003 PL Cart", tag, owner, clock, "neocart_kf2k3pl", __FILE__),
+neogeo_kf2k3pl_cart_device::neogeo_kf2k3pl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KF2K3PL_CART, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot"),
m_kof2k3bl_prot(*this, "kof2k3bl_prot")
-{}
+{
+}
-void neogeo_kf2k3pl_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kf2k3pl_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_cmc_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, KOF2003_GFX_KEY);
m_pcm2_prot->swap(ym_region, ym_region_size, 5);
@@ -81,16 +83,17 @@ void neogeo_kf2k3pl_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kf2k3upl
**************************************************/
-const device_type NEOGEO_KF2K3UPL_CART = device_creator<neogeo_kf2k3upl_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KF2K3UPL_CART, neogeo_kf2k3upl_cart_device, "neocart_kf2k3upl", "Neo Geo KoF 2003 UPL Cart")
-neogeo_kf2k3upl_cart::neogeo_kf2k3upl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KF2K3UPL_CART, "Neo Geo KOF 2003 UPL Cart", tag, owner, clock, "neocart_kf2k3upl", __FILE__),
+neogeo_kf2k3upl_cart_device::neogeo_kf2k3upl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KF2K3UPL_CART, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot"),
m_kof2k3bl_prot(*this, "kof2k3bl_prot")
-{}
+{
+}
-void neogeo_kf2k3upl_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kf2k3upl_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_cmc_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, KOF2003_GFX_KEY);
m_pcm2_prot->swap(ym_region, ym_region_size, 5);
diff --git a/src/devices/bus/neogeo/boot_kof2k3.h b/src/devices/bus/neogeo/boot_kof2k3.h
index 4b7a0a9e911..631dc14e888 100644
--- a/src/devices/bus/neogeo/boot_kof2k3.h
+++ b/src/devices/bus/neogeo/boot_kof2k3.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_BOOTKOF2K3_H
-#define __NEOGEO_BOOTKOF2K3_H
+#ifndef MAME_BUS_NEOGEO_BOOT_KOF2K3_H
+#define MAME_BUS_NEOGEO_BOOT_KOF2K3_H
+
+#pragma once
#include "slot.h"
#include "boot_misc.h"
@@ -12,12 +14,12 @@
kf2k3bl
**************************************************/
-class neogeo_kf2k3bl_cart : public neogeo_bootleg_cart
+class neogeo_kf2k3bl_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kf2k3bl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kf2k3bl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -32,19 +34,19 @@ private:
required_device<kof2k3bl_prot_device> m_kof2k3bl_prot;
};
-extern const device_type NEOGEO_KF2K3BL_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KF2K3BL_CART, neogeo_kf2k3bl_cart_device)
/*************************************************
kf2k3pl
**************************************************/
-class neogeo_kf2k3pl_cart : public neogeo_bootleg_cart
+class neogeo_kf2k3pl_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kf2k3pl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kf2k3pl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -58,19 +60,19 @@ private:
required_device<kof2k3bl_prot_device> m_kof2k3bl_prot;
};
-extern const device_type NEOGEO_KF2K3PL_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KF2K3PL_CART, neogeo_kf2k3pl_cart_device)
/*************************************************
kf2k3upl
**************************************************/
-class neogeo_kf2k3upl_cart : public neogeo_bootleg_cart
+class neogeo_kf2k3upl_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kf2k3upl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kf2k3upl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -85,8 +87,8 @@ private:
required_device<kof2k3bl_prot_device> m_kof2k3bl_prot;
};
-extern const device_type NEOGEO_KF2K3UPL_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KF2K3UPL_CART, neogeo_kf2k3upl_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_BOOT_KOF2K3_H
diff --git a/src/devices/bus/neogeo/boot_misc.cpp b/src/devices/bus/neogeo/boot_misc.cpp
index 4740d770729..af41ba0adb3 100644
--- a/src/devices/bus/neogeo/boot_misc.cpp
+++ b/src/devices/bus/neogeo/boot_misc.cpp
@@ -13,32 +13,33 @@
//-------------------------------------------------
-// neogeo_bootleg_cart - constructor
+// neogeo_bootleg_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_BOOTLEG_CART = device_creator<neogeo_bootleg_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_BOOTLEG_CART, neogeo_bootleg_cart_device, "neocart_boot", "Neo Geo Bootleg Protected Cart")
-neogeo_bootleg_cart::neogeo_bootleg_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source) :
- neogeo_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
+neogeo_bootleg_cart_device::neogeo_bootleg_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, type, tag, owner, clock),
m_prot(*this, "bootleg_prot")
-{}
+{
+}
-neogeo_bootleg_cart::neogeo_bootleg_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_BOOTLEG_CART, "Neo Geo Bootleg Protected Cart", tag, owner, clock, "neocart_boot", __FILE__),
- m_prot(*this, "bootleg_prot")
-{}
+neogeo_bootleg_cart_device::neogeo_bootleg_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_BOOTLEG_CART, tag, owner, clock)
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_bootleg_cart::device_start()
+void neogeo_bootleg_cart_device::device_start()
{
}
-void neogeo_bootleg_cart::device_reset()
+void neogeo_bootleg_cart_device::device_reset()
{
}
@@ -51,7 +52,7 @@ static MACHINE_CONFIG_FRAGMENT( bootleg_cart )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_bootleg_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_bootleg_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( bootleg_cart );
}
@@ -62,14 +63,15 @@ machine_config_constructor neogeo_bootleg_cart::device_mconfig_additions() const
garoubl
**************************************************/
-const device_type NEOGEO_GAROUBL_CART = device_creator<neogeo_garoubl_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_GAROUBL_CART, neogeo_garoubl_cart_device, "neocart_garoubl", "Neo Geo Garou Bootleg Cart")
-neogeo_garoubl_cart::neogeo_garoubl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_GAROUBL_CART, "Neo Geo Garou Bootleg Cart", tag, owner, clock, "neocart_garoubl", __FILE__)
-{}
+neogeo_garoubl_cart_device::neogeo_garoubl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_GAROUBL_CART, tag, owner, clock)
+{
+}
-void neogeo_garoubl_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_garoubl_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->sx_decrypt(fix_region, fix_region_size, 2);
m_prot->cx_decrypt(spr_region, spr_region_size);
@@ -80,14 +82,15 @@ void neogeo_garoubl_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kof97oro
**************************************************/
-const device_type NEOGEO_KOF97ORO_CART = device_creator<neogeo_kof97oro_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KOF97ORO_CART, neogeo_kof97oro_cart_device, "neocart_kof97oro", "Neo Geo KoF 97 Orochi Bootleg Cart")
-neogeo_kof97oro_cart::neogeo_kof97oro_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KOF97ORO_CART, "Neo Geo KOF 97 Orochi Bootleg Cart", tag, owner, clock, "neocart_kof97oro", __FILE__)
-{}
+neogeo_kof97oro_cart_device::neogeo_kof97oro_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KOF97ORO_CART, tag, owner, clock)
+{
+}
-void neogeo_kof97oro_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kof97oro_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->kof97oro_px_decode(cpuregion, cpuregion_size);
m_prot->sx_decrypt(fix_region, fix_region_size,1);
@@ -99,14 +102,15 @@ void neogeo_kof97oro_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kf10thep
**************************************************/
-const device_type NEOGEO_KF10THEP_CART = device_creator<neogeo_kf10thep_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KF10THEP_CART, neogeo_kf10thep_cart_device, "neocart_kf10thep", "Neo Geo KoF 10th Ann. EP Bootleg Cart")
-neogeo_kf10thep_cart::neogeo_kf10thep_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KF10THEP_CART, "Neo Geo KOF 10th Ann. EP Bootleg Cart", tag, owner, clock, "neocart_kf10thep", __FILE__)
-{}
+neogeo_kf10thep_cart_device::neogeo_kf10thep_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KF10THEP_CART, tag, owner, clock)
+{
+}
-void neogeo_kf10thep_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kf10thep_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->kf10thep_px_decrypt(cpuregion, cpuregion_size);
m_prot->sx_decrypt(fix_region, fix_region_size, 1);
@@ -117,14 +121,15 @@ void neogeo_kf10thep_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kf2k5uni
**************************************************/
-const device_type NEOGEO_KF2K5UNI_CART = device_creator<neogeo_kf2k5uni_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KF2K5UNI_CART, neogeo_kf2k5uni_cart_device, "neocart_kf2k5uni", "Neo Geo KoF 2005 Unique Bootleg Cart")
-neogeo_kf2k5uni_cart::neogeo_kf2k5uni_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KF2K5UNI_CART, "Neo Geo KOF 2005 Unique Bootleg Cart", tag, owner, clock, "neocart_kf2k5uni", __FILE__)
-{}
+neogeo_kf2k5uni_cart_device::neogeo_kf2k5uni_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KF2K5UNI_CART, tag, owner, clock)
+{
+}
-void neogeo_kf2k5uni_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kf2k5uni_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->kf2k5uni_px_decrypt(cpuregion, cpuregion_size);
m_prot->kf2k5uni_sx_decrypt(fix_region, fix_region_size);
@@ -136,14 +141,15 @@ void neogeo_kf2k5uni_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kf2k4se
**************************************************/
-const device_type NEOGEO_KF2K4SE_CART = device_creator<neogeo_kf2k4se_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KF2K4SE_CART, neogeo_kf2k4se_cart_device, "neocart_kf2k4se", "Neo Geo KoF 2004 SE Bootleg Cart")
-neogeo_kf2k4se_cart::neogeo_kf2k4se_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KF2K4SE_CART, "Neo Geo KOF 2004 SE Bootleg Cart", tag, owner, clock, "neocart_kf2k4se", __FILE__)
-{}
+neogeo_kf2k4se_cart_device::neogeo_kf2k4se_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KF2K4SE_CART, tag, owner, clock)
+{
+}
-void neogeo_kf2k4se_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kf2k4se_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->decrypt_kof2k4se_68k(cpuregion, cpuregion_size);
}
@@ -153,13 +159,14 @@ void neogeo_kf2k4se_cart::decrypt_all(DECRYPT_ALL_PARAMS)
lans2004
**************************************************/
-const device_type NEOGEO_LANS2004_CART = device_creator<neogeo_lans2004_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_LANS2004_CART, neogeo_lans2004_cart_device, "neocart_lans2004", "Neo Geo Lansquenet 2004 Bootleg Cart")
-neogeo_lans2004_cart::neogeo_lans2004_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_LANS2004_CART, "Neo Geo Lansquenet 2004 Bootleg Cart", tag, owner, clock, "neocart_lans2004", __FILE__)
-{}
+neogeo_lans2004_cart_device::neogeo_lans2004_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_LANS2004_CART, tag, owner, clock)
+{
+}
-void neogeo_lans2004_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_lans2004_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->lans2004_decrypt_68k(cpuregion, cpuregion_size);
m_prot->lans2004_vx_decrypt(ym_region, ym_region_size);
@@ -172,13 +179,14 @@ void neogeo_lans2004_cart::decrypt_all(DECRYPT_ALL_PARAMS)
samsho5b
**************************************************/
-const device_type NEOGEO_SAMSHO5B_CART = device_creator<neogeo_samsho5b_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_SAMSHO5B_CART, neogeo_samsho5b_cart_device, "neocart_samsho5b", "Neo Geo Samurai Shodown 5 Bootleg Cart")
-neogeo_samsho5b_cart::neogeo_samsho5b_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_SAMSHO5B_CART, "Neo Geo Samurai Shodown 5 Bootleg Cart", tag, owner, clock, "neocart_samsho5b", __FILE__)
-{}
+neogeo_samsho5b_cart_device::neogeo_samsho5b_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_SAMSHO5B_CART, tag, owner, clock)
+{
+}
-void neogeo_samsho5b_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_samsho5b_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->samsho5b_px_decrypt(cpuregion, cpuregion_size);
m_prot->samsho5b_vx_decrypt(ym_region, ym_region_size);
@@ -191,14 +199,15 @@ void neogeo_samsho5b_cart::decrypt_all(DECRYPT_ALL_PARAMS)
mslug3b6
**************************************************/
-const device_type NEOGEO_MSLUG3B6_CART = device_creator<neogeo_mslug3b6_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_MSLUG3B6_CART, neogeo_mslug3b6_cart_device, "neocart_mslug3b6", "Neo Geo Metal Slug 6 Bootleg Cart")
-neogeo_mslug3b6_cart::neogeo_mslug3b6_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_MSLUG3B6_CART, "Neo Geo Metal Slug 6 Bootleg Cart", tag, owner, clock, "neocart_mslug3b6", __FILE__),
+neogeo_mslug3b6_cart_device::neogeo_mslug3b6_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_MSLUG3B6_CART, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot")
-{}
+{
+}
-void neogeo_mslug3b6_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_mslug3b6_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->sx_decrypt(fix_region, fix_region_size, 2);
m_cmc_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, MSLUG3_GFX_KEY);
@@ -209,7 +218,7 @@ static MACHINE_CONFIG_FRAGMENT( mslug3b6_cart )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_mslug3b6_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_mslug3b6_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( mslug3b6_cart );
}
@@ -219,15 +228,16 @@ machine_config_constructor neogeo_mslug3b6_cart::device_mconfig_additions() cons
ms5plus
**************************************************/
-const device_type NEOGEO_MS5PLUS_CART = device_creator<neogeo_ms5plus_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_MS5PLUS_CART, neogeo_ms5plus_cart_device, "neocart_ms5plus", "Neo Geo Metal Slug 5 Plus Bootleg Cart")
-neogeo_ms5plus_cart::neogeo_ms5plus_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_MS5PLUS_CART, "Neo Geo Metal Slug 5 Plus Bootleg Cart", tag, owner, clock, "neocart_ms5plus", __FILE__),
+neogeo_ms5plus_cart_device::neogeo_ms5plus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_MS5PLUS_CART, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot")
-{}
+{
+}
-void neogeo_ms5plus_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_ms5plus_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region,audio_region_size);
m_cmc_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, MSLUG5_GFX_KEY);
@@ -241,7 +251,7 @@ static MACHINE_CONFIG_FRAGMENT( ms5plus_cart )
MCFG_PCM2_PROT_ADD("pcm2_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_ms5plus_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_ms5plus_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ms5plus_cart );
}
@@ -251,12 +261,13 @@ machine_config_constructor neogeo_ms5plus_cart::device_mconfig_additions() const
kog
**************************************************/
-const device_type NEOGEO_KOG_CART = device_creator<neogeo_kog_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KOG_CART, neogeo_kog_cart_device, "neocart_kog", "Neo Geo King of Gladiators Bootleg Cart")
-neogeo_kog_cart::neogeo_kog_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_KOG_CART, "Neo Geo King of Gladiators Bootleg Cart", tag, owner, clock, "neocart_kog", __FILE__),
+neogeo_kog_cart_device::neogeo_kog_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_KOG_CART, tag, owner, clock),
m_jumper(*this, "JUMPER")
-{}
+{
+}
static INPUT_PORTS_START( kog )
@@ -269,18 +280,18 @@ static INPUT_PORTS_START( kog )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
-ioport_constructor neogeo_kog_cart::device_input_ports() const
+ioport_constructor neogeo_kog_cart_device::device_input_ports() const
{
return INPUT_PORTS_NAME( kog );
}
-READ16_MEMBER(neogeo_kog_cart::protection_r)
+READ16_MEMBER(neogeo_kog_cart_device::protection_r)
{
return m_jumper->read();
}
-void neogeo_kog_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kog_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->kog_px_decrypt(cpuregion, cpuregion_size);
m_prot->sx_decrypt(fix_region, fix_region_size, 1);
diff --git a/src/devices/bus/neogeo/boot_misc.h b/src/devices/bus/neogeo/boot_misc.h
index b42da3b4edb..5f625eda2d3 100644
--- a/src/devices/bus/neogeo/boot_misc.h
+++ b/src/devices/bus/neogeo/boot_misc.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_BOOTCART_H
-#define __NEOGEO_BOOTCART_H
+#ifndef MAME_BUS_NEOGEO_BOOT_MISC_H
+#define MAME_BUS_NEOGEO_BOOT_MISC_H
#include "slot.h"
#include "rom.h"
@@ -9,146 +9,148 @@
#include "prot_cmc.h"
#include "prot_pcm2.h"
-// ======================> neogeo_bootleg_cart
+// ======================> neogeo_bootleg_cart_device
-class neogeo_bootleg_cart : public neogeo_rom_device
+class neogeo_bootleg_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_bootleg_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source);
- neogeo_bootleg_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_bootleg_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
+ virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { }
+ virtual int get_fixed_bank_type() override { return 0; }
+
+protected:
+ neogeo_bootleg_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock);
- virtual void decrypt_all(DECRYPT_ALL_PARAMS) override {}
- virtual int get_fixed_bank_type(void) override { return 0; }
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
required_device<neoboot_prot_device> m_prot;
};
// device type definition
-extern const device_type NEOGEO_BOOTLEG_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_BOOTLEG_CART, neogeo_bootleg_cart_device)
/*************************************************
garoubl
**************************************************/
-class neogeo_garoubl_cart : public neogeo_bootleg_cart
+class neogeo_garoubl_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_garoubl_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_garoubl_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_GAROUBL_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_GAROUBL_CART, neogeo_garoubl_cart_device)
/*************************************************
kof97oro
**************************************************/
-class neogeo_kof97oro_cart : public neogeo_bootleg_cart
+class neogeo_kof97oro_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kof97oro_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kof97oro_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_KOF97ORO_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KOF97ORO_CART, neogeo_kof97oro_cart_device)
/*************************************************
kf10thep
**************************************************/
-class neogeo_kf10thep_cart : public neogeo_bootleg_cart
+class neogeo_kf10thep_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kf10thep_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kf10thep_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_KF10THEP_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KF10THEP_CART, neogeo_kf10thep_cart_device)
/*************************************************
kf2k5uni
**************************************************/
-class neogeo_kf2k5uni_cart : public neogeo_bootleg_cart
+class neogeo_kf2k5uni_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kf2k5uni_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kf2k5uni_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_KF2K5UNI_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KF2K5UNI_CART, neogeo_kf2k5uni_cart_device)
/*************************************************
kf2k4se
**************************************************/
-class neogeo_kf2k4se_cart : public neogeo_bootleg_cart
+class neogeo_kf2k4se_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kf2k4se_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kf2k4se_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_KF2K4SE_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KF2K4SE_CART, neogeo_kf2k4se_cart_device)
/*************************************************
lans2004
**************************************************/
-class neogeo_lans2004_cart : public neogeo_bootleg_cart
+class neogeo_lans2004_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_lans2004_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_lans2004_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_LANS2004_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_LANS2004_CART, neogeo_lans2004_cart_device)
/*************************************************
samsho5b
**************************************************/
-class neogeo_samsho5b_cart : public neogeo_bootleg_cart
+class neogeo_samsho5b_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_samsho5b_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_samsho5b_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_SAMSHO5B_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SAMSHO5B_CART, neogeo_samsho5b_cart_device)
/*************************************************
mslug3b6
**************************************************/
-class neogeo_mslug3b6_cart : public neogeo_bootleg_cart
+class neogeo_mslug3b6_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_mslug3b6_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_mslug3b6_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -156,18 +158,18 @@ private:
required_device<cmc_prot_device> m_cmc_prot;
};
-extern const device_type NEOGEO_MSLUG3B6_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_MSLUG3B6_CART, neogeo_mslug3b6_cart_device)
/*************************************************
ms5plus
**************************************************/
-class neogeo_ms5plus_cart : public neogeo_bootleg_cart
+class neogeo_ms5plus_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_ms5plus_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_ms5plus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -179,29 +181,29 @@ private:
required_device<pcm2_prot_device> m_pcm2_prot;
};
-extern const device_type NEOGEO_MS5PLUS_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_MS5PLUS_CART, neogeo_ms5plus_cart_device)
/*************************************************
kog
**************************************************/
-class neogeo_kog_cart : public neogeo_bootleg_cart
+class neogeo_kog_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_kog_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kog_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ioport_constructor device_input_ports() const override;
virtual DECLARE_READ16_MEMBER(protection_r) override;
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
private:
required_ioport m_jumper;
};
-extern const device_type NEOGEO_KOG_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_KOG_CART, neogeo_kog_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_BOOT_MISC_H
diff --git a/src/devices/bus/neogeo/boot_svc.cpp b/src/devices/bus/neogeo/boot_svc.cpp
index 9f9a9fdce35..c39f4b778d1 100644
--- a/src/devices/bus/neogeo/boot_svc.cpp
+++ b/src/devices/bus/neogeo/boot_svc.cpp
@@ -16,14 +16,15 @@
svcboot
**************************************************/
-const device_type NEOGEO_SVCBOOT_CART = device_creator<neogeo_svcboot_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_SVCBOOT_CART, neogeo_svcboot_cart_device, "neocart_svcboot", "Neo Geo SVC Bootleg Cart")
-neogeo_svcboot_cart::neogeo_svcboot_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_SVCBOOT_CART, "Neo Geo SVC Bootleg Cart", tag, owner, clock, "neocart_svcboot", __FILE__),
+neogeo_svcboot_cart_device::neogeo_svcboot_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_SVCBOOT_CART, tag, owner, clock),
m_pvc_prot(*this, "pvc_prot")
-{}
+{
+}
-void neogeo_svcboot_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_svcboot_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->svcboot_px_decrypt(cpuregion, cpuregion_size);
m_prot->svcboot_cx_decrypt(spr_region, spr_region_size);
@@ -34,7 +35,7 @@ static MACHINE_CONFIG_FRAGMENT( svcboot_cart )
MCFG_PVC_PROT_ADD("pvc_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_svcboot_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_svcboot_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( svcboot_cart );
}
@@ -44,13 +45,14 @@ machine_config_constructor neogeo_svcboot_cart::device_mconfig_additions() const
svcplus
**************************************************/
-const device_type NEOGEO_SVCPLUS_CART = device_creator<neogeo_svcplus_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_SVCPLUS_CART, neogeo_svcplus_cart_device, "neocart_svcplus", "Neo Geo SVC Plus Bootleg Cart")
-neogeo_svcplus_cart::neogeo_svcplus_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_SVCPLUS_CART, "Neo Geo SVC Plus Bootleg Cart", tag, owner, clock, "neocart_svcplus", __FILE__)
-{}
+neogeo_svcplus_cart_device::neogeo_svcplus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_SVCPLUS_CART, tag, owner, clock)
+{
+}
-void neogeo_svcplus_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_svcplus_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->svcplus_px_decrypt(cpuregion, cpuregion_size);
m_prot->svcboot_cx_decrypt(spr_region, spr_region_size);
@@ -63,13 +65,15 @@ void neogeo_svcplus_cart::decrypt_all(DECRYPT_ALL_PARAMS)
svcplusa
**************************************************/
-const device_type NEOGEO_SVCPLUSA_CART = device_creator<neogeo_svcplusa_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_SVCPLUSA_CART, neogeo_svcplusa_cart_device, "neocart_svcplusa", "Neo Geo SVC Plus Alt Bootleg Cart")
+
+neogeo_svcplusa_cart_device::neogeo_svcplusa_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_SVCPLUSA_CART, tag, owner, clock)
+{
+}
-neogeo_svcplusa_cart::neogeo_svcplusa_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_SVCPLUSA_CART, "Neo Geo SVC Plus Alt Bootleg Cart", tag, owner, clock, "neocart_svcplusa", __FILE__)
-{}
-void neogeo_svcplusa_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_svcplusa_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->svcplusa_px_decrypt(cpuregion, cpuregion_size);
m_prot->svcboot_cx_decrypt(spr_region, spr_region_size);
@@ -80,14 +84,15 @@ void neogeo_svcplusa_cart::decrypt_all(DECRYPT_ALL_PARAMS)
svcsplus
**************************************************/
-const device_type NEOGEO_SVCSPLUS_CART = device_creator<neogeo_svcsplus_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_SVCSPLUS_CART, neogeo_svcsplus_cart_device, "neocart_svcsplus", "Neo Geo SVC S.Plus Bootleg Cart")
-neogeo_svcsplus_cart::neogeo_svcsplus_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_bootleg_cart(mconfig, NEOGEO_SVCSPLUS_CART, "Neo Geo SVC S.Plus Bootleg Cart", tag, owner, clock, "neocart_svcsplus", __FILE__),
+neogeo_svcsplus_cart_device::neogeo_svcsplus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_bootleg_cart_device(mconfig, NEOGEO_SVCSPLUS_CART, tag, owner, clock),
m_pvc_prot(*this, "pvc_prot")
-{}
+{
+}
-void neogeo_svcsplus_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_svcsplus_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->svcsplus_px_decrypt(cpuregion, cpuregion_size);
m_prot->sx_decrypt(fix_region, fix_region_size, 2);
@@ -101,7 +106,7 @@ static MACHINE_CONFIG_FRAGMENT( svcsplus_cart )
MCFG_PVC_PROT_ADD("pvc_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_svcsplus_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_svcsplus_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( svcsplus_cart );
}
diff --git a/src/devices/bus/neogeo/boot_svc.h b/src/devices/bus/neogeo/boot_svc.h
index f0c676c8359..42c99e28d27 100644
--- a/src/devices/bus/neogeo/boot_svc.h
+++ b/src/devices/bus/neogeo/boot_svc.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_BOOTSVC_H
-#define __NEOGEO_BOOTSVC_H
+#ifndef MAME_BUS_NEOGEO_BOOT_SVC_H
+#define MAME_BUS_NEOGEO_BOOT_SVC_H
+
+#pragma once
#include "slot.h"
#include "boot_misc.h"
@@ -12,10 +14,10 @@
svcboot
**************************************************/
-class neogeo_svcboot_cart : public neogeo_bootleg_cart
+class neogeo_svcboot_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_svcboot_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_svcboot_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -23,52 +25,52 @@ public:
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_pvc_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_pvc_prot->protection_w(space, offset, data, mem_mask); }
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
private:
required_device<pvc_prot_device> m_pvc_prot;
};
-extern const device_type NEOGEO_SVCBOOT_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SVCBOOT_CART, neogeo_svcboot_cart_device)
/*************************************************
svcplus
**************************************************/
-class neogeo_svcplus_cart : public neogeo_bootleg_cart
+class neogeo_svcplus_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_svcplus_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_svcplus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_SVCPLUS_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SVCPLUS_CART, neogeo_svcplus_cart_device)
/*************************************************
svcplusa
**************************************************/
-class neogeo_svcplusa_cart : public neogeo_bootleg_cart
+class neogeo_svcplusa_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_svcplusa_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_svcplusa_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_SVCPLUSA_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SVCPLUSA_CART, neogeo_svcplusa_cart_device)
/*************************************************
svcsplus
**************************************************/
-class neogeo_svcsplus_cart : public neogeo_bootleg_cart
+class neogeo_svcsplus_cart_device : public neogeo_bootleg_cart_device
{
public:
- neogeo_svcsplus_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_svcsplus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -76,13 +78,13 @@ public:
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_pvc_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_pvc_prot->protection_w(space, offset, data, mem_mask); }
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
private:
required_device<pvc_prot_device> m_pvc_prot;
};
-extern const device_type NEOGEO_SVCSPLUS_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SVCSPLUS_CART, neogeo_svcsplus_cart_device)
diff --git a/src/devices/bus/neogeo/carts.h b/src/devices/bus/neogeo/carts.h
index abc0e0cabd5..f66b881a9b7 100644
--- a/src/devices/bus/neogeo/carts.h
+++ b/src/devices/bus/neogeo/carts.h
@@ -4,14 +4,13 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NEOGEO_CARTS_H__
-#define __NEOGEO_CARTS_H__
+#ifndef MAME_BUS_NEOGEO_CARTS_H
+#define MAME_BUS_NEOGEO_CARTS_H
+#pragma once
// supported devices
SLOT_INTERFACE_EXTERN(neogeo_cart);
-#endif // __NEOGEO_CARTS_H__
+#endif // MAME_BUS_NEOGEO_CARTS_H
diff --git a/src/devices/bus/neogeo/cmc.cpp b/src/devices/bus/neogeo/cmc.cpp
index a630d9fe0a3..6107676a23c 100644
--- a/src/devices/bus/neogeo/cmc.cpp
+++ b/src/devices/bus/neogeo/cmc.cpp
@@ -13,32 +13,33 @@
//-------------------------------------------------
-// neogeo_cmc_cart - constructor
+// neogeo_cmc_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_CMC_CART = device_creator<neogeo_cmc_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_CART, neogeo_cmc_cart_device, "neocart_cmc", "Neo Geo CMC Cart")
-neogeo_cmc_cart::neogeo_cmc_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source) :
- neogeo_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_prot(*this, "cmc_prot")
-{}
-
-neogeo_cmc_cart::neogeo_cmc_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_CMC_CART, "Neo Geo CMC Cart", tag, owner, clock, "neocart_cmc", __FILE__),
+neogeo_cmc_cart_device::neogeo_cmc_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, type, tag, owner, clock),
m_prot(*this, "cmc_prot")
-{}
+{
+}
+
+neogeo_cmc_cart_device::neogeo_cmc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_CART, tag, owner, clock)
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_cmc_cart::device_start()
+void neogeo_cmc_cart_device::device_start()
{
}
-void neogeo_cmc_cart::device_reset()
+void neogeo_cmc_cart_device::device_reset()
{
}
@@ -47,7 +48,7 @@ static MACHINE_CONFIG_FRAGMENT( cmc_cart )
MCFG_CMC_PROT_ADD("cmc_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_cmc_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_cmc_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cmc_cart );
}
@@ -57,13 +58,14 @@ machine_config_constructor neogeo_cmc_cart::device_mconfig_additions() const
zupapa
**************************************************/
-const device_type NEOGEO_CMC_ZUPAPA_CART = device_creator<neogeo_cmc_zupapa_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_ZUPAPA_CART, neogeo_cmc_zupapa_cart_device, "neocart_zupapa", "Neo Geo Zupapa CMC42 Cart")
-neogeo_cmc_zupapa_cart::neogeo_cmc_zupapa_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_ZUPAPA_CART, "Neo Geo Zupapa CMC42 Cart", tag, owner, clock, "neocart_zupapa", __FILE__)
-{}
+neogeo_cmc_zupapa_cart_device::neogeo_cmc_zupapa_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_ZUPAPA_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_zupapa_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_zupapa_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, ZUPAPA_GFX_KEY);
m_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
@@ -74,13 +76,14 @@ void neogeo_cmc_zupapa_cart::decrypt_all(DECRYPT_ALL_PARAMS)
mslug3h
**************************************************/
-const device_type NEOGEO_CMC_MSLUG3H_CART = device_creator<neogeo_cmc_mslug3h_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_MSLUG3H_CART, neogeo_cmc_mslug3h_cart_device, "neocart_mslug3h", "Neo Geo Metal Slug 3 AES CMC42 Cart")
-neogeo_cmc_mslug3h_cart::neogeo_cmc_mslug3h_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_MSLUG3H_CART, "Neo Geo Metal Slug 3 AES CMC42 Cart", tag, owner, clock, "neocart_mslug3h", __FILE__)
-{}
+neogeo_cmc_mslug3h_cart_device::neogeo_cmc_mslug3h_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_MSLUG3H_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_mslug3h_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_mslug3h_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, MSLUG3_GFX_KEY);
m_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
@@ -91,13 +94,14 @@ void neogeo_cmc_mslug3h_cart::decrypt_all(DECRYPT_ALL_PARAMS)
ganryu
**************************************************/
-const device_type NEOGEO_CMC_GANRYU_CART = device_creator<neogeo_cmc_ganryu_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_GANRYU_CART, neogeo_cmc_ganryu_cart_device, "neocart_ganryu", "Neo Geo Ganryu CMC42 Cart")
-neogeo_cmc_ganryu_cart::neogeo_cmc_ganryu_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_GANRYU_CART, "Neo Geo Ganryu CMC42 Cart", tag, owner, clock, "neocart_ganryu", __FILE__)
-{}
+neogeo_cmc_ganryu_cart_device::neogeo_cmc_ganryu_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_GANRYU_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_ganryu_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_ganryu_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, GANRYU_GFX_KEY);
m_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
@@ -108,13 +112,14 @@ void neogeo_cmc_ganryu_cart::decrypt_all(DECRYPT_ALL_PARAMS)
s1945p
**************************************************/
-const device_type NEOGEO_CMC_S1945P_CART = device_creator<neogeo_cmc_s1945p_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_S1945P_CART, neogeo_cmc_s1945p_cart_device, "neocart_s1945p", "Neo Geo Strikers 1945 Plus CMC42 Cart")
-neogeo_cmc_s1945p_cart::neogeo_cmc_s1945p_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_S1945P_CART, "Neo Geo Strikers 1945 Plus CMC42 Cart", tag, owner, clock, "neocart_s1945p", __FILE__)
-{}
+neogeo_cmc_s1945p_cart_device::neogeo_cmc_s1945p_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_S1945P_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_s1945p_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_s1945p_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, S1945P_GFX_KEY);
m_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
@@ -124,13 +129,14 @@ void neogeo_cmc_s1945p_cart::decrypt_all(DECRYPT_ALL_PARAMS)
preisle2
**************************************************/
-const device_type NEOGEO_CMC_PREISLE2_CART = device_creator<neogeo_cmc_preisle2_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_PREISLE2_CART, neogeo_cmc_preisle2_cart_device, "neocart_preisle2", "Neo Geo Prehistoric Isle 2 CMC42 Cart")
-neogeo_cmc_preisle2_cart::neogeo_cmc_preisle2_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_PREISLE2_CART, "Neo Geo Prehistorik Isle 2 CMC42 Cart", tag, owner, clock, "neocart_preisle2", __FILE__)
-{}
+neogeo_cmc_preisle2_cart_device::neogeo_cmc_preisle2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_PREISLE2_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_preisle2_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_preisle2_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, PREISLE2_GFX_KEY);
m_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
@@ -140,13 +146,14 @@ void neogeo_cmc_preisle2_cart::decrypt_all(DECRYPT_ALL_PARAMS)
bangbead
**************************************************/
-const device_type NEOGEO_CMC_BANGBEAD_CART = device_creator<neogeo_cmc_bangbead_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_BANGBEAD_CART, neogeo_cmc_bangbead_cart_device, "neocart_bangbead", "Neo Geo Bangbead CMC42 Cart")
-neogeo_cmc_bangbead_cart::neogeo_cmc_bangbead_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_BANGBEAD_CART, "Neo Geo Bangbead CMC42 Cart", tag, owner, clock, "neocart_bangbead", __FILE__)
-{}
+neogeo_cmc_bangbead_cart_device::neogeo_cmc_bangbead_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_BANGBEAD_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_bangbead_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_bangbead_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, BANGBEAD_GFX_KEY);
m_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
@@ -156,13 +163,14 @@ void neogeo_cmc_bangbead_cart::decrypt_all(DECRYPT_ALL_PARAMS)
ntd
**************************************************/
-const device_type NEOGEO_CMC_NITD_CART = device_creator<neogeo_cmc_nitd_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_NITD_CART, neogeo_cmc_nitd_cart_device, "neocart_nitd", "Neo Geo NITD CMC42 Cart")
-neogeo_cmc_nitd_cart::neogeo_cmc_nitd_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_NITD_CART, "Neo Geo NITD CMC42 Cart", tag, owner, clock, "neocart_nitd", __FILE__)
-{}
+neogeo_cmc_nitd_cart_device::neogeo_cmc_nitd_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_NITD_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_nitd_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_nitd_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, NITD_GFX_KEY);
m_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
@@ -173,13 +181,14 @@ void neogeo_cmc_nitd_cart::decrypt_all(DECRYPT_ALL_PARAMS)
sengoku3
**************************************************/
-const device_type NEOGEO_CMC_SENGOKU3_CART = device_creator<neogeo_cmc_sengoku3_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_SENGOKU3_CART, neogeo_cmc_sengoku3_cart_device, "neocart_sengoku3", "Neo Geo Sengoku 3 CMC42 Cart")
-neogeo_cmc_sengoku3_cart::neogeo_cmc_sengoku3_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_SENGOKU3_CART, "Neo Geo Sengoku 3 CMC42 Cart", tag, owner, clock, "neocart_sengoku3", __FILE__)
-{}
+neogeo_cmc_sengoku3_cart_device::neogeo_cmc_sengoku3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_SENGOKU3_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_sengoku3_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_sengoku3_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, SENGOKU3_GFX_KEY);
m_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
@@ -189,13 +198,14 @@ void neogeo_cmc_sengoku3_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kof99k
**************************************************/
-const device_type NEOGEO_CMC_KOF99K_CART = device_creator<neogeo_cmc_kof99k_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_KOF99K_CART, neogeo_cmc_kof99k_cart_device, "neocart_kof99k", "Neo Geo KoF 99 Korea CMC42 Cart")
-neogeo_cmc_kof99k_cart::neogeo_cmc_kof99k_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_KOF99K_CART, "Neo Geo KOF 99 Korea CMC42 Cart", tag, owner, clock, "neocart_kof99k", __FILE__)
-{}
+neogeo_cmc_kof99k_cart_device::neogeo_cmc_kof99k_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_KOF99K_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_kof99k_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_kof99k_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, KOF99_GFX_KEY);
m_prot->sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
@@ -206,13 +216,14 @@ void neogeo_cmc_kof99k_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kof2001
**************************************************/
-const device_type NEOGEO_CMC_KOF2001_CART = device_creator<neogeo_cmc_kof2001_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_KOF2001_CART, neogeo_cmc_kof2001_cart_device, "neocart_kof2001", "Neo Geo KoF 2001 CMC50 Cart")
-neogeo_cmc_kof2001_cart::neogeo_cmc_kof2001_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_KOF2001_CART, "Neo Geo KOF 2001 CMC50 Cart", tag, owner, clock, "neocart_kof2001", __FILE__)
-{}
+neogeo_cmc_kof2001_cart_device::neogeo_cmc_kof2001_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_KOF2001_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_kof2001_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_kof2001_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
m_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, KOF2001_GFX_KEY);
@@ -223,13 +234,14 @@ void neogeo_cmc_kof2001_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kof2000n
**************************************************/
-const device_type NEOGEO_CMC_KOF2000N_CART = device_creator<neogeo_cmc_kof2000n_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_KOF2000N_CART, neogeo_cmc_kof2000n_cart_device, "neocart_kof2000n", "Neo Geo KoF 2000 CMC50 Cart")
-neogeo_cmc_kof2000n_cart::neogeo_cmc_kof2000n_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_KOF2000N_CART, "Neo Geo KOF 2000 CMC50 Cart", tag, owner, clock, "neocart_kof2000n", __FILE__)
-{}
+neogeo_cmc_kof2000n_cart_device::neogeo_cmc_kof2000n_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_KOF2000N_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_kof2000n_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_kof2000n_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
m_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, KOF2000_GFX_KEY);
@@ -241,24 +253,25 @@ void neogeo_cmc_kof2000n_cart::decrypt_all(DECRYPT_ALL_PARAMS)
jockeygp
**************************************************/
-const device_type NEOGEO_CMC_JOCKEYGP_CART = device_creator<neogeo_cmc_jockeygp_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_CMC_JOCKEYGP_CART, neogeo_cmc_jockeygp_cart_device, "neocart_jockeygp", "Neo Geo Jockey GP CMC50 Cart")
-neogeo_cmc_jockeygp_cart::neogeo_cmc_jockeygp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_cmc_cart(mconfig, NEOGEO_CMC_JOCKEYGP_CART, "Neo Geo Jockey GP CMC50 Cart", tag, owner, clock, "neocart_jockeygp", __FILE__)
-{}
+neogeo_cmc_jockeygp_cart_device::neogeo_cmc_jockeygp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_cmc_cart_device(mconfig, NEOGEO_CMC_JOCKEYGP_CART, tag, owner, clock)
+{
+}
-void neogeo_cmc_jockeygp_cart::device_start()
+void neogeo_cmc_jockeygp_cart_device::device_start()
{
save_item(NAME(m_ram));
}
-void neogeo_cmc_jockeygp_cart::device_reset()
+void neogeo_cmc_jockeygp_cart_device::device_reset()
{
memset(m_ram, 0, 0x2000);
}
-void neogeo_cmc_jockeygp_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_cmc_jockeygp_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
m_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, JOCKEYGP_GFX_KEY);
diff --git a/src/devices/bus/neogeo/cmc.h b/src/devices/bus/neogeo/cmc.h
index 7ee808ad08c..78d0e29326d 100644
--- a/src/devices/bus/neogeo/cmc.h
+++ b/src/devices/bus/neogeo/cmc.h
@@ -1,200 +1,222 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_CMC_H
-#define __NEOGEO_CMC_H
+#ifndef MAME_BUS_NEOGEO_CMC_H
+#define MAME_BUS_NEOGEO_CMC_H
+
+#pragma once
#include "slot.h"
#include "rom.h"
#include "prot_cmc.h"
-// ======================> neogeo_cmc_cart
+// ======================> neogeo_cmc_cart_device
-class neogeo_cmc_cart : public neogeo_rom_device
+class neogeo_cmc_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_cmc_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source);
- neogeo_cmc_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_cmc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
- virtual void decrypt_all(DECRYPT_ALL_PARAMS) override {}
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { }
+ virtual int get_fixed_bank_type() override { return 0; }
- required_device<cmc_prot_device> m_prot;
-};
+protected:
+ neogeo_cmc_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock);
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ required_device<cmc_prot_device> m_prot;
+};
// device type definition
-extern const device_type NEOGEO_CMC_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_CART, neogeo_cmc_cart_device)
/*************************************************
zupapa
**************************************************/
-class neogeo_cmc_zupapa_cart : public neogeo_cmc_cart
+class neogeo_cmc_zupapa_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_zupapa_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_zupapa_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_ZUPAPA_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_ZUPAPA_CART, neogeo_cmc_zupapa_cart_device)
+
/*************************************************
mslug3h
**************************************************/
-class neogeo_cmc_mslug3h_cart : public neogeo_cmc_cart
+class neogeo_cmc_mslug3h_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_mslug3h_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_mslug3h_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_MSLUG3H_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_MSLUG3H_CART, neogeo_cmc_mslug3h_cart_device)
/*************************************************
ganryu
**************************************************/
-class neogeo_cmc_ganryu_cart : public neogeo_cmc_cart
+class neogeo_cmc_ganryu_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_ganryu_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_ganryu_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_GANRYU_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_GANRYU_CART, neogeo_cmc_ganryu_cart_device)
+
/*************************************************
s1945p
**************************************************/
-class neogeo_cmc_s1945p_cart : public neogeo_cmc_cart
+class neogeo_cmc_s1945p_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_s1945p_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_s1945p_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_S1945P_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_S1945P_CART, neogeo_cmc_s1945p_cart_device)
/*************************************************
preisle2
**************************************************/
-class neogeo_cmc_preisle2_cart : public neogeo_cmc_cart
+class neogeo_cmc_preisle2_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_preisle2_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_preisle2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_PREISLE2_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_PREISLE2_CART, neogeo_cmc_preisle2_cart_device)
+
/*************************************************
bangbead
**************************************************/
-class neogeo_cmc_bangbead_cart : public neogeo_cmc_cart
+class neogeo_cmc_bangbead_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_bangbead_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_bangbead_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_BANGBEAD_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_BANGBEAD_CART, neogeo_cmc_bangbead_cart_device)
/*************************************************
nitd
**************************************************/
-class neogeo_cmc_nitd_cart : public neogeo_cmc_cart
+class neogeo_cmc_nitd_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_nitd_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_nitd_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_NITD_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_NITD_CART, neogeo_cmc_nitd_cart_device)
+
/*************************************************
sengoku3
**************************************************/
-class neogeo_cmc_sengoku3_cart : public neogeo_cmc_cart
+class neogeo_cmc_sengoku3_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_sengoku3_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_sengoku3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_SENGOKU3_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_SENGOKU3_CART, neogeo_cmc_sengoku3_cart_device)
+
/*************************************************
kof99k
**************************************************/
-class neogeo_cmc_kof99k_cart : public neogeo_cmc_cart
+class neogeo_cmc_kof99k_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_kof99k_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_kof99k_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_KOF99K_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_KOF99K_CART, neogeo_cmc_kof99k_cart_device)
+
/*************************************************
kof2001
**************************************************/
-class neogeo_cmc_kof2001_cart : public neogeo_cmc_cart
+class neogeo_cmc_kof2001_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_kof2001_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_kof2001_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_CMC_KOF2001_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_KOF2001_CART, neogeo_cmc_kof2001_cart_device)
+
/*************************************************
kof2000n
**************************************************/
-class neogeo_cmc_kof2000n_cart : public neogeo_cmc_cart
+class neogeo_cmc_kof2000n_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_kof2000n_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_kof2000n_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 2; }
+ virtual int get_fixed_bank_type() override { return 2; }
};
-extern const device_type NEOGEO_CMC_KOF2000N_CART;
+
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_KOF2000N_CART, neogeo_cmc_kof2000n_cart_device)
/*************************************************
jockeygp
**************************************************/
-class neogeo_cmc_jockeygp_cart : public neogeo_cmc_cart
+class neogeo_cmc_jockeygp_cart_device : public neogeo_cmc_cart_device
{
public:
- neogeo_cmc_jockeygp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_cmc_jockeygp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
virtual DECLARE_READ16_MEMBER(ram_r) override { return m_ram[offset]; }
virtual DECLARE_WRITE16_MEMBER(ram_w) override { COMBINE_DATA(&m_ram[offset]); }
+protected:
virtual void device_start() override;
virtual void device_reset() override;
@@ -202,6 +224,6 @@ private:
uint16_t m_ram[0x1000];
};
-extern const device_type NEOGEO_CMC_JOCKEYGP_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_CMC_JOCKEYGP_CART, neogeo_cmc_jockeygp_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_CMC_H
diff --git a/src/devices/bus/neogeo/fatfury2.cpp b/src/devices/bus/neogeo/fatfury2.cpp
index 995d576b5a3..5694ff08224 100644
--- a/src/devices/bus/neogeo/fatfury2.cpp
+++ b/src/devices/bus/neogeo/fatfury2.cpp
@@ -13,27 +13,28 @@
//-------------------------------------------------
-// neogeo_fatfury2_cart - constructor
+// neogeo_fatfury2_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_FATFURY2_CART = device_creator<neogeo_fatfury2_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_FATFURY2_CART, neogeo_fatfury2_cart_device, "neocart_fatfury2", "Neo Geo Fatal Furty 2 Cart")
-neogeo_fatfury2_cart::neogeo_fatfury2_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_FATFURY2_CART, "Neo Geo Fatal Fury 2 Cart", tag, owner, clock, "neocart_fatfury2", __FILE__),
+neogeo_fatfury2_cart_device::neogeo_fatfury2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, NEOGEO_FATFURY2_CART, tag, owner, clock),
m_prot(*this, "fatfury2_prot")
-{}
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_fatfury2_cart::device_start()
+void neogeo_fatfury2_cart_device::device_start()
{
}
-void neogeo_fatfury2_cart::device_reset()
+void neogeo_fatfury2_cart_device::device_reset()
{
}
@@ -46,7 +47,7 @@ static MACHINE_CONFIG_FRAGMENT( fatfury2_cart )
MCFG_FATFURY2_PROT_ADD("fatfury2_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_fatfury2_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_fatfury2_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fatfury2_cart );
}
diff --git a/src/devices/bus/neogeo/fatfury2.h b/src/devices/bus/neogeo/fatfury2.h
index 5579fe2b0bb..e49c6011629 100644
--- a/src/devices/bus/neogeo/fatfury2.h
+++ b/src/devices/bus/neogeo/fatfury2.h
@@ -1,37 +1,40 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_FATFURY2_H
-#define __NEOGEO_FATFURY2_H
+#ifndef MAME_BUS_NEOGEO_FATFURY2_H
+#define MAME_BUS_NEOGEO_FATFURY2_H
+
+#pragma once
#include "slot.h"
#include "rom.h"
#include "prot_fatfury2.h"
-// ======================> neogeo_fatfury2_cart
+// ======================> neogeo_fatfury2_cart_device
-class neogeo_fatfury2_cart : public neogeo_rom_device
+class neogeo_fatfury2_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_fatfury2_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_fatfury2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_prot->protection_w(space, offset, data, mem_mask); }
- required_device<fatfury2_prot_device> m_prot;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ required_device<fatfury2_prot_device> m_prot;
};
// device type definition
-extern const device_type NEOGEO_FATFURY2_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_FATFURY2_CART, neogeo_fatfury2_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_FATFURY2_H
diff --git a/src/devices/bus/neogeo/kof2k2.cpp b/src/devices/bus/neogeo/kof2k2.cpp
index 50d2cfa94f8..76d11e616e6 100644
--- a/src/devices/bus/neogeo/kof2k2.cpp
+++ b/src/devices/bus/neogeo/kof2k2.cpp
@@ -13,36 +13,35 @@
//-------------------------------------------------
-// neogeo_kof2002_cart - constructor
+// neogeo_kof2002_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_K2K2_CART = device_creator<neogeo_kof2k2type_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_K2K2_CART, neogeo_kof2k2type_cart_device, "neocart_k2k2", "Neo Geo KOF2002-Type Cart")
-neogeo_kof2k2type_cart::neogeo_kof2k2type_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source) :
- neogeo_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
+neogeo_kof2k2type_cart_device::neogeo_kof2k2type_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, type, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot"),
m_kof2k2_prot(*this, "kof2002_prot")
-{}
+{
+}
-neogeo_kof2k2type_cart::neogeo_kof2k2type_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_K2K2_CART, "Neo Geo KOF2002-Type Cart", tag, owner, clock, "neocart_k2k2", __FILE__),
- m_cmc_prot(*this, "cmc_prot"),
- m_pcm2_prot(*this, "pcm2_prot"),
- m_kof2k2_prot(*this, "kof2002_prot")
-{}
+neogeo_kof2k2type_cart_device::neogeo_kof2k2type_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_kof2k2type_cart_device(mconfig, NEOGEO_K2K2_CART, tag, owner, clock)
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_kof2k2type_cart::device_start()
+void neogeo_kof2k2type_cart_device::device_start()
{
}
-void neogeo_kof2k2type_cart::device_reset()
+void neogeo_kof2k2type_cart_device::device_reset()
{
}
@@ -57,7 +56,7 @@ static MACHINE_CONFIG_FRAGMENT( kof2002_cart )
MCFG_KOF2002_PROT_ADD("kof2002_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_kof2k2type_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_kof2k2type_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2002_cart );
}
@@ -67,14 +66,14 @@ machine_config_constructor neogeo_kof2k2type_cart::device_mconfig_additions() co
kof2002
**************************************************/
-const device_type NEOGEO_K2K2_KOF2002_CART = device_creator<neogeo_kof2002_cart>;
-
-neogeo_kof2002_cart::neogeo_kof2002_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_kof2k2type_cart(mconfig, NEOGEO_K2K2_KOF2002_CART, "Neo Geo KOF2002 Cart", tag, owner, clock, "neocart_kof2002", __FILE__)
-{}
+DEFINE_DEVICE_TYPE(NEOGEO_K2K2_KOF2002_CART, neogeo_kof2002_cart_device, "neocart_kof2002", "Neo Geo KoF 2002 Cart")
+neogeo_kof2002_cart_device::neogeo_kof2002_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_kof2k2type_cart_device(mconfig, NEOGEO_K2K2_KOF2002_CART, tag, owner, clock)
+{
+}
-void neogeo_kof2002_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kof2002_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_kof2k2_prot->kof2002_decrypt_68k(cpuregion, cpuregion_size);
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
@@ -83,17 +82,18 @@ void neogeo_kof2002_cart::decrypt_all(DECRYPT_ALL_PARAMS)
m_pcm2_prot->swap(ym_region, ym_region_size, 0);
}
-const device_type NEOGEO_K2K2_KF2K2PLS_CART = device_creator<neogeo_kf2k2pls_cart>;
-
/*************************************************
kf2k2pls
**************************************************/
-neogeo_kf2k2pls_cart::neogeo_kf2k2pls_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_kof2k2type_cart(mconfig, NEOGEO_K2K2_KF2K2PLS_CART, "Neo Geo KOF2002 Plus Cart", tag, owner, clock, "neocart_kf2k2pls", __FILE__)
-{}
+DEFINE_DEVICE_TYPE(NEOGEO_K2K2_KF2K2PLS_CART, neogeo_kf2k2pls_cart_device, "neocart_kf2k2pls", "Neo Geo KoF 2002 Plus Cart")
-void neogeo_kf2k2pls_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+neogeo_kf2k2pls_cart_device::neogeo_kf2k2pls_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_kof2k2type_cart_device(mconfig, NEOGEO_K2K2_KF2K2PLS_CART, tag, owner, clock)
+{
+}
+
+void neogeo_kf2k2pls_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_kof2k2_prot->kof2002_decrypt_68k(cpuregion, cpuregion_size);
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
@@ -106,13 +106,14 @@ void neogeo_kf2k2pls_cart::decrypt_all(DECRYPT_ALL_PARAMS)
matrim
**************************************************/
-const device_type NEOGEO_K2K2_MATRIM_CART = device_creator<neogeo_matrim_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_K2K2_MATRIM_CART, neogeo_matrim_cart_device, "neocart_matrim", "Neo Geo Matrimelee Cart")
-neogeo_matrim_cart::neogeo_matrim_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_kof2k2type_cart(mconfig, NEOGEO_K2K2_MATRIM_CART, "Neo Geo Matrimelee Cart", tag, owner, clock, "neocart_matrim", __FILE__)
-{}
+neogeo_matrim_cart_device::neogeo_matrim_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_kof2k2type_cart_device(mconfig, NEOGEO_K2K2_MATRIM_CART, tag, owner, clock)
+{
+}
-void neogeo_matrim_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_matrim_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_kof2k2_prot->matrim_decrypt_68k(cpuregion, cpuregion_size);
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
@@ -125,13 +126,14 @@ void neogeo_matrim_cart::decrypt_all(DECRYPT_ALL_PARAMS)
samsho5
**************************************************/
-const device_type NEOGEO_K2K2_SAMSHO5_CART = device_creator<neogeo_samsho5_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_K2K2_SAMSHO5_CART, neogeo_samsho5_cart_device, "neocart_samsho5", "Neo Geo Samurai Shodown 5 Cart")
-neogeo_samsho5_cart::neogeo_samsho5_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_kof2k2type_cart(mconfig, NEOGEO_K2K2_SAMSHO5_CART, "Neo Geo Samurai Shodown 5 Cart", tag, owner, clock, "neocart_samsho5", __FILE__)
-{}
+neogeo_samsho5_cart_device::neogeo_samsho5_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_kof2k2type_cart_device(mconfig, NEOGEO_K2K2_SAMSHO5_CART, tag, owner, clock)
+{
+}
-void neogeo_samsho5_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_samsho5_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_kof2k2_prot->samsho5_decrypt_68k(cpuregion, cpuregion_size);
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
@@ -144,13 +146,14 @@ void neogeo_samsho5_cart::decrypt_all(DECRYPT_ALL_PARAMS)
samsh5sp
**************************************************/
-const device_type NEOGEO_K2K2_SAMSHO5SP_CART = device_creator<neogeo_samsho5sp_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_K2K2_SAMSHO5SP_CART, neogeo_samsho5sp_cart_device, "neocart_samsh5sp", "Neo Geo Samurai Shodown 5 Special Cart")
-neogeo_samsho5sp_cart::neogeo_samsho5sp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_kof2k2type_cart(mconfig, NEOGEO_K2K2_SAMSHO5SP_CART, "Neo Geo Samurai Shodown 5 Special Cart", tag, owner, clock, "neocart_samsh5sp", __FILE__)
-{}
+neogeo_samsho5sp_cart_device::neogeo_samsho5sp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_kof2k2type_cart_device(mconfig, NEOGEO_K2K2_SAMSHO5SP_CART, tag, owner, clock)
+{
+}
-void neogeo_samsho5sp_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_samsho5sp_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_kof2k2_prot->samsh5sp_decrypt_68k(cpuregion, cpuregion_size);
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
diff --git a/src/devices/bus/neogeo/kof2k2.h b/src/devices/bus/neogeo/kof2k2.h
index 067ffcd38f9..2d14294c3be 100644
--- a/src/devices/bus/neogeo/kof2k2.h
+++ b/src/devices/bus/neogeo/kof2k2.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_KOF2002_H
-#define __NEOGEO_KOF2002_H
+#ifndef MAME_BUS_NEOGEO_KOF2K2_H
+#define MAME_BUS_NEOGEO_KOF2K2_H
+
+#pragma once
#include "slot.h"
#include "rom.h"
@@ -9,106 +11,106 @@
#include "prot_cmc.h"
#include "prot_kof2k2.h"
-// ======================> neogeo_kof2002_cart
+// ======================> neogeo_kof2002_cart_device
-class neogeo_kof2k2type_cart : public neogeo_rom_device
+class neogeo_kof2k2type_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_kof2k2type_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source);
- neogeo_kof2k2type_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ neogeo_kof2k2type_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
+ virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { }
+ virtual int get_fixed_bank_type() override { return 0; }
- virtual void decrypt_all(DECRYPT_ALL_PARAMS) override {}
- virtual int get_fixed_bank_type(void) override { return 0; }
+protected:
+ neogeo_kof2k2type_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot;
required_device<kof2002_prot_device> m_kof2k2_prot;
-
};
// device type definition
-extern const device_type NEOGEO_K2K2_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_K2K2_CART, neogeo_kof2k2type_cart_device)
/*************************************************
kof2002
**************************************************/
-class neogeo_kof2002_cart : public neogeo_kof2k2type_cart
+class neogeo_kof2002_cart_device : public neogeo_kof2k2type_cart_device
{
public:
- neogeo_kof2002_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kof2002_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_K2K2_KOF2002_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_K2K2_KOF2002_CART, neogeo_kof2002_cart_device)
-class neogeo_kf2k2pls_cart : public neogeo_kof2k2type_cart
+class neogeo_kf2k2pls_cart_device : public neogeo_kof2k2type_cart_device
{
public:
- neogeo_kf2k2pls_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_kf2k2pls_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_K2K2_KF2K2PLS_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_K2K2_KF2K2PLS_CART, neogeo_kf2k2pls_cart_device)
/*************************************************
matrim
**************************************************/
-class neogeo_matrim_cart : public neogeo_kof2k2type_cart
+class neogeo_matrim_cart_device : public neogeo_kof2k2type_cart_device
{
public:
- neogeo_matrim_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_matrim_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 2; }
+ virtual int get_fixed_bank_type() override { return 2; }
};
-extern const device_type NEOGEO_K2K2_MATRIM_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_K2K2_MATRIM_CART, neogeo_matrim_cart_device)
/*************************************************
samsho5
**************************************************/
-class neogeo_samsho5_cart : public neogeo_kof2k2type_cart
+class neogeo_samsho5_cart_device : public neogeo_kof2k2type_cart_device
{
public:
- neogeo_samsho5_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_samsho5_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_K2K2_SAMSHO5_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_K2K2_SAMSHO5_CART, neogeo_samsho5_cart_device)
/*************************************************
samsho5sp
**************************************************/
-class neogeo_samsho5sp_cart : public neogeo_kof2k2type_cart
+class neogeo_samsho5sp_cart_device : public neogeo_kof2k2type_cart_device
{
public:
- neogeo_samsho5sp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_samsho5sp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_K2K2_SAMSHO5SP_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_K2K2_SAMSHO5SP_CART, neogeo_samsho5sp_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_KOF2K2_H
diff --git a/src/devices/bus/neogeo/kof98.cpp b/src/devices/bus/neogeo/kof98.cpp
index 0451ee6ae6b..c62d776bac0 100644
--- a/src/devices/bus/neogeo/kof98.cpp
+++ b/src/devices/bus/neogeo/kof98.cpp
@@ -13,27 +13,28 @@
//-------------------------------------------------
-// neogeo_kof98_cart - constructor
+// neogeo_kof98_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_KOF98_CART = device_creator<neogeo_kof98_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_KOF98_CART, neogeo_kof98_cart_device, "neocart_kof98", "Neo Geo KoF 98 Cart")
-neogeo_kof98_cart::neogeo_kof98_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_KOF98_CART, "Neo Geo KOF 98 Cart", tag, owner, clock, "neocart_kof98", __FILE__),
+neogeo_kof98_cart_device::neogeo_kof98_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, NEOGEO_KOF98_CART, tag, owner, clock),
m_prot(*this, "kof98_prot")
-{}
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_kof98_cart::device_start()
+void neogeo_kof98_cart_device::device_start()
{
}
-void neogeo_kof98_cart::device_reset()
+void neogeo_kof98_cart_device::device_reset()
{
}
@@ -46,12 +47,12 @@ static MACHINE_CONFIG_FRAGMENT( kof98_cart )
MCFG_KOF98_PROT_ADD("kof98_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_kof98_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_kof98_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof98_cart );
}
-void neogeo_kof98_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_kof98_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_prot->decrypt_68k(cpuregion, cpuregion_size);
}
diff --git a/src/devices/bus/neogeo/kof98.h b/src/devices/bus/neogeo/kof98.h
index fba3e40ff38..00ee33326c6 100644
--- a/src/devices/bus/neogeo/kof98.h
+++ b/src/devices/bus/neogeo/kof98.h
@@ -1,23 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_KOF98_H
-#define __NEOGEO_KOF98_H
+#ifndef MAME_BUS_NEOGEO_KOF98_H
+#define MAME_BUS_NEOGEO_KOF98_H
+
+#pragma once
#include "slot.h"
#include "rom.h"
#include "prot_kof98.h"
-// ======================> neogeo_kof98_cart
+// ======================> neogeo_kof98_cart_device
-class neogeo_kof98_cart : public neogeo_rom_device
+class neogeo_kof98_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_kof98_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_kof98_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
@@ -26,14 +25,15 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- required_device<kof98_prot_device> m_prot;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ required_device<kof98_prot_device> m_prot;
};
-
-
// device type definition
-extern const device_type NEOGEO_KOF98_CART;
-
+DECLARE_DEVICE_TYPE(NEOGEO_KOF98_CART, neogeo_kof98_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_KOF98_H
diff --git a/src/devices/bus/neogeo/mslugx.cpp b/src/devices/bus/neogeo/mslugx.cpp
index 71af2d783d4..97790e77669 100644
--- a/src/devices/bus/neogeo/mslugx.cpp
+++ b/src/devices/bus/neogeo/mslugx.cpp
@@ -13,27 +13,28 @@
//-------------------------------------------------
-// neogeo_mslugx_cart - constructor
+// neogeo_mslugx_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_MSLUGX_CART = device_creator<neogeo_mslugx_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_MSLUGX_CART, neogeo_mslugx_cart_device, "neocart_mslugx", "Neo Geo Metal Slug X Cart")
-neogeo_mslugx_cart::neogeo_mslugx_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_MSLUGX_CART, "Neo Geo Metal Slug X Cart", tag, owner, clock, "neocart_mslugx", __FILE__),
+neogeo_mslugx_cart_device::neogeo_mslugx_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, NEOGEO_MSLUGX_CART, tag, owner, clock),
m_prot(*this, "mslugx_prot")
-{}
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_mslugx_cart::device_start()
+void neogeo_mslugx_cart_device::device_start()
{
}
-void neogeo_mslugx_cart::device_reset()
+void neogeo_mslugx_cart_device::device_reset()
{
}
@@ -46,7 +47,7 @@ static MACHINE_CONFIG_FRAGMENT( mslugx_cart )
MCFG_MSLUGX_PROT_ADD("mslugx_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_mslugx_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_mslugx_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( mslugx_cart );
}
diff --git a/src/devices/bus/neogeo/mslugx.h b/src/devices/bus/neogeo/mslugx.h
index 20a144917d9..03d1aaaa21d 100644
--- a/src/devices/bus/neogeo/mslugx.h
+++ b/src/devices/bus/neogeo/mslugx.h
@@ -1,37 +1,38 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_MSLUGX_CART_H
-#define __NEOGEO_MSLUGX_CART_H
+#ifndef MAME_BUS_NEOGEO_MSLUGX_H
+#define MAME_BUS_NEOGEO_MSLUGX_H
+
+#pragma once
#include "slot.h"
#include "rom.h"
#include "prot_mslugx.h"
-// ======================> neogeo_mslugx_cart
+// ======================> neogeo_mslugx_cart_device
-class neogeo_mslugx_cart : public neogeo_rom_device
+class neogeo_mslugx_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_mslugx_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_mslugx_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_prot->protection_w(space, offset, data, mem_mask); }
- required_device<mslugx_prot_device> m_prot;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ required_device<mslugx_prot_device> m_prot;
};
-
// device type definition
extern const device_type NEOGEO_MSLUGX_CART;
-
-#endif
+#endif // MAME_BUS_NEOGEO_MSLUGX_H
diff --git a/src/devices/bus/neogeo/pcm2.cpp b/src/devices/bus/neogeo/pcm2.cpp
index 54ff35b8e33..bbfb8c940a1 100644
--- a/src/devices/bus/neogeo/pcm2.cpp
+++ b/src/devices/bus/neogeo/pcm2.cpp
@@ -13,34 +13,34 @@
//-------------------------------------------------
-// neogeo_pcm2_cart - constructor
+// neogeo_pcm2_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_PCM2_CART = device_creator<neogeo_pcm2_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PCM2_CART, neogeo_pcm2_cart_device, "neocart_pcm2", "Neo Geo PCM2 Cart")
-neogeo_pcm2_cart::neogeo_pcm2_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source) :
- neogeo_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
+neogeo_pcm2_cart_device::neogeo_pcm2_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, type, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot")
-{}
+{
+}
-neogeo_pcm2_cart::neogeo_pcm2_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_PCM2_CART, "Neo Geo PCM2 Cart", tag, owner, clock, "neocart_pcm2", __FILE__),
- m_cmc_prot(*this, "cmc_prot"),
- m_pcm2_prot(*this, "pcm2_prot")
-{}
+neogeo_pcm2_cart_device::neogeo_pcm2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_pcm2_cart_device(mconfig, NEOGEO_PCM2_CART, tag, owner, clock)
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_pcm2_cart::device_start()
+void neogeo_pcm2_cart_device::device_start()
{
}
-void neogeo_pcm2_cart::device_reset()
+void neogeo_pcm2_cart_device::device_reset()
{
}
@@ -54,7 +54,7 @@ static MACHINE_CONFIG_FRAGMENT( pcm2_cart )
MCFG_PCM2_PROT_ADD("pcm2_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_pcm2_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_pcm2_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( pcm2_cart );
}
@@ -64,13 +64,14 @@ machine_config_constructor neogeo_pcm2_cart::device_mconfig_additions() const
mslug4
**************************************************/
-const device_type NEOGEO_PCM2_MSLUG4_CART = device_creator<neogeo_pcm2_mslug4_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PCM2_MSLUG4_CART, neogeo_pcm2_mslug4_cart_device, "neocart_mslug4", "Neo Geo Metal Slug 3 PCM2 Cart")
-neogeo_pcm2_mslug4_cart::neogeo_pcm2_mslug4_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_pcm2_cart(mconfig, NEOGEO_PCM2_MSLUG4_CART, "Neo Geo Metal Slug 4 PCM2 Cart", tag, owner, clock, "neocart_mslug4", __FILE__)
-{}
+neogeo_pcm2_mslug4_cart_device::neogeo_pcm2_mslug4_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_pcm2_cart_device(mconfig, NEOGEO_PCM2_MSLUG4_CART, tag, owner, clock)
+{
+}
-void neogeo_pcm2_mslug4_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_pcm2_mslug4_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
m_cmc_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, MSLUG4_GFX_KEY);
@@ -83,13 +84,14 @@ void neogeo_pcm2_mslug4_cart::decrypt_all(DECRYPT_ALL_PARAMS)
ms4plus
**************************************************/
-const device_type NEOGEO_PCM2_MS4PLUS_CART = device_creator<neogeo_pcm2_ms4plus_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PCM2_MS4PLUS_CART, neogeo_pcm2_ms4plus_cart_device, "neocart_ms4plus", "Neo Geo Metal Slug 4 Plus PCM2 Cart")
-neogeo_pcm2_ms4plus_cart::neogeo_pcm2_ms4plus_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_pcm2_cart(mconfig, NEOGEO_PCM2_MS4PLUS_CART, "Neo Geo Metal Slug 4 Plus PCM2 Cart", tag, owner, clock, "neocart_ms4plus", __FILE__)
-{}
+neogeo_pcm2_ms4plus_cart_device::neogeo_pcm2_ms4plus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_pcm2_cart_device(mconfig, NEOGEO_PCM2_MS4PLUS_CART, tag, owner, clock)
+{
+}
-void neogeo_pcm2_ms4plus_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_pcm2_ms4plus_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
m_cmc_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, MSLUG4_GFX_KEY);
@@ -101,13 +103,14 @@ void neogeo_pcm2_ms4plus_cart::decrypt_all(DECRYPT_ALL_PARAMS)
rotd
**************************************************/
-const device_type NEOGEO_PCM2_ROTD_CART = device_creator<neogeo_pcm2_rotd_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PCM2_ROTD_CART, neogeo_pcm2_rotd_cart_device, "neocart_rotd", "Neo Geo Rage of the Dragon PCM2 Cart")
-neogeo_pcm2_rotd_cart::neogeo_pcm2_rotd_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_pcm2_cart(mconfig, NEOGEO_PCM2_ROTD_CART, "Neo Geo Rage of the Dragon PCM2 Cart", tag, owner, clock, "neocart_rotd", __FILE__)
-{}
+neogeo_pcm2_rotd_cart_device::neogeo_pcm2_rotd_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_pcm2_cart_device(mconfig, NEOGEO_PCM2_ROTD_CART, tag, owner, clock)
+{
+}
-void neogeo_pcm2_rotd_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_pcm2_rotd_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
m_cmc_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, ROTD_GFX_KEY);
@@ -119,13 +122,14 @@ void neogeo_pcm2_rotd_cart::decrypt_all(DECRYPT_ALL_PARAMS)
pnyaa
**************************************************/
-const device_type NEOGEO_PCM2_PNYAA_CART = device_creator<neogeo_pcm2_pnyaa_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PCM2_PNYAA_CART, neogeo_pcm2_pnyaa_cart_device, "neocart_pnyaa", "Neo Geo Pnyaa PCM2 Cart")
-neogeo_pcm2_pnyaa_cart::neogeo_pcm2_pnyaa_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_pcm2_cart(mconfig, NEOGEO_PCM2_PNYAA_CART, "Neo Geo Pnyaa PCM2 Cart", tag, owner, clock, "neocart_pnyaa", __FILE__)
-{}
+neogeo_pcm2_pnyaa_cart_device::neogeo_pcm2_pnyaa_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_pcm2_cart_device(mconfig, NEOGEO_PCM2_PNYAA_CART, tag, owner, clock)
+{
+}
-void neogeo_pcm2_pnyaa_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_pcm2_pnyaa_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
m_cmc_prot->cmc50_gfx_decrypt(spr_region, spr_region_size, PNYAA_GFX_KEY);
diff --git a/src/devices/bus/neogeo/pcm2.h b/src/devices/bus/neogeo/pcm2.h
index 30d5d627842..dacb2b2de7d 100644
--- a/src/devices/bus/neogeo/pcm2.h
+++ b/src/devices/bus/neogeo/pcm2.h
@@ -1,100 +1,99 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_PCM2_H
-#define __NEOGEO_PCM2_H
+#ifndef MAME_BUS_NEOGEO_PCM2_H
+#define MAME_BUS_NEOGEO_PCM2_H
#include "slot.h"
#include "rom.h"
#include "prot_cmc.h"
#include "prot_pcm2.h"
-// ======================> neogeo_pcm2_cart
+// ======================> neogeo_pcm2_cart_device
-class neogeo_pcm2_cart : public neogeo_rom_device
+class neogeo_pcm2_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_pcm2_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source);
- neogeo_pcm2_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_pcm2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- // reading and writing
-// virtual DECLARE_READ16_MEMBER(read_rom) override;
+ virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { }
+ virtual int get_fixed_bank_type() override { return 0; }
+
+protected:
+ neogeo_pcm2_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock);
-// virtual void activate_cart(ACTIVATE_CART_PARAMS) override { m_banked_cart->install_banks(machine, maincpu, cpuregion, cpuregion_size); }
- virtual void decrypt_all(DECRYPT_ALL_PARAMS) override {}
- virtual int get_fixed_bank_type(void) override { return 0; }
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot;
};
// device type definition
-extern const device_type NEOGEO_PCM2_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PCM2_CART, neogeo_pcm2_cart_device)
/*************************************************
mslug4
**************************************************/
-class neogeo_pcm2_mslug4_cart : public neogeo_pcm2_cart
+class neogeo_pcm2_mslug4_cart_device : public neogeo_pcm2_cart_device
{
public:
- neogeo_pcm2_mslug4_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_pcm2_mslug4_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_PCM2_MSLUG4_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PCM2_MSLUG4_CART, neogeo_pcm2_mslug4_cart_device)
/*************************************************
ms4plus
**************************************************/
-class neogeo_pcm2_ms4plus_cart : public neogeo_pcm2_cart
+class neogeo_pcm2_ms4plus_cart_device : public neogeo_pcm2_cart_device
{
public:
- neogeo_pcm2_ms4plus_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_pcm2_ms4plus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
};
-extern const device_type NEOGEO_PCM2_MS4PLUS_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PCM2_MS4PLUS_CART, neogeo_pcm2_ms4plus_cart_device)
/*************************************************
rotd
**************************************************/
-class neogeo_pcm2_rotd_cart : public neogeo_pcm2_cart
+class neogeo_pcm2_rotd_cart_device : public neogeo_pcm2_cart_device
{
public:
- neogeo_pcm2_rotd_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_pcm2_rotd_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_PCM2_ROTD_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PCM2_ROTD_CART, neogeo_pcm2_rotd_cart_device)
/*************************************************
pnyaa
**************************************************/
-class neogeo_pcm2_pnyaa_cart : public neogeo_pcm2_cart
+class neogeo_pcm2_pnyaa_cart_device : public neogeo_pcm2_cart_device
{
public:
- neogeo_pcm2_pnyaa_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_pcm2_pnyaa_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_PCM2_PNYAA_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PCM2_PNYAA_CART, neogeo_pcm2_pnyaa_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_PCM2_H
diff --git a/src/devices/bus/neogeo/prot_cmc.cpp b/src/devices/bus/neogeo/prot_cmc.cpp
index 98cc9ce990e..336bb543a21 100644
--- a/src/devices/bus/neogeo/prot_cmc.cpp
+++ b/src/devices/bus/neogeo/prot_cmc.cpp
@@ -4,11 +4,11 @@
#include "emu.h"
#include "prot_cmc.h"
-const device_type CMC_PROT = device_creator<cmc_prot_device>;
+DEFINE_DEVICE_TYPE(NG_CMC_PROT, cmc_prot_device, "ng_cmc_prot", "Neo Geo CMC42/CMC40 Protection")
cmc_prot_device::cmc_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CMC_PROT, "Neo Geo CMC42 & CMC50 Protection", tag, owner, clock, "cmc_prot", __FILE__),
+ device_t(mconfig, NG_CMC_PROT, tag, owner, clock),
type0_t03(nullptr),
type0_t12(nullptr),
type1_t03(nullptr),
diff --git a/src/devices/bus/neogeo/prot_cmc.h b/src/devices/bus/neogeo/prot_cmc.h
index 31e4262f70d..46a6a6c6766 100644
--- a/src/devices/bus/neogeo/prot_cmc.h
+++ b/src/devices/bus/neogeo/prot_cmc.h
@@ -1,16 +1,16 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
+#ifndef MAME_BUS_NEOGEO_PROT_CMC_H
+#define MAME_BUS_NEOGEO_PROT_CMC_H
#pragma once
-#ifndef __CMC_PROT__
-#define __CMC_PROT__
-extern const device_type CMC_PROT;
+DECLARE_DEVICE_TYPE(NG_CMC_PROT, cmc_prot_device)
#define MCFG_CMC_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, CMC_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_CMC_PROT, 0)
// cmc42
#define KOF99_GFX_KEY (0x00)
@@ -81,4 +81,4 @@ protected:
const uint8_t *address_0_7_xor;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_CMC_H
diff --git a/src/devices/bus/neogeo/prot_cthd.cpp b/src/devices/bus/neogeo/prot_cthd.cpp
index 226ae50d40b..bb8e9d9ac3f 100644
--- a/src/devices/bus/neogeo/prot_cthd.cpp
+++ b/src/devices/bus/neogeo/prot_cthd.cpp
@@ -4,12 +4,13 @@
#include "emu.h"
#include "prot_cthd.h"
-const device_type CTHD_PROT = device_creator<cthd_prot_device>;
+DEFINE_DEVICE_TYPE(NG_CTHD_PROT, cthd_prot_device, "ng_cthd_prot", "Neo Goe CTHD Protection (bootleg)")
cthd_prot_device::cthd_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CTHD_PROT, "Neo Geo CTHD Protection (Bootleg)", tag, owner, clock, "cthd_prot", __FILE__)
-{}
+ device_t(mconfig, NG_CTHD_PROT, tag, owner, clock)
+{
+}
void cthd_prot_device::device_start()
diff --git a/src/devices/bus/neogeo/prot_cthd.h b/src/devices/bus/neogeo/prot_cthd.h
index 69b4dbfa850..455674a56c8 100644
--- a/src/devices/bus/neogeo/prot_cthd.h
+++ b/src/devices/bus/neogeo/prot_cthd.h
@@ -1,15 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#pragma once
+#ifndef MAME_BUS_NEOGEO_PROT_CTHD_H
+#define MAME_BUS_NEOGEO_PROT_CTHD_H
-#ifndef __CTHD_PROT__
-#define __CTHD_PROT__
+#pragma once
-extern const device_type CTHD_PROT;
+DECLARE_DEVICE_TYPE(NG_CTHD_PROT, cthd_prot_device)
#define MCFG_CTHD_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, CTHD_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_CTHD_PROT, 0)
class cthd_prot_device : public device_t
@@ -40,4 +40,4 @@ protected:
virtual void device_reset() override;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_CTHD_H
diff --git a/src/devices/bus/neogeo/prot_fatfury2.cpp b/src/devices/bus/neogeo/prot_fatfury2.cpp
index ccf29bb3484..bfb06765c26 100644
--- a/src/devices/bus/neogeo/prot_fatfury2.cpp
+++ b/src/devices/bus/neogeo/prot_fatfury2.cpp
@@ -6,11 +6,11 @@
-const device_type FATFURY2_PROT = device_creator<fatfury2_prot_device>;
+DEFINE_DEVICE_TYPE(NG_FATFURY2_PROT, fatfury2_prot_device, "ng_fatfury_prot", "Neo Geo Fatal Fury 2 Protection")
fatfury2_prot_device::fatfury2_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, FATFURY2_PROT, "Neo Geo Fatal Fury 2 Protection", tag, owner, clock, "fatfury2_prot", __FILE__),
+ device_t(mconfig, NG_FATFURY2_PROT, tag, owner, clock),
m_prot_data(0)
{
}
diff --git a/src/devices/bus/neogeo/prot_fatfury2.h b/src/devices/bus/neogeo/prot_fatfury2.h
index daa2d147faf..8c75e7f5d46 100644
--- a/src/devices/bus/neogeo/prot_fatfury2.h
+++ b/src/devices/bus/neogeo/prot_fatfury2.h
@@ -1,15 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#pragma once
+#ifndef MAME_BUS_NEOGEO_PROT_FATFURY2_H
+#define MAME_BUS_NEOGEO_PROT_FATFURY2_H
-#ifndef __FATFURY2_PROT__
-#define __FATFURY2_PROT__
+#pragma once
-extern const device_type FATFURY2_PROT;
+DECLARE_DEVICE_TYPE(NG_FATFURY2_PROT, fatfury2_prot_device)
#define MCFG_FATFURY2_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, FATFURY2_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_FATFURY2_PROT, 0)
class fatfury2_prot_device : public device_t
@@ -21,11 +21,11 @@ public:
DECLARE_READ16_MEMBER( protection_r );
DECLARE_WRITE16_MEMBER( protection_w );
- uint32_t m_prot_data;
-
protected:
virtual void device_start() override;
virtual void device_reset() override;
+
+ uint32_t m_prot_data;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_FATFURY2_H
diff --git a/src/devices/bus/neogeo/prot_kof2k2.cpp b/src/devices/bus/neogeo/prot_kof2k2.cpp
index a735a34e52e..75b79172d29 100644
--- a/src/devices/bus/neogeo/prot_kof2k2.cpp
+++ b/src/devices/bus/neogeo/prot_kof2k2.cpp
@@ -4,11 +4,11 @@
#include "emu.h"
#include "prot_kof2k2.h"
-const device_type KOF2002_PROT = device_creator<kof2002_prot_device>;
+DEFINE_DEVICE_TYPE(NG_KOF2002_PROT, kof2002_prot_device, "ng_kof2002_prot", "Neo Geo KoF 2002 Protection")
kof2002_prot_device::kof2002_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, KOF2002_PROT, "Neo Geo KOF 2002 Protection", tag, owner, clock, "kof2002_prot", __FILE__)
+ : device_t(mconfig, NG_KOF2002_PROT, tag, owner, clock)
{
}
diff --git a/src/devices/bus/neogeo/prot_kof2k2.h b/src/devices/bus/neogeo/prot_kof2k2.h
index f732a1704c0..4eb764f006d 100644
--- a/src/devices/bus/neogeo/prot_kof2k2.h
+++ b/src/devices/bus/neogeo/prot_kof2k2.h
@@ -2,18 +2,18 @@
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#pragma once
+#ifndef MAME_BUS_NEOGEO_PROT_KOF2K2_H
+#define MAME_BUS_NEOGEO_PROT_KOF2K2_H
-#ifndef __KOF2K2_PROT__
-#define __KOF2K2_PROT__
+#pragma once
-extern const device_type KOF2002_PROT;
+DECLARE_DEVICE_TYPE(NG_KOF2002_PROT, kof2002_prot_device)
#define MCFG_KOF2002_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, KOF2002_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_KOF2002_PROT, 0)
-class kof2002_prot_device : public device_t
+class kof2002_prot_device : public device_t
{
public:
// construction/destruction
@@ -29,4 +29,4 @@ protected:
virtual void device_reset() override;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_KOF2K2_H
diff --git a/src/devices/bus/neogeo/prot_kof2k3bl.cpp b/src/devices/bus/neogeo/prot_kof2k3bl.cpp
index bdf46df09c2..5afe9a0e548 100644
--- a/src/devices/bus/neogeo/prot_kof2k3bl.cpp
+++ b/src/devices/bus/neogeo/prot_kof2k3bl.cpp
@@ -4,12 +4,13 @@
#include "emu.h"
#include "prot_kof2k3bl.h"
-const device_type KOF2K3BL_PROT = device_creator<kof2k3bl_prot_device>;
+DEFINE_DEVICE_TYPE(NG_KOF2K3BL_PROT, kof2k3bl_prot_device, "ng_kof2k3bl_prot", "Neo Geo KoF 2003 Bootleg Protection")
kof2k3bl_prot_device::kof2k3bl_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, KOF2K3BL_PROT, "Neo Geo KOF 2003 Bootleg Protection", tag, owner, clock, "kof2k3bl_prot", __FILE__)
-{}
+ device_t(mconfig, NG_KOF2K3BL_PROT, tag, owner, clock)
+{
+}
void kof2k3bl_prot_device::device_start()
diff --git a/src/devices/bus/neogeo/prot_kof2k3bl.h b/src/devices/bus/neogeo/prot_kof2k3bl.h
index 23bba22c89a..8520bd90716 100644
--- a/src/devices/bus/neogeo/prot_kof2k3bl.h
+++ b/src/devices/bus/neogeo/prot_kof2k3bl.h
@@ -1,15 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#pragma once
+#ifndef MAME_BUS_NEOGEO_PROT_KOF2K3BL_H
+#define MAME_BUS_NEOGEO_PROT_KOF2K3BL_H
-#ifndef __KOF2K3BL_PROT__
-#define __KOF2K3BL_PROT__
+#pragma once
-extern const device_type KOF2K3BL_PROT;
+DECLARE_DEVICE_TYPE(NG_KOF2K3BL_PROT, kof2k3bl_prot_device)
#define MCFG_KOF2K3BL_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, KOF2K3BL_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_KOF2K3BL_PROT, 0)
class kof2k3bl_prot_device : public device_t
@@ -37,4 +37,4 @@ private:
uint16_t m_cartridge_ram[0x1000]; // bootlegs
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_KOF2K3BL_H
diff --git a/src/devices/bus/neogeo/prot_kof98.cpp b/src/devices/bus/neogeo/prot_kof98.cpp
index bc1d1cb43ba..8003acd9918 100644
--- a/src/devices/bus/neogeo/prot_kof98.cpp
+++ b/src/devices/bus/neogeo/prot_kof98.cpp
@@ -5,13 +5,14 @@
#include "emu.h"
#include "prot_kof98.h"
-const device_type KOF98_PROT = device_creator<kof98_prot_device>;
+DEFINE_DEVICE_TYPE(NG_KOF98_PROT, kof98_prot_device, "ng_kof98_prot", "Neo Geo KoF 98 Protection")
kof98_prot_device::kof98_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, KOF98_PROT, "Neo Geo KOF 98 Protection", tag, owner, clock, "kof98_prot", __FILE__),
+ device_t(mconfig, NG_KOF98_PROT, tag, owner, clock),
m_prot_state(0)
-{}
+{
+}
void kof98_prot_device::device_start()
diff --git a/src/devices/bus/neogeo/prot_kof98.h b/src/devices/bus/neogeo/prot_kof98.h
index 76ed3386db9..ff0783e29ad 100644
--- a/src/devices/bus/neogeo/prot_kof98.h
+++ b/src/devices/bus/neogeo/prot_kof98.h
@@ -2,15 +2,15 @@
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#pragma once
+#ifndef MAME_BUS_NEOGEO_PROT_KOF98_H
+#define MAME_BUS_NEOGEO_PROT_KOF98_H
-#ifndef __KOF98_PROT__
-#define __KOF98_PROT__
+#pragma once
-extern const device_type KOF98_PROT;
+DECLARE_DEVICE_TYPE(NG_KOF98_PROT, kof98_prot_device)
#define MCFG_KOF98_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, KOF98_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_KOF98_PROT, 0)
class kof98_prot_device : public device_t
@@ -30,4 +30,4 @@ protected:
virtual void device_reset() override;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_KOF98_H
diff --git a/src/devices/bus/neogeo/prot_misc.cpp b/src/devices/bus/neogeo/prot_misc.cpp
index 349d294deb6..54b9c5b8792 100644
--- a/src/devices/bus/neogeo/prot_misc.cpp
+++ b/src/devices/bus/neogeo/prot_misc.cpp
@@ -23,12 +23,13 @@
#include "prot_misc.h"
-const device_type NEOBOOT_PROT = device_creator<neoboot_prot_device>;
+DEFINE_DEVICE_TYPE(NEOBOOT_PROT, neoboot_prot_device, "ngboot_prot", "Neo Geo Bootleg Protection(s)")
neoboot_prot_device::neoboot_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEOBOOT_PROT, "Neo Geo Bootleg Protection(s)", tag, owner, clock, "ngboot_prot", __FILE__)
-{}
+ device_t(mconfig, NEOBOOT_PROT, tag, owner, clock)
+{
+}
void neoboot_prot_device::device_start()
diff --git a/src/devices/bus/neogeo/prot_misc.h b/src/devices/bus/neogeo/prot_misc.h
index 85a22fd638f..f2b0c1f06d6 100644
--- a/src/devices/bus/neogeo/prot_misc.h
+++ b/src/devices/bus/neogeo/prot_misc.h
@@ -1,12 +1,12 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#pragma once
+#ifndef MAME_BUS_NEOGEO_PROT_MISC_H
+#define MAME_BUS_NEOGEO_PROT_MISC_H
-#ifndef __NEOBOOT_PROT__
-#define __NEOBOOT_PROT__
+#pragma once
-extern const device_type NEOBOOT_PROT;
+DECLARE_DEVICE_TYPE(NEOBOOT_PROT, neoboot_prot_device)
#define MCFG_NEOBOOT_PROT_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, NEOBOOT_PROT, 0)
@@ -62,4 +62,4 @@ protected:
virtual void device_reset() override;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_MISC_H
diff --git a/src/devices/bus/neogeo/prot_mslugx.cpp b/src/devices/bus/neogeo/prot_mslugx.cpp
index d505fea7df8..cd99a913cef 100644
--- a/src/devices/bus/neogeo/prot_mslugx.cpp
+++ b/src/devices/bus/neogeo/prot_mslugx.cpp
@@ -4,14 +4,15 @@
#include "emu.h"
#include "prot_mslugx.h"
-const device_type MSLUGX_PROT = device_creator<mslugx_prot_device>;
+DEFINE_DEVICE_TYPE(NG_MSLUGX_PROT, mslugx_prot_device, "ng_mslugx_prot", "Neo Geo Metal Slug X Protection")
mslugx_prot_device::mslugx_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, MSLUGX_PROT, "Neo Geo Metal Slug X Protection", tag, owner, clock, "mslugx_prot", __FILE__),
+ device_t(mconfig, NG_MSLUGX_PROT, tag, owner, clock),
m_counter(0),
m_command(0)
-{}
+{
+}
void mslugx_prot_device::device_start()
diff --git a/src/devices/bus/neogeo/prot_mslugx.h b/src/devices/bus/neogeo/prot_mslugx.h
index a18a2777f5c..91ab71e463d 100644
--- a/src/devices/bus/neogeo/prot_mslugx.h
+++ b/src/devices/bus/neogeo/prot_mslugx.h
@@ -1,16 +1,16 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
+#ifndef MAME_BUS_NEOGEO_PROT_MSLUGX_H
+#define MAME_BUS_NEOGEO_PROT_MSLUGX_H
#pragma once
-#ifndef __MSLUGX_PROT__
-#define __MSLUGX_PROT__
-extern const device_type MSLUGX_PROT;
+DECLARE_DEVICE_TYPE(NG_MSLUGX_PROT, mslugx_prot_device)
#define MCFG_MSLUGX_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, MSLUGX_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_MSLUGX_PROT, 0)
class mslugx_prot_device : public device_t
@@ -31,4 +31,4 @@ private:
uint16_t m_command;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_MSLUGX_H
diff --git a/src/devices/bus/neogeo/prot_pcm2.cpp b/src/devices/bus/neogeo/prot_pcm2.cpp
index 01f56a8fb0a..80fa21eafe0 100644
--- a/src/devices/bus/neogeo/prot_pcm2.cpp
+++ b/src/devices/bus/neogeo/prot_pcm2.cpp
@@ -6,11 +6,11 @@
#include "prot_pcm2.h"
-const device_type PCM2_PROT = device_creator<pcm2_prot_device>;
+DEFINE_DEVICE_TYPE(NG_PCM2_PROT, pcm2_prot_device, "ng_pcm2_prot", "Neo Geo NEOPCM2 Protection")
pcm2_prot_device::pcm2_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, PCM2_PROT, "Neo Geo NEOPCM2 Protection", tag, owner, clock, "pcm2_prot", __FILE__)
+ : device_t(mconfig, NG_PCM2_PROT, tag, owner, clock)
{
}
diff --git a/src/devices/bus/neogeo/prot_pcm2.h b/src/devices/bus/neogeo/prot_pcm2.h
index cd06a3e06d8..666b38b4bee 100644
--- a/src/devices/bus/neogeo/prot_pcm2.h
+++ b/src/devices/bus/neogeo/prot_pcm2.h
@@ -1,19 +1,19 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
+#ifndef MAME_BUS_NEOGEO_PROT_PCM2_H
+#define MAME_BUS_NEOGEO_PROT_PCM2_H
#pragma once
-#ifndef __PCM2_PROT__
-#define __PCM2_PROT__
-extern const device_type PCM2_PROT;
+DECLARE_DEVICE_TYPE(NG_PCM2_PROT, pcm2_prot_device)
#define MCFG_PCM2_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, PCM2_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_PCM2_PROT, 0)
-class pcm2_prot_device : public device_t
+class pcm2_prot_device : public device_t
{
public:
// construction/destruction
@@ -27,4 +27,4 @@ protected:
virtual void device_reset() override;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_PCM2_H
diff --git a/src/devices/bus/neogeo/prot_pvc.cpp b/src/devices/bus/neogeo/prot_pvc.cpp
index a07af85222d..99c70142222 100644
--- a/src/devices/bus/neogeo/prot_pvc.cpp
+++ b/src/devices/bus/neogeo/prot_pvc.cpp
@@ -7,12 +7,13 @@
-const device_type PVC_PROT = device_creator<pvc_prot_device>;
+DEFINE_DEVICE_TYPE(NG_PVC_PROT, pvc_prot_device, "ng_pvc_prot", "Neo Geo PVC Protection")
pvc_prot_device::pvc_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PVC_PROT, "Neo Geo PVC Protection", tag, owner, clock, "pvc_prot", __FILE__)
-{}
+ device_t(mconfig, NG_PVC_PROT, tag, owner, clock)
+{
+}
void pvc_prot_device::device_start()
diff --git a/src/devices/bus/neogeo/prot_pvc.h b/src/devices/bus/neogeo/prot_pvc.h
index d5bfee9bf2f..4f7d73f4020 100644
--- a/src/devices/bus/neogeo/prot_pvc.h
+++ b/src/devices/bus/neogeo/prot_pvc.h
@@ -1,15 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#pragma once
+#ifndef MAME_BUS_NEOGEO_PROT_PVC_H
+#define MAME_BUS_NEOGEO_PROT_PVC_H
-#ifndef __PVC_PROT__
-#define __PVC_PROT__
+#pragma once
-extern const device_type PVC_PROT;
+DECLARE_DEVICE_TYPE(NG_PVC_PROT, pvc_prot_device)
#define MCFG_PVC_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, PVC_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_PVC_PROT, 0)
class pvc_prot_device : public device_t
@@ -38,4 +38,4 @@ protected:
virtual void device_reset() override;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_PVC_H
diff --git a/src/devices/bus/neogeo/prot_sma.cpp b/src/devices/bus/neogeo/prot_sma.cpp
index 8c4dfa169d5..1b6e2322cd9 100644
--- a/src/devices/bus/neogeo/prot_sma.cpp
+++ b/src/devices/bus/neogeo/prot_sma.cpp
@@ -5,13 +5,14 @@
#include "prot_sma.h"
-const device_type SMA_PROT = device_creator<sma_prot_device>;
+DEFINE_DEVICE_TYPE(NG_SMA_PROT, sma_prot_device, "ng_sma_prot", "Neo Geo SMA Protection")
sma_prot_device::sma_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMA_PROT, "Neo Geo SMA Protection", tag, owner, clock, "sma_prot", __FILE__),
+ device_t(mconfig, NG_SMA_PROT, tag, owner, clock),
m_sma_rng(0)
-{}
+{
+}
void sma_prot_device::device_start()
diff --git a/src/devices/bus/neogeo/prot_sma.h b/src/devices/bus/neogeo/prot_sma.h
index 1cb7d7d9e4c..040d03a08d9 100644
--- a/src/devices/bus/neogeo/prot_sma.h
+++ b/src/devices/bus/neogeo/prot_sma.h
@@ -1,19 +1,19 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
+#ifndef MAME_BUS_NEOGEO_PROT_SMA_H
+#define MAME_BUS_NEOGEO_PROT_SMA_H
#pragma once
-#ifndef __SMA_PROT__
-#define __SMA_PROT__
-extern const device_type SMA_PROT;
+DECLARE_DEVICE_TYPE(NG_SMA_PROT, sma_prot_device)
#define MCFG_SMA_PROT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, SMA_PROT, 0)
+ MCFG_DEVICE_ADD(_tag, NG_SMA_PROT, 0)
-class sma_prot_device : public device_t
+class sma_prot_device : public device_t
{
public:
// construction/destruction
@@ -45,4 +45,4 @@ private:
uint16_t m_sma_rng;
};
-#endif
+#endif // MAME_BUS_NEOGEO_PROT_SMA_H
diff --git a/src/devices/bus/neogeo/pvc.cpp b/src/devices/bus/neogeo/pvc.cpp
index 4830603b209..870443dca40 100644
--- a/src/devices/bus/neogeo/pvc.cpp
+++ b/src/devices/bus/neogeo/pvc.cpp
@@ -13,36 +13,35 @@
//-------------------------------------------------
-// neogeo_pvc_cart - constructor
+// neogeo_pvc_cart_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_PVC_CART = device_creator<neogeo_pvc_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PVC_CART, neogeo_pvc_cart_device, "neocart_pvc", "Neo Geo PVC Cart")
-neogeo_pvc_cart::neogeo_pvc_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source) :
- neogeo_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
+neogeo_pvc_cart_device::neogeo_pvc_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, type, tag, owner, clock),
m_cmc_prot(*this, "cmc_prot"),
m_pcm2_prot(*this, "pcm2_prot"),
m_pvc_prot(*this, "pvc_prot")
-{}
+{
+}
-neogeo_pvc_cart::neogeo_pvc_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_PVC_CART, "Neo Geo PVC Cart", tag, owner, clock, "neocart_pvc", __FILE__),
- m_cmc_prot(*this, "cmc_prot"),
- m_pcm2_prot(*this, "pcm2_prot"),
- m_pvc_prot(*this, "pvc_prot")
-{}
+neogeo_pvc_cart_device::neogeo_pvc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_pvc_cart_device(mconfig, NEOGEO_PVC_CART, tag, owner, clock)
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_pvc_cart::device_start()
+void neogeo_pvc_cart_device::device_start()
{
}
-void neogeo_pvc_cart::device_reset()
+void neogeo_pvc_cart_device::device_reset()
{
}
@@ -57,7 +56,7 @@ static MACHINE_CONFIG_FRAGMENT( pvc_cart )
MCFG_PVC_PROT_ADD("pvc_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_pvc_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_pvc_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( pvc_cart );
}
@@ -69,12 +68,14 @@ machine_config_constructor neogeo_pvc_cart::device_mconfig_additions() const
mslug5
**************************************************/
-const device_type NEOGEO_PVC_MSLUG5_CART = device_creator<neogeo_pvc_mslug5_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PVC_MSLUG5_CART, neogeo_pvc_mslug5_cart_device, "neocart_mslug5", "Neo Geo Metal Slug 5 PVC Cart")
-neogeo_pvc_mslug5_cart::neogeo_pvc_mslug5_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_pvc_cart(mconfig, NEOGEO_PVC_MSLUG5_CART, "Neo Geo Metal Slug 5 PVC Cart", tag, owner, clock, "neocart_mslug5", __FILE__) {}
+neogeo_pvc_mslug5_cart_device::neogeo_pvc_mslug5_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_pvc_cart_device(mconfig, NEOGEO_PVC_MSLUG5_CART, tag, owner, clock)
+{
+}
-void neogeo_pvc_mslug5_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_pvc_mslug5_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_pvc_prot->mslug5_decrypt_68k(cpuregion, cpuregion_size);
m_pcm2_prot->swap(ym_region, ym_region_size, 2);
@@ -87,13 +88,14 @@ void neogeo_pvc_mslug5_cart::decrypt_all(DECRYPT_ALL_PARAMS)
svc
**************************************************/
-const device_type NEOGEO_PVC_SVC_CART = device_creator<neogeo_pvc_svc_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PVC_SVC_CART, neogeo_pvc_svc_cart_device, "neocart_svc", "Neo Geo SNK vs Capcom PVC Cart")
-neogeo_pvc_svc_cart::neogeo_pvc_svc_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_pvc_cart(mconfig, NEOGEO_PVC_SVC_CART, "Neo Geo SNK vs Capcom PVC Cart", tag, owner, clock, "neocart_svc", __FILE__)
-{}
+neogeo_pvc_svc_cart_device::neogeo_pvc_svc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_pvc_cart_device(mconfig, NEOGEO_PVC_SVC_CART, tag, owner, clock)
+{
+}
-void neogeo_pvc_svc_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_pvc_svc_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_pvc_prot->svc_px_decrypt(cpuregion, cpuregion_size);
m_pcm2_prot->swap(ym_region, ym_region_size, 3);
@@ -107,13 +109,14 @@ void neogeo_pvc_svc_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kof2003
**************************************************/
-const device_type NEOGEO_PVC_KOF2003_CART = device_creator<neogeo_pvc_kof2003_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PVC_KOF2003_CART, neogeo_pvc_kof2003_cart_device, "neocart_kof2003", "Neo Geo KoF 2003 PVC Cart")
-neogeo_pvc_kof2003_cart::neogeo_pvc_kof2003_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_pvc_cart(mconfig, NEOGEO_PVC_KOF2003_CART, "Neo Geo KOF 2003 PVC Cart", tag, owner, clock, "neocart_kof2003", __FILE__)
-{}
+neogeo_pvc_kof2003_cart_device::neogeo_pvc_kof2003_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_pvc_cart_device(mconfig, NEOGEO_PVC_KOF2003_CART, tag, owner, clock)
+{
+}
-void neogeo_pvc_kof2003_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_pvc_kof2003_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_pvc_prot->kof2003_decrypt_68k(cpuregion, cpuregion_size);
m_pcm2_prot->swap(ym_region, ym_region_size, 5);
@@ -126,13 +129,14 @@ void neogeo_pvc_kof2003_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kof2003h
**************************************************/
-const device_type NEOGEO_PVC_KOF2003H_CART = device_creator<neogeo_pvc_kof2003h_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_PVC_KOF2003H_CART, neogeo_pvc_kof2003h_cart_device, "neocart_kof2003h", "Neo Geo KoF 2003 AES PVC Cart")
-neogeo_pvc_kof2003h_cart::neogeo_pvc_kof2003h_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_pvc_cart(mconfig, NEOGEO_PVC_KOF2003H_CART, "Neo Geo KOF 2003 AES PVC Cart", tag, owner, clock, "neocart_kof2003h", __FILE__)
-{}
+neogeo_pvc_kof2003h_cart_device::neogeo_pvc_kof2003h_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_pvc_cart_device(mconfig, NEOGEO_PVC_KOF2003H_CART, tag, owner, clock)
+{
+}
-void neogeo_pvc_kof2003h_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_pvc_kof2003h_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_pvc_prot->kof2003h_decrypt_68k(cpuregion, cpuregion_size);
m_pcm2_prot->swap(ym_region, ym_region_size, 5);
diff --git a/src/devices/bus/neogeo/pvc.h b/src/devices/bus/neogeo/pvc.h
index 064efef717a..89e95bfa59d 100644
--- a/src/devices/bus/neogeo/pvc.h
+++ b/src/devices/bus/neogeo/pvc.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_PVC_H
-#define __NEOGEO_PVC_H
+#ifndef MAME_BUS_NEOGEO_PVC_H
+#define MAME_BUS_NEOGEO_PVC_H
+
+#pragma once
#include "slot.h"
#include "rom.h"
@@ -9,18 +11,14 @@
#include "prot_cmc.h"
#include "prot_pvc.h"
-// ======================> neogeo_pvc_cart
+// ======================> neogeo_pvc_cart_device
-class neogeo_pvc_cart : public neogeo_rom_device
+class neogeo_pvc_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_pvc_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source);
- neogeo_pvc_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_pvc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
@@ -28,8 +26,15 @@ public:
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_pvc_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_pvc_prot->protection_w(space, offset, data, mem_mask); }
- virtual void decrypt_all(DECRYPT_ALL_PARAMS) override {}
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { }
+ virtual int get_fixed_bank_type() override { return 0; }
+
+protected:
+ neogeo_pvc_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot;
@@ -38,67 +43,67 @@ public:
};
// device type definition
-extern const device_type NEOGEO_PVC_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PVC_CART, neogeo_pvc_cart_device)
/*************************************************
mslug5
**************************************************/
-class neogeo_pvc_mslug5_cart : public neogeo_pvc_cart
+class neogeo_pvc_mslug5_cart_device : public neogeo_pvc_cart_device
{
public:
- neogeo_pvc_mslug5_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_pvc_mslug5_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
};
-extern const device_type NEOGEO_PVC_MSLUG5_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PVC_MSLUG5_CART, neogeo_pvc_mslug5_cart_device)
/*************************************************
svc
**************************************************/
-class neogeo_pvc_svc_cart : public neogeo_pvc_cart
+class neogeo_pvc_svc_cart_device : public neogeo_pvc_cart_device
{
public:
- neogeo_pvc_svc_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_pvc_svc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 2; }
+ virtual int get_fixed_bank_type() override { return 2; }
};
-extern const device_type NEOGEO_PVC_SVC_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PVC_SVC_CART, neogeo_pvc_svc_cart_device)
/*************************************************
kof2003
**************************************************/
-class neogeo_pvc_kof2003_cart : public neogeo_pvc_cart
+class neogeo_pvc_kof2003_cart_device : public neogeo_pvc_cart_device
{
public:
- neogeo_pvc_kof2003_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_pvc_kof2003_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 2; }
+ virtual int get_fixed_bank_type() override { return 2; }
};
-extern const device_type NEOGEO_PVC_KOF2003_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PVC_KOF2003_CART, neogeo_pvc_kof2003_cart_device)
/*************************************************
kof2003h
**************************************************/
-class neogeo_pvc_kof2003h_cart : public neogeo_pvc_cart
+class neogeo_pvc_kof2003h_cart_device : public neogeo_pvc_cart_device
{
public:
- neogeo_pvc_kof2003h_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_pvc_kof2003h_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 2; }
+ virtual int get_fixed_bank_type() override { return 2; }
};
-extern const device_type NEOGEO_PVC_KOF2003H_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_PVC_KOF2003H_CART, neogeo_pvc_kof2003h_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_PVC_H
diff --git a/src/devices/bus/neogeo/rom.cpp b/src/devices/bus/neogeo/rom.cpp
index e01bfbe6249..10c61858386 100644
--- a/src/devices/bus/neogeo/rom.cpp
+++ b/src/devices/bus/neogeo/rom.cpp
@@ -17,18 +17,19 @@
// neogeo_rom_device - constructor
//-------------------------------------------------
-const device_type NEOGEO_ROM = device_creator<neogeo_rom_device>;
+DEFINE_DEVICE_TYPE(NEOGEO_ROM, neogeo_rom_device, "neocart_rom", "Neo Geo Standard Carts")
-neogeo_rom_device::neogeo_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_neogeo_cart_interface(mconfig, *this)
-{}
+neogeo_rom_device::neogeo_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_neogeo_cart_interface(mconfig, *this)
+{
+}
neogeo_rom_device::neogeo_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- device_t(mconfig, NEOGEO_ROM, "Neo Geo Standard Carts", tag, owner, clock, "neocart_rom", __FILE__),
- device_neogeo_cart_interface(mconfig, *this)
-{}
+ neogeo_rom_device(mconfig, NEOGEO_ROM, tag, owner, clock)
+{
+}
//-------------------------------------------------
@@ -69,19 +70,20 @@ WRITE16_MEMBER(neogeo_rom_device::banksel_w)
V-Liner : this is plain NeoGeo cart + RAM
**************************************************/
-const device_type NEOGEO_VLINER_CART = device_creator<neogeo_vliner_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_VLINER_CART, neogeo_vliner_cart_device, "neocart_vliner", "Neo Geo V-Liner Cart")
-neogeo_vliner_cart::neogeo_vliner_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_VLINER_CART, "Neo Geo V-Liner Cart", tag, owner, clock, "neocart_vliner", __FILE__)
-{}
+neogeo_vliner_cart_device::neogeo_vliner_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_rom_device(mconfig, NEOGEO_VLINER_CART, tag, owner, clock)
+{
+}
-void neogeo_vliner_cart::device_start()
+void neogeo_vliner_cart_device::device_start()
{
save_item(NAME(m_cart_ram));
}
-void neogeo_vliner_cart::device_reset()
+void neogeo_vliner_cart_device::device_reset()
{
memset(m_cart_ram, 0, 0x2000);
}
diff --git a/src/devices/bus/neogeo/rom.h b/src/devices/bus/neogeo/rom.h
index 600db5cc7fe..17efc4da4a7 100644
--- a/src/devices/bus/neogeo/rom.h
+++ b/src/devices/bus/neogeo/rom.h
@@ -1,33 +1,36 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_ROM_H
-#define __NEOGEO_ROM_H
+#ifndef MAME_BUS_NEOGEO_ROM_H
+#define MAME_BUS_NEOGEO_ROM_H
+
+#pragma once
#include "slot.h"
// ======================> neogeo_rom_device
-class neogeo_rom_device : public device_t,
- public device_neogeo_cart_interface
+class neogeo_rom_device : public device_t, public device_neogeo_cart_interface
{
public:
// construction/destruction
- neogeo_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source);
neogeo_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ16_MEMBER(rom_r) override;
virtual DECLARE_WRITE16_MEMBER(banksel_w) override;
+
+protected:
+ neogeo_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
};
// device type definition
-extern const device_type NEOGEO_ROM;
+DECLARE_DEVICE_TYPE(NEOGEO_ROM, neogeo_rom_device)
@@ -35,16 +38,17 @@ extern const device_type NEOGEO_ROM;
vliner
**************************************************/
-class neogeo_vliner_cart : public neogeo_rom_device
+class neogeo_vliner_cart_device : public neogeo_rom_device
{
public:
- neogeo_vliner_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_vliner_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual DECLARE_READ16_MEMBER(ram_r) override { return m_cart_ram[offset]; }
virtual DECLARE_WRITE16_MEMBER(ram_w) override { COMBINE_DATA(&m_cart_ram[offset]); }
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
+protected:
virtual void device_start() override;
virtual void device_reset() override;
@@ -52,7 +56,7 @@ private:
uint16_t m_cart_ram[0x1000];
};
-extern const device_type NEOGEO_VLINER_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_VLINER_CART, neogeo_vliner_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_ROM_H
diff --git a/src/devices/bus/neogeo/sbp.cpp b/src/devices/bus/neogeo/sbp.cpp
index 82b6ef897c4..f5c25a2210a 100644
--- a/src/devices/bus/neogeo/sbp.cpp
+++ b/src/devices/bus/neogeo/sbp.cpp
@@ -14,24 +14,25 @@
#include "emu.h"
#include "sbp.h"
-const device_type NEOGEO_SBP_CART = device_creator<neogeo_sbp_cart>;
+DEFINE_DEVICE_TYPE(NEOGEO_SBP_CART, neogeo_sbp_cart_device, "neocart_sbp", "Neo Geo Super Bubble Pop Cart")
-neogeo_sbp_cart::neogeo_sbp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_SBP_CART, "Neo Geo Super Bubble Pop Cart", tag, owner, clock, "neocart_sbp", __FILE__)
-{}
+neogeo_sbp_cart_device::neogeo_sbp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_rom_device(mconfig, NEOGEO_SBP_CART, tag, owner, clock)
+{
+}
-void neogeo_sbp_cart::device_start()
+void neogeo_sbp_cart_device::device_start()
{
}
-void neogeo_sbp_cart::device_reset()
+void neogeo_sbp_cart_device::device_reset()
{
}
-READ16_MEMBER( neogeo_sbp_cart::protection_r )
+READ16_MEMBER( neogeo_sbp_cart_device::protection_r )
{
uint16_t* rom = (get_rom_size()) ? get_rom_base() : get_region_rom_base();
uint16_t origdata = rom[offset + (0x200/2)];
@@ -48,7 +49,7 @@ READ16_MEMBER( neogeo_sbp_cart::protection_r )
}
-WRITE16_MEMBER( neogeo_sbp_cart::protection_w )
+WRITE16_MEMBER( neogeo_sbp_cart_device::protection_w )
{
int realoffset = 0x200 + (offset * 2);
@@ -71,7 +72,7 @@ WRITE16_MEMBER( neogeo_sbp_cart::protection_w )
}
-void neogeo_sbp_cart::patch(uint8_t* cpurom, uint32_t cpurom_size)
+void neogeo_sbp_cart_device::patch(uint8_t* cpurom, uint32_t cpurom_size)
{
/* the game code clears the text overlay used ingame immediately after writing it.. why? protection? sloppy code that the hw ignores? imperfect emulation? */
uint16_t* rom = (uint16_t*)cpurom;
@@ -81,7 +82,7 @@ void neogeo_sbp_cart::patch(uint8_t* cpurom, uint32_t cpurom_size)
rom[0x2a6fc/2] = 0x4e71;
}
-void neogeo_sbp_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_sbp_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
patch(cpuregion, cpuregion_size);
}
diff --git a/src/devices/bus/neogeo/sbp.h b/src/devices/bus/neogeo/sbp.h
index e6cf0e9aa77..455c7892399 100644
--- a/src/devices/bus/neogeo/sbp.h
+++ b/src/devices/bus/neogeo/sbp.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#pragma once
+#ifndef MAME_BUS_NEOGEO_SBP_H
+#define MAME_BUS_NEOGEO_SBP_H
-#ifndef __NEOGEO_BOOTSBP_H
-#define __NEOGEO_BOOTSBP_H
+#pragma once
#include "slot.h"
#include "rom.h"
@@ -12,24 +12,25 @@
sbp
**************************************************/
-class neogeo_sbp_cart : public neogeo_rom_device
+class neogeo_sbp_cart_device : public neogeo_rom_device
{
public:
- neogeo_sbp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- virtual void device_start() override;
- virtual void device_reset() override;
+ neogeo_sbp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual DECLARE_WRITE16_MEMBER(protection_w) override;
virtual DECLARE_READ16_MEMBER(protection_r) override;
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
void patch(uint8_t* cpurom, uint32_t cpurom_size);
};
-extern const device_type NEOGEO_SBP_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SBP_CART, neogeo_sbp_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_SBP_H
diff --git a/src/devices/bus/neogeo/slot.cpp b/src/devices/bus/neogeo/slot.cpp
index 6f014111e9c..df57d410ea7 100644
--- a/src/devices/bus/neogeo/slot.cpp
+++ b/src/devices/bus/neogeo/slot.cpp
@@ -13,7 +13,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NEOGEO_CART_SLOT = device_creator<neogeo_cart_slot_device>;
+DEFINE_DEVICE_TYPE(NEOGEO_CART_SLOT, neogeo_cart_slot_device, "neogeo_cart_slot", "Neo Geo Cartridge Slot")
//-------------------------------------------------
@@ -98,10 +98,10 @@ void device_neogeo_cart_interface::optimize_sprites(uint8_t* region_sprites, uin
// neogeo_cart_slot_device - constructor
//-------------------------------------------------
neogeo_cart_slot_device::neogeo_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- device_t(mconfig, NEOGEO_CART_SLOT, "Neo Geo Cartridge Slot", tag, owner, clock, "neogeo_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_cart(nullptr)
+ device_t(mconfig, NEOGEO_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/neogeo/slot.h b/src/devices/bus/neogeo/slot.h
index 9d1c3cc7424..a90c529eea9 100644
--- a/src/devices/bus/neogeo/slot.h
+++ b/src/devices/bus/neogeo/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_SLOT_H
-#define __NEOGEO_SLOT_H
+#ifndef MAME_BUS_NEOGEO_SLOT_H
+#define MAME_BUS_NEOGEO_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -86,7 +88,6 @@ class device_neogeo_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_neogeo_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_neogeo_cart_interface();
// reading from ROM
@@ -102,7 +103,7 @@ public:
virtual uint16_t get_helper() { return 0; }
virtual void decrypt_all(DECRYPT_ALL_PARAMS) { };
- virtual int get_fixed_bank_type(void) { return 0; }
+ virtual int get_fixed_bank_type() { return 0; }
void rom_alloc(uint32_t size) { m_rom.resize(size/sizeof(uint16_t)); }
uint16_t* get_rom_base() { return m_rom.size() > 0 ? &m_rom[0] : nullptr; }
@@ -154,6 +155,8 @@ public:
void optimize_sprites(uint8_t* region_sprites, uint32_t region_sprites_size);
protected:
+ device_neogeo_cart_interface(const machine_config &mconfig, device_t &device);
+
// these are allocated when loading from softlist
std::vector<uint16_t> m_rom;
std::vector<uint8_t> m_fixed;
@@ -189,9 +192,6 @@ public:
neogeo_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual ~neogeo_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override;
@@ -306,17 +306,13 @@ public:
return 0;
}
- uint8_t* get_sprites_opt_base() {
- if (m_cart) return m_cart->get_sprites_opt_base(); else return nullptr;
- }
- uint32_t get_sprites_opt_size() {
- if (m_cart) return m_cart->get_sprites_opt_size(); else return 0;
- }
+ uint8_t* get_sprites_opt_base() { return m_cart ? m_cart->get_sprites_opt_base() : nullptr; }
+ uint32_t get_sprites_opt_size() { return m_cart ? m_cart->get_sprites_opt_size() : 0; }
- int get_fixed_bank_type(void) { if (m_cart) return m_cart->get_fixed_bank_type(); return 0; }
- uint32_t get_bank_base(uint16_t sel) { if (m_cart) return m_cart->get_bank_base(sel); return 0; }
- uint32_t get_special_bank() { if (m_cart) return m_cart->get_special_bank(); return 0; }
- uint16_t get_helper() { if (m_cart) return m_cart->get_helper(); return 0; }
+ int get_fixed_bank_type() { return m_cart ? m_cart->get_fixed_bank_type() : 0; }
+ uint32_t get_bank_base(uint16_t sel) { return m_cart ? m_cart->get_bank_base(sel) : 0; }
+ uint32_t get_special_bank() { return m_cart ? m_cart->get_special_bank() : 0; }
+ uint16_t get_helper() { return m_cart ? m_cart->get_helper() : 0; }
void late_decrypt_all() { if (m_cart) m_cart->decrypt_all(
(uint8_t*)get_rom_base(), get_rom_size(),
@@ -328,6 +324,10 @@ public:
get_audiocrypt_base(), get_audiocrypt_size()); }
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
int m_type;
device_neogeo_cart_interface* m_cart;
@@ -335,7 +335,7 @@ private:
// device type definition
-extern const device_type NEOGEO_CART_SLOT;
+DECLARE_DEVICE_TYPE(NEOGEO_CART_SLOT, neogeo_cart_slot_device)
/***************************************************************************
@@ -348,4 +348,4 @@ extern const device_type NEOGEO_CART_SLOT;
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+#endif // MAME_BUS_NEOGEO_SLOT_H
diff --git a/src/devices/bus/neogeo/sma.cpp b/src/devices/bus/neogeo/sma.cpp
index 4c2beb8c9b4..8f7e1dc015f 100644
--- a/src/devices/bus/neogeo/sma.cpp
+++ b/src/devices/bus/neogeo/sma.cpp
@@ -12,35 +12,40 @@
#include "sma.h"
-//-------------------------------------------------
-// neogeo_sma_cart - constructor
-//-------------------------------------------------
+DEFINE_DEVICE_TYPE(NEOGEO_SMA_CART, neogeo_sma_cart_device, "neocart_sma", "Neo Geo SMA Cart")
+DEFINE_DEVICE_TYPE(NEOGEO_SMA_KOF99_CART, neogeo_sma_kof99_cart_device, "neocart_kof99", "Neo Geo KoF 99 SMA Cart")
+DEFINE_DEVICE_TYPE(NEOGEO_SMA_GAROU_CART, neogeo_sma_garou_cart_device, "neocart_garou", "Neo Geo Garou SMA Cart")
+DEFINE_DEVICE_TYPE(NEOGEO_SMA_GAROUH_CART, neogeo_sma_garouh_cart_device, "neocart_garouh", "Neo Geo Garou AES SMA Cart")
+DEFINE_DEVICE_TYPE(NEOGEO_SMA_MSLUG3_CART, neogeo_sma_mslug3_cart_device, "neocart_mslug3", "Neo Geo Metal Slug 3 SMA Cart")
+DEFINE_DEVICE_TYPE(NEOGEO_SMA_KOF2000_CART, neogeo_sma_kof2000_cart_device, "neocart_kof2000", "Neo Geo KoF 2000 SMA Cart")
-const device_type NEOGEO_SMA_CART = device_creator<neogeo_sma_cart>;
+//-------------------------------------------------
+// neogeo_sma_cart_device - constructor
+//-------------------------------------------------
-neogeo_sma_cart::neogeo_sma_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source) :
- neogeo_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
+neogeo_sma_cart_device::neogeo_sma_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_rom_device(mconfig, type, tag, owner, clock),
m_sma_prot(*this, "sma_prot"),
m_cmc_prot(*this, "cmc_prot")
-{}
+{
+}
-neogeo_sma_cart::neogeo_sma_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
- neogeo_rom_device(mconfig, NEOGEO_SMA_CART, "Neo Geo SMA Cart", tag, owner, clock, "neocart_sma", __FILE__),
- m_sma_prot(*this, "sma_prot"),
- m_cmc_prot(*this, "cmc_prot")
-{}
+neogeo_sma_cart_device::neogeo_sma_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
+ neogeo_sma_cart_device(mconfig, NEOGEO_SMA_CART, tag, owner, clock)
+{
+}
//-------------------------------------------------
// mapper specific start/reset
//-------------------------------------------------
-void neogeo_sma_cart::device_start()
+void neogeo_sma_cart_device::device_start()
{
}
-void neogeo_sma_cart::device_reset()
+void neogeo_sma_cart_device::device_reset()
{
}
@@ -54,7 +59,7 @@ static MACHINE_CONFIG_FRAGMENT( sma_cart )
MCFG_CMC_PROT_ADD("cmc_prot")
MACHINE_CONFIG_END
-machine_config_constructor neogeo_sma_cart::device_mconfig_additions() const
+machine_config_constructor neogeo_sma_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sma_cart );
}
@@ -64,13 +69,12 @@ machine_config_constructor neogeo_sma_cart::device_mconfig_additions() const
kof99
**************************************************/
-const device_type NEOGEO_SMA_KOF99_CART = device_creator<neogeo_sma_kof99_cart>;
-
-neogeo_sma_kof99_cart::neogeo_sma_kof99_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_sma_cart(mconfig, NEOGEO_SMA_KOF99_CART, "Neo Geo KOF 99 SMA Cart", tag, owner, clock, "neocart_kof99", __FILE__)
-{}
+neogeo_sma_kof99_cart_device::neogeo_sma_kof99_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_sma_cart_device(mconfig, NEOGEO_SMA_KOF99_CART, tag, owner, clock)
+{
+}
-void neogeo_sma_kof99_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_sma_kof99_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_sma_prot->kof99_decrypt_68k(cpuregion);
m_cmc_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, KOF99_GFX_KEY);
@@ -82,13 +86,12 @@ void neogeo_sma_kof99_cart::decrypt_all(DECRYPT_ALL_PARAMS)
garou
**************************************************/
-const device_type NEOGEO_SMA_GAROU_CART = device_creator<neogeo_sma_garou_cart>;
-
-neogeo_sma_garou_cart::neogeo_sma_garou_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_sma_cart(mconfig, NEOGEO_SMA_GAROU_CART, "Neo Geo Garou SMA Cart", tag, owner, clock, "neocart_garou", __FILE__)
-{}
+neogeo_sma_garou_cart_device::neogeo_sma_garou_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_sma_cart_device(mconfig, NEOGEO_SMA_GAROU_CART, tag, owner, clock)
+{
+}
-void neogeo_sma_garou_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_sma_garou_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_sma_prot->garou_decrypt_68k(cpuregion);
m_cmc_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, GAROU_GFX_KEY);
@@ -100,13 +103,12 @@ void neogeo_sma_garou_cart::decrypt_all(DECRYPT_ALL_PARAMS)
garouh
**************************************************/
-const device_type NEOGEO_SMA_GAROUH_CART = device_creator<neogeo_sma_garouh_cart>;
-
-neogeo_sma_garouh_cart::neogeo_sma_garouh_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_sma_cart(mconfig, NEOGEO_SMA_GAROUH_CART, "Neo Geo Garou AES SMA Cart", tag, owner, clock, "neocart_garouh", __FILE__)
-{}
+neogeo_sma_garouh_cart_device::neogeo_sma_garouh_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_sma_cart_device(mconfig, NEOGEO_SMA_GAROUH_CART, tag, owner, clock)
+{
+}
-void neogeo_sma_garouh_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_sma_garouh_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_sma_prot->garouh_decrypt_68k(cpuregion);
m_cmc_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, GAROU_GFX_KEY);
@@ -118,13 +120,12 @@ void neogeo_sma_garouh_cart::decrypt_all(DECRYPT_ALL_PARAMS)
mslug3
**************************************************/
-const device_type NEOGEO_SMA_MSLUG3_CART = device_creator<neogeo_sma_mslug3_cart>;
-
-neogeo_sma_mslug3_cart::neogeo_sma_mslug3_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_sma_cart(mconfig, NEOGEO_SMA_MSLUG3_CART, "Neo Geo Metal Slug 3 SMA Cart", tag, owner, clock, "neocart_mslug3", __FILE__)
-{}
+neogeo_sma_mslug3_cart_device::neogeo_sma_mslug3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_sma_cart_device(mconfig, NEOGEO_SMA_MSLUG3_CART, tag, owner, clock)
+{
+}
-void neogeo_sma_mslug3_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_sma_mslug3_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_sma_prot->mslug3_decrypt_68k(cpuregion);
m_cmc_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, MSLUG3_GFX_KEY);
@@ -136,13 +137,12 @@ void neogeo_sma_mslug3_cart::decrypt_all(DECRYPT_ALL_PARAMS)
kof2000
**************************************************/
-const device_type NEOGEO_SMA_KOF2000_CART = device_creator<neogeo_sma_kof2000_cart>;
-
-neogeo_sma_kof2000_cart::neogeo_sma_kof2000_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_sma_cart(mconfig, NEOGEO_SMA_KOF2000_CART, "Neo Geo KOF 2000 SMA Cart", tag, owner, clock, "neocart_kof2000", __FILE__)
-{}
+neogeo_sma_kof2000_cart_device::neogeo_sma_kof2000_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ neogeo_sma_cart_device(mconfig, NEOGEO_SMA_KOF2000_CART, tag, owner, clock)
+{
+}
-void neogeo_sma_kof2000_cart::decrypt_all(DECRYPT_ALL_PARAMS)
+void neogeo_sma_kof2000_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{
m_sma_prot->kof2000_decrypt_68k(cpuregion);
m_cmc_prot->cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
diff --git a/src/devices/bus/neogeo/sma.h b/src/devices/bus/neogeo/sma.h
index 6c1631b4cea..8e9ee1d47a6 100644
--- a/src/devices/bus/neogeo/sma.h
+++ b/src/devices/bus/neogeo/sma.h
@@ -1,25 +1,21 @@
// license:BSD-3-Clause
// copyright-holders:S. Smith,David Haywood,Fabio Priuli
-#ifndef __NEOGEO_SMA_H
-#define __NEOGEO_SMA_H
+#ifndef MAME_BUS_NEOGEO_SMA_H
+#define MAME_BUS_NEOGEO_SMA_H
#include "slot.h"
#include "rom.h"
#include "prot_sma.h"
#include "prot_cmc.h"
-// ======================> neogeo_sma_cart
+// ======================> neogeo_sma_cart_device
-class neogeo_sma_cart : public neogeo_rom_device
+class neogeo_sma_cart_device : public neogeo_rom_device
{
public:
// construction/destruction
- neogeo_sma_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source);
- neogeo_sma_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
+ neogeo_sma_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
@@ -28,96 +24,101 @@ public:
virtual uint32_t get_bank_base(uint16_t sel) override { return 0; }
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override {}
- virtual int get_fixed_bank_type(void) override { return 0; }
+ virtual int get_fixed_bank_type() override { return 0; }
+
+protected:
+ neogeo_sma_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
required_device<sma_prot_device> m_sma_prot;
required_device<cmc_prot_device> m_cmc_prot;
};
-
-
// device type definition
-extern const device_type NEOGEO_SMA_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SMA_CART, neogeo_sma_cart_device)
/*************************************************
kof99
**************************************************/
-class neogeo_sma_kof99_cart : public neogeo_sma_cart
+class neogeo_sma_kof99_cart_device : public neogeo_sma_cart_device
{
public:
- neogeo_sma_kof99_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_sma_kof99_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
virtual uint32_t get_bank_base(uint16_t sel) override { return m_sma_prot->kof99_bank_base(sel); }
};
-extern const device_type NEOGEO_SMA_KOF99_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SMA_KOF99_CART, neogeo_sma_kof99_cart_device)
/*************************************************
garou
**************************************************/
-class neogeo_sma_garou_cart : public neogeo_sma_cart
+class neogeo_sma_garou_cart_device : public neogeo_sma_cart_device
{
public:
- neogeo_sma_garou_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_sma_garou_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
virtual uint32_t get_bank_base(uint16_t sel) override { return m_sma_prot->garou_bank_base(sel); }
};
-extern const device_type NEOGEO_SMA_GAROU_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SMA_GAROU_CART, neogeo_sma_garou_cart_device)
/*************************************************
garouh
**************************************************/
-class neogeo_sma_garouh_cart : public neogeo_sma_cart
+class neogeo_sma_garouh_cart_device : public neogeo_sma_cart_device
{
public:
- neogeo_sma_garouh_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_sma_garouh_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
virtual uint32_t get_bank_base(uint16_t sel) override { return m_sma_prot->garouh_bank_base(sel); }
};
-extern const device_type NEOGEO_SMA_GAROUH_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SMA_GAROUH_CART, neogeo_sma_garouh_cart_device)
/*************************************************
mslug3
**************************************************/
-class neogeo_sma_mslug3_cart : public neogeo_sma_cart
+class neogeo_sma_mslug3_cart_device : public neogeo_sma_cart_device
{
public:
- neogeo_sma_mslug3_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_sma_mslug3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 1; }
+ virtual int get_fixed_bank_type() override { return 1; }
virtual uint32_t get_bank_base(uint16_t sel) override { return m_sma_prot->mslug3_bank_base(sel); }
};
-extern const device_type NEOGEO_SMA_MSLUG3_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SMA_MSLUG3_CART, neogeo_sma_mslug3_cart_device)
/*************************************************
kof2000
**************************************************/
-class neogeo_sma_kof2000_cart : public neogeo_sma_cart
+class neogeo_sma_kof2000_cart_device : public neogeo_sma_cart_device
{
public:
- neogeo_sma_kof2000_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ neogeo_sma_kof2000_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
- virtual int get_fixed_bank_type(void) override { return 2; }
+ virtual int get_fixed_bank_type() override { return 2; }
virtual uint32_t get_bank_base(uint16_t sel) override { return m_sma_prot->kof2000_bank_base(sel); }
};
-extern const device_type NEOGEO_SMA_KOF2000_CART;
+DECLARE_DEVICE_TYPE(NEOGEO_SMA_KOF2000_CART, neogeo_sma_kof2000_cart_device)
-#endif
+#endif // MAME_BUS_NEOGEO_SMA_H
diff --git a/src/devices/bus/neogeo_ctrl/ctrl.cpp b/src/devices/bus/neogeo_ctrl/ctrl.cpp
index 870f830c4d1..4fb9914adb8 100644
--- a/src/devices/bus/neogeo_ctrl/ctrl.cpp
+++ b/src/devices/bus/neogeo_ctrl/ctrl.cpp
@@ -18,6 +18,7 @@
#include "emu.h"
#include "ctrl.h"
+
// slot devices
#include "joystick.h"
#include "mahjong.h"
@@ -30,8 +31,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NEOGEO_CONTROL_PORT = device_creator<neogeo_control_port_device>;
-const device_type NEOGEO_CTRL_EDGE_CONNECTOR = device_creator<neogeo_ctrl_edge_port_device>;
+DEFINE_DEVICE_TYPE(NEOGEO_CONTROL_PORT, neogeo_control_port_device, "neogeo_control_port", "SNK Neo Geo controller port")
+DEFINE_DEVICE_TYPE(NEOGEO_CTRL_EDGE_CONNECTOR, neogeo_ctrl_edge_port_device, "neogeo_ctrl_edge", "SNK Neo Geo Edge Connector (Controller)")
//**************************************************************************
@@ -86,8 +87,9 @@ device_neogeo_ctrl_edge_interface::~device_neogeo_ctrl_edge_interface()
//-------------------------------------------------
neogeo_control_port_device::neogeo_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEOGEO_CONTROL_PORT, "SNK Neo Geo control port", tag, owner, clock, "neogeo_control_port", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, NEOGEO_CONTROL_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_device(nullptr)
{
}
@@ -140,8 +142,9 @@ void neogeo_control_port_device::write_ctrlsel(uint8_t data)
//-------------------------------------------------
neogeo_ctrl_edge_port_device::neogeo_ctrl_edge_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEOGEO_CTRL_EDGE_CONNECTOR, "SNK Neo Geo Edge Connector (Controller)", tag, owner, clock, "neogeo_ctrl_edge", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, NEOGEO_CTRL_EDGE_CONNECTOR, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_device(nullptr)
{
}
diff --git a/src/devices/bus/neogeo_ctrl/ctrl.h b/src/devices/bus/neogeo_ctrl/ctrl.h
index c4450d4a5ee..53ee9c53713 100644
--- a/src/devices/bus/neogeo_ctrl/ctrl.h
+++ b/src/devices/bus/neogeo_ctrl/ctrl.h
@@ -6,12 +6,11 @@
**********************************************************************/
+#ifndef MAME_BUS_NEOGEO_CTRL_CTRL_H
+#define MAME_BUS_NEOGEO_CTRL_CTRL_H
#pragma once
-#ifndef __NEOGEO_CONTROL_PORT__
-#define __NEOGEO_CONTROL_PORT__
-
//**************************************************************************
// TYPE DEFINITIONS
@@ -26,21 +25,21 @@ class device_neogeo_control_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_neogeo_control_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_neogeo_control_port_interface();
- virtual uint8_t read_ctrl() { return 0xff; };
- virtual uint8_t read_start_sel() { return 0xff; };
- virtual void write_ctrlsel(uint8_t data) { };
+ virtual uint8_t read_ctrl() { return 0xff; }
+ virtual uint8_t read_start_sel() { return 0xff; }
+ virtual void write_ctrlsel(uint8_t data) { }
protected:
+ device_neogeo_control_port_interface(const machine_config &mconfig, device_t &device);
+
neogeo_control_port_device *m_port;
};
// ======================> neogeo_control_port_device
-class neogeo_control_port_device : public device_t,
- public device_slot_interface
+class neogeo_control_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
@@ -66,7 +65,6 @@ class device_neogeo_ctrl_edge_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_neogeo_ctrl_edge_interface(const machine_config &mconfig, device_t &device);
virtual ~device_neogeo_ctrl_edge_interface();
virtual uint8_t read_start_sel() { return 0xff; }
@@ -75,13 +73,14 @@ public:
virtual void write_ctrlsel(uint8_t data) { }
protected:
+ device_neogeo_ctrl_edge_interface(const machine_config &mconfig, device_t &device);
+
neogeo_ctrl_edge_port_device *m_port;
};
// ======================> neogeo_ctrl_edge_port_device
-class neogeo_ctrl_edge_port_device : public device_t,
- public device_slot_interface
+class neogeo_ctrl_edge_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
@@ -102,8 +101,8 @@ protected:
// device type definition
-extern const device_type NEOGEO_CONTROL_PORT;
-extern const device_type NEOGEO_CTRL_EDGE_CONNECTOR;
+DECLARE_DEVICE_TYPE(NEOGEO_CONTROL_PORT, neogeo_control_port_device)
+DECLARE_DEVICE_TYPE(NEOGEO_CTRL_EDGE_CONNECTOR, neogeo_ctrl_edge_port_device)
//**************************************************************************
@@ -126,4 +125,4 @@ SLOT_INTERFACE_EXTERN( neogeo_arc_edge_fixed );
SLOT_INTERFACE_EXTERN( neogeo_arc_pin15 );
-#endif
+#endif // MAME_BUS_NEOGEO_CTRL_CTRL_H
diff --git a/src/devices/bus/neogeo_ctrl/dial.cpp b/src/devices/bus/neogeo_ctrl/dial.cpp
index 6211a5b9ee1..f8aeb88b1f0 100644
--- a/src/devices/bus/neogeo_ctrl/dial.cpp
+++ b/src/devices/bus/neogeo_ctrl/dial.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NEOGEO_DIAL = device_creator<neogeo_dial_device>;
+DEFINE_DEVICE_TYPE(NEOGEO_DIAL, neogeo_dial_device, "neogeo_dial", "SNK Neo Geo Dial Controller")
static INPUT_PORTS_START( neogeo_dial )
@@ -62,12 +62,12 @@ ioport_constructor neogeo_dial_device::device_input_ports() const
//-------------------------------------------------
neogeo_dial_device::neogeo_dial_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEOGEO_DIAL, "SNK Neo Geo Dial Controller", tag, owner, clock, "neogeo_dial", __FILE__),
- device_neogeo_ctrl_edge_interface(mconfig, *this),
- m_joy1(*this, "JOY1"),
- m_joy2(*this, "JOY2"),
- m_dial1(*this, "DIAL1"),
- m_dial2(*this, "DIAL2")
+ device_t(mconfig, NEOGEO_DIAL, tag, owner, clock),
+ device_neogeo_ctrl_edge_interface(mconfig, *this),
+ m_joy1(*this, "JOY1"),
+ m_joy2(*this, "JOY2"),
+ m_dial1(*this, "DIAL1"),
+ m_dial2(*this, "DIAL2")
{
}
diff --git a/src/devices/bus/neogeo_ctrl/dial.h b/src/devices/bus/neogeo_ctrl/dial.h
index 9af531b2d6e..d3466025642 100644
--- a/src/devices/bus/neogeo_ctrl/dial.h
+++ b/src/devices/bus/neogeo_ctrl/dial.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NEOGEO_CTRL_DIAL_H
+#define MAME_BUS_NEOGEO_CTRL_DIAL_H
-#ifndef __NEOGEO_DIAL__
-#define __NEOGEO_DIAL__
+#pragma once
#include "ctrl.h"
@@ -20,8 +20,7 @@
// ======================> neogeo_dial_device
-class neogeo_dial_device : public device_t,
- public device_neogeo_ctrl_edge_interface
+class neogeo_dial_device : public device_t, public device_neogeo_ctrl_edge_interface
{
public:
// construction/destruction
@@ -48,10 +47,7 @@ private:
uint8_t m_ctrl_sel;
};
-
-
// device type definition
-extern const device_type NEOGEO_DIAL;
-
+DECLARE_DEVICE_TYPE(NEOGEO_DIAL, neogeo_dial_device)
-#endif
+#endif // MAME_BUS_NEOGEO_CTRL_DIAL_H
diff --git a/src/devices/bus/neogeo_ctrl/irrmaze.cpp b/src/devices/bus/neogeo_ctrl/irrmaze.cpp
index 51bc3cb043d..04d70294e5a 100644
--- a/src/devices/bus/neogeo_ctrl/irrmaze.cpp
+++ b/src/devices/bus/neogeo_ctrl/irrmaze.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Fabio Priuli
/**********************************************************************
- SNK Neo Geo Irritation Maze Analog Controller emulation
+ SNK Neo Geo Irritating Maze Trackball Controller emulation
**********************************************************************/
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NEOGEO_IRRMAZE = device_creator<neogeo_irrmaze_device>;
+DEFINE_DEVICE_TYPE(NEOGEO_IRRMAZE, neogeo_irrmaze_device, "neogeo_irrmaze", "SNK Neo Geo Irritating Maze Trackball controller")
static INPUT_PORTS_START( neogeo_irrmaze )
@@ -51,11 +51,11 @@ ioport_constructor neogeo_irrmaze_device::device_input_ports() const
//-------------------------------------------------
neogeo_irrmaze_device::neogeo_irrmaze_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEOGEO_IRRMAZE, "SNK Neo Geo Irritating Maze Analog Controller", tag, owner, clock, "neogeo_irrmaze", __FILE__),
- device_neogeo_ctrl_edge_interface(mconfig, *this),
- m_tx(*this, "TRACK_X"),
- m_ty(*this, "TRACK_Y"),
- m_buttons(*this, "BUTTONS")
+ device_t(mconfig, NEOGEO_IRRMAZE, tag, owner, clock),
+ device_neogeo_ctrl_edge_interface(mconfig, *this),
+ m_tx(*this, "TRACK_X"),
+ m_ty(*this, "TRACK_Y"),
+ m_buttons(*this, "BUTTONS")
{
}
diff --git a/src/devices/bus/neogeo_ctrl/irrmaze.h b/src/devices/bus/neogeo_ctrl/irrmaze.h
index 33beb1fe10d..855c936ff5c 100644
--- a/src/devices/bus/neogeo_ctrl/irrmaze.h
+++ b/src/devices/bus/neogeo_ctrl/irrmaze.h
@@ -2,14 +2,14 @@
// copyright-holders:Fabio Priuli
/**********************************************************************
- SNK Neo Geo Dial controller emulation
+ SNK Neo Geo Irritating Maze Trackball Controller emulation
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NEOGEO_CTRL_IRRMAZE_H
+#define MAME_BUS_NEOGEO_CTRL_IRRMAZE_H
-#ifndef __NEOGEO_IRRMAZE__
-#define __NEOGEO_IRRMAZE__
+#pragma once
#include "ctrl.h"
@@ -18,10 +18,9 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> neogeo_dial_device
+// ======================> neogeo_irrmaze_device
-class neogeo_irrmaze_device : public device_t,
- public device_neogeo_ctrl_edge_interface
+class neogeo_irrmaze_device : public device_t, public device_neogeo_ctrl_edge_interface
{
public:
// construction/destruction
@@ -48,9 +47,8 @@ private:
};
-
// device type definition
-extern const device_type NEOGEO_IRRMAZE;
+DECLARE_DEVICE_TYPE(NEOGEO_IRRMAZE, neogeo_irrmaze_device)
-#endif
+#endif // MAME_BUS_NEOGEO_CTRL_IRRMAZE_H
diff --git a/src/devices/bus/neogeo_ctrl/joystick.cpp b/src/devices/bus/neogeo_ctrl/joystick.cpp
index dabed0aa13e..e854330a452 100644
--- a/src/devices/bus/neogeo_ctrl/joystick.cpp
+++ b/src/devices/bus/neogeo_ctrl/joystick.cpp
@@ -22,7 +22,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NEOGEO_JOY = device_creator<neogeo_joystick_device>;
+DEFINE_DEVICE_TYPE(NEOGEO_JOY, neogeo_joystick_device, "neogeo_joy", "SNK Neo Geo Joystick")
static INPUT_PORTS_START( neogeo_joy )
@@ -61,10 +61,10 @@ ioport_constructor neogeo_joystick_device::device_input_ports() const
//-------------------------------------------------
neogeo_joystick_device::neogeo_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEOGEO_JOY, "SNK Neo Geo Joystick", tag, owner, clock, "neogeo_joy", __FILE__),
- device_neogeo_control_port_interface(mconfig, *this),
- m_joy(*this, "JOY"),
- m_ss(*this, "START_SELECT")
+ device_t(mconfig, NEOGEO_JOY, tag, owner, clock),
+ device_neogeo_control_port_interface(mconfig, *this),
+ m_joy(*this, "JOY"),
+ m_ss(*this, "START_SELECT")
{
}
@@ -118,7 +118,7 @@ uint8_t neogeo_joystick_device::read_start_sel()
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NEOGEO_JOY_AC = device_creator<neogeo_joy_ac_device>;
+DEFINE_DEVICE_TYPE(NEOGEO_JOY_AC, neogeo_joy_ac_device, "neogeo_joyac", "SNK Neo Geo Arcade Joystick")
static INPUT_PORTS_START( neogeo_joy_ac )
@@ -162,10 +162,10 @@ ioport_constructor neogeo_joy_ac_device::device_input_ports() const
//-------------------------------------------------
neogeo_joy_ac_device::neogeo_joy_ac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEOGEO_JOY_AC, "SNK Neo Geo Arcade Joystick", tag, owner, clock, "neogeo_joyac", __FILE__),
- device_neogeo_ctrl_edge_interface(mconfig, *this),
- m_joy1(*this, "JOY1"),
- m_joy2(*this, "JOY2")
+ device_t(mconfig, NEOGEO_JOY_AC, tag, owner, clock),
+ device_neogeo_ctrl_edge_interface(mconfig, *this),
+ m_joy1(*this, "JOY1"),
+ m_joy2(*this, "JOY2")
{
}
diff --git a/src/devices/bus/neogeo_ctrl/joystick.h b/src/devices/bus/neogeo_ctrl/joystick.h
index a78734ab695..9be443077d9 100644
--- a/src/devices/bus/neogeo_ctrl/joystick.h
+++ b/src/devices/bus/neogeo_ctrl/joystick.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NEOGEO_CTRL_JOYSTICK_H
+#define MAME_BUS_NEOGEO_CTRL_JOYSTICK_H
-#ifndef __NEOGEO_JOYSTICK__
-#define __NEOGEO_JOYSTICK__
+#pragma once
#include "ctrl.h"
@@ -20,8 +20,7 @@
// ======================> neogeo_joystick_device
-class neogeo_joystick_device : public device_t,
- public device_neogeo_control_port_interface
+class neogeo_joystick_device : public device_t, public device_neogeo_control_port_interface
{
public:
// construction/destruction
@@ -47,8 +46,7 @@ private:
// ======================> neogeo_joy_ac_device
-class neogeo_joy_ac_device : public device_t,
- public device_neogeo_ctrl_edge_interface
+class neogeo_joy_ac_device : public device_t, public device_neogeo_ctrl_edge_interface
{
public:
// construction/destruction
@@ -73,8 +71,8 @@ private:
// device type definition
-extern const device_type NEOGEO_JOY;
-extern const device_type NEOGEO_JOY_AC;
+DECLARE_DEVICE_TYPE(NEOGEO_JOY, neogeo_joystick_device)
+DECLARE_DEVICE_TYPE(NEOGEO_JOY_AC, neogeo_joy_ac_device)
-#endif
+#endif // MAME_BUS_NEOGEO_CTRL_JOYSTICK_H
diff --git a/src/devices/bus/neogeo_ctrl/kizuna4p.cpp b/src/devices/bus/neogeo_ctrl/kizuna4p.cpp
index 72854f62241..0c0420b6f3a 100644
--- a/src/devices/bus/neogeo_ctrl/kizuna4p.cpp
+++ b/src/devices/bus/neogeo_ctrl/kizuna4p.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NEOGEO_KIZ4P = device_creator<neogeo_kizuna4p_device>;
+DEFINE_DEVICE_TYPE(NEOGEO_KIZ4P, neogeo_kizuna4p_device, "neogeo_kiz4p", "SNK Neo Geo Kizuna 4P Controller")
static INPUT_PORTS_START( neogeo_kiz4p )
@@ -86,14 +86,14 @@ ioport_constructor neogeo_kizuna4p_device::device_input_ports() const
//-------------------------------------------------
neogeo_kizuna4p_device::neogeo_kizuna4p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEOGEO_KIZ4P, "SNK Neo Geo Kizuna 4P Controller", tag, owner, clock, "neogeo_kiz4p", __FILE__),
- device_neogeo_ctrl_edge_interface(mconfig, *this),
- m_joy1(*this, "JOY1"),
- m_joy2(*this, "JOY2"),
- m_joy3(*this, "JOY3"),
- m_joy4(*this, "JOY4"),
- m_ss1(*this, "START13"),
- m_ss2(*this, "START24")
+ device_t(mconfig, NEOGEO_KIZ4P, tag, owner, clock),
+ device_neogeo_ctrl_edge_interface(mconfig, *this),
+ m_joy1(*this, "JOY1"),
+ m_joy2(*this, "JOY2"),
+ m_joy3(*this, "JOY3"),
+ m_joy4(*this, "JOY4"),
+ m_ss1(*this, "START13"),
+ m_ss2(*this, "START24")
{
}
diff --git a/src/devices/bus/neogeo_ctrl/kizuna4p.h b/src/devices/bus/neogeo_ctrl/kizuna4p.h
index c690ce485c7..6f7fd6fcbb9 100644
--- a/src/devices/bus/neogeo_ctrl/kizuna4p.h
+++ b/src/devices/bus/neogeo_ctrl/kizuna4p.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NEOGEO_CTRL_KIZUNA4P_H
+#define MAME_BUS_NEOGEO_CTRL_KIZUNA4P_H
-#ifndef __NEOGEO_KIZ4P__
-#define __NEOGEO_KIZ4P__
+#pragma once
#include "ctrl.h"
@@ -52,9 +52,8 @@ private:
};
-
// device type definition
-extern const device_type NEOGEO_KIZ4P;
+DECLARE_DEVICE_TYPE(NEOGEO_KIZ4P, neogeo_kizuna4p_device)
-#endif
+#endif // MAME_BUS_NEOGEO_CTRL_KIZUNA4P_H
diff --git a/src/devices/bus/neogeo_ctrl/mahjong.cpp b/src/devices/bus/neogeo_ctrl/mahjong.cpp
index 149c252f386..9c818abf4b3 100644
--- a/src/devices/bus/neogeo_ctrl/mahjong.cpp
+++ b/src/devices/bus/neogeo_ctrl/mahjong.cpp
@@ -13,8 +13,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NEOGEO_MJCTRL_AC = device_creator<neogeo_mjctrl_ac_device>;
-const device_type NEOGEO_MJCTRL = device_creator<neogeo_mjctrl_device>;
+DEFINE_DEVICE_TYPE(NEOGEO_MJCTRL_AC, neogeo_mjctrl_ac_device, "neogeo_mj_ac", "SNK Neo Geo Arcade Mahjong panel")
+DEFINE_DEVICE_TYPE(NEOGEO_MJCTRL, neogeo_mjctrl_device, "neogeo_mj", "SNK Neo Geo Mahjong controller")
static INPUT_PORTS_START( neogeo_mj_ac )
@@ -94,21 +94,21 @@ ioport_constructor neogeo_mjctrl_device::device_input_ports() const
// neogeo_joystick_device - constructor
//-------------------------------------------------
-neogeo_mjctrl_ac_device::neogeo_mjctrl_ac_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+neogeo_mjctrl_ac_device::neogeo_mjctrl_ac_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_neogeo_control_port_interface(mconfig, *this)
, m_mjpanel(*this, "MJ.%u", 0)
{
}
neogeo_mjctrl_ac_device::neogeo_mjctrl_ac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : neogeo_mjctrl_ac_device(mconfig, NEOGEO_MJCTRL_AC, "SNK Neo Geo Arcade Mahjong panel", tag, owner, clock, "neogeo_mjac", __FILE__)
+ : neogeo_mjctrl_ac_device(mconfig, NEOGEO_MJCTRL_AC, tag, owner, clock)
{
}
-neogeo_mjctrl_device::neogeo_mjctrl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- neogeo_mjctrl_ac_device(mconfig, NEOGEO_MJCTRL, "SNK Neo Geo Mahjong controller", tag, owner, clock, "neogeo_mjctrl", __FILE__),
- m_ss(*this, "START_SELECT")
+neogeo_mjctrl_device::neogeo_mjctrl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : neogeo_mjctrl_ac_device(mconfig, NEOGEO_MJCTRL, tag, owner, clock)
+ , m_ss(*this, "START_SELECT")
{
}
diff --git a/src/devices/bus/neogeo_ctrl/mahjong.h b/src/devices/bus/neogeo_ctrl/mahjong.h
index 48a160f1eec..ff59891dd59 100644
--- a/src/devices/bus/neogeo_ctrl/mahjong.h
+++ b/src/devices/bus/neogeo_ctrl/mahjong.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NEOGEO_CTRL_MAHJONG_H
+#define MAME_BUS_NEOGEO_CTRL_MAHJONG_H
-#ifndef __NEOGEO_MJCTRL__
-#define __NEOGEO_MJCTRL__
+#pragma once
#include "ctrl.h"
@@ -20,18 +20,18 @@
// ======================> neogeo_mjctrl_ac_device
-class neogeo_mjctrl_ac_device : public device_t,
- public device_neogeo_control_port_interface
+class neogeo_mjctrl_ac_device : public device_t, public device_neogeo_control_port_interface
{
public:
// construction/destruction
- neogeo_mjctrl_ac_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
neogeo_mjctrl_ac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
protected:
+ neogeo_mjctrl_ac_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -67,8 +67,8 @@ private:
// device type definition
-extern const device_type NEOGEO_MJCTRL;
-extern const device_type NEOGEO_MJCTRL_AC;
+DECLARE_DEVICE_TYPE(NEOGEO_MJCTRL_AC, neogeo_mjctrl_ac_device)
+DECLARE_DEVICE_TYPE(NEOGEO_MJCTRL, neogeo_mjctrl_device)
-#endif
+#endif // MAME_BUS_NEOGEO_CTRL_MAHJONG_H
diff --git a/src/devices/bus/nes/2a03pur.cpp b/src/devices/bus/nes/2a03pur.cpp
index 8382814efe0..43ff34758e7 100644
--- a/src/devices/bus/nes/2a03pur.cpp
+++ b/src/devices/bus/nes/2a03pur.cpp
@@ -31,11 +31,11 @@
// constructor
//-------------------------------------------------
-const device_type NES_2A03PURITANS = device_creator<nes_2a03pur_device>;
+DEFINE_DEVICE_TYPE(NES_2A03PURITANS, nes_2a03pur_device, "nes_2a03pur", "NES Cart 2A03 Puritans Album PCB")
nes_2a03pur_device::nes_2a03pur_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_2A03PURITANS, "NES Cart 2A03 Puritans Album PCB", tag, owner, clock, "nes_2a03pur", __FILE__)
+ : nes_nrom_device(mconfig, NES_2A03PURITANS, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/2a03pur.h b/src/devices/bus/nes/2a03pur.h
index 755957c0f95..d17443d8963 100644
--- a/src/devices/bus/nes/2a03pur.h
+++ b/src/devices/bus/nes/2a03pur.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_2A03PUR_H
-#define __NES_2A03PUR_H
+#ifndef MAME_BUS_NES_2A03PUR_H
+#define MAME_BUS_NES_2A03PUR_H
+
+#pragma once
#include "nxrom.h"
@@ -14,13 +16,15 @@ public:
// construction/destruction
nes_2a03pur_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[8];
};
@@ -30,4 +34,4 @@ private:
// device type definition
extern const device_type NES_2A03PURITANS;
-#endif
+#endif // MAME_BUS_NES_2A03PUR_H
diff --git a/src/devices/bus/nes/act53.cpp b/src/devices/bus/nes/act53.cpp
index 6dce9e066c3..f163be268fd 100644
--- a/src/devices/bus/nes/act53.cpp
+++ b/src/devices/bus/nes/act53.cpp
@@ -29,13 +29,13 @@
// constructor
//-------------------------------------------------
-const device_type NES_ACTION53 = device_creator<nes_action53_device>;
+DEFINE_DEVICE_TYPE(NES_ACTION53, nes_action53_device, "nes_action53", "NES Cart Action 53 PCB")
nes_action53_device::nes_action53_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_ACTION53, "NES Cart Action 53 PCB", tag, owner, clock, "nes_action53", __FILE__),
- m_sel(0)
- {
+ : nes_nrom_device(mconfig, NES_ACTION53, tag, owner, clock)
+ , m_sel(0)
+{
}
diff --git a/src/devices/bus/nes/act53.h b/src/devices/bus/nes/act53.h
index 3d9c8d53155..1f299a5a5da 100644
--- a/src/devices/bus/nes/act53.h
+++ b/src/devices/bus/nes/act53.h
@@ -1,12 +1,12 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_ACTION53_H
-#define __NES_ACTION53_H
+#ifndef MAME_BUS_NES_ACT53_H
+#define MAME_BUS_NES_ACT53_H
#include "nxrom.h"
-// ======================> nes_racermate_device
+// ======================> nes_action53_device
class nes_action53_device : public nes_nrom_device
{
@@ -14,13 +14,15 @@ public:
// construction/destruction
nes_action53_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_prg();
void update_mirr();
@@ -28,11 +30,7 @@ private:
uint8_t m_reg[4];
};
-
-
-
-
// device type definition
-extern const device_type NES_ACTION53;
+DECLARE_DEVICE_TYPE(NES_ACTION53, nes_action53_device)
-#endif
+#endif // MAME_BUS_NES_ACT53_H
diff --git a/src/devices/bus/nes/aladdin.cpp b/src/devices/bus/nes/aladdin.cpp
index 1e30880c03f..30adbeca9a0 100644
--- a/src/devices/bus/nes/aladdin.cpp
+++ b/src/devices/bus/nes/aladdin.cpp
@@ -39,12 +39,12 @@
//-------------------------------------------------
aladdin_cart_interface::aladdin_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_rom(nullptr),
- m_rom_size(0),
- m_lobank(0),
- m_hibank(0),
- m_rom_mask(0xff)
+ : device_slot_card_interface(mconfig, device)
+ , m_rom(nullptr)
+ , m_rom_size(0)
+ , m_lobank(0)
+ , m_hibank(0)
+ , m_rom_mask(0xff)
{
}
@@ -64,12 +64,13 @@ READ8_MEMBER(aladdin_cart_interface::read)
// sub-cart slot device
//-------------------------------------------------
-const device_type NES_ALADDIN_SLOT = device_creator<nes_aladdin_slot_device>;
+DEFINE_DEVICE_TYPE(NES_ALADDIN_SLOT, nes_aladdin_slot_device, "nes_ade_slot", "NES Aladdin Deck Enhancer Cartridge Slot")
-nes_aladdin_slot_device::nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_ALADDIN_SLOT, "NES Aladdin Deck Enhancer Cartridge Slot", tag, owner, clock, "nes_ade_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this), m_cart(nullptr)
+nes_aladdin_slot_device::nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, NES_ALADDIN_SLOT, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , device_slot_interface(mconfig, *this)
+ , m_cart(nullptr)
{
}
@@ -172,24 +173,24 @@ ROM_START( ade_rom )
ROM_REGION(0x40000, "aderom", ROMREGION_ERASEFF)
ROM_END
-const device_type NES_ALGN_ROM = device_creator<nes_algn_rom_device>;
-const device_type NES_ALGQ_ROM = device_creator<nes_algq_rom_device>;
+DEFINE_DEVICE_TYPE(NES_ALGN_ROM, nes_algn_rom_device, "nes_algn_rom", "NES Aladdin Deck Enhancer ALGN ROM")
+DEFINE_DEVICE_TYPE(NES_ALGQ_ROM, nes_algq_rom_device, "nes_algq_rom", "NES Aladdin Deck Enhancer ALGQ ROM")
-nes_algn_rom_device::nes_algn_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- aladdin_cart_interface( mconfig, *this )
+nes_algn_rom_device::nes_algn_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , aladdin_cart_interface(mconfig, *this)
{
}
nes_algn_rom_device::nes_algn_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NES_ALGN_ROM, "NES Aladdin Deck Enhancer ALGN ROM", tag, owner, clock, "nes_algn_rom", __FILE__),
- aladdin_cart_interface( mconfig, *this )
+ : nes_algn_rom_device(mconfig, NES_ALGN_ROM, tag, owner, clock)
{
}
nes_algq_rom_device::nes_algq_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_algn_rom_device(mconfig, NES_ALGQ_ROM, "NES Aladdin Deck Enhancer ALGQ ROM", tag, owner, clock, "nes_algq_rom", __FILE__), m_bank_base(0)
- {
+ : nes_algn_rom_device(mconfig, NES_ALGQ_ROM, tag, owner, clock)
+ , m_bank_base(0)
+{
}
void nes_algn_rom_device::device_start()
@@ -260,11 +261,11 @@ void nes_algq_rom_device::write_prg(uint32_t offset, uint8_t data)
//
//-----------------------------------------------
-const device_type NES_ALADDIN = device_creator<nes_aladdin_device>;
+DEFINE_DEVICE_TYPE(NES_ALADDIN, nes_aladdin_device, "nes_aladdin", "NES Cart Camerica Aladdin PCB")
nes_aladdin_device::nes_aladdin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_ALADDIN, "NES Cart Camerica Aladdin PCB", tag, owner, clock, "nes_aladdin", __FILE__),
- m_subslot(*this, "ade_slot")
+ : nes_nrom_device(mconfig, NES_ALADDIN, tag, owner, clock)
+ , m_subslot(*this, "ade_slot")
{
}
diff --git a/src/devices/bus/nes/aladdin.h b/src/devices/bus/nes/aladdin.h
index 6384ec0f95a..80262b637d9 100644
--- a/src/devices/bus/nes/aladdin.h
+++ b/src/devices/bus/nes/aladdin.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_ALADDIN_H
-#define __NES_ALADDIN_H
+#ifndef MAME_BUS_NES_ALADDIN_H
+#define MAME_BUS_NES_ALADDIN_H
+
+#pragma once
#include "nxrom.h"
#include "softlist_dev.h"
@@ -19,7 +21,6 @@ class aladdin_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- aladdin_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~aladdin_cart_interface();
// reading and writing
@@ -30,6 +31,8 @@ public:
virtual void write_prg(uint32_t offset, uint8_t data) { }
protected:
+ aladdin_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -38,10 +41,13 @@ protected:
// ======================> nes_aladdin_slot_device
+class nes_aladdin_device;
+
class nes_aladdin_slot_device : public device_t,
public device_image_interface,
public device_slot_interface
{
+ friend class nes_aladdin_device;
public:
// construction/destruction
nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -69,11 +75,12 @@ public:
virtual DECLARE_READ8_MEMBER(read);
void write_prg(uint32_t offset, uint8_t data) { if (m_cart) m_cart->write_prg(offset, data); }
+protected:
aladdin_cart_interface* m_cart;
};
// device type definition
-extern const device_type NES_ALADDIN_SLOT;
+DECLARE_DEVICE_TYPE(NES_ALADDIN_SLOT, nes_aladdin_slot_device)
#define MCFG_ALADDIN_MINICART_ADD(_tag, _slot_intf) \
@@ -94,7 +101,6 @@ class nes_algn_rom_device : public device_t,
{
public:
// construction/destruction
- nes_algn_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_algn_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -103,6 +109,8 @@ public:
virtual void write_prg(uint32_t offset, uint8_t data) override;
protected:
+ nes_algn_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -129,8 +137,8 @@ protected:
};
// device type definition
-extern const device_type NES_ALGN_ROM;
-extern const device_type NES_ALGQ_ROM;
+DECLARE_DEVICE_TYPE(NES_ALGN_ROM, nes_algn_rom_device)
+DECLARE_DEVICE_TYPE(NES_ALGQ_ROM, nes_algq_rom_device)
//-----------------------------------------------
@@ -147,8 +155,6 @@ public:
// construction/destruction
nes_aladdin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
@@ -156,11 +162,14 @@ public:
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
required_device<nes_aladdin_slot_device> m_subslot;
};
// device type definition
-extern const device_type NES_ALADDIN;
+DECLARE_DEVICE_TYPE(NES_ALADDIN, nes_aladdin_device)
-#endif
+#endif // MAME_BUS_NES_ALADDIN_H
diff --git a/src/devices/bus/nes/ave.cpp b/src/devices/bus/nes/ave.cpp
index fcc757b7651..823d66e2e57 100644
--- a/src/devices/bus/nes/ave.cpp
+++ b/src/devices/bus/nes/ave.cpp
@@ -33,24 +33,24 @@
// constructor
//-------------------------------------------------
-const device_type NES_NINA001 = device_creator<nes_nina001_device>;
-const device_type NES_NINA006 = device_creator<nes_nina006_device>;
-const device_type NES_MAXI15 = device_creator<nes_maxi15_device>;
+DEFINE_DEVICE_TYPE(NES_NINA001, nes_nina001_device, "nes_nina001", "NES Cart AVE Nina-001 PCB")
+DEFINE_DEVICE_TYPE(NES_NINA006, nes_nina006_device, "nes_nina006", "NES Cart AVE Nina-006 PCB")
+DEFINE_DEVICE_TYPE(NES_MAXI15, nes_maxi15_device, "nes_maxi15", "NES Cart AVE Maxi 15 PCB")
nes_nina001_device::nes_nina001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NINA001, "NES Cart AVE Nina-001 PCB", tag, owner, clock, "nes_nina001", __FILE__)
+ : nes_nrom_device(mconfig, NES_NINA001, tag, owner, clock)
{
}
nes_nina006_device::nes_nina006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NINA006, "NES Cart AVE Nina-006 PCB", tag, owner, clock, "nes_nina006", __FILE__)
+ : nes_nrom_device(mconfig, NES_NINA006, tag, owner, clock)
{
}
nes_maxi15_device::nes_maxi15_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_MAXI15, "NES Cart AVE Maxi 15 PCB", tag, owner, clock, "nes_maxi15", __FILE__), m_reg(0), m_bank(0)
- {
+ : nes_nrom_device(mconfig, NES_MAXI15, tag, owner, clock), m_reg(0), m_bank(0)
+{
}
diff --git a/src/devices/bus/nes/ave.h b/src/devices/bus/nes/ave.h
index 7648cc7ce46..5fdd233b3c3 100644
--- a/src/devices/bus/nes/ave.h
+++ b/src/devices/bus/nes/ave.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_AVE_H
-#define __NES_AVE_H
+#ifndef MAME_BUS_NES_AVE_H
+#define MAME_BUS_NES_AVE_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_nina001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,11 +34,13 @@ public:
// construction/destruction
nes_nina006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -46,24 +52,25 @@ public:
// construction/destruction
nes_maxi15_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_banks();
+
uint8_t m_reg, m_bank;
};
-
-
// device type definition
-extern const device_type NES_NINA001;
-extern const device_type NES_NINA006;
-extern const device_type NES_MAXI15;
+DECLARE_DEVICE_TYPE(NES_NINA001, nes_nina001_device)
+DECLARE_DEVICE_TYPE(NES_NINA006, nes_nina006_device)
+DECLARE_DEVICE_TYPE(NES_MAXI15, nes_maxi15_device)
-#endif
+#endif // MAME_BUS_NES_AVE_H
diff --git a/src/devices/bus/nes/bandai.cpp b/src/devices/bus/nes/bandai.cpp
index e75b6401205..83ab401022b 100644
--- a/src/devices/bus/nes/bandai.cpp
+++ b/src/devices/bus/nes/bandai.cpp
@@ -17,7 +17,7 @@
* Bandai Datach Joint ROM System [mapper 157] is emulated in a separate source file
to implement also the subslot, but the PCB is basically a Bandai LZ93D50 + 24C02 EEPROM
- pcb with added barcode reader and subslot
+ PCB with added barcode reader and subslot
* Bandai Karaoke Studio [mapper 188] is emulated in a separate source file
to implement also the subslot and the mic inputs
@@ -50,58 +50,56 @@
// constructor
//-------------------------------------------------
-const device_type NES_OEKAKIDS = device_creator<nes_oekakids_device>;
-const device_type NES_FCG = device_creator<nes_fcg_device>;
-const device_type NES_LZ93D50 = device_creator<nes_lz93d50_device>;
-const device_type NES_LZ93D50_24C01 = device_creator<nes_lz93d50_24c01_device>;
-const device_type NES_LZ93D50_24C02 = device_creator<nes_lz93d50_24c02_device>;
-const device_type NES_FJUMP2 = device_creator<nes_fjump2_device>;
+DEFINE_DEVICE_TYPE(NES_OEKAKIDS, nes_oekakids_device, "nes_oeka", "NES Cart Bandai Oeka Kids PCB")
+DEFINE_DEVICE_TYPE(NES_FCG, nes_fcg_device, "nes_fcg", "NES Cart Bandai FCG PCB")
+DEFINE_DEVICE_TYPE(NES_LZ93D50, nes_lz93d50_device, "nes_lz93d50", "NES Cart Bandai LZ93D50 PCB")
+DEFINE_DEVICE_TYPE(NES_LZ93D50_24C01, nes_lz93d50_24c01_device, "nes_lz93d50_ep1", "NES Cart Bandai LZ93D50 + 24C01 PCB")
+DEFINE_DEVICE_TYPE(NES_LZ93D50_24C02, nes_lz93d50_24c02_device, "nes_lz93d50_ep2", "NES Cart Bandai LZ93D50 + 24C02 PCB")
+DEFINE_DEVICE_TYPE(NES_FJUMP2, nes_fjump2_device, "nes_fjump2", "NES Cart Bandai Famicom Jump II PCB")
nes_oekakids_device::nes_oekakids_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_OEKAKIDS, "NES Cart Bandai Oeka Kids PCB", tag, owner, clock, "nes_oeka", __FILE__), m_reg(0), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_OEKAKIDS, tag, owner, clock), m_reg(0), m_latch(0)
+{
}
-nes_fcg_device::nes_fcg_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+nes_fcg_device::nes_fcg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
nes_fcg_device::nes_fcg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_FCG, "NES Cart Bandai FCG PCB", tag, owner, clock, "nes_fcg", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_fcg_device(mconfig, NES_FCG, tag, owner, clock)
+{
}
-nes_lz93d50_device::nes_lz93d50_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_fcg_device(mconfig, type, name, tag, owner, clock, shortname, source)
+nes_lz93d50_device::nes_lz93d50_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_fcg_device(mconfig, type, tag, owner, clock)
{
}
nes_lz93d50_device::nes_lz93d50_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_fcg_device(mconfig, NES_LZ93D50, "NES Cart Bandai LZ93D50 PCB", tag, owner, clock, "nes_lz93d50", __FILE__)
+ : nes_lz93d50_device(mconfig, NES_LZ93D50, tag, owner, clock)
{
}
-nes_lz93d50_24c01_device::nes_lz93d50_24c01_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_lz93d50_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_i2cmem(*this, "i2cmem"), m_i2c_dir(0)
- {
+nes_lz93d50_24c01_device::nes_lz93d50_24c01_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_lz93d50_device(mconfig, type, tag, owner, clock), m_i2cmem(*this, "i2cmem"), m_i2c_dir(0)
+{
}
nes_lz93d50_24c01_device::nes_lz93d50_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_lz93d50_device(mconfig, NES_LZ93D50_24C01, "NES Cart Bandai LZ93D50 + 24C01 PCB", tag, owner, clock, "nes_lz93d50_ep1", __FILE__),
- m_i2cmem(*this, "i2cmem"), m_i2c_dir(0)
- {
+ : nes_lz93d50_24c01_device(mconfig, NES_LZ93D50_24C01, tag, owner, clock)
+{
}
nes_lz93d50_24c02_device::nes_lz93d50_24c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_lz93d50_24c01_device(mconfig, NES_LZ93D50_24C02, "NES Cart Bandai LZ93D50 + 24C02 PCB", tag, owner, clock, "nes_lz93d50_ep2", __FILE__)
+ : nes_lz93d50_24c01_device(mconfig, NES_LZ93D50_24C02, tag, owner, clock)
{
}
nes_fjump2_device::nes_fjump2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_lz93d50_device(mconfig, NES_FJUMP2, "NES Cart Bandai Famicom Jump II PCB", tag, owner, clock, "nes_fjump2", __FILE__)
+ : nes_lz93d50_device(mconfig, NES_FJUMP2, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/bandai.h b/src/devices/bus/nes/bandai.h
index 108c6fb96cc..17a1fed1b79 100644
--- a/src/devices/bus/nes/bandai.h
+++ b/src/devices/bus/nes/bandai.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_BANDAI_H
-#define __NES_BANDAI_H
+#ifndef MAME_BUS_NES_BANDAI_H
+#define MAME_BUS_NES_BANDAI_H
+
+#pragma once
#include "nxrom.h"
#include "machine/i2cmem.h"
@@ -15,8 +17,6 @@ public:
// construction/destruction
nes_oekakids_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual DECLARE_READ8_MEMBER(nt_r) override;
virtual DECLARE_WRITE8_MEMBER(nt_w) override;
@@ -26,8 +26,13 @@ public:
virtual void ppu_latch(offs_t offset) override;
// TODO: add oeka kids controller emulation
+
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
void update_chr();
+
uint8_t m_reg, m_latch;
};
@@ -38,11 +43,8 @@ class nes_fcg_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_fcg_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_fcg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(fcg_write);
virtual DECLARE_WRITE8_MEMBER(write_m) override;
@@ -50,10 +52,16 @@ public:
virtual void pcb_reset() override;
protected:
- uint16_t m_irq_count;
+ static constexpr device_timer_id TIMER_IRQ = 0;
+
+ nes_fcg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
+ uint16_t m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -64,11 +72,13 @@ class nes_lz93d50_device : public nes_fcg_device
{
public:
// construction/destruction
- nes_lz93d50_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_lz93d50_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual DECLARE_WRITE8_MEMBER(write_h) override { fcg_write(space, offset, data, mem_mask); }
+
+protected:
+ nes_lz93d50_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
@@ -78,17 +88,20 @@ class nes_lz93d50_24c01_device : public nes_lz93d50_device
{
public:
// construction/destruction
- nes_lz93d50_24c01_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_lz93d50_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ nes_lz93d50_24c01_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
// TODO: fix EEPROM I/O emulation
required_device<i2cmem_device> m_i2cmem;
uint8_t m_i2c_dir;
@@ -116,8 +129,6 @@ public:
// construction/destruction
nes_fjump2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
@@ -125,17 +136,20 @@ public:
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
void set_prg();
uint8_t m_reg[5];
};
// device type definition
-extern const device_type NES_OEKAKIDS;
-extern const device_type NES_FCG;
-extern const device_type NES_LZ93D50;
-extern const device_type NES_LZ93D50_24C01;
-extern const device_type NES_LZ93D50_24C02;
-extern const device_type NES_FJUMP2;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_OEKAKIDS, nes_oekakids_device)
+DECLARE_DEVICE_TYPE(NES_FCG, nes_fcg_device)
+DECLARE_DEVICE_TYPE(NES_LZ93D50, nes_lz93d50_device)
+DECLARE_DEVICE_TYPE(NES_LZ93D50_24C01, nes_lz93d50_24c01_device)
+DECLARE_DEVICE_TYPE(NES_LZ93D50_24C02, nes_lz93d50_24c02_device)
+DECLARE_DEVICE_TYPE(NES_FJUMP2, nes_fjump2_device)
+
+#endif // MAME_BUS_NES_BANDAI_H
diff --git a/src/devices/bus/nes/benshieng.cpp b/src/devices/bus/nes/benshieng.cpp
index 0d41c8b3ae0..921d7c5b56f 100644
--- a/src/devices/bus/nes/benshieng.cpp
+++ b/src/devices/bus/nes/benshieng.cpp
@@ -28,13 +28,13 @@
// constructor
//-------------------------------------------------
-const device_type NES_BENSHIENG = device_creator<nes_benshieng_device>;
+DEFINE_DEVICE_TYPE(NES_BENSHIENG, nes_benshieng_device, "nes_benshieng", "NES Cart Benshieng PCB")
nes_benshieng_device::nes_benshieng_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BENSHIENG, "NES Cart Benshieng PCB", tag, owner, clock, "nes_benshieng", __FILE__),
- m_dipsetting(0)
- {
+ : nes_nrom_device(mconfig, NES_BENSHIENG, tag, owner, clock)
+ , m_dipsetting(0)
+{
}
diff --git a/src/devices/bus/nes/benshieng.h b/src/devices/bus/nes/benshieng.h
index 1989c26ad15..2cf39af6cf7 100644
--- a/src/devices/bus/nes/benshieng.h
+++ b/src/devices/bus/nes/benshieng.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_BENSHIENG_H
-#define __NES_BENSHIENG_H
+#ifndef MAME_BUS_NES_BENSHIENG_H
+#define MAME_BUS_NES_BENSHIENG_H
+
+#pragma once
#include "nxrom.h"
@@ -14,12 +16,14 @@ public:
// construction/destruction
nes_benshieng_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_banks();
uint8_t m_dipsetting;
@@ -31,4 +35,4 @@ private:
// device type definition
extern const device_type NES_BENSHIENG;
-#endif
+#endif // MAME_BUS_NES_BENSHIENG_H
diff --git a/src/devices/bus/nes/bootleg.cpp b/src/devices/bus/nes/bootleg.cpp
index f38e92d8e97..d47699a8e57 100644
--- a/src/devices/bus/nes/bootleg.cpp
+++ b/src/devices/bus/nes/bootleg.cpp
@@ -22,7 +22,7 @@
#include "bootleg.h"
#include "cpu/m6502/m6502.h"
-#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access PPU_BOTTOM_VISIBLE_SCANLINE
+#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
#include "screen.h"
@@ -39,131 +39,131 @@
// constructor
//-------------------------------------------------
-const device_type NES_AX5705 = device_creator<nes_ax5705_device>;
-const device_type NES_SC127 = device_creator<nes_sc127_device>;
-const device_type NES_MARIOBABY = device_creator<nes_mbaby_device>;
-const device_type NES_ASN = device_creator<nes_asn_device>;
-const device_type NES_SMB3PIRATE = device_creator<nes_smb3p_device>;
-const device_type NES_BTL_DNINJA = device_creator<nes_btl_dn_device>;
-const device_type NES_WHIRLWIND_2706 = device_creator<nes_whirl2706_device>;
-const device_type NES_SMB2J = device_creator<nes_smb2j_device>;
-const device_type NES_SMB2JA = device_creator<nes_smb2ja_device>;
-const device_type NES_SMB2JB = device_creator<nes_smb2jb_device>;
-const device_type NES_09034A = device_creator<nes_09034a_device>;
-const device_type NES_TOBIDASE = device_creator<nes_tobidase_device>;
-const device_type NES_LH32 = device_creator<nes_lh32_device>;
-const device_type NES_LH10 = device_creator<nes_lh10_device>;
-const device_type NES_LH53 = device_creator<nes_lh53_device>;
-const device_type NES_2708 = device_creator<nes_2708_device>;
-const device_type NES_AC08 = device_creator<nes_ac08_device>;
-const device_type NES_UNL_BB = device_creator<nes_unl_bb_device>;
-const device_type NES_MMALEE = device_creator<nes_mmalee_device>;
-const device_type NES_SHUIGUAN = device_creator<nes_shuiguan_device>;
-const device_type NES_RT01 = device_creator<nes_rt01_device>;
+DEFINE_DEVICE_TYPE(NES_AX5705, nes_ax5705_device, "nes_ax5705", "NES Cart AX5705 PCB")
+DEFINE_DEVICE_TYPE(NES_SC127, nes_sc127_device, "nes_sc127", "NES Cart SC-127 PCB")
+DEFINE_DEVICE_TYPE(NES_MARIOBABY, nes_mbaby_device, "nes_mbaby", "NES Cart Mario Baby Bootleg PCB")
+DEFINE_DEVICE_TYPE(NES_ASN, nes_asn_device, "nes_asn", "NES Cart Ai Senshi Nicol Bootleg PCB")
+DEFINE_DEVICE_TYPE(NES_SMB3PIRATE, nes_smb3p_device, "nes_smb3p", "NES Cart Super Mario Bros. 3 Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_BTL_DNINJA, nes_btl_dn_device, "nes_btl_dn", "NES Cart DragonNinja Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_WHIRLWIND_2706, nes_whirl2706_device, "nes_whirl2706", "NES Cart Whilwind 2706 PCB")
+DEFINE_DEVICE_TYPE(NES_SMB2J, nes_smb2j_device, "nes_smb2j", "NES Cart Super Mario Bros. 2 Jpn PCB")
+DEFINE_DEVICE_TYPE(NES_SMB2JA, nes_smb2ja_device, "nes_smb2ja", "NES Cart Super Mario Bros. 2 Jpn (Alt) PCB")
+DEFINE_DEVICE_TYPE(NES_SMB2JB, nes_smb2jb_device, "nes_smb2jb", "NES Cart Super Mario Bros. 2 Jpn (Alt 2) PCB")
+DEFINE_DEVICE_TYPE(NES_09034A, nes_09034a_device, "nes_09034a", "NES Cart 09-034A PCB")
+DEFINE_DEVICE_TYPE(NES_TOBIDASE, nes_tobidase_device, "nes_tobidase", "NES Cart Tobidase Daisakusen Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_LH32, nes_lh32_device, "nes_lh32", "NES Cart LH-32 Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_LH10, nes_lh10_device, "nes_lh10", "NES Cart LH-10 Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_LH53, nes_lh53_device, "nes_lh53", "NES Cart LH-53 Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_2708, nes_2708_device, "nes_2708", "NES Cart BTL-2708 Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_AC08, nes_ac08_device, "nes_ac08", "NES Cart AC08 Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_UNL_BB, nes_unl_bb_device, "nes_unl_bb", "NES Cart FDS+CHR Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_MMALEE, nes_mmalee_device, "nes_mmalee", "NES Cart Super Mario Bros. Malee 2 Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_SHUIGUAN, nes_shuiguan_device, "nes_shuiguan", "NES Cart Shui Guan Pipe Pirate PCB")
+DEFINE_DEVICE_TYPE(NES_RT01, nes_rt01_device, "nes_rt01", "NES Cart RT-01 PCB")
nes_ax5705_device::nes_ax5705_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_AX5705, "NES Cart AX5705 PCB", tag, owner, clock, "nes_ax5705", __FILE__)
+ : nes_nrom_device(mconfig, NES_AX5705, tag, owner, clock)
{
}
nes_sc127_device::nes_sc127_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SC127, "NES Cart SC-127 PCB", tag, owner, clock, "nes_sc127", __FILE__), m_irq_count(0), m_irq_enable(0)
- {
+ : nes_nrom_device(mconfig, NES_SC127, tag, owner, clock), m_irq_count(0), m_irq_enable(0)
+{
}
nes_mbaby_device::nes_mbaby_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_MARIOBABY, "NES Cart Mario Baby Bootleg PCB", tag, owner, clock, "nes_mbaby", __FILE__), m_latch(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_MARIOBABY, tag, owner, clock), m_latch(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
nes_asn_device::nes_asn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_ASN, "NES Cart Ai Senshi Nicol Bootleg PCB", tag, owner, clock, "nes_asn", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_ASN, tag, owner, clock), m_latch(0)
+{
}
nes_smb3p_device::nes_smb3p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SMB3PIRATE, "NES Cart Super Mario Bros. 3 Pirate PCB", tag, owner, clock, "nes_smb3p", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_SMB3PIRATE, tag, owner, clock), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
nes_btl_dn_device::nes_btl_dn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BTL_DNINJA, "NES Cart DragonNinja Pirate PCB", tag, owner, clock, "nes_btl_dn", __FILE__), m_irq_count(0)
- {
+ : nes_nrom_device(mconfig, NES_BTL_DNINJA, tag, owner, clock), m_irq_count(0)
+{
}
nes_whirl2706_device::nes_whirl2706_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_WHIRLWIND_2706, "NES Cart Whirlwind 2706 PCB", tag, owner, clock, "nes_whirl2706", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_WHIRLWIND_2706, tag, owner, clock), m_latch(0)
+{
}
nes_smb2j_device::nes_smb2j_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SMB2J, "NES Cart Super Mario Bros. 2 Jpn PCB", tag, owner, clock, "nes_smb2j", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_SMB2J, tag, owner, clock), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
nes_smb2ja_device::nes_smb2ja_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SMB2JA, "NES Cart Super Mario Bros. 2 Jpn (Alt) PCB", tag, owner, clock, "nes_smb2ja", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_SMB2JA, tag, owner, clock), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
nes_smb2jb_device::nes_smb2jb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SMB2JB, "NES Cart Super Mario Bros. 2 Jpn (Alt 2) PCB", tag, owner, clock, "nes_smb2jb", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_SMB2JB, tag, owner, clock), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
nes_09034a_device::nes_09034a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_09034A, "NES Cart 09-034A PCB", tag, owner, clock, "nes_09034a", __FILE__), m_reg(0)
- {
+ : nes_nrom_device(mconfig, NES_09034A, tag, owner, clock), m_reg(0)
+{
}
nes_tobidase_device::nes_tobidase_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TOBIDASE, "NES Cart Tobidase Daisakusen Pirate PCB", tag, owner, clock, "nes_tobidase", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_TOBIDASE, tag, owner, clock), m_latch(0)
+{
}
nes_lh32_device::nes_lh32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_LH32, "NES Cart LH-32 Pirate PCB", tag, owner, clock, "nes_lh32", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_LH32, tag, owner, clock), m_latch(0)
+{
}
nes_lh10_device::nes_lh10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_LH10, "NES Cart LH-10 Pirate PCB", tag, owner, clock, "nes_lh10", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_LH10, tag, owner, clock), m_latch(0)
+{
}
nes_lh53_device::nes_lh53_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_LH53, "NES Cart LH-53 Pirate PCB", tag, owner, clock, "nes_lh53", __FILE__), m_irq_count(0), m_irq_enable(0), m_reg(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_LH53, tag, owner, clock), m_irq_count(0), m_irq_enable(0), m_reg(0), irq_timer(nullptr)
+{
}
nes_2708_device::nes_2708_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_2708, "NES Cart BTL-2708 Pirate PCB", tag, owner, clock, "nes_2708", __FILE__)
+ : nes_nrom_device(mconfig, NES_2708, tag, owner, clock)
{
}
nes_ac08_device::nes_ac08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_AC08, "NES Cart AC08 Pirate PCB", tag, owner, clock, "nes_ac08", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_AC08, tag, owner, clock), m_latch(0)
+{
}
nes_unl_bb_device::nes_unl_bb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_UNL_BB, "NES Cart FDS+CHR Pirate PCB", tag, owner, clock, "nes_unl_bb", __FILE__)
+ : nes_nrom_device(mconfig, NES_UNL_BB, tag, owner, clock)
{
}
nes_mmalee_device::nes_mmalee_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_MMALEE, "NES Cart Super Mario Bros. Malee 2 Pirate PCB", tag, owner, clock, "nes_mmalee", __FILE__)
+ : nes_nrom_device(mconfig, NES_MMALEE, tag, owner, clock)
{
}
nes_shuiguan_device::nes_shuiguan_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SHUIGUAN, "NES Cart Shui Guan Pipe Pirate PCB", tag, owner, clock, "nes_shuiguan", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
+ : nes_nrom_device(mconfig, NES_SHUIGUAN, tag, owner, clock), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
{
}
nes_rt01_device::nes_rt01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_RT01, "NES Cart RT-01 PCB", tag, owner, clock, "nes_rt01", __FILE__)
+ : nes_nrom_device(mconfig, NES_RT01, tag, owner, clock)
{
}
@@ -640,7 +640,7 @@ WRITE8_MEMBER(nes_ax5705_device::write_h)
void nes_sc127_device::hblank_irq(int scanline, int vblank, int blanked)
{
- if (scanline < PPU_BOTTOM_VISIBLE_SCANLINE && m_irq_enable)
+ if (scanline < ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE && m_irq_enable)
{
m_irq_count--;
diff --git a/src/devices/bus/nes/bootleg.h b/src/devices/bus/nes/bootleg.h
index 5e2457d2fef..a048f0955d4 100644
--- a/src/devices/bus/nes/bootleg.h
+++ b/src/devices/bus/nes/bootleg.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_BTL_H
-#define __NES_BTL_H
+#ifndef MAME_BUS_NES_BOOTLEG_H
+#define MAME_BUS_NES_BOOTLEG_H
#include "nxrom.h"
@@ -14,12 +14,14 @@ public:
// construction/destruction
nes_ax5705_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void set_prg();
uint8_t m_mmc_prg_bank[2];
@@ -34,14 +36,15 @@ class nes_sc127_device : public nes_nrom_device
public:
// construction/destruction
nes_sc127_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count;
int m_irq_enable;
@@ -55,20 +58,22 @@ class nes_mbaby_device : public nes_nrom_device
public:
// construction/destruction
nes_mbaby_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
+ static constexpr device_timer_id TIMER_IRQ = 0;
+
uint8_t m_latch;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
attotime timer_freq;
};
@@ -82,13 +87,15 @@ public:
// construction/destruction
nes_asn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -102,13 +109,15 @@ public:
// construction/destruction
nes_smb3p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
uint16_t m_irq_count;
int m_irq_enable;
@@ -125,14 +134,15 @@ class nes_btl_dn_device : public nes_nrom_device
public:
// construction/destruction
nes_btl_dn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count;
};
@@ -146,13 +156,15 @@ public:
// construction/destruction
nes_whirl2706_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -166,9 +178,6 @@ public:
// construction/destruction
nes_smb2j_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_ex) override;
@@ -177,6 +186,11 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
uint16_t m_irq_count;
int m_irq_enable;
@@ -193,15 +207,16 @@ class nes_smb2ja_device : public nes_nrom_device
public:
// construction/destruction
nes_smb2ja_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
uint16_t m_irq_count;
int m_irq_enable;
@@ -218,16 +233,17 @@ class nes_smb2jb_device : public nes_nrom_device
public:
// construction/destruction
nes_smb2jb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_ex) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
uint16_t m_irq_count;
int m_irq_enable;
@@ -245,13 +261,15 @@ public:
// construction/destruction
nes_09034a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_ex) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
};
@@ -265,13 +283,15 @@ public:
// construction/destruction
nes_tobidase_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -285,8 +305,6 @@ public:
// construction/destruction
nes_lh32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
@@ -294,6 +312,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -307,14 +329,16 @@ public:
// construction/destruction
nes_lh10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_prg();
uint8_t m_latch;
@@ -330,9 +354,6 @@ public:
// construction/destruction
nes_lh53_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override {}
@@ -340,6 +361,11 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
uint16_t m_irq_count;
int m_irq_enable;
@@ -359,8 +385,6 @@ public:
// construction/destruction
nes_2708_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
@@ -368,6 +392,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[2];
};
@@ -380,14 +408,16 @@ public:
// nes_ac08_device/destruction
nes_ac08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_ex) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -399,14 +429,15 @@ class nes_unl_bb_device : public nes_nrom_device
public:
// construction/destruction
nes_unl_bb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[2];
};
@@ -419,12 +450,14 @@ public:
// construction/destruction
nes_mmalee_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
// ======================> nes_shuiguan_device
@@ -435,14 +468,16 @@ public:
// construction/destruction
nes_shuiguan_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
uint16_t m_irq_count;
int m_irq_enable;
@@ -461,37 +496,39 @@ public:
// construction/destruction
nes_rt01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
// device type definition
-extern const device_type NES_AX5705;
-extern const device_type NES_SC127;
-extern const device_type NES_MARIOBABY;
-extern const device_type NES_ASN;
-extern const device_type NES_SMB3PIRATE;
-extern const device_type NES_BTL_DNINJA;
-extern const device_type NES_WHIRLWIND_2706;
-extern const device_type NES_SMB2J;
-extern const device_type NES_SMB2JA;
-extern const device_type NES_SMB2JB;
-extern const device_type NES_09034A;
-extern const device_type NES_TOBIDASE;
-extern const device_type NES_LH32;
-extern const device_type NES_LH10;
-extern const device_type NES_LH53;
-extern const device_type NES_2708;
-extern const device_type NES_AC08;
-extern const device_type NES_UNL_BB;
-extern const device_type NES_MMALEE;
-extern const device_type NES_SHUIGUAN;
-extern const device_type NES_RT01;
-
-
-#endif
+DECLARE_DEVICE_TYPE(NES_AX5705, nes_ax5705_device)
+DECLARE_DEVICE_TYPE(NES_SC127, nes_sc127_device)
+DECLARE_DEVICE_TYPE(NES_MARIOBABY, nes_mbaby_device)
+DECLARE_DEVICE_TYPE(NES_ASN, nes_asn_device)
+DECLARE_DEVICE_TYPE(NES_SMB3PIRATE, nes_smb3p_device)
+DECLARE_DEVICE_TYPE(NES_BTL_DNINJA, nes_btl_dn_device)
+DECLARE_DEVICE_TYPE(NES_WHIRLWIND_2706, nes_whirl2706_device)
+DECLARE_DEVICE_TYPE(NES_SMB2J, nes_smb2j_device)
+DECLARE_DEVICE_TYPE(NES_SMB2JA, nes_smb2ja_device)
+DECLARE_DEVICE_TYPE(NES_SMB2JB, nes_smb2jb_device)
+DECLARE_DEVICE_TYPE(NES_09034A, nes_09034a_device)
+DECLARE_DEVICE_TYPE(NES_TOBIDASE, nes_tobidase_device)
+DECLARE_DEVICE_TYPE(NES_LH32, nes_lh32_device)
+DECLARE_DEVICE_TYPE(NES_LH10, nes_lh10_device)
+DECLARE_DEVICE_TYPE(NES_LH53, nes_lh53_device)
+DECLARE_DEVICE_TYPE(NES_2708, nes_2708_device)
+DECLARE_DEVICE_TYPE(NES_AC08, nes_ac08_device)
+DECLARE_DEVICE_TYPE(NES_UNL_BB, nes_unl_bb_device)
+DECLARE_DEVICE_TYPE(NES_MMALEE, nes_mmalee_device)
+DECLARE_DEVICE_TYPE(NES_SHUIGUAN, nes_shuiguan_device)
+DECLARE_DEVICE_TYPE(NES_RT01, nes_rt01_device)
+
+
+#endif // MAME_BUS_NES_BOOTLEG_H
diff --git a/src/devices/bus/nes/camerica.cpp b/src/devices/bus/nes/camerica.cpp
index ca4e31bc11f..7b9d413f6c9 100644
--- a/src/devices/bus/nes/camerica.cpp
+++ b/src/devices/bus/nes/camerica.cpp
@@ -41,24 +41,24 @@
// constructor
//-------------------------------------------------
-const device_type NES_BF9093 = device_creator<nes_bf9093_device>;
-const device_type NES_BF9096 = device_creator<nes_bf9096_device>;
-const device_type NES_GOLDEN5 = device_creator<nes_golden5_device>;
+DEFINE_DEVICE_TYPE(NES_BF9093, nes_bf9093_device, "nes_bf9093", "NES Cart Camerica BF9093 PCB")
+DEFINE_DEVICE_TYPE(NES_BF9096, nes_bf9096_device, "nes_bf9096", "NES Cart Camerica BF9096 PCB")
+DEFINE_DEVICE_TYPE(NES_GOLDEN5, nes_golden5_device, "nes_golden5", "NES Cart Camerica Golden 5 PCB")
nes_bf9093_device::nes_bf9093_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BF9093, "NES Cart Camerica BF9093 PCB", tag, owner, clock, "nes_bf9093", __FILE__)
+ : nes_nrom_device(mconfig, NES_BF9093, tag, owner, clock)
{
}
nes_bf9096_device::nes_bf9096_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BF9096, "NES Cart Camerica BF9096 PCB", tag, owner, clock, "nes_bf9096", __FILE__), m_bank_base(0), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_BF9096, tag, owner, clock), m_bank_base(0), m_latch(0)
+{
}
nes_golden5_device::nes_golden5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_GOLDEN5, "NES Cart Camerica Golden 5 PCB", tag, owner, clock, "nes_golden5", __FILE__), m_bank_base(0), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_GOLDEN5, tag, owner, clock), m_bank_base(0), m_latch(0)
+{
}
diff --git a/src/devices/bus/nes/camerica.h b/src/devices/bus/nes/camerica.h
index ba3b103b0d5..b7a4782c342 100644
--- a/src/devices/bus/nes/camerica.h
+++ b/src/devices/bus/nes/camerica.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_CAMERICA_H
-#define __NES_CAMERICA_H
+#ifndef MAME_BUS_NES_CAMERICA_H
+#define MAME_BUS_NES_CAMERICA_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_bf9093_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,13 +34,15 @@ public:
// construction/destruction
nes_bf9096_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override { write_h(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_bank_base, m_latch;
};
@@ -50,23 +56,22 @@ public:
// construction/destruction
nes_golden5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_bank_base, m_latch;
};
-
-
-
// device type definition
-extern const device_type NES_BF9093;
-extern const device_type NES_BF9096;
-extern const device_type NES_GOLDEN5;
+DECLARE_DEVICE_TYPE(NES_BF9093, nes_bf9093_device)
+DECLARE_DEVICE_TYPE(NES_BF9096, nes_bf9096_device)
+DECLARE_DEVICE_TYPE(NES_GOLDEN5, nes_golden5_device)
-#endif
+#endif // MAME_BUS_NES_CAMERICA_H
diff --git a/src/devices/bus/nes/cne.cpp b/src/devices/bus/nes/cne.cpp
index 616814bbdc2..1f0ad793937 100644
--- a/src/devices/bus/nes/cne.cpp
+++ b/src/devices/bus/nes/cne.cpp
@@ -32,23 +32,23 @@
// constructor
//-------------------------------------------------
-const device_type NES_CNE_DECATHL = device_creator<nes_cne_decathl_device>;
-const device_type NES_CNE_FSB = device_creator<nes_cne_fsb_device>;
-const device_type NES_CNE_SHLZ = device_creator<nes_cne_shlz_device>;
+DEFINE_DEVICE_TYPE(NES_CNE_DECATHL, nes_cne_decathl_device, "nes_cne_deca", "NES Cart C&E Decathlon PCB")
+DEFINE_DEVICE_TYPE(NES_CNE_FSB, nes_cne_fsb_device, "nes_cne_fsb", "NES Cart C&E Feng Shen Bang PCB")
+DEFINE_DEVICE_TYPE(NES_CNE_SHLZ, nes_cne_shlz_device, "nes_cne_shlz", "NES Cart C&E Sheng Huo Lie Zhuan PCB")
nes_cne_decathl_device::nes_cne_decathl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_CNE_DECATHL, "NES Cart C&E Decathlon PCB", tag, owner, clock, "nes_cne_deca", __FILE__)
+ : nes_nrom_device(mconfig, NES_CNE_DECATHL, tag, owner, clock)
{
}
nes_cne_fsb_device::nes_cne_fsb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_CNE_FSB, "NES Cart C&E Feng Shen Bang PCB", tag, owner, clock, "nes_cne_fsb", __FILE__)
+ : nes_nrom_device(mconfig, NES_CNE_FSB, tag, owner, clock)
{
}
nes_cne_shlz_device::nes_cne_shlz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_CNE_SHLZ, "NES Cart C&E Sheng Huo Lie Zhuan PCB", tag, owner, clock, "nes_cne_shlz", __FILE__)
+ : nes_nrom_device(mconfig, NES_CNE_SHLZ, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/cne.h b/src/devices/bus/nes/cne.h
index 558067f2862..d5e117c791a 100644
--- a/src/devices/bus/nes/cne.h
+++ b/src/devices/bus/nes/cne.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_CNE_H
-#define __NES_CNE_H
+#ifndef MAME_BUS_NES_CNE_H
+#define MAME_BUS_NES_CNE_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_cne_decathl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,12 +34,14 @@ public:
// construction/destruction
nes_cne_fsb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -47,20 +53,19 @@ public:
// construction/destruction
nes_cne_shlz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
-};
-
-
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+};
// device type definition
-extern const device_type NES_CNE_DECATHL;
-extern const device_type NES_CNE_FSB;
-extern const device_type NES_CNE_SHLZ;
+DECLARE_DEVICE_TYPE(NES_CNE_DECATHL, nes_cne_decathl_device)
+DECLARE_DEVICE_TYPE(NES_CNE_FSB, nes_cne_fsb_device)
+DECLARE_DEVICE_TYPE(NES_CNE_SHLZ, nes_cne_shlz_device)
-#endif
+#endif // MAME_BUS_NES_CNE_H
diff --git a/src/devices/bus/nes/cony.cpp b/src/devices/bus/nes/cony.cpp
index 3dbb66a7fb0..552941a6ac9 100644
--- a/src/devices/bus/nes/cony.cpp
+++ b/src/devices/bus/nes/cony.cpp
@@ -35,29 +35,29 @@
// constructor
//-------------------------------------------------
-const device_type NES_CONY = device_creator<nes_cony_device>;
-const device_type NES_YOKO = device_creator<nes_yoko_device>;
-
-
-nes_cony_device::nes_cony_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_irq_count(0),
- m_irq_enable(0),
- irq_timer(nullptr),
- m_latch1(0),
- m_latch2(0),
- m_extra1(0)
- {
+DEFINE_DEVICE_TYPE(NES_CONY, nes_cony_device, "nes_cony", "NES Cart Cony PCB")
+DEFINE_DEVICE_TYPE(NES_YOKO, nes_yoko_device, "nes_yoko", "NES Cart Yoko PCB")
+
+
+nes_cony_device::nes_cony_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock)
+ , m_irq_count(0)
+ , m_irq_enable(0)
+ , irq_timer(nullptr)
+ , m_latch1(0)
+ , m_latch2(0)
+ , m_extra1(0)
+{
}
nes_cony_device::nes_cony_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_CONY, "NES Cart Cony PCB", tag, owner, clock, "nes_cony", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr), m_latch1(0), m_latch2(0), m_extra1(0)
- {
+ : nes_cony_device(mconfig, NES_CONY, tag, owner, clock)
+{
}
nes_yoko_device::nes_yoko_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_cony_device(mconfig, NES_YOKO, "NES Cart Yoko PCB", tag, owner, clock, "nes_yoko", __FILE__), m_extra2(0)
- {
+ : nes_cony_device(mconfig, NES_YOKO, tag, owner, clock), m_extra2(0)
+{
}
diff --git a/src/devices/bus/nes/cony.h b/src/devices/bus/nes/cony.h
index 406952b69cb..b7b759a7fe1 100644
--- a/src/devices/bus/nes/cony.h
+++ b/src/devices/bus/nes/cony.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_CONY_H
-#define __NES_CONY_H
+#ifndef MAME_BUS_NES_CONY_H
+#define MAME_BUS_NES_CONY_H
+
+#pragma once
#include "nxrom.h"
@@ -12,12 +14,8 @@ class nes_cony_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_cony_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_cony_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
@@ -25,13 +23,20 @@ public:
virtual void pcb_reset() override;
protected:
+ static constexpr device_timer_id TIMER_IRQ = 0;
+
+ nes_cony_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
virtual void set_prg();
virtual void set_chr();
uint16_t m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
uint8_t m_latch1, m_latch2;
@@ -49,14 +54,16 @@ public:
// construction/destruction
nes_yoko_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
virtual void set_prg() override;
virtual void set_chr() override;
@@ -65,11 +72,8 @@ private:
};
-
-
-
// device type definition
-extern const device_type NES_CONY;
-extern const device_type NES_YOKO;
+DECLARE_DEVICE_TYPE(NES_CONY, nes_cony_device)
+DECLARE_DEVICE_TYPE(NES_YOKO, nes_yoko_device)
-#endif
+#endif // MAME_BUS_NES_CONY_H
diff --git a/src/devices/bus/nes/datach.cpp b/src/devices/bus/nes/datach.cpp
index e0cbe5ffbeb..d1600ec8fb2 100644
--- a/src/devices/bus/nes/datach.cpp
+++ b/src/devices/bus/nes/datach.cpp
@@ -43,10 +43,10 @@
//-------------------------------------------------
datach_cart_interface::datach_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_i2cmem(*this, "i2cmem"),
- m_rom(nullptr), m_bank(0)
- {
+ : device_slot_card_interface(mconfig, device)
+ , m_i2cmem(*this, "i2cmem")
+ , m_rom(nullptr), m_bank(0)
+{
}
datach_cart_interface::~datach_cart_interface()
@@ -65,12 +65,13 @@ READ8_MEMBER(datach_cart_interface::read)
// sub-cart slot device
//-------------------------------------------------
-const device_type NES_DATACH_SLOT = device_creator<nes_datach_slot_device>;
+DEFINE_DEVICE_TYPE(NES_DATACH_SLOT, nes_datach_slot_device, "nes_datach_slot", "NES Datach Cartridge Slot")
-nes_datach_slot_device::nes_datach_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_DATACH_SLOT, "NES Datach Cartridge Slot", tag, owner, clock, "nes_datach_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this), m_cart(nullptr)
+nes_datach_slot_device::nes_datach_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, NES_DATACH_SLOT, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , device_slot_interface(mconfig, *this)
+ , m_cart(nullptr)
{
}
@@ -159,23 +160,22 @@ ROM_START( datach_rom )
ROM_REGION(0x40000, "datachrom", ROMREGION_ERASEFF)
ROM_END
-const device_type NES_DATACH_ROM = device_creator<nes_datach_rom_device>;
-const device_type NES_DATACH_24C01 = device_creator<nes_datach_24c01_device>;
+DEFINE_DEVICE_TYPE(NES_DATACH_ROM, nes_datach_rom_device, "nes_datach_rom", "NES Datach ROM")
+DEFINE_DEVICE_TYPE(NES_DATACH_24C01, nes_datach_24c01_device, "nes_datach_ep1", "NES Datach + 24C01 PCB")
-nes_datach_rom_device::nes_datach_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- datach_cart_interface( mconfig, *this )
+nes_datach_rom_device::nes_datach_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , datach_cart_interface(mconfig, *this)
{
}
nes_datach_rom_device::nes_datach_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NES_DATACH_ROM, "NES Datach ROM", tag, owner, clock, "nes_datach_rom", __FILE__),
- datach_cart_interface( mconfig, *this )
+ : nes_datach_rom_device(mconfig, NES_DATACH_ROM, tag, owner, clock)
{
}
nes_datach_24c01_device::nes_datach_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_datach_rom_device(mconfig, NES_DATACH_24C01, "NES Datach + 24C01 PCB", tag, owner, clock, "nes_datach_ep1", __FILE__)
+ : nes_datach_rom_device(mconfig, NES_DATACH_24C01, tag, owner, clock)
{
}
@@ -218,15 +218,18 @@ machine_config_constructor nes_datach_24c01_device::device_mconfig_additions() c
//
//---------------------------------
-const device_type NES_DATACH = device_creator<nes_datach_device>;
+DEFINE_DEVICE_TYPE(NES_DATACH, nes_datach_device, "nes_datach", "NES Cart Bandai Datach PCB")
nes_datach_device::nes_datach_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_lz93d50_device(mconfig, NES_DATACH, "NES Cart Bandai Datach PCB", tag, owner, clock, "nes_datach", __FILE__), m_datach_latch(0),
- m_i2cmem(*this, "i2cmem"),
- m_reader(*this, "datach"),
- m_subslot(*this, "datach_slot"), m_i2c_dir(0), m_i2c_in_use(0), serial_timer(nullptr)
- {
+ : nes_lz93d50_device(mconfig, NES_DATACH, tag, owner, clock)
+ , m_datach_latch(0)
+ , m_i2cmem(*this, "i2cmem")
+ , m_reader(*this, "datach")
+ , m_subslot(*this, "datach_slot")
+ , m_i2c_dir(0), m_i2c_in_use(0)
+ , serial_timer(nullptr)
+{
}
diff --git a/src/devices/bus/nes/datach.h b/src/devices/bus/nes/datach.h
index 404b86732da..17a3ece97e8 100644
--- a/src/devices/bus/nes/datach.h
+++ b/src/devices/bus/nes/datach.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_DATACH_H
-#define __NES_DATACH_H
+#ifndef MAME_BUS_NES_DATACH_H
+#define MAME_BUS_NES_DATACH_H
+
+#pragma once
#include "bandai.h"
#include "softlist_dev.h"
@@ -20,7 +22,6 @@ class datach_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- datach_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~datach_cart_interface();
// reading and writing
@@ -29,9 +30,11 @@ public:
uint8_t *get_cart_base() { return m_rom; }
void write_prg_bank(uint8_t bank) { m_bank = bank; }
+protected:
+ datach_cart_interface(const machine_config &mconfig, device_t &device);
+
optional_device<i2cmem_device> m_i2cmem;
-protected:
// internal state
uint8_t *m_rom;
// ROM is accessed via two 16K banks, but only the first one can be switched
@@ -40,10 +43,13 @@ protected:
// ======================> nes_datach_slot_device
+class nes_datach_device;
+
class nes_datach_slot_device : public device_t,
public device_image_interface,
public device_slot_interface
{
+ friend class nes_datach_device;
public:
// construction/destruction
nes_datach_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -71,11 +77,12 @@ public:
virtual DECLARE_READ8_MEMBER(read);
void write_prg_bank(uint8_t bank) { if (m_cart) m_cart->write_prg_bank(bank); }
+protected:
datach_cart_interface* m_cart;
};
// device type definition
-extern const device_type NES_DATACH_SLOT;
+DECLARE_DEVICE_TYPE(NES_DATACH_SLOT, nes_datach_slot_device)
#define MCFG_DATACH_MINICART_ADD(_tag, _slot_intf) \
@@ -91,12 +98,10 @@ extern const device_type NES_DATACH_SLOT;
// ======================> nes_datach_rom_device
-class nes_datach_rom_device : public device_t,
- public datach_cart_interface
+class nes_datach_rom_device : public device_t, public datach_cart_interface
{
public:
// construction/destruction
- nes_datach_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_datach_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -104,6 +109,8 @@ public:
virtual uint8_t* get_cart_base();
protected:
+ nes_datach_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -122,8 +129,8 @@ public:
};
// device type definition
-extern const device_type NES_DATACH_ROM;
-extern const device_type NES_DATACH_24C01;
+DECLARE_DEVICE_TYPE(NES_DATACH_ROM, nes_datach_rom_device)
+DECLARE_DEVICE_TYPE(NES_DATACH_24C01, nes_datach_24c01_device)
//---------------------------------
@@ -164,6 +171,6 @@ protected:
// device type definition
-extern const device_type NES_DATACH;
+DECLARE_DEVICE_TYPE(NES_DATACH, nes_datach_device)
-#endif
+#endif // MAME_BUS_NES_DATACH_H
diff --git a/src/devices/bus/nes/discrete.cpp b/src/devices/bus/nes/discrete.cpp
index 99751d689a1..2e1f6a4c81b 100644
--- a/src/devices/bus/nes/discrete.cpp
+++ b/src/devices/bus/nes/discrete.cpp
@@ -35,29 +35,29 @@
// constructor
//-------------------------------------------------
-const device_type NES_74X161X161X32 = device_creator<nes_74x161x161x32_device>;
-const device_type NES_74X139X74 = device_creator<nes_74x139x74_device>;
-const device_type NES_74X377 = device_creator<nes_74x377_device>;
-const device_type NES_74X161X138 = device_creator<nes_74x161x138_device>;
+DEFINE_DEVICE_TYPE(NES_74X161X161X32, nes_74x161x161x32_device, "nes_74x161", "NES Cart Discrete Logic (74*161/161/32) PCB")
+DEFINE_DEVICE_TYPE(NES_74X139X74, nes_74x139x74_device, "nes_74x139", "NES Cart Discrete Logic (74*139/74) PCB")
+DEFINE_DEVICE_TYPE(NES_74X377, nes_74x377_device, "nes_74x377", "NES Cart Discrete Logic (74*377) PCB")
+DEFINE_DEVICE_TYPE(NES_74X161X138, nes_74x161x138_device, "nes_bitcorp_dis", "NES Cart Discrete Logic (74*161/138) PCB")
nes_74x161x161x32_device::nes_74x161x161x32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_74X161X161X32, "NES Cart Discrete Logic (74*161/161/32) PCB", tag, owner, clock, "nes_74x161", __FILE__)
+ : nes_nrom_device(mconfig, NES_74X161X161X32, tag, owner, clock)
{
}
nes_74x139x74_device::nes_74x139x74_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_74X139X74, "NES Cart Discrete Logic (74*139/74) PCB", tag, owner, clock, "nes_74x139", __FILE__)
+ : nes_nrom_device(mconfig, NES_74X139X74, tag, owner, clock)
{
}
nes_74x377_device::nes_74x377_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_74X377, "NES Cart Discrete Logic (74*377) PCB", tag, owner, clock, "nes_74x377", __FILE__)
+ : nes_nrom_device(mconfig, NES_74X377, tag, owner, clock)
{
}
nes_74x161x138_device::nes_74x161x138_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_74X161X138, "NES Cart Discrete Logic (74*161/138) PCB", tag, owner, clock, "nes_bitcorp_dis", __FILE__)
+ : nes_nrom_device(mconfig, NES_74X161X138, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/discrete.h b/src/devices/bus/nes/discrete.h
index 7448e62b727..51576a77e41 100644
--- a/src/devices/bus/nes/discrete.h
+++ b/src/devices/bus/nes/discrete.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_DISCRETE_H
-#define __NES_DISCRETE_H
+#ifndef MAME_BUS_NES_DISCRETE_H
+#define MAME_BUS_NES_DISCRETE_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_74x161x161x32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,11 +34,13 @@ public:
// construction/destruction
nes_74x139x74_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -46,11 +52,13 @@ public:
// construction/destruction
nes_74x377_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -62,19 +70,20 @@ public:
// construction/destruction
nes_74x161x138_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
-};
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+};
// device type definition
-extern const device_type NES_74X161X161X32;
-extern const device_type NES_74X139X74;
-extern const device_type NES_74X377;
-extern const device_type NES_74X161X138;
+DECLARE_DEVICE_TYPE(NES_74X161X161X32, nes_74x161x161x32_device)
+DECLARE_DEVICE_TYPE(NES_74X139X74, nes_74x139x74_device)
+DECLARE_DEVICE_TYPE(NES_74X377, nes_74x377_device)
+DECLARE_DEVICE_TYPE(NES_74X161X138, nes_74x161x138_device)
-#endif
+#endif // MAME_BUS_NES_DISCRETE_H
diff --git a/src/devices/bus/nes/disksys.cpp b/src/devices/bus/nes/disksys.cpp
index 11ad8c7c7a9..24594848e76 100644
--- a/src/devices/bus/nes/disksys.cpp
+++ b/src/devices/bus/nes/disksys.cpp
@@ -100,15 +100,18 @@ void nes_disksys_device::unload_proc(device_image_interface &image)
//
//------------------------------------------------
-const device_type NES_DISKSYS = device_creator<nes_disksys_device>;
+DEFINE_DEVICE_TYPE(NES_DISKSYS, nes_disksys_device, "fc_disksys", "FC RAM Expansion + Disk System PCB")
nes_disksys_device::nes_disksys_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_DISKSYS, "FC RAM Expansion + Disk System PCB", tag, owner, clock, "fc_disksys", __FILE__), m_2c33_rom(nullptr),
- m_fds_data(nullptr),
- m_disk(*this, FLOPPY_0), irq_timer(nullptr), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_transfer(0), m_fds_motor_on(0), m_fds_door_closed(0), m_fds_current_side(0), m_fds_head_position(0), m_fds_status0(0), m_read_mode(0), m_drive_ready(0),
- m_fds_sides(0), m_fds_last_side(0), m_fds_count(0)
- {
+ : nes_nrom_device(mconfig, NES_DISKSYS, tag, owner, clock)
+ , m_2c33_rom(*this, "drive")
+ , m_fds_data(nullptr)
+ , m_disk(*this, FLOPPY_0)
+ , irq_timer(nullptr)
+ , m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_transfer(0), m_fds_motor_on(0), m_fds_door_closed(0), m_fds_current_side(0), m_fds_head_position(0), m_fds_status0(0), m_read_mode(0), m_drive_ready(0)
+ , m_fds_sides(0), m_fds_last_side(0), m_fds_count(0)
+{
}
@@ -116,8 +119,6 @@ void nes_disksys_device::device_start()
{
common_start();
- m_2c33_rom = (uint8_t*)memregion("drive")->base();
-
m_disk->floppy_install_load_proc(nes_disksys_device::load_proc);
m_disk->floppy_install_unload_proc(nes_disksys_device::unload_proc);
diff --git a/src/devices/bus/nes/disksys.h b/src/devices/bus/nes/disksys.h
index 5f05125061b..863400ebe70 100644
--- a/src/devices/bus/nes/disksys.h
+++ b/src/devices/bus/nes/disksys.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_DISKSYS_H
-#define __NES_DISKSYS_H
+#ifndef MAME_BUS_NES_DISKSYS_H
+#define MAME_BUS_NES_DISKSYS_H
+
+#pragma once
#include "nxrom.h"
#include "imagedev/flopdrv.h"
@@ -15,10 +17,7 @@ public:
// construction/destruction
nes_disksys_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual DECLARE_READ8_MEMBER(read_ex) override;
@@ -33,11 +32,17 @@ public:
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ required_region_ptr<uint8_t> m_2c33_rom;
+
+private:
static void load_proc(device_image_interface &image, bool is_created);
static void unload_proc(device_image_interface &image);
-private:
- uint8_t *m_2c33_rom;
std::unique_ptr<uint8_t[]> m_fds_data; // here, we store a copy of the disk
required_device<legacy_floppy_image_device> m_disk;
@@ -64,8 +69,7 @@ private:
};
-
// device type definition
-extern const device_type NES_DISKSYS;
+DECLARE_DEVICE_TYPE(NES_DISKSYS, nes_disksys_device)
-#endif
+#endif // MAME_BUS_NES_DISKSYS_H
diff --git a/src/devices/bus/nes/event.cpp b/src/devices/bus/nes/event.cpp
index 2440926cd1a..3f6065f449d 100644
--- a/src/devices/bus/nes/event.cpp
+++ b/src/devices/bus/nes/event.cpp
@@ -32,18 +32,18 @@
// constructor
//-------------------------------------------------
-const device_type NES_EVENT = device_creator<nes_event_device>;
+DEFINE_DEVICE_TYPE(NES_EVENT, nes_event_device, "nes_event", "NES Cart Event PCB")
nes_event_device::nes_event_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sxrom_device(mconfig, NES_EVENT, "NES Cart Event PCB", tag, owner, clock, "nes_event", __FILE__),
- m_dsw(*this, "DIPSW"),
- m_nwc_init(0),
- event_timer(nullptr),
- m_timer_count(0),
- m_timer_on(0),
- m_timer_enabled(0)
- {
+ : nes_sxrom_device(mconfig, NES_EVENT, tag, owner, clock)
+ , m_dsw(*this, "DIPSW")
+ , m_nwc_init(0)
+ , event_timer(nullptr)
+ , m_timer_count(0)
+ , m_timer_on(0)
+ , m_timer_enabled(0)
+{
}
diff --git a/src/devices/bus/nes/event.h b/src/devices/bus/nes/event.h
index af154b7fffc..b4b67614b50 100644
--- a/src/devices/bus/nes/event.h
+++ b/src/devices/bus/nes/event.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_EVENT_H
-#define __NES_EVENT_H
+#ifndef MAEM_BUS_NES_EVENT_H
+#define MAEM_BUS_NES_EVENT_H
+
+#pragma once
#include "mmc1.h"
@@ -14,22 +16,25 @@ public:
// construction/destruction
nes_event_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual ioport_constructor device_input_ports() const override;
- virtual void update_regs(int reg) override;
-
- required_ioport m_dsw;
virtual void pcb_reset() override;
protected:
+ static constexpr device_timer_id TIMER_EVENT = 0;
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ virtual void update_regs(int reg) override;
virtual void set_prg() override;
virtual void set_chr() override;
+
+ required_ioport m_dsw;
+
int m_nwc_init;
- static const device_timer_id TIMER_EVENT = 0;
emu_timer *event_timer;
attotime timer_freq;
@@ -39,6 +44,6 @@ protected:
// device type definition
-extern const device_type NES_EVENT;
+DECLARE_DEVICE_TYPE(NES_EVENT, nes_event_device)
-#endif
+#endif // MAEM_BUS_NES_EVENT_H
diff --git a/src/devices/bus/nes/ggenie.cpp b/src/devices/bus/nes/ggenie.cpp
index 2064b6e014b..6b6c2c1ecd8 100644
--- a/src/devices/bus/nes/ggenie.cpp
+++ b/src/devices/bus/nes/ggenie.cpp
@@ -30,14 +30,14 @@
// constructor
//-------------------------------------------------
-const device_type NES_GGENIE = device_creator<nes_ggenie_device>;
+DEFINE_DEVICE_TYPE(NES_GGENIE, nes_ggenie_device, "nes_ggenie", "NES Cart Game Genie PCB")
nes_ggenie_device::nes_ggenie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_GGENIE, "NES Cart Game Genie PCB", tag, owner, clock, "nes_ggenie", __FILE__),
- m_ggslot(*this, "gg_slot"),
- m_gg_bypass(0)
- {
+ : nes_nrom_device(mconfig, NES_GGENIE, tag, owner, clock)
+ , m_ggslot(*this, "gg_slot")
+ , m_gg_bypass(0)
+{
}
diff --git a/src/devices/bus/nes/ggenie.h b/src/devices/bus/nes/ggenie.h
index 2a1289c4865..761e53f4f51 100644
--- a/src/devices/bus/nes/ggenie.h
+++ b/src/devices/bus/nes/ggenie.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_GGENIE_H
-#define __NES_GGENIE_H
+#ifndef MAME_BUS_NES_GGENIE_H
+#define MAME_BUS_NES_GGENIE_H
+
+#pragma once
#include "nxrom.h"
@@ -14,8 +16,6 @@ public:
// construction/destruction
nes_ggenie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
@@ -38,6 +38,9 @@ public:
virtual void pcb_start(running_machine &machine, uint8_t *ciram_ptr, bool cart_mounted) override;
private:
+ // device-level overrides
+ virtual void device_start() override;
+
// emulate the Game Genie!
required_device<nes_cart_slot_device> m_ggslot;
@@ -51,8 +54,7 @@ private:
};
-
// device type definition
-extern const device_type NES_GGENIE;
+DECLARE_DEVICE_TYPE(NES_GGENIE, nes_ggenie_device)
-#endif
+#endif // MAME_BUS_NES_GGENIE_H
diff --git a/src/devices/bus/nes/henggedianzi.cpp b/src/devices/bus/nes/henggedianzi.cpp
index eb69e5b3d94..0ef0d2b8ab0 100644
--- a/src/devices/bus/nes/henggedianzi.cpp
+++ b/src/devices/bus/nes/henggedianzi.cpp
@@ -38,24 +38,24 @@
// constructor
//-------------------------------------------------
-const device_type NES_HENGG_SRICH = device_creator<nes_hengg_srich_device>;
-const device_type NES_HENGG_XHZS = device_creator<nes_hengg_xhzs_device>;
-const device_type NES_HENGG_SHJY3 = device_creator<nes_hengg_shjy3_device>;
+DEFINE_DEVICE_TYPE(NES_HENGG_SRICH, nes_hengg_srich_device, "nes_hengg_srich", "NES Cart Henggedianzi Super Rich PCB")
+DEFINE_DEVICE_TYPE(NES_HENGG_XHZS, nes_hengg_xhzs_device, "nes_hengg_xhzs", "NES Cart Henggedianzi Xing He Zhan Shi PCB")
+DEFINE_DEVICE_TYPE(NES_HENGG_SHJY3, nes_hengg_shjy3_device, "nes_hengg_shjy3", "NES Cart Henggedianzi Shen Hua Jian Yun III PCB")
nes_hengg_srich_device::nes_hengg_srich_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_HENGG_SRICH, "NES Cart Henggedianzi Super Rich PCB", tag, owner, clock, "nes_hengg_srich", __FILE__)
+ : nes_nrom_device(mconfig, NES_HENGG_SRICH, tag, owner, clock)
{
}
nes_hengg_xhzs_device::nes_hengg_xhzs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_HENGG_XHZS, "NES Cart Henggedianzi Xing He Zhan Shi PCB", tag, owner, clock, "nes_hengg_xhzs", __FILE__)
+ : nes_nrom_device(mconfig, NES_HENGG_XHZS, tag, owner, clock)
{
}
nes_hengg_shjy3_device::nes_hengg_shjy3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_HENGG_SHJY3, "NES Cart Henggedianzi Shen Hua Jian Yun III PCB", tag, owner, clock, "nes_hengg_shjy3", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_chr_mode(0)
- {
+ : nes_nrom_device(mconfig, NES_HENGG_SHJY3, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_chr_mode(0)
+{
}
diff --git a/src/devices/bus/nes/henggedianzi.h b/src/devices/bus/nes/henggedianzi.h
index 59bdf287e78..d74da743425 100644
--- a/src/devices/bus/nes/henggedianzi.h
+++ b/src/devices/bus/nes/henggedianzi.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_HENGGEDIANZI_H
-#define __NES_HENGGEDIANZI_H
+#ifndef MAME_BUS_NES_HENGGEDIANZI_H
+#define MAME_BUS_NES_HENGGEDIANZI_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_hengg_srich_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,12 +34,14 @@ public:
// construction/destruction
nes_hengg_xhzs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -47,13 +53,15 @@ public:
// construction/destruction
nes_hengg_shjy3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_banks();
@@ -66,13 +74,9 @@ private:
uint8_t m_mmc_extra_bank[8];
};
-
-
-
-
// device type definition
-extern const device_type NES_HENGG_SRICH;
-extern const device_type NES_HENGG_XHZS;
-extern const device_type NES_HENGG_SHJY3;
+DECLARE_DEVICE_TYPE(NES_HENGG_SRICH, nes_hengg_srich_device)
+DECLARE_DEVICE_TYPE(NES_HENGG_XHZS, nes_hengg_xhzs_device)
+DECLARE_DEVICE_TYPE(NES_HENGG_SHJY3, nes_hengg_shjy3_device)
-#endif
+#endif // MAME_BUS_NES_HENGGEDIANZI_H
diff --git a/src/devices/bus/nes/hes.cpp b/src/devices/bus/nes/hes.cpp
index 25d34fc4677..8d1d3a7a590 100644
--- a/src/devices/bus/nes/hes.cpp
+++ b/src/devices/bus/nes/hes.cpp
@@ -30,11 +30,11 @@
// constructor
//-------------------------------------------------
-const device_type NES_HES = device_creator<nes_hes_device>;
+DEFINE_DEVICE_TYPE(NES_HES, nes_hes_device, "nes_hes", "NES Cart HES PCB")
nes_hes_device::nes_hes_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_HES, "NES Cart HES PCB", tag, owner, clock, "nes_hes", __FILE__)
+ : nes_nrom_device(mconfig, NES_HES, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/hes.h b/src/devices/bus/nes/hes.h
index 5cd2ad539b8..d45d20a1a3f 100644
--- a/src/devices/bus/nes/hes.h
+++ b/src/devices/bus/nes/hes.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_HES_H
-#define __NES_HES_H
+#ifndef MAME_BUS_NES_HES_H
+#define MAME_BUS_NES_HES_H
+
+#pragma once
#include "nxrom.h"
@@ -14,15 +16,17 @@ public:
// construction/destruction
nes_hes_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
// device type definition
-extern const device_type NES_HES;
+DECLARE_DEVICE_TYPE(NES_HES, nes_hes_device)
-#endif
+#endif // MAME_BUS_NES_HES_H
diff --git a/src/devices/bus/nes/hosenkan.cpp b/src/devices/bus/nes/hosenkan.cpp
index a0eedabcd79..72d47061d43 100644
--- a/src/devices/bus/nes/hosenkan.cpp
+++ b/src/devices/bus/nes/hosenkan.cpp
@@ -13,7 +13,7 @@
#include "hosenkan.h"
#include "cpu/m6502/m6502.h"
-#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access PPU_BOTTOM_VISIBLE_SCANLINE
+#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
#include "screen.h"
@@ -30,17 +30,17 @@
// constructor
//-------------------------------------------------
-const device_type NES_HOSENKAN = device_creator<nes_hosenkan_device>;
+DEFINE_DEVICE_TYPE(NES_HOSENKAN, nes_hosenkan_device, "nes_hosenkan", "NES Cart HOSENKAN PCB")
nes_hosenkan_device::nes_hosenkan_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_HOSENKAN, "NES Cart HOSENKAN PCB", tag, owner, clock, "nes_hosenkan", __FILE__),
- m_irq_count(0),
- m_irq_count_latch(0),
- m_irq_clear(0),
- m_irq_enable(0),
- m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_HOSENKAN, tag, owner, clock)
+ , m_irq_count(0)
+ , m_irq_count_latch(0)
+ , m_irq_clear(0)
+ , m_irq_enable(0)
+ , m_latch(0)
+{
}
@@ -89,7 +89,7 @@ void nes_hosenkan_device::pcb_reset()
// same as MMC3!
void nes_hosenkan_device::hblank_irq( int scanline, int vblank, int blanked )
{
- if (scanline < PPU_BOTTOM_VISIBLE_SCANLINE)
+ if (scanline < ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE)
{
int prior_count = m_irq_count;
if ((m_irq_count == 0) || m_irq_clear)
diff --git a/src/devices/bus/nes/hosenkan.h b/src/devices/bus/nes/hosenkan.h
index 0d87cc6acff..153638a9cbe 100644
--- a/src/devices/bus/nes/hosenkan.h
+++ b/src/devices/bus/nes/hosenkan.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_HOSENKAN_H
-#define __NES_HOSENKAN_H
+#ifndef MAME_BUS_NES_HOSENKAN_H
+#define MAME_BUS_NES_HOSENKAN_H
+
+#pragma once
#include "nxrom.h"
@@ -14,14 +16,15 @@ public:
// construction/destruction
nes_hosenkan_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
-
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count, m_irq_count_latch;
uint8_t m_irq_clear;
@@ -30,10 +33,7 @@ private:
uint8_t m_latch;
};
-
-
// device type definition
-extern const device_type NES_HOSENKAN;
-
+DECLARE_DEVICE_TYPE(NES_HOSENKAN, nes_hosenkan_device)
-#endif
+#endif // MAME_BUS_NES_HOSENKAN_H
diff --git a/src/devices/bus/nes/irem.cpp b/src/devices/bus/nes/irem.cpp
index c780d67315d..17fd84643b7 100644
--- a/src/devices/bus/nes/irem.cpp
+++ b/src/devices/bus/nes/irem.cpp
@@ -35,36 +35,36 @@
// constructor
//-------------------------------------------------
-const device_type NES_LROG017 = device_creator<nes_lrog017_device>;
-const device_type NES_HOLYDIVR = device_creator<nes_holydivr_device>;
-const device_type NES_TAM_S1 = device_creator<nes_tam_s1_device>;
-const device_type NES_G101 = device_creator<nes_g101_device>;
-const device_type NES_H3001 = device_creator<nes_h3001_device>;
+DEFINE_DEVICE_TYPE(NES_LROG017, nes_lrog017_device, "nes_lrog017", "NES Cart Irem Discrete 74*161/161/21/138 PCB")
+DEFINE_DEVICE_TYPE(NES_HOLYDIVR, nes_holydivr_device, "nes_holydivr", "NES Cart Irem Holy Diver PCB")
+DEFINE_DEVICE_TYPE(NES_TAM_S1, nes_tam_s1_device, "nes_tam_s1", "NES Cart Irem TAM-S1 PCB")
+DEFINE_DEVICE_TYPE(NES_G101, nes_g101_device, "nes_g101", "NES Cart Irem G-101 PCB")
+DEFINE_DEVICE_TYPE(NES_H3001, nes_h3001_device, "ns_h3001", "NES Cart Irem H-3001 PCB")
nes_lrog017_device::nes_lrog017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_LROG017, "NES Cart Irem Discrete 74*161/161/21/138 PCB", tag, owner, clock, "nes_lrog017", __FILE__)
+ : nes_nrom_device(mconfig, NES_LROG017, tag, owner, clock)
{
}
nes_holydivr_device::nes_holydivr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_HOLYDIVR, "NES Cart Irem Holy Diver PCB", tag, owner, clock, "nes_holydivr", __FILE__)
+ : nes_nrom_device(mconfig, NES_HOLYDIVR, tag, owner, clock)
{
}
nes_tam_s1_device::nes_tam_s1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TAM_S1, "NES Cart Irem TAM-S1 PCB", tag, owner, clock, "nes_tam_s1", __FILE__)
+ : nes_nrom_device(mconfig, NES_TAM_S1, tag, owner, clock)
{
}
nes_g101_device::nes_g101_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_G101, "NES Cart Irem G-101 PCB", tag, owner, clock, "nes_g101", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_G101, tag, owner, clock), m_latch(0)
+{
}
nes_h3001_device::nes_h3001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_H3001, "NES Cart Irem H-3001 PCB", tag, owner, clock, "nes_h3001", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_H3001, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
diff --git a/src/devices/bus/nes/irem.h b/src/devices/bus/nes/irem.h
index 3aef2278957..a50077e70a3 100644
--- a/src/devices/bus/nes/irem.h
+++ b/src/devices/bus/nes/irem.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_IREM_H
-#define __NES_IREM_H
+#ifndef MAME_BUS_NES_IREM_H
+#define MAME_BUS_NES_IREM_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_lrog017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,11 +34,13 @@ public:
// construction/destruction
nes_holydivr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -46,11 +52,13 @@ public:
// construction/destruction
nes_tam_s1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -62,13 +70,14 @@ public:
// construction/destruction
nes_g101_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
uint8_t m_latch;
};
@@ -81,14 +90,15 @@ public:
// construction/destruction
nes_h3001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
uint16_t m_irq_count, m_irq_count_latch;
int m_irq_enable;
@@ -96,13 +106,11 @@ protected:
emu_timer *irq_timer;
};
-
-
// device type definition
-extern const device_type NES_LROG017;
-extern const device_type NES_HOLYDIVR;
-extern const device_type NES_TAM_S1;
-extern const device_type NES_G101;
-extern const device_type NES_H3001;
+DECLARE_DEVICE_TYPE(NES_LROG017, nes_lrog017_device)
+DECLARE_DEVICE_TYPE(NES_HOLYDIVR, nes_holydivr_device)
+DECLARE_DEVICE_TYPE(NES_TAM_S1, nes_tam_s1_device)
+DECLARE_DEVICE_TYPE(NES_G101, nes_g101_device)
+DECLARE_DEVICE_TYPE(NES_H3001, nes_h3001_device)
-#endif
+#endif // MAME_BUS_NES_IREM_H
diff --git a/src/devices/bus/nes/jaleco.cpp b/src/devices/bus/nes/jaleco.cpp
index 9a3ca8922fa..f537d75c696 100644
--- a/src/devices/bus/nes/jaleco.cpp
+++ b/src/devices/bus/nes/jaleco.cpp
@@ -39,104 +39,104 @@
// constructor
//-------------------------------------------------
-const device_type NES_JF11 = device_creator<nes_jf11_device>;
-const device_type NES_JF16 = device_creator<nes_jf16_device>;
-const device_type NES_JF17 = device_creator<nes_jf17_device>;
-const device_type NES_JF19 = device_creator<nes_jf19_device>;
-const device_type NES_SS88006 = device_creator<nes_ss88006_device>;
-const device_type NES_JF13 = device_creator<nes_jf13_device>;
-const device_type NES_JF17_ADPCM = device_creator<nes_jf17_adpcm_device>;
-const device_type NES_JF19_ADPCM = device_creator<nes_jf19_adpcm_device>;
-const device_type NES_JF23 = device_creator<nes_jf23_device>;
-const device_type NES_JF24 = device_creator<nes_jf24_device>;
-const device_type NES_JF29 = device_creator<nes_jf29_device>;
-const device_type NES_JF33 = device_creator<nes_jf33_device>;
+DEFINE_DEVICE_TYPE(NES_JF11, nes_jf11_device, "nes_jf11", "NES Cart Jaleco JF-11 PCB")
+DEFINE_DEVICE_TYPE(NES_JF13, nes_jf13_device, "nes_jf13", "NES Cart Jaleco JF-13 PCB")
+DEFINE_DEVICE_TYPE(NES_JF16, nes_jf16_device, "nes_jf16", "NES Cart Jaleco JF-16 PCB")
+DEFINE_DEVICE_TYPE(NES_JF17, nes_jf17_device, "nes_jf17", "NES Cart Jaleco JF-17 PCB")
+DEFINE_DEVICE_TYPE(NES_JF17_ADPCM, nes_jf17_adpcm_device, "nes_jf17_pcm", "NES Cart Jaleco JF-17 + ADPCM (Moero!! Pro Tennis) PCB")
+DEFINE_DEVICE_TYPE(NES_JF19, nes_jf19_device, "nes_jf19", "NES Cart Jaleco JF-19 (Moero!! Pro Soccer) PCB")
+DEFINE_DEVICE_TYPE(NES_JF19_ADPCM, nes_jf19_adpcm_device, "nes_jf19_pcm", "NES Cart Jaleco JF-19 + ADPCM (Moero!! Pro Yakyuu 88) PCB")
+DEFINE_DEVICE_TYPE(NES_SS88006, nes_ss88006_device, "nes_ss88006", "NES Cart Jaleco SS88006 PCB")
+DEFINE_DEVICE_TYPE(NES_JF23, nes_jf23_device, "nes_jf23", "NES Cart Jaleco JF-23 (Shin Moero Pro Yakyuu) PCB")
+DEFINE_DEVICE_TYPE(NES_JF24, nes_jf24_device, "nes_jf24", "NES Cart Jaleco JF-24 (Terao no Dosukoi Oozumou) PCB")
+DEFINE_DEVICE_TYPE(NES_JF29, nes_jf29_device, "nes_jf29", "NES Cart Jaleco JF-29 (Moe Pro! '90) PCB")
+DEFINE_DEVICE_TYPE(NES_JF33, nes_jf33_device, "nes_jf33", "NES Cart Jaleco JF-33 (Moe Pro! Saikyou-hen) PCB")
nes_jf11_device::nes_jf11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_JF11, "NES Cart Jaleco JF-11 PCB", tag, owner, clock, "nes_jf11", __FILE__)
+ : nes_nrom_device(mconfig, NES_JF11, tag, owner, clock)
{
}
nes_jf13_device::nes_jf13_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_JF13, "NES Cart Jaleco JF-13 PCB", tag, owner, clock, "nes_jf13", __FILE__),
- m_samples(*this, "samples")
+ : nes_nrom_device(mconfig, NES_JF13, tag, owner, clock)
+ , m_samples(*this, "samples")
{
}
nes_jf16_device::nes_jf16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_JF16, "NES Cart Jaleco JF-16 PCB", tag, owner, clock, "nes_jf16", __FILE__)
+ : nes_nrom_device(mconfig, NES_JF16, tag, owner, clock)
{
}
-nes_jf17_device::nes_jf17_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_latch(0)
- {
+nes_jf17_device::nes_jf17_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_latch(0)
+{
}
nes_jf17_device::nes_jf17_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_JF17, "NES Cart Jaleco JF-17 PCB", tag, owner, clock, "nes_jf17", __FILE__), m_latch(0)
- {
+ : nes_jf17_device(mconfig, NES_JF17, tag, owner, clock)
+{
}
nes_jf17_adpcm_device::nes_jf17_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_jf17_device(mconfig, NES_JF17_ADPCM, "NES Cart Jaleco JF-17 + ADPCM (Moero!! Pro Tennis) PCB", tag, owner, clock, "nes_jf17_pcm", __FILE__),
- m_samples(*this, "samples")
+ : nes_jf17_device(mconfig, NES_JF17_ADPCM, tag, owner, clock)
+ , m_samples(*this, "samples")
{
}
-nes_jf19_device::nes_jf19_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+nes_jf19_device::nes_jf19_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock)
{
}
nes_jf19_device::nes_jf19_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_JF19, "NES Cart Jaleco JF-19 (Moero!! Pro Soccer) PCB", tag, owner, clock, "nes_jf19", __FILE__)
+ : nes_jf19_device(mconfig, NES_JF19, tag, owner, clock)
{
}
nes_jf19_adpcm_device::nes_jf19_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_jf19_device(mconfig, NES_JF19_ADPCM, "NES Cart Jaleco JF-19 + ADPCM (Moero!! Pro Yakyuu 88) PCB", tag, owner, clock, "nes_jf19_pcm", __FILE__),
- m_samples(*this, "samples")
+ : nes_jf19_device(mconfig, NES_JF19_ADPCM, tag, owner, clock)
+ , m_samples(*this, "samples")
{
}
-nes_ss88006_device::nes_ss88006_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_irq_count(0), m_irq_count_latch(0), m_irq_mode(0), m_irq_enable(0), irq_timer(nullptr), m_latch(0)
- {
+nes_ss88006_device::nes_ss88006_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_mode(0), m_irq_enable(0), irq_timer(nullptr), m_latch(0)
+{
}
nes_ss88006_device::nes_ss88006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SS88006, "NES Cart Jaleco SS88006 PCB", tag, owner, clock, "nes_ss88006", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_mode(0), m_irq_enable(0), irq_timer(nullptr), m_latch(0)
- {
+ : nes_ss88006_device(mconfig, NES_SS88006, tag, owner, clock)
+{
}
-nes_ss88006_adpcm_device::nes_ss88006_adpcm_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_ss88006_device(mconfig, type, name, tag, owner, clock, shortname, source)
+nes_ss88006_adpcm_device::nes_ss88006_adpcm_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_ss88006_device(mconfig, type, tag, owner, clock)
{
}
nes_jf23_device::nes_jf23_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_ss88006_adpcm_device(mconfig, NES_JF23, "NES Cart Jaleco Shin Moero Pro Yakyuu PCB", tag, owner, clock, "nes_jf23", __FILE__),
- m_samples(*this, "samples")
+ : nes_ss88006_adpcm_device(mconfig, NES_JF23, tag, owner, clock)
+ , m_samples(*this, "samples")
{
}
nes_jf24_device::nes_jf24_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_ss88006_adpcm_device(mconfig, NES_JF24, "NES Cart Jaleco Terao no Dosukoi Oozumou PCB", tag, owner, clock, "nes_jf24", __FILE__),
- m_samples(*this, "samples")
+ : nes_ss88006_adpcm_device(mconfig, NES_JF24, tag, owner, clock)
+ , m_samples(*this, "samples")
{
}
nes_jf29_device::nes_jf29_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_ss88006_adpcm_device(mconfig, NES_JF29, "NES Cart Jaleco Moe Pro! '90 PCB", tag, owner, clock, "nes_jf29", __FILE__),
- m_samples(*this, "samples")
+ : nes_ss88006_adpcm_device(mconfig, NES_JF29, tag, owner, clock)
+ , m_samples(*this, "samples")
{
}
nes_jf33_device::nes_jf33_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_ss88006_adpcm_device(mconfig, NES_JF33, "NES Cart Jaleco Moe Pro! Saikyou-hen PCB", tag, owner, clock, "nes_jf33", __FILE__),
- m_samples(*this, "samples")
+ : nes_ss88006_adpcm_device(mconfig, NES_JF33, tag, owner, clock)
+ , m_samples(*this, "samples")
{
}
diff --git a/src/devices/bus/nes/jaleco.h b/src/devices/bus/nes/jaleco.h
index 5ad09a78cba..5fe977bba04 100644
--- a/src/devices/bus/nes/jaleco.h
+++ b/src/devices/bus/nes/jaleco.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_JALECO_H
-#define __NES_JALECO_H
+#ifndef MAME_BUS_NES_JALECO_H
+#define MAME_BUS_NES_JALECO_H
+
+#pragma once
#include "nxrom.h"
#include "sound/samples.h"
@@ -15,11 +17,13 @@ public:
// construction/destruction
nes_jf11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -31,13 +35,15 @@ public:
// construction/destruction
nes_jf13_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
required_device<samples_device> m_samples;
};
@@ -51,11 +57,13 @@ public:
// construction/destruction
nes_jf16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -65,16 +73,18 @@ class nes_jf17_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_jf17_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_jf17_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
protected:
+ nes_jf17_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
uint8_t m_latch;
};
@@ -101,14 +111,17 @@ class nes_jf19_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_jf19_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_jf19_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ nes_jf19_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -134,18 +147,20 @@ class nes_ss88006_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_ss88006_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_ss88006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(ss88006_write);
virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_write(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
protected:
+ nes_ss88006_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
uint16_t m_irq_count, m_irq_count_latch;
uint8_t m_irq_mode;
int m_irq_enable;
@@ -164,11 +179,10 @@ protected:
class nes_ss88006_adpcm_device : public nes_ss88006_device
{
-public:
+protected:
// construction/destruction
- nes_ss88006_adpcm_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ nes_ss88006_adpcm_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
void ss88006_adpcm_write(address_space &space, offs_t offset, uint8_t data, samples_device *dev);
};
@@ -184,8 +198,9 @@ public:
virtual machine_config_constructor device_mconfig_additions() const override;
private:
- required_device<samples_device> m_samples;
virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
+
+ required_device<samples_device> m_samples;
};
@@ -200,8 +215,9 @@ public:
virtual machine_config_constructor device_mconfig_additions() const override;
private:
- required_device<samples_device> m_samples;
virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
+
+ required_device<samples_device> m_samples;
};
@@ -216,8 +232,9 @@ public:
virtual machine_config_constructor device_mconfig_additions() const override;
private:
- required_device<samples_device> m_samples;
virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
+
+ required_device<samples_device> m_samples;
};
@@ -232,25 +249,24 @@ public:
virtual machine_config_constructor device_mconfig_additions() const override;
private:
- required_device<samples_device> m_samples;
virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
-};
-
+ required_device<samples_device> m_samples;
+};
// device type definition
-extern const device_type NES_JF11;
-extern const device_type NES_JF13;
-extern const device_type NES_JF16;
-extern const device_type NES_JF17;
-extern const device_type NES_JF17_ADPCM;
-extern const device_type NES_JF19;
-extern const device_type NES_JF19_ADPCM;
-extern const device_type NES_SS88006;
-extern const device_type NES_JF23;
-extern const device_type NES_JF24;
-extern const device_type NES_JF29;
-extern const device_type NES_JF33;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_JF11, nes_jf11_device)
+DECLARE_DEVICE_TYPE(NES_JF13, nes_jf13_device)
+DECLARE_DEVICE_TYPE(NES_JF16, nes_jf16_device)
+DECLARE_DEVICE_TYPE(NES_JF17, nes_jf17_device)
+DECLARE_DEVICE_TYPE(NES_JF17_ADPCM, nes_jf17_adpcm_device)
+DECLARE_DEVICE_TYPE(NES_JF19, nes_jf19_device)
+DECLARE_DEVICE_TYPE(NES_JF19_ADPCM, nes_jf19_adpcm_device)
+DECLARE_DEVICE_TYPE(NES_SS88006, nes_ss88006_device)
+DECLARE_DEVICE_TYPE(NES_JF23, nes_jf23_device)
+DECLARE_DEVICE_TYPE(NES_JF24, nes_jf24_device)
+DECLARE_DEVICE_TYPE(NES_JF29, nes_jf29_device)
+DECLARE_DEVICE_TYPE(NES_JF33, nes_jf33_device)
+
+#endif // MAME_BUS_NES_JALECO_H
diff --git a/src/devices/bus/nes/jy.cpp b/src/devices/bus/nes/jy.cpp
index d7582128e80..38a30848859 100644
--- a/src/devices/bus/nes/jy.cpp
+++ b/src/devices/bus/nes/jy.cpp
@@ -22,7 +22,7 @@
#include "jy.h"
#include "cpu/m6502/m6502.h"
-#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access PPU_BOTTOM_VISIBLE_SCANLINE
+#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
#ifdef NES_PCB_DEBUG
#define VERBOSE 1
@@ -37,36 +37,34 @@
// constructor
//-------------------------------------------------
-const device_type NES_JY_TYPEA = device_creator<nes_jy_typea_device>;
-const device_type NES_JY_TYPEB = device_creator<nes_jy_typeb_device>;
-const device_type NES_JY_TYPEC = device_creator<nes_jy_typec_device>;
+DEFINE_DEVICE_TYPE(NES_JY_TYPEA, nes_jy_typea_device, "nes_jya", "NES Cart JY Company Type A PCB")
+DEFINE_DEVICE_TYPE(NES_JY_TYPEB, nes_jy_typeb_device, "nes_jyb", "NES Cart JY Company Type B PCB")
+DEFINE_DEVICE_TYPE(NES_JY_TYPEC, nes_jy_typec_device, "nes_jyc", "NES Cart JY Company Type C PCB")
-nes_jy_typea_device::nes_jy_typea_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_latch(0), m_extra_chr_bank(0), m_extra_chr_mask(0), m_bank_6000(0),
+nes_jy_typea_device::nes_jy_typea_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_latch(0), m_extra_chr_bank(0), m_extra_chr_mask(0), m_bank_6000(0),
m_irq_mode(0), m_irq_count(0), m_irq_prescale(0), m_irq_prescale_mask(0), m_irq_flip(0), m_irq_enable(0), m_irq_up(0), m_irq_down(0), irq_timer(nullptr)
- {
+{
}
nes_jy_typea_device::nes_jy_typea_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_JY_TYPEA, "NES Cart JY Company Type A PCB", tag, owner, clock, "nes_jya", __FILE__), m_latch(0), m_extra_chr_bank(0),
- m_extra_chr_mask(0), m_bank_6000(0), m_irq_mode(0), m_irq_count(0), m_irq_prescale(0), m_irq_prescale_mask(0), m_irq_flip(0), m_irq_enable(0), m_irq_up(0),
- m_irq_down(0), irq_timer(nullptr)
+ : nes_nrom_device(mconfig, NES_JY_TYPEA, tag, owner, clock)
{
}
-nes_jy_typeb_device::nes_jy_typeb_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_jy_typea_device(mconfig, type, name, tag, owner, clock, shortname, source)
+nes_jy_typeb_device::nes_jy_typeb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_jy_typea_device(mconfig, type, tag, owner, clock)
{
}
nes_jy_typeb_device::nes_jy_typeb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_jy_typea_device(mconfig, NES_JY_TYPEB, "NES Cart JY Company Type B PCB", tag, owner, clock, "nes_jyb", __FILE__)
+ : nes_jy_typeb_device(mconfig, NES_JY_TYPEB, tag, owner, clock)
{
}
nes_jy_typec_device::nes_jy_typec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_jy_typeb_device(mconfig, NES_JY_TYPEC, "NES Cart JY Company Type C PCB", tag, owner, clock, "nes_jyc", __FILE__)
+ : nes_jy_typeb_device(mconfig, NES_JY_TYPEC, tag, owner, clock)
{
}
@@ -238,7 +236,7 @@ void nes_jy_typea_device::device_timer(emu_timer &timer, device_timer_id id, int
void nes_jy_typea_device::scanline_irq(int scanline, int vblank, int blanked)
{
- if (scanline < PPU_BOTTOM_VISIBLE_SCANLINE)
+ if (scanline < ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE)
irq_clock(blanked, 1);
}
diff --git a/src/devices/bus/nes/jy.h b/src/devices/bus/nes/jy.h
index 5c835e42a87..80be5d98631 100644
--- a/src/devices/bus/nes/jy.h
+++ b/src/devices/bus/nes/jy.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_JY_H
-#define __NES_JY_H
+#ifndef MAME_BUS_NES_JY_H
+#define MAME_BUS_NES_JY_H
+
+#pragma once
#include "nxrom.h"
@@ -12,12 +14,8 @@ class nes_jy_typea_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_jy_typea_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_jy_typea_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
@@ -30,6 +28,12 @@ public:
virtual void pcb_reset() override;
protected:
+ nes_jy_typea_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
void irq_clock(int blanked, int mode);
void update_banks(int reg);
void update_prg();
@@ -69,10 +73,11 @@ class nes_jy_typeb_device : public nes_jy_typea_device
{
public:
// construction/destruction
- nes_jy_typeb_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_jy_typeb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
+ nes_jy_typeb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
void update_mirror_typeb();
virtual void update_mirror() override { update_mirror_typeb(); }
};
@@ -93,12 +98,9 @@ protected:
};
-
-
-
// device type definition
-extern const device_type NES_JY_TYPEA;
-extern const device_type NES_JY_TYPEB;
-extern const device_type NES_JY_TYPEC;
+DECLARE_DEVICE_TYPE(NES_JY_TYPEA, nes_jy_typea_device)
+DECLARE_DEVICE_TYPE(NES_JY_TYPEB, nes_jy_typeb_device)
+DECLARE_DEVICE_TYPE(NES_JY_TYPEC, nes_jy_typec_device)
-#endif
+#endif // MAME_BUS_NES_JY_H
diff --git a/src/devices/bus/nes/kaiser.cpp b/src/devices/bus/nes/kaiser.cpp
index 5f6b7776057..5ec2355dba6 100644
--- a/src/devices/bus/nes/kaiser.cpp
+++ b/src/devices/bus/nes/kaiser.cpp
@@ -48,70 +48,70 @@
// constructor
//-------------------------------------------------
-const device_type NES_KS7058 = device_creator<nes_ks7058_device>;
-const device_type NES_KS7022 = device_creator<nes_ks7022_device>;
-const device_type NES_KS7032 = device_creator<nes_ks7032_device>;
-const device_type NES_KS202 = device_creator<nes_ks202_device>;
-const device_type NES_KS7017 = device_creator<nes_ks7017_device>;
-const device_type NES_KS7012 = device_creator<nes_ks7012_device>;
-const device_type NES_KS7013B = device_creator<nes_ks7013b_device>;
-const device_type NES_KS7031 = device_creator<nes_ks7031_device>;
-const device_type NES_KS7016 = device_creator<nes_ks7016_device>;
-const device_type NES_KS7037 = device_creator<nes_ks7037_device>;
+DEFINE_DEVICE_TYPE(NES_KS7058, nes_ks7058_device, "nes_ks7058", "NES Cart Kaiser KS-7058 PCB")
+DEFINE_DEVICE_TYPE(NES_KS7022, nes_ks7022_device, "nes_ks7022", "NES Cart Kaiser KS-7022 PCB")
+DEFINE_DEVICE_TYPE(NES_KS7032, nes_ks7032_device, "nes_ks7032", "NES Cart Kaiser KS-7032 PCB")
+DEFINE_DEVICE_TYPE(NES_KS202, nes_ks202_device, "nes_ks202", "NES Cart Kaiser KS-202 PCB")
+DEFINE_DEVICE_TYPE(NES_KS7017, nes_ks7017_device, "nes_ks7017", "NES Cart Kaiser KS-7017 PCB")
+DEFINE_DEVICE_TYPE(NES_KS7012, nes_ks7012_device, "nes_ks7012", "NES Cart Kaiser KS-7012 PCB")
+DEFINE_DEVICE_TYPE(NES_KS7013B, nes_ks7013b_device, "nes_ks7013b", "NES Cart Kaiser KS-7013B PCB")
+DEFINE_DEVICE_TYPE(NES_KS7031, nes_ks7031_device, "nes_ks7031", "NES Cart Kaiser KS-7031 PCB")
+DEFINE_DEVICE_TYPE(NES_KS7016, nes_ks7016_device, "nes_ks7016", "NES Cart Kaiser KS-7016 PCB")
+DEFINE_DEVICE_TYPE(NES_KS7037, nes_ks7037_device, "nes_ks7037", "NES Cart Kaiser KS-7037 PCB")
nes_ks7058_device::nes_ks7058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KS7058, "NES Cart Kaiser KS-7058 PCB", tag, owner, clock, "nes_ks7058", __FILE__)
+ : nes_nrom_device(mconfig, NES_KS7058, tag, owner, clock)
{
}
nes_ks7022_device::nes_ks7022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KS7022, "NES Cart Kaiser KS-7022 PCB", tag, owner, clock, "nes_ks7022", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_KS7022, tag, owner, clock), m_latch(0)
+{
}
-nes_ks7032_device::nes_ks7032_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_latch(0), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+nes_ks7032_device::nes_ks7032_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_latch(0), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
nes_ks7032_device::nes_ks7032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KS7032, "NES Cart Kaiser KS-7032 PCB", tag, owner, clock, "nes_ks7032", __FILE__), m_latch(0), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_ks7032_device(mconfig, NES_KS7032, tag, owner, clock)
+{
}
nes_ks202_device::nes_ks202_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_ks7032_device(mconfig, NES_KS202, "NES Cart Kaiser KS-202 PCB", tag, owner, clock, "nes_ks202", __FILE__)
+ : nes_ks7032_device(mconfig, NES_KS202, tag, owner, clock)
{
}
nes_ks7017_device::nes_ks7017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KS7017, "NES Cart Kaiser KS-7017 PCB", tag, owner, clock, "nes_ks7017", __FILE__), m_latch(0), m_irq_count(0), m_irq_status(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_KS7017, tag, owner, clock), m_latch(0), m_irq_count(0), m_irq_status(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
nes_ks7012_device::nes_ks7012_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KS7012, "NES Cart Kaiser KS-7012 PCB", tag, owner, clock, "nes_ks7012", __FILE__)
+ : nes_nrom_device(mconfig, NES_KS7012, tag, owner, clock)
{
}
nes_ks7013b_device::nes_ks7013b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KS7013B, "NES Cart Kaiser KS-7013B PCB", tag, owner, clock, "nes_ks7013b", __FILE__)
+ : nes_nrom_device(mconfig, NES_KS7013B, tag, owner, clock)
{
}
nes_ks7031_device::nes_ks7031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KS7031, "NES Cart Kaiser KS-7031 PCB", tag, owner, clock, "nes_ks7031", __FILE__)
+ : nes_nrom_device(mconfig, NES_KS7031, tag, owner, clock)
{
}
nes_ks7016_device::nes_ks7016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KS7016, "NES Cart Kaiser KS-7016 PCB", tag, owner, clock, "nes_ks7016", __FILE__)
+ : nes_nrom_device(mconfig, NES_KS7016, tag, owner, clock)
{
}
nes_ks7037_device::nes_ks7037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KS7037, "NES Cart Kaiser KS-7037 PCB", tag, owner, clock, "nes_ks7037", __FILE__)
+ : nes_nrom_device(mconfig, NES_KS7037, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/kaiser.h b/src/devices/bus/nes/kaiser.h
index c6d094d4390..8c544059aa9 100644
--- a/src/devices/bus/nes/kaiser.h
+++ b/src/devices/bus/nes/kaiser.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_KAISER_H
-#define __NES_KAISER_H
+#ifndef MAME_BUS_NES_KAISER_H
+#define MAME_BUS_NES_KAISER_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_ks7058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,13 +34,15 @@ public:
// construction/destruction
nes_ks7022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -48,12 +54,8 @@ class nes_ks7032_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_ks7032_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_ks7032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(ks7032_write);
virtual DECLARE_WRITE8_MEMBER(write_h) override { ks7032_write(space, offset, data, mem_mask); }
@@ -61,6 +63,12 @@ public:
virtual void pcb_reset() override;
protected:
+ nes_ks7032_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
void prg_update();
uint8_t m_latch;
@@ -96,15 +104,17 @@ public:
// construction/destruction
nes_ks7017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_ex) override;
virtual DECLARE_WRITE8_MEMBER(write_ex) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
uint8_t m_latch;
@@ -125,11 +135,13 @@ public:
// construction/destruction
nes_ks7012_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
// ======================> nes_ks7013b_device
@@ -140,12 +152,14 @@ public:
// construction/destruction
nes_ks7013b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -157,14 +171,16 @@ public:
// construction/destruction
nes_ks7031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[4];
};
@@ -178,13 +194,15 @@ public:
// construction/destruction
nes_ks7016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
};
@@ -197,8 +215,6 @@ public:
// construction/destruction
nes_ks7037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
@@ -206,6 +222,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_prg();
uint8_t m_latch;
@@ -213,18 +233,16 @@ private:
};
-
-
// device type definition
-extern const device_type NES_KS7058;
-extern const device_type NES_KS7022;
-extern const device_type NES_KS7032;
-extern const device_type NES_KS202;
-extern const device_type NES_KS7017;
-extern const device_type NES_KS7012;
-extern const device_type NES_KS7013B;
-extern const device_type NES_KS7031;
-extern const device_type NES_KS7016;
-extern const device_type NES_KS7037;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_KS7058, nes_ks7058_device)
+DECLARE_DEVICE_TYPE(NES_KS7022, nes_ks7022_device)
+DECLARE_DEVICE_TYPE(NES_KS7032, nes_ks7032_device)
+DECLARE_DEVICE_TYPE(NES_KS202, nes_ks202_device)
+DECLARE_DEVICE_TYPE(NES_KS7017, nes_ks7017_device)
+DECLARE_DEVICE_TYPE(NES_KS7012, nes_ks7012_device)
+DECLARE_DEVICE_TYPE(NES_KS7013B, nes_ks7013b_device)
+DECLARE_DEVICE_TYPE(NES_KS7031, nes_ks7031_device)
+DECLARE_DEVICE_TYPE(NES_KS7016, nes_ks7016_device)
+DECLARE_DEVICE_TYPE(NES_KS7037, nes_ks7037_device)
+
+#endif // MAME_BUS_NES_KAISER_H
diff --git a/src/devices/bus/nes/karastudio.cpp b/src/devices/bus/nes/karastudio.cpp
index 7ed30571e89..0aae32c0606 100644
--- a/src/devices/bus/nes/karastudio.cpp
+++ b/src/devices/bus/nes/karastudio.cpp
@@ -51,9 +51,9 @@
//-------------------------------------------------
kstudio_cart_interface::kstudio_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_rom(nullptr), m_bank(0)
- {
+ : device_slot_card_interface(mconfig, device)
+ , m_rom(nullptr), m_bank(0)
+{
}
kstudio_cart_interface::~kstudio_cart_interface()
@@ -69,12 +69,13 @@ READ8_MEMBER(kstudio_cart_interface::read)
// sub-cart slot device
//-------------------------------------------------
-const device_type NES_KSEXPANSION_SLOT = device_creator<nes_kstudio_slot_device>;
+DEFINE_DEVICE_TYPE(NES_KSEXPANSION_SLOT, nes_kstudio_slot_device, "nes_ks_slot", "NES Karaoke Studio Expansion Slot")
-nes_kstudio_slot_device::nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_KSEXPANSION_SLOT, "NES Karaoke Studio Expansion Slot", tag, owner, clock, "nes_ks_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this), m_cart(nullptr)
+nes_kstudio_slot_device::nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, NES_KSEXPANSION_SLOT, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , device_slot_interface(mconfig, *this)
+ , m_cart(nullptr)
{
}
@@ -142,11 +143,11 @@ ROM_START( ks_exp_rom )
ROM_REGION(0x20000, "exrom", ROMREGION_ERASEFF)
ROM_END
-const device_type NES_KSEXPANSION_ROM = device_creator<nes_kstudio_rom_device>;
+DEFINE_DEVICE_TYPE(NES_KSEXPANSION_ROM, nes_kstudio_rom_device, "nes_ks_rom", "NES Karaoke Studio Expansion ROM")
nes_kstudio_rom_device::nes_kstudio_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NES_KSEXPANSION_ROM, "NES Karaoke Studio Expansion ROM", tag, owner, clock, "nes_ks_rom", __FILE__),
- kstudio_cart_interface( mconfig, *this )
+ : device_t(mconfig, NES_KSEXPANSION_ROM, tag, owner, clock)
+ , kstudio_cart_interface( mconfig, *this )
{
}
@@ -178,13 +179,14 @@ uint8_t *nes_kstudio_rom_device::get_cart_base()
//
//------------------------------------------
-const device_type NES_KARAOKESTUDIO = device_creator<nes_karaokestudio_device>;
+DEFINE_DEVICE_TYPE(NES_KARAOKESTUDIO, nes_karaokestudio_device, "nes_karaoke", "NES Cart Bandai Karaoke Studio PCB")
nes_karaokestudio_device::nes_karaokestudio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_KARAOKESTUDIO, "NES Cart Bandai Karaoke Studio PCB", tag, owner, clock, "nes_karaoke", __FILE__), m_exp_active(0),
- m_subslot(*this, "exp_slot"),
- m_mic_ipt(*this, "MIC")
+ : nes_nrom_device(mconfig, NES_KARAOKESTUDIO, tag, owner, clock)
+ , m_exp_active(0)
+ , m_subslot(*this, "exp_slot")
+ , m_mic_ipt(*this, "MIC")
{
}
diff --git a/src/devices/bus/nes/karastudio.h b/src/devices/bus/nes/karastudio.h
index a4f8bcdb20e..148c1fd1be1 100644
--- a/src/devices/bus/nes/karastudio.h
+++ b/src/devices/bus/nes/karastudio.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_KARASTUDIO_H
-#define __NES_KARASTUDIO_H
+#ifndef MAME_BUS_NES_KARASTUDIO_H
+#define MAME_BUS_NES_KARASTUDIO_H
+
+#pragma once
#include "nxrom.h"
#include "softlist_dev.h"
@@ -19,7 +21,6 @@ class kstudio_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- kstudio_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~kstudio_cart_interface();
// reading and writing
@@ -29,6 +30,8 @@ public:
void write_prg_bank(uint8_t bank) { m_bank = bank; }
protected:
+ kstudio_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
// ROM is accessed via two 16K banks, but only the first one can be switched
@@ -37,18 +40,18 @@ protected:
// ======================> nes_kstudio_slot_device
+class nes_karaokestudio_device;
+
class nes_kstudio_slot_device : public device_t,
public device_image_interface,
public device_slot_interface
{
+ friend class nes_karaokestudio_device;
public:
// construction/destruction
nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nes_kstudio_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
@@ -68,11 +71,15 @@ public:
virtual DECLARE_READ8_MEMBER(read);
void write_prg_bank(uint8_t bank) { if (m_cart) m_cart->write_prg_bank(bank); }
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
kstudio_cart_interface* m_cart;
};
// device type definition
-extern const device_type NES_KSEXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(NES_KSEXPANSION_SLOT, nes_kstudio_slot_device)
#define MCFG_KSTUDIO_MINICART_ADD(_tag, _slot_intf) \
@@ -106,7 +113,7 @@ protected:
};
// device type definition
-extern const device_type NES_KSEXPANSION_ROM;
+DECLARE_DEVICE_TYPE(NES_KSEXPANSION_ROM, nes_kstudio_rom_device)
//-------------------------------------------
@@ -123,10 +130,9 @@ public:
// construction/destruction
nes_karaokestudio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual ioport_constructor device_input_ports() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
+
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
@@ -134,6 +140,9 @@ public:
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
int m_exp_active;
required_device<nes_kstudio_slot_device> m_subslot;
required_ioport m_mic_ipt;
@@ -141,6 +150,6 @@ protected:
// device type definition
-extern const device_type NES_KARAOKESTUDIO;
+DECLARE_DEVICE_TYPE(NES_KARAOKESTUDIO, nes_karaokestudio_device)
-#endif
+#endif // MAME_BUS_NES_KARASTUDIO_H
diff --git a/src/devices/bus/nes/konami.cpp b/src/devices/bus/nes/konami.cpp
index fd6de204003..c7c10097970 100644
--- a/src/devices/bus/nes/konami.cpp
+++ b/src/devices/bus/nes/konami.cpp
@@ -43,48 +43,46 @@
// constructor
//-------------------------------------------------
-const device_type NES_VRC1 = device_creator<nes_konami_vrc1_device>;
-const device_type NES_VRC2 = device_creator<nes_konami_vrc2_device>;
-const device_type NES_VRC3 = device_creator<nes_konami_vrc3_device>;
-const device_type NES_VRC4 = device_creator<nes_konami_vrc4_device>;
-const device_type NES_VRC6 = device_creator<nes_konami_vrc6_device>;
-const device_type NES_VRC7 = device_creator<nes_konami_vrc7_device>;
+DEFINE_DEVICE_TYPE(NES_VRC1, nes_konami_vrc1_device, "nes_vrc1", "NES Cart Konami VRC-1 PCB")
+DEFINE_DEVICE_TYPE(NES_VRC2, nes_konami_vrc2_device, "nes_vrc2", "NES Cart Konami VRC-2 PCB")
+DEFINE_DEVICE_TYPE(NES_VRC3, nes_konami_vrc3_device, "nes_vrc3", "NES Cart Konami VRC-3 PCB")
+DEFINE_DEVICE_TYPE(NES_VRC4, nes_konami_vrc4_device, "nes_vrc4", "NES Cart Konami VRC-4 PCB")
+DEFINE_DEVICE_TYPE(NES_VRC6, nes_konami_vrc6_device, "nes_vrc6", "NES Cart Konami VRC-6 PCB")
+DEFINE_DEVICE_TYPE(NES_VRC7, nes_konami_vrc7_device, "nes_vrc7", "NES Cart Konami VRC-7 PCB")
nes_konami_vrc1_device::nes_konami_vrc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_VRC1, "NES Cart Konami VRC-1 PCB", tag, owner, clock, "nes_vrc1", __FILE__)
+ : nes_nrom_device(mconfig, NES_VRC1, tag, owner, clock)
{
}
nes_konami_vrc2_device::nes_konami_vrc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_VRC2, "NES Cart Konami VRC-2 PCB", tag, owner, clock, "nes_vrc2", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_VRC2, tag, owner, clock), m_latch(0)
+{
}
nes_konami_vrc3_device::nes_konami_vrc3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_VRC3, "NES Cart Konami VRC-3 PCB", tag, owner, clock, "nes_vrc3", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_enable_latch(0), m_irq_mode(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_VRC3, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_enable_latch(0), m_irq_mode(0), irq_timer(nullptr)
+{
}
-nes_konami_vrc4_device::nes_konami_vrc4_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_latch(0), m_mmc_prg_bank(0), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_enable_latch(0), m_irq_mode(0), m_irq_prescale(0), irq_timer(nullptr)
- {
+nes_konami_vrc4_device::nes_konami_vrc4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_latch(0), m_mmc_prg_bank(0), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_enable_latch(0), m_irq_mode(0), m_irq_prescale(0), irq_timer(nullptr)
+{
}
nes_konami_vrc4_device::nes_konami_vrc4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_VRC4, "NES Cart Konami VRC-4 PCB", tag, owner, clock, "nes_vrc4", __FILE__), m_latch(0), m_mmc_prg_bank(0), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_enable_latch(0), m_irq_mode(0), m_irq_prescale(0), irq_timer(nullptr)
- {
+ : nes_konami_vrc4_device(mconfig, NES_VRC4, tag, owner, clock)
+{
}
nes_konami_vrc6_device::nes_konami_vrc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_konami_vrc4_device(mconfig, NES_VRC6, "NES Cart Konami VRC-6 PCB", tag, owner, clock, "nes_vrc6", __FILE__),
- m_vrc6snd(*this, "vrc6snd")
+ : nes_konami_vrc4_device(mconfig, NES_VRC6, tag, owner, clock), m_vrc6snd(*this, "vrc6snd")
{
}
nes_konami_vrc7_device::nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_konami_vrc4_device(mconfig, NES_VRC7, "NES Cart Konami VRC-7 PCB", tag, owner, clock, "nes_vrc7", __FILE__),
- m_ym2413(*this, "ym")
+ : nes_konami_vrc4_device(mconfig, NES_VRC7, tag, owner, clock), m_ym2413(*this, "ym")
{
}
diff --git a/src/devices/bus/nes/konami.h b/src/devices/bus/nes/konami.h
index 11a6e943bb3..ce711ef2803 100644
--- a/src/devices/bus/nes/konami.h
+++ b/src/devices/bus/nes/konami.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_KONAMI_H
-#define __NES_KONAMI_H
+#ifndef MAME_BUS_NES_KONAMI_H
+#define MAME_BUS_NES_KONAMI_H
+
+#pragma once
#include "nxrom.h"
#include "sound/vrc6.h"
@@ -16,12 +18,14 @@ public:
// construction/destruction
nes_konami_vrc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_mmc_vrom_bank[2];
};
@@ -35,14 +39,16 @@ public:
// construction/destruction
nes_konami_vrc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_mmc_vrom_bank[8];
uint8_t m_latch;
@@ -57,19 +63,22 @@ public:
// construction/destruction
nes_konami_vrc3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
+ static constexpr device_timer_id TIMER_IRQ = 0;
+
uint16_t m_irq_count, m_irq_count_latch;
int m_irq_enable, m_irq_enable_latch;
int m_irq_mode;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -80,17 +89,21 @@ class nes_konami_vrc4_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_konami_vrc4_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_konami_vrc4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
protected:
+ static constexpr device_timer_id TIMER_IRQ = 0;
+
+ nes_konami_vrc4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
void set_prg();
uint8_t m_mmc_vrom_bank[8];
uint8_t m_latch, m_mmc_prg_bank;
@@ -101,7 +114,6 @@ protected:
int m_irq_mode;
int m_irq_prescale;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -114,11 +126,13 @@ public:
// construction/destruction
nes_konami_vrc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
required_device<vrc6snd_device> m_vrc6snd;
};
@@ -131,25 +145,26 @@ public:
// construction/destruction
nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
required_device<ym2413_device> m_ym2413;
};
-
// device type definition
-extern const device_type NES_VRC1;
-extern const device_type NES_VRC2;
-extern const device_type NES_VRC3;
-extern const device_type NES_VRC4;
-extern const device_type NES_VRC6;
-extern const device_type NES_VRC7;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_VRC1, nes_konami_vrc1_device)
+DECLARE_DEVICE_TYPE(NES_VRC2, nes_konami_vrc2_device)
+DECLARE_DEVICE_TYPE(NES_VRC3, nes_konami_vrc3_device)
+DECLARE_DEVICE_TYPE(NES_VRC4, nes_konami_vrc4_device)
+DECLARE_DEVICE_TYPE(NES_VRC6, nes_konami_vrc6_device)
+DECLARE_DEVICE_TYPE(NES_VRC7, nes_konami_vrc7_device)
+
+#endif // MAME_BUS_NES_KONAMI_H
diff --git a/src/devices/bus/nes/legacy.cpp b/src/devices/bus/nes/legacy.cpp
index c5342004351..73528ede404 100644
--- a/src/devices/bus/nes/legacy.cpp
+++ b/src/devices/bus/nes/legacy.cpp
@@ -34,28 +34,28 @@
// constructor
//-------------------------------------------------
-const device_type NES_FFE3 = device_creator<nes_ffe3_device>;
-const device_type NES_FFE4 = device_creator<nes_ffe4_device>;
-const device_type NES_FFE8 = device_creator<nes_ffe8_device>;
+DEFINE_DEVICE_TYPE(NES_FFE3, nes_ffe3_device, "nes_ff3", "NES Cart FFE-3 PCB")
+DEFINE_DEVICE_TYPE(NES_FFE4, nes_ffe4_device, "nes_ff4", "NES Cart FFE-4 PCB")
+DEFINE_DEVICE_TYPE(NES_FFE8, nes_ffe8_device, "nes_ff8", "NES Cart FFE-8 PCB")
nes_ffe3_device::nes_ffe3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_FFE3, "NES Cart FFE-3 PCB", tag, owner, clock, "nes_ff3", __FILE__)
+ : nes_nrom_device(mconfig, NES_FFE3, tag, owner, clock)
{
}
-nes_ffe4_device::nes_ffe4_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr), m_latch(0), m_exram_enabled(0), m_exram_bank(0)
- {
+nes_ffe4_device::nes_ffe4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr), m_latch(0), m_exram_enabled(0), m_exram_bank(0)
+{
}
nes_ffe4_device::nes_ffe4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_FFE4, "NES Cart FFE-4 PCB", tag, owner, clock, "nes_ff4", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr), m_latch(0), m_exram_enabled(0), m_exram_bank(0)
- {
+ : nes_ffe4_device(mconfig, NES_FFE4, tag, owner, clock)
+{
}
nes_ffe8_device::nes_ffe8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_ffe4_device(mconfig, NES_FFE8, "NES Cart FFE-8 PCB", tag, owner, clock, "nes_ff8", __FILE__)
+ : nes_ffe4_device(mconfig, NES_FFE8, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/legacy.h b/src/devices/bus/nes/legacy.h
index 396eec92b46..91b44e108c0 100644
--- a/src/devices/bus/nes/legacy.h
+++ b/src/devices/bus/nes/legacy.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_LEGACY_H
-#define __NES_LEGACY_H
+#ifndef MAME_BUS_NES_LEGACY_H
+#define MAME_BUS_NES_LEGACY_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_ffe3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -28,12 +32,8 @@ class nes_ffe4_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_ffe4_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_ffe4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual DECLARE_READ8_MEMBER(chr_r) override;
@@ -42,10 +42,17 @@ public:
virtual void pcb_reset() override;
protected:
+ static constexpr device_timer_id TIMER_IRQ = 0;
+
+ nes_ffe4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
uint16_t m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
uint8_t m_latch;
@@ -71,11 +78,9 @@ public:
};
-
// device type definition
-extern const device_type NES_FFE3;
-extern const device_type NES_FFE4;
-extern const device_type NES_FFE8;
-
+DECLARE_DEVICE_TYPE(NES_FFE3, nes_ffe3_device)
+DECLARE_DEVICE_TYPE(NES_FFE4, nes_ffe4_device)
+DECLARE_DEVICE_TYPE(NES_FFE8, nes_ffe8_device)
-#endif
+#endif // MAME_BUS_NES_LEGACY_H
diff --git a/src/devices/bus/nes/mmc1.cpp b/src/devices/bus/nes/mmc1.cpp
index fe1680116af..d324c153782 100644
--- a/src/devices/bus/nes/mmc1.cpp
+++ b/src/devices/bus/nes/mmc1.cpp
@@ -32,35 +32,35 @@
// constructor
//-------------------------------------------------
-const device_type NES_SXROM = device_creator<nes_sxrom_device>;
-const device_type NES_SOROM = device_creator<nes_sorom_device>;
-const device_type NES_SXROM_A = device_creator<nes_sxrom_a_device>;
-const device_type NES_SOROM_A = device_creator<nes_sorom_a_device>;
+DEFINE_DEVICE_TYPE(NES_SXROM, nes_sxrom_device, "nes_sxrom", "NES Cart SxROM (MMC-1) PCB")
+DEFINE_DEVICE_TYPE(NES_SOROM, nes_sorom_device, "nes_sorom", "NES Cart SOROM (MMC-1) PCB")
+DEFINE_DEVICE_TYPE(NES_SXROM_A, nes_sxrom_a_device, "nes_sxrom_a", "NES Cart SxROM (MMC-1A) PCB")
+DEFINE_DEVICE_TYPE(NES_SOROM_A, nes_sorom_a_device, "nes_sorom_a", "NES Cart SOROM (MMC-1A) PCB")
-nes_sxrom_device::nes_sxrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_reg_write_enable(0), m_latch(0), m_count(0)
- {
+nes_sxrom_device::nes_sxrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_reg_write_enable(0), m_latch(0), m_count(0)
+{
}
nes_sxrom_device::nes_sxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SXROM, "NES Cart SxROM (MMC-1) PCB", tag, owner, clock, "nes_sxrom", __FILE__), m_reg_write_enable(0), m_latch(0), m_count(0)
- {
+ : nes_sxrom_device(mconfig, NES_SXROM, tag, owner, clock)
+{
}
nes_sorom_device::nes_sorom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sxrom_device(mconfig, NES_SOROM, "NES Cart SOROM (MMC-1) PCB", tag, owner, clock, "nes_sorom", __FILE__)
+ : nes_sxrom_device(mconfig, NES_SOROM, tag, owner, clock)
{
}
nes_sxrom_a_device::nes_sxrom_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sxrom_device(mconfig, NES_SXROM_A, "NES Cart SxROM (MMC-1A) PCB", tag, owner, clock, "nes_sxrom_a", __FILE__)
+ : nes_sxrom_device(mconfig, NES_SXROM_A, tag, owner, clock)
{
}
nes_sorom_a_device::nes_sorom_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sxrom_device(mconfig, NES_SOROM_A, "NES Cart SOROM (MMC-1A) PCB", tag, owner, clock, "nes_sorom_a", __FILE__)
+ : nes_sxrom_device(mconfig, NES_SOROM_A, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/mmc1.h b/src/devices/bus/nes/mmc1.h
index 8b30b6f0bbf..dd9ecccac75 100644
--- a/src/devices/bus/nes/mmc1.h
+++ b/src/devices/bus/nes/mmc1.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_MMC1_H
-#define __NES_MMC1_H
+#ifndef MAME_BUS_NES_MMC1_H
+#define MAME_BUS_NES_MMC1_H
+
+#pragma once
#include "nxrom.h"
@@ -12,20 +14,23 @@ class nes_sxrom_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_sxrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_sxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
- virtual void update_regs(int reg); // this is needed to simplify NES-EVENT pcb implementation, which handle differently some regs!
virtual void pcb_reset() override;
protected:
+ nes_sxrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
TIMER_CALLBACK_MEMBER(resync_callback);
+
+ virtual void update_regs(int reg); // this is needed to simplify NES-EVENT pcb implementation, which handle differently some regs!
virtual void set_prg();
virtual void set_chr();
@@ -70,13 +75,10 @@ public:
};
-
-
// device type definition
-extern const device_type NES_SXROM;
-extern const device_type NES_SOROM;
-extern const device_type NES_SXROM_A;
-extern const device_type NES_SOROM_A;
-
+DECLARE_DEVICE_TYPE(NES_SXROM, nes_sxrom_device)
+DECLARE_DEVICE_TYPE(NES_SOROM, nes_sorom_device)
+DECLARE_DEVICE_TYPE(NES_SXROM_A, nes_sxrom_a_device)
+DECLARE_DEVICE_TYPE(NES_SOROM_A, nes_sorom_a_device)
-#endif
+#endif // MAME_BUS_NES_MMC1_H
diff --git a/src/devices/bus/nes/mmc2.cpp b/src/devices/bus/nes/mmc2.cpp
index d1871483a68..1055ce98921 100644
--- a/src/devices/bus/nes/mmc2.cpp
+++ b/src/devices/bus/nes/mmc2.cpp
@@ -28,30 +28,27 @@
// constructor
//-------------------------------------------------
-const device_type NES_PXROM = device_creator<nes_pxrom_device>;
-const device_type NES_FXROM = device_creator<nes_fxrom_device>;
+DEFINE_DEVICE_TYPE(NES_PXROM, nes_pxrom_device, "nes_pxrom", "NES Cart PxROM (MMC-2) PCB")
+DEFINE_DEVICE_TYPE(NES_FXROM, nes_fxrom_device, "nes_fxrom", "NES Cart FxROM (MMC-2) PCB")
-nes_pxrom_device::nes_pxrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_latch1(0),
- m_latch2(0)
- {
+nes_pxrom_device::nes_pxrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_latch1(0), m_latch2(0)
+{
}
nes_pxrom_device::nes_pxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_PXROM, "NES Cart PxROM (MMC-2) PCB", tag, owner, clock, "nes_pxrom", __FILE__), m_latch1(0), m_latch2(0)
- {
+ : nes_pxrom_device(mconfig, NES_PXROM, tag, owner, clock)
+{
}
nes_fxrom_device::nes_fxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_pxrom_device(mconfig, NES_FXROM, "NES Cart FxROM (MMC-4) PCB", tag, owner, clock, "nes_fxrom", __FILE__)
+ : nes_pxrom_device(mconfig, NES_FXROM, tag, owner, clock)
{
}
-
void nes_pxrom_device::device_start()
{
common_start();
diff --git a/src/devices/bus/nes/mmc2.h b/src/devices/bus/nes/mmc2.h
index ecdf5e30ed0..cfd81aa87d3 100644
--- a/src/devices/bus/nes/mmc2.h
+++ b/src/devices/bus/nes/mmc2.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_MMC2_H
-#define __NES_MMC2_H
+#ifndef MAME_BUS_NES_MMC2_H
+#define MAME_BUS_NES_MMC2_H
+
+#pragma once
#include "nxrom.h"
@@ -12,11 +14,8 @@ class nes_pxrom_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_pxrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_pxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(pxrom_write);
virtual DECLARE_WRITE8_MEMBER(write_h) override { pxrom_write(space, offset, data, mem_mask); }
@@ -24,6 +23,11 @@ public:
virtual void pcb_reset() override;
protected:
+ nes_pxrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
uint8_t m_reg[4];
int m_latch1, m_latch2;
};
@@ -44,11 +48,8 @@ public:
};
-
-
-
// device type definition
-extern const device_type NES_PXROM;
-extern const device_type NES_FXROM;
+DECLARE_DEVICE_TYPE(NES_PXROM, nes_pxrom_device)
+DECLARE_DEVICE_TYPE(NES_FXROM, nes_fxrom_device)
-#endif
+#endif // MAME_BUS_NES_MMC2_H
diff --git a/src/devices/bus/nes/mmc3.cpp b/src/devices/bus/nes/mmc3.cpp
index 75aa036d39b..ecadb075c8e 100644
--- a/src/devices/bus/nes/mmc3.cpp
+++ b/src/devices/bus/nes/mmc3.cpp
@@ -29,7 +29,7 @@
#include "mmc3.h"
#include "cpu/m6502/m6502.h"
-#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access PPU_BOTTOM_VISIBLE_SCANLINE
+#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
#include "screen.h"
@@ -46,48 +46,47 @@
// constructor
//-------------------------------------------------
-const device_type NES_TXROM = device_creator<nes_txrom_device>;
-const device_type NES_HKROM = device_creator<nes_hkrom_device>;
-const device_type NES_TXSROM = device_creator<nes_txsrom_device>;
-const device_type NES_TQROM = device_creator<nes_tqrom_device>;
-const device_type NES_QJ_PCB = device_creator<nes_qj_device>;
-const device_type NES_ZZ_PCB = device_creator<nes_zz_device>;
+DEFINE_DEVICE_TYPE(NES_TXROM, nes_txrom_device, "nes_txrom", "NES Cart TxROM (MMC-3) PCB")
+DEFINE_DEVICE_TYPE(NES_HKROM, nes_hkrom_device, "nes_hkrom", "NES Cart HKROM (MMC-6) PCB")
+DEFINE_DEVICE_TYPE(NES_TXSROM, nes_txsrom_device, "nes_txsrom", "NES Cart TxSROM PCB")
+DEFINE_DEVICE_TYPE(NES_TQROM, nes_tqrom_device, "nes_tqrom", "NES Cart TQROM PCB")
+DEFINE_DEVICE_TYPE(NES_QJ_PCB, nes_qj_device, "nes_qj", "NES Cart NES-QJ PCB")
+DEFINE_DEVICE_TYPE(NES_ZZ_PCB, nes_zz_device, "nes_zz", "NES Cart PAL-ZZ PCB")
-nes_txrom_device::nes_txrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_prg_base(0), m_prg_mask(0), m_chr_base(0), m_chr_mask(0),
- m_latch(0), m_wram_protect(0), m_alt_irq(0), m_irq_count(0), m_irq_count_latch(0), m_irq_clear(0), m_irq_enable(0)
- {
+nes_txrom_device::nes_txrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_prg_base(0), m_prg_mask(0), m_chr_base(0), m_chr_mask(0)
+ , m_latch(0), m_wram_protect(0), m_alt_irq(0), m_irq_count(0), m_irq_count_latch(0), m_irq_clear(0), m_irq_enable(0)
+{
}
nes_txrom_device::nes_txrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TXROM, "NES Cart TxROM (MMC-3) PCB", tag, owner, clock, "nes_txrom", __FILE__), m_prg_base(0), m_prg_mask(0), m_chr_base(0), m_chr_mask(0),
- m_latch(0), m_wram_protect(0), m_alt_irq(0), m_irq_count(0), m_irq_count_latch(0), m_irq_clear(0), m_irq_enable(0)
- {
+ : nes_txrom_device(mconfig, NES_TXROM, tag, owner, clock)
+{
}
nes_hkrom_device::nes_hkrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_HKROM, "NES Cart HKROM (MMC-6) PCB", tag, owner, clock, "nes_hkrom", __FILE__), m_wram_enable(0), m_mmc6_reg(0)
- {
+ : nes_txrom_device(mconfig, NES_HKROM, tag, owner, clock), m_wram_enable(0), m_mmc6_reg(0)
+{
}
nes_txsrom_device::nes_txsrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_TXSROM, "NES Cart TxSROM PCB", tag, owner, clock, "nes_txsrom", __FILE__)
+ : nes_txrom_device(mconfig, NES_TXSROM, tag, owner, clock)
{
}
nes_tqrom_device::nes_tqrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_TQROM, "NES Cart TQROM PCB", tag, owner, clock, "nes_tqrom", __FILE__)
+ : nes_txrom_device(mconfig, NES_TQROM, tag, owner, clock)
{
}
nes_qj_device::nes_qj_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_QJ_PCB, "NES Cart NES-QJ PCB", tag, owner, clock, "nes_qj", __FILE__)
+ : nes_txrom_device(mconfig, NES_QJ_PCB, tag, owner, clock)
{
}
nes_zz_device::nes_zz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_ZZ_PCB, "NES Cart PAL-ZZ PCB", tag, owner, clock, "nes_zz", __FILE__)
+ : nes_txrom_device(mconfig, NES_ZZ_PCB, tag, owner, clock)
{
}
@@ -192,7 +191,7 @@ void nes_zz_device::pcb_reset()
/* Here, IRQ counter decrements every scanline. */
void nes_txrom_device::hblank_irq(int scanline, int vblank, int blanked)
{
- if (scanline < PPU_BOTTOM_VISIBLE_SCANLINE)
+ if (scanline < ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE)
{
int prior_count = m_irq_count;
if ((m_irq_count == 0) || m_irq_clear)
diff --git a/src/devices/bus/nes/mmc3.h b/src/devices/bus/nes/mmc3.h
index 17578b92adf..d16a0000268 100644
--- a/src/devices/bus/nes/mmc3.h
+++ b/src/devices/bus/nes/mmc3.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_MMC3_H
-#define __NES_MMC3_H
+#ifndef MAME_BUS_NES_MMC3_H
+#define MAME_BUS_NES_MMC3_H
+
+#pragma once
#include "nxrom.h"
@@ -12,11 +14,8 @@ class nes_txrom_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_txrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_txrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { mmc3_start(); }
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(txrom_write);
@@ -28,6 +27,11 @@ public:
virtual void pcb_reset() override;
protected:
+ nes_txrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { mmc3_start(); }
+
virtual void set_prg(int prg_base, int prg_mask);
virtual void set_chr(uint8_t chr, int chr_base, int chr_mask);
void mmc3_start();
@@ -58,8 +62,6 @@ public:
// construction/destruction
nes_hkrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
@@ -67,6 +69,9 @@ public:
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
int m_wram_enable;
uint8_t m_mmc6_reg;
@@ -133,14 +138,12 @@ public:
};
-
-
// device type definition
-extern const device_type NES_TXROM;
-extern const device_type NES_HKROM;
-extern const device_type NES_TXSROM;
-extern const device_type NES_TQROM;
-extern const device_type NES_QJ_PCB;
-extern const device_type NES_ZZ_PCB;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_TXROM, nes_txrom_device)
+DECLARE_DEVICE_TYPE(NES_HKROM, nes_hkrom_device)
+DECLARE_DEVICE_TYPE(NES_TXSROM, nes_txsrom_device)
+DECLARE_DEVICE_TYPE(NES_TQROM, nes_tqrom_device)
+DECLARE_DEVICE_TYPE(NES_QJ_PCB, nes_qj_device)
+DECLARE_DEVICE_TYPE(NES_ZZ_PCB, nes_zz_device)
+
+#endif // MAME_BUS_NES_MMC3_H
diff --git a/src/devices/bus/nes/mmc3_clones.cpp b/src/devices/bus/nes/mmc3_clones.cpp
index 1485e6411ce..5d776c5d86c 100644
--- a/src/devices/bus/nes/mmc3_clones.cpp
+++ b/src/devices/bus/nes/mmc3_clones.cpp
@@ -28,221 +28,221 @@
// constructor
//-------------------------------------------------
-const device_type NES_NITRA = device_creator<nes_nitra_device>;
-const device_type NES_KS7057 = device_creator<nes_ks7057_device>;
-const device_type NES_SBROS11 = device_creator<nes_sbros11_device>;
-const device_type NES_MALISB = device_creator<nes_malisb_device>;
-const device_type NES_FAMILY4646 = device_creator<nes_family4646_device>;
-const device_type NES_PIKAY2K = device_creator<nes_pikay2k_device>;
-const device_type NES_8237 = device_creator<nes_8237_device>;
-const device_type NES_SG_LIONK = device_creator<nes_sglionk_device>;
-const device_type NES_SG_BOOG = device_creator<nes_sgboog_device>;
-const device_type NES_KASING = device_creator<nes_kasing_device>;
-const device_type NES_KAY = device_creator<nes_kay_device>;
-const device_type NES_H2288 = device_creator<nes_h2288_device>;
-const device_type NES_6035052 = device_creator<nes_6035052_device>;
-const device_type NES_TXC_TW = device_creator<nes_txc_tw_device>;
-const device_type NES_KOF97 = device_creator<nes_kof97_device>;
-const device_type NES_KOF96 = device_creator<nes_kof96_device>;
-const device_type NES_SF3 = device_creator<nes_sf3_device>;
-const device_type NES_GOUDER = device_creator<nes_gouder_device>;
-const device_type NES_SA9602B = device_creator<nes_sa9602b_device>;
-const device_type NES_SACHEN_SHERO = device_creator<nes_sachen_shero_device>;
-//const device_type NES_A9746 = device_creator<nes_a9746_device>;
-
-const device_type NES_FK23C = device_creator<nes_fk23c_device>;
-const device_type NES_FK23CA = device_creator<nes_fk23ca_device>;
-const device_type NES_S24IN1SC03 = device_creator<nes_s24in1sc03_device>;
-const device_type NES_BMC_15IN1 = device_creator<nes_bmc_15in1_device>;
-const device_type NES_BMC_SBIG7 = device_creator<nes_bmc_sbig7_device>;
-const device_type NES_BMC_HIK8 = device_creator<nes_bmc_hik8_device>;
-const device_type NES_BMC_HIK4 = device_creator<nes_bmc_hik4_device>;
-const device_type NES_BMC_MARIO7IN1 = device_creator<nes_bmc_mario7in1_device>;
-const device_type NES_BMC_GOLD7IN1 = device_creator<nes_bmc_gold7in1_device>;
-const device_type NES_BMC_GC6IN1 = device_creator<nes_bmc_gc6in1_device>;
-const device_type NES_BMC_411120C = device_creator<nes_bmc_411120c_device>;
-const device_type NES_BMC_830118C = device_creator<nes_bmc_830118c_device>;
-const device_type NES_PJOY84 = device_creator<nes_pjoy84_device>;
-const device_type NES_COOLBOY = device_creator<nes_coolboy_device>;
+DEFINE_DEVICE_TYPE(NES_NITRA, nes_nitra_device, "nes_nitra", "NES Cart Nitra PCB")
+DEFINE_DEVICE_TYPE(NES_KS7057, nes_ks7057_device, "nes_ks7057", "NES Cart KS-7057 PCB")
+DEFINE_DEVICE_TYPE(NES_SBROS11, nes_sbros11_device, "nes_smb11", "NES Cart SMB 11 PCB")
+DEFINE_DEVICE_TYPE(NES_MALISB, nes_malisb_device, "nes_malisb", "NES Cart Mali Spash Bomb PCB")
+DEFINE_DEVICE_TYPE(NES_FAMILY4646, nes_family4646_device, "nes_family4646", "NES Cart BMC-FAMILY04646 PCB")
+DEFINE_DEVICE_TYPE(NES_PIKAY2K, nes_pikay2k_device, "nes_pikay2k", "NES Cart PIKACHU Y2K PCB")
+DEFINE_DEVICE_TYPE(NES_8237, nes_8237_device, "nes_8237", "NES Cart UNL-8237 PCB")
+DEFINE_DEVICE_TYPE(NES_SG_LIONK, nes_sglionk_device, "nes_sglionk", "NES Cart SuperGame Lion King PCB")
+DEFINE_DEVICE_TYPE(NES_SG_BOOG, nes_sgboog_device, "nes_sgbooger", "NES Cart SuperGame BoogerMan PCB")
+DEFINE_DEVICE_TYPE(NES_KASING, nes_kasing_device, "nes_kasing", "NES Cart Kasing PCB")
+DEFINE_DEVICE_TYPE(NES_KAY, nes_kay_device, "nes_kay", "NES Cart KAY PCB")
+DEFINE_DEVICE_TYPE(NES_H2288, nes_h2288_device, "nes_h2288", "NES Cart H-2288 PCB")
+DEFINE_DEVICE_TYPE(NES_6035052, nes_6035052_device, "nes_6035052", "NES Cart UNL-603-5052 PCB")
+DEFINE_DEVICE_TYPE(NES_TXC_TW, nes_txc_tw_device, "nes_txc_tw", "NES Cart TXC Thunder Warrior PCB")
+DEFINE_DEVICE_TYPE(NES_KOF97, nes_kof97_device, "nes_kof97", "NES Cart KoF 97 PCB")
+DEFINE_DEVICE_TYPE(NES_KOF96, nes_kof96_device, "nes_kof96", "NES Cart KoF 96 PCB")
+DEFINE_DEVICE_TYPE(NES_SF3, nes_sf3_device, "nes_sf3", "NES Cart Super Fighter III PCB")
+DEFINE_DEVICE_TYPE(NES_GOUDER, nes_gouder_device, "nes_gouder", "NES Cart Gouder PCB")
+DEFINE_DEVICE_TYPE(NES_SA9602B, nes_sa9602b_device, "nes_sa9602b", "NES Cart SA-9602B PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_SHERO, nes_sachen_shero_device, "nes_shero", "NES Cart Street Hero PCB")
+//DEFINE_DEVICE_TYPE(NES_A9746, nes_a9746_device, "nes_bmc_a9746", "NES Cart A-9746 PCB")
+
+DEFINE_DEVICE_TYPE(NES_FK23C, nes_fk23c_device, "nes_kf23c", "NES Cart KF23C PCB")
+DEFINE_DEVICE_TYPE(NES_FK23CA, nes_fk23ca_device, "nes_kf23ca", "NES Cart KF23CA PCB")
+DEFINE_DEVICE_TYPE(NES_S24IN1SC03, nes_s24in1sc03_device, "nes_s24in1c03", "NES Cart Super 24 in 1 SC-03 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_15IN1, nes_bmc_15in1_device, "nes_bmc_15in1", "NES Cart BMC 15 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_SBIG7, nes_bmc_sbig7_device, "nes_bmc_sbig7", "NES Cart BMC Super BIG 7 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_HIK8, nes_bmc_hik8_device, "nes_bmc_hik8", "NES Cart BMC HIK 8 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_HIK4, nes_bmc_hik4_device, "nes_bmc_hik4", "NES Cart BMC HIK 4 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_MARIO7IN1, nes_bmc_mario7in1_device, "nes_bmc_mario7in1", "NES Cart BMC Mario 7 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_GOLD7IN1, nes_bmc_gold7in1_device, "nes_bmc_gold7in1", "NES Cart BMC Golden 7 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_GC6IN1, nes_bmc_gc6in1_device, "nes_bmc_gc6in1", "NES Cart BMC Golden Card 6 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_411120C, nes_bmc_411120c_device, "nes_bmc_411120c", "NES Cart BMC 411120C PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_830118C, nes_bmc_830118c_device, "nes_bmc_830118c", "NES Cart BMC 830118C PCB")
+DEFINE_DEVICE_TYPE(NES_PJOY84, nes_pjoy84_device, "nes_pjoy84", "NES Cart Powerjoy 84 PCB")
+DEFINE_DEVICE_TYPE(NES_COOLBOY, nes_coolboy_device, "nes_coolboy", "NES Cart CoolBoy PCB")
nes_nitra_device::nes_nitra_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_NITRA, "NES Cart Nitra PCB", tag, owner, clock, "nes_nitra", __FILE__)
+ : nes_txrom_device(mconfig, NES_NITRA, tag, owner, clock)
{
}
nes_ks7057_device::nes_ks7057_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_KS7057, "NES Cart KS-7057 PCB", tag, owner, clock, "nes_ks7057", __FILE__)
+ : nes_txrom_device(mconfig, NES_KS7057, tag, owner, clock)
{
}
nes_sbros11_device::nes_sbros11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_SBROS11, "NES Cart SMB 11 PCB", tag, owner, clock, "nes_smb11", __FILE__)
+ : nes_txrom_device(mconfig, NES_SBROS11, tag, owner, clock)
{
}
nes_malisb_device::nes_malisb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_MALISB, "NES Cart Mali Spash Bomb PCB", tag, owner, clock, "nes_malisb", __FILE__)
+ : nes_txrom_device(mconfig, NES_MALISB, tag, owner, clock)
{
}
nes_family4646_device::nes_family4646_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_FAMILY4646, "NES Cart BMC-FAMILY-4646 PCB", tag, owner, clock, "nes_family4646", __FILE__)
+ : nes_txrom_device(mconfig, NES_FAMILY4646, tag, owner, clock)
{
}
nes_pikay2k_device::nes_pikay2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_PIKAY2K, "NES Cart PIKACHU Y2K PCB", tag, owner, clock, "nes_pikay2k", __FILE__)
+ : nes_txrom_device(mconfig, NES_PIKAY2K, tag, owner, clock)
{
}
nes_8237_device::nes_8237_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_8237, "NES Cart UNL-8237 PCB", tag, owner, clock, "nes_8237", __FILE__), m_cd_enable(0)
- {
+ : nes_txrom_device(mconfig, NES_8237, tag, owner, clock), m_cd_enable(0)
+{
}
nes_sglionk_device::nes_sglionk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_SG_LIONK, "NES Cart SuperGame Lion King PCB", tag, owner, clock, "nes_sglionk", __FILE__), m_reg(0), m_reg_enabled(0)
- {
+ : nes_txrom_device(mconfig, NES_SG_LIONK, tag, owner, clock), m_reg(0), m_reg_enabled(0)
+{
}
nes_sgboog_device::nes_sgboog_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_SG_BOOG, "NES Cart SuperGame BoogerMan PCB", tag, owner, clock, "nes_sgbooger", __FILE__), m_mode(0)
- {
+ : nes_txrom_device(mconfig, NES_SG_BOOG, tag, owner, clock), m_mode(0)
+{
}
nes_kasing_device::nes_kasing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_KASING, "NES Cart Kasing PCB", tag, owner, clock, "nes_kasing", __FILE__), m_reg(0)
- {
+ : nes_txrom_device(mconfig, NES_KASING, tag, owner, clock), m_reg(0)
+{
}
nes_kay_device::nes_kay_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_KAY, "NES Cart KAY PCB", tag, owner, clock, "nes_kay", __FILE__), m_low_reg(0)
- {
+ : nes_txrom_device(mconfig, NES_KAY, tag, owner, clock), m_low_reg(0)
+{
}
nes_h2288_device::nes_h2288_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_H2288, "NES Cart H-2288 PCB", tag, owner, clock, "nes_h2288", __FILE__)
+ : nes_txrom_device(mconfig, NES_H2288, tag, owner, clock)
{
}
nes_6035052_device::nes_6035052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_6035052, "NES Cart UNL-603-5052 PCB", tag, owner, clock, "nes_6035052", __FILE__), m_prot(0)
- {
+ : nes_txrom_device(mconfig, NES_6035052, tag, owner, clock), m_prot(0)
+{
}
nes_txc_tw_device::nes_txc_tw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_TXC_TW, "NES Cart TXC Thunder Warrior PCB", tag, owner, clock, "nes_txc_tw", __FILE__)
+ : nes_txrom_device(mconfig, NES_TXC_TW, tag, owner, clock)
{
}
nes_kof97_device::nes_kof97_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_KOF97, "NES Cart KOF 97 PCB", tag, owner, clock, "nes_kof97", __FILE__)
+ : nes_txrom_device(mconfig, NES_KOF97, tag, owner, clock)
{
}
nes_kof96_device::nes_kof96_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_KOF96, "NES Cart KOF 96 PCB", tag, owner, clock, "nes_kof96", __FILE__)
+ : nes_txrom_device(mconfig, NES_KOF96, tag, owner, clock)
{
}
nes_sf3_device::nes_sf3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_SF3, "NES Cart Super Fighter III PCB", tag, owner, clock, "nes_sf3", __FILE__)
+ : nes_txrom_device(mconfig, NES_SF3, tag, owner, clock)
{
}
nes_gouder_device::nes_gouder_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_GOUDER, "NES Cart Gouder PCB", tag, owner, clock, "nes_gouder", __FILE__)
+ : nes_txrom_device(mconfig, NES_GOUDER, tag, owner, clock)
{
}
nes_sa9602b_device::nes_sa9602b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_SA9602B, "NES Cart SA-9602B PCB", tag, owner, clock, "nes_sa9602b", __FILE__), m_reg(0), m_prg_chip(0)
- {
+ : nes_txrom_device(mconfig, NES_SA9602B, tag, owner, clock), m_reg(0), m_prg_chip(0)
+{
}
nes_sachen_shero_device::nes_sachen_shero_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_SACHEN_SHERO, "NES Cart Street Hero PCB", tag, owner, clock, "nes_shero", __FILE__), m_reg(0)
- {
+ : nes_txrom_device(mconfig, NES_SACHEN_SHERO, tag, owner, clock), m_reg(0)
+{
}
//nes_a9746_device::nes_a9746_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-// : nes_txrom_device(mconfig, NES_A9746, "NES Cart A-9746 PCB", tag, owner, clock, "nes_bmc_a9746", __FILE__)
+// : nes_txrom_device(mconfig, NES_A9746, tag, owner, clock)
//{
//}
-nes_fk23c_device::nes_fk23c_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_txrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_mmc_cmd1(0)
- {
+nes_fk23c_device::nes_fk23c_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_txrom_device(mconfig, type, tag, owner, clock), m_mmc_cmd1(0)
+{
}
nes_fk23c_device::nes_fk23c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_FK23C, "NES Cart FK23C PCB", tag, owner, clock, "nes_fk23c", __FILE__), m_mmc_cmd1(0)
- {
+ : nes_fk23c_device(mconfig, NES_FK23C, tag, owner, clock)
+{
}
nes_fk23ca_device::nes_fk23ca_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_fk23c_device(mconfig, NES_FK23CA, "NES Cart FK23CA PCB", tag, owner, clock, "nes_fk23ca", __FILE__)
+ : nes_fk23c_device(mconfig, NES_FK23CA, tag, owner, clock)
{
}
nes_s24in1sc03_device::nes_s24in1sc03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_S24IN1SC03, "NES Cart Super 24 in 1 SC-03 PCB", tag, owner, clock, "nes_s24in1c03", __FILE__)
+ : nes_txrom_device(mconfig, NES_S24IN1SC03, tag, owner, clock)
{
}
nes_bmc_15in1_device::nes_bmc_15in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_BMC_15IN1, "NES Cart BMC 15 in 1 PCB", tag, owner, clock, "nes_bmc_15in1", __FILE__)
+ : nes_txrom_device(mconfig, NES_BMC_15IN1, tag, owner, clock)
{
}
nes_bmc_sbig7_device::nes_bmc_sbig7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_BMC_SBIG7, "NES Cart BMC Super BIG 7 in 1 PCB", tag, owner, clock, "nes_bmc_sbit7", __FILE__)
+ : nes_txrom_device(mconfig, NES_BMC_SBIG7, tag, owner, clock)
{
}
nes_bmc_hik8_device::nes_bmc_hik8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_BMC_HIK8, "NES Cart BMC Super HIK 8 in 1 PCB", tag, owner, clock, "nes_bmc_hik8", __FILE__), m_count(0)
- {
+ : nes_txrom_device(mconfig, NES_BMC_HIK8, tag, owner, clock), m_count(0)
+{
}
nes_bmc_hik4_device::nes_bmc_hik4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_BMC_HIK4, "NES Cart BMC Super HIK 4 in 1 PCB", tag, owner, clock, "nes_bmc_hik4", __FILE__)
+ : nes_txrom_device(mconfig, NES_BMC_HIK4, tag, owner, clock)
{
}
nes_bmc_mario7in1_device::nes_bmc_mario7in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_BMC_MARIO7IN1, "NES Cart BMC Mario 7 in 1 PCB", tag, owner, clock, "nes_bmc_mario7in1", __FILE__), m_reg_written(0)
- {
+ : nes_txrom_device(mconfig, NES_BMC_MARIO7IN1, tag, owner, clock), m_reg_written(0)
+{
}
nes_bmc_gold7in1_device::nes_bmc_gold7in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_BMC_GOLD7IN1, "NES Cart BMC Golden 7 in 1 PCB", tag, owner, clock, "nes_bmc_gold7in1", __FILE__), m_reg_written(0)
- {
+ : nes_txrom_device(mconfig, NES_BMC_GOLD7IN1, tag, owner, clock), m_reg_written(0)
+{
}
nes_bmc_gc6in1_device::nes_bmc_gc6in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_BMC_GC6IN1, "NES Cart BMC Golden Card 6 in 1 PCB", tag, owner, clock, "nes_bmc_gc6in1", __FILE__)
+ : nes_txrom_device(mconfig, NES_BMC_GC6IN1, tag, owner, clock)
{
}
nes_bmc_411120c_device::nes_bmc_411120c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_BMC_411120C, "NES Cart BMC 411120C PCB", tag, owner, clock, "nes_bmc_411120c", __FILE__), m_reg(0)
- {
+ : nes_txrom_device(mconfig, NES_BMC_411120C, tag, owner, clock), m_reg(0)
+{
}
nes_bmc_830118c_device::nes_bmc_830118c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_BMC_830118C, "NES Cart BMC 830118C PCB", tag, owner, clock, "nes_bmc_830118c", __FILE__), m_reg(0)
- {
+ : nes_txrom_device(mconfig, NES_BMC_830118C, tag, owner, clock), m_reg(0)
+{
}
nes_pjoy84_device::nes_pjoy84_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_PJOY84, "NES Cart Powerjoy 84 PCB", tag, owner, clock, "nes_pjoy84", __FILE__)
+ : nes_txrom_device(mconfig, NES_PJOY84, tag, owner, clock)
{
}
nes_coolboy_device::nes_coolboy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_COOLBOY, "NES Cart CoolBoy PCB", tag, owner, clock, "nes_coolboy", __FILE__)
+ : nes_txrom_device(mconfig, NES_COOLBOY, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/mmc3_clones.h b/src/devices/bus/nes/mmc3_clones.h
index d8b6327d518..82f3daeb16b 100644
--- a/src/devices/bus/nes/mmc3_clones.h
+++ b/src/devices/bus/nes/mmc3_clones.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_MMC3_CLONES_H
-#define __NES_MMC3_CLONES_H
+#ifndef MAME_BUS_NES_MMC3_CLONES_H
+#define MAME_BUS_NES_MMC3_CLONES_H
+
+#pragma once
#include "mmc3.h"
@@ -83,14 +85,16 @@ public:
// construction/destruction
nes_pikay2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[2];
};
@@ -127,13 +131,15 @@ public:
// construction/destruction
nes_sglionk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
int m_reg_enabled;
@@ -148,8 +154,6 @@ public:
// construction/destruction
nes_sgboog_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
@@ -158,6 +162,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
virtual void set_prg(int prg_base, int prg_mask) override;
uint8_t m_reg[3];
@@ -173,13 +181,15 @@ public:
// construction/destruction
nes_kasing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
};
@@ -193,8 +203,6 @@ public:
// construction/destruction
nes_kay_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
@@ -203,6 +211,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_regs();
uint8_t m_reg[8];
@@ -218,8 +230,6 @@ public:
// construction/destruction
nes_h2288_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
@@ -227,6 +237,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[2]; // reg 1 is unused?
};
@@ -240,8 +254,6 @@ public:
// construction/destruction
nes_6035052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_ex) override;
virtual DECLARE_WRITE8_MEMBER(write_ex) override;
virtual DECLARE_READ8_MEMBER(read_l) override { return read_ex(space, offset, mem_mask); }
@@ -251,6 +263,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_prot;
};
@@ -292,8 +308,6 @@ public:
// construction/destruction
nes_kof96_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; // offset does not really count for this mapper
@@ -302,6 +316,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[4];
};
@@ -331,14 +349,16 @@ public:
// construction/destruction
nes_gouder_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[5];
};
@@ -352,13 +372,15 @@ public:
// construction/destruction
nes_sa9602b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
int m_prg_chip;
@@ -373,14 +395,16 @@ public:
// construction/destruction
nes_sachen_shero_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
};
@@ -394,12 +418,14 @@ public:
// construction/destruction
nes_a9746_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset();
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_banks(uint8_t value);
uint8_t m_reg[3];
@@ -413,11 +439,8 @@ class nes_fk23c_device : public nes_txrom_device
{
public:
// construction/destruction
- nes_fk23c_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_fk23c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
@@ -426,6 +449,11 @@ public:
virtual void pcb_reset() override;
protected:
+ nes_fk23c_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
void fk23c_set_prg();
void fk23c_set_chr();
uint8_t m_reg[8];
@@ -453,14 +481,16 @@ public:
// construction/destruction
nes_s24in1sc03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[3];
};
@@ -504,12 +534,14 @@ public:
// construction/destruction
nes_bmc_hik8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[4];
uint8_t m_count;
@@ -539,12 +571,14 @@ public:
// construction/destruction
nes_bmc_mario7in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg_written;
};
@@ -558,12 +592,14 @@ public:
// construction/destruction
nes_bmc_gold7in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg_written;
};
@@ -577,8 +613,6 @@ public:
// construction/destruction
nes_bmc_gc6in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void prg_cb(int start, int bank) override;
@@ -586,6 +620,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[4];
};
@@ -599,14 +637,16 @@ public:
// construction/destruction
nes_bmc_411120c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
};
@@ -620,14 +660,16 @@ public:
// construction/destruction
nes_bmc_830118c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
};
@@ -641,14 +683,16 @@ public:
// construction/destruction
nes_pjoy84_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
inline void set_base_mask();
uint8_t m_reg[4];
@@ -663,57 +707,51 @@ public:
nes_coolboy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
-// virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
-// virtual void pcb_reset() override;
-
private:
-// inline void set_base_mask();
uint8_t m_reg[4];
};
-
-
// device type definition
-extern const device_type NES_NITRA;
-extern const device_type NES_KS7057;
-extern const device_type NES_SBROS11;
-extern const device_type NES_MALISB;
-extern const device_type NES_FAMILY4646;
-extern const device_type NES_PIKAY2K;
-extern const device_type NES_8237;
-extern const device_type NES_SG_LIONK;
-extern const device_type NES_SG_BOOG;
-extern const device_type NES_KASING;
-extern const device_type NES_KAY;
-extern const device_type NES_H2288;
-extern const device_type NES_6035052;
-extern const device_type NES_TXC_TW;
-extern const device_type NES_KOF97;
-extern const device_type NES_KOF96;
-extern const device_type NES_SF3;
-extern const device_type NES_GOUDER;
-extern const device_type NES_SA9602B;
-extern const device_type NES_SACHEN_SHERO;
-extern const device_type NES_A9746;
-
-extern const device_type NES_FK23C;
-extern const device_type NES_FK23CA;
-extern const device_type NES_S24IN1SC03;
-extern const device_type NES_BMC_15IN1;
-extern const device_type NES_BMC_SBIG7;
-extern const device_type NES_BMC_HIK8;
-extern const device_type NES_BMC_HIK4;
-extern const device_type NES_BMC_MARIO7IN1;
-extern const device_type NES_BMC_GOLD7IN1;
-extern const device_type NES_BMC_GC6IN1;
-extern const device_type NES_BMC_411120C;
-extern const device_type NES_BMC_830118C;
-extern const device_type NES_PJOY84;
-extern const device_type NES_COOLBOY;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_NITRA, nes_nitra_device)
+DECLARE_DEVICE_TYPE(NES_KS7057, nes_ks7057_device)
+DECLARE_DEVICE_TYPE(NES_SBROS11, nes_sbros11_device)
+DECLARE_DEVICE_TYPE(NES_MALISB, nes_malisb_device)
+DECLARE_DEVICE_TYPE(NES_FAMILY4646, nes_family4646_device)
+DECLARE_DEVICE_TYPE(NES_PIKAY2K, nes_pikay2k_device)
+DECLARE_DEVICE_TYPE(NES_8237, nes_8237_device)
+DECLARE_DEVICE_TYPE(NES_SG_LIONK, nes_sglionk_device)
+DECLARE_DEVICE_TYPE(NES_SG_BOOG, nes_sgboog_device)
+DECLARE_DEVICE_TYPE(NES_KASING, nes_kasing_device)
+DECLARE_DEVICE_TYPE(NES_KAY, nes_kay_device)
+DECLARE_DEVICE_TYPE(NES_H2288, nes_h2288_device)
+DECLARE_DEVICE_TYPE(NES_6035052, nes_6035052_device)
+DECLARE_DEVICE_TYPE(NES_TXC_TW, nes_txc_tw_device)
+DECLARE_DEVICE_TYPE(NES_KOF97, nes_kof97_device)
+DECLARE_DEVICE_TYPE(NES_KOF96, nes_kof96_device)
+DECLARE_DEVICE_TYPE(NES_SF3, nes_sf3_device)
+DECLARE_DEVICE_TYPE(NES_GOUDER, nes_gouder_device)
+DECLARE_DEVICE_TYPE(NES_SA9602B, nes_sa9602b_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_SHERO, nes_sachen_shero_device)
+DECLARE_DEVICE_TYPE(NES_A9746, nes_a9746_device)
+
+DECLARE_DEVICE_TYPE(NES_FK23C, nes_fk23c_device)
+DECLARE_DEVICE_TYPE(NES_FK23CA, nes_fk23ca_device)
+DECLARE_DEVICE_TYPE(NES_S24IN1SC03, nes_s24in1sc03_device)
+DECLARE_DEVICE_TYPE(NES_BMC_15IN1, nes_bmc_15in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_SBIG7, nes_bmc_sbig7_device)
+DECLARE_DEVICE_TYPE(NES_BMC_HIK8, nes_bmc_hik8_device)
+DECLARE_DEVICE_TYPE(NES_BMC_HIK4, nes_bmc_hik4_device)
+DECLARE_DEVICE_TYPE(NES_BMC_MARIO7IN1, nes_bmc_mario7in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GOLD7IN1, nes_bmc_gold7in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GC6IN1, nes_bmc_gc6in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_411120C, nes_bmc_411120c_device)
+DECLARE_DEVICE_TYPE(NES_BMC_830118C, nes_bmc_830118c_device)
+DECLARE_DEVICE_TYPE(NES_PJOY84, nes_pjoy84_device)
+DECLARE_DEVICE_TYPE(NES_COOLBOY, nes_coolboy_device)
+
+#endif // MAME_BUS_NES_MMC3_CLONES_H
diff --git a/src/devices/bus/nes/mmc5.cpp b/src/devices/bus/nes/mmc5.cpp
index ff0f382626b..327220fdcc5 100644
--- a/src/devices/bus/nes/mmc5.cpp
+++ b/src/devices/bus/nes/mmc5.cpp
@@ -19,7 +19,7 @@
#include "mmc5.h"
#include "cpu/m6502/m6502.h"
-#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access PPU_BOTTOM_VISIBLE_SCANLINE
+#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
#include "sound/nes_apu.h" // temp hack to pass the additional sound regs to APU...
@@ -41,15 +41,15 @@ static const int m_mmc5_attrib[4] = {0x00, 0x55, 0xaa, 0xff};
// constructor
//-------------------------------------------------
-const device_type NES_EXROM = device_creator<nes_exrom_device>;
+DEFINE_DEVICE_TYPE(NES_EXROM, nes_exrom_device, "nes_exrom", "NES Cart ExROM (MMC-5) PCB")
nes_exrom_device::nes_exrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_EXROM, "NES Cart ExROM (MMC-5) PCB", tag, owner, clock, "nes_exrom", __FILE__), m_irq_count(0),
- m_irq_status(0), m_irq_enable(0), m_mult1(0), m_mult2(0), m_mmc5_scanline(0), m_vrom_page_a(0), m_vrom_page_b(0), m_floodtile(0), m_floodattr(0),
- m_prg_mode(0), m_chr_mode(0), m_wram_protect_1(0), m_wram_protect_2(0), m_exram_control(0), m_wram_base(0), m_last_chr(0), m_ex1_chr(0),
- m_split_chr(0), m_ex1_bank(0), m_high_chr(0), m_split_scr(0), m_split_rev(0), m_split_ctrl(0), m_split_yst(0), m_split_bank(0), m_vcount(0)
- {
+ : nes_nrom_device(mconfig, NES_EXROM, tag, owner, clock), m_irq_count(0)
+ , m_irq_status(0), m_irq_enable(0), m_mult1(0), m_mult2(0), m_mmc5_scanline(0), m_vrom_page_a(0), m_vrom_page_b(0), m_floodtile(0), m_floodattr(0)
+ , m_prg_mode(0), m_chr_mode(0), m_wram_protect_1(0), m_wram_protect_2(0), m_exram_control(0), m_wram_base(0), m_last_chr(0), m_ex1_chr(0)
+ , m_split_chr(0), m_ex1_bank(0), m_high_chr(0), m_split_scr(0), m_split_rev(0), m_split_ctrl(0), m_split_yst(0), m_split_bank(0), m_vcount(0)
+{
}
@@ -245,7 +245,7 @@ void nes_exrom_device::hblank_irq(int scanline, int vblank, int blanked )
// "In Frame" flag
if (scanline == 0)
m_irq_status |= 0x40;
- else if (scanline > PPU_BOTTOM_VISIBLE_SCANLINE)
+ else if (scanline > ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE)
m_irq_status &= ~0x40;
}
diff --git a/src/devices/bus/nes/mmc5.h b/src/devices/bus/nes/mmc5.h
index 1ca0dd1cd88..d677b875771 100644
--- a/src/devices/bus/nes/mmc5.h
+++ b/src/devices/bus/nes/mmc5.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_MMC5_H
-#define __NES_MMC5_H
+#ifndef MAME_BUS_NES_MMC5_H
+#define MAME_BUS_NES_MMC5_H
+
+#pragma once
#include "nxrom.h"
@@ -14,8 +16,6 @@ public:
// construction/destruction
nes_exrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
@@ -31,6 +31,9 @@ public:
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
void set_mirror(int page, int src);
void update_prg();
@@ -86,8 +89,7 @@ protected:
};
-
// device type definition
-extern const device_type NES_EXROM;
+DECLARE_DEVICE_TYPE(NES_EXROM, nes_exrom_device)
-#endif
+#endif // MAME_BUS_NES_MMC5_H
diff --git a/src/devices/bus/nes/multigame.cpp b/src/devices/bus/nes/multigame.cpp
index 0f01641de1a..6971e68ac61 100644
--- a/src/devices/bus/nes/multigame.cpp
+++ b/src/devices/bus/nes/multigame.cpp
@@ -28,288 +28,288 @@
// constructor
//-------------------------------------------------
-const device_type NES_ACTION52 = device_creator<nes_action52_device>;
-const device_type NES_CALTRON6IN1 = device_creator<nes_caltron_device>;
-const device_type NES_RUMBLESTATION = device_creator<nes_rumblestat_device>;
-const device_type NES_SVISION16 = device_creator<nes_svision16_device>;
-const device_type NES_N625092 = device_creator<nes_n625092_device>;
-const device_type NES_A65AS = device_creator<nes_a65as_device>;
-const device_type NES_T262 = device_creator<nes_t262_device>;
-const device_type NES_NOVEL1 = device_creator<nes_novel1_device>;
-const device_type NES_NOVEL2 = device_creator<nes_novel2_device>;
-const device_type NES_STUDYNGAME = device_creator<nes_studyngame_device>;
-const device_type NES_SUPERGUN20IN1 = device_creator<nes_sgun20in1_device>;
-const device_type NES_VT5201 = device_creator<nes_vt5201_device>;
-const device_type NES_810544C = device_creator<nes_810544c_device>;
-const device_type NES_NTD03 = device_creator<nes_ntd03_device>;
-const device_type NES_BMC_GB63 = device_creator<nes_bmc_gb63_device>;
-const device_type NES_BMC_GKA = device_creator<nes_bmc_gka_device>;
-const device_type NES_BMC_GKB = device_creator<nes_bmc_gkb_device>;
-const device_type NES_BMC_WS = device_creator<nes_bmc_ws_device>;
-const device_type NES_BMC_11160 = device_creator<nes_bmc_11160_device>;
-const device_type NES_BMC_G146 = device_creator<nes_bmc_g146_device>;
-const device_type NES_BMC_8157 = device_creator<nes_bmc_8157_device>;
-const device_type NES_BMC_HIK300 = device_creator<nes_bmc_hik300_device>;
-const device_type NES_BMC_S700 = device_creator<nes_bmc_s700_device>;
-const device_type NES_BMC_BALL11 = device_creator<nes_bmc_ball11_device>;
-const device_type NES_BMC_22GAMES = device_creator<nes_bmc_22games_device>;
-const device_type NES_BMC_64Y2K = device_creator<nes_bmc_64y2k_device>;
-const device_type NES_BMC_12IN1 = device_creator<nes_bmc_12in1_device>;
-const device_type NES_BMC_20IN1 = device_creator<nes_bmc_20in1_device>;
-const device_type NES_BMC_21IN1 = device_creator<nes_bmc_21in1_device>;
-const device_type NES_BMC_31IN1 = device_creator<nes_bmc_31in1_device>;
-const device_type NES_BMC_35IN1 = device_creator<nes_bmc_35in1_device>;
-const device_type NES_BMC_36IN1 = device_creator<nes_bmc_36in1_device>;
-const device_type NES_BMC_64IN1 = device_creator<nes_bmc_64in1_device>;
-const device_type NES_BMC_70IN1 = device_creator<nes_bmc_70in1_device>;
-const device_type NES_BMC_72IN1 = device_creator<nes_bmc_72in1_device>;
-const device_type NES_BMC_76IN1 = device_creator<nes_bmc_76in1_device>;
-const device_type NES_BMC_110IN1 = device_creator<nes_bmc_110in1_device>;
-const device_type NES_BMC_150IN1 = device_creator<nes_bmc_150in1_device>;
-const device_type NES_BMC_190IN1 = device_creator<nes_bmc_190in1_device>;
-const device_type NES_BMC_800IN1 = device_creator<nes_bmc_800in1_device>;
-const device_type NES_BMC_1200IN1 = device_creator<nes_bmc_1200in1_device>;
-const device_type NES_BMC_GOLD150 = device_creator<nes_bmc_gold150_device>;
-const device_type NES_BMC_GOLD260 = device_creator<nes_bmc_gold260_device>;
-const device_type NES_BMC_CH001 = device_creator<nes_bmc_ch001_device>;
-const device_type NES_BMC_SUPER22 = device_creator<nes_bmc_super22_device>;
-const device_type NES_BMC_4IN1RESET = device_creator<nes_bmc_4in1reset_device>;
-const device_type NES_BMC_42IN1RESET = device_creator<nes_bmc_42in1reset_device>;
+DEFINE_DEVICE_TYPE(NES_ACTION52, nes_action52_device, "nes_action52", "NES Cart Action 52 PCB")
+DEFINE_DEVICE_TYPE(NES_CALTRON6IN1, nes_caltron_device, "nes_caltron", "NES Cart Caltron 6 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_RUMBLESTATION, nes_rumblestat_device, "nes_rumblestat", "NES Cart Rumblestation PCB")
+DEFINE_DEVICE_TYPE(NES_SVISION16, nes_svision16_device, "nes_svision16", "NES Cart Supervision 16 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_N625092, nes_n625092_device, "nes_n625092", "NES Cart N625092 PCB")
+DEFINE_DEVICE_TYPE(NES_A65AS, nes_a65as_device, "nes_a65as", "NES Cart A65AS PCB")
+DEFINE_DEVICE_TYPE(NES_T262, nes_t262_device, "nes_t262", "NES Cart T-262 PCB")
+DEFINE_DEVICE_TYPE(NES_NOVEL1, nes_novel1_device, "nes_novel1", "NES Cart Novel Diamond Type 1 PCB")
+DEFINE_DEVICE_TYPE(NES_NOVEL2, nes_novel2_device, "nes_novel2", "NES Cart Novel Diamond Type 2 PCB")
+DEFINE_DEVICE_TYPE(NES_STUDYNGAME, nes_studyngame_device, "nes_studyngame", "NES Cart Study n Game PCB")
+DEFINE_DEVICE_TYPE(NES_SUPERGUN20IN1, nes_sgun20in1_device, "nes_sgun20in1", "NES Cart Supergun 20 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_VT5201, nes_vt5201_device, "nes_vt5201", "NES Cart VT5201 PCB")
+DEFINE_DEVICE_TYPE(NES_810544C, nes_810544c_device, "nes_810544c", "NES Cart 810544-C-A1 PCB")
+DEFINE_DEVICE_TYPE(NES_NTD03, nes_ntd03_device, "nes_ntd03", "NES Cart NTD-03 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_GB63, nes_bmc_gb63_device, "nes_bmc_gb63", "NES Cart BMC Ghostbusters 63 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_GKA, nes_bmc_gka_device, "nes_bmc_gka", "NES Cart BMC GK-A PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_GKB, nes_bmc_gkb_device, "nes_bmc_gkb", "NES Cart BMC GK-B PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_WS, nes_bmc_ws_device, "nes_bmc_ws", "NES Cart BMC WS PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_11160, nes_bmc_11160_device, "nes_bmc_1160", "NES Cart BMC-1160 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_G146, nes_bmc_g146_device, "nes_bmc_g146", "NES Cart BMC-G-146 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_8157, nes_bmc_8157_device, "nes_bmc_8157", "NES Cart BMC-8157 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_HIK300, nes_bmc_hik300_device, "nes_bmc_hik300", "NES Cart BMC HIK 300 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_S700, nes_bmc_s700_device, "nes_bmc_s700", "NES Cart BMC Super 700 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_BALL11, nes_bmc_ball11_device, "nes_bmc_ball11", "NES Cart BMC Ball 11 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_22GAMES, nes_bmc_22games_device, "nes_bmc_22games", "NES Cart BMC 22 Games PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_64Y2K, nes_bmc_64y2k_device, "nes_bmc_64y2k", "NES Cart BMC 64 in 1 Y2K PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_12IN1, nes_bmc_12in1_device, "nes_bmc_12in1", "NES Cart BMC 12 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_20IN1, nes_bmc_20in1_device, "nes_bmc_20in1", "NES Cart BMC 20 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_21IN1, nes_bmc_21in1_device, "nes_bmc_21in1", "NES Cart BMC 21 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_31IN1, nes_bmc_31in1_device, "nes_bmc_31in1", "NES Cart BMC 31 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_35IN1, nes_bmc_35in1_device, "nes_bmc_35in1", "NES Cart BMC 35 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_36IN1, nes_bmc_36in1_device, "nes_bmc_36in1", "NES Cart BMC 36 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_64IN1, nes_bmc_64in1_device, "nes_bmc_64in1", "NES Cart BMC 64 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_70IN1, nes_bmc_70in1_device, "nes_bmc_70in1", "NES Cart BMC 70 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_72IN1, nes_bmc_72in1_device, "nes_bmc_72in1", "NES Cart BMC 72 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_76IN1, nes_bmc_76in1_device, "nes_bmc_76in1", "NES Cart BMC 76 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_110IN1, nes_bmc_110in1_device, "nes_bmc_110in1", "NES Cart BMC 110 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_150IN1, nes_bmc_150in1_device, "nes_bmc_150in1", "NES Cart BMC 150 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_190IN1, nes_bmc_190in1_device, "nes_bmc_190in1", "NES Cart BMC 190 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_800IN1, nes_bmc_800in1_device, "nes_bmc_800in1", "NES Cart BMC 800 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_1200IN1, nes_bmc_1200in1_device, "nes_bmc_1200in1", "NES Cart BMC 1200 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_GOLD150, nes_bmc_gold150_device, "nes_bmc_gold150", "NES Cart BMC Golden 150 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_GOLD260, nes_bmc_gold260_device, "nes_bmc_gold260", "NES Cart BMC Golden 260 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_CH001, nes_bmc_ch001_device, "nes_bmc_ch001", "NES Cart BMC CH-001 PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_SUPER22, nes_bmc_super22_device, "nes_bmc_super22", "NES Cart BMC Super 22 Games PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_4IN1RESET, nes_bmc_4in1reset_device, "nes_bmc_4in1reset", "NES Cart BMC 4 in 1 (Reset Based) PCB")
+DEFINE_DEVICE_TYPE(NES_BMC_42IN1RESET, nes_bmc_42in1reset_device, "nes_bmc_42in1reset", "NES Cart BMC 42 in 1 (Reset Based) PCB")
nes_action52_device::nes_action52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_ACTION52, "NES Cart Action 52 PCB", tag, owner, clock, "nes_action52", __FILE__)
+ : nes_nrom_device(mconfig, NES_ACTION52, tag, owner, clock)
{
}
nes_caltron_device::nes_caltron_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_CALTRON6IN1, "NES Cart Caltron 6 in 1 PCB", tag, owner, clock, "nes_caltron", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_CALTRON6IN1, tag, owner, clock), m_latch(0)
+{
}
nes_rumblestat_device::nes_rumblestat_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_RUMBLESTATION, "NES Cart Rumblestation PCB", tag, owner, clock, "nes_rumblestat", __FILE__), m_prg(0), m_chr(0)
- {
+ : nes_nrom_device(mconfig, NES_RUMBLESTATION, tag, owner, clock), m_prg(0), m_chr(0)
+{
}
nes_svision16_device::nes_svision16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SVISION16, "NES Cart Supervision 16 in 1 PCB", tag, owner, clock, "nes_svision16", __FILE__), m_latch1(0), m_latch2(0)
- {
+ : nes_nrom_device(mconfig, NES_SVISION16, tag, owner, clock), m_latch1(0), m_latch2(0)
+{
}
nes_n625092_device::nes_n625092_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_N625092, "NES Cart N625092 PCB", tag, owner, clock, "nes_n625092", __FILE__), m_latch1(0), m_latch2(0)
- {
+ : nes_nrom_device(mconfig, NES_N625092, tag, owner, clock), m_latch1(0), m_latch2(0)
+{
}
nes_a65as_device::nes_a65as_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_A65AS, "NES Cart A65AS PCB", tag, owner, clock, "nes_a65as", __FILE__)
+ : nes_nrom_device(mconfig, NES_A65AS, tag, owner, clock)
{
}
nes_t262_device::nes_t262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_T262, "NES Cart T-262 PCB", tag, owner, clock, "nes_t262", __FILE__), m_latch1(0), m_latch2(0)
- {
+ : nes_nrom_device(mconfig, NES_T262, tag, owner, clock), m_latch1(0), m_latch2(0)
+{
}
nes_novel1_device::nes_novel1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NOVEL1, "NES Cart Novel Diamond Type 1 PCB", tag, owner, clock, "nes_novel1", __FILE__)
+ : nes_nrom_device(mconfig, NES_NOVEL1, tag, owner, clock)
{
}
nes_novel2_device::nes_novel2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NOVEL2, "NES Cart Novel Diamond Type 2 PCB", tag, owner, clock, "nes_novel2", __FILE__)
+ : nes_nrom_device(mconfig, NES_NOVEL2, tag, owner, clock)
{
}
nes_studyngame_device::nes_studyngame_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_STUDYNGAME, "NES Cart Study n Game PCB", tag, owner, clock, "nes_studyngame", __FILE__)
+ : nes_nrom_device(mconfig, NES_STUDYNGAME, tag, owner, clock)
{
}
nes_sgun20in1_device::nes_sgun20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SUPERGUN20IN1, "NES Cart Supergun 20 in 1 PCB", tag, owner, clock, "nes_sgun20in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_SUPERGUN20IN1, tag, owner, clock)
{
}
nes_vt5201_device::nes_vt5201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_VT5201, "NES Cart VT5201 PCB", tag, owner, clock, "nes_vt5201", __FILE__), m_latch(0), m_dipsetting(0)
- {
+ : nes_nrom_device(mconfig, NES_VT5201, tag, owner, clock), m_latch(0), m_dipsetting(0)
+{
}
nes_810544c_device::nes_810544c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_810544C, "NES Cart 810544-C-A1 PCB", tag, owner, clock, "nes_810544c", __FILE__)
+ : nes_nrom_device(mconfig, NES_810544C, tag, owner, clock)
{
}
nes_ntd03_device::nes_ntd03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NTD03, "NES Cart NTD-03 PCB", tag, owner, clock, "nes_ntd03", __FILE__)
+ : nes_nrom_device(mconfig, NES_NTD03, tag, owner, clock)
{
}
nes_bmc_gb63_device::nes_bmc_gb63_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_GB63, "NES Cart BMC Ghostbusters 63 in 1 PCB", tag, owner, clock, "nes_bmc_gb63", __FILE__), m_latch(0), m_dipsetting(0), m_vram_disable(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_GB63, tag, owner, clock), m_latch(0), m_dipsetting(0), m_vram_disable(0)
+{
}
nes_bmc_gka_device::nes_bmc_gka_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_GKA, "NES Cart BMC GK-A PCB", tag, owner, clock, "nes_bmc_gka", __FILE__), m_latch1(0), m_latch2(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_GKA, tag, owner, clock), m_latch1(0), m_latch2(0)
+{
}
nes_bmc_gkb_device::nes_bmc_gkb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_GKB, "NES Cart BMC GK-B PCB", tag, owner, clock, "nes_bmc_gkb", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_GKB, tag, owner, clock)
{
}
nes_bmc_ws_device::nes_bmc_ws_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_WS, "NES Cart BMC WS PCB", tag, owner, clock, "nes_bmc_ws", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_WS, tag, owner, clock), m_latch(0)
+{
}
nes_bmc_11160_device::nes_bmc_11160_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_11160, "NES Cart BMC-11160 PCB", tag, owner, clock, "nes_bmc_11160", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_11160, tag, owner, clock)
{
}
nes_bmc_g146_device::nes_bmc_g146_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_G146, "NES Cart BMC-G-146 PCB", tag, owner, clock, "nes_bmc_g146", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_G146, tag, owner, clock)
{
}
nes_bmc_8157_device::nes_bmc_8157_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_8157, "NES Cart BMC-8157 PCB", tag, owner, clock, "nes_bmc_8157", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_8157, tag, owner, clock)
{
}
nes_bmc_hik300_device::nes_bmc_hik300_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_HIK300, "NES Cart BMC HIK 300 in 1 PCB", tag, owner, clock, "nes_bmc_hik300", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_HIK300, tag, owner, clock)
{
}
nes_bmc_s700_device::nes_bmc_s700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_S700, "NES Cart BMC Super 700 in 1 PCB", tag, owner, clock, "nes_bmc_s700", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_S700, tag, owner, clock)
{
}
nes_bmc_ball11_device::nes_bmc_ball11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_BALL11, "NES Cart BMC Ball 11 in 1 PCB", tag, owner, clock, "nes_bmc_ball11", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_BALL11, tag, owner, clock)
{
}
nes_bmc_22games_device::nes_bmc_22games_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_22GAMES, "NES Cart BMC 22 Games PCB", tag, owner, clock, "nes_bmc_22games", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_22GAMES, tag, owner, clock)
{
}
nes_bmc_64y2k_device::nes_bmc_64y2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_64Y2K, "NES Cart BMC 64 in 1 Y2K PCB", tag, owner, clock, "nes_bmc_64y2k", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_64Y2K, tag, owner, clock)
{
}
nes_bmc_12in1_device::nes_bmc_12in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_12IN1, "NES Cart BMC 12 in 1 PCB", tag, owner, clock, "nes_bmc_12in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_12IN1, tag, owner, clock)
{
}
nes_bmc_20in1_device::nes_bmc_20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_20IN1, "NES Cart BMC 20 in 1 PCB", tag, owner, clock, "nes_bmc_20in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_20IN1, tag, owner, clock)
{
}
nes_bmc_21in1_device::nes_bmc_21in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_21IN1, "NES Cart BMC 21 in 1 PCB", tag, owner, clock, "nes_bmc_21in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_21IN1, tag, owner, clock)
{
}
nes_bmc_31in1_device::nes_bmc_31in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_31IN1, "NES Cart BMC 31 in 1 PCB", tag, owner, clock, "nes_bmc_31in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_31IN1, tag, owner, clock)
{
}
nes_bmc_35in1_device::nes_bmc_35in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_35IN1, "NES Cart BMC 35 in 1 PCB", tag, owner, clock, "nes_bmc_35in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_35IN1, tag, owner, clock)
{
}
nes_bmc_36in1_device::nes_bmc_36in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_36IN1, "NES Cart BMC 36 in 1 PCB", tag, owner, clock, "nes_bmc_36in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_36IN1, tag, owner, clock)
{
}
nes_bmc_64in1_device::nes_bmc_64in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_64IN1, "NES Cart BMC 64 in 1 PCB", tag, owner, clock, "nes_bmc_64in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_64IN1, tag, owner, clock)
{
}
nes_bmc_70in1_device::nes_bmc_70in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_70IN1, "NES Cart BMC 70 in 1 PCB", tag, owner, clock, "nes_bmc_70in1", __FILE__), m_mode(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_70IN1, tag, owner, clock), m_mode(0)
+{
}
nes_bmc_72in1_device::nes_bmc_72in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_72IN1, "NES Cart BMC 72 in 1 PCB", tag, owner, clock, "nes_bmc_72in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_72IN1, tag, owner, clock)
{
}
nes_bmc_76in1_device::nes_bmc_76in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_76IN1, "NES Cart BMC 76 in 1 PCB", tag, owner, clock, "nes_bmc_76in1", __FILE__), m_latch1(0), m_latch2(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_76IN1, tag, owner, clock), m_latch1(0), m_latch2(0)
+{
}
nes_bmc_110in1_device::nes_bmc_110in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_110IN1, "NES Cart BMC 110 in 1 PCB", tag, owner, clock, "nes_bmc_110in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_110IN1, tag, owner, clock)
{
}
nes_bmc_150in1_device::nes_bmc_150in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_150IN1, "NES Cart BMC 150 in 1 PCB", tag, owner, clock, "nes_bmc_150in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_150IN1, tag, owner, clock)
{
}
nes_bmc_190in1_device::nes_bmc_190in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_190IN1, "NES Cart BMC 190 in 1 PCB", tag, owner, clock, "nes_bmc_190in1", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_190IN1, tag, owner, clock)
{
}
nes_bmc_800in1_device::nes_bmc_800in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_800IN1, "NES Cart BMC 800 in 1 PCB", tag, owner, clock, "nes_bmc_800in1", __FILE__), m_mode(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_800IN1, tag, owner, clock), m_mode(0)
+{
}
nes_bmc_1200in1_device::nes_bmc_1200in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_1200IN1, "NES Cart BMC 1200 in 1 PCB", tag, owner, clock, "nes_bmc_1200in1", __FILE__), m_vram_protect(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_1200IN1, tag, owner, clock), m_vram_protect(0)
+{
}
nes_bmc_gold150_device::nes_bmc_gold150_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_GOLD150, "NES Cart BMC Golden 150 in 1 PCB", tag, owner, clock, "nes_bmc_gold150", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_GOLD150, tag, owner, clock), m_latch(0)
+{
}
nes_bmc_gold260_device::nes_bmc_gold260_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_GOLD260, "NES Cart BMC Golden 260 in 1 PCB", tag, owner, clock, "nes_bmc_gold260", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_GOLD260, tag, owner, clock)
{
}
nes_bmc_ch001_device::nes_bmc_ch001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_CH001, "NES Cart BMC CH-001 PCB", tag, owner, clock, "nes_bmc_ch001", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_CH001, tag, owner, clock), m_latch(0)
+{
}
nes_bmc_super22_device::nes_bmc_super22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_SUPER22, "NES Cart BMC Super 22 Games PCB", tag, owner, clock, "nes_bmc_super22", __FILE__)
+ : nes_nrom_device(mconfig, NES_BMC_SUPER22, tag, owner, clock)
{
}
nes_bmc_4in1reset_device::nes_bmc_4in1reset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_4IN1RESET, "NES Cart BMC 4 in 1 (Reset Based) PCB", tag, owner, clock, "nes_bmc_4in1reset", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_4IN1RESET, tag, owner, clock), m_latch(0)
+{
}
nes_bmc_42in1reset_device::nes_bmc_42in1reset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BMC_42IN1RESET, "NES Cart BMC 42 in 1 (Reset Based) PCB", tag, owner, clock, "nes_bmc_42in1reset", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_BMC_42IN1RESET, tag, owner, clock), m_latch(0)
+{
}
diff --git a/src/devices/bus/nes/multigame.h b/src/devices/bus/nes/multigame.h
index 65c803910e8..e88ec21be58 100644
--- a/src/devices/bus/nes/multigame.h
+++ b/src/devices/bus/nes/multigame.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_MULTIGAME_H
-#define __NES_MULTIGAME_H
+#ifndef MAME_BUS_NES_MULTIGAME_H
+#define MAME_BUS_NES_MULTIGAME_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_action52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,13 +34,15 @@ public:
// construction/destruction
nes_caltron_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -50,13 +56,15 @@ public:
// construction/destruction
nes_rumblestat_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_prg, m_chr;
};
@@ -70,14 +78,16 @@ public:
// construction/destruction
nes_svision16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_prg();
uint8_t m_latch1, m_latch2;
@@ -92,12 +102,14 @@ public:
// construction/destruction
nes_n625092_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void set_prg(uint8_t reg1, uint8_t reg2);
uint8_t m_latch1, m_latch2;
@@ -112,11 +124,13 @@ public:
// construction/destruction
nes_a65as_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -128,12 +142,14 @@ public:
// construction/destruction
nes_t262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch1, m_latch2;
};
@@ -147,11 +163,13 @@ public:
// construction/destruction
nes_novel1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -163,11 +181,13 @@ public:
// construction/destruction
nes_novel2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -179,11 +199,13 @@ public:
// construction/destruction
nes_studyngame_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -195,11 +217,13 @@ public:
// construction/destruction
nes_sgun20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -211,13 +235,15 @@ public:
// construction/destruction
nes_vt5201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch, m_dipsetting;
};
@@ -231,11 +257,13 @@ public:
// construction/destruction
nes_810544c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -247,11 +275,13 @@ public:
// construction/destruction
nes_ntd03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -263,14 +293,16 @@ public:
// construction/destruction
nes_bmc_gb63_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual DECLARE_WRITE8_MEMBER(chr_w) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_banks();
uint8_t m_latch, m_dipsetting;
@@ -286,12 +318,14 @@ public:
// construction/destruction
nes_bmc_gka_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch1, m_latch2;
};
@@ -305,11 +339,13 @@ public:
// construction/destruction
nes_bmc_gkb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -321,12 +357,14 @@ public:
// construction/destruction
nes_bmc_ws_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -340,11 +378,13 @@ public:
// construction/destruction
nes_bmc_11160_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -356,11 +396,13 @@ public:
// construction/destruction
nes_bmc_g146_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -372,12 +414,14 @@ public:
// construction/destruction
nes_bmc_8157_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -389,11 +433,13 @@ public:
// construction/destruction
nes_bmc_hik300_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -405,11 +451,13 @@ public:
// construction/destruction
nes_bmc_s700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -421,13 +469,15 @@ public:
// construction/destruction
nes_bmc_ball11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void set_banks();
uint8_t m_reg[2];
@@ -442,11 +492,13 @@ public:
// construction/destruction
nes_bmc_22games_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -458,13 +510,15 @@ public:
// construction/destruction
nes_bmc_64y2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void set_prg();
uint8_t m_reg[4];
@@ -479,12 +533,14 @@ public:
// construction/destruction
nes_bmc_12in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_banks();
uint8_t m_reg[3];
@@ -499,11 +555,13 @@ public:
// construction/destruction
nes_bmc_20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -515,11 +573,13 @@ public:
// construction/destruction
nes_bmc_21in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -531,11 +591,13 @@ public:
// construction/destruction
nes_bmc_31in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -547,11 +609,13 @@ public:
// construction/destruction
nes_bmc_35in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -563,11 +627,13 @@ public:
// construction/destruction
nes_bmc_36in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -579,11 +645,13 @@ public:
// construction/destruction
nes_bmc_64in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -595,13 +663,15 @@ public:
// construction/destruction
nes_bmc_70in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_mode;
uint8_t m_reg[2];
@@ -616,11 +686,13 @@ public:
// construction/destruction
nes_bmc_72in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -632,12 +704,14 @@ public:
// construction/destruction
nes_bmc_76in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch1, m_latch2;
};
@@ -651,11 +725,13 @@ public:
// construction/destruction
nes_bmc_110in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -667,11 +743,13 @@ public:
// construction/destruction
nes_bmc_150in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -683,11 +761,13 @@ public:
// construction/destruction
nes_bmc_190in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -699,13 +779,15 @@ public:
// construction/destruction
nes_bmc_800in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_mode;
uint8_t m_reg[2];
@@ -720,13 +802,15 @@ public:
// construction/destruction
nes_bmc_1200in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual DECLARE_WRITE8_MEMBER(chr_w) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_vram_protect;
};
@@ -740,13 +824,15 @@ public:
// construction/destruction
nes_bmc_gold150_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -760,11 +846,13 @@ public:
// construction/destruction
nes_bmc_gold260_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -776,13 +864,15 @@ public:
// construction/destruction
nes_bmc_ch001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -796,11 +886,13 @@ public:
// construction/destruction
nes_bmc_super22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -812,9 +904,11 @@ public:
// construction/destruction
nes_bmc_4in1reset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual void pcb_reset() override;
+
+protected:
// device-level overrides
virtual void device_start() override;
- virtual void pcb_reset() override;
private:
int m_latch;
@@ -828,67 +922,67 @@ public:
// construction/destruction
nes_bmc_42in1reset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
int m_latch;
uint8_t m_reg[2];
};
-
// device type definition
-extern const device_type NES_ACTION52;
-extern const device_type NES_CALTRON6IN1;
-extern const device_type NES_RUMBLESTATION;
-extern const device_type NES_SVISION16;
-extern const device_type NES_N625092;
-extern const device_type NES_A65AS;
-extern const device_type NES_T262;
-extern const device_type NES_NOVEL1;
-extern const device_type NES_NOVEL2;
-extern const device_type NES_STUDYNGAME;
-extern const device_type NES_SUPERGUN20IN1;
-extern const device_type NES_VT5201;
-extern const device_type NES_810544C;
-extern const device_type NES_NTD03;
-extern const device_type NES_BMC_GB63;
-extern const device_type NES_BMC_GKA;
-extern const device_type NES_BMC_GKB;
-extern const device_type NES_BMC_WS;
-extern const device_type NES_BMC_11160;
-extern const device_type NES_BMC_G146;
-extern const device_type NES_BMC_8157;
-extern const device_type NES_BMC_HIK300;
-extern const device_type NES_BMC_S700;
-extern const device_type NES_BMC_BALL11;
-extern const device_type NES_BMC_22GAMES;
-extern const device_type NES_BMC_64Y2K;
-extern const device_type NES_BMC_12IN1;
-extern const device_type NES_BMC_20IN1;
-extern const device_type NES_BMC_21IN1;
-extern const device_type NES_BMC_31IN1;
-extern const device_type NES_BMC_35IN1;
-extern const device_type NES_BMC_36IN1;
-extern const device_type NES_BMC_64IN1;
-extern const device_type NES_BMC_70IN1;
-extern const device_type NES_BMC_72IN1;
-extern const device_type NES_BMC_76IN1;
-extern const device_type NES_BMC_110IN1;
-extern const device_type NES_BMC_150IN1;
-extern const device_type NES_BMC_190IN1;
-extern const device_type NES_BMC_800IN1;
-extern const device_type NES_BMC_1200IN1;
-extern const device_type NES_BMC_GOLD150;
-extern const device_type NES_BMC_GOLD260;
-extern const device_type NES_BMC_CH001;
-extern const device_type NES_BMC_SUPER22;
-extern const device_type NES_BMC_4IN1RESET;
-extern const device_type NES_BMC_42IN1RESET;
-
-
-#endif
+DECLARE_DEVICE_TYPE(NES_ACTION52, nes_action52_device)
+DECLARE_DEVICE_TYPE(NES_CALTRON6IN1, nes_caltron_device)
+DECLARE_DEVICE_TYPE(NES_RUMBLESTATION, nes_rumblestat_device)
+DECLARE_DEVICE_TYPE(NES_SVISION16, nes_svision16_device)
+DECLARE_DEVICE_TYPE(NES_N625092, nes_n625092_device)
+DECLARE_DEVICE_TYPE(NES_A65AS, nes_a65as_device)
+DECLARE_DEVICE_TYPE(NES_T262, nes_t262_device)
+DECLARE_DEVICE_TYPE(NES_NOVEL1, nes_novel1_device)
+DECLARE_DEVICE_TYPE(NES_NOVEL2, nes_novel2_device)
+DECLARE_DEVICE_TYPE(NES_STUDYNGAME, nes_studyngame_device)
+DECLARE_DEVICE_TYPE(NES_SUPERGUN20IN1, nes_sgun20in1_device)
+DECLARE_DEVICE_TYPE(NES_VT5201, nes_vt5201_device)
+DECLARE_DEVICE_TYPE(NES_810544C, nes_810544c_device)
+DECLARE_DEVICE_TYPE(NES_NTD03, nes_ntd03_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GB63, nes_bmc_gb63_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GKA, nes_bmc_gka_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GKB, nes_bmc_gkb_device)
+DECLARE_DEVICE_TYPE(NES_BMC_WS, nes_bmc_ws_device)
+DECLARE_DEVICE_TYPE(NES_BMC_11160, nes_bmc_11160_device)
+DECLARE_DEVICE_TYPE(NES_BMC_G146, nes_bmc_g146_device)
+DECLARE_DEVICE_TYPE(NES_BMC_8157, nes_bmc_8157_device)
+DECLARE_DEVICE_TYPE(NES_BMC_HIK300, nes_bmc_hik300_device)
+DECLARE_DEVICE_TYPE(NES_BMC_S700, nes_bmc_s700_device)
+DECLARE_DEVICE_TYPE(NES_BMC_BALL11, nes_bmc_ball11_device)
+DECLARE_DEVICE_TYPE(NES_BMC_22GAMES, nes_bmc_22games_device)
+DECLARE_DEVICE_TYPE(NES_BMC_64Y2K, nes_bmc_64y2k_device)
+DECLARE_DEVICE_TYPE(NES_BMC_12IN1, nes_bmc_12in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_20IN1, nes_bmc_20in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_21IN1, nes_bmc_21in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_31IN1, nes_bmc_31in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_35IN1, nes_bmc_35in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_36IN1, nes_bmc_36in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_64IN1, nes_bmc_64in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_70IN1, nes_bmc_70in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_72IN1, nes_bmc_72in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_76IN1, nes_bmc_76in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_110IN1, nes_bmc_110in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_150IN1, nes_bmc_150in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_190IN1, nes_bmc_190in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_800IN1, nes_bmc_800in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_1200IN1, nes_bmc_1200in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GOLD150, nes_bmc_gold150_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GOLD260, nes_bmc_gold260_device)
+DECLARE_DEVICE_TYPE(NES_BMC_CH001, nes_bmc_ch001_device)
+DECLARE_DEVICE_TYPE(NES_BMC_SUPER22, nes_bmc_super22_device)
+DECLARE_DEVICE_TYPE(NES_BMC_4IN1RESET, nes_bmc_4in1reset_device)
+DECLARE_DEVICE_TYPE(NES_BMC_42IN1RESET, nes_bmc_42in1reset_device)
+
+#endif // MAME_BUS_NES_MULTIGAME_H
diff --git a/src/devices/bus/nes/namcot.cpp b/src/devices/bus/nes/namcot.cpp
index edb1eff11e5..59778cbbaea 100644
--- a/src/devices/bus/nes/namcot.cpp
+++ b/src/devices/bus/nes/namcot.cpp
@@ -41,52 +41,52 @@
// constructor
//-------------------------------------------------
-const device_type NES_NAMCOT3433 = device_creator<nes_namcot3433_device>;
-const device_type NES_NAMCOT3446 = device_creator<nes_namcot3446_device>;
-const device_type NES_NAMCOT3425 = device_creator<nes_namcot3425_device>;
-const device_type NES_NAMCOT175 = device_creator<nes_namcot175_device>;
-const device_type NES_NAMCOT340 = device_creator<nes_namcot340_device>;
-const device_type NES_NAMCOT163 = device_creator<nes_namcot163_device>;
+DEFINE_DEVICE_TYPE(NES_NAMCOT3433, nes_namcot3433_device, "nes_namcot3433", "NES Cart Namcot 3433 & 3443 / DxROM PCB")
+DEFINE_DEVICE_TYPE(NES_NAMCOT3446, nes_namcot3446_device, "nes_namcot3446", "NES Cart Namcot 3446 PCB")
+DEFINE_DEVICE_TYPE(NES_NAMCOT3425, nes_namcot3425_device, "nes_namcot3425", "NES Cart Namcot 3425 PCB")
+DEFINE_DEVICE_TYPE(NES_NAMCOT340, nes_namcot340_device, "nes_namcot340", "NES Cart Namcot 340 PCB")
+DEFINE_DEVICE_TYPE(NES_NAMCOT175, nes_namcot175_device, "nes_namcot175", "NES Cart Namcot 175 PCB")
+DEFINE_DEVICE_TYPE(NES_NAMCOT163, nes_namcot163_device, "nes_namcot163", "NES Cart Namcot 163 PCB")
-nes_namcot3433_device::nes_namcot3433_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_latch(0)
- {
+nes_namcot3433_device::nes_namcot3433_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_latch(0)
+{
}
nes_namcot3433_device::nes_namcot3433_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NAMCOT3433, "NES Cart Namcot 3433 & 3443 / DxROM PCB", tag, owner, clock, "nes_namcot3433", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_NAMCOT3433, tag, owner, clock), m_latch(0)
+{
}
nes_namcot3446_device::nes_namcot3446_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NAMCOT3446, "NES Cart Namcot 3446 PCB", tag, owner, clock, "nes_namcot3446", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_NAMCOT3446, tag, owner, clock), m_latch(0)
+{
}
nes_namcot3425_device::nes_namcot3425_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NAMCOT3425, "NES Cart Namcot 3425 PCB", tag, owner, clock, "nes_namcot3425", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_NAMCOT3425, tag, owner, clock), m_latch(0)
+{
}
-nes_namcot340_device::nes_namcot340_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+nes_namcot340_device::nes_namcot340_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
nes_namcot340_device::nes_namcot340_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NAMCOT340, "NES Cart Namcot 340 PCB", tag, owner, clock, "nes_namcot340", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_namcot340_device(mconfig, NES_NAMCOT340, tag, owner, clock)
+{
}
nes_namcot175_device::nes_namcot175_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_namcot340_device(mconfig, NES_NAMCOT175, "NES Cart Namcot 175 PCB", tag, owner, clock, "nes_namcot175", __FILE__), m_wram_protect(0)
- {
+ : nes_namcot340_device(mconfig, NES_NAMCOT175, tag, owner, clock), m_wram_protect(0)
+{
}
nes_namcot163_device::nes_namcot163_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_namcot340_device(mconfig, NES_NAMCOT163, "NES Cart Namcot 163 PCB", tag, owner, clock, "nes_namcot163", __FILE__), m_wram_protect(0), m_latch(0), m_chr_bank(0)
- {
+ : nes_namcot340_device(mconfig, NES_NAMCOT163, tag, owner, clock), m_wram_protect(0), m_latch(0), m_chr_bank(0)
+{
}
diff --git a/src/devices/bus/nes/namcot.h b/src/devices/bus/nes/namcot.h
index bb65a0c8953..a4ab64084e1 100644
--- a/src/devices/bus/nes/namcot.h
+++ b/src/devices/bus/nes/namcot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_NAMCOT_H
-#define __NES_NAMCOT_H
+#ifndef MAME_BUS_NES_NAMCOT_H
+#define MAME_BUS_NES_NAMCOT_H
+
+#pragma once
#include "nxrom.h"
@@ -12,16 +14,19 @@ class nes_namcot3433_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_namcot3433_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_namcot3433_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(dxrom_write);
virtual DECLARE_WRITE8_MEMBER(write_h) override { dxrom_write(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
+protected:
+ nes_namcot3433_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -35,12 +40,14 @@ public:
// construction/destruction
nes_namcot3446_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -54,12 +61,14 @@ public:
// construction/destruction
nes_namcot3425_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
uint8_t m_reg[4];
@@ -72,12 +81,8 @@ class nes_namcot340_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_namcot340_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_namcot340_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(n340_loread);
virtual DECLARE_WRITE8_MEMBER(n340_lowrite);
virtual DECLARE_WRITE8_MEMBER(n340_hiwrite);
@@ -88,10 +93,17 @@ public:
virtual void pcb_reset() override;
protected:
+ static constexpr device_timer_id TIMER_IRQ = 0;
+
+ nes_namcot340_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
uint16_t m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
// Namcot-163 chip contains 8K of internal ram, possibly battery backed up (not emulated yet)
@@ -129,8 +141,6 @@ public:
// construction/destruction
nes_namcot163_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
@@ -143,6 +153,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void set_mirror(uint8_t page, uint8_t data);
@@ -151,13 +165,12 @@ private:
};
-
// device type definition
-extern const device_type NES_NAMCOT3433;
-extern const device_type NES_NAMCOT3446;
-extern const device_type NES_NAMCOT3425;
-extern const device_type NES_NAMCOT175;
-extern const device_type NES_NAMCOT340;
-extern const device_type NES_NAMCOT163;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_NAMCOT3433, nes_namcot3433_device)
+DECLARE_DEVICE_TYPE(NES_NAMCOT3446, nes_namcot3446_device)
+DECLARE_DEVICE_TYPE(NES_NAMCOT3425, nes_namcot3425_device)
+DECLARE_DEVICE_TYPE(NES_NAMCOT340, nes_namcot340_device)
+DECLARE_DEVICE_TYPE(NES_NAMCOT175, nes_namcot175_device)
+DECLARE_DEVICE_TYPE(NES_NAMCOT163, nes_namcot163_device)
+
+#endif // MAME_BUS_NES_NAMCOT_H
diff --git a/src/devices/bus/nes/nanjing.cpp b/src/devices/bus/nes/nanjing.cpp
index 8acc871f81c..77a699f7a7c 100644
--- a/src/devices/bus/nes/nanjing.cpp
+++ b/src/devices/bus/nes/nanjing.cpp
@@ -30,15 +30,15 @@
// constructor
//-------------------------------------------------
-const device_type NES_NANJING = device_creator<nes_nanjing_device>;
+DEFINE_DEVICE_TYPE(NES_NANJING, nes_nanjing_device, "nes_nanjing", "NES Cart Nanjing PCB")
nes_nanjing_device::nes_nanjing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NANJING, "NES Cart Nanjing PCB", tag, owner, clock, "nes_nanjing", __FILE__),
- m_count(0),
- m_latch1(0),
- m_latch2(0)
- {
+ : nes_nrom_device(mconfig, NES_NANJING, tag, owner, clock)
+ , m_count(0)
+ , m_latch1(0)
+ , m_latch2(0)
+{
}
diff --git a/src/devices/bus/nes/nanjing.h b/src/devices/bus/nes/nanjing.h
index c7f886ba107..f7a7d508f5f 100644
--- a/src/devices/bus/nes/nanjing.h
+++ b/src/devices/bus/nes/nanjing.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_NANJING_H
-#define __NES_NANJING_H
+#ifndef MAME_BUS_NES_NANJING_H
+#define MAME_BUS_NES_NANJING_H
+
+#pragma once
#include "nxrom.h"
@@ -14,14 +16,16 @@ public:
// construction/destruction
nes_nanjing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_count;
uint8_t m_reg[2];
@@ -29,10 +33,7 @@ private:
};
-
-
-
// device type definition
-extern const device_type NES_NANJING;
+DECLARE_DEVICE_TYPE(NES_NANJING, nes_nanjing_device)
-#endif
+#endif // MAME_BUS_NES_NANJING_H
diff --git a/src/devices/bus/nes/nes_carts.cpp b/src/devices/bus/nes/nes_carts.cpp
index 95cce71afaf..a2434621b4c 100644
--- a/src/devices/bus/nes/nes_carts.cpp
+++ b/src/devices/bus/nes/nes_carts.cpp
@@ -9,6 +9,61 @@
#include "emu.h"
#include "nes_carts.h"
+// official PCBs
+#include "nxrom.h"
+#include "mmc1.h"
+#include "mmc2.h"
+#include "mmc3.h"
+#include "mmc5.h"
+#include "bandai.h"
+#include "datach.h"
+#include "discrete.h"
+#include "disksys.h"
+#include "event.h"
+#include "irem.h"
+#include "jaleco.h"
+#include "karastudio.h"
+#include "konami.h"
+#include "namcot.h"
+#include "pt554.h"
+#include "sunsoft.h"
+#include "sunsoft_dcs.h"
+#include "taito.h"
+// unlicensed/bootleg/pirate PCBs
+#include "2a03pur.h"
+#include "act53.h"
+#include "aladdin.h"
+#include "ave.h"
+#include "benshieng.h"
+#include "camerica.h"
+#include "cne.h"
+#include "cony.h"
+#include "ggenie.h"
+#include "hes.h"
+#include "henggedianzi.h"
+#include "hosenkan.h"
+#include "jy.h"
+#include "kaiser.h"
+#include "legacy.h"
+#include "nanjing.h"
+#include "ntdec.h"
+#include "racermate.h"
+#include "rcm.h"
+#include "rexsoft.h"
+#include "sachen.h"
+#include "somari.h"
+#include "subor.h"
+#include "tengen.h"
+#include "txc.h"
+#include "waixing.h"
+#include "zemina.h"
+// misc unlicensed/bootleg/pirate PCBs
+#include "bootleg.h"
+#include "multigame.h"
+#include "pirate.h"
+#include "mmc3_clones.h"
+
+
SLOT_INTERFACE_START(nes_cart)
// HROM, NROM, RROM, SROM & STROM
SLOT_INTERFACE_INTERNAL("nrom", NES_NROM)
diff --git a/src/devices/bus/nes/nes_carts.h b/src/devices/bus/nes/nes_carts.h
index 85bc4b429fb..421a5b12386 100644
--- a/src/devices/bus/nes/nes_carts.h
+++ b/src/devices/bus/nes/nes_carts.h
@@ -6,69 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_CARTS_H__
-#define __NES_CARTS_H__
+#ifndef MAME_BUS_NES_NES_CARTS_H
+#define MAME_BUS_NES_NES_CARTS_H
-
-// official PCBs
-#include "nxrom.h"
-#include "mmc1.h"
-#include "mmc2.h"
-#include "mmc3.h"
-#include "mmc5.h"
-#include "bandai.h"
-#include "datach.h"
-#include "discrete.h"
-#include "disksys.h"
-#include "event.h"
-#include "irem.h"
-#include "jaleco.h"
-#include "karastudio.h"
-#include "konami.h"
-#include "namcot.h"
-#include "pt554.h"
-#include "sunsoft.h"
-#include "sunsoft_dcs.h"
-#include "taito.h"
-// unlicensed/bootleg/pirate PCBs
-#include "2a03pur.h"
-#include "act53.h"
-#include "aladdin.h"
-#include "ave.h"
-#include "benshieng.h"
-#include "camerica.h"
-#include "cne.h"
-#include "cony.h"
-#include "ggenie.h"
-#include "hes.h"
-#include "henggedianzi.h"
-#include "hosenkan.h"
-#include "jy.h"
-#include "kaiser.h"
-#include "legacy.h"
-#include "nanjing.h"
-#include "ntdec.h"
-#include "racermate.h"
-#include "rcm.h"
-#include "rexsoft.h"
-#include "sachen.h"
-#include "somari.h"
-#include "subor.h"
-#include "tengen.h"
-#include "txc.h"
-#include "waixing.h"
-#include "zemina.h"
-// misc unlicensed/bootleg/pirate PCBs
-#include "bootleg.h"
-#include "multigame.h"
-#include "pirate.h"
-#include "mmc3_clones.h"
+#pragma once
// supported devices
SLOT_INTERFACE_EXTERN(nes_cart);
SLOT_INTERFACE_EXTERN(disksys_only);
-#endif // __NES_CARTS_H__
+#endif // MAME_BUS_NES_NES_CARTS_H
diff --git a/src/devices/bus/nes/nes_slot.cpp b/src/devices/bus/nes/nes_slot.cpp
index 530287142e7..b8f99355faa 100644
--- a/src/devices/bus/nes/nes_slot.cpp
+++ b/src/devices/bus/nes/nes_slot.cpp
@@ -93,7 +93,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NES_CART_SLOT = device_creator<nes_cart_slot_device>;
+DEFINE_DEVICE_TYPE(NES_CART_SLOT, nes_cart_slot_device, "nes_cart_slot", "NES Cartridge Slot")
//**************************************************************************
@@ -105,31 +105,32 @@ const device_type NES_CART_SLOT = device_creator<nes_cart_slot_device>;
//-------------------------------------------------
device_nes_cart_interface::device_nes_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_prg(nullptr),
- m_vrom(nullptr),
- m_ciram(nullptr),
- m_prg_size(0),
- m_vrom_size(0), m_maincpu(nullptr),
- m_mapper_sram(nullptr),
- m_mapper_sram_size(0),
- m_ce_mask(0),
- m_ce_state(0),
- m_vrc_ls_prg_a(0),
- m_vrc_ls_prg_b(0),
- m_vrc_ls_chr(0),
- m_mirroring(PPU_MIRROR_NONE),
- m_pcb_ctrl_mirror(false),
- m_four_screen_vram(false),
- m_has_trainer(false),
- m_x1_005_alt_mirroring(false),
- m_bus_conflict(true),
- m_open_bus(0),
- m_prg_chunks(0),
- m_prg_mask(0xffff),
- m_chr_source(CHRRAM),
- m_vrom_chunks(0),
- m_vram_chunks(0)
+ : device_slot_card_interface(mconfig, device)
+ , m_prg(nullptr)
+ , m_vrom(nullptr)
+ , m_ciram(nullptr)
+ , m_prg_size(0)
+ , m_vrom_size(0)
+ , m_maincpu(nullptr)
+ , m_mapper_sram(nullptr)
+ , m_mapper_sram_size(0)
+ , m_ce_mask(0)
+ , m_ce_state(0)
+ , m_vrc_ls_prg_a(0)
+ , m_vrc_ls_prg_b(0)
+ , m_vrc_ls_chr(0)
+ , m_mirroring(PPU_MIRROR_NONE)
+ , m_pcb_ctrl_mirror(false)
+ , m_four_screen_vram(false)
+ , m_has_trainer(false)
+ , m_x1_005_alt_mirroring(false)
+ , m_bus_conflict(true)
+ , m_open_bus(0)
+ , m_prg_chunks(0)
+ , m_prg_mask(0xffff)
+ , m_chr_source(CHRRAM)
+ , m_vrom_chunks(0)
+ , m_vram_chunks(0)
{
}
@@ -742,13 +743,14 @@ void device_nes_cart_interface::nes_banks_restore()
//-------------------------------------------------
// nes_cart_slot_device - constructor
//-------------------------------------------------
-nes_cart_slot_device::nes_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_CART_SLOT, "NES Cartridge Slot", tag, owner, clock, "nes_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_crc_hack(0), m_cart(nullptr),
- m_pcb_id(NO_BOARD),
- m_must_be_loaded(1)
+nes_cart_slot_device::nes_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, NES_CART_SLOT, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , device_slot_interface(mconfig, *this)
+ , m_crc_hack(0)
+ , m_cart(nullptr)
+ , m_pcb_id(NO_BOARD)
+ , m_must_be_loaded(1)
{
}
diff --git a/src/devices/bus/nes/nes_slot.h b/src/devices/bus/nes/nes_slot.h
index b8829fd4768..82876ce15a5 100644
--- a/src/devices/bus/nes/nes_slot.h
+++ b/src/devices/bus/nes/nes_slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_SLOT_H__
-#define __NES_SLOT_H__
+#ifndef MAME_BUS_NES_NES_SLOT_H
+#define MAME_BUS_NES_NES_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -161,7 +163,6 @@ class device_nes_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_nes_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_nes_cart_interface();
// reading and writing
@@ -230,6 +231,7 @@ public:
uint8_t account_bus_conflict(uint32_t offset, uint8_t data);
protected:
+ device_nes_cart_interface(const machine_config &mconfig, device_t &device);
// internal state
uint8_t *m_prg;
@@ -396,15 +398,14 @@ public:
void set_must_be_loaded(bool _must_be_loaded) { m_must_be_loaded = _must_be_loaded; }
- //private:
-
+//private:
device_nes_cart_interface* m_cart;
int m_pcb_id;
bool m_must_be_loaded;
};
// device type definition
-extern const device_type NES_CART_SLOT;
+DECLARE_DEVICE_TYPE(NES_CART_SLOT, nes_cart_slot_device)
/***************************************************************************
@@ -429,4 +430,4 @@ extern const device_type NES_CART_SLOT;
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, true) \
MCFG_NES_CARTRIDGE_NOT_MANDATORY
-#endif
+#endif // MAME_BUS_NES_NES_SLOT_H
diff --git a/src/devices/bus/nes/ntdec.cpp b/src/devices/bus/nes/ntdec.cpp
index a2547a97185..5ea3458e8f3 100644
--- a/src/devices/bus/nes/ntdec.cpp
+++ b/src/devices/bus/nes/ntdec.cpp
@@ -34,18 +34,18 @@
// constructor
//-------------------------------------------------
-const device_type NES_NTDEC_ASDER = device_creator<nes_ntdec_asder_device>;
-const device_type NES_NTDEC_FH = device_creator<nes_ntdec_fh_device>;
+DEFINE_DEVICE_TYPE(NES_NTDEC_ASDER, nes_ntdec_asder_device, "nes_ntdec_asder", "NES Cart NTDEC Asder PCB")
+DEFINE_DEVICE_TYPE(NES_NTDEC_FH, nes_ntdec_fh_device, "nes_fh_asder", "NES Cart NTDEC Fighting Hero PCB")
nes_ntdec_asder_device::nes_ntdec_asder_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NTDEC_ASDER, "NES Cart NTDEC Asder PCB", tag, owner, clock, "nes_ntdec_asder", __FILE__),
- m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_NTDEC_ASDER, tag, owner, clock)
+ , m_latch(0)
+{
}
nes_ntdec_fh_device::nes_ntdec_fh_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NTDEC_FH, "NES Cart NTDEC Fighting Hero PCB", tag, owner, clock, "nes_ntdec_fh", __FILE__)
+ : nes_nrom_device(mconfig, NES_NTDEC_FH, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/ntdec.h b/src/devices/bus/nes/ntdec.h
index daa7ba8acdf..1e5e8ef6cbb 100644
--- a/src/devices/bus/nes/ntdec.h
+++ b/src/devices/bus/nes/ntdec.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_NTDEC_H
-#define __NES_NTDEC_H
+#ifndef MAME_BUS_NES_NTDEC_H
+#define MAME_BUS_NES_NTDEC_H
+
+#pragma once
#include "nxrom.h"
@@ -14,12 +16,14 @@ public:
// construction/destruction
nes_ntdec_asder_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -33,19 +37,18 @@ public:
// construction/destruction
nes_ntdec_fh_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
-};
-
-
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+};
// device type definition
-extern const device_type NES_NTDEC_ASDER;
-extern const device_type NES_NTDEC_FH;
+DECLARE_DEVICE_TYPE(NES_NTDEC_ASDER, nes_ntdec_asder_device)
+DECLARE_DEVICE_TYPE(NES_NTDEC_FH, nes_ntdec_fh_device)
-#endif
+#endif // MAME_BUS_NES_NTDEC_H
diff --git a/src/devices/bus/nes/nxrom.cpp b/src/devices/bus/nes/nxrom.cpp
index 6996fe50faa..e78fd6d1527 100644
--- a/src/devices/bus/nes/nxrom.cpp
+++ b/src/devices/bus/nes/nxrom.cpp
@@ -45,89 +45,87 @@
// constructor
//-------------------------------------------------
-const device_type NES_NROM = device_creator<nes_nrom_device>;
-const device_type NES_NROM368 = device_creator<nes_nrom368_device>;
-const device_type NES_FCBASIC = device_creator<nes_fcbasic_device>;
-const device_type NES_AXROM = device_creator<nes_axrom_device>;
-const device_type NES_BXROM = device_creator<nes_bxrom_device>;
-const device_type NES_CNROM = device_creator<nes_cnrom_device>;
-const device_type NES_CPROM = device_creator<nes_cprom_device>;
-const device_type NES_GXROM = device_creator<nes_gxrom_device>;
-const device_type NES_UXROM = device_creator<nes_uxrom_device>;
-const device_type NES_UXROM_CC = device_creator<nes_uxrom_cc_device>;
-const device_type NES_UN1ROM = device_creator<nes_un1rom_device>;
-const device_type NES_NOCHR = device_creator<nes_nochr_device>;
+DEFINE_DEVICE_TYPE(NES_NROM, nes_nrom_device, "nes_nrom", "NES Cart NROM PCB")
+DEFINE_DEVICE_TYPE(NES_NROM368, nes_nrom368_device, "nes_nrom368", "NES Cart NROM-368 PCB")
+DEFINE_DEVICE_TYPE(NES_FCBASIC, nes_fcbasic_device, "nes_fcbasic", "NES Cart Famicom BASIC PCB")
+DEFINE_DEVICE_TYPE(NES_AXROM, nes_axrom_device, "nes_axrom", "NES Cart AxROM PCB")
+DEFINE_DEVICE_TYPE(NES_BXROM, nes_bxrom_device, "nes_bxrom", "NES Cart BxROM PCB")
+DEFINE_DEVICE_TYPE(NES_CNROM, nes_cnrom_device, "nes_cnrom", "NES Cart CNROM PCB")
+DEFINE_DEVICE_TYPE(NES_CPROM, nes_cprom_device, "nes_cprom", "NES Cart CPROM PCB")
+DEFINE_DEVICE_TYPE(NES_GXROM, nes_gxrom_device, "nes_gxrom", "NES Cart GxROM PCB")
+DEFINE_DEVICE_TYPE(NES_UXROM, nes_uxrom_device, "nes_uxrom", "NES Cart UxROM PCB")
+DEFINE_DEVICE_TYPE(NES_UXROM_CC, nes_uxrom_cc_device, "nes_uxrom_cc", "NES Cart UNROM M5 (Crazy Climber) PCB")
+DEFINE_DEVICE_TYPE(NES_UN1ROM, nes_un1rom_device, "nes_un1rom", "NES Cart UN1ROM PCB")
+DEFINE_DEVICE_TYPE(NES_NOCHR, nes_nochr_device, "nes_nochr", "NES Cart NoCash NOCHR PCB")
-nes_nrom_device::nes_nrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_nes_cart_interface( mconfig, *this )
+nes_nrom_device::nes_nrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_nes_cart_interface(mconfig, *this)
{
}
nes_nrom_device::nes_nrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NES_NROM, "NES Cart NROM PCB", tag, owner, clock, "nes_nrom", __FILE__),
- device_nes_cart_interface( mconfig, *this )
+ : nes_nrom_device(mconfig, NES_NROM, tag, owner, clock)
{
}
nes_nrom368_device::nes_nrom368_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NROM368, "NES Cart NROM-368 PCB", tag, owner, clock, "nes_nrom368", __FILE__)
+ : nes_nrom_device(mconfig, NES_NROM368, tag, owner, clock)
{
}
nes_fcbasic_device::nes_fcbasic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_FCBASIC, "NES Cart Famicom BASIC PCB", tag, owner, clock, "nes_fcbasic", __FILE__)
+ : nes_nrom_device(mconfig, NES_FCBASIC, tag, owner, clock)
{
}
nes_axrom_device::nes_axrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_AXROM, "NES Cart AxROM PCB", tag, owner, clock, "nes_axrom", __FILE__)
+ : nes_nrom_device(mconfig, NES_AXROM, tag, owner, clock)
{
}
nes_bxrom_device::nes_bxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_BXROM, "NES Cart BxROM PCB", tag, owner, clock, "nes_bxrom", __FILE__)
+ : nes_nrom_device(mconfig, NES_BXROM, tag, owner, clock)
{
}
-nes_cnrom_device::nes_cnrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_chr_open_bus(0)
- {
+nes_cnrom_device::nes_cnrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_chr_open_bus(0)
+{
}
nes_cnrom_device::nes_cnrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_CNROM, "NES Cart CNROM PCB", tag, owner, clock, "nes_cnrom", __FILE__), m_chr_open_bus(0)
- {
+ : nes_cnrom_device(mconfig, NES_CNROM, tag, owner, clock)
+{
}
nes_cprom_device::nes_cprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_CPROM, "NES Cart CPROM PCB", tag, owner, clock, "nes_cprom", __FILE__)
+ : nes_nrom_device(mconfig, NES_CPROM, tag, owner, clock)
{
}
nes_gxrom_device::nes_gxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_GXROM, "NES Cart GxROM PCB", tag, owner, clock, "nes_gxrom", __FILE__)
+ : nes_nrom_device(mconfig, NES_GXROM, tag, owner, clock)
{
}
nes_uxrom_device::nes_uxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_UXROM, "NES Cart UxROM PCB", tag, owner, clock, "nes_uxrom", __FILE__)
+ : nes_nrom_device(mconfig, NES_UXROM, tag, owner, clock)
{
}
nes_uxrom_cc_device::nes_uxrom_cc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_UXROM_CC, "NES Cart UNROM M5 PCB (Crazy Climber)", tag, owner, clock, "nes_uxrom_cc", __FILE__)
+ : nes_nrom_device(mconfig, NES_UXROM_CC, tag, owner, clock)
{
}
nes_un1rom_device::nes_un1rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_UN1ROM, "NES Cart UN1ROM PCB", tag, owner, clock, "nes_un1rom", __FILE__)
+ : nes_nrom_device(mconfig, NES_UN1ROM, tag, owner, clock)
{
}
nes_nochr_device::nes_nochr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_NOCHR, "NES Cart NoCash NOCHR PCB", tag, owner, clock, "nes_nochr", __FILE__)
+ : nes_nrom_device(mconfig, NES_NOCHR, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/nxrom.h b/src/devices/bus/nes/nxrom.h
index c4f112bb68e..721ed5b5e98 100644
--- a/src/devices/bus/nes/nxrom.h
+++ b/src/devices/bus/nes/nxrom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_MMCX_H
-#define __NES_MMCX_H
+#ifndef MAME_BUS_NES_NXROM_H
+#define MAME_BUS_NES_NXROM_H
+
+#pragma once
#include "nes_slot.h"
#include "sound/samples.h"
@@ -9,18 +11,19 @@
// ======================> nes_nrom_device
-class nes_nrom_device : public device_t,
- public device_nes_cart_interface
+class nes_nrom_device : public device_t, public device_nes_cart_interface
{
public:
// construction/destruction
- nes_nrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_nrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_start() override { common_start(); }
-
virtual void pcb_reset() override;
+protected:
+ nes_nrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override { common_start(); }
+
void common_start();
};
@@ -59,11 +62,13 @@ public:
// construction/destruction
nes_axrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -75,11 +80,13 @@ public:
// construction/destruction
nes_bxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -89,16 +96,19 @@ class nes_cnrom_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_cnrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_cnrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(chr_r) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ nes_cnrom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_chr_open_bus;
};
@@ -112,11 +122,13 @@ public:
// construction/destruction
nes_cprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -128,11 +140,13 @@ public:
// construction/destruction
nes_gxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -144,11 +158,13 @@ public:
// construction/destruction
nes_uxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -160,11 +176,13 @@ public:
// construction/destruction
nes_uxrom_cc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -176,11 +194,13 @@ public:
// construction/destruction
nes_un1rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -200,17 +220,17 @@ public:
// device type definition
-extern const device_type NES_NROM;
-extern const device_type NES_NROM368;
-extern const device_type NES_FCBASIC;
-extern const device_type NES_AXROM;
-extern const device_type NES_BXROM;
-extern const device_type NES_CNROM;
-extern const device_type NES_CPROM;
-extern const device_type NES_GXROM;
-extern const device_type NES_UXROM;
-extern const device_type NES_UXROM_CC;
-extern const device_type NES_UN1ROM;
-extern const device_type NES_NOCHR;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_NROM, nes_nrom_device)
+DECLARE_DEVICE_TYPE(NES_NROM368, nes_nrom368_device)
+DECLARE_DEVICE_TYPE(NES_FCBASIC, nes_fcbasic_device)
+DECLARE_DEVICE_TYPE(NES_AXROM, nes_axrom_device)
+DECLARE_DEVICE_TYPE(NES_BXROM, nes_bxrom_device)
+DECLARE_DEVICE_TYPE(NES_CNROM, nes_cnrom_device)
+DECLARE_DEVICE_TYPE(NES_CPROM, nes_cprom_device)
+DECLARE_DEVICE_TYPE(NES_GXROM, nes_gxrom_device)
+DECLARE_DEVICE_TYPE(NES_UXROM, nes_uxrom_device)
+DECLARE_DEVICE_TYPE(NES_UXROM_CC, nes_uxrom_cc_device)
+DECLARE_DEVICE_TYPE(NES_UN1ROM, nes_un1rom_device)
+DECLARE_DEVICE_TYPE(NES_NOCHR, nes_nochr_device)
+
+#endif // MAME_BUS_NES_NXROM_H
diff --git a/src/devices/bus/nes/pirate.cpp b/src/devices/bus/nes/pirate.cpp
index cded3deb09d..573b1d38ce7 100644
--- a/src/devices/bus/nes/pirate.cpp
+++ b/src/devices/bus/nes/pirate.cpp
@@ -18,7 +18,7 @@
#include "pirate.h"
#include "cpu/m6502/m6502.h"
-#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access PPU_BOTTOM_VISIBLE_SCANLINE
+#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
#include "screen.h"
@@ -35,96 +35,96 @@
// constructor
//-------------------------------------------------
-const device_type NES_AGCI_50282 = device_creator<nes_agci_device>;
-const device_type NES_DREAMTECH01 = device_creator<nes_dreamtech_device>;
-const device_type NES_FUKUTAKE = device_creator<nes_fukutake_device>;
-const device_type NES_FUTUREMEDIA = device_creator<nes_futuremedia_device>;
-const device_type NES_MAGSERIES = device_creator<nes_magseries_device>;
-const device_type NES_DAOU306 = device_creator<nes_daou306_device>;
-const device_type NES_CC21 = device_creator<nes_cc21_device>;
-const device_type NES_XIAOZY = device_creator<nes_xiaozy_device>;
-const device_type NES_EDU2K = device_creator<nes_edu2k_device>;
-const device_type NES_T230 = device_creator<nes_t230_device>;
-const device_type NES_MK2 = device_creator<nes_mk2_device>;
-const device_type NES_WHERO = device_creator<nes_whero_device>;
-const device_type NES_43272 = device_creator<nes_43272_device>;
-const device_type NES_TF1201 = device_creator<nes_tf1201_device>;
-const device_type NES_CITYFIGHT = device_creator<nes_cityfight_device>;
+DEFINE_DEVICE_TYPE(NES_AGCI_50282, nes_agci_device, "nes_agci50282", "NES Cart AGCI 50282 PCB")
+DEFINE_DEVICE_TYPE(NES_DREAMTECH01, nes_dreamtech_device, "nes_dreamtech", "NES Cart Dreamtech01 PCB")
+DEFINE_DEVICE_TYPE(NES_FUKUTAKE, nes_fukutake_device, "nes_futuremedia", "NES Cart Fukutake Study Box PCB")
+DEFINE_DEVICE_TYPE(NES_FUTUREMEDIA, nes_futuremedia_device, "nes_fukutake", "NES Cart FutureMedia PCB")
+DEFINE_DEVICE_TYPE(NES_MAGSERIES, nes_magseries_device, "nes_magseries", "NES Cart Magical Series PCB")
+DEFINE_DEVICE_TYPE(NES_DAOU306, nes_daou306_device, "nes_daou306", "NES Cart Daou 306 PCB")
+DEFINE_DEVICE_TYPE(NES_CC21, nes_cc21_device, "nes_cc21", "NES Cart CC-21 PCB")
+DEFINE_DEVICE_TYPE(NES_XIAOZY, nes_xiaozy_device, "nes_xiaozy", "NES Cart Xiao Zhuan Yuan PCB")
+DEFINE_DEVICE_TYPE(NES_EDU2K, nes_edu2k_device, "nes_edu2k", "NES Cart Educational Computer 2000 PCB")
+DEFINE_DEVICE_TYPE(NES_T230, nes_t230_device, "nes_t230", "NES Cart T-230 PCB")
+DEFINE_DEVICE_TYPE(NES_MK2, nes_mk2_device, "nes_mk2", "NES Cart Mortal Kombat 2 PCB")
+DEFINE_DEVICE_TYPE(NES_WHERO, nes_whero_device, "nes_whero", "NES Cart World Heroes PCB")
+DEFINE_DEVICE_TYPE(NES_43272, nes_43272_device, "nes_43272", "NES Cart UNL-43272 PCB")
+DEFINE_DEVICE_TYPE(NES_TF1201, nes_tf1201_device, "nes_tf1201", "NES Cart UNL-TF1201 PCB")
+DEFINE_DEVICE_TYPE(NES_CITYFIGHT, nes_cityfight_device, "nes_cityfight", "NES Cart City Fighter PCB")
nes_agci_device::nes_agci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_AGCI_50282, "NES Cart AGCI 50282 PCB", tag, owner, clock, "nes_agci50282", __FILE__)
+ : nes_nrom_device(mconfig, NES_AGCI_50282, tag, owner, clock)
{
}
nes_dreamtech_device::nes_dreamtech_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_DREAMTECH01, "NES Cart Dreamtech01 PCB", tag, owner, clock, "nes_dreamtech", __FILE__)
+ : nes_nrom_device(mconfig, NES_DREAMTECH01, tag, owner, clock)
{
}
nes_fukutake_device::nes_fukutake_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_FUKUTAKE, "NES Cart Fukutake Study Box PCB", tag, owner, clock, "nes_fukutake", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_FUKUTAKE, tag, owner, clock), m_latch(0)
+{
}
nes_futuremedia_device::nes_futuremedia_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_FUTUREMEDIA, "NES Cart FutureMedia PCB", tag, owner, clock, "nes_futuremedia", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_clear(0), m_irq_enable(0)
- {
+ : nes_nrom_device(mconfig, NES_FUTUREMEDIA, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_clear(0), m_irq_enable(0)
+{
}
nes_magseries_device::nes_magseries_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_MAGSERIES, "NES Cart Magical Series PCB", tag, owner, clock, "nes_magseries", __FILE__)
+ : nes_nrom_device(mconfig, NES_MAGSERIES, tag, owner, clock)
{
}
nes_daou306_device::nes_daou306_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_DAOU306, "NES Cart Daou 306 PCB", tag, owner, clock, "nes_daou306", __FILE__)
+ : nes_nrom_device(mconfig, NES_DAOU306, tag, owner, clock)
{
}
nes_cc21_device::nes_cc21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_CC21, "NES Cart CC-21 PCB", tag, owner, clock, "nes_cc21", __FILE__)
+ : nes_nrom_device(mconfig, NES_CC21, tag, owner, clock)
{
}
nes_xiaozy_device::nes_xiaozy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_XIAOZY, "NES Cart Xiao Zhuan Yuan PCB", tag, owner, clock, "nes_xiaozy", __FILE__)
+ : nes_nrom_device(mconfig, NES_XIAOZY, tag, owner, clock)
{
}
nes_edu2k_device::nes_edu2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_EDU2K, "NES Cart Educational Computer 2000 PCB", tag, owner, clock, "nes_edu2k", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_EDU2K, tag, owner, clock)
+{
}
nes_t230_device::nes_t230_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_T230, "NES Cart T-230 PCB", tag, owner, clock, "nes_t230", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_mode(0), m_irq_enable(0), m_irq_enable_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_T230, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_mode(0), m_irq_enable(0), m_irq_enable_latch(0)
+{
}
nes_mk2_device::nes_mk2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_MK2, "NES Cart Mortal Kombat 2 PCB", tag, owner, clock, "nes_mk2", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_clear(0), m_irq_enable(0)
- {
+ : nes_nrom_device(mconfig, NES_MK2, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_clear(0), m_irq_enable(0)
+{
}
nes_whero_device::nes_whero_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_WHERO, "NES Cart World Heroes PCB", tag, owner, clock, "nes_whero", __FILE__), m_reg(0), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_enable_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_WHERO, tag, owner, clock), m_reg(0), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_enable_latch(0)
+{
}
nes_43272_device::nes_43272_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_43272, "NES Cart UNL-43272 PCB", tag, owner, clock, "nes_43272", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_43272, tag, owner, clock), m_latch(0)
+{
}
nes_tf1201_device::nes_tf1201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TF1201, "NES Cart UNL-TF1201 PCB", tag, owner, clock, "nes_tf1201", __FILE__), m_prg(0), m_swap(0), m_irq_count(0), m_irq_enable(0), m_irq_enable_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_TF1201, tag, owner, clock), m_prg(0), m_swap(0), m_irq_count(0), m_irq_enable(0), m_irq_enable_latch(0)
+{
}
nes_cityfight_device::nes_cityfight_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_CITYFIGHT, "NES Cart City Fighter PCB", tag, owner, clock, "nes_cityfight", __FILE__), m_prg_reg(0), m_prg_mode(0), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_CITYFIGHT, tag, owner, clock), m_prg_reg(0), m_prg_mode(0), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr)
+{
}
@@ -530,7 +530,7 @@ READ8_MEMBER(nes_fukutake_device::read_m)
void nes_futuremedia_device::hblank_irq(int scanline, int vblank, int blanked)
{
- // if (scanline < PPU_BOTTOM_VISIBLE_SCANLINE)
+ // if (scanline < ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE)
{
if (m_irq_enable && m_irq_count)
{
@@ -853,7 +853,7 @@ WRITE8_MEMBER(nes_t230_device::write_h)
// Same IRQ as MMC3
void nes_mk2_device::hblank_irq( int scanline, int vblank, int blanked )
{
- if (scanline < PPU_BOTTOM_VISIBLE_SCANLINE)
+ if (scanline < ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE)
{
int prior_count = m_irq_count;
if ((m_irq_count == 0) || m_irq_clear)
diff --git a/src/devices/bus/nes/pirate.h b/src/devices/bus/nes/pirate.h
index b17ce1ada9d..91424d32e25 100644
--- a/src/devices/bus/nes/pirate.h
+++ b/src/devices/bus/nes/pirate.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_PIR_H
-#define __NES_PIR_H
+#ifndef MAME_BUS_NES_PIRATE_H
+#define MAME_BUS_NES_PIRATE_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_agci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,11 +34,13 @@ public:
// construction/destruction
nes_dreamtech_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -46,8 +52,6 @@ public:
// construction/destruction
nes_fukutake_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
@@ -55,6 +59,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
uint8_t m_ram[0xb00];
@@ -69,13 +77,15 @@ public:
// construction/destruction
nes_futuremedia_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count, m_irq_count_latch;
uint8_t m_irq_clear;
@@ -91,11 +101,13 @@ public:
// construction/destruction
nes_magseries_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -107,12 +119,14 @@ public:
// construction/destruction
nes_daou306_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[16];
};
@@ -126,11 +140,13 @@ public:
// construction/destruction
nes_cc21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -142,11 +158,13 @@ public:
// construction/destruction
nes_xiaozy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -158,14 +176,16 @@ public:
// construction/destruction
nes_edu2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -179,13 +199,15 @@ public:
// construction/destruction
nes_t230_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count, m_irq_count_latch;
uint8_t m_irq_mode;
@@ -203,13 +225,15 @@ public:
// construction/destruction
nes_mk2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count, m_irq_count_latch;
uint8_t m_irq_clear;
@@ -225,13 +249,15 @@ public:
// construction/destruction
nes_whero_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
uint8_t m_mmc_vrom_bank[8];
@@ -250,13 +276,15 @@ public:
// construction/destruction
nes_43272_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_latch;
};
@@ -270,13 +298,15 @@ public:
// construction/destruction
nes_tf1201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_prg();
uint8_t m_prg, m_swap;
@@ -295,20 +325,24 @@ public:
// construction/destruction
nes_cityfight_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
+ static constexpr device_timer_id TIMER_IRQ = 0;
+
void update_prg();
+
uint8_t m_prg_reg, m_prg_mode;
uint16_t m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
uint8_t m_mmc_vrom_bank[8];
@@ -325,13 +359,15 @@ public:
// construction/destruction
nes_fujiya_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -339,23 +375,21 @@ private:
// device type definition
-extern const device_type NES_AGCI_50282;
-extern const device_type NES_DREAMTECH01;
-extern const device_type NES_FUKUTAKE;
-extern const device_type NES_FUTUREMEDIA;
-extern const device_type NES_MAGSERIES;
-extern const device_type NES_DAOU306;
-extern const device_type NES_SUBOR0;
-extern const device_type NES_SUBOR1;
-extern const device_type NES_CC21;
-extern const device_type NES_XIAOZY;
-extern const device_type NES_EDU2K;
-extern const device_type NES_T230;
-extern const device_type NES_MK2;
-extern const device_type NES_WHERO;
-extern const device_type NES_43272;
-extern const device_type NES_TF1201;
-extern const device_type NES_CITYFIGHT;
-extern const device_type NES_FUJIYA;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_AGCI_50282, nes_agci_device)
+DECLARE_DEVICE_TYPE(NES_DREAMTECH01, nes_dreamtech_device)
+DECLARE_DEVICE_TYPE(NES_FUKUTAKE, nes_fukutake_device)
+DECLARE_DEVICE_TYPE(NES_FUTUREMEDIA, nes_futuremedia_device)
+DECLARE_DEVICE_TYPE(NES_MAGSERIES, nes_magseries_device)
+DECLARE_DEVICE_TYPE(NES_DAOU306, nes_daou306_device)
+DECLARE_DEVICE_TYPE(NES_CC21, nes_cc21_device)
+DECLARE_DEVICE_TYPE(NES_XIAOZY, nes_xiaozy_device)
+DECLARE_DEVICE_TYPE(NES_EDU2K, nes_edu2k_device)
+DECLARE_DEVICE_TYPE(NES_T230, nes_t230_device)
+DECLARE_DEVICE_TYPE(NES_MK2, nes_mk2_device)
+DECLARE_DEVICE_TYPE(NES_WHERO, nes_whero_device)
+DECLARE_DEVICE_TYPE(NES_43272, nes_43272_device)
+DECLARE_DEVICE_TYPE(NES_TF1201, nes_tf1201_device)
+DECLARE_DEVICE_TYPE(NES_CITYFIGHT, nes_cityfight_device)
+//DECLARE_DEVICE_TYPE(NES_FUJIYA, nes_fujiya_device)
+
+#endif // MAME_BUS_NES_PIRATE_H
diff --git a/src/devices/bus/nes/pt554.cpp b/src/devices/bus/nes/pt554.cpp
index a12d3e63145..86a510866f4 100644
--- a/src/devices/bus/nes/pt554.cpp
+++ b/src/devices/bus/nes/pt554.cpp
@@ -32,12 +32,12 @@
// constructor
//-------------------------------------------------
-const device_type NES_BANDAI_PT554 = device_creator<nes_bandai_pt554_device>;
+DEFINE_DEVICE_TYPE(NES_BANDAI_PT554, nes_bandai_pt554_device, "nes_bandai_pt554", "NES Cart Bandai BT-554 PCB")
nes_bandai_pt554_device::nes_bandai_pt554_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_cnrom_device(mconfig, NES_BANDAI_PT554, "NES Cart Bandai PT-554 PCB", tag, owner, clock, "nes_bandai_pt554", __FILE__),
- m_samples(*this, "samples")
+ : nes_cnrom_device(mconfig, NES_BANDAI_PT554, tag, owner, clock)
+ , m_samples(*this, "samples")
{
}
diff --git a/src/devices/bus/nes/pt554.h b/src/devices/bus/nes/pt554.h
index 2dc1fe6f6f0..95947c26ef7 100644
--- a/src/devices/bus/nes/pt554.h
+++ b/src/devices/bus/nes/pt554.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_PT554_H
-#define __NES_PT554_H
+#ifndef MAME_BUS_NES_PT554_H
+#define MAME_BUS_NES_PT554_H
+
+#pragma once
#include "nxrom.h"
@@ -23,9 +25,7 @@ private:
};
-
-
// device type definition
-extern const device_type NES_BANDAI_PT554;
+DECLARE_DEVICE_TYPE(NES_BANDAI_PT554, nes_bandai_pt554_device)
-#endif
+#endif // MAME_BUS_NES_PT554_H
diff --git a/src/devices/bus/nes/racermate.cpp b/src/devices/bus/nes/racermate.cpp
index 680433e4ed4..5b578da0e09 100644
--- a/src/devices/bus/nes/racermate.cpp
+++ b/src/devices/bus/nes/racermate.cpp
@@ -32,13 +32,13 @@
// constructor
//-------------------------------------------------
-const device_type NES_RACERMATE = device_creator<nes_racermate_device>;
+DEFINE_DEVICE_TYPE(NES_RACERMATE, nes_racermate_device, "nes_racermate", "NES Cart Racermate PCB")
nes_racermate_device::nes_racermate_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_RACERMATE, "NES Cart Racermate PCB", tag, owner, clock, "nes_racermate", __FILE__),
- m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_RACERMATE, tag, owner, clock)
+ , m_latch(0)
+{
}
diff --git a/src/devices/bus/nes/racermate.h b/src/devices/bus/nes/racermate.h
index da7a5f5174b..5366ec1a6ea 100644
--- a/src/devices/bus/nes/racermate.h
+++ b/src/devices/bus/nes/racermate.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_RACERMATE_H
-#define __NES_RACERMATE_H
+#ifndef MAME_BUS_NES_RACERMATE_H
+#define MAME_BUS_NES_RACERMATE_H
#include "nxrom.h"
@@ -26,10 +26,7 @@ private:
};
-
-
-
// device type definition
-extern const device_type NES_RACERMATE;
+DECLARE_DEVICE_TYPE(NES_RACERMATE, nes_racermate_device)
-#endif
+#endif // MAME_BUS_NES_RACERMATE_H
diff --git a/src/devices/bus/nes/rcm.cpp b/src/devices/bus/nes/rcm.cpp
index aedda67cc46..f1800712765 100644
--- a/src/devices/bus/nes/rcm.cpp
+++ b/src/devices/bus/nes/rcm.cpp
@@ -39,36 +39,36 @@
// constructor
//-------------------------------------------------
-const device_type NES_GS2015 = device_creator<nes_gs2015_device>;
-const device_type NES_GS2004 = device_creator<nes_gs2004_device>;
-const device_type NES_GS2013 = device_creator<nes_gs2013_device>;
-const device_type NES_TF9IN1 = device_creator<nes_tf9_device>;
-const device_type NES_3DBLOCK = device_creator<nes_3dblock_device>;
+DEFINE_DEVICE_TYPE(NES_GS2015, nes_gs2015_device, "nes_g2015", "NES Cart RCM GS-2015 PCB")
+DEFINE_DEVICE_TYPE(NES_GS2004, nes_gs2004_device, "nes_g2004", "NES Cart RCM GS-2004 PCB")
+DEFINE_DEVICE_TYPE(NES_GS2013, nes_gs2013_device, "nes_g2013", "NES Cart RCM GS-2013 PCB")
+DEFINE_DEVICE_TYPE(NES_TF9IN1, nes_tf9_device, "nes_tetrisfam", "NES Cart RCM Tetris Family 9 in 1 PCB")
+DEFINE_DEVICE_TYPE(NES_3DBLOCK, nes_3dblock_device, "nes_3dblock", "NES Cart RCM 3D Block PCB")
nes_gs2015_device::nes_gs2015_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_GS2015, "NES Cart RCM GS-2015 PCB", tag, owner, clock, "nes_gs2015", __FILE__)
+ : nes_nrom_device(mconfig, NES_GS2015, tag, owner, clock)
{
}
nes_gs2004_device::nes_gs2004_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_GS2004, "NES Cart RCM GS-2004 PCB", tag, owner, clock, "nes_gs2004", __FILE__)
+ : nes_nrom_device(mconfig, NES_GS2004, tag, owner, clock)
{
}
nes_gs2013_device::nes_gs2013_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_GS2013, "NES Cart RCM GS-2013 PCB", tag, owner, clock, "nes_gs2013", __FILE__)
+ : nes_nrom_device(mconfig, NES_GS2013, tag, owner, clock)
{
}
nes_tf9_device::nes_tf9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TF9IN1, "NES Cart RCM Tetris Family 9 in 1 PCB", tag, owner, clock, "nes_tetrisfam", __FILE__)
+ : nes_nrom_device(mconfig, NES_TF9IN1, tag, owner, clock)
{
}
nes_3dblock_device::nes_3dblock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_3DBLOCK, "NES Cart RCM 3D Block PCB", tag, owner, clock, "nes_3dblock", __FILE__), m_irq_count(0)
- {
+ : nes_nrom_device(mconfig, NES_3DBLOCK, tag, owner, clock), m_irq_count(0)
+{
}
diff --git a/src/devices/bus/nes/rcm.h b/src/devices/bus/nes/rcm.h
index d7858cbdb53..f37a6074432 100644
--- a/src/devices/bus/nes/rcm.h
+++ b/src/devices/bus/nes/rcm.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_RCM_H
-#define __NES_RCM_H
+#ifndef MAME_BUS_NES_RCM_H
+#define MAME_BUS_NES_RCM_H
+
+#pragma once
#include "nxrom.h"
@@ -14,13 +16,15 @@ public:
// construction/destruction
nes_gs2015_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override { return read_m(space, offset, mem_mask); }
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -32,11 +36,13 @@ public:
// construction/destruction
nes_gs2004_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -48,11 +54,13 @@ public:
// construction/destruction
nes_gs2013_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -64,11 +72,13 @@ public:
// construction/destruction
nes_tf9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -80,26 +90,26 @@ public:
// construction/destruction
nes_3dblock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[4];
uint8_t m_irq_count;
};
-
-
// device type definition
-extern const device_type NES_GS2015;
-extern const device_type NES_GS2004;
-extern const device_type NES_GS2013;
-extern const device_type NES_TF9IN1;
-extern const device_type NES_3DBLOCK;
+DECLARE_DEVICE_TYPE(NES_GS2015, nes_gs2015_device)
+DECLARE_DEVICE_TYPE(NES_GS2004, nes_gs2004_device)
+DECLARE_DEVICE_TYPE(NES_GS2013, nes_gs2013_device)
+DECLARE_DEVICE_TYPE(NES_TF9IN1, nes_tf9_device)
+DECLARE_DEVICE_TYPE(NES_3DBLOCK, nes_3dblock_device)
-#endif
+#endif // MAME_BUS_NES_RCM_H
diff --git a/src/devices/bus/nes/rexsoft.cpp b/src/devices/bus/nes/rexsoft.cpp
index 9aaaed7721b..300bd07f96e 100644
--- a/src/devices/bus/nes/rexsoft.cpp
+++ b/src/devices/bus/nes/rexsoft.cpp
@@ -35,19 +35,19 @@
// constructor
//-------------------------------------------------
-const device_type NES_REX_DBZ5 = device_creator<nes_rex_dbz5_device>;
-const device_type NES_REX_SL1632 = device_creator<nes_rex_sl1632_device>;
+DEFINE_DEVICE_TYPE(NES_REX_DBZ5, nes_rex_dbz5_device, "nes_rex_dbz5", "NES Cart Rex Soft DragonBall Z V PCB")
+DEFINE_DEVICE_TYPE(NES_REX_SL1632, nes_rex_sl1632_device, "nes_rex_sl1632", "NES Cart Rex Soft SL-1632 PCB")
nes_rex_dbz5_device::nes_rex_dbz5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_REX_DBZ5, "NES Cart Rex Soft DragonBall Z V PCB", tag, owner, clock, "nes_rex_dbz5", __FILE__),
- m_extra(0)
- {
+ : nes_txrom_device(mconfig, NES_REX_DBZ5, tag, owner, clock)
+ , m_extra(0)
+{
}
nes_rex_sl1632_device::nes_rex_sl1632_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_REX_SL1632, "NES Cart Rex Soft SL-1632 PCB", tag, owner, clock, "nes_rex_sl1632", __FILE__), m_mode(0), m_mirror(0)
- {
+ : nes_txrom_device(mconfig, NES_REX_SL1632, tag, owner, clock), m_mode(0), m_mirror(0)
+{
}
diff --git a/src/devices/bus/nes/rexsoft.h b/src/devices/bus/nes/rexsoft.h
index 996b22baf13..61fe876633a 100644
--- a/src/devices/bus/nes/rexsoft.h
+++ b/src/devices/bus/nes/rexsoft.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_REXSOFT_H
-#define __NES_REXSOFT_H
+#ifndef MAME_BUS_NES_REXSOFT_H
+#define MAME_BUS_NES_REXSOFT_H
+
+#pragma once
#include "mmc3.h"
@@ -14,8 +16,6 @@ public:
// construction/destruction
nes_rex_dbz5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_m) override { return read_l(space, offset, mem_mask); }
virtual DECLARE_WRITE8_MEMBER(write_l) override;
@@ -23,6 +23,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_extra;
};
@@ -36,13 +40,14 @@ public:
// construction/destruction
nes_rex_sl1632_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
virtual void set_prg(int prg_base, int prg_mask) override;
virtual void set_chr(uint8_t chr, int chr_base, int chr_mask) override;
@@ -52,10 +57,8 @@ protected:
-
-
// device type definition
-extern const device_type NES_REX_DBZ5;
-extern const device_type NES_REX_SL1632;
+DECLARE_DEVICE_TYPE(NES_REX_DBZ5, nes_rex_dbz5_device)
+DECLARE_DEVICE_TYPE(NES_REX_SL1632, nes_rex_sl1632_device)
-#endif
+#endif // MAME_BUS_NES_REXSOFT_H
diff --git a/src/devices/bus/nes/sachen.cpp b/src/devices/bus/nes/sachen.cpp
index 317f2e7e78c..369c4cde885 100644
--- a/src/devices/bus/nes/sachen.cpp
+++ b/src/devices/bus/nes/sachen.cpp
@@ -44,99 +44,99 @@
// constructor
//-------------------------------------------------
-const device_type NES_SACHEN_SA009 = device_creator<nes_sachen_sa009_device>;
-const device_type NES_SACHEN_SA0036 = device_creator<nes_sachen_sa0036_device>;
-const device_type NES_SACHEN_SA0037 = device_creator<nes_sachen_sa0037_device>;
-const device_type NES_SACHEN_SA72007 = device_creator<nes_sachen_sa72007_device>;
-const device_type NES_SACHEN_SA72008 = device_creator<nes_sachen_sa72008_device>;
-const device_type NES_SACHEN_TCA01 = device_creator<nes_sachen_tca01_device>;
-const device_type NES_SACHEN_TCU01 = device_creator<nes_sachen_tcu01_device>;
-const device_type NES_SACHEN_TCU02 = device_creator<nes_sachen_tcu02_device>;
-const device_type NES_SACHEN_74X374 = device_creator<nes_sachen_74x374_device>;
-const device_type NES_SACHEN_74X374_ALT = device_creator<nes_sachen_74x374_alt_device>;
-const device_type NES_SACHEN_8259A = device_creator<nes_sachen_8259a_device>;
-const device_type NES_SACHEN_8259B = device_creator<nes_sachen_8259b_device>;
-const device_type NES_SACHEN_8259C = device_creator<nes_sachen_8259c_device>;
-const device_type NES_SACHEN_8259D = device_creator<nes_sachen_8259d_device>;
+DEFINE_DEVICE_TYPE(NES_SACHEN_SA009, nes_sachen_sa009_device, "nes_sa009", "NES Cart Sachen SA009 PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_SA0036, nes_sachen_sa0036_device, "nes_sa0036", "NES Cart Sachen SA0036 PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_SA0037, nes_sachen_sa0037_device, "nes_sa0037", "NES Cart Sachen SA0037 PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_SA72007, nes_sachen_sa72007_device, "nes_sa72007", "NES Cart Sachen SA72007 PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_SA72008, nes_sachen_sa72008_device, "nes_sa72008", "NES Cart Sachen SA72008 PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_TCA01, nes_sachen_tca01_device, "nes_tca01", "NES Cart Sachen TCA-01 PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_TCU01, nes_sachen_tcu01_device, "nes_tcu01", "NES Cart Sachen TCU-01 PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_TCU02, nes_sachen_tcu02_device, "nes_tcu02", "NES Cart Sachen TCU-02 PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_74X374, nes_sachen_74x374_device, "nes_s74x374", "NES Cart Sachen 74*374 PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_74X374_ALT, nes_sachen_74x374_alt_device, "nes_s74x374a", "NES Cart Sachen 74*374 Alt PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_8259A, nes_sachen_8259a_device, "nes_s8259a", "NES Cart Sachen 8259A PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_8259B, nes_sachen_8259b_device, "nes_s8259b", "NES Cart Sachen 8259B PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_8259C, nes_sachen_8259c_device, "nes_s8259c", "NES Cart Sachen 8259C PCB")
+DEFINE_DEVICE_TYPE(NES_SACHEN_8259D, nes_sachen_8259d_device, "nes_s8259d", "NES Cart Sachen 8259D PCB")
nes_sachen_sa009_device::nes_sachen_sa009_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SACHEN_SA009, "NES Cart Sachen SA009 PCB", tag, owner, clock, "nes_sa009", __FILE__)
+ : nes_nrom_device(mconfig, NES_SACHEN_SA009, tag, owner, clock)
{
}
nes_sachen_sa0036_device::nes_sachen_sa0036_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SACHEN_SA0036, "NES Cart Sachen sa0036 PCB", tag, owner, clock, "nes_sa0036", __FILE__)
+ : nes_nrom_device(mconfig, NES_SACHEN_SA0036, tag, owner, clock)
{
}
nes_sachen_sa0037_device::nes_sachen_sa0037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SACHEN_SA0037, "NES Cart Sachen sa0037 PCB", tag, owner, clock, "nes_sa0037", __FILE__)
+ : nes_nrom_device(mconfig, NES_SACHEN_SA0037, tag, owner, clock)
{
}
nes_sachen_sa72007_device::nes_sachen_sa72007_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SACHEN_SA72007, "NES Cart Sachen SA72007 PCB", tag, owner, clock, "nes_sa72007", __FILE__)
+ : nes_nrom_device(mconfig, NES_SACHEN_SA72007, tag, owner, clock)
{
}
nes_sachen_sa72008_device::nes_sachen_sa72008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SACHEN_SA72008, "NES Cart Sachen SA72008 PCB", tag, owner, clock, "nes_sa72008", __FILE__)
+ : nes_nrom_device(mconfig, NES_SACHEN_SA72008, tag, owner, clock)
{
}
nes_sachen_tca01_device::nes_sachen_tca01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SACHEN_TCA01, "NES Cart Sachen TCA-01 PCB", tag, owner, clock, "nes_tca01", __FILE__)
+ : nes_nrom_device(mconfig, NES_SACHEN_TCA01, tag, owner, clock)
{
}
nes_sachen_tcu01_device::nes_sachen_tcu01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SACHEN_TCU01, "NES Cart Sachen TCU-01 PCB", tag, owner, clock, "nes_tcu01", __FILE__)
+ : nes_nrom_device(mconfig, NES_SACHEN_TCU01, tag, owner, clock)
{
}
nes_sachen_tcu02_device::nes_sachen_tcu02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SACHEN_TCU02, "NES Cart Sachen TCU-02 PCB", tag, owner, clock, "nes_tcu02", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_SACHEN_TCU02, tag, owner, clock), m_latch(0)
+{
}
-nes_sachen_74x374_device::nes_sachen_74x374_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_latch(0), m_mmc_vrom_bank(0)
- {
+nes_sachen_74x374_device::nes_sachen_74x374_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_latch(0), m_mmc_vrom_bank(0)
+{
}
nes_sachen_74x374_device::nes_sachen_74x374_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SACHEN_74X374, "NES Cart Sachen 74*374 PCB", tag, owner, clock, "nes_s74x34", __FILE__), m_latch(0), m_mmc_vrom_bank(0)
- {
+ : nes_sachen_74x374_device(mconfig, NES_SACHEN_74X374, tag, owner, clock)
+{
}
nes_sachen_74x374_alt_device::nes_sachen_74x374_alt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sachen_74x374_device(mconfig, NES_SACHEN_74X374_ALT, "NES Cart Sachen 74*374 Alt PCB", tag, owner, clock, "nes_s74x34a", __FILE__)
+ : nes_sachen_74x374_device(mconfig, NES_SACHEN_74X374_ALT, tag, owner, clock)
{
}
-nes_sachen_8259a_device::nes_sachen_8259a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_sachen_74x374_device(mconfig, type, name, tag, owner, clock, shortname, source)
+nes_sachen_8259a_device::nes_sachen_8259a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_sachen_74x374_device(mconfig, type, tag, owner, clock)
{
}
nes_sachen_8259a_device::nes_sachen_8259a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sachen_74x374_device(mconfig, NES_SACHEN_8259A, "NES Cart Sachen 8259A PCB", tag, owner, clock, "nes_s8259a", __FILE__)
+ : nes_sachen_8259a_device(mconfig, NES_SACHEN_8259A, tag, owner, clock)
{
}
nes_sachen_8259b_device::nes_sachen_8259b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sachen_8259a_device(mconfig, NES_SACHEN_8259B, "NES Cart Sachen 8259B PCB", tag, owner, clock, "nes_s8259b", __FILE__)
+ : nes_sachen_8259a_device(mconfig, NES_SACHEN_8259B, tag, owner, clock)
{
}
nes_sachen_8259c_device::nes_sachen_8259c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sachen_8259a_device(mconfig, NES_SACHEN_8259C, "NES Cart Sachen 8259C PCB", tag, owner, clock, "nes_s8259c", __FILE__)
+ : nes_sachen_8259a_device(mconfig, NES_SACHEN_8259C, tag, owner, clock)
{
}
nes_sachen_8259d_device::nes_sachen_8259d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sachen_8259a_device(mconfig, NES_SACHEN_8259D, "NES Cart Sachen 8259D PCB", tag, owner, clock, "nes_s8259d", __FILE__)
+ : nes_sachen_8259a_device(mconfig, NES_SACHEN_8259D, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/sachen.h b/src/devices/bus/nes/sachen.h
index 2c309a55a06..cfec9363bdc 100644
--- a/src/devices/bus/nes/sachen.h
+++ b/src/devices/bus/nes/sachen.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_SACHEN_H
-#define __NES_SACHEN_H
+#ifndef MAME_BUS_NES_SACHEN_H
+#define MAME_BUS_NES_SACHEN_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_sachen_sa009_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,11 +34,13 @@ public:
// construction/destruction
nes_sachen_sa0036_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -46,11 +52,13 @@ public:
// construction/destruction
nes_sachen_sa0037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -62,11 +70,13 @@ public:
// construction/destruction
nes_sachen_sa72007_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -78,11 +88,13 @@ public:
// construction/destruction
nes_sachen_sa72008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -94,11 +106,13 @@ public:
// construction/destruction
nes_sachen_tca01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -110,13 +124,15 @@ public:
// construction/destruction
nes_sachen_tcu01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override { write_l(space, (offset + 0x100) & 0xfff, data, mem_mask); }
virtual DECLARE_WRITE8_MEMBER(write_h) override { write_l(space, (offset + 0x100) & 0xfff, data, mem_mask); }
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -128,13 +144,15 @@ public:
// construction/destruction
nes_sachen_tcu02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -146,17 +164,19 @@ class nes_sachen_74x374_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_sachen_74x374_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_sachen_74x374_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
protected:
+ nes_sachen_74x374_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
void set_mirror(uint8_t nt);
uint8_t m_latch, m_mmc_vrom_bank;
};
@@ -182,17 +202,19 @@ class nes_sachen_8259a_device : public nes_sachen_74x374_device
{
public:
// construction/destruction
- nes_sachen_8259a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_sachen_8259a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override { write_l(space, (offset + 0x100) & 0xfff, data, mem_mask); }
virtual void pcb_reset() override;
protected:
+ nes_sachen_8259a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
virtual void chr_update();
uint8_t m_reg[8];
};
@@ -239,23 +261,20 @@ protected:
};
-
-
-
// device type definition
-extern const device_type NES_SACHEN_SA009;
-extern const device_type NES_SACHEN_SA0036;
-extern const device_type NES_SACHEN_SA0037;
-extern const device_type NES_SACHEN_SA72007;
-extern const device_type NES_SACHEN_SA72008;
-extern const device_type NES_SACHEN_TCA01;
-extern const device_type NES_SACHEN_TCU01;
-extern const device_type NES_SACHEN_TCU02;
-extern const device_type NES_SACHEN_74X374;
-extern const device_type NES_SACHEN_74X374_ALT;
-extern const device_type NES_SACHEN_8259A;
-extern const device_type NES_SACHEN_8259B;
-extern const device_type NES_SACHEN_8259C;
-extern const device_type NES_SACHEN_8259D;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_SACHEN_SA009, nes_sachen_sa009_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_SA0036, nes_sachen_sa0036_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_SA0037, nes_sachen_sa0037_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_SA72007, nes_sachen_sa72007_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_SA72008, nes_sachen_sa72008_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_TCA01, nes_sachen_tca01_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_TCU01, nes_sachen_tcu01_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_TCU02, nes_sachen_tcu02_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_74X374, nes_sachen_74x374_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_74X374_ALT, nes_sachen_74x374_alt_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_8259A, nes_sachen_8259a_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_8259B, nes_sachen_8259b_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_8259C, nes_sachen_8259c_device)
+DECLARE_DEVICE_TYPE(NES_SACHEN_8259D, nes_sachen_8259d_device)
+
+#endif // MAME_BUS_NES_SACHEN_H
diff --git a/src/devices/bus/nes/somari.cpp b/src/devices/bus/nes/somari.cpp
index b1f172567fe..b738ad671e8 100644
--- a/src/devices/bus/nes/somari.cpp
+++ b/src/devices/bus/nes/somari.cpp
@@ -36,17 +36,17 @@
// constructor
//-------------------------------------------------
-const device_type NES_SOMARI = device_creator<nes_somari_device>;
+DEFINE_DEVICE_TYPE(NES_SOMARI, nes_somari_device, "nes_somari", "NES Cart Team Somari PCB")
nes_somari_device::nes_somari_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_SOMARI, "NES Cart Team Somari PCB", tag, owner, clock, "nes_somari", __FILE__),
- m_board_mode(0),
- m_mmc3_mirror_reg(0),
- m_count(0),
- m_mmc1_latch(0),
- m_vrc_mirror_reg(0)
- {
+ : nes_txrom_device(mconfig, NES_SOMARI, tag, owner, clock)
+ , m_board_mode(0)
+ , m_mmc3_mirror_reg(0)
+ , m_count(0)
+ , m_mmc1_latch(0)
+ , m_vrc_mirror_reg(0)
+{
}
diff --git a/src/devices/bus/nes/somari.h b/src/devices/bus/nes/somari.h
index 6ccb8b73867..7b5d2920923 100644
--- a/src/devices/bus/nes/somari.h
+++ b/src/devices/bus/nes/somari.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_SOMARI_H
-#define __NES_SOMARI_H
+#ifndef MAME_BUS_NES_SOMARI_H
+#define MAME_BUS_NES_SOMARI_H
+
+#pragma once
#include "mmc3.h"
@@ -14,8 +16,6 @@ public:
// construction/destruction
nes_somari_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override { write_m(space, offset + 0x100, data, mem_mask); }
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(mmc1_w);
@@ -24,6 +24,11 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_prg();
void update_chr();
@@ -47,8 +52,7 @@ private:
};
-
// device type definition
-extern const device_type NES_SOMARI;
+DECLARE_DEVICE_TYPE(NES_SOMARI, nes_somari_device)
-#endif
+#endif // MAME_BUS_NES_SOMARI_H
diff --git a/src/devices/bus/nes/subor.cpp b/src/devices/bus/nes/subor.cpp
index 7d32104456a..c15e8761112 100644
--- a/src/devices/bus/nes/subor.cpp
+++ b/src/devices/bus/nes/subor.cpp
@@ -28,9 +28,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_SUBOR0 = device_creator<nes_subor0_device>;
-const device_type NES_SUBOR1 = device_creator<nes_subor1_device>;
-const device_type NES_SUBOR2 = device_creator<nes_subor2_device>;
+DEFINE_DEVICE_TYPE(NES_SUBOR0, nes_subor0_device, "nes_subor0", "NES Cart Subor Type 0 PCB")
+DEFINE_DEVICE_TYPE(NES_SUBOR1, nes_subor1_device, "nes_subor1", "NES Cart Subor Type 1 PCB")
+DEFINE_DEVICE_TYPE(NES_SUBOR2, nes_subor2_device, "nes_subor2", "NES Cart Subor Type 2 PCB")
//**************************************************************************
// LIVE DEVICE
@@ -41,7 +41,7 @@ const device_type NES_SUBOR2 = device_creator<nes_subor2_device>;
//-------------------------------------------------
nes_subor0_device::nes_subor0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SUBOR0, "NES Cart Subor Type 0 PCB", tag, owner, clock, "nes_subor0", __FILE__)
+ : nes_nrom_device(mconfig, NES_SUBOR0, tag, owner, clock)
{
}
@@ -50,7 +50,7 @@ nes_subor0_device::nes_subor0_device(const machine_config &mconfig, const char *
//-------------------------------------------------
nes_subor1_device::nes_subor1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SUBOR1, "NES Cart Subor Type 1 PCB", tag, owner, clock, "nes_subor1", __FILE__)
+ : nes_nrom_device(mconfig, NES_SUBOR1, tag, owner, clock)
{
}
@@ -59,11 +59,11 @@ nes_subor1_device::nes_subor1_device(const machine_config &mconfig, const char *
//-------------------------------------------------
nes_subor2_device::nes_subor2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SUBOR2, "NES Cart Subor Type 2 PCB", tag, owner, clock, "nes_subor2", __FILE__),
- m_switch_reg(0),
- m_bank_reg(0),
- m_chr_banking(0),
- m_page(0)
+ : nes_nrom_device(mconfig, NES_SUBOR2, tag, owner, clock)
+ , m_switch_reg(0)
+ , m_bank_reg(0)
+ , m_chr_banking(0)
+ , m_page(0)
{
}
diff --git a/src/devices/bus/nes/subor.h b/src/devices/bus/nes/subor.h
index 77839add137..93e542cf481 100644
--- a/src/devices/bus/nes/subor.h
+++ b/src/devices/bus/nes/subor.h
@@ -3,6 +3,8 @@
#ifndef MAME_BUS_NES_SUBOR_H
#define MAME_BUS_NES_SUBOR_H
+#pragma once
+
#include "nxrom.h"
//**************************************************************************
@@ -18,12 +20,14 @@ public:
// construction/destruction
nes_subor0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[4];
};
@@ -37,12 +41,14 @@ public:
// construction/destruction
nes_subor1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg[4];
};
@@ -56,8 +62,6 @@ public:
// construction/destruction
nes_subor2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(nt_r) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_READ8_MEMBER(read_l) override;
@@ -65,14 +69,18 @@ public:
virtual void ppu_latch(offs_t offset) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_banks();
uint8_t m_switch_reg, m_bank_reg, m_chr_banking, m_page;
};
// device type definition
-extern const device_type NES_SUBOR0;
-extern const device_type NES_SUBOR1;
-extern const device_type NES_SUBOR2;
+DECLARE_DEVICE_TYPE(NES_SUBOR0, nes_subor0_device)
+DECLARE_DEVICE_TYPE(NES_SUBOR1, nes_subor1_device)
+DECLARE_DEVICE_TYPE(NES_SUBOR2, nes_subor2_device)
-#endif /* MAME_BUS_NES_SUBOR_H */
+#endif // MAME_BUS_NES_SUBOR_H
diff --git a/src/devices/bus/nes/sunsoft.cpp b/src/devices/bus/nes/sunsoft.cpp
index 2394d67dad8..e35604256bd 100644
--- a/src/devices/bus/nes/sunsoft.cpp
+++ b/src/devices/bus/nes/sunsoft.cpp
@@ -42,52 +42,52 @@
// constructor
//-------------------------------------------------
-const device_type NES_SUNSOFT_1 = device_creator<nes_sunsoft_1_device>;
-const device_type NES_SUNSOFT_2 = device_creator<nes_sunsoft_2_device>;
-const device_type NES_SUNSOFT_3 = device_creator<nes_sunsoft_3_device>;
-const device_type NES_SUNSOFT_4 = device_creator<nes_sunsoft_4_device>;
-const device_type NES_SUNSOFT_FME7 = device_creator<nes_sunsoft_fme7_device>;
-const device_type NES_SUNSOFT_5 = device_creator<nes_sunsoft_5_device>;
+DEFINE_DEVICE_TYPE(NES_SUNSOFT_1, nes_sunsoft_1_device, "nes_sun1", "NES Cart Sunsoft 1 PCB")
+DEFINE_DEVICE_TYPE(NES_SUNSOFT_2, nes_sunsoft_2_device, "nes_sun2", "NES Cart Sunsoft 2 PCB")
+DEFINE_DEVICE_TYPE(NES_SUNSOFT_3, nes_sunsoft_3_device, "nes_sun3", "NES Cart Sunsoft 3 PCB")
+DEFINE_DEVICE_TYPE(NES_SUNSOFT_4, nes_sunsoft_4_device, "nes_sun4", "NES Cart Sunsoft 4 PCB")
+DEFINE_DEVICE_TYPE(NES_SUNSOFT_FME7, nes_sunsoft_fme7_device, "nes_fme7", "NES Cart Sunsoft FME7 PCB")
+DEFINE_DEVICE_TYPE(NES_SUNSOFT_5, nes_sunsoft_5_device, "nes_sun5", "NES Cart Sunsoft 5A/5B PCB")
nes_sunsoft_1_device::nes_sunsoft_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SUNSOFT_1, "NES Cart Sunsoft 1 PCB", tag, owner, clock, "nes_sun1", __FILE__)
+ : nes_nrom_device(mconfig, NES_SUNSOFT_1, tag, owner, clock)
{
}
nes_sunsoft_2_device::nes_sunsoft_2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SUNSOFT_2, "NES Cart Sunsoft 2 PCB", tag, owner, clock, "nes_sun2", __FILE__)
+ : nes_nrom_device(mconfig, NES_SUNSOFT_2, tag, owner, clock)
{
}
nes_sunsoft_3_device::nes_sunsoft_3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SUNSOFT_3, "NES Cart Sunsoft 3 PCB", tag, owner, clock, "nes_sun3", __FILE__), m_irq_count(0), m_irq_enable(0), m_irq_toggle(0), irq_timer(nullptr)
- {
+ : nes_nrom_device(mconfig, NES_SUNSOFT_3, tag, owner, clock), m_irq_count(0), m_irq_enable(0), m_irq_toggle(0), irq_timer(nullptr)
+{
}
-nes_sunsoft_4_device::nes_sunsoft_4_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_reg(0), m_latch1(0), m_latch2(0), m_wram_enable(0)
- {
+nes_sunsoft_4_device::nes_sunsoft_4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_reg(0), m_latch1(0), m_latch2(0), m_wram_enable(0)
+{
}
nes_sunsoft_4_device::nes_sunsoft_4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SUNSOFT_4, "NES Cart Sunsoft 4 PCB", tag, owner, clock, "nes_sun4", __FILE__), m_reg(0), m_latch1(0), m_latch2(0), m_wram_enable(0)
- {
+ : nes_sunsoft_4_device(mconfig, NES_SUNSOFT_4, tag, owner, clock)
+{
}
-nes_sunsoft_fme7_device::nes_sunsoft_fme7_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr), m_latch(0), m_wram_bank(0)
- {
+nes_sunsoft_fme7_device::nes_sunsoft_fme7_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr), m_latch(0), m_wram_bank(0)
+{
}
nes_sunsoft_fme7_device::nes_sunsoft_fme7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_SUNSOFT_FME7, "NES Cart Sunsoft FME7 PCB", tag, owner, clock, "nes_fme7", __FILE__), m_irq_count(0), m_irq_enable(0), irq_timer(nullptr), m_latch(0), m_wram_bank(0)
- {
+ : nes_sunsoft_fme7_device(mconfig, NES_SUNSOFT_FME7, tag, owner, clock)
+{
}
nes_sunsoft_5_device::nes_sunsoft_5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sunsoft_fme7_device(mconfig, NES_SUNSOFT_5, "NES Cart Sunsoft 5A/5B PCB", tag, owner, clock, "nes_sun5", __FILE__),
- m_ym2149(*this, "ay")
+ : nes_sunsoft_fme7_device(mconfig, NES_SUNSOFT_5, tag, owner, clock)
+ , m_ym2149(*this, "ay")
{
}
diff --git a/src/devices/bus/nes/sunsoft.h b/src/devices/bus/nes/sunsoft.h
index 9a0d7561b9c..0c4728627e4 100644
--- a/src/devices/bus/nes/sunsoft.h
+++ b/src/devices/bus/nes/sunsoft.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_SUNSOFT_H
-#define __NES_SUNSOFT_H
+#ifndef MAME_BUS_NES_SUNSOFT_H
+#define MAME_BUS_NES_SUNSOFT_H
+
+#pragma once
#include "nxrom.h"
#include "sound/ay8910.h"
@@ -15,11 +17,13 @@ public:
// construction/destruction
nes_sunsoft_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -31,11 +35,13 @@ public:
// construction/destruction
nes_sunsoft_2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -47,13 +53,14 @@ public:
// construction/destruction
nes_sunsoft_3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
private:
uint16_t m_irq_count;
int m_irq_enable, m_irq_toggle;
@@ -69,11 +76,8 @@ class nes_sunsoft_4_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_sunsoft_4_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_sunsoft_4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(sun4_write);
@@ -82,7 +86,13 @@ public:
virtual void pcb_reset() override;
protected:
+ nes_sunsoft_4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
void sun4_mirror(int mirror, int mirr0, int mirr1);
+
int m_reg, m_latch1, m_latch2, m_wram_enable;
};
@@ -92,12 +102,8 @@ class nes_sunsoft_fme7_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_sunsoft_fme7_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_sunsoft_fme7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(fme7_write);
@@ -105,6 +111,13 @@ public:
virtual void pcb_reset() override;
+protected:
+ nes_sunsoft_fme7_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
uint16_t m_irq_count;
int m_irq_enable;
@@ -133,15 +146,12 @@ private:
required_device<ay8910_device> m_ym2149;
};
-
-
-
// device type definition
-extern const device_type NES_SUNSOFT_1;
-extern const device_type NES_SUNSOFT_2;
-extern const device_type NES_SUNSOFT_3;
-extern const device_type NES_SUNSOFT_4;
-extern const device_type NES_SUNSOFT_FME7;
-extern const device_type NES_SUNSOFT_5;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_SUNSOFT_1, nes_sunsoft_1_device)
+DECLARE_DEVICE_TYPE(NES_SUNSOFT_2, nes_sunsoft_2_device)
+DECLARE_DEVICE_TYPE(NES_SUNSOFT_3, nes_sunsoft_3_device)
+DECLARE_DEVICE_TYPE(NES_SUNSOFT_4, nes_sunsoft_4_device)
+DECLARE_DEVICE_TYPE(NES_SUNSOFT_FME7, nes_sunsoft_fme7_device)
+DECLARE_DEVICE_TYPE(NES_SUNSOFT_5, nes_sunsoft_4_device)
+
+#endif // MAME_BUS_NES_SUNSOFT_H
diff --git a/src/devices/bus/nes/sunsoft_dcs.cpp b/src/devices/bus/nes/sunsoft_dcs.cpp
index 829a2e10982..c88bdce67d8 100644
--- a/src/devices/bus/nes/sunsoft_dcs.cpp
+++ b/src/devices/bus/nes/sunsoft_dcs.cpp
@@ -35,8 +35,8 @@
//-------------------------------------------------
ntb_cart_interface::ntb_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_rom(nullptr)
+ : device_slot_card_interface(mconfig, device)
+ , m_rom(nullptr)
{
}
@@ -48,12 +48,13 @@ ntb_cart_interface::~ntb_cart_interface()
// sub-cart slot device
//-------------------------------------------------
-const device_type NES_NTB_SLOT = device_creator<nes_ntb_slot_device>;
+DEFINE_DEVICE_TYPE(NES_NTB_SLOT, nes_ntb_slot_device, "nes_ntb_slot", "NES NTB Cartridge Slot")
-nes_ntb_slot_device::nes_ntb_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_NTB_SLOT, "NES NTB Cartridge Slot", tag, owner, clock, "nes_ntb_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this), m_cart(nullptr)
+nes_ntb_slot_device::nes_ntb_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, NES_NTB_SLOT, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , device_slot_interface(mconfig, *this)
+ , m_cart(nullptr)
{
}
@@ -120,11 +121,11 @@ ROM_START( ntb_rom )
ROM_REGION(0x4000, "ntbrom", ROMREGION_ERASEFF)
ROM_END
-const device_type NES_NTB_ROM = device_creator<nes_ntb_rom_device>;
+DEFINE_DEVICE_TYPE(NES_NTB_ROM, nes_ntb_rom_device, "nes_ntbrom", "NES NTB ROM")
nes_ntb_rom_device::nes_ntb_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NES_NTB_ROM, "NES NTB ROM", tag, owner, clock, "nes_ntbrom", __FILE__),
- ntb_cart_interface( mconfig, *this )
+ : device_t(mconfig, NES_NTB_ROM, tag, owner, clock)
+ , ntb_cart_interface(mconfig, *this)
{
}
@@ -153,13 +154,13 @@ uint8_t *nes_ntb_rom_device::get_cart_base()
//
//------------------------------------------------
-const device_type NES_SUNSOFT_DCS = device_creator<nes_sunsoft_dcs_device>;
+DEFINE_DEVICE_TYPE(NES_SUNSOFT_DCS, nes_sunsoft_dcs_device, "nes_dcs", "NES Cart Sunsoft DCS PCB")
nes_sunsoft_dcs_device::nes_sunsoft_dcs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_sunsoft_4_device(mconfig, NES_SUNSOFT_DCS, "NES Cart Sunsoft DCS PCB", tag, owner, clock, "nes_dcs", __FILE__), m_timer_on(0), m_exrom_enable(0),
- m_subslot(*this, "ntb_slot"), ntb_enable_timer(nullptr)
- {
+ : nes_sunsoft_4_device(mconfig, NES_SUNSOFT_DCS, tag, owner, clock), m_timer_on(0), m_exrom_enable(0)
+ , m_subslot(*this, "ntb_slot"), ntb_enable_timer(nullptr)
+{
}
diff --git a/src/devices/bus/nes/sunsoft_dcs.h b/src/devices/bus/nes/sunsoft_dcs.h
index 479f27aa39e..4b564a20f07 100644
--- a/src/devices/bus/nes/sunsoft_dcs.h
+++ b/src/devices/bus/nes/sunsoft_dcs.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_SUNSOFT_DCS_H
-#define __NES_SUNSOFT_DCS_H
+#ifndef MAME_BUS_NES_SUNSOFT_DCS_H
+#define MAME_BUS_NES_SUNSOFT_DCS_H
+
+#pragma once
#include "sunsoft.h"
#include "softlist_dev.h"
@@ -19,7 +21,6 @@ class ntb_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- ntb_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~ntb_cart_interface();
// reading and writing
@@ -28,16 +29,21 @@ public:
uint8_t *get_cart_base() { return m_rom; }
protected:
+ ntb_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
};
// ======================> nes_ntb_slot_device
+class nes_sunsoft_dcs_device;
+
class nes_ntb_slot_device : public device_t,
public device_image_interface,
public device_slot_interface
{
+ friend class nes_sunsoft_dcs_device;
public:
// construction/destruction
nes_ntb_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -64,11 +70,12 @@ public:
virtual DECLARE_READ8_MEMBER(read);
+protected:
ntb_cart_interface* m_cart;
};
// device type definition
-extern const device_type NES_NTB_SLOT;
+DECLARE_DEVICE_TYPE(NES_NTB_SLOT, nes_ntb_slot_device)
#define MCFG_NTB_MINICART_ADD(_tag, _slot_intf) \
@@ -101,7 +108,7 @@ protected:
};
// device type definition
-extern const device_type NES_NTB_ROM;
+DECLARE_DEVICE_TYPE(NES_NTB_ROM, nes_ntb_rom_device)
@@ -121,10 +128,7 @@ public:
// construction/destruction
nes_sunsoft_dcs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
@@ -132,18 +136,23 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
+ static constexpr device_timer_id TIMER_PROTECT = 0;
+
int m_timer_on, m_exrom_enable;
required_device<nes_ntb_slot_device> m_subslot;
- static const device_timer_id TIMER_PROTECT = 0;
emu_timer *ntb_enable_timer;
attotime timer_freq;
};
-
// device type definition
-extern const device_type NES_SUNSOFT_DCS;
+DECLARE_DEVICE_TYPE(NES_SUNSOFT_DCS, nes_sunsoft_dcs_device)
-#endif
+#endif // MAME_BUS_NES_SUNSOFT_DCS_H
diff --git a/src/devices/bus/nes/taito.cpp b/src/devices/bus/nes/taito.cpp
index b417f6dcc3a..e0b6f836a1c 100644
--- a/src/devices/bus/nes/taito.cpp
+++ b/src/devices/bus/nes/taito.cpp
@@ -25,7 +25,7 @@
#include "taito.h"
#include "cpu/m6502/m6502.h"
-#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access PPU_BOTTOM_VISIBLE_SCANLINE
+#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
#ifdef NES_PCB_DEBUG
@@ -41,35 +41,35 @@
// constructor
//-------------------------------------------------
-const device_type NES_TC0190FMC = device_creator<nes_tc0190fmc_device>;
-const device_type NES_TC0190FMC_PAL16R4 = device_creator<nes_tc0190fmc_pal16r4_device>;
-const device_type NES_X1_005 = device_creator<nes_x1_005_device>;
-const device_type NES_X1_017 = device_creator<nes_x1_017_device>;
+DEFINE_DEVICE_TYPE(NES_TC0190FMC, nes_tc0190fmc_device, "nes_tc0190fmc", "NES Cart Taito TC0190FMC PCB")
+DEFINE_DEVICE_TYPE(NES_TC0190FMC_PAL16R4, nes_tc0190fmc_pal16r4_device, "nes_tc0190pal", "NES Cart Taito TC0190FMC + PAL16R4 PCB")
+DEFINE_DEVICE_TYPE(NES_X1_005, nes_x1_005_device, "nes_x1_005", "NES Cart Taito X1-005 PCB")
+DEFINE_DEVICE_TYPE(NES_X1_017, nes_x1_017_device, "nes_x1_017", "NES Cart Taito X1-017 PCB")
-nes_tc0190fmc_device::nes_tc0190fmc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+nes_tc0190fmc_device::nes_tc0190fmc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock)
{
}
nes_tc0190fmc_device::nes_tc0190fmc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TC0190FMC, "NES Cart Taito TC0190FMC PCB", tag, owner, clock, "nes_tc0190fmc", __FILE__)
+ : nes_tc0190fmc_device(mconfig, NES_TC0190FMC, tag, owner, clock)
{
}
nes_tc0190fmc_pal16r4_device::nes_tc0190fmc_pal16r4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_tc0190fmc_device(mconfig, NES_TC0190FMC_PAL16R4, "NES Cart Taito TC0190FMC + PAL16R4 PCB", tag, owner, clock, "nes_tc0190pal", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0)
- {
+ : nes_tc0190fmc_device(mconfig, NES_TC0190FMC_PAL16R4, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0)
+{
}
nes_x1_005_device::nes_x1_005_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_X1_005, "NES Cart Taito X1-005 PCB", tag, owner, clock, "nes_x1_005", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_X1_005, tag, owner, clock), m_latch(0)
+{
}
nes_x1_017_device::nes_x1_017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_X1_017, "NES Cart Taito X1-017 PCB", tag, owner, clock, "nes_x1_017", __FILE__), m_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_X1_017, tag, owner, clock), m_latch(0)
+{
}
@@ -228,7 +228,7 @@ WRITE8_MEMBER(nes_tc0190fmc_device::tc0190fmc_write)
void nes_tc0190fmc_pal16r4_device::hblank_irq( int scanline, int vblank, int blanked )
{
- if (scanline < PPU_BOTTOM_VISIBLE_SCANLINE)
+ if (scanline < ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE)
{
int prior_count = m_irq_count;
if (m_irq_count == 0)
diff --git a/src/devices/bus/nes/taito.h b/src/devices/bus/nes/taito.h
index 8d33ecd4c5e..8f3ccb2a8ee 100644
--- a/src/devices/bus/nes/taito.h
+++ b/src/devices/bus/nes/taito.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_TAITO_H
-#define __NES_TAITO_H
+#ifndef MAME_BUS_NES_TAITO_H
+#define MAME_BUS_NES_TAITO_H
+
+#pragma once
#include "nxrom.h"
@@ -12,15 +14,18 @@ class nes_tc0190fmc_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_tc0190fmc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_tc0190fmc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(tc0190fmc_write);
virtual DECLARE_WRITE8_MEMBER(write_h) override { tc0190fmc_write(space, offset, data, mem_mask); }
virtual void pcb_reset() override;
+
+protected:
+ nes_tc0190fmc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -32,13 +37,15 @@ public:
// construction/destruction
nes_tc0190fmc_pal16r4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count, m_irq_count_latch;
int m_irq_enable;
@@ -53,13 +60,15 @@ public:
// construction/destruction
nes_x1_005_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
// Taito X1-005 chip contains 80 bytes of internal ram, possibly battery backed up
@@ -75,13 +84,15 @@ public:
// construction/destruction
nes_x1_017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void set_chr();
uint8_t m_latch;
@@ -92,13 +103,11 @@ private:
};
-
-
// device type definition
-extern const device_type NES_TC0190FMC;
-extern const device_type NES_TC0190FMC_PAL16R4;
-extern const device_type NES_X1_005;
-extern const device_type NES_X1_017;
+DECLARE_DEVICE_TYPE(NES_TC0190FMC, nes_tc0190fmc_device)
+DECLARE_DEVICE_TYPE(NES_TC0190FMC_PAL16R4, nes_tc0190fmc_pal16r4_device)
+DECLARE_DEVICE_TYPE(NES_X1_005, nes_x1_005_device)
+DECLARE_DEVICE_TYPE(NES_X1_017, nes_x1_017_device)
-#endif
+#endif // MAME_BUS_NES_TAITO_H
diff --git a/src/devices/bus/nes/tengen.cpp b/src/devices/bus/nes/tengen.cpp
index 24c8843637f..7b171e77311 100644
--- a/src/devices/bus/nes/tengen.cpp
+++ b/src/devices/bus/nes/tengen.cpp
@@ -22,7 +22,7 @@
#include "tengen.h"
#include "cpu/m6502/m6502.h"
-#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access PPU_BOTTOM_VISIBLE_SCANLINE
+#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
#ifdef NES_PCB_DEBUG
@@ -38,28 +38,28 @@
// constructor
//-------------------------------------------------
-const device_type NES_TENGEN_800008 = device_creator<nes_tengen008_device>;
-const device_type NES_TENGEN_800032 = device_creator<nes_tengen032_device>;
-const device_type NES_TENGEN_800037 = device_creator<nes_tengen037_device>;
+DEFINE_DEVICE_TYPE(NES_TENGEN_800008, nes_tengen008_device, "nes_tengen008", "NES Cart Tengen 800008 PCB")
+DEFINE_DEVICE_TYPE(NES_TENGEN_800032, nes_tengen032_device, "nes_tengen032", "NES Cart Tengen 800032 PCB")
+DEFINE_DEVICE_TYPE(NES_TENGEN_800037, nes_tengen037_device, "nes_tengen037", "NES Cart Tengen 800037 PCB")
nes_tengen008_device::nes_tengen008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TENGEN_800008, "NES Cart Tengen 800008 PCB", tag, owner, clock, "nes_tengen008", __FILE__)
+ : nes_nrom_device(mconfig, NES_TENGEN_800008, tag, owner, clock)
{
}
-nes_tengen032_device::nes_tengen032_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source), m_irq_count(0), m_irq_count_latch(0), m_irq_mode(0), m_irq_reset(0), m_irq_enable(0), m_latch(0), irq_timer(nullptr)
- {
+nes_tengen032_device::nes_tengen032_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_mode(0), m_irq_reset(0), m_irq_enable(0), m_latch(0), irq_timer(nullptr)
+{
}
nes_tengen032_device::nes_tengen032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TENGEN_800032, "NES Cart Tengen 800032 PCB", tag, owner, clock, "nes_tengen032", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_mode(0), m_irq_reset(0), m_irq_enable(0), m_latch(0), irq_timer(nullptr)
+ : nes_tengen032_device(mconfig, NES_TENGEN_800032, tag, owner, clock)
{
}
nes_tengen037_device::nes_tengen037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_tengen032_device(mconfig, NES_TENGEN_800037, "NES Cart Tengen 800037 PCB", tag, owner, clock, "nes_tengen037", __FILE__)
+ : nes_tengen032_device(mconfig, NES_TENGEN_800037, tag, owner, clock)
{
}
@@ -195,7 +195,7 @@ void nes_tengen032_device::hblank_irq(int scanline, int vblank, int blanked)
{
if (!m_irq_mode) // we are in scanline mode!
{
- if (scanline < PPU_BOTTOM_VISIBLE_SCANLINE)
+ if (scanline < ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE)
{
irq_clock(blanked);
}
diff --git a/src/devices/bus/nes/tengen.h b/src/devices/bus/nes/tengen.h
index 3fb9cba0c88..dce41f4fbb4 100644
--- a/src/devices/bus/nes/tengen.h
+++ b/src/devices/bus/nes/tengen.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_TENGEN_H
-#define __NES_TENGEN_H
+#ifndef MAME_BUS_NES_TENGEN_H
+#define MAME_BUS_NES_TENGEN_H
#include "nxrom.h"
@@ -14,11 +14,13 @@ public:
// construction/destruction
nes_tengen008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -28,20 +30,23 @@ class nes_tengen032_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_tengen032_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_tengen032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_WRITE8_MEMBER(tengen032_write);
virtual DECLARE_WRITE8_MEMBER(write_h) override { tengen032_write(space, offset, data, mem_mask); }
- virtual void chr_cb(int start, int bank, int source);
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
protected:
+ nes_tengen032_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ virtual void chr_cb(int start, int bank, int source);
+
void set_prg();
void set_chr();
void irq_clock(int blanked);
@@ -77,12 +82,9 @@ protected:
};
-
-
-
// device type definition
-extern const device_type NES_TENGEN_800008;
-extern const device_type NES_TENGEN_800032;
-extern const device_type NES_TENGEN_800037;
+DECLARE_DEVICE_TYPE(NES_TENGEN_800008, nes_tengen008_device)
+DECLARE_DEVICE_TYPE(NES_TENGEN_800032, nes_tengen032_device)
+DECLARE_DEVICE_TYPE(NES_TENGEN_800037, nes_tengen037_device)
-#endif
+#endif // MAME_BUS_NES_TENGEN_H
diff --git a/src/devices/bus/nes/txc.cpp b/src/devices/bus/nes/txc.cpp
index c6c4b6b9ad1..f3ab8efc5f9 100644
--- a/src/devices/bus/nes/txc.cpp
+++ b/src/devices/bus/nes/txc.cpp
@@ -37,40 +37,40 @@
// constructor
//-------------------------------------------------
-const device_type NES_TXC_22211 = device_creator<nes_txc_22211_device>;
-const device_type NES_TXC_DUMARACING = device_creator<nes_txc_dumarc_device>;
-const device_type NES_TXC_MJBLOCK = device_creator<nes_txc_mjblock_device>;
-const device_type NES_TXC_STRIKEW = device_creator<nes_txc_strikew_device>;
-const device_type NES_TXC_COMMANDOS = device_creator<nes_txc_commandos_device>;
+DEFINE_DEVICE_TYPE(NES_TXC_22211, nes_txc_22211_device, "nes_txc_22211", "NES Cart TXC 22211 PCB")
+DEFINE_DEVICE_TYPE(NES_TXC_DUMARACING, nes_txc_dumarc_device, "nes_txc_dumarc", "NES Cart TXC Du Ma Racing PCB")
+DEFINE_DEVICE_TYPE(NES_TXC_MJBLOCK, nes_txc_mjblock_device, "nes_txc_mjblock", "NES Cart TXC Mahjong Block PCB")
+DEFINE_DEVICE_TYPE(NES_TXC_STRIKEW, nes_txc_strikew_device, "nes_txc_strikew", "NES Cart TXC Strike Wolf PCB")
+DEFINE_DEVICE_TYPE(NES_TXC_COMMANDOS, nes_txc_commandos_device, "nes_txc_comm", "NES Cart TXC Cart Commandos PCB") // and others
-nes_txc_22211_device::nes_txc_22211_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_nrom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+nes_txc_22211_device::nes_txc_22211_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_nrom_device(mconfig, type, tag, owner, clock)
{
}
nes_txc_22211_device::nes_txc_22211_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TXC_22211, "NES Cart TXC 22211 PCB", tag, owner, clock, "nes_txc_22211", __FILE__)
+ : nes_nrom_device(mconfig, NES_TXC_22211, tag, owner, clock)
{
}
nes_txc_dumarc_device::nes_txc_dumarc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txc_22211_device(mconfig, NES_TXC_DUMARACING, "NES Cart TXC Du Ma Racing PCB", tag, owner, clock, "nes_dumarc", __FILE__)
+ : nes_txc_22211_device(mconfig, NES_TXC_DUMARACING, tag, owner, clock)
{
}
nes_txc_mjblock_device::nes_txc_mjblock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txc_22211_device(mconfig, NES_TXC_MJBLOCK, "NES Cart TXC Mahjong Block PCB", tag, owner, clock, "nes_mjblock", __FILE__)
+ : nes_txc_22211_device(mconfig, NES_TXC_MJBLOCK, tag, owner, clock)
{
}
nes_txc_strikew_device::nes_txc_strikew_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TXC_STRIKEW, "NES Cart Strike Wolf PCB", tag, owner, clock, "nes_txc_strikew", __FILE__)
+ : nes_nrom_device(mconfig, NES_TXC_STRIKEW, tag, owner, clock)
{
}
nes_txc_commandos_device::nes_txc_commandos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_TXC_COMMANDOS, "NES Cart Commandos (and others) PCB", tag, owner, clock, "nes_txc_comm", __FILE__)
+ : nes_nrom_device(mconfig, NES_TXC_COMMANDOS, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/txc.h b/src/devices/bus/nes/txc.h
index b8c11dddd20..efc32b58368 100644
--- a/src/devices/bus/nes/txc.h
+++ b/src/devices/bus/nes/txc.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_TXC_H
-#define __NES_TXC_H
+#ifndef MAME_BUS_NES_TXC_H
+#define MAME_BUS_NES_TXC_H
+
+#pragma once
#include "nxrom.h"
@@ -12,11 +14,8 @@ class nes_txc_22211_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_txc_22211_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_txc_22211_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
@@ -24,6 +23,11 @@ public:
virtual void pcb_reset() override;
protected:
+ nes_txc_22211_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
uint8_t m_reg[4];
};
@@ -62,11 +66,13 @@ public:
// construction/destruction
nes_txc_strikew_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -78,22 +84,22 @@ public:
// construction/destruction
nes_txc_commandos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
-};
-
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+};
// device type definition
-extern const device_type NES_TXC_22211;
-extern const device_type NES_TXC_DUMARACING;
-extern const device_type NES_TXC_MJBLOCK;
-extern const device_type NES_TXC_STRIKEW;
-extern const device_type NES_TXC_COMMANDOS;
+DECLARE_DEVICE_TYPE(NES_TXC_22211, nes_txc_22211_device)
+DECLARE_DEVICE_TYPE(NES_TXC_DUMARACING, nes_txc_dumarac_device)
+DECLARE_DEVICE_TYPE(NES_TXC_MJBLOCK, nes_txc_mjblock_device)
+DECLARE_DEVICE_TYPE(NES_TXC_STRIKEW, nes_txc_strikew_device)
+DECLARE_DEVICE_TYPE(NES_TXC_COMMANDOS, nes_txc_commandos_device)
-#endif
+#endif // MAME_BUS_NES_TXC_H
diff --git a/src/devices/bus/nes/waixing.cpp b/src/devices/bus/nes/waixing.cpp
index fd343d910e3..f4d9c338f48 100644
--- a/src/devices/bus/nes/waixing.cpp
+++ b/src/devices/bus/nes/waixing.cpp
@@ -33,141 +33,141 @@
// constructor
//-------------------------------------------------
-const device_type NES_WAIXING_A = device_creator<nes_waixing_a_device>;
-const device_type NES_WAIXING_A1 = device_creator<nes_waixing_a1_device>;
-const device_type NES_WAIXING_B = device_creator<nes_waixing_b_device>;
-const device_type NES_WAIXING_C = device_creator<nes_waixing_c_device>;
-const device_type NES_WAIXING_D = device_creator<nes_waixing_d_device>;
-const device_type NES_WAIXING_E = device_creator<nes_waixing_e_device>;
-const device_type NES_WAIXING_F = device_creator<nes_waixing_f_device>;
-const device_type NES_WAIXING_G = device_creator<nes_waixing_g_device>;
-const device_type NES_WAIXING_H = device_creator<nes_waixing_h_device>;
-const device_type NES_WAIXING_H1 = device_creator<nes_waixing_h1_device>;
-const device_type NES_WAIXING_I = device_creator<nes_waixing_i_device>;
-const device_type NES_WAIXING_J = device_creator<nes_waixing_j_device>;
-const device_type NES_WAIXING_SH2 = device_creator<nes_waixing_sh2_device>;
-const device_type NES_WAIXING_SEC = device_creator<nes_waixing_sec_device>;
-const device_type NES_WAIXING_SGZ = device_creator<nes_waixing_sgz_device>;
-const device_type NES_WAIXING_SGZLZ = device_creator<nes_waixing_sgzlz_device>;
-const device_type NES_WAIXING_FFV = device_creator<nes_waixing_ffv_device>;
-const device_type NES_WAIXING_WXZS = device_creator<nes_waixing_wxzs_device>;
-const device_type NES_WAIXING_DQ8 = device_creator<nes_waixing_dq8_device>;
-const device_type NES_WAIXING_WXZS2 = device_creator<nes_waixing_wxzs2_device>;
-const device_type NES_WAIXING_FS304 = device_creator<nes_waixing_fs304_device>;
-
-
-nes_waixing_a_device::nes_waixing_a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_txrom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+DEFINE_DEVICE_TYPE(NES_WAIXING_A, nes_waixing_a_device, "nes_waixing_a", "NES Cart Waixing Type A PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_A1, nes_waixing_a1_device, "nes_waixing_a1", "NES Cart Waixing Type A (Alt) PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_B, nes_waixing_b_device, "nes_waixing_b", "NES Cart Waixing Type B PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_C, nes_waixing_c_device, "nes_waixing_c", "NES Cart Waixing Type C PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_D, nes_waixing_d_device, "nes_waixing_d", "NES Cart Waixing Type D PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_E, nes_waixing_e_device, "nes_waixing_e", "NES Cart Waixing Type E PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_F, nes_waixing_f_device, "nes_waixing_f", "NES Cart Waixing Type F PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_G, nes_waixing_g_device, "nes_waixing_g", "NES Cart Waixing Type G PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_H, nes_waixing_h_device, "nes_waixing_h", "NES Cart Waixing Type H PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_H1, nes_waixing_h1_device, "nes_waixing_h1", "NES Cart Waixing Type H (Alt) PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_I, nes_waixing_i_device, "nes_waixing_i", "NES Cart Waixing Type I PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_J, nes_waixing_j_device, "nes_waixing_j", "NES Cart Waixing Type J PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_SH2, nes_waixing_sh2_device, "nes_waixing_sh2", "NES Cart Waixing SH2 PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_SEC, nes_waixing_sec_device, "nes_waixing_sec", "NES Cart Waixing Security Chip PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_SGZ, nes_waixing_sgz_device, "nes_waixing_sgz", "NES Cart Waixing San Guo Zhi PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_SGZLZ, nes_waixing_sgzlz_device, "nes_waixing_sgzlz", "NES Cart Waixing San Guo Zhong Lie Zhuan PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_FFV, nes_waixing_ffv_device, "nes_waixing_ffv", "NES Cart Waixing Final Fantasy V PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_WXZS, nes_waixing_wxzs_device, "nes_waixing_wxzs", "NES Cart Waixing Wai Xing Zhan Shi PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_DQ8, nes_waixing_dq8_device, "nes_waixing_dq8", "NES Cart Waixing Dragon Quest VIII PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_WXZS2, nes_waixing_wxzs2_device, "nes_waixing_wxzs2", "NES Cart Waixing Wai Xing Zhan Shi 2 PCB")
+DEFINE_DEVICE_TYPE(NES_WAIXING_FS304, nes_waixing_fs304_device, "nes_waixing_fs304", "NES Cart Waixing FS-304 PCB")
+
+
+nes_waixing_a_device::nes_waixing_a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_txrom_device(mconfig, type, tag, owner, clock)
{
}
nes_waixing_a_device::nes_waixing_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_WAIXING_A, "NES Cart Waixing Type A PCB", tag, owner, clock, "nes_waixing_a", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_A, tag, owner, clock)
{
}
nes_waixing_a1_device::nes_waixing_a1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_a_device(mconfig, NES_WAIXING_A1, "NES Cart Waixing Type A (Alt) PCB", tag, owner, clock, "nes_waixing_a1", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_A1, tag, owner, clock)
{
}
nes_waixing_b_device::nes_waixing_b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_a_device(mconfig, NES_WAIXING_B, "NES Cart Waixing Type B PCB", tag, owner, clock, "nes_waixing_b", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_B, tag, owner, clock)
{
}
nes_waixing_c_device::nes_waixing_c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_a_device(mconfig, NES_WAIXING_C, "NES Cart Waixing Type C PCB", tag, owner, clock, "nes_waixing_c", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_C, tag, owner, clock)
{
}
nes_waixing_d_device::nes_waixing_d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_a_device(mconfig, NES_WAIXING_D, "NES Cart Waixing Type D PCB", tag, owner, clock, "nes_waixing_d", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_D, tag, owner, clock)
{
}
nes_waixing_e_device::nes_waixing_e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_a_device(mconfig, NES_WAIXING_E, "NES Cart Waixing Type E PCB", tag, owner, clock, "nes_waixing_e", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_E, tag, owner, clock)
{
}
nes_waixing_f_device::nes_waixing_f_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_a_device(mconfig, NES_WAIXING_F, "NES Cart Waixing Type F PCB", tag, owner, clock, "nes_waixing_f", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_F, tag, owner, clock)
{
}
nes_waixing_g_device::nes_waixing_g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_a_device(mconfig, NES_WAIXING_G, "NES Cart Waixing Type G PCB", tag, owner, clock, "nes_waixing_g", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_G, tag, owner, clock)
{
}
-nes_waixing_h_device::nes_waixing_h_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : nes_txrom_device(mconfig, type, name, tag, owner, clock, shortname, source)
+nes_waixing_h_device::nes_waixing_h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : nes_txrom_device(mconfig, type, tag, owner, clock)
{
}
nes_waixing_h_device::nes_waixing_h_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_WAIXING_H, "NES Cart Waixing Type H PCB", tag, owner, clock, "nes_waixing_h", __FILE__)
+ : nes_waixing_h_device(mconfig, NES_WAIXING_H, tag, owner, clock)
{
}
nes_waixing_h1_device::nes_waixing_h1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_h_device(mconfig, NES_WAIXING_H1, "NES Cart Waixing Type H (Alt) PCB", tag, owner, clock, "nes_waixing_h1", __FILE__)
+ : nes_waixing_h_device(mconfig, NES_WAIXING_H1, tag, owner, clock)
{
}
nes_waixing_i_device::nes_waixing_i_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_a_device(mconfig, NES_WAIXING_I, "NES Cart Waixing Type I PCB", tag, owner, clock, "nes_waixing_i", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_I, tag, owner, clock)
{
}
nes_waixing_j_device::nes_waixing_j_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_waixing_a_device(mconfig, NES_WAIXING_J, "NES Cart Waixing Type J PCB", tag, owner, clock, "nes_waixing_j", __FILE__)
+ : nes_waixing_a_device(mconfig, NES_WAIXING_J, tag, owner, clock)
{
}
nes_waixing_sh2_device::nes_waixing_sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_WAIXING_SH2, "NES Cart Waixing SH2 PCB", tag, owner, clock, "nes_waixing_sh2", __FILE__)
+ : nes_txrom_device(mconfig, NES_WAIXING_SH2, tag, owner, clock)
{
}
nes_waixing_sec_device::nes_waixing_sec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_txrom_device(mconfig, NES_WAIXING_SEC, "NES Cart Waixing Security Chip PCB", tag, owner, clock, "nes_waixing_sec", __FILE__), m_reg(0)
- {
+ : nes_txrom_device(mconfig, NES_WAIXING_SEC, tag, owner, clock), m_reg(0)
+{
}
nes_waixing_sgz_device::nes_waixing_sgz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_WAIXING_SGZ, "NES Cart Waixing San Guo Zhi PCB", tag, owner, clock, "nes_waixing_sgz", __FILE__), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_enable_latch(0)
- {
+ : nes_nrom_device(mconfig, NES_WAIXING_SGZ, tag, owner, clock), m_irq_count(0), m_irq_count_latch(0), m_irq_enable(0), m_irq_enable_latch(0)
+{
}
nes_waixing_sgzlz_device::nes_waixing_sgzlz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_WAIXING_SGZLZ, "NES Cart Waixing San Guo Zhong Lie Zhuan PCB", tag, owner, clock, "nes_waixing_sgzlz", __FILE__), m_reg{}
- {
+ : nes_nrom_device(mconfig, NES_WAIXING_SGZLZ, tag, owner, clock), m_reg{ 0, 0, 0, 0 }
+{
}
nes_waixing_ffv_device::nes_waixing_ffv_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_WAIXING_FFV, "NES Cart Waixing Final Fantasy V PCB", tag, owner, clock, "nes_waixing_ffv", __FILE__)
+ : nes_nrom_device(mconfig, NES_WAIXING_FFV, tag, owner, clock)
{
}
nes_waixing_wxzs_device::nes_waixing_wxzs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_WAIXING_WXZS, "NES Cart Waixing Wai Xing Zhan Shi PCB", tag, owner, clock, "nes_waixing_wxzs", __FILE__)
+ : nes_nrom_device(mconfig, NES_WAIXING_WXZS, tag, owner, clock)
{
}
nes_waixing_dq8_device::nes_waixing_dq8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_WAIXING_DQ8, "NES Cart Waixing Dragon Quest VIII PCB", tag, owner, clock, "nes_waixing_dq8", __FILE__)
+ : nes_nrom_device(mconfig, NES_WAIXING_DQ8, tag, owner, clock)
{
}
nes_waixing_wxzs2_device::nes_waixing_wxzs2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_WAIXING_WXZS2, "NES Cart Waixing Wai Xing Zhan Shi 2 PCB", tag, owner, clock, "nes_waixing_wxzs2", __FILE__)
+ : nes_nrom_device(mconfig, NES_WAIXING_WXZS2, tag, owner, clock)
{
}
nes_waixing_fs304_device::nes_waixing_fs304_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_WAIXING_FS304, "NES Cart Waixing FS-304 PCB", tag, owner, clock, "nes_waixing_fs304", __FILE__)
+ : nes_nrom_device(mconfig, NES_WAIXING_FS304, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/waixing.h b/src/devices/bus/nes/waixing.h
index dd53d109e73..5488973a14c 100644
--- a/src/devices/bus/nes/waixing.h
+++ b/src/devices/bus/nes/waixing.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_WAIXING_H
-#define __NES_WAIXING_H
+#ifndef MAME_BUS_NES_WAIXING_H
+#define MAME_BUS_NES_WAIXING_H
+
+#pragma once
#include "mmc3.h"
@@ -12,11 +14,8 @@ class nes_waixing_a_device : public nes_txrom_device
{
public:
// construction/destruction
- nes_waixing_a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_waixing_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(waixing_write);
@@ -26,7 +25,13 @@ public:
virtual void pcb_reset() override;
protected:
+ nes_waixing_a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
void set_mirror(uint8_t nt);
+
uint8_t mapper_ram[0x400];
};
@@ -109,6 +114,7 @@ public:
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
+
private:
virtual void set_prg(int prg_base, int prg_mask) override;
};
@@ -139,14 +145,17 @@ class nes_waixing_h_device : public nes_txrom_device
{
public:
// construction/destruction
- nes_waixing_h_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_waixing_h_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void chr_cb(int start, int bank, int source) override;
// This PCB does not have 1K of internal RAM, so it's not derived from nes_waixing_a_device!!
+
+protected:
+ nes_waixing_h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual DECLARE_WRITE8_MEMBER(write_h) override;
};
@@ -185,13 +194,14 @@ public:
// construction/destruction
nes_waixing_j_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
virtual void set_prg(int prg_base, int prg_mask) override;
uint8_t m_reg[4];
};
@@ -225,8 +235,6 @@ public:
// construction/destruction
nes_waixing_sec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -234,6 +242,9 @@ public:
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
uint8_t m_reg;
};
@@ -246,14 +257,15 @@ public:
// construction/destruction
nes_waixing_sgz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
uint16_t m_irq_count, m_irq_count_latch;
int m_irq_enable, m_irq_enable_latch;
@@ -269,13 +281,14 @@ public:
// construction/destruction
nes_waixing_sgzlz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
uint8_t m_reg[4];
};
@@ -288,13 +301,14 @@ public:
// construction/destruction
nes_waixing_ffv_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
uint8_t m_reg[2];
};
@@ -307,11 +321,13 @@ public:
// construction/destruction
nes_waixing_wxzs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -323,11 +339,13 @@ public:
// construction/destruction
nes_waixing_dq8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -339,11 +357,13 @@ public:
// construction/destruction
nes_waixing_wxzs2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -355,42 +375,39 @@ public:
// construction/destruction
nes_waixing_fs304_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual void pcb_reset() override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
uint8_t m_reg[4];
};
-
-
-
// device type definition
-extern const device_type NES_WAIXING_A;
-extern const device_type NES_WAIXING_A1;
-extern const device_type NES_WAIXING_B;
-extern const device_type NES_WAIXING_C;
-extern const device_type NES_WAIXING_D;
-extern const device_type NES_WAIXING_E;
-extern const device_type NES_WAIXING_F;
-extern const device_type NES_WAIXING_G;
-extern const device_type NES_WAIXING_H;
-extern const device_type NES_WAIXING_H1;
-extern const device_type NES_WAIXING_I;
-extern const device_type NES_WAIXING_J;
-extern const device_type NES_WAIXING_SH2;
-extern const device_type NES_WAIXING_SEC;
-extern const device_type NES_WAIXING_SGZ;
-extern const device_type NES_WAIXING_SGZLZ;
-extern const device_type NES_WAIXING_FFV;
-extern const device_type NES_WAIXING_WXZS;
-extern const device_type NES_WAIXING_DQ8;
-extern const device_type NES_WAIXING_WXZS2;
-extern const device_type NES_WAIXING_FS304;
-
-
-#endif
+DECLARE_DEVICE_TYPE(NES_WAIXING_A, nes_waixing_a_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_A1, nes_waixing_a1_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_B, nes_waixing_b_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_C, nes_waixing_c_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_D, nes_waixing_d_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_E, nes_waixing_e_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_F, nes_waixing_f_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_G, nes_waixing_g_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_H, nes_waixing_h_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_H1, nes_waixing_h1_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_I, nes_waixing_i_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_J, nes_waixing_j_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_SH2, nes_waixing_sh2_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_SEC, nes_waixing_sec_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_SGZ, nes_waixing_sgz_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_SGZLZ, nes_waixing_sgzlz_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_FFV, nes_waixing_ffv_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_WXZS, nes_waixing_wxzs_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_DQ8, nes_waixing_dq8_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_WXZS2, nes_waixing_wxzs2_device)
+DECLARE_DEVICE_TYPE(NES_WAIXING_FS304, nes_waixing_fs304_device)
+
+#endif // MAME_BUS_NES_WAIXING_H
diff --git a/src/devices/bus/nes/zemina.cpp b/src/devices/bus/nes/zemina.cpp
index 2328b7485a8..bb4b3b61bc0 100644
--- a/src/devices/bus/nes/zemina.cpp
+++ b/src/devices/bus/nes/zemina.cpp
@@ -21,7 +21,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_ZEMINA = device_creator<nes_zemina_device>;
+DEFINE_DEVICE_TYPE(NES_ZEMINA, nes_zemina_device, "nes_zemina", "NES Cart Zemina PCB")
//**************************************************************************
// LIVE DEVICE
@@ -32,7 +32,7 @@ const device_type NES_ZEMINA = device_creator<nes_zemina_device>;
//-------------------------------------------------
nes_zemina_device::nes_zemina_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_nrom_device(mconfig, NES_ZEMINA, "NES Cart Zemina PCB", tag, owner, clock, "nes_zemina", __FILE__)
+ : nes_nrom_device(mconfig, NES_ZEMINA, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes/zemina.h b/src/devices/bus/nes/zemina.h
index d52f2db803c..87d170d053d 100644
--- a/src/devices/bus/nes/zemina.h
+++ b/src/devices/bus/nes/zemina.h
@@ -26,6 +26,6 @@ public:
};
// device type definition
-extern const device_type NES_ZEMINA;
+DECLARE_DEVICE_TYPE(NES_ZEMINA, nes_zemina_device)
-#endif /* MAME_BUS_NES_ZEMINA_H */
+#endif // MAME_BUS_NES_ZEMINA_H
diff --git a/src/devices/bus/nes_ctrl/4score.cpp b/src/devices/bus/nes_ctrl/4score.cpp
index ee2dc33db49..d786124d1a5 100644
--- a/src/devices/bus/nes_ctrl/4score.cpp
+++ b/src/devices/bus/nes_ctrl/4score.cpp
@@ -37,8 +37,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_4SCORE_P1P3 = device_creator<nes_4score_p1p3_device>;
-const device_type NES_4SCORE_P2P4 = device_creator<nes_4score_p2p4_device>;
+DEFINE_DEVICE_TYPE(NES_4SCORE_P1P3, nes_4score_p1p3_device, "nes_4score_p1p3", "Nintendo Four Score Adapter P1/P3")
+DEFINE_DEVICE_TYPE(NES_4SCORE_P2P4, nes_4score_p2p4_device, "nes_4score_p2p4", "Nintendo Four Score Adapter P2/P4")
static INPUT_PORTS_START( nes_4score_p1p3 )
@@ -111,23 +111,24 @@ ioport_constructor nes_4score_p2p4_device::device_input_ports() const
// nes_4score_device - constructor
//-------------------------------------------------
-nes_4score_device::nes_4score_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_nes_control_port_interface(mconfig, *this), m_latch(0)
- {
+nes_4score_device::nes_4score_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_nes_control_port_interface(mconfig, *this)
+ , m_latch(0)
+{
}
-nes_4score_p1p3_device::nes_4score_p1p3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nes_4score_device(mconfig, NES_4SCORE_P1P3, "Nintendo Four Score Adapter P1/P3", tag, owner, clock, "nes_4score_p1p3", __FILE__),
- m_joypad1(*this, "PAD1"),
- m_joypad3(*this, "PAD3")
+nes_4score_p1p3_device::nes_4score_p1p3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : nes_4score_device(mconfig, NES_4SCORE_P1P3, tag, owner, clock)
+ , m_joypad1(*this, "PAD1")
+ , m_joypad3(*this, "PAD3")
{
}
-nes_4score_p2p4_device::nes_4score_p2p4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nes_4score_device(mconfig, NES_4SCORE_P2P4, "Nintendo Four Score Adapter P2/P4", tag, owner, clock, "nes_4score_p2p4", __FILE__),
- m_joypad2(*this, "PAD2"),
- m_joypad4(*this, "PAD4")
+nes_4score_p2p4_device::nes_4score_p2p4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : nes_4score_device(mconfig, NES_4SCORE_P2P4, tag, owner, clock)
+ , m_joypad2(*this, "PAD2")
+ , m_joypad4(*this, "PAD4")
{
}
diff --git a/src/devices/bus/nes_ctrl/4score.h b/src/devices/bus/nes_ctrl/4score.h
index 2e8fee5cc60..c69249b5511 100644
--- a/src/devices/bus/nes_ctrl/4score.h
+++ b/src/devices/bus/nes_ctrl/4score.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_FOURSCORE__
-#define __NES_FOURSCORE__
+#ifndef MAME_BUS_NES_CTRL_4SCORE_H
+#define MAME_BUS_NES_CTRL_4SCORE_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -23,18 +23,16 @@
class nes_4score_device : public device_t,
public device_nes_control_port_interface
{
-public:
+protected:
// construction/destruction
- nes_4score_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ nes_4score_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
virtual uint8_t read_bit0() override;
-protected:
uint32_t m_latch;
};
@@ -76,8 +74,8 @@ private:
// device type definition
-extern const device_type NES_4SCORE_P1P3;
-extern const device_type NES_4SCORE_P2P4;
+DECLARE_DEVICE_TYPE(NES_4SCORE_P1P3, nes_4score_p1p3_device)
+DECLARE_DEVICE_TYPE(NES_4SCORE_P2P4, nes_4score_p2p4_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_4SCORE_H
diff --git a/src/devices/bus/nes_ctrl/arkpaddle.cpp b/src/devices/bus/nes_ctrl/arkpaddle.cpp
index e4b24692fb1..8cd2cfea3c4 100644
--- a/src/devices/bus/nes_ctrl/arkpaddle.cpp
+++ b/src/devices/bus/nes_ctrl/arkpaddle.cpp
@@ -14,8 +14,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_ARKPADDLE = device_creator<nes_vaus_device>;
-const device_type NES_ARKPADDLE_FC = device_creator<nes_vausfc_device>;
+DEFINE_DEVICE_TYPE(NES_ARKPADDLE, nes_vaus_device, "nes_vaus", "NES Arkanoid Vaus Controller")
+DEFINE_DEVICE_TYPE(NES_ARKPADDLE_FC, nes_vausfc_device, "nes_vausfc", "FC Arkanoid Vaus Controller")
static INPUT_PORTS_START( arkanoid_paddle )
@@ -45,24 +45,22 @@ ioport_constructor nes_vaus_device::device_input_ports() const
// nes_vaus_device - constructor
//-------------------------------------------------
-nes_vaus_device::nes_vaus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_nes_control_port_interface(mconfig, *this),
- m_paddle(*this, "PADDLE"),
- m_button(*this, "BUTTON"), m_start_conv(0), m_latch(0)
- {
+nes_vaus_device::nes_vaus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_nes_control_port_interface(mconfig, *this)
+ , m_paddle(*this, "PADDLE")
+ , m_button(*this, "BUTTON")
+ , m_start_conv(0), m_latch(0)
+{
}
-nes_vaus_device::nes_vaus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_ARKPADDLE, "NES Arkanoid Vaus Controller", tag, owner, clock, "nes_vaus", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_paddle(*this, "PADDLE"),
- m_button(*this, "BUTTON"), m_start_conv(0), m_latch(0)
+nes_vaus_device::nes_vaus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : nes_vaus_device(mconfig, NES_ARKPADDLE, tag, owner, clock)
{
}
-nes_vausfc_device::nes_vausfc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nes_vaus_device(mconfig, NES_ARKPADDLE_FC, "FC Arkanoid Vaus Controller", tag, owner, clock, "nes_vausfc", __FILE__)
+nes_vausfc_device::nes_vausfc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : nes_vaus_device(mconfig, NES_ARKPADDLE_FC, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nes_ctrl/arkpaddle.h b/src/devices/bus/nes_ctrl/arkpaddle.h
index 5a7eba03f02..cdd6255792b 100644
--- a/src/devices/bus/nes_ctrl/arkpaddle.h
+++ b/src/devices/bus/nes_ctrl/arkpaddle.h
@@ -7,32 +7,32 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_ARKPADDLE__
-#define __NES_ARKPADDLE__
+#ifndef MAME_BUS_NES_CTRL_ARKPADDLE_H
+#define MAME_BUS_NES_CTRL_ARKPADDLE_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> nes_vaus_device
-class nes_vaus_device : public device_t,
- public device_nes_control_port_interface
+class nes_vaus_device : public device_t, public device_nes_control_port_interface
{
public:
// construction/destruction
- nes_vaus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_vaus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
protected:
+ nes_vaus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -62,8 +62,7 @@ protected:
// device type definition
-extern const device_type NES_ARKPADDLE;
-extern const device_type NES_ARKPADDLE_FC;
-
+DECLARE_DEVICE_TYPE(NES_ARKPADDLE, nes_vaus_device)
+DECLARE_DEVICE_TYPE(NES_ARKPADDLE_FC, nes_vausfc_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_ARKPADDLE_H
diff --git a/src/devices/bus/nes_ctrl/bcbattle.cpp b/src/devices/bus/nes_ctrl/bcbattle.cpp
index 54cf48ce61f..478b6b88699 100644
--- a/src/devices/bus/nes_ctrl/bcbattle.cpp
+++ b/src/devices/bus/nes_ctrl/bcbattle.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_BARCODE_BATTLER = device_creator<nes_bcbattle_device>;
+DEFINE_DEVICE_TYPE(NES_BARCODE_BATTLER, nes_bcbattle_device, "nes_bcbattle", "Epoch Barcode Battler (FC)")
MACHINE_CONFIG_FRAGMENT( nes_battler )
@@ -82,10 +82,11 @@ void nes_bcbattle_device::device_timer(emu_timer &timer, device_timer_id id, int
// nes_bcbattle_device - constructor
//-------------------------------------------------
-nes_bcbattle_device::nes_bcbattle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_BARCODE_BATTLER, "Epoch Barcode Battler (FC)", tag, owner, clock, "nes_bcbattle", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_reader(*this, "battler"), m_pending_code(0), m_new_code(0), m_transmitting(0), m_cur_bit(0), m_cur_byte(0), battler_timer(nullptr)
+nes_bcbattle_device::nes_bcbattle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, NES_BARCODE_BATTLER, tag, owner, clock)
+ , device_nes_control_port_interface(mconfig, *this)
+ , m_reader(*this, "battler")
+ , m_pending_code(0), m_new_code(0), m_transmitting(0), m_cur_bit(0), m_cur_byte(0), battler_timer(nullptr)
{
}
diff --git a/src/devices/bus/nes_ctrl/bcbattle.h b/src/devices/bus/nes_ctrl/bcbattle.h
index db0299bd9ec..f485d9c6b35 100644
--- a/src/devices/bus/nes_ctrl/bcbattle.h
+++ b/src/devices/bus/nes_ctrl/bcbattle.h
@@ -6,15 +6,15 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_BCBATTLE__
-#define __NES_BCBATTLE__
+#ifndef MAME_BUS_NES_CTRL_BCBATTLE_H
+#define MAME_BUS_NES_CTRL_BCBATTLE_H
+#pragma once
#include "ctrl.h"
#include "machine/bcreader.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -28,18 +28,19 @@ public:
// construction/destruction
nes_bcbattle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
+ static constexpr device_timer_id TIMER_BATTLER = 1;
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual uint8_t read_exp(offs_t offset) override;
int read_current_bit();
- static const device_timer_id TIMER_BATTLER = 1;
required_device<barcode_reader_device> m_reader;
uint8_t m_current_barcode[20];
int m_pending_code, m_new_code, m_transmitting, m_cur_bit, m_cur_byte;
@@ -47,6 +48,6 @@ protected:
};
// device type definition
-extern const device_type NES_BARCODE_BATTLER;
+DECLARE_DEVICE_TYPE(NES_BARCODE_BATTLER, nes_bcbattle_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_BCBATTLE_H
diff --git a/src/devices/bus/nes_ctrl/ctrl.cpp b/src/devices/bus/nes_ctrl/ctrl.cpp
index ec439f91dbd..ef491efc889 100644
--- a/src/devices/bus/nes_ctrl/ctrl.cpp
+++ b/src/devices/bus/nes_ctrl/ctrl.cpp
@@ -64,7 +64,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NES_CONTROL_PORT = device_creator<nes_control_port_device>;
+DEFINE_DEVICE_TYPE(NES_CONTROL_PORT, nes_control_port_device, "nes_control_port", "Nintendo NES/FC control port")
@@ -77,7 +77,7 @@ const device_type NES_CONTROL_PORT = device_creator<nes_control_port_device>;
//-------------------------------------------------
device_nes_control_port_interface::device_nes_control_port_interface(const machine_config &mconfig, device_t &device) :
- device_slot_card_interface(mconfig, device)
+ device_slot_card_interface(mconfig, device)
{
m_port = dynamic_cast<nes_control_port_device *>(device.owner());
}
@@ -102,8 +102,9 @@ device_nes_control_port_interface::~device_nes_control_port_interface()
//-------------------------------------------------
nes_control_port_device::nes_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_CONTROL_PORT, "Nintendo NES/FC control port", tag, owner, clock, "nes_control_port", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, NES_CONTROL_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_device(nullptr)
{
}
diff --git a/src/devices/bus/nes_ctrl/ctrl.h b/src/devices/bus/nes_ctrl/ctrl.h
index 54faa60aa90..6442f6d2709 100644
--- a/src/devices/bus/nes_ctrl/ctrl.h
+++ b/src/devices/bus/nes_ctrl/ctrl.h
@@ -10,10 +10,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NES_CTRL_CTRL_H
+#define MAME_BUS_NES_CTRL_CTRL_H
-#ifndef __NES_CONTROL_PORT__
-#define __NES_CONTROL_PORT__
+#pragma once
//**************************************************************************
@@ -28,15 +28,16 @@ class device_nes_control_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_nes_control_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_nes_control_port_interface();
- virtual uint8_t read_bit0() { return 0; };
- virtual uint8_t read_bit34() { return 0; };
- virtual uint8_t read_exp(offs_t offset) { return 0; };
- virtual void write(uint8_t data) { };
+ virtual uint8_t read_bit0() { return 0; }
+ virtual uint8_t read_bit34() { return 0; }
+ virtual uint8_t read_exp(offs_t offset) { return 0; }
+ virtual void write(uint8_t data) { }
protected:
+ device_nes_control_port_interface(const machine_config &mconfig, device_t &device);
+
nes_control_port_device *m_port;
};
@@ -72,7 +73,7 @@ protected:
// device type definition
-extern const device_type NES_CONTROL_PORT;
+DECLARE_DEVICE_TYPE(NES_CONTROL_PORT, nes_control_port_device)
//**************************************************************************
@@ -99,4 +100,4 @@ SLOT_INTERFACE_EXTERN( fc_control_port2_devices );
SLOT_INTERFACE_EXTERN( fc_expansion_devices );
-#endif
+#endif // MAME_BUS_NES_CTRL_CTRL_H
diff --git a/src/devices/bus/nes_ctrl/fckeybrd.cpp b/src/devices/bus/nes_ctrl/fckeybrd.cpp
index 27582ac1f76..bc8bfbe98de 100644
--- a/src/devices/bus/nes_ctrl/fckeybrd.cpp
+++ b/src/devices/bus/nes_ctrl/fckeybrd.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_FCKEYBOARD = device_creator<nes_fckeybrd_device>;
+DEFINE_DEVICE_TYPE(NES_FCKEYBOARD, nes_fckeybrd_device, "nes_fckeybrd", "Nintendo Family Computer Keyboard Component")
static INPUT_PORTS_START( fc_keyboard )
@@ -146,7 +146,7 @@ machine_config_constructor nes_fckeybrd_device::device_mconfig_additions() const
//-------------------------------------------------
nes_fckeybrd_device::nes_fckeybrd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NES_FCKEYBOARD, "Nintendo Family Computer Keyboard Component", tag, owner, clock, "nes_fckeybrd", __FILE__)
+ : device_t(mconfig, NES_FCKEYBOARD, tag, owner, clock)
, device_nes_control_port_interface(mconfig, *this)
, m_cassette(*this, "tape")
, m_kbd(*this, "FCKEY.%u", 0)
diff --git a/src/devices/bus/nes_ctrl/fckeybrd.h b/src/devices/bus/nes_ctrl/fckeybrd.h
index 73fc33cb980..5859a792ae6 100644
--- a/src/devices/bus/nes_ctrl/fckeybrd.h
+++ b/src/devices/bus/nes_ctrl/fckeybrd.h
@@ -6,15 +6,15 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_FCKEYBRD__
-#define __NES_FCKEYBRD__
+#ifndef MAME_BUS_NES_CTRL_FCKEYBOARD_H
+#define MAME_BUS_NES_CTRL_FCKEYBOARD_H
+#pragma once
#include "ctrl.h"
#include "imagedev/cassette.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -47,7 +47,7 @@ private:
// device type definition
-extern const device_type NES_FCKEYBOARD;
+DECLARE_DEVICE_TYPE(NES_FCKEYBOARD, nes_fckeybrd_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_FCKEYBOARD_H
diff --git a/src/devices/bus/nes_ctrl/ftrainer.cpp b/src/devices/bus/nes_ctrl/ftrainer.cpp
index bb9b5ad0f9f..06f4aaf4f3c 100644
--- a/src/devices/bus/nes_ctrl/ftrainer.cpp
+++ b/src/devices/bus/nes_ctrl/ftrainer.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_FTRAINER = device_creator<nes_ftrainer_device>;
+DEFINE_DEVICE_TYPE(NES_FTRAINER, nes_ftrainer_device, "nes_famtrain", "Bandai Family Trainer")
static INPUT_PORTS_START( nes_joypad )
@@ -85,7 +85,7 @@ ioport_constructor nes_ftrainer_device::device_input_ports() const
//-------------------------------------------------
nes_ftrainer_device::nes_ftrainer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NES_FTRAINER, "Bandai Family Trainer", tag, owner, clock, "nes_famtrain", __FILE__)
+ : device_t(mconfig, NES_FTRAINER, tag, owner, clock)
, device_nes_control_port_interface(mconfig, *this)
, m_trainer(*this, "FT_COL.%u", 0)
, m_row_scan(0)
diff --git a/src/devices/bus/nes_ctrl/ftrainer.h b/src/devices/bus/nes_ctrl/ftrainer.h
index 76999eea959..d72077c93a2 100644
--- a/src/devices/bus/nes_ctrl/ftrainer.h
+++ b/src/devices/bus/nes_ctrl/ftrainer.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_FTRAINER__
-#define __NES_FTRAINER__
+#ifndef MAME_BUS_NES_CTRL_FTRAINER_H
+#define MAME_BUS_NES_CTRL_FTRAINER_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type NES_FTRAINER;
+DECLARE_DEVICE_TYPE(NES_FTRAINER, nes_ftrainer_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_FTRAINER_H
diff --git a/src/devices/bus/nes_ctrl/hori.cpp b/src/devices/bus/nes_ctrl/hori.cpp
index 32c088e8954..8869e7df481 100644
--- a/src/devices/bus/nes_ctrl/hori.cpp
+++ b/src/devices/bus/nes_ctrl/hori.cpp
@@ -27,8 +27,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_HORITWIN = device_creator<nes_horitwin_device>;
-const device_type NES_HORI4P = device_creator<nes_hori4p_device>;
+DEFINE_DEVICE_TYPE(NES_HORITWIN, nes_horitwin_device, "nes_horitwin", "FC Hori Twin Adapter")
+DEFINE_DEVICE_TYPE(NES_HORI4P, nes_hori4p_device, "nes_hori4p", "FC Hori 4P Adapter")
static INPUT_PORTS_START( nes_hori4p )
@@ -91,21 +91,21 @@ machine_config_constructor nes_hori4p_device::device_mconfig_additions() const
//-------------------------------------------------
nes_horitwin_device::nes_horitwin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_HORITWIN, "Hori Twin Adapter", tag, owner, clock, "nes_horitwin", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_port1(*this, "port1"),
- m_port2(*this, "port2")
+ device_t(mconfig, NES_HORITWIN, tag, owner, clock),
+ device_nes_control_port_interface(mconfig, *this),
+ m_port1(*this, "port1"),
+ m_port2(*this, "port2")
{
}
nes_hori4p_device::nes_hori4p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_HORI4P, "Hori 4P Adapter", tag, owner, clock, "nes_hori4p", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_port1(*this, "port1"),
- m_port2(*this, "port2"),
- m_port3(*this, "port3"),
- m_port4(*this, "port4"),
- m_cfg(*this, "CONFIG")
+ device_t(mconfig, NES_HORI4P, tag, owner, clock),
+ device_nes_control_port_interface(mconfig, *this),
+ m_port1(*this, "port1"),
+ m_port2(*this, "port2"),
+ m_port3(*this, "port3"),
+ m_port4(*this, "port4"),
+ m_cfg(*this, "CONFIG")
{
}
diff --git a/src/devices/bus/nes_ctrl/hori.h b/src/devices/bus/nes_ctrl/hori.h
index e490f232365..6fb7d9c1eee 100644
--- a/src/devices/bus/nes_ctrl/hori.h
+++ b/src/devices/bus/nes_ctrl/hori.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_HORI__
-#define __NES_HORI__
+#ifndef MAME_BUS_NES_CTRL_HORI_H
+#define MAME_BUS_NES_CTRL_HORI_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -31,7 +31,7 @@ public:
protected:
// device-level overrides
- virtual void device_start() override {}
+ virtual void device_start() override { }
virtual uint8_t read_exp(offs_t offset) override;
virtual void write(uint8_t data) override;
@@ -55,7 +55,7 @@ public:
protected:
// device-level overrides
- virtual void device_start() override {}
+ virtual void device_start() override { }
virtual uint8_t read_exp(offs_t offset) override;
virtual void write(uint8_t data) override;
@@ -70,8 +70,8 @@ private:
// device type definition
-extern const device_type NES_HORITWIN;
-extern const device_type NES_HORI4P;
+DECLARE_DEVICE_TYPE(NES_HORITWIN, nes_horitwin_device)
+DECLARE_DEVICE_TYPE(NES_HORI4P, nes_hori4p_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_HORI_H
diff --git a/src/devices/bus/nes_ctrl/joypad.cpp b/src/devices/bus/nes_ctrl/joypad.cpp
index a67bd9bb98a..ec3d54ebb7e 100644
--- a/src/devices/bus/nes_ctrl/joypad.cpp
+++ b/src/devices/bus/nes_ctrl/joypad.cpp
@@ -34,11 +34,11 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_JOYPAD = device_creator<nes_joypad_device>;
-const device_type NES_FCPAD_P2 = device_creator<nes_fcpad2_device>;
-const device_type NES_CCPAD_LEFT = device_creator<nes_ccpadl_device>;
-const device_type NES_CCPAD_RIGHT = device_creator<nes_ccpadr_device>;
-const device_type NES_ARCSTICK = device_creator<nes_arcstick_device>;
+DEFINE_DEVICE_TYPE(NES_JOYPAD, nes_joypad_device, "nes_joypad", "Nintendo NES / FC Control Pad")
+DEFINE_DEVICE_TYPE(NES_FCPAD_P2, nes_fcpad2_device, "nes_fcpad2", "Nintendo Family Computer P2 Pad")
+DEFINE_DEVICE_TYPE(NES_CCPAD_LEFT, nes_ccpadl_device, "nes_ccpadl", "FC Crazy Climber Left Pad")
+DEFINE_DEVICE_TYPE(NES_CCPAD_RIGHT, nes_ccpadr_device, "nes_ccpadr", "FC Crazy Climber Right Pad")
+DEFINE_DEVICE_TYPE(NES_ARCSTICK, nes_arcstick_device, "nes_arcstick", "Nintendo Family Computer Arcade Stick")
static INPUT_PORTS_START( nes_joypad )
@@ -174,39 +174,37 @@ machine_config_constructor nes_arcstick_device::device_mconfig_additions() const
// nes_joypad_device - constructor
//-------------------------------------------------
-nes_joypad_device::nes_joypad_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_nes_control_port_interface(mconfig, *this),
- m_joypad(*this, "JOYPAD"), m_latch(0)
+nes_joypad_device::nes_joypad_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_nes_control_port_interface(mconfig, *this),
+ m_joypad(*this, "JOYPAD"), m_latch(0)
{
}
nes_joypad_device::nes_joypad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_JOYPAD, "Nintendo NES / FC Control Pad", tag, owner, clock, "nes_joypad", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_joypad(*this, "JOYPAD"), m_latch(0)
+ nes_joypad_device(mconfig, NES_JOYPAD, tag, owner, clock)
{
}
nes_fcpad2_device::nes_fcpad2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nes_joypad_device(mconfig, NES_FCPAD_P2, "Nintendo Family Computer P2 Pad", tag, owner, clock, "nes_fcpad2", __FILE__)
+ nes_joypad_device(mconfig, NES_FCPAD_P2, tag, owner, clock)
{
}
nes_ccpadl_device::nes_ccpadl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nes_joypad_device(mconfig, NES_CCPAD_LEFT, "FC Crazy Climber Left Pad", tag, owner, clock, "nes_ccpadl", __FILE__)
+ nes_joypad_device(mconfig, NES_CCPAD_LEFT, tag, owner, clock)
{
}
nes_ccpadr_device::nes_ccpadr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nes_joypad_device(mconfig, NES_CCPAD_RIGHT, "FC Crazy Climber Right Pad", tag, owner, clock, "nes_ccpadr", __FILE__)
+ nes_joypad_device(mconfig, NES_CCPAD_RIGHT, tag, owner, clock)
{
}
nes_arcstick_device::nes_arcstick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nes_joypad_device(mconfig, NES_ARCSTICK, "Nintendo Family Computer Arcade Stick", tag, owner, clock, "nes_arcstick", __FILE__),
- m_daisychain(*this, "subexp"),
- m_cfg(*this, "CONFIG")
+ nes_joypad_device(mconfig, NES_ARCSTICK, tag, owner, clock),
+ m_daisychain(*this, "subexp"),
+ m_cfg(*this, "CONFIG")
{
}
diff --git a/src/devices/bus/nes_ctrl/joypad.h b/src/devices/bus/nes_ctrl/joypad.h
index c7accb6db8a..bfee068f81d 100644
--- a/src/devices/bus/nes_ctrl/joypad.h
+++ b/src/devices/bus/nes_ctrl/joypad.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_JOYPAD__
-#define __NES_JOYPAD__
+#ifndef MAME_BUS_NES_CTRL_JOYPAD_H
+#define MAME_BUS_NES_CTRL_JOYPAD_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -25,12 +25,13 @@ class nes_joypad_device : public device_t,
{
public:
// construction/destruction
- nes_joypad_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
nes_joypad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ioport_constructor device_input_ports() const override;
protected:
+ nes_joypad_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -101,10 +102,10 @@ protected:
// device type definition
-extern const device_type NES_JOYPAD;
-extern const device_type NES_FCPAD_P2;
-extern const device_type NES_CCPAD_LEFT;
-extern const device_type NES_CCPAD_RIGHT;
-extern const device_type NES_ARCSTICK;
+DECLARE_DEVICE_TYPE(NES_JOYPAD, nes_joypad_device)
+DECLARE_DEVICE_TYPE(NES_FCPAD_P2, nes_fcpad2_device)
+DECLARE_DEVICE_TYPE(NES_CCPAD_LEFT, nes_ccpadl_device)
+DECLARE_DEVICE_TYPE(NES_CCPAD_RIGHT, nes_ccpadr_device)
+DECLARE_DEVICE_TYPE(NES_ARCSTICK, nes_arcstick_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_JOYPAD_H
diff --git a/src/devices/bus/nes_ctrl/konamihs.cpp b/src/devices/bus/nes_ctrl/konamihs.cpp
index 00b39b25b53..9522f5e3c2b 100644
--- a/src/devices/bus/nes_ctrl/konamihs.cpp
+++ b/src/devices/bus/nes_ctrl/konamihs.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_KONAMIHS = device_creator<nes_konamihs_device>;
+DEFINE_DEVICE_TYPE(NES_KONAMIHS, nes_konamihs_device, "nes_konamihs", "Konami Hyper Shot Controller")
static INPUT_PORTS_START( nes_konamihs )
@@ -44,10 +44,12 @@ ioport_constructor nes_konamihs_device::device_input_ports() const
//-------------------------------------------------
nes_konamihs_device::nes_konamihs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_KONAMIHS, "Konami Hyper Shot Controller", tag, owner, clock, "nes_konamihs", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_ipt_p1(*this, "P1"),
- m_ipt_p2(*this, "P2"), m_latch_p1(0), m_latch_p2(0)
+ device_t(mconfig, NES_KONAMIHS, tag, owner, clock),
+ device_nes_control_port_interface(mconfig, *this),
+ m_ipt_p1(*this, "P1"),
+ m_ipt_p2(*this, "P2"),
+ m_latch_p1(0),
+ m_latch_p2(0)
{
}
diff --git a/src/devices/bus/nes_ctrl/konamihs.h b/src/devices/bus/nes_ctrl/konamihs.h
index cc6156baa8b..4d8b480968b 100644
--- a/src/devices/bus/nes_ctrl/konamihs.h
+++ b/src/devices/bus/nes_ctrl/konamihs.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_KONAMIHS__
-#define __NES_KONAMIHS__
+#ifndef MAME_BUS_NES_CTRL_KONAMIHS_H
+#define MAME_BUS_NES_CTRL_KONAMIHS_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -43,6 +43,6 @@ protected:
};
// device type definition
-extern const device_type NES_KONAMIHS;
+DECLARE_DEVICE_TYPE(NES_KONAMIHS, nes_konamihs_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_KONAMIHS_H
diff --git a/src/devices/bus/nes_ctrl/miracle.cpp b/src/devices/bus/nes_ctrl/miracle.cpp
index c4dd099ede4..c24b39386ab 100644
--- a/src/devices/bus/nes_ctrl/miracle.cpp
+++ b/src/devices/bus/nes_ctrl/miracle.cpp
@@ -19,7 +19,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_MIRACLE = device_creator<nes_miracle_device>;
+DEFINE_DEVICE_TYPE(NES_MIRACLE, nes_miracle_device, "nes_miracle", "NES Miracle Piano Controller")
MACHINE_CONFIG_FRAGMENT( nes_miracle )
@@ -60,12 +60,12 @@ void nes_miracle_device::device_timer(emu_timer &timer, device_timer_id id, int
//-------------------------------------------------
nes_miracle_device::nes_miracle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_MIRACLE, "Miracle Piano Controller", tag, owner, clock, "nes_miracle", __FILE__),
- device_serial_interface(mconfig, *this),
- device_nes_control_port_interface(mconfig, *this),
- m_midiin(*this, "mdin"),
- m_midiout(*this, "mdout"), strobe_timer(nullptr), m_strobe_on(0), m_midi_mode(0), m_sent_bits(0), m_strobe_clock(0),
- m_data_sent(0), m_xmit_read(0), m_xmit_write(0), m_recv_read(0), m_recv_write(0), m_tx_busy(false), m_read_status(false), m_status_bit(false)
+ device_t(mconfig, NES_MIRACLE, tag, owner, clock),
+ device_serial_interface(mconfig, *this),
+ device_nes_control_port_interface(mconfig, *this),
+ m_midiin(*this, "mdin"),
+ m_midiout(*this, "mdout"), strobe_timer(nullptr), m_strobe_on(0), m_midi_mode(0), m_sent_bits(0), m_strobe_clock(0),
+ m_data_sent(0), m_xmit_read(0), m_xmit_write(0), m_recv_read(0), m_recv_write(0), m_tx_busy(false), m_read_status(false), m_status_bit(false)
{
}
diff --git a/src/devices/bus/nes_ctrl/miracle.h b/src/devices/bus/nes_ctrl/miracle.h
index 167f35b6118..5e8944ae828 100644
--- a/src/devices/bus/nes_ctrl/miracle.h
+++ b/src/devices/bus/nes_ctrl/miracle.h
@@ -6,15 +6,15 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_MIRACLE__
-#define __NES_MIRACLE__
+#ifndef MAME_BUS_NES_CTRL_MIRACLE_H
+#define MAME_BUS_NES_CTRL_MIRACLE_H
+#pragma once
#include "ctrl.h"
#include "bus/midi/midi.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -26,33 +26,33 @@ class nes_miracle_device : public device_t,
public device_nes_control_port_interface
{
public:
- static const int XMIT_RING_SIZE = 64;
- static const int RECV_RING_SIZE = 64;
-
// construction/destruction
nes_miracle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual machine_config_constructor device_mconfig_additions() const override;
- // serial overrides
- virtual void rcv_complete() override; // Rx completed receiving byte
- virtual void tra_complete() override; // Tx completed sending byte
- virtual void tra_callback() override; // Tx send bit
-
- void xmit_char(uint8_t data);
-
required_device<midi_port_device> m_midiin, m_midiout;
protected:
+ static constexpr int XMIT_RING_SIZE = 64;
+ static constexpr int RECV_RING_SIZE = 64;
+ static constexpr device_timer_id TIMER_STROBE_ON = 0;
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // serial overrides
+ virtual void rcv_complete() override; // Rx completed receiving byte
+ virtual void tra_complete() override; // Tx completed sending byte
+ virtual void tra_callback() override; // Tx send bit
+
+ void xmit_char(uint8_t data);
+
virtual uint8_t read_bit0() override;
virtual void write(uint8_t data) override;
- static const device_timer_id TIMER_STROBE_ON = 0;
emu_timer *strobe_timer;
int m_strobe_on, m_midi_mode, m_sent_bits;
@@ -65,6 +65,6 @@ protected:
};
// device type definition
-extern const device_type NES_MIRACLE;
+DECLARE_DEVICE_TYPE(NES_MIRACLE, nes_miracle_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_MIRACLE_H
diff --git a/src/devices/bus/nes_ctrl/mjpanel.cpp b/src/devices/bus/nes_ctrl/mjpanel.cpp
index fded1549ca5..e667487dac5 100644
--- a/src/devices/bus/nes_ctrl/mjpanel.cpp
+++ b/src/devices/bus/nes_ctrl/mjpanel.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_MJPANEL = device_creator<nes_mjpanel_device>;
+DEFINE_DEVICE_TYPE(NES_MJPANEL, nes_mjpanel_device, "nes_mjpanel", "Famicom Mahjong Panel")
static INPUT_PORTS_START( nes_mjpanel )
@@ -71,7 +71,7 @@ ioport_constructor nes_mjpanel_device::device_input_ports() const
//-------------------------------------------------
nes_mjpanel_device::nes_mjpanel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NES_MJPANEL, "Famicom Mahjong Panel", tag, owner, clock, "nes_mjpanel", __FILE__)
+ : device_t(mconfig, NES_MJPANEL, tag, owner, clock)
, device_nes_control_port_interface(mconfig, *this)
, m_panel(*this, "MJPANEL.%u", 0)
, m_latch(0)
diff --git a/src/devices/bus/nes_ctrl/mjpanel.h b/src/devices/bus/nes_ctrl/mjpanel.h
index 7580ef400b2..1a18bf0b19c 100644
--- a/src/devices/bus/nes_ctrl/mjpanel.h
+++ b/src/devices/bus/nes_ctrl/mjpanel.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_MJPANEL__
-#define __NES_MJPANEL__
+#ifndef MAME_BUS_NES_CTRL_MJPANEL_H
+#define MAME_BUS_NES_CTRL_MJPANEL_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type NES_MJPANEL;
+DECLARE_DEVICE_TYPE(NES_MJPANEL, nes_mjpanel_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_MJPANEL_H
diff --git a/src/devices/bus/nes_ctrl/pachinko.cpp b/src/devices/bus/nes_ctrl/pachinko.cpp
index 9a82d894b6f..d8aa81e3091 100644
--- a/src/devices/bus/nes_ctrl/pachinko.cpp
+++ b/src/devices/bus/nes_ctrl/pachinko.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_PACHINKO = device_creator<nes_pachinko_device>;
+DEFINE_DEVICE_TYPE(NES_PACHINKO, nes_pachinko_device, "nes_pachinko", "Famicom Pachinko Controller")
static INPUT_PORTS_START( nes_pachinko )
@@ -49,10 +49,11 @@ ioport_constructor nes_pachinko_device::device_input_ports() const
//-------------------------------------------------
nes_pachinko_device::nes_pachinko_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_PACHINKO, "Famicom Pachinko Controller", tag, owner, clock, "nes_pachinko", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_joypad(*this, "JOYPAD"),
- m_trigger(*this, "TRIGGER"), m_latch(0)
+ device_t(mconfig, NES_PACHINKO, tag, owner, clock),
+ device_nes_control_port_interface(mconfig, *this),
+ m_joypad(*this, "JOYPAD"),
+ m_trigger(*this, "TRIGGER"),
+ m_latch(0)
{
}
diff --git a/src/devices/bus/nes_ctrl/pachinko.h b/src/devices/bus/nes_ctrl/pachinko.h
index 2f982108bb2..f4f7feae596 100644
--- a/src/devices/bus/nes_ctrl/pachinko.h
+++ b/src/devices/bus/nes_ctrl/pachinko.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_PACHINKO__
-#define __NES_PACHINKO__
+#ifndef MAME_BUS_NES_CTRL_PACHINKO_H
+#define MAME_BUS_NES_CTRL_PACHINKO_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -43,6 +43,6 @@ protected:
};
// device type definition
-extern const device_type NES_PACHINKO;
+DECLARE_DEVICE_TYPE(NES_PACHINKO, nes_pachinko_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_PACHINKO_H
diff --git a/src/devices/bus/nes_ctrl/partytap.cpp b/src/devices/bus/nes_ctrl/partytap.cpp
index 6a0b3c9880c..b9029ab2f3a 100644
--- a/src/devices/bus/nes_ctrl/partytap.cpp
+++ b/src/devices/bus/nes_ctrl/partytap.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_PARTYTAP = device_creator<nes_partytap_device>;
+DEFINE_DEVICE_TYPE(NES_PARTYTAP, nes_partytap_device, "nes_partytap", "Yonezawa Party Tap Controller")
static INPUT_PORTS_START( nes_partytap )
@@ -45,9 +45,11 @@ ioport_constructor nes_partytap_device::device_input_ports() const
//-------------------------------------------------
nes_partytap_device::nes_partytap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_PARTYTAP, "Yonezawa Party Tap Controller", tag, owner, clock, "nes_partytap", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_inputs(*this, "INPUTS"), m_mode(0), m_latch(0)
+ device_t(mconfig, NES_PARTYTAP, tag, owner, clock),
+ device_nes_control_port_interface(mconfig, *this),
+ m_inputs(*this, "INPUTS"),
+ m_mode(0),
+ m_latch(0)
{
}
diff --git a/src/devices/bus/nes_ctrl/partytap.h b/src/devices/bus/nes_ctrl/partytap.h
index f2f3257cf2a..c3da2278aed 100644
--- a/src/devices/bus/nes_ctrl/partytap.h
+++ b/src/devices/bus/nes_ctrl/partytap.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_PARTYTAP__
-#define __NES_PARTYTAP__
+#ifndef MAME_BUS_NES_CTRL_PARTYTAP_H
+#define MAME_BUS_NES_CTRL_PARTYTAP_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -43,6 +43,6 @@ protected:
};
// device type definition
-extern const device_type NES_PARTYTAP;
+DECLARE_DEVICE_TYPE(NES_PARTYTAP, nes_partytap_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_PARTYTAP_H
diff --git a/src/devices/bus/nes_ctrl/powerpad.cpp b/src/devices/bus/nes_ctrl/powerpad.cpp
index 4db046c029c..40a31ba89bc 100644
--- a/src/devices/bus/nes_ctrl/powerpad.cpp
+++ b/src/devices/bus/nes_ctrl/powerpad.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_POWERPAD = device_creator<nes_powerpad_device>;
+DEFINE_DEVICE_TYPE(NES_POWERPAD, nes_powerpad_device, "nes_powerpad", "Bandai Power Pad")
static INPUT_PORTS_START( nes_powerpad )
@@ -79,10 +79,10 @@ ioport_constructor nes_powerpad_device::device_input_ports() const
//-------------------------------------------------
nes_powerpad_device::nes_powerpad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_POWERPAD, "Bandai Power Pad", tag, owner, clock, "nes_powerpad", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_ipt1(*this, "POWERPAD1"),
- m_ipt2(*this, "POWERPAD2")
+ device_t(mconfig, NES_POWERPAD, tag, owner, clock),
+ device_nes_control_port_interface(mconfig, *this),
+ m_ipt1(*this, "POWERPAD1"),
+ m_ipt2(*this, "POWERPAD2")
{
}
diff --git a/src/devices/bus/nes_ctrl/powerpad.h b/src/devices/bus/nes_ctrl/powerpad.h
index 3204f8450fe..fb4de2517e9 100644
--- a/src/devices/bus/nes_ctrl/powerpad.h
+++ b/src/devices/bus/nes_ctrl/powerpad.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_POWERPAD__
-#define __NES_POWERPAD__
+#ifndef MAME_BUS_NES_CTRL_POWERPAD_H
+#define MAME_BUS_NES_CTRL_POWERPAD_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -48,4 +48,4 @@ private:
extern const device_type NES_POWERPAD;
-#endif
+#endif // MAME_BUS_NES_CTRL_POWERPAD_H
diff --git a/src/devices/bus/nes_ctrl/suborkey.cpp b/src/devices/bus/nes_ctrl/suborkey.cpp
index a19b215bb85..ce752762913 100644
--- a/src/devices/bus/nes_ctrl/suborkey.cpp
+++ b/src/devices/bus/nes_ctrl/suborkey.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_SUBORKEYBOARD = device_creator<nes_suborkey_device>;
+DEFINE_DEVICE_TYPE(NES_SUBORKEYBOARD, nes_suborkey_device, "nes_suborkey", "Subor FC Keyboard")
static INPUT_PORTS_START( fc_suborkey )
@@ -162,7 +162,7 @@ ioport_constructor nes_suborkey_device::device_input_ports() const
//-------------------------------------------------
nes_suborkey_device::nes_suborkey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NES_SUBORKEYBOARD, "Subor FC Keyboard", tag, owner, clock, "nes_suborkey", __FILE__)
+ : device_t(mconfig, NES_SUBORKEYBOARD, tag, owner, clock)
, device_nes_control_port_interface(mconfig, *this)
, m_kbd(*this, "SUBOR.%u", 0)
, m_fck_scan(0)
diff --git a/src/devices/bus/nes_ctrl/suborkey.h b/src/devices/bus/nes_ctrl/suborkey.h
index c8150ddb512..a25324142d6 100644
--- a/src/devices/bus/nes_ctrl/suborkey.h
+++ b/src/devices/bus/nes_ctrl/suborkey.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
-
-#ifndef __NES_SUBORKEY__
-#define __NES_SUBORKEY__
+#ifndef MAME_BUS_NES_CTRL_SUBORKEY_H
+#define MAME_BUS_NES_CTRL_SUBORKEY_H
+#pragma once
#include "ctrl.h"
+
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -44,7 +44,6 @@ private:
// device type definition
-extern const device_type NES_SUBORKEYBOARD;
-
+DECLARE_DEVICE_TYPE(NES_SUBORKEYBOARD, nes_suborkey_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_SUBORKEY_H
diff --git a/src/devices/bus/nes_ctrl/zapper.cpp b/src/devices/bus/nes_ctrl/zapper.cpp
index a1c8efe32dc..0996c893f0f 100644
--- a/src/devices/bus/nes_ctrl/zapper.cpp
+++ b/src/devices/bus/nes_ctrl/zapper.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NES_ZAPPER = device_creator<nes_zapper_device>;
+DEFINE_DEVICE_TYPE(NES_ZAPPER, nes_zapper_device, "nes_zapper", "Nintendo Zapper Lightgun")
static INPUT_PORTS_START( nes_zapper )
@@ -46,11 +46,11 @@ ioport_constructor nes_zapper_device::device_input_ports() const
//-------------------------------------------------
nes_zapper_device::nes_zapper_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NES_ZAPPER, "Nintendo Zapper Lightgun", tag, owner, clock, "nes_zapper", __FILE__),
- device_nes_control_port_interface(mconfig, *this),
- m_lightx(*this, "ZAPPER_X"),
- m_lighty(*this, "ZAPPER_Y"),
- m_trigger(*this, "ZAPPER_T")
+ device_t(mconfig, NES_ZAPPER, tag, owner, clock),
+ device_nes_control_port_interface(mconfig, *this),
+ m_lightx(*this, "ZAPPER_X"),
+ m_lighty(*this, "ZAPPER_Y"),
+ m_trigger(*this, "ZAPPER_T")
{
}
diff --git a/src/devices/bus/nes_ctrl/zapper.h b/src/devices/bus/nes_ctrl/zapper.h
index 79826d69637..5ae68fd0a6e 100644
--- a/src/devices/bus/nes_ctrl/zapper.h
+++ b/src/devices/bus/nes_ctrl/zapper.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NES_CTRL_ZAPPER
+#define MAME_BUS_NES_CTRL_ZAPPER
-#ifndef __NES_ZAPPER__
-#define __NES_ZAPPER__
+#pragma once
#include "ctrl.h"
@@ -45,7 +45,6 @@ private:
// device type definition
-extern const device_type NES_ZAPPER;
-
+DECLARE_DEVICE_TYPE(NES_ZAPPER, nes_zapper_device)
-#endif
+#endif // MAME_BUS_NES_CTRL_ZAPPER
diff --git a/src/devices/bus/newbrain/eim.cpp b/src/devices/bus/newbrain/eim.cpp
index 906b8d4d144..e1a70e6f682 100644
--- a/src/devices/bus/newbrain/eim.cpp
+++ b/src/devices/bus/newbrain/eim.cpp
@@ -37,7 +37,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NEWBRAIN_EIM = device_creator<newbrain_eim_t>;
+DEFINE_DEVICE_TYPE(NEWBRAIN_EIM, newbrain_eim_device, "newbrain_eim", "NewBrain EIM")
//-------------------------------------------------
@@ -57,7 +57,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *newbrain_eim_t::device_rom_region() const
+const tiny_rom_entry *newbrain_eim_device::device_rom_region() const
{
return ROM_NAME( newbrain_eim );
}
@@ -72,24 +72,24 @@ static MACHINE_CONFIG_FRAGMENT( newbrain_eim )
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_16MHz/8)
MCFG_Z80CTC_ZC0_CB(DEVWRITELINE(MC6850_TAG, acia6850_device, write_rxc))
MCFG_Z80CTC_ZC1_CB(DEVWRITELINE(MC6850_TAG, acia6850_device, write_txc))
- MCFG_Z80CTC_ZC2_CB(WRITELINE(newbrain_eim_t, ctc_z2_w))
+ MCFG_Z80CTC_ZC2_CB(WRITELINE(newbrain_eim_device, ctc_z2_w))
- MCFG_TIMER_DRIVER_ADD_PERIODIC("z80ctc_c2", newbrain_eim_t, ctc_c2_tick, attotime::from_hz(XTAL_16MHz/4/13))
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("z80ctc_c2", newbrain_eim_device, ctc_c2_tick, attotime::from_hz(XTAL_16MHz/4/13))
MCFG_DEVICE_ADD(ADC0809_TAG, ADC0808, 500000)
- MCFG_ADC0808_OUT_EOC_CB(WRITELINE(newbrain_eim_t, adc_eoc_w))
- MCFG_ADC0808_IN_VREF_POS_CB(newbrain_eim_t, adc_vref_pos_r)
- MCFG_ADC0808_IN_VREF_NEG_CB(newbrain_eim_t, adc_vref_neg_r)
- MCFG_ADC0808_IN_IN_0_CB(newbrain_eim_t, adc_input_r)
- MCFG_ADC0808_IN_IN_1_CB(newbrain_eim_t, adc_input_r)
- MCFG_ADC0808_IN_IN_2_CB(newbrain_eim_t, adc_input_r)
- MCFG_ADC0808_IN_IN_3_CB(newbrain_eim_t, adc_input_r)
- MCFG_ADC0808_IN_IN_4_CB(newbrain_eim_t, adc_input_r)
- MCFG_ADC0808_IN_IN_5_CB(newbrain_eim_t, adc_input_r)
- MCFG_ADC0808_IN_IN_6_CB(newbrain_eim_t, adc_input_r)
- MCFG_ADC0808_IN_IN_7_CB(newbrain_eim_t, adc_input_r)
+ MCFG_ADC0808_OUT_EOC_CB(WRITELINE(newbrain_eim_device, adc_eoc_w))
+ MCFG_ADC0808_IN_VREF_POS_CB(newbrain_eim_device, adc_vref_pos_r)
+ MCFG_ADC0808_IN_VREF_NEG_CB(newbrain_eim_device, adc_vref_neg_r)
+ MCFG_ADC0808_IN_IN_0_CB(newbrain_eim_device, adc_input_r)
+ MCFG_ADC0808_IN_IN_1_CB(newbrain_eim_device, adc_input_r)
+ MCFG_ADC0808_IN_IN_2_CB(newbrain_eim_device, adc_input_r)
+ MCFG_ADC0808_IN_IN_3_CB(newbrain_eim_device, adc_input_r)
+ MCFG_ADC0808_IN_IN_4_CB(newbrain_eim_device, adc_input_r)
+ MCFG_ADC0808_IN_IN_5_CB(newbrain_eim_device, adc_input_r)
+ MCFG_ADC0808_IN_IN_6_CB(newbrain_eim_device, adc_input_r)
+ MCFG_ADC0808_IN_IN_7_CB(newbrain_eim_device, adc_input_r)
MCFG_DEVICE_ADD(MC6850_TAG, ACIA6850, 0)
- MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(newbrain_eim_t, acia_interrupt))
+ MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(newbrain_eim_device, acia_interrupt))
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, nullptr)
MCFG_NEWBRAIN_EXPANSION_SLOT_ADD(NEWBRAIN_EXPANSION_SLOT_TAG, XTAL_16MHz/8, newbrain_expansion_cards, "fdc")
@@ -105,7 +105,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor newbrain_eim_t::device_mconfig_additions() const
+machine_config_constructor newbrain_eim_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( newbrain_eim );
}
@@ -117,11 +117,11 @@ machine_config_constructor newbrain_eim_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// newbrain_eim_t - constructor
+// newbrain_eim_device - constructor
//-------------------------------------------------
-newbrain_eim_t::newbrain_eim_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEWBRAIN_EIM, "Newbrain EIM", tag, owner, clock, "newbrain_eim", __FILE__),
+newbrain_eim_device::newbrain_eim_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, NEWBRAIN_EIM, tag, owner, clock),
device_newbrain_expansion_slot_interface(mconfig, *this),
m_ctc(*this, Z80CTC_TAG),
m_acia(*this, MC6850_TAG),
@@ -136,7 +136,7 @@ newbrain_eim_t::newbrain_eim_t(const machine_config &mconfig, const char *tag, d
// device_start - device-specific startup
//-------------------------------------------------
-void newbrain_eim_t::device_start()
+void newbrain_eim_device::device_start()
{
// state saving
save_item(NAME(m_aciaint));
@@ -148,7 +148,7 @@ void newbrain_eim_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void newbrain_eim_t::device_reset()
+void newbrain_eim_device::device_reset()
{
}
@@ -157,7 +157,7 @@ void newbrain_eim_t::device_reset()
// mreq_r - memory request read
//-------------------------------------------------
-uint8_t newbrain_eim_t::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+uint8_t newbrain_eim_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
return m_exp->mreq_r(space, offset, data, romov, exrm, raminh);
}
@@ -167,7 +167,7 @@ uint8_t newbrain_eim_t::mreq_r(address_space &space, offs_t offset, uint8_t data
// mreq_w - memory request write
//-------------------------------------------------
-void newbrain_eim_t::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+void newbrain_eim_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
m_exp->mreq_w(space, offset, data, romov, exrm, raminh);
}
@@ -177,7 +177,7 @@ void newbrain_eim_t::mreq_w(address_space &space, offs_t offset, uint8_t data, b
// iorq_r - I/O request read
//-------------------------------------------------
-uint8_t newbrain_eim_t::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
+uint8_t newbrain_eim_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
return m_exp->iorq_r(space, offset, data, prtov);
}
@@ -187,7 +187,7 @@ uint8_t newbrain_eim_t::iorq_r(address_space &space, offs_t offset, uint8_t data
// iorq_w - I/O request write
//-------------------------------------------------
-void newbrain_eim_t::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
+void newbrain_eim_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
m_exp->iorq_w(space, offset, data, prtov);
}
@@ -197,7 +197,7 @@ void newbrain_eim_t::iorq_w(address_space &space, offs_t offset, uint8_t data, b
// anout_r -
//-------------------------------------------------
-READ8_MEMBER( newbrain_eim_t::anout_r )
+READ8_MEMBER( newbrain_eim_device::anout_r )
{
return 0xff;
}
@@ -207,7 +207,7 @@ READ8_MEMBER( newbrain_eim_t::anout_r )
// anout_w -
//-------------------------------------------------
-WRITE8_MEMBER( newbrain_eim_t::anout_w )
+WRITE8_MEMBER( newbrain_eim_device::anout_w )
{
}
@@ -216,7 +216,7 @@ WRITE8_MEMBER( newbrain_eim_t::anout_w )
// anin_r -
//-------------------------------------------------
-READ8_MEMBER( newbrain_eim_t::anin_r )
+READ8_MEMBER( newbrain_eim_device::anin_r )
{
return 0;
}
@@ -226,7 +226,7 @@ READ8_MEMBER( newbrain_eim_t::anin_r )
// anio_w -
//-------------------------------------------------
-WRITE8_MEMBER( newbrain_eim_t::anio_w )
+WRITE8_MEMBER( newbrain_eim_device::anio_w )
{
}
@@ -235,7 +235,7 @@ WRITE8_MEMBER( newbrain_eim_t::anio_w )
// adc_eoc_w -
//-------------------------------------------------
-WRITE_LINE_MEMBER( newbrain_eim_t::adc_eoc_w )
+WRITE_LINE_MEMBER( newbrain_eim_device::adc_eoc_w )
{
m_anint = state;
}
@@ -245,7 +245,7 @@ WRITE_LINE_MEMBER( newbrain_eim_t::adc_eoc_w )
// adc_vref_pos_r -
//-------------------------------------------------
-ADC0808_ANALOG_READ_CB( newbrain_eim_t::adc_vref_pos_r )
+ADC0808_ANALOG_READ_CB( newbrain_eim_device::adc_vref_pos_r )
{
return 5.0;
}
@@ -255,7 +255,7 @@ ADC0808_ANALOG_READ_CB( newbrain_eim_t::adc_vref_pos_r )
// adc_vref_neg_r -
//-------------------------------------------------
-ADC0808_ANALOG_READ_CB( newbrain_eim_t::adc_vref_neg_r )
+ADC0808_ANALOG_READ_CB( newbrain_eim_device::adc_vref_neg_r )
{
return 0.0;
}
@@ -265,7 +265,7 @@ ADC0808_ANALOG_READ_CB( newbrain_eim_t::adc_vref_neg_r )
// adc_input_r -
//-------------------------------------------------
-ADC0808_ANALOG_READ_CB( newbrain_eim_t::adc_input_r )
+ADC0808_ANALOG_READ_CB( newbrain_eim_device::adc_input_r )
{
return 0.0;
}
@@ -275,7 +275,7 @@ ADC0808_ANALOG_READ_CB( newbrain_eim_t::adc_input_r )
// acia_interrupt -
//-------------------------------------------------
-WRITE_LINE_MEMBER( newbrain_eim_t::acia_interrupt )
+WRITE_LINE_MEMBER( newbrain_eim_device::acia_interrupt )
{
m_aciaint = state;
}
@@ -285,7 +285,7 @@ WRITE_LINE_MEMBER( newbrain_eim_t::acia_interrupt )
// ctc_z2_w -
//-------------------------------------------------
-WRITE_LINE_MEMBER( newbrain_eim_t::ctc_z2_w )
+WRITE_LINE_MEMBER( newbrain_eim_device::ctc_z2_w )
{
// connected to CTC channel 0/1 clock inputs
m_ctc->trg0(state);
@@ -297,7 +297,7 @@ WRITE_LINE_MEMBER( newbrain_eim_t::ctc_z2_w )
// adc_input_r -
//-------------------------------------------------
-TIMER_DEVICE_CALLBACK_MEMBER(newbrain_eim_t::ctc_c2_tick)
+TIMER_DEVICE_CALLBACK_MEMBER(newbrain_eim_device::ctc_c2_tick)
{
m_ctc->trg2(1);
m_ctc->trg2(0);
diff --git a/src/devices/bus/newbrain/eim.h b/src/devices/bus/newbrain/eim.h
index 58024f60cf4..a2406303d9c 100644
--- a/src/devices/bus/newbrain/eim.h
+++ b/src/devices/bus/newbrain/eim.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NEWBRAIN_EIM_H
+#define MAME_BUS_NEWBRAIN_EIM_H
-#ifndef __NEWBRAIN_EIM__
-#define __NEWBRAIN_EIM__
+#pragma once
#include "exp.h"
#include "bus/rs232/rs232.h"
@@ -24,14 +24,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> newbrain_eim_t
+// ======================> newbrain_eim_device
-class newbrain_eim_t : public device_t,
- public device_newbrain_expansion_slot_interface
+class newbrain_eim_device : public device_t, public device_newbrain_expansion_slot_interface
{
public:
// construction/destruction
- newbrain_eim_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ newbrain_eim_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -65,7 +64,7 @@ protected:
private:
required_device<z80ctc_device> m_ctc;
required_device<acia6850_device> m_acia;
- required_device<newbrain_expansion_slot_t> m_exp;
+ required_device<newbrain_expansion_slot_device> m_exp;
required_memory_region m_rom;
optional_shared_ptr<uint8_t> m_ram;
@@ -76,7 +75,6 @@ private:
// device type definition
extern const device_type NEWBRAIN_EIM;
+DECLARE_DEVICE_TYPE(NEWBRAIN_EIM, newbrain_eim_device)
-
-
-#endif
+#endif // MAME_BUS_NEWBRAIN_EIM_H
diff --git a/src/devices/bus/newbrain/exp.cpp b/src/devices/bus/newbrain/exp.cpp
index 9e8c989e982..7a27758764a 100644
--- a/src/devices/bus/newbrain/exp.cpp
+++ b/src/devices/bus/newbrain/exp.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NEWBRAIN_EXPANSION_SLOT = device_creator<newbrain_expansion_slot_t>;
+DEFINE_DEVICE_TYPE(NEWBRAIN_EXPANSION_SLOT, newbrain_expansion_slot_device, "newbrain_expansion_slot", "NewBrain expansion port")
@@ -30,7 +30,7 @@ const device_type NEWBRAIN_EXPANSION_SLOT = device_creator<newbrain_expansion_sl
device_newbrain_expansion_slot_interface::device_newbrain_expansion_slot_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig,device)
{
- m_slot = dynamic_cast<newbrain_expansion_slot_t *>(device.owner());
+ m_slot = dynamic_cast<newbrain_expansion_slot_device *>(device.owner());
}
@@ -40,11 +40,11 @@ device_newbrain_expansion_slot_interface::device_newbrain_expansion_slot_interfa
//**************************************************************************
//-------------------------------------------------
-// newbrain_expansion_slot_t - constructor
+// newbrain_expansion_slot_device - constructor
//-------------------------------------------------
-newbrain_expansion_slot_t::newbrain_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEWBRAIN_EXPANSION_SLOT, "NewBrain expansion port", tag, owner, clock, "newbrain_expansion_slot", __FILE__),
+newbrain_expansion_slot_device::newbrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, NEWBRAIN_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this), m_card(nullptr)
{
}
@@ -54,7 +54,7 @@ newbrain_expansion_slot_t::newbrain_expansion_slot_t(const machine_config &mconf
// device_start - device-specific startup
//-------------------------------------------------
-void newbrain_expansion_slot_t::device_start()
+void newbrain_expansion_slot_device::device_start()
{
m_card = dynamic_cast<device_newbrain_expansion_slot_interface *>(get_card_device());
}
@@ -64,7 +64,7 @@ void newbrain_expansion_slot_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void newbrain_expansion_slot_t::device_reset()
+void newbrain_expansion_slot_device::device_reset()
{
if (m_card != nullptr)
{
@@ -77,7 +77,7 @@ void newbrain_expansion_slot_t::device_reset()
// mreq_r - memory request read
//-------------------------------------------------
-uint8_t newbrain_expansion_slot_t::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+uint8_t newbrain_expansion_slot_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
if (m_card != nullptr)
{
@@ -92,7 +92,7 @@ uint8_t newbrain_expansion_slot_t::mreq_r(address_space &space, offs_t offset, u
// mreq_w - memory request write
//-------------------------------------------------
-void newbrain_expansion_slot_t::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+void newbrain_expansion_slot_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
if (m_card != nullptr)
{
@@ -105,7 +105,7 @@ void newbrain_expansion_slot_t::mreq_w(address_space &space, offs_t offset, uint
// iorq_r - I/O request read
//-------------------------------------------------
-uint8_t newbrain_expansion_slot_t::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
+uint8_t newbrain_expansion_slot_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
if (m_card != nullptr)
{
@@ -120,7 +120,7 @@ uint8_t newbrain_expansion_slot_t::iorq_r(address_space &space, offs_t offset, u
// iorq_w - I/O request write
//-------------------------------------------------
-void newbrain_expansion_slot_t::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
+void newbrain_expansion_slot_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
if (m_card != nullptr)
{
diff --git a/src/devices/bus/newbrain/exp.h b/src/devices/bus/newbrain/exp.h
index 0c07190bdf0..219c819d575 100644
--- a/src/devices/bus/newbrain/exp.h
+++ b/src/devices/bus/newbrain/exp.h
@@ -34,10 +34,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NEWBRAIN_EXP_H
+#define MAME_BUS_NEWBRAIN_EXP_H
-#ifndef __NEWBRAIN_EXPANSION_SLOT__
-#define __NEWBRAIN_EXPANSION_SLOT__
+#pragma once
@@ -64,17 +64,16 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> newbrain_expansion_slot_t
+// ======================> newbrain_expansion_slot_device
class device_newbrain_expansion_slot_interface;
-class newbrain_expansion_slot_t : public device_t,
+class newbrain_expansion_slot_device : public device_t,
public device_slot_interface
{
public:
// construction/destruction
- newbrain_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~newbrain_expansion_slot_t() { }
+ newbrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// computer interface
uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh);
@@ -98,29 +97,28 @@ protected:
class device_newbrain_expansion_slot_interface : public device_slot_card_interface
{
public:
- // construction/destruction
- device_newbrain_expansion_slot_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_newbrain_expansion_slot_interface() { }
-
// memory access
- virtual uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { return data; };
- virtual void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { };
+ virtual uint8_t mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { return data; }
+ virtual void mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh) { }
// I/O access
- virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov) { return data; };
- virtual void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov) { };
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov) { return data; }
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov) { }
protected:
- newbrain_expansion_slot_t *m_slot;
+ // construction/destruction
+ device_newbrain_expansion_slot_interface(const machine_config &mconfig, device_t &device);
+
+ newbrain_expansion_slot_device *m_slot;
};
// device type definition
-extern const device_type NEWBRAIN_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(NEWBRAIN_EXPANSION_SLOT, newbrain_expansion_slot_device)
SLOT_INTERFACE_EXTERN( newbrain_expansion_cards );
-#endif
+#endif // MAME_BUS_NEWBRAIN_EXP_H
diff --git a/src/devices/bus/newbrain/fdc.cpp b/src/devices/bus/newbrain/fdc.cpp
index b63d7ddffa8..4618588353a 100644
--- a/src/devices/bus/newbrain/fdc.cpp
+++ b/src/devices/bus/newbrain/fdc.cpp
@@ -35,7 +35,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type NEWBRAIN_FDC = device_creator<newbrain_fdc_t>;
+DEFINE_DEVICE_TYPE(NEWBRAIN_FDC, newbrain_fdc_device, "newbrain_fdc", "NewBrain FDC")
//-------------------------------------------------
@@ -59,7 +59,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *newbrain_fdc_t::device_rom_region() const
+const tiny_rom_entry *newbrain_fdc_device::device_rom_region() const
{
return ROM_NAME( newbrain_fdc );
}
@@ -69,7 +69,7 @@ const tiny_rom_entry *newbrain_fdc_t::device_rom_region() const
// ADDRESS_MAP( newbrain_fdc_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( newbrain_fdc_mem, AS_PROGRAM, 8, newbrain_fdc_t )
+static ADDRESS_MAP_START( newbrain_fdc_mem, AS_PROGRAM, 8, newbrain_fdc_device )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
ADDRESS_MAP_END
@@ -79,7 +79,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( newbrain_fdc_io )
//-------------------------------------------------
-static ADDRESS_MAP_START( newbrain_fdc_io, AS_IO, 8, newbrain_fdc_t )
+static ADDRESS_MAP_START( newbrain_fdc_io, AS_IO, 8, newbrain_fdc_device )
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0x71)
AM_RANGE(0x00, 0x01) AM_MIRROR(0x10) AM_DEVICE(UPD765_TAG, upd765a_device, map)
@@ -107,7 +107,7 @@ static MACHINE_CONFIG_FRAGMENT( newbrain_fdc )
MCFG_CPU_IO_MAP(newbrain_fdc_io)
MCFG_UPD765A_ADD(UPD765_TAG, false, true)
- MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(newbrain_fdc_t, fdc_int_w))
+ MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(newbrain_fdc_device, fdc_int_w))
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats)
@@ -123,7 +123,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor newbrain_fdc_t::device_mconfig_additions() const
+machine_config_constructor newbrain_fdc_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( newbrain_fdc );
}
@@ -134,11 +134,11 @@ machine_config_constructor newbrain_fdc_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// newbrain_fdc_t - constructor
+// newbrain_fdc_device - constructor
//-------------------------------------------------
-newbrain_fdc_t::newbrain_fdc_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NEWBRAIN_FDC, "NewBrain FDC", tag, owner, clock, "newbrain_fdc", __FILE__),
+newbrain_fdc_device::newbrain_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, NEWBRAIN_FDC, tag, owner, clock),
device_newbrain_expansion_slot_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG),
m_fdc(*this, UPD765_TAG),
@@ -155,7 +155,7 @@ newbrain_fdc_t::newbrain_fdc_t(const machine_config &mconfig, const char *tag, d
// device_start - device-specific startup
//-------------------------------------------------
-void newbrain_fdc_t::device_start()
+void newbrain_fdc_device::device_start()
{
save_item(NAME(m_paging));
save_item(NAME(m_ma16));
@@ -170,7 +170,7 @@ void newbrain_fdc_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void newbrain_fdc_t::device_reset()
+void newbrain_fdc_device::device_reset()
{
m_maincpu->reset();
@@ -184,7 +184,7 @@ void newbrain_fdc_t::device_reset()
// mreq_r - memory request read
//-------------------------------------------------
-uint8_t newbrain_fdc_t::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+uint8_t newbrain_fdc_device::mreq_r(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
return m_exp->mreq_r(space, offset, data, romov, exrm, raminh);
}
@@ -194,7 +194,7 @@ uint8_t newbrain_fdc_t::mreq_r(address_space &space, offs_t offset, uint8_t data
// mreq_w - memory request write
//-------------------------------------------------
-void newbrain_fdc_t::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
+void newbrain_fdc_device::mreq_w(address_space &space, offs_t offset, uint8_t data, bool &romov, int &exrm, bool &raminh)
{
m_exp->mreq_w(space, offset, data, romov, exrm, raminh);
}
@@ -204,7 +204,7 @@ void newbrain_fdc_t::mreq_w(address_space &space, offs_t offset, uint8_t data, b
// iorq_r - I/O request read
//-------------------------------------------------
-uint8_t newbrain_fdc_t::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
+uint8_t newbrain_fdc_device::iorq_r(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
return m_exp->iorq_r(space, offset, data, prtov);
}
@@ -214,7 +214,7 @@ uint8_t newbrain_fdc_t::iorq_r(address_space &space, offs_t offset, uint8_t data
// iorq_w - I/O request write
//-------------------------------------------------
-void newbrain_fdc_t::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
+void newbrain_fdc_device::iorq_w(address_space &space, offs_t offset, uint8_t data, bool &prtov)
{
m_exp->iorq_w(space, offset, data, prtov);
@@ -229,7 +229,7 @@ void newbrain_fdc_t::iorq_w(address_space &space, offs_t offset, uint8_t data, b
// moton - floppy motor on
//-------------------------------------------------
-void newbrain_fdc_t::moton(int state)
+void newbrain_fdc_device::moton(int state)
{
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(!state);
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(!state);
@@ -242,7 +242,7 @@ void newbrain_fdc_t::moton(int state)
// fdc_int_w -
//-------------------------------------------------
-WRITE_LINE_MEMBER( newbrain_fdc_t::fdc_int_w )
+WRITE_LINE_MEMBER( newbrain_fdc_device::fdc_int_w )
{
m_fdc_int = state;
}
@@ -252,7 +252,7 @@ WRITE_LINE_MEMBER( newbrain_fdc_t::fdc_int_w )
// fdc_auxiliary_w -
//-------------------------------------------------
-WRITE8_MEMBER( newbrain_fdc_t::fdc_auxiliary_w )
+WRITE8_MEMBER( newbrain_fdc_device::fdc_auxiliary_w )
{
/*
@@ -286,7 +286,7 @@ WRITE8_MEMBER( newbrain_fdc_t::fdc_auxiliary_w )
// fdc_control_r -
//-------------------------------------------------
-READ8_MEMBER( newbrain_fdc_t::fdc_control_r )
+READ8_MEMBER( newbrain_fdc_device::fdc_control_r )
{
/*
@@ -311,7 +311,7 @@ READ8_MEMBER( newbrain_fdc_t::fdc_control_r )
// io_dec_w - 0x20f
//-------------------------------------------------
-WRITE8_MEMBER( newbrain_fdc_t::io_dec_w )
+WRITE8_MEMBER( newbrain_fdc_device::io_dec_w )
{
/*
diff --git a/src/devices/bus/newbrain/fdc.h b/src/devices/bus/newbrain/fdc.h
index b34e88441ee..c429d8ea447 100644
--- a/src/devices/bus/newbrain/fdc.h
+++ b/src/devices/bus/newbrain/fdc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_NEWBRAIN_FDC_H
+#define MAME_BUS_NEWBRAIN_FDC_H
-#ifndef __NEWBRAIN_FDC__
-#define __NEWBRAIN_FDC__
+#pragma once
#include "exp.h"
#include "cpu/z80/z80.h"
@@ -21,14 +21,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> newbrain_fdc_t
+// ======================> newbrain_fdc_device
-class newbrain_fdc_t : public device_t,
- public device_newbrain_expansion_slot_interface
+class newbrain_fdc_device : public device_t, public device_newbrain_expansion_slot_interface
{
public:
// construction/destruction
- newbrain_fdc_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ newbrain_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -57,7 +56,7 @@ private:
required_device<floppy_connector> m_floppy1;
required_device<floppy_connector> m_floppy2;
required_device<floppy_connector> m_floppy3;
- required_device<newbrain_expansion_slot_t> m_exp;
+ required_device<newbrain_expansion_slot_device> m_exp;
void moton(int state);
@@ -71,8 +70,6 @@ private:
// device type definition
-extern const device_type NEWBRAIN_FDC;
-
-
+DECLARE_DEVICE_TYPE(NEWBRAIN_FDC, newbrain_fdc_device)
-#endif
+#endif // MAME_BUS_NEWBRAIN_FDC_H
diff --git a/src/devices/bus/nubus/nubus.cpp b/src/devices/bus/nubus/nubus.cpp
index 2f21a63cf00..d94154244ae 100644
--- a/src/devices/bus/nubus/nubus.cpp
+++ b/src/devices/bus/nubus/nubus.cpp
@@ -16,7 +16,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_SLOT = device_creator<nubus_slot_device>;
+DEFINE_DEVICE_TYPE(NUBUS_SLOT, nubus_slot_device, "nubus_slot", "NuBus slot")
//**************************************************************************
// LIVE DEVICE
@@ -26,16 +26,15 @@ const device_type NUBUS_SLOT = device_creator<nubus_slot_device>;
// nubus_slot_device - constructor
//-------------------------------------------------
nubus_slot_device::nubus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_SLOT, "NUBUS_SLOT", tag, owner, clock, "nubus_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_nubus_tag(nullptr),
- m_nubus_slottag(nullptr)
+ nubus_slot_device(mconfig, NUBUS_SLOT, tag, owner, clock)
{
}
-nubus_slot_device::nubus_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this), m_nubus_tag(nullptr), m_nubus_slottag(nullptr)
+nubus_slot_device::nubus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_nubus_tag(nullptr),
+ m_nubus_slottag(nullptr)
{
}
@@ -61,7 +60,7 @@ void nubus_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS = device_creator<nubus_device>;
+DEFINE_DEVICE_TYPE(NUBUS, nubus_device, "nubus", "NuBus")
void nubus_device::static_set_cputag(device_t &device, const char *tag)
{
@@ -78,24 +77,20 @@ void nubus_device::static_set_cputag(device_t &device, const char *tag)
//-------------------------------------------------
nubus_device::nubus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS, "NUBUS", tag, owner, clock, "nubus", __FILE__), m_maincpu(nullptr),
- m_out_irq9_cb(*this),
- m_out_irqa_cb(*this),
- m_out_irqb_cb(*this),
- m_out_irqc_cb(*this),
- m_out_irqd_cb(*this),
- m_out_irqe_cb(*this), m_cputag(nullptr)
+ nubus_device(mconfig, NUBUS, tag, owner, clock)
{
}
-nubus_device::nubus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source), m_maincpu(nullptr),
- m_out_irq9_cb(*this),
- m_out_irqa_cb(*this),
- m_out_irqb_cb(*this),
- m_out_irqc_cb(*this),
- m_out_irqd_cb(*this),
- m_out_irqe_cb(*this), m_cputag(nullptr)
+nubus_device::nubus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ m_maincpu(nullptr),
+ m_out_irq9_cb(*this),
+ m_out_irqa_cb(*this),
+ m_out_irqb_cb(*this),
+ m_out_irqc_cb(*this),
+ m_out_irqd_cb(*this),
+ m_out_irqe_cb(*this),
+ m_cputag(nullptr)
{
}
//-------------------------------------------------
diff --git a/src/devices/bus/nubus/nubus.h b/src/devices/bus/nubus/nubus.h
index 4697432e16e..8cc1a3bbbf2 100644
--- a/src/devices/bus/nubus/nubus.h
+++ b/src/devices/bus/nubus/nubus.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_H
+#define MAME_BUS_NUBUS_NUBUS_H
-#ifndef __NUBUS_H__
-#define __NUBUS_H__
+#pragma once
@@ -58,26 +58,26 @@
class nubus_device;
-class nubus_slot_device : public device_t,
- public device_slot_interface
+class nubus_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
nubus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
// inline configuration
static void static_set_nubus_slot(device_t &device, const char *tag, const char *slottag);
protected:
+ nubus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
// configuration
const char *m_nubus_tag, *m_nubus_slottag;
};
// device type definition
-extern const device_type NUBUS_SLOT;
+DECLARE_DEVICE_TYPE(NUBUS_SLOT, nubus_slot_device)
class device_nubus_card_interface;
@@ -87,17 +87,16 @@ class nubus_device : public device_t
public:
// construction/destruction
nubus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
~nubus_device() { m_device_list.detach_all(); }
// inline configuration
static void static_set_cputag(device_t &device, const char *tag);
- template<class _Object> static devcb_base &set_out_irq9_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irq9_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irqa_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqa_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irqb_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqb_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irqc_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqc_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irqd_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqd_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irqe_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqe_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_irq9_callback(device_t &device, Object &&cb) { return downcast<nubus_device &>(device).m_out_irq9_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irqa_callback(device_t &device, Object &&cb) { return downcast<nubus_device &>(device).m_out_irqa_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irqb_callback(device_t &device, Object &&cb) { return downcast<nubus_device &>(device).m_out_irqb_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irqc_callback(device_t &device, Object &&cb) { return downcast<nubus_device &>(device).m_out_irqc_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irqd_callback(device_t &device, Object &&cb) { return downcast<nubus_device &>(device).m_out_irqd_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irqe_callback(device_t &device, Object &&cb) { return downcast<nubus_device &>(device).m_out_irqe_cb.set_callback(std::forward<Object>(cb)); }
void add_nubus_card(device_nubus_card_interface *card);
void install_device(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler, uint32_t mask=0xffffffff);
@@ -116,6 +115,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( irqe_w );
protected:
+ nubus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -136,7 +137,7 @@ protected:
// device type definition
-extern const device_type NUBUS;
+DECLARE_DEVICE_TYPE(NUBUS, nubus_device)
// ======================> device_nubus_card_interface
@@ -144,9 +145,9 @@ extern const device_type NUBUS;
class device_nubus_card_interface : public device_slot_card_interface
{
friend class nubus_device;
+ template <class ElementType> friend class simple_list;
public:
// construction/destruction
- device_nubus_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_nubus_card_interface();
device_nubus_card_interface *next() const { return m_next; }
@@ -165,12 +166,17 @@ public:
// inline configuration
static void static_set_nubus_tag(device_t &device, const char *tag, const char *slottag);
-public:
+
+protected:
+ device_nubus_card_interface(const machine_config &mconfig, device_t &device);
+
nubus_device *m_nubus;
const char *m_nubus_tag, *m_nubus_slottag;
int m_slot;
- device_nubus_card_interface *m_next;
std::vector<uint8_t> m_declaration_rom;
+
+private:
+ device_nubus_card_interface *m_next;
};
-#endif /* __NUBUS_H__ */
+#endif // MAME_BUS_NUBUS_NUBUS_H
diff --git a/src/devices/bus/nubus/nubus_48gc.cpp b/src/devices/bus/nubus/nubus_48gc.cpp
index 2be716827f1..7d7be92216d 100644
--- a/src/devices/bus/nubus/nubus_48gc.cpp
+++ b/src/devices/bus/nubus/nubus_48gc.cpp
@@ -41,8 +41,8 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_48GC = device_creator<nubus_48gc_device>;
-const device_type NUBUS_824GC = device_creator<nubus_824gc_device>;
+DEFINE_DEVICE_TYPE(NUBUS_48GC, nubus_48gc_device, "nb_48gc", "Apple 4*8 video card")
+DEFINE_DEVICE_TYPE(NUBUS_824GC, nubus_824gc_device, "nb_824gc", "Apple 8*24 video card")
//-------------------------------------------------
@@ -77,25 +77,25 @@ const tiny_rom_entry *nubus_824gc_device::device_rom_region() const
// jmfb_device - constructor
//-------------------------------------------------
-jmfb_device::jmfb_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_screen(nullptr), m_timer(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_stride(0), m_base(0), m_count(0), m_clutoffs(0), m_xres(0), m_yres(0), m_is824(false)
+jmfb_device::jmfb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is824) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_screen(nullptr), m_timer(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_stride(0), m_base(0), m_count(0), m_clutoffs(0), m_xres(0), m_yres(0),
+ m_is824(is824),
+ m_assembled_tag(util::string_format("%s:%s", tag, GC48_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(GC48_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
nubus_48gc_device::nubus_48gc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- jmfb_device(mconfig, NUBUS_48GC, "Apple 4*8 video card", tag, owner, clock, "nb_48gc", __FILE__)
+ jmfb_device(mconfig, NUBUS_48GC, tag, owner, clock, false)
{
- m_is824 = false;
}
nubus_824gc_device::nubus_824gc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- jmfb_device(mconfig, NUBUS_824GC, "Apple 8*24 video card", tag, owner, clock, "nb_824gc", __FILE__)
+ jmfb_device(mconfig, NUBUS_824GC, tag, owner, clock, true)
{
- m_is824 = true;
}
//-------------------------------------------------
diff --git a/src/devices/bus/nubus/nubus_48gc.h b/src/devices/bus/nubus/nubus_48gc.h
index e2c86050731..604b4d351d8 100644
--- a/src/devices/bus/nubus/nubus_48gc.h
+++ b/src/devices/bus/nubus/nubus_48gc.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_48GC_H
+#define MAME_BUS_NUBUS_NUBUS_48GC_H
-#ifndef __NUBUS_48GC_H__
-#define __NUBUS_48GC_H__
+#pragma once
#include "nubus.h"
@@ -19,34 +19,34 @@ class jmfb_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- jmfb_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- screen_device *m_screen;
- emu_timer *m_timer;
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // construction/destruction
+ jmfb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is824);
- DECLARE_READ32_MEMBER(mac_48gc_r);
- DECLARE_WRITE32_MEMBER(mac_48gc_w);
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-public:
- std::vector<uint8_t> m_vram;
- uint32_t m_mode, m_vbl_disable, m_toggle, m_stride, m_base;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- uint32_t m_registers[0x100];
- int m_xres, m_yres;
- bool m_is824;
- std::string m_assembled_tag;
+ DECLARE_READ32_MEMBER(mac_48gc_r);
+ DECLARE_WRITE32_MEMBER(mac_48gc_w);
+
+ screen_device *m_screen;
+ emu_timer *m_timer;
+
+ std::vector<uint8_t> m_vram;
+ uint32_t m_mode, m_vbl_disable, m_toggle, m_stride, m_base;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ uint32_t m_registers[0x100];
+ int m_xres, m_yres;
+ const bool m_is824;
+ const std::string m_assembled_tag;
};
class nubus_48gc_device : public jmfb_device
@@ -63,7 +63,7 @@ public:
};
// device type definition
-extern const device_type NUBUS_48GC;
-extern const device_type NUBUS_824GC;
+DECLARE_DEVICE_TYPE(NUBUS_48GC, nubus_48gc_device)
+DECLARE_DEVICE_TYPE(NUBUS_824GC, nubus_824gc_device)
-#endif /* __NUBUS_48GC_H__ */
+#endif /// MAME_BUS_NUBUS_NUBUS_48GC_H
diff --git a/src/devices/bus/nubus/nubus_asntmc3b.cpp b/src/devices/bus/nubus/nubus_asntmc3b.cpp
index d7e45e10f18..91427858b32 100644
--- a/src/devices/bus/nubus/nubus_asntmc3b.cpp
+++ b/src/devices/bus/nubus/nubus_asntmc3b.cpp
@@ -40,8 +40,8 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_ASNTMC3NB = device_creator<nubus_asntmc3nb_device>;
-const device_type NUBUS_APPLEENET = device_creator<nubus_appleenet_device>;
+DEFINE_DEVICE_TYPE(NUBUS_ASNTMC3NB, nubus_asntmc3nb_device, "nb_amc3b", "Asante MC3NB Ethernet card")
+DEFINE_DEVICE_TYPE(NUBUS_APPLEENET, nubus_appleenet_device, "nb_aenet", "Apple NuBus Ethernet card")
//-------------------------------------------------
@@ -76,20 +76,20 @@ const tiny_rom_entry *nubus_appleenet_device::device_rom_region() const
// nubus_mac8390_device - constructor
//-------------------------------------------------
-nubus_mac8390_device::nubus_mac8390_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_nubus_card_interface(mconfig, *this),
- m_dp83902(*this, MAC8390_839X)
+nubus_mac8390_device::nubus_mac8390_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_nubus_card_interface(mconfig, *this),
+ m_dp83902(*this, MAC8390_839X)
{
}
nubus_asntmc3nb_device::nubus_asntmc3nb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nubus_mac8390_device(mconfig, NUBUS_ASNTMC3NB, "Asante MC3NB Ethernet card", tag, owner, clock, "nb_amc3b", __FILE__)
+ nubus_mac8390_device(mconfig, NUBUS_ASNTMC3NB, tag, owner, clock)
{
}
nubus_appleenet_device::nubus_appleenet_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- nubus_mac8390_device(mconfig, NUBUS_APPLEENET, "Apple NuBus Ethernet card", tag, owner, clock, "nb_aenet", __FILE__)
+ nubus_mac8390_device(mconfig, NUBUS_APPLEENET, tag, owner, clock)
{
}
diff --git a/src/devices/bus/nubus/nubus_asntmc3b.h b/src/devices/bus/nubus/nubus_asntmc3b.h
index 3c66d884bb1..55fe2a5e1a0 100644
--- a/src/devices/bus/nubus/nubus_asntmc3b.h
+++ b/src/devices/bus/nubus/nubus_asntmc3b.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_ASNTMC3B_H
+#define MAME_BUS_NUBUS_NUBUS_ASNTMC3B_H
-#ifndef __NUBUS_ASNTMC3B_H__
-#define __NUBUS_ASNTMC3B_H__
+#pragma once
#include "nubus.h"
#include "machine/dp8390.h"
@@ -19,32 +19,32 @@ class nubus_mac8390_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_mac8390_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- void dp_irq_w(int state);
- DECLARE_READ8_MEMBER(dp_mem_read);
- DECLARE_WRITE8_MEMBER(dp_mem_write);
+ void dp_irq_w(int state);
+ DECLARE_READ8_MEMBER(dp_mem_read);
+ DECLARE_WRITE8_MEMBER(dp_mem_write);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // construction/destruction
+ nubus_mac8390_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
- DECLARE_READ8_MEMBER(asntm3b_ram_r);
- DECLARE_WRITE8_MEMBER(asntm3b_ram_w);
- DECLARE_READ32_MEMBER(en_r);
- DECLARE_WRITE32_MEMBER(en_w);
+ DECLARE_READ8_MEMBER(asntm3b_ram_r);
+ DECLARE_WRITE8_MEMBER(asntm3b_ram_w);
+ DECLARE_READ32_MEMBER(en_r);
+ DECLARE_WRITE32_MEMBER(en_w);
- required_device<dp8390_device> m_dp83902;
+ required_device<dp8390_device> m_dp83902;
private:
- uint8_t m_ram[0x20000];
- uint8_t m_prom[16];
+ uint8_t m_ram[0x20000];
+ uint8_t m_prom[16];
};
class nubus_asntmc3nb_device : public nubus_mac8390_device
@@ -61,7 +61,7 @@ public:
};
// device type definition
-extern const device_type NUBUS_ASNTMC3NB;
-extern const device_type NUBUS_APPLEENET;
+DECLARE_DEVICE_TYPE(NUBUS_ASNTMC3NB, nubus_asntmc3nb_device)
+DECLARE_DEVICE_TYPE(NUBUS_APPLEENET, nubus_appleenet_device)
-#endif /* __NUBUS_ASNTMC3B_H__ */
+#endif // MAME_BUS_NUBUS_NUBUS_ASNTMC3B_H
diff --git a/src/devices/bus/nubus/nubus_cb264.cpp b/src/devices/bus/nubus/nubus_cb264.cpp
index 65f0a49d80c..d3be5575a92 100644
--- a/src/devices/bus/nubus/nubus_cb264.cpp
+++ b/src/devices/bus/nubus/nubus_cb264.cpp
@@ -40,7 +40,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_CB264 = device_creator<nubus_cb264_device>;
+DEFINE_DEVICE_TYPE(NUBUS_CB264, nubus_cb264_device, "nb_c264", "RasterOps ColorBoard 264 video card")
//-------------------------------------------------
@@ -71,14 +71,14 @@ const tiny_rom_entry *nubus_cb264_device::device_rom_region() const
//-------------------------------------------------
nubus_cb264_device::nubus_cb264_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_CB264, "RasterOps ColorBoard 264 video card", tag, owner, clock, "nb_cb264", __FILE__),
- device_nubus_card_interface(mconfig, *this), m_cb264_mode(0), m_cb264_vbl_disable(0), m_cb264_toggle(0), m_count(0), m_clutoffs(0)
+ nubus_cb264_device(mconfig, NUBUS_CB264, tag, owner, clock)
{
}
-nubus_cb264_device::nubus_cb264_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_nubus_card_interface(mconfig, *this), m_cb264_mode(0), m_cb264_vbl_disable(0), m_cb264_toggle(0), m_count(0), m_clutoffs(0)
+nubus_cb264_device::nubus_cb264_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_nubus_card_interface(mconfig, *this),
+ m_cb264_mode(0), m_cb264_vbl_disable(0), m_cb264_toggle(0), m_count(0), m_clutoffs(0)
{
}
diff --git a/src/devices/bus/nubus/nubus_cb264.h b/src/devices/bus/nubus/nubus_cb264.h
index c5b2c2b02b8..82c0181a27f 100644
--- a/src/devices/bus/nubus/nubus_cb264.h
+++ b/src/devices/bus/nubus/nubus_cb264.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_CB264_H
+#define MAME_BUS_NUBUS_NUBUS_CB264_H
-#ifndef __NUBUS_CB264_H__
-#define __NUBUS_CB264_H__
+#pragma once
#include "nubus.h"
@@ -18,33 +18,35 @@ class nubus_cb264_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_cb264_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_cb264_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ // construction/destruction
+ nubus_cb264_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ nubus_cb264_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
- DECLARE_READ32_MEMBER(cb264_r);
- DECLARE_WRITE32_MEMBER(cb264_w);
- DECLARE_READ32_MEMBER(cb264_ramdac_r);
- DECLARE_WRITE32_MEMBER(cb264_ramdac_w);
+ DECLARE_READ32_MEMBER(cb264_r);
+ DECLARE_WRITE32_MEMBER(cb264_w);
+ DECLARE_READ32_MEMBER(cb264_ramdac_r);
+ DECLARE_WRITE32_MEMBER(cb264_ramdac_w);
public:
- std::vector<uint8_t> m_vram;
- uint32_t m_cb264_mode, m_cb264_vbl_disable, m_cb264_toggle;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ std::vector<uint8_t> m_vram;
+ uint32_t m_cb264_mode, m_cb264_vbl_disable, m_cb264_toggle;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
};
// device type definition
-extern const device_type NUBUS_CB264;
+DECLARE_DEVICE_TYPE(NUBUS_CB264, nubus_cb264_device)
-#endif /* __NUBUS_CB264_H__ */
+#endif // MAME_BUS_NUBUS_NUBUS_CB264_H
diff --git a/src/devices/bus/nubus/nubus_image.cpp b/src/devices/bus/nubus/nubus_image.cpp
index eeb3a9f895f..0a0c7a44735 100644
--- a/src/devices/bus/nubus/nubus_image.cpp
+++ b/src/devices/bus/nubus/nubus_image.cpp
@@ -17,19 +17,10 @@
#define MESSIMG_DISK_SECTOR_SIZE (512)
-// on big-endian, these are NOPs. (TODO: hey, where did WORDS_BIGENDIAN go since the GENie transition?!)
-#if defined(__ppc__) || defined (__PPC__) || defined(__ppc64__) || defined(__PPC64__)
-static uint32_t ni_htonl(uint32_t x) { return x; }
-static uint32_t ni_ntohl(uint32_t x) { return x; }
-#else
-static uint32_t ni_htonl(uint32_t x) { return flipendian_int32(x); }
-static uint32_t ni_ntohl(uint32_t x) { return flipendian_int32(x); }
-#endif
+// nubus_image_device::messimg_disk_image_device
-// messimg_disk_image_device
-
-class messimg_disk_image_device : public device_t,
+class nubus_image_device::messimg_disk_image_device : public device_t,
public device_image_interface
{
public:
@@ -63,11 +54,12 @@ public:
// device type definition
-const device_type MESSIMG_DISK = device_creator<messimg_disk_image_device>;
+DEFINE_DEVICE_TYPE_NS(MESSIMG_DISK, nubus_image_device, messimg_disk_image_device, "messimg_disk_image", "Mac image")
-messimg_disk_image_device::messimg_disk_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MESSIMG_DISK, "Mac image", tag, owner, clock, "messimg_disk_image", __FILE__),
- device_image_interface(mconfig, *this), m_size(0), m_data(nullptr), m_ejected(false)
+nubus_image_device::messimg_disk_image_device::messimg_disk_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, MESSIMG_DISK, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ m_size(0), m_data(nullptr), m_ejected(false)
{
}
@@ -76,7 +68,7 @@ messimg_disk_image_device::messimg_disk_image_device(const machine_config &mconf
device start callback
-------------------------------------------------*/
-void messimg_disk_image_device::device_start()
+void nubus_image_device::messimg_disk_image_device::device_start()
{
m_data = nullptr;
@@ -86,7 +78,7 @@ void messimg_disk_image_device::device_start()
}
}
-image_init_result messimg_disk_image_device::call_load()
+image_init_result nubus_image_device::messimg_disk_image_device::call_load()
{
fseek(0, SEEK_END);
m_size = (uint32_t)ftell();
@@ -105,7 +97,7 @@ image_init_result messimg_disk_image_device::call_load()
return image_init_result::PASS;
}
-void messimg_disk_image_device::call_unload()
+void nubus_image_device::messimg_disk_image_device::call_unload()
{
// TODO: track dirty sectors and only write those
fseek(0, SEEK_SET);
@@ -118,7 +110,7 @@ void messimg_disk_image_device::call_unload()
device reset callback
-------------------------------------------------*/
-void messimg_disk_image_device::device_reset()
+void nubus_image_device::messimg_disk_image_device::device_reset()
{
}
@@ -135,7 +127,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_IMAGE = device_creator<nubus_image_device>;
+DEFINE_DEVICE_TYPE(NUBUS_IMAGE, nubus_image_device, "nb_image", "NuBus Disk Image Pseudo-Card")
//-------------------------------------------------
@@ -166,14 +158,14 @@ const tiny_rom_entry *nubus_image_device::device_rom_region() const
//-------------------------------------------------
nubus_image_device::nubus_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_IMAGE, "Disk Image Pseudo-Card", tag, owner, clock, "nb_image", __FILE__),
- device_nubus_card_interface(mconfig, *this), m_image(nullptr)
+ nubus_image_device(mconfig, NUBUS_IMAGE, tag, owner, clock)
{
}
-nubus_image_device::nubus_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_nubus_card_interface(mconfig, *this), m_image(nullptr)
+nubus_image_device::nubus_image_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_nubus_card_interface(mconfig, *this),
+ m_image(nullptr)
{
}
@@ -327,7 +319,7 @@ WRITE32_MEMBER( nubus_image_device::file_data_w )
data = ((data & 0xff) << 24) | ((data & 0xff00) << 8) | ((data & 0xff0000) >> 8) | ((data & 0xff000000) >> 24);
if(filectx.fd) {
- //data = ni_ntohl(data);
+ //data = big_endianize_int32(data);
if((filectx.bytecount + count) > filectx.filelen) count = filectx.filelen - filectx.bytecount;
filectx.fd->write(&data, filectx.bytecount, count, actualcount);
filectx.bytecount += actualcount;
@@ -348,7 +340,7 @@ READ32_MEMBER( nubus_image_device::file_data_r )
if(actual < sizeof(ret)) {
filectx.fd.reset();
}
- return ni_htonl(ret);
+ return big_endianize_int32(ret);
}
return 0;
}
@@ -356,7 +348,7 @@ READ32_MEMBER( nubus_image_device::file_data_r )
WRITE32_MEMBER( nubus_image_device::file_len_w )
{
data = ((data & 0xff) << 24) | ((data & 0xff00) << 8) | ((data & 0xff0000) >> 8) | ((data & 0xff000000) >> 24);
- filectx.filelen = ni_ntohl(data);
+ filectx.filelen = big_endianize_int32(data);
}
READ32_MEMBER( nubus_image_device::file_len_r )
@@ -366,12 +358,12 @@ READ32_MEMBER( nubus_image_device::file_len_r )
WRITE32_MEMBER( nubus_image_device::file_name_w )
{
- ((uint32_t*)(filectx.filename))[offset] = ni_ntohl(data);
+ ((uint32_t*)(filectx.filename))[offset] = big_endianize_int32(data);
}
READ32_MEMBER( nubus_image_device::file_name_r )
{
uint32_t ret;
- ret = ni_htonl(((uint32_t*)(filectx.filename))[offset]);
+ ret = big_endianize_int32(((uint32_t*)(filectx.filename))[offset]);
return ret;
}
diff --git a/src/devices/bus/nubus/nubus_image.h b/src/devices/bus/nubus/nubus_image.h
index 543ae8d3781..b12da43dc36 100644
--- a/src/devices/bus/nubus/nubus_image.h
+++ b/src/devices/bus/nubus/nubus_image.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_IMAGE_H
+#define MAME_BUS_NUBUS_NUBUS_IMAGE_H
-#ifndef __NUBUS_IMAGE_H__
-#define __NUBUS_IMAGE_H__
+#pragma once
#include "nubus.h"
#include "osdcore.h"
@@ -11,17 +11,6 @@
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-class messimg_disk_image_device;
-
-struct nbfilectx {
- uint32_t curcmd;
- uint8_t filename[128];
- uint8_t curdir[1024];
- osd::directory::ptr dirp;
- osd_file::ptr fd;
- uint64_t filelen;
- uint32_t bytecount;
-};
// ======================> nubus_image_device
@@ -30,15 +19,39 @@ class nubus_image_device :
public device_nubus_card_interface
{
public:
+ class messimg_disk_image_device;
+
// construction/destruction
nubus_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
+ enum
+ {
+ kFileCmdGetDir = 1,
+ kFileCmdSetDir,
+ kFileCmdGetFirstListing,
+ kFileCmdGetNextListing,
+ kFileCmdGetFile,
+ kFileCmdPutFile
+ };
+
+ struct nbfilectx
+ {
+ uint32_t curcmd;
+ uint8_t filename[128];
+ uint8_t curdir[1024];
+ osd::directory::ptr dirp;
+ osd_file::ptr fd;
+ uint64_t filelen;
+ uint32_t bytecount;
+ };
+
+ nubus_image_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -58,22 +71,12 @@ protected:
DECLARE_READ32_MEMBER(file_name_r);
DECLARE_WRITE32_MEMBER(file_name_w);
-public:
messimg_disk_image_device *m_image;
- struct nbfilectx filectx;
+ nbfilectx filectx;
};
// device type definition
-extern const device_type NUBUS_IMAGE;
-
-enum {
- kFileCmdGetDir = 1,
- kFileCmdSetDir,
- kFileCmdGetFirstListing,
- kFileCmdGetNextListing,
- kFileCmdGetFile,
- kFileCmdPutFile
-};
+DECLARE_DEVICE_TYPE(NUBUS_IMAGE, nubus_image_device)
-#endif /* __NUBUS_IMAGE_H__ */
+#endif // MAME_BUS_NUBUS_NUBUS_IMAGE_H
diff --git a/src/devices/bus/nubus/nubus_m2hires.cpp b/src/devices/bus/nubus/nubus_m2hires.cpp
index 823a1d063e2..99315db8e03 100644
--- a/src/devices/bus/nubus/nubus_m2hires.cpp
+++ b/src/devices/bus/nubus/nubus_m2hires.cpp
@@ -36,7 +36,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_M2HIRES = device_creator<nubus_m2hires_device>;
+DEFINE_DEVICE_TYPE(NUBUS_M2HIRES, nubus_m2hires_device, "nb_m2hr", "Macintosh II Hi-Resolution video card")
//-------------------------------------------------
@@ -67,20 +67,17 @@ const tiny_rom_entry *nubus_m2hires_device::device_rom_region() const
//-------------------------------------------------
nubus_m2hires_device::nubus_m2hires_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_M2HIRES, "Macintosh II Hi-Resolution video card", tag, owner, clock, "nb_m2hr", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+ nubus_m2hires_device(mconfig, NUBUS_M2HIRES, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(M2HIRES_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_m2hires_device::nubus_m2hires_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+nubus_m2hires_device::nubus_m2hires_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, M2HIRES_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(M2HIRES_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/nubus_m2hires.h b/src/devices/bus/nubus/nubus_m2hires.h
index cc766ae9d18..1e8f7c92290 100644
--- a/src/devices/bus/nubus/nubus_m2hires.h
+++ b/src/devices/bus/nubus/nubus_m2hires.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_M2HIRES_H
+#define MAME_BUS_NUBUS_NUBUS_M2HIRES_H
-#ifndef __NUBUS_M2HIRES_H__
-#define __NUBUS_M2HIRES_H__
+#pragma once
#include "nubus.h"
@@ -19,37 +19,37 @@ class nubus_m2hires_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_m2hires_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_m2hires_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ // construction/destruction
+ nubus_m2hires_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ32_MEMBER(m2hires_r);
- DECLARE_WRITE32_MEMBER(m2hires_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable, m_toggle;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+protected:
+ nubus_m2hires_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ32_MEMBER(m2hires_r);
+ DECLARE_WRITE32_MEMBER(m2hires_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable, m_toggle;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
};
-
// device type definition
-extern const device_type NUBUS_M2HIRES;
+DECLARE_DEVICE_TYPE(NUBUS_M2HIRES, nubus_m2hires_device)
-#endif /* __NUBUS_M2HIRES_H__ */
+#endif // MAME_BUS_NUBUS_NUBUS_M2HIRES_H
diff --git a/src/devices/bus/nubus/nubus_m2video.cpp b/src/devices/bus/nubus/nubus_m2video.cpp
index bfaafc7f932..8eb6808f8d6 100644
--- a/src/devices/bus/nubus/nubus_m2video.cpp
+++ b/src/devices/bus/nubus/nubus_m2video.cpp
@@ -38,7 +38,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_M2VIDEO = device_creator<nubus_m2video_device>;
+DEFINE_DEVICE_TYPE(NUBUS_M2VIDEO, nubus_m2video_device, "nb_m2vc", "Macintosh II Video Card")
//-------------------------------------------------
@@ -69,20 +69,17 @@ const tiny_rom_entry *nubus_m2video_device::device_rom_region() const
//-------------------------------------------------
nubus_m2video_device::nubus_m2video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_M2VIDEO, "Macintosh II Video Card", tag, owner, clock, "nb_m2vc", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+ nubus_m2video_device(mconfig, NUBUS_M2VIDEO, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(M2VIDEO_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_m2video_device::nubus_m2video_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+nubus_m2video_device::nubus_m2video_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, M2VIDEO_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(M2VIDEO_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/nubus_m2video.h b/src/devices/bus/nubus/nubus_m2video.h
index abf6056f5e2..10d2e9067c9 100644
--- a/src/devices/bus/nubus/nubus_m2video.h
+++ b/src/devices/bus/nubus/nubus_m2video.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_M2VIDEO_H
+#define MAME_BUS_NUBUS_NUBUS_M2VIDEO_H
-#ifndef __NUBUS_M2VIDEO_H__
-#define __NUBUS_M2VIDEO_H__
+#pragma once
#include "nubus.h"
@@ -19,37 +19,38 @@ class nubus_m2video_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_m2video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_m2video_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // construction/destruction
+ nubus_m2video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ32_MEMBER(m2video_r);
- DECLARE_WRITE32_MEMBER(m2video_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable, m_toggle;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+protected:
+ nubus_m2video_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ32_MEMBER(m2video_r);
+ DECLARE_WRITE32_MEMBER(m2video_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable, m_toggle;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
};
// device type definition
-extern const device_type NUBUS_M2VIDEO;
+DECLARE_DEVICE_TYPE(NUBUS_M2VIDEO, nubus_m2video_device)
-#endif /* __NUBUS_M2VIDEO_H__ */
+#endif // MAME_BUS_NUBUS_NUBUS_M2VIDEO_H
diff --git a/src/devices/bus/nubus/nubus_radiustpd.cpp b/src/devices/bus/nubus/nubus_radiustpd.cpp
index f3028bdc598..d1087527019 100644
--- a/src/devices/bus/nubus/nubus_radiustpd.cpp
+++ b/src/devices/bus/nubus/nubus_radiustpd.cpp
@@ -37,7 +37,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_RADIUSTPD = device_creator<nubus_radiustpd_device>;
+DEFINE_DEVICE_TYPE(NUBUS_RADIUSTPD, nubus_radiustpd_device, "nb_rtpd", "Radius Two Page Display video card")
//-------------------------------------------------
@@ -68,20 +68,17 @@ const tiny_rom_entry *nubus_radiustpd_device::device_rom_region() const
//-------------------------------------------------
nubus_radiustpd_device::nubus_radiustpd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_RADIUSTPD, "Radius Two Page Display video card", tag, owner, clock, "nb_rtpd", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+ nubus_radiustpd_device(mconfig, NUBUS_RADIUSTPD, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(RADIUSTPD_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_radiustpd_device::nubus_radiustpd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+nubus_radiustpd_device::nubus_radiustpd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, RADIUSTPD_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(RADIUSTPD_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/nubus_radiustpd.h b/src/devices/bus/nubus/nubus_radiustpd.h
index 02f257c290e..7566c281ea9 100644
--- a/src/devices/bus/nubus/nubus_radiustpd.h
+++ b/src/devices/bus/nubus/nubus_radiustpd.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_RADIUSTPD_H
+#define MAME_BUS_NUBUS_NUBUS_RADIUSTPD_H
-#ifndef __NUBUS_RADIUSTPD_H__
-#define __NUBUS_RADIUSTPD_H__
+#pragma once
#include "nubus.h"
@@ -19,37 +19,38 @@ class nubus_radiustpd_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_radiustpd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_radiustpd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // construction/destruction
+ nubus_radiustpd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ32_MEMBER(radiustpd_r);
- DECLARE_WRITE32_MEMBER(radiustpd_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable, m_toggle;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+protected:
+ nubus_radiustpd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ32_MEMBER(radiustpd_r);
+ DECLARE_WRITE32_MEMBER(radiustpd_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable, m_toggle;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
};
// device type definition
-extern const device_type NUBUS_RADIUSTPD;
+DECLARE_DEVICE_TYPE(NUBUS_RADIUSTPD, nubus_radiustpd_device)
-#endif /* __NUBUS_RADIUSTPD_H__ */
+#endif // MAME_BUS_NUBUS_NUBUS_RADIUSTPD_H
diff --git a/src/devices/bus/nubus/nubus_spec8.cpp b/src/devices/bus/nubus/nubus_spec8.cpp
index d294a1df8f7..18d5294569e 100644
--- a/src/devices/bus/nubus/nubus_spec8.cpp
+++ b/src/devices/bus/nubus/nubus_spec8.cpp
@@ -40,7 +40,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_SPEC8S3 = device_creator<nubus_spec8s3_device>;
+DEFINE_DEVICE_TYPE(NUBUS_SPEC8S3, nubus_spec8s3_device, "nb_sp8s3", "SuperMac Spectrum/8 Series III video card")
//-------------------------------------------------
@@ -71,20 +71,18 @@ const tiny_rom_entry *nubus_spec8s3_device::device_rom_region() const
//-------------------------------------------------
nubus_spec8s3_device::nubus_spec8s3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_SPEC8S3, "SuperMac Spectrum/8 Series III video card", tag, owner, clock, "nb_sp8s3", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr), m_vbl_pending(false), m_parameter(0)
+ nubus_spec8s3_device(mconfig, NUBUS_SPEC8S3, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(SPEC8S3_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_spec8s3_device::nubus_spec8s3_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr), m_vbl_pending(false), m_parameter(0)
+nubus_spec8s3_device::nubus_spec8s3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, SPEC8S3_SCREEN_NAME)),
+ m_vbl_pending(false), m_parameter(0)
{
- m_assembled_tag = std::string(tag).append(":").append(SPEC8S3_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/nubus_spec8.h b/src/devices/bus/nubus/nubus_spec8.h
index 6716115db05..95f707d7df3 100644
--- a/src/devices/bus/nubus/nubus_spec8.h
+++ b/src/devices/bus/nubus/nubus_spec8.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_SPEC8_H
+#define MAME_BUS_NUBUS_NUBUS_SPEC8_H
-#ifndef __NUBUS_SPEC8S3_H__
-#define __NUBUS_SPEC8S3_H__
+#pragma once
#include "nubus.h"
@@ -19,45 +19,46 @@ class nubus_spec8s3_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_spec8s3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_spec8s3_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ // construction/destruction
+ nubus_spec8s3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ nubus_spec8s3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_READ32_MEMBER(spec8s3_r);
- DECLARE_WRITE32_MEMBER(spec8s3_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+ DECLARE_READ32_MEMBER(spec8s3_r);
+ DECLARE_WRITE32_MEMBER(spec8s3_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
private:
- //uint32_t m_7xxxxx_regs[0x100000/4];
- //int m_width, m_height, m_patofsx, m_patofsy;
- //uint32_t m_vram_addr, m_vram_src;
- //uint8_t m_fillbytes[256];
- bool m_vbl_pending;
- int m_parameter;
+ //uint32_t m_7xxxxx_regs[0x100000/4];
+ //int m_width, m_height, m_patofsx, m_patofsy;
+ //uint32_t m_vram_addr, m_vram_src;
+ //uint8_t m_fillbytes[256];
+ bool m_vbl_pending;
+ int m_parameter;
};
// device type definition
-extern const device_type NUBUS_SPEC8S3;
+DECLARE_DEVICE_TYPE(NUBUS_SPEC8S3, nubus_spec8s3_device)
-#endif /* __NUBUS_SPEC8S3_H__ */
+#endif // MAME_BUS_NUBUS_NUBUS_SPEC8_H
diff --git a/src/devices/bus/nubus/nubus_specpdq.cpp b/src/devices/bus/nubus/nubus_specpdq.cpp
index de267c7400b..98ef658d187 100644
--- a/src/devices/bus/nubus/nubus_specpdq.cpp
+++ b/src/devices/bus/nubus/nubus_specpdq.cpp
@@ -54,7 +54,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_SPECPDQ = device_creator<nubus_specpdq_device>;
+DEFINE_DEVICE_TYPE(NUBUS_SPECPDQ, nubus_specpdq_device, "nb_spdq", "SuperMac Spectrum PDQ video card")
//-------------------------------------------------
@@ -85,22 +85,19 @@ const tiny_rom_entry *nubus_specpdq_device::device_rom_region() const
//-------------------------------------------------
nubus_specpdq_device::nubus_specpdq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_SPECPDQ, "SuperMac Spectrum PDQ video card", tag, owner, clock, "nb_spdq", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr), m_width(0), m_height(0), m_patofsx(0), m_patofsy(0), m_vram_addr(0), m_vram_src(0),
- m_palette(*this, "palette")
+ nubus_specpdq_device(mconfig, NUBUS_SPECPDQ, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(SPECPDQ_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_specpdq_device::nubus_specpdq_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr), m_width(0), m_height(0), m_patofsx(0), m_patofsy(0), m_vram_addr(0), m_vram_src(0),
- m_palette(*this, "palette")
+nubus_specpdq_device::nubus_specpdq_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, SPECPDQ_SCREEN_NAME)),
+ m_width(0), m_height(0), m_patofsx(0), m_patofsy(0), m_vram_addr(0), m_vram_src(0),
+ m_palette(*this, "palette")
{
- m_assembled_tag = std::string(tag).append(":").append(SPECPDQ_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/nubus_specpdq.h b/src/devices/bus/nubus/nubus_specpdq.h
index a327ed51d3b..153badb8f55 100644
--- a/src/devices/bus/nubus/nubus_specpdq.h
+++ b/src/devices/bus/nubus/nubus_specpdq.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_NUBUS_SPECPDQ_H
+#define MAME_BUS_NUBUS_NUBUS_SPECPDQ_H
-#ifndef __NUBUS_SPECPDQ_H__
-#define __NUBUS_SPECPDQ_H__
+#pragma once
#include "nubus.h"
@@ -19,44 +19,45 @@ class nubus_specpdq_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_specpdq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_specpdq_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ // construction/destruction
+ nubus_specpdq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ nubus_specpdq_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_READ32_MEMBER(specpdq_r);
- DECLARE_WRITE32_MEMBER(specpdq_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable;
- uint32_t m_palette_val[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+ DECLARE_READ32_MEMBER(specpdq_r);
+ DECLARE_WRITE32_MEMBER(specpdq_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable;
+ uint32_t m_palette_val[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
private:
- uint32_t m_7xxxxx_regs[0x100000/4];
- int m_width, m_height, m_patofsx, m_patofsy;
- uint32_t m_vram_addr, m_vram_src;
- uint8_t m_fillbytes[256];
- required_device<palette_device> m_palette;
+ uint32_t m_7xxxxx_regs[0x100000/4];
+ int m_width, m_height, m_patofsx, m_patofsy;
+ uint32_t m_vram_addr, m_vram_src;
+ uint8_t m_fillbytes[256];
+ required_device<palette_device> m_palette;
};
// device type definition
-extern const device_type NUBUS_SPECPDQ;
+DECLARE_DEVICE_TYPE(NUBUS_SPECPDQ, nubus_specpdq_device)
-#endif /* __NUBUS_SPECPDQ_H__ */
+#endif // MAME_BUS_NUBUS_NUBUS_SPECPDQ_H
diff --git a/src/devices/bus/nubus/nubus_vikbw.cpp b/src/devices/bus/nubus/nubus_vikbw.cpp
index ed901d672c8..a17da037ad1 100644
--- a/src/devices/bus/nubus/nubus_vikbw.cpp
+++ b/src/devices/bus/nubus/nubus_vikbw.cpp
@@ -36,7 +36,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_VIKBW = device_creator<nubus_vikbw_device>;
+DEFINE_DEVICE_TYPE(NUBUS_VIKBW, nubus_vikbw_device, "nb_vikbw", "Moniterm Viking video card")
//-------------------------------------------------
@@ -67,14 +67,14 @@ const tiny_rom_entry *nubus_vikbw_device::device_rom_region() const
//-------------------------------------------------
nubus_vikbw_device::nubus_vikbw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_VIKBW, "Moniterm Viking video card", tag, owner, clock, "nb_vikbw", __FILE__),
- device_nubus_card_interface(mconfig, *this), m_vbl_disable(0)
+ nubus_vikbw_device(mconfig, NUBUS_VIKBW, tag, owner, clock)
{
}
-nubus_vikbw_device::nubus_vikbw_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_nubus_card_interface(mconfig, *this), m_vbl_disable(0)
+nubus_vikbw_device::nubus_vikbw_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_nubus_card_interface(mconfig, *this),
+ m_vbl_disable(0)
{
}
diff --git a/src/devices/bus/nubus/nubus_vikbw.h b/src/devices/bus/nubus/nubus_vikbw.h
index 071c122025e..fdafbeda6b5 100644
--- a/src/devices/bus/nubus/nubus_vikbw.h
+++ b/src/devices/bus/nubus/nubus_vikbw.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_VIKBW_H
+#define MAME_BUS_NUBUS_VIKBW_H
-#ifndef __NUBUS_VIKBW_H__
-#define __NUBUS_VIKBW_H__
+#pragma once
#include "nubus.h"
@@ -18,32 +18,32 @@ class nubus_vikbw_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_vikbw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_vikbw_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ // construction/destruction
+ nubus_vikbw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ nubus_vikbw_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_READ32_MEMBER(viking_ack_r);
- DECLARE_WRITE32_MEMBER(viking_ack_w);
- DECLARE_READ32_MEMBER(viking_enable_r);
- DECLARE_WRITE32_MEMBER(viking_disable_w);
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
-public:
- std::vector<uint8_t> m_vram;
- uint32_t m_vbl_disable, m_palette[2];
-};
+ DECLARE_READ32_MEMBER(viking_ack_r);
+ DECLARE_WRITE32_MEMBER(viking_ack_w);
+ DECLARE_READ32_MEMBER(viking_enable_r);
+ DECLARE_WRITE32_MEMBER(viking_disable_w);
+ std::vector<uint8_t> m_vram;
+ uint32_t m_vbl_disable, m_palette[2];
+};
// device type definition
-extern const device_type NUBUS_VIKBW;
+DECLARE_DEVICE_TYPE(NUBUS_VIKBW, nubus_vikbw_device)
-#endif /* __NUBUS_VIKBW_H__ */
+#endif // MAME_BUS_NUBUS_VIKBW_H
diff --git a/src/devices/bus/nubus/nubus_wsportrait.cpp b/src/devices/bus/nubus/nubus_wsportrait.cpp
index e231f7c44e0..c37cdf79d0f 100644
--- a/src/devices/bus/nubus/nubus_wsportrait.cpp
+++ b/src/devices/bus/nubus/nubus_wsportrait.cpp
@@ -39,7 +39,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type NUBUS_WSPORTRAIT = device_creator<nubus_wsportrait_device>;
+DEFINE_DEVICE_TYPE(NUBUS_WSPORTRAIT, nubus_wsportrait_device, "nb_wspt", "Macintosh II Portrait Video Card")
//-------------------------------------------------
@@ -70,20 +70,17 @@ const tiny_rom_entry *nubus_wsportrait_device::device_rom_region() const
//-------------------------------------------------
nubus_wsportrait_device::nubus_wsportrait_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, NUBUS_WSPORTRAIT, "Macintosh II Portrait Video Card", tag, owner, clock, "nb_wspt", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+ nubus_wsportrait_device(mconfig, NUBUS_WSPORTRAIT, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(WSPORTRAIT_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_wsportrait_device::nubus_wsportrait_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+nubus_wsportrait_device::nubus_wsportrait_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, WSPORTRAIT_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(WSPORTRAIT_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/nubus_wsportrait.h b/src/devices/bus/nubus/nubus_wsportrait.h
index 09ae98f1db2..86d79ab5d1d 100644
--- a/src/devices/bus/nubus/nubus_wsportrait.h
+++ b/src/devices/bus/nubus/nubus_wsportrait.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_WSPORTRAIT_H
+#define MAME_BUS_NUBUS_WSPORTRAIT_H
-#ifndef __NUBUS_WSPORTRAIT_H__
-#define __NUBUS_WSPORTRAIT_H__
+#pragma once
#include "nubus.h"
@@ -19,37 +19,38 @@ class nubus_wsportrait_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_wsportrait_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_wsportrait_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // construction/destruction
+ nubus_wsportrait_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ32_MEMBER(wsportrait_r);
- DECLARE_WRITE32_MEMBER(wsportrait_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable, m_toggle;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+protected:
+ nubus_wsportrait_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ32_MEMBER(wsportrait_r);
+ DECLARE_WRITE32_MEMBER(wsportrait_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable, m_toggle;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
};
// device type definition
-extern const device_type NUBUS_WSPORTRAIT;
+DECLARE_DEVICE_TYPE(NUBUS_WSPORTRAIT, nubus_wsportrait_device)
-#endif /* __NUBUS_M2HIRES_H__ */
+#endif // MAME_BUS_NUBUS_WSPORTRAIT_H
diff --git a/src/devices/bus/nubus/pds30_30hr.cpp b/src/devices/bus/nubus/pds30_30hr.cpp
index 228055037aa..08ac27391c2 100644
--- a/src/devices/bus/nubus/pds30_30hr.cpp
+++ b/src/devices/bus/nubus/pds30_30hr.cpp
@@ -39,7 +39,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PDS030_XCEED30HR = device_creator<nubus_xceed30hr_device>;
+DEFINE_DEVICE_TYPE(PDS030_XCEED30HR, nubus_xceed30hr_device, "pd3_30hr", "Micron/XCEED Technology Color 30HR")
//-------------------------------------------------
@@ -70,20 +70,17 @@ const tiny_rom_entry *nubus_xceed30hr_device::device_rom_region() const
//-------------------------------------------------
nubus_xceed30hr_device::nubus_xceed30hr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PDS030_XCEED30HR, "Micron/XCEED Technology Color 30HR", tag, owner, clock, "pd3_30hr", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+ nubus_xceed30hr_device(mconfig, PDS030_XCEED30HR, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(XCEED30HR_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_xceed30hr_device::nubus_xceed30hr_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+nubus_xceed30hr_device::nubus_xceed30hr_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, XCEED30HR_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(XCEED30HR_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/pds30_30hr.h b/src/devices/bus/nubus/pds30_30hr.h
index eb038d791bf..17800579cfc 100644
--- a/src/devices/bus/nubus/pds30_30hr.h
+++ b/src/devices/bus/nubus/pds30_30hr.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_PDS30_30HR_H
+#define MAME_BUS_NUBUS_PDS30_30HR_H
-#ifndef __NUBUS_XCEED30HR_H__
-#define __NUBUS_XCEED30HR_H__
+#pragma once
#include "nubus.h"
@@ -19,37 +19,38 @@ class nubus_xceed30hr_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_xceed30hr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_xceed30hr_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // construction/destruction
+ nubus_xceed30hr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ32_MEMBER(xceed30hr_r);
- DECLARE_WRITE32_MEMBER(xceed30hr_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable, m_toggle;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+protected:
+ nubus_xceed30hr_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ32_MEMBER(xceed30hr_r);
+ DECLARE_WRITE32_MEMBER(xceed30hr_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable, m_toggle;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
};
// device type definition
-extern const device_type PDS030_XCEED30HR;
+DECLARE_DEVICE_TYPE(PDS030_XCEED30HR, nubus_xceed30hr_device)
-#endif /* __NUBUS_XCEED30HR_H__ */
+#endif // MAME_BUS_NUBUS_PDS30_30HR_H
diff --git a/src/devices/bus/nubus/pds30_cb264.cpp b/src/devices/bus/nubus/pds30_cb264.cpp
index 7c192b7dff6..47b2f15728a 100644
--- a/src/devices/bus/nubus/pds30_cb264.cpp
+++ b/src/devices/bus/nubus/pds30_cb264.cpp
@@ -32,7 +32,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PDS030_CB264SE30 = device_creator<nubus_cb264se30_device>;
+DEFINE_DEVICE_TYPE(PDS030_CB264SE30, nubus_cb264se30_device, "pd3_c264", "RasterOps Colorboard 264/SE30")
//-------------------------------------------------
@@ -63,20 +63,17 @@ const tiny_rom_entry *nubus_cb264se30_device::device_rom_region() const
//-------------------------------------------------
nubus_cb264se30_device::nubus_cb264se30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PDS030_CB264SE30, "RasterOps Colorboard 264/SE30", tag, owner, clock, "pd3_c264", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+ nubus_cb264se30_device(mconfig, PDS030_CB264SE30, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(CB264SE30_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_cb264se30_device::nubus_cb264se30_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+nubus_cb264se30_device::nubus_cb264se30_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, CB264SE30_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(CB264SE30_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/pds30_cb264.h b/src/devices/bus/nubus/pds30_cb264.h
index 5038660d31e..cf760ccb7fb 100644
--- a/src/devices/bus/nubus/pds30_cb264.h
+++ b/src/devices/bus/nubus/pds30_cb264.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_PDS30_CB264_H
+#define MAME_BUS_NUBUS_PDS30_CB264_H
-#ifndef __NUBUS_CB264SE30_H__
-#define __NUBUS_CB264SE30_H__
+#pragma once
#include "nubus.h"
@@ -19,37 +19,38 @@ class nubus_cb264se30_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_cb264se30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_cb264se30_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // construction/destruction
+ nubus_cb264se30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ32_MEMBER(cb264se30_r);
- DECLARE_WRITE32_MEMBER(cb264se30_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable, m_toggle;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+protected:
+ nubus_cb264se30_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ32_MEMBER(cb264se30_r);
+ DECLARE_WRITE32_MEMBER(cb264se30_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable, m_toggle;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
};
// device type definition
-extern const device_type PDS030_CB264SE30;
+DECLARE_DEVICE_TYPE(PDS030_CB264SE30, nubus_cb264se30_device)
-#endif /* __NUBUS_CB264SE30_H__ */
+#endif // MAME_BUS_NUBUS_PDS30_CB264_H
diff --git a/src/devices/bus/nubus/pds30_mc30.cpp b/src/devices/bus/nubus/pds30_mc30.cpp
index aaf61c68d3f..237a1df571f 100644
--- a/src/devices/bus/nubus/pds30_mc30.cpp
+++ b/src/devices/bus/nubus/pds30_mc30.cpp
@@ -35,7 +35,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PDS030_XCEEDMC30 = device_creator<nubus_xceedmc30_device>;
+DEFINE_DEVICE_TYPE(PDS030_XCEEDMC30, nubus_xceedmc30_device, "pd3_mclr", "Micron/XCEED Technology MacroColor 30")
//-------------------------------------------------
@@ -66,20 +66,17 @@ const tiny_rom_entry *nubus_xceedmc30_device::device_rom_region() const
//-------------------------------------------------
nubus_xceedmc30_device::nubus_xceedmc30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PDS030_XCEEDMC30, "Micron/XCEED Technology MacroColor 30", tag, owner, clock, "pd3_mclr", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+ nubus_xceedmc30_device(mconfig, PDS030_XCEEDMC30, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(XCEEDMC30_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_xceedmc30_device::nubus_xceedmc30_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+nubus_xceedmc30_device::nubus_xceedmc30_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, XCEEDMC30_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(XCEEDMC30_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/pds30_mc30.h b/src/devices/bus/nubus/pds30_mc30.h
index 834231ff7cb..ddf27ce50bc 100644
--- a/src/devices/bus/nubus/pds30_mc30.h
+++ b/src/devices/bus/nubus/pds30_mc30.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_PDS30_MC30_H
+#define MAME_BUS_NUBUS_PDS30_MC30_H
-#ifndef __NUBUS_XCEEDMC30_H__
-#define __NUBUS_XCEEDMC30_H__
+#pragma once
#include "nubus.h"
@@ -19,37 +19,38 @@ class nubus_xceedmc30_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_xceedmc30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_xceedmc30_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // construction/destruction
+ nubus_xceedmc30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ32_MEMBER(xceedmc30_r);
- DECLARE_WRITE32_MEMBER(xceedmc30_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable, m_toggle;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+protected:
+ nubus_xceedmc30_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ32_MEMBER(xceedmc30_r);
+ DECLARE_WRITE32_MEMBER(xceedmc30_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable, m_toggle;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
};
// device type definition
-extern const device_type PDS030_XCEEDMC30;
+DECLARE_DEVICE_TYPE(PDS030_XCEEDMC30, nubus_xceedmc30_device)
-#endif /* __NUBUS_XCEEDMC30_H__ */
+#endif // MAME_BUS_NUBUS_PDS30_MC30_H
diff --git a/src/devices/bus/nubus/pds30_procolor816.cpp b/src/devices/bus/nubus/pds30_procolor816.cpp
index fc7ef895227..11358165761 100644
--- a/src/devices/bus/nubus/pds30_procolor816.cpp
+++ b/src/devices/bus/nubus/pds30_procolor816.cpp
@@ -38,7 +38,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PDS030_PROCOLOR816 = device_creator<nubus_procolor816_device>;
+DEFINE_DEVICE_TYPE(PDS030_PROCOLOR816, nubus_procolor816_device, "pd3_pc16", "Lapis ProColor Server 8*16")
//-------------------------------------------------
@@ -69,20 +69,17 @@ const tiny_rom_entry *nubus_procolor816_device::device_rom_region() const
//-------------------------------------------------
nubus_procolor816_device::nubus_procolor816_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PDS030_PROCOLOR816, "Lapis ProColor Server 8*16", tag, owner, clock, "pd3_pc16", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+ nubus_procolor816_device(mconfig, PDS030_PROCOLOR816, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(PROCOLOR816_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_procolor816_device::nubus_procolor816_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
+nubus_procolor816_device::nubus_procolor816_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
+ m_assembled_tag(util::string_format("%s:%s", tag, PROCOLOR816_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(PROCOLOR816_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/pds30_procolor816.h b/src/devices/bus/nubus/pds30_procolor816.h
index 84f34dc1ca4..e7145127ef8 100644
--- a/src/devices/bus/nubus/pds30_procolor816.h
+++ b/src/devices/bus/nubus/pds30_procolor816.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_PDS30_PROCOLOR816_H
+#define MAME_BUS_NUBUS_PDS30_PROCOLOR816_H
-#ifndef __NUBUS_PROCOLOR816_H__
-#define __NUBUS_PROCOLOR816_H__
+#pragma once
#include "nubus.h"
@@ -19,37 +19,38 @@ class nubus_procolor816_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_procolor816_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_procolor816_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // construction/destruction
+ nubus_procolor816_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ32_MEMBER(procolor816_r);
- DECLARE_WRITE32_MEMBER(procolor816_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_mode, m_vbl_disable, m_toggle;
- uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
- emu_timer *m_timer;
- std::string m_assembled_tag;
+protected:
+ nubus_procolor816_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ32_MEMBER(procolor816_r);
+ DECLARE_WRITE32_MEMBER(procolor816_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_mode, m_vbl_disable, m_toggle;
+ uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
+ emu_timer *m_timer;
+ const std::string m_assembled_tag;
};
// device type definition
-extern const device_type PDS030_PROCOLOR816;
+DECLARE_DEVICE_TYPE(PDS030_PROCOLOR816, nubus_procolor816_device)
-#endif /* __NUBUS_PROCOLOR816_H__ */
+#endif // MAME_BUS_NUBUS_PDS30_PROCOLOR816_H
diff --git a/src/devices/bus/nubus/pds30_sigmalview.cpp b/src/devices/bus/nubus/pds30_sigmalview.cpp
index 58e04bd8c8a..6c4269f5f0a 100644
--- a/src/devices/bus/nubus/pds30_sigmalview.cpp
+++ b/src/devices/bus/nubus/pds30_sigmalview.cpp
@@ -32,7 +32,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PDS030_LVIEW = device_creator<nubus_lview_device>;
+DEFINE_DEVICE_TYPE(PDS030_LVIEW, nubus_lview_device, "pd3_lviw", "Sigma Designs L-View")
//-------------------------------------------------
@@ -63,20 +63,17 @@ const tiny_rom_entry *nubus_lview_device::device_rom_region() const
//-------------------------------------------------
nubus_lview_device::nubus_lview_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PDS030_LVIEW, "Sigma Designs L-View", tag, owner, clock, "pd3_lviw", __FILE__),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_vbl_disable(0), m_toggle(0), m_timer(nullptr), m_protstate(0)
+ nubus_lview_device(mconfig, PDS030_LVIEW, tag, owner, clock)
{
- m_assembled_tag = std::string(tag).append(":").append(LVIEW_SCREEN_NAME);
- m_screen_tag = m_assembled_tag.c_str();
}
-nubus_lview_device::nubus_lview_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this),
- device_nubus_card_interface(mconfig, *this), m_vram32(nullptr), m_vbl_disable(0), m_toggle(0), m_timer(nullptr), m_protstate(0)
+nubus_lview_device::nubus_lview_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_video_interface(mconfig, *this),
+ device_nubus_card_interface(mconfig, *this),
+ m_vram32(nullptr), m_vbl_disable(0), m_toggle(0), m_timer(nullptr), m_protstate(0),
+ m_assembled_tag(util::string_format("%s:%s", tag, LVIEW_SCREEN_NAME))
{
- m_assembled_tag = std::string(tag).append(":").append(LVIEW_SCREEN_NAME);
m_screen_tag = m_assembled_tag.c_str();
}
diff --git a/src/devices/bus/nubus/pds30_sigmalview.h b/src/devices/bus/nubus/pds30_sigmalview.h
index 918af8f4c68..9dd6bf522da 100644
--- a/src/devices/bus/nubus/pds30_sigmalview.h
+++ b/src/devices/bus/nubus/pds30_sigmalview.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
-#pragma once
+#ifndef MAME_BUS_NUBUS_PDS30_SIGMALVIEW_H
+#define MAME_BUS_NUBUS_PDS30_SIGMALVIEW_H
-#ifndef __NUBUS_LVIEW_H__
-#define __NUBUS_LVIEW_H__
+#pragma once
#include "nubus.h"
@@ -19,38 +19,39 @@ class nubus_lview_device :
public device_nubus_card_interface
{
public:
- // construction/destruction
- nubus_lview_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- nubus_lview_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
+ // construction/destruction
+ nubus_lview_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
- DECLARE_READ32_MEMBER(lview_r);
- DECLARE_WRITE32_MEMBER(lview_w);
- DECLARE_READ32_MEMBER(vram_r);
- DECLARE_WRITE32_MEMBER(vram_w);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-public:
- std::vector<uint8_t> m_vram;
- uint32_t *m_vram32;
- uint32_t m_vbl_disable, m_toggle;
- uint32_t m_palette[256];
- emu_timer *m_timer;
- int m_protstate;
- std::string m_assembled_tag;
+protected:
+ nubus_lview_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ DECLARE_READ32_MEMBER(lview_r);
+ DECLARE_WRITE32_MEMBER(lview_w);
+ DECLARE_READ32_MEMBER(vram_r);
+ DECLARE_WRITE32_MEMBER(vram_w);
+
+ std::vector<uint8_t> m_vram;
+ uint32_t *m_vram32;
+ uint32_t m_vbl_disable, m_toggle;
+ uint32_t m_palette[256];
+ emu_timer *m_timer;
+ int m_protstate;
+ const std::string m_assembled_tag;
};
// device type definition
-extern const device_type PDS030_LVIEW;
+DECLARE_DEVICE_TYPE(PDS030_LVIEW, nubus_lview_device)
-#endif /* __NUBUS_LVIEW_H__ */
+#endif // MAME_BUS_NUBUS_PDS30_SIGMALVIEW_H
diff --git a/src/devices/bus/odyssey2/chess.cpp b/src/devices/bus/odyssey2/chess.cpp
index c67856fbcaa..d339a8453ba 100644
--- a/src/devices/bus/odyssey2/chess.cpp
+++ b/src/devices/bus/odyssey2/chess.cpp
@@ -19,12 +19,12 @@
// o2_chess_device - constructor
//-------------------------------------------------
-const device_type O2_ROM_CHESS = device_creator<o2_chess_device>;
+DEFINE_DEVICE_TYPE(O2_ROM_CHESS, o2_chess_device, "o2_chess", "Odyssey 2 Videopac Chess Module")
o2_chess_device::o2_chess_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : o2_rom_device(mconfig, O2_ROM_CHESS, "Odyssey 2 BASIC Carts", tag, owner, clock, "o2_chess", __FILE__),
- m_cpu(*this, "subcpu")
+ : o2_rom_device(mconfig, O2_ROM_CHESS, tag, owner, clock)
+ , m_cpu(*this, "subcpu")
{
}
diff --git a/src/devices/bus/odyssey2/chess.h b/src/devices/bus/odyssey2/chess.h
index 86c5822decf..9e5275b4214 100644
--- a/src/devices/bus/odyssey2/chess.h
+++ b/src/devices/bus/odyssey2/chess.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __O2_CHESS_H
-#define __O2_CHESS_H
+#ifndef MAME_BUS_ODYSSEY2_CHESS_H
+#define MAME_BUS_ODYSSEY2_CHESS_H
+
+#pragma once
#include "slot.h"
#include "rom.h"
@@ -12,21 +14,18 @@
class o2_chess_device : public o2_rom_device
{
- virtual machine_config_constructor device_mconfig_additions() const override;
-// virtual const rom_entry *device_rom_region() const;
-
public:
// construction/destruction
o2_chess_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual machine_config_constructor device_mconfig_additions() const override;
+// virtual const rom_entry *device_rom_region() const;
+
private:
required_device<nsc800_device> m_cpu;
};
-
-
// device type definition
-extern const device_type O2_ROM_CHESS;
-
+DECLARE_DEVICE_TYPE(O2_ROM_CHESS, o2_chess_device)
-#endif
+#endif // MAME_BUS_ODYSSEY2_CHESS_H
diff --git a/src/devices/bus/odyssey2/rom.cpp b/src/devices/bus/odyssey2/rom.cpp
index 7a073e7fb19..a7b705308fd 100644
--- a/src/devices/bus/odyssey2/rom.cpp
+++ b/src/devices/bus/odyssey2/rom.cpp
@@ -17,32 +17,30 @@
// o2_rom_device - constructor
//-------------------------------------------------
-const device_type O2_ROM_STD = device_creator<o2_rom_device>;
-const device_type O2_ROM_12K = device_creator<o2_rom12_device>;
-const device_type O2_ROM_16K = device_creator<o2_rom16_device>;
+DEFINE_DEVICE_TYPE(O2_ROM_STD, o2_rom_device, "o2_rom", "Odyssey 2 Standard Carts")
+DEFINE_DEVICE_TYPE(O2_ROM_12K, o2_rom12_device, "o2_rom12", "Odyssey 2 12K Carts")
+DEFINE_DEVICE_TYPE(O2_ROM_16K, o2_rom16_device, "o2_rom16", "Odyssey 2 16K Carts")
-o2_rom_device::o2_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_o2_cart_interface(mconfig, *this),
- m_bank_base(0)
+o2_rom_device::o2_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_o2_cart_interface(mconfig, *this)
+ , m_bank_base(0)
{
}
o2_rom_device::o2_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, O2_ROM_STD, "Odyssey 2 Standard Carts", tag, owner, clock, "o2_rom", __FILE__),
- device_o2_cart_interface( mconfig, *this ),
- m_bank_base(0)
- {
+ : o2_rom_device(mconfig, O2_ROM_STD, tag, owner, clock)
+{
}
o2_rom12_device::o2_rom12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : o2_rom_device(mconfig, O2_ROM_12K, "Odyssey 2 12K Carts", tag, owner, clock, "o2_rom12", __FILE__)
+ : o2_rom_device(mconfig, O2_ROM_12K, tag, owner, clock)
{
}
o2_rom16_device::o2_rom16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : o2_rom_device(mconfig, O2_ROM_16K, "Odyssey 2 16K Carts", tag, owner, clock, "o2_rom16", __FILE__)
+ : o2_rom_device(mconfig, O2_ROM_16K, tag, owner, clock)
{
}
diff --git a/src/devices/bus/odyssey2/rom.h b/src/devices/bus/odyssey2/rom.h
index d3931e96b88..823b47462c7 100644
--- a/src/devices/bus/odyssey2/rom.h
+++ b/src/devices/bus/odyssey2/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __O2_ROM_H
-#define __O2_ROM_H
+#ifndef MAME_BUS_ODYSSEY2_ROM_H
+#define MAME_BUS_ODYSSEY2_ROM_H
+
+#pragma once
#include "slot.h"
@@ -13,13 +15,8 @@ class o2_rom_device : public device_t,
{
public:
// construction/destruction
- o2_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
o2_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom04) override;
virtual DECLARE_READ8_MEMBER(read_rom0c) override;
@@ -27,6 +24,12 @@ public:
virtual void write_bank(int bank) override;
protected:
+ o2_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_bank_base;
};
@@ -57,11 +60,9 @@ public:
};
-
// device type definition
-extern const device_type O2_ROM_STD;
-extern const device_type O2_ROM_12K;
-extern const device_type O2_ROM_16K;
-
+DECLARE_DEVICE_TYPE(O2_ROM_STD, o2_rom_device)
+DECLARE_DEVICE_TYPE(O2_ROM_12K, o2_rom12_device)
+DECLARE_DEVICE_TYPE(O2_ROM_16K, o2_rom16_device)
-#endif
+#endif // MAME_BUS_ODYSSEY2_ROM_H
diff --git a/src/devices/bus/odyssey2/slot.cpp b/src/devices/bus/odyssey2/slot.cpp
index b9c8b90f445..b75ccdb92e2 100644
--- a/src/devices/bus/odyssey2/slot.cpp
+++ b/src/devices/bus/odyssey2/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type O2_CART_SLOT = device_creator<o2_cart_slot_device>;
+DEFINE_DEVICE_TYPE(O2_CART_SLOT, o2_cart_slot_device, "o2_cart_slot", "Odyssey 2 Cartridge Slot")
//**************************************************************************
// Odyssey 2 Cartridges Interface
@@ -26,9 +26,9 @@ const device_type O2_CART_SLOT = device_creator<o2_cart_slot_device>;
//-------------------------------------------------
device_o2_cart_interface::device_o2_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_rom(nullptr),
- m_rom_size(0)
+ : device_slot_card_interface(mconfig, device)
+ , m_rom(nullptr)
+ , m_rom_size(0)
{
}
@@ -72,11 +72,11 @@ void device_o2_cart_interface::ram_alloc(uint32_t size)
//-------------------------------------------------
// o2_cart_slot_device - constructor
//-------------------------------------------------
-o2_cart_slot_device::o2_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, O2_CART_SLOT, "Odyssey 2 Cartridge Slot", tag, owner, clock, "o2_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(O2_STD), m_cart(nullptr)
+o2_cart_slot_device::o2_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, O2_CART_SLOT, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , device_slot_interface(mconfig, *this)
+ , m_type(O2_STD), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/odyssey2/slot.h b/src/devices/bus/odyssey2/slot.h
index 284300072ad..992d55abad5 100644
--- a/src/devices/bus/odyssey2/slot.h
+++ b/src/devices/bus/odyssey2/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __O2_SLOT_H
-#define __O2_SLOT_H
+#ifndef MAME_BUS_ODYSSEY2_SLOT_H
+#define MAME_BUS_ODYSSEY2_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -28,15 +30,14 @@ class device_o2_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_o2_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_o2_cart_interface();
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom04) { return 0xff; }
virtual DECLARE_READ8_MEMBER(read_rom0c) { return 0xff; }
- virtual void write_bank(int bank) {}
+ virtual void write_bank(int bank) { }
- virtual DECLARE_WRITE8_MEMBER(io_write) {}
+ virtual DECLARE_WRITE8_MEMBER(io_write) { }
virtual DECLARE_READ_LINE_MEMBER(t0_read) { return 0; }
void rom_alloc(uint32_t size, const char *tag);
@@ -47,6 +48,8 @@ public:
uint32_t get_ram_size() { return m_ram.size(); }
protected:
+ device_o2_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -70,7 +73,7 @@ public:
// image-level overrides
virtual image_init_result call_load() override;
- virtual void call_unload() override {}
+ virtual void call_unload() override { }
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
int get_type() { return m_type; }
@@ -98,13 +101,11 @@ public:
protected:
int m_type;
- device_o2_cart_interface* m_cart;
+ device_o2_cart_interface* m_cart;
};
-
-
// device type definition
-extern const device_type O2_CART_SLOT;
+DECLARE_DEVICE_TYPE(O2_CART_SLOT, o2_cart_slot_device)
/***************************************************************************
@@ -119,4 +120,4 @@ extern const device_type O2_CART_SLOT;
SLOT_INTERFACE_EXTERN(o2_cart);
-#endif
+#endif // MAME_BUS_ODYSSEY2_SLOT_H
diff --git a/src/devices/bus/odyssey2/voice.cpp b/src/devices/bus/odyssey2/voice.cpp
index 7303e0a1939..6dd099968a2 100644
--- a/src/devices/bus/odyssey2/voice.cpp
+++ b/src/devices/bus/odyssey2/voice.cpp
@@ -21,14 +21,14 @@
// o2_voice_device - constructor
//-------------------------------------------------
-const device_type O2_ROM_VOICE = device_creator<o2_voice_device>;
+DEFINE_DEVICE_TYPE(O2_ROM_VOICE, o2_voice_device, "o2_voice", "Odyssey 2 The Voice Passthrough Cart")
o2_voice_device::o2_voice_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : o2_rom_device(mconfig, O2_ROM_VOICE, "Odyssey 2 The Voice Passthrough Cart", tag, owner, clock, "o2_voice", __FILE__),
- m_speech(*this, "sp0256_speech"),
- m_subslot(*this, "subslot"),
- m_lrq_state(0)
+ : o2_rom_device(mconfig, O2_ROM_VOICE, tag, owner, clock)
+ , m_speech(*this, "sp0256_speech")
+ , m_subslot(*this, "subslot")
+ , m_lrq_state(0)
{
}
diff --git a/src/devices/bus/odyssey2/voice.h b/src/devices/bus/odyssey2/voice.h
index 5262350823a..42550739843 100644
--- a/src/devices/bus/odyssey2/voice.h
+++ b/src/devices/bus/odyssey2/voice.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __O2_VOICE_H
-#define __O2_VOICE_H
+#ifndef MAME_BUS_ODYSSEY2_VOICE_H
+#define MAME_BUS_ODYSSEY2_VOICE_H
+
+#pragma once
#include "slot.h"
#include "rom.h"
@@ -16,10 +18,6 @@ public:
// construction/destruction
o2_voice_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override {}
-
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -33,6 +31,11 @@ public:
virtual DECLARE_WRITE8_MEMBER(io_write) override;
virtual DECLARE_READ_LINE_MEMBER(t0_read) override { return m_speech->lrq_r() ? 0 : 1; }
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override { }
+
private:
required_device<sp0256_device> m_speech;
required_device<o2_cart_slot_device> m_subslot;
@@ -41,10 +44,7 @@ private:
};
-
-
// device type definition
extern const device_type O2_ROM_VOICE;
-
-#endif
+#endif // MAME_BUS_ODYSSEY2_VOICE_H
diff --git a/src/devices/bus/oricext/jasmin.cpp b/src/devices/bus/oricext/jasmin.cpp
index 686ead3cc5d..6f5543e82a3 100644
--- a/src/devices/bus/oricext/jasmin.cpp
+++ b/src/devices/bus/oricext/jasmin.cpp
@@ -4,7 +4,7 @@
#include "jasmin.h"
#include "formats/oric_dsk.h"
-const device_type JASMIN = device_creator<jasmin_device>;
+DEFINE_DEVICE_TYPE(JASMIN, jasmin_device, "jasmin", "Jasmin floppy drive interface")
ROM_START( jasmin )
ROM_REGION( 0x800, "jasmin", 0 )
@@ -35,7 +35,7 @@ INPUT_PORTS_START( jasmin )
INPUT_PORTS_END
DEVICE_ADDRESS_MAP_START(map, 8, jasmin_device)
- AM_RANGE(0x3f4, 0x3f7) AM_DEVREADWRITE("fdc", wd1770_t, read, write)
+ AM_RANGE(0x3f4, 0x3f7) AM_DEVREADWRITE("fdc", wd1770_device, read, write)
AM_RANGE(0x3f8, 0x3f8) AM_WRITE(side_sel_w)
AM_RANGE(0x3f9, 0x3f9) AM_WRITE(fdc_reset_w)
AM_RANGE(0x3fa, 0x3fa) AM_WRITE(ram_access_w)
@@ -44,7 +44,7 @@ DEVICE_ADDRESS_MAP_START(map, 8, jasmin_device)
ADDRESS_MAP_END
jasmin_device::jasmin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- oricext_device(mconfig, JASMIN, "Jasmin floppy drive interface", tag, owner, clock, "jasmin", __FILE__),
+ oricext_device(mconfig, JASMIN, tag, owner, clock),
fdc(*this, "fdc"), side_sel(false), fdc_reset(false), ram_access(false), rom_access(false), jasmin_rom(nullptr), cur_floppy(nullptr)
{
}
diff --git a/src/devices/bus/oricext/jasmin.h b/src/devices/bus/oricext/jasmin.h
index 8b4047be695..dc1dd9456ed 100644
--- a/src/devices/bus/oricext/jasmin.h
+++ b/src/devices/bus/oricext/jasmin.h
@@ -1,13 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:Olivier Galibert
-#ifndef __JASMIN_H__
-#define __JASMIN_H__
+#ifndef MAME_BUS_ORICEXT_JASMIN_H
+#define MAME_BUS_ORICEXT_JASMIN_H
+
+#pragma once
#include "oricext.h"
#include "imagedev/floppy.h"
#include "machine/wd_fdc.h"
-extern const device_type JASMIN;
+DECLARE_DEVICE_TYPE(JASMIN, jasmin_device)
class jasmin_device : public oricext_device
{
@@ -25,12 +27,6 @@ public:
DECLARE_WRITE8_MEMBER(select_w);
protected:
- required_device<wd1770_t> fdc;
-
- bool side_sel, fdc_reset, ram_access, rom_access, select[4];
- uint8_t *jasmin_rom;
- floppy_image_device *cur_floppy, *floppies[4];
-
virtual void device_start() override;
virtual void device_reset() override;
const tiny_rom_entry *device_rom_region() const override;
@@ -38,6 +34,12 @@ protected:
virtual ioport_constructor device_input_ports() const override;
void remap();
+
+ required_device<wd1770_device> fdc;
+
+ bool side_sel, fdc_reset, ram_access, rom_access, select[4];
+ uint8_t *jasmin_rom;
+ floppy_image_device *cur_floppy, *floppies[4];
};
-#endif
+#endif // MAME_BUS_ORICEXT_JASMIN_H
diff --git a/src/devices/bus/oricext/microdisc.cpp b/src/devices/bus/oricext/microdisc.cpp
index c6607ba18fc..780c876e977 100644
--- a/src/devices/bus/oricext/microdisc.cpp
+++ b/src/devices/bus/oricext/microdisc.cpp
@@ -4,7 +4,7 @@
#include "microdisc.h"
#include "formats/oric_dsk.h"
-const device_type MICRODISC = device_creator<microdisc_device>;
+DEFINE_DEVICE_TYPE(MICRODISC, microdisc_device, "microdisc", "Microdisc floppy drive interface")
ROM_START( microdisc )
ROM_REGION( 0x2000, "microdisc", 0 )
@@ -33,13 +33,13 @@ static MACHINE_CONFIG_FRAGMENT( microdisc )
MACHINE_CONFIG_END
DEVICE_ADDRESS_MAP_START(map, 8, microdisc_device)
- AM_RANGE(0x310, 0x313) AM_DEVREADWRITE("fdc", fd1793_t, read, write)
+ AM_RANGE(0x310, 0x313) AM_DEVREADWRITE("fdc", fd1793_device, read, write)
AM_RANGE(0x314, 0x314) AM_READWRITE(port_314_r, port_314_w)
AM_RANGE(0x318, 0x318) AM_READ(port_318_r)
ADDRESS_MAP_END
microdisc_device::microdisc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- oricext_device(mconfig, MICRODISC, "Microdisc floppy drive interface", tag, owner, clock, "microdisc", __FILE__),
+ oricext_device(mconfig, MICRODISC, tag, owner, clock),
fdc(*this, "fdc"), microdisc_rom(nullptr), port_314(0), intrq_state(false), drq_state(false), hld_state(false)
{
}
diff --git a/src/devices/bus/oricext/microdisc.h b/src/devices/bus/oricext/microdisc.h
index c4cc450db4f..18980a7f167 100644
--- a/src/devices/bus/oricext/microdisc.h
+++ b/src/devices/bus/oricext/microdisc.h
@@ -1,13 +1,13 @@
// license:BSD-3-Clause
// copyright-holders:Olivier Galibert
-#ifndef __MICRODISC_H__
-#define __MICRODISC_H__
+#ifndef MAME_BUS_ORICEXT_MICRODISC_H
+#define MAME_BUS_ORICEXT_MICRODISC_H
#include "oricext.h"
#include "imagedev/floppy.h"
#include "machine/wd_fdc.h"
-extern const device_type MICRODISC;
+DECLARE_DEVICE_TYPE(MICRODISC, microdisc_device)
class microdisc_device : public oricext_device
{
@@ -36,7 +36,7 @@ protected:
P_EPROM = 0x80
};
- required_device<fd1793_t> fdc;
+ required_device<fd1793_device> fdc;
uint8_t *microdisc_rom;
floppy_image_device *floppies[4];
@@ -51,4 +51,4 @@ protected:
void remap();
};
-#endif
+#endif // MAME_BUS_ORICEXT_MICRODISC_H
diff --git a/src/devices/bus/oricext/oricext.cpp b/src/devices/bus/oricext/oricext.cpp
index 981507572ef..feb7f821c69 100644
--- a/src/devices/bus/oricext/oricext.cpp
+++ b/src/devices/bus/oricext/oricext.cpp
@@ -5,10 +5,10 @@
#include "jasmin.h"
#include "microdisc.h"
-const device_type ORICEXT_CONNECTOR = device_creator<oricext_connector>;
+DEFINE_DEVICE_TYPE(ORICEXT_CONNECTOR, oricext_connector, "oricext_connector", "ORIC extension connector")
oricext_connector::oricext_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, ORICEXT_CONNECTOR, "ORIC extension connector", tag, owner, clock, "oricext_connector", __FILE__),
+ device_t(mconfig, ORICEXT_CONNECTOR, tag, owner, clock),
device_slot_interface(mconfig, *this),
irq_handler(*this),
cputag(nullptr)
@@ -41,8 +41,8 @@ void oricext_connector::device_config_complete()
dev->set_cputag(cputag);
}
-oricext_device::oricext_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+oricext_device::oricext_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_slot_card_interface(mconfig, *this),
cputag(nullptr),
cpu(nullptr),
diff --git a/src/devices/bus/oricext/oricext.h b/src/devices/bus/oricext/oricext.h
index 608e631a33c..6dc84ed2599 100644
--- a/src/devices/bus/oricext/oricext.h
+++ b/src/devices/bus/oricext/oricext.h
@@ -6,8 +6,10 @@
***************************************************************************/
-#ifndef __ORICEXT_H__
-#define __ORICEXT_H__
+#ifndef MAME_BUS_ORICEXT_ORICEXT_H
+#define MAME_BUS_ORICEXT_ORICEXT_H
+
+#pragma once
#include "cpu/m6502/m6502.h"
@@ -20,45 +22,46 @@
class oricext_device;
-class oricext_connector: public device_t,
- public device_slot_interface
+class oricext_connector: public device_t, public device_slot_interface
{
public:
oricext_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~oricext_connector();
void set_cputag(const char *tag);
- template<class _Object> static devcb_base &set_irq_handler(device_t &device, _Object object) { return downcast<oricext_connector &>(device).irq_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_handler(device_t &device, Object &&cb) { return downcast<oricext_connector &>(device).irq_handler.set_callback(std::forward<Object>(cb)); }
void irq_w(int state);
protected:
- devcb_write_line irq_handler;
- const char *cputag;
virtual void device_start() override;
virtual void device_config_complete() override;
+
+ devcb_write_line irq_handler;
+ const char *cputag;
};
class oricext_device : public device_t,
public device_slot_card_interface
{
public:
- oricext_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
void set_cputag(const char *tag);
DECLARE_WRITE_LINE_MEMBER(irq_w);
protected:
+ oricext_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+
const char *cputag;
m6502_device *cpu;
oricext_connector *connector;
memory_bank *bank_c000_r, *bank_e000_r, *bank_f800_r, *bank_c000_w, *bank_e000_w, *bank_f800_w;
uint8_t *rom, *ram;
uint8_t junk_read[8192], junk_write[8192];
-
- virtual void device_start() override;
};
-extern const device_type ORICEXT_CONNECTOR;
+DECLARE_DEVICE_TYPE(ORICEXT_CONNECTOR, oricext_connector)
+
SLOT_INTERFACE_EXTERN( oricext_intf );
-#endif /* __ORICEXT_H__ */
+#endif // MAME_BUS_ORICEXT_ORICEXT_H
diff --git a/src/devices/bus/pc1512/mouse.cpp b/src/devices/bus/pc1512/mouse.cpp
index 3029110de6e..04d688765a8 100644
--- a/src/devices/bus/pc1512/mouse.cpp
+++ b/src/devices/bus/pc1512/mouse.cpp
@@ -15,8 +15,8 @@
// DEVICE DEFINITION
//**************************************************************************
-const device_type PC1512_MOUSE_PORT = device_creator<pc1512_mouse_port_t>;
-const device_type PC1512_MOUSE = device_creator<pc1512_mouse_t>;
+DEFINE_DEVICE_TYPE(PC1512_MOUSE_PORT, pc1512_mouse_port_device, "pc1512_mouse_port", "Amstrad PC1512 mouse port")
+DEFINE_DEVICE_TYPE(PC1512_MOUSE, pc1512_mouse_device, "pc1512_mouse", "Amstrad PC1512 mouse")
@@ -31,7 +31,7 @@ const device_type PC1512_MOUSE = device_creator<pc1512_mouse_t>;
device_pc1512_mouse_port_interface::device_pc1512_mouse_port_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device)
{
- m_port = dynamic_cast<pc1512_mouse_port_t *>(device.owner());
+ m_port = dynamic_cast<pc1512_mouse_port_device *>(device.owner());
}
@@ -41,11 +41,11 @@ device_pc1512_mouse_port_interface::device_pc1512_mouse_port_interface(const mac
//**************************************************************************
//-------------------------------------------------
-// pc1512_mouse_port_t - constructor
+// pc1512_mouse_port_device - constructor
//-------------------------------------------------
-pc1512_mouse_port_t::pc1512_mouse_port_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PC1512_MOUSE_PORT, "Amstrad PC1512 mouse port", tag, owner, clock, "pc1512_mouse_port", __FILE__),
+pc1512_mouse_port_device::pc1512_mouse_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PC1512_MOUSE_PORT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_write_x(*this),
m_write_y(*this),
@@ -55,8 +55,8 @@ pc1512_mouse_port_t::pc1512_mouse_port_t(const machine_config &mconfig, const ch
{
}
-pc1512_mouse_t::pc1512_mouse_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PC1512_MOUSE, "Amstrad PC1512 mouse", tag, owner, clock, "pc1512_mouse", __FILE__),
+pc1512_mouse_device::pc1512_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PC1512_MOUSE, tag, owner, clock),
device_pc1512_mouse_port_interface(mconfig, *this)
{
}
@@ -66,7 +66,7 @@ pc1512_mouse_t::pc1512_mouse_t(const machine_config &mconfig, const char *tag, d
// device_start - device-specific startup
//-------------------------------------------------
-void pc1512_mouse_port_t::device_start()
+void pc1512_mouse_port_device::device_start()
{
m_device = dynamic_cast<device_pc1512_mouse_port_interface *>(get_card_device());
@@ -77,7 +77,7 @@ void pc1512_mouse_port_t::device_start()
m_write_m2.resolve_safe();
}
-void pc1512_mouse_t::device_start()
+void pc1512_mouse_device::device_start()
{
}
@@ -88,14 +88,14 @@ void pc1512_mouse_t::device_start()
static INPUT_PORTS_START( mouse )
PORT_START("MOUSEB")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_NAME("Left Mouse Button") PORT_CODE(MOUSECODE_BUTTON1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_t, mouse_button_1_changed, 0)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_NAME("Right Mouse Button") PORT_CODE(MOUSECODE_BUTTON2) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_t, mouse_button_2_changed, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_NAME("Left Mouse Button") PORT_CODE(MOUSECODE_BUTTON1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_device, mouse_button_1_changed, 0)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_NAME("Right Mouse Button") PORT_CODE(MOUSECODE_BUTTON2) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_device, mouse_button_2_changed, 0)
PORT_START("MOUSEX")
- PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_t, mouse_x_changed, 0)
+ PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_device, mouse_x_changed, 0)
PORT_START("MOUSEY")
- PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_t, mouse_y_changed, 0)
+ PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_device, mouse_y_changed, 0)
INPUT_PORTS_END
@@ -103,7 +103,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor pc1512_mouse_t::device_input_ports() const
+ioport_constructor pc1512_mouse_device::device_input_ports() const
{
return INPUT_PORTS_NAME( mouse );
}
diff --git a/src/devices/bus/pc1512/mouse.h b/src/devices/bus/pc1512/mouse.h
index dd89ae97277..f94984ab979 100644
--- a/src/devices/bus/pc1512/mouse.h
+++ b/src/devices/bus/pc1512/mouse.h
@@ -18,10 +18,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PC1512_MOUSE_H
+#define MAME_BUS_PC1512_MOUSE_H
-#ifndef __PC1512_MOUSE_PORT__
-#define __PC1512_MOUSE_PORT__
+#pragma once
@@ -37,16 +37,16 @@
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
#define MCFG_PC1512_MOUSE_PORT_X_CB(_write) \
- devcb = &pc1512_mouse_port_t::set_x_wr_callback(*device, DEVCB_##_write);
+ devcb = &pc1512_mouse_port_device::set_x_wr_callback(*device, DEVCB_##_write);
#define MCFG_PC1512_MOUSE_PORT_Y_CB(_write) \
- devcb = &pc1512_mouse_port_t::set_y_wr_callback(*device, DEVCB_##_write);
+ devcb = &pc1512_mouse_port_device::set_y_wr_callback(*device, DEVCB_##_write);
#define MCFG_PC1512_MOUSE_PORT_M1_CB(_write) \
- devcb = &pc1512_mouse_port_t::set_m1_wr_callback(*device, DEVCB_##_write);
+ devcb = &pc1512_mouse_port_device::set_m1_wr_callback(*device, DEVCB_##_write);
#define MCFG_PC1512_MOUSE_PORT_M2_CB(_write) \
- devcb = &pc1512_mouse_port_t::set_m2_wr_callback(*device, DEVCB_##_write);
+ devcb = &pc1512_mouse_port_device::set_m2_wr_callback(*device, DEVCB_##_write);
@@ -54,7 +54,7 @@
// TYPE DEFINITIONS
//**************************************************************************
-class pc1512_mouse_port_t;
+class pc1512_mouse_port_device;
// ======================> device_pc1512_mouse_port_interface
@@ -63,28 +63,28 @@ class device_pc1512_mouse_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_pc1512_mouse_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_pc1512_mouse_port_interface() { }
protected:
- pc1512_mouse_port_t *m_port;
+ device_pc1512_mouse_port_interface(const machine_config &mconfig, device_t &device);
+
+ pc1512_mouse_port_device *m_port;
};
-// ======================> pc1512_mouse_port_t
+// ======================> pc1512_mouse_port_device
-class pc1512_mouse_port_t : public device_t,
- public device_slot_interface
+class pc1512_mouse_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- pc1512_mouse_port_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pc1512_mouse_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// static configuration helpers
- template<class _Object> static devcb_base &set_x_wr_callback(device_t &device, _Object object) { return downcast<pc1512_mouse_port_t &>(device).m_write_x.set_callback(object); }
- template<class _Object> static devcb_base &set_y_wr_callback(device_t &device, _Object object) { return downcast<pc1512_mouse_port_t &>(device).m_write_y.set_callback(object); }
- template<class _Object> static devcb_base &set_m1_wr_callback(device_t &device, _Object object) { return downcast<pc1512_mouse_port_t &>(device).m_write_m1.set_callback(object); }
- template<class _Object> static devcb_base &set_m2_wr_callback(device_t &device, _Object object) { return downcast<pc1512_mouse_port_t &>(device).m_write_m2.set_callback(object); }
+ template <class Object> static devcb_base &set_x_wr_callback(device_t &device, Object &&cb) { return downcast<pc1512_mouse_port_device &>(device).m_write_x.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_y_wr_callback(device_t &device, Object &&cb) { return downcast<pc1512_mouse_port_device &>(device).m_write_y.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_m1_wr_callback(device_t &device, Object &&cb) { return downcast<pc1512_mouse_port_device &>(device).m_write_m1.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_m2_wr_callback(device_t &device, Object &&cb) { return downcast<pc1512_mouse_port_device &>(device).m_write_m2.set_callback(std::forward<Object>(cb)); }
// peripheral interface
void x_w(uint8_t data) { m_write_x(data); }
@@ -105,14 +105,13 @@ protected:
};
-// ======================> pc1512_mouse_t
+// ======================> pc1512_mouse_device
-class pc1512_mouse_t : public device_t,
- public device_pc1512_mouse_port_interface
+class pc1512_mouse_device : public device_t, public device_pc1512_mouse_port_interface
{
public:
// construction/destruction
- pc1512_mouse_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pc1512_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
@@ -129,11 +128,11 @@ protected:
// device type definition
-extern const device_type PC1512_MOUSE_PORT;
-extern const device_type PC1512_MOUSE;
+DECLARE_DEVICE_TYPE(PC1512_MOUSE_PORT, pc1512_mouse_port_device)
+DECLARE_DEVICE_TYPE(PC1512_MOUSE, pc1512_mouse_device)
// slot devices
SLOT_INTERFACE_EXTERN( pc1512_mouse_port_devices );
-#endif
+#endif // MAME_BUS_PC1512_MOUSE_H
diff --git a/src/devices/bus/pc_joy/pc_joy.cpp b/src/devices/bus/pc_joy/pc_joy.cpp
index 925968d9a9e..e71395e84fe 100644
--- a/src/devices/bus/pc_joy/pc_joy.cpp
+++ b/src/devices/bus/pc_joy/pc_joy.cpp
@@ -12,10 +12,10 @@
#include "pc_joy.h"
#include "pc_joy_sw.h"
-const device_type PC_JOY = device_creator<pc_joy_device>;
+DEFINE_DEVICE_TYPE(PC_JOY, pc_joy_device, "pc_joy", "PC joystick port")
pc_joy_device::pc_joy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PC_JOY, "PC joystick port", tag, owner, clock, "pc_joy", __FILE__),
+ device_t(mconfig, PC_JOY, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_dev(nullptr)
{
@@ -78,10 +78,10 @@ ioport_constructor pc_basic_joy_device::device_input_ports() const
return INPUT_PORTS_NAME( pc_joystick );
}
-const device_type PC_BASIC_JOY = device_creator<pc_basic_joy_device>;
+DEFINE_DEVICE_TYPE(PC_BASIC_JOY, pc_basic_joy_device, "pc_basic_joy", "PC basic joystick")
pc_basic_joy_device::pc_basic_joy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PC_BASIC_JOY, "PC basic joystick", tag, owner, clock, "basic_joy", __FILE__),
+ device_t(mconfig, PC_BASIC_JOY, tag, owner, clock),
device_pc_joy_interface(mconfig, *this),
m_btn(*this, "btn"),
m_x1(*this, "x1"),
diff --git a/src/devices/bus/pc_joy/pc_joy.h b/src/devices/bus/pc_joy/pc_joy.h
index 4b819ddcc09..39a32816a82 100644
--- a/src/devices/bus/pc_joy/pc_joy.h
+++ b/src/devices/bus/pc_joy/pc_joy.h
@@ -8,8 +8,10 @@
*
*************************************************************************/
-#ifndef PC_JOY_H
-#define PC_JOY_H
+#ifndef MAME_BUS_PC_JOY_PC_JOY_H
+#define MAME_BUS_PC_JOY_PC_JOY_H
+
+#pragma once
#define MCFG_PC_JOY_ADD(_tag) \
@@ -18,10 +20,9 @@
SLOT_INTERFACE_EXTERN(pc_joysticks);
-class device_pc_joy_interface: public device_slot_card_interface
+class device_pc_joy_interface : public device_slot_card_interface
{
public:
- device_pc_joy_interface(const machine_config &mconfig, device_t &device);
virtual ~device_pc_joy_interface();
virtual uint8_t x1(int delta) { return 0; }
@@ -30,25 +31,29 @@ public:
virtual uint8_t y2(int delta) { return 0; }
virtual uint8_t btn() { return 0xf; }
virtual void port_write() { }
+
+protected:
+ device_pc_joy_interface(const machine_config &mconfig, device_t &device);
};
-class pc_joy_device : public device_t,
- public device_slot_interface
+class pc_joy_device : public device_t, public device_slot_interface
{
public:
pc_joy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8_MEMBER(joy_port_r);
DECLARE_WRITE8_MEMBER(joy_port_w);
+
protected:
virtual void device_start() override { m_stime = machine().time(); }
virtual void device_config_complete() override;
+
private:
attotime m_stime;
device_pc_joy_interface *m_dev;
};
-extern const device_type PC_JOY;
+DECLARE_DEVICE_TYPE(PC_JOY, pc_joy_device)
class pc_basic_joy_device : public device_t,
public device_pc_joy_interface
@@ -64,7 +69,7 @@ public:
virtual uint8_t btn() override { return m_btn->read(); }
protected:
- virtual void device_start() override {}
+ virtual void device_start() override { }
private:
required_ioport m_btn;
@@ -74,4 +79,4 @@ private:
required_ioport m_y2;
};
-#endif /* PC_JOY_H */
+#endif // MAME_BUS_PC_JOY_PC_JOY_H
diff --git a/src/devices/bus/pc_joy/pc_joy_sw.cpp b/src/devices/bus/pc_joy/pc_joy_sw.cpp
index 817798ff383..0fbe1e67e45 100644
--- a/src/devices/bus/pc_joy/pc_joy_sw.cpp
+++ b/src/devices/bus/pc_joy/pc_joy_sw.cpp
@@ -5,10 +5,10 @@
#include "emu.h"
#include "pc_joy_sw.h"
-const device_type PC_MSSW_PAD = device_creator<pc_mssw_pad_device>;
+DEFINE_DEVICE_TYPE(PC_MSSW_PAD, pc_mssw_pad_device, "mssw_pad", "Microsoft Sidewinder Pad")
pc_mssw_pad_device::pc_mssw_pad_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
- device_t(mconfig, PC_MSSW_PAD, "Microsoft Sidewinder Pad", tag, owner, clock, "mssw_pad", __FILE__),
+ device_t(mconfig, PC_MSSW_PAD, tag, owner, clock),
device_pc_joy_interface(mconfig, *this),
m_btn1(*this, "btn1"),
m_btn2(*this, "btn2"),
diff --git a/src/devices/bus/pc_joy/pc_joy_sw.h b/src/devices/bus/pc_joy/pc_joy_sw.h
index c36c564d8e5..cb76b268a36 100644
--- a/src/devices/bus/pc_joy/pc_joy_sw.h
+++ b/src/devices/bus/pc_joy/pc_joy_sw.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#ifndef PC_JOY_SW_H_
-#define PC_JOY_SW_H_
+#ifndef MAME_BUS_PC_JOY_PC_JOY_SW_H
+#define MAME_BUS_PC_JOY_PC_JOY_SW_H
#include "pc_joy.h"
@@ -18,8 +18,8 @@ public:
protected:
virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id tid, int param, void *ptr) override;
virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id tid, int param, void *ptr) override;
private:
required_ioport m_btn1;
@@ -33,6 +33,6 @@ private:
bool m_active;
};
-extern const device_type PC_MSSW_PAD;
+DECLARE_DEVICE_TYPE(PC_MSSW_PAD, pc_mssw_pad_device)
-#endif /* PC_JOY_SW_H_ */
+#endif // MAME_BUS_PC_JOY_PC_JOY_SW_H
diff --git a/src/devices/bus/pc_kbd/ec1841.cpp b/src/devices/bus/pc_kbd/ec1841.cpp
index 55ce89d3f6f..19ca2f5338a 100644
--- a/src/devices/bus/pc_kbd/ec1841.cpp
+++ b/src/devices/bus/pc_kbd/ec1841.cpp
@@ -39,7 +39,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PC_KBD_EC_1841 = device_creator<ec_1841_keyboard_device>;
+DEFINE_DEVICE_TYPE(PC_KBD_EC_1841, ec_1841_keyboard_device, "kb_ec1841", "EC-1841 Keyboard")
//-------------------------------------------------
@@ -274,7 +274,7 @@ ioport_constructor ec_1841_keyboard_device::device_input_ports() const
//-------------------------------------------------
ec_1841_keyboard_device::ec_1841_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, PC_KBD_EC_1841, "EC-1841 Keyboard", tag, owner, clock, "kb_ec1841", __FILE__),
+ : device_t(mconfig, PC_KBD_EC_1841, tag, owner, clock),
device_pc_kbd_interface(mconfig, *this),
m_maincpu(*this, I8048_TAG),
m_kbd(*this, "MD%02u", 0),
diff --git a/src/devices/bus/pc_kbd/ec1841.h b/src/devices/bus/pc_kbd/ec1841.h
index 6b381439202..401452ac019 100644
--- a/src/devices/bus/pc_kbd/ec1841.h
+++ b/src/devices/bus/pc_kbd/ec1841.h
@@ -6,13 +6,13 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PC_KBD_EC1841_H
+#define MAME_BUS_PC_KBD_EC1841_H
-#ifndef __PC_KBD_EC_1841__
-#define __PC_KBD_EC_1841__
+#pragma once
-#include "cpu/mcs48/mcs48.h"
#include "pc_kbdc.h"
+#include "cpu/mcs48/mcs48.h"
@@ -22,8 +22,7 @@
// ======================> ec_1841_keyboard_device
-class ec_1841_keyboard_device : public device_t,
- public device_pc_kbd_interface
+class ec_1841_keyboard_device : public device_t, public device_pc_kbd_interface
{
public:
// construction/destruction
@@ -61,6 +60,6 @@ private:
// device type definition
-extern const device_type PC_KBD_EC_1841;
+DECLARE_DEVICE_TYPE(PC_KBD_EC_1841, ec_1841_keyboard_device)
-#endif
+#endif // MAME_BUS_PC_KBD_EC1841_H
diff --git a/src/devices/bus/pc_kbd/iskr1030.cpp b/src/devices/bus/pc_kbd/iskr1030.cpp
index 1720b08f2b8..64f0c078bbb 100644
--- a/src/devices/bus/pc_kbd/iskr1030.cpp
+++ b/src/devices/bus/pc_kbd/iskr1030.cpp
@@ -34,7 +34,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PC_KBD_ISKR_1030 = device_creator<iskr_1030_keyboard_device>;
+DEFINE_DEVICE_TYPE(PC_KBD_ISKR_1030, iskr_1030_keyboard_device, "kb_iskr1030", "Iskra-1030 Keyboard")
//-------------------------------------------------
@@ -262,7 +262,7 @@ ioport_constructor iskr_1030_keyboard_device::device_input_ports() const
//-------------------------------------------------
iskr_1030_keyboard_device::iskr_1030_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, PC_KBD_ISKR_1030, "Iskra-1030 Keyboard", tag, owner, clock, "kb_iskr1030", __FILE__),
+ : device_t(mconfig, PC_KBD_ISKR_1030, tag, owner, clock),
device_pc_kbd_interface(mconfig, *this),
m_maincpu(*this, I8048_TAG),
m_md00(*this, "MD00"),
diff --git a/src/devices/bus/pc_kbd/iskr1030.h b/src/devices/bus/pc_kbd/iskr1030.h
index eb47dcbe6dc..3dd0f670479 100644
--- a/src/devices/bus/pc_kbd/iskr1030.h
+++ b/src/devices/bus/pc_kbd/iskr1030.h
@@ -6,13 +6,13 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PC_KBD_ISKR1030_H
+#define MAME_BUS_PC_KBD_ISKR1030_H
-#ifndef __PC_KBD_ISKR_1030__
-#define __PC_KBD_ISKR_1030__
+#pragma once
-#include "cpu/mcs48/mcs48.h"
#include "pc_kbdc.h"
+#include "cpu/mcs48/mcs48.h"
#include "machine/rescap.h"
@@ -23,8 +23,7 @@
// ======================> iskr_1030_keyboard_device
-class iskr_1030_keyboard_device : public device_t,
- public device_pc_kbd_interface
+class iskr_1030_keyboard_device : public device_t, public device_pc_kbd_interface
{
public:
// construction/destruction
@@ -87,6 +86,6 @@ private:
// device type definition
-extern const device_type PC_KBD_ISKR_1030;
+DECLARE_DEVICE_TYPE(PC_KBD_ISKR_1030, iskr_1030_keyboard_device)
-#endif
+#endif // MAME_BUS_PC_KBD_ISKR1030_H
diff --git a/src/devices/bus/pc_kbd/keyboards.h b/src/devices/bus/pc_kbd/keyboards.h
index cd88f8b1096..a2a375f96ed 100644
--- a/src/devices/bus/pc_kbd/keyboards.h
+++ b/src/devices/bus/pc_kbd/keyboards.h
@@ -6,8 +6,10 @@
***************************************************************************/
-#ifndef __PC_KEYBOARDS_H__
-#define __PC_KEYBOARDS_H__
+#ifndef MAME_BUS_PC_KBD_KEYBOARDS_H
+#define MAME_BUS_PC_KBD_KEYBOARDS_H
+
+#pragma once
// PC XT protocol keyboards
@@ -28,4 +30,4 @@ SLOT_INTERFACE_EXTERN(pc_xt_keyboards);
SLOT_INTERFACE_EXTERN(pc_at_keyboards);
-#endif /* __KB_KEYBOARDS_H__ */
+#endif // MAME_BUS_PC_KBD_KEYBOARDS_H
diff --git a/src/devices/bus/pc_kbd/keytro.cpp b/src/devices/bus/pc_kbd/keytro.cpp
index 7c7d30ed53a..f7311bfec9f 100644
--- a/src/devices/bus/pc_kbd/keytro.cpp
+++ b/src/devices/bus/pc_kbd/keytro.cpp
@@ -336,8 +336,8 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PC_KBD_KEYTRONIC_PC3270 = device_creator<pc_kbd_keytronic_pc3270_device>;
-const device_type PC_KBD_KEYTRONIC_PC3270_AT = device_creator<pc_kbd_keytronic_pc3270_at_device>;
+DEFINE_DEVICE_TYPE(PC_KBD_KEYTRONIC_PC3270, pc_kbd_keytronic_pc3270_device, "keytronic_pc3270", "Keytronic PC3270")
+DEFINE_DEVICE_TYPE(PC_KBD_KEYTRONIC_PC3270_AT, pc_kbd_keytronic_pc3270_at_device, "keytronic_pc3270_at", "Keytronic PC3270 AT")
/*****************************************************************************
@@ -378,7 +378,7 @@ ROM_END
pc_kbd_keytronic_pc3270_device::pc_kbd_keytronic_pc3270_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- pc_kbd_keytronic_pc3270_device(mconfig, PC_KBD_KEYTRONIC_PC3270, "Keytronic PC3270", tag, owner, clock, "keytronic_pc3270", __FILE__)
+ pc_kbd_keytronic_pc3270_device(mconfig, PC_KBD_KEYTRONIC_PC3270, tag, owner, clock)
{
}
@@ -386,13 +386,10 @@ pc_kbd_keytronic_pc3270_device::pc_kbd_keytronic_pc3270_device(const machine_con
pc_kbd_keytronic_pc3270_device::pc_kbd_keytronic_pc3270_device(
machine_config const &mconfig,
device_type type,
- char const *name,
char const *tag,
device_t *owner,
- uint32_t clock,
- char const *shortname,
- char const *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+ uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_pc_kbd_interface(mconfig, *this),
m_cpu(*this, "kb_keytr"), m_p1(0), m_p1_data(0), m_p2(0), m_p3(0), m_last_write_addr(0)
{
@@ -400,7 +397,7 @@ pc_kbd_keytronic_pc3270_device::pc_kbd_keytronic_pc3270_device(
pc_kbd_keytronic_pc3270_at_device::pc_kbd_keytronic_pc3270_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- pc_kbd_keytronic_pc3270_device(mconfig, PC_KBD_KEYTRONIC_PC3270_AT, "Keytronic PC3270 AT", tag, owner, clock, "keytronic_pc3270_at", __FILE__)
+ pc_kbd_keytronic_pc3270_device(mconfig, PC_KBD_KEYTRONIC_PC3270_AT, tag, owner, clock)
{
}
diff --git a/src/devices/bus/pc_kbd/keytro.h b/src/devices/bus/pc_kbd/keytro.h
index 11970b71884..6043b21b110 100644
--- a/src/devices/bus/pc_kbd/keytro.h
+++ b/src/devices/bus/pc_kbd/keytro.h
@@ -9,6 +9,8 @@
#ifndef MAME_BUS_PC_KBD_KEYTRO_H
#define MAME_BUS_PC_KBD_KEYTRO_H
+#pragma once
+
#include "pc_kbdc.h"
//**************************************************************************
@@ -47,12 +49,9 @@ protected:
pc_kbd_keytronic_pc3270_device(
machine_config const &mconfig,
device_type type,
- char const *name,
char const *tag,
device_t *owner,
- uint32_t clock,
- char const *shortname,
- char const *source);
+ uint32_t clock);
// device-level overrides
virtual void device_start() override;
@@ -77,7 +76,7 @@ public:
// device type definition
-extern const device_type PC_KBD_KEYTRONIC_PC3270;
-extern const device_type PC_KBD_KEYTRONIC_PC3270_AT;
+DECLARE_DEVICE_TYPE(PC_KBD_KEYTRONIC_PC3270, pc_kbd_keytronic_pc3270_device)
+DECLARE_DEVICE_TYPE(PC_KBD_KEYTRONIC_PC3270_AT, pc_kbd_keytronic_pc3270_at_device)
#endif // MAME_BUS_PC_KBD_KEYTRO_H
diff --git a/src/devices/bus/pc_kbd/msnat.cpp b/src/devices/bus/pc_kbd/msnat.cpp
index 734ae193b9e..b191904bd06 100644
--- a/src/devices/bus/pc_kbd/msnat.cpp
+++ b/src/devices/bus/pc_kbd/msnat.cpp
@@ -194,7 +194,7 @@ INPUT_PORTS_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PC_KBD_MICROSOFT_NATURAL = device_creator<pc_kbd_microsoft_natural_device>;
+DEFINE_DEVICE_TYPE(PC_KBD_MICROSOFT_NATURAL, pc_kbd_microsoft_natural_device, "kb_ms_natural", "Microsoft Natural Keyboard")
/*****************************************************************************
ADDRESS MAPS
@@ -229,25 +229,12 @@ ROM_END
pc_kbd_microsoft_natural_device::pc_kbd_microsoft_natural_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, PC_KBD_MICROSOFT_NATURAL, "Microsoft Natural Keyboard", tag, owner, clock, "ms_natural", __FILE__)
+ : device_t(mconfig, PC_KBD_MICROSOFT_NATURAL, tag, owner, clock)
, device_pc_kbd_interface(mconfig, *this)
, m_cpu(*this, "ms_natrl_cpu")
- , m_p2_0(*this, "P2.0")
- , m_p2_1(*this, "P2.1")
- , m_p2_2(*this, "P2.2")
- , m_p2_3(*this, "P2.3")
- , m_p2_4(*this, "P2.4")
- , m_p2_5(*this, "P2.5")
- , m_p2_6(*this, "P2.6")
- , m_p2_7(*this, "P2.7")
- , m_p1_0(*this, "P1.0")
- , m_p1_1(*this, "P1.1")
- , m_p1_2(*this, "P1.2")
- , m_p1_3(*this, "P1.3")
- , m_p1_4(*this, "P1.4")
- , m_p1_5(*this, "P1.5")
- , m_p1_6(*this, "P1.6")
- , m_p1_7(*this, "P1.7"), m_p0(0), m_p1(0), m_p2(0), m_p3(0)
+ , m_p2_r(*this, "P2.%u", 0)
+ , m_p1_r(*this, "P1.%u", 0)
+ , m_p0(0), m_p1(0), m_p2(0), m_p3(0)
{
}
@@ -321,84 +308,52 @@ READ8_MEMBER( pc_kbd_microsoft_natural_device::p0_read )
logerror("%s: P0 read. P1 = %02x, P2 = %02x\n", tag(), m_p1, m_p2 );
if ( ! ( m_p2 & 0x01 ) )
- {
- data &= m_p2_0->read();
- }
+ data &= m_p2_r[0]->read();
if ( ! ( m_p2 & 0x02 ) )
- {
- data &= m_p2_1->read();
- }
+ data &= m_p2_r[1]->read();
if ( ! ( m_p2 & 0x04 ) )
- {
- data &= m_p2_2->read();
- }
+ data &= m_p2_r[2]->read();
if ( ! ( m_p2 & 0x08 ) )
- {
- data &= m_p2_3->read();
- }
+ data &= m_p2_r[3]->read();
if ( ! ( m_p2 & 0x10 ) )
- {
- data &= m_p2_4->read();
- }
+ data &= m_p2_r[4]->read();
if ( ! ( m_p2 & 0x20 ) )
- {
- data &= m_p2_5->read();
- }
+ data &= m_p2_r[5]->read();
if ( ! ( m_p2 & 0x40 ) )
- {
- data &= m_p2_6->read();
- }
+ data &= m_p2_r[6]->read();
if ( ! ( m_p2 & 0x80 ) )
- {
- data &= m_p2_7->read();
- }
+ data &= m_p2_r[7]->read();
if ( ! ( m_p1 & 0x01 ) )
- {
- data &= m_p1_0->read();
- }
+ data &= m_p1_r[0]->read();
if ( ! ( m_p1 & 0x02 ) )
- {
- data &= m_p1_1->read();
- }
+ data &= m_p1_r[1]->read();
if ( ! ( m_p1 & 0x04 ) )
- {
- data &= m_p1_2->read();
- }
+ data &= m_p1_r[2]->read();
if ( ! ( m_p1 & 0x08 ) )
- {
- data &= m_p1_3->read();
- }
+ data &= m_p1_r[3]->read();
if ( ! ( m_p1 & 0x10 ) )
- {
- data &= m_p1_4->read();
- }
+ data &= m_p1_r[4]->read();
if ( ! ( m_p1 & 0x20 ) )
- {
- data &= m_p1_5->read();
- }
+ data &= m_p1_r[5]->read();
if ( ! ( m_p1 & 0x40 ) )
- {
- data &= m_p1_6->read();
- }
+ data &= m_p1_r[6]->read();
if ( ! ( m_p1 & 0x80 ) )
- {
- data &= m_p1_7->read();
- }
+ data &= m_p1_r[7]->read();
return data;
}
diff --git a/src/devices/bus/pc_kbd/msnat.h b/src/devices/bus/pc_kbd/msnat.h
index c3c8eaa5c99..0b0f240b646 100644
--- a/src/devices/bus/pc_kbd/msnat.h
+++ b/src/devices/bus/pc_kbd/msnat.h
@@ -6,8 +6,10 @@
***************************************************************************/
-#ifndef __KB_MSNAT_H__
-#define __KB_MSNAT_H__
+#ifndef MAME_BUS_PC_KB_MSNAT_H
+#define MAME_BUS_PC_KB_MSNAT_H
+
+#pragma once
#include "pc_kbdc.h"
@@ -22,8 +24,6 @@ public:
// construction/destruction
pc_kbd_microsoft_natural_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- required_device<cpu_device> m_cpu;
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
@@ -40,27 +40,15 @@ public:
DECLARE_WRITE8_MEMBER(p3_write);
protected:
- required_ioport m_p2_0;
- required_ioport m_p2_1;
- required_ioport m_p2_2;
- required_ioport m_p2_3;
- required_ioport m_p2_4;
- required_ioport m_p2_5;
- required_ioport m_p2_6;
- required_ioport m_p2_7;
- required_ioport m_p1_0;
- required_ioport m_p1_1;
- required_ioport m_p1_2;
- required_ioport m_p1_3;
- required_ioport m_p1_4;
- required_ioport m_p1_5;
- required_ioport m_p1_6;
- required_ioport m_p1_7;
-
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ required_device<cpu_device> m_cpu;
+
+ required_ioport_array<8> m_p2_r;
+ required_ioport_array<8> m_p1_r;
+
uint8_t m_p0;
uint8_t m_p1;
uint8_t m_p2;
@@ -71,4 +59,4 @@ protected:
// device type definition
extern const device_type PC_KBD_MICROSOFT_NATURAL;
-#endif /* __KB_MSNAT_H__ */
+#endif // MAME_BUS_PC_KB_MSNAT_H
diff --git a/src/devices/bus/pc_kbd/pc83.cpp b/src/devices/bus/pc_kbd/pc83.cpp
index 33f59c9eb16..89dccb844a0 100644
--- a/src/devices/bus/pc_kbd/pc83.cpp
+++ b/src/devices/bus/pc_kbd/pc83.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PC_KBD_IBM_PC_83 = device_creator<ibm_pc_83_keyboard_device>;
+DEFINE_DEVICE_TYPE(PC_KBD_IBM_PC_83, ibm_pc_83_keyboard_device, "kb_pc83", "IBM PC Keyboard")
//-------------------------------------------------
@@ -241,7 +241,7 @@ ioport_constructor ibm_pc_83_keyboard_device::device_input_ports() const
//-------------------------------------------------
ibm_pc_83_keyboard_device::ibm_pc_83_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PC_KBD_IBM_PC_83, "IBM PC Keyboard", tag, owner, clock, "kb_pc83", __FILE__),
+ device_t(mconfig, PC_KBD_IBM_PC_83, tag, owner, clock),
device_pc_kbd_interface(mconfig, *this),
m_maincpu(*this, I8048_TAG),
m_dr(*this, "DR%02u", 0),
diff --git a/src/devices/bus/pc_kbd/pc83.h b/src/devices/bus/pc_kbd/pc83.h
index 9d1fc24c47f..a9718fc40de 100644
--- a/src/devices/bus/pc_kbd/pc83.h
+++ b/src/devices/bus/pc_kbd/pc83.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PC_KBD_PC83_H
+#define MAME_BUS_PC_KBD_PC83_H
-#ifndef __PC_KBD_IBM_PC_83__
-#define __PC_KBD_IBM_PC_83__
+#pragma once
#include "cpu/mcs48/mcs48.h"
#include "pc_kbdc.h"
@@ -58,8 +58,7 @@ private:
// device type definition
-extern const device_type PC_KBD_IBM_PC_83;
-
+DECLARE_DEVICE_TYPE(PC_KBD_IBM_PC_83, ibm_pc_83_keyboard_device)
-#endif
+#endif // MAME_BUS_PC_KBD_PC83_H
diff --git a/src/devices/bus/pc_kbd/pc_kbdc.cpp b/src/devices/bus/pc_kbd/pc_kbdc.cpp
index fd87cca47fc..7fc1ed0419a 100644
--- a/src/devices/bus/pc_kbd/pc_kbdc.cpp
+++ b/src/devices/bus/pc_kbd/pc_kbdc.cpp
@@ -21,7 +21,7 @@ The following basic program can be useful for identifying scancodes:
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PC_KBDC_SLOT = device_creator<pc_kbdc_slot_device>;
+DEFINE_DEVICE_TYPE(PC_KBDC_SLOT, pc_kbdc_slot_device, "pc_kbdc_slot", "PC keyboard port")
//**************************************************************************
// LIVE DEVICE
@@ -31,8 +31,8 @@ const device_type PC_KBDC_SLOT = device_creator<pc_kbdc_slot_device>;
// pc_kbdc_slot_device - constructor
//-------------------------------------------------
pc_kbdc_slot_device::pc_kbdc_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PC_KBDC_SLOT, "PC_KBDC_SLOT", tag, owner, clock, "pc_kbdc_slot", __FILE__),
- device_slot_interface(mconfig, *this),
+ device_t(mconfig, PC_KBDC_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
m_kbdc_device(nullptr)
{
}
@@ -63,21 +63,21 @@ void pc_kbdc_slot_device::device_start()
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PC_KBDC = device_creator<pc_kbdc_device>;
+DEFINE_DEVICE_TYPE(PC_KBDC, pc_kbdc_device, "pc_kbdc", "PC KBDC")
//-------------------------------------------------
// pc_kbdc_device - constructor
//-------------------------------------------------
pc_kbdc_device::pc_kbdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PC_KBDC, "PC_KBDC", tag, owner, clock, "pc_kbdc", __FILE__),
- m_out_clock_cb(*this),
- m_out_data_cb(*this),
- m_clock_state(-1),
- m_data_state(-1), m_mb_clock_state(0), m_mb_data_state(0),
- m_kb_clock_state(1),
- m_kb_data_state(1),
- m_keyboard( nullptr )
+ device_t(mconfig, PC_KBDC, tag, owner, clock),
+ m_out_clock_cb(*this),
+ m_out_data_cb(*this),
+ m_clock_state(-1),
+ m_data_state(-1), m_mb_clock_state(0), m_mb_data_state(0),
+ m_kb_clock_state(1),
+ m_kb_data_state(1),
+ m_keyboard( nullptr )
{
}
@@ -193,9 +193,9 @@ WRITE_LINE_MEMBER( pc_kbdc_device::data_write_from_kb )
//-------------------------------------------------
device_pc_kbd_interface::device_pc_kbd_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_pc_kbdc(nullptr),
- m_pc_kbdc_tag(nullptr), m_next(nullptr)
+ : device_slot_card_interface(mconfig, device)
+ , m_pc_kbdc(nullptr)
+ , m_pc_kbdc_tag(nullptr)
{
}
diff --git a/src/devices/bus/pc_kbd/pc_kbdc.h b/src/devices/bus/pc_kbd/pc_kbdc.h
index de8cadad147..5b72ef6cd64 100644
--- a/src/devices/bus/pc_kbd/pc_kbdc.h
+++ b/src/devices/bus/pc_kbd/pc_kbdc.h
@@ -10,10 +10,10 @@ set the data line and then set the clock line.
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_PC_KBD_PC_KBDC_H
+#define MAME_BUS_PC_KBD_PC_KBDC_H
-#ifndef __PC_KBDC_H__
-#define __PC_KBDC_H__
+#pragma once
//**************************************************************************
@@ -48,6 +48,7 @@ public:
// inline configuration
static void static_set_pc_kbdc_slot(device_t &device, device_t *kbdc_device);
+
protected:
// configuration
device_t *m_kbdc_device;
@@ -55,19 +56,19 @@ protected:
// device type definition
-extern const device_type PC_KBDC_SLOT;
+DECLARE_DEVICE_TYPE(PC_KBDC_SLOT, pc_kbdc_slot_device)
class device_pc_kbd_interface;
-class pc_kbdc_device : public device_t
+class pc_kbdc_device : public device_t
{
public:
// construction/destruction
pc_kbdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_out_clock_callback(device_t &device, _Object object) { return downcast<pc_kbdc_device &>(device).m_out_clock_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_data_callback(device_t &device, _Object object) { return downcast<pc_kbdc_device &>(device).m_out_data_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_clock_callback(device_t &device, Object &&cb) { return downcast<pc_kbdc_device &>(device).m_out_clock_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_data_callback(device_t &device, Object &&cb) { return downcast<pc_kbdc_device &>(device).m_out_data_cb.set_callback(std::forward<Object>(cb)); }
void set_keyboard(device_pc_kbd_interface *keyboard);
@@ -103,7 +104,7 @@ protected:
// device type definition
-extern const device_type PC_KBDC;
+DECLARE_DEVICE_TYPE(PC_KBDC, pc_kbdc_device)
// ======================> device_pc_pbd_interface
@@ -116,8 +117,6 @@ public:
device_pc_kbd_interface(const machine_config &mconfig, device_t &device);
virtual ~device_pc_kbd_interface();
- device_pc_kbd_interface *next() const { return m_next; }
-
void set_pc_kbdc_device();
int clock_signal() { return m_pc_kbdc ? m_pc_kbdc->clock_signal() : 1; }
@@ -132,11 +131,11 @@ public:
// inline configuration
static void static_set_pc_kbdc(device_t &device, device_t *kbdc_device);
+protected:
pc_kbdc_device *m_pc_kbdc;
const char *m_pc_kbdc_tag;
- device_pc_kbd_interface *m_next;
};
-#endif /* __PC_KBDC_H__ */
+#endif // MAME_BUS_PC_KBD_PC_KBDC_H
diff --git a/src/devices/bus/pc_kbd/pcat84.cpp b/src/devices/bus/pc_kbd/pcat84.cpp
index 0456d7c31fb..4f00bc984b5 100644
--- a/src/devices/bus/pc_kbd/pcat84.cpp
+++ b/src/devices/bus/pc_kbd/pcat84.cpp
@@ -41,8 +41,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PC_KBD_IBM_PC_AT_84 = device_creator<ibm_pc_at_84_keyboard_device>;
-const device_type PC_KBD_IBM_3270PC_122 = device_creator<ibm_3270pc_122_keyboard_device>;
+DEFINE_DEVICE_TYPE(PC_KBD_IBM_PC_AT_84, ibm_pc_at_84_keyboard_device, "kb_pcat84", "IBM PC/AT Keyboard")
+DEFINE_DEVICE_TYPE(PC_KBD_IBM_3270PC_122, ibm_3270pc_122_keyboard_device, "kb_3270pc", "IBM 3270PC Keyboard")
//-------------------------------------------------
@@ -347,8 +347,8 @@ ioport_constructor ibm_3270pc_122_keyboard_device::device_input_ports() const
// ibm_pc_at_84_keyboard_device - constructor
//-------------------------------------------------
-ibm_pc_at_84_keyboard_device::ibm_pc_at_84_keyboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+ibm_pc_at_84_keyboard_device::ibm_pc_at_84_keyboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_pc_kbd_interface(mconfig, *this),
m_maincpu(*this, I8048_TAG),
m_dr(*this, "DR%02u", 0),
@@ -362,10 +362,14 @@ ibm_pc_at_84_keyboard_device::ibm_pc_at_84_keyboard_device(const machine_config
}
ibm_pc_at_84_keyboard_device::ibm_pc_at_84_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ibm_pc_at_84_keyboard_device(mconfig, PC_KBD_IBM_PC_AT_84, "IBM PC/AT Keyboard", tag, owner, clock, "kb_pcat84", __FILE__) { }
+ ibm_pc_at_84_keyboard_device(mconfig, PC_KBD_IBM_PC_AT_84, tag, owner, clock)
+{
+}
ibm_3270pc_122_keyboard_device::ibm_3270pc_122_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- ibm_pc_at_84_keyboard_device(mconfig, PC_KBD_IBM_3270PC_122, "IBM 3270PC Keyboard", tag, owner, clock, "kb_3270pc", __FILE__) { }
+ ibm_pc_at_84_keyboard_device(mconfig, PC_KBD_IBM_3270PC_122, tag, owner, clock)
+{
+}
//-------------------------------------------------
diff --git a/src/devices/bus/pc_kbd/pcat84.h b/src/devices/bus/pc_kbd/pcat84.h
index 98b3bb628f1..e15d5624af1 100644
--- a/src/devices/bus/pc_kbd/pcat84.h
+++ b/src/devices/bus/pc_kbd/pcat84.h
@@ -6,10 +6,10 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PC_KBD_PCAT84_H
+#define MAME_BUS_PC_KBD_PCAT84_H
-#ifndef __PC_KBD_IBM_PC_AT_84__
-#define __PC_KBD_IBM_PC_AT_84__
+#pragma once
#include "cpu/mcs48/mcs48.h"
#include "pc_kbdc.h"
@@ -28,7 +28,6 @@ class ibm_pc_at_84_keyboard_device : public device_t,
{
public:
// construction/destruction
- ibm_pc_at_84_keyboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
ibm_pc_at_84_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -45,6 +44,8 @@ public:
DECLARE_READ_LINE_MEMBER( t1_r );
protected:
+ ibm_pc_at_84_keyboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -90,9 +91,7 @@ public:
// device type definition
-extern const device_type PC_KBD_IBM_PC_AT_84;
-extern const device_type PC_KBD_IBM_3270PC_122;
-
-
+DECLARE_DEVICE_TYPE(PC_KBD_IBM_PC_AT_84, ibm_pc_at_84_keyboard_device)
+DECLARE_DEVICE_TYPE(PC_KBD_IBM_3270PC_122, ibm_3270pc_122_keyboard_device)
-#endif
+#endif // MAME_BUS_PC_KBD_PCAT84_H
diff --git a/src/devices/bus/pc_kbd/pcxt83.cpp b/src/devices/bus/pc_kbd/pcxt83.cpp
index 6d8cb97a9fb..e76b5054904 100644
--- a/src/devices/bus/pc_kbd/pcxt83.cpp
+++ b/src/devices/bus/pc_kbd/pcxt83.cpp
@@ -33,7 +33,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PC_KBD_IBM_PC_XT_83 = device_creator<ibm_pc_xt_83_keyboard_device>;
+DEFINE_DEVICE_TYPE(PC_KBD_IBM_PC_XT_83, ibm_pc_xt_83_keyboard_device, "kb_pcxt83", "IBM PC/XT Keyboard")
//-------------------------------------------------
@@ -241,7 +241,7 @@ ioport_constructor ibm_pc_xt_83_keyboard_device::device_input_ports() const
//-------------------------------------------------
ibm_pc_xt_83_keyboard_device::ibm_pc_xt_83_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, PC_KBD_IBM_PC_XT_83, "IBM PC/XT Keyboard", tag, owner, clock, "kb_pcxt83", __FILE__),
+ : device_t(mconfig, PC_KBD_IBM_PC_XT_83, tag, owner, clock),
device_pc_kbd_interface(mconfig, *this),
m_maincpu(*this, I8048_TAG),
m_md(*this, "MD%02u", 0),
diff --git a/src/devices/bus/pc_kbd/pcxt83.h b/src/devices/bus/pc_kbd/pcxt83.h
index 034b0499e26..932d766106e 100644
--- a/src/devices/bus/pc_kbd/pcxt83.h
+++ b/src/devices/bus/pc_kbd/pcxt83.h
@@ -6,13 +6,13 @@
*********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PC_KBD_PCXT83_H
+#define MAME_BUS_PC_KBD_PCXT83_H
-#ifndef __PC_KBD_IBM_PC_XT_83__
-#define __PC_KBD_IBM_PC_XT_83__
+#pragma once
-#include "cpu/mcs48/mcs48.h"
#include "pc_kbdc.h"
+#include "cpu/mcs48/mcs48.h"
#include "machine/rescap.h"
@@ -23,8 +23,7 @@
// ======================> ibm_pc_xt_83_keyboard_device
-class ibm_pc_xt_83_keyboard_device : public device_t,
- public device_pc_kbd_interface
+class ibm_pc_xt_83_keyboard_device : public device_t, public device_pc_kbd_interface
{
public:
// construction/destruction
@@ -64,8 +63,7 @@ private:
// device type definition
-extern const device_type PC_KBD_IBM_PC_XT_83;
-
+DECLARE_DEVICE_TYPE(PC_KBD_IBM_PC_XT_83, ibm_pc_xt_83_keyboard_device)
-#endif
+#endif // MAME_BUS_PC_KBD_PCXT83_H
diff --git a/src/devices/bus/pce/pce_rom.cpp b/src/devices/bus/pce/pce_rom.cpp
index 1608b1cbb0e..ac837917a34 100644
--- a/src/devices/bus/pce/pce_rom.cpp
+++ b/src/devices/bus/pce/pce_rom.cpp
@@ -17,37 +17,36 @@
// pce_rom_device - constructor
//-------------------------------------------------
-const device_type PCE_ROM_STD = device_creator<pce_rom_device>;
-const device_type PCE_ROM_CDSYS3 = device_creator<pce_cdsys3_device>;
-const device_type PCE_ROM_POPULOUS = device_creator<pce_populous_device>;
-const device_type PCE_ROM_SF2 = device_creator<pce_sf2_device>;
+DEFINE_DEVICE_TYPE(PCE_ROM_STD, pce_rom_device, "pce_rom", "PCE/TG16 Carts")
+DEFINE_DEVICE_TYPE(PCE_ROM_CDSYS3, pce_cdsys3_device, "pce_cdsys3", "PCE/TG16 CD-System Cart v3.00")
+DEFINE_DEVICE_TYPE(PCE_ROM_POPULOUS, pce_populous_device, "pce_populous", "PCE Populous Cart")
+DEFINE_DEVICE_TYPE(PCE_ROM_SF2, pce_sf2_device, "pce_sf2", "PCE Street Fighters 2 Cart")
-pce_rom_device::pce_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_pce_cart_interface( mconfig, *this )
+pce_rom_device::pce_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_pce_cart_interface( mconfig, *this )
{
}
pce_rom_device::pce_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, PCE_ROM_STD, "PCE & TG16 Carts", tag, owner, clock, "pce_rom", __FILE__),
- device_pce_cart_interface( mconfig, *this )
+ : pce_rom_device(mconfig, PCE_ROM_STD, tag, owner, clock)
{
}
pce_cdsys3_device::pce_cdsys3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : pce_rom_device(mconfig, PCE_ROM_CDSYS3, "PCE & TG16 CD-System Cart v3.00", tag, owner, clock, "pce_cdsys3", __FILE__)
+ : pce_rom_device(mconfig, PCE_ROM_CDSYS3, tag, owner, clock)
{
}
pce_populous_device::pce_populous_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : pce_rom_device(mconfig, PCE_ROM_POPULOUS, "PCE Populous Cart", tag, owner, clock, "pce_populous", __FILE__)
+ : pce_rom_device(mconfig, PCE_ROM_POPULOUS, tag, owner, clock)
{
}
pce_sf2_device::pce_sf2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : pce_rom_device(mconfig, PCE_ROM_SF2, "PCE Street Fighters 2 Cart", tag, owner, clock, "pce_sf2", __FILE__), m_bank_base(0)
- {
+ : pce_rom_device(mconfig, PCE_ROM_SF2, tag, owner, clock), m_bank_base(0)
+{
}
diff --git a/src/devices/bus/pce/pce_rom.h b/src/devices/bus/pce/pce_rom.h
index 9dd69e7fd6b..addbfc1fa3e 100644
--- a/src/devices/bus/pce/pce_rom.h
+++ b/src/devices/bus/pce/pce_rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __PCE_ROM_H
-#define __PCE_ROM_H
+#ifndef MAME_BUS_PCE_PCE_ROM_H
+#define MAME_BUS_PCE_PCE_ROM_H
+
+#pragma once
#include "pce_slot.h"
@@ -13,15 +15,17 @@ class pce_rom_device : public device_t,
{
public:
// construction/destruction
- pce_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
pce_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
- virtual void device_reset() override {}
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
+
+protected:
+ pce_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
};
// ======================> pce_cdsys3_device
@@ -60,26 +64,24 @@ public:
// construction/destruction
pce_sf2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_bank_base;
};
-
// device type definition
-extern const device_type PCE_ROM_STD;
-extern const device_type PCE_ROM_CDSYS3;
-extern const device_type PCE_ROM_POPULOUS;
-extern const device_type PCE_ROM_SF2;
-
-
+DECLARE_DEVICE_TYPE(PCE_ROM_STD, pce_rom_device)
+DECLARE_DEVICE_TYPE(PCE_ROM_CDSYS3, pce_cdsys3_device)
+DECLARE_DEVICE_TYPE(PCE_ROM_POPULOUS, pce_populous_device)
+DECLARE_DEVICE_TYPE(PCE_ROM_SF2, pce_sf2_device)
-#endif
+#endif // MAME_BUS_PCE_PCE_ROM_H
diff --git a/src/devices/bus/pce/pce_slot.cpp b/src/devices/bus/pce/pce_slot.cpp
index fb9676a22fc..973d2c58759 100644
--- a/src/devices/bus/pce/pce_slot.cpp
+++ b/src/devices/bus/pce/pce_slot.cpp
@@ -19,7 +19,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PCE_CART_SLOT = device_creator<pce_cart_slot_device>;
+DEFINE_DEVICE_TYPE(PCE_CART_SLOT, pce_cart_slot_device, "pce_cart_slot", "PCE/TG16 Cartridge Slot")
//**************************************************************************
// PCE cartridges Interface
@@ -136,11 +136,11 @@ void device_pce_cart_interface::rom_map_setup(uint32_t size)
// pce_cart_slot_device - constructor
//-------------------------------------------------
pce_cart_slot_device::pce_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PCE_CART_SLOT, "PCE & TG16 Cartridge Slot", tag, owner, clock, "pce_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_interface("pce_cart"),
- m_type(PCE_STD), m_cart(nullptr)
+ device_t(mconfig, PCE_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_interface("pce_cart"),
+ m_type(PCE_STD), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/pce/pce_slot.h b/src/devices/bus/pce/pce_slot.h
index 3aa6b3593dd..77d5a82d0b3 100644
--- a/src/devices/bus/pce/pce_slot.h
+++ b/src/devices/bus/pce/pce_slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __PCE_SLOT_H
-#define __PCE_SLOT_H
+#ifndef MAME_BUS_PCE_PCE_SLOT_H
+#define MAME_BUS_PCE_PCE_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -28,7 +30,6 @@ class device_pce_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_pce_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_pce_cart_interface();
// reading and writing
@@ -42,13 +43,16 @@ public:
uint32_t get_rom_size() { return m_rom_size; }
uint32_t get_ram_size() { return m_ram.size(); }
+ void rom_map_setup(uint32_t size);
+
+protected:
+ device_pce_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
std::vector<uint8_t> m_ram;
- void rom_map_setup(uint32_t size);
-
uint8_t rom_bank_map[8]; // 128K chunks of rom
};
@@ -95,18 +99,16 @@ public:
virtual DECLARE_READ8_MEMBER(read_cart);
virtual DECLARE_WRITE8_MEMBER(write_cart);
-
protected:
-
const char *m_interface;
int m_type;
- device_pce_cart_interface* m_cart;
+ device_pce_cart_interface *m_cart;
};
// device type definition
-extern const device_type PCE_CART_SLOT;
+DECLARE_DEVICE_TYPE(PCE_CART_SLOT, pce_cart_slot_device)
/***************************************************************************
@@ -126,4 +128,4 @@ extern const device_type PCE_CART_SLOT;
static_cast<pce_cart_slot_device *>(device)->set_intf("tg16_cart");
-#endif
+#endif // MAME_BUS_PCE_PCE_SLOT_H
diff --git a/src/devices/bus/pet/2joysnd.cpp b/src/devices/bus/pet/2joysnd.cpp
index 8c1bc4bfbda..49dae0378b6 100644
--- a/src/devices/bus/pet/2joysnd.cpp
+++ b/src/devices/bus/pet/2joysnd.cpp
@@ -57,7 +57,7 @@ Connections
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PET_USERPORT_JOYSTICK_AND_SOUND_DEVICE = device_creator<pet_userport_joystick_and_sound_device>;
+DEFINE_DEVICE_TYPE(PET_USERPORT_JOYSTICK_AND_SOUND_DEVICE, pet_userport_joystick_and_sound_device, "2joysnd", "PET Dual Joysticks and Sound")
MACHINE_CONFIG_FRAGMENT( 2joysnd )
MCFG_SPEAKER_STANDARD_MONO("speaker")
@@ -114,7 +114,7 @@ machine_config_constructor pet_userport_joystick_and_sound_device::device_mconfi
//-------------------------------------------------
pet_userport_joystick_and_sound_device::pet_userport_joystick_and_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PET_USERPORT_JOYSTICK_AND_SOUND_DEVICE, "Dual Joysticks and Sound", tag, owner, clock, "2joysnd", __FILE__),
+ device_t(mconfig, PET_USERPORT_JOYSTICK_AND_SOUND_DEVICE, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this),
m_dac(*this, "dac"),
m_up1(1),
diff --git a/src/devices/bus/pet/2joysnd.h b/src/devices/bus/pet/2joysnd.h
index 715d426a1b2..0f4d5a6e2f1 100644
--- a/src/devices/bus/pet/2joysnd.h
+++ b/src/devices/bus/pet/2joysnd.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_2JOYSND_H
+#define MAME_BUS_PET_2JOYSND_H
-#ifndef __2JOYSND__
-#define __2JOYSND__
+#pragma once
#include "user.h"
@@ -22,8 +22,7 @@
// ======================> pet_userport_joystick_and_sound_device
-class pet_userport_joystick_and_sound_device : public device_t,
- public device_pet_user_port_interface
+class pet_userport_joystick_and_sound_device : public device_t, public device_pet_user_port_interface
{
public:
// construction/destruction
@@ -36,8 +35,6 @@ public:
virtual DECLARE_WRITE_LINE_MEMBER( input_m ) override;
- required_device<dac_bit_interface> m_dac;
-
// device_pet_user_port_interface overrides
WRITE_LINE_MEMBER( write_up1 ) { m_up1 = state; update_port1(); }
WRITE_LINE_MEMBER( write_down1 ) { m_down1 = state; update_port1(); }
@@ -46,26 +43,27 @@ public:
WRITE_LINE_MEMBER( write_down2 ) { m_down2 = state; update_port2(); }
WRITE_LINE_MEMBER( write_fire2 ) { m_fire2 = state; update_port2(); }
-
-
protected:
// device-level overrides
virtual void device_start() override;
void update_port1();
void update_port2();
+
+ required_device<dac_bit_interface> m_dac;
+
int m_up1;
int m_down1;
int m_fire1;
int m_up2;
int m_down2;
int m_fire2;
-
};
// device type definition
extern const device_type PET_USERPORT_JOYSTICK_AND_SOUND_DEVICE;
+DECLARE_DEVICE_TYPE(PET_USERPORT_JOYSTICK_AND_SOUND_DEVICE, pet_userport_joystick_and_sound_device)
-#endif
+#endif // MAME_BUS_PET_2JOYSND_H
diff --git a/src/devices/bus/pet/64k.cpp b/src/devices/bus/pet/64k.cpp
index 1c1a79b1bf2..34249220f3e 100644
--- a/src/devices/bus/pet/64k.cpp
+++ b/src/devices/bus/pet/64k.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PET_64K = device_creator<pet_64k_expansion_device>;
+DEFINE_DEVICE_TYPE(PET_64K, pet_64k_expansion_device, "pet_64k", "PET 64KB RAM")
@@ -77,7 +77,7 @@ inline void pet_64k_expansion_device::write_ram(offs_t offset, uint8_t data)
//-------------------------------------------------
pet_64k_expansion_device::pet_64k_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PET_64K, "PET 64KB RAM", tag, owner, clock, "pet_64k", __FILE__),
+ device_t(mconfig, PET_64K, tag, owner, clock),
device_pet_expansion_card_interface(mconfig, *this),
m_ram(*this, "ram"),
m_ctrl(0)
diff --git a/src/devices/bus/pet/64k.h b/src/devices/bus/pet/64k.h
index ddb42f02d5c..82f50cab77a 100644
--- a/src/devices/bus/pet/64k.h
+++ b/src/devices/bus/pet/64k.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_64K_H
+#define MAME_BUS_PET_64K_H
-#ifndef __PET_64K__
-#define __PET_64K__
+#pragma once
#include "exp.h"
@@ -21,8 +21,7 @@
// ======================> pet_64k_expansion_device
-class pet_64k_expansion_device : public device_t,
- public device_pet_expansion_card_interface
+class pet_64k_expansion_device : public device_t, public device_pet_expansion_card_interface
{
public:
// construction/destruction
@@ -49,7 +48,6 @@ private:
// device type definition
-extern const device_type PET_64K;
-
+DECLARE_DEVICE_TYPE(PET_64K, pet_64k_expansion_device)
-#endif
+#endif // MAME_BUS_PET_64K_H
diff --git a/src/devices/bus/pet/c2n.cpp b/src/devices/bus/pet/c2n.cpp
index 6276aab8fd4..5c03217c7ac 100644
--- a/src/devices/bus/pet/c2n.cpp
+++ b/src/devices/bus/pet/c2n.cpp
@@ -15,9 +15,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C2N = device_creator<c2n_device>;
-const device_type C1530 = device_creator<c1530_device>;
-const device_type C1531 = device_creator<c1531_device>;
+DEFINE_DEVICE_TYPE(C2N, c2n_device, "c2n", "Commodore C2N Datassette")
+DEFINE_DEVICE_TYPE(C1530, c1530_device, "c1530", "Commodore 1530 Datassette")
+DEFINE_DEVICE_TYPE(C1531, c1531_device, "c1531", "Commodore 1531 Datassette")
//-------------------------------------------------
@@ -52,20 +52,17 @@ machine_config_constructor c2n_device::device_mconfig_additions() const
// c2n_device - constructor
//-------------------------------------------------
-c2n_device::c2n_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_pet_datassette_port_interface(mconfig, *this),
- m_cassette(*this, "cassette"),
- m_motor(false),
- m_read_timer(nullptr)
+c2n_device::c2n_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_pet_datassette_port_interface(mconfig, *this)
+ , m_cassette(*this, "cassette")
+ , m_motor(false)
+ , m_read_timer(nullptr)
{
}
c2n_device::c2n_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, C2N, "C2N Datassette", tag, owner, clock, "c2n", __FILE__),
- device_pet_datassette_port_interface(mconfig, *this),
- m_cassette(*this, "cassette"),
- m_motor(false), m_read_timer(nullptr)
+ : c2n_device(mconfig, C2N, tag, owner, clock)
{
}
@@ -75,7 +72,9 @@ c2n_device::c2n_device(const machine_config &mconfig, const char *tag, device_t
//-------------------------------------------------
c1530_device::c1530_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c2n_device(mconfig, C1530, "C1530 Datassette", tag, owner, clock, "c1530", __FILE__) { }
+ : c2n_device(mconfig, C1530, tag, owner, clock)
+{
+}
//-------------------------------------------------
@@ -83,7 +82,9 @@ c1530_device::c1530_device(const machine_config &mconfig, const char *tag, devic
//-------------------------------------------------
c1531_device::c1531_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : c2n_device(mconfig, C1531, "C1531 Datassette", tag, owner, clock, "c1531", __FILE__) { }
+ : c2n_device(mconfig, C1531, tag, owner, clock)
+{
+}
//-------------------------------------------------
diff --git a/src/devices/bus/pet/c2n.h b/src/devices/bus/pet/c2n.h
index 4260ed8d64c..9ba47475815 100644
--- a/src/devices/bus/pet/c2n.h
+++ b/src/devices/bus/pet/c2n.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_C2N_H
+#define MAME_BUS_PET_C2N_H
-#ifndef __C2N__
-#define __C2N__
+#pragma once
#include "cass.h"
#include "formats/cbm_tap.h"
@@ -28,13 +28,14 @@ class c2n_device : public device_t,
{
public:
// construction/destruction
- c2n_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
c2n_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
+ c2n_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -76,10 +77,8 @@ public:
// device type definition
-extern const device_type C2N;
-extern const device_type C1530;
-extern const device_type C1531;
-
-
+DECLARE_DEVICE_TYPE(C2N, c2n_device)
+DECLARE_DEVICE_TYPE(C1530, c1530_device)
+DECLARE_DEVICE_TYPE(C1531, c1531_device)
-#endif
+#endif // MAME_BUS_PET_C2N_H
diff --git a/src/devices/bus/pet/cass.cpp b/src/devices/bus/pet/cass.cpp
index fc9f5ded21c..67e600d71a7 100644
--- a/src/devices/bus/pet/cass.cpp
+++ b/src/devices/bus/pet/cass.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PET_DATASSETTE_PORT = device_creator<pet_datassette_port_device>;
+DEFINE_DEVICE_TYPE(PET_DATASSETTE_PORT, pet_datassette_port_device, "pet_datassette_port", "Commodore Datasette Port")
@@ -53,7 +53,7 @@ device_pet_datassette_port_interface::~device_pet_datassette_port_interface()
//-------------------------------------------------
pet_datassette_port_device::pet_datassette_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PET_DATASSETTE_PORT, "Datassette Port", tag, owner, clock, "pet_datassette_port", __FILE__),
+ device_t(mconfig, PET_DATASSETTE_PORT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_read_handler(*this), m_cart(nullptr)
{
@@ -90,6 +90,10 @@ WRITE_LINE_MEMBER( pet_datassette_port_device::motor_w ) { if (m_cart != nullptr
WRITE_LINE_MEMBER( pet_datassette_port_device::read_w ) { m_read_handler(state); }
+// slot devices
+#include "c2n.h"
+#include "diag264_lb_tape.h"
+
//-------------------------------------------------
// SLOT_INTERFACE( cbm_datassette_devices )
//-------------------------------------------------
diff --git a/src/devices/bus/pet/cass.h b/src/devices/bus/pet/cass.h
index 78eb8fd7332..d5c40c37181 100644
--- a/src/devices/bus/pet/cass.h
+++ b/src/devices/bus/pet/cass.h
@@ -15,10 +15,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_CASS_H
+#define MAME_BUS_PET_CASS_H
-#ifndef __PET_DATASSETTE_PORT__
-#define __PET_DATASSETTE_PORT__
+#pragma once
@@ -51,8 +51,7 @@
class device_pet_datassette_port_interface;
-class pet_datassette_port_device : public device_t,
- public device_slot_interface
+class pet_datassette_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
@@ -60,7 +59,7 @@ public:
virtual ~pet_datassette_port_device();
// static configuration helpers
- template<class _Object> static devcb_base &set_read_handler(device_t &device, _Object object) { return downcast<pet_datassette_port_device &>(device).m_read_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_read_handler(device_t &device, Object &&cb) { return downcast<pet_datassette_port_device &>(device).m_read_handler.set_callback(std::forward<Object>(cb)); }
// computer interface
DECLARE_READ_LINE_MEMBER( read );
@@ -88,29 +87,24 @@ class device_pet_datassette_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_pet_datassette_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_pet_datassette_port_interface();
- virtual int datassette_read() { return 1; };
- virtual void datassette_write(int state) { };
- virtual int datassette_sense() { return 1; };
- virtual void datassette_motor(int state) { };
+ virtual int datassette_read() { return 1; }
+ virtual void datassette_write(int state) { }
+ virtual int datassette_sense() { return 1; }
+ virtual void datassette_motor(int state) { }
protected:
+ device_pet_datassette_port_interface(const machine_config &mconfig, device_t &device);
+
pet_datassette_port_device *m_slot;
};
// device type definition
-extern const device_type PET_DATASSETTE_PORT;
-
+DECLARE_DEVICE_TYPE(PET_DATASSETTE_PORT, pet_datassette_port_device)
-// slot devices
-#include "c2n.h"
-#include "diag264_lb_tape.h"
SLOT_INTERFACE_EXTERN( cbm_datassette_devices );
-
-
-#endif
+#endif // MAME_BUS_PET_CASS_H
diff --git a/src/devices/bus/pet/cb2snd.cpp b/src/devices/bus/pet/cb2snd.cpp
index 5dc3bd1823f..8822af3d086 100644
--- a/src/devices/bus/pet/cb2snd.cpp
+++ b/src/devices/bus/pet/cb2snd.cpp
@@ -19,7 +19,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PET_USERPORT_CB2_SOUND_DEVICE = device_creator<pet_userport_cb2_sound_device>;
+DEFINE_DEVICE_TYPE(PET_USERPORT_CB2_SOUND_DEVICE, pet_userport_cb2_sound_device, "petucb2", "PET Userport 'CB2 Sound' Device")
MACHINE_CONFIG_FRAGMENT( cb2snd )
MCFG_SPEAKER_STANDARD_MONO("speaker")
@@ -47,7 +47,7 @@ machine_config_constructor pet_userport_cb2_sound_device::device_mconfig_additio
//-------------------------------------------------
pet_userport_cb2_sound_device::pet_userport_cb2_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PET_USERPORT_CB2_SOUND_DEVICE, "PET Userport 'CB2 Sound' Device", tag, owner, clock, "petucb2", __FILE__),
+ device_t(mconfig, PET_USERPORT_CB2_SOUND_DEVICE, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this),
m_dac(*this, "dac")
{
diff --git a/src/devices/bus/pet/cb2snd.h b/src/devices/bus/pet/cb2snd.h
index 9788431052c..86c48422421 100644
--- a/src/devices/bus/pet/cb2snd.h
+++ b/src/devices/bus/pet/cb2snd.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_CB2SND_H
+#define MAME_BUS_PET_CB2SND_H
-#ifndef __PETUSER_CB2__
-#define __PETUSER_CB2__
+#pragma once
#include "user.h"
#include "sound/dac.h"
@@ -29,15 +29,15 @@ public:
virtual DECLARE_WRITE_LINE_MEMBER( input_m ) override;
- required_device<dac_bit_interface> m_dac;
-
protected:
// device-level overrides
virtual void device_start() override;
+
+ required_device<dac_bit_interface> m_dac;
};
// device type definition
-extern const device_type PET_USERPORT_CB2_SOUND_DEVICE;
+DECLARE_DEVICE_TYPE(PET_USERPORT_CB2_SOUND_DEVICE, pet_userport_cb2_sound_device)
-#endif
+#endif // MAME_BUS_PET_CB2SND_H
diff --git a/src/devices/bus/pet/diag.cpp b/src/devices/bus/pet/diag.cpp
index 27a318f2e3e..42e915e6d19 100644
--- a/src/devices/bus/pet/diag.cpp
+++ b/src/devices/bus/pet/diag.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PET_USERPORT_DIAGNOSTIC_CONNECTOR = device_creator<pet_userport_diagnostic_connector_t>;
+DEFINE_DEVICE_TYPE(PET_USERPORT_DIAGNOSTIC_CONNECTOR, pet_userport_diagnostic_connector_device, "pet_user_diag", "PET Userport Diagnostic Connector")
@@ -27,8 +27,8 @@ const device_type PET_USERPORT_DIAGNOSTIC_CONNECTOR = device_creator<pet_userpor
// pet_userport_diagnostic_connector_t - constructor
//-------------------------------------------------
-pet_userport_diagnostic_connector_t::pet_userport_diagnostic_connector_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PET_USERPORT_DIAGNOSTIC_CONNECTOR, "PET Userport Diagnostic Connector", tag, owner, clock, "pet_user_diag", __FILE__),
+pet_userport_diagnostic_connector_device::pet_userport_diagnostic_connector_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PET_USERPORT_DIAGNOSTIC_CONNECTOR, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this)
{
}
@@ -38,7 +38,7 @@ pet_userport_diagnostic_connector_t::pet_userport_diagnostic_connector_t(const m
// device_start - device-specific startup
//-------------------------------------------------
-void pet_userport_diagnostic_connector_t::device_start()
+void pet_userport_diagnostic_connector_device::device_start()
{
output_5(0);
output_e(0);
diff --git a/src/devices/bus/pet/diag.h b/src/devices/bus/pet/diag.h
index cf2bea4d551..8bcf1bfd415 100644
--- a/src/devices/bus/pet/diag.h
+++ b/src/devices/bus/pet/diag.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_DIAG_H
+#define MAME_BUS_PET_DIAG_H
-#ifndef __PET_USER_DIAG__
-#define __PET_USER_DIAG__
+#pragma once
#include "user.h"
@@ -19,14 +19,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> pet_userport_diagnostic_connector_t
+// ======================> pet_userport_diagnostic_connector_device
-class pet_userport_diagnostic_connector_t : public device_t,
- public device_pet_user_port_interface
+class pet_userport_diagnostic_connector_device : public device_t, public device_pet_user_port_interface
{
public:
// construction/destruction
- pet_userport_diagnostic_connector_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pet_userport_diagnostic_connector_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device_pet_user_port_interface overrides
virtual DECLARE_WRITE_LINE_MEMBER( input_2 ) override { output_b(state); }
@@ -50,7 +49,6 @@ protected:
// device type definition
-extern const device_type PET_USERPORT_DIAGNOSTIC_CONNECTOR;
-
+DECLARE_DEVICE_TYPE(PET_USERPORT_DIAGNOSTIC_CONNECTOR, pet_userport_diagnostic_connector_device)
-#endif
+#endif // MAME_BUS_PET_DIAG_H
diff --git a/src/devices/bus/pet/diag264_lb_tape.cpp b/src/devices/bus/pet/diag264_lb_tape.cpp
index 214fee34be3..afe5efab4dd 100644
--- a/src/devices/bus/pet/diag264_lb_tape.cpp
+++ b/src/devices/bus/pet/diag264_lb_tape.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type DIAG264_CASSETTE_LOOPBACK = device_creator<diag264_cassette_loopback_device>;
+DEFINE_DEVICE_TYPE(DIAG264_CASSETTE_LOOPBACK, diag264_cassette_loopback_device, "diag264_loopback_cassette", "Diag264 Cassette Loopback")
@@ -28,11 +28,12 @@ const device_type DIAG264_CASSETTE_LOOPBACK = device_creator<diag264_cassette_lo
//-------------------------------------------------
diag264_cassette_loopback_device::diag264_cassette_loopback_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DIAG264_CASSETTE_LOOPBACK, "Diag264 Cassette Loopback", tag, owner, clock, "diag264_loopback_cassette", __FILE__),
- device_pet_datassette_port_interface(mconfig, *this),
- m_read(1),
- m_sense(0)
-{ }
+ : device_t(mconfig, DIAG264_CASSETTE_LOOPBACK, tag, owner, clock)
+ , device_pet_datassette_port_interface(mconfig, *this)
+ , m_read(1)
+ , m_sense(0)
+{
+}
//-------------------------------------------------
diff --git a/src/devices/bus/pet/diag264_lb_tape.h b/src/devices/bus/pet/diag264_lb_tape.h
index 218148a0a9e..8e41c6ec6d0 100644
--- a/src/devices/bus/pet/diag264_lb_tape.h
+++ b/src/devices/bus/pet/diag264_lb_tape.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_DIAG264_LB_TAPE_H
+#define MAME_BUS_PET_DIAG264_LB_TAPE_H
-#ifndef __DIAG264_CASSETTE_LOOPBACK__
-#define __DIAG264_CASSETTE_LOOPBACK__
+#pragma once
#include "cass.h"
@@ -46,7 +46,6 @@ private:
// device type definition
extern const device_type DIAG264_CASSETTE_LOOPBACK;
+DECLARE_DEVICE_TYPE(DIAG264_CASSETTE_LOOPBACK, diag264_cassette_loopback_device)
-
-
-#endif
+#endif // MAME_BUS_PET_DIAG264_LB_TAPE_H
diff --git a/src/devices/bus/pet/exp.cpp b/src/devices/bus/pet/exp.cpp
index 0097953e57a..c0820a8bd1e 100644
--- a/src/devices/bus/pet/exp.cpp
+++ b/src/devices/bus/pet/exp.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PET_EXPANSION_SLOT = device_creator<pet_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(PET_EXPANSION_SLOT, pet_expansion_slot_device, "pet_expansion_slot", "PET memory expansion port")
@@ -36,7 +36,7 @@ const device_type PET_EXPANSION_SLOT = device_creator<pet_expansion_slot_device>
//-------------------------------------------------
pet_expansion_slot_device::pet_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PET_EXPANSION_SLOT, "PET memory expansion port", tag, owner, clock, "pet_expansion_slot", __FILE__),
+ device_t(mconfig, PET_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this), m_card(nullptr),
m_read_dma(*this),
m_write_dma(*this)
diff --git a/src/devices/bus/pet/exp.h b/src/devices/bus/pet/exp.h
index c94062b519f..8cc12b6a7ed 100644
--- a/src/devices/bus/pet/exp.h
+++ b/src/devices/bus/pet/exp.h
@@ -8,10 +8,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_EXP_H
+#define MAME_BUS_PET_EXP_H
-#ifndef __PET_EXPANSION_SLOT__
-#define __PET_EXPANSION_SLOT__
+#pragma once
@@ -112,10 +112,11 @@ class device_pet_expansion_card_interface : public device_slot_card_interface
public:
// construction/destruction
- device_pet_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_pet_expansion_card_interface();
protected:
+ device_pet_expansion_card_interface(const machine_config &mconfig, device_t &device);
+
// runtime
virtual int pet_norom_r(address_space &space, offs_t offset, int sel) { return 1; }
virtual uint8_t pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel) { return data; };
@@ -128,11 +129,9 @@ protected:
// device type definition
-extern const device_type PET_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(PET_EXPANSION_SLOT, pet_expansion_slot_device)
SLOT_INTERFACE_EXTERN( pet_expansion_cards );
-
-
-#endif
+#endif // MAME_BUS_PET_EXP_H
diff --git a/src/devices/bus/pet/hsg.cpp b/src/devices/bus/pet/hsg.cpp
index cc1e8606b11..15fd9e50a84 100644
--- a/src/devices/bus/pet/hsg.cpp
+++ b/src/devices/bus/pet/hsg.cpp
@@ -38,8 +38,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CBM8000_HSG_A = device_creator<cbm8000_hsg_a_t>;
-const device_type CBM8000_HSG_B = device_creator<cbm8000_hsg_b_t>;
+DEFINE_DEVICE_TYPE(CBM8000_HSG_A, cbm8000_hsg_a_device, "cbm8000_hsg_a", "CBM 8000 High Speed Graphics (A)")
+DEFINE_DEVICE_TYPE(CBM8000_HSG_B, cbm8000_hsg_b_device, "cbm8000_hsg_b", "CBM 8000 High Speed Graphics (B)")
//-------------------------------------------------
@@ -59,7 +59,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *cbm8000_hsg_t::device_rom_region() const
+const tiny_rom_entry *cbm8000_hsg_device::device_rom_region() const
{
return ROM_NAME( cbm8000_hsg );
}
@@ -69,7 +69,7 @@ const tiny_rom_entry *cbm8000_hsg_t::device_rom_region() const
// ADDRESS_MAP( hsg_a_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( hsg_a_map, AS_0, 8, cbm8000_hsg_a_t )
+static ADDRESS_MAP_START( hsg_a_map, AS_0, 8, cbm8000_hsg_a_device )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x7fff) AM_RAM
ADDRESS_MAP_END
@@ -79,7 +79,7 @@ ADDRESS_MAP_END
// ADDRESS_MAP( hsg_b_map )
//-------------------------------------------------
-static ADDRESS_MAP_START( hsg_b_map, AS_0, 8, cbm8000_hsg_b_t )
+static ADDRESS_MAP_START( hsg_b_map, AS_0, 8, cbm8000_hsg_b_device )
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
AM_RANGE(0x0000, 0x3fff) AM_RAM
ADDRESS_MAP_END
@@ -102,7 +102,7 @@ static MACHINE_CONFIG_FRAGMENT( cbm8000_hsg_a )
MCFG_DEVICE_ADDRESS_MAP(AS_0, hsg_a_map)
MCFG_EF936X_PALETTE("palette")
MCFG_EF936X_BITPLANES_CNT(1);
- MCFG_EF936X_DISPLAYMODE(EF936X_512x512_DISPLAY_MODE);
+ MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x512);
MACHINE_CONFIG_END
@@ -123,7 +123,7 @@ static MACHINE_CONFIG_FRAGMENT( cbm8000_hsg_b )
MCFG_DEVICE_ADDRESS_MAP(AS_0, hsg_b_map)
MCFG_EF936X_PALETTE("palette")
MCFG_EF936X_BITPLANES_CNT(1);
- MCFG_EF936X_DISPLAYMODE(EF936X_512x256_DISPLAY_MODE);
+ MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x256);
MACHINE_CONFIG_END
@@ -132,12 +132,12 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor cbm8000_hsg_a_t::device_mconfig_additions() const
+machine_config_constructor cbm8000_hsg_a_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cbm8000_hsg_a );
}
-machine_config_constructor cbm8000_hsg_b_t::device_mconfig_additions() const
+machine_config_constructor cbm8000_hsg_b_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cbm8000_hsg_b );
}
@@ -149,11 +149,11 @@ machine_config_constructor cbm8000_hsg_b_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// cbm8000_hsg_t - constructor
+// cbm8000_hsg_device - constructor
//-------------------------------------------------
-cbm8000_hsg_t::cbm8000_hsg_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+cbm8000_hsg_device::cbm8000_hsg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_pet_expansion_card_interface(mconfig, *this),
m_gdc(*this, EF9365_TAG),
m_9000(*this, "9000"),
@@ -161,13 +161,13 @@ cbm8000_hsg_t::cbm8000_hsg_t(const machine_config &mconfig, device_type type, co
{
}
-cbm8000_hsg_a_t::cbm8000_hsg_a_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- cbm8000_hsg_t(mconfig, CBM8000_HSG_A, "CBM 8000 High Speed Graphics (A)", tag, owner, clock, "cbm8000_hsg_a", __FILE__)
+cbm8000_hsg_a_device::cbm8000_hsg_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ cbm8000_hsg_device(mconfig, CBM8000_HSG_A, tag, owner, clock)
{
}
-cbm8000_hsg_b_t::cbm8000_hsg_b_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- cbm8000_hsg_t(mconfig, CBM8000_HSG_B, "CBM 8000 High Speed Graphics (B)", tag, owner, clock, "cbm8000_hsg_b", __FILE__)
+cbm8000_hsg_b_device::cbm8000_hsg_b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ cbm8000_hsg_device(mconfig, CBM8000_HSG_B, tag, owner, clock)
{
}
@@ -176,7 +176,7 @@ cbm8000_hsg_b_t::cbm8000_hsg_b_t(const machine_config &mconfig, const char *tag,
// device_start - device-specific startup
//-------------------------------------------------
-void cbm8000_hsg_t::device_start()
+void cbm8000_hsg_device::device_start()
{
}
@@ -185,7 +185,7 @@ void cbm8000_hsg_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void cbm8000_hsg_t::device_reset()
+void cbm8000_hsg_device::device_reset()
{
m_gdc->reset();
}
@@ -195,7 +195,7 @@ void cbm8000_hsg_t::device_reset()
// pet_norom_r - NO ROM read
//-------------------------------------------------
-int cbm8000_hsg_t::pet_norom_r(address_space &space, offs_t offset, int sel)
+int cbm8000_hsg_device::pet_norom_r(address_space &space, offs_t offset, int sel)
{
return !(offset >= 0x9000 && offset < 0xaf00);
}
@@ -205,7 +205,7 @@ int cbm8000_hsg_t::pet_norom_r(address_space &space, offs_t offset, int sel)
// pet_bd_r - buffered data read
//-------------------------------------------------
-uint8_t cbm8000_hsg_t::pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel)
+uint8_t cbm8000_hsg_device::pet_bd_r(address_space &space, offs_t offset, uint8_t data, int &sel)
{
switch (sel)
{
@@ -254,7 +254,7 @@ uint8_t cbm8000_hsg_t::pet_bd_r(address_space &space, offs_t offset, uint8_t dat
// pet_bd_w - buffered data write
//-------------------------------------------------
-void cbm8000_hsg_t::pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel)
+void cbm8000_hsg_device::pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel)
{
if (offset == 0xaf00)
{
diff --git a/src/devices/bus/pet/hsg.h b/src/devices/bus/pet/hsg.h
index e0809290a77..0582f48d53f 100644
--- a/src/devices/bus/pet/hsg.h
+++ b/src/devices/bus/pet/hsg.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_HSG_H
+#define MAME_BUS_PET_HSG_H
-#ifndef __CBM8000_HSG__
-#define __CBM8000_HSG__
+#pragma once
#include "exp.h"
#include "video/ef9365.h"
@@ -20,15 +20,11 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> cbm8000_hsg_t
+// ======================> cbm8000_hsg_device
-class cbm8000_hsg_t : public device_t,
- public device_pet_expansion_card_interface
+class cbm8000_hsg_device : public device_t, public device_pet_expansion_card_interface
{
public:
- // construction/destruction
- cbm8000_hsg_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -38,6 +34,9 @@ public:
virtual void pet_bd_w(address_space &space, offs_t offset, uint8_t data, int &sel) override;
protected:
+ // construction/destruction
+ cbm8000_hsg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -49,26 +48,26 @@ private:
};
-// ======================> cbm8000_hsg_a_t
+// ======================> cbm8000_hsg_a_device
-class cbm8000_hsg_a_t : public cbm8000_hsg_t
+class cbm8000_hsg_a_device : public cbm8000_hsg_device
{
public:
// construction/destruction
- cbm8000_hsg_a_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cbm8000_hsg_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
};
-// ======================> cbm8000_hsg_b_t
+// ======================> cbm8000_hsg_b_device
-class cbm8000_hsg_b_t : public cbm8000_hsg_t
+class cbm8000_hsg_b_device : public cbm8000_hsg_device
{
public:
// construction/destruction
- cbm8000_hsg_b_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cbm8000_hsg_b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -76,9 +75,7 @@ public:
// device type definition
-extern const device_type CBM8000_HSG_A;
-extern const device_type CBM8000_HSG_B;
-
-
+DECLARE_DEVICE_TYPE(CBM8000_HSG_A, cbm8000_hsg_a_device)
+DECLARE_DEVICE_TYPE(CBM8000_HSG_B, cbm8000_hsg_b_device)
-#endif
+#endif // MAME_BUS_PET_HSG_H
diff --git a/src/devices/bus/pet/petuja.cpp b/src/devices/bus/pet/petuja.cpp
index a4e11d2aa3d..aee8c2a1f0f 100644
--- a/src/devices/bus/pet/petuja.cpp
+++ b/src/devices/bus/pet/petuja.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PET_USERPORT_JOYSTICK_ADAPTER = device_creator<pet_userport_joystick_adapter_device>;
+DEFINE_DEVICE_TYPE(PET_USERPORT_JOYSTICK_ADAPTER, pet_userport_joystick_adapter_device, "petuja", "PET Userport Joystick Adapter")
//-------------------------------------------------
@@ -61,7 +61,7 @@ ioport_constructor pet_userport_joystick_adapter_device::device_input_ports() co
//-------------------------------------------------
pet_userport_joystick_adapter_device::pet_userport_joystick_adapter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PET_USERPORT_JOYSTICK_ADAPTER, "PET Userport Joystick Adapter", tag, owner, clock, "petuja", __FILE__),
+ device_t(mconfig, PET_USERPORT_JOYSTICK_ADAPTER, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this),
m_up1(1),
m_down1(1),
diff --git a/src/devices/bus/pet/petuja.h b/src/devices/bus/pet/petuja.h
index fc1670dc202..b268c0d1519 100644
--- a/src/devices/bus/pet/petuja.h
+++ b/src/devices/bus/pet/petuja.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_PETUJA_H
+#define MAME_BUS_PET_PETUJA_H
-#ifndef __PETUJA__
-#define __PETUJA__
+#pragma once
#include "user.h"
@@ -56,7 +56,7 @@ protected:
// device type definition
-extern const device_type PET_USERPORT_JOYSTICK_ADAPTER;
+DECLARE_DEVICE_TYPE(PET_USERPORT_JOYSTICK_ADAPTER, pet_userport_joystick_adapter_device)
-#endif
+#endif // MAME_BUS_PET_PETUJA_H
diff --git a/src/devices/bus/pet/superpet.cpp b/src/devices/bus/pet/superpet.cpp
index 77a9f65cad0..87783f39d41 100644
--- a/src/devices/bus/pet/superpet.cpp
+++ b/src/devices/bus/pet/superpet.cpp
@@ -28,7 +28,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SUPERPET = device_creator<superpet_device>;
+DEFINE_DEVICE_TYPE(SUPERPET, superpet_device, "pet_superpet", "Commodore SuperPET")
//-------------------------------------------------
@@ -176,7 +176,7 @@ inline bool superpet_device::is_ram_writable()
//-------------------------------------------------
superpet_device::superpet_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SUPERPET, "SuperPET", tag, owner, clock, "pet_superpet", __FILE__),
+ device_t(mconfig, SUPERPET, tag, owner, clock),
device_pet_expansion_card_interface(mconfig, *this),
m_maincpu(*this, M6809_TAG),
m_acia(*this, MOS6551_TAG),
diff --git a/src/devices/bus/pet/superpet.h b/src/devices/bus/pet/superpet.h
index 74caac39d73..bf0d4d79a59 100644
--- a/src/devices/bus/pet/superpet.h
+++ b/src/devices/bus/pet/superpet.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_SUPERPET_H
+#define MAME_BUS_PET_SUPERPET_H
-#ifndef __SUPERPET__
-#define __SUPERPET__
+#pragma once
#include "exp.h"
#include "machine/mos6551.h"
@@ -74,7 +74,7 @@ private:
// device type definition
-extern const device_type SUPERPET;
+DECLARE_DEVICE_TYPE(SUPERPET, superpet_device)
-#endif
+#endif // MAME_BUS_PET_SUPERPET_H
diff --git a/src/devices/bus/pet/user.cpp b/src/devices/bus/pet/user.cpp
index 0fdda61ca9a..95b98bad5bf 100644
--- a/src/devices/bus/pet/user.cpp
+++ b/src/devices/bus/pet/user.cpp
@@ -11,10 +11,10 @@
// class pet_user_port_device
-const device_type PET_USER_PORT = device_creator<pet_user_port_device>;
+DEFINE_DEVICE_TYPE(PET_USER_PORT, pet_user_port_device, "pet_user_port", "PET user port")
pet_user_port_device::pet_user_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PET_USER_PORT, "PET user port", tag, owner, clock, "pet_user_port", __FILE__),
+ device_t(mconfig, PET_USER_PORT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_2_handler(*this),
m_3_handler(*this),
diff --git a/src/devices/bus/pet/user.h b/src/devices/bus/pet/user.h
index f2889ec346d..52568776882 100644
--- a/src/devices/bus/pet/user.h
+++ b/src/devices/bus/pet/user.h
@@ -21,10 +21,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PET_USER_H
+#define MAME_BUS_PET_USER_H
-#ifndef __PET_USER_PORT__
-#define __PET_USER_PORT__
+#pragma once
@@ -90,7 +90,7 @@
devcb = &pet_user_port_device::set_m_handler(*device, DEVCB_##_devcb);
-extern const device_type PET_USER_PORT;
+DECLARE_DEVICE_TYPE(PET_USER_PORT, pet_user_port_device)
class device_pet_user_port_interface;
@@ -102,25 +102,25 @@ class pet_user_port_device : public device_t,
public:
pet_user_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_2_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_2_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_3_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_3_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_4_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_4_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_5_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_5_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_6_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_6_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_7_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_7_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_8_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_8_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_9_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_9_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_10_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_10_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_b_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_b_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_c_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_c_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_d_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_d_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_e_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_e_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_f_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_f_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_h_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_h_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_j_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_j_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_k_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_k_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_l_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_l_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_m_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_m_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_2_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_3_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_3_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_4_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_4_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_5_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_5_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_6_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_6_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_7_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_7_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_8_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_8_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_9_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_9_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_10_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_10_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_b_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_b_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_c_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_c_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_d_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_d_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_e_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_e_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_f_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_f_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_h_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_h_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_j_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_j_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_k_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_k_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_l_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_l_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_m_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_m_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( write_2 );
DECLARE_WRITE_LINE_MEMBER( write_3 );
@@ -177,7 +177,6 @@ class device_pet_user_port_interface : public device_slot_card_interface
friend class pet_user_port_device;
public:
- device_pet_user_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_pet_user_port_interface();
DECLARE_WRITE_LINE_MEMBER( output_2 ) { m_slot->m_2_handler(state); }
@@ -201,6 +200,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( output_m ) { m_slot->m_m_handler(state); }
protected:
+ device_pet_user_port_interface(const machine_config &mconfig, device_t &device);
+
virtual DECLARE_WRITE_LINE_MEMBER( input_2 ) {}
virtual DECLARE_WRITE_LINE_MEMBER( input_3 ) {}
virtual DECLARE_WRITE_LINE_MEMBER( input_4 ) {}
@@ -227,4 +228,4 @@ protected:
SLOT_INTERFACE_EXTERN( pet_user_port_cards );
-#endif
+#endif // MAME_BUS_PET_USER_H
diff --git a/src/devices/bus/plus4/c1551.cpp b/src/devices/bus/plus4/c1551.cpp
index 208337fec4a..052c47c2a85 100644
--- a/src/devices/bus/plus4/c1551.cpp
+++ b/src/devices/bus/plus4/c1551.cpp
@@ -27,7 +27,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C1551 = device_creator<c1551_t>;
+DEFINE_DEVICE_TYPE(C1551, c1551_device, "c1551", "Commodore 1551")
//-------------------------------------------------
@@ -47,7 +47,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *c1551_t::device_rom_region() const
+const tiny_rom_entry *c1551_device::device_rom_region() const
{
return ROM_NAME( c1551 );
}
@@ -57,7 +57,7 @@ const tiny_rom_entry *c1551_t::device_rom_region() const
// M6510_INTERFACE( cpu_intf )
//-------------------------------------------------
-READ8_MEMBER( c1551_t::port_r )
+READ8_MEMBER( c1551_device::port_r )
{
/*
@@ -85,7 +85,7 @@ READ8_MEMBER( c1551_t::port_r )
return data;
}
-WRITE8_MEMBER( c1551_t::port_w )
+WRITE8_MEMBER( c1551_device::port_w )
{
/*
@@ -120,7 +120,7 @@ WRITE8_MEMBER( c1551_t::port_w )
// tpi6525_interface tpi0_intf
//-------------------------------------------------
-READ8_MEMBER( c1551_t::tcbm_data_r )
+READ8_MEMBER( c1551_device::tcbm_data_r )
{
/*
@@ -140,7 +140,7 @@ READ8_MEMBER( c1551_t::tcbm_data_r )
return m_tcbm_data;
}
-WRITE8_MEMBER( c1551_t::tcbm_data_w )
+WRITE8_MEMBER( c1551_device::tcbm_data_w )
{
/*
@@ -160,7 +160,7 @@ WRITE8_MEMBER( c1551_t::tcbm_data_w )
m_tcbm_data = data;
}
-READ8_MEMBER( c1551_t::tpi0_r )
+READ8_MEMBER( c1551_device::tpi0_r )
{
uint8_t data = m_tpi0->read(space, offset);
@@ -170,7 +170,7 @@ READ8_MEMBER( c1551_t::tpi0_r )
return data;
}
-WRITE8_MEMBER( c1551_t::tpi0_w )
+WRITE8_MEMBER( c1551_device::tpi0_w )
{
m_tpi0->write(space, offset, data);
@@ -178,7 +178,7 @@ WRITE8_MEMBER( c1551_t::tpi0_w )
m_ga->ted_w(1);
}
-READ8_MEMBER( c1551_t::tpi0_pc_r )
+READ8_MEMBER( c1551_device::tpi0_pc_r )
{
/*
@@ -209,7 +209,7 @@ READ8_MEMBER( c1551_t::tpi0_pc_r )
return data;
}
-WRITE8_MEMBER( c1551_t::tpi0_pc_w )
+WRITE8_MEMBER( c1551_device::tpi0_pc_w )
{
/*
@@ -243,7 +243,7 @@ WRITE8_MEMBER( c1551_t::tpi0_pc_w )
// tpi6525_interface tpi1_intf
//-------------------------------------------------
-READ8_MEMBER( c1551_t::tpi1_pb_r )
+READ8_MEMBER( c1551_device::tpi1_pb_r )
{
/*
@@ -263,7 +263,7 @@ READ8_MEMBER( c1551_t::tpi1_pb_r )
return m_status & 0x03;
}
-READ8_MEMBER( c1551_t::tpi1_pc_r )
+READ8_MEMBER( c1551_device::tpi1_pc_r )
{
/*
@@ -288,7 +288,7 @@ READ8_MEMBER( c1551_t::tpi1_pc_r )
return data;
}
-WRITE8_MEMBER( c1551_t::tpi1_pc_w )
+WRITE8_MEMBER( c1551_device::tpi1_pc_w )
{
/*
@@ -313,7 +313,7 @@ WRITE8_MEMBER( c1551_t::tpi1_pc_w )
// ADDRESS_MAP( c1551_mem )
//-------------------------------------------------
-static ADDRESS_MAP_START( c1551_mem, AS_PROGRAM, 8, c1551_t )
+static ADDRESS_MAP_START( c1551_mem, AS_PROGRAM, 8, c1551_device )
AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_RAM
AM_RANGE(0x4000, 0x4007) AM_MIRROR(0x3ff8) AM_READWRITE(tpi0_r, tpi0_w)
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION(M6510T_TAG, 0)
@@ -333,7 +333,7 @@ SLOT_INTERFACE_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( c1551_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( c1551_device::floppy_formats )
FLOPPY_D64_FORMAT,
FLOPPY_G64_FORMAT
FLOPPY_FORMATS_END
@@ -346,27 +346,27 @@ FLOPPY_FORMATS_END
static MACHINE_CONFIG_FRAGMENT( c1551 )
MCFG_CPU_ADD(M6510T_TAG, M6510T, XTAL_16MHz/8)
MCFG_CPU_PROGRAM_MAP(c1551_mem)
- MCFG_M6510T_PORT_CALLBACKS(READ8(c1551_t, port_r), WRITE8(c1551_t, port_w))
+ MCFG_M6510T_PORT_CALLBACKS(READ8(c1551_device, port_r), WRITE8(c1551_device, port_w))
MCFG_QUANTUM_PERFECT_CPU(M6510T_TAG)
MCFG_PLS100_ADD(PLA_TAG)
MCFG_DEVICE_ADD(M6523_0_TAG, TPI6525, 0)
- MCFG_TPI6525_IN_PA_CB(READ8(c1551_t, tcbm_data_r))
- MCFG_TPI6525_OUT_PA_CB(WRITE8(c1551_t, tcbm_data_w))
+ MCFG_TPI6525_IN_PA_CB(READ8(c1551_device, tcbm_data_r))
+ MCFG_TPI6525_OUT_PA_CB(WRITE8(c1551_device, tcbm_data_w))
MCFG_TPI6525_IN_PB_CB(DEVREAD8(C64H156_TAG, c64h156_device, yb_r))
MCFG_TPI6525_OUT_PB_CB(DEVWRITE8(C64H156_TAG, c64h156_device, yb_w))
- MCFG_TPI6525_IN_PC_CB(READ8(c1551_t, tpi0_pc_r))
- MCFG_TPI6525_OUT_PC_CB(WRITE8(c1551_t, tpi0_pc_w))
+ MCFG_TPI6525_IN_PC_CB(READ8(c1551_device, tpi0_pc_r))
+ MCFG_TPI6525_OUT_PC_CB(WRITE8(c1551_device, tpi0_pc_w))
MCFG_DEVICE_ADD(M6523_1_TAG, TPI6525, 0)
- MCFG_TPI6525_IN_PA_CB(READ8(c1551_t, tcbm_data_r))
- MCFG_TPI6525_OUT_PA_CB(WRITE8(c1551_t, tcbm_data_w))
- MCFG_TPI6525_IN_PB_CB(READ8(c1551_t, tpi1_pb_r))
- MCFG_TPI6525_IN_PC_CB(READ8(c1551_t, tpi1_pc_r))
- MCFG_TPI6525_OUT_PC_CB(WRITE8(c1551_t, tpi1_pc_w))
+ MCFG_TPI6525_IN_PA_CB(READ8(c1551_device, tcbm_data_r))
+ MCFG_TPI6525_OUT_PA_CB(WRITE8(c1551_device, tcbm_data_w))
+ MCFG_TPI6525_IN_PB_CB(READ8(c1551_device, tpi1_pb_r))
+ MCFG_TPI6525_IN_PC_CB(READ8(c1551_device, tpi1_pc_r))
+ MCFG_TPI6525_OUT_PC_CB(WRITE8(c1551_device, tpi1_pc_w))
MCFG_DEVICE_ADD(C64H156_TAG, C64H156, XTAL_16MHz)
MCFG_64H156_BYTE_CALLBACK(DEVWRITELINE(C64H156_TAG, c64h156_device, atni_w))
- MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1551_floppies, "525ssqd", c1551_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1551_floppies, "525ssqd", c1551_device::floppy_formats)
MCFG_PLUS4_PASSTHRU_EXPANSION_SLOT_ADD()
MACHINE_CONFIG_END
@@ -377,7 +377,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor c1551_t::device_mconfig_additions() const
+machine_config_constructor c1551_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( c1551 );
}
@@ -399,7 +399,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor c1551_t::device_input_ports() const
+ioport_constructor c1551_device::device_input_ports() const
{
return INPUT_PORTS_NAME( c1551 );
}
@@ -411,25 +411,26 @@ ioport_constructor c1551_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// c1551_t - constructor
-//-------------------------------------------------
-
-c1551_t::c1551_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, C1551, "C1551", tag, owner, clock, "c1551", __FILE__),
- device_plus4_expansion_card_interface(mconfig, *this),
- m_maincpu(*this, M6510T_TAG),
- m_tpi0(*this, M6523_0_TAG),
- m_tpi1(*this, M6523_1_TAG),
- m_ga(*this, C64H156_TAG),
- m_pla(*this, PLA_TAG),
- m_floppy(*this, C64H156_TAG":0:525ssqd"),
- m_exp(*this, PLUS4_EXPANSION_SLOT_TAG),
- m_jp1(*this, "JP1"),
- m_tcbm_data(0xff),
- m_status(1),
- m_dav(1),
- m_ack(1),
- m_dev(0), m_irq_timer(nullptr)
+// c1551_device - constructor
+//-------------------------------------------------
+
+c1551_device::c1551_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, C1551, tag, owner, clock)
+ , device_plus4_expansion_card_interface(mconfig, *this)
+ , m_maincpu(*this, M6510T_TAG)
+ , m_tpi0(*this, M6523_0_TAG)
+ , m_tpi1(*this, M6523_1_TAG)
+ , m_ga(*this, C64H156_TAG)
+ , m_pla(*this, PLA_TAG)
+ , m_floppy(*this, C64H156_TAG":0:525ssqd")
+ , m_exp(*this, PLUS4_EXPANSION_SLOT_TAG)
+ , m_jp1(*this, "JP1")
+ , m_tcbm_data(0xff)
+ , m_status(1)
+ , m_dav(1)
+ , m_ack(1)
+ , m_dev(0)
+ , m_irq_timer(nullptr)
{
}
@@ -438,7 +439,7 @@ c1551_t::c1551_t(const machine_config &mconfig, const char *tag, device_t *owner
// device_start - device-specific startup
//-------------------------------------------------
-void c1551_t::device_start()
+void c1551_device::device_start()
{
// allocate timers
m_irq_timer = timer_alloc();
@@ -460,7 +461,7 @@ void c1551_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void c1551_t::device_reset()
+void c1551_device::device_reset()
{
m_maincpu->reset();
@@ -480,7 +481,7 @@ void c1551_t::device_reset()
// device_timer - handler timer events
//-------------------------------------------------
-void c1551_t::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+void c1551_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
m_maincpu->set_input_line(M6502_IRQ_LINE, param);
@@ -501,7 +502,7 @@ void c1551_t::device_timer(emu_timer &timer, device_timer_id id, int param, void
// tpi1_selected -
//-------------------------------------------------
-bool c1551_t::tpi1_selected(offs_t offset)
+bool c1551_device::tpi1_selected(offs_t offset)
{
#ifdef PLA_DUMPED
int mux = 0, ras = 0, phi0 = 0, f7 = 0;
@@ -525,7 +526,7 @@ bool c1551_t::tpi1_selected(offs_t offset)
// plus4_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t c1551_t::plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
+uint8_t c1551_device::plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
{
data = m_exp->cd_r(space, offset, data, ba, cs0, c1l, c2l, cs1, c1h, c2h);
@@ -542,7 +543,7 @@ uint8_t c1551_t::plus4_cd_r(address_space &space, offs_t offset, uint8_t data, i
// plus4_cd_w - cartridge data write
//-------------------------------------------------
-void c1551_t::plus4_cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
+void c1551_device::plus4_cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h)
{
if (tpi1_selected(offset))
{
diff --git a/src/devices/bus/plus4/c1551.h b/src/devices/bus/plus4/c1551.h
index 07f2e5596ee..ae749c0e056 100644
--- a/src/devices/bus/plus4/c1551.h
+++ b/src/devices/bus/plus4/c1551.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PLUS4_C1551_H
+#define MAME_BUS_PLUS4_C1551_H
-#ifndef __C1551__
-#define __C1551__
+#pragma once
#include "exp.h"
#include "cpu/m6502/m6510t.h"
@@ -23,14 +23,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> c1551_t
+// ======================> c1551_device
-class c1551_t : public device_t,
- public device_plus4_expansion_card_interface
+class c1551_device : public device_t, public device_plus4_expansion_card_interface
{
public:
// construction/destruction
- c1551_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ c1551_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -96,7 +95,6 @@ private:
// device type definition
extern const device_type C1551;
+DECLARE_DEVICE_TYPE(C1551, c1551_device)
-
-
-#endif
+#endif // MAME_BUS_PLUS4_C1551_H
diff --git a/src/devices/bus/plus4/diag264_lb_user.cpp b/src/devices/bus/plus4/diag264_lb_user.cpp
index d3978801a88..a8e4dc32b8c 100644
--- a/src/devices/bus/plus4/diag264_lb_user.cpp
+++ b/src/devices/bus/plus4/diag264_lb_user.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type DIAG264_USER_PORT_LOOPBACK = device_creator<diag264_user_port_loopback_device>;
+DEFINE_DEVICE_TYPE(DIAG264_USER_PORT_LOOPBACK, diag264_user_port_loopback_device, "diag264_user_port_loopback", "Diag264 User Port Loopback")
@@ -28,8 +28,8 @@ const device_type DIAG264_USER_PORT_LOOPBACK = device_creator<diag264_user_port_
//-------------------------------------------------
diag264_user_port_loopback_device::diag264_user_port_loopback_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DIAG264_USER_PORT_LOOPBACK, "Diag264 User Port Loopback", tag, owner, clock, "diag264_user_port_loopback", __FILE__),
- device_pet_user_port_interface(mconfig, *this)
+ : device_t(mconfig, DIAG264_USER_PORT_LOOPBACK, tag, owner, clock)
+ , device_pet_user_port_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/plus4/diag264_lb_user.h b/src/devices/bus/plus4/diag264_lb_user.h
index acff6f4bd49..dd45e469106 100644
--- a/src/devices/bus/plus4/diag264_lb_user.h
+++ b/src/devices/bus/plus4/diag264_lb_user.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PLUS4_DIAG264_LB_USER_H
+#define MAME_BUS_PLUS4_DIAG264_LB_USER_H
-#ifndef __DIAG264_USER_PORT_LOOPBACK__
-#define __DIAG264_USER_PORT_LOOPBACK__
+#pragma once
#include "user.h"
@@ -21,8 +21,7 @@
// ======================> diag264_user_port_loopback_device
-class diag264_user_port_loopback_device : public device_t,
- public device_pet_user_port_interface
+class diag264_user_port_loopback_device : public device_t, public device_pet_user_port_interface
{
public:
// construction/destruction
@@ -53,6 +52,6 @@ protected:
};
// device type definition
-extern const device_type DIAG264_USER_PORT_LOOPBACK;
+DECLARE_DEVICE_TYPE(DIAG264_USER_PORT_LOOPBACK, diag264_user_port_loopback_device)
-#endif
+#endif // MAME_BUS_PLUS4_DIAG264_LB_USER_H
diff --git a/src/devices/bus/plus4/exp.cpp b/src/devices/bus/plus4/exp.cpp
index 261dc556e60..0a868747088 100644
--- a/src/devices/bus/plus4/exp.cpp
+++ b/src/devices/bus/plus4/exp.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PLUS4_EXPANSION_SLOT = device_creator<plus4_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(PLUS4_EXPANSION_SLOT, plus4_expansion_slot_device, "plus4_expansion_slot", "Plus/4 Expansion Port")
@@ -35,16 +35,16 @@ const device_type PLUS4_EXPANSION_SLOT = device_creator<plus4_expansion_slot_dev
// device_plus4_expansion_card_interface - constructor
//-------------------------------------------------
-device_plus4_expansion_card_interface::device_plus4_expansion_card_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_c1l(*this, "c1l"),
- m_c1h(*this, "c1h"),
- m_c2l(*this, "c2l"),
- m_c2h(*this, "c2h"),
- m_c1l_mask(0),
- m_c1h_mask(0),
- m_c2l_mask(0),
- m_c2h_mask(0)
+device_plus4_expansion_card_interface::device_plus4_expansion_card_interface(const machine_config &mconfig, device_t &device) :
+ device_slot_card_interface(mconfig, device),
+ m_c1l(*this, "c1l"),
+ m_c1h(*this, "c1h"),
+ m_c2l(*this, "c2l"),
+ m_c2h(*this, "c2h"),
+ m_c1l_mask(0),
+ m_c1h_mask(0),
+ m_c2l_mask(0),
+ m_c2h_mask(0)
{
m_slot = dynamic_cast<plus4_expansion_slot_device *>(device.owner());
}
@@ -69,13 +69,13 @@ device_plus4_expansion_card_interface::~device_plus4_expansion_card_interface()
//-------------------------------------------------
plus4_expansion_slot_device::plus4_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PLUS4_EXPANSION_SLOT, "Expansion Port", tag, owner, clock, "plus4_expansion_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- device_image_interface(mconfig, *this),
- m_write_irq(*this),
- m_read_dma_cd(*this),
- m_write_dma_cd(*this),
- m_write_aec(*this), m_card(nullptr)
+ device_t(mconfig, PLUS4_EXPANSION_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ device_image_interface(mconfig, *this),
+ m_write_irq(*this),
+ m_read_dma_cd(*this),
+ m_write_dma_cd(*this),
+ m_write_aec(*this), m_card(nullptr)
{
}
diff --git a/src/devices/bus/plus4/exp.h b/src/devices/bus/plus4/exp.h
index 319f07ba6fa..294c108d8f4 100644
--- a/src/devices/bus/plus4/exp.h
+++ b/src/devices/bus/plus4/exp.h
@@ -34,10 +34,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PLUS4_EXP_H
+#define MAME_BUS_PLUS4_EXP_H
-#ifndef __PLUS4_EXPANSION_SLOT__
-#define __PLUS4_EXPANSION_SLOT__
+#pragma once
#include "softlist_dev.h"
@@ -96,10 +96,10 @@ public:
// construction/destruction
plus4_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
- template<class _Object> static devcb_base &set_cd_rd_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_read_dma_cd.set_callback(object); }
- template<class _Object> static devcb_base &set_cd_wr_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_write_dma_cd.set_callback(object); }
- template<class _Object> static devcb_base &set_aec_wr_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_write_aec.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<plus4_expansion_slot_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_cd_rd_callback(device_t &device, Object &&cb) { return downcast<plus4_expansion_slot_device &>(device).m_read_dma_cd.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_cd_wr_callback(device_t &device, Object &&cb) { return downcast<plus4_expansion_slot_device &>(device).m_write_dma_cd.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_aec_wr_callback(device_t &device, Object &&cb) { return downcast<plus4_expansion_slot_device &>(device).m_write_aec.set_callback(std::forward<Object>(cb)); }
// computer interface
uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h);
@@ -151,14 +151,15 @@ class device_plus4_expansion_card_interface : public device_slot_card_interface
public:
// construction/destruction
- device_plus4_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_plus4_expansion_card_interface();
// runtime
- virtual uint8_t plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) { return data; };
- virtual void plus4_cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) { };
+ virtual uint8_t plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) { return data; }
+ virtual void plus4_cd_w(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) { }
protected:
+ device_plus4_expansion_card_interface(const machine_config &mconfig, device_t &device);
+
optional_shared_ptr<uint8_t> m_c1l;
optional_shared_ptr<uint8_t> m_c1h;
optional_shared_ptr<uint8_t> m_c2l;
@@ -174,11 +175,9 @@ protected:
// device type definition
-extern const device_type PLUS4_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(PLUS4_EXPANSION_SLOT, plus4_expansion_slot_device)
SLOT_INTERFACE_EXTERN( plus4_expansion_cards );
-
-
-#endif
+#endif // MAME_BUS_PLUS4_EXP_H
diff --git a/src/devices/bus/plus4/sid.cpp b/src/devices/bus/plus4/sid.cpp
index 00a2ec25cbe..269446d86a7 100644
--- a/src/devices/bus/plus4/sid.cpp
+++ b/src/devices/bus/plus4/sid.cpp
@@ -37,7 +37,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PLUS4_SID = device_creator<plus4_sid_cartridge_device>;
+DEFINE_DEVICE_TYPE(PLUS4_SID, plus4_sid_cartridge_device, "plus4_sid", "Plus/4 SID cartridge")
//-------------------------------------------------
@@ -94,7 +94,7 @@ machine_config_constructor plus4_sid_cartridge_device::device_mconfig_additions(
//-------------------------------------------------
plus4_sid_cartridge_device::plus4_sid_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PLUS4_SID, "Plus/4 SID cartridge", tag, owner, clock, "plus4_sid", __FILE__),
+ device_t(mconfig, PLUS4_SID, tag, owner, clock),
device_plus4_expansion_card_interface(mconfig, *this),
m_sid(*this, MOS8580_TAG),
m_joy(*this, CONTROL1_TAG)
diff --git a/src/devices/bus/plus4/sid.h b/src/devices/bus/plus4/sid.h
index 31fa52eaf83..9136e0abc5b 100644
--- a/src/devices/bus/plus4/sid.h
+++ b/src/devices/bus/plus4/sid.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PLUS4_SID_H
+#define MAME_BUS_PLUS4_SID_H
-#ifndef __PLUS4_SID_CARTRIDGE__
-#define __PLUS4_SID_CARTRIDGE__
+#pragma once
#include "exp.h"
#include "bus/vcs_ctrl/ctrl.h"
@@ -51,7 +51,7 @@ private:
// device type definition
-extern const device_type PLUS4_SID;
+DECLARE_DEVICE_TYPE(PLUS4_SID, plus4_sid_cartridge_device)
-#endif
+#endif // MAME_BUS_PLUS4_SID_H
diff --git a/src/devices/bus/plus4/std.cpp b/src/devices/bus/plus4/std.cpp
index 781bb9f0d92..835ecac7d4a 100644
--- a/src/devices/bus/plus4/std.cpp
+++ b/src/devices/bus/plus4/std.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PLUS4_STD = device_creator<plus4_standard_cartridge_device>;
+DEFINE_DEVICE_TYPE(PLUS4_STD, plus4_standard_cartridge_device, "plus4_standard", "Plus/4 standard cartridge")
@@ -28,7 +28,7 @@ const device_type PLUS4_STD = device_creator<plus4_standard_cartridge_device>;
//-------------------------------------------------
plus4_standard_cartridge_device::plus4_standard_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PLUS4_STD, "Plus/4 standard cartridge", tag, owner, clock, "plus4_standard", __FILE__),
+ device_t(mconfig, PLUS4_STD, tag, owner, clock),
device_plus4_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/plus4/std.h b/src/devices/bus/plus4/std.h
index fb60a81b5eb..d154f0bcadc 100644
--- a/src/devices/bus/plus4/std.h
+++ b/src/devices/bus/plus4/std.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PLUS4_STD_H
+#define MAME_BUS_PLUS4_STD_H
-#ifndef __PLUS4_STANDARD_CARTRIDGE__
-#define __PLUS4_STANDARD_CARTRIDGE__
+#pragma once
#include "exp.h"
@@ -34,13 +34,10 @@ protected:
// device_plus4_expansion_card_interface overrides
virtual uint8_t plus4_cd_r(address_space &space, offs_t offset, uint8_t data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h) override;
-
-
};
// device type definition
-extern const device_type PLUS4_STD;
-
+DECLARE_DEVICE_TYPE(PLUS4_STD, plus4_standard_cartridge_device)
-#endif
+#endif // MAME_BUS_PLUS4_STD_H
diff --git a/src/devices/bus/plus4/user.h b/src/devices/bus/plus4/user.h
index abf4a909ccb..8aac44235de 100644
--- a/src/devices/bus/plus4/user.h
+++ b/src/devices/bus/plus4/user.h
@@ -21,13 +21,13 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_PLUS4_USER_H
+#define MAME_BUS_PLUS4_USER_H
-#ifndef __PLUS4_USER_PORT__
-#define __PLUS4_USER_PORT__
+#pragma once
#include "bus/vic20/user.h"
SLOT_INTERFACE_EXTERN( plus4_user_port_cards );
-#endif
+#endif // MAME_BUS_PLUS4_USER_H
diff --git a/src/devices/bus/pofo/ccm.cpp b/src/devices/bus/pofo/ccm.cpp
index e31a1eefc97..9619be68712 100644
--- a/src/devices/bus/pofo/ccm.cpp
+++ b/src/devices/bus/pofo/ccm.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PORTFOLIO_MEMORY_CARD_SLOT = device_creator<portfolio_memory_card_slot_t>;
+DEFINE_DEVICE_TYPE(PORTFOLIO_MEMORY_CARD_SLOT, portfolio_memory_card_slot_device, "portfolio_ccm_slot", "Atari Portfolio memory card port")
@@ -32,7 +32,7 @@ device_portfolio_memory_card_slot_interface::device_portfolio_memory_card_slot_i
m_rom(*this, "rom"),
m_nvram(*this, "nvram")
{
- m_slot = dynamic_cast<portfolio_memory_card_slot_t *>(device.owner());
+ m_slot = dynamic_cast<portfolio_memory_card_slot_device *>(device.owner());
}
@@ -42,11 +42,11 @@ device_portfolio_memory_card_slot_interface::device_portfolio_memory_card_slot_i
//**************************************************************************
//-------------------------------------------------
-// portfolio_memory_card_slot_t - constructor
+// portfolio_memory_card_slot_device - constructor
//-------------------------------------------------
-portfolio_memory_card_slot_t::portfolio_memory_card_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PORTFOLIO_MEMORY_CARD_SLOT, "Atari Portfolio memory card port", tag, owner, clock, "portfolio_ccm_slot", __FILE__),
+portfolio_memory_card_slot_device::portfolio_memory_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PORTFOLIO_MEMORY_CARD_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
device_image_interface(mconfig, *this),
m_card(nullptr)
@@ -58,7 +58,7 @@ portfolio_memory_card_slot_t::portfolio_memory_card_slot_t(const machine_config
// device_start - device-specific startup
//-------------------------------------------------
-void portfolio_memory_card_slot_t::device_start()
+void portfolio_memory_card_slot_device::device_start()
{
m_card = dynamic_cast<device_portfolio_memory_card_slot_interface *>(get_card_device());
}
@@ -68,7 +68,7 @@ void portfolio_memory_card_slot_t::device_start()
// call_load -
//-------------------------------------------------
-image_init_result portfolio_memory_card_slot_t::call_load()
+image_init_result portfolio_memory_card_slot_device::call_load()
{
if (m_card)
{
@@ -90,7 +90,7 @@ image_init_result portfolio_memory_card_slot_t::call_load()
// get_default_card_software -
//-------------------------------------------------
-std::string portfolio_memory_card_slot_t::get_default_card_software(get_default_card_software_hook &hook) const
+std::string portfolio_memory_card_slot_device::get_default_card_software(get_default_card_software_hook &hook) const
{
return software_get_default_slot("rom");
}
diff --git a/src/devices/bus/pofo/ccm.h b/src/devices/bus/pofo/ccm.h
index c960b8eed98..ac57eb143c7 100644
--- a/src/devices/bus/pofo/ccm.h
+++ b/src/devices/bus/pofo/ccm.h
@@ -43,10 +43,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_POFO_CCM_H
+#define MAME_BUS_POFO_CCM_H
-#ifndef __PORTFOLIO_MEMORY_CARD_SLOT__
-#define __PORTFOLIO_MEMORY_CARD_SLOT__
+#pragma once
#include "softlist_dev.h"
@@ -77,40 +77,38 @@
// ======================> device_portfolio_memory_card_slot_interface
-class portfolio_memory_card_slot_t;
+class portfolio_memory_card_slot_device;
class device_portfolio_memory_card_slot_interface : public device_slot_card_interface
{
- friend class portfolio_memory_card_slot_t;
+ friend class portfolio_memory_card_slot_device;
public:
- // construction/destruction
- device_portfolio_memory_card_slot_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_portfolio_memory_card_slot_interface() { }
-
virtual bool cdet() { return 1; }
- virtual uint8_t nrdi_r(address_space &space, offs_t offset) { return 0xff; };
- virtual void nwri_w(address_space &space, offs_t offset, uint8_t data) { };
+ virtual uint8_t nrdi_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void nwri_w(address_space &space, offs_t offset, uint8_t data) { }
protected:
+ // construction/destruction
+ device_portfolio_memory_card_slot_interface(const machine_config &mconfig, device_t &device);
+
optional_shared_ptr<uint8_t> m_rom;
optional_shared_ptr<uint8_t> m_nvram;
- portfolio_memory_card_slot_t *m_slot;
+ portfolio_memory_card_slot_device *m_slot;
};
-// ======================> portfolio_memory_card_slot_t
+// ======================> portfolio_memory_card_slot_device
-class portfolio_memory_card_slot_t : public device_t,
+class portfolio_memory_card_slot_device : public device_t,
public device_slot_interface,
public device_image_interface
{
public:
// construction/destruction
- portfolio_memory_card_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~portfolio_memory_card_slot_t() { }
+ portfolio_memory_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// computer interface
bool cdet_r() { return (m_card != nullptr) ? m_card->cdet() : 1; }
@@ -145,10 +143,11 @@ protected:
// device type definition
extern const device_type PORTFOLIO_MEMORY_CARD_SLOT;
+DECLARE_DEVICE_TYPE(PORTFOLIO_MEMORY_CARD_SLOT, portfolio_memory_card_slot_device)
SLOT_INTERFACE_EXTERN( portfolio_memory_cards );
-#endif
+#endif // MAME_BUS_POFO_CCM_H
diff --git a/src/devices/bus/pofo/exp.cpp b/src/devices/bus/pofo/exp.cpp
index c8f5733fe2c..37991dd8989 100644
--- a/src/devices/bus/pofo/exp.cpp
+++ b/src/devices/bus/pofo/exp.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type PORTFOLIO_EXPANSION_SLOT = device_creator<portfolio_expansion_slot_t>;
+DEFINE_DEVICE_TYPE(PORTFOLIO_EXPANSION_SLOT, portfolio_expansion_slot_device, "portfolio_expansion_slot", "Atari Portfolio expansion port")
@@ -30,7 +30,7 @@ const device_type PORTFOLIO_EXPANSION_SLOT = device_creator<portfolio_expansion_
device_portfolio_expansion_slot_interface::device_portfolio_expansion_slot_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig,device)
{
- m_slot = dynamic_cast<portfolio_expansion_slot_t *>(device.owner());
+ m_slot = dynamic_cast<portfolio_expansion_slot_device *>(device.owner());
}
WRITE_LINE_MEMBER( device_portfolio_expansion_slot_interface::eint_w ) { m_slot->eint_w(state); }
@@ -44,11 +44,11 @@ WRITE_LINE_MEMBER( device_portfolio_expansion_slot_interface::wake_w ) { m_slot-
//**************************************************************************
//-------------------------------------------------
-// portfolio_expansion_slot_t - constructor
+// portfolio_expansion_slot_device - constructor
//-------------------------------------------------
-portfolio_expansion_slot_t::portfolio_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PORTFOLIO_EXPANSION_SLOT, "Atari Portfolio expansion port", tag, owner, clock, "portfolio_expansion_slot", __FILE__),
+portfolio_expansion_slot_device::portfolio_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PORTFOLIO_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_write_eint(*this),
m_write_nmio(*this),
@@ -62,7 +62,7 @@ portfolio_expansion_slot_t::portfolio_expansion_slot_t(const machine_config &mco
// device_start - device-specific startup
//-------------------------------------------------
-void portfolio_expansion_slot_t::device_start()
+void portfolio_expansion_slot_device::device_start()
{
m_card = dynamic_cast<device_portfolio_expansion_slot_interface *>(get_card_device());
@@ -77,7 +77,7 @@ void portfolio_expansion_slot_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void portfolio_expansion_slot_t::device_reset()
+void portfolio_expansion_slot_device::device_reset()
{
if (m_card != nullptr)
{
@@ -97,8 +97,8 @@ void portfolio_expansion_slot_t::device_reset()
#include "hpc104.h"
SLOT_INTERFACE_START( portfolio_expansion_cards )
- SLOT_INTERFACE("lpt", HPC101)
- SLOT_INTERFACE("uart", HPC102)
- SLOT_INTERFACE("ram", HPC104)
- SLOT_INTERFACE("ram2", HPC104_2)
+ SLOT_INTERFACE("lpt", POFO_HPC101)
+ SLOT_INTERFACE("uart", POFO_HPC102)
+ SLOT_INTERFACE("ram", POFO_HPC104)
+ SLOT_INTERFACE("ram2", POFO_HPC104_2)
SLOT_INTERFACE_END
diff --git a/src/devices/bus/pofo/exp.h b/src/devices/bus/pofo/exp.h
index 51bb16c71f4..27f882d2603 100644
--- a/src/devices/bus/pofo/exp.h
+++ b/src/devices/bus/pofo/exp.h
@@ -39,10 +39,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_POFO_EXP_H
+#define MAME_BUS_POFO_EXP_H
-#ifndef __PORTFOLIO_EXPANSION_SLOT__
-#define __PORTFOLIO_EXPANSION_SLOT__
+#pragma once
@@ -64,13 +64,13 @@
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
#define MCFG_PORTFOLIO_EXPANSION_SLOT_EINT_CALLBACK(_write) \
- devcb = &portfolio_expansion_slot_t::set_eint_wr_callback(*device, DEVCB_##_write);
+ devcb = &portfolio_expansion_slot_device::set_eint_wr_callback(*device, DEVCB_##_write);
#define MCFG_PORTFOLIO_EXPANSION_SLOT_NMIO_CALLBACK(_write) \
- devcb = &portfolio_expansion_slot_t::set_nmio_wr_callback(*device, DEVCB_##_write);
+ devcb = &portfolio_expansion_slot_device::set_nmio_wr_callback(*device, DEVCB_##_write);
#define MCFG_PORTFOLIO_EXPANSION_SLOT_WAKE_CALLBACK(_write) \
- devcb = &portfolio_expansion_slot_t::set_wake_wr_callback(*device, DEVCB_##_write);
+ devcb = &portfolio_expansion_slot_device::set_wake_wr_callback(*device, DEVCB_##_write);
@@ -80,15 +80,11 @@
// ======================> device_portfolio_expansion_slot_interface
-class portfolio_expansion_slot_t;
+class portfolio_expansion_slot_device;
class device_portfolio_expansion_slot_interface : public device_slot_card_interface
{
public:
- // construction/destruction
- device_portfolio_expansion_slot_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_portfolio_expansion_slot_interface() { }
-
virtual bool nmd1() { return 1; }
virtual bool pdet() { return 0; }
virtual bool cdet() { return 1; }
@@ -96,33 +92,34 @@ public:
virtual uint8_t iack_r() { return 0xff; }
virtual uint8_t eack_r() { return 0xff; }
- virtual uint8_t nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { return data; };
- virtual void nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { };
+ virtual uint8_t nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { return data; }
+ virtual void nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1) { }
- virtual WRITE_LINE_MEMBER( iint_w ) { };
+ virtual WRITE_LINE_MEMBER( iint_w ) { }
DECLARE_WRITE_LINE_MEMBER( eint_w );
DECLARE_WRITE_LINE_MEMBER( nmio_w );
DECLARE_WRITE_LINE_MEMBER( wake_w );
protected:
- portfolio_expansion_slot_t *m_slot;
+ // construction/destruction
+ device_portfolio_expansion_slot_interface(const machine_config &mconfig, device_t &device);
+
+ portfolio_expansion_slot_device *m_slot;
};
-// ======================> portfolio_expansion_slot_t
+// ======================> portfolio_expansion_slot_device
-class portfolio_expansion_slot_t : public device_t,
- public device_slot_interface
+class portfolio_expansion_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- portfolio_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~portfolio_expansion_slot_t() { }
+ portfolio_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_eint_wr_callback(device_t &device, _Object object) { return downcast<portfolio_expansion_slot_t &>(device).m_write_eint.set_callback(object); }
- template<class _Object> static devcb_base &set_nmio_wr_callback(device_t &device, _Object object) { return downcast<portfolio_expansion_slot_t &>(device).m_write_nmio.set_callback(object); }
- template<class _Object> static devcb_base &set_wake_wr_callback(device_t &device, _Object object) { return downcast<portfolio_expansion_slot_t &>(device).m_write_wake.set_callback(object); }
+ template <class Object> static devcb_base &set_eint_wr_callback(device_t &device, Object &&cb) { return downcast<portfolio_expansion_slot_device &>(device).m_write_eint.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_nmio_wr_callback(device_t &device, Object &&cb) { return downcast<portfolio_expansion_slot_device &>(device).m_write_nmio.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_wake_wr_callback(device_t &device, Object &&cb) { return downcast<portfolio_expansion_slot_device &>(device).m_write_wake.set_callback(std::forward<Object>(cb)); }
// computer interface
bool nmd1_r() { return (m_card != nullptr) ? m_card->nmd1() : 1; }
@@ -157,10 +154,9 @@ protected:
// device type definition
extern const device_type PORTFOLIO_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(PORTFOLIO_EXPANSION_SLOT, portfolio_expansion_slot_device)
SLOT_INTERFACE_EXTERN( portfolio_expansion_cards );
-
-
-#endif
+#endif // MAME_BUS_POFO_EXP_H
diff --git a/src/devices/bus/pofo/hpc101.cpp b/src/devices/bus/pofo/hpc101.cpp
index 8d106f00a37..f5511c3963b 100644
--- a/src/devices/bus/pofo/hpc101.cpp
+++ b/src/devices/bus/pofo/hpc101.cpp
@@ -26,7 +26,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type HPC101 = device_creator<hpc101_t>;
+DEFINE_DEVICE_TYPE(POFO_HPC101, pofo_hpc101_device, "pofo_hpc101", "Atari Portfolio HPC-101")
//-------------------------------------------------
@@ -62,7 +62,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor hpc101_t::device_mconfig_additions() const
+machine_config_constructor pofo_hpc101_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( hpc101 );
}
@@ -73,11 +73,11 @@ machine_config_constructor hpc101_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// hpc101_t - constructor
+// pofo_hpc101_device - constructor
//-------------------------------------------------
-hpc101_t::hpc101_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, HPC101, "Atari Portfolio HPC-101", tag, owner, clock, "hpc101", __FILE__),
+pofo_hpc101_device::pofo_hpc101_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, POFO_HPC101, tag, owner, clock),
device_portfolio_expansion_slot_interface(mconfig, *this),
m_ppi(*this, M82C55A_TAG)
{
@@ -88,7 +88,7 @@ hpc101_t::hpc101_t(const machine_config &mconfig, const char *tag, device_t *own
// device_start - device-specific startup
//-------------------------------------------------
-void hpc101_t::device_start()
+void pofo_hpc101_device::device_start()
{
}
@@ -97,7 +97,7 @@ void hpc101_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void hpc101_t::device_reset()
+void pofo_hpc101_device::device_reset()
{
m_ppi->reset();
}
@@ -107,7 +107,7 @@ void hpc101_t::device_reset()
// nrdi_r - read
//-------------------------------------------------
-uint8_t hpc101_t::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+uint8_t pofo_hpc101_device::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
if (!bcom)
{
@@ -130,7 +130,7 @@ uint8_t hpc101_t::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool
// nwri_w - write
//-------------------------------------------------
-void hpc101_t::nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+void pofo_hpc101_device::nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
if (!bcom)
{
diff --git a/src/devices/bus/pofo/hpc101.h b/src/devices/bus/pofo/hpc101.h
index 9a700be92b9..f5cc803b5bb 100644
--- a/src/devices/bus/pofo/hpc101.h
+++ b/src/devices/bus/pofo/hpc101.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_POFO_HPC101_H
+#define MAME_BUS_POFO_HPC101_H
-#ifndef __HPC101__
-#define __HPC101__
+#pragma once
#include "exp.h"
#include "bus/centronics/ctronics.h"
@@ -21,14 +21,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> hpc101_t
+// ======================> pofo_hpc101_device
-class hpc101_t : public device_t,
- public device_portfolio_expansion_slot_interface
+class pofo_hpc101_device : public device_t, public device_portfolio_expansion_slot_interface
{
public:
// construction/destruction
- hpc101_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pofo_hpc101_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -50,8 +49,6 @@ private:
// device type definition
-extern const device_type HPC101;
-
-
+DECLARE_DEVICE_TYPE(POFO_HPC101, pofo_hpc101_device)
-#endif
+#endif // MAME_BUS_POFO_HPC101_H
diff --git a/src/devices/bus/pofo/hpc102.cpp b/src/devices/bus/pofo/hpc102.cpp
index 72c886b32d3..45dfb9e3c13 100644
--- a/src/devices/bus/pofo/hpc102.cpp
+++ b/src/devices/bus/pofo/hpc102.cpp
@@ -26,7 +26,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type HPC102 = device_creator<hpc102_t>;
+DEFINE_DEVICE_TYPE(POFO_HPC102, pofo_hpc102_device, "pofo_hpc102", "Atari Portfolio HPC-102")
//-------------------------------------------------
@@ -54,7 +54,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor hpc102_t::device_mconfig_additions() const
+machine_config_constructor pofo_hpc102_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( hpc102 );
}
@@ -65,11 +65,11 @@ machine_config_constructor hpc102_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// hpc102_t - constructor
+// pofo_hpc102_device - constructor
//-------------------------------------------------
-hpc102_t::hpc102_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, HPC102, "Atari Portfolio HPC-102", tag, owner, clock, "hpc102", __FILE__),
+pofo_hpc102_device::pofo_hpc102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, POFO_HPC102, tag, owner, clock),
device_portfolio_expansion_slot_interface(mconfig, *this),
m_uart(*this, M82C50A_TAG)
{
@@ -80,7 +80,7 @@ hpc102_t::hpc102_t(const machine_config &mconfig, const char *tag, device_t *own
// device_start - device-specific startup
//-------------------------------------------------
-void hpc102_t::device_start()
+void pofo_hpc102_device::device_start()
{
}
@@ -89,7 +89,7 @@ void hpc102_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void hpc102_t::device_reset()
+void pofo_hpc102_device::device_reset()
{
m_uart->reset();
}
@@ -99,7 +99,7 @@ void hpc102_t::device_reset()
// eack_r - external interrupt acknowledge
//-------------------------------------------------
-uint8_t hpc102_t::eack_r()
+uint8_t pofo_hpc102_device::eack_r()
{
return m_vector;
}
@@ -109,7 +109,7 @@ uint8_t hpc102_t::eack_r()
// nrdi_r - read
//-------------------------------------------------
-uint8_t hpc102_t::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+uint8_t pofo_hpc102_device::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
if (!bcom)
{
@@ -132,7 +132,7 @@ uint8_t hpc102_t::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool
// nwri_w - write
//-------------------------------------------------
-void hpc102_t::nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+void pofo_hpc102_device::nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
if (!bcom)
{
diff --git a/src/devices/bus/pofo/hpc102.h b/src/devices/bus/pofo/hpc102.h
index e492e6cdc38..e0ba50074e4 100644
--- a/src/devices/bus/pofo/hpc102.h
+++ b/src/devices/bus/pofo/hpc102.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_POFO_HPC102_H
+#define MAME_BUS_POFO_HPC102_H
-#ifndef __HPC102__
-#define __HPC102__
+#pragma once
#include "exp.h"
#include "bus/rs232/rs232.h"
@@ -21,14 +21,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> hpc102_t
+// ======================> pofo_hpc102_device
-class hpc102_t : public device_t,
- public device_portfolio_expansion_slot_interface
+class pofo_hpc102_device : public device_t, public device_portfolio_expansion_slot_interface
{
public:
// construction/destruction
- hpc102_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pofo_hpc102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -54,12 +53,6 @@ private:
// device type definition
-extern const device_type HPC102;
-
-
-
-#endif
-/*
-
+DECLARE_DEVICE_TYPE(POFO_HPC102, pofo_hpc102_device)
-*/
+#endif // MAME_BUS_POFO_HPC102_H
diff --git a/src/devices/bus/pofo/hpc104.cpp b/src/devices/bus/pofo/hpc104.cpp
index 050fdc2bb6c..7c22c9b6625 100644
--- a/src/devices/bus/pofo/hpc104.cpp
+++ b/src/devices/bus/pofo/hpc104.cpp
@@ -23,8 +23,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type HPC104 = device_creator<hpc104_t>;
-const device_type HPC104_2 = device_creator<hpc104_2_t>;
+DEFINE_DEVICE_TYPE(POFO_HPC104, pofo_hpc104_device, "pofo_hpc104", "Atari Portfolio HPC-104")
+DEFINE_DEVICE_TYPE(POFO_HPC104_2, pofo_hpc104_2_device, "pofo_hpc104_2", "Atari Portfolio HPC-104 (Unit 2)")
//-------------------------------------------------
@@ -35,9 +35,9 @@ static MACHINE_CONFIG_FRAGMENT( hpc104 )
MCFG_PORTFOLIO_MEMORY_CARD_SLOT_ADD(PORTFOLIO_MEMORY_CARD_SLOT_B_TAG, portfolio_memory_cards, nullptr)
MCFG_PORTFOLIO_EXPANSION_SLOT_ADD(PORTFOLIO_EXPANSION_SLOT_TAG, XTAL_4_9152MHz, portfolio_expansion_cards, nullptr)
- MCFG_PORTFOLIO_EXPANSION_SLOT_EINT_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_t, eint_w))
- MCFG_PORTFOLIO_EXPANSION_SLOT_NMIO_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_t, nmio_w))
- MCFG_PORTFOLIO_EXPANSION_SLOT_WAKE_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_t, wake_w))
+ MCFG_PORTFOLIO_EXPANSION_SLOT_EINT_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_device, eint_w))
+ MCFG_PORTFOLIO_EXPANSION_SLOT_NMIO_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_device, nmio_w))
+ MCFG_PORTFOLIO_EXPANSION_SLOT_WAKE_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_device, wake_w))
MACHINE_CONFIG_END
@@ -46,7 +46,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor hpc104_t::device_mconfig_additions() const
+machine_config_constructor pofo_hpc104_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( hpc104 );
}
@@ -68,7 +68,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor hpc104_t::device_input_ports() const
+ioport_constructor pofo_hpc104_device::device_input_ports() const
{
return INPUT_PORTS_NAME( hpc104 );
}
@@ -90,7 +90,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor hpc104_2_t::device_input_ports() const
+ioport_constructor pofo_hpc104_2_device::device_input_ports() const
{
return INPUT_PORTS_NAME( hpc104_2 );
}
@@ -102,11 +102,11 @@ ioport_constructor hpc104_2_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// hpc104_t - constructor
+// pofo_hpc104_device - constructor
//-------------------------------------------------
-hpc104_t::hpc104_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+pofo_hpc104_device::pofo_hpc104_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_portfolio_expansion_slot_interface(mconfig, *this),
device_nvram_interface(mconfig, *this),
m_ccm(*this, PORTFOLIO_MEMORY_CARD_SLOT_B_TAG),
@@ -116,31 +116,27 @@ hpc104_t::hpc104_t(const machine_config &mconfig, device_type type, const char *
{
}
-hpc104_t::hpc104_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, HPC104, "Atari Portfolio HPC-104", tag, owner, clock, "hpc104", __FILE__),
- device_portfolio_expansion_slot_interface(mconfig, *this),
- device_nvram_interface(mconfig, *this),
- m_ccm(*this, PORTFOLIO_MEMORY_CARD_SLOT_B_TAG),
- m_exp(*this, PORTFOLIO_EXPANSION_SLOT_TAG),
- m_nvram(*this, "nvram"),
- m_io_sw1(*this, "SW1")
+pofo_hpc104_device::pofo_hpc104_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ pofo_hpc104_device(mconfig, POFO_HPC104, tag, owner, clock)
{
}
//-------------------------------------------------
-// hpc104_2_t - constructor
+// pofo_hpc104_2_device - constructor
//-------------------------------------------------
-hpc104_2_t::hpc104_2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- hpc104_t(mconfig, HPC104_2, "Atari Portfolio HPC-104 (Unit 2)", tag, owner, clock, "hpc104_2", __FILE__) { }
+pofo_hpc104_2_device::pofo_hpc104_2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ pofo_hpc104_device(mconfig, POFO_HPC104_2, tag, owner, clock)
+{
+}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
-void hpc104_t::device_start()
+void pofo_hpc104_device::device_start()
{
// allocate memory
m_nvram.allocate(0x40000);
@@ -151,7 +147,7 @@ void hpc104_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void hpc104_t::device_reset()
+void pofo_hpc104_device::device_reset()
{
m_sw1 = BIT(m_io_sw1->read(), 0);
}
@@ -161,7 +157,7 @@ void hpc104_t::device_reset()
// nrdi_r - read
//-------------------------------------------------
-uint8_t hpc104_t::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+uint8_t pofo_hpc104_device::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
data = m_exp->nrdi_r(space, offset, data, iom, bcom, m_ncc1_out || ncc1);
@@ -198,7 +194,7 @@ uint8_t hpc104_t::nrdi_r(address_space &space, offs_t offset, uint8_t data, bool
// nwri_w - write
//-------------------------------------------------
-void hpc104_t::nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
+void pofo_hpc104_device::nwri_w(address_space &space, offs_t offset, uint8_t data, bool iom, bool bcom, bool ncc1)
{
m_exp->nwri_w(space, offset, data, iom, bcom, m_ncc1_out || ncc1);
diff --git a/src/devices/bus/pofo/hpc104.h b/src/devices/bus/pofo/hpc104.h
index 38337f5ed35..50350490785 100644
--- a/src/devices/bus/pofo/hpc104.h
+++ b/src/devices/bus/pofo/hpc104.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_POFO_HPC104_H
+#define MAME_BUS_POFO_HPC104_H
-#ifndef __HPC104__
-#define __HPC104__
+#pragma once
#include "exp.h"
#include "bus/pofo/ccm.h"
@@ -21,22 +21,23 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> hpc104_t
+// ======================> pofo_hpc104_device
-class hpc104_t : public device_t,
+class pofo_hpc104_device : public device_t,
public device_portfolio_expansion_slot_interface,
public device_nvram_interface
{
public:
// construction/destruction
- hpc104_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- hpc104_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pofo_hpc104_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
protected:
+ pofo_hpc104_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -55,8 +56,8 @@ protected:
virtual WRITE_LINE_MEMBER( iint_w ) override { m_exp->iint_w(state); }
private:
- required_device<portfolio_memory_card_slot_t> m_ccm;
- required_device<portfolio_expansion_slot_t> m_exp;
+ required_device<portfolio_memory_card_slot_device> m_ccm;
+ required_device<portfolio_expansion_slot_device> m_exp;
optional_shared_ptr<uint8_t> m_nvram;
required_ioport m_io_sw1;
@@ -65,13 +66,13 @@ private:
};
-// ======================> hpc104_2_t
+// ======================> pofo_hpc104_2_device
-class hpc104_2_t : public hpc104_t
+class pofo_hpc104_2_device : public pofo_hpc104_device
{
public:
// construction/destruction
- hpc104_2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pofo_hpc104_2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
@@ -79,9 +80,7 @@ public:
// device type definition
-extern const device_type HPC104;
-extern const device_type HPC104_2;
-
-
+DECLARE_DEVICE_TYPE(POFO_HPC104, pofo_hpc104_device)
+DECLARE_DEVICE_TYPE(POFO_HPC104_2, pofo_hpc104_2_device)
-#endif
+#endif // MAME_BUS_POFO_HPC104_H
diff --git a/src/devices/bus/pofo/ram.cpp b/src/devices/bus/pofo/ram.cpp
index 79d2a87ad0e..6ef861a0b5d 100644
--- a/src/devices/bus/pofo/ram.cpp
+++ b/src/devices/bus/pofo/ram.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PORTFOLIO_RAM_CARD = device_creator<portfolio_ram_card_t>;
+DEFINE_DEVICE_TYPE(PORTFOLIO_RAM_CARD, portfolio_ram_card_device, "portfolio_ram_card", "Atari Portfolio RAM card")
//**************************************************************************
@@ -23,11 +23,11 @@ const device_type PORTFOLIO_RAM_CARD = device_creator<portfolio_ram_card_t>;
//**************************************************************************
//-------------------------------------------------
-// portfolio_ram_card_t - constructor
+// portfolio_ram_card_device - constructor
//-------------------------------------------------
-portfolio_ram_card_t::portfolio_ram_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PORTFOLIO_RAM_CARD, "Atari Portfolio RAM card", tag, owner, clock, "portfolio_ram_card", __FILE__),
+portfolio_ram_card_device::portfolio_ram_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PORTFOLIO_RAM_CARD, tag, owner, clock),
device_portfolio_memory_card_slot_interface(mconfig, *this),
device_nvram_interface(mconfig, *this)
{
@@ -38,7 +38,7 @@ portfolio_ram_card_t::portfolio_ram_card_t(const machine_config &mconfig, const
// device_start - device-specific startup
//-------------------------------------------------
-void portfolio_ram_card_t::device_start()
+void portfolio_ram_card_device::device_start()
{
m_nvram.allocate(0x20000);
}
@@ -48,7 +48,7 @@ void portfolio_ram_card_t::device_start()
// nrdi_r - read
//-------------------------------------------------
-uint8_t portfolio_ram_card_t::nrdi_r(address_space &space, offs_t offset)
+uint8_t portfolio_ram_card_device::nrdi_r(address_space &space, offs_t offset)
{
return m_nvram[offset];
}
@@ -58,7 +58,7 @@ uint8_t portfolio_ram_card_t::nrdi_r(address_space &space, offs_t offset)
// nwri_w - write
//-------------------------------------------------
-void portfolio_ram_card_t::nwri_w(address_space &space, offs_t offset, uint8_t data)
+void portfolio_ram_card_device::nwri_w(address_space &space, offs_t offset, uint8_t data)
{
m_nvram[offset] = data;
}
diff --git a/src/devices/bus/pofo/ram.h b/src/devices/bus/pofo/ram.h
index 25ee7f837f9..9d126b51a2c 100644
--- a/src/devices/bus/pofo/ram.h
+++ b/src/devices/bus/pofo/ram.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_POFO_RAM_H
+#define MAME_BUS_POFO_RAM_H
-#ifndef __PORTFOLIO_RAM_CARD__
-#define __PORTFOLIO_RAM_CARD__
+#pragma once
#include "ccm.h"
#include "machine/nvram.h"
@@ -20,15 +20,15 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> portfolio_ram_card_t
+// ======================> portfolio_ram_card_device
-class portfolio_ram_card_t : public device_t,
+class portfolio_ram_card_device : public device_t,
public device_portfolio_memory_card_slot_interface,
public device_nvram_interface
{
public:
// construction/destruction
- portfolio_ram_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ portfolio_ram_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides
@@ -48,8 +48,6 @@ protected:
// device type definition
-extern const device_type PORTFOLIO_RAM_CARD;
-
-
+DECLARE_DEVICE_TYPE(PORTFOLIO_RAM_CARD, portfolio_ram_card_device)
-#endif
+#endif // MAME_BUS_POFO_RAM_H
diff --git a/src/devices/bus/pofo/rom.cpp b/src/devices/bus/pofo/rom.cpp
index b3862b15753..8155444783a 100644
--- a/src/devices/bus/pofo/rom.cpp
+++ b/src/devices/bus/pofo/rom.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PORTFOLIO_ROM_CARD = device_creator<portfolio_rom_card_t>;
+DEFINE_DEVICE_TYPE(PORTFOLIO_ROM_CARD, portfolio_rom_card_device, "portfolio_rom_card", "Atari Portfolio ROM card")
//**************************************************************************
@@ -23,11 +23,11 @@ const device_type PORTFOLIO_ROM_CARD = device_creator<portfolio_rom_card_t>;
//**************************************************************************
//-------------------------------------------------
-// portfolio_rom_card_t - constructor
+// portfolio_rom_card_device - constructor
//-------------------------------------------------
-portfolio_rom_card_t::portfolio_rom_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PORTFOLIO_ROM_CARD, "Atari Portfolio ROM card", tag, owner, clock, "portfolio_rom_card", __FILE__),
+portfolio_rom_card_device::portfolio_rom_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PORTFOLIO_ROM_CARD, tag, owner, clock),
device_portfolio_memory_card_slot_interface(mconfig, *this)
{
}
@@ -37,7 +37,7 @@ portfolio_rom_card_t::portfolio_rom_card_t(const machine_config &mconfig, const
// device_start - device-specific startup
//-------------------------------------------------
-void portfolio_rom_card_t::device_start()
+void portfolio_rom_card_device::device_start()
{
}
@@ -46,7 +46,7 @@ void portfolio_rom_card_t::device_start()
// nrdi_r - read
//-------------------------------------------------
-uint8_t portfolio_rom_card_t::nrdi_r(address_space &space, offs_t offset)
+uint8_t portfolio_rom_card_device::nrdi_r(address_space &space, offs_t offset)
{
return m_rom[offset];
}
diff --git a/src/devices/bus/pofo/rom.h b/src/devices/bus/pofo/rom.h
index f8b7841f0cd..eab0ff1fde4 100644
--- a/src/devices/bus/pofo/rom.h
+++ b/src/devices/bus/pofo/rom.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_POFO_ROM_H
+#define MAME_BUS_POFO_ROM_H
-#ifndef __PORTFOLIO_ROM_CARD__
-#define __PORTFOLIO_ROM_CARD__
+#pragma once
#include "ccm.h"
@@ -19,14 +19,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> portfolio_rom_card_t
+// ======================> portfolio_rom_card_device
-class portfolio_rom_card_t : public device_t,
+class portfolio_rom_card_device : public device_t,
public device_portfolio_memory_card_slot_interface
{
public:
// construction/destruction
- portfolio_rom_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ portfolio_rom_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides
@@ -40,8 +40,6 @@ protected:
// device type definition
-extern const device_type PORTFOLIO_ROM_CARD;
-
-
+DECLARE_DEVICE_TYPE(PORTFOLIO_ROM_CARD, portfolio_rom_card_device)
-#endif
+#endif // MAME_BUS_POFO_ROM_H
diff --git a/src/devices/bus/psx/analogue.cpp b/src/devices/bus/psx/analogue.cpp
index cea69c2f930..aa181ddf9dc 100644
--- a/src/devices/bus/psx/analogue.cpp
+++ b/src/devices/bus/psx/analogue.cpp
@@ -3,37 +3,35 @@
#include "emu.h"
#include "analogue.h"
-const device_type PSX_ANALOG_JOYSTICK = device_creator<psx_analog_joystick_device>;
-const device_type PSX_DUALSHOCK = device_creator<psx_dualshock_device>;
+DEFINE_DEVICE_TYPE(PSX_DUALSHOCK, psx_dualshock_device, "psx_dualshock_pad", "Playstation Dualshock Pad")
+DEFINE_DEVICE_TYPE(PSX_ANALOG_JOYSTICK, psx_analog_joystick_device, "psx_analog_joystick", "Playstation Analog Joystick")
-psx_analog_controller_device::psx_analog_controller_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_psx_controller_interface(mconfig, *this),
- m_type(),
- m_confmode(false),
- m_analogmode(false),
- m_analoglock(false),
- m_temp(0),
- m_cmd(0),
- m_pad0(*this, "PSXPAD0"),
- m_pad1(*this, "PSXPAD1"),
- m_rstickx(*this, "PSXRSTICKX"),
- m_rsticky(*this, "PSXRSTICKY"),
- m_lstickx(*this, "PSXLSTICKX"),
- m_lsticky(*this, "PSXLSTICKY")
+psx_analog_controller_device::psx_analog_controller_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, model mod) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_psx_controller_interface(mconfig, *this),
+ m_model(mod),
+ m_confmode(false),
+ m_analogmode(false),
+ m_analoglock(false),
+ m_temp(0),
+ m_cmd(0),
+ m_pad0(*this, "PSXPAD0"),
+ m_pad1(*this, "PSXPAD1"),
+ m_rstickx(*this, "PSXRSTICKX"),
+ m_rsticky(*this, "PSXRSTICKY"),
+ m_lstickx(*this, "PSXLSTICKX"),
+ m_lsticky(*this, "PSXLSTICKY")
{
}
psx_dualshock_device::psx_dualshock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- psx_analog_controller_device(mconfig, PSX_DUALSHOCK, "Playstation Dualshock Pad", tag, owner, clock, "psx_dualshock_pad", __FILE__)
+ psx_analog_controller_device(mconfig, PSX_DUALSHOCK, tag, owner, clock, model::DUALSHOCK)
{
- m_type = DUALSHOCK;
}
psx_analog_joystick_device::psx_analog_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- psx_analog_controller_device(mconfig, PSX_ANALOG_JOYSTICK, "Playstation Analog Joystick", tag, owner, clock, "psx_analog_joystick", __FILE__)
+ psx_analog_controller_device(mconfig, PSX_ANALOG_JOYSTICK, tag, owner, clock, model::JOYSTICK)
{
- m_type = JOYSTICK;
}
void psx_analog_controller_device::device_reset()
@@ -52,7 +50,7 @@ uint8_t psx_analog_controller_device::pad_data(int count, bool analog)
{
case 2:
data = m_pad0->read();
- if(!analog || (m_type == JOYSTICK))
+ if (!analog || (m_model == model::JOYSTICK))
data |= 6; // l3/r3
break;
case 3:
@@ -169,7 +167,7 @@ bool psx_analog_controller_device::get_pad(int count, uint8_t *odata, uint8_t id
switch(count)
{
case 0:
- if(m_type == JOYSTICK)
+ if(m_model == model::JOYSTICK)
*odata = 0x53;
else
*odata = 0x73;
diff --git a/src/devices/bus/psx/analogue.h b/src/devices/bus/psx/analogue.h
index 4a52a0cb80e..7809f12ecd0 100644
--- a/src/devices/bus/psx/analogue.h
+++ b/src/devices/bus/psx/analogue.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#ifndef PSXANALOG_H_
-#define PSXANALOG_H_
+#ifndef MAME_BUS_PSX_ANALOGUE_H
+#define MAME_BUS_PSX_ANALOGUE_H
+
+#pragma once
#include "ctlrport.h"
@@ -12,21 +14,22 @@ class psx_analog_controller_device : public device_t,
public device_psx_controller_interface
{
public:
- psx_analog_controller_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
virtual ioport_constructor device_input_ports() const override;
DECLARE_INPUT_CHANGED_MEMBER(change_mode);
protected:
+ enum class model { JOYSTICK, DUALSHOCK };
+
+ psx_analog_controller_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, model mod);
+
+ virtual void device_start() override { }
virtual void device_reset() override;
- virtual void device_start() override {}
- enum {
- JOYSTICK,
- DUALSHOCK
- } m_type;
+
private:
virtual bool get_pad(int count, uint8_t *odata, uint8_t idata) override;
uint8_t pad_data(int count, bool analog);
+ const model m_model;
+
bool m_confmode;
bool m_analogmode;
bool m_analoglock;
@@ -54,4 +57,4 @@ public:
psx_analog_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
-#endif /* PSXANALOG_H_ */
+#endif // MAME_BUS_PSX_ANALOGUE_H
diff --git a/src/devices/bus/psx/ctlrport.cpp b/src/devices/bus/psx/ctlrport.cpp
index 5ca35dc27ec..b125617cc41 100644
--- a/src/devices/bus/psx/ctlrport.cpp
+++ b/src/devices/bus/psx/ctlrport.cpp
@@ -7,14 +7,16 @@
#include "analogue.h"
#include "multitap.h"
-const device_type PSX_CONTROLLER_PORT = device_creator<psx_controller_port_device>;
+DEFINE_DEVICE_TYPE(PSX_CONTROLLER_PORT, psx_controller_port_device, "psx_controller_port", "Playstation Controller Port")
+DEFINE_DEVICE_TYPE(PSXCONTROLLERPORTS, psxcontrollerports_device, "psxcontrollerports", "Playstation Controller Bus")
+DEFINE_DEVICE_TYPE(PSX_STANDARD_CONTROLLER, psx_standard_controller_device, "psx_standard_controller", "Playstation Standard Controller")
psx_controller_port_device::psx_controller_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PSX_CONTROLLER_PORT, "Playstation Controller Port", tag, owner, clock, "psx_controller_port", __FILE__),
- device_slot_interface(mconfig, *this),
- m_tx(false),
- m_dev(nullptr),
- m_card(*this, "card")
+ device_t(mconfig, PSX_CONTROLLER_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_tx(false),
+ m_dev(nullptr),
+ m_card(*this, "card")
{
}
@@ -40,10 +42,9 @@ void psx_controller_port_device::disable_card(bool state)
m_card->disable(state);
}
-const device_type PSXCONTROLLERPORTS = device_creator<psxcontrollerports_device>;
-
-psxcontrollerports_device::psxcontrollerports_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, PSXCONTROLLERPORTS, "PSXCONTROLLERPORTS", tag, owner, clock, "psxcontrollerports", __FILE__), m_port0(nullptr), m_port1(nullptr),
+psxcontrollerports_device::psxcontrollerports_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PSXCONTROLLERPORTS, tag, owner, clock),
+ m_port0(nullptr), m_port1(nullptr),
m_dsr_handler(*this),
m_rxd_handler(*this)
{
@@ -100,8 +101,8 @@ void psxcontrollerports_device::ack()
}
device_psx_controller_interface::device_psx_controller_interface(const machine_config &mconfig, device_t &device) :
- device_slot_card_interface(mconfig, device), m_odata(0), m_idata(0), m_bit(0), m_count(0), m_memcard(false), m_clock(false), m_sel(false),
- m_ack(true), m_rx(false), m_ack_timer(nullptr), m_owner(nullptr)
+ device_slot_card_interface(mconfig, device), m_odata(0), m_idata(0), m_bit(0), m_count(0), m_memcard(false), m_clock(false), m_sel(false),
+ m_ack(true), m_rx(false), m_ack_timer(nullptr), m_owner(nullptr)
{
}
@@ -172,13 +173,11 @@ void device_psx_controller_interface::sel_w(bool state) {
m_sel = state;
}
-const device_type PSX_STANDARD_CONTROLLER = device_creator<psx_standard_controller_device>;
-
psx_standard_controller_device::psx_standard_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PSX_STANDARD_CONTROLLER, "Playstation Standard Controller", tag, owner, clock, "psx_standard_controller", __FILE__),
- device_psx_controller_interface(mconfig, *this),
- m_pad0(*this,"PSXPAD0"),
- m_pad1(*this,"PSXPAD1")
+ device_t(mconfig, PSX_STANDARD_CONTROLLER, tag, owner, clock),
+ device_psx_controller_interface(mconfig, *this),
+ m_pad0(*this, "PSXPAD0"),
+ m_pad1(*this, "PSXPAD1")
{
}
diff --git a/src/devices/bus/psx/ctlrport.h b/src/devices/bus/psx/ctlrport.h
index 24a72de1439..04afc2e2e85 100644
--- a/src/devices/bus/psx/ctlrport.h
+++ b/src/devices/bus/psx/ctlrport.h
@@ -1,9 +1,10 @@
// license:BSD-3-Clause
// copyright-holders:Carl
+#ifndef MAME_BUS_PSX_CTLRPORT_H
+#define MAME_BUS_PSX_CTLRPORT_H
+
#pragma once
-#ifndef __PSXCPORT_H__
-#define __PSXCPORT_H__
#include "memcard.h"
@@ -13,9 +14,9 @@
SLOT_INTERFACE_EXTERN(psx_controllers);
-extern const device_type PSXCONTROLLERPORTS;
-extern const device_type PSX_CONTROLLER_PORT;
-extern const device_type PSX_STANDARD_CONTROLLER;
+DECLARE_DEVICE_TYPE(PSXCONTROLLERPORTS, psxcontrollerports_device)
+DECLARE_DEVICE_TYPE(PSX_CONTROLLER_PORT, psx_controller_port_device)
+DECLARE_DEVICE_TYPE(PSX_STANDARD_CONTROLLER, psx_standard_controller_device)
class psx_controller_port_device;
@@ -23,7 +24,6 @@ class device_psx_controller_interface : public device_slot_card_interface
{
friend class psx_multitap_device;
public:
- device_psx_controller_interface(const machine_config &mconfig, device_t &device);
virtual ~device_psx_controller_interface();
void clock_w(bool state) { if(!m_clock && !m_sel && state && !m_memcard) do_pad(); m_clock = state; }
@@ -33,6 +33,8 @@ public:
bool ack_r() { return m_ack; }
protected:
+ device_psx_controller_interface(const machine_config &mconfig, device_t &device);
+
virtual void interface_pre_reset() override;
virtual void interface_pre_start() override;
@@ -89,10 +91,11 @@ class psxcontrollerports_device : public device_t
{
public:
psxcontrollerports_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
void ack();
- template<class _Object> static devcb_base &set_dsr_handler(device_t &device, _Object object) { return downcast<psxcontrollerports_device &>(device).m_dsr_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_rxd_handler(device_t &device, _Object object) { return downcast<psxcontrollerports_device &>(device).m_rxd_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_dsr_handler(device_t &device, Object &&cb) { return downcast<psxcontrollerports_device &>(device).m_dsr_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_rxd_handler(device_t &device, Object &&cb) { return downcast<psxcontrollerports_device &>(device).m_rxd_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER(write_sck);
DECLARE_WRITE_LINE_MEMBER(write_dtr);
@@ -142,4 +145,5 @@ private:
device_psx_controller_interface *m_dev;
required_device<psxcard_device> m_card;
};
-#endif
+
+#endif // MAME_BUS_PSX_CTLRPORT_H
diff --git a/src/devices/bus/psx/memcard.cpp b/src/devices/bus/psx/memcard.cpp
index d7ba400e98a..7f53c69dcfa 100644
--- a/src/devices/bus/psx/memcard.cpp
+++ b/src/devices/bus/psx/memcard.cpp
@@ -21,10 +21,10 @@
//
//
-static const int block_size = 128;
-static const int card_size = block_size * 1024;
+static constexpr int block_size = 128;
+static constexpr int card_size = block_size * 1024;
-const device_type PSXCARD = device_creator<psxcard_device>;
+DEFINE_DEVICE_TYPE(PSXCARD, psxcard_device, "psxcard", "Sony PSX Memory Card")
enum transfer_states
{
@@ -42,7 +42,7 @@ enum transfer_states
};
psxcard_device::psxcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, PSXCARD, "Sony PSX Memory Card", tag, owner, clock, "psxcard", __FILE__),
+ : device_t(mconfig, PSXCARD, tag, owner, clock),
device_image_interface(mconfig, *this),
pkt_ptr(0),
pkt_sz(0),
diff --git a/src/devices/bus/psx/memcard.h b/src/devices/bus/psx/memcard.h
index e8abc232f5b..51ac4f044ba 100644
--- a/src/devices/bus/psx/memcard.h
+++ b/src/devices/bus/psx/memcard.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Carl,psxAuthor,R. Belmont
-#pragma once
+#ifndef MAME_BUS_PSX_MEMCARD_H
+#define MAME_BUS_PSX_MEMCARD_H
-#ifndef _PSXCARD_
-#define _PSXCARD_
+#pragma once
class psx_controller_port_device;
@@ -31,7 +31,23 @@ public:
void disable(bool state) { m_disabled = state; if(state) unload(); }
+ void clock_w(bool state) { if(!m_clock && !m_sel && state && !m_pad) do_card(); m_clock = state; }
+ void sel_w(bool state);
+ bool rx_r() { return m_rx; }
+ bool ack_r() { return m_ack; }
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
+ void read_card(const unsigned short addr, unsigned char *buf);
+ void write_card(const unsigned short addr, unsigned char *buf);
+ unsigned char checksum_data(const unsigned char *buf, const unsigned int sz);
+ void do_card();
+ bool transfer(uint8_t to, uint8_t *from);
+ void ack_timer(void *ptr, int param);
+
unsigned char pkt[0x8b], pkt_ptr, pkt_sz, cmd;
unsigned short addr;
int state;
@@ -50,25 +66,9 @@ private:
emu_timer *m_ack_timer;
psx_controller_port_device *m_owner;
-
- void read_card(const unsigned short addr, unsigned char *buf);
- void write_card(const unsigned short addr, unsigned char *buf);
- unsigned char checksum_data(const unsigned char *buf, const unsigned int sz);
- void do_card();
- bool transfer(uint8_t to, uint8_t *from);
- void ack_timer(void *ptr, int param);
-
-public:
- virtual void device_start() override;
- virtual void device_reset() override;
-
- void clock_w(bool state) { if(!m_clock && !m_sel && state && !m_pad) do_card(); m_clock = state; }
- void sel_w(bool state);
- bool rx_r() { return m_rx; }
- bool ack_r() { return m_ack; }
};
// device type definition
-extern const device_type PSXCARD;
+DECLARE_DEVICE_TYPE(PSXCARD, psxcard_device)
-#endif
+#endif // MAME_BUS_PSX_MEMCARD_H
diff --git a/src/devices/bus/psx/multitap.cpp b/src/devices/bus/psx/multitap.cpp
index 2c70a6dc9e0..fbe47e8cf4f 100644
--- a/src/devices/bus/psx/multitap.cpp
+++ b/src/devices/bus/psx/multitap.cpp
@@ -5,10 +5,10 @@
#include "emu.h"
#include "multitap.h"
-const device_type PSX_MULTITAP = device_creator<psx_multitap_device>;
+DEFINE_DEVICE_TYPE(PSX_MULTITAP, psx_multitap_device, "psx_multitap", "Playstation Multitap")
psx_multitap_device::psx_multitap_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
- device_t(mconfig, PSX_MULTITAP, "Playstation Multitap", tag, owner, clock, "psx_multitap", __FILE__),
+ device_t(mconfig, PSX_MULTITAP, tag, owner, clock),
device_psx_controller_interface(mconfig, *this),
m_activeport(0),
m_singlemode(false),
diff --git a/src/devices/bus/psx/multitap.h b/src/devices/bus/psx/multitap.h
index c826edef8c3..9c03d803181 100644
--- a/src/devices/bus/psx/multitap.h
+++ b/src/devices/bus/psx/multitap.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Carl
-#ifndef PSXMULTITAP_H_
-#define PSXMULTITAP_H_
+#ifndef MAME_BUS_PSX_MULTITAP_H
+#define MAME_BUS_PSX_MULTITAP_H
#include "ctlrport.h"
@@ -18,7 +18,6 @@ protected:
virtual void device_start() override;
virtual void device_stop() override { device_psx_controller_interface::m_owner->disable_card(false); }
virtual void device_reset() override { device_psx_controller_interface::m_owner->disable_card(true); }
- virtual void device_config_complete() override { m_shortname = "psx_multitap"; }
virtual void interface_pre_reset() override;
private:
@@ -40,4 +39,4 @@ private:
extern const device_type PSX_MULTITAP;
-#endif /* PSXMULTITAP_H_ */
+#endif // MAME_BUS_PSX_MULTITAP_H
diff --git a/src/devices/bus/ql/cst_q_plus4.cpp b/src/devices/bus/ql/cst_q_plus4.cpp
index 30f3b15c8ac..b3b892e6c05 100644
--- a/src/devices/bus/ql/cst_q_plus4.cpp
+++ b/src/devices/bus/ql/cst_q_plus4.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CST_Q_PLUS4 = device_creator<cst_q_plus4_t>;
+DEFINE_DEVICE_TYPE(CST_Q_PLUS4, cst_q_plus4_device, "ql_qplus4", "CST Q+4")
//-------------------------------------------------
@@ -40,7 +40,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *cst_q_plus4_t::device_rom_region() const
+const tiny_rom_entry *cst_q_plus4_device::device_rom_region() const
{
return ROM_NAME( cst_q_plus4 );
}
@@ -54,16 +54,16 @@ static MACHINE_CONFIG_FRAGMENT( cst_q_plus4 )
MCFG_DEVICE_ADD(MC6821_TAG, PIA6821, 0)
MCFG_QL_EXPANSION_SLOT_ADD("exp1", ql_expansion_cards, nullptr)
- MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(cst_q_plus4_t, exp1_extintl_w))
+ MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(cst_q_plus4_device, exp1_extintl_w))
MCFG_QL_EXPANSION_SLOT_ADD("exp2", ql_expansion_cards, nullptr)
- MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(cst_q_plus4_t, exp2_extintl_w))
+ MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(cst_q_plus4_device, exp2_extintl_w))
MCFG_QL_EXPANSION_SLOT_ADD("exp3", ql_expansion_cards, nullptr)
- MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(cst_q_plus4_t, exp3_extintl_w))
+ MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(cst_q_plus4_device, exp3_extintl_w))
MCFG_QL_EXPANSION_SLOT_ADD("exp4", ql_expansion_cards, nullptr)
- MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(cst_q_plus4_t, exp4_extintl_w))
+ MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(cst_q_plus4_device, exp4_extintl_w))
MACHINE_CONFIG_END
@@ -72,7 +72,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor cst_q_plus4_t::device_mconfig_additions() const
+machine_config_constructor cst_q_plus4_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cst_q_plus4 );
}
@@ -84,11 +84,11 @@ machine_config_constructor cst_q_plus4_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// cst_q_plus4_t - constructor
+// cst_q_plus4_device - constructor
//-------------------------------------------------
-cst_q_plus4_t::cst_q_plus4_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CST_Q_PLUS4, "CST Q+4", tag, owner, clock, "ql_qplus4", __FILE__),
+cst_q_plus4_device::cst_q_plus4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, CST_Q_PLUS4, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this),
m_exp1(*this, "exp1"),
m_exp2(*this, "exp2"),
@@ -107,7 +107,7 @@ cst_q_plus4_t::cst_q_plus4_t(const machine_config &mconfig, const char *tag, dev
// device_start - device-specific startup
//-------------------------------------------------
-void cst_q_plus4_t::device_start()
+void cst_q_plus4_device::device_start()
{
}
@@ -116,7 +116,7 @@ void cst_q_plus4_t::device_start()
// read -
//-------------------------------------------------
-uint8_t cst_q_plus4_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t cst_q_plus4_device::read(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0xc000 && offset < 0xc200)
{
@@ -136,7 +136,7 @@ uint8_t cst_q_plus4_t::read(address_space &space, offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void cst_q_plus4_t::write(address_space &space, offs_t offset, uint8_t data)
+void cst_q_plus4_device::write(address_space &space, offs_t offset, uint8_t data)
{
m_exp1->write(space, offset, data);
m_exp2->write(space, offset, data);
diff --git a/src/devices/bus/ql/cst_q_plus4.h b/src/devices/bus/ql/cst_q_plus4.h
index 8ac923d3856..a9e5261bce7 100644
--- a/src/devices/bus/ql/cst_q_plus4.h
+++ b/src/devices/bus/ql/cst_q_plus4.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_CST_Q_PLUS4_H
+#define MAME_BUS_QL_CST_Q_PLUS4_H
-#ifndef __CST_Q_PLUS4__
-#define __CST_Q_PLUS4__
+#pragma once
#include "exp.h"
#include "machine/6821pia.h"
@@ -20,14 +20,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> cst_q_plus4_t
+// ======================> cst_q_plus4_device
-class cst_q_plus4_t : public device_t,
- public device_ql_expansion_card_interface
+class cst_q_plus4_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- cst_q_plus4_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cst_q_plus4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -49,10 +48,10 @@ protected:
private:
void update_extintl() { m_slot->extintl_w(m_exp1_extinl || m_exp2_extinl || m_exp3_extinl || m_exp4_extinl); }
- required_device<ql_expansion_slot_t> m_exp1;
- required_device<ql_expansion_slot_t> m_exp2;
- required_device<ql_expansion_slot_t> m_exp3;
- required_device<ql_expansion_slot_t> m_exp4;
+ required_device<ql_expansion_slot_device> m_exp1;
+ required_device<ql_expansion_slot_device> m_exp2;
+ required_device<ql_expansion_slot_device> m_exp3;
+ required_device<ql_expansion_slot_device> m_exp4;
required_memory_region m_rom;
int m_exp1_extinl;
@@ -62,10 +61,7 @@ private:
};
-
// device type definition
-extern const device_type CST_Q_PLUS4;
-
-
+DECLARE_DEVICE_TYPE(CST_Q_PLUS4, cst_q_plus4_device)
-#endif
+#endif // MAME_BUS_QL_CST_Q_PLUS4_H
diff --git a/src/devices/bus/ql/cst_qdisc.cpp b/src/devices/bus/ql/cst_qdisc.cpp
index db18cd6241b..8cca3bdb838 100644
--- a/src/devices/bus/ql/cst_qdisc.cpp
+++ b/src/devices/bus/ql/cst_qdisc.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CST_QL_DISC_INTERFACE = device_creator<cst_ql_disc_interface_t>;
+DEFINE_DEVICE_TYPE(CST_QL_DISC_INTERFACE, cst_ql_disc_interface_device, "ql_qldisc", "CST QL Disc Interface")
//-------------------------------------------------
@@ -36,7 +36,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *cst_ql_disc_interface_t::device_rom_region() const
+const tiny_rom_entry *cst_ql_disc_interface_device::device_rom_region() const
{
return ROM_NAME( cst_ql_disc_interface );
}
@@ -48,11 +48,11 @@ const tiny_rom_entry *cst_ql_disc_interface_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// cst_ql_disc_interface_t - constructor
+// cst_ql_disc_interface_device - constructor
//-------------------------------------------------
-cst_ql_disc_interface_t::cst_ql_disc_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CST_QL_DISC_INTERFACE, "CST QL Disc Interface", tag, owner, clock, "ql_qdisc", __FILE__),
+cst_ql_disc_interface_device::cst_ql_disc_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, CST_QL_DISC_INTERFACE, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this)
{
}
@@ -62,7 +62,7 @@ cst_ql_disc_interface_t::cst_ql_disc_interface_t(const machine_config &mconfig,
// device_start - device-specific startup
//-------------------------------------------------
-void cst_ql_disc_interface_t::device_start()
+void cst_ql_disc_interface_device::device_start()
{
}
@@ -71,7 +71,7 @@ void cst_ql_disc_interface_t::device_start()
// read -
//-------------------------------------------------
-uint8_t cst_ql_disc_interface_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t cst_ql_disc_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -81,6 +81,6 @@ uint8_t cst_ql_disc_interface_t::read(address_space &space, offs_t offset, uint8
// write -
//-------------------------------------------------
-void cst_ql_disc_interface_t::write(address_space &space, offs_t offset, uint8_t data)
+void cst_ql_disc_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/cst_qdisc.h b/src/devices/bus/ql/cst_qdisc.h
index fc156e4a6b9..e4c4dc6343d 100644
--- a/src/devices/bus/ql/cst_qdisc.h
+++ b/src/devices/bus/ql/cst_qdisc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_CST_QDISC_H
+#define MAME_BUS_QL_CST_QDISC_H
-#ifndef __CST_QL_DISC_INTERFACE__
-#define __CST_QL_DISC_INTERFACE__
+#pragma once
#include "exp.h"
@@ -19,14 +19,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> cst_ql_disc_interface_t
+// ======================> cst_ql_disc_interface_device
-class cst_ql_disc_interface_t : public device_t,
+class cst_ql_disc_interface_device : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
- cst_ql_disc_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cst_ql_disc_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -44,7 +44,6 @@ protected:
// device type definition
extern const device_type CST_QL_DISC_INTERFACE;
+DECLARE_DEVICE_TYPE(CST_QL_DISC_INTERFACE, cst_ql_disc_interface_device)
-
-
-#endif
+#endif // MAME_BUS_QL_CST_QDISC_H
diff --git a/src/devices/bus/ql/cumana_fdi.cpp b/src/devices/bus/ql/cumana_fdi.cpp
index f43844223da..21f07fa75ee 100644
--- a/src/devices/bus/ql/cumana_fdi.cpp
+++ b/src/devices/bus/ql/cumana_fdi.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type CUMANA_FLOPPY_DISK_INTERFACE = device_creator<cumana_floppy_disk_interface_t>;
+DEFINE_DEVICE_TYPE(CUMANA_FLOPPY_DISK_INTERFACE, cumana_floppy_disk_interface_device, "ql_cumanafdi", "Cumana Floppy Disk Interface")
//-------------------------------------------------
@@ -36,7 +36,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *cumana_floppy_disk_interface_t::device_rom_region() const
+const tiny_rom_entry *cumana_floppy_disk_interface_device::device_rom_region() const
{
return ROM_NAME( cumana_floppy_disk_interface );
}
@@ -48,11 +48,11 @@ const tiny_rom_entry *cumana_floppy_disk_interface_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// cumana_floppy_disk_interface_t - constructor
+// cumana_floppy_disk_interface_device - constructor
//-------------------------------------------------
-cumana_floppy_disk_interface_t::cumana_floppy_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CUMANA_FLOPPY_DISK_INTERFACE, "Cumana Floppy Disk Interface", tag, owner, clock, "ql_cumanafdi", __FILE__),
+cumana_floppy_disk_interface_device::cumana_floppy_disk_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, CUMANA_FLOPPY_DISK_INTERFACE, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this)
{
}
@@ -62,7 +62,7 @@ cumana_floppy_disk_interface_t::cumana_floppy_disk_interface_t(const machine_con
// device_start - device-specific startup
//-------------------------------------------------
-void cumana_floppy_disk_interface_t::device_start()
+void cumana_floppy_disk_interface_device::device_start()
{
}
@@ -71,7 +71,7 @@ void cumana_floppy_disk_interface_t::device_start()
// read -
//-------------------------------------------------
-uint8_t cumana_floppy_disk_interface_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t cumana_floppy_disk_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -81,6 +81,6 @@ uint8_t cumana_floppy_disk_interface_t::read(address_space &space, offs_t offset
// write -
//-------------------------------------------------
-void cumana_floppy_disk_interface_t::write(address_space &space, offs_t offset, uint8_t data)
+void cumana_floppy_disk_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/cumana_fdi.h b/src/devices/bus/ql/cumana_fdi.h
index 2531735cb2c..a0da6952cab 100644
--- a/src/devices/bus/ql/cumana_fdi.h
+++ b/src/devices/bus/ql/cumana_fdi.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_CUMANA_FDI_H
+#define MAME_BUS_QL_CUMANA_FDI_H
-#ifndef __CUMANA_FLOPPY_DISK_INTERFACE__
-#define __CUMANA_FLOPPY_DISK_INTERFACE__
+#pragma once
#include "exp.h"
@@ -21,12 +21,11 @@
// ======================> cumana_floppy_disk_interface_t
-class cumana_floppy_disk_interface_t : public device_t,
- public device_ql_expansion_card_interface
+class cumana_floppy_disk_interface_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- cumana_floppy_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cumana_floppy_disk_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -41,10 +40,7 @@ protected:
};
-
// device type definition
-extern const device_type CUMANA_FLOPPY_DISK_INTERFACE;
-
-
+DECLARE_DEVICE_TYPE(CUMANA_FLOPPY_DISK_INTERFACE, cumana_floppy_disk_interface_device)
-#endif
+#endif // MAME_BUS_QL_CUMANA_FDI_H
diff --git a/src/devices/bus/ql/exp.cpp b/src/devices/bus/ql/exp.cpp
index 2794b252b44..89c73d4a08a 100644
--- a/src/devices/bus/ql/exp.cpp
+++ b/src/devices/bus/ql/exp.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type QL_EXPANSION_SLOT = device_creator<ql_expansion_slot_t>;
+DEFINE_DEVICE_TYPE(QL_EXPANSION_SLOT, ql_expansion_slot_device, "ql_expansion_slot", "QL expansion port")
@@ -31,7 +31,7 @@ device_ql_expansion_card_interface::device_ql_expansion_card_interface(const mac
device_slot_card_interface(mconfig, device),
m_romoeh(0)
{
- m_slot = dynamic_cast<ql_expansion_slot_t *>(device.owner());
+ m_slot = dynamic_cast<ql_expansion_slot_device *>(device.owner());
}
@@ -41,11 +41,11 @@ device_ql_expansion_card_interface::device_ql_expansion_card_interface(const mac
//**************************************************************************
//-------------------------------------------------
-// ql_expansion_slot_t - constructor
+// ql_expansion_slot_device - constructor
//-------------------------------------------------
-ql_expansion_slot_t::ql_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, QL_EXPANSION_SLOT, "QL expansion port", tag, owner, clock, "ql_expansion_slot", __FILE__),
+ql_expansion_slot_device::ql_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, QL_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_write_ipl0l(*this),
m_write_ipl1l(*this),
@@ -59,7 +59,7 @@ ql_expansion_slot_t::ql_expansion_slot_t(const machine_config &mconfig, const ch
// device_start - device-specific startup
//-------------------------------------------------
-void ql_expansion_slot_t::device_start()
+void ql_expansion_slot_device::device_start()
{
m_card = dynamic_cast<device_ql_expansion_card_interface *>(get_card_device());
diff --git a/src/devices/bus/ql/exp.h b/src/devices/bus/ql/exp.h
index 76b628df406..43c6c6e7edc 100644
--- a/src/devices/bus/ql/exp.h
+++ b/src/devices/bus/ql/exp.h
@@ -42,11 +42,10 @@
**********************************************************************/
-#pragma once
-
-#ifndef __QL_EXPANSION_SLOT__
-#define __QL_EXPANSION_SLOT__
+#ifndef MAME_BUS_QL_EXP_H
+#define MAME_BUS_QL_EXP_H
+#pragma once
@@ -60,16 +59,16 @@
#define MCFG_QL_EXPANSION_SLOT_IPL0L_CALLBACK(_write) \
- devcb = &ql_expansion_slot_t::set_ipl0l_wr_callback(*device, DEVCB_##_write);
+ devcb = &ql_expansion_slot_device::set_ipl0l_wr_callback(*device, DEVCB_##_write);
#define MCFG_QL_EXPANSION_SLOT_IPL1L_CALLBACK(_write) \
- devcb = &ql_expansion_slot_t::set_ipl1l_wr_callback(*device, DEVCB_##_write);
+ devcb = &ql_expansion_slot_device::set_ipl1l_wr_callback(*device, DEVCB_##_write);
#define MCFG_QL_EXPANSION_SLOT_BERRL_CALLBACK(_write) \
- devcb = &ql_expansion_slot_t::set_berrl_wr_callback(*device, DEVCB_##_write);
+ devcb = &ql_expansion_slot_device::set_berrl_wr_callback(*device, DEVCB_##_write);
#define MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(_write) \
- devcb = &ql_expansion_slot_t::set_extintl_wr_callback(*device, DEVCB_##_write);
+ devcb = &ql_expansion_slot_device::set_extintl_wr_callback(*device, DEVCB_##_write);
@@ -79,11 +78,11 @@
// ======================> device_ql_expansion_card_interface
-class ql_expansion_slot_t;
+class ql_expansion_slot_device;
class device_ql_expansion_card_interface : public device_slot_card_interface
{
- friend class ql_expansion_slot_t;
+ friend class ql_expansion_slot_device;
public:
// construction/destruction
@@ -94,25 +93,24 @@ public:
virtual void write(address_space &space, offs_t offset, uint8_t data) { }
protected:
- ql_expansion_slot_t *m_slot;
+ ql_expansion_slot_device *m_slot;
int m_romoeh;
};
-// ======================> ql_expansion_slot_t
+// ======================> ql_expansion_slot_device
-class ql_expansion_slot_t : public device_t,
- public device_slot_interface
+class ql_expansion_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- ql_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ql_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_ipl0l_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_ipl0l.set_callback(object); }
- template<class _Object> static devcb_base &set_ipl1l_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_ipl1l.set_callback(object); }
- template<class _Object> static devcb_base &set_berrl_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_berrl.set_callback(object); }
- template<class _Object> static devcb_base &set_extintl_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_extintl.set_callback(object); }
+ template <class Object> static devcb_base &set_ipl0l_wr_callback(device_t &device, Object &&cb) { return downcast<ql_expansion_slot_device &>(device).m_write_ipl0l.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_ipl1l_wr_callback(device_t &device, Object &&cb) { return downcast<ql_expansion_slot_device &>(device).m_write_ipl1l.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_berrl_wr_callback(device_t &device, Object &&cb) { return downcast<ql_expansion_slot_device &>(device).m_write_berrl.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_extintl_wr_callback(device_t &device, Object &&cb) { return downcast<ql_expansion_slot_device &>(device).m_write_extintl.set_callback(std::forward<Object>(cb)); }
// computer interface
uint8_t read(address_space &space, offs_t offset, uint8_t data) { if (m_card) data = m_card->read(space, offset, data); return data; }
@@ -140,11 +138,10 @@ protected:
// device type definition
-extern const device_type QL_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(QL_EXPANSION_SLOT, ql_expansion_slot_device)
SLOT_INTERFACE_EXTERN( ql_expansion_cards );
-
-#endif
+#endif // MAME_BUS_QL_EXP_H
diff --git a/src/devices/bus/ql/kempston_di.cpp b/src/devices/bus/ql/kempston_di.cpp
index 4430c07b3a2..171c5788f06 100644
--- a/src/devices/bus/ql/kempston_di.cpp
+++ b/src/devices/bus/ql/kempston_di.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type KEMPSTON_DISK_INTERFACE = device_creator<kempston_disk_interface_t>;
+DEFINE_DEVICE_TYPE(KEMPSTON_DISK_INTERFACE, kempston_disk_interface_device, "ql_kdi", "Kempston Disk Interface")
//-------------------------------------------------
@@ -34,7 +34,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *kempston_disk_interface_t::device_rom_region() const
+const tiny_rom_entry *kempston_disk_interface_device::device_rom_region() const
{
return ROM_NAME( kempston_disk_system );
}
@@ -46,11 +46,11 @@ const tiny_rom_entry *kempston_disk_interface_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// kempston_disk_interface_t - constructor
+// kempston_disk_interface_device - constructor
//-------------------------------------------------
-kempston_disk_interface_t::kempston_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, KEMPSTON_DISK_INTERFACE, "Kempston Disk Interface", tag, owner, clock, "ql_kdi", __FILE__),
+kempston_disk_interface_device::kempston_disk_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, KEMPSTON_DISK_INTERFACE, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this)
{
}
@@ -60,7 +60,7 @@ kempston_disk_interface_t::kempston_disk_interface_t(const machine_config &mconf
// device_start - device-specific startup
//-------------------------------------------------
-void kempston_disk_interface_t::device_start()
+void kempston_disk_interface_device::device_start()
{
}
@@ -69,7 +69,7 @@ void kempston_disk_interface_t::device_start()
// read -
//-------------------------------------------------
-uint8_t kempston_disk_interface_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t kempston_disk_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -79,6 +79,6 @@ uint8_t kempston_disk_interface_t::read(address_space &space, offs_t offset, uin
// write -
//-------------------------------------------------
-void kempston_disk_interface_t::write(address_space &space, offs_t offset, uint8_t data)
+void kempston_disk_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/kempston_di.h b/src/devices/bus/ql/kempston_di.h
index 8a16bfdee0a..e37c3d7f6b7 100644
--- a/src/devices/bus/ql/kempston_di.h
+++ b/src/devices/bus/ql/kempston_di.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QQL_KEMPSTON_DI_H
+#define MAME_BUS_QQL_KEMPSTON_DI_H
-#ifndef __KEMPSTON_DISK_INTERFACE__
-#define __KEMPSTON_DISK_INTERFACE__
+#pragma once
#include "exp.h"
@@ -19,14 +19,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> kempston_disk_interface_t
+// ======================> kempston_disk_interface_device
-class kempston_disk_interface_t : public device_t,
- public device_ql_expansion_card_interface
+class kempston_disk_interface_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- kempston_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ kempston_disk_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -41,10 +40,8 @@ protected:
};
-
// device type definition
-extern const device_type KEMPSTON_DISK_INTERFACE;
-
+DECLARE_DEVICE_TYPE(KEMPSTON_DISK_INTERFACE, kempston_disk_interface_device)
-#endif
+#endif // MAME_BUS_QQL_KEMPSTON_DI_H
diff --git a/src/devices/bus/ql/miracle_gold_card.cpp b/src/devices/bus/ql/miracle_gold_card.cpp
index 167955ac4cf..626824a1eb0 100644
--- a/src/devices/bus/ql/miracle_gold_card.cpp
+++ b/src/devices/bus/ql/miracle_gold_card.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type MIRACLE_GOLD_CARD = device_creator<miracle_gold_card_t>;
+DEFINE_DEVICE_TYPE(MIRACLE_GOLD_CARD, miracle_gold_card_device, "ql_gold", "Miracle Gold Card")
//-------------------------------------------------
@@ -36,7 +36,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *miracle_gold_card_t::device_rom_region() const
+const tiny_rom_entry *miracle_gold_card_device::device_rom_region() const
{
return ROM_NAME( miracle_gold_card );
}
@@ -48,11 +48,11 @@ const tiny_rom_entry *miracle_gold_card_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// miracle_gold_card_t - constructor
+// miracle_gold_card_device - constructor
//-------------------------------------------------
-miracle_gold_card_t::miracle_gold_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, MIRACLE_GOLD_CARD, "Miracle Gold Card", tag, owner, clock, "ql_gold", __FILE__),
+miracle_gold_card_device::miracle_gold_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, MIRACLE_GOLD_CARD, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this)
{
}
@@ -62,7 +62,7 @@ miracle_gold_card_t::miracle_gold_card_t(const machine_config &mconfig, const ch
// device_start - device-specific startup
//-------------------------------------------------
-void miracle_gold_card_t::device_start()
+void miracle_gold_card_device::device_start()
{
}
@@ -71,7 +71,7 @@ void miracle_gold_card_t::device_start()
// read -
//-------------------------------------------------
-uint8_t miracle_gold_card_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t miracle_gold_card_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -81,6 +81,6 @@ uint8_t miracle_gold_card_t::read(address_space &space, offs_t offset, uint8_t d
// write -
//-------------------------------------------------
-void miracle_gold_card_t::write(address_space &space, offs_t offset, uint8_t data)
+void miracle_gold_card_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/miracle_gold_card.h b/src/devices/bus/ql/miracle_gold_card.h
index 0d8404ca07b..feea55de78c 100644
--- a/src/devices/bus/ql/miracle_gold_card.h
+++ b/src/devices/bus/ql/miracle_gold_card.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_MIRACLE_GOLD_CARD_H
+#define MAME_BUS_QL_MIRACLE_GOLD_CARD_H
-#ifndef __MIRACLE_GOLD_CARD__
-#define __MIRACLE_GOLD_CARD__
+#pragma once
#include "exp.h"
@@ -19,14 +19,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> miracle_gold_card_t
+// ======================> miracle_gold_card_device
-class miracle_gold_card_t : public device_t,
- public device_ql_expansion_card_interface
+class miracle_gold_card_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- miracle_gold_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ miracle_gold_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -43,8 +42,6 @@ protected:
// device type definition
-extern const device_type MIRACLE_GOLD_CARD;
-
-
+DECLARE_DEVICE_TYPE(MIRACLE_GOLD_CARD, miracle_gold_card_device)
-#endif
+#endif // MAME_BUS_QL_MIRACLE_GOLD_CARD_H
diff --git a/src/devices/bus/ql/miracle_hd.cpp b/src/devices/bus/ql/miracle_hd.cpp
index 040c3c691cc..ab6381adc78 100644
--- a/src/devices/bus/ql/miracle_hd.cpp
+++ b/src/devices/bus/ql/miracle_hd.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type MIRACLE_HARD_DISK = device_creator<miracle_hard_disk_t>;
+DEFINE_DEVICE_TYPE(MIRACLE_HARD_DISK, miracle_hard_disk_device, "ql_mhd", "Miracle Hard Disk")
//-------------------------------------------------
@@ -34,7 +34,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *miracle_hard_disk_t::device_rom_region() const
+const tiny_rom_entry *miracle_hard_disk_device::device_rom_region() const
{
return ROM_NAME( miracle_hard_disk );
}
@@ -46,11 +46,11 @@ const tiny_rom_entry *miracle_hard_disk_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// miracle_hard_disk_t - constructor
+// miracle_hard_disk_device - constructor
//-------------------------------------------------
-miracle_hard_disk_t::miracle_hard_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, MIRACLE_HARD_DISK, "Miracle Hard Disk", tag, owner, clock, "ql_mhd", __FILE__),
+miracle_hard_disk_device::miracle_hard_disk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, MIRACLE_HARD_DISK, tag, owner, clock),
device_ql_rom_cartridge_card_interface(mconfig, *this)
{
}
@@ -60,7 +60,7 @@ miracle_hard_disk_t::miracle_hard_disk_t(const machine_config &mconfig, const ch
// device_start - device-specific startup
//-------------------------------------------------
-void miracle_hard_disk_t::device_start()
+void miracle_hard_disk_device::device_start()
{
}
@@ -69,7 +69,7 @@ void miracle_hard_disk_t::device_start()
// read -
//-------------------------------------------------
-uint8_t miracle_hard_disk_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t miracle_hard_disk_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -79,6 +79,6 @@ uint8_t miracle_hard_disk_t::read(address_space &space, offs_t offset, uint8_t d
// write -
//-------------------------------------------------
-void miracle_hard_disk_t::write(address_space &space, offs_t offset, uint8_t data)
+void miracle_hard_disk_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/miracle_hd.h b/src/devices/bus/ql/miracle_hd.h
index 10bbe9051a4..0bcd260bb87 100644
--- a/src/devices/bus/ql/miracle_hd.h
+++ b/src/devices/bus/ql/miracle_hd.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_MIRACLE_HD
+#define MAME_BUS_QL_MIRACLE_HD
-#ifndef __MIRACLE_HARD_DISK__
-#define __MIRACLE_HARD_DISK__
+#pragma once
#include "rom.h"
@@ -19,14 +19,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> miracle_hard_disk_t
+// ======================> miracle_hard_disk_device
-class miracle_hard_disk_t : public device_t,
+class miracle_hard_disk_device : public device_t,
public device_ql_rom_cartridge_card_interface
{
public:
// construction/destruction
- miracle_hard_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ miracle_hard_disk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -41,10 +41,7 @@ protected:
};
-
// device type definition
-extern const device_type MIRACLE_HARD_DISK;
-
-
+DECLARE_DEVICE_TYPE(MIRACLE_HARD_DISK, miracle_hard_disk_device)
-#endif
+#endif // MAME_BUS_QL_MIRACLE_HD
diff --git a/src/devices/bus/ql/mp_fdi.cpp b/src/devices/bus/ql/mp_fdi.cpp
index 2aac9dd094c..dc35760c5f3 100644
--- a/src/devices/bus/ql/mp_fdi.cpp
+++ b/src/devices/bus/ql/mp_fdi.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE = device_creator<micro_peripherals_floppy_disk_interface_t>;
+DEFINE_DEVICE_TYPE(MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE, micro_peripherals_floppy_disk_interface_device, "ql_mpfdi", "Micro Peripherals Floppy Disk Interface")
//-------------------------------------------------
@@ -34,7 +34,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *micro_peripherals_floppy_disk_interface_t::device_rom_region() const
+const tiny_rom_entry *micro_peripherals_floppy_disk_interface_device::device_rom_region() const
{
return ROM_NAME( micro_peripherals_floppy_disk_interface );
}
@@ -46,11 +46,11 @@ const tiny_rom_entry *micro_peripherals_floppy_disk_interface_t::device_rom_regi
//**************************************************************************
//-------------------------------------------------
-// micro_peripherals_floppy_disk_interface_t - constructor
+// micro_peripherals_floppy_disk_interface_device - constructor
//-------------------------------------------------
-micro_peripherals_floppy_disk_interface_t::micro_peripherals_floppy_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE, "Micro Peripherals Floppy Disk Interface", tag, owner, clock, "ql_mpfdi", __FILE__),
+micro_peripherals_floppy_disk_interface_device::micro_peripherals_floppy_disk_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this)
{
}
@@ -60,7 +60,7 @@ micro_peripherals_floppy_disk_interface_t::micro_peripherals_floppy_disk_interfa
// device_start - device-specific startup
//-------------------------------------------------
-void micro_peripherals_floppy_disk_interface_t::device_start()
+void micro_peripherals_floppy_disk_interface_device::device_start()
{
}
@@ -69,7 +69,7 @@ void micro_peripherals_floppy_disk_interface_t::device_start()
// read -
//-------------------------------------------------
-uint8_t micro_peripherals_floppy_disk_interface_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t micro_peripherals_floppy_disk_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -79,6 +79,6 @@ uint8_t micro_peripherals_floppy_disk_interface_t::read(address_space &space, of
// write -
//-------------------------------------------------
-void micro_peripherals_floppy_disk_interface_t::write(address_space &space, offs_t offset, uint8_t data)
+void micro_peripherals_floppy_disk_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/mp_fdi.h b/src/devices/bus/ql/mp_fdi.h
index 8ea642ea26d..9939e540ba7 100644
--- a/src/devices/bus/ql/mp_fdi.h
+++ b/src/devices/bus/ql/mp_fdi.h
@@ -6,27 +6,25 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_MP_FDI_H
+#define MAME_BUS_QL_MP_FDI_H
-#ifndef __MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE__
-#define __MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE__
+#pragma once
#include "exp.h"
-
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> micro_peripherals_floppy_disk_interface_t
+// ======================> micro_peripherals_floppy_disk_interface_device
-class micro_peripherals_floppy_disk_interface_t : public device_t,
- public device_ql_expansion_card_interface
+class micro_peripherals_floppy_disk_interface_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- micro_peripherals_floppy_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ micro_peripherals_floppy_disk_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -41,10 +39,7 @@ protected:
};
-
// device type definition
-extern const device_type MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE;
-
-
+DECLARE_DEVICE_TYPE(MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE, micro_peripherals_floppy_disk_interface_device)
-#endif
+#endif // MAME_BUS_QL_MP_FDI_H
diff --git a/src/devices/bus/ql/opd_basic_master.cpp b/src/devices/bus/ql/opd_basic_master.cpp
index 8cefd393ade..015fca91a37 100644
--- a/src/devices/bus/ql/opd_basic_master.cpp
+++ b/src/devices/bus/ql/opd_basic_master.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type OPD_BASIC_MASTER = device_creator<opd_basic_master_t>;
+DEFINE_DEVICE_TYPE(OPD_BASIC_MASTER, opd_basic_master_device, "ql_opdbm", "OPD Basic Master")
//-------------------------------------------------
@@ -32,7 +32,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *opd_basic_master_t::device_rom_region() const
+const tiny_rom_entry *opd_basic_master_device::device_rom_region() const
{
return ROM_NAME( opd_basic_master );
}
@@ -44,11 +44,11 @@ const tiny_rom_entry *opd_basic_master_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// opd_basic_master_t - constructor
+// opd_basic_master_device - constructor
//-------------------------------------------------
-opd_basic_master_t::opd_basic_master_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, OPD_BASIC_MASTER, "OPD Basic Master", tag, owner, clock, "ql_opdbm", __FILE__),
+opd_basic_master_device::opd_basic_master_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, OPD_BASIC_MASTER, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this)
{
}
@@ -58,7 +58,7 @@ opd_basic_master_t::opd_basic_master_t(const machine_config &mconfig, const char
// device_start - device-specific startup
//-------------------------------------------------
-void opd_basic_master_t::device_start()
+void opd_basic_master_device::device_start()
{
}
@@ -67,7 +67,7 @@ void opd_basic_master_t::device_start()
// read -
//-------------------------------------------------
-uint8_t opd_basic_master_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t opd_basic_master_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -77,6 +77,6 @@ uint8_t opd_basic_master_t::read(address_space &space, offs_t offset, uint8_t da
// write -
//-------------------------------------------------
-void opd_basic_master_t::write(address_space &space, offs_t offset, uint8_t data)
+void opd_basic_master_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/opd_basic_master.h b/src/devices/bus/ql/opd_basic_master.h
index 3611cfa11f1..d22b50eff8c 100644
--- a/src/devices/bus/ql/opd_basic_master.h
+++ b/src/devices/bus/ql/opd_basic_master.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_OPD_BASIC_MASTER_H
+#define MAME_BUS_QL_OPD_BASIC_MASTER_H
-#ifndef __OPD_BASIC_MASTER__
-#define __OPD_BASIC_MASTER__
+#pragma once
#include "exp.h"
@@ -19,14 +19,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> opd_basic_master_t
+// ======================> opd_basic_master_device
-class opd_basic_master_t : public device_t,
- public device_ql_expansion_card_interface
+class opd_basic_master_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- opd_basic_master_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ opd_basic_master_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -41,10 +40,7 @@ protected:
};
-
// device type definition
-extern const device_type OPD_BASIC_MASTER;
-
-
+DECLARE_DEVICE_TYPE(OPD_BASIC_MASTER, opd_basic_master_device)
-#endif
+#endif // MAME_BUS_QL_OPD_BASIC_MASTER_H
diff --git a/src/devices/bus/ql/pcml_qdisk.cpp b/src/devices/bus/ql/pcml_qdisk.cpp
index 1307f024047..2159dafab9f 100644
--- a/src/devices/bus/ql/pcml_qdisk.cpp
+++ b/src/devices/bus/ql/pcml_qdisk.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PCML_Q_DISK_INTERFACE = device_creator<pcml_q_disk_interface_t>;
+DEFINE_DEVICE_TYPE(PCML_Q_DISK_INTERFACE, pcml_q_disk_interface_device, "ql_pcmlqdi", "PCML Q+ Disk Interface")
//-------------------------------------------------
@@ -34,7 +34,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *pcml_q_disk_interface_t::device_rom_region() const
+const tiny_rom_entry *pcml_q_disk_interface_device::device_rom_region() const
{
return ROM_NAME( pcml_q_disk_interface );
}
@@ -46,11 +46,11 @@ const tiny_rom_entry *pcml_q_disk_interface_t::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// pcml_q_disk_interface_t - constructor
+// pcml_q_disk_interface_device - constructor
//-------------------------------------------------
-pcml_q_disk_interface_t::pcml_q_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PCML_Q_DISK_INTERFACE, "PCML Q+ Disk Interface", tag, owner, clock, "ql_pcmlqdi", __FILE__),
+pcml_q_disk_interface_device::pcml_q_disk_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, PCML_Q_DISK_INTERFACE, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this)
{
}
@@ -60,7 +60,7 @@ pcml_q_disk_interface_t::pcml_q_disk_interface_t(const machine_config &mconfig,
// device_start - device-specific startup
//-------------------------------------------------
-void pcml_q_disk_interface_t::device_start()
+void pcml_q_disk_interface_device::device_start()
{
}
@@ -69,7 +69,7 @@ void pcml_q_disk_interface_t::device_start()
// read -
//-------------------------------------------------
-uint8_t pcml_q_disk_interface_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t pcml_q_disk_interface_device::read(address_space &space, offs_t offset, uint8_t data)
{
return data;
}
@@ -79,6 +79,6 @@ uint8_t pcml_q_disk_interface_t::read(address_space &space, offs_t offset, uint8
// write -
//-------------------------------------------------
-void pcml_q_disk_interface_t::write(address_space &space, offs_t offset, uint8_t data)
+void pcml_q_disk_interface_device::write(address_space &space, offs_t offset, uint8_t data)
{
}
diff --git a/src/devices/bus/ql/pcml_qdisk.h b/src/devices/bus/ql/pcml_qdisk.h
index 120787eebd2..e9904df6eb0 100644
--- a/src/devices/bus/ql/pcml_qdisk.h
+++ b/src/devices/bus/ql/pcml_qdisk.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_PCML_QDISK_H
+#define MAME_BUS_QL_PCML_QDISK_H
-#ifndef __PCML_Q_DISK_INTERFACE__
-#define __PCML_Q_DISK_INTERFACE__
+#pragma once
#include "exp.h"
@@ -19,14 +19,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> pcml_q_disk_interface_t
+// ======================> pcml_q_disk_interface_device
-class pcml_q_disk_interface_t : public device_t,
- public device_ql_expansion_card_interface
+class pcml_q_disk_interface_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- pcml_q_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pcml_q_disk_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -41,10 +40,7 @@ protected:
};
-
// device type definition
-extern const device_type PCML_Q_DISK_INTERFACE;
-
-
+DECLARE_DEVICE_TYPE(PCML_Q_DISK_INTERFACE, pcml_q_disk_interface_device)
-#endif
+#endif // MAME_BUS_QL_PCML_QDISK_H
diff --git a/src/devices/bus/ql/qubide.cpp b/src/devices/bus/ql/qubide.cpp
index 30591d96aab..d529fe96ac5 100644
--- a/src/devices/bus/ql/qubide.cpp
+++ b/src/devices/bus/ql/qubide.cpp
@@ -55,7 +55,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type QUBIDE = device_creator<qubide_t>;
+DEFINE_DEVICE_TYPE(QUBIDE, qubide_device, "ql_qubide", "QubIDE")
//-------------------------------------------------
@@ -82,7 +82,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *qubide_t::device_rom_region() const
+const tiny_rom_entry *qubide_device::device_rom_region() const
{
return ROM_NAME( qubide );
}
@@ -102,7 +102,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor qubide_t::device_mconfig_additions() const
+machine_config_constructor qubide_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( qubide );
}
@@ -154,7 +154,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor qubide_t::device_input_ports() const
+ioport_constructor qubide_device::device_input_ports() const
{
return INPUT_PORTS_NAME( qubide );
}
@@ -166,11 +166,11 @@ ioport_constructor qubide_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// qubide_t - constructor
+// qubide_device - constructor
//-------------------------------------------------
-qubide_t::qubide_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, QUBIDE, "QubIDE", tag, owner, clock, "ql_qubide", __FILE__),
+qubide_device::qubide_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, QUBIDE, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this),
m_ata(*this, "ata"),
m_rom(*this, "rom"),
@@ -185,7 +185,7 @@ qubide_t::qubide_t(const machine_config &mconfig, const char *tag, device_t *own
// device_start - device-specific startup
//-------------------------------------------------
-void qubide_t::device_start()
+void qubide_device::device_start()
{
}
@@ -194,7 +194,7 @@ void qubide_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void qubide_t::device_reset()
+void qubide_device::device_reset()
{
int j1_j5 = m_j1_j5->read();
@@ -211,7 +211,7 @@ void qubide_t::device_reset()
// read -
//-------------------------------------------------
-uint8_t qubide_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t qubide_device::read(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xfc000) == m_base)
{
@@ -256,7 +256,7 @@ uint8_t qubide_t::read(address_space &space, offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void qubide_t::write(address_space &space, offs_t offset, uint8_t data)
+void qubide_device::write(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xfc000) == m_base)
{
diff --git a/src/devices/bus/ql/qubide.h b/src/devices/bus/ql/qubide.h
index 9ebbdaa95e5..2dd652d58a9 100644
--- a/src/devices/bus/ql/qubide.h
+++ b/src/devices/bus/ql/qubide.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_QUBIDE_H
+#define MAME_BUS_QL_QUBIDE_H
-#ifndef __QUBIDE__
-#define __QUBIDE__
+#pragma once
#include "exp.h"
#include "machine/ataintf.h"
@@ -20,14 +20,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> qubide_t
+// ======================> qubide_device
-class qubide_t : public device_t,
- public device_ql_expansion_card_interface
+class qubide_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- qubide_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ qubide_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -55,8 +54,6 @@ private:
// device type definition
-extern const device_type QUBIDE;
-
-
+DECLARE_DEVICE_TYPE(QUBIDE, qubide_device)
-#endif
+#endif // MAME_BUS_QL_QUBIDE_H
diff --git a/src/devices/bus/ql/rom.cpp b/src/devices/bus/ql/rom.cpp
index 08258e5b679..27d46b5c47b 100644
--- a/src/devices/bus/ql/rom.cpp
+++ b/src/devices/bus/ql/rom.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type QL_ROM_CARTRIDGE_SLOT = device_creator<ql_rom_cartridge_slot_t>;
+DEFINE_DEVICE_TYPE(QL_ROM_CARTRIDGE_SLOT, ql_rom_cartridge_slot_device, "ql_rom_cartridge_slot", "QL ROM cartridge slot")
@@ -32,7 +32,7 @@ device_ql_rom_cartridge_card_interface::device_ql_rom_cartridge_card_interface(c
m_rom(*this, "rom"),
m_romoeh(0)
{
- m_slot = dynamic_cast<ql_rom_cartridge_slot_t *>(device.owner());
+ m_slot = dynamic_cast<ql_rom_cartridge_slot_device *>(device.owner());
}
@@ -51,11 +51,11 @@ device_ql_rom_cartridge_card_interface::~device_ql_rom_cartridge_card_interface(
//**************************************************************************
//-------------------------------------------------
-// ql_rom_cartridge_slot_t - constructor
+// ql_rom_cartridge_slot_device - constructor
//-------------------------------------------------
-ql_rom_cartridge_slot_t::ql_rom_cartridge_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, QL_ROM_CARTRIDGE_SLOT, "QL ROM cartridge slot", tag, owner, clock, "ql_rom_cartridge_slot", __FILE__),
+ql_rom_cartridge_slot_device::ql_rom_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, QL_ROM_CARTRIDGE_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
device_image_interface(mconfig, *this), m_card(nullptr)
{
@@ -66,7 +66,7 @@ ql_rom_cartridge_slot_t::ql_rom_cartridge_slot_t(const machine_config &mconfig,
// device_start - device-specific startup
//-------------------------------------------------
-void ql_rom_cartridge_slot_t::device_start()
+void ql_rom_cartridge_slot_device::device_start()
{
m_card = dynamic_cast<device_ql_rom_cartridge_card_interface *>(get_card_device());
}
@@ -76,7 +76,7 @@ void ql_rom_cartridge_slot_t::device_start()
// call_load -
//-------------------------------------------------
-image_init_result ql_rom_cartridge_slot_t::call_load()
+image_init_result ql_rom_cartridge_slot_device::call_load()
{
if (m_card)
{
@@ -103,7 +103,7 @@ image_init_result ql_rom_cartridge_slot_t::call_load()
// get_default_card_software -
//-------------------------------------------------
-std::string ql_rom_cartridge_slot_t::get_default_card_software(get_default_card_software_hook &hook) const
+std::string ql_rom_cartridge_slot_device::get_default_card_software(get_default_card_software_hook &hook) const
{
return software_get_default_slot("standard");
}
diff --git a/src/devices/bus/ql/rom.h b/src/devices/bus/ql/rom.h
index 826235b2be6..72b4d75dc2f 100644
--- a/src/devices/bus/ql/rom.h
+++ b/src/devices/bus/ql/rom.h
@@ -25,10 +25,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_ROM_H
+#define MAME_BUS_QL_ROM_H
-#ifndef __QL_ROM_CARTRIDGE_SLOT__
-#define __QL_ROM_CARTRIDGE_SLOT__
+#pragma once
#include "softlist_dev.h"
@@ -49,15 +49,14 @@
// ======================> device_ql_rom_cartridge_card_interface
-class ql_rom_cartridge_slot_t;
+class ql_rom_cartridge_slot_device;
class device_ql_rom_cartridge_card_interface : public device_slot_card_interface
{
- friend class ql_rom_cartridge_slot_t;
+ friend class ql_rom_cartridge_slot_device;
public:
// construction/destruction
- device_ql_rom_cartridge_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_ql_rom_cartridge_card_interface();
virtual void romoeh_w(int state) { m_romoeh = state; }
@@ -65,7 +64,9 @@ public:
virtual void write(address_space &space, offs_t offset, uint8_t data) { }
protected:
- ql_rom_cartridge_slot_t *m_slot;
+ device_ql_rom_cartridge_card_interface(const machine_config &mconfig, device_t &device);
+
+ ql_rom_cartridge_slot_device *m_slot;
optional_shared_ptr<uint8_t> m_rom;
@@ -73,15 +74,15 @@ protected:
};
-// ======================> ql_rom_cartridge_slot_t
+// ======================> ql_rom_cartridge_slot_device
-class ql_rom_cartridge_slot_t : public device_t,
+class ql_rom_cartridge_slot_device : public device_t,
public device_slot_interface,
public device_image_interface
{
public:
// construction/destruction
- ql_rom_cartridge_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ql_rom_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// computer interface
uint8_t read(address_space &space, offs_t offset, uint8_t data) { if (m_card) data = m_card->read(space, offset, data); return data; }
@@ -114,10 +115,8 @@ protected:
// device type definition
-extern const device_type QL_ROM_CARTRIDGE_SLOT;
+DECLARE_DEVICE_TYPE(QL_ROM_CARTRIDGE_SLOT, ql_rom_cartridge_slot_device)
SLOT_INTERFACE_EXTERN( ql_rom_cartridge_cards );
-
-
-#endif
+#endif // MAME_BUS_QL_ROM_H
diff --git a/src/devices/bus/ql/sandy_superdisk.cpp b/src/devices/bus/ql/sandy_superdisk.cpp
index f04c1edaa8d..6448d93fc47 100644
--- a/src/devices/bus/ql/sandy_superdisk.cpp
+++ b/src/devices/bus/ql/sandy_superdisk.cpp
@@ -25,7 +25,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SANDY_SUPER_DISK = device_creator<sandy_super_disk_t>;
+DEFINE_DEVICE_TYPE(SANDY_SUPER_DISK, sandy_super_disk_device, "ql_sdisk", "Sandy Super Disk")
//-------------------------------------------------
@@ -42,7 +42,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *sandy_super_disk_t::device_rom_region() const
+const tiny_rom_entry *sandy_super_disk_device::device_rom_region() const
{
return ROM_NAME( sandy_super_disk );
}
@@ -61,7 +61,7 @@ SLOT_INTERFACE_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( sandy_super_disk_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( sandy_super_disk_device::floppy_formats )
FLOPPY_QL_FORMAT
FLOPPY_FORMATS_END
@@ -70,7 +70,7 @@ FLOPPY_FORMATS_END
// centronics
//-------------------------------------------------
-WRITE_LINE_MEMBER( sandy_super_disk_t::busy_w )
+WRITE_LINE_MEMBER( sandy_super_disk_device::busy_w )
{
m_busy = state;
check_interrupt();
@@ -83,11 +83,11 @@ WRITE_LINE_MEMBER( sandy_super_disk_t::busy_w )
static MACHINE_CONFIG_FRAGMENT( sandy_super_disk )
MCFG_DEVICE_ADD(WD1772_TAG, WD1772, 8000000)
- MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", sandy_super_disk_floppies, "35dd", sandy_super_disk_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", sandy_super_disk_floppies, nullptr, sandy_super_disk_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", sandy_super_disk_floppies, "35dd", sandy_super_disk_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", sandy_super_disk_floppies, nullptr, sandy_super_disk_device::floppy_formats)
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_devices, "printer")
- MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(sandy_super_disk_t, busy_w))
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(sandy_super_disk_device, busy_w))
MCFG_CENTRONICS_OUTPUT_LATCH_ADD(TTL74273_TAG, CENTRONICS_TAG)
MACHINE_CONFIG_END
@@ -97,7 +97,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor sandy_super_disk_t::device_mconfig_additions() const
+machine_config_constructor sandy_super_disk_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sandy_super_disk );
}
@@ -109,11 +109,11 @@ machine_config_constructor sandy_super_disk_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// sandy_super_disk_t - constructor
+// sandy_super_disk_device - constructor
//-------------------------------------------------
-sandy_super_disk_t::sandy_super_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SANDY_SUPER_DISK, "Sandy Super Disk", tag, owner, clock, "ql_sdisk", __FILE__),
+sandy_super_disk_device::sandy_super_disk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, SANDY_SUPER_DISK, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this),
m_fdc(*this, WD1772_TAG),
m_floppy0(*this, WD1772_TAG":0"),
@@ -130,7 +130,7 @@ sandy_super_disk_t::sandy_super_disk_t(const machine_config &mconfig, const char
// device_start - device-specific startup
//-------------------------------------------------
-void sandy_super_disk_t::device_start()
+void sandy_super_disk_device::device_start()
{
// state saving
save_item(NAME(m_busy));
@@ -142,7 +142,7 @@ void sandy_super_disk_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void sandy_super_disk_t::device_reset()
+void sandy_super_disk_device::device_reset()
{
m_fdc->reset();
m_fdc->set_floppy(nullptr);
@@ -157,7 +157,7 @@ void sandy_super_disk_t::device_reset()
// read -
//-------------------------------------------------
-uint8_t sandy_super_disk_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t sandy_super_disk_device::read(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf0000) == 0xc0000)
{
@@ -203,7 +203,7 @@ uint8_t sandy_super_disk_t::read(address_space &space, offs_t offset, uint8_t da
// write -
//-------------------------------------------------
-void sandy_super_disk_t::write(address_space &space, offs_t offset, uint8_t data)
+void sandy_super_disk_device::write(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf0000) == 0xc0000)
{
@@ -268,7 +268,7 @@ void sandy_super_disk_t::write(address_space &space, offs_t offset, uint8_t data
}
}
-void sandy_super_disk_t::check_interrupt()
+void sandy_super_disk_device::check_interrupt()
{
int extint = m_fd6 && m_busy;
diff --git a/src/devices/bus/ql/sandy_superdisk.h b/src/devices/bus/ql/sandy_superdisk.h
index fe44b921bf6..1de35cba958 100644
--- a/src/devices/bus/ql/sandy_superdisk.h
+++ b/src/devices/bus/ql/sandy_superdisk.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_SANDY_SUPERDISK_H
+#define MAME_BUS_QL_SANDY_SUPERDISK_H
-#ifndef __SANDY_SUPER_DISK__
-#define __SANDY_SUPER_DISK__
+#pragma once
#include "exp.h"
#include "bus/centronics/ctronics.h"
@@ -24,12 +24,11 @@
// ======================> sandy_super_disk_device
-class sandy_super_disk_t : public device_t,
- public device_ql_expansion_card_interface
+class sandy_super_disk_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- sandy_super_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sandy_super_disk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -51,7 +50,7 @@ protected:
private:
void check_interrupt();
- required_device<wd1772_t> m_fdc;
+ required_device<wd1772_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_device<centronics_device> m_centronics;
@@ -64,7 +63,7 @@ private:
// device type definition
-extern const device_type SANDY_SUPER_DISK;
+DECLARE_DEVICE_TYPE(SANDY_SUPER_DISK, sandy_super_disk_device)
-#endif
+#endif // MAME_BUS_QL_SANDY_SUPERDISK_H
diff --git a/src/devices/bus/ql/sandy_superqboard.cpp b/src/devices/bus/ql/sandy_superqboard.cpp
index c3eeb342e18..7f73692accb 100644
--- a/src/devices/bus/ql/sandy_superqboard.cpp
+++ b/src/devices/bus/ql/sandy_superqboard.cpp
@@ -25,10 +25,10 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SANDY_SUPERQBOARD = device_creator<sandy_superqboard_t>;
-const device_type SANDY_SUPERQBOARD_512K = device_creator<sandy_superqboard_512k_t>;
-const device_type SANDY_SUPERQMOUSE = device_creator<sandy_superqmouse_t>;
-const device_type SANDY_SUPERQMOUSE_512K = device_creator<sandy_superqmouse_512k_t>;
+DEFINE_DEVICE_TYPE(SANDY_SUPERQBOARD, sandy_superqboard_device, "ql_sqboard256", "Sandy SuperQBoard 256K")
+DEFINE_DEVICE_TYPE(SANDY_SUPERQBOARD_512K, sandy_superqboard_512k_device, "ql_sqboard512", "Sandy SuperQBoard 512K")
+DEFINE_DEVICE_TYPE(SANDY_SUPERQMOUSE, sandy_superqmouse_device, "ql_sqmouse", "Sandy SuperQMouse")
+DEFINE_DEVICE_TYPE(SANDY_SUPERQMOUSE_512K, sandy_superqmouse_512k_device, "ql_sqmouse512", "Sandy SuperQMouse 512K")
//-------------------------------------------------
@@ -54,7 +54,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *sandy_superqboard_t::device_rom_region() const
+const tiny_rom_entry *sandy_superqboard_device::device_rom_region() const
{
return ROM_NAME( sandy_superqboard );
}
@@ -74,7 +74,7 @@ SLOT_INTERFACE_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( sandy_superqboard_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( sandy_superqboard_device::floppy_formats )
FLOPPY_QL_FORMAT
FLOPPY_FORMATS_END
@@ -83,7 +83,7 @@ FLOPPY_FORMATS_END
// centronics
//-------------------------------------------------
-WRITE_LINE_MEMBER( sandy_superqboard_t::busy_w )
+WRITE_LINE_MEMBER( sandy_superqboard_device::busy_w )
{
if (state)
{
@@ -104,11 +104,11 @@ WRITE_LINE_MEMBER( sandy_superqboard_t::busy_w )
static MACHINE_CONFIG_FRAGMENT( sandy_superqboard )
MCFG_DEVICE_ADD(WD1772_TAG, WD1772, XTAL_16MHz/2)
- MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", sandy_superqboard_floppies, "35hd", sandy_superqboard_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", sandy_superqboard_floppies, nullptr, sandy_superqboard_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", sandy_superqboard_floppies, "35hd", sandy_superqboard_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", sandy_superqboard_floppies, nullptr, sandy_superqboard_device::floppy_formats)
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_devices, "printer")
- MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(sandy_superqboard_t, busy_w))
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(sandy_superqboard_device, busy_w))
MCFG_CENTRONICS_OUTPUT_LATCH_ADD(TTL74273_TAG, CENTRONICS_TAG)
MACHINE_CONFIG_END
@@ -118,7 +118,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor sandy_superqboard_t::device_mconfig_additions() const
+machine_config_constructor sandy_superqboard_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sandy_superqboard );
}
@@ -128,7 +128,7 @@ machine_config_constructor sandy_superqboard_t::device_mconfig_additions() const
// INPUT_CHANGED_MEMBER( mouse_x_changed )
//-------------------------------------------------
-INPUT_CHANGED_MEMBER( sandy_superqboard_t::mouse_x_changed )
+INPUT_CHANGED_MEMBER( sandy_superqboard_device::mouse_x_changed )
{
if (newval < oldval)
{
@@ -149,7 +149,7 @@ INPUT_CHANGED_MEMBER( sandy_superqboard_t::mouse_x_changed )
// INPUT_CHANGED_MEMBER( mouse_y_changed )
//-------------------------------------------------
-INPUT_CHANGED_MEMBER( sandy_superqboard_t::mouse_y_changed )
+INPUT_CHANGED_MEMBER( sandy_superqboard_device::mouse_y_changed )
{
if (newval < oldval)
{
@@ -172,10 +172,10 @@ INPUT_CHANGED_MEMBER( sandy_superqboard_t::mouse_y_changed )
INPUT_PORTS_START( sandy_superqmouse )
PORT_START("mouse_x")
- PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_CHANGED_MEMBER(DEVICE_SELF, sandy_superqboard_t, mouse_x_changed, nullptr)
+ PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_CHANGED_MEMBER(DEVICE_SELF, sandy_superqboard_device, mouse_x_changed, nullptr)
PORT_START("mouse_y")
- PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_CHANGED_MEMBER(DEVICE_SELF, sandy_superqboard_t, mouse_y_changed, nullptr)
+ PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_CHANGED_MEMBER(DEVICE_SELF, sandy_superqboard_device, mouse_y_changed, nullptr)
PORT_START("mouse_buttons")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Middle Mouse Button") PORT_CODE(MOUSECODE_BUTTON3)
@@ -188,7 +188,7 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor sandy_superqmouse_t::device_input_ports() const
+ioport_constructor sandy_superqmouse_device::device_input_ports() const
{
return INPUT_PORTS_NAME( sandy_superqmouse );
}
@@ -198,7 +198,7 @@ ioport_constructor sandy_superqmouse_t::device_input_ports() const
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor sandy_superqmouse_512k_t::device_input_ports() const
+ioport_constructor sandy_superqmouse_512k_device::device_input_ports() const
{
return INPUT_PORTS_NAME( sandy_superqmouse );
}
@@ -210,29 +210,16 @@ ioport_constructor sandy_superqmouse_512k_t::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// sandy_superqboard_t - constructor
+// sandy_superqboard_device - constructor
//-------------------------------------------------
-sandy_superqboard_t::sandy_superqboard_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SANDY_SUPERQBOARD, "Sandy SuperQBoard 256K", tag, owner, clock, "ql_sqboard256", __FILE__),
- device_ql_expansion_card_interface(mconfig, *this),
- m_fdc(*this, WD1772_TAG),
- m_floppy0(*this, WD1772_TAG":0"),
- m_floppy1(*this, WD1772_TAG":1"),
- m_centronics(*this, CENTRONICS_TAG),
- m_latch(*this, TTL74273_TAG),
- m_rom(*this, "rom"),
- m_ram(*this, "ram"),
- m_buttons(*this, "mouse_buttons"),
- m_ram_size(256*1024),
- m_fd6(0),
- m_fd7(0),
- m_status(0)
+sandy_superqboard_device::sandy_superqboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ sandy_superqboard_device(mconfig, SANDY_SUPERQBOARD, tag, owner, clock, 256*1024)
{
}
-sandy_superqboard_t::sandy_superqboard_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source, int ram_size) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
+sandy_superqboard_device::sandy_superqboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int ram_size) :
+ device_t(mconfig, type, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this),
m_fdc(*this, WD1772_TAG),
m_floppy0(*this, WD1772_TAG":0"),
@@ -249,21 +236,27 @@ sandy_superqboard_t::sandy_superqboard_t(const machine_config &mconfig, device_t
{
}
-sandy_superqboard_512k_t::sandy_superqboard_512k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sandy_superqboard_t(mconfig, SANDY_SUPERQBOARD_512K, "Sandy SuperQBoard 512K", tag, owner, clock, "ql_sqboard512", __FILE__, 512*1024) { }
+sandy_superqboard_512k_device::sandy_superqboard_512k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : sandy_superqboard_device(mconfig, SANDY_SUPERQBOARD_512K, tag, owner, clock, 512*1024)
+{
+}
-sandy_superqmouse_t::sandy_superqmouse_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sandy_superqboard_t(mconfig, SANDY_SUPERQMOUSE, "Sandy SuperQMouse", tag, owner, clock, "ql_sqmouse", __FILE__, 256*1024) { }
+sandy_superqmouse_device::sandy_superqmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : sandy_superqboard_device(mconfig, SANDY_SUPERQMOUSE, tag, owner, clock, 256*1024)
+{
+}
-sandy_superqmouse_512k_t::sandy_superqmouse_512k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sandy_superqboard_t(mconfig, SANDY_SUPERQMOUSE_512K, "Sandy SuperQMouse 512K", tag, owner, clock, "ql_sqmouse512", __FILE__, 512*1024) { }
+sandy_superqmouse_512k_device::sandy_superqmouse_512k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : sandy_superqboard_device(mconfig, SANDY_SUPERQMOUSE_512K, tag, owner, clock, 512*1024)
+{
+}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
-void sandy_superqboard_t::device_start()
+void sandy_superqboard_device::device_start()
{
// allocate memory
m_ram.allocate(m_ram_size);
@@ -279,7 +272,7 @@ void sandy_superqboard_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void sandy_superqboard_t::device_reset()
+void sandy_superqboard_device::device_reset()
{
m_fdc->reset();
m_fdc->set_floppy(nullptr);
@@ -300,7 +293,7 @@ void sandy_superqboard_t::device_reset()
// read -
//-------------------------------------------------
-uint8_t sandy_superqboard_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t sandy_superqboard_device::read(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf0000) == 0xc0000)
{
@@ -360,7 +353,7 @@ uint8_t sandy_superqboard_t::read(address_space &space, offs_t offset, uint8_t d
// write -
//-------------------------------------------------
-void sandy_superqboard_t::write(address_space &space, offs_t offset, uint8_t data)
+void sandy_superqboard_device::write(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf0000) == 0xc0000)
{
@@ -444,7 +437,7 @@ void sandy_superqboard_t::write(address_space &space, offs_t offset, uint8_t dat
}
}
-void sandy_superqboard_t::check_interrupt()
+void sandy_superqboard_device::check_interrupt()
{
bool busy_int = m_fd6 && (m_status & ST_BUSY);
bool mouse_int = m_fd7 && (m_status & (ST_Y_INT | ST_X_INT));
diff --git a/src/devices/bus/ql/sandy_superqboard.h b/src/devices/bus/ql/sandy_superqboard.h
index a1982c38ede..7c18f96421d 100644
--- a/src/devices/bus/ql/sandy_superqboard.h
+++ b/src/devices/bus/ql/sandy_superqboard.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_SANDY_SUPERQBOARD_H
+#define MAME_BUS_QL_SANDY_SUPERQBOARD_H
-#ifndef __SANDY_SUPERQBOARD__
-#define __SANDY_SUPERQBOARD__
+#pragma once
#include "exp.h"
#include "bus/centronics/ctronics.h"
@@ -22,15 +22,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> sandy_superqboard_t
+// ======================> sandy_superqboard_device
-class sandy_superqboard_t : public device_t,
- public device_ql_expansion_card_interface
+class sandy_superqboard_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- sandy_superqboard_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- sandy_superqboard_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source, int ram_size);
+ sandy_superqboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -44,6 +42,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER( mouse_y_changed );
protected:
+ sandy_superqboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int ram_size);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -67,7 +67,7 @@ private:
void check_interrupt();
- required_device<wd1772_t> m_fdc;
+ required_device<wd1772_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_device<centronics_device> m_centronics;
@@ -84,36 +84,36 @@ private:
};
-// ======================> sandy_superqboard_512k_t
+// ======================> sandy_superqboard_512k_device
-class sandy_superqboard_512k_t : public sandy_superqboard_t
+class sandy_superqboard_512k_device : public sandy_superqboard_device
{
public:
// construction/destruction
- sandy_superqboard_512k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sandy_superqboard_512k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
-// ======================> sandy_superqmouse_t
+// ======================> sandy_superqmouse_device
-class sandy_superqmouse_t : public sandy_superqboard_t
+class sandy_superqmouse_device : public sandy_superqboard_device
{
public:
// construction/destruction
- sandy_superqmouse_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sandy_superqmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
};
-// ======================> sandy_superqmouse_512k_t
+// ======================> sandy_superqmouse_512k_device
-class sandy_superqmouse_512k_t : public sandy_superqboard_t
+class sandy_superqmouse_512k_device : public sandy_superqboard_device
{
public:
// construction/destruction
- sandy_superqmouse_512k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sandy_superqmouse_512k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
@@ -121,11 +121,9 @@ public:
// device type definition
-extern const device_type SANDY_SUPERQBOARD;
-extern const device_type SANDY_SUPERQBOARD_512K;
-extern const device_type SANDY_SUPERQMOUSE;
-extern const device_type SANDY_SUPERQMOUSE_512K;
-
-
+DECLARE_DEVICE_TYPE(SANDY_SUPERQBOARD, sandy_superqboard_device)
+DECLARE_DEVICE_TYPE(SANDY_SUPERQBOARD_512K, sandy_superqboard_512k_device)
+DECLARE_DEVICE_TYPE(SANDY_SUPERQMOUSE, sandy_superqmouse_device)
+DECLARE_DEVICE_TYPE(SANDY_SUPERQMOUSE_512K, sandy_superqmouse_512k_device)
-#endif
+#endif // MAME_BUS_QL_SANDY_SUPERQBOARD_H
diff --git a/src/devices/bus/ql/std.cpp b/src/devices/bus/ql/std.cpp
index 8fc5424cf63..5e13a0ff32f 100644
--- a/src/devices/bus/ql/std.cpp
+++ b/src/devices/bus/ql/std.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type QL_STANDARD_ROM_CARTRIDGE = device_creator<ql_standard_rom_cartridge_t>;
+DEFINE_DEVICE_TYPE(QL_STANDARD_ROM_CARTRIDGE, ql_standard_rom_cartridge_device, "ql_standard", "QL standard ROM cartridge")
@@ -24,11 +24,11 @@ const device_type QL_STANDARD_ROM_CARTRIDGE = device_creator<ql_standard_rom_car
//**************************************************************************
//-------------------------------------------------
-// ql_standard_rom_cartridge_t - constructor
+// ql_standard_rom_cartridge_device - constructor
//-------------------------------------------------
-ql_standard_rom_cartridge_t::ql_standard_rom_cartridge_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, QL_STANDARD_ROM_CARTRIDGE, "QL standard ROM cartridge", tag, owner, clock, "ql_standard", __FILE__),
+ql_standard_rom_cartridge_device::ql_standard_rom_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, QL_STANDARD_ROM_CARTRIDGE, tag, owner, clock),
device_ql_rom_cartridge_card_interface(mconfig, *this)
{
}
@@ -38,7 +38,7 @@ ql_standard_rom_cartridge_t::ql_standard_rom_cartridge_t(const machine_config &m
// device_start - device-specific startup
//-------------------------------------------------
-void ql_standard_rom_cartridge_t::device_start()
+void ql_standard_rom_cartridge_device::device_start()
{
}
@@ -47,7 +47,7 @@ void ql_standard_rom_cartridge_t::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t ql_standard_rom_cartridge_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t ql_standard_rom_cartridge_device::read(address_space &space, offs_t offset, uint8_t data)
{
if (m_romoeh && m_rom.bytes())
{
diff --git a/src/devices/bus/ql/std.h b/src/devices/bus/ql/std.h
index 40190ea4a35..b1b4e404c4c 100644
--- a/src/devices/bus/ql/std.h
+++ b/src/devices/bus/ql/std.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_STD_H
+#define MAME_BUS_QL_STD_H
-#ifndef __QL_STANDARD_ROM_CARTRIDGE__
-#define __QL_STANDARD_ROM_CARTRIDGE__
+#pragma once
#include "rom.h"
@@ -19,14 +19,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> ql_standard_rom_cartridge_t
+// ======================> ql_standard_rom_cartridge_device
-class ql_standard_rom_cartridge_t : public device_t,
- public device_ql_rom_cartridge_card_interface
+class ql_standard_rom_cartridge_device : public device_t, public device_ql_rom_cartridge_card_interface
{
public:
// construction/destruction
- ql_standard_rom_cartridge_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ql_standard_rom_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides
@@ -38,7 +37,6 @@ protected:
// device type definition
-extern const device_type QL_STANDARD_ROM_CARTRIDGE;
-
+DECLARE_DEVICE_TYPE(QL_STANDARD_ROM_CARTRIDGE, ql_standard_rom_cartridge_device)
-#endif
+#endif // MAME_BUS_QL_STD_H
diff --git a/src/devices/bus/ql/trumpcard.cpp b/src/devices/bus/ql/trumpcard.cpp
index be3ae9baa76..c4f764fa74c 100644
--- a/src/devices/bus/ql/trumpcard.cpp
+++ b/src/devices/bus/ql/trumpcard.cpp
@@ -23,10 +23,10 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type QL_TRUMP_CARD = device_creator<ql_trump_card_t>;
-const device_type QL_TRUMP_CARD_256K = device_creator<ql_trump_card_256k_t>;
-const device_type QL_TRUMP_CARD_512K = device_creator<ql_trump_card_512k_t>;
-const device_type QL_TRUMP_CARD_768K = device_creator<ql_trump_card_768k_t>;
+DEFINE_DEVICE_TYPE(QL_TRUMP_CARD, ql_trump_card_device, "ql_trump", "QL Trump Card")
+DEFINE_DEVICE_TYPE(QL_TRUMP_CARD_256K, ql_trump_card_256k_device, "ql_trump256", "QL Trump Card 256K")
+DEFINE_DEVICE_TYPE(QL_TRUMP_CARD_512K, ql_trump_card_512k_device, "ql_trump512", "QL Trump Card 512K")
+DEFINE_DEVICE_TYPE(QL_TRUMP_CARD_768K, ql_trump_card_768k_device, "ql_trump768", "QL Trump Card 768K")
//-------------------------------------------------
@@ -57,7 +57,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *ql_trump_card_t::device_rom_region() const
+const tiny_rom_entry *ql_trump_card_device::device_rom_region() const
{
return ROM_NAME( ql_trump_card );
}
@@ -76,7 +76,7 @@ SLOT_INTERFACE_END
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( ql_trump_card_t::floppy_formats )
+FLOPPY_FORMATS_MEMBER( ql_trump_card_device::floppy_formats )
FLOPPY_QL_FORMAT
FLOPPY_FORMATS_END
@@ -87,8 +87,8 @@ FLOPPY_FORMATS_END
static MACHINE_CONFIG_FRAGMENT( ql_trump_card )
MCFG_DEVICE_ADD(WD1772_TAG, WD1772, 8000000)
- MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", ql_trump_card_floppies, "35dd", ql_trump_card_t::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", ql_trump_card_floppies, nullptr, ql_trump_card_t::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", ql_trump_card_floppies, "35dd", ql_trump_card_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", ql_trump_card_floppies, nullptr, ql_trump_card_device::floppy_formats)
MACHINE_CONFIG_END
@@ -97,7 +97,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor ql_trump_card_t::device_mconfig_additions() const
+machine_config_constructor ql_trump_card_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ql_trump_card );
}
@@ -109,48 +109,48 @@ machine_config_constructor ql_trump_card_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// ql_trump_card_t - constructor
+// ql_trump_card_device - constructor
//-------------------------------------------------
-ql_trump_card_t::ql_trump_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, QL_TRUMP_CARD, "QL Trump Card", tag, owner, clock, "ql_trump", __FILE__),
- device_ql_expansion_card_interface(mconfig, *this),
- m_fdc(*this, WD1772_TAG),
- m_floppy0(*this, WD1772_TAG":0"),
- m_floppy1(*this, WD1772_TAG":1"),
- m_rom(*this, "rom"),
- m_ram(*this, "ram"),
- m_ram_size(0), m_rom_en(false)
+ql_trump_card_device::ql_trump_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ql_trump_card_device(mconfig, QL_TRUMP_CARD, tag, owner, clock, 0)
{
}
-ql_trump_card_t::ql_trump_card_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source, int ram_size) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
+ql_trump_card_device::ql_trump_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int ram_size) :
+ device_t(mconfig, type, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this),
m_fdc(*this, WD1772_TAG),
m_floppy0(*this, WD1772_TAG":0"),
m_floppy1(*this, WD1772_TAG":1"),
m_rom(*this, "rom"),
m_ram(*this, "ram"),
- m_ram_size(ram_size), m_rom_en(false)
+ m_ram_size(ram_size),
+ m_rom_en(false)
{
}
-ql_trump_card_256k_t::ql_trump_card_256k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ql_trump_card_t(mconfig, QL_TRUMP_CARD_256K, "QL Trump Card 256K", tag, owner, clock, "ql_trump256", __FILE__, 256*1024) { }
+ql_trump_card_256k_device::ql_trump_card_256k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : ql_trump_card_device(mconfig, QL_TRUMP_CARD_256K, tag, owner, clock, 256*1024)
+{
+}
-ql_trump_card_512k_t::ql_trump_card_512k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ql_trump_card_t(mconfig, QL_TRUMP_CARD_512K, "QL Trump Card 512K", tag, owner, clock, "ql_trump512", __FILE__, 512*1024) { }
+ql_trump_card_512k_device::ql_trump_card_512k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : ql_trump_card_device(mconfig, QL_TRUMP_CARD_512K, tag, owner, clock, 512*1024)
+{
+}
-ql_trump_card_768k_t::ql_trump_card_768k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ql_trump_card_t(mconfig, QL_TRUMP_CARD_768K, "QL Trump Card 768K", tag, owner, clock, "ql_trump768", __FILE__, 768*1024) { }
+ql_trump_card_768k_device::ql_trump_card_768k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : ql_trump_card_device(mconfig, QL_TRUMP_CARD_768K, tag, owner, clock, 768*1024)
+{
+}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
-void ql_trump_card_t::device_start()
+void ql_trump_card_device::device_start()
{
// allocate memory
m_ram.allocate(m_ram_size);
@@ -164,7 +164,7 @@ void ql_trump_card_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void ql_trump_card_t::device_reset()
+void ql_trump_card_device::device_reset()
{
m_fdc->set_floppy(nullptr);
m_fdc->dden_w(0);
@@ -177,7 +177,7 @@ void ql_trump_card_t::device_reset()
// read -
//-------------------------------------------------
-uint8_t ql_trump_card_t::read(address_space &space, offs_t offset, uint8_t data)
+uint8_t ql_trump_card_device::read(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0xc000 && offset < 0x10000)
{
@@ -230,7 +230,7 @@ uint8_t ql_trump_card_t::read(address_space &space, offs_t offset, uint8_t data)
// write -
//-------------------------------------------------
-void ql_trump_card_t::write(address_space &space, offs_t offset, uint8_t data)
+void ql_trump_card_device::write(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0x1c000 && offset <= 0x1c003)
{
diff --git a/src/devices/bus/ql/trumpcard.h b/src/devices/bus/ql/trumpcard.h
index 631b584c9f1..ff19af0bf07 100644
--- a/src/devices/bus/ql/trumpcard.h
+++ b/src/devices/bus/ql/trumpcard.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_QL_TRUMPCARD_H
+#define MAME_BUS_QL_TRUMPCARD_H
-#ifndef __QL_TRUMP_CARD__
-#define __QL_TRUMP_CARD__
+#pragma once
#include "exp.h"
#include "machine/wd_fdc.h"
@@ -21,15 +21,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> ql_trump_card_t
+// ======================> ql_trump_card_device
-class ql_trump_card_t : public device_t,
- public device_ql_expansion_card_interface
+class ql_trump_card_device : public device_t, public device_ql_expansion_card_interface
{
public:
// construction/destruction
- ql_trump_card_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- ql_trump_card_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source, int ram_size);
+ ql_trump_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -38,6 +36,8 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
+ ql_trump_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int ram_size);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -47,7 +47,7 @@ protected:
virtual void write(address_space &space, offs_t offset, uint8_t data) override;
private:
- required_device<wd1772_t> m_fdc;
+ required_device<wd1772_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
required_memory_region m_rom;
@@ -58,43 +58,40 @@ private:
};
-// ======================> ql_trump_card_256k_t
+// ======================> ql_trump_card_256k_device
-class ql_trump_card_256k_t : public ql_trump_card_t
+class ql_trump_card_256k_device : public ql_trump_card_device
{
public:
// construction/destruction
- ql_trump_card_256k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ql_trump_card_256k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
-// ======================> ql_trump_card_512k_t
+// ======================> ql_trump_card_512k_device
-class ql_trump_card_512k_t : public ql_trump_card_t
+class ql_trump_card_512k_device : public ql_trump_card_device
{
public:
// construction/destruction
- ql_trump_card_512k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ql_trump_card_512k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
-// ======================> ql_trump_card_768k_t
+// ======================> ql_trump_card_768k_device
-class ql_trump_card_768k_t : public ql_trump_card_t
+class ql_trump_card_768k_device : public ql_trump_card_device
{
public:
// construction/destruction
- ql_trump_card_768k_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ql_trump_card_768k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
-
// device type definition
-extern const device_type QL_TRUMP_CARD;
-extern const device_type QL_TRUMP_CARD_256K;
-extern const device_type QL_TRUMP_CARD_512K;
-extern const device_type QL_TRUMP_CARD_768K;
-
-
+DECLARE_DEVICE_TYPE(QL_TRUMP_CARD, ql_trump_card_device)
+DECLARE_DEVICE_TYPE(QL_TRUMP_CARD_256K, ql_trump_card_256k_device)
+DECLARE_DEVICE_TYPE(QL_TRUMP_CARD_512K, ql_trump_card_512k_device)
+DECLARE_DEVICE_TYPE(QL_TRUMP_CARD_768K, ql_trump_card_768k_device)
-#endif
+#endif // MAME_BUS_QL_TRUMPCARD_H
diff --git a/src/devices/bus/rs232/ie15.cpp b/src/devices/bus/rs232/ie15.cpp
index c37c39f4569..74387086782 100644
--- a/src/devices/bus/rs232/ie15.cpp
+++ b/src/devices/bus/rs232/ie15.cpp
@@ -5,7 +5,7 @@
#include "ie15.h"
ie15_terminal_device::ie15_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ie15_device(mconfig, SERIAL_TERMINAL_IE15, "IE15 Terminal", tag, owner, clock, "ie15_terminal", __FILE__)
+ : ie15_device(mconfig, SERIAL_TERMINAL_IE15, tag, owner, clock)
, device_rs232_port_interface(mconfig, *this)
, m_rs232_txbaud(*this, "RS232_TXBAUD")
, m_rs232_rxbaud(*this, "RS232_RXBAUD")
@@ -87,5 +87,4 @@ void ie15_terminal_device::device_timer(emu_timer &timer, device_timer_id id, in
ie15_device::device_timer(timer, id, param, ptr);
}
-const device_type SERIAL_TERMINAL_IE15 = device_creator<ie15_terminal_device>;
-
+DEFINE_DEVICE_TYPE(SERIAL_TERMINAL_IE15, ie15_terminal_device, "ie15_terminal", "IE15 Terminal")
diff --git a/src/devices/bus/rs232/ie15.h b/src/devices/bus/rs232/ie15.h
index 281a842b634..c5c7ba3f6de 100644
--- a/src/devices/bus/rs232/ie15.h
+++ b/src/devices/bus/rs232/ie15.h
@@ -4,6 +4,8 @@
#ifndef MAME_BUS_RS232_IE15_H
#define MAME_BUS_RS232_IE15_H
+#pragma once
+
#include "rs232.h"
#include "machine/ie15.h"
@@ -37,6 +39,6 @@ private:
required_ioport m_rs232_stopbits;
};
-extern const device_type SERIAL_TERMINAL_IE15;
+DECLARE_DEVICE_TYPE(SERIAL_TERMINAL_IE15, ie15_terminal_device)
#endif // MAME_BUS_RS232_IE15_H
diff --git a/src/devices/bus/rs232/keyboard.cpp b/src/devices/bus/rs232/keyboard.cpp
index 4d234ef1576..17c6d4fa066 100644
--- a/src/devices/bus/rs232/keyboard.cpp
+++ b/src/devices/bus/rs232/keyboard.cpp
@@ -16,12 +16,12 @@ INPUT_PORTS_END
} // anonymous namespace
serial_keyboard_device::serial_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : serial_keyboard_device(mconfig, SERIAL_KEYBOARD, "Serial Keyboard", tag, owner, clock, "serial_keyboard", __FILE__)
+ : serial_keyboard_device(mconfig, SERIAL_KEYBOARD, tag, owner, clock)
{
}
-serial_keyboard_device::serial_keyboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : generic_keyboard_device(mconfig, type, name, tag, owner, clock, shortname, source)
+serial_keyboard_device::serial_keyboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : generic_keyboard_device(mconfig, type, tag, owner, clock)
, device_buffered_serial_interface(mconfig, *this)
, device_rs232_port_interface(mconfig, *this)
, m_rs232_txbaud(*this, "RS232_TXBAUD")
@@ -100,4 +100,4 @@ void serial_keyboard_device::received_byte(uint8_t byte)
{
}
-const device_type SERIAL_KEYBOARD = device_creator<serial_keyboard_device>;
+DEFINE_DEVICE_TYPE(SERIAL_KEYBOARD, serial_keyboard_device, "serial_keyboard", "Serial Keyboard")
diff --git a/src/devices/bus/rs232/keyboard.h b/src/devices/bus/rs232/keyboard.h
index 7592dcd2ed5..33b848dc126 100644
--- a/src/devices/bus/rs232/keyboard.h
+++ b/src/devices/bus/rs232/keyboard.h
@@ -5,6 +5,8 @@
#pragma once
+#pragma once
+
#include "rs232.h"
#include "machine/keyboard.h"
@@ -15,7 +17,6 @@ class serial_keyboard_device
{
public:
serial_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- serial_keyboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
virtual ioport_constructor device_input_ports() const override;
@@ -24,6 +25,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(update_serial);
protected:
+ serial_keyboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -40,6 +43,6 @@ private:
required_ioport m_rs232_stopbits;
};
-extern const device_type SERIAL_KEYBOARD;
+DECLARE_DEVICE_TYPE(SERIAL_KEYBOARD, serial_keyboard_device)
#endif // MAME_BUS_RS232_KEYBOARD_H
diff --git a/src/devices/bus/rs232/loopback.cpp b/src/devices/bus/rs232/loopback.cpp
index cba8acf944c..ff462a8a982 100644
--- a/src/devices/bus/rs232/loopback.cpp
+++ b/src/devices/bus/rs232/loopback.cpp
@@ -4,11 +4,11 @@
#include "emu.h"
#include "loopback.h"
-const device_type RS232_LOOPBACK = device_creator<rs232_loopback_device>;
+DEFINE_DEVICE_TYPE(RS232_LOOPBACK, rs232_loopback_device, "rs232_loopback", "RS232 Loopback")
rs232_loopback_device::rs232_loopback_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, RS232_LOOPBACK, "RS232 Loopback", tag, owner, clock, "rs232_loopback", __FILE__),
- device_rs232_port_interface(mconfig, *this)
+ : device_t(mconfig, RS232_LOOPBACK, tag, owner, clock)
+ , device_rs232_port_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/rs232/loopback.h b/src/devices/bus/rs232/loopback.h
index 25de18df2a9..7c78a6317ad 100644
--- a/src/devices/bus/rs232/loopback.h
+++ b/src/devices/bus/rs232/loopback.h
@@ -1,8 +1,10 @@
// license:BSD-3-Clause
// copyright-holders:smf
-#ifndef RS232_LOOPBACK_H_
-#define RS232_LOOPBACK_H_
+#ifndef MAME_BUS_RS232_LOOPBACK_H
+#define MAME_BUS_RS232_LOOPBACK_H
+
+#pragma once
#include "rs232.h"
@@ -22,4 +24,4 @@ protected:
extern const device_type RS232_LOOPBACK;
-#endif
+#endif // MAME_BUS_RS232_LOOPBACK_H
diff --git a/src/devices/bus/rs232/null_modem.cpp b/src/devices/bus/rs232/null_modem.cpp
index 9baa1ef7435..bec7b68016f 100644
--- a/src/devices/bus/rs232/null_modem.cpp
+++ b/src/devices/bus/rs232/null_modem.cpp
@@ -4,7 +4,7 @@
#include "null_modem.h"
null_modem_device::null_modem_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, NULL_MODEM, "Null Modem", tag, owner, clock, "null_modem", __FILE__),
+ : device_t(mconfig, NULL_MODEM, tag, owner, clock),
device_serial_interface(mconfig, *this),
device_rs232_port_interface(mconfig, *this),
m_stream(*this, "stream"),
@@ -138,4 +138,4 @@ void null_modem_device::rcv_complete()
m_stream->output(get_received_char());
}
-const device_type NULL_MODEM = device_creator<null_modem_device>;
+DEFINE_DEVICE_TYPE(NULL_MODEM, null_modem_device, "null_modem", "RS232 Null Modem")
diff --git a/src/devices/bus/rs232/null_modem.h b/src/devices/bus/rs232/null_modem.h
index 3568b313cbc..39ecd9a129c 100644
--- a/src/devices/bus/rs232/null_modem.h
+++ b/src/devices/bus/rs232/null_modem.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:smf,Carl
-#ifndef NULL_MODEM_H_
-#define NULL_MODEM_H_
+#ifndef MAME_BUS_RS232_NULL_MODEM_H
+#define MAME_BUS_RS232_NULL_MODEM_H
#include "rs232.h"
#include "imagedev/bitbngr.h"
@@ -30,9 +30,9 @@ protected:
virtual void rcv_complete() override;
private:
- void queue();
+ static constexpr int TIMER_POLL = 1;
- static const int TIMER_POLL = 1;
+ void queue();
required_device<bitbanger_device> m_stream;
@@ -51,6 +51,6 @@ private:
int m_rts;
};
-extern const device_type NULL_MODEM;
+DECLARE_DEVICE_TYPE(NULL_MODEM, null_modem_device)
-#endif
+#endif // MAME_BUS_RS232_NULL_MODEM_H
diff --git a/src/devices/bus/rs232/printer.cpp b/src/devices/bus/rs232/printer.cpp
index ef4f8ef9c38..d3a1d45c3a6 100644
--- a/src/devices/bus/rs232/printer.cpp
+++ b/src/devices/bus/rs232/printer.cpp
@@ -4,7 +4,7 @@
#include "printer.h"
serial_printer_device::serial_printer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SERIAL_PRINTER, "Serial Printer", tag, owner, clock, "serial_printer", __FILE__),
+ : device_t(mconfig, SERIAL_PRINTER, tag, owner, clock),
device_serial_interface(mconfig, *this),
device_rs232_port_interface(mconfig, *this),
m_printer(*this, "printer"),
@@ -83,4 +83,4 @@ void serial_printer_device::rcv_complete()
m_printer->output(get_received_char());
}
-const device_type SERIAL_PRINTER = device_creator<serial_printer_device>;
+DEFINE_DEVICE_TYPE(SERIAL_PRINTER, serial_printer_device, "serial_printer", "Serial Printer")
diff --git a/src/devices/bus/rs232/printer.h b/src/devices/bus/rs232/printer.h
index 9380bf58fed..800003a7760 100644
--- a/src/devices/bus/rs232/printer.h
+++ b/src/devices/bus/rs232/printer.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:smf
-#ifndef __RS232_PRINTER_H__
-#define __RS232_PRINTER_H__
+#ifndef MAME_BUS_RS232_PRINTER_H
+#define MAME_BUS_RS232_PRINTER_H
#pragma once
@@ -39,6 +39,6 @@ private:
required_ioport m_rs232_stopbits;
};
-extern const device_type SERIAL_PRINTER;
+DECLARE_DEVICE_TYPE(SERIAL_PRINTER, serial_printer_device)
-#endif
+#endif // MAME_BUS_RS232_PRINTER_H
diff --git a/src/devices/bus/rs232/pty.cpp b/src/devices/bus/rs232/pty.cpp
index 38d7c5f88e7..a324e532fb6 100644
--- a/src/devices/bus/rs232/pty.cpp
+++ b/src/devices/bus/rs232/pty.cpp
@@ -2,139 +2,141 @@
// copyright-holders:F. Ulivi
//
#include "emu.h"
-#include <stdio.h>
#include "pty.h"
-static const int TIMER_POLL = 1;
+#include <stdio.h>
+
+
+static constexpr int TIMER_POLL = 1;
pseudo_terminal_device::pseudo_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PSEUDO_TERMINAL, "Pseudo terminal", tag, owner, clock, "pseudo_terminal", __FILE__),
- device_serial_interface(mconfig, *this),
- device_rs232_port_interface(mconfig, *this),
- device_pty_interface(mconfig, *this),
- m_rs232_txbaud(*this, "RS232_TXBAUD"),
- m_rs232_rxbaud(*this, "RS232_RXBAUD"),
- m_rs232_startbits(*this, "RS232_STARTBITS"),
- m_rs232_databits(*this, "RS232_DATABITS"),
- m_rs232_parity(*this, "RS232_PARITY"),
- m_rs232_stopbits(*this, "RS232_STOPBITS"),
- m_input_count(0),
- m_input_index(0),
- m_timer_poll(nullptr)
+ device_t(mconfig, PSEUDO_TERMINAL, tag, owner, clock),
+ device_serial_interface(mconfig, *this),
+ device_rs232_port_interface(mconfig, *this),
+ device_pty_interface(mconfig, *this),
+ m_rs232_txbaud(*this, "RS232_TXBAUD"),
+ m_rs232_rxbaud(*this, "RS232_RXBAUD"),
+ m_rs232_startbits(*this, "RS232_STARTBITS"),
+ m_rs232_databits(*this, "RS232_DATABITS"),
+ m_rs232_parity(*this, "RS232_PARITY"),
+ m_rs232_stopbits(*this, "RS232_STOPBITS"),
+ m_input_count(0),
+ m_input_index(0),
+ m_timer_poll(nullptr)
{
}
WRITE_LINE_MEMBER(pseudo_terminal_device::update_serial)
{
- int startbits = convert_startbits(m_rs232_startbits->read());
- int databits = convert_databits(m_rs232_databits->read());
- parity_t parity = convert_parity(m_rs232_parity->read());
- stop_bits_t stopbits = convert_stopbits(m_rs232_stopbits->read());
+ int startbits = convert_startbits(m_rs232_startbits->read());
+ int databits = convert_databits(m_rs232_databits->read());
+ parity_t parity = convert_parity(m_rs232_parity->read());
+ stop_bits_t stopbits = convert_stopbits(m_rs232_stopbits->read());
- set_data_frame(startbits, databits, parity, stopbits);
+ set_data_frame(startbits, databits, parity, stopbits);
- int txbaud = convert_baud(m_rs232_txbaud->read());
- set_tra_rate(txbaud);
+ int txbaud = convert_baud(m_rs232_txbaud->read());
+ set_tra_rate(txbaud);
- int rxbaud = convert_baud(m_rs232_rxbaud->read());
- set_rcv_rate(rxbaud);
+ int rxbaud = convert_baud(m_rs232_rxbaud->read());
+ set_rcv_rate(rxbaud);
- output_rxd(1);
+ output_rxd(1);
- // TODO: make this configurable
- output_dcd(0);
- output_dsr(0);
- output_cts(0);
+ // TODO: make this configurable
+ output_dcd(0);
+ output_dsr(0);
+ output_cts(0);
}
static INPUT_PORTS_START(pseudo_terminal)
- MCFG_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", pseudo_terminal_device, update_serial)
- MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", pseudo_terminal_device, update_serial)
- MCFG_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", pseudo_terminal_device, update_serial)
- MCFG_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", pseudo_terminal_device, update_serial)
- MCFG_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", pseudo_terminal_device, update_serial)
- MCFG_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", pseudo_terminal_device, update_serial)
+ MCFG_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", pseudo_terminal_device, update_serial)
+ MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", pseudo_terminal_device, update_serial)
+ MCFG_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", pseudo_terminal_device, update_serial)
+ MCFG_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", pseudo_terminal_device, update_serial)
+ MCFG_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", pseudo_terminal_device, update_serial)
+ MCFG_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", pseudo_terminal_device, update_serial)
INPUT_PORTS_END
ioport_constructor pseudo_terminal_device::device_input_ports() const
{
- return INPUT_PORTS_NAME(pseudo_terminal);
+ return INPUT_PORTS_NAME(pseudo_terminal);
}
void pseudo_terminal_device::device_start()
{
- m_timer_poll = timer_alloc(TIMER_POLL);
+ m_timer_poll = timer_alloc(TIMER_POLL);
- open();
+ open();
}
void pseudo_terminal_device::device_stop()
{
- close();
+ close();
}
void pseudo_terminal_device::device_reset()
{
- update_serial(0);
- queue();
+ update_serial(0);
+ queue();
}
void pseudo_terminal_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
- switch (id)
- {
- case TIMER_POLL:
- queue();
- break;
+ switch (id)
+ {
+ case TIMER_POLL:
+ queue();
+ break;
- default:
- device_serial_interface::device_timer(timer, id, param, ptr);
- }
+ default:
+ device_serial_interface::device_timer(timer, id, param, ptr);
+ }
}
void pseudo_terminal_device::tra_callback()
{
- output_rxd(transmit_register_get_data_bit());
+ output_rxd(transmit_register_get_data_bit());
}
void pseudo_terminal_device::tra_complete()
{
- queue();
+ queue();
}
void pseudo_terminal_device::rcv_complete()
{
- receive_register_extract();
- write(get_received_char());
+ receive_register_extract();
+ write(get_received_char());
}
void pseudo_terminal_device::queue(void)
{
- if (is_transmit_register_empty())
+ if (is_transmit_register_empty())
+ {
+ if (m_input_index == m_input_count)
+ {
+ m_input_index = 0;
+ int tmp = read(m_input_buffer , sizeof(m_input_buffer));
+ if (tmp > 0) {
+ m_input_count = tmp;
+ } else {
+ m_input_count = 0;
+ }
+ }
+
+ if (m_input_count != 0)
+ {
+ transmit_register_setup(m_input_buffer[ m_input_index++ ]);
+
+ m_timer_poll->adjust(attotime::never);
+ }
+ else
{
- if (m_input_index == m_input_count)
- {
- m_input_index = 0;
- int tmp = read(m_input_buffer , sizeof(m_input_buffer));
- if (tmp > 0) {
- m_input_count = tmp;
- } else {
- m_input_count = 0;
- }
- }
-
- if (m_input_count != 0)
- {
- transmit_register_setup(m_input_buffer[ m_input_index++ ]);
-
- m_timer_poll->adjust(attotime::never);
- }
- else
- {
- int txbaud = convert_baud(m_rs232_txbaud->read());
- m_timer_poll->adjust(attotime::from_hz(txbaud));
- }
+ int txbaud = convert_baud(m_rs232_txbaud->read());
+ m_timer_poll->adjust(attotime::from_hz(txbaud));
}
+ }
}
-const device_type PSEUDO_TERMINAL = device_creator<pseudo_terminal_device>;
+DEFINE_DEVICE_TYPE(PSEUDO_TERMINAL, pseudo_terminal_device, "pseudo_terminal", "Pseudo terminal")
diff --git a/src/devices/bus/rs232/pty.h b/src/devices/bus/rs232/pty.h
index ada2bdd0698..8c4c9c69a91 100644
--- a/src/devices/bus/rs232/pty.h
+++ b/src/devices/bus/rs232/pty.h
@@ -1,8 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:F. Ulivi
-//
-#ifndef _RS232_PTY_H_
-#define _RS232_PTY_H_
+#ifndef MAME_BUS_RS232_PTY_H
+#define MAME_BUS_RS232_PTY_H
+
+#pragma once
#include "rs232.h"
@@ -12,41 +13,39 @@ class pseudo_terminal_device : public device_t,
public device_pty_interface
{
public:
- pseudo_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pseudo_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) override {
- device_serial_interface::rx_w(state);
- }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) override { device_serial_interface::rx_w(state); }
- DECLARE_WRITE_LINE_MEMBER(update_serial);
+ DECLARE_WRITE_LINE_MEMBER(update_serial);
protected:
- virtual ioport_constructor device_input_ports() const override;
- virtual void device_start() override;
- virtual void device_stop() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_start() override;
+ virtual void device_stop() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- virtual void tra_callback() override;
- virtual void tra_complete() override;
- virtual void rcv_complete() override;
+ virtual void tra_callback() override;
+ virtual void tra_complete() override;
+ virtual void rcv_complete() override;
private:
- required_ioport m_rs232_txbaud;
- required_ioport m_rs232_rxbaud;
- required_ioport m_rs232_startbits;
- required_ioport m_rs232_databits;
- required_ioport m_rs232_parity;
- required_ioport m_rs232_stopbits;
-
- uint8_t m_input_buffer[ 1024 ];
- uint32_t m_input_count;
- uint32_t m_input_index;
- emu_timer *m_timer_poll;
-
- void queue(void);
+ void queue(void);
+
+ required_ioport m_rs232_txbaud;
+ required_ioport m_rs232_rxbaud;
+ required_ioport m_rs232_startbits;
+ required_ioport m_rs232_databits;
+ required_ioport m_rs232_parity;
+ required_ioport m_rs232_stopbits;
+
+ uint8_t m_input_buffer[ 1024 ];
+ uint32_t m_input_count;
+ uint32_t m_input_index;
+ emu_timer *m_timer_poll;
};
-extern const device_type PSEUDO_TERMINAL;
+DECLARE_DEVICE_TYPE(PSEUDO_TERMINAL, pseudo_terminal_device)
-#endif /* _RS232_PTY_H_ */
+#endif // MAME_BUS_RS232_PTY_H
diff --git a/src/devices/bus/rs232/rs232.cpp b/src/devices/bus/rs232/rs232.cpp
index 5672d1b1dc1..ddac39b5764 100644
--- a/src/devices/bus/rs232/rs232.cpp
+++ b/src/devices/bus/rs232/rs232.cpp
@@ -3,27 +3,15 @@
#include "emu.h"
#include "rs232.h"
-const device_type RS232_PORT = device_creator<rs232_port_device>;
+DEFINE_DEVICE_TYPE(RS232_PORT, rs232_port_device, "rs232", "RS232 Port")
rs232_port_device::rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, RS232_PORT, "RS232 Port", tag, owner, clock, "rs232", __FILE__),
- device_slot_interface(mconfig, *this),
- m_rxd(0),
- m_dcd(0),
- m_dsr(0),
- m_ri(0),
- m_cts(0),
- m_rxd_handler(*this),
- m_dcd_handler(*this),
- m_dsr_handler(*this),
- m_ri_handler(*this),
- m_cts_handler(*this),
- m_dev(nullptr)
+ rs232_port_device(mconfig, RS232_PORT, tag, owner, clock)
{
}
-rs232_port_device::rs232_port_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+rs232_port_device::rs232_port_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_rxd(0),
m_dcd(0),
diff --git a/src/devices/bus/rs232/rs232.h b/src/devices/bus/rs232/rs232.h
index caaa0606b20..395bf2b72cc 100644
--- a/src/devices/bus/rs232/rs232.h
+++ b/src/devices/bus/rs232/rs232.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:smf,Vas Crabb
-#ifndef MAME_BUS_RS232_H
-#define MAME_BUS_RS232_H
+#ifndef MAME_BUS_RS232_RS232_H
+#define MAME_BUS_RS232_RS232_H
#pragma once
@@ -117,15 +117,14 @@ class rs232_port_device : public device_t,
public:
rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- rs232_port_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
virtual ~rs232_port_device();
// static configuration helpers
- template<class _Object> static devcb_base &set_rxd_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_rxd_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_dcd_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_dcd_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_dsr_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_dsr_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_ri_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_ri_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_cts_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_cts_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_rxd_handler(device_t &device, Object &&cb) { return downcast<rs232_port_device &>(device).m_rxd_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dcd_handler(device_t &device, Object &&cb) { return downcast<rs232_port_device &>(device).m_dcd_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dsr_handler(device_t &device, Object &&cb) { return downcast<rs232_port_device &>(device).m_dsr_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_ri_handler(device_t &device, Object &&cb) { return downcast<rs232_port_device &>(device).m_ri_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_cts_handler(device_t &device, Object &&cb) { return downcast<rs232_port_device &>(device).m_cts_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( write_txd );
DECLARE_WRITE_LINE_MEMBER( write_dtr );
@@ -139,6 +138,8 @@ public:
DECLARE_READ_LINE_MEMBER( cts_r ) { return m_cts; }
protected:
+ rs232_port_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_config_complete() override;
@@ -163,13 +164,12 @@ class device_rs232_port_interface : public device_slot_card_interface
friend class rs232_port_device;
public:
- device_rs232_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_rs232_port_interface();
- virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_dtr ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_rts ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_etc ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_dtr ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_rts ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_etc ) { }
DECLARE_WRITE_LINE_MEMBER( output_rxd ) { m_port->m_rxd = state; m_port->m_rxd_handler(state); }
DECLARE_WRITE_LINE_MEMBER( output_dcd ) { m_port->m_dcd = state; m_port->m_dcd_handler(state); }
@@ -178,6 +178,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( output_cts ) { m_port->m_cts = state; m_port->m_cts_handler(state); }
protected:
+ device_rs232_port_interface(const machine_config &mconfig, device_t &device);
+
rs232_port_device *m_port;
static int convert_baud(uint8_t baud)
@@ -265,8 +267,8 @@ public:
}
protected:
- buffered_rs232_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+ buffered_rs232_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_buffered_serial_interface<FIFO_LENGTH>(mconfig, *this)
, device_rs232_port_interface(mconfig, *this)
{
@@ -285,8 +287,8 @@ protected:
using device_buffered_serial_interface<FIFO_LENGTH>::device_timer;
};
-extern const device_type RS232_PORT;
+DECLARE_DEVICE_TYPE(RS232_PORT, rs232_port_device)
SLOT_INTERFACE_EXTERN( default_rs232_devices );
-#endif // MAME_BUS_RS232_H
+#endif // MAME_BUS_RS232_RS232_H
diff --git a/src/devices/bus/rs232/ser_mouse.cpp b/src/devices/bus/rs232/ser_mouse.cpp
index 508e4072741..d84f9a4d5f3 100644
--- a/src/devices/bus/rs232/ser_mouse.cpp
+++ b/src/devices/bus/rs232/ser_mouse.cpp
@@ -12,8 +12,8 @@
#include "ser_mouse.h"
-serial_mouse_device::serial_mouse_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+serial_mouse_device::serial_mouse_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock),
device_rs232_port_interface(mconfig, *this),
device_serial_interface(mconfig, *this),
m_dtr(1),
@@ -29,17 +29,17 @@ serial_mouse_device::serial_mouse_device(const machine_config &mconfig, device_t
{
}
-const device_type MSFT_SERIAL_MOUSE = device_creator<microsoft_mouse_device>;
+DEFINE_DEVICE_TYPE(MSFT_SERIAL_MOUSE, microsoft_mouse_device, "microsoft_mouse", "Microsoft Serial Mouse")
microsoft_mouse_device::microsoft_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : serial_mouse_device(mconfig, MSFT_SERIAL_MOUSE, "Microsoft Serial Mouse", tag, owner, clock, "microsoft_mouse", __FILE__)
+ : serial_mouse_device(mconfig, MSFT_SERIAL_MOUSE, tag, owner, clock)
{
}
-const device_type MSYSTEM_SERIAL_MOUSE = device_creator<mouse_systems_mouse_device>;
+DEFINE_DEVICE_TYPE(MSYSTEM_SERIAL_MOUSE, mouse_systems_mouse_device, "mouse_systems_mouse", "Mouse Systems Serial Mouse")
mouse_systems_mouse_device::mouse_systems_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : serial_mouse_device(mconfig, MSYSTEM_SERIAL_MOUSE, "Mouse Systems Serial Mouse", tag, owner, clock, "mouse_systems_mouse", __FILE__)
+ : serial_mouse_device(mconfig, MSYSTEM_SERIAL_MOUSE, tag, owner, clock)
{
}
diff --git a/src/devices/bus/rs232/ser_mouse.h b/src/devices/bus/rs232/ser_mouse.h
index 0e001916d83..28d6e73d0d3 100644
--- a/src/devices/bus/rs232/ser_mouse.h
+++ b/src/devices/bus/rs232/ser_mouse.h
@@ -6,8 +6,8 @@
*
****************************************************************************/
-#ifndef SER_MOUSE_H_
-#define SER_MOUSE_H_
+#ifndef MAME_BUS_RS232_SER_MOUSE_H
+#define MAME_BUS_RS232_SER_MOUSE_H
#include "rs232.h"
@@ -17,13 +17,14 @@ class serial_mouse_device :
public device_serial_interface
{
public:
- serial_mouse_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
virtual ioport_constructor device_input_ports() const override;
protected:
+ serial_mouse_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
virtual void mouse_trans(int dx, int dy, int nb, int mbc) = 0;
virtual void set_frame() = 0;
void set_mouse_enable(bool state);
@@ -35,10 +36,13 @@ protected:
virtual WRITE_LINE_MEMBER(input_dtr) override;
virtual WRITE_LINE_MEMBER(input_rts) override;
+
int m_dtr;
int m_rts;
private:
+ void check_state() { set_mouse_enable(!m_dtr && !m_rts); }
+
uint8_t m_queue[256];
uint8_t m_head, m_tail, m_mb;
@@ -48,8 +52,6 @@ private:
required_ioport m_x;
required_ioport m_y;
required_ioport m_btn;
-
- void check_state() { set_mouse_enable(!m_dtr && !m_rts); }
};
class microsoft_mouse_device : public serial_mouse_device
@@ -64,7 +66,7 @@ protected:
virtual void mouse_trans(int dx, int dy, int nb, int mbc) override;
};
-extern const device_type MSFT_SERIAL_MOUSE;
+DECLARE_DEVICE_TYPE(MSFT_SERIAL_MOUSE, microsoft_mouse_device)
class mouse_systems_mouse_device : public serial_mouse_device
{
@@ -76,6 +78,6 @@ protected:
virtual void mouse_trans(int dx, int dy, int nb, int mbc) override;
};
-extern const device_type MSYSTEM_SERIAL_MOUSE;
+DECLARE_DEVICE_TYPE(MSYSTEM_SERIAL_MOUSE, mouse_systems_mouse_device)
-#endif /* SER_MOUSE_H_ */
+#endif // MAME_BUS_RS232_SER_MOUSE_H
diff --git a/src/devices/bus/rs232/sun_kbd.cpp b/src/devices/bus/rs232/sun_kbd.cpp
index a5e851c8d15..7e427efa78a 100644
--- a/src/devices/bus/rs232/sun_kbd.cpp
+++ b/src/devices/bus/rs232/sun_kbd.cpp
@@ -2,7 +2,7 @@
#include "sun_kbd.h"
-device_type const SUN_KBD_ADAPTOR = device_creator<sun_keyboard_adaptor_device>;
+DEFINE_DEVICE_TYPE(SUN_KBD_ADAPTOR, sun_keyboard_adaptor_device, "sunkbd_adaptor", "Sun Keyboard Adaptor")
namespace {
@@ -18,7 +18,7 @@ sun_keyboard_adaptor_device::sun_keyboard_adaptor_device(
char const *tag,
device_t *owner,
uint32_t clock)
- : device_t(mconfig, SUN_KBD_ADAPTOR, "Sun Keyboard Adaptor", tag, owner, clock, "sunkbd_adaptor", __FILE__)
+ : device_t(mconfig, SUN_KBD_ADAPTOR, tag, owner, clock)
, device_rs232_port_interface(mconfig, *this)
, m_keyboard_port(*this, "keyboard")
{
diff --git a/src/devices/bus/rs232/sun_kbd.h b/src/devices/bus/rs232/sun_kbd.h
index 8154eaca57d..681bd5a9781 100644
--- a/src/devices/bus/rs232/sun_kbd.h
+++ b/src/devices/bus/rs232/sun_kbd.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Vas Crabb
-#ifndef MAME_DEVICES_RS232_SUN_KBD_H
-#define MAME_DEVICES_RS232_SUN_KBD_H
+#ifndef MAME_BUS_RS232_SUN_KBD_H
+#define MAME_BUS_RS232_SUN_KBD_H
#pragma once
@@ -9,7 +9,7 @@
#include "bus/sunkbd/sunkbd.h"
-extern device_type const SUN_KBD_ADAPTOR;
+DECLARE_DEVICE_TYPE(SUN_KBD_ADAPTOR, sun_keyboard_adaptor_device)
class sun_keyboard_adaptor_device : public device_t, public device_rs232_port_interface
@@ -30,4 +30,4 @@ private:
required_device<sun_keyboard_port_device> m_keyboard_port;
};
-#endif // MAME_DEVICES_RS232_SUN_KBD_H
+#endif // MAME_BUS_RS232_SUN_KBD_H
diff --git a/src/devices/bus/rs232/terminal.cpp b/src/devices/bus/rs232/terminal.cpp
index 5835500b5fb..6d28eee7a0b 100644
--- a/src/devices/bus/rs232/terminal.cpp
+++ b/src/devices/bus/rs232/terminal.cpp
@@ -4,7 +4,7 @@
#include "terminal.h"
serial_terminal_device::serial_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : generic_terminal_device(mconfig, SERIAL_TERMINAL, "Serial Terminal", tag, owner, clock, "serial_terminal", __FILE__)
+ : generic_terminal_device(mconfig, SERIAL_TERMINAL, tag, owner, clock, TERMINAL_WIDTH, TERMINAL_HEIGHT)
, device_buffered_serial_interface(mconfig, *this)
, device_rs232_port_interface(mconfig, *this)
, m_rs232_txbaud(*this, "RS232_TXBAUD")
@@ -93,4 +93,4 @@ void serial_terminal_device::received_byte(uint8_t byte)
term_write(byte);
}
-const device_type SERIAL_TERMINAL = device_creator<serial_terminal_device>;
+DEFINE_DEVICE_TYPE(SERIAL_TERMINAL, serial_terminal_device, "serial_terminal", "Serial Terminal")
diff --git a/src/devices/bus/rs232/terminal.h b/src/devices/bus/rs232/terminal.h
index d9c788a1284..e58b882a96d 100644
--- a/src/devices/bus/rs232/terminal.h
+++ b/src/devices/bus/rs232/terminal.h
@@ -38,6 +38,6 @@ private:
required_ioport m_rs232_stopbits;
};
-extern const device_type SERIAL_TERMINAL;
+DECLARE_DEVICE_TYPE(SERIAL_TERMINAL, serial_terminal_device)
#endif // MAME_BUS_RS232_TERMINAL_H
diff --git a/src/devices/bus/rs232/xvd701.cpp b/src/devices/bus/rs232/xvd701.cpp
index 6b94b0e2cb6..f6f88186044 100644
--- a/src/devices/bus/rs232/xvd701.cpp
+++ b/src/devices/bus/rs232/xvd701.cpp
@@ -4,7 +4,7 @@
#include "xvd701.h"
jvc_xvd701_device::jvc_xvd701_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, JVC_XVD701, "JVC XV-D701", tag, owner, clock, "xvd701", __FILE__),
+ : device_t(mconfig, JVC_XVD701, tag, owner, clock),
device_serial_interface(mconfig, *this),
device_rs232_port_interface(mconfig, *this),
m_response_index(0),
@@ -150,4 +150,4 @@ void jvc_xvd701_device::rcv_complete()
}
}
-const device_type JVC_XVD701 = device_creator<jvc_xvd701_device>;
+DEFINE_DEVICE_TYPE(JVC_XVD701, jvc_xvd701_device, "xvd701", "JVC XV-D701")
diff --git a/src/devices/bus/rs232/xvd701.h b/src/devices/bus/rs232/xvd701.h
index 9c3c361b050..b1a73455d3f 100644
--- a/src/devices/bus/rs232/xvd701.h
+++ b/src/devices/bus/rs232/xvd701.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:smf
-#ifndef JVC_XV701_H_
-#define JVC_XV701_H_
+#ifndef MAME_BUS_RS232_XVD701_H
+#define MAME_BUS_RS232_XVD701_H
#include "rs232.h"
@@ -25,7 +25,7 @@ protected:
virtual void rcv_complete() override;
private:
- static const int TIMER_RESPONSE = 1;
+ static constexpr int TIMER_RESPONSE = 1;
void send_response();
unsigned char sum(unsigned char *buffer, int length);
@@ -36,6 +36,6 @@ private:
emu_timer *m_timer_response;
};
-extern const device_type JVC_XVD701;
+DECLARE_DEVICE_TYPE(JVC_XVD701, jvc_xvd701_device)
-#endif
+#endif // MAME_BUS_RS232_XVD701_H
diff --git a/src/devices/bus/s100/dj2db.cpp b/src/devices/bus/s100/dj2db.cpp
index f83d7e3a420..f68a879d033 100644
--- a/src/devices/bus/s100/dj2db.cpp
+++ b/src/devices/bus/s100/dj2db.cpp
@@ -33,7 +33,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type S100_DJ2DB = device_creator<s100_dj2db_device>;
+DEFINE_DEVICE_TYPE(S100_DJ2DB, s100_dj2db_device, "s100_sj2db", "Morrow Disk Jockey 2D/B")
//-------------------------------------------------
@@ -252,7 +252,7 @@ ioport_constructor s100_dj2db_device::device_input_ports() const
//-------------------------------------------------
s100_dj2db_device::s100_dj2db_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, S100_DJ2DB, "DJ2DB", tag, owner, clock, "dj2db", __FILE__),
+ device_t(mconfig, S100_DJ2DB, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
m_fdc(*this, MB8866_TAG),
m_dbrg(*this, BR1941_TAG),
diff --git a/src/devices/bus/s100/dj2db.h b/src/devices/bus/s100/dj2db.h
index 19f611a5f07..8614a12f34d 100644
--- a/src/devices/bus/s100/dj2db.h
+++ b/src/devices/bus/s100/dj2db.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_S100_DJ2DB_H
+#define MAME_BUS_S100_DJ2DB_H
-#ifndef __S100_DJ2DB__
-#define __S100_DJ2DB__
+#pragma once
#include "s100.h"
#include "machine/com8116.h"
@@ -54,7 +54,7 @@ protected:
private:
// internal state
- required_device<mb8866_t> m_fdc;
+ required_device<mb8866_device> m_fdc;
required_device<com8116_device> m_dbrg;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
@@ -81,7 +81,6 @@ private:
// device type definition
-extern const device_type S100_DJ2DB;
-
+DECLARE_DEVICE_TYPE(S100_DJ2DB, s100_dj2db_device)
-#endif
+#endif // MAME_BUS_S100_DJ2DB_H
diff --git a/src/devices/bus/s100/djdma.cpp b/src/devices/bus/s100/djdma.cpp
index ef6b93353a3..c1d04275779 100644
--- a/src/devices/bus/s100/djdma.cpp
+++ b/src/devices/bus/s100/djdma.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type S100_DJDMA = device_creator<s100_djdma_device>;
+DEFINE_DEVICE_TYPE(S100_DJDMA, s100_djdma_device, "s100_djdma", "Morrow Disk Jockey/DMA")
//-------------------------------------------------
@@ -104,7 +104,7 @@ machine_config_constructor s100_djdma_device::device_mconfig_additions() const
//-------------------------------------------------
s100_djdma_device::s100_djdma_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, S100_DJDMA, "DJDMA", tag, owner, clock, "djdma", __FILE__),
+ device_t(mconfig, S100_DJDMA, tag, owner, clock),
device_s100_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/s100/djdma.h b/src/devices/bus/s100/djdma.h
index 083b1a5b05b..3e25ee93f77 100644
--- a/src/devices/bus/s100/djdma.h
+++ b/src/devices/bus/s100/djdma.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_S100_DJDMA_H
+#define MAME_BUS_S100_DJDMA_H
-#ifndef __S100_DJDMA__
-#define __S100_DJDMA__
+#pragma once
#include "s100.h"
#include "cpu/z80/z80.h"
@@ -41,7 +41,6 @@ protected:
// device type definition
-extern const device_type S100_DJDMA;
-
+DECLARE_DEVICE_TYPE(S100_DJDMA, s100_djdma_device)
-#endif
+#endif // MAME_BUS_S100_DJDMA_H
diff --git a/src/devices/bus/s100/mm65k16s.cpp b/src/devices/bus/s100/mm65k16s.cpp
index 4026d17385e..2cc3edabb58 100644
--- a/src/devices/bus/s100/mm65k16s.cpp
+++ b/src/devices/bus/s100/mm65k16s.cpp
@@ -22,7 +22,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type S100_MM65K16S = device_creator<s100_mm65k16s_device>;
+DEFINE_DEVICE_TYPE(S100_MM65K16S, s100_mm65k16s_device, "s100_mm65k16s", "Morrow MM65K16S")
//-------------------------------------------------
@@ -203,7 +203,7 @@ ioport_constructor s100_mm65k16s_device::device_input_ports() const
//-------------------------------------------------
s100_mm65k16s_device::s100_mm65k16s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, S100_MM65K16S, "MM65K16S", tag, owner, clock, "mm65k16s", __FILE__),
+ device_t(mconfig, S100_MM65K16S, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
m_ram(*this, "ram")
{
diff --git a/src/devices/bus/s100/mm65k16s.h b/src/devices/bus/s100/mm65k16s.h
index 82028856c05..e46d13f955e 100644
--- a/src/devices/bus/s100/mm65k16s.h
+++ b/src/devices/bus/s100/mm65k16s.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_S100_MM65K16S_H
+#define MAME_BUS_S100_MM65K16S_H
-#ifndef __S100_MM65K16S__
-#define __S100_MM65K16S__
+#pragma once
#include "s100.h"
@@ -48,7 +48,6 @@ private:
// device type definition
-extern const device_type S100_MM65K16S;
-
+DECLARE_DEVICE_TYPE(S100_MM65K16S, s100_mm65k16s_device)
-#endif
+#endif // MAME_BUS_S100_MM65K16S_H
diff --git a/src/devices/bus/s100/nsmdsa.cpp b/src/devices/bus/s100/nsmdsa.cpp
index 956dc3b081e..495026c0f37 100644
--- a/src/devices/bus/s100/nsmdsa.cpp
+++ b/src/devices/bus/s100/nsmdsa.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type S100_MDS_A = device_creator<s100_mds_a_device>;
+DEFINE_DEVICE_TYPE(S100_MDS_A, s100_mds_a_device, "s100_nsmdsa", "North Star MDS-A")
//-------------------------------------------------
@@ -83,7 +83,7 @@ machine_config_constructor s100_mds_a_device::device_mconfig_additions() const
//-------------------------------------------------
s100_mds_a_device::s100_mds_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, S100_MDS_A, "MDS-A", tag, owner, clock, "nsmdsa", __FILE__),
+ device_t(mconfig, S100_MDS_A, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
m_floppy0(*this, "floppy0"),
m_floppy1(*this, "floppy1"),
diff --git a/src/devices/bus/s100/nsmdsa.h b/src/devices/bus/s100/nsmdsa.h
index 875b62b4ca0..3bf167732b6 100644
--- a/src/devices/bus/s100/nsmdsa.h
+++ b/src/devices/bus/s100/nsmdsa.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_S100_NSMDSA_H
+#define MAME_BUS_S100_NSMDSA_H
-#ifndef __S100_MDS_A__
-#define __S100_MDS_A__
+#pragma once
#include "s100.h"
#include "imagedev/floppy.h"
@@ -50,8 +50,6 @@ private:
// device type definition
-extern const device_type S100_MDS_A;
-
-
+DECLARE_DEVICE_TYPE(S100_MDS_A, s100_mds_a_device)
-#endif
+#endif // MAME_BUS_S100_NSMDSA_H
diff --git a/src/devices/bus/s100/nsmdsad.cpp b/src/devices/bus/s100/nsmdsad.cpp
index 4cb2da40d0f..69b98dbef0a 100644
--- a/src/devices/bus/s100/nsmdsad.cpp
+++ b/src/devices/bus/s100/nsmdsad.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type S100_MDS_AD = device_creator<s100_mds_ad_device>;
+DEFINE_DEVICE_TYPE(S100_MDS_AD, s100_mds_ad_device, "s100_nsmdsad", "North Star MDS-A-D")
//-------------------------------------------------
@@ -84,7 +84,7 @@ machine_config_constructor s100_mds_ad_device::device_mconfig_additions() const
//-------------------------------------------------
s100_mds_ad_device::s100_mds_ad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, S100_MDS_AD, "MDS-A-D", tag, owner, clock, "nsmdsad", __FILE__),
+ device_t(mconfig, S100_MDS_AD, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
m_floppy0(*this, "floppy0"),
m_floppy1(*this, "floppy1"),
diff --git a/src/devices/bus/s100/nsmdsad.h b/src/devices/bus/s100/nsmdsad.h
index 54794e906c6..0affdd595c8 100644
--- a/src/devices/bus/s100/nsmdsad.h
+++ b/src/devices/bus/s100/nsmdsad.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_S100_NSMDSAD_H
+#define MAME_BUS_S100_NSMDSAD_H
-#ifndef __S100_MDS_AD__
-#define __S100_MDS_AD__
+#pragma once
#include "s100.h"
#include "imagedev/floppy.h"
@@ -51,8 +51,6 @@ private:
// device type definition
-extern const device_type S100_MDS_AD;
-
-
+DECLARE_DEVICE_TYPE(S100_MDS_AD, s100_mds_ad_device)
-#endif
+#endif // MAME_BUS_S100_NSMDSAD_H
diff --git a/src/devices/bus/s100/s100.cpp b/src/devices/bus/s100/s100.cpp
index 628daf29222..079d41a7a18 100644
--- a/src/devices/bus/s100/s100.cpp
+++ b/src/devices/bus/s100/s100.cpp
@@ -14,8 +14,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type S100_BUS = device_creator<s100_bus_t>;
-const device_type S100_SLOT = device_creator<s100_slot_t>;
+DEFINE_DEVICE_TYPE(S100_BUS, s100_bus_device, "s100_bus", "S100 bus")
+DEFINE_DEVICE_TYPE(S100_SLOT, s100_slot_device, "s100_slot", "S100 slot")
@@ -27,8 +27,8 @@ const device_type S100_SLOT = device_creator<s100_slot_t>;
// device_s100_card_interface - constructor
//-------------------------------------------------
-device_s100_card_interface::device_s100_card_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
+device_s100_card_interface::device_s100_card_interface(const machine_config &mconfig, device_t &device) :
+ device_slot_card_interface(mconfig, device),
m_bus(nullptr),
m_next(nullptr)
{
@@ -36,11 +36,12 @@ device_s100_card_interface::device_s100_card_interface(const machine_config &mco
//-------------------------------------------------
-// s100_slot_t - constructor
+// s100_slot_device - constructor
//-------------------------------------------------
-s100_slot_t::s100_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, S100_SLOT, "S100 slot", tag, owner, clock, "s100_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_bus(nullptr)
+s100_slot_device::s100_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, S100_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_bus(nullptr)
{
}
@@ -49,20 +50,20 @@ s100_slot_t::s100_slot_t(const machine_config &mconfig, const char *tag, device_
// device_start - device-specific startup
//-------------------------------------------------
-void s100_slot_t::device_start()
+void s100_slot_device::device_start()
{
- m_bus = machine().device<s100_bus_t>(S100_TAG);
+ m_bus = machine().device<s100_bus_device>(S100_TAG);
device_s100_card_interface *dev = dynamic_cast<device_s100_card_interface *>(get_card_device());
if (dev) m_bus->add_card(dev);
}
//-------------------------------------------------
-// s100_bus_t - constructor
+// s100_bus_device - constructor
//-------------------------------------------------
-s100_bus_t::s100_bus_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, S100_BUS, "S100", tag, owner, clock, "s100", __FILE__),
+s100_bus_device::s100_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, S100_BUS, tag, owner, clock),
m_write_irq(*this),
m_write_nmi(*this),
m_write_vi0(*this),
@@ -88,7 +89,7 @@ s100_bus_t::s100_bus_t(const machine_config &mconfig, const char *tag, device_t
// device_start - device-specific startup
//-------------------------------------------------
-void s100_bus_t::device_start()
+void s100_bus_device::device_start()
{
// resolve callbacks
m_write_irq.resolve_safe();
@@ -115,7 +116,7 @@ void s100_bus_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void s100_bus_t::device_reset()
+void s100_bus_device::device_reset()
{
}
@@ -124,7 +125,7 @@ void s100_bus_t::device_reset()
// add_card - add card
//-------------------------------------------------
-void s100_bus_t::add_card(device_s100_card_interface *card)
+void s100_bus_device::add_card(device_s100_card_interface *card)
{
card->m_bus = this;
m_device_list.append(*card);
@@ -135,7 +136,7 @@ void s100_bus_t::add_card(device_s100_card_interface *card)
// smemr_r - memory read
//-------------------------------------------------
-READ8_MEMBER( s100_bus_t::smemr_r )
+READ8_MEMBER( s100_bus_device::smemr_r )
{
uint8_t data = 0;
@@ -155,7 +156,7 @@ READ8_MEMBER( s100_bus_t::smemr_r )
// mwrt_w - memory write
//-------------------------------------------------
-WRITE8_MEMBER( s100_bus_t::mwrt_w )
+WRITE8_MEMBER( s100_bus_device::mwrt_w )
{
device_s100_card_interface *entry = m_device_list.first();
@@ -171,7 +172,7 @@ WRITE8_MEMBER( s100_bus_t::mwrt_w )
// sinp_r - I/O read
//-------------------------------------------------
-READ8_MEMBER( s100_bus_t::sinp_r )
+READ8_MEMBER( s100_bus_device::sinp_r )
{
uint8_t data = 0;
@@ -191,7 +192,7 @@ READ8_MEMBER( s100_bus_t::sinp_r )
// sout_w - I/O write
//-------------------------------------------------
-WRITE8_MEMBER( s100_bus_t::sout_w )
+WRITE8_MEMBER( s100_bus_device::sout_w )
{
device_s100_card_interface *entry = m_device_list.first();
diff --git a/src/devices/bus/s100/s100.h b/src/devices/bus/s100/s100.h
index 44f2d642770..a4eef9f5f83 100644
--- a/src/devices/bus/s100/s100.h
+++ b/src/devices/bus/s100/s100.h
@@ -59,10 +59,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_S100_S100_H
+#define MAME_BUS_S100_S100_H
-#ifndef __S100__
-#define __S100__
+#pragma once
@@ -88,55 +88,55 @@
#define MCFG_S100_IRQ_CALLBACK(_write) \
- devcb = &s100_bus_t::set_irq_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_irq_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_NMI_CALLBACK(_write) \
- devcb = &s100_bus_t::set_nmi_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_nmi_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_VI0_CALLBACK(_write) \
- devcb = &s100_bus_t::set_vi0_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_vi0_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_VI1_CALLBACK(_write) \
- devcb = &s100_bus_t::set_vi1_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_vi1_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_VI2_CALLBACK(_write) \
- devcb = &s100_bus_t::set_vi2_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_vi2_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_VI3_CALLBACK(_write) \
- devcb = &s100_bus_t::set_vi3_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_vi3_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_VI4_CALLBACK(_write) \
- devcb = &s100_bus_t::set_vi4_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_vi4_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_VI5_CALLBACK(_write) \
- devcb = &s100_bus_t::set_vi5_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_vi5_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_VI6_CALLBACK(_write) \
- devcb = &s100_bus_t::set_vi6_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_vi6_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_VI7_CALLBACK(_write) \
- devcb = &s100_bus_t::set_vi7_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_vi7_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_DMA0_CALLBACK(_write) \
- devcb = &s100_bus_t::set_dma0_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_dma0_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_DMA1_CALLBACK(_write) \
- devcb = &s100_bus_t::set_dma1_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_dma1_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_DMA2_CALLBACK(_write) \
- devcb = &s100_bus_t::set_dma2_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_dma2_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_DMA3_CALLBACK(_write) \
- devcb = &s100_bus_t::set_dma3_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_dma3_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_RDY_CALLBACK(_write) \
- devcb = &s100_bus_t::set_rdy_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_rdy_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_HOLD_CALLBACK(_write) \
- devcb = &s100_bus_t::set_hold_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_hold_wr_callback(*device, DEVCB_##_write);
#define MCFG_S100_ERROR_CALLBACK(_write) \
- devcb = &s100_bus_t::set_error_wr_callback(*device, DEVCB_##_write);
+ devcb = &s100_bus_device::set_error_wr_callback(*device, DEVCB_##_write);
@@ -144,43 +144,40 @@
// TYPE DEFINITIONS
//**************************************************************************
-class s100_bus_t;
+class s100_bus_device;
// ======================> device_s100_card_interface
class device_s100_card_interface : public device_slot_card_interface
{
- friend class s100_bus_t;
+ friend class s100_bus_device;
+ template <class ElementType> friend class simple_list;
public:
- // construction/destruction
- device_s100_card_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_s100_card_interface() { }
-
device_s100_card_interface *next() const { return m_next; }
// interrupts
- virtual void s100_int_w(int state) { };
- virtual void s100_nmi_w(int state) { };
- virtual uint8_t s100_sinta_r(offs_t offset) { return 0; };
+ virtual void s100_int_w(int state) { }
+ virtual void s100_nmi_w(int state) { }
+ virtual uint8_t s100_sinta_r(offs_t offset) { return 0; }
// vectored interrupts
- virtual void s100_vi0_w(int state) { };
- virtual void s100_vi1_w(int state) { };
- virtual void s100_vi2_w(int state) { };
- virtual void s100_vi3_w(int state) { };
- virtual void s100_vi4_w(int state) { };
- virtual void s100_vi5_w(int state) { };
- virtual void s100_vi6_w(int state) { };
- virtual void s100_vi7_w(int state) { };
+ virtual void s100_vi0_w(int state) { }
+ virtual void s100_vi1_w(int state) { }
+ virtual void s100_vi2_w(int state) { }
+ virtual void s100_vi3_w(int state) { }
+ virtual void s100_vi4_w(int state) { }
+ virtual void s100_vi5_w(int state) { }
+ virtual void s100_vi6_w(int state) { }
+ virtual void s100_vi7_w(int state) { }
// memory access
- virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) { return 0; };
- virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) { };
+ virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) { return 0; }
+ virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) { }
// I/O access
- virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) { return 0; };
- virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) { };
+ virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) { return 0; }
+ virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) { }
// configuration access
virtual void s100_phlda_w(int state) { }
@@ -194,39 +191,44 @@ public:
virtual void s100_reset_w(int state) { }
virtual void s100_slave_clr_w(int state) { }
-public:
- s100_bus_t *m_bus;
+protected:
+ // construction/destruction
+ device_s100_card_interface(const machine_config &mconfig, device_t &device);
+
+ s100_bus_device *m_bus;
+
+private:
device_s100_card_interface *m_next;
};
-// ======================> s100_bus_t
+// ======================> s100_bus_device
-class s100_bus_t : public device_t
+class s100_bus_device : public device_t
{
public:
// construction/destruction
- s100_bus_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- ~s100_bus_t() { m_device_list.detach_all(); }
-
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_irq.set_callback(object); }
- template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_nmi.set_callback(object); }
- template<class _Object> static devcb_base &set_vi0_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi0.set_callback(object); }
- template<class _Object> static devcb_base &set_vi1_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi1.set_callback(object); }
- template<class _Object> static devcb_base &set_vi2_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi2.set_callback(object); }
- template<class _Object> static devcb_base &set_vi3_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi3.set_callback(object); }
- template<class _Object> static devcb_base &set_vi4_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi4.set_callback(object); }
- template<class _Object> static devcb_base &set_vi5_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi5.set_callback(object); }
- template<class _Object> static devcb_base &set_vi6_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi6.set_callback(object); }
- template<class _Object> static devcb_base &set_vi7_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi7.set_callback(object); }
- template<class _Object> static devcb_base &set_dma0_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma0.set_callback(object); }
- template<class _Object> static devcb_base &set_dma1_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma1.set_callback(object); }
- template<class _Object> static devcb_base &set_dma2_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma2.set_callback(object); }
- template<class _Object> static devcb_base &set_dma3_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma3.set_callback(object); }
- template<class _Object> static devcb_base &set_rdy_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_rdy.set_callback(object); }
- template<class _Object> static devcb_base &set_hold_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_hold.set_callback(object); }
- template<class _Object> static devcb_base &set_error_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_error.set_callback(object); }
+ s100_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ~s100_bus_device() { m_device_list.detach_all(); }
+
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_nmi_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_nmi.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_vi0_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_vi0.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_vi1_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_vi1.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_vi2_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_vi2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_vi3_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_vi3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_vi4_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_vi4.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_vi5_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_vi5.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_vi6_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_vi6.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_vi7_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_vi7.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dma0_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_dma0.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dma1_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_dma1.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dma2_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_dma2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dma3_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_dma3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_rdy_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_rdy.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_hold_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_hold.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_error_wr_callback(device_t &device, Object &&cb) { return downcast<s100_bus_device &>(device).m_write_error.set_callback(std::forward<Object>(cb)); }
void add_card(device_s100_card_interface *card);
@@ -282,29 +284,25 @@ private:
};
-// ======================> s100_slot_t
+// ======================> s100_slot_device
-class s100_slot_t : public device_t,
- public device_slot_interface
+class s100_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
- s100_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ s100_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
private:
- s100_bus_t *m_bus;
+ s100_bus_device *m_bus;
};
// device type definition
-extern const device_type S100_BUS;
-extern const device_type S100_SLOT;
-
-
-
+DECLARE_DEVICE_TYPE(S100_BUS, s100_bus_device)
+DECLARE_DEVICE_TYPE(S100_SLOT, s100_slot_device)
-#endif
+#endif // MAME_BUS_S100_S100_H
diff --git a/src/devices/bus/s100/wunderbus.cpp b/src/devices/bus/s100/wunderbus.cpp
index 09ee10d71e1..dd89f1c5d52 100644
--- a/src/devices/bus/s100/wunderbus.cpp
+++ b/src/devices/bus/s100/wunderbus.cpp
@@ -31,7 +31,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type S100_WUNDERBUS = device_creator<s100_wunderbus_device>;
+DEFINE_DEVICE_TYPE(S100_WUNDERBUS, s100_wunderbus_device, "s100_wunderbus", "Morrow Winderbus I/O")
//-------------------------------------------------
@@ -238,7 +238,7 @@ ioport_constructor s100_wunderbus_device::device_input_ports() const
//-------------------------------------------------
s100_wunderbus_device::s100_wunderbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, S100_WUNDERBUS, "Wunderbus I/O", tag, owner, clock, "s100_wunderbus", __FILE__),
+ device_t(mconfig, S100_WUNDERBUS, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
m_pic(*this, I8259A_TAG),
m_ace1(*this, INS8250_1_TAG),
diff --git a/src/devices/bus/s100/wunderbus.h b/src/devices/bus/s100/wunderbus.h
index 5d2e37ed48b..4b1d5554e06 100644
--- a/src/devices/bus/s100/wunderbus.h
+++ b/src/devices/bus/s100/wunderbus.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_S100_WUNDERBUS_H
+#define MAME_BUS_S100_WUNDERBUS_H
-#ifndef __S100_WUNDERBUS__
-#define __S100_WUNDERBUS__
+#pragma once
#include "s100.h"
#include "machine/ins8250.h"
@@ -66,7 +66,6 @@ private:
// device type definition
-extern const device_type S100_WUNDERBUS;
-
+DECLARE_DEVICE_TYPE(S100_WUNDERBUS, s100_wunderbus_device)
-#endif
+#endif // MAME_BUS_S100_WUNDERBUS_H
diff --git a/src/devices/bus/sat_ctrl/analog.cpp b/src/devices/bus/sat_ctrl/analog.cpp
index 1ac30a9bd3a..6e513b18d47 100644
--- a/src/devices/bus/sat_ctrl/analog.cpp
+++ b/src/devices/bus/sat_ctrl/analog.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SATURN_ANALOG = device_creator<saturn_analog_device>;
+DEFINE_DEVICE_TYPE(SATURN_ANALOG, saturn_analog_device, "saturn_analog", "Sega Saturn Analog Controller")
static INPUT_PORTS_START( saturn_analog )
@@ -64,12 +64,12 @@ ioport_constructor saturn_analog_device::device_input_ports() const
//-------------------------------------------------
saturn_analog_device::saturn_analog_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_ANALOG, "Sega Saturn Analog Controller", tag, owner, clock, "saturn_analog", __FILE__),
- device_saturn_control_port_interface(mconfig, *this),
- m_joy(*this, "JOY"),
- m_anx(*this, "ANALOG_X"),
- m_any(*this, "ANALOG_Y"),
- m_anz(*this, "ANALOG_Z")
+ device_t(mconfig, SATURN_ANALOG, tag, owner, clock),
+ device_saturn_control_port_interface(mconfig, *this),
+ m_joy(*this, "JOY"),
+ m_anx(*this, "ANALOG_X"),
+ m_any(*this, "ANALOG_Y"),
+ m_anz(*this, "ANALOG_Z")
{
m_ctrl_id = 0x15;
}
diff --git a/src/devices/bus/sat_ctrl/analog.h b/src/devices/bus/sat_ctrl/analog.h
index ec3d211a059..d86313e59a1 100644
--- a/src/devices/bus/sat_ctrl/analog.h
+++ b/src/devices/bus/sat_ctrl/analog.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_ANALOG_H
+#define MAME_BUS_SAT_CTRL_ANALOG_H
-#ifndef __SATURN_ANALOG__
-#define __SATURN_ANALOG__
+#pragma once
#include "ctrl.h"
@@ -49,7 +49,6 @@ private:
// device type definition
-extern const device_type SATURN_ANALOG;
-
+DECLARE_DEVICE_TYPE(SATURN_ANALOG, saturn_analog_device)
-#endif
+#endif // MAME_BUS_SAT_CTRL_ANALOG_H
diff --git a/src/devices/bus/sat_ctrl/ctrl.cpp b/src/devices/bus/sat_ctrl/ctrl.cpp
index 24239d0c67f..93a09176aa4 100644
--- a/src/devices/bus/sat_ctrl/ctrl.cpp
+++ b/src/devices/bus/sat_ctrl/ctrl.cpp
@@ -8,6 +8,7 @@
#include "emu.h"
#include "ctrl.h"
+
// slot devices
#include "analog.h"
#include "joy.h"
@@ -24,7 +25,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SATURN_CONTROL_PORT = device_creator<saturn_control_port_device>;
+DEFINE_DEVICE_TYPE(SATURN_CONTROL_PORT, saturn_control_port_device, "saturn_control_port", "Sega Saturn controller port")
//**************************************************************************
@@ -60,8 +61,8 @@ device_saturn_control_port_interface::~device_saturn_control_port_interface()
//-------------------------------------------------
saturn_control_port_device::saturn_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_CONTROL_PORT, "Sega Saturn control port", tag, owner, clock, "saturn_control_port", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, SATURN_CONTROL_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this), m_device(nullptr)
{
}
diff --git a/src/devices/bus/sat_ctrl/ctrl.h b/src/devices/bus/sat_ctrl/ctrl.h
index 3a03cd2234e..13e30459c01 100644
--- a/src/devices/bus/sat_ctrl/ctrl.h
+++ b/src/devices/bus/sat_ctrl/ctrl.h
@@ -7,10 +7,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_CTRL_H
+#define MAME_BUS_SAT_CTRL_CTRL_H
-#ifndef __SATURN_CONTROL_PORT__
-#define __SATURN_CONTROL_PORT__
+#pragma once
//**************************************************************************
@@ -25,15 +25,16 @@ class device_saturn_control_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_saturn_control_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_saturn_control_port_interface();
- virtual uint16_t read_direct() { return 0; };
- virtual uint8_t read_ctrl(uint8_t offset) { return 0; };
- virtual uint8_t read_status() { return 0xf0; };
- virtual uint8_t read_id(int idx) { return 0xff; };
+ virtual uint16_t read_direct() { return 0; }
+ virtual uint8_t read_ctrl(uint8_t offset) { return 0; }
+ virtual uint8_t read_status() { return 0xf0; }
+ virtual uint8_t read_id(int idx) { return 0xff; }
protected:
+ device_saturn_control_port_interface(const machine_config &mconfig, device_t &device);
+
uint8_t m_ctrl_id;
saturn_control_port_device *m_port;
};
@@ -62,7 +63,7 @@ protected:
// device type definition
-extern const device_type SATURN_CONTROL_PORT;
+DECLARE_DEVICE_TYPE(SATURN_CONTROL_PORT, saturn_control_port_device)
//**************************************************************************
@@ -78,4 +79,4 @@ SLOT_INTERFACE_EXTERN( saturn_controls );
SLOT_INTERFACE_EXTERN( saturn_joys );
-#endif
+#endif // MAME_BUS_SAT_CTRL_CTRL_H
diff --git a/src/devices/bus/sat_ctrl/joy.cpp b/src/devices/bus/sat_ctrl/joy.cpp
index cabc0438304..f44b0f6b4ee 100644
--- a/src/devices/bus/sat_ctrl/joy.cpp
+++ b/src/devices/bus/sat_ctrl/joy.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SATURN_JOY = device_creator<saturn_joy_device>;
+DEFINE_DEVICE_TYPE(SATURN_JOY, saturn_joy_device, "saturn_joy", "Sega Saturn Joypad")
static INPUT_PORTS_START( saturn_joy )
@@ -55,9 +55,9 @@ ioport_constructor saturn_joy_device::device_input_ports() const
//-------------------------------------------------
saturn_joy_device::saturn_joy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_JOY, "Sega Saturn Joypad", tag, owner, clock, "saturn_joy", __FILE__),
- device_saturn_control_port_interface(mconfig, *this),
- m_joy(*this, "JOY")
+ device_t(mconfig, SATURN_JOY, tag, owner, clock),
+ device_saturn_control_port_interface(mconfig, *this),
+ m_joy(*this, "JOY")
{
m_ctrl_id = 0x02;
}
diff --git a/src/devices/bus/sat_ctrl/joy.h b/src/devices/bus/sat_ctrl/joy.h
index 6a9b4ca24f7..b4e124fc034 100644
--- a/src/devices/bus/sat_ctrl/joy.h
+++ b/src/devices/bus/sat_ctrl/joy.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_JOY_H
+#define MAME_BUS_SAT_CTRL_JOY_H
-#ifndef __SATURN_JOY__
-#define __SATURN_JOY__
+#pragma once
#include "ctrl.h"
@@ -47,7 +47,6 @@ private:
// device type definition
-extern const device_type SATURN_JOY;
-
+DECLARE_DEVICE_TYPE(SATURN_JOY, saturn_joy_device)
-#endif
+#endif // MAME_BUS_SAT_CTRL_JOY_H
diff --git a/src/devices/bus/sat_ctrl/joy_md.cpp b/src/devices/bus/sat_ctrl/joy_md.cpp
index bb6f076b127..987dffcf528 100644
--- a/src/devices/bus/sat_ctrl/joy_md.cpp
+++ b/src/devices/bus/sat_ctrl/joy_md.cpp
@@ -13,8 +13,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SATURN_JOYMD3B = device_creator<saturn_joymd3b_device>;
-const device_type SATURN_JOYMD6B = device_creator<saturn_joymd6b_device>;
+DEFINE_DEVICE_TYPE(SATURN_JOYMD3B, saturn_joymd3b_device, "saturn_md3b", "Sega Saturn Joypad MD 3buttons")
+DEFINE_DEVICE_TYPE(SATURN_JOYMD6B, saturn_joymd6b_device, "saturn_md6b", "Sega Saturn Joypad MD 6buttons")
static INPUT_PORTS_START( saturn_md3b )
PORT_START("JOY")
@@ -71,18 +71,18 @@ ioport_constructor saturn_joymd6b_device::device_input_ports() const
//-------------------------------------------------
saturn_joymd3b_device::saturn_joymd3b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_JOYMD3B, "Sega Saturn Joypad MD 3buttons", tag, owner, clock, "saturn_md3b", __FILE__),
- device_saturn_control_port_interface(mconfig, *this),
- m_joy(*this, "JOY")
+ device_t(mconfig, SATURN_JOYMD3B, tag, owner, clock),
+ device_saturn_control_port_interface(mconfig, *this),
+ m_joy(*this, "JOY")
{
m_ctrl_id = 0xe1;
}
saturn_joymd6b_device::saturn_joymd6b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_JOYMD6B, "Sega Saturn Joypad MD 6buttons", tag, owner, clock, "saturn_md6b", __FILE__),
- device_saturn_control_port_interface(mconfig, *this),
- m_joy(*this, "JOY")
+ device_t(mconfig, SATURN_JOYMD6B, tag, owner, clock),
+ device_saturn_control_port_interface(mconfig, *this),
+ m_joy(*this, "JOY")
{
m_ctrl_id = 0xe2;
}
diff --git a/src/devices/bus/sat_ctrl/joy_md.h b/src/devices/bus/sat_ctrl/joy_md.h
index 5649e5579fc..845c6bce9da 100644
--- a/src/devices/bus/sat_ctrl/joy_md.h
+++ b/src/devices/bus/sat_ctrl/joy_md.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_JOY_MD_H
+#define MAME_BUS_SAT_CTRL_JOY_MD_H
-#ifndef __SATURN_MDJOY__
-#define __SATURN_MDJOY__
+#pragma once
#include "ctrl.h"
@@ -32,8 +32,8 @@ public:
protected:
// device-level overrides
- virtual void device_start() override {};
- virtual void device_reset() override {};
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
// device_saturn_control_port_interface overrides
virtual uint8_t read_ctrl(uint8_t offset) override;
@@ -59,8 +59,8 @@ public:
protected:
// device-level overrides
- virtual void device_start() override {};
- virtual void device_reset() override {};
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
// device_saturn_control_port_interface overrides
virtual uint8_t read_ctrl(uint8_t offset) override;
@@ -73,8 +73,8 @@ private:
// device type definition
-extern const device_type SATURN_JOYMD3B;
-extern const device_type SATURN_JOYMD6B;
+DECLARE_DEVICE_TYPE(SATURN_JOYMD3B, saturn_joymd3b_device)
+DECLARE_DEVICE_TYPE(SATURN_JOYMD6B, saturn_joymd6b_device)
-#endif
+#endif // MAME_BUS_SAT_CTRL_JOY_MD_H
diff --git a/src/devices/bus/sat_ctrl/keybd.cpp b/src/devices/bus/sat_ctrl/keybd.cpp
index 6d11b798c9f..be8803e479f 100644
--- a/src/devices/bus/sat_ctrl/keybd.cpp
+++ b/src/devices/bus/sat_ctrl/keybd.cpp
@@ -13,10 +13,10 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SATURN_KEYBD = device_creator<saturn_keybd_device>;
+DEFINE_DEVICE_TYPE(SATURN_KEYBD, saturn_keybd_device, "saturn_keybd", "Sega Saturn Keyboard")
-static INPUT_PORTS_START( saturn_joy )
+static INPUT_PORTS_START( saturn_keybd )
// TODO: there's no info about the keycode used on Saturn keyboard, the following is trial & error with Game Basic software
PORT_START("KEY.0") // 0x00 - 0x07
PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_UNUSED)
@@ -194,7 +194,7 @@ INPUT_PORTS_END
ioport_constructor saturn_keybd_device::device_input_ports() const
{
- return INPUT_PORTS_NAME( saturn_joy );
+ return INPUT_PORTS_NAME( saturn_keybd );
}
@@ -207,10 +207,10 @@ ioport_constructor saturn_keybd_device::device_input_ports() const
//-------------------------------------------------
saturn_keybd_device::saturn_keybd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_KEYBD, "Sega Saturn Keyboard", tag, owner, clock, "saturn_keybd", __FILE__),
- device_saturn_control_port_interface(mconfig, *this),
- m_key(*this, "KEY.%u", 0),
- m_key_s1(*this, "KEYS_1")
+ device_t(mconfig, SATURN_KEYBD, tag, owner, clock),
+ device_saturn_control_port_interface(mconfig, *this),
+ m_key(*this, "KEY.%u", 0),
+ m_key_s1(*this, "KEYS_1")
{
m_ctrl_id = 0x34;
}
diff --git a/src/devices/bus/sat_ctrl/keybd.h b/src/devices/bus/sat_ctrl/keybd.h
index f3d6b5c6b48..dafb932974c 100644
--- a/src/devices/bus/sat_ctrl/keybd.h
+++ b/src/devices/bus/sat_ctrl/keybd.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_KEYBD_H
+#define MAME_BUS_SAT_CTRL_KEYBD_H
-#ifndef __SATURN_KEYBD__
-#define __SATURN_KEYBD__
+#pragma once
#include "ctrl.h"
@@ -55,7 +55,6 @@ private:
};
// device type definition
-extern const device_type SATURN_KEYBD;
-
+DECLARE_DEVICE_TYPE(SATURN_KEYBD, saturn_keybd_device)
-#endif
+#endif // MAME_BUS_SAT_CTRL_KEYBD_H
diff --git a/src/devices/bus/sat_ctrl/mouse.cpp b/src/devices/bus/sat_ctrl/mouse.cpp
index 957a3ce2d81..acef9feb8fd 100644
--- a/src/devices/bus/sat_ctrl/mouse.cpp
+++ b/src/devices/bus/sat_ctrl/mouse.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SATURN_MOUSE = device_creator<saturn_mouse_device>;
+DEFINE_DEVICE_TYPE(SATURN_MOUSE, saturn_mouse_device, "saturn_mouse", "Sega Saturn Mouse")
static INPUT_PORTS_START( saturn_mouse )
@@ -52,11 +52,11 @@ ioport_constructor saturn_mouse_device::device_input_ports() const
//-------------------------------------------------
saturn_mouse_device::saturn_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_MOUSE, "Sega Saturn Mouse", tag, owner, clock, "saturn_mouse", __FILE__),
- device_saturn_control_port_interface(mconfig, *this),
- m_pointx(*this, "MOUSE_X"),
- m_pointy(*this, "MOUSE_Y"),
- m_buttons(*this, "BUTTONS")
+ device_t(mconfig, SATURN_MOUSE, tag, owner, clock),
+ device_saturn_control_port_interface(mconfig, *this),
+ m_pointx(*this, "MOUSE_X"),
+ m_pointy(*this, "MOUSE_Y"),
+ m_buttons(*this, "BUTTONS")
{
m_ctrl_id = 0xe3;
}
diff --git a/src/devices/bus/sat_ctrl/mouse.h b/src/devices/bus/sat_ctrl/mouse.h
index c30b011a6db..2b896ca6b49 100644
--- a/src/devices/bus/sat_ctrl/mouse.h
+++ b/src/devices/bus/sat_ctrl/mouse.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_MOUSE_H
+#define MAME_BUS_SAT_CTRL_MOUSE_H
-#ifndef __SATURN_MOUSE__
-#define __SATURN_MOUSE__
+#pragma once
#include "ctrl.h"
@@ -48,7 +48,6 @@ private:
// device type definition
-extern const device_type SATURN_MOUSE;
-
+DECLARE_DEVICE_TYPE(SATURN_MOUSE, saturn_mouse_device)
-#endif
+#endif // MAME_BUS_SAT_CTRL_MOUSE_H
diff --git a/src/devices/bus/sat_ctrl/multitap.cpp b/src/devices/bus/sat_ctrl/multitap.cpp
index 8ab7f675e61..bb42e179d5c 100644
--- a/src/devices/bus/sat_ctrl/multitap.cpp
+++ b/src/devices/bus/sat_ctrl/multitap.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SATURN_MULTITAP = device_creator<saturn_multitap_device>;
+DEFINE_DEVICE_TYPE(SATURN_MULTITAP, saturn_multitap_device, "saturn_multitap", "Sega Saturn Multitap")
//**************************************************************************
@@ -27,7 +27,7 @@ const device_type SATURN_MULTITAP = device_creator<saturn_multitap_device>;
//-------------------------------------------------
saturn_multitap_device::saturn_multitap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_MULTITAP, "Sega Saturn Multitap", tag, owner, clock, "saturn_multitap", __FILE__),
+ device_t(mconfig, SATURN_MULTITAP, tag, owner, clock),
device_saturn_control_port_interface(mconfig, *this),
m_subctrl1_port(*this, "ctrl1"),
m_subctrl2_port(*this, "ctrl2"),
diff --git a/src/devices/bus/sat_ctrl/multitap.h b/src/devices/bus/sat_ctrl/multitap.h
index 646a03478af..ac77e73989a 100644
--- a/src/devices/bus/sat_ctrl/multitap.h
+++ b/src/devices/bus/sat_ctrl/multitap.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_MULTITAP_H
+#define MAME_BUS_SAT_CTRL_MULTITAP_H
-#ifndef __SATURN_MULTITAP__
-#define __SATURN_MULTITAP__
+#pragma once
#include "ctrl.h"
@@ -53,7 +53,6 @@ private:
// device type definition
-extern const device_type SATURN_MULTITAP;
-
+DECLARE_DEVICE_TYPE(SATURN_MULTITAP, saturn_multitap_device)
-#endif
+#endif // MAME_BUS_SAT_CTRL_MULTITAP_H
diff --git a/src/devices/bus/sat_ctrl/pointer.cpp b/src/devices/bus/sat_ctrl/pointer.cpp
index 11c73615b45..10eceae1a2d 100644
--- a/src/devices/bus/sat_ctrl/pointer.cpp
+++ b/src/devices/bus/sat_ctrl/pointer.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SATURN_TRACK = device_creator<saturn_track_device>;
+DEFINE_DEVICE_TYPE(SATURN_TRACK, saturn_track_device, "saturn_track", "Sega Saturn Pointing Controller / Trackball")
static INPUT_PORTS_START( saturn_track )
@@ -52,11 +52,11 @@ ioport_constructor saturn_track_device::device_input_ports() const
//-------------------------------------------------
saturn_track_device::saturn_track_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_TRACK, "Sega Saturn Pointing Controller / Trackball", tag, owner, clock, "saturn_track", __FILE__),
- device_saturn_control_port_interface(mconfig, *this),
- m_pointx(*this, "POINT_X"),
- m_pointy(*this, "POINT_Y"),
- m_buttons(*this, "BUTTONS")
+ device_t(mconfig, SATURN_TRACK, tag, owner, clock),
+ device_saturn_control_port_interface(mconfig, *this),
+ m_pointx(*this, "POINT_X"),
+ m_pointy(*this, "POINT_Y"),
+ m_buttons(*this, "BUTTONS")
{
m_ctrl_id = 0x23;
}
diff --git a/src/devices/bus/sat_ctrl/pointer.h b/src/devices/bus/sat_ctrl/pointer.h
index f2ed9e47779..869455706ef 100644
--- a/src/devices/bus/sat_ctrl/pointer.h
+++ b/src/devices/bus/sat_ctrl/pointer.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_POINTER_H
+#define MAME_BUS_SAT_CTRL_POINTER_H
-#ifndef __SATURN_TRACK__
-#define __SATURN_TRACK__
+#pragma once
#include "ctrl.h"
@@ -48,7 +48,6 @@ private:
// device type definition
-extern const device_type SATURN_TRACK;
-
+DECLARE_DEVICE_TYPE(SATURN_TRACK, saturn_track_device)
-#endif
+#endif // MAME_BUS_SAT_CTRL_POINTER_H
diff --git a/src/devices/bus/sat_ctrl/racing.cpp b/src/devices/bus/sat_ctrl/racing.cpp
index fac3d6506f2..91444de2b6a 100644
--- a/src/devices/bus/sat_ctrl/racing.cpp
+++ b/src/devices/bus/sat_ctrl/racing.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SATURN_WHEEL = device_creator<saturn_wheel_device>;
+DEFINE_DEVICE_TYPE(SATURN_WHEEL, saturn_wheel_device, "saturn_racing", "Sega Saturn Racing Wheel")
static INPUT_PORTS_START( saturn_racing )
@@ -58,10 +58,10 @@ ioport_constructor saturn_wheel_device::device_input_ports() const
//-------------------------------------------------
saturn_wheel_device::saturn_wheel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_WHEEL, "Sega Saturn Racing Wheel", tag, owner, clock, "saturn_racing", __FILE__),
- device_saturn_control_port_interface(mconfig, *this),
- m_joy(*this, "JOY"),
- m_anx(*this, "ANALOG_X")
+ device_t(mconfig, SATURN_WHEEL, tag, owner, clock),
+ device_saturn_control_port_interface(mconfig, *this),
+ m_joy(*this, "JOY"),
+ m_anx(*this, "ANALOG_X")
{
m_ctrl_id = 0x13;
}
diff --git a/src/devices/bus/sat_ctrl/racing.h b/src/devices/bus/sat_ctrl/racing.h
index 93186b797cf..9f426c9ef51 100644
--- a/src/devices/bus/sat_ctrl/racing.h
+++ b/src/devices/bus/sat_ctrl/racing.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_RACING_H
+#define MAME_BUS_SAT_CTRL_RACING_H
-#ifndef __SATURN_RACING__
-#define __SATURN_RACING__
+#pragma once
#include "ctrl.h"
@@ -47,7 +47,6 @@ private:
// device type definition
-extern const device_type SATURN_WHEEL;
-
+DECLARE_DEVICE_TYPE(SATURN_WHEEL, saturn_wheel_device)
-#endif
+#endif // MAME_BUS_SAT_CTRL_RACING_H
diff --git a/src/devices/bus/sat_ctrl/segatap.cpp b/src/devices/bus/sat_ctrl/segatap.cpp
index 480b9b91da5..f3121cfedf2 100644
--- a/src/devices/bus/sat_ctrl/segatap.cpp
+++ b/src/devices/bus/sat_ctrl/segatap.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SATURN_SEGATAP = device_creator<saturn_segatap_device>;
+DEFINE_DEVICE_TYPE(SATURN_SEGATAP, saturn_segatap_device, "saturn_segatap", "saturn_segatap_device")
//**************************************************************************
@@ -27,7 +27,7 @@ const device_type SATURN_SEGATAP = device_creator<saturn_segatap_device>;
//-------------------------------------------------
saturn_segatap_device::saturn_segatap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_SEGATAP, "Sega Saturn SegaTap", tag, owner, clock, "saturn_segatap", __FILE__),
+ device_t(mconfig, SATURN_SEGATAP, tag, owner, clock),
device_saturn_control_port_interface(mconfig, *this),
m_subctrl1_port(*this, "ctrl1"),
m_subctrl2_port(*this, "ctrl2"),
diff --git a/src/devices/bus/sat_ctrl/segatap.h b/src/devices/bus/sat_ctrl/segatap.h
index 6508eb5d245..151eebd24a1 100644
--- a/src/devices/bus/sat_ctrl/segatap.h
+++ b/src/devices/bus/sat_ctrl/segatap.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SAT_CTRL_SEGATAP_H
+#define MAME_BUS_SAT_CTRL_SEGATAP_H
-#ifndef __SATURN_SEGATAP__
-#define __SATURN_SEGATAP__
+#pragma once
#include "ctrl.h"
@@ -51,7 +51,6 @@ private:
// device type definition
-extern const device_type SATURN_SEGATAP;
-
+DECLARE_DEVICE_TYPE(SATURN_SEGATAP, saturn_segatap_device)
-#endif
+#endif // MAME_BUS_SAT_CTRL_SEGATAP_H
diff --git a/src/devices/bus/saturn/bram.cpp b/src/devices/bus/saturn/bram.cpp
index 9178f1210ee..cdcc7ad4376 100644
--- a/src/devices/bus/saturn/bram.cpp
+++ b/src/devices/bus/saturn/bram.cpp
@@ -15,41 +15,37 @@
// constructor
//-------------------------------------------------
-const device_type SATURN_BRAM_4MB = device_creator<saturn_bram4mb_device>;
-const device_type SATURN_BRAM_8MB = device_creator<saturn_bram8mb_device>;
-const device_type SATURN_BRAM_16MB = device_creator<saturn_bram16mb_device>;
-const device_type SATURN_BRAM_32MB = device_creator<saturn_bram32mb_device>;
+DEFINE_DEVICE_TYPE(SATURN_BRAM_4MB, saturn_bram4mb_device, "sat_bram_4mb", "Saturn Battery RAM 4Mbit Cart")
+DEFINE_DEVICE_TYPE(SATURN_BRAM_8MB, saturn_bram8mb_device, "sat_bram_8mb", "Saturn Battery RAM 8Mbit Cart")
+DEFINE_DEVICE_TYPE(SATURN_BRAM_16MB, saturn_bram16mb_device, "sat_bram_16mb", "Saturn Battery RAM 16Mbit Cart")
+DEFINE_DEVICE_TYPE(SATURN_BRAM_32MB, saturn_bram32mb_device, "sat_bram_32mb", "Saturn Battery RAM 32Mbit Cart")
-saturn_bram_device::saturn_bram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_sat_cart_interface( mconfig, *this ),
- device_nvram_interface(mconfig, *this)
+saturn_bram_device::saturn_bram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cart_type)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_sat_cart_interface(mconfig, *this, cart_type)
+ , device_nvram_interface(mconfig, *this)
{
}
saturn_bram4mb_device::saturn_bram4mb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : saturn_bram_device(mconfig, SATURN_BRAM_4MB, "Saturn Battery RAM 4Mbit Cart", tag, owner, clock, "sat_bram_4mb", __FILE__)
+ : saturn_bram_device(mconfig, SATURN_BRAM_4MB, tag, owner, clock, 0x21)
{
- m_cart_type = 0x21;
}
saturn_bram8mb_device::saturn_bram8mb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : saturn_bram_device(mconfig, SATURN_BRAM_8MB, "Saturn Battery RAM 8Mbit Cart", tag, owner, clock, "sat_bram_8mb", __FILE__)
+ : saturn_bram_device(mconfig, SATURN_BRAM_8MB, tag, owner, clock, 0x22)
{
- m_cart_type = 0x22;
}
saturn_bram16mb_device::saturn_bram16mb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : saturn_bram_device(mconfig, SATURN_BRAM_16MB, "Saturn Battery RAM 16Mbit Cart", tag, owner, clock, "sat_bram_16mb", __FILE__)
+ : saturn_bram_device(mconfig, SATURN_BRAM_16MB, tag, owner, clock, 0x23)
{
- m_cart_type = 0x23;
}
saturn_bram32mb_device::saturn_bram32mb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : saturn_bram_device(mconfig, SATURN_BRAM_32MB, "Saturn Battery RAM 32Mbit Cart", tag, owner, clock, "sat_bram_32mb", __FILE__)
+ : saturn_bram_device(mconfig, SATURN_BRAM_32MB, tag, owner, clock, 0x24)
{
- m_cart_type = 0x24;
}
diff --git a/src/devices/bus/saturn/bram.h b/src/devices/bus/saturn/bram.h
index 7a96d11706f..a295bc78333 100644
--- a/src/devices/bus/saturn/bram.h
+++ b/src/devices/bus/saturn/bram.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SAT_BRAM_H
-#define __SAT_BRAM_H
+#ifndef MAME_BUS_SATURN_BRAM_H
+#define MAME_BUS_SATURN_BRAM_H
#include "sat_slot.h"
@@ -13,8 +13,13 @@ class saturn_bram_device : public device_t,
public device_nvram_interface
{
public:
+ // reading and writing
+ virtual DECLARE_READ32_MEMBER(read_ext_bram) override;
+ virtual DECLARE_WRITE32_MEMBER(write_ext_bram) override;
+
+protected:
// construction/destruction
- saturn_bram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ saturn_bram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cart_type);
// device-level overrides
virtual void device_start() override;
@@ -24,10 +29,6 @@ public:
virtual void nvram_default() override;
virtual void nvram_read(emu_file &file) override { if (!m_ext_bram.empty()) file.read(&m_ext_bram[0], m_ext_bram.size()); }
virtual void nvram_write(emu_file &file) override { if (!m_ext_bram.empty()) file.write(&m_ext_bram[0], m_ext_bram.size()); }
-
- // reading and writing
- virtual DECLARE_READ32_MEMBER(read_ext_bram) override;
- virtual DECLARE_WRITE32_MEMBER(write_ext_bram) override;
};
class saturn_bram4mb_device : public saturn_bram_device
@@ -61,9 +62,9 @@ public:
// device type definition
-extern const device_type SATURN_BRAM_4MB;
-extern const device_type SATURN_BRAM_8MB;
-extern const device_type SATURN_BRAM_16MB;
-extern const device_type SATURN_BRAM_32MB;
+DECLARE_DEVICE_TYPE(SATURN_BRAM_4MB, saturn_bram4mb_device)
+DECLARE_DEVICE_TYPE(SATURN_BRAM_8MB, saturn_bram8mb_device)
+DECLARE_DEVICE_TYPE(SATURN_BRAM_16MB, saturn_bram16mb_device)
+DECLARE_DEVICE_TYPE(SATURN_BRAM_32MB, saturn_bram32mb_device)
-#endif
+#endif // MAME_BUS_SATURN_BRAM_H
diff --git a/src/devices/bus/saturn/dram.cpp b/src/devices/bus/saturn/dram.cpp
index 6255f97b6d6..6d574dc28e3 100644
--- a/src/devices/bus/saturn/dram.cpp
+++ b/src/devices/bus/saturn/dram.cpp
@@ -15,26 +15,24 @@
// constructor
//-------------------------------------------------
-const device_type SATURN_DRAM_8MB = device_creator<saturn_dram8mb_device>;
-const device_type SATURN_DRAM_32MB = device_creator<saturn_dram32mb_device>;
+DEFINE_DEVICE_TYPE(SATURN_DRAM_8MB, saturn_dram8mb_device, "sat_dram_8mb", "Saturn Data RAM 8Mbit Cart")
+DEFINE_DEVICE_TYPE(SATURN_DRAM_32MB, saturn_dram32mb_device, "sat_dram_32mb", "Saturn Data RAM 32Mbit Cart")
-saturn_dram_device::saturn_dram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_sat_cart_interface( mconfig, *this )
+saturn_dram_device::saturn_dram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cart_type)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_sat_cart_interface(mconfig, *this, cart_type)
{
}
saturn_dram8mb_device::saturn_dram8mb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : saturn_dram_device(mconfig, SATURN_DRAM_8MB, "Saturn Data RAM 8Mbit Cart", tag, owner, clock, "sat_dram_8mb", __FILE__)
+ : saturn_dram_device(mconfig, SATURN_DRAM_8MB, tag, owner, clock, 0x5a)
{
- m_cart_type = 0x5a;
}
saturn_dram32mb_device::saturn_dram32mb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : saturn_dram_device(mconfig, SATURN_DRAM_32MB, "Saturn Data RAM 32Mbit Cart", tag, owner, clock, "sat_dram_32mb", __FILE__)
+ : saturn_dram_device(mconfig, SATURN_DRAM_32MB, tag, owner, clock, 0x5c)
{
- m_cart_type = 0x5c;
}
diff --git a/src/devices/bus/saturn/dram.h b/src/devices/bus/saturn/dram.h
index 3cf89b50093..1bef596993a 100644
--- a/src/devices/bus/saturn/dram.h
+++ b/src/devices/bus/saturn/dram.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SAT_DRAM_H
-#define __SAT_DRAM_H
+#ifndef MAME_BUS_SATURN_DRAM_H
+#define MAME_BUS_SATURN_DRAM_H
#include "sat_slot.h"
@@ -12,18 +12,19 @@ class saturn_dram_device : public device_t,
public device_sat_cart_interface
{
public:
- // construction/destruction
- saturn_dram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ32_MEMBER(read_ext_dram0) override;
virtual DECLARE_READ32_MEMBER(read_ext_dram1) override;
virtual DECLARE_WRITE32_MEMBER(write_ext_dram0) override;
virtual DECLARE_WRITE32_MEMBER(write_ext_dram1) override;
+
+protected:
+ // construction/destruction
+ saturn_dram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cart_type);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
};
class saturn_dram8mb_device : public saturn_dram_device
@@ -43,7 +44,7 @@ public:
// device type definition
-extern const device_type SATURN_DRAM_8MB;
-extern const device_type SATURN_DRAM_32MB;
+DECLARE_DEVICE_TYPE(SATURN_DRAM_8MB, saturn_dram8mb_device)
+DECLARE_DEVICE_TYPE(SATURN_DRAM_32MB, saturn_dram32mb_device)
-#endif
+#endif // MAME_BUS_SATURN_DRAM_H
diff --git a/src/devices/bus/saturn/rom.cpp b/src/devices/bus/saturn/rom.cpp
index 152eeb18f87..1421018c298 100644
--- a/src/devices/bus/saturn/rom.cpp
+++ b/src/devices/bus/saturn/rom.cpp
@@ -15,20 +15,18 @@
// saturn_rom_device - constructor
//-------------------------------------------------
-const device_type SATURN_ROM = device_creator<saturn_rom_device>;
+DEFINE_DEVICE_TYPE(SATURN_ROM, saturn_rom_device, "sat_rom", "Saturn ROM Carts")
-saturn_rom_device::saturn_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_sat_cart_interface( mconfig, *this )
+saturn_rom_device::saturn_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cart_type)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_sat_cart_interface(mconfig, *this, cart_type)
{
}
saturn_rom_device::saturn_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SATURN_ROM, "Saturn ROM Carts", tag, owner, clock, "sat_rom", __FILE__),
- device_sat_cart_interface( mconfig, *this )
+ : saturn_rom_device(mconfig, SATURN_ROM, tag, owner, clock, 0xff) // actually not clear if ROM carts have a type ID like DRAM/BRAM carts
{
- m_cart_type = 0xff; // actually not clear if ROM carts have a type ID like DRAM/BRAM carts
}
diff --git a/src/devices/bus/saturn/rom.h b/src/devices/bus/saturn/rom.h
index 8f377bf2164..0fc8f2ecbea 100644
--- a/src/devices/bus/saturn/rom.h
+++ b/src/devices/bus/saturn/rom.h
@@ -1,33 +1,32 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SAT_ROM_H
-#define __SAT_ROM_H
+#ifndef MAME_BUS_SATURN_ROM_H
+#define MAME_BUS_SATURN_ROM_H
#include "sat_slot.h"
// ======================> saturn_rom_device
-class saturn_rom_device : public device_t,
- public device_sat_cart_interface
+class saturn_rom_device : public device_t, public device_sat_cart_interface
{
public:
// construction/destruction
- saturn_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
saturn_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // reading and writing
+ virtual DECLARE_READ32_MEMBER(read_rom) override;
+
+protected:
+ saturn_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cart_type);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
-
- // reading and writing
- virtual DECLARE_READ32_MEMBER(read_rom) override;
};
-
// device type definition
-extern const device_type SATURN_ROM;
-
+DECLARE_DEVICE_TYPE(SATURN_ROM, saturn_rom_device)
-#endif
+#endif // MAME_BUS_SATURN_ROM_H
diff --git a/src/devices/bus/saturn/sat_slot.cpp b/src/devices/bus/saturn/sat_slot.cpp
index c46aa995d5f..13f69c8ba92 100644
--- a/src/devices/bus/saturn/sat_slot.cpp
+++ b/src/devices/bus/saturn/sat_slot.cpp
@@ -29,17 +29,18 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SATURN_CART_SLOT = device_creator<sat_cart_slot_device>;
+DEFINE_DEVICE_TYPE(SATURN_CART_SLOT, sat_cart_slot_device, "sat_cart_slot", "Saturn Cartridge Slot")
//-------------------------------------------------
// device_sat_cart_interface - constructor
//-------------------------------------------------
-device_sat_cart_interface::device_sat_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device), m_cart_type(0),
- m_rom(nullptr),
- m_rom_size(0)
+device_sat_cart_interface::device_sat_cart_interface(const machine_config &mconfig, device_t &device, int cart_type) :
+ device_slot_card_interface(mconfig, device),
+ m_cart_type(cart_type),
+ m_rom(nullptr),
+ m_rom_size(0)
{
}
@@ -102,9 +103,9 @@ void device_sat_cart_interface::dram1_alloc(uint32_t size)
// sat_cart_slot_device - constructor
//-------------------------------------------------
sat_cart_slot_device::sat_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SATURN_CART_SLOT, "Saturn Cartridge Slot", tag, owner, clock, "sat_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this), m_cart(nullptr)
+ device_t(mconfig, SATURN_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/saturn/sat_slot.h b/src/devices/bus/saturn/sat_slot.h
index 9148397e512..4d94ea472d6 100644
--- a/src/devices/bus/saturn/sat_slot.h
+++ b/src/devices/bus/saturn/sat_slot.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SAT_SLOT_H
-#define __SAT_SLOT_H
+#ifndef MAME_BUS_SATURN_SAT_SLOT_H
+#define MAME_BUS_SATURN_SAT_SLOT_H
#include "softlist_dev.h"
@@ -16,23 +16,20 @@
class device_sat_cart_interface : public device_slot_card_interface
{
public:
- // construction/destruction
- device_sat_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_sat_cart_interface();
// reading from ROM
virtual DECLARE_READ32_MEMBER(read_rom) { return 0xffffffff; }
// reading and writing to Extended DRAM chips
virtual DECLARE_READ32_MEMBER(read_ext_dram0) { return 0xffffffff; }
- virtual DECLARE_WRITE32_MEMBER(write_ext_dram0) {}
+ virtual DECLARE_WRITE32_MEMBER(write_ext_dram0) { }
virtual DECLARE_READ32_MEMBER(read_ext_dram1) { return 0xffffffff; }
- virtual DECLARE_WRITE32_MEMBER(write_ext_dram1) {}
+ virtual DECLARE_WRITE32_MEMBER(write_ext_dram1) { }
// reading and writing to Extended BRAM chip
virtual DECLARE_READ32_MEMBER(read_ext_bram) { return 0xffffffff; }
- virtual DECLARE_WRITE32_MEMBER(write_ext_bram) {}
-
- virtual int get_cart_type() { return m_cart_type; };
+ virtual DECLARE_WRITE32_MEMBER(write_ext_bram) { }
+ int get_cart_type() const { return m_cart_type; }
void rom_alloc(uint32_t size, const char *tag);
void bram_alloc(uint32_t size);
@@ -48,7 +45,10 @@ public:
uint32_t get_ext_bram_size() { return m_ext_bram.size(); }
protected:
- int m_cart_type;
+ // construction/destruction
+ device_sat_cart_interface(const machine_config &mconfig, device_t &device, int cart_type);
+
+ const int m_cart_type;
// internal state
uint32_t *m_rom;
@@ -70,9 +70,6 @@ public:
sat_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~sat_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override;
@@ -101,13 +98,17 @@ public:
virtual DECLARE_READ32_MEMBER(read_ext_bram);
virtual DECLARE_WRITE32_MEMBER(write_ext_bram);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
device_sat_cart_interface* m_cart;
};
// device type definition
-extern const device_type SATURN_CART_SLOT;
+DECLARE_DEVICE_TYPE(SATURN_CART_SLOT, sat_cart_slot_device)
/***************************************************************************
@@ -121,4 +122,4 @@ extern const device_type SATURN_CART_SLOT;
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+#endif // MAME_BUS_SATURN_SAT_SLOT_H
diff --git a/src/devices/bus/scsi/acb4070.cpp b/src/devices/bus/scsi/acb4070.cpp
index ddaccb9422f..0b9e67b438f 100644
--- a/src/devices/bus/scsi/acb4070.cpp
+++ b/src/devices/bus/scsi/acb4070.cpp
@@ -9,10 +9,10 @@
#include "acb4070.h"
// device type definition
-const device_type ACB4070 = device_creator<acb4070_device>;
+DEFINE_DEVICE_TYPE(ACB4070, acb4070_device, "acb4070", "ACB4070")
acb4070_device::acb4070_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scsihd_device(mconfig, ACB4070, "ACB4070", tag, owner, clock, "acb4070", __FILE__)
+ : scsihd_device(mconfig, ACB4070, tag, owner, clock)
{
}
diff --git a/src/devices/bus/scsi/acb4070.h b/src/devices/bus/scsi/acb4070.h
index b983aad0477..848798152a5 100644
--- a/src/devices/bus/scsi/acb4070.h
+++ b/src/devices/bus/scsi/acb4070.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:smf
-#pragma once
+#ifndef MAME_BUS_SCSI_ACB4070_H
+#define MAME_BUS_SCSI_ACB4070_H
-#ifndef __ACB4070__
-#define __ACB4070__
+#pragma once
#include "scsihd.h"
@@ -42,6 +42,6 @@ private:
};
// device type definition
-extern const device_type ACB4070;
+DECLARE_DEVICE_TYPE(ACB4070, acb4070_device)
-#endif
+#endif // MAME_BUS_SCSI_ACB4070_H
diff --git a/src/devices/bus/scsi/cdu76s.cpp b/src/devices/bus/scsi/cdu76s.cpp
index f0de47e0da3..231445f1077 100644
--- a/src/devices/bus/scsi/cdu76s.cpp
+++ b/src/devices/bus/scsi/cdu76s.cpp
@@ -40,9 +40,9 @@ void sony_cdu76s_device::ReadData( uint8_t *data, int dataLength )
}
// device type definition
-const device_type CDU76S = device_creator<sony_cdu76s_device>;
+DEFINE_DEVICE_TYPE(CDU76S, sony_cdu76s_device, "cdu76s", "Sony CDU-76S")
sony_cdu76s_device::sony_cdu76s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- scsicd_device(mconfig, CDU76S, "Sony CDU-76S", tag, owner, clock, "cdu76s", __FILE__)
+ scsicd_device(mconfig, CDU76S, tag, owner, clock)
{
}
diff --git a/src/devices/bus/scsi/cdu76s.h b/src/devices/bus/scsi/cdu76s.h
index 0449254b958..2e91525bfdc 100644
--- a/src/devices/bus/scsi/cdu76s.h
+++ b/src/devices/bus/scsi/cdu76s.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SCSI_CDU76S_H
+#define MAME_BUS_SCSI_CDU76S_H
-#ifndef __CDU76S_H__
-#define __CDU76S_H__
+#pragma once
#include "scsicd.h"
#include "machine/t10mmc.h"
@@ -26,6 +26,6 @@ public:
};
// device type definition
-extern const device_type CDU76S;
+DECLARE_DEVICE_TYPE(CDU76S, sony_cdu76s_device)
-#endif
+#endif // MAME_BUS_SCSI_CDU76S_H
diff --git a/src/devices/bus/scsi/d9060hd.cpp b/src/devices/bus/scsi/d9060hd.cpp
index 3f3b4a70ce1..1d7ee7e503d 100644
--- a/src/devices/bus/scsi/d9060hd.cpp
+++ b/src/devices/bus/scsi/d9060hd.cpp
@@ -9,10 +9,10 @@
#include "d9060hd.h"
// device type definition
-const device_type D9060HD = device_creator<d9060hd_device>;
+DEFINE_DEVICE_TYPE(D9060HD, d9060hd_device, "d9060hd", "D9060HD")
d9060hd_device::d9060hd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scsihd_device(mconfig, D9060HD, "D9060HD", tag, owner, clock, "d9060hd", __FILE__)
+ : scsihd_device(mconfig, D9060HD, tag, owner, clock)
{
}
diff --git a/src/devices/bus/scsi/d9060hd.h b/src/devices/bus/scsi/d9060hd.h
index 979538a0b14..3e7140e74cd 100644
--- a/src/devices/bus/scsi/d9060hd.h
+++ b/src/devices/bus/scsi/d9060hd.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:smf
-#pragma once
+#ifndef MAME_BUS_SCSI_D9060HD_H
+#define MAME_BUS_SCSI_D9060HD_H
-#ifndef __D9060HD__
-#define __D9060HD__
+#pragma once
#include "scsihd.h"
@@ -17,6 +17,6 @@ public:
};
// device type definition
-extern const device_type D9060HD;
+DECLARE_DEVICE_TYPE(D9060HD, d9060hd_device)
-#endif
+#endif // MAME_BUS_SCSI_D9060HD_H
diff --git a/src/devices/bus/scsi/omti5100.cpp b/src/devices/bus/scsi/omti5100.cpp
index 3dfcc783341..07f0bb7e881 100644
--- a/src/devices/bus/scsi/omti5100.cpp
+++ b/src/devices/bus/scsi/omti5100.cpp
@@ -10,7 +10,7 @@
#define OMTI_READ_DATA_BUFFER 0xec
#define OMTI_ASSIGN_DISK_PARAM 0xc2
-const device_type OMTI5100 = device_creator<omti5100_device>;
+DEFINE_DEVICE_TYPE(OMTI5100, omti5100_device, "omti5100", "OMTI 5100")
#if 0
ROM_START( omti5100 )
@@ -25,9 +25,9 @@ const tiny_rom_entry *omti5100_device::device_rom_region() const
#endif
omti5100_device::omti5100_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scsihd_device(mconfig, OMTI5100, "OMTI 5100", tag, owner, clock, "omti5100", __FILE__),
- m_image0(*this, "image0"),
- m_image1(*this, "image1")
+ : scsihd_device(mconfig, OMTI5100, tag, owner, clock)
+ , m_image0(*this, "image0")
+ , m_image1(*this, "image1")
{
}
diff --git a/src/devices/bus/scsi/omti5100.h b/src/devices/bus/scsi/omti5100.h
index 24c1b74ddc3..c17d5bc4558 100644
--- a/src/devices/bus/scsi/omti5100.h
+++ b/src/devices/bus/scsi/omti5100.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:smf
-#ifndef OMTI5100_H_
-#define OMTI5100_H_
+#ifndef MAME_BUS_SCSI_OMTI5100_H
+#define MAME_BUS_SCSI_OMTI5100_H
#include "scsi.h"
#include "scsihd.h"
@@ -18,6 +18,8 @@ public:
virtual void ExecCommand() override;
virtual void ReadData( uint8_t *data, int dataLength ) override;
virtual void WriteData( uint8_t *data, int dataLength ) override;
+
+protected:
void device_start() override;
private:
@@ -26,6 +28,6 @@ private:
hard_disk_info m_param[2];
};
-extern const device_type OMTI5100;
+DECLARE_DEVICE_TYPE(OMTI5100, omti5100_device)
-#endif /* OMTI5100_H_ */
+#endif // MAME_BUS_SCSI_OMTI5100_H
diff --git a/src/devices/bus/scsi/pc9801_sasi.cpp b/src/devices/bus/scsi/pc9801_sasi.cpp
index 29d30b48589..b7c93f98094 100644
--- a/src/devices/bus/scsi/pc9801_sasi.cpp
+++ b/src/devices/bus/scsi/pc9801_sasi.cpp
@@ -5,10 +5,10 @@
#define SASI_CMD_SPECIFY 0xc2 // according to x68k_hdc.c
-const device_type PC9801_SASI = device_creator<pc9801_sasi_device>;
+DEFINE_DEVICE_TYPE(PC9801_SASI, pc9801_sasi_device, "pc9801_sasi", "PC9801 SASI Controller")
pc9801_sasi_device::pc9801_sasi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scsihd_device(mconfig, PC9801_SASI, "PC-9801 SASI Controller", tag, owner, clock, "pc9801_sasi", __FILE__)
+ : scsihd_device(mconfig, PC9801_SASI, tag, owner, clock)
{
}
diff --git a/src/devices/bus/scsi/pc9801_sasi.h b/src/devices/bus/scsi/pc9801_sasi.h
index 1cbd9eb72af..773de463c61 100644
--- a/src/devices/bus/scsi/pc9801_sasi.h
+++ b/src/devices/bus/scsi/pc9801_sasi.h
@@ -1,11 +1,11 @@
// license:BSD-3-Clause
// copyright-holders:smf
-#ifndef PC9801_SASI_H_
-#define PC9801_SASI_H_
+#ifndef MAME_BUS_SCSI_PC9801_SASI_H
+#define MAME_BUS_SCSI_PC9801_SASI_H
#include "scsihd.h"
-class pc9801_sasi_device : public scsihd_device
+class pc9801_sasi_device : public scsihd_device
{
public:
// construction/destruction
@@ -15,6 +15,6 @@ public:
};
// device type definition
-extern const device_type PC9801_SASI;
+DECLARE_DEVICE_TYPE(PC9801_SASI, pc9801_sasi_device)
-#endif /* PC9801_SASI_H_ */
+#endif // MAME_BUS_SCSI_PC9801_SASI_H
diff --git a/src/devices/bus/scsi/s1410.cpp b/src/devices/bus/scsi/s1410.cpp
index df49859b844..a4a8a65c047 100644
--- a/src/devices/bus/scsi/s1410.cpp
+++ b/src/devices/bus/scsi/s1410.cpp
@@ -102,7 +102,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type S1410 = device_creator<s1410_device>;
+DEFINE_DEVICE_TYPE(S1410, s1410_device, "s1410", "Xebec S1410")
//-------------------------------------------------
// ROM( s1410 )
@@ -194,7 +194,7 @@ machine_config_constructor s1410_device::device_mconfig_additions() const
//-------------------------------------------------
s1410_device::s1410_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scsihd_device(mconfig, S1410, "Xebec S1410", tag, owner, clock, "s1410", __FILE__)
+ : scsihd_device(mconfig, S1410, tag, owner, clock)
{
}
diff --git a/src/devices/bus/scsi/s1410.h b/src/devices/bus/scsi/s1410.h
index d76686529bf..456f55a6ea2 100644
--- a/src/devices/bus/scsi/s1410.h
+++ b/src/devices/bus/scsi/s1410.h
@@ -6,14 +6,14 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SCSI_S1410_H
+#define MAME_BUS_SCSI_S1410_H
-#ifndef __S1410__
-#define __S1410__
+#pragma once
#include "scsihd.h"
-class s1410_device : public scsihd_device
+class s1410_device : public scsihd_device
{
public:
// construction/destruction
@@ -30,6 +30,6 @@ public:
// device type definition
-extern const device_type S1410;
+DECLARE_DEVICE_TYPE(S1410, s1410_device)
-#endif
+#endif // MAME_BUS_SCSI_S1410_H
diff --git a/src/devices/bus/scsi/sa1403d.cpp b/src/devices/bus/scsi/sa1403d.cpp
index 76587f9f0ab..f8f0d7041b7 100644
--- a/src/devices/bus/scsi/sa1403d.cpp
+++ b/src/devices/bus/scsi/sa1403d.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SA1403D = device_creator<sa1403d_device>;
+DEFINE_DEVICE_TYPE(SA1403D, sa1403d_device, "sa1403d", "Shugart SA1403D")
//-------------------------------------------------
@@ -124,7 +124,7 @@ ioport_constructor sa1403d_device::device_input_ports() const
//-------------------------------------------------
sa1403d_device::sa1403d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scsihd_device(mconfig, SA1403D, "Shugart SA1403D", tag, owner, clock, "sa1403d", __FILE__)
+ : scsihd_device(mconfig, SA1403D, tag, owner, clock)
{
}
diff --git a/src/devices/bus/scsi/sa1403d.h b/src/devices/bus/scsi/sa1403d.h
index 3299527a8f8..ea3d37d3d02 100644
--- a/src/devices/bus/scsi/sa1403d.h
+++ b/src/devices/bus/scsi/sa1403d.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SCSI_SA1403D_H
+#define MAME_BUS_SCSI_SA1403D_H
-#ifndef __SA1403D__
-#define __SA1403D__
+#pragma once
#include "scsihd.h"
#include "imagedev/harddriv.h"
@@ -31,6 +31,6 @@ public:
// device type definition
-extern const device_type SA1403D;
+DECLARE_DEVICE_TYPE(SA1403D, sa1403d_device)
-#endif
+#endif // MAME_BUS_SCSI_SA1403D_H
diff --git a/src/devices/bus/scsi/scsi.cpp b/src/devices/bus/scsi/scsi.cpp
index 73118ee35ed..5cbd6eaf060 100644
--- a/src/devices/bus/scsi/scsi.cpp
+++ b/src/devices/bus/scsi/scsi.cpp
@@ -4,8 +4,8 @@
#include "emu.h"
#include "scsi.h"
-SCSI_PORT_DEVICE::SCSI_PORT_DEVICE(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SCSI_PORT, "SCSI Port", tag, owner, clock, "scsi", __FILE__),
+scsi_port_device::scsi_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, SCSI_PORT, tag, owner, clock),
m_bsy_handler(*this),
m_sel_handler(*this),
m_cd_handler(*this),
@@ -71,12 +71,12 @@ static MACHINE_CONFIG_FRAGMENT( scsi_port )
MCFG_DEVICE_ADD( SCSI_PORT_DEVICE7, SCSI_PORT_SLOT, 0 )
MACHINE_CONFIG_END
-machine_config_constructor SCSI_PORT_DEVICE::device_mconfig_additions() const
+machine_config_constructor scsi_port_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( scsi_port );
}
-void SCSI_PORT_DEVICE::device_start()
+void scsi_port_device::device_start()
{
const char *deviceName[] =
{
@@ -93,7 +93,7 @@ void SCSI_PORT_DEVICE::device_start()
for (int i = 0; i < 7; i++)
{
- SCSI_PORT_SLOT_device *slot = subdevice<SCSI_PORT_SLOT_device>(deviceName[i]);
+ scsi_port_slot_device *slot = subdevice<scsi_port_slot_device>(deviceName[i]);
m_slot[i] = slot;
if (slot != nullptr)
@@ -138,7 +138,7 @@ void SCSI_PORT_DEVICE::device_start()
m_rst_handler(0);
}
-void SCSI_PORT_DEVICE::update_bsy()
+void scsi_port_device::update_bsy()
{
int bsy = m_bsy_in;
for (int i = 0; i < m_device_count; i++)
@@ -160,7 +160,7 @@ void SCSI_PORT_DEVICE::update_bsy()
}
}
-void SCSI_PORT_DEVICE::update_sel()
+void scsi_port_device::update_sel()
{
int sel = m_sel_in;
for (int i = 0; i < m_device_count; i++)
@@ -182,7 +182,7 @@ void SCSI_PORT_DEVICE::update_sel()
}
}
-void SCSI_PORT_DEVICE::update_cd()
+void scsi_port_device::update_cd()
{
int cd = m_cd_in;
for (int i = 0; i < m_device_count; i++)
@@ -204,7 +204,7 @@ void SCSI_PORT_DEVICE::update_cd()
}
}
-void SCSI_PORT_DEVICE::update_io()
+void scsi_port_device::update_io()
{
int io = m_io_in;
for (int i = 0; i < m_device_count; i++)
@@ -226,7 +226,7 @@ void SCSI_PORT_DEVICE::update_io()
}
}
-void SCSI_PORT_DEVICE::update_msg()
+void scsi_port_device::update_msg()
{
int msg = m_msg_in;
for (int i = 0; i < m_device_count; i++)
@@ -248,7 +248,7 @@ void SCSI_PORT_DEVICE::update_msg()
}
}
-void SCSI_PORT_DEVICE::update_req()
+void scsi_port_device::update_req()
{
int req = m_req_in;
for (int i = 0; i < m_device_count; i++)
@@ -270,7 +270,7 @@ void SCSI_PORT_DEVICE::update_req()
}
}
-void SCSI_PORT_DEVICE::update_ack()
+void scsi_port_device::update_ack()
{
int ack = m_ack_in;
for (int i = 0; i < m_device_count; i++)
@@ -292,7 +292,7 @@ void SCSI_PORT_DEVICE::update_ack()
}
}
-void SCSI_PORT_DEVICE::update_atn()
+void scsi_port_device::update_atn()
{
int atn = m_atn_in;
for (int i = 0; i < m_device_count; i++)
@@ -314,7 +314,7 @@ void SCSI_PORT_DEVICE::update_atn()
}
}
-void SCSI_PORT_DEVICE::update_rst()
+void scsi_port_device::update_rst()
{
int rst = m_rst_in;
for (int i = 0; i < m_device_count; i++)
@@ -336,7 +336,7 @@ void SCSI_PORT_DEVICE::update_rst()
}
}
-void SCSI_PORT_DEVICE::update_data0()
+void scsi_port_device::update_data0()
{
int data0 = m_data0_in;
for (int i = 0; i < m_device_count; i++)
@@ -358,7 +358,7 @@ void SCSI_PORT_DEVICE::update_data0()
}
}
-void SCSI_PORT_DEVICE::update_data1()
+void scsi_port_device::update_data1()
{
int data1 = m_data1_in;
for (int i = 0; i < m_device_count; i++)
@@ -380,7 +380,7 @@ void SCSI_PORT_DEVICE::update_data1()
}
}
-void SCSI_PORT_DEVICE::update_data2()
+void scsi_port_device::update_data2()
{
int data2 = m_data2_in;
for (int i = 0; i < m_device_count; i++)
@@ -402,7 +402,7 @@ void SCSI_PORT_DEVICE::update_data2()
}
}
-void SCSI_PORT_DEVICE::update_data3()
+void scsi_port_device::update_data3()
{
int data3 = m_data3_in;
for (int i = 0; i < m_device_count; i++)
@@ -424,7 +424,7 @@ void SCSI_PORT_DEVICE::update_data3()
}
}
-void SCSI_PORT_DEVICE::update_data4()
+void scsi_port_device::update_data4()
{
int data4 = m_data4_in;
for (int i = 0; i < m_device_count; i++)
@@ -446,7 +446,7 @@ void SCSI_PORT_DEVICE::update_data4()
}
}
-void SCSI_PORT_DEVICE::update_data5()
+void scsi_port_device::update_data5()
{
int data5 = m_data5_in;
for (int i = 0; i < m_device_count; i++)
@@ -468,7 +468,7 @@ void SCSI_PORT_DEVICE::update_data5()
}
}
-void SCSI_PORT_DEVICE::update_data6()
+void scsi_port_device::update_data6()
{
int data6 = m_data6_in;
for (int i = 0; i < m_device_count; i++)
@@ -490,7 +490,7 @@ void SCSI_PORT_DEVICE::update_data6()
}
}
-void SCSI_PORT_DEVICE::update_data7()
+void scsi_port_device::update_data7()
{
int data7 = m_data7_in;
for (int i = 0; i < m_device_count; i++)
@@ -512,7 +512,7 @@ void SCSI_PORT_DEVICE::update_data7()
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_bsy )
+WRITE_LINE_MEMBER( scsi_port_device::write_bsy )
{
if (m_bsy_in != state)
{
@@ -521,7 +521,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_bsy )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_sel )
+WRITE_LINE_MEMBER( scsi_port_device::write_sel )
{
if (m_sel_in != state)
{
@@ -530,7 +530,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_sel )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_cd )
+WRITE_LINE_MEMBER( scsi_port_device::write_cd )
{
if (m_cd_in != state)
{
@@ -539,7 +539,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_cd )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_io )
+WRITE_LINE_MEMBER( scsi_port_device::write_io )
{
if (m_io_in != state)
{
@@ -548,7 +548,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_io )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_msg )
+WRITE_LINE_MEMBER( scsi_port_device::write_msg )
{
if (m_msg_in != state)
{
@@ -557,7 +557,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_msg )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_req )
+WRITE_LINE_MEMBER( scsi_port_device::write_req )
{
if (m_req_in != state)
{
@@ -566,7 +566,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_req )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_ack )
+WRITE_LINE_MEMBER( scsi_port_device::write_ack )
{
if (m_ack_in != state)
{
@@ -575,7 +575,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_ack )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_atn )
+WRITE_LINE_MEMBER( scsi_port_device::write_atn )
{
if (m_atn_in != state)
{
@@ -584,7 +584,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_atn )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_rst )
+WRITE_LINE_MEMBER( scsi_port_device::write_rst )
{
if (m_rst_in != state)
{
@@ -593,7 +593,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_rst )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data0 )
+WRITE_LINE_MEMBER( scsi_port_device::write_data0 )
{
if (m_data0_in != state)
{
@@ -602,7 +602,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data0 )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data1 )
+WRITE_LINE_MEMBER( scsi_port_device::write_data1 )
{
if (m_data1_in != state)
{
@@ -611,7 +611,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data1 )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data2 )
+WRITE_LINE_MEMBER( scsi_port_device::write_data2 )
{
if (m_data2_in != state)
{
@@ -620,7 +620,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data2 )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data3 )
+WRITE_LINE_MEMBER( scsi_port_device::write_data3 )
{
if (m_data3_in != state)
{
@@ -629,7 +629,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data3 )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data4 )
+WRITE_LINE_MEMBER( scsi_port_device::write_data4 )
{
if (m_data4_in != state)
{
@@ -638,7 +638,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data4 )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data5 )
+WRITE_LINE_MEMBER( scsi_port_device::write_data5 )
{
if (m_data5_in != state)
{
@@ -647,7 +647,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data5 )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data6 )
+WRITE_LINE_MEMBER( scsi_port_device::write_data6 )
{
if (m_data6_in != state)
{
@@ -656,7 +656,7 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data6 )
}
}
-WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data7 )
+WRITE_LINE_MEMBER( scsi_port_device::write_data7 )
{
if (m_data7_in != state)
{
@@ -665,10 +665,10 @@ WRITE_LINE_MEMBER( SCSI_PORT_DEVICE::write_data7 )
}
}
-const device_type SCSI_PORT = device_creator<SCSI_PORT_DEVICE>;
+DEFINE_DEVICE_TYPE(SCSI_PORT, scsi_port_device, "scsi", "SCSI Port")
-SCSI_PORT_SLOT_device::SCSI_PORT_SLOT_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SCSI_PORT_SLOT, "SCSI Connector", tag, owner, clock, "scsi_slot", __FILE__),
+scsi_port_slot_device::scsi_port_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, SCSI_PORT_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_dev(nullptr),
m_bsy(0),
@@ -688,24 +688,24 @@ SCSI_PORT_SLOT_device::SCSI_PORT_SLOT_device(const machine_config &mconfig, cons
m_data6(0),
m_data7(0)
{
- m_port = dynamic_cast<SCSI_PORT_DEVICE *>(device().owner());
+ m_port = dynamic_cast<scsi_port_device *>(device().owner());
}
-void SCSI_PORT_SLOT_device::device_config_complete()
+void scsi_port_slot_device::device_config_complete()
{
m_dev = dynamic_cast<scsi_port_interface *>(get_card_device());
}
-void SCSI_PORT_SLOT_device::device_start()
+void scsi_port_slot_device::device_start()
{
}
-const device_type SCSI_PORT_SLOT = device_creator<SCSI_PORT_SLOT_device>;
+DEFINE_DEVICE_TYPE(SCSI_PORT_SLOT, scsi_port_slot_device, "scsi_slot", "SCSI Connector")
scsi_port_interface::scsi_port_interface(const machine_config &mconfig, device_t &device)
: device_slot_card_interface(mconfig, device)
{
- m_slot = dynamic_cast<SCSI_PORT_SLOT_device *>(device.owner());
+ m_slot = dynamic_cast<scsi_port_slot_device *>(device.owner());
}
scsi_port_interface::~scsi_port_interface()
diff --git a/src/devices/bus/scsi/scsi.h b/src/devices/bus/scsi/scsi.h
index af362522c2d..7868b7f3777 100644
--- a/src/devices/bus/scsi/scsi.h
+++ b/src/devices/bus/scsi/scsi.h
@@ -1,10 +1,10 @@
// license:BSD-3-Clause
// copyright-holders:smf
-#pragma once
+#ifndef MAME_BUS_SCSI_SCSI_H
+#define MAME_BUS_SCSI_SCSI_H
-#ifndef _SCSI_H_
-#define _SCSI_H_
+#pragma once
#include "machine/buffer.h"
#include "machine/latch.h"
@@ -18,66 +18,66 @@
#define SCSI_PORT_DEVICE7 "7"
#define MCFG_SCSI_BSY_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_bsy_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_bsy_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_SEL_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_sel_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_sel_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_CD_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_cd_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_cd_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_IO_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_io_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_io_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_MSG_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_msg_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_msg_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_REQ_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_req_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_req_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_ACK_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_ack_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_ack_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_ATN_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_atn_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_atn_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_RST_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_rst_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_rst_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_DATA0_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_data0_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_data0_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_DATA1_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_data1_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_data1_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_DATA2_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_data2_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_data2_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_DATA3_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_data3_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_data3_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_DATA4_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_data4_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_data4_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_DATA5_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_data5_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_data5_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_DATA6_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_data6_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_data6_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_DATA7_HANDLER(_devcb) \
- devcb = &SCSI_PORT_DEVICE::set_data7_handler(*device, DEVCB_##_devcb);
+ devcb = &scsi_port_device::set_data7_handler(*device, DEVCB_##_devcb);
#define MCFG_SCSI_OUTPUT_LATCH_ADD(_tag, scsi_port_tag) \
MCFG_DEVICE_ADD(_tag, OUTPUT_LATCH, 0) \
- MCFG_OUTPUT_LATCH_BIT0_HANDLER(DEVWRITELINE(scsi_port_tag, SCSI_PORT_DEVICE, write_data0)) \
- MCFG_OUTPUT_LATCH_BIT1_HANDLER(DEVWRITELINE(scsi_port_tag, SCSI_PORT_DEVICE, write_data1)) \
- MCFG_OUTPUT_LATCH_BIT2_HANDLER(DEVWRITELINE(scsi_port_tag, SCSI_PORT_DEVICE, write_data2)) \
- MCFG_OUTPUT_LATCH_BIT3_HANDLER(DEVWRITELINE(scsi_port_tag, SCSI_PORT_DEVICE, write_data3)) \
- MCFG_OUTPUT_LATCH_BIT4_HANDLER(DEVWRITELINE(scsi_port_tag, SCSI_PORT_DEVICE, write_data4)) \
- MCFG_OUTPUT_LATCH_BIT5_HANDLER(DEVWRITELINE(scsi_port_tag, SCSI_PORT_DEVICE, write_data5)) \
- MCFG_OUTPUT_LATCH_BIT6_HANDLER(DEVWRITELINE(scsi_port_tag, SCSI_PORT_DEVICE, write_data6)) \
- MCFG_OUTPUT_LATCH_BIT7_HANDLER(DEVWRITELINE(scsi_port_tag, SCSI_PORT_DEVICE, write_data7))
+ MCFG_OUTPUT_LATCH_BIT0_HANDLER(DEVWRITELINE(scsi_port_tag, scsi_port_device, write_data0)) \
+ MCFG_OUTPUT_LATCH_BIT1_HANDLER(DEVWRITELINE(scsi_port_tag, scsi_port_device, write_data1)) \
+ MCFG_OUTPUT_LATCH_BIT2_HANDLER(DEVWRITELINE(scsi_port_tag, scsi_port_device, write_data2)) \
+ MCFG_OUTPUT_LATCH_BIT3_HANDLER(DEVWRITELINE(scsi_port_tag, scsi_port_device, write_data3)) \
+ MCFG_OUTPUT_LATCH_BIT4_HANDLER(DEVWRITELINE(scsi_port_tag, scsi_port_device, write_data4)) \
+ MCFG_OUTPUT_LATCH_BIT5_HANDLER(DEVWRITELINE(scsi_port_tag, scsi_port_device, write_data5)) \
+ MCFG_OUTPUT_LATCH_BIT6_HANDLER(DEVWRITELINE(scsi_port_tag, scsi_port_device, write_data6)) \
+ MCFG_OUTPUT_LATCH_BIT7_HANDLER(DEVWRITELINE(scsi_port_tag, scsi_port_device, write_data7))
#define MCFG_SCSI_DATA_INPUT_BUFFER(_tag) \
MCFG_SCSI_DATA0_HANDLER(DEVWRITELINE(_tag, input_buffer_device, write_bit0)) \
@@ -89,34 +89,34 @@
MCFG_SCSI_DATA6_HANDLER(DEVWRITELINE(_tag, input_buffer_device, write_bit6)) \
MCFG_SCSI_DATA7_HANDLER(DEVWRITELINE(_tag, input_buffer_device, write_bit7))
-class SCSI_PORT_SLOT_device;
+class scsi_port_slot_device;
class scsi_port_interface;
-class SCSI_PORT_DEVICE : public device_t
+class scsi_port_device : public device_t
{
friend class scsi_port_interface;
public:
// construction/destruction
- SCSI_PORT_DEVICE(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- template<class _Object> static devcb_base &set_bsy_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_bsy_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_sel_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_sel_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_cd_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_cd_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_io_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_io_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_msg_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_msg_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_req_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_req_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_ack_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_ack_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_atn_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_atn_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_rst_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_rst_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data0_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data0_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data1_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data1_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data2_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data2_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data3_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data3_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data4_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data4_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data5_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data5_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data6_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data6_handler.set_callback(object); }
- template<class _Object> static devcb_base &set_data7_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data7_handler.set_callback(object); }
+ scsi_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ template <class Object> static devcb_base &set_bsy_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_bsy_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_sel_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_sel_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_cd_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_cd_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_io_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_io_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_msg_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_msg_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_req_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_req_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_ack_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_ack_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_atn_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_atn_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_rst_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_rst_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data0_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_data0_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data1_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_data1_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data2_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_data2_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data3_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_data3_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data4_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_data4_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data5_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_data5_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data6_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_data6_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_data7_handler(device_t &device, Object &&cb) { return downcast<scsi_port_device &>(device).m_data7_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( write_bsy );
DECLARE_WRITE_LINE_MEMBER( write_sel );
@@ -178,7 +178,7 @@ private:
devcb_write_line m_data6_handler;
devcb_write_line m_data7_handler;
- SCSI_PORT_SLOT_device *m_slot[7];
+ scsi_port_slot_device *m_slot[7];
int m_device_count;
int m_bsy_in;
@@ -221,17 +221,17 @@ extern const device_type SCSI_PORT;
class scsi_port_interface;
-class SCSI_PORT_SLOT_device : public device_t,
+class scsi_port_slot_device : public device_t,
public device_slot_interface
{
- friend class SCSI_PORT_DEVICE;
+ friend class scsi_port_device;
friend class scsi_port_interface;
public:
- SCSI_PORT_SLOT_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ scsi_port_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
scsi_port_interface *dev() { return m_dev; }
- SCSI_PORT_DEVICE *port() { return m_port; }
+ scsi_port_device *port() { return m_port; }
protected:
// device-level overrides
@@ -240,7 +240,7 @@ protected:
protected:
scsi_port_interface *m_dev;
- SCSI_PORT_DEVICE *m_port;
+ scsi_port_device *m_port;
int m_bsy;
int m_sel;
@@ -261,31 +261,30 @@ protected:
int m_data7;
};
-extern const device_type SCSI_PORT_SLOT;
+DECLARE_DEVICE_TYPE(SCSI_PORT_SLOT, scsi_port_slot_device)
class scsi_port_interface : public device_slot_card_interface
{
public:
- scsi_port_interface(const machine_config &mconfig, device_t &device);
virtual ~scsi_port_interface();
- virtual DECLARE_WRITE_LINE_MEMBER( input_bsy ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_sel ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_cd ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_io ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_msg ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_req ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_ack ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_atn ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_rst ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data3 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data4 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data5 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data6 ) {}
- virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) {}
+ virtual DECLARE_WRITE_LINE_MEMBER( input_bsy ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_sel ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_cd ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_io ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_msg ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_req ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_ack ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_atn ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_rst ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data3 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data4 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data5 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data6 ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) { }
DECLARE_WRITE_LINE_MEMBER( output_bsy ) { if (m_slot->m_bsy != state) { m_slot->m_bsy = state; m_slot->port()->update_bsy(); } }
DECLARE_WRITE_LINE_MEMBER( output_sel ) { if (m_slot->m_sel != state) { m_slot->m_sel = state; m_slot->port()->update_sel(); } }
@@ -305,8 +304,11 @@ public:
DECLARE_WRITE_LINE_MEMBER( output_data6 ) { if (m_slot->m_data6 != state) { m_slot->m_data6 = state; m_slot->port()->update_data6(); } }
DECLARE_WRITE_LINE_MEMBER( output_data7 ) { if (m_slot->m_data7 != state) { m_slot->m_data7 = state; m_slot->port()->update_data7(); } }
+protected:
+ scsi_port_interface(const machine_config &mconfig, device_t &device);
+
private:
- SCSI_PORT_SLOT_device *m_slot;
+ scsi_port_slot_device *m_slot;
};
-#endif
+#endif // MAME_BUS_SCSI_SCSI_H
diff --git a/src/devices/bus/scsi/scsicd.cpp b/src/devices/bus/scsi/scsicd.cpp
index 2c995bc54a3..93bd9750e8e 100644
--- a/src/devices/bus/scsi/scsicd.cpp
+++ b/src/devices/bus/scsi/scsicd.cpp
@@ -10,15 +10,15 @@
#include "scsicd.h"
// device type definition
-const device_type SCSICD = device_creator<scsicd_device>;
+DEFINE_DEVICE_TYPE(SCSICD, scsicd_device, "scsicd", "SCSI CD")
scsicd_device::scsicd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- scsihle_device(mconfig, SCSICD, "SCSI CD", tag, owner, clock, "scsicd", __FILE__)
+ scsicd_device(mconfig, SCSICD, tag, owner, clock)
{
}
-scsicd_device::scsicd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- scsihle_device(mconfig, type, name, tag, owner, clock, shortname, source)
+scsicd_device::scsicd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ scsihle_device(mconfig, type, tag, owner, clock)
{
}
diff --git a/src/devices/bus/scsi/scsicd.h b/src/devices/bus/scsi/scsicd.h
index c7c2f377e50..b9dba1db6d9 100644
--- a/src/devices/bus/scsi/scsicd.h
+++ b/src/devices/bus/scsi/scsicd.h
@@ -6,26 +6,25 @@
***************************************************************************/
-#ifndef _SCSICD_H_
-#define _SCSICD_H_
+#ifndef MAME_BUS_SCSI_SCSICD_H
+#define MAME_BUS_SCSI_SCSICD_H
#include "scsihle.h"
#include "machine/t10mmc.h"
-class scsicd_device : public scsihle_device,
- public t10mmc
+class scsicd_device : public scsihle_device, public t10mmc
{
public:
// construction/destruction
scsicd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- scsicd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
+ scsicd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
};
// device type definition
-extern const device_type SCSICD;
+DECLARE_DEVICE_TYPE(SCSICD, scsicd_device)
-#endif
+#endif // MAME_BUS_SCSI_SCSICD_H
diff --git a/src/devices/bus/scsi/scsihd.cpp b/src/devices/bus/scsi/scsihd.cpp
index b8aae0aa48e..a0868659772 100644
--- a/src/devices/bus/scsi/scsihd.cpp
+++ b/src/devices/bus/scsi/scsihd.cpp
@@ -10,15 +10,15 @@
#include "scsihd.h"
// device type definition
-const device_type SCSIHD = device_creator<scsihd_device>;
+DEFINE_DEVICE_TYPE(SCSIHD, scsihd_device, "scsihd", "SCSI HD")
scsihd_device::scsihd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scsihle_device(mconfig, SCSIHD, "SCSI HD", tag, owner, clock, "scsihd", __FILE__)
+ : scsihd_device(mconfig, SCSIHD, tag, owner, clock)
{
}
-scsihd_device::scsihd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- scsihle_device(mconfig, type, name, tag, owner, clock, shortname, source)
+scsihd_device::scsihd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ scsihle_device(mconfig, type, tag, owner, clock)
{
}
diff --git a/src/devices/bus/scsi/scsihd.h b/src/devices/bus/scsi/scsihd.h
index 1a312a79216..21517c8bbf7 100644
--- a/src/devices/bus/scsi/scsihd.h
+++ b/src/devices/bus/scsi/scsihd.h
@@ -6,26 +6,27 @@
***************************************************************************/
-#ifndef _SCSIHD_H_
-#define _SCSIHD_H_
+#ifndef MAME_BUS_SCSI_SCSIHD_H
+#define MAME_BUS_SCSI_SCSIHD_H
+
+#pragma once
#include "scsihle.h"
#include "machine/t10sbc.h"
-class scsihd_device : public scsihle_device,
- public t10sbc
+class scsihd_device : public scsihle_device, public t10sbc
{
public:
// construction/destruction
scsihd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- scsihd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
+ scsihd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
};
// device type definition
-extern const device_type SCSIHD;
+DECLARE_DEVICE_TYPE(SCSIHD, scsihd_device)
-#endif
+#endif // MAME_BUS_SCSI_SCSIHD_H
diff --git a/src/devices/bus/scsi/scsihle.cpp b/src/devices/bus/scsi/scsihle.cpp
index 27c1a567b62..ed63dae450e 100644
--- a/src/devices/bus/scsi/scsihle.cpp
+++ b/src/devices/bus/scsi/scsihle.cpp
@@ -11,8 +11,8 @@ Base class for HLE'd SCSI devices.
#include "emu.h"
#include "scsihle.h"
-scsihle_device::scsihle_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+scsihle_device::scsihle_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
scsi_port_interface(mconfig, *this),
m_scsi_id(*this, "SCSI_ID"),
req_timer(nullptr),
diff --git a/src/devices/bus/scsi/scsihle.h b/src/devices/bus/scsi/scsihle.h
index 72537d3b3b0..bce047ae474 100644
--- a/src/devices/bus/scsi/scsihle.h
+++ b/src/devices/bus/scsi/scsihle.h
@@ -8,8 +8,8 @@ Base class for HLE'd SCSI devices.
*/
-#ifndef _SCSIHLE_H_
-#define _SCSIHLE_H_
+#ifndef MAME_BUS_SCSI_SCSIHLE_H
+#define MAME_BUS_SCSI_SCSIHLE_H
#include "scsi.h"
#include "machine/t10spc.h"
@@ -21,9 +21,6 @@ class scsihle_device : public device_t,
public virtual t10spc
{
public:
- // construction/destruction
- scsihle_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
virtual int GetDeviceID(); // hack for legacy_scsi_host_adapter::get_device
virtual DECLARE_WRITE_LINE_MEMBER( input_sel ) override;
@@ -39,6 +36,9 @@ public:
virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) override { if (state) m_input_data |= 0x80; else m_input_data &= ~0x80; }
protected:
+ // construction/destruction
+ scsihle_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual ioport_constructor device_input_ports() const override;
virtual void device_start() override;
@@ -89,4 +89,5 @@ extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_7)[];
MCFG_SLOT_OPTION_ADD( _option, _type ) \
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS( _option, _id ) \
MCFG_SLOT_DEFAULT_OPTION( _option )
-#endif
+
+#endif // MAME_BUS_SCSI_SCSIHLE_H
diff --git a/src/devices/bus/scv/rom.cpp b/src/devices/bus/scv/rom.cpp
index 2507219be4a..be0dc7aea2c 100644
--- a/src/devices/bus/scv/rom.cpp
+++ b/src/devices/bus/scv/rom.cpp
@@ -17,55 +17,53 @@
// scv_rom_device - constructor
//-------------------------------------------------
-const device_type SCV_ROM8K = device_creator<scv_rom8_device>;
-const device_type SCV_ROM16K = device_creator<scv_rom16_device>;
-const device_type SCV_ROM32K = device_creator<scv_rom32_device>;
-const device_type SCV_ROM32K_RAM8K = device_creator<scv_rom32ram8_device>;
-const device_type SCV_ROM64K = device_creator<scv_rom64_device>;
-const device_type SCV_ROM128K = device_creator<scv_rom128_device>;
-const device_type SCV_ROM128K_RAM4K = device_creator<scv_rom128ram4_device>;
+DEFINE_DEVICE_TYPE(SCV_ROM8K, scv_rom8_device, "scv_rom8", "SCV 8K Carts")
+DEFINE_DEVICE_TYPE(SCV_ROM16K, scv_rom16_device, "scv_rom16", "SCV 16K Carts")
+DEFINE_DEVICE_TYPE(SCV_ROM32K, scv_rom32_device, "scv_rom32", "SCV 32K Carts")
+DEFINE_DEVICE_TYPE(SCV_ROM32K_RAM8K, scv_rom32ram8_device, "scv_rom32_ram8", "SCV 32K + RAM 8K Carts")
+DEFINE_DEVICE_TYPE(SCV_ROM64K, scv_rom64_device, "scv_rom64", "SCV 64K Carts")
+DEFINE_DEVICE_TYPE(SCV_ROM128K, scv_rom128_device, "scv_rom128", "SCV 128K Carts")
+DEFINE_DEVICE_TYPE(SCV_ROM128K_RAM4K, scv_rom128ram4_device, "scv_rom128_ram4", "SCV 128K + RAM 4K Carts")
-scv_rom8_device::scv_rom8_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_scv_cart_interface( mconfig, *this )
+scv_rom8_device::scv_rom8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_scv_cart_interface(mconfig, *this)
{
}
scv_rom8_device::scv_rom8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SCV_ROM8K, "SCV 8K Carts", tag, owner, clock, "scv_rom8", __FILE__),
- device_scv_cart_interface( mconfig, *this )
+ : scv_rom8_device(mconfig, SCV_ROM8K, tag, owner, clock)
{
}
scv_rom16_device::scv_rom16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scv_rom8_device(mconfig, SCV_ROM16K, "SCV 16K Carts", tag, owner, clock, "scv_rom16", __FILE__)
+ : scv_rom8_device(mconfig, SCV_ROM16K, tag, owner, clock)
{
}
scv_rom32_device::scv_rom32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scv_rom8_device(mconfig, SCV_ROM32K, "SCV 32K Carts", tag, owner, clock, "scv_rom32", __FILE__)
+ : scv_rom8_device(mconfig, SCV_ROM32K, tag, owner, clock)
{
}
scv_rom32ram8_device::scv_rom32ram8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scv_rom8_device(mconfig, SCV_ROM32K_RAM8K, "SCV 32K + RAM 8K Carts", tag, owner, clock, "scv_rom32_ram8", __FILE__), m_ram_enabled(0)
- {
+ : scv_rom8_device(mconfig, SCV_ROM32K_RAM8K, tag, owner, clock), m_ram_enabled(0)
+{
}
scv_rom64_device::scv_rom64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scv_rom8_device(mconfig, SCV_ROM64K, "SCV 64K Carts", tag, owner, clock, "scv_rom64", __FILE__), m_bank_base(0)
- {
+ : scv_rom8_device(mconfig, SCV_ROM64K, tag, owner, clock), m_bank_base(0)
+{
}
scv_rom128_device::scv_rom128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scv_rom8_device(mconfig, SCV_ROM128K, "SCV 128K Carts", tag, owner, clock, "scv_rom128", __FILE__), m_bank_base(0)
- {
+ : scv_rom8_device(mconfig, SCV_ROM128K, tag, owner, clock), m_bank_base(0)
+{
}
scv_rom128ram4_device::scv_rom128ram4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : scv_rom8_device(mconfig, SCV_ROM128K_RAM4K, "SCV 128K + RAM 4K Carts", tag, owner, clock, "scv_rom128_ram4", __FILE__), m_bank_base(0), m_ram_enabled(0)
- {
+ : scv_rom8_device(mconfig, SCV_ROM128K_RAM4K, tag, owner, clock), m_bank_base(0), m_ram_enabled(0)
+{
}
diff --git a/src/devices/bus/scv/rom.h b/src/devices/bus/scv/rom.h
index 40a56ec5ce0..4a6b90b39a1 100644
--- a/src/devices/bus/scv/rom.h
+++ b/src/devices/bus/scv/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SCV_ROM_H
-#define __SCV_ROM_H
+#ifndef MAME_BUS_SCV_ROM_H
+#define MAME_BUS_SCV_ROM_H
+
+#pragma once
#include "slot.h"
@@ -13,15 +15,17 @@ class scv_rom8_device : public device_t,
{
public:
// construction/destruction
- scv_rom8_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
scv_rom8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
- virtual void device_reset() override {}
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
+
+protected:
+ scv_rom8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
};
// ======================> scv_rom16_device
@@ -58,15 +62,16 @@ public:
// construction/destruction
scv_rom32ram8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_ram_enabled;
};
@@ -101,14 +106,15 @@ public:
// construction/destruction
scv_rom128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_bank_base;
};
@@ -122,30 +128,28 @@ public:
// construction/destruction
scv_rom128ram4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_bank_base, m_ram_enabled;
};
-
// device type definition
-extern const device_type SCV_ROM8K;
-extern const device_type SCV_ROM16K;
-extern const device_type SCV_ROM32K;
-extern const device_type SCV_ROM32K_RAM8K;
-extern const device_type SCV_ROM64K;
-extern const device_type SCV_ROM128K;
-extern const device_type SCV_ROM128K_RAM4K;
-
-
-
-#endif
+DECLARE_DEVICE_TYPE(SCV_ROM8K, scv_rom8_device)
+DECLARE_DEVICE_TYPE(SCV_ROM16K, scv_rom16_device)
+DECLARE_DEVICE_TYPE(SCV_ROM32K, scv_rom32_device)
+DECLARE_DEVICE_TYPE(SCV_ROM32K_RAM8K, scv_rom32ram8_device)
+DECLARE_DEVICE_TYPE(SCV_ROM64K, scv_rom64_device)
+DECLARE_DEVICE_TYPE(SCV_ROM128K, scv_rom128_device)
+DECLARE_DEVICE_TYPE(SCV_ROM128K_RAM4K, scv_rom128ram4_device)
+
+#endif // MAME_BUS_SCV_ROM_H
diff --git a/src/devices/bus/scv/slot.cpp b/src/devices/bus/scv/slot.cpp
index 953cfd95af8..c95f872089a 100644
--- a/src/devices/bus/scv/slot.cpp
+++ b/src/devices/bus/scv/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SCV_CART_SLOT = device_creator<scv_cart_slot_device>;
+DEFINE_DEVICE_TYPE(SCV_CART_SLOT, scv_cart_slot_device, "scv_cart_slot", "SCV Cartridge Slot")
//**************************************************************************
// SCV cartridges Interface
@@ -73,10 +73,10 @@ void device_scv_cart_interface::ram_alloc(uint32_t size)
// scv_cart_slot_device - constructor
//-------------------------------------------------
scv_cart_slot_device::scv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SCV_CART_SLOT, "SCV Cartridge Slot", tag, owner, clock, "scv_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(SCV_8K), m_cart(nullptr)
+ device_t(mconfig, SCV_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(SCV_8K), m_cart(nullptr)
{
}
diff --git a/src/devices/bus/scv/slot.h b/src/devices/bus/scv/slot.h
index 6f926b96559..5dc3ec6e5b7 100644
--- a/src/devices/bus/scv/slot.h
+++ b/src/devices/bus/scv/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SCV_SLOT_H
-#define __SCV_SLOT_H
+#ifndef MAME_BUS_SCV_SLOT_H
+#define MAME_BUS_SCV_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -30,13 +32,12 @@ class device_scv_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_scv_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_scv_cart_interface();
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_cart) {}
- virtual DECLARE_WRITE8_MEMBER(write_bank) {}
+ virtual DECLARE_WRITE8_MEMBER(write_cart) { }
+ virtual DECLARE_WRITE8_MEMBER(write_bank) { }
void rom_alloc(uint32_t size, const char *tag);
void ram_alloc(uint32_t size);
@@ -48,6 +49,8 @@ public:
void save_ram() { device().save_item(NAME(m_ram)); }
protected:
+ device_scv_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -66,9 +69,6 @@ public:
scv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~scv_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override {}
@@ -97,6 +97,8 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_bank);
protected:
+ // device-level overrides
+ virtual void device_start() override;
int m_type;
device_scv_cart_interface* m_cart;
@@ -105,7 +107,7 @@ protected:
// device type definition
-extern const device_type SCV_CART_SLOT;
+DECLARE_DEVICE_TYPE(SCV_CART_SLOT, scv_cart_slot_device)
/***************************************************************************
@@ -117,4 +119,5 @@ extern const device_type SCV_CART_SLOT;
#define MCFG_SCV_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, SCV_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+#endif // MAME_BUS_SCV_SLOT_H
diff --git a/src/devices/bus/sega8/ccatch.cpp b/src/devices/bus/sega8/ccatch.cpp
index b8a8ffd3263..4f30ea15767 100644
--- a/src/devices/bus/sega8/ccatch.cpp
+++ b/src/devices/bus/sega8/ccatch.cpp
@@ -19,13 +19,12 @@
// constructors
//-------------------------------------------------
-const device_type SEGA8_ROM_CARDCATCH = device_creator<sega8_cardcatch_device>;
+DEFINE_DEVICE_TYPE(SEGA8_ROM_CARDCATCH, sega8_cardcatch_device, "sega8_ccatch", "SG-1000 Card Catcher Cart")
sega8_cardcatch_device::sega8_cardcatch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_CARDCATCH, "SG-1000 Card Catcher Cart", tag, owner, clock, "sega8_ccatch", __FILE__),
- m_card(*this, "cardslot")
+ : sega8_rom_device(mconfig, SEGA8_ROM_CARDCATCH, tag, owner, clock), m_card(*this, "cardslot")
{
}
diff --git a/src/devices/bus/sega8/ccatch.h b/src/devices/bus/sega8/ccatch.h
index 138f39dba9b..ecbc4cfd367 100644
--- a/src/devices/bus/sega8/ccatch.h
+++ b/src/devices/bus/sega8/ccatch.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SEGA8_CCATCH_H
-#define __SEGA8_CCATCH_H
+#ifndef MAME_BUS_SEGA8_CCATCH_H
+#define MAME_BUS_SEGA8_CCATCH_H
+
+#pragma once
#include "sega8_slot.h"
#include "rom.h"
@@ -26,10 +28,7 @@ protected:
};
-
-
-
// device type definition
-extern const device_type SEGA8_ROM_CARDCATCH;
+DECLARE_DEVICE_TYPE(SEGA8_ROM_CARDCATCH, sega8_cardcatch_device)
-#endif
+#endif // MAME_BUS_SEGA8_CCATCH_H
diff --git a/src/devices/bus/sega8/mgear.cpp b/src/devices/bus/sega8/mgear.cpp
index 4cf05b340ec..97c7ee1d51c 100644
--- a/src/devices/bus/sega8/mgear.cpp
+++ b/src/devices/bus/sega8/mgear.cpp
@@ -21,11 +21,10 @@
// constructors
//-------------------------------------------------
-const device_type SEGA8_ROM_MGEAR = device_creator<sega8_mgear_device>;
+DEFINE_DEVICE_TYPE(SEGA8_ROM_MGEAR, sega8_mgear_device, "sega8_mgear", "Master Gear Converter")
sega8_mgear_device::sega8_mgear_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_MGEAR, "Master Gear Converter", tag, owner, clock, "sega8_mgear", __FILE__),
- m_subslot(*this, "subslot")
+ : sega8_rom_device(mconfig, SEGA8_ROM_MGEAR, tag, owner, clock), m_subslot(*this, "subslot")
{
}
diff --git a/src/devices/bus/sega8/mgear.h b/src/devices/bus/sega8/mgear.h
index 0544fd74741..e109df58e73 100644
--- a/src/devices/bus/sega8/mgear.h
+++ b/src/devices/bus/sega8/mgear.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SEGA8_MGEAR_H
-#define __SEGA8_MGEAR_H
+#ifndef MAME_BUS_SEGA8_MGEAR_H
+#define MAME_BUS_SEGA8_MGEAR_H
+
+#pragma once
#include "sega8_slot.h"
#include "rom.h"
@@ -23,7 +25,7 @@ public:
virtual DECLARE_READ8_MEMBER(read_cart) override { return m_subslot->read_cart(space, offset); }
virtual DECLARE_WRITE8_MEMBER(write_cart) override { m_subslot->write_cart(space, offset, data); }
virtual DECLARE_WRITE8_MEMBER(write_mapper) override { m_subslot->write_mapper(space, offset, data); }
- virtual int get_lphaser_xoffs() override { return m_subslot->m_cart ? m_subslot->m_cart->get_lphaser_xoffs() : -1; }
+ virtual int get_lphaser_xoffs() override { return m_subslot->get_lphaser_xoffs(); }
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -33,7 +35,6 @@ protected:
// device type definition
-extern const device_type SEGA8_ROM_MGEAR;
-
+DECLARE_DEVICE_TYPE(SEGA8_ROM_MGEAR, sega8_mgear_device)
-#endif
+#endif // MAME_BUS_SEGA8_MGEAR_H
diff --git a/src/devices/bus/sega8/rom.cpp b/src/devices/bus/sega8/rom.cpp
index 7ef04ca9c79..f5a154308f7 100644
--- a/src/devices/bus/sega8/rom.cpp
+++ b/src/devices/bus/sega8/rom.cpp
@@ -19,87 +19,89 @@
// Base cart type shared across SG-1000, SG-1000 Mark II, SG-1000 Mark III, SMS, GG
// even if in sg1000 rom banks are never changed and ram is never enabled
-const device_type SEGA8_ROM_STD = device_creator<sega8_rom_device>;
+DEFINE_DEVICE_TYPE(SEGA8_ROM_STD, sega8_rom_device, "sega8_rom", "SG-1000, SMS & GG Carts")
// Specific SG-1000 MkI - MkII cart types
-const device_type SEGA8_ROM_OTHELLO = device_creator<sega8_othello_device>;
-const device_type SEGA8_ROM_CASTLE = device_creator<sega8_castle_device>;
-const device_type SEGA8_ROM_BASIC_L3 = device_creator<sega8_basic_l3_device>;
-const device_type SEGA8_ROM_MUSIC_EDITOR = device_creator<sega8_music_editor_device>;
-const device_type SEGA8_ROM_TEREBI = device_creator<sega8_terebi_device>;
-const device_type SEGA8_ROM_DAHJEE_TYPEA = device_creator<sega8_dahjee_typea_device>;
-const device_type SEGA8_ROM_DAHJEE_TYPEB = device_creator<sega8_dahjee_typeb_device>;
+DEFINE_DEVICE_TYPE(SEGA8_ROM_OTHELLO, sega8_othello_device, "sega8_othello", "SG-1000 Othello Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_CASTLE, sega8_castle_device, "sega8_castle", "SG-1000 The Castle Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_BASIC_L3, sega8_basic_l3_device, "sega8_basicl3", "SC-3000 BASIC Level III Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_MUSIC_EDITOR, sega8_music_editor_device, "sega8_music", "SC-3000 Music Editor Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_TEREBI, sega8_terebi_device, "sega8_terebi", "SG-1000 Terebi Oekaki Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_DAHJEE_TYPEA, sega8_dahjee_typea_device, "sega8_dahjeea", "SG-1000 Dahjee RAM expansion + Cart (Type A)")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_DAHJEE_TYPEB, sega8_dahjee_typeb_device, "sega8_dahjeeb", "SG-1000 Dahjee RAM expansion + Cart (Type B)")
// Specific SG-1000 MkIII - SMS - GG cart types
-const device_type SEGA8_ROM_EEPROM = device_creator<sega8_eeprom_device>;
-const device_type SEGA8_ROM_CODEMASTERS = device_creator<sega8_codemasters_device>;
-const device_type SEGA8_ROM_4PAK = device_creator<sega8_4pak_device>;
-const device_type SEGA8_ROM_ZEMINA = device_creator<sega8_zemina_device>;
-const device_type SEGA8_ROM_NEMESIS = device_creator<sega8_nemesis_device>;
-const device_type SEGA8_ROM_JANGGUN = device_creator<sega8_janggun_device>;
-const device_type SEGA8_ROM_HICOM = device_creator<sega8_hicom_device>;
-const device_type SEGA8_ROM_KOREAN = device_creator<sega8_korean_device>;
-const device_type SEGA8_ROM_KOREAN_NB = device_creator<sega8_korean_nb_device>;
-const device_type SEGA8_ROM_SEOJIN = device_creator<sega8_seojin_device>;
+DEFINE_DEVICE_TYPE(SEGA8_ROM_EEPROM, sega8_eeprom_device, "sega8_eeprom", "GG Carts + EEPROM")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_CODEMASTERS, sega8_codemasters_device, "sega8_codemasters", "Mark III, SMS & GG Codemasters Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_4PAK, sega8_4pak_device, "sega8_4pak", "SMS 4-Pak Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_ZEMINA, sega8_zemina_device, "sega8_zemina", "SMS Zemina Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_NEMESIS, sega8_nemesis_device, "sega8_nemesis", "SMS Nemesis Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_JANGGUN, sega8_janggun_device, "sega8_janggun", "SMS Janggun Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_HICOM, sega8_hicom_device, "sega8_hicom", "SMS Hi-Com Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_KOREAN, sega8_korean_device, "sega8_korean", "SMS Korean Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_KOREAN_NB, sega8_korean_nb_device, "sega8_korean_nb", "SMS Korean No-Bank Mapper Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_SEOJIN, sega8_seojin_device, "sega8_seojin", "SMS Seo Jin Multi-cart")
-sega8_rom_device::sega8_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+sega8_rom_device::sega8_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_sega8_cart_interface(mconfig, *this)
+ , m_ram_base(0)
+ , m_ram_enabled(0)
+{
}
sega8_rom_device::sega8_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_STD, "Mark III, SMS & GG Carts", tag, owner, clock, "sega8_rom", __FILE__),
- device_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+ : sega8_rom_device(mconfig, SEGA8_ROM_STD, tag, owner, clock)
+{
}
sega8_othello_device::sega8_othello_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_OTHELLO, "SG-1000 Othello Cart", tag, owner, clock, "sega8_othello", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_OTHELLO, tag, owner, clock)
{
}
sega8_castle_device::sega8_castle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_CASTLE, "SG-1000 The Castle Cart", tag, owner, clock, "sega8_castle", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_CASTLE, tag, owner, clock)
{
}
sega8_basic_l3_device::sega8_basic_l3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_BASIC_L3, "SC-3000 BASIC Level III Cart", tag, owner, clock, "sega8_basicl3", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_BASIC_L3, tag, owner, clock)
{
}
sega8_music_editor_device::sega8_music_editor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_MUSIC_EDITOR, "SC-3000 Music Editor Cart", tag, owner, clock, "sega8_music", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_MUSIC_EDITOR, tag, owner, clock)
{
}
sega8_terebi_device::sega8_terebi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_TEREBI, "SG-1000 Terebi Oekaki Cart", tag, owner, clock, "sega8_terebi", __FILE__),
- m_tvdraw_x(*this, "TVDRAW_X"),
- m_tvdraw_y(*this, "TVDRAW_Y"),
- m_tvdraw_pen(*this, "TVDRAW_PEN"), m_tvdraw_data(0)
- {
+ : sega8_rom_device(mconfig, SEGA8_ROM_TEREBI, tag, owner, clock)
+ , m_tvdraw_x(*this, "TVDRAW_X")
+ , m_tvdraw_y(*this, "TVDRAW_Y")
+ , m_tvdraw_pen(*this, "TVDRAW_PEN")
+ , m_tvdraw_data(0)
+{
}
sega8_dahjee_typea_device::sega8_dahjee_typea_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_DAHJEE_TYPEA, "SG-1000 Dahjee RAM expansion + Cart (Type A)", tag, owner, clock, "sega8_dahjeea", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_DAHJEE_TYPEA, tag, owner, clock)
{
}
sega8_dahjee_typeb_device::sega8_dahjee_typeb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_DAHJEE_TYPEB, "SG-1000 Dahjee RAM expansion + Cart (Type B)", tag, owner, clock, "sega8_dahjeeb", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_DAHJEE_TYPEB, tag, owner, clock)
{
}
@@ -107,72 +109,78 @@ sega8_dahjee_typeb_device::sega8_dahjee_typeb_device(const machine_config &mconf
sega8_eeprom_device::sega8_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_EEPROM, "GG Carts + EEPROM", tag, owner, clock, "sega8_eeprom", __FILE__),
- device_sega8_cart_interface( mconfig, *this ),
- m_eeprom(*this, "eeprom"), m_93c46_enabled(0), m_93c46_lines(0)
- {
+ : device_t(mconfig, SEGA8_ROM_EEPROM, tag, owner, clock)
+ , device_sega8_cart_interface(mconfig, *this)
+ , m_eeprom(*this, "eeprom")
+ , m_93c46_enabled(0)
+ , m_93c46_lines(0)
+{
}
sega8_codemasters_device::sega8_codemasters_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_CODEMASTERS, "Mark III, SMS & GG Codemasters Carts", tag, owner, clock, "sega8_codemasters", __FILE__),
- device_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+ : device_t(mconfig, SEGA8_ROM_CODEMASTERS, tag, owner, clock)
+ , device_sega8_cart_interface(mconfig, *this)
+ , m_ram_base(0)
+ , m_ram_enabled(0)
+{
}
sega8_4pak_device::sega8_4pak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_4PAK, "SMS 4-Pak Cart", tag, owner, clock, "sega8_4pak", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_4PAK, tag, owner, clock)
{
}
-sega8_zemina_device::sega8_zemina_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+sega8_zemina_device::sega8_zemina_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_sega8_cart_interface(mconfig, *this)
+ , m_ram_base(0)
+ , m_ram_enabled(0)
+{
}
sega8_zemina_device::sega8_zemina_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_ZEMINA, "SMS Zemina Carts", tag, owner, clock, "sega8_zemina", __FILE__),
- device_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+ : sega8_zemina_device(mconfig, SEGA8_ROM_ZEMINA, tag, owner, clock)
+{
}
sega8_nemesis_device::sega8_nemesis_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_zemina_device(mconfig, SEGA8_ROM_NEMESIS, "SMS Nemesis Cart", tag, owner, clock, "sega8_nemesis", __FILE__)
+ : sega8_zemina_device(mconfig, SEGA8_ROM_NEMESIS, tag, owner, clock)
{
}
sega8_janggun_device::sega8_janggun_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_JANGGUN, "SMS Janggun Cart", tag, owner, clock, "sega8_janggun", __FILE__),
- device_sega8_cart_interface( mconfig, *this )
+ : device_t(mconfig, SEGA8_ROM_JANGGUN, tag, owner, clock)
+ , device_sega8_cart_interface(mconfig, *this)
{
}
sega8_hicom_device::sega8_hicom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_HICOM, "SMS Hi-Com Carts", tag, owner, clock, "sega8_hicom", __FILE__), m_rom_bank_base(0)
- {
+ : sega8_rom_device(mconfig, SEGA8_ROM_HICOM, tag, owner, clock)
+ , m_rom_bank_base(0)
+{
}
sega8_korean_device::sega8_korean_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_KOREAN, "SMS Korean Carts", tag, owner, clock, "sega8_korean", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_KOREAN, tag, owner, clock)
{
}
sega8_korean_nb_device::sega8_korean_nb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_KOREAN_NB, "SMS Korean No-Bank Mapper Carts", tag, owner, clock, "sega8_korean_nb", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_KOREAN_NB, tag, owner, clock)
{
}
sega8_seojin_device::sega8_seojin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_SEOJIN, "SMS Seo Jin Multi-cart", tag, owner, clock, "sega8_seojin", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_SEOJIN, tag, owner, clock)
{
}
diff --git a/src/devices/bus/sega8/rom.h b/src/devices/bus/sega8/rom.h
index a4b7df2599b..9e97e40f45f 100644
--- a/src/devices/bus/sega8/rom.h
+++ b/src/devices/bus/sega8/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SEGA8_ROM_H
-#define __SEGA8_ROM_H
+#ifndef MAME_BUS_SEGA8_ROM_H
+#define MAME_BUS_SEGA8_ROM_H
+
+#pragma once
#include "sega8_slot.h"
#include "machine/eepromser.h"
@@ -13,13 +15,8 @@ class sega8_rom_device : public device_t,
{
public:
// construction/destruction
- sega8_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
sega8_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual void late_bank_setup() override;
// reading and writing
@@ -28,6 +25,12 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_mapper) override;
protected:
+ sega8_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_rom_bank_base[3];
uint8_t m_ram_base;
int m_ram_enabled;
@@ -47,7 +50,7 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_mapper) override {}
+ virtual DECLARE_WRITE8_MEMBER(write_mapper) override { }
};
@@ -62,7 +65,7 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_mapper) override {}
+ virtual DECLARE_WRITE8_MEMBER(write_mapper) override { }
};
@@ -77,7 +80,7 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_mapper) override {}
+ virtual DECLARE_WRITE8_MEMBER(write_mapper) override { }
// has internal RAM which overwrites the system one!
virtual DECLARE_READ8_MEMBER(read_ram) override;
@@ -96,7 +99,7 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_mapper) override {}
+ virtual DECLARE_WRITE8_MEMBER(write_mapper) override { }
// has internal RAM which overwrites the system one!
virtual DECLARE_READ8_MEMBER(read_ram) override;
@@ -113,9 +116,7 @@ public:
sega8_terebi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual ioport_constructor device_input_ports() const override;
- virtual void device_reset() override;
required_ioport m_tvdraw_x;
required_ioport m_tvdraw_y;
@@ -124,9 +125,12 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_mapper) override {}
+ virtual DECLARE_WRITE8_MEMBER(write_mapper) override { }
protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_tvdraw_data;
};
@@ -142,7 +146,7 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_mapper) override {}
+ virtual DECLARE_WRITE8_MEMBER(write_mapper) override { }
// has internal RAM which overwrites the system one!
virtual DECLARE_READ8_MEMBER(read_ram) override;
@@ -160,8 +164,8 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
- virtual DECLARE_WRITE8_MEMBER(write_cart) override {}
- virtual DECLARE_WRITE8_MEMBER(write_mapper) override {}
+ virtual DECLARE_WRITE8_MEMBER(write_cart) override { }
+ virtual DECLARE_WRITE8_MEMBER(write_mapper) override { }
// has internal RAM which overwrites the system one!
virtual DECLARE_READ8_MEMBER(read_ram) override;
@@ -181,9 +185,7 @@ public:
sega8_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_reset() override;
virtual void late_bank_setup() override;
@@ -193,6 +195,9 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_mapper) override;
protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_rom_bank_base[3];
required_device<eeprom_serial_93cxx_device> m_eeprom;
@@ -210,10 +215,6 @@ public:
// construction/destruction
sega8_codemasters_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual void late_bank_setup() override;
// reading and writing
@@ -222,6 +223,10 @@ public:
// no mapper write for this!
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_rom_bank_base[3];
uint8_t m_ram_base;
int m_ram_enabled;
@@ -236,14 +241,15 @@ public:
// construction/destruction
sega8_4pak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_reg[3];
};
@@ -256,13 +262,8 @@ class sega8_zemina_device : public device_t,
{
public:
// construction/destruction
- sega8_zemina_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
sega8_zemina_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
virtual void late_bank_setup() override;
// reading and writing
@@ -271,6 +272,12 @@ public:
// no mapper write for this!
protected:
+ sega8_zemina_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_rom_bank_base[6];
uint8_t m_ram_base;
int m_ram_enabled;
@@ -298,9 +305,6 @@ public:
// construction/destruction
sega8_janggun_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { save_item(NAME(m_rom_bank_base)); }
-
virtual void late_bank_setup() override;
// reading and writing
@@ -309,6 +313,9 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_mapper) override;
protected:
+ // device-level overrides
+ virtual void device_start() override { save_item(NAME(m_rom_bank_base)); }
+
uint8_t m_rom_bank_base[6];
};
@@ -321,9 +328,6 @@ public:
// construction/destruction
sega8_hicom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override { save_item(NAME(m_rom_bank_base)); }
-
virtual void late_bank_setup() override;
// reading and writing
@@ -332,6 +336,9 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_mapper) override;
protected:
+ // device-level overrides
+ virtual void device_start() override { save_item(NAME(m_rom_bank_base)); }
+
uint8_t m_rom_bank_base;
};
@@ -373,10 +380,6 @@ public:
// construction/destruction
sega8_seojin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
@@ -385,29 +388,33 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_gamesel;
uint8_t m_readxor;
};
// device type definition
-extern const device_type SEGA8_ROM_STD;
-extern const device_type SEGA8_ROM_OTHELLO;
-extern const device_type SEGA8_ROM_CASTLE;
-extern const device_type SEGA8_ROM_BASIC_L3;
-extern const device_type SEGA8_ROM_MUSIC_EDITOR;
-extern const device_type SEGA8_ROM_DAHJEE_TYPEA;
-extern const device_type SEGA8_ROM_DAHJEE_TYPEB;
-extern const device_type SEGA8_ROM_EEPROM;
-extern const device_type SEGA8_ROM_TEREBI;
-extern const device_type SEGA8_ROM_CODEMASTERS;
-extern const device_type SEGA8_ROM_4PAK;
-extern const device_type SEGA8_ROM_ZEMINA;
-extern const device_type SEGA8_ROM_NEMESIS;
-extern const device_type SEGA8_ROM_JANGGUN;
-extern const device_type SEGA8_ROM_HICOM;
-extern const device_type SEGA8_ROM_KOREAN;
-extern const device_type SEGA8_ROM_KOREAN_NB;
-extern const device_type SEGA8_ROM_SEOJIN;
-
-#endif
+DECLARE_DEVICE_TYPE(SEGA8_ROM_STD, sega8_rom_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_OTHELLO, sega8_othello_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_CASTLE, sega8_castle_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_BASIC_L3, sega8_basic_l3_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_MUSIC_EDITOR, sega8_music_editor_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_DAHJEE_TYPEA, sega8_dahjee_typea_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_DAHJEE_TYPEB, sega8_dahjee_typeb_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_EEPROM, sega8_eeprom_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_TEREBI, sega8_terebi_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_CODEMASTERS, sega8_codemasters_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_4PAK, sega8_4pak_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_ZEMINA, sega8_zemina_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_NEMESIS, sega8_nemesis_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_JANGGUN, sega8_janggun_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_HICOM, sega8_hicom_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_KOREAN, sega8_korean_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_KOREAN_NB, sega8_korean_nb_device)
+DECLARE_DEVICE_TYPE(SEGA8_ROM_SEOJIN, sega8_seojin_device)
+
+#endif // MAME_BUS_SEGA8_ROM_H
diff --git a/src/devices/bus/sega8/sega8_slot.cpp b/src/devices/bus/sega8/sega8_slot.cpp
index 7c870c9ccb2..484eb8b8b5a 100644
--- a/src/devices/bus/sega8/sega8_slot.cpp
+++ b/src/devices/bus/sega8/sega8_slot.cpp
@@ -30,15 +30,15 @@
#include "sega8_slot.h"
#define VERBOSE 0
-#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
+#include "logmacro.h"
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SEGA8_CART_SLOT = device_creator<sega8_cart_slot_device>;
-const device_type SEGA8_CARD_SLOT = device_creator<sega8_card_slot_device>;
+DEFINE_DEVICE_TYPE(SEGA8_CART_SLOT, sega8_cart_slot_device, "sega8_cart_slot", "Sega Master System / Game Gear / SG-1000 Cartridge Slot")
+DEFINE_DEVICE_TYPE(SEGA8_CARD_SLOT, sega8_card_slot_device, "sega8_card_slot", "Sega Master System / Game Gear / SG-1000 Card Slot")
//**************************************************************************
@@ -50,14 +50,14 @@ const device_type SEGA8_CARD_SLOT = device_creator<sega8_card_slot_device>;
//-------------------------------------------------
device_sega8_cart_interface::device_sega8_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_rom(nullptr),
- m_rom_size(0),
- m_rom_page_count(0),
- has_battery(false),
- m_late_battery_enable(false),
- m_lphaser_xoffs(-1),
- m_sms_mode(0)
+ : device_slot_card_interface(mconfig, device)
+ , m_rom(nullptr)
+ , m_rom_size(0)
+ , m_rom_page_count(0)
+ , has_battery(false)
+ , m_late_battery_enable(false)
+ , m_lphaser_xoffs(-1)
+ , m_sms_mode(0)
{
}
@@ -107,32 +107,26 @@ void device_sega8_cart_interface::ram_alloc(uint32_t size)
// sega8_cart_slot_device - constructor
//-------------------------------------------------
-sega8_cart_slot_device::sega8_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, bool is_card, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(SEGA8_BASE_ROM),
- m_must_be_loaded(false),
- m_interface("sms_cart"),
- m_extensions("bin"), m_cart(nullptr)
+sega8_cart_slot_device::sega8_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_card)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_image_interface(mconfig, *this)
+ , device_slot_interface(mconfig, *this)
+ , m_type(SEGA8_BASE_ROM)
+ , m_must_be_loaded(false)
+ , m_is_card(is_card)
+ , m_interface("sms_cart")
+ , m_extensions("bin")
+ , m_cart(nullptr)
{
- m_is_card = is_card;
}
-sega8_cart_slot_device::sega8_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SEGA8_CART_SLOT, "Sega Master System / Game Gear / SG1000 Cartridge Slot", tag, owner, clock, "sega8_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(SEGA8_BASE_ROM),
- m_must_be_loaded(false),
- m_is_card(false),
- m_interface("sms_cart"),
- m_extensions("bin"), m_cart(nullptr)
+sega8_cart_slot_device::sega8_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : sega8_cart_slot_device(mconfig, SEGA8_CART_SLOT, tag, owner, clock, false)
{
}
-sega8_card_slot_device::sega8_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- sega8_cart_slot_device(mconfig, SEGA8_CARD_SLOT, "Sega Master System / Game Gear / SG1000 Card Slot", tag, owner, clock, true, "sega8_card_slot", __FILE__)
+sega8_card_slot_device::sega8_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : sega8_cart_slot_device(mconfig, SEGA8_CARD_SLOT, tag, owner, clock, true)
{
}
@@ -503,7 +497,7 @@ int sega8_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len) cons
}
}
- LOG(("Mapper test: _0002 = %d, _8000 = %d, _a000 = %d, _ffff = %d\n", _0002, _8000, _a000, _ffff));
+ LOG("Mapper test: _0002 = %d, _8000 = %d, _a000 = %d, _ffff = %d\n", _0002, _8000, _a000, _ffff);
// 2 is a security measure, although tests on existing ROM showed it was not needed
if (len > 0x10000 && (_0002 > _ffff + 2 || (_0002 > 0 && _ffff == 0)))
diff --git a/src/devices/bus/sega8/sega8_slot.h b/src/devices/bus/sega8/sega8_slot.h
index ca9ad1f1dba..fa26d4bed72 100644
--- a/src/devices/bus/sega8/sega8_slot.h
+++ b/src/devices/bus/sega8/sega8_slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SEGA8_SLOT_H
-#define __SEGA8_SLOT_H
+#ifndef MAME_BUS_SEGA8_SLOT_H
+#define MAME_BUS_SEGA8_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -34,8 +36,8 @@ enum
};
-extern const device_type SEGA8_CART_SLOT;
-extern const device_type SEGA8_CARD_SLOT;
+DECLARE_DEVICE_TYPE(SEGA8_CART_SLOT, sega8_cart_slot_device)
+DECLARE_DEVICE_TYPE(SEGA8_CARD_SLOT, sega8_card_slot_device)
// ======================> device_sega8_cart_interface
@@ -44,22 +46,21 @@ class device_sega8_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_sega8_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_sega8_cart_interface();
// reading and writing
virtual DECLARE_READ8_MEMBER(read_cart) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_cart) {}
- virtual DECLARE_WRITE8_MEMBER(write_mapper) {}
+ virtual DECLARE_WRITE8_MEMBER(write_cart) { }
+ virtual DECLARE_WRITE8_MEMBER(write_mapper) { }
virtual int get_lphaser_xoffs() { return m_lphaser_xoffs; }
// a few carts (for SG1000) acts as a RAM expansion, taking control of the system RAM in 0xc000-0xffff
virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_ram) {}
+ virtual DECLARE_WRITE8_MEMBER(write_ram) { }
void rom_alloc(uint32_t size, const char *tag);
void ram_alloc(uint32_t size);
- virtual void late_bank_setup() {}
+ virtual void late_bank_setup() { }
void set_has_battery(bool val) { has_battery = val; }
bool get_has_battery() { return has_battery; }
@@ -77,7 +78,9 @@ public:
void save_ram() { device().save_item(NAME(m_ram)); }
-//private:
+protected:
+ device_sega8_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -103,13 +106,9 @@ class sega8_cart_slot_device : public device_t,
{
public:
// construction/destruction
- sega8_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, bool is_card, const char *shortname, const char *source);
sega8_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~sega8_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override;
@@ -150,8 +149,15 @@ public:
virtual DECLARE_READ8_MEMBER(read_ram);
virtual DECLARE_WRITE8_MEMBER(write_ram);
+ int get_lphaser_xoffs() { return m_cart ? m_cart->get_lphaser_xoffs() : -1; }
+ int get_sms_mode() { return m_cart->get_sms_mode(); }
+
+protected:
+ sega8_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_card);
+
+ // device-level overrides
+ virtual void device_start() override;
-//protected:
int m_type;
bool m_must_be_loaded, m_is_card;
const char *m_interface;
@@ -242,4 +248,4 @@ SLOT_INTERFACE_EXTERN( sg1000mk3_cart );
SLOT_INTERFACE_EXTERN( sms_cart );
SLOT_INTERFACE_EXTERN( gg_cart );
-#endif
+#endif // MAME_BUS_SEGA8_SLOT_H
diff --git a/src/devices/bus/sg1000_exp/fm_unit.cpp b/src/devices/bus/sg1000_exp/fm_unit.cpp
index d4798944d58..d305fd281ca 100644
--- a/src/devices/bus/sg1000_exp/fm_unit.cpp
+++ b/src/devices/bus/sg1000_exp/fm_unit.cpp
@@ -47,7 +47,7 @@ SMS version is not playing PSG sound on his Mark III with the FM unit.
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SEGA_FM_UNIT = device_creator<sega_fm_unit_device>;
+DEFINE_DEVICE_TYPE(SEGA_FM_UNIT, sega_fm_unit_device, "sega_fm_unit", "SG-1000 FM Sound Unit")
static MACHINE_CONFIG_FRAGMENT( fm_config )
@@ -74,7 +74,7 @@ machine_config_constructor sega_fm_unit_device::device_mconfig_additions() const
//-------------------------------------------------
sega_fm_unit_device::sega_fm_unit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SEGA_FM_UNIT, "Sega FM Sound Unit", tag, owner, clock, "sega_fm_unit", __FILE__),
+ device_t(mconfig, SEGA_FM_UNIT, tag, owner, clock),
device_sg1000_expansion_slot_interface(mconfig, *this),
m_ym(*this, "ym2413"),
m_psg(*this, ":segapsg"),
diff --git a/src/devices/bus/sg1000_exp/fm_unit.h b/src/devices/bus/sg1000_exp/fm_unit.h
index 17dadf0d142..4206462da87 100644
--- a/src/devices/bus/sg1000_exp/fm_unit.h
+++ b/src/devices/bus/sg1000_exp/fm_unit.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SG1000_EXP_FM_UNIT_H
+#define MAME_BUS_SG1000_EXP_FM_UNIT_H
-#ifndef __SEGA_FM_UNIT__
-#define __SEGA_FM_UNIT__
+#pragma once
#include "sound/ym2413.h"
@@ -52,7 +52,6 @@ private:
// device type definition
-extern const device_type SEGA_FM_UNIT;
-
+DECLARE_DEVICE_TYPE(SEGA_FM_UNIT, sega_fm_unit_device)
-#endif
+#endif // MAME_BUS_SG1000_EXP_FM_UNIT_H
diff --git a/src/devices/bus/sg1000_exp/sg1000exp.cpp b/src/devices/bus/sg1000_exp/sg1000exp.cpp
index d926a4b7a3a..8c8bc53f6a4 100644
--- a/src/devices/bus/sg1000_exp/sg1000exp.cpp
+++ b/src/devices/bus/sg1000_exp/sg1000exp.cpp
@@ -8,6 +8,7 @@
#include "emu.h"
#include "sg1000exp.h"
+
// slot devices
#include "sk1100.h"
#include "fm_unit.h"
@@ -18,7 +19,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SG1000_EXPANSION_SLOT = device_creator<sg1000_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(SG1000_EXPANSION_SLOT, sg1000_expansion_slot_device, "sg1000_expansion_slot", "Sega SG-1000 expansion slot")
@@ -55,8 +56,9 @@ device_sg1000_expansion_slot_interface::~device_sg1000_expansion_slot_interface(
//-------------------------------------------------
sg1000_expansion_slot_device::sg1000_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SG1000_EXPANSION_SLOT, "Sega SG-1000 expansion slot", tag, owner, clock, "sg1000_expansion_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, SG1000_EXPANSION_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_device(nullptr)
{
}
diff --git a/src/devices/bus/sg1000_exp/sg1000exp.h b/src/devices/bus/sg1000_exp/sg1000exp.h
index 328f12e269c..ce8ae982980 100644
--- a/src/devices/bus/sg1000_exp/sg1000exp.h
+++ b/src/devices/bus/sg1000_exp/sg1000exp.h
@@ -9,10 +9,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SG1000_EXP_SG1000EXP_H
+#define MAME_BUS_SG1000_EXP_SG1000EXP_H
-#ifndef __SG1000_EXPANSION_SLOT__
-#define __SG1000_EXPANSION_SLOT__
+#pragma once
@@ -37,8 +37,7 @@
class device_sg1000_expansion_slot_interface;
-class sg1000_expansion_slot_device : public device_t,
- public device_slot_interface
+class sg1000_expansion_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
@@ -66,25 +65,26 @@ class device_sg1000_expansion_slot_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_sg1000_expansion_slot_interface(const machine_config &mconfig, device_t &device);
virtual ~device_sg1000_expansion_slot_interface();
- virtual DECLARE_READ8_MEMBER(peripheral_r) { return 0xff; };
- virtual DECLARE_WRITE8_MEMBER(peripheral_w) { };
+ virtual DECLARE_READ8_MEMBER(peripheral_r) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(peripheral_w) { }
- virtual bool is_readable(uint8_t offset) { return true; };
- virtual bool is_writeable(uint8_t offset) { return true; };
+ virtual bool is_readable(uint8_t offset) { return true; }
+ virtual bool is_writeable(uint8_t offset) { return true; }
protected:
+ device_sg1000_expansion_slot_interface(const machine_config &mconfig, device_t &device);
+
sg1000_expansion_slot_device *m_port;
};
// device type definition
-extern const device_type SG1000_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(SG1000_EXPANSION_SLOT, sg1000_expansion_slot_device)
SLOT_INTERFACE_EXTERN( sg1000_expansion_devices );
-#endif
+#endif // MAME_BUS_SG1000_EXP_SG1000EXP_H
diff --git a/src/devices/bus/sg1000_exp/sk1100.cpp b/src/devices/bus/sg1000_exp/sk1100.cpp
index 10df8f00ee1..3ae5a6ac7c1 100644
--- a/src/devices/bus/sg1000_exp/sk1100.cpp
+++ b/src/devices/bus/sg1000_exp/sk1100.cpp
@@ -27,7 +27,7 @@ TODO:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SEGA_SK1100 = device_creator<sega_sk1100_device>;
+DEFINE_DEVICE_TYPE(SEGA_SK1100, sega_sk1100_device, "sega_sk1100", "Sega SK-1100 Keyboard")
/*-------------------------------------------------
@@ -188,7 +188,7 @@ machine_config_constructor sega_sk1100_device::device_mconfig_additions() const
//-------------------------------------------------
sega_sk1100_device::sega_sk1100_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SEGA_SK1100, "Sega SK-1100 Keyboard", tag, owner, clock, "sega_sk1100", __FILE__),
+ device_t(mconfig, SEGA_SK1100, tag, owner, clock),
device_sg1000_expansion_slot_interface(mconfig, *this),
m_cassette(*this, "cassette"),
m_ppi(*this, UPD9255_0_TAG),
diff --git a/src/devices/bus/sg1000_exp/sk1100.h b/src/devices/bus/sg1000_exp/sk1100.h
index 29aa91c3074..1679e5aea27 100644
--- a/src/devices/bus/sg1000_exp/sk1100.h
+++ b/src/devices/bus/sg1000_exp/sk1100.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SG1000_EXP_SK1100_H
+#define MAME_BUS_SG1000_EXP_SK1100_H
-#ifndef __SEGA_SK1100__
-#define __SEGA_SK1100__
+#pragma once
#include "sg1000exp.h"
@@ -64,7 +64,7 @@ private:
// device type definition
-extern const device_type SEGA_SK1100;
+DECLARE_DEVICE_TYPE(SEGA_SK1100, sega_sk1100_device)
-#endif
+#endif // MAME_BUS_SG1000_EXP_SK1100_H
diff --git a/src/devices/bus/sms_ctrl/graphic.cpp b/src/devices/bus/sms_ctrl/graphic.cpp
index 6aba4cdcbfb..1ada76748e7 100644
--- a/src/devices/bus/sms_ctrl/graphic.cpp
+++ b/src/devices/bus/sms_ctrl/graphic.cpp
@@ -28,7 +28,7 @@ Then 2 nibbles are read to form a byte (first high nibble, then low nibble) indi
whether the pen is on the graphic board, a value of FD, FE, or FF used for this. For
any other value the following 2 bytes are not read.
Then 2 nibbles are read to form a byte containing the absolute X coordinate.
-THen 2 nibbles are read to form a byte containing the absolute Y coordiante.
+Then 2 nibbles are read to form a byte containing the absolute Y coordiante.
**********************************************************************/
@@ -41,7 +41,7 @@ THen 2 nibbles are read to form a byte containing the absolute Y coordiante.
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_GRAPHIC = device_creator<sms_graphic_device>;
+DEFINE_DEVICE_TYPE(SMS_GRAPHIC, sms_graphic_device, "sms_graphic", "Sega SMS Graphic Board")
static INPUT_PORTS_START( sms_graphic )
@@ -77,7 +77,7 @@ ioport_constructor sms_graphic_device::device_input_ports() const
//-------------------------------------------------
sms_graphic_device::sms_graphic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SMS_GRAPHIC, "Sega SMS Graphic Board", tag, owner, clock, "sms_graphic", __FILE__)
+ : device_t(mconfig, SMS_GRAPHIC, tag, owner, clock)
, device_sms_control_port_interface(mconfig, *this)
, m_buttons(*this, "BUTTONS")
, m_x(*this, "X")
diff --git a/src/devices/bus/sms_ctrl/graphic.h b/src/devices/bus/sms_ctrl/graphic.h
index 921e96b75d6..036f4660033 100644
--- a/src/devices/bus/sms_ctrl/graphic.h
+++ b/src/devices/bus/sms_ctrl/graphic.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_CTRL_GRAPHIC_H
+#define MAME_BUS_SMS_CTRL_GRAPHIC_H
-#ifndef __SMS_GRAPHIC__
-#define __SMS_GRAPHIC__
+#pragma once
#include "smsctrl.h"
@@ -52,7 +52,7 @@ private:
// device type definition
-extern const device_type SMS_GRAPHIC;
+DECLARE_DEVICE_TYPE(SMS_GRAPHIC, sms_graphic_device)
-#endif
+#endif // MAME_BUS_SMS_CTRL_GRAPHIC_H
diff --git a/src/devices/bus/sms_ctrl/joypad.cpp b/src/devices/bus/sms_ctrl/joypad.cpp
index 2de1d1b13df..4cd664a952e 100644
--- a/src/devices/bus/sms_ctrl/joypad.cpp
+++ b/src/devices/bus/sms_ctrl/joypad.cpp
@@ -30,7 +30,7 @@ Release data from the Sega Retro project:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_JOYPAD = device_creator<sms_joypad_device>;
+DEFINE_DEVICE_TYPE(SMS_JOYPAD, sms_joypad_device, "sms_joypad", "Sega SMS Control Pad")
static INPUT_PORTS_START( sms_joypad )
@@ -66,7 +66,7 @@ ioport_constructor sms_joypad_device::device_input_ports() const
//-------------------------------------------------
sms_joypad_device::sms_joypad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_JOYPAD, "Sega SMS Control Pad", tag, owner, clock, "sms_joypad", __FILE__),
+ device_t(mconfig, SMS_JOYPAD, tag, owner, clock),
device_sms_control_port_interface(mconfig, *this),
m_joypad(*this, "JOYPAD")
{
diff --git a/src/devices/bus/sms_ctrl/joypad.h b/src/devices/bus/sms_ctrl/joypad.h
index 10bff08c5b0..60b4fe9f4c0 100644
--- a/src/devices/bus/sms_ctrl/joypad.h
+++ b/src/devices/bus/sms_ctrl/joypad.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_CTRL_JOYPAD_H
+#define MAME_BUS_SMS_CTRL_JOYPAD_H
-#ifndef __SMS_JOYPAD__
-#define __SMS_JOYPAD__
+#pragma once
#include "smsctrl.h"
@@ -45,7 +45,7 @@ private:
// device type definition
-extern const device_type SMS_JOYPAD;
+DECLARE_DEVICE_TYPE(SMS_JOYPAD, sms_joypad_device)
-#endif
+#endif // MAME_BUS_SMS_CTRL_JOYPAD_H
diff --git a/src/devices/bus/sms_ctrl/lphaser.cpp b/src/devices/bus/sms_ctrl/lphaser.cpp
index a6fec3a798f..264f74151a1 100644
--- a/src/devices/bus/sms_ctrl/lphaser.cpp
+++ b/src/devices/bus/sms_ctrl/lphaser.cpp
@@ -29,7 +29,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_LIGHT_PHASER = device_creator<sms_light_phaser_device>;
+DEFINE_DEVICE_TYPE(SMS_LIGHT_PHASER, sms_light_phaser_device, "sms_light_phaser", "Sega SMS Light Phaser")
#define LGUN_RADIUS 6
@@ -84,7 +84,7 @@ ioport_constructor sms_light_phaser_device::device_input_ports() const
//-------------------------------------------------
sms_light_phaser_device::sms_light_phaser_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_LIGHT_PHASER, "Sega SMS Light Phaser", tag, owner, clock, "sms_light_phaser", __FILE__),
+ device_t(mconfig, SMS_LIGHT_PHASER, tag, owner, clock),
device_video_interface(mconfig, *this),
device_sms_control_port_interface(mconfig, *this),
m_lphaser_pins(*this, "CTRL_PORT"),
diff --git a/src/devices/bus/sms_ctrl/lphaser.h b/src/devices/bus/sms_ctrl/lphaser.h
index 8d25f9fe34f..c9d145f861b 100644
--- a/src/devices/bus/sms_ctrl/lphaser.h
+++ b/src/devices/bus/sms_ctrl/lphaser.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_CTRL_LPHASER_H
+#define MAME_BUS_SMS_CTRL_LPHASER_H
-#ifndef __SMS_LIGHT_PHASER__
-#define __SMS_LIGHT_PHASER__
+#pragma once
#include "smsctrl.h"
@@ -62,7 +62,7 @@ private:
// device type definition
-extern const device_type SMS_LIGHT_PHASER;
+DECLARE_DEVICE_TYPE(SMS_LIGHT_PHASER, sms_light_phaser_device)
-#endif
+#endif // MAME_BUS_SMS_CTRL_LPHASER_H
diff --git a/src/devices/bus/sms_ctrl/multitap.cpp b/src/devices/bus/sms_ctrl/multitap.cpp
index 355b05ffb46..b85207c0695 100644
--- a/src/devices/bus/sms_ctrl/multitap.cpp
+++ b/src/devices/bus/sms_ctrl/multitap.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_MULTITAP = device_creator<sms_multitap_device>;
+DEFINE_DEVICE_TYPE(SMS_MULTITAP, sms_multitap_device, "sms_multitap", "Sega SMS Multitap")
//**************************************************************************
@@ -29,7 +29,7 @@ const device_type SMS_MULTITAP = device_creator<sms_multitap_device>;
//-------------------------------------------------
sms_multitap_device::sms_multitap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_MULTITAP, "Sega SMS Multitap", tag, owner, clock, "sms_multitap", __FILE__),
+ device_t(mconfig, SMS_MULTITAP, tag, owner, clock),
device_sms_control_port_interface(mconfig, *this),
m_subctrl1_port(*this, "ctrl1"),
m_subctrl2_port(*this, "ctrl2"),
@@ -49,11 +49,6 @@ void sms_multitap_device::device_start()
{
save_item(NAME(m_read_state));
save_item(NAME(m_last_data));
-
- m_subctrl1_port->device_start();
- m_subctrl2_port->device_start();
- m_subctrl3_port->device_start();
- m_subctrl4_port->device_start();
}
diff --git a/src/devices/bus/sms_ctrl/multitap.h b/src/devices/bus/sms_ctrl/multitap.h
index 534d2f7ccf9..ad57e269237 100644
--- a/src/devices/bus/sms_ctrl/multitap.h
+++ b/src/devices/bus/sms_ctrl/multitap.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_CTRL_MULTITAP_H
+#define MAME_BUS_SMS_CTRL_MULTITAP_H
-#ifndef __SMS_MULTITAP__
-#define __SMS_MULTITAP__
+#pragma once
#include "smsctrl.h"
@@ -52,7 +52,7 @@ private:
// device type definition
-extern const device_type SMS_MULTITAP;
+DECLARE_DEVICE_TYPE(SMS_MULTITAP, sms_multitap_device)
-#endif
+#endif // MAME_BUS_SMS_CTRL_MULTITAP_H
diff --git a/src/devices/bus/sms_ctrl/paddle.cpp b/src/devices/bus/sms_ctrl/paddle.cpp
index dbda3fe9740..f19da195186 100644
--- a/src/devices/bus/sms_ctrl/paddle.cpp
+++ b/src/devices/bus/sms_ctrl/paddle.cpp
@@ -32,7 +32,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_PADDLE = device_creator<sms_paddle_device>;
+DEFINE_DEVICE_TYPE(SMS_PADDLE, sms_paddle_device, "sms_paddle", "Sega SMS Paddle")
// time interval not verified
// Player 2 of Galactic Protector is the most sensible to this timming.
@@ -91,7 +91,7 @@ ioport_constructor sms_paddle_device::device_input_ports() const
//-------------------------------------------------
sms_paddle_device::sms_paddle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_PADDLE, "Sega SMS Paddle", tag, owner, clock, "sms_paddle", __FILE__),
+ device_t(mconfig, SMS_PADDLE, tag, owner, clock),
device_sms_control_port_interface(mconfig, *this),
m_paddle_pins(*this, "CTRL_PORT"),
m_paddle_x(*this, "PADDLE_X"),
diff --git a/src/devices/bus/sms_ctrl/paddle.h b/src/devices/bus/sms_ctrl/paddle.h
index 12134943208..5c302e6b71e 100644
--- a/src/devices/bus/sms_ctrl/paddle.h
+++ b/src/devices/bus/sms_ctrl/paddle.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_CTRL_PADDLE_H
+#define MAME_BUS_SMS_CTRL_PADDLE_H
-#ifndef __SMS_PADDLE__
-#define __SMS_PADDLE__
+#pragma once
#include "smsctrl.h"
@@ -56,4 +56,4 @@ private:
extern const device_type SMS_PADDLE;
-#endif
+#endif // MAME_BUS_SMS_CTRL_PADDLE_H
diff --git a/src/devices/bus/sms_ctrl/rfu.cpp b/src/devices/bus/sms_ctrl/rfu.cpp
index 434995a6fa7..125c0f5caf6 100644
--- a/src/devices/bus/sms_ctrl/rfu.cpp
+++ b/src/devices/bus/sms_ctrl/rfu.cpp
@@ -28,7 +28,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_RAPID_FIRE = device_creator<sms_rapid_fire_device>;
+DEFINE_DEVICE_TYPE(SMS_RAPID_FIRE, sms_rapid_fire_device, "sms_rapid_fire", "Sega SMS Rapid Fire Unit")
// time interval not verified
#define RAPID_FIRE_INTERVAL attotime::from_hz(10)
@@ -64,7 +64,7 @@ ioport_constructor sms_rapid_fire_device::device_input_ports() const
//-------------------------------------------------
sms_rapid_fire_device::sms_rapid_fire_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_RAPID_FIRE, "Sega SMS Rapid Fire", tag, owner, clock, "sms_rapid_fire", __FILE__),
+ device_t(mconfig, SMS_RAPID_FIRE, tag, owner, clock),
device_sms_control_port_interface(mconfig, *this),
m_rfire_sw(*this, "rfu_sw"),
m_subctrl_port(*this, "ctrl"),
@@ -84,8 +84,6 @@ void sms_rapid_fire_device::device_start()
save_item(NAME(m_start_time));
save_item(NAME(m_read_state));
-
- m_subctrl_port->device_start();
}
diff --git a/src/devices/bus/sms_ctrl/rfu.h b/src/devices/bus/sms_ctrl/rfu.h
index 32ae2d9b554..d40259aea09 100644
--- a/src/devices/bus/sms_ctrl/rfu.h
+++ b/src/devices/bus/sms_ctrl/rfu.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_CTRL_RFU_H
+#define MAME_BUS_SMS_CTRL_RFU_H
-#ifndef __SMS_RAPID_FIRE__
-#define __SMS_RAPID_FIRE__
+#pragma once
#include "smsctrl.h"
@@ -55,7 +55,7 @@ private:
// device type definition
-extern const device_type SMS_RAPID_FIRE;
+DECLARE_DEVICE_TYPE(SMS_RAPID_FIRE, sms_rapid_fire_device)
-#endif
+#endif // MAME_BUS_SMS_CTRL_RFU_H
diff --git a/src/devices/bus/sms_ctrl/smsctrl.cpp b/src/devices/bus/sms_ctrl/smsctrl.cpp
index 0967ae723c3..6d760f9bf93 100644
--- a/src/devices/bus/sms_ctrl/smsctrl.cpp
+++ b/src/devices/bus/sms_ctrl/smsctrl.cpp
@@ -8,6 +8,7 @@
#include "emu.h"
#include "smsctrl.h"
+
// slot devices
#include "joypad.h"
#include "lphaser.h"
@@ -24,7 +25,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SMS_CONTROL_PORT = device_creator<sms_control_port_device>;
+DEFINE_DEVICE_TYPE(SMS_CONTROL_PORT, sms_control_port_device, "sms_control_port", "Sega SMS controller port")
@@ -62,10 +63,11 @@ device_sms_control_port_interface::~device_sms_control_port_interface()
//-------------------------------------------------
sms_control_port_device::sms_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_CONTROL_PORT, "Sega SMS control port", tag, owner, clock, "sms_control_port", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr),
- m_th_pin_handler(*this),
- m_pixel_handler(*this)
+ device_t(mconfig, SMS_CONTROL_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_device(nullptr),
+ m_th_pin_handler(*this),
+ m_pixel_handler(*this)
{
}
diff --git a/src/devices/bus/sms_ctrl/smsctrl.h b/src/devices/bus/sms_ctrl/smsctrl.h
index 457f758391b..f1dd5404408 100644
--- a/src/devices/bus/sms_ctrl/smsctrl.h
+++ b/src/devices/bus/sms_ctrl/smsctrl.h
@@ -9,12 +9,10 @@
**********************************************************************/
-#pragma once
-
-#ifndef __SMS_CONTROL_PORT__
-#define __SMS_CONTROL_PORT__
-
+#ifndef MAME_BUS_SMS_CTRL_SMSCTRL_H
+#define MAME_BUS_SMS_CTRL_SMSCTRL_H
+#pragma once
//**************************************************************************
@@ -54,9 +52,9 @@ public:
virtual ~sms_control_port_device();
// static configuration helpers
- template<class _Object> static devcb_base &set_th_input_handler(device_t &device, _Object object) { return downcast<sms_control_port_device &>(device).m_th_pin_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_th_input_handler(device_t &device, Object &&cb) { return downcast<sms_control_port_device &>(device).m_th_pin_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_pixel_handler(device_t &device, _Object object) { return downcast<sms_control_port_device &>(device).m_pixel_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_pixel_handler(device_t &device, Object &&cb) { return downcast<sms_control_port_device &>(device).m_pixel_handler.set_callback(std::forward<Object>(cb)); }
// Physical DE-9 connector interface
@@ -77,7 +75,7 @@ public:
void th_pin_w(int state);
uint32_t pixel_r();
-//protected:
+protected:
// device-level overrides
virtual void device_start() override;
@@ -96,22 +94,23 @@ class device_sms_control_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_sms_control_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_sms_control_port_interface();
- virtual uint8_t peripheral_r() { return 0xff; };
- virtual void peripheral_w(uint8_t data) { };
+ virtual uint8_t peripheral_r() { return 0xff; }
+ virtual void peripheral_w(uint8_t data) { }
protected:
+ device_sms_control_port_interface(const machine_config &mconfig, device_t &device);
+
sms_control_port_device *m_port;
};
// device type definition
-extern const device_type SMS_CONTROL_PORT;
+DECLARE_DEVICE_TYPE(SMS_CONTROL_PORT, sms_control_port_device)
SLOT_INTERFACE_EXTERN( sms_control_port_devices );
-#endif
+#endif // MAME_BUS_SMS_CTRL_SMSCTRL_H
diff --git a/src/devices/bus/sms_ctrl/sports.cpp b/src/devices/bus/sms_ctrl/sports.cpp
index 02e2f614bdc..cd814ff14cc 100644
--- a/src/devices/bus/sms_ctrl/sports.cpp
+++ b/src/devices/bus/sms_ctrl/sports.cpp
@@ -47,7 +47,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_SPORTS_PAD = device_creator<sms_sports_pad_device>;
+DEFINE_DEVICE_TYPE(SMS_SPORTS_PAD, sms_sports_pad_device, "sms_sports_pad", "Sega SMS Sports Pad (US)")
// time interval not verified
#define SPORTS_PAD_INTERVAL attotime::from_hz(XTAL_10_738635MHz/3/512)
@@ -161,7 +161,7 @@ ioport_constructor sms_sports_pad_device::device_input_ports() const
//-------------------------------------------------
sms_sports_pad_device::sms_sports_pad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_SPORTS_PAD, "Sega SMS Sports Pad US", tag, owner, clock, "sms_sports_pad", __FILE__),
+ device_t(mconfig, SMS_SPORTS_PAD, tag, owner, clock),
device_sms_control_port_interface(mconfig, *this),
m_sports_in(*this, "SPORTS_IN"),
m_sports_out(*this, "SPORTS_OUT"),
@@ -171,7 +171,8 @@ sms_sports_pad_device::sms_sports_pad_device(const machine_config &mconfig, cons
m_th_pin_state(0),
m_x_axis_reset_value(0x80), // value 0x80 helps when start playing paddle games.
m_y_axis_reset_value(0x80),
- m_interval(SPORTS_PAD_INTERVAL), m_sportspad_timer(nullptr)
+ m_interval(SPORTS_PAD_INTERVAL),
+ m_sportspad_timer(nullptr)
{
}
diff --git a/src/devices/bus/sms_ctrl/sports.h b/src/devices/bus/sms_ctrl/sports.h
index bad15dc1ec0..6644541f36a 100644
--- a/src/devices/bus/sms_ctrl/sports.h
+++ b/src/devices/bus/sms_ctrl/sports.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_CTRL_SPORTS_H
+#define MAME_BUS_SMS_CTRL_SPORTS_H
-#ifndef __SMS_SPORTS_PAD__
-#define __SMS_SPORTS_PAD__
+#pragma once
#include "smsctrl.h"
@@ -63,7 +63,7 @@ private:
// device type definition
-extern const device_type SMS_SPORTS_PAD;
+DECLARE_DEVICE_TYPE(SMS_SPORTS_PAD, sms_sports_pad_device)
-#endif
+#endif // MAME_BUS_SMS_CTRL_SPORTS_H
diff --git a/src/devices/bus/sms_ctrl/sportsjp.cpp b/src/devices/bus/sms_ctrl/sportsjp.cpp
index 9cf326009fa..62903aac179 100644
--- a/src/devices/bus/sms_ctrl/sportsjp.cpp
+++ b/src/devices/bus/sms_ctrl/sportsjp.cpp
@@ -50,7 +50,7 @@ Notes:
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_SPORTS_PAD_JP = device_creator<sms_sports_pad_jp_device>;
+DEFINE_DEVICE_TYPE(SMS_SPORTS_PAD_JP, sms_sports_pad_jp_device, "sms_sports_pad_jp", "Sega SMS Sports Pad (JP)")
// time interval not verified
#define SPORTS_PAD_JP_INTERVAL attotime::from_hz(20000)
@@ -104,7 +104,7 @@ ioport_constructor sms_sports_pad_jp_device::device_input_ports() const
//-------------------------------------------------
sms_sports_pad_jp_device::sms_sports_pad_jp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_SPORTS_PAD_JP, "Sega SMS Sports Pad JP", tag, owner, clock, "sms_sports_pad_jp", __FILE__),
+ device_t(mconfig, SMS_SPORTS_PAD_JP, tag, owner, clock),
device_sms_control_port_interface(mconfig, *this),
m_sports_jp_in(*this, "SPORTS_JP_IN"),
m_sports_jp_bt(*this, "SPORTS_JP_BT"),
diff --git a/src/devices/bus/sms_ctrl/sportsjp.h b/src/devices/bus/sms_ctrl/sportsjp.h
index 76b5697fbfc..92ee2ccd70c 100644
--- a/src/devices/bus/sms_ctrl/sportsjp.h
+++ b/src/devices/bus/sms_ctrl/sportsjp.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_CTROL_SPORTSJP_H
+#define MAME_BUS_SMS_CTROL_SPORTSJP_H
-#ifndef __SMS_SPORTS_PAD_JP__
-#define __SMS_SPORTS_PAD_JP__
+#pragma once
#include "smsctrl.h"
@@ -58,7 +58,7 @@ private:
// device type definition
-extern const device_type SMS_SPORTS_PAD_JP;
+DECLARE_DEVICE_TYPE(SMS_SPORTS_PAD_JP, sms_sports_pad_jp_device)
-#endif
+#endif // MAME_BUS_SMS_CTROL_SPORTSJP_H
diff --git a/src/devices/bus/sms_exp/gender.cpp b/src/devices/bus/sms_exp/gender.cpp
index 0b1356db592..77dd7970de9 100644
--- a/src/devices/bus/sms_exp/gender.cpp
+++ b/src/devices/bus/sms_exp/gender.cpp
@@ -22,7 +22,7 @@ real hardware, when run plugged-in to the SMS expansion slot.
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SMS_GENDER_ADAPTER = device_creator<sms_gender_adapter_device>;
+DEFINE_DEVICE_TYPE(SMS_GENDER_ADAPTER, sms_gender_adapter_device, "sms_gender_adapter", "SMSPower Gender Adapter")
@@ -35,7 +35,7 @@ const device_type SMS_GENDER_ADAPTER = device_creator<sms_gender_adapter_device>
//-------------------------------------------------
sms_gender_adapter_device::sms_gender_adapter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_GENDER_ADAPTER, "Gender Adapter", tag, owner, clock, "sms_gender_adapter", __FILE__),
+ device_t(mconfig, SMS_GENDER_ADAPTER, tag, owner, clock),
device_sms_expansion_slot_interface(mconfig, *this),
m_subslot(*this, "subslot")
{
@@ -48,8 +48,7 @@ sms_gender_adapter_device::sms_gender_adapter_device(const machine_config &mconf
void sms_gender_adapter_device::device_start()
{
- if (m_subslot->m_cart)
- m_subslot->m_cart->save_ram();
+ m_subslot->save_ram();
}
@@ -69,10 +68,7 @@ READ8_MEMBER(sms_gender_adapter_device::read_ram)
int sms_gender_adapter_device::get_lphaser_xoffs()
{
- if (m_subslot->m_cart)
- return m_subslot->m_cart->get_lphaser_xoffs();
- else
- return 0;
+ return m_subslot->get_lphaser_xoffs();
}
diff --git a/src/devices/bus/sms_exp/gender.h b/src/devices/bus/sms_exp/gender.h
index 431b356a7d2..8fb3175d18a 100644
--- a/src/devices/bus/sms_exp/gender.h
+++ b/src/devices/bus/sms_exp/gender.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_EXP_GENDER_H
+#define MAME_BUS_SMS_EXP_GENDER_H
-#ifndef __SMS_GENDER_ADAPTER__
-#define __SMS_GENDER_ADAPTER__
+#pragma once
#include "smsexp.h"
@@ -50,7 +50,6 @@ private:
// device type definition
-extern const device_type SMS_GENDER_ADAPTER;
-
+DECLARE_DEVICE_TYPE(SMS_GENDER_ADAPTER, sms_gender_adapter_device)
-#endif
+#endif // MAME_BUS_SMS_EXP_GENDER_H
diff --git a/src/devices/bus/sms_exp/smsexp.cpp b/src/devices/bus/sms_exp/smsexp.cpp
index 12e4ebcc48d..89cdf8083a8 100644
--- a/src/devices/bus/sms_exp/smsexp.cpp
+++ b/src/devices/bus/sms_exp/smsexp.cpp
@@ -9,13 +9,17 @@
#include "emu.h"
#include "smsexp.h"
+// slot devices
+#include "gender.h"
+
+
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SMS_EXPANSION_SLOT = device_creator<sms_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(SMS_EXPANSION_SLOT, sms_expansion_slot_device, "sms_expansion_slot", "Sega SMS expansion slot")
@@ -52,8 +56,9 @@ device_sms_expansion_slot_interface::~device_sms_expansion_slot_interface()
//-------------------------------------------------
sms_expansion_slot_device::sms_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SMS_EXPANSION_SLOT, "Sega SMS expansion slot", tag, owner, clock, "sms_expansion_slot", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, SMS_EXPANSION_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_device(nullptr)
{
}
@@ -78,58 +83,6 @@ void sms_expansion_slot_device::device_start()
//-------------------------------------------------
-// read
-//-------------------------------------------------
-
-READ8_MEMBER(sms_expansion_slot_device::read)
-{
- if (m_device)
- return m_device->read(space, offset);
- else
- return 0xff;
-}
-
-READ8_MEMBER(sms_expansion_slot_device::read_ram)
-{
- if (m_device)
- return m_device->read_ram(space, offset);
- else
- return 0xff;
-}
-
-int sms_expansion_slot_device::get_lphaser_xoffs()
-{
- if (m_device)
- return m_device->get_lphaser_xoffs();
- else
- return 0;
-}
-
-
-//-------------------------------------------------
-// write
-//-------------------------------------------------
-
-WRITE8_MEMBER(sms_expansion_slot_device::write_mapper)
-{
- if (m_device)
- m_device->write_mapper(space, offset, data);
-}
-
-WRITE8_MEMBER(sms_expansion_slot_device::write)
-{
- if (m_device)
- m_device->write(space, offset, data);
-}
-
-WRITE8_MEMBER(sms_expansion_slot_device::write_ram)
-{
- if (m_device)
- m_device->write_ram(space, offset, data);
-}
-
-
-//-------------------------------------------------
// SLOT_INTERFACE( sms_expansion_devices )
//-------------------------------------------------
diff --git a/src/devices/bus/sms_exp/smsexp.h b/src/devices/bus/sms_exp/smsexp.h
index 6203380fc2f..5ea8a344384 100644
--- a/src/devices/bus/sms_exp/smsexp.h
+++ b/src/devices/bus/sms_exp/smsexp.h
@@ -9,10 +9,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SMS_EXP_SMSEXP_H
+#define MAME_BUS_SMS_EXP_SMSEXP_H
-#ifndef __SMS_EXPANSION_SLOT__
-#define __SMS_EXPANSION_SLOT__
+#pragma once
@@ -31,64 +31,63 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> sms_expansion_slot_device
-
-class device_sms_expansion_slot_interface;
+// ======================> device_sms_expansion_slot_interface
-class sms_expansion_slot_device : public device_t,
- public device_slot_interface
+// class representing interface-specific live sms_expansion card
+class device_sms_expansion_slot_interface : public device_slot_card_interface
{
public:
// construction/destruction
- sms_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~sms_expansion_slot_device();
+ virtual ~device_sms_expansion_slot_interface();
// reading and writing
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
- DECLARE_WRITE8_MEMBER(write_mapper);
- DECLARE_READ8_MEMBER(read_ram);
- DECLARE_WRITE8_MEMBER(write_ram);
+ virtual DECLARE_READ8_MEMBER(read) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write) { }
+ virtual DECLARE_WRITE8_MEMBER(write_mapper) { }
+ virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER(write_ram) { }
- int get_lphaser_xoffs();
-
- device_sms_expansion_slot_interface *m_device;
+ virtual int get_lphaser_xoffs() { return 0; }
protected:
- // device-level overrides
- virtual void device_start() override;
+ device_sms_expansion_slot_interface(const machine_config &mconfig, device_t &device);
};
-// ======================> device_sms_expansion_slot_interface
+// ======================> sms_expansion_slot_device
-// class representing interface-specific live sms_expansion card
-class device_sms_expansion_slot_interface : public device_slot_card_interface
+class sms_expansion_slot_device : public device_t,
+ public device_slot_interface
{
public:
// construction/destruction
- device_sms_expansion_slot_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_sms_expansion_slot_interface();
+ sms_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~sms_expansion_slot_device();
// reading and writing
- virtual DECLARE_READ8_MEMBER(read) { return 0xff; };
- virtual DECLARE_WRITE8_MEMBER(write) { };
- virtual DECLARE_WRITE8_MEMBER(write_mapper) {};
- virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; };
- virtual DECLARE_WRITE8_MEMBER(write_ram) { };
+ DECLARE_READ8_MEMBER(read) { return m_device ? m_device->read(space, offset, mem_mask) : 0xff; }
+ DECLARE_WRITE8_MEMBER(write) { if (m_device) m_device->write(space, offset, data, mem_mask); }
+ DECLARE_WRITE8_MEMBER(write_mapper) { if (m_device) m_device->write_mapper(space, offset, data, mem_mask); }
+ DECLARE_READ8_MEMBER(read_ram) { return m_device ? m_device->read_ram(space, offset, mem_mask) : 0xff; }
+ DECLARE_WRITE8_MEMBER(write_ram) { if (m_device) m_device->write_ram(space, offset, data, mem_mask); }
- virtual int get_lphaser_xoffs() { return 0; };
+ int get_lphaser_xoffs() { return m_device ? m_device->get_lphaser_xoffs() : 0; }
+
+ bool device_present() const { return bool(m_device); }
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
+ device_sms_expansion_slot_interface *m_device;
};
// device type definition
-extern const device_type SMS_EXPANSION_SLOT;
-
+DECLARE_DEVICE_TYPE(SMS_EXPANSION_SLOT, sms_expansion_slot_device)
-// slot devices
-#include "gender.h"
SLOT_INTERFACE_EXTERN( sms_expansion_devices );
-#endif
+#endif // MAME_BUS_SMS_EXP_SMSEXP_H
diff --git a/src/devices/bus/snes/bsx.cpp b/src/devices/bus/snes/bsx.cpp
index a81aeac02b6..984d0a04f45 100644
--- a/src/devices/bus/snes/bsx.cpp
+++ b/src/devices/bus/snes/bsx.cpp
@@ -18,59 +18,52 @@
// sns_rom_bsx_device - constructor
//-------------------------------------------------
-const device_type SNS_ROM_BSX = device_creator<sns_rom_bsx_device>;
-const device_type SNS_LOROM_BSX = device_creator<sns_rom_bsxlo_device>;
-const device_type SNS_HIROM_BSX = device_creator<sns_rom_bsxhi_device>;
-const device_type SNS_BSMEMPAK = device_creator<sns_rom_bsmempak_device>;
-
-
-sns_rom_bsx_device::sns_rom_bsx_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : sns_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_base_unit(nullptr),
- access_00_1f(0),
- access_80_9f(0),
- access_40_4f(0),
- access_50_5f(0),
- access_60_6f(0),
- rom_access(0),
- m_slot(*this, "bs_slot")
+DEFINE_DEVICE_TYPE(SNS_ROM_BSX, sns_rom_bsx_device, "sns_rom_bsx", "SNES BS-X Cart")
+DEFINE_DEVICE_TYPE(SNS_LOROM_BSX, sns_rom_bsxlo_device, "sns_rom_bsxlo", "SNES Cart (LoROM) + BS-X slot")
+DEFINE_DEVICE_TYPE(SNS_HIROM_BSX, sns_rom_bsxhi_device, "sns_rom_bsxhi", "SNES Cart (HiROM) + BS-X slot")
+DEFINE_DEVICE_TYPE(SNS_BSMEMPAK, sns_rom_bsmempak_device, "sns_bsmempak", "SNES BS-X Memory packs")
+
+
+sns_rom_bsx_device::sns_rom_bsx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : sns_rom_device(mconfig, type, tag, owner, clock)
+ , m_base_unit(nullptr)
+ , access_00_1f(0)
+ , access_80_9f(0)
+ , access_40_4f(0)
+ , access_50_5f(0)
+ , access_60_6f(0)
+ , rom_access(0)
+ , m_slot(*this, "bs_slot")
{
}
sns_rom_bsx_device::sns_rom_bsx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_ROM_BSX, "SNES BS-X Cart", tag, owner, clock, "sns_rom_bsx", __FILE__),
- m_base_unit(nullptr),
- access_00_1f(0),
- access_80_9f(0),
- access_40_4f(0),
- access_50_5f(0),
- access_60_6f(0),
- rom_access(0),
- m_slot(*this, "bs_slot")
+ : sns_rom_bsx_device(mconfig, SNS_ROM_BSX, tag, owner, clock)
{
}
sns_rom_bsxlo_device::sns_rom_bsxlo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_BSX, "SNES Cart (LoROM) + BS-X slot", tag, owner, clock, "sns_rom_bsxlo", __FILE__),
- m_slot(*this, "bs_slot")
+ : sns_rom_device(mconfig, SNS_LOROM_BSX, tag, owner, clock)
+ , m_slot(*this, "bs_slot")
{
}
sns_rom_bsxhi_device::sns_rom_bsxhi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom21_device(mconfig, SNS_HIROM_BSX, "SNES Cart (HiROM) + BS-X slot", tag, owner, clock, "sns_rom_bsxhi", __FILE__),
- m_slot(*this, "bs_slot")
+ : sns_rom21_device(mconfig, SNS_HIROM_BSX, tag, owner, clock)
+ , m_slot(*this, "bs_slot")
{
}
sns_rom_bsmempak_device::sns_rom_bsmempak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_BSMEMPAK, "SNES BS-X Memory packs", tag, owner, clock, "sns_bsmempak", __FILE__), m_command(0), m_write_old(0), m_write_new(0), m_flash_enable(0), m_read_enable(0), m_write_enable(0)
- {
+ : sns_rom_device(mconfig, SNS_BSMEMPAK, tag, owner, clock)
+ , m_command(0), m_write_old(0), m_write_new(0), m_flash_enable(0), m_read_enable(0), m_write_enable(0)
+{
}
void sns_rom_bsx_device::device_start()
{
- m_base_unit = std::make_unique<BSX_base>(machine());
+ m_base_unit = std::make_unique<bsx_base>(machine());
m_base_unit->init();
memset(m_cart_regs, 0x00, sizeof(m_cart_regs));
@@ -126,8 +119,8 @@ void sns_rom_bsmempak_device::device_reset()
// BS-X Base Unit emulation, to be device-fied ?
-BSX_base::BSX_base(running_machine &machine)
- : r2192_minute(0), m_machine(machine)
+sns_rom_bsx_device::bsx_base::bsx_base(running_machine &machine)
+ : r2192_minute(0), m_machine(machine)
{
m_machine.save().save_item(regs, "SNES_BSX/regs");
m_machine.save().save_item(r2192_counter, "SNES_BSX/r2192_counter");
@@ -135,9 +128,9 @@ BSX_base::BSX_base(running_machine &machine)
m_machine.save().save_item(r2192_second, "SNES_BSX/r2192_second");
}
-void BSX_base::init()
+void sns_rom_bsx_device::bsx_base::init()
{
- memset(regs, 0x00, sizeof(regs));
+ std::fill(std::begin(regs), std::end(regs), 0);
r2192_counter = 0;
r2192_hour = 0;
r2192_minute = 0;
@@ -145,7 +138,7 @@ void BSX_base::init()
}
-uint8_t BSX_base::read(uint32_t offset)
+uint8_t sns_rom_bsx_device::bsx_base::read(uint32_t offset)
{
offset &= 0xffff;
if (offset < 0x2188 || offset >= 0x21a0)
@@ -207,7 +200,7 @@ uint8_t BSX_base::read(uint32_t offset)
}
-void BSX_base::write(uint32_t offset, uint8_t data)
+void sns_rom_bsx_device::bsx_base::write(uint32_t offset, uint8_t data)
{
offset &= 0xffff;
if (offset < 0x2188 || offset >= 0x21a0)
diff --git a/src/devices/bus/snes/bsx.h b/src/devices/bus/snes/bsx.h
index 677b81808dc..926959a7b32 100644
--- a/src/devices/bus/snes/bsx.h
+++ b/src/devices/bus/snes/bsx.h
@@ -1,45 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_BSX_H
-#define __SNS_BSX_H
+#ifndef MAME_BUS_SNES_BSX_H
+#define MAME_BUS_SNES_BSX_H
+
+#pragma once
#include "snes_slot.h"
#include "rom.h"
#include "rom21.h"
-class BSX_base
-{
-public:
- BSX_base(running_machine &machine);
- running_machine &machine() const { return m_machine; }
-
- void init();
- uint8_t read(uint32_t offset);
- void write(uint32_t offset, uint8_t data);
-
-private:
- // regs
- uint8_t regs[0x18]; // 0x2188-0x219f
-
- // counter + clock
- uint8_t r2192_counter;
- uint8_t r2192_hour, r2192_minute, r2192_second;
-
- running_machine& m_machine;
-};
-
// ======================> sns_rom_bsx_device
class sns_rom_bsx_device : public sns_rom_device
{
public:
// construction/destruction
- sns_rom_bsx_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
sns_rom_bsx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// additional reading and writing
@@ -50,8 +27,38 @@ public:
virtual DECLARE_READ8_MEMBER(chip_read) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override;
+protected:
+ class bsx_base
+ {
+ public:
+ bsx_base(running_machine &machine);
+ running_machine &machine() const { return m_machine; }
+
+ void init();
+ uint8_t read(uint32_t offset);
+ void write(uint32_t offset, uint8_t data);
+
+ private:
+ // regs
+ uint8_t regs[0x18]; // 0x2188-0x219f
+
+ // counter + clock
+ uint8_t r2192_counter;
+ uint8_t r2192_hour, r2192_minute, r2192_second;
+
+ running_machine& m_machine;
+ };
+
+ sns_rom_bsx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ void access_update();
+
// base regs
- std::unique_ptr<BSX_base> m_base_unit;
+ std::unique_ptr<bsx_base> m_base_unit;
// cart regs
uint8_t m_cart_regs[16];
@@ -61,8 +68,6 @@ public:
uint8_t access_50_5f; // 1 = NOTHING, 0 = PRAM
uint8_t access_60_6f; // 1 = PRAM, 0 = NOTHING
uint8_t rom_access; // 2 = HiROM, 1 = LoROM, 0 = PRAM
- void access_update();
-
uint8_t m_pram[0x80000];
@@ -78,14 +83,16 @@ public:
// construction/destruction
sns_rom_bsxlo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// additional reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
required_device<sns_bsx_cart_slot_device> m_slot;
};
@@ -98,14 +105,16 @@ public:
// construction/destruction
sns_rom_bsxhi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// additional reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
required_device<sns_bsx_cart_slot_device> m_slot;
};
@@ -119,10 +128,6 @@ public:
// construction/destruction
sns_rom_bsmempak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// additional reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
@@ -131,6 +136,11 @@ public:
// virtual DECLARE_READ8_MEMBER(chip_read);
// virtual DECLARE_WRITE8_MEMBER(chip_write);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
// flash regs
uint32_t m_command;
uint8_t m_write_old;
@@ -143,9 +153,9 @@ public:
// device type definition
-extern const device_type SNS_ROM_BSX;
-extern const device_type SNS_LOROM_BSX;
-extern const device_type SNS_HIROM_BSX;
-extern const device_type SNS_BSMEMPAK;
+DECLARE_DEVICE_TYPE(SNS_ROM_BSX, sns_rom_bsx_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_BSX, sns_rom_bsxlo_device)
+DECLARE_DEVICE_TYPE(SNS_HIROM_BSX, sns_rom_bsxhi_device)
+DECLARE_DEVICE_TYPE(SNS_BSMEMPAK, sns_rom_bsmempak_device)
-#endif
+#endif // MAME_BUS_SNES_BSX_H
diff --git a/src/devices/bus/snes/event.cpp b/src/devices/bus/snes/event.cpp
index 6b65443ab11..9d87ac8c72e 100644
--- a/src/devices/bus/snes/event.cpp
+++ b/src/devices/bus/snes/event.cpp
@@ -17,19 +17,19 @@
// sns_rom_device - constructor
//-------------------------------------------------
-const device_type SNS_PFEST94 = device_creator<sns_pfest94_device>;
+DEFINE_DEVICE_TYPE(SNS_PFEST94, sns_pfest94_device, "sns_pfest94", "SNES Powerfest '94")
sns_pfest94_device::sns_pfest94_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SNS_PFEST94, "SNES Powerfest '94", tag, owner, clock, "sns_pfest94", __FILE__),
- device_sns_cart_interface(mconfig, *this),
- m_upd7725(*this, "dsp"),
- m_dsw(*this, "DIPSW"),
- m_base_bank(0),
- m_mask(0),
- m_status(0),
- m_count(0),
- pfest94_timer(nullptr)
+ : device_t(mconfig, SNS_PFEST94, tag, owner, clock)
+ , device_sns_cart_interface(mconfig, *this)
+ , m_upd7725(*this, "dsp")
+ , m_dsw(*this, "DIPSW")
+ , m_base_bank(0)
+ , m_mask(0)
+ , m_status(0)
+ , m_count(0)
+ , pfest94_timer(nullptr)
{
}
diff --git a/src/devices/bus/snes/event.h b/src/devices/bus/snes/event.h
index 4703ed9b2cf..dc20096ef67 100644
--- a/src/devices/bus/snes/event.h
+++ b/src/devices/bus/snes/event.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_EVENT_H
-#define __SNS_EVENT_H
+#ifndef MAME_BUS_SNES_EVENT_H
+#define MAME_BUS_SNES_EVENT_H
+
+#pragma once
#include "snes_slot.h"
#include "cpu/upd7725/upd7725.h"
@@ -16,16 +18,10 @@ public:
// construction/destruction
sns_pfest94_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
- required_device<upd7725_device> m_upd7725;
- required_ioport m_dsw;
-
virtual void speedup_addon_bios_access() override;
// reading and writing
@@ -37,6 +33,16 @@ public:
virtual DECLARE_READ32_MEMBER(necdsp_prg_r);
virtual DECLARE_READ16_MEMBER(necdsp_data_r);
+protected:
+ static constexpr device_timer_id TIMER_EVENT = 0;
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ required_device<upd7725_device> m_upd7725;
+ required_ioport m_dsw;
+
private:
uint8_t m_base_bank;
uint8_t m_mask;
@@ -46,12 +52,11 @@ private:
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
- static const device_timer_id TIMER_EVENT = 0;
emu_timer *pfest94_timer;
};
// device type definition
-extern const device_type SNS_PFEST94;
+DECLARE_DEVICE_TYPE(SNS_PFEST94, sns_pfest94_device)
-#endif
+#endif // MAME_BUS_SNES_EVENT_H
diff --git a/src/devices/bus/snes/rom.cpp b/src/devices/bus/snes/rom.cpp
index 9cd44aa7d41..628ab1a212d 100644
--- a/src/devices/bus/snes/rom.cpp
+++ b/src/devices/bus/snes/rom.cpp
@@ -15,79 +15,77 @@
// sns_rom_device - constructor
//-------------------------------------------------
-const device_type SNS_LOROM = device_creator<sns_rom_device>;
-const device_type SNS_LOROM_OBC1 = device_creator<sns_rom_obc1_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM, sns_rom_device, "sns_rom", "SNES Cart (LoROM)")
+DEFINE_DEVICE_TYPE(SNS_LOROM_OBC1, sns_rom_obc1_device, "sns_rom_obc1", "SNES Cart (LoROM) + OBC-1")
// LoROM pirate carts with protection
-const device_type SNS_LOROM_POKEMON = device_creator<sns_rom_pokemon_device>;
-const device_type SNS_LOROM_TEKKEN2 = device_creator<sns_rom_tekken2_device>;
-const device_type SNS_LOROM_SOULBLAD = device_creator<sns_rom_soulblad_device>;
-const device_type SNS_LOROM_BANANA = device_creator<sns_rom_banana_device>;
-const device_type SNS_LOROM_BUGSLIFE = device_creator<sns_rom_bugs_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM_POKEMON, sns_rom_pokemon_device, "sns_rom_pokemon", "SNES Pirate Carts with Protection")
+DEFINE_DEVICE_TYPE(SNS_LOROM_TEKKEN2, sns_rom_tekken2_device, "sns_rom_tekken2", "SNES Tekken 2")
+DEFINE_DEVICE_TYPE(SNS_LOROM_SOULBLAD, sns_rom_soulblad_device, "sns_rom_soulblad", "SNES Sound Blade")
+DEFINE_DEVICE_TYPE(SNS_LOROM_BANANA, sns_rom_banana_device, "sns_rom_banana", "SNES Banana de Pijamas")
+DEFINE_DEVICE_TYPE(SNS_LOROM_BUGSLIFE, sns_rom_bugs_device, "sns_rom_bugslife", "SNES A Bug's Life")
// LoROM pirate multicarts
-const device_type SNS_LOROM_MCPIR1 = device_creator<sns_rom_mcpirate1_device>;
-const device_type SNS_LOROM_MCPIR2 = device_creator<sns_rom_mcpirate2_device>;
-const device_type SNS_LOROM_20COL = device_creator<sns_rom_20col_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM_MCPIR1, sns_rom_mcpirate1_device, "sns_rom_mcpirate1", "SNES Pirate Multigame Carts Type 1")
+DEFINE_DEVICE_TYPE(SNS_LOROM_MCPIR2, sns_rom_mcpirate2_device, "sns_rom_mcpirate2", "SNES Pirate Multigame Carts Type 2")
+DEFINE_DEVICE_TYPE(SNS_LOROM_20COL, sns_rom_20col_device, "sns_rom_20col", "SNES Super 20 Collection")
-sns_rom_device::sns_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_sns_cart_interface( mconfig, *this )
+sns_rom_device::sns_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_sns_cart_interface(mconfig, *this)
{
}
sns_rom_device::sns_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SNS_LOROM, "SNES Cart (LoROM)", tag, owner, clock, "sns_rom", __FILE__),
- device_sns_cart_interface( mconfig, *this )
+ : sns_rom_device(mconfig, SNS_LOROM, tag, owner, clock)
{
}
sns_rom_obc1_device::sns_rom_obc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_OBC1, "SNES Cart (LoROM) + OBC-1", tag, owner, clock, "sns_rom_obc1", __FILE__), m_address(0), m_offset(0), m_shift(0)
- {
+ : sns_rom_device(mconfig, SNS_LOROM_OBC1, tag, owner, clock), m_address(0), m_offset(0), m_shift(0)
+{
}
// Pirate LoROM 'mappers'
sns_rom_pokemon_device::sns_rom_pokemon_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_POKEMON, "SNES Pirate Carts with Protection", tag, owner, clock, "sns_rom_pokemon", __FILE__), m_latch(0)
- {
+ : sns_rom_device(mconfig, SNS_LOROM_POKEMON, tag, owner, clock), m_latch(0)
+{
}
sns_rom_tekken2_device::sns_rom_tekken2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_TEKKEN2, "SNES Tekken 2", tag, owner, clock, "sns_rom_tekken2", __FILE__), m_prot(0)
- {
+ : sns_rom_device(mconfig, SNS_LOROM_TEKKEN2, tag, owner, clock), m_prot(0)
+{
}
sns_rom_soulblad_device::sns_rom_soulblad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_SOULBLAD, "SNES Soul Blade", tag, owner, clock, "sns_rom_soulblad", __FILE__)
+ : sns_rom_device(mconfig, SNS_LOROM_SOULBLAD, tag, owner, clock)
{
}
sns_rom_banana_device::sns_rom_banana_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_BANANA, "SNES Banana de Pijamas", tag, owner, clock, "sns_rom_banana", __FILE__)
+ : sns_rom_device(mconfig, SNS_LOROM_BANANA, tag, owner, clock)
{
}
sns_rom_bugs_device::sns_rom_bugs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_BUGSLIFE, "SNES A Bug's Life", tag, owner, clock, "sns_rom_bugslife", __FILE__)
+ : sns_rom_device(mconfig, SNS_LOROM_BUGSLIFE, tag, owner, clock)
{
}
// Multigame LoROM 'mappers'
sns_rom_mcpirate1_device::sns_rom_mcpirate1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_MCPIR1, "SNES Pirate Multigame Carts Type 1", tag, owner, clock, "sns_rom_mcpirate1", __FILE__), m_base_bank(0)
- {
+ : sns_rom_device(mconfig, SNS_LOROM_MCPIR1, tag, owner, clock), m_base_bank(0)
+{
}
sns_rom_mcpirate2_device::sns_rom_mcpirate2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_MCPIR2, "SNES Pirate Multigame Carts Type 2", tag, owner, clock, "sns_rom_mcpirate2", __FILE__), m_base_bank(0)
- {
+ : sns_rom_device(mconfig, SNS_LOROM_MCPIR2, tag, owner, clock), m_base_bank(0)
+{
}
sns_rom_20col_device::sns_rom_20col_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_20COL, "SNES Super 20 Collection", tag, owner, clock, "sns_rom_20col", __FILE__), m_base_bank(0)
- {
+ : sns_rom_device(mconfig, SNS_LOROM_20COL, tag, owner, clock), m_base_bank(0)
+{
}
diff --git a/src/devices/bus/snes/rom.h b/src/devices/bus/snes/rom.h
index ddd73ab33da..9e95e4b8e00 100644
--- a/src/devices/bus/snes/rom.h
+++ b/src/devices/bus/snes/rom.h
@@ -1,27 +1,30 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_ROM_H
-#define __SNS_ROM_H
+#ifndef MAME_BUS_SNES_ROM_H
+#define MAME_BUS_SNES_ROM_H
+
+#pragma once
#include "snes_slot.h"
// ======================> sns_rom_device
-class sns_rom_device : public device_t,
- public device_sns_cart_interface
+class sns_rom_device : public device_t, public device_sns_cart_interface
{
public:
// construction/destruction
- sns_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
sns_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
+
+protected:
+ sns_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
};
// ======================> sns_rom_obc1_device
@@ -32,14 +35,15 @@ public:
// construction/destruction
sns_rom_obc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// additional reading and writing
virtual DECLARE_READ8_MEMBER(chip_read) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_address;
int m_offset;
int m_shift;
@@ -56,13 +60,15 @@ public:
// construction/destruction
sns_rom_pokemon_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
+
+protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- // reading and writing
- virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
- virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
uint8_t m_latch;
};
@@ -74,14 +80,15 @@ public:
// construction/destruction
sns_rom_tekken2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void update_prot(uint32_t offset);
// bit0-3 prot value, bit4 direction, bit5 function
@@ -109,14 +116,16 @@ public:
// construction/destruction
sns_rom_mcpirate1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override; // bankswitch device
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_base_bank;
};
@@ -128,14 +137,16 @@ public:
// construction/destruction
sns_rom_mcpirate2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override; // bankswitch device
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
uint8_t m_base_bank;
};
@@ -147,13 +158,15 @@ public:
// construction/destruction
sns_rom_20col_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override; // bankswitch device
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
uint8_t m_base_bank;
};
@@ -165,13 +178,15 @@ public:
// construction/destruction
sns_rom_banana_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
+
+protected:
// device-level overrides
// virtual void device_start();
// virtual void device_reset();
- // reading and writing
- virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
- virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
uint8_t m_latch[16];
};
@@ -183,27 +198,29 @@ public:
// construction/destruction
sns_rom_bugs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
+
+protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- // reading and writing
- virtual DECLARE_READ8_MEMBER(chip_read) override; // protection device
- virtual DECLARE_WRITE8_MEMBER(chip_write) override; // protection device
uint8_t m_latch[0x800];
};
// device type definition
-extern const device_type SNS_LOROM;
-extern const device_type SNS_LOROM_OBC1;
-extern const device_type SNS_LOROM_POKEMON;
-extern const device_type SNS_LOROM_TEKKEN2;
-extern const device_type SNS_LOROM_SOULBLAD;
-extern const device_type SNS_LOROM_MCPIR1;
-extern const device_type SNS_LOROM_MCPIR2;
-extern const device_type SNS_LOROM_20COL;
-extern const device_type SNS_LOROM_BANANA;
-extern const device_type SNS_LOROM_BUGSLIFE;
-
-#endif
+DECLARE_DEVICE_TYPE(SNS_LOROM, sns_rom_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_OBC1, sns_rom_obc1_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_POKEMON, sns_rom_pokemon_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_TEKKEN2, sns_rom_tekken2_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_SOULBLAD, sns_rom_soulblad_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_MCPIR1, sns_rom_mcpirate1_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_MCPIR2, sns_rom_mcpirate2_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_20COL, sns_rom_20col_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_BANANA, sns_rom_banana_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_BUGSLIFE, sns_rom_bugs_device)
+
+#endif // MAME_BUS_SNES_ROM_H
diff --git a/src/devices/bus/snes/rom21.cpp b/src/devices/bus/snes/rom21.cpp
index d4a555da852..91c61394688 100644
--- a/src/devices/bus/snes/rom21.cpp
+++ b/src/devices/bus/snes/rom21.cpp
@@ -15,25 +15,23 @@
// sns_rom_device - constructor
//-------------------------------------------------
-const device_type SNS_HIROM = device_creator<sns_rom21_device>;
-const device_type SNS_HIROM_SRTC = device_creator<sns_rom21_srtc_device>;
+DEFINE_DEVICE_TYPE(SNS_HIROM, sns_rom21_device, "sns_rom21", "SNES Cart (HiROM)")
+DEFINE_DEVICE_TYPE(SNS_HIROM_SRTC, sns_rom21_srtc_device, "sns_rom21_rtc", "SNES Cart (HiROM) + S-RTC")
-sns_rom21_device::sns_rom21_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_sns_cart_interface( mconfig, *this )
+sns_rom21_device::sns_rom21_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_sns_cart_interface( mconfig, *this )
{
}
sns_rom21_device::sns_rom21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SNS_HIROM, "SNES Cart (HiROM)", tag, owner, clock, "sns_rom21", __FILE__),
- device_sns_cart_interface( mconfig, *this )
+ : sns_rom21_device(mconfig, SNS_HIROM, tag, owner, clock)
{
}
sns_rom21_srtc_device::sns_rom21_srtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom21_device(mconfig, SNS_HIROM_SRTC, "SNES Cart (HiROM) + S-RTC", tag, owner, clock, "sns_rom21_srtc", __FILE__), m_mode(0), m_index(0)
- {
+ : sns_rom21_device(mconfig, SNS_HIROM_SRTC, tag, owner, clock), m_mode(0), m_index(0)
+{
}
diff --git a/src/devices/bus/snes/rom21.h b/src/devices/bus/snes/rom21.h
index befd130f02f..545e2457ef3 100644
--- a/src/devices/bus/snes/rom21.h
+++ b/src/devices/bus/snes/rom21.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_ROM21_H
-#define __SNS_ROM21_H
+#ifndef MAME_BUS_SNES_ROM21_H
+#define MAME_BUS_SNES_ROM21_H
+
+#pragma once
#include "snes_slot.h"
@@ -13,16 +15,18 @@ class sns_rom21_device : public device_t,
{
public:
// construction/destruction
- sns_rom21_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
sns_rom21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
+
+protected:
+ sns_rom21_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
};
// ======================> sns_rom21_srtc_device
@@ -33,14 +37,11 @@ public:
// construction/destruction
sns_rom21_srtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(chip_read) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override;
+protected:
// S-RTC specific variables
enum
{
@@ -50,6 +51,10 @@ public:
RTCM_Write
};
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void update_time();
uint8_t srtc_weekday(uint32_t year, uint32_t month, uint32_t day);
@@ -61,7 +66,7 @@ public:
// device type definition
-extern const device_type SNS_HIROM;
-extern const device_type SNS_HIROM_SRTC;
+DECLARE_DEVICE_TYPE(SNS_HIROM, sns_rom21_device)
+DECLARE_DEVICE_TYPE(SNS_HIROM_SRTC, sns_rom21_srtc_device)
-#endif
+#endif // MAME_BUS_SNES_ROM21_H
diff --git a/src/devices/bus/snes/sa1.cpp b/src/devices/bus/snes/sa1.cpp
index f74ebe4409a..5020aec1613 100644
--- a/src/devices/bus/snes/sa1.cpp
+++ b/src/devices/bus/snes/sa1.cpp
@@ -82,14 +82,23 @@
// constructor
//-------------------------------------------------
-const device_type SNS_LOROM_SA1 = device_creator<sns_sa1_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM_SA1, sns_sa1_device, "sns_rom_sa1", "SNES Cart + SA-1")
sns_sa1_device::sns_sa1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SNS_LOROM_SA1, "SNES Cart + SA-1", tag, owner, clock, "sns_rom_sa1", __FILE__),
- device_sns_cart_interface( mconfig, *this ),
- m_sa1(*this, "sa1cpu"), m_sa1_ctrl(0), m_scpu_sie(0), m_sa1_reset(0), m_sa1_nmi(0), m_sa1_irq(0), m_scpu_ctrl(0), m_sa1_sie(0), m_irq_vector(0), m_nmi_vector(0), m_hcount(0), m_vcount(0), m_bank_c_hi(0), m_bank_c_rom(0), m_bank_d_hi(0), m_bank_d_rom(0), m_bank_e_hi(0), m_bank_e_rom(0), m_bank_f_hi(0), m_bank_f_rom(0), m_bwram_snes(0), m_bwram_sa1(0), m_bwram_sa1_source(0), m_bwram_sa1_format(0), m_bwram_write_snes(0), m_bwram_write_sa1(0), m_bwpa_sa1(0), m_iram_write_snes(0), m_iram_write_sa1(0), m_dma_ctrl(0), m_dma_ccparam(0), m_src_addr(0), m_dst_addr(0), m_dma_cnt(0), m_math_ctlr(0), m_math_overflow(0), m_math_a(0), m_math_b(0), m_math_res(0), m_vda(0), m_vbit(0), m_vlen(0), m_drm(0), m_scpu_flags(0), m_sa1_flags(0), m_hcr(0), m_vcr(0)
- {
+ : device_t(mconfig, SNS_LOROM_SA1, tag, owner, clock)
+ , device_sns_cart_interface(mconfig, *this)
+ , m_sa1(*this, "sa1cpu")
+ , m_sa1_ctrl(0), m_scpu_sie(0), m_sa1_reset(0), m_sa1_nmi(0), m_sa1_irq(0), m_scpu_ctrl(0), m_sa1_sie(0)
+ , m_irq_vector(0), m_nmi_vector(0)
+ , m_hcount(0), m_vcount(0)
+ , m_bank_c_hi(0), m_bank_c_rom(0), m_bank_d_hi(0), m_bank_d_rom(0), m_bank_e_hi(0), m_bank_e_rom(0), m_bank_f_hi(0), m_bank_f_rom(0)
+ , m_bwram_snes(0), m_bwram_sa1(0), m_bwram_sa1_source(0), m_bwram_sa1_format(0), m_bwram_write_snes(0), m_bwram_write_sa1(0), m_bwpa_sa1(0)
+ , m_iram_write_snes(0), m_iram_write_sa1(0)
+ , m_dma_ctrl(0), m_dma_ccparam(0), m_src_addr(0), m_dst_addr(0), m_dma_cnt(0)
+ , m_math_ctlr(0), m_math_overflow(0), m_math_a(0), m_math_b(0), m_math_res(0)
+ , m_vda(0), m_vbit(0), m_vlen(0), m_drm(0), m_scpu_flags(0), m_sa1_flags(0), m_hcr(0), m_vcr(0)
+{
}
diff --git a/src/devices/bus/snes/sa1.h b/src/devices/bus/snes/sa1.h
index bcd5b6503cc..978505438ee 100644
--- a/src/devices/bus/snes/sa1.h
+++ b/src/devices/bus/snes/sa1.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli, R. Belmont
-#ifndef __SNS_SA1_H
-#define __SNS_SA1_H
+#ifndef MAME_BUS_SNES_SA1_H
+#define MAME_BUS_SNES_SA1_H
+
+#pragma once
#include "snes_slot.h"
#include "cpu/g65816/g65816.h"
@@ -16,10 +18,7 @@ public:
// construction/destruction
sns_sa1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_reset() override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
@@ -36,8 +35,12 @@ public:
DECLARE_WRITE8_MEMBER(sa1_lo_w);
DECLARE_WRITE8_MEMBER(sa1_hi_w);
-private:
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+private:
uint8_t var_length_read(address_space &space, uint32_t offset);
void dma_transfer(address_space &space);
void dma_cctype1_transfer(address_space &space);
@@ -108,6 +111,6 @@ private:
// device type definition
-extern const device_type SNS_LOROM_SA1;
+DECLARE_DEVICE_TYPE(SNS_LOROM_SA1, sns_sa1_device)
-#endif
+#endif // MAME_BUS_SNES_SA1_H
diff --git a/src/devices/bus/snes/sdd1.cpp b/src/devices/bus/snes/sdd1.cpp
index cddff2082f4..e6f0ee179d2 100644
--- a/src/devices/bus/snes/sdd1.cpp
+++ b/src/devices/bus/snes/sdd1.cpp
@@ -20,13 +20,13 @@
// Input Manager
-void SDD1_IM::IM_prepareDecomp(uint32_t in_buf)
+void sns_rom_sdd1_device::SDD1_IM::IM_prepareDecomp(uint32_t in_buf)
{
m_byte_ptr = in_buf;
m_bit_count = 4;
}
-uint8_t SDD1_IM::IM_getCodeword(uint8_t *ROM, uint32_t *mmc, const uint8_t code_len)
+uint8_t sns_rom_sdd1_device::SDD1_IM::IM_getCodeword(uint8_t *ROM, uint32_t *mmc, const uint8_t code_len)
{
uint8_t codeword = ROM[SSD1_ADD(m_byte_ptr)] << m_bit_count;
@@ -49,9 +49,9 @@ uint8_t SDD1_IM::IM_getCodeword(uint8_t *ROM, uint32_t *mmc, const uint8_t code_
// GCD
-void SDD1_GCD::GCD_getRunCount(uint8_t *ROM, uint32_t *mmc, uint8_t code_num, uint8_t* MPScount, uint8_t* LPSind)
+void sns_rom_sdd1_device::SDD1_GCD::GCD_getRunCount(uint8_t *ROM, uint32_t *mmc, uint8_t code_num, uint8_t* MPScount, uint8_t* LPSind)
{
- const uint8_t run_count[] =
+ static constexpr uint8_t run_count[] =
{
0x00, 0x00, 0x01, 0x00, 0x03, 0x01, 0x02, 0x00,
0x07, 0x03, 0x05, 0x01, 0x06, 0x02, 0x04, 0x00,
@@ -102,13 +102,13 @@ void SDD1_GCD::GCD_getRunCount(uint8_t *ROM, uint32_t *mmc, uint8_t code_num, ui
// BG
-void SDD1_BG::BG_prepareDecomp()
+void sns_rom_sdd1_device::SDD1_BG::BG_prepareDecomp()
{
m_MPScount = 0;
m_LPSind = 0;
}
-uint8_t SDD1_BG::BG_getBit(uint8_t *ROM, uint32_t *mmc, uint8_t* endOfRun)
+uint8_t sns_rom_sdd1_device::SDD1_BG::BG_getBit(uint8_t *ROM, uint32_t *mmc, uint8_t* endOfRun)
{
uint8_t bit;
@@ -149,7 +149,7 @@ struct SDD1_PEM_state
uint8_t nextIfLPS;
};
-static const SDD1_PEM_state PEM_evolution_table[33] =
+static constexpr SDD1_PEM_state PEM_evolution_table[33] =
{
{ 0,25,25},
{ 0, 2, 1},
@@ -186,7 +186,7 @@ static const SDD1_PEM_state PEM_evolution_table[33] =
{ 7,24,22}
};
-void SDD1_PEM::PEM_prepareDecomp()
+void sns_rom_sdd1_device::SDD1_PEM::PEM_prepareDecomp()
{
for (auto & elem : m_contextInfo)
{
@@ -195,7 +195,7 @@ void SDD1_PEM::PEM_prepareDecomp()
}
}
-uint8_t SDD1_PEM::PEM_getBit(uint8_t *ROM, uint32_t *mmc, uint8_t context)
+uint8_t sns_rom_sdd1_device::SDD1_PEM::PEM_getBit(uint8_t *ROM, uint32_t *mmc, uint8_t context)
{
uint8_t endOfRun;
uint8_t bit;
@@ -228,7 +228,7 @@ uint8_t SDD1_PEM::PEM_getBit(uint8_t *ROM, uint32_t *mmc, uint8_t context)
// CM
-void SDD1_CM::CM_prepareDecomp(uint8_t *ROM, uint32_t *mmc, uint32_t first_byte)
+void sns_rom_sdd1_device::SDD1_CM::CM_prepareDecomp(uint8_t *ROM, uint32_t *mmc, uint32_t first_byte)
{
int32_t i = 0;
m_bitplanesInfo = ROM[SSD1_ADD(first_byte)] & 0xc0;
@@ -252,7 +252,7 @@ void SDD1_CM::CM_prepareDecomp(uint8_t *ROM, uint32_t *mmc, uint32_t first_byte)
}
}
-uint8_t SDD1_CM::CM_getBit(uint8_t *ROM, uint32_t *mmc)
+uint8_t sns_rom_sdd1_device::SDD1_CM::CM_getBit(uint8_t *ROM, uint32_t *mmc)
{
uint8_t currContext;
uint16_t *context_bits;
@@ -309,14 +309,14 @@ uint8_t SDD1_CM::CM_getBit(uint8_t *ROM, uint32_t *mmc)
// OL
-void SDD1_OL::OL_prepareDecomp(uint8_t *ROM, uint32_t *mmc, uint32_t first_byte, uint16_t out_len, uint8_t *out_buf)
+void sns_rom_sdd1_device::SDD1_OL::OL_prepareDecomp(uint8_t *ROM, uint32_t *mmc, uint32_t first_byte, uint16_t out_len, uint8_t *out_buf)
{
m_bitplanesInfo = ROM[SSD1_ADD(first_byte)] & 0xc0;
m_length = out_len;
m_buffer = out_buf;
}
-void SDD1_OL::OL_launch(uint8_t *ROM, uint32_t *mmc)
+void sns_rom_sdd1_device::SDD1_OL::OL_launch(uint8_t *ROM, uint32_t *mmc)
{
uint8_t i;
uint8_t register1, register2 = 0;
@@ -366,7 +366,7 @@ void SDD1_OL::OL_launch(uint8_t *ROM, uint32_t *mmc)
// S-DD1
-SDD1_emu::SDD1_emu(running_machine &machine)
+sns_rom_sdd1_device::SDD1_emu::SDD1_emu(running_machine &machine)
: m_machine(machine)
{
m_IM = std::make_unique<SDD1_IM>();
@@ -385,7 +385,7 @@ SDD1_emu::SDD1_emu(running_machine &machine)
m_OL = std::make_unique<SDD1_OL>(m_CM.get());
}
-void SDD1_emu::SDD1emu_decompress(uint8_t *ROM, uint32_t *mmc, uint32_t in_buf, uint16_t out_len, uint8_t *out_buf)
+void sns_rom_sdd1_device::SDD1_emu::SDD1emu_decompress(uint8_t *ROM, uint32_t *mmc, uint32_t in_buf, uint16_t out_len, uint8_t *out_buf)
{
m_IM->IM_prepareDecomp(in_buf);
m_BG0->BG_prepareDecomp();
@@ -408,19 +408,19 @@ void SDD1_emu::SDD1emu_decompress(uint8_t *ROM, uint32_t *mmc, uint32_t in_buf,
// sns_rom_sdd1_device - constructor
//-------------------------------------------------
-const device_type SNS_LOROM_SDD1 = device_creator<sns_rom_sdd1_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM_SDD1, sns_rom_sdd1_device, "sns_rom_sdd1", "SNES Cart + S-DD1")
-sns_rom_sdd1_device::sns_rom_sdd1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_sns_cart_interface( mconfig, *this ), m_sdd1_enable(0), m_xfer_enable(0), m_sdd1emu(nullptr)
- {
+sns_rom_sdd1_device::sns_rom_sdd1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_sns_cart_interface(mconfig, *this)
+ , m_sdd1_enable(0), m_xfer_enable(0), m_sdd1emu(nullptr)
+{
}
sns_rom_sdd1_device::sns_rom_sdd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SNS_LOROM_SDD1, "SNES Cart + S-DD1", tag, owner, clock, "sns_rom_sdd1", __FILE__),
- device_sns_cart_interface( mconfig, *this ), m_sdd1_enable(0), m_xfer_enable(0), m_sdd1emu(nullptr)
- {
+ : sns_rom_sdd1_device(mconfig, SNS_LOROM_SDD1, tag, owner, clock)
+{
}
diff --git a/src/devices/bus/snes/sdd1.h b/src/devices/bus/snes/sdd1.h
index 244c552f101..6265e630bdc 100644
--- a/src/devices/bus/snes/sdd1.h
+++ b/src/devices/bus/snes/sdd1.h
@@ -1,174 +1,163 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_SDD1_H
-#define __SNS_SDD1_H
+#ifndef MAME_BUS_SNES_SDD1_H
+#define MAME_BUS_SNES_SDD1_H
-#include "snes_slot.h"
+#pragma once
-// misc classes for the S-DD1
+#include "snes_slot.h"
-class SDD1_IM //Input Manager
-{
-public:
- SDD1_IM():
- m_byte_ptr(0),
- m_bit_count(0)
- { }
- uint32_t m_byte_ptr;
- uint8_t m_bit_count;
- void IM_prepareDecomp(uint32_t in_buf);
- uint8_t IM_getCodeword(uint8_t *ROM, uint32_t *mmc, const uint8_t code_len);
-};
+// ======================> sns_rom_sdd1_device
-class SDD1_GCD //Golomb-Code Decoder
+class sns_rom_sdd1_device : public device_t,
+ public device_sns_cart_interface
{
public:
- SDD1_GCD(SDD1_IM* associatedIM)
- : m_IM(associatedIM) { }
-
- SDD1_IM* m_IM;
-
- void GCD_getRunCount(uint8_t *ROM, uint32_t *mmc, uint8_t code_num, uint8_t* MPScount, uint8_t* LPSind);
-};
+ // construction/destruction
+ sns_rom_sdd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-class SDD1_BG // Bits Generator
-{
-public:
- SDD1_BG(SDD1_GCD* associatedGCD, uint8_t code)
- : m_code_num(code),
- m_MPScount(0),
- m_LPSind(0),
- m_GCD(associatedGCD)
- {
- }
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual DECLARE_READ8_MEMBER(read_ram) override;
+ virtual DECLARE_WRITE8_MEMBER(write_ram) override;
+ virtual DECLARE_READ8_MEMBER(chip_read) override;
+ virtual DECLARE_WRITE8_MEMBER(chip_write) override;
- uint8_t m_code_num;
- uint8_t m_MPScount;
- uint8_t m_LPSind;
- SDD1_GCD* m_GCD;
+protected:
+ sns_rom_sdd1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- void BG_prepareDecomp();
- uint8_t BG_getBit(uint8_t *ROM, uint32_t *mmc, uint8_t* endOfRun);
-} ;
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
-struct SDD1_PEM_ContextInfo
-{
- uint8_t status;
- uint8_t MPS;
-};
+ // misc classes for the S-DD1
-class SDD1_PEM //Probability Estimation Module
-{
-public:
- SDD1_PEM(
- SDD1_BG* associatedBG0, SDD1_BG* associatedBG1,
- SDD1_BG* associatedBG2, SDD1_BG* associatedBG3,
- SDD1_BG* associatedBG4, SDD1_BG* associatedBG5,
- SDD1_BG* associatedBG6, SDD1_BG* associatedBG7)
+ class SDD1_IM //Input Manager
{
- m_BG[0] = associatedBG0;
- m_BG[1] = associatedBG1;
- m_BG[2] = associatedBG2;
- m_BG[3] = associatedBG3;
- m_BG[4] = associatedBG4;
- m_BG[5] = associatedBG5;
- m_BG[6] = associatedBG6;
- m_BG[7] = associatedBG7;
- }
+ public:
+ SDD1_IM() { }
- SDD1_PEM_ContextInfo m_contextInfo[32];
- SDD1_BG* m_BG[8];
+ void IM_prepareDecomp(uint32_t in_buf);
+ uint8_t IM_getCodeword(uint8_t *ROM, uint32_t *mmc, const uint8_t code_len);
- void PEM_prepareDecomp();
- uint8_t PEM_getBit(uint8_t *ROM, uint32_t *mmc, uint8_t context);
-} ;
+ uint32_t m_byte_ptr = 0;
+ uint8_t m_bit_count = 0;
+ };
+ class SDD1_GCD //Golomb-Code Decoder
+ {
+ public:
+ SDD1_GCD(SDD1_IM* associatedIM) : m_IM(associatedIM) { }
-class SDD1_CM
-{
-public:
- SDD1_CM(SDD1_PEM* associatedPEM)
- : m_bitplanesInfo(0), m_contextBitsInfo(0), m_bit_number(0), m_currBitplane(0), m_PEM(associatedPEM) { }
+ void GCD_getRunCount(uint8_t *ROM, uint32_t *mmc, uint8_t code_num, uint8_t* MPScount, uint8_t* LPSind);
- uint8_t m_bitplanesInfo;
- uint8_t m_contextBitsInfo;
- uint8_t m_bit_number;
- uint8_t m_currBitplane;
- uint16_t m_prevBitplaneBits[8];
- SDD1_PEM* m_PEM;
+ SDD1_IM* m_IM;
+ };
- void CM_prepareDecomp(uint8_t *ROM, uint32_t *mmc, uint32_t first_byte);
- uint8_t CM_getBit(uint8_t *ROM, uint32_t *mmc);
-} ;
+ class SDD1_BG // Bits Generator
+ {
+ public:
+ SDD1_BG(SDD1_GCD* associatedGCD, uint8_t code) : m_code_num(code), m_GCD(associatedGCD) { }
+ void BG_prepareDecomp();
+ uint8_t BG_getBit(uint8_t *ROM, uint32_t *mmc, uint8_t* endOfRun);
-class SDD1_OL
-{
-public:
- SDD1_OL(SDD1_CM* associatedCM)
- : m_bitplanesInfo(0), m_length(0), m_buffer(nullptr), m_CM(associatedCM) { }
+ uint8_t m_code_num;
+ uint8_t m_MPScount = 0;
+ uint8_t m_LPSind = 0;
+ SDD1_GCD* m_GCD;
+ };
- uint8_t m_bitplanesInfo;
- uint16_t m_length;
- uint8_t* m_buffer;
- SDD1_CM* m_CM;
+ struct SDD1_PEM_ContextInfo
+ {
+ uint8_t status;
+ uint8_t MPS;
+ };
- void OL_prepareDecomp(uint8_t *ROM, uint32_t *mmc, uint32_t first_byte, uint16_t out_len, uint8_t *out_buf);
- void OL_launch(uint8_t *ROM, uint32_t *mmc);
-} ;
+ class SDD1_PEM //Probability Estimation Module
+ {
+ public:
+ SDD1_PEM(
+ SDD1_BG* associatedBG0,
+ SDD1_BG* associatedBG1,
+ SDD1_BG* associatedBG2,
+ SDD1_BG* associatedBG3,
+ SDD1_BG* associatedBG4,
+ SDD1_BG* associatedBG5,
+ SDD1_BG* associatedBG6,
+ SDD1_BG* associatedBG7)
+ : m_BG{ associatedBG0, associatedBG1, associatedBG2, associatedBG3, associatedBG4, associatedBG5, associatedBG6, associatedBG7 }
+ {
+ }
+
+ void PEM_prepareDecomp();
+ uint8_t PEM_getBit(uint8_t *ROM, uint32_t *mmc, uint8_t context);
+
+ SDD1_PEM_ContextInfo m_contextInfo[32];
+ SDD1_BG* m_BG[8];
+ };
+
+
+ class SDD1_CM
+ {
+ public:
+ SDD1_CM(SDD1_PEM* associatedPEM) : m_PEM(associatedPEM) { }
-class SDD1_emu
-{
-public:
- SDD1_emu(running_machine &machine);
-
- running_machine &machine() const { return m_machine; }
-
- std::unique_ptr<SDD1_IM> m_IM;
- std::unique_ptr<SDD1_GCD> m_GCD;
- std::unique_ptr<SDD1_BG> m_BG0;
- std::unique_ptr<SDD1_BG> m_BG1;
- std::unique_ptr<SDD1_BG> m_BG2;
- std::unique_ptr<SDD1_BG> m_BG3;
- std::unique_ptr<SDD1_BG> m_BG4;
- std::unique_ptr<SDD1_BG> m_BG5;
- std::unique_ptr<SDD1_BG> m_BG6;
- std::unique_ptr<SDD1_BG> m_BG7;
- std::unique_ptr<SDD1_PEM> m_PEM;
- std::unique_ptr<SDD1_CM> m_CM;
- std::unique_ptr<SDD1_OL> m_OL;
-
- void SDD1emu_decompress(uint8_t *ROM, uint32_t *mmc, uint32_t in_buf, uint16_t out_len, uint8_t *out_buf);
-
-private:
- running_machine& m_machine;
-};
+ void CM_prepareDecomp(uint8_t *ROM, uint32_t *mmc, uint32_t first_byte);
+ uint8_t CM_getBit(uint8_t *ROM, uint32_t *mmc);
+ uint8_t m_bitplanesInfo = 0;
+ uint8_t m_contextBitsInfo = 0;
+ uint8_t m_bit_number = 0;
+ uint8_t m_currBitplane = 0;
+ uint16_t m_prevBitplaneBits[8];
+ SDD1_PEM* m_PEM;
+ };
-// ======================> sns_rom_sdd1_device
+ class SDD1_OL
+ {
+ public:
+ SDD1_OL(SDD1_CM* associatedCM) : m_CM(associatedCM) { }
-class sns_rom_sdd1_device : public device_t,
- public device_sns_cart_interface
-{
-public:
- // construction/destruction
- sns_rom_sdd1_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- sns_rom_sdd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ void OL_prepareDecomp(uint8_t *ROM, uint32_t *mmc, uint32_t first_byte, uint16_t out_len, uint8_t *out_buf);
+ void OL_launch(uint8_t *ROM, uint32_t *mmc);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ uint8_t m_bitplanesInfo = 0;
+ uint16_t m_length = 0;
+ uint8_t* m_buffer = nullptr;
+ SDD1_CM* m_CM;
+ };
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_READ8_MEMBER(read_ram) override;
- virtual DECLARE_WRITE8_MEMBER(write_ram) override;
- virtual DECLARE_READ8_MEMBER(chip_read) override;
- virtual DECLARE_WRITE8_MEMBER(chip_write) override;
+ class SDD1_emu
+ {
+ public:
+ SDD1_emu(running_machine &machine);
+
+ running_machine &machine() const { return m_machine; }
+
+ void SDD1emu_decompress(uint8_t *ROM, uint32_t *mmc, uint32_t in_buf, uint16_t out_len, uint8_t *out_buf);
+
+ std::unique_ptr<SDD1_IM> m_IM;
+ std::unique_ptr<SDD1_GCD> m_GCD;
+ std::unique_ptr<SDD1_BG> m_BG0;
+ std::unique_ptr<SDD1_BG> m_BG1;
+ std::unique_ptr<SDD1_BG> m_BG2;
+ std::unique_ptr<SDD1_BG> m_BG3;
+ std::unique_ptr<SDD1_BG> m_BG4;
+ std::unique_ptr<SDD1_BG> m_BG5;
+ std::unique_ptr<SDD1_BG> m_BG6;
+ std::unique_ptr<SDD1_BG> m_BG7;
+ std::unique_ptr<SDD1_PEM> m_PEM;
+ std::unique_ptr<SDD1_CM> m_CM;
+ std::unique_ptr<SDD1_OL> m_OL;
+
+ private:
+ running_machine& m_machine;
+ };
uint8_t read_helper(uint32_t offset);
@@ -195,6 +184,6 @@ public:
// device type definition
-extern const device_type SNS_LOROM_SDD1;
+DECLARE_DEVICE_TYPE(SNS_LOROM_SDD1, sns_rom_sdd1_device)
-#endif
+#endif // MAME_BUS_SNES_SDD1_H
diff --git a/src/devices/bus/snes/sfx.cpp b/src/devices/bus/snes/sfx.cpp
index 090408c77f4..baae513cc10 100644
--- a/src/devices/bus/snes/sfx.cpp
+++ b/src/devices/bus/snes/sfx.cpp
@@ -15,12 +15,12 @@
// sns_rom_superfx_device - constructor
//-------------------------------------------------
-const device_type SNS_LOROM_SUPERFX = device_creator<sns_rom_superfx_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM_SUPERFX, sns_rom_superfx_device, "sns_rom_superfx", "SNES Cart (LoROM) + SuperFX")
sns_rom_superfx_device::sns_rom_superfx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_SUPERFX, "SNES Cart (LoROM) + SuperFX", tag, owner, clock, "sns_rom_superfx", __FILE__),
- m_superfx(*this, "superfx")
+ : sns_rom_device(mconfig, SNS_LOROM_SUPERFX, tag, owner, clock)
+ , m_superfx(*this, "superfx")
{
}
diff --git a/src/devices/bus/snes/sfx.h b/src/devices/bus/snes/sfx.h
index 678b09b5e1c..2eead080a0b 100644
--- a/src/devices/bus/snes/sfx.h
+++ b/src/devices/bus/snes/sfx.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_SFX_H
-#define __SNS_SFX_H
+#ifndef MAME_BUS_SNES_SFX_H
+#define MAME_BUS_SNES_SFX_H
#include "snes_slot.h"
#include "rom.h"
@@ -16,13 +16,8 @@ public:
// construction/destruction
sns_rom_superfx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- required_device<superfx_device> m_superfx;
-
// additional reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
@@ -39,12 +34,18 @@ public:
virtual DECLARE_WRITE8_MEMBER(superfx_w_bank3);
virtual DECLARE_WRITE_LINE_MEMBER(snes_extern_irq_w);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ required_device<superfx_device> m_superfx;
uint8_t sfx_ram[0x200000];
};
// device type definition
-extern const device_type SNS_LOROM_SUPERFX;
+DECLARE_DEVICE_TYPE(SNS_LOROM_SUPERFX, sns_rom_superfx_device)
-#endif
+#endif // MAME_BUS_SNES_SFX_H
diff --git a/src/devices/bus/snes/sgb.cpp b/src/devices/bus/snes/sgb.cpp
index bbf3e804a2a..fd40d7e03b5 100644
--- a/src/devices/bus/snes/sgb.cpp
+++ b/src/devices/bus/snes/sgb.cpp
@@ -19,12 +19,12 @@
// sns_rom_sgb_device - constructor
//-------------------------------------------------
-const device_type SNS_LOROM_SUPERGB = device_creator<sns_rom_sgb1_device>;
-const device_type SNS_LOROM_SUPERGB2 = device_creator<sns_rom_sgb2_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM_SUPERGB, sns_rom_sgb1_device, "sns_rom_sgb", "SNES Super Game Boy Cart")
+DEFINE_DEVICE_TYPE(SNS_LOROM_SUPERGB2, sns_rom_sgb2_device, "sns_rom_sgb2", "SNES Super Game Boy 2 Cart")
-sns_rom_sgb_device::sns_rom_sgb_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : sns_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
+sns_rom_sgb_device::sns_rom_sgb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : sns_rom_device(mconfig, type, tag, owner, clock),
m_sgb_cpu(*this, "sgb_cpu"),
m_sgb_apu(*this, "sgb_apu"),
m_sgb_ppu(*this, "sgb_ppu"),
@@ -48,13 +48,13 @@ sns_rom_sgb_device::sns_rom_sgb_device(const machine_config &mconfig, device_typ
sns_rom_sgb1_device::sns_rom_sgb1_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
- sns_rom_sgb_device(mconfig, SNS_LOROM_SUPERGB, "SNES Super Game Boy Cart", tag, owner, clock, "sns_rom_sgb", __FILE__)
+ sns_rom_sgb_device(mconfig, SNS_LOROM_SUPERGB, tag, owner, clock)
{
}
sns_rom_sgb2_device::sns_rom_sgb2_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
- sns_rom_sgb_device(mconfig, SNS_LOROM_SUPERGB2, "SNES Super Game Boy 2 Cart", tag, owner, clock, "sns_rom_sgb2", __FILE__)
+ sns_rom_sgb_device(mconfig, SNS_LOROM_SUPERGB2, tag, owner, clock)
{
}
diff --git a/src/devices/bus/snes/sgb.h b/src/devices/bus/snes/sgb.h
index 69c3d1ed59d..4c0a038bbb1 100644
--- a/src/devices/bus/snes/sgb.h
+++ b/src/devices/bus/snes/sgb.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_SGB_H
-#define __SNS_SGB_H
+#ifndef MAME_BUS_SNES_SGB_H
+#define MAME_BUS_SNES_SGB_H
+
+#pragma once
#include "snes_slot.h"
#include "rom.h"
@@ -19,13 +21,6 @@
class sns_rom_sgb_device : public sns_rom_device
{
public:
- // construction/destruction
- sns_rom_sgb_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
@@ -45,6 +40,13 @@ public:
virtual DECLARE_WRITE8_MEMBER(gb_timer_callback);
protected:
+ // construction/destruction
+ sns_rom_sgb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
required_device<lr35902_cpu_device> m_sgb_cpu;
required_device<gameboy_sound_device> m_sgb_apu;
required_device<sgb_ppu_device> m_sgb_ppu;
@@ -99,7 +101,7 @@ public:
};
// device type definition
-extern const device_type SNS_LOROM_SUPERGB;
-extern const device_type SNS_LOROM_SUPERGB2;
+DECLARE_DEVICE_TYPE(SNS_LOROM_SUPERGB, sns_rom_sgb1_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_SUPERGB2, sns_rom_sgb2_device)
-#endif
+#endif // MAME_BUS_SNES_SGB_H
diff --git a/src/devices/bus/snes/snes_carts.cpp b/src/devices/bus/snes/snes_carts.cpp
index 32c7ad5f875..a450b7fe4c0 100644
--- a/src/devices/bus/snes/snes_carts.cpp
+++ b/src/devices/bus/snes/snes_carts.cpp
@@ -9,6 +9,19 @@
#include "emu.h"
#include "snes_carts.h"
+#include "rom.h"
+#include "rom21.h"
+#include "bsx.h"
+#include "sa1.h"
+#include "sdd1.h"
+#include "sfx.h"
+#include "sgb.h"
+#include "spc7110.h"
+#include "sufami.h"
+#include "upd.h"
+#include "event.h"
+
+
SLOT_INTERFACE_START(snes_cart)
SLOT_INTERFACE_INTERNAL("lorom", SNS_LOROM)
SLOT_INTERFACE_INTERNAL("lorom_bsx", SNS_LOROM_BSX) // LoROM + BS-X slot - unsupported
diff --git a/src/devices/bus/snes/snes_carts.h b/src/devices/bus/snes/snes_carts.h
index eb5460b3e22..9778bba903f 100644
--- a/src/devices/bus/snes/snes_carts.h
+++ b/src/devices/bus/snes/snes_carts.h
@@ -6,25 +6,13 @@
**********************************************************************/
-#pragma once
-
-#ifndef __SNES_CARTS_H__
-#define __SNES_CARTS_H__
+#ifndef MAME_BUS_SNES_SNES_CARTS_H
+#define MAME_BUS_SNES_SNES_CARTS_H
+#pragma once
-#include "rom.h"
-#include "rom21.h"
-#include "bsx.h"
-#include "sa1.h"
-#include "sdd1.h"
-#include "sfx.h"
-#include "sgb.h"
-#include "spc7110.h"
-#include "sufami.h"
-#include "upd.h"
-#include "event.h"
// supported devices
SLOT_INTERFACE_EXTERN(snes_cart);
-#endif // __SNES_CARTS_H__
+#endif // MAME_BUS_SNES_SNES_CARTS_H
diff --git a/src/devices/bus/snes/snes_slot.cpp b/src/devices/bus/snes/snes_slot.cpp
index 1c62a1f8909..ac4a9d5c9bb 100644
--- a/src/devices/bus/snes/snes_slot.cpp
+++ b/src/devices/bus/snes/snes_slot.cpp
@@ -56,9 +56,9 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SNS_CART_SLOT = device_creator<sns_cart_slot_device>;
-const device_type SNS_SUFAMI_CART_SLOT = device_creator<sns_sufami_cart_slot_device>;
-const device_type SNS_BSX_CART_SLOT = device_creator<sns_bsx_cart_slot_device>;
+DEFINE_DEVICE_TYPE(SNS_CART_SLOT, sns_cart_slot_device, "sns_cart_slot", "SNES Cartridge Slot")
+DEFINE_DEVICE_TYPE(SNS_SUFAMI_CART_SLOT, sns_sufami_cart_slot_device, "sns_sufami_cart_slot", "SNES Sufami Turbo Cartridge Slot")
+DEFINE_DEVICE_TYPE(SNS_BSX_CART_SLOT, sns_bsx_cart_slot_device, "sns_bsx_cart_slot", "SNES BS-X Cartridge Slot")
//**************************************************************************
// SNES Cartridge Interface
@@ -68,10 +68,10 @@ const device_type SNS_BSX_CART_SLOT = device_creator<sns_bsx_cart_slot_device>;
// device_sns_cart_interface - constructor
//-------------------------------------------------
-device_sns_cart_interface::device_sns_cart_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_rom(nullptr),
- m_rom_size(0)
+device_sns_cart_interface::device_sns_cart_interface(const machine_config &mconfig, device_t &device) :
+ device_slot_card_interface(mconfig, device),
+ m_rom(nullptr),
+ m_rom_size(0)
{
}
@@ -172,27 +172,28 @@ void device_sns_cart_interface::rom_map_setup(uint32_t size)
//-------------------------------------------------
// base_sns_cart_slot_device - constructor
//-------------------------------------------------
-base_sns_cart_slot_device::base_sns_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_addon(ADDON_NONE),
- m_type(SNES_MODE20), m_cart(nullptr)
+base_sns_cart_slot_device::base_sns_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_addon(ADDON_NONE),
+ m_type(SNES_MODE20),
+ m_cart(nullptr)
{
}
sns_cart_slot_device::sns_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- base_sns_cart_slot_device(mconfig, SNS_CART_SLOT, "SNES Cartridge Slot", tag, owner, clock, "sns_cart_slot", __FILE__)
+ base_sns_cart_slot_device(mconfig, SNS_CART_SLOT, tag, owner, clock)
{
}
sns_sufami_cart_slot_device::sns_sufami_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- base_sns_cart_slot_device(mconfig, SNS_SUFAMI_CART_SLOT, "SNES Sufami Turbo Cartridge Slot", tag, owner, clock, "sns_sufami_cart_slot", __FILE__)
+ base_sns_cart_slot_device(mconfig, SNS_SUFAMI_CART_SLOT, tag, owner, clock)
{
}
sns_bsx_cart_slot_device::sns_bsx_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- base_sns_cart_slot_device(mconfig, SNS_BSX_CART_SLOT, "SNES BS-X Cartridge Slot", tag, owner, clock, "sns_bsx_cart_slot", __FILE__)
+ base_sns_cart_slot_device(mconfig, SNS_BSX_CART_SLOT, tag, owner, clock)
{
}
diff --git a/src/devices/bus/snes/snes_slot.h b/src/devices/bus/snes/snes_slot.h
index 16ac7e49016..20f35fdad24 100644
--- a/src/devices/bus/snes/snes_slot.h
+++ b/src/devices/bus/snes/snes_slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_SLOT_H
-#define __SNS_SLOT_H
+#ifndef MAME_BUS_SNES_SNES_SLOT_H
+#define MAME_BUS_SNES_SNES_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -102,37 +104,39 @@ class device_sns_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_sns_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_sns_cart_interface();
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l) { return 0xff; } // ROM access in range [00-7f]
virtual DECLARE_READ8_MEMBER(read_h) { return 0xff; } // ROM access in range [80-ff]
virtual DECLARE_READ8_MEMBER(read_ram) { if (!m_nvram.empty()) return m_nvram[offset & (m_nvram.size()-1)]; else return 0xff; } // NVRAM access
- virtual DECLARE_WRITE8_MEMBER(write_l) {} // used by carts with subslots
- virtual DECLARE_WRITE8_MEMBER(write_h) {} // used by carts with subslots
+ virtual DECLARE_WRITE8_MEMBER(write_l) { } // used by carts with subslots
+ virtual DECLARE_WRITE8_MEMBER(write_h) { } // used by carts with subslots
virtual DECLARE_WRITE8_MEMBER(write_ram) { if (!m_nvram.empty()) m_nvram[offset & (m_nvram.size()-1)] = data; } // NVRAM access
virtual DECLARE_READ8_MEMBER(chip_read) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(chip_write) {}
- virtual void speedup_addon_bios_access() {};
+ virtual DECLARE_WRITE8_MEMBER(chip_write) { }
+ virtual void speedup_addon_bios_access() {}
void rom_alloc(uint32_t size, const char *tag);
void nvram_alloc(uint32_t size);
void rtc_ram_alloc(uint32_t size);
void addon_bios_alloc(uint32_t size);
- uint8_t* get_rom_base() { return m_rom; };
- uint8_t* get_nvram_base() { return &m_nvram[0]; };
- uint8_t* get_addon_bios_base() { return &m_bios[0]; };
- uint8_t* get_rtc_ram_base() { return &m_rtc_ram[0]; };
- uint32_t get_rom_size() { return m_rom_size; };
- uint32_t get_nvram_size() { return m_nvram.size(); };
- uint32_t get_addon_bios_size() { return m_bios.size(); };
- uint32_t get_rtc_ram_size() { return m_rtc_ram.size(); };
+ uint8_t* get_rom_base() { return m_rom; }
+ uint8_t* get_nvram_base() { return &m_nvram[0]; }
+ uint8_t* get_addon_bios_base() { return &m_bios[0]; }
+ uint8_t* get_rtc_ram_base() { return &m_rtc_ram[0]; }
+ uint32_t get_rom_size() { return m_rom_size; }
+ uint32_t get_nvram_size() { return m_nvram.size(); }
+ uint32_t get_addon_bios_size() { return m_bios.size(); }
+ uint32_t get_rtc_ram_size() { return m_rtc_ram.size(); }
void rom_map_setup(uint32_t size);
void save_nvram() { device().save_item(NAME(m_nvram)); }
void save_rtc_ram() { device().save_item(NAME(m_rtc_ram)); }
+protected:
+ device_sns_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -152,7 +156,6 @@ class base_sns_cart_slot_device : public device_t,
{
public:
// construction/destruction
- base_sns_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
virtual ~base_sns_cart_slot_device();
// device-level overrides
@@ -208,11 +211,14 @@ public:
int m_type;
device_sns_cart_interface* m_cart;
+
+protected:
+ base_sns_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
// ======================> sns_cart_slot_device
-class sns_cart_slot_device : public base_sns_cart_slot_device
+class sns_cart_slot_device : public base_sns_cart_slot_device
{
public:
// construction/destruction
@@ -223,7 +229,7 @@ public:
// ======================> sns_sufami_cart_slot_device
-class sns_sufami_cart_slot_device : public base_sns_cart_slot_device
+class sns_sufami_cart_slot_device : public base_sns_cart_slot_device
{
public:
// construction/destruction
@@ -247,9 +253,9 @@ public:
// device type definition
-extern const device_type SNS_CART_SLOT;
-extern const device_type SNS_SUFAMI_CART_SLOT;
-extern const device_type SNS_BSX_CART_SLOT;
+DECLARE_DEVICE_TYPE(SNS_CART_SLOT, sns_cart_slot_device)
+DECLARE_DEVICE_TYPE(SNS_SUFAMI_CART_SLOT, sns_sufami_cart_slot_device)
+DECLARE_DEVICE_TYPE(SNS_BSX_CART_SLOT, sns_bsx_cart_slot_device)
/***************************************************************************
@@ -272,4 +278,4 @@ extern const device_type SNS_BSX_CART_SLOT;
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+#endif // MAME_BUS_SNES_SNES_SLOT_H
diff --git a/src/devices/bus/snes/spc7110.cpp b/src/devices/bus/snes/spc7110.cpp
index 61cc7ed99c7..a88c06e9250 100644
--- a/src/devices/bus/snes/spc7110.cpp
+++ b/src/devices/bus/snes/spc7110.cpp
@@ -16,34 +16,52 @@
#include "spc7110.h"
+namespace {
+
+enum RTC_State
+{
+ RTCS_Inactive,
+ RTCS_ModeSelect,
+ RTCS_IndexSelect,
+ RTCS_Write
+};
+
+enum RTC_Mode
+{
+ RTCM_Linear = 0x03,
+ RTCM_Indexed = 0x0c
+};
+
+} // anonymous namespace
+
//-------------------------------------------------
// constructor
//-------------------------------------------------
-const device_type SNS_HIROM_SPC7110 = device_creator<sns_rom_spc7110_device>;
-const device_type SNS_HIROM_SPC7110_RTC = device_creator<sns_rom_spc7110rtc_device>;
+DEFINE_DEVICE_TYPE(SNS_HIROM_SPC7110, sns_rom_spc7110_device, "sns_rom_spc7110", "SNES Cart + SPC7110")
+DEFINE_DEVICE_TYPE(SNS_HIROM_SPC7110_RTC, sns_rom_spc7110rtc_device, "sns_rom_spc7110rtc", "SNES Cart + SPC7110 + RTC")
-sns_rom_spc7110_device::sns_rom_spc7110_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : sns_rom21_device(mconfig, type, name, tag, owner, clock, shortname, source), m_r4801(0), m_r4802(0), m_r4803(0), m_r4804(0), m_r4805(0), m_r4806(0), m_r4807(0),
- m_r4808(0), m_r4809(0), m_r480a(0), m_r480b(0), m_r480c(0), m_decomp(nullptr), m_r4811(0), m_r4812(0), m_r4813(0), m_r4814(0), m_r4815(0), m_r4816(0), m_r4817(0), m_r4818(0),
- m_r481x(0), m_r4814_latch(0), m_r4815_latch(0), m_r4820(0), m_r4821(0), m_r4822(0), m_r4823(0), m_r4824(0), m_r4825(0), m_r4826(0), m_r4827(0), m_r4828(0), m_r4829(0), m_r482a(0),
- m_r482b(0), m_r482c(0), m_r482d(0), m_r482e(0), m_r482f(0), m_r4830(0), m_r4831(0), m_r4832(0), m_r4833(0), m_r4834(0), m_dx_offset(0), m_ex_offset(0), m_fx_offset(0), m_r4840(0),
- m_r4841(0), m_r4842(0), m_rtc_state(0), m_rtc_mode(0), m_rtc_index(0), m_rtc_offset(0)
- {
+sns_rom_spc7110_device::sns_rom_spc7110_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : sns_rom21_device(mconfig, type, tag, owner, clock)
+ , m_r4801(0), m_r4802(0), m_r4803(0), m_r4804(0), m_r4805(0), m_r4806(0), m_r4807(0), m_r4808(0), m_r4809(0), m_r480a(0), m_r480b(0), m_r480c(0)
+ , m_decomp(nullptr)
+ , m_r4811(0), m_r4812(0), m_r4813(0), m_r4814(0), m_r4815(0), m_r4816(0), m_r4817(0), m_r4818(0), m_r481x(0), m_r4814_latch(0), m_r4815_latch(0)
+ , m_r4820(0), m_r4821(0), m_r4822(0), m_r4823(0), m_r4824(0), m_r4825(0), m_r4826(0), m_r4827(0), m_r4828(0), m_r4829(0), m_r482a(0), m_r482b(0), m_r482c(0), m_r482d(0), m_r482e(0), m_r482f(0)
+ , m_r4830(0), m_r4831(0), m_r4832(0), m_r4833(0), m_r4834(0)
+ , m_dx_offset(0), m_ex_offset(0), m_fx_offset(0)
+ , m_r4840(0), m_r4841(0), m_r4842(0)
+ , m_rtc_state(0), m_rtc_mode(0), m_rtc_index(0), m_rtc_offset(0)
+{
}
sns_rom_spc7110_device::sns_rom_spc7110_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom21_device(mconfig, SNS_HIROM_SPC7110, "SNES Cart + SPC-7110", tag, owner, clock, "sns_rom_spc7110", __FILE__), m_r4801(0), m_r4802(0), m_r4803(0), m_r4804(0), m_r4805(0), m_r4806(0), m_r4807(0),
- m_r4808(0), m_r4809(0), m_r480a(0), m_r480b(0), m_r480c(0), m_decomp(nullptr), m_r4811(0), m_r4812(0), m_r4813(0), m_r4814(0), m_r4815(0), m_r4816(0), m_r4817(0), m_r4818(0),
- m_r481x(0), m_r4814_latch(0), m_r4815_latch(0), m_r4820(0), m_r4821(0), m_r4822(0), m_r4823(0), m_r4824(0), m_r4825(0), m_r4826(0), m_r4827(0), m_r4828(0), m_r4829(0), m_r482a(0),
- m_r482b(0), m_r482c(0), m_r482d(0), m_r482e(0), m_r482f(0), m_r4830(0), m_r4831(0), m_r4832(0), m_r4833(0), m_r4834(0), m_dx_offset(0), m_ex_offset(0), m_fx_offset(0), m_r4840(0),
- m_r4841(0), m_r4842(0), m_rtc_state(0), m_rtc_mode(0), m_rtc_index(0), m_rtc_offset(0)
+ : sns_rom_spc7110_device(mconfig, SNS_HIROM_SPC7110, tag, owner, clock)
{
}
sns_rom_spc7110rtc_device::sns_rom_spc7110rtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_spc7110_device(mconfig, SNS_HIROM_SPC7110_RTC, "SNES Cart + SPC-7110 + RTC", tag, owner, clock, "sns_rom_spc7110rtc", __FILE__)
+ : sns_rom_spc7110_device(mconfig, SNS_HIROM_SPC7110_RTC, tag, owner, clock)
{
}
@@ -297,30 +315,21 @@ static const uint8_t spc7110_mode2_context_table[32][2] =
{ 31, 31 },
};
-SPC7110_Decomp::SPC7110_Decomp(running_machine &machine)
- : m_machine(machine)
+sns_rom_spc7110_device::SPC7110_Decomp::SPC7110_Decomp(running_machine &machine) : m_machine(machine)
{
m_decomp_buffer = std::make_unique<uint8_t[]>(SPC7110_DECOMP_BUFFER_SIZE);
reset();
- for (int i = 0; i < 256; i++)
+ for (uint32_t i = 0; i < 256; i++)
{
-#define map(x, y) (((i >> x) & 1) << y)
//2x8-bit
- m_morton16[1][i] = map(7, 15) + map(6, 7) + map(5, 14) + map(4, 6)
- + map(3, 13) + map(2, 5) + map(1, 12) + map(0, 4);
- m_morton16[0][i] = map(7, 11) + map(6, 3) + map(5, 10) + map(4, 2)
- + map(3, 9) + map(2, 1) + map(1, 8) + map(0, 0);
+ m_morton16[0][i] = (bitswap<4>(i, 7, 5, 3, 1) << 8) | (bitswap<4>(i, 6, 4, 2, 0) << 0);
+ m_morton16[1][i] = m_morton16[0][i] << 4;
//4x8-bit
- m_morton32[3][i] = map(7, 31) + map(6, 23) + map(5, 15) + map(4, 7)
- + map(3, 30) + map(2, 22) + map(1, 14) + map(0, 6);
- m_morton32[2][i] = map(7, 29) + map(6, 21) + map(5, 13) + map(4, 5)
- + map(3, 28) + map(2, 20) + map(1, 12) + map(0, 4);
- m_morton32[1][i] = map(7, 27) + map(6, 19) + map(5, 11) + map(4, 3)
- + map(3, 26) + map(2, 18) + map(1, 10) + map(0, 2);
- m_morton32[0][i] = map(7, 25) + map(6, 17) + map(5, 9) + map(4, 1)
- + map(3, 24) + map(2, 16) + map(1, 8) + map(0, 0);
-#undef map
+ m_morton32[0][i] = (bitswap<2>(i, 7, 3) << 24) | (bitswap<2>(i, 6, 2) << 16) | (bitswap<2>(i, 5, 1) << 8) | (bitswap<2>(i, 4, 0) << 0);
+ m_morton32[1][i] = m_morton32[0][i] << 2;
+ m_morton32[2][i] = m_morton32[0][i] << 4;
+ m_morton32[3][i] = m_morton32[0][i] << 6;
}
m_machine.save().save_item(m_decomp_mode, "SNES_SPC7110/m_decomp_mode");
@@ -368,7 +377,7 @@ SPC7110_Decomp::SPC7110_Decomp(running_machine &machine)
m_machine.save().save_item(m_m2_in_count, "SNES_SPC7110/m_m2_in_count");
}
-void SPC7110_Decomp::reset()
+void sns_rom_spc7110_device::SPC7110_Decomp::reset()
{
//mode 3 is invalid; this is treated as a special case to always return 0x00
//set to mode 3 so that reading decomp port before starting first decomp will return 0x00
@@ -379,7 +388,7 @@ void SPC7110_Decomp::reset()
m_decomp_buffer_length = 0;
}
-void SPC7110_Decomp::init(running_machine &machine, uint8_t *ROM, uint32_t len, uint32_t mode, uint32_t offset, uint32_t index)
+void sns_rom_spc7110_device::SPC7110_Decomp::init(running_machine &machine, uint8_t *ROM, uint32_t len, uint32_t mode, uint32_t offset, uint32_t index)
{
m_decomp_mode = mode;
m_decomp_offset = offset;
@@ -409,7 +418,7 @@ void SPC7110_Decomp::init(running_machine &machine, uint8_t *ROM, uint32_t len,
}
}
-uint8_t SPC7110_Decomp::read(uint8_t *ROM, uint32_t len)
+uint8_t sns_rom_spc7110_device::SPC7110_Decomp::read(uint8_t *ROM, uint32_t len)
{
uint8_t data;
@@ -441,14 +450,14 @@ uint8_t SPC7110_Decomp::read(uint8_t *ROM, uint32_t len)
return data;
}
-void SPC7110_Decomp::write(uint8_t data)
+void sns_rom_spc7110_device::SPC7110_Decomp::write(uint8_t data)
{
m_decomp_buffer[m_decomp_buffer_wroffset++] = data;
m_decomp_buffer_wroffset &= SPC7110_DECOMP_BUFFER_SIZE - 1;
m_decomp_buffer_length++;
}
-uint8_t SPC7110_Decomp::dataread(uint8_t *ROM, uint32_t len)
+uint8_t sns_rom_spc7110_device::SPC7110_Decomp::dataread(uint8_t *ROM, uint32_t len)
{
uint32_t size = len - 0x100000;
while (m_decomp_offset >= size)
@@ -458,7 +467,7 @@ uint8_t SPC7110_Decomp::dataread(uint8_t *ROM, uint32_t len)
return ROM[0x100000 + m_decomp_offset++];
}
-void SPC7110_Decomp::mode0(uint8_t init, uint8_t *ROM, uint32_t len)
+void sns_rom_spc7110_device::SPC7110_Decomp::mode0(uint8_t init, uint8_t *ROM, uint32_t len)
{
if (init == 1)
{
@@ -543,7 +552,7 @@ void SPC7110_Decomp::mode0(uint8_t init, uint8_t *ROM, uint32_t len)
}
}
-void SPC7110_Decomp::mode1(uint8_t init, uint8_t *ROM, uint32_t len)
+void sns_rom_spc7110_device::SPC7110_Decomp::mode1(uint8_t init, uint8_t *ROM, uint32_t len)
{
if (init == 1)
{
@@ -704,7 +713,7 @@ void SPC7110_Decomp::mode1(uint8_t init, uint8_t *ROM, uint32_t len)
}
}
-void SPC7110_Decomp::mode2(uint8_t init, uint8_t *ROM, uint32_t len)
+void sns_rom_spc7110_device::SPC7110_Decomp::mode2(uint8_t init, uint8_t *ROM, uint32_t len)
{
if (init == 1)
{
@@ -882,27 +891,27 @@ void SPC7110_Decomp::mode2(uint8_t init, uint8_t *ROM, uint32_t len)
}
}
-uint8_t SPC7110_Decomp::probability(uint32_t n)
+uint8_t sns_rom_spc7110_device::SPC7110_Decomp::probability(uint32_t n)
{
return spc7110_evolution_table[m_context[n].index][0];
}
-uint8_t SPC7110_Decomp::next_lps(uint32_t n)
+uint8_t sns_rom_spc7110_device::SPC7110_Decomp::next_lps(uint32_t n)
{
return spc7110_evolution_table[m_context[n].index][1];
}
-uint8_t SPC7110_Decomp::next_mps(uint32_t n)
+uint8_t sns_rom_spc7110_device::SPC7110_Decomp::next_mps(uint32_t n)
{
return spc7110_evolution_table[m_context[n].index][2];
}
-uint8_t SPC7110_Decomp::toggle_invert(uint32_t n)
+uint8_t sns_rom_spc7110_device::SPC7110_Decomp::toggle_invert(uint32_t n)
{
return spc7110_evolution_table[m_context[n].index][3];
}
-uint32_t SPC7110_Decomp::morton_2x8(uint32_t data)
+uint32_t sns_rom_spc7110_device::SPC7110_Decomp::morton_2x8(uint32_t data)
{
//reverse morton lookup: de-interleave two 8-bit values
//15, 13, 11, 9, 7, 5, 3, 1 -> 15- 8
@@ -910,7 +919,7 @@ uint32_t SPC7110_Decomp::morton_2x8(uint32_t data)
return m_morton16[0][(data >> 0) & 255] + m_morton16[1][(data >> 8) & 255];
}
-uint32_t SPC7110_Decomp::morton_4x8(uint32_t data)
+uint32_t sns_rom_spc7110_device::SPC7110_Decomp::morton_4x8(uint32_t data)
{
//reverse morton lookup: de-interleave four 8-bit values
//31, 27, 23, 19, 15, 11, 7, 3 -> 31-24
diff --git a/src/devices/bus/snes/spc7110.h b/src/devices/bus/snes/spc7110.h
index 90274f551a9..249944c8ae7 100644
--- a/src/devices/bus/snes/spc7110.h
+++ b/src/devices/bus/snes/spc7110.h
@@ -1,100 +1,22 @@
// license:GPL-2.0+
// copyright-holders:Fabio Priuli, byuu
-#ifndef __SNS_SPC7110_H
-#define __SNS_SPC7110_H
+#ifndef MAME_BUS_SNES_SPC7110_H
+#define MAME_BUS_SNES_SPC7110_H
+
+#pragma once
#include "snes_slot.h"
#include "rom21.h"
-enum RTC_State
-{
- RTCS_Inactive,
- RTCS_ModeSelect,
- RTCS_IndexSelect,
- RTCS_Write
-};
-
-enum RTC_Mode
-{
- RTCM_Linear = 0x03,
- RTCM_Indexed = 0x0c
-};
-
-class SPC7110_Decomp
-{
-public:
- SPC7110_Decomp(running_machine &machine);
-
- running_machine &machine() const { return m_machine; }
-
- void init(running_machine &machine, uint8_t *ROM, uint32_t len, uint32_t mode, uint32_t offset, uint32_t index);
- void reset();
-
- uint8_t read(uint8_t *ROM, uint32_t len);
- void write(uint8_t data);
- void mode0(uint8_t init, uint8_t *ROM, uint32_t len);
- void mode1(uint8_t init, uint8_t *ROM, uint32_t len);
- void mode2(uint8_t init, uint8_t *ROM, uint32_t len);
-
-private:
-
- uint8_t dataread(uint8_t *ROM, uint32_t len);
- uint8_t probability(uint32_t n);
- uint8_t next_lps(uint32_t n);
- uint8_t next_mps(uint32_t n);
- uint8_t toggle_invert(uint32_t n);
- uint32_t morton_2x8(uint32_t data);
- uint32_t morton_4x8(uint32_t data);
-
- uint32_t m_decomp_mode;
- uint32_t m_decomp_offset;
-
- std::unique_ptr<uint8_t[]> m_decomp_buffer;
- uint32_t m_decomp_buffer_rdoffset;
- uint32_t m_decomp_buffer_wroffset;
- uint32_t m_decomp_buffer_length;
-
- struct ContextState
- {
- uint8_t index;
- uint8_t invert;
- } m_context[32];
-
- uint32_t m_morton16[2][256];
- uint32_t m_morton32[4][256];
-
- // mode 0 vars
- uint8_t m_m0_val, m_m0_in, m_m0_span;
- int32_t m_m0_out, m_m0_inverts, m_m0_lps, m_m0_in_count;
-
- // mode 1 vars
- int32_t m_m1_pixelorder[4], m_m1_realorder[4];
- uint8_t m_m1_in, m_m1_val, m_m1_span;
- int32_t m_m1_out, m_m1_inverts, m_m1_lps, m_m1_in_count;
-
- // mode 2 vars
- int32_t m_m2_pixelorder[16], m_m2_realorder[16];
- uint8_t m_m2_bitplanebuffer[16], m_m2_buffer_index;
- uint8_t m_m2_in, m_m2_val, m_m2_span;
- int32_t m_m2_out0, m_m2_out1, m_m2_inverts, m_m2_lps, m_m2_in_count;
-
- running_machine& m_machine;
- //uint32_t m_rom_size;
-};
-
// ======================> sns_rom_spc7110_device
class sns_rom_spc7110_device : public sns_rom21_device
{
public:
// construction/destruction
- sns_rom_spc7110_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
sns_rom_spc7110_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
virtual DECLARE_READ8_MEMBER(read_h) override;
@@ -104,6 +26,74 @@ public:
virtual DECLARE_READ8_MEMBER(chip_read) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override;
+protected:
+ sns_rom_spc7110_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
+ class SPC7110_Decomp
+ {
+ public:
+ SPC7110_Decomp(running_machine &machine);
+
+ running_machine &machine() const { return m_machine; }
+
+ void init(running_machine &machine, uint8_t *ROM, uint32_t len, uint32_t mode, uint32_t offset, uint32_t index);
+ void reset();
+
+ uint8_t read(uint8_t *ROM, uint32_t len);
+ void write(uint8_t data);
+ void mode0(uint8_t init, uint8_t *ROM, uint32_t len);
+ void mode1(uint8_t init, uint8_t *ROM, uint32_t len);
+ void mode2(uint8_t init, uint8_t *ROM, uint32_t len);
+
+ private:
+
+ uint8_t dataread(uint8_t *ROM, uint32_t len);
+ uint8_t probability(uint32_t n);
+ uint8_t next_lps(uint32_t n);
+ uint8_t next_mps(uint32_t n);
+ uint8_t toggle_invert(uint32_t n);
+ uint32_t morton_2x8(uint32_t data);
+ uint32_t morton_4x8(uint32_t data);
+
+ uint32_t m_decomp_mode;
+ uint32_t m_decomp_offset;
+
+ std::unique_ptr<uint8_t[]> m_decomp_buffer;
+ uint32_t m_decomp_buffer_rdoffset;
+ uint32_t m_decomp_buffer_wroffset;
+ uint32_t m_decomp_buffer_length;
+
+ struct ContextState
+ {
+ uint8_t index;
+ uint8_t invert;
+ } m_context[32];
+
+ uint32_t m_morton16[2][256];
+ uint32_t m_morton32[4][256];
+
+ // mode 0 vars
+ uint8_t m_m0_val, m_m0_in, m_m0_span;
+ int32_t m_m0_out, m_m0_inverts, m_m0_lps, m_m0_in_count;
+
+ // mode 1 vars
+ int32_t m_m1_pixelorder[4], m_m1_realorder[4];
+ uint8_t m_m1_in, m_m1_val, m_m1_span;
+ int32_t m_m1_out, m_m1_inverts, m_m1_lps, m_m1_in_count;
+
+ // mode 2 vars
+ int32_t m_m2_pixelorder[16], m_m2_realorder[16];
+ uint8_t m_m2_bitplanebuffer[16], m_m2_buffer_index;
+ uint8_t m_m2_in, m_m2_val, m_m2_span;
+ int32_t m_m2_out0, m_m2_out1, m_m2_inverts, m_m2_lps, m_m2_in_count;
+
+ running_machine& m_machine;
+ //uint32_t m_rom_size;
+ };
+
void spc7110_start();
uint32_t spc7110_datarom_addr(uint32_t addr, uint32_t len);
uint32_t spc7110_data_pointer();
@@ -206,9 +196,6 @@ public:
// construction/destruction
sns_rom_spc7110rtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
-
// reading and writing
// we just use the spc7110 ones for the moment, pending the split of regs 0x4840-0x4842 (RTC) from the base add-on
@@ -217,10 +204,14 @@ public:
// virtual DECLARE_READ8_MEMBER(chip_read);
// virtual DECLARE_WRITE8_MEMBER(chip_write);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
// device type definition
-extern const device_type SNS_HIROM_SPC7110;
-extern const device_type SNS_HIROM_SPC7110_RTC;
+DECLARE_DEVICE_TYPE(SNS_HIROM_SPC7110, sns_rom_spc7110_device)
+DECLARE_DEVICE_TYPE(SNS_HIROM_SPC7110_RTC, sns_rom_spc7110rtc_device)
-#endif
+#endif // MAME_BUS_SNES_SPC7110_H
diff --git a/src/devices/bus/snes/sufami.cpp b/src/devices/bus/snes/sufami.cpp
index 782e8669f13..4e4180cc758 100644
--- a/src/devices/bus/snes/sufami.cpp
+++ b/src/devices/bus/snes/sufami.cpp
@@ -20,19 +20,19 @@
// sns_rom_sufami_device - constructor
//-------------------------------------------------
-const device_type SNS_LOROM_SUFAMI = device_creator<sns_rom_sufami_device>;
-const device_type SNS_STROM = device_creator<sns_rom_strom_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM_SUFAMI, sns_rom_sufami_device, "sns_rom_sufami", "SNES Sufami Turbo Cart")
+DEFINE_DEVICE_TYPE(SNS_STROM, sns_rom_strom_device, "sns_strom", "SNES Sufami Turbo Minicart")
sns_rom_sufami_device::sns_rom_sufami_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_SUFAMI, "SNES Sufami Turbo Cart", tag, owner, clock, "sns_rom_sufami", __FILE__),
- m_slot1(*this, "st_slot1"),
- m_slot2(*this, "st_slot2")
+ : sns_rom_device(mconfig, SNS_LOROM_SUFAMI, tag, owner, clock)
+ , m_slot1(*this, "st_slot1")
+ , m_slot2(*this, "st_slot2")
{
}
sns_rom_strom_device::sns_rom_strom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_STROM, "SNES Sufami Turbo Minicart", tag, owner, clock, "sns_strom", __FILE__)
+ : sns_rom_device(mconfig, SNS_STROM, tag, owner, clock)
{
}
diff --git a/src/devices/bus/snes/sufami.h b/src/devices/bus/snes/sufami.h
index b00c8c8ed07..b9712e6cf43 100644
--- a/src/devices/bus/snes/sufami.h
+++ b/src/devices/bus/snes/sufami.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_SUFAMI_H
-#define __SNS_SUFAMI_H
+#ifndef MAME_BUS_SNES_SUFAMI_H
+#define MAME_BUS_SNES_SUFAMI_H
+
+#pragma once
#include "snes_slot.h"
#include "rom.h"
@@ -15,8 +17,6 @@ public:
// construction/destruction
sns_rom_sufami_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
// additional reading and writing
@@ -25,6 +25,10 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
required_device<sns_sufami_cart_slot_device> m_slot1;
required_device<sns_sufami_cart_slot_device> m_slot2;
@@ -38,16 +42,17 @@ public:
// construction/destruction
sns_rom_strom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
-
// additional reading and writing
virtual DECLARE_READ8_MEMBER(read_l) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
// device type definition
-extern const device_type SNS_LOROM_SUFAMI;
-extern const device_type SNS_STROM;
+DECLARE_DEVICE_TYPE(SNS_LOROM_SUFAMI, sns_rom_sufami_device)
+DECLARE_DEVICE_TYPE(SNS_STROM, sns_rom_strom_device)
-#endif
+#endif // MAME_BUS_SNES_SUFAMI_H
diff --git a/src/devices/bus/snes/upd.cpp b/src/devices/bus/snes/upd.cpp
index 86dd2ef49f4..ba7290da5a7 100644
--- a/src/devices/bus/snes/upd.cpp
+++ b/src/devices/bus/snes/upd.cpp
@@ -26,49 +26,44 @@ inline uint16_t get_data(uint8_t *CPU, uint32_t addr)
// constructor
//-------------------------------------------------
-const device_type SNS_LOROM_NECDSP = device_creator<sns_rom20_necdsp_device>;
-const device_type SNS_HIROM_NECDSP = device_creator<sns_rom21_necdsp_device>;
-const device_type SNS_LOROM_SETA10 = device_creator<sns_rom_seta10dsp_device>;
-const device_type SNS_LOROM_SETA11 = device_creator<sns_rom_seta11dsp_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM_NECDSP, sns_rom20_necdsp_device, "sns_rom_necdsp", "SNES Cart (LoROM) + NEC DSP")
+DEFINE_DEVICE_TYPE(SNS_HIROM_NECDSP, sns_rom21_necdsp_device, "sns_rom21_necdsp", "SNES Cart (HiROM) + NEC DSP")
+DEFINE_DEVICE_TYPE(SNS_LOROM_SETA10, sns_rom_seta10dsp_device, "sns_rom_seta10", "SNES Cart (LoROM) + Seta ST010 DSP")
+DEFINE_DEVICE_TYPE(SNS_LOROM_SETA11, sns_rom_seta11dsp_device, "sns_rom_seta11", "SNES Cart (LoROM) + Seta ST011 DSP")
-sns_rom20_necdsp_device::sns_rom20_necdsp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : sns_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_upd7725(*this, "dsp")
+sns_rom20_necdsp_device::sns_rom20_necdsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : sns_rom_device(mconfig, type, tag, owner, clock), m_upd7725(*this, "dsp")
{
}
sns_rom20_necdsp_device::sns_rom20_necdsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_device(mconfig, SNS_LOROM_NECDSP, "SNES Cart (LoROM) + NEC DSP", tag, owner, clock, "sns_rom_necdsp", __FILE__),
- m_upd7725(*this, "dsp")
+ : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP, tag, owner, clock)
{
}
-sns_rom21_necdsp_device::sns_rom21_necdsp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : sns_rom21_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_upd7725(*this, "dsp")
+sns_rom21_necdsp_device::sns_rom21_necdsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : sns_rom21_device(mconfig, type, tag, owner, clock), m_upd7725(*this, "dsp")
{
}
sns_rom21_necdsp_device::sns_rom21_necdsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom21_device(mconfig, SNS_HIROM_NECDSP, "SNES Cart (HiROM) + NEC DSP", tag, owner, clock, "sns_rom21_necdsp", __FILE__),
- m_upd7725(*this, "dsp")
+ : sns_rom21_necdsp_device(mconfig, SNS_HIROM_NECDSP, tag, owner, clock)
{
}
-sns_rom_setadsp_device::sns_rom_setadsp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : sns_rom_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_upd96050(*this, "dsp")
+sns_rom_setadsp_device::sns_rom_setadsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : sns_rom_device(mconfig, type, tag, owner, clock), m_upd96050(*this, "dsp")
{
}
sns_rom_seta10dsp_device::sns_rom_seta10dsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_setadsp_device(mconfig, SNS_LOROM_SETA10, "SNES Cart (LoROM) + Seta ST010 DSP", tag, owner, clock, "sns_rom_seta10", __FILE__)
+ : sns_rom_setadsp_device(mconfig, SNS_LOROM_SETA10, tag, owner, clock)
{
}
sns_rom_seta11dsp_device::sns_rom_seta11dsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_setadsp_device(mconfig, SNS_LOROM_SETA11, "SNES Cart (LoROM) + Seta ST011 DSP", tag, owner, clock, "sns_rom_seta11", __FILE__)
+ : sns_rom_setadsp_device(mconfig, SNS_LOROM_SETA11, tag, owner, clock)
{
}
@@ -398,53 +393,53 @@ void sns_rom_setadsp_device::speedup_addon_bios_access()
// Legacy versions including DSP dump roms, in order to support faulty dumps missing DSP data...
-const device_type SNS_LOROM_NECDSP1_LEG = device_creator<sns_rom20_necdsp1_legacy_device>;
-const device_type SNS_LOROM_NECDSP1B_LEG = device_creator<sns_rom20_necdsp1b_legacy_device>;
-const device_type SNS_LOROM_NECDSP2_LEG = device_creator<sns_rom20_necdsp2_legacy_device>;
-const device_type SNS_LOROM_NECDSP3_LEG = device_creator<sns_rom20_necdsp3_legacy_device>;
-const device_type SNS_LOROM_NECDSP4_LEG = device_creator<sns_rom20_necdsp4_legacy_device>;
-const device_type SNS_HIROM_NECDSP1_LEG = device_creator<sns_rom21_necdsp1_legacy_device>;
-const device_type SNS_LOROM_SETA10_LEG = device_creator<sns_rom_seta10dsp_legacy_device>;
-const device_type SNS_LOROM_SETA11_LEG = device_creator<sns_rom_seta11dsp_legacy_device>;
+DEFINE_DEVICE_TYPE(SNS_LOROM_NECDSP1_LEG, sns_rom20_necdsp1_legacy_device, "sns_dsp1leg", "SNES Cart (LoROM) + NEC DSP1 Legacy")
+DEFINE_DEVICE_TYPE(SNS_LOROM_NECDSP1B_LEG, sns_rom20_necdsp1b_legacy_device, "sns_dsp1bleg", "SNES Cart (LoROM) + NEC DSP1B Legacy")
+DEFINE_DEVICE_TYPE(SNS_LOROM_NECDSP2_LEG, sns_rom20_necdsp2_legacy_device, "sns_dsp2leg", "SNES Cart (LoROM) + NEC DSP2 Legacy")
+DEFINE_DEVICE_TYPE(SNS_LOROM_NECDSP3_LEG, sns_rom20_necdsp3_legacy_device, "sns_dsp3leg", "SNES Cart (LoROM) + NEC DSP3 Legacy")
+DEFINE_DEVICE_TYPE(SNS_LOROM_NECDSP4_LEG, sns_rom20_necdsp4_legacy_device, "sns_dsp4leg", "SNES Cart (LoROM) + NEC DSP4 Legacy")
+DEFINE_DEVICE_TYPE(SNS_HIROM_NECDSP1_LEG, sns_rom21_necdsp1_legacy_device, "sns_dsp1leg_hi", "SNES Cart (HiROM) + NEC DSP1 Legacy")
+DEFINE_DEVICE_TYPE(SNS_LOROM_SETA10_LEG, sns_rom_seta10dsp_legacy_device, "sns_seta10leg", "SNES Cart (LoROM) + SETA ST010 DSP Legacy")
+DEFINE_DEVICE_TYPE(SNS_LOROM_SETA11_LEG, sns_rom_seta11dsp_legacy_device, "sns_seta11leg", "SNES Cart (LoROM) + SETA ST011 DSP Legacy")
sns_rom20_necdsp1_legacy_device::sns_rom20_necdsp1_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP1_LEG, "SNES Cart (LoROM) + NEC DSP1 Legacy", tag, owner, clock, "dsp1leg", __FILE__)
+ : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP1_LEG, tag, owner, clock)
{
}
sns_rom20_necdsp1b_legacy_device::sns_rom20_necdsp1b_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP1B_LEG, "SNES Cart (LoROM) + NEC DSP1B Legacy", tag, owner, clock, "dsp1bleg", __FILE__)
+ : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP1B_LEG, tag, owner, clock)
{
}
sns_rom20_necdsp2_legacy_device::sns_rom20_necdsp2_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP2_LEG, "SNES Cart (LoROM) + NEC DSP2 Legacy", tag, owner, clock, "dsp2leg", __FILE__)
+ : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP2_LEG, tag, owner, clock)
{
}
sns_rom20_necdsp3_legacy_device::sns_rom20_necdsp3_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP3_LEG, "SNES Cart (LoROM) + NEC DSP3 Legacy", tag, owner, clock, "dsp3leg", __FILE__)
+ : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP3_LEG, tag, owner, clock)
{
}
sns_rom20_necdsp4_legacy_device::sns_rom20_necdsp4_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP4_LEG, "SNES Cart (LoROM) + NEC DSP4 Legacy", tag, owner, clock, "dsp4leg", __FILE__)
+ : sns_rom20_necdsp_device(mconfig, SNS_LOROM_NECDSP4_LEG, tag, owner, clock)
{
}
sns_rom21_necdsp1_legacy_device::sns_rom21_necdsp1_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom21_necdsp_device(mconfig, SNS_HIROM_NECDSP1_LEG, "SNES Cart (HiROM) + NEC DSP1 Legacy", tag, owner, clock, "dsp1leg_hi", __FILE__)
+ : sns_rom21_necdsp_device(mconfig, SNS_HIROM_NECDSP1_LEG, tag, owner, clock)
{
}
sns_rom_seta10dsp_legacy_device::sns_rom_seta10dsp_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_setadsp_device(mconfig, SNS_LOROM_SETA10_LEG, "SNES Cart (LoROM) + Seta ST010 DSP Legacy", tag, owner, clock, "seta10leg", __FILE__)
+ : sns_rom_setadsp_device(mconfig, SNS_LOROM_SETA10_LEG, tag, owner, clock)
{
}
sns_rom_seta11dsp_legacy_device::sns_rom_seta11dsp_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sns_rom_setadsp_device(mconfig, SNS_LOROM_SETA11_LEG, "SNES Cart (LoROM) + Seta ST011 DSP Legacy", tag, owner, clock, "seta11leg", __FILE__)
+ : sns_rom_setadsp_device(mconfig, SNS_LOROM_SETA11_LEG, tag, owner, clock)
{
}
diff --git a/src/devices/bus/snes/upd.h b/src/devices/bus/snes/upd.h
index fa0d4dcb2ff..161441d8bdd 100644
--- a/src/devices/bus/snes/upd.h
+++ b/src/devices/bus/snes/upd.h
@@ -1,29 +1,27 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SNS_UPD_H
-#define __SNS_UPD_H
+#ifndef MAME_BUS_SNES_UPD_H
+#define MAME_BUS_SNES_UPD_H
+
+#pragma once
#include "snes_slot.h"
#include "rom.h"
#include "rom21.h"
#include "cpu/upd7725/upd7725.h"
-// ======================> sns_rom_necdsp_device
+// ======================> sns_rom20_necdsp_device
class sns_rom20_necdsp_device : public sns_rom_device
{
public:
// construction/destruction
- sns_rom20_necdsp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
sns_rom20_necdsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void speedup_addon_bios_access() override;
- required_device<upd7725_device> m_upd7725;
-
// additional reading and writing
virtual DECLARE_READ8_MEMBER(chip_read) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override;
@@ -31,6 +29,12 @@ public:
virtual DECLARE_READ32_MEMBER(necdsp_prg_r);
virtual DECLARE_READ16_MEMBER(necdsp_data_r);
+protected:
+ sns_rom20_necdsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ required_device<upd7725_device> m_upd7725;
+
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
};
@@ -41,16 +45,11 @@ class sns_rom21_necdsp_device : public sns_rom21_device
{
public:
// construction/destruction
- sns_rom21_necdsp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
sns_rom21_necdsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void speedup_addon_bios_access() override;
- required_device<upd7725_device> m_upd7725;
-
// additional reading and writing
virtual DECLARE_READ8_MEMBER(chip_read) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override;
@@ -58,6 +57,14 @@ public:
virtual DECLARE_READ32_MEMBER(necdsp_prg_r);
virtual DECLARE_READ16_MEMBER(necdsp_data_r);
+protected:
+ sns_rom21_necdsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
+ required_device<upd7725_device> m_upd7725;
+
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
};
@@ -67,15 +74,8 @@ public:
class sns_rom_setadsp_device : public sns_rom_device
{
public:
- // construction/destruction
- sns_rom_setadsp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // device-level overrides
- virtual void device_start() override;
virtual void speedup_addon_bios_access() override;
- required_device<upd96050_device> m_upd96050;
-
// additional reading and writing
virtual DECLARE_READ8_MEMBER(chip_read) override;
virtual DECLARE_WRITE8_MEMBER(chip_write) override;
@@ -83,6 +83,15 @@ public:
virtual DECLARE_READ32_MEMBER(setadsp_prg_r);
virtual DECLARE_READ16_MEMBER(setadsp_data_r);
+protected:
+ // construction/destruction
+ sns_rom_setadsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+
+ required_device<upd96050_device> m_upd96050;
+
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
};
@@ -113,11 +122,10 @@ public:
// device type definition
-extern const device_type SNS_LOROM_NECDSP;
-extern const device_type SNS_HIROM_NECDSP;
-extern const device_type SNS_LOROM_SETA10;
-extern const device_type SNS_LOROM_SETA11;
-
+DECLARE_DEVICE_TYPE(SNS_LOROM_NECDSP, sns_rom20_necdsp_device)
+DECLARE_DEVICE_TYPE(SNS_HIROM_NECDSP, sns_rom21_necdsp_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_SETA10, sns_rom_seta10dsp_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_SETA11, sns_rom_seta11dsp_device)
@@ -211,13 +219,13 @@ public:
virtual const tiny_rom_entry *device_rom_region() const override;
};
-extern const device_type SNS_LOROM_NECDSP1_LEG;
-extern const device_type SNS_LOROM_NECDSP1B_LEG;
-extern const device_type SNS_LOROM_NECDSP2_LEG;
-extern const device_type SNS_LOROM_NECDSP3_LEG;
-extern const device_type SNS_LOROM_NECDSP4_LEG;
-extern const device_type SNS_HIROM_NECDSP1_LEG;
-extern const device_type SNS_LOROM_SETA10_LEG;
-extern const device_type SNS_LOROM_SETA11_LEG;
+DECLARE_DEVICE_TYPE(SNS_LOROM_NECDSP1_LEG, sns_rom20_necdsp1_legacy_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_NECDSP1B_LEG, sns_rom20_necdsp1b_legacy_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_NECDSP2_LEG, sns_rom20_necdsp2_legacy_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_NECDSP3_LEG, sns_rom20_necdsp3_legacy_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_NECDSP4_LEG, sns_rom20_necdsp4_legacy_device)
+DECLARE_DEVICE_TYPE(SNS_HIROM_NECDSP1_LEG, sns_rom21_necdsp1_legacy_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_SETA10_LEG, sns_rom_seta10dsp_legacy_device)
+DECLARE_DEVICE_TYPE(SNS_LOROM_SETA11_LEG, sns_rom_seta11dsp_legacy_device)
-#endif
+#endif // MAME_BUS_SNES_UPD_H
diff --git a/src/devices/bus/snes_ctrl/bcbattle.cpp b/src/devices/bus/snes_ctrl/bcbattle.cpp
index 0195bf0fe6b..435a3a6d3c3 100644
--- a/src/devices/bus/snes_ctrl/bcbattle.cpp
+++ b/src/devices/bus/snes_ctrl/bcbattle.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SNES_BARCODE_BATTLER = device_creator<snes_bcbattle_device>;
+DEFINE_DEVICE_TYPE(SNES_BARCODE_BATTLER, snes_bcbattle_device, "snes_bcbattle", "Epoch Barcode Battler (SFC)")
MACHINE_CONFIG_FRAGMENT( snes_battler )
@@ -83,9 +83,12 @@ void snes_bcbattle_device::device_timer(emu_timer &timer, device_timer_id id, in
//-------------------------------------------------
snes_bcbattle_device::snes_bcbattle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SNES_BARCODE_BATTLER, "Epoch Barcode Battler (SFC)", tag, owner, clock, "snes_bcbattle", __FILE__),
- device_snes_control_port_interface(mconfig, *this),
- m_reader(*this, "battler"), m_pending_code(0), m_new_code(0), m_transmitting(0), m_cur_bit(0), m_cur_byte(0), battler_timer(nullptr), m_strobe(0), m_idx(0)
+ device_t(mconfig, SNES_BARCODE_BATTLER, tag, owner, clock),
+ device_snes_control_port_interface(mconfig, *this),
+ m_reader(*this, "battler"),
+ m_pending_code(0), m_new_code(0), m_transmitting(0), m_cur_bit(0), m_cur_byte(0),
+ battler_timer(nullptr),
+ m_strobe(0), m_idx(0)
{
}
diff --git a/src/devices/bus/snes_ctrl/bcbattle.h b/src/devices/bus/snes_ctrl/bcbattle.h
index 7fde5b0e54b..91d7eb8d76b 100644
--- a/src/devices/bus/snes_ctrl/bcbattle.h
+++ b/src/devices/bus/snes_ctrl/bcbattle.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SNES_CTRL_BCBATTLE_H
+#define MAME_BUS_SNES_CTRL_BCBATTLE_H
-#ifndef __SNES_BCBATTLE__
-#define __SNES_BCBATTLE__
+#pragma once
#include "ctrl.h"
@@ -28,13 +28,13 @@ public:
// construction/destruction
snes_bcbattle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual uint8_t read_pin4() override;
virtual void write_strobe(uint8_t data) override;
@@ -43,8 +43,8 @@ protected:
int read_current_bit();
private:
+ static constexpr device_timer_id TIMER_BATTLER = 1;
- static const device_timer_id TIMER_BATTLER = 1;
required_device<barcode_reader_device> m_reader;
uint8_t m_current_barcode[20];
int m_pending_code, m_new_code, m_transmitting, m_cur_bit, m_cur_byte;
@@ -54,6 +54,6 @@ private:
};
// device type definition
-extern const device_type SNES_BARCODE_BATTLER;
+DECLARE_DEVICE_TYPE(SNES_BARCODE_BATTLER, snes_bcbattle_device)
-#endif
+#endif // MAME_BUS_SNES_CTRL_BCBATTLE_H
diff --git a/src/devices/bus/snes_ctrl/ctrl.cpp b/src/devices/bus/snes_ctrl/ctrl.cpp
index 53383c13ce7..b0cf145072f 100644
--- a/src/devices/bus/snes_ctrl/ctrl.cpp
+++ b/src/devices/bus/snes_ctrl/ctrl.cpp
@@ -8,6 +8,7 @@
#include "emu.h"
#include "ctrl.h"
+
// slot devices
#include "bcbattle.h"
#include "joypad.h"
@@ -23,7 +24,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SNES_CONTROL_PORT = device_creator<snes_control_port_device>;
+DEFINE_DEVICE_TYPE(SNES_CONTROL_PORT, snes_control_port_device, "snes_control_port", "Nintendo SNES / SFC controller port")
//**************************************************************************
@@ -59,8 +60,8 @@ device_snes_control_port_interface::~device_snes_control_port_interface()
//-------------------------------------------------
snes_control_port_device::snes_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SNES_CONTROL_PORT, "Nintendo SNES / SFC control port", tag, owner, clock, "snes_control_port", __FILE__),
- device_slot_interface(mconfig, *this), m_device(nullptr)
+ device_t(mconfig, SNES_CONTROL_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this), m_device(nullptr)
{
}
diff --git a/src/devices/bus/snes_ctrl/ctrl.h b/src/devices/bus/snes_ctrl/ctrl.h
index 86fb8229945..0d4839980c1 100644
--- a/src/devices/bus/snes_ctrl/ctrl.h
+++ b/src/devices/bus/snes_ctrl/ctrl.h
@@ -6,12 +6,11 @@
**********************************************************************/
+#ifndef MAME_BUS_SNES_CTRL_CTRL_H
+#define MAME_BUS_SNES_CTRL_CTRL_H
#pragma once
-#ifndef __SNES_CONTROL_PORT__
-#define __SNES_CONTROL_PORT__
-
//**************************************************************************
// TYPE DEFINITIONS
@@ -28,11 +27,11 @@ public:
device_snes_control_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_snes_control_port_interface();
- virtual uint8_t read_pin4() { return 0; };
- virtual uint8_t read_pin5() { return 0; };
- virtual void write_pin6(uint8_t data) { };
- virtual void write_strobe(uint8_t data) { };
- virtual void port_poll() { };
+ virtual uint8_t read_pin4() { return 0; }
+ virtual uint8_t read_pin5() { return 0; }
+ virtual void write_pin6(uint8_t data) { }
+ virtual void write_strobe(uint8_t data) { }
+ virtual void port_poll() { }
protected:
snes_control_port_device *m_port;
@@ -46,8 +45,7 @@ typedef device_delegate<void (int16_t x, int16_t y)> snesctrl_gunlatch_delegate;
// ======================> snes_control_port_device
-class snes_control_port_device : public device_t,
- public device_slot_interface
+class snes_control_port_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
@@ -63,19 +61,22 @@ public:
void write_strobe(uint8_t data);
void port_poll();
- snesctrl_onscreen_delegate m_onscreen_cb;
- snesctrl_gunlatch_delegate m_gunlatch_cb;
+ bool onscreen_cb(int16_t x, int16_t y) { return m_onscreen_cb.isnull() ? true : m_onscreen_cb(x, y); }
+ void gunlatch_cb(int16_t x, int16_t y) { if (!m_gunlatch_cb.isnull()) m_gunlatch_cb(x, y); }
protected:
// device-level overrides
virtual void device_start() override;
+ snesctrl_onscreen_delegate m_onscreen_cb;
+ snesctrl_gunlatch_delegate m_gunlatch_cb;
+
device_snes_control_port_interface *m_device;
};
// device type definition
-extern const device_type SNES_CONTROL_PORT;
+DECLARE_DEVICE_TYPE(SNES_CONTROL_PORT, snes_control_port_device)
//**************************************************************************
@@ -96,4 +97,4 @@ extern const device_type SNES_CONTROL_PORT;
SLOT_INTERFACE_EXTERN( snes_control_port_devices );
-#endif
+#endif // MAME_BUS_SNES_CTRL_CTRL_H
diff --git a/src/devices/bus/snes_ctrl/joypad.cpp b/src/devices/bus/snes_ctrl/joypad.cpp
index b31e8e1d36d..359cb4cec53 100644
--- a/src/devices/bus/snes_ctrl/joypad.cpp
+++ b/src/devices/bus/snes_ctrl/joypad.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SNES_JOYPAD = device_creator<snes_joypad_device>;
+DEFINE_DEVICE_TYPE(SNES_JOYPAD, snes_joypad_device, "snes_joypad", "Nintendo SNES / SFC Control Pad")
static INPUT_PORTS_START( snes_joypad )
@@ -54,9 +54,10 @@ ioport_constructor snes_joypad_device::device_input_ports() const
//-------------------------------------------------
snes_joypad_device::snes_joypad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SNES_JOYPAD, "Nintendo SNES / SFC Control Pad", tag, owner, clock, "snes_joypad", __FILE__),
- device_snes_control_port_interface(mconfig, *this),
- m_joypad(*this, "JOYPAD"), m_strobe(0), m_latch(0)
+ device_t(mconfig, SNES_JOYPAD, tag, owner, clock),
+ device_snes_control_port_interface(mconfig, *this),
+ m_joypad(*this, "JOYPAD"),
+ m_strobe(0), m_latch(0)
{
}
diff --git a/src/devices/bus/snes_ctrl/joypad.h b/src/devices/bus/snes_ctrl/joypad.h
index e2ec9759c45..b28fd5054a2 100644
--- a/src/devices/bus/snes_ctrl/joypad.h
+++ b/src/devices/bus/snes_ctrl/joypad.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SNES_CTRL_JOYPAD_H
+#define MAME_BUS_SNES_CTRL_JOYPAD_H
-#ifndef __SNES_JOYPAD__
-#define __SNES_JOYPAD__
+#pragma once
#include "ctrl.h"
@@ -50,5 +50,4 @@ private:
// device type definition
extern const device_type SNES_JOYPAD;
-
-#endif
+#endif // MAME_BUS_SNES_CTRL_JOYPAD_H
diff --git a/src/devices/bus/snes_ctrl/miracle.cpp b/src/devices/bus/snes_ctrl/miracle.cpp
index 94e4e567e91..23b5e6eb1ba 100644
--- a/src/devices/bus/snes_ctrl/miracle.cpp
+++ b/src/devices/bus/snes_ctrl/miracle.cpp
@@ -20,7 +20,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SNES_MIRACLE = device_creator<snes_miracle_device>;
+DEFINE_DEVICE_TYPE(SNES_MIRACLE, snes_miracle_device, "snes_miracle", "Miracle Piano SNES Cable")
MACHINE_CONFIG_FRAGMENT( snes_miracle )
@@ -61,11 +61,13 @@ void snes_miracle_device::device_timer(emu_timer &timer, device_timer_id id, int
//-------------------------------------------------
snes_miracle_device::snes_miracle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SNES_MIRACLE, "Miracle Piano SNES Cable", tag, owner, clock, "snes_miracle", __FILE__),
- device_serial_interface(mconfig, *this),
- device_snes_control_port_interface(mconfig, *this),
- m_midiin(*this, "mdin"),
- m_midiout(*this, "mdout"), strobe_timer(nullptr), m_strobe_on(0), m_midi_mode(0), m_sent_bits(0), m_strobe_clock(0),
+ device_t(mconfig, SNES_MIRACLE, tag, owner, clock),
+ device_serial_interface(mconfig, *this),
+ device_snes_control_port_interface(mconfig, *this),
+ m_midiin(*this, "mdin"),
+ m_midiout(*this, "mdout"),
+ strobe_timer(nullptr),
+ m_strobe_on(0), m_midi_mode(0), m_sent_bits(0), m_strobe_clock(0),
m_data_sent(0), m_xmit_read(0), m_xmit_write(0), m_recv_read(0), m_recv_write(0), m_tx_busy(false), m_read_status(false), m_status_bit(false)
{
}
diff --git a/src/devices/bus/snes_ctrl/miracle.h b/src/devices/bus/snes_ctrl/miracle.h
index 2e9a4f1373e..d7907840262 100644
--- a/src/devices/bus/snes_ctrl/miracle.h
+++ b/src/devices/bus/snes_ctrl/miracle.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SNES_CTRL_MIRACLE_H
+#define MAME_BUS_SNES_CTRL_MIRACLE_H
-#ifndef __SNES_MIRACLE__
-#define __SNES_MIRACLE__
+#pragma once
#include "ctrl.h"
@@ -26,34 +26,35 @@ class snes_miracle_device : public device_t,
public device_snes_control_port_interface
{
public:
- static const int XMIT_RING_SIZE = 64;
- static const int RECV_RING_SIZE = 64;
-
// construction/destruction
snes_miracle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual machine_config_constructor device_mconfig_additions() const override;
- // serial overrides
- virtual void rcv_complete() override; // Rx completed receiving byte
- virtual void tra_complete() override; // Tx completed sending byte
- virtual void tra_callback() override; // Tx send bit
-
- void xmit_char(uint8_t data);
+protected:
+ static constexpr device_timer_id TIMER_STROBE_ON = 0;
- required_device<midi_port_device> m_midiin, m_midiout;
+ static constexpr int XMIT_RING_SIZE = 64;
+ static constexpr int RECV_RING_SIZE = 64;
-protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ // serial overrides
+ virtual void rcv_complete() override; // Rx completed receiving byte
+ virtual void tra_complete() override; // Tx completed sending byte
+ virtual void tra_callback() override; // Tx send bit
uint8_t read_pin4() override;
void write_pin6(uint8_t data) override;
void write_strobe(uint8_t data) override;
- static const device_timer_id TIMER_STROBE_ON = 0;
+ void xmit_char(uint8_t data);
+
+ required_device<midi_port_device> m_midiin, m_midiout;
+
emu_timer *strobe_timer;
int m_strobe_on, m_midi_mode, m_sent_bits;
@@ -66,6 +67,6 @@ protected:
};
// device type definition
-extern const device_type SNES_MIRACLE;
+DECLARE_DEVICE_TYPE(SNES_MIRACLE, snes_miracle_device)
-#endif
+#endif // MAME_BUS_SNES_CTRL_MIRACLE_H
diff --git a/src/devices/bus/snes_ctrl/mouse.cpp b/src/devices/bus/snes_ctrl/mouse.cpp
index acd8892518f..add94382437 100644
--- a/src/devices/bus/snes_ctrl/mouse.cpp
+++ b/src/devices/bus/snes_ctrl/mouse.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SNES_MOUSE = device_creator<snes_mouse_device>;
+DEFINE_DEVICE_TYPE(SNES_MOUSE, snes_mouse_device, "snes_mouse", "Nintendo SNES / SFC Mouse Controller")
static INPUT_PORTS_START( snes_mouse )
@@ -60,12 +60,14 @@ ioport_constructor snes_mouse_device::device_input_ports() const
//-------------------------------------------------
snes_mouse_device::snes_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SNES_MOUSE, "Nintendo SNES / SFC Mouse Controller", tag, owner, clock, "snes_mouse", __FILE__),
- device_snes_control_port_interface(mconfig, *this),
- m_buttons(*this, "BUTTONS"),
- m_xaxis(*this, "MOUSE_X"),
- m_yaxis(*this, "MOUSE_Y"), m_strobe(0), m_idx(0), m_latch(0), m_x(0), m_y(0), m_oldx(0), m_oldy(0), m_deltax(0),
- m_deltay(0), m_speed(0), m_dirx(0), m_diry(0)
+ device_t(mconfig, SNES_MOUSE, tag, owner, clock),
+ device_snes_control_port_interface(mconfig, *this),
+ m_buttons(*this, "BUTTONS"),
+ m_xaxis(*this, "MOUSE_X"),
+ m_yaxis(*this, "MOUSE_Y"),
+ m_strobe(0), m_idx(0), m_latch(0),
+ m_x(0), m_y(0), m_oldx(0), m_oldy(0),
+ m_deltax(0), m_deltay(0), m_speed(0), m_dirx(0), m_diry(0)
{
}
diff --git a/src/devices/bus/snes_ctrl/mouse.h b/src/devices/bus/snes_ctrl/mouse.h
index 13d2b3e33d6..cd6f3839950 100644
--- a/src/devices/bus/snes_ctrl/mouse.h
+++ b/src/devices/bus/snes_ctrl/mouse.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SNES_CTRL_MOUSE_H
+#define MAME_BUS_SNES_CTRL_MOUSE_H
-#ifndef __SNES_MOUSE__
-#define __SNES_MOUSE__
+#pragma once
#include "ctrl.h"
@@ -56,7 +56,6 @@ private:
// device type definition
-extern const device_type SNES_MOUSE;
-
+DECLARE_DEVICE_TYPE(SNES_MOUSE, snes_mouse_device)
-#endif
+#endif // MAME_BUS_SNES_CTRL_MOUSE_H
diff --git a/src/devices/bus/snes_ctrl/multitap.cpp b/src/devices/bus/snes_ctrl/multitap.cpp
index 0639e24c8db..d4a120d242f 100644
--- a/src/devices/bus/snes_ctrl/multitap.cpp
+++ b/src/devices/bus/snes_ctrl/multitap.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SNES_MULTITAP = device_creator<snes_multitap_device>;
+DEFINE_DEVICE_TYPE(SNES_MULTITAP, snes_multitap_device, "snes_multitap", "Nintendo SNES / SFC Multitap Adapter")
static INPUT_PORTS_START( snes_multitap )
@@ -69,7 +69,7 @@ machine_config_constructor snes_multitap_device::device_mconfig_additions() cons
//-------------------------------------------------
snes_multitap_device::snes_multitap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SNES_MULTITAP, "Nintendo SNES / SFC Multitap Adapter", tag, owner, clock, "snes_multitap", __FILE__),
+ device_t(mconfig, SNES_MULTITAP, tag, owner, clock),
device_snes_control_port_interface(mconfig, *this),
m_port1(*this, "port1"),
m_port2(*this, "port2"),
diff --git a/src/devices/bus/snes_ctrl/multitap.h b/src/devices/bus/snes_ctrl/multitap.h
index f217f882aa5..b2f222c54ec 100644
--- a/src/devices/bus/snes_ctrl/multitap.h
+++ b/src/devices/bus/snes_ctrl/multitap.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SNES_CTRL_MULTITAP_H
+#define MAME_BUS_SNES_CTRL_MULTITAP_H
-#ifndef __SNES_MULTITAP__
-#define __SNES_MULTITAP__
+#pragma once
#include "ctrl.h"
@@ -54,7 +54,6 @@ private:
// device type definition
-extern const device_type SNES_MULTITAP;
-
+DECLARE_DEVICE_TYPE(SNES_MULTITAP, snes_multitap_device)
-#endif
+#endif // MAME_BUS_SNES_CTRL_MULTITAP_H
diff --git a/src/devices/bus/snes_ctrl/pachinko.cpp b/src/devices/bus/snes_ctrl/pachinko.cpp
index d80b862fb33..44d81066d83 100644
--- a/src/devices/bus/snes_ctrl/pachinko.cpp
+++ b/src/devices/bus/snes_ctrl/pachinko.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SNES_PACHINKO = device_creator<snes_pachinko_device>;
+DEFINE_DEVICE_TYPE(SNES_PACHINKO, snes_pachinko_device, "snes_pachinko", "Sunsoft Pachinko Controller")
static INPUT_PORTS_START( snes_pachinko )
@@ -46,10 +46,11 @@ ioport_constructor snes_pachinko_device::device_input_ports() const
//-------------------------------------------------
snes_pachinko_device::snes_pachinko_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SNES_PACHINKO, "Sunsoft Pachinko Controller", tag, owner, clock, "snes_pachinko", __FILE__),
- device_snes_control_port_interface(mconfig, *this),
- m_dial(*this, "DIAL"),
- m_button(*this, "BUTTON"), m_strobe(0), m_latch(0)
+ device_t(mconfig, SNES_PACHINKO, tag, owner, clock),
+ device_snes_control_port_interface(mconfig, *this),
+ m_dial(*this, "DIAL"),
+ m_button(*this, "BUTTON"),
+ m_strobe(0), m_latch(0)
{
}
diff --git a/src/devices/bus/snes_ctrl/pachinko.h b/src/devices/bus/snes_ctrl/pachinko.h
index 1bd1e1fb185..0fffa05767a 100644
--- a/src/devices/bus/snes_ctrl/pachinko.h
+++ b/src/devices/bus/snes_ctrl/pachinko.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SNES_CTRL_PACHINKO_H
+#define MAME_BUS_SNES_CTRL_PACHINKO_H
-#ifndef __SNES_PACHINKO__
-#define __SNES_PACHINKO__
+#pragma once
#include "ctrl.h"
@@ -49,7 +49,6 @@ private:
// device type definition
-extern const device_type SNES_PACHINKO;
-
+DECLARE_DEVICE_TYPE(SNES_PACHINKO, snes_pachinko_device)
-#endif
+#endif // MAME_BUS_SNES_CTRL_PACHINKO_H
diff --git a/src/devices/bus/snes_ctrl/sscope.cpp b/src/devices/bus/snes_ctrl/sscope.cpp
index 9b7ee0c053f..71a049adb82 100644
--- a/src/devices/bus/snes_ctrl/sscope.cpp
+++ b/src/devices/bus/snes_ctrl/sscope.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SNES_SUPERSCOPE = device_creator<snes_sscope_device>;
+DEFINE_DEVICE_TYPE(SNES_SUPERSCOPE, snes_sscope_device, "snes_sscope", "Nintendo SNES / SFC SuperScope")
static INPUT_PORTS_START( snes_sscope )
@@ -55,11 +55,12 @@ ioport_constructor snes_sscope_device::device_input_ports() const
//-------------------------------------------------
snes_sscope_device::snes_sscope_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SNES_SUPERSCOPE, "Nintendo SNES / SFC SuperScope", tag, owner, clock, "snes_sscope", __FILE__),
- device_snes_control_port_interface(mconfig, *this),
- m_buttons(*this, "BUTTONS"),
- m_xaxis(*this, "SSX"),
- m_yaxis(*this, "SSY"), m_strobe(0), m_idx(0), m_latch(0), m_x(0), m_y(0), m_turbo_lock(0), m_pause_lock(0), m_fire_lock(0)
+ device_t(mconfig, SNES_SUPERSCOPE, tag, owner, clock),
+ device_snes_control_port_interface(mconfig, *this),
+ m_buttons(*this, "BUTTONS"),
+ m_xaxis(*this, "SSX"),
+ m_yaxis(*this, "SSY"),
+ m_strobe(0), m_idx(0), m_latch(0), m_x(0), m_y(0), m_turbo_lock(0), m_pause_lock(0), m_fire_lock(0)
{
}
@@ -114,8 +115,7 @@ void snes_sscope_device::port_poll()
m_latch &= 0x04;
// 2. set onscreen/offscreen
- if (!m_port->m_onscreen_cb.isnull())
- m_latch |= (m_port->m_onscreen_cb(m_x, m_y) ? 0x00 : 0x40);
+ m_latch |= m_port->onscreen_cb(m_x, m_y) ? 0x00 : 0x40;
// 3. pause is a button that is always edge sensitive
if (BIT(input, 3) && !m_pause_lock)
@@ -152,8 +152,8 @@ void snes_sscope_device::port_poll()
// Notice that this only works in Port2 because its IOBit pin is connected to bit7 of the IO Port, while Port1
// has IOBit pin connected to bit6 of the IO Port, and the latter is not detected by the H/V Counters. In other
// words, you can connect SuperScope to Port1, but there is no way SNES could detect its on-screen position
- if ((m_latch & 0x03) && !(m_latch & 0x40) && !m_port->m_gunlatch_cb.isnull())
- m_port->m_gunlatch_cb(m_x, m_y);
+ if ((m_latch & 0x03) && !(m_latch & 0x40))
+ m_port->gunlatch_cb(m_x, m_y);
}
//-------------------------------------------------
diff --git a/src/devices/bus/snes_ctrl/sscope.h b/src/devices/bus/snes_ctrl/sscope.h
index e073800b23f..b81afda179d 100644
--- a/src/devices/bus/snes_ctrl/sscope.h
+++ b/src/devices/bus/snes_ctrl/sscope.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SNES_CTRL_SUPERSCOPE_H
+#define MAME_BUS_SNES_CTRL_SUPERSCOPE_H
-#ifndef __SNES_SUPERSCOPE__
-#define __SNES_SUPERSCOPE__
+#pragma once
#include "ctrl.h"
@@ -53,7 +53,6 @@ private:
// device type definition
-extern const device_type SNES_SUPERSCOPE;
-
+DECLARE_DEVICE_TYPE(SNES_SUPERSCOPE, snes_sscope_device)
-#endif
+#endif // MAME_BUS_SNES_CTRL_SUPERSCOPE_H
diff --git a/src/devices/bus/snes_ctrl/twintap.cpp b/src/devices/bus/snes_ctrl/twintap.cpp
index ef4bdc8e260..25327786b10 100644
--- a/src/devices/bus/snes_ctrl/twintap.cpp
+++ b/src/devices/bus/snes_ctrl/twintap.cpp
@@ -20,7 +20,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SNES_TWINTAP = device_creator<snes_twintap_device>;
+DEFINE_DEVICE_TYPE(SNES_TWINTAP, snes_twintap_device, "snes_twintap", "Yonezawa Twin Tap Controller")
static INPUT_PORTS_START( snes_twintap )
@@ -51,9 +51,10 @@ ioport_constructor snes_twintap_device::device_input_ports() const
//-------------------------------------------------
snes_twintap_device::snes_twintap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SNES_TWINTAP, "Yonezawa Twin Tap Controller", tag, owner, clock, "snes_twintap", __FILE__),
- device_snes_control_port_interface(mconfig, *this),
- m_inputs(*this, "INPUTS"), m_strobe(0), m_latch(0)
+ device_t(mconfig, SNES_TWINTAP, tag, owner, clock),
+ device_snes_control_port_interface(mconfig, *this),
+ m_inputs(*this, "INPUTS"),
+ m_strobe(0), m_latch(0)
{
}
diff --git a/src/devices/bus/snes_ctrl/twintap.h b/src/devices/bus/snes_ctrl/twintap.h
index f45c46f2cbf..9da70e50b11 100644
--- a/src/devices/bus/snes_ctrl/twintap.h
+++ b/src/devices/bus/snes_ctrl/twintap.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_SNES_CTRL_TWINTAP_H
+#define MAME_BUS_SNES_CTRL_TWINTAP_H
-#ifndef __SNES_TWINTAP__
-#define __SNES_TWINTAP__
+#pragma once
#include "ctrl.h"
@@ -50,5 +50,4 @@ private:
// device type definition
extern const device_type SNES_TWINTAP;
-
-#endif
+#endif // MAME_BUS_SNES_CTRL_TWINTAP_H
diff --git a/src/devices/bus/spc1000/exp.cpp b/src/devices/bus/spc1000/exp.cpp
index c0f8d6555fb..5a987845a43 100644
--- a/src/devices/bus/spc1000/exp.cpp
+++ b/src/devices/bus/spc1000/exp.cpp
@@ -14,7 +14,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SPC1000_EXP_SLOT = device_creator<spc1000_exp_device>;
+DEFINE_DEVICE_TYPE(SPC1000_EXP_SLOT, spc1000_exp_device, "spc1000_exp", "Samsung SPC-1000 expansion")
device_spc1000_card_interface::device_spc1000_card_interface(const machine_config &mconfig, device_t &device)
@@ -36,8 +36,9 @@ device_spc1000_card_interface::~device_spc1000_card_interface()
// spc1000_exp_device - constructor
//-------------------------------------------------
spc1000_exp_device::spc1000_exp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SPC1000_EXP_SLOT, "Samsung SPC-1000 expansion", tag, owner, clock, "spc1000_exp", __FILE__),
- device_slot_interface(mconfig, *this), m_card(nullptr)
+ device_t(mconfig, SPC1000_EXP_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_card(nullptr)
{
}
diff --git a/src/devices/bus/spc1000/exp.h b/src/devices/bus/spc1000/exp.h
index 1e63ff4a57d..b281e7a560c 100644
--- a/src/devices/bus/spc1000/exp.h
+++ b/src/devices/bus/spc1000/exp.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SCP1000_SLOT_H
-#define __SCP1000_SLOT_H
+#ifndef MAME_BUS_SPC1000_EXP_H
+#define MAME_BUS_SPC1000_EXP_H
+
+#pragma once
// ======================> device_spc1000_card_interface
@@ -9,40 +11,39 @@ class device_spc1000_card_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_spc1000_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_spc1000_card_interface();
// reading and writing
virtual DECLARE_READ8_MEMBER(read) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write) {}
+ virtual DECLARE_WRITE8_MEMBER(write) { }
+
+protected:
+ device_spc1000_card_interface(const machine_config &mconfig, device_t &device);
};
// ======================> spc1000_exp_device
-class spc1000_exp_device : public device_t,
- public device_slot_interface
+class spc1000_exp_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
spc1000_exp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~spc1000_exp_device();
- // device-level overrides
- virtual void device_start() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);
protected:
+ // device-level overrides
+ virtual void device_start() override;
- device_spc1000_card_interface* m_card;
+ device_spc1000_card_interface* m_card;
};
-
// device type definition
-extern const device_type SPC1000_EXP_SLOT;
+DECLARE_DEVICE_TYPE(SPC1000_EXP_SLOT, spc1000_exp_device)
-#endif
+#endif // MAME_BUS_SPC1000_EXP_H
diff --git a/src/devices/bus/spc1000/fdd.cpp b/src/devices/bus/spc1000/fdd.cpp
index b724538c9da..2f266449041 100644
--- a/src/devices/bus/spc1000/fdd.cpp
+++ b/src/devices/bus/spc1000/fdd.cpp
@@ -124,7 +124,7 @@ const tiny_rom_entry *spc1000_fdd_exp_device::device_rom_region() const
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SPC1000_FDD_EXP = device_creator<spc1000_fdd_exp_device>;
+DEFINE_DEVICE_TYPE(SPC1000_FDD_EXP, spc1000_fdd_exp_device, "spc1000_fdd_exp", "SPC1000 FDD expansion")
//**************************************************************************
// LIVE DEVICE
@@ -134,13 +134,14 @@ const device_type SPC1000_FDD_EXP = device_creator<spc1000_fdd_exp_device>;
// spc1000_fdd_exp_device - constructor
//-------------------------------------------------
-spc1000_fdd_exp_device::spc1000_fdd_exp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SPC1000_FDD_EXP, "SPC1000 FDD expansion", tag, owner, clock, "spc1000_fdd_exp", __FILE__),
- device_spc1000_card_interface(mconfig, *this),
- m_cpu(*this, "fdccpu"),
- m_fdc(*this, "upd765"),
- m_pio(*this, "d8255_master"), m_fd0(nullptr), m_fd1(nullptr), m_timer_tc(nullptr), m_i8255_0_pc(0), m_i8255_1_pc(0), m_i8255_portb(0)
- {
+spc1000_fdd_exp_device::spc1000_fdd_exp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, SPC1000_FDD_EXP, tag, owner, clock),
+ device_spc1000_card_interface(mconfig, *this),
+ m_cpu(*this, "fdccpu"),
+ m_fdc(*this, "upd765"),
+ m_pio(*this, "d8255_master"),
+ m_fd0(nullptr), m_fd1(nullptr), m_timer_tc(nullptr), m_i8255_0_pc(0), m_i8255_1_pc(0), m_i8255_portb(0)
+{
}
diff --git a/src/devices/bus/spc1000/fdd.h b/src/devices/bus/spc1000/fdd.h
index b52d6091cba..007ca775467 100644
--- a/src/devices/bus/spc1000/fdd.h
+++ b/src/devices/bus/spc1000/fdd.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SPC1000_FDD_H__
-#define __SPC1000_FDD_H__
+#ifndef MAME_BUS_SPC1000_FDD_H
+#define MAME_BUS_SPC1000_FDD_H
+
+#pragma once
#include "exp.h"
#include "cpu/z80/z80.h"
@@ -14,8 +16,7 @@
// ======================> spc1000_fdd_exp_device
-class spc1000_fdd_exp_device : public device_t,
- public device_spc1000_card_interface
+class spc1000_fdd_exp_device : public device_t, public device_spc1000_card_interface
{
public:
// construction/destruction
@@ -29,6 +30,7 @@ public:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override;
@@ -40,6 +42,8 @@ public:
DECLARE_WRITE8_MEMBER(i8255_c_w);
private:
+ static constexpr device_timer_id TIMER_TC = 0;
+
// internal state
required_device<z80_device> m_cpu;
required_device<upd765a_device> m_fdc;
@@ -53,13 +57,10 @@ private:
uint8_t m_i8255_0_pc;
uint8_t m_i8255_1_pc;
uint8_t m_i8255_portb;
-
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- static const device_timer_id TIMER_TC = 0;
};
// device type definition
-extern const device_type SPC1000_FDD_EXP;
+DECLARE_DEVICE_TYPE(SPC1000_FDD_EXP, spc1000_fdd_exp_device)
-#endif /* __SPC1000_FDD_H__ */
+#endif // MAME_BUS_SPC1000_FDD_H
diff --git a/src/devices/bus/spc1000/vdp.cpp b/src/devices/bus/spc1000/vdp.cpp
index 70a2c497e3d..06189f6f171 100644
--- a/src/devices/bus/spc1000/vdp.cpp
+++ b/src/devices/bus/spc1000/vdp.cpp
@@ -42,7 +42,7 @@ machine_config_constructor spc1000_vdp_exp_device::device_mconfig_additions() co
// GLOBAL VARIABLES
//**************************************************************************
-const device_type SPC1000_VDP_EXP = device_creator<spc1000_vdp_exp_device>;
+DEFINE_DEVICE_TYPE(SPC1000_VDP_EXP, spc1000_vdp_exp_device, "spc1000_vdp_exp", "SPC1000 VDP expansion")
//**************************************************************************
// LIVE DEVICE
@@ -53,9 +53,9 @@ const device_type SPC1000_VDP_EXP = device_creator<spc1000_vdp_exp_device>;
//-------------------------------------------------
spc1000_vdp_exp_device::spc1000_vdp_exp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SPC1000_VDP_EXP, "SPC1000 VDP expansion", tag, owner, clock, "spc1000_vdp_exp", __FILE__),
- device_spc1000_card_interface(mconfig, *this),
- m_vdp(*this, "tms")
+ : device_t(mconfig, SPC1000_VDP_EXP, tag, owner, clock)
+ , device_spc1000_card_interface(mconfig, *this)
+ , m_vdp(*this, "tms")
{
}
diff --git a/src/devices/bus/spc1000/vdp.h b/src/devices/bus/spc1000/vdp.h
index 0c22dcbcfc0..4619f719ece 100644
--- a/src/devices/bus/spc1000/vdp.h
+++ b/src/devices/bus/spc1000/vdp.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __SPC1000_VDP_H__
-#define __SPC1000_VDP_H__
+#ifndef MAME_BUS_SPC1000_VDP_H
+#define MAME_BUS_SPC1000_VDP_H
+
+#pragma once
#include "exp.h"
#include "video/tms9928a.h"
@@ -13,8 +15,7 @@
// ======================> spc1000_vdp_exp_device
-class spc1000_vdp_exp_device : public device_t,
- public device_spc1000_card_interface
+class spc1000_vdp_exp_device : public device_t, public device_spc1000_card_interface
{
public:
// construction/destruction
@@ -40,6 +41,6 @@ private:
// device type definition
-extern const device_type SPC1000_VDP_EXP;
+DECLARE_DEVICE_TYPE(SPC1000_VDP_EXP, spc1000_vdp_exp_device)
-#endif /* __SPC1000_VDP_H__ */
+#endif // MAME_BUS_SPC1000_VDP_H
diff --git a/src/devices/bus/sunkbd/hlekbd.cpp b/src/devices/bus/sunkbd/hlekbd.cpp
index 101546ba6fa..5e08710b120 100644
--- a/src/devices/bus/sunkbd/hlekbd.cpp
+++ b/src/devices/bus/sunkbd/hlekbd.cpp
@@ -87,7 +87,7 @@
Type 5 US UNIX layout:
- 76 xx 05 06 08 0a 0c 0e 10 11 12 07 09 0b 16 17 15 2d 02 04 30
+ 76 0f 05 06 08 0a 0c 0e 10 11 12 07 09 0b 16 17 15 2d 02 04 30
01 03 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 58 2a 2c 34 60 62 2e 2f 47
19 1a 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 2b 42 4a 7b 44 45 46
@@ -95,7 +95,7 @@
48 49 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 14 70 71 72
5f 61 77 13 78 79 7a 43 0d 18 1b 1c 5e 32 5a
- xx is a blank key
+ 0f is a blank key
backspace immediately above return
backslash and backtick/tilde at top right of main area
control on home row, caps lock at bottom left corner of main area
@@ -136,16 +136,17 @@
DEVICE TYPE GLOBALS
***************************************************************************/
-device_type const SUN_TYPE3_HLE_KEYBOARD = device_creator<bus::sunkbd::hle_type3_device>;
-device_type const SUN_TYPE4_HLE_KEYBOARD = device_creator<bus::sunkbd::hle_type4_device>;
-device_type const SUN_TYPE5_HLE_KEYBOARD = device_creator<bus::sunkbd::hle_type5_device>;
-device_type const SUN_TYPE5_GB_HLE_KEYBOARD = device_creator<bus::sunkbd::hle_type5_gb_device>;
-device_type const SUN_TYPE5_SE_HLE_KEYBOARD = device_creator<bus::sunkbd::hle_type5_se_device>;
-device_type const SUN_TYPE5_JP_HLE_KEYBOARD = device_creator<bus::sunkbd::hle_type5_jp_device>;
+DEFINE_DEVICE_TYPE_NS(SUN_TYPE3_HLE_KEYBOARD, bus::sunkbd, hle_type3_device, "kbd_type3_hle", "Sun Type 3 Keyboard (HLE)")
+DEFINE_DEVICE_TYPE_NS(SUN_TYPE4_HLE_KEYBOARD, bus::sunkbd, hle_type4_device, "kbd_type4_hle", "Sun Type 4 Keyboard (HLE)")
+DEFINE_DEVICE_TYPE_NS(SUN_TYPE5_HLE_KEYBOARD, bus::sunkbd, hle_type5_device, "kbd_type5_hle_us", "Sun Type 5 Keyboard (U.S.A. - HLE)")
+DEFINE_DEVICE_TYPE_NS(SUN_TYPE5_GB_HLE_KEYBOARD, bus::sunkbd, hle_type5_gb_device, "kbd_type5_hle_gb", "Sun Type 5 Keyboard (Great Britain - HLE)")
+DEFINE_DEVICE_TYPE_NS(SUN_TYPE5_SE_HLE_KEYBOARD, bus::sunkbd, hle_type5_se_device, "kbd_type5_hle_se", "Sun Type 5 Keyboard (Sweden - HLE)")
+DEFINE_DEVICE_TYPE_NS(SUN_TYPE5_JP_HLE_KEYBOARD, bus::sunkbd, hle_type5_jp_device, "kbd_type5_hle_jp", "Sun Type 5 Keyboard (Japan - HLE)")
namespace bus { namespace sunkbd {
+
namespace {
/***************************************************************************
INPUT PORT DEFINITIONS
@@ -421,9 +422,9 @@ INPUT_PORTS_START( basic_jp )
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('\\') PORT_CHAR('_')
PORT_MODIFY("ROW7")
- PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Kakutei")
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Henkan")
- PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Nihongo On-Off") PORT_CODE(KEYCODE_MENU)
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Kakutei") // 確定
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Henkan") // 変換
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Nihongo On-Off") PORT_CODE(KEYCODE_MENU) // 日本語 On-Off
INPUT_PORTS_END
@@ -723,7 +724,7 @@ INPUT_PORTS_START( hle_type5_jp_device )
TYPE5_DIPS(0x11)
PORT_MODIFY("ROW0")
- PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Kana") PORT_CODE(KEYCODE_RALT)
+ PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Kana") PORT_CODE(KEYCODE_RALT) // かな
INPUT_PORTS_END
@@ -754,13 +755,10 @@ MACHINE_CONFIG_END
hle_device_base::hle_device_base(
machine_config const &mconfig,
device_type type,
- char const *name,
char const *tag,
device_t *owner,
- uint32_t clock,
- char const *shortname,
- char const *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+ uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_buffered_serial_interface(mconfig, *this)
, device_sun_keyboard_port_interface(mconfig, *this)
, device_matrix_keyboard_interface(mconfig, *this, "ROW0", "ROW1", "ROW2", "ROW3", "ROW4", "ROW5", "ROW6", "ROW7")
@@ -1083,12 +1081,9 @@ hle_type3_device::hle_type3_device(
: hle_device_base(
mconfig,
SUN_TYPE3_HLE_KEYBOARD,
- "Sun Type 3 Keyboard (HLE)",
tag,
owner,
- clock,
- "type3_hle_kbd",
- __FILE__)
+ clock)
{
}
@@ -1134,12 +1129,9 @@ hle_type4_device::hle_type4_device(
: hle_type4_device_base(
mconfig,
SUN_TYPE4_HLE_KEYBOARD,
- "Sun Type 4 Keyboard (HLE)",
tag,
owner,
- clock,
- "type4_hle_kbd",
- __FILE__)
+ clock)
{
}
@@ -1173,12 +1165,9 @@ hle_type5_device::hle_type5_device(
: hle_type4_device_base(
mconfig,
SUN_TYPE5_HLE_KEYBOARD,
- "Sun Type 5 Keyboard (U.S.A. - HLE)",
tag,
owner,
- clock,
- "type5_hle_kbd",
- __FILE__)
+ clock)
{
}
@@ -1212,12 +1201,9 @@ hle_type5_gb_device::hle_type5_gb_device(
: hle_type4_device_base(
mconfig,
SUN_TYPE5_GB_HLE_KEYBOARD,
- "Sun Type 5 Keyboard (Great Britain - HLE)",
tag,
owner,
- clock,
- "type5_gb_hle_kbd",
- __FILE__)
+ clock)
{
}
@@ -1251,12 +1237,9 @@ hle_type5_se_device::hle_type5_se_device(
: hle_type4_device_base(
mconfig,
SUN_TYPE5_SE_HLE_KEYBOARD,
- "Sun Type 5 Keyboard (Sweden - HLE)",
tag,
owner,
- clock,
- "type5_se_hle_kbd",
- __FILE__)
+ clock)
{
}
@@ -1290,12 +1273,9 @@ hle_type5_jp_device::hle_type5_jp_device(
: hle_type4_device_base(
mconfig,
SUN_TYPE5_JP_HLE_KEYBOARD,
- "Sun Type 5 Keyboard (Japan - HLE)",
tag,
owner,
- clock,
- "type5_jp_hle_kbd",
- __FILE__)
+ clock)
{
}
diff --git a/src/devices/bus/sunkbd/hlekbd.h b/src/devices/bus/sunkbd/hlekbd.h
index 059c18caf06..0a3fea3938c 100644
--- a/src/devices/bus/sunkbd/hlekbd.h
+++ b/src/devices/bus/sunkbd/hlekbd.h
@@ -10,15 +10,8 @@
#include "sound/beep.h"
-extern device_type const SUN_TYPE3_HLE_KEYBOARD;
-extern device_type const SUN_TYPE4_HLE_KEYBOARD;
-extern device_type const SUN_TYPE5_HLE_KEYBOARD;
-extern device_type const SUN_TYPE5_GB_HLE_KEYBOARD;
-extern device_type const SUN_TYPE5_SE_HLE_KEYBOARD;
-extern device_type const SUN_TYPE5_JP_HLE_KEYBOARD;
-
-
namespace bus { namespace sunkbd {
+
class hle_device_base
: public device_t
, public device_buffered_serial_interface<16U>
@@ -26,6 +19,8 @@ class hle_device_base
, protected device_matrix_keyboard_interface<8U>
{
public:
+ virtual ~hle_device_base() override;
+
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) override;
@@ -34,13 +29,10 @@ protected:
// constructor/destructor
hle_device_base(
machine_config const &mconfig,
- device_type type, char const *name,
+ device_type type,
char const *tag,
device_t *owner,
- uint32_t clock,
- char const *shortname,
- char const *source);
- virtual ~hle_device_base() override;
+ uint32_t clock);
// device overrides
virtual void device_start() override;
@@ -204,4 +196,12 @@ public:
} } // namespace bus::sunkbd
+
+DECLARE_DEVICE_TYPE_NS(SUN_TYPE3_HLE_KEYBOARD, bus::sunkbd, hle_type3_device)
+DECLARE_DEVICE_TYPE_NS(SUN_TYPE4_HLE_KEYBOARD, bus::sunkbd, hle_type4_device)
+DECLARE_DEVICE_TYPE_NS(SUN_TYPE5_HLE_KEYBOARD, bus::sunkbd, hle_type5_device)
+DECLARE_DEVICE_TYPE_NS(SUN_TYPE5_GB_HLE_KEYBOARD, bus::sunkbd, hle_type5_gb_device)
+DECLARE_DEVICE_TYPE_NS(SUN_TYPE5_SE_HLE_KEYBOARD, bus::sunkbd, hle_type5_se_device)
+DECLARE_DEVICE_TYPE_NS(SUN_TYPE5_JP_HLE_KEYBOARD, bus::sunkbd, hle_type5_jp_device)
+
#endif // MAME_DEVICES_SUNKBD_HLEKBD_H
diff --git a/src/devices/bus/sunkbd/sunkbd.cpp b/src/devices/bus/sunkbd/sunkbd.cpp
index c6d43e0751d..55ccea6f5e9 100644
--- a/src/devices/bus/sunkbd/sunkbd.cpp
+++ b/src/devices/bus/sunkbd/sunkbd.cpp
@@ -5,7 +5,7 @@
#include "sunkbd.h"
-device_type const SUNKBD_PORT = device_creator<sun_keyboard_port_device>;
+DEFINE_DEVICE_TYPE(SUNKBD_PORT, sun_keyboard_port_device, "sunkbd", "Sun Keyboard Port")
int const device_sun_keyboard_port_interface::START_BIT_COUNT;
@@ -21,7 +21,7 @@ sun_keyboard_port_device::sun_keyboard_port_device(
char const *tag,
device_t *owner,
uint32_t clock)
- : sun_keyboard_port_device(mconfig, SUNKBD_PORT, "Sun Keyboard Port", tag, owner, clock, "sunkbd", __FILE__)
+ : sun_keyboard_port_device(mconfig, SUNKBD_PORT, tag, owner, clock)
{
}
@@ -29,13 +29,10 @@ sun_keyboard_port_device::sun_keyboard_port_device(
sun_keyboard_port_device::sun_keyboard_port_device(
machine_config const &mconfig,
device_type type,
- char const *name,
char const *tag,
device_t *owner,
- uint32_t clock,
- char const *shortname,
- char const *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+ uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_slot_interface(mconfig, *this)
, m_rxd(0)
, m_rxd_handler(*this)
diff --git a/src/devices/bus/sunkbd/sunkbd.h b/src/devices/bus/sunkbd/sunkbd.h
index 2e270812f18..67634efb57e 100644
--- a/src/devices/bus/sunkbd/sunkbd.h
+++ b/src/devices/bus/sunkbd/sunkbd.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Vas Crabb
-#ifndef MAME_DEVICES_SUNKBD_SUNKBD_H
-#define MAME_DEVICES_SUNKBD_SUNKBD_H
+#ifndef MAME_BUS_SUNKBD_SUNKBD_H
+#define MAME_BUS_SUNKBD_SUNKBD_H
#pragma once
@@ -27,14 +27,14 @@ public:
virtual ~sun_keyboard_port_device();
// static configuration helpers
- template <class Object> static devcb_base &set_rxd_handler(device_t &device, Object object) { return downcast<sun_keyboard_port_device &>(device).m_rxd_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_rxd_handler(device_t &device, Object &&cb) { return downcast<sun_keyboard_port_device &>(device).m_rxd_handler.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( write_txd );
DECLARE_READ_LINE_MEMBER( rxd_r ) { return m_rxd; }
protected:
- sun_keyboard_port_device(machine_config const &mconfig, device_type type, char const *name, char const *tag, device_t *owner, uint32_t clock, char const *shortname, char const *source);
+ sun_keyboard_port_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_config_complete() override;
@@ -72,7 +72,7 @@ protected:
};
-extern device_type const SUNKBD_PORT;
+DECLARE_DEVICE_TYPE(SUNKBD_PORT, sun_keyboard_port_device)
SLOT_INTERFACE_EXTERN( default_sun_keyboard_devices );
diff --git a/src/devices/bus/svi3x8/expander/expander.cpp b/src/devices/bus/svi3x8/expander/expander.cpp
index 6b54b620f6f..481789516ff 100644
--- a/src/devices/bus/svi3x8/expander/expander.cpp
+++ b/src/devices/bus/svi3x8/expander/expander.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SVI_EXPANDER = device_creator<svi_expander_device>;
+DEFINE_DEVICE_TYPE(SVI_EXPANDER, svi_expander_device, "svi_expander", "SVI 318/328 Expander Bus")
//**************************************************************************
@@ -28,7 +28,7 @@ const device_type SVI_EXPANDER = device_creator<svi_expander_device>;
//-------------------------------------------------
svi_expander_device::svi_expander_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SVI_EXPANDER, "SVI 318/328 Expander Bus", tag, owner, clock, "svi_expander", __FILE__),
+ device_t(mconfig, SVI_EXPANDER, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_module(nullptr),
m_int_handler(*this),
diff --git a/src/devices/bus/svi3x8/expander/expander.h b/src/devices/bus/svi3x8/expander/expander.h
index 853b2c1f50f..262d2a8ea77 100644
--- a/src/devices/bus/svi3x8/expander/expander.h
+++ b/src/devices/bus/svi3x8/expander/expander.h
@@ -34,10 +34,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_EXPANDER_EXPANDER_H
+#define MAME_BUS_SVI3X8_EXPANDER_EXPANDER_H
-#ifndef __SVI3X8_EXPANDER_H__
-#define __SVI3X8_EXPANDER_H__
+#pragma once
@@ -86,26 +86,26 @@ public:
virtual ~svi_expander_device();
// callbacks
- template<class _Object> static devcb_base &set_int_handler(device_t &device, _Object object)
- { return downcast<svi_expander_device &>(device).m_int_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_int_handler(device_t &device, Object &&cb)
+ { return downcast<svi_expander_device &>(device).m_int_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_romdis_handler(device_t &device, _Object object)
- { return downcast<svi_expander_device &>(device).m_romdis_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_romdis_handler(device_t &device, Object &&cb)
+ { return downcast<svi_expander_device &>(device).m_romdis_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_ramdis_handler(device_t &device, _Object object)
- { return downcast<svi_expander_device &>(device).m_ramdis_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_ramdis_handler(device_t &device, Object &&cb)
+ { return downcast<svi_expander_device &>(device).m_ramdis_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_ctrl1_handler(device_t &device, _Object object)
- { return downcast<svi_expander_device &>(device).m_ctrl1_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_ctrl1_handler(device_t &device, Object &&cb)
+ { return downcast<svi_expander_device &>(device).m_ctrl1_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_ctrl2_handler(device_t &device, _Object object)
- { return downcast<svi_expander_device &>(device).m_ctrl2_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_ctrl2_handler(device_t &device, Object &&cb)
+ { return downcast<svi_expander_device &>(device).m_ctrl2_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_excsr_handler(device_t &device, _Object object)
- { return downcast<svi_expander_device &>(device).m_excsr_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_excsr_handler(device_t &device, Object &&cb)
+ { return downcast<svi_expander_device &>(device).m_excsr_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_excsw_handler(device_t &device, _Object object)
- { return downcast<svi_expander_device &>(device).m_excsw_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_excsw_handler(device_t &device, Object &&cb)
+ { return downcast<svi_expander_device &>(device).m_excsw_handler.set_callback(std::forward<Object>(cb)); }
// called from cart device
DECLARE_WRITE_LINE_MEMBER( int_w ) { m_int_handler(state); }
@@ -152,20 +152,21 @@ class device_svi_expander_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_svi_expander_interface(const machine_config &mconfig, device_t &device);
virtual ~device_svi_expander_interface();
- virtual DECLARE_READ8_MEMBER( mreq_r ) { return 0xff; };
- virtual DECLARE_WRITE8_MEMBER( mreq_w ){};
- virtual DECLARE_READ8_MEMBER( iorq_r ) { return 0xff; };
- virtual DECLARE_WRITE8_MEMBER( iorq_w ){};
+ virtual DECLARE_READ8_MEMBER( mreq_r ) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) { }
+ virtual DECLARE_READ8_MEMBER( iorq_r ) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) { }
- virtual void bk21_w(int state) {};
- virtual void bk22_w(int state) {};
- virtual void bk31_w(int state) {};
- virtual void bk32_w(int state) {};
+ virtual void bk21_w(int state) { }
+ virtual void bk22_w(int state) { }
+ virtual void bk31_w(int state) { }
+ virtual void bk32_w(int state) { }
protected:
+ device_svi_expander_interface(const machine_config &mconfig, device_t &device);
+
svi_expander_device *m_expander;
};
@@ -175,4 +176,4 @@ extern const device_type SVI_EXPANDER;
// include here so drivers don't need to
#include "modules.h"
-#endif // __SVI3X8_EXPANDER_H__
+#endif // MAME_BUS_SVI3X8_EXPANDER_EXPANDER_H
diff --git a/src/devices/bus/svi3x8/expander/modules.cpp b/src/devices/bus/svi3x8/expander/modules.cpp
index 04ba3635d4f..1fde553ae63 100644
--- a/src/devices/bus/svi3x8/expander/modules.cpp
+++ b/src/devices/bus/svi3x8/expander/modules.cpp
@@ -9,6 +9,10 @@
#include "emu.h"
#include "modules.h"
+#include "sv601.h"
+#include "sv602.h"
+#include "sv603.h"
+
SLOT_INTERFACE_START( svi_expander_modules )
SLOT_INTERFACE("sv601", SV601)
SLOT_INTERFACE("sv602", SV602)
diff --git a/src/devices/bus/svi3x8/expander/modules.h b/src/devices/bus/svi3x8/expander/modules.h
index 7391d55dc66..2534b7713f1 100644
--- a/src/devices/bus/svi3x8/expander/modules.h
+++ b/src/devices/bus/svi3x8/expander/modules.h
@@ -6,15 +6,11 @@
***************************************************************************/
-#pragma once
-
-#ifndef __SVI_EXPANDER_MODULES_H__
-#define __SVI_EXPANDER_MODULES_H__
+#ifndef MAME_BUS_SVI3X8_EXPANDER_MODULES_H
+#define MAME_BUS_SVI3X8_EXPANDER_MODULES_H
-#include "sv601.h"
-#include "sv602.h"
-#include "sv603.h"
+#pragma once
SLOT_INTERFACE_EXTERN( svi_expander_modules );
-#endif // __SVI_EXPANDER_MODULES_H__
+#endif // MAME_BUS_SVI3X8_EXPANDER_MODULES_H
diff --git a/src/devices/bus/svi3x8/expander/sv601.cpp b/src/devices/bus/svi3x8/expander/sv601.cpp
index e7fe68b608b..ee7c2b78a23 100644
--- a/src/devices/bus/svi3x8/expander/sv601.cpp
+++ b/src/devices/bus/svi3x8/expander/sv601.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SV601 = device_creator<sv601_device>;
+DEFINE_DEVICE_TYPE(SV601, sv601_device, "sv601", "SV-601 Super Expander")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -50,7 +50,7 @@ machine_config_constructor sv601_device::device_mconfig_additions() const
//-------------------------------------------------
sv601_device::sv601_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SV601, "SV-601 Super Expander", tag, owner, clock, "sv601", __FILE__),
+ device_t(mconfig, SV601, tag, owner, clock),
device_svi_expander_interface(mconfig, *this),
m_slotbus(*this, "slotbus")
{
diff --git a/src/devices/bus/svi3x8/expander/sv601.h b/src/devices/bus/svi3x8/expander/sv601.h
index 796b9da51b2..6689694c960 100644
--- a/src/devices/bus/svi3x8/expander/sv601.h
+++ b/src/devices/bus/svi3x8/expander/sv601.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_EXPANDER_SV601_H
+#define MAME_BUS_SVI3X8_EXPANDER_SV601_H
-#ifndef __SVI3X8_EXPANDER_SV601_H__
-#define __SVI3X8_EXPANDER_SV601_H__
+#pragma once
#include "expander.h"
#include "bus/svi3x8/slot/slot.h"
@@ -52,6 +52,6 @@ private:
};
// device type definition
-extern const device_type SV601;
+DECLARE_DEVICE_TYPE(SV601, sv601_device)
-#endif // __SVI3X8_EXPANDER_SV601_H__
+#endif // MAME_BUS_SVI3X8_EXPANDER_SV601_H
diff --git a/src/devices/bus/svi3x8/expander/sv602.cpp b/src/devices/bus/svi3x8/expander/sv602.cpp
index 119ec066544..c8d96b17ddc 100644
--- a/src/devices/bus/svi3x8/expander/sv602.cpp
+++ b/src/devices/bus/svi3x8/expander/sv602.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SV602 = device_creator<sv602_device>;
+DEFINE_DEVICE_TYPE(SV602, sv602_device, "sv602", "SV-602 Single Slot Expander")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -44,7 +44,7 @@ machine_config_constructor sv602_device::device_mconfig_additions() const
//-------------------------------------------------
sv602_device::sv602_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SV602, "SV-602 Single Slot Expander", tag, owner, clock, "sv602", __FILE__),
+ device_t(mconfig, SV602, tag, owner, clock),
device_svi_expander_interface(mconfig, *this),
m_slotbus(*this, "slotbus")
{
diff --git a/src/devices/bus/svi3x8/expander/sv602.h b/src/devices/bus/svi3x8/expander/sv602.h
index 2855f11e991..041202e2a0c 100644
--- a/src/devices/bus/svi3x8/expander/sv602.h
+++ b/src/devices/bus/svi3x8/expander/sv602.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_EXPANDER_SV602_H
+#define MAME_BUS_SVI3X8_EXPANDER_SV602_H
-#ifndef __SVI3X8_EXPANDER_SV602_H__
-#define __SVI3X8_EXPANDER_SV602_H__
+#pragma once
#include "expander.h"
#include "bus/svi3x8/slot/slot.h"
@@ -52,6 +52,6 @@ private:
};
// device type definition
-extern const device_type SV602;
+DECLARE_DEVICE_TYPE(SV602, sv602_device)
-#endif // __SVI3X8_EXPANDER_SV602_H__
+#endif // MAME_BUS_SVI3X8_EXPANDER_SV602_H
diff --git a/src/devices/bus/svi3x8/expander/sv603.cpp b/src/devices/bus/svi3x8/expander/sv603.cpp
index c0e4e16fdd2..31d1f3e630b 100644
--- a/src/devices/bus/svi3x8/expander/sv603.cpp
+++ b/src/devices/bus/svi3x8/expander/sv603.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SV603 = device_creator<sv603_device>;
+DEFINE_DEVICE_TYPE(SV603, sv603_device, "sv603", "SV-603 Coleco Game Adapter")
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -80,7 +80,7 @@ DEVICE_IMAGE_LOAD_MEMBER( sv603_device, cartridge )
//-------------------------------------------------
sv603_device::sv603_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SV603, "SV-603 Coleco Game Adapter", tag, owner, clock, "sv603", __FILE__),
+ device_t(mconfig, SV603, tag, owner, clock),
device_svi_expander_interface(mconfig, *this),
m_bios(*this, "bios"),
m_snd(*this, "snd"),
diff --git a/src/devices/bus/svi3x8/expander/sv603.h b/src/devices/bus/svi3x8/expander/sv603.h
index 584560ea5e3..68e72ddd46a 100644
--- a/src/devices/bus/svi3x8/expander/sv603.h
+++ b/src/devices/bus/svi3x8/expander/sv603.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_EXPANDER_SV603_H
+#define MAME_BUS_SVI3X8_EXPANDER_SV603_H
-#ifndef __SVI3X8_EXPANDER_SV603_H__
-#define __SVI3X8_EXPANDER_SV603_H__
+#pragma once
#include "expander.h"
#include "sound/sn76496.h"
@@ -50,6 +50,6 @@ private:
};
// device type definition
-extern const device_type SV603;
+DECLARE_DEVICE_TYPE(SV603, sv603_device)
-#endif // __SVI3X8_EXPANDER_SV603_H__
+#endif // MAME_BUS_SVI3X8_EXPANDER_SV603_H
diff --git a/src/devices/bus/svi3x8/slot/cards.cpp b/src/devices/bus/svi3x8/slot/cards.cpp
index 6a51e28a8d1..5d0192f91ea 100644
--- a/src/devices/bus/svi3x8/slot/cards.cpp
+++ b/src/devices/bus/svi3x8/slot/cards.cpp
@@ -9,6 +9,14 @@
#include "emu.h"
#include "cards.h"
+#include "sv801.h"
+#include "sv802.h"
+#include "sv803.h"
+#include "sv805.h"
+#include "sv806.h"
+#include "sv807.h"
+
+
SLOT_INTERFACE_START( svi_slot_cards )
SLOT_INTERFACE("sv801", SV801)
SLOT_INTERFACE("sv802", SV802)
diff --git a/src/devices/bus/svi3x8/slot/cards.h b/src/devices/bus/svi3x8/slot/cards.h
index 9ceeccbd840..6bca329078b 100644
--- a/src/devices/bus/svi3x8/slot/cards.h
+++ b/src/devices/bus/svi3x8/slot/cards.h
@@ -6,19 +6,12 @@
***************************************************************************/
-#pragma once
-
-#ifndef __SVI3X8_SLOT_CARDS_H__
-#define __SVI3X8_SLOT_CARDS_H__
+#ifndef MAME_BUS_SVI3X8_SLOT_CARDS_H
+#define MAME_BUS_SVI3X8_SLOT_CARDS_H
-#include "sv801.h"
-#include "sv802.h"
-#include "sv803.h"
-#include "sv805.h"
-#include "sv806.h"
-#include "sv807.h"
+#pragma once
SLOT_INTERFACE_EXTERN( svi_slot_cards );
SLOT_INTERFACE_EXTERN( sv602_slot_cards );
-#endif // __SVI3X8_SLOT_CARDS_H__
+#endif // MAME_BUS_SVI3X8_SLOT_CARDS_H
diff --git a/src/devices/bus/svi3x8/slot/slot.cpp b/src/devices/bus/svi3x8/slot/slot.cpp
index 8294369bb55..c8e35ec9c92 100644
--- a/src/devices/bus/svi3x8/slot/slot.cpp
+++ b/src/devices/bus/svi3x8/slot/slot.cpp
@@ -14,14 +14,14 @@
// SLOT BUS DEVICE
//**************************************************************************
-const device_type SVI_SLOT_BUS = device_creator<svi_slot_bus_device>;
+DEFINE_DEVICE_TYPE(SVI_SLOT_BUS, svi_slot_bus_device, "svislotbus", "SVI Slot Bus")
//-------------------------------------------------
// svi_slot_bus_device - constructor
//-------------------------------------------------
svi_slot_bus_device::svi_slot_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SVI_SLOT_BUS, "SVI Slot Bus", tag, owner, clock, "svislotbus", __FILE__),
+ device_t(mconfig, SVI_SLOT_BUS, tag, owner, clock),
m_int_handler(*this),
m_romdis_handler(*this),
m_ramdis_handler(*this)
@@ -198,14 +198,14 @@ WRITE_LINE_MEMBER( svi_slot_bus_device::bk32_w )
// SVI SLOT DEVICE
//**************************************************************************
-const device_type SVI_SLOT = device_creator<svi_slot_device>;
+DEFINE_DEVICE_TYPE(SVI_SLOT, svi_slot_device, "svislot", "SVI Slot")
//-------------------------------------------------
// svi_slot_device - constructor
//-------------------------------------------------
svi_slot_device::svi_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SVI_SLOT, "SVI Slot", tag, owner, clock, "svislot", __FILE__),
+ device_t(mconfig, SVI_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_bus_tag(nullptr)
{
@@ -256,8 +256,8 @@ void svi_slot_device::device_reset()
device_svi_slot_interface::device_svi_slot_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device),
- m_next(nullptr),
- m_bus(nullptr)
+ m_bus(nullptr),
+ m_next(nullptr)
{
}
diff --git a/src/devices/bus/svi3x8/slot/slot.h b/src/devices/bus/svi3x8/slot/slot.h
index a76a514c2f1..f8c6e52314d 100644
--- a/src/devices/bus/svi3x8/slot/slot.h
+++ b/src/devices/bus/svi3x8/slot/slot.h
@@ -34,10 +34,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_SLOT_SLOT_H
+#define MAME_BUS_SVI3X8_SLOT_SLOT_H
-#ifndef __SVI3X8_SLOT_H__
-#define __SVI3X8_SLOT_H__
+#pragma once
@@ -79,18 +79,14 @@ public:
virtual ~svi_slot_bus_device();
// callbacks
- template<class _Object> static devcb_base &set_int_handler(device_t &device, _Object object)
- { return downcast<svi_slot_bus_device &>(device).m_int_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_int_handler(device_t &device, Object &&cb)
+ { return downcast<svi_slot_bus_device &>(device).m_int_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_romdis_handler(device_t &device, _Object object)
- { return downcast<svi_slot_bus_device &>(device).m_romdis_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_romdis_handler(device_t &device, Object &&cb)
+ { return downcast<svi_slot_bus_device &>(device).m_romdis_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_ramdis_handler(device_t &device, _Object object)
- { return downcast<svi_slot_bus_device &>(device).m_ramdis_handler.set_callback(object); }
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ template <class Object> static devcb_base &set_ramdis_handler(device_t &device, Object &&cb)
+ { return downcast<svi_slot_bus_device &>(device).m_ramdis_handler.set_callback(std::forward<Object>(cb)); }
void add_card(device_svi_slot_interface *card);
@@ -111,6 +107,10 @@ public:
DECLARE_WRITE_LINE_MEMBER( bk32_w );
private:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
simple_list<device_svi_slot_interface> m_dev;
devcb_write_line m_int_handler;
@@ -119,7 +119,7 @@ private:
};
// device type definition
-extern const device_type SVI_SLOT_BUS;
+DECLARE_DEVICE_TYPE(SVI_SLOT_BUS, svi_slot_bus_device)
// ======================> svi_slot_device
@@ -142,37 +142,41 @@ protected:
};
// device type definition
-extern const device_type SVI_SLOT;
+DECLARE_DEVICE_TYPE(SVI_SLOT, svi_slot_device)
// ======================> svi_slot_device
class device_svi_slot_interface : public device_slot_card_interface
{
+ template <class ElementType> friend class simple_list;
public:
// construction/destruction
- device_svi_slot_interface(const machine_config &mconfig, device_t &device);
virtual ~device_svi_slot_interface();
void set_bus_device(svi_slot_bus_device *bus);
device_svi_slot_interface *next() const { return m_next; }
- device_svi_slot_interface *m_next;
- virtual DECLARE_READ8_MEMBER( mreq_r ) { return 0xff; };
- virtual DECLARE_WRITE8_MEMBER( mreq_w ) {};
- virtual DECLARE_READ8_MEMBER( iorq_r ) { return 0xff; };
- virtual DECLARE_WRITE8_MEMBER( iorq_w ) {};
+ virtual DECLARE_READ8_MEMBER( mreq_r ) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER( mreq_w ) { }
+ virtual DECLARE_READ8_MEMBER( iorq_r ) { return 0xff; }
+ virtual DECLARE_WRITE8_MEMBER( iorq_w ) { }
- virtual DECLARE_WRITE_LINE_MEMBER( bk21_w ) {};
- virtual DECLARE_WRITE_LINE_MEMBER( bk22_w ) {};
- virtual DECLARE_WRITE_LINE_MEMBER( bk31_w ) {};
- virtual DECLARE_WRITE_LINE_MEMBER( bk32_w ) {};
+ virtual DECLARE_WRITE_LINE_MEMBER( bk21_w ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( bk22_w ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( bk31_w ) { }
+ virtual DECLARE_WRITE_LINE_MEMBER( bk32_w ) { }
protected:
+ device_svi_slot_interface(const machine_config &mconfig, device_t &device);
+
svi_slot_bus_device *m_bus;
+
+private:
+ device_svi_slot_interface *m_next;
};
// include here so drivers don't need to
#include "cards.h"
-#endif // __SVI3X8_SLOT_H__
+#endif // MAME_BUS_SVI3X8_SLOT_SLOT_H
diff --git a/src/devices/bus/svi3x8/slot/sv801.cpp b/src/devices/bus/svi3x8/slot/sv801.cpp
index 32234dc2a61..d6a29c3b14b 100644
--- a/src/devices/bus/svi3x8/slot/sv801.cpp
+++ b/src/devices/bus/svi3x8/slot/sv801.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SV801 = device_creator<sv801_device>;
+DEFINE_DEVICE_TYPE(SV801, sv801_device, "sv801", "SV-801 Disk Controller")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -57,7 +57,7 @@ machine_config_constructor sv801_device::device_mconfig_additions() const
//-------------------------------------------------
sv801_device::sv801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SV801, "SV-801 Disk Controller", tag, owner, clock, "sv801", __FILE__),
+ device_t(mconfig, SV801, tag, owner, clock),
device_svi_slot_interface(mconfig, *this),
m_fdc(*this, "fdc"),
m_floppy0(*this, "fdc:0"),
diff --git a/src/devices/bus/svi3x8/slot/sv801.h b/src/devices/bus/svi3x8/slot/sv801.h
index 229fb6995ab..3bed726e725 100644
--- a/src/devices/bus/svi3x8/slot/sv801.h
+++ b/src/devices/bus/svi3x8/slot/sv801.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_SLOT_SV801_H
+#define MAME_BUS_SVI3X8_SLOT_SV801_H
-#ifndef __SVI3X8_SLOT_SV801_H__
-#define __SVI3X8_SLOT_SV801_H__
+#pragma once
#include "slot.h"
#include "machine/wd_fdc.h"
@@ -44,7 +44,7 @@ protected:
private:
DECLARE_WRITE8_MEMBER( motor_w );
- required_device<fd1793_t> m_fdc;
+ required_device<fd1793_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
@@ -55,6 +55,6 @@ private:
};
// device type definition
-extern const device_type SV801;
+DECLARE_DEVICE_TYPE(SV801, sv801_device)
-#endif // __SVI3X8_SLOT_SV801_H__
+#endif // MAME_BUS_SVI3X8_SLOT_SV801_H
diff --git a/src/devices/bus/svi3x8/slot/sv802.cpp b/src/devices/bus/svi3x8/slot/sv802.cpp
index 49b4847ae37..b79544b6325 100644
--- a/src/devices/bus/svi3x8/slot/sv802.cpp
+++ b/src/devices/bus/svi3x8/slot/sv802.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SV802 = device_creator<sv802_device>;
+DEFINE_DEVICE_TYPE(SV802, sv802_device, "sv802", "SV-802 Centronics Printer Interface")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -43,7 +43,7 @@ machine_config_constructor sv802_device::device_mconfig_additions() const
//-------------------------------------------------
sv802_device::sv802_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SV802, "SV-802 Centronics Printer Interface", tag, owner, clock, "sv802", __FILE__),
+ device_t(mconfig, SV802, tag, owner, clock),
device_svi_slot_interface(mconfig, *this),
m_centronics(*this, "centronics"),
m_cent_data_out(*this, "cent_data_out"),
diff --git a/src/devices/bus/svi3x8/slot/sv802.h b/src/devices/bus/svi3x8/slot/sv802.h
index 8d7bf241d24..a38b9f34a18 100644
--- a/src/devices/bus/svi3x8/slot/sv802.h
+++ b/src/devices/bus/svi3x8/slot/sv802.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_SLOT_SV802_H
+#define MAME_BUS_SVI3X8_SLOT_SV802_H
-#ifndef __SVI3X8_SLOT_SV802_H__
-#define __SVI3X8_SLOT_SV802_H__
+#pragma once
#include "slot.h"
#include "machine/buffer.h"
@@ -45,6 +45,6 @@ private:
};
// device type definition
-extern const device_type SV802;
+DECLARE_DEVICE_TYPE(SV802, sv802_device)
-#endif // __SVI3X8_SLOT_SV802_H__
+#endif // MAME_BUS_SVI3X8_SLOT_SV802_H
diff --git a/src/devices/bus/svi3x8/slot/sv803.cpp b/src/devices/bus/svi3x8/slot/sv803.cpp
index b67764ddd24..c5e53572d30 100644
--- a/src/devices/bus/svi3x8/slot/sv803.cpp
+++ b/src/devices/bus/svi3x8/slot/sv803.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SV803 = device_creator<sv803_device>;
+DEFINE_DEVICE_TYPE(SV803, sv803_device, "sv803", "SV-803 16k RAM Cartridge")
//**************************************************************************
@@ -26,7 +26,7 @@ const device_type SV803 = device_creator<sv803_device>;
//-------------------------------------------------
sv803_device::sv803_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SV803, "SV-803 16k RAM Cartridge", tag, owner, clock, "sv803", __FILE__),
+ device_t(mconfig, SV803, tag, owner, clock),
device_svi_slot_interface(mconfig, *this)
{
m_ram = std::make_unique<uint8_t[]>(0x4000);
diff --git a/src/devices/bus/svi3x8/slot/sv803.h b/src/devices/bus/svi3x8/slot/sv803.h
index d07da2ce404..6fd1d2b635a 100644
--- a/src/devices/bus/svi3x8/slot/sv803.h
+++ b/src/devices/bus/svi3x8/slot/sv803.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_SLOT_SV803_H
+#define MAME_BUS_SVI3X8_SLOT_SV803_H
-#ifndef __SVI3X8_SLOT_SV803_H__
-#define __SVI3X8_SLOT_SV803_H__
+#pragma once
#include "slot.h"
@@ -38,6 +38,6 @@ private:
};
// device type definition
-extern const device_type SV803;
+DECLARE_DEVICE_TYPE(SV803, sv803_device)
-#endif // __SVI3X8_SLOT_SV803_H__
+#endif // MAME_BUS_SVI3X8_SLOT_SV803_H
diff --git a/src/devices/bus/svi3x8/slot/sv805.cpp b/src/devices/bus/svi3x8/slot/sv805.cpp
index b681d8d1cc6..4edf33e3423 100644
--- a/src/devices/bus/svi3x8/slot/sv805.cpp
+++ b/src/devices/bus/svi3x8/slot/sv805.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SV805 = device_creator<sv805_device>;
+DEFINE_DEVICE_TYPE(SV805, sv805_device, "sv805", "SV-805 RS-232 Interface")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -50,7 +50,7 @@ machine_config_constructor sv805_device::device_mconfig_additions() const
//-------------------------------------------------
sv805_device::sv805_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SV805, "SV-805 RS-232 Interface", tag, owner, clock, "sv805", __FILE__),
+ device_t(mconfig, SV805, tag, owner, clock),
device_svi_slot_interface(mconfig, *this),
m_uart(*this, "uart"),
m_rs232(*this, "rs232")
diff --git a/src/devices/bus/svi3x8/slot/sv805.h b/src/devices/bus/svi3x8/slot/sv805.h
index 8cc9008772d..1a0d6eb4253 100644
--- a/src/devices/bus/svi3x8/slot/sv805.h
+++ b/src/devices/bus/svi3x8/slot/sv805.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_SLOT_SV805_H
+#define MAME_BUS_SVI3X8_SLOT_SV805_H
-#ifndef __SVI3X8_SLOT_SV805_H__
-#define __SVI3X8_SLOT_SV805_H__
+#pragma once
#include "slot.h"
#include "machine/ins8250.h"
@@ -43,6 +43,6 @@ private:
};
// device type definition
-extern const device_type SV805;
+DECLARE_DEVICE_TYPE(SV805, sv805_device)
-#endif // __SVI3X8_SLOT_SV805_H__
+#endif // MAME_BUS_SVI3X8_SLOT_SV805_H
diff --git a/src/devices/bus/svi3x8/slot/sv806.cpp b/src/devices/bus/svi3x8/slot/sv806.cpp
index c4ff1cc6c62..63eb700b624 100644
--- a/src/devices/bus/svi3x8/slot/sv806.cpp
+++ b/src/devices/bus/svi3x8/slot/sv806.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SV806 = device_creator<sv806_device>;
+DEFINE_DEVICE_TYPE(SV806, sv806_device, "sv806", "SV-806 80 Column Cartridge")
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -68,7 +68,7 @@ machine_config_constructor sv806_device::device_mconfig_additions() const
//-------------------------------------------------
sv806_device::sv806_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SV806, "SV-806 80 Column Cartridge", tag, owner, clock, "sv806", __FILE__),
+ device_t(mconfig, SV806, tag, owner, clock),
device_svi_slot_interface(mconfig, *this),
m_crtc(*this, "crtc"),
m_palette(*this, "palette"),
diff --git a/src/devices/bus/svi3x8/slot/sv806.h b/src/devices/bus/svi3x8/slot/sv806.h
index f37ce5d75f8..4dd7006c3b1 100644
--- a/src/devices/bus/svi3x8/slot/sv806.h
+++ b/src/devices/bus/svi3x8/slot/sv806.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_SLOT_SV806_H
+#define MAME_BUS_SVI3X8_SLOT_SV806_H
-#ifndef __SVI3X8_SLOT_SV806_H__
-#define __SVI3X8_SLOT_SV806_H__
+#pragma once
#include "slot.h"
#include "video/mc6845.h"
@@ -49,6 +49,6 @@ private:
};
// device type definition
-extern const device_type SV806;
+DECLARE_DEVICE_TYPE(SV806, sv806_device)
-#endif // __SVI3X8_SLOT_SV806_H__
+#endif // MAME_BUS_SVI3X8_SLOT_SV806_H
diff --git a/src/devices/bus/svi3x8/slot/sv807.cpp b/src/devices/bus/svi3x8/slot/sv807.cpp
index 0511b2373ab..565154a6e7d 100644
--- a/src/devices/bus/svi3x8/slot/sv807.cpp
+++ b/src/devices/bus/svi3x8/slot/sv807.cpp
@@ -28,7 +28,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type SV807 = device_creator<sv807_device>;
+DEFINE_DEVICE_TYPE(SV807, sv807_device, "sv807", "SV-807 64k RAM Cartridge")
//-------------------------------------------------
// input_ports - device-specific input ports
@@ -77,7 +77,7 @@ ioport_constructor sv807_device::device_input_ports() const
//-------------------------------------------------
sv807_device::sv807_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, SV807, "SV-807 64k RAM Cartridge", tag, owner, clock, "sv807", __FILE__),
+ device_t(mconfig, SV807, tag, owner, clock),
device_svi_slot_interface(mconfig, *this),
m_switch(*this, "S"),
m_bk21(1), m_bk22(1), m_bk31(1), m_bk32(1)
diff --git a/src/devices/bus/svi3x8/slot/sv807.h b/src/devices/bus/svi3x8/slot/sv807.h
index 8dee492b837..e3f12201d37 100644
--- a/src/devices/bus/svi3x8/slot/sv807.h
+++ b/src/devices/bus/svi3x8/slot/sv807.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_SVI3X8_SLOT_SV807_H
+#define MAME_BUS_SVI3X8_SLOT_SV807_H
-#ifndef __SVI3X8_SLOT_SV807_H__
-#define __SVI3X8_SLOT_SV807_H__
+#pragma once
#include "slot.h"
@@ -54,6 +54,6 @@ private:
};
// device type definition
-extern const device_type SV807;
+DECLARE_DEVICE_TYPE(SV807, sv807_device)
-#endif // __SVI3X8_SLOT_SV807_H__
+#endif // MAME_BUS_SVI3X8_SLOT_SV807_H
diff --git a/src/devices/bus/ti8x/bitsocket.cpp b/src/devices/bus/ti8x/bitsocket.cpp
index f712665d190..06c931eff6f 100644
--- a/src/devices/bus/ti8x/bitsocket.cpp
+++ b/src/devices/bus/ti8x/bitsocket.cpp
@@ -5,7 +5,7 @@
#include "bitsocket.h"
-device_type const TI8X_BIT_SOCKET = device_creator<bus::ti8x::bit_socket_device>;
+DEFINE_DEVICE_TYPE_NS(TI8X_BIT_SOCKET, bus::ti8x, bit_socket_device, "ti8x_bitsock", "TI-8x Bit Socket")
namespace bus { namespace ti8x {
@@ -24,7 +24,7 @@ bit_socket_device::bit_socket_device(
char const *tag,
device_t *owner,
uint32_t clock)
- : device_t(mconfig, TI8X_BIT_SOCKET, "TI-8x Bit Socket", tag, owner, clock, "ti8xbitsock", __FILE__)
+ : device_t(mconfig, TI8X_BIT_SOCKET, tag, owner, clock)
, device_ti8x_link_port_interface(mconfig, *this)
, m_stream(*this, "stream")
, m_poll_timer(nullptr)
diff --git a/src/devices/bus/ti8x/bitsocket.h b/src/devices/bus/ti8x/bitsocket.h
index de4ff6ca060..1d1f37c0add 100644
--- a/src/devices/bus/ti8x/bitsocket.h
+++ b/src/devices/bus/ti8x/bitsocket.h
@@ -9,8 +9,8 @@
bit 1 = set tip
bit 2 = set ring
*/
-#ifndef MAME_DEVICES_BUS_TI8X_BITSOCKET_H
-#define MAME_DEVICES_BUS_TI8X_BITSOCKET_H
+#ifndef MAME_BUS_TI8X_BITSOCKET_H
+#define MAME_BUS_TI8X_BITSOCKET_H
#pragma once
@@ -19,9 +19,6 @@
#include "imagedev/bitbngr.h"
-extern device_type const TI8X_BIT_SOCKET;
-
-
namespace bus { namespace ti8x {
class bit_socket_device
@@ -52,4 +49,7 @@ private:
} } // namespace bus::ti8x
-#endif // MAME_DEVICES_BUS_TI8X_BITSOCKET_H
+
+DECLARE_DEVICE_TYPE_NS(TI8X_BIT_SOCKET, bus::ti8x, bit_socket_device)
+
+#endif // MAME_BUS_TI8X_BITSOCKET_H
diff --git a/src/devices/bus/ti8x/graphlinkhle.cpp b/src/devices/bus/ti8x/graphlinkhle.cpp
index 7a5adb60725..a47f7ef5341 100644
--- a/src/devices/bus/ti8x/graphlinkhle.cpp
+++ b/src/devices/bus/ti8x/graphlinkhle.cpp
@@ -5,7 +5,7 @@
#include "graphlinkhle.h"
-device_type const TI8X_GRAPH_LINK_HLE = device_creator<bus::ti8x::graph_link_hle_device>;
+DEFINE_DEVICE_TYPE_NS(TI8X_GRAPH_LINK_HLE, bus::ti8x, graph_link_hle_device, "tii8x_glinkhle", "TI-Graph Link (grey, HLE)")
namespace bus { namespace ti8x {
@@ -25,7 +25,7 @@ graph_link_hle_device::graph_link_hle_device(
char const *tag,
device_t *owner,
uint32_t clock)
- : device_t(mconfig, TI8X_GRAPH_LINK_HLE, "TI-Graph Link (grey, HLE)", tag, owner, clock, "glinkhle", __FILE__)
+ : device_t(mconfig, TI8X_GRAPH_LINK_HLE, tag, owner, clock)
, device_ti8x_link_port_byte_interface(mconfig, *this)
, device_serial_interface(mconfig, *this)
, m_serial_port(*this, "rs232")
diff --git a/src/devices/bus/ti8x/graphlinkhle.h b/src/devices/bus/ti8x/graphlinkhle.h
index c0fef8cfbb9..6959d5b336e 100644
--- a/src/devices/bus/ti8x/graphlinkhle.h
+++ b/src/devices/bus/ti8x/graphlinkhle.h
@@ -9,10 +9,10 @@
The buffer is there so that if you connect two emulated calculators
together with these it has some chance of working. The receiving
calculator can't slow the sending calculator down like it would be able
- to in real life, so you get inevitable overruns without the buffer.
+ to in real life, so you inevitably get overruns without the buffer.
*/
-#ifndef MAME_DEVICES_BUS_TI8X_GRAPHLINKHLE_H
-#define MAME_DEVICES_BUS_TI8X_GRAPHLINKHLE_H
+#ifndef MAME_BUS_TI8X_GRAPHLINKHLE_H
+#define MAME_BUS_TI8X_GRAPHLINKHLE_H
#pragma once
@@ -23,9 +23,6 @@
#include <memory>
-extern device_type const TI8X_GRAPH_LINK_HLE;
-
-
namespace bus { namespace ti8x {
class graph_link_hle_device
@@ -63,4 +60,7 @@ private:
} } // namespace bus::ti8x
-#endif // MAME_DEVICES_BUS_TI8X_GRAPHLINKHLE_H
+
+DECLARE_DEVICE_TYPE_NS(TI8X_GRAPH_LINK_HLE, bus::ti8x, graph_link_hle_device)
+
+#endif // MAME_BUS_TI8X_GRAPHLINKHLE_H
diff --git a/src/devices/bus/ti8x/teeconn.cpp b/src/devices/bus/ti8x/teeconn.cpp
index d2d1ffbc3db..afe368ff203 100644
--- a/src/devices/bus/ti8x/teeconn.cpp
+++ b/src/devices/bus/ti8x/teeconn.cpp
@@ -5,7 +5,7 @@
#include "teeconn.h"
-device_type const TI8X_TEE_CONNECTOR = device_creator<bus::ti8x::tee_connector_device>;
+DEFINE_DEVICE_TYPE_NS(TI8X_TEE_CONNECTOR, bus::ti8x, tee_connector_device, "it8x_tconn", "TI-8x T-connector")
namespace bus { namespace ti8x {
@@ -30,7 +30,7 @@ tee_connector_device::tee_connector_device(
char const *tag,
device_t *owner,
uint32_t clock)
- : device_t(mconfig, TI8X_TEE_CONNECTOR, "T-connector", tag, owner, clock, "ti8xtconn", __FILE__)
+ : device_t(mconfig, TI8X_TEE_CONNECTOR, tag, owner, clock)
, device_ti8x_link_port_interface(mconfig, *this)
, m_port_a(*this, "a")
, m_port_b(*this, "b")
diff --git a/src/devices/bus/ti8x/teeconn.h b/src/devices/bus/ti8x/teeconn.h
index 3c6beb31b46..50d9c87c37e 100644
--- a/src/devices/bus/ti8x/teeconn.h
+++ b/src/devices/bus/ti8x/teeconn.h
@@ -11,9 +11,6 @@
#include "ti8x.h"
-extern device_type const TI8X_TEE_CONNECTOR;
-
-
namespace bus { namespace ti8x {
class tee_connector_device : public device_t, public device_ti8x_link_port_interface
@@ -42,4 +39,7 @@ protected:
} } // namespace bus::ti8x
+
+DECLARE_DEVICE_TYPE_NS(TI8X_TEE_CONNECTOR, bus::ti8x, tee_connector_device)
+
#endif // MAME_DEVICES_BUS_TI8X_TEECONN_H
diff --git a/src/devices/bus/ti8x/ti8x.cpp b/src/devices/bus/ti8x/ti8x.cpp
index 0fa99837288..528b1dc6c39 100644
--- a/src/devices/bus/ti8x/ti8x.cpp
+++ b/src/devices/bus/ti8x/ti8x.cpp
@@ -17,7 +17,7 @@
-device_type const TI8X_LINK_PORT = device_creator<ti8x_link_port_device>;
+DEFINE_DEVICE_TYPE(TI8X_LINK_PORT, ti8x_link_port_device, "ti8x_link_port", "TI-8x Link Port")
ti8x_link_port_device::ti8x_link_port_device(
@@ -25,7 +25,7 @@ ti8x_link_port_device::ti8x_link_port_device(
char const *tag,
device_t *owner,
uint32_t clock)
- : ti8x_link_port_device(mconfig, TI8X_LINK_PORT, "TI-8x Link Port", tag, owner, clock, "ti8xlink", __FILE__)
+ : ti8x_link_port_device(mconfig, TI8X_LINK_PORT, tag, owner, clock)
{
}
@@ -33,13 +33,10 @@ ti8x_link_port_device::ti8x_link_port_device(
ti8x_link_port_device::ti8x_link_port_device(
machine_config const &mconfig,
device_type type,
- char const *name,
char const *tag,
device_t *owner,
- uint32_t clock,
- char const *shortname,
- char const *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+ uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_slot_interface(mconfig, *this)
, m_tip_handler(*this)
, m_ring_handler(*this)
diff --git a/src/devices/bus/ti8x/ti8x.h b/src/devices/bus/ti8x/ti8x.h
index fdb998cb66c..5a21a4abc17 100644
--- a/src/devices/bus/ti8x/ti8x.h
+++ b/src/devices/bus/ti8x/ti8x.h
@@ -39,7 +39,7 @@
-extern device_type const TI8X_LINK_PORT;
+DECLARE_DEVICE_TYPE(TI8X_LINK_PORT, ti8x_link_port_device)
#define MCFG_TI8X_LINK_PORT_ADD(tag, slot_intf, def_slot) \
@@ -77,12 +77,9 @@ protected:
ti8x_link_port_device(
machine_config const &mconfig,
device_type type,
- char const *name,
char const *tag,
device_t *owner,
- u32 clock,
- char const *shortname,
- char const *source);
+ u32 clock);
virtual void device_start() override;
virtual void device_config_complete() override;
diff --git a/src/devices/bus/ti8x/tispeaker.cpp b/src/devices/bus/ti8x/tispeaker.cpp
index 0b916e1c4d9..952bbc5cca7 100644
--- a/src/devices/bus/ti8x/tispeaker.cpp
+++ b/src/devices/bus/ti8x/tispeaker.cpp
@@ -7,8 +7,8 @@
#include "speaker.h"
-device_type const TI8X_SPEAKER_STEREO = device_creator<bus::ti8x::stereo_speaker_device>;
-device_type const TI8X_SPEAKER_MONO = device_creator<bus::ti8x::mono_speaker_device>;
+DEFINE_DEVICE_TYPE_NS(TI8X_SPEAKER_STEREO, bus::ti8x, stereo_speaker_device, "ti8x_stspkr", "TI-8x Speaker (Stereo)")
+DEFINE_DEVICE_TYPE_NS(TI8X_SPEAKER_MONO, bus::ti8x, mono_speaker_device, "ti8x_mspkr", "TI-8x Speaker (Mono)")
namespace bus { namespace ti8x {
@@ -41,7 +41,7 @@ stereo_speaker_device::stereo_speaker_device(
char const *tag,
device_t *owner,
uint32_t clock)
- : device_t(mconfig, TI8X_SPEAKER_STEREO, "TI-8x Speaker (Stereo)", tag, owner, clock, "ti8xstspkr", __FILE__)
+ : device_t(mconfig, TI8X_SPEAKER_STEREO, tag, owner, clock)
, device_ti8x_link_port_interface(mconfig, *this)
, m_left_speaker(*this, "lspkr")
, m_right_speaker(*this, "rspkr")
@@ -78,7 +78,7 @@ mono_speaker_device::mono_speaker_device(
char const *tag,
device_t *owner,
uint32_t clock)
- : device_t(mconfig, TI8X_SPEAKER_MONO, "TI-8x Speaker (Mono)", tag, owner, clock, "ti8xmspkr", __FILE__)
+ : device_t(mconfig, TI8X_SPEAKER_MONO, tag, owner, clock)
, device_ti8x_link_port_interface(mconfig, *this)
, m_speaker(*this, "spkr")
, m_tip_state(true)
diff --git a/src/devices/bus/ti8x/tispeaker.h b/src/devices/bus/ti8x/tispeaker.h
index 308b316b3bf..1ee519f87e7 100644
--- a/src/devices/bus/ti8x/tispeaker.h
+++ b/src/devices/bus/ti8x/tispeaker.h
@@ -9,10 +9,6 @@
#include "sound/spkrdev.h"
-extern device_type const TI8X_SPEAKER_STEREO;
-extern device_type const TI8X_SPEAKER_MONO;
-
-
namespace bus { namespace ti8x {
class stereo_speaker_device : public device_t, public device_ti8x_link_port_interface
@@ -52,4 +48,8 @@ private:
} } // namespace bus::ti8x
+
+DECLARE_DEVICE_TYPE_NS(TI8X_SPEAKER_STEREO, bus::ti8x, stereo_speaker_device)
+DECLARE_DEVICE_TYPE_NS(TI8X_SPEAKER_MONO, bus::ti8x, mono_speaker_device)
+
#endif // MAME_DEVICES_BUS_TI8X_TISPEAKER_H
diff --git a/src/devices/bus/ti99x/busmouse.cpp b/src/devices/bus/ti99/colorbus/busmouse.cpp
index 87c92018889..305e1eba702 100644
--- a/src/devices/bus/ti99x/busmouse.cpp
+++ b/src/devices/bus/ti99/colorbus/busmouse.cpp
@@ -14,18 +14,17 @@
#include "emu.h"
#include "busmouse.h"
-busmouse_device::busmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : colorbus_attached_device(mconfig, BUSMOUSE, "Bus Mouse", tag, owner, clock, "busmouse", __FILE__)
+geneve_busmouse_device::geneve_busmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, TI99_BUSMOUSE, tag, owner, clock), device_ti99_colorbus_interface(mconfig, *this)
+ , m_buttons(*this, "MOUSEBUT"), m_xaxis(*this, "MOUSEX"), m_yaxis(*this, "MOUSEY")
{
}
-void busmouse_device::poll(int& delta_x, int& delta_y, int& buttons)
+void geneve_busmouse_device::poll(int& delta_x, int& delta_y, int& buttons)
{
- int new_mx, new_my;
-
- buttons = ioport("MOUSEBUT")->read();
- new_mx = ioport("MOUSEX")->read();
- new_my = ioport("MOUSEY")->read();
+ buttons = m_buttons->read();
+ int const new_mx = m_xaxis->read();
+ int const new_my = m_yaxis->read();
/* compute x delta */
delta_x = new_mx - m_last_mx;
@@ -36,13 +35,13 @@ void busmouse_device::poll(int& delta_x, int& delta_y, int& buttons)
m_last_my = new_my;
}
-void busmouse_device::device_start(void)
+void geneve_busmouse_device::device_start()
{
save_item(NAME(m_last_mx));
save_item(NAME(m_last_my));
}
-void busmouse_device::device_reset(void)
+void geneve_busmouse_device::device_reset()
{
m_last_mx = 0;
m_last_my = 0;
@@ -61,9 +60,9 @@ INPUT_PORTS_START( busmouse )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Middle mouse button")
INPUT_PORTS_END
-ioport_constructor busmouse_device::device_input_ports() const
+ioport_constructor geneve_busmouse_device::device_input_ports() const
{
return INPUT_PORTS_NAME( busmouse );
}
-const device_type BUSMOUSE = device_creator<busmouse_device>;
+DEFINE_DEVICE_TYPE(TI99_BUSMOUSE, geneve_busmouse_device, "ti99_busmouse", "Geneve Bus Mouse")
diff --git a/src/devices/bus/ti99x/busmouse.h b/src/devices/bus/ti99/colorbus/busmouse.h
index 6da82101dd4..15570ff2a4a 100644
--- a/src/devices/bus/ti99x/busmouse.h
+++ b/src/devices/bus/ti99/colorbus/busmouse.h
@@ -10,26 +10,30 @@
*****************************************************************************/
-#ifndef __BUSMOUSE__
-#define __BUSMOUSE__
+#ifndef MAME_BUS_TI99_COLORBUS_BUSMOUSE_H
+#define MAME_BUS_TI99_COLORBUS_BUSMOUSE_H
+
+#pragma once
#include "colorbus.h"
-extern const device_type BUSMOUSE;
+DECLARE_DEVICE_TYPE(TI99_BUSMOUSE, geneve_busmouse_device)
-class busmouse_device : public colorbus_attached_device
+class geneve_busmouse_device : public device_t, public device_ti99_colorbus_interface
{
public:
- busmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ geneve_busmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void poll(int& delta_x, int& delta_y, int& buttons) override;
protected:
- virtual void device_start(void) override;
- virtual void device_reset(void) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
virtual ioport_constructor device_input_ports() const override;
private:
+ required_ioport m_buttons, m_xaxis, m_yaxis;
int m_last_mx;
int m_last_my;
};
-#endif
+
+#endif // MAME_BUS_TI99_COLORBUS_BUSMOUSE_H
diff --git a/src/devices/bus/ti99x/colorbus.cpp b/src/devices/bus/ti99/colorbus/colorbus.cpp
index ee75d5befa5..f157d564861 100644
--- a/src/devices/bus/ti99x/colorbus.cpp
+++ b/src/devices/bus/ti99/colorbus/colorbus.cpp
@@ -20,10 +20,10 @@
#include "emu.h"
#include "colorbus.h"
#include "busmouse.h"
-#include "ti99defs.h"
+#include "bus/ti99x/ti99defs.h"
-colorbus_device::colorbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, COLORBUS, "Color bus", tag, owner, clock, "colorbus", __FILE__),
+ti99_colorbus_device::ti99_colorbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, TI99_COLORBUS, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_connected(nullptr),
m_v9938(*owner, VDP_TAG),
@@ -31,7 +31,7 @@ colorbus_device::colorbus_device(const machine_config &mconfig, const char *tag,
{
}
-void colorbus_device::poll()
+void ti99_colorbus_device::poll()
{
int delta_x, delta_y, buttons;
@@ -41,25 +41,25 @@ void colorbus_device::poll()
m_left_button_pressed = (buttons & 0x04)!=0;
}
-line_state colorbus_device::left_button()
+line_state ti99_colorbus_device::left_button()
{
return m_left_button_pressed? ASSERT_LINE : CLEAR_LINE;
}
-void colorbus_device::device_config_complete()
+void ti99_colorbus_device::device_config_complete()
{
- m_connected = static_cast<colorbus_attached_device*>(subdevices().first());
+ m_connected = dynamic_cast<device_ti99_colorbus_interface*>(subdevices().first());
}
/*****************************************************************************/
-void colorbus_attached_device::device_config_complete()
+void device_ti99_colorbus_interface::interface_config_complete()
{
- m_colorbus = static_cast<colorbus_device*>(owner());
+ m_colorbus = downcast<ti99_colorbus_device*>(device().owner());
}
-SLOT_INTERFACE_START( colorbus_port )
- SLOT_INTERFACE("busmouse", BUSMOUSE)
+SLOT_INTERFACE_START( ti99_colorbus_port )
+ SLOT_INTERFACE("busmouse", TI99_BUSMOUSE)
SLOT_INTERFACE_END
-const device_type COLORBUS = device_creator<colorbus_device>;
+DEFINE_DEVICE_TYPE(TI99_COLORBUS, ti99_colorbus_device, "ti99_colorbus", "v9938 Color bus")
diff --git a/src/devices/bus/ti99x/colorbus.h b/src/devices/bus/ti99/colorbus/colorbus.h
index f56defb36a2..74d939e77d7 100644
--- a/src/devices/bus/ti99x/colorbus.h
+++ b/src/devices/bus/ti99/colorbus/colorbus.h
@@ -11,54 +11,54 @@
*****************************************************************************/
-#ifndef __COLORBUS__
-#define __COLORBUS__
+#ifndef MAME_BUS_TI99_COLORBUS_COLORBUS_H
+#define MAME_BUS_TI99_COLORBUS_COLORBUS_H
+
+#pragma once
#include "video/v9938.h"
-extern const device_type COLORBUS;
-class colorbus_device;
+DECLARE_DEVICE_TYPE(TI99_COLORBUS, ti99_colorbus_device)
/********************************************************************
Common parent class of all devices attached to the color bus
********************************************************************/
-class colorbus_attached_device : public device_t
+class device_ti99_colorbus_interface : public device_slot_card_interface
{
public:
- colorbus_attached_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source), m_colorbus(nullptr) { };
-
- virtual void poll(int& delta_x, int& delta_y, int& buttons) =0;
+ virtual void poll(int& delta_x, int& delta_y, int& buttons) = 0;
protected:
- virtual void device_config_complete() override;
- colorbus_device* m_colorbus;
+ using device_slot_card_interface::device_slot_card_interface;
+
+ virtual void interface_config_complete() override;
+ ti99_colorbus_device* m_colorbus = nullptr;
};
/********************************************************************
Color bus port
********************************************************************/
-class colorbus_device : public device_t, public device_slot_interface
+class ti99_colorbus_device : public device_t, public device_slot_interface
{
public:
- colorbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ti99_colorbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
line_state left_button(); // left button is not connected to the V9938 but to a TMS9901 pin
void poll();
protected:
- void device_start() override { };
+ void device_start() override { }
void device_config_complete() override;
private:
- colorbus_attached_device* m_connected;
+ device_ti99_colorbus_interface* m_connected;
required_device<v9938_device> m_v9938;
bool m_left_button_pressed;
};
-SLOT_INTERFACE_EXTERN(colorbus_port);
+SLOT_INTERFACE_EXTERN(ti99_colorbus_port);
#define MCFG_COLORBUS_MOUSE_ADD( _tag ) \
- MCFG_DEVICE_ADD(_tag, COLORBUS, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(colorbus_port, "busmouse", false)
+ MCFG_DEVICE_ADD(_tag, TI99_COLORBUS, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(ti99_colorbus_port, "busmouse", false)
-#endif
+#endif // MAME_BUS_TI99_COLORBUS_COLORBUS_H
diff --git a/src/devices/bus/ti99x/handset.cpp b/src/devices/bus/ti99/joyport/handset.cpp
index e1f584f415d..8e2833e2c84 100644
--- a/src/devices/bus/ti99x/handset.cpp
+++ b/src/devices/bus/ti99/joyport/handset.cpp
@@ -52,7 +52,7 @@ static const char *const joynames[2][4] =
static const char *const keynames[] = { "KP0", "KP1", "KP2", "KP3", "KP4" };
ti99_handset_device::ti99_handset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : joyport_attached_device(mconfig, HANDSET, "TI-99/4 IR handset", tag, owner, clock, "handset", __FILE__), m_ack(0), m_clock_high(false), m_buf(0), m_buflen(0), m_delay_timer(nullptr)
+ : device_t(mconfig, TI99_HANDSET, tag, owner, clock), device_ti99_joyport_interface(mconfig, *this), m_ack(0), m_clock_high(false), m_buf(0), m_buflen(0), m_delay_timer(nullptr)
{
}
@@ -317,7 +317,7 @@ void ti99_handset_device::pulse_clock()
do_task();
}
-void ti99_handset_device::device_start(void)
+void ti99_handset_device::device_start()
{
m_delay_timer = timer_alloc(DELAY_TIMER);
save_item(NAME(m_ack));
@@ -328,7 +328,7 @@ void ti99_handset_device::device_start(void)
save_pointer(NAME(previous_key), MAX_HANDSETS);
}
-void ti99_handset_device::device_reset(void)
+void ti99_handset_device::device_reset()
{
if (VERBOSE>5) LOG("ti99_handset_device: Reset\n");
m_delay_timer->enable(true);
@@ -469,7 +469,7 @@ ioport_constructor ti99_handset_device::device_input_ports() const
return INPUT_PORTS_NAME( handset );
}
-const device_type HANDSET = device_creator<ti99_handset_device>;
+DEFINE_DEVICE_TYPE(TI99_HANDSET, ti99_handset_device, "ti99_handset", "TI-99/4 IR handset")
/******************************************************************************
Twin Joystick
@@ -496,12 +496,12 @@ INPUT_PORTS_START( joysticks )
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1/*, "(2FIRE)", CODE_NONE, OSD_JOY2_FIRE, 0*/) PORT_PLAYER(2)
INPUT_PORTS_END
-ti99_twin_joystick::ti99_twin_joystick(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: joyport_attached_device(mconfig, TI99_JOYSTICK, "TI-99/4(A) Twin Joystick", tag, owner, clock, "twinjoy", __FILE__), m_joystick(0)
+ti99_twin_joystick_device::ti99_twin_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, TI99_JOYSTICK, tag, owner, clock), device_ti99_joyport_interface(mconfig, *this), m_joystick(0)
{
}
-void ti99_twin_joystick::device_start(void)
+void ti99_twin_joystick_device::device_start()
{
save_item(NAME(m_joystick));
}
@@ -511,7 +511,7 @@ void ti99_twin_joystick::device_start(void)
answer = |0|0|0|U|D|R|L|B|
*/
-uint8_t ti99_twin_joystick::read_dev()
+uint8_t ti99_twin_joystick_device::read_dev()
{
uint8_t value;
if (m_joystick==1) value = ioport("JOY1")->read();
@@ -520,19 +520,19 @@ uint8_t ti99_twin_joystick::read_dev()
if (m_joystick==2) value = ioport("JOY2")->read();
else value = 0xff;
}
- if (VERBOSE>6) LOG("ti99_twin_joystick: joy%d = %02x\n", m_joystick, value);
+ if (VERBOSE>6) LOG("ti99_twin_joystick_device: joy%d = %02x\n", m_joystick, value);
return value;
}
-void ti99_twin_joystick::write_dev(uint8_t data)
+void ti99_twin_joystick_device::write_dev(uint8_t data)
{
- if (VERBOSE>7) LOG("ti99_twin_joystick: Select joystick %d\n", data);
+ if (VERBOSE>7) LOG("ti99_twin_joystick_device: Select joystick %d\n", data);
m_joystick = data & 0x03;
}
-ioport_constructor ti99_twin_joystick::device_input_ports() const
+ioport_constructor ti99_twin_joystick_device::device_input_ports() const
{
return INPUT_PORTS_NAME( joysticks );
}
-const device_type TI99_JOYSTICK = device_creator<ti99_twin_joystick>;
+DEFINE_DEVICE_TYPE(TI99_JOYSTICK, ti99_twin_joystick_device, "ti99_twinjoy", "TI-99/4(A) Twin Joysticks")
diff --git a/src/devices/bus/ti99x/handset.h b/src/devices/bus/ti99/joyport/handset.h
index 7156ddea6d4..043c426e50c 100644
--- a/src/devices/bus/ti99x/handset.h
+++ b/src/devices/bus/ti99/joyport/handset.h
@@ -14,16 +14,16 @@
*****************************************************************************/
-#ifndef __HANDSET__
-#define __HANDSET__
+#ifndef MAME_BUS_TI99_JOYPORT_HANDSET_H
+#define MAME_BUS_TI99_JOYPORT_HANDSET_H
-#include "joyport.h"
+#pragma once
-#define MAX_HANDSETS 4
+#include "joyport.h"
-extern const device_type HANDSET;
+DECLARE_DEVICE_TYPE(TI99_HANDSET, ti99_handset_device)
-class ti99_handset_device : public joyport_attached_device
+class ti99_handset_device : public device_t, public device_ti99_joyport_interface
{
public:
ti99_handset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -34,13 +34,15 @@ public:
void pulse_clock() override;
protected:
- virtual void device_start(void) override;
- virtual void device_reset(void) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
virtual ioport_constructor device_input_ports() const override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
private:
+ static constexpr unsigned MAX_HANDSETS = 4;
+
void do_task();
void post_message(int message);
bool poll_keyboard(int num);
@@ -59,13 +61,13 @@ private:
/****************************************************************************/
-extern const device_type TI99_JOYSTICK;
+DECLARE_DEVICE_TYPE(TI99_JOYSTICK, ti99_twin_joystick_device)
-class ti99_twin_joystick : public joyport_attached_device
+class ti99_twin_joystick_device : public device_t, public device_ti99_joyport_interface
{
public:
- ti99_twin_joystick(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual void device_start(void) override;
+ ti99_twin_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual void device_start() override;
uint8_t read_dev() override;
void write_dev(uint8_t data) override;
@@ -81,4 +83,4 @@ private:
};
-#endif
+#endif // MAME_BUS_TI99_JOYPORT_HANDSET_H
diff --git a/src/devices/bus/ti99x/joyport.cpp b/src/devices/bus/ti99/joyport/joyport.cpp
index ea7d3e18100..d41a005258c 100644
--- a/src/devices/bus/ti99x/joyport.cpp
+++ b/src/devices/bus/ti99/joyport/joyport.cpp
@@ -40,8 +40,8 @@
#include "handset.h"
#include "mecmouse.h"
-joyport_device::joyport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, JOYPORT, "Joystick port", tag, owner, clock, "ti99_joyport", __FILE__),
+ti99_joyport_device::ti99_joyport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, TI99_JOYPORT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_interrupt(*this), m_connected(nullptr)
{
@@ -50,7 +50,7 @@ joyport_device::joyport_device(const machine_config &mconfig, const char *tag, d
/*
Reads a value from the port.
*/
-uint8_t joyport_device::read_port()
+uint8_t ti99_joyport_device::read_port()
{
return m_connected->read_dev();
}
@@ -59,7 +59,7 @@ uint8_t joyport_device::read_port()
This is used to select the device at the port. The device should keep this
value until read() is called.
*/
-void joyport_device::write_port(int data)
+void ti99_joyport_device::write_port(int data)
{
m_connected->write_dev(data);
}
@@ -67,7 +67,7 @@ void joyport_device::write_port(int data)
/*
This is only used for the handset device of the TI-99/4. It is driven by the VDP interrupt.
*/
-void joyport_device::pulse_clock()
+void ti99_joyport_device::pulse_clock()
{
m_connected->pulse_clock();
}
@@ -76,41 +76,41 @@ void joyport_device::pulse_clock()
Propagate the interrupt to the defined target. Only used for the handset
at the prototype 99/4.
*/
-WRITE_LINE_MEMBER( joyport_device::set_interrupt )
+WRITE_LINE_MEMBER( ti99_joyport_device::set_interrupt )
{
m_interrupt(state);
}
-void joyport_device::device_start()
+void ti99_joyport_device::device_start()
{
m_interrupt.resolve();
}
-void joyport_device::device_config_complete()
+void ti99_joyport_device::device_config_complete()
{
- m_connected = static_cast<joyport_attached_device*>(subdevices().first());
+ m_connected = dynamic_cast<device_ti99_joyport_interface*>(subdevices().first());
}
/*****************************************************************************/
-void joyport_attached_device::device_config_complete()
+void device_ti99_joyport_interface::interface_config_complete()
{
- m_joyport = static_cast<joyport_device*>(owner());
+ m_joyport = downcast<ti99_joyport_device*>(device().owner());
}
-SLOT_INTERFACE_START( joystick_port )
+SLOT_INTERFACE_START( ti99_joystick_port )
SLOT_INTERFACE("twinjoy", TI99_JOYSTICK)
- SLOT_INTERFACE("mecmouse", MECMOUSE)
+ SLOT_INTERFACE("mecmouse", TI99_MECMOUSE)
SLOT_INTERFACE_END
-SLOT_INTERFACE_START( joystick_port_gen )
+SLOT_INTERFACE_START( ti99_joystick_port_gen )
SLOT_INTERFACE("twinjoy", TI99_JOYSTICK)
SLOT_INTERFACE_END
-SLOT_INTERFACE_START( joystick_port_994 )
+SLOT_INTERFACE_START( ti99_joystick_port_994 )
SLOT_INTERFACE("twinjoy", TI99_JOYSTICK)
- SLOT_INTERFACE("mecmouse", MECMOUSE)
- SLOT_INTERFACE("handset", HANDSET)
+ SLOT_INTERFACE("mecmouse", TI99_MECMOUSE)
+ SLOT_INTERFACE("handset", TI99_HANDSET)
SLOT_INTERFACE_END
-const device_type JOYPORT = device_creator<joyport_device>;
+DEFINE_DEVICE_TYPE(TI99_JOYPORT, ti99_joyport_device, "ti99_joyport", "TI-99 Joystick port")
diff --git a/src/devices/bus/ti99/joyport/joyport.h b/src/devices/bus/ti99/joyport/joyport.h
new file mode 100644
index 00000000000..789732ec1dd
--- /dev/null
+++ b/src/devices/bus/ti99/joyport/joyport.h
@@ -0,0 +1,87 @@
+// license:LGPL-2.1+
+// copyright-holders:Michael Zapf
+/****************************************************************************
+
+ Joystick port
+
+ Now explicitly implemented as a slot device
+ A joystick port allows for plugging in a single or twin joystick, or
+ a Mechatronics mouse.
+
+ The TI-99/4 also offers an infrared handset, connected to this port. For
+ this reason we also need an interrupt line.
+
+ Michael Zapf
+
+ June 2012
+
+*****************************************************************************/
+
+#ifndef MAME_BUS_TI99_JOYPORT_JOYPORT_H
+#define MAME_BUS_TI99_JOYPORT_JOYPORT_H
+
+#pragma once
+
+
+DECLARE_DEVICE_TYPE(TI99_JOYPORT, ti99_joyport_device)
+
+/********************************************************************
+ Common parent class of all devices attached to the joystick port
+********************************************************************/
+class device_ti99_joyport_interface : public device_slot_card_interface
+{
+public:
+ virtual uint8_t read_dev() = 0;
+ virtual void write_dev(uint8_t data) = 0;
+ virtual void pulse_clock() { }
+
+protected:
+ using device_slot_card_interface::device_slot_card_interface;
+
+ virtual void interface_config_complete() override;
+ ti99_joyport_device* m_joyport = nullptr;
+};
+
+/********************************************************************
+ Joystick port
+********************************************************************/
+class ti99_joyport_device : public device_t, public device_slot_interface
+{
+public:
+ ti99_joyport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ uint8_t read_port();
+ void write_port(int data);
+ void set_interrupt(int state);
+ void pulse_clock();
+
+ template <class Object> static devcb_base &static_set_int_callback(device_t &device, Object &&cb) { return downcast<ti99_joyport_device &>(device).m_interrupt.set_callback(std::forward<Object>(cb)); }
+
+protected:
+ void device_start() override;
+ void device_config_complete() override;
+
+private:
+ devcb_write_line m_interrupt;
+ device_ti99_joyport_interface* m_connected;
+};
+
+SLOT_INTERFACE_EXTERN(ti99_joystick_port);
+SLOT_INTERFACE_EXTERN(ti99_joystick_port_994);
+SLOT_INTERFACE_EXTERN(ti99_joystick_port_gen);
+
+#define MCFG_JOYPORT_INT_HANDLER( _intcallb ) \
+ devcb = &ti99_joyport_device::static_set_int_callback( *device, DEVCB_##_intcallb );
+
+#define MCFG_GENEVE_JOYPORT_ADD( _tag ) \
+ MCFG_DEVICE_ADD(_tag, TI99_JOYPORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(ti99_joystick_port_gen, "twinjoy", false)
+
+#define MCFG_TI_JOYPORT4A_ADD( _tag ) \
+ MCFG_DEVICE_ADD(_tag, TI99_JOYPORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(ti99_joystick_port, "twinjoy", false)
+
+#define MCFG_TI_JOYPORT4_ADD( _tag ) \
+ MCFG_DEVICE_ADD(_tag, TI99_JOYPORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(ti99_joystick_port_994, "twinjoy", false)
+
+#endif // MAME_BUS_TI99_JOYPORT_JOYPORT_H
diff --git a/src/devices/bus/ti99x/mecmouse.cpp b/src/devices/bus/ti99/joyport/mecmouse.cpp
index 52b49721e19..75466df7844 100644
--- a/src/devices/bus/ti99x/mecmouse.cpp
+++ b/src/devices/bus/ti99/joyport/mecmouse.cpp
@@ -53,13 +53,13 @@
#define POLL_TIMER 1
-mecmouse_device::mecmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : joyport_attached_device(mconfig, MECMOUSE, "Mechatronics Mouse", tag, owner, clock, "mecmouse", __FILE__), m_last_select(0), m_read_y_axis(false), m_x(0), m_y(0), m_x_buf(0), m_y_buf(0), m_last_mx(0), m_last_my(0), m_poll_timer(nullptr)
+ti99_mecmouse_device::ti99_mecmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, TI99_MECMOUSE, tag, owner, clock), device_ti99_joyport_interface(mconfig, *this), m_last_select(0), m_read_y_axis(false), m_x(0), m_y(0), m_x_buf(0), m_y_buf(0), m_last_mx(0), m_last_my(0), m_poll_timer(nullptr)
{
}
-uint8_t mecmouse_device::read_dev()
+uint8_t ti99_mecmouse_device::read_dev()
{
int answer;
int buttons = ioport("MOUSE0")->read() & 3;
@@ -81,7 +81,7 @@ uint8_t mecmouse_device::read_dev()
/*
Used to select lines. data = 0x01 (Joy1), 0x02 (Joy2)
*/
-void mecmouse_device::write_dev(uint8_t data)
+void ti99_mecmouse_device::write_dev(uint8_t data)
{
if (data == 0x02) {
if (m_last_select == 0x01) {
@@ -128,7 +128,7 @@ void mecmouse_device::write_dev(uint8_t data)
}
}
-void mecmouse_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+void ti99_mecmouse_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
// Poll the movement
int new_mx, new_my;
@@ -157,7 +157,7 @@ void mecmouse_device::device_timer(emu_timer &timer, device_timer_id id, int par
m_y += delta_y;
}
-void mecmouse_device::device_start(void)
+void ti99_mecmouse_device::device_start()
{
m_poll_timer = timer_alloc(POLL_TIMER);
// The poll time cannot depend on the console settings, since the TI-99/4A
@@ -175,7 +175,7 @@ void mecmouse_device::device_start(void)
save_item(NAME(m_last_my));
}
-void mecmouse_device::device_reset(void)
+void ti99_mecmouse_device::device_reset()
{
m_poll_timer->enable(true);
m_last_select = 0;
@@ -199,9 +199,9 @@ INPUT_PORTS_START( mecmouse )
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Mouse Button 2") PORT_PLAYER(1)
INPUT_PORTS_END
-ioport_constructor mecmouse_device::device_input_ports() const
+ioport_constructor ti99_mecmouse_device::device_input_ports() const
{
return INPUT_PORTS_NAME( mecmouse );
}
-const device_type MECMOUSE = device_creator<mecmouse_device>;
+DEFINE_DEVICE_TYPE(TI99_MECMOUSE, ti99_mecmouse_device, "ti99_mecmouse", "TI-99 Mechatronics Mouse")
diff --git a/src/devices/bus/ti99x/mecmouse.h b/src/devices/bus/ti99/joyport/mecmouse.h
index db33baae305..f73a86c5f53 100644
--- a/src/devices/bus/ti99x/mecmouse.h
+++ b/src/devices/bus/ti99/joyport/mecmouse.h
@@ -11,24 +11,24 @@
*****************************************************************************/
-#ifndef __MECMOUSE__
-#define __MECMOUSE__
+#ifndef MAME_BUS_TI99_JOYPORT_MECMOUSE_H
+#define MAME_BUS_TI99_JOYPORT_MECMOUSE_H
#include "joyport.h"
-extern const device_type MECMOUSE;
+DECLARE_DEVICE_TYPE(TI99_MECMOUSE, ti99_mecmouse_device)
-class mecmouse_device : public joyport_attached_device
+class ti99_mecmouse_device : public device_t, public device_ti99_joyport_interface
{
public:
- mecmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ti99_mecmouse_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
uint8_t read_dev() override;
void write_dev(uint8_t data) override;
protected:
- virtual void device_start(void) override;
- virtual void device_reset(void) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
virtual ioport_constructor device_input_ports() const override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -44,4 +44,5 @@ private:
emu_timer *m_poll_timer;
};
-#endif
+
+#endif // MAME_BUS_TI99_JOYPORT_MECMOUSE_H
diff --git a/src/devices/bus/ti99_peb/bwg.cpp b/src/devices/bus/ti99/peb/bwg.cpp
index 0da1717e169..a7993501d2b 100644
--- a/src/devices/bus/ti99_peb/bwg.cpp
+++ b/src/devices/bus/ti99/peb/bwg.cpp
@@ -43,10 +43,8 @@
*******************************************************************************/
#include "emu.h"
-#include "peribox.h"
#include "bwg.h"
#include "formats/ti99_dsk.h"
-#include "imagedev/flopdrv.h"
// ----------------------------------
// Flags for debugging
@@ -85,7 +83,7 @@
*/
snug_bwg_device::snug_bwg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ti_expansion_card_device(mconfig, TI99_BWG, "SNUG BwG Floppy Controller", tag, owner, clock, "ti99_bwg", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_BWG, tag, owner, clock),
m_DRQ(), m_IRQ(), m_dip1(0), m_dip2(0), m_dip34(0), m_ram_page(0),
m_rom_page(0), m_WAITena(false), m_inDsrArea(false), m_WDsel(false),
m_WDsel0(false), m_RTCsel(false), m_lastK(false), m_dataregLB(false),
@@ -559,7 +557,7 @@ void snug_bwg_device::set_floppy_motors_running(bool run)
operate_ready_line();
}
-void snug_bwg_device::device_start(void)
+void snug_bwg_device::device_start()
{
logerror("bwg: BWG start\n");
m_dsrrom = memregion(DSRROM)->base();
@@ -728,4 +726,4 @@ const tiny_rom_entry *snug_bwg_device::device_rom_region() const
return ROM_NAME( bwg_fdc );
}
-const device_type TI99_BWG = device_creator<snug_bwg_device>;
+DEFINE_DEVICE_TYPE(TI99_BWG, snug_bwg_device, "ti99_bwg", "SNUG BwG Floppy Controller")
diff --git a/src/devices/bus/ti99_peb/bwg.h b/src/devices/bus/ti99/peb/bwg.h
index cdebe19bad0..de202241519 100644
--- a/src/devices/bus/ti99_peb/bwg.h
+++ b/src/devices/bus/ti99/peb/bwg.h
@@ -11,20 +11,24 @@
*****************************************************************************/
-#ifndef __BWG__
-#define __BWG__
+#ifndef MAME_BUS_TI99_PED_BWG_H
+#define MAME_BUS_TI99_PED_BWG_H
+#pragma once
+
+#include "peribox.h"
#include "imagedev/flopdrv.h"
#include "machine/mm58274c.h"
#include "machine/wd_fdc.h"
#include "machine/ram.h"
-extern const device_type TI99_BWG;
+DECLARE_DEVICE_TYPE(TI99_BWG, snug_bwg_device)
class snug_bwg_device : public ti_expansion_card_device
{
public:
snug_bwg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override;
@@ -59,6 +63,9 @@ private:
// Set the current floppy
void set_drive();
+ // Operate the floppy motors
+ void set_floppy_motors_running(bool run);
+
// Holds the status of the DRQ and IRQ lines.
int m_DRQ, m_IRQ;
@@ -69,9 +76,6 @@ private:
int m_ram_page; // 0-1
int m_rom_page; // 0-3
- // Operate the floppy motors
- void set_floppy_motors_running(bool run);
-
// When true, the READY line will be cleared (create wait states) when
// waiting for data from the controller.
bool m_WAITena;
@@ -129,9 +133,10 @@ private:
floppy_image_device* m_current_floppy;
// Link to the WD1773 controller on the board.
- required_device<wd1773_t> m_wd1773;
+ required_device<wd1773_device> m_wd1773;
// Link to the real-time clock on the board.
required_device<mm58274c_device> m_clock;
};
-#endif
+
+#endif // MAME_BUS_TI99_PED_BWG_H
diff --git a/src/devices/bus/ti99_peb/evpc.cpp b/src/devices/bus/ti99/peb/evpc.cpp
index c1657072cc8..b8cc021765e 100644
--- a/src/devices/bus/ti99_peb/evpc.cpp
+++ b/src/devices/bus/ti99/peb/evpc.cpp
@@ -48,7 +48,7 @@
#define NOVRAM_SIZE 256
snug_enhanced_video_device::snug_enhanced_video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: ti_expansion_card_device(mconfig, TI99_EVPC, "SNUG Enhanced Video Processor Card", tag, owner, clock, "ti99_evpc", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_EVPC, tag, owner, clock),
device_nvram_interface(mconfig, *this),
m_dsr_page(0),
m_inDsrArea(false),
@@ -495,4 +495,4 @@ machine_config_constructor snug_enhanced_video_device::device_mconfig_additions(
return MACHINE_CONFIG_NAME( ti99_evpc );
}
-const device_type TI99_EVPC = device_creator<snug_enhanced_video_device>;
+DEFINE_DEVICE_TYPE(TI99_EVPC, snug_enhanced_video_device, "ti99_evpc", "SNUG Enhanced Video Processor Card")
diff --git a/src/devices/bus/ti99_peb/evpc.h b/src/devices/bus/ti99/peb/evpc.h
index 989a048d05b..bb53e285a28 100644
--- a/src/devices/bus/ti99_peb/evpc.h
+++ b/src/devices/bus/ti99/peb/evpc.h
@@ -12,25 +12,18 @@
*****************************************************************************/
-#ifndef __EVPC__
-#define __EVPC__
+#ifndef MAME_BUS_TI99_PEB_EVPC_H
+#define MAME_BUS_TI99_PEB_EVPC_H
+
+#pragma once
#include "peribox.h"
#include "video/v9938.h"
#include "sound/sn76496.h"
#include "bus/ti99x/ti99defs.h"
-#include "bus/ti99x/colorbus.h"
-
-extern const device_type TI99_EVPC;
+#include "bus/ti99/colorbus/colorbus.h"
-struct evpc_palette
-{
- uint8_t read_index, write_index, mask;
- int read;
- int state;
- struct { uint8_t red, green, blue; } color[0x100];
- //int dirty;
-};
+DECLARE_DEVICE_TYPE(TI99_EVPC, snug_enhanced_video_device)
class snug_enhanced_video_device : public ti_expansion_card_device, public device_nvram_interface
{
@@ -49,9 +42,18 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER( hblank_interrupt );
protected:
- void device_start(void) override;
- void device_reset(void) override;
- void device_stop(void) override;
+ struct evpc_palette
+ {
+ uint8_t read_index, write_index, mask;
+ int read;
+ int state;
+ struct { uint8_t red, green, blue; } color[0x100];
+ //int dirty;
+ };
+
+ void device_start() override;
+ void device_reset() override;
+ void device_stop() override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
@@ -80,8 +82,8 @@ private:
evpc_palette m_palette;
required_device<v9938_device> m_video;
required_device<sn76496_base_device> m_sound;
- required_device<colorbus_device> m_colorbus;
+ required_device<ti99_colorbus_device> m_colorbus;
evpc_clock_connector* m_console_conn;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_EVPC_H
diff --git a/src/devices/bus/ti99_peb/hfdc.cpp b/src/devices/bus/ti99/peb/hfdc.cpp
index f719d633a5e..a4067c6bd12 100644
--- a/src/devices/bus/ti99_peb/hfdc.cpp
+++ b/src/devices/bus/ti99/peb/hfdc.cpp
@@ -55,7 +55,6 @@
*****************************************************************************/
#include "emu.h"
-#include "peribox.h"
#include "hfdc.h"
#include "formats/mfm_hd.h"
#include "formats/ti99_dsk.h" // Format
@@ -88,7 +87,7 @@
Constructor for the HFDC card.
*/
myarc_hfdc_device::myarc_hfdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ti_expansion_card_device(mconfig, TI99_HFDC, "Myarc Hard and Floppy Disk Controller", tag, owner, clock, "ti99_hfdc", __FILE__), m_motor_on_timer(nullptr),
+ : ti_expansion_card_device(mconfig, TI99_HFDC, tag, owner, clock), m_motor_on_timer(nullptr),
m_hdc9234(*this, FDC_TAG),
m_clock(*this, CLOCK_TAG), m_current_floppy(nullptr),
m_current_harddisk(nullptr), m_see_switches(false),
@@ -511,8 +510,8 @@ void myarc_hfdc_device::device_timer(emu_timer &timer, device_timer_id id, int p
void myarc_hfdc_device::floppy_index_callback(floppy_image_device *floppy, int state)
{
if (TRACE_LINES) if (state==1) logerror("Floppy index pulse\n");
- // m_status_latch = (state==ASSERT_LINE)? (m_status_latch | HDC_DS_INDEX) : (m_status_latch & ~HDC_DS_INDEX);
- set_bits(m_status_latch, HDC_DS_INDEX, (state==ASSERT_LINE));
+ // m_status_latch = (state==ASSERT_LINE)? (m_status_latch | hdc92x4_device::DS_INDEX) : (m_status_latch & ~hdc92x4_device::DS_INDEX);
+ set_bits(m_status_latch, hdc92x4_device::DS_INDEX, (state==ASSERT_LINE));
signal_drive_status();
}
@@ -522,7 +521,7 @@ void myarc_hfdc_device::floppy_index_callback(floppy_image_device *floppy, int s
void myarc_hfdc_device::harddisk_index_callback(mfm_harddisk_device *harddisk, int state)
{
if (TRACE_LINES) if (state==1) logerror("HD index pulse\n");
- set_bits(m_status_latch, HDC_DS_INDEX, (state==ASSERT_LINE));
+ set_bits(m_status_latch, hdc92x4_device::DS_INDEX, (state==ASSERT_LINE));
signal_drive_status();
}
@@ -532,7 +531,7 @@ void myarc_hfdc_device::harddisk_index_callback(mfm_harddisk_device *harddisk, i
void myarc_hfdc_device::harddisk_ready_callback(mfm_harddisk_device *harddisk, int state)
{
if (TRACE_LINES) logerror("HD READY = %d\n", state);
- set_bits(m_status_latch, HDC_DS_READY, (state==ASSERT_LINE));
+ set_bits(m_status_latch, hdc92x4_device::DS_READY, (state==ASSERT_LINE));
signal_drive_status();
}
@@ -542,7 +541,7 @@ void myarc_hfdc_device::harddisk_ready_callback(mfm_harddisk_device *harddisk, i
void myarc_hfdc_device::harddisk_skcom_callback(mfm_harddisk_device *harddisk, int state)
{
if (TRACE_LINES) logerror("HD seek complete = %d\n", state);
- set_bits(m_status_latch, HDC_DS_SKCOM, (state==ASSERT_LINE));
+ set_bits(m_status_latch, hdc92x4_device::DS_SKCOM, (state==ASSERT_LINE));
signal_drive_status();
}
@@ -593,7 +592,7 @@ void myarc_hfdc_device::signal_drive_status()
// Check for TRK00*
if ((m_current_floppy != nullptr) && (!m_current_floppy->trk00_r()))
- reply |= HDC_DS_TRK00;
+ reply |= hdc92x4_device::DS_TRK00;
}
else
{
@@ -603,13 +602,13 @@ void myarc_hfdc_device::signal_drive_status()
{
if (m_current_harddisk->ready_r()==ASSERT_LINE)
{
- m_status_latch |= HDC_DS_READY;
- set_bits(m_status_latch, HDC_DS_SKCOM, m_current_harddisk->seek_complete_r()==ASSERT_LINE);
- set_bits(m_status_latch, HDC_DS_TRK00, m_current_harddisk->trk00_r()==ASSERT_LINE);
+ m_status_latch |= hdc92x4_device::DS_READY;
+ set_bits(m_status_latch, hdc92x4_device::DS_SKCOM, m_current_harddisk->seek_complete_r()==ASSERT_LINE);
+ set_bits(m_status_latch, hdc92x4_device::DS_TRK00, m_current_harddisk->trk00_r()==ASSERT_LINE);
}
}
// If WDS is selected but not connected, WDS.ready* and WDS.seekComplete* are 1, so Ready=SeekComplete=0
- else set_bits(m_status_latch, HDC_DS_READY | HDC_DS_SKCOM, false);
+ else set_bits(m_status_latch, hdc92x4_device::DS_READY | hdc92x4_device::DS_SKCOM, false);
}
}
@@ -631,18 +630,18 @@ WRITE8_MEMBER( myarc_hfdc_device::auxbus_out )
int index;
switch (offset)
{
- case HDC_INPUT_STATUS:
+ case hdc92x4_device::INPUT_STATUS:
logerror("Invalid operation: S0=S1=0, but tried to write (expected: read drive status)\n");
break;
- case HDC_OUTPUT_DMA_ADDR:
+ case hdc92x4_device::OUTPUT_DMA_ADDR:
// Value is dma address byte. Shift previous contents to the left.
// The value is latched inside the Gate Array.
m_dma_address = ((m_dma_address << 8) + (data&0xff))&0xffffff;
if (TRACE_DMA) logerror("Setting DMA address; current value = %06x\n", m_dma_address);
break;
- case HDC_OUTPUT_1:
+ case hdc92x4_device::OUTPUT_1:
// value is output1
// The HFDC interprets the value as follows:
// WDS = Winchester Drive System, old name for hard disk
@@ -665,12 +664,12 @@ WRITE8_MEMBER( myarc_hfdc_device::auxbus_out )
disconnect_hard_drives();
// Turn off READY and SEEK COMPLETE
- set_bits(m_status_latch, HDC_DS_READY | HDC_DS_SKCOM, false);
+ set_bits(m_status_latch, hdc92x4_device::DS_READY | hdc92x4_device::DS_SKCOM, false);
}
}
break;
- case HDC_OUTPUT_2:
+ case hdc92x4_device::OUTPUT_2:
// value is output2
// DS3* = /WDS3
// WCur = Reduced Write Current
@@ -1113,4 +1112,4 @@ ioport_constructor myarc_hfdc_device::device_input_ports() const
return INPUT_PORTS_NAME( ti99_hfdc );
}
-const device_type TI99_HFDC = device_creator<myarc_hfdc_device>;
+DEFINE_DEVICE_TYPE(TI99_HFDC, myarc_hfdc_device, "ti99_hfdc", "Myarc Hard and Floppy Disk Controller")
diff --git a/src/devices/bus/ti99_peb/hfdc.h b/src/devices/bus/ti99/peb/hfdc.h
index 5824bd5471a..c1bec7e014b 100644
--- a/src/devices/bus/ti99_peb/hfdc.h
+++ b/src/devices/bus/ti99/peb/hfdc.h
@@ -13,8 +13,12 @@
****************************************************************************/
-#ifndef __HFDC__
-#define __HFDC__
+#ifndef MAME_BUS_TI99_PEB_HFDC_H
+#define MAME_BUS_TI99_PEB_HFDC_H
+
+#pragma once
+
+#include "peribox.h"
#include "imagedev/floppy.h"
#include "imagedev/mfmhd.h"
@@ -182,4 +186,5 @@ private:
// Joined ready line towards the controller
int m_readyflags;
};
-#endif
+
+#endif // MAME_BUS_TI99_PEB_HFDC_H
diff --git a/src/devices/bus/ti99_peb/horizon.cpp b/src/devices/bus/ti99/peb/horizon.cpp
index 434fcdf2c6a..aaf2f37b65d 100644
--- a/src/devices/bus/ti99_peb/horizon.cpp
+++ b/src/devices/bus/ti99/peb/horizon.cpp
@@ -66,7 +66,7 @@
#define TRACE_CRU 0
horizon_ramdisk_device::horizon_ramdisk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: ti_expansion_card_device(mconfig, TI99_HORIZON, "Horizon 4000 Ramdisk", tag, owner, clock,"ti99_horizon",__FILE__),
+: ti_expansion_card_device(mconfig, TI99_HORIZON, tag, owner, clock),
device_nvram_interface(mconfig, *this),
m_ram(*this, RAMREGION),
m_nvram(*this, NVRAMREGION),
@@ -491,4 +491,4 @@ ioport_constructor horizon_ramdisk_device::device_input_ports() const
return INPUT_PORTS_NAME(horizon);
}
-const device_type TI99_HORIZON = device_creator<horizon_ramdisk_device>;
+DEFINE_DEVICE_TYPE(TI99_HORIZON, horizon_ramdisk_device, "ti99_horizon", "Horizon 4000 Ramdisk")
diff --git a/src/devices/bus/ti99_peb/horizon.h b/src/devices/bus/ti99/peb/horizon.h
index 4cbc4d4a2fd..d3a5f23817c 100644
--- a/src/devices/bus/ti99_peb/horizon.h
+++ b/src/devices/bus/ti99/peb/horizon.h
@@ -11,13 +11,15 @@
*****************************************************************************/
-#ifndef __HORIZON__
-#define __HORIZON__
+#ifndef MAME_BUS_TI99_PEB_HORIZON_H
+#define MAME_BUS_TI99_PEB_HORIZON_H
+
+#pragma once
#include "peribox.h"
#include "machine/ram.h"
-extern const device_type TI99_HORIZON;
+DECLARE_DEVICE_TYPE(TI99_HORIZON, horizon_ramdisk_device)
class horizon_ramdisk_device : public ti_expansion_card_device, public device_nvram_interface
{
@@ -64,4 +66,4 @@ private:
bool m_use_rambo;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_HORIZON_H
diff --git a/src/devices/bus/ti99_peb/hsgpl.cpp b/src/devices/bus/ti99/peb/hsgpl.cpp
index 1e72f640869..4858e5e1059 100644
--- a/src/devices/bus/ti99_peb/hsgpl.cpp
+++ b/src/devices/bus/ti99/peb/hsgpl.cpp
@@ -142,7 +142,7 @@
#define ROM6_EEPROM "u6_rom6"
snug_high_speed_gpl_device::snug_high_speed_gpl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ti_expansion_card_device(mconfig, TI99_HSGPL, "SNUG High-speed GPL card", tag, owner, clock, "ti99_hsgpl", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_HSGPL, tag, owner, clock),
m_dsr_eeprom(*this, DSR_EEPROM),
m_rom6_eeprom(*this, ROM6_EEPROM),
m_grom_a_eeprom(*this, GROM_A_EEPROM),
@@ -714,4 +714,4 @@ ioport_constructor snug_high_speed_gpl_device::device_input_ports() const
return INPUT_PORTS_NAME(ti99_hsgpl);
}
-const device_type TI99_HSGPL = device_creator<snug_high_speed_gpl_device>;
+DEFINE_DEVICE_TYPE(TI99_HSGPL, snug_high_speed_gpl_device, "ti99_hsgpl", "SNUG High-speed GPL card")
diff --git a/src/devices/bus/ti99_peb/hsgpl.h b/src/devices/bus/ti99/peb/hsgpl.h
index 99bd56747cd..33a6456b2d1 100644
--- a/src/devices/bus/ti99_peb/hsgpl.h
+++ b/src/devices/bus/ti99/peb/hsgpl.h
@@ -13,14 +13,16 @@
*****************************************************************************/
-#ifndef __HSGPL__
-#define __HSGPL__
+#ifndef MAME_BUS_TI99_PEB_HSGPL_H
+#define MAME_BUS_TI99_PEB_HSGPL_H
+
+#pragma once
#include "peribox.h"
#include "machine/at29x.h"
#include "machine/ram.h"
-extern const device_type TI99_HSGPL;
+DECLARE_DEVICE_TYPE(TI99_HSGPL, snug_high_speed_gpl_device)
class snug_high_speed_gpl_device : public ti_expansion_card_device
{
@@ -33,9 +35,9 @@ public:
DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
- virtual void device_start(void) override;
- virtual void device_reset(void) override;
- virtual void device_stop(void) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_stop() override;
virtual ioport_constructor device_input_ports() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -79,4 +81,4 @@ private:
int m_grom_address;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_HSGPL_H
diff --git a/src/devices/bus/ti99_peb/memex.cpp b/src/devices/bus/ti99/peb/memex.cpp
index f0a3dffbee7..2951c0cefdf 100644
--- a/src/devices/bus/ti99_peb/memex.cpp
+++ b/src/devices/bus/ti99/peb/memex.cpp
@@ -31,7 +31,7 @@ enum
};
geneve_memex_device::geneve_memex_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: ti_expansion_card_device(mconfig, TI99_MEMEX, "Geneve memory expansion card", tag, owner, clock, "ti99_memex", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_MEMEX, tag, owner, clock),
m_ram(*this, RAMREGION)
{
}
@@ -158,4 +158,4 @@ ioport_constructor geneve_memex_device::device_input_ports() const
return INPUT_PORTS_NAME( memex );
}
-const device_type TI99_MEMEX = device_creator<geneve_memex_device>;
+DEFINE_DEVICE_TYPE(TI99_MEMEX, geneve_memex_device, "ti99_memex", "Geneve memory expansion card")
diff --git a/src/devices/bus/ti99_peb/memex.h b/src/devices/bus/ti99/peb/memex.h
index 63d21ab9c13..12a9d47b9cb 100644
--- a/src/devices/bus/ti99_peb/memex.h
+++ b/src/devices/bus/ti99/peb/memex.h
@@ -10,13 +10,15 @@
*****************************************************************************/
-#ifndef __MEMEXMEM__
-#define __MEMEXMEM__
+#ifndef MAME_BUS_TI99_PEB_MEMEX_H
+#define MAME_BUS_TI99_PEB_MEMEX_H
+
+#pragma once
#include "peribox.h"
#include "machine/ram.h"
-extern const device_type TI99_MEMEX;
+DECLARE_DEVICE_TYPE(TI99_MEMEX, geneve_memex_device)
class geneve_memex_device : public ti_expansion_card_device
{
@@ -25,8 +27,8 @@ public:
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
- DECLARE_READ8Z_MEMBER(crureadz) override { };
- DECLARE_WRITE8_MEMBER(cruwrite) override { };
+ DECLARE_READ8Z_MEMBER(crureadz) override { }
+ DECLARE_WRITE8_MEMBER(cruwrite) override { }
protected:
void device_start() override;
@@ -40,4 +42,4 @@ private:
uint8_t m_switches;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_MEMEX_H
diff --git a/src/devices/bus/ti99_peb/myarcmem.cpp b/src/devices/bus/ti99/peb/myarcmem.cpp
index 5c1496279f8..f6e1e4b1c16 100644
--- a/src/devices/bus/ti99_peb/myarcmem.cpp
+++ b/src/devices/bus/ti99/peb/myarcmem.cpp
@@ -41,7 +41,7 @@ enum
};
myarc_memory_expansion_device::myarc_memory_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: ti_expansion_card_device(mconfig, TI99_MYARCMEM, "Myarc Memory expansion card MEXP-1", tag, owner, clock, "ti99_myarcmem", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_MYARCMEM, tag, owner, clock),
m_ram(*this, RAM_TAG),
m_dsrrom(nullptr), m_bank(0), m_size(0)
{
@@ -211,4 +211,4 @@ ioport_constructor myarc_memory_expansion_device::device_input_ports() const
return INPUT_PORTS_NAME(myarc_exp);
}
-const device_type TI99_MYARCMEM = device_creator<myarc_memory_expansion_device>;
+DEFINE_DEVICE_TYPE(TI99_MYARCMEM, myarc_memory_expansion_device, "ti99_myarcmem", "Myarc Memory expansion card MEXP-1")
diff --git a/src/devices/bus/ti99_peb/myarcmem.h b/src/devices/bus/ti99/peb/myarcmem.h
index 227409aedfb..e2cf05d8660 100644
--- a/src/devices/bus/ti99_peb/myarcmem.h
+++ b/src/devices/bus/ti99/peb/myarcmem.h
@@ -10,13 +10,15 @@
*****************************************************************************/
-#ifndef __MYARCMEM__
-#define __MYARCMEM__
+#ifndef MAME_BUS_TI99_PEB_MYARCMEM_H
+#define MAME_BUS_TI99_PEB_MYARCMEM_H
+
+#pragma once
#include "peribox.h"
#include "machine/ram.h"
-extern const device_type TI99_MYARCMEM;
+DECLARE_DEVICE_TYPE(TI99_MYARCMEM, myarc_memory_expansion_device)
class myarc_memory_expansion_device : public ti_expansion_card_device
{
@@ -29,9 +31,9 @@ public:
DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
- void device_start(void) override;
- void device_reset(void) override;
- const tiny_rom_entry *device_rom_region(void) const override;
+ void device_start() override;
+ void device_reset() override;
+ const tiny_rom_entry *device_rom_region() const override;
ioport_constructor device_input_ports() const override;
machine_config_constructor device_mconfig_additions() const override;
@@ -43,4 +45,4 @@ private:
int m_size;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_MYARCMEM_H
diff --git a/src/devices/bus/ti99_peb/pcode.cpp b/src/devices/bus/ti99/peb/pcode.cpp
index 7fabe3295ec..b8896ffff1c 100644
--- a/src/devices/bus/ti99_peb/pcode.cpp
+++ b/src/devices/bus/ti99/peb/pcode.cpp
@@ -96,7 +96,7 @@
#define TRACE_SWITCH 0
ti_pcode_card_device::ti_pcode_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: ti_expansion_card_device(mconfig, TI99_P_CODE, "TI-99 P-Code Card", tag, owner, clock, "ti99_pcode", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_P_CODE, tag, owner, clock),
m_rom(nullptr),
m_bank_select(0),
m_active(false),
@@ -373,4 +373,4 @@ ioport_constructor ti_pcode_card_device::device_input_ports() const
return INPUT_PORTS_NAME( ti99_pcode );
}
-const device_type TI99_P_CODE = device_creator<ti_pcode_card_device>;
+DEFINE_DEVICE_TYPE(TI99_P_CODE, ti_pcode_card_device, "ti99_pcode", "TI-99 P-Code Card")
diff --git a/src/devices/bus/ti99_peb/pcode.h b/src/devices/bus/ti99/peb/pcode.h
index 744faa4acca..088ca1ae4b3 100644
--- a/src/devices/bus/ti99_peb/pcode.h
+++ b/src/devices/bus/ti99/peb/pcode.h
@@ -12,13 +12,15 @@
*****************************************************************************/
-#ifndef __PCODE__
-#define __PCODE__
+#ifndef MAME_BUS_TI99_PEB_PCODE_H
+#define MAME_BUS_TI99_PEB_PCODE_H
+
+#pragma once
#include "peribox.h"
#include "machine/tmc0430.h"
-extern const device_type TI99_P_CODE;
+DECLARE_DEVICE_TYPE(TI99_P_CODE, ti_pcode_card_device)
class ti_pcode_card_device : public ti_expansion_card_device
{
@@ -62,4 +64,4 @@ private:
int m_address;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_PCODE_H
diff --git a/src/devices/bus/ti99_peb/peribox.cpp b/src/devices/bus/ti99/peb/peribox.cpp
index de124051046..add22015f2d 100644
--- a/src/devices/bus/ti99_peb/peribox.cpp
+++ b/src/devices/bus/ti99/peb/peribox.cpp
@@ -217,14 +217,8 @@ CRUCLK* 51||52 DBIN
#define PEBSLOT8 "slot8"
peribox_device::peribox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: bus8z_device(mconfig, PERIBOX, "Peripheral expansion box", tag, owner, clock, "peribox", __FILE__),
- m_console_inta(*this),
- m_console_intb(*this),
- m_sgcpu_lcp(*this),
- m_datamux_ready(*this),
- m_inta_flag(0), m_intb_flag(0), m_lcp_flag(0), m_ready_flag(0)
+ : peribox_device(mconfig, PERIBOX, tag, owner, clock)
{
- for (int i=2; i <= 8; i++) m_slot[i] = nullptr;
// The address prefix is actually created by the "Flex cable interface"
// which sits in slot 1.
m_address_prefix = 0x70000;
@@ -233,12 +227,13 @@ peribox_device::peribox_device(const machine_config &mconfig, const char *tag, d
/*
Constructor called from subclasses.
*/
-peribox_device::peribox_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
-: bus8z_device(mconfig, type, name, tag, owner, clock, shortname, source),
+peribox_device::peribox_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : bus8z_device(mconfig, type, tag, owner, clock),
m_console_inta(*this),
m_console_intb(*this),
m_sgcpu_lcp(*this),
- m_datamux_ready(*this), m_inta_flag(0), m_intb_flag(0), m_ready_flag(0), m_address_prefix(0), m_msast(false), m_memen(false)
+ m_datamux_ready(*this),
+ m_inta_flag(0), m_intb_flag(0), m_ready_flag(0), m_address_prefix(0), m_msast(false), m_memen(false)
{
for (int i=2; i <= 8; i++) m_slot[i] = nullptr;
}
@@ -412,7 +407,7 @@ void peribox_device::set_slot_loaded(int slot, peribox_slot_device* slotdev)
m_slot[slot] = slotdev;
}
-void peribox_device::device_start(void)
+void peribox_device::device_start()
{
if (TRACE_EMU) logerror("%s: started\n", tag());
@@ -448,7 +443,7 @@ void peribox_device::device_config_complete()
}
SLOT_INTERFACE_START( peribox_slot )
- SLOT_INTERFACE("32kmem", TI_32KMEM)
+ SLOT_INTERFACE("32kmem", TI99_32KMEM)
SLOT_INTERFACE("myarcmem", TI99_MYARCMEM)
SLOT_INTERFACE("samsmem", TI99_SAMSMEM)
SLOT_INTERFACE("pcode", TI99_P_CODE)
@@ -483,7 +478,7 @@ machine_config_constructor peribox_device::device_mconfig_additions() const
*****************************************************************************/
peribox_gen_device::peribox_gen_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: peribox_device(mconfig, PERIBOX_GEN, "Peripheral expansion box Geneve", tag, owner, clock, "peribox_gen", __FILE__)
+ : peribox_device(mconfig, PERIBOX_GEN, tag, owner, clock)
{
// The Geneve sits in slot 1; there is no prefix here - it can control
// a maximum address space of 512 KiB in the box. With the Genmod
@@ -525,7 +520,7 @@ machine_config_constructor peribox_gen_device::device_mconfig_additions() const
*****************************************************************************/
peribox_998_device::peribox_998_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: peribox_device(mconfig, PERIBOX_998, "Peripheral expansion box 99/8", tag, owner, clock, "peribox_998", __FILE__)
+ : peribox_device(mconfig, PERIBOX_998, tag, owner, clock)
{
m_address_prefix = 0x70000;
}
@@ -563,7 +558,7 @@ machine_config_constructor peribox_998_device::device_mconfig_additions() const
*****************************************************************************/
peribox_sg_device::peribox_sg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: peribox_device(mconfig, PERIBOX_SG, "Peripheral expansion box SGCPU", tag, owner, clock, "peribox_sg", __FILE__)
+: peribox_device(mconfig, PERIBOX_SG, tag, owner, clock)
{
m_address_prefix = 0x70000;
}
@@ -611,7 +606,7 @@ machine_config_constructor peribox_sg_device::device_mconfig_additions() const
*****************************************************************************/
peribox_ev_device::peribox_ev_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: peribox_device(mconfig, PERIBOX_EV, "Peripheral expansion box EVPC", tag, owner, clock, "peribox_ev", __FILE__)
+ : peribox_device(mconfig, PERIBOX_EV, tag, owner, clock)
{
m_address_prefix = 0x70000;
}
@@ -647,7 +642,7 @@ int peribox_slot_device::get_index_from_tagname()
}
peribox_slot_device::peribox_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: bus8z_device(mconfig, PERIBOX_SLOT, "TI P-Box slot", tag, owner, clock, "peribox_slot", __FILE__), device_slot_interface(mconfig, *this), m_card(nullptr), m_slotnumber(0)
+ : bus8z_device(mconfig, PERIBOX_SLOT, tag, owner, clock), device_slot_interface(mconfig, *this), m_card(nullptr), m_slotnumber(0)
{
}
@@ -699,7 +694,7 @@ void peribox_slot_device::set_genmod(bool set)
m_card->m_genmod = set;
}
-void peribox_slot_device::device_start(void)
+void peribox_slot_device::device_start()
{
}
@@ -757,10 +752,10 @@ WRITE_LINE_MEMBER( peribox_slot_device::set_ready )
}
/***************************************************************************/
-const device_type PERIBOX = device_creator<peribox_device>;
-const device_type PERIBOX_SLOT = device_creator<peribox_slot_device>;
+DEFINE_DEVICE_TYPE(PERIBOX, peribox_device, "peribox", "Peripheral expansion box")
+DEFINE_DEVICE_TYPE(PERIBOX_SLOT, peribox_slot_device, "peribox_slot", "TI P-Box slot")
-const device_type PERIBOX_EV = device_creator<peribox_ev_device>;
-const device_type PERIBOX_SG = device_creator<peribox_sg_device>;
-const device_type PERIBOX_GEN = device_creator<peribox_gen_device>;
-const device_type PERIBOX_998 = device_creator<peribox_998_device>;
+DEFINE_DEVICE_TYPE(PERIBOX_EV, peribox_ev_device, "peribox_ev", "Peripheral expansion box EVPC")
+DEFINE_DEVICE_TYPE(PERIBOX_SG, peribox_sg_device, "peribox_sg", "Peripheral expansion box SGCPU")
+DEFINE_DEVICE_TYPE(PERIBOX_GEN, peribox_gen_device, "peribox_gen", "Peripheral expansion box Geneve")
+DEFINE_DEVICE_TYPE(PERIBOX_998, peribox_998_device, "peribox_998", "Peripheral expansion box 99/8")
diff --git a/src/devices/bus/ti99_peb/peribox.h b/src/devices/bus/ti99/peb/peribox.h
index 7d9b11910e9..8bea48c7612 100644
--- a/src/devices/bus/ti99_peb/peribox.h
+++ b/src/devices/bus/ti99/peb/peribox.h
@@ -11,21 +11,22 @@
*****************************************************************************/
-#ifndef __PBOX__
-#define __PBOX__
+#ifndef MAME_BUS_TI99_PEB_PERIBOX_H
+#define MAME_BUS_TI99_PEB_PERIBOX_H
+
+#pragma once
#include "bus/ti99x/ti99defs.h"
-extern const device_type PERIBOX;
-extern const device_type PERIBOX_SLOT;
+DECLARE_DEVICE_TYPE(PERIBOX, peribox_device)
+DECLARE_DEVICE_TYPE(PERIBOX_SLOT, peribox_slot_device)
-extern const device_type PERIBOX_EV;
-extern const device_type PERIBOX_SG;
-extern const device_type PERIBOX_GEN;
-extern const device_type PERIBOX_998;
+DECLARE_DEVICE_TYPE(PERIBOX_EV, peribox_ev_device)
+DECLARE_DEVICE_TYPE(PERIBOX_SG, peribox_sg_device)
+DECLARE_DEVICE_TYPE(PERIBOX_GEN, peribox_gen_device)
+DECLARE_DEVICE_TYPE(PERIBOX_998, peribox_998_device)
class ti_expansion_card_device;
-class peribox_slot_device;
/*****************************************************************************
The overall Peripheral Expansion Box.
@@ -37,12 +38,11 @@ class peribox_device : public bus8z_device
friend class peribox_slot_device;
public:
peribox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- peribox_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
- template<class _Object> static devcb_base &static_set_inta_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_console_inta.set_callback(object); }
- template<class _Object> static devcb_base &static_set_intb_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_console_intb.set_callback(object); }
- template<class _Object> static devcb_base &static_set_ready_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_datamux_ready.set_callback(object); }
- template<class _Object> static devcb_base &static_set_lcp_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_sgcpu_lcp.set_callback(object); }
+ template <class Object> static devcb_base &static_set_inta_callback(device_t &device, Object &&cb) { return downcast<peribox_device &>(device).m_console_inta.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &static_set_intb_callback(device_t &device, Object &&cb) { return downcast<peribox_device &>(device).m_console_intb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &static_set_ready_callback(device_t &device, Object &&cb) { return downcast<peribox_device &>(device).m_datamux_ready.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &static_set_lcp_callback(device_t &device, Object &&cb) { return downcast<peribox_device &>(device).m_sgcpu_lcp.set_callback(std::forward<Object>(cb)); }
// Next eight methods are called from the console
DECLARE_READ8Z_MEMBER(readz) override;
@@ -67,8 +67,10 @@ public:
void set_genmod(bool set);
protected:
- virtual void device_start(void) override;
- virtual void device_config_complete(void) override;
+ peribox_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual void device_start() override;
+ virtual void device_config_complete() override;
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -189,8 +191,8 @@ public:
device_t* get_drive(const char* name);
protected:
- void device_start(void) override;
- void device_config_complete(void) override;
+ void device_start() override;
+ void device_config_complete() override;
private:
int get_index_from_tagname();
@@ -208,25 +210,26 @@ class ti_expansion_card_device : public bus8z_device, public device_slot_card_in
friend class peribox_slot_device;
public:
- ti_expansion_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : bus8z_device(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_card_interface(mconfig, *this), m_selected(false), m_cru_base(0), m_select_mask(0), m_select_value(0)
-{
- m_slot = static_cast<peribox_slot_device*>(owner);
- m_senila = CLEAR_LINE;
- m_senilb = CLEAR_LINE;
- m_genmod = false;
- }
-
- virtual DECLARE_READ8Z_MEMBER(crureadz) =0;
- virtual DECLARE_WRITE8_MEMBER(cruwrite) =0;
+ virtual DECLARE_READ8Z_MEMBER(crureadz) = 0;
+ virtual DECLARE_WRITE8_MEMBER(cruwrite) = 0;
void set_senila(int state) { m_senila = state; }
void set_senilb(int state) { m_senilb = state; }
- virtual DECLARE_WRITE_LINE_MEMBER(clock_in) { };
+ virtual DECLARE_WRITE_LINE_MEMBER(clock_in) { }
protected:
+ ti_expansion_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : bus8z_device(mconfig, type, tag, owner, clock)
+ , device_slot_card_interface(mconfig, *this)
+ , m_selected(false), m_cru_base(0), m_select_mask(0), m_select_value(0)
+ {
+ m_slot = static_cast<peribox_slot_device*>(owner);
+ m_senila = CLEAR_LINE;
+ m_senilb = CLEAR_LINE;
+ m_genmod = false;
+ }
+
peribox_slot_device *m_slot; // using a link to the slot for callbacks
int m_senila;
int m_senilb;
@@ -265,4 +268,4 @@ protected:
#define MCFG_PERIBOX_LCP_HANDLER( _lcp ) \
devcb = &peribox_device::static_set_lcp_callback( *device, DEVCB_##_lcp );
-#endif /* __PBOX__ */
+#endif // MAME_BUS_TI99_PEB_PERIBOX_H
diff --git a/src/devices/bus/ti99_peb/samsmem.cpp b/src/devices/bus/ti99/peb/samsmem.cpp
index b0b51f90280..dc4e1694822 100644
--- a/src/devices/bus/ti99_peb/samsmem.cpp
+++ b/src/devices/bus/ti99/peb/samsmem.cpp
@@ -29,7 +29,7 @@
#define SAMS_CRU_BASE 0x1e00
sams_memory_expansion_device::sams_memory_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: ti_expansion_card_device(mconfig, TI99_SAMSMEM, "SuperAMS memory expansion card", tag, owner, clock, "ti99_sams", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_SAMSMEM, tag, owner, clock),
m_ram(*this, RAM_TAG),
m_map_mode(false), m_access_mapper(false)
{
@@ -133,4 +133,4 @@ void sams_memory_expansion_device::device_reset()
for (auto & elem : m_mapper) elem = 0;
}
-const device_type TI99_SAMSMEM = device_creator<sams_memory_expansion_device>;
+DEFINE_DEVICE_TYPE(TI99_SAMSMEM, sams_memory_expansion_device, "ti99_sams", "SuperAMS memory expansion card")
diff --git a/src/devices/bus/ti99_peb/samsmem.h b/src/devices/bus/ti99/peb/samsmem.h
index 5dc0df51ab7..0166ad66acb 100644
--- a/src/devices/bus/ti99_peb/samsmem.h
+++ b/src/devices/bus/ti99/peb/samsmem.h
@@ -12,13 +12,15 @@
*****************************************************************************/
-#ifndef __SAMSMEM__
-#define __SAMSMEM__
+#ifndef MAME_BUS_TI99_PEB_SAMSMEM_H
+#define MAME_BUS_TI99_PEB_SAMSMEM_H
+
+#pragma once
#include "peribox.h"
#include "machine/ram.h"
-extern const device_type TI99_SAMSMEM;
+DECLARE_DEVICE_TYPE(TI99_SAMSMEM, sams_memory_expansion_device)
class sams_memory_expansion_device : public ti_expansion_card_device
{
@@ -33,8 +35,8 @@ public:
machine_config_constructor device_mconfig_additions() const override;
protected:
- void device_start(void) override;
- void device_reset(void) override;
+ void device_start() override;
+ void device_reset() override;
private:
// Console RAM
@@ -43,4 +45,5 @@ private:
bool m_map_mode;
bool m_access_mapper;
};
-#endif
+
+#endif // MAME_BUS_TI99_PEB_SAMSMEM_H
diff --git a/src/devices/bus/ti99_peb/spchsyn.cpp b/src/devices/bus/ti99/peb/spchsyn.cpp
index d1995bd0033..916f9d98be8 100644
--- a/src/devices/bus/ti99_peb/spchsyn.cpp
+++ b/src/devices/bus/ti99/peb/spchsyn.cpp
@@ -36,7 +36,7 @@
/****************************************************************************/
ti_speech_synthesizer_device::ti_speech_synthesizer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: ti_expansion_card_device(mconfig, TI99_SPEECH, "TI-99 Speech synthesizer (on adapter card)", tag, owner, clock, "ti99_speech", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_SPEECH, tag, owner, clock),
m_vsp(nullptr), m_reading(false), m_sbe(false)
{
}
@@ -97,7 +97,7 @@ SETADDRESS_DBIN_MEMBER( ti_speech_synthesizer_device::setaddress_dbin )
// both RS* and WS* are active, which is illegal.
// Alternatively, we'll use the combined settings method
- m_vsp->combined_rsq_wsq_w(space, 0, m_reading? ~RS : ~WS);
+ m_vsp->combined_rsq_wsq_w(space, 0, m_reading ? ~tms5220_device::RS : ~tms5220_device::WS);
}
else
// If other address, turn off RS* and WS* (negative logic!)
@@ -174,4 +174,5 @@ const tiny_rom_entry *ti_speech_synthesizer_device::device_rom_region() const
{
return ROM_NAME( ti99_speech );
}
-const device_type TI99_SPEECH = device_creator<ti_speech_synthesizer_device>;
+
+DEFINE_DEVICE_TYPE(TI99_SPEECH, ti_speech_synthesizer_device, "ti99_speech", "TI-99 Speech synthesizer (on adapter card)")
diff --git a/src/devices/bus/ti99_peb/spchsyn.h b/src/devices/bus/ti99/peb/spchsyn.h
index 77c89f7a0c4..5edf4bffc45 100644
--- a/src/devices/bus/ti99_peb/spchsyn.h
+++ b/src/devices/bus/ti99/peb/spchsyn.h
@@ -10,13 +10,15 @@
*****************************************************************************/
-#ifndef __TISPEECH__
-#define __TISPEECH__
+#ifndef MAME_BUS_TI99_PEB_SPCHSYN_H
+#define MAME_BUS_TI99_PEB_SPCHSYN_H
+
+#pragma once
#include "peribox.h"
#include "sound/tms5220.h"
-extern const device_type TI99_SPEECH;
+DECLARE_DEVICE_TYPE(TI99_SPEECH, ti_speech_synthesizer_device)
class ti_speech_synthesizer_device : public ti_expansion_card_device
{
@@ -26,14 +28,14 @@ public:
DECLARE_WRITE8_MEMBER(write) override;
DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override;
- DECLARE_READ8Z_MEMBER(crureadz) override { };
- DECLARE_WRITE8_MEMBER(cruwrite) override { };
+ DECLARE_READ8Z_MEMBER(crureadz) override { }
+ DECLARE_WRITE8_MEMBER(cruwrite) override { }
DECLARE_WRITE_LINE_MEMBER( speech_ready );
protected:
virtual void device_start() override;
- virtual void device_reset(void) override;
+ virtual void device_reset() override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -44,4 +46,4 @@ private:
bool m_sbe; // Signal "Speech block enable"
};
-#endif
+#endif // MAME_BUS_TI99_PEB_SPCHSYN_H
diff --git a/src/devices/bus/ti99_peb/ti_32kmem.cpp b/src/devices/bus/ti99/peb/ti_32kmem.cpp
index b86b35e2ca6..26a3986d3ce 100644
--- a/src/devices/bus/ti99_peb/ti_32kmem.cpp
+++ b/src/devices/bus/ti99/peb/ti_32kmem.cpp
@@ -29,13 +29,12 @@
*****************************************************************************/
#include "emu.h"
-#include "peribox.h"
#include "ti_32kmem.h"
#define RAMREGION "ram32k"
ti_32k_expcard_device::ti_32k_expcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: ti_expansion_card_device(mconfig, TI_32KMEM, "TI-99 32KiB memory expansion card", tag, owner, clock, "ti99_32k", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_32KMEM, tag, owner, clock),
m_ram(*this, RAMREGION)
{
}
@@ -92,7 +91,7 @@ WRITE8_MEMBER(ti_32k_expcard_device::write)
}
-void ti_32k_expcard_device::device_start(void)
+void ti_32k_expcard_device::device_start()
{
}
@@ -107,4 +106,4 @@ machine_config_constructor ti_32k_expcard_device::device_mconfig_additions() con
return MACHINE_CONFIG_NAME( mem32k );
}
-const device_type TI_32KMEM = device_creator<ti_32k_expcard_device>;
+DEFINE_DEVICE_TYPE(TI99_32KMEM, ti_32k_expcard_device, "ti99_32kmem", "TI-99 32KiB memory expansion card")
diff --git a/src/devices/bus/ti99_peb/ti_32kmem.h b/src/devices/bus/ti99/peb/ti_32kmem.h
index ff777c73d69..a8548bb9090 100644
--- a/src/devices/bus/ti99_peb/ti_32kmem.h
+++ b/src/devices/bus/ti99/peb/ti_32kmem.h
@@ -11,13 +11,15 @@
*****************************************************************************/
-#ifndef __TI32K__
-#define __TI32K__
+#ifndef MAME_BUS_TI99_PEB_TI_32KMEM_H
+#define MAME_BUS_TI99_PEB_TI_32KMEM_H
+
+#pragma once
#include "peribox.h"
#include "machine/ram.h"
-extern const device_type TI_32KMEM;
+DECLARE_DEVICE_TYPE(TI99_32KMEM, ti_32k_expcard_device)
class ti_32k_expcard_device : public ti_expansion_card_device
{
@@ -26,8 +28,8 @@ public:
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
- DECLARE_READ8Z_MEMBER(crureadz) override { };
- DECLARE_WRITE8_MEMBER(cruwrite) override { };
+ DECLARE_READ8Z_MEMBER(crureadz) override { }
+ DECLARE_WRITE8_MEMBER(cruwrite) override { }
protected:
void device_start() override;
@@ -37,4 +39,4 @@ private:
required_device<ram_device> m_ram;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_TI_32KMEM_H
diff --git a/src/devices/bus/ti99_peb/ti_fdc.cpp b/src/devices/bus/ti99/peb/ti_fdc.cpp
index 8bcfb4ac179..5ed580f1473 100644
--- a/src/devices/bus/ti99_peb/ti_fdc.cpp
+++ b/src/devices/bus/ti99/peb/ti_fdc.cpp
@@ -13,7 +13,6 @@
****************************************************************************/
#include "emu.h"
-#include "peribox.h"
#include "ti_fdc.h"
#include "formats/ti99_dsk.h"
@@ -49,23 +48,24 @@
#define TI_FDC_TAG "ti_dssd_controller"
ti_fdc_device::ti_fdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ti_expansion_card_device(mconfig, TI99_FDC, "TI-99 Standard DSSD Floppy Controller", tag, owner, clock, "ti99_fdc", __FILE__),
- m_address(0),
- m_DRQ(0),
- m_IRQ(0),
- m_lastval(0),
- m_DVENA(0),
- m_inDsrArea(false),
- m_WAITena(false),
- m_WDsel(false),
- m_DSEL(0),
- m_SIDSEL(0),
- m_motor_on_timer(nullptr),
- m_fd1771(*this, FDC_TAG),
- m_dsrrom(nullptr),
- m_current(NONE),
- m_debug_dataout(false)
- { }
+ : ti_expansion_card_device(mconfig, TI99_FDC, tag, owner, clock),
+ m_address(0),
+ m_DRQ(0),
+ m_IRQ(0),
+ m_lastval(0),
+ m_DVENA(0),
+ m_inDsrArea(false),
+ m_WAITena(false),
+ m_WDsel(false),
+ m_DSEL(0),
+ m_SIDSEL(0),
+ m_motor_on_timer(nullptr),
+ m_fd1771(*this, FDC_TAG),
+ m_dsrrom(nullptr),
+ m_current(NONE),
+ m_debug_dataout(false)
+{
+}
/*
Operate the wait state logic.
@@ -380,7 +380,7 @@ void ti_fdc_device::device_start()
m_motor_on_timer = timer_alloc(MOTOR_TIMER);
m_cru_base = 0x1100;
// In case we implement a callback after all:
- // m_fd1771->setup_ready_cb(wd_fdc_t::rline_cb(&ti_fdc_device::dvena_r, this));
+ // m_fd1771->setup_ready_cb(wd_fdc_device::rline_cb(&ti_fdc_device::dvena_r, this));
save_item(NAME(m_address));
save_item(NAME(m_DRQ));
@@ -478,4 +478,4 @@ const tiny_rom_entry *ti_fdc_device::device_rom_region() const
return ROM_NAME( ti_fdc );
}
-const device_type TI99_FDC = device_creator<ti_fdc_device>;
+DEFINE_DEVICE_TYPE(TI99_FDC, ti_fdc_device, "ti99_fdc", "TI-99 Standard DSSD Floppy Controller")
diff --git a/src/devices/bus/ti99_peb/ti_fdc.h b/src/devices/bus/ti99/peb/ti_fdc.h
index 2eb76edba53..4df43c7832e 100644
--- a/src/devices/bus/ti99_peb/ti_fdc.h
+++ b/src/devices/bus/ti99/peb/ti_fdc.h
@@ -11,13 +11,16 @@
January 2012: rewritten as class (MZ)
****************************************************************************/
-#ifndef __TIFDC__
-#define __TIFDC__
+#ifndef MAME_BUS_TI99_PEB_TI_FDC_H
+#define MAME_BUS_TI99_PEB_TI_FDC_H
+#pragma once
+
+#include "peribox.h"
#include "machine/wd_fdc.h"
#include "imagedev/floppy.h"
-extern const device_type TI99_FDC;
+DECLARE_DEVICE_TYPE(TI99_FDC, ti_fdc_device)
class ti_fdc_device : public ti_expansion_card_device
{
@@ -94,7 +97,7 @@ private:
emu_timer* m_motor_on_timer;
// Link to the FDC1771 controller on the board.
- required_device<fd1771_t> m_fd1771;
+ required_device<fd1771_device> m_fd1771;
// DSR ROM
uint8_t* m_dsrrom;
@@ -108,4 +111,5 @@ private:
// Debugging
bool m_debug_dataout;
};
-#endif
+
+#endif // MAME_BUS_TI99_PEB_TI_FDC_H
diff --git a/src/devices/bus/ti99_peb/ti_rs232.cpp b/src/devices/bus/ti99/peb/ti_rs232.cpp
index dbc7d7d8d8d..c3a25ecd009 100644
--- a/src/devices/bus/ti99_peb/ti_rs232.cpp
+++ b/src/devices/bus/ti99/peb/ti_rs232.cpp
@@ -123,7 +123,7 @@
#define ESC 0x1b
ti_rs232_pio_device::ti_rs232_pio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: ti_expansion_card_device(mconfig, TI99_RS232, "TI-99 RS232/PIO interface", tag, owner, clock, "ti99_rs232", __FILE__), m_piodev(nullptr), m_dsrrom(nullptr), m_pio_direction_in(false), m_pio_handshakeout(false), m_pio_handshakein(false), m_pio_spareout(false), m_pio_sparein(false), m_flag0(false), m_led(false), m_pio_out_buffer(0), m_pio_in_buffer(0), m_pio_readable(false), m_pio_writable(false), m_pio_write(false), m_ila(0)
+ : ti_expansion_card_device(mconfig, TI99_RS232, tag, owner, clock), m_piodev(nullptr), m_dsrrom(nullptr), m_pio_direction_in(false), m_pio_handshakeout(false), m_pio_handshakein(false), m_pio_spareout(false), m_pio_sparein(false), m_flag0(false), m_led(false), m_pio_out_buffer(0), m_pio_in_buffer(0), m_pio_readable(false), m_pio_writable(false), m_pio_write(false), m_ila(0)
{
}
@@ -132,13 +132,13 @@ ti_rs232_pio_device::ti_rs232_pio_device(const machine_config &mconfig, const ch
/* Ports */
ti_rs232_attached_device::ti_rs232_attached_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: device_t(mconfig, TI99_RS232_DEV, "Serial attached device", tag, owner, clock, "ti_rs232_attached", __FILE__),
+ : device_t(mconfig, TI99_RS232_DEV, tag, owner, clock),
device_image_interface(mconfig, *this)
{
}
ti_pio_attached_device::ti_pio_attached_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: device_t(mconfig, TI99_PIO_DEV, "Parallel attached device", tag, owner, clock, "ti_pio_attached", __FILE__),
+ : device_t(mconfig, TI99_PIO_DEV, tag, owner, clock),
device_image_interface(mconfig, *this)
{
}
@@ -268,8 +268,8 @@ READ8Z_MEMBER(ti_rs232_pio_device::crureadz)
if (m_flag0) reply |= 0x10;
// The CTS line is realized as CRU bits
// Mind that this line is handled as an output going to the remote CTS
- if ((m_signals[0] & CTS)!=0) reply |= 0x20;
- if ((m_signals[1] & CTS)!=0) reply |= 0x40;
+ if ((m_signals[0] & tms9902_device::CTS)!=0) reply |= 0x20;
+ if ((m_signals[1] & tms9902_device::CTS)!=0) reply |= 0x40;
if (m_led) reply |= 0x80;
*value = reply;
return;
@@ -370,13 +370,13 @@ WRITE8_MEMBER(ti_rs232_pio_device::cruwrite)
case 5:
// Set the CTS line for RS232/1
if (TRACE_LINES) logerror("(1/3) Setting CTS* via CRU to %d\n", data);
- output_line_state(0, CTS, (data==0)? CTS : 0);
+ output_line_state(0, tms9902_device::CTS, (data==0)? tms9902_device::CTS : 0);
break;
case 6:
// Set the CTS line for RS232/2
if (TRACE_LINES) logerror("(2/4) Setting CTS* via CRU to %d\n", data);
- output_line_state(1, CTS, (data==0)? CTS : 0);
+ output_line_state(1, tms9902_device::CTS, (data==0)? tms9902_device::CTS : 0);
break;
case 7:
@@ -523,27 +523,27 @@ uint8_t ti_rs232_pio_device::map_lines_out(int uartind, uint8_t value)
if (TRACE_LINES) logerror("(RS232/%d) out connector pins = 0x%02x; translate for DTE\n", uartind+1, value);
- if (value & BRK)
+ if (value & tms9902_device::BRK)
{
if (TRACE_MAP) logerror("(RS232/%d) Sending BRK\n", uartind+1);
- ret |= EXCEPT | BRK;
+ ret |= tms9902_device::EXCEPT | tms9902_device::BRK;
}
if (mapping==0)
{
// V1
- if (value & CTS)
+ if (value & tms9902_device::CTS)
{
if (TRACE_MAP) logerror("(RS232/%d) Cannot map CTS line, ignoring\n", uartind+1);
}
- if (value & DSR)
+ if (value & tms9902_device::DSR)
{
- ret |= DTR;
+ ret |= tms9902_device::DTR;
if (TRACE_MAP) logerror("(RS232/%d) Setting DTR line\n", uartind+1);
}
- if (value & DCD)
+ if (value & tms9902_device::DCD)
{
- ret |= RTS;
+ ret |= tms9902_device::RTS;
if (TRACE_MAP) logerror("(RS232/%d) Setting RTS line\n", uartind+1);
}
}
@@ -552,32 +552,32 @@ uint8_t ti_rs232_pio_device::map_lines_out(int uartind, uint8_t value)
if (mapping==1)
{
// V2
- if (value & CTS)
+ if (value & tms9902_device::CTS)
{
- ret |= RTS;
+ ret |= tms9902_device::RTS;
if (TRACE_MAP) logerror("(RS232/%d) Setting RTS line\n", uartind+1);
}
- if (value & DCD)
+ if (value & tms9902_device::DCD)
{
- ret |= DTR;
+ ret |= tms9902_device::DTR;
if (TRACE_MAP) logerror("(RS232/%d) Setting DTR line\n", uartind+1);
}
}
else
{
// v3
- if (value & CTS)
+ if (value & tms9902_device::CTS)
{
- ret |= DTR;
+ ret |= tms9902_device::DTR;
if (TRACE_MAP) logerror("(RS232/%d) Setting DTR line\n", uartind+1);
}
- if (value & DSR)
+ if (value & tms9902_device::DSR)
{
if (TRACE_MAP) logerror("(RS232/%d) Cannot map DSR line, ignoring\n", uartind+1);
}
- if (value & DCD)
+ if (value & tms9902_device::DCD)
{
- ret |= RTS;
+ ret |= tms9902_device::RTS;
if (TRACE_MAP) logerror("(RS232/%d) Setting RTS line\n", uartind+1);
}
}
@@ -595,25 +595,25 @@ uint8_t ti_rs232_pio_device::map_lines_in(int uartind, uint8_t value)
if (TRACE_LINES) logerror("(RS232/%d) in connector pins = 0x%02x; translate from DTE\n", uartind+1, value);
- if (value & BRK)
+ if (value & tms9902_device::BRK)
{
if (TRACE_MAP) logerror("(RS232/%d) Getting BRK\n", uartind+1);
- ret |= EXCEPT | BRK;
+ ret |= tms9902_device::EXCEPT | tms9902_device::BRK;
}
if (mapping==0)
{
// V1
- if (value & CTS)
+ if (value & tms9902_device::CTS)
{
if (TRACE_MAP) logerror("(RS232/%d) Cannot map CTS line, ignoring\n", uartind+1);
}
- if (value & DSR)
+ if (value & tms9902_device::DSR)
{
- ret |= DTR;
+ ret |= tms9902_device::DTR;
if (TRACE_MAP) logerror("(RS232/%d) Setting DTR line\n", uartind+1);
}
- if (value & DCD)
+ if (value & tms9902_device::DCD)
{
if (TRACE_MAP) logerror("(RS232/%d) Cannot map DCD line, ignoring\n", uartind+1);
}
@@ -622,32 +622,32 @@ uint8_t ti_rs232_pio_device::map_lines_in(int uartind, uint8_t value)
{
if (mapping==1)
{
- if (value & DCD)
+ if (value & tms9902_device::DCD)
{
- ret |= DTR;
+ ret |= tms9902_device::DTR;
if (TRACE_MAP) logerror("(RS232/%d) Setting DTR line\n", uartind+1);
}
- if (value & DSR)
+ if (value & tms9902_device::DSR)
{
if (TRACE_MAP) logerror("(RS232/%d) Cannot map DSR line, ignoring\n", uartind+1);
}
- if (value & CTS)
+ if (value & tms9902_device::CTS)
{
if (TRACE_MAP) logerror("(RS232/%d) Cannot map CTS line, ignoring\n", uartind+1);
}
}
else
{
- if (value & CTS)
+ if (value & tms9902_device::CTS)
{
- ret |= DTR;
+ ret |= tms9902_device::DTR;
if (TRACE_MAP) logerror("(RS232/%d) Setting DTR line\n", uartind+1);
}
- if (value & DSR)
+ if (value & tms9902_device::DSR)
{
if (TRACE_MAP) logerror("(RS232/%d) Cannot map DSR line, ignoring\n", uartind+1);
}
- if (value & DCD)
+ if (value & tms9902_device::DCD)
{
if (TRACE_MAP) logerror("(RS232/%d) Cannot map DCD line, ignoring\n", uartind+1);
}
@@ -759,14 +759,14 @@ void ti_rs232_pio_device::receive_data_or_line_state(int uartind)
case RECV_MODE_ESC_LINES:
// Map the real serial interface lines to our emulated connector
// The mapping is the same for both directions, so we use the same function
- if (buffer & EXCEPT)
+ if (buffer & tms9902_device::EXCEPT)
{
// Exception states: BRK, FRMERR, PARERR
if (TRACE_LINES) logerror("(RS232/%d) Received BRK or ERROR <%02x>\n", uartind+1, buffer);
- m_uart[uartind]->rcv_break(((buffer & BRK)!=0));
+ m_uart[uartind]->rcv_break(((buffer & tms9902_device::BRK)!=0));
- if (buffer & FRMERR) m_uart[uartind]->rcv_framing_error();
- if (buffer & PARERR) m_uart[uartind]->rcv_parity_error();
+ if (buffer & tms9902_device::FRMERR) m_uart[uartind]->rcv_framing_error();
+ if (buffer & tms9902_device::PARERR) m_uart[uartind]->rcv_parity_error();
}
else
{
@@ -776,7 +776,7 @@ void ti_rs232_pio_device::receive_data_or_line_state(int uartind)
// The DTR line on the RS232 connector of the board is wired to both the
// CTS and the DSR pin of the TMS9902
// Apart from the data line, DTR is the only input line
- incoming_dtr(uartind, (buffer & DTR)? ASSERT_LINE : CLEAR_LINE);
+ incoming_dtr(uartind, (buffer & tms9902_device::DTR)? ASSERT_LINE : CLEAR_LINE);
}
m_recv_mode[uartind] = RECV_MODE_NORMAL;
@@ -806,40 +806,40 @@ void ti_rs232_pio_device::configure_interface(int uartind, int type, int value)
serial->fwrite(&esc, 1);
bufctrl[0] = 0x02;
- bufctrl[1] = CONFIG | TYPE_TMS9902;
+ bufctrl[1] = tms9902_device::CONFIG | tms9902_device::TYPE_TMS9902;
switch (type) {
- case RATERECV:
+ case tms9902_device::RATERECV:
if (TRACE_SETTING) logerror("(RS232/%d) Send receive rate %04x\n", uartind+1, value);
// value has 12 bits
// 1ccc xaaa = config adapter type a
// 1111 xaaa rrrr rrrr rrrr 0000 = config receive rate on a
// 1110 xaaa rrrr rrrr rrrr 0000 = config transmit rate on a
bufctrl[0] = 0x03; // length
- bufctrl[1] |= RATERECV;
+ bufctrl[1] |= tms9902_device::RATERECV;
bufctrl[2] = (value & 0x0ff0)>>4;
bufctrl[3] = (value & 0x0f)<<4;
break;
- case RATEXMIT:
+ case tms9902_device::RATEXMIT:
if (TRACE_SETTING) logerror("(RS232/%d) Send transmit rate %04x\n", uartind+1, value);
bufctrl[0] = 0x03; // length
- bufctrl[1] |= RATEXMIT;
+ bufctrl[1] |= tms9902_device::RATEXMIT;
bufctrl[2] = (value & 0x0ff0)>>4;
bufctrl[3] = (value & 0x0f)<<4;
break;
- case STOPBITS:
+ case tms9902_device::STOPBITS:
if (TRACE_SETTING) logerror("(RS232/%d) Send stop bit config %02x\n", uartind+1, value&0x03);
- bufctrl[1] |= STOPBITS;
+ bufctrl[1] |= tms9902_device::STOPBITS;
bufctrl[2] = (value & 0x03);
break;
- case DATABITS:
+ case tms9902_device::DATABITS:
if (TRACE_SETTING) logerror("(RS232/%d) Send data bit config %02x\n", uartind+1, value&0x03);
- bufctrl[1] |= DATABITS;
+ bufctrl[1] |= tms9902_device::DATABITS;
bufctrl[2] = (value & 0x03);
break;
- case PARITY:
+ case tms9902_device::PARITY:
if (TRACE_SETTING) logerror("(RS232/%d) Send parity config %02x\n", uartind+1, value&0x03);
- bufctrl[1] |= PARITY;
+ bufctrl[1] |= tms9902_device::PARITY;
bufctrl[2] = (value & 0x03);
break;
default:
@@ -855,9 +855,9 @@ void ti_rs232_pio_device::set_bit(int uartind, int line, int value)
{
switch (line)
{
- case CTS: logerror("(RS232/%d) Set CTS(out)=%s\n", uartind+1, (value!=0)? "asserted" : "cleared"); break;
- case DCD: logerror("(RS232/%d) Set DCD(out)=%s\n", uartind+1, (value!=0)? "asserted" : "cleared"); break;
- case BRK: logerror("(RS232/%d) Set BRK(out)=%s\n", uartind+1, (value!=0)? "asserted" : "cleared"); break;
+ case tms9902_device::CTS: logerror("(RS232/%d) Set CTS(out)=%s\n", uartind+1, (value!=0)? "asserted" : "cleared"); break;
+ case tms9902_device::DCD: logerror("(RS232/%d) Set DCD(out)=%s\n", uartind+1, (value!=0)? "asserted" : "cleared"); break;
+ case tms9902_device::BRK: logerror("(RS232/%d) Set BRK(out)=%s\n", uartind+1, (value!=0)? "asserted" : "cleared"); break;
}
}
@@ -887,7 +887,7 @@ void ti_rs232_pio_device::output_exception(int uartind, int param, uint8_t value
bufctrl[0] = 1;
// 0100 0xxv = exception xx: 02=BRK, 04=FRMERR, 06=PARERR; v=0,1 (only for BRK)
// BRK is the only output exception
- bufctrl[1] = EXCEPT | param | (value&1);
+ bufctrl[1] = tms9902_device::EXCEPT | param | (value&1);
serial->fwrite(bufctrl, 2);
}
@@ -917,13 +917,13 @@ void ti_rs232_pio_device::output_line_state(int uartind, int mask, uint8_t value
// 01ab cdef = setting line RTS=a, CTS=b, DSR=c, DCD=d, DTR=e, RI=f
// The CTS line (coming from a CRU bit) is connected to the CTS pin
- if (mask & CTS) set_bit(uartind, CTS, value & CTS);
+ if (mask & tms9902_device::CTS) set_bit(uartind, tms9902_device::CTS, value & tms9902_device::CTS);
// The RTS line (from 9902) is connected to the DCD pin
- if (mask & RTS) set_bit(uartind, DCD, value & RTS);
+ if (mask & tms9902_device::RTS) set_bit(uartind, tms9902_device::DCD, value & tms9902_device::RTS);
// The DSR pin is hardwired to +5V
- set_bit(uartind, DSR, 1);
+ set_bit(uartind, tms9902_device::DSR, 1);
// As of here, the lines are set according to the schematics of the
// serial interface.
@@ -989,7 +989,7 @@ WRITE8_MEMBER( ti_rs232_pio_device::xmit1_callback )
void ti_rs232_pio_device::ctrl_callback(int uartind, int offset, uint8_t data)
{
- if ((offset & CONFIG)!=0)
+ if ((offset & tms9902_device::CONFIG)!=0)
{
// We cannot pass the configuration data as they need more than 8 bits.
// Could be done by a write16 function as well.
@@ -997,9 +997,9 @@ void ti_rs232_pio_device::ctrl_callback(int uartind, int offset, uint8_t data)
}
else
{
- if ((offset & EXCEPT)!=0)
+ if ((offset & tms9902_device::EXCEPT)!=0)
{
- output_exception(uartind, offset & ~EXCEPT, data);
+ output_exception(uartind, offset & ~tms9902_device::EXCEPT, data);
}
else
{
@@ -1065,8 +1065,8 @@ void ti_rs232_pio_device::device_reset()
m_pio_spareout = false;
m_flag0 = false;
- set_bit(0, CTS, 0);
- set_bit(1, CTS, 0);
+ set_bit(0, tms9902_device::CTS, 0);
+ set_bit(1, tms9902_device::CTS, 0);
m_led = false;
m_recv_mode[0] = RECV_MODE_NORMAL;
@@ -1145,6 +1145,6 @@ ioport_constructor ti_rs232_pio_device::device_input_ports() const
return INPUT_PORTS_NAME(ti_rs232);
}
-const device_type TI99_RS232 = device_creator<ti_rs232_pio_device>;
-const device_type TI99_RS232_DEV = device_creator<ti_rs232_attached_device>;
-const device_type TI99_PIO_DEV = device_creator<ti_pio_attached_device>;
+DEFINE_DEVICE_TYPE(TI99_RS232, ti_rs232_pio_device, "ti99_rs232", "TI-99 RS232/PIO interface")
+DEFINE_DEVICE_TYPE(TI99_RS232_DEV, ti_rs232_attached_device, "ti99_rs232_atttached", "TI-99 Serial attached device")
+DEFINE_DEVICE_TYPE(TI99_PIO_DEV, ti_pio_attached_device, "ti99_pio_attached", "TI-99 Parallel attached device")
diff --git a/src/devices/bus/ti99_peb/ti_rs232.h b/src/devices/bus/ti99/peb/ti_rs232.h
index c4d6d24f37f..6f246363323 100644
--- a/src/devices/bus/ti99_peb/ti_rs232.h
+++ b/src/devices/bus/ti99/peb/ti_rs232.h
@@ -10,18 +10,18 @@
*****************************************************************************/
-#ifndef __TIRS232__
-#define __TIRS232__
+#ifndef MAME_BUS_TI99_PEB_TI_RS232_H
+#define MAME_BUS_TI99_PEB_TI_RS232_H
+
+#pragma once
#include "peribox.h"
#include "machine/tms9902.h"
-extern const device_type TI99_RS232;
-extern const device_type TI99_RS232_DEV;
-extern const device_type TI99_PIO_DEV;
+DECLARE_DEVICE_TYPE(TI99_RS232, ti_rs232_pio_device)
+DECLARE_DEVICE_TYPE(TI99_RS232_DEV, ti_rs232_attached_device)
+DECLARE_DEVICE_TYPE(TI99_PIO_DEV, ti_pio_attached_device)
-class ti_rs232_attached_device;
-class ti_pio_attached_device;
class ti_rs232_pio_device : public ti_expansion_card_device
{
@@ -46,10 +46,10 @@ public:
DECLARE_WRITE8_MEMBER( ctrl1_callback );
protected:
- virtual void device_start(void) override;
- virtual void device_reset(void) override;
- virtual void device_stop(void) override;
- virtual const tiny_rom_entry *device_rom_region(void) const override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_stop() override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
@@ -128,7 +128,7 @@ public:
const char *file_extensions() const override { return ""; }
protected:
- virtual void device_start(void) override;
+ virtual void device_start() override;
image_init_result call_load() override;
void call_unload() override;
@@ -154,9 +154,9 @@ public:
const char *file_extensions() const override { return ""; }
protected:
- virtual void device_start(void) override;
+ virtual void device_start() override;
image_init_result call_load() override;
void call_unload() override;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_TI_RS232_H
diff --git a/src/devices/bus/ti99_peb/tn_ide.cpp b/src/devices/bus/ti99/peb/tn_ide.cpp
index 5a4f9ca523b..e4bd1864b5c 100644
--- a/src/devices/bus/ti99_peb/tn_ide.cpp
+++ b/src/devices/bus/ti99/peb/tn_ide.cpp
@@ -28,8 +28,6 @@
*****************************************************************************/
#include "emu.h"
-#include "peribox.h"
-#include "machine/ataintf.h"
#include "tn_ide.h"
#define CRU_BASE 0x1000
@@ -50,7 +48,7 @@ enum
};
nouspikel_ide_interface_device::nouspikel_ide_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ti_expansion_card_device(mconfig, TI99_IDE, "Nouspikel IDE interface card", tag, owner, clock, "ti99_ide", __FILE__), m_ata_irq(false),
+ : ti_expansion_card_device(mconfig, TI99_IDE, tag, owner, clock), m_ata_irq(false),
m_cru_register(0), m_rtc(nullptr),
m_ata(*this, "ata"), m_clk_irq(false), m_sram_enable(false),
m_sram_enable_dip(false), m_cur_page(0), m_tms9995_mode(false),
@@ -384,4 +382,4 @@ ioport_constructor nouspikel_ide_interface_device::device_input_ports() const
return INPUT_PORTS_NAME(tn_ide);
}
-const device_type TI99_IDE = device_creator<nouspikel_ide_interface_device>;
+DEFINE_DEVICE_TYPE(TI99_IDE, nouspikel_ide_interface_device, "ti99_ide", "Nouspikel IDE interface card")
diff --git a/src/devices/bus/ti99_peb/tn_ide.h b/src/devices/bus/ti99/peb/tn_ide.h
index 923b4cde39b..edef805b2f1 100644
--- a/src/devices/bus/ti99_peb/tn_ide.h
+++ b/src/devices/bus/ti99/peb/tn_ide.h
@@ -11,14 +11,17 @@
*****************************************************************************/
-#ifndef __TNIDE__
-#define __TNIDE__
+#ifndef MAME_BUS_TI99_PEB_TN_IDE_H
+#define MAME_BUS_TI99_PEB_TN_IDE_H
+#pragma once
+
+#include "peribox.h"
#include "machine/ataintf.h"
-#include "machine/rtc65271.h"
#include "machine/ram.h"
+#include "machine/rtc65271.h"
-extern const device_type TI99_IDE;
+DECLARE_DEVICE_TYPE(TI99_IDE, nouspikel_ide_interface_device)
class nouspikel_ide_interface_device : public ti_expansion_card_device
{
@@ -38,8 +41,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(ide_interrupt_callback);
protected:
- virtual void device_start(void) override;
- virtual void device_reset(void) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
@@ -60,4 +63,4 @@ private:
required_device<ram_device> m_ram;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_TN_IDE_H
diff --git a/src/devices/bus/ti99_peb/tn_usbsm.cpp b/src/devices/bus/ti99/peb/tn_usbsm.cpp
index 91d4973da80..8dda313e122 100644
--- a/src/devices/bus/ti99_peb/tn_usbsm.cpp
+++ b/src/devices/bus/ti99/peb/tn_usbsm.cpp
@@ -56,7 +56,7 @@ enum
};
nouspikel_usb_smartmedia_device::nouspikel_usb_smartmedia_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ti_expansion_card_device(mconfig, TI99_USBSM, "Nouspikel USB/Smartmedia card", tag, owner, clock, "ti99_usbsm", __FILE__),
+ : ti_expansion_card_device(mconfig, TI99_USBSM, tag, owner, clock),
m_feeprom_page(0),
m_sram_page(0),
m_cru_register(0),
@@ -376,4 +376,4 @@ ioport_constructor nouspikel_usb_smartmedia_device::device_input_ports() const
return INPUT_PORTS_NAME(tn_usbsm);
}
-const device_type TI99_USBSM = device_creator<nouspikel_usb_smartmedia_device>;
+DEFINE_DEVICE_TYPE(TI99_USBSM, nouspikel_usb_smartmedia_device, "ti99_usbsm", "Nouspikel USB/Smartmedia card")
diff --git a/src/devices/bus/ti99_peb/tn_usbsm.h b/src/devices/bus/ti99/peb/tn_usbsm.h
index f363cf34b5c..285533a572e 100644
--- a/src/devices/bus/ti99_peb/tn_usbsm.h
+++ b/src/devices/bus/ti99/peb/tn_usbsm.h
@@ -11,15 +11,17 @@
*****************************************************************************/
-#ifndef __USBSMART__
-#define __USBSMART__
+#ifndef MAME_BUS_TI99_PEB_TN_USBSM_H
+#define MAME_BUS_TI99_PEB_TN_USBSM_H
+
+#pragma once
#include "peribox.h"
#include "machine/smartmed.h"
#include "machine/strata.h"
#include "machine/ram.h"
-extern const device_type TI99_USBSM;
+DECLARE_DEVICE_TYPE(TI99_USBSM, nouspikel_usb_smartmedia_device)
class nouspikel_usb_smartmedia_device : public ti_expansion_card_device
{
@@ -32,8 +34,8 @@ public:
DECLARE_WRITE8_MEMBER(cruwrite) override;
protected:
- virtual void device_start(void) override;
- virtual void device_reset(void) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
@@ -58,4 +60,4 @@ private:
required_device<strataflash_device> m_flash;
};
-#endif
+#endif // MAME_BUS_TI99_PEB_TN_USBSM_H
diff --git a/src/devices/bus/ti99x/990_dk.cpp b/src/devices/bus/ti99x/990_dk.cpp
index a6a16ba46fb..ca859f7598c 100644
--- a/src/devices/bus/ti99x/990_dk.cpp
+++ b/src/devices/bus/ti99x/990_dk.cpp
@@ -40,10 +40,10 @@ enum
status_unit_shift = 13
};
-const device_type FD800 = device_creator<fd800_legacy_device>;
+DEFINE_DEVICE_TYPE(TI99X_FD800, fd800_legacy_device, "ti99x_fd800", "TI FD800 Diablo floppy disk controller")
fd800_legacy_device::fd800_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, FD800, "TI FD800 Diablo floppy disk controller", tag, owner, clock, "fd800", __FILE__),
+ : device_t(mconfig, TI99X_FD800, tag, owner, clock),
m_recv_buf(0), m_stat_reg(0), m_xmit_buf(0), m_cmd_reg(0), m_interrupt_f_f(0),
m_int_line(*this), m_buf_pos(0), m_buf_mode(), m_unit(0), m_sector(0)
{
@@ -58,7 +58,8 @@ void fd800_legacy_device::set_interrupt_line()
}
-/* void fd800_legacy_device::unload_proc(device_image_interface &image)
+#if 0
+void fd800_legacy_device::unload_proc(device_image_interface &image)
{
int unit = floppy_get_drive(&image.device());
@@ -90,7 +91,7 @@ void fd800_machine_init(void (*interrupt_callback)(running_machine &machine, int
set_interrupt_line();
}
-*/
+#endif
/*
Read the first id field that can be found on the floppy disk.
@@ -265,7 +266,7 @@ int fd800_legacy_device::do_restore(int unit)
/*
Perform a read operation for one sector
*/
-void fd800_legacy_device::do_read(void)
+void fd800_legacy_device::do_read()
{
/* int data_id;
@@ -294,7 +295,7 @@ void fd800_legacy_device::do_read(void)
/*
Perform a write operation for one sector
*/
-void fd800_legacy_device::do_write(void)
+void fd800_legacy_device::do_write()
{
/* int data_id;
@@ -319,7 +320,7 @@ void fd800_legacy_device::do_write(void)
/*
Execute a fdc command
*/
-void fd800_legacy_device::do_cmd(void)
+void fd800_legacy_device::do_cmd()
{
/*
int unit;
@@ -869,7 +870,7 @@ LEGACY_FLOPPY_OPTIONS_START(fd800)
LEGACY_FLOPPY_OPTIONS_END
#endif
-void fd800_legacy_device::device_start(void)
+void fd800_legacy_device::device_start()
{
logerror("fd800: start\n");
m_int_line.resolve();
@@ -883,7 +884,7 @@ void fd800_legacy_device::device_start(void)
}
}
-void fd800_legacy_device::device_reset(void)
+void fd800_legacy_device::device_reset()
{
logerror("fd800: reset\n");
m_stat_reg = 0;
diff --git a/src/devices/bus/ti99x/990_dk.h b/src/devices/bus/ti99x/990_dk.h
index e7cbed7b985..97c00ef21d5 100644
--- a/src/devices/bus/ti99x/990_dk.h
+++ b/src/devices/bus/ti99x/990_dk.h
@@ -4,12 +4,12 @@
990_dk.h: include file for 990_dk.c
*/
-#ifndef __990_DK__
-#define __990_DK__
+#ifndef MAME_BUS_TI99X_990_DK_H
+#define MAME_BUS_TI99X_990_DK_H
-extern const device_type FD800;
+#pragma once
-#define MAX_FLOPPIES 4
+DECLARE_DEVICE_TYPE(TI99X_FD800, fd800_legacy_device)
class fd800_legacy_device : public device_t
{
@@ -18,23 +18,30 @@ public:
DECLARE_READ8_MEMBER( cru_r );
DECLARE_WRITE8_MEMBER( cru_w );
- template<class _Object> static devcb_base &static_set_int_callback(device_t &device, _Object object)
+ template <class Object> static devcb_base &static_set_int_callback(device_t &device, Object &&cb)
{
- return downcast<fd800_legacy_device &>(device).m_int_line.set_callback(object);
+ return downcast<fd800_legacy_device &>(device).m_int_line.set_callback(std::forward<Object>(cb));
}
private:
- void device_start(void) override;
- void device_reset(void) override;
+ enum buf_mode_t
+ {
+ bm_off, bm_read, bm_write
+ };
+
+ static constexpr unsigned MAX_FLOPPIES = 4;
+
+ void device_start() override;
+ void device_reset() override;
void set_interrupt_line();
int read_id(int unit, int head, int *cylinder_id, int *sector_id);
int find_sector(int unit, int head, int sector, int *data_id);
int do_seek(int unit, int cylinder, int head);
int do_restore(int unit);
- void do_read(void);
- void do_write(void);
- void do_cmd(void);
+ void do_read();
+ void do_write();
+ void do_cmd();
uint16_t m_recv_buf;
uint16_t m_stat_reg;
@@ -44,10 +51,6 @@ private:
int m_interrupt_f_f;
devcb_write_line m_int_line;
- enum buf_mode_t {
- bm_off, bm_read, bm_write
- };
-
uint8_t m_buf[128];
int m_buf_pos;
buf_mode_t m_buf_mode;
@@ -71,4 +74,4 @@ private:
#define MCFG_FD800_INT_HANDLER( _intcallb ) \
devcb = &fd800_legacy_device::static_set_int_callback( *device, DEVCB_##_intcallb );
-#endif
+#endif // MAME_BUS_TI99X_990_DK_H
diff --git a/src/devices/bus/ti99x/990_hd.cpp b/src/devices/bus/ti99x/990_hd.cpp
index 46695114294..0aa23f3589e 100644
--- a/src/devices/bus/ti99x/990_hd.cpp
+++ b/src/devices/bus/ti99x/990_hd.cpp
@@ -280,7 +280,7 @@ int ti990_hdc_device::is_unit_loaded(int unit)
Parse the disk select lines, and return the corresponding tape unit.
(-1 if none)
*/
-int ti990_hdc_device::cur_disk_unit(void)
+int ti990_hdc_device::cur_disk_unit()
{
int reply;
@@ -974,11 +974,10 @@ static MACHINE_CONFIG_FRAGMENT( ti990_hdc )
MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd)
MACHINE_CONFIG_END
-const device_type TI990_HDC = device_creator<ti990_hdc_device>;
+DEFINE_DEVICE_TYPE(TI990_HDC, ti990_hdc_device, "ti990_hdc", "Generic TI-990 Hard Disk Controller")
ti990_hdc_device::ti990_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, TI990_HDC, "Generic TI-990 Hard Disk Controller", tag, owner, clock, "hdc_990", __FILE__),
- m_interrupt_callback(*this)
+ : device_t(mconfig, TI990_HDC, tag, owner, clock), m_interrupt_callback(*this)
{
}
diff --git a/src/devices/bus/ti99x/990_hd.h b/src/devices/bus/ti99x/990_hd.h
index dacf4a855f7..0f04703d701 100644
--- a/src/devices/bus/ti99x/990_hd.h
+++ b/src/devices/bus/ti99x/990_hd.h
@@ -3,21 +3,19 @@
/*
990_hd.h: include file for 990_hd.c
*/
-#ifndef __990_HD_H_
-#define __990_HD_H_
+#ifndef MAME_BUS_TI99X_990_HD_H
+#define MAME_BUS_TI99X_990_HD_H
-#include "imagedev/harddriv.h"
+#pragma once
-/* max disk units per controller: 4 is the protocol limit, but it may be
-overridden if more than one controller is used */
-#define MAX_DISK_UNIT 4
+#include "imagedev/harddriv.h"
class ti990_hdc_device : public device_t
{
public:
ti990_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &static_set_int_callback(device_t &device, _Object object) { return downcast<ti990_hdc_device &>(device).m_interrupt_callback.set_callback(object); }
+ template <class Object> static devcb_base &static_set_int_callback(device_t &device, Object &&cb) { return downcast<ti990_hdc_device &>(device).m_interrupt_callback.set_callback(std::forward<Object>(cb)); }
DECLARE_READ16_MEMBER(read);
DECLARE_WRITE16_MEMBER(write);
@@ -32,7 +30,7 @@ protected:
int get_id_from_device( device_t *device );
inline int is_unit_loaded(int unit);
- int cur_disk_unit(void);
+ int cur_disk_unit();
void update_interrupt();
int check_sector_address(int unit, unsigned int cylinder, unsigned int head, unsigned int sector);
int sector_to_lba(int unit, unsigned int cylinder, unsigned int head, unsigned int sector, unsigned int *lba);
@@ -45,7 +43,11 @@ protected:
void unformatted_read();
void restore();
void execute_command();
+
private:
+ // max disk units per controller: 4 is the protocol limit, but it may be overridden if more than one controller is used
+ static constexpr unsigned MAX_DISK_UNIT = 4;
+
enum format_t
{
format_mame,
@@ -75,6 +77,6 @@ private:
#define MCFG_TI990_HDC_INT_CALLBACK( _write ) \
devcb = &ti990_hdc_device::static_set_int_callback( *device, DEVCB_##_write );
-extern const device_type TI990_HDC;
+DECLARE_DEVICE_TYPE(TI990_HDC, ti990_hdc_device)
-#endif
+#endif // MAME_BUS_TI99X_990_HD_H
diff --git a/src/devices/bus/ti99x/990_tap.cpp b/src/devices/bus/ti99x/990_tap.cpp
index 590d40545ac..2a6f0ba75d0 100644
--- a/src/devices/bus/ti99x/990_tap.cpp
+++ b/src/devices/bus/ti99x/990_tap.cpp
@@ -913,11 +913,10 @@ private:
int tape_get_id();
};
-const device_type TI990_TAPE = device_creator<ti990_tape_image_device>;
+DEFINE_DEVICE_TYPE(TI990_TAPE, ti990_tape_image_device, "ti990_tape_image", "TI-990 Magnetic Tape")
ti990_tape_image_device::ti990_tape_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, TI990_TAPE, "TI-990 Magnetic Tape", tag, owner, clock, "ti990_tape_image", __FILE__),
- device_image_interface(mconfig, *this)
+ : device_t(mconfig, TI990_TAPE, tag, owner, clock), device_image_interface(mconfig, *this)
{
}
@@ -968,11 +967,10 @@ static MACHINE_CONFIG_FRAGMENT( tap_990 )
MCFG_TI990_TAPE_ADD("tape3")
MACHINE_CONFIG_END
-const device_type TI990_TAPE_CTRL = device_creator<tap_990_device>;
+DEFINE_DEVICE_TYPE(TI990_TAPE_CTRL, tap_990_device, "ti990_tap", "Generic TI-900 Tape Controller")
tap_990_device::tap_990_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, TI990_TAPE_CTRL, "Generic TI-990 Tape Controller", tag, owner, clock, "tap_990", __FILE__),
- m_int_line(*this)
+ : device_t(mconfig, TI990_TAPE_CTRL, tag, owner, clock), m_int_line(*this)
{
}
@@ -999,5 +997,5 @@ void tap_990_device::device_start()
machine_config_constructor tap_990_device::device_mconfig_additions() const
{
- return MACHINE_CONFIG_NAME( tap_990 );
+ return MACHINE_CONFIG_NAME( tap_990 );
}
diff --git a/src/devices/bus/ti99x/990_tap.h b/src/devices/bus/ti99x/990_tap.h
index 887cfd4bab6..9b256156ca2 100644
--- a/src/devices/bus/ti99x/990_tap.h
+++ b/src/devices/bus/ti99x/990_tap.h
@@ -3,25 +3,20 @@
/*
990_tap.h: include file for 990_tap.c
*/
+#ifndef MAME_BUS_TI99X_990_TAP_H
+#define MAME_BUS_TI99X_990_TAP_H
-extern const device_type TI990_TAPE_CTRL;
-#define MAX_TAPE_UNIT 4
+#pragma once
-struct tape_unit_t
-{
- device_image_interface *img; // image descriptor
- bool bot; // true if we are at the beginning of tape
- bool eot; // true if we are at the end of tape
- bool wp; // true if tape is write-protected
-};
+DECLARE_DEVICE_TYPE(TI990_TAPE_CTRL, tap_990_device)
class tap_990_device : public device_t
{
public:
tap_990_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &static_set_int_callback(device_t &device, _Object object)
+ template <class Object> static devcb_base &static_set_int_callback(device_t &device, Object &&cb)
{
- return downcast<tap_990_device &>(device).m_int_line.set_callback(object);
+ return downcast<tap_990_device &>(device).m_int_line.set_callback(std::forward<Object>(cb));
}
DECLARE_READ16_MEMBER( read );
@@ -41,6 +36,16 @@ protected:
virtual machine_config_constructor device_mconfig_additions() const override;
private:
+ static constexpr unsigned MAX_TAPE_UNIT = 4;
+
+ struct tape_unit_t
+ {
+ device_image_interface *img; // image descriptor
+ bool bot; // true if we are at the beginning of tape
+ bool eot; // true if we are at the end of tape
+ bool wp; // true if tape is write-protected
+ };
+
int cur_tape_unit();
void update_interrupt();
void cmd_read_binary_forward();
@@ -60,3 +65,5 @@ private:
#define MCFG_TI990_TAPE_INT_HANDLER( _intcallb ) \
devcb = &tap_990_device::static_set_int_callback( *device, DEVCB_##_intcallb );
+
+#endif // MAME_BUS_TI99X_990_TAP_H
diff --git a/src/devices/bus/ti99x/998board.cpp b/src/devices/bus/ti99x/998board.cpp
index 34f9d564ddd..cc03e115112 100644
--- a/src/devices/bus/ti99x/998board.cpp
+++ b/src/devices/bus/ti99x/998board.cpp
@@ -122,8 +122,17 @@
#define TRACE_GROM 0
#define TRACE_PUNMAP 0
+enum
+{
+ SGMSEL = 1,
+ TSGSEL = 2,
+ P8GSEL = 4,
+ P3GSEL = 8,
+ VIDSEL = 16
+};
+
mainboard8_device::mainboard8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MAINBOARD8, "TI-99/8 Mainboard", tag, owner, clock, "ti998_mainboard", __FILE__),
+ : device_t(mconfig, TI99_MAINBOARD8, tag, owner, clock),
m_A14_set(false),
m_pending_write(false),
m_speech_ready(true),
@@ -994,17 +1003,18 @@ void mainboard8_device::device_reset()
}
MACHINE_CONFIG_FRAGMENT( ti998_mainboard )
- MCFG_DEVICE_ADD(VAQUERRO_TAG, VAQUERRO, 0)
- MCFG_DEVICE_ADD(MOFETTA_TAG, MOFETTA, 0)
- MCFG_DEVICE_ADD(AMIGO_TAG, AMIGO, 0)
- MCFG_DEVICE_ADD(OSO_TAG, OSO, 0)
+ MCFG_DEVICE_ADD(VAQUERRO_TAG, TI99_VAQUERRO, 0)
+ MCFG_DEVICE_ADD(MOFETTA_TAG, TI99_MOFETTA, 0)
+ MCFG_DEVICE_ADD(AMIGO_TAG, TI99_AMIGO, 0)
+ MCFG_DEVICE_ADD(OSO_TAG, TI99_OSO, 0)
MACHINE_CONFIG_END
machine_config_constructor mainboard8_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ti998_mainboard );
}
-const device_type MAINBOARD8 = device_creator<mainboard8_device>;
+
+DEFINE_DEVICE_TYPE(TI99_MAINBOARD8, mainboard8_device, "ti998_mainboard", "TI-99/8 Mainboard")
/***************************************************************************
@@ -1084,7 +1094,7 @@ const device_type MAINBOARD8 = device_creator<mainboard8_device>;
***************************************************************************/
vaquerro_device::vaquerro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: device_t(mconfig, VAQUERRO, "Logical Address Space Decoder", tag, owner, clock, "ti998_vaquerro", __FILE__),
+ : device_t(mconfig, TI99_VAQUERRO, tag, owner, clock),
m_crus(ASSERT_LINE),
m_crugl(ASSERT_LINE),
m_ggrdy(ASSERT_LINE)
@@ -1408,12 +1418,12 @@ void vaquerro_device::device_reset()
asserted, while the READY line remains Low.
7. Continue at 3.
*/
-void waitstate_generator::select_in(bool addressed)
+void vaquerro_device::waitstate_generator::select_in(bool addressed)
{
m_addressed = addressed;
}
-int waitstate_generator::select_out()
+int vaquerro_device::waitstate_generator::select_out()
{
return (!m_counting && m_addressed)? m_selvalue : 0;
}
@@ -1421,22 +1431,22 @@ int waitstate_generator::select_out()
/*
Should be low by default.
*/
-line_state waitstate_generator::ready_out()
+line_state vaquerro_device::waitstate_generator::ready_out()
{
return (m_ready && !m_counting && m_generate)? ASSERT_LINE : CLEAR_LINE;
}
-bool waitstate_generator::is_counting()
+bool vaquerro_device::waitstate_generator::is_counting()
{
return m_counting;
}
-bool waitstate_generator::is_generating()
+bool vaquerro_device::waitstate_generator::is_generating()
{
return m_generate;
}
-bool waitstate_generator::is_ready()
+bool vaquerro_device::waitstate_generator::is_ready()
{
return m_ready;
}
@@ -1444,12 +1454,12 @@ bool waitstate_generator::is_ready()
/*
READY in. This may only show an effect with the next trailing edge of CLKOUT.
*/
-void grom_waitstate_generator::ready_in(line_state ready)
+void vaquerro_device::grom_waitstate_generator::ready_in(line_state ready)
{
m_ready = (ready==ASSERT_LINE);
}
-void grom_waitstate_generator::clock_in(line_state clkout)
+void vaquerro_device::grom_waitstate_generator::clock_in(line_state clkout)
{
if (clkout == ASSERT_LINE)
{
@@ -1470,7 +1480,7 @@ void grom_waitstate_generator::clock_in(line_state clkout)
}
}
-void waitstate_generator::treset_in(line_state reset)
+void vaquerro_device::waitstate_generator::treset_in(line_state reset)
{
if (reset==ASSERT_LINE)
{
@@ -1479,7 +1489,7 @@ void waitstate_generator::treset_in(line_state reset)
}
}
-void video_waitstate_generator::clock_in(line_state clkout)
+void vaquerro_device::video_waitstate_generator::clock_in(line_state clkout)
{
if (clkout == ASSERT_LINE)
{
@@ -1500,7 +1510,7 @@ void video_waitstate_generator::clock_in(line_state clkout)
}
}
-const device_type VAQUERRO = device_creator<vaquerro_device>;
+DEFINE_DEVICE_TYPE(TI99_VAQUERRO, vaquerro_device, "ti998_vaquerro", "TI-99/8 Logical Address Space Decoder")
/***************************************************************************
===== MOFETTA: Physical Address Space decoder =====
@@ -1538,7 +1548,7 @@ enum
};
mofetta_device::mofetta_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, MOFETTA, "Physical Address Space Decoder", tag, owner, clock, "ti998_mofetta", __FILE__),
+ : device_t(mconfig, TI99_MOFETTA, tag, owner, clock),
m_gotfirstword(false)
{
}
@@ -1761,7 +1771,7 @@ void mofetta_device::device_reset()
}
-const device_type MOFETTA = device_creator<mofetta_device>;
+DEFINE_DEVICE_TYPE(TI99_MOFETTA, mofetta_device, "ti998_mofetta", "TI-99/8 Physical Address Space Decoder")
/***************************************************************************
@@ -1837,7 +1847,7 @@ const device_type MOFETTA = device_creator<mofetta_device>;
***************************************************************************/
amigo_device::amigo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: device_t(mconfig, AMIGO, "Address space mapper", tag, owner, clock, "ti998_amigo", __FILE__),
+ : device_t(mconfig, TI99_AMIGO, tag, owner, clock),
m_logical_space(true),
m_crus(ASSERT_LINE)
{
@@ -2156,7 +2166,7 @@ void amigo_device::device_reset()
m_logical_space = true;
}
-const device_type AMIGO = device_creator<amigo_device>;
+DEFINE_DEVICE_TYPE(TI99_AMIGO, amigo_device, "ti998_amigo", "TI-99/8 Address space mapper")
/***************************************************************************
@@ -2226,7 +2236,7 @@ enum
};
oso_device::oso_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: device_t(mconfig, OSO, "Hexbus interface", tag, owner, clock, "oso", __FILE__), m_data(0), m_status(0), m_control(0), m_xmit(0)
+ : device_t(mconfig, TI99_OSO, tag, owner, clock), m_data(0), m_status(0), m_control(0), m_xmit(0)
{
}
@@ -2295,4 +2305,4 @@ void oso_device::device_start()
save_item(NAME(m_xmit));
}
-const device_type OSO = device_creator<oso_device>;
+DEFINE_DEVICE_TYPE(TI99_OSO, oso_device, "ti998_oso", "TI-99/8 Hexbus interface")
diff --git a/src/devices/bus/ti99x/998board.h b/src/devices/bus/ti99x/998board.h
index 32bff2f42db..250e8c061f4 100644
--- a/src/devices/bus/ti99x/998board.h
+++ b/src/devices/bus/ti99x/998board.h
@@ -13,97 +13,33 @@
*****************************************************************************/
-#ifndef __MAPPER8__
-#define __MAPPER8__
+#ifndef MAME_BUS_TI99X_998BOARD_H
+#define MAME_BUS_TI99X_998BOARD_H
+
+#pragma once
#include "ti99defs.h"
+#include "gromport.h"
+
+#include "bus/ti99/peb/peribox.h"
+#include "machine/ram.h"
#include "machine/tmc0430.h"
-#include "video/tms9928a.h"
#include "sound/sn76496.h"
#include "sound/tms5220.h"
-#include "gromport.h"
-#include "bus/ti99_peb/peribox.h"
-#include "machine/ram.h"
+#include "video/tms9928a.h"
-extern const device_type MAINBOARD8;
+DECLARE_DEVICE_TYPE(TI99_MAINBOARD8, mainboard8_device)
#define VAQUERRO_TAG "vaquerro"
#define MOFETTA_TAG "mofetta"
#define AMIGO_TAG "amigo"
#define OSO_TAG "oso"
-class mainboard8_device;
-extern const device_type VAQUERRO;
-extern const device_type MOFETTA;
-extern const device_type AMIGO;
-extern const device_type OSO;
-
-
-enum
-{
- SGMSEL = 1,
- TSGSEL = 2,
- P8GSEL = 4,
- P3GSEL = 8,
- VIDSEL = 16
-};
-
-/*
- Wait state generator (part of Vaquerro)
-*/
-class waitstate_generator
-{
-public:
- waitstate_generator() :
- m_counting(false),
- m_generate(false),
- m_counter(0),
- m_addressed(true),
- m_ready(true) { };
-
- virtual ~waitstate_generator() { }
- void select_in(bool addressed);
- virtual void ready_in(line_state ready) =0;
- virtual void clock_in(line_state clkout) =0;
- void treset_in(line_state reset);
-
- int select_out();
- void init(int select_value) { m_selvalue = select_value; }
+DECLARE_DEVICE_TYPE(TI99_VAQUERRO, vaquerro_device)
+DECLARE_DEVICE_TYPE(TI99_MOFETTA, mofetta_device)
+DECLARE_DEVICE_TYPE(TI99_AMIGO, amigo_device)
+DECLARE_DEVICE_TYPE(TI99_OSO, oso_device)
- line_state ready_out();
-
- bool is_counting();
- bool is_generating();
- bool is_ready();
-
-protected:
- // Two flipflops
- bool m_counting;
- bool m_generate;
- // Counter
- int m_counter;
-
- // Select value (indicates selected line)
- int m_selvalue;
-
- // Line state flags
- bool m_addressed;
- bool m_ready;
-};
-
-class grom_waitstate_generator : public waitstate_generator
-{
-public:
- void ready_in(line_state ready) override;
- void clock_in(line_state clkout) override;
-};
-
-class video_waitstate_generator : public waitstate_generator
-{
-public:
- void ready_in(line_state ready) override { };
- void clock_in(line_state clkout) override;
-};
/*
Custom chip: Vaquerro
@@ -146,6 +82,65 @@ public:
DECLARE_WRITE_LINE_MEMBER( p3gry );
private:
+ /*
+ Wait state generator (part of Vaquerro)
+ */
+ class waitstate_generator
+ {
+ public:
+ waitstate_generator() :
+ m_counting(false),
+ m_generate(false),
+ m_counter(0),
+ m_addressed(true),
+ m_ready(true)
+ {
+ }
+
+ virtual ~waitstate_generator() { }
+ void select_in(bool addressed);
+ virtual void ready_in(line_state ready) = 0;
+ virtual void clock_in(line_state clkout) = 0;
+ void treset_in(line_state reset);
+
+ int select_out();
+ void init(int select_value) { m_selvalue = select_value; }
+
+ line_state ready_out();
+
+ bool is_counting();
+ bool is_generating();
+ bool is_ready();
+
+ protected:
+ // Two flipflops
+ bool m_counting;
+ bool m_generate;
+ // Counter
+ int m_counter;
+
+ // Select value (indicates selected line)
+ int m_selvalue;
+
+ // Line state flags
+ bool m_addressed;
+ bool m_ready;
+ };
+
+ class grom_waitstate_generator : public waitstate_generator
+ {
+ public:
+ void ready_in(line_state ready) override;
+ void clock_in(line_state clkout) override;
+ };
+
+ class video_waitstate_generator : public waitstate_generator
+ {
+ public:
+ void ready_in(line_state ready) override { }
+ void clock_in(line_state clkout) override;
+ };
+
// Memory cycle state
bool m_memen;
@@ -455,8 +450,8 @@ public:
// void set_gromport(gromport_device* dev) { m_gromport = dev; }
protected:
- void device_start(void) override;
- void device_reset(void) override;
+ void device_start() override;
+ void device_reset() override;
machine_config_constructor device_mconfig_additions() const override;
private:
@@ -518,7 +513,7 @@ private:
required_device<tms9928a_device> m_video;
required_device<sn76496_base_device> m_sound;
required_device<cd2501ecd_device> m_speech;
- required_device<gromport_device> m_gromport;
+ required_device<ti99_gromport_device> m_gromport;
required_device<peribox_device> m_peb;
required_device<ram_device> m_sram;
required_device<ram_device> m_dram;
diff --git a/src/devices/bus/ti99x/datamux.cpp b/src/devices/bus/ti99x/datamux.cpp
index ba1d96e4417..2ccf7055410 100644
--- a/src/devices/bus/ti99x/datamux.cpp
+++ b/src/devices/bus/ti99x/datamux.cpp
@@ -75,7 +75,7 @@
Constructor
*/
ti99_datamux_device::ti99_datamux_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, DATAMUX, "Databus multiplexer", tag, owner, clock, "ti99_datamux", __FILE__),
+ : device_t(mconfig, TI99_DATAMUX, tag, owner, clock),
m_video(*owner, VDP_TAG),
m_sound(*owner, TISOUNDCHIP_TAG),
m_peb(*owner, PERIBOX_TAG),
@@ -94,7 +94,8 @@ ti99_datamux_device::ti99_datamux_device(const machine_config &mconfig, const ch
m_base32k(0),
m_console_groms_present(false),
m_grom_idle(true)
- { }
+{
+}
#define TRACE_READY 0
#define TRACE_ACCESS 0
@@ -636,4 +637,4 @@ ioport_constructor ti99_datamux_device::device_input_ports() const
return INPUT_PORTS_NAME(datamux);
}
-const device_type DATAMUX = device_creator<ti99_datamux_device>;
+DEFINE_DEVICE_TYPE(TI99_DATAMUX, ti99_datamux_device, "ti99_datamux", "TI-99 Databus multiplexer")
diff --git a/src/devices/bus/ti99x/datamux.h b/src/devices/bus/ti99x/datamux.h
index 828abebe667..ee0042d7ca9 100644
--- a/src/devices/bus/ti99x/datamux.h
+++ b/src/devices/bus/ti99x/datamux.h
@@ -11,18 +11,20 @@
*****************************************************************************/
-#ifndef __DMUX__
-#define __DMUX__
+#ifndef MAME_BUS_TI99X_DATAMUX_H
+#define MAME_BUS_TI99X_DATAMUX_H
+
+#pragma once
#include "ti99defs.h"
#include "machine/tmc0430.h"
#include "gromport.h"
-#include "bus/ti99_peb/peribox.h"
+#include "bus/ti99/peb/peribox.h"
#include "sound/sn76496.h"
#include "video/tms9928a.h"
#include "machine/ram.h"
-extern const device_type DATAMUX;
+DECLARE_DEVICE_TYPE(TI99_DATAMUX, ti99_datamux_device)
/*
Main class
@@ -41,9 +43,9 @@ public:
DECLARE_WRITE_LINE_MEMBER( gromclk_in );
- template<class _Object> static devcb_base &static_set_ready_callback(device_t &device, _Object object)
+ template <class Object> static devcb_base &static_set_ready_callback(device_t &device, Object &&cb)
{
- return downcast<ti99_datamux_device &>(device).m_ready.set_callback(object);
+ return downcast<ti99_datamux_device &>(device).m_ready.set_callback(std::forward<Object>(cb));
}
protected:
@@ -65,7 +67,7 @@ private:
required_device<peribox_device> m_peb;
// Link to the cartridge port (aka GROM port)
- required_device<gromport_device> m_gromport;
+ required_device<ti99_gromport_device> m_gromport;
// Memory expansion (internal, 16 bit)
required_device<ram_device> m_ram16b;
@@ -137,4 +139,4 @@ private:
#define MCFG_DMUX_READY_HANDLER( _intcallb ) \
devcb = &ti99_datamux_device::static_set_ready_callback( *device, DEVCB_##_intcallb );
-#endif
+#endif // MAME_BUS_TI99X_DATAMUX_H
diff --git a/src/devices/bus/ti99x/genboard.cpp b/src/devices/bus/ti99x/genboard.cpp
index 22c0ea685db..1eb494005c8 100644
--- a/src/devices/bus/ti99x/genboard.cpp
+++ b/src/devices/bus/ti99x/genboard.cpp
@@ -210,7 +210,7 @@
#define DRAM_PAR_TAG ":dram"
geneve_mapper_device::geneve_mapper_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: device_t(mconfig, GENEVE_MAPPER, "Geneve Gate Array", tag, owner, clock, "geneve_mapper", __FILE__), m_gromwaddr_LSB(false),
+ : device_t(mconfig, GENEVE_MAPPER, tag, owner, clock), m_gromwaddr_LSB(false),
m_gromraddr_LSB(false),
m_grom_address(0),
m_video_waitstates(false),
@@ -1507,14 +1507,12 @@ void geneve_mapper_device::device_reset()
}
}
-const device_type GENEVE_MAPPER = device_creator<geneve_mapper_device>;
+DEFINE_DEVICE_TYPE(GENEVE_MAPPER, geneve_mapper_device, "geneve_mapper", "Geneve Gate Array")
/****************************************************************************
Keyboard support
****************************************************************************/
-static const char *const KEYNAMES[] = { "KEY0", "KEY1", "KEY2", "KEY3", "KEY4", "KEY5", "KEY6", "KEY7" };
-
static const uint8_t MF1_CODE[0xe] =
{
/* extended keys that are equivalent to non-extended keys */
@@ -1544,8 +1542,10 @@ static const uint8_t MF1_CODE[0xe] =
};
geneve_keyboard_device::geneve_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: device_t(mconfig, GENEVE_KEYBOARD, "Geneve XT-style keyboard", tag, owner, clock, "geneve_keyboard", __FILE__),
- m_interrupt(*this), m_key_reset(false), m_key_queue_length(0), m_key_queue_head(0), m_key_in_buffer(false), m_key_numlock_state(false), m_key_ctrl_state(0), m_key_alt_state(0),
+ : device_t(mconfig, GENEVE_KEYBOARD, tag, owner, clock),
+ m_interrupt(*this),
+ m_keys(*this, "KEY%u", 0),
+ m_key_reset(false), m_key_queue_length(0), m_key_queue_head(0), m_key_in_buffer(false), m_key_numlock_state(false), m_key_ctrl_state(0), m_key_alt_state(0),
m_key_real_shift_state(0), m_key_fake_shift_state(false), m_key_fake_unshift_state(false), m_key_autorepeat_key(0), m_key_autorepeat_timer(0), m_keep_keybuf(false),
m_keyboard_clock(false), m_timer(nullptr)
{
@@ -1577,7 +1577,7 @@ void geneve_keyboard_device::poll()
/* Poll keyboard */
for (i = 0; (i < 4) && (m_key_queue_length <= (KEYQUEUESIZE-MAXKEYMSGLENGTH)); i++)
{
- keystate = ioport(KEYNAMES[2*i])->read() | (ioport(KEYNAMES[2*i + 1])->read() << 16);
+ keystate = m_keys[2*i]->read() | (m_keys[2*i + 1]->read() << 16);
key_transitions = keystate ^ m_key_state_save[i];
if (key_transitions)
{
@@ -2008,4 +2008,4 @@ ioport_constructor geneve_keyboard_device::device_input_ports() const
return INPUT_PORTS_NAME( genkeys );
}
-const device_type GENEVE_KEYBOARD = device_creator<geneve_keyboard_device>;
+DEFINE_DEVICE_TYPE(GENEVE_KEYBOARD, geneve_keyboard_device, "geneve_keyboard", "Geneve XT-style keyboard")
diff --git a/src/devices/bus/ti99x/genboard.h b/src/devices/bus/ti99x/genboard.h
index 55369c634a1..d175a3d2c93 100644
--- a/src/devices/bus/ti99x/genboard.h
+++ b/src/devices/bus/ti99x/genboard.h
@@ -10,28 +10,25 @@
February 2012: Rewritten as class
*****************************************************************************/
-#ifndef __GENBOARD__
-#define __GENBOARD__
+#ifndef MAME_BUS_TI99X_GENBOARD_H
+#define MAME_BUS_TI99X_GENBOARD_H
+
+#pragma once
#include "ti99defs.h"
#include "machine/mm58274c.h"
#include "video/v9938.h"
#include "cpu/tms9900/tms9995.h"
#include "machine/at29x.h"
-#include "bus/ti99_peb/peribox.h"
+#include "bus/ti99/peb/peribox.h"
#include "sound/sn76496.h"
#include "machine/ram.h"
-extern const device_type GENEVE_KEYBOARD;
-extern const device_type GENEVE_MAPPER;
+DECLARE_DEVICE_TYPE(GENEVE_KEYBOARD, geneve_keyboard_device)
+DECLARE_DEVICE_TYPE(GENEVE_MAPPER, geneve_mapper_device)
/*****************************************************************************/
-#define KEYQUEUESIZE 256
-#define MAXKEYMSGLENGTH 10
-#define KEYAUTOREPEATDELAY 30
-#define KEYAUTOREPEATRATE 6
-
class geneve_keyboard_device : public device_t
{
public:
@@ -41,16 +38,23 @@ public:
DECLARE_WRITE_LINE_MEMBER( clock_control );
uint8_t get_recent_key();
- template<class _Object> static devcb_base &static_set_int_callback(device_t &device, _Object object) { return downcast<geneve_keyboard_device &>(device).m_interrupt.set_callback(object); }
+ template <class Object> static devcb_base &static_set_int_callback(device_t &device, Object &&cb) { return downcast<geneve_keyboard_device &>(device).m_interrupt.set_callback(std::forward<Object>(cb)); }
protected:
void device_start() override;
void device_reset() override;
ioport_constructor device_input_ports() const override;
- devcb_write_line m_interrupt; // Keyboard interrupt to console
void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ devcb_write_line m_interrupt; // Keyboard interrupt to console
+ required_ioport_array<8> m_keys;
+
private:
+ static constexpr unsigned KEYQUEUESIZE = 256;
+ static constexpr unsigned MAXKEYMSGLENGTH = 10;
+ static constexpr unsigned KEYAUTOREPEATDELAY = 30;
+ static constexpr unsigned KEYAUTOREPEATRATE = 6;
+
void post_in_key_queue(int keycode);
void signal_when_key_available();
void poll();
@@ -109,7 +113,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( pfm_select_msb );
DECLARE_WRITE_LINE_MEMBER( pfm_output_enable );
- template<class _Object> static devcb_base &static_set_ready_callback(device_t &device, _Object object) { return downcast<geneve_mapper_device &>(device).m_ready.set_callback(object); }
+ template <class Object> static devcb_base &static_set_ready_callback(device_t &device, Object &&cb) { return downcast<geneve_mapper_device &>(device).m_ready.set_callback(std::forward<Object>(cb)); }
protected:
void device_start() override;
@@ -195,4 +199,4 @@ private:
#define MCFG_GENEVE_READY_HANDLER( _intcallb ) \
devcb = &geneve_mapper_device::static_set_ready_callback( *device, DEVCB_##_intcallb );
-#endif
+#endif // MAME_BUS_TI99X_GENBOARD_H
diff --git a/src/devices/bus/ti99x/gromport.cpp b/src/devices/bus/ti99x/gromport.cpp
index 849a0fc498d..e9d3e7a4523 100644
--- a/src/devices/bus/ti99x/gromport.cpp
+++ b/src/devices/bus/ti99x/gromport.cpp
@@ -132,8 +132,140 @@
#define GKRACKER_ROM_TAG "gkracker_rom"
#define GKRACKER_NVRAM_TAG "gkracker_nvram"
-gromport_device::gromport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bus8z_device(mconfig, GROMPORT, "Cartridge port", tag, owner, clock, "gromport", __FILE__),
+namespace {
+
+enum rpk_open_error
+{
+ RPK_OK,
+ RPK_NOT_ZIP_FORMAT,
+ RPK_CORRUPT,
+ RPK_OUT_OF_MEMORY,
+ RPK_XML_ERROR,
+ RPK_INVALID_FILE_REF,
+ RPK_ZIP_ERROR,
+ RPK_ZIP_UNSUPPORTED,
+ RPK_MISSING_RAM_LENGTH,
+ RPK_INVALID_RAM_SPEC,
+ RPK_UNKNOWN_RESOURCE_TYPE,
+ RPK_INVALID_RESOURCE_REF,
+ RPK_INVALID_LAYOUT,
+ RPK_MISSING_LAYOUT,
+ RPK_NO_PCB_OR_RESOURCES,
+ RPK_UNKNOWN_PCB_TYPE
+};
+
+
+const char *const error_text[16] =
+{
+ "No error",
+ "Not a RPK (zip) file",
+ "Module definition corrupt",
+ "Out of memory",
+ "XML format error",
+ "Invalid file reference",
+ "Zip file error",
+ "Unsupported zip version",
+ "Missing RAM length",
+ "Invalid RAM specification",
+ "Unknown resource type",
+ "Invalid resource reference",
+ "layout.xml not valid",
+ "Missing layout",
+ "No pcb or resource found",
+ "Unknown pcb type"
+};
+
+
+class rpk_exception
+{
+public:
+ rpk_exception(rpk_open_error value): m_err(value), m_detail(nullptr) { }
+ rpk_exception(rpk_open_error value, const char* detail) : m_err(value), m_detail(detail) { }
+
+ const char* to_string()
+ {
+ // FIXME: this leaks memory - in some cases it returns a new buffer, in other cases it returns a pointer to a static string, so the caller can't know whether it needs to be cleaned up
+ if (m_detail==nullptr) return error_text[(int)m_err];
+ std::string errormsg = std::string(error_text[(int)m_err]).append(": ").append(m_detail);
+ return core_strdup(errormsg.c_str());
+ }
+
+private:
+ rpk_open_error m_err;
+ const char* m_detail;
+};
+
+struct pcb_type
+{
+ int id;
+ const char* name;
+};
+
+} // anonymous namespace
+
+
+/*************************************************************************
+ RPK support
+*************************************************************************/
+
+class ti99_cartridge_device::rpk_socket
+{
+public:
+ rpk_socket(const char *id, int length, uint8_t *contents);
+ rpk_socket(const char *id, int length, uint8_t *contents, const char *pathname);
+ ~rpk_socket() {}
+
+ const char* id() { return m_id; }
+ int get_content_length() { return m_length; }
+ uint8_t* get_contents() { return m_contents; }
+ bool persistent_ram() { return m_pathname != nullptr; }
+ const char* get_pathname() { return m_pathname; }
+ void cleanup() { if (m_contents != nullptr) global_free_array(m_contents); }
+
+private:
+ const char* m_id;
+ uint32_t m_length;
+ uint8_t* m_contents;
+ const char* m_pathname;
+};
+
+class ti99_cartridge_device::rpk_reader
+{
+public:
+ rpk_reader(const pcb_type *types) : m_types(types) { }
+
+ rpk *open(emu_options &options, const char *filename, const char *system_name);
+
+private:
+ int find_file(util::archive_file &zip, const char *filename, uint32_t crc);
+ std::unique_ptr<rpk_socket> load_rom_resource(util::archive_file &zip, util::xml::data_node const* rom_resource_node, const char* socketname);
+ std::unique_ptr<rpk_socket> load_ram_resource(emu_options &options, util::xml::data_node const* ram_resource_node, const char* socketname, const char* system_name);
+ const pcb_type* m_types;
+};
+
+class ti99_cartridge_device::rpk
+{
+ friend class rpk_reader;
+public:
+ rpk(emu_options& options, const char* sysname);
+ ~rpk();
+
+ int get_type(void) { return m_type; }
+ uint8_t* get_contents_of_socket(const char *socket_name);
+ int get_resource_length(const char *socket_name);
+ void close();
+
+private:
+ emu_options& m_options; // need this to find the path to the nvram files
+ int m_type;
+ //const char* m_system_name; // need this to find the path to the nvram files
+ std::unordered_map<std::string,std::unique_ptr<rpk_socket>> m_sockets;
+
+ void add_socket(const char* id, std::unique_ptr<rpk_socket> newsock);
+};
+
+ti99_gromport_device::ti99_gromport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : bus8z_device(mconfig, TI99_GROMPORT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_connector(nullptr),
m_reset_on_insert(true),
@@ -145,7 +277,7 @@ gromport_device::gromport_device(const machine_config &mconfig, const char *tag,
Reading via the GROM port. Only 13 address lines are passed through
on the TI-99/4A, and 14 lines on the TI-99/8.
*/
-READ8Z_MEMBER(gromport_device::readz)
+READ8Z_MEMBER(ti99_gromport_device::readz)
{
if (m_connector != nullptr)
{
@@ -158,7 +290,7 @@ READ8Z_MEMBER(gromport_device::readz)
Writing via the GROM port. Only 13 address lines are passed through
on the TI-99/4A, and 14 lines on the TI-99/8.
*/
-WRITE8_MEMBER(gromport_device::write)
+WRITE8_MEMBER(ti99_gromport_device::write)
{
if (m_connector != nullptr)
{
@@ -167,19 +299,19 @@ WRITE8_MEMBER(gromport_device::write)
}
}
-READ8Z_MEMBER(gromport_device::crureadz)
+READ8Z_MEMBER(ti99_gromport_device::crureadz)
{
if (m_connector != nullptr)
m_connector->crureadz(space, offset, value);
}
-WRITE8_MEMBER(gromport_device::cruwrite)
+WRITE8_MEMBER(ti99_gromport_device::cruwrite)
{
if (m_connector != nullptr)
m_connector->cruwrite(space, offset, data);
}
-WRITE_LINE_MEMBER(gromport_device::ready_line)
+WRITE_LINE_MEMBER(ti99_gromport_device::ready_line)
{
m_console_ready(state);
}
@@ -187,14 +319,14 @@ WRITE_LINE_MEMBER(gromport_device::ready_line)
/*
Asserted when the console addresses cartridge rom.
*/
-WRITE_LINE_MEMBER(gromport_device::romgq_line)
+WRITE_LINE_MEMBER(ti99_gromport_device::romgq_line)
{
m_romgq = state;
if (m_connector != nullptr)
m_connector->romgq_line(state);
}
-WRITE_LINE_MEMBER(gromport_device::gclock_in)
+WRITE_LINE_MEMBER(ti99_gromport_device::gclock_in)
{
if (m_connector != nullptr)
m_connector->gclock_in(state);
@@ -203,13 +335,13 @@ WRITE_LINE_MEMBER(gromport_device::gclock_in)
/*
Combined GROM control lines.
*/
-WRITE8_MEMBER( gromport_device::set_gromlines )
+WRITE8_MEMBER( ti99_gromport_device::set_gromlines )
{
if (m_connector != nullptr)
m_connector->set_gromlines(space, offset, data);
}
-void gromport_device::device_start()
+void ti99_gromport_device::device_start()
{
m_console_ready.resolve();
m_console_reset.resolve();
@@ -217,7 +349,7 @@ void gromport_device::device_start()
save_item(NAME(m_romgq));
}
-void gromport_device::device_reset()
+void ti99_gromport_device::device_reset()
{
m_reset_on_insert = (ioport("CARTRESET")->read()==0x01);
}
@@ -229,7 +361,7 @@ void gromport_device::device_reset()
reset, which is useful when we want to swap the cartridges while a program
is runnning.
*/
-void gromport_device::cartridge_inserted()
+void ti99_gromport_device::cartridge_inserted()
{
if (m_reset_on_insert)
{
@@ -242,7 +374,7 @@ void gromport_device::cartridge_inserted()
Find out whether the GROMs in the cartridge are idle. In that case,
cut the clock line.
*/
-bool gromport_device::is_grom_idle()
+bool ti99_gromport_device::is_grom_idle()
{
if (m_connector != nullptr)
return m_connector->is_grom_idle();
@@ -250,20 +382,20 @@ bool gromport_device::is_grom_idle()
return false;
}
-void gromport_device::device_config_complete()
+void ti99_gromport_device::device_config_complete()
{
- m_connector = static_cast<ti99_cartridge_connector_device*>(subdevices().first());
+ m_connector = downcast<ti99_cartridge_connector_device*>(subdevices().first());
}
SLOT_INTERFACE_START( gromport4 )
- SLOT_INTERFACE("single", GROMPORT_SINGLE)
- SLOT_INTERFACE("multi", GROMPORT_MULTI)
- SLOT_INTERFACE("gkracker", GROMPORT_GK)
+ SLOT_INTERFACE("single", TI99_GROMPORT_SINGLE)
+ SLOT_INTERFACE("multi", TI99_GROMPORT_MULTI)
+ SLOT_INTERFACE("gkracker", TI99_GROMPORT_GK)
SLOT_INTERFACE_END
SLOT_INTERFACE_START( gromport8 )
- SLOT_INTERFACE("single", GROMPORT_SINGLE)
- SLOT_INTERFACE("multi", GROMPORT_MULTI)
+ SLOT_INTERFACE("single", TI99_GROMPORT_SINGLE)
+ SLOT_INTERFACE("multi", TI99_GROMPORT_MULTI)
SLOT_INTERFACE_END
INPUT_PORTS_START(gromport)
@@ -273,12 +405,12 @@ INPUT_PORTS_START(gromport)
PORT_CONFSETTING( 0x01, DEF_STR( On ) )
INPUT_PORTS_END
-ioport_constructor gromport_device::device_input_ports() const
+ioport_constructor ti99_gromport_device::device_input_ports() const
{
return INPUT_PORTS_NAME(gromport);
}
-const device_type GROMPORT = device_creator<gromport_device>;
+DEFINE_DEVICE_TYPE(TI99_GROMPORT, ti99_gromport_device, "ti99_gromport", "TI-99 Cartridge port")
/***************************************************************************
Different versions of cartridge connections
@@ -291,12 +423,12 @@ const device_type GROMPORT = device_creator<gromport_device>;
***************************************************************************/
-const device_type GROMPORT_SINGLE = device_creator<single_conn_device>;
-const device_type GROMPORT_MULTI = device_creator<multi_conn_device>;
-const device_type GROMPORT_GK = device_creator<gkracker_device>;
+DEFINE_DEVICE_TYPE(TI99_GROMPORT_SINGLE, ti99_single_cart_conn_device, "ti99_scartconn", "TI-99 Standard cartridge connector")
+DEFINE_DEVICE_TYPE(TI99_GROMPORT_MULTI, ti99_multi_cart_conn_device, "ti99_mcartconn", "TI-99 Multi-cartridge extender")
+DEFINE_DEVICE_TYPE(TI99_GROMPORT_GK, ti99_gkracker_device, "ti99_gkracker", "Miller's Graphics GRAM Kracker")
-ti99_cartridge_connector_device::ti99_cartridge_connector_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : bus8z_device(mconfig, type, name, tag, owner, clock, shortname, source),
+ti99_cartridge_connector_device::ti99_cartridge_connector_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : bus8z_device(mconfig, type, tag, owner, clock),
m_gromport(nullptr)
{
}
@@ -308,40 +440,40 @@ WRITE_LINE_MEMBER( ti99_cartridge_connector_device::ready_line )
void ti99_cartridge_connector_device::device_config_complete()
{
- m_gromport = static_cast<gromport_device*>(owner());
+ m_gromport = static_cast<ti99_gromport_device*>(owner());
}
-single_conn_device::single_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ti99_cartridge_connector_device(mconfig, GROMPORT_SINGLE, "Standard cartridge connector", tag, owner, clock, "single", __FILE__),
+ti99_single_cart_conn_device::ti99_single_cart_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : ti99_cartridge_connector_device(mconfig, TI99_GROMPORT_SINGLE, tag, owner, clock),
m_cartridge(nullptr)
{
}
-READ8Z_MEMBER(single_conn_device::readz)
+READ8Z_MEMBER(ti99_single_cart_conn_device::readz)
{
// Pass through
m_cartridge->readz(space, offset, value);
}
-WRITE8_MEMBER(single_conn_device::write)
+WRITE8_MEMBER(ti99_single_cart_conn_device::write)
{
// Pass through
m_cartridge->write(space, offset, data);
}
-READ8Z_MEMBER(single_conn_device::crureadz)
+READ8Z_MEMBER(ti99_single_cart_conn_device::crureadz)
{
// Pass through
m_cartridge->crureadz(space, offset, value);
}
-WRITE8_MEMBER(single_conn_device::cruwrite)
+WRITE8_MEMBER(ti99_single_cart_conn_device::cruwrite)
{
// Pass through
m_cartridge->cruwrite(space, offset, data);
}
-WRITE_LINE_MEMBER(single_conn_device::romgq_line)
+WRITE_LINE_MEMBER(ti99_single_cart_conn_device::romgq_line)
{
// Pass through
m_cartridge->romgq_line(state);
@@ -350,14 +482,14 @@ WRITE_LINE_MEMBER(single_conn_device::romgq_line)
/*
Combined select lines
*/
-WRITE8_MEMBER(single_conn_device::set_gromlines)
+WRITE8_MEMBER(ti99_single_cart_conn_device::set_gromlines)
{
// Pass through
m_cartridge->set_gromlines(space, offset, data);
}
-WRITE_LINE_MEMBER(single_conn_device::gclock_in)
+WRITE_LINE_MEMBER(ti99_single_cart_conn_device::gclock_in)
{
// Pass through
m_cartridge->gclock_in(state);
@@ -366,17 +498,17 @@ WRITE_LINE_MEMBER(single_conn_device::gclock_in)
/*
Check whether the GROMs are idle.
*/
-bool single_conn_device::is_grom_idle()
+bool ti99_single_cart_conn_device::is_grom_idle()
{
return m_cartridge->is_grom_idle();
}
-void single_conn_device::device_start()
+void ti99_single_cart_conn_device::device_start()
{
m_cartridge = static_cast<ti99_cartridge_device*>(subdevices().first());
}
-void single_conn_device::device_reset()
+void ti99_single_cart_conn_device::device_reset()
{
m_cartridge->set_slot(0);
}
@@ -385,7 +517,7 @@ static MACHINE_CONFIG_FRAGMENT( single_slot )
MCFG_DEVICE_ADD("cartridge", TI99CART, 0)
MACHINE_CONFIG_END
-machine_config_constructor single_conn_device::device_mconfig_additions() const
+machine_config_constructor ti99_single_cart_conn_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( single_slot );
}
@@ -434,8 +566,8 @@ machine_config_constructor single_conn_device::device_mconfig_additions() const
#define AUTO -1
-multi_conn_device::multi_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ti99_cartridge_connector_device(mconfig, GROMPORT_MULTI, "Multi-cartridge extender", tag, owner, clock, "multi", __FILE__),
+ti99_multi_cart_conn_device::ti99_multi_cart_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : ti99_cartridge_connector_device(mconfig, TI99_GROMPORT_MULTI, tag, owner, clock),
m_active_slot(0),
m_fixed_slot(0),
m_next_free_slot(0)
@@ -480,7 +612,7 @@ multi_conn_device::multi_conn_device(const machine_config &mconfig, const char *
Interestingly, cartridge subroutines are found nevertheless, even when
the cartridge is plugged into a higher slot.
*/
-void multi_conn_device::set_slot(int slotnumber)
+void ti99_multi_cart_conn_device::set_slot(int slotnumber)
{
if (TRACE_CHANGE)
if (m_active_slot != slotnumber) logerror("Setting cartslot to %d\n", slotnumber);
@@ -491,7 +623,7 @@ void multi_conn_device::set_slot(int slotnumber)
m_active_slot = m_fixed_slot;
}
-int multi_conn_device::get_active_slot(bool changebase, offs_t offset)
+int ti99_multi_cart_conn_device::get_active_slot(bool changebase, offs_t offset)
{
int slot;
if (changebase)
@@ -503,20 +635,20 @@ int multi_conn_device::get_active_slot(bool changebase, offs_t offset)
return slot;
}
-void multi_conn_device::insert(int index, ti99_cartridge_device* cart)
+void ti99_multi_cart_conn_device::insert(int index, ti99_cartridge_device* cart)
{
if (TRACE_CHANGE) logerror("Insert slot %d\n", index);
m_cartridge[index] = cart;
m_gromport->cartridge_inserted();
}
-void multi_conn_device::remove(int index)
+void ti99_multi_cart_conn_device::remove(int index)
{
if (TRACE_CHANGE) logerror("Remove slot %d\n", index);
m_cartridge[index] = nullptr;
}
-WRITE_LINE_MEMBER(multi_conn_device::romgq_line)
+WRITE_LINE_MEMBER(ti99_multi_cart_conn_device::romgq_line)
{
m_readrom = state;
@@ -533,7 +665,7 @@ WRITE_LINE_MEMBER(multi_conn_device::romgq_line)
/*
Combined select lines
*/
-WRITE8_MEMBER(multi_conn_device::set_gromlines)
+WRITE8_MEMBER(ti99_multi_cart_conn_device::set_gromlines)
{
// GROM selected?
m_grom_selected = (data != 0);
@@ -548,7 +680,7 @@ WRITE8_MEMBER(multi_conn_device::set_gromlines)
}
}
-WRITE_LINE_MEMBER(multi_conn_device::gclock_in)
+WRITE_LINE_MEMBER(ti99_multi_cart_conn_device::gclock_in)
{
// Propagate to all slots
for (int i=0; i < NUMBER_OF_CARTRIDGE_SLOTS; i++)
@@ -560,7 +692,7 @@ WRITE_LINE_MEMBER(multi_conn_device::gclock_in)
}
}
-READ8Z_MEMBER(multi_conn_device::readz)
+READ8Z_MEMBER(ti99_multi_cart_conn_device::readz)
{
int slot = get_active_slot(true, offset);
@@ -591,7 +723,7 @@ READ8Z_MEMBER(multi_conn_device::readz)
}
}
-WRITE8_MEMBER(multi_conn_device::write)
+WRITE8_MEMBER(ti99_multi_cart_conn_device::write)
{
// Same issue as above (read)
// We don't have GRAM cartridges, anyway, so it's just used for setting the address.
@@ -616,7 +748,7 @@ WRITE8_MEMBER(multi_conn_device::write)
}
}
-READ8Z_MEMBER(multi_conn_device::crureadz)
+READ8Z_MEMBER(ti99_multi_cart_conn_device::crureadz)
{
int slot = get_active_slot(false, offset);
/* Sanity check. Higher slots are always empty. */
@@ -629,7 +761,7 @@ READ8Z_MEMBER(multi_conn_device::crureadz)
}
}
-WRITE8_MEMBER(multi_conn_device::cruwrite)
+WRITE8_MEMBER(ti99_multi_cart_conn_device::cruwrite)
{
int slot = get_active_slot(true, offset);
@@ -647,7 +779,7 @@ WRITE8_MEMBER(multi_conn_device::cruwrite)
Check whether the GROMs are idle. Just ask the currently
active cartridge.
*/
-bool multi_conn_device::is_grom_idle()
+bool ti99_multi_cart_conn_device::is_grom_idle()
{
/* Sanity check. Higher slots are always empty. */
if (m_active_slot >= NUMBER_OF_CARTRIDGE_SLOTS)
@@ -659,7 +791,7 @@ bool multi_conn_device::is_grom_idle()
return false;
}
-void multi_conn_device::device_start()
+void ti99_multi_cart_conn_device::device_start()
{
m_next_free_slot = 0;
m_active_slot = 0;
@@ -673,7 +805,7 @@ void multi_conn_device::device_start()
save_item(NAME(m_next_free_slot));
}
-void multi_conn_device::device_reset(void)
+void ti99_multi_cart_conn_device::device_reset(void)
{
m_active_slot = 0;
m_fixed_slot = ioport("CARTSLOT")->read() - 1;
@@ -687,12 +819,12 @@ static MACHINE_CONFIG_FRAGMENT( multi_slot )
MCFG_DEVICE_ADD("cartridge4", TI99CART, 0)
MACHINE_CONFIG_END
-machine_config_constructor multi_conn_device::device_mconfig_additions() const
+machine_config_constructor ti99_multi_cart_conn_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( multi_slot );
}
-INPUT_CHANGED_MEMBER( multi_conn_device::switch_changed )
+INPUT_CHANGED_MEMBER( ti99_multi_cart_conn_device::switch_changed )
{
if (TRACE_CHANGE) logerror("Slot changed %d - %d\n", (int)((uint64_t)param & 0x07), newval);
m_active_slot = m_fixed_slot = newval - 1;
@@ -700,7 +832,7 @@ INPUT_CHANGED_MEMBER( multi_conn_device::switch_changed )
INPUT_PORTS_START(multi_slot)
PORT_START( "CARTSLOT" )
- PORT_DIPNAME( 0x0f, 0x00, "Multi-cartridge slot" ) PORT_CHANGED_MEMBER(DEVICE_SELF, multi_conn_device, switch_changed, 0)
+ PORT_DIPNAME( 0x0f, 0x00, "Multi-cartridge slot" ) PORT_CHANGED_MEMBER(DEVICE_SELF, ti99_multi_cart_conn_device, switch_changed, 0)
PORT_DIPSETTING( 0x00, "Auto" )
PORT_DIPSETTING( 0x01, "Slot 1" )
PORT_DIPSETTING( 0x02, "Slot 2" )
@@ -708,7 +840,7 @@ INPUT_PORTS_START(multi_slot)
PORT_DIPSETTING( 0x04, "Slot 4" )
INPUT_PORTS_END
-ioport_constructor multi_conn_device::device_input_ports() const
+ioport_constructor ti99_multi_cart_conn_device::device_input_ports() const
{
return INPUT_PORTS_NAME(multi_slot);
}
@@ -828,8 +960,8 @@ enum
#define GKSWITCH4_TAG "GKSWITCH4"
#define GKSWITCH5_TAG "GKSWITCH5"
-gkracker_device::gkracker_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ti99_cartridge_connector_device(mconfig, GROMPORT_GK, "GRAMKracker", tag, owner, clock, "ti99_gkracker", __FILE__),
+ti99_gkracker_device::ti99_gkracker_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : ti99_cartridge_connector_device(mconfig, TI99_GROMPORT_GK, tag, owner, clock),
device_nvram_interface(mconfig, *this),
m_romspace_selected(false),
m_ram_page(0),
@@ -841,7 +973,7 @@ gkracker_device::gkracker_device(const machine_config &mconfig, const char *tag,
{
}
-WRITE_LINE_MEMBER(gkracker_device::romgq_line)
+WRITE_LINE_MEMBER(ti99_gkracker_device::romgq_line)
{
m_romspace_selected = (state==ASSERT_LINE);
// Propagate to the guest
@@ -851,13 +983,13 @@ WRITE_LINE_MEMBER(gkracker_device::romgq_line)
/*
Combined select lines
*/
-WRITE8_MEMBER(gkracker_device::set_gromlines)
+WRITE8_MEMBER(ti99_gkracker_device::set_gromlines)
{
m_grom_selected = (data != 0);
if (m_cartridge != nullptr) m_cartridge->set_gromlines(space, offset, data);
}
-WRITE_LINE_MEMBER(gkracker_device::gclock_in)
+WRITE_LINE_MEMBER(ti99_gkracker_device::gclock_in)
{
if (m_cartridge != nullptr) m_cartridge->gclock_in(state);
}
@@ -865,12 +997,12 @@ WRITE_LINE_MEMBER(gkracker_device::gclock_in)
/*
Check whether the GROMs are idle.
*/
-bool gkracker_device::is_grom_idle()
+bool ti99_gkracker_device::is_grom_idle()
{
return (m_cartridge != nullptr)? m_cartridge->is_grom_idle() : false;
}
-READ8Z_MEMBER(gkracker_device::readz)
+READ8Z_MEMBER(ti99_gkracker_device::readz)
{
if (m_grom_selected)
{
@@ -929,7 +1061,7 @@ READ8Z_MEMBER(gkracker_device::readz)
}
}
-WRITE8_MEMBER(gkracker_device::write)
+WRITE8_MEMBER(ti99_gkracker_device::write)
{
// write to the guest cartridge if present
if (m_cartridge != nullptr)
@@ -1001,23 +1133,23 @@ WRITE8_MEMBER(gkracker_device::write)
}
}
-READ8Z_MEMBER( gkracker_device::crureadz )
+READ8Z_MEMBER( ti99_gkracker_device::crureadz )
{
if (m_cartridge != nullptr) m_cartridge->crureadz(space, offset, value);
}
-WRITE8_MEMBER( gkracker_device::cruwrite )
+WRITE8_MEMBER( ti99_gkracker_device::cruwrite )
{
if (m_cartridge != nullptr) m_cartridge->cruwrite(space, offset, data);
}
-INPUT_CHANGED_MEMBER( gkracker_device::gk_changed )
+INPUT_CHANGED_MEMBER( ti99_gkracker_device::gk_changed )
{
if (TRACE_GKRACKER) logerror("Input changed %d - %d\n", (int)((uint64_t)param & 0x07), newval);
m_gk_switch[(uint64_t)param & 0x07] = newval;
}
-void gkracker_device::insert(int index, ti99_cartridge_device* cart)
+void ti99_gkracker_device::insert(int index, ti99_cartridge_device* cart)
{
if (TRACE_CHANGE) logerror("Insert cartridge\n");
m_cartridge = cart;
@@ -1026,13 +1158,13 @@ void gkracker_device::insert(int index, ti99_cartridge_device* cart)
m_gromport->cartridge_inserted();
}
-void gkracker_device::remove(int index)
+void ti99_gkracker_device::remove(int index)
{
if (TRACE_CHANGE) logerror("Remove cartridge\n");
m_cartridge = nullptr;
}
-void gkracker_device::gk_install_menu(const char* menutext, int len, int ptr, int next, int start)
+void ti99_gkracker_device::gk_install_menu(const char* menutext, int len, int ptr, int next, int start)
{
const int base = 0x0000;
m_ram_ptr[base + ptr] = (uint8_t)((next >> 8) & 0xff);
@@ -1049,7 +1181,7 @@ void gkracker_device::gk_install_menu(const char* menutext, int len, int ptr, in
some sample entries which shall indicate that the memory has been tested
by the manufacturer.
*/
-void gkracker_device::nvram_default()
+void ti99_gkracker_device::nvram_default()
{
if (TRACE_GKRACKER) logerror("Creating default NVRAM\n");
memset(m_ram_ptr, 0, 81920);
@@ -1072,7 +1204,7 @@ void gkracker_device::nvram_default()
m_ram_ptr[0x6100] = 0x0b; // GPL EXIT
}
-void gkracker_device::nvram_read(emu_file &file)
+void ti99_gkracker_device::nvram_read(emu_file &file)
{
int readsize = file.read(m_ram_ptr, 81920);
if (TRACE_GKRACKER) logerror("Reading NVRAM\n");
@@ -1083,13 +1215,13 @@ void gkracker_device::nvram_read(emu_file &file)
}
}
-void gkracker_device::nvram_write(emu_file &file)
+void ti99_gkracker_device::nvram_write(emu_file &file)
{
if (TRACE_GKRACKER) logerror("Writing NVRAM\n");
file.write(m_ram_ptr, 81920);
}
-void gkracker_device::device_start()
+void ti99_gkracker_device::device_start()
{
m_ram_ptr = memregion(GKRACKER_NVRAM_TAG)->base();
m_grom_ptr = memregion(GKRACKER_ROM_TAG)->base();
@@ -1102,7 +1234,7 @@ void gkracker_device::device_start()
save_item(NAME(m_waddr_LSB));
}
-void gkracker_device::device_reset()
+void ti99_gkracker_device::device_reset()
{
m_gk_switch[1] = ioport(GKSWITCH1_TAG)->read();
m_gk_switch[2] = ioport(GKSWITCH2_TAG)->read();
@@ -1128,45 +1260,45 @@ ROM_START( gkracker_rom )
ROM_LOAD("gkracker.bin", 0x0000, 0x2000, CRC(86eaaf9f) SHA1(a3bd5257c63e190800921b52dbe3ffa91ad91113))
ROM_END
-const tiny_rom_entry *gkracker_device::device_rom_region() const
+const tiny_rom_entry *ti99_gkracker_device::device_rom_region() const
{
return ROM_NAME( gkracker_rom );
}
-machine_config_constructor gkracker_device::device_mconfig_additions() const
+machine_config_constructor ti99_gkracker_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( gkracker_slot );
}
INPUT_PORTS_START(gkracker)
PORT_START( GKSWITCH1_TAG )
- PORT_DIPNAME( 0x01, 0x01, "GK switch 1" ) PORT_CHANGED_MEMBER(DEVICE_SELF, gkracker_device, gk_changed, 1)
+ PORT_DIPNAME( 0x01, 0x01, "GK switch 1" ) PORT_CHANGED_MEMBER(DEVICE_SELF, ti99_gkracker_device, gk_changed, 1)
PORT_DIPSETTING( 0x00, "GK Off" )
PORT_DIPSETTING( 0x01, DEF_STR( Normal ) )
PORT_START( GKSWITCH2_TAG )
- PORT_DIPNAME( 0x01, 0x01, "GK switch 2" ) PORT_CHANGED_MEMBER(DEVICE_SELF, gkracker_device, gk_changed, 2)
+ PORT_DIPNAME( 0x01, 0x01, "GK switch 2" ) PORT_CHANGED_MEMBER(DEVICE_SELF, ti99_gkracker_device, gk_changed, 2)
PORT_DIPSETTING( 0x00, "GRAM 0" )
PORT_DIPSETTING( 0x01, "Op Sys" )
PORT_START( GKSWITCH3_TAG )
- PORT_DIPNAME( 0x01, 0x01, "GK switch 3" ) PORT_CHANGED_MEMBER(DEVICE_SELF, gkracker_device, gk_changed, 3)
+ PORT_DIPNAME( 0x01, 0x01, "GK switch 3" ) PORT_CHANGED_MEMBER(DEVICE_SELF, ti99_gkracker_device, gk_changed, 3)
PORT_DIPSETTING( 0x00, "GRAM 1-2" )
PORT_DIPSETTING( 0x01, "TI BASIC" )
PORT_START( GKSWITCH4_TAG )
- PORT_DIPNAME( 0x03, 0x01, "GK switch 4" ) PORT_CHANGED_MEMBER(DEVICE_SELF, gkracker_device, gk_changed, 4)
+ PORT_DIPNAME( 0x03, 0x01, "GK switch 4" ) PORT_CHANGED_MEMBER(DEVICE_SELF, ti99_gkracker_device, gk_changed, 4)
PORT_DIPSETTING( 0x00, "Bank 1" )
PORT_DIPSETTING( 0x01, "W/P" )
PORT_DIPSETTING( 0x02, "Bank 2" )
PORT_START( GKSWITCH5_TAG )
- PORT_DIPNAME( 0x01, 0x00, "GK switch 5" ) PORT_CHANGED_MEMBER(DEVICE_SELF, gkracker_device, gk_changed, 5)
+ PORT_DIPNAME( 0x01, 0x00, "GK switch 5" ) PORT_CHANGED_MEMBER(DEVICE_SELF, ti99_gkracker_device, gk_changed, 5)
PORT_DIPSETTING( 0x00, "Loader On" )
PORT_DIPSETTING( 0x01, "Loader Off" )
INPUT_PORTS_END
-ioport_constructor gkracker_device::device_input_ports() const
+ioport_constructor ti99_gkracker_device::device_input_ports() const
{
return INPUT_PORTS_NAME(gkracker);
}
@@ -1228,7 +1360,7 @@ static const pcb_type sw_pcbdefs[] =
};
ti99_cartridge_device::ti99_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
-: bus8z_device(mconfig, TI99CART, "TI-99 cartridge", tag, owner, clock, "cartridge", __FILE__),
+: bus8z_device(mconfig, TI99CART, tag, owner, clock),
device_image_interface(mconfig, *this),
m_pcbtype(0),
m_slot(0),
@@ -1564,7 +1696,7 @@ const tiny_rom_entry *ti99_cartridge_device::device_rom_region() const
return ROM_NAME( cartridge_memory );
}
-const device_type TI99CART = device_creator<ti99_cartridge_device>;
+DEFINE_DEVICE_TYPE(TI99CART, ti99_cartridge_device, "ti99cart", "TI-99 cartridge")
/***************************************************************************
Cartridge types
@@ -2518,14 +2650,14 @@ DTD:
/*
Constructor.
*/
-rpk::rpk(emu_options& options, const char* sysname)
+ti99_cartridge_device::rpk::rpk(emu_options& options, const char* sysname)
:m_options(options), m_type(0)
//,m_system_name(sysname)
{
m_sockets.clear();
}
-rpk::~rpk()
+ti99_cartridge_device::rpk::~rpk()
{
if (TRACE_RPK) printf("gromport/RPK: Destroy RPK\n");
}
@@ -2533,7 +2665,7 @@ rpk::~rpk()
/*
Deliver the contents of the socket by name of the socket.
*/
-uint8_t* rpk::get_contents_of_socket(const char *socket_name)
+uint8_t* ti99_cartridge_device::rpk::get_contents_of_socket(const char *socket_name)
{
auto socket = m_sockets.find(socket_name);
if (socket == m_sockets.end()) return nullptr;
@@ -2543,14 +2675,14 @@ uint8_t* rpk::get_contents_of_socket(const char *socket_name)
/*
Deliver the length of the contents of the socket by name of the socket.
*/
-int rpk::get_resource_length(const char *socket_name)
+int ti99_cartridge_device::rpk::get_resource_length(const char *socket_name)
{
auto socket = m_sockets.find(socket_name);
if (socket == m_sockets.end()) return 0;
return socket->second->get_content_length();
}
-void rpk::add_socket(const char* id, std::unique_ptr<rpk_socket> newsock)
+void ti99_cartridge_device::rpk::add_socket(const char* id, std::unique_ptr<rpk_socket> newsock)
{
m_sockets.emplace(id, std::move(newsock));
}
@@ -2560,7 +2692,7 @@ void rpk::add_socket(const char* id, std::unique_ptr<rpk_socket> newsock)
Saves the contents of the NVRAMs and frees all memory.
-------------------------------------------------*/
-void rpk::close()
+void ti99_cartridge_device::rpk::close()
{
// Save the NVRAM contents
for(auto &socket : m_sockets)
@@ -2585,20 +2717,20 @@ void rpk::close()
not a network socket)
***************************************************************/
-rpk_socket::rpk_socket(const char* id, int length, uint8_t* contents, const char *pathname)
-: m_id(id), m_length(length), m_contents(contents), m_pathname(pathname)
+ti99_cartridge_device::rpk_socket::rpk_socket(const char* id, int length, uint8_t* contents, const char *pathname)
+ : m_id(id), m_length(length), m_contents(contents), m_pathname(pathname)
{
}
-rpk_socket::rpk_socket(const char* id, int length, uint8_t* contents)
-: m_id(id), m_length(length), m_contents(contents), m_pathname(nullptr)
+ti99_cartridge_device::rpk_socket::rpk_socket(const char* id, int length, uint8_t* contents)
+ : rpk_socket(id, length, contents, nullptr)
{
}
/*
Locate a file in the ZIP container
*/
-int rpk_reader::find_file(util::archive_file &zip, const char *filename, uint32_t crc)
+int ti99_cartridge_device::rpk_reader::find_file(util::archive_file &zip, const char *filename, uint32_t crc)
{
for (int header = zip.first_file(); header >= 0; header = zip.next_file())
{
@@ -2628,7 +2760,7 @@ int rpk_reader::find_file(util::archive_file &zip, const char *filename, uint32_
/*
Load a rom resource and put it in a pcb socket instance.
*/
-std::unique_ptr<rpk_socket> rpk_reader::load_rom_resource(util::archive_file &zip, util::xml::data_node const* rom_resource_node, const char* socketname)
+std::unique_ptr<ti99_cartridge_device::rpk_socket> ti99_cartridge_device::rpk_reader::load_rom_resource(util::archive_file &zip, util::xml::data_node const* rom_resource_node, const char* socketname)
{
const char* file;
const char* crcstr;
@@ -2693,7 +2825,7 @@ std::unique_ptr<rpk_socket> rpk_reader::load_rom_resource(util::archive_file &zi
/*
Load a ram resource and put it in a pcb socket instance.
*/
-std::unique_ptr<rpk_socket> rpk_reader::load_ram_resource(emu_options &options, util::xml::data_node const* ram_resource_node, const char* socketname, const char* system_name)
+std::unique_ptr<ti99_cartridge_device::rpk_socket> ti99_cartridge_device::rpk_reader::load_ram_resource(emu_options &options, util::xml::data_node const* ram_resource_node, const char* socketname, const char* system_name)
{
const char* length_string;
const char* ram_type;
@@ -2780,7 +2912,7 @@ std::unique_ptr<rpk_socket> rpk_reader::load_ram_resource(emu_options &options,
system_name - name of the driver (also just for NVRAM handling)
-------------------------------------------------*/
-rpk* rpk_reader::open(emu_options &options, const char *filename, const char *system_name)
+ti99_cartridge_device::rpk* ti99_cartridge_device::rpk_reader::open(emu_options &options, const char *filename, const char *system_name)
{
util::archive_file::error ziperr;
diff --git a/src/devices/bus/ti99x/gromport.h b/src/devices/bus/ti99x/gromport.h
index 9cf460271db..59aff16bb83 100644
--- a/src/devices/bus/ti99x/gromport.h
+++ b/src/devices/bus/ti99x/gromport.h
@@ -6,22 +6,24 @@
For details see gromport.c
***************************************************************************/
-#ifndef __GROMPORT__
-#define __GROMPORT__
+#ifndef MAME_BUS_TI99X_GROMPORT_H
+#define MAME_BUS_TI99X_GROMPORT_H
+
+#pragma once
#include "ti99defs.h"
#include "machine/tmc0430.h"
#include "softlist_dev.h"
-extern const device_type GROMPORT;
+DECLARE_DEVICE_TYPE(TI99_GROMPORT, ti99_gromport_device)
class ti99_cartridge_connector_device;
-class gromport_device : public bus8z_device, public device_slot_interface
+class ti99_gromport_device : public bus8z_device, public device_slot_interface
{
public:
- gromport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ti99_gromport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz);
@@ -35,10 +37,10 @@ public:
DECLARE_WRITE_LINE_MEMBER(gclock_in);
- static void set_mask(device_t &device, int mask) { downcast<gromport_device &>(device).m_mask = mask; }
+ static void set_mask(device_t &device, int mask) { downcast<ti99_gromport_device &>(device).m_mask = mask; }
- template<class _Object> static devcb_base &static_set_ready_callback(device_t &device, _Object object) { return downcast<gromport_device &>(device).m_console_ready.set_callback(object); }
- template<class _Object> static devcb_base &static_set_reset_callback(device_t &device, _Object object) { return downcast<gromport_device &>(device).m_console_reset.set_callback(object); }
+ template <class Object> static devcb_base &static_set_ready_callback(device_t &device, Object &&cb) { return downcast<ti99_gromport_device &>(device).m_console_ready.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &static_set_reset_callback(device_t &device, Object &&cb) { return downcast<ti99_gromport_device &>(device).m_console_reset.set_callback(std::forward<Object>(cb)); }
void cartridge_inserted();
bool is_grom_idle();
@@ -62,24 +64,23 @@ SLOT_INTERFACE_EXTERN(gromport4);
SLOT_INTERFACE_EXTERN(gromport8);
#define MCFG_GROMPORT4_ADD( _tag ) \
- MCFG_DEVICE_ADD(_tag, GROMPORT, 0) \
- gromport_device::set_mask(*device, 0x1fff); \
+ MCFG_DEVICE_ADD(_tag, TI99_GROMPORT, 0) \
+ ti99_gromport_device::set_mask(*device, 0x1fff); \
MCFG_DEVICE_SLOT_INTERFACE(gromport4, "single", false)
#define MCFG_GROMPORT8_ADD( _tag ) \
- MCFG_DEVICE_ADD(_tag, GROMPORT, 0) \
- gromport_device::set_mask(*device, 0x3fff); \
+ MCFG_DEVICE_ADD(_tag, TI99_GROMPORT, 0) \
+ ti99_gromport_device::set_mask(*device, 0x3fff); \
MCFG_DEVICE_SLOT_INTERFACE(gromport8, "single", false)
#define MCFG_GROMPORT_READY_HANDLER( _ready ) \
- devcb = &gromport_device::static_set_ready_callback( *device, DEVCB_##_ready );
+ devcb = &ti99_gromport_device::static_set_ready_callback( *device, DEVCB_##_ready );
#define MCFG_GROMPORT_RESET_HANDLER( _reset ) \
- devcb = &gromport_device::static_set_reset_callback( *device, DEVCB_##_reset );
+ devcb = &ti99_gromport_device::static_set_reset_callback( *device, DEVCB_##_reset );
/****************************************************************************/
-class rpk;
class ti99_cartridge_pcb;
class ti99_cartridge_device : public bus8z_device, public device_image_interface
@@ -103,7 +104,7 @@ public:
bool is_grom_idle();
protected:
- virtual void device_start() override { };
+ virtual void device_start() override { }
virtual void device_config_complete() override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry* device_rom_region() const override;
@@ -126,6 +127,10 @@ protected:
const char *file_extensions() const override { return "rpk"; }
private:
+ class rpk_socket;
+ class rpk_reader;
+ class rpk;
+
bool m_readrom;
int m_pcbtype;
int m_slot;
@@ -139,44 +144,42 @@ private:
rpk *m_rpk;
};
-extern const device_type TI99CART;
+DECLARE_DEVICE_TYPE(TI99CART, ti99_cartridge_device)
/****************************************************************************/
class ti99_cartridge_connector_device : public bus8z_device
{
public:
- virtual DECLARE_READ8Z_MEMBER(readz) override =0;
- virtual DECLARE_WRITE8_MEMBER(write) override =0;
virtual DECLARE_READ8Z_MEMBER(crureadz) = 0;
virtual DECLARE_WRITE8_MEMBER(cruwrite) = 0;
- virtual DECLARE_WRITE_LINE_MEMBER(romgq_line) =0;
- virtual DECLARE_WRITE8_MEMBER(set_gromlines) =0;
+ virtual DECLARE_WRITE_LINE_MEMBER(romgq_line) = 0;
+ virtual DECLARE_WRITE8_MEMBER(set_gromlines) = 0;
- virtual DECLARE_WRITE_LINE_MEMBER(gclock_in) =0;
+ virtual DECLARE_WRITE_LINE_MEMBER(gclock_in) = 0;
DECLARE_WRITE_LINE_MEMBER(ready_line);
- virtual void insert(int index, ti99_cartridge_device* cart) { m_gromport->cartridge_inserted(); };
- virtual void remove(int index) { };
- virtual bool is_grom_idle() =0;
+ virtual void insert(int index, ti99_cartridge_device* cart) { m_gromport->cartridge_inserted(); }
+ virtual void remove(int index) { }
+ virtual bool is_grom_idle() = 0;
protected:
- ti99_cartridge_connector_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ ti99_cartridge_connector_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_config_complete() override;
- gromport_device* m_gromport;
+ ti99_gromport_device* m_gromport;
bool m_grom_selected;
};
/*
Single cartridge connector.
*/
-class single_conn_device : public ti99_cartridge_connector_device
+class ti99_single_cart_conn_device : public ti99_cartridge_connector_device
{
public:
- single_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ti99_single_cart_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
@@ -204,12 +207,11 @@ private:
/* We set the number of slots to 4, although we may have up to 16. From a
logical point of view we could have 256, but the operating system only checks
the first 16 banks. */
-#define NUMBER_OF_CARTRIDGE_SLOTS 4
-class multi_conn_device : public ti99_cartridge_connector_device
+class ti99_multi_cart_conn_device : public ti99_cartridge_connector_device
{
public:
- multi_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ti99_multi_cart_conn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
@@ -226,6 +228,8 @@ public:
bool is_grom_idle() override;
protected:
+ static constexpr unsigned NUMBER_OF_CARTRIDGE_SLOTS = 4;
+
virtual void device_start() override;
virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -245,10 +249,10 @@ private:
/*
GRAM Kracker.
*/
-class gkracker_device : public ti99_cartridge_connector_device, public device_nvram_interface
+class ti99_gkracker_device : public ti99_cartridge_connector_device, public device_nvram_interface
{
public:
- gkracker_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ti99_gkracker_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
@@ -295,9 +299,9 @@ private:
void gk_install_menu(const char* menutext, int len, int ptr, int next, int start);
};
-extern const device_type GROMPORT_SINGLE;
-extern const device_type GROMPORT_MULTI;
-extern const device_type GROMPORT_GK;
+DECLARE_DEVICE_TYPE(TI99_GROMPORT_SINGLE, ti99_single_cart_conn_device)
+DECLARE_DEVICE_TYPE(TI99_GROMPORT_MULTI, ti99_multi_cart_conn_device)
+DECLARE_DEVICE_TYPE(TI99_GROMPORT_GK, ti99_gkracker_device)
/****************************************************************************/
@@ -306,7 +310,7 @@ class ti99_cartridge_pcb
friend class ti99_cartridge_device;
public:
ti99_cartridge_pcb();
- virtual ~ti99_cartridge_pcb() { };
+ virtual ~ti99_cartridge_pcb() { }
protected:
virtual DECLARE_READ8Z_MEMBER(readz);
@@ -350,7 +354,6 @@ protected:
class ti99_standard_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_standard_cartridge() { };
};
/*********** Paged cartridge (like Extended Basic) ********************/
@@ -358,7 +361,6 @@ public:
class ti99_paged12k_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_paged12k_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
};
@@ -368,7 +370,6 @@ public:
class ti99_paged16k_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_paged16k_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
};
@@ -378,7 +379,6 @@ public:
class ti99_minimem_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_minimem_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
};
@@ -388,7 +388,6 @@ public:
class ti99_super_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_super_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
@@ -400,7 +399,6 @@ public:
class ti99_mbx_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_mbx_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
};
@@ -410,7 +408,6 @@ public:
class ti99_paged379i_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_paged379i_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
private:
@@ -422,7 +419,6 @@ private:
class ti99_paged378_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_paged378_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
};
@@ -432,7 +428,6 @@ public:
class ti99_paged377_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_paged377_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
};
@@ -442,7 +437,6 @@ public:
class ti99_pagedcru_cartridge : public ti99_cartridge_pcb
{
public:
- ~ti99_pagedcru_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(crureadz) override;
@@ -456,7 +450,6 @@ class ti99_gromemu_cartridge : public ti99_cartridge_pcb
public:
ti99_gromemu_cartridge(): m_waddr_LSB(false), m_grom_selected(false), m_grom_read_mode(false), m_grom_address_mode(false)
{ m_grom_address = 0; }
- ~ti99_gromemu_cartridge() { };
DECLARE_READ8Z_MEMBER(readz) override;
DECLARE_WRITE8_MEMBER(write) override;
DECLARE_READ8Z_MEMBER(gromemureadz);
@@ -470,133 +463,4 @@ private:
bool m_grom_address_mode;
};
-
-struct pcb_type
-{
- int id;
- const char* name;
-};
-
-/*************************************************************************
- RPK support
-*************************************************************************/
-class rpk;
-
-class rpk_socket
-{
- friend class rpk;
-
-public:
- rpk_socket(const char *id, int length, uint8_t *contents);
- rpk_socket(const char *id, int length, uint8_t *contents, const char *pathname);
- ~rpk_socket() {}
-
- const char* id() { return m_id; }
- int get_content_length() { return m_length; }
- uint8_t* get_contents() { return m_contents; }
- bool persistent_ram() { return m_pathname != nullptr; }
- const char* get_pathname() { return m_pathname; }
- void cleanup() { if (m_contents != nullptr) global_free_array(m_contents); }
-
-private:
- const char* m_id;
- uint32_t m_length;
- uint8_t* m_contents;
- const char* m_pathname;
-};
-
-class rpk_reader
-{
-public:
- rpk_reader(const pcb_type *types)
- : m_types(types) { };
-
- rpk *open(emu_options &options, const char *filename, const char *system_name);
-
-private:
- int find_file(util::archive_file &zip, const char *filename, uint32_t crc);
- std::unique_ptr<rpk_socket> load_rom_resource(util::archive_file &zip, util::xml::data_node const* rom_resource_node, const char* socketname);
- std::unique_ptr<rpk_socket> load_ram_resource(emu_options &options, util::xml::data_node const* ram_resource_node, const char* socketname, const char* system_name);
- const pcb_type* m_types;
-};
-
-class rpk
-{
- friend class rpk_reader;
-public:
- rpk(emu_options& options, const char* sysname);
- ~rpk();
-
- int get_type(void) { return m_type; }
- uint8_t* get_contents_of_socket(const char *socket_name);
- int get_resource_length(const char *socket_name);
- void close();
-
-private:
- emu_options& m_options; // need this to find the path to the nvram files
- int m_type;
- //const char* m_system_name; // need this to find the path to the nvram files
- std::unordered_map<std::string,std::unique_ptr<rpk_socket>> m_sockets;
-
- void add_socket(const char* id, std::unique_ptr<rpk_socket> newsock);
-};
-
-enum rpk_open_error
-{
- RPK_OK,
- RPK_NOT_ZIP_FORMAT,
- RPK_CORRUPT,
- RPK_OUT_OF_MEMORY,
- RPK_XML_ERROR,
- RPK_INVALID_FILE_REF,
- RPK_ZIP_ERROR,
- RPK_ZIP_UNSUPPORTED,
- RPK_MISSING_RAM_LENGTH,
- RPK_INVALID_RAM_SPEC,
- RPK_UNKNOWN_RESOURCE_TYPE,
- RPK_INVALID_RESOURCE_REF,
- RPK_INVALID_LAYOUT,
- RPK_MISSING_LAYOUT,
- RPK_NO_PCB_OR_RESOURCES,
- RPK_UNKNOWN_PCB_TYPE
-};
-
-static const char error_text[16][30] =
-{
- "No error",
- "Not a RPK (zip) file",
- "Module definition corrupt",
- "Out of memory",
- "XML format error",
- "Invalid file reference",
- "Zip file error",
- "Unsupported zip version",
- "Missing RAM length",
- "Invalid RAM specification",
- "Unknown resource type",
- "Invalid resource reference",
- "layout.xml not valid",
- "Missing layout",
- "No pcb or resource found",
- "Unknown pcb type"
-};
-
-class rpk_exception
-{
-public:
- rpk_exception(rpk_open_error value): m_err(value), m_detail(nullptr) { };
- rpk_exception(rpk_open_error value, const char* detail): m_err(value), m_detail(detail) { };
-
- const char* to_string()
- {
- if (m_detail==nullptr) return error_text[(int)m_err];
- std::string errormsg = std::string(error_text[(int)m_err]).append(": ").append(m_detail);
- return core_strdup(errormsg.c_str());
- }
-
-private:
- rpk_open_error m_err;
- const char* m_detail;
-};
-
-#endif
+#endif // MAME_BUS_TI99X_GROMPORT_H
diff --git a/src/devices/bus/ti99x/joyport.h b/src/devices/bus/ti99x/joyport.h
deleted file mode 100644
index aebaeafb62f..00000000000
--- a/src/devices/bus/ti99x/joyport.h
+++ /dev/null
@@ -1,89 +0,0 @@
-// license:LGPL-2.1+
-// copyright-holders:Michael Zapf
-/****************************************************************************
-
- Joystick port
-
- Now explicitly implemented as a slot device
- A joystick port allows for plugging in a single or twin joystick, or
- a Mechatronics mouse.
-
- The TI-99/4 also offers an infrared handset, connected to this port. For
- this reason we also need an interrupt line.
-
- Michael Zapf
-
- June 2012
-
-*****************************************************************************/
-
-#ifndef __JOYPORT__
-#define __JOYPORT__
-
-
-extern const device_type JOYPORT;
-
-class joyport_device;
-
-/********************************************************************
- Common parent class of all devices attached to the joystick port
-********************************************************************/
-class joyport_attached_device : public device_t
-{
-public:
- joyport_attached_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source), m_joyport(nullptr)
-{ }
-
- virtual uint8_t read_dev() =0;
- virtual void write_dev(uint8_t data) =0;
- virtual void pulse_clock() { };
-
-protected:
- virtual void device_config_complete() override;
- joyport_device* m_joyport;
-};
-
-/********************************************************************
- Joystick port
-********************************************************************/
-class joyport_device : public device_t, public device_slot_interface
-{
-public:
- joyport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint8_t read_port();
- void write_port(int data);
- void set_interrupt(int state);
- void pulse_clock();
-
- template<class _Object> static devcb_base &static_set_int_callback(device_t &device, _Object object) { return downcast<joyport_device &>(device).m_interrupt.set_callback(object); }
-
-protected:
- void device_start() override;
- void device_config_complete() override;
-
-private:
- devcb_write_line m_interrupt;
- joyport_attached_device* m_connected;
-};
-
-SLOT_INTERFACE_EXTERN(joystick_port);
-SLOT_INTERFACE_EXTERN(joystick_port_994);
-SLOT_INTERFACE_EXTERN(joystick_port_gen);
-
-#define MCFG_JOYPORT_INT_HANDLER( _intcallb ) \
- devcb = &joyport_device::static_set_int_callback( *device, DEVCB_##_intcallb );
-
-#define MCFG_GENEVE_JOYPORT_ADD( _tag ) \
- MCFG_DEVICE_ADD(_tag, JOYPORT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(joystick_port_gen, "twinjoy", false)
-
-#define MCFG_TI_JOYPORT4A_ADD( _tag ) \
- MCFG_DEVICE_ADD(_tag, JOYPORT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(joystick_port, "twinjoy", false)
-
-#define MCFG_TI_JOYPORT4_ADD( _tag ) \
- MCFG_DEVICE_ADD(_tag, JOYPORT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(joystick_port_994, "twinjoy", false)
-
-#endif /* __JOYPORT__ */
diff --git a/src/devices/bus/ti99x/ti99defs.cpp b/src/devices/bus/ti99x/ti99defs.cpp
index f65a95b8304..b1928908ae8 100644
--- a/src/devices/bus/ti99x/ti99defs.cpp
+++ b/src/devices/bus/ti99x/ti99defs.cpp
@@ -3,10 +3,10 @@
#include "emu.h"
#include "ti99defs.h"
-const device_type EVPC_CONN = device_creator<evpc_clock_connector>;
+DEFINE_DEVICE_TYPE(EVPC_CONN, evpc_clock_connector, "ti99_evpc_clock", "EVPC clock connector")
evpc_clock_connector::evpc_clock_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, EVPC_CONN, "EVPC clock connector", tag, owner, clock, "ti99_evpc_clock", __FILE__)
+ : device_t(mconfig, EVPC_CONN, tag, owner, clock)
, m_vdpint(*this)
{
}
diff --git a/src/devices/bus/ti99x/ti99defs.h b/src/devices/bus/ti99x/ti99defs.h
index f8f182a728c..4f25b6ca606 100644
--- a/src/devices/bus/ti99x/ti99defs.h
+++ b/src/devices/bus/ti99x/ti99defs.h
@@ -9,8 +9,10 @@
*****************************************************************************/
-#ifndef __TI99DEFS__
-#define __TI99DEFS__
+#ifndef MAME_BUS_TI99X_TI99DEFS_H
+#define MAME_BUS_TI99X_TI99DEFS_H
+
+#pragma once
// TI-99/4(A)
#define TISOUNDCHIP_TAG "soundchip"
@@ -117,22 +119,24 @@
*/
class bus8z_device : public device_t
{
+protected:
+ bus8z_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock) { }
public:
- bus8z_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source) { }
- virtual DECLARE_READ8Z_MEMBER(readz) =0;
- virtual DECLARE_WRITE8_MEMBER(write) =0;
- virtual DECLARE_SETADDRESS_DBIN_MEMBER( setaddress_dbin ) { };
+ virtual DECLARE_READ8Z_MEMBER(readz) = 0;
+ virtual DECLARE_WRITE8_MEMBER(write) = 0;
+ virtual DECLARE_SETADDRESS_DBIN_MEMBER( setaddress_dbin ) { }
};
class bus16z_device : device_t
{
+protected:
+ bus16z_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock) { }
public:
- bus16z_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source) { }
- virtual DECLARE_READ16Z_MEMBER(read16z) =0;
- virtual DECLARE_WRITE16_MEMBER(write16) =0;
- virtual DECLARE_SETADDRESS_DBIN_MEMBER( setaddress_dbin ) { };
+ virtual DECLARE_READ16Z_MEMBER(read16z) = 0;
+ virtual DECLARE_WRITE16_MEMBER(write16) = 0;
+ virtual DECLARE_SETADDRESS_DBIN_MEMBER( setaddress_dbin ) { }
};
/****************************************************************************
@@ -152,21 +156,22 @@ public:
exposing the console class to the external class.
****************************************************************************/
-class ti99_4x_state;
-extern const device_type EVPC_CONN;
+DECLARE_DEVICE_TYPE(EVPC_CONN, evpc_clock_connector)
class evpc_clock_connector : public device_t
{
public:
evpc_clock_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &static_set_vdpint_callback(device_t &device, _Object object)
+ template <class Object> static devcb_base &static_set_vdpint_callback(device_t &device, Object &&cb)
{
- return downcast<evpc_clock_connector &>(device).m_vdpint.set_callback(object);
+ return downcast<evpc_clock_connector &>(device).m_vdpint.set_callback(std::forward<Object>(cb));
}
WRITE_LINE_MEMBER( vclock_line ) { m_vdpint(state); }
+
+protected:
void device_start() override;
private:
@@ -197,4 +202,4 @@ enum
GENEVE_PFM512A
};
-#endif
+#endif // MAME_BUS_TI99X_TI99DEFS_H
diff --git a/src/devices/bus/tiki100/8088.cpp b/src/devices/bus/tiki100/8088.cpp
index 45a0c116433..1dde63a9ed0 100644
--- a/src/devices/bus/tiki100/8088.cpp
+++ b/src/devices/bus/tiki100/8088.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type TIKI100_8088 = device_creator<tiki100_8088_t>;
+DEFINE_DEVICE_TYPE(TIKI100_8088, tiki100_8088_device, "tiki100_8088", "TIKI-100 8/16")
//-------------------------------------------------
@@ -43,20 +43,20 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *tiki100_8088_t::device_rom_region() const
+const tiny_rom_entry *tiki100_8088_device::device_rom_region() const
{
return ROM_NAME( tiki100_8088 );
}
-static ADDRESS_MAP_START( i8088_mem, AS_PROGRAM, 8, tiki100_8088_t )
+static ADDRESS_MAP_START( i8088_mem, AS_PROGRAM, 8, tiki100_8088_device )
AM_RANGE(0x00000, 0xbffff) AM_RAM
- AM_RANGE(0xc0000, 0xcffff) AM_DEVREADWRITE(":" TIKI100_BUS_TAG, tiki100_bus_t, exin_mrq_r, exin_mrq_w)
+ AM_RANGE(0xc0000, 0xcffff) AM_DEVREADWRITE(":" TIKI100_BUS_TAG, tiki100_bus_device, exin_mrq_r, exin_mrq_w)
AM_RANGE(0xff000, 0xfffff) AM_ROM AM_REGION(I8088_TAG, 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8088_io, AS_IO, 8, tiki100_8088_t )
+static ADDRESS_MAP_START( i8088_io, AS_IO, 8, tiki100_8088_device )
AM_RANGE(0x7f, 0x7f) AM_READWRITE(read, write)
ADDRESS_MAP_END
@@ -77,7 +77,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor tiki100_8088_t::device_mconfig_additions() const
+machine_config_constructor tiki100_8088_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( tiki100_8088 );
}
@@ -89,11 +89,11 @@ machine_config_constructor tiki100_8088_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// tiki100_8088_t - constructor
+// tiki100_8088_device - constructor
//-------------------------------------------------
-tiki100_8088_t::tiki100_8088_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, TIKI100_8088, "TIKI-100 8/16", tag, owner, clock, "tiki100_8088", __FILE__),
+tiki100_8088_device::tiki100_8088_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, TIKI100_8088, tag, owner, clock),
device_tiki100bus_card_interface(mconfig, *this),
m_maincpu(*this, I8088_TAG),
m_data(0)
@@ -105,7 +105,7 @@ tiki100_8088_t::tiki100_8088_t(const machine_config &mconfig, const char *tag, d
// device_start - device-specific startup
//-------------------------------------------------
-void tiki100_8088_t::device_start()
+void tiki100_8088_device::device_start()
{
}
@@ -114,7 +114,7 @@ void tiki100_8088_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void tiki100_8088_t::device_reset()
+void tiki100_8088_device::device_reset()
{
m_maincpu->reset();
@@ -126,7 +126,7 @@ void tiki100_8088_t::device_reset()
// tiki100bus_iorq_r - I/O read
//-------------------------------------------------
-uint8_t tiki100_8088_t::iorq_r(address_space &space, offs_t offset, uint8_t data)
+uint8_t tiki100_8088_device::iorq_r(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xff) == 0x7f)
{
@@ -141,7 +141,7 @@ uint8_t tiki100_8088_t::iorq_r(address_space &space, offs_t offset, uint8_t data
// tiki100bus_iorq_w - I/O write
//-------------------------------------------------
-void tiki100_8088_t::iorq_w(address_space &space, offs_t offset, uint8_t data)
+void tiki100_8088_device::iorq_w(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xff) == 0x7f)
{
@@ -159,7 +159,7 @@ void tiki100_8088_t::iorq_w(address_space &space, offs_t offset, uint8_t data)
// read -
//-------------------------------------------------
-READ8_MEMBER( tiki100_8088_t::read )
+READ8_MEMBER( tiki100_8088_device::read )
{
return m_busak << 4 | m_data;
}
@@ -169,7 +169,7 @@ READ8_MEMBER( tiki100_8088_t::read )
// write -
//-------------------------------------------------
-WRITE8_MEMBER( tiki100_8088_t::write )
+WRITE8_MEMBER( tiki100_8088_device::write )
{
m_data = data & 0x0f;
diff --git a/src/devices/bus/tiki100/8088.h b/src/devices/bus/tiki100/8088.h
index e64945ce6e7..b2a131eb113 100644
--- a/src/devices/bus/tiki100/8088.h
+++ b/src/devices/bus/tiki100/8088.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_TIKI100_8088_H
+#define MAME_BUS_TIKI100_8088_H
-#ifndef __TIKI100_8088__
-#define __TIKI100_8088__
+#pragma once
#include "bus/tiki100/exp.h"
#include "cpu/i86/i86.h"
@@ -20,14 +20,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> tiki100_8088_t
+// ======================> tiki100_8088_device
-class tiki100_8088_t : public device_t,
+class tiki100_8088_device : public device_t,
public device_tiki100bus_card_interface
{
public:
// construction/destruction
- tiki100_8088_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tiki100_8088_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -53,7 +53,6 @@ private:
// device type definition
-extern const device_type TIKI100_8088;
-
+DECLARE_DEVICE_TYPE(TIKI100_8088, tiki100_8088_device)
-#endif
+#endif // MAME_BUS_TIKI100_8088_H
diff --git a/src/devices/bus/tiki100/exp.cpp b/src/devices/bus/tiki100/exp.cpp
index 95063b2d4cf..d0bc91bc8bc 100644
--- a/src/devices/bus/tiki100/exp.cpp
+++ b/src/devices/bus/tiki100/exp.cpp
@@ -14,8 +14,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type TIKI100_BUS = device_creator<tiki100_bus_t>;
-const device_type TIKI100_BUS_SLOT = device_creator<tiki100_bus_slot_t>;
+DEFINE_DEVICE_TYPE(TIKI100_BUS, tiki100_bus_device, "tiki100bus", "TIKI-100 expansion bus")
+DEFINE_DEVICE_TYPE(TIKI100_BUS_SLOT, tiki100_bus_slot_device, "tiki100bus_slot", "TIKI-100 expansion bus slot")
@@ -24,11 +24,11 @@ const device_type TIKI100_BUS_SLOT = device_creator<tiki100_bus_slot_t>;
//**************************************************************************
//-------------------------------------------------
-// tiki100_bus_slot_t - constructor
+// tiki100_bus_slot_device - constructor
//-------------------------------------------------
-tiki100_bus_slot_t::tiki100_bus_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, TIKI100_BUS_SLOT, "TIKI-100 expansion bus slot", tag, owner, clock, "tiki100bus_slot", __FILE__),
+tiki100_bus_slot_device::tiki100_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, TIKI100_BUS_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
device_z80daisy_interface(mconfig, *this),
m_bus(nullptr),
@@ -41,9 +41,9 @@ tiki100_bus_slot_t::tiki100_bus_slot_t(const machine_config &mconfig, const char
// device_start - device-specific startup
//-------------------------------------------------
-void tiki100_bus_slot_t::device_start()
+void tiki100_bus_slot_device::device_start()
{
- m_bus = machine().device<tiki100_bus_t>(TIKI100_BUS_TAG);
+ m_bus = machine().device<tiki100_bus_device>(TIKI100_BUS_TAG);
device_tiki100bus_card_interface *dev = dynamic_cast<device_tiki100bus_card_interface *>(get_card_device());
if (dev)
{
@@ -54,11 +54,11 @@ void tiki100_bus_slot_t::device_start()
//-------------------------------------------------
-// tiki100_bus_t - constructor
+// tiki100_bus_device - constructor
//-------------------------------------------------
-tiki100_bus_t::tiki100_bus_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, TIKI100_BUS, "TIKI-100 expansion bus", tag, owner, clock, "tiki100bus", __FILE__),
+tiki100_bus_device::tiki100_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, TIKI100_BUS, tag, owner, clock),
m_irq_cb(*this),
m_nmi_cb(*this),
m_busrq_cb(*this),
@@ -72,7 +72,7 @@ tiki100_bus_t::tiki100_bus_t(const machine_config &mconfig, const char *tag, dev
// device_start - device-specific startup
//-------------------------------------------------
-void tiki100_bus_t::device_start()
+void tiki100_bus_device::device_start()
{
// resolve callbacks
m_irq_cb.resolve_safe();
@@ -87,7 +87,7 @@ void tiki100_bus_t::device_start()
// add_card - add card
//-------------------------------------------------
-void tiki100_bus_t::add_card(device_tiki100bus_card_interface *card)
+void tiki100_bus_device::add_card(device_tiki100bus_card_interface *card)
{
m_device_list.append(*card);
@@ -99,7 +99,7 @@ void tiki100_bus_t::add_card(device_tiki100bus_card_interface *card)
// mrq_r - memory read
//-------------------------------------------------
-uint8_t tiki100_bus_t::mrq_r(address_space &space, offs_t offset, uint8_t data, bool &mdis)
+uint8_t tiki100_bus_device::mrq_r(address_space &space, offs_t offset, uint8_t data, bool &mdis)
{
device_tiki100bus_card_interface *entry = m_device_list.first();
@@ -117,7 +117,7 @@ uint8_t tiki100_bus_t::mrq_r(address_space &space, offs_t offset, uint8_t data,
// mrq_w - memory write
//-------------------------------------------------
-WRITE8_MEMBER( tiki100_bus_t::mrq_w )
+WRITE8_MEMBER( tiki100_bus_device::mrq_w )
{
device_tiki100bus_card_interface *entry = m_device_list.first();
@@ -133,7 +133,7 @@ WRITE8_MEMBER( tiki100_bus_t::mrq_w )
// iorq_r - I/O read
//-------------------------------------------------
-uint8_t tiki100_bus_t::iorq_r(address_space &space, offs_t offset, uint8_t data)
+uint8_t tiki100_bus_device::iorq_r(address_space &space, offs_t offset, uint8_t data)
{
device_tiki100bus_card_interface *entry = m_device_list.first();
@@ -151,7 +151,7 @@ uint8_t tiki100_bus_t::iorq_r(address_space &space, offs_t offset, uint8_t data)
// iorq_w - I/O write
//-------------------------------------------------
-WRITE8_MEMBER( tiki100_bus_t::iorq_w )
+WRITE8_MEMBER( tiki100_bus_device::iorq_w )
{
device_tiki100bus_card_interface *entry = m_device_list.first();
@@ -167,7 +167,7 @@ WRITE8_MEMBER( tiki100_bus_t::iorq_w )
// busak_w - bus acknowledge write
//-------------------------------------------------
-WRITE_LINE_MEMBER( tiki100_bus_t::busak_w )
+WRITE_LINE_MEMBER( tiki100_bus_device::busak_w )
{
device_tiki100bus_card_interface *entry = m_device_list.first();
@@ -192,7 +192,7 @@ device_tiki100bus_card_interface::device_tiki100bus_card_interface(const machine
device_slot_card_interface(mconfig, device), m_bus(nullptr),
m_busak(CLEAR_LINE), m_next(nullptr)
{
- m_slot = dynamic_cast<tiki100_bus_slot_t *>(device.owner());
+ m_slot = dynamic_cast<tiki100_bus_slot_device *>(device.owner());
}
diff --git a/src/devices/bus/tiki100/exp.h b/src/devices/bus/tiki100/exp.h
index f97d46faee4..9ae56520527 100644
--- a/src/devices/bus/tiki100/exp.h
+++ b/src/devices/bus/tiki100/exp.h
@@ -9,10 +9,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_TIKI100_EXP_H
+#define MAME_BUS_TIKI100_EXP_H
-#ifndef __TIKI100_BUS__
-#define __TIKI100_BUS__
+#pragma once
#include "cpu/z80/z80daisy.h"
@@ -39,19 +39,19 @@
#define MCFG_TIKI100_BUS_IRQ_CALLBACK(_write) \
- devcb = &tiki100_bus_t::set_irq_wr_callback(*device, DEVCB_##_write);
+ devcb = &tiki100_bus_device::set_irq_wr_callback(*device, DEVCB_##_write);
#define MCFG_TIKI100_BUS_NMI_CALLBACK(_write) \
- devcb = &tiki100_bus_t::set_nmi_wr_callback(*device, DEVCB_##_write);
+ devcb = &tiki100_bus_device::set_nmi_wr_callback(*device, DEVCB_##_write);
#define MCFG_TIKI100_BUS_BUSRQ_CALLBACK(_write) \
- devcb = &tiki100_bus_t::set_busrq_wr_callback(*device, DEVCB_##_write);
+ devcb = &tiki100_bus_device::set_busrq_wr_callback(*device, DEVCB_##_write);
#define MCFG_TIKI100_BUS_IN_MREQ_CALLBACK(_read) \
- devcb = &tiki100_bus_t::set_mrq_rd_callback(*device, DEVCB_##_read);
+ devcb = &tiki100_bus_device::set_mrq_rd_callback(*device, DEVCB_##_read);
#define MCFG_TIKI100_BUS_OUT_MREQ_CALLBACK(_write) \
- devcb = &tiki100_bus_t::set_mrq_wr_callback(*device, DEVCB_##_write);
+ devcb = &tiki100_bus_device::set_mrq_wr_callback(*device, DEVCB_##_write);
@@ -59,57 +59,59 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> tiki100_bus_slot_t
+// ======================> tiki100_bus_slot_device
-class tiki100_bus_t;
-class tiki100_bus_slot_t;
+class tiki100_bus_device;
+class tiki100_bus_slot_device;
// ======================> device_tiki100bus_card_interface
class device_tiki100bus_card_interface : public device_slot_card_interface
{
- friend class tiki100_bus_t;
+ friend class tiki100_bus_device;
+ template <class ElementType> friend class simple_list;
public:
- // construction/destruction
- device_tiki100bus_card_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_tiki100bus_card_interface() { }
-
device_tiki100bus_card_interface *next() const { return m_next; }
// memory access
- virtual uint8_t mrq_r(address_space &space, offs_t offset, uint8_t data, bool &mdis) { mdis = 1; return data; };
- virtual void mrq_w(address_space &space, offs_t offset, uint8_t data) { };
+ virtual uint8_t mrq_r(address_space &space, offs_t offset, uint8_t data, bool &mdis) { mdis = 1; return data; }
+ virtual void mrq_w(address_space &space, offs_t offset, uint8_t data) { }
// I/O access
- virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data) { return data; };
- virtual void iorq_w(address_space &space, offs_t offset, uint8_t data) { };
+ virtual uint8_t iorq_r(address_space &space, offs_t offset, uint8_t data) { return data; }
+ virtual void iorq_w(address_space &space, offs_t offset, uint8_t data) { }
- virtual void busak_w(int state) { m_busak = state; };
+ virtual void busak_w(int state) { m_busak = state; }
// Z80 daisy chain
virtual int z80daisy_irq_state() { return 0; }
virtual int z80daisy_irq_ack() { return 0; }
virtual void z80daisy_irq_reti() { }
- tiki100_bus_t *m_bus;
- tiki100_bus_slot_t *m_slot;
+protected:
+ // construction/destruction
+ device_tiki100bus_card_interface(const machine_config &mconfig, device_t &device);
+
+ tiki100_bus_device *m_bus;
+ tiki100_bus_slot_device *m_slot;
int m_busak;
+private:
device_tiki100bus_card_interface *m_next;
};
-// ======================> tiki100_bus_slot_t
+// ======================> tiki100_bus_slot_device
-class tiki100_bus_slot_t : public device_t,
+class tiki100_bus_slot_device : public device_t,
public device_slot_interface,
public device_z80daisy_interface
{
public:
// construction/destruction
- tiki100_bus_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tiki100_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
@@ -122,29 +124,29 @@ protected:
private:
// configuration
- tiki100_bus_t *m_bus;
+ tiki100_bus_device *m_bus;
device_tiki100bus_card_interface *m_card;
};
// device type definition
-extern const device_type TIKI100_BUS_SLOT;
+DECLARE_DEVICE_TYPE(TIKI100_BUS_SLOT, tiki100_bus_slot_device)
-// ======================> tiki100_bus_t
+// ======================> tiki100_bus_device
-class tiki100_bus_t : public device_t
+class tiki100_bus_device : public device_t
{
public:
// construction/destruction
- tiki100_bus_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- ~tiki100_bus_t() { m_device_list.detach_all(); }
+ tiki100_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ~tiki100_bus_device() { m_device_list.detach_all(); }
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<tiki100_bus_t &>(device).m_irq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<tiki100_bus_t &>(device).m_nmi_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_busrq_wr_callback(device_t &device, _Object object) { return downcast<tiki100_bus_t &>(device).m_busrq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_mrq_rd_callback(device_t &device, _Object object) { return downcast<tiki100_bus_t &>(device).m_in_mrq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_mrq_wr_callback(device_t &device, _Object object) { return downcast<tiki100_bus_t &>(device).m_out_mrq_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<tiki100_bus_device &>(device).m_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_nmi_wr_callback(device_t &device, Object &&cb) { return downcast<tiki100_bus_device &>(device).m_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_busrq_wr_callback(device_t &device, Object &&cb) { return downcast<tiki100_bus_device &>(device).m_busrq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_mrq_rd_callback(device_t &device, Object &&cb) { return downcast<tiki100_bus_device &>(device).m_in_mrq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_mrq_wr_callback(device_t &device, Object &&cb) { return downcast<tiki100_bus_device &>(device).m_out_mrq_cb.set_callback(std::forward<Object>(cb)); }
void add_card(device_tiki100bus_card_interface *card);
@@ -180,13 +182,10 @@ private:
// device type definition
-extern const device_type TIKI100_BUS;
-
+DECLARE_DEVICE_TYPE(TIKI100_BUS, tiki100_bus_device)
SLOT_INTERFACE_EXTERN( tiki100_cards );
-
-
-#endif
+#endif // MAME_BUS_TIKI100_EXP_H
diff --git a/src/devices/bus/tiki100/hdc.cpp b/src/devices/bus/tiki100/hdc.cpp
index a94856da571..3881f280235 100644
--- a/src/devices/bus/tiki100/hdc.cpp
+++ b/src/devices/bus/tiki100/hdc.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type TIKI100_HDC = device_creator<tiki100_hdc_t>;
+DEFINE_DEVICE_TYPE(TIKI100_HDC, tiki100_hdc_device, "tiki100_hdc", "TIKI-100 Winchester controller")
//-------------------------------------------------
@@ -49,7 +49,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor tiki100_hdc_t::device_mconfig_additions() const
+machine_config_constructor tiki100_hdc_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( tiki100_hdc );
}
@@ -61,11 +61,11 @@ machine_config_constructor tiki100_hdc_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// tiki100_hdc_t - constructor
+// tiki100_hdc_device - constructor
//-------------------------------------------------
-tiki100_hdc_t::tiki100_hdc_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, TIKI100_HDC, "TIKI-100 Winchester controller", tag, owner, clock, "tiki100_hdc", __FILE__),
+tiki100_hdc_device::tiki100_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, TIKI100_HDC, tag, owner, clock),
device_tiki100bus_card_interface(mconfig, *this),
m_hdc(*this, WD1010_TAG)
{
@@ -76,7 +76,7 @@ tiki100_hdc_t::tiki100_hdc_t(const machine_config &mconfig, const char *tag, dev
// device_start - device-specific startup
//-------------------------------------------------
-void tiki100_hdc_t::device_start()
+void tiki100_hdc_device::device_start()
{
}
@@ -85,7 +85,7 @@ void tiki100_hdc_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void tiki100_hdc_t::device_reset()
+void tiki100_hdc_device::device_reset()
{
m_hdc->reset();
}
@@ -95,7 +95,7 @@ void tiki100_hdc_t::device_reset()
// tiki100bus_iorq_r - I/O read
//-------------------------------------------------
-uint8_t tiki100_hdc_t::iorq_r(address_space &space, offs_t offset, uint8_t data)
+uint8_t tiki100_hdc_device::iorq_r(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf8) == 0x20)
{
@@ -110,7 +110,7 @@ uint8_t tiki100_hdc_t::iorq_r(address_space &space, offs_t offset, uint8_t data)
// tiki100bus_iorq_w - I/O write
//-------------------------------------------------
-void tiki100_hdc_t::iorq_w(address_space &space, offs_t offset, uint8_t data)
+void tiki100_hdc_device::iorq_w(address_space &space, offs_t offset, uint8_t data)
{
if ((offset & 0xf8) == 0x20)
{
diff --git a/src/devices/bus/tiki100/hdc.h b/src/devices/bus/tiki100/hdc.h
index c7f1ff7bfec..7e0109f0ecd 100644
--- a/src/devices/bus/tiki100/hdc.h
+++ b/src/devices/bus/tiki100/hdc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_TIKI100_HDC_H
+#define MAME_BUS_TIKI100_HDC_H
-#ifndef __TIKI100_HDC__
-#define __TIKI100_HDC__
+#pragma once
#include "bus/tiki100/exp.h"
#include "imagedev/harddriv.h"
@@ -21,14 +21,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> tiki100_hdc_t
+// ======================> tiki100_hdc_device
-class tiki100_hdc_t : public device_t,
- public device_tiki100bus_card_interface
+class tiki100_hdc_device : public device_t, public device_tiki100bus_card_interface
{
public:
// construction/destruction
- tiki100_hdc_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tiki100_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -48,7 +47,6 @@ private:
// device type definition
-extern const device_type TIKI100_HDC;
-
+DECLARE_DEVICE_TYPE(TIKI100_HDC, tiki100_hdc_device)
-#endif
+#endif // MAME_BUS_TIKI100_HDC_H
diff --git a/src/devices/bus/tvc/hbf.cpp b/src/devices/bus/tvc/hbf.cpp
index 1c19dd066ad..48ea67dafcd 100644
--- a/src/devices/bus/tvc/hbf.cpp
+++ b/src/devices/bus/tvc/hbf.cpp
@@ -48,7 +48,7 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-const device_type TVC_HBF = device_creator<tvc_hbf_device>;
+DEFINE_DEVICE_TYPE(TVC_HBF, tvc_hbf_device, "tvc_hbf", "HBF floppy interface")
//**************************************************************************
// LIVE DEVICE
@@ -59,10 +59,10 @@ const device_type TVC_HBF = device_creator<tvc_hbf_device>;
//-------------------------------------------------
tvc_hbf_device::tvc_hbf_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, TVC_HBF, "HBF floppy interface", tag, owner, clock, "tvc_hbf", __FILE__),
- device_tvcexp_interface( mconfig, *this ),
- m_fdc(*this, "fdc"), m_rom(nullptr), m_ram(nullptr), m_rom_bank(0)
- {
+ : device_t(mconfig, TVC_HBF, tag, owner, clock),
+ device_tvcexp_interface( mconfig, *this ),
+ m_fdc(*this, "fdc"), m_rom(nullptr), m_ram(nullptr), m_rom_bank(0)
+{
}
diff --git a/src/devices/bus/tvc/hbf.h b/src/devices/bus/tvc/hbf.h
index 4c1858195b0..6aa3bca563f 100644
--- a/src/devices/bus/tvc/hbf.h
+++ b/src/devices/bus/tvc/hbf.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_TVC_HBF_H
+#define MAME_BUS_TVC_HBF_H
-#ifndef __TVC_HBF_H__
-#define __TVC_HBF_H__
+#pragma once
#include "tvc.h"
#include "machine/wd_fdc.h"
@@ -44,7 +44,7 @@ protected:
private:
// internal state
- required_device<fd1793_t> m_fdc;
+ required_device<fd1793_device> m_fdc;
uint8_t * m_rom;
uint8_t * m_ram;
@@ -53,6 +53,6 @@ private:
// device type definition
-extern const device_type TVC_HBF;
+DECLARE_DEVICE_TYPE(TVC_HBF, tvc_hbf_device)
-#endif /* __TVC_HBF_H__ */
+#endif // MAME_BUS_TVC_HBF_H
diff --git a/src/devices/bus/tvc/tvc.cpp b/src/devices/bus/tvc/tvc.cpp
index e726cffd99e..0f165e0395f 100644
--- a/src/devices/bus/tvc/tvc.cpp
+++ b/src/devices/bus/tvc/tvc.cpp
@@ -18,7 +18,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type TVCEXP_SLOT = device_creator<tvcexp_slot_device>;
+DEFINE_DEVICE_TYPE(TVCEXP_SLOT, tvcexp_slot_device, "tvcexp_slot", "TVC64 Expansion Slot")
//**************************************************************************
@@ -52,10 +52,11 @@ device_tvcexp_interface::~device_tvcexp_interface()
// tvcexp_slot_device - constructor
//-------------------------------------------------
tvcexp_slot_device::tvcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, TVCEXP_SLOT, "TVC64 Expansion Slot", tag, owner, clock, "tvcexp_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_out_irq_cb(*this),
- m_out_nmi_cb(*this), m_cart(nullptr)
+ device_t(mconfig, TVCEXP_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_out_irq_cb(*this),
+ m_out_nmi_cb(*this),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/tvc/tvc.h b/src/devices/bus/tvc/tvc.h
index 40ceb334886..c3e3ea44cf8 100644
--- a/src/devices/bus/tvc/tvc.h
+++ b/src/devices/bus/tvc/tvc.h
@@ -53,8 +53,10 @@
+----------+
*********************************************************************/
-#ifndef __TVCEXP_H__
-#define __TVCEXP_H__
+#ifndef MAME_BUS_TVC_TVC_H
+#define MAME_BUS_TVC_TVC_H
+
+#pragma once
/***************************************************************************
@@ -67,7 +69,6 @@ class device_tvcexp_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_tvcexp_interface(const machine_config &mconfig, device_t &device);
virtual ~device_tvcexp_interface();
// reading and writing
@@ -75,9 +76,12 @@ public:
virtual void int_ack() { }
virtual uint8_t int_r() { return 1; }
virtual DECLARE_READ8_MEMBER(read) { return 0x00; }
- virtual DECLARE_WRITE8_MEMBER(write) {}
+ virtual DECLARE_WRITE8_MEMBER(write) { }
virtual DECLARE_READ8_MEMBER(io_read) { return 0x00; }
- virtual DECLARE_WRITE8_MEMBER(io_write) {}
+ virtual DECLARE_WRITE8_MEMBER(io_write) { }
+
+protected:
+ device_tvcexp_interface(const machine_config &mconfig, device_t &device);
};
// ======================> tvcexp_slot_device
@@ -90,11 +94,8 @@ public:
tvcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~tvcexp_slot_device();
- template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<tvcexp_slot_device &>(device).m_out_irq_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<tvcexp_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
-
- // device-level overrides
- virtual void device_start() override;
+ template <class Object> static devcb_base &set_out_irq_callback(device_t &device, Object &&cb) { return downcast<tvcexp_slot_device &>(device).m_out_irq_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<tvcexp_slot_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
// reading and writing
virtual uint8_t id_r();
@@ -105,14 +106,18 @@ public:
virtual DECLARE_READ8_MEMBER(io_read);
virtual DECLARE_WRITE8_MEMBER(io_write);
- devcb_write_line m_out_irq_cb;
- devcb_write_line m_out_nmi_cb;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
+ devcb_write_line m_out_irq_cb;
+ devcb_write_line m_out_nmi_cb;
device_tvcexp_interface* m_cart;
};
// device type definition
-extern const device_type TVCEXP_SLOT;
+DECLARE_DEVICE_TYPE(TVCEXP_SLOT, tvcexp_slot_device)
/***************************************************************************
@@ -125,4 +130,4 @@ extern const device_type TVCEXP_SLOT;
#define MCFG_TVCEXP_SLOT_OUT_NMI_CB(_devcb) \
devcb = &tvcexp_slot_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
-#endif /* __TVCEXP_H__ */
+#endif // MAME_BUS_TVC_TVC_H
diff --git a/src/devices/bus/vboy/rom.cpp b/src/devices/bus/vboy/rom.cpp
index 91d7e785ae7..6c6117c8a9b 100644
--- a/src/devices/bus/vboy/rom.cpp
+++ b/src/devices/bus/vboy/rom.cpp
@@ -17,24 +17,22 @@
// vboy_rom_device - constructor
//-------------------------------------------------
-const device_type VBOY_ROM_STD = device_creator<vboy_rom_device>;
-const device_type VBOY_ROM_EEPROM = device_creator<vboy_eeprom_device>;
+DEFINE_DEVICE_TYPE(VBOY_ROM_STD, vboy_rom_device, "vboy_rom", "Nintendo Virtual Boy Carts")
+DEFINE_DEVICE_TYPE(VBOY_ROM_EEPROM, vboy_eeprom_device, "vboy_eeprom", "Nintendo Virtual Boy Carts + EEPROM")
-vboy_rom_device::vboy_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_vboy_cart_interface( mconfig, *this )
+vboy_rom_device::vboy_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_vboy_cart_interface(mconfig, *this)
{
}
vboy_rom_device::vboy_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VBOY_ROM_STD, "Nintendo Virtual Boy Carts", tag, owner, clock, "vboy_rom", __FILE__),
- device_vboy_cart_interface( mconfig, *this )
+ : vboy_rom_device(mconfig, VBOY_ROM_STD, tag, owner, clock)
{
}
vboy_eeprom_device::vboy_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vboy_rom_device(mconfig, VBOY_ROM_EEPROM, "Nintendo Virtual Boy Carts + EEPROM", tag, owner, clock, "vboy_eeprom", __FILE__)
+ : vboy_rom_device(mconfig, VBOY_ROM_EEPROM, tag, owner, clock)
{
}
diff --git a/src/devices/bus/vboy/rom.h b/src/devices/bus/vboy/rom.h
index 05b0a518120..6963a09fb9c 100644
--- a/src/devices/bus/vboy/rom.h
+++ b/src/devices/bus/vboy/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VBOY_ROM_H
-#define __VBOY_ROM_H
+#ifndef MAME_BUS_VBOY_ROM_H
+#define MAME_BUS_VBOY_ROM_H
+
+#pragma once
#include "slot.h"
@@ -13,14 +15,16 @@ class vboy_rom_device : public device_t,
{
public:
// construction/destruction
- vboy_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
vboy_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
-
// reading and writing
virtual DECLARE_READ32_MEMBER(read_cart) override;
+
+protected:
+ vboy_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { }
};
// ======================> vboy_eeprom_device
@@ -37,11 +41,8 @@ public:
};
-
// device type definition
-extern const device_type VBOY_ROM_STD;
-extern const device_type VBOY_ROM_EEPROM;
-
-
+DECLARE_DEVICE_TYPE(VBOY_ROM_STD, vboy_rom_device)
+DECLARE_DEVICE_TYPE(VBOY_ROM_EEPROM, vboy_eeprom_device)
-#endif
+#endif // MAME_BUS_VBOY_ROM_H
diff --git a/src/devices/bus/vboy/slot.cpp b/src/devices/bus/vboy/slot.cpp
index a6840087159..6ed81901d12 100644
--- a/src/devices/bus/vboy/slot.cpp
+++ b/src/devices/bus/vboy/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VBOY_CART_SLOT = device_creator<vboy_cart_slot_device>;
+DEFINE_DEVICE_TYPE(VBOY_CART_SLOT, vboy_cart_slot_device, "vboy_cart_slot", "Nintendo Virtual Boy Cartridge Slot")
//**************************************************************************
// vboy cartridges Interface
@@ -75,10 +75,11 @@ void device_vboy_cart_interface::eeprom_alloc(uint32_t size)
// vboy_cart_slot_device - constructor
//-------------------------------------------------
vboy_cart_slot_device::vboy_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VBOY_CART_SLOT, "Nintendo Virtual Boy Cartridge Slot", tag, owner, clock, "vboy_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(VBOY_STD), m_cart(nullptr)
+ device_t(mconfig, VBOY_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(VBOY_STD),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/vboy/slot.h b/src/devices/bus/vboy/slot.h
index 264eb9f4cc1..a81efa07519 100644
--- a/src/devices/bus/vboy/slot.h
+++ b/src/devices/bus/vboy/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VBOY_SLOT_H
-#define __VBOY_SLOT_H
+#ifndef MAME_BUS_VBOY_SLOT_H
+#define MAME_BUS_VBOY_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -25,13 +27,12 @@ class device_vboy_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_vboy_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_vboy_cart_interface();
// reading and writing
virtual DECLARE_READ32_MEMBER(read_cart) { return 0xffffffff; }
virtual DECLARE_READ32_MEMBER(read_eeprom) { return 0xffffffff; }
- virtual DECLARE_WRITE32_MEMBER(write_eeprom) {}
+ virtual DECLARE_WRITE32_MEMBER(write_eeprom) { }
void rom_alloc(uint32_t size, const char *tag);
void eeprom_alloc(uint32_t size);
@@ -40,9 +41,11 @@ public:
uint32_t get_rom_size() { return m_rom_size; }
uint32_t get_eeprom_size() { return m_eeprom.size(); }
- void save_eeprom() { device().save_item(NAME(m_eeprom)); }
+ void save_eeprom() { device().save_item(NAME(m_eeprom)); }
protected:
+ device_vboy_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint32_t *m_rom;
uint32_t m_rom_size;
@@ -62,9 +65,6 @@ public:
vboy_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~vboy_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override;
@@ -92,15 +92,16 @@ public:
virtual DECLARE_WRITE32_MEMBER(write_eeprom);
protected:
+ // device-level overrides
+ virtual void device_start() override;
int m_type;
- device_vboy_cart_interface* m_cart;
+ device_vboy_cart_interface* m_cart;
};
-
// device type definition
-extern const device_type VBOY_CART_SLOT;
+DECLARE_DEVICE_TYPE(VBOY_CART_SLOT, vboy_cart_slot_device)
/***************************************************************************
@@ -112,4 +113,5 @@ extern const device_type VBOY_CART_SLOT;
#define MCFG_VBOY_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, VBOY_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+#endif // MAME_BUS_VBOY_SLOT_H
diff --git a/src/devices/bus/vc4000/rom.cpp b/src/devices/bus/vc4000/rom.cpp
index 0f6f0865099..0e41b2638ed 100644
--- a/src/devices/bus/vc4000/rom.cpp
+++ b/src/devices/bus/vc4000/rom.cpp
@@ -192,36 +192,34 @@
// vc4000_rom_device - constructor
//-------------------------------------------------
-const device_type VC4000_ROM_STD = device_creator<vc4000_rom_device>;
-const device_type VC4000_ROM_ROM4K = device_creator<vc4000_rom4k_device>;
-const device_type VC4000_ROM_RAM1K = device_creator<vc4000_ram1k_device>;
-const device_type VC4000_ROM_CHESS2 = device_creator<vc4000_chess2_device>;
+DEFINE_DEVICE_TYPE(VC4000_ROM_STD, vc4000_rom_device, "vc4000_rom", "VC 4000 Standard Carts")
+DEFINE_DEVICE_TYPE(VC4000_ROM_ROM4K, vc4000_rom4k_device, "vc4000_rom4k", "VC 4000 Carts w/4K ROM")
+DEFINE_DEVICE_TYPE(VC4000_ROM_RAM1K, vc4000_ram1k_device, "vc4000_ram1k", "VC 4000 Carts w/1K RAM")
+DEFINE_DEVICE_TYPE(VC4000_ROM_CHESS2, vc4000_chess2_device, "vc4000_chess2", "VC 4000 Chess II Cart")
-vc4000_rom_device::vc4000_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_vc4000_cart_interface( mconfig, *this )
+vc4000_rom_device::vc4000_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_vc4000_cart_interface(mconfig, *this)
{
}
vc4000_rom_device::vc4000_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VC4000_ROM_STD, "VC 4000 Standard Carts", tag, owner, clock, "vc4000_rom", __FILE__),
- device_vc4000_cart_interface( mconfig, *this )
+ : vc4000_rom_device(mconfig, VC4000_ROM_STD, tag, owner, clock)
{
}
vc4000_rom4k_device::vc4000_rom4k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vc4000_rom_device(mconfig, VC4000_ROM_ROM4K, "VC 4000 Carts w/4K ROM", tag, owner, clock, "vc4000_rom4k", __FILE__)
+ : vc4000_rom_device(mconfig, VC4000_ROM_ROM4K, tag, owner, clock)
{
}
vc4000_ram1k_device::vc4000_ram1k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vc4000_rom_device(mconfig, VC4000_ROM_RAM1K, "VC 4000 Carts w/1K RAM", tag, owner, clock, "vc4000_ram1k", __FILE__)
+ : vc4000_rom_device(mconfig, VC4000_ROM_RAM1K, tag, owner, clock)
{
}
vc4000_chess2_device::vc4000_chess2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vc4000_rom_device(mconfig, VC4000_ROM_CHESS2, "VC 4000 Chess II Cart", tag, owner, clock, "vc4000_chess2", __FILE__)
+ : vc4000_rom_device(mconfig, VC4000_ROM_CHESS2, tag, owner, clock)
{
}
diff --git a/src/devices/bus/vc4000/rom.h b/src/devices/bus/vc4000/rom.h
index dcd5d3b37f8..a8d524f2989 100644
--- a/src/devices/bus/vc4000/rom.h
+++ b/src/devices/bus/vc4000/rom.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VC4000_ROM_H
-#define __VC4000_ROM_H
+#ifndef MAME_BUS_VC4000_ROM_H
+#define MAME_BUS_VC4000_ROM_H
#include "slot.h"
@@ -13,15 +13,17 @@ class vc4000_rom_device : public device_t,
{
public:
// construction/destruction
- vc4000_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
vc4000_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
- virtual void device_reset() override {}
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+protected:
+ vc4000_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
};
// ======================> vc4000_rom4k_device
@@ -62,13 +64,10 @@ public:
-
-
// device type definition
-extern const device_type VC4000_ROM_STD;
-extern const device_type VC4000_ROM_ROM4K;
-extern const device_type VC4000_ROM_RAM1K;
-extern const device_type VC4000_ROM_CHESS2;
-
+DECLARE_DEVICE_TYPE(VC4000_ROM_STD, vc4000_rom_device)
+DECLARE_DEVICE_TYPE(VC4000_ROM_ROM4K, vc4000_rom4k_device)
+DECLARE_DEVICE_TYPE(VC4000_ROM_RAM1K, vc4000_ram1k_device)
+DECLARE_DEVICE_TYPE(VC4000_ROM_CHESS2, vc4000_chess2_device)
-#endif
+#endif // MAME_BUS_VC4000_ROM_H
diff --git a/src/devices/bus/vc4000/slot.cpp b/src/devices/bus/vc4000/slot.cpp
index 444575b3dd0..68c7ca15f4b 100644
--- a/src/devices/bus/vc4000/slot.cpp
+++ b/src/devices/bus/vc4000/slot.cpp
@@ -15,8 +15,8 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VC4000_CART_SLOT = device_creator<vc4000_cart_slot_device>;
-const device_type H21_CART_SLOT = device_creator<h21_cart_slot_device>;
+DEFINE_DEVICE_TYPE(VC4000_CART_SLOT, vc4000_cart_slot_device, "vc4000_cart_slot", "Interton VC 4000 Cartridge Slot")
+DEFINE_DEVICE_TYPE(H21_CART_SLOT, h21_cart_slot_device, "h21_cart_slot", "TRQ H-21 Cartridge Slot")
//**************************************************************************
// VC4000 Cartridges Interface
@@ -74,20 +74,17 @@ void device_vc4000_cart_interface::ram_alloc(uint32_t size)
// vc4000_cart_slot_device - constructor
//-------------------------------------------------
vc4000_cart_slot_device::vc4000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vc4000_cart_slot_device(mconfig, VC4000_CART_SLOT, "Interton VC 4000 Cartridge Slot", tag, owner, clock, "vc4000_cart_slot", __FILE__)
+ : vc4000_cart_slot_device(mconfig, VC4000_CART_SLOT, tag, owner, clock)
{
}
vc4000_cart_slot_device::vc4000_cart_slot_device(
const machine_config &mconfig,
device_type type,
- const char *name,
const char *tag,
device_t *owner,
- uint32_t clock,
- const char *shortname,
- const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+ uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_image_interface(mconfig, *this)
, device_slot_interface(mconfig, *this)
, m_type(VC4000_STD)
@@ -118,7 +115,7 @@ void vc4000_cart_slot_device::device_start()
//-------------------------------------------------
h21_cart_slot_device::h21_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vc4000_cart_slot_device(mconfig, H21_CART_SLOT, "TRQ H-21 Cartridge Slot", tag, owner, clock, "h21_cart_slot", __FILE__)
+ : vc4000_cart_slot_device(mconfig, H21_CART_SLOT, tag, owner, clock)
{
}
diff --git a/src/devices/bus/vc4000/slot.h b/src/devices/bus/vc4000/slot.h
index c663397dbe1..61cba93bd94 100644
--- a/src/devices/bus/vc4000/slot.h
+++ b/src/devices/bus/vc4000/slot.h
@@ -27,7 +27,6 @@ class device_vc4000_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_vc4000_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_vc4000_cart_interface();
// reading and writing
@@ -46,6 +45,8 @@ public:
void save_ram() { device().save_item(NAME(m_ram)); }
protected:
+ device_vc4000_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -64,12 +65,9 @@ public:
vc4000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~vc4000_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
- virtual void call_unload() override {}
+ virtual void call_unload() override { }
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
int get_type() { return m_type; }
@@ -95,15 +93,15 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_ram);
protected:
+ // device-level overrides
+ virtual void device_start() override;
+
vc4000_cart_slot_device(
const machine_config &mconfig,
device_type type,
- const char *name,
const char *tag,
device_t *owner,
- uint32_t clock,
- const char *shortname,
- const char *source);
+ uint32_t clock);
int m_type;
device_vc4000_cart_interface *m_cart;
@@ -120,8 +118,8 @@ public:
};
// device type definition
-extern const device_type VC4000_CART_SLOT;
-extern const device_type H21_CART_SLOT;
+DECLARE_DEVICE_TYPE(VC4000_CART_SLOT, vc4000_cart_slot_device)
+DECLARE_DEVICE_TYPE(H21_CART_SLOT, h21_cart_slot_device)
/***************************************************************************
diff --git a/src/devices/bus/vcs/compumat.cpp b/src/devices/bus/vcs/compumat.cpp
index 304dbbf3403..5b5c8ad9495 100644
--- a/src/devices/bus/vcs/compumat.cpp
+++ b/src/devices/bus/vcs/compumat.cpp
@@ -13,11 +13,11 @@
#include "emu.h"
#include "compumat.h"
-const device_type A26_ROM_COMPUMATE = device_creator<a26_rom_cm_device>;
+DEFINE_DEVICE_TYPE(A26_ROM_COMPUMATE, a26_rom_cm_device, "a2600_cm", "Atari 2600 ROM Cart Compumate")
a26_rom_cm_device::a26_rom_cm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_COMPUMATE, "Atari 2600 ROM Cart Compumate", tag, owner, clock, "a2600_cm", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_COMPUMATE, tag, owner, clock)
{
}
diff --git a/src/devices/bus/vcs/compumat.h b/src/devices/bus/vcs/compumat.h
index 6f59ead6ea0..0eed91e59e5 100644
--- a/src/devices/bus/vcs/compumat.h
+++ b/src/devices/bus/vcs/compumat.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VCS_COMPUMAT_H
-#define __VCS_COMPUMAT_H
+#ifndef MAME_BUS_VCS_COMPUMAT_H
+#define MAME_BUS_VCS_COMPUMAT_H
+
+#pragma once
#include "rom.h"
@@ -28,6 +30,6 @@ public:
// device type definition
-extern const device_type A26_ROM_COMPUMATE;
+DECLARE_DEVICE_TYPE(A26_ROM_COMPUMATE, a26_rom_cm_device)
-#endif
+#endif // MAME_BUS_VCS_COMPUMAT_H
diff --git a/src/devices/bus/vcs/dpc.cpp b/src/devices/bus/vcs/dpc.cpp
index 524013c3d9b..84cd9841a93 100644
--- a/src/devices/bus/vcs/dpc.cpp
+++ b/src/devices/bus/vcs/dpc.cpp
@@ -14,11 +14,11 @@
// DPC device
-const device_type ATARI_DPC = device_creator<dpc_device>;
+DEFINE_DEVICE_TYPE(ATARI_DPC, dpc_device, "atari_dpc", "Atari DPC")
dpc_device::dpc_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
- device_t(mconfig, ATARI_DPC, "Atari DCP", tag, owner, clock, "atari_dcp", __FILE__),
+ device_t(mconfig, ATARI_DPC, tag, owner, clock),
m_movamt(0),
m_latch_62(0),
m_latch_64(0),
@@ -238,12 +238,11 @@ WRITE8_MEMBER(dpc_device::write)
// cart device
-const device_type A26_ROM_DPC = device_creator<a26_rom_dpc_device>;
+DEFINE_DEVICE_TYPE(A26_ROM_DPC, a26_rom_dpc_device, "a2600_dpc", "Atari 2600 ROM Cart Pitfall II")
a26_rom_dpc_device::a26_rom_dpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f8_device(mconfig, A26_ROM_DPC, "Atari 2600 ROM Cart Pitfall II", tag, owner, clock, "a2600_dcp", __FILE__),
- m_dpc(*this, "dpc")
+ : a26_rom_f8_device(mconfig, A26_ROM_DPC, tag, owner, clock), m_dpc(*this, "dpc")
{
}
diff --git a/src/devices/bus/vcs/dpc.h b/src/devices/bus/vcs/dpc.h
index 358cba6f942..9ce74b57684 100644
--- a/src/devices/bus/vcs/dpc.h
+++ b/src/devices/bus/vcs/dpc.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VCS_DCP_H
-#define __VCS_DCP_H
+#ifndef MAME_BUS_VCS_DPC_H
+#define MAME_BUS_VCS_DPC_H
+
+#pragma once
#include "rom.h"
@@ -11,16 +13,6 @@
// TO DO: DPC should be made a separate device!
-struct df_t {
- uint8_t top;
- uint8_t bottom;
- uint8_t low;
- uint8_t high;
- uint8_t flag;
- uint8_t music_mode; /* Only used by data fetchers 5,6, and 7 */
- uint8_t osc_clk; /* Only used by data fetchers 5,6, and 7 */
-};
-
// m_dpc.oscillator = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(a2600_state::modeDPC_timer_callback),this));
class dpc_device : public device_t
@@ -29,36 +21,47 @@ public:
// construction/destruction
dpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- df_t m_df[8];
- uint8_t m_movamt;
- uint8_t m_latch_62;
- uint8_t m_latch_64;
- uint8_t m_dlc;
- uint8_t m_shift_reg;
- uint8_t *m_displaydata;
void set_display_data(uint8_t *data) { m_displaydata = data; }
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ virtual DECLARE_READ8_MEMBER(read);
+ virtual DECLARE_WRITE8_MEMBER(write);
+
+protected:
+ static constexpr device_timer_id TIMER_OSC = 0;
+
+ struct df_t {
+ uint8_t top;
+ uint8_t bottom;
+ uint8_t low;
+ uint8_t high;
+ uint8_t flag;
+ uint8_t music_mode; /* Only used by data fetchers 5,6, and 7 */
+ uint8_t osc_clk; /* Only used by data fetchers 5,6, and 7 */
+ };
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- virtual DECLARE_READ8_MEMBER(read);
- virtual DECLARE_WRITE8_MEMBER(write);
+ df_t m_df[8];
+ uint8_t m_movamt;
+ uint8_t m_latch_62;
+ uint8_t m_latch_64;
+ uint8_t m_dlc;
+ uint8_t m_shift_reg;
+ uint8_t *m_displaydata;
private:
-
void decrement_counter(uint8_t data_fetcher);
void check_flag(uint8_t data_fetcher);
- static const device_timer_id TIMER_OSC = 0;
emu_timer *m_oscillator;
};
// device type definition
-extern const device_type ATARI_DPC;
+DECLARE_DEVICE_TYPE(ATARI_DPC, dpc_device)
@@ -86,6 +89,6 @@ public:
// device type definition
-extern const device_type A26_ROM_DPC;
+DECLARE_DEVICE_TYPE(A26_ROM_DPC, a26_rom_dpc_device)
-#endif
+#endif // MAME_BUS_VCS_DPC_H
diff --git a/src/devices/bus/vcs/harmony_melody.cpp b/src/devices/bus/vcs/harmony_melody.cpp
index 6721cb6eff9..2e35ea48331 100644
--- a/src/devices/bus/vcs/harmony_melody.cpp
+++ b/src/devices/bus/vcs/harmony_melody.cpp
@@ -59,16 +59,13 @@ map:
-
-
// cart device
-const device_type A26_ROM_HARMONY = device_creator<a26_rom_harmony_device>;
+DEFINE_DEVICE_TYPE(A26_ROM_HARMONY, a26_rom_harmony_device, "a2600_harmony", "Atari 2600 ROM Cart HARMONY/MELODY")
a26_rom_harmony_device::a26_rom_harmony_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f8_device(mconfig, A26_ROM_HARMONY, "Atari 2600 ROM Cart HARMONY/MELODY", tag, owner, clock, "a2600_harmony", __FILE__),
- m_cpu(*this, "arm")
+ : a26_rom_f8_device(mconfig, A26_ROM_HARMONY, tag, owner, clock), m_cpu(*this, "arm")
{
}
diff --git a/src/devices/bus/vcs/harmony_melody.h b/src/devices/bus/vcs/harmony_melody.h
index 7ed337c56ec..3af4cfd9dcc 100644
--- a/src/devices/bus/vcs/harmony_melody.h
+++ b/src/devices/bus/vcs/harmony_melody.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
-#ifndef __VCS_HARMONY_H
-#define __VCS_HARMONY_H
+#ifndef MAME_BUS_VCS_HARMONY_MELODY_H
+#define MAME_BUS_VCS_HARMONY_MELODY_H
+
+#pragma once
#include "rom.h"
#include "cpu/arm7/lpc210x.h"
@@ -15,26 +17,26 @@ public:
// construction/destruction
a26_rom_harmony_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_reset() override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
-
DECLARE_READ8_MEMBER(read8_r);
+private:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
void check_bankswitch(offs_t offset);
-private:
required_device<lpc210x_device> m_cpu;
};
// device type definition
-extern const device_type A26_ROM_HARMONY;
+DECLARE_DEVICE_TYPE(A26_ROM_HARMONY, a26_rom_harmony_device)
-#endif
+#endif // MAME_BUS_VCS_HARMONY_MELODY_H
diff --git a/src/devices/bus/vcs/rom.cpp b/src/devices/bus/vcs/rom.cpp
index 37c47ff950e..e5699d1ae48 100755
--- a/src/devices/bus/vcs/rom.cpp
+++ b/src/devices/bus/vcs/rom.cpp
@@ -21,167 +21,164 @@
// a26_rom_*k_device - constructor
//-------------------------------------------------
-const device_type A26_ROM_2K = device_creator<a26_rom_2k_device>;
-const device_type A26_ROM_4K = device_creator<a26_rom_4k_device>;
-const device_type A26_ROM_F4 = device_creator<a26_rom_f4_device>;
-const device_type A26_ROM_F6 = device_creator<a26_rom_f6_device>;
-const device_type A26_ROM_F8 = device_creator<a26_rom_f8_device>;
-const device_type A26_ROM_F8_SW = device_creator<a26_rom_f8_sw_device>;
-const device_type A26_ROM_FA = device_creator<a26_rom_fa_device>;
-const device_type A26_ROM_FE = device_creator<a26_rom_fe_device>;
-const device_type A26_ROM_3E = device_creator<a26_rom_3e_device>;
-const device_type A26_ROM_3F = device_creator<a26_rom_3f_device>;
-const device_type A26_ROM_E0 = device_creator<a26_rom_e0_device>;
-const device_type A26_ROM_E7 = device_creator<a26_rom_e7_device>;
-const device_type A26_ROM_UA = device_creator<a26_rom_ua_device>;
-const device_type A26_ROM_CV = device_creator<a26_rom_cv_device>;
-const device_type A26_ROM_DC = device_creator<a26_rom_dc_device>;
-const device_type A26_ROM_FV = device_creator<a26_rom_fv_device>;
-const device_type A26_ROM_JVP = device_creator<a26_rom_jvp_device>;
-const device_type A26_ROM_4IN1 = device_creator<a26_rom_4in1_device>;
-const device_type A26_ROM_8IN1 = device_creator<a26_rom_8in1_device>;
-const device_type A26_ROM_32IN1 = device_creator<a26_rom_32in1_device>;
-const device_type A26_ROM_X07 = device_creator<a26_rom_x07_device>;
-
-
-a26_rom_2k_device::a26_rom_2k_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_vcs_cart_interface( mconfig, *this )
+DEFINE_DEVICE_TYPE(A26_ROM_2K, a26_rom_2k_device, "vcs_2k", "Atari VCS 2600 2K ROM Carts")
+DEFINE_DEVICE_TYPE(A26_ROM_4K, a26_rom_4k_device, "vcs_4k", "Atari VCS 2600 4K ROM Carts")
+DEFINE_DEVICE_TYPE(A26_ROM_F4, a26_rom_f4_device, "vcs_f4", "Atari VCS 2600 ROM Carts w/F4 bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_F6, a26_rom_f6_device, "vcs_f6", "Atari VCS 2600 ROM Carts w/F6 bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_F8, a26_rom_f8_device, "vcs_f8", "Atari VCS 2600 ROM Carts w/F8 bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_F8_SW, a26_rom_f8_sw_device, "vcs_f8_sw", "Atari VCS 2600 ROM Cart Snow White")
+DEFINE_DEVICE_TYPE(A26_ROM_FA, a26_rom_fa_device, "vcs_fa", "Atari VCS 2600 ROM Carts w/FA bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_FE, a26_rom_fe_device, "vcs_fe", "Atari VCS 2600 ROM Carts w/FE bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_3E, a26_rom_3e_device, "vcs_3e", "Atari VCS 2600 ROM Carts w/3E bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_3F, a26_rom_3f_device, "vcs_3f", "Atari VCS 2600 ROM Carts w/3F bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_E0, a26_rom_e0_device, "vcs_e0", "Atari VCS 2600 ROM Carts w/E0 bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_E7, a26_rom_e7_device, "vcs_e7", "Atari VCS 2600 ROM Carts w/E7 bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_UA, a26_rom_ua_device, "vcs_ua", "Atari VCS 2600 ROM Carts w/UA bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_CV, a26_rom_cv_device, "vcs_cv", "Atari VCS 2600 ROM Carts w/Commavid bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_DC, a26_rom_dc_device, "vcs_dc", "Atari VCS 2600 ROM Carts w/Dynacom bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_FV, a26_rom_fv_device, "vcs_fv", "Atari VCS 2600 ROM Carts w/FV bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_JVP, a26_rom_jvp_device, "vcs_jvp", "Atari VCS 2600 ROM Carts w/JVP bankswitch")
+DEFINE_DEVICE_TYPE(A26_ROM_4IN1, a26_rom_4in1_device, "vcs_4in1", "Atari VCS 2600 ROM Cart 4 in 1")
+DEFINE_DEVICE_TYPE(A26_ROM_8IN1, a26_rom_8in1_device, "vcs_8in1", "Atari VCS 2600 ROM Cart 8 in 1")
+DEFINE_DEVICE_TYPE(A26_ROM_32IN1, a26_rom_32in1_device, "vcs_32in1", "Atari VCS 2600 ROM Cart 32 in 1")
+DEFINE_DEVICE_TYPE(A26_ROM_X07, a26_rom_x07_device, "vcs_x07", "Atari VCS 2600 ROM Carts w/X07 bankswitch")
+
+
+a26_rom_2k_device::a26_rom_2k_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_vcs_cart_interface(mconfig, *this)
{
}
a26_rom_2k_device::a26_rom_2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, A26_ROM_2K, "Atari VCS 2600 2K ROM Carts", tag, owner, clock, "vcs_2k", __FILE__),
- device_vcs_cart_interface( mconfig, *this )
+ : a26_rom_2k_device(mconfig, A26_ROM_2K, tag, owner, clock)
{
}
a26_rom_4k_device::a26_rom_4k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_2k_device(mconfig, A26_ROM_4K, "Atari VCS 2600 4K ROM Carts", tag, owner, clock, "vcs_4k", __FILE__)
+ : a26_rom_2k_device(mconfig, A26_ROM_4K, tag, owner, clock)
{
}
-a26_rom_f6_device::a26_rom_f6_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : a26_rom_2k_device(mconfig, type, name, tag, owner, clock, shortname, source),
- m_base_bank(-1) // set to -1 to help the Xin1 multicart...
+a26_rom_f6_device::a26_rom_f6_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : a26_rom_2k_device(mconfig, type, tag, owner, clock)
+ , m_base_bank(-1) // set to -1 to help the Xin1 multicart...
{
}
a26_rom_f6_device::a26_rom_f6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_2k_device(mconfig, A26_ROM_F6, "Atari VCS 2600 ROM Carts w/F6 bankswitch", tag, owner, clock, "vcs_f6", __FILE__),
- m_base_bank(-1) // set to -1 to help the Xin1 multicart...
+ : a26_rom_f6_device(mconfig, A26_ROM_F6, tag, owner, clock)
{
}
a26_rom_f4_device::a26_rom_f4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_F4, "Atari VCS 2600 ROM Carts w/F4 bankswitch", tag, owner, clock, "vcs_f4", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_F4, tag, owner, clock)
{
}
-a26_rom_f8_device::a26_rom_f8_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : a26_rom_f6_device(mconfig, type, name, tag, owner, clock, shortname, source)
+a26_rom_f8_device::a26_rom_f8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : a26_rom_f6_device(mconfig, type, tag, owner, clock)
{
}
a26_rom_f8_device::a26_rom_f8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_F8, "Atari VCS 2600 ROM Carts w/F8 bankswitch", tag, owner, clock, "vcs_f8", __FILE__)
+ : a26_rom_f8_device(mconfig, A26_ROM_F8, tag, owner, clock)
{
}
a26_rom_f8_sw_device::a26_rom_f8_sw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f8_device(mconfig, A26_ROM_F8_SW, "Atari VCS 2600 ROM Cart Snow White", tag, owner, clock, "vcs_f8_sw", __FILE__)
+ : a26_rom_f8_device(mconfig, A26_ROM_F8_SW, tag, owner, clock)
{
}
a26_rom_fa_device::a26_rom_fa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_FA, "Atari VCS 2600 ROM Carts w/FA bankswitch", tag, owner, clock, "vcs_fa", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_FA, tag, owner, clock)
{
}
a26_rom_fe_device::a26_rom_fe_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_2k_device(mconfig, A26_ROM_FE, "Atari VCS 2600 ROM Carts w/FE bankswitch", tag, owner, clock, "vcs_fe", __FILE__), m_base_bank(0), m_trigger_on_next_access(0)
- {
+ : a26_rom_2k_device(mconfig, A26_ROM_FE, tag, owner, clock), m_base_bank(0), m_trigger_on_next_access(0)
+{
}
a26_rom_3e_device::a26_rom_3e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_3E, "Atari VCS 2600 ROM Carts w/3E bankswitch", tag, owner, clock, "vcs_3e", __FILE__), m_num_bank(0), m_ram_bank(0), m_ram_enable(0)
- {
+ : a26_rom_f6_device(mconfig, A26_ROM_3E, tag, owner, clock), m_num_bank(0), m_ram_bank(0), m_ram_enable(0)
+{
}
a26_rom_3f_device::a26_rom_3f_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_3F, "Atari VCS 2600 ROM Carts w/3F bankswitch", tag, owner, clock, "vcs_3f", __FILE__), m_num_bank(0)
- {
+ : a26_rom_f6_device(mconfig, A26_ROM_3F, tag, owner, clock), m_num_bank(0)
+{
}
a26_rom_e0_device::a26_rom_e0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_E0, "Atari VCS 2600 ROM Carts w/E0 bankswitch", tag, owner, clock, "vcs_e0", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_E0, tag, owner, clock)
{
}
a26_rom_e7_device::a26_rom_e7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_E7, "Atari VCS 2600 ROM Carts w/E7 bankswitch", tag, owner, clock, "vcs_e7", __FILE__), m_ram_bank(0)
- {
+ : a26_rom_f6_device(mconfig, A26_ROM_E7, tag, owner, clock), m_ram_bank(0)
+{
}
a26_rom_ua_device::a26_rom_ua_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_UA, "Atari VCS 2600 ROM Carts w/UA bankswitch", tag, owner, clock, "vcs_ua", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_UA, tag, owner, clock)
{
}
a26_rom_cv_device::a26_rom_cv_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_2k_device(mconfig, A26_ROM_CV, "Atari VCS 2600 ROM Carts w/Commavid bankswitch", tag, owner, clock, "vcs_cv", __FILE__)
+ : a26_rom_2k_device(mconfig, A26_ROM_CV, tag, owner, clock)
{
}
a26_rom_dc_device::a26_rom_dc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_DC, "Atari VCS 2600 ROM Carts w/Dynacom bankswitch", tag, owner, clock, "vcs_dc", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_DC, tag, owner, clock)
{
}
a26_rom_fv_device::a26_rom_fv_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_FV, "Atari VCS 2600 ROM Carts w/FV bankswitch", tag, owner, clock, "vcs_fv", __FILE__), m_locked(0)
- {
+ : a26_rom_f6_device(mconfig, A26_ROM_FV, tag, owner, clock), m_locked(0)
+{
}
a26_rom_jvp_device::a26_rom_jvp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_JVP, "Atari VCS 2600 ROM Carts w/JVP bankswitch", tag, owner, clock, "vcs_jvp", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_JVP, tag, owner, clock)
{
}
a26_rom_4in1_device::a26_rom_4in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_4IN1, "Atari VCS 2600 ROM Cart 4 in 1", tag, owner, clock, "vcs_4in1", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_4IN1, tag, owner, clock)
{
}
a26_rom_8in1_device::a26_rom_8in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f8_device(mconfig, A26_ROM_8IN1, "Atari VCS 2600 ROM Cart 8 in 1", tag, owner, clock, "vcs_8in1", __FILE__), m_reset_bank(0)
- {
+ : a26_rom_f8_device(mconfig, A26_ROM_8IN1, tag, owner, clock), m_reset_bank(0)
+{
}
a26_rom_32in1_device::a26_rom_32in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_32IN1, "Atari VCS 2600 ROM Cart 32 in 1", tag, owner, clock, "vcs_32in1", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_32IN1, tag, owner, clock)
{
}
a26_rom_x07_device::a26_rom_x07_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_X07, "Atari VCS 2600 ROM Carts w/X07 bankswitch", tag, owner, clock, "vcs_x07", __FILE__)
+ : a26_rom_f6_device(mconfig, A26_ROM_X07, tag, owner, clock)
{
}
diff --git a/src/devices/bus/vcs/rom.h b/src/devices/bus/vcs/rom.h
index faebae0cf74..01e730c03a6 100755
--- a/src/devices/bus/vcs/rom.h
+++ b/src/devices/bus/vcs/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VCS_ROM_H
-#define __VCS_ROM_H
+#ifndef MAME_BUS_VCS_ROM_H
+#define MAME_BUS_VCS_ROM_H
+
+#pragma once
#include "vcs_slot.h"
@@ -13,15 +15,17 @@ class a26_rom_2k_device : public device_t,
{
public:
// construction/destruction
- a26_rom_2k_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a26_rom_2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+protected:
+ a26_rom_2k_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
-
- // reading and writing
- virtual DECLARE_READ8_MEMBER(read_rom) override;
};
@@ -46,18 +50,19 @@ class a26_rom_f6_device : public a26_rom_2k_device
{
public:
// construction/destruction
- a26_rom_f6_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a26_rom_f6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
+ a26_rom_f6_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_base_bank;
};
@@ -70,12 +75,13 @@ public:
// construction/destruction
a26_rom_f4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+
+protected:
+ // device-level overrides
+ virtual void device_reset() override;
};
@@ -85,12 +91,14 @@ class a26_rom_f8_device : public a26_rom_f6_device
{
public:
// construction/destruction
- a26_rom_f8_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
a26_rom_f8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+
+protected:
+ a26_rom_f8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
@@ -102,6 +110,7 @@ public:
// construction/destruction
a26_rom_f8_sw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// device-level overrides
virtual void device_reset() override;
};
@@ -129,10 +138,6 @@ public:
// construction/destruction
a26_rom_fe_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_READ8_MEMBER(read_bank) override;
@@ -140,6 +145,10 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_base_bank;
int m_trigger_on_next_access;
};
@@ -153,16 +162,16 @@ public:
// construction/destruction
a26_rom_3e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_num_bank;
int m_ram_bank;
int m_ram_enable;
@@ -177,14 +186,14 @@ public:
// construction/destruction
a26_rom_3f_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
+ // device-level overrides
+ virtual void device_reset() override;
+
int m_num_bank;
};
@@ -197,15 +206,15 @@ public:
// construction/destruction
a26_rom_e0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_base_banks[4];
};
@@ -218,15 +227,15 @@ public:
// construction/destruction
a26_rom_e7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_ram_bank;
};
@@ -239,13 +248,14 @@ public:
// construction/destruction
a26_rom_ua_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_READ8_MEMBER(read_bank) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+
+protected:
+ // device-level overrides
+ virtual void device_reset() override;
};
@@ -285,15 +295,15 @@ public:
// construction/destruction
a26_rom_fv_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_locked;
};
@@ -320,11 +330,12 @@ public:
// construction/destruction
a26_rom_4in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+protected:
+ // device-level overrides
+ virtual void device_reset() override;
};
@@ -336,14 +347,14 @@ public:
// construction/destruction
a26_rom_8in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
int m_reset_bank;
};
@@ -356,11 +367,12 @@ public:
// construction/destruction
a26_rom_32in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+protected:
+ // device-level overrides
+ virtual void device_reset() override;
};
@@ -380,27 +392,27 @@ public:
// device type definition
-extern const device_type A26_ROM_2K;
-extern const device_type A26_ROM_4K;
-extern const device_type A26_ROM_F4;
-extern const device_type A26_ROM_F6;
-extern const device_type A26_ROM_F8;
-extern const device_type A26_ROM_F8_SW;
-extern const device_type A26_ROM_FA;
-extern const device_type A26_ROM_FE;
-extern const device_type A26_ROM_3E;
-extern const device_type A26_ROM_3F;
-extern const device_type A26_ROM_E0;
-extern const device_type A26_ROM_E7;
-extern const device_type A26_ROM_UA;
-extern const device_type A26_ROM_CV;
-extern const device_type A26_ROM_DC;
-extern const device_type A26_ROM_FV;
-extern const device_type A26_ROM_JVP;
-extern const device_type A26_ROM_4IN1;
-extern const device_type A26_ROM_8IN1;
-extern const device_type A26_ROM_32IN1;
-extern const device_type A26_ROM_X07;
-
-
-#endif
+DECLARE_DEVICE_TYPE(A26_ROM_2K, a26_rom_2k_device)
+DECLARE_DEVICE_TYPE(A26_ROM_4K, a26_rom_4k_device)
+DECLARE_DEVICE_TYPE(A26_ROM_F4, a26_rom_f4_device)
+DECLARE_DEVICE_TYPE(A26_ROM_F6, a26_rom_f6_device)
+DECLARE_DEVICE_TYPE(A26_ROM_F8, a26_rom_f8_device)
+DECLARE_DEVICE_TYPE(A26_ROM_F8_SW, a26_rom_f8_sw_device)
+DECLARE_DEVICE_TYPE(A26_ROM_FA, a26_rom_fa_device)
+DECLARE_DEVICE_TYPE(A26_ROM_FE, a26_rom_fe_device)
+DECLARE_DEVICE_TYPE(A26_ROM_3E, a26_rom_3e_device)
+DECLARE_DEVICE_TYPE(A26_ROM_3F, a26_rom_3f_device)
+DECLARE_DEVICE_TYPE(A26_ROM_E0, a26_rom_e0_device)
+DECLARE_DEVICE_TYPE(A26_ROM_E7, a26_rom_e7_device)
+DECLARE_DEVICE_TYPE(A26_ROM_UA, a26_rom_ua_device)
+DECLARE_DEVICE_TYPE(A26_ROM_CV, a26_rom_cv_device)
+DECLARE_DEVICE_TYPE(A26_ROM_DC, a26_rom_dc_device)
+DECLARE_DEVICE_TYPE(A26_ROM_FV, a26_rom_fv_device)
+DECLARE_DEVICE_TYPE(A26_ROM_JVP, a26_rom_jvp_device)
+DECLARE_DEVICE_TYPE(A26_ROM_4IN1, a26_rom_4in1_device)
+DECLARE_DEVICE_TYPE(A26_ROM_8IN1, a26_rom_8in1_device)
+DECLARE_DEVICE_TYPE(A26_ROM_32IN1, a26_rom_32in1_device)
+DECLARE_DEVICE_TYPE(A26_ROM_X07, a26_rom_x07_device)
+
+
+#endif // MAME_BUS_VCS_ROM_H
diff --git a/src/devices/bus/vcs/scharger.cpp b/src/devices/bus/vcs/scharger.cpp
index dc63e100ba9..05d6b006f30 100644
--- a/src/devices/bus/vcs/scharger.cpp
+++ b/src/devices/bus/vcs/scharger.cpp
@@ -37,12 +37,12 @@
#include "sound/wave.h"
#include "formats/a26_cas.h"
-const device_type A26_ROM_SUPERCHARGER = device_creator<a26_rom_ss_device>;
+DEFINE_DEVICE_TYPE(A26_ROM_SUPERCHARGER, a26_rom_ss_device, "a2600_ss", "Atari 2600 ROM Cart Supercharger")
a26_rom_ss_device::a26_rom_ss_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : a26_rom_f6_device(mconfig, A26_ROM_SUPERCHARGER, "Atari 2600 ROM Cart Supercharger", tag, owner, clock, "a2600_ss", __FILE__),
- m_cassette(*this, "cassette"),
+ : a26_rom_f6_device(mconfig, A26_ROM_SUPERCHARGER, tag, owner, clock),
+ m_cassette(*this, "cassette"),
m_maincpu(nullptr),
m_reg(0),
m_write_delay(0),
@@ -51,7 +51,7 @@ a26_rom_ss_device::a26_rom_ss_device(const machine_config &mconfig, const char *
m_byte_started(0),
m_last_address(0),
m_diff_adjust(0)
- {
+{
}
//-------------------------------------------------
diff --git a/src/devices/bus/vcs/scharger.h b/src/devices/bus/vcs/scharger.h
index d4c8b2d10bc..9aee1ecee2e 100644
--- a/src/devices/bus/vcs/scharger.h
+++ b/src/devices/bus/vcs/scharger.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VCS_SCHARGER_H
-#define __VCS_SCHARGER_H
+#ifndef MAME_BUS_VCS_SCHARGER_H
+#define MAME_BUS_VCS_SCHARGER_H
+
+#pragma once
#include "rom.h"
#include "imagedev/cassette.h"
@@ -18,17 +20,18 @@ public:
// construction/destruction
a26_rom_ss_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual machine_config_constructor device_mconfig_additions() const override;
- virtual void device_reset() override;
-
- required_device<cassette_image_device> m_cassette;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
private:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ required_device<cassette_image_device> m_cassette;
+
cpu_device *m_maincpu;
inline uint8_t read_byte(uint32_t offset);
@@ -42,6 +45,6 @@ private:
// device type definition
-extern const device_type A26_ROM_SUPERCHARGER;
+DECLARE_DEVICE_TYPE(A26_ROM_SUPERCHARGER, a26_rom_ss_device)
-#endif
+#endif // MAME_BUS_VCS_SCHARGER_H
diff --git a/src/devices/bus/vcs/vcs_slot.cpp b/src/devices/bus/vcs/vcs_slot.cpp
index f3ab23222d9..ec1c653be2a 100644
--- a/src/devices/bus/vcs/vcs_slot.cpp
+++ b/src/devices/bus/vcs/vcs_slot.cpp
@@ -22,7 +22,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VCS_CART_SLOT = device_creator<vcs_cart_slot_device>;
+DEFINE_DEVICE_TYPE(VCS_CART_SLOT, vcs_cart_slot_device, "vcs_cart_slot", "Atari VCS 2600 Cartridge Slot")
//-------------------------------------------------
@@ -78,9 +78,9 @@ void device_vcs_cart_interface::ram_alloc(uint32_t size)
// vcs_cart_slot_device - constructor
//-------------------------------------------------
vcs_cart_slot_device::vcs_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VCS_CART_SLOT, "Atari VCS 2600 Cartridge Slot", tag, owner, clock, "vcs_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this), m_cart(nullptr), m_type(0)
+ device_t(mconfig, VCS_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this), m_cart(nullptr), m_type(0)
{
}
diff --git a/src/devices/bus/vcs/vcs_slot.h b/src/devices/bus/vcs/vcs_slot.h
index 6ea83683c51..e62dcc2f71b 100755
--- a/src/devices/bus/vcs/vcs_slot.h
+++ b/src/devices/bus/vcs/vcs_slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VCS_SLOT_H
-#define __VCS_SLOT_H
+#ifndef MAME_BUS_VCS_VCS_SLOT_H
+#define MAME_BUS_VCS_VCS_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -48,19 +50,18 @@ class device_vcs_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_vcs_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_vcs_cart_interface();
// reading from ROM
virtual DECLARE_READ8_MEMBER(read_rom) { return 0xff; }
// writing to RAM chips (sometimes it is in a different range than write_bank!)
- virtual DECLARE_WRITE8_MEMBER(write_ram) {}
+ virtual DECLARE_WRITE8_MEMBER(write_ram) { }
// read/write to bankswitch address
virtual DECLARE_READ8_MEMBER(read_bank) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_bank) {}
+ virtual DECLARE_WRITE8_MEMBER(write_bank) { }
- virtual void setup_addon_ptr(uint8_t *ptr) {}
+ virtual void setup_addon_ptr(uint8_t *ptr) { }
void rom_alloc(uint32_t size, const char *tag);
void ram_alloc(uint32_t size);
@@ -70,6 +71,8 @@ public:
uint32_t get_ram_size() { return m_ram.size(); }
protected:
+ device_vcs_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -88,9 +91,6 @@ public:
vcs_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~vcs_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override;
@@ -118,6 +118,9 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_ram);
private:
+ // device-level overrides
+ virtual void device_start() override;
+
device_vcs_cart_interface* m_cart;
int m_type;
@@ -155,4 +158,4 @@ extern const device_type VCS_CART_SLOT;
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+#endif // MAME_BUS_VCS_VCS_SLOT_H
diff --git a/src/devices/bus/vcs_ctrl/ctrl.cpp b/src/devices/bus/vcs_ctrl/ctrl.cpp
index f68088de7bf..f25ef4f6545 100644
--- a/src/devices/bus/vcs_ctrl/ctrl.cpp
+++ b/src/devices/bus/vcs_ctrl/ctrl.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITION
//**************************************************************************
-const device_type VCS_CONTROL_PORT = device_creator<vcs_control_port_device>;
+DEFINE_DEVICE_TYPE(VCS_CONTROL_PORT, vcs_control_port_device, "vcs_control_port", "Atari VCS controller port")
@@ -44,7 +44,7 @@ device_vcs_control_port_interface::device_vcs_control_port_interface(const machi
//-------------------------------------------------
vcs_control_port_device::vcs_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VCS_CONTROL_PORT, "Atari VCS control port", tag, owner, clock, "vcs_control_port", __FILE__),
+ device_t(mconfig, VCS_CONTROL_PORT, tag, owner, clock),
device_slot_interface(mconfig, *this), m_device(nullptr),
m_write_trigger(*this)
{
diff --git a/src/devices/bus/vcs_ctrl/ctrl.h b/src/devices/bus/vcs_ctrl/ctrl.h
index 4d0de4e3972..bc018839989 100644
--- a/src/devices/bus/vcs_ctrl/ctrl.h
+++ b/src/devices/bus/vcs_ctrl/ctrl.h
@@ -9,10 +9,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_CVS_CTRL_CTRL_H
+#define MAME_BUS_CVS_CTRL_CTRL_H
-#ifndef __VCS_CONTROL_PORT__
-#define __VCS_CONTROL_PORT__
+#pragma once
@@ -68,10 +68,9 @@ class vcs_control_port_device : public device_t,
public:
// construction/destruction
vcs_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~vcs_control_port_device() { }
// static configuration helpers
- template<class _Object> static devcb_base &set_trigger_wr_callback(device_t &device, _Object object) { return downcast<vcs_control_port_device &>(device).m_write_trigger.set_callback(object); }
+ template <class Object> static devcb_base &set_trigger_wr_callback(device_t &device, Object &&cb) { return downcast<vcs_control_port_device &>(device).m_write_trigger.set_callback(std::forward<Object>(cb)); }
// computer interface
@@ -113,10 +112,8 @@ private:
// device type definition
-extern const device_type VCS_CONTROL_PORT;
+DECLARE_DEVICE_TYPE(VCS_CONTROL_PORT, vcs_control_port_device)
SLOT_INTERFACE_EXTERN( vcs_control_port_devices );
-
-
-#endif
+#endif // MAME_BUS_CVS_CTRL_CTRL_H
diff --git a/src/devices/bus/vcs_ctrl/joybooster.cpp b/src/devices/bus/vcs_ctrl/joybooster.cpp
index 8a731cc0ef1..9ea3b813ac1 100644
--- a/src/devices/bus/vcs_ctrl/joybooster.cpp
+++ b/src/devices/bus/vcs_ctrl/joybooster.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VCS_JOYSTICK_BOOSTER = device_creator<vcs_joystick_booster_device>;
+DEFINE_DEVICE_TYPE(VCS_JOYSTICK_BOOSTER, vcs_joystick_booster_device, "vcs_joystick_booster", "Atari / CBM Digital joystick with Boostergrip")
static INPUT_PORTS_START( vcs_joystick_booster )
@@ -58,7 +58,7 @@ ioport_constructor vcs_joystick_booster_device::device_input_ports() const
//-------------------------------------------------
vcs_joystick_booster_device::vcs_joystick_booster_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VCS_JOYSTICK_BOOSTER, "Atari / CBM Digital joystick with Boostergrip", tag, owner, clock, "vcs_joystick_booster", __FILE__),
+ device_t(mconfig, VCS_JOYSTICK_BOOSTER, tag, owner, clock),
device_vcs_control_port_interface(mconfig, *this),
m_joy(*this, "JOY"),
m_potx(*this, "POTX"),
diff --git a/src/devices/bus/vcs_ctrl/joybooster.h b/src/devices/bus/vcs_ctrl/joybooster.h
index bc5ecbda1c2..8b3cf922a1b 100644
--- a/src/devices/bus/vcs_ctrl/joybooster.h
+++ b/src/devices/bus/vcs_ctrl/joybooster.h
@@ -7,10 +7,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VCS_CTRL_JOYBOOSTER_H
+#define MAME_BUS_VCS_CTRL_JOYBOOSTER_H
-#ifndef __VCS_JOYSTICKBOOSTER__
-#define __VCS_JOYSTICKBOOSTER__
+#pragma once
#include "ctrl.h"
@@ -52,7 +52,6 @@ private:
// device type definition
-extern const device_type VCS_JOYSTICK_BOOSTER;
-
+DECLARE_DEVICE_TYPE(VCS_JOYSTICK_BOOSTER, vcs_joystick_booster_device)
-#endif
+#endif // MAME_BUS_VCS_CTRL_JOYBOOSTER_H
diff --git a/src/devices/bus/vcs_ctrl/joystick.cpp b/src/devices/bus/vcs_ctrl/joystick.cpp
index 87ae2f72aa6..c911f435a0c 100644
--- a/src/devices/bus/vcs_ctrl/joystick.cpp
+++ b/src/devices/bus/vcs_ctrl/joystick.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VCS_JOYSTICK = device_creator<vcs_joystick_device>;
+DEFINE_DEVICE_TYPE(VCS_JOYSTICK, vcs_joystick_device, "vcs_joystick", "Atari / CBM Digital joystick")
static INPUT_PORTS_START( vcs_joystick )
@@ -49,7 +49,7 @@ ioport_constructor vcs_joystick_device::device_input_ports() const
//-------------------------------------------------
vcs_joystick_device::vcs_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VCS_JOYSTICK, "Atari / CBM Digital joystick", tag, owner, clock, "vcs_joystick", __FILE__),
+ device_t(mconfig, VCS_JOYSTICK, tag, owner, clock),
device_vcs_control_port_interface(mconfig, *this),
m_joy(*this, "JOY")
{
diff --git a/src/devices/bus/vcs_ctrl/joystick.h b/src/devices/bus/vcs_ctrl/joystick.h
index 1f7663cd3b5..dcae27d2965 100644
--- a/src/devices/bus/vcs_ctrl/joystick.h
+++ b/src/devices/bus/vcs_ctrl/joystick.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VCS_CTRL_JOYSTICK_H
+#define MAME_BUS_VCS_CTRL_JOYSTICK_H
-#ifndef __VCS_JOYSTICK__
-#define __VCS_JOYSTICK__
+#pragma once
#include "ctrl.h"
@@ -44,7 +44,7 @@ private:
// device type definition
-extern const device_type VCS_JOYSTICK;
+DECLARE_DEVICE_TYPE(VCS_JOYSTICK, vcs_joystick_device)
-#endif
+#endif // MAME_BUS_VCS_CTRL_JOYSTICK_H
diff --git a/src/devices/bus/vcs_ctrl/keypad.cpp b/src/devices/bus/vcs_ctrl/keypad.cpp
index 7c8b0f0104a..97a43253c08 100644
--- a/src/devices/bus/vcs_ctrl/keypad.cpp
+++ b/src/devices/bus/vcs_ctrl/keypad.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VCS_KEYPAD = device_creator<vcs_keypad_device>;
+DEFINE_DEVICE_TYPE(VCS_KEYPAD, vcs_keypad_device, "vcs_keypad", "Atari / CBM Keypad")
static INPUT_PORTS_START( vcs_keypad )
@@ -55,9 +55,10 @@ ioport_constructor vcs_keypad_device::device_input_ports() const
//-------------------------------------------------
vcs_keypad_device::vcs_keypad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VCS_KEYPAD, "Atari / CBM Keypad", tag, owner, clock, "vcs_keypad", __FILE__),
+ device_t(mconfig, VCS_KEYPAD, tag, owner, clock),
device_vcs_control_port_interface(mconfig, *this),
- m_keypad(*this, "KEYPAD"), m_column(0)
+ m_keypad(*this, "KEYPAD"),
+ m_column(0)
{
}
diff --git a/src/devices/bus/vcs_ctrl/keypad.h b/src/devices/bus/vcs_ctrl/keypad.h
index 71ad42999cc..37733cc135c 100644
--- a/src/devices/bus/vcs_ctrl/keypad.h
+++ b/src/devices/bus/vcs_ctrl/keypad.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VCS_CTRL_KEYPAD_H
+#define MAME_BUS_VCS_CTRL_KEYPAD_H
-#ifndef __VCS_KEYPAD__
-#define __VCS_KEYPAD__
+#pragma once
#include "ctrl.h"
@@ -52,7 +52,6 @@ private:
// device type definition
-extern const device_type VCS_KEYPAD;
-
+DECLARE_DEVICE_TYPE(VCS_KEYPAD, vcs_keypad_device)
-#endif
+#endif // MAME_BUS_VCS_CTRL_KEYPAD_H
diff --git a/src/devices/bus/vcs_ctrl/lightpen.cpp b/src/devices/bus/vcs_ctrl/lightpen.cpp
index fe129a9fe5c..6f67d4bd901 100644
--- a/src/devices/bus/vcs_ctrl/lightpen.cpp
+++ b/src/devices/bus/vcs_ctrl/lightpen.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VCS_LIGHTPEN = device_creator<vcs_lightpen_device>;
+DEFINE_DEVICE_TYPE(VCS_LIGHTPEN, vcs_lightpen_device, "vcs_lightpen", "Atari / CBM Light Pen")
INPUT_CHANGED_MEMBER( vcs_lightpen_device::trigger )
@@ -58,7 +58,7 @@ ioport_constructor vcs_lightpen_device::device_input_ports() const
//-------------------------------------------------
vcs_lightpen_device::vcs_lightpen_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VCS_LIGHTPEN, "Atari / CBM Light Pen", tag, owner, clock, "vcs_lightpen", __FILE__),
+ device_t(mconfig, VCS_LIGHTPEN, tag, owner, clock),
device_vcs_control_port_interface(mconfig, *this),
m_joy(*this, "JOY"),
m_lightx(*this, "LIGHTX"),
diff --git a/src/devices/bus/vcs_ctrl/lightpen.h b/src/devices/bus/vcs_ctrl/lightpen.h
index 5c2a132ea4e..f0b2805bdd6 100644
--- a/src/devices/bus/vcs_ctrl/lightpen.h
+++ b/src/devices/bus/vcs_ctrl/lightpen.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VCS_CTRL_LIGHTPEN_H
+#define MAME_BUS_VCS_CTRL_LIGHTPEN_H
-#ifndef __VCS_LIGHTPEN__
-#define __VCS_LIGHTPEN__
+#pragma once
#include "ctrl.h"
@@ -48,7 +48,6 @@ private:
// device type definition
-extern const device_type VCS_LIGHTPEN;
-
+DECLARE_DEVICE_TYPE(VCS_LIGHTPEN, vcs_lightpen_device)
-#endif
+#endif // MAME_BUS_VCS_CTRL_LIGHTPEN_H
diff --git a/src/devices/bus/vcs_ctrl/paddles.cpp b/src/devices/bus/vcs_ctrl/paddles.cpp
index 17ee8c854eb..09e7a0d26a5 100644
--- a/src/devices/bus/vcs_ctrl/paddles.cpp
+++ b/src/devices/bus/vcs_ctrl/paddles.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VCS_PADDLES = device_creator<vcs_paddles_device>;
+DEFINE_DEVICE_TYPE(VCS_PADDLES, vcs_paddles_device, "vcs_paddles", "Atari / CBM Dual paddles")
static INPUT_PORTS_START( vcs_paddles )
@@ -52,7 +52,7 @@ ioport_constructor vcs_paddles_device::device_input_ports() const
//-------------------------------------------------
vcs_paddles_device::vcs_paddles_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VCS_PADDLES, "Atari / CBM Digital paddles", tag, owner, clock, "vcs_paddles", __FILE__),
+ device_t(mconfig, VCS_PADDLES, tag, owner, clock),
device_vcs_control_port_interface(mconfig, *this),
m_joy(*this, "JOY"),
m_potx(*this, "POTX"),
diff --git a/src/devices/bus/vcs_ctrl/paddles.h b/src/devices/bus/vcs_ctrl/paddles.h
index c6b4b2db1ce..e88084066ee 100644
--- a/src/devices/bus/vcs_ctrl/paddles.h
+++ b/src/devices/bus/vcs_ctrl/paddles.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VCS_CTRL_PADDLES_H
+#define MAME_BUS_VCS_CTRL_PADDLES_H
-#ifndef __VCS_PADDLES__
-#define __VCS_PADDLES__
+#pragma once
#include "ctrl.h"
@@ -51,7 +51,6 @@ private:
// device type definition
-extern const device_type VCS_PADDLES;
-
+DECLARE_DEVICE_TYPE(VCS_PADDLES, vcs_paddles_device)
-#endif
+#endif // MAME_BUS_VCS_CTRL_PADDLES_H
diff --git a/src/devices/bus/vcs_ctrl/wheel.cpp b/src/devices/bus/vcs_ctrl/wheel.cpp
index 2bff2cb5698..76e86530cf8 100644
--- a/src/devices/bus/vcs_ctrl/wheel.cpp
+++ b/src/devices/bus/vcs_ctrl/wheel.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VCS_WHEEL = device_creator<vcs_wheel_device>;
+DEFINE_DEVICE_TYPE(VCS_WHEEL, vcs_wheel_device, "vcs_wheel", "Atari / CBM Driving Wheel")
static INPUT_PORTS_START( vcs_wheel )
@@ -48,7 +48,7 @@ ioport_constructor vcs_wheel_device::device_input_ports() const
//-------------------------------------------------
vcs_wheel_device::vcs_wheel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VCS_WHEEL, "Atari / CBM Driving Wheel", tag, owner, clock, "vcs_wheel", __FILE__),
+ device_t(mconfig, VCS_WHEEL, tag, owner, clock),
device_vcs_control_port_interface(mconfig, *this),
m_joy(*this, "JOY"),
m_wheel(*this, "WHEEL")
diff --git a/src/devices/bus/vcs_ctrl/wheel.h b/src/devices/bus/vcs_ctrl/wheel.h
index 91b0c836929..369afe7c614 100644
--- a/src/devices/bus/vcs_ctrl/wheel.h
+++ b/src/devices/bus/vcs_ctrl/wheel.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VCS_CTRL_WHEEL_H
+#define MAME_BUS_VCS_CTRL_WHEEL_H
-#ifndef __VCS_WHEEL__
-#define __VCS_WHEEL__
+#pragma once
#include "ctrl.h"
@@ -45,7 +45,6 @@ private:
// device type definition
-extern const device_type VCS_WHEEL;
-
+DECLARE_DEVICE_TYPE(VCS_WHEEL, vcs_wheel_device)
-#endif
+#endif // MAME_BUS_VCS_CTRL_WHEEL_H
diff --git a/src/devices/bus/vectrex/rom.cpp b/src/devices/bus/vectrex/rom.cpp
index e4f53eb8e1d..54697fe34b3 100644
--- a/src/devices/bus/vectrex/rom.cpp
+++ b/src/devices/bus/vectrex/rom.cpp
@@ -20,30 +20,28 @@
// vectrex_rom_device - constructor
//-------------------------------------------------
-const device_type VECTREX_ROM_STD = device_creator<vectrex_rom_device>;
-const device_type VECTREX_ROM_64K = device_creator<vectrex_rom64k_device>;
-const device_type VECTREX_ROM_SRAM = device_creator<vectrex_sram_device>;
+DEFINE_DEVICE_TYPE(VECTREX_ROM_STD, vectrex_rom_device, "vectrex_rom", "Vectrex Standard Carts")
+DEFINE_DEVICE_TYPE(VECTREX_ROM_64K, vectrex_rom64k_device, "vectrex_64k", "Vectrex Carts w/Bankswitch")
+DEFINE_DEVICE_TYPE(VECTREX_ROM_SRAM, vectrex_sram_device, "vectrex_sram", "Vectrex Carts w/SRAM")
-vectrex_rom_device::vectrex_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_vectrex_cart_interface(mconfig, *this)
+vectrex_rom_device::vectrex_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_vectrex_cart_interface(mconfig, *this)
{
}
vectrex_rom_device::vectrex_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VECTREX_ROM_STD, "Vectrex Standard Carts", tag, owner, clock, "vectrex_rom", __FILE__),
- device_vectrex_cart_interface(mconfig, *this)
+ : vectrex_rom_device(mconfig, VECTREX_ROM_STD, tag, owner, clock)
{
}
vectrex_rom64k_device::vectrex_rom64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vectrex_rom_device(mconfig, VECTREX_ROM_64K, "Vectrex Carts w/ Bankswitch", tag, owner, clock, "vectrex_64k", __FILE__), m_bank(0)
- {
+ : vectrex_rom_device(mconfig, VECTREX_ROM_64K, tag, owner, clock), m_bank(0)
+{
}
vectrex_sram_device::vectrex_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vectrex_rom_device(mconfig, VECTREX_ROM_SRAM, "Vectrex Carts w/ SRAM", tag, owner, clock, "vectrex_sram", __FILE__)
+ : vectrex_rom_device(mconfig, VECTREX_ROM_SRAM, tag, owner, clock)
{
}
diff --git a/src/devices/bus/vectrex/rom.h b/src/devices/bus/vectrex/rom.h
index 4ef56d8f58d..375db83315c 100644
--- a/src/devices/bus/vectrex/rom.h
+++ b/src/devices/bus/vectrex/rom.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VECTREX_ROM_H
-#define __VECTREX_ROM_H
+#ifndef MAME_BUS_VECTREX_ROM_H
+#define MAME_BUS_VECTREX_ROM_H
+
+#pragma once
#include "slot.h"
@@ -13,15 +15,17 @@ class vectrex_rom_device : public device_t,
{
public:
// construction/destruction
- vectrex_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
vectrex_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override {}
- virtual void device_reset() override {}
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+protected:
+ vectrex_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
};
// ======================> vectrex_rom64k_device
@@ -32,14 +36,15 @@ public:
// construction/destruction
vectrex_rom64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
int m_bank;
};
@@ -59,9 +64,8 @@ public:
// device type definition
-extern const device_type VECTREX_ROM_STD;
-extern const device_type VECTREX_ROM_64K;
-extern const device_type VECTREX_ROM_SRAM;
-
+DECLARE_DEVICE_TYPE(VECTREX_ROM_STD, vectrex_rom_device)
+DECLARE_DEVICE_TYPE(VECTREX_ROM_64K, vectrex_rom64k_device)
+DECLARE_DEVICE_TYPE(VECTREX_ROM_SRAM, vectrex_sram_device)
-#endif
+#endif // MAME_BUS_VECTREX_ROM_H
diff --git a/src/devices/bus/vectrex/slot.cpp b/src/devices/bus/vectrex/slot.cpp
index 60fadce1193..43f39178a49 100644
--- a/src/devices/bus/vectrex/slot.cpp
+++ b/src/devices/bus/vectrex/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VECTREX_CART_SLOT = device_creator<vectrex_cart_slot_device>;
+DEFINE_DEVICE_TYPE(VECTREX_CART_SLOT, vectrex_cart_slot_device, "vectrex_cart_slot", "GCE Vectrex Cartridge Slot")
//**************************************************************************
// Vectrex Cartridges Interface
@@ -63,11 +63,12 @@ void device_vectrex_cart_interface::rom_alloc(uint32_t size, const char *tag)
// vectrex_cart_slot_device - constructor
//-------------------------------------------------
vectrex_cart_slot_device::vectrex_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VECTREX_CART_SLOT, "GCE Vectrex Cartridge Slot", tag, owner, clock, "vectrex_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(VECTREX_STD),
- m_vec3d(VEC3D_NONE), m_cart(nullptr)
+ device_t(mconfig, VECTREX_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(VECTREX_STD),
+ m_vec3d(VEC3D_NONE),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/vectrex/slot.h b/src/devices/bus/vectrex/slot.h
index 22fa385fc60..605e273875f 100644
--- a/src/devices/bus/vectrex/slot.h
+++ b/src/devices/bus/vectrex/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __VECTREX_SLOT_H
-#define __VECTREX_SLOT_H
+#ifndef MAME_BUS_VECTREX_SLOT_H
+#define MAME_BUS_VECTREX_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -34,19 +36,20 @@ class device_vectrex_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_vectrex_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_vectrex_cart_interface();
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_ram) {}
- virtual DECLARE_WRITE8_MEMBER(write_bank) {}
+ virtual DECLARE_WRITE8_MEMBER(write_ram) { }
+ virtual DECLARE_WRITE8_MEMBER(write_bank) { }
void rom_alloc(uint32_t size, const char *tag);
uint8_t* get_rom_base() { return m_rom; }
uint32_t get_rom_size() { return m_rom_size; }
protected:
+ device_vectrex_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -64,12 +67,9 @@ public:
vectrex_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~vectrex_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
- virtual void call_unload() override {}
+ virtual void call_unload() override { }
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
int get_type() { return m_type; }
@@ -93,6 +93,8 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_bank);
protected:
+ // device-level overrides
+ virtual void device_start() override;
int m_type, m_vec3d;
device_vectrex_cart_interface* m_cart;
@@ -101,7 +103,7 @@ protected:
// device type definition
-extern const device_type VECTREX_CART_SLOT;
+DECLARE_DEVICE_TYPE(VECTREX_CART_SLOT, vectrex_cart_slot_device)
/***************************************************************************
@@ -113,4 +115,5 @@ extern const device_type VECTREX_CART_SLOT;
#define MCFG_VECTREX_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, VECTREX_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+#endif // MAME_BUS_VECTREX_SLOT_H
diff --git a/src/devices/bus/vic10/exp.cpp b/src/devices/bus/vic10/exp.cpp
index 75237c2e4b5..c4f7c3daeae 100644
--- a/src/devices/bus/vic10/exp.cpp
+++ b/src/devices/bus/vic10/exp.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC10_EXPANSION_SLOT = device_creator<vic10_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(VIC10_EXPANSION_SLOT, vic10_expansion_slot_device, "vic10_expansion_slot", "VIC-10 expansion port")
@@ -57,13 +57,14 @@ device_vic10_expansion_card_interface::~device_vic10_expansion_card_interface()
//-------------------------------------------------
vic10_expansion_slot_device::vic10_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIC10_EXPANSION_SLOT, "VIC-10 expansion port", tag, owner, clock, "vic10_expansion_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- device_image_interface(mconfig, *this),
- m_write_irq(*this),
- m_write_res(*this),
- m_write_cnt(*this),
- m_write_sp(*this), m_card(nullptr)
+ device_t(mconfig, VIC10_EXPANSION_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ device_image_interface(mconfig, *this),
+ m_write_irq(*this),
+ m_write_res(*this),
+ m_write_cnt(*this),
+ m_write_sp(*this),
+ m_card(nullptr)
{
}
diff --git a/src/devices/bus/vic10/exp.h b/src/devices/bus/vic10/exp.h
index cf9ac72516b..81135fef1f6 100644
--- a/src/devices/bus/vic10/exp.h
+++ b/src/devices/bus/vic10/exp.h
@@ -31,10 +31,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC10_EXP_H
+#define MAME_BUS_VIC10_EXP_H
-#ifndef __VIC10_EXPANSION_SLOT__
-#define __VIC10_EXPANSION_SLOT__
+#pragma once
#include "softlist_dev.h"
#include "formats/cbm_crt.h"
@@ -94,10 +94,10 @@ public:
// construction/destruction
vic10_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
- template<class _Object> static devcb_base &set_res_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_res.set_callback(object); }
- template<class _Object> static devcb_base &set_cnt_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_cnt.set_callback(object); }
- template<class _Object> static devcb_base &set_sp_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_sp.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<vic10_expansion_slot_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_res_wr_callback(device_t &device, Object &&cb) { return downcast<vic10_expansion_slot_device &>(device).m_write_res.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_cnt_wr_callback(device_t &device, Object &&cb) { return downcast<vic10_expansion_slot_device &>(device).m_write_cnt.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_sp_wr_callback(device_t &device, Object &&cb) { return downcast<vic10_expansion_slot_device &>(device).m_write_sp.set_callback(std::forward<Object>(cb)); }
// computer interface
uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram);
@@ -151,17 +151,18 @@ class device_vic10_expansion_card_interface : public device_slot_card_interface
public:
// construction/destruction
- device_vic10_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_vic10_expansion_card_interface();
- virtual uint8_t vic10_cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) { return data; };
- virtual void vic10_cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) { };
- virtual int vic10_p0_r() { return 0; };
- virtual void vic10_p0_w(int state) { };
- virtual void vic10_sp_w(int state) { };
- virtual void vic10_cnt_w(int state) { };
+ virtual uint8_t vic10_cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) { return data; }
+ virtual void vic10_cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) { }
+ virtual int vic10_p0_r() { return 0; }
+ virtual void vic10_p0_w(int state) { }
+ virtual void vic10_sp_w(int state) { }
+ virtual void vic10_cnt_w(int state) { }
protected:
+ device_vic10_expansion_card_interface(const machine_config &mconfig, device_t &device);
+
optional_shared_ptr<uint8_t> m_lorom;
optional_shared_ptr<uint8_t> m_exram;
optional_shared_ptr<uint8_t> m_uprom;
@@ -171,11 +172,9 @@ protected:
// device type definition
-extern const device_type VIC10_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(VIC10_EXPANSION_SLOT, vic10_expansion_slot_device)
SLOT_INTERFACE_EXTERN( vic10_expansion_cards );
-
-
-#endif
+#endif // MAME_BUS_VIC10_EXP_H
diff --git a/src/devices/bus/vic10/std.cpp b/src/devices/bus/vic10/std.cpp
index 28d9530494f..0257ea11d98 100644
--- a/src/devices/bus/vic10/std.cpp
+++ b/src/devices/bus/vic10/std.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC10_STD = device_creator<vic10_standard_cartridge_device>;
+DEFINE_DEVICE_TYPE(VIC10_STD, vic10_standard_cartridge_device, "vic10_standard", "VIC-10 Standard Cartridge")
@@ -28,8 +28,7 @@ const device_type VIC10_STD = device_creator<vic10_standard_cartridge_device>;
//-------------------------------------------------
vic10_standard_cartridge_device::vic10_standard_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VIC10_STD, "VIC-10 Standard Cartridge", tag, owner, clock, "vic10_standard", __FILE__),
- device_vic10_expansion_card_interface(mconfig, *this)
+ : device_t(mconfig, VIC10_STD, tag, owner, clock), device_vic10_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/vic10/std.h b/src/devices/bus/vic10/std.h
index b95391f8cb5..05480365eb2 100644
--- a/src/devices/bus/vic10/std.h
+++ b/src/devices/bus/vic10/std.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC10_STD_H
+#define MAME_BUS_VIC10_STD_H
-#ifndef __VIC10_STD__
-#define __VIC10_STD__
+#pragma once
#include "exp.h"
@@ -40,7 +40,6 @@ protected:
// device type definition
extern const device_type VIC10_STD;
+DECLARE_DEVICE_TYPE(VIC10_STD, vic10_standard_cartridge_device)
-
-
-#endif
+#endif // MAME_BUS_VIC10_STD_H
diff --git a/src/devices/bus/vic20/4cga.cpp b/src/devices/bus/vic20/4cga.cpp
index ede850ed5be..f806598433a 100644
--- a/src/devices/bus/vic20/4cga.cpp
+++ b/src/devices/bus/vic20/4cga.cpp
@@ -18,7 +18,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type C64_4CGA = device_creator<c64_4cga_device>;
+DEFINE_DEVICE_TYPE(C64_4CGA, c64_4cga_device, "c64_4cga", "C64 Protovision 4 Player Interface")
static INPUT_PORTS_START( c64_4player )
@@ -60,7 +60,7 @@ ioport_constructor c64_4cga_device::device_input_ports() const
//-------------------------------------------------
c64_4cga_device::c64_4cga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, C64_4CGA, "C64 Protovision 4 Player Interface", tag, owner, clock, "c64_4cga", __FILE__),
+ device_t(mconfig, C64_4CGA, tag, owner, clock),
device_pet_user_port_interface(mconfig, *this),
m_port(0),
m_joy3(0xf),
diff --git a/src/devices/bus/vic20/4cga.h b/src/devices/bus/vic20/4cga.h
index 0e2cee4bec5..b4e1ada9a05 100644
--- a/src/devices/bus/vic20/4cga.h
+++ b/src/devices/bus/vic20/4cga.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_4CGA_H
+#define MAME_BUS_VIC20_4CGA_H
-#ifndef __C64_4CGA__
-#define __C64_4CGA__
+#pragma once
#include "user.h"
@@ -59,7 +59,7 @@ private:
// device type definition
-extern const device_type C64_4CGA;
+DECLARE_DEVICE_TYPE(C64_4CGA, c64_4cga_device)
-#endif
+#endif // MAME_BUS_VIC20_4CGA_H
diff --git a/src/devices/bus/vic20/exp.cpp b/src/devices/bus/vic20/exp.cpp
index 7621310b5c1..535375536be 100644
--- a/src/devices/bus/vic20/exp.cpp
+++ b/src/devices/bus/vic20/exp.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC20_EXPANSION_SLOT = device_creator<vic20_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(VIC20_EXPANSION_SLOT, vic20_expansion_slot_device, "vic20_expansion_slot", "VIC-20 expansion port")
@@ -58,12 +58,13 @@ device_vic20_expansion_card_interface::~device_vic20_expansion_card_interface()
//-------------------------------------------------
vic20_expansion_slot_device::vic20_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIC20_EXPANSION_SLOT, "VIC-20 expansion port", tag, owner, clock, "vic20_expansion_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- device_image_interface(mconfig, *this),
- m_write_irq(*this),
- m_write_nmi(*this),
- m_write_res(*this), m_card(nullptr)
+ device_t(mconfig, VIC20_EXPANSION_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ device_image_interface(mconfig, *this),
+ m_write_irq(*this),
+ m_write_nmi(*this),
+ m_write_res(*this),
+ m_card(nullptr)
{
}
diff --git a/src/devices/bus/vic20/exp.h b/src/devices/bus/vic20/exp.h
index 10eccc7c6b1..12c958598f0 100644
--- a/src/devices/bus/vic20/exp.h
+++ b/src/devices/bus/vic20/exp.h
@@ -31,10 +31,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_EXP_H
+#define MAME_BUS_VIC20_EXP_H
-#ifndef __VIC20_EXPANSION_SLOT__
-#define __VIC20_EXPANSION_SLOT__
+#pragma once
#include "softlist_dev.h"
@@ -89,9 +89,9 @@ public:
// construction/destruction
vic20_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<vic20_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
- template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<vic20_expansion_slot_device &>(device).m_write_nmi.set_callback(object); }
- template<class _Object> static devcb_base &set_res_wr_callback(device_t &device, _Object object) { return downcast<vic20_expansion_slot_device &>(device).m_write_res.set_callback(object); }
+ template <class Object> static devcb_base &set_irq_wr_callback(device_t &device, Object &&cb) { return downcast<vic20_expansion_slot_device &>(device).m_write_irq.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_nmi_wr_callback(device_t &device, Object &&cb) { return downcast<vic20_expansion_slot_device &>(device).m_write_nmi.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_res_wr_callback(device_t &device, Object &&cb) { return downcast<vic20_expansion_slot_device &>(device).m_write_res.set_callback(std::forward<Object>(cb)); }
// computer interface
uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3);
@@ -141,13 +141,14 @@ class device_vic20_expansion_card_interface : public device_slot_card_interface
public:
// construction/destruction
- device_vic20_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_vic20_expansion_card_interface();
virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) { return data; };
virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) { };
protected:
+ device_vic20_expansion_card_interface(const machine_config &mconfig, device_t &device);
+
optional_shared_ptr<uint8_t> m_blk1;
optional_shared_ptr<uint8_t> m_blk2;
optional_shared_ptr<uint8_t> m_blk3;
@@ -160,10 +161,9 @@ protected:
// device type definition
extern const device_type VIC20_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(VIC20_EXPANSION_SLOT, vic20_expansion_slot_device)
SLOT_INTERFACE_EXTERN( vic20_expansion_cards );
-
-
-#endif
+#endif // MAME_BUS_VIC20_EXP_H
diff --git a/src/devices/bus/vic20/fe3.cpp b/src/devices/bus/vic20/fe3.cpp
index dbe03de0183..5b4b78af977 100644
--- a/src/devices/bus/vic20/fe3.cpp
+++ b/src/devices/bus/vic20/fe3.cpp
@@ -56,7 +56,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC20_FE3 = device_creator<vic20_final_expansion_3_t>;
+DEFINE_DEVICE_TYPE(VIC20_FE3, vic20_final_expansion_3_device, "vic20_fe3", "Final Expansion v3")
//-------------------------------------------------
@@ -76,7 +76,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *vic20_final_expansion_3_t::device_rom_region() const
+const tiny_rom_entry *vic20_final_expansion_3_device::device_rom_region() const
{
return ROM_NAME( vic20_fe3 );
}
@@ -96,7 +96,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor vic20_final_expansion_3_t::device_mconfig_additions() const
+machine_config_constructor vic20_final_expansion_3_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( vic20_fe3 );
}
@@ -108,11 +108,11 @@ machine_config_constructor vic20_final_expansion_3_t::device_mconfig_additions()
//**************************************************************************
//-------------------------------------------------
-// vic20_final_expansion_3_t - constructor
+// vic20_final_expansion_3_device - constructor
//-------------------------------------------------
-vic20_final_expansion_3_t::vic20_final_expansion_3_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIC20_FE3, "Final Expansion v3", tag, owner, clock, "vic20_fe3", __FILE__),
+vic20_final_expansion_3_device::vic20_final_expansion_3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VIC20_FE3, tag, owner, clock),
device_vic20_expansion_card_interface(mconfig, *this),
m_flash_rom(*this, AM29F040_TAG),
m_ram(*this, "sram"), m_reg1(0), m_reg2(0), m_lockbit(0)
@@ -124,7 +124,7 @@ vic20_final_expansion_3_t::vic20_final_expansion_3_t(const machine_config &mconf
// device_start - device-specific startup
//-------------------------------------------------
-void vic20_final_expansion_3_t::device_start()
+void vic20_final_expansion_3_device::device_start()
{
m_ram.allocate(0x80000);
@@ -139,7 +139,7 @@ void vic20_final_expansion_3_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void vic20_final_expansion_3_t::device_reset()
+void vic20_final_expansion_3_device::device_reset()
{
m_reg1 = 0;
m_reg2 = 0;
@@ -150,7 +150,7 @@ void vic20_final_expansion_3_t::device_reset()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic20_final_expansion_3_t::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic20_final_expansion_3_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
switch (m_reg1 & REG1_MODE_MASK)
{
@@ -371,7 +371,7 @@ uint8_t vic20_final_expansion_3_t::vic20_cd_r(address_space &space, offs_t offse
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic20_final_expansion_3_t::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic20_final_expansion_3_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
switch (m_reg1 & REG1_MODE_MASK)
{
@@ -589,7 +589,7 @@ void vic20_final_expansion_3_t::vic20_cd_w(address_space &space, offs_t offset,
// get_address -
//-------------------------------------------------
-offs_t vic20_final_expansion_3_t::get_address(int bank, int block, offs_t offset)
+offs_t vic20_final_expansion_3_device::get_address(int bank, int block, offs_t offset)
{
block ^= (m_reg2 >> 5) & 0x03;
@@ -601,7 +601,7 @@ offs_t vic20_final_expansion_3_t::get_address(int bank, int block, offs_t offset
// read_register -
//-------------------------------------------------
-uint8_t vic20_final_expansion_3_t::read_register(offs_t offset)
+uint8_t vic20_final_expansion_3_device::read_register(offs_t offset)
{
uint8_t data = 0;
@@ -624,7 +624,7 @@ uint8_t vic20_final_expansion_3_t::read_register(offs_t offset)
// write_register -
//-------------------------------------------------
-void vic20_final_expansion_3_t::write_register(offs_t offset, uint8_t data)
+void vic20_final_expansion_3_device::write_register(offs_t offset, uint8_t data)
{
switch (offset)
{
diff --git a/src/devices/bus/vic20/fe3.h b/src/devices/bus/vic20/fe3.h
index 4e712b257af..24f9b954b87 100644
--- a/src/devices/bus/vic20/fe3.h
+++ b/src/devices/bus/vic20/fe3.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_FE3_H
+#define MAME_BUS_VIC20_FE3_H
-#ifndef __VIC20_FE3__
-#define __VIC20_FE3__
+#pragma once
#include "exp.h"
#include "machine/intelfsh.h"
@@ -20,14 +20,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> vic20_final_expansion_3_t
+// ======================> vic20_final_expansion_3_device
-class vic20_final_expansion_3_t : public device_t,
+class vic20_final_expansion_3_device : public device_t,
public device_vic20_expansion_card_interface
{
public:
// construction/destruction
- vic20_final_expansion_3_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vic20_final_expansion_3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -86,8 +86,6 @@ private:
// device type definition
-extern const device_type VIC20_FE3;
-
-
+DECLARE_DEVICE_TYPE(VIC20_FE3, vic20_final_expansion_3_device)
-#endif
+#endif // MAME_BUS_VIC20_FE3_H
diff --git a/src/devices/bus/vic20/megacart.cpp b/src/devices/bus/vic20/megacart.cpp
index 7186e6b405c..4b592a50714 100644
--- a/src/devices/bus/vic20/megacart.cpp
+++ b/src/devices/bus/vic20/megacart.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC20_MEGACART = device_creator<vic20_megacart_device>;
+DEFINE_DEVICE_TYPE(VIC20_MEGACART, vic20_megacart_device, "vic20_megacart", "VIC-20 Mega-Cart")
//-------------------------------------------------
@@ -48,10 +48,10 @@ machine_config_constructor vic20_megacart_device::device_mconfig_additions() con
//-------------------------------------------------
vic20_megacart_device::vic20_megacart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VIC20_MEGACART, "Mega-Cart", tag, owner, clock, "megacart", __FILE__),
- device_vic20_expansion_card_interface(mconfig, *this),
- device_nvram_interface(mconfig, *this),
- m_nvram_en(0)
+ : device_t(mconfig, VIC20_MEGACART, tag, owner, clock)
+ , device_vic20_expansion_card_interface(mconfig, *this)
+ , device_nvram_interface(mconfig, *this)
+ , m_nvram_en(0)
{
}
diff --git a/src/devices/bus/vic20/megacart.h b/src/devices/bus/vic20/megacart.h
index 8a35c468adb..a4de69ea228 100644
--- a/src/devices/bus/vic20/megacart.h
+++ b/src/devices/bus/vic20/megacart.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_MEGACART_H
+#define MAME_BUS_VIC20_MEGACART_H
-#ifndef __VIC20_MEGACART__
-#define __VIC20_MEGACART__
+#pragma once
#include "exp.h"
@@ -52,8 +52,6 @@ private:
// device type definition
-extern const device_type VIC20_MEGACART;
-
-
+DECLARE_DEVICE_TYPE(VIC20_MEGACART, vic20_megacart_device)
-#endif
+#endif // MAME_BUS_VIC20_MEGACART_H
diff --git a/src/devices/bus/vic20/speakeasy.cpp b/src/devices/bus/vic20/speakeasy.cpp
index 102c18bae8f..a5cfb0571d3 100644
--- a/src/devices/bus/vic20/speakeasy.cpp
+++ b/src/devices/bus/vic20/speakeasy.cpp
@@ -26,7 +26,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC20_SPEAKEASY = device_creator<vic20_speakeasy_t>;
+DEFINE_DEVICE_TYPE(VIC20_SPEAKEASY, vic20_speakeasy_device, "vic20_speakeasy", "PPP Speakeasy VIC-20")
//-------------------------------------------------
@@ -46,7 +46,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor vic20_speakeasy_t::device_mconfig_additions() const
+machine_config_constructor vic20_speakeasy_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( speakeasy );
}
@@ -58,11 +58,11 @@ machine_config_constructor vic20_speakeasy_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// vic20_speakeasy_t - constructor
+// vic20_speakeasy_device - constructor
//-------------------------------------------------
-vic20_speakeasy_t::vic20_speakeasy_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIC20_SPEAKEASY, "Speakeasy VIC20", tag, owner, clock, "speakeasyvic20", __FILE__),
+vic20_speakeasy_device::vic20_speakeasy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VIC20_SPEAKEASY, tag, owner, clock),
device_vic20_expansion_card_interface(mconfig, *this),
m_votrax(*this, SC01A_TAG)
{
@@ -73,7 +73,7 @@ vic20_speakeasy_t::vic20_speakeasy_t(const machine_config &mconfig, const char *
// device_start - device-specific startup
//-------------------------------------------------
-void vic20_speakeasy_t::device_start()
+void vic20_speakeasy_device::device_start()
{
}
@@ -82,7 +82,7 @@ void vic20_speakeasy_t::device_start()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic20_speakeasy_t::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic20_speakeasy_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!io2)
{
@@ -97,7 +97,7 @@ uint8_t vic20_speakeasy_t::vic20_cd_r(address_space &space, offs_t offset, uint8
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic20_speakeasy_t::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic20_speakeasy_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!io2)
{
diff --git a/src/devices/bus/vic20/speakeasy.h b/src/devices/bus/vic20/speakeasy.h
index 1db2180ecbd..09ccd0f315e 100644
--- a/src/devices/bus/vic20/speakeasy.h
+++ b/src/devices/bus/vic20/speakeasy.h
@@ -7,10 +7,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_SPEAKEASY_H
+#define MAME_BUS_VIC20_SPEAKEASY_H
-#ifndef __VIC20_SPEAKEASY__
-#define __VIC20_SPEAKEASY__
+#pragma once
#include "exp.h"
#include "sound/votrax.h"
@@ -21,14 +21,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> vic20_speakeasy_t
+// ======================> vic20_speakeasy_device
-class vic20_speakeasy_t : public device_t,
+class vic20_speakeasy_device : public device_t,
public device_vic20_expansion_card_interface
{
public:
// construction/destruction
- vic20_speakeasy_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vic20_speakeasy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -47,8 +47,6 @@ private:
// device type definition
-extern const device_type VIC20_SPEAKEASY;
-
-
+DECLARE_DEVICE_TYPE(VIC20_SPEAKEASY, vic20_speakeasy_device)
-#endif
+#endif // MAME_BUS_VIC20_SPEAKEASY_H
diff --git a/src/devices/bus/vic20/std.cpp b/src/devices/bus/vic20/std.cpp
index 26de8b6ef70..7b4823dfcdf 100644
--- a/src/devices/bus/vic20/std.cpp
+++ b/src/devices/bus/vic20/std.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC20_STD = device_creator<vic20_standard_cartridge_device>;
+DEFINE_DEVICE_TYPE(VIC20_STD, vic20_standard_cartridge_device, "vic20_standard", "VIC-20 Standard Cartridge")
@@ -28,8 +28,7 @@ const device_type VIC20_STD = device_creator<vic20_standard_cartridge_device>;
//-------------------------------------------------
vic20_standard_cartridge_device::vic20_standard_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VIC20_STD, "VIC-20 Standard Cartridge", tag, owner, clock, "vic20_standard", __FILE__),
- device_vic20_expansion_card_interface(mconfig, *this)
+ : device_t(mconfig, VIC20_STD, tag, owner, clock), device_vic20_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/vic20/std.h b/src/devices/bus/vic20/std.h
index fb006c62093..2362a9c1c4c 100644
--- a/src/devices/bus/vic20/std.h
+++ b/src/devices/bus/vic20/std.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_STD_H
+#define MAME_BUS_VIC20_STD_H
-#ifndef __VIC20_STD__
-#define __VIC20_STD__
+#pragma once
#include "exp.h"
@@ -38,8 +38,6 @@ protected:
// device type definition
-extern const device_type VIC20_STD;
-
-
+DECLARE_DEVICE_TYPE(VIC20_STD, vic20_standard_cartridge_device)
-#endif
+#endif // MAME_BUS_VIC20_STD_H
diff --git a/src/devices/bus/vic20/user.h b/src/devices/bus/vic20/user.h
index 2273a744917..a53fec7124b 100644
--- a/src/devices/bus/vic20/user.h
+++ b/src/devices/bus/vic20/user.h
@@ -21,13 +21,13 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_USER_H
+#define MAME_BUS_VIC20_USER_H
-#ifndef __VIC20_USER_PORT__
-#define __VIC20_USER_PORT__
+#pragma once
#include "bus/pet/user.h"
SLOT_INTERFACE_EXTERN( vic20_user_port_cards );
-#endif
+#endif // MAME_BUS_VIC20_USER_H
diff --git a/src/devices/bus/vic20/vic1010.cpp b/src/devices/bus/vic20/vic1010.cpp
index f2b2ec91219..1cec999f003 100644
--- a/src/devices/bus/vic20/vic1010.cpp
+++ b/src/devices/bus/vic20/vic1010.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC1010 = device_creator<vic1010_device>;
+DEFINE_DEVICE_TYPE(VIC1010, vic1010_device, "vic1010", "VIC-1010 Expansion Module")
//-------------------------------------------------
@@ -53,14 +53,9 @@ machine_config_constructor vic1010_device::device_mconfig_additions() const
//-------------------------------------------------
vic1010_device::vic1010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VIC1010, "VIC1010", tag, owner, clock, "vic1010", __FILE__),
- device_vic20_expansion_card_interface(mconfig, *this),
- m_slot1(*this, "slot1"),
- m_slot2(*this, "slot2"),
- m_slot3(*this, "slot3"),
- m_slot4(*this, "slot4"),
- m_slot5(*this, "slot5"),
- m_slot6(*this, "slot6")
+ : device_t(mconfig, VIC1010, tag, owner, clock)
+ , device_vic20_expansion_card_interface(mconfig, *this)
+ , m_expansion_slot(*this, "slot%u", 1)
{
}
@@ -71,13 +66,6 @@ vic1010_device::vic1010_device(const machine_config &mconfig, const char *tag, d
void vic1010_device::device_start()
{
- // find devices
- m_expansion_slot[0] = m_slot1;
- m_expansion_slot[1] = m_slot2;
- m_expansion_slot[2] = m_slot3;
- m_expansion_slot[3] = m_slot4;
- m_expansion_slot[4] = m_slot5;
- m_expansion_slot[5] = m_slot6;
}
diff --git a/src/devices/bus/vic20/vic1010.h b/src/devices/bus/vic20/vic1010.h
index 3c02789b436..77082de99bb 100644
--- a/src/devices/bus/vic20/vic1010.h
+++ b/src/devices/bus/vic20/vic1010.h
@@ -6,24 +6,16 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_VIC1010_H
+#define MAME_BUS_VIC20_VIC1010_H
-#ifndef __VIC1010__
-#define __VIC1010__
+#pragma once
#include "exp.h"
//**************************************************************************
-// MACROS/CONSTANTS
-//**************************************************************************
-
-#define MAX_SLOTS 6
-
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -49,20 +41,13 @@ protected:
virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override;
private:
- required_device<vic20_expansion_slot_device> m_slot1;
- required_device<vic20_expansion_slot_device> m_slot2;
- required_device<vic20_expansion_slot_device> m_slot3;
- required_device<vic20_expansion_slot_device> m_slot4;
- required_device<vic20_expansion_slot_device> m_slot5;
- required_device<vic20_expansion_slot_device> m_slot6;
-
- vic20_expansion_slot_device *m_expansion_slot[MAX_SLOTS];
+ static constexpr unsigned MAX_SLOTS = 6;
+
+ required_device_array<vic20_expansion_slot_device, MAX_SLOTS> m_expansion_slot;
};
// device type definition
-extern const device_type VIC1010;
-
-
+DECLARE_DEVICE_TYPE(VIC1010, vic1010_device)
-#endif
+#endif // MAME_BUS_VIC20_VIC1010_H
diff --git a/src/devices/bus/vic20/vic1011.cpp b/src/devices/bus/vic20/vic1011.cpp
index 5187fcdbf3a..8f022af6b57 100644
--- a/src/devices/bus/vic20/vic1011.cpp
+++ b/src/devices/bus/vic20/vic1011.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC1011 = device_creator<vic1011_device>;
+DEFINE_DEVICE_TYPE(VIC1011, vic1011_device, "vic1011", "VIC-1011 RS-232C")
//-------------------------------------------------
@@ -60,9 +60,9 @@ machine_config_constructor vic1011_device::device_mconfig_additions() const
//-------------------------------------------------
vic1011_device::vic1011_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VIC1011, "VIC1011", tag, owner, clock, "vic1011", __FILE__),
- device_pet_user_port_interface(mconfig, *this),
- m_rs232(*this, RS232_TAG)
+ : device_t(mconfig, VIC1011, tag, owner, clock)
+ , device_pet_user_port_interface(mconfig, *this)
+ , m_rs232(*this, RS232_TAG)
{
}
diff --git a/src/devices/bus/vic20/vic1011.h b/src/devices/bus/vic20/vic1011.h
index d3362b95d1a..5b76d2780d5 100644
--- a/src/devices/bus/vic20/vic1011.h
+++ b/src/devices/bus/vic20/vic1011.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_VIC1011_H
+#define MAME_BUS_VIC20_VIC1011_H
-#ifndef __VIC1011__
-#define __VIC1011__
+#pragma once
#include "user.h"
#include "bus/rs232/rs232.h"
@@ -54,4 +54,4 @@ extern const device_type VIC1011;
-#endif
+#endif // MAME_BUS_VIC20_VIC1011_H
diff --git a/src/devices/bus/vic20/vic1110.cpp b/src/devices/bus/vic20/vic1110.cpp
index 0d9ec595347..8edd2179bf9 100644
--- a/src/devices/bus/vic20/vic1110.cpp
+++ b/src/devices/bus/vic20/vic1110.cpp
@@ -28,7 +28,7 @@ enum
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC1110 = device_creator<vic1110_device>;
+DEFINE_DEVICE_TYPE(VIC1110, vic1110_device, "vic1110", "VIC-1110 8K RAM Expansion")
@@ -67,10 +67,10 @@ ioport_constructor vic1110_device::device_input_ports() const
//-------------------------------------------------
vic1110_device::vic1110_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VIC1110, "VIC1110", tag, owner, clock, "vic1110", __FILE__),
- device_vic20_expansion_card_interface(mconfig, *this),
- m_ram(*this, "ram"),
- m_sw(*this, "SW")
+ : device_t(mconfig, VIC1110, tag, owner, clock)
+ , device_vic20_expansion_card_interface(mconfig, *this)
+ , m_ram(*this, "ram")
+ , m_sw(*this, "SW")
{
}
diff --git a/src/devices/bus/vic20/vic1110.h b/src/devices/bus/vic20/vic1110.h
index 66d9cca2b32..05874804600 100644
--- a/src/devices/bus/vic20/vic1110.h
+++ b/src/devices/bus/vic20/vic1110.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_VIC1110_H
+#define MAME_BUS_VIC20_VIC1110_H
-#ifndef __VIC1110__
-#define __VIC1110__
+#pragma once
#include "exp.h"
@@ -47,7 +47,6 @@ private:
// device type definition
extern const device_type VIC1110;
+DECLARE_DEVICE_TYPE(VIC1110, vic1110_device)
-
-
-#endif
+#endif // MAME_BUS_VIC20_VIC1110_H
diff --git a/src/devices/bus/vic20/vic1111.cpp b/src/devices/bus/vic20/vic1111.cpp
index 8d6b0268429..ccfbabccd48 100644
--- a/src/devices/bus/vic20/vic1111.cpp
+++ b/src/devices/bus/vic20/vic1111.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC1111 = device_creator<vic1111_device>;
+DEFINE_DEVICE_TYPE(VIC1111, vic1111_device, "vic1111", "VIC-1111 16K RAM Expansion")
@@ -28,9 +28,9 @@ const device_type VIC1111 = device_creator<vic1111_device>;
//-------------------------------------------------
vic1111_device::vic1111_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VIC1111, "VIC1111", tag, owner, clock, "vic1111", __FILE__),
- device_vic20_expansion_card_interface(mconfig, *this),
- m_ram(*this, "ram")
+ : device_t(mconfig, VIC1111, tag, owner, clock)
+ , device_vic20_expansion_card_interface(mconfig, *this)
+ , m_ram(*this, "ram")
{
}
diff --git a/src/devices/bus/vic20/vic1111.h b/src/devices/bus/vic20/vic1111.h
index e3be916a985..21f439534e9 100644
--- a/src/devices/bus/vic20/vic1111.h
+++ b/src/devices/bus/vic20/vic1111.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_VIC1111_H
+#define MAME_BUS_VIC20_VIC1111_H
-#ifndef __VIC1111__
-#define __VIC1111__
+#pragma once
#include "exp.h"
@@ -42,8 +42,6 @@ private:
// device type definition
-extern const device_type VIC1111;
-
-
+DECLARE_DEVICE_TYPE(VIC1111, vic1111_device)
-#endif
+#endif // MAME_BUS_VIC20_VIC1111_H
diff --git a/src/devices/bus/vic20/vic1112.cpp b/src/devices/bus/vic20/vic1112.cpp
index 070da86db75..d8dbb158aae 100644
--- a/src/devices/bus/vic20/vic1112.cpp
+++ b/src/devices/bus/vic20/vic1112.cpp
@@ -24,7 +24,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC1112 = device_creator<vic1112_device>;
+DEFINE_DEVICE_TYPE(VIC1112, vic1112_device, "vic1112", "VIC-1112 IEEE-488 Interface")
WRITE_LINE_MEMBER( vic1112_device::via0_irq_w )
@@ -136,11 +136,12 @@ machine_config_constructor vic1112_device::device_mconfig_additions() const
//-------------------------------------------------
vic1112_device::vic1112_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VIC1112, "VIC1112", tag, owner, clock, "vic1112", __FILE__),
- device_vic20_expansion_card_interface(mconfig, *this),
- m_via0(*this, M6522_0_TAG),
- m_via1(*this, M6522_1_TAG),
- m_bus(*this, IEEE488_TAG), m_via0_irq(0), m_via1_irq(0)
+ : device_t(mconfig, VIC1112, tag, owner, clock)
+ , device_vic20_expansion_card_interface(mconfig, *this)
+ , m_via0(*this, M6522_0_TAG)
+ , m_via1(*this, M6522_1_TAG)
+ , m_bus(*this, IEEE488_TAG)
+ , m_via0_irq(0), m_via1_irq(0)
{
}
@@ -176,21 +177,12 @@ uint8_t vic1112_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t
{
if (!io2)
{
- if (offset & 0x10)
- {
- data = m_via1->read(space, offset & 0x0f);
- }
- else
- {
- data = m_via0->read(space, offset & 0x0f);
- }
+ data = (BIT(offset, 4) ? m_via1 : m_via0)->read(space, offset & 0x0f);
}
else if (!blk5)
{
if (offset & 0x1000)
- {
data = m_blk5[offset & 0x17ff];
- }
}
return data;
@@ -205,13 +197,6 @@ void vic1112_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t dat
{
if (!io2)
{
- if (offset & 0x10)
- {
- m_via1->write(space, offset & 0x0f, data);
- }
- else
- {
- m_via0->write(space, offset & 0x0f, data);
- }
+ (BIT(offset, 4) ? m_via1 : m_via0)->write(space, offset & 0x0f, data);
}
}
diff --git a/src/devices/bus/vic20/vic1112.h b/src/devices/bus/vic20/vic1112.h
index fe8cea87b2c..cb6de5bbbed 100644
--- a/src/devices/bus/vic20/vic1112.h
+++ b/src/devices/bus/vic20/vic1112.h
@@ -8,10 +8,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_VIC1112_H
+#define MAME_BUS_VIC20_VIC1112_H
-#ifndef __VIC1112__
-#define __VIC1112__
+#pragma once
#include "exp.h"
#include "bus/ieee488/ieee488.h"
@@ -64,8 +64,6 @@ private:
// device type definition
-extern const device_type VIC1112;
-
-
+DECLARE_DEVICE_TYPE(VIC1112, vic1112_device)
-#endif
+#endif // MAME_BUS_VIC20_VIC1112_H
diff --git a/src/devices/bus/vic20/vic1210.cpp b/src/devices/bus/vic20/vic1210.cpp
index b28cb42aa78..81e5d75cc1d 100644
--- a/src/devices/bus/vic20/vic1210.cpp
+++ b/src/devices/bus/vic20/vic1210.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC1210 = device_creator<vic1210_device>;
+DEFINE_DEVICE_TYPE(VIC1210, vic1210_device, "vic1210", "VIC-1210 3K RAM Expansion")
@@ -29,9 +29,9 @@ const device_type VIC1210 = device_creator<vic1210_device>;
//-------------------------------------------------
vic1210_device::vic1210_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, VIC1210, "VIC1210", tag, owner, clock, "vic1210", __FILE__),
- device_vic20_expansion_card_interface(mconfig, *this),
- m_ram(*this, "ram")
+ : device_t(mconfig, VIC1210, tag, owner, clock)
+ , device_vic20_expansion_card_interface(mconfig, *this)
+ , m_ram(*this, "ram")
{
}
diff --git a/src/devices/bus/vic20/vic1210.h b/src/devices/bus/vic20/vic1210.h
index 709712b1c31..9fa0ea48a99 100644
--- a/src/devices/bus/vic20/vic1210.h
+++ b/src/devices/bus/vic20/vic1210.h
@@ -7,10 +7,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_VIC1210_H
+#define MAME_BUS_VIC20_VIC1210_H
-#ifndef __VIC1210__
-#define __VIC1210__
+#pragma once
#include "exp.h"
@@ -43,8 +43,6 @@ private:
// device type definition
-extern const device_type VIC1210;
-
-
+DECLARE_DEVICE_TYPE(VIC1210, vic1210_device)
-#endif
+#endif // MAME_BUS_VIC20_VIC1210_H
diff --git a/src/devices/bus/vic20/videopak.cpp b/src/devices/bus/vic20/videopak.cpp
index c117263152e..a7cba165e1d 100644
--- a/src/devices/bus/vic20/videopak.cpp
+++ b/src/devices/bus/vic20/videopak.cpp
@@ -30,7 +30,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIC20_VIDEO_PAK = device_creator<vic20_video_pak_t>;
+DEFINE_DEVICE_TYPE(VIC20_VIDEO_PAK, vic20_video_pak_device, "vic20_videopak", "Data 20 Video Pak")
//-------------------------------------------------
@@ -48,7 +48,7 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *vic20_video_pak_t::device_rom_region() const
+const tiny_rom_entry *vic20_video_pak_device::device_rom_region() const
{
return ROM_NAME( videopak );
}
@@ -57,7 +57,7 @@ const tiny_rom_entry *vic20_video_pak_t::device_rom_region() const
// mc6845
//-------------------------------------------------
-MC6845_UPDATE_ROW( vic20_video_pak_t::crtc_update_row )
+MC6845_UPDATE_ROW( vic20_video_pak_device::crtc_update_row )
{
const pen_t *pen = m_palette->pens();
@@ -110,7 +110,7 @@ static MACHINE_CONFIG_FRAGMENT( vic20_video_pak )
MCFG_MC6845_ADD(MC6845_TAG, H46505, MC6845_SCREEN_TAG, XTAL_14_31818MHz / 8)
MCFG_MC6845_SHOW_BORDER_AREA(true)
MCFG_MC6845_CHAR_WIDTH(8)
- MCFG_MC6845_UPDATE_ROW_CB(vic20_video_pak_t, crtc_update_row)
+ MCFG_MC6845_UPDATE_ROW_CB(vic20_video_pak_device, crtc_update_row)
MACHINE_CONFIG_END
@@ -119,7 +119,7 @@ MACHINE_CONFIG_END
// machine configurations
//-------------------------------------------------
-machine_config_constructor vic20_video_pak_t::device_mconfig_additions() const
+machine_config_constructor vic20_video_pak_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( vic20_video_pak );
}
@@ -131,11 +131,11 @@ machine_config_constructor vic20_video_pak_t::device_mconfig_additions() const
//**************************************************************************
//-------------------------------------------------
-// vic20_video_pak_t - constructor
+// vic20_video_pak_device - constructor
//-------------------------------------------------
-vic20_video_pak_t::vic20_video_pak_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIC20_VIDEO_PAK, "Data 20 Video Pak", tag, owner, clock, "videopak", __FILE__),
+vic20_video_pak_device::vic20_video_pak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VIC20_VIDEO_PAK, tag, owner, clock),
device_vic20_expansion_card_interface(mconfig, *this),
m_crtc(*this, MC6845_TAG),
m_palette(*this, "palette"),
@@ -150,7 +150,7 @@ vic20_video_pak_t::vic20_video_pak_t(const machine_config &mconfig, const char *
// device_start - device-specific startup
//-------------------------------------------------
-void vic20_video_pak_t::device_start()
+void vic20_video_pak_device::device_start()
{
// allocate memory
m_videoram.allocate(VIDEORAM_SIZE);
@@ -162,7 +162,7 @@ void vic20_video_pak_t::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void vic20_video_pak_t::device_reset()
+void vic20_video_pak_device::device_reset()
{
}
@@ -171,7 +171,7 @@ void vic20_video_pak_t::device_reset()
// vic20_cd_r - cartridge data read
//-------------------------------------------------
-uint8_t vic20_video_pak_t::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+uint8_t vic20_video_pak_device::vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!m_ram_enable)
{
@@ -246,7 +246,7 @@ uint8_t vic20_video_pak_t::vic20_cd_r(address_space &space, offs_t offset, uint8
// vic20_cd_w - cartridge data write
//-------------------------------------------------
-void vic20_video_pak_t::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
+void vic20_video_pak_device::vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3)
{
if (!m_ram_enable)
{
diff --git a/src/devices/bus/vic20/videopak.h b/src/devices/bus/vic20/videopak.h
index f11800f0f35..79d0cafe16b 100644
--- a/src/devices/bus/vic20/videopak.h
+++ b/src/devices/bus/vic20/videopak.h
@@ -7,10 +7,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIC20_VIDEOPAK_H
+#define MAME_BUS_VIC20_VIDEOPAK_H
-#ifndef __VIC20_VIDEO_PAK__
-#define __VIC20_VIDEO_PAK__
+#pragma once
#include "exp.h"
@@ -22,14 +22,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> vic20_video_pak_t
+// ======================> vic20_video_pak_device
-class vic20_video_pak_t : public device_t,
+class vic20_video_pak_device : public device_t,
public device_vic20_expansion_card_interface
{
public:
// construction/destruction
- vic20_video_pak_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vic20_video_pak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -64,7 +64,6 @@ private:
// device type definition
-extern const device_type VIC20_VIDEO_PAK;
-
+DECLARE_DEVICE_TYPE(VIC20_VIDEO_PAK, vic20_video_pak_device)
-#endif
+#endif // MAME_BUS_VIC20_VIDEOPAK_H
diff --git a/src/devices/bus/vidbrain/exp.cpp b/src/devices/bus/vidbrain/exp.cpp
index 298fdec8751..ebd4a541da0 100644
--- a/src/devices/bus/vidbrain/exp.cpp
+++ b/src/devices/bus/vidbrain/exp.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIDEOBRAIN_EXPANSION_SLOT = device_creator<videobrain_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(VIDEOBRAIN_EXPANSION_SLOT, videobrain_expansion_slot_device, "videobrain_expansion_slot", "VideoBrain expansion port")
@@ -88,7 +88,7 @@ uint8_t* device_videobrain_expansion_card_interface::videobrain_ram_pointer(runn
//-------------------------------------------------
videobrain_expansion_slot_device::videobrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIDEOBRAIN_EXPANSION_SLOT, "VideoBrain expansion port", tag, owner, clock, "videobrain_expansion_slot", __FILE__),
+ device_t(mconfig, VIDEOBRAIN_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
device_image_interface(mconfig, *this),
m_write_extres(*this), m_cart(nullptr)
diff --git a/src/devices/bus/vidbrain/exp.h b/src/devices/bus/vidbrain/exp.h
index 8806e18e11c..23ae2108d3e 100644
--- a/src/devices/bus/vidbrain/exp.h
+++ b/src/devices/bus/vidbrain/exp.h
@@ -34,10 +34,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIDBRAIN_EXP_H
+#define MAME_BUS_VIDBRAIN_EXP_H
-#ifndef __VIDEOBRAIN_EXPANSION_SLOT__
-#define __VIDEOBRAIN_EXPANSION_SLOT__
+#pragma once
#include "softlist_dev.h"
@@ -78,18 +78,19 @@ class device_videobrain_expansion_card_interface : public device_slot_card_inter
public:
// construction/destruction
- device_videobrain_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_videobrain_expansion_card_interface() { }
protected:
+ device_videobrain_expansion_card_interface(const machine_config &mconfig, device_t &device);
+
// initialization
virtual uint8_t* videobrain_rom_pointer(running_machine &machine, size_t size);
virtual uint8_t* videobrain_ram_pointer(running_machine &machine, size_t size);
// runtime
- virtual uint8_t videobrain_bo_r(address_space &space, offs_t offset, int cs1, int cs2) { return 0; };
- virtual void videobrain_bo_w(address_space &space, offs_t offset, uint8_t data, int cs1, int cs2) { };
- virtual void videobrain_extres_w() { };
+ virtual uint8_t videobrain_bo_r(address_space &space, offs_t offset, int cs1, int cs2) { return 0; }
+ virtual void videobrain_bo_w(address_space &space, offs_t offset, uint8_t data, int cs1, int cs2) { }
+ virtual void videobrain_extres_w() { }
videobrain_expansion_slot_device *m_slot;
@@ -110,9 +111,8 @@ class videobrain_expansion_slot_device : public device_t,
public:
// construction/destruction
videobrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~videobrain_expansion_slot_device() { }
- template<class _Object> static devcb_base &set_extres_wr_callback(device_t &device, _Object object) { return downcast<videobrain_expansion_slot_device &>(device).m_write_extres.set_callback(object); }
+ template <class Object> static devcb_base &set_extres_wr_callback(device_t &device, Object &&cb) { return downcast<videobrain_expansion_slot_device &>(device).m_write_extres.set_callback(std::forward<Object>(cb)); }
// computer interface
uint8_t bo_r(address_space &space, offs_t offset, int cs1, int cs2);
@@ -156,11 +156,9 @@ protected:
// device type definition
-extern const device_type VIDEOBRAIN_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(VIDEOBRAIN_EXPANSION_SLOT, videobrain_expansion_slot_device)
SLOT_INTERFACE_EXTERN( vidbrain_expansion_cards );
-
-
-#endif
+#endif // MAME_BUS_VIDBRAIN_EXP_H
diff --git a/src/devices/bus/vidbrain/money_minder.cpp b/src/devices/bus/vidbrain/money_minder.cpp
index eb7e7b2d6c4..81220a499b6 100644
--- a/src/devices/bus/vidbrain/money_minder.cpp
+++ b/src/devices/bus/vidbrain/money_minder.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VB_MONEY_MINDER = device_creator<videobrain_money_minder_cartridge_device>;
+DEFINE_DEVICE_TYPE(VB_MONEY_MINDER, videobrain_money_minder_cartridge_device, "vb_money_minder", "VideoBrain Money Minder cartridge")
@@ -28,7 +28,7 @@ const device_type VB_MONEY_MINDER = device_creator<videobrain_money_minder_cartr
//-------------------------------------------------
videobrain_money_minder_cartridge_device::videobrain_money_minder_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VB_MONEY_MINDER, "VideoBrain Money Minder cartridge", tag, owner, clock, "vb_money_minder", __FILE__),
+ device_t(mconfig, VB_MONEY_MINDER, tag, owner, clock),
device_videobrain_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/vidbrain/money_minder.h b/src/devices/bus/vidbrain/money_minder.h
index c7f435a1d65..20ead06960e 100644
--- a/src/devices/bus/vidbrain/money_minder.h
+++ b/src/devices/bus/vidbrain/money_minder.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIDBRAIN_MONEY_MINDER_H
+#define MAME_BUS_VIDBRAIN_MONEY_MINDER_H
-#ifndef __VIDEOBRAIN_MONEY_MINDER_CARTRIDGE__
-#define __VIDEOBRAIN_MONEY_MINDER_CARTRIDGE__
+#pragma once
#include "exp.h"
@@ -39,7 +39,6 @@ protected:
// device type definition
-extern const device_type VB_MONEY_MINDER;
-
+DECLARE_DEVICE_TYPE(VB_MONEY_MINDER, videobrain_money_minder_cartridge_device)
-#endif
+#endif // MAME_BUS_VIDBRAIN_MONEY_MINDER_H
diff --git a/src/devices/bus/vidbrain/std.cpp b/src/devices/bus/vidbrain/std.cpp
index c8bbf1fbaae..82a6fc2761e 100644
--- a/src/devices/bus/vidbrain/std.cpp
+++ b/src/devices/bus/vidbrain/std.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VB_STD = device_creator<videobrain_standard_cartridge_device>;
+DEFINE_DEVICE_TYPE(VB_STD, videobrain_standard_cartridge_device, "vb_std", "VideoBrain standard cartridge")
@@ -28,7 +28,7 @@ const device_type VB_STD = device_creator<videobrain_standard_cartridge_device>;
//-------------------------------------------------
videobrain_standard_cartridge_device::videobrain_standard_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VB_STD, "VideoBrain standard cartridge", tag, owner, clock, "vb_std", __FILE__),
+ device_t(mconfig, VB_STD, tag, owner, clock),
device_videobrain_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/vidbrain/std.h b/src/devices/bus/vidbrain/std.h
index b54c2acd2d0..2dbbde3231f 100644
--- a/src/devices/bus/vidbrain/std.h
+++ b/src/devices/bus/vidbrain/std.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIDBRAIN_STD_H
+#define MAME_BUS_VIDBRAIN_STD_H
-#ifndef __VIDEOBRAIN_STANDARD_CARTRIDGE__
-#define __VIDEOBRAIN_STANDARD_CARTRIDGE__
+#pragma once
#include "exp.h"
@@ -38,7 +38,6 @@ protected:
// device type definition
-extern const device_type VB_STD;
-
+DECLARE_DEVICE_TYPE(VB_STD, videobrain_standard_cartridge_device)
-#endif
+#endif // MAME_BUS_VIDBRAIN_STD_H
diff --git a/src/devices/bus/vidbrain/timeshare.cpp b/src/devices/bus/vidbrain/timeshare.cpp
index 00b47a194a1..f4997a55ddc 100644
--- a/src/devices/bus/vidbrain/timeshare.cpp
+++ b/src/devices/bus/vidbrain/timeshare.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VB_TIMESHARE = device_creator<videobrain_timeshare_cartridge_device>;
+DEFINE_DEVICE_TYPE(VB_TIMESHARE, videobrain_timeshare_cartridge_device, "vb_timeshare", "VideoBrain Timeshare cartridge")
@@ -28,7 +28,7 @@ const device_type VB_TIMESHARE = device_creator<videobrain_timeshare_cartridge_d
//-------------------------------------------------
videobrain_timeshare_cartridge_device::videobrain_timeshare_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VB_TIMESHARE, "VideoBrain Timeshare cartridge", tag, owner, clock, "vb_timeshare", __FILE__),
+ device_t(mconfig, VB_TIMESHARE, tag, owner, clock),
device_videobrain_expansion_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/vidbrain/timeshare.h b/src/devices/bus/vidbrain/timeshare.h
index 272cd8cdd05..971c5674320 100644
--- a/src/devices/bus/vidbrain/timeshare.h
+++ b/src/devices/bus/vidbrain/timeshare.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIDBRAIN_TIMESHARE_H
+#define MAME_BUS_VIDBRAIN_TIMESHARE_H
-#ifndef __VIDEOBRAIN_TIMESHARE_CARTRIDGE__
-#define __VIDEOBRAIN_TIMESHARE_CARTRIDGE__
+#pragma once
#include "exp.h"
@@ -39,7 +39,6 @@ protected:
// device type definition
-extern const device_type VB_TIMESHARE;
-
+DECLARE_DEVICE_TYPE(VB_TIMESHARE, videobrain_timeshare_cartridge_device)
-#endif
+#endif // MAME_BUS_VIDBRAIN_TIMESHARE_H
diff --git a/src/devices/bus/vip/byteio.cpp b/src/devices/bus/vip/byteio.cpp
index 9e2cb2c7ef1..c44c4825abb 100644
--- a/src/devices/bus/vip/byteio.cpp
+++ b/src/devices/bus/vip/byteio.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VIP_BYTEIO_PORT = device_creator<vip_byteio_port_device>;
+DEFINE_DEVICE_TYPE(VIP_BYTEIO_PORT, vip_byteio_port_device, "vip_byteio_port", "VIP byte I/O port")
@@ -44,9 +44,10 @@ device_vip_byteio_port_interface::device_vip_byteio_port_interface(const machine
//-------------------------------------------------
vip_byteio_port_device::vip_byteio_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIP_BYTEIO_PORT, "VIP byte I/O port", tag, owner, clock, "vip_byteio_port", __FILE__),
- device_slot_interface(mconfig, *this),
- m_write_inst(*this), m_cart(nullptr)
+ device_t(mconfig, VIP_BYTEIO_PORT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_write_inst(*this),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/vip/byteio.h b/src/devices/bus/vip/byteio.h
index 61ff58682b9..5c0ebc29afd 100644
--- a/src/devices/bus/vip/byteio.h
+++ b/src/devices/bus/vip/byteio.h
@@ -31,11 +31,10 @@
**********************************************************************/
-#pragma once
-
-#ifndef __VIP_BYTEIO_PORT__
-#define __VIP_BYTEIO_PORT__
+#ifndef MAME_BUS_VIP_BYTEIO_H
+#define MAME_BUS_VIP_BYTEIO_H
+#pragma once
@@ -102,24 +101,24 @@ protected:
class device_vip_byteio_port_interface : public device_slot_card_interface
{
public:
- // construction/destruction
- device_vip_byteio_port_interface(const machine_config &mconfig, device_t &device);
-
- virtual uint8_t vip_in_r() { return 0xff; };
- virtual void vip_out_w(uint8_t data) { };
+ virtual uint8_t vip_in_r() { return 0xff; }
+ virtual void vip_out_w(uint8_t data) { }
virtual int vip_ef3_r() { return CLEAR_LINE; }
virtual int vip_ef4_r() { return CLEAR_LINE; }
- virtual void vip_q_w(int state) { };
+ virtual void vip_q_w(int state) { }
protected:
+ // construction/destruction
+ device_vip_byteio_port_interface(const machine_config &mconfig, device_t &device);
+
vip_byteio_port_device *m_slot;
};
// device type definition
-extern const device_type VIP_BYTEIO_PORT;
+DECLARE_DEVICE_TYPE(VIP_BYTEIO_PORT, vip_byteio_port_device)
// slot devices
@@ -127,6 +126,4 @@ extern const device_type VIP_BYTEIO_PORT;
SLOT_INTERFACE_EXTERN( vip_byteio_cards );
-
-
-#endif
+#endif // MAME_BUS_VIP_BYTEIO_H
diff --git a/src/devices/bus/vip/exp.cpp b/src/devices/bus/vip/exp.cpp
index f5dc4bdd070..5430dd482ed 100644
--- a/src/devices/bus/vip/exp.cpp
+++ b/src/devices/bus/vip/exp.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VIP_EXPANSION_SLOT = device_creator<vip_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(VIP_EXPANSION_SLOT, vip_expansion_slot_device, "vip_expansion_slot", "VIP expansion port")
@@ -52,7 +52,7 @@ device_vip_expansion_card_interface::device_vip_expansion_card_interface(const m
//-------------------------------------------------
vip_expansion_slot_device::vip_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VIP_EXPANSION_SLOT, "VIP expansion port", tag, owner, clock, "vip_expansion_slot", __FILE__),
+ device_t(mconfig, VIP_EXPANSION_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_write_int(*this),
m_write_dma_out(*this),
diff --git a/src/devices/bus/vip/exp.h b/src/devices/bus/vip/exp.h
index 6c7d18966fb..9e49ad4b98c 100644
--- a/src/devices/bus/vip/exp.h
+++ b/src/devices/bus/vip/exp.h
@@ -31,10 +31,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIP_EXP_H
+#define MAME_BUS_VIP_EXP_H
-#ifndef __VIP_EXPANSION_SLOT__
-#define __VIP_EXPANSION_SLOT__
+#pragma once
@@ -82,9 +82,9 @@ public:
// construction/destruction
vip_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template<class _Object> static devcb_base &set_int_wr_callback(device_t &device, _Object object) { return downcast<vip_expansion_slot_device &>(device).m_write_int.set_callback(object); }
- template<class _Object> static devcb_base &set_dma_out_wr_callback(device_t &device, _Object object) { return downcast<vip_expansion_slot_device &>(device).m_write_dma_out.set_callback(object); }
- template<class _Object> static devcb_base &set_dma_in_wr_callback(device_t &device, _Object object) { return downcast<vip_expansion_slot_device &>(device).m_write_dma_in.set_callback(object); }
+ template <class Object> static devcb_base &set_int_wr_callback(device_t &device, Object &&cb) { return downcast<vip_expansion_slot_device &>(device).m_write_int.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dma_out_wr_callback(device_t &device, Object &&cb) { return downcast<vip_expansion_slot_device &>(device).m_write_dma_out.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_dma_in_wr_callback(device_t &device, Object &&cb) { return downcast<vip_expansion_slot_device &>(device).m_write_dma_in.set_callback(std::forward<Object>(cb)); }
// computer interface
uint8_t program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh);
@@ -124,20 +124,19 @@ class device_vip_expansion_card_interface : public device_slot_card_interface
{
friend class vip_expansion_slot_device;
-public:
+protected:
// construction/destruction
device_vip_expansion_card_interface(const machine_config &mconfig, device_t &device);
-protected:
// runtime
- virtual uint8_t vip_program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh) { return 0xff; };
- virtual void vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh) { };
+ virtual uint8_t vip_program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh) { return 0xff; }
+ virtual void vip_program_w(address_space &space, offs_t offset, uint8_t data, int cdef, int *minh) { }
- virtual uint8_t vip_io_r(address_space &space, offs_t offset) { return 0xff; };
- virtual void vip_io_w(address_space &space, offs_t offset, uint8_t data) { };
+ virtual uint8_t vip_io_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void vip_io_w(address_space &space, offs_t offset, uint8_t data) { }
- virtual uint8_t vip_dma_r(address_space &space, offs_t offset) { return 0xff; };
- virtual void vip_dma_w(address_space &space, offs_t offset, uint8_t data) { };
+ virtual uint8_t vip_dma_r(address_space &space, offs_t offset) { return 0xff; }
+ virtual void vip_dma_w(address_space &space, offs_t offset, uint8_t data) { }
virtual uint32_t vip_screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return 0; }
@@ -145,22 +144,20 @@ protected:
virtual int vip_ef3_r() { return CLEAR_LINE; }
virtual int vip_ef4_r() { return CLEAR_LINE; }
- virtual void vip_sc_w(int data) { };
+ virtual void vip_sc_w(int data) { }
- virtual void vip_q_w(int state) { };
+ virtual void vip_q_w(int state) { }
- virtual void vip_run_w(int state) { };
+ virtual void vip_run_w(int state) { }
vip_expansion_slot_device *m_slot;
};
// device type definition
-extern const device_type VIP_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(VIP_EXPANSION_SLOT, vip_expansion_slot_device)
SLOT_INTERFACE_EXTERN( vip_expansion_cards );
-
-
-#endif
+#endif // MAME_BUS_VIP_EXP_H
diff --git a/src/devices/bus/vip/vp550.cpp b/src/devices/bus/vip/vp550.cpp
index 23e49972909..c5ed565886b 100644
--- a/src/devices/bus/vip/vp550.cpp
+++ b/src/devices/bus/vip/vp550.cpp
@@ -43,7 +43,7 @@ enum
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VP550 = device_creator<vp550_device>;
+DEFINE_DEVICE_TYPE(VP550, vp550_device, "vp550", "VP-550 Super Sound")
//-------------------------------------------------
@@ -82,7 +82,7 @@ machine_config_constructor vp550_device::device_mconfig_additions() const
//-------------------------------------------------
vp550_device::vp550_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VP550, "VP550", tag, owner, clock, "vp550", __FILE__),
+ device_t(mconfig, VP550, tag, owner, clock),
device_vip_expansion_card_interface(mconfig, *this),
m_pfg_a(*this, CDP1863_A_TAG),
m_pfg_b(*this, CDP1863_B_TAG), m_sync_timer(nullptr)
diff --git a/src/devices/bus/vip/vp550.h b/src/devices/bus/vip/vp550.h
index d849e4b1ad1..ecc4b640f04 100644
--- a/src/devices/bus/vip/vp550.h
+++ b/src/devices/bus/vip/vp550.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIP_VP550_H
+#define MAME_BUS_VIP_VP550_H
-#ifndef __VP550__
-#define __VP550__
+#pragma once
#include "exp.h"
#include "sound/cdp1863.h"
@@ -59,7 +59,6 @@ private:
// device type definition
-extern const device_type VP550;
-
+DECLARE_DEVICE_TYPE(VP550, vp550_device)
-#endif
+#endif // MAME_BUS_VIP_VP550_H
diff --git a/src/devices/bus/vip/vp570.cpp b/src/devices/bus/vip/vp570.cpp
index 0aaa2b7f256..e01d427649b 100644
--- a/src/devices/bus/vip/vp570.cpp
+++ b/src/devices/bus/vip/vp570.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VP570 = device_creator<vp570_device>;
+DEFINE_DEVICE_TYPE(VP570, vp570_device, "vp570", "VP-570 4K RAM Expansion")
//-------------------------------------------------
@@ -61,7 +61,7 @@ ioport_constructor vp570_device::device_input_ports() const
//-------------------------------------------------
vp570_device::vp570_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VP570, "VP570", tag, owner, clock, "vp570", __FILE__),
+ device_t(mconfig, VP570, tag, owner, clock),
device_vip_expansion_card_interface(mconfig, *this),
m_ram(*this, "ram"),
m_base(*this, "BASE"),
diff --git a/src/devices/bus/vip/vp570.h b/src/devices/bus/vip/vp570.h
index c08b350fd57..004be88a8bf 100644
--- a/src/devices/bus/vip/vp570.h
+++ b/src/devices/bus/vip/vp570.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIP_VP570_H
+#define MAME_BUS_VIP_VP570_H
-#ifndef __VP570__
-#define __VP570__
+#pragma once
#include "exp.h"
@@ -47,7 +47,7 @@ private:
// device type definition
-extern const device_type VP570;
+DECLARE_DEVICE_TYPE(VP570, vp570_device)
-#endif
+#endif // MAME_BUS_VIP_VP570_H
diff --git a/src/devices/bus/vip/vp575.cpp b/src/devices/bus/vip/vp575.cpp
index 3c498a7ae83..ea542a7123e 100644
--- a/src/devices/bus/vip/vp575.cpp
+++ b/src/devices/bus/vip/vp575.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VP575 = device_creator<vp575_device>;
+DEFINE_DEVICE_TYPE(VP575, vp575_device, "vp575", "VP-575 System Expansion")
//-------------------------------------------------
@@ -94,8 +94,9 @@ machine_config_constructor vp575_device::device_mconfig_additions() const
//-------------------------------------------------
vp575_device::vp575_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VP575, "VP575", tag, owner, clock, "vp575", __FILE__),
- device_vip_expansion_card_interface(mconfig, *this)
+ device_t(mconfig, VP575, tag, owner, clock),
+ device_vip_expansion_card_interface(mconfig, *this),
+ m_expansion_slot(*this, "exp%u", 1)
{
for (int i = 0; i < MAX_SLOTS; i++)
{
@@ -112,12 +113,6 @@ vp575_device::vp575_device(const machine_config &mconfig, const char *tag, devic
void vp575_device::device_start()
{
- // find devices
- m_expansion_slot[0] = dynamic_cast<vip_expansion_slot_device *>(subdevice("exp1"));
- m_expansion_slot[1] = dynamic_cast<vip_expansion_slot_device *>(subdevice("exp2"));
- m_expansion_slot[2] = dynamic_cast<vip_expansion_slot_device *>(subdevice("exp3"));
- m_expansion_slot[3] = dynamic_cast<vip_expansion_slot_device *>(subdevice("exp4"));
- m_expansion_slot[4] = dynamic_cast<vip_expansion_slot_device *>(subdevice("exp5"));
}
diff --git a/src/devices/bus/vip/vp575.h b/src/devices/bus/vip/vp575.h
index 6680cf1600d..915d1d12725 100644
--- a/src/devices/bus/vip/vp575.h
+++ b/src/devices/bus/vip/vp575.h
@@ -6,24 +6,16 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIP_VP575_H
+#define MAME_BUS_VIP_VP575_H
-#ifndef __VP575__
-#define __VP575__
+#pragma once
#include "exp.h"
//**************************************************************************
-// MACROS/CONSTANTS
-//**************************************************************************
-
-#define MAX_SLOTS 5
-
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -80,7 +72,9 @@ protected:
virtual void vip_run_w(int state) override;
private:
- vip_expansion_slot_device *m_expansion_slot[MAX_SLOTS];
+ static constexpr unsigned MAX_SLOTS = 5;
+
+ required_device_array<vip_expansion_slot_device, MAX_SLOTS> m_expansion_slot;
int m_int[MAX_SLOTS];
int m_dma_out[MAX_SLOTS];
@@ -89,7 +83,6 @@ private:
// device type definition
-extern const device_type VP575;
-
+DECLARE_DEVICE_TYPE(VP575, vp575_device)
-#endif
+#endif // MAME_BUS_VIP_VP575_H
diff --git a/src/devices/bus/vip/vp585.cpp b/src/devices/bus/vip/vp585.cpp
index 84f89fba5ef..47a1115097a 100644
--- a/src/devices/bus/vip/vp585.cpp
+++ b/src/devices/bus/vip/vp585.cpp
@@ -15,7 +15,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VP585 = device_creator<vp585_device>;
+DEFINE_DEVICE_TYPE(VP585, vp585_device, "vp585", "VP-585 Keyboard Interface + VP-580 16-key keypad")
//-------------------------------------------------
@@ -81,10 +81,11 @@ ioport_constructor vp585_device::device_input_ports() const
//-------------------------------------------------
vp585_device::vp585_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VP585, "VP585", tag, owner, clock, "vp585", __FILE__),
+ device_t(mconfig, VP585, tag, owner, clock),
device_vip_expansion_card_interface(mconfig, *this),
m_j1(*this, "J1"),
- m_j2(*this, "J2"), m_keylatch(0)
+ m_j2(*this, "J2"),
+ m_keylatch(0)
{
}
diff --git a/src/devices/bus/vip/vp585.h b/src/devices/bus/vip/vp585.h
index 4d00d0ddb99..a3511def5d0 100644
--- a/src/devices/bus/vip/vp585.h
+++ b/src/devices/bus/vip/vp585.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIP_VP585_H
+#define MAME_BUS_VIP_VP585_H
-#ifndef __VP585__
-#define __VP585__
+#pragma once
#include "exp.h"
@@ -49,7 +49,6 @@ private:
// device type definition
-extern const device_type VP585;
-
+DECLARE_DEVICE_TYPE(VP585, vp585_device)
-#endif
+#endif // MAME_BUS_VIP_VP585_H
diff --git a/src/devices/bus/vip/vp590.cpp b/src/devices/bus/vip/vp590.cpp
index 3434c11fee7..fd04837c05e 100644
--- a/src/devices/bus/vip/vp590.cpp
+++ b/src/devices/bus/vip/vp590.cpp
@@ -26,7 +26,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VP590 = device_creator<vp590_device>;
+DEFINE_DEVICE_TYPE(VP590, vp590_device, "vp590", "VP-590 Color Board + VP-580 16-key keypad")
//-------------------------------------------------
@@ -138,12 +138,13 @@ ioport_constructor vp590_device::device_input_ports() const
//-------------------------------------------------
vp590_device::vp590_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VP590, "VP590", tag, owner, clock, "vp590", __FILE__),
+ device_t(mconfig, VP590, tag, owner, clock),
device_vip_expansion_card_interface(mconfig, *this),
m_cgc(*this, CDP1862_TAG),
m_color_ram(*this, "color_ram"),
m_j1(*this, "J1"),
- m_j2(*this, "J2"), m_a12(0), m_color(0), m_keylatch(0)
+ m_j2(*this, "J2"),
+ m_a12(0), m_color(0), m_keylatch(0)
{
}
diff --git a/src/devices/bus/vip/vp590.h b/src/devices/bus/vip/vp590.h
index 418e240110f..9524e81b6e5 100644
--- a/src/devices/bus/vip/vp590.h
+++ b/src/devices/bus/vip/vp590.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIP_VP590_H
+#define MAME_BUS_VIP_VP590_H
-#ifndef __VP590__
-#define __VP590__
+#pragma once
#include "machine/rescap.h"
#include "exp.h"
@@ -64,7 +64,6 @@ private:
// device type definition
-extern const device_type VP590;
-
+DECLARE_DEVICE_TYPE(VP590, vp590_device)
-#endif
+#endif // MAME_BUS_VIP_VP590_H
diff --git a/src/devices/bus/vip/vp595.cpp b/src/devices/bus/vip/vp595.cpp
index 2c99188c79f..2d1b436e378 100644
--- a/src/devices/bus/vip/vp595.cpp
+++ b/src/devices/bus/vip/vp595.cpp
@@ -26,7 +26,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VP595 = device_creator<vp595_device>;
+DEFINE_DEVICE_TYPE(VP595, vp595_device, "vp595", "VP-595 Simple Sound")
//-------------------------------------------------
@@ -62,7 +62,7 @@ machine_config_constructor vp595_device::device_mconfig_additions() const
//-------------------------------------------------
vp595_device::vp595_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VP595, "VP595", tag, owner, clock, "vp595", __FILE__),
+ device_t(mconfig, VP595, tag, owner, clock),
device_vip_expansion_card_interface(mconfig, *this),
m_pfg(*this, CDP1863_TAG)
{
diff --git a/src/devices/bus/vip/vp595.h b/src/devices/bus/vip/vp595.h
index fa810084875..5751a35e6d0 100644
--- a/src/devices/bus/vip/vp595.h
+++ b/src/devices/bus/vip/vp595.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIP_VP595_H
+#define MAME_BUS_VIP_VP595_H
-#ifndef __VP595__
-#define __VP595__
+#pragma once
#include "exp.h"
#include "sound/cdp1863.h"
@@ -46,7 +46,6 @@ private:
// device type definition
-extern const device_type VP595;
-
+DECLARE_DEVICE_TYPE(VP595, vp595_device)
-#endif
+#endif // MAME_BUS_VIP_VP595_H
diff --git a/src/devices/bus/vip/vp620.cpp b/src/devices/bus/vip/vp620.cpp
index b90adb56425..547c535a302 100644
--- a/src/devices/bus/vip/vp620.cpp
+++ b/src/devices/bus/vip/vp620.cpp
@@ -15,14 +15,14 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VP620 = device_creator<vp620_device>;
+DEFINE_DEVICE_TYPE(VP620, vp620_device, "vp620", "VP-620 ASCII Keyboard")
//-------------------------------------------------
// ASCII_KEYBOARD_INTERFACE( kb_intf )
//-------------------------------------------------
-WRITE8_MEMBER( vp620_device::kb_w )
+void vp620_device::kb_w(uint8_t data)
{
m_keydata = data;
@@ -38,7 +38,7 @@ WRITE8_MEMBER( vp620_device::kb_w )
static MACHINE_CONFIG_FRAGMENT( vp620 )
MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0)
- MCFG_GENERIC_KEYBOARD_CB(WRITE8(vp620_device, kb_w))
+ MCFG_GENERIC_KEYBOARD_CB(PUT(vp620_device, kb_w))
MACHINE_CONFIG_END
@@ -63,7 +63,7 @@ machine_config_constructor vp620_device::device_mconfig_additions() const
//-------------------------------------------------
vp620_device::vp620_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VP620, "VP620", tag, owner, clock, "vp620", __FILE__),
+ device_t(mconfig, VP620, tag, owner, clock),
device_vip_byteio_port_interface(mconfig, *this),
m_keydata(0),
m_keystb(CLEAR_LINE)
diff --git a/src/devices/bus/vip/vp620.h b/src/devices/bus/vip/vp620.h
index 55bf8ab04f6..4917f5760da 100644
--- a/src/devices/bus/vip/vp620.h
+++ b/src/devices/bus/vip/vp620.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIP_VP620_H
+#define MAME_BUS_VIP_VP620_H
-#ifndef __VP620__
-#define __VP620__
+#pragma once
#include "byteio.h"
#include "machine/keyboard.h"
@@ -33,7 +33,7 @@ public:
virtual machine_config_constructor device_mconfig_additions() const override;
// not really public
- DECLARE_WRITE8_MEMBER( kb_w );
+ void kb_w(uint8_t data);
protected:
// device-level overrides
@@ -50,7 +50,6 @@ private:
// device type definition
-extern const device_type VP620;
-
+DECLARE_DEVICE_TYPE(VP620, vp620_device)
-#endif
+#endif // MAME_BUS_VIP_VP620_H
diff --git a/src/devices/bus/vip/vp700.cpp b/src/devices/bus/vip/vp700.cpp
index 80e4085b458..4b7dbab2839 100644
--- a/src/devices/bus/vip/vp700.cpp
+++ b/src/devices/bus/vip/vp700.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type VP700 = device_creator<vp700_device>;
+DEFINE_DEVICE_TYPE(VP700, vp700_device, "vp700", "VP-700 Expanded Tiny BASIC")
//-------------------------------------------------
@@ -47,7 +47,7 @@ const tiny_rom_entry *vp700_device::device_rom_region() const
//-------------------------------------------------
vp700_device::vp700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VP700, "VP700", tag, owner, clock, "vp700", __FILE__),
+ device_t(mconfig, VP700, tag, owner, clock),
device_vip_expansion_card_interface(mconfig, *this),
m_rom(*this, "vp700")
{
diff --git a/src/devices/bus/vip/vp700.h b/src/devices/bus/vip/vp700.h
index 88e5a99967c..16e7cd2f78e 100644
--- a/src/devices/bus/vip/vp700.h
+++ b/src/devices/bus/vip/vp700.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_VIP_VP700_H
+#define MAME_BUS_VIP_VP700_H
-#ifndef __VP700__
-#define __VP700__
+#pragma once
#include "exp.h"
#include "sound/cdp1863.h"
@@ -45,7 +45,6 @@ private:
// device type definition
-extern const device_type VP700;
-
+DECLARE_DEVICE_TYPE(VP700, vp700_device)
-#endif
+#endif // MAME_BUS_VIP_VP700_H
diff --git a/src/devices/bus/vme/vme.cpp b/src/devices/bus/vme/vme.cpp
index c4245ebc0a5..d397d45789f 100644
--- a/src/devices/bus/vme/vme.cpp
+++ b/src/devices/bus/vme/vme.cpp
@@ -76,17 +76,15 @@
#define LOG_GENERAL 0x01
#define LOG_SETUP 0x02
-#define LOG_PRINTF 0x04
-#define VERBOSE 0 // (LOG_PRINTF | LOG_SETUP | LOG_GENERAL)
+//#define VERBOSE (LOG_SETUP | LOG_GENERAL)
-#define LOGMASK(mask, ...) do { if (VERBOSE & mask) logerror(__VA_ARGS__); } while (0)
-#define LOGLEVEL(mask, level, ...) do { if ((VERBOSE & mask) >= level) logerror(__VA_ARGS__); } while (0)
+#define LOG_OUTPUT_FUNC printf // logerror is not available here
-#define LOG(...) LOGMASK(LOG_GENERAL, __VA_ARGS__)
-#define LOGSETUP(...) LOGMASK(LOG_SETUP, __VA_ARGS__)
+#include "logmacro.h"
-#define logerror printf // logerror is not available here
+#define LOG(...) LOGMASKED(LOG_GENERAL, __VA_ARGS__)
+#define LOGSETUP(...) LOGMASKED(LOG_SETUP, __VA_ARGS__)
#ifdef _MSC_VER
#define FUNCNAME __func__
@@ -98,27 +96,22 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VME_SLOT = device_creator<vme_slot_device>;
+DEFINE_DEVICE_TYPE(VME_SLOT, vme_slot_device, "vme_slot", "VME slot")
//-------------------------------------------------
// vme_slot_device - constructor
//-------------------------------------------------
-vme_slot_device::vme_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VME_SLOT, "VME_SLOT", tag, owner, clock, "vme_slot", __FILE__)
- ,device_slot_interface(mconfig, *this)
- ,m_vme_tag(nullptr)
- ,m_vme_slottag(nullptr)
- ,m_vme_j1_callback(*this)
+vme_slot_device::vme_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : vme_slot_device(mconfig, VME_SLOT, tag, owner, clock)
{
- LOG("%s %s\n", tag, FUNCNAME);
}
-vme_slot_device::vme_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_slot_interface(mconfig, *this)
- ,m_vme_tag(nullptr)
- ,m_vme_slottag(nullptr)
- ,m_vme_j1_callback(*this)
+vme_slot_device::vme_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_slot_interface(mconfig, *this)
+ , m_vme_tag(nullptr)
+ , m_vme_slottag(nullptr)
+ , m_vme_j1_callback(*this)
{
LOG("%s %s\n", tag, FUNCNAME);
}
@@ -210,7 +203,7 @@ SLOT_INTERFACE_END
// VME device P1
//
-const device_type VME = device_creator<vme_device>;
+DEFINE_DEVICE_TYPE(VME, vme_device, "vme", "VME bus")
// static_set_cputag - used to be able to lookup the CPU owning this VME bus
void vme_device::static_set_cputag(device_t &device, const char *tag)
@@ -230,18 +223,13 @@ void vme_device::static_use_owner_spaces(device_t &device)
vme.m_allocspaces = false;
}
-vme_device::vme_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VME, "VME", tag, owner, clock, "vme", __FILE__)
- , device_memory_interface(mconfig, *this)
- , m_a32_config("VME A32", ENDIANNESS_BIG, 32, 32, 0, nullptr)
- , m_allocspaces(true)
- , m_cputag("maincpu")
+vme_device::vme_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : vme_device(mconfig, VME, tag, owner, clock)
{
- LOG("%s %s\n", tag, FUNCNAME);
}
-vme_device::vme_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+vme_device::vme_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
, device_memory_interface(mconfig, *this)
, m_a32_config("VME A32", ENDIANNESS_BIG, 32, 32, 0, nullptr)
, m_allocspaces(true)
diff --git a/src/devices/bus/vme/vme.h b/src/devices/bus/vme/vme.h
index 16e7c52aaaa..ed4bd7efd5f 100644
--- a/src/devices/bus/vme/vme.h
+++ b/src/devices/bus/vme/vme.h
@@ -45,8 +45,8 @@
*/
-#ifndef VME_H_
-#define VME_H_
+#ifndef MAME_BUS_VME_VME_H
+#define MAME_BUS_VME_VME_H
#pragma once
@@ -91,30 +91,30 @@ public:
// construction/destruction
vme_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+ template <class Object> static devcb_base &static_set_vme_j1_callback(device_t &device, Object &&cb) { return downcast<vme_slot_device &>(device).m_vme_j1_callback.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &static_set_vme_j1_callback(device_t &device, _Object object) { return downcast<vme_slot_device &>(device).m_vme_j1_callback.set_callback(object); }
+ static void static_set_vme_slot(device_t &device, const char *tag, const char *slottag);
+ static void static_update_vme_chains(device_t &device, uint32_t slot_nbr);
+
+ virtual DECLARE_READ8_MEMBER(read8);
+ virtual DECLARE_WRITE8_MEMBER(write8);
+
+protected:
+ vme_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
virtual void device_config_complete() override;
- static void static_set_vme_slot(device_t &device, const char *tag, const char *slottag);
- static void static_update_vme_chains(device_t &device, uint32_t slot_nbr);
-
// configuration
const char *m_vme_tag, *m_vme_slottag;
- virtual DECLARE_READ8_MEMBER(read8);
- virtual DECLARE_WRITE8_MEMBER(write8);
-
// callbacks
devcb_write_line m_vme_j1_callback;
device_vme_card_interface *m_card;
-private:
};
-extern const device_type VME;
+DECLARE_DEVICE_TYPE(VME, vme_device)
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
@@ -136,7 +136,6 @@ class vme_device : public device_t,
{
public:
vme_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
~vme_device();
// inline configuration
@@ -197,6 +196,8 @@ public:
void install_device(vme_amod_t amod, offs_t start, offs_t end, read32_delegate rhandler, write32_delegate whandler, uint32_t mask);
protected:
+ vme_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -217,25 +218,32 @@ protected:
// device type definition
-extern const device_type VME_SLOT;
+DECLARE_DEVICE_TYPE(VME_SLOT, vme_slot_device)
class device_vme_card_interface : public device_slot_card_interface
{
+ template <class ElementType> friend class simple_list;
public:
+ // inline configuration
+ static void static_set_vme_tag(device_t &device, const char *tag, const char *slottag);
+
// construction/destruction
- device_vme_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_vme_card_interface();
void set_vme_device();
virtual DECLARE_READ8_MEMBER(read8);
virtual DECLARE_WRITE8_MEMBER(write8);
+
+ device_vme_card_interface(const machine_config &mconfig, device_t &device);
+
+protected:
device_t *m_device;
- // inline configuration
- static void static_set_vme_tag(device_t &device, const char *tag, const char *slottag);
vme_device *m_vme;
const char *m_vme_tag, *m_vme_slottag;
int m_slot;
+
+private:
device_vme_card_interface *m_next;
};
@@ -250,4 +258,4 @@ public:
#define MCFG_VME_SLOT_REMOVE(_tag) \
MCFG_DEVICE_REMOVE(_tag)
-#endif /* VME_H_ */
+#endif // MAME_BUS_VME_VME_H
diff --git a/src/devices/bus/vme/vme_fccpu20.cpp b/src/devices/bus/vme/vme_fccpu20.cpp
index b5384d31e5c..d2076caefc1 100644
--- a/src/devices/bus/vme/vme_fccpu20.cpp
+++ b/src/devices/bus/vme/vme_fccpu20.cpp
@@ -183,13 +183,14 @@
* - VME bus arbiter as MAME always gets the bus
****************************************************************************/
#include "emu.h"
+#include "vme_fccpu20.h"
+
#include "cpu/m68000/m68000.h"
#include "bus/rs232/rs232.h"
#include "machine/68230pit.h"
#include "machine/68153bim.h"
#include "machine/68561mpcc.h"
#include "machine/clock.h"
-#include "vme_fccpu20.h"
//#define LOG_GENERAL (1U << 0)
#define LOG_SETUP (1U << 1)
@@ -213,13 +214,13 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VME_FCCPU20 = device_creator<vme_fccpu20_card_device>;
-const device_type VME_FCCPU21S = device_creator<vme_fccpu21s_card_device>;
-const device_type VME_FCCPU21 = device_creator<vme_fccpu21_card_device>;
-const device_type VME_FCCPU21A = device_creator<vme_fccpu21a_card_device>;
-const device_type VME_FCCPU21YA = device_creator<vme_fccpu21ya_card_device>;
-const device_type VME_FCCPU21B = device_creator<vme_fccpu21b_card_device>;
-const device_type VME_FCCPU21YB = device_creator<vme_fccpu21yb_card_device>;
+DEFINE_DEVICE_TYPE(VME_FCCPU20, vme_fccpu20_card_device, "fccpu20", "Force Computer SYS68K/CPU-20 CPU Board")
+DEFINE_DEVICE_TYPE(VME_FCCPU21S, vme_fccpu21s_card_device, "fccpu21s", "Force Computer SYS68K/CPU-21S CPU Board")
+DEFINE_DEVICE_TYPE(VME_FCCPU21, vme_fccpu21_card_device, "fccpu21", "Force Computer SYS68K/CPU-21 CPU Board")
+DEFINE_DEVICE_TYPE(VME_FCCPU21A, vme_fccpu21a_card_device, "fccpu21a", "Force Computer SYS68K/CPU-21A CPU Board")
+DEFINE_DEVICE_TYPE(VME_FCCPU21YA, vme_fccpu21ya_card_device, "fccpu21ya", "Force Computer SYS68K/CPU-21YA CPU Board")
+DEFINE_DEVICE_TYPE(VME_FCCPU21B, vme_fccpu21b_card_device, "fccpu21b", "Force Computer SYS68K/CPU-21B CPU Board")
+DEFINE_DEVICE_TYPE(VME_FCCPU21YB, vme_fccpu21yb_card_device, "fccpu21yb", "Force Computer SYS68K/CPU-21YB CPU Board")
#define CLOCK50 XTAL_50MHz /* HCJ */
#define CLOCK40 XTAL_40MHz /* HCJ */
@@ -364,8 +365,8 @@ machine_config_constructor vme_fccpu20_device::device_mconfig_additions() const
//**************************************************************************
// Base Device
//**************************************************************************
-vme_fccpu20_device::vme_fccpu20_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source, fc_board_t board_id) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+vme_fccpu20_device::vme_fccpu20_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, fc_board_t board_id) :
+ device_t(mconfig, type, tag, owner, clock)
, device_vme_card_interface(mconfig, *this)
, m_maincpu (*this, "maincpu")
, m_pit (*this, "pit")
@@ -382,46 +383,46 @@ vme_fccpu20_device::vme_fccpu20_device(const machine_config &mconfig, device_typ
// Card Devices
//**************************************************************************
vme_fccpu20_card_device::vme_fccpu20_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vme_fccpu20_card_device( mconfig, VME_FCCPU20, "Force Computer SYS68K/CPU-20 CPU Board", tag, owner, clock, "fccpu20", __FILE__)
+ : vme_fccpu20_card_device(mconfig, VME_FCCPU20, tag, owner, clock)
{
LOG("%s %s\n", tag, FUNCNAME);
}
vme_fccpu21s_card_device::vme_fccpu21s_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vme_fccpu21s_card_device( mconfig, VME_FCCPU21S, "Force Computer SYS68K/CPU-21S CPU Board", tag, owner, clock, "fccpu21s", __FILE__)
+ : vme_fccpu21s_card_device(mconfig, VME_FCCPU21S, tag, owner, clock)
{
LOG("%s %s\n", tag, FUNCNAME);
}
vme_fccpu21_card_device::vme_fccpu21_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vme_fccpu21_card_device( mconfig, VME_FCCPU21, "Force Computer SYS68K/CPU-21 CPU Board", tag, owner, clock, "fccpu21", __FILE__)
+ : vme_fccpu21_card_device(mconfig, VME_FCCPU21, tag, owner, clock)
{
LOG("%s %s\n", tag, FUNCNAME);
}
vme_fccpu21a_card_device::vme_fccpu21a_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vme_fccpu21a_card_device( mconfig, VME_FCCPU21A, "Force Computer SYS68K/CPU-21A CPU Board", tag, owner, clock, "fccpu21a", __FILE__)
+ : vme_fccpu21a_card_device(mconfig, VME_FCCPU21A, tag, owner, clock)
{
LOG("%s %s\n", tag, FUNCNAME);
}
// TODO: Change to 2MB on board RAM and move FLME memory and find/verify memory map
vme_fccpu21ya_card_device::vme_fccpu21ya_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vme_fccpu21ya_card_device( mconfig, VME_FCCPU21YA, "Force Computer SYS68K/CPU-21YA CPU Board", tag, owner, clock, "fccpu21ya", __FILE__)
+ : vme_fccpu21ya_card_device(mconfig, VME_FCCPU21YA, tag, owner, clock)
{
LOG("%s %s\n", tag, FUNCNAME);
}
vme_fccpu21b_card_device::vme_fccpu21b_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vme_fccpu21b_card_device( mconfig, VME_FCCPU21B, "Force Computer SYS68K/CPU-21B CPU Board", tag, owner, clock, "fccpu21b", __FILE__)
+ : vme_fccpu21b_card_device(mconfig, VME_FCCPU21B, tag, owner, clock)
{
LOG("%s %s\n", tag, FUNCNAME);
}
// TODO: Change to 2MB on board RAM and move FLME memory and find/verify memory map
vme_fccpu21yb_card_device::vme_fccpu21yb_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : vme_fccpu21yb_card_device( mconfig, VME_FCCPU21YB, "Force Computer SYS68K/CPU-21YB CPU Board", tag, owner, clock, "fccpu21yb", __FILE__)
+ : vme_fccpu21yb_card_device(mconfig, VME_FCCPU21YB, tag, owner, clock)
{
LOG("%s %s\n", tag, FUNCNAME);
}
diff --git a/src/devices/bus/vme/vme_fccpu20.h b/src/devices/bus/vme/vme_fccpu20.h
index fe92435a5a6..8bc9cbb2c4b 100644
--- a/src/devices/bus/vme/vme_fccpu20.h
+++ b/src/devices/bus/vme/vme_fccpu20.h
@@ -1,37 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:Joakim Larsson Edstrom
-#ifndef VME_FCCPU20_H
-#define VME_FCCPU20_H
-#pragma once
+#ifndef MAME_BUS_VME_VME_FCCPU20_H
+#define MAME_BUS_VME_VME_FCCPU20_H
+#pragma once
+#include "bus/vme/vme.h"
#include "machine/68561mpcc.h"
#include "machine/68230pit.h"
#include "machine/68153bim.h"
-#include "bus/vme/vme.h"
-extern const device_type VME_FCCPU20;
-extern const device_type VME_FCCPU21S;
-extern const device_type VME_FCCPU21;
-extern const device_type VME_FCCPU21A;
-extern const device_type VME_FCCPU21YA;
-extern const device_type VME_FCCPU21B;
-extern const device_type VME_FCCPU21YB;
-
-// PIT port C Board ID bits
-#define CPU20 0x40
-#define CPU21 0x00
-
-/* Board types */
-enum fc_board_t {
- cpu20,
- cpu21,
- cpu21a,
- cpu21ya,
- cpu21b,
- cpu21yb,
- cpu21s
-};
+DECLARE_DEVICE_TYPE(VME_FCCPU20, vme_fccpu20_card_device)
+DECLARE_DEVICE_TYPE(VME_FCCPU21S, vme_fccpu21s_card_device)
+DECLARE_DEVICE_TYPE(VME_FCCPU21, vme_fccpu21_card_device)
+DECLARE_DEVICE_TYPE(VME_FCCPU21A, vme_fccpu21a_card_device)
+DECLARE_DEVICE_TYPE(VME_FCCPU21YA, vme_fccpu21ya_card_device)
+DECLARE_DEVICE_TYPE(VME_FCCPU21B, vme_fccpu21b_card_device)
+DECLARE_DEVICE_TYPE(VME_FCCPU21YB, vme_fccpu21yb_card_device)
//**************************************************************************
// Base Device declaration
@@ -39,26 +24,48 @@ enum fc_board_t {
class vme_fccpu20_device : public device_t, public device_vme_card_interface
{
public:
- vme_fccpu20_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source, fc_board_t board_id);
-
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual void device_start() override;
// Below are duplicated declarations from src/mame/drivers/fccpu20.cpp
DECLARE_READ32_MEMBER (bootvect_r);
DECLARE_WRITE32_MEMBER (bootvect_w);
DECLARE_WRITE_LINE_MEMBER(bim_irq_callback);
- uint8_t bim_irq_state;
- int bim_irq_level;
/* PIT callbacks */
DECLARE_READ8_MEMBER (pita_r);
DECLARE_READ8_MEMBER (pitb_r);
DECLARE_READ8_MEMBER (pitc_r);
+protected:
+ // PIT port C Board ID bits
+ static constexpr unsigned CPU20 = 0x40;
+ static constexpr unsigned CPU21 = 0x00;
+
+ /* Board types */
+ enum fc_board_t {
+ cpu20,
+ cpu21,
+ cpu21a,
+ cpu21ya,
+ cpu21b,
+ cpu21yb,
+ cpu21s
+ };
+
+ vme_fccpu20_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, fc_board_t board_id);
+
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ uint8_t bim_irq_state;
+ int bim_irq_level;
+
+ emu_timer *m_arbiter_start; // Need a startup delay because it is hooked up to the sense inputs of the PIT
+
private:
required_device<cpu_device> m_maincpu;
required_device<pit68230_device> m_pit;
@@ -71,13 +78,7 @@ private:
uint32_t *m_sysrom;
uint32_t m_sysram[2];
void update_irq_to_maincpu();
- fc_board_t m_board_id;
-
- // Below replaces machine_start and machine_reset from src/mame/drivers/fccpu20.cpp
-protected:
- virtual void device_reset() override;
- virtual void device_timer (emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- emu_timer *m_arbiter_start; // Need a startup delay because it is hooked up to the sense inputs of the PIT
+ const fc_board_t m_board_id;
};
//**************************************************************************
@@ -88,57 +89,78 @@ class vme_fccpu20_card_device : public vme_fccpu20_device
{
public :
vme_fccpu20_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_fccpu20_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : vme_fccpu20_device( mconfig, type, name, tag, owner, clock, shortname, source, cpu20) { }
+
+protected:
+ vme_fccpu20_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu20)
+ { }
};
class vme_fccpu21s_card_device : public vme_fccpu20_device
{
public :
vme_fccpu21s_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_fccpu21s_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : vme_fccpu20_device( mconfig, type, name, tag, owner, clock, shortname, source, cpu21s) { }
+
+protected:
+ vme_fccpu21s_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21s)
+ { }
};
class vme_fccpu21_card_device : public vme_fccpu20_device
{
public :
vme_fccpu21_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_fccpu21_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : vme_fccpu20_device( mconfig, type, name, tag, owner, clock, shortname, source, cpu21) { }
+
+protected:
+ vme_fccpu21_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21)
+ { }
};
class vme_fccpu21a_card_device : public vme_fccpu20_device
{
public :
vme_fccpu21a_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_fccpu21a_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : vme_fccpu20_device( mconfig, type, name, tag, owner, clock, shortname, source, cpu21a) { }
+
+protected:
+ vme_fccpu21a_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21a)
+ { }
};
class vme_fccpu21ya_card_device : public vme_fccpu20_device
{
public :
vme_fccpu21ya_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_fccpu21ya_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : vme_fccpu20_device( mconfig, type, name, tag, owner, clock, shortname, source, cpu21ya) { }
+
+protected:
+ vme_fccpu21ya_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21ya)
+ { }
};
class vme_fccpu21b_card_device : public vme_fccpu20_device
{
public :
vme_fccpu21b_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_fccpu21b_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : vme_fccpu20_device( mconfig, type, name, tag, owner, clock, shortname, source, cpu21b) { }
+
+protected:
+ vme_fccpu21b_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21b)
+ { }
};
class vme_fccpu21yb_card_device : public vme_fccpu20_device
{
public :
vme_fccpu21yb_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_fccpu21yb_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : vme_fccpu20_device( mconfig, type, name, tag, owner, clock, shortname, source, cpu21yb) { }
+
+protected:
+ vme_fccpu21yb_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21yb)
+ { }
};
-#endif // VME_FCCPU20_H
+#endif // MAME_BUS_VME_VME_FCCPU20_H
diff --git a/src/devices/bus/vme/vme_fcisio.cpp b/src/devices/bus/vme/vme_fcisio.cpp
index 647d88ed5db..0c386c31e87 100644
--- a/src/devices/bus/vme/vme_fcisio.cpp
+++ b/src/devices/bus/vme/vme_fcisio.cpp
@@ -124,16 +124,15 @@
* PIT and DUSCCs are hooked up to the BIM to get further.
*
****************************************************************************/
-#define TODO "VME side hookup of 68153 BIM device needed\n"
-
#include "emu.h"
+#include "vme_fcisio.h"
+
#include "cpu/m68000/m68000.h"
#include "machine/scnxx562.h"
#include "machine/68230pit.h"
#include "machine/68153bim.h"
#include "bus/rs232/rs232.h"
#include "machine/clock.h"
-#include "vme_fcisio.h"
//#define LOG_GENERAL (1U << 0)
#define LOG_SETUP (1U << 1)
@@ -151,11 +150,13 @@
#define FUNCNAME __PRETTY_FUNCTION__
#endif
+#define TODO "VME side hookup of 68153 BIM device needed\n"
+
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VME_FCISIO1 = device_creator<vme_fcisio1_card_device>;
+DEFINE_DEVICE_TYPE(VME_FCISIO1, vme_fcisio1_card_device, "fcisio1", "Force Computer SYS68K/ISIO-1/2 Intelligent Serial I/O Board")
#define CPU_CLOCK XTAL_20MHz /* HCJ */
#define DUSCC_CLOCK XTAL_14_7456MHz /* HCJ */
@@ -384,32 +385,23 @@ const tiny_rom_entry *vme_fcisio1_card_device::device_rom_region() const
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
-vme_fcisio1_card_device::vme_fcisio1_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source)
- ,device_vme_card_interface(mconfig, *this)
- ,m_maincpu (*this, "maincpu")
- ,m_duscc0(*this, "duscc0")
- ,m_duscc1(*this, "duscc1")
- ,m_duscc2(*this, "duscc2")
- ,m_duscc3(*this, "duscc3")
- ,m_pit (*this, "pit")
- ,m_bim (*this, "bim")
+vme_fcisio1_card_device::vme_fcisio1_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_vme_card_interface(mconfig, *this)
+ , m_maincpu (*this, "maincpu")
+ , m_duscc0(*this, "duscc0")
+ , m_duscc1(*this, "duscc1")
+ , m_duscc2(*this, "duscc2")
+ , m_duscc3(*this, "duscc3")
+ , m_pit (*this, "pit")
+ , m_bim (*this, "bim")
{
LOG("%s\n", FUNCNAME);
}
-vme_fcisio1_card_device::vme_fcisio1_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VME_FCISIO1, "Force Computer SYS68K/ISIO-1/2 Intelligent Serial I/O Board", tag, owner, clock, "fcisio1", __FILE__)
- ,device_vme_card_interface(mconfig, *this)
- ,m_maincpu(*this, "maincpu")
- ,m_duscc0(*this, "duscc0")
- ,m_duscc1(*this, "duscc1")
- ,m_duscc2(*this, "duscc2")
- ,m_duscc3(*this, "duscc3")
- ,m_pit (*this, "pit")
- ,m_bim (*this, "bim")
+vme_fcisio1_card_device::vme_fcisio1_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : vme_fcisio1_card_device(mconfig, VME_FCISIO1, tag, owner, clock)
{
- LOG("%s %s\n", tag, FUNCNAME);
}
/* Start it up */
diff --git a/src/devices/bus/vme/vme_fcisio.h b/src/devices/bus/vme/vme_fcisio.h
index fc668cc276a..93e682ed8d1 100644
--- a/src/devices/bus/vme/vme_fcisio.h
+++ b/src/devices/bus/vme/vme_fcisio.h
@@ -1,7 +1,8 @@
// license:BSD-3-Clause
// copyright-holders:Joakim Larsson Edstrom
-#ifndef VME_FCISIO_H
-#define VME_FCISIO_H
+#ifndef MAME_BUS_VME_VME_FCISIO_H
+#define MAME_BUS_VME_VME_FCISIO_H
+
#pragma once
#include "machine/scnxx562.h"
@@ -9,14 +10,11 @@
#include "machine/68153bim.h"
#include "bus/vme/vme.h"
-extern const device_type VME_FCISIO1;
+DECLARE_DEVICE_TYPE(VME_FCISIO1, vme_fcisio1_card_device)
-class vme_fcisio1_card_device :
- public device_t
- ,public device_vme_card_interface
+class vme_fcisio1_card_device : public device_t, public device_vme_card_interface
{
public:
- vme_fcisio1_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
vme_fcisio1_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -31,6 +29,8 @@ public:
DECLARE_WRITE8_MEMBER (not_implemented_w);
protected:
+ vme_fcisio1_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
@@ -48,4 +48,4 @@ private:
uint16_t *m_sysrom;
};
-#endif // VME_FCISIO_H
+#endif // MAME_BUS_VME_VME_FCISIO_H
diff --git a/src/devices/bus/vme/vme_fcscsi.cpp b/src/devices/bus/vme/vme_fcscsi.cpp
index 3d1be933dff..b476ff2efe3 100644
--- a/src/devices/bus/vme/vme_fcscsi.cpp
+++ b/src/devices/bus/vme/vme_fcscsi.cpp
@@ -142,16 +142,15 @@
* - Let a controller CPU board (eg CPU-1 or CPU-30) boot from floppy or SCSI disk
*
****************************************************************************/
-#define TODO "Driver for SCSI NCR5386s device needed\n"
-
#include "emu.h"
+#include "vme_fcscsi.h"
+
#include "cpu/m68000/m68000.h"
#include "machine/68230pit.h"
#include "machine/wd_fdc.h"
#include "machine/hd63450.h" // compatible with MC68450
#include "machine/clock.h"
#include "formats/pc_dsk.h"
-#include "vme_fcscsi.h"
#define LOG_GENERAL 0x01
#define LOG_SETUP 0x02
@@ -175,11 +174,13 @@
#define FUNCNAME __PRETTY_FUNCTION__
#endif
+#define TODO "Driver for SCSI NCR5386s device needed\n"
+
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VME_FCSCSI1 = device_creator<vme_fcscsi1_card_device>;
+DEFINE_DEVICE_TYPE(VME_FCSCSI1, vme_fcscsi1_card_device, "fcscsi1", "Force Computer SYS68K/ISCSI-1 Intelligent Mass Storage Controller Board")
#define CPU_CRYSTAL XTAL_20MHz /* Jauch */
#define PIT_CRYSTAL XTAL_16MHz /* Jauch */
@@ -194,7 +195,7 @@ static ADDRESS_MAP_START (fcscsi1_mem, AS_PROGRAM, 16, vme_fcscsi1_card_device)
// AM_RANGE (0xc40000, 0xc4001f) AM_DEVREADWRITE8("scsi", ncr5386_device, read, write, 0x00ff) /* SCSI Controller interface - device support not yet available*/
AM_RANGE (0xc40000, 0xc4001f) AM_READWRITE8 (scsi_r, scsi_w, 0x00ff)
AM_RANGE (0xc80000, 0xc800ff) AM_DEVREADWRITE("mc68450", hd63450_device, read, write) /* DMA Controller interface */
- AM_RANGE (0xcc0000, 0xcc0007) AM_DEVREADWRITE8("fdc", wd1772_t, read, write, 0x00ff) /* Floppy Controller interface */
+ AM_RANGE (0xcc0000, 0xcc0007) AM_DEVREADWRITE8("fdc", wd1772_device, read, write, 0x00ff) /* Floppy Controller interface */
AM_RANGE (0xcc0008, 0xcc0009) AM_READWRITE8 (tcr_r, tcr_w, 0x00ff) /* The Control Register, SCSI ID and FD drive select bits */
ADDRESS_MAP_END
@@ -274,28 +275,21 @@ const tiny_rom_entry *vme_fcscsi1_card_device::device_rom_region() const
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
-vme_fcscsi1_card_device::vme_fcscsi1_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source)
- ,device_vme_card_interface(mconfig, *this)
- ,m_maincpu (*this, "maincpu")
- ,m_fdc (*this, "fdc")
- ,m_pit (*this, "pit")
- ,m_dmac(*this, "mc68450")
- ,m_tcr (0)
+vme_fcscsi1_card_device::vme_fcscsi1_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_vme_card_interface(mconfig, *this)
+ , m_maincpu(*this, "maincpu")
+ , m_fdc(*this, "fdc")
+ , m_pit(*this, "pit")
+ , m_dmac(*this, "mc68450")
+ , m_tcr(0)
{
LOG("%s\n", FUNCNAME);
}
-vme_fcscsi1_card_device::vme_fcscsi1_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VME_FCSCSI1, "Force Computer SYS68K/ISCSI-1 Intelligent Mass Storage Controller Board", tag, owner, clock, "fcscsi1", __FILE__)
- ,device_vme_card_interface(mconfig, *this)
- ,m_maincpu(*this, "maincpu")
- ,m_fdc(*this, "fdc")
- ,m_pit(*this, "pit")
- ,m_dmac(*this, "mc68450")
- ,m_tcr(0)
+vme_fcscsi1_card_device::vme_fcscsi1_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : vme_fcscsi1_card_device(mconfig, VME_FCSCSI1, tag, owner, clock)
{
- LOG("%s\n", FUNCNAME);
}
/* Start it up */
diff --git a/src/devices/bus/vme/vme_fcscsi.h b/src/devices/bus/vme/vme_fcscsi.h
index 91b65a91552..c25a3edd431 100644
--- a/src/devices/bus/vme/vme_fcscsi.h
+++ b/src/devices/bus/vme/vme_fcscsi.h
@@ -1,7 +1,8 @@
// license:BSD-3-Clause
// copyright-holders:Joakim Larsson Edstrom
-#ifndef VME_FCSCSI_H
-#define VME_FCSCSI_H
+#ifndef MAME_BUS_VME_VME_FCSCSI_H
+#define MAME_BUS_VME_VME_FCSCSI_H
+
#pragma once
#include "machine/68230pit.h"
@@ -16,7 +17,6 @@ class vme_fcscsi1_card_device :
,public device_vme_card_interface
{
public:
- vme_fcscsi1_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
vme_fcscsi1_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
@@ -41,25 +41,27 @@ public:
DECLARE_FLOPPY_FORMATS(floppy_formats);
/* Dummy driver routines */
- DECLARE_READ8_MEMBER (not_implemented_r);
- DECLARE_WRITE8_MEMBER (not_implemented_w);
-
- DECLARE_READ8_MEMBER (scsi_r);
- DECLARE_WRITE8_MEMBER (scsi_w);
-
- uint8_t fdc_irq_state;
- uint8_t dmac_irq_state;
- int dmac_irq_vector;
+ DECLARE_READ8_MEMBER(not_implemented_r);
+ DECLARE_WRITE8_MEMBER(not_implemented_w);
- void update_irq_to_maincpu();
+ DECLARE_READ8_MEMBER(scsi_r);
+ DECLARE_WRITE8_MEMBER(scsi_w);
protected:
+ vme_fcscsi1_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
+ void update_irq_to_maincpu();
+
+ uint8_t fdc_irq_state;
+ uint8_t dmac_irq_state;
+ int dmac_irq_vector;
+
private:
required_device<cpu_device> m_maincpu;
- required_device<wd1772_t> m_fdc;
+ required_device<wd1772_device> m_fdc;
required_device<pit68230_device> m_pit;
required_device<hd63450_device> m_dmac;
@@ -69,5 +71,4 @@ private:
uint16_t *m_sysrom;
};
-#endif // VME_FCSCSI_H
-
+#endif // MAME_BUS_VME_VME_FCSCSI_H
diff --git a/src/devices/bus/vme/vme_mvme350.cpp b/src/devices/bus/vme/vme_mvme350.cpp
index d2fc6d07836..b353eceb215 100644
--- a/src/devices/bus/vme/vme_mvme350.cpp
+++ b/src/devices/bus/vme/vme_mvme350.cpp
@@ -128,9 +128,10 @@
****************************************************************************/
#include "emu.h"
+#include "vme_mvme350.h"
+
#include "cpu/m68000/m68000.h"
#include "machine/68230pit.h"
-#include "vme_mvme350.h"
#define LOG_GENERAL 0x01
#define LOG_SETUP 0x02
@@ -158,7 +159,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VME_MVME350 = device_creator<vme_mvme350_card_device>;
+DEFINE_DEVICE_TYPE(VME_MVME350, vme_mvme350_card_device, "mvme350", "Motorola MVME-350 Intelligent Tape Controller")
#define MVME350_CPU_TAG "mvme350_cpu"
#define MVME350_ROM "mvme350_rom"
@@ -212,16 +213,15 @@ const tiny_rom_entry *vme_mvme350_card_device::device_rom_region() const
// LIVE DEVICE
//**************************************************************************
-vme_mvme350_card_device::vme_mvme350_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_vme_card_interface(mconfig, *this)
+vme_mvme350_card_device::vme_mvme350_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_vme_card_interface(mconfig, *this)
{
LOG("%s %s\n", tag, FUNCNAME);
}
vme_mvme350_card_device::vme_mvme350_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VME_MVME350, "Motorola MVME-350 Intelligent Tape Controller", tag, owner, clock, "mvme350", __FILE__),
- device_vme_card_interface(mconfig, *this)
+ vme_mvme350_card_device(mconfig, VME_MVME350, tag, owner, clock)
{
LOG("%s %s\n", tag, FUNCNAME);
}
diff --git a/src/devices/bus/vme/vme_mvme350.h b/src/devices/bus/vme/vme_mvme350.h
index 54aecc1ec82..75f58762318 100644
--- a/src/devices/bus/vme/vme_mvme350.h
+++ b/src/devices/bus/vme/vme_mvme350.h
@@ -1,20 +1,18 @@
// license:BSD-3-Clause
// copyright-holders:Joakim Larsson Edstrom
-#ifndef VME_MVME350_H
-#define VME_MVME350_H
+#ifndef MAME_BUS_VME_VME_MVME350_H
+#define MAME_BUS_VME_VME_MVME350_H
+
#pragma once
#include "bus/vme/vme.h"
-extern const device_type VME_MVME350;
+DECLARE_DEVICE_TYPE(VME_MVME350, vme_mvme350_card_device)
-class vme_mvme350_card_device :
- public device_t
- ,public device_vme_card_interface
+class vme_mvme350_card_device : public device_t, public device_vme_card_interface
{
public:
vme_mvme350_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_mvme350_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
@@ -23,10 +21,12 @@ public:
// Shared memory methods to be exported to the VME bus
// virtual DECLARE_READ16_MEMBER (read16) override;
// virtual DECLARE_WRITE16_MEMBER (write16) override;
+
protected:
+ vme_mvme350_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
-private:
};
-#endif // VME_MVME350_H
+#endif // MAME_BUS_VME_VME_MVME350_H
diff --git a/src/devices/bus/vme/vme_mzr8105.cpp b/src/devices/bus/vme/vme_mzr8105.cpp
index 24eac1dfc9d..23a60feaa17 100644
--- a/src/devices/bus/vme/vme_mzr8105.cpp
+++ b/src/devices/bus/vme/vme_mzr8105.cpp
@@ -30,7 +30,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VME_MZR8105 = device_creator<vme_mzr8105_card_device>;
+DEFINE_DEVICE_TYPE(VME_MZR8105, vme_mzr8105_card_device, "mzr8105", "Mizar 8105 68K CPU board")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -46,15 +46,14 @@ machine_config_constructor vme_mzr8105_card_device::device_mconfig_additions() c
}
vme_mzr8105_card_device::vme_mzr8105_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VME_MZR8105, "Mizar 8105 68K CPU board", tag, owner, clock, "mzr8105", __FILE__),
- device_vme_card_interface(mconfig, *this)
+ vme_mzr8105_card_device(mconfig, VME_MZR8105, tag, owner, clock)
{
m_slot = 1;
LOG("%s %s\n", tag, FUNCNAME);
}
-vme_mzr8105_card_device::vme_mzr8105_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+vme_mzr8105_card_device::vme_mzr8105_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_vme_card_interface(mconfig, *this)
{
LOG("%s %s\n", tag, FUNCNAME);
diff --git a/src/devices/bus/vme/vme_mzr8105.h b/src/devices/bus/vme/vme_mzr8105.h
index 525cf691408..0378f19b727 100644
--- a/src/devices/bus/vme/vme_mzr8105.h
+++ b/src/devices/bus/vme/vme_mzr8105.h
@@ -1,24 +1,27 @@
// license:BSD-3-Clause
// copyright-holders:Joakim Larsson Edstrom
-#ifndef VME_MZR8105_H
-#define VME_MZR8105_H
+#ifndef MAME_BUS_VME_VME_MZR8105_H
+#define MAME_BUS_VME_VME_MZR8105_H
+
#pragma once
#include "bus/vme/vme.h"
-extern const device_type VME_MZR8105;
+DECLARE_DEVICE_TYPE(VME_MZR8105, vme_mzr8105_card_device)
-class vme_mzr8105_card_device : public device_t
- ,public device_vme_card_interface
+class vme_mzr8105_card_device : public device_t, public device_vme_card_interface
{
public:
vme_mzr8105_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_mzr8105_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
+
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
-private:
+
+protected:
+ vme_mzr8105_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
};
-#endif // VME_MZR8105_H
+#endif // MAME_BUS_VME_VME_MZR8105_H
diff --git a/src/devices/bus/vme/vme_mzr8300.cpp b/src/devices/bus/vme/vme_mzr8300.cpp
index a9d85736661..571422a1ea6 100644
--- a/src/devices/bus/vme/vme_mzr8300.cpp
+++ b/src/devices/bus/vme/vme_mzr8300.cpp
@@ -83,6 +83,7 @@
#include "emu.h"
#include "vme_mzr8300.h"
+
#include "machine/z80sio.h"
#include "bus/rs232/rs232.h"
#include "machine/clock.h"
@@ -113,7 +114,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type VME_MZR8300 = device_creator<vme_mzr8300_card_device>;
+DEFINE_DEVICE_TYPE(VME_MZR8300, vme_mzr8300_card_device, "mzr8300", "Mizar 8300 SIO serial board")
/* These values are borrowed just to get the terminal going and should be replaced
* once a proper serial board hardware (ie MZ 8300) is found and emulated. */
@@ -128,8 +129,8 @@ MACHINE_CONFIG_FRAGMENT( mzr8300 )
MCFG_Z80SIO_OUT_RTSB_CB(DEVWRITELINE("rs232p1", rs232_port_device, write_rts))
MCFG_RS232_PORT_ADD ("rs232p1", default_rs232_devices, "terminal")
- MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("sio0", upd7201N_device, rxb_w))
- MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("sio0", upd7201N_device, ctsb_w))
+ MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("sio0", upd7201_new_device, rxb_w))
+ MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("sio0", upd7201_new_device, ctsb_w))
MCFG_Z80SIO_ADD("sio1", XTAL_4MHz, 0, 0, 0, 0 )
MACHINE_CONFIG_END
@@ -150,18 +151,16 @@ machine_config_constructor vme_mzr8300_card_device::device_mconfig_additions() c
// LIVE DEVICE
//**************************************************************************
-vme_mzr8300_card_device::vme_mzr8300_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_vme_card_interface(mconfig, *this)
+vme_mzr8300_card_device::vme_mzr8300_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_vme_card_interface(mconfig, *this)
{
LOG("%s %s\n", tag, FUNCNAME);
}
vme_mzr8300_card_device::vme_mzr8300_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, VME_MZR8300, "Mizar 8300 SIO serial board", tag, owner, clock, "mzr8300", __FILE__),
- device_vme_card_interface(mconfig, *this)
+ vme_mzr8300_card_device(mconfig, VME_MZR8300, tag, owner, clock)
{
- LOG("%s %s\n", tag, FUNCNAME);
}
void vme_mzr8300_card_device::device_start()
diff --git a/src/devices/bus/vme/vme_mzr8300.h b/src/devices/bus/vme/vme_mzr8300.h
index b7145037073..cce6c9da7a5 100644
--- a/src/devices/bus/vme/vme_mzr8300.h
+++ b/src/devices/bus/vme/vme_mzr8300.h
@@ -1,30 +1,30 @@
// license:BSD-3-Clause
// copyright-holders:Joakim Larsson Edstrom
-#ifndef VME_MZR8300_H
-#define VME_MZR8300_H
+#ifndef MAME_BUS_VME_VME_MZR8300_H
+#define MAME_BUS_VME_VME_MZR8300_H
+
#pragma once
#include "bus/vme/vme.h"
extern const device_type VME_MZR8300;
-class vme_mzr8300_card_device :
- public device_t
- ,public device_vme_card_interface
+class vme_mzr8300_card_device : public device_t, public device_vme_card_interface
{
public:
vme_mzr8300_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- vme_mzr8300_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
// virtual DECLARE_READ8_MEMBER (read8) override;
// virtual DECLARE_WRITE8_MEMBER (write8) override;
+
protected:
+ vme_mzr8300_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
virtual void device_reset() override;
-private:
};
-#endif // VME_MZR8300_H
+#endif // MAME_BUS_VME_VME_MZR8300_H
diff --git a/src/devices/bus/vtech/ioexp/carts.cpp b/src/devices/bus/vtech/ioexp/carts.cpp
index d9ddb4cb9ec..ae579ba23e5 100644
--- a/src/devices/bus/vtech/ioexp/carts.cpp
+++ b/src/devices/bus/vtech/ioexp/carts.cpp
@@ -9,7 +9,11 @@
#include "emu.h"
#include "carts.h"
-SLOT_INTERFACE_START( ioexp_slot_carts )
- SLOT_INTERFACE("joystick", JOYSTICK_INTERFACE)
- SLOT_INTERFACE("printer", PRINTER_INTERFACE)
+#include "joystick.h"
+#include "printer.h"
+
+
+SLOT_INTERFACE_START( vtech_ioexp_slot_carts )
+ SLOT_INTERFACE("joystick", VTECH_JOYSTICK_INTERFACE)
+ SLOT_INTERFACE("printer", VTECH_PRINTER_INTERFACE)
SLOT_INTERFACE_END
diff --git a/src/devices/bus/vtech/ioexp/carts.h b/src/devices/bus/vtech/ioexp/carts.h
index 6bdd27b2ee8..a6195747389 100644
--- a/src/devices/bus/vtech/ioexp/carts.h
+++ b/src/devices/bus/vtech/ioexp/carts.h
@@ -6,15 +6,12 @@
***************************************************************************/
-#pragma once
-
-#ifndef __VTECH_IOEXP_CARTS_H__
-#define __VTECH_IOEXP_CARTS_H__
+#ifndef MAME_BUS_VTECH_IOEXP_CARTS_H
+#define MAME_BUS_VTECH_IOEXP_CARTS_H
+#pragma once
-#include "joystick.h"
-#include "printer.h"
-SLOT_INTERFACE_EXTERN( ioexp_slot_carts );
+SLOT_INTERFACE_EXTERN( vtech_ioexp_slot_carts );
-#endif // __VTECH_IOEXP_CARTS_H__
+#endif // MAME_BUS_VTECH_IOEXP_CARTS_H
diff --git a/src/devices/bus/vtech/ioexp/ioexp.cpp b/src/devices/bus/vtech/ioexp/ioexp.cpp
index 178b35137ab..c2916a0ba14 100644
--- a/src/devices/bus/vtech/ioexp/ioexp.cpp
+++ b/src/devices/bus/vtech/ioexp/ioexp.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type IOEXP_SLOT = device_creator<ioexp_slot_device>;
+DEFINE_DEVICE_TYPE(VTECH_IOEXP_SLOT, vtech_ioexp_slot_device, "vtech_ioexp_slot", "Laser/VZ I/O Expansion Slot")
//**************************************************************************
@@ -24,11 +24,11 @@ const device_type IOEXP_SLOT = device_creator<ioexp_slot_device>;
//**************************************************************************
//-------------------------------------------------
-// ioexp_slot_device - constructor
+// vtech_ioexp_slot_device - constructor
//-------------------------------------------------
-ioexp_slot_device::ioexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, IOEXP_SLOT, "Peripheral Expansion Slot", tag, owner, clock, "ioexp_slot", __FILE__),
+vtech_ioexp_slot_device::vtech_ioexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_IOEXP_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_io(nullptr),
m_cart(nullptr)
@@ -36,10 +36,10 @@ ioexp_slot_device::ioexp_slot_device(const machine_config &mconfig, const char *
}
//-------------------------------------------------
-// ioexp_slot_device - destructor
+// vtech_ioexp_slot_device - destructor
//-------------------------------------------------
-ioexp_slot_device::~ioexp_slot_device()
+vtech_ioexp_slot_device::~vtech_ioexp_slot_device()
{
}
@@ -47,7 +47,7 @@ ioexp_slot_device::~ioexp_slot_device()
// device_start - device-specific startup
//-------------------------------------------------
-void ioexp_slot_device::device_start()
+void vtech_ioexp_slot_device::device_start()
{
}
@@ -55,7 +55,7 @@ void ioexp_slot_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void ioexp_slot_device::device_reset()
+void vtech_ioexp_slot_device::device_reset()
{
}
@@ -63,7 +63,7 @@ void ioexp_slot_device::device_reset()
// set_io_space - set address space we are attached to
//-------------------------------------------------
-void ioexp_slot_device::set_io_space(address_space *io)
+void vtech_ioexp_slot_device::set_io_space(address_space *io)
{
m_io = io;
}
@@ -74,19 +74,19 @@ void ioexp_slot_device::set_io_space(address_space *io)
//**************************************************************************
//-------------------------------------------------
-// device_ioexp_interface - constructor
+// device_vtech_ioexp_interface - constructor
//-------------------------------------------------
-device_ioexp_interface::device_ioexp_interface(const machine_config &mconfig, device_t &device) :
+device_vtech_ioexp_interface::device_vtech_ioexp_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device)
{
- m_slot = dynamic_cast<ioexp_slot_device *>(device.owner());
+ m_slot = dynamic_cast<vtech_ioexp_slot_device *>(device.owner());
}
//-------------------------------------------------
-// ~device_ioexp_interface - destructor
+// ~device_vtech_ioexp_interface - destructor
//-------------------------------------------------
-device_ioexp_interface::~device_ioexp_interface()
+device_vtech_ioexp_interface::~device_vtech_ioexp_interface()
{
}
diff --git a/src/devices/bus/vtech/ioexp/ioexp.h b/src/devices/bus/vtech/ioexp/ioexp.h
index 6dec80c6c4a..7b9e97a7e03 100644
--- a/src/devices/bus/vtech/ioexp/ioexp.h
+++ b/src/devices/bus/vtech/ioexp/ioexp.h
@@ -24,10 +24,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_VTECH_IOEXP_IOEXP_H
+#define MAME_BUS_VTECH_IOEXP_IOEXP_H
-#ifndef __VTECH_IOEXP_H__
-#define __VTECH_IOEXP_H__
+#pragma once
@@ -36,51 +36,55 @@
//**************************************************************************
#define MCFG_IOEXP_SLOT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, IOEXP_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(ioexp_slot_carts, nullptr, false)
+ MCFG_DEVICE_ADD(_tag, VTECH_IOEXP_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(vtech_ioexp_slot_carts, nullptr, false)
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-class device_ioexp_interface;
+class device_vtech_ioexp_interface;
-class ioexp_slot_device : public device_t, public device_slot_interface
+class vtech_ioexp_slot_device : public device_t, public device_slot_interface
{
+ friend class device_vtech_ioexp_interface;
public:
// construction/destruction
- ioexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~ioexp_slot_device();
+ vtech_ioexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~vtech_ioexp_slot_device();
void set_io_space(address_space *io);
- address_space *m_io;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- device_ioexp_interface *m_cart;
+ address_space *m_io;
+
+ device_vtech_ioexp_interface *m_cart;
};
// class representing interface-specific live ioexp device
-class device_ioexp_interface : public device_slot_card_interface
+class device_vtech_ioexp_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_ioexp_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_ioexp_interface();
+ virtual ~device_vtech_ioexp_interface();
protected:
- ioexp_slot_device *m_slot;
+ device_vtech_ioexp_interface(const machine_config &mconfig, device_t &device);
+
+ address_space &io_space() { return *m_slot->m_io; }
+
+ vtech_ioexp_slot_device *m_slot;
};
// device type definition
-extern const device_type IOEXP_SLOT;
+DECLARE_DEVICE_TYPE(VTECH_IOEXP_SLOT, vtech_ioexp_slot_device)
// include here so drivers don't need to
#include "carts.h"
-#endif // __VTECH_IOEXP_H__
+#endif // MAME_BUS_VTECH_IOEXP_IOEXP_H
diff --git a/src/devices/bus/vtech/ioexp/joystick.cpp b/src/devices/bus/vtech/ioexp/joystick.cpp
index f73bf722be7..7570deca3b5 100644
--- a/src/devices/bus/vtech/ioexp/joystick.cpp
+++ b/src/devices/bus/vtech/ioexp/joystick.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type JOYSTICK_INTERFACE = device_creator<joystick_interface_device>;
+DEFINE_DEVICE_TYPE(VTECH_JOYSTICK_INTERFACE, vtech_joystick_interface_device, "vtech_joystick", "Laser/VZ Joystick Interface")
//-------------------------------------------------
// input_ports - device-specific input ports
@@ -51,7 +51,7 @@ static INPUT_PORTS_START( joystick )
PORT_BIT(0xe0, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
-ioport_constructor joystick_interface_device::device_input_ports() const
+ioport_constructor vtech_joystick_interface_device::device_input_ports() const
{
return INPUT_PORTS_NAME( joystick );
}
@@ -62,12 +62,12 @@ ioport_constructor joystick_interface_device::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// joystick_interface_device - constructor
+// vtech_joystick_interface_device - constructor
//-------------------------------------------------
-joystick_interface_device::joystick_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, JOYSTICK_INTERFACE, "Laser/VZ Joystick Interface", tag, owner, clock, "joystick", __FILE__),
- device_ioexp_interface(mconfig, *this),
+vtech_joystick_interface_device::vtech_joystick_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_JOYSTICK_INTERFACE, tag, owner, clock),
+ device_vtech_ioexp_interface(mconfig, *this),
m_joy0(*this, "joystick_0"),
m_joy0_arm(*this, "joystick_0_arm"),
m_joy1(*this, "joystick_1"),
@@ -79,7 +79,7 @@ joystick_interface_device::joystick_interface_device(const machine_config &mconf
// device_start - device-specific startup
//-------------------------------------------------
-void joystick_interface_device::device_start()
+void vtech_joystick_interface_device::device_start()
{
}
@@ -87,9 +87,9 @@ void joystick_interface_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void joystick_interface_device::device_reset()
+void vtech_joystick_interface_device::device_reset()
{
- m_slot->m_io->install_read_handler(0x20, 0x2f, read8_delegate(FUNC(joystick_interface_device::joystick_r), this));
+ io_space().install_read_handler(0x20, 0x2f, read8_delegate(FUNC(vtech_joystick_interface_device::joystick_r), this));
}
@@ -97,7 +97,7 @@ void joystick_interface_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-READ8_MEMBER( joystick_interface_device::joystick_r )
+READ8_MEMBER( vtech_joystick_interface_device::joystick_r )
{
uint8_t data = 0xff;
diff --git a/src/devices/bus/vtech/ioexp/joystick.h b/src/devices/bus/vtech/ioexp/joystick.h
index 803e3bd5848..0c05403ad2b 100644
--- a/src/devices/bus/vtech/ioexp/joystick.h
+++ b/src/devices/bus/vtech/ioexp/joystick.h
@@ -9,10 +9,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_VTECH_IOEXP_JOYSTICK_H
+#define MAME_BUS_VTECH_IOEXP_JOYSTICK_H
-#ifndef __VTECH_IOEXP_JOYSTICK_H__
-#define __VTECH_IOEXP_JOYSTICK_H__
+#pragma once
#include "ioexp.h"
@@ -23,11 +23,11 @@
// ======================> joystick_interface_device
-class joystick_interface_device : public device_t, public device_ioexp_interface
+class vtech_joystick_interface_device : public device_t, public device_vtech_ioexp_interface
{
public:
// construction/destruction
- joystick_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_joystick_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8_MEMBER( joystick_r );
@@ -44,6 +44,6 @@ private:
};
// device type definition
-extern const device_type JOYSTICK_INTERFACE;
+DECLARE_DEVICE_TYPE(VTECH_JOYSTICK_INTERFACE, vtech_joystick_interface_device)
-#endif // __VTECH_IOEXP_JOYSTICK_H__
+#endif // MAME_BUS_VTECH_IOEXP_JOYSTICK_H
diff --git a/src/devices/bus/vtech/ioexp/printer.cpp b/src/devices/bus/vtech/ioexp/printer.cpp
index 974d8c3818c..970bf08303d 100644
--- a/src/devices/bus/vtech/ioexp/printer.cpp
+++ b/src/devices/bus/vtech/ioexp/printer.cpp
@@ -17,7 +17,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type PRINTER_INTERFACE = device_creator<printer_interface_device>;
+DEFINE_DEVICE_TYPE(VTECH_PRINTER_INTERFACE, vtech_printer_interface_device, "vtech_printer", "Laser/VZ Printer Interface")
//-------------------------------------------------
// machine_config_additions - device-specific
@@ -26,11 +26,11 @@ const device_type PRINTER_INTERFACE = device_creator<printer_interface_device>;
static MACHINE_CONFIG_FRAGMENT( printer_interface )
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
- MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(printer_interface_device, busy_w))
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(vtech_printer_interface_device, busy_w))
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("latch", "centronics")
MACHINE_CONFIG_END
-machine_config_constructor printer_interface_device::device_mconfig_additions() const
+machine_config_constructor vtech_printer_interface_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( printer_interface );
}
@@ -41,12 +41,12 @@ machine_config_constructor printer_interface_device::device_mconfig_additions()
//**************************************************************************
//-------------------------------------------------
-// printer_interface_device - constructor
+// vtech_printer_interface_device - constructor
//-------------------------------------------------
-printer_interface_device::printer_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, PRINTER_INTERFACE, "Laser/VZ Printer Interface", tag, owner, clock, "printer", __FILE__),
- device_ioexp_interface(mconfig, *this),
+vtech_printer_interface_device::vtech_printer_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_PRINTER_INTERFACE, tag, owner, clock),
+ device_vtech_ioexp_interface(mconfig, *this),
m_centronics(*this, "centronics"),
m_latch(*this, "latch"),
m_centronics_busy(0)
@@ -57,7 +57,7 @@ printer_interface_device::printer_interface_device(const machine_config &mconfig
// device_start - device-specific startup
//-------------------------------------------------
-void printer_interface_device::device_start()
+void vtech_printer_interface_device::device_start()
{
}
@@ -65,11 +65,11 @@ void printer_interface_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void printer_interface_device::device_reset()
+void vtech_printer_interface_device::device_reset()
{
- m_slot->m_io->install_read_handler(0x00, 0x00, read8_delegate(FUNC(printer_interface_device::busy_r), this));
- m_slot->m_io->install_write_handler(0x0d, 0x0d, write8_delegate(FUNC(printer_interface_device::strobe_w), this));
- m_slot->m_io->install_write_handler(0x0e, 0x0e, write8_delegate(FUNC(output_latch_device::write), m_latch.target()));
+ io_space().install_read_handler(0x00, 0x00, read8_delegate(FUNC(vtech_printer_interface_device::busy_r), this));
+ io_space().install_write_handler(0x0d, 0x0d, write8_delegate(FUNC(vtech_printer_interface_device::strobe_w), this));
+ io_space().install_write_handler(0x0e, 0x0e, write8_delegate(FUNC(output_latch_device::write), m_latch.target()));
}
@@ -77,17 +77,17 @@ void printer_interface_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-WRITE_LINE_MEMBER( printer_interface_device::busy_w )
+WRITE_LINE_MEMBER( vtech_printer_interface_device::busy_w )
{
m_centronics_busy = state;
}
-READ8_MEMBER( printer_interface_device::busy_r )
+READ8_MEMBER( vtech_printer_interface_device::busy_r )
{
return 0xfe | m_centronics_busy;
}
-WRITE8_MEMBER( printer_interface_device::strobe_w )
+WRITE8_MEMBER( vtech_printer_interface_device::strobe_w )
{
m_centronics->write_strobe(1);
m_centronics->write_strobe(0);
diff --git a/src/devices/bus/vtech/ioexp/printer.h b/src/devices/bus/vtech/ioexp/printer.h
index 37a25a35fad..8a05106bf59 100644
--- a/src/devices/bus/vtech/ioexp/printer.h
+++ b/src/devices/bus/vtech/ioexp/printer.h
@@ -8,10 +8,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_VTECH_IOEXP_PRINTER_H
+#define MAME_BUS_VTECH_IOEXP_PRINTER_H
-#ifndef __VTECH_IOEXP_PRINTER_H__
-#define __VTECH_IOEXP_PRINTER_H__
+#pragma once
#include "ioexp.h"
#include "bus/centronics/ctronics.h"
@@ -23,11 +23,11 @@
// ======================> printer_interface_device
-class printer_interface_device : public device_t, public device_ioexp_interface
+class vtech_printer_interface_device : public device_t, public device_vtech_ioexp_interface
{
public:
// construction/destruction
- printer_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_printer_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_WRITE_LINE_MEMBER( busy_w );
DECLARE_READ8_MEMBER( busy_r );
@@ -46,6 +46,6 @@ private:
};
// device type definition
-extern const device_type PRINTER_INTERFACE;
+DECLARE_DEVICE_TYPE(VTECH_PRINTER_INTERFACE, vtech_printer_interface_device)
-#endif // __VTECH_IOEXP_PRINTER_H__
+#endif // MAME_BUS_VTECH_IOEXP_PRINTER_H
diff --git a/src/devices/bus/vtech/memexp/carts.cpp b/src/devices/bus/vtech/memexp/carts.cpp
index c4dddf1bbae..9ca95b56dee 100644
--- a/src/devices/bus/vtech/memexp/carts.cpp
+++ b/src/devices/bus/vtech/memexp/carts.cpp
@@ -9,13 +9,20 @@
#include "emu.h"
#include "carts.h"
-SLOT_INTERFACE_START( memexp_slot_carts )
- SLOT_INTERFACE("floppy", FLOPPY_CONTROLLER)
- SLOT_INTERFACE("laser110_16k", LASER110_16K)
- SLOT_INTERFACE("laser210_16k", LASER210_16K)
- SLOT_INTERFACE("laser310_16k", LASER310_16K)
- SLOT_INTERFACE("laser_64k", LASER_64K)
- SLOT_INTERFACE("rs232", RS232_INTERFACE)
- SLOT_INTERFACE("rtty", RTTY_INTERFACE)
- SLOT_INTERFACE("wordpro", WORDPRO)
+#include "floppy.h"
+#include "memory.h"
+#include "rs232.h"
+#include "rtty.h"
+#include "wordpro.h"
+
+
+SLOT_INTERFACE_START( vtech_memexp_carts )
+ SLOT_INTERFACE("floppy", VTECH_FLOPPY_CONTROLLER)
+ SLOT_INTERFACE("laser110_16k", VTECH_LASER110_16K)
+ SLOT_INTERFACE("laser210_16k", VTECH_LASER210_16K)
+ SLOT_INTERFACE("laser310_16k", VTECH_LASER310_16K)
+ SLOT_INTERFACE("laser_64k", VTECH_LASER_64K)
+ SLOT_INTERFACE("rs232", VTECH_RS232_INTERFACE)
+ SLOT_INTERFACE("rtty", VTECH_RTTY_INTERFACE)
+ SLOT_INTERFACE("wordpro", VTECH_WORDPRO)
SLOT_INTERFACE_END
diff --git a/src/devices/bus/vtech/memexp/carts.h b/src/devices/bus/vtech/memexp/carts.h
index bfbe697b7aa..f8baa314256 100644
--- a/src/devices/bus/vtech/memexp/carts.h
+++ b/src/devices/bus/vtech/memexp/carts.h
@@ -6,18 +6,11 @@
***************************************************************************/
-#pragma once
-
-#ifndef __VTECH_MEMEXP_CARTS_H__
-#define __VTECH_MEMEXP_CARTS_H__
+#ifndef MAME_BUS_VTECH_MEMEXP_CARTS_H
+#define MAME_BUS_VTECH_MEMEXP_CARTS_H
+#pragma once
-#include "floppy.h"
-#include "memory.h"
-#include "rs232.h"
-#include "rtty.h"
-#include "wordpro.h"
-
-SLOT_INTERFACE_EXTERN( memexp_slot_carts );
+SLOT_INTERFACE_EXTERN( vtech_memexp_carts );
-#endif // __VTECH_MEMEXP_CARTS_H__
+#endif // MAME_BUS_VTECH_MEMEXP_CARTS_H
diff --git a/src/devices/bus/vtech/memexp/floppy.cpp b/src/devices/bus/vtech/memexp/floppy.cpp
index 355194df583..49c27f0118f 100644
--- a/src/devices/bus/vtech/memexp/floppy.cpp
+++ b/src/devices/bus/vtech/memexp/floppy.cpp
@@ -17,9 +17,9 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type FLOPPY_CONTROLLER = device_creator<floppy_controller_device>;
+DEFINE_DEVICE_TYPE(VTECH_FLOPPY_CONTROLLER, vtech_floppy_controller_device, "vtech_fdc", "Laser/VZ Floppy Disk Controller")
-DEVICE_ADDRESS_MAP_START(map, 8, floppy_controller_device)
+DEVICE_ADDRESS_MAP_START(map, 8, vtech_floppy_controller_device)
AM_RANGE(0, 0) AM_WRITE(latch_w)
AM_RANGE(1, 1) AM_READ(shifter_r)
AM_RANGE(2, 2) AM_READ(rd_r)
@@ -35,7 +35,7 @@ ROM_START( floppy )
ROM_LOAD("vzdos.rom", 0x0000, 0x2000, CRC(b6ed6084) SHA1(59d1cbcfa6c5e1906a32704fbf0d9670f0d1fd8b))
ROM_END
-const tiny_rom_entry *floppy_controller_device::device_rom_region() const
+const tiny_rom_entry *vtech_floppy_controller_device::device_rom_region() const
{
return ROM_NAME( floppy );
}
@@ -55,7 +55,7 @@ static MACHINE_CONFIG_FRAGMENT( floppy_controller )
MCFG_FLOPPY_DRIVE_ADD("1", laser_floppies, "525", floppy_image_device::default_floppy_formats)
MACHINE_CONFIG_END
-machine_config_constructor floppy_controller_device::device_mconfig_additions() const
+machine_config_constructor vtech_floppy_controller_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( floppy_controller );
}
@@ -65,15 +65,16 @@ machine_config_constructor floppy_controller_device::device_mconfig_additions()
//**************************************************************************
//-------------------------------------------------
-// floppy_controller_device - constructor
+// vtech_floppy_controller_device - constructor
//-------------------------------------------------
-floppy_controller_device::floppy_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, FLOPPY_CONTROLLER, "Laser/VZ Floppy Disk Controller", tag, owner, clock, "laserfdc", __FILE__),
- device_memexp_interface(mconfig, *this),
+vtech_floppy_controller_device::vtech_floppy_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_FLOPPY_CONTROLLER, tag, owner, clock),
+ device_vtech_memexp_interface(mconfig, *this),
m_memexp(*this, "mem"),
m_floppy0(*this, "0"),
- m_floppy1(*this, "1"), m_floppy(nullptr), m_latch(0), m_shifter(0), m_latching_inverter(false), m_current_cyl(0), m_write_position(0)
+ m_floppy1(*this, "1"),
+ m_floppy(nullptr), m_latch(0), m_shifter(0), m_latching_inverter(false), m_current_cyl(0), m_write_position(0)
{
}
@@ -81,7 +82,7 @@ floppy_controller_device::floppy_controller_device(const machine_config &mconfig
// device_start - device-specific startup
//-------------------------------------------------
-void floppy_controller_device::device_start()
+void vtech_floppy_controller_device::device_start()
{
save_item(NAME(m_latch));
save_item(NAME(m_shifter));
@@ -106,14 +107,14 @@ void floppy_controller_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void floppy_controller_device::device_reset()
+void vtech_floppy_controller_device::device_reset()
{
- m_memexp->set_io_space(m_slot->m_io);
- m_memexp->set_program_space(m_slot->m_program);
+ m_memexp->set_io_space(&io_space());
+ m_memexp->set_program_space(&program_space());
- m_slot->m_program->install_rom(0x4000, 0x5fff, memregion("software")->base());
+ program_space().install_rom(0x4000, 0x5fff, memregion("software")->base());
- m_slot->m_io->install_device(0x10, 0x1f, *this, &floppy_controller_device::map);
+ io_space().install_device(0x10, 0x1f, *this, &vtech_floppy_controller_device::map);
m_latch = 0x00;
m_floppy = nullptr;
@@ -137,7 +138,7 @@ void floppy_controller_device::device_reset()
// bit 6: !write request
// bits 4,7: floppy select
-WRITE8_MEMBER(floppy_controller_device::latch_w)
+WRITE8_MEMBER(vtech_floppy_controller_device::latch_w)
{
uint8_t diff = m_latch ^ data;
m_latch = data;
@@ -158,7 +159,7 @@ WRITE8_MEMBER(floppy_controller_device::latch_w)
if(newflop) {
newflop->set_rpm(85);
newflop->mon_w(0);
- newflop->setup_index_pulse_cb(floppy_image_device::index_pulse_cb(&floppy_controller_device::index_callback, this));
+ newflop->setup_index_pulse_cb(floppy_image_device::index_pulse_cb(&vtech_floppy_controller_device::index_callback, this));
m_current_cyl = newflop->get_cyl() << 1;
}
m_floppy = newflop;
@@ -213,7 +214,7 @@ WRITE8_MEMBER(floppy_controller_device::latch_w)
// - the inverted inverter output is shifted through the lsb of the shift register
// - the inverter is cleared
-READ8_MEMBER(floppy_controller_device::shifter_r)
+READ8_MEMBER(vtech_floppy_controller_device::shifter_r)
{
update_latching_inverter();
m_shifter = (m_shifter << 1) | !m_latching_inverter;
@@ -223,7 +224,7 @@ READ8_MEMBER(floppy_controller_device::shifter_r)
// Linked to the latching inverter on bit 7, rest is floating
-READ8_MEMBER(floppy_controller_device::rd_r)
+READ8_MEMBER(vtech_floppy_controller_device::rd_r)
{
update_latching_inverter();
return m_latching_inverter ? 0x80 : 0x00;
@@ -231,12 +232,12 @@ READ8_MEMBER(floppy_controller_device::rd_r)
// Linked to wp signal on bit 7, rest is floating
-READ8_MEMBER(floppy_controller_device::wpt_r)
+READ8_MEMBER(vtech_floppy_controller_device::wpt_r)
{
return m_floppy && m_floppy->wpt_r() ? 0x80 : 0x00;
}
-void floppy_controller_device::update_latching_inverter()
+void vtech_floppy_controller_device::update_latching_inverter()
{
attotime now = machine().time();
if(!m_floppy) {
@@ -254,13 +255,13 @@ void floppy_controller_device::update_latching_inverter()
m_last_latching_inverter_update_time = now;
}
-void floppy_controller_device::index_callback(floppy_image_device *floppy, int state)
+void vtech_floppy_controller_device::index_callback(floppy_image_device *floppy, int state)
{
update_latching_inverter();
flush_writes(true);
}
-void floppy_controller_device::flush_writes(bool keep_margin)
+void vtech_floppy_controller_device::flush_writes(bool keep_margin)
{
if(!m_floppy || m_write_start_time == attotime::never)
return;
diff --git a/src/devices/bus/vtech/memexp/floppy.h b/src/devices/bus/vtech/memexp/floppy.h
index bc6046a7ec3..d361ca5a4fc 100644
--- a/src/devices/bus/vtech/memexp/floppy.h
+++ b/src/devices/bus/vtech/memexp/floppy.h
@@ -9,10 +9,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_VTECH_MEMEXP_FLOPPY_H
+#define MAME_BUS_VTECH_MEMEXP_FLOPPY_H
-#ifndef __VTECH_MEMEXP_FLOPPY_H__
-#define __VTECH_MEMEXP_FLOPPY_H__
+#pragma once
#include "memexp.h"
#include "imagedev/floppy.h"
@@ -22,13 +22,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> floppy_controller_device
+// ======================> vtech_floppy_controller_device
-class floppy_controller_device : public device_t, public device_memexp_interface
+class vtech_floppy_controller_device : public device_t, public device_vtech_memexp_interface
{
public:
// construction/destruction
- floppy_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_floppy_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_ADDRESS_MAP(map, 8);
@@ -43,7 +43,11 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
- required_device<memexp_slot_device> m_memexp;
+ void index_callback(floppy_image_device *floppy, int state);
+ void update_latching_inverter();
+ void flush_writes(bool keep_margin = false);
+
+ required_device<vtech_memexp_slot_device> m_memexp;
required_device<floppy_connector> m_floppy0, m_floppy1;
floppy_image_device *m_floppy;
@@ -53,13 +57,9 @@ protected:
attotime m_last_latching_inverter_update_time;
attotime m_write_start_time, m_write_buffer[32];
int m_write_position;
-
- void index_callback(floppy_image_device *floppy, int state);
- void update_latching_inverter();
- void flush_writes(bool keep_margin = false);
};
// device type definition
-extern const device_type FLOPPY_CONTROLLER;
+DECLARE_DEVICE_TYPE(VTECH_FLOPPY_CONTROLLER, vtech_floppy_controller_device)
-#endif // __VTECH_MEMEXP_FLOPPY_H__
+#endif // MAME_BUS_VTECH_MEMEXP_FLOPPY_H
diff --git a/src/devices/bus/vtech/memexp/memexp.cpp b/src/devices/bus/vtech/memexp/memexp.cpp
index 369403aa1c4..e7f61e5d048 100644
--- a/src/devices/bus/vtech/memexp/memexp.cpp
+++ b/src/devices/bus/vtech/memexp/memexp.cpp
@@ -16,7 +16,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type MEMEXP_SLOT = device_creator<memexp_slot_device>;
+DEFINE_DEVICE_TYPE(VTECH_MEMEXP_SLOT, vtech_memexp_slot_device, "vtech_memexp_slot", "Laser/VZ Memory Expansion Slot")
//**************************************************************************
@@ -24,11 +24,11 @@ const device_type MEMEXP_SLOT = device_creator<memexp_slot_device>;
//**************************************************************************
//-------------------------------------------------
-// memexp_slot_device - constructor
+// vtech_memexp_slot_device - constructor
//-------------------------------------------------
-memexp_slot_device::memexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, MEMEXP_SLOT, "Memory Expansion Slot", tag, owner, clock, "memexp_slot", __FILE__),
+vtech_memexp_slot_device::vtech_memexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_MEMEXP_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_program(nullptr),
m_io(nullptr),
@@ -40,10 +40,10 @@ memexp_slot_device::memexp_slot_device(const machine_config &mconfig, const char
}
//-------------------------------------------------
-// memexp_slot_device - destructor
+// vtech_memexp_slot_device - destructor
//-------------------------------------------------
-memexp_slot_device::~memexp_slot_device()
+vtech_memexp_slot_device::~vtech_memexp_slot_device()
{
}
@@ -51,7 +51,7 @@ memexp_slot_device::~memexp_slot_device()
// device_start - device-specific startup
//-------------------------------------------------
-void memexp_slot_device::device_start()
+void vtech_memexp_slot_device::device_start()
{
// resolve callbacks
m_int_handler.resolve_safe();
@@ -63,7 +63,7 @@ void memexp_slot_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void memexp_slot_device::device_reset()
+void vtech_memexp_slot_device::device_reset()
{
}
@@ -71,7 +71,7 @@ void memexp_slot_device::device_reset()
// set_program_space - set address space we are attached to
//-------------------------------------------------
-void memexp_slot_device::set_program_space(address_space *program)
+void vtech_memexp_slot_device::set_program_space(address_space *program)
{
m_program = program;
}
@@ -80,7 +80,7 @@ void memexp_slot_device::set_program_space(address_space *program)
// set_io_space - set address space we are attached to
//-------------------------------------------------
-void memexp_slot_device::set_io_space(address_space *io)
+void vtech_memexp_slot_device::set_io_space(address_space *io)
{
m_io = io;
}
@@ -91,19 +91,19 @@ void memexp_slot_device::set_io_space(address_space *io)
//**************************************************************************
//-------------------------------------------------
-// device_memexp_interface - constructor
+// device_vtech_memexp_interface - constructor
//-------------------------------------------------
-device_memexp_interface::device_memexp_interface(const machine_config &mconfig, device_t &device) :
+device_vtech_memexp_interface::device_vtech_memexp_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device)
{
- m_slot = dynamic_cast<memexp_slot_device *>(device.owner());
+ m_slot = dynamic_cast<vtech_memexp_slot_device *>(device.owner());
}
//-------------------------------------------------
-// ~device_memexp_interface - destructor
+// ~device_vtech_memexp_interface - destructor
//-------------------------------------------------
-device_memexp_interface::~device_memexp_interface()
+device_vtech_memexp_interface::~device_vtech_memexp_interface()
{
}
diff --git a/src/devices/bus/vtech/memexp/memexp.h b/src/devices/bus/vtech/memexp/memexp.h
index fab938ef488..692f10c819a 100644
--- a/src/devices/bus/vtech/memexp/memexp.h
+++ b/src/devices/bus/vtech/memexp/memexp.h
@@ -31,10 +31,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_VTECH_MEMEXP_MEMEXP_H
+#define MAME_BUS_VTECH_MEMEXP_MEMEXP_H
-#ifndef __VTECH_MEMEXP_H__
-#define __VTECH_MEMEXP_H__
+#pragma once
@@ -43,59 +43,60 @@
//**************************************************************************
#define MCFG_MEMEXP_SLOT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, MEMEXP_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(memexp_slot_carts, nullptr, false)
+ MCFG_DEVICE_ADD(_tag, VTECH_MEMEXP_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(vtech_memexp_carts, nullptr, false)
#define MCFG_MEMEXP_SLOT_INT_HANDLER(_devcb) \
- devcb = &memexp_device::set_int_handler(*device, DEVCB_##_devcb);
+ devcb = &vtech_memexp_device::set_int_handler(*device, DEVCB_##_devcb);
#define MCFG_MEMEXP_SLOT_NMI_HANDLER(_devcb) \
- devcb = &memexp_device::set_nmi_handler(*device, DEVCB_##_devcb);
+ devcb = &vtech_memexp_device::set_nmi_handler(*device, DEVCB_##_devcb);
#define MCFG_MEMEXP_SLOT_RESET_HANDLER(_devcb) \
- devcb = &memexp_device::set_reset_handler(*device, DEVCB_##_devcb);
+ devcb = &vtech_memexp_device::set_reset_handler(*device, DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-class device_memexp_interface;
+class device_vtech_memexp_interface;
-class memexp_slot_device : public device_t, public device_slot_interface
+class vtech_memexp_slot_device : public device_t, public device_slot_interface
{
+ friend class device_vtech_memexp_interface;
public:
// construction/destruction
- memexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual ~memexp_slot_device();
+ vtech_memexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual ~vtech_memexp_slot_device();
void set_program_space(address_space *program);
void set_io_space(address_space *io);
// callbacks
- template<class _Object> static devcb_base &set_int_handler(device_t &device, _Object object)
- { return downcast<memexp_slot_device &>(device).m_int_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_int_handler(device_t &device, Object &&cb)
+ { return downcast<vtech_memexp_slot_device &>(device).m_int_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_nmi_handler(device_t &device, _Object object)
- { return downcast<memexp_slot_device &>(device).m_nmi_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_nmi_handler(device_t &device, Object &&cb)
+ { return downcast<vtech_memexp_slot_device &>(device).m_nmi_handler.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base &set_reset_handler(device_t &device, _Object object)
- { return downcast<memexp_slot_device &>(device).m_reset_handler.set_callback(object); }
+ template <class Object> static devcb_base &set_reset_handler(device_t &device, Object &&cb)
+ { return downcast<vtech_memexp_slot_device &>(device).m_reset_handler.set_callback(std::forward<Object>(cb)); }
// called from cart device
DECLARE_WRITE_LINE_MEMBER( int_w ) { m_int_handler(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
DECLARE_WRITE_LINE_MEMBER( reset_w ) { m_reset_handler(state); }
- address_space *m_program;
- address_space *m_io;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- device_memexp_interface *m_cart;
+ address_space *m_program;
+ address_space *m_io;
+
+ device_vtech_memexp_interface *m_cart;
private:
devcb_write_line m_int_handler;
@@ -104,21 +105,24 @@ private:
};
// class representing interface-specific live memexp device
-class device_memexp_interface : public device_slot_card_interface
+class device_vtech_memexp_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_memexp_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_memexp_interface();
+ device_vtech_memexp_interface(const machine_config &mconfig, device_t &device);
+ virtual ~device_vtech_memexp_interface();
protected:
- memexp_slot_device *m_slot;
+ address_space &program_space() { return *m_slot->m_program; }
+ address_space &io_space() { return *m_slot->m_io; }
+
+ vtech_memexp_slot_device *m_slot;
};
// device type definition
-extern const device_type MEMEXP_SLOT;
+DECLARE_DEVICE_TYPE(VTECH_MEMEXP_SLOT, vtech_memexp_slot_device)
// include here so drivers don't need to
#include "carts.h"
-#endif // __VTECH_MEMEXP_H__
+#endif // MAME_BUS_VTECH_MEMEXP_MEMEXP_H
diff --git a/src/devices/bus/vtech/memexp/memory.cpp b/src/devices/bus/vtech/memexp/memory.cpp
index 96fc47bc52c..15ccbeb949e 100644
--- a/src/devices/bus/vtech/memexp/memory.cpp
+++ b/src/devices/bus/vtech/memexp/memory.cpp
@@ -14,10 +14,10 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type LASER110_16K = device_creator<laser110_16k_device>;
-const device_type LASER210_16K = device_creator<laser210_16k_device>;
-const device_type LASER310_16K = device_creator<laser310_16k_device>;
-const device_type LASER_64K = device_creator<laser_64k_device>;
+DEFINE_DEVICE_TYPE(VTECH_LASER110_16K, vtech_laser110_16k_device, "vtech_laser110_16k", "Laser 110/200/VZ-200 16k Memory")
+DEFINE_DEVICE_TYPE(VTECH_LASER210_16K, vtech_laser210_16k_device, "vtech_laser210_16k", "Laser 210/VZ-200 16k Memory")
+DEFINE_DEVICE_TYPE(VTECH_LASER310_16K, vtech_laser310_16k_device, "vtech_laser310_16k", "Laser 310/VZ-300 16k Memory")
+DEFINE_DEVICE_TYPE(VTECH_LASER_64K, vtech_laser_64k_device, "vtech_laser_64k", "Laser/VZ 64k Memory")
//**************************************************************************
@@ -28,9 +28,9 @@ const device_type LASER_64K = device_creator<laser_64k_device>;
// laser110_16k_device - constructor
//-------------------------------------------------
-laser110_16k_device::laser110_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, LASER110_16K, "Laser 110/200/VZ-200 16k Memory", tag, owner, clock, "laser110_16k", __FILE__),
- device_memexp_interface(mconfig, *this)
+vtech_laser110_16k_device::vtech_laser110_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_LASER110_16K, tag, owner, clock),
+ device_vtech_memexp_interface(mconfig, *this)
{
}
@@ -38,7 +38,7 @@ laser110_16k_device::laser110_16k_device(const machine_config &mconfig, const ch
// device_start - device-specific startup
//-------------------------------------------------
-void laser110_16k_device::device_start()
+void vtech_laser110_16k_device::device_start()
{
m_ram.resize(16 * 1024);
}
@@ -47,9 +47,9 @@ void laser110_16k_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void laser110_16k_device::device_reset()
+void vtech_laser110_16k_device::device_reset()
{
- m_slot->m_program->install_ram(0x8000, 0xbfff, &m_ram[0]);
+ program_space().install_ram(0x8000, 0xbfff, &m_ram[0]);
}
@@ -58,12 +58,12 @@ void laser110_16k_device::device_reset()
//**************************************************************************
//-------------------------------------------------
-// laser210_16k_device - constructor
+// vtech_laser210_16k_device - constructor
//-------------------------------------------------
-laser210_16k_device::laser210_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, LASER210_16K, "Laser 210/VZ-200 (DSE) 16k Memory", tag, owner, clock, "laser210_16k", __FILE__),
- device_memexp_interface(mconfig, *this)
+vtech_laser210_16k_device::vtech_laser210_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_LASER210_16K, tag, owner, clock),
+ device_vtech_memexp_interface(mconfig, *this)
{
}
@@ -71,7 +71,7 @@ laser210_16k_device::laser210_16k_device(const machine_config &mconfig, const ch
// device_start - device-specific startup
//-------------------------------------------------
-void laser210_16k_device::device_start()
+void vtech_laser210_16k_device::device_start()
{
m_ram.resize(16 * 1024);
}
@@ -80,9 +80,9 @@ void laser210_16k_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void laser210_16k_device::device_reset()
+void vtech_laser210_16k_device::device_reset()
{
- m_slot->m_program->install_ram(0x9000, 0xcfff, &m_ram[0]);
+ program_space().install_ram(0x9000, 0xcfff, &m_ram[0]);
}
@@ -91,12 +91,12 @@ void laser210_16k_device::device_reset()
//**************************************************************************
//-------------------------------------------------
-// laser310_16k_device - constructor
+// vtech_laser310_16k_device - constructor
//-------------------------------------------------
-laser310_16k_device::laser310_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, LASER310_16K, "Laser 310/VZ-300 16k Memory", tag, owner, clock, "laser310_16k", __FILE__),
- device_memexp_interface(mconfig, *this)
+vtech_laser310_16k_device::vtech_laser310_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_LASER310_16K, tag, owner, clock),
+ device_vtech_memexp_interface(mconfig, *this)
{
}
@@ -104,7 +104,7 @@ laser310_16k_device::laser310_16k_device(const machine_config &mconfig, const ch
// device_start - device-specific startup
//-------------------------------------------------
-void laser310_16k_device::device_start()
+void vtech_laser310_16k_device::device_start()
{
m_ram.resize(16 * 1024);
}
@@ -113,9 +113,9 @@ void laser310_16k_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void laser310_16k_device::device_reset()
+void vtech_laser310_16k_device::device_reset()
{
- m_slot->m_program->install_ram(0xb800, 0xf7ff, &m_ram[0]);
+ program_space().install_ram(0xb800, 0xf7ff, &m_ram[0]);
}
@@ -124,12 +124,12 @@ void laser310_16k_device::device_reset()
//**************************************************************************
//-------------------------------------------------
-// laser_64k_device - constructor
+// vtech_laser_64k_device - constructor
//-------------------------------------------------
-laser_64k_device::laser_64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, LASER_64K, "Laser/VZ 64k Memory", tag, owner, clock, "laser_64k", __FILE__),
- device_memexp_interface(mconfig, *this)
+vtech_laser_64k_device::vtech_laser_64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_LASER_64K, tag, owner, clock),
+ device_vtech_memexp_interface(mconfig, *this)
{
}
@@ -137,7 +137,7 @@ laser_64k_device::laser_64k_device(const machine_config &mconfig, const char *ta
// device_start - device-specific startup
//-------------------------------------------------
-void laser_64k_device::device_start()
+void vtech_laser_64k_device::device_start()
{
m_ram.resize(64 * 1024);
}
@@ -146,22 +146,22 @@ void laser_64k_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void laser_64k_device::device_reset()
+void vtech_laser_64k_device::device_reset()
{
// fixed first bank
- m_slot->m_program->install_ram(0x8000, 0xbfff, &m_ram[0]);
+ program_space().install_ram(0x8000, 0xbfff, &m_ram[0]);
// other banks
- m_slot->m_program->install_readwrite_bank(0xc000, 0xffff, tag());
+ program_space().install_readwrite_bank(0xc000, 0xffff, tag());
membank(tag())->configure_entries(0, 4, &m_ram[0], 0x4000);
membank(tag())->set_entry(1);
// bank switch
- m_slot->m_io->install_write_handler(0x70, 0x7f, write8_delegate(FUNC(laser_64k_device::bankswitch_w), this));
+ io_space().install_write_handler(0x70, 0x7f, write8_delegate(FUNC(vtech_laser_64k_device::bankswitch_w), this));
}
-WRITE8_MEMBER( laser_64k_device::bankswitch_w )
+WRITE8_MEMBER( vtech_laser_64k_device::bankswitch_w )
{
membank(tag())->set_entry(data & 0x03);
}
diff --git a/src/devices/bus/vtech/memexp/memory.h b/src/devices/bus/vtech/memexp/memory.h
index b330707cc14..f8a0fe78e7d 100644
--- a/src/devices/bus/vtech/memexp/memory.h
+++ b/src/devices/bus/vtech/memexp/memory.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_VTECH_MEMEXP_MEMORY_H
+#define MAME_BUS_VTECH_MEMEXP_MEMORY_H
-#ifndef __VTECH_MEMEXP_MEMORY__
-#define __VTECH_MEMEXP_MEMORY__
+#pragma once
#include "memexp.h"
@@ -18,13 +18,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> laser110_16k_device
+// ======================> vtech_laser110_16k_device
-class laser110_16k_device : public device_t, public device_memexp_interface
+class vtech_laser110_16k_device : public device_t, public device_vtech_memexp_interface
{
public:
// construction/destruction
- laser110_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_laser110_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
virtual void device_start() override;
@@ -34,13 +34,13 @@ private:
std::vector<uint8_t> m_ram;
};
-// ======================> laser210_16k_device
+// ======================> vtech_laser210_16k_device
-class laser210_16k_device : public device_t, public device_memexp_interface
+class vtech_laser210_16k_device : public device_t, public device_vtech_memexp_interface
{
public:
// construction/destruction
- laser210_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_laser210_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
virtual void device_start() override;
@@ -50,13 +50,13 @@ private:
std::vector<uint8_t> m_ram;
};
-// ======================> laser310_16k_device
+// ======================> vtech_laser310_16k_device
-class laser310_16k_device : public device_t, public device_memexp_interface
+class vtech_laser310_16k_device : public device_t, public device_vtech_memexp_interface
{
public:
// construction/destruction
- laser310_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_laser310_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
virtual void device_start() override;
@@ -66,13 +66,13 @@ private:
std::vector<uint8_t> m_ram;
};
-// ======================> laser_64k_device
+// ======================> vtech_laser_64k_device
-class laser_64k_device : public device_t, public device_memexp_interface
+class vtech_laser_64k_device : public device_t, public device_vtech_memexp_interface
{
public:
// construction/destruction
- laser_64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_laser_64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_WRITE8_MEMBER( bankswitch_w );
@@ -85,9 +85,9 @@ private:
};
// device type definition
-extern const device_type LASER110_16K;
-extern const device_type LASER210_16K;
-extern const device_type LASER310_16K;
-extern const device_type LASER_64K;
+DECLARE_DEVICE_TYPE(VTECH_LASER110_16K, vtech_laser110_16k_device)
+DECLARE_DEVICE_TYPE(VTECH_LASER210_16K, vtech_laser210_16k_device)
+DECLARE_DEVICE_TYPE(VTECH_LASER310_16K, vtech_laser310_16k_device)
+DECLARE_DEVICE_TYPE(VTECH_LASER_64K, vtech_laser_64k_device)
-#endif // __VTECH_MEMEXP_MEMORY__
+#endif // MAME_BUS_VTECH_MEMEXP_MEMORY_H
diff --git a/src/devices/bus/vtech/memexp/rs232.cpp b/src/devices/bus/vtech/memexp/rs232.cpp
index 550eb8f54b7..7cebd6edb8e 100644
--- a/src/devices/bus/vtech/memexp/rs232.cpp
+++ b/src/devices/bus/vtech/memexp/rs232.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type RS232_INTERFACE = device_creator<rs232_interface_device>;
+DEFINE_DEVICE_TYPE(VTECH_RS232_INTERFACE, vtech_rs232_interface_device, "vtech_rs232", "DSE VZ-200/300 RS-232 Interface")
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -25,7 +25,7 @@ ROM_START( rs232 )
ROM_LOAD("rs232_v15.ic2", 0x000, 0x800, CRC(6545260d) SHA1(4042f6f1e09e383f3c92f628c6187dc5f072fdb2))
ROM_END
-const tiny_rom_entry *rs232_interface_device::device_rom_region() const
+const tiny_rom_entry *vtech_rs232_interface_device::device_rom_region() const
{
return ROM_NAME( rs232 );
}
@@ -37,10 +37,10 @@ const tiny_rom_entry *rs232_interface_device::device_rom_region() const
static MACHINE_CONFIG_FRAGMENT( rs232 )
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, nullptr)
- MCFG_RS232_RXD_HANDLER(WRITELINE(rs232_interface_device, rs232_rx_w))
+ MCFG_RS232_RXD_HANDLER(WRITELINE(vtech_rs232_interface_device, rs232_rx_w))
MACHINE_CONFIG_END
-machine_config_constructor rs232_interface_device::device_mconfig_additions() const
+machine_config_constructor vtech_rs232_interface_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( rs232 );
}
@@ -51,12 +51,12 @@ machine_config_constructor rs232_interface_device::device_mconfig_additions() co
//**************************************************************************
//-------------------------------------------------
-// rs232_interface_device - constructor
+// vtech_rs232_interface_device - constructor
//-------------------------------------------------
-rs232_interface_device::rs232_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, RS232_INTERFACE, "DSE VZ-200/300 RS-232 Interface", tag, owner, clock, "vz_rs232", __FILE__),
- device_memexp_interface(mconfig, *this),
+vtech_rs232_interface_device::vtech_rs232_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_RS232_INTERFACE, tag, owner, clock),
+ device_vtech_memexp_interface(mconfig, *this),
m_rs232(*this, "rs232"),
m_rx(1)
{
@@ -66,7 +66,7 @@ rs232_interface_device::rs232_interface_device(const machine_config &mconfig, co
// device_start - device-specific startup
//-------------------------------------------------
-void rs232_interface_device::device_start()
+void vtech_rs232_interface_device::device_start()
{
}
@@ -74,14 +74,14 @@ void rs232_interface_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void rs232_interface_device::device_reset()
+void vtech_rs232_interface_device::device_reset()
{
// program
- m_slot->m_program->install_rom(0x4000, 0x47ff, 0x800, memregion("software")->base());
+ program_space().install_rom(0x4000, 0x47ff, 0x800, memregion("software")->base());
// data
- m_slot->m_program->install_read_handler(0x5000, 0x57ff, read8_delegate(FUNC(rs232_interface_device::receive_data_r), this));
- m_slot->m_program->install_write_handler(0x5800, 0x5fff, write8_delegate(FUNC(rs232_interface_device::transmit_data_w), this));
+ program_space().install_read_handler(0x5000, 0x57ff, read8_delegate(FUNC(vtech_rs232_interface_device::receive_data_r), this));
+ program_space().install_write_handler(0x5800, 0x5fff, write8_delegate(FUNC(vtech_rs232_interface_device::transmit_data_w), this));
}
@@ -89,17 +89,17 @@ void rs232_interface_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-WRITE_LINE_MEMBER( rs232_interface_device::rs232_rx_w )
+WRITE_LINE_MEMBER( vtech_rs232_interface_device::rs232_rx_w )
{
m_rx = state;
}
-READ8_MEMBER( rs232_interface_device::receive_data_r )
+READ8_MEMBER( vtech_rs232_interface_device::receive_data_r )
{
return 0x7f | (m_rx << 7);
}
-WRITE8_MEMBER( rs232_interface_device::transmit_data_w )
+WRITE8_MEMBER( vtech_rs232_interface_device::transmit_data_w )
{
m_rs232->write_txd(!BIT(data, 7));
}
diff --git a/src/devices/bus/vtech/memexp/rs232.h b/src/devices/bus/vtech/memexp/rs232.h
index 4727066a913..189653258dd 100644
--- a/src/devices/bus/vtech/memexp/rs232.h
+++ b/src/devices/bus/vtech/memexp/rs232.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_VTECH_MEMEXP_RS232_H
+#define MAME_BUS_VTECH_MEMEXP_RS232_H
-#ifndef __VTECH_MEMEXP_RS232_H__
-#define __VTECH_MEMEXP_RS232_H__
+#pragma once
#include "memexp.h"
#include "bus/rs232/rs232.h"
@@ -19,13 +19,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> rs232_interface_device
+// ======================> vtech_rs232_interface_device
-class rs232_interface_device : public device_t, public device_memexp_interface
+class vtech_rs232_interface_device : public device_t, public device_vtech_memexp_interface
{
public:
// construction/destruction
- rs232_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_rs232_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_WRITE_LINE_MEMBER( rs232_rx_w );
DECLARE_READ8_MEMBER( receive_data_r );
@@ -44,6 +44,6 @@ private:
};
// device type definition
-extern const device_type RS232_INTERFACE;
+DECLARE_DEVICE_TYPE(VTECH_RS232_INTERFACE, vtech_rs232_interface_device)
-#endif // __VTECH_MEMEXP_RS232_H__
+#endif // MAME_BUS_VTECH_MEMEXP_RS232_H
diff --git a/src/devices/bus/vtech/memexp/rtty.cpp b/src/devices/bus/vtech/memexp/rtty.cpp
index d6a1278d577..96e394bfb4d 100644
--- a/src/devices/bus/vtech/memexp/rtty.cpp
+++ b/src/devices/bus/vtech/memexp/rtty.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type RTTY_INTERFACE = device_creator<rtty_interface_device>;
+DEFINE_DEVICE_TYPE(VTECH_RTTY_INTERFACE, vtech_rtty_interface_device, "vtech_rtty", "DSE VZ-200/300 RTTY Interface")
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -25,7 +25,7 @@ ROM_START( rtty )
ROM_LOAD("vzrtty.ic3", 0x0000, 0x1000, CRC(ccf4289b) SHA1(de737ef0e0b582b3102da473836af1fa159a2e78))
ROM_END
-const tiny_rom_entry *rtty_interface_device::device_rom_region() const
+const tiny_rom_entry *vtech_rtty_interface_device::device_rom_region() const
{
return ROM_NAME( rtty );
}
@@ -36,12 +36,12 @@ const tiny_rom_entry *rtty_interface_device::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// rtty_interface_device - constructor
+// vtech_rtty_interface_device - constructor
//-------------------------------------------------
-rtty_interface_device::rtty_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, RTTY_INTERFACE, "DSE VZ-200/300 RTTY Interface", tag, owner, clock, "vz_rtty", __FILE__),
- device_memexp_interface(mconfig, *this)
+vtech_rtty_interface_device::vtech_rtty_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_RTTY_INTERFACE, tag, owner, clock),
+ device_vtech_memexp_interface(mconfig, *this)
{
}
@@ -49,7 +49,7 @@ rtty_interface_device::rtty_interface_device(const machine_config &mconfig, cons
// device_start - device-specific startup
//-------------------------------------------------
-void rtty_interface_device::device_start()
+void vtech_rtty_interface_device::device_start()
{
}
@@ -57,15 +57,15 @@ void rtty_interface_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void rtty_interface_device::device_reset()
+void vtech_rtty_interface_device::device_reset()
{
// program
- m_slot->m_program->install_rom(0x4000, 0x4fff, 0x1000, memregion("software")->base());
+ program_space().install_rom(0x4000, 0x4fff, 0x1000, memregion("software")->base());
// data
- m_slot->m_program->install_read_handler(0x5000, 0x57ff, read8_delegate(FUNC(rtty_interface_device::receive_data_r), this));
- m_slot->m_program->install_write_handler(0x5800, 0x5fff, write8_delegate(FUNC(rtty_interface_device::transmit_data_w), this));
- m_slot->m_program->install_write_handler(0x6000, 0x67ff, write8_delegate(FUNC(rtty_interface_device::relay_w), this));
+ program_space().install_read_handler(0x5000, 0x57ff, read8_delegate(FUNC(vtech_rtty_interface_device::receive_data_r), this));
+ program_space().install_write_handler(0x5800, 0x5fff, write8_delegate(FUNC(vtech_rtty_interface_device::transmit_data_w), this));
+ program_space().install_write_handler(0x6000, 0x67ff, write8_delegate(FUNC(vtech_rtty_interface_device::relay_w), this));
}
@@ -73,17 +73,17 @@ void rtty_interface_device::device_reset()
// IMPLEMENTATION
//**************************************************************************
-READ8_MEMBER( rtty_interface_device::receive_data_r )
+READ8_MEMBER( vtech_rtty_interface_device::receive_data_r )
{
return 0xff;
}
-WRITE8_MEMBER( rtty_interface_device::transmit_data_w )
+WRITE8_MEMBER( vtech_rtty_interface_device::transmit_data_w )
{
logerror("transmit_w: %d\n", BIT(data, 7));
}
-WRITE8_MEMBER( rtty_interface_device::relay_w )
+WRITE8_MEMBER( vtech_rtty_interface_device::relay_w )
{
logerror("relay_w: %d\n", BIT(data, 7));
}
diff --git a/src/devices/bus/vtech/memexp/rtty.h b/src/devices/bus/vtech/memexp/rtty.h
index 5f16aa6d234..82c3b150f34 100644
--- a/src/devices/bus/vtech/memexp/rtty.h
+++ b/src/devices/bus/vtech/memexp/rtty.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_VTECH_MEMEXP_RTTY_H
+#define MAME_BUS_VTECH_MEMEXP_RTTY_H
-#ifndef __VTECH_MEMEXP_RTTY_H__
-#define __VTECH_MEMEXP_RTTY_H__
+#pragma once
#include "memexp.h"
@@ -18,13 +18,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> rtty_interface_device
+// ======================> vtech_rtty_interface_device
-class rtty_interface_device : public device_t, public device_memexp_interface
+class vtech_rtty_interface_device : public device_t, public device_vtech_memexp_interface
{
public:
// construction/destruction
- rtty_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_rtty_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ8_MEMBER( receive_data_r );
DECLARE_WRITE8_MEMBER( transmit_data_w );
@@ -34,11 +34,9 @@ protected:
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_start() override;
virtual void device_reset() override;
-
-private:
};
// device type definition
-extern const device_type RTTY_INTERFACE;
+DECLARE_DEVICE_TYPE(VTECH_RTTY_INTERFACE, vtech_rtty_interface_device)
-#endif // __VTECH_MEMEXP_RTTY_H__
+#endif // MAME_BUS_VTECH_MEMEXP_RTTY_H
diff --git a/src/devices/bus/vtech/memexp/wordpro.cpp b/src/devices/bus/vtech/memexp/wordpro.cpp
index 03df6982a61..099702ef844 100644
--- a/src/devices/bus/vtech/memexp/wordpro.cpp
+++ b/src/devices/bus/vtech/memexp/wordpro.cpp
@@ -14,7 +14,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WORDPRO = device_creator<wordpro_device>;
+DEFINE_DEVICE_TYPE(VTECH_WORDPRO, vtech_wordpro_device, "vtech_wordpro", "DSE VZ-300 WordPro")
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -27,7 +27,7 @@ ROM_START( wordpro )
ROM_LOAD("wordpro.u5", 0x2000, 0x1000, CRC(2a336802) SHA1(b4de50f943243f18a2bfabef354b76d77178c189))
ROM_END
-const tiny_rom_entry *wordpro_device::device_rom_region() const
+const tiny_rom_entry *vtech_wordpro_device::device_rom_region() const
{
return ROM_NAME( wordpro );
}
@@ -38,12 +38,12 @@ const tiny_rom_entry *wordpro_device::device_rom_region() const
//**************************************************************************
//-------------------------------------------------
-// wordpro_device - constructor
+// vtech_wordpro_device - constructor
//-------------------------------------------------
-wordpro_device::wordpro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WORDPRO, "DSE VZ-300 WordPro", tag, owner, clock, "wordpro", __FILE__),
- device_memexp_interface(mconfig, *this)
+vtech_wordpro_device::vtech_wordpro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, VTECH_WORDPRO, tag, owner, clock),
+ device_vtech_memexp_interface(mconfig, *this)
{
}
@@ -51,7 +51,7 @@ wordpro_device::wordpro_device(const machine_config &mconfig, const char *tag, d
// device_start - device-specific startup
//-------------------------------------------------
-void wordpro_device::device_start()
+void vtech_wordpro_device::device_start()
{
}
@@ -59,8 +59,8 @@ void wordpro_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void wordpro_device::device_reset()
+void vtech_wordpro_device::device_reset()
{
- m_slot->m_program->install_rom(0x6000, 0x67ff, memregion("software")->base());
- m_slot->m_program->install_rom(0xd000, 0xffff, memregion("software")->base());
+ program_space().install_rom(0x6000, 0x67ff, memregion("software")->base());
+ program_space().install_rom(0xd000, 0xffff, memregion("software")->base());
}
diff --git a/src/devices/bus/vtech/memexp/wordpro.h b/src/devices/bus/vtech/memexp/wordpro.h
index 0d12ae7a8d5..f7b6422a319 100644
--- a/src/devices/bus/vtech/memexp/wordpro.h
+++ b/src/devices/bus/vtech/memexp/wordpro.h
@@ -6,10 +6,10 @@
***************************************************************************/
-#pragma once
+#ifndef MAME_BUS_VTECH_MEMEXP_WORDPRO_H
+#define MAME_BUS_VTECH_MEMEXP_WORDPRO_H
-#ifndef __VTECH_MEMEXP_WORDPRO_H__
-#define __VTECH_MEMEXP_WORDPRO_H__
+#pragma once
#include "memexp.h"
@@ -18,13 +18,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> wordpro_device
+// ======================> vtech_wordpro_device
-class wordpro_device : public device_t, public device_memexp_interface
+class vtech_wordpro_device : public device_t, public device_vtech_memexp_interface
{
public:
// construction/destruction
- wordpro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ vtech_wordpro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -33,6 +33,6 @@ protected:
};
// device type definition
-extern const device_type WORDPRO;
+DECLARE_DEVICE_TYPE(VTECH_WORDPRO, vtech_wordpro_device)
-#endif // __VTECH_MEMEXP_WORDPRO_H__
+#endif // MAME_BUS_VTECH_MEMEXP_WORDPRO_H
diff --git a/src/devices/bus/wangpc/emb.cpp b/src/devices/bus/wangpc/emb.cpp
index 06cb5372f9f..8f555391bea 100644
--- a/src/devices/bus/wangpc/emb.cpp
+++ b/src/devices/bus/wangpc/emb.cpp
@@ -32,7 +32,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WANGPC_EMB = device_creator<wangpc_emb_device>;
+DEFINE_DEVICE_TYPE(WANGPC_EMB, wangpc_emb_device, "wangpc_emb", "Wang PC-PM031-B Extended Memory Board")
@@ -45,9 +45,10 @@ const device_type WANGPC_EMB = device_creator<wangpc_emb_device>;
//-------------------------------------------------
wangpc_emb_device::wangpc_emb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_EMB, "Wang PC-PM031-B", tag, owner, clock, "wangpc_emb", __FILE__),
+ device_t(mconfig, WANGPC_EMB, tag, owner, clock),
device_wangpcbus_card_interface(mconfig, *this),
- m_ram(*this, "ram"), m_option(0), m_parity_error(0), m_parity_odd(0)
+ m_ram(*this, "ram"),
+ m_option(0), m_parity_error(0), m_parity_odd(0)
{
}
diff --git a/src/devices/bus/wangpc/emb.h b/src/devices/bus/wangpc/emb.h
index f80fa5322df..4e1406ec747 100644
--- a/src/devices/bus/wangpc/emb.h
+++ b/src/devices/bus/wangpc/emb.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_WANGPC_EMB_H
+#define MAME_BUS_WANGPC_EMB_H
-#ifndef __WANGPC_EMB__
-#define __WANGPC_EMB__
+#pragma once
#include "wangpc.h"
@@ -50,5 +50,4 @@ private:
// device type definition
extern const device_type WANGPC_EMB;
-
-#endif
+#endif // MAME_BUS_WANGPC_EMB_H
diff --git a/src/devices/bus/wangpc/lic.cpp b/src/devices/bus/wangpc/lic.cpp
index 3bd7397001d..ed1ad4dbc09 100644
--- a/src/devices/bus/wangpc/lic.cpp
+++ b/src/devices/bus/wangpc/lic.cpp
@@ -23,7 +23,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WANGPC_LIC = device_creator<wangpc_lic_device>;
+DEFINE_DEVICE_TYPE(WANGPC_LIC, wangpc_lic_device, "wangpc_lic", "Wang PC-PM070 Local Interconnect")
//-------------------------------------------------
@@ -75,7 +75,7 @@ machine_config_constructor wangpc_lic_device::device_mconfig_additions() const
//-------------------------------------------------
wangpc_lic_device::wangpc_lic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_LIC, "Wang PC-PM070", tag, owner, clock, "wangpc_lic", __FILE__),
+ device_t(mconfig, WANGPC_LIC, tag, owner, clock),
device_wangpcbus_card_interface(mconfig, *this)
{
}
diff --git a/src/devices/bus/wangpc/lic.h b/src/devices/bus/wangpc/lic.h
index 146a851734d..292dd0a5aa3 100644
--- a/src/devices/bus/wangpc/lic.h
+++ b/src/devices/bus/wangpc/lic.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_WANGPC_LIC_H
+#define MAME_BUS_WANGPC_LIC_H
-#ifndef __WANGPC_LIC__
-#define __WANGPC_LIC__
+#pragma once
#include "wangpc.h"
@@ -46,7 +46,6 @@ protected:
// device type definition
-extern const device_type WANGPC_LIC;
-
+DECLARE_DEVICE_TYPE(WANGPC_LIC, wangpc_lic_device)
-#endif
+#endif // MAME_BUS_WANGPC_LIC_H
diff --git a/src/devices/bus/wangpc/lvc.cpp b/src/devices/bus/wangpc/lvc.cpp
index 45c3ecf1834..aa5d76605b8 100644
--- a/src/devices/bus/wangpc/lvc.cpp
+++ b/src/devices/bus/wangpc/lvc.cpp
@@ -47,7 +47,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WANGPC_LVC = device_creator<wangpc_lvc_device>;
+DEFINE_DEVICE_TYPE(WANGPC_LVC, wangpc_lvc_device, "wangpc_lvc", "Wang PC Low Resolution Video Card")
//-------------------------------------------------
@@ -170,7 +170,7 @@ inline void wangpc_lvc_device::set_irq(int state)
//-------------------------------------------------
wangpc_lvc_device::wangpc_lvc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_LVC, "Wang PC Low Resolution Video Card", tag, owner, clock, "wangpc_lvc", __FILE__),
+ device_t(mconfig, WANGPC_LVC, tag, owner, clock),
device_wangpcbus_card_interface(mconfig, *this),
m_crtc(*this, MC6845_TAG),
m_video_ram(*this, "video_ram"),
diff --git a/src/devices/bus/wangpc/lvc.h b/src/devices/bus/wangpc/lvc.h
index f21c8a4e3cf..01f12abad83 100644
--- a/src/devices/bus/wangpc/lvc.h
+++ b/src/devices/bus/wangpc/lvc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_WANGPC_LVC_H
+#define MAME_BUS_WANGPC_LVC_H
-#ifndef __WANGPC_LVC__
-#define __WANGPC_LVC__
+#pragma once
#include "wangpc.h"
#include "video/mc6845.h"
@@ -61,7 +61,6 @@ private:
// device type definition
-extern const device_type WANGPC_LVC;
-
+DECLARE_DEVICE_TYPE(WANGPC_LVC, wangpc_lvc_device)
-#endif
+#endif // MAME_BUS_WANGPC_LVC_H
diff --git a/src/devices/bus/wangpc/mcc.cpp b/src/devices/bus/wangpc/mcc.cpp
index 93fe1f530a3..580e93dcc32 100644
--- a/src/devices/bus/wangpc/mcc.cpp
+++ b/src/devices/bus/wangpc/mcc.cpp
@@ -48,7 +48,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WANGPC_MCC = device_creator<wangpc_mcc_device>;
+DEFINE_DEVICE_TYPE(WANGPC_MCC, wangpc_mcc_device, "wangpc_mcc", "Wang PC-PM043 Multiport Communications Controller")
//-------------------------------------------------
@@ -104,7 +104,7 @@ inline void wangpc_mcc_device::set_irq(int state)
//-------------------------------------------------
wangpc_mcc_device::wangpc_mcc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_MCC, "Wang PC-PM043", tag, owner, clock, "wangpc_mcc", __FILE__),
+ device_t(mconfig, WANGPC_MCC, tag, owner, clock),
device_wangpcbus_card_interface(mconfig, *this),
m_sio(*this, Z80SIO2_TAG),
m_dart(*this, Z80DART_TAG), m_option(0), m_irq(0)
diff --git a/src/devices/bus/wangpc/mcc.h b/src/devices/bus/wangpc/mcc.h
index e8675402a89..be716cb264f 100644
--- a/src/devices/bus/wangpc/mcc.h
+++ b/src/devices/bus/wangpc/mcc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_WANGPC_MCC_H
+#define MAME_BUS_WANGPC_MCC_H
-#ifndef __WANGPC_MCC__
-#define __WANGPC_MCC__
+#pragma once
#include "wangpc.h"
#include "machine/z80dart.h"
@@ -53,7 +53,6 @@ private:
// device type definition
-extern const device_type WANGPC_MCC;
-
+DECLARE_DEVICE_TYPE(WANGPC_MCC, wangpc_mcc_device)
-#endif
+#endif // MAME_BUS_WANGPC_MCC_H
diff --git a/src/devices/bus/wangpc/mvc.cpp b/src/devices/bus/wangpc/mvc.cpp
index af95b0695ac..b10527b8410 100644
--- a/src/devices/bus/wangpc/mvc.cpp
+++ b/src/devices/bus/wangpc/mvc.cpp
@@ -62,7 +62,7 @@ static const rgb_t PALETTE_MVC[] =
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WANGPC_MVC = device_creator<wangpc_mvc_device>;
+DEFINE_DEVICE_TYPE(WANGPC_MVC, wangpc_mvc_device, "wangpc_mvc", "Wang PC Medium Resolution Video Card")
//-------------------------------------------------
@@ -190,7 +190,7 @@ inline void wangpc_mvc_device::set_irq(int state)
//-------------------------------------------------
wangpc_mvc_device::wangpc_mvc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_MVC, "Wang PC Medium Resolution Video Card", tag, owner, clock, "wangpc_mvc", __FILE__),
+ device_t(mconfig, WANGPC_MVC, tag, owner, clock),
device_wangpcbus_card_interface(mconfig, *this),
m_crtc(*this, MC6845_TAG),
m_video_ram(*this, "video_ram"),
diff --git a/src/devices/bus/wangpc/mvc.h b/src/devices/bus/wangpc/mvc.h
index 98dd98edf6a..7ac0ac7da06 100644
--- a/src/devices/bus/wangpc/mvc.h
+++ b/src/devices/bus/wangpc/mvc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_WANGPC_MVC_H
+#define MAME_BUS_WANGPC_MVC_H
-#ifndef __WANGPC_MVC__
-#define __WANGPC_MVC__
+#pragma once
#include "wangpc.h"
#include "video/mc6845.h"
@@ -61,7 +61,6 @@ private:
// device type definition
-extern const device_type WANGPC_MVC;
-
+DECLARE_DEVICE_TYPE(WANGPC_MVC, wangpc_mvc_device)
-#endif
+#endif // MAME_BUS_WANGPC_MVC_H
diff --git a/src/devices/bus/wangpc/rtc.cpp b/src/devices/bus/wangpc/rtc.cpp
index 1e59c870b68..1fdb44571cb 100644
--- a/src/devices/bus/wangpc/rtc.cpp
+++ b/src/devices/bus/wangpc/rtc.cpp
@@ -29,7 +29,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WANGPC_RTC = device_creator<wangpc_rtc_device>;
+DEFINE_DEVICE_TYPE(WANGPC_RTC, wangpc_rtc_device, "wangpc_rtc", "Wang PC-PM040-B Remote Telecommunication Controller")
//-------------------------------------------------
@@ -187,7 +187,7 @@ ioport_constructor wangpc_rtc_device::device_input_ports() const
//-------------------------------------------------
wangpc_rtc_device::wangpc_rtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_RTC, "Wang PC-PM040-B", tag, owner, clock, "wangpc_rtc", __FILE__),
+ device_t(mconfig, WANGPC_RTC, tag, owner, clock),
device_wangpcbus_card_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG),
m_dmac(*this, AM9517A_TAG),
diff --git a/src/devices/bus/wangpc/rtc.h b/src/devices/bus/wangpc/rtc.h
index cd6b9bbeb0c..da931f80b89 100644
--- a/src/devices/bus/wangpc/rtc.h
+++ b/src/devices/bus/wangpc/rtc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_WANGPC_RTC_H
+#define MAME_BUS_WANGPC_RTC_H
-#ifndef __WANGPC_RTC__
-#define __WANGPC_RTC__
+#pragma once
#include "wangpc.h"
#include "cpu/z80/z80.h"
@@ -59,7 +59,6 @@ private:
// device type definition
-extern const device_type WANGPC_RTC;
-
+DECLARE_DEVICE_TYPE(WANGPC_RTC, wangpc_rtc_device)
-#endif
+#endif // MAME_BUS_WANGPC_RTC_H
diff --git a/src/devices/bus/wangpc/tig.cpp b/src/devices/bus/wangpc/tig.cpp
index 31dea52508c..5e3ac4b5278 100644
--- a/src/devices/bus/wangpc/tig.cpp
+++ b/src/devices/bus/wangpc/tig.cpp
@@ -55,7 +55,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WANGPC_TIG = device_creator<wangpc_tig_device>;
+DEFINE_DEVICE_TYPE(WANGPC_TIG, wangpc_tig_device, "wangpc_tig", "Want PC Text/Image/Graphics Controller")
//-------------------------------------------------
@@ -154,7 +154,7 @@ machine_config_constructor wangpc_tig_device::device_mconfig_additions() const
//-------------------------------------------------
wangpc_tig_device::wangpc_tig_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_TIG, "Wang PC TIG Controller", tag, owner, clock, "wangpc_tig", __FILE__),
+ device_t(mconfig, WANGPC_TIG, tag, owner, clock),
device_wangpcbus_card_interface(mconfig, *this),
m_hgdc0(*this, UPD7720_0_TAG),
m_hgdc1(*this, UPD7720_1_TAG),
diff --git a/src/devices/bus/wangpc/tig.h b/src/devices/bus/wangpc/tig.h
index 5154abc5e20..66d782cfd42 100644
--- a/src/devices/bus/wangpc/tig.h
+++ b/src/devices/bus/wangpc/tig.h
@@ -2,14 +2,14 @@
// copyright-holders:Curt Coder
/**********************************************************************
- Wang PC PM-001B Medium-Resolution Video Controller emulation
+ Wang PC Text/Image/Graphics controller emulation
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_WANGPC_TIG_H
+#define MAME_BUS_WANGPC_TIG_H
-#ifndef __WANGPC_TIG__
-#define __WANGPC_TIG__
+#pragma once
#include "wangpc.h"
#include "video/upd7220.h"
@@ -62,7 +62,6 @@ private:
// device type definition
-extern const device_type WANGPC_TIG;
-
+DECLARE_DEVICE_TYPE(WANGPC_TIG, wangpc_tig_device)
-#endif
+#endif // MAME_BUS_WANGPC_TIG_H
diff --git a/src/devices/bus/wangpc/wangpc.cpp b/src/devices/bus/wangpc/wangpc.cpp
index 7d387ecec15..8344178ca8d 100644
--- a/src/devices/bus/wangpc/wangpc.cpp
+++ b/src/devices/bus/wangpc/wangpc.cpp
@@ -14,8 +14,8 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WANGPC_BUS = device_creator<wangpcbus_device>;
-const device_type WANGPC_BUS_SLOT = device_creator<wangpcbus_slot_device>;
+DEFINE_DEVICE_TYPE(WANGPC_BUS, wangpcbus_device, "wangpcbus", "Wang PC bus")
+DEFINE_DEVICE_TYPE(WANGPC_BUS_SLOT, wangpcbus_slot_device, "wangpcbus_slot", "Wang PC bus slot")
@@ -28,7 +28,7 @@ const device_type WANGPC_BUS_SLOT = device_creator<wangpcbus_slot_device>;
//-------------------------------------------------
wangpcbus_slot_device::wangpcbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_BUS_SLOT, "Wang PC bus slot", tag, owner, clock, "wangpcbus_slot", __FILE__),
+ device_t(mconfig, WANGPC_BUS_SLOT, tag, owner, clock),
device_slot_interface(mconfig, *this),
m_bus(nullptr),
m_sid(0)
@@ -59,7 +59,7 @@ void wangpcbus_slot_device::device_start()
//-------------------------------------------------
wangpcbus_device::wangpcbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_BUS, "Wang PC bus", tag, owner, clock, "wangpcbus", __FILE__),
+ device_t(mconfig, WANGPC_BUS, tag, owner, clock),
m_write_irq2(*this),
m_write_irq3(*this),
m_write_irq4(*this),
diff --git a/src/devices/bus/wangpc/wangpc.h b/src/devices/bus/wangpc/wangpc.h
index 08cfa56c80d..740c7e5ed53 100644
--- a/src/devices/bus/wangpc/wangpc.h
+++ b/src/devices/bus/wangpc/wangpc.h
@@ -9,10 +9,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_WANGPC_WANGPC_H
+#define MAME_BUS_WANGPC_WANGPC_H
-#ifndef __WANGPC_BUS__
-#define __WANGPC_BUS__
+#pragma once
@@ -77,19 +77,19 @@
class wangpcbus_device;
-class wangpcbus_slot_device : public device_t,
- public device_slot_interface
+class wangpcbus_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
wangpcbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
-
// inline configuration
static void static_set_wangpcbus_slot(device_t &device, int sid);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
// configuration
wangpcbus_device *m_bus;
@@ -98,7 +98,7 @@ private:
// device type definition
-extern const device_type WANGPC_BUS_SLOT;
+DECLARE_DEVICE_TYPE(WANGPC_BUS_SLOT, wangpcbus_slot_device)
class device_wangpcbus_card_interface;
@@ -113,16 +113,16 @@ public:
wangpcbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~wangpcbus_device() { m_device_list.detach_all(); }
- template<class _Object> static devcb_base &set_irq2_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq2.set_callback(object); }
- template<class _Object> static devcb_base &set_irq3_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq3.set_callback(object); }
- template<class _Object> static devcb_base &set_irq4_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq4.set_callback(object); }
- template<class _Object> static devcb_base &set_irq5_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq5.set_callback(object); }
- template<class _Object> static devcb_base &set_irq6_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq6.set_callback(object); }
- template<class _Object> static devcb_base &set_irq7_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq7.set_callback(object); }
- template<class _Object> static devcb_base &set_drq1_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_drq1.set_callback(object); }
- template<class _Object> static devcb_base &set_drq2_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_drq2.set_callback(object); }
- template<class _Object> static devcb_base &set_drq3_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_drq3.set_callback(object); }
- template<class _Object> static devcb_base &set_ioerror_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_ioerror.set_callback(object); }
+ template <class Object> static devcb_base &set_irq2_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_irq2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_irq3_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_irq3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_irq4_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_irq4.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_irq5_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_irq5.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_irq6_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_irq6.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_irq7_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_irq7.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_drq1_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_drq1.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_drq2_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_drq2.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_drq3_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_drq3.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_ioerror_wr_callback(device_t &device, Object &&cb) { return downcast<wangpcbus_device &>(device).m_write_ioerror.set_callback(std::forward<Object>(cb)); }
void add_card(device_wangpcbus_card_interface *card, int sid);
@@ -180,7 +180,7 @@ private:
// device type definition
-extern const device_type WANGPC_BUS;
+DECLARE_DEVICE_TYPE(WANGPC_BUS, wangpcbus_device)
// ======================> device_wangpcbus_card_interface
@@ -189,22 +189,19 @@ extern const device_type WANGPC_BUS;
class device_wangpcbus_card_interface : public device_slot_card_interface
{
friend class wangpcbus_device;
+ template <class ElementType> friend class simple_list;
public:
- // construction/destruction
- device_wangpcbus_card_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_wangpcbus_card_interface() { }
-
device_wangpcbus_card_interface *next() const { return m_next; }
// memory access
- virtual uint16_t wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask) { return 0; };
- virtual void wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) { };
+ virtual uint16_t wangpcbus_mrdc_r(address_space &space, offs_t offset, uint16_t mem_mask) { return 0; }
+ virtual void wangpcbus_amwc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) { }
// I/O access
- virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) { return 0; };
- virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) { };
- bool sad(offs_t offset) { return ((offset & 0xf80) == (0x800 | (m_sid << 7))) ? true : false; }
+ virtual uint16_t wangpcbus_iorc_r(address_space &space, offs_t offset, uint16_t mem_mask) { return 0; }
+ virtual void wangpcbus_aiowc_w(address_space &space, offs_t offset, uint16_t mem_mask, uint16_t data) { }
+ bool sad(offs_t offset) const { return (offset & 0xf80) == (0x800 | (m_sid << 7)); }
// DMA
virtual uint8_t wangpcbus_dack_r(address_space &space, int line) { return 0; }
@@ -212,16 +209,20 @@ public:
virtual void wangpcbus_tc_w(int state) { }
virtual bool wangpcbus_have_dack(int line) { return false; }
- wangpcbus_device *m_bus;
+protected:
+ // construction/destruction
+ device_wangpcbus_card_interface(const machine_config &mconfig, device_t &device);
+
+ wangpcbus_device *m_bus;
wangpcbus_slot_device *m_slot;
int m_sid;
+
+private:
device_wangpcbus_card_interface *m_next;
};
SLOT_INTERFACE_EXTERN( wangpc_cards );
-
-
-#endif
+#endif // MAME_BUS_WANGPC_WANGPC_H
diff --git a/src/devices/bus/wangpc/wdc.cpp b/src/devices/bus/wangpc/wdc.cpp
index 4c6326c85d3..d468b76697c 100644
--- a/src/devices/bus/wangpc/wdc.cpp
+++ b/src/devices/bus/wangpc/wdc.cpp
@@ -31,7 +31,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type WANGPC_WDC = device_creator<wangpc_wdc_device>;
+DEFINE_DEVICE_TYPE(WANGPC_WDC, wangpc_wdc_device, "wangpc_wdc", "Wang PC-PM001 Winchester Disk Controller")
//-------------------------------------------------
@@ -143,7 +143,7 @@ inline void wangpc_wdc_device::set_irq(int state)
//-------------------------------------------------
wangpc_wdc_device::wangpc_wdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WANGPC_WDC, "Wang PC-PM001", tag, owner, clock, "wangpc_wdc", __FILE__),
+ device_t(mconfig, WANGPC_WDC, tag, owner, clock),
device_wangpcbus_card_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG),
m_ctc(*this, MK3882_TAG), m_status(0), m_option(0), m_irq(0)
diff --git a/src/devices/bus/wangpc/wdc.h b/src/devices/bus/wangpc/wdc.h
index 4667e637c1d..d665c453366 100644
--- a/src/devices/bus/wangpc/wdc.h
+++ b/src/devices/bus/wangpc/wdc.h
@@ -6,10 +6,10 @@
**********************************************************************/
-#pragma once
+#ifndef MAME_BUS_WANGPC_WDC_H
+#define MAME_BUS_WANGPC_WDC_H
-#ifndef __WANGPC_WDC__
-#define __WANGPC_WDC__
+#pragma once
#include "wangpc.h"
#include "cpu/z80/z80.h"
@@ -74,7 +74,6 @@ private:
// device type definition
-extern const device_type WANGPC_WDC;
-
+DECLARE_DEVICE_TYPE(WANGPC_WDC, wangpc_wdc_device)
-#endif
+#endif // MAME_BUS_WANGPC_WDC_H
diff --git a/src/devices/bus/wswan/rom.cpp b/src/devices/bus/wswan/rom.cpp
index b9594f84ac1..4ba57a44fe4 100644
--- a/src/devices/bus/wswan/rom.cpp
+++ b/src/devices/bus/wswan/rom.cpp
@@ -21,13 +21,13 @@ enum
// ws_rom_device - constructor
//-------------------------------------------------
-const device_type WS_ROM_STD = device_creator<ws_rom_device>;
-const device_type WS_ROM_SRAM = device_creator<ws_rom_sram_device>;
-const device_type WS_ROM_EEPROM = device_creator<ws_rom_eeprom_device>;
+DEFINE_DEVICE_TYPE(WS_ROM_STD, ws_rom_device, "ws_rom", "Wonderswan Standard Carts")
+DEFINE_DEVICE_TYPE(WS_ROM_SRAM, ws_rom_sram_device, "ws_sram", "Wonderswan Carts w/SRAM")
+DEFINE_DEVICE_TYPE(WS_ROM_EEPROM, ws_rom_eeprom_device, "ws_eeprom", "Wonderswan Carts w/EEPROM")
-ws_rom_device::ws_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) :
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+ws_rom_device::ws_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
device_ws_cart_interface(mconfig, *this),
m_base20(0),
m_base30(0),
@@ -45,34 +45,22 @@ ws_rom_device::ws_rom_device(const machine_config &mconfig, device_type type, co
{
}
-ws_rom_device::ws_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, WS_ROM_STD, "Wonderswan Standard Carts", tag, owner, clock, "ws_rom", __FILE__),
- device_ws_cart_interface( mconfig, *this ), m_base20(0),
- m_base30(0),
- m_base40(0),
- m_rtc_setting(0),
- m_rtc_year(0),
- m_rtc_month(0),
- m_rtc_day(0),
- m_rtc_day_of_week(0),
- m_rtc_hour(0),
- m_rtc_minute(0),
- m_rtc_second(0),
- m_rtc_index(0),
- rtc_timer(nullptr)
- {
+ws_rom_device::ws_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ws_rom_device(mconfig, WS_ROM_STD, tag, owner, clock)
+{
}
-ws_rom_sram_device::ws_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ws_rom_device(mconfig, WS_ROM_SRAM, "Wonderswan Carts w/SRAM", tag, owner, clock, "ws_sram", __FILE__), m_nvram_base(0)
- {
+ws_rom_sram_device::ws_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ws_rom_device(mconfig, WS_ROM_SRAM, tag, owner, clock),
+ m_nvram_base(0)
+{
}
-ws_rom_eeprom_device::ws_rom_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : ws_rom_device(mconfig, WS_ROM_EEPROM, "Wonderswan Carts w/EEPROM", tag, owner, clock, "ws_eeprom", __FILE__), m_eeprom_mode(0),
- m_eeprom_address(0), m_eeprom_command(0), m_eeprom_start(0), m_eeprom_write_enabled(0)
- {
+ws_rom_eeprom_device::ws_rom_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ ws_rom_device(mconfig, WS_ROM_EEPROM, tag, owner, clock),
+ m_eeprom_mode(0), m_eeprom_address(0), m_eeprom_command(0), m_eeprom_start(0), m_eeprom_write_enabled(0)
+{
}
diff --git a/src/devices/bus/wswan/rom.h b/src/devices/bus/wswan/rom.h
index 9197cf98911..ae420667c8f 100644
--- a/src/devices/bus/wswan/rom.h
+++ b/src/devices/bus/wswan/rom.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __WS_ROM_H
-#define __WS_ROM_H
+#ifndef MAME_BUS_WSWAN_ROM_H
+#define MAME_BUS_WSWAN_ROM_H
#include "slot.h"
@@ -13,14 +13,8 @@ class ws_rom_device : public device_t,
{
public:
// construction/destruction
- ws_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
ws_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom20) override;
virtual DECLARE_READ8_MEMBER(read_rom30) override;
@@ -29,6 +23,15 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_io) override;
protected:
+ static constexpr device_timer_id TIMER_RTC = 0;
+
+ ws_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
uint8_t m_io_regs[0x10];
uint32_t m_base20, m_base30, m_base40;
@@ -43,7 +46,6 @@ protected:
uint8_t m_rtc_second; /* Second */
uint8_t m_rtc_index; /* index for reading/writing of current of alarm time */
- static const device_timer_id TIMER_RTC = 0;
emu_timer *rtc_timer;
};
@@ -56,15 +58,16 @@ public:
// construction/destruction
ws_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_io) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint32_t m_nvram_base;
};
@@ -78,14 +81,15 @@ public:
// construction/destruction
ws_rom_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
// reading and writing
virtual DECLARE_READ8_MEMBER(read_io) override;
virtual DECLARE_WRITE8_MEMBER(write_io) override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
private:
uint8_t m_eeprom_mode; /* eeprom mode */
uint16_t m_eeprom_address; /* Read/write address */
@@ -97,9 +101,8 @@ private:
// device type definition
-extern const device_type WS_ROM_STD;
-extern const device_type WS_ROM_SRAM;
-extern const device_type WS_ROM_EEPROM;
-
+DECLARE_DEVICE_TYPE(WS_ROM_STD, ws_rom_device)
+DECLARE_DEVICE_TYPE(WS_ROM_SRAM, ws_rom_sram_device)
+DECLARE_DEVICE_TYPE(WS_ROM_EEPROM, ws_rom_eeprom_device)
-#endif
+#endif // MAME_BUS_WSWAN_ROM_H
diff --git a/src/devices/bus/wswan/slot.cpp b/src/devices/bus/wswan/slot.cpp
index fd92197ddbf..45df7c195bf 100644
--- a/src/devices/bus/wswan/slot.cpp
+++ b/src/devices/bus/wswan/slot.cpp
@@ -15,7 +15,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type WS_CART_SLOT = device_creator<ws_cart_slot_device>;
+DEFINE_DEVICE_TYPE(WS_CART_SLOT, ws_cart_slot_device, "ws_cart_slot", "Wonderswan Cartridge Slot")
//**************************************************************************
// Wonderswan Cartridges Interface
@@ -77,10 +77,11 @@ void device_ws_cart_interface::nvram_alloc(uint32_t size)
// ws_cart_slot_device - constructor
//-------------------------------------------------
ws_cart_slot_device::ws_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, WS_CART_SLOT, "Wonderswan Cartridge Slot", tag, owner, clock, "ws_cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_type(WS_STD), m_cart(nullptr)
+ device_t(mconfig, WS_CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_type(WS_STD),
+ m_cart(nullptr)
{
}
diff --git a/src/devices/bus/wswan/slot.h b/src/devices/bus/wswan/slot.h
index ce2c4726ed2..5cde9bee01f 100644
--- a/src/devices/bus/wswan/slot.h
+++ b/src/devices/bus/wswan/slot.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#ifndef __WS_SLOT_H
-#define __WS_SLOT_H
+#ifndef MAME_BUS_WSWAN_SLOT_H
+#define MAME_BUS_WSWAN_SLOT_H
+
+#pragma once
#include "softlist_dev.h"
@@ -26,7 +28,6 @@ class device_ws_cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_ws_cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_ws_cart_interface();
// reading and writing
@@ -36,7 +37,7 @@ public:
virtual DECLARE_READ8_MEMBER(read_ram) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_ram) {}
virtual DECLARE_READ8_MEMBER(read_io) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_io) {}
+ virtual DECLARE_WRITE8_MEMBER(write_io) { }
void rom_alloc(uint32_t size, const char *tag);
void nvram_alloc(uint32_t size);
@@ -45,12 +46,14 @@ public:
uint32_t get_rom_size() { return m_rom_size; }
uint32_t get_nvram_size() { return m_nvram.size(); }
- void save_nvram() { device().save_item(NAME(m_nvram)); }
+ void save_nvram() { device().save_item(NAME(m_nvram)); }
void set_has_rtc(bool val) { m_has_rtc = val; }
void set_is_rotated(bool val) { m_is_rotated = val; }
int get_is_rotated() { return m_is_rotated ? 1 : 0; }
protected:
+ device_ws_cart_interface(const machine_config &mconfig, device_t &device);
+
// internal state
uint8_t *m_rom;
uint32_t m_rom_size;
@@ -72,9 +75,6 @@ public:
ws_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~ws_cart_slot_device();
- // device-level overrides
- virtual void device_start() override;
-
// image-level overrides
virtual image_init_result call_load() override;
virtual void call_unload() override;
@@ -109,15 +109,17 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_io);
protected:
+ // device-level overrides
+ virtual void device_start() override;
int m_type;
- device_ws_cart_interface* m_cart;
+ device_ws_cart_interface* m_cart;
};
// device type definition
-extern const device_type WS_CART_SLOT;
+DECLARE_DEVICE_TYPE(WS_CART_SLOT, ws_cart_slot_device)
/***************************************************************************
@@ -129,4 +131,5 @@ extern const device_type WS_CART_SLOT;
#define MCFG_WSWAN_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
MCFG_DEVICE_ADD(_tag, WS_CART_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#endif
+
+#endif // MAME_BUS_WSWAN_SLOT_H
diff --git a/src/devices/bus/x68k/x68k_neptunex.cpp b/src/devices/bus/x68k/x68k_neptunex.cpp
index 1c5d5fca020..619e461a01b 100644
--- a/src/devices/bus/x68k/x68k_neptunex.cpp
+++ b/src/devices/bus/x68k/x68k_neptunex.cpp
@@ -13,7 +13,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type X68K_NEPTUNEX = device_creator<x68k_neptune_device>;
+DEFINE_DEVICE_TYPE(X68K_NEPTUNEX, x68k_neptune_device, "x68k_neptunex", "Neptune-X")
// device machine config
static MACHINE_CONFIG_FRAGMENT( x68k_neptunex )
@@ -29,10 +29,10 @@ machine_config_constructor x68k_neptune_device::device_mconfig_additions() const
}
x68k_neptune_device::x68k_neptune_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, X68K_NEPTUNEX, "Neptune-X", tag, owner, clock, "x68k_neptunex", __FILE__),
- device_x68k_expansion_card_interface(mconfig, *this),
- m_slot(nullptr),
- m_dp8390(*this, "dp8390d")
+ : device_t(mconfig, X68K_NEPTUNEX, tag, owner, clock)
+ , device_x68k_expansion_card_interface(mconfig, *this)
+ , m_slot(nullptr)
+ , m_dp8390(*this, "dp8390d")
{
}
diff --git a/src/devices/bus/x68k/x68k_neptunex.h b/src/devices/bus/x68k/x68k_neptunex.h
index 77ff9ab69e5..3fa0736dcdd 100644
--- a/src/devices/bus/x68k/x68k_neptunex.h
+++ b/src/devices/bus/x68k/x68k_neptunex.h
@@ -10,11 +10,13 @@
* 0xECE400-0xECE7FF: "Y1"
*/
-#ifndef X68K_NEPTUNEX_H_
-#define X68K_NEPTUNEX_H_
+#ifndef MAME_BUS_X68K_X68K_NEPTUNEX_H
+#define MAME_BUS_X68K_X68K_NEPTUNEX_H
+
+#pragma once
-#include "machine/dp8390.h"
#include "x68kexp.h"
+#include "machine/dp8390.h"
#define NEPTUNE_IRQ_VECTOR 0xf9
@@ -28,12 +30,13 @@ public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
- void x68k_neptune_irq_w(int state);
DECLARE_READ8_MEMBER(x68k_neptune_mem_read);
DECLARE_WRITE8_MEMBER(x68k_neptune_mem_write);
DECLARE_READ16_MEMBER(x68k_neptune_port_r);
DECLARE_WRITE16_MEMBER(x68k_neptune_port_w);
+ void x68k_neptune_irq_w(int state);
+
protected:
// device-level overrides
virtual void device_start() override;
@@ -48,6 +51,6 @@ private:
};
// device type definition
-extern const device_type X68K_NEPTUNEX;
+DECLARE_DEVICE_TYPE(X68K_NEPTUNEX, x68k_neptune_device)
-#endif /* X68K_NEPTUNEX_H_ */
+#endif // MAME_BUS_X68K_X68K_NEPTUNEX_H
diff --git a/src/devices/bus/x68k/x68k_scsiext.cpp b/src/devices/bus/x68k/x68k_scsiext.cpp
index 049a990ff1f..e04458a3dfd 100644
--- a/src/devices/bus/x68k/x68k_scsiext.cpp
+++ b/src/devices/bus/x68k/x68k_scsiext.cpp
@@ -18,7 +18,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type X68K_SCSIEXT = device_creator<x68k_scsiext_device>;
+DEFINE_DEVICE_TYPE(X68K_SCSIEXT, x68k_scsiext_device, "x68k_cz6bs1", "Sharp CZ-6BS1 SCSI-1")
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -57,9 +57,10 @@ machine_config_constructor x68k_scsiext_device::device_mconfig_additions() const
}
x68k_scsiext_device::x68k_scsiext_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, X68K_SCSIEXT, "Sharp CZ-6BS1 SCSI-1", tag, owner, clock, "x68k_cz6bs1", __FILE__),
- device_x68k_expansion_card_interface(mconfig, *this), m_slot(nullptr),
- m_spc(*this, "mb89352")
+ : device_t(mconfig, X68K_SCSIEXT, tag, owner, clock)
+ , device_x68k_expansion_card_interface(mconfig, *this)
+ , m_slot(nullptr),
+ m_spc(*this, "mb89352")
{
}
diff --git a/src/devices/bus/x68k/x68k_scsiext.h b/src/devices/bus/x68k/x68k_scsiext.h
index 54658840e8a..b3448e25dfb 100644
--- a/src/devices/bus/x68k/x68k_scsiext.h
+++ b/src/devices/bus/x68k/x68k_scsiext.h
@@ -6,11 +6,13 @@
* Created on: 5/06/2012
*/
-#ifndef X68K_SCSIEXT_H_
-#define X68K_SCSIEXT_H_
+#ifndef MAME_BUS_X68K_X68K_SCSIEXT_H
+#define MAME_BUS_X68K_X68K_SCSIEXT_H
+
+#pragma once
-#include "machine/mb89352.h"
#include "x68kexp.h"
+#include "machine/mb89352.h"
class x68k_scsiext_device : public device_t,
public device_x68k_expansion_card_interface
@@ -32,6 +34,7 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+
private:
x68k_expansion_slot_device *m_slot;
@@ -39,7 +42,6 @@ private:
};
// device type definition
-extern const device_type X68K_SCSIEXT;
-
+DECLARE_DEVICE_TYPE(X68K_SCSIEXT, x68k_scsiext_device)
-#endif /* X68K_SCSIEXT_H_ */
+#endif // MAME_BUS_X68K_X68K_SCSIEXT_H
diff --git a/src/devices/bus/x68k/x68kexp.cpp b/src/devices/bus/x68k/x68kexp.cpp
index c187ad0a26d..9d9cded5bd8 100644
--- a/src/devices/bus/x68k/x68kexp.cpp
+++ b/src/devices/bus/x68k/x68kexp.cpp
@@ -11,7 +11,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type X68K_EXPANSION_SLOT = device_creator<x68k_expansion_slot_device>;
+DEFINE_DEVICE_TYPE(X68K_EXPANSION_SLOT, x68k_expansion_slot_device, "x68k_expansion_slot", "Sharp X680x0 expansion slot")
//**************************************************************************
@@ -34,12 +34,13 @@ device_x68k_expansion_card_interface::~device_x68k_expansion_card_interface()
//**************************************************************************
x68k_expansion_slot_device::x68k_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, X68K_EXPANSION_SLOT, "Sharp X680x0 expansion slot", tag, owner, clock, "x68k_expansion_slot", __FILE__),
- device_slot_interface(mconfig, *this),
- m_out_irq2_cb(*this),
- m_out_irq4_cb(*this),
- m_out_nmi_cb(*this),
- m_out_reset_cb(*this), m_card(nullptr)
+ device_t(mconfig, X68K_EXPANSION_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this),
+ m_out_irq2_cb(*this),
+ m_out_irq4_cb(*this),
+ m_out_nmi_cb(*this),
+ m_out_reset_cb(*this),
+ m_card(nullptr)
{
}
diff --git a/src/devices/bus/x68k/x68kexp.h b/src/devices/bus/x68k/x68kexp.h
index c1bde3a2306..5b66685fbed 100644
--- a/src/devices/bus/x68k/x68kexp.h
+++ b/src/devices/bus/x68k/x68kexp.h
@@ -61,8 +61,10 @@
*
*/
-#ifndef X68KEXP_H_
-#define X68KEXP_H_
+#ifndef MAME_BUS_X68K_X68KEXP_H
+#define MAME_BUS_X68K_X68KEXP_H
+
+#pragma once
//**************************************************************************
@@ -99,28 +101,29 @@ class device_x68k_expansion_card_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_x68k_expansion_card_interface(const machine_config &mconfig, device_t &device);
virtual ~device_x68k_expansion_card_interface();
// reset
- virtual void x68k_reset_w() { };
+ virtual void x68k_reset_w() { }
+
+protected:
+ device_x68k_expansion_card_interface(const machine_config &mconfig, device_t &device);
};
// ======================> x68k_expansion_slot_device
-class x68k_expansion_slot_device : public device_t,
- public device_slot_interface
+class x68k_expansion_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
x68k_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~x68k_expansion_slot_device();
- template<class _Object> static devcb_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq2_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq4_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
- template<class _Object> static devcb_base &set_out_reset_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_reset_cb.set_callback(object); }
+ template <class Object> static devcb_base &set_out_irq2_callback(device_t &device, Object &&cb) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq2_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_irq4_callback(device_t &device, Object &&cb) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq4_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_nmi_callback(device_t &device, Object &&cb) { return downcast<x68k_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base &set_out_reset_callback(device_t &device, Object &&cb) { return downcast<x68k_expansion_slot_device &>(device).m_out_reset_cb.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE_LINE_MEMBER( irq2_w );
@@ -143,6 +146,6 @@ protected:
// device type definition
-extern const device_type X68K_EXPANSION_SLOT;
+DECLARE_DEVICE_TYPE(X68K_EXPANSION_SLOT, x68k_expansion_slot_device)
-#endif /* X68KEXP_H_ */
+#endif // MAME_BUS_X68K_X68KEXP_H
diff --git a/src/devices/bus/z88/flash.cpp b/src/devices/bus/z88/flash.cpp
index 752ec937eb9..28a995d86f7 100644
--- a/src/devices/bus/z88/flash.cpp
+++ b/src/devices/bus/z88/flash.cpp
@@ -22,7 +22,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-const device_type Z88_1024K_FLASH = device_creator<z88_1024k_flash_device>;
+DEFINE_DEVICE_TYPE(Z88_1024K_FLASH, z88_1024k_flash_device, "z88_1024k_flash", "Z88 1024KB Flash")
//-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( z88_flash )
@@ -42,9 +42,9 @@ MACHINE_CONFIG_END
//-------------------------------------------------
z88_1024k_flash_device::z88_1024k_flash_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, Z88_1024K_FLASH, "Z88 1024KB Flash", tag, owner, clock, "z88_1024k_flash", __FILE__),
- device_z88cart_interface( mconfig, *this ),
- m_flash(*this, FLASH_TAG)
+ : device_t(mconfig, Z88_1024K_FLASH, tag, owner, clock)
+ , device_z88cart_interface(mconfig, *this)
+ , m_flash(*this, FLASH_TAG)
{
}
diff --git a/src/devices/bus/z88/flash.h b/src/devices/bus/z88/flash.h
index 4d79cb55afe..b33507f059e 100644
--- a/src/devices/bus/z88/flash.h
+++ b/src/devices/bus/z88/flash.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_Z88_FLASH_H
+#define MAME_BUS_Z88_FLASH_H
-#ifndef __Z88_FLASH_H__
-#define __Z88_FLASH_H__
+#pragma once
#include "z88.h"
#include "machine/intelfsh.h"
@@ -39,7 +39,6 @@ private:
};
// device type definition
-extern const device_type Z88_1024K_FLASH;
-
+DECLARE_DEVICE_TYPE(Z88_1024K_FLASH, z88_1024k_flash_device)
-#endif /* __Z88_FLASH_H__ */
+#endif // MAME_BUS_Z88_FLASH_H
diff --git a/src/devices/bus/z88/ram.cpp b/src/devices/bus/z88/ram.cpp
index 22852bf62b3..69ddd3125a6 100644
--- a/src/devices/bus/z88/ram.cpp
+++ b/src/devices/bus/z88/ram.cpp
@@ -19,10 +19,10 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type Z88_32K_RAM = device_creator<z88_32k_ram_device>;
-const device_type Z88_128K_RAM = device_creator<z88_128k_ram_device>;
-const device_type Z88_512K_RAM = device_creator<z88_512k_ram_device>;
-const device_type Z88_1024K_RAM = device_creator<z88_1024k_ram_device>;
+DEFINE_DEVICE_TYPE(Z88_32K_RAM, z88_32k_ram_device, "z88_32k_ram", "Z88 32KB RAM")
+DEFINE_DEVICE_TYPE(Z88_128K_RAM, z88_128k_ram_device, "z88_128k_ram", "Z88 128KB RAM")
+DEFINE_DEVICE_TYPE(Z88_512K_RAM, z88_512k_ram_device, "z88_512k_ram", "Z88 512KB RAM")
+DEFINE_DEVICE_TYPE(Z88_1024K_RAM, z88_1024k_ram_device, "z88_1024k_ram", "Z88 1024KB RAM")
//**************************************************************************
// LIVE DEVICE
@@ -33,15 +33,13 @@ const device_type Z88_1024K_RAM = device_creator<z88_1024k_ram_device>;
//-------------------------------------------------
z88_32k_ram_device::z88_32k_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, Z88_32K_RAM, "Z88 32KB RAM", tag, owner, clock, "z88_32k_ram", __FILE__),
- device_z88cart_interface( mconfig, *this ), m_ram(nullptr)
- {
+ : z88_32k_ram_device(mconfig, Z88_32K_RAM, tag, owner, clock)
+{
}
-z88_32k_ram_device::z88_32k_ram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_z88cart_interface( mconfig, *this ), m_ram(nullptr)
- {
+z88_32k_ram_device::z88_32k_ram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_z88cart_interface(mconfig, *this), m_ram(nullptr)
+{
}
//-------------------------------------------------
@@ -49,7 +47,7 @@ z88_32k_ram_device::z88_32k_ram_device(const machine_config &mconfig, device_typ
//-------------------------------------------------
z88_128k_ram_device::z88_128k_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : z88_32k_ram_device(mconfig, Z88_128K_RAM, "Z88 128KB RAM", tag, owner, clock, "z88_128k_ram", __FILE__)
+ : z88_32k_ram_device(mconfig, Z88_128K_RAM, tag, owner, clock)
{
}
@@ -58,7 +56,7 @@ z88_128k_ram_device::z88_128k_ram_device(const machine_config &mconfig, const ch
//-------------------------------------------------
z88_512k_ram_device::z88_512k_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : z88_32k_ram_device(mconfig, Z88_512K_RAM, "Z88 512KB RAM", tag, owner, clock, "z88_512k_ram", __FILE__)
+ : z88_32k_ram_device(mconfig, Z88_512K_RAM, tag, owner, clock)
{
}
@@ -67,7 +65,7 @@ z88_512k_ram_device::z88_512k_ram_device(const machine_config &mconfig, const ch
//-------------------------------------------------
z88_1024k_ram_device::z88_1024k_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : z88_32k_ram_device(mconfig, Z88_1024K_RAM, "Z88 1024KB RAM", tag, owner, clock, "z88_1024k_ram", __FILE__)
+ : z88_32k_ram_device(mconfig, Z88_1024K_RAM, tag, owner, clock)
{
}
diff --git a/src/devices/bus/z88/ram.h b/src/devices/bus/z88/ram.h
index d2e1646145d..357959064a8 100644
--- a/src/devices/bus/z88/ram.h
+++ b/src/devices/bus/z88/ram.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_Z88_RAM_H
+#define MAME_BUS_Z88_RAM_H
-#ifndef __Z88_RAM_H__
-#define __Z88_RAM_H__
+#pragma once
#include "z88.h"
@@ -19,9 +19,10 @@ class z88_32k_ram_device : public device_t,
public:
// construction/destruction
z88_32k_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- z88_32k_ram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
protected:
+ z88_32k_ram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
@@ -76,9 +77,9 @@ protected:
};
// device type definition
-extern const device_type Z88_32K_RAM;
-extern const device_type Z88_128K_RAM;
-extern const device_type Z88_512K_RAM;
-extern const device_type Z88_1024K_RAM;
+DECLARE_DEVICE_TYPE(Z88_32K_RAM, z88_32k_ram_device)
+DECLARE_DEVICE_TYPE(Z88_128K_RAM, z88_128k_ram_device)
+DECLARE_DEVICE_TYPE(Z88_512K_RAM, z88_512k_ram_device)
+DECLARE_DEVICE_TYPE(Z88_1024K_RAM, z88_1024k_ram_device)
-#endif /* __Z88_RAM_H__ */
+#endif // MAME_BUS_Z88_RAM_H
diff --git a/src/devices/bus/z88/rom.cpp b/src/devices/bus/z88/rom.cpp
index 4ac53bba045..ea1feb603f4 100644
--- a/src/devices/bus/z88/rom.cpp
+++ b/src/devices/bus/z88/rom.cpp
@@ -19,9 +19,9 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type Z88_32K_ROM = device_creator<z88_32k_rom_device>;
-const device_type Z88_128K_ROM = device_creator<z88_128k_rom_device>;
-const device_type Z88_256K_ROM = device_creator<z88_256k_rom_device>;
+DEFINE_DEVICE_TYPE(Z88_32K_ROM, z88_32k_rom_device, "z88_32k_rom", "Z88 32KB ROM")
+DEFINE_DEVICE_TYPE(Z88_128K_ROM, z88_128k_rom_device, "z88_128k_rom", "Z88 128KB ROM")
+DEFINE_DEVICE_TYPE(Z88_256K_ROM, z88_256k_rom_device, "z88_256k_rom", "Z88 256KB ROM")
//**************************************************************************
// LIVE DEVICE
@@ -32,15 +32,13 @@ const device_type Z88_256K_ROM = device_creator<z88_256k_rom_device>;
//-------------------------------------------------
z88_32k_rom_device::z88_32k_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, Z88_32K_ROM, "Z88 32KB ROM", tag, owner, clock, "z88_32k_rom", __FILE__),
- device_z88cart_interface( mconfig, *this ), m_rom(nullptr)
- {
+ : z88_32k_rom_device(mconfig, Z88_32K_ROM, tag, owner, clock)
+{
}
-z88_32k_rom_device::z88_32k_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_z88cart_interface( mconfig, *this ), m_rom(nullptr)
- {
+z88_32k_rom_device::z88_32k_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock), device_z88cart_interface(mconfig, *this), m_rom(nullptr)
+{
}
//-------------------------------------------------
@@ -48,7 +46,7 @@ z88_32k_rom_device::z88_32k_rom_device(const machine_config &mconfig, device_typ
//-------------------------------------------------
z88_128k_rom_device::z88_128k_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : z88_32k_rom_device(mconfig, Z88_128K_ROM, "Z88 128KB ROM", tag, owner, clock, "z88_128k_rom", __FILE__)
+ : z88_32k_rom_device(mconfig, Z88_128K_ROM, tag, owner, clock)
{
}
@@ -57,7 +55,7 @@ z88_128k_rom_device::z88_128k_rom_device(const machine_config &mconfig, const ch
//-------------------------------------------------
z88_256k_rom_device::z88_256k_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : z88_32k_rom_device(mconfig, Z88_256K_ROM, "Z88 256KB ROM", tag, owner, clock, "z88_256k_rom", __FILE__)
+ : z88_32k_rom_device(mconfig, Z88_256K_ROM, tag, owner, clock)
{
}
diff --git a/src/devices/bus/z88/rom.h b/src/devices/bus/z88/rom.h
index 41c63955d4f..9508efbef14 100644
--- a/src/devices/bus/z88/rom.h
+++ b/src/devices/bus/z88/rom.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Sandro Ronco
-#pragma once
+#ifndef MAME_BUS_Z88_ROM_H
+#define MAME_BUS_Z88_ROM_H
-#ifndef __Z88_ROM_H__
-#define __Z88_ROM_H__
+#pragma once
#include "z88.h"
@@ -19,9 +19,10 @@ class z88_32k_rom_device : public device_t,
public:
// construction/destruction
z88_32k_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- z88_32k_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
protected:
+ z88_32k_rom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
@@ -62,8 +63,8 @@ protected:
};
// device type definition
-extern const device_type Z88_32K_ROM;
-extern const device_type Z88_128K_ROM;
-extern const device_type Z88_256K_ROM;
+DECLARE_DEVICE_TYPE(Z88_32K_ROM, z88_32k_rom_device)
+DECLARE_DEVICE_TYPE(Z88_128K_ROM, z88_128k_rom_device)
+DECLARE_DEVICE_TYPE(Z88_256K_ROM, z88_256k_rom_device)
-#endif /* __Z88_ROM_H__ */
+#endif // MAME_BUS_Z88_ROM_H
diff --git a/src/devices/bus/z88/z88.cpp b/src/devices/bus/z88/z88.cpp
index d6dd43b77f2..9f7b7fb3172 100644
--- a/src/devices/bus/z88/z88.cpp
+++ b/src/devices/bus/z88/z88.cpp
@@ -22,7 +22,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-const device_type Z88CART_SLOT = device_creator<z88cart_slot_device>;
+DEFINE_DEVICE_TYPE(Z88CART_SLOT, z88cart_slot_device, "z88cart_slot", "Z88 Cartridge Slot")
//**************************************************************************
@@ -56,10 +56,11 @@ device_z88cart_interface::~device_z88cart_interface()
// z88cart_slot_device - constructor
//-------------------------------------------------
z88cart_slot_device::z88cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, Z88CART_SLOT, "Z88 Cartridge Slot", tag, owner, clock, "z88cart_slot", __FILE__),
- device_image_interface(mconfig, *this),
- device_slot_interface(mconfig, *this),
- m_out_flp_cb(*this), m_cart(nullptr), m_flp_timer(nullptr)
+ device_t(mconfig, Z88CART_SLOT, tag, owner, clock),
+ device_image_interface(mconfig, *this),
+ device_slot_interface(mconfig, *this),
+ m_out_flp_cb(*this),
+ m_cart(nullptr), m_flp_timer(nullptr)
{
}
diff --git a/src/devices/bus/z88/z88.h b/src/devices/bus/z88/z88.h
index cd7a8ce3808..477b98eca7c 100644
--- a/src/devices/bus/z88/z88.h
+++ b/src/devices/bus/z88/z88.h
@@ -51,8 +51,10 @@
*********************************************************************/
-#ifndef __Z88CART_H__
-#define __Z88CART_H__
+#ifndef MAME_BUS_Z88_Z88_H
+#define MAME_BUS_Z88_Z88_H
+
+#pragma once
#include "softlist_dev.h"
@@ -67,7 +69,6 @@ class device_z88cart_interface : public device_slot_card_interface
{
public:
// construction/destruction
- device_z88cart_interface(const machine_config &mconfig, device_t &device);
virtual ~device_z88cart_interface();
// reading and writing
@@ -75,6 +76,9 @@ public:
virtual DECLARE_WRITE8_MEMBER(write) { }
virtual uint8_t* get_cart_base() { return nullptr; }
virtual uint32_t get_cart_size() { return 0; }
+
+protected:
+ device_z88cart_interface(const machine_config &mconfig, device_t &device);
};
@@ -89,11 +93,7 @@ public:
z88cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~z88cart_slot_device();
- template<class _Object> static devcb_base &set_out_flp_callback(device_t &device, _Object object) { return downcast<z88cart_slot_device &>(device).m_out_flp_cb.set_callback(object); }
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ template <class Object> static devcb_base &set_out_flp_callback(device_t &device, Object &&cb) { return downcast<z88cart_slot_device &>(device).m_out_flp_cb.set_callback(std::forward<Object>(cb)); }
// image-level overrides
virtual image_init_result call_load() override;
@@ -116,8 +116,14 @@ public:
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);
virtual uint8_t* get_cart_base();
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
- static const device_timer_id TIMER_FLP_CLEAR = 0;
+ static constexpr device_timer_id TIMER_FLP_CLEAR = 0;
devcb_write_line m_out_flp_cb;
device_z88cart_interface* m_cart;
@@ -126,7 +132,7 @@ private:
// device type definition
-extern const device_type Z88CART_SLOT;
+DECLARE_DEVICE_TYPE(Z88CART_SLOT, z88cart_slot_device)
/***************************************************************************
@@ -136,4 +142,4 @@ extern const device_type Z88CART_SLOT;
#define MCFG_Z88CART_SLOT_OUT_FLP_CB(_devcb) \
devcb = &z88cart_slot_device::set_out_flp_callback(*device, DEVCB_##_devcb);
-#endif /* __Z88CART_H__ */
+#endif // MAME_BUS_Z88_Z88_H