Annotation of generator/doc/bugs, revision 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.