scummvm porting

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
User avatar
jakayang
Posts: 19
Joined: Wed Jul 08, 2009 9:16 am
Location: The Netherlands

scummvm porting

Post by jakayang »

hi,

i got an question regarding porting scummvm.
first of all, what is porting the program for windows CE (for example) so actually what is porting an program.

then the second question is, how does scummvm works?
i've read that is translates programs instead of emulating like dosbox does, and from what i have seen. translating goes alot faster.

now my last point, is there any possibility that, like scummvm, dosbox can be translated to? or is this about the scumm engine were al the games running on?

thanks in advance, i'd like to know more about scummvm.
it's an fantastic program and if i have the oppurtunity i want to help program you guys. i'm studying IT-manager and want to learn prgramming and this seems to be an good project!

thanks in advance,

JakaYang
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

As for what "porting" means, Googling for "what means porting" leads you directly to this Wikipedia page: http://en.wikipedia.org/wiki/Porting (this "trick" of googling questions works surprisingly well, I recommend you give it a try next time ;).

Regarding what ScummVM does: Check out http://wiki.scummvm.org/index.php/About.

As to your DOSBox questions: To be frank, I didn't understand it, it was so grammatically garbled... Do you mean whether DOSBox could be ported to WindowsCE ? The answer to that would be "yes", and I think people already did it.
User avatar
jakayang
Posts: 19
Joined: Wed Jul 08, 2009 9:16 am
Location: The Netherlands

Post by jakayang »

hi thanks for your answer, i am coming from the netherlands so english is yet a slight problem to me:) like using correct phrases:)

okay, thanks for the two answers but what i actually mean is:

"ScummVM is a project in which there is an attempt to rewrite the original executable file of a given game, based on the game's original source code or by using reverse engineering techniques to see the code that's contained in the game's executable and rewrite it in C++. This means that ScummVM's executable can be used to replace the game's original one, but of course the game's data files (graphics, audio, game scripts etc) are needed to play the game itself. Therefore, ScummVM is NOT an emulator of a specific operating system, as, for example, DOSBox is for DOS. ScummVM is actually a full rewrite of each game's engine, which has many advantages"

so can people do this for dosbox as wel?

greet,

jakayang
User avatar
Strangerke
ScummVM Developer
Posts: 335
Joined: Wed Sep 06, 2006 8:39 am
Location: Belgium

Post by Strangerke »

The purpose of DOSBox is completely different : in summary, DOSBox emulates a PC with DOS installed on it. So that you can run DOS programs (hopefully) without problems.

The purpose of ScummVM is to rewrite point & click Adventure game engines from scratch. May it be a DOS game, or an Amiga, Atari, Mac, ... one.

Is the difference a little bit more clear ?
User avatar
jakayang
Posts: 19
Joined: Wed Jul 08, 2009 9:16 am
Location: The Netherlands

Post by jakayang »

yes i see.

scummvm is rewriting the game executable
dosbox is emulating an whole pc.

but is there any chance to make a program that does the same as scummvm but for dosgames?

thansk for the reply!

jakayang[/i]
User avatar
Strangerke
ScummVM Developer
Posts: 335
Joined: Wed Sep 06, 2006 8:39 am
Location: Belgium

Post by Strangerke »

Well, it's of course possible. It's just a question of 'who' and 'how long' !
Rewriting a game executable is an enormous task. With Adventure games, you can from times to times find series of games using the same engine (with, or without evolutions). I suppose it's the same for other games, so I can imagine that if you convince some Reverse Engineer guys to work on those, you could see the first game in one or two years.

Good luck :)
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

jakayang wrote:but is there any chance to make a program that does the same as scummvm but for dosgames?
I cannot really answer that question with "yes" or "no" because it is based on wrong assumptions (a bit as if you ask me "do you still beat your wife" -- I cannot answer yes or no, since (a) I have no wife, and (b) if I had, I wouldn't beat her ;).

Let me explain: To add support for a given game to ScummVM, somebody has to sit down and implement dedicated support for that game into ScummVM, a long and tedious process. Many of the games we support this way are actually "dosgames", i.e. games which run under DOS originally. You take these games, keep the data files, throw the .exe away and replace it by ScummVM. Then you can play.

This can be done for *any* game, but it's a hard and tedious job each time; and for many games, it is akin to completely reimplementing the game from scratch; and often there are not even separate data files.

There are many such projects out there: E.g. Exult for Ultima 7, Pentagram for Ultima 8 (and several similar project for other Ultimas); FreeCiv and FreeCol for Civilization / Colonization; etc. etc.

DOSBox' approach to emulate a PC has the great advantage that *any* DOS game runs on it (well, almost any at least). No (or only a little) extra work is required to support more games.

The advantage of ScummVM is that often it takes far less resources than emulating a PC, thus making games playable on devices on which DOSBox is far too slow (note: DOSBox is very well written, but it cannot change the fact that some devices are just too small and slow to run games via DOSBox at full speed). Also, ScummVM can implement improvements compared to the original game executable.
User avatar
jakayang
Posts: 19
Joined: Wed Jul 08, 2009 9:16 am
Location: The Netherlands

Post by jakayang »

hi,

thanks for your replies, i really aprreciate it!
thanks to you i can play monkey island 3 on my pocket pc werever i am! and that's a really nice job, thanks!

so you're replacing the executable file. i do not really understand it. i have installed monkey island 3 on my desktop pc and compied it to my storage card. from there on he finds the curse of monkey island and scummvm runs monkey3

however what you say, the game is changed: the keyboard, how to save and were to save, the toolbar etc. so that have something to do with "replacing the executable" ?
so instead f using monkey3.exe as executable the data files are run from scummvm? that scummvm executes the program?

sorry for the bad english, i'm doing my best!

thanks,

JakaYang
User avatar
Red_Breast
Posts: 774
Joined: Tue Sep 30, 2008 10:33 pm
Location: The Bar Of Gold, Upper Swandam Lane.

Post by Red_Breast »

Jakayang
When a game is installed to a PC, and this is a bit easier to see under Windows I find, it is made up of a lot of files.
Some of these files tell the Operating System and hardware what to do. On Windows it's .exe, dll, ini for example.
It's also made up of files storing graphics, sound etc.
What ScummVM does is replace files like the .exe which are used by a particular platform, in this case Windows, and replaces it with whatever is needed for the platform that you want to run the game on.
For example the executable for Wii is .elf. So to play a game on Wii you use the ScummVM.elf along with the same game data (graphics etc.) This game data can be used on any platform.
ScummVM is wrote in a language called portable C++. When you want a ScummVM executable for a certain platform the source code is used to compile/build a ScummVM executable for the platform.
With Windows you can use Visual Studio to compile. Wii/PSP/nDS executables use something called devkitpro. Linux uses gcc++.

Hope that helps. I was going to try writing this in Dutch. But it's years since I spoke any so I'm very rusty. I don't think it would go down well in the forum either.
Het beste.
User avatar
Freddo
Posts: 287
Joined: Mon Oct 31, 2005 4:41 pm

Post by Freddo »

jakayang wrote:so instead of using monkey3.exe as executable the data files are run from scummvm? that scummvm executes the program?
That's exactly it :)

When you run Monkey Island 3 in ScummVM, monkey3.exe is never used. It's all running from ScummVM.exe.

But if you run Monkey Island 3 in an emulator, the emulator have to do a lot of demanding work to "translate" the monkey3.exe instructions.

This is why DOSBox is so much slower than ScummVM. But in the other hand, it's a very time consuming task to make a game supported in ScummVM.
User avatar
Morden
Posts: 157
Joined: Mon Nov 03, 2008 10:15 am
Contact:

Post by Morden »

Freddo wrote:When you run Monkey Island 3 in ScummVM, monkey3.exe is never used. It's all running from ScummVM.exe.

But if you run Monkey Island 3 in an emulator, the emulator have to do a lot of demanding work to "translate" the monkey3.exe instructions. (...) This is why DOSBox is so much slower than ScummVM.
Actually, you wouldn't run The Curse of Monkey Island via an emulator, since it's a Windows, not a DOS game, and it can't serve as an example for DOSbox vs ScummVM. Besides, the reason for slower emulation in DOSbox has already been explained.
User avatar
Freddo
Posts: 287
Joined: Mon Oct 31, 2005 4:41 pm

Post by Freddo »

Morden wrote:Actually, you wouldn't run The Curse of Monkey Island via an emulator, since it's a Windows, not a DOS game, and it can't serve as an example for DOSbox vs ScummVM.
He mentioned monkey3.exe so I just continued to build on that and said it could run in an emulator, not DOSBox specifically, but things like QEMU.
Collector
Posts: 549
Joined: Sun Oct 30, 2005 6:58 pm
Contact:

Post by Collector »

Morden wrote:Actually, you wouldn't run The Curse of Monkey Island via an emulator, since it's a Windows, not a DOS game, and it can't serve as an example for DOSbox vs ScummVM.
You still need an emulator if you are not talking about 32 bit Windows and are not going to use ScummVM. Curse has a 16 bit installer, so it cannot be installed on 64 bit Windows or any non-Windows platform. And there are other emulators out there than DOSBox. Many of which will let you install Windows on them. As far as the ScummVM vs DOSBox argument goes, the same issues apply with any emulator.
User avatar
jakayang
Posts: 19
Joined: Wed Jul 08, 2009 9:16 am
Location: The Netherlands

Post by jakayang »

hi!

thanks for all your reactions!
i am very gald you share this information with me, i am very curious on how programs work and how software goes. thanks!

as for questions about scummvm on any PDA or Pocket pc? people can ask me about it!

but it is very interesting to read the thing you write. now i know what those programs are doing. 'so now i think building an program with the same concept as scummvm but thenfor dosgames is rather consuming to much time. so i will search for some programs like: free C&C or so.

i thank you all for your time!

jakayang
Post Reply