Xebec Posted March 12, 2020 Share Posted March 12, 2020 Hey Atarians, I have a PAL ANTIC swapped 800 XL w/U1MB ("NTSC 50" I think), and I've been enjoying some of the more modern demos (Near and Far Away - which is beautiful on a real CRT btw!); but unfortunately Cyberpunk by LAMERS halts as it detects an NTSC system and says 'PAL required'. I'm curious what Cyberpunk might be using to detect PAL vs NTSC, and if there is any thing I can do with a SIDE2/U1MB to fake out the demo to see what happens when it runs? Thanks! Quote Link to comment Share on other sites More sharing options...
Paul Westphal Posted March 12, 2020 Share Posted March 12, 2020 Swap the NTSC GTIA for a PAL one. Some demos require swapping both to run. Paul Eightbitfix.com Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted March 12, 2020 Share Posted March 12, 2020 The PAL register is in the GTIA hardware address space; Cyberpunk is presumably using it to ascertain the video system. 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted March 12, 2020 Share Posted March 12, 2020 (edited) A quick hack to the demo itself would probably be easiest. Likely it's only checking once. (that said, assuming it's not some multiload compressed thing in which case potentially a big headache) Edited March 12, 2020 by Rybags 2 Quote Link to comment Share on other sites More sharing options...
Xebec Posted March 12, 2020 Author Share Posted March 12, 2020 10 hours ago, Paul Westphal said: Swap the NTSC GTIA for a PAL one. Some demos require swapping both to run. Paul Eightbitfix.com Thanks, I will order one. With PAL and GTIA both swapped but everything else 'NTSC/original' - how does the experience compare to either original NTSC or a 'full PAL' ? 1 Quote Link to comment Share on other sites More sharing options...
Xebec Posted March 12, 2020 Author Share Posted March 12, 2020 1 hour ago, Rybags said: A quick hack to the demo itself would probably be easiest. Likely it's only checking once. (that said, assuming it's not some multiload compressed thing in which case potentially a big headache) I am willing to learn how to do this - I assume using some kind of disassembler or program that real-time shows me what code is running; any recommendations where to start / what software to use? I'll go from there and try to self-learn.. Thanks (I have old C Programming experience, understand some assembler instructions, and assume I would need to follow the code until the point that it halts, and figure out how to get a 'pass' into either RAM or a change to the original XEX that just works). 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted March 12, 2020 Share Posted March 12, 2020 Cyberpunk_nocheck.xex Patched to ignore the system type. Note this will crash on NTSC Antic machines around the second part of the demo. There's just the single check for PAL which was fairly easy to find. I initially used UltraEdit to just do a hex find of 14 D0 - there's multiples of them but only one is a read (AD) LDA $D014 instruction. But it's followed by RTS so it's a subroutine. So, next up was to use Altirra with a breakpoint - for some reason writes were triggering it as well so it takes a few false hits before you find it. The subroutine lives at $3389 but it's the caller we want. The sequence of instructions is 2d34: jsr $3389 cmp #1 bne $2d48 The bne goes to the display NTSC message, so all that's needed is to NOP those 2 bytes out. The sequence of bytes is 20 89 33 c9 01 d0 0d for those instructions, so we go back to UltraEdit then search for them and replace the D0 0D with EA EA to bypass the check. 4 3 Quote Link to comment Share on other sites More sharing options...
+Nezgar Posted March 12, 2020 Share Posted March 12, 2020 I wonder if there is a simple hardware mod that could be done to force $d014 to return the relevant altered bits software often expects to identify PAL/NTSC? The thought crosses my mind as I recall hearing in one of the Floppy Days podcast interviews with a Sinclair ZX designer, that there was a bug in their mask ROM that was corrected after production with a hardware mod to alter one bit of one byte... 1 Quote Link to comment Share on other sites More sharing options...
Xebec Posted March 12, 2020 Author Share Posted March 12, 2020 9 hours ago, Rybags said: Cyberpunk_nocheck.xex 174.75 kB · 4 downloads Patched to ignore the system type. Note this will crash on NTSC Antic machines around the second part of the demo. There's just the single check for PAL which was fairly easy to find. Wow! You are awesome Rybags! Thank you so much!! Quote Link to comment Share on other sites More sharing options...
Rybags Posted March 12, 2020 Share Posted March 12, 2020 Mod for $D014, $D034 etc. - likely that'd need a microcontroller or similar on a passthru chip carrier like some Pokey+Covox upgrades of the modern day. Could be done with discrete logic but I suspect you'd be looking at multiple 74LS chips which would be almost as big as a memory upgrade. Quote Link to comment Share on other sites More sharing options...
Piotr D. Kaczorowski Posted September 14, 2023 Share Posted September 14, 2023 I know this is probably not what you'd like to hear, but as you know, many of us simply have a second Atari in either PAL or NTSC version. It might be hard to expect demos to account for the 50/60Hz versions as well as NTSC Artifacting (probably in two versions) and PAL Blending. There's a clear reluctance even at the stage of porting PAL games for NTSC systems. 1 1 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.