Project to learn how to implement a game engine for the Sega Mega Drive/Genesis.
The following tools should be on your PATH
- BlastEm emulator
- megalink (Mega EverDrive PRO)
- ASM68K
- java (>=11)
- maven (>=3)
- sh/bash to run the provided scripts
To build the Tiled map conversion tool run the script ./build_tools.sh
- Open the Tiled project workspace file in
./game/assets/map/
- Press
alt+r
to compile and run the currently open/focussed map in BlastEm - Press
alt+d
to compile with debug features enabled and run currently open/focussed map in BlastEm - Press
alt+x
to compile and run the currently open/focussed map via the Mega EverDrive Pro on real hardware
Create a ROM image ultradrive.bin
by running the following command from the source root: asm68k.exe /p .\assembly.asm,ultradrive.bin
.
Put ultradrive.bin
on the flash card and run from there.
This adds Gens KMod debug support (Debug message and timers) available in supported emulators.
Run asm68k from the command line in the source root:
asm68k.exe /p /e "DEBUG='GENS'" .\assembly.asm,ultradrive.bin
This produces a ROM image ultradrive.bin
which can be loaded in an emulator that supports the kmod debug protocol.
- dpad: move player sprite
- button a: press to initiate manually triggered tileset animations
- button b: hold to disable collision detection
- button c: hold to move fast
- button x: move water level up
- button y: move water level down