maiki Posted November 2, 2013 Share Posted November 2, 2013 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 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... 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. 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. 5. Wabbit - This is an NTSC game and is out of sync with the TV (constantly jumping, flickering). 6. Tomarc The Barbarian - Again, an NTSC game which shows intro screen fine but then completely "blows up" - the only one actually. 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. Quote Link to comment Share on other sites More sharing options...
maiki Posted November 2, 2013 Author Share Posted November 2, 2013 I forgot one more game: Thunderground - PAL. See the shifted pixels in the score compared to Stella. Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted November 2, 2013 Share Posted November 2, 2013 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 Quote Link to comment Share on other sites More sharing options...
maiki Posted November 2, 2013 Author Share Posted November 2, 2013 (edited) 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 November 2, 2013 by maiki Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 2, 2013 Share Posted November 2, 2013 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. . 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. Quote Link to comment Share on other sites More sharing options...
maiki Posted November 2, 2013 Author Share Posted November 2, 2013 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: --------------------------- Quote Link to comment Share on other sites More sharing options...
maiki Posted November 2, 2013 Author Share Posted November 2, 2013 As for the Alien I have now tried the official NTSC Alien and the picture is perfectly stable. So the issue is only with that 8k hack... http://www.atarimania.com/game-atari-2600-vcs-alien_7513.html Quote Link to comment Share on other sites More sharing options...
maiki Posted November 2, 2013 Author Share Posted November 2, 2013 Some more shots from Spider Fighter. Score being affected as well (16280). Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 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? 1 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 This is a shot in the dark, but try this for Spider Fighter: SpiderFighter(PAL Score Fix Ver1).bin I'm thinking writing to GRP0 a line early was being corrupted while using VDELP0, i.e. the registers hadn't shifted the copies yet. 1 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 Try this for Thunderground (PAL): Thunderground(PAL) Score Fix Ver1.bin 1 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 VSYNC was a definite problem in Alien 8K. It was doing 1 scanline of it instead of 3. I corrected it to 3 scanlines, and I hope it affects nothing else. Looks like a cool game too. Love the logo. Alien8k(re)Pal60fix.zip 1 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 I took a quick look at Wabbit. That game had issues with VSYNC as well here is a quick fix: wabbit(NTSC)scanlineFix.bin 1 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 Here's an update to Polaris. I gave it a proper clear sequence, and fixed the scanline count during the play screens. polaris(re)palfix.bin 1 Quote Link to comment Share on other sites More sharing options...
maiki Posted November 3, 2013 Author Share Posted November 3, 2013 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. Polaris: 100%! Thunderground: 100%! Wabbit: 100% NTSC! 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! Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 Try this for Spider Fighter: SpiderFighter(PAL Score Fix Ver2).bin 1 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 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. 1 Quote Link to comment Share on other sites More sharing options...
maiki Posted November 3, 2013 Author Share Posted November 3, 2013 (edited) 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 November 3, 2013 by maiki Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 Latest try for Alien 8k: Alien8k(re)Pal60fixV2.bin I'm thinking the issue is when VBLANK is started. So it might be a TV problem where some TV's will tolerate different amounts of VBLANK. 1 Quote Link to comment Share on other sites More sharing options...
maiki Posted November 3, 2013 Author Share Posted November 3, 2013 (edited) It is the same. The original NTSC ROM is displaying fine if that helps. http://www.atarimania.com/game-atari-2600-vcs-alien_7513.html edit: I am going to try a different TV what it is like just to make sure... edit 2: Different TV = the same issue. Edited November 3, 2013 by maiki Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 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. 1 Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 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 ------> ./. 1 Quote Link to comment Share on other sites More sharing options...
maiki Posted November 3, 2013 Author Share Posted November 3, 2013 (edited) 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 November 3, 2013 by maiki Quote Link to comment Share on other sites More sharing options...
Omegamatrix Posted November 3, 2013 Share Posted November 3, 2013 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. 2 Quote Link to comment Share on other sites More sharing options...
maiki Posted November 3, 2013 Author Share Posted November 3, 2013 Working! Perfect picture, perfect gameplay! And Spider Fighter too... Thank you! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.