Jump to content
IGNORED

Superchip Bankswitching in bB


SeaGtGruff

Recommended Posts

I could be wrong here, but IIRC, doesn't bB 1.0 come with superchip bankswitching built-in? :ponder:

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

Link to comment
Share on other sites

I could be wrong here, but IIRC, doesn't bB 1.0 come with superchip bankswitching built-in? :ponder:

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

Link to comment
Share on other sites

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 by atari2600land
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...