Jump to content

Photo

Seaquest for the 800

2600 800 port masochism

44 replies to this topic

#1 phaeron OFFLINE  

phaeron

    River Patroller

  • 2,253 posts
  • Location:USA

Posted Mon Jun 11, 2012 1:16 AM

After my experience with 2600 Midnight Magic and the response I decided to try a whack at porting a simpler but motion oriented game, Seaquest. I don't intend to make a career out of porting 2600 games -- for sanity reasons, if nothing else -- but this was a fun little game I remember that was good for quick runs growing up, and I figured I'd try a game that was a bit more sprite heavy. Again, this is a close-as-possible port of the original 2600 game, based on the original binary code.

Porter's comments:
  • Midnight Magic was a 16K banked game, but Seaquest is just 4K. No banking to rip out. This time the porting cost was +0.5KB.
  • Joystick 1/2 for controls, Start for Game Reset, Select for Game Select (1 or 2 players), Option flips both left and right difficulty. B&W/Color hardwired to Color. Default is easy difficulty, switching to hard slows down the shots.
  • Like many 2600 games, this was made for NTSC and it will play slower and with a bit funny colors on PAL. Sorry, but the game doesn't have fraction tables and PAL GTIA colors are significantly different, and I'm porting these games as-is. Adaptation is an exercise left for the reader.
  • Decoding sprite positioning from a 2600 display kernel... sucks.
  • I had to duplicate some data to emulate player reflection.
  • As I expected, repeating sprites would be a pain. Seaquest displays up to five 8-bit player sprites on a scanline plus a missile, so a straightforward mapping to GTIA sprites wasn't an option. Since only one of the players was repeated I reimplemented the enemies on top of the playfield. There's also quite a lot of interesting code in the game to deal with the case of you shooting out one of a group, by recomputing a new horizontal position and switching the NUSIZ1 pattern to match the remaining enemies, which took me a while to figure out (I couldn't figure out at first why the sharks were jumping when shot on some waves). If someone wants to try putting this in ROM, there was one location that I used self-modifying code (because I was lazy).
  • Dethreading the player sub and torpedo from the entire display kernel was annoying, but the huge pain in the butt was the divers. It turned out they were rendered using the ball, by moving and re-sizing it on every scanline. Once I figured this out I was able to rip out a ton of the display kernel and remap the divers to a regular GTIA player.
  • The entire display is shifted a bit left than I would have expected. I didn't notice this until I put in the sea bed and started comparing the position of everything. I've kept the existing positions, but one side effect is that you can spot sprites popping in on the right side. Based on the 40-bit playfield, I think this is correct and was intentional to prevent sprites from wrapping around HBLANK on the TIA, but I don't have a real 2600 to verify (the right part of the screen is cut off in Stella).
  • Unlike MM, Seaquest does use hardware sprite collisions. Fortunately, GTIA's collision capabilities are a superset of TIA's and this was easy to map.
  • The TIA 5-bit div 6 sound is a problem here again, this time more apparent as it affects the player shots. I've mapped it the same way, but it doesn't have the nice metallic sound. I thought about trying high speed IRQ emulation, but bands of background gradients made this difficult.

Attached Files



#2 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 10,346 posts
  • Location:Baden-Württemberg, Germany

Posted Mon Jun 11, 2012 1:40 AM

:) Did I mention Seaquest? :D

Kudos!

#3 serj ONLINE  

serj

    Chopper Commander

  • 206 posts
  • Location:Russia, Omsk city.

Posted Mon Jun 11, 2012 2:17 AM

Thanks for the great transfer of the game, Avery!
Can I ask you another port of the game Phoenix?

#4 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,177 posts
  • Location:Australia

Posted Mon Jun 11, 2012 2:24 AM

Another good conversion.

I suspect Phoenix and any game that uses replication to put more objects per line would be anything but straightforward to convert.

#5 candle OFFLINE  

candle

    River Patroller

  • 2,793 posts
  • Location:Lublin, Poland

Posted Mon Jun 11, 2012 2:32 AM

it's always nice to see Avery bored to tears ;) so we can have something new, even if it's from 2600 (definitly not my era ;) )

#6 Wrathchild OFFLINE  

Wrathchild

    Stargunner

  • 1,866 posts
  • Location:Reading, UK.

Posted Mon Jun 11, 2012 2:36 AM

phaeron's on a roll!

Reminds me of the fun I had with Combat, e.g. triple planes would require use of extra Players on the A8 but would be do-able. The battle field itself was flipped & mirrored so had to be re-written.

http://www.atariage....le/#entry686352
http://www.atariage....mbat-for-the-a8

I may just try and use your sound emulation approach though as my wild stab at mapping this was quite nasty. :)

#7 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 10,346 posts
  • Location:Baden-Württemberg, Germany

Posted Mon Jun 11, 2012 2:59 AM

yup. Phoenix!

and Raiders of the Lost Arc ;)

#8 TMR OFFLINE  

TMR

    River Patroller

  • 3,358 posts
  • Beeping the horn on the data bus
  • Location:Leeds, U.K.

Posted Mon Jun 11, 2012 3:31 AM

yup. Phoenix!

and Raiders of the Lost Arc ;)


Oh, if it's a "want" list... Yar's Revenge please. =-)

#9 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 10,346 posts
  • Location:Baden-Württemberg, Germany

Posted Mon Jun 11, 2012 3:44 AM

read the special about Yar's in RG... but what the hell is so special about the game?

#10 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,177 posts
  • Location:Australia

Posted Mon Jun 11, 2012 3:48 AM

It was fairly well regarded as a 2600 game. Plus, recently remade as a console title and there's also the "Jar's Revenge" release for the C64.

#11 nosty OFFLINE  

nosty

    Chopper Commander

  • 149 posts
  • Location:Poland

Posted Mon Jun 11, 2012 4:07 AM

Many thanks!
Hehe I've been thinking about Seaquest port yesterday :)

Phoenix and Seaquest are the best games on 2600.

#12 xxl OFFLINE  

xxl

    Dragonstomper

  • 992 posts
  • Location:Rabka-Zdrój /Poland

Posted Mon Jun 11, 2012 5:14 AM

:-)

1. Enduro
2. KLAX
3. Phoenix

#13 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 10,346 posts
  • Location:Baden-Württemberg, Germany

Posted Mon Jun 11, 2012 5:47 AM

Enduro? We have TGACCRR...I vote for Tank Commander and Chopper Command. :D

#14 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 10,346 posts
  • Location:Baden-Württemberg, Germany

Posted Mon Jun 11, 2012 5:47 AM

plus Phoenix!!!

#15 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,177 posts
  • Location:Australia

Posted Mon Jun 11, 2012 5:53 AM

Chopper Command's pretty good and probably wouldn't have too many technical hurdles.

#16 doomguy OFFLINE  

doomguy

    Space Invader

  • 37 posts

Posted Mon Jun 11, 2012 6:41 AM

Wow! That is great! And incredibly fast. You rock!

#17 Standard User OFFLINE  

Standard User

    Dragonstomper

  • 897 posts
  • Redundant

Posted Mon Jun 11, 2012 6:55 AM

Quick, someone please drone on about politics or religion or the weather, we can't have phaeron becoming too sated. :D

Marvellous work, by the way - both your recent efforts.

#18 olavese@online.no OFFLINE  

olavese@online.no

    Dragonstomper

  • 505 posts
  • Location:Sarpsborg, Norway

Posted Mon Jun 11, 2012 6:55 AM

You simply rock :-) Awesome to see those on the 8-bit Atari computers. How about Solaris, that was an impressive game for 2600

#19 doomguy OFFLINE  

doomguy

    Space Invader

  • 37 posts

Posted Mon Jun 11, 2012 7:06 AM

Solaris would be a nightmare I would imagine.

Yars' Revenge or Adventure would be lovely. Or any of the imagic titles that never made it to the Atari computers.

But in any case these Midnight Magic and Seaquest alone and amazing enough, and I'm grateful. I'm astounded at how quickly this second one was done.

Edited by doomguy, Mon Jun 11, 2012 7:10 AM.


#20 Sikor OFFLINE  

Sikor

    Stargunner

  • 1,314 posts
  • Location:Warsaw/Poland

Posted Mon Jun 11, 2012 7:48 AM

Another great port... I can only write one: thanks ;)

#21 devwebcl OFFLINE  

devwebcl

    Stargunner

  • 1,132 posts
  • Location:Chile

Posted Mon Jun 11, 2012 11:14 AM

real great work !!!
(as usual).

thanks a lot.

Yeah, there are many 2600 games that will be great to have them in a8... Also I think Phoenix is a great choice :)

#22 redman OFFLINE  

redman

    Chopper Commander

  • 102 posts
  • Location:Toms River, New Jersey

Posted Mon Jun 11, 2012 1:35 PM

Thanks for the great transfer of the game, Avery!
Can I ask you another port of the game Phoenix?



I second the motion for Phoenix! I always thought that it was the best 2600 game.

#23 Philsan OFFLINE  

Philsan

    River Patroller

  • 3,388 posts
  • New Orleans Saints Super Bowl XLIV Champions
  • Location:Switzerland

Posted Mon Jun 11, 2012 3:06 PM

Thanks for the great transfer of the game, Avery!
Can I ask you another port of the game Phoenix?



I second the motion for Phoenix! I always thought that it was the best 2600 game.

+1

#24 snicklin OFFLINE  

snicklin

    River Patroller

  • 2,066 posts
  • Location:Australia

Posted Sat Jun 16, 2012 4:27 PM

Phaeron, you just amaze me.

Years and years back (before I was a regular here), I was avidly watching your VirtualDub project and how it was coming along. I was very impressed with the product and used it a hell of a lot.

Then by chance, I discover you on this site and having been the author of Altirra, which is an excellent emulator.

Now you're converting games to the A8, and at what appears to be high speed.

From reading your Altirra documentation, it is very apparent that you have an excellent eye for detail, something which is critical for an emulator writer.

We need 100 of you on this site.

#25 snicklin OFFLINE  

snicklin

    River Patroller

  • 2,066 posts
  • Location:Australia

Posted Sat Jun 16, 2012 4:30 PM

As for Seaquest, at first I wasn't keen as I do not know that much about the 2600 and usually it's games aren't as good as those on the A8. However, this one is an exception, it is quite a good game and fun to play. Thank you for converting it.





Also tagged with one or more of these keywords: 2600, 800, port, masochism

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users