MIT: Difference between revisions
No edit summary |
|||
(21 intermediate revisions by the same user not shown) | |||
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/ | == [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/ | == [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/bmc/popobear.cpp bmc/popobear] == | ||
Timer chip isn't emulated (controls auto-animation on title screen + something else during gameplay?). | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/cave/cv1k.cpp cave/cv1k] == | ||
Games are running faster than on real hardware. | Games are running faster than on real hardware. | ||
== [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/ | == [http://github.com/mamedev/mame/blob/master/src/mame/dataeast/progolf.cpp dataeast/progolf] == | ||
MC6845 timings are wrong. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/fidelity/eag68k.cpp fidelity/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). | ''' 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 | ''' 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/gaelco/blmbycar.cpp gaelco/blmbycar] == | ||
''' watrball ''' - Game speed should be checked against real hardware. It depends on a bit the emulation toggles. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/ | == [http://github.com/mamedev/mame/blob/master/src/mame/handheld/hh_ht11xx.cpp handheld/hh_ht11xx] == | ||
MCU frequency guessed. | |||
== [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/konami/cobra.cpp konami/cobra] == | |||
== [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/ | == [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/ | == [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/monon_color.cpp misc/monon_color] == | ||
Clock divider unknown. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/sttechno.cpp misc/sttechno] == | |||
Needs real raw screen parameters and figuring out exactly how IRQ6 is supposed to actually work. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/xtom3d.cpp misc/xtom3d] == | |||
''' pumpit1 ''' - Flickers at start of any song without any feedback, abruptly throws steps with working playback, ends with silence and steps still going. | |||
== [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/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. | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/sega/sega_beena.cpp sega/sega_beena] == | |||
Misses storyware layout. | |||
== [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/subsino/lastfght.cpp subsino/lastfght] == | |||
Blitter timings are guessed. | |||
== [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/taito/taitopjc.cpp taito/taitopjc] == | |||
Analog inputs update at a slower rate (about every 8-10 frames instead of every frame). | |||
== [http://github.com/mamedev/mame/blob/master/src/mame/tch/rltennis.cpp tch/rltennis] == | |||
Needs proper timing and interrupts (currently has extra hacky blitter int generation @ vblank). | |||
== [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/ | == [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. |
Latest revision as of 06:56, 21 June 2024
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.
bmc/popobear
Timer chip isn't emulated (controls auto-animation on title screen + something else during gameplay?).
cave/cv1k
Games are running faster than on real hardware.
chess/tasc
More accurate dynamic cpu clock divider is needed.
dataeast/progolf
MC6845 timings are wrong.
fidelity/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.
gaelco/blmbycar
watrball - Game speed should be checked against real hardware. It depends on a bit the emulation toggles.
handheld/hh_ht11xx
MCU frequency guessed.
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/monon_color
Clock divider unknown.
misc/sttechno
Needs real raw screen parameters and figuring out exactly how IRQ6 is supposed to actually work.
misc/xtom3d
pumpit1 - Flickers at start of any song without any feedback, abruptly throws steps with working playback, ends with silence and steps still going.
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.
sega/sega_beena
Misses storyware layout.
sony/news_r4k
subsino/lastfght
Blitter timings are guessed.
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.
taito/taitopjc
Analog inputs update at a slower rate (about every 8-10 frames instead of every frame).
tch/rltennis
Needs proper timing and interrupts (currently has extra hacky blitter int generation @ vblank).
tiger/bingobear
tvgames/spg2xx_shredmjr
Bad music timings (too slow).
vectorgraphic/vector4
CPU wait states, S-100 interrupts and ready aren't emulated.