GM8 and GMS Game Differences 2- No Illegal Stuff

Discussion in 'Legacy GameMaker Community Tech Support' started by GusCE6, Jun 19, 2019.

  1. GusCE6

    GusCE6 Member

    Joined:
    Jan 31, 2018
    Posts:
    23
    Well, since the original thread has sort of been closed down we'll try again here, hopefully not violating any rules (hopefully). Again remember I have both the Windows and Linux versions of "Undertale," both legit. If piracy was my goal that would be stupid- why bother when anyone can already download pirated versions easily from so many places?

    In any case to avoid clutter moderators should just delete that thread and let this one take over. I have it downloaded.

    For anyone unfamiliar with the original thread: I am trying to get the full version of "Undertale" running on an old laptop.

    The idea here is part of an overall effort to push old harware beyond what seem to be normal limits. This effort has been very successful with online efforts and a number of apps and games. The laptop in question is a 2001 Sony VAIO. Its basic specifications are as follows:


    *2001 Sony VAIO Pentium 3 Intel Integrated chip laptop.
    *Operating System: Windows XP Home Edition SP3/Puppy Linux 5.2.5 Lucid.
    *256MB RAM (this is maximum).
    *800MHz processor.
    *Plenty of room to stash the game itself.
    *1024h x 768v resolution with 16 or 24 Bit color.
    *DXDIAG indicates DirectX 9 installed but this is questionable, hence the use of SwiftShader or 3D-Analyze.
    *DXDIAG indicates 4MB video RAM, but this has not been a problem with numerous games, like "Farm Frenzy" (64MB VRAM) or "Plants Vs. Zombies: GOTY." SwiftShader seems to greatly help with this as well when it works.
    *It is a "Dual Operating System" device, hence the two Operating Systems. This is NOT emulation, it runs as one or the other. The Linux version of "Undertale" fails to run in Puppy Linux mode even though GLIBC 2.20 is installed; the game will not even install- after the EULA screen the computer screen goes black and even after eleven hours nothing changes.


    There are three "primary" games I am trying to get running: "Foxtail" (now running), "Mystery of Mortlake Mansion" (almost), and "Undertale." I am NOT trying to get games for Vista or higher running, and with Linux it's just hit or miss.


    Since this will come up again this is SwiftShader: it is a software based rendering solution, in the case of 2.1 three files: 'd3d8.dll,' 'd3d9.dll,' and 'SwiftShader.dll' for testing and fine-tuning. It intercepts a game's rendering calls to do the tasks itself, often filling in missing gaps. This is how it gets games (and maybe an app or two) running on computers that they ordinarily wouldn't work on. 3.0 is overall superior to 2.1 but cannot help with DirectX 8 and needs SSE2 so it's useless for pre-Pentium 4 devices. SwiftShader 2.1 has been a blessing for that old Sony, especially when it got "Foxtail" running!

    3D-Analyze is an application from the early 2000s. You run a game through it; what it does is fool the game into thinking what it wants is there (e.g. a particular GeForce card). You can cancel things like all rendering, texturing, lighting, and other aspects. It does grant certain real abilities, such as boosting a computer's DirectX up one step (so DirectX 8 to DirectX 8.1). It was meant mainly for computers that were just a little short on requirements or for fussy games on otherwise powerful enough devices. This application was useful for determining that "Land of Runes" uses OpenGL instead of DirectX in spite of what the specs say. It has absolutely no effect on "Undertale" which is very, VERY strange.

    Interesting Facts:

    1) "Undertale Demo:" 3D-Analyze has full effect. SwiftShader 2.1 causes it to slow and freeze. Being a DirectX 8 game SwiftShader 3.0 has no effect. Works fine on the Sony.

    2) "Undertale Full:" 3D-Analyze has no effect. SwiftShader 2.1 causes it to never even start; SwiftShader 3.0 works perfectly. Does not work on the Sony.

    3) "Undertale: Yellow:" Absolutely identical to "Undertale Full" in how it behaves.

    4) "Underfell:" Neither 3D-Analyze nor either SwiftShader has any effect at all. Works fine on the Sony.


    The obvious reason for trying to get a full as in ALL details comparison list between GM8 and GMS games is because "Undertale: Demo" made with GM8 works while the Full version made with GMS does not. Therefore the problem is almost certainly there. How are the Demo and Full versions different? What do they need? A comparison between the two games themselves would still be best though.


    rlKmAN: You made a good, logical enough suggestion, but...believe it or not I was directed right back here! Thanks anyway though, maybe Reddit can help as suggested elsewhere. Who knows, maybe Toby Fox himself can help, but he must be flooded with e-mails.

    As for you nacho_chicken, perhaps YOU missed the part about "it would be different?" Someone could program an NES, Commodore-64, or heck even a ColecoVision (with today's technology) cartridge version of "Undertale;" they would suffer from obvious limitations but overall the gameplay would be intact. "Undertale" on the NES would be similar in ways to "Earthbound;" yes the music and visuals would be weaker (again "different") but assume it is created and it is the only version my old laptop can run via an emulator- here's a logical test:

    Which is better?

    1) An NES version with all the NES limitations or

    2) Nothing at all.

    I am well aware that an NES version isn't going to be a perfect clone. Quite frankly an MS-DOS version or a GM8 version would be great but how likely is that? I've been tinkering around with computers since the days of the Vic-20 and cassette drives so I'm well aware of different versions and limitations. That's the whole point of this thread: differences.


    Incidently I saw a video of someone who managed to get "Undertale" Full running on a Windows 98 computer. Something called "Kernelex" was involved, but however it was done it was still done.


    Since apparently any effort to create a GameMaker 8 version of "Undertale," even strictly for personal use on an antique, cannot be discussed here we'll try the direct approach.

    First, I found this about GMS itself:

    <i>"GameMaker: Studio requires a reasonably modern PC running Windows XP, Vista, 7, or later. A DirectX 9 (or later) compatible graphics card with at least 32MB of memory is required for most created games. It requires a screen resolution of at least 1024x768 and 65536 (16-bit) colours (but preferably 32-bit true colour). Also a DirectX 9 compatible sound card, or integrated sound chip, is required. It is always recommended that you make sure you have the most recent drivers installed for your system.

    GameMaker: Studio requires DirectX version 9.0 or later to be installed on your computer. When designing and testing games, the memory requirements can be pretty high (at least 128 MB* and preferably more, but this depends on the operating system). <b>When just running games, the memory requirements are less severe and depend a lot on the type of game as well as the resources being used.</b>
    NOTE: Although most modern PCs ship with DirectX 10 and higher, this does not mean that DirectX 9 is present on your machine, and you should still install it from the link given above!"</i>

    * As in RAM? Seems rather low, too low to be "pretty high."


    Now here's the thing, as "Monk" would say: "Windows XP, Vista, 7, or later. A DirectX 9 (or later) compatible graphics card with at least 32MB of memory. Screen resolution of at least 1024x768 and 65536 (16-bit) colours (but preferably 32-bit true colour). Also a DirectX 9 compatible sound card, or integrated sound chip."

    Especially with SwiftShader 2.1 these bases should all be covered! Games such as "Inherit the Earth: Quest for the Orb," "Plants Vs. Zombies: GOTY Edition" and "Elementals: The Magic Key," which have too-heavy-for-the-Sony requirements, do work- although going by Sony vs. game specs they shouldn't. SwiftShader apparently covers extra RAM requirements, extra testing does imply this.

    Now for this new thread here is a partial list of games and such that SwiftShader 2.1 has gotten running: "Foxtail," "Inherit the Earth," "Farm Frenzy," "Elementals: The Magic Key," "Deepica," "Plumeboom: The First Chapter," "The Golden Path of Plumeboom," "Ancient Wonderland," "Mythic Pearls (90%)," "Wizard's Curse: Deadly Spell," "Fiber Twig Midnight Puzzle," the SCUMMVM application so "LOOM" and "MYST: Masterpiece Edition," "Sid Meier's Pirates! 2K (but with serious problems)."

    The application 3D-Analyze has gotten "Running Sheep Tiny Worlds," "Running Sheep (Aliens)," and "Sid Meier's Pirates! 2K (80%)" running.

    The truly weird part is how 3D-Analyze simply has no effect on "Undertale." If running "Undertale" through 3D-Analyze you should be able to make various adjustments, including the ability to stop any rendering but nothing, absolutely nothing, affects "Undertale." This is the only game I've seen that does this.

    The problem here could be as simple as a missing or wrong DLL file somewhere. With "Foxtail" the biggest problem was a v3.17 version of a DLL file; replacing it with a v3.15 or the superior v3.18 made everything work nicely.

    The game does work on XP computers according to other sites and comments. To my knowledge all drivers have been updated as much as possible for XP Home Edition. The game does not seem to need SSE2. Note however that this was a used laptop and there is a chance the Operating System may have been a bit "messed up," so maybe a particular file the game needs was damaged or removed.

    The error code given is "c000001d." This is usually not a good sign but it can mean too many things to zero in on.

    It should be noted that "Foxtail" by all rights should have run on the Sony from the get-go, but the "FreeImage.dll" file needed replacing (v3.15 instead of v3.17), and it had to be directed to "direct3d," so SwiftShader 2.1 could affect it. Obviously the Sony's OpenGL, which "Foxtail" uses by default, was not good enough. The error message was usually "c0000005" but in one situation was "c000001d." This is the only time something that gave that message did finally work- but it proved that it can be done.

    A real concern is trying SwiftShader 3.0, which does play nice with "Undertale." Since it requires SSE2 it cannot work on a Pentium 3 laptop and you get an error message telling you this. With "Undertale" all you get is that "sorry for the inconvenience" (yeah, sure) error window. This means the game is not even getting far enough to try to use SwiftShader.

    It seems pretty certain that if "Undertale" can be made to run then "Undertale: Yellow" will run too, and no doubt other GMS games. The grim version "Underfell" works.

    So what are the differences between Demo and Full versions? Why does "Undertale" bypass 3D-Analyze? That would be a legit start. Bits and pieces of info are welcome. I just can't shake the feeling that the answer to running the game is a simple one.

    And again: all efforts here are going to be legit, if any future GameMaker 8 efforts are tried it'll be with the help or consent of Toby Fox himself. So don't worry.

    I have the process monitor readouts for "Undertale" if that will help.
     
    Last edited: Jun 19, 2019
    00.Archer likes this.
  2. nacho_chicken

    nacho_chicken Member

    Joined:
    Jun 21, 2016
    Posts:
    330
    Unless you create it yourself, an NES version of Undertale will never happen. Ever. Neither will a ColecoVision version, nor C64, nor Amstrad. You keep bringing it up as if it's a possibility when it's not. I know exactly how much effort it would take to create what you're suggesting, and it would appear you do not. The people who have the skills to write programs for these obsolete systems (myself included) would never spend several years' worth of free time performing difficult and grueling labor programming an extremely systems-diverse game in assembly language creating something they don't have any rights to. That's not to mention the limitations of those systems would require changing game mechanics at the most basic levels. It would only moderately resemble Undertale.

    Forget a port of this scale. It's not feasible. Sans will sooner be in Super Smash Bros. than an NES "port" of Undertale will exist.
     
    rIKmAN and Catan like this.
  3. GusCE6

    GusCE6 Member

    Joined:
    Jan 31, 2018
    Posts:
    23
    nacho_chicken: Over and over, yet again why don't you get what I'm saying? First of all, there are expert fans of older systems perfectly capable of creating such versions, so in theory yes it could happen if they like "Undertale" enough and could get permission; it would be a labor of love and if it took twice the effort you talk about it would make no difference. THAT WAS NOT THE POINT, it was an example ("assume it is created," not "when it is created"- see the difference?) of what I would consider acceptable if nothing else existed for that laptop. I have a ColecoVision so if Opcode ever got permission to and did create a CV version I would simply buy that version, the Sony and BlueMSX wouldn't be a factor. Yes, he could most certainly do it. Again, that wasn't the point. Obviously what I want to do is get the actual version running on that laptop.

    You would likely have said that a Windows 98 computer could not run the game- but somebody did. I've seen somebody get a 1986 Apple monochrome computer online in this decade. So getting "Undertale" running on that Sony is not as far-fetched as you think. It could be as simple as a missing file for all I know; Service Pack 2 was never installed, just 1 & 3, so is it possible something is missing from the OS?

    Now, if you know so much about these sort of things how about telling me something useful instead of wasting my time- like giving a full list comparison between what GM8 and GMS games need? Once I have that at least I'll have a starting point, and it will be appreciated.
     
    Last edited: Aug 14, 2019 at 8:07 PM
  4. GusCE6

    GusCE6 Member

    Joined:
    Jan 31, 2018
    Posts:
    23
    UPDATE:

    Recently, under some peculiar circumstances, I ended up with a 2003 Dell Inspiron 2650 laptop. Like the 2001 Sony VAIO it has 256MB RAM (virtual settings standard), 1024h x 768h resolution set at 16-Bit, and Windows XP Home Edition; however unlike the Sony it has a GeForce2 Go graphics chip with Nvidia drivers (from around 2003) and only Service Pack 2 installed (the Sony has Service Pack 3). Its processor is Pentium 4 at 1.6GHz; the Sony has Pentium 3 at 800MHz. According to DXDIAG video memory is 8MB.

    This is significant because the Dell has important things in common with the Sony, unlike the much more powerful ASUS.

    "Undertale" runs on the Dell. It has fouled-up graphics, but it runs- and once SwiftShader 3.0 OR 2.1 is dropped in with the EXE file it runs perfectly except it is slower (but not severely).

    All right, then- this absolutely proves that "Undertale" runs on something with XP Home Edition and 256MB RAM. Plus, the game can run on an old laptop.

    Now, recently I tried to update the Sony's graphics driver. The most recent I have found is from 2002 so far. The only noticeable differences are: the "Running Sheep" games are not as visually glitchy as before (but they still need 3D-Analyze) AND according to DXDIAG the video memory has gone from 4MB to 32MB.

    "Undertale" still does not run on the Sony. None of the games that failed to run before will run now. "Undertale," "Mystery of Mortlake Mansion," "Panda Chunky," "Luxis," "Brave Furries," they run on the Dell but not the Sony.

    It would seem as though there are two possible factors:

    1) The hardware. Intel(R) 82815 Graphics Controller, chip type: Intel(R) 82815. If this somehow is the problem then barring some software answer (e.g. akin to SwiftShader) the game will never run unless someone does cook up a GameMaker 8 or MS-DOS version (if 1994's "Inherit the Earth" is any indication then a good version is quite feasible and it would run on almost anything- DOSBox is a superb application).


    2) A defect in the Operating System. It could be a missing file, a corrupted file, or even maybe something having to do with the Registry. I tried using a Process Monitor but...it didn't work. C000001D error message. But it's supposed to work on XP Service Pack 2+.



    The Dell proves those games and app do work on XP and old hardware.


    Now, there are a number of games and at least one application- SCUMMVM- that only run on the Sony because of SwiftShader 2.1. As mentioned before SwiftShader is a "software based rendering solution." It intercepts a program's rendering calls and handles them itself. "Foxtail" and "Elementals: The Magic Key" are two examples, but all these cases are "C0000005" error messages or a lack of something- not "C000001D."

    "C0000005" means accessing some forbidden memory location. "C000001D" means illegal instruction. So "Undertale" and those other programs are trying to get the Sony to do something "illegal," i.e. something it cannot do. But the Dell can. Yet it has the same Operating System and the same RAM.

    SwiftShader obviously is able to compensate for the Sony's weaknesses in a number of cases, such as with "Foxtail." But it is unable to do anything about the "C000001D" cases. Likewise 3D-Analyze.

    So- is it the Sony's graphics chip or some flaw in the system somewhere that prevents not only "Undertale" but those other programs from working? I am becoming convinced that there is a common problem with all of these things; solve one and maybe all will be solved.


    Note that the game never even gets far enough to try and use any "D3D9.DLL" file be it SwiftShader or the Sony's own.





    Incidently, here are the specifications given for GameMaker Studio:


    GameMaker: Studio requires a reasonably modern PC (does 2003 count as "reasonably modern?") running Windows XP, Vista, 7, or later. A DirectX 9 (or later) compatible graphics card with at least 32MB of memory is required for most created games. It requires a screen resolution of at least 1024x768 and 65536 (16-bit) colours (but preferably 32-bit true colour). Also a DirectX 9 compatible sound card, or integrated sound chip, is required. It is always recommended that you make sure you have the most recent drivers installed for your system.

    GameMaker: Studio requires DirectX version 9.0 or later to be installed on your computer. (You can download this version of DirectX from the Microsoft website at: http://www.microsoft.com.) When designing and testing games, the memory requirements can be pretty high (at least 128 MB and preferably more, but this depends on the operating system). When just running games, the memory requirements are less severe and depend a lot on the type of game as well as the resources being used.


    So if the game requirements are similar then they should work. The Sony now seems to have those specifications.


    Here is a list of games and apps that only work on the Sony because of SwiftShader 2.1 or 3D-Analyze(*):

    Foxtail

    Inherit the Earth (EXE version)

    Deepica

    The Golden Path of Plumeboom

    Plumeboom: The First Chapter

    Farm Frenzy

    Sid Meier's Pirates! 2K*

    Running Sheep: Tiny Worlds*

    Running Sheep (Aliens)*

    Elementals: The Magic Key

    Wizard's Curse: Deadly Spell

    Ancient Wonderland

    Mythic Pearls

    Fiber Twig Midnight Puzzle (Fiber Twig 2 works by itself)

    SCUMMVM and so:

    MYST (GOG)

    LOOM (Steam)


    Now, consider this: the old Sony CANNOT run these things without SwiftShader 2.1 and 3D-Analyze. Something is wrong. These two things can obviously compensate for that flaw- but what is that flaw?The "C000001D" error is likely a different factor, although it may also be causing the "C0000005" error message in those cases.

    Now, off to try and find a Process Monitor that DOES work on the Sony...
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice