Jump to content
IGNORED

some pretty awesome graphics for the Lynx!


DCUltrapro

Recommended Posts

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.

  1. 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
    	


  2. 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.

 

 

IMG_1346.jpgIMG_1347.jpgIMG_1350.jpgIMG_1349.jpg

 

Item #2

IMG_1351.jpg

 

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!

 

:)

  • Like 12
  • Thanks 1
Link to comment
Share on other sites

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 by solidcorp
  • Like 1
Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 by solidcorp
  • Like 3
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 11 months later...

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!

Link to comment
Share on other sites

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"

  • Like 1
Link to comment
Share on other sites

  • 2 years later...

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.

Link to comment
Share on other sites

  • 3 months later...

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".

 

icon_smile.gif

 

 

Huh surprised I didn't see this before now. Those Bubsy map files would have been interesting to look at. :D

Link to comment
Share on other sites

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 icon_wink.gif ).

 

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. icon_wink.gif

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.

Link to comment
Share on other sites

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? ;) )

Link to comment
Share on other sites

  • 1 year later...

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..

Link to comment
Share on other sites

  • 7 years later...
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? 

 

 

 

 

 

Screenshot_20240128_165911_com.android.chrome.jpg

  • Like 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...