News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

load.exe compression (first level)

Started by llm, January 10, 2009, 11:48:24 PM

Previous topic - Next topic

Cas

#15
Hey, guys!  I'm in!

I'm so, so happy that some other people are working on this now. I had left it for so long!  But now I'll put hands at work. What I researched some time ago may be now mostly useless, but I trust one or two things will serve and I will be able to help with more research.
Right now I'm on my Linux partition. I'll jump to DOS to translate my old files to English and ZIP them and I'll come back to send them. No big thing, but something is something.
I do not have DOSBox. I think I should download it. I have pure DOS and Ubuntu Linux. I do not have a disassembler and never had... I still have to learn how to handle those things.

These are some things I thought would be nice to do if we get this work done:
- It would be great to create a .DRV file (sound) that could replace the Tandy one or some other not very used and that would redirect the sound requests to a new sound API for DOS (if you take a look at freedos.org, many people have long been trying to accomplish a new sound API for DOS)
- I'd love to be able to add more elements to be used on tracks and create tracks of sizes different from 30x30. Also, elements with heights greater than 3, that is, ramps that could take you very high and bridges above bridges
- It'd be nice to dismantle the car format and maybe even replace it for something more flexible so that a utility could be created to design your own car (appearance included)
- A system could be added so that replays were encrypted, allowing Stunts championships to verify if replays were handled or not without needing to record a video (I've already tried to do this once in a different way)
- Opponent commands could be redirected to a remote computer and an option could be set to play as "#2" and appear on the left side. This way, a 2-person race would be possible.

All these things seem crazy, but isn't it even harder to do what we are trying to do right now?
OK... I'll go and zip those files now!  Be right back!  :)

=================

Alright!  Here I am uploading the Zip file. Look for the README.1ST file in it
Earth is my country. Science is my religion.

zaqrack

great, we are having a small Stunts development team. Wish you success! Do you need a subforum?

llm

our own subforum - would be great
can you also transfer this topic into the new one

Duplode

Quote from: Cas on January 22, 2009, 06:56:05 AM
I'm so, so happy that some other people are working on this now. I had left it for so long!  But now I'll put hands at work. What I researched some time ago may be now mostly useless, but I trust one or two things will serve and I will be able to help with more research.

I guess everyone should be as happy as you are... :)

Quote from: Cas on January 22, 2009, 06:56:05 AM
I do not have DOSBox. I think I should download it. I have pure DOS and Ubuntu Linux.

Indeed you should: DOSBox + Linux is at the moment our perfect sandbox investigation ambient (and a very good one for racing too!)

Quote from: Cas on January 22, 2009, 06:56:05 AM
- I'd love to be able to add more elements to be used on tracks and create tracks of sizes different from 30x30. Also, elements with heights greater than 3, that is, ramps that could take you very high and bridges above bridges

Hacking the track assembling and edition routines so we can introduce new track elements without removing old ones - it's the possibility I enjoy contemplating the most :)

Quote from: Cas on January 22, 2009, 06:56:05 AM
- It'd be nice to dismantle the car format and maybe even replace it for something more flexible so that a utility could be created to design your own car (appearance included)

Great strides were made in that direction over the last year, so that is not just a dream any more - I highly recommend you to check this subforum  ;)

Quote from: Cas on January 22, 2009, 06:56:05 AM
- A system could be added so that replays were encrypted, allowing Stunts championships to verify if replays were handled or not without needing to record a video (I've already tried to do this once in a different way)

I am a bit skeptical on the possibility of taming/eliminating RH (and the implications of such a deed for game mechanics and competitions), but there's more opinion than fact in my position... Anyway, what was the "different way" you once tried?

Cas

#19
WOW!   A subforum! fantastic!

About handling replay handling, what I had tried was using Game Wizard to locate in the memory structure, where Stunts stored the menu item number and related stuff, to make a TSR program to be loaded before Stunts (and unloaded at the end) that monitored this and automatically saved a replay in a different format, setting a flag if there is a crash or if you reload a replay. I succeeded to find the memory location, but I could not find where Stunts channels the current key being pressed as a command, to generate the replay. Check the format file I wrote for the replays. It's in Spanish, but I can translate it later.  :D
Earth is my country. Science is my religion.

llm

#20
like duplode said dosbox is realy the best sandbox for testing -
i've made changes to the very easy to read source code to get the logs as shown post before

and i think you could use ida pro freeware 4.9 on linux under WINE
http://www.hex-rays.com/idapro/idadownfreeware.htm
http://winehq.org/

(you can see an example of ida output in the zip file i added to my second post in this thread)

btw:is your load.asm an working replacement for the original load.exe?
what are the settings for flatassembler to assemble and link?

Cas

I'll check what you advise. Thank you! :)

The LOAD.ASM file is far from being complete. It is what I was able to manually disassemble in about two months of work, using FreeDOS's DEBUG application on one computer and typing at the same time into a text editor on another. Flat Assembler has the simplest format possible. You don't have to compile and then link, but it just builds exactly what you tell and where you tell. You may use, if you prefer, no directives at all, but only mnemonics and db's to create a binary file. To make an EXE file, you need to use a "format MZ" directive at the beginning and then you can define each segment with the "segment" directive and you need to set up a start point before the segments, as you can see in these ASM files. Everything is stored in the order you put it. Then you type "FASM myfile.asm" and you get a "myfile.exe". Just like that. It's very powerful
Earth is my country. Science is my religion.

Friker

this is offtopic - how you get dos+ubuntu working at one PC? i mean - can you give me part from menu.lst file in grub?

maybe i will participate in this disassembling too :)

llm

#23
dosbox havy debug version is far more powerfull than simple dos debug

dosbox debug guide
http://vogons.zetafleet.com/viewtopic.php?t=3944

http://kannan.jumbledthoughts.com/index.php/howto-use-dosbox-as-a-quick-dirty-disassembler/

you can even log the executed instructions etc.

Cas

I definitely have to download the DOSBox for Linux and start learning... My computer is a little bit slow, though... maybe the time is getting closer that I will have to get a new one.

Friker: when you install Ubuntu, if you already have a DOS partition in your hard drive, you can identify it as such at installation time and then you will have the GRUB menu to automatically show it. If you create a DOS partition after you have installed Ubuntu, then you do have to add some lines. Right now I'm at work and they have micro$oft window$ here, so I am unable to check and I don't remember very well. I'll see when I get to my computer. Anyway, even in that case, if you are starting DOS and want to switch to the Ubuntu partition, all you have to do is run FDISK and change the active partition. Also, some emulators, such as DOSBox, will allow you to have a DOS environment within Linux too
Earth is my country. Science is my religion.