Jump to content
IGNORED

Routine gives rolling picture on 4-switcher, works fine on 6-switcher?


Sdw

Recommended Posts

As the release of "Spaceman Splorf" draws closer, I've unfortunately had the following report regarding the NTSC version:

 

"I’ve been testing the game on a 6-switch 2600, and it has been just fine. Readying for the show, I was going to use a 4-switch 2600, but for whatever reason, the game loses its vertical hold during game play (not on the main title screen)Have tried this on two 6-swtich units, and it works fine, and two 4-switch units which both have the vertical hold issue (on 3 different TV sets)."

 

As I'm in PAL-land myself and only have a PAL2600Jr, I have no real way to test this. Linecount for the NTSC version is a steady 262.

 

Anyone ran into this issue before?

 

The only thing I can think of that I do that is "non-standard" is that ingame I have a displayable area that is a big bigger than 192 pixels (can't recall the exact count), but on the titlescreen (which apparently is working fine) it is a bit less.

 

Could I be hitting some limit of minimum top/bottom VBLANK area size that is different on the 4-switchers compared to 6-switchers?

 

 

Link to comment
Share on other sites

Does it happen if you use the same PAL CRT you used to test the 6 switch?

 

PM me the NTSC bin and I'll try it on my junior (good TIA) and Vader models - I've got a JVC CRT that rolls if the scanline count varies by one but as long as it's solid it can go a bit over 262, depends how far you go.

 

Your awesome liquid Candy demo works on every console including the portable, I'm curious to see the difference you've uncovered between the 4/6 switch architecture.

Link to comment
Share on other sites

The console is not aware of the number of lines outputted by the game, so an off-spec signal that uses too many lines should cause issues depending on the different TV sets, not different consoles.

NTSC has different voltages levels for "black" and "blanking", while they're the same for PAL. The NTSC TIA has a "blank" outptut which goes low during Horizontal Blanking (automatically generated by the TIA) and Vertical Blanking (under program control by toggling the "VBLANK" TIA register), ensuring that the video signal is at the correct level.

According to the Service Manual, a couple of board revision used in 4-switch models don't have the TIA "blank" pin connected to the video output, so if something is wrong in how you generate the video in your code, it might affect those consoles and not the other models.

Ensure that VBLANK is set during all the vertical blank interval and that VSYNC is set for 3 full scanlines.

Another cause could be a zero-page addressing mode instead of immediate (missing "#" in front of a constant). The game still works most of the time, but there were cases where the bug showed only on certain consoles, so it's worth checking.
In Stella, enter the debugger and select the option "Drive unused TIA pins randomly on a read/peek" in the TIA tab. (alternatively, add the "-tiadriven 1" option when starting the emulator from the command line). If you have such a bug in your code, this option should make it evident.

 

Quite a few games (both commercial and homebrews) have that bug, so they fail with the option enabled. Use it for debugging only!

Edited by alex_79
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...