SeaGtGruff #26 Posted September 25, 2007 I could be wrong here, but IIRC, doesn't bB 1.0 come with superchip bankswitching built-in? Yes, but if I remember correctly there was a file left out, and there are some changes you need to add if you want to use either bankswitching, or Superchip bankswitching, with the multisprite kernel. Michael Quote Share this post Link to post Share on other sites
SeaGtGruff #27 Posted September 25, 2007 I could be wrong here, but IIRC, doesn't bB 1.0 come with superchip bankswitching built-in? Yes, but if I remember correctly there was a file left out, and there are some changes you need to add if you want to use either bankswitching, or Superchip bankswitching, with the multisprite kernel. Michael The following file was left out of the bB v1.0 installation package: superchip.h This file is *not* required for using Superchip bankswitching, but it does define some extra RAM variables-- namely, w000 through w127, and r000 through r127-- which are referred to in the bB help manual. Furthermore, this file was not listed in the superchipheader.asm file. I'm attaching the superchip.h file, and an updated version of the superchipheader.asm file. Due to a bug in the bB v1.0 compiler, bB will automatically default to using the multisprite.inc file whenever the multisprite kernel has been selected, regardless of whether bankswitching is also being used. To get around that bug, you should add the following "includesfile" statement to your bB program if you're using bankswitching with the multisprite kernel: includesfile multisprite_bankswitch.inc set romsize 8k set kernel multisprite Note that this "includesfile" statement must come *before* the "set romsize" and "set kernel" statements, otherwise bB will not use the multisprite_bankswitch.inc file as desired. Similarly, bB will not use the correct includes file if you try to use Superchip bankswitching with the multisprite kernel-- but you'll need two files that were not included in the bB v1.0 installation package, as follows: multisprite_superchip.inc multispritesuperchipheader.asm The first file should be used whenever you want to use Superchip bankswitching with the multisprite kernel, as follows: includesfile multisprite_superchip.inc set romsize 8kSC set kernel multisprite Again, note that this "includesfile" statement must come *before* the "set romsize" and "set kernel" statements. The second file is like the multispriteheader.asm file, which defines the zero-page RAM addresses that bB uses for the multisprite kernel, except it also includes some additional lines related to the Superchip. I'm attaching those files, as well. Michael superchip.zip Quote Share this post Link to post Share on other sites
+atari2600land #28 Posted September 25, 2007 (edited) OK, I've got it all done. Now, how do I make asymetrical playfields (or can I, since I'm using the multisprite kernel?) The only reason I would want GoSub 2 to be on a Superchip is for the asymetrical playfields such as in Cave-In and Nanoman. EDIT: Correct me if I'm wrong, but I can only have an asymetrical playfield if I don't use the multisprite kernel. So, I got rid of the fish in GoSub 2. Edited September 25, 2007 by atari2600land Quote Share this post Link to post Share on other sites