Jump to content

SpiceWare's Blog - reboot is underway


Recommended Posts

The development of Bus Stuffing took far longer than I expected. While the results are awesome (yes, these are actual images generated using bus stuffing on my 2600!):



regrettably some 2600 Junior and some 7800 columns just don't work correctly with it, resulting in vertical lines, incorrect colors, and even system crashes:


It appears to be a hardware issue with those systems, and I don't wish to offer up games for sale that won't work on some 2600s (I'd be OK if the problem was restricted to some 7800s).


So Chris Walton (creator of some awesome homebrews, such as Juno First and Chetiry!) and I decided to take what we learned creating the Bus Stuffing driver and come up with an improved version of DPC+ called CDF. CDF features:

  • Fast fetch mode
    5 cycle TIA updates like DPC+
  • 32 datastreams
    double that of DPC+ and BUS. In DPC+ and BUS after drawing the gameplay area I had to reassign the datafetchers to display the score/lives/level/etc, which took a bit of overhead. With 32 datastreams there should be enough to go around without having to reassign them midscreen.
  • identical datastreams
    All datastreams work exactly the same and have an X.Y increment. Harmony/Melody driver code is simpler (smaller) when all datastreams work the same, plus they're more flexible supporting increments such as 2.0, 1.5, 1.0, 0.5, etc. 2.0 is very useful for flicker blind displays like the 128x200 bitmap or the Draconian logo.
  • datastreams configured by C(or ARM) code
    In DPC+ datastreams could only be configured by 6507 code, taking scanlines worth of processing time to do so. In BUS and CDF this is done in C, which is much faster.
  • 3 voice music
    Just like DPC+ and BUS
  • digital sample support
    like BUS - no need to set aside a 2K of Display Data, which was a major headache in Frantic
  • more efficient driver
    the driver's smaller, like BUS, so more ROM (2K) and RAM (2K) is available for the game
  • designed for C (or ARM) code
    most features will require the use of C or ARM code.
Chris has been writing the driver for the Harmony/Melody while I've been adding support to Stella. We're far enough along that I've started in on the Draconian reboot as a test case. So far I have the 2-color 96 pixel kernel going using 14 of the datastreams.


Stella (changes not yet committed, I'm still working on the audio):




You can use RESET and SELECT to go between the menu and a "game" screen:


ROM - Harmony only at this time:

Attached thumbnail(s)
  • blogentry-3056-0-07759900-1489120391_thu
  • blogentry-3056-0-98299200-1489121862_thu
  • blogentry-3056-0-66801800-1489120398_thu
Attached File(s)

  • Like 1
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...