Double Dragon (double-dragon-snes)
Double Dragon
OrigenArcade
TecnologíaPort Nativo C/C++ (Reimplementación de Motor)
Disponible paraWindows
Ver proyecto oficialSobre el proyecto
Double Dragon es un videojuego lanzado para máquinas recreativas en 1987, desarrollado por Technos Japan, que pertenece al género Beat'em up. Su distribución en Europa y Norteamérica la llevó a cabo Taito. El título se considera un sucesor no oficial del videojuego Renegade de Technos, de similar temática. Double Dragon alcanzó un gran éxito en los salones recreativos e inició una etapa de gran popularidad para los Beat´em up, tanto en recreativas como en consolas. Actualmente es considerado como un clásico.
Información oficial del proyecto
Double Dragon SNES
A native SNES port of the NES game Double Dragon
Prerequisites
- cc65 - the 65c816 compiler and linker
Other Userful Tools I've used for this project
- Mesen2 - A fantastic emulator for development on a bunch of platforms
- HxD - A Hex Editor
- Visual Studio Code - Used as the development environment
Structure of the Project
-
bankX.asm- The NES memory PRG banks, there are 8 of them. This code is heavily edited/altered for the port -
chrom-tiles-X.asm- The NES CHR ROM banks, also 8 of them. These are untouched aside from converting them to the SNES tile format that we use. The go script takes care of that for you. -
2a03_xxxxx.asm- Sound emulation related code -
bank-snes.asm- All the code that runs in theA0bank, this is where we put most of our routines and logic that we need that is SNES specific. Also includes various included asm files:attributes.asm- dealing with tile and sprite attributeshardware-status-switches.asm- various useful methods to handle differences in hardware registershud-hdma.asm- HDMA logic for the player health bars and names to be shownintro_screen.asm- Title card that is shown at the start of the gamepalette_lookup.asmandpalette_updates.asm- palette logicsprites.asm- sprite conversion and DMA'ing
-
main.asm- the main file, root for the project -
vars.inc,registers.inc,macros.inc- helpful includes -
resetvector.asm- the reset vector code -
hirom.cfg- defines how our ROM is laid out, where each bank lives and how large they are
Building
- Update the
build.shfile with the location of your cc65 install - make sure you've extracted and copied the chr rom banks to
/src - run
build.sh - The output will be in
out/