Jump to content
IGNORED

Space Invaders 7800


PacManPlus

Recommended Posts

- Changed Colors

 

Hi Bob,

 

Excellent work as always. I am really enjoying this port. I'm curious as to what the colors are being based upon. Is it "Atari 7800 unique" colors, or off of one of the many Space Invaders-type Arcade games? I am attaching three screenshots from MAME:

 

Space Invaders [ROM set invaders]:

post-18-1215393696_thumb.png

 

 

Space Invaders Deluxe [ROM set invaddlx]:

post-18-1215393749_thumb.png

 

 

Space Invaders Part II (Taito) [ROM set invadpt2]:

post-18-1215393788_thumb.png

 

 

I hope the above helps you if you were trying to achieve closer to Arcade colors. Keep in mind that Space Invaders and Space Invaders Deluxe as shown above is with the complete available Artwork in MAME (Crop to screen though).

 

Regardless, the "Atari 7800 unique" colors look great as well.

 

***EDIT: Space Invaders and Space Invaders Part II appear to have the colors hard-coded per the available dumped ROMs. However, Space Invaders Deluxe uses a tint overlay from the available Arcade artwork file here:

 

Space Invaders Deluxe overlay:

post-18-1215395063_thumb.png

 

Thanks Again,

Trebor

Edited by Trebor
Link to comment
Share on other sites

I know about the 2600 one, Gorf said "the reverse missile secret in the ARCADE" ;)

 

If he's talking about the rumor where on the 5th level, the 2nd mystery ship reflects your shot back down on you - I tried that in MAME and it didn't happen. (At least on the regular Space Invaders). I don't believe it happens...

 

:P

 

BTW, I got (for the most part) the shield / invader collision working, and I didn't use the 2600 way of doing it. :D

It's just every once in a while the invader doesn't erase the shield... I have to figure out why.

 

I have done it in Mame. Here is how you do it.

 

From Klov.....

 

Mystery Ship Shot Deflection: On the fifth wave of invaders, the second mystery ship will deflect your shot with the rarely heard "deflection shot;" a shot played backwards.

 

Also from Klov.....

 

Popularized right after the release of the game, the "FURRER" trick allows you to get 300

points per mystery ship every time. It has to do with the way the random number generator

works - at the beginning of every board count 22 shots (whether you hit an invader or not).

Wait for the mystery ship. Shoot once to hit it to earn 300 pts. Now count 14 shots. Wait again

for the mystery ship. Shoot once at it for another 300 pts. count 14 shots and repeat for the

rest of the level. once on the new level, start again at 22 and repeat to 14. This trick was i

nvented by Eric Furrer who to this day holds the Stratford Record for non-stop Space Invaders

play -- 38 hours and 37 minutes and an accumulation of 1,114,000 points (111 roll overs,

averaging three rolls an hour).

 

http://www.klov.com/game_detail.php?game_id=9662

Link to comment
Share on other sites

Thanks for the Kind words, everyone :)

 

Regarding the High Score Cart:

 

For original released carts we have:

  • Asteroids - $49,$6C
  • Dig Dug
  • Centipede - Looks Like $01,$01? I doubt it...
  • Galaga - $86,$26
  • Joust
  • Ms. Pac Man - $80,$01
  • Xevious
  • Food Fight
  • Robotron 2084

 

  • Desert Falcon proto

 

For modern releases we have:

  • Asteroids Deluxe - $49,$6D (Hidden Asteroids codes are $49,$6E)
  • Space Duel - $49,$6F
  • Pac-Man Collection (includes seperate HSC codes for each variation of Pac-Man) - Range: $8X,$01 - $AX,$01 Legend: $8x = Standard Speed, $9x = Fast Speed, $Ax = Button Speed), and the first three bits of the second nibble are the game type, and the last bit is 'Plus Mode'. Looks like I use the same code for Ms. Pac-Man as the Atari Version. Damn :(

 

That's what I have

Edited by PacManPlus
Link to comment
Share on other sites

Hey Trebor:

I was going by what colors looked the best on the 7800. I originally tried to make the arcade colors (Red for the spaceship, etc). But certain colors look HORRIBLE in 320 mode (especially red). I found that the lighter the color, the easier it was to make out the letters / shapes. Also, there isn't enough CPU time to do the backgrounds, like the moon. :(

 

Hey Gorf:

The FURRER trick does work in my version. :) As far as the 'reflective shot', I need to see that happen if I have any chance of re-creating it. I'll try it again. Is it just getting to the 5th level and shooting the 2nd UFO? Or is there something else that had to be done? Like I said, I had already been at that point and nothing happened. :(

Edited by PacManPlus
Link to comment
Share on other sites

But certain colors look HORRIBLE in 320 mode (especially red). I found that the lighter the color, the easier it was to make out the letters / shapes. Also, there isn't enough CPU time to do the backgrounds, like the moon. :(

 

If you're trying to simulate the 'overlay' look, what if you set the same hue on both the foreground and background colors, but set the background to luminance zero? That might cause the background to be a bit too bright for taste, but it would avoid the problems of bad-looking foreground objects.

 

BTW, another thing to try if you want red but it looks particularly bad would be to shift everything over one 320-mode pixel (i.e. half a 160-mode pixel).

Link to comment
Share on other sites

Well on a side note the HSC cart does something that my changes to a7800x does not take into account so it does not register joystick fire button presses when entering your initials. :lol: It must be doing something to switch the 7800 back into single button mode. The real odd thing is CTLSWB still reads the same value $14. :roll: I wonder if it is doing something with SWCHB..

 

Back to debug mode. :lol:

 

Anyways if someone doesn't beat me to it I should be able to go thru all the HSC games tomorrow. Where are you all getting those numbers from anyway? I can post a mem dump of the HSC RAM once I go thru the games. But I would not know where to look. Doesnt the HSC store text in some non ascii/atascii format?

Edited by Shannon
Link to comment
Share on other sites

BTW, another thing to try if you want red but it looks particularly bad would be to shift everything over one 320-mode pixel (i.e. half a 160-mode pixel).

Thanks, Supercat - but the one thing I was going to make red (the UFO) uses all 16 pixels :( I can't shift it over... That's just an example - if I move the invaders over 1 pixel, won't some other pixels that were ok to begin with now have that issue?

 

Anyways if someone doesn't beat me to it I should be able to go thru all the HSC games tomorrow. Where are you all getting those numbers from anyway? I can post a mem dump of the HSC RAM once I go thru the games. But I would not know where to look. Doesnt the HSC store text in some non ascii/atascii format?

I'm getting them from the games themselves - The HSC does store TEXT as $00-$19 (A-Z, where A=$00, B=$01, etc.) BUT, any games that use a graphical display in the HSC (like Asteroids), won't have the game name there. :(

 

Hm... I think this should come with an overlay you can put on your tv. :ponder: :dunce: :D

:P

 

I'm going to start a new thread in the 7800 programming section called "High Score Cart Values" as to not de-rail this thread and give an easy place to look for reference.

 

Now, I have an update - Release Candidate 2 - I found an issue with the timer on the options screen; it wasn't going back to attract mode after a few minutes. :-/

Edited by PacManPlus
Link to comment
Share on other sites

Hey Trebor:

I was going by what colors looked the best on the 7800. I originally tried to make the arcade colors (Red for the spaceship, etc). But certain colors look HORRIBLE in 320 mode (especially red). I found that the lighter the color, the easier it was to make out the letters / shapes. Also, there isn't enough CPU time to do the backgrounds, like the moon. :(

 

Understood. Thanks for the reply.

 

Sorry about the backdrops in the screenshots. I didn't mean to imply to add them as well (I pretty much assumed it would not be possible on the 7800 anyway). The screenshots were just meant to reference the the tint/overlay colors.

 

Honestly, I liked the color scheme* in the earlier version better. Nonetheless, the current colors look good too.

 

-Trebor

 

*Just reverse the order to better match the arcade though ;) [Red on top / Blue on bottom]

Edited by Trebor
Link to comment
Share on other sites

Great work as usual Bob! Congrats on another completed game!

Completed? While the latest version is certainly in a playable state, it's still missing a few iconic touches that would let it stake claim as the definitive 7800 Space Invaders port.

 

Also, agreed that the old invader palette was better. The new one looks entirely too fruity.

Link to comment
Share on other sites

Great work as usual Bob! Congrats on another completed game!

Completed? While the latest version is certainly in a playable state, it's still missing a few iconic touches that would let it stake claim as the definitive 7800 Space Invaders port.

 

Also, agreed that the old invader palette was better. The new one looks entirely too fruity.

 

ok, ok...NEARLY completed :)

Link to comment
Share on other sites

Beside adding the secrets, there is only two more things I would

look into.

 

1 ) The colors....make them like the original.

 

2 ) the invaders do not move all at once in the arcade.

 

They shimmy over one at a time what looks like once invader

moved per frame. Other than that, the only other thing I would

dig is a 90 degree monitor version to really make it just like the

arcade.

Link to comment
Share on other sites

Thanks for the compliments everyone.

 

@Mayhem: There will be a PAL vesion, as soon as I am sure of the final release.

 

@Trebor: No problem, I was asked by a few people about the backdrop. :)

 

@ZylonBane: What other than the 'ripple effect' can I add to make this more arcade accurate? (Not being sarcastic, I'm sincerely asking). The sound effects are as close as I can get them on the TIA. Also, regarding the Ripple Effect of the invaders marching, I used Character Mode and am just moving the start X position in the Display List to move the line of invaders. I cannot move each invader separately like the arcade. I can try again to at least move each *line* of invaders separately. Please understand that this is my first complete homebrew game (not a hack), so I am figuring out things as I go along. Could someone like Kenfused, Schmutspuppe, JohhnyWC done better? Absolutely. This is the best I can do with the knowledge I have.

 

Guys, before you tackle me on the color issue, please try this one (and the prior color pallette) on a real tv. Every color looks good in emulation. If you don't agree with me that the letters / shapes are much easier to make out on this version, I will switch back.

Edited by PacManPlus
Link to comment
Share on other sites

I can try again to at least move each *line* of invaders separately.

The last time we were discussing this, I figured you meant that's what you were going to do. Yeah, per-invader would be more authentic, but per-line would IMHO capture 90% of the perceived effect. This extends to all parts of the game-- when the invaders move, when they drop down, and when they appear at the start of a wave. Actually, you should be able to do the per-invader effect at the start of a wave by un-killing an invader or two per frame, instead of just resurrecting them all at once.

 

In a further irony of more modern hardware having to restrain itself to look authentic, the shots seem to drop too smoothly. I'm at work right now so I can't MAME up a precise description of how it should look. I want to say that the zig-zag shots in particular should drop at such a rate and interval that the zig-zag pattern appears to "flow" down the screen.

 

Have you given any further thought to the sound effects? Currently the "chow" firing sound is, technically, just wrong (as previously explained). The UFO death is great... probably as accurate as is possible with the TIA. The marching sounds are also spot-on. The invader death sound, on the other hand, doesn't sound much like the arcade at all. I'm guessing your sound engine updates once per frame? That might be too infrequent to reproduce the rapid pitch shifts of this effect.

 

I should probably get back to work now, instead of killing time squinting at waveforms.

Link to comment
Share on other sites

Guys, before you tackle me on the color issue, please try this one (and the prior color pallette) on a real tv. Every color looks good in emulation. If you don't agree with me that the letters / shapes are much easier to make out on this version, I will switch back.

 

I do play all games on both a 19" CRT Monitor and a 36" Conventional Tube ("real") TV. Truthfully, the letters and shapes are slightly easier to make out with the new colors, but certain very distinguishable with your original choice.

 

But, we've been down this road before respecting color choice (Remember the color of Inky...lol). I think a lot has to do with the television you, me or anyone is using as well.

 

I still prefer your original colors (Just reversed to better match the Arcade order), but of course the choice is yours. It is your masterpiece...I'm content with you just sharing it with everyone regardless of colors.

 

-Trebor

Link to comment
Share on other sites

I cannot move each invader separately like the arcade. I can try again to at least move each *line* of invaders separately.

 

If you use two display lists per line of invaders I would think that would suffice to allow per-invader motion. On the first frame, the first list shows all eleven invaders. On the second frame, the first list shows ten; the second list shows the last one. On the third frame, the first list shows nine and the second two. Keep on doing.

 

If that's too difficult, per-line motion would be better than all-at-once motion. But the proper ripple is part of what makes the arcade game what it is.

Edited by supercat
Link to comment
Share on other sites

Success!

 

Long story short, I took the arcade invader death sample, split it up into ~1/60th second sized pieces, noted the frequency and volume of each chunk, and set out to force-feed these values to the TIA. The square wave mode provides the necessary range, but unfortunately it doesn't provide any of the modulation that characterizes the SI death sound. Without this, it just sounds "plinky", for lack of a better word.

 

Distortion mode 6, on the other hand, sounds remarkably like the arcade. The problem here is that this mode can only generate tones much lower in pitch than the arcade invader death sound. But it sounds so good, I think it's worth the pitch shift. I've attached a couple of WAV files for people to compare.

 

Here's the effect data, as frequency/volume pairs:

2,12

3,14

4,12

5,10

6,8

7,6

0,8

1,8

2,8

3,8

4,8

5,8

6,8

7,7

8,7

9,6

0,3

1,3

2,2

3,2

4,1

5,1

 

And what the heck, here's a screenshot comparing the arcade waveform with the 2600 waveform. Pretty close, I think.

post-2663-1215594085_thumb.png

Space_Invaders_shoot.wav

Space_Invaders_shoot_2600.wav

Link to comment
Share on other sites

If you use two display lists per line of invaders I would think that would suffice to allow per-invader motion. On the first frame, the first list shows all eleven invaders. On the second frame, the first list shows ten; the second list shows the last one. On the third frame, the first list shows nine and the second two. Keep on doing.

If that's too difficult, per-line motion would be better than all-at-once motion. But the proper ripple is part of what makes the arcade game what it is.

Hey Supercat, In order for me to do that I would need another 20 lines of screen ram, and I don't have any more RAM available. :( I would also have to change all of the routines to check both sets of RAM for things like shot collision, etc... And I'm already close to the max CPU cycles without that. Thank you though, as always, for the help you've been giving me.

 

@ZylonBane - I used your invader hit sound (I wish the TIA could produce higher pitches with that waveform!) It sounds good :) I also changed the colors to a compromise of the 4th picture of Trebor's post above (#101), and readability. It seems in 320 mode, the darker the color, the worse it looks on the screen. :-/ Finally, when drawing the invaders on the screen at the beginning of a wave, I did a 'WaitVBlank' between each invader, and got the desired effect. Thanks for the tip on those. I'm still looking at the best way to move each line of invaders separately. There are a couple of issues I'm trying to work through regarding timing (once a row is empty I have to skip it so they get faster), memory (I now have to keep track of the position, direction, zone, and animation of each row separately - and additionally save them for each player), and things like player shots now have to get and caculate the 'offset' for each row instead of assuming the offset is the same for all rows. Also, I have to make sure I don't break anything else in the process. Thanks for the help :)

 

Bob

Edited by PacManPlus
Link to comment
Share on other sites

Hey Supercat, In order for me to do that I would need another 20 lines of screen ram, and I don't have any more RAM available. :( I would also have to change all of the routines to check both sets of RAM for things like shot collision, etc... And I'm already close to the max CPU cycles without that. Thank you though, as always, for the help you've been giving me.

 

I did the wave movement in the Astro Battles level in Jaguar Gorf Classic. I can understand the difficulty trying to do this on the 7800.

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