Jump to content

SpiceWare's Blog - The Beginnings of Spice C


Recommended Posts

I've taken quite a bit of time off 2600 projects, was burnt out after the crunch to finish Draconian in time for PRGE - I even worked on it as my folks and I made our way to Portland, by way of the Grand Canyon!

I'm once again interested in working on 2600 projects and started off by porting Stay Frosty 2's music driver from DPC+ to CDF format for John's port of Mappy. Can't wait to hear iesposta's audio wizardry in that project!

After finishing that I started in on my Spice C framework. If you've not heard of it before, it's a new 2600 development environment to make it easier to write games. It'll be like batari BASIC were you use prewritten kernels and only worry about writing the game logic. It'll differ in that it uses kernels written to take advantage of the CDF bankswitching (as seen in Draconian, Super Cobra Arcade, and the forthcoming Mappy), and all of your game logic will be written in C instead of BASIC. The game logic will run on the 70 MHz ARM processor found inside the Harmony Cartridge and Melody Board.

Here's an overview of how it works so far:

Initialize Spice C environment:

Create a new project called test3, presented with the menu choices:

Next option is the game kernel:

If you don't know what a kernel supports you can ask for more detailed info:

Next up is the score kernel:

If all of your choices support Enhanced Audio you'll be prompted on that (if not you'll default to TIA ONLY):

You'll then be given an overview of your choices:

No will let you reselect your options while Yes will create a directory for your project as well as a configuration file:

Switch to your project directory and you can build it:

which causes new files to show up in your project directory:

The bulk of the source code is located elsewhere and currently builds a rainbow executable:

Now that I have that working, I need to work on creating the various kernels - at the moment they are just full of comments:

The comment line starting with SD is the Short Description and is displayed in the numbered selection list. The comment lines starting with LD contain the Long Description and are what you see if you ask for more detailed info. This means adding new kernels is just a matter of dropping them in the correct location, no changes will be required to the spicec.sh script. That comment line "supports enhanced audio" is how the script knows if a kernel can use enhanced audio or not.

Quite a bit more to do before y'all can use it, but I'm excited about the progress I've made so far.

Attached thumbnail(s)
  • blogentry-3056-0-80300500-1519173053_thu
  • blogentry-3056-0-17457000-1519173060_thu
  • blogentry-3056-0-69714000-1519173063_thu
  • blogentry-3056-0-24624900-1519173068_thu
  • blogentry-3056-0-69051900-1519173073_thu
  • blogentry-3056-0-60791500-1519173076_thu
  • blogentry-3056-0-29841300-1519173080_thu
  • blogentry-3056-0-93071700-1519173083_thu
  • blogentry-3056-0-57918300-1519173087_thu
  • blogentry-3056-0-99958900-1519173091_thu
  • blogentry-3056-0-52272600-1519173096_thu
  • blogentry-3056-0-86009600-1519173100_thu
  • blogentry-3056-0-56563200-1519173104_thu
  • blogentry-3056-0-54459700-1519173109_thu
  • blogentry-3056-0-25439100-1519173343_thu

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Recently Browsing   0 members

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