Giter VIP home page Giter VIP logo

x16-chasevault's Introduction

x16-chasevault

Chase Vault: A new game for the Commander X16 retrocomputer.

As seen on YouTube: https://youtu.be/f6d036XFiTk

To build game files, run build.sh in bash (Git bash is recommended for Windows). The following files generated will need to be loaded to the X16 filesystem:

  • CHASVALT.PRG - Program that needs to be loaded by BASIC. Simply LOAD "CHASVALT.PRG" then RUN, or auto-run with the emulator from this directory: path/to/x16emu -prg CHASVALT.PRG -run
  • TILEMAP.BIN - 128x128 map of 16x16 tiles, loaded by program to VRAM
  • LOADMAP.BIN - 32x32 map of 16x16 tiles, loaded to VRAM to display load screen until final tilemap is loaded.
  • SPRITES.BIN - 16x16 4bpp sprite frames, loaded by program to VRAM
  • TILES.BIN - 16x16 4bpp tiles, loaded by program to VRAM
  • PAL.BIN - custom palette, loaded by program to VERA register
  • SPRTATTR.BIN - initial sprite attributes, loaded by program to VERA registers
  • STARTBG.BIN - start screen background bitmap, loaded by program directly to VRAM at start
  • BITMAP.BIN - game level background bitmap, loaded by program to banked RAM at start, then replaces STARTBG.BIN in VRAM after start
  • NORMX.BIN - vector normalization X-value lookup table, loaded by program to banked RAM
  • NORMY.BIN - vector normalization Y-value lookup table, loaded by program to banked RAM
  • MUSIC.BIN - music for YM2151 FM synthesizer
  • WINMUSIC.BIN - music for winners only

Build requirements: gcc, cc65

This game is now undergoing beta testing. The master baseline is not guaranteed to be fully working. The latest stable release is https://github.com/SlithyMatt/x16-chasevault/releases/tag/v0.7b

x16-chasevault's People

Contributors

rossato avatar slithymatt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

x16-chasevault's Issues

Joystick support broken

On both the emulator and FPGA hardware, only the start button works on real joysticks. This is because the joystick_tick routine assumes JOYSTICK_GET will set X to 0x01, which it only does for keyboard joystick emulation.

Doesn't work on real hardware.

Real hardware (or emulator with SD card attached) only supports filenames with 8.3. So the release files can't be loaded.

Thoughts behind loadvram

Is it possible you could expand a bit on your thoughts behind the loadvram function?
As far as I am aware, you can not load data directly into VRAM with the LOAD function, but then were do you actually store the data?
The addresses are shifted right 4 times before you call loadvram which means that VRAM_TILEMAP becomes $0400. If you load the tilemap at that address, do you not overwrite your code at $080D and up ?

Artifact not picked up on corners

If I turn around corner very quckly, as early as possible, the artifact on that corner won't be picked up. So I literaly have to make sure that I bump into the wall before making a turn. I find it odd. Is it intended behavior?

Sluggish sound (compared to youtube video)

Great job so far!

Had previously played the 0.1b version with the r34 emulator. Just built the r35 emulator with sound support and tried the 0.2b version. I noticed that the background music is sluggish, compared to the YouTube video. Unclear if this is some sort of issue with the emulator or my system (running Fedora 30, ALSA/PulseAudio).

Also noticed that if you die for the last time and the game is over, the sound is stuck on the last note until you elect to "Continue" or otherwise kill the emulator.

SD card loading needs feedback

Loading the game from an SD card requires much more time to load all the files. This means that the start screen wouldn't show up on real hardware for a significant amount of time, during which the screen is just black.

Needed for the next release is an SD card image for testing. Also needed is feedback indicating load progress. This can be accomplished by simply printing to the screen which file is being loaded.

Check YM2151 busy on real hardware

On a real YM2151 you need to wait a minimum interval between writes. You can check if the chip is ready by reading bit 7 of either address, it will be high when busy, low when ready (the emulator always returns low, so no worries there). Chase Vault has less/glitchy sound on FPGA hardware (it gets better over time played, but never perfect).

Trapped myself in the wall

After clearing zone I returned to previous cleared zone, than back, and suddenly found myself trapped in the wall.
Now when I press cursor keys sprite animation works, but sprite does not move.

cv

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.