ekijak@ARDEC.ARPA ("Edmund S. Kijak", IMD-SIAS) (05/02/88)
I agree with wallman-george@yale-zoo.arpa (Natuerlich!) responding to Stan Lackey's suggestion to use the jump at VBI at the end of a display list to jump to an alternate display list. (This was to automatically display alternating screens meant for the left eye, then right eye, etc. to achieve a stereoscopic effect with a minimum of software coding). I tried it on a 400 and found that the address in the jump instruction is ignored, the computer continues to use the original display list and the display doesn't change. Perhaps as wallman-george@yale... points out, something has to be done to 'shut-off' shadowing of memory locations pointing to the display list. I haven't figured out how to do it though (or if it is even possible). Maybe it works on the XE machines.
cfchiesa@bsu-cs.UUCP (Christopher Chiesa) (05/03/88)
(Parent-article information lost due to hitting 'R' rather than 'f' first time through... sigh...) > ...use the jump at VBI at the end of a display list to > jump to an alternate display list. ... > I tried it on a 400 and found that the address in the jump instruction is > ignored, the computer continues to use the original display list and the > display doesn't change. > Perhaps as wallman-george@yale... points out, something has to be done to > 'shut-off' shadowing of memory locations pointing to the display list. Well, you've got the basic idea: that the OS VBI routine is restoring the hardware Display-List pointer from shadow locations 560,561 (dec), AFTER the Antic JMP instruction tries to go somewhere else. You need to either SHUT OFF shadowing of 560,561 into hardware, OR update THOSE locations so that THEY ALSO point at the new Display List. Shutting off shadowing may be as easy as setting the CRITIC flag, suppressing part of the VBI processing -- but I'm not absolutely sure that the shadowing you want to suppress, is part of the code getting suppressed, so that may not work. To be absolutely sure, you'd want to write your OWN VBI routine that took care of whatever OS operations you wanted still to happen, but DIDN'T shadow the Display List locations. Updating the shadow locations on the fly could be done most easily in a short DLI (Display List Interrupt) routine; in the middle of display "A", the DLI kicks in and changes the shadow registers to point to display list "B". And vice versa. Note that the DLI needs to know which display list it is currently in; you need to maintain a flag, or switch, in memory. The advantage to THIS method is that the code is relatively short, you don't have to take up the bur- den of anything the OS normally handles for you, and you can turn the page- flipping DLI on and off by playing ONLY with the Display List. Of course, in NEITHER application are you limited to TWO display lists, al- though if you're after STEREO that's all you really need. -- UUCP: <backbones>!{iuvax,pur-ee,uunet}!bsu-cs!cfchiesa cfchiesa@bsu-cs.UUCP
) (05/05/88)
In article <8805020833.aa01825@ARDEC-3.ARDEC.ARPA> ekijak@ARDEC.ARPA ("Edmund S. Kijak", IMD-SIAS) writes: >Perhaps as wallman-george@yale... points out, something has to be done to >'shut-off' shadowing of memory locations pointing to the display list. I haven't >figured out how to do it though (or if it is even possible). Maybe it works >on the XE machines. Nothing easier than that. Just circumvent the usual OS routine. As usual I don't have my Atari sitting here "at work" but this should work (in BASIC). POKE 54286,0 POKE 546,PEEK(548) POKE 547,PEEK(549) POKE 54268,192 OK what I think this will do is preempt the immediate VBI by using the deferred VBI that doesn't do the shadowing and usually does nothing. 54286 is NMIEN that turns VBIs and DLIs on and off. Watch out. Lots of stuff will not work anymore with shadowing disabled such as 'comfortable typing' SETCOLOR commands etc. If you use BASIC pure in the first place, you won't get very far. Better write a little VBI that does the work. DISCLAIMER: the statements were done w/o consulting either my indis- pensable Mapping the Atari book, nor by trying it out on a computer. But I am confident that above statements are true. -------------------------------------------------------------- Loveletters & Hatemail to : wallman@yalecs Files to : WALLMANN@CTSTATEU (Bitnet) Talk to : wallman@yale-zoo-suned.arpa --------------------------------------------------------------
lackey@Alliant.COM (Stan Lackey) (05/06/88)
In article <8805020833.aa01825@ARDEC-3.ARDEC.ARPA> ekijak@ARDEC.ARPA ("Edmund S. Kijak", IMD-SIAS) writes: >I agree with wallman-george@yale-zoo.arpa (Natuerlich!) responding to Stan >Lackey's suggestion to use the jump at VBI at the end of a display list to >jump to an alternate display list. I glitched. What I REALLY did was change 560/561 and the hardware location to the alternate display list in an extension to the VBI code I put in page 6. Now, who is going to buy a pair of Sega 3D glasses ($60) and try it out? If I was confident I could figure out what voltages to apply to those babies without blowing them out, I might go for it myself... -Stan
cfchiesa@bsu-cs.UUCP (Christopher Chiesa) (05/07/88)
If anyone DOES come up with tech-specs for the Sega 3D glasses (voltages, currents, pulse form requirements etc.), and if anyone else knows where to get them, I'd be happy to throw $60 into 'em. I've been a stereo nut for years, so this is a worthwhile expenditure. Chris Chiesa -- UUCP: <backbones>!{iuvax,pur-ee,uunet}!bsu-cs!cfchiesa cfchiesa@bsu-cs.UUCP