Rybags Posted January 24, 2009 Author Share Posted January 24, 2009 I think I'm getting a bit closer. Although I don't have a single setup that keeps both my TVs happy, I have a set of data that with small adjustments works on both. My third TV is a little 5" job, and is just too small to be able to tell what's going on, it would be nice to be able to try on 1 or 2 more. With luck, I'll have a new version to upload a bit later if some people can help test it. Quote Link to comment Share on other sites More sharing options...
Urchlay Posted January 24, 2009 Share Posted January 24, 2009 With luck, I'll have a new version to upload a bit later if some people can help test it. Are you even close to ready for someone to test on NTSC? I've got a nice Commodore 1702 monitor that's begging to display 320x400... Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 24, 2009 Author Share Posted January 24, 2009 I'll make adjustments so it should run on NTSC. Problem is, I don't have an NTSC machine here, so there's no way I can verify it'll work. Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 24, 2009 Author Share Posted January 24, 2009 (edited) For download: Interlace Test V2. Choose from image or just the program file: Intv2.zip (BASIC program, run from APE mirror, or mount the ATR version, boot from a DOS disk and load from this one) Version 2 of the test program - BASIC + Asm. Hopefully this should generate some positive results. NTSC compatible but no guarantees there. If NTSC people have problems with lockups, try changing the second VMIN= in line 1005 to 125 or 126. How to use the program. RUN it from BASIC. It takes a little while to initialize, then presents the screen similar to before. Press "I" to turn the Interlace on. Leave it on unless things become too garbled. You'll never see interlaced graphics if it is "OFF". Next step - press "O" to cycle through offset values. They range from 0 to 23. If you have no success there, press "V" to try the next VStart value, then repeat the offset checking stage. You have a range of VStart values available from 132-137 (PAL). It starts on 133 by default. Once you find you have Interlaced graphics (ie the line shows 16 fine steps), try cycling the screen colour with "C". Sometimes you'll get undesirable flashing, which means you haven't been totally successful. In this case, try again with the V/O sequencing. So far, values I've found to work on either of my 2 PAL TVs are: VStart Offset 132 9,13,17,20 133 15,19,22,23 134 13,17,21 135 0,3,17,18,20,23 136 6,23 137 3,20,22 It would be handy if as many people as possible could try this program, and on different TVs/monitors. CRT type devices much preferable to LCDs. Edited January 24, 2009 by Rybags Quote Link to comment Share on other sites More sharing options...
mos6507 Posted January 24, 2009 Share Posted January 24, 2009 Good thread. I wasn't expecting the A8 to be able to do this without first disabling ANTIC and driving the display the way the 2600 does. Quote Link to comment Share on other sites More sharing options...
Urchlay Posted January 24, 2009 Share Posted January 24, 2009 Version 2 of the test program - BASIC + Asm. Hopefully this should generate some positive results. NTSC compatible but no guarantees there.If NTSC people have problems with lockups, try changing the second VMIN= in line 1005 to 125 or 126. How to use the program. RUN it from BASIC. It takes a little while to initialize, then presents the screen similar to before. Hm. First NTSC test: I tried with the 2nd VMIN in line 1005 at the default (124), and with 125 and 126 too... In all cases, when I run the program, the screen turns black almost instantly. If I try to type on the keyboard, I can hear keyclicks (so either the program is running or has exited, but the machine isn't hard-locked). If I press Reset, I get my READY prompt back... Hm. While it's in black-screen mode, the program's still running: blindly typing GR.0 doesn't work. If I hit Break first, then I can type GR.0 and get my prompt back. I tried actually hitting I, V, and O in various combinations, thinking maybe one of the values for offset/vscrol would do something other than black screen, but no joy... although after I did that I could no longer hit Break and GR.0 to get the prompt back (Reset still works). Actually sometimes I can get the prompt back, but with the entire GR.0 playfield shifted down a couple of lines (the black border at the top of the screen is 2 or more times its normal height, like there are extra blanking lines in the DL). In case it matters: I'm running it on a 64K-upgraded 600XL with a homebrew composite out mod. The upgrades are solid (I used it as my primary development machine for the first few versions of FujiChat, plus it used to be my main gaming rig). I was going to try it on an 800, but can't seem to find my BASIC cart... I do have a stock 800XL I can uncrate and try (which I'll do a bit later). Also, the monitor is a Commodore 1702. It'd be a good bit of effort to try a different monitor (maybe try the living room TV later, which is a 36" CRT from about 2003). I haven't actually looked at the program or tried to debug it, just trying to give as detailed a bug report as possible... does the program start up with interlace turned off? (the directions seem to imply that). Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 24, 2009 Author Share Posted January 24, 2009 (edited) Sorry about that - somehow the program had an error in the VBlank but for some reason I didn't pick it up running it here. I've fixed and uploaded it again in the previous post. If you still have problems, try this: in line 1530, change IF A=23 to IF A=22 Edited January 24, 2009 by Rybags Quote Link to comment Share on other sites More sharing options...
Urchlay Posted January 24, 2009 Share Posted January 24, 2009 on line 1520 change IF A=23to IF A=22 Hopefully that might help. (I assume you meant line 1530?) No effect. Tried with various VMIN= values on line 1005, too. Also tried changing the 23 on line 1530 to a 21 and a 20... too bad this is something that can't be tested in the emulator... though in the emulator, I can see the "INITIALIZING" message (which I can't on real hardware: the screen goes black instantly. Maybe this is a clue?) Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 24, 2009 Author Share Posted January 24, 2009 I should add - on NTSC the screen might move down... this isn't intended, it's just that the program is still under development and that issue can be sorted out. Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 24, 2009 Author Share Posted January 24, 2009 Urchlay: Can you download it again - I've fixed and uploaded it into the previous post. Delete the old version, it had an unwanted bug. Quote Link to comment Share on other sites More sharing options...
Urchlay Posted January 24, 2009 Share Posted January 24, 2009 Can you download it again - I've fixed and uploaded it into the previous post. Delete the old version, it had an unwanted bug. Tried it, same results. Messing with lines 1005 and 1530 didn't help... Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 24, 2009 Author Share Posted January 24, 2009 Working on a fix now... Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 24, 2009 Author Share Posted January 24, 2009 INTV2B.zip Can you try this one. Quote Link to comment Share on other sites More sharing options...
+poobah Posted January 24, 2009 Share Posted January 24, 2009 Interesting thread. Curious if anyone has put this thing on a scope and seen how close you are getting to a 'correct' interlace signal. Might be an easier route than stabbing at it. Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 24, 2009 Author Share Posted January 24, 2009 The 'scope I've got doesn't work properly and even then I don't know if it would be any good for TV signals. I've got 192 KHz sampling on the sound card, so that's all I can go by unless someone else can help out there. That gives you 12 readings per scanline, so you get a bit of an idea what's going on. There seems to be some leeway anyhow... the Plus/4 method of doing interlace actually makes each second frame shorter... sampling them and graphing alongside normal samples shows them skewing away by half a scanline each second frame. Quote Link to comment Share on other sites More sharing options...
Urchlay Posted January 24, 2009 Share Posted January 24, 2009 Can you try this one. No joy. Same results as before. Quote Link to comment Share on other sites More sharing options...
DamageX Posted January 25, 2009 Share Posted January 25, 2009 I tried it on an 800XL w/ 50hz ANTIC connected to an NTSC monitor. It showed the 16 steps but the picture wouldn't stop rolling when interlace was enabled. My 60hz 800XL on the other hand seems to have kicked the bucket since I last used it Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 25, 2009 Author Share Posted January 25, 2009 Thanks... you might encounter settings where it works but has jitter and/or bad colour fluctuations. In such cases, just keep trying. I'm going to try and borrow a couple more TVs, with luck I might be able to refine this thing to the point where a minimal amount of work is needed to get this to work. Would be handy though if more people with PAL machines could try the newer version out. Quote Link to comment Share on other sites More sharing options...
spookt Posted January 25, 2009 Share Posted January 25, 2009 I just tried on my PAL machine. I haven't been through every combination but I can confirm that V=132 O=13 results in a stable picture (no colour flashing or flicker) and 16 very fine steps. Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 25, 2009 Author Share Posted January 25, 2009 (edited) Cool. I've simplified the routine a bit and have 4 TVs here to test on. Trying to get common presets that work on all of them. I'm going to make a version with a small number of presets... also do a bitmap picture instead of a boring text screen, might generate a bit more interest. Edited January 25, 2009 by Rybags Quote Link to comment Share on other sites More sharing options...
Beetle Posted January 25, 2009 Share Posted January 25, 2009 (edited) The last V2B test gave me very nice result: This was done on 600XL, PAL and a stock C= 1084S monitor. Same result with FBAS and Y/C. It would be very cool if this 'exploit' gives the a8 a new graphics mode. Looking forward to something more exiting than a diagonal line Keep up the work! Edited January 25, 2009 by Beetle Quote Link to comment Share on other sites More sharing options...
ijor Posted January 25, 2009 Share Posted January 25, 2009 I thought interlace would be impossible because I seemed to recall GTIA deriving his own timing for generates both SYNCs, and then I assumed tricking ANTIC would not be enough. But I re-checked GTIA schematics, and I see now that this not entirely correct. Not sure how much this would help, but this is the description (taken from the schematics) about how GTIA generates SYNC: GTIA receives vertical and horizontal timing data from the ANTIC ANx signals. The AN Hblank code (01x) is used for the horizontal timing, and the AN Vsync code (001) for the vertical one. Other AN codes don't affect timing. GTIA has its own horizontal counter. The counter is reset when a transition to Hblank code is received. But GTIA also resets the counter on its own on 227 value (this means that GTIA can keep horizontal timing without ANTIC). Horizontal SYNC is derived indirectly from this counter, not directly from any AN code. GTIA has no vertical counter. The AN Vsync code is used directly to drive Vertical SYNC. GTIA has composite sync only, no separated HSYNC and VSYNC. Both internal SYNC signals are combined just befored driving the CSYNC pin. Note that composite SYNC is possibly quite relevant to the issue. Hope this helps. Quote Link to comment Share on other sites More sharing options...
Albert Posted January 25, 2009 Share Posted January 25, 2009 I have to say, it is pretty damn cool to see this. Keep up the great work!! ..Al Quote Link to comment Share on other sites More sharing options...
+bob1200xl Posted January 25, 2009 Share Posted January 25, 2009 On my NTSC machine the program dies when it executes line 150. I can't tell what you're trying to do there but it sure kills the machine. It seems OK up to that point. I'll scope this for you if you can get it running on NTSC. Bob INTV2B.zip Can you try this one. Quote Link to comment Share on other sites More sharing options...
atariksi Posted January 25, 2009 Share Posted January 25, 2009 The 'scope I've got doesn't work properly and even then I don't know if it would be any good for TV signals. I've got 192 KHz sampling on the sound card, so that's all I can go by unless someone else can help out there. That gives you 12 readings per scanline, so you get a bit of an idea what's going on. There seems to be some leeway anyhow... the Plus/4 method of doing interlace actually makes each second frame shorter... sampling them and graphing alongside normal samples shows them skewing away by half a scanline each second frame. You could compare with the Amiga interlace signal which always works consistently. I timed the cycles/frame and going from interlace to non-interlace does not affect the total cycles/frame much-- (< one microsecond on NTSC C1084S monitor). 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.