Annotation of generator/doc/bugs, revision 1.1.1.1

1.1       root        1: General emulation flaws
                      2: =======================
                      3: 
                      4: * Layer A turning off is not supported in left-right direction when Window is
                      5:   used (however window *is* done correctly at a higher priority, so maybe
                      6:   nobody will ever notice). (is there a game that uses this??)
                      7: 
                      8: * Interlace mode doesn't support windows (is there a game that uses this
                      9:   so I can test it??)
                     10: 
                     11: * The main loop in reg68k checks for events every block, I mean, duh, why
                     12:   aren't I calculating how many clocks UNTIL the next block, executing that,
                     13:   and THEN doing something. (two branch instructions per block could be
                     14:   saved here maybe...)
                     15: 
                     16: Specific game bugs
                     17: ==================
                     18: 
                     19: Sonic 2
                     20: -------
                     21: When in interlace mode, there is supposed to be a one-cell gap in the middle
                     22: that is solid blue.  In Generator's emulation, layer A trees and sprites
                     23: appear on top, this is not the case on a real Mega Drive.
                     24: The title screen also appears not as it should, with Sonic and Tails appearing
                     25: on top of the logo.
                     26: 
                     27: Sonic 3D
                     28: --------
                     29: The trap-door under the portal looking thing appears on top instead of
                     30: behind the main Sonic sprite.
                     31: 
                     32: yuuyuu
                     33: ------
                     34: After logos, blank screen and music plays, nothing happens.
                     35: 
                     36: Wolfchild
                     37: ---------
                     38: Layers are corrupt - this is due to a routine at e1b80.  This is a very
                     39: simple loop that seems to copy 120 bytes at c000, then 120 bytes at c004
                     40: etc... really bizaare why it would do that.  DGen does the same as Generator,
                     41: KGen and Genecyst gets it right.
                     42: e1a8a
                     43:   e1a8e->e1b42
                     44:            e1b7c->e1b80
                     45:                     e1ba8->e2ed4
                     46:                   e1bc0
                     47: 
                     48: Road Rash 2
                     49: -----------
                     50: Screen corruption
                     51: 
                     52: Out Run
                     53: -------
                     54: This is bizaare - with the correct number of CPU clocks per line, you get 
                     55: screen corruption on the road, but with less or more CPU clocks, the screen
                     56: corruption goes away...
                     57: 
                     58: Alien Storm
                     59: -----------
                     60: When you enter a level there are a series of dots in the title screen, this
                     61: is due to a bug I introduced in CRAM code for version 0.14.  Must fix this :)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.