It is currently Mon Oct 20, 2014 4:50 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Thu Apr 24, 2008 5:35 pm 
Offline
Site Admin
User avatar
 Profile

Joined: Wed Dec 19, 2007 10:46 pm
Posts: 779
Hi,

I don't suppose there's anyone out there with any experience of DOS disassembling who fancies a challenge? ;)

Unlikely, but I thought I'd post here on the off-chance.

Given the upcoming Z-Machine Interpreter, I thought I'd try developing a Z-code game. Rather than start off with an adventure of my own, I thought I might learn more by porting an old adventure - plus that means an old title would get a new lease of life.

I've been looking at a fairly simple DOS adventure, atm. I could try and port it based entirely on me manually playing through it all. However, to be sure I haven't missed anything, it would be nice if I could get a listing of all the text in the game.

It's comprised of various files, including one called MESSAGE which I think contains the text in a compressed format. I thought it wouldn't be too hard just getting access to the text, but after disassembling the executable (< 26 Kb), I realised I wasn't getting very far, having never touched assembler on a PC before (even my 6502 skills are pretty woeful) ...

Anyway, I've struggled to a halt, I think ... but if there's anyone out there who feels like taking a look at it, drop me a line. I'd be most grateful ... ;)

Sam.


Top
 
PostPosted: Thu Apr 24, 2008 7:41 pm 
Offline
 Profile

Joined: Thu Mar 27, 2008 9:07 pm
Posts: 14
x86 assembler is horrible.

Find a nice ARM or MIPS adventure to convert instead. Their instruction sets were actually developed by people with more than half a brain :)


Top
 
PostPosted: Thu Apr 24, 2008 7:53 pm 
Offline
User avatar
 Profile

Joined: Wed Jan 09, 2008 7:30 am
Posts: 406
I'd have to second that. It's been over 12 years since I've touched it and was quite shocked by it's architecture when I first saw it in comparison to the lowly 8bit 6502. Pointers and far pointers, what's that about !

Would not like to try and sift through that code :shock:


Top
 
PostPosted: Thu Apr 24, 2008 8:24 pm 
Offline
User avatar
 Profile

Joined: Mon Jan 07, 2008 7:02 pm
Posts: 273
I could give it a try. I find x86 assembler easier than 6502... though I admit it's fairly horrible (386 is much better).


Top
 
PostPosted: Thu Apr 24, 2008 8:44 pm 
Offline
 Profile

Joined: Thu Dec 27, 2007 3:57 pm
Posts: 20
If Tom can't sort it, I will take a look for you. There was once a time when I knew all the INT 21 functions off by heart !


Top
 
PostPosted: Thu Apr 24, 2008 8:48 pm 
Offline
Site Admin
User avatar
 Profile

Joined: Wed Dec 19, 2007 10:46 pm
Posts: 779
It's the the long out-of-print DOS text adventure from Angelsoft & Mindscape, Indiana Jones in Revenge of the Ancients.

Following some hints on the REwiki, I decompiled the main .COM file, which has "Borland v2" written in clear-text in the binary (presumably used as the linker?). According to someone on another forum, a couple of the strings "are preceded by a byte, which is the length. This means they are Pascal strings. It doesn't guarantee that the code was written in Pascal, but it's worth keeping in mind when looking closer at the executable."

Same guy also made some guesses on the file contents:

.COM contains the intialization, keyboard, screen code,
.000 contains the game logic,
VOCAB contains keywords in some fashion,
MESSAGE the game text itself,
TABLES, well, tables of some sort.

I also tried using DCC to see if I could get some C code out of it, but it kept complaining about not being able to load a dccxxx.sig signature file, which I couldn't find ...

If I can provide you with any more info or assistance, just shout ... obviously, if it turns out not to be a simple task, then don't spend a lot of time on it. I'll just have to do a half-arsed job and try to get as much text out of it as possible, by hand.

Sam.

Code:
69888  GAME.000
25983  GAME.COM
48128  MESSAGE
  573  START.BAT
 4280  TABLES
 6136  VOCAB


Top
 
PostPosted: Sat Apr 26, 2008 2:15 pm 
Offline
User avatar
 Profile

Joined: Sat Feb 23, 2008 3:03 am
Posts: 11
Hi, have you got a dissasembly posted up somewhere?

I noticed on the moby site there is an Apple II version of the game. Can you get your hands on that version? I think that would be written in 6502? If we can get a dissasembly of that should be much easier to figure out.


Top
 
PostPosted: Sat Apr 26, 2008 2:35 pm 
Offline
User avatar
 Profile

Joined: Sat Feb 23, 2008 3:03 am
Posts: 11
And it was available for the C64: http://www.imdb.com/title/tt0481114/


Top
 
PostPosted: Sun Apr 27, 2008 1:47 am 
Offline
Site Admin
User avatar
 Profile

Joined: Wed Dec 19, 2007 10:46 pm
Posts: 779
MarkW - no, I haven't published a disassembly online. Although it's ridiculously old, technically, it would be illegal to distribute it in any form. It's not particularly difficult to obtain, though. That said, I've been learning some DOS disassembly tips off-forum from Jon, who has shown me that it may be easier to step-through the running program using DOS' DEBUG command than study the disassembled code. In fact, Jon's knowledge have resulted in the majority of the text being extracted, with just a small amount of code remaining which translates case and substitutes in some common strings. It'll be good enough to ensure I haven't missed anything, if I attempt a Z-code port.

The Apple II version may well be available on an abandonware site somewhere, but it doesn't appear to have been as quite as widespread as the DOS version.

I'm not convinced that one IMDB entry is really evidence that the game was released on the C64. I'm only aware of the DOS/Apple II releases and I'm pretty certain if there had been a C64 version, it would have been archived on one of the many C64 fan-sites by now ...

Sam.


Top
 
PostPosted: Sun Apr 27, 2008 5:56 pm 
Offline
Site Admin
User avatar
 Profile

Joined: Wed Dec 19, 2007 10:46 pm
Posts: 779
A description of the investigation into the data file format is now documented here:

http://rewiki.regengedanken.de/wiki/Ind ... e_Ancients

I now have plenty to be getting on with!

Thanks everyone, and esp. to Jon. Got out pretty much what I'd hoped.

Sam.


Top
 
PostPosted: Mon Apr 28, 2008 9:45 am 
Offline
 Profile

Joined: Tue Apr 08, 2008 11:50 pm
Posts: 12
MarkW wrote:
I noticed on the moby site there is an Apple II version of the game. Can you get your hands on that version?


Copy for apple ][ available from http://www.virtualapple.org

After you have selected the game there is a link to a downloadable disk image on the bottom right of the emulator screen.

Looks like this version is compiled Pascal too. Enjoy.


Top
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron