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

K051960/K051937 (sprite logic): h scaling counter gets reset while rendering #18

Open
jotego opened this issue May 10, 2023 · 1 comment

Comments

@jotego
Copy link
Contributor

jotego commented May 10, 2023

While simulating your models for this pair of chips, I found that the master chip starts the scaling count on SPR_ZX_ACC before the drawing part starts rendering. So the CARY signal gets a bit ahead of time. Not only that, but the SPR_ZX_ACC loads the next sprite data before the current one is completely rendered, which has the effect of potentially missing some CARY assertions for the last few pixels.

imagen

The whole file with the waveforms is here.

Whether this is the real behavior or just some logic missing between these two parts, I don't know. But I thought it was worth mentioning it, in case you have seen funny behaviour related to the scaling logic.

These are the simulation files:

k051960.zip

@furrtek
Copy link
Owner

furrtek commented May 13, 2023

Thanks for the report Jose.
There shouldn't be any logic missing but hook-up or verilog mistakes are very possible. I've only partially tested vertical scaling in simulation, and TMNT almost never uses scaling at all, so I must have missed the problem.
I'll have access to a real computer to investigate after the 22nd.

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