+batari Posted August 5, 2005 Share Posted August 5, 2005 So, the timer is actually counting while the basic program is running. At least that's the only reason I can see for such a large value. So every 64 cycles of basic code should yield a different number. Maybe I just didn't get lucky with my samples. (trying that again.) Yes, this is true. Since I'm on Linux, Stella is basically the emulator I'm going to be running. 904921[/snapback] There is now a Linux port for z26. Quote Link to comment Share on other sites More sharing options...
+batari Posted August 5, 2005 Share Posted August 5, 2005 Still a minor problem with display, now ALL pfpixel scanline breaks are 1 pixel too high! Paddle works though, thanks for the kernel. For everyone's information, when drawing a playfield with PF0=128, the left boundary is 31 and the right is 151, giving you a 120 pixel playfield. Also, what do I have to do to enable the ball? Just give it an X, Y, and height? I'm assuming a height of 0 disables it. 904872[/snapback] You're right, I messed up that kernel too. I think I fixed this, so I edited the above post with what I hope to be a corrected version. Also, on the ball, to turn it off, simply position it off of the visible screen by setting bally large enough. 100 should work. Quote Link to comment Share on other sites More sharing options...
potatohead Posted August 5, 2005 Author Share Posted August 5, 2005 (edited) So, the timer is actually counting while the basic program is running. At least that's the only reason I can see for such a large value. So every 64 cycles of basic code should yield a different number. Maybe I just didn't get lucky with my samples. (trying that again.) Yes, this is true. Since I'm on Linux, Stella is basically the emulator I'm going to be running. 904921[/snapback] There is now a Linux port for z26. 904935[/snapback] Nice. I'll give this a shot at some point in the near future and give my plan b paddle idea another try. I liked supercat's idea too. Splitting the read over a few frames. The only drawback would be the loss of instant paddle movement from extreme side to side. However, moving 16 values at a time, per frame, doubled makes 32 pixel movement possible every frame. For almost all paddle moves, this would be really a good comprimise. The only difference the player would experience, over a full on kernel paddle read, would be a latency on extreme moves that could be as high as 1/3 second. (With the paddle value doubled that is.) For my game, that would be totally workable. Going to think his idea over a bit... I'll bet it takes two bytes of storage to implement though. Right now, I don't need paddle support for the game. I think I probably should be working on is trimming the fat in order to add the last coupla features. I've about 300 bytes left at this point and 3 variables. If I can rewrite some things to free up another byte or two, that will be enough to allow for a power up (faster bullets) and some fast moving ooze drops to avoid while battling the ooze. Hard to decide if the features are worth more than really intense gameplay would be with the features that exist today... Edited August 5, 2005 by potatohead Quote Link to comment Share on other sites More sharing options...
Luigi301 Posted August 5, 2005 Share Posted August 5, 2005 What variable sets the ball's color? Quote Link to comment Share on other sites More sharing options...
potatohead Posted August 5, 2005 Author Share Posted August 5, 2005 What variable sets the ball's color? 905012[/snapback] I don't think the ball is in the kernel just yet. Batari mentioned one kernel with a ball and both paddles though. COLUMPF = will work to change the color of the ball, I think. Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted August 5, 2005 Share Posted August 5, 2005 What variable sets the ball's color? 905012[/snapback] Ball is same color as playfield. You set both by setting the color of the playfield, with COLUPF. Quote Link to comment Share on other sites More sharing options...
Luigi301 Posted August 5, 2005 Share Posted August 5, 2005 Well then the ball doesn't work either. I have the following for ball code: ballx = 70 bally = 50 ballheight = 4 I inserted that before my drawscreen. The playfield obviously has a color, so I don't know why it won't show up. Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted August 5, 2005 Share Posted August 5, 2005 Well then the ball doesn't work either. I have the following for ball code: ballx = 70 bally = 50 ballheight = 4 I inserted that before my drawscreen. The playfield obviously has a color, so I don't know why it won't show up. 905249[/snapback] Well, first of all, I think the ball only exists in the paddle kernel that batari attached in this thread - it doesn't exist in the standard bB kernel. Also: if the ball is in the same place as a playfield block, you won't see it - since they are both the same color! Quote Link to comment Share on other sites More sharing options...
Luigi301 Posted August 6, 2005 Share Posted August 6, 2005 Yes, I'm using Batari's paddle kernel. I made the line that jumps to loading a level jump to the next line, so there is no playfield at all. Quote Link to comment Share on other sites More sharing options...
+batari Posted August 6, 2005 Share Posted August 6, 2005 Yes, I'm using Batari's paddle kernel. I made the line that jumps to loading a level jump to the next line, so there is no playfield at all. 905464[/snapback] I thought I had correctly added the ball, but I didn't Anyway, I found the problem. Here's the corrected kernel. I've also deleted the kernel above. Hopefully everything works this time. 2600basic.zip Quote Link to comment Share on other sites More sharing options...
Luigi301 Posted August 6, 2005 Share Posted August 6, 2005 (edited) I noticed the file size shrinks each time you upload a new one... Does the ball have only one thickness? Edited August 6, 2005 by Luigi301 Quote Link to comment Share on other sites More sharing options...
+batari Posted August 6, 2005 Share Posted August 6, 2005 I noticed the file size shrinks each time you upload a new one... Does the ball have only one thickness? 905640[/snapback] It has four thicknesses. In bB, you would change the ball thickness by the following: 1 pixel wide (default): CTRLPF=$01 2 pixels wide: CTRLPF=$11 4 pixels wide: CTRLPF=$21 8 pixels wide: CTRLPF=$31 Quote Link to comment Share on other sites More sharing options...
Luigi301 Posted August 7, 2005 Share Posted August 7, 2005 (edited) The ball code I'm using makes the ball appear in Stella but not in Z26, and in neither does the ball move at all. ballinit n = rand if n < 63 then t = 1 && u = 1 if n < 127 && n > 63 then t = 1 && u = 0 if n < 191 && n > 127 then t = 0 && u = 1 if n < 255 && n > 191 then t = 0 && u = 0 goto ballmove ballmove if m = 0 then goto 70 if t = 1 then ballx = ballx + 1 if t = 0 then ballx = ballx - 1 if u = 1 then bally = bally + 1 if u = 0 then bally = bally - 1 goto 17 Why won't my ball move? M is set to 1 upon pressing fire. Edited August 7, 2005 by Luigi301 Quote Link to comment Share on other sites More sharing options...
potatohead Posted August 7, 2005 Author Share Posted August 7, 2005 The ball code I'm using makes the ball appear in Stella but not in Z26, and in neither does the ball move at all. ballinit n = rand if n < 63 then t = 1 && u = 1 if n < 127 && n > 63 then t = 1 && u = 0 if n < 191 && n > 127 then t = 0 && u = 1 if n < 255 && n > 191 then t = 0 && u = 0 goto ballmove ballmove if m = 0 then goto 70 if t = 1 then ballx = ballx + 1 if t = 0 then ballx = ballx - 1 if u = 1 then bally = bally + 1 if u = 0 then bally = bally - 1 goto 17 Why won't my ball move? M is set to 1 upon pressing fire. 905873[/snapback] Can you post the whole thing? Quote Link to comment Share on other sites More sharing options...
+batari Posted August 7, 2005 Share Posted August 7, 2005 (edited) The ball code I'm using makes the ball appear in Stella but not in Z26, and in neither does the ball move at all. ballinit if n < 63 then t = 1 && u = 1 if n < 127 && n > 63 then t = 1 && u = 0 if n < 191 && n > 127 then t = 0 && u = 1 if n < 255 && n > 191 then t = 0 && u = 0 Why won't my ball move? M is set to 1 upon pressing fire. 905873[/snapback] I think you want to separate the statements after the "then" with a colon. If you use &&, for example on the first statement, I think it will assign t to the logical AND between 1 and u and ignore the second =. I'd try this: ballinit if n < 63 then t = 1 : u = 1 if n < 127 && n > 63 then t = 1 : u = 0 if n < 191 && n > 127 then t = 0 : u = 1 if n < 255 && n > 191 then t = 0 : u = 0 Edited August 7, 2005 by batari Quote Link to comment Share on other sites More sharing options...
Luigi301 Posted August 7, 2005 Share Posted August 7, 2005 Doesn't work either. Here's my code. breakout.txt Quote Link to comment Share on other sites More sharing options...
+batari Posted August 7, 2005 Share Posted August 7, 2005 Doesn't work either. Here's my code. 906190[/snapback] OK, that clears things up a bit. I found a few issues in the code: 26 if o < 151 then o = 151 : if switchrightb then goto 27 : if o < 28 then o = 28 : if o > 142 then o = 142 You probably want to put these if-thens on their own lines. The last two will never be reached. 30 if switchleftb then goto 50 else goto 31 bB doesn't support "else" right now - the compiler will ignore the else. 51 if joy0fire && m = 0 then goto startball The fire button on the paddles is actually read by joy0left and joy0right. 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.