MIT: Difference between revisions

From MAMEDEV Wiki
No edit summary
No edit summary
 
(33 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] ==
''' 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/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).
 
''' 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.
 
== [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).
 
== [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/drivers/fidel68k.cpp fidel68k] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/tiger/bingobear.cpp tiger/bingobear] ==
''' feagv10 ''' - V9(68030 @ 32MHz) is faster than V10(68040 @ 25MHz) but it should be the other  way around, culprit is unemulated cache?


''' 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/tvgames/spg2xx_shredmjr.cpp tvgames/spg2xx_shredmjr] ==
Bad music timings (too slow).


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/taitojc.cpp taitojc] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/vectorgraphic/vector4.cpp vectorgraphic/vector4]==
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.
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.