Thema: Re: Lightpen done, now 3D??? Von: Ocelot@cyberbeach.net (Rob Stickles) Datum: 24 Oct 1996 13:16:25 GMT In article <54kjqb$9cv@newsbf02.news.aol.com> chrissalo@aol.com (Chrissalo) writes: > Hi Folks! > > Emulator report: > > Lightpen seems to be working fine... now some day in the future I'd > like to tackle 3D... > > Not much information is found regarding that subject... If anyone has some > hints how vectrex does this 3d stuff... please be so kind as to share > the information. umm.. first off, read the FAQ! I've written most of the sections on how the imager operates and creates 3D and colour. Thats a start. As for implementing the 3D games on the emulator, I dont see the point other than to satisfy the curiousity of people who havent seen the games. :-) You could build an interface for the imager (and getting or building your own imager, both of which are exteremly hard to do. Believe me, I've tried) or patch the emulator to remove the doubled images and to draw coloured vectors corresponding to the position of the colour wheel. You still wouldn't be able to get the full 3D effect. You could get the 3D effect by assigning colour to each duplicate image and using red/blue 3D glasses, but then you lose the great colour. The simplest way to get the 3D games to 'barely' run would be to simulate a button press on joystick #2 button 4 at a frequency of about 100 Hz. The 3D games expect that information. The Imager itself is a very simple feedback circuit, with the Vectrex sending pulses of particular frequency to the imager motor which then spins a disk with a timing hole. The 'actual' speed of the motor is taken from the timing hole and sent back to the vectrex. This is done to give the motor a chance to speed up/slow down, to syncronise with what the vectrex is displaying, and to probably allow for different makes of motors to be used in the imager in case one type wasnt available. Just sending the pulses the Vectrex is expecting (ie indicating that the motor is up to speed and nothing is wrong) would suffice to boot up the 3D games, but some games change motor speed during the game (usually slower) to allow more vectors to be drawn of particular colour in one pass of the particular portion of the colour wheel. To compensate for this you would have to read the information the vectrex is sending down the joystick port (I think the information going to the imager is button 3, but dont quote me) and then just send that information back to the emulator as button 4. What you get after this would be a running 3D game, which looks a mess as you'd see all the information at once. As for making the 3D games playable, you'd have to interface an imager or imager-like device to the PC (not the best solution) or fix the emulator to recognize: 1) The code that draws the duplicate images of each object (one for each eye, I'll call the left eye information O and the right eye info O') -- What you will probably have will be a vector list and a horizontal offset for each object. The first draw pass will draw object O by sending the vector list to the draw routine you want in the Executive ROM. The first draw cycle finishes, the vectors disappear, and the same vector list is sent to the Executive Rom again for O' but their position is offset horizontally by some amount corresponding to how 'deep' or 'in your face' you want the object to be. 2) The code that determines the colour of the object. -- The idea here is that you have 3 'windows of opportunity' in which to draw your vectors for each color in the draw cycle. I assume here that the overall routine for the draw cycle is broken down into three portions and vectors are drawn corresponding to each color in one draw cycle *or* each color is handled in successive draw cycles. I dont know which method is used, but I could experiment and find out. Once the emulator reconizes the proper code, then you can do with the information as you wish. You could: 1) Remove O' by setting it's vectors a Z intensity of zero. What you end up with is a working game which flickers a lot. 2) Remove O' by removing the horizontal offset, and colour each vector according to the colour wheel. 3) Colour the O and O' Red and Blue and use traditional 3D glasses to view them. Red and Blue 3D works best when the object viewed is black and white so colour is kind of out of the question. To make things even more complicated than they already are, 3D Minestorm uses a different method than the other two games to allocate the color and the division of the left and right eye draw cycles, Whew! > I haven't even got a commented dissassembled ROM... It would be a real > bother to tackle that myself. Fred Taft has already done that! (thank you Fred). Check the vectrex archive at ftp.csus.edu. Rob S. (Sutekh on #RGVC and #drwho) --------------------Headers----------------------- Path: newsbf05.news.aol.com!newstf01.news.aol.com!newsjunkie.ans.net!newsfeeds.ans.net!news.nmcnj.ico.att.net!nntp.SciAtl.COM!psinntp!psinntp!psinntp!howland.erols.net!newsfeed.internetmci.com!cdc2.cdc.net!myth.vianet.on.ca!news From: Ocelot@cyberbeach.net (Rob Stickles) Newsgroups: rec.games.vectrex Subject: Re: Lightpen done, now 3D??? Date: 24 Oct 1996 13:16:25 GMT Organization: ViaNet Lines: 102 Sender: ocelot@dude.cyberbeach.net. Distribution: inet Message-ID: <54nq79$g8g@myth.vianet.on.ca> References: <845959906.28181@dejanews.com> <54kjqb$9cv@newsbf02.news.aol.com> NNTP-Posting-Host: 207.176.149.162 X-Newsreader: InterNews 2.0.1@dynmax1-162.cyberbeach.net.[U] X-Authenticated: ocelot on POP host dude.cyberbeach.net.