Subject: Re: [stella] My game - Alpha 2 - inv.bin|
From: emooney@xxxxxxxxxxxxxxxx (Erik Mooney)
Date: Sun, 13 Apr 1997 20:45:29 GMT
>The player really needs a short break between rounds. It's a >psychological thing mainly, but you can also use a break to flex your >fingers. Considering Atari Thumb, yeah, I'll have to put in a break. I still can't easily modify the thing to display no invaders, but would it be okay if I put in a 3-4 second pause while the next board is being displayed but before either they or you start moving? (I think 2600 SI does this, and displays the lives count while doing that.) >This is on the real thing. I used the -f (fast) option with Makewav >(I'm not sure of the version) and played the resulting wav file to my >Supercharger in my 2600 Jr. I've just tried it again and sometimes it >happens without doing anything other than starting the game by hitting >reset. It's only when columns 7 & 8 and 8 & 9 pass by a certain >horizontal spot (if you don't shoot any invaders). If you line your >gun up so that it's just to the left of the box where the player two >lives would be displayed, you'll be directly below the spot. I also >got it to occur over there when there were only 10 or less invaders >left, but they were on the *left* side of the screen, away from the >spot where the lines occur. >Bad ASCII drawing: <snipped> Verrry interrresting. The spot you mentioned is at playfield column either 25 or 26; I think 25, because 26 is empty at power-up and it'd be noticeable then. 25 is the first column of the second copy of PF1, so it's pretty clear PF1 is not getting updated in time. This problem does *not* occur on my standard 4-switch 2600 or on PC Atari. The problem happens only when the first column of the first copy of PF1 (column 5 of the entire playfield) is filled and the first column of the second copy (col 25 overall) is empty.. so it can *only* happen when some invaders are on the left of the screen. By the time invader column 7 passes that spot, playfield column 5 is empty so the problem doesn't happen until the invaders move back over to the left. Looking at the cycle counts, that PF1 update is supposed to happen on the last possible cycle before it starts getting displayed. Apparently, that last possible cycle occurs later on the older 2600 than on the 2600jr - meaning the TIA responds to PF1 writes one cycle (possibly one pixel) later on the 2600jr than on the 2600. This means the hardware for the two models is *NOT* identical. Anyone want to test this on the 7800 with a Supercharger and see what happens? >>Thinking about it now, that could still happen when both player missiles >>hit the same invader on the same frame.. both players would get credit for >>the kill, both missiles would be reset, and "how many invaders are left" >>would be decreased by two.. but only one invader would be removed from the >>formation. Were you in two-player mode when this happened? > >No. I've only been playing it in one-player mode. I figured this one out too. It happens when the player missile is in a specific place, and the invaders move over into it, causing the missile to hit two invaders at once. Bad ASCII drawing: (each character = 1 screen pixel) XXXXXXXX XXXXXXXX XXXXXXXX <-- invader XXXXXXXX XXXXXXXX XXXXXXX| | <-- missile | | | | | XXXXXXX| XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Normally when this happens, the top invader gets killed. BUT, if the top invader isn't there, the collision register still gets tripped by the bottom invader. The kill-invader routine is based on the top of the missile, so it decrements the number of invaders remaining and removes the top invader.. but the invader was already removed. Net result - the "invaders left" counter is one lower than it should be, so it reaches zero when there's still one invader left. I'll fix this by making the kill-invader check to see if an invader is there before removing it (so if this situation happened in the game, neither invader would get killed.) >Well, you could either use one of them or the Color/B&W switch as a >pause switch. I'll probably use Color/B&W as a PAL/NTSC switch (btw to all, I found out the place where I was miscounting scanlines and losing the PAL color signal).. Why would it need a pause? The arcade didn't have one, and neither do most 2600 games. I might add a pause after player death until the button is pressed, like some games do (Breakouts, River Raid, etc.) -- Archives available at http://www.biglist.com/lists/stella/archives/ E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.