Slashdot Mirror


Ultima 7 in Windows?

trotski writes "In its day, Ultima 7 was one of the most complex and detailed RPG's ever made. Lets put it this way, in 1992 it required 20 mb of hard drive space and a 386 processor; cutting edge equipment that at the time retailed at well over $2000. Unfortunatly, until now getting Utlima 7 to run properly under win9X or worse, win2K or XP was heart-breaking. Fortunatly, someone has designed a utility that allows you to run this program under all versions of Windows as well as Linux! Very exciting for people out there who want to play this classic." Actually, Linux support seems to be only hypothetical at this point; along with the link to download the code is a note that says "Anyone who wishes to study the source code, or to port it to Linux or any other OS, is welcome to download this file."

30 of 168 comments (clear)

  1. Exult by eddy · · Score: 5, Informative

    Just use Exult instead. Must be a slow newsday?

    --
    Belief is the currency of delusion.
    1. Re:Exult by Marton · · Score: 4, Informative

      Exult uses a totally different approach - it is a rewrite of the game engine. The memory manager & hack in this case is a much more generic piece of software that could be adapted to other old software that does not run under emulated DOS sessions anymore.

    2. Re:Exult by eddy · · Score: 4, Insightful

      The "news" isn't that there's a new generic "old-game-loader" out, the "news" is that you can now run Ultima 7 on Windows. For that purpose, Exult is better. That Exult is a re-implementation is hardly a secret and not something that one should feel the need to point out (it's in the domain "so obvious it hurts")

      Furthermore, I haven't checked the source of this loader, but I'll wager it's very executable-specific, and I doubt that many other games would benefit from this particular loader (that is, there's already less intrusive ways of playing most games).

      In short; the whole problem with U7 is the messed up hack of a memory model (real flat mode) the cracksmoking freaks chose to use. Exult, which is newsworthy in itself, solved the problem, and more.

      --
      Belief is the currency of delusion.
    3. Re:Exult by auntfloyd · · Score: 5, Informative
      Exult is fantastic. I've been using 1.0 (under Linux) to run BG and SI (with their respective expansion packs) with no problem.

      Exult has a ton of extra features over the original U7 engine, including:

      SI-style "paper doll" support in BG

      The ability to use the "T" button (pause and click on someone to talk) in BG

      Configurable display size. This is great because you can configure Exult to show more of the game world on screen. The original U7 only did 320x200, but if you have a bigger screen, why not take advantage of it?

      Unlimited save and restore slots. Each save also has a party list and screenshot associated with it

      Sound support, including speech. I don't think I could ever get this to work with U7 under DOS

      *Much* more stable. U7 was fairly buggy - random lockups were distressingly common. Exult hasn't crashed on me once.

      Normal play speed. Exult doesn't require any sort of slow down utililty like moslo

      The need for food seems to have disappeared. I beat BG recently and only had to feed my party once. I guess the Exult developers thought that the food system was a bad idea and just didn't implement it fully. In my book, not having to deal with Shamino whining "I must have food" every 2 minutes is a plus.

      Advanced cheating system :)

      So get Exult. It's better than the original, and runs under unix, too.

    4. Re:Exult by Jucius+Maximus · · Score: 3, Funny
      "The need for food seems to have disappeared. I beat BG recently and only had to feed my party once. I guess the Exult developers thought that the food system was a bad idea and just didn't implement it fully. In my book, not having to deal with Shamino whining "I must have food" every 2 minutes is a plus."

      But this means that only the players who played the original DOS version will be able to see the antics that happen when the party gets really, REALLY hungry ;-) (The members randomly start saying Moo, Oink, etc... It's all the funnier when you see it in that old english type font they use.)

  2. Ultima!! by Beetjebrak · · Score: 4, Informative

    Ultima runs exceptionally well inside a VMWare virtual machine under both Linux and Windows. I have an athlon 2000+ on which I do this, and it works perfectly. No sound though, which is sad because the Guardian's voice is awe inspiring at times!

    --
    Learn from the mistakes of others. There isn't enough time to make them all yourself.
  3. Amazing! by Malicious · · Score: 3, Funny

    So, let me get this straight....
    Suddenly, there is a large movement for people to port Linux programs to Windows?
    Isn't this slashdot? Shouldn't this be a selling point for crossing over.?
    Make it up! "http://linux.org/Ultima7/Switch"

    --
    01101001001000000110000101101101001000000110001001 10000101110100011011010110000101101110
  4. My thoughts exactly -- Exult == good by 0x0d0a · · Score: 4, Interesting

    Exult is a hell of a lot more technically *good* than this thingie, has complete Linux support (as well as Windows), and even adds a few features. If you're an Ultima fan, check it out.

    Ultima, Star Control 2, Marathon...eventually, *everything* comes to Linux.

  5. Flat Real Mode by Anonymous Coward · · Score: 5, Informative

    The cause of all the problems with ultima 7 is flat real mode, or 32 bit real mode. Turns out it is possible to switch to protected mode, change the segment limits, and when you return to real mode, the segment limits are not changed back. This allows access to the full 32 bit flat memory address space, while still being in real mode. This is much faster than a DOS extender (DPMI), which rapidly switches back and forth between real and protected mode. Unfortunately, flat real mode is incompatible with anything except pure DOS with himem.sys as the only memory manager loaded. It is even incompatible with emm386 and qemm.

    1. Re:Flat Real Mode by bsartist · · Score: 3, Insightful

      Wow - that really takes me back. Many, many years ago, in '91 or '92 I think, I wrote an article about Flat Real Mode for the comp.lang.asm.x86 FAQ. I wonder now if the U7 programmers read it - it would be *really* cool to find that I had contributed, in even a small way, to one of my favorite game series.

      It can still be useful - and as far as I know, sometimes still used - in embedded applications that need to address more than 1MB of memory while dealing with a high rate of interrupts. Interrupts in protected mode cause a context switch, which carries with it a substantial amount of overhead.

      --
      Lost: Sig, white with black letters. No collar. Reward if found!
    2. Re:Flat Real Mode by Neon+Spiral+Injector · · Score: 4, Funny

      If you were indeed the one responsible for the memory configuration of U7, I wouldn't mention it too loudly around here. :P

    3. Re:Flat Real Mode by caspper69 · · Score: 3, Informative

      We OS developers like to refer to this as "unreal" mode. It works like a charm, but is technically considered "undocumented" processor behavior by Intel.

      It can be very useful in getting a 32-bit protected mode operating system running. This is because as soon as you switch to protected mode, you need to write all of your own interrupt code (i.e. if you've ever written code in x86 assembly under DOS, you have access to a ton of INT(errupt) instructions that do things like write to the screen, read from a disk, etc, but in Pmode, YOU must write the code to do all of this yourself - quite tedious and time-consuming). Well, in unreal mode, you switch to pmode, then switch back to real mode without resetting the segment registers, and gain access to the entire 32-bit flat address space, and still use the real mode interrupts.

      This mode is therefore most useful for a second-stage bootloader, and/or other miscellaneous times when you need to access memory beyond 1MB, but using real-mode interrupts. Plus, it can be a hell of a lot easier than setting up V86 mode (vitual-8086 mode), with the necessary Global Descriptor Table entries (GDT) and getting your Task State Segments (TSS's) correct. Eventually, you'll need V86 mode if you wish to execute 16-bit code from your 32-bit protected environment, but it's nice to be able to work on different parts of an operating system at different times without being relegated to do so in a certain and well defined order.

  6. Dosemu? by The+Original+Yama · · Score: 3

    Doesn't it work in Dosemu, with a DOS like FreeDOS or MS-DOS?

  7. Re:No, it doesn't even work with emm386 by Anonymous Coward · · Score: 3, Informative

    Ultima 7 does not work in virtual 8086 mode (yes, that means no emm386.exe or qemm). It uses a bug in the x86 CPU to access 32 bit real mode. That is, accessing the full 32 bit flat memory address space while still being in real mode.

  8. Ahh! MIDI warning on the link! by XorNand · · Score: 4, Funny


    The scourge of the WWW: embedded MIDI files!

    Er, actually, I kinda dig this one. In fact, it's the only embedded MIDI I've ever replayed.

    --
    Entrepreneur : (noun), French for "unemployed"
    1. Re:Ahh! MIDI warning on the link! by nomadic · · Score: 4, Funny

      6789878767653

      Now quick, grab the sandalwood box!

  9. The answer is.... by woogieoogieboogie · · Score: 4, Insightful

    DOS.... who would have thought that something as simple as installing a real copy of DOS and some real mode drivers, or creating a real DOS bootdisk with real mode drivers would make playing an antique game easy on a modern OS.

    --
    ... Governments are instituted among Men, deriving their just Powers from the Consent of the Governed...
    1. Re:The answer is.... by IIRCAFAIKIANAL · · Score: 5, Funny

      Who wants to reboot to play a game?

      That would be like doing all your productive stuff in one operating system and all your game playing in anot-

      Uhm, nevermind.

      --
      Robots are everywhere, and they eat old people's medicine for fuel.
  10. Still pretty sure it won't work... by Hrothgar+The+Great · · Score: 5, Informative

    If you have a PCI sound card, I seriously doubt you will get this thing to work under Windows. There is some sort of ISA SB emulator available for Windows NT/2000 called VDMSound, but I'm still running lowly Windows 98.

    As about a billion other posters have already pointed out, however, Exult is a solution that is very nice, and does not have this limitation.

  11. as cheap as older pentium machines are by night_flyer · · Score: 5, Interesting

    why not just purchase one of those and install all the old games you love?

    pricewatch has a pentium 166 listed at 48.00 including shipping!

    --


    Thanks to file sharing, I purchase more CDs
    Thanks to the RIAA, I buy them used...
    1. Re:as cheap as older pentium machines are by The+Raven · · Score: 3, Informative

      Because original Ultima 7 runs like crap on anything FASTER than a 386.

      It had no speed limitations. It runs as fast as it can given the CPU, which means it is very fast on a 486, and unplayable on a Pentium.

      Having a new way to play that does not require a reboot, a second PC and monitor, etc, and also adds in speed limiting is a good thing.

      --
      "I will trust Google to 'do no evil' until the founders no longer run it." Hello Alphabet.
  12. Re:Wow Ultima 7! by Idolatre · · Score: 5, Interesting

    It may be an old game, but being able to run it on a modern OS is amazing, while running the more recent Ultima 8 on a modern OS wouldn't impress me at all.

    It was so complex to configure a working operating environment that could run Ultima 7, you had to understand the whole i386/MS-DOS memory model with all its hacks and subtleties just to run that game. Being able to start a game for the first time was the first quest of the game, even before that of solving the murder in Trinsic.

    I've always used Ultima 7 as a hardcore test when I try an emulator. If it runs Ultima 7, it must emulate every feature and bug of the i386 architecture/MS-DOS and passes the test, if it doesn't, it fails. I've only tried VMWare that passed the test (but with no sound), all others failed.

    Now thanks to Exult I don't really care anymore if an emulator can run Ultima 7 or not, but it's still a good way to check if an emulator does its work well.

  13. Not $2000 in 1992 by mikeplokta · · Score: 3, Insightful

    You're a little out of step on those hardware costs. I bought my first PC in 1991, the year before -- a 25MHz 486SX with 100MB disk, well above the spec you quote, for about $1200.

  14. We need a complete DOS machine emulator by Control-Z · · Score: 4, Interesting

    Someone who's a better system-level programmer than me needs to write a program that completely emulates an old DOS machine for gamers. You should be able to pick the virtual video card, memory, sound card, CPU speed (very important), and DOS version. Let each DOS .EXE have it's own settings so you don't have to muck around with them each time.

    I'd pay for software like that. Messing around with Moslo sucks.

    1. Re:We need a complete DOS machine emulator by compwiz3688 · · Score: 3, Informative

      Bochs?

      It's slow enough that WinME complains it's too slow to install (or maybe I didn't configure it right). The only problem is that sometimes it might emulate things a little to fast (1 second on the host computer may equal 5 seconds in the emulation).

      Somebody else suggested VMWare, which is ok, but I couldn't get the sound to work in DOS (and I'll know when it will work with my trusty must-have-a-sound-card-to-install game called Privateer 2).

      Virtual PC is another PC emulation, but I haven't tried it yet.

  15. Ultima 7 is not the best ultima game! by Veramocor · · Score: 3, Insightful

    People keep on talking about U7 being the best. Clearly Ultima 5 Warriors of Destiny is. U7 had no challenge element.

    At no time was i afraid of dying, unlike U5 where youd be low on food, and stuck in New Magincia with a shadowlord guaring the town. U5 had turned based combat, U7 had poor AI combat. U5 had real dungeoneos with levels, U7 had caves.

    Now pro U7, yes it has better graphics but just wait until the dungeon siege remake comes out. http://www.u5lazarus.com .

    --
    Veramocor
  16. Exult and U7run... by DrCode · · Score: 3, Informative

    For some reason, I'm a bit partial to Exult. But without U7run (the utility this story refers to), Exult would be a lot farther behind. U7 with U7run was often run to see how things were supposed to work in the original, since Exult is a complete re-implementation.

  17. Like some kind of "DOS box"? by Rayonic · · Score: 3, Informative

    Might I suggest you try out DOSbox then? It's still somewhat early in development (no protected mode games), but it's both promising and open-source.

  18. Still need another project by p24t · · Score: 3, Funny

    Does anyone know of a project to make Ulitma IX run under Windows?

    1. Re:Still need another project by Sycraft-fu · · Score: 3, Informative

      Oh man, if only I had mod points. :)

      I have no idea what their programmer though they were doing but U9 is SUCH a peice of crap. MY roomate and I bought it the DAY it came out. Now amazingly enough we did get it to run (I understand it didn't run on most systems with teh intial release) but it was SLOW. Even when the final patch came about, it was still SLOW. We both had systems that met or exceeded teh recommend specs in every way. and it still drug along.

      Also it was so 3dfx/Glide friendsly that is actually ran slower when I got a GeForce. finally now, with a P4 1.6 and a GeForce 4, I can run the game at acceptable speeds (though it still lags in some parts). Of course it crashes all teh time so what's the point? :)