MIT: Difference between revisions

From MAMEDEV Wiki
No edit summary
No edit summary
 
(31 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/drivers/cv1k.cpp cv1k] ==
== [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.
 
== [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.
 
== [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/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/drivers/fidel6502.cpp fidel6502] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/chess/tasc.cpp chess/tasc] ==
''' feleg, fscc12 and clone ''' - They seem 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?
More accurate dynamic cpu clock divider is needed.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/fidel68k.cpp fidel68k] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/dataeast/progolf.cpp dataeast/progolf] ==
''' feagv10 ''' - V9(68030 @ 32MHz) is faster than V10(68040 @ 25MHz) but it should be the other  way around, culprit is unemulated cache?
MC6845 timings are wrong.


''' 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/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).


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/konamim2.cpp konamim2] ==
''' 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/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/handheld/hh_ht11xx.cpp handheld/hh_ht11xx] ==
MCU frequency guessed.
 
== [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.
 
== [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/drivers/taitojc.cpp taitojc] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/mephisto/mm2.cpp mephisto/mm2] ==
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.
''' 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/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/tvgames/spg2xx_shredmjr.cpp tvgames/spg2xx_shredmjr] ==
Bad music timings (too slow).
 
== [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.