English Amiga Board Amiga Lore


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 11 January 2016, 03:19   #1
copse
Registered User
 
Join Date: Jul 2009
Location: Lala Land
Posts: 280
Interesting retro reverse engineering links

I wondered if anyone might want to share retro reverse engineering projects they may be following.

Here are some that provide information of use (source code or resource save files) to others wanting do disassemble the same projects:

Game Specific

Bagman Arcade. An conversion/remake by jotd with source (GPL license) and binaries provided.

Bards Tale Amiga (Discussion: 1). A picture viewer by Kroah for all Bard's Tale games, with source and binaries.

Bloodwych
  • Amiga (Discussion: 1). Original game resource files, and lists of names for addresses in further discussion. Extended levels resource files.
  • Amiga/Atari ST/PC (Discussion: 1).

Cadaver Amiga (Discussion: 1). Kroah has provided a tool with source code, to view levels, scripts and entities.

Chaos Engine Amiga CD32 (Discussion: 1). Kroah has provided a tool to browse maps and sprites, binaries provided, source likely available on request.

Clocktower - The First Fear SNES. Development diary of reverse engineering process for purposes of translation.

Curse of the Azure Bonds PC. I guess this is more or less complete, but it's rewritten in C# with source and binaries provided.

Dungeon Master.
  • Chaos Strikes Back for Windows Atari ST. A C++ portable remake/conversion of CSB by Paul Stevens, with binaries and source available.
  • DSB. A Lua remake with editor by Sophia using DM/CSB assets, with binaries and source (basic disclaimer license) provided.
  • Reverse Engineered Dungeon Master/Chaos Strikes Back. By Christophe Fontanel, contains source code (C language and a few parts in assembly) for all executable code on the game disk of all known Atari ST versions. The source code is as accurate as possible: once compiled with the Megamax C compiler version 1.1 (also supplied in the package) it generates machine code nearly identical to the one in the original games. a Has list of all known bugs and all changes between versions as well as a detailed description of the copy protection, and some more.

First Samurai Amiga (Discussion 1). Kroah has provided a level viewer, with source and binaries.

Frontier Elite II Amiga/ST. This project appears to translate the m68k machine code and run it natively.

Gods Amiga (Discussion: 1). Kroah has created a viewer that shows items, enemies, moving platforms, puzzles, events and how they trigger each other. Binaries and source code are provided.

Magic Pockets Amiga (Discussion: 1). Kroah has provided a viewer for files, maps and sprites, with C# source and binaries provided.

Outrun Arcade (Discussion 1). A conversion/remake for Windows with source (MAME license) and binaries provided.

Prince of Persia Apple II. Development diary of the conversion process from Apple II to the C64, with binary release.

Speedball 2 Amiga (Discussion: 1). A PC conversion/remake by Kroah with source and binaries.

Starwars: Yoda Stories PC. Development diary on the process of reverse engineering this game.

Wipeout PSX. A web-based viewer for maps, with source code provided.

People

Kroah has worked on lots of interesting projects, but seems to have lacked time to work on it for a while.

Last edited by copse; 16 January 2016 at 02:33. Reason: Modified linked projects.
copse is offline  
AdSense AdSense  
Old 11 January 2016, 04:27   #2
Minuous
Coder/webmaster/gamer
Minuous's Avatar
 
Join Date: Oct 2001
Location: Canberra/Australia
Posts: 1,643
My page http://amigan.1emu.net/releases/ has the Multi-game Character Editor and associated "Amiga Game File Formats" document, and also the "Undocumented AmigaOS" document.
Minuous is offline  
Old 11 January 2016, 20:32   #3
kamelito
Zone Friend
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 814
Not related to Amiga but interesting : http://www.icemark.com/dataformats/index.html
Kamelito
kamelito is offline  
Old 11 January 2016, 22:29   #4
jotd
Cat freak
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 45
Posts: 1,883
Not amiga related either, but from me

(Bagman was already mentioned above)
http://jotd.pagesperso-orange.fr/oric_remakes.html Some Oric games disassembled & recompiled in C

The interesting thing is that there is no emulation engine there, only native host code.

Last edited by jotd; 16 January 2016 at 07:33.
jotd is offline  
Old 11 January 2016, 22:54   #5
gimbal
cheeky scoundrel
gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 36
Posts: 2,932
(@jotd: colon is in the link url)
gimbal is offline  
Old 12 January 2016, 13:21   #6
meynaf
68k wisdom
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon (France)
Age: 44
Posts: 2,364
Quote:
Originally Posted by copse View Post
Dungeon Master. We all saw the link about the prominent guy in the Dungeon Master community and his efforts to reverse engineer the different versions of Dungeon Master on different platforms and document bugs. A new release is due sometime in the near future.
Half of the bugs he documents were found by me

For Dungeon Master there is something else :
http://eab.abime.net/showthread.php?t=49830
It started as mere custom dungeons but i ended up rewriting nearly the whole thing.
My version has all known bugs fixed, can play Dm/Csb with the same graphics file and has an automapper.


Quote:
Originally Posted by jotd View Post
http://jotd.pagesperso-orange.fr/oric_remakes.html Some Oric games disassembled & recompiled in C
A decade ago i rewrote Zorgons's revenge for Amiga (in 68030 asm). Never released it, though.
meynaf is offline  
Old 12 January 2016, 13:39   #7
twenty90seven
twenty90seven
twenty90seven's Avatar
 
Join Date: Jun 2012
Location: Brisbane, Australia
Posts: 106
On the Wipeout Zone forum there is a guy called Abye reverse engineering Wipeout and Wipeout 2097, inspired by a guy who managed to recreate all of the tracks which you can fly through on rails in a web browser.
twenty90seven is offline  
Old 12 January 2016, 19:07   #8
jotd
Cat freak
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 45
Posts: 1,883
@meynaf: would like to see this Zorgon version!

Btw I wrote Amoric back in days...

Last edited by jotd; 12 January 2016 at 20:49.
jotd is offline  
Old 12 January 2016, 19:39   #9
copse
Registered User
 
Join Date: Jul 2009
Location: Lala Land
Posts: 280
Quote:
Originally Posted by twenty90seven View Post
On the Wipeout Zone forum there is a guy called Abye reverse engineering Wipeout and Wipeout 2097, inspired by a guy who managed to recreate all of the tracks which you can fly through on rails in a web browser.
Can you link to it?
copse is offline  
Old 12 January 2016, 19:40   #10
copse
Registered User
 
Join Date: Jul 2009
Location: Lala Land
Posts: 280
Quote:
Originally Posted by meynaf View Post
Half of the bugs he documents were found by me

For Dungeon Master there is something else :
http://eab.abime.net/showthread.php?t=49830
It started as mere custom dungeons but i ended up rewriting nearly the whole thing.
My version has all known bugs fixed, can play Dm/Csb with the same graphics file and has an automapper.



A decade ago i rewrote Zorgons's revenge for Amiga (in 68030 asm). Never released it, though.
Excellent work on the bug reporting then!

Is your source code available for both? Did you detail any of the programming work you did in other forum threads?
copse is offline  
Old 13 January 2016, 10:11   #11
meynaf
68k wisdom
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon (France)
Age: 44
Posts: 2,364
Quote:
Originally Posted by jotd View Post
@meynaf: would like to see this Zorgon version!
Ok.
I've put it here : http://meynaf.free.fr/pr/zorgons.lzx
I don't remember the exact details, though.
You can try the alt, shift and amiga keys for moving if using a real amiga keyboard. On uae it's better to use the numpad (just setup uae so it doesn't do numpad joystick mapping).


Quote:
Originally Posted by jotd View Post
Btw I wrote Amoric back in days...
I know, i used it to verify the display for my zorgons game port


Quote:
Originally Posted by copse View Post
Excellent work on the bug reporting then!

Is your source code available for both? Did you detail any of the programming work you did in other forum threads?
Source code is not available and i didn't give any detail. I guess i could give the sources away, but who can do something with that ?
It's a rewrite in asm (well, a partial rewrite for dm) so people who are interested in how the original code works can't use these (and dm has extra features i needed for my dungeons).
meynaf is offline  
Old 13 January 2016, 15:13   #12
LuMan
Amigan - an loving it!!
LuMan's Avatar
 
Join Date: Nov 2010
Location: Nottingham, UK
Age: 48
Posts: 501
Quote:
Originally Posted by copse View Post
Can you link to it?
I found this:
http://phoboslab.org/log/2015/04/rev...ng-wipeout-psx

The link is near the bottom of the blog - WipEoutModelViewer - (I linked to the blog, as some folks may want to read it ).

It runs a bit clunky on my i5 Retina, but it could be the internet streaming that's causing it. It is quite good fun, though.
LuMan is offline  
Old 13 January 2016, 16:35   #13
idrougge
Registered User
 
Join Date: Sep 2007
Location: Stockholm
Posts: 2,976
There is an astounding amount of in-depth information about the inner workings of Sonic:
http://info.sonicretro.org/Disassemblies#Sonic_1
idrougge is offline  
Old 13 January 2016, 17:28   #14
kamelito
Zone Friend
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 814
For those interested in FTL history.
http://www.filfre.net/2015/12/dungeo...the-making-of/
Kamelito

Post from the Amiga dev:
"Phil Mercurio
January 11, 2016
Some notes on the Amiga version: I was the only Amiga programmer at FTL. I worked from home because FTL didn’t own an Amiga, and I wasn’t about to drag my computer to and from the office each day. I’m currently working from home again, using the same desk (different computer, though :-).

There were two enhancements the Amiga had over the ST that I wanted to take advantage of. The first was the graphics accelerator (the blitter). I started at FTL in February of 1987 and spent months on replacing the C and assembly graphics code with code that used the blitter. One day, not too long before the ST version was released, a bunch of the blitter code started working and suddenly I could play through most of the game! That blew my mind. I loaded my Amiga into the car and drove to the office to show Wayne and the rest of the gang. I think they were a little jealous because the game graphics already ran smoother on the Amiga than they did on the ST.

The second enhancement was the stereo sound hardware. I immediately dismissed the idea of modeling sound attenuation through the walls as being too hard. As a result monsters walking around on the other side of a wall sound like they’re in the same room, which is scary. Since DM movement is on a grid, I only needed to compute the attenuation for a finite set of positions relative to the player. I chose a square radius of 12, so I needed a 2525 table of volumes relative to the right ear. To get the volume for the left ear, just index into the table with (-x, y) (the positive Y axis is in front of the player).

For higher-frequency sounds, phase differences between the ears are important for localization. However, for lower frequency sounds, only the difference in volume is relevant. The sounds used in DM didn’t even extend into the higher frequencies, so volume difference was all I needed. Rather than come up with a fancy formula, I found a line plot of volume vs. azimuth in a psychophysics textbook, blew it up with a photocopier, and used a ruler to read the volume for each angle directly off the line plot. Applying an attenuation for the distance from the player gave me the final values for the 2525 table. According to comments in the code, the stereo sound code took just a couple of days around July 22nd, 1988. From the feedback I’ve gotten regarding how much people loved the experience of chasing monsters around by sound, it was well worth the effort!"

Last edited by kamelito; 13 January 2016 at 17:51. Reason: Add post of Amiga dev
kamelito is offline  
Old 14 January 2016, 02:55   #15
copse
Registered User
 
Join Date: Jul 2009
Location: Lala Land
Posts: 280
Quote:
Originally Posted by meynaf View Post
Source code is not available and i didn't give any detail. I guess i could give the sources away, but who can do something with that ?
It's a rewrite in asm (well, a partial rewrite for dm) so people who are interested in how the original code works can't use these (and dm has extra features i needed for my dungeons).
Well, I was more hoping to see reverse engineering projects in this topic, rather than the binary output that have come from reverse engineering, so I guess I was trying to move in the direction of the topic I was interested in when I posted this thread. So I was asking in that sense, rather than in a religious open source everything sense.

I personally find it sad when someone disassembles something and releases a modified version of it, and does not release the source code with it. There's so much of interest that could be seen in the source code. Is it a rough reassembling, or did they comprehensively disassemble and comment it. Did they make it relocatible or keep it loading an an absolute address. Etc. Perhaps they even did what that frontier project did (I should look for a link and post it here) where they wrote a disassembler and binary translator or something. Or maybe someone play around with it and build something further interesting on it, that they weren't inspired to with the other DM reverse engineerings that come with source code.

But it's up to you, of course.
copse is offline  
Old 14 January 2016, 02:57   #16
copse
Registered User
 
Join Date: Jul 2009
Location: Lala Land
Posts: 280
Here's an older one dug up from vague memories prompted by Meynaf's postings.

Quote:
Originally Posted by glfrontier
FrontVM2 has discarded the uae cpu core of hatari and instead compiles the
frontier 68k crap to native assembly language. This is done either by generating
a grotesquely huge C source file, or generating i386 asm directly.
glfrontier
copse is offline  
Old 14 January 2016, 05:02   #17
ReadOnlyCat
Code Kitten

 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 46
Posts: 1,001
From what I read it looks like Meynaf is at ease with the idea of releasing the source but is just wondering whether that will interest anyone.

And, although I will probably never have the time to dive too deep into it I must say that yes, this is interesting. Especially if there are a few comments to help understand the overall structure.
ReadOnlyCat is offline  
Old 15 January 2016, 10:14   #18
meynaf
68k wisdom
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon (France)
Age: 44
Posts: 2,364
Quote:
Originally Posted by copse View Post
Well, I was more hoping to see reverse engineering projects in this topic, rather than the binary output that have come from reverse engineering, so I guess I was trying to move in the direction of the topic I was interested in when I posted this thread. So I was asking in that sense, rather than in a religious open source everything sense.

I personally find it sad when someone disassembles something and releases a modified version of it, and does not release the source code with it. There's so much of interest that could be seen in the source code. Is it a rough reassembling, or did they comprehensively disassemble and comment it. Did they make it relocatible or keep it loading an an absolute address. Etc. Perhaps they even did what that frontier project did (I should look for a link and post it here) where they wrote a disassembler and binary translator or something. Or maybe someone play around with it and build something further interesting on it, that they weren't inspired to with the other DM reverse engineerings that come with source code.

But it's up to you, of course.
It starts with a rough reassembling. Then some parts gets understood and are partially or totally rewritten, getting comments in the process. Most of the code usually remains more or less what it was, being altered just to make it work.

I never keep things at an absolute address, i always make all my stuff relocatable - hard to do with Back to the Golden Age for example, but DM was already this way.

The problem is that either the code got rewritten and doesn't have much in common with the original anymore, or it didn't and wasn't even commented. So in either case you won't have much info about the way the original program worked.


Quote:
Originally Posted by ReadOnlyCat View Post
From what I read it looks like Meynaf is at ease with the idea of releasing the source but is just wondering whether that will interest anyone.
The problem is more about understanding rather than simply being interested by it or not.

Another thing. This kind of project is quite BIG. DM is something like 700-800kb source, and HOMM2 is 4MB. All of pure asm of course. Who will dig into this ??


Quote:
Originally Posted by ReadOnlyCat View Post
And, although I will probably never have the time to dive too deep into it I must say that yes, this is interesting. Especially if there are a few comments to help understand the overall structure.
There are usually quite many comments in my code. But i write them in French because it's more practical to me. Can you read them ?
meynaf is offline  
Old 15 January 2016, 14:00   #19
ReadOnlyCat
Code Kitten

 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 46
Posts: 1,001
Quote:
Originally Posted by meynaf View Post
Another thing. This kind of project is quite BIG. DM is something like 700-800kb source, and HOMM2 is 4MB. All of pure asm of course. Who will dig into this ??
If there exist people crazy enough to disassemble and modify an entire game then there must exist people crazy enough to dig into these sources.

Quote:
Originally Posted by meynaf View Post
There are usually quite many comments in my code. But i write them in French because it's more practical to me. Can you read them ?
I happen to be French.
ReadOnlyCat is offline  
Old 15 January 2016, 14:10   #20
meynaf
68k wisdom
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon (France)
Age: 44
Posts: 2,364
Quote:
Originally Posted by ReadOnlyCat View Post
If there exist people crazy enough to disassemble and modify an entire game then there must exist people crazy enough to dig into these sources.
When you're crazy enough to do that, you always prefer your own sources rather than digging into other people's


Quote:
Originally Posted by ReadOnlyCat View Post
I happen to be French.
Then if you really want to see some source, PM me
meynaf is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Captain Blood reverse engineering Kroah Retrogaming General Discussion 14 08 March 2016 21:22
Captive 2 reverse engineering copse Coders. General 2 19 August 2015 21:08
Gods reverse engineering Kroah Retrogaming General Discussion 68 26 August 2013 13:28
Cadaver reverse engineering Kroah Retrogaming General Discussion 8 11 November 2011 09:35
Reverse engineering wiki copse Coders. General 9 14 December 2009 01:25

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 11:00.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.37271 seconds with 11 queries