View Full Version : Megatraveller slave
BlueAchenar
31 December 2008, 00:30
I'm pleased to announce I'll be working in a WDHLoad slave for "MegaTraveller: The Zhodani Conspiracy" in January, right after (and if) the original disks get to me.
It's going to be my first. I'm expecting this to be great fun. :)
xpect
31 December 2008, 00:34
I'm pleased to announce I'll be working in a WDHLoad slave for "MegaTraveller: The Zhodani Conspiracy" in January, right after (and if) the original disks get to me.
It's going to be my first. I'm expecting this to be great fun. :)
Great BlueAchenar! :great
Hope everything will go smooth :p
ppill
31 December 2008, 00:47
Good luck with it :) Seems like a nice game.
TheCyberDruid
31 December 2008, 02:31
I'm pleased to announce I'll be working in a WDHLoad slave for "MegaTraveller: The Zhodani Conspiracy" in January, right after (and if) the original disks get to me.
It's going to be my first. I'm expecting this to be great fun. :)
Go BlueAchenar, go BlueAchenar *now where are my pompoms...* ;)
It's a nice game and a cool one for your first go at WHDLoad slave programming :agree Like I said best of luck and I'm sure if you stumbleover something there are a lot of folks here that will help you :)
Galahad/FLT
31 December 2008, 03:12
I'm pleased to announce I'll be working in a WDHLoad slave for "MegaTraveller: The Zhodani Conspiracy" in January, right after (and if) the original disks get to me.
It's going to be my first. I'm expecting this to be great fun. :)
If I remember rightly, its RNC Copylock protected on the main executable file, all encrypted, I take it you are familiar with this protection?
BlueAchenar
31 December 2008, 03:14
If I remember rightly, its RNC Copylock protected on the main executable file, all encrypted, I take it you are familiar with this protection?
Not really, but one has to start somewhere. :p I was hoping more for only some custom trackloader, but decrypting stuff is fun too.
Galahad/FLT
31 December 2008, 03:41
Not really, but one has to start somewhere. :p I was hoping more for only some custom trackloader, but decrypting stuff is fun too.
Megatraveller is a dos loading game, no custom loading at all.
BlueAchenar
31 December 2008, 03:48
Megatraveller is a dos loading game, no custom loading at all.
I wouldn't know that. I'm still waiting for the game disks. :) Anyway, it seems RNC is a common protection scheme and the game decrypts itself so it might be boring but is doable. :p
Galahad/FLT
31 December 2008, 03:55
I wouldn't know that. I'm still waiting for the game disks. :) Anyway, it seems RNC is a common protection scheme and the game decrypts itself so it might be boring but is doable. :p
The way its implemented on Megatraveller actually isn't that common.
usually the RNC Copylock routine is called, it returns a serial key in D0, but this Copylock doesn't, the Copylock is built into the encrypted file, and if it doesn't sucessfully get the right serial key, then the file doesn't decrypt.
Of course the Copylock uses trace vector decoding, so you never see you code in the Copylock ;)
BlueAchenar
31 December 2008, 04:09
The way its implemented on Megatraveller actually isn't that common.
usually the RNC Copylock routine is called, it returns a serial key in D0, but this Copylock doesn't, the Copylock is built into the encrypted file, and if it doesn't sucessfully get the right serial key, then the file doesn't decrypt.
Of course the Copylock uses trace vector decoding, so you never see you code in the Copylock ;)
Hum, I see this is going to be really fun. :D I've never cracked an Amiga game, only Windowze (don't quote me on this :laughing).
Do you have any RNC Copylock docs (those that came with Xenon II for example)?
BlueAchenar
31 December 2008, 04:25
And by the way... do you have the resourced sources to the games you've WHDified? :p
BlueAchenar
02 January 2009, 00:30
I'm feeling a bit lazy today to work on the new compactflash driver, so I think I'll start working on this with the SPS images. :p I should have the disks here by next week anyway and lots of other games with no WHDLoad slave to have more fun if I start getting the hang of it. :D
Galahad/FLT
02 January 2009, 00:33
I'm feeling a bit lazy today to work on the new compactflash driver, so I think I'll start working on this with the SPS images. :p I should have the disks here by next week anyway and lots of other games with no WHDLoad slave to have more fun if I start getting the hang of it. :D
Personally, if you've never cracked an encrypted Copylock before, I think you're taking on something you won't be able to do, but if you manage it, fair play. :agree
BlueAchenar
02 January 2009, 00:38
Personally, if you've never cracked an encrypted Copylock before, I think you're taking on something you won't be able to do, but if you manage it, fair play. :agree
If I can't, there are always other games. :) And friendly people here to help. :D
BlueAchenar
02 January 2009, 01:44
Are you sure this is encrypted Galahad? It doesn't seem to be, maybe I'm looking at the wrong executables.
Mad-Matt
02 January 2009, 12:36
When I attempted to slave this game, I just tried to add the patches from the 'amiga patch list' to get past past protection. I never got the game stable (im not that skilled) so no idea if the protection fix worked. I may have been patching the loader instead of main exe, cant remember if I figured how to get slave to patch the right file.
http://www2.hu-berlin.de/angl/people/pdd/amipatch.html
BlueAchenar
02 January 2009, 13:06
When I attempted to slave this game, I just tried to add the patches from the 'amiga patch list' to get past past protection. I never got the game stable (im not that skilled) so no idea if the protection fix worked. I may have been patching the loader instead of main exe, cant remember if I figured how to get slave to patch the right file.
http://www2.hu-berlin.de/angl/people/pdd/amipatch.html
Did you apply the patch to startup.exe? If this patch actually works you just did all the cracking work for me. :p
Galahad/FLT
02 January 2009, 13:06
Are you sure this is encrypted Galahad? It doesn't seem to be, maybe I'm looking at the wrong executables.
I'm going from memory, was 20 years nearly since I last saw it! :laughing
BlueAchenar
02 January 2009, 13:11
I'm going from memory, was 20 years nearly since I last saw it! :laughing
Maybe you're mistaking it with MegaTraveller 2. :)
I almost completed resourcing startup.exe yesterday and no signs of encryption. Looks like I have a slave to do tonight after work. :D From what I've read from WHDLoad docs, I just have to patch the executable to remove the protection and system I/O calls back to the slave. The only thing I still have to see how to do is that "trav" executes "startup.exe" and this last file is the one which needs to be patched and isn't supposed to be run directly. How would I go about patching it without running it and making "trav" execute it after the patch?
BlueAchenar
02 January 2009, 13:29
How do I submit an Work In Progress entry to the WHDLoad site? :p
Wepl
02 January 2009, 21:22
From what I've read from WHDLoad docs, I just have to patch the executable to remove the protection and system I/O calls back to the slave. The only thing I still have to see how to do is that "trav" executes "startup.exe" and this last file is the one which needs to be patched and isn't supposed to be run directly. How would I go about patching it without running it and making "trav" execute it after the patch?
I assume you are using kickemu. Then it would be easy to use the _cb_DosLoadSeg routine to patch it. You can see an example of this in the kick13.asm slave example source.
How do I submit an Work In Progress entry to the WHDLoad site? :p
This is currently only possible for developers already configured at the whdload web page. But there aren't much active slave writes ATM. So I doubt that someone will interfer here ;)
BlueAchenar
02 January 2009, 22:43
I assume you are using kickemu. Then it would be easy to use the _cb_DosLoadSeg routine to patch it. You can see an example of this in the kick13.asm slave example source.
Thanks Wepl, I'm looking at the code. I'm still a little green at all this WHDLoad stuff. :p
Is there such thing as a slave source code repository?
BlueAchenar
02 January 2009, 23:28
Hum, I don't think I want to use kickemu because from what I understand that would imply using disk images and I believe preserving the files is more elegant. :D
Can't I run "trav" and still be able to hook to LoadSeg?
BlueAchenar
02 January 2009, 23:54
Ok. My solution: load and patch "trav" so it returns to the slave when it's time to run "startup.exe". Have the slave load and patch "startup.exe". Return control to "trav". :D
Wepl
03 January 2009, 00:04
Is there such thing as a slave source code repository?
No. I have many of the sources, but there is no public repository. Some slave examples are in the whdload-dev archive. Some install authors include the sources in their install packages.
But anyway, I doubt that it's very useful for you to read a lot of slave sources. Better is probably you ask what do you want to do, and we can advice you an slave with an similar problem to look into.
Hum, I don't think I want to use kickemu because from what I understand that would imply using disk images and I believe preserving the files is more elegant. :D
Can't I run "trav" and still be able to hook to LoadSeg?
Kickemu doesn't imply disk images. Most kickemu installs use files.
The decision to use or not use kickemu depends on much OS the games uses.
Ok. My solution: load and patch "trav" so it returns to the slave when it's time to run "startup.exe". Have the slave load and patch "startup.exe". Return control to "trav". :D
Ok :)
Galahad/FLT
03 January 2009, 11:02
Megatraveller series uses the OS for quite a lot, avoiding the use of KickEMU is probably not going to happen.
BlueAchenar
03 January 2009, 21:07
Megatraveller series uses the OS for quite a lot, avoiding the use of KickEMU is probably not going to happen.
Yeah. I ended up using it. :) Now I just have to find some "lvo" directory to copy to my includes as I don't have it and is giving me problems assembling the slave source.
Wepl
03 January 2009, 23:03
Yeah. I ended up using it. :) Now I just have to find some "lvo" directory to copy to my includes as I don't have it and is giving me problems assembling the slave source.
The lvos can be created from the *.fd files contained in the NDK using fd2pragma on aminet. Also to be found on http://whdload.de/whdload/lvo.lha.
Make sure to use latest kickemu from http://whdload.de/whdload/whd169.lha...
BlueAchenar
04 January 2009, 02:24
The lvos can be created from the *.fd files contained in the NDK using fd2pragma on aminet. Also to be found on http://whdload.de/whdload/lvo.lha.
Make sure to use latest kickemu from http://whdload.de/whdload/whd169.lha...
Thanks Wepl. Almost everything is going smoothly now. I had to switch from DevPac to AsmPro to assemble the source and I'm still adapting. I just don't like the AsmPro's IDE. I don't even know where the file is being assembled to. :D
BlueAchenar
04 January 2009, 02:53
Ok. All problems solved and the game runs fine with kickemu. Lets apply the patches. :)
BlueAchenar
04 January 2009, 03:12
Ok. The crack is working, the quit key also works as well as save and restore party from disk. I'm just testing the save games right now. Ah, more importantly, the game is working very well. :D
Just one small question. If I quit the game it goes back to the 1.3 OS screen. Is there a way to detect when the executable has quit running and just quit kickemu then?
TheCyberDruid
04 January 2009, 03:15
Ok. The crack is working, the quit key also works as well as save and restore party from disk. I'm just testing the save games right now. Ah, more importantly, the game is working very well. :D
You already got it working? :shocked Wow, that was fast :great Seems we got a new WHDLoad patcher here :bowdown Hope to see the beta soon mate :spin
BlueAchenar
04 January 2009, 03:56
You already got it working? :shocked Wow, that was fast :great Seems we got a new WHDLoad patcher here :bowdown Hope to see the beta soon mate :spin
I wish everything was working. Load/Save is not. :sad But it seems to be something WHDLoad related, because it works well if I run the same exact files in the data directory and apply the patches manually.
Well, this was being waaaaaaay too easy anyway. :D
TheCyberDruid
04 January 2009, 04:03
I wish everything was working. Load/Save is not. :sad But it seems to be something WHDLoad related, because it works well if I run the same exact files in the data directory and apply the patches manually.
You'll get that sorted too :agree
Well, this was being waaaaaaay too easy anyway. :D
Well, there's always the next one ;)
Shoonay
04 January 2009, 04:04
Wow, that looks really like a nice game, mate. Go, go BlueAchenar! :D
BlueAchenar
04 January 2009, 04:51
Wow, that looks really like a nice game, mate. Go, go BlueAchenar! :D
Never played it!!! :laughing But played MegaTraveller 2 and thought I should start with the first one.
This is puzzling. The game can open every file except the saved game files, but even these ones are detected in the load screen. Looks like I have to learn to debug inside WHDLoad. :p
BlueAchenar
04 January 2009, 17:20
For some reason I can't start HRTmon. :( Well, looks like I'll take a break from this today and return to the compactflash driver. :D
Shoonay
04 January 2009, 17:25
Never played it!!! :laughing But played MegaTraveller 2 and thought I should start with the first one.That's even better, you will actually have fun beta-testing the slave ;)I'll take a breakJust don't over-work yourself mate, don't force it, take a brake and return when you actualy feel like having fun with it :)
BlueAchenar
04 January 2009, 17:35
That's even better, you will actually have fun beta-testing the slave ;)Just don't over-work yourself mate, don't force it, take a brake and return when you actualy feel like having fun with it :)
Yeah, I'll finally play the game. :p
I would have fun if I wasn't wasting 80% of the time on trying to get non game related things to work. :D Anyone knows how I get HRTmon to work? I have it installed on C: and have FreezeKey set in the tooltypes. The slave was assembled with the HRTMON and DEBUG flags.
Wepl
04 January 2009, 17:56
I would have fun if I wasn't wasting 80% of the time on trying to get non game related things to work. :D Anyone knows how I get HRTmon to work? I have it installed on C: and have FreezeKey set in the tooltypes. The slave was assembled with the HRTMON and DEBUG flags.
option Expert set?
correct hrtmon used?
hrtmon configured properly?
BlueAchenar
04 January 2009, 18:34
option Expert set?
correct hrtmon used?
hrtmon configured properly?
option Expert? :D Where do I set that?
I think HrtMon is configured properly, but I press the FreezeKey and nothing happens.
BlueAchenar
04 January 2009, 18:41
Finally, I got it to show up. :) Looks like the monitor I used to use back in the days.
BlueAchenar
04 January 2009, 18:51
I thought HDINIT would mount a partition DH0 automatically but HRTmon only lists DF0. Is this normal?
Wepl
04 January 2009, 19:07
I thought HDINIT would mount a partition DH0 automatically but HRTmon only lists DF0. Is this normal?
HRTmon doesn't know anything about the virtual hd. How should that work?
He only supports disks on the builtin ide controller.
BlueAchenar
05 January 2009, 03:04
I can't see nothing abnormal in the load/save routines so far.
Do I have to do something to enable writing on the virtual DH0: or is it enabled by default?
BlueAchenar
05 January 2009, 11:11
Great news! :agree The game is now saveable/loadable! It was not whdload related. The game just doesn't like to be run in the hard drive's root directory.
Just one more thing to solve before doing an installer. I might need some help on this one. :p It goes like this. Quitting the game normally quits to an OS 1.3 screen. The problem is this. The game is started with 'trav' which in turn runs 'startup.exe' and immediately returns. 'startup.exe' in turn does the same with 'space.exe', 'ground.exe', 'cgen.exe'. All '.exe' executables basically call each other and immediately return, so I have no way so far to know the game has quit.
Any hints anyone? :p
StingRay
05 January 2009, 11:32
I just don't like the AsmPro's IDE. I don't even know where the file is being assembled to. :D
No idea if you still wonder, but AsmPro always assembles into RAM, it doesn't write anything to disk when you assemble your source.
BlueAchenar
05 January 2009, 11:35
No idea if you still wonder, but AsmPro always assembles into RAM, it doesn't write anything to disk when you assemble your source.
I got that sorted quickly: 'wo' (Write Object) :)
StingRay
05 January 2009, 11:57
For some reason I already guessed that. :)
musashi5150
05 January 2009, 22:09
Good work so far fella :great
BlueAchenar
05 January 2009, 23:42
Good work so far fella :great
Thanks musashi! :)
Is it forbidden to upload uncracked game files to the zone like it is with IPFs? I'm almost finishing the main parts of the slave and maybe someone could test it while I finish that little quit thingie and the install script. :p
Retro-Nerd
05 January 2009, 23:51
Upload a preinstalled version. It's allowed to upload original non-IPF images. :)
BlueAchenar
06 January 2009, 01:12
Now I started getting a "Line 1111 Emulator" error on WHDLoad for no reason. :shocked
Phew, this is just one of those days... :sad
BlueAchenar
06 January 2009, 14:05
Looks like there's still one problem to solve. The game treats DH0: as a floppy sometimes and others like an hard drive, so basically it will only search for saved games in the root directory (like it does for floppies) but will fail to open games in the root directory (like it does with hard drives).
Mad-Matt
06 January 2009, 14:18
Have the disk names been assigned to the virtual hd, incase its looking for its own floppies ?
BlueAchenar
06 January 2009, 14:34
I've tried that, but the game is prepared to run from an HD and so it didn't work. It is just getting a little confused. :p
If I do exactly the same thing as the slave by hand, it works fine.
StingRay
06 January 2009, 15:20
If I do exactly the same thing as the slave by hand, it works fine.
Does not compute :D If you would do exactly the same things it would work exactly the same. :D Jokes aside, what happens? Does the game show any "please insert disk xx" requesters?
BlueAchenar
06 January 2009, 16:00
Does not compute :D If you would do exactly the same things it would work exactly the same. :D Jokes aside, what happens? Does the game show any "please insert disk xx" requesters?
Ok, detailed info. :)
Directory structure:
WHD_MT -> slave and launcher icon
|
+-> data -> this directory is mounted as DH0: and WHDLoad:
........|
........+-> MT -> game files (executables, saved games, data, etc...)
........+-> LIBS -> libraries used by the game
........+-> C -> just the 'endcli' command
The slave does a DOSBOOT with HDINIT (I think, don't have the source here), then changes dir to "MT" and executes "trav", the main executable. If I try to load a game it says something like "saved games not found" and it loops trying to find games.
If I copy the saved games to 'data', the DH0: root directory it finds the games but is "unable to restore", same thing that happens if I try to open saved games in a physical HD root dir.
If I open a shell, change dir to MT and run 'trav' everything works ok. Same thing if I run it double-clicking its icon.
I've resourced 'ground.exe', the relevant file, but the code is assembled C and that makes it a little hard to understand with all the indirect references it uses.
StingRay
06 January 2009, 16:36
Sounds like assign would do the trick. I just post the relevant part from my Jonathan slave as that's probably the easiest way for you to see what I mean. :)
; assign jon1: - jon10: to current dir
lea diskname(pc),a3
moveq #10-1,d6
.loop move.l a3,a0
sub.l a1,a1
bsr _dos_assign ; assign jon1: ""
addq.b #1,3(a3)
cmp.b #"9",3(a3)
ble.b .isok
move.b #"1",3(a3) ; 68000 compatible :)
move.b #"0",4(a3)
.isok dbf d6,.loop
So you see, in your slave you just assgin each disk to the current directory of the slave ("slv_CurrentDir"), that way the game would "think" it runs from floppy. :)
BlueAchenar
06 January 2009, 17:08
Sounds like assign would do the trick. I just post the relevant part from my Jonathan slave as that's probably the easiest way for you to see what I mean. :)
; assign jon1: - jon10: to current dir
lea diskname(pc),a3
moveq #10-1,d6
.loop move.l a3,a0
sub.l a1,a1
bsr _dos_assign ; assign jon1: ""
addq.b #1,3(a3)
cmp.b #"9",3(a3)
ble.b .isok
move.b #"1",3(a3) ; 68000 compatible :)
move.b #"0",4(a3)
.isok dbf d6,.loop
So you see, in your slave you just assgin each disk to the current directory of the slave ("slv_CurrentDir"), that way the game would "think" it runs from floppy. :)
But I want it to think it is running from the hard drive. ;) It must be just a small thing to figure out.
Mad-Matt
06 January 2009, 17:17
Is there any reason for the mt folder to exist ? I wonder if this is where the game is getting confused. All the files should be happy sitting in the data folder inc c & libs dirs
StingRay
06 January 2009, 17:25
But I want it to think it is running from the hard drive. ;) It must be just a small thing to figure out.
Well, up to you :) I'd use the simple and fast approach instead of wasting hours debugging C code, finding all Load/Save routines and patching them. Also, as the game was apparently never meant to be played from HD I don't see why you want it to run in "true hd mode". But as said, it's up to you, I just gave you a hint. :)
BlueAchenar
06 January 2009, 17:41
Well, up to you :) I'd use the simple and fast approach instead of wasting hours debugging C code, finding all Load/Save routines and patching them. Also, as the game was apparently never meant to be played from HD I don't see why you want it to run in "true hd mode". But as said, it's up to you, I just gave you a hint. :)
The game was meant to run from HD, it even has an installer. :)
Is there any reason for the mt folder to exist ? I wonder if this is where the game is getting confused. All the files should be happy sitting in the data folder inc c & libs dirs
The MT directory exists because the game can't load and save games to DH0:'s root.
StingRay
06 January 2009, 17:51
The game was meant to run from HD, it even has an installer. :)
Hehe ok then. :) What I would do in this case then: Install it using the original installer and check if the game is started with a script that assigns the disks to the installed directory. :)
Or maybe it installs a dummy file (f.e. "hd.bin", 0 bytes) to "detect" that it was started from HD.
Or debug your slave and see which filenames/path the game expects for the load/save routines. There are many possibilities. :D
BlueAchenar
06 January 2009, 18:02
Well, up to you :) I'd use the simple and fast approach instead of wasting hours debugging C code, finding all Load/Save routines and patching them. Also, as the game was apparently never meant to be played from HD I don't see why you want it to run in "true hd mode". But as said, it's up to you, I just gave you a hint. :)
Hehe ok then. :) What I would do in this case then: Install it using the original installer and check if the game is started with a script that assigns the disks to the installed directory. :)
Or maybe it installs a dummy file (f.e. "hd.bin", 0 bytes) to "detect" that it was started from HD.
Or debug your slave and see which filenames/path the game expects for the load/save routines. There are many possibilities. :D
If I just copy everything from the disks to an HD dir it runs fine. Even if I run it in my MT folder, where C, LIBS and system-configuration are missing (they're in the parent dir), it works fine. It could be some script I'm missing, yes. :)
Wepl
06 January 2009, 22:49
Have you used FILELOG option to see what it tries to load?
If it supports HD-Install then you should try to make it look the same installed under WHD. What copies the install script to where?
BlueAchenar
06 January 2009, 23:11
Have you used FILELOG option to see what it tries to load?
If it supports HD-Install then you should try to make it look the same installed under WHD. What copies the install script to where?
I wish I had known that option before. :) Well, the game is simply looping searching for saved game files in the root directory. I have no idea why it doesn't search for them in its own directory like it does if I run it without WHDLoad.
Edit: FileLog from 2 'runs' attached. It appears it is trying to Examine the current dir and going through all files, but the current dir is the root? It doesn't make sense because it is opening all other files ok.
Wepl
06 January 2009, 23:49
To speed up loading you can set IOCACHE=1024 in the slave source.
The Savegame is located in MT?
Maybe the game still assumes to be run from disk and not in hd-mode.
What does the original install script do?
BlueAchenar
06 January 2009, 23:56
To speed up loading you can set IOCACHE=1024 in the slave source.
The Savegame is located in MT?
Maybe the game still assumes to be run from disk and not in hd-mode.
What does the original install script do?
The install script just copies files to the destination directory. I have exactly the same files there (in MT, along with the saved games) and have C: and LIBS: in the root in case the game needs them. It likely needs icon.library which comes with the game.
I tried assigning DF0: and MT_A: (disk 1's name which has a default saved game) to MT and had the same result, so I think it 'knows' it is being run from the HD.
BlueAchenar
07 January 2009, 02:27
The only 2 ideas I have about this:
Maybe _LVOCurrentDir is returning an old lock of '0' and the program thinks the current directory is the root.
C program's first argument is the path and name of the program. Maybe it is not being sent ok and the program tries to check the current dir by that argument.
Mad-Matt
07 January 2009, 15:04
Ive dug out my disks again ready to try your installer, and tried to make some images. Seems i have the copylock version which is probably what caused me the issues when i tried to install before. I get software failure when running "trav". Did a quick test with the sps version and it doesnt seem to have copylock at all and runs ok. The trav exe is smaller too . I can send you the disk images if you want to look but track 1 will be missing (rnc)
BlueAchenar
07 January 2009, 15:08
Ive dug out my disks again ready to try your installer, and tried to make some images. Seems i have the copylock version which is probably what caused me the issues when i tried to install before. I get software failure when running "trav". Did a quick test with the sps version and it doesnt seem to have copylock at all and runs ok. The trav exe is smaller too . I can send you the disk images if you want to look but track 1 will be missing (rnc)
Track 1 with RNC... hum... DIC or RawRead can't image it?
Please do send me that version. Did you get your WHDLoad slave to work on the IPF version?
Edit: I'll have my disks when a payment to Germany clears out, maybe they're the same version as yours.
Mad-Matt
07 January 2009, 15:32
Ive only done as far as put The ipf version in a basic hd startup. (since ive lost work i did before) Only got as far as starting it with the manual. My game version fails with access fault;)
Ill include a wwarp image too incase its useful. Full image because I forget the high low track syntax ;)
EDIT: Upped to the zone, Space Legends Compilation version
BlueAchenar
07 January 2009, 15:40
Ive only done as far as put The ipf version in a basic hd startup. (since ive lost work i did before) Only got as far as starting it with the manual. My game version fails with access fault;)
Ill include a wwarp image too incase its useful. Full image because I forget the high low track syntax ;)
EDIT: Upped to the zone, Space Legends Compilation version
Is your version HD installable? I can't check right now. Running UAE at work might raise some eyebrows :D
StingRay
07 January 2009, 15:44
Running UAE at work might raise some eyebrows :D
You are not supposed to do "fun" stuff at work anyway :D:D:D
*says that and goes back to the WinUAE window that is on top of my compiler screen :P*
Mad-Matt
07 January 2009, 16:13
Is your version HD installable? I can't check right now. Running UAE at work might raise some eyebrows :D
Yes but fails right away when trying to run. (A1200ppc). Might try a virtual a600hd at some point. If its going to work it should run on that as thats what was using when i baught the game .
BlueAchenar
07 January 2009, 22:05
Yes but fails right away when trying to run. (A1200ppc). Might try a virtual a600hd at some point. If its going to work it should run on that as thats what was using when i baught the game .
I can't get it to work either. :p But I'm leaving the copylocked version for later, until I can get the easy one to work. :D
I've tried kick31 instead of kick13 as it works fine on my HD, but still no cigar. Looks like I'll have to patch the damn thing some more or can I somehow hook into the Examine or CurrentDir dos calls? I could redirect the calls to the dir lock I want.
Mad-Matt
07 January 2009, 22:46
I dont know if its relevant and you may have seen already, that if booting floppy images with whd instead of virtualhd, then save game load appears to work. However it shows 3 entries. MT_A:/ DF0: DF1:. MT_A:/ doesnt work and has same issue as virtualhd, but going to df0: it will load default just fine .
BlueAchenar
07 January 2009, 22:53
I dont know if its relevant and you may have seen already, that if booting floppy images with whd instead of virtualhd, then save game load appears to work. However it shows 3 entries. MT_A:/ DF0: DF1:. MT_A:/ doesnt work and has same issue as virtualhd, but going to df0: it will load default just fine .
Not very relevant, because my HD installation (both physical and through WHDLoad) doesn't list any drives, unlike when I run the game from floppies in which case I'll see that list.
But I'm making some progress. Luckly for me ExNext(), one of the dos calls the load game routine keeps on repeating, only appears once on the relevant executable, so I have a good starting point. :)
BlueAchenar
07 January 2009, 23:23
ground.exe is getting the current directory lock from some another process through a message. I'm going to try to slip my own lock by.
Edit: Success!!!!! :D
BlueAchenar
08 January 2009, 00:33
Ok. Uploaded a alpha version. Don't mind the icon, it's from some other game. :D
Now, there's only detecting when the game quits to do and I really didn't like to have to patch another executable, there's probably some way to run the game in a way it knows its current directory.
Can I hook UnloadSeg() some way?
Edit: Hum... maybe patch the dos call...
TheCyberDruid
08 January 2009, 00:39
Ok. Uploaded a alpha version. Don't mind the icon, it's from some other game. :D
Yay :spin Good work BA :great
I'll test it on the weekend mate :)
BlueAchenar
08 January 2009, 03:02
Yay :spin Good work BA :great
I'll test it on the weekend mate :)
I really hope you're a good tester and don't find anything wrong. :D
It seems in my rush I left FILELOG and NOCACHE in the tooltypes and those are really not needed, sorry.
BlueAchenar
08 January 2009, 13:15
Anyone finished the game yet? :laughing Any bugs?
Making slaves is actually fun, I might get addicted to this. :D
StingRay
08 January 2009, 13:24
Making slaves is actually fun, I might get addicted to this. :D
It is but you will experience A LOT (and I mean A LOT) of problems when trying to fix things sometimes :D That's when it starts to become a challenge. =) But I'm looking forward to seeing more slaves from you! :)
BlueAchenar
08 January 2009, 13:32
It is but you will experience A LOT (and I mean A LOT) of problems when trying to fix things sometimes :D That's when it starts to become a challenge. =) But I'm looking forward to seeing more slaves from you! :)
If there were no problems to solve, it wouldn't be fun. :D It was really satisfying to solve the saved games problem yesterday, after three nights on it. :)
Well, first let's finish this slave and then move on to the next. I already have a list of candidates, if anyone really wants one of them done, pls let me know:
- Embryo
- Swords of Twilight
- Terran Envoy
- Starlord
- Pursuit Earth
- MegaTraveller 2
- King's Bounty
- Pizza Connection
- Tanglewood
- Heroes of the Lance
- Hannibal
StingRay
08 January 2009, 13:41
If there were no problems to solve, it wouldn't be fun. :D It was really satisfying to solve the saved games problem yesterday, after three nights on it. :)
Three nights might sound a lot to you but try f.e. to fix the Glenz Vector part in Hardwired which just displays a black screen on 68060. :D I spent A LOT more than 3 days/nights on that already and still didn't find any solution. That's what I mean with "problems" :D
Well, first let's finish this slave and then move on to the next. I already have a list of candidates, if anyone really wants one of them done, pls let me know:
- Embryo
You can remove that from your list as that one is my "baby". :) Just need to find the time to add support for another version and I'll release it. :)
killergorilla
08 January 2009, 13:42
Yay Embryo!!!!
Love that game. Would be great if that could be finished :)
Shoonay
08 January 2009, 13:45
Three nights might sound a lot to you but try f.e. to fix the Glenz Vector part in Hardwired which just displays a black screen on 68060. :D I spent A LOT more than 3 days/nights on that already and still didn't find any solution. That's what I mean with "problems" :DYou WHDLoad slavers are nuts, I love you, and keep up the great work you're doing for us! :bowdown :great
BlueAchenar
08 January 2009, 13:46
You can remove that from your list as that one is my "baby". :) Just need to find the time to add support for another version and I'll release it. :)
ok :great I'm just listing the originals I've access to. :)
musashi5150
08 January 2009, 14:23
- King's Bounty
ok :great I'm just listing the originals I've access to. :)
Bah... :guru ;)
StingRay
08 January 2009, 14:56
Yay Embryo!!!!
Love that game. Would be great if that could be finished :)
I can promise you that I'll finish the slave in 2009. :D Luckily (for me) the year has just started :D
BlueAchenar
08 January 2009, 15:33
Bah... :guru ;)
You also have it ;)
killergorilla
08 January 2009, 17:28
I can promise you that I'll finish the slave in 2009. :D Luckily (for me) the year has just started :D
Make it before March and I'll call it a deal ;)
BlueAchenar
08 January 2009, 22:40
Ok, hooking to UnLoadSeg allowed me to solve the quitting to a dos 1.3 screen problem. I'm all done with patching. :agree
Now, I just need a general code cleanup, CRC16 checks, hunk size sums checks (I wish there was some way to calculate the sum automatically), a nice icon, a installer and it's all done.
BlueAchenar
09 January 2009, 01:42
Almost done. Just two problems, my icon's palette changed for no reason and now looks horrible and the installer (created from the template) copies the ReadMe, slave, etc... twice, to the install directory and to the game data directory. :shocked
Galahad/FLT
09 January 2009, 01:43
Almost done. Just two problems, my icon's palette changed for no reason and now looks horrible and the installer (created from the template) copies the ReadMe, slave, etc... twice, to the install directory and to the game data directory. :shocked
Have you put in a piece of code for version checking to detect for the Copylock version and abort loading?
BlueAchenar
09 January 2009, 02:02
Have you put in a piece of code for version checking to detect for the Copylock version and abort loading?
Yes, I did, it will abort with TDREASON_WRONGVER. :)
I'll try to add support for the copylocked version one day when I understand the wwarp image format. :D
The installer and the icons are driving me crazy, this should be pretty straightforward.
StingRay
09 January 2009, 02:06
Make it before March and I'll call it a deal ;)
I'm afraid I can't promise that. At least till Easter (i.e. the time before Breakpoint 2009) I'm occupied with demo coding (yes, I know how much you like them :D). But I'll see what I can do. =)
BlueAchenar
09 January 2009, 02:18
Is the installer supposed to copy itself and the slave to the destination dir and to the data dir inside that one?
BlueAchenar
09 January 2009, 02:31
There's a small bug in the template.
The procedure P_CopyFile should check if #copy-file is empty before doing anything else, because otherwise everytime a empty parameter is passed it will copy everything, which is what it was doing in my case (copying all installation files 5 or 6 times over again). Copying the installation files over and over because I had some filenames like Solutions and Hiscores set to "" (Empty string).
Ok. Now that that is solved. Only the icon issue to solve... almost there :D
BlueAchenar
09 January 2009, 13:03
I've got everything ready for a release, but I've been testing the thing and it seems the quit detection isn't working always, so I'll have to do it some other way. :blased
Wepl
09 January 2009, 19:03
There's a small bug in the template.
The procedure P_CopyFile should check if #copy-file is empty before doing anything else, because otherwise everytime a empty parameter is passed it will copy everything, which is what it was doing in my case (copying all installation files 5 or 6 times over again). Copying the installation files over and over because I had some filenames like Solutions and Hiscores set to "" (Empty string).
The idea is to change as less as possible ;)
If you leave all the names there it's working fine because it only copies existing files.
BlueAchenar
09 January 2009, 20:24
@Wepl
When I finish everything should I send the installer and slave source to you or post the installer here so it gets proper testing first?
Wepl
09 January 2009, 21:31
It should be tested a bit. I you think it's ok send it me :)
BlueAchenar
09 January 2009, 23:33
It should be tested a bit. I you think it's ok send it me :)
Ok. I've done a completely different patch for the quit detection. It seems to work fine. Version 1.0 of the installer is on the zone for testing. :)
TheCyberDruid
10 January 2009, 02:02
Okay, I'll test it tomorrow :) I'm not sure if I can finish it in time, but will try to get as far as my free time permits :agree
BlueAchenar
10 January 2009, 02:27
Okay, I'll test it tomorrow :) I'm not sure if I can finish it in time, but will try to get as far as my free time permits :agree
You'll get farther in the game than me. That's pretty sure. :D
Do all WHDLoad patchers get tired of hearing the games' title songs over and over again? :laughing
TheCyberDruid
10 January 2009, 02:32
You'll get farther in the game than me. That's pretty sure. :D
We'll see ;)
Do all WHDLoad patchers get tired of hearing the games' title songs over and over again? :laughing
Guess that's an occupational disease for WHDLoad patchers :laughing
BlueAchenar
10 January 2009, 04:34
I've started analysing MegaTraveller 2 (1.05 English).
This one comes in 3 non-protected OS disks with no HD install, but amazingly if you copy everything to one HD directory it will know it is being run from HD and even more, it automatically assigns "MT1:", "MT2:", "MT3:" (its disks' names) to the directory. :D This is just too easy. I'll have a look for encryption and a shot at disabling the manual page check tomorrow, but I have an important presentation Wednesday and can't distract myself too much. :)
TheCyberDruid
10 January 2009, 14:57
I tried to install your slave BlueAchenar, but since it's my first install (only used the already installed versions yet ;)) I'm having some difficulties to do it (yes you can call me a noob :p). Which files do I need to copy from the WHDLoad package to the path with your slave and the installer? :)
BlueAchenar
10 January 2009, 15:37
I tried to install your slave BlueAchenar, but since it's my first install (only used the already installed versions yet ;)) I'm having some difficulties to do it (yes you can call me a noob :p). Which files do I need to copy from the WHDLoad package to the path with your slave and the installer? :)
Here it goes. I guess I should've included the installer drawer in the .lha but I don't know if that makes a difference.
- Create a drawer "MegaTraveller1 Installer"
- Unpack the files from the lha to this drawer
- Run the installer from the icon
- Choose Novice (the easiest)
- Read the WHDLoad license :p
- Insert disks MT_A and MT_B when requested (or image files in WinUAE). These should be the english retail version originals, cracked versions won't work.
- Done.
You don't need any WHDLoad files in the installation drawer, only in your path. If you use WHDLoad they should be already in the right place.
This installer is for WHDLoad 16.9, I don't know if it will work with 16.8.
If you have the german retail version contact me and I will add support.
Graham Humphrey
10 January 2009, 15:40
Has 16.9 been officially released yet?
BlueAchenar
10 January 2009, 15:44
Has 16.9 been officially released yet?
I think not, but it's location is linked in this thread. Wepl asked me to use 16.9 and not 16.8.
Graham Humphrey
10 January 2009, 15:48
Cool, makes more sense now ;)
Hopefully that means it won't be long until it does get released properly.
TheCyberDruid
10 January 2009, 15:50
I did that (copy the files to a folder and started the installer), but I guess I use the wrong installer since I get an error :( Can you give me an link to the installer version you use? :)
BlueAchenar
10 January 2009, 15:54
I did that (copy the files to a folder and started the installer), but I guess I use the wrong installer since I get an error :( Can you give me an link to the installer version you use? :)
Which is the error?
I already tested the installer script thoroughly. I'll upload an installed version to the zone in 20 minutes or so for you to play with. ;)
TheCyberDruid
10 January 2009, 15:58
Which is the error?
Installer
Program error (error number 87000004)
Might be slightly different since I use a German Workbench here.
I already tested the installer script thoroughly. I'll upload an installed version to the zone in 20 minutes or so for you to play with. ;)
That would be great :great I'll have a look later, because now it's time for some Serious Sam :D
BlueAchenar
10 January 2009, 16:09
Installer
Program error (error number 87000004)
Might be slightly different since I use a German Workbench here.
That would be great :great I'll have a look later, because now it's time for some Serious Sam :D
Program error on the installer? :shocked The installer script is just a text file. I don't see how it would cause that.
Well, the game is waiting for you in the zone ;)
Retro-Nerd
10 January 2009, 16:19
Installer
Program error (error number 87000004)
Might be slightly different since I use a German Workbench here.
Do you use Installer 44.10? Try this one.
http://kgwhd.whdownload.com/files.php
TheCyberDruid
10 January 2009, 17:58
I had a weird installer program in C (only 1k). Don't know what it was for... With the installer for KGs site it worked flawless :) Thanks Retro :great
Had a short look and all was fine :agree I report as soon as I find a problem or finished the game ;)
BlueAchenar
10 January 2009, 18:06
I had a weird installer program in C (only 1k). Don't know what it was for... With the installer for KGs site it worked flawless :) Thanks Retro :great
Had a short look and all was fine :agree I report as soon as I find a problem or finished the game ;)
When you finish the game, MegaTraveller 2 might be ready. Just cracked it 2mins ago. ;) It was pretty easy, no encryption and only one beq.s to change to bra.s like in the first game.
BlueAchenar
10 January 2009, 23:19
Have you finished it TCD? :D
TheCyberDruid
11 January 2009, 02:33
Have you finished it TCD? :D
Not yet ;)
BlueAchenar
11 January 2009, 02:48
Not yet ;)
Have you reached at least another planet? :p
TheCyberDruid
11 January 2009, 02:55
To be honest I was away the whole evening having a nice game of 'Skat' (German card game) and havent't progressed yet ;) I'll have a 'real' go at it tomorrow, so if you want a 24/7 tester you should better look elsewhere ;)
BlueAchenar
11 January 2009, 03:17
To be honest I was away the whole evening having a nice game of 'Skat' (German card game) and havent't progressed yet ;) I'll have a 'real' go at it tomorrow, so if you want a 24/7 tester you should better look elsewhere ;)
No problem. ;)
I just had the best news I could expect today. I searched the internet, contacted someone and it seems I might actually be getting ADF images of the original Maelstrom disks in the near future. :spin
TheCyberDruid
11 January 2009, 14:36
Glad you found Maelstrom mate :) Fingers crossed you can get the images :great
I managed to find the starport on the first planet today (yay :D), but since I have no manual I also have no idea how to earn money for the Jump 2 device. Does anyone know where to get the manual and maybe even a walkthrough for the game? That would help a lot testing the game ;)
zenox98
11 January 2009, 15:13
Glad you found Maelstrom mate :) Fingers crossed you can get the images :great
I managed to find the starport on the first planet today (yay :D), but since I have no manual I also have no idea how to earn money for the Jump 2 device. Does anyone know where to get the manual and maybe even a walkthrough for the game? That would help a lot testing the game ;)
On Zeb's Amiga Downloads, it says there is some docs on LSD disk 18.
prowler
11 January 2009, 15:14
I managed to find the starport on the first planet today (yay :D), but since I have no manual I also have no idea how to earn money for the Jump 2 device. Does anyone know where to get the manual and maybe even a walkthrough for the game? That would help a lot testing the game ;)
Hi TCD,
Look here:
http://www.lemonamiga.com/games/details.php?id=737
or here:
http://www.lemonamiga.com/?mainurl=http%3A//www.lemonamiga.com/games/details.php%3Fid%3D737
for a Manual and a Cheat (for extra money ;) ) too! :)
BlueAchenar
11 January 2009, 17:15
Here you go mate:
TheCyberDruid
11 January 2009, 19:09
@zenox98, prowler & BlueAchenar
Thanks a lot guys :great I'm sure this will help :) It seems this is a rather complex game (even for a RPG), so the manual is really appreciated.
BlueAchenar
11 January 2009, 19:17
@zenox98, prowler & BlueAchenar
Thanks a lot guys :great I'm sure this will help :) It seems this is a rather complex game (even for a RPG), so the manual is really appreciated.
Complex is fun :p
TheCyberDruid
11 January 2009, 19:19
Sometimes ;) This one looks like it will be fun once I fogured out how things work :)
BlueAchenar
11 January 2009, 20:26
Please tell me when you get to space. I'm a little worried about one thing which might or not happen at that point... :p
TheCyberDruid
11 January 2009, 20:36
I think you're right ;) When I enter the ship the game quits to WB... Was that what you feared? :D Haven't bought anything yet, just tried to enter space or fly on the planet.
Edit : Attached is the save I use. Just move up and see what happens ;)
BlueAchenar
11 January 2009, 20:39
I think you're right ;) When I enter the ship the game quits to WB... Was that what you feared? :D Haven't bought anything yet, just tried to enter space or fly on the planet.
That's exactly what I feared. :( Could you send me a saved game at that point? Edit: Didn't see the save. ;)
I'll try to solve the problem still today, but I have to defend my master's thesis wednesday and have very little time for other stuff right now.
TheCyberDruid
11 January 2009, 20:41
I thought you might need a save :) Attached to my last post. Best of luck with finding the problem and for your master's thesis exam :great
BlueAchenar
11 January 2009, 20:43
I thought you might need a save :) Attached to my last post. Best of luck with finding the problem and for your master's thesis exam :great
Thanks. ;)
I already know what the problem is, that's why I saw it coming. :D I was hoping the game would behave in a different way and it wouldn't happen. Shouldn't be too hard to solve it, just a little time consuming. :)
prowler
11 January 2009, 20:43
I have to defend my master's thesis wednesday and have very little time for other stuff right now.
Hi BlueAchenar,
Good luck with that from me too! :)
prowler
BlueAchenar
11 January 2009, 20:46
Hi BlueAchenar,
Good luck with that from me too! :)
prowler
Thanks mate! :great
TheCyberDruid
11 January 2009, 20:48
I already know what the problem is, that's why I saw it coming. :D
Ah, a predetermined breaking point :D No offense mate :) I know how such things work and it's always good to have some testers for these situations ;) Don't worry if you have no time right now. I'll test it further once you've fixed the bug :agree
BlueAchenar
11 January 2009, 20:54
Ah, a predetermined breaking point :D No offense mate :) I know how such things work and it's always good to have some testers for these situations ;) Don't worry if you have no time right now. I'll test it further once you've fixed the bug :agree
The problem goes like this. I've made a detection routine which should quit to the OS when the user presses 'Quit' in the game, instead of quiting to the emulated 1.3 OS. The problem is the game is divided into several executables which call each other and quit to release control to the next executable. So, it seems like GROUND.EXE called SPACE.EXE, quitted, and the slave thought it was quitting time, so it quitted. :p
TheCyberDruid
11 January 2009, 20:58
Hehe, I see ;) There must be a 'best practise' way to deal with this situation. Maybe you should make a new thread and ask for it :agree
BlueAchenar
11 January 2009, 21:01
Hehe, I see ;) There must be a 'best practise' way to deal with this situation. Maybe you should make a new thread and ask for it :agree
There's actually a "sure thing" way of dealing with this which is the one I'm going for now.
So my question is: what it the OS legal way of detecting a left mouse click, as opposed to "btst #6,$bfe001"?
StingRay
11 January 2009, 21:17
So my question is: what it the OS legal way of detecting a left mouse click, as opposed to "btst #6,$bfe001"?
You need to check the IDCMP messages, i.e. IDCMP_MOUSEBUTTONS in your case. For that you'd need a pointer to the userport of the current window to receive the message. Check if there are any GetMsg() calls within the game and intercept them. For better understanding here's a code snippet from a diskmag engine I coded years ago:
.LOOP move.l win(a4),a5
move.l wn_userport(a5),a0
move.l $4.w,a6
jsr _LVOWaitPort(a6)
move.l wn_userport(a5),a0
jsr _LVOGetMsg(a6)
tst.l d0
beq.b .LOOP
move.l d0,a1
move.l im_class(a1),d6
move.w im_code(a1),d7
jsr _LVOReplyMsg(a6)
moveq #-1,d0
lea .TAB(pc),a0
.search addq.w #1,d0
cmp.l (a0)+,d6
bne.b .search
move.w .TAB2(pc,d0.w*2),d0
jsr .TAB2(pc,d0.w)
CHECKERROR .error
tst.b quit(a4)
beq.b .LOOP
....
.TAB dc.l IDCMP_RAWKEY
dc.l IDCMP_VANILLAKEY
dc.l IDCMP_MOUSEMOVE
dc.l IDCMP_MOUSEBUTTONS
.TAB2 dc.w HANDLE_RAWKEYS-.TAB2
dc.w HANDLE_VANKEYS-.TAB2
dc.w HANDLE_MOUSE-.TAB2
dc.w HANDLE_MOUSEBUTTONS-.TAB2
Hope that helps.
BlueAchenar
11 January 2009, 21:32
Thanks StingRay. :) I tried another way.
Here you go TCD, I wouldn't leave my only tester with nothing to do. :D Copy it over your slave file in the game drawer.
TheCyberDruid
11 January 2009, 21:43
Okay, getting in the ship works and also back to the planet. The quitkey correctly gets back to WB. Seems like it's fixed ;) Will read the manual tonight and play again tomorrow :)
BlueAchenar
11 January 2009, 21:47
Okay, getting in the ship works and also back to the planet. The quitkey correctly gets back to WB. Seems like it's fixed ;) Will read the manual tonight and play again tomorrow :)
Actually, is the "Quit" menu options that should work and not the quit key (which always works), but I've tested them and they work. I'm 99% sure the game is finishable now. The other 1% is for CPU model related bugs. :)
BlueAchenar
12 January 2009, 13:34
How's that going TCD? Any crashes yet? ;)
TheCyberDruid
12 January 2009, 13:40
Erm, nope because I haven't played it yet ;) I will test it tonight when I'm back home mate :)
BlueAchenar
12 January 2009, 22:01
As soon as you finish MT1, MT2 will be waiting for you TCD. ;) Only the quit detection patch is left to do, and the installer of course.
Edit: And maybe a way to skip that damn long intro :p Oh, and support for the german version.
TheCyberDruid
12 January 2009, 22:06
:shocked Wow, that's fast mate :great I won't have much time to test MT1 this week, so maybe someone else can take the job for MT2 ;) Looks like you really like this :agree
Btw : No bugs showed up today :)
BlueAchenar
14 January 2009, 18:39
So, TCD... any bugs yet? :p I actually found an improvement to do, but nothing important. Hope you finish it soon so I can submit my first slave to Wepl ;)
BlueAchenar
18 January 2009, 01:50
Anyone finished it yet? :p
TheCyberDruid
18 January 2009, 10:13
For me : nope ;) I'm still on it (well at least kinda :p) and no problem on WinUAE so far. Might be a good idea if someone could test this one on his real Amiga :)
Any news on this?
It seems that the version in Space Legends compilation differs. Think you'll have a look at that one too? I got me that compilation because it contains the only supported version of Elite. Then it'd just be Wing Commander left..
Mad-Matt
03 May 2009, 19:59
Space Legends contains the Copylock version. I sent images sometime ago, so one day may be supported. Give psygore a prod for wing commander ;)
vBulletin® v3.7.0, Copyright ©2000-2012, Jelsoft Enterprises Ltd.