dirkwhoffmann / vAmiga

vAmiga is a user-friendly Amiga 500, 1000, 2000 emulator for macOS
https://dirkwhoffmann.github.io/vAmiga
Other
293 stars 24 forks source link

Implementing a more flexible DIW logic #805

Closed dirkwhoffmann closed 5 months ago

dirkwhoffmann commented 6 months ago

In order to get OCS/ECS behavior right for the demo mentioned in #799 (OCS must show splash screens, ECS must not), Denise needs a more accurate border processing logic:

First proposal:

Add:

In Denise::setDIWSTRT, Denise::setDIWSTOP, Denise::setDIWHIGH:

In void Denise::hsyncHandler():

Note: If there was a register change in line n, the border mask must be updated again in line n+1.

Deprecations:

Pros:

Cons:

dirkwhoffmann commented 5 months ago

Fixed in v2.5b1