Jump to content
IGNORED

Stampede new 2600 conversion


Grevle

Recommended Posts

On Atarionline.pl A new 2600 conversion by Phaeron "Stampede" is Available for download. :) .

 

Its amazing, its seems that Phaeron have the "recipe" on how to make such conversion.

 

Maybe the info could be shared and we could have a team of programmers making many more of these 2600 conversion, Just a thought i had now.

 

Anyway, its great playing actual 2600 games on the Atari 8-Bit : :) .

 

Great Work Phaeron :-D .

 

  • Like 1
Link to comment
Share on other sites

I wouldn't say I have much of a recipe. About all I have is a sound driver that I can copy over, but the rest all has to be done from scratch for each game, using a process like this:

 

  • Disassemble the game with Distella.
  • Fix up hardware register reads to use the correct register names.
  • Relocate the game down to low memory (always by whole page offsets!).

  • Identify the vertical blank portion and patch in sound and input drivers.

  • Change writes COLUBK -> COLBK, COLUP0 -> COLPM0, COLUP1 -> COLPM1, GRP0 -> GRAFP0, GRP1 -> GRAFP1 and attempt to get the game running with vaguely recognizable sound, colors, and sprite graphics.

  • Reverse and rewrite the display kernel to work with ANTIC+GTIA.

 

There's really no easy way to do the last one, and it has to be done completely differently for each game. The 2600's sprite hardware is more powerful than the 800/5200's in some important ways and doesn't map directly, and that's a problem because in a good 2600 game almost everything is drawn by massive sprite abuse. If you look at the three games I ported (Midnight Magic, Seaquest, and Stampede), the playfields and players are drawn completely differently in the ported version than in the originals. You also have to be pretty well versed in 6502 optimization tricks because 2600 games often have some pretty nasty ones -- offset indexing is one of the more annoying tricks as it fools the disassembler into creating bogus labels, and LSB-only addressing is another one that can cause the game to break when you make innocent-looking changes.

 

If I had to pick another one to convert, I might choose Combat, because it's a relatively simple game that's iconic on the 2600 but presents interesting challenges with its use of sprite replication. I'm afraid I won't be doing another one soon, though -- you'd have to convince me that doing another conversion would be more fun than playing Tales of Xillia, and ya ain't winning that one. :)

 

  • Like 2
Link to comment
Share on other sites

If I had to pick another one to convert, I might choose Combat, because it's a relatively simple game that's iconic on the 2600 but presents interesting challenges with its use of sprite replication.

 

Combat! :thumbsup:

 

Nice job on Stampede too, even though I stink at it -- It's fun for the few seconds I can play it. Nice job on the other conversions too.

Link to comment
Share on other sites

2600 only has 2Players (8pixels wide?)?

And it TIA can then replicate those two at the same line. And how much replications it can do for each Player on a line?

And it re-use the Player number with same shape and colours or it can even also change them?

 

1.)- it normally does is replicate like this: P0 / P1 / P0 / P1 / ...

2.)- Or it can have something like this (and is it used in some games?): P0 as our player sprite and then all enemys on the line replicate P1 / P1 / P1 / ...

 

Phaeron you're saying that you have to do most of the times this part of the code from scratch then maybe, is this a solution:

-> To 1.)- two replications can be solved by use P2 and P3 (even one more using 4Missiles in 5th Player Mode)?

-> To 2.)- maybe use 4Missiles in 5th Player Mode for our player and then P0, P1, P2and P3 to have more 4sprites in the line?

 

Just me thinking... And to know something more. How you usually do it?

 

 

P.s.- I never played the 2600 Battlezone but I always liked so much it's lookings. Using a GTIA Mode to have that nice green tank and the DLIs lines horizon would look great.

But does it is worth of a port/conversion?

Link to comment
Share on other sites

2 Players but there are replication modes so as many as 6 might be on a line - then throw in flicker, makes 12.

The replication comes with restrictions, ie you can have only near or far spacing between the copies.

 

With a well-written kernal you can change the graphics as well - Space Invaders has to do that since you have 6 invaders per line but they're either blank or still alive.

 

2 Missiles and the Ball. Often the ball is used in an adhoc way.

 

20 bits of Playfield which can either be mirrored or repeated. Some games reload the graphics registers to give unique graphics per screen half.

With a little fancy programming, PF can be scrolled although it's a chunky scroll @ 1/40th screen width per pixel.

Link to comment
Share on other sites

 

Anyway, its great playing actual 2600 games on the Atari 8-Bit : :) .

 

 

 

We bought computers such as 400/800, back in the day, to get a better gaming experience than what the 2600 could offer. Amazing that 30 + years later, people are porting 2600 games over for play on these very computers! :lol:

  • Like 2
Link to comment
Share on other sites

Same thing happens with ancient games to modern PC, and backporting is popular as well.

 

Part of it is just the technical challenge. I know I had fun doing the Plus4 and 7800 ports to the A8. I've also got a 2600 conversion in the pipeline.

 

Yeah, don't get me wrong. It's cool for what it is... looking at it from an ironic or "full circle" point of view. I respect the efforts, especially so when updates to the gameplay, graphics or sounds are made. :)

Link to comment
Share on other sites

I actually considered it as something for VBXE to do.

 

A stock machine, no way. As mentioned here and elsewhere, some 2600 features just can't be done and other methods have to be resorted to, e.g. Player replication.

Even playfield despite being 20 bits of data isn't so straightforward.

 

The other big hurdle is the "chasing the beam" nature of doing things on the 2600. At least with other machine's conversions, you generally have a screenful of data and can either change the rendering algorithm or do post-processing on the data to make it suit Atari.

 

No such thing for 2600 - you tell TIA what's going on with graphics just before it happens.

 

At the very least, you can run 2600 stuff outside the kernal without too much modification but inside the kernal where much of the graphics generation is taking place, you have to rework it and use alternate methods of showing some/all of the graphics.

 

VBXE - The thing I considered at the time was something like run the kernal and keep all of the TIA stores in a sort of array. Then get VBXE to do blitter processing and turn that data into something that can be shown onscreen.

Never really went much past that sort of initial thought process. It might be possible with VBXE to do something like that. But even if it comes about, it won't be a case of running the original games unmodified.

Link to comment
Share on other sites

what about Hardware ? with all the great new hardware for the A8 bit maybe a sort of addon to play 2600 game would be possible ? maybe a cart to put in a A8 and this cart would then have a SD card interface to stor games, Like the harmony cart exept the Cart for a8 would make the A8 play 2600 game through fpga . now that would be cool :)

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