Jump to content
IGNORED

A couple of games with display, gfx issues on real 2600 Jr. PAL


maiki

Recommended Posts

I have Atari 2600 Jr. PAL-B with Harmony cartridge and standard PAL CRT TV (made 2009). Vast majority of the games (no matter if PAL-50, 60 or NTSC) work 100% but some of them have more or less important issues either with display or graphics:

 

1. Fatal Run - it is supposed to be a PAL cartridge but look how badly it is synchronized on the real TV.. looks like odd number of scanlines or something wrong with that sort of things

 

9ktbtk.jpg

2rr2ir5.jpg

2jdg87q.jpg

2mydx7t.jpg

 

 

2. Alien 8k - This is I believe a PAL-60 conversion someone made some time ago. The original Alien was NTSC only I think. Sadly, due to some sync problem(?) the display jumps every second or two. I would like to have this game, it is a great Pac Man variant but with that jumping picture...

 

a310th.jpg

143166h.jpg

 

 

3. Polaris - The PAL version has messed up credits graphics. It also happens in Stella and seems like not everytime. Don't know why but certainly I would prefer if it did not. The NTSC version seems 100% but colors are obviously off.

 

28gv13t.jpg

mkw39j.jpg

 

 

 

 

4. Spider Fighter - Similar issue to Polaris - the Activision credits messed up. Seems not to be happening in Stella though. Both PAL and NTSC. No other Activion game has this issue.

 

300gti1.jpg

2955y05.jpg

 

 

5. Wabbit - This is an NTSC game and is out of sync with the TV (constantly jumping, flickering).

 

at4x3.jpg

 

 

 

6. Tomarc The Barbarian - Again, an NTSC game which shows intro screen fine but then completely "blows up" - the only one actually.

 

w2c7yf.jpg

2cyn0a0.jpg

 

 

 

I can access the TV service menu and there are many values to play with but I don't think any of them will fix the screen issues described above. At least I played a bit with things like Vertical Amp, Shift, even for 60 Hz mode operation, do not remember exactly all of them, and it did not affect the syncing at all.

 

But I do believe that the issues might be fixed in the code because when most of the NTSC (PAL60) games display fine then the problem must be somewhere else.

 

 

 

Especially I would like to have a perfectly running Alien 8k and Polaris. If there is somebody who has time and will to help me, I really appreciate that. Thank you.

Link to comment
Share on other sites

Fatal Run does weird things during VSYNC. IIRC someone has fixed that.

 

Polaris shows a problem with an uninitialized BCD mode flag. This is fixed in the attached ROM. But the problem goes deeper, since the game doesn't initialize other stuff too (e.g. starts with 2 player mode).

Polaris (1983) (Tigervision) (PAL, CLD fix).zip

Link to comment
Share on other sites

Fatal Run does weird things during VSYNC. IIRC someone has fixed that.

 

Polaris shows a problem with an uninitialized BCD mode flag. This is fixed in the attached ROM. But the problem goes deeper, since the game doesn't initialize other stuff too (e.g. starts with 2 player mode).

 

Thanks Thomas, but that graphics glitch still remains on the real console with your fix... Nevermind though. Pressing select, reset solves that.

 

How about Alien 8k? Do you think you could have a look at that one?

Alien8k(PAL60).bin

Edited by maiki
Link to comment
Share on other sites

Fatal Run does weird things during VSYNC. IIRC someone has fixed that.

Polaris shows a problem with an uninitialized BCD mode flag. This is fixed in the attached ROM. But the problem goes deeper, since the game doesn't initialize other stuff too (e.g. starts with 2 player mode).

.

I don't know if someone has tried to fix that, but I can take a look a little bit later. I have disassembled the NTSC version and found Fatal Run does a couple of things wrong. It hits RSYNC for some reason, and even if that RSYNC was replaced with a WSYNC it might not be 3 complete scanlines of VSYNC since VSYNC is not started following a WSYNC.

 

 

I forgot one more game: Thunderground - PAL. See the shifted pixels in the score compared to Stella.

 

2ele6ph.jpg

.

This is probably related to the same issue as the NTSC rom. The graphics for the digits get updated ... can't remember if it is early or late... but a late model Jr. doesn't like it. I have patched the NTSC rom before, and I could also look at the PAL rom a little bit later.

 

 

With Tomarc, I know there was a bad NTSC rom dump out there. If you are using the NTSC rom make sure it is from Rom Hunter's latest rom pack as I don't know what version it was swapped out on. If you are using the PAL version then I don't know the cause.

Link to comment
Share on other sites

Thanks, Omegamatrix. Thanks to your info I now have a Tomarc The Barbarian NTSC version working great (from Atari Mania). It does not look like there is a PAL version though.

 

As for the Thunderground fix, it is OK before you start playing, then, have a look:

 

2vsrx4o.jpg

---------------------------

28t96b9.jpg

Link to comment
Share on other sites

Here is a partial fix for Fatal Run. You will see screen bounces between title screen and game screens, and between some other screens. To fix the scanline bounces will require more disassembling which I may or may not do. Right now I'm interested if the screen shifting in fixed, and are any of the screens black and white?

 

 

Fatal Run (PAL fix).zip

 

 

I'll have to take another look at Thunderground. Can you please post the PAL rom that you are using for Thunderground, and Spider Fighter too?

  • Like 1
Link to comment
Share on other sites

Whow! Things are really moving on here, Omegamatrix!

 

Fatal Run: more or less this is perfect. I did not see any major screen bouncing in between. Gameplay picture is perfect. Now they can start selling the cartridge.

 

20p7l7r.jpg

2gw86dh.jpg

2woyh3c.jpg

 

 

Polaris: 100%!

 

5e8lck.jpg

 

 

Thunderground: 100%!

 

2dih7ox.jpg

 

 

Wabbit: 100% NTSC!

 

sdcieo.jpg

 

 

Alien 8k: picture still jumping as before

Spider Fighter: artifacts in the score and credits as before

 

 

Thank you very much for your time and effort!

Link to comment
Share on other sites

Maiki, does the title screen roll too? Is there anywhere in particular the screen rolls?

 

 

Below is a pure test rom. Can you tell me if the screen rolls? The dots should be moving very fast left to right, but please ignore that... this is just a test.

 

 

Alien8k(testRomV1).bin

 

 

 

 

I'm speculating that the writes to HMMx and RESMx during VSYNC might be messing with the VSYNC signal. I even disabled reads of INPT4 and INPT5... so lets see if the screen still rolls.

 

  • Like 1
Link to comment
Share on other sites

Alien 8k: No the intro screen is stable. The screen does not roll but it jumps (like doubling itself for a moment) quickly every half a second or so. White pixels are moving left to right. I could try to record a video but I only have a crappy N73... The only spot it does not jump is the intro screen before the maze appears.

 

Spider Fighter seems 100% fixed now!

Edited by maiki
Link to comment
Share on other sites

Just to recap:

 

- Titlescreen has no jumps at all.

- Jumps start on playing screen every 1 to 2 seconds.

 

 

Does the screen jump even if you do nothing? i.e. don't press anything. Also, have you tried moving the difficulty switches and color/BW switch to different positions? I haven't looked to deep into the code, but they may be used for something.

  • Like 1
Link to comment
Share on other sites

I just tried the game on my TV, and I am getting the same jumping that you are. This will make it easier to troubleshoot. I found their also is a pause switch, and the screen doesn't bounce when it is on. I have to leave for a while now, but I will take a deeper look at the timers when I get back home. Perhaps one is overflowing and Stella is not catching it. I might just check TIMINT instead.

 

 

 

Edit: It actually is possible to capture the bounce while paused if you are in the right spot. Also, a even bigger clue is the bounce is happening when the asterix is like this ------> ./.

  • Like 1
Link to comment
Share on other sites

On V2 you posted last when I switch COLOR-BW to PAUSE it seems to improve but still slighty tends to bounce here and there (cannot say the exact period it seems to be different each time). When I unpause it it gets back to bouncing. Generally I would say that it does not seem to matter if I touch or change anything else. Maybe changing difficulty with SELECT has some slight effect.

Edited by maiki
Link to comment
Share on other sites

I believe I have found and fixed the problem.

 

Alien8k(Pal60fixV3).bin

 

 

This is a corner stone case in which the emulation has to be improved, and where we have tried to improve it in the past. I initially changed the timer test for VBLANK so that it used TIMINT, and found the screen was dropping only a single line now and then. I switched back to using INTIM and found WSYNC was getting hit in the middle of the scanline, and I didn't see any problem except that maybe the store to TIM64T should be in a place where the cycle is always exactly the same, i.e. following after a WSYNC. The rom looked something like this:

.

    lda    #$01
    ldy    #$33           ; time for VBLANK
.loopWaitOverscan:
    ldx    INTIM
    bne    .loopWaitOverscan
                          ; @cycle 25-27 (from stepping through Stella)
    sty    TIM64T         ; <--- storing to the timer here, maybe too soon after being read?

    sta    WSYNC
;---------------------------------------
    sty    VSYNC   ; vsync starts
    sta    WSYNC

.

.

I then moved the store for TIM64T to be after a WSYNC, and then I could clearly see a scanline bounce... in overscan. I adjusted the timers and the bounce disappeared. The worse thing about all this is there should be no bounce from overscan as the timer was running out in the middle of the scanline. What I take from all this is:

 

- Always update the timers at a constant cycle so they won't drift frame to frame

- Make sure your timer runs out in the middle of the scanline, and not the end. Ending on cycle 73/74 and following with a WSYNC is a headache for scanline troubleshooting if you don't know where to look.

- The timer emulation has to clearly be improved, but I'm not sure exactly what is going wrong.

- Beware of the invisible bounce in Stella, where overscan takes too long. You will not see the screen bounce as it is aligned to VSYNC. Always use ALT-L to see the line count or set a break condition such as "breakif _scan>#262" for NTSC in the debugger.

- Testing TIMINT might save your game from horrible bounces, but re-using a zero value from branching on BNE is still nice to have.

- I don't completely trust storing to the timer so soon after being read. I hope someone can look deeper and quash this if it's based on misinformation.

  • 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...