Jump to content
Joe Musashi

D.K. VCS Source

Recommended Posts

To celebrate the first anniversary of the 1.0 release of D.K. VCS, I am happy to now release the game source code. It can be downloaded from:

https://drive.google.com/open?id=1A8iAZLsCDOo5TAs1a0FQ0TnQRpNt21xw

Please note that this is a complete archive of the project. It not only contains the assembly code, it also includes a lot of other stuff that was used during development. For example, there’s a GarageBand project, which was created to help arranging the music.

Building

You should be able to build the binary on the command line with DASM with:

dasm dk.asm -odk.bin -f3


Alternatively, on Linux and Mac (or Cygwin on Windows) you can run the included makefile. You just have to edit the paths at the top of the file. It should be noted that the makefile also compiles the tool that generates the boot message. So you will have to have gcc or another C++ compiler installed.

Using the makefile you can just run:

make


or to generate both PAL and NTSC binaries:

make release


There’s also a special target which generates a cartridge version. The cartridge version differs in a way that it can contain a special message in the unused ROM space that overlaps the SARA RAM. In order to build it, type:

make cart


Source

The source consists of dk.asm as main file, while bank_0.asm to bank_7.asm generate the code for the eight 4K banks. Also, there are a number of includes such as the color conversion tables and the font.

One thing that might be useful is libvcs.asm. It is a collection of functions that are frequently used in my projects and have thus been folded into a separate library. There’s a wide variety of functions, including display handling, memory operations, sprite kernels and positioning code, score routines, a RNG, a sound FX player, and a music player. All routines can either be inserted as inline code, e.g.,

VERTICAL_SYNC


or as subroutines

FUNC_VerticalSync


You can see how these are included and called in the DK code. A simple example is the standalone title which can be found in Title/dk.asm.

Have Fun!

  • Like 22

Share this post


Link to post
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.

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