+batari Posted February 22, 2009 Share Posted February 22, 2009 I've spent a little time seeing if I can modify the standard kernel to allow a 16-pixel playfield, and I think I've done it. You can either use a 32-wide reflected playfield that fills the screen, or a 16-wide playfield that only uses the middle 16 pixels. I've also created some supporting routines. With standard RAM, you can support up to 24 rows. There are two new constants - pfhalfwidth, and pfcenter. const pfhalfwidth=1 will enable the 16-wide playfield, and const pfcenter=1 will use the middle 16 pixels (asymmetrical) instead of 32-wide symmetrical playfield. This isn't complete (the bB source needs changing for playfield: command, pfcolors aren't working, and a few other things.) I'll investigate updating the bB source and new executables, but for now I'll release this in case anyone finds it useful. A demo, test.bas, is included. For now, at least until the bugs are fixed, you should place the files in the same directory as any bB programs you wish to compile, and bB will use these instead of the normal files of the same name. pfhalfwidth.zip Quote Link to comment Share on other sites More sharing options...
MausGames Posted February 23, 2009 Share Posted February 23, 2009 Thanks for posting this! Can't wait to see how it develops. Did you decide to do this for kernel variety, or for something specific you wanted to use it for? Quote Link to comment Share on other sites More sharing options...
jbs30000 Posted February 23, 2009 Share Posted February 23, 2009 I'm curious, will there be any advantages using this, instead of getting a bigger playfield by using the superchip option? Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted February 23, 2009 Share Posted February 23, 2009 Can you make a bin of your example and post it? I can't get it to work, so some of the files probably need to be plopped into the includes folder, but I don't want to screw anything up. I don't understand the purpose of this, so it would be nice to see a working example. Thanks. Quote Link to comment Share on other sites More sharing options...
MausGames Posted February 23, 2009 Share Posted February 23, 2009 (edited) The only real purpose would be kernel diversity, giving programmers as many options as possible VS a one-for-all solution. More focused kernels usually require less resources, freeing them for other uses. If you develop a game that only needs 16 horizintal playfield pixels, then you could use this kernel to either free up many bytes of RAM for general use, or to double vertical resolution. I greatly appreciate that Batari is releasing a variety of kernels, but I think maybe he's opening a can of worms. Edited February 23, 2009 by MausGames Quote Link to comment Share on other sites More sharing options...
+batari Posted February 23, 2009 Author Share Posted February 23, 2009 Of course, using Superchip RAM will give you more power than this kernel. However, some may still wish to target standard bankswitching and get a little more out bB. I should say that it's not so much for double-height, but could also be used to free up some variables. For example, if you were only needed 16 pixels wide and 12 high was fine for you, 24 variables would be freed for general use. There is a sample included with the zip file. You need to use the 10-25-08 build of bB for this sample, and presumably for this new kernel as well (though I haven't tested this.) I should also mention that I would like others to test these files with games that don't use the specific features in the kernel and other files, and let me know if those games are adversely affected (they shouldn't be, but I haven't tested this either.) Quote Link to comment Share on other sites More sharing options...
Impaler_26 Posted February 23, 2009 Share Posted February 23, 2009 Can you make a bin of your example and post it? I can't get it to work, so some of the files probably need to be plopped into the includes folder, but I don't want to screw anything up. I don't understand the purpose of this, so it would be nice to see a working example. Thanks. Yep, you have to put those files into the includes folder. I just compiled the example with the 10-25-08 build of bB and i think i get the idea of this new kernel... Nice stuff batari, good to see you're still improving bB! test.bas.bin Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted February 23, 2009 Share Posted February 23, 2009 Thanks Impaler_26. It is nice that batari is still working on bB. It gives me hope that he'll figure out how to give us easy-to-use nybble variables: http://www.atariage.com/forums/index.php?showtopic=133045 Quote Link to comment Share on other sites More sharing options...
MausGames Posted February 23, 2009 Share Posted February 23, 2009 I haven't tested this out yet, but I'm wondering if you get any kind of increase in cycles available. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted May 1, 2009 Share Posted May 1, 2009 Sorry for necroposting, but I can't seem to use this with an 8k game. I tried putting those 2 commands in, and it shows nothing. I've included the .bas file in case someone wants to look at it. tetris6a16.bas 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.