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

Early HMOVE glitch on some consoles #1022

Open
thrust26 opened this issue Mar 12, 2024 · 8 comments
Open

Early HMOVE glitch on some consoles #1022

thrust26 opened this issue Mar 12, 2024 · 8 comments
Assignees
Milestone

Comments

@thrust26
Copy link
Member

thrust26 commented Mar 12, 2024

There seems to be a different result of an early HMOVE on some consoles:

https://forums.atariage.com/topic/280660-hmove-variations

If we find out how this work, we should add this as an option in the Developer/TIA tab.

Maybe this is related to #699

@thrust26 thrust26 added this to the Prio 2 milestone Mar 12, 2024
@ale-79
Copy link

ale-79 commented Mar 13, 2024

Is there a rom available that is known to show the issue, and possibly a screenshot of the output from an affected console?

In the mentioned issue #699, I posted the HMOVE tables from my consoles (link). Those include 2 late units: a 7800 with a TIA manufactured in Oct '89 and a Junior with an Oct '90 one (and a 1991 copyright on the box, so basically from one of the final production runs of the console). In both cases there are no differences in positioning for cycle 73 and 74 HMOVEs.

Eckhard Stolberg's post quoted in the AA thread you linked, is referring to differences that occur with HMOVE pulses in the visible part of the scanline, but, as @DirtyHairy says in his reply in that same thread, as far as we know, cycle 73 and 74 HMOVEs do NOT produce pulses in the visible part of the line because of the delay between the register strobe and the first pulse, and that a possible explanation would be that in some consoles that delay is shorter.
The result in testing my units in both cases (cycle 73 and 74), is that the first pulse occurs at the beginning of the Horizontal Blank. I attach here a table that I compiled when investigating HMOVE-RESxx race conditions, with the timing of the HMOVE pulses for HMOVE from cycle 73 to 3.
HMOVE-RESxx_race_conditions.txt

So, are there confirmed cases of different timing of the HMOVE pulses?

@thrust26
Copy link
Member Author

I am also not 100% sure. Bin this thread the discussion came up again, so I figured we should at least notice.

@DirtyHairy
Copy link
Member

Hm, if I play with the HMOVE delay I do not replice that issue at all, but instead completely break the kernel.

@thrust26
Copy link
Member Author

There was a new finding lately. It seems that (for whatever reason) the players are not correctly positioned at the beginning. Something that we do not emulate correctly.

@thrust26
Copy link
Member Author

@DirtyHairy
Copy link
Member

Yeah, I played with it a little, anything that systematically affects all late HMOVEs badly breaks the kernel.

@thrust26
Copy link
Member Author

If you add this as an option to the TIA code, I will create the UI for it.

@thrust26
Copy link
Member Author

thrust26 commented Aug 11, 2024

The PlusCart menu also has problems on certain Jr console (the display is partially shifted more right each line). I am quite sure it uses early HMOVEs too. Seems like the early HMOVE doesn't move back by 8 but only by 7 pixel.

https://forums.atariage.com/topic/317039-pluscart-sd/?do=findComment&comment=5510832

The Harmony menu shows a similar problem:
https://forums.atariage.com/topic/196368-unicorn-boards-and-harmony-cart-menus-single-chip-2600-compatibility/

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

No branches or pull requests

3 participants