summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu')
-rw-r--r--src/devices/cpu/8x300/8x300.cpp6
-rw-r--r--src/devices/cpu/8x300/8x300.h6
-rw-r--r--src/devices/cpu/adsp2100/adsp2100.cpp16
-rw-r--r--src/devices/cpu/adsp2100/adsp2100.h16
-rw-r--r--src/devices/cpu/alpha/alpha.cpp6
-rw-r--r--src/devices/cpu/alpha/alpha.h6
-rw-r--r--src/devices/cpu/alto2/alto2cpu.cpp2
-rw-r--r--src/devices/cpu/alto2/alto2cpu.h2
-rw-r--r--src/devices/cpu/am29000/am29000.cpp2
-rw-r--r--src/devices/cpu/am29000/am29000.h2
-rw-r--r--src/devices/cpu/amis2000/amis2000.cpp6
-rw-r--r--src/devices/cpu/amis2000/amis2000.h8
-rw-r--r--src/devices/cpu/apexc/apexc.cpp2
-rw-r--r--src/devices/cpu/apexc/apexc.h2
-rw-r--r--src/devices/cpu/arc/arc.cpp2
-rw-r--r--src/devices/cpu/arc/arc.h2
-rw-r--r--src/devices/cpu/arcompact/arcompact.cpp2
-rw-r--r--src/devices/cpu/arcompact/arcompact.h2
-rw-r--r--src/devices/cpu/arm/arm.cpp4
-rw-r--r--src/devices/cpu/arm/arm.h4
-rw-r--r--src/devices/cpu/arm7/arm7.cpp38
-rw-r--r--src/devices/cpu/arm7/arm7.h38
-rw-r--r--src/devices/cpu/arm7/lpc210x.cpp4
-rw-r--r--src/devices/cpu/arm7/lpc210x.h2
-rw-r--r--src/devices/cpu/arm7/upd800468.cpp8
-rw-r--r--src/devices/cpu/arm7/upd800468.h4
-rw-r--r--src/devices/cpu/asap/asap.cpp2
-rw-r--r--src/devices/cpu/asap/asap.h2
-rw-r--r--src/devices/cpu/avr8/avr8.cpp16
-rw-r--r--src/devices/cpu/avr8/avr8.h16
-rw-r--r--src/devices/cpu/axc51/axc51.cpp10
-rw-r--r--src/devices/cpu/axc51/axc51.h10
-rw-r--r--src/devices/cpu/bcp/dp8344.cpp6
-rw-r--r--src/devices/cpu/bcp/dp8344.h6
-rw-r--r--src/devices/cpu/capricorn/capricorn.cpp2
-rw-r--r--src/devices/cpu/capricorn/capricorn.h2
-rw-r--r--src/devices/cpu/ccpu/ccpu.cpp2
-rw-r--r--src/devices/cpu/ccpu/ccpu.h2
-rw-r--r--src/devices/cpu/clipper/clipper.cpp8
-rw-r--r--src/devices/cpu/clipper/clipper.h8
-rw-r--r--src/devices/cpu/cop400/cop400.cpp36
-rw-r--r--src/devices/cpu/cop400/cop400.h36
-rw-r--r--src/devices/cpu/cops1/cops1base.cpp2
-rw-r--r--src/devices/cpu/cops1/cops1base.h2
-rw-r--r--src/devices/cpu/cops1/mm5799.cpp2
-rw-r--r--src/devices/cpu/cops1/mm5799.h2
-rw-r--r--src/devices/cpu/cosmac/cosmac.cpp18
-rw-r--r--src/devices/cpu/cosmac/cosmac.h18
-rw-r--r--src/devices/cpu/cp1610/cp1610.cpp2
-rw-r--r--src/devices/cpu/cr16b/cr16b.cpp4
-rw-r--r--src/devices/cpu/cr16b/cr16b.h4
-rw-r--r--src/devices/cpu/cubeqcpu/cubeqcpu.cpp6
-rw-r--r--src/devices/cpu/cubeqcpu/cubeqcpu.h6
-rw-r--r--src/devices/cpu/diablo/diablo1300.cpp2
-rw-r--r--src/devices/cpu/diablo/diablo1300.h2
-rw-r--r--src/devices/cpu/dsp16/dsp16.cpp6
-rw-r--r--src/devices/cpu/dsp16/dsp16.h6
-rw-r--r--src/devices/cpu/dsp32/dsp32.cpp2
-rw-r--r--src/devices/cpu/dsp32/dsp32.h2
-rw-r--r--src/devices/cpu/dsp56000/dsp56000.cpp6
-rw-r--r--src/devices/cpu/dsp56000/dsp56000.h6
-rw-r--r--src/devices/cpu/dsp56156/dsp56156.cpp2
-rw-r--r--src/devices/cpu/dsp56156/dsp56156.h2
-rw-r--r--src/devices/cpu/dspp/dspp.cpp4
-rw-r--r--src/devices/cpu/dspp/dspp.h5
-rw-r--r--src/devices/cpu/e0c6200/e0c6200.cpp2
-rw-r--r--src/devices/cpu/e0c6200/e0c6200.h2
-rw-r--r--src/devices/cpu/e0c6200/e0c6s46.cpp2
-rw-r--r--src/devices/cpu/e0c6200/e0c6s46.h2
-rw-r--r--src/devices/cpu/e132xs/e132xs.cpp30
-rw-r--r--src/devices/cpu/e132xs/e132xs.h30
-rw-r--r--src/devices/cpu/es5510/es5510.cpp2
-rw-r--r--src/devices/cpu/es5510/es5510.h2
-rw-r--r--src/devices/cpu/esrip/esrip.cpp2
-rw-r--r--src/devices/cpu/esrip/esrip.h2
-rw-r--r--src/devices/cpu/f2mc16/f2mc16.cpp4
-rw-r--r--src/devices/cpu/f2mc16/f2mc16.h4
-rw-r--r--src/devices/cpu/f2mc16/mb9061x.cpp14
-rw-r--r--src/devices/cpu/f2mc16/mb9061x.h14
-rw-r--r--src/devices/cpu/f8/f8.cpp2
-rw-r--r--src/devices/cpu/f8/f8.h2
-rw-r--r--src/devices/cpu/fr/fr.cpp4
-rw-r--r--src/devices/cpu/fr/fr.h4
-rw-r--r--src/devices/cpu/g65816/g65816.cpp8
-rw-r--r--src/devices/cpu/g65816/g65816.h8
-rw-r--r--src/devices/cpu/gigatron/gigatron.cpp2
-rw-r--r--src/devices/cpu/gigatron/gigatron.h2
-rw-r--r--src/devices/cpu/h16/hd641016.cpp2
-rw-r--r--src/devices/cpu/h16/hd641016.h2
-rw-r--r--src/devices/cpu/h6280/h6280.cpp2
-rw-r--r--src/devices/cpu/h6280/h6280.h2
-rw-r--r--src/devices/cpu/h8/gt913.cpp4
-rw-r--r--src/devices/cpu/h8/gt913.h2
-rw-r--r--src/devices/cpu/h8/h8.cpp2
-rw-r--r--src/devices/cpu/h8/h8.h2
-rw-r--r--src/devices/cpu/h8/h83002.cpp2
-rw-r--r--src/devices/cpu/h8/h83002.h2
-rw-r--r--src/devices/cpu/h8/h83003.cpp2
-rw-r--r--src/devices/cpu/h8/h83003.h2
-rw-r--r--src/devices/cpu/h8/h83006.cpp6
-rw-r--r--src/devices/cpu/h8/h83006.h6
-rw-r--r--src/devices/cpu/h8/h83008.cpp2
-rw-r--r--src/devices/cpu/h8/h83008.h2
-rw-r--r--src/devices/cpu/h8/h83032.cpp8
-rw-r--r--src/devices/cpu/h8/h83032.h8
-rw-r--r--src/devices/cpu/h8/h83042.cpp8
-rw-r--r--src/devices/cpu/h8/h83042.h8
-rw-r--r--src/devices/cpu/h8/h83048.cpp10
-rw-r--r--src/devices/cpu/h8/h83048.h10
-rw-r--r--src/devices/cpu/h8/h83337.cpp8
-rw-r--r--src/devices/cpu/h8/h83337.h8
-rw-r--r--src/devices/cpu/h8/h8_adc.cpp14
-rw-r--r--src/devices/cpu/h8/h8_adc.h26
-rw-r--r--src/devices/cpu/h8/h8_dma.cpp4
-rw-r--r--src/devices/cpu/h8/h8_dma.h6
-rw-r--r--src/devices/cpu/h8/h8_dtc.cpp2
-rw-r--r--src/devices/cpu/h8/h8_dtc.h4
-rw-r--r--src/devices/cpu/h8/h8_intc.cpp14
-rw-r--r--src/devices/cpu/h8/h8_intc.h14
-rw-r--r--src/devices/cpu/h8/h8_port.cpp2
-rw-r--r--src/devices/cpu/h8/h8_port.h4
-rw-r--r--src/devices/cpu/h8/h8_sci.cpp2
-rw-r--r--src/devices/cpu/h8/h8_sci.h4
-rw-r--r--src/devices/cpu/h8/h8_timer16.cpp10
-rw-r--r--src/devices/cpu/h8/h8_timer16.h18
-rw-r--r--src/devices/cpu/h8/h8_timer8.cpp6
-rw-r--r--src/devices/cpu/h8/h8_timer8.h10
-rw-r--r--src/devices/cpu/h8/h8_watchdog.cpp2
-rw-r--r--src/devices/cpu/h8/h8_watchdog.h4
-rw-r--r--src/devices/cpu/h8/h8h.cpp2
-rw-r--r--src/devices/cpu/h8/h8h.h2
-rw-r--r--src/devices/cpu/h8/h8s2000.cpp2
-rw-r--r--src/devices/cpu/h8/h8s2000.h2
-rw-r--r--src/devices/cpu/h8/h8s2245.cpp10
-rw-r--r--src/devices/cpu/h8/h8s2245.h10
-rw-r--r--src/devices/cpu/h8/h8s2320.cpp20
-rw-r--r--src/devices/cpu/h8/h8s2320.h20
-rw-r--r--src/devices/cpu/h8/h8s2357.cpp14
-rw-r--r--src/devices/cpu/h8/h8s2357.h14
-rw-r--r--src/devices/cpu/h8/h8s2600.cpp2
-rw-r--r--src/devices/cpu/h8/h8s2600.h2
-rw-r--r--src/devices/cpu/h8/h8s2655.cpp6
-rw-r--r--src/devices/cpu/h8/h8s2655.h6
-rw-r--r--src/devices/cpu/h8500/h8500.cpp2
-rw-r--r--src/devices/cpu/h8500/h8500.h2
-rw-r--r--src/devices/cpu/h8500/h8510.cpp4
-rw-r--r--src/devices/cpu/h8500/h8510.h4
-rw-r--r--src/devices/cpu/h8500/h8520.cpp6
-rw-r--r--src/devices/cpu/h8500/h8520.h6
-rw-r--r--src/devices/cpu/h8500/h8532.cpp6
-rw-r--r--src/devices/cpu/h8500/h8532.h6
-rw-r--r--src/devices/cpu/h8500/h8534.cpp14
-rw-r--r--src/devices/cpu/h8500/h8534.h14
-rw-r--r--src/devices/cpu/hcd62121/hcd62121.cpp2
-rw-r--r--src/devices/cpu/hcd62121/hcd62121.h2
-rw-r--r--src/devices/cpu/hd61700/hd61700.cpp2
-rw-r--r--src/devices/cpu/hd61700/hd61700.h2
-rw-r--r--src/devices/cpu/hmcs40/hmcs40.cpp32
-rw-r--r--src/devices/cpu/hmcs40/hmcs40.h32
-rw-r--r--src/devices/cpu/hpc/hpc.cpp6
-rw-r--r--src/devices/cpu/hpc/hpc.h6
-rw-r--r--src/devices/cpu/hphybrid/hphybrid.cpp10
-rw-r--r--src/devices/cpu/hphybrid/hphybrid.h10
-rw-r--r--src/devices/cpu/i386/athlon.cpp2
-rw-r--r--src/devices/cpu/i386/athlon.h2
-rw-r--r--src/devices/cpu/i386/i386.cpp30
-rw-r--r--src/devices/cpu/i386/i386.h30
-rw-r--r--src/devices/cpu/i8008/i8008.cpp2
-rw-r--r--src/devices/cpu/i8008/i8008.h2
-rw-r--r--src/devices/cpu/i8085/i8085.cpp8
-rw-r--r--src/devices/cpu/i8085/i8085.h8
-rw-r--r--src/devices/cpu/i8089/i8089.cpp6
-rw-r--r--src/devices/cpu/i8089/i8089.h10
-rw-r--r--src/devices/cpu/i8089/i8089_channel.cpp2
-rw-r--r--src/devices/cpu/i8089/i8089_channel.h2
-rw-r--r--src/devices/cpu/i86/i186.cpp10
-rw-r--r--src/devices/cpu/i86/i186.h10
-rw-r--r--src/devices/cpu/i86/i286.cpp2
-rw-r--r--src/devices/cpu/i86/i286.h2
-rw-r--r--src/devices/cpu/i86/i86.cpp8
-rw-r--r--src/devices/cpu/i86/i86.h8
-rw-r--r--src/devices/cpu/i860/i860.cpp2
-rw-r--r--src/devices/cpu/i860/i860.h2
-rw-r--r--src/devices/cpu/i960/i960.cpp2
-rw-r--r--src/devices/cpu/i960/i960.h2
-rw-r--r--src/devices/cpu/ie15/ie15.cpp2
-rw-r--r--src/devices/cpu/ie15/ie15.h2
-rw-r--r--src/devices/cpu/jaguar/jaguar.cpp6
-rw-r--r--src/devices/cpu/jaguar/jaguar.h6
-rw-r--r--src/devices/cpu/ks0164/ks0164.cpp2
-rw-r--r--src/devices/cpu/ks0164/ks0164.h2
-rw-r--r--src/devices/cpu/lc8670/lc8670.cpp2
-rw-r--r--src/devices/cpu/lc8670/lc8670.h2
-rw-r--r--src/devices/cpu/lh5801/lh5801.cpp2
-rw-r--r--src/devices/cpu/lh5801/lh5801.h2
-rw-r--r--src/devices/cpu/lr35902/lr35902.cpp2
-rw-r--r--src/devices/cpu/lr35902/lr35902.h2
-rw-r--r--src/devices/cpu/m37710/m37710.cpp16
-rw-r--r--src/devices/cpu/m37710/m37710.h16
-rw-r--r--src/devices/cpu/m6502/deco16.cpp2
-rw-r--r--src/devices/cpu/m6502/deco16.h2
-rw-r--r--src/devices/cpu/m6502/m3745x.cpp6
-rw-r--r--src/devices/cpu/m6502/m3745x.h6
-rw-r--r--src/devices/cpu/m6502/m4510.cpp2
-rw-r--r--src/devices/cpu/m6502/m4510.h2
-rw-r--r--src/devices/cpu/m6502/m50734.cpp2
-rw-r--r--src/devices/cpu/m6502/m50734.h2
-rw-r--r--src/devices/cpu/m6502/m5074x.cpp20
-rw-r--r--src/devices/cpu/m6502/m5074x.h14
-rw-r--r--src/devices/cpu/m6502/m6500_1.cpp2
-rw-r--r--src/devices/cpu/m6502/m6500_1.h2
-rw-r--r--src/devices/cpu/m6502/m6502.cpp8
-rw-r--r--src/devices/cpu/m6502/m6502.h8
-rw-r--r--src/devices/cpu/m6502/m6504.cpp2
-rw-r--r--src/devices/cpu/m6502/m6504.h2
-rw-r--r--src/devices/cpu/m6502/m6507.cpp2
-rw-r--r--src/devices/cpu/m6502/m6507.h2
-rw-r--r--src/devices/cpu/m6502/m6509.cpp2
-rw-r--r--src/devices/cpu/m6502/m6509.h2
-rw-r--r--src/devices/cpu/m6502/m6510.cpp6
-rw-r--r--src/devices/cpu/m6502/m6510.h6
-rw-r--r--src/devices/cpu/m6502/m6510t.cpp2
-rw-r--r--src/devices/cpu/m6502/m6510t.h2
-rw-r--r--src/devices/cpu/m6502/m65c02.cpp4
-rw-r--r--src/devices/cpu/m6502/m65c02.h4
-rw-r--r--src/devices/cpu/m6502/m65ce02.cpp4
-rw-r--r--src/devices/cpu/m6502/m65ce02.h4
-rw-r--r--src/devices/cpu/m6502/m65sc02.cpp2
-rw-r--r--src/devices/cpu/m6502/m65sc02.h2
-rw-r--r--src/devices/cpu/m6502/m740.cpp2
-rw-r--r--src/devices/cpu/m6502/m740.h2
-rw-r--r--src/devices/cpu/m6502/m7501.cpp2
-rw-r--r--src/devices/cpu/m6502/m7501.h2
-rw-r--r--src/devices/cpu/m6502/m8502.cpp2
-rw-r--r--src/devices/cpu/m6502/m8502.h2
-rw-r--r--src/devices/cpu/m6502/r65c02.cpp4
-rw-r--r--src/devices/cpu/m6502/r65c02.h4
-rw-r--r--src/devices/cpu/m6502/r65c19.cpp8
-rw-r--r--src/devices/cpu/m6502/r65c19.h8
-rw-r--r--src/devices/cpu/m6502/rp2a03.cpp10
-rw-r--r--src/devices/cpu/m6502/rp2a03.h10
-rw-r--r--src/devices/cpu/m6502/st2204.cpp6
-rw-r--r--src/devices/cpu/m6502/st2204.h6
-rw-r--r--src/devices/cpu/m6502/st2205u.cpp6
-rw-r--r--src/devices/cpu/m6502/st2205u.h6
-rw-r--r--src/devices/cpu/m6502/st2xxx.cpp2
-rw-r--r--src/devices/cpu/m6502/st2xxx.h2
-rw-r--r--src/devices/cpu/m6502/w65c02s.cpp4
-rw-r--r--src/devices/cpu/m6502/w65c02s.h4
-rw-r--r--src/devices/cpu/m6502/xavix.cpp4
-rw-r--r--src/devices/cpu/m6502/xavix.h4
-rw-r--r--src/devices/cpu/m6502/xavix2000.cpp6
-rw-r--r--src/devices/cpu/m6502/xavix2000.h6
-rw-r--r--src/devices/cpu/m6800/m6800.cpp12
-rw-r--r--src/devices/cpu/m6800/m6800.h12
-rw-r--r--src/devices/cpu/m6800/m6801.cpp32
-rw-r--r--src/devices/cpu/m6800/m6801.h32
-rw-r--r--src/devices/cpu/m68000/fscpu32.cpp2
-rw-r--r--src/devices/cpu/m68000/fscpu32.h2
-rw-r--r--src/devices/cpu/m68000/m68000.cpp6
-rw-r--r--src/devices/cpu/m68000/m68000.h6
-rw-r--r--src/devices/cpu/m68000/m68008.cpp4
-rw-r--r--src/devices/cpu/m68000/m68008.h4
-rw-r--r--src/devices/cpu/m68000/m68010.cpp2
-rw-r--r--src/devices/cpu/m68000/m68010.h2
-rw-r--r--src/devices/cpu/m68000/m68020.cpp10
-rw-r--r--src/devices/cpu/m68000/m68020.h10
-rw-r--r--src/devices/cpu/m68000/m68030.cpp4
-rw-r--r--src/devices/cpu/m68000/m68030.h4
-rw-r--r--src/devices/cpu/m68000/m68040.cpp6
-rw-r--r--src/devices/cpu/m68000/m68040.h6
-rw-r--r--src/devices/cpu/m68000/m68kcommon.h6
-rw-r--r--src/devices/cpu/m68000/m68kcpu.cpp4
-rw-r--r--src/devices/cpu/m68000/mcf5206e.cpp2
-rw-r--r--src/devices/cpu/m68000/mcf5206e.h2
-rw-r--r--src/devices/cpu/m68000/scc68070.cpp2
-rw-r--r--src/devices/cpu/m68000/scc68070.h2
-rw-r--r--src/devices/cpu/m6805/m6805.cpp8
-rw-r--r--src/devices/cpu/m6805/m6805.h8
-rw-r--r--src/devices/cpu/m6805/m68705.cpp34
-rw-r--r--src/devices/cpu/m6805/m68705.h36
-rw-r--r--src/devices/cpu/m6805/m68hc05.cpp18
-rw-r--r--src/devices/cpu/m6805/m68hc05.h18
-rw-r--r--src/devices/cpu/m6809/hd6309.cpp6
-rw-r--r--src/devices/cpu/m6809/hd6309.h6
-rw-r--r--src/devices/cpu/m6809/konami.cpp2
-rw-r--r--src/devices/cpu/m6809/konami.h2
-rw-r--r--src/devices/cpu/m6809/m6809.cpp8
-rw-r--r--src/devices/cpu/m6809/m6809.h8
-rw-r--r--src/devices/cpu/m68hc16/cpu16.cpp2
-rw-r--r--src/devices/cpu/m68hc16/cpu16.h2
-rw-r--r--src/devices/cpu/m68hc16/m68hc16z.cpp4
-rw-r--r--src/devices/cpu/m68hc16/m68hc16z.h4
-rw-r--r--src/devices/cpu/m88000/m88000.cpp2
-rw-r--r--src/devices/cpu/m88000/m88000.h2
-rw-r--r--src/devices/cpu/mb86233/mb86233.cpp6
-rw-r--r--src/devices/cpu/mb86233/mb86233.h6
-rw-r--r--src/devices/cpu/mb86235/mb86235.cpp2
-rw-r--r--src/devices/cpu/mb86235/mb86235.h2
-rw-r--r--src/devices/cpu/mb88xx/mb88xx.cpp14
-rw-r--r--src/devices/cpu/mb88xx/mb88xx.h14
-rw-r--r--src/devices/cpu/mc68hc11/mc68hc11.cpp16
-rw-r--r--src/devices/cpu/mc68hc11/mc68hc11.h16
-rw-r--r--src/devices/cpu/mcs40/mcs40.cpp6
-rw-r--r--src/devices/cpu/mcs40/mcs40.h6
-rw-r--r--src/devices/cpu/mcs48/mcs48.cpp50
-rw-r--r--src/devices/cpu/mcs48/mcs48.h48
-rw-r--r--src/devices/cpu/mcs51/mcs51.cpp58
-rw-r--r--src/devices/cpu/mcs51/mcs51.h58
-rw-r--r--src/devices/cpu/mcs96/i8x9x.cpp10
-rw-r--r--src/devices/cpu/mcs96/i8x9x.h10
-rw-r--r--src/devices/cpu/mcs96/i8xc196.cpp2
-rw-r--r--src/devices/cpu/mcs96/i8xc196.h2
-rw-r--r--src/devices/cpu/mcs96/mcs96.cpp2
-rw-r--r--src/devices/cpu/mcs96/mcs96.h2
-rw-r--r--src/devices/cpu/melps4/m58846.cpp2
-rw-r--r--src/devices/cpu/melps4/m58846.h2
-rw-r--r--src/devices/cpu/melps4/melps4.cpp2
-rw-r--r--src/devices/cpu/melps4/melps4.h2
-rw-r--r--src/devices/cpu/minx/minx.cpp2
-rw-r--r--src/devices/cpu/minx/minx.h2
-rw-r--r--src/devices/cpu/mips/mips1.cpp26
-rw-r--r--src/devices/cpu/mips/mips1.h26
-rw-r--r--src/devices/cpu/mips/mips3.cpp2
-rw-r--r--src/devices/cpu/mips/mips3.h54
-rw-r--r--src/devices/cpu/mips/ps2vif1.cpp2
-rw-r--r--src/devices/cpu/mips/ps2vif1.h4
-rw-r--r--src/devices/cpu/mips/ps2vu.cpp6
-rw-r--r--src/devices/cpu/mips/ps2vu.h10
-rw-r--r--src/devices/cpu/mips/r4000.cpp2
-rw-r--r--src/devices/cpu/mips/r4000.h18
-rw-r--r--src/devices/cpu/mk1/mk1.cpp2
-rw-r--r--src/devices/cpu/mk1/mk1.h2
-rw-r--r--src/devices/cpu/mn10200/mn10200.cpp4
-rw-r--r--src/devices/cpu/mn10200/mn10200.h4
-rw-r--r--src/devices/cpu/mn1880/mn1880.cpp6
-rw-r--r--src/devices/cpu/mn1880/mn1880.h6
-rw-r--r--src/devices/cpu/nanoprocessor/nanoprocessor.cpp2
-rw-r--r--src/devices/cpu/nanoprocessor/nanoprocessor.h2
-rw-r--r--src/devices/cpu/nec/nec.cpp12
-rw-r--r--src/devices/cpu/nec/nec.h12
-rw-r--r--src/devices/cpu/nec/v25.cpp6
-rw-r--r--src/devices/cpu/nec/v25.h6
-rw-r--r--src/devices/cpu/nec/v5x.cpp18
-rw-r--r--src/devices/cpu/nec/v5x.h12
-rw-r--r--src/devices/cpu/nios2/nios2.cpp2
-rw-r--r--src/devices/cpu/nios2/nios2.h2
-rw-r--r--src/devices/cpu/ns32000/ns32000.cpp10
-rw-r--r--src/devices/cpu/ns32000/ns32000.h12
-rw-r--r--src/devices/cpu/nuon/nuon.cpp2
-rw-r--r--src/devices/cpu/nuon/nuon.h2
-rw-r--r--src/devices/cpu/pace/pace.cpp4
-rw-r--r--src/devices/cpu/pace/pace.h4
-rw-r--r--src/devices/cpu/patinhofeio/patinho_feio.cpp2
-rw-r--r--src/devices/cpu/pdp1/pdp1.cpp2
-rw-r--r--src/devices/cpu/pdp1/pdp1.h2
-rw-r--r--src/devices/cpu/pdp8/hd6120.cpp2
-rw-r--r--src/devices/cpu/pdp8/hd6120.h2
-rw-r--r--src/devices/cpu/pdp8/pdp8.cpp2
-rw-r--r--src/devices/cpu/pdp8/pdp8.h2
-rw-r--r--src/devices/cpu/pic16c5x/pic16c5x.cpp18
-rw-r--r--src/devices/cpu/pic16c5x/pic16c5x.h18
-rw-r--r--src/devices/cpu/pic16c62x/pic16c62x.cpp14
-rw-r--r--src/devices/cpu/pic16c62x/pic16c62x.h16
-rw-r--r--src/devices/cpu/pic17/pic17.cpp2
-rw-r--r--src/devices/cpu/pic17/pic17.h2
-rw-r--r--src/devices/cpu/pic17/pic17c4x.cpp8
-rw-r--r--src/devices/cpu/pic17/pic17c4x.h8
-rw-r--r--src/devices/cpu/powerpc/ppc.h28
-rw-r--r--src/devices/cpu/powerpc/ppccom.cpp28
-rw-r--r--src/devices/cpu/pps4/pps4.cpp6
-rw-r--r--src/devices/cpu/pps4/pps4.h6
-rw-r--r--src/devices/cpu/pps41/mm75.cpp2
-rw-r--r--src/devices/cpu/pps41/mm75.h2
-rw-r--r--src/devices/cpu/pps41/mm76.cpp12
-rw-r--r--src/devices/cpu/pps41/mm76.h12
-rw-r--r--src/devices/cpu/pps41/mm78.cpp12
-rw-r--r--src/devices/cpu/pps41/mm78.h12
-rw-r--r--src/devices/cpu/pps41/mm78la.cpp6
-rw-r--r--src/devices/cpu/pps41/mm78la.h6
-rw-r--r--src/devices/cpu/pps41/pps41base.cpp2
-rw-r--r--src/devices/cpu/pps41/pps41base.h2
-rw-r--r--src/devices/cpu/psx/dma.cpp2
-rw-r--r--src/devices/cpu/psx/dma.h2
-rw-r--r--src/devices/cpu/psx/irq.cpp2
-rw-r--r--src/devices/cpu/psx/irq.h2
-rw-r--r--src/devices/cpu/psx/mdec.cpp2
-rw-r--r--src/devices/cpu/psx/mdec.h2
-rw-r--r--src/devices/cpu/psx/psx.cpp22
-rw-r--r--src/devices/cpu/psx/psx.h14
-rw-r--r--src/devices/cpu/psx/rcnt.cpp2
-rw-r--r--src/devices/cpu/psx/rcnt.h2
-rw-r--r--src/devices/cpu/psx/sio.cpp6
-rw-r--r--src/devices/cpu/psx/sio.h6
-rw-r--r--src/devices/cpu/rii/riscii.cpp4
-rw-r--r--src/devices/cpu/rii/riscii.h4
-rw-r--r--src/devices/cpu/romp/romp.cpp2
-rw-r--r--src/devices/cpu/romp/romp.h2
-rw-r--r--src/devices/cpu/rsp/rsp.cpp2
-rw-r--r--src/devices/cpu/rsp/rsp.h2
-rw-r--r--src/devices/cpu/rw5000/a5000.cpp4
-rw-r--r--src/devices/cpu/rw5000/a5000.h4
-rw-r--r--src/devices/cpu/rw5000/a5500.cpp4
-rw-r--r--src/devices/cpu/rw5000/a5500.h4
-rw-r--r--src/devices/cpu/rw5000/a5900.cpp2
-rw-r--r--src/devices/cpu/rw5000/a5900.h2
-rw-r--r--src/devices/cpu/rw5000/b5000.cpp4
-rw-r--r--src/devices/cpu/rw5000/b5000.h4
-rw-r--r--src/devices/cpu/rw5000/b5500.cpp2
-rw-r--r--src/devices/cpu/rw5000/b5500.h2
-rw-r--r--src/devices/cpu/rw5000/b6000.cpp4
-rw-r--r--src/devices/cpu/rw5000/b6000.h4
-rw-r--r--src/devices/cpu/rw5000/b6100.cpp2
-rw-r--r--src/devices/cpu/rw5000/b6100.h2
-rw-r--r--src/devices/cpu/rw5000/rw5000base.cpp2
-rw-r--r--src/devices/cpu/rw5000/rw5000base.h2
-rw-r--r--src/devices/cpu/rx01/rx01.cpp2
-rw-r--r--src/devices/cpu/rx01/rx01.h2
-rw-r--r--src/devices/cpu/s2650/s2650.cpp2
-rw-r--r--src/devices/cpu/s2650/s2650.h2
-rw-r--r--src/devices/cpu/saturn/saturn.cpp2
-rw-r--r--src/devices/cpu/saturn/saturn.h2
-rw-r--r--src/devices/cpu/sc61860/sc61860.cpp2
-rw-r--r--src/devices/cpu/sc61860/sc61860.h2
-rw-r--r--src/devices/cpu/scmp/scmp.cpp6
-rw-r--r--src/devices/cpu/scmp/scmp.h6
-rw-r--r--src/devices/cpu/score/score.cpp2
-rw-r--r--src/devices/cpu/score/score.h2
-rw-r--r--src/devices/cpu/scudsp/scudsp.cpp2
-rw-r--r--src/devices/cpu/se3208/se3208.cpp2
-rw-r--r--src/devices/cpu/se3208/se3208.h2
-rw-r--r--src/devices/cpu/sh/sh.h2
-rw-r--r--src/devices/cpu/sh/sh2.cpp8
-rw-r--r--src/devices/cpu/sh/sh2.h8
-rw-r--r--src/devices/cpu/sh/sh4.cpp14
-rw-r--r--src/devices/cpu/sh/sh4.h14
-rw-r--r--src/devices/cpu/sh/sh7604_bus.cpp2
-rw-r--r--src/devices/cpu/sh/sh7604_bus.h2
-rw-r--r--src/devices/cpu/sh/sh7604_sci.cpp2
-rw-r--r--src/devices/cpu/sh/sh7604_sci.h2
-rw-r--r--src/devices/cpu/sh/sh7604_wdt.cpp2
-rw-r--r--src/devices/cpu/sh/sh7604_wdt.h2
-rw-r--r--src/devices/cpu/sharc/sharc.cpp2
-rw-r--r--src/devices/cpu/sharc/sharc.h2
-rw-r--r--src/devices/cpu/sm510/sm500.cpp4
-rw-r--r--src/devices/cpu/sm510/sm500.h4
-rw-r--r--src/devices/cpu/sm510/sm510.cpp2
-rw-r--r--src/devices/cpu/sm510/sm510.h2
-rw-r--r--src/devices/cpu/sm510/sm510base.h2
-rw-r--r--src/devices/cpu/sm510/sm511.cpp6
-rw-r--r--src/devices/cpu/sm510/sm511.h6
-rw-r--r--src/devices/cpu/sm510/sm530.cpp4
-rw-r--r--src/devices/cpu/sm510/sm530.h4
-rw-r--r--src/devices/cpu/sm510/sm590.cpp8
-rw-r--r--src/devices/cpu/sm510/sm590.h8
-rw-r--r--src/devices/cpu/sm510/sm5a.cpp8
-rw-r--r--src/devices/cpu/sm510/sm5a.h8
-rw-r--r--src/devices/cpu/sm8500/sm8500.cpp2
-rw-r--r--src/devices/cpu/sparc/sparc.cpp12
-rw-r--r--src/devices/cpu/sparc/sparc.h12
-rw-r--r--src/devices/cpu/spc700/spc700.cpp4
-rw-r--r--src/devices/cpu/spc700/spc700.h4
-rw-r--r--src/devices/cpu/ssem/ssem.cpp2
-rw-r--r--src/devices/cpu/ssem/ssem.h2
-rw-r--r--src/devices/cpu/ssp1601/ssp1601.cpp2
-rw-r--r--src/devices/cpu/ssp1601/ssp1601.h2
-rw-r--r--src/devices/cpu/st62xx/st62xx.cpp2
-rw-r--r--src/devices/cpu/st62xx/st62xx.h2
-rw-r--r--src/devices/cpu/superfx/superfx.cpp8
-rw-r--r--src/devices/cpu/superfx/superfx.h8
-rw-r--r--src/devices/cpu/t11/t11.cpp6
-rw-r--r--src/devices/cpu/t11/t11.h6
-rw-r--r--src/devices/cpu/tlcs870/tlcs870.cpp4
-rw-r--r--src/devices/cpu/tlcs870/tlcs870.h4
-rw-r--r--src/devices/cpu/tlcs90/tlcs90.cpp14
-rw-r--r--src/devices/cpu/tlcs90/tlcs90.h14
-rw-r--r--src/devices/cpu/tlcs900/tlcs900.cpp4
-rw-r--r--src/devices/cpu/tlcs900/tlcs900.h4
-rw-r--r--src/devices/cpu/tlcs900/tmp95c061.cpp2
-rw-r--r--src/devices/cpu/tlcs900/tmp95c061.h2
-rw-r--r--src/devices/cpu/tlcs900/tmp95c063.cpp2
-rw-r--r--src/devices/cpu/tlcs900/tmp95c063.h2
-rw-r--r--src/devices/cpu/tlcs900/tmp96c141.cpp2
-rw-r--r--src/devices/cpu/tlcs900/tmp96c141.h2
-rw-r--r--src/devices/cpu/tms1000/tms0270.cpp2
-rw-r--r--src/devices/cpu/tms1000/tms0270.h2
-rw-r--r--src/devices/cpu/tms1000/tms0970.cpp8
-rw-r--r--src/devices/cpu/tms1000/tms0970.h8
-rw-r--r--src/devices/cpu/tms1000/tms0980.cpp6
-rw-r--r--src/devices/cpu/tms1000/tms0980.h6
-rw-r--r--src/devices/cpu/tms1000/tms1000.cpp18
-rw-r--r--src/devices/cpu/tms1000/tms1000.h18
-rw-r--r--src/devices/cpu/tms1000/tms1000c.cpp2
-rw-r--r--src/devices/cpu/tms1000/tms1000c.h2
-rw-r--r--src/devices/cpu/tms1000/tms1100.cpp10
-rw-r--r--src/devices/cpu/tms1000/tms1100.h10
-rw-r--r--src/devices/cpu/tms1000/tms1400.cpp16
-rw-r--r--src/devices/cpu/tms1000/tms1400.h16
-rw-r--r--src/devices/cpu/tms1000/tms1k_base.cpp2
-rw-r--r--src/devices/cpu/tms1000/tms1k_base.h2
-rw-r--r--src/devices/cpu/tms1000/tms2100.cpp12
-rw-r--r--src/devices/cpu/tms1000/tms2100.h12
-rw-r--r--src/devices/cpu/tms1000/tms2400.cpp12
-rw-r--r--src/devices/cpu/tms1000/tms2400.h12
-rw-r--r--src/devices/cpu/tms1000/tp0320.cpp2
-rw-r--r--src/devices/cpu/tms1000/tp0320.h2
-rw-r--r--src/devices/cpu/tms32010/tms32010.cpp8
-rw-r--r--src/devices/cpu/tms32010/tms32010.h8
-rw-r--r--src/devices/cpu/tms32025/tms32025.cpp8
-rw-r--r--src/devices/cpu/tms32025/tms32025.h8
-rw-r--r--src/devices/cpu/tms32031/tms32031.cpp10
-rw-r--r--src/devices/cpu/tms32031/tms32031.h10
-rw-r--r--src/devices/cpu/tms32051/tms32051.cpp6
-rw-r--r--src/devices/cpu/tms32051/tms32051.h6
-rw-r--r--src/devices/cpu/tms32082/tms32082.cpp4
-rw-r--r--src/devices/cpu/tms32082/tms32082.h4
-rw-r--r--src/devices/cpu/tms34010/tms34010.cpp6
-rw-r--r--src/devices/cpu/tms34010/tms34010.h6
-rw-r--r--src/devices/cpu/tms57002/tms57002.cpp2
-rw-r--r--src/devices/cpu/tms57002/tms57002.h2
-rw-r--r--src/devices/cpu/tms7000/tms7000.cpp26
-rw-r--r--src/devices/cpu/tms7000/tms7000.h26
-rw-r--r--src/devices/cpu/tms9900/ti990_10.cpp2
-rw-r--r--src/devices/cpu/tms9900/ti990_10.h2
-rw-r--r--src/devices/cpu/tms9900/tms9900.cpp4
-rw-r--r--src/devices/cpu/tms9900/tms9900.h4
-rw-r--r--src/devices/cpu/tms9900/tms9980a.cpp6
-rw-r--r--src/devices/cpu/tms9900/tms9980a.h6
-rw-r--r--src/devices/cpu/tms9900/tms9995.cpp4
-rw-r--r--src/devices/cpu/tms9900/tms9995.h6
-rw-r--r--src/devices/cpu/tx0/tx0.cpp10
-rw-r--r--src/devices/cpu/tx0/tx0.h4
-rw-r--r--src/devices/cpu/ucom4/ucom4.cpp12
-rw-r--r--src/devices/cpu/ucom4/ucom4.h12
-rw-r--r--src/devices/cpu/unsp/unsp.cpp16
-rw-r--r--src/devices/cpu/unsp/unsp.h16
-rw-r--r--src/devices/cpu/upd7725/upd7725.cpp6
-rw-r--r--src/devices/cpu/upd7725/upd7725.h6
-rw-r--r--src/devices/cpu/upd7810/upd7810.cpp18
-rw-r--r--src/devices/cpu/upd7810/upd7810.h18
-rw-r--r--src/devices/cpu/upd7810/upd7811.cpp4
-rw-r--r--src/devices/cpu/upd7810/upd7811.h4
-rw-r--r--src/devices/cpu/upd78k/upd78k0.cpp4
-rw-r--r--src/devices/cpu/upd78k/upd78k0.h8
-rw-r--r--src/devices/cpu/upd78k/upd78k2.cpp6
-rw-r--r--src/devices/cpu/upd78k/upd78k2.h6
-rw-r--r--src/devices/cpu/upd78k/upd78k3.cpp8
-rw-r--r--src/devices/cpu/upd78k/upd78k3.h8
-rw-r--r--src/devices/cpu/upd78k/upd78k4.cpp4
-rw-r--r--src/devices/cpu/upd78k/upd78k4.h4
-rw-r--r--src/devices/cpu/v30mz/v30mz.cpp2
-rw-r--r--src/devices/cpu/v30mz/v30mz.h2
-rw-r--r--src/devices/cpu/v60/v60.cpp6
-rw-r--r--src/devices/cpu/v60/v60.h6
-rw-r--r--src/devices/cpu/v810/v810.cpp2
-rw-r--r--src/devices/cpu/v810/v810.h2
-rw-r--r--src/devices/cpu/vt50/vt50.cpp6
-rw-r--r--src/devices/cpu/vt50/vt50.h6
-rw-r--r--src/devices/cpu/vt61/vt61.cpp2
-rw-r--r--src/devices/cpu/vt61/vt61.h2
-rw-r--r--src/devices/cpu/we32000/we32100.cpp2
-rw-r--r--src/devices/cpu/we32000/we32100.h2
-rw-r--r--src/devices/cpu/xavix2/xavix2.cpp2
-rw-r--r--src/devices/cpu/xavix2/xavix2.h2
-rw-r--r--src/devices/cpu/z180/hd647180x.cpp2
-rw-r--r--src/devices/cpu/z180/hd647180x.h2
-rw-r--r--src/devices/cpu/z180/z180.cpp12
-rw-r--r--src/devices/cpu/z180/z180.h12
-rw-r--r--src/devices/cpu/z180/z180asci.cpp14
-rw-r--r--src/devices/cpu/z180/z180asci.h14
-rw-r--r--src/devices/cpu/z8/z8.cpp16
-rw-r--r--src/devices/cpu/z8/z8.h16
-rw-r--r--src/devices/cpu/z80/ez80.cpp4
-rw-r--r--src/devices/cpu/z80/ez80.h4
-rw-r--r--src/devices/cpu/z80/kc82.cpp2
-rw-r--r--src/devices/cpu/z80/kc82.h2
-rw-r--r--src/devices/cpu/z80/kl5c80a12.cpp2
-rw-r--r--src/devices/cpu/z80/kl5c80a12.h2
-rw-r--r--src/devices/cpu/z80/kl5c80a16.cpp2
-rw-r--r--src/devices/cpu/z80/kl5c80a16.h2
-rw-r--r--src/devices/cpu/z80/kp63.cpp6
-rw-r--r--src/devices/cpu/z80/kp63.h6
-rw-r--r--src/devices/cpu/z80/kp64.cpp2
-rw-r--r--src/devices/cpu/z80/kp64.h2
-rw-r--r--src/devices/cpu/z80/kp69.cpp4
-rw-r--r--src/devices/cpu/z80/kp69.h4
-rw-r--r--src/devices/cpu/z80/ky80.cpp2
-rw-r--r--src/devices/cpu/z80/ky80.h2
-rw-r--r--src/devices/cpu/z80/lz8420m.cpp2
-rw-r--r--src/devices/cpu/z80/lz8420m.h2
-rw-r--r--src/devices/cpu/z80/mc8123.cpp2
-rw-r--r--src/devices/cpu/z80/mc8123.h2
-rw-r--r--src/devices/cpu/z80/r800.cpp2
-rw-r--r--src/devices/cpu/z80/r800.h2
-rw-r--r--src/devices/cpu/z80/tmpz84c011.cpp2
-rw-r--r--src/devices/cpu/z80/tmpz84c011.h2
-rw-r--r--src/devices/cpu/z80/tmpz84c015.cpp2
-rw-r--r--src/devices/cpu/z80/tmpz84c015.h2
-rw-r--r--src/devices/cpu/z80/z80.cpp6
-rw-r--r--src/devices/cpu/z80/z80.h6
-rw-r--r--src/devices/cpu/z8000/z8000.cpp6
-rw-r--r--src/devices/cpu/z8000/z8000.h6
602 files changed, 1987 insertions, 1994 deletions
diff --git a/src/devices/cpu/8x300/8x300.cpp b/src/devices/cpu/8x300/8x300.cpp
index cd6efcb1b3c..bbe6ffd615c 100644
--- a/src/devices/cpu/8x300/8x300.cpp
+++ b/src/devices/cpu/8x300/8x300.cpp
@@ -41,7 +41,7 @@ DEFINE_DEVICE_TYPE(N8X300, n8x300_cpu_device, "8x300", "Signetics 8X300")
DEFINE_DEVICE_TYPE(N8X305, n8x305_cpu_device, "8x305", "Signetics 8X305")
-n8x300_cpu_device::n8x300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+n8x300_cpu_device::n8x300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 13, -1)
, m_io_config("io", ENDIANNESS_BIG, 8, 9, 0)
@@ -54,12 +54,12 @@ n8x300_cpu_device::n8x300_cpu_device(const machine_config &mconfig, device_type
{
}
-n8x300_cpu_device::n8x300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+n8x300_cpu_device::n8x300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: n8x300_cpu_device(mconfig, N8X300, tag, owner, clock)
{
}
-n8x305_cpu_device::n8x305_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+n8x305_cpu_device::n8x305_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: n8x300_cpu_device(mconfig, N8X305, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/8x300/8x300.h b/src/devices/cpu/8x300/8x300.h
index e4f2a2a3dda..f3e17d0df0c 100644
--- a/src/devices/cpu/8x300/8x300.h
+++ b/src/devices/cpu/8x300/8x300.h
@@ -43,7 +43,7 @@ class n8x300_cpu_device : public cpu_device
{
public:
// construction/destruction
- n8x300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ n8x300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto sc_callback() { return m_sc_callback.bind(); }
auto wc_callback() { return m_wc_callback.bind(); }
@@ -52,7 +52,7 @@ public:
auto rb_callback() { return m_rb_callback.bind(); }
auto iv_callback() { return m_iv_callback.bind(); }
protected:
- n8x300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ n8x300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_resolve_objects() override;
@@ -152,7 +152,7 @@ class n8x305_cpu_device : public n8x300_cpu_device
{
public:
// construction/destruction
- n8x305_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ n8x305_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void set_reg(uint8_t reg, uint8_t val, bool xmit) override;
diff --git a/src/devices/cpu/adsp2100/adsp2100.cpp b/src/devices/cpu/adsp2100/adsp2100.cpp
index 86b0158caa7..23aa525b79a 100644
--- a/src/devices/cpu/adsp2100/adsp2100.cpp
+++ b/src/devices/cpu/adsp2100/adsp2100.cpp
@@ -127,7 +127,7 @@ DEFINE_DEVICE_TYPE(ADSP2181, adsp2181_device, "adsp2181", "Analog Devices ADSP-2
// adsp21xx_device - constructor
//-------------------------------------------------
-adsp21xx_device::adsp21xx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t chiptype)
+adsp21xx_device::adsp21xx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t chiptype)
: cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 32, 14, -2),
m_data_config("data", ENDIANNESS_LITTLE, 16, 14, -1),
@@ -258,31 +258,31 @@ adsp21xx_device::adsp21xx_device(const machine_config &mconfig, device_type type
m_shift_xregs[7] = &m_core.sr.srx.sr1;
}
-adsp2100_device::adsp2100_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+adsp2100_device::adsp2100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: adsp21xx_device(mconfig, ADSP2100, tag, owner, clock, CHIP_TYPE_ADSP2100)
{ }
-adsp2101_device::adsp2101_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+adsp2101_device::adsp2101_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: adsp2101_device(mconfig, ADSP2101, tag, owner, clock, CHIP_TYPE_ADSP2101)
{ }
-adsp2101_device::adsp2101_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t chiptype)
+adsp2101_device::adsp2101_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t chiptype)
: adsp21xx_device(mconfig, type, tag, owner, clock, chiptype)
{ }
-adsp2104_device::adsp2104_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+adsp2104_device::adsp2104_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: adsp2101_device(mconfig, ADSP2104, tag, owner, clock, CHIP_TYPE_ADSP2104)
{ }
-adsp2105_device::adsp2105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+adsp2105_device::adsp2105_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: adsp2101_device(mconfig, ADSP2105, tag, owner, clock, CHIP_TYPE_ADSP2105)
{ }
-adsp2115_device::adsp2115_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+adsp2115_device::adsp2115_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: adsp2101_device(mconfig, ADSP2115, tag, owner, clock, CHIP_TYPE_ADSP2115)
{ }
-adsp2181_device::adsp2181_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+adsp2181_device::adsp2181_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: adsp21xx_device(mconfig, ADSP2181, tag, owner, clock, CHIP_TYPE_ADSP2181)
, m_io_config("io", ENDIANNESS_LITTLE, 16, 11, -1)
{ }
diff --git a/src/devices/cpu/adsp2100/adsp2100.h b/src/devices/cpu/adsp2100/adsp2100.h
index 046e10fa6ba..2638d56c04d 100644
--- a/src/devices/cpu/adsp2100/adsp2100.h
+++ b/src/devices/cpu/adsp2100/adsp2100.h
@@ -210,7 +210,7 @@ protected:
};
// construction/destruction
- adsp21xx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t chiptype);
+ adsp21xx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t chiptype);
// device-level overrides
virtual void device_start() override;
@@ -473,7 +473,7 @@ class adsp2100_device : public adsp21xx_device
{
public:
// construction/destruction
- adsp2100_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ adsp2100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_execute_interface overrides
@@ -494,10 +494,10 @@ class adsp2101_device : public adsp21xx_device
{
public:
// construction/destruction
- adsp2101_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ adsp2101_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- adsp2101_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t chiptype);
+ adsp2101_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t chiptype);
// device_execute_interface overrides
virtual uint32_t execute_input_lines() const noexcept override;
@@ -517,7 +517,7 @@ class adsp2181_device : public adsp21xx_device
{
public:
// construction/destruction
- adsp2181_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ adsp2181_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_execute_interface overrides
@@ -547,19 +547,19 @@ public:
class adsp2104_device : public adsp2101_device
{
public:
- adsp2104_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ adsp2104_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class adsp2105_device : public adsp2101_device
{
public:
- adsp2105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ adsp2105_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class adsp2115_device : public adsp2101_device
{
public:
- adsp2115_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ adsp2115_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/alpha/alpha.cpp b/src/devices/cpu/alpha/alpha.cpp
index 54fd995b092..f752b566eb2 100644
--- a/src/devices/cpu/alpha/alpha.cpp
+++ b/src/devices/cpu/alpha/alpha.cpp
@@ -38,17 +38,17 @@
DEFINE_DEVICE_TYPE(DEC_21064, dec_21064_device, "21064", "DEC Alpha 21064")
-dec_21064_device::dec_21064_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+dec_21064_device::dec_21064_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: alpha_ev4_device(mconfig, DEC_21064, tag, owner, clock)
{
}
-alpha_ev4_device::alpha_ev4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+alpha_ev4_device::alpha_ev4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: alpha_device(mconfig, type, tag, owner, clock)
{
}
-alpha_device::alpha_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+alpha_device::alpha_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_dasm_type(alpha_disassembler::dasm_type::TYPE_UNKNOWN)
, m_as_config
diff --git a/src/devices/cpu/alpha/alpha.h b/src/devices/cpu/alpha/alpha.h
index bf374d227b0..2aa72783324 100644
--- a/src/devices/cpu/alpha/alpha.h
+++ b/src/devices/cpu/alpha/alpha.h
@@ -18,7 +18,7 @@ public:
auto srom_data_r() { return m_srom_data_cb.bind(); }
protected:
- alpha_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ alpha_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device_t overrides
virtual void device_start() override;
@@ -76,7 +76,7 @@ protected:
class alpha_ev4_device : public alpha_device
{
public:
- alpha_ev4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ alpha_ev4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
@@ -253,7 +253,7 @@ protected:
class dec_21064_device : public alpha_ev4_device
{
public:
- dec_21064_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ dec_21064_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_reset() override;
diff --git a/src/devices/cpu/alto2/alto2cpu.cpp b/src/devices/cpu/alto2/alto2cpu.cpp
index 5d093a96966..07ab991d042 100644
--- a/src/devices/cpu/alto2/alto2cpu.cpp
+++ b/src/devices/cpu/alto2/alto2cpu.cpp
@@ -125,7 +125,7 @@ void alto2_cpu_device::iomem_map(address_map &map)
// alto2_cpu_device - constructor
//-------------------------------------------------
-alto2_cpu_device::alto2_cpu_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
+alto2_cpu_device::alto2_cpu_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) :
cpu_device(mconfig, ALTO2, tag, owner, clock),
m_kb_read_callback(*this),
m_utilout_callback(*this),
diff --git a/src/devices/cpu/alto2/alto2cpu.h b/src/devices/cpu/alto2/alto2cpu.h
index c269737d2e6..4fa396e7b3a 100644
--- a/src/devices/cpu/alto2/alto2cpu.h
+++ b/src/devices/cpu/alto2/alto2cpu.h
@@ -179,7 +179,7 @@ class alto2_cpu_device : public cpu_device
{
public:
// construction/destruction
- alto2_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ alto2_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
~alto2_cpu_device();
auto kb_read_callback() { return m_kb_read_callback.bind(); }
diff --git a/src/devices/cpu/am29000/am29000.cpp b/src/devices/cpu/am29000/am29000.cpp
index b66c5163e1e..0f8a91d4a13 100644
--- a/src/devices/cpu/am29000/am29000.cpp
+++ b/src/devices/cpu/am29000/am29000.cpp
@@ -78,7 +78,7 @@ DEFINE_DEVICE_TYPE(AM29000, am29000_cpu_device, "am29000", "AMC Am29000")
STATE ACCESSORS
***************************************************************************/
-am29000_cpu_device::am29000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+am29000_cpu_device::am29000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, AM29000, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 32, 32, 0)
, m_io_config("io", ENDIANNESS_BIG, 32, 32, 0)
diff --git a/src/devices/cpu/am29000/am29000.h b/src/devices/cpu/am29000/am29000.h
index c19eeb8b9f2..203c9191f77 100644
--- a/src/devices/cpu/am29000/am29000.h
+++ b/src/devices/cpu/am29000/am29000.h
@@ -436,7 +436,7 @@ class am29000_cpu_device : public cpu_device
{
public:
// construction/destruction
- am29000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ am29000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/amis2000/amis2000.cpp b/src/devices/cpu/amis2000/amis2000.cpp
index 468b29acd98..9dedbf962ac 100644
--- a/src/devices/cpu/amis2000/amis2000.cpp
+++ b/src/devices/cpu/amis2000/amis2000.cpp
@@ -59,15 +59,15 @@ void amis2000_base_device::data_80x4(address_map &map)
// device definitions
-amis2000_cpu_device::amis2000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+amis2000_cpu_device::amis2000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: amis2000_base_device(mconfig, AMI_S2000, tag, owner, clock, 2, 10, 3, 13, address_map_constructor(FUNC(amis2000_cpu_device::program_1k), this), 6, address_map_constructor(FUNC(amis2000_cpu_device::data_64x4), this))
{ }
-amis2150_cpu_device::amis2150_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+amis2150_cpu_device::amis2150_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: amis2000_base_device(mconfig, AMI_S2150, tag, owner, clock, 3, 11, 3, 13, address_map_constructor(FUNC(amis2150_cpu_device::program_1_5k), this), 7, address_map_constructor(FUNC(amis2150_cpu_device::data_80x4), this))
{ }
-amis2152_cpu_device::amis2152_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+amis2152_cpu_device::amis2152_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: amis2000_base_device(mconfig, AMI_S2152, tag, owner, clock, 3, 11, 3, 13, address_map_constructor(FUNC(amis2152_cpu_device::program_1_5k), this), 7, address_map_constructor(FUNC(amis2152_cpu_device::data_80x4), this))
{ }
diff --git a/src/devices/cpu/amis2000/amis2000.h b/src/devices/cpu/amis2000/amis2000.h
index f284149dd15..5cdeadfe5fb 100644
--- a/src/devices/cpu/amis2000/amis2000.h
+++ b/src/devices/cpu/amis2000/amis2000.h
@@ -39,7 +39,7 @@ public:
protected:
// construction/destruction
- amis2000_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 bu_bits, u8 callstack_bits, u8 callstack_depth, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data)
+ amis2000_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 bu_bits, u8 callstack_bits, u8 callstack_depth, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, prgwidth, 0, program)
, m_data_config("data", ENDIANNESS_BIG, 8, datawidth, 0, data)
@@ -189,21 +189,21 @@ protected:
class amis2000_cpu_device : public amis2000_base_device
{
public:
- amis2000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ amis2000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class amis2150_cpu_device : public amis2000_base_device
{
public:
- amis2150_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ amis2150_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class amis2152_cpu_device : public amis2000_base_device
{
public:
- amis2152_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ amis2152_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/apexc/apexc.cpp b/src/devices/cpu/apexc/apexc.cpp
index 68c1547823c..c982a442c7a 100644
--- a/src/devices/cpu/apexc/apexc.cpp
+++ b/src/devices/cpu/apexc/apexc.cpp
@@ -337,7 +337,7 @@ DEFINE_DEVICE_TYPE(APEXC, apexc_cpu_device, "apexc_cpu", "APE(X)C")
#define DELAY(n) {m_icount -= (n); m_current_word = (m_current_word + (n)) & 0x1f;}
-apexc_cpu_device::apexc_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+apexc_cpu_device::apexc_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, APEXC, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 32, 15, 0)
, m_tape_read_cb(*this)
diff --git a/src/devices/cpu/apexc/apexc.h b/src/devices/cpu/apexc/apexc.h
index 84b44add940..7339f7ec7a5 100644
--- a/src/devices/cpu/apexc/apexc.h
+++ b/src/devices/cpu/apexc/apexc.h
@@ -20,7 +20,7 @@ class apexc_cpu_device : public cpu_device
{
public:
// construction/destruction
- apexc_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ apexc_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration
auto tape_read() { return m_tape_read_cb.bind(); }
diff --git a/src/devices/cpu/arc/arc.cpp b/src/devices/cpu/arc/arc.cpp
index 5b1b61bf6e1..0bba6735819 100644
--- a/src/devices/cpu/arc/arc.cpp
+++ b/src/devices/cpu/arc/arc.cpp
@@ -17,7 +17,7 @@
DEFINE_DEVICE_TYPE(ARC, arc_cpu_device, "arc_a4", "Argonaut ARCtangent A4")
-arc_cpu_device::arc_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arc_cpu_device::arc_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, ARC, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 32, 24, 0)
, m_pc(0), m_program(nullptr), m_icount(0), m_debugger_temp(0)
diff --git a/src/devices/cpu/arc/arc.h b/src/devices/cpu/arc/arc.h
index fd4fa0582e1..bf1096ad09c 100644
--- a/src/devices/cpu/arc/arc.h
+++ b/src/devices/cpu/arc/arc.h
@@ -21,7 +21,7 @@ class arc_cpu_device : public cpu_device
{
public:
// construction/destruction
- arc_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arc_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/arcompact/arcompact.cpp b/src/devices/cpu/arcompact/arcompact.cpp
index f1055895d87..d64885911ae 100644
--- a/src/devices/cpu/arcompact/arcompact.cpp
+++ b/src/devices/cpu/arcompact/arcompact.cpp
@@ -49,7 +49,7 @@ void arcompact_device::arcompact_auxreg_map(address_map &map)
#define AUX_SPACE_ADDRESS_WIDTH 32 // IO space is 32 bits of dwords
-arcompact_device::arcompact_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arcompact_device::arcompact_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, ARCA5, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0) // some docs describe these as 'middle endian'?!
, m_io_config( "io", ENDIANNESS_LITTLE, 32, AUX_SPACE_ADDRESS_WIDTH, -2, address_map_constructor(FUNC(arcompact_device::arcompact_auxreg_map), this))
diff --git a/src/devices/cpu/arcompact/arcompact.h b/src/devices/cpu/arcompact/arcompact.h
index d87499bc969..6b6ffa5d0af 100644
--- a/src/devices/cpu/arcompact/arcompact.h
+++ b/src/devices/cpu/arcompact/arcompact.h
@@ -70,7 +70,7 @@ class arcompact_device : public cpu_device
{
public:
// construction/destruction
- arcompact_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arcompact_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint32_t arcompact_auxreg002_LPSTART_r();
void arcompact_auxreg002_LPSTART_w(uint32_t data);
diff --git a/src/devices/cpu/arm/arm.cpp b/src/devices/cpu/arm/arm.cpp
index 6a99468da75..980f5fe261d 100644
--- a/src/devices/cpu/arm/arm.cpp
+++ b/src/devices/cpu/arm/arm.cpp
@@ -225,13 +225,13 @@ device_memory_interface::space_config_vector arm_cpu_device::memory_space_config
};
}
-arm_cpu_device::arm_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm_cpu_device::arm_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm_cpu_device(mconfig, ARM, tag, owner, clock)
{
}
-arm_cpu_device::arm_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+arm_cpu_device::arm_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 26, 0)
, m_copro_type(copro_type::UNKNOWN_CP15)
diff --git a/src/devices/cpu/arm/arm.h b/src/devices/cpu/arm/arm.h
index aeafa3c0d7b..d52de002db2 100644
--- a/src/devices/cpu/arm/arm.h
+++ b/src/devices/cpu/arm/arm.h
@@ -27,7 +27,7 @@ public:
};
// construction/destruction
- arm_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void set_copro_type(copro_type type) { m_copro_type = type; }
@@ -41,7 +41,7 @@ protected:
ARM32_IR13, ARM32_IR14, ARM32_SR13, ARM32_SR14
};
- arm_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ arm_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/arm7/arm7.cpp b/src/devices/cpu/arm7/arm7.cpp
index d2c40209dd1..e8e5c1005f4 100644
--- a/src/devices/cpu/arm7/arm7.cpp
+++ b/src/devices/cpu/arm7/arm7.cpp
@@ -78,12 +78,12 @@ DEFINE_DEVICE_TYPE(PXA270, pxa270_cpu_device, "pxa270", "Intel
DEFINE_DEVICE_TYPE(SA1110, sa1110_cpu_device, "sa1110", "Intel StrongARM SA-1110")
DEFINE_DEVICE_TYPE(IGS036, igs036_cpu_device, "igs036", "IGS036")
-arm7_cpu_device::arm7_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm7_cpu_device::arm7_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, ARM7, tag, owner, clock, 4, ARCHFLAG_T, ENDIANNESS_LITTLE)
{
}
-arm7_cpu_device::arm7_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness)
+arm7_cpu_device::arm7_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", endianness, 32, 32, 0)
, m_prefetch_word0_shift(endianness == ENDIANNESS_LITTLE ? 0 : 16)
@@ -114,13 +114,13 @@ arm7_cpu_device::arm7_cpu_device(const machine_config &mconfig, device_type type
}
-arm7_be_cpu_device::arm7_be_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm7_be_cpu_device::arm7_be_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, ARM7_BE, tag, owner, clock, 4, ARCHFLAG_T, ENDIANNESS_BIG)
{
}
-arm710a_cpu_device::arm710a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm710a_cpu_device::arm710a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, ARM710A, tag, owner, clock, 4, ARCHFLAG_MODE26, ENDIANNESS_LITTLE)
{
m_copro_id = ARM9_COPRO_ID_MFR_ARM
@@ -129,7 +129,7 @@ arm710a_cpu_device::arm710a_cpu_device(const machine_config &mconfig, const char
}
-arm710t_cpu_device::arm710t_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm710t_cpu_device::arm710t_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, ARM710T, tag, owner, clock, 4, ARCHFLAG_MODE26, ENDIANNESS_LITTLE)
{
m_copro_id = ARM9_COPRO_ID_MFR_ARM
@@ -138,7 +138,7 @@ arm710t_cpu_device::arm710t_cpu_device(const machine_config &mconfig, const char
}
-arm7500_cpu_device::arm7500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm7500_cpu_device::arm7500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, ARM7500, tag, owner, clock, 4, ARCHFLAG_MODE26, ENDIANNESS_LITTLE)
{
m_copro_id = ARM9_COPRO_ID_MFR_ARM
@@ -147,13 +147,13 @@ arm7500_cpu_device::arm7500_cpu_device(const machine_config &mconfig, const char
}
-arm9_cpu_device::arm9_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm9_cpu_device::arm9_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm9_cpu_device(mconfig, ARM9, tag, owner, clock, 5, ARCHFLAG_T | ARCHFLAG_E, ENDIANNESS_LITTLE)
{
}
-arm9_cpu_device::arm9_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness)
+arm9_cpu_device::arm9_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness)
: arm7_cpu_device(mconfig, type, tag, owner, clock, archRev, archFlags, endianness)
{
uint32_t arch = ARM9_COPRO_ID_ARCH_V4;
@@ -181,7 +181,7 @@ arm9_cpu_device::arm9_cpu_device(const machine_config &mconfig, device_type type
}
-arm920t_cpu_device::arm920t_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm920t_cpu_device::arm920t_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm9_cpu_device(mconfig, ARM920T, tag, owner, clock, 4, ARCHFLAG_T, ENDIANNESS_LITTLE)
{
m_copro_id = ARM9_COPRO_ID_MFR_ARM
@@ -191,7 +191,7 @@ arm920t_cpu_device::arm920t_cpu_device(const machine_config &mconfig, const char
| 0; // Stepping
}
-arm946es_cpu_device::arm946es_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+arm946es_cpu_device::arm946es_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: arm9_cpu_device(mconfig, type, tag, owner, clock, 5, ARCHFLAG_T | ARCHFLAG_E, ENDIANNESS_LITTLE),
cp15_control(0x78)
{
@@ -212,18 +212,18 @@ arm946es_cpu_device::arm946es_cpu_device(const machine_config &mconfig, device_t
cp15_itcm_reg = cp15_dtcm_reg = 0;
}
-arm946es_cpu_device::arm946es_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm946es_cpu_device::arm946es_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm946es_cpu_device(mconfig, ARM946ES, tag, owner, clock)
{
}
-arm11_cpu_device::arm11_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm11_cpu_device::arm11_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm11_cpu_device(mconfig, ARM11, tag, owner, clock, 6, ARCHFLAG_T | ARCHFLAG_E | ARCHFLAG_K, ENDIANNESS_LITTLE)
{
}
-arm11_cpu_device::arm11_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness)
+arm11_cpu_device::arm11_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness)
: arm9_cpu_device(mconfig, type, tag, owner, clock, archRev, archFlags, endianness)
{
uint32_t arch = ARM9_COPRO_ID_ARCH_V6;
@@ -231,7 +231,7 @@ arm11_cpu_device::arm11_cpu_device(const machine_config &mconfig, device_type ty
m_copro_id = ARM9_COPRO_ID_MFR_ARM | arch | (0xB00 << 4);
}
-arm1176jzf_s_cpu_device::arm1176jzf_s_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+arm1176jzf_s_cpu_device::arm1176jzf_s_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm11_cpu_device(mconfig, ARM1176JZF_S, tag, owner, clock, 6, ARCHFLAG_T | ARCHFLAG_E | ARCHFLAG_K, ENDIANNESS_LITTLE)
{
m_copro_id = ARM9_COPRO_ID_MFR_ARM
@@ -242,12 +242,12 @@ arm1176jzf_s_cpu_device::arm1176jzf_s_cpu_device(const machine_config &mconfig,
}
// unknown configuration, but uses MPU not MMU, so closer to ARM946ES
-igs036_cpu_device::igs036_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+igs036_cpu_device::igs036_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm946es_cpu_device(mconfig, IGS036, tag, owner, clock)
{
}
-pxa250_cpu_device::pxa250_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pxa250_cpu_device::pxa250_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, PXA250, tag, owner, clock, 5, ARCHFLAG_T | ARCHFLAG_E | ARCHFLAG_XSCALE, ENDIANNESS_LITTLE)
{
m_copro_id = ARM9_COPRO_ID_MFR_INTEL
@@ -256,7 +256,7 @@ pxa250_cpu_device::pxa250_cpu_device(const machine_config &mconfig, const char *
| ARM9_COPRO_ID_STEP_PXA255_A0;
}
-pxa255_cpu_device::pxa255_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pxa255_cpu_device::pxa255_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, PXA255, tag, owner, clock, 5, ARCHFLAG_T | ARCHFLAG_E | ARCHFLAG_XSCALE, ENDIANNESS_LITTLE)
{
m_copro_id = ARM9_COPRO_ID_MFR_INTEL
@@ -265,7 +265,7 @@ pxa255_cpu_device::pxa255_cpu_device(const machine_config &mconfig, const char *
| ARM9_COPRO_ID_STEP_PXA255_A0;
}
-pxa270_cpu_device::pxa270_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pxa270_cpu_device::pxa270_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, PXA270, tag, owner, clock, 5, ARCHFLAG_T | ARCHFLAG_E | ARCHFLAG_XSCALE, ENDIANNESS_LITTLE)
{
m_copro_id = ARM9_COPRO_ID_MFR_INTEL
@@ -274,7 +274,7 @@ pxa270_cpu_device::pxa270_cpu_device(const machine_config &mconfig, const char *
| ARM9_COPRO_ID_STEP_PXA255_A0;
}
-sa1110_cpu_device::sa1110_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sa1110_cpu_device::sa1110_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, SA1110, tag, owner, clock, 4, ARCHFLAG_SA, ENDIANNESS_LITTLE)
// has StrongARM, no Thumb, no Enhanced DSP
{
diff --git a/src/devices/cpu/arm7/arm7.h b/src/devices/cpu/arm7/arm7.h
index c46516508db..03e0918a538 100644
--- a/src/devices/cpu/arm7/arm7.h
+++ b/src/devices/cpu/arm7/arm7.h
@@ -51,7 +51,7 @@ class arm7_cpu_device : public cpu_device, public arm7_disassembler::config
{
public:
// construction/destruction
- arm7_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm7_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void set_high_vectors() { m_vectorbase = 0xffff0000; }
@@ -113,7 +113,7 @@ protected:
ARM9_COPRO_ID_MFR_INTEL = 0x69 << 24
};
- arm7_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness);
+ arm7_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness);
void postload();
@@ -622,7 +622,7 @@ class arm7_be_cpu_device : public arm7_cpu_device
{
public:
// construction/destruction
- arm7_be_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm7_be_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -630,31 +630,31 @@ class arm7500_cpu_device : public arm7_cpu_device
{
public:
// construction/destruction
- arm7500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm7500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class arm710a_cpu_device : public arm7_cpu_device
{
public:
// construction/destruction
- arm710a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm710a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class arm710t_cpu_device : public arm7_cpu_device
{
public:
// construction/destruction
- arm710t_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm710t_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class arm9_cpu_device : public arm7_cpu_device
{
public:
// construction/destruction
- arm9_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm9_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- arm9_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness);
+ arm9_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness);
};
@@ -662,7 +662,7 @@ class arm920t_cpu_device : public arm9_cpu_device
{
public:
// construction/destruction
- arm920t_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm920t_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -670,7 +670,7 @@ class arm946es_cpu_device : public arm9_cpu_device
{
public:
// construction/destruction
- arm946es_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm946es_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// 946E-S has Protection Unit instead of ARM MMU so CP15 is quite different
virtual uint32_t arm7_rt_r_callback(offs_t offset) override;
@@ -684,7 +684,7 @@ public:
virtual uint8_t arm7_cpu_read8(uint32_t addr) override;
protected:
- arm946es_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ arm946es_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_start() override;
@@ -701,17 +701,17 @@ class arm11_cpu_device : public arm9_cpu_device
{
public:
// construction/destruction
- arm11_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm11_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- arm11_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness);
+ arm11_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t archRev, uint32_t archFlags, endianness_t endianness);
};
class arm1176jzf_s_cpu_device : public arm11_cpu_device
{
public:
// construction/destruction
- arm1176jzf_s_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ arm1176jzf_s_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual uint32_t arm7_rt_r_callback(offs_t offset) override;
virtual void arm7_rt_w_callback(offs_t offset, uint32_t data) override;
@@ -724,35 +724,35 @@ class igs036_cpu_device : public arm946es_cpu_device
{
public:
// construction/destruction
- igs036_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ igs036_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class pxa250_cpu_device : public arm7_cpu_device
{
public:
// construction/destruction
- pxa250_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pxa250_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class pxa255_cpu_device : public arm7_cpu_device
{
public:
// construction/destruction
- pxa255_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pxa255_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class pxa270_cpu_device : public arm7_cpu_device
{
public:
// construction/destruction
- pxa270_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pxa270_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class sa1110_cpu_device : public arm7_cpu_device
{
public:
// construction/destruction
- sa1110_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sa1110_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(ARM7, arm7_cpu_device)
diff --git a/src/devices/cpu/arm7/lpc210x.cpp b/src/devices/cpu/arm7/lpc210x.cpp
index 75a322f01a2..99ecfb478f4 100644
--- a/src/devices/cpu/arm7/lpc210x.cpp
+++ b/src/devices/cpu/arm7/lpc210x.cpp
@@ -41,7 +41,7 @@ void lpc210x_device::lpc2103_map(address_map &map)
}
-lpc210x_device::lpc210x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+lpc210x_device::lpc210x_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, LPC2103, tag, owner, clock, 4, ARCHFLAG_T, ENDIANNESS_LITTLE)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0, address_map_constructor(FUNC(lpc210x_device::lpc2103_map), this))
, m_vic(*this, "vic")
@@ -256,7 +256,7 @@ void lpc210x_device::write_timer(int timer, int offset, uint32_t data, uint32_t
void lpc210x_device::device_add_mconfig(machine_config &config)
{
- PL190_VIC(config, m_vic, 0);
+ PL190_VIC(config, m_vic);
m_vic->out_irq_cb().set_inputline(*this, ARM7_IRQ_LINE);
m_vic->out_fiq_cb().set_inputline(*this, ARM7_FIRQ_LINE);
}
diff --git a/src/devices/cpu/arm7/lpc210x.h b/src/devices/cpu/arm7/lpc210x.h
index 47a801a6058..c36f6fbd109 100644
--- a/src/devices/cpu/arm7/lpc210x.h
+++ b/src/devices/cpu/arm7/lpc210x.h
@@ -22,7 +22,7 @@
class lpc210x_device : public arm7_cpu_device
{
public:
- lpc210x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t);
+ lpc210x_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint32_t arm_E01FC088_r();
uint32_t flash_r(offs_t offset);
diff --git a/src/devices/cpu/arm7/upd800468.cpp b/src/devices/cpu/arm7/upd800468.cpp
index 16b6928bf7c..1248b5ea2b3 100644
--- a/src/devices/cpu/arm7/upd800468.cpp
+++ b/src/devices/cpu/arm7/upd800468.cpp
@@ -14,7 +14,7 @@
DEFINE_DEVICE_TYPE(UPD800468_TIMER, upd800468_timer_device, "upd800468_timer", "NEC uPD800468 timer")
-upd800468_timer_device::upd800468_timer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd800468_timer_device::upd800468_timer_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: device_t(mconfig, UPD800468_TIMER, tag, owner, clock)
, m_irq_cb(*this)
{
@@ -122,7 +122,7 @@ void upd800468_device::upd800468_map(address_map &map)
map(0xfffff000, 0xffffffff).m(m_vic, FUNC(vic_upd800468_device::map));
}
-upd800468_device::upd800468_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd800468_device::upd800468_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: arm7_cpu_device(mconfig, UPD800468, tag, owner, clock, 4, ARCHFLAG_T, ENDIANNESS_LITTLE)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0, address_map_constructor(FUNC(upd800468_device::upd800468_map), this))
, m_vic(*this, "vic")
@@ -142,7 +142,7 @@ device_memory_interface::space_config_vector upd800468_device::memory_space_conf
void upd800468_device::device_add_mconfig(machine_config &config)
{
- UPD800468_VIC(config, m_vic, 0);
+ UPD800468_VIC(config, m_vic);
m_vic->out_irq_cb().set_inputline(*this, ARM7_IRQ_LINE);
m_vic->out_fiq_cb().set_inputline(*this, ARM7_FIRQ_LINE);
@@ -157,7 +157,7 @@ void upd800468_device::device_add_mconfig(machine_config &config)
m_timer[2]->irq_cb().set(m_vic, FUNC(vic_upd800468_device::irq_w<23>));
// key/button controller is compatible with the one from earlier keyboards
- GT913_KBD_HLE(config, m_kbd, 0);
+ GT913_KBD_HLE(config, m_kbd);
m_kbd->irq_cb().set(m_vic, FUNC(vic_upd800468_device::irq_w<31>));
}
diff --git a/src/devices/cpu/arm7/upd800468.h b/src/devices/cpu/arm7/upd800468.h
index 7f662581c7f..a90fdcf9827 100644
--- a/src/devices/cpu/arm7/upd800468.h
+++ b/src/devices/cpu/arm7/upd800468.h
@@ -18,7 +18,7 @@
class upd800468_timer_device : public device_t
{
public:
- upd800468_timer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd800468_timer_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto irq_cb() { return m_irq_cb.bind(); }
@@ -45,7 +45,7 @@ private:
class upd800468_device : public arm7_cpu_device
{
public:
- upd800468_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t);
+ upd800468_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void upd800468_map(address_map &map);
diff --git a/src/devices/cpu/asap/asap.cpp b/src/devices/cpu/asap/asap.cpp
index 045819aa4ae..554a83dd2ee 100644
--- a/src/devices/cpu/asap/asap.cpp
+++ b/src/devices/cpu/asap/asap.cpp
@@ -136,7 +136,7 @@ DEFINE_DEVICE_TYPE(ASAP, asap_device, "asap", "Atari ASAP")
// asap_device - constructor
//-------------------------------------------------
-asap_device::asap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+asap_device::asap_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, ASAP, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 32, 32),
m_pc(0),
diff --git a/src/devices/cpu/asap/asap.h b/src/devices/cpu/asap/asap.h
index 3adb9ef37f4..1e62fd76202 100644
--- a/src/devices/cpu/asap/asap.h
+++ b/src/devices/cpu/asap/asap.h
@@ -26,7 +26,7 @@ class asap_device : public cpu_device
{
public:
// construction/destruction
- asap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ asap_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// public interfaces
diff --git a/src/devices/cpu/avr8/avr8.cpp b/src/devices/cpu/avr8/avr8.cpp
index f650a53bbb3..85afb1482bd 100644
--- a/src/devices/cpu/avr8/avr8.cpp
+++ b/src/devices/cpu/avr8/avr8.cpp
@@ -642,7 +642,7 @@ void attiny15_device::attiny15_internal_map(address_map &map)
// atmega88_device - constructor
//-------------------------------------------------
-atmega88_device::atmega88_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+atmega88_device::atmega88_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: avr8_device(mconfig, tag, owner, clock, ATMEGA88, 0x0fff, address_map_constructor(FUNC(atmega88_device::atmega88_internal_map), this), 3)
{
}
@@ -651,7 +651,7 @@ atmega88_device::atmega88_device(const machine_config &mconfig, const char *tag,
// atmega168_device - constructor
//-------------------------------------------------
-atmega168_device::atmega168_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+atmega168_device::atmega168_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: avr8_device(mconfig, tag, owner, clock, ATMEGA168, 0x1fff, address_map_constructor(FUNC(atmega168_device::atmega168_internal_map), this), 3)
{
}
@@ -660,7 +660,7 @@ atmega168_device::atmega168_device(const machine_config &mconfig, const char *ta
// atmega328_device - constructor
//-------------------------------------------------
-atmega328_device::atmega328_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+atmega328_device::atmega328_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: avr8_device(mconfig, tag, owner, clock, ATMEGA328, 0x7fff, address_map_constructor(FUNC(atmega328_device::atmega328_internal_map), this), 3)
{
}
@@ -669,7 +669,7 @@ atmega328_device::atmega328_device(const machine_config &mconfig, const char *ta
// atmega644_device - constructor
//-------------------------------------------------
-atmega644_device::atmega644_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+atmega644_device::atmega644_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: avr8_device(mconfig, tag, owner, clock, ATMEGA644, 0xffff, address_map_constructor(FUNC(atmega644_device::atmega644_internal_map), this), 3)
{
}
@@ -678,7 +678,7 @@ atmega644_device::atmega644_device(const machine_config &mconfig, const char *ta
// atmega1280_device - constructor
//-------------------------------------------------
-atmega1280_device::atmega1280_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+atmega1280_device::atmega1280_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: avr8_device(mconfig, tag, owner, clock, ATMEGA1280, 0x1ffff, address_map_constructor(FUNC(atmega1280_device::atmega1280_internal_map), this), 6)
{
}
@@ -687,7 +687,7 @@ atmega1280_device::atmega1280_device(const machine_config &mconfig, const char *
// atmega2560_device - constructor
//-------------------------------------------------
-atmega2560_device::atmega2560_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+atmega2560_device::atmega2560_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: avr8_device(mconfig, tag, owner, clock, ATMEGA2560, 0x1ffff, address_map_constructor(FUNC(atmega2560_device::atmega2560_internal_map), this), 6)
{
}
@@ -696,7 +696,7 @@ atmega2560_device::atmega2560_device(const machine_config &mconfig, const char *
// attiny15_device - constructor
//-------------------------------------------------
-attiny15_device::attiny15_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+attiny15_device::attiny15_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: avr8_device(mconfig, tag, owner, clock, ATTINY15, 0x03ff, address_map_constructor(FUNC(attiny15_device::attiny15_internal_map), this), 2)
{
}
@@ -705,7 +705,7 @@ attiny15_device::attiny15_device(const machine_config &mconfig, const char *tag,
// avr8_device - constructor
//-------------------------------------------------
-avr8_device::avr8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, const device_type type, uint32_t addr_mask, address_map_constructor internal_map, int32_t num_timers)
+avr8_device::avr8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, const device_type type, uint32_t addr_mask, address_map_constructor internal_map, int32_t num_timers)
: cpu_device(mconfig, type, tag, owner, clock)
, m_shifted_pc(0)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 22)
diff --git a/src/devices/cpu/avr8/avr8.h b/src/devices/cpu/avr8/avr8.h
index 85f05e8cea6..758cd1cf945 100644
--- a/src/devices/cpu/avr8/avr8.h
+++ b/src/devices/cpu/avr8/avr8.h
@@ -45,7 +45,7 @@ public:
template<uint8_t Port> auto gpio_in() { return m_gpio_in_cb[Port].bind(); }
protected:
- avr8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, const device_type type, uint32_t address_mask, address_map_constructor internal_map, int32_t num_timers);
+ avr8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, const device_type type, uint32_t address_mask, address_map_constructor internal_map, int32_t num_timers);
typedef void (avr8_device::*op_func) (uint16_t op);
@@ -319,7 +319,7 @@ class atmega88_device : public avr8_device
{
public:
// construction/destruction
- atmega88_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ atmega88_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void atmega88_internal_map(address_map &map);
};
@@ -329,7 +329,7 @@ class atmega168_device : public avr8_device
{
public:
// construction/destruction
- atmega168_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ atmega168_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual void update_interrupt(int source) override;
void atmega168_internal_map(address_map &map);
@@ -341,7 +341,7 @@ class atmega328_device : public avr8_device
{
public:
// construction/destruction
- atmega328_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ atmega328_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual void update_interrupt(int source) override;
void atmega328_internal_map(address_map &map);
@@ -353,7 +353,7 @@ class atmega644_device : public avr8_device
{
public:
// construction/destruction
- atmega644_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ atmega644_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual void update_interrupt(int source) override;
void atmega644_internal_map(address_map &map);
@@ -365,7 +365,7 @@ class atmega1280_device : public avr8_device
{
public:
// construction/destruction
- atmega1280_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ atmega1280_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual void update_interrupt(int source) override;
void atmega1280_internal_map(address_map &map);
@@ -377,7 +377,7 @@ class atmega2560_device : public avr8_device
{
public:
// construction/destruction
- atmega2560_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ atmega2560_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual void update_interrupt(int source) override;
void atmega2560_internal_map(address_map &map);
@@ -389,7 +389,7 @@ class attiny15_device : public avr8_device
{
public:
// construction/destruction
- attiny15_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ attiny15_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void attiny15_internal_map(address_map &map);
};
diff --git a/src/devices/cpu/axc51/axc51.cpp b/src/devices/cpu/axc51/axc51.cpp
index 602e14b75b0..068c298672b 100644
--- a/src/devices/cpu/axc51/axc51.cpp
+++ b/src/devices/cpu/axc51/axc51.cpp
@@ -72,7 +72,7 @@ void axc51base_cpu_device::io_internal(address_map& map)
}
-axc51base_cpu_device::axc51base_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program_map, address_map_constructor data_map, address_map_constructor io_map, int program_width, int data_width, uint8_t features)
+axc51base_cpu_device::axc51base_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program_map, address_map_constructor data_map, address_map_constructor io_map, int program_width, int data_width, uint8_t features)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0, program_map)
, m_data_config("data", ENDIANNESS_LITTLE, 8, 11, 0, data_map)
@@ -104,7 +104,7 @@ axc51base_cpu_device::axc51base_cpu_device(const machine_config &mconfig, device
}
-axc51base_cpu_device::axc51base_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features)
+axc51base_cpu_device::axc51base_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features)
: axc51base_cpu_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(axc51base_cpu_device::program_internal), this), address_map_constructor(FUNC(axc51base_cpu_device::data_internal), this), address_map_constructor(FUNC(axc51base_cpu_device::io_internal), this), program_width, data_width, features)
{
}
@@ -1546,12 +1546,12 @@ void ax208_cpu_device::device_reset()
// AX208 (specific CPU)
-ax208_cpu_device::ax208_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ax208_cpu_device::ax208_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: axc51base_cpu_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(ax208_cpu_device::ax208_internal_program_mem), this), address_map_constructor(FUNC(ax208_cpu_device::data_internal), this), address_map_constructor(FUNC(axc51base_cpu_device::io_internal), this), 0, 8)
{
}
-ax208_cpu_device::ax208_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ax208_cpu_device::ax208_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ax208_cpu_device(mconfig, AX208, tag, owner, clock)
{
}
@@ -1565,7 +1565,7 @@ std::unique_ptr<util::disasm_interface> ax208_cpu_device::create_disassembler()
-ax208p_cpu_device::ax208p_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ax208p_cpu_device::ax208p_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ax208_cpu_device(mconfig, AX208P, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/axc51/axc51.h b/src/devices/cpu/axc51/axc51.h
index 291c4231414..03a5bcc624f 100644
--- a/src/devices/cpu/axc51/axc51.h
+++ b/src/devices/cpu/axc51/axc51.h
@@ -36,8 +36,8 @@ public:
protected:
// construction/destruction
- axc51base_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features = 0);
- axc51base_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program_map, address_map_constructor data_map, address_map_constructor io_map, int program_width, int data_width, uint8_t features = 0);
+ axc51base_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features = 0);
+ axc51base_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program_map, address_map_constructor data_map, address_map_constructor io_map, int program_width, int data_width, uint8_t features = 0);
// device-level overrides
virtual void device_start() override;
@@ -519,10 +519,10 @@ class ax208_cpu_device : public axc51base_cpu_device
{
public:
// construction/destruction
- ax208_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ax208_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- ax208_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ ax208_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_reset() override;
@@ -536,7 +536,7 @@ class ax208p_cpu_device : public ax208_cpu_device
{
public:
// construction/destruction
- ax208p_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ax208p_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual const tiny_rom_entry *device_rom_region() const override;
diff --git a/src/devices/cpu/bcp/dp8344.cpp b/src/devices/cpu/bcp/dp8344.cpp
index 3e78cb0d0dd..4a28cd76040 100644
--- a/src/devices/cpu/bcp/dp8344.cpp
+++ b/src/devices/cpu/bcp/dp8344.cpp
@@ -62,7 +62,7 @@ ALLOW_SAVE_TYPE(dp8344_device::inst_state);
// dp8344_device - constructor
//-------------------------------------------------
-dp8344_device::dp8344_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+dp8344_device::dp8344_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_inst_config("instruction", ENDIANNESS_LITTLE, 16, 16, -1)
, m_data_config("data", ENDIANNESS_LITTLE, 8, 16, 0)
@@ -118,7 +118,7 @@ dp8344_device::dp8344_device(const machine_config &mconfig, device_type type, co
// dp8344a_device - constructor
//-------------------------------------------------
-dp8344a_device::dp8344a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+dp8344a_device::dp8344a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: dp8344_device(mconfig, DP8344A, tag, owner, clock)
{
}
@@ -128,7 +128,7 @@ dp8344a_device::dp8344a_device(const machine_config &mconfig, const char *tag, d
// dp8344b_device - constructor
//-------------------------------------------------
-dp8344b_device::dp8344b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+dp8344b_device::dp8344b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: dp8344_device(mconfig, DP8344B, tag, owner, clock)
{
// TODO: emulate differences between DP8344A and DP8344B
diff --git a/src/devices/cpu/bcp/dp8344.h b/src/devices/cpu/bcp/dp8344.h
index f4e1e674da9..f035157f6a8 100644
--- a/src/devices/cpu/bcp/dp8344.h
+++ b/src/devices/cpu/bcp/dp8344.h
@@ -62,7 +62,7 @@ public:
protected:
// construction/destruction
- dp8344_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ dp8344_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-specific overrides
virtual void device_resolve_objects() override;
@@ -227,7 +227,7 @@ class dp8344a_device : public dp8344_device
{
public:
// device type constructor
- dp8344a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ dp8344a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
// ======================> dp8344b_device
@@ -236,7 +236,7 @@ class dp8344b_device : public dp8344_device
{
public:
// device type constructor
- dp8344b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ dp8344b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
// device type declarations
diff --git a/src/devices/cpu/capricorn/capricorn.cpp b/src/devices/cpu/capricorn/capricorn.cpp
index ee398f5296a..a5d00f16ec3 100644
--- a/src/devices/cpu/capricorn/capricorn.cpp
+++ b/src/devices/cpu/capricorn/capricorn.cpp
@@ -138,7 +138,7 @@ static constexpr uint8_t E_MASK = 0xf;
DEFINE_DEVICE_TYPE(HP_CAPRICORN , capricorn_cpu_device , "capricorn" , "HP-Capricorn")
-capricorn_cpu_device::capricorn_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+capricorn_cpu_device::capricorn_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, HP_CAPRICORN, tag, owner, clock),
m_program_config("program" , ENDIANNESS_LITTLE , 8 , 16),
m_opcode_func(*this),
diff --git a/src/devices/cpu/capricorn/capricorn.h b/src/devices/cpu/capricorn/capricorn.h
index 40bbb2cc3ab..c9aec4f56eb 100644
--- a/src/devices/cpu/capricorn/capricorn.h
+++ b/src/devices/cpu/capricorn/capricorn.h
@@ -17,7 +17,7 @@
class capricorn_cpu_device : public cpu_device
{
public:
- capricorn_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ capricorn_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t flatten_burst();
diff --git a/src/devices/cpu/ccpu/ccpu.cpp b/src/devices/cpu/ccpu/ccpu.cpp
index d13c272b21a..2c1f85c4418 100644
--- a/src/devices/cpu/ccpu/ccpu.cpp
+++ b/src/devices/cpu/ccpu/ccpu.cpp
@@ -62,7 +62,7 @@ do { \
INITIALIZATION AND SHUTDOWN
***************************************************************************/
-ccpu_cpu_device::ccpu_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ccpu_cpu_device::ccpu_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, CCPU, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, 15, 0)
, m_data_config("data", ENDIANNESS_BIG, 16, 32, -1)
diff --git a/src/devices/cpu/ccpu/ccpu.h b/src/devices/cpu/ccpu/ccpu.h
index c4377f251e3..2c17b2e623f 100644
--- a/src/devices/cpu/ccpu/ccpu.h
+++ b/src/devices/cpu/ccpu/ccpu.h
@@ -42,7 +42,7 @@ public:
typedef device_delegate<void (int16_t, int16_t, int16_t, int16_t, uint8_t)> vector_delegate;
// construction/destruction
- ccpu_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ccpu_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto external_func() { return m_external_input.bind(); }
diff --git a/src/devices/cpu/clipper/clipper.cpp b/src/devices/cpu/clipper/clipper.cpp
index e310b66ea62..d48ef9ae9b0 100644
--- a/src/devices/cpu/clipper/clipper.cpp
+++ b/src/devices/cpu/clipper/clipper.cpp
@@ -51,28 +51,28 @@ DEFINE_DEVICE_TYPE(CLIPPER_C100, clipper_c100_device, "clipper_c100", "C100 CLIP
DEFINE_DEVICE_TYPE(CLIPPER_C300, clipper_c300_device, "clipper_c300", "C300 CLIPPER")
DEFINE_DEVICE_TYPE(CLIPPER_C400, clipper_c400_device, "clipper_c400", "C400 CLIPPER")
-clipper_c100_device::clipper_c100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+clipper_c100_device::clipper_c100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: clipper_device(mconfig, CLIPPER_C100, tag, owner, clock, ENDIANNESS_LITTLE, SSW_ID_C1R1)
, m_icammu(*this, "^cammu_i")
, m_dcammu(*this, "^cammu_d")
{
}
-clipper_c300_device::clipper_c300_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+clipper_c300_device::clipper_c300_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: clipper_device(mconfig, CLIPPER_C300, tag, owner, clock, ENDIANNESS_LITTLE, SSW_ID_C3R1)
, m_icammu(*this, "^cammu_i")
, m_dcammu(*this, "^cammu_d")
{
}
-clipper_c400_device::clipper_c400_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+clipper_c400_device::clipper_c400_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: clipper_device(mconfig, CLIPPER_C400, tag, owner, clock, ENDIANNESS_LITTLE, SSW_ID_C4R4)
, m_db_pc(0)
, m_cammu(*this, "^cammu")
{
}
-clipper_device::clipper_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, const endianness_t endianness, const u32 cpuid)
+clipper_device::clipper_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const endianness_t endianness, const u32 cpuid)
: cpu_device(mconfig, type, tag, owner, clock)
, m_main_config("main", endianness, 32, 32, 0)
, m_io_config("io", endianness, 32, 32, 0)
diff --git a/src/devices/cpu/clipper/clipper.h b/src/devices/cpu/clipper/clipper.h
index 3e78a5fdfff..f6e492f5496 100644
--- a/src/devices/cpu/clipper/clipper.h
+++ b/src/devices/cpu/clipper/clipper.h
@@ -148,7 +148,7 @@ public:
};
protected:
- clipper_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, const endianness_t endianness, const u32 cpuid);
+ clipper_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const endianness_t endianness, const u32 cpuid);
// device-level overrides
virtual void device_start() override;
@@ -325,7 +325,7 @@ protected:
class clipper_c100_device : public clipper_device
{
public:
- clipper_c100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ clipper_c100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual cammu_device &get_icammu() const override { return *m_icammu; }
@@ -339,7 +339,7 @@ private:
class clipper_c300_device : public clipper_device
{
public:
- clipper_c300_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ clipper_c300_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual cammu_device &get_icammu() const override { return *m_icammu; }
@@ -353,7 +353,7 @@ private:
class clipper_c400_device : public clipper_device
{
public:
- clipper_c400_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ clipper_c400_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/cop400/cop400.cpp b/src/devices/cpu/cop400/cop400.cpp
index dcd9a6edc0f..e9669d9ea2a 100644
--- a/src/devices/cpu/cop400/cop400.cpp
+++ b/src/devices/cpu/cop400/cop400.cpp
@@ -170,7 +170,7 @@ void cop400_cpu_device::data_128b(address_map &map)
}
-cop400_cpu_device::cop400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t program_addr_bits, uint8_t data_addr_bits, uint8_t featuremask, uint8_t g_mask, uint8_t d_mask, uint8_t in_mask, bool has_counter, bool has_inil, address_map_constructor internal_map_program, address_map_constructor internal_map_data)
+cop400_cpu_device::cop400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t program_addr_bits, uint8_t data_addr_bits, uint8_t featuremask, uint8_t g_mask, uint8_t d_mask, uint8_t in_mask, bool has_counter, bool has_inil, address_map_constructor internal_map_program, address_map_constructor internal_map_data)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, program_addr_bits, 0, internal_map_program)
, m_data_config("data", ENDIANNESS_LITTLE, 8, data_addr_bits, 0, internal_map_data) // data width is really 4
@@ -247,87 +247,87 @@ cop400_cpu_device::cop400_cpu_device(const machine_config &mconfig, device_type
}
}
-cop401_cpu_device::cop401_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop401_cpu_device::cop401_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP401, tag, owner, clock, 9, 6, COP410_FEATURE, 0xf, 0xf, 0, false, false, address_map_constructor(), address_map_constructor(FUNC(cop401_cpu_device::data_32b), this))
{
}
-cop410_cpu_device::cop410_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop410_cpu_device::cop410_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP410, tag, owner, clock, 9, 6, COP410_FEATURE, 0xf, 0xf, 0, false, false, address_map_constructor(FUNC(cop410_cpu_device::program_512b), this), address_map_constructor(FUNC(cop410_cpu_device::data_32b), this))
{
}
-cop411_cpu_device::cop411_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop411_cpu_device::cop411_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP411, tag, owner, clock, 9, 6, COP410_FEATURE, 0x7, 0x3, 0, false, false, address_map_constructor(FUNC(cop411_cpu_device::program_512b), this), address_map_constructor(FUNC(cop411_cpu_device::data_32b), this))
{
}
-cop402_cpu_device::cop402_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop402_cpu_device::cop402_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP402, tag, owner, clock, 10, 6, COP420_FEATURE, 0xf, 0xf, 0xf, true, true, address_map_constructor(), address_map_constructor(FUNC(cop402_cpu_device::data_64b), this))
{
}
-cop420_cpu_device::cop420_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop420_cpu_device::cop420_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP420, tag, owner, clock, 10, 6, COP420_FEATURE, 0xf, 0xf, 0xf, true, true, address_map_constructor(FUNC(cop420_cpu_device::program_1kb), this), address_map_constructor(FUNC(cop420_cpu_device::data_64b), this))
{
}
-cop421_cpu_device::cop421_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop421_cpu_device::cop421_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP421, tag, owner, clock, 10, 6, COP420_FEATURE, 0xf, 0xf, 0, true, false, address_map_constructor(FUNC(cop421_cpu_device::program_1kb), this), address_map_constructor(FUNC(cop421_cpu_device::data_64b), this))
{
}
-cop422_cpu_device::cop422_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop422_cpu_device::cop422_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP422, tag, owner, clock, 10, 6, COP420_FEATURE, 0xe, 0xe, 0, true, false, address_map_constructor(FUNC(cop422_cpu_device::program_1kb), this), address_map_constructor(FUNC(cop422_cpu_device::data_64b), this))
{
}
-cop404l_cpu_device::cop404l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop404l_cpu_device::cop404l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP404L, tag, owner, clock, 11, 7, COP444L_FEATURE, 0xf, 0xf, 0xf, true, true, address_map_constructor(), address_map_constructor(FUNC(cop404l_cpu_device::data_128b), this))
{
}
-cop444l_cpu_device::cop444l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop444l_cpu_device::cop444l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP444L, tag, owner, clock, 11, 7, COP444L_FEATURE, 0xf, 0xf, 0xf, true, true, address_map_constructor(FUNC(cop444l_cpu_device::program_2kb), this), address_map_constructor(FUNC(cop444l_cpu_device::data_128b), this))
{
}
-cop445l_cpu_device::cop445l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop445l_cpu_device::cop445l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP445L, tag, owner, clock, 11, 7, COP444L_FEATURE, 0x7, 0x3, 0, true, false, address_map_constructor(FUNC(cop445l_cpu_device::program_2kb), this), address_map_constructor(FUNC(cop445l_cpu_device::data_128b), this))
{
}
-cop404c_cpu_device::cop404c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop404c_cpu_device::cop404c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP404C, tag, owner, clock, 11, 7, COP424C_FEATURE, 0xf, 0xf, 0xf, true, true, address_map_constructor(), address_map_constructor(FUNC(cop404c_cpu_device::data_128b), this))
{
}
-cop424c_cpu_device::cop424c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop424c_cpu_device::cop424c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP424C, tag, owner, clock, 10, 6, COP424C_FEATURE, 0xf, 0xf, 0xf, true, true, address_map_constructor(FUNC(cop424c_cpu_device::program_1kb), this), address_map_constructor(FUNC(cop424c_cpu_device::data_64b), this))
{
}
-cop425c_cpu_device::cop425c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop425c_cpu_device::cop425c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP425C, tag, owner, clock, 10, 6, COP424C_FEATURE, 0xf, 0xf, 0, true, false, address_map_constructor(FUNC(cop425c_cpu_device::program_1kb), this), address_map_constructor(FUNC(cop425c_cpu_device::data_64b), this))
{
}
-cop426c_cpu_device::cop426c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop426c_cpu_device::cop426c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP426C, tag, owner, clock, 10, 6, COP424C_FEATURE, 0xe, 0xe, 0xf, true, true, address_map_constructor(FUNC(cop426c_cpu_device::program_1kb), this), address_map_constructor(FUNC(cop426c_cpu_device::data_64b), this))
{
}
-cop444c_cpu_device::cop444c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop444c_cpu_device::cop444c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP444C, tag, owner, clock, 11, 7, COP424C_FEATURE, 0xf, 0xf, 0xf, true, true, address_map_constructor(FUNC(cop444c_cpu_device::program_2kb), this), address_map_constructor(FUNC(cop444c_cpu_device::data_128b), this))
{
}
-cop445c_cpu_device::cop445c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop445c_cpu_device::cop445c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP445C, tag, owner, clock, 11, 7, COP424C_FEATURE, 0xf, 0xf, 0, true, false, address_map_constructor(FUNC(cop445c_cpu_device::program_2kb), this), address_map_constructor(FUNC(cop445c_cpu_device::data_128b), this))
{
}
-cop446c_cpu_device::cop446c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cop446c_cpu_device::cop446c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cop400_cpu_device(mconfig, COP446C, tag, owner, clock, 11, 7, COP424C_FEATURE, 0xe, 0xe, 0xf, true, true, address_map_constructor(FUNC(cop446c_cpu_device::program_2kb),this), address_map_constructor(FUNC(cop446c_cpu_device::data_128b), this))
{
}
diff --git a/src/devices/cpu/cop400/cop400.h b/src/devices/cpu/cop400/cop400.h
index 45b2b4d0f25..4653dee10d3 100644
--- a/src/devices/cpu/cop400/cop400.h
+++ b/src/devices/cpu/cop400/cop400.h
@@ -129,7 +129,7 @@ public:
protected:
// construction/destruction
- cop400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t program_addr_bits, uint8_t data_addr_bits, uint8_t featuremask, uint8_t g_mask, uint8_t d_mask, uint8_t in_mask, bool has_counter, bool has_inil, address_map_constructor internal_map_program, address_map_constructor internal_map_data);
+ cop400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t program_addr_bits, uint8_t data_addr_bits, uint8_t featuremask, uint8_t g_mask, uint8_t d_mask, uint8_t in_mask, bool has_counter, bool has_inil, address_map_constructor internal_map_program, address_map_constructor internal_map_data);
// device-level overrides
virtual void device_start() override;
@@ -364,7 +364,7 @@ class cop401_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop401_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop401_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -372,7 +372,7 @@ class cop410_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop410_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop410_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -381,7 +381,7 @@ class cop411_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop411_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop411_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -391,7 +391,7 @@ class cop402_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop402_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop402_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -399,7 +399,7 @@ class cop420_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop420_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop420_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -408,7 +408,7 @@ class cop421_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop421_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop421_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -417,7 +417,7 @@ class cop422_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop422_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop422_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -427,7 +427,7 @@ class cop404l_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop404l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop404l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -435,7 +435,7 @@ class cop444l_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop444l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop444l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -444,7 +444,7 @@ class cop445l_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop445l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop445l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -453,7 +453,7 @@ class cop404c_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop404c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop404c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -462,7 +462,7 @@ class cop424c_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop424c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop424c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -471,7 +471,7 @@ class cop425c_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop425c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop425c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -480,7 +480,7 @@ class cop426c_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop426c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop426c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -489,7 +489,7 @@ class cop444c_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop444c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop444c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -498,7 +498,7 @@ class cop445c_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop445c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop445c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -507,7 +507,7 @@ class cop446c_cpu_device : public cop400_cpu_device
{
public:
// construction/destruction
- cop446c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cop446c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/cops1/cops1base.cpp b/src/devices/cpu/cops1/cops1base.cpp
index 3bba883377b..b69700d6b91 100644
--- a/src/devices/cpu/cops1/cops1base.cpp
+++ b/src/devices/cpu/cops1/cops1base.cpp
@@ -34,7 +34,7 @@ TODO:
#include "cops1base.h"
-cops1_base_device::cops1_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+cops1_base_device::cops1_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 8, prgwidth, 0, program),
m_data_config("data", ENDIANNESS_LITTLE, 8, datawidth, 0, data),
diff --git a/src/devices/cpu/cops1/cops1base.h b/src/devices/cpu/cops1/cops1base.h
index 75009fe7b49..8e8934009b6 100644
--- a/src/devices/cpu/cops1/cops1base.h
+++ b/src/devices/cpu/cops1/cops1base.h
@@ -67,7 +67,7 @@ public:
protected:
// construction/destruction
- cops1_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ cops1_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/cops1/mm5799.cpp b/src/devices/cpu/cops1/mm5799.cpp
index 7f6515760a4..3a6c427d146 100644
--- a/src/devices/cpu/cops1/mm5799.cpp
+++ b/src/devices/cpu/cops1/mm5799.cpp
@@ -16,7 +16,7 @@ DEFINE_DEVICE_TYPE(MM5799, mm5799_device, "mm5799", "National Semiconductor MM57
// constructor
-mm5799_device::mm5799_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm5799_device::mm5799_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
cops1_base_device(mconfig, MM5799, tag, owner, clock, 11, address_map_constructor(FUNC(mm5799_device::program_map), this), 7, address_map_constructor(FUNC(mm5799_device::data_map), this))
{ }
diff --git a/src/devices/cpu/cops1/mm5799.h b/src/devices/cpu/cops1/mm5799.h
index a07aecd97fa..03e6d71e41b 100644
--- a/src/devices/cpu/cops1/mm5799.h
+++ b/src/devices/cpu/cops1/mm5799.h
@@ -37,7 +37,7 @@
class mm5799_device : public cops1_base_device
{
public:
- mm5799_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm5799_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/cosmac/cosmac.cpp b/src/devices/cpu/cosmac/cosmac.cpp
index bc38bf034c2..60f40fedbee 100644
--- a/src/devices/cpu/cosmac/cosmac.cpp
+++ b/src/devices/cpu/cosmac/cosmac.cpp
@@ -358,7 +358,7 @@ DEFINE_DEVICE_TYPE(CDP1806, cdp1806_device, "cdp1806", "RCA CDP1806")
// cosmac_device - constructor
//-------------------------------------------------
-cosmac_device::cosmac_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+cosmac_device::cosmac_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock),
cosmac_disassembler::config(),
m_program_config("program", ENDIANNESS_LITTLE, 8, 16),
@@ -391,7 +391,7 @@ cosmac_device::cosmac_device(const machine_config &mconfig, device_type type, co
// cdp1801_device - constructor
//-------------------------------------------------
-cdp1801_device::cdp1801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+cdp1801_device::cdp1801_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
cosmac_device(mconfig, CDP1801, tag, owner, clock)
{ }
@@ -400,11 +400,11 @@ cdp1801_device::cdp1801_device(const machine_config &mconfig, const char *tag, d
// cdp1802_device - constructor
//-------------------------------------------------
-cdp1802_device::cdp1802_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+cdp1802_device::cdp1802_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
cdp1802_device(mconfig, CDP1802, tag, owner, clock)
{ }
-cdp1802_device::cdp1802_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+cdp1802_device::cdp1802_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
cosmac_device(mconfig, type, tag, owner, clock)
{ }
@@ -413,11 +413,11 @@ cdp1802_device::cdp1802_device(const machine_config &mconfig, device_type type,
// cdp1804_device - constructor
//-------------------------------------------------
-cdp1804_device::cdp1804_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+cdp1804_device::cdp1804_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
cdp1804_device(mconfig, CDP1804, tag, owner, clock)
{ }
-cdp1804_device::cdp1804_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+cdp1804_device::cdp1804_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
cdp1802_device(mconfig, type, tag, owner, clock)
{ }
@@ -426,11 +426,11 @@ cdp1804_device::cdp1804_device(const machine_config &mconfig, device_type type,
// cdp1805_device - constructor
//-------------------------------------------------
-cdp1805_device::cdp1805_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+cdp1805_device::cdp1805_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
cdp1805_device(mconfig, CDP1805, tag, owner, clock)
{ }
-cdp1805_device::cdp1805_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+cdp1805_device::cdp1805_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
cdp1804_device(mconfig, type, tag, owner, clock)
{ }
@@ -439,7 +439,7 @@ cdp1805_device::cdp1805_device(const machine_config &mconfig, device_type type,
// cdp1806_device - constructor
//-------------------------------------------------
-cdp1806_device::cdp1806_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+cdp1806_device::cdp1806_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
cdp1805_device(mconfig, CDP1806, tag, owner, clock)
{ }
diff --git a/src/devices/cpu/cosmac/cosmac.h b/src/devices/cpu/cosmac/cosmac.h
index 2d29a10ce44..1d8e9c55612 100644
--- a/src/devices/cpu/cosmac/cosmac.h
+++ b/src/devices/cpu/cosmac/cosmac.h
@@ -183,7 +183,7 @@ public:
protected:
// construction/destruction
- cosmac_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ cosmac_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -457,7 +457,7 @@ class cdp1801_device : public cosmac_device
{
public:
// construction/destruction
- cdp1801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cdp1801_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
@@ -478,10 +478,10 @@ class cdp1802_device : public cosmac_device
{
public:
// construction/destruction
- cdp1802_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cdp1802_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- cdp1802_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ cdp1802_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -499,10 +499,10 @@ class cdp1804_device : public cdp1802_device
{
public:
// construction/destruction
- cdp1804_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cdp1804_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- cdp1804_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ cdp1804_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual cosmac_device::ophandler get_ophandler(uint16_t opcode) const override;
virtual bool has_extended_opcodes() override { return true; }
@@ -520,10 +520,10 @@ class cdp1805_device : public cdp1804_device
{
public:
// construction/destruction
- cdp1805_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cdp1805_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- cdp1805_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ cdp1805_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -536,7 +536,7 @@ class cdp1806_device : public cdp1805_device
{
public:
// construction/destruction
- cdp1806_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cdp1806_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/cp1610/cp1610.cpp b/src/devices/cpu/cp1610/cp1610.cpp
index 71d41844be8..c73bd969ebb 100644
--- a/src/devices/cpu/cp1610/cp1610.cpp
+++ b/src/devices/cpu/cp1610/cp1610.cpp
@@ -3390,7 +3390,7 @@ void cp1610_cpu_device::execute_set_input(int irqline, int state)
}
-cp1610_cpu_device::cp1610_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+cp1610_cpu_device::cp1610_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, CP1610, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 16, -1)
, m_intr_state(0)
diff --git a/src/devices/cpu/cr16b/cr16b.cpp b/src/devices/cpu/cr16b/cr16b.cpp
index c9c6d414caf..89a8cbd15dc 100644
--- a/src/devices/cpu/cr16b/cr16b.cpp
+++ b/src/devices/cpu/cr16b/cr16b.cpp
@@ -15,7 +15,7 @@
// device type definitions
DEFINE_DEVICE_TYPE(CR16B, cr16b_device, "cr16b", "CompactRISC CR16B")
-cr16b_device::cr16b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map)
+cr16b_device::cr16b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_space_config("program", ENDIANNESS_LITTLE, 16, 21, 0, map)
, m_regs{0}
@@ -32,7 +32,7 @@ cr16b_device::cr16b_device(const machine_config &mconfig, device_type type, cons
}
// TODO: figure out some actual device types instead
-cr16b_device::cr16b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+cr16b_device::cr16b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cr16b_device(mconfig, CR16B, tag, owner, clock, address_map_constructor())
{
}
diff --git a/src/devices/cpu/cr16b/cr16b.h b/src/devices/cpu/cr16b/cr16b.h
index a8028b03108..73d5c59787e 100644
--- a/src/devices/cpu/cr16b/cr16b.h
+++ b/src/devices/cpu/cr16b/cr16b.h
@@ -10,7 +10,7 @@
class cr16b_device : public cpu_device
{
public:
- cr16b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ cr16b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
enum {
CR16_PC, CR16_ISP, CR16_INTBASE,
@@ -23,7 +23,7 @@ public:
protected:
// construction/destruction
- cr16b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map);
+ cr16b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/cubeqcpu/cubeqcpu.cpp b/src/devices/cpu/cubeqcpu/cubeqcpu.cpp
index da608c33d65..72ad7fac169 100644
--- a/src/devices/cpu/cubeqcpu/cubeqcpu.cpp
+++ b/src/devices/cpu/cubeqcpu/cubeqcpu.cpp
@@ -75,7 +75,7 @@ DEFINE_DEVICE_TYPE(CQUESTROT, cquestrot_cpu_device, "cquestrot", "Cube Quest Rot
DEFINE_DEVICE_TYPE(CQUESTLIN, cquestlin_cpu_device, "cquestlin", "Cube Quest Line CPU")
-cquestsnd_cpu_device::cquestsnd_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+cquestsnd_cpu_device::cquestsnd_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, CQUESTSND, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 64, 8, -3)
, m_dac_w(*this)
@@ -97,7 +97,7 @@ std::unique_ptr<util::disasm_interface> cquestsnd_cpu_device::create_disassemble
}
-cquestrot_cpu_device::cquestrot_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+cquestrot_cpu_device::cquestrot_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, CQUESTROT, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 64, 9, -3)
, m_linedata_w(*this)
@@ -117,7 +117,7 @@ std::unique_ptr<util::disasm_interface> cquestrot_cpu_device::create_disassemble
}
-cquestlin_cpu_device::cquestlin_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+cquestlin_cpu_device::cquestlin_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, CQUESTLIN, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 64, 8, -3)
, m_linedata_r(*this)
diff --git a/src/devices/cpu/cubeqcpu/cubeqcpu.h b/src/devices/cpu/cubeqcpu/cubeqcpu.h
index 54070a1bd48..5ab672d6c79 100644
--- a/src/devices/cpu/cubeqcpu/cubeqcpu.h
+++ b/src/devices/cpu/cubeqcpu/cubeqcpu.h
@@ -20,7 +20,7 @@ class cquestsnd_cpu_device : public cpu_device
{
public:
// construction/destruction
- cquestsnd_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ cquestsnd_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto dac_w() { return m_dac_w.bind(); }
@@ -112,7 +112,7 @@ class cquestrot_cpu_device : public cpu_device
{
public:
// construction/destruction
- cquestrot_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ cquestrot_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto linedata_w() { return m_linedata_w.bind(); }
@@ -224,7 +224,7 @@ class cquestlin_cpu_device : public cpu_device
{
public:
// construction/destruction
- cquestlin_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ cquestlin_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto linedata_r() { return m_linedata_r.bind(); }
diff --git a/src/devices/cpu/diablo/diablo1300.cpp b/src/devices/cpu/diablo/diablo1300.cpp
index baaf6f8bc47..361016a43a2 100644
--- a/src/devices/cpu/diablo/diablo1300.cpp
+++ b/src/devices/cpu/diablo/diablo1300.cpp
@@ -86,7 +86,7 @@ DEFINE_DEVICE_TYPE(DIABLO1300, diablo1300_cpu_device, "diablo1300", "DIABLO 1300
// diablo1300_cpu_device - constructor
//-------------------------------------------------
-diablo1300_cpu_device::diablo1300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+diablo1300_cpu_device::diablo1300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, DIABLO1300, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 9, -1)
, m_data_config("data", ENDIANNESS_LITTLE, 8, 5)
diff --git a/src/devices/cpu/diablo/diablo1300.h b/src/devices/cpu/diablo/diablo1300.h
index 753d2f7b2b1..fa510664b74 100644
--- a/src/devices/cpu/diablo/diablo1300.h
+++ b/src/devices/cpu/diablo/diablo1300.h
@@ -20,7 +20,7 @@ class diablo1300_cpu_device : public cpu_device
{
public:
// construction/destruction
- diablo1300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ diablo1300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/dsp16/dsp16.cpp b/src/devices/cpu/dsp16/dsp16.cpp
index 4078389e2bc..75bb5f39ac8 100644
--- a/src/devices/cpu/dsp16/dsp16.cpp
+++ b/src/devices/cpu/dsp16/dsp16.cpp
@@ -171,7 +171,7 @@ dsp16_device_base::dsp16_device_base(
device_type type,
char const *tag,
device_t *owner,
- u32 clock,
+ const XTAL &clock,
u8 yaau_bits,
address_map_constructor &&data_map)
: cpu_device(mconfig, type, tag, owner, clock)
@@ -2075,7 +2075,7 @@ void dsp16_device_base::pio_pdx_write(u16 sel, u16 value)
DSP16 SPECIALISATION
***************************************************************************/
-dsp16_device::dsp16_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+dsp16_device::dsp16_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: dsp16_device_base(
mconfig, DSP16, tag, owner, clock,
9,
@@ -2107,7 +2107,7 @@ void dsp16_device::data_map(address_map &map)
DSP16A SPECIALISATION
***************************************************************************/
-dsp16a_device::dsp16a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+dsp16a_device::dsp16a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: dsp16_device_base(
mconfig, DSP16A, tag, owner, clock,
16,
diff --git a/src/devices/cpu/dsp16/dsp16.h b/src/devices/cpu/dsp16/dsp16.h
index 3f7ae66dd53..c8c2e4b631a 100644
--- a/src/devices/cpu/dsp16/dsp16.h
+++ b/src/devices/cpu/dsp16/dsp16.h
@@ -70,7 +70,7 @@ protected:
device_type type,
char const *tag,
device_t *owner,
- u32 clock,
+ const XTAL &clock,
u8 yaau_bits,
address_map_constructor &&data_map);
@@ -342,7 +342,7 @@ class dsp16_device : public dsp16_device_base
{
public:
// construction/destruction
- dsp16_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ dsp16_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
// dsp16_device_base implementation
@@ -360,7 +360,7 @@ class dsp16a_device : public dsp16_device_base
{
public:
// construction/destruction
- dsp16a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ dsp16a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
// dsp16_device_base implementation
diff --git a/src/devices/cpu/dsp32/dsp32.cpp b/src/devices/cpu/dsp32/dsp32.cpp
index 9ef3aef63c9..e4a4316fdb0 100644
--- a/src/devices/cpu/dsp32/dsp32.cpp
+++ b/src/devices/cpu/dsp32/dsp32.cpp
@@ -142,7 +142,7 @@ DEFINE_DEVICE_TYPE(DSP32C, dsp32c_device, "dsp32c", "AT&T DSP32C")
// dsp32c_device - constructor
//-------------------------------------------------
-dsp32c_device::dsp32c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+dsp32c_device::dsp32c_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, DSP32C, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 32, 24),
m_pin(0),
diff --git a/src/devices/cpu/dsp32/dsp32.h b/src/devices/cpu/dsp32/dsp32.h
index 90ede0181fa..babec516eef 100644
--- a/src/devices/cpu/dsp32/dsp32.h
+++ b/src/devices/cpu/dsp32/dsp32.h
@@ -36,7 +36,7 @@ class dsp32c_device : public cpu_device
{
public:
// construction/destruction
- dsp32c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ dsp32c_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto out_cb() { return m_output_pins_changed.bind(); }
diff --git a/src/devices/cpu/dsp56000/dsp56000.cpp b/src/devices/cpu/dsp56000/dsp56000.cpp
index eed944bdc0a..0bb28ef0b40 100644
--- a/src/devices/cpu/dsp56000/dsp56000.cpp
+++ b/src/devices/cpu/dsp56000/dsp56000.cpp
@@ -24,7 +24,7 @@
DEFINE_DEVICE_TYPE(DSP56000, dsp56000_device, "dsp56000", "Motorola DSP56000")
DEFINE_DEVICE_TYPE(DSP56001, dsp56001_device, "dsp56001", "Motorola DSP56001")
-dsp56000_device_base::dsp56000_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock)
+dsp56000_device_base::dsp56000_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_p_config("p", ENDIANNESS_BIG, 32, 16, -2)
, m_x_config("x", ENDIANNESS_BIG, 32, 16, -2)
@@ -33,12 +33,12 @@ dsp56000_device_base::dsp56000_device_base(machine_config const &mconfig, device
{
}
-dsp56000_device::dsp56000_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+dsp56000_device::dsp56000_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: dsp56000_device_base(mconfig, DSP56000, tag, owner, clock)
{
}
-dsp56001_device::dsp56001_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+dsp56001_device::dsp56001_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: dsp56000_device_base(mconfig, DSP56001, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/dsp56000/dsp56000.h b/src/devices/cpu/dsp56000/dsp56000.h
index 0a47b2fe078..bd813e2021f 100644
--- a/src/devices/cpu/dsp56000/dsp56000.h
+++ b/src/devices/cpu/dsp56000/dsp56000.h
@@ -9,7 +9,7 @@
class dsp56000_device_base : public cpu_device
{
protected:
- dsp56000_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock);
+ dsp56000_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock);
// device_t overrides
virtual void device_start() override;
@@ -44,13 +44,13 @@ protected:
class dsp56000_device : public dsp56000_device_base
{
public:
- dsp56000_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ dsp56000_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
class dsp56001_device : public dsp56000_device_base
{
public:
- dsp56001_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ dsp56001_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(DSP56000, dsp56000_device)
diff --git a/src/devices/cpu/dsp56156/dsp56156.cpp b/src/devices/cpu/dsp56156/dsp56156.cpp
index f8685d080ae..4a6e724ea2b 100644
--- a/src/devices/cpu/dsp56156/dsp56156.cpp
+++ b/src/devices/cpu/dsp56156/dsp56156.cpp
@@ -122,7 +122,7 @@ void dsp56156_device::dsp56156_x_data_map(address_map &map)
}
-dsp56156_device::dsp56156_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+dsp56156_device::dsp56156_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, DSP56156, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 16, -1, address_map_constructor(FUNC(dsp56156_device::dsp56156_program_map), this))
, m_data_config("data", ENDIANNESS_LITTLE, 16, 16, -1, address_map_constructor(FUNC(dsp56156_device::dsp56156_x_data_map), this))
diff --git a/src/devices/cpu/dsp56156/dsp56156.h b/src/devices/cpu/dsp56156/dsp56156.h
index 4317fa249f5..7326b809e97 100644
--- a/src/devices/cpu/dsp56156/dsp56156.h
+++ b/src/devices/cpu/dsp56156/dsp56156.h
@@ -203,7 +203,7 @@ struct dsp56156_core
class dsp56156_device : public cpu_device
{
public:
- dsp56156_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock);
+ dsp56156_device(const machine_config &mconfig, const char *_tag, device_t *_owner, const XTAL &_clock);
uint16_t peripheral_register_r(offs_t offset);
void peripheral_register_w(offs_t offset, uint16_t data);
diff --git a/src/devices/cpu/dspp/dspp.cpp b/src/devices/cpu/dspp/dspp.cpp
index 70bc923a67e..995bdd27cf2 100644
--- a/src/devices/cpu/dspp/dspp.cpp
+++ b/src/devices/cpu/dspp/dspp.cpp
@@ -85,13 +85,13 @@ DEFINE_DEVICE_TYPE(DSPP, dspp_device, "dspp", "3DO DSPP")
// dspp_device - constructor
//-------------------------------------------------
-dspp_device::dspp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+dspp_device::dspp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: dspp_device(mconfig, DSPP, tag, owner, clock, address_map_constructor(FUNC(dspp_device::code_map), this),
address_map_constructor(FUNC(dspp_device::data_map), this))
{
}
-dspp_device::dspp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor code_map_ctor, address_map_constructor data_map_ctor)
+dspp_device::dspp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor code_map_ctor, address_map_constructor data_map_ctor)
: cpu_device(mconfig, type, tag, owner, clock),
m_int_handler(*this),
m_dma_read_handler(*this),
diff --git a/src/devices/cpu/dspp/dspp.h b/src/devices/cpu/dspp/dspp.h
index 68492fb7f40..75a502501c9 100644
--- a/src/devices/cpu/dspp/dspp.h
+++ b/src/devices/cpu/dspp/dspp.h
@@ -31,9 +31,9 @@ class dspp_device : public cpu_device
friend class dspp_frontend;
public:
// Construction/destruction
- dspp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor code_map_ctor,
+ dspp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor code_map_ctor,
address_map_constructor data_map_ctor);
- dspp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ dspp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// Static configuration helpers
auto int_handler() { return m_int_handler.bind(); }
@@ -389,5 +389,6 @@ public: // TODO
// device type definition
DECLARE_DEVICE_TYPE(DSPP, dspp_device);
+#include "dsppfe.h"
#endif // MAME_CPU_DSPP_DSPP_H
diff --git a/src/devices/cpu/e0c6200/e0c6200.cpp b/src/devices/cpu/e0c6200/e0c6200.cpp
index 303ad5d5754..fb56dd3babb 100644
--- a/src/devices/cpu/e0c6200/e0c6200.cpp
+++ b/src/devices/cpu/e0c6200/e0c6200.cpp
@@ -24,7 +24,7 @@
// construction/destruction
-e0c6200_cpu_device::e0c6200_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor program, address_map_constructor data)
+e0c6200_cpu_device::e0c6200_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program, address_map_constructor data)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 13, -1, program)
, m_data_config("data", ENDIANNESS_BIG, 8, 12, 0, data), m_program(nullptr), m_data(nullptr), m_op(0), m_prev_op(0), m_irq_vector(0), m_irq_id(0), m_possible_irq(false), m_halt(false),
diff --git a/src/devices/cpu/e0c6200/e0c6200.h b/src/devices/cpu/e0c6200/e0c6200.h
index 5222983e09b..62da9ec213c 100644
--- a/src/devices/cpu/e0c6200/e0c6200.h
+++ b/src/devices/cpu/e0c6200/e0c6200.h
@@ -14,7 +14,7 @@ class e0c6200_cpu_device : public cpu_device
{
public:
// construction/destruction
- e0c6200_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor program, address_map_constructor data);
+ e0c6200_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program, address_map_constructor data);
protected:
// device-level overrides
diff --git a/src/devices/cpu/e0c6200/e0c6s46.cpp b/src/devices/cpu/e0c6200/e0c6s46.cpp
index 5e30570ae76..578edfa481b 100644
--- a/src/devices/cpu/e0c6200/e0c6s46.cpp
+++ b/src/devices/cpu/e0c6200/e0c6s46.cpp
@@ -48,7 +48,7 @@ void e0c6s46_device::e0c6s46_data(address_map &map)
// device definitions
-e0c6s46_device::e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+e0c6s46_device::e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: e0c6200_cpu_device(mconfig, E0C6S46, tag, owner, clock, address_map_constructor(FUNC(e0c6s46_device::e0c6s46_program), this), address_map_constructor(FUNC(e0c6s46_device::e0c6s46_data), this))
, m_vram1(*this, "vram1")
, m_vram2(*this, "vram2")
diff --git a/src/devices/cpu/e0c6200/e0c6s46.h b/src/devices/cpu/e0c6200/e0c6s46.h
index 0fb7a67e44c..658b69208f8 100644
--- a/src/devices/cpu/e0c6200/e0c6s46.h
+++ b/src/devices/cpu/e0c6200/e0c6s46.h
@@ -51,7 +51,7 @@ class e0c6s46_device : public e0c6200_cpu_device
public:
typedef device_delegate<void (bitmap_ind16 &bitmap, const rectangle &cliprect, int contrast, int seg, int com, int state)> pixel_update_delegate;
- e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// 5 4-bit R output ports
template <std::size_t Port> auto write_r() { return m_write_r[Port].bind(); }
diff --git a/src/devices/cpu/e132xs/e132xs.cpp b/src/devices/cpu/e132xs/e132xs.cpp
index 1331bb1a890..8b3819be1cc 100644
--- a/src/devices/cpu/e132xs/e132xs.cpp
+++ b/src/devices/cpu/e132xs/e132xs.cpp
@@ -201,7 +201,7 @@ void hyperstone_device::e132_16k_iram_map(address_map &map)
// hyperstone_device - constructor
//-------------------------------------------------
-hyperstone_device::hyperstone_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock,
+hyperstone_device::hyperstone_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, uint32_t prg_data_width, uint32_t io_data_width, address_map_constructor internal_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, prg_data_width, 32, 0, internal_map)
@@ -237,7 +237,7 @@ hyperstone_device::~hyperstone_device()
// e116t_device - constructor
//-------------------------------------------------
-e116t_device::e116t_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e116t_device::e116t_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E116T, 16, 16, address_map_constructor(FUNC(e116t_device::e116_4k_iram_map), this))
{
}
@@ -247,7 +247,7 @@ e116t_device::e116t_device(const machine_config &mconfig, const char *tag, devic
// e116xt_device - constructor
//-------------------------------------------------
-e116xt_device::e116xt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e116xt_device::e116xt_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E116XT, 16, 16, address_map_constructor(FUNC(e116t_device::e116_8k_iram_map), this))
{
}
@@ -257,7 +257,7 @@ e116xt_device::e116xt_device(const machine_config &mconfig, const char *tag, dev
// e116xs_device - constructor
//-------------------------------------------------
-e116xs_device::e116xs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e116xs_device::e116xs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E116XS, 16, 16, address_map_constructor(FUNC(e116xs_device::e116_16k_iram_map), this))
{
}
@@ -267,7 +267,7 @@ e116xs_device::e116xs_device(const machine_config &mconfig, const char *tag, dev
// e116xsr_device - constructor
//-------------------------------------------------
-e116xsr_device::e116xsr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e116xsr_device::e116xsr_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E116XSR, 16, 16, address_map_constructor(FUNC(e116xsr_device::e116_16k_iram_map), this))
{
}
@@ -277,7 +277,7 @@ e116xsr_device::e116xsr_device(const machine_config &mconfig, const char *tag, d
// e132n_device - constructor
//-------------------------------------------------
-e132n_device::e132n_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e132n_device::e132n_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E132N, 32, 32, address_map_constructor(FUNC(e132n_device::e132_4k_iram_map), this))
{
}
@@ -287,7 +287,7 @@ e132n_device::e132n_device(const machine_config &mconfig, const char *tag, devic
// e132t_device - constructor
//-------------------------------------------------
-e132t_device::e132t_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e132t_device::e132t_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E132T, 32, 32, address_map_constructor(FUNC(e132t_device::e132_4k_iram_map), this))
{
}
@@ -297,7 +297,7 @@ e132t_device::e132t_device(const machine_config &mconfig, const char *tag, devic
// e132xn_device - constructor
//-------------------------------------------------
-e132xn_device::e132xn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e132xn_device::e132xn_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E132XN, 32, 32, address_map_constructor(FUNC(e132xn_device::e132_8k_iram_map), this))
{
}
@@ -307,7 +307,7 @@ e132xn_device::e132xn_device(const machine_config &mconfig, const char *tag, dev
// e132xt_device - constructor
//-------------------------------------------------
-e132xt_device::e132xt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e132xt_device::e132xt_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E132XT, 32, 32, address_map_constructor(FUNC(e132xt_device::e132_8k_iram_map), this))
{
}
@@ -317,7 +317,7 @@ e132xt_device::e132xt_device(const machine_config &mconfig, const char *tag, dev
// e132xs_device - constructor
//-------------------------------------------------
-e132xs_device::e132xs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e132xs_device::e132xs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E132XS, 32, 32, address_map_constructor(FUNC(e132xs_device::e132_16k_iram_map), this))
{
}
@@ -327,7 +327,7 @@ e132xs_device::e132xs_device(const machine_config &mconfig, const char *tag, dev
// e132xsr_device - constructor
//-------------------------------------------------
-e132xsr_device::e132xsr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+e132xsr_device::e132xsr_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, E132XSR, 32, 32, address_map_constructor(FUNC(e132xsr_device::e132_16k_iram_map), this))
{
}
@@ -337,7 +337,7 @@ e132xsr_device::e132xsr_device(const machine_config &mconfig, const char *tag, d
// gms30c2116_device - constructor
//-------------------------------------------------
-gms30c2116_device::gms30c2116_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+gms30c2116_device::gms30c2116_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, GMS30C2116, 16, 16, address_map_constructor(FUNC(gms30c2116_device::e116_4k_iram_map), this))
{
}
@@ -347,7 +347,7 @@ gms30c2116_device::gms30c2116_device(const machine_config &mconfig, const char *
// gms30c2132_device - constructor
//-------------------------------------------------
-gms30c2132_device::gms30c2132_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+gms30c2132_device::gms30c2132_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, GMS30C2132, 32, 32, address_map_constructor(FUNC(gms30c2132_device::e132_4k_iram_map), this))
{
}
@@ -357,7 +357,7 @@ gms30c2132_device::gms30c2132_device(const machine_config &mconfig, const char *
// gms30c2216_device - constructor
//-------------------------------------------------
-gms30c2216_device::gms30c2216_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+gms30c2216_device::gms30c2216_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, GMS30C2216, 16, 16, address_map_constructor(FUNC(gms30c2216_device::e116_8k_iram_map), this))
{
}
@@ -367,7 +367,7 @@ gms30c2216_device::gms30c2216_device(const machine_config &mconfig, const char *
// gms30c2232_device - constructor
//-------------------------------------------------
-gms30c2232_device::gms30c2232_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+gms30c2232_device::gms30c2232_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hyperstone_device(mconfig, tag, owner, clock, GMS30C2232, 32, 32, address_map_constructor(FUNC(gms30c2232_device::e132_8k_iram_map), this))
{
}
diff --git a/src/devices/cpu/e132xs/e132xs.h b/src/devices/cpu/e132xs/e132xs.h
index 51f9c5cc3c1..bb8d6b066b9 100644
--- a/src/devices/cpu/e132xs/e132xs.h
+++ b/src/devices/cpu/e132xs/e132xs.h
@@ -273,7 +273,7 @@ protected:
};
// construction/destruction
- hyperstone_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock,
+ hyperstone_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, uint32_t prg_data_width, uint32_t io_data_width, address_map_constructor internal_map);
void init(int scale_mask);
@@ -617,7 +617,7 @@ class e116t_device : public hyperstone_device
{
public:
// construction/destruction
- e116t_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e116t_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -630,7 +630,7 @@ class e116xt_device : public hyperstone_device
{
public:
// construction/destruction
- e116xt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e116xt_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -643,7 +643,7 @@ class e116xs_device : public hyperstone_device
{
public:
// construction/destruction
- e116xs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e116xs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -656,7 +656,7 @@ class e116xsr_device : public hyperstone_device
{
public:
// construction/destruction
- e116xsr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e116xsr_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -669,7 +669,7 @@ class e132n_device : public hyperstone_device
{
public:
// construction/destruction
- e132n_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e132n_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -682,7 +682,7 @@ class e132t_device : public hyperstone_device
{
public:
// construction/destruction
- e132t_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e132t_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -695,7 +695,7 @@ class e132xn_device : public hyperstone_device
{
public:
// construction/destruction
- e132xn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e132xn_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -708,7 +708,7 @@ class e132xt_device : public hyperstone_device
{
public:
// construction/destruction
- e132xt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e132xt_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -721,7 +721,7 @@ class e132xs_device : public hyperstone_device
{
public:
// construction/destruction
- e132xs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e132xs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -734,7 +734,7 @@ class e132xsr_device : public hyperstone_device
{
public:
// construction/destruction
- e132xsr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ e132xsr_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -747,7 +747,7 @@ class gms30c2116_device : public hyperstone_device
{
public:
// construction/destruction
- gms30c2116_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ gms30c2116_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -760,7 +760,7 @@ class gms30c2132_device : public hyperstone_device
{
public:
// construction/destruction
- gms30c2132_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ gms30c2132_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -773,7 +773,7 @@ class gms30c2216_device : public hyperstone_device
{
public:
// construction/destruction
- gms30c2216_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ gms30c2216_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -786,7 +786,7 @@ class gms30c2232_device : public hyperstone_device
{
public:
// construction/destruction
- gms30c2232_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ gms30c2232_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
diff --git a/src/devices/cpu/es5510/es5510.cpp b/src/devices/cpu/es5510/es5510.cpp
index 6614c03ab52..2520fcf729d 100644
--- a/src/devices/cpu/es5510/es5510.cpp
+++ b/src/devices/cpu/es5510/es5510.cpp
@@ -134,7 +134,7 @@ inline static int32_t asl(int32_t value, int shift, uint8_t &flags) {
}
// Initialize ESP to mostly zeroed, configured for 64k samples of delay line memory, running (not halted)
-es5510_device::es5510_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+es5510_device::es5510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, ES5510, tag, owner, clock)
, icount(0)
, halt_asserted(false)
diff --git a/src/devices/cpu/es5510/es5510.h b/src/devices/cpu/es5510/es5510.h
index 9f8d10035ca..7f046416205 100644
--- a/src/devices/cpu/es5510/es5510.h
+++ b/src/devices/cpu/es5510/es5510.h
@@ -19,7 +19,7 @@ public:
static constexpr uint32_t DRAM_MASK = (DRAM_SIZE-1);
static constexpr feature_type imperfect_features() { return feature::SOUND; }
- es5510_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ es5510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t host_r(address_space &space, offs_t offset);
void host_w(offs_t offset, uint8_t data);
diff --git a/src/devices/cpu/esrip/esrip.cpp b/src/devices/cpu/esrip/esrip.cpp
index 40457212abb..8372be41eda 100644
--- a/src/devices/cpu/esrip/esrip.cpp
+++ b/src/devices/cpu/esrip/esrip.cpp
@@ -1667,7 +1667,7 @@ DEFINE_DEVICE_TYPE(ESRIP, esrip_device, "esrip", "Entertainment Sciences RIP")
// esrip_device - constructor
//-------------------------------------------------
-esrip_device::esrip_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+esrip_device::esrip_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, ESRIP, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 64, 9, -3)
, m_fdt_r(*this)
diff --git a/src/devices/cpu/esrip/esrip.h b/src/devices/cpu/esrip/esrip.h
index f58b2d41a97..64b041549bd 100644
--- a/src/devices/cpu/esrip/esrip.h
+++ b/src/devices/cpu/esrip/esrip.h
@@ -32,7 +32,7 @@ public:
typedef device_delegate<int (int l, int r, int fig, int attr, int addr, int col, int x_scale, int bank)> draw_delegate;
// construction/destruction
- esrip_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ esrip_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// inline configuration helpers
void set_lbrm_prom_region(const char *name) { m_lbrm_prom = name; }
diff --git a/src/devices/cpu/f2mc16/f2mc16.cpp b/src/devices/cpu/f2mc16/f2mc16.cpp
index de4098685c7..804c7a4482a 100644
--- a/src/devices/cpu/f2mc16/f2mc16.cpp
+++ b/src/devices/cpu/f2mc16/f2mc16.cpp
@@ -31,7 +31,7 @@ std::unique_ptr<util::disasm_interface> f2mc16_device::create_disassembler()
return std::make_unique<f2mc16_disassembler>();
}
-f2mc16_device::f2mc16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+f2mc16_device::f2mc16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 24, 0)
, m_program(nullptr)
@@ -43,7 +43,7 @@ f2mc16_device::f2mc16_device(const machine_config &mconfig, device_type type, co
m_prefix_valid = false;
}
-f2mc16_device::f2mc16_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+f2mc16_device::f2mc16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: f2mc16_device(mconfig, F2MC16, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/f2mc16/f2mc16.h b/src/devices/cpu/f2mc16/f2mc16.h
index fc1ffc3aa55..766af666301 100644
--- a/src/devices/cpu/f2mc16/f2mc16.h
+++ b/src/devices/cpu/f2mc16/f2mc16.h
@@ -38,10 +38,10 @@ public:
};
// construction/destruction
- f2mc16_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ f2mc16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- f2mc16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ f2mc16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/f2mc16/mb9061x.cpp b/src/devices/cpu/f2mc16/mb9061x.cpp
index e8940162329..11b41da4e05 100644
--- a/src/devices/cpu/f2mc16/mb9061x.cpp
+++ b/src/devices/cpu/f2mc16/mb9061x.cpp
@@ -27,7 +27,7 @@ DEFINE_DEVICE_TYPE(MB90641A, mb90641_device, "mb90641a", "Fujitsu MB90641A")
//-------------------------------------------------
// mb9061x_device - constructor
//-------------------------------------------------
-mb9061x_device::mb9061x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map) :
+mb9061x_device::mb9061x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map) :
f2mc16_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 8, 24, 0, internal_map)
{
@@ -82,12 +82,12 @@ void mb90610_device::mb90610_map(address_map &map)
map(0x0100, 0x10ff).ram(); // 4K of internal RAM from 0x100 to 0x1100
}
-mb90610_device::mb90610_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+mb90610_device::mb90610_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mb90610_device(mconfig, MB90610A, tag, owner, clock)
{
}
-mb90610_device::mb90610_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+mb90610_device::mb90610_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
mb9061x_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(mb90610_device::mb90610_map), this))
{
}
@@ -412,12 +412,12 @@ void mb90611_device::mb90611_map(address_map &map)
map(0x0100, 0x04ff).ram(); // 1K of internal RAM from 0x100 to 0x500
}
-mb90611_device::mb90611_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+mb90611_device::mb90611_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mb90611_device(mconfig, MB90611A, tag, owner, clock)
{
}
-mb90611_device::mb90611_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+mb90611_device::mb90611_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
mb9061x_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(mb90611_device::mb90611_map), this))
{
}
@@ -431,12 +431,12 @@ void mb90641_device::mb90641_map(address_map &map)
map(0x0100, 0x08ff).ram(); // 2K of internal RAM
}
-mb90641_device::mb90641_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+mb90641_device::mb90641_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mb90641_device(mconfig, MB90641A, tag, owner, clock)
{
}
-mb90641_device::mb90641_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+mb90641_device::mb90641_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
mb9061x_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(mb90641_device::mb90641_map), this))
{
}
diff --git a/src/devices/cpu/f2mc16/mb9061x.h b/src/devices/cpu/f2mc16/mb9061x.h
index c09bdef1b96..29257e46a53 100644
--- a/src/devices/cpu/f2mc16/mb9061x.h
+++ b/src/devices/cpu/f2mc16/mb9061x.h
@@ -38,7 +38,7 @@ public:
protected:
// construction/destruction
- mb9061x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map);
+ mb9061x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map);
// device-level overrides
virtual void device_start() override;
@@ -81,31 +81,31 @@ private:
class mb90610_device : public mb9061x_device
{
public:
- mb90610_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb90610_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void mb90610_map(address_map &map);
protected:
- mb90610_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ mb90610_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
};
class mb90611_device : public mb9061x_device
{
public:
- mb90611_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb90611_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void mb90611_map(address_map &map);
protected:
- mb90611_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ mb90611_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
};
class mb90641_device : public mb9061x_device
{
public:
- mb90641_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb90641_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void mb90641_map(address_map &map);
protected:
- mb90641_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ mb90641_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(MB90610A, mb90610_device)
diff --git a/src/devices/cpu/f8/f8.cpp b/src/devices/cpu/f8/f8.cpp
index b7168380dad..d403dec600e 100644
--- a/src/devices/cpu/f8/f8.cpp
+++ b/src/devices/cpu/f8/f8.cpp
@@ -63,7 +63,7 @@ static constexpr int cL = 6;
DEFINE_DEVICE_TYPE(F8, f8_cpu_device, "f8", "Fairchild F8")
-f8_cpu_device::f8_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+f8_cpu_device::f8_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
cpu_device(mconfig, F8, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, 8, 16, 0),
m_regs_config("register", ENDIANNESS_BIG, 8, 6, 0, address_map_constructor(FUNC(f8_cpu_device::regs_map), this)),
diff --git a/src/devices/cpu/f8/f8.h b/src/devices/cpu/f8/f8.h
index fd823acb705..3c14f0fb5bd 100644
--- a/src/devices/cpu/f8/f8.h
+++ b/src/devices/cpu/f8/f8.h
@@ -18,7 +18,7 @@ class f8_cpu_device : public cpu_device
{
public:
// construction/destruction
- f8_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ f8_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// used by F3850 systems that override the normal zero reset address
auto romc08_callback() { return m_romc08_callback.bind(); }
diff --git a/src/devices/cpu/fr/fr.cpp b/src/devices/cpu/fr/fr.cpp
index 51ae7313780..964a7689bda 100644
--- a/src/devices/cpu/fr/fr.cpp
+++ b/src/devices/cpu/fr/fr.cpp
@@ -15,7 +15,7 @@
// device type definition
DEFINE_DEVICE_TYPE(MB91F155A, mb91f155a_device, "mb91f155a", "Fujitsu MB91F155A")
-fr_cpu_device::fr_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int addrbits, address_map_constructor map)
+fr_cpu_device::fr_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addrbits, address_map_constructor map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_space_config("program", ENDIANNESS_BIG, 32, addrbits, 0, map)
, m_regs{0}
@@ -28,7 +28,7 @@ fr_cpu_device::fr_cpu_device(const machine_config &mconfig, device_type type, co
{
}
-mb91f155a_device::mb91f155a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+mb91f155a_device::mb91f155a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: fr_cpu_device(mconfig, MB91F155A, tag, owner, clock, 24, address_map_constructor(FUNC(mb91f155a_device::internal_map), this))
{
}
diff --git a/src/devices/cpu/fr/fr.h b/src/devices/cpu/fr/fr.h
index 60e6eb8469f..e148109758b 100644
--- a/src/devices/cpu/fr/fr.h
+++ b/src/devices/cpu/fr/fr.h
@@ -21,7 +21,7 @@ public:
protected:
// construction/destruction
- fr_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int addrbits, address_map_constructor map);
+ fr_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addrbits, address_map_constructor map);
// device-level overrides
virtual void device_start() override;
@@ -60,7 +60,7 @@ class mb91f155a_device : public fr_cpu_device
{
public:
// device type constructor
- mb91f155a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mb91f155a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
private:
void internal_map(address_map &map);
diff --git a/src/devices/cpu/g65816/g65816.cpp b/src/devices/cpu/g65816/g65816.cpp
index 7476fb8cde0..747863b8a42 100644
--- a/src/devices/cpu/g65816/g65816.cpp
+++ b/src/devices/cpu/g65816/g65816.cpp
@@ -113,18 +113,18 @@ enum
};
-g65816_device::g65816_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+g65816_device::g65816_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: g65816_device(mconfig, G65816, tag, owner, clock, CPU_TYPE_W65C816, address_map_constructor())
{
}
-g65802_device::g65802_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+g65802_device::g65802_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: g65816_device(mconfig, G65802, tag, owner, clock, CPU_TYPE_W65C802, address_map_constructor())
{
}
-g65816_device::g65816_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cpu_type, address_map_constructor internal)
+g65816_device::g65816_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int cpu_type, address_map_constructor internal)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, (cpu_type == CPU_TYPE_W65C802) ? 16 : 24, 0, internal)
, m_data_config("data", ENDIANNESS_LITTLE, 8, (cpu_type == CPU_TYPE_W65C802) ? 16 : 24, 0, internal)
@@ -168,7 +168,7 @@ void _5a22_device::_5a22_map(address_map &map)
}
-_5a22_device::_5a22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+_5a22_device::_5a22_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: g65816_device(mconfig, _5A22, tag, owner, clock, CPU_TYPE_5A22, address_map_constructor(FUNC(_5a22_device::_5a22_map), this))
{
}
diff --git a/src/devices/cpu/g65816/g65816.h b/src/devices/cpu/g65816/g65816.h
index b21845e76ec..37a750806fd 100644
--- a/src/devices/cpu/g65816/g65816.h
+++ b/src/devices/cpu/g65816/g65816.h
@@ -54,7 +54,7 @@ public:
};
// construction/destruction
- g65816_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ g65816_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto wdm_handler() { return m_wdm_w.bind(); }
@@ -68,7 +68,7 @@ public:
};
protected:
- g65816_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cpu_type, address_map_constructor internal);
+ g65816_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int cpu_type, address_map_constructor internal);
// device-level overrides
virtual void device_start() override;
@@ -1543,14 +1543,14 @@ protected:
class g65802_device : public g65816_device
{
public:
- g65802_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ g65802_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class _5a22_device : public g65816_device
{
public:
- _5a22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ _5a22_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void wrmpya_w(uint8_t data);
void wrmpyb_w(uint8_t data);
diff --git a/src/devices/cpu/gigatron/gigatron.cpp b/src/devices/cpu/gigatron/gigatron.cpp
index 5729a33633e..b26e7da86b8 100644
--- a/src/devices/cpu/gigatron/gigatron.cpp
+++ b/src/devices/cpu/gigatron/gigatron.cpp
@@ -339,7 +339,7 @@ void gigatron_cpu_device::execute_set_input(int irqline, int state)
#endif
}
-gigatron_cpu_device::gigatron_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+gigatron_cpu_device::gigatron_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, GTRON, tag, owner, clock)
, m_ramMask(0xffff)
, m_romMask(0xffff)
diff --git a/src/devices/cpu/gigatron/gigatron.h b/src/devices/cpu/gigatron/gigatron.h
index b224b4ab280..1d019106fec 100644
--- a/src/devices/cpu/gigatron/gigatron.h
+++ b/src/devices/cpu/gigatron/gigatron.h
@@ -28,7 +28,7 @@ class gigatron_cpu_device : public cpu_device
{
public:
// construction/destruction
- gigatron_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ gigatron_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto outx_cb() { return m_outx_cb.bind(); }
auto out_cb() { return m_out_cb.bind(); }
auto ir_cb() { return m_ir_cb.bind(); }
diff --git a/src/devices/cpu/h16/hd641016.cpp b/src/devices/cpu/h16/hd641016.cpp
index 9bfaa6a5cd4..c4bbe1f540a 100644
--- a/src/devices/cpu/h16/hd641016.cpp
+++ b/src/devices/cpu/h16/hd641016.cpp
@@ -15,7 +15,7 @@
// device type definition
DEFINE_DEVICE_TYPE(HD641016, hd641016_device, "hd641016", "Hitachi HD641016")
-hd641016_device::hd641016_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd641016_device::hd641016_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, HD641016, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 24, 0)
, m_data_config("data", ENDIANNESS_BIG, 32, 10, 0, address_map_constructor(FUNC(hd641016_device::ram_map), this))
diff --git a/src/devices/cpu/h16/hd641016.h b/src/devices/cpu/h16/hd641016.h
index 1c93f5a2ff3..24d29165730 100644
--- a/src/devices/cpu/h16/hd641016.h
+++ b/src/devices/cpu/h16/hd641016.h
@@ -85,7 +85,7 @@ public:
};
// device type constructor
- hd641016_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd641016_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/h6280/h6280.cpp b/src/devices/cpu/h6280/h6280.cpp
index 27c042ab299..766d0ed12ce 100644
--- a/src/devices/cpu/h6280/h6280.cpp
+++ b/src/devices/cpu/h6280/h6280.cpp
@@ -167,7 +167,7 @@ DEFINE_DEVICE_TYPE(H6280, h6280_device, "h6280", "Hudson Soft HuC6280")
// h6280_device - constructor
//-------------------------------------------------
-h6280_device::h6280_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+h6280_device::h6280_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, H6280, tag, owner, clock)
, device_mixer_interface(mconfig, *this, 2)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 21, 0, 16, 0, address_map_constructor(FUNC(h6280_device::internal_map), this))
diff --git a/src/devices/cpu/h6280/h6280.h b/src/devices/cpu/h6280/h6280.h
index 22d3ac06ce6..1b5f386ea12 100644
--- a/src/devices/cpu/h6280/h6280.h
+++ b/src/devices/cpu/h6280/h6280.h
@@ -32,7 +32,7 @@ class h6280_device : public cpu_device, public device_mixer_interface
{
public:
// construction/destruction
- h6280_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h6280_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// public interfaces
void set_irq_line(int irqline, int state);
diff --git a/src/devices/cpu/h8/gt913.cpp b/src/devices/cpu/h8/gt913.cpp
index c56c8ed94f3..ef9edb1bb8b 100644
--- a/src/devices/cpu/h8/gt913.cpp
+++ b/src/devices/cpu/h8/gt913.cpp
@@ -25,7 +25,7 @@
DEFINE_DEVICE_TYPE(GT913, gt913_device, "gt913", "Casio GT913F")
-gt913_device::gt913_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+gt913_device::gt913_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_device(mconfig, GT913, tag, owner, clock, address_map_constructor(FUNC(gt913_device::map), this)),
device_mixer_interface(mconfig, *this, 2),
m_rom(*this, DEVICE_SELF),
@@ -104,7 +104,7 @@ void gt913_device::device_add_mconfig(machine_config &config)
m_sound->add_route(0, *this, 1.0, AUTO_ALLOC_INPUT, 0);
m_sound->add_route(1, *this, 1.0, AUTO_ALLOC_INPUT, 1);
- GT913_KBD_HLE(config, m_kbd, 0);
+ GT913_KBD_HLE(config, m_kbd);
m_kbd->irq_cb().set([this] (int val)
{
if (val)
diff --git a/src/devices/cpu/h8/gt913.h b/src/devices/cpu/h8/gt913.h
index 4ba89661abb..07ea286a5aa 100644
--- a/src/devices/cpu/h8/gt913.h
+++ b/src/devices/cpu/h8/gt913.h
@@ -23,7 +23,7 @@
class gt913_device : public h8_device, public device_mixer_interface {
public:
- gt913_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ gt913_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/h8/h8.cpp b/src/devices/cpu/h8/h8.cpp
index cd40624586c..dc5e394bcc1 100644
--- a/src/devices/cpu/h8/h8.cpp
+++ b/src/devices/cpu/h8/h8.cpp
@@ -15,7 +15,7 @@
#include "h8_dtc.h"
#include "h8d.h"
-h8_device::h8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate) :
+h8_device::h8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate) :
cpu_device(mconfig, type, tag, owner, clock),
program_config("program", ENDIANNESS_BIG, 16, 16, 0, map_delegate),
io_config("io", ENDIANNESS_BIG, 16, 16, -1), PPC(0), NPC(0), PC(0), PIR(0), EXR(0), CCR(0), MAC(0), MACF(0),
diff --git a/src/devices/cpu/h8/h8.h b/src/devices/cpu/h8/h8.h
index 78ee9425142..7f744ad3709 100644
--- a/src/devices/cpu/h8/h8.h
+++ b/src/devices/cpu/h8/h8.h
@@ -87,7 +87,7 @@ protected:
EXR_I = 0x07
};
- h8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate);
+ h8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate);
// device-level overrides
virtual void device_config_complete() override;
diff --git a/src/devices/cpu/h8/h83002.cpp b/src/devices/cpu/h8/h83002.cpp
index 664134669c9..beeb917f05b 100644
--- a/src/devices/cpu/h8/h83002.cpp
+++ b/src/devices/cpu/h8/h83002.cpp
@@ -5,7 +5,7 @@
DEFINE_DEVICE_TYPE(H83002, h83002_device, "h83002", "Hitachi H8/3002")
-h83002_device::h83002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83002_device::h83002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8h_device(mconfig, H83002, tag, owner, clock, address_map_constructor(FUNC(h83002_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
diff --git a/src/devices/cpu/h8/h83002.h b/src/devices/cpu/h8/h83002.h
index 94c1d603230..dce30bd0b3d 100644
--- a/src/devices/cpu/h8/h83002.h
+++ b/src/devices/cpu/h8/h83002.h
@@ -27,7 +27,7 @@
class h83002_device : public h8h_device {
public:
- h83002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto tend0() { return tend0_cb.bind(); }
auto tend1() { return tend1_cb.bind(); }
diff --git a/src/devices/cpu/h8/h83003.cpp b/src/devices/cpu/h8/h83003.cpp
index 39829d5de12..31e60831bce 100644
--- a/src/devices/cpu/h8/h83003.cpp
+++ b/src/devices/cpu/h8/h83003.cpp
@@ -5,7 +5,7 @@
DEFINE_DEVICE_TYPE(H83003, h83003_device, "h83003", "Hitachi H8/3003")
-h83003_device::h83003_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83003_device::h83003_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8h_device(mconfig, H83003, tag, owner, clock, address_map_constructor(FUNC(h83003_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
diff --git a/src/devices/cpu/h8/h83003.h b/src/devices/cpu/h8/h83003.h
index 6c4f7cfaced..b2fc17a7eb6 100644
--- a/src/devices/cpu/h8/h83003.h
+++ b/src/devices/cpu/h8/h83003.h
@@ -27,7 +27,7 @@
class h83003_device : public h8h_device {
public:
- h83003_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83003_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto tend0() { return tend0_cb.bind(); }
auto tend1() { return tend1_cb.bind(); }
diff --git a/src/devices/cpu/h8/h83006.cpp b/src/devices/cpu/h8/h83006.cpp
index d19937e93dc..cb562bfbb87 100644
--- a/src/devices/cpu/h8/h83006.cpp
+++ b/src/devices/cpu/h8/h83006.cpp
@@ -7,7 +7,7 @@ DEFINE_DEVICE_TYPE(H83006, h83006_device, "h83006", "Hitachi H8/3006")
DEFINE_DEVICE_TYPE(H83007, h83007_device, "h83007", "Hitachi H8/3007")
-h83006_device::h83006_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start) :
+h83006_device::h83006_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start) :
h8h_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h83006_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
@@ -35,13 +35,13 @@ h83006_device::h83006_device(const machine_config &mconfig, device_type type, co
{
}
-h83006_device::h83006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83006_device::h83006_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83006_device(mconfig, H83006, tag, owner, clock, 0xff720)
{
}
-h83007_device::h83007_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83007_device::h83007_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83006_device(mconfig, H83007, tag, owner, clock, 0xfef20)
{
}
diff --git a/src/devices/cpu/h8/h83006.h b/src/devices/cpu/h8/h83006.h
index 083b91ea664..65fdc9fe211 100644
--- a/src/devices/cpu/h8/h83006.h
+++ b/src/devices/cpu/h8/h83006.h
@@ -27,7 +27,7 @@
class h83006_device : public h8h_device {
public:
- h83006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83006_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void set_mode_a20() { mode_a20 = true; }
void set_mode_a24() { mode_a20 = false; }
@@ -36,7 +36,7 @@ public:
void syscr_w(uint8_t data);
protected:
- h83006_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start);
+ h83006_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start);
required_device<h8h_intc_device> intc;
required_device<h8_adc_device> adc;
@@ -79,7 +79,7 @@ protected:
class h83007_device : public h83006_device {
public:
- h83007_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83007_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(H83006, h83006_device)
diff --git a/src/devices/cpu/h8/h83008.cpp b/src/devices/cpu/h8/h83008.cpp
index 3db7c5a71aa..2f515c22192 100644
--- a/src/devices/cpu/h8/h83008.cpp
+++ b/src/devices/cpu/h8/h83008.cpp
@@ -5,7 +5,7 @@
DEFINE_DEVICE_TYPE(H83008, h83008_device, "h83008", "Hitachi H8/3008")
-h83008_device::h83008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83008_device::h83008_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8h_device(mconfig, H83008, tag, owner, clock, address_map_constructor(FUNC(h83008_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
diff --git a/src/devices/cpu/h8/h83008.h b/src/devices/cpu/h8/h83008.h
index bb65adfcc9d..62858dfd537 100644
--- a/src/devices/cpu/h8/h83008.h
+++ b/src/devices/cpu/h8/h83008.h
@@ -27,7 +27,7 @@
class h83008_device : public h8h_device {
public:
- h83008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83008_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void set_mode_a20() { mode_a20 = true; }
void set_mode_a24() { mode_a20 = false; }
diff --git a/src/devices/cpu/h8/h83032.cpp b/src/devices/cpu/h8/h83032.cpp
index f1abc18b912..613606440b7 100644
--- a/src/devices/cpu/h8/h83032.cpp
+++ b/src/devices/cpu/h8/h83032.cpp
@@ -7,7 +7,7 @@ DEFINE_DEVICE_TYPE(H83032, h83032_device, "h83032", "Hitachi H8/3032")
DEFINE_DEVICE_TYPE(H83031, h83031_device, "h83031", "Hitachi H8/3031")
DEFINE_DEVICE_TYPE(H83030, h83030_device, "h83030", "Hitachi H8/3030")
-h83032_device::h83032_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start) :
+h83032_device::h83032_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start) :
h8h_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h83032_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
@@ -36,17 +36,17 @@ h83032_device::h83032_device(const machine_config &mconfig, device_type type, co
mode_a20 = true;
}
-h83032_device::h83032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83032_device::h83032_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83032_device(mconfig, H83032, tag, owner, clock, 0xf710)
{
}
-h83031_device::h83031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83031_device::h83031_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83032_device(mconfig, H83031, tag, owner, clock, 0xfb10)
{
}
-h83030_device::h83030_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83030_device::h83030_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83032_device(mconfig, H83030, tag, owner, clock, 0xfd10)
{
}
diff --git a/src/devices/cpu/h8/h83032.h b/src/devices/cpu/h8/h83032.h
index fd2d99593da..58d0a2170b1 100644
--- a/src/devices/cpu/h8/h83032.h
+++ b/src/devices/cpu/h8/h83032.h
@@ -29,13 +29,13 @@
class h83032_device : public h8h_device {
public:
- h83032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83032_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t syscr_r();
void syscr_w(uint8_t data);
protected:
- h83032_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start);
+ h83032_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start);
required_device<h8h_intc_device> intc;
required_device<h8_adc_device> adc;
@@ -77,12 +77,12 @@ protected:
class h83031_device : public h83032_device {
public:
- h83031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83031_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h83030_device : public h83032_device {
public:
- h83030_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83030_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(H83032, h83032_device)
diff --git a/src/devices/cpu/h8/h83042.cpp b/src/devices/cpu/h8/h83042.cpp
index 2b0631d201e..a0896f68ad5 100644
--- a/src/devices/cpu/h8/h83042.cpp
+++ b/src/devices/cpu/h8/h83042.cpp
@@ -7,7 +7,7 @@ DEFINE_DEVICE_TYPE(H83040, h83040_device, "h83040", "Hitachi H8/3040")
DEFINE_DEVICE_TYPE(H83041, h83041_device, "h83041", "Hitachi H8/3041")
DEFINE_DEVICE_TYPE(H83042, h83042_device, "h83042", "Hitachi H8/3042")
-h83042_device::h83042_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+h83042_device::h83042_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
h8h_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h83042_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
@@ -36,17 +36,17 @@ h83042_device::h83042_device(const machine_config &mconfig, device_type type, co
mode_a20 = true;
}
-h83040_device::h83040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83040_device::h83040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83042_device(mconfig, H83040, tag, owner, clock)
{
}
-h83041_device::h83041_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83041_device::h83041_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83042_device(mconfig, H83041, tag, owner, clock)
{
}
-h83042_device::h83042_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83042_device::h83042_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83042_device(mconfig, H83042, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/h8/h83042.h b/src/devices/cpu/h8/h83042.h
index 8caa5a4e690..5037d05e165 100644
--- a/src/devices/cpu/h8/h83042.h
+++ b/src/devices/cpu/h8/h83042.h
@@ -32,13 +32,13 @@
class h83042_device : public h8h_device {
public:
- h83042_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83042_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t syscr_r();
void syscr_w(uint8_t data);
protected:
- h83042_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ h83042_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
required_device<h8h_intc_device> intc;
required_device<h8_adc_device> adc;
@@ -80,12 +80,12 @@ protected:
class h83040_device : public h83042_device {
public:
- h83040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h83041_device : public h83042_device {
public:
- h83041_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83041_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(H83040, h83040_device)
diff --git a/src/devices/cpu/h8/h83048.cpp b/src/devices/cpu/h8/h83048.cpp
index 2358914e6cf..3e4372bb221 100644
--- a/src/devices/cpu/h8/h83048.cpp
+++ b/src/devices/cpu/h8/h83048.cpp
@@ -8,7 +8,7 @@ DEFINE_DEVICE_TYPE(H83045, h83045_device, "h83045", "Hitachi H8/3045")
DEFINE_DEVICE_TYPE(H83047, h83047_device, "h83047", "Hitachi H8/3047")
DEFINE_DEVICE_TYPE(H83048, h83048_device, "h83048", "Hitachi H8/3048")
-h83048_device::h83048_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start) :
+h83048_device::h83048_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start) :
h8h_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h83048_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
@@ -37,22 +37,22 @@ h83048_device::h83048_device(const machine_config &mconfig, device_type type, co
{
}
-h83048_device::h83048_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83048_device::h83048_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83048_device(mconfig, H83048, tag, owner, clock, 0xef10)
{
}
-h83044_device::h83044_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83044_device::h83044_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83048_device(mconfig, H83044, tag, owner, clock, 0xf710)
{
}
-h83045_device::h83045_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83045_device::h83045_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83048_device(mconfig, H83045, tag, owner, clock, 0xf710)
{
}
-h83047_device::h83047_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83047_device::h83047_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83048_device(mconfig, H83047, tag, owner, clock, 0xef10)
{
}
diff --git a/src/devices/cpu/h8/h83048.h b/src/devices/cpu/h8/h83048.h
index d5afb5e67c8..3df24384c6e 100644
--- a/src/devices/cpu/h8/h83048.h
+++ b/src/devices/cpu/h8/h83048.h
@@ -32,7 +32,7 @@
class h83048_device : public h8h_device {
public:
- h83048_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83048_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void set_mode_a20() { mode_a20 = true; }
void set_mode_a24() { mode_a20 = false; }
@@ -41,7 +41,7 @@ public:
void syscr_w(uint8_t data);
protected:
- h83048_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start);
+ h83048_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start);
required_device<h8h_intc_device> intc;
required_device<h8_adc_device> adc;
@@ -84,17 +84,17 @@ protected:
class h83044_device : public h83048_device {
public:
- h83044_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83044_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h83045_device : public h83048_device {
public:
- h83045_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83045_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h83047_device : public h83048_device {
public:
- h83047_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83047_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(H83044, h83044_device)
diff --git a/src/devices/cpu/h8/h83337.cpp b/src/devices/cpu/h8/h83337.cpp
index 7f9e835513c..3ed10f5ae97 100644
--- a/src/devices/cpu/h8/h83337.cpp
+++ b/src/devices/cpu/h8/h83337.cpp
@@ -8,7 +8,7 @@ DEFINE_DEVICE_TYPE(H83336, h83336_device, "h83336", "Hitachi H8/3336")
DEFINE_DEVICE_TYPE(H83337, h83337_device, "h83337", "Hitachi H8/3337")
-h83337_device::h83337_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start) :
+h83337_device::h83337_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start) :
h8_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h83337_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
@@ -33,17 +33,17 @@ h83337_device::h83337_device(const machine_config &mconfig, device_type type, co
{
}
-h83337_device::h83337_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83337_device::h83337_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83337_device(mconfig, H83337, tag, owner, clock, 0xf780)
{
}
-h83334_device::h83334_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83334_device::h83334_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83337_device(mconfig, H83334, tag, owner, clock, 0xfb80)
{
}
-h83336_device::h83336_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h83336_device::h83336_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h83337_device(mconfig, H83336, tag, owner, clock, 0xf780)
{
}
diff --git a/src/devices/cpu/h8/h83337.h b/src/devices/cpu/h8/h83337.h
index cc0d9735a34..9ed5958b47a 100644
--- a/src/devices/cpu/h8/h83337.h
+++ b/src/devices/cpu/h8/h83337.h
@@ -34,7 +34,7 @@
class h83337_device : public h8_device {
public:
- h83337_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83337_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t wscr_r();
void wscr_w(uint8_t data);
@@ -46,7 +46,7 @@ public:
void mdcr_w(uint8_t data);
protected:
- h83337_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start);
+ h83337_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start);
required_device<h8_intc_device> intc;
required_device<h8_adc_device> adc;
@@ -84,12 +84,12 @@ protected:
class h83334_device : public h83337_device {
public:
- h83334_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83334_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h83336_device : public h83337_device {
public:
- h83336_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h83336_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(H83334, h83334_device)
diff --git a/src/devices/cpu/h8/h8_adc.cpp b/src/devices/cpu/h8/h8_adc.cpp
index 3235ac8c6c8..73176384a31 100644
--- a/src/devices/cpu/h8/h8_adc.cpp
+++ b/src/devices/cpu/h8/h8_adc.cpp
@@ -15,7 +15,7 @@ DEFINE_DEVICE_TYPE(H8_ADC_2320, h8_adc_2320_device, "h8_adc_2320", "H8/2320 ADC"
DEFINE_DEVICE_TYPE(H8_ADC_2357, h8_adc_2357_device, "h8_adc_2357", "H8/2357 ADC")
DEFINE_DEVICE_TYPE(H8_ADC_2655, h8_adc_2655_device, "h8_adc_2655", "H8/2655 ADC")
-h8_adc_device::h8_adc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+h8_adc_device::h8_adc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, type, tag, owner, clock),
cpu(*this, DEVICE_SELF_OWNER),
intc(nullptr), io(nullptr), intc_tag(nullptr), intc_vector(0), adcsr(0), adcr(0), register_mask(0), trigger(0), start_mode(0), start_channel(0),
@@ -272,7 +272,7 @@ int h8_adc_device::get_channel_index(int count)
}
-h8_adc_3337_device::h8_adc_3337_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_adc_3337_device::h8_adc_3337_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_adc_device(mconfig, H8_ADC_3337, tag, owner, clock)
{
register_mask = 3;
@@ -303,7 +303,7 @@ void h8_adc_3337_device::mode_update()
}
-h8_adc_3006_device::h8_adc_3006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_adc_3006_device::h8_adc_3006_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_adc_device(mconfig, H8_ADC_3006, tag, owner, clock)
{
register_mask = 3;
@@ -334,7 +334,7 @@ void h8_adc_3006_device::mode_update()
}
-h8_adc_2245_device::h8_adc_2245_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_adc_2245_device::h8_adc_2245_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_adc_device(mconfig, H8_ADC_2245, tag, owner, clock)
{
register_mask = 3;
@@ -365,7 +365,7 @@ void h8_adc_2245_device::mode_update()
}
-h8_adc_2320_device::h8_adc_2320_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_adc_2320_device::h8_adc_2320_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_adc_device(mconfig, H8_ADC_2320, tag, owner, clock)
{
register_mask = 3;
@@ -402,7 +402,7 @@ void h8_adc_2320_device::mode_update()
}
-h8_adc_2357_device::h8_adc_2357_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_adc_2357_device::h8_adc_2357_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_adc_device(mconfig, H8_ADC_2357, tag, owner, clock)
{
register_mask = 3;
@@ -433,7 +433,7 @@ void h8_adc_2357_device::mode_update()
}
-h8_adc_2655_device::h8_adc_2655_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_adc_2655_device::h8_adc_2655_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_adc_device(mconfig, H8_ADC_2655, tag, owner, clock)
{
suspend_on_interrupt = true;
diff --git a/src/devices/cpu/h8/h8_adc.h b/src/devices/cpu/h8/h8_adc.h
index e54d3b747d9..8b4008eb4eb 100644
--- a/src/devices/cpu/h8/h8_adc.h
+++ b/src/devices/cpu/h8/h8_adc.h
@@ -33,7 +33,7 @@ public:
uint64_t internal_update(uint64_t current_time);
protected:
- h8_adc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ h8_adc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
required_device<h8_device> cpu;
h8_intc_device *intc;
@@ -93,9 +93,9 @@ protected:
class h8_adc_3337_device : public h8_adc_device {
public:
- h8_adc_3337_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_adc_3337_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_adc_3337_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc_tag, int vect)
- : h8_adc_3337_device(mconfig, tag, owner, 0)
+ : h8_adc_3337_device(mconfig, tag, owner)
{
set_info(intc_tag, vect);
}
@@ -107,9 +107,9 @@ protected:
class h8_adc_3006_device : public h8_adc_device {
public:
- h8_adc_3006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_adc_3006_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_adc_3006_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc_tag, int vect)
- : h8_adc_3006_device(mconfig, tag, owner, 0)
+ : h8_adc_3006_device(mconfig, tag, owner)
{
set_info(intc_tag, vect);
}
@@ -121,9 +121,9 @@ protected:
class h8_adc_2245_device : public h8_adc_device {
public:
- h8_adc_2245_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_adc_2245_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_adc_2245_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc_tag, int vect)
- : h8_adc_2245_device(mconfig, tag, owner, 0)
+ : h8_adc_2245_device(mconfig, tag, owner)
{
set_info(intc_tag, vect);
}
@@ -135,9 +135,9 @@ protected:
class h8_adc_2320_device : public h8_adc_device {
public:
- h8_adc_2320_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_adc_2320_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_adc_2320_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc_tag, int vect)
- : h8_adc_2320_device(mconfig, tag, owner, 0)
+ : h8_adc_2320_device(mconfig, tag, owner)
{
set_info(intc_tag, vect);
}
@@ -149,9 +149,9 @@ protected:
class h8_adc_2357_device : public h8_adc_device {
public:
- h8_adc_2357_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_adc_2357_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_adc_2357_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc_tag, int vect)
- : h8_adc_2357_device(mconfig, tag, owner, 0)
+ : h8_adc_2357_device(mconfig, tag, owner)
{
set_info(intc_tag, vect);
}
@@ -163,9 +163,9 @@ protected:
class h8_adc_2655_device : public h8_adc_device {
public:
- h8_adc_2655_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_adc_2655_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_adc_2655_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc_tag, int vect)
- : h8_adc_2655_device(mconfig, tag, owner, 0)
+ : h8_adc_2655_device(mconfig, tag, owner)
{
set_info(intc_tag, vect);
}
diff --git a/src/devices/cpu/h8/h8_dma.cpp b/src/devices/cpu/h8/h8_dma.cpp
index d70cced09f3..ba014974ec3 100644
--- a/src/devices/cpu/h8/h8_dma.cpp
+++ b/src/devices/cpu/h8/h8_dma.cpp
@@ -4,7 +4,7 @@
DEFINE_DEVICE_TYPE(H8_DMA, h8_dma_device, "h8_dma", "H8 DMA controller")
DEFINE_DEVICE_TYPE(H8_DMA_CHANNEL, h8_dma_channel_device, "h8_dma_channel", "H8 DMA channel")
-h8_dma_device::h8_dma_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_dma_device::h8_dma_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, H8_DMA, tag, owner, clock),
dmach0(*this, "0"),
dmach1(*this, "1")
@@ -118,7 +118,7 @@ void h8_dma_device::dmabcr_w(offs_t offset, uint16_t data, uint16_t mem_mask)
-h8_dma_channel_device::h8_dma_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_dma_channel_device::h8_dma_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, H8_DMA_CHANNEL, tag, owner, clock),
dmac(*this, "^"),
cpu(*this, "^^")
diff --git a/src/devices/cpu/h8/h8_dma.h b/src/devices/cpu/h8/h8_dma.h
index 4a4eeda837b..7448300f4cd 100644
--- a/src/devices/cpu/h8/h8_dma.h
+++ b/src/devices/cpu/h8/h8_dma.h
@@ -43,7 +43,7 @@ enum {
class h8_dma_device : public device_t {
public:
- h8_dma_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ h8_dma_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
uint8_t dmawer_r();
void dmawer_w(uint8_t data);
@@ -88,7 +88,7 @@ public:
MODE16_MEM_DACK
};
- h8_dma_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_dma_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_dma_channel_device(const machine_config &mconfig, const char *tag, device_t *owner,
const char *intc, int irq_base, int v0, int v1, int v2, int v3, int v4, int v5, int v6, int v7, int v8,
int v9 = h8_dma_channel_device::NONE,
@@ -98,7 +98,7 @@ public:
int vd = h8_dma_channel_device::NONE,
int ve = h8_dma_channel_device::NONE,
int vf = h8_dma_channel_device::NONE)
- : h8_dma_channel_device(mconfig, tag, owner, 0)
+ : h8_dma_channel_device(mconfig, tag, owner)
{
set_info(intc, irq_base, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, va, vb, vc, vd, ve, vf);
}
diff --git a/src/devices/cpu/h8/h8_dtc.cpp b/src/devices/cpu/h8/h8_dtc.cpp
index a2668456414..08aab92bfb7 100644
--- a/src/devices/cpu/h8/h8_dtc.cpp
+++ b/src/devices/cpu/h8/h8_dtc.cpp
@@ -24,7 +24,7 @@ const int h8_dtc_device::vector_to_enable[92] = {
-1, 40, 41, -1 // ERI2, RXI2, TXI2, TEI2
};
-h8_dtc_device::h8_dtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_dtc_device::h8_dtc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, H8_DTC, tag, owner, clock),
cpu(*this, DEVICE_SELF_OWNER)
{
diff --git a/src/devices/cpu/h8/h8_dtc.h b/src/devices/cpu/h8/h8_dtc.h
index 6b1a32b8a9b..22052b8a757 100644
--- a/src/devices/cpu/h8/h8_dtc.h
+++ b/src/devices/cpu/h8/h8_dtc.h
@@ -29,9 +29,9 @@ class h8_dtc_device : public device_t {
public:
enum { DTC_CHAINED = 1000 };
- h8_dtc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_dtc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_dtc_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc, int irq)
- : h8_dtc_device(mconfig, tag, owner, 0)
+ : h8_dtc_device(mconfig, tag, owner)
{
set_info(intc, irq);
}
diff --git a/src/devices/cpu/h8/h8_intc.cpp b/src/devices/cpu/h8/h8_intc.cpp
index f2a7b192164..465b346e604 100644
--- a/src/devices/cpu/h8/h8_intc.cpp
+++ b/src/devices/cpu/h8/h8_intc.cpp
@@ -8,7 +8,7 @@ DEFINE_DEVICE_TYPE(H8H_INTC, h8h_intc_device, "h8h_intc", "H8H interrupt c
DEFINE_DEVICE_TYPE(H8S_INTC, h8s_intc_device, "h8s_intc", "H8S interrupt controller")
DEFINE_DEVICE_TYPE(GT913_INTC, gt913_intc_device, "gt913_intc", "Casio GT913F interrupt controller")
-h8_intc_device::h8_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_intc_device::h8_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_intc_device(mconfig, H8_INTC, tag, owner, clock)
{
irq_vector_base = 4;
@@ -16,7 +16,7 @@ h8_intc_device::h8_intc_device(const machine_config &mconfig, const char *tag, d
irq_vector_nmi = 3;
}
-h8_intc_device::h8_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+h8_intc_device::h8_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, type, tag, owner, clock), irq_vector_base(0), irq_vector_count(0), irq_vector_nmi(0),
cpu(*this, DEVICE_SELF_OWNER), nmi_input(false), irq_input(0), ier(0), isr(0), iscr(0), icr_filter(0), ipr_filter(0)
{
@@ -199,7 +199,7 @@ void h8_intc_device::get_priority(int vect, int &icr_pri, int &ipr_pri) const
}
-gt913_intc_device::gt913_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+gt913_intc_device::gt913_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
gt913_intc_device(mconfig, GT913_INTC, tag, owner, clock)
{
irq_vector_base = 4;
@@ -207,7 +207,7 @@ gt913_intc_device::gt913_intc_device(const machine_config &mconfig, const char *
irq_vector_nmi = 3;
}
-gt913_intc_device::gt913_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+gt913_intc_device::gt913_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
h8_intc_device(mconfig, type, tag, owner, clock)
{
}
@@ -226,7 +226,7 @@ void gt913_intc_device::clear_interrupt(int vector)
}
-h8h_intc_device::h8h_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8h_intc_device::h8h_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8h_intc_device(mconfig, H8H_INTC, tag, owner, clock)
{
irq_vector_base = 12;
@@ -234,7 +234,7 @@ h8h_intc_device::h8h_intc_device(const machine_config &mconfig, const char *tag,
irq_vector_nmi = 7;
}
-h8h_intc_device::h8h_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+h8h_intc_device::h8h_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
h8_intc_device(mconfig, type, tag, owner, clock)
{
}
@@ -353,7 +353,7 @@ void h8h_intc_device::get_priority(int vect, int &icr_pri, int &ipr_pri) const
icr_pri = (icr >> (slot ^ 7)) & 1;
}
-h8s_intc_device::h8s_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s_intc_device::h8s_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8h_intc_device(mconfig, H8S_INTC, tag, owner, clock)
{
irq_vector_base = 16;
diff --git a/src/devices/cpu/h8/h8_intc.h b/src/devices/cpu/h8/h8_intc.h
index 43569dc3b9b..23ec3244cfa 100644
--- a/src/devices/cpu/h8/h8_intc.h
+++ b/src/devices/cpu/h8/h8_intc.h
@@ -19,7 +19,7 @@
class h8_intc_device : public device_t {
public:
- h8_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ h8_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
int interrupt_taken(int vector);
void internal_interrupt(int vector);
@@ -50,7 +50,7 @@ protected:
uint16_t iscr;
int icr_filter, ipr_filter;
- h8_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ h8_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_start() override;
virtual void device_reset() override;
@@ -63,18 +63,18 @@ protected:
class gt913_intc_device : public h8_intc_device {
public:
- gt913_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ gt913_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
void clear_interrupt(int vector);
protected:
- gt913_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ gt913_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_reset() override;
};
class h8h_intc_device : public h8_intc_device {
public:
- h8h_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ h8h_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
uint8_t isr_r();
void isr_w(uint8_t data);
@@ -92,7 +92,7 @@ protected:
uint32_t icr;
- h8h_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ h8h_intc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_start() override;
virtual void device_reset() override;
@@ -103,7 +103,7 @@ protected:
class h8s_intc_device : public h8h_intc_device {
public:
- h8s_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ h8s_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
uint8_t ipr_r(offs_t offset);
void ipr_w(offs_t offset, uint8_t data);
diff --git a/src/devices/cpu/h8/h8_port.cpp b/src/devices/cpu/h8/h8_port.cpp
index e366e0d49a5..86390382274 100644
--- a/src/devices/cpu/h8/h8_port.cpp
+++ b/src/devices/cpu/h8/h8_port.cpp
@@ -5,7 +5,7 @@
DEFINE_DEVICE_TYPE(H8_PORT, h8_port_device, "h8_digital_port", "H8 digital port")
-h8_port_device::h8_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_port_device::h8_port_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, H8_PORT, tag, owner, clock),
cpu(*this, DEVICE_SELF_OWNER), io(nullptr), address(0), default_ddr(0), ddr(0), pcr(0), odr(0), mask(0), dr(0), last_output(0)
{
diff --git a/src/devices/cpu/h8/h8_port.h b/src/devices/cpu/h8/h8_port.h
index 6c60b0c7621..45e6d387599 100644
--- a/src/devices/cpu/h8/h8_port.h
+++ b/src/devices/cpu/h8/h8_port.h
@@ -18,9 +18,9 @@
class h8_port_device : public device_t {
public:
- h8_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_port_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_port_device(const machine_config &mconfig, const char *tag, device_t *owner, int address, uint8_t default_ddr, uint8_t mask)
- : h8_port_device(mconfig, tag, owner, 0)
+ : h8_port_device(mconfig, tag, owner)
{
set_info(address, default_ddr, mask);
}
diff --git a/src/devices/cpu/h8/h8_sci.cpp b/src/devices/cpu/h8/h8_sci.cpp
index 6bc650af5c6..c7ec19d382d 100644
--- a/src/devices/cpu/h8/h8_sci.cpp
+++ b/src/devices/cpu/h8/h8_sci.cpp
@@ -15,7 +15,7 @@ DEFINE_DEVICE_TYPE(H8_SCI, h8_sci_device, "h8_sci", "H8 Serial Communications In
const char *const h8_sci_device::state_names[] = { "idle", "start", "bit", "parity", "stop", "last-tick" };
-h8_sci_device::h8_sci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_sci_device::h8_sci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, H8_SCI, tag, owner, clock),
cpu(*this, DEVICE_SELF_OWNER),
tx_cb(*this),
diff --git a/src/devices/cpu/h8/h8_sci.h b/src/devices/cpu/h8/h8_sci.h
index 8c07ffe5ec2..1c9c04b38fe 100644
--- a/src/devices/cpu/h8/h8_sci.h
+++ b/src/devices/cpu/h8/h8_sci.h
@@ -19,9 +19,9 @@
class h8_sci_device : public device_t {
public:
- h8_sci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_sci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_sci_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc, int eri, int rxi, int txi, int tei)
- : h8_sci_device(mconfig, tag, owner, 0)
+ : h8_sci_device(mconfig, tag, owner)
{
set_info(intc, eri, rxi, txi, tei);
}
diff --git a/src/devices/cpu/h8/h8_timer16.cpp b/src/devices/cpu/h8/h8_timer16.cpp
index f74acb4816f..40d0d015db4 100644
--- a/src/devices/cpu/h8/h8_timer16.cpp
+++ b/src/devices/cpu/h8/h8_timer16.cpp
@@ -13,13 +13,13 @@ DEFINE_DEVICE_TYPE(H8_TIMER16_CHANNEL, h8_timer16_channel_device, "h8_timer16_
DEFINE_DEVICE_TYPE(H8H_TIMER16_CHANNEL, h8h_timer16_channel_device, "h8h_timer16_channel", "H8H 16-bit timer channel")
DEFINE_DEVICE_TYPE(H8S_TIMER16_CHANNEL, h8s_timer16_channel_device, "h8s_timer16_channel", "H8S 16-bit timer channel")
-h8_timer16_channel_device::h8_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_timer16_channel_device::h8_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_timer16_channel_device(mconfig, H8_TIMER16_CHANNEL, tag, owner, clock)
{
chain_tag = nullptr;
}
-h8_timer16_channel_device::h8_timer16_channel_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+h8_timer16_channel_device::h8_timer16_channel_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, type, tag, owner, clock),
cpu(*this, "^^"), chained_timer(nullptr), intc(nullptr), intc_tag(nullptr), tier_mask(0), tgr_count(0), tbr_count(0), tgr_clearing(0), tcr(0), tier(0), ier(0), isr(0), clock_type(0),
clock_divider(0), tcnt(0), last_clock_update(0), event_time(0), phase(0), counter_cycle(0), counter_incrementing(false), channel_active(false)
@@ -313,7 +313,7 @@ void h8_timer16_channel_device::recalc_event(uint64_t cur_time)
cpu->internal_update();
}
-h8_timer16_device::h8_timer16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_timer16_device::h8_timer16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, H8_TIMER16, tag, owner, clock),
cpu(*this, DEVICE_SELF_OWNER)
{
@@ -519,7 +519,7 @@ uint8_t h8_timer16_channel_device::tisr_r(int offset) const
return 0x00;
}
-h8h_timer16_channel_device::h8h_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8h_timer16_channel_device::h8h_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_timer16_channel_device(mconfig, H8H_TIMER16_CHANNEL, tag, owner, clock)
{
}
@@ -617,7 +617,7 @@ void h8h_timer16_channel_device::tcr_update()
}
}
-h8s_timer16_channel_device::h8s_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s_timer16_channel_device::h8s_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_timer16_channel_device(mconfig, H8S_TIMER16_CHANNEL, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/h8/h8_timer16.h b/src/devices/cpu/h8/h8_timer16.h
index 6543b9ccb7c..a22e0a3caac 100644
--- a/src/devices/cpu/h8/h8_timer16.h
+++ b/src/devices/cpu/h8/h8_timer16.h
@@ -56,9 +56,9 @@ public:
};
- h8_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, int tgr_count, int tbr_count, const char *intc, int irq_base)
- : h8_timer16_channel_device(mconfig, tag, owner, 0)
+ : h8_timer16_channel_device(mconfig, tag, owner)
{
set_info(tgr_count, tbr_count, intc, irq_base);
}
@@ -106,7 +106,7 @@ protected:
bool counter_incrementing;
bool channel_active;
- h8_timer16_channel_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ h8_timer16_channel_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_start() override;
virtual void device_reset() override;
@@ -121,9 +121,9 @@ protected:
class h8h_timer16_channel_device : public h8_timer16_channel_device {
public:
- h8h_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8h_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8h_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, int tgr_count, int tbr_count, const char *intc, int irq_base)
- : h8h_timer16_channel_device(mconfig, tag, owner, 0)
+ : h8h_timer16_channel_device(mconfig, tag, owner)
{
set_info(tgr_count, tbr_count, intc, irq_base);
}
@@ -140,10 +140,10 @@ protected:
class h8s_timer16_channel_device : public h8_timer16_channel_device {
public:
- h8s_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8s_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, int tgr_count, int _tier_mask, const char *intc, int irq_base,
int t0, int t1, int t2, int t3, int t4, int t5, int t6, int t7)
- : h8s_timer16_channel_device(mconfig, tag, owner, 0)
+ : h8s_timer16_channel_device(mconfig, tag, owner)
{
set_info(tgr_count, _tier_mask, intc, irq_base, t0, t1, t2, t3, t4, t5, t6, t7);
}
@@ -164,9 +164,9 @@ protected:
class h8_timer16_device : public device_t {
public:
- h8_timer16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_timer16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_timer16_device(const machine_config &mconfig, const char *tag, device_t *owner, int timer_count, uint8_t default_tstr)
- : h8_timer16_device(mconfig, tag, owner, 0)
+ : h8_timer16_device(mconfig, tag, owner)
{
set_info(timer_count, default_tstr);
}
diff --git a/src/devices/cpu/h8/h8_timer8.cpp b/src/devices/cpu/h8/h8_timer8.cpp
index 352b4a7f7d9..07550cd7954 100644
--- a/src/devices/cpu/h8/h8_timer8.cpp
+++ b/src/devices/cpu/h8/h8_timer8.cpp
@@ -12,12 +12,12 @@ const int V = 1;
DEFINE_DEVICE_TYPE(H8_TIMER8_CHANNEL, h8_timer8_channel_device, "h8_timer8_channel", "H8 8-bit timer channel")
DEFINE_DEVICE_TYPE(H8H_TIMER8_CHANNEL, h8h_timer8_channel_device, "h8h_timer8_channel", "H8H 8-bit timer channel")
-h8_timer8_channel_device::h8_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_timer8_channel_device::h8_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_timer8_channel_device(mconfig, H8_TIMER8_CHANNEL, tag, owner, clock)
{
}
-h8_timer8_channel_device::h8_timer8_channel_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+h8_timer8_channel_device::h8_timer8_channel_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, type, tag, owner, clock),
cpu(*this, "^"), chained_timer(nullptr), intc(nullptr), chain_tag(nullptr), intc_tag(nullptr), irq_ca(0), irq_cb(0), irq_v(0), chain_type(0), tcr(0), tcsr(0), tcnt(0), extra_clock_bit(false),
has_adte(false), has_ice(false), clock_type(0), clock_divider(0), clear_type(0), counter_cycle(0), last_clock_update(0), event_time(0)
@@ -351,7 +351,7 @@ void h8_timer8_channel_device::timer_tick()
}
}
-h8h_timer8_channel_device::h8h_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8h_timer8_channel_device::h8h_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8_timer8_channel_device(mconfig, H8H_TIMER8_CHANNEL, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/h8/h8_timer8.h b/src/devices/cpu/h8/h8_timer8.h
index 0ba06d933ba..fa4a6c1ac33 100644
--- a/src/devices/cpu/h8/h8_timer8.h
+++ b/src/devices/cpu/h8/h8_timer8.h
@@ -29,10 +29,10 @@ public:
DIV
};
- h8_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc, int irq_ca, int irq_cb, int irq_v,
int div1, int div2, int div3, int div4, int div5, int div6)
- : h8_timer8_channel_device(mconfig, tag, owner, 0)
+ : h8_timer8_channel_device(mconfig, tag, owner)
{
set_info(intc, irq_ca, irq_cb, irq_v, div1, div2, div3, div4, div5, div6);
}
@@ -88,7 +88,7 @@ protected:
int clock_type, clock_divider, clear_type, counter_cycle;
uint64_t last_clock_update, event_time;
- h8_timer8_channel_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ h8_timer8_channel_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_start() override;
virtual void device_reset() override;
@@ -102,10 +102,10 @@ protected:
class h8h_timer8_channel_device : public h8_timer8_channel_device {
public:
- h8h_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8h_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8h_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc, int irq_ca, int irq_cb, int irq_v,
const char *chain_tag, int chain_type, bool has_adte, bool has_ice)
- : h8h_timer8_channel_device(mconfig, tag, owner, 0)
+ : h8h_timer8_channel_device(mconfig, tag, owner)
{
set_info(intc, irq_ca, irq_cb, irq_v, chain_tag, chain_type, has_adte, has_ice);
}
diff --git a/src/devices/cpu/h8/h8_watchdog.cpp b/src/devices/cpu/h8/h8_watchdog.cpp
index d3386b465fe..8770eddf4e0 100644
--- a/src/devices/cpu/h8/h8_watchdog.cpp
+++ b/src/devices/cpu/h8/h8_watchdog.cpp
@@ -6,7 +6,7 @@ DEFINE_DEVICE_TYPE(H8_WATCHDOG, h8_watchdog_device, "h8_watchdog", "H8 watchdog"
const int h8_watchdog_device::div_bh[8] = { 1, 6, 7, 9, 11, 13, 15, 17 };
const int h8_watchdog_device::div_s [8] = { 1, 5, 6, 7, 8, 9, 11, 12 };
-h8_watchdog_device::h8_watchdog_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8_watchdog_device::h8_watchdog_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, H8_WATCHDOG, tag, owner, clock),
cpu(*this, DEVICE_SELF_OWNER)
{
diff --git a/src/devices/cpu/h8/h8_watchdog.h b/src/devices/cpu/h8/h8_watchdog.h
index 1cb63025141..06d5f1b7bdf 100644
--- a/src/devices/cpu/h8/h8_watchdog.h
+++ b/src/devices/cpu/h8/h8_watchdog.h
@@ -49,9 +49,9 @@ class h8_watchdog_device : public device_t {
public:
enum { B, H, S };
- h8_watchdog_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8_watchdog_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
h8_watchdog_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc, int irq, int type)
- : h8_watchdog_device(mconfig, tag, owner, 0)
+ : h8_watchdog_device(mconfig, tag, owner)
{
set_info(intc, irq, type);
}
diff --git a/src/devices/cpu/h8/h8h.cpp b/src/devices/cpu/h8/h8h.cpp
index 21f40f77600..829c1a01244 100644
--- a/src/devices/cpu/h8/h8h.cpp
+++ b/src/devices/cpu/h8/h8h.cpp
@@ -4,7 +4,7 @@
#include "h8h.h"
#include "h8hd.h"
-h8h_device::h8h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate) :
+h8h_device::h8h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate) :
h8_device(mconfig, type, tag, owner, clock, map_delegate)
{
supports_advanced = true;
diff --git a/src/devices/cpu/h8/h8h.h b/src/devices/cpu/h8/h8h.h
index 1b0c9b4b3ce..ad9a94e4400 100644
--- a/src/devices/cpu/h8/h8h.h
+++ b/src/devices/cpu/h8/h8h.h
@@ -20,7 +20,7 @@
class h8h_device : public h8_device {
protected:
- h8h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate);
+ h8h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/h8/h8s2000.cpp b/src/devices/cpu/h8/h8s2000.cpp
index 04da92cdee3..41279505e69 100644
--- a/src/devices/cpu/h8/h8s2000.cpp
+++ b/src/devices/cpu/h8/h8s2000.cpp
@@ -4,7 +4,7 @@
#include "h8s2000.h"
#include "h8s2000d.h"
-h8s2000_device::h8s2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate) :
+h8s2000_device::h8s2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate) :
h8h_device(mconfig, type, tag, owner, clock, map_delegate)
{
has_exr = true;
diff --git a/src/devices/cpu/h8/h8s2000.h b/src/devices/cpu/h8/h8s2000.h
index 8f7721928c3..a2f79b40fb4 100644
--- a/src/devices/cpu/h8/h8s2000.h
+++ b/src/devices/cpu/h8/h8s2000.h
@@ -22,7 +22,7 @@
class h8s2000_device : public h8h_device {
protected:
- h8s2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate);
+ h8s2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/h8/h8s2245.cpp b/src/devices/cpu/h8/h8s2245.cpp
index b5101017f07..2ce4124e6cc 100644
--- a/src/devices/cpu/h8/h8s2245.cpp
+++ b/src/devices/cpu/h8/h8s2245.cpp
@@ -9,7 +9,7 @@ DEFINE_DEVICE_TYPE(H8S2245, h8s2245_device, "h8s2245", "Hitachi H8S/2245")
DEFINE_DEVICE_TYPE(H8S2246, h8s2246_device, "h8s2246", "Hitachi H8S/2246")
-h8s2245_device::h8s2245_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start) :
+h8s2245_device::h8s2245_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start) :
h8s2000_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h8s2245_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
@@ -41,22 +41,22 @@ h8s2245_device::h8s2245_device(const machine_config &mconfig, device_type type,
{
}
-h8s2245_device::h8s2245_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2245_device::h8s2245_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2245_device(mconfig, H8S2245, tag, owner, clock, 0xffec00)
{
}
-h8s2241_device::h8s2241_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2241_device::h8s2241_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2245_device(mconfig, H8S2241, tag, owner, clock, 0xffec00)
{
}
-h8s2242_device::h8s2242_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2242_device::h8s2242_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2245_device(mconfig, H8S2242, tag, owner, clock, 0xffdc00)
{
}
-h8s2246_device::h8s2246_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2246_device::h8s2246_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2245_device(mconfig, H8S2246, tag, owner, clock, 0xffdc00)
{
}
diff --git a/src/devices/cpu/h8/h8s2245.h b/src/devices/cpu/h8/h8s2245.h
index 4fca522bbc5..342d9e8e854 100644
--- a/src/devices/cpu/h8/h8s2245.h
+++ b/src/devices/cpu/h8/h8s2245.h
@@ -35,7 +35,7 @@
class h8s2245_device : public h8s2000_device {
public:
- h8s2245_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2245_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t syscr_r();
void syscr_w(uint8_t data);
@@ -73,7 +73,7 @@ protected:
uint16_t mstpcr;
uint8_t syscr;
- h8s2245_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start);
+ h8s2245_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start);
virtual bool exr_in_stack() const override;
virtual void update_irq_filter() override;
@@ -91,17 +91,17 @@ protected:
class h8s2241_device : public h8s2245_device {
public:
- h8s2241_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2241_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2242_device : public h8s2245_device {
public:
- h8s2242_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2242_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2246_device : public h8s2245_device {
public:
- h8s2246_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2246_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(H8S2241, h8s2241_device)
diff --git a/src/devices/cpu/h8/h8s2320.cpp b/src/devices/cpu/h8/h8s2320.cpp
index 14cd0e0a396..8b359fa74f0 100644
--- a/src/devices/cpu/h8/h8s2320.cpp
+++ b/src/devices/cpu/h8/h8s2320.cpp
@@ -14,7 +14,7 @@ DEFINE_DEVICE_TYPE(H8S2328, h8s2328_device, "h8s2328", "Hitachi H8S/2328")
DEFINE_DEVICE_TYPE(H8S2329, h8s2329_device, "h8s2329", "Hitachi H8S/2329")
-h8s2320_device::h8s2320_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start) :
+h8s2320_device::h8s2320_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start) :
h8s2000_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h8s2320_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
@@ -53,47 +53,47 @@ h8s2320_device::h8s2320_device(const machine_config &mconfig, device_type type,
{
}
-h8s2320_device::h8s2320_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2320_device::h8s2320_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2320_device(mconfig, H8S2320, tag, owner, clock, 0xffec00)
{
}
-h8s2321_device::h8s2321_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2321_device::h8s2321_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2320_device(mconfig, H8S2321, tag, owner, clock, 0xffec00)
{
}
-h8s2322_device::h8s2322_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2322_device::h8s2322_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2320_device(mconfig, H8S2322, tag, owner, clock, 0xffdc00)
{
}
-h8s2323_device::h8s2323_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2323_device::h8s2323_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2320_device(mconfig, H8S2323, tag, owner, clock, 0xffdc00)
{
}
-h8s2324_device::h8s2324_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2324_device::h8s2324_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2320_device(mconfig, H8S2324, tag, owner, clock, 0xff7c00)
{
}
-h8s2326_device::h8s2326_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2326_device::h8s2326_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2320_device(mconfig, H8S2326, tag, owner, clock, 0xffdc00)
{
}
-h8s2327_device::h8s2327_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2327_device::h8s2327_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2320_device(mconfig, H8S2327, tag, owner, clock, 0xffdc00)
{
}
-h8s2328_device::h8s2328_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2328_device::h8s2328_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2320_device(mconfig, H8S2328, tag, owner, clock, 0xffdc00)
{
}
-h8s2329_device::h8s2329_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2329_device::h8s2329_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2320_device(mconfig, H8S2329, tag, owner, clock, 0xff7c00)
{
}
diff --git a/src/devices/cpu/h8/h8s2320.h b/src/devices/cpu/h8/h8s2320.h
index 4ea272d283f..ef8da4a9303 100644
--- a/src/devices/cpu/h8/h8s2320.h
+++ b/src/devices/cpu/h8/h8s2320.h
@@ -41,7 +41,7 @@
class h8s2320_device : public h8s2000_device {
public:
- h8s2320_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2320_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t syscr_r();
void syscr_w(uint8_t data);
@@ -83,7 +83,7 @@ protected:
uint32_t ram_start;
uint8_t syscr;
- h8s2320_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start);
+ h8s2320_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start);
virtual bool exr_in_stack() const override;
virtual void update_irq_filter() override;
@@ -102,42 +102,42 @@ protected:
class h8s2321_device : public h8s2320_device {
public:
- h8s2321_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2321_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2322_device : public h8s2320_device {
public:
- h8s2322_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2322_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2323_device : public h8s2320_device {
public:
- h8s2323_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2323_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2324_device : public h8s2320_device {
public:
- h8s2324_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2324_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2326_device : public h8s2320_device {
public:
- h8s2326_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2326_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2327_device : public h8s2320_device {
public:
- h8s2327_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2327_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2328_device : public h8s2320_device {
public:
- h8s2328_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2328_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2329_device : public h8s2320_device {
public:
- h8s2329_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2329_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(H8S2320, h8s2320_device)
diff --git a/src/devices/cpu/h8/h8s2357.cpp b/src/devices/cpu/h8/h8s2357.cpp
index eda704291c5..2bef42912f6 100644
--- a/src/devices/cpu/h8/h8s2357.cpp
+++ b/src/devices/cpu/h8/h8s2357.cpp
@@ -10,7 +10,7 @@ DEFINE_DEVICE_TYPE(H8S2394, h8s2394_device, "h8s2394", "Hitachi H8S/2394")
DEFINE_DEVICE_TYPE(H8S2392, h8s2392_device, "h8s2392", "Hitachi H8S/2392")
DEFINE_DEVICE_TYPE(H8S2390, h8s2390_device, "h8s2390", "Hitachi H8S/2390")
-h8s2357_device::h8s2357_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start) :
+h8s2357_device::h8s2357_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start) :
h8s2000_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h8s2357_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
@@ -45,32 +45,32 @@ h8s2357_device::h8s2357_device(const machine_config &mconfig, device_type type,
{
}
-h8s2357_device::h8s2357_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2357_device::h8s2357_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2357_device(mconfig, H8S2357, tag, owner, clock, 0xffdc00)
{
}
-h8s2352_device::h8s2352_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2352_device::h8s2352_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2357_device(mconfig, H8S2352, tag, owner, clock, 0xffdc00)
{
}
-h8s2398_device::h8s2398_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2398_device::h8s2398_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2357_device(mconfig, H8S2398, tag, owner, clock, 0xffdc00)
{
}
-h8s2394_device::h8s2394_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2394_device::h8s2394_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2357_device(mconfig, H8S2394, tag, owner, clock, 0xff7c00)
{
}
-h8s2392_device::h8s2392_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2392_device::h8s2392_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2357_device(mconfig, H8S2392, tag, owner, clock, 0xffdc00)
{
}
-h8s2390_device::h8s2390_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2390_device::h8s2390_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2357_device(mconfig, H8S2390, tag, owner, clock, 0xffec00)
{
}
diff --git a/src/devices/cpu/h8/h8s2357.h b/src/devices/cpu/h8/h8s2357.h
index 3f20c062d01..cfd7f3bb8e7 100644
--- a/src/devices/cpu/h8/h8s2357.h
+++ b/src/devices/cpu/h8/h8s2357.h
@@ -36,7 +36,7 @@
class h8s2357_device : public h8s2000_device {
public:
- h8s2357_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2357_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t syscr_r();
void syscr_w(uint8_t data);
@@ -74,7 +74,7 @@ protected:
uint32_t ram_start;
unsigned char syscr;
- h8s2357_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t start);
+ h8s2357_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t start);
virtual bool exr_in_stack() const override;
virtual void update_irq_filter() override;
@@ -93,27 +93,27 @@ protected:
class h8s2352_device : public h8s2357_device {
public:
- h8s2352_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2352_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2398_device : public h8s2357_device {
public:
- h8s2398_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2398_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2394_device : public h8s2357_device {
public:
- h8s2394_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2394_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2392_device : public h8s2357_device {
public:
- h8s2392_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2392_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8s2390_device : public h8s2357_device {
public:
- h8s2390_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2390_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(H8S2357, h8s2357_device)
diff --git a/src/devices/cpu/h8/h8s2600.cpp b/src/devices/cpu/h8/h8s2600.cpp
index be04b3382df..1cc751757dd 100644
--- a/src/devices/cpu/h8/h8s2600.cpp
+++ b/src/devices/cpu/h8/h8s2600.cpp
@@ -4,7 +4,7 @@
#include "h8s2600.h"
#include "h8s2600d.h"
-h8s2600_device::h8s2600_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate) :
+h8s2600_device::h8s2600_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate) :
h8s2000_device(mconfig, type, tag, owner, clock, map_delegate)
{
has_mac = true;
diff --git a/src/devices/cpu/h8/h8s2600.h b/src/devices/cpu/h8/h8s2600.h
index 84c611dd8f7..dd323c3f85f 100644
--- a/src/devices/cpu/h8/h8s2600.h
+++ b/src/devices/cpu/h8/h8s2600.h
@@ -20,7 +20,7 @@
class h8s2600_device : public h8s2000_device {
protected:
- h8s2600_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate);
+ h8s2600_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/h8/h8s2655.cpp b/src/devices/cpu/h8/h8s2655.cpp
index eb29b29bdc3..c6dab386354 100644
--- a/src/devices/cpu/h8/h8s2655.cpp
+++ b/src/devices/cpu/h8/h8s2655.cpp
@@ -6,7 +6,7 @@
DEFINE_DEVICE_TYPE(H8S2655, h8s2655_device, "h8s2655", "Hitachi H8S/2655")
DEFINE_DEVICE_TYPE(H8S2653, h8s2653_device, "h8s2653", "Hitachi H8S/2653")
-h8s2655_device::h8s2655_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+h8s2655_device::h8s2655_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
h8s2600_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h8s2655_device::map), this)),
intc(*this, "intc"),
adc(*this, "adc"),
@@ -41,13 +41,13 @@ h8s2655_device::h8s2655_device(const machine_config &mconfig, device_type type,
has_trace = true;
}
-h8s2655_device::h8s2655_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2655_device::h8s2655_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2655_device(mconfig, H8S2655, tag, owner, clock)
{
}
-h8s2653_device::h8s2653_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+h8s2653_device::h8s2653_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
h8s2655_device(mconfig, H8S2653, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/h8/h8s2655.h b/src/devices/cpu/h8/h8s2655.h
index aa8384bce73..b8854f9d397 100644
--- a/src/devices/cpu/h8/h8s2655.h
+++ b/src/devices/cpu/h8/h8s2655.h
@@ -28,7 +28,7 @@
class h8s2655_device : public h8s2600_device {
public:
- h8s2655_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2655_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t syscr_r();
void syscr_w(uint8_t data);
@@ -65,7 +65,7 @@ protected:
uint8_t syscr;
- h8s2655_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ h8s2655_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual bool exr_in_stack() const override;
virtual void update_irq_filter() override;
@@ -84,7 +84,7 @@ protected:
class h8s2653_device : public h8s2655_device {
public:
- h8s2653_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ h8s2653_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(H8S2655, h8s2655_device)
diff --git a/src/devices/cpu/h8500/h8500.cpp b/src/devices/cpu/h8500/h8500.cpp
index b022749197c..563ab9ce214 100644
--- a/src/devices/cpu/h8500/h8500.cpp
+++ b/src/devices/cpu/h8500/h8500.cpp
@@ -12,7 +12,7 @@
#include "h8500.h"
#include "h8500dasm.h"
-h8500_device::h8500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int addrbits, int buswidth, int ramsize, int defmode, address_map_constructor map)
+h8500_device::h8500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addrbits, int buswidth, int ramsize, int defmode, address_map_constructor map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, buswidth, addrbits, 0, map)
, m_ram_config("intram", ENDIANNESS_BIG, 16, ramsize, 0, address_map_constructor(FUNC(h8500_device::ram_map), this))
diff --git a/src/devices/cpu/h8500/h8500.h b/src/devices/cpu/h8500/h8500.h
index 3755ab7a4ab..7959b872639 100644
--- a/src/devices/cpu/h8500/h8500.h
+++ b/src/devices/cpu/h8500/h8500.h
@@ -21,7 +21,7 @@ public:
void set_mode(u8 mode) { assert(!configured()); m_mode_control = mode; }
protected:
- h8500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int addrbits, int buswidth, int ramsize, int defmode, address_map_constructor map);
+ h8500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addrbits, int buswidth, int ramsize, int defmode, address_map_constructor map);
// device-level overrides
virtual void device_config_complete() override;
diff --git a/src/devices/cpu/h8500/h8510.cpp b/src/devices/cpu/h8500/h8510.cpp
index b4ade58d8d5..40aedafe93e 100644
--- a/src/devices/cpu/h8500/h8510.cpp
+++ b/src/devices/cpu/h8500/h8510.cpp
@@ -11,12 +11,12 @@
DEFINE_DEVICE_TYPE(HD6415108, hd6415108_device, "hd6415108", "Hitachi HD6415108 (H8/510)")
-h8510_device::h8510_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+h8510_device::h8510_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: h8500_device(mconfig, type, tag, owner, clock, 24, 16, 0, 4, address_map_constructor(FUNC(h8510_device::internal_map), this))
{
}
-hd6415108_device::hd6415108_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd6415108_device::hd6415108_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: h8510_device(mconfig, HD6415108, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/h8500/h8510.h b/src/devices/cpu/h8500/h8510.h
index 1cbefe87aa3..96809f0bf63 100644
--- a/src/devices/cpu/h8500/h8510.h
+++ b/src/devices/cpu/h8500/h8510.h
@@ -11,7 +11,7 @@
class h8510_device : public h8500_device
{
protected:
- h8510_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ h8510_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
private:
void internal_map(address_map &map);
@@ -21,7 +21,7 @@ class hd6415108_device : public h8510_device
{
public:
// device type constructor
- hd6415108_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd6415108_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(HD6415108, hd6415108_device)
diff --git a/src/devices/cpu/h8500/h8520.cpp b/src/devices/cpu/h8500/h8520.cpp
index 459a979da98..2298459cbcc 100644
--- a/src/devices/cpu/h8500/h8520.cpp
+++ b/src/devices/cpu/h8500/h8520.cpp
@@ -12,17 +12,17 @@
DEFINE_DEVICE_TYPE(HD6435208, hd6435208_device, "hd6435208", "Hitachi HD6435208 (H8/520)")
DEFINE_DEVICE_TYPE(HD6475208, hd6475208_device, "hd6475208", "Hitachi HD6475208 (H8/520)")
-h8520_device::h8520_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+h8520_device::h8520_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: h8500_device(mconfig, type, tag, owner, clock, 20, 8, 9, 4, address_map_constructor(FUNC(h8520_device::internal_map), this))
{
}
-hd6435208_device::hd6435208_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd6435208_device::hd6435208_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: h8520_device(mconfig, HD6435208, tag, owner, clock)
{
}
-hd6475208_device::hd6475208_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd6475208_device::hd6475208_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: h8520_device(mconfig, HD6475208, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/h8500/h8520.h b/src/devices/cpu/h8500/h8520.h
index 7f66327c796..b43d622476f 100644
--- a/src/devices/cpu/h8500/h8520.h
+++ b/src/devices/cpu/h8500/h8520.h
@@ -11,7 +11,7 @@
class h8520_device : public h8500_device
{
protected:
- h8520_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ h8520_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
private:
void internal_map(address_map &map);
@@ -21,14 +21,14 @@ class hd6435208_device : public h8520_device
{
public:
// device type constructor
- hd6435208_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd6435208_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd6475208_device : public h8520_device
{
public:
// device type constructor
- hd6475208_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd6475208_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(HD6435208, hd6435208_device)
diff --git a/src/devices/cpu/h8500/h8532.cpp b/src/devices/cpu/h8500/h8532.cpp
index 20c9869c4ee..484b09573ca 100644
--- a/src/devices/cpu/h8500/h8532.cpp
+++ b/src/devices/cpu/h8500/h8532.cpp
@@ -12,17 +12,17 @@
DEFINE_DEVICE_TYPE(HD6435328, hd6435328_device, "hd6435328", "Hitachi HD6435328 (H8/532)")
DEFINE_DEVICE_TYPE(HD6475328, hd6475328_device, "hd6475328", "Hitachi HD6475328 (H8/532)")
-h8532_device::h8532_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+h8532_device::h8532_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: h8500_device(mconfig, type, tag, owner, clock, 20, 8, 10, 4, address_map_constructor(FUNC(h8532_device::internal_map), this))
{
}
-hd6435328_device::hd6435328_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd6435328_device::hd6435328_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: h8532_device(mconfig, HD6435328, tag, owner, clock)
{
}
-hd6475328_device::hd6475328_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd6475328_device::hd6475328_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: h8532_device(mconfig, HD6475328, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/h8500/h8532.h b/src/devices/cpu/h8500/h8532.h
index 71ec652a465..6aa703bd63c 100644
--- a/src/devices/cpu/h8500/h8532.h
+++ b/src/devices/cpu/h8500/h8532.h
@@ -11,7 +11,7 @@
class h8532_device : public h8500_device
{
protected:
- h8532_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ h8532_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
private:
void internal_map(address_map &map);
@@ -21,14 +21,14 @@ class hd6435328_device : public h8532_device
{
public:
// device type constructor
- hd6435328_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd6435328_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd6475328_device : public h8532_device
{
public:
// device type constructor
- hd6475328_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd6475328_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(HD6435328, hd6435328_device)
diff --git a/src/devices/cpu/h8500/h8534.cpp b/src/devices/cpu/h8500/h8534.cpp
index 06c9b0dc24f..78e63d11f71 100644
--- a/src/devices/cpu/h8500/h8534.cpp
+++ b/src/devices/cpu/h8500/h8534.cpp
@@ -14,37 +14,37 @@ DEFINE_DEVICE_TYPE(HD6475348, hd6475348_device, "hd6475348", "Hitachi HD6475348
DEFINE_DEVICE_TYPE(HD6435368, hd6435368_device, "hd6435368", "Hitachi HD6435368 (H8/536)")
DEFINE_DEVICE_TYPE(HD6475368, hd6475368_device, "hd6475368", "Hitachi HD6475368 (H8/536)")
-h8534_device::h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map)
+h8534_device::h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map)
: h8500_device(mconfig, type, tag, owner, clock, 20, 8, 11, 4, map)
{
}
-h8534_device::h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+h8534_device::h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: h8534_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h8534_device::internal_map), this))
{
}
-hd6435348_device::hd6435348_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd6435348_device::hd6435348_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: h8534_device(mconfig, HD6435348, tag, owner, clock)
{
}
-hd6475348_device::hd6475348_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd6475348_device::hd6475348_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: h8534_device(mconfig, HD6475348, tag, owner, clock)
{
}
-h8536_device::h8536_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+h8536_device::h8536_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: h8534_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(h8536_device::internal_map), this))
{
}
-hd6435368_device::hd6435368_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd6435368_device::hd6435368_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: h8536_device(mconfig, HD6435368, tag, owner, clock)
{
}
-hd6475368_device::hd6475368_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd6475368_device::hd6475368_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: h8536_device(mconfig, HD6475368, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/h8500/h8534.h b/src/devices/cpu/h8500/h8534.h
index 2fad7985a70..c73faaf7ad9 100644
--- a/src/devices/cpu/h8500/h8534.h
+++ b/src/devices/cpu/h8500/h8534.h
@@ -12,8 +12,8 @@ class h8534_device : public h8500_device
{
protected:
// delegating constructors
- h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
- h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map);
+ h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
+ h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map);
void register_field_map(address_map &map);
@@ -25,20 +25,20 @@ class hd6435348_device : public h8534_device
{
public:
// device type constructor
- hd6435348_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd6435348_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd6475348_device : public h8534_device
{
public:
// device type constructor
- hd6475348_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd6475348_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class h8536_device : public h8534_device
{
protected:
- h8536_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ h8536_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
private:
void internal_map(address_map &map);
@@ -48,14 +48,14 @@ class hd6435368_device : public h8536_device
{
public:
// device type constructor
- hd6435368_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd6435368_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd6475368_device : public h8536_device
{
public:
// device type constructor
- hd6475368_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd6475368_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(HD6435348, hd6435348_device)
diff --git a/src/devices/cpu/hcd62121/hcd62121.cpp b/src/devices/cpu/hcd62121/hcd62121.cpp
index e05fe883d65..20ce50af3fd 100644
--- a/src/devices/cpu/hcd62121/hcd62121.cpp
+++ b/src/devices/cpu/hcd62121/hcd62121.cpp
@@ -50,7 +50,7 @@ constexpr u8 FLAG_ZH = 0x01;
DEFINE_DEVICE_TYPE(HCD62121, hcd62121_cpu_device, "hcd62121", "Hitachi HCD62121")
-hcd62121_cpu_device::hcd62121_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hcd62121_cpu_device::hcd62121_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, HCD62121, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, 24, 0)
, m_prev_pc(0)
diff --git a/src/devices/cpu/hcd62121/hcd62121.h b/src/devices/cpu/hcd62121/hcd62121.h
index d7d35a881dd..dad5bc53b2b 100644
--- a/src/devices/cpu/hcd62121/hcd62121.h
+++ b/src/devices/cpu/hcd62121/hcd62121.h
@@ -9,7 +9,7 @@ class hcd62121_cpu_device : public cpu_device
{
public:
// construction/destruction
- hcd62121_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hcd62121_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto kol_cb() { return m_kol_cb.bind(); }
auto koh_cb() { return m_koh_cb.bind(); }
diff --git a/src/devices/cpu/hd61700/hd61700.cpp b/src/devices/cpu/hd61700/hd61700.cpp
index 2241855cf1c..095cc742406 100644
--- a/src/devices/cpu/hd61700/hd61700.cpp
+++ b/src/devices/cpu/hd61700/hd61700.cpp
@@ -102,7 +102,7 @@ DEFINE_DEVICE_TYPE(HD61700, hd61700_cpu_device, "hd61700", "Hitachi HD61700")
// hd61700_cpu_device - constructor
//-------------------------------------------------
-hd61700_cpu_device::hd61700_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd61700_cpu_device::hd61700_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, HD61700, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 18, -1)
, m_ppc(0x0000)
diff --git a/src/devices/cpu/hd61700/hd61700.h b/src/devices/cpu/hd61700/hd61700.h
index 6f7ef9462ff..25d1a37f113 100644
--- a/src/devices/cpu/hd61700/hd61700.h
+++ b/src/devices/cpu/hd61700/hd61700.h
@@ -33,7 +33,7 @@ class hd61700_cpu_device : public cpu_device
{
public:
// construction/destruction
- hd61700_cpu_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock);
+ hd61700_cpu_device(const machine_config &mconfig, const char *_tag, device_t *_owner, const XTAL &_clock);
auto lcd_ctrl() { return m_lcd_ctrl_cb.bind(); }
auto lcd_write() { return m_lcd_write_cb.bind(); }
diff --git a/src/devices/cpu/hmcs40/hmcs40.cpp b/src/devices/cpu/hmcs40/hmcs40.cpp
index 841e37e1558..1c2f1a29b01 100644
--- a/src/devices/cpu/hmcs40/hmcs40.cpp
+++ b/src/devices/cpu/hmcs40/hmcs40.cpp
@@ -93,7 +93,7 @@ void hmcs40_cpu_device::data_160x4(address_map &map)
// device definitions
-hmcs40_cpu_device::hmcs40_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int family, u16 polarity, int stack_levels, int pcwidth, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data)
+hmcs40_cpu_device::hmcs40_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int family, u16 polarity, int stack_levels, int pcwidth, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, prgwidth, -1, program)
, m_data_config("data", ENDIANNESS_LITTLE, 8, datawidth, 0, data)
@@ -110,56 +110,56 @@ hmcs40_cpu_device::hmcs40_cpu_device(const machine_config &mconfig, device_type
{
}
-hmcs43_cpu_device::hmcs43_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 polarity)
+hmcs43_cpu_device::hmcs43_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 polarity)
: hmcs40_cpu_device(mconfig, type, tag, owner, clock, HMCS40_FAMILY_HMCS43, polarity, 3 /* stack levels */, 10 /* pc width */, 11 /* prg width */, address_map_constructor(FUNC(hmcs43_cpu_device::program_1k), this), 7 /* data width */, address_map_constructor(FUNC(hmcs43_cpu_device::data_80x4), this))
{ }
-hd38750_device::hd38750_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd38750_device::hd38750_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs43_cpu_device(mconfig, HD38750, tag, owner, clock, IS_PMOS)
{ }
-hd38755_device::hd38755_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd38755_device::hd38755_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs43_cpu_device(mconfig, HD38755, tag, owner, clock, IS_PMOS)
{ }
-hd44750_device::hd44750_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd44750_device::hd44750_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs43_cpu_device(mconfig, HD44750, tag, owner, clock, IS_CMOS)
{ }
-hd44758_device::hd44758_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd44758_device::hd44758_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs43_cpu_device(mconfig, HD44758, tag, owner, clock, IS_CMOS)
{ }
-hmcs44_cpu_device::hmcs44_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 polarity)
+hmcs44_cpu_device::hmcs44_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 polarity)
: hmcs40_cpu_device(mconfig, type, tag, owner, clock, HMCS40_FAMILY_HMCS44, polarity, 4, 11, 12, address_map_constructor(FUNC(hmcs44_cpu_device::program_2k), this), 8, address_map_constructor(FUNC(hmcs44_cpu_device::data_160x4), this))
{ }
-hd38800_device::hd38800_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd38800_device::hd38800_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs44_cpu_device(mconfig, HD38800, tag, owner, clock, IS_PMOS)
{ }
-hd38805_device::hd38805_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd38805_device::hd38805_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs44_cpu_device(mconfig, HD38805, tag, owner, clock, IS_PMOS)
{ }
-hd44801_device::hd44801_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd44801_device::hd44801_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs44_cpu_device(mconfig, HD44801, tag, owner, clock, IS_CMOS)
{ }
-hd44808_device::hd44808_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd44808_device::hd44808_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs44_cpu_device(mconfig, HD44808, tag, owner, clock, IS_CMOS)
{ }
-hmcs45_cpu_device::hmcs45_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 polarity)
+hmcs45_cpu_device::hmcs45_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 polarity)
: hmcs40_cpu_device(mconfig, type, tag, owner, clock, HMCS40_FAMILY_HMCS45, polarity, 4, 11, 12, address_map_constructor(FUNC(hmcs45_cpu_device::program_2k), this), 8, address_map_constructor(FUNC(hmcs45_cpu_device::data_160x4), this))
{ }
-hd38820_device::hd38820_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd38820_device::hd38820_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs45_cpu_device(mconfig, HD38820, tag, owner, clock, IS_PMOS)
{ }
-hd38825_device::hd38825_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd38825_device::hd38825_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs45_cpu_device(mconfig, HD38825, tag, owner, clock, IS_PMOS)
{ }
-hd44820_device::hd44820_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd44820_device::hd44820_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs45_cpu_device(mconfig, HD44820, tag, owner, clock, IS_CMOS)
{ }
-hd44828_device::hd44828_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hd44828_device::hd44828_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hmcs45_cpu_device(mconfig, HD44828, tag, owner, clock, IS_CMOS)
{ }
diff --git a/src/devices/cpu/hmcs40/hmcs40.h b/src/devices/cpu/hmcs40/hmcs40.h
index 0738eab209a..ac0ae2f75c0 100644
--- a/src/devices/cpu/hmcs40/hmcs40.h
+++ b/src/devices/cpu/hmcs40/hmcs40.h
@@ -101,7 +101,7 @@ protected:
};
// construction/destruction
- hmcs40_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int family, u16 polarity, int stack_levels, int pcwidth, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ hmcs40_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int family, u16 polarity, int stack_levels, int pcwidth, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device-level overrides
virtual void device_start() override;
@@ -302,7 +302,7 @@ protected:
class hmcs43_cpu_device : public hmcs40_cpu_device
{
protected:
- hmcs43_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 polarity);
+ hmcs43_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 polarity);
// overrides
virtual u8 read_r(int index) override;
@@ -313,32 +313,32 @@ protected:
class hd38750_device : public hmcs43_cpu_device
{
public:
- hd38750_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd38750_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd38755_device : public hmcs43_cpu_device
{
public:
- hd38755_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd38755_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd44750_device : public hmcs43_cpu_device
{
public:
- hd44750_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd44750_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd44758_device : public hmcs43_cpu_device
{
public:
- hd44758_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd44758_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hmcs44_cpu_device : public hmcs40_cpu_device
{
protected:
- hmcs44_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 polarity);
+ hmcs44_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 polarity);
// overrides
virtual u8 read_r(int index) override;
@@ -348,32 +348,32 @@ protected:
class hd38800_device : public hmcs44_cpu_device
{
public:
- hd38800_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd38800_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd38805_device : public hmcs44_cpu_device
{
public:
- hd38805_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd38805_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd44801_device : public hmcs44_cpu_device
{
public:
- hd44801_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd44801_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd44808_device : public hmcs44_cpu_device
{
public:
- hd44808_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd44808_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hmcs45_cpu_device : public hmcs40_cpu_device
{
protected:
- hmcs45_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 polarity);
+ hmcs45_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 polarity);
// overrides
virtual u8 read_r(int index) override;
@@ -383,25 +383,25 @@ protected:
class hd38820_device : public hmcs45_cpu_device
{
public:
- hd38820_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd38820_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd38825_device : public hmcs45_cpu_device
{
public:
- hd38825_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd38825_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd44820_device : public hmcs45_cpu_device
{
public:
- hd44820_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd44820_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd44828_device : public hmcs45_cpu_device
{
public:
- hd44828_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hd44828_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/hpc/hpc.cpp b/src/devices/cpu/hpc/hpc.cpp
index 399ca9164af..60de068da6b 100644
--- a/src/devices/cpu/hpc/hpc.cpp
+++ b/src/devices/cpu/hpc/hpc.cpp
@@ -65,7 +65,7 @@ std::unique_ptr<util::disasm_interface> hpc46104_device::create_disassembler()
}
-hpc_device::hpc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map)
+hpc_device::hpc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 16, 0, map)
, m_program(nullptr)
@@ -75,12 +75,12 @@ hpc_device::hpc_device(const machine_config &mconfig, device_type type, const ch
{
}
-hpc46003_device::hpc46003_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hpc46003_device::hpc46003_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hpc_device(mconfig, HPC46003, tag, owner, clock, address_map_constructor(FUNC(hpc46003_device::internal_map), this))
{
}
-hpc46104_device::hpc46104_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+hpc46104_device::hpc46104_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hpc_device(mconfig, HPC46104, tag, owner, clock, address_map_constructor(FUNC(hpc46104_device::internal_map), this))
{
}
diff --git a/src/devices/cpu/hpc/hpc.h b/src/devices/cpu/hpc/hpc.h
index 5f73a0ee2e6..685bae90c61 100644
--- a/src/devices/cpu/hpc/hpc.h
+++ b/src/devices/cpu/hpc/hpc.h
@@ -22,7 +22,7 @@ public:
protected:
// construction/destruction
- hpc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map);
+ hpc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map);
// device-level overrides
virtual void device_start() override;
@@ -56,7 +56,7 @@ class hpc46003_device : public hpc_device
{
public:
// construction/destruction
- hpc46003_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hpc46003_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
@@ -70,7 +70,7 @@ class hpc46104_device : public hpc_device
{
public:
// construction/destruction
- hpc46104_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hpc46104_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
diff --git a/src/devices/cpu/hphybrid/hphybrid.cpp b/src/devices/cpu/hphybrid/hphybrid.cpp
index a4eb434167a..eedfcee51bb 100644
--- a/src/devices/cpu/hphybrid/hphybrid.cpp
+++ b/src/devices/cpu/hphybrid/hphybrid.cpp
@@ -166,7 +166,7 @@ WRITE_LINE_MEMBER(hp_hybrid_cpu_device::flag_w)
BIT_CLR(m_flags, HPHYBRID_FLG_BIT);
}
-hp_hybrid_cpu_device::hp_hybrid_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t addrwidth)
+hp_hybrid_cpu_device::hp_hybrid_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t addrwidth)
: cpu_device(mconfig, type, tag, owner, clock)
, m_pa_changed_func(*this)
, m_opcode_func(*this)
@@ -1525,12 +1525,12 @@ void hp_hybrid_cpu_device::do_mpy()
// ********************************************************************************
// hp_5061_3011_cpu_device
// ********************************************************************************
-hp_5061_3011_cpu_device::hp_5061_3011_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hp_5061_3011_cpu_device::hp_5061_3011_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hp_hybrid_cpu_device(mconfig, HP_5061_3011, tag, owner, clock, 16)
{
}
-hp_5061_3011_cpu_device::hp_5061_3011_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t addrwidth)
+hp_5061_3011_cpu_device::hp_5061_3011_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t addrwidth)
: hp_hybrid_cpu_device(mconfig, type, tag, owner, clock, addrwidth)
{
}
@@ -1728,7 +1728,7 @@ std::unique_ptr<util::disasm_interface> hp_5061_3011_cpu_device::create_disassem
// ********************************************************************************
// hp_5061_3001_cpu_device
// ********************************************************************************
-hp_5061_3001_cpu_device::hp_5061_3001_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hp_5061_3001_cpu_device::hp_5061_3001_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hp_5061_3011_cpu_device(mconfig, HP_5061_3001, tag, owner, clock, 22)
{
}
@@ -1922,7 +1922,7 @@ void hp_5061_3001_cpu_device::enter_isr()
// ********************************************************************************
// hp_09825_67907_cpu_device
// ********************************************************************************
-hp_09825_67907_cpu_device::hp_09825_67907_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hp_09825_67907_cpu_device::hp_09825_67907_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hp_hybrid_cpu_device(mconfig , HP_09825_67907 , tag , owner , clock , 15)
{
}
diff --git a/src/devices/cpu/hphybrid/hphybrid.h b/src/devices/cpu/hphybrid/hphybrid.h
index 3864282245d..041e4b8e06f 100644
--- a/src/devices/cpu/hphybrid/hphybrid.h
+++ b/src/devices/cpu/hphybrid/hphybrid.h
@@ -95,7 +95,7 @@ public:
template <typename... T> void set_int_cb(T &&... args) { m_int_func.set(std::forward<T>(args)...); }
protected:
- hp_hybrid_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t addrwidth);
+ hp_hybrid_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t addrwidth);
// device-level overrides
virtual void device_start() override;
@@ -230,10 +230,10 @@ private:
class hp_5061_3011_cpu_device : public hp_hybrid_cpu_device
{
public:
- hp_5061_3011_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hp_5061_3011_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- hp_5061_3011_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint8_t addrwidth);
+ hp_5061_3011_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint8_t addrwidth);
// TODO: fix
virtual uint32_t execute_max_cycles() const noexcept override { return 25; }
virtual bool execute_no_bpc(uint16_t opcode , uint16_t& next_pc) override;
@@ -248,7 +248,7 @@ protected:
class hp_5061_3001_cpu_device : public hp_5061_3011_cpu_device
{
public:
- hp_5061_3001_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hp_5061_3001_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// Set boot mode of 5061-3001: either normal (false) or as in HP9845 system (true)
void set_9845_boot_mode(bool mode) { m_boot_mode = mode; }
@@ -275,7 +275,7 @@ private:
class hp_09825_67907_cpu_device : public hp_hybrid_cpu_device
{
public:
- hp_09825_67907_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hp_09825_67907_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/i386/athlon.cpp b/src/devices/cpu/i386/athlon.cpp
index dddfa80fa35..692f0e4d1d1 100644
--- a/src/devices/cpu/i386/athlon.cpp
+++ b/src/devices/cpu/i386/athlon.cpp
@@ -7,7 +7,7 @@
DEFINE_DEVICE_TYPE(ATHLONXP, athlonxp_device, "athlonxp", "Amd Athlon XP")
-athlonxp_device::athlonxp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+athlonxp_device::athlonxp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pentium_device(mconfig, ATHLONXP, tag, owner, clock)
, m_data_config("mmio", ENDIANNESS_LITTLE, 32, 32, 0, 32, 12)
, m_opcodes_config("debugger", ENDIANNESS_LITTLE, 32, 32, 0, 32, 12)
diff --git a/src/devices/cpu/i386/athlon.h b/src/devices/cpu/i386/athlon.h
index 69cc6d84794..9c41b90cd2a 100644
--- a/src/devices/cpu/i386/athlon.h
+++ b/src/devices/cpu/i386/athlon.h
@@ -13,7 +13,7 @@ class athlonxp_device : public pentium_device
{
public:
// construction/destruction
- athlonxp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ athlonxp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void opcode_cpuid() override;
diff --git a/src/devices/cpu/i386/i386.cpp b/src/devices/cpu/i386/i386.cpp
index 152691db3c3..81765619596 100644
--- a/src/devices/cpu/i386/i386.cpp
+++ b/src/devices/cpu/i386/i386.cpp
@@ -44,13 +44,13 @@ DEFINE_DEVICE_TYPE(PENTIUM3, pentium3_device, "pentium3", "Intel Pentiu
DEFINE_DEVICE_TYPE(PENTIUM4, pentium4_device, "pentium4", "Intel Pentium 4")
-i386_device::i386_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i386_device::i386_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i386_device(mconfig, I386, tag, owner, clock, 32, 32, 32)
{
}
-i386_device::i386_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_data_width, int program_addr_width, int io_data_width)
+i386_device::i386_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_data_width, int program_addr_width, int io_data_width)
: cpu_device(mconfig, type, tag, owner, clock)
, device_vtlb_interface(mconfig, *this, AS_PROGRAM)
, m_program_config("program", ENDIANNESS_LITTLE, program_data_width, program_addr_width, 0, 32, 12)
@@ -62,75 +62,75 @@ i386_device::i386_device(const machine_config &mconfig, device_type type, const
set_vtlb_dynamic_entries(32);
}
-i386sx_device::i386sx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i386sx_device::i386sx_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i386_device(mconfig, I386SX, tag, owner, clock, 16, 24, 16)
{
}
-i486_device::i486_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i486_device::i486_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i486_device(mconfig, I486, tag, owner, clock)
{
}
-i486_device::i486_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+i486_device::i486_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: i386_device(mconfig, type, tag, owner, clock, 32, 32, 32)
{
}
-i486dx4_device::i486dx4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i486dx4_device::i486dx4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i486_device(mconfig, I486DX4, tag, owner, clock)
{
}
-pentium_device::pentium_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pentium_device::pentium_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pentium_device(mconfig, PENTIUM, tag, owner, clock)
{
}
-pentium_device::pentium_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+pentium_device::pentium_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: i386_device(mconfig, type, tag, owner, clock, 32, 32, 32)
{
// 64 dtlb small, 8 dtlb large, 32 itlb
set_vtlb_dynamic_entries(96);
}
-mediagx_device::mediagx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mediagx_device::mediagx_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i386_device(mconfig, MEDIAGX, tag, owner, clock, 32, 32, 32)
{
}
-pentium_pro_device::pentium_pro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pentium_pro_device::pentium_pro_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pentium_pro_device(mconfig, PENTIUM_PRO, tag, owner, clock)
{
}
-pentium_pro_device::pentium_pro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+pentium_pro_device::pentium_pro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: pentium_device(mconfig, type, tag, owner, clock)
{
}
-pentium_mmx_device::pentium_mmx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pentium_mmx_device::pentium_mmx_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pentium_device(mconfig, PENTIUM_MMX, tag, owner, clock)
{
// 64 dtlb small, 8 dtlb large, 32 itlb small, 2 itlb large
set_vtlb_dynamic_entries(96);
}
-pentium2_device::pentium2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pentium2_device::pentium2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pentium_pro_device(mconfig, PENTIUM2, tag, owner, clock)
{
// 64 dtlb small, 8 dtlb large, 32 itlb small, 2 itlb large
set_vtlb_dynamic_entries(96);
}
-pentium3_device::pentium3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pentium3_device::pentium3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pentium_pro_device(mconfig, PENTIUM3, tag, owner, clock)
{
// 64 dtlb small, 8 dtlb large, 32 itlb small, 2 itlb large
set_vtlb_dynamic_entries(96);
}
-pentium4_device::pentium4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pentium4_device::pentium4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pentium_device(mconfig, PENTIUM4, tag, owner, clock)
{
// 128 dtlb, 64 itlb
diff --git a/src/devices/cpu/i386/i386.h b/src/devices/cpu/i386/i386.h
index 60bf5b59b8d..6bb28ee9ff1 100644
--- a/src/devices/cpu/i386/i386.h
+++ b/src/devices/cpu/i386/i386.h
@@ -29,7 +29,7 @@ class i386_device : public cpu_device, public device_vtlb_interface, public i386
{
public:
// construction/destruction
- i386_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i386_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto smiact() { return m_smiact.bind(); }
@@ -42,7 +42,7 @@ public:
uint64_t debug_cacheflush(int params, const uint64_t *param);
protected:
- i386_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_data_width, int program_addr_width, int io_data_width);
+ i386_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_data_width, int program_addr_width, int io_data_width);
// device-level overrides
virtual void device_start() override;
@@ -1528,7 +1528,7 @@ class i386sx_device : public i386_device
{
public:
// construction/destruction
- i386sx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i386sx_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual u8 mem_pr8(offs_t address) override { return macache16.read_byte(address); }
@@ -1551,10 +1551,10 @@ class i486_device : public i386_device
{
public:
// construction/destruction
- i486_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i486_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- i486_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ i486_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_start() override;
virtual void device_reset() override;
@@ -1564,7 +1564,7 @@ class i486dx4_device : public i486_device
{
public:
// construction/destruction
- i486dx4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i486dx4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_reset() override;
@@ -1575,10 +1575,10 @@ class pentium_device : public i386_device
{
public:
// construction/destruction
- pentium_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pentium_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- pentium_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ pentium_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual bool execute_input_edge_triggered(int inputnum) const noexcept override { return inputnum == INPUT_LINE_NMI || inputnum == INPUT_LINE_SMI; }
virtual void execute_set_input(int inputnum, int state) override;
@@ -1593,7 +1593,7 @@ class pentium_mmx_device : public pentium_device
{
public:
// construction/destruction
- pentium_mmx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pentium_mmx_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -1605,7 +1605,7 @@ class mediagx_device : public i386_device
{
public:
// construction/destruction
- mediagx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mediagx_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -1617,10 +1617,10 @@ class pentium_pro_device : public pentium_device
{
public:
// construction/destruction
- pentium_pro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pentium_pro_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- pentium_pro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ pentium_pro_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual uint64_t opcode_rdmsr(bool &valid_msr) override;
virtual void opcode_wrmsr(uint64_t data, bool &valid_msr) override;
@@ -1633,7 +1633,7 @@ class pentium2_device : public pentium_pro_device
{
public:
// construction/destruction
- pentium2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pentium2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -1645,7 +1645,7 @@ class pentium3_device : public pentium_pro_device
{
public:
// construction/destruction
- pentium3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pentium3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -1659,7 +1659,7 @@ class pentium4_device : public pentium_device
{
public:
// construction/destruction
- pentium4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pentium4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual uint64_t opcode_rdmsr(bool &valid_msr) override;
diff --git a/src/devices/cpu/i8008/i8008.cpp b/src/devices/cpu/i8008/i8008.cpp
index c404508560b..9ada7fd875b 100644
--- a/src/devices/cpu/i8008/i8008.cpp
+++ b/src/devices/cpu/i8008/i8008.cpp
@@ -33,7 +33,7 @@ DEFINE_DEVICE_TYPE(I8008, i8008_device, "i8008", "Intel 8008")
//-------------------------------------------------
// i8008_device - constructor
//-------------------------------------------------
-i8008_device::i8008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8008_device::i8008_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, I8008, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 14)
, m_io_config("io", ENDIANNESS_LITTLE, 8, 16)
diff --git a/src/devices/cpu/i8008/i8008.h b/src/devices/cpu/i8008/i8008.h
index 5b7882f7958..a10d9cf882d 100644
--- a/src/devices/cpu/i8008/i8008.h
+++ b/src/devices/cpu/i8008/i8008.h
@@ -14,7 +14,7 @@ class i8008_device : public cpu_device
{
public:
// construction/destruction
- i8008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8008_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
enum
diff --git a/src/devices/cpu/i8085/i8085.cpp b/src/devices/cpu/i8085/i8085.cpp
index 9dc530c0567..646f0471032 100644
--- a/src/devices/cpu/i8085/i8085.cpp
+++ b/src/devices/cpu/i8085/i8085.cpp
@@ -201,12 +201,12 @@ DEFINE_DEVICE_TYPE(I8080A, i8080a_cpu_device, "i8080a", "Intel 8080A")
DEFINE_DEVICE_TYPE(I8085A, i8085a_cpu_device, "i8085a", "Intel 8085A")
-i8085a_cpu_device::i8085a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+i8085a_cpu_device::i8085a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8085a_cpu_device(mconfig, I8085A, tag, owner, clock, CPUTYPE_8085A)
{
}
-i8085a_cpu_device::i8085a_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int cputype)
+i8085a_cpu_device::i8085a_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int cputype)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0)
, m_io_config("io", ENDIANNESS_LITTLE, 8, 8, 0)
@@ -221,12 +221,12 @@ i8085a_cpu_device::i8085a_cpu_device(const machine_config &mconfig, device_type
{
}
-i8080_cpu_device::i8080_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+i8080_cpu_device::i8080_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8085a_cpu_device(mconfig, I8080, tag, owner, clock, CPUTYPE_8080)
{
}
-i8080a_cpu_device::i8080a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+i8080a_cpu_device::i8080a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8085a_cpu_device(mconfig, I8080A, tag, owner, clock, CPUTYPE_8080A)
{
}
diff --git a/src/devices/cpu/i8085/i8085.h b/src/devices/cpu/i8085/i8085.h
index 5378a712e5e..66186946a40 100644
--- a/src/devices/cpu/i8085/i8085.h
+++ b/src/devices/cpu/i8085/i8085.h
@@ -40,7 +40,7 @@ public:
static constexpr u8 STATUS_MEMR = 0x80;
// construction/destruction
- i8085a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ i8085a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// CLK rate callback (8085A only)
template <typename... T> void set_clk_out(T &&... args) { m_clk_out_func.set(std::forward<T>(args)...); }
@@ -61,7 +61,7 @@ public:
auto out_sod_func() { return m_out_sod_func.bind(); }
protected:
- i8085a_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int cputype);
+ i8085a_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int cputype);
// device-level overrides
virtual void device_config_complete() override;
@@ -181,7 +181,7 @@ class i8080_cpu_device : public i8085a_cpu_device
{
public:
// construction/destruction
- i8080_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ i8080_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual u32 execute_input_lines() const noexcept override { return 1; }
@@ -194,7 +194,7 @@ class i8080a_cpu_device : public i8085a_cpu_device
{
public:
// construction/destruction
- i8080a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ i8080a_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual u32 execute_input_lines() const noexcept override { return 1; }
diff --git a/src/devices/cpu/i8089/i8089.cpp b/src/devices/cpu/i8089/i8089.cpp
index 7cc3420a619..3a9d3915536 100644
--- a/src/devices/cpu/i8089/i8089.cpp
+++ b/src/devices/cpu/i8089/i8089.cpp
@@ -34,7 +34,7 @@ DEFINE_DEVICE_TYPE(I8089, i8089_device, "i8089", "Intel 8089 I/O Processor")
// i8089_device - constructor
//-------------------------------------------------
-i8089_device::i8089_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+i8089_device::i8089_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
cpu_device(mconfig, I8089, tag, owner, clock),
m_icount(0),
m_ch1(*this, "1"),
@@ -210,8 +210,8 @@ void i8089_device::state_string_export(const device_state_entry &entry, std::str
void i8089_device::device_add_mconfig(machine_config &config)
{
- I8089_CHANNEL(config, m_ch1, 0).sintr().set(FUNC(i8089_device::ch1_sintr_w));
- I8089_CHANNEL(config, m_ch2, 0).sintr().set(FUNC(i8089_device::ch2_sintr_w));
+ I8089_CHANNEL(config, m_ch1).sintr().set(FUNC(i8089_device::ch1_sintr_w));
+ I8089_CHANNEL(config, m_ch2).sintr().set(FUNC(i8089_device::ch2_sintr_w));
}
diff --git a/src/devices/cpu/i8089/i8089.h b/src/devices/cpu/i8089/i8089.h
index 19f81136336..36068c8c4e7 100644
--- a/src/devices/cpu/i8089/i8089.h
+++ b/src/devices/cpu/i8089/i8089.h
@@ -11,20 +11,12 @@
#pragma once
-#ifdef _MSC_VER
-// MSVC seems to want to actually instantiate templates when it gets an extern template declaration, effectively defeating the purpose of extern template declatations altogether
-// In this case it causes a problem because the required_device template can't be instantiated for the incomplete i8089_channel_device type
#include "i8089_channel.h"
-#endif
-
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-// forward declaration
-class i8089_channel_device;
-
// ======================> i8089_device
class i8089_device : public cpu_device
@@ -33,7 +25,7 @@ class i8089_device : public cpu_device
public:
// construction/destruction
- i8089_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8089_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// callbacks
auto sintr1() { return m_write_sintr1.bind(); }
diff --git a/src/devices/cpu/i8089/i8089_channel.cpp b/src/devices/cpu/i8089/i8089_channel.cpp
index d13606a1ca5..fd88674fb86 100644
--- a/src/devices/cpu/i8089/i8089_channel.cpp
+++ b/src/devices/cpu/i8089/i8089_channel.cpp
@@ -49,7 +49,7 @@ DEFINE_DEVICE_TYPE(I8089_CHANNEL, i8089_channel_device, "i8089_channel", "Intel
// i8089_channel_device - constructor
//-------------------------------------------------
-i8089_channel_device::i8089_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+i8089_channel_device::i8089_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, I8089_CHANNEL, tag, owner, clock),
m_write_sintr(*this),
m_iop(nullptr),
diff --git a/src/devices/cpu/i8089/i8089_channel.h b/src/devices/cpu/i8089/i8089_channel.h
index 89aa511193b..c7d7d8aeac4 100644
--- a/src/devices/cpu/i8089/i8089_channel.h
+++ b/src/devices/cpu/i8089/i8089_channel.h
@@ -25,7 +25,7 @@ class i8089_channel_device : public device_t
{
public:
// construction/destruction
- i8089_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8089_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto sintr() { return m_write_sintr.bind(); }
diff --git a/src/devices/cpu/i86/i186.cpp b/src/devices/cpu/i86/i186.cpp
index 2847607a278..77465ea053c 100644
--- a/src/devices/cpu/i86/i186.cpp
+++ b/src/devices/cpu/i86/i186.cpp
@@ -133,27 +133,27 @@ DEFINE_DEVICE_TYPE(I80188, i80188_cpu_device, "i80188", "Intel 80188")
DEFINE_DEVICE_TYPE(AM186EM, am186em_device, "am186em", "AMD Am186EM")
DEFINE_DEVICE_TYPE(AM188EM, am188em_device, "am188em", "AMD Am188EM")
-i80186_cpu_device::i80186_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i80186_cpu_device::i80186_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80186_cpu_device(mconfig, I80186, tag, owner, clock, 16)
{
}
-i80188_cpu_device::i80188_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i80188_cpu_device::i80188_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80186_cpu_device(mconfig, I80188, tag, owner, clock, 8)
{
}
-am186em_device::am186em_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+am186em_device::am186em_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80186_cpu_device(mconfig, AM186EM, tag, owner, clock, 16)
{
}
-am188em_device::am188em_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+am188em_device::am188em_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80186_cpu_device(mconfig, AM188EM, tag, owner, clock, 8)
{
}
-i80186_cpu_device::i80186_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int data_bus_size)
+i80186_cpu_device::i80186_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int data_bus_size)
: i8086_common_cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, data_bus_size, 20, 0)
, m_opcodes_config("opcodes", ENDIANNESS_LITTLE, data_bus_size, 20, 0)
diff --git a/src/devices/cpu/i86/i186.h b/src/devices/cpu/i86/i186.h
index f1b8c4633ea..8dda202b4bc 100644
--- a/src/devices/cpu/i86/i186.h
+++ b/src/devices/cpu/i86/i186.h
@@ -16,7 +16,7 @@ class i80186_cpu_device : public i8086_common_cpu_device
{
public:
// construction/destruction
- i80186_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i80186_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto read_slave_ack_callback() { return m_read_slave_ack_func.bind(); }
auto chip_select_callback() { return m_out_chip_select_func.bind(); }
@@ -60,7 +60,7 @@ protected:
I80186_POLLSTS
};
- i80186_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int data_bus_size);
+ i80186_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int data_bus_size);
// device_execute_interface overrides
virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks / 2); }
@@ -168,14 +168,14 @@ class i80188_cpu_device : public i80186_cpu_device
{
public:
// construction/destruction
- i80188_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i80188_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class am186em_device : public i80186_cpu_device
{
public:
// construction/destruction
- am186em_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ am186em_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_execute_interface overrides
@@ -187,7 +187,7 @@ class am188em_device : public i80186_cpu_device
{
public:
// construction/destruction
- am188em_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ am188em_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_execute_interface overrides
diff --git a/src/devices/cpu/i86/i286.cpp b/src/devices/cpu/i86/i286.cpp
index 2d2f2d1b650..d56b4f99895 100644
--- a/src/devices/cpu/i86/i286.cpp
+++ b/src/devices/cpu/i86/i286.cpp
@@ -166,7 +166,7 @@ const uint8_t i80286_cpu_device::m_i80286_timing[] =
DEFINE_DEVICE_TYPE(I80286, i80286_cpu_device, "i80286", "Intel 80286")
-i80286_cpu_device::i80286_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i80286_cpu_device::i80286_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8086_common_cpu_device(mconfig, I80286, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 24, 0)
, m_opcodes_config("opcodes", ENDIANNESS_LITTLE, 16, 24, 0)
diff --git a/src/devices/cpu/i86/i286.h b/src/devices/cpu/i86/i286.h
index 489e7beb099..1454f14c67e 100644
--- a/src/devices/cpu/i86/i286.h
+++ b/src/devices/cpu/i86/i286.h
@@ -76,7 +76,7 @@ class i80286_cpu_device : public i8086_common_cpu_device
{
public:
// construction/destruction
- i80286_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i80286_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// device_memory_interface overrides
virtual space_config_vector memory_space_config() const override;
diff --git a/src/devices/cpu/i86/i86.cpp b/src/devices/cpu/i86/i86.cpp
index fd85830e86b..446ce7981dc 100644
--- a/src/devices/cpu/i86/i86.cpp
+++ b/src/devices/cpu/i86/i86.cpp
@@ -90,19 +90,19 @@ const uint8_t i8086_cpu_device::m_i8086_timing[] =
DEFINE_DEVICE_TYPE(I8086, i8086_cpu_device, "i8086", "Intel 8086")
DEFINE_DEVICE_TYPE(I8088, i8088_cpu_device, "i8088", "Intel 8088")
-i8088_cpu_device::i8088_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8088_cpu_device::i8088_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8086_cpu_device(mconfig, I8088, tag, owner, clock, 8)
{
memcpy(m_timing, m_i8086_timing, sizeof(m_i8086_timing));
}
-i8086_cpu_device::i8086_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8086_cpu_device::i8086_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8086_cpu_device(mconfig, I8086, tag, owner, clock, 16)
{
memcpy(m_timing, m_i8086_timing, sizeof(m_i8086_timing));
}
-i8086_cpu_device::i8086_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int data_bus_size)
+i8086_cpu_device::i8086_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int data_bus_size)
: i8086_common_cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, data_bus_size, 20, 0)
, m_opcodes_config("opcodes", ENDIANNESS_LITTLE, data_bus_size, 20, 0)
@@ -362,7 +362,7 @@ void i8086_cpu_device::device_start()
state_add( I8086_HALT, "HALT", m_halt ).mask(1);
}
-i8086_common_cpu_device::i8086_common_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+i8086_common_cpu_device::i8086_common_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_ip(0)
, m_TF(0)
diff --git a/src/devices/cpu/i86/i86.h b/src/devices/cpu/i86/i86.h
index f08a8e0c2ba..a3fb2ab4fd8 100644
--- a/src/devices/cpu/i86/i86.h
+++ b/src/devices/cpu/i86/i86.h
@@ -108,7 +108,7 @@ protected:
enum WREGS { AX=0, CX, DX, BX, SP, BP, SI, DI };
// construction/destruction
- i8086_common_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ i8086_common_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -345,7 +345,7 @@ public:
AS_EXTRA
};
// construction/destruction
- i8086_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8086_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// device_memory_interface overrides
virtual space_config_vector memory_space_config() const override;
@@ -354,7 +354,7 @@ public:
auto esc_data_handler() { return m_esc_data_handler.bind(); }
protected:
- i8086_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int data_bus_size);
+ i8086_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int data_bus_size);
virtual void execute_run() override;
virtual void device_start() override;
@@ -387,7 +387,7 @@ class i8088_cpu_device : public i8086_cpu_device
{
public:
// construction/destruction
- i8088_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8088_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/i860/i860.cpp b/src/devices/cpu/i860/i860.cpp
index 0cef6e6bec4..9f56afa8ea4 100644
--- a/src/devices/cpu/i860/i860.cpp
+++ b/src/devices/cpu/i860/i860.cpp
@@ -34,7 +34,7 @@ enum {
DEFINE_DEVICE_TYPE(I860, i860_cpu_device, "i860xr", "Intel i860XR")
-i860_cpu_device::i860_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i860_cpu_device::i860_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, I860, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 64, 32, 0)
, m_pc(0), m_merge(0), m_pin_bus_hold(0), m_pin_reset(0), m_exiting_readmem(0), m_exiting_ifetch(0), m_pc_updated(0), m_pending_trap(0), m_fir_gets_trap_addr(0), m_single_stepping(0), m_program(nullptr), m_icount(0)
diff --git a/src/devices/cpu/i860/i860.h b/src/devices/cpu/i860/i860.h
index 3f37dda5b87..a9207ad3491 100644
--- a/src/devices/cpu/i860/i860.h
+++ b/src/devices/cpu/i860/i860.h
@@ -24,7 +24,7 @@ class i860_cpu_device : public cpu_device
{
public:
// construction/destruction
- i860_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i860_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
/* This is the external interface for asserting an external interrupt
to the i860. */
diff --git a/src/devices/cpu/i960/i960.cpp b/src/devices/cpu/i960/i960.cpp
index 7d87f4955b0..d89689826c4 100644
--- a/src/devices/cpu/i960/i960.cpp
+++ b/src/devices/cpu/i960/i960.cpp
@@ -14,7 +14,7 @@
DEFINE_DEVICE_TYPE(I960, i960_cpu_device, "i960kb", "Intel i960KB")
-i960_cpu_device::i960_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i960_cpu_device::i960_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, I960, tag, owner, clock)
, m_stalled(false), m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0)
, m_rcache_pos(0), m_SAT(0), m_PRCB(0), m_PC(0), m_AC(0), m_IP(0), m_PIP(0), m_ICR(0), m_immediate_irq(0)
diff --git a/src/devices/cpu/i960/i960.h b/src/devices/cpu/i960/i960.h
index 1efab1d328a..e8fa1dfff2f 100644
--- a/src/devices/cpu/i960/i960.h
+++ b/src/devices/cpu/i960/i960.h
@@ -69,7 +69,7 @@ public:
static constexpr uint16_t BURST = 0x0001;
// construction/destruction
- i960_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i960_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void i960_stall()
{
diff --git a/src/devices/cpu/ie15/ie15.cpp b/src/devices/cpu/ie15/ie15.cpp
index d3db6f0ef1b..0bed6be6070 100644
--- a/src/devices/cpu/ie15/ie15.cpp
+++ b/src/devices/cpu/ie15/ie15.cpp
@@ -29,7 +29,7 @@ DEFINE_DEVICE_TYPE(IE15_CPU, ie15_cpu_device, "ie15_cpu", "ie15 CPU")
//-------------------------------------------------
// ie15_cpu_device - constructor
//-------------------------------------------------
-ie15_cpu_device::ie15_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ie15_cpu_device::ie15_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, IE15_CPU, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 14)
, m_io_config("io", ENDIANNESS_LITTLE, 8, 8), m_A(0), m_CF(0), m_ZF(0), m_RF(0), m_flags(0)
diff --git a/src/devices/cpu/ie15/ie15.h b/src/devices/cpu/ie15/ie15.h
index a0885ce55f1..b07c7741e41 100644
--- a/src/devices/cpu/ie15/ie15.h
+++ b/src/devices/cpu/ie15/ie15.h
@@ -13,7 +13,7 @@ class ie15_cpu_device : public cpu_device
{
public:
// construction/destruction
- ie15_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ie15_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
enum
diff --git a/src/devices/cpu/jaguar/jaguar.cpp b/src/devices/cpu/jaguar/jaguar.cpp
index 84d5a999dbb..504fab20b10 100644
--- a/src/devices/cpu/jaguar/jaguar.cpp
+++ b/src/devices/cpu/jaguar/jaguar.cpp
@@ -149,7 +149,7 @@ DEFINE_DEVICE_TYPE(JAGUARGPU, jaguargpu_cpu_device, "jaguargpu", "Motorola Atari
DEFINE_DEVICE_TYPE(JAGUARDSP, jaguardsp_cpu_device, "jaguardsp", "Motorola Atari Jaguar DSP \"Jerry\"")
-jaguar_cpu_device::jaguar_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 version, bool isdsp, address_map_constructor io_map)
+jaguar_cpu_device::jaguar_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 version, bool isdsp, address_map_constructor io_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 32, 24, 0)
, m_io_config("io", ENDIANNESS_BIG, 32, 8, 0, io_map)
@@ -190,13 +190,13 @@ jaguar_cpu_device::jaguar_cpu_device(const machine_config &mconfig, device_type
}
-jaguargpu_cpu_device::jaguargpu_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+jaguargpu_cpu_device::jaguargpu_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: jaguar_cpu_device(mconfig, JAGUARGPU, tag, owner, clock, 2, false, address_map_constructor(FUNC(jaguargpu_cpu_device::io_map), this))
{
}
-jaguardsp_cpu_device::jaguardsp_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+jaguardsp_cpu_device::jaguardsp_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: jaguar_cpu_device(mconfig, JAGUARDSP, tag, owner, clock, 2, true, address_map_constructor(FUNC(jaguardsp_cpu_device::io_map), this))
{
}
diff --git a/src/devices/cpu/jaguar/jaguar.h b/src/devices/cpu/jaguar/jaguar.h
index 90ee5aef405..b034fc05895 100644
--- a/src/devices/cpu/jaguar/jaguar.h
+++ b/src/devices/cpu/jaguar/jaguar.h
@@ -64,7 +64,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(go_w);
protected:
- jaguar_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 version, bool isdsp, address_map_constructor io_map);
+ jaguar_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 version, bool isdsp, address_map_constructor io_map);
// device-level overrides
virtual void device_start() override;
@@ -270,7 +270,7 @@ class jaguargpu_cpu_device : public jaguar_cpu_device
{
public:
// construction/destruction
- jaguargpu_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ jaguargpu_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void io_map(address_map &map);
@@ -287,7 +287,7 @@ class jaguardsp_cpu_device : public jaguar_cpu_device
{
public:
// construction/destruction
- jaguardsp_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ jaguardsp_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void io_map(address_map &map);
diff --git a/src/devices/cpu/ks0164/ks0164.cpp b/src/devices/cpu/ks0164/ks0164.cpp
index 5b8f57fb776..ca8eabe5cd4 100644
--- a/src/devices/cpu/ks0164/ks0164.cpp
+++ b/src/devices/cpu/ks0164/ks0164.cpp
@@ -14,7 +14,7 @@ const u16 ks0164_cpu_device::imask[16] = {
0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
};
-ks0164_cpu_device::ks0164_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ks0164_cpu_device::ks0164_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, KS0164CPU, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 16)
{
diff --git a/src/devices/cpu/ks0164/ks0164.h b/src/devices/cpu/ks0164/ks0164.h
index 1df7e6f5e4b..e4a046d8080 100644
--- a/src/devices/cpu/ks0164/ks0164.h
+++ b/src/devices/cpu/ks0164/ks0164.h
@@ -11,7 +11,7 @@
class ks0164_cpu_device : public cpu_device
{
public:
- ks0164_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ks0164_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
enum {
diff --git a/src/devices/cpu/lc8670/lc8670.cpp b/src/devices/cpu/lc8670/lc8670.cpp
index d0ab5bbc19d..452b3d118f8 100644
--- a/src/devices/cpu/lc8670/lc8670.cpp
+++ b/src/devices/cpu/lc8670/lc8670.cpp
@@ -170,7 +170,7 @@ void lc8670_cpu_device::lc8670_internal_map(address_map &map)
// lc8670_cpu_device - constructor
//-------------------------------------------------
-lc8670_cpu_device::lc8670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+lc8670_cpu_device::lc8670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, LC8670, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, 16, 0)
, m_data_config("data", ENDIANNESS_BIG, 8, 9, 0, address_map_constructor(FUNC(lc8670_cpu_device::lc8670_internal_map), this))
diff --git a/src/devices/cpu/lc8670/lc8670.h b/src/devices/cpu/lc8670/lc8670.h
index a00658a7d4d..946850e1957 100644
--- a/src/devices/cpu/lc8670/lc8670.h
+++ b/src/devices/cpu/lc8670/lc8670.h
@@ -68,7 +68,7 @@ public:
void xram_w(offs_t offset, uint8_t data);
// configuration helpers
- void set_cpu_clock(clock_source source, uint32_t clock) { m_clocks[unsigned(source)] = clock; }
+ void set_cpu_clock(clock_source source, const XTAL &clock) { m_clocks[unsigned(source)] = clock; }
void set_cpu_clock(clock_source source, const XTAL &clock) { set_cpu_clock(source, clock.value()); }
template <typename T, typename U, typename V>
void set_clock_sources(T &&sub_clock, U &&rc_clock, V &&cf_clock)
diff --git a/src/devices/cpu/lh5801/lh5801.cpp b/src/devices/cpu/lh5801/lh5801.cpp
index 3f9045ae57e..ce7e8f7610b 100644
--- a/src/devices/cpu/lh5801/lh5801.cpp
+++ b/src/devices/cpu/lh5801/lh5801.cpp
@@ -65,7 +65,7 @@ enum
DEFINE_DEVICE_TYPE(LH5801, lh5801_cpu_device, "lh5801", "Sharp LH5801")
-lh5801_cpu_device::lh5801_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+lh5801_cpu_device::lh5801_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, LH5801, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0)
, m_io_config("io", ENDIANNESS_LITTLE, 8, 16, 0)
diff --git a/src/devices/cpu/lh5801/lh5801.h b/src/devices/cpu/lh5801/lh5801.h
index 68c028289af..9f9a20376a4 100644
--- a/src/devices/cpu/lh5801/lh5801.h
+++ b/src/devices/cpu/lh5801/lh5801.h
@@ -64,7 +64,7 @@ class lh5801_cpu_device : public cpu_device
{
public:
// construction/destruction
- lh5801_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ lh5801_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto in_func() { return m_in_func.bind(); }
diff --git a/src/devices/cpu/lr35902/lr35902.cpp b/src/devices/cpu/lr35902/lr35902.cpp
index 86eba6464d2..227eda6c369 100644
--- a/src/devices/cpu/lr35902/lr35902.cpp
+++ b/src/devices/cpu/lr35902/lr35902.cpp
@@ -63,7 +63,7 @@ enum lr35902_flag
DEFINE_DEVICE_TYPE(LR35902, lr35902_cpu_device, "lr35902", "Sharp LR35902")
-lr35902_cpu_device::lr35902_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+lr35902_cpu_device::lr35902_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, LR35902, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0)
, m_A(0)
diff --git a/src/devices/cpu/lr35902/lr35902.h b/src/devices/cpu/lr35902/lr35902.h
index f723213137c..75f36d09486 100644
--- a/src/devices/cpu/lr35902/lr35902.h
+++ b/src/devices/cpu/lr35902/lr35902.h
@@ -20,7 +20,7 @@ class lr35902_cpu_device : public cpu_device
{
public:
// construction/destruction
- lr35902_cpu_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock);
+ lr35902_cpu_device(const machine_config &mconfig, const char *_tag, device_t *_owner, const XTAL &_clock);
// configuration helpers
auto timer_cb() { return m_timer_func.bind(); }
diff --git a/src/devices/cpu/m37710/m37710.cpp b/src/devices/cpu/m37710/m37710.cpp
index 6ca096d1e4f..9d0ed9ea66b 100644
--- a/src/devices/cpu/m37710/m37710.cpp
+++ b/src/devices/cpu/m37710/m37710.cpp
@@ -334,7 +334,7 @@ void m37732s4_device::map(address_map &map)
// many other combinations of RAM and ROM size exist
-m37710_cpu_device::m37710_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate)
+m37710_cpu_device::m37710_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 24, 0, map_delegate)
, m_port_in_cb(*this)
@@ -344,40 +344,40 @@ m37710_cpu_device::m37710_cpu_device(const machine_config &mconfig, device_type
}
-m37702m2_device::m37702m2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m37702m2_device::m37702m2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m37702m2_device(mconfig, M37702M2, tag, owner, clock)
{
}
-m37702m2_device::m37702m2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+m37702m2_device::m37702m2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: m37710_cpu_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(m37702m2_device::map), this))
{
}
-m37702s1_device::m37702s1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m37702s1_device::m37702s1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m37710_cpu_device(mconfig, M37702S1, tag, owner, clock, address_map_constructor(FUNC(m37702s1_device::map), this))
{
}
-m37710s4_device::m37710s4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m37710s4_device::m37710s4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m37710_cpu_device(mconfig, M37710S4, tag, owner, clock, address_map_constructor(FUNC(m37710s4_device::map), this))
{
}
-m37720s1_device::m37720s1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m37720s1_device::m37720s1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m37710_cpu_device(mconfig, M37720S1, tag, owner, clock, address_map_constructor(FUNC(m37720s1_device::map), this))
{
}
-m37730s2_device::m37730s2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m37730s2_device::m37730s2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m37710_cpu_device(mconfig, M37730S2, tag, owner, clock, address_map_constructor(FUNC(m37730s2_device::map), this))
{
}
-m37732s4_device::m37732s4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m37732s4_device::m37732s4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m37710_cpu_device(mconfig, M37732S4, tag, owner, clock, address_map_constructor(FUNC(m37732s4_device::map), this))
{
}
diff --git a/src/devices/cpu/m37710/m37710.h b/src/devices/cpu/m37710/m37710.h
index 6426c2eb54f..3ac8036c81c 100644
--- a/src/devices/cpu/m37710/m37710.h
+++ b/src/devices/cpu/m37710/m37710.h
@@ -197,7 +197,7 @@ protected:
void set_int_control(int level, uint8_t data);
// construction/destruction
- m37710_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map_delegate);
+ m37710_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map_delegate);
// device-level overrides
virtual void device_start() override;
@@ -2144,7 +2144,7 @@ class m37702s1_device : public m37710_cpu_device
{
public:
// construction/destruction
- m37702s1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m37702s1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
void map(address_map &map);
};
@@ -2153,9 +2153,9 @@ class m37702m2_device : public m37710_cpu_device
{
public:
// construction/destruction
- m37702m2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m37702m2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- m37702m2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m37702m2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
void map(address_map &map);
};
@@ -2163,7 +2163,7 @@ class m37710s4_device : public m37710_cpu_device
{
public:
// construction/destruction
- m37710s4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m37710s4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
void map(address_map &map);
};
@@ -2172,7 +2172,7 @@ class m37720s1_device : public m37710_cpu_device
{
public:
// construction/destruction
- m37720s1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m37720s1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
void map(address_map &map);
};
@@ -2181,7 +2181,7 @@ class m37730s2_device : public m37710_cpu_device
{
public:
// construction/destruction
- m37730s2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m37730s2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
void map(address_map &map);
};
@@ -2190,7 +2190,7 @@ class m37732s4_device : public m37710_cpu_device
{
public:
// construction/destruction
- m37732s4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m37732s4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
void map(address_map &map);
};
diff --git a/src/devices/cpu/m6502/deco16.cpp b/src/devices/cpu/m6502/deco16.cpp
index acd9983cc12..0b16a6db8b3 100644
--- a/src/devices/cpu/m6502/deco16.cpp
+++ b/src/devices/cpu/m6502/deco16.cpp
@@ -19,7 +19,7 @@
DEFINE_DEVICE_TYPE(DECO16, deco16_device, "deco16", "Data East DECO16")
-deco16_device::deco16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+deco16_device::deco16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, DECO16, tag, owner, clock),
io(nullptr),
io_config("io", ENDIANNESS_LITTLE, 8, 16)
diff --git a/src/devices/cpu/m6502/deco16.h b/src/devices/cpu/m6502/deco16.h
index 63494f6b1d4..0d170f43df0 100644
--- a/src/devices/cpu/m6502/deco16.h
+++ b/src/devices/cpu/m6502/deco16.h
@@ -16,7 +16,7 @@
class deco16_device : public m6502_device {
public:
- deco16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ deco16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/m6502/m3745x.cpp b/src/devices/cpu/m6502/m3745x.cpp
index 20b881f217e..60c23046544 100644
--- a/src/devices/cpu/m6502/m3745x.cpp
+++ b/src/devices/cpu/m6502/m3745x.cpp
@@ -37,7 +37,7 @@ DEFINE_DEVICE_TYPE(M37450, m37450_device, "m37450", "Mitsubishi M37450")
//-------------------------------------------------
// m3745x_device - constructor
//-------------------------------------------------
-m3745x_device::m3745x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map) :
+m3745x_device::m3745x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map) :
m740_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0, internal_map),
m_read_p(*this),
@@ -393,12 +393,12 @@ void m37450_device::m37450_map(address_map &map)
map(0x0100, 0x01ff).ram();
}
-m37450_device::m37450_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m37450_device::m37450_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m37450_device(mconfig, M37450, tag, owner, clock)
{
}
-m37450_device::m37450_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m37450_device::m37450_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m3745x_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(m37450_device::m37450_map), this))
{
}
diff --git a/src/devices/cpu/m6502/m3745x.h b/src/devices/cpu/m6502/m3745x.h
index bab3558e0a2..c98c3d32f7c 100644
--- a/src/devices/cpu/m6502/m3745x.h
+++ b/src/devices/cpu/m6502/m3745x.h
@@ -53,7 +53,7 @@ public:
protected:
// construction/destruction
- m3745x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map);
+ m3745x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map);
// device-level overrides
virtual void device_start() override;
@@ -88,11 +88,11 @@ private:
class m37450_device : public m3745x_device
{
public:
- m37450_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m37450_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void m37450_map(address_map &map);
protected:
- m37450_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m37450_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(M37450, m37450_device)
diff --git a/src/devices/cpu/m6502/m4510.cpp b/src/devices/cpu/m6502/m4510.cpp
index aa29a820dcd..56867b2a3ea 100644
--- a/src/devices/cpu/m6502/m4510.cpp
+++ b/src/devices/cpu/m6502/m4510.cpp
@@ -17,7 +17,7 @@
DEFINE_DEVICE_TYPE(M4510, m4510_device, "m4510", "CSG 4510")
-m4510_device::m4510_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m4510_device::m4510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m65ce02_device(mconfig, M4510, tag, owner, clock),
map_enable(0),
nomap(false)
diff --git a/src/devices/cpu/m6502/m4510.h b/src/devices/cpu/m6502/m4510.h
index eb6cf818489..fdbf3831a39 100644
--- a/src/devices/cpu/m6502/m4510.h
+++ b/src/devices/cpu/m6502/m4510.h
@@ -17,7 +17,7 @@
class m4510_device : public m65ce02_device {
public:
- m4510_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m4510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/m6502/m50734.cpp b/src/devices/cpu/m6502/m50734.cpp
index b4e31f003c7..bd6cb72cf2f 100644
--- a/src/devices/cpu/m6502/m50734.cpp
+++ b/src/devices/cpu/m6502/m50734.cpp
@@ -23,7 +23,7 @@
// device type definition
DEFINE_DEVICE_TYPE(M50734, m50734_device, "m50734", "Mitsubishi M50734")
-m50734_device::m50734_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m50734_device::m50734_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m740_device(mconfig, M50734, tag, owner, clock)
, m_data_config("data", ENDIANNESS_LITTLE, 8, 16, 0)
, m_port_in_cb(*this)
diff --git a/src/devices/cpu/m6502/m50734.h b/src/devices/cpu/m6502/m50734.h
index 0c98f86aa31..2e48f4c5cd5 100644
--- a/src/devices/cpu/m6502/m50734.h
+++ b/src/devices/cpu/m6502/m50734.h
@@ -54,7 +54,7 @@ public:
//enum {
//};
- m50734_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m50734_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// port callback configuration
auto p0_in_cb() { return m_port_in_cb[0].bind(); }
diff --git a/src/devices/cpu/m6502/m5074x.cpp b/src/devices/cpu/m6502/m5074x.cpp
index 2d961b694a5..ca272aec3b5 100644
--- a/src/devices/cpu/m6502/m5074x.cpp
+++ b/src/devices/cpu/m6502/m5074x.cpp
@@ -40,7 +40,7 @@ DEFINE_DEVICE_TYPE(M50753, m50753_device, "m50753", "Mitsubishi M50753")
//-------------------------------------------------
// m5074x_device - constructor
//-------------------------------------------------
-m5074x_device::m5074x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int addrbits, address_map_constructor internal_map) :
+m5074x_device::m5074x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addrbits, address_map_constructor internal_map) :
m740_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 8, addrbits, 0, internal_map),
m_read_p(*this),
@@ -231,13 +231,13 @@ void m5074x_device::recalc_timer(int timer)
switch (timer)
{
case 0:
- hz = clock() / 16;
+ hz = clock().value() / 16;
hz /= (m_tmr12pre + 2);
m_timers[TIMER_1]->adjust(attotime::from_hz(hz), 0, attotime::from_hz(hz));
break;
case 1:
- hz = clock() / 16;
+ hz = clock().value() / 16;
hz /= (m_tmr12pre + 2);
m_timers[TIMER_2]->adjust(attotime::from_hz(hz), 0, attotime::from_hz(hz));
break;
@@ -254,7 +254,7 @@ void m5074x_device::recalc_timer(int timer)
}
else
{
- hz = clock() / 16;
+ hz = clock().value() / 16;
hz /= (m_tmrxpre + 2);
m_timers[TIMER_X]->adjust(attotime::from_hz(hz), 0, attotime::from_hz(hz));
}
@@ -458,12 +458,12 @@ void m50740_device::m50740_map(address_map &map)
map(0x1400, 0x1fff).rom().region(DEVICE_SELF, 0);
}
-m50740_device::m50740_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m50740_device::m50740_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m50740_device(mconfig, M50740, tag, owner, clock)
{
}
-m50740_device::m50740_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m50740_device::m50740_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m5074x_device(mconfig, type, tag, owner, clock, 13, address_map_constructor(FUNC(m50740_device::m50740_map), this))
{
}
@@ -477,12 +477,12 @@ void m50741_device::m50741_map(address_map &map)
map(0x1000, 0x1fff).rom().region(DEVICE_SELF, 0);
}
-m50741_device::m50741_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m50741_device::m50741_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m50741_device(mconfig, M50741, tag, owner, clock)
{
}
-m50741_device::m50741_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m50741_device::m50741_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m5074x_device(mconfig, type, tag, owner, clock, 13, address_map_constructor(FUNC(m50741_device::m50741_map), this))
{
}
@@ -506,12 +506,12 @@ static constexpr u8 IRQ_50753_INT1REQ = 0x80;
static constexpr u8 IRQ_50753_INTADC = 0x20;
static constexpr u8 IRQ_50753_INT2REQ = 0x02;
-m50753_device::m50753_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m50753_device::m50753_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m50753_device(mconfig, M50753, tag, owner, clock)
{
}
-m50753_device::m50753_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m50753_device::m50753_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m5074x_device(mconfig, type, tag, owner, clock, 16, address_map_constructor(FUNC(m50753_device::m50753_map), this)),
m_ad_in(*this),
m_in_p(*this),
diff --git a/src/devices/cpu/m6502/m5074x.h b/src/devices/cpu/m6502/m5074x.h
index 2b860a56e83..21f0b21402b 100644
--- a/src/devices/cpu/m6502/m5074x.h
+++ b/src/devices/cpu/m6502/m5074x.h
@@ -51,7 +51,7 @@ public:
protected:
// construction/destruction
- m5074x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int addrbits, address_map_constructor internal_map);
+ m5074x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addrbits, address_map_constructor internal_map);
// device-level overrides
virtual void device_start() override;
@@ -90,10 +90,10 @@ private:
class m50740_device : public m5074x_device
{
public:
- m50740_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m50740_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- m50740_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m50740_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
private:
void m50740_map(address_map &map);
@@ -102,10 +102,10 @@ private:
class m50741_device : public m5074x_device
{
public:
- m50741_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m50741_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- m50741_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m50741_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
private:
void m50741_map(address_map &map);
@@ -114,7 +114,7 @@ private:
class m50753_device : public m5074x_device
{
public:
- m50753_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m50753_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
enum
{
@@ -127,7 +127,7 @@ public:
auto read_in_p() { return m_in_p.bind(); }
protected:
- m50753_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m50753_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/m6502/m6500_1.cpp b/src/devices/cpu/m6502/m6500_1.cpp
index 5767899755e..c40582e13b3 100644
--- a/src/devices/cpu/m6502/m6500_1.cpp
+++ b/src/devices/cpu/m6502/m6500_1.cpp
@@ -91,7 +91,7 @@ constexpr u8 CR_CTRO = 0x80U;
DEFINE_DEVICE_TYPE(M6500_1, m6500_1_device, "m6500_1", "MOS Technology 6500/1");
-m6500_1_device::m6500_1_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+m6500_1_device::m6500_1_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m6502_mcu_device(mconfig, M6500_1, tag, owner, clock)
, m_port_in_cb{ *this }
, m_port_out_cb{ *this }
diff --git a/src/devices/cpu/m6502/m6500_1.h b/src/devices/cpu/m6502/m6500_1.h
index 0a4a07a6ff9..45cc3acea90 100644
--- a/src/devices/cpu/m6502/m6500_1.h
+++ b/src/devices/cpu/m6502/m6500_1.h
@@ -44,7 +44,7 @@
class m6500_1_device : public m6502_mcu_device
{
public:
- m6500_1_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m6500_1_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
auto pa_in_cb() { return m_port_in_cb[0].bind(); }
auto pb_in_cb() { return m_port_in_cb[1].bind(); }
diff --git a/src/devices/cpu/m6502/m6502.cpp b/src/devices/cpu/m6502/m6502.cpp
index 55276aeba00..eece2c86708 100644
--- a/src/devices/cpu/m6502/m6502.cpp
+++ b/src/devices/cpu/m6502/m6502.cpp
@@ -15,17 +15,17 @@
DEFINE_DEVICE_TYPE(M6502, m6502_device, "m6502", "MOS Technology 6502")
DEFINE_DEVICE_TYPE(M6512, m6512_device, "m6512", "MOS Technology 6512")
-m6502_device::m6502_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m6502_device::m6502_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, M6502, tag, owner, clock)
{
}
-m6512_device::m6512_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m6512_device::m6512_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, M6512, tag, owner, clock)
{
}
-m6502_device::m6502_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m6502_device::m6502_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
cpu_device(mconfig, type, tag, owner, clock),
sync_w(*this),
program_config("program", ENDIANNESS_LITTLE, 8, 16),
@@ -565,7 +565,7 @@ void m6502_device::mi_default14::write(uint16_t adr, uint8_t val)
program14.write_byte(adr, val);
}
-m6502_mcu_device::m6502_mcu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m6502_mcu_device::m6502_mcu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, type, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/m6502.h b/src/devices/cpu/m6502/m6502.h
index 4b05d7a0846..445050e739e 100644
--- a/src/devices/cpu/m6502/m6502.h
+++ b/src/devices/cpu/m6502/m6502.h
@@ -35,7 +35,7 @@ public:
virtual void write_9(uint16_t adr, uint8_t val);
};
- m6502_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6502_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void set_address_width(int width, bool custom_interface) {
program_config.m_addr_width = width;
@@ -54,7 +54,7 @@ public:
devcb_write_line sync_w;
protected:
- m6502_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m6502_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
class mi_default : public memory_interface {
public:
@@ -278,7 +278,7 @@ protected:
class m6502_mcu_device : public m6502_device {
protected:
- m6502_mcu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m6502_mcu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
void internal_update() { internal_update(total_cycles()); }
virtual void internal_update(uint64_t current_time) = 0;
@@ -290,7 +290,7 @@ protected:
class m6512_device : public m6502_device {
public:
- m6512_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6512_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
enum {
diff --git a/src/devices/cpu/m6502/m6504.cpp b/src/devices/cpu/m6502/m6504.cpp
index 51859f178f5..5d34e784249 100644
--- a/src/devices/cpu/m6502/m6504.cpp
+++ b/src/devices/cpu/m6502/m6504.cpp
@@ -13,7 +13,7 @@
DEFINE_DEVICE_TYPE(M6504, m6504_device, "m6504", "MOS Technology 6504")
-m6504_device::m6504_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m6504_device::m6504_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, M6504, tag, owner, clock)
{
program_config.m_addr_width = 13;
diff --git a/src/devices/cpu/m6502/m6504.h b/src/devices/cpu/m6502/m6504.h
index bf4dee43a76..83dfe25b22c 100644
--- a/src/devices/cpu/m6502/m6504.h
+++ b/src/devices/cpu/m6502/m6504.h
@@ -15,7 +15,7 @@
class m6504_device : public m6502_device {
public:
- m6504_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6504_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/m6502/m6507.cpp b/src/devices/cpu/m6502/m6507.cpp
index 7a102e4b110..6ec2a023881 100644
--- a/src/devices/cpu/m6502/m6507.cpp
+++ b/src/devices/cpu/m6502/m6507.cpp
@@ -13,7 +13,7 @@
DEFINE_DEVICE_TYPE(M6507, m6507_device, "m6507", "MOS Technology 6507")
-m6507_device::m6507_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m6507_device::m6507_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, M6507, tag, owner, clock)
{
program_config.m_addr_width = 13;
diff --git a/src/devices/cpu/m6502/m6507.h b/src/devices/cpu/m6502/m6507.h
index 50466608d2a..037dc7a7c87 100644
--- a/src/devices/cpu/m6502/m6507.h
+++ b/src/devices/cpu/m6502/m6507.h
@@ -15,7 +15,7 @@
class m6507_device : public m6502_device {
public:
- m6507_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6507_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/m6502/m6509.cpp b/src/devices/cpu/m6502/m6509.cpp
index 3ffbeda05fc..212ca66171f 100644
--- a/src/devices/cpu/m6502/m6509.cpp
+++ b/src/devices/cpu/m6502/m6509.cpp
@@ -14,7 +14,7 @@
DEFINE_DEVICE_TYPE(M6509, m6509_device, "m6509", "MOS Technology 6509")
-m6509_device::m6509_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m6509_device::m6509_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, M6509, tag, owner, clock), bank_i(0), bank_y(0)
{
program_config.m_addr_width = 20;
diff --git a/src/devices/cpu/m6502/m6509.h b/src/devices/cpu/m6502/m6509.h
index 4359c691c0e..d86f14e2d0c 100644
--- a/src/devices/cpu/m6502/m6509.h
+++ b/src/devices/cpu/m6502/m6509.h
@@ -15,7 +15,7 @@
class m6509_device : public m6502_device {
public:
- m6509_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6509_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual void do_exec_full() override;
diff --git a/src/devices/cpu/m6502/m6510.cpp b/src/devices/cpu/m6502/m6510.cpp
index 706c1407fcb..2188fa17802 100644
--- a/src/devices/cpu/m6502/m6510.cpp
+++ b/src/devices/cpu/m6502/m6510.cpp
@@ -18,12 +18,12 @@
DEFINE_DEVICE_TYPE(M6510, m6510_device, "m6510", "MOS Technology 6510")
DEFINE_DEVICE_TYPE(M6508, m6508_device, "m6508", "MOS Technology 6508")
-m6510_device::m6510_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m6510_device::m6510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6510_device(mconfig, M6510, tag, owner, clock)
{
}
-m6510_device::m6510_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m6510_device::m6510_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, type, tag, owner, clock),
read_port(*this),
write_port(*this), dir(0), port(0), drive(0)
@@ -151,7 +151,7 @@ void m6510_device::mi_6510::write(uint16_t adr, uint8_t val)
}
-m6508_device::m6508_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m6508_device::m6508_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6510_device(mconfig, M6508, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/m6510.h b/src/devices/cpu/m6502/m6510.h
index 284bc885180..6e96f36bd6d 100644
--- a/src/devices/cpu/m6502/m6510.h
+++ b/src/devices/cpu/m6502/m6510.h
@@ -16,7 +16,7 @@
class m6510_device : public m6502_device {
public:
- m6510_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t get_port();
void set_pulls(uint8_t pullup, uint8_t pulldown);
@@ -29,7 +29,7 @@ public:
virtual void do_exec_partial() override;
protected:
- m6510_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m6510_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
class mi_6510 : public memory_interface {
public:
@@ -75,7 +75,7 @@ protected:
class m6508_device : public m6510_device {
public:
- m6508_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6508_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
diff --git a/src/devices/cpu/m6502/m6510t.cpp b/src/devices/cpu/m6502/m6510t.cpp
index a8b543a8198..6094a20ff29 100644
--- a/src/devices/cpu/m6502/m6510t.cpp
+++ b/src/devices/cpu/m6502/m6510t.cpp
@@ -13,7 +13,7 @@
DEFINE_DEVICE_TYPE(M6510T, m6510t_device, "m6510t", "MOS Technology 6510T")
-m6510t_device::m6510t_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m6510t_device::m6510t_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6510_device(mconfig, M6510T, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/m6510t.h b/src/devices/cpu/m6502/m6510t.h
index 20db82b97e9..47fa8063355 100644
--- a/src/devices/cpu/m6502/m6510t.h
+++ b/src/devices/cpu/m6502/m6510t.h
@@ -15,7 +15,7 @@
class m6510t_device : public m6510_device {
public:
- m6510t_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6510t_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
enum {
diff --git a/src/devices/cpu/m6502/m65c02.cpp b/src/devices/cpu/m6502/m65c02.cpp
index fbfd2964f20..61d8b09c3e2 100644
--- a/src/devices/cpu/m6502/m65c02.cpp
+++ b/src/devices/cpu/m6502/m65c02.cpp
@@ -15,12 +15,12 @@
DEFINE_DEVICE_TYPE(M65C02, m65c02_device, "m65c02", "WDC W65C02")
-m65c02_device::m65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m65c02_device::m65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, M65C02, tag, owner, clock)
{
}
-m65c02_device::m65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m65c02_device::m65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, type, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/m65c02.h b/src/devices/cpu/m6502/m65c02.h
index 5a89f301236..3f2a39e6871 100644
--- a/src/devices/cpu/m6502/m65c02.h
+++ b/src/devices/cpu/m6502/m65c02.h
@@ -17,14 +17,14 @@
class m65c02_device : public m6502_device {
public:
- m65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual void do_exec_full() override;
virtual void do_exec_partial() override;
protected:
- m65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
#define O(o) void o ## _full(); void o ## _partial()
diff --git a/src/devices/cpu/m6502/m65ce02.cpp b/src/devices/cpu/m6502/m65ce02.cpp
index e6f80e4df09..88c391e7a6b 100644
--- a/src/devices/cpu/m6502/m65ce02.cpp
+++ b/src/devices/cpu/m6502/m65ce02.cpp
@@ -14,12 +14,12 @@
DEFINE_DEVICE_TYPE(M65CE02, m65ce02_device, "m65ce02", "CSG 65CE02")
-m65ce02_device::m65ce02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m65ce02_device::m65ce02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m65ce02_device(mconfig, M65CE02, tag, owner, clock)
{
}
-m65ce02_device::m65ce02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m65ce02_device::m65ce02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m65c02_device(mconfig, type, tag, owner, clock), TMP3(0), Z(0), B(0)
{
}
diff --git a/src/devices/cpu/m6502/m65ce02.h b/src/devices/cpu/m6502/m65ce02.h
index 6e27c66e010..159e214f75f 100644
--- a/src/devices/cpu/m6502/m65ce02.h
+++ b/src/devices/cpu/m6502/m65ce02.h
@@ -16,14 +16,14 @@
class m65ce02_device : public m65c02_device {
public:
- m65ce02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m65ce02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual void do_exec_full() override;
virtual void do_exec_partial() override;
protected:
- m65ce02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m65ce02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
uint16_t TMP3; /* temporary internal values */
uint8_t Z; /* Z index register */
diff --git a/src/devices/cpu/m6502/m65sc02.cpp b/src/devices/cpu/m6502/m65sc02.cpp
index 93a9f18c7b6..9dc161f973a 100644
--- a/src/devices/cpu/m6502/m65sc02.cpp
+++ b/src/devices/cpu/m6502/m65sc02.cpp
@@ -13,7 +13,7 @@
DEFINE_DEVICE_TYPE(M65SC02, m65sc02_device, "m65sc02", "GTE G65SC02")
-m65sc02_device::m65sc02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m65sc02_device::m65sc02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
r65c02_device(mconfig, M65SC02, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/m65sc02.h b/src/devices/cpu/m6502/m65sc02.h
index 686411c0b22..6ebd3602792 100644
--- a/src/devices/cpu/m6502/m65sc02.h
+++ b/src/devices/cpu/m6502/m65sc02.h
@@ -15,7 +15,7 @@
class m65sc02_device : public r65c02_device {
public:
- m65sc02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m65sc02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
enum {
diff --git a/src/devices/cpu/m6502/m740.cpp b/src/devices/cpu/m6502/m740.cpp
index d9feb8071d5..e1494e0e7fa 100644
--- a/src/devices/cpu/m6502/m740.cpp
+++ b/src/devices/cpu/m6502/m740.cpp
@@ -11,7 +11,7 @@
#include "emu.h"
#include "m740.h"
-m740_device::m740_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+m740_device::m740_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, type, tag, owner, clock), m_irq_multiplex(0), m_irq_vector(0)
{
}
diff --git a/src/devices/cpu/m6502/m740.h b/src/devices/cpu/m6502/m740.h
index de483675f81..a1a243bf258 100644
--- a/src/devices/cpu/m6502/m740.h
+++ b/src/devices/cpu/m6502/m740.h
@@ -51,7 +51,7 @@ protected:
virtual void do_exec_partial() override;
virtual void execute_set_input(int inputnum, int state) override;
- m740_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ m740_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
#define O(o) void o ## _full(); void o ## _partial()
diff --git a/src/devices/cpu/m6502/m7501.cpp b/src/devices/cpu/m6502/m7501.cpp
index 912a7a023dd..b5b86dde7d3 100644
--- a/src/devices/cpu/m6502/m7501.cpp
+++ b/src/devices/cpu/m6502/m7501.cpp
@@ -13,7 +13,7 @@
DEFINE_DEVICE_TYPE(M7501, m7501_device, "m7501", "M7501")
-m7501_device::m7501_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m7501_device::m7501_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6510_device(mconfig, M7501, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/m7501.h b/src/devices/cpu/m6502/m7501.h
index baa26668fab..88c711df2db 100644
--- a/src/devices/cpu/m6502/m7501.h
+++ b/src/devices/cpu/m6502/m7501.h
@@ -15,7 +15,7 @@
class m7501_device : public m6510_device {
public:
- m7501_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m7501_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
enum {
diff --git a/src/devices/cpu/m6502/m8502.cpp b/src/devices/cpu/m6502/m8502.cpp
index 356ed95c0fe..f956a98a08f 100644
--- a/src/devices/cpu/m6502/m8502.cpp
+++ b/src/devices/cpu/m6502/m8502.cpp
@@ -13,7 +13,7 @@
DEFINE_DEVICE_TYPE(M8502, m8502_device, "m8502", "MOS Technology 8502")
-m8502_device::m8502_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+m8502_device::m8502_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
m6510_device(mconfig, M8502, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/m8502.h b/src/devices/cpu/m6502/m8502.h
index cdd9c8c702f..734d5509e88 100644
--- a/src/devices/cpu/m6502/m8502.h
+++ b/src/devices/cpu/m6502/m8502.h
@@ -16,7 +16,7 @@
class m8502_device : public m6510_device {
public:
- m8502_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m8502_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
enum {
diff --git a/src/devices/cpu/m6502/r65c02.cpp b/src/devices/cpu/m6502/r65c02.cpp
index 190f370c933..ecda0a9f29d 100644
--- a/src/devices/cpu/m6502/r65c02.cpp
+++ b/src/devices/cpu/m6502/r65c02.cpp
@@ -14,12 +14,12 @@
DEFINE_DEVICE_TYPE(R65C02, r65c02_device, "r65c02", "Rockwell R65C02")
-r65c02_device::r65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+r65c02_device::r65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
r65c02_device(mconfig, R65C02, tag, owner, clock)
{
}
-r65c02_device::r65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+r65c02_device::r65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m65c02_device(mconfig, type, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/r65c02.h b/src/devices/cpu/m6502/r65c02.h
index a28ccd9d932..2e8fa666d68 100644
--- a/src/devices/cpu/m6502/r65c02.h
+++ b/src/devices/cpu/m6502/r65c02.h
@@ -15,14 +15,14 @@
class r65c02_device : public m65c02_device {
public:
- r65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ r65c02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual void do_exec_full() override;
virtual void do_exec_partial() override;
protected:
- r65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ r65c02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
};
enum {
diff --git a/src/devices/cpu/m6502/r65c19.cpp b/src/devices/cpu/m6502/r65c19.cpp
index ffd6c3ee2db..d685b3e6703 100644
--- a/src/devices/cpu/m6502/r65c19.cpp
+++ b/src/devices/cpu/m6502/r65c19.cpp
@@ -16,7 +16,7 @@
DEFINE_DEVICE_TYPE(R65C19, r65c19_device, "r65c19", "Rockwell R65C19 MCU")
DEFINE_DEVICE_TYPE(L2800, l2800_device, "l2800", "Rockwell L2800 MCU")
-r65c19_device::r65c19_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map)
+r65c19_device::r65c19_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map)
: r65c02_device(mconfig, type, tag, owner, clock)
, m_w(0)
, m_i(0)
@@ -26,19 +26,19 @@ r65c19_device::r65c19_device(const machine_config &mconfig, device_type type, co
program_config.m_internal_map = std::move(internal_map);
}
-r65c19_device::r65c19_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+r65c19_device::r65c19_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: r65c19_device(mconfig, R65C19, tag, owner, clock, address_map_constructor())
{
}
-c39_device::c39_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map)
+c39_device::c39_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map)
: r65c19_device(mconfig, type, tag, owner, clock, internal_map)
, m_exp_config("expansion", ENDIANNESS_LITTLE, 8, 21, 0)
, m_es4_config("es4", ENDIANNESS_LITTLE, 8, 9, 0)
{
}
-l2800_device::l2800_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+l2800_device::l2800_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: c39_device(mconfig, L2800, tag, owner, clock, address_map_constructor(FUNC(l2800_device::internal_map), this))
{
}
diff --git a/src/devices/cpu/m6502/r65c19.h b/src/devices/cpu/m6502/r65c19.h
index 6f018fb661b..20cd9fe7442 100644
--- a/src/devices/cpu/m6502/r65c19.h
+++ b/src/devices/cpu/m6502/r65c19.h
@@ -18,10 +18,10 @@ public:
R65C19_I
};
- r65c19_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ r65c19_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- r65c19_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map);
+ r65c19_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map);
virtual void device_start() override;
virtual void device_reset() override;
@@ -110,7 +110,7 @@ public:
};
protected:
- c39_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map);
+ c39_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map);
virtual space_config_vector memory_space_config() const override;
@@ -153,7 +153,7 @@ private:
class l2800_device : public c39_device
{
public:
- l2800_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ l2800_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
private:
void internal_map(address_map &map);
diff --git a/src/devices/cpu/m6502/rp2a03.cpp b/src/devices/cpu/m6502/rp2a03.cpp
index 25e43144db8..c14b3995445 100644
--- a/src/devices/cpu/m6502/rp2a03.cpp
+++ b/src/devices/cpu/m6502/rp2a03.cpp
@@ -53,19 +53,19 @@ void rp2a03_device::rp2a03_map(address_map &map)
-rp2a03_core_device::rp2a03_core_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+rp2a03_core_device::rp2a03_core_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: m6502_device(mconfig, type, tag, owner, clock)
{
}
-rp2a03_core_device::rp2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+rp2a03_core_device::rp2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: rp2a03_core_device(mconfig, RP2A03_CORE, tag, owner, clock)
{
}
-rp2a03_device::rp2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+rp2a03_device::rp2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: rp2a03_core_device(mconfig, type, tag, owner, clock)
, device_mixer_interface(mconfig, *this, 1)
, m_apu(*this, "nesapu")
@@ -73,12 +73,12 @@ rp2a03_device::rp2a03_device(const machine_config &mconfig, device_type type, co
program_config.m_internal_map = address_map_constructor(FUNC(rp2a03_device::rp2a03_map), this);
}
-rp2a03_device::rp2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+rp2a03_device::rp2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: rp2a03_device(mconfig, RP2A03, tag, owner, clock)
{
}
-rp2a03g_device::rp2a03g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+rp2a03g_device::rp2a03g_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: rp2a03_device(mconfig, RP2A03G, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/rp2a03.h b/src/devices/cpu/m6502/rp2a03.h
index 412837cd885..99079341623 100644
--- a/src/devices/cpu/m6502/rp2a03.h
+++ b/src/devices/cpu/m6502/rp2a03.h
@@ -17,7 +17,7 @@
class rp2a03_core_device : public m6502_device {
public:
- rp2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ rp2a03_core_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -25,7 +25,7 @@ public:
virtual void do_exec_partial() override;
protected:
- rp2a03_core_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ rp2a03_core_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
#define O(o) void o ## _full(); void o ## _partial()
@@ -43,7 +43,7 @@ private:
class rp2a03_device : public rp2a03_core_device, public device_mixer_interface {
public:
- rp2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ rp2a03_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t psg1_4014_r();
uint8_t psg1_4015_r();
@@ -53,7 +53,7 @@ public:
void rp2a03_map(address_map &map);
protected:
- rp2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ rp2a03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
required_device<nesapu_device> m_apu;
@@ -66,7 +66,7 @@ protected:
class rp2a03g_device : public rp2a03_device
{
public:
- rp2a03g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ rp2a03g_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/cpu/m6502/st2204.cpp b/src/devices/cpu/m6502/st2204.cpp
index 0e8541be87a..dc1fb605de4 100644
--- a/src/devices/cpu/m6502/st2204.cpp
+++ b/src/devices/cpu/m6502/st2204.cpp
@@ -40,7 +40,7 @@
DEFINE_DEVICE_TYPE(ST2202, st2202_device, "st2202", "Sitronix ST2202 Integrated Microcontroller")
DEFINE_DEVICE_TYPE(ST2204, st2204_device, "st2204", "Sitronix ST2204 Integrated Microcontroller")
-st2204_device::st2204_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map)
+st2204_device::st2204_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map)
: st2xxx_device(mconfig, type, tag, owner, clock, map, 26, false) // logical; only 23 address lines are brought out
, m_dac_callback(*this)
, m_tmode{0}
@@ -58,12 +58,12 @@ st2204_device::st2204_device(const machine_config &mconfig, device_type type, co
{
}
-st2204_device::st2204_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+st2204_device::st2204_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: st2204_device(mconfig, ST2204, tag, owner, clock, address_map_constructor(FUNC(st2204_device::int_map), this))
{
}
-st2202_device::st2202_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+st2202_device::st2202_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: st2204_device(mconfig, ST2202, tag, owner, clock, address_map_constructor(FUNC(st2202_device::int_map), this))
{
}
diff --git a/src/devices/cpu/m6502/st2204.h b/src/devices/cpu/m6502/st2204.h
index c1fbe707fd9..f30b3765f50 100644
--- a/src/devices/cpu/m6502/st2204.h
+++ b/src/devices/cpu/m6502/st2204.h
@@ -30,12 +30,12 @@ public:
ST_DMD
};
- st2204_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ st2204_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto dac_callback() { return m_dac_callback.bind(); }
protected:
- st2204_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor int_map);
+ st2204_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor int_map);
virtual void device_resolve_objects() override;
virtual void device_start() override;
@@ -148,7 +148,7 @@ private:
class st2202_device : public st2204_device
{
public:
- st2202_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ st2202_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual u8 st2xxx_misc_mask() const override { return 0x0f; }
diff --git a/src/devices/cpu/m6502/st2205u.cpp b/src/devices/cpu/m6502/st2205u.cpp
index ac50492e325..673c0815770 100644
--- a/src/devices/cpu/m6502/st2205u.cpp
+++ b/src/devices/cpu/m6502/st2205u.cpp
@@ -51,7 +51,7 @@
DEFINE_DEVICE_TYPE(ST2205U, st2205u_device, "st2205u", "Sitronix ST2205U Integrated Microcontroller")
DEFINE_DEVICE_TYPE(ST2302U, st2302u_device, "st2302u", "Sitronix ST2302U Integrated Microcontroller")
-st2205u_base_device::st2205u_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map, int data_bits, bool has_banked_ram)
+st2205u_base_device::st2205u_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map, int data_bits, bool has_banked_ram)
: st2xxx_device(mconfig, type, tag, owner, clock, internal_map, data_bits, has_banked_ram)
, device_sound_interface(mconfig, *this)
, m_stream(nullptr)
@@ -82,7 +82,7 @@ st2205u_base_device::st2205u_base_device(const machine_config &mconfig, device_t
{
}
-st2205u_device::st2205u_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+st2205u_device::st2205u_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: st2205u_base_device(mconfig, ST2205U, tag, owner, clock,
address_map_constructor(FUNC(st2205u_device::int_map), this),
26, // logical; only 23 address lines are brought out
@@ -93,7 +93,7 @@ st2205u_device::st2205u_device(const machine_config &mconfig, const char *tag, d
{
}
-st2302u_device::st2302u_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+st2302u_device::st2302u_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: st2205u_base_device(mconfig, ST2302U, tag, owner, clock,
address_map_constructor(FUNC(st2302u_device::int_map), this),
26, // ???
diff --git a/src/devices/cpu/m6502/st2205u.h b/src/devices/cpu/m6502/st2205u.h
index bd73e481822..bbf0e8f05cd 100644
--- a/src/devices/cpu/m6502/st2205u.h
+++ b/src/devices/cpu/m6502/st2205u.h
@@ -59,7 +59,7 @@ public:
static constexpr feature_type imperfect_features() { return feature::SOUND; }
protected:
- st2205u_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map, int data_bits, bool has_banked_ram);
+ st2205u_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map, int data_bits, bool has_banked_ram);
virtual void device_reset() override;
@@ -180,7 +180,7 @@ public:
ST_BRR
};
- st2205u_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ st2205u_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -254,7 +254,7 @@ private:
class st2302u_device : public st2205u_base_device
{
public:
- st2302u_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ st2302u_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
diff --git a/src/devices/cpu/m6502/st2xxx.cpp b/src/devices/cpu/m6502/st2xxx.cpp
index 480460bbe67..c9dd74ca018 100644
--- a/src/devices/cpu/m6502/st2xxx.cpp
+++ b/src/devices/cpu/m6502/st2xxx.cpp
@@ -42,7 +42,7 @@
//#define VERBOSE (LOG_IRQ | LOG_BT | LOG_LCDC)
#include "logmacro.h"
-st2xxx_device::st2xxx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map, int data_bits, bool has_banked_ram)
+st2xxx_device::st2xxx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map, int data_bits, bool has_banked_ram)
: w65c02s_device(mconfig, type, tag, owner, clock)
, m_data_config("data", ENDIANNESS_LITTLE, 8, data_bits, 0)
, m_in_port_cb(*this)
diff --git a/src/devices/cpu/m6502/st2xxx.h b/src/devices/cpu/m6502/st2xxx.h
index 811c2008d49..430fac1df1e 100644
--- a/src/devices/cpu/m6502/st2xxx.h
+++ b/src/devices/cpu/m6502/st2xxx.h
@@ -85,7 +85,7 @@ public:
auto out_pl_callback() { return m_out_port_cb[6].bind(); }
protected:
- st2xxx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map, int data_bits, bool has_banked_ram);
+ st2xxx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map, int data_bits, bool has_banked_ram);
virtual space_config_vector memory_space_config() const override;
virtual void device_resolve_objects() override;
diff --git a/src/devices/cpu/m6502/w65c02s.cpp b/src/devices/cpu/m6502/w65c02s.cpp
index 171db777dc2..d44c05ec5a8 100644
--- a/src/devices/cpu/m6502/w65c02s.cpp
+++ b/src/devices/cpu/m6502/w65c02s.cpp
@@ -15,12 +15,12 @@
DEFINE_DEVICE_TYPE(W65C02S, w65c02s_device, "w65c02s", "WDC W65C02S")
-w65c02s_device::w65c02s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+w65c02s_device::w65c02s_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
w65c02s_device(mconfig, W65C02S, tag, owner, clock)
{
}
-w65c02s_device::w65c02s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+w65c02s_device::w65c02s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m65c02_device(mconfig, type, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/w65c02s.h b/src/devices/cpu/m6502/w65c02s.h
index a5848f86e68..b07da3ab58b 100644
--- a/src/devices/cpu/m6502/w65c02s.h
+++ b/src/devices/cpu/m6502/w65c02s.h
@@ -16,14 +16,14 @@
class w65c02s_device : public m65c02_device {
public:
- w65c02s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ w65c02s_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual void do_exec_full() override;
virtual void do_exec_partial() override;
protected:
- w65c02s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ w65c02s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual uint8_t read_vector(uint16_t adr) { return mintf->read_arg(adr); }
virtual void end_interrupt() { }
diff --git a/src/devices/cpu/m6502/xavix.cpp b/src/devices/cpu/m6502/xavix.cpp
index c8f98a0e8f7..1ae031ee81f 100644
--- a/src/devices/cpu/m6502/xavix.cpp
+++ b/src/devices/cpu/m6502/xavix.cpp
@@ -33,12 +33,12 @@
DEFINE_DEVICE_TYPE(XAVIX, xavix_device, "xavix", "XaviX (SSD 97 / SSD 98)")
-xavix_device::xavix_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+xavix_device::xavix_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
xavix_device(mconfig, XAVIX, tag, owner, clock)
{
}
-xavix_device::xavix_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+xavix_device::xavix_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
m6502_device(mconfig, type, tag, owner, clock),
XPC(0),
m_lowbus_config("lowbus", ENDIANNESS_LITTLE, 8, 15),
diff --git a/src/devices/cpu/m6502/xavix.h b/src/devices/cpu/m6502/xavix.h
index ccab73f75d4..7fe24a30587 100644
--- a/src/devices/cpu/m6502/xavix.h
+++ b/src/devices/cpu/m6502/xavix.h
@@ -14,7 +14,7 @@
class xavix_device : public m6502_device {
public:
- xavix_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ xavix_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual void do_exec_full() override;
@@ -164,7 +164,7 @@ protected:
uint8_t m_codebank;
uint32_t XPC;
- xavix_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ xavix_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
uint32_t adr_with_codebank(uint16_t adr) { return adr | (get_codebank() << 16); }
diff --git a/src/devices/cpu/m6502/xavix2000.cpp b/src/devices/cpu/m6502/xavix2000.cpp
index 35da0f522b3..78f2cedffe5 100644
--- a/src/devices/cpu/m6502/xavix2000.cpp
+++ b/src/devices/cpu/m6502/xavix2000.cpp
@@ -36,7 +36,7 @@ DEFINE_DEVICE_TYPE(XAVIX2002, xavix2002_device, "xavix2002", "XaviX (SSD 2002) (
-xavix2000_device::xavix2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+xavix2000_device::xavix2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
xavix_device(mconfig, type, tag, owner, clock)
{
program_config.m_addr_width = 24;
@@ -45,12 +45,12 @@ xavix2000_device::xavix2000_device(const machine_config &mconfig, device_type ty
sprogram_config.m_logaddr_width = 24;
}
-xavix2000_device::xavix2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+xavix2000_device::xavix2000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
xavix2000_device(mconfig, XAVIX2000, tag, owner, clock)
{
}
-xavix2002_device::xavix2002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+xavix2002_device::xavix2002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
xavix2000_device(mconfig, XAVIX2002, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6502/xavix2000.h b/src/devices/cpu/m6502/xavix2000.h
index c5e3113e840..80cc55f1895 100644
--- a/src/devices/cpu/m6502/xavix2000.h
+++ b/src/devices/cpu/m6502/xavix2000.h
@@ -14,12 +14,12 @@
class xavix2000_device : public xavix_device {
public:
- xavix2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ xavix2000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
protected:
- xavix2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ xavix2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void do_exec_full() override;
virtual void do_exec_partial() override;
@@ -164,7 +164,7 @@ enum {
class xavix2002_device : public xavix2000_device {
public:
- xavix2002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ xavix2002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/m6800/m6800.cpp b/src/devices/cpu/m6800/m6800.cpp
index 4df393c0a4c..674cb487fd9 100644
--- a/src/devices/cpu/m6800/m6800.cpp
+++ b/src/devices/cpu/m6800/m6800.cpp
@@ -383,12 +383,12 @@ DEFINE_DEVICE_TYPE(M6808, m6808_cpu_device, "m6808", "Motorola MC6808")
DEFINE_DEVICE_TYPE(NSC8105, nsc8105_cpu_device, "nsc8105", "NSC8105")
-m6800_cpu_device::m6800_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m6800_cpu_device::m6800_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6800_cpu_device(mconfig, M6800, tag, owner, clock, m6800_insn, cycles_6800, address_map_constructor())
{
}
-m6800_cpu_device::m6800_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const op_func *insn, const uint8_t *cycles, address_map_constructor internal)
+m6800_cpu_device::m6800_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const op_func *insn, const uint8_t *cycles, address_map_constructor internal)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, 16, 0, internal)
, m_decrypted_opcodes_config("program", ENDIANNESS_BIG, 8, 16, 0)
@@ -397,12 +397,12 @@ m6800_cpu_device::m6800_cpu_device(const machine_config &mconfig, device_type ty
{
}
-m6802_cpu_device::m6802_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m6802_cpu_device::m6802_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6802_cpu_device(mconfig, M6802, tag, owner, clock, m6800_insn, cycles_6800)
{
}
-m6802_cpu_device::m6802_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const op_func *insn, const uint8_t *cycles)
+m6802_cpu_device::m6802_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const op_func *insn, const uint8_t *cycles)
: m6800_cpu_device(mconfig, type, tag, owner, clock, insn, cycles, address_map_constructor(FUNC(m6802_cpu_device::ram_map), this))
, m_ram_enable(true)
{
@@ -414,7 +414,7 @@ void m6802_cpu_device::ram_map(address_map &map)
map(0x0000, 0x007f).ram();
}
-m6808_cpu_device::m6808_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m6808_cpu_device::m6808_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6802_cpu_device(mconfig, M6808, tag, owner, clock, m6800_insn, cycles_6800)
{
set_ram_enable(false);
@@ -426,7 +426,7 @@ void m6808_cpu_device::device_validity_check(validity_checker &valid) const
osd_printf_error("MC6808 should not have internal RAM enabled\n");
}
-nsc8105_cpu_device::nsc8105_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+nsc8105_cpu_device::nsc8105_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6802_cpu_device(mconfig, NSC8105, tag, owner, clock, nsc8105_insn, cycles_nsc8105)
{
}
diff --git a/src/devices/cpu/m6800/m6800.h b/src/devices/cpu/m6800/m6800.h
index 10e40ab3a3f..c4229d07fa3 100644
--- a/src/devices/cpu/m6800/m6800.h
+++ b/src/devices/cpu/m6800/m6800.h
@@ -34,7 +34,7 @@ public:
typedef void (m6800_cpu_device::*op_func)();
// construction/destruction
- m6800_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6800_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
enum
@@ -43,7 +43,7 @@ protected:
M6800_SLP = 0x10 /* HD63701 only */
};
- m6800_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const m6800_cpu_device::op_func *insn, const uint8_t *cycles, address_map_constructor internal);
+ m6800_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const m6800_cpu_device::op_func *insn, const uint8_t *cycles, address_map_constructor internal);
// device-level overrides
virtual void device_start() override;
@@ -364,12 +364,12 @@ protected:
class m6802_cpu_device : public m6800_cpu_device
{
public:
- m6802_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6802_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void set_ram_enable(bool re) { assert(!configured()); m_ram_enable = re; }
protected:
- m6802_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const m6800_cpu_device::op_func *insn, const uint8_t *cycles);
+ m6802_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const m6800_cpu_device::op_func *insn, const uint8_t *cycles);
virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 4 - 1) / 4; }
virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 4); }
@@ -385,7 +385,7 @@ private:
class m6808_cpu_device : public m6802_cpu_device
{
public:
- m6808_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6808_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -396,7 +396,7 @@ protected:
class nsc8105_cpu_device : public m6802_cpu_device
{
public:
- nsc8105_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nsc8105_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/m6800/m6801.cpp b/src/devices/cpu/m6800/m6801.cpp
index e759a0b57cc..9bce8f303fb 100644
--- a/src/devices/cpu/m6800/m6801.cpp
+++ b/src/devices/cpu/m6800/m6801.cpp
@@ -309,12 +309,12 @@ DEFINE_DEVICE_TYPE(HD6303R, hd6303r_cpu_device, "hd6303r", "Hitachi HD6303R")
DEFINE_DEVICE_TYPE(HD6303X, hd6303x_cpu_device, "hd6303x", "Hitachi HD6303X")
DEFINE_DEVICE_TYPE(HD6303Y, hd6303y_cpu_device, "hd6303y", "Hitachi HD6303Y")
-m6801_cpu_device::m6801_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m6801_cpu_device::m6801_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6801_cpu_device(mconfig, M6801, tag, owner, clock, m6803_insn, cycles_6803, address_map_constructor())
{
}
-m6801_cpu_device::m6801_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const op_func *insn, const uint8_t *cycles, address_map_constructor internal)
+m6801_cpu_device::m6801_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const op_func *insn, const uint8_t *cycles, address_map_constructor internal)
: m6800_cpu_device(mconfig, type, tag, owner, clock, insn, cycles, internal)
, m_in_port_func(*this)
, m_out_port_func(*this)
@@ -324,37 +324,37 @@ m6801_cpu_device::m6801_cpu_device(const machine_config &mconfig, device_type ty
{
}
-m6803_cpu_device::m6803_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m6803_cpu_device::m6803_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6801_cpu_device(mconfig, M6803, tag, owner, clock, m6803_insn, cycles_6803, address_map_constructor(FUNC(m6803_cpu_device::m6803_mem), this))
{
}
-m6803e_cpu_device::m6803e_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m6803e_cpu_device::m6803e_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6801_cpu_device(mconfig, M6803E, tag, owner, clock, m6803_insn, cycles_6803, address_map_constructor(FUNC(m6803e_cpu_device::m6803_mem), this))
{
}
-hd6301_cpu_device::hd6301_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+hd6301_cpu_device::hd6301_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: m6801_cpu_device(mconfig, type, tag, owner, clock, hd63701_insn, cycles_63701)
{
}
-hd6301v1_cpu_device::hd6301v1_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd6301v1_cpu_device::hd6301v1_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hd6301_cpu_device(mconfig, HD6301V1, tag, owner, clock)
{
}
-hd63701v0_cpu_device::hd63701v0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd63701v0_cpu_device::hd63701v0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hd6301_cpu_device(mconfig, HD63701V0, tag, owner, clock)
{
}
-hd6303r_cpu_device::hd6303r_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd6303r_cpu_device::hd6303r_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hd6301_cpu_device(mconfig, HD6303R, tag, owner, clock)
{
}
-hd6301x_cpu_device::hd6301x_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+hd6301x_cpu_device::hd6301x_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: hd6301_cpu_device(mconfig, type, tag, owner, clock)
, m_in_portx_func(*this)
, m_out_portx_func(*this)
@@ -362,37 +362,37 @@ hd6301x_cpu_device::hd6301x_cpu_device(const machine_config &mconfig, device_typ
m_sclk_divider = 16;
}
-hd6301x0_cpu_device::hd6301x0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd6301x0_cpu_device::hd6301x0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hd6301x_cpu_device(mconfig, HD6301X0, tag, owner, clock)
{
}
-hd63701x0_cpu_device::hd63701x0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd63701x0_cpu_device::hd63701x0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hd6301x_cpu_device(mconfig, HD63701X0, tag, owner, clock)
{
}
-hd6303x_cpu_device::hd6303x_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd6303x_cpu_device::hd6303x_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hd6301x_cpu_device(mconfig, HD6303X, tag, owner, clock)
{
}
-hd6301y_cpu_device::hd6301y_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+hd6301y_cpu_device::hd6301y_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: hd6301x_cpu_device(mconfig, type, tag, owner, clock)
{
}
-hd6301y0_cpu_device::hd6301y0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd6301y0_cpu_device::hd6301y0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hd6301y_cpu_device(mconfig, HD6301Y0, tag, owner, clock)
{
}
-hd63701y0_cpu_device::hd63701y0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd63701y0_cpu_device::hd63701y0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hd6301y_cpu_device(mconfig, HD63701Y0, tag, owner, clock)
{
}
-hd6303y_cpu_device::hd6303y_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd6303y_cpu_device::hd6303y_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: hd6301y_cpu_device(mconfig, HD6303Y, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/m6800/m6801.h b/src/devices/cpu/m6800/m6801.h
index de74fed4ff7..435c3e7836a 100644
--- a/src/devices/cpu/m6800/m6801.h
+++ b/src/devices/cpu/m6800/m6801.h
@@ -43,7 +43,7 @@ enum
class m6801_cpu_device : public m6800_cpu_device
{
public:
- m6801_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6801_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto in_p1_cb() { return m_in_port_func[0].bind(); }
auto out_p1_cb() { return m_out_port_func[0].bind(); }
@@ -62,7 +62,7 @@ public:
void m6801_clock_serial();
protected:
- m6801_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const m6800_cpu_device::op_func *insn, const uint8_t *cycles, address_map_constructor internal = address_map_constructor());
+ m6801_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const m6800_cpu_device::op_func *insn, const uint8_t *cycles, address_map_constructor internal = address_map_constructor());
// device-level overrides
virtual void device_resolve_objects() override;
@@ -184,7 +184,7 @@ protected:
class m6803_cpu_device : public m6801_cpu_device
{
public:
- m6803_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6803_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -194,7 +194,7 @@ protected:
class m6803e_cpu_device : public m6801_cpu_device
{
public:
- m6803e_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6803e_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return clocks; }
@@ -207,7 +207,7 @@ protected:
class hd6301_cpu_device : public m6801_cpu_device
{
protected:
- hd6301_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ hd6301_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -224,7 +224,7 @@ protected:
class hd6301v1_cpu_device : public hd6301_cpu_device
{
public:
- hd6301v1_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd6301v1_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -233,7 +233,7 @@ public:
class hd63701v0_cpu_device : public hd6301_cpu_device
{
public:
- hd63701v0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd63701v0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -244,7 +244,7 @@ public:
class hd6303r_cpu_device : public hd6301_cpu_device
{
public:
- hd6303r_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd6303r_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -261,7 +261,7 @@ public:
void hd6301x_io(address_map &map);
protected:
- hd6301x_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ hd6301x_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_resolve_objects() override;
@@ -328,7 +328,7 @@ protected:
class hd6301x0_cpu_device : public hd6301x_cpu_device
{
public:
- hd6301x0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd6301x0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -337,7 +337,7 @@ public:
class hd63701x0_cpu_device : public hd6301x_cpu_device
{
public:
- hd63701x0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd63701x0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -348,7 +348,7 @@ public:
class hd6303x_cpu_device : public hd6301x_cpu_device
{
public:
- hd6303x_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd6303x_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -359,7 +359,7 @@ public:
void hd6301y_io(address_map &map);
protected:
- hd6301y_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ hd6301y_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -392,7 +392,7 @@ protected:
class hd6301y0_cpu_device : public hd6301y_cpu_device
{
public:
- hd6301y0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd6301y0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -401,7 +401,7 @@ public:
class hd63701y0_cpu_device : public hd6301y_cpu_device
{
public:
- hd63701y0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd63701y0_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -413,7 +413,7 @@ public:
class hd6303y_cpu_device : public hd6301y_cpu_device
{
public:
- hd6303y_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd6303y_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/m68000/fscpu32.cpp b/src/devices/cpu/m68000/fscpu32.cpp
index e633d7a059d..a1ce0e2814f 100644
--- a/src/devices/cpu/m68000/fscpu32.cpp
+++ b/src/devices/cpu/m68000/fscpu32.cpp
@@ -10,7 +10,7 @@ std::unique_ptr<util::disasm_interface> fscpu32_device::create_disassembler()
return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_CPU32);
}
-fscpu32_device::fscpu32_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+fscpu32_device::fscpu32_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, address_map_constructor internal_map)
: m68000_base_device(mconfig, tag, owner, clock, type, 16,32, internal_map)
{
diff --git a/src/devices/cpu/m68000/fscpu32.h b/src/devices/cpu/m68000/fscpu32.h
index 66bb7e1f114..7ff86b870d9 100644
--- a/src/devices/cpu/m68000/fscpu32.h
+++ b/src/devices/cpu/m68000/fscpu32.h
@@ -19,7 +19,7 @@ public:
virtual void device_start() override;
protected:
- fscpu32_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+ fscpu32_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, address_map_constructor internal_map);
};
diff --git a/src/devices/cpu/m68000/m68000.cpp b/src/devices/cpu/m68000/m68000.cpp
index 751ded698d2..8cf4ea3d28f 100644
--- a/src/devices/cpu/m68000/m68000.cpp
+++ b/src/devices/cpu/m68000/m68000.cpp
@@ -12,12 +12,12 @@ std::unique_ptr<util::disasm_interface> m68000_device::create_disassembler()
return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_68000);
}
-m68000_device::m68000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68000_device::m68000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_device(mconfig, M68000, tag, owner, clock)
{
}
-m68000_device::m68000_device(const machine_config &mconfig, const device_type type, const char *tag, device_t *owner, u32 clock)
+m68000_device::m68000_device(const machine_config &mconfig, const device_type type, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, type, 16,24)
{
}
@@ -28,7 +28,7 @@ void m68000_device::device_start()
init_cpu_m68000();
}
-m68000_device::m68000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+m68000_device::m68000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, u32 prg_data_width, u32 prg_address_bits, address_map_constructor internal_map)
: m68000_base_device(mconfig, tag, owner, clock, type, prg_data_width, prg_address_bits, internal_map)
{
diff --git a/src/devices/cpu/m68000/m68000.h b/src/devices/cpu/m68000/m68000.h
index f97fd11c1c7..a53042f3018 100644
--- a/src/devices/cpu/m68000/m68000.h
+++ b/src/devices/cpu/m68000/m68000.h
@@ -11,7 +11,7 @@ class m68000_device : public m68000_base_device
{
public:
// construction/destruction
- m68000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -23,9 +23,9 @@ public:
virtual void device_start() override;
protected:
- m68000_device(const machine_config &mconfig, const device_type type, const char *tag, device_t *owner, u32 clock);
+ m68000_device(const machine_config &mconfig, const device_type type, const char *tag, device_t *owner, const XTAL &clock);
- m68000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+ m68000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, u32 prg_data_width, u32 prg_address_bits, address_map_constructor internal_map);
};
diff --git a/src/devices/cpu/m68000/m68008.cpp b/src/devices/cpu/m68000/m68008.cpp
index 2b83211d9c5..f29f671fea1 100644
--- a/src/devices/cpu/m68000/m68008.cpp
+++ b/src/devices/cpu/m68000/m68008.cpp
@@ -18,7 +18,7 @@ std::unique_ptr<util::disasm_interface> m68008fn_device::create_disassembler()
return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_68008);
}
-m68008_device::m68008_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68008_device::m68008_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68008, 8,20)
{
}
@@ -30,7 +30,7 @@ void m68008_device::device_start()
}
-m68008fn_device::m68008fn_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68008fn_device::m68008fn_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68008FN, 8,22)
{
}
diff --git a/src/devices/cpu/m68000/m68008.h b/src/devices/cpu/m68000/m68008.h
index b6d4e06062e..442d8b8f22a 100644
--- a/src/devices/cpu/m68000/m68008.h
+++ b/src/devices/cpu/m68000/m68008.h
@@ -11,7 +11,7 @@ class m68008_device : public m68000_base_device
{
public:
// construction/destruction
- m68008_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68008_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -26,7 +26,7 @@ class m68008fn_device : public m68000_base_device
{
public:
// construction/destruction
- m68008fn_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68008fn_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/m68000/m68010.cpp b/src/devices/cpu/m68000/m68010.cpp
index 6983ec1d7fc..3d37cf0c533 100644
--- a/src/devices/cpu/m68000/m68010.cpp
+++ b/src/devices/cpu/m68000/m68010.cpp
@@ -13,7 +13,7 @@ std::unique_ptr<util::disasm_interface> m68010_device::create_disassembler()
}
-m68010_device::m68010_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68010_device::m68010_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68010, 16,24)
{
}
diff --git a/src/devices/cpu/m68000/m68010.h b/src/devices/cpu/m68000/m68010.h
index dff4a1d96e5..6d0ef8e6f31 100644
--- a/src/devices/cpu/m68000/m68010.h
+++ b/src/devices/cpu/m68000/m68010.h
@@ -11,7 +11,7 @@ class m68010_device : public m68000_base_device
{
public:
// construction/destruction
- m68010_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68010_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/m68000/m68020.cpp b/src/devices/cpu/m68000/m68020.cpp
index 0e0e0ea3992..9a54c6a284e 100644
--- a/src/devices/cpu/m68000/m68020.cpp
+++ b/src/devices/cpu/m68000/m68020.cpp
@@ -36,7 +36,7 @@ std::unique_ptr<util::disasm_interface> m68020hmmu_device::create_disassembler()
return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_68020);
}
-m68020_device::m68020_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68020_device::m68020_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68020, 32,32)
{
}
@@ -48,7 +48,7 @@ void m68020_device::device_start()
}
-m68020fpu_device::m68020fpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68020fpu_device::m68020fpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68020FPU, 32,32)
{
}
@@ -60,7 +60,7 @@ void m68020fpu_device::device_start()
}
// 68020 with 68851 PMMU
-m68020pmmu_device::m68020pmmu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68020pmmu_device::m68020pmmu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68020PMMU, 32,32)
{
}
@@ -86,7 +86,7 @@ bool m68020hmmu_device::memory_translate(int space, int intention, offs_t &addre
// 68020 with Apple HMMU & 68881 FPU
// case CPUINFO_FCT_TRANSLATE: info->translate = CPU_TRANSLATE_NAME(m68khmmu); break;
-m68020hmmu_device::m68020hmmu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68020hmmu_device::m68020hmmu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68020HMMU, 32,32)
{
}
@@ -98,7 +98,7 @@ void m68020hmmu_device::device_start()
}
-m68ec020_device::m68ec020_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68ec020_device::m68ec020_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68EC020, 32,24)
{
}
diff --git a/src/devices/cpu/m68000/m68020.h b/src/devices/cpu/m68000/m68020.h
index 265174c5076..19b643a0f93 100644
--- a/src/devices/cpu/m68000/m68020.h
+++ b/src/devices/cpu/m68000/m68020.h
@@ -11,7 +11,7 @@ class m68ec020_device : public m68000_base_device
{
public:
// construction/destruction
- m68ec020_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68ec020_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -26,7 +26,7 @@ class m68020_device : public m68000_base_device
{
public:
// construction/destruction
- m68020_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68020_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -41,7 +41,7 @@ class m68020fpu_device : public m68000_base_device
{
public:
// construction/destruction
- m68020fpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68020fpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -56,7 +56,7 @@ class m68020pmmu_device : public m68000_base_device
{
public:
// construction/destruction
- m68020pmmu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68020pmmu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -71,7 +71,7 @@ class m68020hmmu_device : public m68000_base_device
{
public:
// construction/destruction
- m68020hmmu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68020hmmu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/m68000/m68030.cpp b/src/devices/cpu/m68000/m68030.cpp
index f2e7c3c759a..84b69d81631 100644
--- a/src/devices/cpu/m68000/m68030.cpp
+++ b/src/devices/cpu/m68000/m68030.cpp
@@ -18,7 +18,7 @@ std::unique_ptr<util::disasm_interface> m68030_device::create_disassembler()
return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_68030);
}
-m68030_device::m68030_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68030_device::m68030_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68030, 32,32)
{
}
@@ -29,7 +29,7 @@ void m68030_device::device_start()
init_cpu_m68030();
}
-m68ec030_device::m68ec030_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68ec030_device::m68ec030_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68EC030, 32,32)
{
}
diff --git a/src/devices/cpu/m68000/m68030.h b/src/devices/cpu/m68000/m68030.h
index d2206e5f084..527edd536df 100644
--- a/src/devices/cpu/m68000/m68030.h
+++ b/src/devices/cpu/m68000/m68030.h
@@ -11,7 +11,7 @@ class m68ec030_device : public m68000_base_device
{
public:
// construction/destruction
- m68ec030_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68ec030_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -26,7 +26,7 @@ class m68030_device : public m68000_base_device
{
public:
// construction/destruction
- m68030_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68030_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/m68000/m68040.cpp b/src/devices/cpu/m68000/m68040.cpp
index d01b7cc927c..7dcb3b12746 100644
--- a/src/devices/cpu/m68000/m68040.cpp
+++ b/src/devices/cpu/m68000/m68040.cpp
@@ -24,7 +24,7 @@ std::unique_ptr<util::disasm_interface> m68040_device::create_disassembler()
return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_68040);
}
-m68040_device::m68040_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68040_device::m68040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68040, 32,32)
{
}
@@ -38,7 +38,7 @@ void m68040_device::device_start()
-m68ec040_device::m68ec040_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68ec040_device::m68ec040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68EC040, 32,32)
{
}
@@ -51,7 +51,7 @@ void m68ec040_device::device_start()
-m68lc040_device::m68lc040_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m68lc040_device::m68lc040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, M68LC040, 32,32)
{
}
diff --git a/src/devices/cpu/m68000/m68040.h b/src/devices/cpu/m68000/m68040.h
index b09def174d8..bef31785212 100644
--- a/src/devices/cpu/m68000/m68040.h
+++ b/src/devices/cpu/m68000/m68040.h
@@ -11,7 +11,7 @@ class m68ec040_device : public m68000_base_device
{
public:
// construction/destruction
- m68ec040_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68ec040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -26,7 +26,7 @@ class m68lc040_device : public m68000_base_device
{
public:
// construction/destruction
- m68lc040_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68lc040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -41,7 +41,7 @@ class m68040_device : public m68000_base_device
{
public:
// construction/destruction
- m68040_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/m68000/m68kcommon.h b/src/devices/cpu/m68000/m68kcommon.h
index 6e2ab7de5d7..86659ec7beb 100644
--- a/src/devices/cpu/m68000/m68kcommon.h
+++ b/src/devices/cpu/m68000/m68kcommon.h
@@ -102,7 +102,7 @@ public:
};
// construction/destruction
- m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
static constexpr u8 autovector(int level) { return 0x18 + level; }
void autovectors_map(address_map &map);
@@ -173,10 +173,10 @@ public:
void set_cpu_space(int space_id) { m_cpu_space_id = space_id; }
protected:
- m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+ m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, u32 prg_data_width, u32 prg_address_bits);
- m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+ m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, u32 prg_data_width, u32 prg_address_bits, address_map_constructor internal_map);
int m_has_fpu; /* Indicates if a FPU is available (yes on 030, 040, may be on 020) */
diff --git a/src/devices/cpu/m68000/m68kcpu.cpp b/src/devices/cpu/m68000/m68kcpu.cpp
index 2b00922c9e1..8ccdebe84b2 100644
--- a/src/devices/cpu/m68000/m68kcpu.cpp
+++ b/src/devices/cpu/m68000/m68kcpu.cpp
@@ -2257,7 +2257,7 @@ void m68000_base_device::m68ki_exception_interrupt(u32 int_level)
// m68000_base_device - constructor
//-------------------------------------------------
-m68000_base_device::m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+m68000_base_device::m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, u32 prg_data_width, u32 prg_address_bits, address_map_constructor internal_map)
: cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, prg_data_width, prg_address_bits, 0, internal_map),
@@ -2274,7 +2274,7 @@ m68000_base_device::m68000_base_device(const machine_config &mconfig, const char
}
-m68000_base_device::m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+m68000_base_device::m68000_base_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, u32 prg_data_width, u32 prg_address_bits)
: cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, prg_data_width, prg_address_bits),
diff --git a/src/devices/cpu/m68000/mcf5206e.cpp b/src/devices/cpu/m68000/mcf5206e.cpp
index 3a20ad7e473..fd5835d7fd8 100644
--- a/src/devices/cpu/m68000/mcf5206e.cpp
+++ b/src/devices/cpu/m68000/mcf5206e.cpp
@@ -12,7 +12,7 @@ std::unique_ptr<util::disasm_interface> mcf5206e_device::create_disassembler()
return std::make_unique<m68k_disassembler>(m68k_disassembler::TYPE_COLDFIRE);
}
-mcf5206e_device::mcf5206e_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+mcf5206e_device::mcf5206e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68000_base_device(mconfig, tag, owner, clock, MCF5206E, 32,32)
{
}
diff --git a/src/devices/cpu/m68000/mcf5206e.h b/src/devices/cpu/m68000/mcf5206e.h
index 508f2c812a7..8a190b2f3b4 100644
--- a/src/devices/cpu/m68000/mcf5206e.h
+++ b/src/devices/cpu/m68000/mcf5206e.h
@@ -11,7 +11,7 @@ class mcf5206e_device : public m68000_base_device
{
public:
// construction/destruction
- mcf5206e_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mcf5206e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/m68000/scc68070.cpp b/src/devices/cpu/m68000/scc68070.cpp
index e0daf10b68f..bff9340edc9 100644
--- a/src/devices/cpu/m68000/scc68070.cpp
+++ b/src/devices/cpu/m68000/scc68070.cpp
@@ -11,7 +11,7 @@ std::unique_ptr<util::disasm_interface> scc68070_base_device::create_disassemble
}
-scc68070_base_device::scc68070_base_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+scc68070_base_device::scc68070_base_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, address_map_constructor internal_map)
: m68000_base_device(mconfig, tag, owner, clock, type, 16,32, internal_map)
{
diff --git a/src/devices/cpu/m68000/scc68070.h b/src/devices/cpu/m68000/scc68070.h
index 20d2d8c62d6..1e6b5b46278 100644
--- a/src/devices/cpu/m68000/scc68070.h
+++ b/src/devices/cpu/m68000/scc68070.h
@@ -18,7 +18,7 @@ protected:
// device-level overrides
virtual void device_start() override;
- scc68070_base_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock,
+ scc68070_base_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock,
const device_type type, address_map_constructor internal_map);
};
diff --git a/src/devices/cpu/m6805/m6805.cpp b/src/devices/cpu/m6805/m6805.cpp
index 26cc630f3bb..8a01e0fef5d 100644
--- a/src/devices/cpu/m6805/m6805.cpp
+++ b/src/devices/cpu/m6805/m6805.cpp
@@ -314,7 +314,7 @@ m6805_base_device::m6805_base_device(
machine_config const &mconfig,
char const *tag,
device_t *owner,
- uint32_t clock,
+ const XTAL &clock,
device_type const type,
configuration_params const &params)
: cpu_device(mconfig, type, tag, owner, clock)
@@ -327,7 +327,7 @@ m6805_base_device::m6805_base_device(
machine_config const &mconfig,
char const *tag,
device_t *owner,
- uint32_t clock,
+ const XTAL &clock,
device_type const type,
configuration_params const &params,
address_map_constructor internal_map)
@@ -632,7 +632,7 @@ void m6805_base_device::execute_set_input(int inputnum, int state)
/****************************************************************************
* M68HC05EG section
****************************************************************************/
-m68hc05eg_device::m68hc05eg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m68hc05eg_device::m68hc05eg_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6805_base_device(
mconfig,
tag,
@@ -687,7 +687,7 @@ std::unique_ptr<util::disasm_interface> m68hc05eg_device::create_disassembler()
/****************************************************************************
* HD63705 section
****************************************************************************/
-hd63705_device::hd63705_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd63705_device::hd63705_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6805_base_device(mconfig,
tag,
owner,
diff --git a/src/devices/cpu/m6805/m6805.h b/src/devices/cpu/m6805/m6805.h
index 824c664b829..f0ce42bc0f8 100644
--- a/src/devices/cpu/m6805/m6805.h
+++ b/src/devices/cpu/m6805/m6805.h
@@ -111,14 +111,14 @@ protected:
machine_config const &mconfig,
char const *tag,
device_t *owner,
- uint32_t clock,
+ const XTAL &clock,
device_type const type,
configuration_params const &params);
m6805_base_device(
machine_config const &mconfig,
char const *tag,
device_t *owner,
- uint32_t clock,
+ const XTAL &clock,
device_type const type,
configuration_params const &params,
address_map_constructor internal_map);
@@ -313,7 +313,7 @@ class m68hc05eg_device : public m6805_base_device
{
public:
// construction/destruction
- m68hc05eg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m68hc05eg_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
@@ -332,7 +332,7 @@ class hd63705_device : public m6805_base_device
{
public:
// construction/destruction
- hd63705_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd63705_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/m6805/m68705.cpp b/src/devices/cpu/m6805/m68705.cpp
index 96a36d2c711..7c9284fe74e 100644
--- a/src/devices/cpu/m6805/m68705.cpp
+++ b/src/devices/cpu/m6805/m68705.cpp
@@ -214,7 +214,7 @@ Ux Parts:
*/
-m6805_hmos_device::m6805_hmos_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type, u32 addr_width, unsigned ram_size)
+m6805_hmos_device::m6805_hmos_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type, u32 addr_width, unsigned ram_size)
: m6805_base_device(mconfig, tag, owner, clock, type, { addr_width > 13 ? s_hmos_b_ops : s_hmos_s_ops, s_hmos_cycles, addr_width, 0x007f, 0x0060, M6805_VECTOR_SWI }, address_map_constructor(FUNC(m6805_hmos_device::map), this))
, m_timer(*this)
, m_port_open_drain{ false, false, false, false }
@@ -228,7 +228,7 @@ m6805_hmos_device::m6805_hmos_device(machine_config const &mconfig, char const *
{
}
-m68705_device::m68705_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type, u32 addr_width, unsigned ram_size)
+m68705_device::m68705_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type, u32 addr_width, unsigned ram_size)
: m6805_hmos_device(mconfig, tag, owner, clock, type, addr_width, ram_size)
, device_nvram_interface(mconfig, *this)
, m_user_rom(*this, DEVICE_SELF)
@@ -634,7 +634,7 @@ void m68705p_device::internal_map(address_map &map)
map(0x07f8, 0x07ff).rw(FUNC(m68705p_device::eprom_r<0x07f8>), FUNC(m68705p_device::eprom_w<0x07f8>)); // Interrupt vectors
}
-m68705p_device::m68705p_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type)
+m68705p_device::m68705p_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type)
: m68705_device(mconfig, tag, owner, clock, type, 11, 112)
{
set_port_open_drain<0>(true); // Port A is open drain with internal pull-ups
@@ -669,7 +669,7 @@ void m68705u_device::internal_map(address_map &map)
map(0x0ff8, 0x0fff).rw(FUNC(m68705u_device::eprom_r<0x0ff8>), FUNC(m68705u_device::eprom_w<0x0ff8>)); // Interrupt vectors
}
-m68705u_device::m68705u_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type)
+m68705u_device::m68705u_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type)
: m68705_device(mconfig, tag, owner, clock, type, 12, 112)
{
set_port_open_drain<0>(true); // Port A is open drain with internal pull-ups
@@ -705,7 +705,7 @@ void m68705r_device::internal_map(address_map &map)
map(0x0ff8, 0x0fff).rw(FUNC(m68705r_device::eprom_r<0x0ff8>), FUNC(m68705r_device::eprom_w<0x0ff8>)); // Interrupt vectors
}
-m68705r_device::m68705r_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type)
+m68705r_device::m68705r_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type)
: m68705u_device(mconfig, tag, owner, clock, type)
{
}
@@ -726,7 +726,7 @@ std::unique_ptr<util::disasm_interface> m68705r_device::create_disassembler()
* M68705P3 device
****************************************************************************/
-m68705p3_device::m68705p3_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m68705p3_device::m68705p3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68705p_device(mconfig, tag, owner, clock, M68705P3)
{
}
@@ -746,7 +746,7 @@ u8 m68705p3_device::get_mask_options() const
* M68705P5 device
****************************************************************************/
-m68705p5_device::m68705p5_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m68705p5_device::m68705p5_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68705p_device(mconfig, tag, owner, clock, M68705P5)
{
}
@@ -766,7 +766,7 @@ u8 m68705p5_device::get_mask_options() const
* M68705R3 device
****************************************************************************/
-m68705r3_device::m68705r3_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m68705r3_device::m68705r3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68705r_device(mconfig, tag, owner, clock, M68705R3)
{
}
@@ -786,7 +786,7 @@ u8 m68705r3_device::get_mask_options() const
* M68705U3 device
****************************************************************************/
-m68705u3_device::m68705u3_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m68705u3_device::m68705u3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68705u_device(mconfig, tag, owner, clock, M68705U3)
{
}
@@ -801,7 +801,7 @@ u8 m68705u3_device::get_mask_options() const
return get_user_rom()[0x0f38] & 0xf7; // no SNM bit
}
-m6805p2_device::m6805p2_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m6805p2_device::m6805p2_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m6805_mrom_device(mconfig, tag, owner, clock, M6805P2, 11, 64)
{
/*
@@ -816,7 +816,7 @@ m6805p2_device::m6805p2_device(machine_config const &mconfig, char const *tag, d
set_port_mask<3>(0xff); // Port D isn't present
}
-m6805p6_device::m6805p6_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m6805p6_device::m6805p6_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m6805_mrom_device(mconfig, tag, owner, clock, M6805P6, 11, 64)
{
m_timer.set_options(m6805_timer::TIMER_MOR /* | m6805::TIMER_NPC */);
@@ -826,33 +826,33 @@ m6805p6_device::m6805p6_device(machine_config const &mconfig, char const *tag, d
set_port_mask<3>(0xff); // Port D isn't present
}
-m6805r2_device::m6805r2_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m6805r2_device::m6805r2_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m6805_mrom_device(mconfig, tag, owner, clock, M6805R2, 12, 64)
{
m_timer.set_options(m6805_timer::TIMER_MOR);
m_timer.set_source(m6805_timer::CLOCK_TIMER);
}
-m6805r3_device::m6805r3_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m6805r3_device::m6805r3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m6805_mrom_device(mconfig, tag, owner, clock, M6805R3, 12, 112)
{
m_timer.set_options(m6805_timer::TIMER_PGM);
}
-m6805u2_device::m6805u2_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m6805u2_device::m6805u2_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m6805_mrom_device(mconfig, tag, owner, clock, M6805U2, 12, 64)
{
m_timer.set_options(m6805_timer::TIMER_MOR);
m_timer.set_source(m6805_timer::CLOCK_TIMER);
}
-m6805u3_device::m6805u3_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+m6805u3_device::m6805u3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m6805_mrom_device(mconfig, tag, owner, clock, M6805U3, 12, 112)
{
m_timer.set_options(m6805_timer::TIMER_PGM);
}
-hd6805s1_device::hd6805s1_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+hd6805s1_device::hd6805s1_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m6805_mrom_device(mconfig, tag, owner, clock, HD6805S1, 11, 64)
{
m_timer.set_options(m6805_timer::TIMER_NPC);
@@ -861,7 +861,7 @@ hd6805s1_device::hd6805s1_device(machine_config const &mconfig, char const *tag,
set_port_mask<3>(0xff); // Port D isn't present
}
-hd6805u1_device::hd6805u1_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
+hd6805u1_device::hd6805u1_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m6805_mrom_device(mconfig, tag, owner, clock, HD6805U1, 12, 96)
{
// Port D has optional analog comparator but no INT2 (no MISC register, either)
diff --git a/src/devices/cpu/m6805/m68705.h b/src/devices/cpu/m6805/m68705.h
index e8bd0659135..af90a7d7d4c 100644
--- a/src/devices/cpu/m6805/m68705.h
+++ b/src/devices/cpu/m6805/m68705.h
@@ -164,7 +164,7 @@ protected:
static unsigned const PORT_COUNT = 4;
- m6805_hmos_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type, u32 addr_width, unsigned ram_size);
+ m6805_hmos_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type, u32 addr_width, unsigned ram_size);
void map(address_map &map) { internal_map(map); }
virtual void internal_map(address_map &map);
@@ -225,7 +225,7 @@ private:
class m6805_mrom_device : public m6805_hmos_device
{
protected:
- m6805_mrom_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type, u32 addr_width, unsigned ram_size)
+ m6805_mrom_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type, u32 addr_width, unsigned ram_size)
: m6805_hmos_device(mconfig, tag, owner, clock, type, addr_width, ram_size)
{
}
@@ -248,7 +248,7 @@ public:
protected:
virtual void internal_map(address_map &map) override;
- m68705_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type, u32 addr_width, unsigned ram_size);
+ m68705_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type, u32 addr_width, unsigned ram_size);
template <offs_t B> u8 eprom_r(offs_t offset);
template <offs_t B> void eprom_w(offs_t offset, u8 data);
@@ -290,7 +290,7 @@ public:
protected:
virtual void internal_map(address_map &map) override;
- m68705p_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type);
+ m68705p_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type);
virtual void device_start() override;
@@ -308,7 +308,7 @@ public:
protected:
virtual void internal_map(address_map &map) override;
- m68705u_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type);
+ m68705u_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type);
virtual void device_start() override;
@@ -323,7 +323,7 @@ public:
protected:
virtual void internal_map(address_map &map) override;
- m68705r_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, device_type type);
+ m68705r_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, device_type type);
virtual void device_start() override;
@@ -334,7 +334,7 @@ protected:
class m6805p2_device : public m6805_mrom_device
{
public:
- m6805p2_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m6805p2_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
// mask options
void set_timer_divisor(unsigned divisor) { m_timer.set_divisor(divisor); }
@@ -344,7 +344,7 @@ public:
class m6805p6_device : public m6805_mrom_device
{
public:
- m6805p6_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m6805p6_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
// mask options
void set_timer_divisor(unsigned divisor) { m_timer.set_divisor(divisor); }
@@ -354,7 +354,7 @@ public:
class m6805r2_device : public m6805_mrom_device
{
public:
- m6805r2_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m6805r2_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
// mask options
void set_timer_divisor(unsigned divisor) { m_timer.set_divisor(divisor); }
@@ -367,7 +367,7 @@ protected:
class m6805r3_device : public m6805_mrom_device
{
public:
- m6805r3_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m6805r3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
virtual void internal_map(address_map &map) override;
@@ -376,7 +376,7 @@ protected:
class m6805u2_device : public m6805_mrom_device
{
public:
- m6805u2_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m6805u2_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
// mask options
void set_timer_divisor(unsigned divisor) { m_timer.set_divisor(divisor); }
@@ -386,7 +386,7 @@ public:
class m6805u3_device : public m6805_mrom_device
{
public:
- m6805u3_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m6805u3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
};
@@ -394,19 +394,19 @@ protected:
class hd6805s1_device : public m6805_mrom_device
{
public:
- hd6805s1_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ hd6805s1_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
class hd6805u1_device : public m6805_mrom_device
{
public:
- hd6805u1_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ hd6805u1_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
class m68705p3_device : public m68705p_device
{
public:
- m68705p3_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68705p3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
virtual tiny_rom_entry const *device_rom_region() const override;
@@ -417,7 +417,7 @@ protected:
class m68705p5_device : public m68705p_device
{
public:
- m68705p5_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68705p5_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
virtual tiny_rom_entry const *device_rom_region() const override;
@@ -428,7 +428,7 @@ protected:
class m68705r3_device : public m68705r_device
{
public:
- m68705r3_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68705r3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
virtual tiny_rom_entry const *device_rom_region() const override;
@@ -439,7 +439,7 @@ protected:
class m68705u3_device : public m68705u_device
{
public:
- m68705u3_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68705u3_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
static auto parent_rom_device_type() { return &M68705R3; }
diff --git a/src/devices/cpu/m6805/m68hc05.cpp b/src/devices/cpu/m6805/m68hc05.cpp
index df7c590d3a3..a18fdd7ccfb 100644
--- a/src/devices/cpu/m6805/m68hc05.cpp
+++ b/src/devices/cpu/m6805/m68hc05.cpp
@@ -138,7 +138,7 @@ m68hc05_device::m68hc05_device(
machine_config const &mconfig,
char const *tag,
device_t *owner,
- u32 clock,
+ const XTAL &clock,
device_type type,
u32 addr_width,
u16 vector_mask,
@@ -759,7 +759,7 @@ m68hc705_device::m68hc705_device(
machine_config const &mconfig,
char const *tag,
device_t *owner,
- u32 clock,
+ const XTAL &clock,
device_type type,
u32 addr_width,
address_map_constructor internal_map)
@@ -805,7 +805,7 @@ void m68hc05c4_device::c4_map(address_map &map)
}
-m68hc05c4_device::m68hc05c4_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+m68hc05c4_device::m68hc05c4_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68hc05_device(
mconfig,
tag,
@@ -872,7 +872,7 @@ void m68hc05c8_device::c8_map(address_map &map)
}
-m68hc05c8_device::m68hc05c8_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+m68hc05c8_device::m68hc05c8_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68hc05_device(
mconfig,
tag,
@@ -943,7 +943,7 @@ void m68hc705c4a_device::c4a_map(address_map &map)
}
-m68hc705c4a_device::m68hc705c4a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+m68hc705c4a_device::m68hc705c4a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68hc705_device(
mconfig,
tag,
@@ -1039,7 +1039,7 @@ void m68hc705c8a_device::c8a_map(address_map &map)
}
-m68hc705c8a_device::m68hc705c8a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+m68hc705c8a_device::m68hc705c8a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68hc705_device(
mconfig,
tag,
@@ -1155,7 +1155,7 @@ void m68hc705j1a_device::j1a_map(address_map &map)
}
-m68hc705j1a_device::m68hc705j1a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+m68hc705j1a_device::m68hc705j1a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68hc705_device(
mconfig,
tag,
@@ -1235,7 +1235,7 @@ void m68hc05l9_device::l9_map(address_map &map)
}
-m68hc05l9_device::m68hc05l9_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+m68hc05l9_device::m68hc05l9_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68hc05_device(
mconfig,
tag,
@@ -1318,7 +1318,7 @@ void m68hc05l11_device::l11_map(address_map &map)
}
-m68hc05l11_device::m68hc05l11_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+m68hc05l11_device::m68hc05l11_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: m68hc05_device(
mconfig,
tag,
diff --git a/src/devices/cpu/m6805/m68hc05.h b/src/devices/cpu/m6805/m68hc05.h
index 939f71de211..5843a7df2f0 100644
--- a/src/devices/cpu/m6805/m68hc05.h
+++ b/src/devices/cpu/m6805/m68hc05.h
@@ -87,7 +87,7 @@ protected:
machine_config const &mconfig,
char const *tag,
device_t *owner,
- u32 clock,
+ const XTAL &clock,
device_type type,
u32 addr_width,
u16 vector_mask,
@@ -189,7 +189,7 @@ protected:
machine_config const &mconfig,
char const *tag,
device_t *owner,
- u32 clock,
+ const XTAL &clock,
device_type type,
u32 addr_width,
address_map_constructor internal_map);
@@ -201,7 +201,7 @@ protected:
class m68hc05c4_device : public m68hc05_device
{
public:
- m68hc05c4_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68hc05c4_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
void c4_map(address_map &map);
@@ -217,7 +217,7 @@ protected:
class m68hc05c8_device : public m68hc05_device
{
public:
- m68hc05c8_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68hc05c8_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
void c8_map(address_map &map);
@@ -233,7 +233,7 @@ protected:
class m68hc705c4a_device : public m68hc705_device
{
public:
- m68hc705c4a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68hc705c4a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
void c4a_map(address_map &map);
@@ -257,7 +257,7 @@ private:
class m68hc705c8a_device : public m68hc705_device
{
public:
- m68hc705c8a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68hc705c8a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
void c8a_map(address_map &map);
@@ -287,7 +287,7 @@ private:
class m68hc705j1a_device : public m68hc705_device
{
public:
- m68hc705j1a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68hc705j1a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
void j1a_map(address_map &map);
@@ -304,7 +304,7 @@ protected:
class m68hc05l9_device : public m68hc05_device
{
public:
- m68hc05l9_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68hc05l9_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
void l9_map(address_map &map);
@@ -320,7 +320,7 @@ protected:
class m68hc05l11_device : public m68hc05_device
{
public:
- m68hc05l11_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ m68hc05l11_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
void l11_map(address_map &map);
diff --git a/src/devices/cpu/m6809/hd6309.cpp b/src/devices/cpu/m6809/hd6309.cpp
index 03eb11336e2..6da69f8ca05 100644
--- a/src/devices/cpu/m6809/hd6309.cpp
+++ b/src/devices/cpu/m6809/hd6309.cpp
@@ -132,19 +132,19 @@ DEFINE_DEVICE_TYPE(HD6309E, hd6309e_device, "hd6309e", "Hitachi HD6309E")
// hd6309_device - constructor
//-------------------------------------------------
-hd6309_device::hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type, int divider) :
+hd6309_device::hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, device_type type, int divider) :
m6809_base_device(mconfig, tag, owner, clock, type, divider),
m_md(0),
m_temp_im(0)
{
}
-hd6309_device::hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+hd6309_device::hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
hd6309_device(mconfig, tag, owner, clock, HD6309, 4)
{
}
-hd6309e_device::hd6309e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+hd6309e_device::hd6309e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
hd6309_device(mconfig, tag, owner, clock, HD6309E, 1)
{
}
diff --git a/src/devices/cpu/m6809/hd6309.h b/src/devices/cpu/m6809/hd6309.h
index 99065882116..5764d5314de 100644
--- a/src/devices/cpu/m6809/hd6309.h
+++ b/src/devices/cpu/m6809/hd6309.h
@@ -30,11 +30,11 @@ class hd6309_device : public m6809_base_device
{
public:
// construction/destruction
- hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// delegating constructor
- hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type, int divider);
+ hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, device_type type, int divider);
// device-level overrides
virtual void device_start() override;
@@ -148,7 +148,7 @@ class hd6309e_device : public hd6309_device
{
public:
// construction/destruction
- hd6309e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd6309e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
#define HD6309_IRQ_LINE M6809_IRQ_LINE /* 0 - IRQ line number */
diff --git a/src/devices/cpu/m6809/konami.cpp b/src/devices/cpu/m6809/konami.cpp
index 95bd6765526..b0c76e0f8fc 100644
--- a/src/devices/cpu/m6809/konami.cpp
+++ b/src/devices/cpu/m6809/konami.cpp
@@ -84,7 +84,7 @@ DEFINE_DEVICE_TYPE(KONAMI, konami_cpu_device, "konami_cpu", "KONAMI CPU")
// konami_cpu_device - constructor
//-------------------------------------------------
-konami_cpu_device::konami_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+konami_cpu_device::konami_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6809_base_device(mconfig, tag, owner, clock, KONAMI, 1)
, m_set_lines(*this)
{
diff --git a/src/devices/cpu/m6809/konami.h b/src/devices/cpu/m6809/konami.h
index edb595d771e..44e08872724 100644
--- a/src/devices/cpu/m6809/konami.h
+++ b/src/devices/cpu/m6809/konami.h
@@ -29,7 +29,7 @@ class konami_cpu_device : public m6809_base_device
{
public:
// construction/destruction
- konami_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ konami_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration
auto line() { return m_set_lines.bind(); }
diff --git a/src/devices/cpu/m6809/m6809.cpp b/src/devices/cpu/m6809/m6809.cpp
index 52ddfa433c6..9536081d001 100644
--- a/src/devices/cpu/m6809/m6809.cpp
+++ b/src/devices/cpu/m6809/m6809.cpp
@@ -136,7 +136,7 @@ DEFINE_DEVICE_TYPE(M6809, m6809_device, "m6809", "MC6809 (legacy)")
// m6809_base_device - constructor
//-------------------------------------------------
-m6809_base_device::m6809_base_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, const device_type type, int divider)
+m6809_base_device::m6809_base_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, const device_type type, int divider)
: cpu_device(mconfig, type, tag, owner, clock),
m_lic_func(*this),
m_program_config("program", ENDIANNESS_BIG, 8, 16),
@@ -603,7 +603,7 @@ void m6809_base_device::mi_default::write(uint16_t adr, uint8_t val)
// mc6809_device
//-------------------------------------------------
-mc6809_device::mc6809_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mc6809_device::mc6809_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6809_base_device(mconfig, tag, owner, clock, MC6809, 4)
{
}
@@ -614,7 +614,7 @@ mc6809_device::mc6809_device(const machine_config &mconfig, const char *tag, dev
// mc6809e_device
//-------------------------------------------------
-mc6809e_device::mc6809e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mc6809e_device::mc6809e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6809_base_device(mconfig, tag, owner, clock, MC6809E, 1)
{
}
@@ -625,7 +625,7 @@ mc6809e_device::mc6809e_device(const machine_config &mconfig, const char *tag, d
// m6809_device
//-------------------------------------------------
-m6809_device::m6809_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m6809_device::m6809_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m6809_base_device(mconfig, tag, owner, clock, M6809, 1)
{
}
diff --git a/src/devices/cpu/m6809/m6809.h b/src/devices/cpu/m6809/m6809.h
index 3fc0b8bae1d..490a7658511 100644
--- a/src/devices/cpu/m6809/m6809.h
+++ b/src/devices/cpu/m6809/m6809.h
@@ -30,7 +30,7 @@ class m6809_base_device : public cpu_device
{
protected:
// construction/destruction
- m6809_base_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, const device_type type, int divider);
+ m6809_base_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, const device_type type, int divider);
class memory_interface {
public:
@@ -302,7 +302,7 @@ class mc6809_device : public m6809_base_device
{
public:
// construction/destruction
- mc6809_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mc6809_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
// ======================> mc6809e_device
@@ -311,7 +311,7 @@ class mc6809e_device : public m6809_base_device
{
public:
// construction/destruction
- mc6809e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mc6809e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// MC6809E has LIC line to indicate opcode/data fetch
auto lic() { return m_lic_func.bind(); }
@@ -323,7 +323,7 @@ class m6809_device : public m6809_base_device
{
public:
// construction/destruction
- m6809_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m6809_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
enum
diff --git a/src/devices/cpu/m68hc16/cpu16.cpp b/src/devices/cpu/m68hc16/cpu16.cpp
index ea6bfbefe78..313f28dff79 100644
--- a/src/devices/cpu/m68hc16/cpu16.cpp
+++ b/src/devices/cpu/m68hc16/cpu16.cpp
@@ -181,7 +181,7 @@ enum class cpu16_device::seq : u16
ALLOW_SAVE_TYPE(cpu16_device::seq)
-cpu16_device::cpu16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map)
+cpu16_device::cpu16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 20, 0, map)
, m_data_config("data", ENDIANNESS_BIG, 16, 20, 0, map)
diff --git a/src/devices/cpu/m68hc16/cpu16.h b/src/devices/cpu/m68hc16/cpu16.h
index bb8c47bbd1c..48c6dce7848 100644
--- a/src/devices/cpu/m68hc16/cpu16.h
+++ b/src/devices/cpu/m68hc16/cpu16.h
@@ -26,7 +26,7 @@ public:
protected:
// construction/destruction
- cpu16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map);
+ cpu16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/m68hc16/m68hc16z.cpp b/src/devices/cpu/m68hc16/m68hc16z.cpp
index 9bd136eb053..0974727634a 100644
--- a/src/devices/cpu/m68hc16/m68hc16z.cpp
+++ b/src/devices/cpu/m68hc16/m68hc16z.cpp
@@ -29,7 +29,7 @@
// device type definition
DEFINE_DEVICE_TYPE(MC68HC16Z1, mc68hc16z1_device, "mc68hc16z1", "Motorola MC68HC16Z1")
-m68hc16z_device::m68hc16z_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map)
+m68hc16z_device::m68hc16z_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map)
: cpu16_device(mconfig, type, tag, owner, clock, map)
, m_pitr(0)
, m_sccr{0, 0}
@@ -38,7 +38,7 @@ m68hc16z_device::m68hc16z_device(const machine_config &mconfig, device_type type
{
}
-mc68hc16z1_device::mc68hc16z1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+mc68hc16z1_device::mc68hc16z1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: m68hc16z_device(mconfig, MC68HC16Z1, tag, owner, clock, address_map_constructor(FUNC(mc68hc16z1_device::internal_map), this))
{
}
diff --git a/src/devices/cpu/m68hc16/m68hc16z.h b/src/devices/cpu/m68hc16/m68hc16z.h
index e28fb879df1..ebfc7fc08a0 100644
--- a/src/devices/cpu/m68hc16/m68hc16z.h
+++ b/src/devices/cpu/m68hc16/m68hc16z.h
@@ -12,7 +12,7 @@
class m68hc16z_device : public cpu16_device
{
protected:
- m68hc16z_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map);
+ m68hc16z_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map);
// device-level overrides
virtual void device_start() override;
@@ -92,7 +92,7 @@ class mc68hc16z1_device : public m68hc16z_device
{
public:
// device type constructor
- mc68hc16z1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mc68hc16z1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
private:
void internal_map(address_map &map);
diff --git a/src/devices/cpu/m88000/m88000.cpp b/src/devices/cpu/m88000/m88000.cpp
index f3921bc8667..89d369d4020 100644
--- a/src/devices/cpu/m88000/m88000.cpp
+++ b/src/devices/cpu/m88000/m88000.cpp
@@ -127,7 +127,7 @@ enum fcr_mask : u32
// device type definitions
DEFINE_DEVICE_TYPE(MC88100, mc88100_device, "mc88100", "Motorola MC88100")
-mc88100_device::mc88100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+mc88100_device::mc88100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, MC88100, tag, owner, clock)
, m_code_config("code", ENDIANNESS_BIG, 32, 32, 0)
, m_data_config("data", ENDIANNESS_BIG, 32, 32, 0)
diff --git a/src/devices/cpu/m88000/m88000.h b/src/devices/cpu/m88000/m88000.h
index 896ab05df51..cb361970f1a 100644
--- a/src/devices/cpu/m88000/m88000.h
+++ b/src/devices/cpu/m88000/m88000.h
@@ -17,7 +17,7 @@ class mc88100_device : public cpu_device
{
public:
// construction/destruction
- mc88100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mc88100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/mb86233/mb86233.cpp b/src/devices/cpu/mb86233/mb86233.cpp
index 479b6fa0399..180e61d7472 100644
--- a/src/devices/cpu/mb86233/mb86233.cpp
+++ b/src/devices/cpu/mb86233/mb86233.cpp
@@ -48,7 +48,7 @@ DEFINE_DEVICE_TYPE(MB86233, mb86233_device, "mb86233", "Fujitsu MB86233 (TGP)")
DEFINE_DEVICE_TYPE(MB86234, mb86234_device, "mb86234", "Fujitsu MB86234 (TGP)")
-mb86233_device::mb86233_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+mb86233_device::mb86233_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 16, -2)
, m_data_config("data", ENDIANNESS_LITTLE, 32, 16, -2)
@@ -57,12 +57,12 @@ mb86233_device::mb86233_device(const machine_config &mconfig, device_type type,
{
}
-mb86233_device::mb86233_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb86233_device::mb86233_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mb86233_device(mconfig, MB86233, tag, owner, clock)
{
}
-mb86234_device::mb86234_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb86234_device::mb86234_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mb86233_device(mconfig, MB86234, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/mb86233/mb86233.h b/src/devices/cpu/mb86233/mb86233.h
index 4b1915dc836..d62f24db785 100644
--- a/src/devices/cpu/mb86233/mb86233.h
+++ b/src/devices/cpu/mb86233/mb86233.h
@@ -58,7 +58,7 @@ public:
F_ZC1 = 0x80000000
};
- mb86233_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb86233_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void stall() { m_stall = true; }
@@ -68,7 +68,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(gpio3_w);
protected:
- mb86233_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ mb86233_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_start() override;
virtual void device_reset() override;
@@ -134,7 +134,7 @@ private:
class mb86234_device : public mb86233_device
{
public:
- mb86234_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb86234_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/mb86235/mb86235.cpp b/src/devices/cpu/mb86235/mb86235.cpp
index 23e52b6d1be..5449c900ab3 100644
--- a/src/devices/cpu/mb86235/mb86235.cpp
+++ b/src/devices/cpu/mb86235/mb86235.cpp
@@ -258,7 +258,7 @@ void mb86235_cpu_device::execute_set_input(int irqline, int state)
}
#endif
-mb86235_device::mb86235_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb86235_device::mb86235_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, MB86235, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 64, 32, -3)
, m_dataa_config("data_a", ENDIANNESS_LITTLE, 32, 24, -2, address_map_constructor(FUNC(mb86235_device::internal_abus), this))
diff --git a/src/devices/cpu/mb86235/mb86235.h b/src/devices/cpu/mb86235/mb86235.h
index c859807bf56..652b5798684 100644
--- a/src/devices/cpu/mb86235/mb86235.h
+++ b/src/devices/cpu/mb86235/mb86235.h
@@ -23,7 +23,7 @@ class mb86235_device : public cpu_device
public:
// construction/destruction
- mb86235_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t clock);
+ mb86235_device(const machine_config &mconfig, const char *_tag, device_t *_owner, const XTAL &clock);
virtual ~mb86235_device() override;
template <typename T> void set_fifoin_tag(T &&fifo_tag) { m_fifoin.set_tag(std::forward<T>(fifo_tag)); }
diff --git a/src/devices/cpu/mb88xx/mb88xx.cpp b/src/devices/cpu/mb88xx/mb88xx.cpp
index 1ef53c5e00b..c45520262e2 100644
--- a/src/devices/cpu/mb88xx/mb88xx.cpp
+++ b/src/devices/cpu/mb88xx/mb88xx.cpp
@@ -112,7 +112,7 @@ void mb88_cpu_device::data_7bit(address_map &map)
}
-mb88_cpu_device::mb88_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width)
+mb88_cpu_device::mb88_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, program_width, 0, (program_width == 9) ? address_map_constructor(FUNC(mb88_cpu_device::program_9bit), this) : (program_width == 10) ? address_map_constructor(FUNC(mb88_cpu_device::program_10bit), this) : address_map_constructor(FUNC(mb88_cpu_device::program_11bit), this))
, m_data_config("data", ENDIANNESS_BIG, 8, data_width, 0, (data_width == 4) ? address_map_constructor(FUNC(mb88_cpu_device::data_4bit), this) : (data_width == 5) ? address_map_constructor(FUNC(mb88_cpu_device::data_5bit), this) : (data_width == 6) ? address_map_constructor(FUNC(mb88_cpu_device::data_6bit), this) : address_map_constructor(FUNC(mb88_cpu_device::data_7bit), this))
@@ -127,36 +127,36 @@ mb88_cpu_device::mb88_cpu_device(const machine_config &mconfig, device_type type
{
}
-mb88201_cpu_device::mb88201_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb88201_cpu_device::mb88201_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mb88_cpu_device(mconfig, MB88201, tag, owner, clock, 9, 4)
{
}
-mb88202_cpu_device::mb88202_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb88202_cpu_device::mb88202_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mb88_cpu_device(mconfig, MB88202, tag, owner, clock, 10, 5)
{
}
-mb8841_cpu_device::mb8841_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb8841_cpu_device::mb8841_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mb88_cpu_device(mconfig, MB8841, tag, owner, clock, 11, 7)
{
}
-mb8842_cpu_device::mb8842_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb8842_cpu_device::mb8842_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mb88_cpu_device(mconfig, MB8842, tag, owner, clock, 11, 7)
{
}
-mb8843_cpu_device::mb8843_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb8843_cpu_device::mb8843_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mb88_cpu_device(mconfig, MB8843, tag, owner, clock, 10, 6)
{
}
-mb8844_cpu_device::mb8844_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb8844_cpu_device::mb8844_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mb88_cpu_device(mconfig, MB8844, tag, owner, clock, 10, 6)
{
}
diff --git a/src/devices/cpu/mb88xx/mb88xx.h b/src/devices/cpu/mb88xx/mb88xx.h
index 6bae70de879..fc4b23950eb 100644
--- a/src/devices/cpu/mb88xx/mb88xx.h
+++ b/src/devices/cpu/mb88xx/mb88xx.h
@@ -106,7 +106,7 @@ public:
void program_11bit(address_map &map);
void program_9bit(address_map &map);
protected:
- mb88_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width);
+ mb88_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width);
// device-level overrides
virtual void device_start() override;
@@ -199,7 +199,7 @@ class mb88201_cpu_device : public mb88_cpu_device
{
public:
// construction/destruction
- mb88201_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb88201_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -207,7 +207,7 @@ class mb88202_cpu_device : public mb88_cpu_device
{
public:
// construction/destruction
- mb88202_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb88202_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -215,7 +215,7 @@ class mb8841_cpu_device : public mb88_cpu_device
{
public:
// construction/destruction
- mb8841_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb8841_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -223,7 +223,7 @@ class mb8842_cpu_device : public mb88_cpu_device
{
public:
// construction/destruction
- mb8842_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb8842_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -231,7 +231,7 @@ class mb8843_cpu_device : public mb88_cpu_device
{
public:
// construction/destruction
- mb8843_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb8843_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -239,7 +239,7 @@ class mb8844_cpu_device : public mb88_cpu_device
{
public:
// construction/destruction
- mb8844_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb8844_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/mc68hc11/mc68hc11.cpp b/src/devices/cpu/mc68hc11/mc68hc11.cpp
index 6a03dcb769b..2a9da9bb22a 100644
--- a/src/devices/cpu/mc68hc11/mc68hc11.cpp
+++ b/src/devices/cpu/mc68hc11/mc68hc11.cpp
@@ -53,7 +53,7 @@ DEFINE_DEVICE_TYPE(MC68HC11K1, mc68hc11k1_device, "mc68hc11k1", "Motorola MC68HC
DEFINE_DEVICE_TYPE(MC68HC11M0, mc68hc11m0_device, "mc68hc11m0", "Motorola MC68HC11M0")
-mc68hc11_cpu_device::mc68hc11_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint16_t ram_size, uint16_t reg_block_size, uint16_t rom_size, uint16_t eeprom_size, uint8_t init_value, uint8_t config_mask, uint8_t option_mask)
+mc68hc11_cpu_device::mc68hc11_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint16_t ram_size, uint16_t reg_block_size, uint16_t rom_size, uint16_t eeprom_size, uint8_t init_value, uint8_t config_mask, uint8_t option_mask)
: cpu_device(mconfig, type, tag, owner, clock)
, device_nvram_interface(mconfig, *this, (config_mask & 0xf9) != 0)
, m_program_config("program", ENDIANNESS_BIG, 8, 16, 0, address_map_constructor(FUNC(mc68hc11_cpu_device::internal_map), this))
@@ -107,38 +107,38 @@ void mc68hc11_cpu_device::internal_map(address_map &map)
}
}
-mc68hc11a1_device::mc68hc11a1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mc68hc11a1_device::mc68hc11a1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mc68hc11_cpu_device(mconfig, MC68HC11A1, tag, owner, clock, 256, 64, 0, 512, 0x01, 0x0f, 0xfb)
{
}
-mc68hc11d0_device::mc68hc11d0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mc68hc11d0_device::mc68hc11d0_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mc68hc11_cpu_device(mconfig, MC68HC11D0, tag, owner, clock, 192, 64, 0, 0, 0x00, 0x06, 0x3b)
{
}
-mc68hc11e1_device::mc68hc11e1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mc68hc11e1_device::mc68hc11e1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mc68hc11_cpu_device(mconfig, MC68HC11E1, tag, owner, clock, 512, 64, 0, 512, 0x01, 0x0f, 0xfb)
{
}
-mc68hc811e2_device::mc68hc811e2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mc68hc811e2_device::mc68hc811e2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mc68hc11_cpu_device(mconfig, MC68HC811E2, tag, owner, clock, 256, 64, 0, 2048, 0x01, 0xf5, 0xfb)
{
}
-mc68hc11f1_device::mc68hc11f1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mc68hc11f1_device::mc68hc11f1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mc68hc11_cpu_device(mconfig, MC68HC11F1, tag, owner, clock, 1024, 96, 0, 512, 0x01, 0xf5, 0xff)
{
m_config &= 0x0f;
}
-mc68hc11k1_device::mc68hc11k1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mc68hc11k1_device::mc68hc11k1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mc68hc11_cpu_device(mconfig, MC68HC11K1, tag, owner, clock, 768, 128, 0, 640, 0x00, 0xbf, 0xff)
{
}
-mc68hc11m0_device::mc68hc11m0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mc68hc11m0_device::mc68hc11m0_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mc68hc11_cpu_device(mconfig, MC68HC11M0, tag, owner, clock, 1280, 256, 0, 0, 0x00, 0x06, 0xff)
{
}
diff --git a/src/devices/cpu/mc68hc11/mc68hc11.h b/src/devices/cpu/mc68hc11/mc68hc11.h
index f4b60849063..45564643f3b 100644
--- a/src/devices/cpu/mc68hc11/mc68hc11.h
+++ b/src/devices/cpu/mc68hc11/mc68hc11.h
@@ -54,7 +54,7 @@ public:
void set_default_config(uint8_t data) { assert(!configured()); m_config = data & m_config_mask; }
protected:
- mc68hc11_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint16_t ram_size, uint16_t reg_block_size, uint16_t rom_size, uint16_t eeprom_size, uint8_t init_value, uint8_t config_mask, uint8_t option_mask);
+ mc68hc11_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint16_t ram_size, uint16_t reg_block_size, uint16_t rom_size, uint16_t eeprom_size, uint8_t init_value, uint8_t config_mask, uint8_t option_mask);
// device-level overrides
virtual void device_resolve_objects() override;
@@ -560,7 +560,7 @@ class mc68hc11a1_device : public mc68hc11_cpu_device
{
public:
// construction/destruction
- mc68hc11a1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mc68hc11a1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_reset() override;
@@ -575,7 +575,7 @@ class mc68hc11d0_device : public mc68hc11_cpu_device
{
public:
// construction/destruction
- mc68hc11d0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mc68hc11d0_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_reset() override;
@@ -590,7 +590,7 @@ class mc68hc11e1_device : public mc68hc11_cpu_device
{
public:
// construction/destruction
- mc68hc11e1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mc68hc11e1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_reset() override;
@@ -602,7 +602,7 @@ class mc68hc811e2_device : public mc68hc11_cpu_device
{
public:
// construction/destruction
- mc68hc811e2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mc68hc811e2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_reset() override;
@@ -614,7 +614,7 @@ class mc68hc11f1_device : public mc68hc11_cpu_device
{
public:
// construction/destruction
- mc68hc11f1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mc68hc11f1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_reset() override;
@@ -626,7 +626,7 @@ class mc68hc11k1_device : public mc68hc11_cpu_device
{
public:
// construction/destruction
- mc68hc11k1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mc68hc11k1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void mc68hc11_reg_map(memory_view::memory_view_entry &block, offs_t base) override;
@@ -636,7 +636,7 @@ class mc68hc11m0_device : public mc68hc11_cpu_device
{
public:
// construction/destruction
- mc68hc11m0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mc68hc11m0_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void mc68hc11_reg_map(memory_view::memory_view_entry &block, offs_t base) override;
diff --git a/src/devices/cpu/mcs40/mcs40.cpp b/src/devices/cpu/mcs40/mcs40.cpp
index 0b9b80c719f..9e2c10031fd 100644
--- a/src/devices/cpu/mcs40/mcs40.cpp
+++ b/src/devices/cpu/mcs40/mcs40.cpp
@@ -85,7 +85,7 @@ mcs40_cpu_device_base::mcs40_cpu_device_base(
device_type type,
const char *tag,
device_t *owner,
- u32 clock,
+ const XTAL &clock,
bool extended_cm,
unsigned rom_width,
unsigned stack_ptr_mask,
@@ -822,7 +822,7 @@ inline void mcs40_cpu_device_base::update_4289_f_l(u8 val)
-i4004_cpu_device::i4004_cpu_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+i4004_cpu_device::i4004_cpu_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: mcs40_cpu_device_base(mconfig, I4004, tag, owner, clock, false, 12U, 0x3U, 16U, 0x7U)
{
}
@@ -1132,7 +1132,7 @@ u8 i4004_cpu_device::do_io(u8 opr, u8 opa)
-i4040_cpu_device::i4040_cpu_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+i4040_cpu_device::i4040_cpu_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: i4004_cpu_device(mconfig, I4040, tag, owner, clock, true, 13U, 0x7U, 24U, 0xfU)
{
}
diff --git a/src/devices/cpu/mcs40/mcs40.h b/src/devices/cpu/mcs40/mcs40.h
index 68a8dca161f..69e11def3c9 100644
--- a/src/devices/cpu/mcs40/mcs40.h
+++ b/src/devices/cpu/mcs40/mcs40.h
@@ -74,7 +74,7 @@ protected:
device_type type,
char const *tag,
device_t *owner,
- u32 clock,
+ const XTAL &clock,
bool extended_cm,
unsigned rom_width,
unsigned stack_ptr_mask,
@@ -253,7 +253,7 @@ public:
auto cm_rom_cb() { return mcs40_cpu_device_base::cm_rom_cb<0>(); }
template <unsigned N> auto cm_ram_cb() { return mcs40_cpu_device_base::cm_ram_cb<N>(); }
- i4004_cpu_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ i4004_cpu_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
using mcs40_cpu_device_base::mcs40_cpu_device_base;
@@ -282,7 +282,7 @@ public:
auto cy_cb() { return i4004_cpu_device::cy_cb(); }
using mcs40_cpu_device_base::stp_ack_cb;
- i4040_cpu_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ i4040_cpu_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface implementation
diff --git a/src/devices/cpu/mcs48/mcs48.cpp b/src/devices/cpu/mcs48/mcs48.cpp
index b429ac28ead..df57397e7ee 100644
--- a/src/devices/cpu/mcs48/mcs48.cpp
+++ b/src/devices/cpu/mcs48/mcs48.cpp
@@ -199,7 +199,7 @@ void mcs48_cpu_device::data_8bit(address_map &map)
}
-mcs48_cpu_device::mcs48_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rom_size, int ram_size, uint8_t feature_mask, const mcs48_cpu_device::mcs48_ophandler *opcode_table)
+mcs48_cpu_device::mcs48_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int rom_size, int ram_size, uint8_t feature_mask, const mcs48_cpu_device::mcs48_ophandler *opcode_table)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, (feature_mask & MB_FEATURE) != 0 ? 12 : 11, 0
, (rom_size == 1024) ? address_map_constructor(FUNC(mcs48_cpu_device::program_10bit), this) : (rom_size == 2048) ? address_map_constructor(FUNC(mcs48_cpu_device::program_11bit), this) : (rom_size == 4096) ? address_map_constructor(FUNC(mcs48_cpu_device::program_12bit), this) : address_map_constructor())
@@ -231,117 +231,117 @@ mcs48_cpu_device::mcs48_cpu_device(const machine_config &mconfig, device_type ty
}
}
-i8021_device::i8021_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8021_device::i8021_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8021, tag, owner, clock, 1024, 64, I802X_FEATURE, s_i8021_opcodes)
{
}
-i8022_device::i8022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8022_device::i8022_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8022, tag, owner, clock, 2048, 128, I802X_FEATURE, s_i8022_opcodes)
{
}
-i8035_device::i8035_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8035_device::i8035_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8035, tag, owner, clock, 0, 64, I8048_FEATURE, s_mcs48_opcodes)
{
}
-i8048_device::i8048_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8048_device::i8048_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8048, tag, owner, clock, 1024, 64, I8048_FEATURE, s_mcs48_opcodes)
{
}
-i8648_device::i8648_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8648_device::i8648_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8648, tag, owner, clock, 1024, 64, I8048_FEATURE, s_mcs48_opcodes)
{
}
-i8748_device::i8748_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8748_device::i8748_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8748, tag, owner, clock, 1024, 64, I8048_FEATURE, s_mcs48_opcodes)
{
}
-i8039_device::i8039_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8039_device::i8039_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8039, tag, owner, clock, 0, 128, I8048_FEATURE, s_mcs48_opcodes)
{
}
-i8049_device::i8049_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8049_device::i8049_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8049, tag, owner, clock, 2048, 128, I8048_FEATURE, s_mcs48_opcodes)
{
}
-i8749_device::i8749_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8749_device::i8749_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8749, tag, owner, clock, 2048, 128, I8048_FEATURE, s_mcs48_opcodes)
{
}
-i8040_device::i8040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8040_device::i8040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8040, tag, owner, clock, 0, 256, I8048_FEATURE, s_mcs48_opcodes)
{
}
-i8050_device::i8050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8050_device::i8050_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, I8050, tag, owner, clock, 4096, 256, I8048_FEATURE, s_mcs48_opcodes)
{
}
-mb8884_device::mb8884_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb8884_device::mb8884_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, MB8884, tag, owner, clock, 0, 64, I8048_FEATURE, s_mcs48_opcodes)
{
}
-n7751_device::n7751_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+n7751_device::n7751_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, N7751, tag, owner, clock, 1024, 64, I8048_FEATURE, s_mcs48_opcodes)
{
}
-m58715_device::m58715_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+m58715_device::m58715_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs48_cpu_device(mconfig, M58715, tag, owner, clock, 2048, 128, I8048_FEATURE, s_mcs48_opcodes)
{
}
-upi41_cpu_device::upi41_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rom_size, int ram_size)
+upi41_cpu_device::upi41_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int rom_size, int ram_size)
: mcs48_cpu_device(mconfig, type, tag, owner, clock, rom_size, ram_size, UPI41_FEATURE, s_upi41_opcodes)
{
}
-i8041a_device::i8041a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8041a_device::i8041a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upi41_cpu_device(mconfig, I8041A, tag, owner, clock, 1024, 64)
{
}
-i8741a_device::i8741a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8741a_device::i8741a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upi41_cpu_device(mconfig, I8741A, tag, owner, clock, 1024, 64)
{
}
-i8041ah_device::i8041ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8041ah_device::i8041ah_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upi41_cpu_device(mconfig, I8041AH, tag, owner, clock, 1024, 128)
{
}
-i8741ah_device::i8741ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8741ah_device::i8741ah_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upi41_cpu_device(mconfig, I8741AH, tag, owner, clock, 1024, 128)
{
}
-i8042_device::i8042_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8042_device::i8042_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upi41_cpu_device(mconfig, I8042, tag, owner, clock, 2048, 128)
{
}
-i8742_device::i8742_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8742_device::i8742_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upi41_cpu_device(mconfig, I8742, tag, owner, clock, 2048, 128)
{
}
-i8042ah_device::i8042ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8042ah_device::i8042ah_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upi41_cpu_device(mconfig, I8042AH, tag, owner, clock, 2048, 256)
{
}
-i8742ah_device::i8742ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8742ah_device::i8742ah_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upi41_cpu_device(mconfig, I8742AH, tag, owner, clock, 2048, 256)
{
}
@@ -1226,7 +1226,7 @@ void mcs48_cpu_device::device_reset()
m_flags_enabled = false;
m_dma_enabled = false;
if (!m_t0_clk_func.isnull())
- m_t0_clk_func(0);
+ m_t0_clk_func(XTAL());
// confirmed from interrupt logic description
m_irq_in_progress = false;
diff --git a/src/devices/cpu/mcs48/mcs48.h b/src/devices/cpu/mcs48/mcs48.h
index bb5d3da44f9..f61609b3907 100644
--- a/src/devices/cpu/mcs48/mcs48.h
+++ b/src/devices/cpu/mcs48/mcs48.h
@@ -141,7 +141,7 @@ protected:
typedef void (mcs48_cpu_device::*mcs48_ophandler)();
// construction/destruction
- mcs48_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rom_size, int ram_size, uint8_t feature_mask, const mcs48_ophandler *opcode_table);
+ mcs48_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int rom_size, int ram_size, uint8_t feature_mask, const mcs48_ophandler *opcode_table);
// device-level overrides
virtual void device_start() override;
@@ -516,7 +516,7 @@ public:
auto p0_out_cb() { return bus_out_cb(); }
// construction/destruction
- i8021_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8021_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_execute_interface overrides
@@ -528,7 +528,7 @@ class i8022_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8022_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_execute_interface overrides
@@ -540,84 +540,84 @@ class i8035_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8035_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8035_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8048_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8048_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8048_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8648_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8648_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8648_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8748_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8748_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8748_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8039_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8039_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8039_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8049_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8049_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8049_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8749_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8749_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8749_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8040_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8050_device : public mcs48_cpu_device
{
public:
// construction/destruction
- i8050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8050_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class mb8884_device : public mcs48_cpu_device
{
public:
// construction/destruction
- mb8884_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb8884_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class n7751_device : public mcs48_cpu_device
{
public:
// construction/destruction
- n7751_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ n7751_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class m58715_device : public mcs48_cpu_device
{
public:
// construction/destruction
- m58715_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ m58715_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -630,7 +630,7 @@ public:
protected:
// construction/destruction
- upi41_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rom_size, int ram_size);
+ upi41_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int rom_size, int ram_size);
TIMER_CALLBACK_MEMBER( master_callback );
};
@@ -639,56 +639,56 @@ class i8041a_device : public upi41_cpu_device
{
public:
// construction/destruction
- i8041a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8041a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8741a_device : public upi41_cpu_device
{
public:
// construction/destruction
- i8741a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8741a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8041ah_device : public upi41_cpu_device
{
public:
// construction/destruction
- i8041ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8041ah_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8741ah_device : public upi41_cpu_device
{
public:
// construction/destruction
- i8741ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8741ah_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8042_device : public upi41_cpu_device
{
public:
// construction/destruction
- i8042_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8042_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8742_device : public upi41_cpu_device
{
public:
// construction/destruction
- i8742_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8742_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8042ah_device : public upi41_cpu_device
{
public:
// construction/destruction
- i8042ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8042ah_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8742ah_device : public upi41_cpu_device
{
public:
// construction/destruction
- i8742ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8742ah_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/mcs51/mcs51.cpp b/src/devices/cpu/mcs51/mcs51.cpp
index 9f5bd04e4c0..a463992cebc 100644
--- a/src/devices/cpu/mcs51/mcs51.cpp
+++ b/src/devices/cpu/mcs51/mcs51.cpp
@@ -267,7 +267,7 @@ void mcs51_cpu_device::data_internal(address_map &map)
-mcs51_cpu_device::mcs51_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program_map, address_map_constructor data_map, int program_width, int data_width, uint8_t features)
+mcs51_cpu_device::mcs51_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program_map, address_map_constructor data_map, int program_width, int data_width, uint8_t features)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0, program_map)
, m_data_config("data", ENDIANNESS_LITTLE, 8, 9, 0, data_map)
@@ -295,147 +295,147 @@ mcs51_cpu_device::mcs51_cpu_device(const machine_config &mconfig, device_type ty
}
-mcs51_cpu_device::mcs51_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features)
+mcs51_cpu_device::mcs51_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features)
: mcs51_cpu_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(mcs51_cpu_device::program_internal), this), address_map_constructor(FUNC(mcs51_cpu_device::data_internal), this), program_width, data_width, features)
{
}
-i8031_device::i8031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8031_device::i8031_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs51_cpu_device(mconfig, I8031, tag, owner, clock, 0, 7)
{
}
-i8051_device::i8051_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8051_device::i8051_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs51_cpu_device(mconfig, I8051, tag, owner, clock, 12, 7)
{
}
-i8751_device::i8751_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8751_device::i8751_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs51_cpu_device(mconfig, I8751, tag, owner, clock, 12, 7)
{
}
-am8753_device::am8753_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+am8753_device::am8753_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs51_cpu_device(mconfig, AM8753, tag, owner, clock, 13, 7)
{
}
-i8052_device::i8052_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features)
+i8052_device::i8052_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features)
: mcs51_cpu_device(mconfig, type, tag, owner, clock, program_width, data_width, features | FEATURE_I8052)
{
m_num_interrupts = 6;
}
-i8052_device::i8052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8052_device::i8052_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8052_device(mconfig, I8052, tag, owner, clock, 13, 8)
{
}
-i8032_device::i8032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8032_device::i8032_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8052_device(mconfig, I8032, tag, owner, clock, 0, 8)
{
}
-i8752_device::i8752_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8752_device::i8752_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8052_device(mconfig, I8752, tag, owner, clock, 13, 8)
{
}
-i80c31_device::i80c31_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i80c31_device::i80c31_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i8052_device(mconfig, I80C31, tag, owner, clock, 0, 7)
{
}
-i80c51_device::i80c51_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features)
+i80c51_device::i80c51_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features)
: mcs51_cpu_device(mconfig, type, tag, owner, clock, program_width, data_width, features | FEATURE_CMOS)
{
}
-i80c51_device::i80c51_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i80c51_device::i80c51_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c51_device(mconfig, I80C51, tag, owner, clock, 12, 7)
{
}
-i87c51_device::i87c51_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i87c51_device::i87c51_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c51_device(mconfig, I87C51, tag, owner, clock, 12, 7)
{
}
-i80c52_device::i80c52_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features)
+i80c52_device::i80c52_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features)
: i8052_device(mconfig, type, tag, owner, clock, program_width, data_width, features | FEATURE_I80C52 | FEATURE_CMOS)
{
}
-i80c52_device::i80c52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i80c52_device::i80c52_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c52_device(mconfig, I80C52, tag, owner, clock, 13, 8)
{
}
-i80c32_device::i80c32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i80c32_device::i80c32_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c52_device(mconfig, I80C32, tag, owner, clock, 0, 8)
{
}
-i87c52_device::i87c52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i87c52_device::i87c52_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c52_device(mconfig, I87C52, tag, owner, clock, 13, 8)
{
}
-i87c51fa_device::i87c51fa_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features)
+i87c51fa_device::i87c51fa_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features)
: i80c52_device(mconfig, type, tag, owner, clock, program_width, data_width, features)
{
}
-i87c51fa_device::i87c51fa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i87c51fa_device::i87c51fa_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i87c51fa_device(mconfig, I87C51FA, tag, owner, clock, 13, 8)
{
}
-i80c51gb_device::i80c51gb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i80c51gb_device::i80c51gb_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i87c51fa_device(mconfig, I80C51GB, tag, owner, clock, 0, 8)
{
}
-at89c52_device::at89c52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+at89c52_device::at89c52_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c52_device(mconfig, AT89C52, tag, owner, clock, 13, 8)
{
}
-at89s52_device::at89s52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+at89s52_device::at89s52_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c52_device(mconfig, AT89S52, tag, owner, clock, 13, 8)
{
}
-at89c4051_device::at89c4051_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+at89c4051_device::at89c4051_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c51_device(mconfig, AT89C4051, tag, owner, clock, 12, 7)
{
}
-ds80c320_device::ds80c320_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ds80c320_device::ds80c320_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c52_device(mconfig, DS80C320, tag, owner, clock, 0, 8)
{
}
-sab80c535_device::sab80c535_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sab80c535_device::sab80c535_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: i80c51_device(mconfig, SAB80C535, tag, owner, clock, 0, 8)
{
}
-i8344_device::i8344_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8344_device::i8344_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs51_cpu_device(mconfig, I8344, tag, owner, clock, 0, 8)
{
}
-i8744_device::i8744_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+i8744_device::i8744_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs51_cpu_device(mconfig, I8744, tag, owner, clock, 12, 8)
{
}
/* program width field is set to 0 because technically the SRAM isn't internal */
-ds5002fp_device::ds5002fp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ds5002fp_device::ds5002fp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mcs51_cpu_device(mconfig, DS5002FP, tag, owner, clock, 0, 7, FEATURE_DS5002FP | FEATURE_CMOS)
, device_nvram_interface(mconfig, *this)
, m_region(*this, "internal")
diff --git a/src/devices/cpu/mcs51/mcs51.h b/src/devices/cpu/mcs51/mcs51.h
index 32925c23de8..39940b2e157 100644
--- a/src/devices/cpu/mcs51/mcs51.h
+++ b/src/devices/cpu/mcs51/mcs51.h
@@ -71,8 +71,8 @@ public:
void data_internal(address_map &map);
protected:
// construction/destruction
- mcs51_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features = 0);
- mcs51_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program_map, address_map_constructor data_map, int program_width, int data_width, uint8_t features = 0);
+ mcs51_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features = 0);
+ mcs51_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program_map, address_map_constructor data_map, int program_width, int data_width, uint8_t features = 0);
// device-level overrides
virtual void device_start() override;
@@ -358,28 +358,28 @@ class i8031_device : public mcs51_cpu_device
{
public:
// construction/destruction
- i8031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8031_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8051_device : public mcs51_cpu_device
{
public:
// construction/destruction
- i8051_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8051_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8751_device : public mcs51_cpu_device
{
public:
// construction/destruction
- i8751_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8751_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class am8753_device : public mcs51_cpu_device
{
public:
// construction/destruction
- am8753_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ am8753_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -387,10 +387,10 @@ class i8052_device : public mcs51_cpu_device
{
public:
// construction/destruction
- i8052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8052_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- i8052_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features = 0);
+ i8052_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features = 0);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -403,21 +403,21 @@ class i8032_device : public i8052_device
{
public:
// construction/destruction
- i8032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8032_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i8752_device : public i8052_device
{
public:
// construction/destruction
- i8752_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8752_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i80c31_device : public i8052_device
{
public:
// construction/destruction
- i80c31_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i80c31_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -428,10 +428,10 @@ class i80c51_device : public mcs51_cpu_device
{
public:
// construction/destruction
- i80c51_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i80c51_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- i80c51_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features = 0);
+ i80c51_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features = 0);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
};
@@ -440,7 +440,7 @@ class i87c51_device : public i80c51_device
{
public:
// construction/destruction
- i87c51_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i87c51_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -448,10 +448,10 @@ class i80c52_device : public i8052_device
{
public:
// construction/destruction
- i80c52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i80c52_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- i80c52_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features = 0);
+ i80c52_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features = 0);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -464,24 +464,24 @@ class i80c32_device : public i80c52_device
{
public:
// construction/destruction
- i80c32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i80c32_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i87c52_device : public i80c52_device
{
public:
// construction/destruction
- i87c52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i87c52_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class i87c51fa_device : public i80c52_device
{
public:
// construction/destruction
- i87c51fa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i87c51fa_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- i87c51fa_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features = 0);
+ i87c51fa_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, uint8_t features = 0);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
};
@@ -490,7 +490,7 @@ class i80c51gb_device : public i87c51fa_device
{
public:
// construction/destruction
- i80c51gb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i80c51gb_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -500,28 +500,28 @@ class at89c52_device : public i80c52_device
{
public:
// construction/destruction
- at89c52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ at89c52_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class at89s52_device : public i80c52_device
{
public:
// construction/destruction
- at89s52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ at89s52_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class at89c4051_device : public i80c51_device
{
public:
// construction/destruction
- at89c4051_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ at89c4051_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class ds80c320_device : public i80c52_device
{
public:
// construction/destruction
- ds80c320_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ds80c320_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -531,7 +531,7 @@ class sab80c535_device : public i80c51_device
{
public:
// construction/destruction
- sab80c535_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sab80c535_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -541,7 +541,7 @@ class i8344_device : public mcs51_cpu_device
{
public:
// construction/destruction
- i8344_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8344_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -551,7 +551,7 @@ class i8744_device : public mcs51_cpu_device
{
public:
// construction/destruction
- i8744_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ i8744_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -588,7 +588,7 @@ class ds5002fp_device : public mcs51_cpu_device, public device_nvram_interface
{
public:
// construction/destruction
- ds5002fp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ds5002fp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void set_mcon(uint8_t mcon) { m_ds5002fp.mcon = mcon; }
void set_rpctl(uint8_t rpctl) { m_ds5002fp.rpctl = rpctl; }
diff --git a/src/devices/cpu/mcs96/i8x9x.cpp b/src/devices/cpu/mcs96/i8x9x.cpp
index 792cc1378bb..bc98ac9122b 100644
--- a/src/devices/cpu/mcs96/i8x9x.cpp
+++ b/src/devices/cpu/mcs96/i8x9x.cpp
@@ -12,7 +12,7 @@
#include "i8x9x.h"
#include "i8x9xd.h"
-i8x9x_device::i8x9x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int data_width) :
+i8x9x_device::i8x9x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int data_width) :
mcs96_device(mconfig, type, tag, owner, clock, data_width, address_map_constructor(FUNC(i8x9x_device::internal_regs), this)),
m_ach_cb(*this),
m_hso_cb(*this),
@@ -571,22 +571,22 @@ void i8x9x_device::execute_set_input(int linenum, int state)
}
}
-c8095_90_device::c8095_90_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+c8095_90_device::c8095_90_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
i8x9x_device(mconfig, C8095_90, tag, owner, clock, 16)
{
}
-n8097bh_device::n8097bh_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+n8097bh_device::n8097bh_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
i8x9x_device(mconfig, N8097BH, tag, owner, clock, 16)
{
}
-p8098_device::p8098_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+p8098_device::p8098_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
i8x9x_device(mconfig, P8098, tag, owner, clock, 8)
{
}
-p8798_device::p8798_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+p8798_device::p8798_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
i8x9x_device(mconfig, P8798, tag, owner, clock, 8)
{
}
diff --git a/src/devices/cpu/mcs96/i8x9x.h b/src/devices/cpu/mcs96/i8x9x.h
index 5f4ab03f8a5..e066886a653 100644
--- a/src/devices/cpu/mcs96/i8x9x.h
+++ b/src/devices/cpu/mcs96/i8x9x.h
@@ -68,7 +68,7 @@ public:
virtual u8 i8x9x_p2_mask() const noexcept { return 0xff; }
protected:
- i8x9x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int data_width);
+ i8x9x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int data_width);
virtual void device_resolve_objects() override;
virtual void device_start() override;
@@ -170,7 +170,7 @@ private:
class c8095_90_device : public i8x9x_device {
public:
- c8095_90_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ c8095_90_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual u8 i8x9x_p0_mask() const noexcept override { return 0xf0; }
@@ -180,12 +180,12 @@ protected:
class n8097bh_device : public i8x9x_device {
public:
- n8097bh_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ n8097bh_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class p8098_device : public i8x9x_device {
public:
- p8098_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ p8098_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual u8 i8x9x_p0_mask() const noexcept override { return 0xf0; }
@@ -195,7 +195,7 @@ protected:
class p8798_device : public i8x9x_device {
public:
- p8798_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ p8798_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual u8 i8x9x_p0_mask() const noexcept override { return 0xf0; }
diff --git a/src/devices/cpu/mcs96/i8xc196.cpp b/src/devices/cpu/mcs96/i8xc196.cpp
index dd10d5a6b60..1a9b0f63bf5 100644
--- a/src/devices/cpu/mcs96/i8xc196.cpp
+++ b/src/devices/cpu/mcs96/i8xc196.cpp
@@ -12,7 +12,7 @@
#include "i8xc196.h"
#include "i8xc196d.h"
-i8xc196_device::i8xc196_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+i8xc196_device::i8xc196_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
mcs96_device(mconfig, type, tag, owner, clock, 16, address_map_constructor(FUNC(i8xc196_device::internal_regs), this))
{
}
diff --git a/src/devices/cpu/mcs96/i8xc196.h b/src/devices/cpu/mcs96/i8xc196.h
index 02d3e3d9840..6cff1920d2c 100644
--- a/src/devices/cpu/mcs96/i8xc196.h
+++ b/src/devices/cpu/mcs96/i8xc196.h
@@ -15,7 +15,7 @@
class i8xc196_device : public mcs96_device {
protected:
- i8xc196_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ i8xc196_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/mcs96/mcs96.cpp b/src/devices/cpu/mcs96/mcs96.cpp
index ddf7a7604b5..2a4d784362b 100644
--- a/src/devices/cpu/mcs96/mcs96.cpp
+++ b/src/devices/cpu/mcs96/mcs96.cpp
@@ -11,7 +11,7 @@
#include "emu.h"
#include "mcs96.h"
-mcs96_device::mcs96_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int data_width, address_map_constructor regs_map) :
+mcs96_device::mcs96_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int data_width, address_map_constructor regs_map) :
cpu_device(mconfig, type, tag, owner, clock),
program_config("program", ENDIANNESS_LITTLE, data_width, 16),
regs_config("register", ENDIANNESS_LITTLE, 16, 8, 0, regs_map),
diff --git a/src/devices/cpu/mcs96/mcs96.h b/src/devices/cpu/mcs96/mcs96.h
index b27d13044c7..a470aa9457f 100644
--- a/src/devices/cpu/mcs96/mcs96.h
+++ b/src/devices/cpu/mcs96/mcs96.h
@@ -44,7 +44,7 @@ protected:
};
- mcs96_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int data_width, address_map_constructor regs_map);
+ mcs96_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int data_width, address_map_constructor regs_map);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/melps4/m58846.cpp b/src/devices/cpu/melps4/m58846.cpp
index 0440375e47d..1a1e5079791 100644
--- a/src/devices/cpu/melps4/m58846.cpp
+++ b/src/devices/cpu/melps4/m58846.cpp
@@ -27,7 +27,7 @@ void m58846_device::data_128x4(address_map &map)
// device definitions
-m58846_device::m58846_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+m58846_device::m58846_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: melps4_cpu_device(mconfig, M58846, tag, owner, clock, 11, address_map_constructor(FUNC(m58846_device::program_2kx9), this), 7, address_map_constructor(FUNC(m58846_device::data_128x4), this), 12 /* number of D pins */, 2 /* subroutine page */, 1 /* interrupt page */), m_timer(nullptr)
{ }
diff --git a/src/devices/cpu/melps4/m58846.h b/src/devices/cpu/melps4/m58846.h
index 2ba855e3dd2..2eb019e0837 100644
--- a/src/devices/cpu/melps4/m58846.h
+++ b/src/devices/cpu/melps4/m58846.h
@@ -19,7 +19,7 @@
class m58846_device : public melps4_cpu_device
{
public:
- m58846_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ m58846_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/melps4/melps4.cpp b/src/devices/cpu/melps4/melps4.cpp
index 973d3b42ce3..eb2f748d9be 100644
--- a/src/devices/cpu/melps4/melps4.cpp
+++ b/src/devices/cpu/melps4/melps4.cpp
@@ -42,7 +42,7 @@
#include "melps4d.h"
-melps4_cpu_device::melps4_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data, int d_pins, u8 sm_page, u8 int_page)
+melps4_cpu_device::melps4_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data, int d_pins, u8 sm_page, u8 int_page)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, prgwidth, -1, program)
, m_data_config("data", ENDIANNESS_LITTLE, 8, datawidth, 0, data)
diff --git a/src/devices/cpu/melps4/melps4.h b/src/devices/cpu/melps4/melps4.h
index 09894a1fa8e..0e5a576901a 100644
--- a/src/devices/cpu/melps4/melps4.h
+++ b/src/devices/cpu/melps4/melps4.h
@@ -90,7 +90,7 @@ public:
protected:
// construction/destruction
- melps4_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data, int d_pins, u8 sm_page, u8 int_page);
+ melps4_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data, int d_pins, u8 sm_page, u8 int_page);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/minx/minx.cpp b/src/devices/cpu/minx/minx.cpp
index 018842ecfbd..bd6aa16afe1 100644
--- a/src/devices/cpu/minx/minx.cpp
+++ b/src/devices/cpu/minx/minx.cpp
@@ -76,7 +76,7 @@ TODO:
DEFINE_DEVICE_TYPE(MINX, minx_cpu_device, "minx", "Nintendo Minx")
-minx_cpu_device::minx_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+minx_cpu_device::minx_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, MINX, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, 24, 0)
{
diff --git a/src/devices/cpu/minx/minx.h b/src/devices/cpu/minx/minx.h
index 991916435ee..06f4b5a3bfb 100644
--- a/src/devices/cpu/minx/minx.h
+++ b/src/devices/cpu/minx/minx.h
@@ -18,7 +18,7 @@ class minx_cpu_device : public cpu_device
{
public:
// construction/destruction
- minx_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ minx_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/mips/mips1.cpp b/src/devices/cpu/mips/mips1.cpp
index 6f45a954d50..824cd47e762 100644
--- a/src/devices/cpu/mips/mips1.cpp
+++ b/src/devices/cpu/mips/mips1.cpp
@@ -55,7 +55,7 @@ DEFINE_DEVICE_TYPE(SONYPS2_IOP, iop_device, "sonyiop", "Sony Playstation 2
ALLOW_SAVE_TYPE(mips1core_device_base::branch_state);
-mips1core_device_base::mips1core_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, u32 cpurev, size_t icache_size, size_t dcache_size)
+mips1core_device_base::mips1core_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, u32 cpurev, size_t icache_size, size_t dcache_size)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config_be("program", ENDIANNESS_BIG, 32, 32)
, m_program_config_le("program", ENDIANNESS_LITTLE, 32, 32)
@@ -70,64 +70,64 @@ mips1core_device_base::mips1core_device_base(machine_config const &mconfig, devi
{
}
-mips1_device_base::mips1_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, u32 cpurev, size_t icache_size, size_t dcache_size)
+mips1_device_base::mips1_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, u32 cpurev, size_t icache_size, size_t dcache_size)
: mips1core_device_base(mconfig, type, tag, owner, clock, cpurev, icache_size, dcache_size)
, m_fcr0(0)
{
}
-r2000_device::r2000_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size, size_t dcache_size)
+r2000_device::r2000_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size, size_t dcache_size)
: mips1_device_base(mconfig, R2000, tag, owner, clock, 0x0100, icache_size, dcache_size)
{
}
-r2000a_device::r2000a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size, size_t dcache_size)
+r2000a_device::r2000a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size, size_t dcache_size)
: mips1_device_base(mconfig, R2000A, tag, owner, clock, 0x0210, icache_size, dcache_size)
{
}
-r3000_device::r3000_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size, size_t dcache_size)
+r3000_device::r3000_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size, size_t dcache_size)
: mips1_device_base(mconfig, R3000, tag, owner, clock, 0x0220, icache_size, dcache_size)
{
}
-r3000a_device::r3000a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size, size_t dcache_size)
+r3000a_device::r3000a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size, size_t dcache_size)
: mips1_device_base(mconfig, R3000A, tag, owner, clock, 0x0230, icache_size, dcache_size)
{
}
-r3041_device::r3041_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+r3041_device::r3041_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: mips1core_device_base(mconfig, R3041, tag, owner, clock, 0x0700, 2048, 512)
{
}
-r3051_device::r3051_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+r3051_device::r3051_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: mips1core_device_base(mconfig, R3051, tag, owner, clock, 0x0200, 4096, 2048)
{
}
-r3052_device::r3052_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+r3052_device::r3052_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: mips1core_device_base(mconfig, R3052, tag, owner, clock, 0x0200, 8192, 2048)
{
}
-r3052e_device::r3052e_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+r3052e_device::r3052e_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: mips1_device_base(mconfig, R3052E, tag, owner, clock, 0x0200, 8192, 2048)
{
}
-r3071_device::r3071_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size, size_t dcache_size)
+r3071_device::r3071_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size, size_t dcache_size)
: mips1_device_base(mconfig, R3071, tag, owner, clock, 0x0200, icache_size, dcache_size)
{
}
-r3081_device::r3081_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size, size_t dcache_size)
+r3081_device::r3081_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size, size_t dcache_size)
: mips1_device_base(mconfig, R3081, tag, owner, clock, 0x0200, icache_size, dcache_size)
{
set_fpu(0x0300);
}
-iop_device::iop_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+iop_device::iop_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: mips1core_device_base(mconfig, SONYPS2_IOP, tag, owner, clock, 0x001f, 4096, 1024)
{
m_endianness = ENDIANNESS_LITTLE;
diff --git a/src/devices/cpu/mips/mips1.h b/src/devices/cpu/mips/mips1.h
index df6b1c8e6c9..bdf5c67f51d 100644
--- a/src/devices/cpu/mips/mips1.h
+++ b/src/devices/cpu/mips/mips1.h
@@ -17,7 +17,7 @@ public:
void berr_w(int state) { m_bus_error = bool(state); }
protected:
- mips1core_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, u32 cpurev, size_t icache_size, size_t dcache_size);
+ mips1core_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, u32 cpurev, size_t icache_size, size_t dcache_size);
enum registers : unsigned
{
@@ -261,7 +261,7 @@ public:
void set_fpu(u32 revision, unsigned interrupt = 3) { m_fcr0 = revision; m_fpu_irq = interrupt; }
protected:
- mips1_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, u32 cpurev, size_t icache_size, size_t dcache_size);
+ mips1_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, u32 cpurev, size_t icache_size, size_t dcache_size);
enum cp1_fcr31_mask : u32
{
@@ -324,31 +324,31 @@ private:
class r2000_device : public mips1_device_base
{
public:
- r2000_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size = 0, size_t dcache_size = 0);
+ r2000_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size = 0, size_t dcache_size = 0);
};
class r2000a_device : public mips1_device_base
{
public:
- r2000a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size = 0, size_t dcache_size = 0);
+ r2000a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size = 0, size_t dcache_size = 0);
};
class r3000_device : public mips1_device_base
{
public:
- r3000_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size = 0, size_t dcache_size = 0);
+ r3000_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size = 0, size_t dcache_size = 0);
};
class r3000a_device : public mips1_device_base
{
public:
- r3000a_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size = 0, size_t dcache_size = 0);
+ r3000a_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size = 0, size_t dcache_size = 0);
};
class r3041_device : public mips1core_device_base
{
public:
- r3041_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ r3041_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
@@ -358,37 +358,37 @@ protected:
class r3051_device : public mips1core_device_base
{
public:
- r3051_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ r3051_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
class r3052_device : public mips1core_device_base
{
public:
- r3052_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ r3052_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
class r3052e_device : public mips1_device_base
{
public:
- r3052e_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ r3052e_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
class r3071_device : public mips1_device_base
{
public:
- r3071_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size = 16384, size_t dcache_size = 4096);
+ r3071_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size = 16384, size_t dcache_size = 4096);
};
class r3081_device : public mips1_device_base
{
public:
- r3081_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock, size_t icache_size = 16384, size_t dcache_size = 4096);
+ r3081_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock, size_t icache_size = 16384, size_t dcache_size = 4096);
};
class iop_device : public mips1core_device_base
{
public:
- iop_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ iop_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(R2000, r2000_device)
diff --git a/src/devices/cpu/mips/mips3.cpp b/src/devices/cpu/mips/mips3.cpp
index 9b6067e5fa4..b1e0f2d57a6 100644
--- a/src/devices/cpu/mips/mips3.cpp
+++ b/src/devices/cpu/mips/mips3.cpp
@@ -131,7 +131,7 @@ DEFINE_DEVICE_TYPE(RM7000LE, rm7000le_device, "rm7000le", "MIPS RM7000 (littl
// VR4300 and VR5432 have 4 fewer PFN bits, and only 32 TLB entries
-mips3_device::mips3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, mips3_flavor flavor, endianness_t endianness, uint32_t data_bits)
+mips3_device::mips3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, mips3_flavor flavor, endianness_t endianness, uint32_t data_bits)
: cpu_device(mconfig, type, tag, owner, clock)
, device_vtlb_interface(mconfig, *this, AS_PROGRAM)
, m_core(nullptr)
diff --git a/src/devices/cpu/mips/mips3.h b/src/devices/cpu/mips/mips3.h
index 0bf7e49e5cc..3801a935f18 100644
--- a/src/devices/cpu/mips/mips3.h
+++ b/src/devices/cpu/mips/mips3.h
@@ -297,7 +297,7 @@ protected:
public:
// construction/destruction
- mips3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, mips3_flavor flavor, endianness_t endiannes, uint32_t data_bits);
+ mips3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, mips3_flavor flavor, endianness_t endiannes, uint32_t data_bits);
void set_icache_size(size_t icache_size) { c_icache_size = icache_size; }
void set_dcache_size(size_t dcache_size) { c_dcache_size = dcache_size; }
@@ -658,7 +658,7 @@ private:
class r4000be_device : public mips3_device {
public:
// construction/destruction
- r4000be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4000be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4000BE, tag, owner, clock, MIPS3_TYPE_R4000, ENDIANNESS_BIG, 64)
{
}
@@ -667,7 +667,7 @@ public:
class r4000le_device : public mips3_device {
public:
// construction/destruction
- r4000le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4000le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4000LE, tag, owner, clock, MIPS3_TYPE_R4000, ENDIANNESS_LITTLE, 64)
{
}
@@ -676,7 +676,7 @@ public:
class r4400be_device : public mips3_device {
public:
// construction/destruction
- r4400be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4400be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4400BE, tag, owner, clock, MIPS3_TYPE_R4400, ENDIANNESS_BIG, 64)
{
}
@@ -685,7 +685,7 @@ public:
class r4400le_device : public mips3_device {
public:
// construction/destruction
- r4400le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4400le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4400LE, tag, owner, clock, MIPS3_TYPE_R4400, ENDIANNESS_LITTLE, 32) // Should be 64 bits
{
}
@@ -694,7 +694,7 @@ public:
class vr4300be_device : public mips3_device {
public:
// construction/destruction
- vr4300be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ vr4300be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, VR4300BE, tag, owner, clock, MIPS3_TYPE_VR4300, ENDIANNESS_BIG, 32)
{
}
@@ -703,7 +703,7 @@ public:
class vr4300le_device : public mips3_device {
public:
// construction/destruction
- vr4300le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ vr4300le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, VR4300LE, tag, owner, clock, MIPS3_TYPE_VR4300, ENDIANNESS_LITTLE, 32)
{
}
@@ -712,7 +712,7 @@ public:
class vr4310be_device : public mips3_device {
public:
// construction/destruction
- vr4310be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ vr4310be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, VR4310BE, tag, owner, clock, MIPS3_TYPE_VR4300, ENDIANNESS_BIG, 32)
{
}
@@ -721,7 +721,7 @@ public:
class vr4310le_device : public mips3_device {
public:
// construction/destruction
- vr4310le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ vr4310le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, VR4310LE, tag, owner, clock, MIPS3_TYPE_VR4300, ENDIANNESS_LITTLE, 32)
{
}
@@ -730,7 +730,7 @@ public:
class r4600be_device : public mips3_device {
public:
// construction/destruction
- r4600be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4600be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4600BE, tag, owner, clock, MIPS3_TYPE_R4600, ENDIANNESS_BIG, 64)
{
}
@@ -739,7 +739,7 @@ public:
class r4600le_device : public mips3_device {
public:
// construction/destruction
- r4600le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4600le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4600LE, tag, owner, clock, MIPS3_TYPE_R4600, ENDIANNESS_LITTLE, 32) // Should be 64 bits
{
}
@@ -748,7 +748,7 @@ public:
class r4650be_device : public mips3_device {
public:
// construction/destruction
- r4650be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4650be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4650BE, tag, owner, clock, MIPS3_TYPE_R4650, ENDIANNESS_BIG, 32) // Should be 64 bits
{
}
@@ -757,7 +757,7 @@ public:
class r4650le_device : public mips3_device {
public:
// construction/destruction
- r4650le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4650le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4650LE, tag, owner, clock, MIPS3_TYPE_R4650, ENDIANNESS_LITTLE, 32) // Should be 64 bits
{
}
@@ -766,7 +766,7 @@ public:
class r4700be_device : public mips3_device {
public:
// construction/destruction
- r4700be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4700be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4700BE, tag, owner, clock, MIPS3_TYPE_R4700, ENDIANNESS_BIG, 32) // Should be 64 bits
{
}
@@ -775,7 +775,7 @@ public:
class r4700le_device : public mips3_device {
public:
// construction/destruction
- r4700le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r4700le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R4700LE, tag, owner, clock, MIPS3_TYPE_R4700, ENDIANNESS_LITTLE, 32) // Should be 64 bits
{
}
@@ -784,7 +784,7 @@ public:
class tx4925be_device : public mips3_device {
public:
// construction/destruction
- tx4925be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ tx4925be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, TX4925BE, tag, owner, clock, MIPS3_TYPE_TX4925, ENDIANNESS_BIG, 32) // Should be 64 bits
{
}
@@ -793,7 +793,7 @@ public:
class tx4925le_device : public mips3_device {
public:
// construction/destruction
- tx4925le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ tx4925le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, TX4925LE, tag, owner, clock, MIPS3_TYPE_TX4925, ENDIANNESS_LITTLE, 32) // Should be 64 bits
{
}
@@ -802,7 +802,7 @@ public:
class r5000be_device : public mips3_device {
public:
// construction/destruction
- r5000be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r5000be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R5000BE, tag, owner, clock, MIPS3_TYPE_R5000, ENDIANNESS_BIG, 64)
{
}
@@ -814,7 +814,7 @@ protected:
class r5000le_device : public mips3_device {
public:
// construction/destruction
- r5000le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r5000le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R5000LE, tag, owner, clock, MIPS3_TYPE_R5000, ENDIANNESS_LITTLE, 32) // FIXME: Should be 64 bits, Galileo blows up though
{
}
@@ -823,7 +823,7 @@ public:
class vr5500be_device : public mips3_device {
public:
// construction/destruction
- vr5500be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ vr5500be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, VR5500BE, tag, owner, clock, MIPS3_TYPE_R5000, ENDIANNESS_BIG, 32) // Should be 64 bits
{
}
@@ -832,7 +832,7 @@ public:
class vr5500le_device : public mips3_device {
public:
// construction/destruction
- vr5500le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ vr5500le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, VR5500LE, tag, owner, clock, MIPS3_TYPE_R5000, ENDIANNESS_LITTLE, 32) // Should be 64 bits
{
}
@@ -842,13 +842,13 @@ class r5900le_device : public mips3_device {
public:
// construction/destruction
template <typename T>
- r5900le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&vu0_tag)
+ r5900le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&vu0_tag)
: r5900le_device(mconfig, tag, owner, clock)
{
m_vu0.set_tag(std::forward<T>(vu0_tag));
}
- r5900le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ r5900le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, R5900LE, tag, owner, clock, MIPS3_TYPE_R5900, ENDIANNESS_LITTLE, 64)
, m_vu0(*this, finder_base::DUMMY_TAG)
{
@@ -907,7 +907,7 @@ protected:
class qed5271be_device : public mips3_device {
public:
// construction/destruction
- qed5271be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ qed5271be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, QED5271BE, tag, owner, clock, MIPS3_TYPE_QED5271, ENDIANNESS_BIG, 32) // Should be 64 bits
{
}
@@ -916,7 +916,7 @@ public:
class qed5271le_device : public mips3_device {
public:
// construction/destruction
- qed5271le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ qed5271le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, QED5271LE, tag, owner, clock, MIPS3_TYPE_QED5271, ENDIANNESS_LITTLE, 32) // Should be 64 bits
{
}
@@ -925,7 +925,7 @@ public:
class rm7000be_device : public mips3_device {
public:
// construction/destruction
- rm7000be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ rm7000be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, RM7000BE, tag, owner, clock, MIPS3_TYPE_RM7000, ENDIANNESS_BIG, 32) // Should be 64 bits
{
}
@@ -934,7 +934,7 @@ public:
class rm7000le_device : public mips3_device {
public:
// construction/destruction
- rm7000le_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ rm7000le_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mips3_device(mconfig, RM7000LE, tag, owner, clock, MIPS3_TYPE_RM7000, ENDIANNESS_LITTLE, 32) // Should be 64 bits
{
}
diff --git a/src/devices/cpu/mips/ps2vif1.cpp b/src/devices/cpu/mips/ps2vif1.cpp
index 43fc71a2267..091be49d774 100644
--- a/src/devices/cpu/mips/ps2vif1.cpp
+++ b/src/devices/cpu/mips/ps2vif1.cpp
@@ -27,7 +27,7 @@ DEFINE_DEVICE_TYPE(SONYPS2_VIF1, ps2_vif1_device, "ps2vif1", "PlayStation 2 VIF1
4, 2, 1, 2
};
-ps2_vif1_device::ps2_vif1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ps2_vif1_device::ps2_vif1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: device_t(mconfig, SONYPS2_VIF1, tag, owner, clock)
, device_execute_interface(mconfig, *this)
, m_gs(*this, finder_base::DUMMY_TAG)
diff --git a/src/devices/cpu/mips/ps2vif1.h b/src/devices/cpu/mips/ps2vif1.h
index 171a3839f8f..a03afe2111a 100644
--- a/src/devices/cpu/mips/ps2vif1.h
+++ b/src/devices/cpu/mips/ps2vif1.h
@@ -23,14 +23,14 @@ class ps2_vif1_device : public device_t, public device_execute_interface
{
public:
template <typename T, typename U>
- ps2_vif1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&gs_tag, U &&vu1_tag)
+ ps2_vif1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&gs_tag, U &&vu1_tag)
: ps2_vif1_device(mconfig, tag, owner, clock)
{
m_gs.set_tag(std::forward<T>(gs_tag));
m_vu1.set_tag(std::forward<U>(vu1_tag));
}
- ps2_vif1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ps2_vif1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual ~ps2_vif1_device() override;
uint64_t mmio_r(offs_t offset);
diff --git a/src/devices/cpu/mips/ps2vu.cpp b/src/devices/cpu/mips/ps2vu.cpp
index 8f0b125314d..b16fcc663f4 100644
--- a/src/devices/cpu/mips/ps2vu.cpp
+++ b/src/devices/cpu/mips/ps2vu.cpp
@@ -23,7 +23,7 @@ sonyvu_device::sonyvu_device(
device_type type,
const char *tag,
device_t *owner,
- uint32_t clock,
+ const XTAL &clock,
address_map_constructor micro_cons,
address_map_constructor vu_cons,
chip_type chiptype,
@@ -54,13 +54,13 @@ sonyvu_device::sonyvu_device(
{
}
-sonyvu0_device::sonyvu0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sonyvu0_device::sonyvu0_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sonyvu_device(mconfig, SONYPS2_VU0, tag, owner, clock, address_map_constructor(FUNC(sonyvu0_device::micro_map), this), address_map_constructor(FUNC(sonyvu0_device::vu_map), this), CHIP_TYPE_VU0, 0x1000)
, m_vu1(*this, finder_base::DUMMY_TAG)
{
}
-sonyvu1_device::sonyvu1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sonyvu1_device::sonyvu1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sonyvu_device(mconfig, SONYPS2_VU1, tag, owner, clock, address_map_constructor(FUNC(sonyvu1_device::micro_map), this), address_map_constructor(FUNC(sonyvu1_device::vu_map), this), CHIP_TYPE_VU0, 0x4000)
, m_gs(*this, finder_base::DUMMY_TAG)
, m_vif(*this, "vif")
diff --git a/src/devices/cpu/mips/ps2vu.h b/src/devices/cpu/mips/ps2vu.h
index cc898ffa58d..b0ccb2a2134 100644
--- a/src/devices/cpu/mips/ps2vu.h
+++ b/src/devices/cpu/mips/ps2vu.h
@@ -98,7 +98,7 @@ protected:
CHIP_TYPE_VU1,
};
- sonyvu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor micro_cons, address_map_constructor vu_cons, chip_type chiptype, uint32_t mem_size);
+ sonyvu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor micro_cons, address_map_constructor vu_cons, chip_type chiptype, uint32_t mem_size);
enum : uint64_t
{
@@ -178,13 +178,13 @@ class sonyvu1_device : public sonyvu_device
{
public:
template <typename T>
- sonyvu1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&gs_tag)
+ sonyvu1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&gs_tag)
: sonyvu1_device(mconfig, tag, owner, clock)
{
m_gs.set_tag(std::forward<T>(gs_tag));
}
- sonyvu1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sonyvu1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
ps2_vif1_device* interface();
@@ -213,13 +213,13 @@ class sonyvu0_device : public sonyvu_device
{
public:
template <typename T>
- sonyvu0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&vu1_tag)
+ sonyvu0_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&vu1_tag)
: sonyvu0_device(mconfig, tag, owner, clock)
{
m_vu1.set_tag(std::forward<T>(vu1_tag));
}
- sonyvu0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sonyvu0_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
diff --git a/src/devices/cpu/mips/r4000.cpp b/src/devices/cpu/mips/r4000.cpp
index 15f161b32c3..433f3b640fd 100644
--- a/src/devices/cpu/mips/r4000.cpp
+++ b/src/devices/cpu/mips/r4000.cpp
@@ -92,7 +92,7 @@ DEFINE_DEVICE_TYPE(R5000, r5000_device, "r5000", "MIPS R5000")
u32 const r5000_device::s_fcc_masks[8] = { (1U << 23), (1U << 25), (1U << 26), (1U << 27), (1U << 28), (1U << 29), (1U << 30), (1U << 31) };
u32 const r5000_device::s_fcc_shifts[8] = { 23, 25, 26, 27, 28, 29, 30, 31 };
-r4000_base_device::r4000_base_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, u32 prid, u32 fcr, cache_size icache_size, cache_size dcache_size, unsigned m32, unsigned m64, unsigned d32, unsigned d64, bool timer_interrupt_disabled)
+r4000_base_device::r4000_base_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, u32 prid, u32 fcr, cache_size icache_size, cache_size dcache_size, unsigned m32, unsigned m64, unsigned d32, unsigned d64, bool timer_interrupt_disabled)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config_le("program", ENDIANNESS_LITTLE, 64, 32)
, m_program_config_be("program", ENDIANNESS_BIG, 64, 32)
diff --git a/src/devices/cpu/mips/r4000.h b/src/devices/cpu/mips/r4000.h
index adc9ccd1f3d..71345e45b22 100644
--- a/src/devices/cpu/mips/r4000.h
+++ b/src/devices/cpu/mips/r4000.h
@@ -57,7 +57,7 @@ protected:
CACHE_256K = 6,
CACHE_512K = 7,
};
- r4000_base_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, u32 prid, u32 fcr, cache_size icache_size, cache_size dcache_size, unsigned m32, unsigned m64, unsigned d32, unsigned d64, bool timer_interrupt_disabled);
+ r4000_base_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, u32 prid, u32 fcr, cache_size icache_size, cache_size dcache_size, unsigned m32, unsigned m64, unsigned d32, unsigned d64, bool timer_interrupt_disabled);
enum cp0_reg : int
{
@@ -489,14 +489,14 @@ class r4000_device : public r4000_base_device
{
public:
// NOTE: R4000 chips prior to 3.0 have an xtlb bug
- r4000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, bool timer_interrupt_disabled)
+ r4000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, bool timer_interrupt_disabled)
: r4000_base_device(mconfig, R4000, tag, owner, clock, 0x0430, 0x0500, CACHE_8K, CACHE_8K, 10, 20, 69, 133, timer_interrupt_disabled)
{
// no secondary cache
m_cp0[CP0_Config] |= CONFIG_SC;
}
- r4000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ r4000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: r4000_device(mconfig, tag, owner, clock, false)
{
}
@@ -505,7 +505,7 @@ public:
class r4400_device : public r4000_base_device
{
public:
- r4400_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, bool timer_interrupt_disabled, u32 scache_size, u8 scache_line_size)
+ r4400_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, bool timer_interrupt_disabled, u32 scache_size, u8 scache_line_size)
: r4000_base_device(mconfig, R4400, tag, owner, clock, 0x0440, 0x0500, CACHE_16K, CACHE_16K, 10, 20, 69, 133, timer_interrupt_disabled)
{
m_scache_size = scache_size;
@@ -513,7 +513,7 @@ public:
configure_scache();
}
- r4400_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ r4400_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: r4400_device(mconfig, tag, owner, clock, false, 0, 0)
{
}
@@ -522,14 +522,14 @@ public:
class r4600_device : public r4000_base_device
{
public:
- r4600_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, bool timer_interrupt_disabled)
+ r4600_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, bool timer_interrupt_disabled)
: r4000_base_device(mconfig, R4600, tag, owner, clock, 0x2020, 0x2020, CACHE_16K, CACHE_16K, 10, 12, 42, 74, timer_interrupt_disabled)
{
// no secondary cache
m_cp0[CP0_Config] |= CONFIG_SC;
}
- r4600_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ r4600_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: r4600_device(mconfig, tag, owner, clock, false)
{
}
@@ -538,14 +538,14 @@ public:
class r5000_device : public r4000_base_device
{
public:
- r5000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, bool timer_interrupt_disabled)
+ r5000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, bool timer_interrupt_disabled)
: r4000_base_device(mconfig, R5000, tag, owner, clock, 0x2320, 0x2320, CACHE_32K, CACHE_32K, 5, 9, 36, 68, timer_interrupt_disabled)
{
// no secondary cache
m_cp0[CP0_Config] |= CONFIG_SC;
}
- r5000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ r5000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: r5000_device(mconfig, tag, owner, clock, false)
{
}
diff --git a/src/devices/cpu/mk1/mk1.cpp b/src/devices/cpu/mk1/mk1.cpp
index cdeb3fb6fcc..c67ce39f5da 100644
--- a/src/devices/cpu/mk1/mk1.cpp
+++ b/src/devices/cpu/mk1/mk1.cpp
@@ -45,7 +45,7 @@
// device type definition
DEFINE_DEVICE_TYPE(MK1_CPU, mk1_cpu_device, "mk1_cpu", "Mark 1 CPU")
-mk1_cpu_device::mk1_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+mk1_cpu_device::mk1_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, MK1_CPU, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 12, 0)
, m_data_config("data", ENDIANNESS_LITTLE, 8, 16, 0)
diff --git a/src/devices/cpu/mk1/mk1.h b/src/devices/cpu/mk1/mk1.h
index dad3f3ab9f7..66162ffb9bd 100644
--- a/src/devices/cpu/mk1/mk1.h
+++ b/src/devices/cpu/mk1/mk1.h
@@ -22,7 +22,7 @@ public:
static constexpr int IRQ_LINE = 0;
// device type constructor
- mk1_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mk1_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/mn10200/mn10200.cpp b/src/devices/cpu/mn10200/mn10200.cpp
index 64da0efe23f..e0267f418f2 100644
--- a/src/devices/cpu/mn10200/mn10200.cpp
+++ b/src/devices/cpu/mn10200/mn10200.cpp
@@ -45,7 +45,7 @@ void mn10200_device::mn1020012a_internal_map(address_map &map)
}
-mn10200_device::mn10200_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program)
+mn10200_device::mn10200_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 24, 0, program), m_program(nullptr)
, m_read_port(*this)
@@ -55,7 +55,7 @@ mn10200_device::mn10200_device(const machine_config &mconfig, device_type type,
{ }
// device definitions
-mn1020012a_device::mn1020012a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mn1020012a_device::mn1020012a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mn10200_device(mconfig, MN1020012A, tag, owner, clock, address_map_constructor(FUNC(mn1020012a_device::mn1020012a_internal_map), this))
{ }
diff --git a/src/devices/cpu/mn10200/mn10200.h b/src/devices/cpu/mn10200/mn10200.h
index 8ea31fa1d4b..32994b46001 100644
--- a/src/devices/cpu/mn10200/mn10200.h
+++ b/src/devices/cpu/mn10200/mn10200.h
@@ -51,7 +51,7 @@ protected:
// construction/destruction
- mn10200_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program);
+ mn10200_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program);
// device-level overrides
virtual void device_start() override;
@@ -189,7 +189,7 @@ private:
class mn1020012a_device : public mn10200_device
{
public:
- mn1020012a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mn1020012a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/mn1880/mn1880.cpp b/src/devices/cpu/mn1880/mn1880.cpp
index 0843947a480..12e28ddb46f 100644
--- a/src/devices/cpu/mn1880/mn1880.cpp
+++ b/src/devices/cpu/mn1880/mn1880.cpp
@@ -88,7 +88,7 @@ DEFINE_DEVICE_TYPE(MN18801A, mn18801a_device, "mn18801a", "Panasonic MN18801A")
ALLOW_SAVE_TYPE(mn1880_device::microstate)
-mn1880_device::mn1880_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, bool has_mmu, address_map_constructor data_map)
+mn1880_device::mn1880_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool has_mmu, address_map_constructor data_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, has_mmu ? 21 : 16, 0, 16, 14)
, m_data_config("data", ENDIANNESS_LITTLE, 8, has_mmu ? 21 : 16, 0, 16, 14, data_map)
@@ -107,12 +107,12 @@ mn1880_device::mn1880_device(const machine_config &mconfig, device_type type, co
{
}
-mn1880_device::mn1880_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+mn1880_device::mn1880_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mn1880_device(mconfig, MN1880, tag, owner, clock, false, address_map_constructor(FUNC(mn1880_device::internal_data_map), this))
{
}
-mn18801a_device::mn18801a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+mn18801a_device::mn18801a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: mn1880_device(mconfig, MN18801A, tag, owner, clock, true, address_map_constructor(FUNC(mn18801a_device::internal_data_map), this))
{
}
diff --git a/src/devices/cpu/mn1880/mn1880.h b/src/devices/cpu/mn1880/mn1880.h
index 47f470c02a8..cb0b59bc656 100644
--- a/src/devices/cpu/mn1880/mn1880.h
+++ b/src/devices/cpu/mn1880/mn1880.h
@@ -9,7 +9,7 @@
class mn1880_device : public cpu_device
{
public:
- mn1880_device(const machine_config &config, const char *tag, device_t *owner, u32 clock);
+ mn1880_device(const machine_config &config, const char *tag, device_t *owner, const XTAL &clock);
enum {
MN1880_IP, MN1880_IPA, MN1880_IPB,
@@ -29,7 +29,7 @@ public:
};
protected:
- mn1880_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, bool has_mmu, address_map_constructor data_map);
+ mn1880_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool has_mmu, address_map_constructor data_map);
// device-level overrides
virtual void device_start() override;
@@ -235,7 +235,7 @@ private:
class mn18801a_device : public mn1880_device
{
public:
- mn18801a_device(const machine_config &config, const char *tag, device_t *owner, u32 clock);
+ mn18801a_device(const machine_config &config, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(MN1880, mn1880_device)
diff --git a/src/devices/cpu/nanoprocessor/nanoprocessor.cpp b/src/devices/cpu/nanoprocessor/nanoprocessor.cpp
index 197efcc0b4a..421107fc692 100644
--- a/src/devices/cpu/nanoprocessor/nanoprocessor.cpp
+++ b/src/devices/cpu/nanoprocessor/nanoprocessor.cpp
@@ -50,7 +50,7 @@ namespace {
DEFINE_DEVICE_TYPE(HP_NANOPROCESSOR, hp_nanoprocessor_device, "nanoprocessor", "Hewlett Packard HP-Nanoprocessor")
-hp_nanoprocessor_device::hp_nanoprocessor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+hp_nanoprocessor_device::hp_nanoprocessor_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
cpu_device(mconfig, HP_NANOPROCESSOR, tag, owner, clock),
m_dc_changed_func(*this),
m_read_dc_func(*this),
diff --git a/src/devices/cpu/nanoprocessor/nanoprocessor.h b/src/devices/cpu/nanoprocessor/nanoprocessor.h
index 2aa8cf3a4ab..23b3d3462a9 100644
--- a/src/devices/cpu/nanoprocessor/nanoprocessor.h
+++ b/src/devices/cpu/nanoprocessor/nanoprocessor.h
@@ -71,7 +71,7 @@ constexpr unsigned HP_NANO_IE_DC = 7; // DC line used as interrupt enable/ma
class hp_nanoprocessor_device : public cpu_device
{
public:
- hp_nanoprocessor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hp_nanoprocessor_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// DC changed callback
// The callback receives a 8-bit word holding the state of all DC lines.
diff --git a/src/devices/cpu/nec/nec.cpp b/src/devices/cpu/nec/nec.cpp
index 3a961a0a4be..743b6061a46 100644
--- a/src/devices/cpu/nec/nec.cpp
+++ b/src/devices/cpu/nec/nec.cpp
@@ -121,7 +121,7 @@ DEFINE_DEVICE_TYPE(V33, v33_device, "v33", "NEC V33")
DEFINE_DEVICE_TYPE(V33A, v33a_device, "v33a", "NEC V33A")
-nec_common_device::nec_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_16bit, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type, address_map_constructor internal_port_map)
+nec_common_device::nec_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool is_16bit, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type, address_map_constructor internal_port_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, is_16bit ? 16 : 8, chip_type == V33_TYPE ? 24 : 20, 0, 20, chip_type == V33_TYPE ? 14 : 0)
, m_io_config("io", ENDIANNESS_LITTLE, is_16bit ? 16 : 8, 16, 0, internal_port_map)
@@ -133,13 +133,13 @@ nec_common_device::nec_common_device(const machine_config &mconfig, device_type
}
-v20_device::v20_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v20_device::v20_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: nec_common_device(mconfig, V20, tag, owner, clock, false, 4, 4, V20_TYPE)
{
}
-v30_device::v30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v30_device::v30_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: nec_common_device(mconfig, V30, tag, owner, clock, true, 6, 2, V30_TYPE)
{
}
@@ -156,19 +156,19 @@ device_memory_interface::space_config_vector nec_common_device::memory_space_con
/* FIXME: Need information about prefetch size and cycles for V33.
* complete guess below, nbbatman will not work
* properly without. */
-v33_base_device::v33_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_port_map)
+v33_base_device::v33_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_port_map)
: nec_common_device(mconfig, type, tag, owner, clock, true, 6, 1, V33_TYPE, internal_port_map)
{
}
-v33_device::v33_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v33_device::v33_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v33_base_device(mconfig, V33, tag, owner, clock, address_map_constructor(FUNC(v33_device::v33_internal_port_map), this))
{
}
-v33a_device::v33a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v33a_device::v33a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v33_base_device(mconfig, V33A, tag, owner, clock, address_map_constructor(FUNC(v33a_device::v33_internal_port_map), this))
{
}
diff --git a/src/devices/cpu/nec/nec.h b/src/devices/cpu/nec/nec.h
index 764afdd76c1..19a2ee22cf5 100644
--- a/src/devices/cpu/nec/nec.h
+++ b/src/devices/cpu/nec/nec.h
@@ -28,7 +28,7 @@ class nec_common_device : public cpu_device, public nec_disassembler::config
protected:
// construction/destruction
- nec_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_16bit, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type, address_map_constructor internal_port_map = address_map_constructor());
+ nec_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool is_16bit, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type, address_map_constructor internal_port_map = address_map_constructor());
// device-level overrides
virtual void device_start() override;
@@ -672,21 +672,21 @@ private:
class v20_device : public nec_common_device
{
public:
- v20_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v20_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class v30_device : public nec_common_device
{
public:
- v30_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v30_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class v33_base_device : public nec_common_device
{
protected:
- v33_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_port_map);
+ v33_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_port_map);
// device_memory_interface overrides
virtual bool memory_translate(int spacenum, int intention, offs_t &address) override;
@@ -698,13 +698,13 @@ protected:
class v33_device : public v33_base_device
{
public:
- v33_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v33_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class v33a_device : public v33_base_device
{
public:
- v33a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v33a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/nec/v25.cpp b/src/devices/cpu/nec/v25.cpp
index 321db738a04..5cacb9006f9 100644
--- a/src/devices/cpu/nec/v25.cpp
+++ b/src/devices/cpu/nec/v25.cpp
@@ -50,7 +50,7 @@ DEFINE_DEVICE_TYPE(V25, v25_device, "v25", "NEC V25")
DEFINE_DEVICE_TYPE(V35, v35_device, "v35", "NEC V35")
-v25_common_device::v25_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_16bit, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type)
+v25_common_device::v25_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool is_16bit, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, is_16bit ? 16 : 8, 20, 0)
, m_data_config("data", ENDIANNESS_LITTLE, 16, 9, 0, address_map_constructor(FUNC(v25_common_device::ida_sfr_map), this))
@@ -72,13 +72,13 @@ v25_common_device::v25_common_device(const machine_config &mconfig, device_type
}
-v25_device::v25_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v25_device::v25_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v25_common_device(mconfig, V25, tag, owner, clock, false, 4, 4, V20_TYPE)
{
}
-v35_device::v35_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v35_device::v35_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v25_common_device(mconfig, V35, tag, owner, clock, true, 6, 2, V30_TYPE)
{
}
diff --git a/src/devices/cpu/nec/v25.h b/src/devices/cpu/nec/v25.h
index 1afeb9a7eb5..f92460fb927 100644
--- a/src/devices/cpu/nec/v25.h
+++ b/src/devices/cpu/nec/v25.h
@@ -43,7 +43,7 @@ public:
protected:
// construction/destruction
- v25_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_16bit, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type);
+ v25_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool is_16bit, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type);
// device-level overrides
virtual void device_start() override;
@@ -536,14 +536,14 @@ private:
class v25_device : public v25_common_device
{
public:
- v25_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v25_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class v35_device : public v25_common_device
{
public:
- v35_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v35_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/nec/v5x.cpp b/src/devices/cpu/nec/v5x.cpp
index 9faeed6bfd9..39eef1b4cc0 100644
--- a/src/devices/cpu/nec/v5x.cpp
+++ b/src/devices/cpu/nec/v5x.cpp
@@ -213,14 +213,14 @@ void device_v5x_interface::v5x_add_mconfig(machine_config &config)
{
PIT8254(config, m_tcu);
- V5X_DMAU(config, m_dmau, 4000000);
+ V5X_DMAU(config, m_dmau, XTAL::u(4000000));
- V5X_ICU(config, m_icu, 0);
+ V5X_ICU(config, m_icu);
m_icu->out_int_callback().set(FUNC(device_v5x_interface::internal_irq_w));
m_icu->in_sp_callback().set_constant(1);
m_icu->read_slave_ack_callback().set(FUNC(device_v5x_interface::get_pic_ack));
- V5X_SCU(config, m_scu, 0);
+ V5X_SCU(config, m_scu);
}
void device_v5x_interface::remappable_io_map(address_map &map)
@@ -516,7 +516,7 @@ device_memory_interface::space_config_vector v50_base_device::memory_space_confi
return spaces;
}
-v50_base_device::v50_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, bool is_16bit, u8 prefetch_size, u8 prefetch_cycles, u32 chip_type)
+v50_base_device::v50_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool is_16bit, u8 prefetch_size, u8 prefetch_cycles, u32 chip_type)
: nec_common_device(mconfig, type, tag, owner, clock, is_16bit, prefetch_size, prefetch_cycles, chip_type, address_map_constructor(FUNC(v50_base_device::internal_port_map), this))
, device_v5x_interface(mconfig, *this, is_16bit)
, m_tout1_callback(*this)
@@ -527,12 +527,12 @@ v50_base_device::v50_base_device(const machine_config &mconfig, device_type type
{
}
-v40_device::v40_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+v40_device::v40_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v50_base_device(mconfig, V40, tag, owner, clock, false, 4, 4, V20_TYPE)
{
}
-v50_device::v50_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+v50_device::v50_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v50_base_device(mconfig, V50, tag, owner, clock, true, 6, 2, V30_TYPE)
{
}
@@ -785,18 +785,18 @@ device_memory_interface::space_config_vector v53_device::memory_space_config() c
};
}
-v53_device::v53_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+v53_device::v53_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: v33_base_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(v53_device::internal_port_map), this))
, device_v5x_interface(mconfig, *this, true)
{
}
-v53_device::v53_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+v53_device::v53_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v53_device(mconfig, V53, tag, owner, clock)
{
}
-v53a_device::v53a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+v53a_device::v53a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v53_device(mconfig, V53A, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/nec/v5x.h b/src/devices/cpu/nec/v5x.h
index 23fcdc265a9..c07341fbe91 100644
--- a/src/devices/cpu/nec/v5x.h
+++ b/src/devices/cpu/nec/v5x.h
@@ -149,7 +149,7 @@ public:
auto tout2_cb() { return subdevice<pit8253_device>("tcu")->out_handler<2>(); }
protected:
- v50_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, bool is_16bit, u8 prefetch_size, u8 prefetch_cycles, u32 chip_type);
+ v50_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool is_16bit, u8 prefetch_size, u8 prefetch_cycles, u32 chip_type);
// device-specific overrides
virtual void device_add_mconfig(machine_config &config) override;
@@ -191,7 +191,7 @@ private:
class v40_device : public v50_base_device
{
public:
- v40_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ v40_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void install_peripheral_io() override;
@@ -200,7 +200,7 @@ protected:
class v50_device : public v50_base_device
{
public:
- v50_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ v50_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void install_peripheral_io() override;
@@ -209,7 +209,7 @@ protected:
class v53_device : public v33_base_device, public device_v5x_interface
{
public:
- v53_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ v53_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
template <unsigned Channel> DECLARE_WRITE_LINE_MEMBER(dreq_w)
{
@@ -228,7 +228,7 @@ public:
template <unsigned Timer> auto out_handler() { return subdevice<pit8253_device>("tcu")->out_handler<Timer>(); }
protected:
- v53_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ v53_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-specific overrides
virtual void device_add_mconfig(machine_config &config) override;
@@ -262,7 +262,7 @@ private:
class v53a_device : public v53_device
{
public:
- v53a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ v53a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(V40, v40_device)
diff --git a/src/devices/cpu/nios2/nios2.cpp b/src/devices/cpu/nios2/nios2.cpp
index 39dd0fc6209..8f4893f2710 100644
--- a/src/devices/cpu/nios2/nios2.cpp
+++ b/src/devices/cpu/nios2/nios2.cpp
@@ -15,7 +15,7 @@
// device type definition
DEFINE_DEVICE_TYPE(NIOS2, nios2_device, "nios2", "Altera Nios II Processor")
-nios2_device::nios2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+nios2_device::nios2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, NIOS2, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0)
{
diff --git a/src/devices/cpu/nios2/nios2.h b/src/devices/cpu/nios2/nios2.h
index de2073e0e47..34925655a3e 100644
--- a/src/devices/cpu/nios2/nios2.h
+++ b/src/devices/cpu/nios2/nios2.h
@@ -18,7 +18,7 @@ public:
};
// construction/destruction
- nios2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ nios2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/ns32000/ns32000.cpp b/src/devices/cpu/ns32000/ns32000.cpp
index d3f04bbd5d3..f28b7144532 100644
--- a/src/devices/cpu/ns32000/ns32000.cpp
+++ b/src/devices/cpu/ns32000/ns32000.cpp
@@ -96,7 +96,7 @@ static const u32 size_mask[] = { 0x000000ffU, 0x0000ffffU, 0x00000000U, 0xffffff
#define SP ((m_psr & PSR_S) ? m_sp1 : m_sp0)
-template <int Width>ns32000_device<Width>::ns32000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int databits, int addrbits)
+template <int Width>ns32000_device<Width>::ns32000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int databits, int addrbits)
: cpu_device(mconfig, type, tag, owner, clock)
, m_address_mask(0xffffffffU >> (32 - addrbits))
, m_program_config("program", ENDIANNESS_LITTLE, databits, addrbits, 0)
@@ -130,22 +130,22 @@ template <int Width>ns32000_device<Width>::ns32000_device(const machine_config &
{
}
-ns32008_device::ns32008_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ns32008_device::ns32008_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ns32000_device(mconfig, NS32008, tag, owner, clock, 8, 24)
{
}
-ns32016_device::ns32016_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ns32016_device::ns32016_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ns32000_device(mconfig, NS32016, tag, owner, clock, 16, 24)
{
}
-ns32032_device::ns32032_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ns32032_device::ns32032_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ns32000_device(mconfig, NS32032, tag, owner, clock, 32, 24)
{
}
-ns32332_device::ns32332_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ns32332_device::ns32332_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ns32000_device(mconfig, NS32332, tag, owner, clock, 32, 32)
{
}
diff --git a/src/devices/cpu/ns32000/ns32000.h b/src/devices/cpu/ns32000/ns32000.h
index 654d8661f8a..ae41f9fbb07 100644
--- a/src/devices/cpu/ns32000/ns32000.h
+++ b/src/devices/cpu/ns32000/ns32000.h
@@ -16,10 +16,10 @@ public:
template <typename T> void set_mmu(T &&tag) { m_mmu.set_tag(std::forward<T>(tag)); }
// construction/destruction
- ns32000_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock);
+ ns32000_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock);
protected:
- ns32000_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, int databits, int addrbits);
+ ns32000_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, int databits, int addrbits);
// device_t overrides
virtual void device_start() override;
@@ -191,25 +191,25 @@ private:
class ns32008_device : public ns32000_device<0>
{
public:
- ns32008_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ ns32008_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
class ns32016_device : public ns32000_device<1>
{
public:
- ns32016_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ ns32016_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
class ns32032_device : public ns32000_device<2>
{
public:
- ns32032_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ ns32032_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
class ns32332_device : public ns32000_device<2>
{
public:
- ns32332_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ ns32332_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(NS32008, ns32008_device)
diff --git a/src/devices/cpu/nuon/nuon.cpp b/src/devices/cpu/nuon/nuon.cpp
index 00d35cddc39..e45908b450f 100644
--- a/src/devices/cpu/nuon/nuon.cpp
+++ b/src/devices/cpu/nuon/nuon.cpp
@@ -22,7 +22,7 @@ DEFINE_DEVICE_TYPE(NUON, nuon_device, "nuon", "Aries 3 \"Nuon\"")
// nuon_device - constructor
//-------------------------------------------------
-nuon_device::nuon_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+nuon_device::nuon_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, NUON, tag, owner, clock)
, m_program_configs{{"program_mpe0", ENDIANNESS_BIG, 32, 32},
{"program_mpe1", ENDIANNESS_BIG, 32, 32},
diff --git a/src/devices/cpu/nuon/nuon.h b/src/devices/cpu/nuon/nuon.h
index f3a7311e985..ecdb5cc6d76 100644
--- a/src/devices/cpu/nuon/nuon.h
+++ b/src/devices/cpu/nuon/nuon.h
@@ -20,7 +20,7 @@
class nuon_device : public cpu_device
{
public:
- nuon_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nuon_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/pace/pace.cpp b/src/devices/cpu/pace/pace.cpp
index 2bfba2cc338..38c6d5fe4e4 100644
--- a/src/devices/cpu/pace/pace.cpp
+++ b/src/devices/cpu/pace/pace.cpp
@@ -62,7 +62,7 @@ ALLOW_SAVE_TYPE(pace_device::cycle);
// pace_device - constructor
//-------------------------------------------------
-pace_device::pace_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+pace_device::pace_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_space_config("program", ENDIANNESS_LITTLE, 16, 16, -1)
, m_bps_callback(*this)
@@ -89,7 +89,7 @@ pace_device::pace_device(const machine_config &mconfig, device_type type, const
// ins8900_device - constructor
//-------------------------------------------------
-ins8900_device::ins8900_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ins8900_device::ins8900_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pace_device(mconfig, INS8900, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/pace/pace.h b/src/devices/cpu/pace/pace.h
index c96c38e5c02..d11c021b065 100644
--- a/src/devices/cpu/pace/pace.h
+++ b/src/devices/cpu/pace/pace.h
@@ -68,7 +68,7 @@ public:
protected:
// construction/destruction
- pace_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ pace_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-specific overrides
virtual void device_resolve_objects() override;
@@ -216,7 +216,7 @@ class ins8900_device : public pace_device
{
public:
// device type constructor
- ins8900_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ ins8900_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
// device type declarations
diff --git a/src/devices/cpu/patinhofeio/patinho_feio.cpp b/src/devices/cpu/patinhofeio/patinho_feio.cpp
index d017ff8a318..e341ea40cbc 100644
--- a/src/devices/cpu/patinhofeio/patinho_feio.cpp
+++ b/src/devices/cpu/patinhofeio/patinho_feio.cpp
@@ -56,7 +56,7 @@ void patinho_feio_cpu_device::prog_8bit(address_map &map)
map(0x0000, 0x0fff).ram().share("internalram");
}
-patinho_feio_cpu_device::patinho_feio_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+patinho_feio_cpu_device::patinho_feio_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, PATO_FEIO_CPU, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 12, 0, address_map_constructor(FUNC(patinho_feio_cpu_device::prog_8bit), this))
, m_update_panel_cb(*this)
diff --git a/src/devices/cpu/pdp1/pdp1.cpp b/src/devices/cpu/pdp1/pdp1.cpp
index 77c97ebcddc..8ef280e4860 100644
--- a/src/devices/cpu/pdp1/pdp1.cpp
+++ b/src/devices/cpu/pdp1/pdp1.cpp
@@ -380,7 +380,7 @@
DEFINE_DEVICE_TYPE(PDP1, pdp1_device, "pdp1_cpu", "DEC PDP-1 Central Processor")
-pdp1_device::pdp1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pdp1_device::pdp1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, PDP1, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 32, 18, -2) // data is actually 18 bits wide
, m_extern_iot(*this)
diff --git a/src/devices/cpu/pdp1/pdp1.h b/src/devices/cpu/pdp1/pdp1.h
index f1a4e934236..db80b85e311 100644
--- a/src/devices/cpu/pdp1/pdp1.h
+++ b/src/devices/cpu/pdp1/pdp1.h
@@ -71,7 +71,7 @@ public:
};
// construction/destruction
- pdp1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pdp1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
template <int I, typename... T> void set_iot_callback(T &&... args) { m_extern_iot[I].set(std::forward<T>(args)...); }
template <typename... T> void set_io_sc_callback(T &&... args) { m_io_sc_callback.set(std::forward<T>(args)...); }
diff --git a/src/devices/cpu/pdp8/hd6120.cpp b/src/devices/cpu/pdp8/hd6120.cpp
index fda3deea264..75a608ecde1 100644
--- a/src/devices/cpu/pdp8/hd6120.cpp
+++ b/src/devices/cpu/pdp8/hd6120.cpp
@@ -164,7 +164,7 @@ DEFINE_DEVICE_TYPE(HD6120, hd6120_device, "hd6120", "Harris HD-6120")
ALLOW_SAVE_TYPE(hd6120_device::minor_state)
-hd6120_device::hd6120_device(const machine_config &config, const char *tag, device_t *owner, u32 clock)
+hd6120_device::hd6120_device(const machine_config &config, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(config, HD6120, tag, owner, clock)
, m_inst_config("instruction", ENDIANNESS_BIG, 16, 16, -1) // 12 data bits
, m_data_config("data", ENDIANNESS_BIG, 16, 16, -1) // 12 data bits
diff --git a/src/devices/cpu/pdp8/hd6120.h b/src/devices/cpu/pdp8/hd6120.h
index 126ce115040..699157b75c8 100644
--- a/src/devices/cpu/pdp8/hd6120.h
+++ b/src/devices/cpu/pdp8/hd6120.h
@@ -68,7 +68,7 @@ public:
};
// device type constructor
- hd6120_device(const machine_config &config, const char *tag, device_t *owner, u32 clock);
+ hd6120_device(const machine_config &config, const char *tag, device_t *owner, const XTAL &clock);
// callback configuration
auto lxmar_callback() { return m_lxmar_callback.bind(); }
diff --git a/src/devices/cpu/pdp8/pdp8.cpp b/src/devices/cpu/pdp8/pdp8.cpp
index 31086b3fb48..1aab04e1702 100644
--- a/src/devices/cpu/pdp8/pdp8.cpp
+++ b/src/devices/cpu/pdp8/pdp8.cpp
@@ -48,7 +48,7 @@ DEFINE_DEVICE_TYPE(PDP8, pdp8_device, "pdp8_cpu", "DEC PDP8")
// pdp8_device - constructor
//-------------------------------------------------
-pdp8_device::pdp8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pdp8_device::pdp8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, PDP8, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, 16, 12, -1),
m_pc(0),
diff --git a/src/devices/cpu/pdp8/pdp8.h b/src/devices/cpu/pdp8/pdp8.h
index ef6c4af95ae..fb2b2295e1b 100644
--- a/src/devices/cpu/pdp8/pdp8.h
+++ b/src/devices/cpu/pdp8/pdp8.h
@@ -22,7 +22,7 @@ class pdp8_device : public cpu_device
{
public:
// construction/destruction
- pdp8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pdp8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/pic16c5x/pic16c5x.cpp b/src/devices/cpu/pic16c5x/pic16c5x.cpp
index 5d6f14a1071..e5bc68a1790 100644
--- a/src/devices/cpu/pic16c5x/pic16c5x.cpp
+++ b/src/devices/cpu/pic16c5x/pic16c5x.cpp
@@ -123,7 +123,7 @@ void pic16c5x_device::ram_7(address_map &map)
}
-pic16c5x_device::pic16c5x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, int picmodel)
+pic16c5x_device::pic16c5x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, int picmodel)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, program_width, -1
, ( ( program_width == 9 ) ? address_map_constructor(FUNC(pic16c5x_device::rom_9), this): ( ( program_width == 10 ) ? address_map_constructor(FUNC(pic16c5x_device::rom_10), this) : address_map_constructor(FUNC(pic16c5x_device::rom_11), this) )))
@@ -147,42 +147,42 @@ pic16c5x_device::pic16c5x_device(const machine_config &mconfig, device_type type
}
-pic16c54_device::pic16c54_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c54_device::pic16c54_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c5x_device(mconfig, PIC16C54, tag, owner, clock, 9, 5, 0x16C54)
{
}
-pic16c55_device::pic16c55_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c55_device::pic16c55_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c5x_device(mconfig, PIC16C55, tag, owner, clock, 9, 5, 0x16C55)
{
}
-pic16c56_device::pic16c56_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c56_device::pic16c56_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c5x_device(mconfig, PIC16C56, tag, owner, clock, 10, 5, 0x16C56)
{
}
-pic16c57_device::pic16c57_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c57_device::pic16c57_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c5x_device(mconfig, PIC16C57, tag, owner, clock, 11, 7, 0x16C57)
{
}
-pic16c58_device::pic16c58_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c58_device::pic16c58_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c5x_device(mconfig, PIC16C58, tag, owner, clock, 11, 7, 0x16C58)
{
}
-pic1650_device::pic1650_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic1650_device::pic1650_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c5x_device(mconfig, PIC1650, tag, owner, clock, 9, 5, 0x1650)
{
}
-pic1654s_device::pic1654s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic1654s_device::pic1654s_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c5x_device(mconfig, PIC1654S, tag, owner, clock, 9, 5, 0x1654)
{
}
-pic1655_device::pic1655_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic1655_device::pic1655_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c5x_device(mconfig, PIC1655, tag, owner, clock, 9, 5, 0x1655)
{
}
diff --git a/src/devices/cpu/pic16c5x/pic16c5x.h b/src/devices/cpu/pic16c5x/pic16c5x.h
index 177b9cae7a2..0ae1176a66c 100644
--- a/src/devices/cpu/pic16c5x/pic16c5x.h
+++ b/src/devices/cpu/pic16c5x/pic16c5x.h
@@ -79,7 +79,7 @@ public:
void rom_9(address_map &map);
protected:
// construction/destruction
- pic16c5x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, int picmodel);
+ pic16c5x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int data_width, int picmodel);
// device-level overrides
virtual void device_start() override;
@@ -226,7 +226,7 @@ class pic16c54_device : public pic16c5x_device
{
public:
// construction/destruction
- pic16c54_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c54_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -234,7 +234,7 @@ class pic16c55_device : public pic16c5x_device
{
public:
// construction/destruction
- pic16c55_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c55_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -242,7 +242,7 @@ class pic16c56_device : public pic16c5x_device
{
public:
// construction/destruction
- pic16c56_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c56_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -250,7 +250,7 @@ class pic16c57_device : public pic16c5x_device
{
public:
// construction/destruction
- pic16c57_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c57_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -258,7 +258,7 @@ class pic16c58_device : public pic16c5x_device
{
public:
// construction/destruction
- pic16c58_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c58_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -266,14 +266,14 @@ class pic1650_device : public pic16c5x_device
{
public:
// construction/destruction
- pic1650_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic1650_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class pic1654s_device : public pic16c5x_device
{
public:
// construction/destruction
- pic1654s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic1654s_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// 1654S has a /8 clock divider instead of the typical /4
@@ -285,7 +285,7 @@ class pic1655_device : public pic16c5x_device
{
public:
// construction/destruction
- pic1655_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic1655_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
#endif // MAME_CPU_PIC16C5X_PIC16C5X_H
diff --git a/src/devices/cpu/pic16c62x/pic16c62x.cpp b/src/devices/cpu/pic16c62x/pic16c62x.cpp
index ddb6d3c9bb8..59bc368faff 100644
--- a/src/devices/cpu/pic16c62x/pic16c62x.cpp
+++ b/src/devices/cpu/pic16c62x/pic16c62x.cpp
@@ -119,7 +119,7 @@ void pic16c62x_device::pic16c62xa_ram(address_map &map)
}
-pic16c62x_device::pic16c62x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int picmodel)
+pic16c62x_device::pic16c62x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int picmodel)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, program_width, -1
, ( ( program_width == 9 ) ? address_map_constructor(FUNC(pic16c62x_device::pic16c62x_rom_9), this) :
@@ -138,32 +138,32 @@ pic16c62x_device::pic16c62x_device(const machine_config &mconfig, device_type ty
}
-pic16c620_device::pic16c620_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c620_device::pic16c620_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c62x_device(mconfig, PIC16C620, tag, owner, clock, 9, 0x16C620)
{
}
-pic16c620a_device::pic16c620a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c620a_device::pic16c620a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c62x_device(mconfig, PIC16C620A, tag, owner, clock, 9, 0x16C620A)
{
}
-pic16c621_device::pic16c621_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c621_device::pic16c621_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c62x_device(mconfig, PIC16C621, tag, owner, clock, 10, 0x16C621)
{
}
-pic16c621a_device::pic16c621a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c621a_device::pic16c621a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c62x_device(mconfig, PIC16C621A, tag, owner, clock, 10, 0x16C621A)
{
}
-pic16c622_device::pic16c622_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c622_device::pic16c622_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c62x_device(mconfig, PIC16C622, tag, owner, clock, 11, 0x16C622)
{
}
-pic16c622a_device::pic16c622a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+pic16c622a_device::pic16c622a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic16c62x_device(mconfig, PIC16C622A, tag, owner, clock, 11, 0x16C622A)
{
}
diff --git a/src/devices/cpu/pic16c62x/pic16c62x.h b/src/devices/cpu/pic16c62x/pic16c62x.h
index d0b9390078f..427bcc0dad4 100644
--- a/src/devices/cpu/pic16c62x/pic16c62x.h
+++ b/src/devices/cpu/pic16c62x/pic16c62x.h
@@ -58,7 +58,7 @@ public:
protected:
// construction/destruction
- pic16c62x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int picmodel);
+ pic16c62x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int program_width, int picmodel);
// device-level overrides
virtual void device_start() override;
@@ -208,14 +208,14 @@ class pic16c620_device : public pic16c62x_device
{
public:
// construction/destruction
- pic16c620_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c620_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class pic16c620a_device : public pic16c62x_device
{
public:
// construction/destruction
- pic16c620a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c620a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
/*
@@ -223,35 +223,35 @@ class pic16cr620a_device : public pic16c62x_device
{
public:
// construction/destruction
- pic16cr620a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16cr620a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
}*/
class pic16c621_device : public pic16c62x_device
{
public:
// construction/destruction
- pic16c621_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c621_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class pic16c621a_device : public pic16c62x_device
{
public:
// construction/destruction
- pic16c621a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c621a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class pic16c622_device : public pic16c62x_device
{
public:
// construction/destruction
- pic16c622_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c622_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class pic16c622a_device : public pic16c62x_device
{
public:
// construction/destruction
- pic16c622a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pic16c622a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/pic17/pic17.cpp b/src/devices/cpu/pic17/pic17.cpp
index 99dff413d54..347b9c0e943 100644
--- a/src/devices/cpu/pic17/pic17.cpp
+++ b/src/devices/cpu/pic17/pic17.cpp
@@ -64,7 +64,7 @@
ALLOW_SAVE_TYPE(pic17_cpu_device::exec_phase);
-pic17_cpu_device::pic17_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 rom_size, address_map_constructor data_map)
+pic17_cpu_device::pic17_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 rom_size, address_map_constructor data_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 16, -1, address_map_constructor(FUNC(pic17_cpu_device::program_map), this))
, m_data_config("data", ENDIANNESS_LITTLE, 8, 12, 0, data_map)
diff --git a/src/devices/cpu/pic17/pic17.h b/src/devices/cpu/pic17/pic17.h
index fed49748a67..f139a04568f 100644
--- a/src/devices/cpu/pic17/pic17.h
+++ b/src/devices/cpu/pic17/pic17.h
@@ -40,7 +40,7 @@ public:
void set_mode(mode m) { m_mode = m; }
protected:
- pic17_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 rom_size, address_map_constructor data_map);
+ pic17_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 rom_size, address_map_constructor data_map);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/pic17/pic17c4x.cpp b/src/devices/cpu/pic17/pic17c4x.cpp
index 07976c32b79..4ed8654bca4 100644
--- a/src/devices/cpu/pic17/pic17c4x.cpp
+++ b/src/devices/cpu/pic17/pic17c4x.cpp
@@ -34,7 +34,7 @@
DEFINE_DEVICE_TYPE(PIC17C43, pic17c43_device, "pic17c43", "Microchip PIC17C43")
DEFINE_DEVICE_TYPE(PIC17C44, pic17c44_device, "pic17c44", "Microchip PIC17C44")
-pic17c4x_device::pic17c4x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 rom_size, address_map_constructor data_map)
+pic17c4x_device::pic17c4x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 rom_size, address_map_constructor data_map)
: pic17_cpu_device(mconfig, type, tag, owner, clock, rom_size, data_map)
, m_port_out_cb(*this)
, m_rain(0x3f)
@@ -56,17 +56,17 @@ pic17c4x_device::pic17c4x_device(const machine_config &mconfig, device_type type
{
}
-pic17c43_device::pic17c43_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 rom_size)
+pic17c43_device::pic17c43_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 rom_size)
: pic17c4x_device(mconfig, type, tag, owner, clock, rom_size, address_map_constructor(FUNC(pic17c43_device::data_map), this))
{
}
-pic17c43_device::pic17c43_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+pic17c43_device::pic17c43_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic17c43_device(mconfig, PIC17C43, tag, owner, clock, 0x1000)
{
}
-pic17c44_device::pic17c44_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+pic17c44_device::pic17c44_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pic17c43_device(mconfig, PIC17C44, tag, owner, clock, 0x2000)
{
}
diff --git a/src/devices/cpu/pic17/pic17c4x.h b/src/devices/cpu/pic17/pic17c4x.h
index e1ae9290230..101b9cada5b 100644
--- a/src/devices/cpu/pic17/pic17c4x.h
+++ b/src/devices/cpu/pic17/pic17c4x.h
@@ -75,7 +75,7 @@ public:
auto re_out_cb() { return m_port_out_cb[4].bind(); }
protected:
- pic17c4x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 rom_size, address_map_constructor data_map);
+ pic17c4x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 rom_size, address_map_constructor data_map);
// device-level overrides
virtual void device_resolve_objects() override;
@@ -158,10 +158,10 @@ class pic17c43_device : public pic17c4x_device
{
public:
// device type constructor
- pic17c43_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ pic17c43_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- pic17c43_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 rom_size);
+ pic17c43_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 rom_size);
private:
void data_map(address_map &map);
@@ -171,7 +171,7 @@ class pic17c44_device : public pic17c43_device
{
public:
// device type constructor
- pic17c44_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ pic17c44_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
// device type declarations
diff --git a/src/devices/cpu/powerpc/ppc.h b/src/devices/cpu/powerpc/ppc.h
index b27f80efc7e..799371ca363 100644
--- a/src/devices/cpu/powerpc/ppc.h
+++ b/src/devices/cpu/powerpc/ppc.h
@@ -205,7 +205,7 @@ protected:
};
// construction/destruction
- ppc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int address_bits, int data_bits, powerpc_flavor flavor, uint32_t cap, uint32_t tb_divisor, address_map_constructor internal_map);
+ ppc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int address_bits, int data_bits, powerpc_flavor flavor, uint32_t cap, uint32_t tb_divisor, address_map_constructor internal_map);
public:
virtual ~ppc_device() override;
@@ -686,7 +686,7 @@ private:
//class ppc403_device : public ppc_device
//{
//public:
-// ppc403_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+// ppc403_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
//
//protected:
// virtual uint32_t execute_input_lines() const noexcept { return 8; }
@@ -696,7 +696,7 @@ private:
//class ppc405_device : public ppc_device
//{
//public:
-// ppc405_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+// ppc405_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
//
//protected:
// virtual uint32_t execute_input_lines() const noexcept { return 8; }
@@ -706,49 +706,49 @@ private:
class ppc603_device : public ppc_device
{
public:
- ppc603_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ppc603_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class ppc603e_device : public ppc_device
{
public:
- ppc603e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ppc603e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class ppc603r_device : public ppc_device
{
public:
- ppc603r_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ppc603r_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class ppc602_device : public ppc_device
{
public:
- ppc602_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ppc602_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class mpc8240_device : public ppc_device
{
public:
- mpc8240_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mpc8240_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class ppc601_device : public ppc_device
{
public:
- ppc601_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ppc601_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class ppc604_device : public ppc_device
{
public:
- ppc604_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ppc604_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -768,7 +768,7 @@ public:
void internal_ppc4xx(address_map &map);
protected:
- ppc4xx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, powerpc_flavor flavor, uint32_t cap, uint32_t tb_divisor);
+ ppc4xx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, powerpc_flavor flavor, uint32_t cap, uint32_t tb_divisor);
virtual uint32_t execute_input_lines() const noexcept override { return 5; }
virtual void execute_set_input(int inputnum, int state) override;
@@ -778,21 +778,21 @@ protected:
class ppc403ga_device : public ppc4xx_device
{
public:
- ppc403ga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ppc403ga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class ppc403gcx_device : public ppc4xx_device
{
public:
- ppc403gcx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ppc403gcx_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class ppc405gp_device : public ppc4xx_device
{
public:
- ppc405gp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ppc405gp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/powerpc/ppccom.cpp b/src/devices/cpu/powerpc/ppccom.cpp
index aecc85d1709..86499979c61 100644
--- a/src/devices/cpu/powerpc/ppccom.cpp
+++ b/src/devices/cpu/powerpc/ppccom.cpp
@@ -207,7 +207,7 @@ DEFINE_DEVICE_TYPE(PPC403GCX, ppc403gcx_device, "ppc403gcx", "IBM PowerPC 403GC
DEFINE_DEVICE_TYPE(PPC405GP, ppc405gp_device, "ppc405gp", "IBM PowerPC 405GP")
-ppc_device::ppc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int address_bits, int data_bits, powerpc_flavor flavor, uint32_t cap, uint32_t tb_divisor, address_map_constructor internal_map)
+ppc_device::ppc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int address_bits, int data_bits, powerpc_flavor flavor, uint32_t cap, uint32_t tb_divisor, address_map_constructor internal_map)
: cpu_device(mconfig, type, tag, owner, clock)
, device_vtlb_interface(mconfig, *this, AS_PROGRAM)
, m_program_config("program", ENDIANNESS_BIG, data_bits, address_bits, 0, internal_map)
@@ -242,47 +242,47 @@ ppc_device::~ppc_device()
{
}
-//ppc403_device::ppc403_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+//ppc403_device::ppc403_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
// : ppc_device(mconfig, PPC403, "PPC403", tag, owner, clock, "ppc403", 32?, 64?)
//{
//}
//
-//ppc405_device::ppc405_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+//ppc405_device::ppc405_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
// : ppc_device(mconfig, PPC405, "PPC405", tag, owner, clock, "ppc405", 32?, 64?)
//{
//}
-ppc603_device::ppc603_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ppc603_device::ppc603_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc_device(mconfig, PPC603, tag, owner, clock, 32, 64, PPC_MODEL_603, PPCCAP_OEA | PPCCAP_VEA | PPCCAP_FPU | PPCCAP_MISALIGNED | PPCCAP_603_MMU, 4, address_map_constructor())
{
}
-ppc603e_device::ppc603e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ppc603e_device::ppc603e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc_device(mconfig, PPC603E, tag, owner, clock, 32, 64, PPC_MODEL_603E, PPCCAP_OEA | PPCCAP_VEA | PPCCAP_FPU | PPCCAP_MISALIGNED | PPCCAP_603_MMU, 4, address_map_constructor())
{
}
-ppc603r_device::ppc603r_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ppc603r_device::ppc603r_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc_device(mconfig, PPC603R, tag, owner, clock, 32, 64, PPC_MODEL_603R, PPCCAP_OEA | PPCCAP_VEA | PPCCAP_FPU | PPCCAP_MISALIGNED | PPCCAP_603_MMU, 4, address_map_constructor())
{
}
-ppc602_device::ppc602_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ppc602_device::ppc602_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc_device(mconfig, PPC602, tag, owner, clock, 32, 64, PPC_MODEL_602, PPCCAP_OEA | PPCCAP_VEA | PPCCAP_FPU | PPCCAP_MISALIGNED | PPCCAP_603_MMU, 4, address_map_constructor())
{
}
-mpc8240_device::mpc8240_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mpc8240_device::mpc8240_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc_device(mconfig, MPC8240, tag, owner, clock, 32, 64, PPC_MODEL_MPC8240, PPCCAP_OEA | PPCCAP_VEA | PPCCAP_FPU | PPCCAP_MISALIGNED | PPCCAP_603_MMU, 4/* unknown */, address_map_constructor())
{
}
-ppc601_device::ppc601_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ppc601_device::ppc601_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc_device(mconfig, PPC601, tag, owner, clock, 32, 64, PPC_MODEL_601, PPCCAP_OEA | PPCCAP_VEA | PPCCAP_FPU | PPCCAP_MISALIGNED | PPCCAP_MFIOC | PPCCAP_601BAT, 0/* no TB */, address_map_constructor())
{
}
-ppc604_device::ppc604_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ppc604_device::ppc604_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc_device(mconfig, PPC604, tag, owner, clock, 32, 64, PPC_MODEL_604, PPCCAP_OEA | PPCCAP_VEA | PPCCAP_FPU | PPCCAP_MISALIGNED | PPCCAP_604_MMU, 4, address_map_constructor())
{
}
@@ -292,22 +292,22 @@ void ppc4xx_device::internal_ppc4xx(address_map &map)
map(0x40000000, 0x4000000f).rw(FUNC(ppc4xx_device::ppc4xx_spu_r), FUNC(ppc4xx_device::ppc4xx_spu_w));
}
-ppc4xx_device::ppc4xx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, powerpc_flavor flavor, uint32_t cap, uint32_t tb_divisor)
+ppc4xx_device::ppc4xx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, powerpc_flavor flavor, uint32_t cap, uint32_t tb_divisor)
: ppc_device(mconfig, type, tag, owner, clock, 31, 32, flavor, cap, tb_divisor, address_map_constructor(FUNC(ppc4xx_device::internal_ppc4xx), this))
{
}
-ppc403ga_device::ppc403ga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ppc403ga_device::ppc403ga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc4xx_device(mconfig, PPC403GA, tag, owner, clock, PPC_MODEL_403GA, PPCCAP_4XX, 1)
{
}
-ppc403gcx_device::ppc403gcx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ppc403gcx_device::ppc403gcx_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc4xx_device(mconfig, PPC403GCX, tag, owner, clock, PPC_MODEL_403GCX, PPCCAP_4XX, 1)
{
}
-ppc405gp_device::ppc405gp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ppc405gp_device::ppc405gp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ppc4xx_device(mconfig, PPC405GP, tag, owner, clock, PPC_MODEL_405GP, PPCCAP_4XX | PPCCAP_VEA, 1)
{
}
diff --git a/src/devices/cpu/pps4/pps4.cpp b/src/devices/cpu/pps4/pps4.cpp
index 1a44fa2a39b..e5025928bc2 100644
--- a/src/devices/cpu/pps4/pps4.cpp
+++ b/src/devices/cpu/pps4/pps4.cpp
@@ -86,7 +86,7 @@
DEFINE_DEVICE_TYPE(PPS4, pps4_device, "pps4", "Rockwell PPS4-4")
DEFINE_DEVICE_TYPE(PPS4_2, pps4_2_device, "pps4_2", "Rockwell PPS-4/2")
-pps4_device::pps4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+pps4_device::pps4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 12)
, m_data_config("data", ENDIANNESS_LITTLE, 8, 12) // 4bit RAM
@@ -99,12 +99,12 @@ pps4_device::pps4_device(const machine_config &mconfig, device_type type, const
{
}
-pps4_device::pps4_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+pps4_device::pps4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pps4_device(mconfig, PPS4, tag, owner, clock)
{
}
-pps4_2_device::pps4_2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+pps4_2_device::pps4_2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: pps4_device(mconfig, PPS4_2, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/pps4/pps4.h b/src/devices/cpu/pps4/pps4.h
index 4b9b82f37c0..35901965c95 100644
--- a/src/devices/cpu/pps4/pps4.h
+++ b/src/devices/cpu/pps4/pps4.h
@@ -40,7 +40,7 @@ class pps4_device : public cpu_device
{
public:
// construction/destruction
- pps4_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ pps4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto dia_cb() { return m_dia_cb.bind(); }
@@ -50,7 +50,7 @@ public:
u16 address_bus_r(address_space &space);
protected:
- pps4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ pps4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -171,7 +171,7 @@ class pps4_2_device : public pps4_device
{
public:
// construction/destruction
- pps4_2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ pps4_2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/pps41/mm75.cpp b/src/devices/cpu/pps41/mm75.cpp
index 83c5ae06368..d89fa319701 100644
--- a/src/devices/cpu/pps41/mm75.cpp
+++ b/src/devices/cpu/pps41/mm75.cpp
@@ -14,7 +14,7 @@ DEFINE_DEVICE_TYPE(MM75, mm75_device, "mm75", "Rockwell MM75 A7500") // stripped
// constructor
-mm75_device::mm75_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm75_device::mm75_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm76_device(mconfig, MM75, tag, owner, clock, 10, address_map_constructor(FUNC(mm75_device::program_0_6k), this), 6, address_map_constructor(FUNC(mm75_device::data_48x4), this))
{ }
diff --git a/src/devices/cpu/pps41/mm75.h b/src/devices/cpu/pps41/mm75.h
index 39a14245cae..5eaba622bbd 100644
--- a/src/devices/cpu/pps41/mm75.h
+++ b/src/devices/cpu/pps41/mm75.h
@@ -37,7 +37,7 @@
class mm75_device : public mm76_device
{
public:
- mm75_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm75_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_start() override;
diff --git a/src/devices/cpu/pps41/mm76.cpp b/src/devices/cpu/pps41/mm76.cpp
index bb7d9cd7a53..c0dacb2d371 100644
--- a/src/devices/cpu/pps41/mm76.cpp
+++ b/src/devices/cpu/pps41/mm76.cpp
@@ -19,27 +19,27 @@ DEFINE_DEVICE_TYPE(MM76EL, mm76el_device, "mm76el", "Rockwell MM76EL B8600") //
// constructor
-mm76_device::mm76_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm76_device::mm76_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm76_device(mconfig, MM76, tag, owner, clock, 10, address_map_constructor(FUNC(mm76_device::program_0_6k), this), 6, address_map_constructor(FUNC(mm76_device::data_48x4), this))
{ }
-mm76_device::mm76_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+mm76_device::mm76_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
pps41_base_device(mconfig, type, tag, owner, clock, prgwidth, program, datawidth, data)
{ }
-mm76l_device::mm76l_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm76l_device::mm76l_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm76_device(mconfig, MM76L, tag, owner, clock, 10, address_map_constructor(FUNC(mm76l_device::program_0_6k), this), 6, address_map_constructor(FUNC(mm76l_device::data_48x4), this))
{ }
-mm76e_device::mm76e_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm76e_device::mm76e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm76e_device(mconfig, MM76E, tag, owner, clock, 10, address_map_constructor(FUNC(mm76e_device::program_1k), this), 6, address_map_constructor(FUNC(mm76e_device::data_48x4), this))
{ }
-mm76e_device::mm76e_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+mm76e_device::mm76e_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
mm76_device(mconfig, type, tag, owner, clock, prgwidth, program, datawidth, data)
{ }
-mm76el_device::mm76el_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm76el_device::mm76el_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm76e_device(mconfig, MM76EL, tag, owner, clock, 10, address_map_constructor(FUNC(mm76el_device::program_1k), this), 6, address_map_constructor(FUNC(mm76el_device::data_48x4), this))
{ }
diff --git a/src/devices/cpu/pps41/mm76.h b/src/devices/cpu/pps41/mm76.h
index 54db25fc93b..5ec1193ecb9 100644
--- a/src/devices/cpu/pps41/mm76.h
+++ b/src/devices/cpu/pps41/mm76.h
@@ -44,10 +44,10 @@
class mm76_device : public pps41_base_device
{
public:
- mm76_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm76_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- mm76_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ mm76_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device-level overrides
virtual void device_start() override;
@@ -136,16 +136,16 @@ protected:
class mm76l_device : public mm76_device
{
public:
- mm76l_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm76l_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class mm76e_device : public mm76_device
{
public:
- mm76e_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm76e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- mm76e_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ mm76e_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
void program_1k(address_map &map);
};
@@ -153,7 +153,7 @@ protected:
class mm76el_device : public mm76e_device
{
public:
- mm76el_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm76el_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/pps41/mm78.cpp b/src/devices/cpu/pps41/mm78.cpp
index 8512c8f3f07..ae23593ee3f 100644
--- a/src/devices/cpu/pps41/mm78.cpp
+++ b/src/devices/cpu/pps41/mm78.cpp
@@ -19,27 +19,27 @@ DEFINE_DEVICE_TYPE(MM77L, mm77l_device, "mm77l", "Rockwell MM77L B7700") // 1.5K
// constructor
-mm78_device::mm78_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm78_device::mm78_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm78_device(mconfig, MM78, tag, owner, clock, 11, address_map_constructor(FUNC(mm78_device::program_2k), this), 7, address_map_constructor(FUNC(mm78_device::data_128x4), this))
{ }
-mm78_device::mm78_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+mm78_device::mm78_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
mm76_device(mconfig, type, tag, owner, clock, prgwidth, program, datawidth, data)
{ }
-mm78l_device::mm78l_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm78l_device::mm78l_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm78_device(mconfig, MM78L, tag, owner, clock, 11, address_map_constructor(FUNC(mm78l_device::program_2k), this), 7, address_map_constructor(FUNC(mm78l_device::data_128x4), this))
{ }
-mm77_device::mm77_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm77_device::mm77_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm77_device(mconfig, MM77, tag, owner, clock, 11, address_map_constructor(FUNC(mm77_device::program_1_3k), this), 7, address_map_constructor(FUNC(mm77_device::data_96x4), this))
{ }
-mm77_device::mm77_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+mm77_device::mm77_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
mm78_device(mconfig, type, tag, owner, clock, prgwidth, program, datawidth, data)
{ }
-mm77l_device::mm77l_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm77l_device::mm77l_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm77_device(mconfig, MM77L, tag, owner, clock, 11, address_map_constructor(FUNC(mm77l_device::program_1_5k), this), 7, address_map_constructor(FUNC(mm77l_device::data_96x4), this))
{ }
diff --git a/src/devices/cpu/pps41/mm78.h b/src/devices/cpu/pps41/mm78.h
index d901d87988c..14ef3f2fe3d 100644
--- a/src/devices/cpu/pps41/mm78.h
+++ b/src/devices/cpu/pps41/mm78.h
@@ -45,10 +45,10 @@
class mm78_device : public mm76_device
{
public:
- mm78_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm78_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- mm78_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ mm78_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device-level overrides
virtual void device_start() override;
@@ -101,22 +101,22 @@ protected:
class mm78l_device : public mm78_device
{
public:
- mm78l_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm78l_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class mm77_device : public mm78_device
{
public:
- mm77_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm77_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- mm77_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ mm77_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
};
class mm77l_device : public mm77_device
{
public:
- mm77l_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm77l_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/pps41/mm78la.cpp b/src/devices/cpu/pps41/mm78la.cpp
index 0e03e77935d..2509df48334 100644
--- a/src/devices/cpu/pps41/mm78la.cpp
+++ b/src/devices/cpu/pps41/mm78la.cpp
@@ -15,15 +15,15 @@ DEFINE_DEVICE_TYPE(MM77LA, mm77la_device, "mm77la", "Rockwell MM77LA B8000") //
// constructor
-mm78la_device::mm78la_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm78la_device::mm78la_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm78la_device(mconfig, MM78LA, tag, owner, clock, 11, address_map_constructor(FUNC(mm78la_device::program_2k), this), 7, address_map_constructor(FUNC(mm78la_device::data_128x4), this))
{ }
-mm78la_device::mm78la_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+mm78la_device::mm78la_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
mm78_device(mconfig, type, tag, owner, clock, prgwidth, program, datawidth, data)
{ }
-mm77la_device::mm77la_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mm77la_device::mm77la_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
mm78la_device(mconfig, MM77LA, tag, owner, clock, 11, address_map_constructor(FUNC(mm77la_device::program_1_5k), this), 7, address_map_constructor(FUNC(mm77la_device::data_96x4), this))
{ }
diff --git a/src/devices/cpu/pps41/mm78la.h b/src/devices/cpu/pps41/mm78la.h
index a9c58ab4572..a4f67d321ab 100644
--- a/src/devices/cpu/pps41/mm78la.h
+++ b/src/devices/cpu/pps41/mm78la.h
@@ -46,10 +46,10 @@
class mm78la_device : public mm78_device
{
public:
- mm78la_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm78la_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- mm78la_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ mm78la_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device-level overrides
virtual void device_start() override;
@@ -79,7 +79,7 @@ protected:
class mm77la_device : public mm78la_device
{
public:
- mm77la_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mm77la_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/pps41/pps41base.cpp b/src/devices/cpu/pps41/pps41base.cpp
index 9fa004640b3..ff5c02426c7 100644
--- a/src/devices/cpu/pps41/pps41base.cpp
+++ b/src/devices/cpu/pps41/pps41base.cpp
@@ -56,7 +56,7 @@ TODO:
#include "pps41base.h"
-pps41_base_device::pps41_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+pps41_base_device::pps41_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 8, prgwidth, 0, program),
m_data_config("data", ENDIANNESS_LITTLE, 8, datawidth, 0, data),
diff --git a/src/devices/cpu/pps41/pps41base.h b/src/devices/cpu/pps41/pps41base.h
index 2d962b5a5d3..dd19e4c633c 100644
--- a/src/devices/cpu/pps41/pps41base.h
+++ b/src/devices/cpu/pps41/pps41base.h
@@ -56,7 +56,7 @@ public:
protected:
// construction/destruction
- pps41_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ pps41_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/psx/dma.cpp b/src/devices/cpu/psx/dma.cpp
index 0a901228944..5b4e12d760b 100644
--- a/src/devices/cpu/psx/dma.cpp
+++ b/src/devices/cpu/psx/dma.cpp
@@ -29,7 +29,7 @@ static inline void ATTR_PRINTF(3,4) verboselog( device_t& device, int n_level, c
DEFINE_DEVICE_TYPE(PSX_DMA, psxdma_device, "psxdma", "Sony PSX DMA")
-psxdma_device::psxdma_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+psxdma_device::psxdma_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, PSX_DMA, tag, owner, clock), m_ram(), m_ramsize(0), m_dpcp(0), m_dicr(0),
m_irq_handler(*this)
{
diff --git a/src/devices/cpu/psx/dma.h b/src/devices/cpu/psx/dma.h
index 0d81d67da7d..35f1480006c 100644
--- a/src/devices/cpu/psx/dma.h
+++ b/src/devices/cpu/psx/dma.h
@@ -21,7 +21,7 @@ public:
typedef delegate<void (uint32_t *, uint32_t, int32_t)> read_delegate;
typedef delegate<void (uint32_t *, uint32_t, int32_t)> write_delegate;
- psxdma_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ psxdma_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
//configuration helpers
auto irq() { return m_irq_handler.bind(); }
diff --git a/src/devices/cpu/psx/irq.cpp b/src/devices/cpu/psx/irq.cpp
index d14e8f7cdc0..7207daa83c7 100644
--- a/src/devices/cpu/psx/irq.cpp
+++ b/src/devices/cpu/psx/irq.cpp
@@ -32,7 +32,7 @@ static inline void ATTR_PRINTF(3,4) verboselog( device_t& device, int n_level, c
DEFINE_DEVICE_TYPE(PSX_IRQ, psxirq_device, "psxirq", "Sony PSX IRQ")
-psxirq_device::psxirq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+psxirq_device::psxirq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, PSX_IRQ, tag, owner, clock), n_irqdata(0), n_irqmask(0),
m_irq_handler(*this)
{
diff --git a/src/devices/cpu/psx/irq.h b/src/devices/cpu/psx/irq.h
index b4ee28e712a..2708a0584a2 100644
--- a/src/devices/cpu/psx/irq.h
+++ b/src/devices/cpu/psx/irq.h
@@ -18,7 +18,7 @@ DECLARE_DEVICE_TYPE(PSX_IRQ, psxirq_device)
class psxirq_device : public device_t
{
public:
- psxirq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ psxirq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto irq() { return m_irq_handler.bind(); }
diff --git a/src/devices/cpu/psx/mdec.cpp b/src/devices/cpu/psx/mdec.cpp
index 8b4421e4062..a2aa588175b 100644
--- a/src/devices/cpu/psx/mdec.cpp
+++ b/src/devices/cpu/psx/mdec.cpp
@@ -32,7 +32,7 @@ static inline void ATTR_PRINTF(3,4) verboselog( device_t& device, int n_level, c
DEFINE_DEVICE_TYPE(PSX_MDEC, psxmdec_device, "psxmdec", "Sony PSX MDEC")
-psxmdec_device::psxmdec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+psxmdec_device::psxmdec_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: device_t(mconfig, PSX_MDEC, tag, owner, clock), n_decoded(0), n_offset(0), n_0_command(0), n_0_address(0), n_0_size(0), n_1_command(0), n_1_status(0)
{
}
diff --git a/src/devices/cpu/psx/mdec.h b/src/devices/cpu/psx/mdec.h
index 8d9da890069..a597c3e69c1 100644
--- a/src/devices/cpu/psx/mdec.h
+++ b/src/devices/cpu/psx/mdec.h
@@ -18,7 +18,7 @@ DECLARE_DEVICE_TYPE(PSX_MDEC, psxmdec_device)
class psxmdec_device : public device_t
{
public:
- psxmdec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ psxmdec_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void write(offs_t offset, uint32_t data);
uint32_t read(offs_t offset);
diff --git a/src/devices/cpu/psx/psx.cpp b/src/devices/cpu/psx/psx.cpp
index 1e7ed448c2e..cb51a087212 100644
--- a/src/devices/cpu/psx/psx.cpp
+++ b/src/devices/cpu/psx/psx.cpp
@@ -1784,7 +1784,7 @@ void psxcpu_device::psxcpu_internal_map(address_map &map)
// psxcpu_device - constructor
//-------------------------------------------------
-psxcpu_device::psxcpu_device( const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock ) :
+psxcpu_device::psxcpu_device( const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock ) :
cpu_device( mconfig, type, tag, owner, clock ),
m_program_config( "program", ENDIANNESS_LITTLE, 32, 32, 0, address_map_constructor(FUNC(psxcpu_device::psxcpu_internal_map), this)),
m_gpu_read_handler( *this ),
@@ -1799,32 +1799,32 @@ psxcpu_device::psxcpu_device( const machine_config &mconfig, device_type type, c
m_disable_rom_berr = false;
}
-cxd8530aq_device::cxd8530aq_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock )
+cxd8530aq_device::cxd8530aq_device( const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock )
: psxcpu_device( mconfig, CXD8530AQ, tag, owner, clock)
{
}
-cxd8530bq_device::cxd8530bq_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock )
+cxd8530bq_device::cxd8530bq_device( const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock )
: psxcpu_device( mconfig, CXD8530BQ, tag, owner, clock)
{
}
-cxd8530cq_device::cxd8530cq_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock )
+cxd8530cq_device::cxd8530cq_device( const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock )
: psxcpu_device( mconfig, CXD8530CQ, tag, owner, clock)
{
}
-cxd8661r_device::cxd8661r_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock )
+cxd8661r_device::cxd8661r_device( const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock )
: psxcpu_device( mconfig, CXD8661R, tag, owner, clock)
{
}
-cxd8606bq_device::cxd8606bq_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock )
+cxd8606bq_device::cxd8606bq_device( const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock )
: psxcpu_device( mconfig, CXD8606BQ, tag, owner, clock)
{
}
-cxd8606cq_device::cxd8606cq_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock )
+cxd8606cq_device::cxd8606cq_device( const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock )
: psxcpu_device( mconfig, CXD8606CQ, tag, owner, clock)
{
}
@@ -3450,17 +3450,17 @@ device_memory_interface::space_config_vector psxcpu_device::memory_space_config(
void psxcpu_device::device_add_mconfig(machine_config &config)
{
- auto &irq(PSX_IRQ(config, "irq", 0));
+ auto &irq(PSX_IRQ(config, "irq"));
irq.irq().set_inputline(DEVICE_SELF, PSXCPU_IRQ0);
- auto &dma(PSX_DMA(config, "dma", 0));
+ auto &dma(PSX_DMA(config, "dma"));
dma.irq().set("irq", FUNC(psxirq_device::intin3));
- auto &mdec(PSX_MDEC(config, "mdec", 0));
+ auto &mdec(PSX_MDEC(config, "mdec"));
dma.install_write_handler(0, psxdma_device::write_delegate(&psxmdec_device::dma_write, &mdec));
dma.install_read_handler(1, psxdma_device::write_delegate(&psxmdec_device::dma_read, &mdec));
- auto &rcnt(PSX_RCNT(config, "rcnt", 0));
+ auto &rcnt(PSX_RCNT(config, "rcnt"));
rcnt.irq0().set("irq", FUNC(psxirq_device::intin4));
rcnt.irq1().set("irq", FUNC(psxirq_device::intin5));
rcnt.irq2().set("irq", FUNC(psxirq_device::intin6));
diff --git a/src/devices/cpu/psx/psx.h b/src/devices/cpu/psx/psx.h
index 4ab779d9139..73e756ae332 100644
--- a/src/devices/cpu/psx/psx.h
+++ b/src/devices/cpu/psx/psx.h
@@ -168,7 +168,7 @@ protected:
static constexpr unsigned ICACHE_ENTRIES = 0x400;
static constexpr unsigned DCACHE_ENTRIES = 0x100;
- psxcpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ psxcpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -325,42 +325,42 @@ class cxd8530aq_device : public psxcpu_device
{
public:
// construction/destruction
- cxd8530aq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cxd8530aq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class cxd8530bq_device : public psxcpu_device
{
public:
// construction/destruction
- cxd8530bq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cxd8530bq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class cxd8530cq_device : public psxcpu_device
{
public:
// construction/destruction
- cxd8530cq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cxd8530cq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class cxd8661r_device : public psxcpu_device
{
public:
// construction/destruction
- cxd8661r_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cxd8661r_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class cxd8606bq_device : public psxcpu_device
{
public:
// construction/destruction
- cxd8606bq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cxd8606bq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class cxd8606cq_device : public psxcpu_device
{
public:
// construction/destruction
- cxd8606cq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ cxd8606cq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
// device type definition
diff --git a/src/devices/cpu/psx/rcnt.cpp b/src/devices/cpu/psx/rcnt.cpp
index 02e55dd5333..cdd71510846 100644
--- a/src/devices/cpu/psx/rcnt.cpp
+++ b/src/devices/cpu/psx/rcnt.cpp
@@ -29,7 +29,7 @@ static inline void ATTR_PRINTF(3,4) verboselog( device_t& device, int n_level, c
DEFINE_DEVICE_TYPE(PSX_RCNT, psxrcnt_device, "psxrcnt", "Sony PSX RCNT")
-psxrcnt_device::psxrcnt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+psxrcnt_device::psxrcnt_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, PSX_RCNT, tag, owner, clock),
m_irq0_handler(*this),
m_irq1_handler(*this),
diff --git a/src/devices/cpu/psx/rcnt.h b/src/devices/cpu/psx/rcnt.h
index 8e0a471f4e1..61e1e852195 100644
--- a/src/devices/cpu/psx/rcnt.h
+++ b/src/devices/cpu/psx/rcnt.h
@@ -27,7 +27,7 @@ DECLARE_DEVICE_TYPE(PSX_RCNT, psxrcnt_device)
class psxrcnt_device : public device_t
{
public:
- psxrcnt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ psxrcnt_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto irq0() { return m_irq0_handler.bind(); }
diff --git a/src/devices/cpu/psx/sio.cpp b/src/devices/cpu/psx/sio.cpp
index 46b73d6b3a9..fc71b4d8055 100644
--- a/src/devices/cpu/psx/sio.cpp
+++ b/src/devices/cpu/psx/sio.cpp
@@ -30,17 +30,17 @@ static inline void ATTR_PRINTF(3,4) verboselog( device_t& device, int n_level, c
DEFINE_DEVICE_TYPE(PSX_SIO0, psxsio0_device, "psxsio0", "Sony PSX SIO-0")
DEFINE_DEVICE_TYPE(PSX_SIO1, psxsio1_device, "psxsio1", "Sony PSX SIO-1")
-psxsio0_device::psxsio0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+psxsio0_device::psxsio0_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
psxsio_device(mconfig, PSX_SIO0, tag, owner, clock)
{
}
-psxsio1_device::psxsio1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+psxsio1_device::psxsio1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
psxsio_device(mconfig, PSX_SIO1, tag, owner, clock)
{
}
-psxsio_device::psxsio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+psxsio_device::psxsio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
device_t(mconfig, type, tag, owner, clock),
m_status(SIO_STATUS_TX_EMPTY | SIO_STATUS_TX_RDY), m_mode(0), m_control(0), m_baud(0),
m_rxd(1), m_tx_data(0), m_rx_data(0), m_tx_shift(0), m_rx_shift(0), m_tx_bits(0), m_rx_bits(0), m_timer(nullptr),
diff --git a/src/devices/cpu/psx/sio.h b/src/devices/cpu/psx/sio.h
index 482a8081d6a..afe6a3dceec 100644
--- a/src/devices/cpu/psx/sio.h
+++ b/src/devices/cpu/psx/sio.h
@@ -50,7 +50,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(write_dsr);
protected:
- psxsio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ psxsio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -86,13 +86,13 @@ private:
class psxsio0_device : public psxsio_device
{
public:
- psxsio0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ psxsio0_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class psxsio1_device : public psxsio_device
{
public:
- psxsio1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ psxsio1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
#endif // MAME_CPU_PSX_SIO_H
diff --git a/src/devices/cpu/rii/riscii.cpp b/src/devices/cpu/rii/riscii.cpp
index f7c642a2f0a..7a28cde5437 100644
--- a/src/devices/cpu/rii/riscii.cpp
+++ b/src/devices/cpu/rii/riscii.cpp
@@ -61,7 +61,7 @@ std::unique_ptr<util::disasm_interface> epg3231_device::create_disassembler()
return std::make_unique<epg3231_disassembler>();
}
-riscii_series_device::riscii_series_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, unsigned addrbits, unsigned pcbits, unsigned bankbits, u8 maxbank, u8 post_id_mask, address_map_constructor regs)
+riscii_series_device::riscii_series_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, unsigned addrbits, unsigned pcbits, unsigned bankbits, u8 maxbank, u8 post_id_mask, address_map_constructor regs)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, addrbits, -1)
, m_regs_config("register", ENDIANNESS_LITTLE, 8, 8 + bankbits, 0, regs)
@@ -175,7 +175,7 @@ void epg3231_device::regs_map(address_map &map)
map(0x0050, 0x007f).ram();
}
-epg3231_device::epg3231_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+epg3231_device::epg3231_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: riscii_series_device(mconfig, EPG3231, tag, owner, clock, 22, 18, 5, 0x1f, 0xbb,
address_map_constructor(FUNC(epg3231_device::regs_map), this))
{
diff --git a/src/devices/cpu/rii/riscii.h b/src/devices/cpu/rii/riscii.h
index 41b54d93a9e..2fe311bc6c9 100644
--- a/src/devices/cpu/rii/riscii.h
+++ b/src/devices/cpu/rii/riscii.h
@@ -92,7 +92,7 @@ public:
auto out_portk_cb() { return m_port_out_cb[9].bind(); }
protected:
- riscii_series_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, unsigned addrbits, unsigned pcbits, unsigned bankbits, u8 maxbank, u8 post_id_mask, address_map_constructor regs);
+ riscii_series_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, unsigned addrbits, unsigned pcbits, unsigned bankbits, u8 maxbank, u8 post_id_mask, address_map_constructor regs);
// device-level overrides
virtual void device_resolve_objects() override;
@@ -387,7 +387,7 @@ class epg3231_device : public riscii_series_device
{
public:
// construction/destruction
- epg3231_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ epg3231_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
diff --git a/src/devices/cpu/romp/romp.cpp b/src/devices/cpu/romp/romp.cpp
index bd652f7adc2..f4918f9da4b 100644
--- a/src/devices/cpu/romp/romp.cpp
+++ b/src/devices/cpu/romp/romp.cpp
@@ -32,7 +32,7 @@ DEFINE_DEVICE_TYPE(ROMP, romp_device, "romp", "IBM ROMP")
ALLOW_SAVE_TYPE(romp_device::branch_state);
-romp_device::romp_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
+romp_device::romp_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, ROMP, tag, owner, clock)
, m_mem_config("memory", ENDIANNESS_BIG, 32, 32)
, m_mmu(*this, finder_base::DUMMY_TAG)
diff --git a/src/devices/cpu/romp/romp.h b/src/devices/cpu/romp/romp.h
index 27a710f1d84..3846ff3534f 100644
--- a/src/devices/cpu/romp/romp.h
+++ b/src/devices/cpu/romp/romp.h
@@ -11,7 +11,7 @@
class romp_device : public cpu_device
{
public:
- romp_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+ romp_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock);
template <typename T> void set_mmu(T &&tag) { m_mmu.set_tag(std::forward<T>(tag)); }
template <typename T> void set_iou(T &&tag) { m_iou.set_tag(std::forward<T>(tag)); }
diff --git a/src/devices/cpu/rsp/rsp.cpp b/src/devices/cpu/rsp/rsp.cpp
index 6e280b7003c..d222053f74b 100644
--- a/src/devices/cpu/rsp/rsp.cpp
+++ b/src/devices/cpu/rsp/rsp.cpp
@@ -109,7 +109,7 @@ static const int vector_elements_2[16][8] =
#define CACHE_SIZE (32 * 1024 * 1024)
-rsp_device::rsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+rsp_device::rsp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, RSP, tag, owner, clock)
, m_imem_config("imem", ENDIANNESS_BIG, 32, 12)
, m_dmem_config("dmem", ENDIANNESS_BIG, 32, 12)
diff --git a/src/devices/cpu/rsp/rsp.h b/src/devices/cpu/rsp/rsp.h
index b33012bddda..000e6247445 100644
--- a/src/devices/cpu/rsp/rsp.h
+++ b/src/devices/cpu/rsp/rsp.h
@@ -84,7 +84,7 @@ class rsp_device : public cpu_device
public:
// construction/destruction
- rsp_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock);
+ rsp_device(const machine_config &mconfig, const char *_tag, device_t *_owner, const XTAL &_clock);
virtual ~rsp_device() override;
void resolve_cb();
diff --git a/src/devices/cpu/rw5000/a5000.cpp b/src/devices/cpu/rw5000/a5000.cpp
index bb39455cc18..369c7a3d1eb 100644
--- a/src/devices/cpu/rw5000/a5000.cpp
+++ b/src/devices/cpu/rw5000/a5000.cpp
@@ -16,11 +16,11 @@ DEFINE_DEVICE_TYPE(A5000, a5000_cpu_device, "a5000", "Rockwell A5000")
// constructor
-a5000_cpu_device::a5000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+a5000_cpu_device::a5000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
b5000_cpu_device(mconfig, type, tag, owner, clock, prgwidth, program, datawidth, data)
{ }
-a5000_cpu_device::a5000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+a5000_cpu_device::a5000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
a5000_cpu_device(mconfig, A5000, tag, owner, clock, 9, address_map_constructor(FUNC(a5000_cpu_device::program_448x8), this), 6, address_map_constructor(FUNC(a5000_cpu_device::data_45x4), this))
{ }
diff --git a/src/devices/cpu/rw5000/a5000.h b/src/devices/cpu/rw5000/a5000.h
index 704c1e7e8e0..6926fe24224 100644
--- a/src/devices/cpu/rw5000/a5000.h
+++ b/src/devices/cpu/rw5000/a5000.h
@@ -17,10 +17,10 @@
class a5000_cpu_device : public b5000_cpu_device
{
public:
- a5000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ a5000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- a5000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ a5000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/rw5000/a5500.cpp b/src/devices/cpu/rw5000/a5500.cpp
index 2d8cee136f1..beef8e4433b 100644
--- a/src/devices/cpu/rw5000/a5500.cpp
+++ b/src/devices/cpu/rw5000/a5500.cpp
@@ -16,11 +16,11 @@ DEFINE_DEVICE_TYPE(A5500, a5500_cpu_device, "a5500", "Rockwell A5500")
// constructor
-a5500_cpu_device::a5500_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+a5500_cpu_device::a5500_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
a5000_cpu_device(mconfig, type, tag, owner, clock, prgwidth, program, datawidth, data)
{ }
-a5500_cpu_device::a5500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+a5500_cpu_device::a5500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
a5500_cpu_device(mconfig, A5500, tag, owner, clock, 10, address_map_constructor(FUNC(a5500_cpu_device::program_768x8), this), 6, address_map_constructor(FUNC(a5500_cpu_device::data_48x4), this))
{ }
diff --git a/src/devices/cpu/rw5000/a5500.h b/src/devices/cpu/rw5000/a5500.h
index 138c38df630..d2dddabef19 100644
--- a/src/devices/cpu/rw5000/a5500.h
+++ b/src/devices/cpu/rw5000/a5500.h
@@ -17,10 +17,10 @@
class a5500_cpu_device : public a5000_cpu_device
{
public:
- a5500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ a5500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- a5500_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ a5500_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/rw5000/a5900.cpp b/src/devices/cpu/rw5000/a5900.cpp
index e294469f35b..12c9794fc69 100644
--- a/src/devices/cpu/rw5000/a5900.cpp
+++ b/src/devices/cpu/rw5000/a5900.cpp
@@ -17,7 +17,7 @@ DEFINE_DEVICE_TYPE(A5900, a5900_cpu_device, "a5900", "Rockwell A5900")
// constructor
-a5900_cpu_device::a5900_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+a5900_cpu_device::a5900_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
a5000_cpu_device(mconfig, A5900, tag, owner, clock, 9, address_map_constructor(FUNC(a5900_cpu_device::program_512x8), this), 6, address_map_constructor(FUNC(a5900_cpu_device::data_45x4), this))
{ }
diff --git a/src/devices/cpu/rw5000/a5900.h b/src/devices/cpu/rw5000/a5900.h
index b6b59508578..1976b01d0cf 100644
--- a/src/devices/cpu/rw5000/a5900.h
+++ b/src/devices/cpu/rw5000/a5900.h
@@ -17,7 +17,7 @@
class a5900_cpu_device : public a5000_cpu_device
{
public:
- a5900_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ a5900_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
void program_512x8(address_map &map);
diff --git a/src/devices/cpu/rw5000/b5000.cpp b/src/devices/cpu/rw5000/b5000.cpp
index 685fb1b5190..afc49a9f4be 100644
--- a/src/devices/cpu/rw5000/b5000.cpp
+++ b/src/devices/cpu/rw5000/b5000.cpp
@@ -23,11 +23,11 @@ DEFINE_DEVICE_TYPE(B5000, b5000_cpu_device, "b5000", "Rockwell B5000")
// constructor
-b5000_cpu_device::b5000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+b5000_cpu_device::b5000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
rw5000_base_device(mconfig, type, tag, owner, clock, prgwidth, program, datawidth, data)
{ }
-b5000_cpu_device::b5000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+b5000_cpu_device::b5000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
b5000_cpu_device(mconfig, B5000, tag, owner, clock, 9, address_map_constructor(FUNC(b5000_cpu_device::program_448x8), this), 6, address_map_constructor(FUNC(b5000_cpu_device::data_45x4), this))
{ }
diff --git a/src/devices/cpu/rw5000/b5000.h b/src/devices/cpu/rw5000/b5000.h
index 828ef1d9bd7..ee0e120f272 100644
--- a/src/devices/cpu/rw5000/b5000.h
+++ b/src/devices/cpu/rw5000/b5000.h
@@ -44,10 +44,10 @@
class b5000_cpu_device : public rw5000_base_device
{
public:
- b5000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ b5000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- b5000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ b5000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/rw5000/b5500.cpp b/src/devices/cpu/rw5000/b5500.cpp
index df3fac30507..6b0fd83b470 100644
--- a/src/devices/cpu/rw5000/b5500.cpp
+++ b/src/devices/cpu/rw5000/b5500.cpp
@@ -16,7 +16,7 @@ DEFINE_DEVICE_TYPE(B5500, b5500_cpu_device, "b5500", "Rockwell B5500")
// constructor
-b5500_cpu_device::b5500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+b5500_cpu_device::b5500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
a5500_cpu_device(mconfig, B5500, tag, owner, clock, 10, address_map_constructor(FUNC(b5500_cpu_device::program_768x8), this), 6, address_map_constructor(FUNC(b5500_cpu_device::data_48x4), this))
{ }
diff --git a/src/devices/cpu/rw5000/b5500.h b/src/devices/cpu/rw5000/b5500.h
index 596cc178485..6d69164ccef 100644
--- a/src/devices/cpu/rw5000/b5500.h
+++ b/src/devices/cpu/rw5000/b5500.h
@@ -17,7 +17,7 @@
class b5500_cpu_device : public a5500_cpu_device
{
public:
- b5500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ b5500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
diff --git a/src/devices/cpu/rw5000/b6000.cpp b/src/devices/cpu/rw5000/b6000.cpp
index 3b18d4793b0..253640bb83b 100644
--- a/src/devices/cpu/rw5000/b6000.cpp
+++ b/src/devices/cpu/rw5000/b6000.cpp
@@ -23,11 +23,11 @@ DEFINE_DEVICE_TYPE(B6000, b6000_cpu_device, "b6000", "Rockwell B6000")
// constructor
-b6000_cpu_device::b6000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+b6000_cpu_device::b6000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
b5000_cpu_device(mconfig, type, tag, owner, clock, prgwidth, program, datawidth, data)
{ }
-b6000_cpu_device::b6000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+b6000_cpu_device::b6000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
b6000_cpu_device(mconfig, B6000, tag, owner, clock, 9, address_map_constructor(FUNC(b6000_cpu_device::program_512x8), this), 6, address_map_constructor(FUNC(b6000_cpu_device::data_45x4), this))
{ }
diff --git a/src/devices/cpu/rw5000/b6000.h b/src/devices/cpu/rw5000/b6000.h
index e415c353ee5..143cc08d7de 100644
--- a/src/devices/cpu/rw5000/b6000.h
+++ b/src/devices/cpu/rw5000/b6000.h
@@ -44,10 +44,10 @@
class b6000_cpu_device : public b5000_cpu_device
{
public:
- b6000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ b6000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- b6000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ b6000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/rw5000/b6100.cpp b/src/devices/cpu/rw5000/b6100.cpp
index cb5b9bdf23a..c0f187015ef 100644
--- a/src/devices/cpu/rw5000/b6100.cpp
+++ b/src/devices/cpu/rw5000/b6100.cpp
@@ -16,7 +16,7 @@ DEFINE_DEVICE_TYPE(B6100, b6100_cpu_device, "b6100", "Rockwell B6100")
// constructor
-b6100_cpu_device::b6100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+b6100_cpu_device::b6100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
b6000_cpu_device(mconfig, B6100, tag, owner, clock, 10, address_map_constructor(FUNC(b6100_cpu_device::program_896x8), this), 6, address_map_constructor(FUNC(b6100_cpu_device::data_48x4), this))
{ }
diff --git a/src/devices/cpu/rw5000/b6100.h b/src/devices/cpu/rw5000/b6100.h
index bd6a3db9e1b..aa203d27079 100644
--- a/src/devices/cpu/rw5000/b6100.h
+++ b/src/devices/cpu/rw5000/b6100.h
@@ -44,7 +44,7 @@
class b6100_cpu_device : public b6000_cpu_device
{
public:
- b6100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ b6100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
diff --git a/src/devices/cpu/rw5000/rw5000base.cpp b/src/devices/cpu/rw5000/rw5000base.cpp
index 1d0fc237dc8..90f54f7a5d3 100644
--- a/src/devices/cpu/rw5000/rw5000base.cpp
+++ b/src/devices/cpu/rw5000/rw5000base.cpp
@@ -24,7 +24,7 @@ It is similar, but too many differences to emulate in this device, probably.
#include "rw5000base.h"
-rw5000_base_device::rw5000_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+rw5000_base_device::rw5000_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 8, prgwidth, 0, program),
m_data_config("data", ENDIANNESS_LITTLE, 8, datawidth, 0, data),
diff --git a/src/devices/cpu/rw5000/rw5000base.h b/src/devices/cpu/rw5000/rw5000base.h
index f6dc6146af8..850ba219963 100644
--- a/src/devices/cpu/rw5000/rw5000base.h
+++ b/src/devices/cpu/rw5000/rw5000base.h
@@ -38,7 +38,7 @@ public:
protected:
// construction/destruction
- rw5000_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ rw5000_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/rx01/rx01.cpp b/src/devices/cpu/rx01/rx01.cpp
index 07ac688e1d7..6d02b2c4140 100644
--- a/src/devices/cpu/rx01/rx01.cpp
+++ b/src/devices/cpu/rx01/rx01.cpp
@@ -35,7 +35,7 @@
// device type definition
DEFINE_DEVICE_TYPE(RX01_CPU, rx01_cpu_device, "rx01_cpu", "DEC RX01 CPU")
-rx01_cpu_device::rx01_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+rx01_cpu_device::rx01_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, RX01_CPU, tag, owner, clock)
, m_inst_config("program", ENDIANNESS_LITTLE, 8, 12, 0)
, m_data_config("sectordata", ENDIANNESS_LITTLE, 8, 10, 0) // actually 1 bit wide
diff --git a/src/devices/cpu/rx01/rx01.h b/src/devices/cpu/rx01/rx01.h
index b8806c354f3..f543279859b 100644
--- a/src/devices/cpu/rx01/rx01.h
+++ b/src/devices/cpu/rx01/rx01.h
@@ -38,7 +38,7 @@ public:
};
// device type constructor
- rx01_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ rx01_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// callback configuration
auto error_callback() { return m_interface_callback[0].bind(); }
diff --git a/src/devices/cpu/s2650/s2650.cpp b/src/devices/cpu/s2650/s2650.cpp
index 4b668f569a7..f503e443f29 100644
--- a/src/devices/cpu/s2650/s2650.cpp
+++ b/src/devices/cpu/s2650/s2650.cpp
@@ -27,7 +27,7 @@
DEFINE_DEVICE_TYPE(S2650, s2650_device, "s2650", "Signetics 2650")
-s2650_device::s2650_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+s2650_device::s2650_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, S2650, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, 15)
, m_io_config("io", ENDIANNESS_BIG, 8, 8)
diff --git a/src/devices/cpu/s2650/s2650.h b/src/devices/cpu/s2650/s2650.h
index 008ea0bb31f..efd2515eb6d 100644
--- a/src/devices/cpu/s2650/s2650.h
+++ b/src/devices/cpu/s2650/s2650.h
@@ -29,7 +29,7 @@ class s2650_device : public cpu_device, public s2650_disassembler::config
{
public:
// construction/destruction
- s2650_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ s2650_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto sense_handler() { return m_sense_handler.bind(); }
diff --git a/src/devices/cpu/saturn/saturn.cpp b/src/devices/cpu/saturn/saturn.cpp
index fcbafdb5a7f..27891b1490b 100644
--- a/src/devices/cpu/saturn/saturn.cpp
+++ b/src/devices/cpu/saturn/saturn.cpp
@@ -40,7 +40,7 @@
DEFINE_DEVICE_TYPE(SATURN, saturn_device, "saturn_cpu", "Hewlett-Packard Saturn")
-saturn_device::saturn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+saturn_device::saturn_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, SATURN, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 20, 0)
, m_out_func(*this)
diff --git a/src/devices/cpu/saturn/saturn.h b/src/devices/cpu/saturn/saturn.h
index 5111de6d7ed..58eaa628c74 100644
--- a/src/devices/cpu/saturn/saturn.h
+++ b/src/devices/cpu/saturn/saturn.h
@@ -66,7 +66,7 @@ class saturn_device : public cpu_device, public saturn_disassembler::config
{
public:
// construction/destruction
- saturn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ saturn_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto out_func() { return m_out_func.bind(); }
diff --git a/src/devices/cpu/sc61860/sc61860.cpp b/src/devices/cpu/sc61860/sc61860.cpp
index 9719ebc7069..24bc81b1ba3 100644
--- a/src/devices/cpu/sc61860/sc61860.cpp
+++ b/src/devices/cpu/sc61860/sc61860.cpp
@@ -47,7 +47,7 @@
DEFINE_DEVICE_TYPE(SC61860, sc61860_device, "sc61860", "Sharp SC61860")
-sc61860_device::sc61860_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sc61860_device::sc61860_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, SC61860, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, 16, 0)
, m_reset(*this)
diff --git a/src/devices/cpu/sc61860/sc61860.h b/src/devices/cpu/sc61860/sc61860.h
index df019b6b845..f4893f0212a 100644
--- a/src/devices/cpu/sc61860/sc61860.h
+++ b/src/devices/cpu/sc61860/sc61860.h
@@ -49,7 +49,7 @@ class sc61860_device : public cpu_device
{
public:
// construction/destruction
- sc61860_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sc61860_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto reset_cb() { return m_reset.bind(); }
diff --git a/src/devices/cpu/scmp/scmp.cpp b/src/devices/cpu/scmp/scmp.cpp
index 5eb4bba0be9..8eee52cc73f 100644
--- a/src/devices/cpu/scmp/scmp.cpp
+++ b/src/devices/cpu/scmp/scmp.cpp
@@ -20,13 +20,13 @@ DEFINE_DEVICE_TYPE(SCMP, scmp_device, "ins8050", "National Semiconductor I
DEFINE_DEVICE_TYPE(INS8060, ins8060_device, "ins8060", "National Semiconductor INS 8060 SC/MP II")
-scmp_device::scmp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+scmp_device::scmp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: scmp_device(mconfig, SCMP, tag, owner, clock)
{
}
-scmp_device::scmp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+scmp_device::scmp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0)
, m_AC(0), m_ER(0), m_SR(0), m_icount(0)
@@ -47,7 +47,7 @@ device_memory_interface::space_config_vector scmp_device::memory_space_config()
}
-ins8060_device::ins8060_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ins8060_device::ins8060_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: scmp_device(mconfig, INS8060, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/scmp/scmp.h b/src/devices/cpu/scmp/scmp.h
index 7145973bdb1..0dace0a9623 100644
--- a/src/devices/cpu/scmp/scmp.h
+++ b/src/devices/cpu/scmp/scmp.h
@@ -10,7 +10,7 @@ class scmp_device : public cpu_device
{
public:
// construction/destruction
- scmp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ scmp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto flag_out() { return m_flag_out_func.bind(); }
@@ -26,7 +26,7 @@ protected:
SCMP_PC, SCMP_P1, SCMP_P2, SCMP_P3, SCMP_AC, SCMP_ER, SCMP_SR
};
- scmp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ scmp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -88,7 +88,7 @@ class ins8060_device : public scmp_device
{
public:
// construction/destruction
- ins8060_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ins8060_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 2 - 1) / 2; }
diff --git a/src/devices/cpu/score/score.cpp b/src/devices/cpu/score/score.cpp
index ffa95aee8c7..df5346cd287 100644
--- a/src/devices/cpu/score/score.cpp
+++ b/src/devices/cpu/score/score.cpp
@@ -58,7 +58,7 @@ const score7_cpu_device::op_handler score7_cpu_device::s_opcode16_table[8] =
// score7_cpu_device - constructor
//-------------------------------------------------
-score7_cpu_device::score7_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+score7_cpu_device::score7_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, SCORE7, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0)
, m_pc(0)
diff --git a/src/devices/cpu/score/score.h b/src/devices/cpu/score/score.h
index b55be226043..4baa6830131 100644
--- a/src/devices/cpu/score/score.h
+++ b/src/devices/cpu/score/score.h
@@ -33,7 +33,7 @@ class score7_cpu_device : public cpu_device
{
public:
// construction/destruction
- score7_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ score7_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/scudsp/scudsp.cpp b/src/devices/cpu/scudsp/scudsp.cpp
index 4f4d697a900..858a1c736d9 100644
--- a/src/devices/cpu/scudsp/scudsp.cpp
+++ b/src/devices/cpu/scudsp/scudsp.cpp
@@ -1020,7 +1020,7 @@ void scudsp_cpu_device::data_map(address_map &map)
map(0x00, 0xff).ram();
}
-scudsp_cpu_device::scudsp_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+scudsp_cpu_device::scudsp_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, SCUDSP, tag, owner, clock)
, m_out_irq_cb(*this)
, m_in_dma_cb(*this)
diff --git a/src/devices/cpu/se3208/se3208.cpp b/src/devices/cpu/se3208/se3208.cpp
index f67ed4e0948..ee345e3dabc 100644
--- a/src/devices/cpu/se3208/se3208.cpp
+++ b/src/devices/cpu/se3208/se3208.cpp
@@ -46,7 +46,7 @@
DEFINE_DEVICE_TYPE(SE3208, se3208_device, "se3208", "ADChips SE3208")
-se3208_device::se3208_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+se3208_device::se3208_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, SE3208, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0)
, m_machinex_cb(*this)
diff --git a/src/devices/cpu/se3208/se3208.h b/src/devices/cpu/se3208/se3208.h
index d006a071bb4..4dbb2a7581a 100644
--- a/src/devices/cpu/se3208/se3208.h
+++ b/src/devices/cpu/se3208/se3208.h
@@ -18,7 +18,7 @@ class se3208_device : public cpu_device
{
public:
// construction/destruction
- se3208_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ se3208_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// callback configuration
auto machinex_cb() { return m_machinex_cb.bind(); }
diff --git a/src/devices/cpu/sh/sh.h b/src/devices/cpu/sh/sh.h
index d87c1e9742d..1533bca32e5 100644
--- a/src/devices/cpu/sh/sh.h
+++ b/src/devices/cpu/sh/sh.h
@@ -101,7 +101,7 @@ class sh_common_execution : public cpu_device
{
public:
- sh_common_execution(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, endianness_t endianness, address_map_constructor internal)
+ sh_common_execution(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, endianness_t endianness, address_map_constructor internal)
: cpu_device(mconfig, type, tag, owner, clock)
, m_sh2_state(nullptr)
, m_cache(CACHE_SIZE + sizeof(internal_sh2_state))
diff --git a/src/devices/cpu/sh/sh2.cpp b/src/devices/cpu/sh/sh2.cpp
index c117afadbe0..fce9a07bd8d 100644
--- a/src/devices/cpu/sh/sh2.cpp
+++ b/src/devices/cpu/sh/sh2.cpp
@@ -232,7 +232,7 @@ void sh1_device::sh7032_map(address_map &map)
map(0x05fffe00, 0x05ffffff).rw(FUNC(sh1_device::sh7032_r), FUNC(sh1_device::sh7032_w)); // SH-7032H internal i/o
}
-sh2_device::sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh2_device::sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sh2_device(mconfig, SH2, tag, owner, clock, CPU_TYPE_SH2, address_map_constructor(FUNC(sh2_device::sh7604_map), this), 32)
{
}
@@ -249,7 +249,7 @@ void sh2_device::device_stop()
-sh2_device::sh2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cpu_type, address_map_constructor internal_map, int addrlines)
+sh2_device::sh2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int cpu_type, address_map_constructor internal_map, int addrlines)
: sh_common_execution(mconfig, type, tag, owner, clock, ENDIANNESS_BIG, internal_map)
, m_program_config("program", ENDIANNESS_BIG, 32, addrlines, 0, internal_map)
, m_decrypted_program_config("decrypted_opcodes", ENDIANNESS_BIG, 32, addrlines, 0)
@@ -265,13 +265,13 @@ sh2_device::sh2_device(const machine_config &mconfig, device_type type, const ch
m_isdrc = allow_drc();
}
-sh2a_device::sh2a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh2a_device::sh2a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sh2_device(mconfig, SH2A, tag, owner, clock, CPU_TYPE_SH2, address_map_constructor(FUNC(sh2a_device::sh7021_map), this), 28)
{
std::fill(std::begin(m_sh7021_regs), std::end(m_sh7021_regs), 0);
}
-sh1_device::sh1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh1_device::sh1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sh2_device(mconfig, SH1, tag, owner, clock, CPU_TYPE_SH1, address_map_constructor(FUNC(sh1_device::sh7032_map), this), 28)
{
std::fill(std::begin(m_sh7032_regs), std::end(m_sh7032_regs), 0);
diff --git a/src/devices/cpu/sh/sh2.h b/src/devices/cpu/sh/sh2.h
index c0ba7340d8b..0ce8c65bcbf 100644
--- a/src/devices/cpu/sh/sh2.h
+++ b/src/devices/cpu/sh/sh2.h
@@ -55,7 +55,7 @@ public:
typedef device_delegate<void (uint32_t data)> ftcsr_read_delegate;
// construction/destruction
- sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual ~sh2_device() override;
void set_is_slave(int slave) { m_is_slave = slave; }
@@ -207,7 +207,7 @@ public:
void sh7604_map(address_map &map);
protected:
- sh2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cpu_type,address_map_constructor internal_map, int addrlines);
+ sh2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int cpu_type,address_map_constructor internal_map, int addrlines);
// device-level overrides
virtual void device_start() override;
@@ -366,7 +366,7 @@ class sh2a_device : public sh2_device
{
public:
// construction/destruction
- sh2a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sh2a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint32_t dma_sar0_r();
void dma_sar0_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
@@ -400,7 +400,7 @@ class sh1_device : public sh2_device
{
public:
// construction/destruction
- sh1_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock);
+ sh1_device(const machine_config &mconfig, const char *_tag, device_t *_owner, const XTAL &_clock);
uint16_t sh7032_r(offs_t offset);
void sh7032_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
diff --git a/src/devices/cpu/sh/sh4.cpp b/src/devices/cpu/sh/sh4.cpp
index 7d64546d741..662f055d223 100644
--- a/src/devices/cpu/sh/sh4.cpp
+++ b/src/devices/cpu/sh/sh4.cpp
@@ -71,7 +71,7 @@ void sh3_base_device::sh3_internal_map(address_map &map)
}
-sh34_base_device::sh34_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, endianness_t endianness, address_map_constructor internal)
+sh34_base_device::sh34_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, endianness_t endianness, address_map_constructor internal)
: sh_common_execution(mconfig, type, tag, owner, clock, endianness, internal)
, m_program_config("program", endianness, 64, 32, 0, internal)
, m_io_config("io", endianness, 64, 8)
@@ -90,7 +90,7 @@ device_memory_interface::space_config_vector sh34_base_device::memory_space_conf
}
-sh3_base_device::sh3_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, endianness_t endianness)
+sh3_base_device::sh3_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, endianness_t endianness)
: sh34_base_device(mconfig, type, tag, owner, clock, endianness, address_map_constructor(FUNC(sh3_base_device::sh3_internal_map), this))
{
m_cpu_type = CPU_TYPE_SH3;
@@ -98,7 +98,7 @@ sh3_base_device::sh3_base_device(const machine_config &mconfig, device_type type
}
-sh4_base_device::sh4_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, endianness_t endianness)
+sh4_base_device::sh4_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, endianness_t endianness)
: sh34_base_device(mconfig, type, tag, owner, clock, endianness, address_map_constructor(FUNC(sh4_base_device::sh4_internal_map), this))
{
m_cpu_type = CPU_TYPE_SH4;
@@ -106,25 +106,25 @@ sh4_base_device::sh4_base_device(const machine_config &mconfig, device_type type
}
-sh3_device::sh3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh3_device::sh3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sh3_base_device(mconfig, SH3LE, tag, owner, clock, ENDIANNESS_LITTLE)
{
}
-sh3be_device::sh3be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh3be_device::sh3be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sh3_base_device(mconfig, SH3BE, tag, owner, clock, ENDIANNESS_BIG)
{
}
-sh4_device::sh4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh4_device::sh4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sh4_base_device(mconfig, SH4LE, tag, owner, clock, ENDIANNESS_LITTLE)
{
}
-sh4be_device::sh4be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh4be_device::sh4be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sh4_base_device(mconfig, SH4BE, tag, owner, clock, ENDIANNESS_BIG)
{
}
diff --git a/src/devices/cpu/sh/sh4.h b/src/devices/cpu/sh/sh4.h
index b2c97c9dc16..40b4bdd0dac 100644
--- a/src/devices/cpu/sh/sh4.h
+++ b/src/devices/cpu/sh/sh4.h
@@ -254,7 +254,7 @@ public:
protected:
// construction/destruction
- sh34_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, endianness_t endianness, address_map_constructor internal);
+ sh34_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, endianness_t endianness, address_map_constructor internal);
// device-level overrides
virtual void device_start() override;
@@ -690,7 +690,7 @@ public:
void sh3_internal_map(address_map &map);
protected:
// construction/destruction
- sh3_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, endianness_t endianness);
+ sh3_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, endianness_t endianness);
virtual void device_reset() override;
};
@@ -718,7 +718,7 @@ public:
void sh4_internal_map(address_map &map);
protected:
// construction/destruction
- sh4_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, endianness_t endianness);
+ sh4_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, endianness_t endianness);
virtual void device_start() override;
virtual void device_reset() override;
@@ -729,7 +729,7 @@ class sh3_device : public sh3_base_device
{
friend class sh4_frontend;
public:
- sh3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sh3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
std::unique_ptr<sh4_frontend> m_drcfe; /* pointer to the DRC front-end state */
virtual const opcode_desc* get_desclist(offs_t pc) override;
virtual void init_drc_frontend() override;
@@ -741,7 +741,7 @@ class sh3be_device : public sh3_base_device
friend class sh4be_frontend;
public:
- sh3be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sh3be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
std::unique_ptr<sh4be_frontend> m_drcfe; /* pointer to the DRC front-end state */
virtual const opcode_desc* get_desclist(offs_t pc) override;
virtual void init_drc_frontend() override;
@@ -756,7 +756,7 @@ class sh4_device : public sh4_base_device
friend class sh4_frontend;
public:
- sh4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sh4_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
std::unique_ptr<sh4_frontend> m_drcfe; /* pointer to the DRC front-end state */
virtual const opcode_desc* get_desclist(offs_t pc) override;
virtual void init_drc_frontend() override;
@@ -769,7 +769,7 @@ class sh4be_device : public sh4_base_device
friend class sh4be_frontend;
public:
- sh4be_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sh4be_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
std::unique_ptr<sh4be_frontend> m_drcfe; /* pointer to the DRC front-end state */
virtual const opcode_desc* get_desclist(offs_t pc) override;
virtual void init_drc_frontend() override;
diff --git a/src/devices/cpu/sh/sh7604_bus.cpp b/src/devices/cpu/sh/sh7604_bus.cpp
index a4b61bddae6..1ad437546b9 100644
--- a/src/devices/cpu/sh/sh7604_bus.cpp
+++ b/src/devices/cpu/sh/sh7604_bus.cpp
@@ -109,7 +109,7 @@ void sh7604_bus_device::bus_regs(address_map &map)
// sh7604_bus_device - constructor
//-------------------------------------------------
-sh7604_bus_device::sh7604_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh7604_bus_device::sh7604_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: device_t(mconfig, SH7604_BUS, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/sh/sh7604_bus.h b/src/devices/cpu/sh/sh7604_bus.h
index 9d2915b6b6b..30298211fb8 100644
--- a/src/devices/cpu/sh/sh7604_bus.h
+++ b/src/devices/cpu/sh/sh7604_bus.h
@@ -23,7 +23,7 @@ class sh7604_bus_device : public device_t
{
public:
// construction/destruction
- sh7604_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sh7604_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// I/O operations
void bus_regs(address_map &map);
diff --git a/src/devices/cpu/sh/sh7604_sci.cpp b/src/devices/cpu/sh/sh7604_sci.cpp
index 5d49eab5c31..c79b46e73ff 100644
--- a/src/devices/cpu/sh/sh7604_sci.cpp
+++ b/src/devices/cpu/sh/sh7604_sci.cpp
@@ -113,7 +113,7 @@ void sh7604_sci_device::sci_regs(address_map &map)
// sh7604_sci_device - constructor
//-------------------------------------------------
-sh7604_sci_device::sh7604_sci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh7604_sci_device::sh7604_sci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: device_t(mconfig, SH7604_SCI, tag, owner, clock)
{
diff --git a/src/devices/cpu/sh/sh7604_sci.h b/src/devices/cpu/sh/sh7604_sci.h
index b77630db074..b94f9652d1f 100644
--- a/src/devices/cpu/sh/sh7604_sci.h
+++ b/src/devices/cpu/sh/sh7604_sci.h
@@ -23,7 +23,7 @@ class sh7604_sci_device : public device_t
{
public:
// construction/destruction
- sh7604_sci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sh7604_sci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// I/O operations
void sci_regs(address_map &map);
diff --git a/src/devices/cpu/sh/sh7604_wdt.cpp b/src/devices/cpu/sh/sh7604_wdt.cpp
index 2b5ea9eb499..56d61c7b83b 100644
--- a/src/devices/cpu/sh/sh7604_wdt.cpp
+++ b/src/devices/cpu/sh/sh7604_wdt.cpp
@@ -39,7 +39,7 @@ void sh7604_wdt_device::wdt_regs(address_map &map)
// sh7604_wdt_device - constructor
//-------------------------------------------------
-sh7604_wdt_device::sh7604_wdt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sh7604_wdt_device::sh7604_wdt_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: device_t(mconfig, SH7604_WDT, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/sh/sh7604_wdt.h b/src/devices/cpu/sh/sh7604_wdt.h
index dd39f4be514..12b7896fe44 100644
--- a/src/devices/cpu/sh/sh7604_wdt.h
+++ b/src/devices/cpu/sh/sh7604_wdt.h
@@ -23,7 +23,7 @@ class sh7604_wdt_device : public device_t
{
public:
// construction/destruction
- sh7604_wdt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sh7604_wdt_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// I/O operations
void wdt_regs(address_map &map);
diff --git a/src/devices/cpu/sharc/sharc.cpp b/src/devices/cpu/sharc/sharc.cpp
index 7ce22652570..5c04fd3d5e2 100644
--- a/src/devices/cpu/sharc/sharc.cpp
+++ b/src/devices/cpu/sharc/sharc.cpp
@@ -75,7 +75,7 @@ void adsp21062_device::internal_data(address_map &map)
map(0x70000, 0x7ffff).rw(FUNC(adsp21062_device::dmw1_r), FUNC(adsp21062_device::dmw1_w));
}
-adsp21062_device::adsp21062_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+adsp21062_device::adsp21062_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, ADSP21062, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 64, 24, -3, address_map_constructor(FUNC(adsp21062_device::internal_pgm), this))
, m_data_config("data", ENDIANNESS_LITTLE, 32, 32, -2, address_map_constructor(FUNC(adsp21062_device::internal_data), this))
diff --git a/src/devices/cpu/sharc/sharc.h b/src/devices/cpu/sharc/sharc.h
index f7d2d8701cd..55a718d0fc5 100644
--- a/src/devices/cpu/sharc/sharc.h
+++ b/src/devices/cpu/sharc/sharc.h
@@ -90,7 +90,7 @@ public:
// construction/destruction
- adsp21062_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock);
+ adsp21062_device(const machine_config &mconfig, const char *_tag, device_t *_owner, const XTAL &_clock);
virtual ~adsp21062_device() override;
// configuration helpers
diff --git a/src/devices/cpu/sm510/sm500.cpp b/src/devices/cpu/sm510/sm500.cpp
index bb440388974..13e1c248c5c 100644
--- a/src/devices/cpu/sm510/sm500.cpp
+++ b/src/devices/cpu/sm510/sm500.cpp
@@ -35,12 +35,12 @@ void sm500_device::data_4x10x4(address_map &map)
// device definitions
-sm500_device::sm500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int o_pins, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+sm500_device::sm500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int o_pins, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
sm510_base_device(mconfig, type, tag, owner, clock, stack_levels, prgwidth, program, datawidth, data),
m_o_pins(o_pins)
{ }
-sm500_device::sm500_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm500_device::sm500_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm500_device(mconfig, SM500, tag, owner, clock, 1 /* stack levels */, 7 /* o group pins */, 11 /* prg width */, address_map_constructor(FUNC(sm500_device::program_1_2k), this), 6 /* data width */, address_map_constructor(FUNC(sm500_device::data_4x10x4), this))
{ }
diff --git a/src/devices/cpu/sm510/sm500.h b/src/devices/cpu/sm510/sm500.h
index 90be21ca184..44cbc423b2d 100644
--- a/src/devices/cpu/sm510/sm500.h
+++ b/src/devices/cpu/sm510/sm500.h
@@ -54,10 +54,10 @@ O36 48 | * | 13 K2
class sm500_device : public sm510_base_device
{
public:
- sm500_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768);
+ sm500_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL::u(32768));
protected:
- sm500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int o_pins, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ sm500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int o_pins, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
void program_1_2k(address_map &map);
void data_4x10x4(address_map &map);
diff --git a/src/devices/cpu/sm510/sm510.cpp b/src/devices/cpu/sm510/sm510.cpp
index 624057181cb..75ddf45c5e5 100644
--- a/src/devices/cpu/sm510/sm510.cpp
+++ b/src/devices/cpu/sm510/sm510.cpp
@@ -33,7 +33,7 @@ void sm510_device::data_96_32x4(address_map &map)
// device definitions
-sm510_device::sm510_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm510_device::sm510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm510_base_device(mconfig, SM510, tag, owner, clock, 2 /* stack levels */, 12 /* prg width */, address_map_constructor(FUNC(sm510_device::program_2_7k), this), 7 /* data width */, address_map_constructor(FUNC(sm510_device::data_96_32x4), this))
{ }
diff --git a/src/devices/cpu/sm510/sm510.h b/src/devices/cpu/sm510/sm510.h
index af1e18d2861..4e234b0ac06 100644
--- a/src/devices/cpu/sm510/sm510.h
+++ b/src/devices/cpu/sm510/sm510.h
@@ -61,7 +61,7 @@ S8 60 | * | 16 b16
class sm510_device : public sm510_base_device
{
public:
- sm510_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768);
+ sm510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL::u(32768));
protected:
void program_2_7k(address_map &map);
diff --git a/src/devices/cpu/sm510/sm510base.h b/src/devices/cpu/sm510/sm510base.h
index bf061967fc4..b6a164ccddc 100644
--- a/src/devices/cpu/sm510/sm510base.h
+++ b/src/devices/cpu/sm510/sm510base.h
@@ -37,7 +37,7 @@ class sm510_base_device : public cpu_device
{
public:
// construction/destruction
- sm510_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+ sm510_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 8, prgwidth, 0, program),
m_data_config("data", ENDIANNESS_LITTLE, 8, datawidth, 0, data),
diff --git a/src/devices/cpu/sm510/sm511.cpp b/src/devices/cpu/sm510/sm511.cpp
index dc3a3763d6c..dbd9688d200 100644
--- a/src/devices/cpu/sm510/sm511.cpp
+++ b/src/devices/cpu/sm510/sm511.cpp
@@ -53,15 +53,15 @@ std::unique_ptr<util::disasm_interface> sm511_device::create_disassembler()
// device definitions
-sm511_device::sm511_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+sm511_device::sm511_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
sm510_base_device(mconfig, type, tag, owner, clock, stack_levels, prgwidth, program, datawidth, data)
{ }
-sm511_device::sm511_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm511_device::sm511_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm511_device(mconfig, SM511, tag, owner, clock, 2 /* stack levels */, 12 /* prg width */, address_map_constructor(FUNC(sm511_device::program_4k), this), 7 /* data width */, address_map_constructor(FUNC(sm511_device::data_96_32x4), this))
{ }
-sm512_device::sm512_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm512_device::sm512_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm511_device(mconfig, SM512, tag, owner, clock, 2, 12, address_map_constructor(FUNC(sm512_device::program_4k), this), 7, address_map_constructor(FUNC(sm512_device::data_80_48x4), this))
{ }
diff --git a/src/devices/cpu/sm510/sm511.h b/src/devices/cpu/sm510/sm511.h
index 463ede6be04..362c1db9f86 100644
--- a/src/devices/cpu/sm510/sm511.h
+++ b/src/devices/cpu/sm510/sm511.h
@@ -27,10 +27,10 @@ SM512: can't be bothered to draw one here, it's 80 pins QFP, a lot of LCD segmen
class sm511_device : public sm510_base_device
{
public:
- sm511_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768);
+ sm511_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL::u(32768));
protected:
- sm511_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ sm511_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
void program_4k(address_map &map);
void data_96_32x4(address_map &map);
@@ -50,7 +50,7 @@ protected:
class sm512_device : public sm511_device
{
public:
- sm512_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768);
+ sm512_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL::u(32768));
protected:
void data_80_48x4(address_map &map);
diff --git a/src/devices/cpu/sm510/sm530.cpp b/src/devices/cpu/sm510/sm530.cpp
index a17213fa1cb..bb68b73d72b 100644
--- a/src/devices/cpu/sm510/sm530.cpp
+++ b/src/devices/cpu/sm510/sm530.cpp
@@ -45,12 +45,12 @@ std::unique_ptr<util::disasm_interface> sm530_device::create_disassembler()
// device definitions
-sm530_device::sm530_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+sm530_device::sm530_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
sm511_device(mconfig, type, tag, owner, clock, stack_levels, prgwidth, program, datawidth, data),
m_write_f(*this)
{ }
-sm530_device::sm530_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm530_device::sm530_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm530_device(mconfig, SM530, tag, owner, clock, 1 /* stack levels */, 11 /* prg width */, address_map_constructor(FUNC(sm530_device::program_2k), this), 7 /* data width */, address_map_constructor(FUNC(sm530_device::data_64_24x4), this))
{ }
diff --git a/src/devices/cpu/sm510/sm530.h b/src/devices/cpu/sm510/sm530.h
index 654bcf2963e..7580cfdc8b9 100644
--- a/src/devices/cpu/sm510/sm530.h
+++ b/src/devices/cpu/sm510/sm530.h
@@ -69,13 +69,13 @@ O26 80 | *
class sm530_device : public sm511_device
{
public:
- sm530_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768);
+ sm530_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL::u(32768));
// 4-bit F output port
auto write_f() { return m_write_f.bind(); }
protected:
- sm530_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ sm530_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
void program_2k(address_map &map);
void data_64_24x4(address_map &map);
diff --git a/src/devices/cpu/sm510/sm590.cpp b/src/devices/cpu/sm510/sm590.cpp
index 7237dbbfa5d..58b24ac880e 100644
--- a/src/devices/cpu/sm510/sm590.cpp
+++ b/src/devices/cpu/sm510/sm590.cpp
@@ -50,21 +50,21 @@ void sm590_device::data_56x4(address_map &map)
// device definitions
-sm590_device::sm590_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+sm590_device::sm590_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
sm510_base_device(mconfig, type, tag, owner, clock, stack_levels, prgwidth, program, datawidth, data),
m_write_rx(*this),
m_read_rx(*this)
{ }
-sm590_device::sm590_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm590_device::sm590_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm590_device(mconfig, SM590, tag, owner, clock, 4 /* stack levels */, 9 /* prg width */, address_map_constructor(FUNC(sm590_device::program_512x8), this), 5 /* data width */, address_map_constructor(FUNC(sm590_device::data_32x4), this))
{ }
-sm591_device::sm591_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm591_device::sm591_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm590_device(mconfig, SM591, tag, owner, clock, 4, 10, address_map_constructor(FUNC(sm591_device::program_1kx8), this), 6, address_map_constructor(FUNC(sm591_device::data_56x4), this))
{ }
-sm595_device::sm595_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm595_device::sm595_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm590_device(mconfig, SM595, tag, owner, clock, 4, 10, address_map_constructor(FUNC(sm595_device::program_768x8), this), 5, address_map_constructor(FUNC(sm595_device::data_32x4), this))
{ }
diff --git a/src/devices/cpu/sm510/sm590.h b/src/devices/cpu/sm510/sm590.h
index 8e866b954f8..2fe61fc35e0 100644
--- a/src/devices/cpu/sm510/sm590.h
+++ b/src/devices/cpu/sm510/sm590.h
@@ -89,7 +89,7 @@ R3.3/CL2 => |_|6 15|_| <> R1.3
class sm590_device : public sm510_base_device
{
public:
- sm590_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ sm590_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// four 4-bit R I/O ports
using sm510_base_device::write_r;
@@ -97,7 +97,7 @@ public:
template <std::size_t N> auto read_r() { return m_read_rx[N].bind(); }
protected:
- sm590_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ sm590_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
void program_512x8(address_map &map);
void program_768x8(address_map &map);
@@ -158,13 +158,13 @@ protected:
class sm591_device : public sm590_device
{
public:
- sm591_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ sm591_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class sm595_device : public sm590_device
{
public:
- sm595_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ sm595_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/sm510/sm5a.cpp b/src/devices/cpu/sm510/sm5a.cpp
index c2512aeaf71..1076f70014e 100644
--- a/src/devices/cpu/sm510/sm5a.cpp
+++ b/src/devices/cpu/sm510/sm5a.cpp
@@ -39,19 +39,19 @@ void sm5a_device::data_5x13x4(address_map &map)
// device definitions
-sm5a_device::sm5a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int o_pins, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
+sm5a_device::sm5a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int o_pins, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) :
sm500_device(mconfig, type, tag, owner, clock, stack_levels, o_pins, prgwidth, program, datawidth, data)
{ }
-sm5a_device::sm5a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm5a_device::sm5a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm5a_device(mconfig, SM5A, tag, owner, clock, 1 /* stack levels */, 9 /* o group pins */, 11 /* prg width */, address_map_constructor(FUNC(sm5a_device::program_1_8k), this), 7 /* data width */, address_map_constructor(FUNC(sm5a_device::data_5x13x4), this))
{ }
-sm5l_device::sm5l_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+sm5l_device::sm5l_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm5a_device(mconfig, SM5L, tag, owner, clock, 1, 9, 11, address_map_constructor(FUNC(sm5l_device::program_1_8k), this), 7, address_map_constructor(FUNC(sm5l_device::data_5x13x4), this))
{ }
-kb1013vk12_device::kb1013vk12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+kb1013vk12_device::kb1013vk12_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
sm5a_device(mconfig, KB1013VK12, tag, owner, clock, 1, 9, 11, address_map_constructor(FUNC(kb1013vk12_device::program_1_8k), this), 7, address_map_constructor(FUNC(kb1013vk12_device::data_5x13x4), this))
{ }
diff --git a/src/devices/cpu/sm510/sm5a.h b/src/devices/cpu/sm510/sm5a.h
index a44c687dfd9..86e223a5877 100644
--- a/src/devices/cpu/sm510/sm5a.h
+++ b/src/devices/cpu/sm510/sm5a.h
@@ -60,10 +60,10 @@ O34 60 | * | 16 O48
class sm5a_device : public sm500_device
{
public:
- sm5a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768);
+ sm5a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL::u(32768));
protected:
- sm5a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int o_pins, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ sm5a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int stack_levels, int o_pins, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
void program_1_8k(address_map &map);
void data_5x13x4(address_map &map);
@@ -80,13 +80,13 @@ protected:
class sm5l_device : public sm5a_device
{
public:
- sm5l_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768);
+ sm5l_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL::u(32768));
};
class kb1013vk12_device : public sm5a_device
{
public:
- kb1013vk12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768);
+ kb1013vk12_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL::u(32768));
};
diff --git a/src/devices/cpu/sm8500/sm8500.cpp b/src/devices/cpu/sm8500/sm8500.cpp
index d85b845d3dc..80648040143 100644
--- a/src/devices/cpu/sm8500/sm8500.cpp
+++ b/src/devices/cpu/sm8500/sm8500.cpp
@@ -32,7 +32,7 @@ static constexpr uint8_t sm8500_b2w[8] = {
};
-sm8500_cpu_device::sm8500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sm8500_cpu_device::sm8500_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, SM8500, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, 16, 0)
, m_dma_func(*this)
diff --git a/src/devices/cpu/sparc/sparc.cpp b/src/devices/cpu/sparc/sparc.cpp
index 2c4ef019be1..f72b736d3ef 100644
--- a/src/devices/cpu/sparc/sparc.cpp
+++ b/src/devices/cpu/sparc/sparc.cpp
@@ -79,7 +79,7 @@ const sparc_disassembler::asi_desc_map::value_type mb86930_asi_desc[] = {
// sparc_base_device - constructor
//-------------------------------------------------
-sparc_base_device::sparc_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+sparc_base_device::sparc_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_mmu(*this, finder_base::DUMMY_TAG)
{
@@ -100,12 +100,12 @@ sparc_base_device::sparc_base_device(const machine_config &mconfig, device_type
// sparcv7_device - constructors
//-------------------------------------------------
-sparcv7_device::sparcv7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sparcv7_device::sparcv7_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sparcv7_device(mconfig, SPARCV7, tag, owner, clock)
{
}
-sparcv7_device::sparcv7_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+sparcv7_device::sparcv7_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: sparc_base_device(mconfig, type, tag, owner, clock)
{
}
@@ -115,13 +115,13 @@ sparcv7_device::sparcv7_device(const machine_config &mconfig, device_type type,
// sparcv8_device - constructor
//-------------------------------------------------
-sparcv8_device::sparcv8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+sparcv8_device::sparcv8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sparcv8_device(mconfig, SPARCV8, tag, owner, clock)
{
}
-sparcv8_device::sparcv8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+sparcv8_device::sparcv8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: sparc_base_device(mconfig, type, tag, owner, clock)
{
}
@@ -131,7 +131,7 @@ sparcv8_device::sparcv8_device(const machine_config &mconfig, device_type type,
// mb86930_device - constructor
//-------------------------------------------------
-mb86930_device::mb86930_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+mb86930_device::mb86930_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: sparcv8_device(mconfig, MB86930, tag, owner, clock)
, m_cs_r(*this)
, m_cs_w(*this)
diff --git a/src/devices/cpu/sparc/sparc.h b/src/devices/cpu/sparc/sparc.h
index df1e531f3ea..84acfa05583 100644
--- a/src/devices/cpu/sparc/sparc.h
+++ b/src/devices/cpu/sparc/sparc.h
@@ -21,7 +21,7 @@
class sparc_base_device : public cpu_device, public sparc_mmu_host_interface, protected sparc_disassembler::config
{
public:
- sparc_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ sparc_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
template <typename T> void set_mmu(T &&tag) { m_mmu.set_tag(std::forward<T>(tag)); }
@@ -273,10 +273,10 @@ protected:
class sparcv7_device : public sparc_base_device
{
public:
- sparcv7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sparcv7_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- sparcv7_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ sparcv7_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual bool execute_extra_group2(uint32_t op) override;
@@ -288,13 +288,13 @@ protected:
class sparcv8_device : public sparc_base_device
{
public:
- sparcv8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ sparcv8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
protected:
- sparcv8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ sparcv8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void device_start() override;
virtual void device_reset() override;
@@ -320,7 +320,7 @@ private:
class mb86930_device : public sparcv8_device
{
public:
- mb86930_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mb86930_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/spc700/spc700.cpp b/src/devices/cpu/spc700/spc700.cpp
index b477ee008a1..7502d7935de 100644
--- a/src/devices/cpu/spc700/spc700.cpp
+++ b/src/devices/cpu/spc700/spc700.cpp
@@ -202,12 +202,12 @@ Address Function Register R/W When Reset Remarks
DEFINE_DEVICE_TYPE(SPC700, spc700_device, "spc700", "Sony SPC700")
-spc700_device::spc700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+spc700_device::spc700_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: spc700_device(mconfig, SPC700, tag, owner, clock)
{
}
-spc700_device::spc700_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map)
+spc700_device::spc700_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0, internal_map)
, m_a(0)
diff --git a/src/devices/cpu/spc700/spc700.h b/src/devices/cpu/spc700/spc700.h
index 33e3190ac10..26e3d61aaf9 100644
--- a/src/devices/cpu/spc700/spc700.h
+++ b/src/devices/cpu/spc700/spc700.h
@@ -10,11 +10,11 @@ class spc700_device : public cpu_device
{
public:
// construction/destruction
- spc700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ spc700_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// construction/destruction
- spc700_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map = address_map_constructor());
+ spc700_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map = address_map_constructor());
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/ssem/ssem.cpp b/src/devices/cpu/ssem/ssem.cpp
index 77bc62edb14..71c743192ca 100644
--- a/src/devices/cpu/ssem/ssem.cpp
+++ b/src/devices/cpu/ssem/ssem.cpp
@@ -80,7 +80,7 @@ DEFINE_DEVICE_TYPE(SSEMCPU, ssem_device, "ssem_cpu", "Manchester SSEM")
// ssem_device - constructor
//-------------------------------------------------
-ssem_device::ssem_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ssem_device::ssem_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, SSEMCPU, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16)
, m_pc(1)
diff --git a/src/devices/cpu/ssem/ssem.h b/src/devices/cpu/ssem/ssem.h
index 7cfe5d17435..9bc56283ca5 100644
--- a/src/devices/cpu/ssem/ssem.h
+++ b/src/devices/cpu/ssem/ssem.h
@@ -22,7 +22,7 @@ class ssem_device : public cpu_device
{
public:
// construction/destruction
- ssem_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ssem_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/ssp1601/ssp1601.cpp b/src/devices/cpu/ssp1601/ssp1601.cpp
index 245cfca4541..4e4555daf69 100644
--- a/src/devices/cpu/ssp1601/ssp1601.cpp
+++ b/src/devices/cpu/ssp1601/ssp1601.cpp
@@ -192,7 +192,7 @@
DEFINE_DEVICE_TYPE(SSP1601, ssp1601_device, "ssp1601", "Samsung SSP1601")
-ssp1601_device::ssp1601_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ssp1601_device::ssp1601_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, SSP1601, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 16, -1)
, m_io_config("io", ENDIANNESS_BIG, 16, 4, 0)
diff --git a/src/devices/cpu/ssp1601/ssp1601.h b/src/devices/cpu/ssp1601/ssp1601.h
index e912ff9891b..8edee4077ea 100644
--- a/src/devices/cpu/ssp1601/ssp1601.h
+++ b/src/devices/cpu/ssp1601/ssp1601.h
@@ -22,7 +22,7 @@ class ssp1601_device : public cpu_device
{
public:
// construction/destruction
- ssp1601_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ssp1601_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/st62xx/st62xx.cpp b/src/devices/cpu/st62xx/st62xx.cpp
index 81e25d72d01..5be3b3c1741 100644
--- a/src/devices/cpu/st62xx/st62xx.cpp
+++ b/src/devices/cpu/st62xx/st62xx.cpp
@@ -26,7 +26,7 @@
DEFINE_DEVICE_TYPE(ST6228, st6228_device, "st6228", "STmicro ST6228")
-st6228_device::st6228_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+st6228_device::st6228_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, ST6228, tag, owner, clock)
, m_pc(0)
, m_mode(MODE_NMI)
diff --git a/src/devices/cpu/st62xx/st62xx.h b/src/devices/cpu/st62xx/st62xx.h
index 8442e1e798b..83fc0f4a8b9 100644
--- a/src/devices/cpu/st62xx/st62xx.h
+++ b/src/devices/cpu/st62xx/st62xx.h
@@ -38,7 +38,7 @@
class st6228_device : public cpu_device
{
public:
- st6228_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ st6228_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
template <unsigned Bit> auto port_a()
{
diff --git a/src/devices/cpu/superfx/superfx.cpp b/src/devices/cpu/superfx/superfx.cpp
index e14ac788c5e..6628c03378b 100644
--- a/src/devices/cpu/superfx/superfx.cpp
+++ b/src/devices/cpu/superfx/superfx.cpp
@@ -7,7 +7,7 @@
DEFINE_DEVICE_TYPE(SUPERFX1, superfx1_device, "superfx1", "Nintendo SuperFX 1")
DEFINE_DEVICE_TYPE(SUPERFX2, superfx2_device, "superfx2", "Nintendo SuperFX 2")
-superfx_device::superfx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+superfx_device::superfx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 32, 0)
, m_out_irq_func(*this), m_pipeline(0), m_ramaddr(0), m_sfr(0), m_pbr(0), m_rombr(0), m_rambr(0), m_cbr(0), m_scbr(0), m_scmr(0), m_colr(0), m_por(0)
@@ -16,12 +16,12 @@ superfx_device::superfx_device(const machine_config &mconfig, device_type type,
{
}
-superfx1_device::superfx1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+superfx1_device::superfx1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: superfx_device(mconfig, SUPERFX1, tag, owner, clock)
{
}
-superfx2_device::superfx2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+superfx2_device::superfx2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: superfx_device(mconfig, SUPERFX2, tag, owner, clock)
{
}
@@ -546,7 +546,7 @@ void superfx_device::mmio_write(uint32_t addr, uint8_t data)
}
}
-void superfx_device::superfx_add_clocks_internal(uint32_t clocks)
+void superfx_device::superfx_add_clocks_internal(const XTAL &clocks)
{
if(m_romcl)
{
diff --git a/src/devices/cpu/superfx/superfx.h b/src/devices/cpu/superfx/superfx.h
index 54f07ec184f..17e3a93c197 100644
--- a/src/devices/cpu/superfx/superfx.h
+++ b/src/devices/cpu/superfx/superfx.h
@@ -105,7 +105,7 @@ public:
protected:
// construction/destruction
- superfx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ superfx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -203,7 +203,7 @@ private:
inline uint8_t superfx_op_read(uint16_t addr);
inline uint8_t superfx_peekpipe();
inline uint8_t superfx_pipe();
- inline void superfx_add_clocks_internal(uint32_t clocks);
+ inline void superfx_add_clocks_internal(const XTAL &clocks);
void superfx_timing_reset();
inline void superfx_dreg_sfr_sz_update();
};
@@ -212,7 +212,7 @@ class superfx1_device : public superfx_device
{
public:
// construction/destruction
- superfx1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ superfx1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_execute_interface overrides
@@ -224,7 +224,7 @@ class superfx2_device : public superfx_device
{
public:
// construction/destruction
- superfx2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ superfx2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(SUPERFX1, superfx1_device)
diff --git a/src/devices/cpu/t11/t11.cpp b/src/devices/cpu/t11/t11.cpp
index 422ea6e0510..5db68492043 100644
--- a/src/devices/cpu/t11/t11.cpp
+++ b/src/devices/cpu/t11/t11.cpp
@@ -39,12 +39,12 @@ DEFINE_DEVICE_TYPE(T11, t11_device, "t11", "DEC T11")
DEFINE_DEVICE_TYPE(K1801VM2, k1801vm2_device, "k1801vm2", "K1801VM2")
-k1801vm2_device::k1801vm2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+k1801vm2_device::k1801vm2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: t11_device(mconfig, K1801VM2, tag, owner, clock)
{
}
-t11_device::t11_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+t11_device::t11_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 16, 0)
, c_initial_mode(0)
@@ -63,7 +63,7 @@ t11_device::t11_device(const machine_config &mconfig, device_type type, const ch
m_ppc.d = 0;
}
-t11_device::t11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+t11_device::t11_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: t11_device(mconfig, T11, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/t11/t11.h b/src/devices/cpu/t11/t11.h
index cf83f65638e..d1dd1922693 100644
--- a/src/devices/cpu/t11/t11.h
+++ b/src/devices/cpu/t11/t11.h
@@ -39,7 +39,7 @@ public:
static constexpr uint8_t BUS_ERROR = 8;
// construction/destruction
- t11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ t11_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
void set_initial_mode(const uint16_t mode) { c_initial_mode = mode; }
@@ -59,7 +59,7 @@ protected:
T11_TRAP = 034 // TRAP instruction vector
};
- t11_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ t11_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -1166,7 +1166,7 @@ class k1801vm2_device : public t11_device
{
public:
// construction/destruction
- k1801vm2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ k1801vm2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/tlcs870/tlcs870.cpp b/src/devices/cpu/tlcs870/tlcs870.cpp
index c010de7e03b..cf300ba0686 100644
--- a/src/devices/cpu/tlcs870/tlcs870.cpp
+++ b/src/devices/cpu/tlcs870/tlcs870.cpp
@@ -104,7 +104,7 @@ void tlcs870_device::tmp87ph40an_mem(address_map &map)
}
-tlcs870_device::tlcs870_device(const machine_config &mconfig, device_type optype, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program_map)
+tlcs870_device::tlcs870_device(const machine_config &mconfig, device_type optype, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program_map)
: cpu_device(mconfig, optype, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0, program_map)
, m_io_config("io", ENDIANNESS_LITTLE, 8, 16, 0)
@@ -118,7 +118,7 @@ tlcs870_device::tlcs870_device(const machine_config &mconfig, device_type optype
}
-tmp87ph40an_device::tmp87ph40an_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tmp87ph40an_device::tmp87ph40an_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tlcs870_device(mconfig, TMP87PH40AN, tag, owner, clock, address_map_constructor(FUNC(tmp87ph40an_device::tmp87ph40an_mem), this))
{
}
diff --git a/src/devices/cpu/tlcs870/tlcs870.h b/src/devices/cpu/tlcs870/tlcs870.h
index b6c3d73478d..c04b09ffcd8 100644
--- a/src/devices/cpu/tlcs870/tlcs870.h
+++ b/src/devices/cpu/tlcs870/tlcs870.h
@@ -42,7 +42,7 @@ public:
protected:
// construction/destruction
- tlcs870_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program_map);
+ tlcs870_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program_map);
// device-level overrides
virtual void device_start() override;
@@ -550,7 +550,7 @@ class tmp87ph40an_device : public tlcs870_device
{
public:
// construction/destruction
- tmp87ph40an_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tmp87ph40an_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tlcs90/tlcs90.cpp b/src/devices/cpu/tlcs90/tlcs90.cpp
index 148f2dbd4a8..2f993b7ab90 100644
--- a/src/devices/cpu/tlcs90/tlcs90.cpp
+++ b/src/devices/cpu/tlcs90/tlcs90.cpp
@@ -154,7 +154,7 @@ void tlcs90_device::tmp90ph44_mem(address_map &map)
}
-tlcs90_device::tlcs90_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program_map)
+tlcs90_device::tlcs90_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 20, 0, program_map)
, m_port_read_cb(*this)
@@ -163,36 +163,36 @@ tlcs90_device::tlcs90_device(const machine_config &mconfig, device_type type, co
}
-tmp90840_device::tmp90840_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tmp90840_device::tmp90840_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tlcs90_device(mconfig, TMP90840, tag, owner, clock, address_map_constructor(FUNC(tmp90840_device::tmp90840_mem), this))
{
}
-tmp90841_device::tmp90841_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tmp90841_device::tmp90841_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tlcs90_device(mconfig, TMP90841, tag, owner, clock, address_map_constructor(FUNC(tmp90841_device::tmp90841_mem), this))
{
}
-tmp90845_device::tmp90845_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tmp90845_device::tmp90845_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tlcs90_device(mconfig, TMP90845, tag, owner, clock, address_map_constructor(FUNC(tmp90845_device::tmp90841_mem), this))
{
}
-tmp91640_device::tmp91640_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tmp91640_device::tmp91640_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tlcs90_device(mconfig, TMP91640, tag, owner, clock, address_map_constructor(FUNC(tmp91640_device::tmp91640_mem), this))
{
}
-tmp91641_device::tmp91641_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tmp91641_device::tmp91641_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tlcs90_device(mconfig, TMP91641, tag, owner, clock, address_map_constructor(FUNC(tmp91641_device::tmp91641_mem), this))
{
}
-tmp90ph44_device::tmp90ph44_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tmp90ph44_device::tmp90ph44_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tlcs90_device(mconfig, TMP90PH44, tag, owner, clock, address_map_constructor(FUNC(tmp90ph44_device::tmp90ph44_mem), this))
{
}
diff --git a/src/devices/cpu/tlcs90/tlcs90.h b/src/devices/cpu/tlcs90/tlcs90.h
index c1ef052dfe8..be685dc7c0e 100644
--- a/src/devices/cpu/tlcs90/tlcs90.h
+++ b/src/devices/cpu/tlcs90/tlcs90.h
@@ -35,7 +35,7 @@ public:
protected:
// construction/destruction
- tlcs90_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor program_map);
+ tlcs90_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor program_map);
// device-level overrides
virtual void device_start() override;
@@ -198,7 +198,7 @@ class tmp90840_device : public tlcs90_device
{
public:
// construction/destruction
- tmp90840_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tmp90840_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
@@ -210,7 +210,7 @@ class tmp90841_device : public tlcs90_device
{
public:
// construction/destruction
- tmp90841_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tmp90841_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
@@ -222,7 +222,7 @@ class tmp90845_device : public tlcs90_device
{
public:
// construction/destruction
- tmp90845_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tmp90845_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
@@ -234,7 +234,7 @@ class tmp91640_device : public tlcs90_device
{
public:
// construction/destruction
- tmp91640_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tmp91640_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
@@ -246,7 +246,7 @@ class tmp91641_device : public tlcs90_device
{
public:
// construction/destruction
- tmp91641_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tmp91641_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
@@ -258,7 +258,7 @@ class tmp90ph44_device : public tlcs90_device
{
public:
// construction/destruction
- tmp90ph44_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tmp90ph44_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
diff --git a/src/devices/cpu/tlcs900/tlcs900.cpp b/src/devices/cpu/tlcs900/tlcs900.cpp
index 3fc240cdb4a..7bc112c24bd 100644
--- a/src/devices/cpu/tlcs900/tlcs900.cpp
+++ b/src/devices/cpu/tlcs900/tlcs900.cpp
@@ -15,7 +15,7 @@ TODO:
#include "dasm900.h"
-tlcs900_device::tlcs900_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+tlcs900_device::tlcs900_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
cpu_device(mconfig, type, tag, owner, clock),
m_am8_16(0),
m_mnemonic_80(s_mnemonic_80),
@@ -36,7 +36,7 @@ tlcs900_device::tlcs900_device(const machine_config &mconfig, device_type type,
{
}
-tlcs900h_device::tlcs900h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+tlcs900h_device::tlcs900h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
tlcs900_device(mconfig, type, tag, owner, clock)
{
m_mnemonic_80 = s_mnemonic_80;
diff --git a/src/devices/cpu/tlcs900/tlcs900.h b/src/devices/cpu/tlcs900/tlcs900.h
index f3b77d44622..7f1e2d28068 100644
--- a/src/devices/cpu/tlcs900/tlcs900.h
+++ b/src/devices/cpu/tlcs900/tlcs900.h
@@ -48,7 +48,7 @@ public:
protected:
// construction/destruction
- tlcs900_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ tlcs900_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -641,7 +641,7 @@ class tlcs900h_device : public tlcs900_device
{
protected:
// construction/destruction
- tlcs900h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ tlcs900h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_reset() override;
diff --git a/src/devices/cpu/tlcs900/tmp95c061.cpp b/src/devices/cpu/tlcs900/tmp95c061.cpp
index d297ba73fcf..c38cebfd89a 100644
--- a/src/devices/cpu/tlcs900/tmp95c061.cpp
+++ b/src/devices/cpu/tlcs900/tmp95c061.cpp
@@ -12,7 +12,7 @@ Toshiba TMP95C061 emulation
DEFINE_DEVICE_TYPE(TMP95C061, tmp95c061_device, "tmp95c061", "Toshiba TMP95C061")
-tmp95c061_device::tmp95c061_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tmp95c061_device::tmp95c061_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tlcs900h_device(mconfig, TMP95C061, tag, owner, clock),
m_port1_read(*this),
m_port1_write(*this),
diff --git a/src/devices/cpu/tlcs900/tmp95c061.h b/src/devices/cpu/tlcs900/tmp95c061.h
index 10d8193f6e6..cda71c52b74 100644
--- a/src/devices/cpu/tlcs900/tmp95c061.h
+++ b/src/devices/cpu/tlcs900/tmp95c061.h
@@ -15,7 +15,7 @@ class tmp95c061_device : public tlcs900h_device
{
public:
// construction/destruction
- tmp95c061_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tmp95c061_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto port1_read() { return m_port1_read.bind(); }
diff --git a/src/devices/cpu/tlcs900/tmp95c063.cpp b/src/devices/cpu/tlcs900/tmp95c063.cpp
index 90663eeaff3..17501a89c53 100644
--- a/src/devices/cpu/tlcs900/tmp95c063.cpp
+++ b/src/devices/cpu/tlcs900/tmp95c063.cpp
@@ -12,7 +12,7 @@ Toshiba TMP95C063 emulation
DEFINE_DEVICE_TYPE(TMP95C063, tmp95c063_device, "tmp95c063", "Toshiba TMP95C063")
-tmp95c063_device::tmp95c063_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tmp95c063_device::tmp95c063_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tlcs900h_device(mconfig, TMP95C063, tag, owner, clock),
m_port1_read(*this),
m_port1_write(*this),
diff --git a/src/devices/cpu/tlcs900/tmp95c063.h b/src/devices/cpu/tlcs900/tmp95c063.h
index 4c9c05bb433..d2446f383cd 100644
--- a/src/devices/cpu/tlcs900/tmp95c063.h
+++ b/src/devices/cpu/tlcs900/tmp95c063.h
@@ -15,7 +15,7 @@ class tmp95c063_device : public tlcs900h_device
{
public:
// construction/destruction
- tmp95c063_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tmp95c063_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto port1_read() { return m_port1_read.bind(); }
diff --git a/src/devices/cpu/tlcs900/tmp96c141.cpp b/src/devices/cpu/tlcs900/tmp96c141.cpp
index b5e64be8da3..8e2f7958459 100644
--- a/src/devices/cpu/tlcs900/tmp96c141.cpp
+++ b/src/devices/cpu/tlcs900/tmp96c141.cpp
@@ -30,7 +30,7 @@ DEFINE_DEVICE_TYPE(TMP96C141, tmp96c141_device, "tmp96c141", "Toshiba TMP96C141"
// tmp96c141_device - constructor
//-------------------------------------------------
-tmp96c141_device::tmp96c141_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+tmp96c141_device::tmp96c141_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tlcs900_device(mconfig, TMP96C141, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/tlcs900/tmp96c141.h b/src/devices/cpu/tlcs900/tmp96c141.h
index 973693a201b..32b8f47f9b7 100644
--- a/src/devices/cpu/tlcs900/tmp96c141.h
+++ b/src/devices/cpu/tlcs900/tmp96c141.h
@@ -69,7 +69,7 @@ class tmp96c141_device : public tlcs900_device
{
public:
// device type constructor
- tmp96c141_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tmp96c141_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// TODO: configuration helpers
diff --git a/src/devices/cpu/tms1000/tms0270.cpp b/src/devices/cpu/tms1000/tms0270.cpp
index 1a90eba3da1..cbfe810e2f9 100644
--- a/src/devices/cpu/tms1000/tms0270.cpp
+++ b/src/devices/cpu/tms1000/tms0270.cpp
@@ -24,7 +24,7 @@ TMS0260 is same or similar?
DEFINE_DEVICE_TYPE(TMS0270, tms0270_cpu_device, "tms0270", "Texas Instruments TMS0270") // 40-pin DIP, 16 O pins, 8+ R pins (some R pins are internally hooked up to support more I/O)
-tms0270_cpu_device::tms0270_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms0270_cpu_device::tms0270_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms0980_cpu_device(mconfig, TMS0270, tag, owner, clock, 16 /* o pins */, 16 /* r pins */, 7 /* pc bits */, 9 /* byte width */, 4 /* x width */, 1 /* stack levels */, 11 /* rom width */, address_map_constructor(FUNC(tms0270_cpu_device::rom_11bit), this), 8 /* ram width */, address_map_constructor(FUNC(tms0270_cpu_device::ram_144x4), this))
{ }
diff --git a/src/devices/cpu/tms1000/tms0270.h b/src/devices/cpu/tms1000/tms0270.h
index e6f3f89197e..39a8ffbe696 100644
--- a/src/devices/cpu/tms1000/tms0270.h
+++ b/src/devices/cpu/tms1000/tms0270.h
@@ -17,7 +17,7 @@
class tms0270_cpu_device : public tms0980_cpu_device
{
public:
- tms0270_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms0270_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// overrides
diff --git a/src/devices/cpu/tms1000/tms0970.cpp b/src/devices/cpu/tms1000/tms0970.cpp
index 869f3700b82..a922529895f 100644
--- a/src/devices/cpu/tms1000/tms0970.cpp
+++ b/src/devices/cpu/tms1000/tms0970.cpp
@@ -29,19 +29,19 @@ DEFINE_DEVICE_TYPE(TMS0970, tms0970_cpu_device, "tms0970", "Texas Instruments TM
DEFINE_DEVICE_TYPE(TMS1990, tms1990_cpu_device, "tms1990", "Texas Instruments TMS1990") // 28-pin DIP, ? R pins..
-tms0970_cpu_device::tms0970_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms0970_cpu_device::tms0970_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms0970_cpu_device(mconfig, TMS0970, tag, owner, clock, 8 /* o pins */, 11 /* r pins */, 6 /* pc bits */, 8 /* byte width */, 2 /* x width */, 1 /* stack levels */, 10 /* rom width */, address_map_constructor(FUNC(tms0970_cpu_device::rom_10bit), this), 6 /* ram width */, address_map_constructor(FUNC(tms0970_cpu_device::ram_6bit), this))
{ }
-tms0970_cpu_device::tms0970_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms0970_cpu_device::tms0970_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms1000_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms0950_cpu_device::tms0950_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms0950_cpu_device::tms0950_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms0970_cpu_device(mconfig, TMS0950, tag, owner, clock, 8, 11, 6, 8, 2, 1, 10, address_map_constructor(FUNC(tms0950_cpu_device::rom_10bit), this), 6, address_map_constructor(FUNC(tms0950_cpu_device::ram_6bit), this))
{ }
-tms1990_cpu_device::tms1990_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1990_cpu_device::tms1990_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms0970_cpu_device(mconfig, TMS1990, tag, owner, clock, 8, 11, 6, 8, 2, 1, 10, address_map_constructor(FUNC(tms1990_cpu_device::rom_10bit), this), 6, address_map_constructor(FUNC(tms1990_cpu_device::ram_6bit), this))
{ }
diff --git a/src/devices/cpu/tms1000/tms0970.h b/src/devices/cpu/tms1000/tms0970.h
index 583a9480e91..2d7d1b1d100 100644
--- a/src/devices/cpu/tms1000/tms0970.h
+++ b/src/devices/cpu/tms1000/tms0970.h
@@ -17,10 +17,10 @@
class tms0970_cpu_device : public tms1000_cpu_device
{
public:
- tms0970_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms0970_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms0970_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms0970_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
// overrides
virtual void device_reset() override;
@@ -35,7 +35,7 @@ protected:
class tms0950_cpu_device : public tms0970_cpu_device
{
public:
- tms0950_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms0950_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// overrides
@@ -49,7 +49,7 @@ protected:
class tms1990_cpu_device : public tms0970_cpu_device
{
public:
- tms1990_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1990_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tms1000/tms0980.cpp b/src/devices/cpu/tms1000/tms0980.cpp
index 664adb877ed..c6daf559d77 100644
--- a/src/devices/cpu/tms1000/tms0980.cpp
+++ b/src/devices/cpu/tms1000/tms0980.cpp
@@ -32,15 +32,15 @@ DEFINE_DEVICE_TYPE(TMS0980, tms0980_cpu_device, "tms0980", "Texas Instruments TM
DEFINE_DEVICE_TYPE(TMS1980, tms1980_cpu_device, "tms1980", "Texas Instruments TMS1980") // 28-pin DIP, 7 O pins, 10 R pins, high voltage
-tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms0980_cpu_device(mconfig, TMS0980, tag, owner, clock, 8 /* o pins */, 9 /* r pins */, 7 /* pc bits */, 9 /* byte width */, 4 /* x width */, 1 /* stack levels */, 11 /* rom width */, address_map_constructor(FUNC(tms0980_cpu_device::rom_11bit), this), 8 /* ram width */, address_map_constructor(FUNC(tms0980_cpu_device::ram_144x4), this))
{ }
-tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms0970_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms1980_cpu_device::tms1980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1980_cpu_device::tms1980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms0980_cpu_device(mconfig, TMS1980, tag, owner, clock, 7, 10, 7, 9, 4, 1, 11, address_map_constructor(FUNC(tms1980_cpu_device::rom_11bit), this), 8, address_map_constructor(FUNC(tms1980_cpu_device::ram_144x4), this))
{ }
diff --git a/src/devices/cpu/tms1000/tms0980.h b/src/devices/cpu/tms1000/tms0980.h
index 038f54cf2e2..3c0367fa80d 100644
--- a/src/devices/cpu/tms1000/tms0980.h
+++ b/src/devices/cpu/tms1000/tms0980.h
@@ -41,10 +41,10 @@
class tms0980_cpu_device : public tms0970_cpu_device
{
public:
- tms0980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms0980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms0980_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms0980_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
void ram_144x4(address_map &map);
@@ -74,7 +74,7 @@ protected:
class tms1980_cpu_device : public tms0980_cpu_device
{
public:
- tms1980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// overrides
diff --git a/src/devices/cpu/tms1000/tms1000.cpp b/src/devices/cpu/tms1000/tms1000.cpp
index 6937fc2ab35..31209f10ea8 100644
--- a/src/devices/cpu/tms1000/tms1000.cpp
+++ b/src/devices/cpu/tms1000/tms1000.cpp
@@ -37,39 +37,39 @@ DEFINE_DEVICE_TYPE(MC141000, mc141000_cpu_device, "mc141000", "Motorola MC141000
DEFINE_DEVICE_TYPE(MC141200, mc141200_cpu_device, "mc141200", "Motorola MC141200") // CMOS, 40-pin DIP, 16 R pins
-tms1000_cpu_device::tms1000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1000_cpu_device::tms1000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1000_cpu_device(mconfig, TMS1000, tag, owner, clock, 8 /* o pins */, 11 /* r pins */, 6 /* pc bits */, 8 /* byte width */, 2 /* x width */, 1 /* stack levels */, 10 /* rom width */, address_map_constructor(FUNC(tms1000_cpu_device::rom_10bit), this), 6 /* ram width */, address_map_constructor(FUNC(tms1000_cpu_device::ram_6bit), this))
{ }
-tms1000_cpu_device::tms1000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms1000_cpu_device::tms1000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms1k_base_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms1070_cpu_device::tms1070_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1070_cpu_device::tms1070_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1000_cpu_device(mconfig, TMS1070, tag, owner, clock, 8, 11, 6, 8, 2, 1, 10, address_map_constructor(FUNC(tms1070_cpu_device::rom_10bit), this), 6, address_map_constructor(FUNC(tms1070_cpu_device::ram_6bit), this))
{ }
-tms1040_cpu_device::tms1040_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1040_cpu_device::tms1040_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1000_cpu_device(mconfig, TMS1040, tag, owner, clock, 8, 11, 6, 8, 2, 1, 10, address_map_constructor(FUNC(tms1040_cpu_device::rom_10bit), this), 6, address_map_constructor(FUNC(tms1040_cpu_device::ram_6bit), this))
{ }
-tms1200_cpu_device::tms1200_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1200_cpu_device::tms1200_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1000_cpu_device(mconfig, TMS1200, tag, owner, clock, 8, 13, 6, 8, 2, 1, 10, address_map_constructor(FUNC(tms1200_cpu_device::rom_10bit), this), 6, address_map_constructor(FUNC(tms1200_cpu_device::ram_6bit), this))
{ }
-tms1700_cpu_device::tms1700_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1700_cpu_device::tms1700_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1000_cpu_device(mconfig, TMS1700, tag, owner, clock, 8, 9, 6, 8, 2, 1, 10, address_map_constructor(FUNC(tms1700_cpu_device::rom_9bitm), this), 6, address_map_constructor(FUNC(tms1700_cpu_device::ram_32x4), this))
{ }
-tms1730_cpu_device::tms1730_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1730_cpu_device::tms1730_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1000_cpu_device(mconfig, TMS1730, tag, owner, clock, 8, 9, 6, 8, 2, 1, 10, address_map_constructor(FUNC(tms1730_cpu_device::rom_9bitm), this), 6, address_map_constructor(FUNC(tms1730_cpu_device::ram_32x4), this))
{ }
-mc141000_cpu_device::mc141000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mc141000_cpu_device::mc141000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1000_cpu_device(mconfig, MC141000, tag, owner, clock, 8, 11, 6, 8, 2, 1, 10, address_map_constructor(FUNC(mc141000_cpu_device::rom_10bit), this), 6, address_map_constructor(FUNC(mc141000_cpu_device::ram_6bit), this))
{ }
-mc141200_cpu_device::mc141200_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+mc141200_cpu_device::mc141200_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1000_cpu_device(mconfig, MC141200, tag, owner, clock, 8, 16, 6, 8, 2, 1, 10, address_map_constructor(FUNC(mc141200_cpu_device::rom_10bit), this), 6, address_map_constructor(FUNC(mc141200_cpu_device::ram_6bit), this))
{ }
diff --git a/src/devices/cpu/tms1000/tms1000.h b/src/devices/cpu/tms1000/tms1000.h
index 8e45216718b..bd9dd43fce8 100644
--- a/src/devices/cpu/tms1000/tms1000.h
+++ b/src/devices/cpu/tms1000/tms1000.h
@@ -61,10 +61,10 @@
class tms1000_cpu_device : public tms1k_base_device
{
public:
- tms1000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms1000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms1000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
void rom_9bitm(address_map &map);
void ram_32x4(address_map &map);
@@ -80,46 +80,46 @@ protected:
class tms1070_cpu_device : public tms1000_cpu_device
{
public:
- tms1070_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1070_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms1040_cpu_device : public tms1000_cpu_device
{
public:
- tms1040_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1040_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms1200_cpu_device : public tms1000_cpu_device
{
public:
- tms1200_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1200_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms1700_cpu_device : public tms1000_cpu_device
{
public:
- tms1700_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1700_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms1730_cpu_device : public tms1000_cpu_device
{
public:
- tms1730_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1730_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class mc141000_cpu_device : public tms1000_cpu_device
{
public:
- mc141000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mc141000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class mc141200_cpu_device : public tms1000_cpu_device
{
public:
- mc141200_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mc141200_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tms1000/tms1000c.cpp b/src/devices/cpu/tms1000/tms1000c.cpp
index 977c8c90d37..ed6b7a9fd06 100644
--- a/src/devices/cpu/tms1000/tms1000c.cpp
+++ b/src/devices/cpu/tms1000/tms1000c.cpp
@@ -26,7 +26,7 @@ TODO:
DEFINE_DEVICE_TYPE(TMS1000C, tms1000c_cpu_device, "tms1000c", "Texas Instruments TMS1000C") // 28-pin SDIP, 10 R pins
-tms1000c_cpu_device::tms1000c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1000c_cpu_device::tms1000c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1000_cpu_device(mconfig, TMS1000C, tag, owner, clock, 8 /* o pins */, 10 /* r pins */, 6 /* pc bits */, 8 /* byte width */, 2 /* x width */, 3 /* stack levels */, 10 /* rom width */, address_map_constructor(FUNC(tms1000c_cpu_device::rom_10bit), this), 6 /* ram width */, address_map_constructor(FUNC(tms1000c_cpu_device::ram_6bit), this))
{ }
diff --git a/src/devices/cpu/tms1000/tms1000c.h b/src/devices/cpu/tms1000/tms1000c.h
index bf165550045..600b57bb79e 100644
--- a/src/devices/cpu/tms1000/tms1000c.h
+++ b/src/devices/cpu/tms1000/tms1000c.h
@@ -17,7 +17,7 @@
class tms1000c_cpu_device : public tms1000_cpu_device
{
public:
- tms1000c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1000c_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// overrides
diff --git a/src/devices/cpu/tms1000/tms1100.cpp b/src/devices/cpu/tms1000/tms1100.cpp
index 7af1237a5ad..9a799749a33 100644
--- a/src/devices/cpu/tms1000/tms1100.cpp
+++ b/src/devices/cpu/tms1000/tms1100.cpp
@@ -23,23 +23,23 @@ DEFINE_DEVICE_TYPE(TMS1300, tms1300_cpu_device, "tms1300", "Texas Instruments TM
DEFINE_DEVICE_TYPE(TMS1370, tms1370_cpu_device, "tms1370", "Texas Instruments TMS1370") // high voltage version, also seen in 28-pin package(some O/R pins unavailable)
-tms1100_cpu_device::tms1100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1100_cpu_device::tms1100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1100_cpu_device(mconfig, TMS1100, tag, owner, clock, 8 /* o pins */, 11 /* r pins */, 6 /* pc bits */, 8 /* byte width */, 3 /* x width */, 1 /* stack levels */, 11 /* rom width */, address_map_constructor(FUNC(tms1100_cpu_device::rom_11bit), this), 7 /* ram width */, address_map_constructor(FUNC(tms1100_cpu_device::ram_7bit), this))
{ }
-tms1100_cpu_device::tms1100_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms1100_cpu_device::tms1100_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms1000_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms1170_cpu_device::tms1170_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1170_cpu_device::tms1170_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1100_cpu_device(mconfig, TMS1170, tag, owner, clock, 8, 11, 6, 8, 3, 1, 11, address_map_constructor(FUNC(tms1170_cpu_device::rom_11bit), this), 7, address_map_constructor(FUNC(tms1170_cpu_device::ram_7bit), this))
{ }
-tms1300_cpu_device::tms1300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1300_cpu_device::tms1300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1100_cpu_device(mconfig, TMS1300, tag, owner, clock, 8, 16, 6, 8, 3, 1, 11, address_map_constructor(FUNC(tms1300_cpu_device::rom_11bit), this), 7, address_map_constructor(FUNC(tms1300_cpu_device::ram_7bit), this))
{ }
-tms1370_cpu_device::tms1370_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1370_cpu_device::tms1370_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1100_cpu_device(mconfig, TMS1370, tag, owner, clock, 8, 16, 6, 8, 3, 1, 11, address_map_constructor(FUNC(tms1370_cpu_device::rom_11bit), this), 7, address_map_constructor(FUNC(tms1370_cpu_device::ram_7bit), this))
{ }
diff --git a/src/devices/cpu/tms1000/tms1100.h b/src/devices/cpu/tms1000/tms1100.h
index 4121a25f64e..812e670ad54 100644
--- a/src/devices/cpu/tms1000/tms1100.h
+++ b/src/devices/cpu/tms1000/tms1100.h
@@ -63,10 +63,10 @@
class tms1100_cpu_device : public tms1000_cpu_device
{
public:
- tms1100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms1100_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms1100_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
// overrides
virtual void device_start() override;
@@ -81,19 +81,19 @@ protected:
class tms1170_cpu_device : public tms1100_cpu_device
{
public:
- tms1170_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1170_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms1300_cpu_device : public tms1100_cpu_device
{
public:
- tms1300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms1370_cpu_device : public tms1100_cpu_device
{
public:
- tms1370_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1370_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tms1000/tms1400.cpp b/src/devices/cpu/tms1000/tms1400.cpp
index 64eb906a2d1..f11f4567371 100644
--- a/src/devices/cpu/tms1000/tms1400.cpp
+++ b/src/devices/cpu/tms1000/tms1400.cpp
@@ -33,37 +33,37 @@ DEFINE_DEVICE_TYPE(TMS1600, tms1600_cpu_device, "tms1600", "Texas Instruments TM
DEFINE_DEVICE_TYPE(TMS1670, tms1670_cpu_device, "tms1670", "Texas Instruments TMS1670") // high voltage version
-tms1400_cpu_device::tms1400_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1400_cpu_device::tms1400_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1400_cpu_device(mconfig, TMS1400, tag, owner, clock, 8 /* o pins */, 11 /* r pins */, 6 /* pc bits */, 8 /* byte width */, 3 /* x width */, 3 /* stack levels */, 12 /* rom width */, address_map_constructor(FUNC(tms1400_cpu_device::rom_12bit), this), 7 /* ram width */, address_map_constructor(FUNC(tms1400_cpu_device::ram_7bit), this))
{ }
-tms1400_cpu_device::tms1400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms1400_cpu_device::tms1400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms1100_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms1470_cpu_device::tms1470_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1470_cpu_device::tms1470_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1470_cpu_device(mconfig, TMS1470, tag, owner, clock, 8, 10, 6, 8, 3, 3, 12, address_map_constructor(FUNC(tms1470_cpu_device::rom_12bit), this), 7, address_map_constructor(FUNC(tms1470_cpu_device::ram_7bit), this))
{ }
-tms1470_cpu_device::tms1470_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms1470_cpu_device::tms1470_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms1400_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms1475_cpu_device::tms1475_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1475_cpu_device::tms1475_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1470_cpu_device(mconfig, TMS1475, tag, owner, clock, 8, 22, 6, 8, 3, 3, 12, address_map_constructor(FUNC(tms1475_cpu_device::rom_12bit), this), 7, address_map_constructor(FUNC(tms1475_cpu_device::ram_7bit), this))
{ }
-tms1600_cpu_device::tms1600_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1600_cpu_device::tms1600_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1600_cpu_device(mconfig, TMS1600, tag, owner, clock, 8, 16, 6, 8, 3, 3, 12, address_map_constructor(FUNC(tms1600_cpu_device::rom_12bit), this), 7, address_map_constructor(FUNC(tms1600_cpu_device::ram_7bit), this))
{ }
-tms1600_cpu_device::tms1600_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms1600_cpu_device::tms1600_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms1400_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms1670_cpu_device::tms1670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms1670_cpu_device::tms1670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms1600_cpu_device(mconfig, TMS1670, tag, owner, clock, 8, 16, 6, 8, 3, 3, 12, address_map_constructor(FUNC(tms1670_cpu_device::rom_12bit), this), 7, address_map_constructor(FUNC(tms1670_cpu_device::ram_7bit), this))
{ }
diff --git a/src/devices/cpu/tms1000/tms1400.h b/src/devices/cpu/tms1000/tms1400.h
index acac9ea4ca1..b69b48ca5a5 100644
--- a/src/devices/cpu/tms1000/tms1400.h
+++ b/src/devices/cpu/tms1000/tms1400.h
@@ -41,10 +41,10 @@
class tms1400_cpu_device : public tms1100_cpu_device
{
public:
- tms1400_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1400_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms1400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms1400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
// overrides
virtual void device_reset() override;
@@ -59,16 +59,16 @@ protected:
class tms1470_cpu_device : public tms1400_cpu_device
{
public:
- tms1470_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1470_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms1470_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms1470_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
};
class tms1475_cpu_device : public tms1470_cpu_device
{
public:
- tms1475_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1475_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void op_setr() override { tms1100_cpu_device::op_setr(); }
@@ -78,16 +78,16 @@ protected:
class tms1600_cpu_device : public tms1400_cpu_device
{
public:
- tms1600_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1600_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms1600_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms1600_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
};
class tms1670_cpu_device : public tms1600_cpu_device
{
public:
- tms1670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms1670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tms1000/tms1k_base.cpp b/src/devices/cpu/tms1000/tms1k_base.cpp
index 8034c2c7b4c..729e8274476 100644
--- a/src/devices/cpu/tms1000/tms1k_base.cpp
+++ b/src/devices/cpu/tms1000/tms1k_base.cpp
@@ -71,7 +71,7 @@ unknown cycle: CME, SSE, SSS
#include "emu.h"
#include "tms1k_base.h"
-tms1k_base_device::tms1k_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms1k_base_device::tms1k_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, byte_bits > 8 ? 16 : 8, rom_width, byte_bits > 8 ? -1 : 0, rom_map),
m_data_config("data", ENDIANNESS_BIG, 8, ram_width, 0, ram_map),
diff --git a/src/devices/cpu/tms1000/tms1k_base.h b/src/devices/cpu/tms1000/tms1k_base.h
index 136a54e61c7..a65caa0b3ca 100644
--- a/src/devices/cpu/tms1000/tms1k_base.h
+++ b/src/devices/cpu/tms1000/tms1k_base.h
@@ -52,7 +52,7 @@ public:
protected:
// construction/destruction
- tms1k_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms1k_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/tms1000/tms2100.cpp b/src/devices/cpu/tms1000/tms2100.cpp
index b469e7c7b08..06ec33fd97d 100644
--- a/src/devices/cpu/tms1000/tms2100.cpp
+++ b/src/devices/cpu/tms1000/tms2100.cpp
@@ -40,27 +40,27 @@ DEFINE_DEVICE_TYPE(TMS2300, tms2300_cpu_device, "tms2300", "Texas Instruments TM
DEFINE_DEVICE_TYPE(TMS2370, tms2370_cpu_device, "tms2370", "Texas Instruments TMS2370") // high voltage version, 1 R pin removed for Vpp
-tms2100_cpu_device::tms2100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms2100_cpu_device::tms2100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms2100_cpu_device(mconfig, TMS2100, tag, owner, clock, 8 /* o pins */, 7 /* r pins */, 6 /* pc bits */, 8 /* byte width */, 3 /* x width */, 4 /* stack levels */, 11 /* rom width */, address_map_constructor(FUNC(tms2100_cpu_device::rom_11bit), this), 7 /* ram width */, address_map_constructor(FUNC(tms2100_cpu_device::ram_7bit), this))
{ }
-tms2100_cpu_device::tms2100_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms2100_cpu_device::tms2100_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms1100_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms2170_cpu_device::tms2170_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms2170_cpu_device::tms2170_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms2100_cpu_device(mconfig, TMS2170, tag, owner, clock, 8, 6, 6, 8, 3, 4, 11, address_map_constructor(FUNC(tms2170_cpu_device::rom_11bit), this), 7, address_map_constructor(FUNC(tms2170_cpu_device::ram_7bit), this))
{ }
-tms2300_cpu_device::tms2300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms2300_cpu_device::tms2300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms2300_cpu_device(mconfig, TMS2300, tag, owner, clock, 8, 15, 6, 8, 3, 4, 11, address_map_constructor(FUNC(tms2300_cpu_device::rom_11bit), this), 7, address_map_constructor(FUNC(tms2300_cpu_device::ram_7bit), this))
{ }
-tms2300_cpu_device::tms2300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms2300_cpu_device::tms2300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms2100_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms2370_cpu_device::tms2370_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms2370_cpu_device::tms2370_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms2300_cpu_device(mconfig, TMS2370, tag, owner, clock, 8, 14, 6, 8, 3, 4, 11, address_map_constructor(FUNC(tms2370_cpu_device::rom_11bit), this), 7, address_map_constructor(FUNC(tms2370_cpu_device::ram_7bit), this))
{ }
diff --git a/src/devices/cpu/tms1000/tms2100.h b/src/devices/cpu/tms1000/tms2100.h
index 7f6c6ab340b..a6dbf3eb0b0 100644
--- a/src/devices/cpu/tms1000/tms2100.h
+++ b/src/devices/cpu/tms1000/tms2100.h
@@ -69,10 +69,10 @@ enum
class tms2100_cpu_device : public tms1100_cpu_device
{
public:
- tms2100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms2100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms2100_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms2100_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
// overrides
virtual void device_start() override;
@@ -131,22 +131,22 @@ protected:
class tms2170_cpu_device : public tms2100_cpu_device
{
public:
- tms2170_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms2170_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms2300_cpu_device : public tms2100_cpu_device
{
public:
- tms2300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms2300_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms2300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms2300_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
};
class tms2370_cpu_device : public tms2300_cpu_device
{
public:
- tms2370_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms2370_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tms1000/tms2400.cpp b/src/devices/cpu/tms1000/tms2400.cpp
index 289e4f94692..f5454923f94 100644
--- a/src/devices/cpu/tms1000/tms2400.cpp
+++ b/src/devices/cpu/tms1000/tms2400.cpp
@@ -20,27 +20,27 @@ DEFINE_DEVICE_TYPE(TMS2600, tms2600_cpu_device, "tms2600", "Texas Instruments TM
DEFINE_DEVICE_TYPE(TMS2670, tms2670_cpu_device, "tms2670", "Texas Instruments TMS2670") // high voltage version, 1 R pin removed for Vpp
-tms2400_cpu_device::tms2400_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms2400_cpu_device::tms2400_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms2400_cpu_device(mconfig, TMS2400, tag, owner, clock, 8 /* o pins */, 7 /* r pins */, 6 /* pc bits */, 8 /* byte width */, 4 /* x width */, 4 /* stack levels */, 12 /* rom width */, address_map_constructor(FUNC(tms2400_cpu_device::rom_12bit), this), 8 /* ram width */, address_map_constructor(FUNC(tms2400_cpu_device::ram_8bit), this))
{ }
-tms2400_cpu_device::tms2400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms2400_cpu_device::tms2400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms2100_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms2470_cpu_device::tms2470_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms2470_cpu_device::tms2470_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms2400_cpu_device(mconfig, TMS2470, tag, owner, clock, 8, 6, 6, 8, 4, 4, 12, address_map_constructor(FUNC(tms2470_cpu_device::rom_12bit), this), 8, address_map_constructor(FUNC(tms2470_cpu_device::ram_8bit), this))
{ }
-tms2600_cpu_device::tms2600_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms2600_cpu_device::tms2600_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms2600_cpu_device(mconfig, TMS2600, tag, owner, clock, 8, 15, 6, 8, 4, 4, 12, address_map_constructor(FUNC(tms2600_cpu_device::rom_12bit), this), 8, address_map_constructor(FUNC(tms2600_cpu_device::ram_8bit), this))
{ }
-tms2600_cpu_device::tms2600_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
+tms2600_cpu_device::tms2600_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map) :
tms2400_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, stack_levels, rom_width, rom_map, ram_width, ram_map)
{ }
-tms2670_cpu_device::tms2670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tms2670_cpu_device::tms2670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms2600_cpu_device(mconfig, TMS2670, tag, owner, clock, 8, 14, 6, 8, 4, 4, 12, address_map_constructor(FUNC(tms2670_cpu_device::rom_12bit), this), 8, address_map_constructor(FUNC(tms2670_cpu_device::ram_8bit), this))
{ }
diff --git a/src/devices/cpu/tms1000/tms2400.h b/src/devices/cpu/tms1000/tms2400.h
index 25692d3207e..b002bd9cefb 100644
--- a/src/devices/cpu/tms1000/tms2400.h
+++ b/src/devices/cpu/tms1000/tms2400.h
@@ -17,10 +17,10 @@
class tms2400_cpu_device : public tms2100_cpu_device
{
public:
- tms2400_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms2400_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms2400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms2400_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
// overrides
virtual void device_reset() override;
@@ -34,22 +34,22 @@ protected:
class tms2470_cpu_device : public tms2400_cpu_device
{
public:
- tms2470_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms2470_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms2600_cpu_device : public tms2400_cpu_device
{
public:
- tms2600_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms2600_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms2600_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
+ tms2600_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, u8 stack_levels, int rom_width, address_map_constructor rom_map, int ram_width, address_map_constructor ram_map);
};
class tms2670_cpu_device : public tms2600_cpu_device
{
public:
- tms2670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms2670_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tms1000/tp0320.cpp b/src/devices/cpu/tms1000/tp0320.cpp
index 54eb8c368b5..72fd062ca17 100644
--- a/src/devices/cpu/tms1000/tp0320.cpp
+++ b/src/devices/cpu/tms1000/tp0320.cpp
@@ -28,7 +28,7 @@ TODO:
DEFINE_DEVICE_TYPE(TP0320, tp0320_cpu_device, "tp0320", "Texas Instruments TP0320") // 28-pin SDIP, ..
-tp0320_cpu_device::tp0320_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+tp0320_cpu_device::tp0320_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms0980_cpu_device(mconfig, TP0320, tag, owner, clock, 7 /* o pins */, 10 /* r pins */, 7 /* pc bits */, 9 /* byte width */, 4 /* x width */, 1 /* stack levels */, 11 /* rom width */, address_map_constructor(FUNC(tp0320_cpu_device::rom_11bit), this), 8 /* ram width */, address_map_constructor(FUNC(tp0320_cpu_device::ram_192x4), this))
{ }
diff --git a/src/devices/cpu/tms1000/tp0320.h b/src/devices/cpu/tms1000/tp0320.h
index 710dfb5b787..922245853f5 100644
--- a/src/devices/cpu/tms1000/tp0320.h
+++ b/src/devices/cpu/tms1000/tp0320.h
@@ -17,7 +17,7 @@
class tp0320_cpu_device : public tms0980_cpu_device
{
public:
- tp0320_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tp0320_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
void ram_192x4(address_map &map);
diff --git a/src/devices/cpu/tms32010/tms32010.cpp b/src/devices/cpu/tms32010/tms32010.cpp
index 7a9fb58b54c..086c2cca029 100644
--- a/src/devices/cpu/tms32010/tms32010.cpp
+++ b/src/devices/cpu/tms32010/tms32010.cpp
@@ -99,13 +99,13 @@ void tms32010_device::tms32015_ram(address_map &map)
}
-tms32010_device::tms32010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32010_device::tms32010_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms32010_device(mconfig, TMS32010, tag, owner, clock, address_map_constructor(FUNC(tms32010_device::tms32010_ram), this), 0x0fff)
{
}
-tms32010_device::tms32010_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor data_map, int addr_mask)
+tms32010_device::tms32010_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor data_map, int addr_mask)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 12, -1)
, m_data_config("data", ENDIANNESS_BIG, 16, 8, -1, data_map)
@@ -116,13 +116,13 @@ tms32010_device::tms32010_device(const machine_config &mconfig, device_type type
}
-tms32015_device::tms32015_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32015_device::tms32015_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms32010_device(mconfig, TMS32015, tag, owner, clock, address_map_constructor(FUNC(tms32015_device::tms32015_ram), this), 0x0fff)
{
}
-tms32016_device::tms32016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32016_device::tms32016_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms32010_device(mconfig, TMS32016, tag, owner, clock, address_map_constructor(FUNC(tms32016_device::tms32015_ram), this), 0xffff)
{
}
diff --git a/src/devices/cpu/tms32010/tms32010.h b/src/devices/cpu/tms32010/tms32010.h
index beebee1b0b0..70ea8534d15 100644
--- a/src/devices/cpu/tms32010/tms32010.h
+++ b/src/devices/cpu/tms32010/tms32010.h
@@ -35,7 +35,7 @@ class tms32010_device : public cpu_device
{
public:
// construction/destruction
- tms32010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32010_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto bio() { return m_bio_in.bind(); }
@@ -43,7 +43,7 @@ public:
void tms32010_ram(address_map &map);
void tms32015_ram(address_map &map);
protected:
- tms32010_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor data_map, int addr_mask);
+ tms32010_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor data_map, int addr_mask);
// device-level overrides
virtual void device_start() override;
@@ -191,7 +191,7 @@ class tms32015_device : public tms32010_device
{
public:
// construction/destruction
- tms32015_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32015_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
@@ -199,7 +199,7 @@ class tms32016_device : public tms32010_device
{
public:
// construction/destruction
- tms32016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32016_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tms32025/tms32025.cpp b/src/devices/cpu/tms32025/tms32025.cpp
index 304280555a1..a0c08118878 100644
--- a/src/devices/cpu/tms32025/tms32025.cpp
+++ b/src/devices/cpu/tms32025/tms32025.cpp
@@ -240,7 +240,7 @@ const tiny_rom_entry *tms32025_device::device_rom_region() const
}
-tms32025_device::tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor prgmap, address_map_constructor datamap)
+tms32025_device::tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor prgmap, address_map_constructor datamap)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 16, -1, prgmap)
, m_data_config("data", ENDIANNESS_BIG, 16, 16, -1, datamap)
@@ -259,19 +259,19 @@ tms32025_device::tms32025_device(const machine_config &mconfig, device_type type
{
}
-tms32025_device::tms32025_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32025_device::tms32025_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms32025_device(mconfig, TMS32025, tag, owner, clock, address_map_constructor(), address_map_constructor(FUNC(tms32025_device::tms32025_data), this))
{
m_fixed_STR1 = 0x0180;
}
-tms32025_device::tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+tms32025_device::tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: tms32025_device(mconfig, type, tag, owner, clock, address_map_constructor(), address_map_constructor(FUNC(tms32025_device::tms32025_data), this))
{
m_fixed_STR1 = 0x0180;
}
-tms32026_device::tms32026_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32026_device::tms32026_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms32025_device(mconfig, TMS32026, tag, owner, clock, address_map_constructor(), address_map_constructor(FUNC(tms32026_device::tms32026_data), this))
{
m_fixed_STR1 = 0x0100;
diff --git a/src/devices/cpu/tms32025/tms32025.h b/src/devices/cpu/tms32025/tms32025.h
index de8b4442c08..0f5fb689706 100644
--- a/src/devices/cpu/tms32025/tms32025.h
+++ b/src/devices/cpu/tms32025/tms32025.h
@@ -62,8 +62,8 @@ class tms32025_device : public cpu_device
{
public:
// construction/destruction
- tms32025_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ tms32025_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
+ tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto bio_in_cb() { return m_bio_in.bind(); }
@@ -79,7 +79,7 @@ public:
void tms32025_data(address_map &map);
void tms32026_data(address_map &map);
protected:
- tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor prgmap, address_map_constructor datamap);
+ tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor prgmap, address_map_constructor datamap);
// device-level overrides
virtual void device_start() override;
@@ -368,7 +368,7 @@ class tms32026_device : public tms32025_device
{
public:
// construction/destruction
- tms32026_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32026_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_reset() override;
diff --git a/src/devices/cpu/tms32031/tms32031.cpp b/src/devices/cpu/tms32031/tms32031.cpp
index f4516f27788..41c3792602e 100644
--- a/src/devices/cpu/tms32031/tms32031.cpp
+++ b/src/devices/cpu/tms32031/tms32031.cpp
@@ -406,7 +406,7 @@ void tms3203x_device::tmsreg::from_double(double val)
// tms3203x_device - constructor
//-------------------------------------------------
-tms3203x_device::tms3203x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t chiptype, int clock_per_inst, address_map_constructor internal_map)
+tms3203x_device::tms3203x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t chiptype, int clock_per_inst, address_map_constructor internal_map)
: cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_LITTLE, 32, 24, -2, internal_map),
m_chip_type(chiptype),
@@ -438,22 +438,22 @@ tms3203x_device::tms3203x_device(const machine_config &mconfig, device_type type
#endif
}
-tms32030_device::tms32030_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32030_device::tms32030_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms3203x_device(mconfig, TMS32030, tag, owner, clock, CHIP_TYPE_TMS32030, 2, address_map_constructor(FUNC(tms32030_device::internal_32030), this))
{
}
-tms32031_device::tms32031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32031_device::tms32031_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms3203x_device(mconfig, TMS32031, tag, owner, clock, CHIP_TYPE_TMS32031, 2, address_map_constructor(FUNC(tms32031_device::internal_32031), this))
{
}
-tms32032_device::tms32032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32032_device::tms32032_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms3203x_device(mconfig, TMS32032, tag, owner, clock, CHIP_TYPE_TMS32032, 2, address_map_constructor(FUNC(tms32032_device::internal_32032), this))
{
}
-tms32033_device::tms32033_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32033_device::tms32033_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms3203x_device(mconfig, TMS32033, tag, owner, clock, CHIP_TYPE_TMS32031, 1, address_map_constructor(FUNC(tms32033_device::internal_32033), this))
{
}
diff --git a/src/devices/cpu/tms32031/tms32031.h b/src/devices/cpu/tms32031/tms32031.h
index 975a8d1cb32..f4193e2cf93 100644
--- a/src/devices/cpu/tms32031/tms32031.h
+++ b/src/devices/cpu/tms32031/tms32031.h
@@ -143,7 +143,7 @@ protected:
};
// construction/destruction
- tms3203x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t chiptype, int clock_per_inst, address_map_constructor internal_map);
+ tms3203x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t chiptype, int clock_per_inst, address_map_constructor internal_map);
void common_3203x(address_map &map);
// device-level overrides
@@ -803,7 +803,7 @@ class tms32030_device : public tms3203x_device
{
public:
// construction/destruction
- tms32030_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32030_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void internal_32030(address_map &map);
};
@@ -814,7 +814,7 @@ class tms32031_device : public tms3203x_device
{
public:
// construction/destruction
- tms32031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32031_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void internal_32031(address_map &map);
};
@@ -825,7 +825,7 @@ class tms32032_device : public tms3203x_device
{
public:
// construction/destruction
- tms32032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32032_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void internal_32032(address_map &map);
};
@@ -836,7 +836,7 @@ class tms32033_device : public tms3203x_device
{
public:
// construction/destruction
- tms32033_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32033_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void internal_32033(address_map &map);
};
diff --git a/src/devices/cpu/tms32051/tms32051.cpp b/src/devices/cpu/tms32051/tms32051.cpp
index d03493df60f..590a952c842 100644
--- a/src/devices/cpu/tms32051/tms32051.cpp
+++ b/src/devices/cpu/tms32051/tms32051.cpp
@@ -71,7 +71,7 @@ void tms32051_device::tms32051_internal_data(address_map &map)
}
-tms32051_device::tms32051_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_pgm, address_map_constructor internal_data)
+tms32051_device::tms32051_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_pgm, address_map_constructor internal_data)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 16, -1, internal_pgm)
, m_data_config("data", ENDIANNESS_LITTLE, 16, 16, -1, internal_data)
@@ -79,7 +79,7 @@ tms32051_device::tms32051_device(const machine_config &mconfig, device_type type
{
}
-tms32051_device::tms32051_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32051_device::tms32051_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms32051_device(mconfig, TMS32051, tag, owner, clock, address_map_constructor(FUNC(tms32051_device::tms32051_internal_pgm), this), address_map_constructor(FUNC(tms32051_device::tms32051_internal_data), this))
{
}
@@ -115,7 +115,7 @@ void tms32053_device::tms32053_internal_data(address_map &map)
}
-tms32053_device::tms32053_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32053_device::tms32053_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms32051_device(mconfig, TMS32053, tag, owner, clock, address_map_constructor(FUNC(tms32053_device::tms32053_internal_pgm), this), address_map_constructor(FUNC(tms32053_device::tms32053_internal_data), this))
{
}
diff --git a/src/devices/cpu/tms32051/tms32051.h b/src/devices/cpu/tms32051/tms32051.h
index 63552d7e605..abcb8f64626 100644
--- a/src/devices/cpu/tms32051/tms32051.h
+++ b/src/devices/cpu/tms32051/tms32051.h
@@ -57,7 +57,7 @@ class tms32051_device : public cpu_device
{
public:
// construction/destruction
- tms32051_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32051_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint16_t cpuregs_r(offs_t offset);
void cpuregs_w(offs_t offset, uint16_t data);
@@ -65,7 +65,7 @@ public:
void tms32051_internal_data(address_map &map);
void tms32051_internal_pgm(address_map &map);
protected:
- tms32051_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_pgm, address_map_constructor internal_data);
+ tms32051_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_pgm, address_map_constructor internal_data);
// device-level overrides
virtual void device_start() override;
@@ -373,7 +373,7 @@ class tms32053_device : public tms32051_device
{
public:
// construction/destruction
- tms32053_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32053_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void tms32053_internal_data(address_map &map);
void tms32053_internal_pgm(address_map &map);
diff --git a/src/devices/cpu/tms32082/tms32082.cpp b/src/devices/cpu/tms32082/tms32082.cpp
index 7b1486470c0..16655f93472 100644
--- a/src/devices/cpu/tms32082/tms32082.cpp
+++ b/src/devices/cpu/tms32082/tms32082.cpp
@@ -43,7 +43,7 @@ const uint32_t tms32082_mp_device::SHIFT_MASK[] =
-tms32082_mp_device::tms32082_mp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32082_mp_device::tms32082_mp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, TMS32082_MP, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 32, 32, 0, address_map_constructor(FUNC(tms32082_mp_device::mp_internal_map), this))
, m_cmd_callback(*this)
@@ -528,7 +528,7 @@ void tms32082_pp_device::pp_internal_map(address_map &map)
map(0x01001000, 0x01001fff).ram().share("pp1_param");
}
-tms32082_pp_device::tms32082_pp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms32082_pp_device::tms32082_pp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, TMS32082_PP, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 32, 32, 0, address_map_constructor(FUNC(tms32082_pp_device::pp_internal_map), this))
{
diff --git a/src/devices/cpu/tms32082/tms32082.h b/src/devices/cpu/tms32082/tms32082.h
index 415ce95d564..7bc54639cbf 100644
--- a/src/devices/cpu/tms32082/tms32082.h
+++ b/src/devices/cpu/tms32082/tms32082.h
@@ -10,7 +10,7 @@ class tms32082_mp_device : public cpu_device
{
public:
// construction/destruction
- tms32082_mp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32082_mp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
enum
{
@@ -157,7 +157,7 @@ class tms32082_pp_device : public cpu_device
{
public:
// construction/destruction
- tms32082_pp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32082_pp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
enum
{
diff --git a/src/devices/cpu/tms34010/tms34010.cpp b/src/devices/cpu/tms34010/tms34010.cpp
index 729b6ed0bf6..8b3883db3e8 100644
--- a/src/devices/cpu/tms34010/tms34010.cpp
+++ b/src/devices/cpu/tms34010/tms34010.cpp
@@ -58,7 +58,7 @@ DEFINE_DEVICE_TYPE(TMS34020, tms34020_device, "tms34020", "Texas Instruments TMS
GLOBAL VARIABLES
***************************************************************************/
-tms340x0_device::tms340x0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_regs_map, bool is_34020)
+tms340x0_device::tms340x0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_regs_map, bool is_34020)
: cpu_device(mconfig, type, tag, owner, clock)
, device_video_interface(mconfig, *this)
, m_program_config("program", ENDIANNESS_LITTLE, is_34020 ? 32 : 16, 32, 3, internal_regs_map)
@@ -95,13 +95,13 @@ tms340x0_device::tms340x0_device(const machine_config &mconfig, device_type type
}
-tms34010_device::tms34010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms34010_device::tms34010_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms340x0_device(mconfig, TMS34010, tag, owner, clock, address_map_constructor(FUNC(tms34010_device::internal_regs_map), this), false)
{
}
-tms34020_device::tms34020_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms34020_device::tms34020_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms340x0_device(mconfig, TMS34020, tag, owner, clock, address_map_constructor(FUNC(tms34020_device::internal_regs_map), this), true)
{
}
diff --git a/src/devices/cpu/tms34010/tms34010.h b/src/devices/cpu/tms34010/tms34010.h
index b9165b17f77..f88f852a6d3 100644
--- a/src/devices/cpu/tms34010/tms34010.h
+++ b/src/devices/cpu/tms34010/tms34010.h
@@ -252,7 +252,7 @@ protected:
};
// construction/destruction
- tms340x0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_regs_map, bool is_34020);
+ tms340x0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_regs_map, bool is_34020);
// device-level overrides
virtual void device_start() override;
@@ -958,7 +958,7 @@ protected:
class tms34010_device : public tms340x0_device
{
public:
- tms34010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms34010_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
/* Reads & writes to the 34010 I/O registers; place at 0xc0000000 */
virtual void io_register_w(offs_t offset, u16 data, u16 mem_mask = ~u16(0)) override;
@@ -998,7 +998,7 @@ DECLARE_DEVICE_TYPE(TMS34010, tms34010_device)
class tms34020_device : public tms340x0_device
{
public:
- tms34020_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms34020_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
/* Reads & writes to the 34020 I/O registers; place at 0xc0000000 */
virtual void io_register_w(offs_t offset, u16 data, u16 mem_mask = ~u16(0)) override;
diff --git a/src/devices/cpu/tms57002/tms57002.cpp b/src/devices/cpu/tms57002/tms57002.cpp
index e137a6b2efd..d3d091753b6 100644
--- a/src/devices/cpu/tms57002/tms57002.cpp
+++ b/src/devices/cpu/tms57002/tms57002.cpp
@@ -20,7 +20,7 @@ void tms57002_device::internal_pgm(address_map &map)
map(0x00, 0xff).ram();
}
-tms57002_device::tms57002_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+tms57002_device::tms57002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, TMS57002, tag, owner, clock)
, device_sound_interface(mconfig, *this)
, macc(0), macc_read(0), macc_write(0), st0(0), st1(0), sti(0), txrd(0)
diff --git a/src/devices/cpu/tms57002/tms57002.h b/src/devices/cpu/tms57002/tms57002.h
index 12bcd732120..03b2fecd0bc 100644
--- a/src/devices/cpu/tms57002/tms57002.h
+++ b/src/devices/cpu/tms57002/tms57002.h
@@ -15,7 +15,7 @@
class tms57002_device : public cpu_device, public device_sound_interface
{
public:
- tms57002_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ tms57002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto dready_callback() { return m_dready_callback.bind(); }
auto pc0_callback() { return m_pc0_callback.bind(); }
diff --git a/src/devices/cpu/tms7000/tms7000.cpp b/src/devices/cpu/tms7000/tms7000.cpp
index 3ce6f001ca2..57e88914f61 100644
--- a/src/devices/cpu/tms7000/tms7000.cpp
+++ b/src/devices/cpu/tms7000/tms7000.cpp
@@ -111,12 +111,12 @@ void tms70c46_device::tms70c46_mem(address_map &map)
// device definitions
-tms7000_device::tms7000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms7000_device::tms7000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS7000, tag, owner, clock, address_map_constructor(FUNC(tms7000_device::tms7000_mem), this), 0)
{
}
-tms7000_device::tms7000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal, uint32_t info_flags) :
+tms7000_device::tms7000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal, uint32_t info_flags) :
cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, 8, 16, 0, internal),
m_port_in_cb(*this),
@@ -126,57 +126,57 @@ tms7000_device::tms7000_device(const machine_config &mconfig, device_type type,
{
}
-tms7020_device::tms7020_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms7020_device::tms7020_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS7020, tag, owner, clock, address_map_constructor(FUNC(tms7020_device::tms7020_mem), this), 0)
{
}
-tms7020_exl_device::tms7020_exl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms7020_exl_device::tms7020_exl_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS7020_EXL, tag, owner, clock, address_map_constructor(FUNC(tms7020_exl_device::tms7020_mem), this), 0)
{
}
-tms7040_device::tms7040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms7040_device::tms7040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS7040, tag, owner, clock, address_map_constructor(FUNC(tms7040_device::tms7040_mem), this), 0)
{
}
-tms70c00_device::tms70c00_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms70c00_device::tms70c00_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS70C00, tag, owner, clock, address_map_constructor(FUNC(tms70c00_device::tms7000_mem), this), CHIP_IS_CMOS)
{
}
-tms70c20_device::tms70c20_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms70c20_device::tms70c20_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS70C20, tag, owner, clock, address_map_constructor(FUNC(tms70c20_device::tms7020_mem), this), CHIP_IS_CMOS)
{
}
-tms70c40_device::tms70c40_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms70c40_device::tms70c40_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS70C40, tag, owner, clock, address_map_constructor(FUNC(tms70c40_device::tms7040_mem), this), CHIP_IS_CMOS)
{
}
-tms7001_device::tms7001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms7001_device::tms7001_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS7001, tag, owner, clock, address_map_constructor(FUNC(tms7001_device::tms7001_mem), this), CHIP_FAMILY_70X2)
{
}
-tms7041_device::tms7041_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms7041_device::tms7041_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS7041, tag, owner, clock, address_map_constructor(FUNC(tms7041_device::tms7041_mem), this), CHIP_FAMILY_70X2)
{
}
-tms7002_device::tms7002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms7002_device::tms7002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS7002, tag, owner, clock, address_map_constructor(FUNC(tms7002_device::tms7002_mem), this), CHIP_FAMILY_70X2)
{
}
-tms7042_device::tms7042_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms7042_device::tms7042_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS7042, tag, owner, clock, address_map_constructor(FUNC(tms7042_device::tms7042_mem), this), CHIP_FAMILY_70X2)
{
}
-tms70c46_device::tms70c46_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tms70c46_device::tms70c46_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
tms7000_device(mconfig, TMS70C46, tag, owner, clock, address_map_constructor(FUNC(tms70c46_device::tms70c46_mem), this), CHIP_IS_CMOS)
{
}
diff --git a/src/devices/cpu/tms7000/tms7000.h b/src/devices/cpu/tms7000/tms7000.h
index 8d623f5c725..29d93839363 100644
--- a/src/devices/cpu/tms7000/tms7000.h
+++ b/src/devices/cpu/tms7000/tms7000.h
@@ -25,7 +25,7 @@ class tms7000_device : public cpu_device
{
public:
// construction/destruction
- tms7000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms7000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// read-only on 70x0
auto in_porta() { return m_port_in_cb[0].bind(); }
@@ -75,7 +75,7 @@ protected:
static constexpr uint32_t CHIP_FAMILY_70CX2 = 0x04;
static constexpr uint32_t CHIP_FAMILY_MASK = 0x06;
- tms7000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal, uint32_t info_flags);
+ tms7000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal, uint32_t info_flags);
// device-level overrides
virtual void device_start() override;
@@ -275,14 +275,14 @@ protected:
class tms7020_device : public tms7000_device
{
public:
- tms7020_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms7020_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms7020_exl_device : public tms7000_device
{
public:
- tms7020_exl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms7020_exl_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void execute_one(uint8_t op) override;
@@ -295,35 +295,35 @@ private:
class tms7040_device : public tms7000_device
{
public:
- tms7040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms7040_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms70c00_device : public tms7000_device
{
public:
- tms70c00_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms70c00_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms70c20_device : public tms7000_device
{
public:
- tms70c20_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms70c20_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms70c40_device : public tms7000_device
{
public:
- tms70c40_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms70c40_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms70c46_device : public tms7000_device
{
public:
- tms70c46_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms70c46_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint8_t control_r();
void control_w(uint8_t data);
@@ -351,28 +351,28 @@ private:
class tms7001_device : public tms7000_device
{
public:
- tms7001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms7001_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms7041_device : public tms7000_device
{
public:
- tms7041_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms7041_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms7002_device : public tms7000_device
{
public:
- tms7002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms7002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class tms7042_device : public tms7000_device
{
public:
- tms7042_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms7042_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tms9900/ti990_10.cpp b/src/devices/cpu/tms9900/ti990_10.cpp
index 99cf65dfb0b..18ac7da0b32 100644
--- a/src/devices/cpu/tms9900/ti990_10.cpp
+++ b/src/devices/cpu/tms9900/ti990_10.cpp
@@ -43,7 +43,7 @@
twice their number. Accordingly, the TMS9900 has a CRU bitmask 0x0fff.
****************************************************************************/
-ti990_10_device::ti990_10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ti990_10_device::ti990_10_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, TI990_10, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, 16, 21),
m_io_config("cru", ENDIANNESS_BIG, 8, 12),
diff --git a/src/devices/cpu/tms9900/ti990_10.h b/src/devices/cpu/tms9900/ti990_10.h
index 93d3ecec4a0..3f0587af544 100644
--- a/src/devices/cpu/tms9900/ti990_10.h
+++ b/src/devices/cpu/tms9900/ti990_10.h
@@ -16,7 +16,7 @@
class ti990_10_device : public cpu_device
{
public:
- ti990_10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ti990_10_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
~ti990_10_device();
protected:
diff --git a/src/devices/cpu/tms9900/tms9900.cpp b/src/devices/cpu/tms9900/tms9900.cpp
index 6f9ef5f7926..eeeb15150a4 100644
--- a/src/devices/cpu/tms9900/tms9900.cpp
+++ b/src/devices/cpu/tms9900/tms9900.cpp
@@ -156,7 +156,7 @@ enum
twice their number. Accordingly, the TMS9900 has a CRU bitmask 0x0fff.
****************************************************************************/
-tms99xx_device::tms99xx_device(const machine_config &mconfig, device_type type, const char *tag, int data_width, int prg_addr_bits, int cru_addr_bits, device_t *owner, uint32_t clock)
+tms99xx_device::tms99xx_device(const machine_config &mconfig, device_type type, const char *tag, int data_width, int prg_addr_bits, int cru_addr_bits, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, data_width, prg_addr_bits),
m_setaddress_config("setaddress", ENDIANNESS_BIG, data_width, prg_addr_bits), // choose the same width as the program space
@@ -185,7 +185,7 @@ tms99xx_device::~tms99xx_device()
Constructor for TMS9900
****************************************************************************/
-tms9900_device::tms9900_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms9900_device::tms9900_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms99xx_device(mconfig, TMS9900, tag, 16, 16, 12, owner, clock)
{
}
diff --git a/src/devices/cpu/tms9900/tms9900.h b/src/devices/cpu/tms9900/tms9900.h
index 1be5e10f679..5d7e094d48d 100644
--- a/src/devices/cpu/tms9900/tms9900.h
+++ b/src/devices/cpu/tms9900/tms9900.h
@@ -64,7 +64,7 @@ public:
protected:
tms99xx_device(const machine_config &mconfig, device_type type,
const char *tag, int data_width, int prg_addr_bits, int cru_addr_bits,
- device_t *owner, uint32_t clock);
+ device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -386,7 +386,7 @@ private:
class tms9900_device : public tms99xx_device
{
public:
- tms9900_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms9900_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/tms9900/tms9980a.cpp b/src/devices/cpu/tms9900/tms9980a.cpp
index d30dda66ae2..91cb8750481 100644
--- a/src/devices/cpu/tms9900/tms9980a.cpp
+++ b/src/devices/cpu/tms9900/tms9980a.cpp
@@ -80,17 +80,17 @@
/****************************************************************************
Constructor
****************************************************************************/
-tms9980a_device::tms9980a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+tms9980a_device::tms9980a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: tms99xx_device(mconfig, type, tag, 8, 14, 11, owner, clock)
{
}
-tms9980a_device::tms9980a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms9980a_device::tms9980a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms9980a_device(mconfig, TMS9980A, tag, owner, clock)
{
}
-tms9981_device::tms9981_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms9981_device::tms9981_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms9980a_device(mconfig, TMS9981, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/tms9900/tms9980a.h b/src/devices/cpu/tms9900/tms9980a.h
index 9210007a5ec..88e35eb0693 100644
--- a/src/devices/cpu/tms9900/tms9980a.h
+++ b/src/devices/cpu/tms9900/tms9980a.h
@@ -26,10 +26,10 @@ enum
class tms9980a_device : public tms99xx_device
{
public:
- tms9980a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms9980a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- tms9980a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ tms9980a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
void mem_read(void) override;
void mem_write(void) override;
@@ -58,7 +58,7 @@ protected:
class tms9981_device : public tms9980a_device
{
public:
- tms9981_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms9981_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
// device type definition
diff --git a/src/devices/cpu/tms9900/tms9995.cpp b/src/devices/cpu/tms9900/tms9995.cpp
index c1b07bcbc70..103d78186a5 100644
--- a/src/devices/cpu/tms9900/tms9995.cpp
+++ b/src/devices/cpu/tms9900/tms9995.cpp
@@ -157,13 +157,13 @@ constexpr int tms9995_device::AS_SETADDRESS;
Constructor
****************************************************************************/
-tms9995_device::tms9995_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tms9995_device::tms9995_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms9995_device(mconfig, TMS9995, tag, owner, clock)
{
m_mp9537 = false;
}
-tms9995_device::tms9995_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+tms9995_device::tms9995_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, type, tag, owner, clock),
m_state_any(0),
PC(0),
diff --git a/src/devices/cpu/tms9900/tms9995.h b/src/devices/cpu/tms9900/tms9995.h
index 8022ca74459..7eb767d4b4e 100644
--- a/src/devices/cpu/tms9900/tms9995.h
+++ b/src/devices/cpu/tms9900/tms9995.h
@@ -31,7 +31,7 @@ class tms9995_device : public cpu_device
public:
static constexpr int AS_SETADDRESS = 4;
- tms9995_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms9995_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// READY input line. When asserted (high), the memory is ready for data exchange.
// We chose to use a direct method instead of a delegate to keep performance
@@ -60,7 +60,7 @@ public:
void set_overflow_interrupt( int enable ) { m_check_overflow = (enable!=0); }
protected:
- tms9995_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ tms9995_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -410,7 +410,7 @@ private:
class tms9995_mp9537_device : public tms9995_device
{
public:
- tms9995_mp9537_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ tms9995_mp9537_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tms9995_device(mconfig, TMS9995_MP9537, tag, owner, clock)
{
m_mp9537 = true;
diff --git a/src/devices/cpu/tx0/tx0.cpp b/src/devices/cpu/tx0/tx0.cpp
index 2a7b0c3775b..7add2254e58 100644
--- a/src/devices/cpu/tx0/tx0.cpp
+++ b/src/devices/cpu/tx0/tx0.cpp
@@ -46,7 +46,7 @@ DEFINE_DEVICE_TYPE(TX0_8KW_OLD, tx0_8kwo_device, "tx0_8kwo_cpu", "MIT Lincoln La
DEFINE_DEVICE_TYPE(TX0_64KW, tx0_64kw_device, "tx0_64kw_cpu", "MIT Lincoln Laboratory TX-0 64KW")
-tx0_device::tx0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int addr_bits, int address_mask, int ir_mask)
+tx0_device::tx0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addr_bits, int address_mask, int ir_mask)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 32, addr_bits , -2), m_mbr(0), m_ac(0), m_mar(0), m_pc(0), m_ir(0), m_lr(0), m_xr(0), m_pf(0), m_tbr(0), m_tac(0), m_cm_sel(0)
, m_lr_sel(0), m_gbl_cm_sel(0), m_stop_cyc0(0), m_stop_cyc1(0), m_run(0), m_rim(0), m_cycle(0), m_ioh(0), m_ios(0), m_rim_step(0)
@@ -66,23 +66,23 @@ tx0_device::tx0_device(const machine_config &mconfig, device_type type, const ch
m_program_config.m_is_octal = true;
}
-tx0_8kw_device::tx0_8kw_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+tx0_8kw_device::tx0_8kw_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: tx0_device(mconfig, type, tag, owner, clock, 13, ADDRESS_MASK_8KW, 037)
{
}
-tx0_8kw_device::tx0_8kw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tx0_8kw_device::tx0_8kw_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tx0_8kw_device(mconfig, TX0_8KW, tag, owner, clock)
{
}
-tx0_8kwo_device::tx0_8kwo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tx0_8kwo_device::tx0_8kwo_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tx0_8kw_device(mconfig, TX0_8KW_OLD, tag, owner, clock)
{
}
-tx0_64kw_device::tx0_64kw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tx0_64kw_device::tx0_64kw_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: tx0_device(mconfig, TX0_64KW, tag, owner, clock, 16, ADDRESS_MASK_64KW, 03)
{
}
diff --git a/src/devices/cpu/tx0/tx0.h b/src/devices/cpu/tx0/tx0.h
index 8c57c08e8f7..0ff15127e44 100644
--- a/src/devices/cpu/tx0/tx0.h
+++ b/src/devices/cpu/tx0/tx0.h
@@ -41,7 +41,7 @@ public:
protected:
// construction/destruction
- tx0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int addr_bits, int address_mask, int ir_mask);
+ tx0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addr_bits, int address_mask, int ir_mask);
// device-level overrides
virtual void device_start() override;
@@ -133,7 +133,7 @@ public:
tx0_8kw_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock);
protected:
- tx0_8kw_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ tx0_8kw_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
virtual void execute_run() override;
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
diff --git a/src/devices/cpu/ucom4/ucom4.cpp b/src/devices/cpu/ucom4/ucom4.cpp
index ade42ba1e12..45c9575cce1 100644
--- a/src/devices/cpu/ucom4/ucom4.cpp
+++ b/src/devices/cpu/ucom4/ucom4.cpp
@@ -64,7 +64,7 @@ void ucom4_cpu_device::data_96x4(address_map &map)
// device definitions
-ucom4_cpu_device::ucom4_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int family, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data)
+ucom4_cpu_device::ucom4_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int family, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, prgwidth, 0, program)
, m_data_config("data", ENDIANNESS_BIG, 8, datawidth, 0, data)
@@ -86,27 +86,27 @@ ucom4_cpu_device::ucom4_cpu_device(const machine_config &mconfig, device_type ty
{
}
-upd546_cpu_device::upd546_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd546_cpu_device::upd546_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ucom4_cpu_device(mconfig, NEC_D546, tag, owner, clock, NEC_UCOM43, 3 /* stack levels */, 11 /* prg width */, address_map_constructor(FUNC(upd546_cpu_device::program_2k), this), 7 /* data width */, address_map_constructor(FUNC(upd546_cpu_device::data_96x4), this))
{
}
-upd553_cpu_device::upd553_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd553_cpu_device::upd553_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ucom4_cpu_device(mconfig, NEC_D553, tag, owner, clock, NEC_UCOM43, 3, 11, address_map_constructor(FUNC(upd553_cpu_device::program_2k), this), 7, address_map_constructor(FUNC(upd553_cpu_device::data_96x4), this))
{
}
-upd557l_cpu_device::upd557l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd557l_cpu_device::upd557l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ucom4_cpu_device(mconfig, NEC_D557L, tag, owner, clock, NEC_UCOM43, 3, 11, address_map_constructor(FUNC(upd557l_cpu_device::program_2k), this), 7, address_map_constructor(FUNC(upd557l_cpu_device::data_96x4), this))
{
}
-upd650_cpu_device::upd650_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd650_cpu_device::upd650_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ucom4_cpu_device(mconfig, NEC_D650, tag, owner, clock, NEC_UCOM43, 3, 11, address_map_constructor(FUNC(upd650_cpu_device::program_2k), this), 7, address_map_constructor(FUNC(upd650_cpu_device::data_96x4), this))
{
}
-upd552_cpu_device::upd552_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd552_cpu_device::upd552_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ucom4_cpu_device(mconfig, NEC_D552, tag, owner, clock, NEC_UCOM44, 1, 10, address_map_constructor(FUNC(upd552_cpu_device::program_1k), this), 6, address_map_constructor(FUNC(upd552_cpu_device::data_64x4), this))
{
}
diff --git a/src/devices/cpu/ucom4/ucom4.h b/src/devices/cpu/ucom4/ucom4.h
index 29b766b5cd4..5111c8a0880 100644
--- a/src/devices/cpu/ucom4/ucom4.h
+++ b/src/devices/cpu/ucom4/ucom4.h
@@ -81,7 +81,7 @@ protected:
};
// construction/destruction
- ucom4_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int family, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+ ucom4_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int family, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
// device-level overrides
virtual void device_start() override;
@@ -269,21 +269,21 @@ protected:
class upd546_cpu_device : public ucom4_cpu_device
{
public:
- upd546_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd546_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class upd553_cpu_device : public ucom4_cpu_device
{
public:
- upd553_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd553_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class upd557l_cpu_device : public ucom4_cpu_device
{
public:
- upd557l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd557l_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual u8 input_r(int index) override;
@@ -294,14 +294,14 @@ protected:
class upd650_cpu_device : public ucom4_cpu_device
{
public:
- upd650_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd650_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class upd552_cpu_device : public ucom4_cpu_device
{
public:
- upd552_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd552_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/unsp/unsp.cpp b/src/devices/cpu/unsp/unsp.cpp
index f0c0b929454..76b871bfd40 100644
--- a/src/devices/cpu/unsp/unsp.cpp
+++ b/src/devices/cpu/unsp/unsp.cpp
@@ -35,7 +35,7 @@ DEFINE_DEVICE_TYPE(UNSP_20, unsp_20_device, "unsp_20", "SunPlus u'nSP (ISA 2.0)"
/* size of the execution code cache */
#define CACHE_SIZE (64 * 1024 * 1024)
-unsp_device::unsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal)
+unsp_device::unsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal)
: cpu_device(mconfig, type, tag, owner, clock)
, m_core(nullptr)
, m_program_config("program", ENDIANNESS_BIG, 16, 23, -1, internal)
@@ -63,21 +63,21 @@ unsp_device::unsp_device(const machine_config &mconfig, device_type type, const
m_numregs = 8;
}
-unsp_device::unsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+unsp_device::unsp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: unsp_device(mconfig, UNSP, tag, owner, clock, address_map_constructor())
{
m_iso = 10;
m_numregs = 8;
}
-unsp_11_device::unsp_11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+unsp_11_device::unsp_11_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: unsp_device(mconfig, UNSP_11, tag, owner, clock, address_map_constructor())
{
m_iso = 11;
m_numregs = 8;
}
-unsp_11_device::unsp_11_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal)
+unsp_11_device::unsp_11_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal)
: unsp_device(mconfig, type, tag, owner, clock, internal)
{
m_iso = 11;
@@ -85,28 +85,28 @@ unsp_11_device::unsp_11_device(const machine_config &mconfig, device_type type,
}
-unsp_12_device::unsp_12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+unsp_12_device::unsp_12_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: unsp_11_device(mconfig, UNSP_12, tag, owner, clock, address_map_constructor())
{
m_iso = 12;
m_numregs = 8;
}
-unsp_12_device::unsp_12_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal)
+unsp_12_device::unsp_12_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal)
: unsp_11_device(mconfig, type, tag, owner, clock, internal)
{
m_iso = 12;
m_numregs = 8;
}
-unsp_20_device::unsp_20_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+unsp_20_device::unsp_20_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: unsp_12_device(mconfig, UNSP_20, tag, owner, clock, address_map_constructor())
{
m_iso = 20;
m_numregs = 16;
}
-unsp_20_device::unsp_20_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal)
+unsp_20_device::unsp_20_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal)
: unsp_12_device(mconfig, type, tag, owner, clock, internal)
{
m_iso = 20;
diff --git a/src/devices/cpu/unsp/unsp.h b/src/devices/cpu/unsp/unsp.h
index 010720adeec..6e6c6542be5 100644
--- a/src/devices/cpu/unsp/unsp.h
+++ b/src/devices/cpu/unsp/unsp.h
@@ -96,7 +96,7 @@ class unsp_device : public cpu_device
public:
// construction/destruction
- unsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ unsp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual ~unsp_device();
void set_vectorbase(uint16_t vector) { m_vectorbase = vector; }
@@ -121,7 +121,7 @@ public:
void cfunc_muls();
protected:
- unsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal);
+ unsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal);
// device-level overrides
virtual void device_start() override;
@@ -358,10 +358,10 @@ class unsp_11_device : public unsp_device
{
public:
// construction/destruction
- unsp_11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ unsp_11_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- unsp_11_device(const machine_config& mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal);
+ unsp_11_device(const machine_config& mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal);
private:
};
@@ -370,10 +370,10 @@ class unsp_12_device : public unsp_11_device
{
public:
// construction/destruction
- unsp_12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ unsp_12_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- unsp_12_device(const machine_config& mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal);
+ unsp_12_device(const machine_config& mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal);
virtual void execute_fxxx_101_group(uint16_t op) override;
virtual void execute_exxx_group(uint16_t op) override;
@@ -387,10 +387,10 @@ class unsp_20_device : public unsp_12_device
{
public:
// construction/destruction
- unsp_20_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ unsp_20_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- unsp_20_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal);
+ unsp_20_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal);
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
virtual void execute_extended_group(uint16_t op) override;
diff --git a/src/devices/cpu/upd7725/upd7725.cpp b/src/devices/cpu/upd7725/upd7725.cpp
index 51c2faf3b6a..09bf25cc21b 100644
--- a/src/devices/cpu/upd7725/upd7725.cpp
+++ b/src/devices/cpu/upd7725/upd7725.cpp
@@ -24,7 +24,7 @@
DEFINE_DEVICE_TYPE(UPD7725, upd7725_device, "upd7725", "NEC uPD7725")
DEFINE_DEVICE_TYPE(UPD96050, upd96050_device, "upd96050", "NEC uPD96050")
-necdsp_device::necdsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t abits, uint32_t dbits)
+necdsp_device::necdsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t abits, uint32_t dbits)
: cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, 32, abits, -2), // data bus width, address bus width, -2 means DWORD-addressable
m_data_config("data", ENDIANNESS_BIG, 16, dbits, -1), m_icount(0), // -1 for WORD-addressable
@@ -45,12 +45,12 @@ necdsp_device::necdsp_device(const machine_config &mconfig, device_type type, co
}
-upd7725_device::upd7725_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd7725_device::upd7725_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: necdsp_device(mconfig, UPD7725, tag, owner, clock, 11, 11)
{
}
-upd96050_device::upd96050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd96050_device::upd96050_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: necdsp_device(mconfig, UPD96050, tag, owner, clock, 14, 12)
{
}
diff --git a/src/devices/cpu/upd7725/upd7725.h b/src/devices/cpu/upd7725/upd7725.h
index ed17af002eb..fcd5fe8d473 100644
--- a/src/devices/cpu/upd7725/upd7725.h
+++ b/src/devices/cpu/upd7725/upd7725.h
@@ -41,7 +41,7 @@ public:
protected:
// construction/destruction
- necdsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t abits, uint32_t dbits);
+ necdsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t abits, uint32_t dbits);
// device-level overrides
virtual void device_start() override;
@@ -166,14 +166,14 @@ class upd7725_device : public necdsp_device
{
public:
// construction/destruction
- upd7725_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd7725_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class upd96050_device : public necdsp_device
{
public:
// construction/destruction
- upd96050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd96050_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
uint16_t dataram_r(uint16_t addr) { return dataRAM[addr]; }
void dataram_w(uint16_t addr, uint16_t data) { dataRAM[addr] = data; }
diff --git a/src/devices/cpu/upd7810/upd7810.cpp b/src/devices/cpu/upd7810/upd7810.cpp
index 929070e61fc..8569fa4ab04 100644
--- a/src/devices/cpu/upd7810/upd7810.cpp
+++ b/src/devices/cpu/upd7810/upd7810.cpp
@@ -404,7 +404,7 @@ void upd7810_device::upd_internal_4096_rom_256_ram_map(address_map &map)
map(0xff00, 0xffff).ram();
}
-upd7810_device::upd7810_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map)
+upd7810_device::upd7810_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_to_func(*this)
, m_co0_func(*this)
@@ -444,17 +444,17 @@ void upd7810_device::configure_ops()
m_op74 = s_op74;
}
-upd7810_device::upd7810_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd7810_device::upd7810_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd7810_device(mconfig, UPD7810, tag, owner, clock, address_map_constructor(FUNC(upd7810_device::upd_internal_256_ram_map), this))
{
}
-upd78c10_device::upd78c10_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map)
+upd78c10_device::upd78c10_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map)
: upd7810_device(mconfig, type, tag, owner, clock, internal_map)
{
}
-upd78c10_device::upd78c10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd78c10_device::upd78c10_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78c10_device(mconfig, UPD78C10, tag, owner, clock, address_map_constructor(FUNC(upd78c10_device::upd_internal_256_ram_map), this))
{
}
@@ -472,7 +472,7 @@ void upd7807_device::configure_ops()
}
-upd7807_device::upd7807_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd7807_device::upd7807_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd7810_device(mconfig, UPD7807, tag, owner, clock, address_map_constructor(FUNC(upd7807_device::upd_internal_256_ram_map), this))
{
}
@@ -489,7 +489,7 @@ void upd7801_device::configure_ops()
m_opXX = s_opXX_7801;
}
-upd7801_device::upd7801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd7801_device::upd7801_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd7810_device(mconfig, UPD7801, tag, owner, clock, address_map_constructor(FUNC(upd7801_device::upd_internal_128_ram_map), this))
{
}
@@ -506,12 +506,12 @@ void upd78c05_device::configure_ops()
m_opXX = s_opXX_78c05;
}
-upd78c05_device::upd78c05_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map)
+upd78c05_device::upd78c05_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map)
: upd7810_device(mconfig, type, tag, owner, clock, internal_map)
{
}
-upd78c05_device::upd78c05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd78c05_device::upd78c05_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78c05_device(mconfig, UPD78C05, tag, owner, clock, address_map_constructor(FUNC(upd78c05_device::upd_internal_128_ram_map), this))
{
}
@@ -528,7 +528,7 @@ void upd78c06_device::configure_ops()
m_opXX = s_opXX_78c06;
}
-upd78c06_device::upd78c06_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd78c06_device::upd78c06_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78c05_device(mconfig, UPD78C06, tag, owner, clock, address_map_constructor(FUNC(upd78c06_device::upd_internal_4096_rom_128_ram_map), this))
{
}
diff --git a/src/devices/cpu/upd7810/upd7810.h b/src/devices/cpu/upd7810/upd7810.h
index 40e4b89ff87..0f21e429311 100644
--- a/src/devices/cpu/upd7810/upd7810.h
+++ b/src/devices/cpu/upd7810/upd7810.h
@@ -41,7 +41,7 @@ class upd7810_device : public cpu_device
{
public:
// construction/destruction
- upd7810_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd7810_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto to_func() { return m_to_func.bind(); }
@@ -131,7 +131,7 @@ protected:
INTSB = 0x0010
};
- upd7810_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map);
+ upd7810_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map);
// device-level overrides
virtual void device_start() override;
@@ -1356,10 +1356,10 @@ class upd78c10_device : public upd7810_device
{
public:
// construction/destruction
- upd78c10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd78c10_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- upd78c10_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map);
+ upd78c10_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map);
};
@@ -1367,7 +1367,7 @@ class upd7807_device : public upd7810_device
{
public:
// construction/destruction
- upd7807_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd7807_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -1379,7 +1379,7 @@ class upd7801_device : public upd7810_device
{
public:
// construction/destruction
- upd7801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd7801_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
virtual void device_reset() override;
@@ -1397,10 +1397,10 @@ class upd78c05_device : public upd7810_device
{
public:
// construction/destruction
- upd78c05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd78c05_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- upd78c05_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map);
+ upd78c05_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor internal_map);
virtual void device_start() override;
virtual void device_reset() override;
@@ -1416,7 +1416,7 @@ class upd78c06_device : public upd78c05_device
{
public:
// construction/destruction
- upd78c06_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd78c06_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
virtual void configure_ops() override;
};
diff --git a/src/devices/cpu/upd7810/upd7811.cpp b/src/devices/cpu/upd7810/upd7811.cpp
index e5105e4f9b7..9da7d65f72c 100644
--- a/src/devices/cpu/upd7810/upd7811.cpp
+++ b/src/devices/cpu/upd7810/upd7811.cpp
@@ -26,12 +26,12 @@
DEFINE_DEVICE_TYPE(UPD7811, upd7811_device, "upd7811", "NEC uPD7811")
DEFINE_DEVICE_TYPE(UPD78C11, upd78c11_device, "upd78c11", "NEC uPD78C11")
-upd7811_device::upd7811_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd7811_device::upd7811_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd7810_device(mconfig, UPD7811, tag, owner, clock, address_map_constructor(FUNC(upd7811_device::upd_internal_4096_rom_256_ram_map), this))
{
}
-upd78c11_device::upd78c11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+upd78c11_device::upd78c11_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78c10_device(mconfig, UPD78C11, tag, owner, clock, address_map_constructor(FUNC(upd78c11_device::upd_internal_4096_rom_256_ram_map), this))
{
}
diff --git a/src/devices/cpu/upd7810/upd7811.h b/src/devices/cpu/upd7810/upd7811.h
index 2d98f64da5f..bac8854a871 100644
--- a/src/devices/cpu/upd7810/upd7811.h
+++ b/src/devices/cpu/upd7810/upd7811.h
@@ -15,14 +15,14 @@ class upd7811_device : public upd7810_device
{
public:
// construction/destruction
- upd7811_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd7811_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class upd78c11_device : public upd78c10_device
{
public:
// construction/destruction
- upd78c11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ upd78c11_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
#endif // MAME_CPU_UPD7810_UPD7811_H
diff --git a/src/devices/cpu/upd78k/upd78k0.cpp b/src/devices/cpu/upd78k/upd78k0.cpp
index f1f48402226..b909b681a35 100644
--- a/src/devices/cpu/upd78k/upd78k0.cpp
+++ b/src/devices/cpu/upd78k/upd78k0.cpp
@@ -23,7 +23,7 @@ DEFINE_DEVICE_TYPE(UPD78053, upd78053_device, "upd78053", "NEC uPD78053")
// upd78k0_device - constructor
//-------------------------------------------------
-upd78k0_device::upd78k0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 iram_size, address_map_constructor mem_map, address_map_constructor sfr_map)
+upd78k0_device::upd78k0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 iram_size, address_map_constructor mem_map, address_map_constructor sfr_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0, mem_map)
, m_iram_config("iram", ENDIANNESS_LITTLE, 16, iram_size > 0x200 ? 10 : iram_size > 0x100 ? 9 : 8, 0,
@@ -192,7 +192,7 @@ void upd78k0_device::state_string_export(const device_state_entry &entry, std::s
// upd78053_device - constructor
//-------------------------------------------------
-upd78053_device::upd78053_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd78053_device::upd78053_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78k0_device(mconfig, UPD78053, tag, owner, clock, 0x400,
address_map_constructor(FUNC(upd78053_device::mem_map), this),
address_map_constructor(FUNC(upd78053_device::sfr_map), this))
diff --git a/src/devices/cpu/upd78k/upd78k0.h b/src/devices/cpu/upd78k/upd78k0.h
index 566dfab340f..7fb6feb8597 100644
--- a/src/devices/cpu/upd78k/upd78k0.h
+++ b/src/devices/cpu/upd78k/upd78k0.h
@@ -29,11 +29,11 @@ public:
};
// configuration (TODO: callbacks)
- void set_subclock(u32 clock) { m_subclock = clock; }
+ void set_subclock(const XTAL &clock) { m_subclock = clock; }
void set_subclock(const XTAL &xtal) { m_subclock = xtal.value(); }
protected:
- upd78k0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 iram_size, address_map_constructor mem_map, address_map_constructor sfr_map);
+ upd78k0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u16 iram_size, address_map_constructor mem_map, address_map_constructor sfr_map);
// device-level overrides
virtual void device_start() override;
@@ -83,9 +83,9 @@ class upd78053_device : public upd78k0_device
{
public:
// device type constructors
- upd78053_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd78053_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
template <typename X>
- upd78053_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, X &&subclock)
+ upd78053_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, X &&subclock)
: upd78053_device(mconfig, tag, owner, clock)
{
set_subclock(std::forward<X>(subclock));
diff --git a/src/devices/cpu/upd78k/upd78k2.cpp b/src/devices/cpu/upd78k/upd78k2.cpp
index b8c784e20e8..5915b057698 100644
--- a/src/devices/cpu/upd78k/upd78k2.cpp
+++ b/src/devices/cpu/upd78k/upd78k2.cpp
@@ -24,7 +24,7 @@ DEFINE_DEVICE_TYPE(UPD78213, upd78213_device, "upd78213", "NEC uPD78213")
// upd78k2_device - constructor
//-------------------------------------------------
-upd78k2_device::upd78k2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int iram_bits, address_map_constructor mem_map, address_map_constructor sfr_map)
+upd78k2_device::upd78k2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int iram_bits, address_map_constructor mem_map, address_map_constructor sfr_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 20, 0, mem_map)
, m_iram_config("iram", ENDIANNESS_LITTLE, 16, iram_bits, 0, address_map_constructor(FUNC(upd78k2_device::iram_map), this))
@@ -175,7 +175,7 @@ void upd78k2_device::state_string_export(const device_state_entry &entry, std::s
// upd78210_device - constructor
//-------------------------------------------------
-upd78210_device::upd78210_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd78210_device::upd78210_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78k2_device(mconfig, UPD78210, tag, owner, clock, 7,
address_map_constructor(),
address_map_constructor(FUNC(upd78210_device::sfr_map), this))
@@ -207,7 +207,7 @@ void upd78210_device::sfr_map(address_map &map)
// upd78213_device - constructor
//-------------------------------------------------
-upd78213_device::upd78213_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd78213_device::upd78213_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78k2_device(mconfig, UPD78213, tag, owner, clock, 8,
address_map_constructor(FUNC(upd78213_device::mem_map), this),
address_map_constructor(FUNC(upd78213_device::sfr_map), this))
diff --git a/src/devices/cpu/upd78k/upd78k2.h b/src/devices/cpu/upd78k/upd78k2.h
index c0a8e07b825..f2391873410 100644
--- a/src/devices/cpu/upd78k/upd78k2.h
+++ b/src/devices/cpu/upd78k/upd78k2.h
@@ -32,7 +32,7 @@ public:
// TODO: callbacks and configuration thereof
protected:
- upd78k2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int iram_bits, address_map_constructor mem_map, address_map_constructor sfr_map);
+ upd78k2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int iram_bits, address_map_constructor mem_map, address_map_constructor sfr_map);
// device-level overrides
virtual void device_start() override;
@@ -80,7 +80,7 @@ class upd78210_device : public upd78k2_device
{
public:
// device type constructor
- upd78210_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd78210_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
@@ -97,7 +97,7 @@ class upd78213_device : public upd78k2_device
{
public:
// device type constructor
- upd78213_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd78213_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
diff --git a/src/devices/cpu/upd78k/upd78k3.cpp b/src/devices/cpu/upd78k/upd78k3.cpp
index e4a4a6daae5..e548bbbc010 100644
--- a/src/devices/cpu/upd78k/upd78k3.cpp
+++ b/src/devices/cpu/upd78k/upd78k3.cpp
@@ -24,7 +24,7 @@ DEFINE_DEVICE_TYPE(UPD78312, upd78312_device, "upd78312", "NEC uPD78312")
// upd78k3_device - constructor
//-------------------------------------------------
-upd78k3_device::upd78k3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor mem_map, address_map_constructor sfr_map)
+upd78k3_device::upd78k3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor mem_map, address_map_constructor sfr_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0, mem_map)
, m_iram_config("iram", ENDIANNESS_LITTLE, 16, 8, 0, address_map_constructor(FUNC(upd78k3_device::iram_map), this))
@@ -264,12 +264,12 @@ void upd78k3_device::state_string_export(const device_state_entry &entry, std::s
// upd78312_device - constructor
//-------------------------------------------------
-upd78312_device::upd78312_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd78312_device::upd78312_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78312_device(mconfig, UPD78312, tag, owner, clock, address_map_constructor(FUNC(upd78312_device::mem_map), this))
{
}
-upd78312_device::upd78312_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map)
+upd78312_device::upd78312_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map)
: upd78k3_device(mconfig, type, tag, owner, clock, map,
address_map_constructor(FUNC(upd78312_device::sfr_map), this))
{
@@ -280,7 +280,7 @@ upd78312_device::upd78312_device(const machine_config &mconfig, device_type type
// upd78310_device - constructor
//-------------------------------------------------
-upd78310_device::upd78310_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd78310_device::upd78310_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78312_device(mconfig, UPD78310, tag, owner, clock, address_map_constructor())
{
}
diff --git a/src/devices/cpu/upd78k/upd78k3.h b/src/devices/cpu/upd78k/upd78k3.h
index 22867376847..e8c2f8002fb 100644
--- a/src/devices/cpu/upd78k/upd78k3.h
+++ b/src/devices/cpu/upd78k/upd78k3.h
@@ -39,7 +39,7 @@ public:
// TODO: callbacks and configuration thereof
protected:
- upd78k3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor mem_map, address_map_constructor sfr_map);
+ upd78k3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor mem_map, address_map_constructor sfr_map);
// device-level overrides
virtual void device_start() override;
@@ -96,10 +96,10 @@ class upd78312_device : public upd78k3_device
{
public:
// device type constructor
- upd78312_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd78312_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- upd78312_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map);
+ upd78312_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor map);
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
@@ -122,7 +122,7 @@ class upd78310_device : public upd78312_device
{
public:
// device type constructor
- upd78310_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd78310_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
// device type declarations
diff --git a/src/devices/cpu/upd78k/upd78k4.cpp b/src/devices/cpu/upd78k/upd78k4.cpp
index 0aad7b0660a..1ef4438a76d 100644
--- a/src/devices/cpu/upd78k/upd78k4.cpp
+++ b/src/devices/cpu/upd78k/upd78k4.cpp
@@ -23,7 +23,7 @@ DEFINE_DEVICE_TYPE(UPD784031, upd784031_device, "upd784031", "NEC uPD784031")
// upd78k4_device - constructor
//-------------------------------------------------
-upd78k4_device::upd78k4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor mem_map, address_map_constructor sfr_map)
+upd78k4_device::upd78k4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor mem_map, address_map_constructor sfr_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 20, 0, mem_map)
, m_iram_config("iram", ENDIANNESS_LITTLE, 16, 9, 0, address_map_constructor(FUNC(upd78k4_device::iram_map), this))
@@ -234,7 +234,7 @@ void upd78k4_device::state_string_export(const device_state_entry &entry, std::s
// upd784031_device - constructor
//-------------------------------------------------
-upd784031_device::upd784031_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+upd784031_device::upd784031_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: upd78k4_device(mconfig, UPD784031, tag, owner, clock,
address_map_constructor(FUNC(upd784031_device::sfr_map), this),
address_map_constructor(FUNC(upd784031_device::sfr_map), this))
diff --git a/src/devices/cpu/upd78k/upd78k4.h b/src/devices/cpu/upd78k/upd78k4.h
index 435600b563c..1c2e12830f8 100644
--- a/src/devices/cpu/upd78k/upd78k4.h
+++ b/src/devices/cpu/upd78k/upd78k4.h
@@ -41,7 +41,7 @@ public:
// TODO: callbacks and configuration thereof
protected:
- upd78k4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor mem_map, address_map_constructor sfr_map);
+ upd78k4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor mem_map, address_map_constructor sfr_map);
// device-level overrides
virtual void device_start() override;
@@ -92,7 +92,7 @@ class upd784031_device : public upd78k4_device
{
public:
// device type constructor
- upd784031_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ upd784031_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
diff --git a/src/devices/cpu/v30mz/v30mz.cpp b/src/devices/cpu/v30mz/v30mz.cpp
index 93c7ad1440e..358450e9583 100644
--- a/src/devices/cpu/v30mz/v30mz.cpp
+++ b/src/devices/cpu/v30mz/v30mz.cpp
@@ -75,7 +75,7 @@ enum nec_irqs {
DEFINE_DEVICE_TYPE(V30MZ, v30mz_cpu_device, "v30mz", "NEC V30MZ")
-v30mz_cpu_device::v30mz_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v30mz_cpu_device::v30mz_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, V30MZ, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 16, 20, 0)
, m_io_config("io", ENDIANNESS_LITTLE, 16, 16, 0)
diff --git a/src/devices/cpu/v30mz/v30mz.h b/src/devices/cpu/v30mz/v30mz.h
index f194fba269c..e352feb7833 100644
--- a/src/devices/cpu/v30mz/v30mz.h
+++ b/src/devices/cpu/v30mz/v30mz.h
@@ -22,7 +22,7 @@ class v30mz_cpu_device : public cpu_device, public nec_disassembler::config
{
public:
// construction/destruction
- v30mz_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v30mz_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto vector_cb() { return m_vector_func.bind(); }
uint32_t pc();
diff --git a/src/devices/cpu/v60/v60.cpp b/src/devices/cpu/v60/v60.cpp
index fdce71f6808..e87fc10d999 100644
--- a/src/devices/cpu/v60/v60.cpp
+++ b/src/devices/cpu/v60/v60.cpp
@@ -83,13 +83,13 @@ DEFINE_DEVICE_TYPE(V70, v70_device, "v70", "NEC V70")
// Set m_PIR (Processor ID) for NEC m_ LSB is reserved to NEC,
// so I don't know what it contains.
-v60_device::v60_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v60_device::v60_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v60_device(mconfig, V60, tag, owner, clock, 16, 24, 0x00006000)
{
}
-v60_device::v60_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int databits, int addrbits, uint32_t pir)
+v60_device::v60_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int databits, int addrbits, uint32_t pir)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_io_config("io", ENDIANNESS_LITTLE, 16, 24, 0)
@@ -100,7 +100,7 @@ v60_device::v60_device(const machine_config &mconfig, device_type type, const ch
// Set m_PIR (Processor ID) for NEC v70. LSB is reserved to NEC,
// so I don't know what it contains.
-v70_device::v70_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v70_device::v70_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: v60_device(mconfig, V70, tag, owner, clock, 32, 32, 0x00007000)
{
}
diff --git a/src/devices/cpu/v60/v60.h b/src/devices/cpu/v60/v60.h
index d617ec1bd56..4a6bc4dae9c 100644
--- a/src/devices/cpu/v60/v60.h
+++ b/src/devices/cpu/v60/v60.h
@@ -84,12 +84,12 @@ class v60_device : public cpu_device
{
public:
// construction/destruction
- v60_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v60_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void stall();
protected:
- v60_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int databits, int addrbits, uint32_t pir);
+ v60_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int databits, int addrbits, uint32_t pir);
// device-level overrides
virtual void device_start() override;
@@ -785,7 +785,7 @@ class v70_device : public v60_device
{
public:
// construction/destruction
- v70_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v70_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/v810/v810.cpp b/src/devices/cpu/v810/v810.cpp
index 47a672baf69..c95ffac8262 100644
--- a/src/devices/cpu/v810/v810.cpp
+++ b/src/devices/cpu/v810/v810.cpp
@@ -38,7 +38,7 @@
DEFINE_DEVICE_TYPE(V810, v810_device, "v810", "NEC V810")
-v810_device::v810_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+v810_device::v810_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, V810, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0)
, m_io_config("io", ENDIANNESS_LITTLE, 32, 32, 0)
diff --git a/src/devices/cpu/v810/v810.h b/src/devices/cpu/v810/v810.h
index a24abe48751..7ffe02ef727 100644
--- a/src/devices/cpu/v810/v810.h
+++ b/src/devices/cpu/v810/v810.h
@@ -83,7 +83,7 @@ class v810_device : public cpu_device
{
public:
// construction/destruction
- v810_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ v810_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/vt50/vt50.cpp b/src/devices/cpu/vt50/vt50.cpp
index 7a964c4be5b..ecb4c0ae936 100644
--- a/src/devices/cpu/vt50/vt50.cpp
+++ b/src/devices/cpu/vt50/vt50.cpp
@@ -70,7 +70,7 @@
DEFINE_DEVICE_TYPE(VT50_CPU, vt50_cpu_device, "vt50_cpu", "DEC VT50 CPU")
DEFINE_DEVICE_TYPE(VT52_CPU, vt52_cpu_device, "vt52_cpu", "DEC VT52 CPU")
-vt5x_cpu_device::vt5x_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int bbits, int ybits)
+vt5x_cpu_device::vt5x_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int bbits, int ybits)
: cpu_device(mconfig, type, tag, owner, clock)
, device_video_interface(mconfig, *this)
, m_rom_config("program", ENDIANNESS_LITTLE, 8, 10, 0)
@@ -122,12 +122,12 @@ vt5x_cpu_device::vt5x_cpu_device(const machine_config &mconfig, device_type type
m_ram_config.m_is_octal = true;
}
-vt50_cpu_device::vt50_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+vt50_cpu_device::vt50_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: vt5x_cpu_device(mconfig, VT50_CPU, tag, owner, clock, 4, 4)
{
}
-vt52_cpu_device::vt52_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+vt52_cpu_device::vt52_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: vt5x_cpu_device(mconfig, VT52_CPU, tag, owner, clock, 7, 5)
, m_graphic_callback(*this)
{
diff --git a/src/devices/cpu/vt50/vt50.h b/src/devices/cpu/vt50/vt50.h
index e9d0b39b1bc..ac664b1f318 100644
--- a/src/devices/cpu/vt50/vt50.h
+++ b/src/devices/cpu/vt50/vt50.h
@@ -38,7 +38,7 @@ public:
protected:
// construction/destruction
- vt5x_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int bbits, int ybits);
+ vt5x_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int bbits, int ybits);
// device-level overrides
virtual void device_config_complete() override;
@@ -136,7 +136,7 @@ class vt50_cpu_device : public vt5x_cpu_device
{
public:
// device type constructor
- vt50_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ vt50_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_disasm_interface overrides
@@ -149,7 +149,7 @@ class vt52_cpu_device : public vt5x_cpu_device
{
public:
// device type constructor
- vt52_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ vt52_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto graphic_callback() { return m_graphic_callback.bind(); }
diff --git a/src/devices/cpu/vt61/vt61.cpp b/src/devices/cpu/vt61/vt61.cpp
index 40a98cae7a8..e406c18596b 100644
--- a/src/devices/cpu/vt61/vt61.cpp
+++ b/src/devices/cpu/vt61/vt61.cpp
@@ -18,7 +18,7 @@ DEFINE_DEVICE_TYPE(VT61_CPU, vt61_cpu_device, "vt61_cpu", "DEC VT61 CPU")
ALLOW_SAVE_TYPE(vt61_cpu_device::state);
ALLOW_SAVE_TYPE(vt61_cpu_device::pc_mode);
-vt61_cpu_device::vt61_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+vt61_cpu_device::vt61_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, VT61_CPU, tag, owner, clock)
, m_program_config("microprogram", ENDIANNESS_LITTLE, 16, 10, -1)
, m_memory_config("memory", ENDIANNESS_LITTLE, 8, 16, 0)
diff --git a/src/devices/cpu/vt61/vt61.h b/src/devices/cpu/vt61/vt61.h
index 971343fe095..42372275ad3 100644
--- a/src/devices/cpu/vt61/vt61.h
+++ b/src/devices/cpu/vt61/vt61.h
@@ -27,7 +27,7 @@ public:
};
// construction/destruction
- vt61_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ vt61_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/we32000/we32100.cpp b/src/devices/cpu/we32000/we32100.cpp
index b7f166e5287..bc843eed413 100644
--- a/src/devices/cpu/we32000/we32100.cpp
+++ b/src/devices/cpu/we32000/we32100.cpp
@@ -15,7 +15,7 @@
// device type definitions
DEFINE_DEVICE_TYPE(WE32100, we32100_device, "we32100", "AT&T WE32100")
-we32100_device::we32100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+we32100_device::we32100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, WE32100, tag, owner, clock)
, m_space_config("program", ENDIANNESS_BIG, 32, 32, 0)
, m_r{0}
diff --git a/src/devices/cpu/we32000/we32100.h b/src/devices/cpu/we32000/we32100.h
index c34afc4279e..87a0de81c15 100644
--- a/src/devices/cpu/we32000/we32100.h
+++ b/src/devices/cpu/we32000/we32100.h
@@ -22,7 +22,7 @@ public:
};
// construction/destruction
- we32100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ we32100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/xavix2/xavix2.cpp b/src/devices/cpu/xavix2/xavix2.cpp
index 2f1753b1523..0dc74794862 100644
--- a/src/devices/cpu/xavix2/xavix2.cpp
+++ b/src/devices/cpu/xavix2/xavix2.cpp
@@ -9,7 +9,7 @@ DEFINE_DEVICE_TYPE(XAVIX2, xavix2_device, "xavix2", "Xavix 2 CPU")
const u8 xavix2_device::bpo[8] = { 4, 3, 3, 2, 2, 2, 2, 1 };
-xavix2_device::xavix2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+xavix2_device::xavix2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: cpu_device(mconfig, XAVIX2, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 32, 32)
{
diff --git a/src/devices/cpu/xavix2/xavix2.h b/src/devices/cpu/xavix2/xavix2.h
index 30e9ec5faea..de152204507 100644
--- a/src/devices/cpu/xavix2/xavix2.h
+++ b/src/devices/cpu/xavix2/xavix2.h
@@ -13,7 +13,7 @@
class xavix2_device : public cpu_device
{
public:
- xavix2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ xavix2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
enum {
diff --git a/src/devices/cpu/z180/hd647180x.cpp b/src/devices/cpu/z180/hd647180x.cpp
index cc70b0781a8..e568245f637 100644
--- a/src/devices/cpu/z180/hd647180x.cpp
+++ b/src/devices/cpu/z180/hd647180x.cpp
@@ -31,7 +31,7 @@
// device type definition
DEFINE_DEVICE_TYPE(HD647180X, hd647180x_device, "hd647180x", "Hitachi HD647180X MCU")
-hd647180x_device::hd647180x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd647180x_device::hd647180x_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z180_device(mconfig, HD647180X, tag, owner, clock, true, address_map_constructor(FUNC(hd647180x_device::internal_map), this))
, m_port_input_cb(*this)
, m_port_output_cb(*this)
diff --git a/src/devices/cpu/z180/hd647180x.h b/src/devices/cpu/z180/hd647180x.h
index 22d4212b4af..e5d816b2b1e 100644
--- a/src/devices/cpu/z180/hd647180x.h
+++ b/src/devices/cpu/z180/hd647180x.h
@@ -25,7 +25,7 @@ public:
};
// construction/destruction
- hd647180x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd647180x_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
auto in_pa_callback() { return m_port_input_cb[0].bind(); }
auto in_pb_callback() { return m_port_input_cb[1].bind(); }
diff --git a/src/devices/cpu/z180/z180.cpp b/src/devices/cpu/z180/z180.cpp
index db7b4a3026b..c70c23c3ce6 100644
--- a/src/devices/cpu/z180/z180.cpp
+++ b/src/devices/cpu/z180/z180.cpp
@@ -87,7 +87,7 @@ DEFINE_DEVICE_TYPE(Z8S180, z8s180_device, "z8s180", "Zilog Z8S180") // enhanced
DEFINE_DEVICE_TYPE(Z80182, z80182_device, "z80182", "Zilog Z80182") // further enhanced Z8S180
-z180_device::z180_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool extended_io, address_map_constructor internal_map)
+z180_device::z180_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool extended_io, address_map_constructor internal_map)
: cpu_device(mconfig, type, tag, owner, clock)
, z80_daisy_chain_interface(mconfig, *this)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 20, 0, 16, 12, internal_map)
@@ -114,29 +114,29 @@ std::unique_ptr<util::disasm_interface> z180_device::create_disassembler()
return std::make_unique<z180_disassembler>();
}
-z80180_device::z80180_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z80180_device::z80180_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z180_device(mconfig, Z80180, tag, owner, clock, false, address_map_constructor())
{
}
-hd64180rp_device::hd64180rp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+hd64180rp_device::hd64180rp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z180_device(mconfig, HD64180RP, tag, owner, clock, false, address_map_constructor())
{
// 64-pin DIP versions omit A19
set_address_width(19);
}
-z8s180_device::z8s180_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+z8s180_device::z8s180_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: z180_device(mconfig, type, tag, owner, clock, false, address_map_constructor())
{
}
-z8s180_device::z8s180_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z8s180_device::z8s180_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8s180_device(mconfig, Z8S180, tag, owner, clock)
{
}
-z80182_device::z80182_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z80182_device::z80182_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8s180_device(mconfig, Z80182, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/z180/z180.h b/src/devices/cpu/z180/z180.h
index 62213845b05..8ec6d2af297 100644
--- a/src/devices/cpu/z180/z180.h
+++ b/src/devices/cpu/z180/z180.h
@@ -126,7 +126,7 @@ public:
protected:
// construction/destruction
- z180_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool extended_io, address_map_constructor internal_map);
+ z180_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool extended_io, address_map_constructor internal_map);
// device-level overrides
virtual void device_start() override;
@@ -1810,24 +1810,24 @@ class z80180_device : public z180_device
{
public:
// construction/destruction
- z80180_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z80180_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class hd64180rp_device : public z180_device
{
public:
// construction/destruction
- hd64180rp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ hd64180rp_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class z8s180_device : public z180_device
{
public:
// construction/destruction
- z8s180_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z8s180_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
- z8s180_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ z8s180_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -1851,7 +1851,7 @@ class z80182_device : public z8s180_device
{
public:
// construction/destruction
- z80182_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z80182_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
DECLARE_DEVICE_TYPE(Z80180, z80180_device)
diff --git a/src/devices/cpu/z180/z180asci.cpp b/src/devices/cpu/z180/z180asci.cpp
index 3abf9683bc8..e4f919f01c5 100644
--- a/src/devices/cpu/z180/z180asci.cpp
+++ b/src/devices/cpu/z180/z180asci.cpp
@@ -65,7 +65,7 @@ static constexpr u8 Z180_ASEXT1_MASK = 0x1f;
// z180asci_channel_base
//**************************************************************************
-z180asci_channel_base::z180asci_channel_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const int id, const bool ext)
+z180asci_channel_base::z180asci_channel_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const int id, const bool ext)
: device_t(mconfig, type, tag, owner, clock)
, m_rcv_clock(nullptr)
, m_tra_clock(nullptr)
@@ -580,12 +580,12 @@ void z180asci_channel_base::output_rts(int rts)
// z180asci_channel_0
//**************************************************************************
-z180asci_channel_0::z180asci_channel_0(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const bool ext)
+z180asci_channel_0::z180asci_channel_0(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const bool ext)
: z180asci_channel_base(mconfig, type, tag, owner, clock, 0, ext)
{
}
-z180asci_channel_0::z180asci_channel_0(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z180asci_channel_0::z180asci_channel_0(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z180asci_channel_0(mconfig, Z180ASCI_CHANNEL_0, tag, owner, clock, false)
{
}
@@ -629,12 +629,12 @@ void z180asci_channel_0::asext_w(uint8_t data)
// z180asci_channel_1
//**************************************************************************
-z180asci_channel_1::z180asci_channel_1(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const bool ext)
+z180asci_channel_1::z180asci_channel_1(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const bool ext)
: z180asci_channel_base(mconfig, type, tag, owner, clock, 1, ext)
{
}
-z180asci_channel_1::z180asci_channel_1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z180asci_channel_1::z180asci_channel_1(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z180asci_channel_1(mconfig, Z180ASCI_CHANNEL_1, tag, owner, clock, false)
{
}
@@ -677,7 +677,7 @@ void z180asci_channel_1::asext_w(uint8_t data)
// z180asci_ext_channel_0
//**************************************************************************
-z180asci_ext_channel_0::z180asci_ext_channel_0(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z180asci_ext_channel_0::z180asci_ext_channel_0(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z180asci_channel_0(mconfig, Z180ASCI_EXT_CHANNEL_0, tag, owner, clock, true)
{
}
@@ -686,7 +686,7 @@ z180asci_ext_channel_0::z180asci_ext_channel_0(const machine_config &mconfig, co
// z180asci_channel_1
//**************************************************************************
-z180asci_ext_channel_1::z180asci_ext_channel_1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z180asci_ext_channel_1::z180asci_ext_channel_1(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z180asci_channel_1(mconfig, Z180ASCI_EXT_CHANNEL_1, tag, owner, clock, true)
{
}
diff --git a/src/devices/cpu/z180/z180asci.h b/src/devices/cpu/z180/z180asci.h
index 3794fe635a8..975297cce8f 100644
--- a/src/devices/cpu/z180/z180asci.h
+++ b/src/devices/cpu/z180/z180asci.h
@@ -50,7 +50,7 @@ public:
int check_interrupt() { return m_irq; }
void clear_interrupt() { m_irq = 0; }
protected:
- z180asci_channel_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const int id, const bool ext);
+ z180asci_channel_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const int id, const bool ext);
// device-level overrides
virtual void device_start() override;
@@ -136,13 +136,13 @@ class z180asci_channel_0 : public z180asci_channel_base
{
public:
// construction/destruction
- z180asci_channel_0(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z180asci_channel_0(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void stat_w(uint8_t data) override;
void asext_w(uint8_t data) override;
void state_add(device_state_interface &parent) override;
protected:
- z180asci_channel_0(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const bool ext);
+ z180asci_channel_0(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const bool ext);
// device-level overrides
virtual void device_reset() override;
};
@@ -155,13 +155,13 @@ class z180asci_channel_1 : public z180asci_channel_base
{
public:
// construction/destruction
- z180asci_channel_1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z180asci_channel_1(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void stat_w(uint8_t data) override;
void asext_w(uint8_t data) override;
void state_add(device_state_interface &parent) override;
protected:
- z180asci_channel_1(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const bool ext);
+ z180asci_channel_1(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const bool ext);
// device-level overrides
virtual void device_reset() override;
};
@@ -174,7 +174,7 @@ class z180asci_ext_channel_0 : public z180asci_channel_0
{
public:
// construction/destruction
- z180asci_ext_channel_0(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z180asci_ext_channel_0(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
//**************************************************************************
@@ -185,7 +185,7 @@ class z180asci_ext_channel_1 : public z180asci_channel_1
{
public:
// construction/destruction
- z180asci_ext_channel_1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z180asci_ext_channel_1(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
//**************************************************************************
diff --git a/src/devices/cpu/z8/z8.cpp b/src/devices/cpu/z8/z8.cpp
index d59651b683b..ecadd71514a 100644
--- a/src/devices/cpu/z8/z8.cpp
+++ b/src/devices/cpu/z8/z8.cpp
@@ -175,7 +175,7 @@ void z8_device::register_map(address_map &map)
}
-z8_device::z8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t rom_size, bool preprogrammed)
+z8_device::z8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t rom_size, bool preprogrammed)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 8, 16, 0, preprogrammed ? address_map_constructor(FUNC(z8_device::preprogrammed_map), this) : address_map_constructor(FUNC(z8_device::program_map), this))
, m_data_config("data", ENDIANNESS_BIG, 8, 16, 0)
@@ -189,25 +189,25 @@ z8_device::z8_device(const machine_config &mconfig, device_type type, const char
}
-z8601_device::z8601_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z8601_device::z8601_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8_device(mconfig, Z8601, tag, owner, clock, 0x800, false)
{
}
-ub8830d_device::ub8830d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ub8830d_device::ub8830d_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8_device(mconfig, UB8830D, tag, owner, clock, 0x800, false)
{
}
-z8611_device::z8611_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z8611_device::z8611_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8_device(mconfig, Z8611, tag, owner, clock, 0x1000, false)
{
}
-z8671_device::z8671_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z8671_device::z8671_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8_device(mconfig, Z8671, tag, owner, clock, 0x800, true)
{
}
@@ -223,13 +223,13 @@ const tiny_rom_entry *z8671_device::device_rom_region() const
}
-z8681_device::z8681_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z8681_device::z8681_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8_device(mconfig, Z8681, tag, owner, clock, 0, false)
{
}
-z8682_device::z8682_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z8682_device::z8682_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8_device(mconfig, Z8682, tag, owner, clock, 0x800, true)
{
}
@@ -246,7 +246,7 @@ const tiny_rom_entry *z8682_device::device_rom_region() const
}
-z86e02_device::z86e02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z86e02_device::z86e02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8_device(mconfig, Z86E02, tag, owner, clock, 0x200, false)
{
}
diff --git a/src/devices/cpu/z8/z8.h b/src/devices/cpu/z8/z8.h
index c092cfd4066..ad4c2dd6e7f 100644
--- a/src/devices/cpu/z8/z8.h
+++ b/src/devices/cpu/z8/z8.h
@@ -39,7 +39,7 @@ protected:
};
// construction/destruction
- z8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t rom_size, bool preprogrammed);
+ z8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t rom_size, bool preprogrammed);
// device-level overrides
virtual void device_start() override;
@@ -383,28 +383,28 @@ private:
class z8601_device : public z8_device
{
public:
- z8601_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z8601_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class ub8830d_device : public z8_device
{
public:
- ub8830d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ ub8830d_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class z8611_device : public z8_device
{
public:
- z8611_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z8611_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class z8671_device : public z8_device
{
public:
- z8671_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z8671_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
const tiny_rom_entry *device_rom_region() const override;
@@ -414,14 +414,14 @@ protected:
class z8681_device : public z8_device
{
public:
- z8681_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z8681_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class z8682_device : public z8_device
{
public:
- z8682_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z8682_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
const tiny_rom_entry *device_rom_region() const override;
@@ -431,7 +431,7 @@ protected:
class z86e02_device : public z8_device
{
public:
- z86e02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z86e02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
diff --git a/src/devices/cpu/z80/ez80.cpp b/src/devices/cpu/z80/ez80.cpp
index 525dc1c3b11..042a8535e4f 100644
--- a/src/devices/cpu/z80/ez80.cpp
+++ b/src/devices/cpu/z80/ez80.cpp
@@ -28,12 +28,12 @@ DEFINE_DEVICE_TYPE(EZ80, ez80_device, "ez80", "Zilog eZ80")
// ez80_device - constructor
//-------------------------------------------------
-ez80_device::ez80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+ez80_device::ez80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: z80_device(mconfig, type, tag, owner, clock)
{
}
-ez80_device::ez80_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ez80_device::ez80_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: ez80_device(mconfig, EZ80, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/z80/ez80.h b/src/devices/cpu/z80/ez80.h
index 2ae563d5b80..3cc5cbec604 100644
--- a/src/devices/cpu/z80/ez80.h
+++ b/src/devices/cpu/z80/ez80.h
@@ -22,11 +22,11 @@ class ez80_device : public z80_device
{
public:
// device type constructor
- ez80_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ ez80_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// construction/destruction
- ez80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ ez80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
};
// device type declaration
diff --git a/src/devices/cpu/z80/kc82.cpp b/src/devices/cpu/z80/kc82.cpp
index bf0a26290c4..0dcac14e9e2 100644
--- a/src/devices/cpu/z80/kc82.cpp
+++ b/src/devices/cpu/z80/kc82.cpp
@@ -17,7 +17,7 @@
// kc82_device - constructor
//-------------------------------------------------
-kc82_device::kc82_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor mem_map, address_map_constructor io_map)
+kc82_device::kc82_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor mem_map, address_map_constructor io_map)
: z80_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 20, 0, 16, 10, mem_map)
, m_opcodes_config("opcodes", ENDIANNESS_LITTLE, 8, 20, 0, 16, 10, mem_map)
diff --git a/src/devices/cpu/z80/kc82.h b/src/devices/cpu/z80/kc82.h
index c78269c77fe..b9ef94c5ab2 100644
--- a/src/devices/cpu/z80/kc82.h
+++ b/src/devices/cpu/z80/kc82.h
@@ -29,7 +29,7 @@ public:
protected:
// construction/destruction
- kc82_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor mem_map, address_map_constructor io_map);
+ kc82_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, address_map_constructor mem_map, address_map_constructor io_map);
// device-level overrides
virtual void device_start() override;
diff --git a/src/devices/cpu/z80/kl5c80a12.cpp b/src/devices/cpu/z80/kl5c80a12.cpp
index 495a0ab4afd..4a8c4e30bd5 100644
--- a/src/devices/cpu/z80/kl5c80a12.cpp
+++ b/src/devices/cpu/z80/kl5c80a12.cpp
@@ -35,7 +35,7 @@ static const z80_daisy_config pseudo_daisy_config[] = { { "kp69" }, { nullptr }
// kl5c80a12_device - constructor
//-------------------------------------------------
-kl5c80a12_device::kl5c80a12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+kl5c80a12_device::kl5c80a12_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: kc82_device(mconfig, KL5C80A12, tag, owner, clock,
address_map_constructor(FUNC(kl5c80a12_device::internal_ram), this),
address_map_constructor(FUNC(kl5c80a12_device::internal_io), this))
diff --git a/src/devices/cpu/z80/kl5c80a12.h b/src/devices/cpu/z80/kl5c80a12.h
index 28434f8c8f6..c50fdca6297 100644
--- a/src/devices/cpu/z80/kl5c80a12.h
+++ b/src/devices/cpu/z80/kl5c80a12.h
@@ -28,7 +28,7 @@ public:
};
// device type constructor
- kl5c80a12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ kl5c80a12_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// callback configuration
auto in_p0_callback() { return m_porta_in_callback[0].bind(); }
diff --git a/src/devices/cpu/z80/kl5c80a16.cpp b/src/devices/cpu/z80/kl5c80a16.cpp
index d92cc9142de..92cf6b56c77 100644
--- a/src/devices/cpu/z80/kl5c80a16.cpp
+++ b/src/devices/cpu/z80/kl5c80a16.cpp
@@ -30,7 +30,7 @@ static const z80_daisy_config pseudo_daisy_config[] = { { "kp69" }, { nullptr }
// kl5c80a16_device - constructor
//-------------------------------------------------
-kl5c80a16_device::kl5c80a16_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+kl5c80a16_device::kl5c80a16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: kc82_device(mconfig, KL5C80A16, tag, owner, clock,
address_map_constructor(),
address_map_constructor(FUNC(kl5c80a16_device::internal_io), this))
diff --git a/src/devices/cpu/z80/kl5c80a16.h b/src/devices/cpu/z80/kl5c80a16.h
index d3ac8eda636..34d71bb90d9 100644
--- a/src/devices/cpu/z80/kl5c80a16.h
+++ b/src/devices/cpu/z80/kl5c80a16.h
@@ -28,7 +28,7 @@ public:
};
// device type constructor
- kl5c80a16_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ kl5c80a16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// callback configuration
auto in_p0_callback() { return m_port_in_callback[0].bind(); }
diff --git a/src/devices/cpu/z80/kp63.cpp b/src/devices/cpu/z80/kp63.cpp
index db42ef30ecb..356fcbc17ed 100644
--- a/src/devices/cpu/z80/kp63.cpp
+++ b/src/devices/cpu/z80/kp63.cpp
@@ -58,7 +58,7 @@ const char *const kp63_device::s_count_modes[4] =
// kp63_device - constructor
//-------------------------------------------------
-kp63_device::kp63_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 num_counters, u8 mode_mask)
+kp63_device::kp63_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 num_counters, u8 mode_mask)
: device_t(mconfig, type, tag, owner, clock)
, m_out_pulse_callback(*this)
, m_out_strobe_callback(*this)
@@ -82,7 +82,7 @@ kp63_device::kp63_device(const machine_config &mconfig, device_type type, const
// kp63_3channel_device - constructor
//-------------------------------------------------
-kp63_3channel_device::kp63_3channel_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+kp63_3channel_device::kp63_3channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: kp63_device(mconfig, KP63_3CHANNEL, tag, owner, clock, 3, 0x1f)
{
}
@@ -92,7 +92,7 @@ kp63_3channel_device::kp63_3channel_device(const machine_config &mconfig, const
// kp63a_device - constructor
//-------------------------------------------------
-kp63a_device::kp63a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+kp63a_device::kp63a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: kp63_device(mconfig, KP63A, tag, owner, clock, 4, 0x3f)
{
}
diff --git a/src/devices/cpu/z80/kp63.h b/src/devices/cpu/z80/kp63.h
index 73e269fb72b..ec00fbea789 100644
--- a/src/devices/cpu/z80/kp63.h
+++ b/src/devices/cpu/z80/kp63.h
@@ -32,7 +32,7 @@ public:
protected:
// construction/destruction
- kp63_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 num_counters, u8 mode_mask);
+ kp63_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 num_counters, u8 mode_mask);
// device-level overrides
virtual void device_resolve_objects() override;
@@ -81,14 +81,14 @@ class kp63_3channel_device : public kp63_device
{
public:
// device type constructor
- kp63_3channel_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ kp63_3channel_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
class kp63a_device : public kp63_device
{
public:
// device type constructor
- kp63a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ kp63a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
};
// device type declarations
diff --git a/src/devices/cpu/z80/kp64.cpp b/src/devices/cpu/z80/kp64.cpp
index 697ed65268a..52e418f35dc 100644
--- a/src/devices/cpu/z80/kp64.cpp
+++ b/src/devices/cpu/z80/kp64.cpp
@@ -68,7 +68,7 @@ DEFINE_DEVICE_TYPE(KP64, kp64_device, "kp64", "Kawasaki Steel KP64 Timer/Counter
// kp64_device - constructor
//-------------------------------------------------
-kp64_device::kp64_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+kp64_device::kp64_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: device_t(mconfig, KP64, tag, owner, clock)
, m_out_callback(*this)
, m_count_timer(nullptr)
diff --git a/src/devices/cpu/z80/kp64.h b/src/devices/cpu/z80/kp64.h
index 954076430d0..b5d62212dfa 100644
--- a/src/devices/cpu/z80/kp64.h
+++ b/src/devices/cpu/z80/kp64.h
@@ -20,7 +20,7 @@ class kp64_device : public device_t
{
public:
// device type constructor
- kp64_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ kp64_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// callback configuration
auto out_callback() { return m_out_callback.bind(); }
diff --git a/src/devices/cpu/z80/kp69.cpp b/src/devices/cpu/z80/kp69.cpp
index 0e194138b2c..a03931c3292 100644
--- a/src/devices/cpu/z80/kp69.cpp
+++ b/src/devices/cpu/z80/kp69.cpp
@@ -35,7 +35,7 @@ DEFINE_DEVICE_TYPE(KP69, kp69_device, "kp69", "Kawasaki Steel KP69 Interrupt Con
// kp69_base_device - constructor
//-------------------------------------------------
-kp69_base_device::kp69_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+kp69_base_device::kp69_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock)
: device_t(mconfig, type, tag, owner, clock)
, device_z80daisy_interface(mconfig, *this)
, m_int_callback(*this)
@@ -56,7 +56,7 @@ kp69_base_device::kp69_base_device(const machine_config &mconfig, device_type ty
// kp69_device - constructor
//-------------------------------------------------
-kp69_device::kp69_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+kp69_device::kp69_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: kp69_base_device(mconfig, KP69, tag, owner, clock)
, m_ivr_written(false)
{
diff --git a/src/devices/cpu/z80/kp69.h b/src/devices/cpu/z80/kp69.h
index f7747f795d6..dec9255f8fc 100644
--- a/src/devices/cpu/z80/kp69.h
+++ b/src/devices/cpu/z80/kp69.h
@@ -41,7 +41,7 @@ public:
protected:
// construction/destruction
- kp69_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ kp69_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_resolve_objects() override;
@@ -82,7 +82,7 @@ class kp69_device : public kp69_base_device
{
public:
// device type constructor
- kp69_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
+ kp69_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL());
// write handlers
void lerl_pgrl_w(u8 data);
diff --git a/src/devices/cpu/z80/ky80.cpp b/src/devices/cpu/z80/ky80.cpp
index b55237efa95..067c412022d 100644
--- a/src/devices/cpu/z80/ky80.cpp
+++ b/src/devices/cpu/z80/ky80.cpp
@@ -28,7 +28,7 @@ DEFINE_DEVICE_TYPE(KY80, ky80_device, "ky80", "Taxan KY-80")
// ky80_device - constructor
//-------------------------------------------------
-ky80_device::ky80_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ky80_device::ky80_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: kc82_device(mconfig, KY80, tag, owner, clock,
address_map_constructor(FUNC(ky80_device::internal_ram), this),
address_map_constructor(FUNC(ky80_device::internal_io), this))
diff --git a/src/devices/cpu/z80/ky80.h b/src/devices/cpu/z80/ky80.h
index fce065a9c8f..0e977689db9 100644
--- a/src/devices/cpu/z80/ky80.h
+++ b/src/devices/cpu/z80/ky80.h
@@ -22,7 +22,7 @@ class ky80_device : public kc82_device
{
public:
// device type constructor
- ky80_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ ky80_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_execute_interface overrides
diff --git a/src/devices/cpu/z80/lz8420m.cpp b/src/devices/cpu/z80/lz8420m.cpp
index 26e41a6b248..8b6093d4d97 100644
--- a/src/devices/cpu/z80/lz8420m.cpp
+++ b/src/devices/cpu/z80/lz8420m.cpp
@@ -15,7 +15,7 @@
DEFINE_DEVICE_TYPE(LZ8420M, lz8420m_device, "lz8420m", "Sharp LZ8420M")
-lz8420m_device::lz8420m_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+lz8420m_device::lz8420m_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z80_device(mconfig, LZ8420M, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/z80/lz8420m.h b/src/devices/cpu/z80/lz8420m.h
index afa653c340d..ce1e06389aa 100644
--- a/src/devices/cpu/z80/lz8420m.h
+++ b/src/devices/cpu/z80/lz8420m.h
@@ -29,7 +29,7 @@
class lz8420m_device : public z80_device
{
public:
- lz8420m_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t);
+ lz8420m_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/z80/mc8123.cpp b/src/devices/cpu/z80/mc8123.cpp
index 33acc77b096..7581ea4afe8 100644
--- a/src/devices/cpu/z80/mc8123.cpp
+++ b/src/devices/cpu/z80/mc8123.cpp
@@ -90,7 +90,7 @@ DEFINE_DEVICE_TYPE(MC8123, mc8123_device, "mc8123", "MC-8123")
// mc8123_device - constructor
//-------------------------------------------------
-mc8123_device::mc8123_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+mc8123_device::mc8123_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z80_device(mconfig, MC8123, tag, owner, clock)
, m_key(*this, "key")
{
diff --git a/src/devices/cpu/z80/mc8123.h b/src/devices/cpu/z80/mc8123.h
index 8fad72dbee7..90cbeec6ca1 100644
--- a/src/devices/cpu/z80/mc8123.h
+++ b/src/devices/cpu/z80/mc8123.h
@@ -17,7 +17,7 @@ class mc8123_device : public z80_device
{
public:
// construction/destruction
- mc8123_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ mc8123_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// this function assumes a fixed portion of ROM at 0000-7FFF, and
// an arbitrary amount of banks at 8000-BFFF.
diff --git a/src/devices/cpu/z80/r800.cpp b/src/devices/cpu/z80/r800.cpp
index 1748f8eca39..bef404155bf 100644
--- a/src/devices/cpu/z80/r800.cpp
+++ b/src/devices/cpu/z80/r800.cpp
@@ -29,7 +29,7 @@ DEFINE_DEVICE_TYPE(R800, r800_device, "r800", "ASCII R800")
// r800_device - constructor
//-------------------------------------------------
-r800_device::r800_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+r800_device::r800_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z80_device(mconfig, R800, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/z80/r800.h b/src/devices/cpu/z80/r800.h
index bad16f8cfdd..2ed0aa1672e 100644
--- a/src/devices/cpu/z80/r800.h
+++ b/src/devices/cpu/z80/r800.h
@@ -22,7 +22,7 @@ class r800_device : public z80_device
{
public:
// device type constructor
- r800_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ r800_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device_execute_interface overrides
diff --git a/src/devices/cpu/z80/tmpz84c011.cpp b/src/devices/cpu/z80/tmpz84c011.cpp
index c28aa2b243a..df79ffe59cc 100644
--- a/src/devices/cpu/z80/tmpz84c011.cpp
+++ b/src/devices/cpu/z80/tmpz84c011.cpp
@@ -32,7 +32,7 @@ void tmpz84c011_device::tmpz84c011_internal_io_map(address_map &map)
}
-tmpz84c011_device::tmpz84c011_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+tmpz84c011_device::tmpz84c011_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z80_device(mconfig, TMPZ84C011, tag, owner, clock),
m_io_space_config( "io", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor(FUNC(tmpz84c011_device::tmpz84c011_internal_io_map), this)),
m_ctc(*this, "tmpz84c011_ctc"),
diff --git a/src/devices/cpu/z80/tmpz84c011.h b/src/devices/cpu/z80/tmpz84c011.h
index 89b40a9f6aa..ab63642518e 100644
--- a/src/devices/cpu/z80/tmpz84c011.h
+++ b/src/devices/cpu/z80/tmpz84c011.h
@@ -30,7 +30,7 @@
class tmpz84c011_device : public z80_device
{
public:
- tmpz84c011_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t);
+ tmpz84c011_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
auto zc0_callback() { return m_zc0_cb.bind(); }
diff --git a/src/devices/cpu/z80/tmpz84c015.cpp b/src/devices/cpu/z80/tmpz84c015.cpp
index 3df10f19c6c..ebba77d423c 100644
--- a/src/devices/cpu/z80/tmpz84c015.cpp
+++ b/src/devices/cpu/z80/tmpz84c015.cpp
@@ -28,7 +28,7 @@ void tmpz84c015_device::internal_io_map(address_map &map)
}
-tmpz84c015_device::tmpz84c015_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+tmpz84c015_device::tmpz84c015_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
z80_device(mconfig, TMPZ84C015, tag, owner, clock),
m_io_space_config( "io", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor(FUNC(tmpz84c015_device::internal_io_map), this)),
m_ctc(*this, "tmpz84c015_ctc"),
diff --git a/src/devices/cpu/z80/tmpz84c015.h b/src/devices/cpu/z80/tmpz84c015.h
index 99b6f095714..0d982496879 100644
--- a/src/devices/cpu/z80/tmpz84c015.h
+++ b/src/devices/cpu/z80/tmpz84c015.h
@@ -25,7 +25,7 @@
class tmpz84c015_device : public z80_device
{
public:
- tmpz84c015_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t);
+ tmpz84c015_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
// configuration helpers
diff --git a/src/devices/cpu/z80/z80.cpp b/src/devices/cpu/z80/z80.cpp
index 86d9d29469b..b4b9ed4fdb5 100644
--- a/src/devices/cpu/z80/z80.cpp
+++ b/src/devices/cpu/z80/z80.cpp
@@ -3814,12 +3814,12 @@ void z80_device::z80_set_cycle_tables(const uint8_t *op, const uint8_t *cb, cons
}
-z80_device::z80_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+z80_device::z80_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) :
z80_device(mconfig, Z80, tag, owner, clock)
{
}
-z80_device::z80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+z80_device::z80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) :
cpu_device(mconfig, type, tag, owner, clock),
z80_daisy_chain_interface(mconfig, *this),
m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0),
@@ -3849,7 +3849,7 @@ device_memory_interface::space_config_vector z80_device::memory_space_config() c
DEFINE_DEVICE_TYPE(Z80, z80_device, "z80", "Zilog Z80")
-nsc800_device::nsc800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+nsc800_device::nsc800_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z80_device(mconfig, NSC800, tag, owner, clock)
{
}
diff --git a/src/devices/cpu/z80/z80.h b/src/devices/cpu/z80/z80.h
index 8d3ac158325..52c0ebab583 100644
--- a/src/devices/cpu/z80/z80.h
+++ b/src/devices/cpu/z80/z80.h
@@ -30,7 +30,7 @@ enum
class z80_device : public cpu_device, public z80_daisy_chain_interface
{
public:
- z80_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z80_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
void z80_set_cycle_tables(const uint8_t *op, const uint8_t *cb, const uint8_t *ed, const uint8_t *xy, const uint8_t *xycb, const uint8_t *ex);
template <typename... T> void set_memory_map(T &&... args) { set_addrmap(AS_PROGRAM, std::forward<T>(args)...); }
@@ -42,7 +42,7 @@ public:
auto halt_cb() { return m_halt_cb.bind(); }
protected:
- z80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ z80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock);
// device-level overrides
virtual void device_start() override;
@@ -298,7 +298,7 @@ DECLARE_DEVICE_TYPE(Z80, z80_device)
class nsc800_device : public z80_device
{
public:
- nsc800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nsc800_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// device-level overrides
diff --git a/src/devices/cpu/z8000/z8000.cpp b/src/devices/cpu/z8000/z8000.cpp
index 8d462c7eddc..50773f5b587 100644
--- a/src/devices/cpu/z8000/z8000.cpp
+++ b/src/devices/cpu/z8000/z8000.cpp
@@ -23,13 +23,13 @@ DEFINE_DEVICE_TYPE(Z8001, z8001_device, "z8001", "Zilog Z8001")
DEFINE_DEVICE_TYPE(Z8002, z8002_device, "z8002", "Zilog Z8002")
-z8002_device::z8002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z8002_device::z8002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8002_device(mconfig, Z8002, tag, owner, clock, 16, 1)
{
}
-z8002_device::z8002_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int addrbits, int vecmult)
+z8002_device::z8002_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addrbits, int vecmult)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, addrbits, 0)
, m_data_config("data", ENDIANNESS_BIG, 16, addrbits, 0)
@@ -45,7 +45,7 @@ z8002_device::z8002_device(const machine_config &mconfig, device_type type, cons
}
-z8001_device::z8001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+z8001_device::z8001_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock)
: z8002_device(mconfig, Z8001, tag, owner, clock, 23, 2)
{
}
diff --git a/src/devices/cpu/z8000/z8000.h b/src/devices/cpu/z8000/z8000.h
index 921f8f4eb0f..ce96cac2f6f 100644
--- a/src/devices/cpu/z8000/z8000.h
+++ b/src/devices/cpu/z8000/z8000.h
@@ -76,7 +76,7 @@ public:
};
// construction/destruction
- z8002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z8002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
~z8002_device();
auto segtack() { return m_iack_in[0].bind(); }
@@ -87,7 +87,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(mi_w) { m_mi = state; } // XXX: this has to apply in the middle of an insn for now
protected:
- z8002_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int addrbits, int vecmult);
+ z8002_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int addrbits, int vecmult);
// device-level overrides
virtual void device_start() override;
@@ -706,7 +706,7 @@ class z8001_device : public z8002_device
{
public:
// construction/destruction
- z8001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ z8001_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock);
protected:
// z8002_device overrides