All Projects → kevinferrare → cryodunere

kevinferrare / cryodunere

Licence: Apache-2.0 license
Cryo DUNE reverse engineering and reimplementation in java.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to cryodunere

d2
A d2 mod for OpenRA
Stars: ✭ 44 (+91.3%)
Mutual labels:  dune
ocamlbyexample
Learn Ocaml by reading code examples
Stars: ✭ 18 (-21.74%)
Mutual labels:  dune
ocaml-cairo
Binding to Cairo, a 2D Vector Graphics Library.
Stars: ✭ 39 (+69.57%)
Mutual labels:  dune
lambda-dti
Interpreter of the ITGL with dynamic type inference
Stars: ✭ 18 (-21.74%)
Mutual labels:  dune
mkocaml
🔨 Tool to generate OCaml projects
Stars: ✭ 59 (+156.52%)
Mutual labels:  dune
pymor
pyMOR - Model Order Reduction with Python
Stars: ✭ 198 (+760.87%)
Mutual labels:  dune

Project moved

This is the java version of Spice86. It is not maintained anymore.

We had to rewrite the project in C# to add automated code generation (java doesn't have the goto keyword, making automated ASM translation challenging)

New repo is here: https://github.com/OpenRakis/Cryogenic/

Cryo dune reverse engineering

Fiddling with Cryo dune (CD Version) for fun:

  • Trying to understand how the game works with spice86 reverse engineering toolkit which allows to run real mode x86 ASM / Java hybrids.
  • Rewriting the game in java bit by bit.

SHA256 signature of supported dncdprg.exe: 5f30aeb84d67cf2e053a83c09c2890f010f2e25ee877ebec58ea15c5b30cfff9

This projects requires java 17.

Download

It's a bit confusing, but downloads are in the package section, not in the release section.

Status

Thanks to the hybrid ASM / Java mode provided by spice86, the game is fully playable, but there is no sound (yet).

The goal is to have more and more logic written in human readable java.

Running it

To run it, just run the jar with dune CD exe in parameter:

java -jar cryodunere-1.24.0.jar  C:/path/to/dunecd/DNCDPRG.EXE

Building it

  • Download the code for spice86 and build it:
cd spice86
mvn clean install
  • Download the code for this project
  • Change spice86 version to 1.0-SNAPSHOT in the pom.

You need to change the version in the pom because spice86 is not published (yet?) to maven central, and github maven repository requires authentication even for download...

<dependency>
  <groupId>com.kevinferrare</groupId>
  <artifactId>spice86</artifactId>
  <version>1.0-SNAPSHOT</version>
</dependency>
  • Build it
cd cyrodunere
mvn clean install

The jar file will be in target folder

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].