Jump to content
IGNORED

Please welcome Jon Williams (Road Riot 4WD) to AtarAge forums :)


Level42

Recommended Posts

Jon Williams, the programmer of the epic Atari 8 bit game Jet Boot Jack has "surfaced" on AA forums recently in a thread about Baby Berks, a C16 game that someone suggested to be converted to the A8 (which he did !). He also wrote a conversion of Timeslip In 1986, also originally a C16 game.

 

http://atariage.com/forums/topic/279558-baby-berks-type-in/

 

No it's not John Williams who apparently wrote some OK tunes for some B movies.....( :D ) but JON Williams :)

 

Now, I remembered seeing his name as (co-)programmer on Road Riot 4WD for the Lynx so I asked him about it in that thread and suggested that there probably would be interest about some RR4WD info here on the Lynx pages. He dug up some info and agreed for me to open a thread about it, so here we are.

 

His avatar name is Nojeee. I hope he will have some background info for us about this Lynx game and maybe some other stuff :)

 

Welcome Jon !

  • Like 7
Link to comment
Share on other sites

Thanks for the kind words.

 

I hadn't realised that Road Riot had surfaced as I'd effectively stopped work on the program in June/July 1992. I kept a work diary in the 80's and 90's and it does throw up some information.

 

I was a freelance programmer and had worked on a few C64 games for Images software. They asked me in June 1991 if I'd be interested in doing an arcade conversion for the Lynx. I eventually got the development system late October of that year and started playing around with some test and demo code. I didn't really start until the end of the year as I was finishing off First Samurai on the C64. I have numerous diary entries about problems getting paid by Images; their office was about an hour's drive away and I would often have to wait around for somebody to sign the cheque. I remember one day arriving and walking up the stairs past somebody who had just cut off the power due to non payment of the bill ;-) . I guess that was par for the course in those days. By May of 1992 it was clear there were problems as I was being stalled on the supply of graphics and music. I decided to call it a day and took the kit back to Images in July 1992 .. I was already working on other projects and I don't think I ever heard from them again. I think Images folded and turned into Climax Software.

 

I don't have all of the source code as it was on the Amiga workstation - all I have are a few floppies with some of the graphics and one main source file that was used to do the actual assembly. The main source does show that the game was pretty complete when I handed the system back. NB: I've seen a post on this forum with some Road Riot source attached .. this is the same as supplied to me at the start of the project and I was told it was the original arcade machine source (not that I ever used it).

 

I've seen the long play video of the game and it did all come back to me. It's interesting to note that the copyright date on the ROM is 1994 so Images must have got Nick Snape to finish the game some time later ... I see that my nick name NOJ was left at the top of the high score table though. ;-)

 

I've no idea why the game wasn't officially released - I seem to remember being told that the Lynx wasn't selling as well as they'd hoped at the time.

 

It has been fun to delve back into this although it wasn't a good experience at the time. I enjoyed working on the Lynx but it was a struggle surviving at the time.

  • Like 11
Link to comment
Share on other sites

Thanks for that story Jon, should have kept the developing system until you got paid ;);)

 

I guess some arcade collectors might be interested in that source code....but it seems it’s out in the open already then. I have no clue what CPU(s) RR4WD used, but it probably isn’t 6502 by that time ;)

 

I’m not going to ask you to share the source code but I’m sure others might :D not sure if anyone still owns the rights.

The Telegames logo is showed on the YouTube videos of the game so.....maybe contact them...what’s left of it...

 

http://www.telegames.co.uk

 

They don’t list the game currently and I’m not sure if they even are still on business. I heard it’s still one guy running this in the UK.

 

The nice thing is that today you don’t need complicated Amiga development systems for the Lynx anymore, there are a lot of alternative applications available for Lynx development......not that I’m suggesting anything LOL

 

What also is great is that we now have the SD cartridge so testing stuff on real hardware is quick and easy.

 

TBH I don’t think I actually played RR4WD on my Lynx yet....even though I saw the rom file on my iMac..guess I never copied it to my SD card somehow.....sure gotta give it a try !

  • Like 1
Link to comment
Share on other sites

I wonder if there's a more complete version out there somewhere? I think the current rom has some bugs and the ending won't play unless you play the levels in a certain order (I think, it's been a long time since I looked into it).

Link to comment
Share on other sites

I wonder if there's a more complete version out there somewhere? I think the current rom has some bugs and the ending won't play unless you play the levels in a certain order (I think, it's been a long time since I looked into it).

 

I think my code was fairly complete but it never went through any testing apart from my own - I'm certainly not surprised there were some bugs. ;-) I guess Images Software added music and tried to fix any bugs that were reported by Atari. They never contacted me for help in deciphering my code (although it was fairly well commented).

 

As far as I can tell from Google the ROM that got released is one from the Atari test department. I also found some scans of faxes between Images and Atari regarding testing, these were a year or so after I'd moved on and it would be interesting to know what happened.

  • Like 2
Link to comment
Share on other sites

Thanks for that story Jon, should have kept the developing system until you got paid ;);)

 

I guess some arcade collectors might be interested in that source code....but it seems it’s out in the open already then. I have no clue what CPU(s) RR4WD used, but it probably isn’t 6502 by that time ;)

 

I’m not going to ask you to share the source code but I’m sure others might :D not sure if anyone still owns the rights.

The Telegames logo is showed on the YouTube videos of the game so.....maybe contact them...what’s left of it...

 

http://www.telegames.co.uk

 

They don’t list the game currently and I’m not sure if they even are still on business. I heard it’s still one guy running this in the UK.

 

The nice thing is that today you don’t need complicated Amiga development systems for the Lynx anymore, there are a lot of alternative applications available for Lynx development......not that I’m suggesting anything LOL

 

What also is great is that we now have the SD cartridge so testing stuff on real hardware is quick and easy.

 

TBH I don’t think I actually played RR4WD on my Lynx yet....even though I saw the rom file on my iMac..guess I never copied it to my SD card somehow.....sure gotta give it a try !

 

Luckily, I probably ended up getting paid for the work I'd done, it was just such a hassle. They were a nice bunch of people though.

 

I'm amazed how things have moved on with 8 bit development, converting my old source code for the 800XL with MADS and WUDSN is a breeze. I'm looking to do some more retro stuff and may take another look at the Lynx.

 

PS. I don't mind uploading the single source file I have if anybody is interested. It's of no real use without the other source files and includes.

  • Like 6
Link to comment
Share on other sites

Welcome to the boards! Interesting to read about your experience at the time!

 

PS. I don't mind uploading the single source file I have if anybody is interested. It's of no real use without the other source files and includes.

 

For completeness and historical value I wouldn't mind having a look at the source.

We are a bunch of Lynx addicts at the end of the day, so the more the merrier!

  • Like 1
Link to comment
Share on other sites

Welcome to the boards! Interesting to read about your experience at the time!

 

 

For completeness and historical value I wouldn't mind having a look at the source.

We are a bunch of Lynx addicts at the end of the day, so the more the merrier!

 

Here you go .. I rescued this from an Amiga disk using a Kryoflux board.

 

The formatting looks better in Notepad++ than Word .. although the editor in the WUDSN IDE is best for me..

 

I had to learn the Lynx development environment from scratch so there may be a few oddities.

 

In fact, I've also uploaded a photo of the only assistance I received ;-)

riot.zip

post-65064-0-52498300-1531399680.jpg

  • Like 4
Link to comment
Share on other sites

The file seems to be mainly a high level thing. I tried to run a dissassembly on the cart. But there is obviously something strange going on. I was able to extract stuff from file 3 onwards. But the title sprite and first executable has strange content.

 

The main exe does not start from 0400. Instead there is some data there. I was just hoping to map your file to the released cart in a sensible way.

        bbr1    $2F,L0393                       ; 0400 1F 2F 90
        and     $7D,x                           ; 0403 35 7D
        rol     $58B7,x                         ; 0405 3E B7 58
        cli                                     ; 0408 58
        eor     $5899,y                         ; 0409 59 99 58
        eor     $ACFA,y                         ; 040C 59 FA AC
        bit     $CCAA                           ; 040F 2C AA CC
        bit     $C2AC                           ; 0412 2C AC C2
        .byte   $C2                             ; 0415 C2
        trb     $30                             ; 0416 14 30
        sbc     $6C,x                           ; 0418 F5 6C
        bit     $C2AA                           ; 041A 2C AA C2
        asl     $72,x                           ; 041D 16 72
        bcs     L03D4                           ; 041F B0 B3
        php                                     ; 0421 08
        .byte   $B3                             ; 0422 B3
        .byte   $0B                             ; 0423 0B
        .byte   $2B                             ; 0424 2B

Here is a sample of file3:

 

        asl     $FD                             ; 27D0 06 FD
        lda     #$8A                            ; 27D2 A9 8A
        sta     $FD05                           ; 27D4 8D 05 FD
        stz     $FD07                           ; 27D7 9C 07 FD
        ldx     $FD8D                           ; 27DA AE 8D FD
        lda     $FD8C                           ; 27DD AD 8C FD
L27E0:  ldy     #$5C                            ; 27E0 A0 5C
        sty     $FD8C                           ; 27E2 8C 8C FD
        ldy     #$10                            ; 27E5 A0 10
        sty     $FD80                           ; 27E7 8C 80 FD
        and     #$1E                            ; 27EA 29 1E
        bne     L2824                           ; 27EC D0 36
        txa                                     ; 27EE 8A
        ldx     $2465                           ; 27EF AE 65 24
        beq     L2804                           ; 27F2 F0 10
        sta     $245E,x                         ; 27F4 9D 5E 24
        inx                                     ; 27F7 E8
        stx     $2465                           ; 27F8 8E 65 24
        cpx     $2467                           ; 27FB EC 67 24
L27FE:  bcs     L281F                           ; 27FE B0 1F
L2800:  ply                                     ; 2800 7A
        plx                                     ; 2801 FA
        pla                                     ; 2802 68
        rti                                     ; 2803 40

The extraction of the sprites is not properly done. But there seems to be sensible data there. The graphics is cut and mirrored around the action point so it looks a bit strange.

 

post-2099-0-60087700-1531415660.png

 

I am just a bit curious of what kind of coding tricks people used in the old games.

  • Like 2
Link to comment
Share on other sites

Jon you mentioned considering developing for the Lynx again....be careful what you say here.....LOL

 

I'm sure there are a good number of guys here willing to help you "on route".

 

There's also a special sticky thread about developing for Lynx on top of this forum.

 

I found this site very interesting to read too....not that I understand everything....

 

https://atarilynxdeveloper.wordpress.com

 

You can forget about the cumbersome flash cards thought....the SD card is THE tool to test on real hardware.

 

Oh and.....as a nice practice.....can you please convert DK A8 version to the Lynx ?

 

:D :D :D :D

  • Like 1
Link to comment
Share on other sites

The file seems to be mainly a high level thing. I tried to run a dissassembly on the cart. But there is obviously something strange going on. I was able to extract stuff from file 3 onwards. But the title sprite and first executable has strange content.

 

The main exe does not start from 0400. Instead there is some data there. I was just hoping to map your file to the released cart in a sensible way.

 

The file is the 'Master' that handled the overall assembly. I used it to set certain flags that would determine what happened during the assembly process. I always tried to minimise the assembly time - it was quicker to just work on one track rather than build them all every time.

 

The file also contains the main game initialisation at 'start' followed by the resident core loop (r_loop). Any required modules were then loaded to the end of the resident code (module_base) using 'load_and_go' and run from there.

 

I think if you disassemble $600 there should be a jmp to the start address?

 

Of course, this may have been altered after I handed back the system.

 

I don't remember coding the actual game completion so they must have added that later ... maybe why it doesn't work properly? ;-)

  • Like 1
Link to comment
Share on other sites

No. It was my bug. Out of the 155 files on the cart more than a dozen file entries are just 8 zeroes. That confused me. The main exe makes sense after all. It starts at 0400.

 

L0400:  sei                                     ; 0400 78
        cld                                     ; 0401 D8
        ldx     #$FF                            ; 0402 A2 FF
        txs                                     ; 0404 9A
        lda     #$0D                            ; 0405 A9 0D
        sta     L1274                           ; 0407 8D 74 12
        lda     #$08                            ; 040A A9 08
        sta     L1273                           ; 040C 8D 73 12
        sta     $FC92                           ; 040F 8D 92 FC
        lda     #$08                            ; 0412 A9 08
        sta     $FFF9                           ; 0414 8D F9 FF
        lda     #$0A                            ; 0417 A9 0A
        sta     L1275                           ; 0419 8D 75 12
        sta     $FD8B                           ; 041C 8D 8B FD
        sta     L1276                           ; 041F 8D 76 12
        sta     $FD8A                           ; 0422 8D 8A FD
        lda     #$04                            ; 0425 A9 04
        sta     $FD8C                           ; 0427 8D 8C FD
        stz     L127D                           ; 042A 9C 7D 12
        stz     L127E                           ; 042D 9C 7E 12
        lda     #$80                            ; 0430 A9 80
        sta     $FFFE                           ; 0432 8D FE FF
        lda     #$12                            ; 0435 A9 12
        sta     $FFFF                           ; 0437 8D FF FF
        ldx     #$0F                            ; 043A A2 0F
L043C:  lda     #$12                            ; 043C A9 12
        sta     L258F,x                         ; 043E 9D 8F 25
        dex                                     ; 0441 CA
        lda     #$9D                            ; 0442 A9 9D
        sta     L258F,x                         ; 0444 9D 8F 25
        dex                                     ; 0447 CA
        bpl     L043C                           ; 0448 10 F2
        lda     #$04                            ; 044A A9 04
        sta     $FD8C                           ; 044C 8D 8C FD
        lda     #$10                            ; 044F A9 10
        sta     $FD80                           ; 0451 8D 80 FD
        jsr     L17AC                           ; 0454 20 AC 17
        lda     #$00                            ; 0457 A9 00
        sta     $FFFA                           ; 0459 8D FA FF
        lda     #$30                            ; 045C A9 30
        sta     $FFFB                           ; 045E 8D FB FF
        ldx     #$7E                            ; 0461 A2 7E
L0463:  stz     $06,x                           ; 0463 74 06
        dex                                     ; 0465 CA
        bpl     L0463                           ; 0466 10 FB
        lda     #$BD                            ; 0468 A9 BD
        sta     $FD00                           ; 046A 8D 00 FD
        lda     #$18                            ; 046D A9 18
        sta     $FD01                           ; 046F 8D 01 FD
        lda     #$68                            ; 0472 A9 68
        sta     $FD08                           ; 0474 8D 08 FD
        lda     #$9F                            ; 0477 A9 9F
        sta     $FD09                           ; 0479 8D 09 FD
        lda     #$31                            ; 047C A9 31
        sta     $FD93                           ; 047E 8D 93 FD
        jsr     L12A7                           ; 0481 20 A7 12
        lda     #$F3                            ; 0484 A9 F3
        sta     $FC83                           ; 0486 8D 83 FC
        lda     #$7F                            ; 0489 A9 7F
        sta     $FC28                           ; 048B 8D 28 FC
        sta     $FC2A                           ; 048E 8D 2A FC
        lda     #$01                            ; 0491 A9 01
        sta     $FC90                           ; 0493 8D 90 FC
        stz     $FD90                           ; 0496 9C 90 FD
        cli                                     ; 0499 58
        lda     #$38                            ; 049A A9 38
        sta     L1277                           ; 049C 8D 77 12
        lda     #$C0                            ; 049F A9 C0
        sta     L1278                           ; 04A1 8D 78 12
        lda     #$18                            ; 04A4 A9 18
        sta     L1279                           ; 04A6 8D 79 12
        lda     #$E0                            ; 04A9 A9 E0
        sta     L127A                           ; 04AB 8D 7A 12
        stz     L127F                           ; 04AE 9C 7F 12
        lda     #$00                            ; 04B1 A9 00
        sta     $FC04                           ; 04B3 8D 04 FC
        lda     #$00                            ; 04B6 A9 00
        sta     $FC06                           ; 04B8 8D 06 FC
        lda     L1273                           ; 04BB AD 73 12
        ora     #$60                            ; 04BE 09 60
        and     #$7F                            ; 04C0 29 7F
        sta     L1273                           ; 04C2 8D 73 12
        sta     $FC92                           ; 04C5 8D 92 FC
        lda     #$8E                            ; 04C8 A9 8E
        ldx     #$07                            ; 04CA A2 07
        sta     L0000                           ; 04CC 85 00
        stx     $01                             ; 04CE 86 01
        ldx     #$07                            ; 04D0 A2 07
L04D2:  lda     #$14                            ; 04D2 A9 14
        sta     (L0000)                         ; 04D4 92 00
        clc                                     ; 04D6 18
        adc     L0000                           ; 04D7 65 00
        sta     L0000                           ; 04D9 85 00
        bcc     L04DF                           ; 04DB 90 02
        inc     $01                             ; 04DD E6 01
L04DF:  dex                                     ; 04DF CA
        bne     L04D2                           ; 04E0 D0 F0
        lda     #$00                            ; 04E2 A9 00
        sta     (L0000)                         ; 04E4 92 00
        jsr     L05BA                           ; 04E6 20 BA 05
        jsr     L0587                           ; 04E9 20 87 05
        jsr     L0560                           ; 04EC 20 60 05
        jsr     L1886                           ; 04EF 20 86 18
        jsr     L14CA                           ; 04F2 20 CA 14
        stz     $82                             ; 04F5 64 82
        lda     #$F4                            ; 04F7 A9 F4
        ldx     #$09                            ; 04F9 A2 09
        jsr     L18B5                           ; 04FB 20 B5 18
        stz     $07                             ; 04FE 64 07
        stz     $08                             ; 0500 64 08
L0502:  lda     #$00                            ; 0502 A9 00
        sta     $83                             ; 0504 85 83
        sta     L10E5                           ; 0506 8D E5 10
        lda     #$02                            ; 0509 A9 02
        jsr     L0537                           ; 050B 20 37 05
        lda     #$05                            ; 050E A9 05
        jsr     L0537                           ; 0510 20 37 05
L0513:  lda     #$06                            ; 0513 A9 06
        jsr     L0537                           ; 0515 20 37 05
        ldx     $1E                             ; 0518 A6 1E
        lda     L259F,x                         ; 051A BD 9F 25
        clc                                     ; 051D 18
        adc     #$0C                            ; 051E 69 0C
        ldx     #$4B                            ; 0520 A2 4B
        ldy     #$9A                            ; 0522 A0 9A
        jsr     L054A                           ; 0524 20 4A 05
        lda     #$0B                            ; 0527 A9 0B
        jsr     L0537                           ; 0529 20 37 05
        lda     #$09                            ; 052C A9 09
        jsr     L0537                           ; 052E 20 37 05
        lda     $83                             ; 0531 A5 83
        bne     L0502                           ; 0533 D0 CD
        bra     L0513                           ; 0535 80 DC
L0537:  jsr     L053E                           ; 0537 20 3E 05
        jmp     L27D0                           ; 053A 4C D0 27
  • Like 1
Link to comment
Share on other sites

Jon you mentioned considering developing for the Lynx again....be careful what you say here.....LOL

 

I'm sure there are a good number of guys here willing to help you "on route".

 

There's also a special sticky thread about developing for Lynx on top of this forum.

 

I found this site very interesting to read too....not that I understand everything....

 

https://atarilynxdeveloper.wordpress.com

 

You can forget about the cumbersome flash cards thought....the SD card is THE tool to test on real hardware.

 

Oh and.....as a nice practice.....can you please convert DK A8 version to the Lynx ?

 

:D :D :D :D

 

I'd actually seen that web site when I was looking around for information on the Road Riot ROM ... very interesting.

 

I'm thinking of doing something on the 800XL next (is it generally referred to as the A8?) .. maybe an update of Jet Boot Jack just to get myself back into things. The Lynx is definitely interesting though as it feels like unfinished business.

  • Like 1
Link to comment
Share on other sites

You might find the documents on this thread of interest Jon ;-)

 

http://forums.atari.io/index.php/topic/3335-steel-talons-road-riot-4wd-files-lynx-road-riot-files/

 

My friend and Atari Historian Scott Stilphen kindly passed them onto me and I converted them from Zip files so the community could see them and have them archived for historical purposes.

 

Any thoughts?

Link to comment
Share on other sites

You might find the documents on this thread of interest Jon ;-)

 

http://forums.atari.io/index.php/topic/3335-steel-talons-road-riot-4wd-files-lynx-road-riot-files/

 

My friend and Atari Historian Scott Stilphen kindly passed them onto me and I converted them from Zip files so the community could see them and have them archived for historical purposes.

 

Any thoughts?

 

I had seen these when searching for Road Riot stuff. The fax from Images Software is interesting as it's dated almost a year after I handed back the system. I guess it took some time to setup a new deal with Atari? They couldn't have been working on it all that time as it's far longer than it took me to write the game ;-)

 

The internal Atari memo dated January 1992 ties in with a demo I had to do for a visit by Bob Katz to Images studio.

 

The other documents seem to refer to a 7800 version of Road Riot (and other programs) by Imagitec as opposed to Images Software. I've no idea about these.

  • Like 2
Link to comment
Share on other sites

You can forget about the cumbersome flash cards thought....the SD card is THE tool to test on real hardware.

 

 

AFAIK the SD card doesn't support EEPROM. Something to consider, since having the EEPROM option on a Lynx is an amazing feature.

Link to comment
Share on other sites

I had seen these when searching for Road Riot stuff. The fax from Images Software is interesting as it's dated almost a year after I handed back the system. I guess it took some time to setup a new deal with Atari? They couldn't have been working on it all that time as it's far longer than it took me to write the game ;-)

 

The internal Atari memo dated January 1992 ties in with a demo I had to do for a visit by Bob Katz to Images studio.

 

The other documents seem to refer to a 7800 version of Road Riot (and other programs) by Imagitec as opposed to Images Software. I've no idea about these.

;-) Glad you got chance to see the documents.

 

It's been fantastic to be able to put the likes of these to the very people named on them or involved in the games mentioned and get an extra level of insight.

 

None of this would of been at all possible without the kindness of Scott Stilphen sharing them and likes of yourself taking time out to discuss them.

 

As for the Imagitec Design documents.. :-))

 

A few surprises were in among those...

 

Despite having a company profile feature done on them by RetroGamer magazine, no one seemed aware they had been working on 7800 Toki..Maybe it's something they would rather forget?

 

Martin Hooley has also presented several 'official' reasons why Space Junk and Freelancer 2120 never arrived...but the documents and other accounts suggest other reasons :-))

 

 

I'm still eagerly awaiting the results of the research GTW did based on the internal Atari documents i passed on to them alone.

 

Several lengthy Skype interviews took place as a result and hopefully there are yet more mysteries yet to be solved as a result of them.

Link to comment
Share on other sites

Thanks for all the info Jon; I have a question for you, something I've been curious about for quite some time now. There are several game carts I've run into (including Road Riot) that appear to be pre-release test carts that have the initials "RSA" written on them along with a date. I'll attach a couple of reference photos. I have always assumed they were the initials of a person, do you happen to know who; or if they perhaps have a different meaning? Thank in advance :)

post-33058-0-81039800-1531573912.jpegpost-33058-0-51224700-1531573923.jpeg

Edited by MrBland
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...