solidcorp Posted November 25, 2011 Share Posted November 25, 2011 PART III : "The stun runner bug" To refresh your memory, here is where I began my journey... Though now that I have you, let me corner you about the one and only thing in STUN Runner that bugged me (and only a little, though I considered it cheating). You only slow down when you change polygons - meaning you can maintain top speed around corners by staying on the ground! Not true in the arcade! Respond? Well, um, I did the game like 20 years ago (1990-1991?). I still have the source code, sort of... The Amiga 3000's battery leaked in storage and ruined its motherboard. The hard disk *might* still work, I did just recover all my old ST files last year from 25 year old Supra and Mega drives. I also have the Amiga floppy disk backups somewhere and *might* be able to restore them *if* I can find a floppy drive and the right software. ... As far as speed is concerned, there is (or at least should be) a sweet spot, or what is now in racing games called a blue line, an optimal path through the levels. In stun runners tubes it would be on the outside, where a pendulum would swing if you were truly racing around the corners. The stars in the first levels are placed on that line to train you where you should be on the track for maximum speed. In the flat areas only the walls slow you down, and I don't think anything slows you down while boosting. The problem you *may* be having with S.T.U.N. Runner (if there is not a bug) is that the controls are touchy and you really can be harshly penalized for climbing too high up the walls. I put a lot of work into the centrifugal sweet spot aspect, if I didn't then the star placement painstakingly reproduced from the coin op wouldn't work. Well, here we are. I have since verified the function of the Lynx game and the coin op game and they are clearly different as described, and I have managed to recover the Lynx source, but the story doesn't end there. First, let's look at the offending code, here is an excerpt from the function xyphysics in srship.src, starting at line 534: ; ***** DETERMINE WHETHER TO USE TUNNEL OR FLAT PHYSICS lda shipterrain cmp #WARP beq .38 bit #FLATFLAG bne .50 lda shipangle cmp #TUNFLATR+1 bge .50 cmp #TUNFLATL-1 blt .50 .38 ; ***** TUNNEL PHYSICS ***** ; ***** CURVATURE DECELERATION ; sweetspot = shipangle-(curvature+sign(curvature))*16 ; there is no curvature deceleration on flats stz temp0 lda dx2tab+2 beq .41 bpl .49 dec dec .49 inc asl asl asl asl .41 eor #$ff sec adc shipangle ; set max speed depending on deviation from shipangle ; the net is $80-A with max check bmi .47 eor #$ff inc .47 ; give a little lee way in terms of max speed sec sbc #$80 bpl .42 lda #shipmaxvx .42 cmp #shipmaxvmax blt .43 lda #shipmaxvmax .43 sta shipmaxv .70 ; ***** CENTRIFUGAL/GRAVITY FORCE FOR TUNNEL ; CG pulls toward shipangle-(curvature)*16 stz temp0 lda dx2tab+2 beq .72 asl asl asl asl .72 eor #$ff sec adc shipangle ; A contains the deviation from the CG vector ; add -A/4 to shipvx eor #$ff inc bpl .71 dec temp0 .71 lsr temp0 ror lsr temp0 ror adc shipvx sta shipvx ; if the ship is moving slow and shipangle has the ; opposite sign of the curvature then tell the person ; how to play lda speed cmp #20 bge .7f lda dx2tab+2 beq .7f bmi .77 lda shipangle bpl .7f bra .78 .77 lda shipangle bmi .7f .78 ; try to announce "the outside wall is faster in turns" lda #OUTSIDEWALLSBIT sta msgbits lda #msgtime sta msgtimer .7f jmp .80 .50 ; ***** FLAT PHYSICS ***** ; reset shipmaxv lda #shipmaxvmax sta shipmaxv ; ***** CENTRIFUGAL FORCE FOR FLATS ; force pulls shipx in d2x direction ; shipvx = shipvx+shipv*(curve+-1)*4/256 lda #4 ldx dx2tab+2 beq .60 ; bpl .51 ; dec ; dec ; dex ;.51 ; inc ; sta MATHD ; stx MATHC ; lda shipv ; sta MATHB ; stz MATHA ; WAITMATH ; lda MATHG ; asl MATHH ; rol ; asl MATHH ; rol ; this centripital force adds 1, or -1 to shipvx ; depending on the direction of curve only ; if the ship is moving fast enough bpl .51 lda #-4 .51 ldx shipv cpx #$40 bge .52 lda #0 .52 clc adc shipvx sta shipvx .60 ; ***** FRICION ON WALLS FOR FLATS The cause of the observed behaviour is due the these 5 lines near the top. lda shipangle cmp #TUNFLATR+1 bge .50 cmp #TUNFLATL-1 blt .50 This is very peculiar in the following ways. The preceding code, clearly identifies and acts on the type of track (flat or tunnel) that the ship is ; ***** DETERMINE WHETHER TO USE TUNNEL OR FLAT PHYSICS lda shipterrain cmp #WARP beq .38 bit #FLATFLAG bne .50 but goes on to test the ship's angle in the tunnel on the following 5 lines and if in the bottom, go execute the flat track physics code lda shipangle cmp #TUNFLATR+1 bge .50 cmp #TUNFLATL-1 blt .50 Later in the FLAT PHYSICS section of the file, note that code for centrifugal force was written but commented out. ; ***** CENTRIFUGAL FORCE FOR FLATS ; force pulls shipx in d2x direction ; shipvx = shipvx+shipv*(curve+-1)*4/256 lda #4 ldx dx2tab+2 beq .60 ; bpl .51 ; dec ; dec ; dex ;.51 ; inc ; sta MATHD ; stx MATHC ; lda shipv ; sta MATHB ; stz MATHA ; WAITMATH ; lda MATHG ; asl MATHH ; rol ; asl MATHH ; rol Both of these suggest that the current function was not in the original design but were changed for some reason. OK, so now I've found the source of the issue (pardon the pun) but could still not tell you weather this was an error, or deliberate, so I pulled all the paperwork back out of storage and read every note and piece of correspondence I still have from S.T.U.N. Runner and found this. It is the official Lynx S.T.U.N. Runner Atari Games review, the pre-release beta review of the Lynx game by the main programmer of the coin op game. It all came back to me right in item 2. Item #2 I did exactly that, and to further adapt the game for the Lynx, Atari Corp management/QA requested I treat the floor of the tunnels the same as flat sections of track. Most of the time, enemies would force you off the floor anyway. The whole Lynx recovery photo album inlcuding some coin op source, the full resolution letters, and more can be found here: https://picasaweb.go...feat=directlink So, the bottom line is, yes there is a discrepancy, but it is not a bug, it's an adaptation and at one point in development, it was true to the coin op. That was fun and the very happy side effect is that I have all that source material recovered and backed up on DVD now. Thanks for pointing it out Tursi! 12 1 Quote Link to comment Share on other sites More sharing options...
solidcorp Posted November 25, 2011 Share Posted November 25, 2011 (edited) Very interesting read... keep 'em coming! Do you have any "secret documents" about the Panther console, that nobody knows about? Yea, full dev docs I think - from emacs instructions to tech specs and floppies too. I just went and looked and couldn't find them. That's not to say I don't have them, it's just that at least they are not where I expected to find them. I may have just came across the floppies and thought I had the manuals. If I come across them, I'll let you know. I thought it was lame. After working on the Lynx, going back to a display list platform with just a single scan line video buffer more like a 400/800/7800 just seemed like a big mistake. For that matter, does anyone have any documentation on the later Atari quad core "Project X"? It was post PSX and I think Bill Rebock left Sony to join Atari on that one, and the Brittish tech guy, Miller I think his name was, was the head engineer. Edited November 25, 2011 by solidcorp 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted November 25, 2011 Share Posted November 25, 2011 So, the bottom line is, yes there is a discrepancy, but it is not a bug, it's an adaptation and at one point in development, it was true to the coin op. That was fun and the very happy side effect is that I have all that source material recovered and backed up on DVD now. Thanks for pointing it out Tursi! hehe.. that was a fun and awesome read. Thank you for going to so much trouble, not to mention documenting all of it! It put a smile on my face to have that question resolved after so long! Quote Link to comment Share on other sites More sharing options...
Horst Posted November 26, 2011 Share Posted November 26, 2011 This is really interesting. Thanks for all your efforts. Quote Link to comment Share on other sites More sharing options...
Emehr Posted November 26, 2011 Share Posted November 26, 2011 This is really fun to read. Glad to hear you recovered your source code for STUN Runner, solidcorp. Thanks for searching and sharing! Quote Link to comment Share on other sites More sharing options...
Duranik Posted November 27, 2011 Share Posted November 27, 2011 For that matter, does anyone have any documentation on the later Atari quad core "Project X"?It was post PSX and I think Bill Rebock left Sony to join Atari on that one, and the Brittish tech guy, Miller I think his name was, was the head engineer. The system was called "Nuon". The company VMLabs, the tech was used in a couple of DVD Players around 2001, it was very hard to develop for, only a few games were produced like Tempest 3000, Iron Soldier 3 etc.. You can find more information here http://www.nuon-dome.com/ . The latest SDK is available in the download section. It would be awesome if you could find some more Panther information, as there is very little stuff to find for this system unfortunately. Quote Link to comment Share on other sites More sharing options...
solidcorp Posted November 27, 2011 Share Posted November 27, 2011 (edited) For that matter, does anyone have any documentation on the later Atari quad core "Project X"?It was post PSX and I think Bill Rebock left Sony to join Atari on that one, and the Brittish tech guy, Miller I think his name was, was the head engineer. The system was called "Nuon". The company VMLabs, the tech was used in a couple of DVD Players around 2001, it was very hard to develop for, only a few games were produced like Tempest 3000, Iron Soldier 3 etc.. You can find more information here http://www.nuon-dome.com/ . The latest SDK is available in the download section. It would be awesome if you could find some more Panther information, as there is very little stuff to find for this system unfortunately. The attached PANTHER folder was on my ST C: boot disk drive. Most of it is a standard 68k ST development environment. Of particular interest are the header files PAN.H and SPECIAL.H which are dated 1/10/1991 and 12/9/1990 respectively. PANTHER.zip Edited November 27, 2011 by solidcorp 3 Quote Link to comment Share on other sites More sharing options...
Punisher5.0 Posted November 28, 2011 Share Posted November 28, 2011 Thanks for the interesting read solidcorp! Quote Link to comment Share on other sites More sharing options...
Ninjabba Posted November 28, 2011 Share Posted November 28, 2011 Wow, this topic really turned into a historical goldmine! 4 Quote Link to comment Share on other sites More sharing options...
frogstar_robot Posted November 29, 2011 Share Posted November 29, 2011 I haven't tried this lately but Linux does have support for Amiga partitions. I recovered my friend's Amiga disk about 7 years ago with Debian. It was an IDE disk so I just stuck it in my PC and copied off his files. It isn't clear to me if recent distros are still building in that support or not though I suppose you could use an old Knoppix release or similar to avoid building kernels and suchlike. These days I would ddrescue to image the entire disk then loopback mount the partitions. You may only have one good crack at reading that old disk hence imaging with a rescue copier. I would also just put the disk in a USB enclosure. Quote Link to comment Share on other sites More sharing options...
solidcorp Posted November 29, 2011 Share Posted November 29, 2011 I haven't tried this lately but Linux does have support for Amiga partitions. I recovered my friend's Amiga disk about 7 years ago with Debian. It was an IDE disk so I just stuck it in my PC and copied off his files. It isn't clear to me if recent distros are still building in that support or not though I suppose you could use an old Knoppix release or similar to avoid building kernels and suchlike. These days I would ddrescue to image the entire disk then loopback mount the partitions. You may only have one good crack at reading that old disk hence imaging with a rescue copier. I would also just put the disk in a USB enclosure. Thanks, I saw that but forgot it. I think they still have the support, or it is easy to add. My only unix machine is an ancient laptop running Xubuntu without a SCSI interface anyway, as a matter of fact I only have one old web server that has a SCSI card in it. I ended up backing up the drives by taking disk images of them with Roadkil's Disk Image, a tool off the Ultimate Boot CD for Windows, an excellent collection of the best free tools adapted from the original Ultimate Boot CD. Anyway, I have the raw binary disk images backed up and now I can mine that however I want at my leisure. (the byte level disk format is even documented on many sites like this one) Thanks for the tip. Quote Link to comment Share on other sites More sharing options...
+Stephen Posted December 5, 2011 Share Posted December 5, 2011 Awesome read - I missed the topic when it was first posted. Congrats on recovering those disks - sounds like a lot of work, but definitely worth it! Quote Link to comment Share on other sites More sharing options...
solidcorp Posted December 2, 2012 Share Posted December 2, 2012 I just sent an email to Joel Fashingbauer, VP Product Development at Atari Inc. asking permission to release the RoadBlasters, Toki, and S.T.U.N. Runner source materials to the Lynx home brew community. Lets all cross our fingers. 5 Quote Link to comment Share on other sites More sharing options...
108 Stars Posted December 2, 2012 Share Posted December 2, 2012 That's a fine move from you, Mr.Williamson, thank you. Let's hope it will work out! Quote Link to comment Share on other sites More sharing options...
GadgetUK Posted December 2, 2012 Share Posted December 2, 2012 I just sent an email to Joel Fashingbauer, VP Product Development at Atari Inc. asking permission to release the RoadBlasters, Toki, and S.T.U.N. Runner source materials to the Lynx home brew community. Lets all cross our fingers. Thats fantastic and very good of you to do that. I know I would personally learn a lot from the sources. I dont hold high hopes but it is a very old platform now so theres a chance! Fingers ( and toes) crossed! Quote Link to comment Share on other sites More sharing options...
Atari Smeghead Posted December 3, 2012 Share Posted December 3, 2012 My goodness, but was this a fascinating read! I'm really pleased that you've taken the time to come here to our little forum, Mr Williamson, and shared all this golden information with us. And I'm equally glad that the community embraced you so thoroughly, and piqued your interest to go to such extremes to come up with the answers, documents, and sources. Very cool! I have (and have played) practically every Lynx game, so I will add to the praise. Toki was among the first two games I bought (along with Shanghai) so I played a lot of Toki. Just loved it! And both STUN Runner and Road Blasters are two more of my favorites. Well done titles that truly showcased the Lynx. You have to be so pleased to see how the Lynx has flourished in the years after the system "died." On last count, there's something like 35-40 titles that came out after "the end," which is around 1/3 of the library. It's truly remarkable how the Lynx still captures our hearts and imaginations after all this time. Thanks again! Randy "Smeg" 1 Quote Link to comment Share on other sites More sharing options...
solidcorp Posted December 31, 2014 Share Posted December 31, 2014 Very interesting read... keep 'em coming! Do you have any "secret documents" about the Panther console, that nobody knows about? Just a really early development environment on the ST and a simple Panther graphics program demo, stock Atari stuff, nothing I wrote. I think it is already out there on the web. Quote Link to comment Share on other sites More sharing options...
doctorclu Posted April 29, 2015 Share Posted April 29, 2015 I just spent the last 9 1/2 hours recovering raw data off my 20 year old Amiga 3000 hard drives... I pulled out the Amiga, I took it apart (the motherboard is shot), I removed the two SCSI drives (a whopping 50 and 100 megabytes, that's right, megabytes), I found a PC here with an old SCSI 1 card in it, I spent a good while getting the drives to spin up (when they sit that long the lubricant in the hubs gets stiff, you can feel it buzz to try to start but it doesn't and it times out, I just keep power cycling them patiently until they kick free and spin up, I never hit, tap, rap, heat, or cool a HD, those are destructive wives tales) I only have one set of SCSI terminators so I can only work on one drive at a time and they can't be hot swapped so I have to shut down and restart the PC each time First I tried to use DIXML to back it up but it only works on mounted volumes I guess I tried WinUAE Amiga emulator but I didn't have the ROM files, or Kickstart, or Workbench so I bailed on that plan. Then I was able to look at one drive with ADF View, but only Bubsy map files were on there (I had forgotten Accolade used Amiga's for Bubsy map development) Then I tried the Ultimate Boot Disk and used Road Kill's disk duplicator to take a full raw dump of the physical hard disks. Looking at the contents of the files I can see the file system and all the human readable files (YAY!!!) ... Including Lynx source for a bunch of sound and technical demos and prototypes (Double YAY!!!). But there is no trace of S.T.U.N. Runner!!!! AAAAARRRGGGGHHHH! I know that Amiga was the only machine used to make it. I even searched the disks images for "NME" which is what I know the enemies were called and looked for compressed .zoo, .arc, .lzh, .lha, and .zip files. I must have backed it up to floppies. I have them, I know where they are, but they can't be read by PC's (well, not easily), and like I said, the Amiga is a non starter. So, for now... all I can say is "I tried". Huh surprised I didn't see this before now. Those Bubsy map files would have been interesting to look at. Quote Link to comment Share on other sites More sharing options...
Rick Dangerous Posted April 29, 2015 Share Posted April 29, 2015 What was the last game that was in a 3D dungeon? Was it eye of the beholder? Quote Link to comment Share on other sites More sharing options...
7800fan Posted April 30, 2015 Share Posted April 30, 2015 What was the last game that was in a 3D dungeon? Was it eye of the beholder? If you count repro, yes. Eric's EotB with working save feature is the last 3D dungeon for Lynx. Quote Link to comment Share on other sites More sharing options...
johannesmutlu Posted May 4, 2015 Share Posted May 4, 2015 I don't know if it counts as scientific, and naturally this is all for fun, so I took a video demonstrating the effect. (This is emulation for simplicity, it does behave the same way on hardware). I want to emphasize I'm not trying to nitpick or call you out. I've always considered it a fantastic port, and it's kind of a fun thrill to talk about this thing I noticed with the developer (even if it was too long ago to remember ). Anyway, here's the video link, I run once staying on the floor, and once following the stars (I do screw up once). Despite my error you can still see the effect that leaving the floor has on your speed, even when you are supposed to! You can pause and step through the video to see when things change, even. In the first half, staying on the floor, the speed NEVER changes. Of course this trick is useful, but you still are forced to leave the floor at times by enemies. the lynx was a powerfull monster with incredible capabilities wich in same xases even the snes and sega genesis lacks like builtin sprite scaling and polygon capability,both home needed software or required an extra chip to achief sprite scaling and polygon feature,i own many games like hard dribn,steel talons,electrocop,rampard etc,, wich shows the power of the lync. Quote Link to comment Share on other sites More sharing options...
LX.NET Posted May 4, 2015 Share Posted May 4, 2015 I just sent an email to Joel Fashingbauer, VP Product Development at Atari Inc. asking permission to release the RoadBlasters, Toki, and S.T.U.N. Runner source materials to the Lynx home brew community. Lets all cross our fingers. It's been a while, Scott, but did you get an answer on this? (Or can we just say that if you don't react to such a question then you don't mind/care and it's good to be released? ) Quote Link to comment Share on other sites More sharing options...
solidcorp Posted May 4, 2015 Share Posted May 4, 2015 It's been a while, Scott, but did you get an answer on this? (Or can we just say that if you don't react to such a question then you don't mind/care and it's good to be released? ) Nope. (and I wish. ) Quote Link to comment Share on other sites More sharing options...
+selgus Posted December 30, 2016 Share Posted December 30, 2016 Hey Scott, I was just re-reading some these threads as I was going to try my hand at doing a game on the Lynx now when I read the stuff about the programming of Bubsy. I had thought my buddy Michael Schwartz (Mykes) had contributed to the Genesis version too? He was the guy that got me into the game industry. Now to start figuring out the Lynx hardware and tapping into my 6502 brain cells.. Quote Link to comment Share on other sites More sharing options...
Lostdragon Posted January 28 Share Posted January 28 On 10/25/2011 at 1:58 AM, solidcorp said: Thanks a lot, I programmed and did all the artwork for it, Matt Scott (who later started Byte Size sound) did the sound and music. It was the first project I did as an independent developer. I poured over the original source code and multiple times a day I'd played the coin op beginning to end. I had to keep the coin op in my garage due to its size which wouldn't have been too bad except it was FREEZING! I remember seeing my breath and the screen would fog up from time to time. I worked hard on that game, funny thing though is my favorite part about it I didn't do - it's that opening chord on the title screen. I couldn't believe when Matt reproduced the coin op sound PERFECTLY without having to digitize the sound. Anyway, thanks again. Not sure IF Scott still reads the pages here, but... Came across the following, browsing an old issue of RG Magazine. Source: https://issuu.com/roylazarovich/docs/retro_gamer_062 Curious to know if Ed Rotberg simply misremembered somewhat and got Rob Zdybel mixed up with D. Scott Williamson or if he had actually spoken to D. Scott. I assume it's a simple error that wasn't picked up by RG magazine fact checkers/proof readers.. Rather than there was an earlier version being written by Rob Zdybel? 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.