MIT: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
This page is designed to allow for a quick look over all the drivers with a MACHINE_IMPERFECT_TIMING flag by giving, as much as possible, an idea on the amount of effort needed to fix them. | This page is designed to allow for a quick look over all the drivers with a MACHINE_IMPERFECT_TIMING flag by giving, as much as possible, an idea on the amount of effort needed to fix them. | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/alpha/alpha68k.cpp alpha68k] == | == [http://github.com/mamedev/mame/blob/master/src/mame/acorn/aristmk5.cpp acorn/aristmk5] == | ||
Games are running at double speed. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/alpha/alpha68k.cpp alpha/alpha68k] == | |||
''' goldmedl, goldmedla, goldmedlb ''' - Dash events timers relies on MCU irq timings, which can't be accurate til the MCU is decapped and emulated. | ''' goldmedl, goldmedla, goldmedlb ''' - Dash events timers relies on MCU irq timings, which can't be accurate til the MCU is decapped and emulated. | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/alpha/alpha68k_n.cpp alpha68k_n] == | == [http://github.com/mamedev/mame/blob/master/src/mame/alpha/alpha68k_n.cpp alpha/alpha68k_n] == | ||
''' sstingry ''' - Super Stingray MCU irq controls timer speed. The MCU has been hooked up but the clock is almost certainly wrong. | ''' sstingry ''' - Super Stingray MCU irq controls timer speed. The MCU has been hooked up but the clock is almost certainly wrong. | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/chess/tasc.cpp chess/tasc] == | ||
More accurate dynamic cpu clock divider is needed. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/fidel/as12.cpp as12] == | == [http://github.com/mamedev/mame/blob/master/src/mame/fidel/as12.cpp fidel/as12] == | ||
Seems a little bit slower than the real machine. Currently, a dummy timer workaround is needed, or it's much worse. Is the problem here is due to timing of CPU addressbus changes? | Seems a little bit slower than the real machine. Currently, a dummy timer workaround is needed, or it's much worse. Is the problem here is due to timing of CPU addressbus changes? | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/fidel/eag68k.cpp fidel/eag68k] == | ||
''' feagv10 ''' - V10 CPU emulation is too slow, MAME 68040 opcode timing is same as 68030 but in reality it is much faster, same goes for V11 of course (see below). | |||
''' feagv11 ''' - V11 CPU should be M68EC060, not yet emulated. Now using M68EC040 in its place at twice the frequency due to lack of superscalar. | |||
''' | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/fidel/elite.cpp fidel/elite] == | ||
fpres/feas irq active time needs verifying. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/fidel/sc12.cpp fidel/sc12] == | ||
Seems a little bit slower than the real machine. Currently, a dummy timer workaround is needed, or it's much worse. Is the problem here is due to timing of CPU addressbus changes? | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/hegenerglaser/modular.cpp hegenerglaser/modular] == | ||
Waitstates emulation is preliminary. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/konami/cobra.cpp konami/cobra] == | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/konami/konamigs.cpp konamigs] == | == [http://github.com/mamedev/mame/blob/master/src/mame/konami/konamigs.cpp konami/konamigs] == | ||
''' ddrkids ''' - Songs desync. | ''' ddrkids ''' - Songs desync. | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/konami/konamim2.cpp konamim2] == | == [http://github.com/mamedev/mame/blob/master/src/mame/konami/konamim2.cpp konami/konamim2] == | ||
Games are running slower than they should. | Games are running slower than they should. | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/mephisto/mm2.cpp mm2] == | == [http://github.com/mamedev/mame/blob/master/src/mame/mephisto/mm2.cpp mephisto/mm2] == | ||
''' mm4tk, mm5p ''' - They need proper emulation of the TurboKit (it's not as simple as a CPU overclock plus ROM patch). | ''' mm4tk, mm5p ''' - They need proper emulation of the TurboKit (it's not as simple as a CPU overclock plus ROM patch). | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/misc/cv1k.cpp misc/cv1k] == | ||
Games are running faster than on real hardware. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/monon_color.cpp monon_color] == | == [http://github.com/mamedev/mame/blob/master/src/mame/misc/monon_color.cpp misc/monon_color] == | ||
Clock divider unknown. | Clock divider unknown. | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/nichibutsu/clshroad.cpp nichibutsu/clshroad] == | ||
''' clshroad and clones ''' - Main and sound CPUs synching isn't perfect. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/saitek/risc2500.cpp risc2500] == | == [http://github.com/mamedev/mame/blob/master/src/mame/nintendo/cothello.cpp nintendo/cothello] == | ||
CPU speed is wrong, it's likely running at 1.79MHz. But that's way too fast compared to videos of the game. 0.9MHz(XTAL/4) is also too fast. It's probably due to the M58741P HOLD pin halting the 8080, which is not emulated. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/saitek/risc2500.cpp saitek/risc2500] == | |||
More accurate dynamic cpu clock divider is needed. | More accurate dynamic cpu clock divider is needed. | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/sony/news_r4k.cpp sony/news_r4k] == | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/taito/taitojc.cpp taito/taitojc] == | ||
Games are running at wrong speed(unthrottled?) compared to PCB recordings, easily noticeable on sidebs/sidebs2, for example the selection screens are too fast, and the driving is almost twice as slow. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/tiger/bingobear.cpp tiger/bingobear] == | ||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/tvgames/spg2xx_shredmjr.cpp tvgames/spg2xx_shredmjr] == | ||
Bad music timings (too slow). | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/vectorgraphic/vector4 vector4]== | == [http://github.com/mamedev/mame/blob/master/src/mame/vectorgraphic/vector4.cpp vectorgraphic/vector4]== | ||
CPU wait states, S-100 interrupts and ready aren't emulated. | CPU wait states, S-100 interrupts and ready aren't emulated. |
Revision as of 08:24, 15 September 2023
This page is designed to allow for a quick look over all the drivers with a MACHINE_IMPERFECT_TIMING flag by giving, as much as possible, an idea on the amount of effort needed to fix them.
acorn/aristmk5
Games are running at double speed.
alpha/alpha68k
goldmedl, goldmedla, goldmedlb - Dash events timers relies on MCU irq timings, which can't be accurate til the MCU is decapped and emulated.
alpha/alpha68k_n
sstingry - Super Stingray MCU irq controls timer speed. The MCU has been hooked up but the clock is almost certainly wrong.
chess/tasc
More accurate dynamic cpu clock divider is needed.
fidel/as12
Seems a little bit slower than the real machine. Currently, a dummy timer workaround is needed, or it's much worse. Is the problem here is due to timing of CPU addressbus changes?
fidel/eag68k
feagv10 - V10 CPU emulation is too slow, MAME 68040 opcode timing is same as 68030 but in reality it is much faster, same goes for V11 of course (see below).
feagv11 - V11 CPU should be M68EC060, not yet emulated. Now using M68EC040 in its place at twice the frequency due to lack of superscalar.
fidel/elite
fpres/feas irq active time needs verifying.
fidel/sc12
Seems a little bit slower than the real machine. Currently, a dummy timer workaround is needed, or it's much worse. Is the problem here is due to timing of CPU addressbus changes?
hegenerglaser/modular
Waitstates emulation is preliminary.
konami/cobra
konami/konamigs
ddrkids - Songs desync.
konami/konamim2
Games are running slower than they should.
mephisto/mm2
mm4tk, mm5p - They need proper emulation of the TurboKit (it's not as simple as a CPU overclock plus ROM patch).
misc/cv1k
Games are running faster than on real hardware.
misc/monon_color
Clock divider unknown.
nichibutsu/clshroad
clshroad and clones - Main and sound CPUs synching isn't perfect.
nintendo/cothello
CPU speed is wrong, it's likely running at 1.79MHz. But that's way too fast compared to videos of the game. 0.9MHz(XTAL/4) is also too fast. It's probably due to the M58741P HOLD pin halting the 8080, which is not emulated.
saitek/risc2500
More accurate dynamic cpu clock divider is needed.
sony/news_r4k
taito/taitojc
Games are running at wrong speed(unthrottled?) compared to PCB recordings, easily noticeable on sidebs/sidebs2, for example the selection screens are too fast, and the driving is almost twice as slow.
tiger/bingobear
tvgames/spg2xx_shredmjr
Bad music timings (too slow).
vectorgraphic/vector4
CPU wait states, S-100 interrupts and ready aren't emulated.