Jump to content
IGNORED

bB Compilation? Anyone interested?


yuppicide

Recommended Posts

Would anyone be interested in doing a bB game compilation?

 

Here's what I am thinking..

 

1.

8K Superchip (possibly 16k) : 3 people will each design a 2k game. If we have more than 3 people we'd move up to 16k or we can each do 4k games.

 

2.

A simple menu will reside in BANK 1, which will switch to another bank where a game resides. Game must stay within 1 bank.

 

3.

PFRES is 32 : This will allow the maximum screen resolution.

 

4.

No variables will be DIMmed. When the menu switches to your bank, just have a routine to set/reset variables in the beginning.

 

If someone can add some things I missed let me know.

 

 

I wouldn't mind getting our creation on cartridge, but I don't plan on profiting off this much if at all. I'd like to sell the cartridge at cost or maybe make $1 per cart per person.

Link to comment
Share on other sites

  • 3 weeks later...

I would like to have a bB multicart, but why use the Superchip? IMO we could make a bB compilation with some 4K games using the standard kernel.

This could be something in the spirit of the 2005 Minigame Multicart, with some simple but fun to play games like Solar Plexus or Ooze!.

It's pretty hard to make a good 2K game with bB as the kernel itself already needs about 1K so i guess 4K would be the way to go...

 

Something similar with 6 bB games and 1 ASM game is already planned at atari2600.com

Link to comment
Share on other sites

Hey, that's pretty awesome. I have to remember to check that out later or sign up for the mailing list. I wonder where he's getting his full color boxes done?

I signed up for the mailing list in January but didn't get anything yet. I really wonder when this cart will be released...

Link to comment
Share on other sites

Why use the Superchip? Because 99% of the games I am trying to design use the SC. I just can't seem to do anything interesting without it.

Yeah, using the Superchip is a nice option. The thing is just if you wanna make carts it will be more more expensive and difficult to make them with a Superchip.

Link to comment
Share on other sites

  • 1 month later...

How is ths going? If you want, you can use my 4k game i am making 'Magic Run'. Its a shooter with RPG elements. You can see the post for it at: Magic Run

 

I am still working on it, but I am about to update it.

Link to comment
Share on other sites

BTW, there's no need for the games to share pfres or even a common kernel. Just compile the menu and each game as a 4k bin. Then just stick them all together.

 

Your menu program will setup a ram-based bank-switch and jump to $1000.

 

Each game is then it's own entity, and you can dim/pfres/kernel-hack each one individually.

Link to comment
Share on other sites

Why use the Superchip? Because 99% of the games I am trying to design use the SC. I just can't seem to do anything interesting without it.

Yeah, using the Superchip is a nice option. The thing is just if you wanna make carts it will be more more expensive and difficult to make them with a Superchip.

This will change in a few months with the Melody board (which is a stripped down Harmony intended for homebrew releases.) I used to call this "standalone Harmony" but decided to change the name to better distinguish it from the Harmony Developer's cart.

Edited by batari
Link to comment
Share on other sites

I think it's more complicate than that with a bB compilation, because of the way bB stuffs the kernel, the player graphics, and the playfield definitions all in one bank.

 

BTW, there's no need for the games to share pfres or even a common kernel. Just compile the menu and each game as a 4k bin. Then just stick them all together.

 

Your menu program will setup a ram-based bank-switch and jump to $1000.

 

Each game is then it's own entity, and you can dim/pfres/kernel-hack each one individually.

Link to comment
Share on other sites

Why use the Superchip? Because 99% of the games I am trying to design use the SC. I just can't seem to do anything interesting without it.

 

Don't worry about it, the Superchip option is always what I use by default. Most of the standard kernel games that have been made could have had much nicer graphics with the Superchip, so it's worth using every time if for no other reason than to improve your games visually.

Link to comment
Share on other sites

I think it's more complicate than that with a bB compilation, because of the way bB stuffs the kernel, the player graphics, and the playfield definitions all in one bank.

 

You mean have the kernel for all games located in 1 bank?

 

That's provided that each programmer was using the same kernel options for their game. bBasic still needs to convert the Basic code into .asm routines. So if one game is calling on a module that the others can do without, the other games lose resources that they could otherwise use for the program itself.

 

Otherwise, you are better off using a total seperate binary for each game...just like common multicarts. You could stick them together if you wanted (and still reach the objective of the original post...multiple games in 1 chip)...but each program would be completely independant...and no resources would be sapped between them.

Link to comment
Share on other sites

I think it's more complicate than that with a bB compilation, because of the way bB stuffs the kernel, the player graphics, and the playfield definitions all in one bank.

 

It's no more complicated for 4k bB binaries than it is for other 4k binaries. For a proof-of-concept, here is the beginnings of a simple bank-switching menu program written in bB. I decided to jump to the reset vector rather than jump to $1000 as I mentioned earlier - in case the two differed in bB and it had some special reset-cleanup. Not sure if this is the best approach or not, but it works. If you want to use this with other non-bB bins, then you might care to change the last $FC and $FF bytes to $00 and $10.

 

binary...

gameselect.bas.bin

 

source files...

gameselect.bas

score_graphics.asm.txt

 

To build your own menu, compile gameselect.bas, then concatenate 3 files onto gameselect.bas.bin. In linux/cygwin/MacOS/*BSD use "cat file1.bin file2.bin file3.bin >> gameselect.bas.bin". In DOS/Windows-CMD I believe something like the following should work "copy /b gameselect.bas.bin+file1.bin+file2.bin+file3.bin full_gameselect.bas.bin"

 

It would be fairly simple to embellish this program to include unique player/playfield graphics for each game selected. I leave this as an exercise to the reader. ;)

 

Feel free to take this program and use it as your own.

Edited by RevEng
Link to comment
Share on other sites

If you want to use this with other non-bB bins, then you might care to change the last $FC and $FF bytes to $00 and $10.

 

...or using the initial difficulty switch settings to flip to the appropriate bank. There's 4 combinations that can be read directly on power-up...so that would work for 4x4k games and 4x8k games using no special tricks.

 

ex:

LDA SWCHB

ROL

ROL

ROL

AND #3

TAX

LDA $FFF6,X

Link to comment
Share on other sites

Hey that's great! I only get game 1 or game 3.. is that meant to be? I never saw #2.

 

I think it's more complicate than that with a bB compilation, because of the way bB stuffs the kernel, the player graphics, and the playfield definitions all in one bank.

 

It's no more complicated for 4k bB binaries than it is for other 4k binaries. For a proof-of-concept, here is the beginnings of a simple bank-switching menu program written in bB. I decided to jump to the reset vector rather than jump to $1000 as I mentioned earlier - in case the two differed in bB and it had some special reset-cleanup. Not sure if this is the best approach or not, but it works. If you want to use this with other non-bB bins, then you might care to change the last $FC and $FF bytes to $00 and $10.

 

binary...

gameselect.bas.bin

 

source files...

gameselect.bas

score_graphics.asm.txt

 

To build your own menu, compile gameselect.bas, then concatenate 3 files onto gameselect.bas.bin. In linux/cygwin/MacOS/*BSD use "cat file1.bin file2.bin file3.bin >> gameselect.bas.bin". In DOS/Windows-CMD I believe something like the following should work "copy /b gameselect.bas.bin+file1.bin+file2.bin+file3.bin full_gameselect.bas.bin"

 

It would be fairly simple to embellish this program to include unique player/playfield graphics for each game selected. I leave this as an exercise to the reader. ;)

 

Feel free to take this program and use it as your own.

Link to comment
Share on other sites

Keep holding up or keep holding down. It cycles through the numbers.

 

Admittedly the UI could be improved - I was just going for a quick proof of concept. It will likely be more friendly if you shorten the jdelay=60 assignments to 20 or 30, and also add in a line that sets jdelay=0 if there's no joystick input.

Edited by RevEng
Link to comment
Share on other sites

See your PM's. I had a question in regards to memory locations..

 

Keep holding up or keep holding down. It cycles through the numbers.

 

Admittedly the UI could be improved - I was just going for a quick proof of concept. It will likely be more friendly if you shorten the jdelay=60 assignments to 20 or 30, and also add in a line that sets jdelay=0 if there's no joystick input.

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...