Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug in concurrent copy in screen 8 #81

Open
artrag opened this issue Mar 20, 2022 · 2 comments
Open

Bug in concurrent copy in screen 8 #81

artrag opened this issue Mar 20, 2022 · 2 comments

Comments

@artrag
Copy link

artrag commented Mar 20, 2022

In the attached ROM, the screen is scrolled horizontally in screen 8
The plotting involves that, for one column of pixels out of 16, the z80 and the VDP copy engine work on the same column.
On real HW and in openmsx ,the z80 is faster than the vdp copy engine and the pixels are correctly updated.

In webmsx the copy engine seems instantaneous, so the z80 cannot update the column of pixels before it get copied.
The result is a black stripe each 16 pixels and a broken scrolling.

mytestrom[KonamiSCC].zip

Try the rom in attach on openmsx and webmsx (KonamiSCC mapper)
Press Enter to pass the flame screen and use right/left arrows to scroll

@ppeccin
Copy link
Owner

ppeccin commented Apr 4, 2022 via email

@artrag
Copy link
Author

artrag commented Apr 6, 2022

My code is tested on v9938 and on v9958 and works well on both. The timing is guaranteed by the size of the involved data (the vdp moves 8 bytes for each byte moved by the z80) and by the margins used in the timings.
I can assure you that no revision on the above chips can behave outside the timing bounds assumed by this software

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants