Top 20 CPUs in MAME
Quick info:
- Zilog Z80: 8-bit king.
- Motorola MC6809: 8-bit. With multiplication. Beautiful orthogonal instruction set.
- Motorola MC68000: 32-bit registers/16-bit ALU.
- MC68307: 32-bit registers/16-bit ALU/16 or 8-bit data bus.
- Freescale MCF5206E: 32-bit.
- Motorola MC6809E: 8-bit, external clock.
- MOS Technology M6502: 8-bit.
- Intel 80C51: 8-bit, MCS-51 family.
- MC6809 (legacy): 8-bit. 'legacy' because it's an old implementation in MAME?
- MC68340: 32-bit.
- Hitachi H8/3002: 32-bit. For instance, used by Namco as sound processor in its System-12 architecture.
- ARM7 (little): 32-bit. 'little' is for little-endian mode?.
- Hitachi SH-4 (little): 32-bit. Used in the Dreamcast, for instance. 'little' is for little-endian mode?.
- Intel 80C32: 8-bit, MCS-51 family.
- Hitachi HD6303Y: 8-bit.
- Motorola M6808: 8-bit, 6800 family.
- AM9517A: DMA controller?.
- Atari C012294 POKEY: Atari sound and I/O chip.
- Motorola MC68E020: fully 32-bit.
- Intel 8080: 8-bit, second by Intel, 1974.
For the full list: mamecpus.txt.
Generated using:
mame -listxml | awk -F\" '/chip type="cpu"/ { print "\42"$6"\42" }' | sort | uniq -c | sort -rgk1 | tee 'mamecpus.txt' | head -n20 >ncpus.txt
gnuplot plotcmds.txt
plotcmds.txt is:
set xtics nomirror rotate by -45 scale 0
set boxwidth 0.3
set style fill solid border -1
set terminal png size 1000,1000 transparent fontscale 0.8
set title "Top 20 CPUs in MAME v0.201"
plot 'ncpus.txt' using 0:1:xtic(2) with boxes notitle, \
'' using 0:1:1 with labels center offset 0,1 notitle