+SpiceWare Posted July 25, 2016 Share Posted July 25, 2016 Never mind. I figured it out. Dumping paddles to ground is a very important step Also, while the code didn't change, you missed a couple new comments just after Kernel: which are relavent to paddle support: ; turn on the display ; DGS and remove paddle dump to ground sta VBLANK ; 3 9 - Accumulator D1=0, turns off Vertical Blank signal (image output on) ; Accumulator D7=0, removes paddle dump to ground DGS Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 25, 2016 Author Share Posted July 25, 2016 I made the cellar look more like a cellar. But a question remains. It looks as though every time you start the game on a real 2600, the display shifts down a pixel for a frame or two. I think this is caused by the code to get the first Y position of the item, but I'm not sure. I've tried everything to get rid of it, but nothing helps. Although if I have to leave it in there, I have to leave it in there. I'm such a perfectionist. celery28.zip Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 26, 2016 Author Share Posted July 26, 2016 Suppose I have a variable that ranges from 0-255. How would I make it range from 10-42 (32 possible numbers)? Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 26, 2016 Author Share Posted July 26, 2016 Never mind. The idea I had isn't going to work anyway. Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted July 26, 2016 Share Posted July 26, 2016 (# / + 10Very similar to how the range of the paddle readings is reduced and offset. There's a url in the comments that will show you how to do the # / 8 as well as dividing by other values. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 26, 2016 Author Share Posted July 26, 2016 I tried this: lsr lsr lsr adc #10 And it seems to work okay, except for that I still have that dumb problem on real hardware where it jumps one scanline at the beginning. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted July 26, 2016 Share Posted July 26, 2016 mmmm, the paddle suits this game _really_ well. -Thom Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 26, 2016 Author Share Posted July 26, 2016 I don't know how, but I think I finally fixed that dumb stupid problem about the game jumping its display 1 pixel off on real hardware problem. I still don't know why it was happening, though, but I'm sure that was the problem and not my eyes deceiving me since it quit doing it. But anyway, let me know if it happens again. I need to dig my paddles out of the garage and test it that way. celery28a.zip 1 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 26, 2016 Author Share Posted July 26, 2016 I drew this. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 26, 2016 Author Share Posted July 26, 2016 Just played this with paddles. I found that it's the opposite of what would be intuitive. Twisting the paddle up should make the incinerator go up instead of down like it does and vice versa. Is there a way to reverse the paddle directions? Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted July 26, 2016 Share Posted July 26, 2016 Usage of paddles can be subjective for up/down movement. When I play this I see the incinerator on the right side of the screen, so when the right side of the paddle moves up, and the incinerator moves up, it feels right to me. That said, just use subtraction to reverse the range. Right now the steps in UsePaddle are: convert range of 49-164 to 0-115 convert range of 0-115 to 0-38 convert range of 0-38 to 11-49 Just add one more step: convert range of 49-164 to 0-115 convert range of 0-115 to 0-38 reverse range of 0-38 to 38-0 convert range of 38-0 to 49-11 Right now you see this in the code: lsr ; A = 0-38 ; end divide by 3 clc adc #11 ; A = 11-49 change it to this: lsr ; A = 0-38 ; end divide by 3 sta Temp ; flip the range sec lda #38 sbc Temp ; A= 38-0 clc adc #11 ; A = 49-11 Since up/down paddle use is subjective, I would suggest making the reversal under player control. lsr ; A = 0-38 ; end divide by 3 bit SWCHB ; this tests the difficulty switches. BVC (switch=B) or BVS (A) for the left switch, and BPL (B) or BMI (A) for the right. bvc SkipReverse ; do not reverse range if Left Difficulty = B sta Temp ; reverse the range sec lda #38 sbc Temp ; A= 38-0 SkipReverse: clc adc #11 ; A = 49-11 (or 11-49 if not reversed) Note: code is untested 1 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 26, 2016 Author Share Posted July 26, 2016 It works great! I'm going to have to add you as a co-programmer with all this help you're giving me. I just felt that the opposite way was better, but now anyone can choose what they want. thanks for all your help! celery29.zip Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 28, 2016 Author Share Posted July 28, 2016 It took all day but I finally added a black & white game as well as a color game. celery30.zip Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted July 28, 2016 Author Share Posted July 28, 2016 Am I done? I can't seem to think of anything to add. I still have about 400 bytes left to add stuff in, but I'm not sure what to do. And if I do add something, it will probably alter the scanline and I'll have the stupid jiggling problem at the beginning again. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted July 29, 2016 Share Posted July 29, 2016 Sure, I think so. -Thom Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 3, 2017 Author Share Posted January 3, 2017 (edited) Came back to this project to see if I could add/change anything. I was able to add a few things: + Added eye to the celery, which is missile1. Pretty cool that you can have missiles be different colors. Why not in bB? At one point, I had two missile1s be different X positions and slightly different colors. I thought that was weird. + When the vegetarian runs out to the left, he disappears off screen and the game ends. Previous versions had him stuck there being animated walking against the non-existent wind. + Found and fixed a bug where the floor changes steepness. Let me know if you find any weirdness. celery32.zip Edited January 3, 2017 by atari2600land 2 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 4, 2017 Author Share Posted January 4, 2017 Made the celery stalk rounded, not a straight line (like in the 2600 bB movies). This, of course, displaced the eye, so I had to spend a few hours trying various things to make it be in the correct position. celery33.zip Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 4, 2017 Author Share Posted January 4, 2017 I tried for a few hours and just can't make multicolor sprites. Argh! What I want is for the little guy to be these colors: VegColor .byte #$f6 .byte #$9c .byte #$9c .byte #$4c .byte #$4c .byte #$a8 .byte #$a8 but I just can't do it. No matter what I do, nothing works. Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted January 4, 2017 Share Posted January 4, 2017 search for DGS33 for the changes. I did not update the cycle counts, you should redo those before you make other changes. Also the scanline count changes to 263 during the death sequence, you'll need to track that down. celery33dgs.asm.zip celery33dgs.bin Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 4, 2017 Author Share Posted January 4, 2017 Thank you so much, again! It hadn't occurred to me to try to do what you did. I changed the colors a bit, as well as added grayscale colors for when the b&w switch is on. i thought it'd be nice to not have the vegetarians running around naked. I also solved a little problem I was having about the death. I got it to 262 scanlines BUT when the death noise was playing, the floor went down by a pixel and when the death noise was over it went back up. I fixed it, though. I have about 180 bytes left. I doubt I'd do it to this game, but is making a 4k game as easy as changing a simple ORG value? celery34.zip Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted January 4, 2017 Share Posted January 4, 2017 Thank you so much, again! ... is making a 4k game as easy as changing a simple ORG value? No problem. Yep, from Collect: ;=============================================================================== ; Define Start of Cartridge ;=============================================================================== ; define a segment for code SEG CODE ; 2K ROM starts at $F800, 4K ROM starts at $F000 ORG $F800 so change that to ORG $F000 and you'll build a 4K ROM. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 5, 2017 Author Share Posted January 5, 2017 I decided I wanted a visible entrance to the incinerator. So I played around for 2 1/2 hours and finally got one. It's the ball. But then the score decided to get crazy. So I decided to delete some code that wasn't useful and the problem went away. I don't know what causes it, but sometimes there's lines that get between the ones and tens digit, especially if the ones digit is 6 or higher. I have a little less than 200 bytes to work with. My ultimate goal with this game is to keep it at 2k. Anyway, let me know if you find anything weird or see improvements I could make, or changes you want. celery35.zip 1 Quote Link to comment Share on other sites More sharing options...
chavert Posted January 5, 2017 Share Posted January 5, 2017 It would be great if we have got more than one life. Three for example. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 5, 2017 Author Share Posted January 5, 2017 I don't know if I have enough room for a life counter. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 5, 2017 Author Share Posted January 5, 2017 Since the idea is for the guy to go in the incinerator, I decided to switch the collision from player1 (the incinerator) to ball (opening in incinerator.) Unfortunately, this caused a problem about flashing items for a split second before they start going across the screen, but I was able to fix it by voiding the sprite if its x position was 2 (starting.) I am also wondering how Chavert got a green celery on a PAL TV. I thought it would be purple. celery36.bin Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.