All Projects → leissa → c64engine

leissa / c64engine

Licence: GPL-3.0 license
a game engine for the c64

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to c64engine

64tass
64tass - cross assembler for 6502 etc. microprocessors - by soci/singular - [git clone from the original sourceforge repo]
Stars: ✭ 19 (+0%)
Mutual labels:  c64, assembly-6502
nuxt-svg-sprite-module
A quick and dirty way to inline svg sprites in your Nuxt app.
Stars: ✭ 21 (+10.53%)
Mutual labels:  sprites
gsmmux
gsm multiplex daemon
Stars: ✭ 48 (+152.63%)
Mutual labels:  multiplexer
fakesid
SID-based chiptune tracker for android
Stars: ✭ 23 (+21.05%)
Mutual labels:  c64
vue-svg-inline-plugin
Vue plugin for inline replacement of SVG images with actual content of SVG files.
Stars: ✭ 30 (+57.89%)
Mutual labels:  sprites
stitch
A Gamemaker Studio 2 Pipeline Development Kit. A CLI and Node.JS API for creating GMS2 pipelines. Includes cross-project imports, batch-creating/updating sprites and sounds, texture page management, and more.
Stars: ✭ 54 (+184.21%)
Mutual labels:  sprites
petscii-bbs
A Java framework for building highly customizable PETSCII-enabled BBS, accessible from Commodore 64/128
Stars: ✭ 84 (+342.11%)
Mutual labels:  c64
basicv2
A Commodore (CBM) BASIC V2 interpreter/compiler written in Java
Stars: ✭ 73 (+284.21%)
Mutual labels:  c64
multiple-page-vue-webpack-example
The multiple page vue example for webpack
Stars: ✭ 14 (-26.32%)
Mutual labels:  sprites
apultra
Free open-source compressor for apLib with 5-7% better ratios
Stars: ✭ 84 (+342.11%)
Mutual labels:  c64
Pi1541io
Raspberry Pi extension board for the PI1541 project.
Stars: ✭ 69 (+263.16%)
Mutual labels:  c64
pokecss-media
Compilation of images of all Pokémon 3D sprites, icons and items. This is a fork of a now removed respository.
Stars: ✭ 21 (+10.53%)
Mutual labels:  sprites
encounter
Remaking the classic C64 game in WebGL.
Stars: ✭ 45 (+136.84%)
Mutual labels:  c64
srtrelay
SRT relay server for distributing media streams to multiple clients.
Stars: ✭ 81 (+326.32%)
Mutual labels:  multiplexer
atari64
Commodore 64 OS running on Atari 8-bit hardware
Stars: ✭ 133 (+600%)
Mutual labels:  c64
8 bit hubble
Generate random pixel art galaxies! In honor of Hubble Space Telescope, SNES videogames and Bob Ross
Stars: ✭ 59 (+210.53%)
Mutual labels:  sprites
propeller-graphics-card
Add-on board and firmware for the RC2014 computer to provide graphics capabilities
Stars: ✭ 39 (+105.26%)
Mutual labels:  sprites
nes-breakout
Breakout meets Inception on the NES
Stars: ✭ 13 (-31.58%)
Mutual labels:  assembly-6502
sprite-gen
🎨 Procedurally generate 2D sprites
Stars: ✭ 68 (+257.89%)
Mutual labels:  sprites
pixel-sprite-generator
html5 random pixel sprite generator
Stars: ✭ 22 (+15.79%)
Mutual labels:  sprites

c64engine

A game engine for the c64.

Building

Dependencies:

The following dependencies are automatically dealt with by the Makefile:

cp config.default.template config.default
vim config.default # edit
make

Running

Before running in VICE, make sure True drive emulation is enabled and IEC-device is disabled.

make run

Use joystick in port 2 to run the demo.

Features

  • Bitmap scrolling using AGSP

    This technique only requires 36 raster lines CPU time and 33 raster lines of screen space. All other screen space - including screen memory (used for colors %01 and %10) and color ram (color %11) is moved around as well.

  • Sprite-Multiplexer

    Multiplixing 24 x 2 sprites. This means 24 virtual multi-color sprites where each sprite is overlayed with a single-color sprite for more colors and better resolution.

  • Tile-Copying

    The binary format of the files is as follows:

    • map.bin: map width * map height bytes (here 256 * 96).

      Each byte is a tile index into the tile data: pixels, screen, colors

    • pixels.bin: tile width * tile height * 8 bytes per tile (here 3 * 2 * 8).

      Each bit pair in a byte is a color number: 0-3 (multicolor)

    • screen.bin: tile width * tile height bytes per tile.

      For each byte, the upper 4 bits are color 1 and the lower 4 bits are color 2

    • colors.bin: tile width * tile height bytes per tile.

      For each byte, the upper 4 bits are ignored and the lower 4 bits are color 3

    Color %00 (the shared background color) is black, but this can of course be changed to any of the 16 colors. If you are generating your own tile data, it is adviced to give priority to color number %11. In this way it is possible to reduce the problem of the sprite pointers overwriting the screen colors if certain tiles use only color %00 & color %11.

  • Map-loader (credits for the disk loader go to Krill)

Useful Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].