Skip to content

OpenRakis/OpenRakis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux OSX Windows

OpenRakis

This is a WIP project aiming at reversing Cryo's DUNE game.

Project structure

  • bin/floppy : PC DOS floppy version files (LOGO.HNM, BAGDAD.HSQ, DUNE.EXE, LOGO.EXE, ...)
  • bin/cd : PC DOS CD version files (DUNE.DAT, DNCDPRG.EXE, DUNE.EXE)
  • tools : a set of tools from various sources
  • bluegr/scummvm : the resulting ScummVM engine (which is the work of multiple people)
  • asm : the original x86 DOS assembly

the bin folder is not part of this repo, as it is copyrighted material.

Tools

IDA Freeware

Ghidra

UNLZEXE (to unpack LOGO.EXE, if it is packed)

DOSBox Debugger with AUTOEXEC support

Chani: Simulfow Debugger

Spice86: Reverse Engineering Emulator

Ghidra code generator

Cryogenic: Dune ASM code overriden with C# code, bit by bit

Other interesting tools

dosdebug

CiCParser2021

semblance

MASM2C

MASM/TASM (VSCode marketplace)

Existing efforts

Engines

madmoose/dune (Uses SCUMMVM, and can decode videos)

madmoose/dune-disassembly: Disassembly work on the PC CD DOS version.

scummvm/cryo (for Lost Eden, a very similar game from Cryo)

scummvm-cryo (Scummvm Wiki page)

DUNE revival project (GitHub copy) (uses SCUMMVM too)

Resources

Save editors and other resources

Dune "HERAD" Ad Lib Music Hacking thread

Port of the French Mega CD dub over to the PC CD DOS version

HERAD music format description

Partial data files description (CD version)

HNM video format description

HERAD implementation in adplug

DUNE revival thread

DUNE game translations

HERAD implementation in MIDIPLEX

IDA Settings and How to

8086 16-bit Real Mode. Entry point (CS initial value) = 1ED.

DOSBox Debugger AUTOEXEC example:

mount C C:\DUNE_CD\C
imgmount D "C:\DUNE_CD\CD\Dune.iso" -t iso
D:
Z:\DEBUG.COM DNCDPRG.EXE ENG ADP220 SBP2227 EMS 386 SAF WRIC:\DUNECD\
exit

ScummVM Wiki : HOWTO-Reverse Engineering

LICENSE

GNU GPLv2 License