Jump to content
IGNORED

Freeway !!


Recommended Posts

Ok, the long-awaited game that no one asked for, and yet you get it anyways.  Activision's "Freeway" ported from the 2600.  Not a favorite game of mine, but I thought it would be an easy port, and kind of fun.  And it was, mostly.  Same story as my other ports, as close to the original as possible but with improved graphics like Activision might have done if they had made an 8-bit version.  8K Cart image, should play just like the 2600 version.

 

SELECT chooses level, OPTION sets difficulty for each player, and START to, well, you know.

 

I think it looks pretty good, I'm trying to get better at these as I go along.  NTSC only for now, this is for testing, but so far I can't find any problems.  PAL color version and (only maybe) 5200 version later.  I need some rest, LOL!

 

Freeway [NTSC].car

  • Like 20
  • Thanks 3
Link to comment
Share on other sites

3 hours ago, tuf said:

Freeway is one of the best 2 player VCS games ever.  Ridiculously competitive.

It's DEFINITELY intended to be a two player game.  I thought about trying to add a computer opponent, but it would actually be somewhat complicated to do, because it's running the original 2600 code, and I don't fully understand all the nuances of it.

 

Pretty soon - if no other problems are reported - I'll do a PAL color version.

 

Link to comment
Share on other sites

Posted (edited)

I went ahead and made the color-matching PAL and NTSC versions.  They're pretty close.  These 2 differ only in the color values used.

 

Freeway [NTSC].car

Freeway [PAL].car

 

I suppose I'll give it a shot on a 5200 version next.  No guarantees on that, sometimes it gets a bit problematic.  Maybe I can...

 

EDIT: That was really easy.  No problems at all, it should work OK:

 

Freeway [5200].car

Freeway [5200].bin

 

Edited by glurk
Added 5200
  • Like 9
Link to comment
Share on other sites

19 hours ago, glurk said:

It's DEFINITELY intended to be a two player game.  I thought about trying to add a computer opponent, but it would actually be somewhat complicated to do, because it's running the original 2600 code, and I don't fully understand all the nuances of it.

 

 

If you spend any time modifying code, how about making it support 4 players :)  Give us 4-player Warlords guys something else to play!

 

  • Like 2
Link to comment
Share on other sites

8 minutes ago, tuf said:

 

If you spend any time modifying code, how about making it support 4 players :)  Give us 4-player Warlords guys something else to play!

 

 

And after rabbit hole-ing a bit I see someone's already done just that - Mashed Turtles:

 

matu2.gif

Edited by tuf
  • Like 1
Link to comment
Share on other sites

3 hours ago, dukdukgoos said:

I'd love to see the source for this!

You don't really want to see MY source code, trust me.  But I worked from an old 1997 disassembly of the 2600 original, available on this page:

 

http://www.bjars.com/disassemblies.html

 

It has everything nicely commented, written for an unknown (to me) assembler, and I also used Stella emulator's automatic "smart disassembly" which generates ready-to-use DASM source for 4K and 2K games like magic :) 

 

The stuff I wrote is the "glue layer" that converts the 2600 kernel into something 8-bit compatible, and it's not pretty, and it's different for every game.  And I don't always comment my own code very much, since I usually know what it does, LOL!

  • Like 2
Link to comment
Share on other sites

On 3/9/2022 at 6:49 PM, glurk said:

You don't really want to see MY source code, trust me.  But I worked from an old 1997 disassembly of the 2600 original, available on this page:

 

http://www.bjars.com/disassemblies.html

 

It has everything nicely commented, written for an unknown (to me) assembler, and I also used Stella emulator's automatic "smart disassembly" which generates ready-to-use DASM source for 4K and 2K games like magic :)

 

The stuff I wrote is the "glue layer" that converts the 2600 kernel into something 8-bit compatible, and it's not pretty, and it's different for every game.  And I don't always comment my own code very much, since I usually know what it does, LOL!

That's exactly the stuff I'm interested in though... the conversion of a 2600 kernel to 8-bit. I assume the 8-bit version is still a kernel, "racing the beam" style? Alternately if you know of any examples of other 2600 kernel to 8-bit conversions that helped you learn how to do it I'd be interested in seeing those.

Link to comment
Share on other sites

24 minutes ago, dukdukgoos said:

That's exactly the stuff I'm interested in though... the conversion of a 2600 kernel to 8-bit. I assume the 8-bit version is still a kernel, "racing the beam" style? Alternately if you know of any examples of other 2600 kernel to 8-bit conversions that helped you learn how to do it I'd be interested in seeing those.

Phaeron did several.  Been a while - I think they were Combat, Video Pinball, Stampede, most recently Cosmic Ark, and maybe one other.  Sorry that's not much help - I should try to look them up.

  • Like 2
Link to comment
Share on other sites

Phaeron also did 2600's Adventure, and Raiders o.t.L.A. and Seaquest.  And released source code to all of them.  They are all on the boards, scattered in various threads.

 

He really does use a kernel approach, and I tend to use series of DLIs.  But 'Fishing Derby' and 'Freeway' do use kernels, which are still implemented as large DLI's.  And it's not really 'racing the beam' exactly, because a lot of it is WSYNC's....  Like, here's the 'Freeway' kernel, it's part of a DLI:

 

            ldx #10-1
.carcol2            ldy #8-1    ; BLACK + 7 also!!
                sty COLBK
                lda zCarScrolls,x
                sta HSCROL
                sta WSYNC
                lda #$34
                sta PRIOR
                sta WSYNC
                lda chickP0Collide
                beq .noP0hitted
                stx chick0LaneCollide
.noP0hitted        lda chickP1Collide
                beq .noP1hitted
                stx chick1LaneCollide
.noP1hitted        sta WSYNC
                lda StripeColors,x
                sta COLPF1
                sta WSYNC
                lda CarColors,x
                sta COLPF2
.carcol1                sta WSYNC
                    lda CarBrights,y
                    adc CarWindows,x
                    sta COLPF0
                    dey
                bne .carcol1
                sta WSYNC
                sty COLPF2
                lda LineColors,x
                sta COLPF0
                lda #$31
                sta PRIOR
                sta WSYNC
                lda P0PF
                ora P1PF
                and #4
                sta chickP0Collide
                lda P2PF
                ora P3PF
                and #4
                sta chickP1Collide
                sta WSYNC
                sta WSYNC
                sta WSYNC
                dex
        bpl .carcol2

That chunk of code covers most of the screen, all 10 lines of cars, doing all the color changes and collision detection.

  • Like 2
Link to comment
Share on other sites

Would you consider looking at the old prototype of Freeway, where they used the other old joke of using a human figure, complete with red spot once it gets hit? The nostalgic kid of my past loved this game, playing with mom, but the Gen_X adult in me found more out of the prototype... which was a real thing, apparently...

 

http://www.atariprotos.com/2600/software/freeway/bloodyhuman.htm

 

 

 

 

  • Haha 1
Link to comment
Share on other sites

I actually DID have a splattered chicken in there, which came about by accident when I indexed past my sprite animations and got random bytes.  It looked pretty funny.  But I chose to leave that out and be true to the original.  ?

  • Like 1
Link to comment
Share on other sites

On 3/6/2022 at 2:38 AM, Philsan said:

Thanks!

 

When I load the game there's garbage instead of second chicken.

 

bug.png.c195e9c6d5468c04b2d060e573e444de.png

 

My first thought was that they're a group of teriyaki sticks. :9

 

 

  • Haha 1
Link to comment
Share on other sites

2 hours ago, Stephen said:

Phaeron did several.  Been a while - I think they were Combat, Video Pinball, Stampede, most recently Cosmic Ark, and maybe one other.  Sorry that's not much help - I should try to look them up.

I think Raiders of the Lost Ark was converted too, not sure who did it.

  • Like 1
Link to comment
Share on other sites

8 minutes ago, sramirez2008 said:

Ha!  Please provide a version with the splattered chicken.?

 

I'm going to second that request. If Frogger showed a splattered frog back in 1982, then a flattened chicken should be just as okay? The game tries to be realistic in other ways, anyway... :D

Edited by CommodoreDecker
  • 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.

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

  • Recently Browsing   0 members

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