Mindless
21 Apr 2005 23:51:56
Why LemEdit won't work under XP




Notice that on the first screenshot (Win98), there is a line that states " -MS Windows 04.0A detected. Drivers run in compatibility mode ...   Done." Also notice that this line is missing when LemEdit is run under XP (second screenshot).

Also, this program demonstrates that DOS applications can only detect Windows versions below XP. If it is run under Windows 98 it will tell you that "Windows is running." If it is run under XP it will tell you that "Windows is not running." This program genuinely tries to detect all versions of Windows.

Therefore if LemEdit could detect XP, it would probably run in compatablity mode. (The mouse would work.)
Conway
22 Apr 2005 14:05:35
Re: Why LemEdit won't work under XP
Okay, but what is that program, and how is it used?
Mindless
22 Apr 2005 18:59:56
Re: Why LemEdit won't work under XP
Basicly it's a compiled alteration of this      '$INCLUDE: 'QB.BI'
     
     DIM InRegs AS RegType
     DIM OutRegs AS RegType
     
     InRegs.AX = &H160A
     CALL INTERRUPT(&H2F, InRegs, OutRegs)
     
     IF OutRegs.AX = 0 THEN
           'Windows is running.
     ELSE
           'Windows is not running.
     END IF

The only changes are...
     a) changed first line to be compatable w/ QBX
     b) changed the two "Windows is..." lines so that they PRINT the message

Windows XP hides itself from this type of detection, which I think LemEdit uses.
Conway
22 Apr 2005 20:02:51
Re: Why LemEdit won't work under XP
So is it useful for running Lemedit in DOS?
Mindless
23 Apr 2005 01:25:41
Re: Why LemEdit won't work under XP
No, it's useful for proving my point.

To find the solution, you must first state the problem.
guest
23 Apr 2005 11:22:19
Re: Why LemEdit won't work under XP
Going upon your findings, I hacked my version of LemEdit to bypass the check and had LemEdit always run in compatibility mode.

To my surprise, it works!  I was able to get the mouse working after the change.  HOWEVER...

1) Although LemEdit now respond to the mouse, its response is very sluggish, at least on my particular machine.  It required extreme movements for me to get the cursor to move a small distance.  So usability is still very poor, but still, better than no mouse at all.

2) It seems to work best if you run LemEdit from a Command Prompt window.  If you try to run LemEdit directly by double-clicking from a Windows Explorer window, it will run and it will even show the "compatible mode..." message, but the "hardware timer" line will still fail every now and then.  This might also just be specific to my machine.

So anyway, we now have a start towards a possible solution in getting LemEdit to work under XP.  But just beause I got it to work on my machine doesn't necessarily mean anything, so all of you should try it out and see whether it works on your machine or not, and how usable your mouse was if you get it to work.

The hacked version of LemEdit can be downloaded at http://www.geocities.com/guestlevels/lemmings/lemedit2.zip.  I purposely renamed the program to lemedit2.exe just in case it works worse on your particular machine.  You definitely should keep your original copy of lemedit.exe around just in case.

I also have not yet tried it under DOSBox to see what happens.
guest
23 Apr 2005 11:40:24
Re: Why LemEdit won't work under XP
Now for the really good news:

LemEdit2 works perfectly under DOSBox!!!  Not only does the mouse work, but unlike running LemEdit2 directly, the mouse response is not sluggish at all.  On my machine the mouse is basically fully usable when runing LemEdit2 under DOSBox.

Thank you Mindless for your valuable information.  I can finally use LemEdit again!  :party:

As before, for the rest of you, please report if you have the same success as I do with LemEdit2.
Shvegait
23 Apr 2005 16:23:58
Re: Why LemEdit won't work under XP
:party:

YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSS!!!!

You sir, are a genius.


It seems a little sluggish in DOSBox, but I am not going to complain about that!

w0000000000000000000000t!!!

Time to go fix my pack :)

Edit: Under XP, my mouse doesn't move, but it responds to clicks. Under DOSBox, it is VERY slow when there are a lot of terrain pieces on the screen. I'll probably hold out until I go home in 2 weeks to work in LemEdit for real, but it's really cool that you can at least use it now! :) It might be slow just because of my computer though, I don't know...
Mindless
23 Apr 2005 19:03:11
Re: Why LemEdit won't work under XP
Going upon your findings, I hacked my version of LemEdit to bypass the check and had LemEdit always run in compatibility mode.

I would have done this myself, but I have no skills at disassembling/patching/whatever it is.

Anyway, I'm glad I can finally use LemEdit on my computer.
guest
23 Apr 2005 20:01:27
Re: Why LemEdit won't work under XP
Under DOSBox, it is VERY slow when there are a lot of terrain pieces on the screen.

Have you tried increasing the emulation speed?

Here's a snippet of the relevant info from the DOSBox readme:

CTRL-F7       Decrease frameskip.
CTRL-F8       Increase frameskip.
CTRL-F9       Kill dosbox.
CTRL-F10      Capture/Release the mouse.
CTRL-F11      Slow down emulation (Decrease DOSBox Cycles).
CTRL-F12      Speed up emulation (Increase DOSBox Cycles).

I found that using CTRL-F12 until "Cpu Cycles" gets above 10000 seems to help (the default was only 3000).  Of course the faster your machine is, the higher you can afford to get that number up to.  You'll have to experiment and see.  You can also try CTRL-F8 to increase the frameskip.

Oh, do the adjustments only AFTER LemEdit starts (eg. after it goes into graphics mode), otherwise it'll complain about the timer again.  Basically you need to get the "Cpu Cycles" to read somewhere near 3000 for the "timer test" to pass when LemEdit is initializing.

(Again, I've only tried everything I said on my machine; hope it helps!)
Conway
23 Apr 2005 21:46:14
Re: Why LemEdit won't work under XP
:party:

Guest and Mindless, this is an outstanding contribution to Lemmings fans worldwide! :D  It's very slow on its own, but in DosBox, with the emulation speed turned up to about 15000, it's near bloody perfect!

 Out of curiosity, how did you get it to bypass the OS check? :???:
guest
23 Apr 2005 23:13:40
Re: Why LemEdit won't work under XP
Out of curiosity, how did you get it to bypass the OS check? :???:

It's all thanks to that snippet of code that Mindless posted, particularly this one line:

CALL INTERRUPT(&H2F, InRegs, OutRegs)
So I basically searched in a hex editor for the bytes of the machine instruction for calling interrupt 2F (CD 2F), then took the surrounding few bytes and examine them in a debugger to see what the surrounding machine instructions do.

Then I changed a few bytes so that the call-interrupt instruction is skipped, and instead the program will always jump to the case where it thinks it detected Windows.  That's it!

All in all only 3 bytes were changed in the program.  Amazing what a world of difference 3 bytes makes!  B)
Shvegait
23 Apr 2005 23:18:04
Re: Why LemEdit won't work under XP
Thanks guest. It still runs a little sluggish with the increased number of cycles, but it's better. :)
guest
23 Apr 2005 23:21:50
Re: Why LemEdit won't work under XP
~ The Lemmings File Archive ~

That reminds me, Mindless:  since you manage that site, feel free to post either a link to or a copy of lemedit2.zip, when you get around to updating the site.
Mindless
24 Apr 2005 02:41:04
Re: Why LemEdit won't work under XP
Site updated.
DragonsLover
25 Apr 2005 12:29:11
Re: Why LemEdit won't work under XP
:thumbsup: Cool! I have to try this!
Steaver370
25 Apr 2005 13:01:35
Re: Why LemEdit won't work under XP
Cheapo is better than LemEdit anyway.
Leviathan
06 Jul 2005 22:34:34
Re: Why LemEdit won't work under XP
Now how in the world must I implement that code and where do I have to do that?

I can't run Lemedit2 in Dosbox at all (it says "needed .dat file could not be opened"),when I just run it in DOS it runs but the mouse is very very slow.
Mindless
07 Jul 2005 00:42:42
Re: Why LemEdit won't work under XP
perhaps you are mounting the wrong directory?
Isu
07 Jul 2005 11:37:58
Re: Why LemEdit won't work under XP
The same thing happens to me when I try to run LemEdit2 in DOSbox, and I'm pretty sure I'm mounting the right directory...
JM
07 Jul 2005 12:34:04
Re: Why LemEdit won't work under XP
I simply have no idea why Lemedit won't work under Windows XP.It wudn't run under XP for me.
guest
07 Jul 2005 13:09:13
Re: Why LemEdit won't work under XP
The same thing happens to me when I try to run LemEdit2 in DOSbox, and I'm pretty sure I'm mounting the right directory...

Odd.  Can you give a listing of what's in the directory?

Do you get the same problem with the original LemEdit?
DragonsLover
08 Jul 2005 17:04:12
Re: Why LemEdit won't work under XP
For me, it works well (I'm using Windows Xp of the school).

There's just a small bug that I've found: When I tried, for example, to open Mikepak00.dat, it said that it was not found. But, when I tried on Levelpak.dat, it was ok. So, I don't know what's the bug, but try to open the paks without using numbers and see.
guest
08 Jul 2005 17:28:03
Re: Why LemEdit won't work under XP
There's just a small bug that I've found: When I tried, for example, to open Mikepak00.dat, it said that it was not found.

That's because "Mikepak00" has 9 characters.  LemEdit is a DOS program so it can only handle filenames with at most 8 characters (eg. Mikepak0).

You need to rename the file to a shorter name.
DragonsLover
08 Jul 2005 17:45:33
Re: Why LemEdit won't work under XP
Oh... ok, this is not a problem!

That way, everything works perfectly for me!
Shvegait
08 Jul 2005 18:41:11
Re: Why LemEdit won't work under XP
That's because "Mikepak00" has 9 characters.  LemEdit is a DOS program so it can only handle filenames with at most 8 characters (eg. Mikepak0).


You should also try opening Mikepa~1.dat. (This is how later versions of DOS dealt with >8 letter names, by truncating the name and adding ~ with a number (starting at 1).)


Edit: I just tried it and this worked for me.
Dashwarts
09 Jul 2005 04:15:21
Re: Why LemEdit won't work under XP
On my PC (Modded Windows XP Pro with P4SD-LA motherboard and DOSBox 0.63) LemEdit runs, but it has a bug with the mouse (like the slow mouse bug) but on mine, even after activating the DOSBox mouse, the cursor just sits there, i tried all 3 types of my mice (Serial, PS2, wireless USB), and nothing happened every time.
Borg Number One
10 Jul 2005 22:23:08
Re: Why LemEdit won't work under XP
Hi.

The hacked LemEdit2 works really great in DOSBOX.
It is a nice 3Byte hack. :D


Well, long time ago I tried to figure out the compression which is used in the level files and in "adlib.dat" in different Lemmings games.


The tunes from "Winter Lemings"(Holiday Lemmings 1993) were successfully ripped by
Roman Dolejsi and its Multi Adlib format Player:
RDOSPLAY
http://sorry.vse.cz/~roman/dimension/rdos/rdosplay/
-->
http://sorry.vse.cz/~roman/dimension/rdos/rdosplay/rply021b.zip
-->
rply021b.zip
-->rply021b\FILES\LEM\*.LEM


If you run "Winter Lemings"(Holiday Lemmings 1993) in DOSBOX,
then you can dump the memory inside/of the emulation, with the help of DOSBOX*'s memory dumper.

After converting the ASCII memory dump to plain binary memory dump,
you should be able to find this HEX value "1C52".

Compare the bytes/ the data after the "1C52" HEX value with the .LEM tunes in the RDOSPLAY archive and you will see that they are equal.
-->That means, in the memory dump,
there are the three Adlib tunes of
"Winter Lemings"(Holiday Lemmings 1993).


However, "Oh no more Lemmings" seems to use a different "Sound Images"-Adlib Format.
In the memory dump I could not figure out the tunes.

But I could find really interesting strings:
"AdLib Music by Sound Images (c) 1991"

Ad-Lib Music/FX Driver - (c) 1991 Sound Images   Tel. 061 773 4541


                       ~ Lemmings ~


Press ...       A - Very cute
               B - Wacky
               C - Patronizingly happy
               D - The smiling blues
               E - Much joviality
               F - Not at all serious

            Shifted A-Q for Sound Effects


                Space - Fast Forward
                Enter - Stop Tune
                Escape - Quit


Does "Oh no more Lemmings" have a built-in Jukebox????


The strings are not in the VGALEMMI.exe?!??!!.
Even after unpacking the PKLite compressed executable.

The strings must be part of the compressed "adlib.dat" file.

Is there someone, who knows the file compression methods,
which are used in the early Lemmings games?


I think the author of LemEdit would know it,
but his homepage is not available anymore. :(


Can someone help?



*=You need the DEBUG release of DOSBOX to dump the memory inside the emulation.
Either you compile the DEBUG release by yourself or you get in contact with harekiet (Author of DOSBOX)
Mindless
11 Jul 2005 00:14:01
Re: Why LemEdit won't work under XP
guest
11 Jul 2005 18:57:17
Re: Why LemEdit won't work under XP
Press ...    A - Very cute
               B - Wacky
               C - Patronizingly happy
               D - The smiling blues
               E - Much joviality
               F - Not at all serious

Oh, that's neat, for the first time we find out the official names of those ONML tunes.  B)
Borg Number One
11 Jul 2005 21:31:45
Re: Why LemEdit won't work under XP
Hi.

@Mindless

Thank you very much for the unpacked adlib.dat,
but I have some questions:

1.)
How did you unpack the compressed adlib.dat?

2.)
http://bnobtc.pix-art.com/lemmings-memory-dumps.rar
-->
Why is the data inside the memory dump
(starting from offset 0x19870 HEX inside the memory dump)
different to your uncompressed adlib.dat.0 file?


For Comparision/general info:

The size of my (compressed) original adlib.dat in the "Oh no more Lemming" directory is 6894 Bytes and has this checksum:

CRC-16: 329E
guest
11 Jul 2005 21:58:17
Re: Why LemEdit won't work under XP
Why is the data inside the memory dump
(starting from offset 0x19870 HEX inside the memory dump)
different to your uncompressed adlib.dat.0 file?

I haven't looked into any of this, but keep in mind there's no guarantee that whatever's in memory will be an exact copy of what's in the file.  There can be post-processing done after the file is loaded and decompressed in memory.

Incidentally, where did you obtain your copy of ONML?
Borg Number One
11 Jul 2005 22:07:26
Re: Why LemEdit won't work under XP
Hi.

Reffering to "1.)"

How did you unpack the compressed adlib.dat to:
adlib.dat.0(http://it.travisbsd.org/lemmings/_misc/adlib.dat.zip)?


Reffering to "2.)"


Why there are differences between:

a)
http://bnobtc.pix-art.com/lemmings-memory-dumps.rar
-->memdump-ohnomorelemmings.bin
-->starting from offset 0x19870 HEX

b)
http://it.travisbsd.org/lemmings/_misc/adlib.dat.zip
-->adlib.dat.0

???
Borg Number One
11 Jul 2005 22:17:45
Re: Why LemEdit won't work under XP
Hi.


Many years ago, I build 1:1 dumps* from/of all my floppy disks.
The most of these disks were original disks.

ONML was one of the original disks.


Well, how did you build adlib.dat.0?
Did you also used the "memdump method"?
Borg Number One
11 Jul 2005 22:21:33
Re: Why LemEdit won't work under XP
Reffering to the previous post:

*=building disk images is better than just copy/backup the files,
because the most copy protections will be copied and "hidden" information like "DISK ID" or disk serial number will also be copied and backed-up.
guest
11 Jul 2005 22:50:17
Re: Why LemEdit won't work under XP
Hi.

Reffering to "1.)"<snip>

Rather than double-posting your questions, may I suggest you have a quick read of [u]this post[/u].  ;)

This provides a possible answer to question #1.  It is also why I mentioned that your memory dump doesn't necessarily match the decompressed contents of adlib.dat.  You have no idea (or do you) what exactly transpired between the time adlib.dat was loaded from disk and what happens at the time you did your memory dump.
Borg Number One
11 Jul 2005 23:11:24
Re: Why LemEdit won't work under XP
Hi.

Thank you very much for the lemmings decompressor / lemmings unpacker / lemmings dat file unpacker / lemmings dat file uncompressor.
http://it.travisbsd.org/lemmings/files/lemleveldecompressor.zip

It also works great with the adlib.dat in different Lemmings games.


Now, the research about the "hidden jukebox" and the different "Sound Images"-Adlib tune formats can begin.

It would be really great if "Sound Images" (Tony Williams) will be supported by ADPlug, someday.
Borg Number One
11 Jul 2005 23:18:42
Re: Why LemEdit won't work under XP
Hi.


PS:
Who is ccexplore?

Google results are just about a file manager, if I look for: "ccexplorer".

If I look for: +"ccexplore" +"lemmings", then I just get results about/by the Author of Clones.
http://www.tomkorp.com/clones/index.asp
Borg Number One
11 Jul 2005 23:21:12
Re: Why LemEdit won't work under XP
I meant:

[...]if I look for: "ccexplore"[...]
guest
11 Jul 2005 23:46:12
Re: Why LemEdit won't work under XP
It would be really great if "Sound Images" (Tony Williams) will be supported by ADPlug, someday.

Hm, Tony Williams is one of the game programmers of Lemmings, I think listed in the credits specifically for the PC music.

It's hard to tell from the copyright text alone, but it seems like "Sound Images" might be a custom format they made just for Lemmings.  (Well, it could also be used for other games I suppose, I don't know.)   I know nothing about ADPlug so I don't know how easy or hard it would be to get someone to support a file format that only one or a few game uses.

Incidentally, you can capture the raw OPL commands (the commands sent to the sound card to synthesize the music) from DOSBox, I think it's Ctrl+F7?  (lookup the DOSBox readme).  Unfortunately, while I know the format of the capture files, I don't know any standard formats out there for adlib music, so as of now I won't be able to convert anything.
Borg Number One
11 Jul 2005 23:55:13
Re: Why LemEdit won't work under XP

Oh, that's neat, for the first time we find out the official names of those ONML tunes.  B)


With the help of "guest" and its post (12:50am)
and with the help of Mindless' tool: lemleveldecompressor,

I could get the music / tune strings from
Lemmings
(Copyright 1991 Psygnosis Ltd (C)MCMXCI Psygnosis Ltd.)
in a faster way then building a memory dump.



Here are the results:

Lemmings - tune list:

Ad-Lib Music/FX Driver - (c) 1991 Sound Images   Tel. 061 773 4541


                       ~ Lemmings ~


Press - A - Awesome             L - Tim1
       B - BeastI              M - Tim2
       C - BeastII             N - Tim3
       D - CanCan              O - Tim4
       E - Doggie              P - Tim5
       F - Lemming1            Q - Tim6
       G - Lemming2            R - Tim7
       H - Lemming3            S - Tim8
       I - Menace              T - Tim9
       J - Mountain            U - Tim10
       K - Ten Lemmings

       Shifted A-Q for Sound Effects

                        Space - Fast Forward
                        Enter - Stop Tune
                       Escape - Quit
Borg Number One
12 Jul 2005 00:21:14
Re: Why LemEdit won't work under XP
Hi.

Talking about Tony Williams and its developed "Sound Images / Sound Images 2 / Sound Images II" formats:

It seems to be that there are many different "Sound Images"-formats & -versions.

The Sound Images Format(s) in Amiga Games are already well known and can be played with Delitracker/DeliPlayer/EaglePlayer.
http://amiga.emucamp.com/wt/players.html
http://amiga.emucamp.com/wt/examples.html
http://exotica.fix.no/tunes/unexotica/formats/Sound_Images.html


But they are really different to Tony's "Sound Images"-formats,
which he developed for the PC.

Games like DIZZY, Volfied, Lemmings, ..., Lemmings 3D use
different versions/modifications of the Sound Images format,
if you view their in-game/music files in a HEX editor.


Talking about Adlib grabbing:

I know the possibility of DOSBOX' feature to grab the RAW OPL commands,
because it was my idea to add such a feature to DOSBOX.

The whole grabbing theme and RAW format was  originally from:
Roman Dolejsi, who introduced the RAW-Adlib- format and
who built "RAC" - a small Adlib grabber for DOS.

Harekiet - the author of DOSBOX was enjoyed about my idea,
modified the RAW-format a litle,
named it "DRO" (DOSBox Raw OPL Format)
and added the RAW-Adlib Grabbing feature.


However, there are some problems:
a)
The feature does not work perfectly.
In many cases the first RAW Adlib commands will not be grabbed.
So, the .DRO file sounds crazy and stupid.

b)
Cutting the .DRO file to a decent tune is really difficult.
guest
12 Jul 2005 01:11:29
Re: Why LemEdit won't work under XP
However, there are some problems:
a)
The feature does not work perfectly.
In many cases the first RAW Adlib commands will not be grabbed.
So, the .DRO file sounds crazy and stupid.

b)
Cutting the .DRO file to a decent tune is really difficult.

Well, at least for the ones captured from ONML, they were complete enough for me to convert them to MIDIs (well, the notes that is, I obviously cannot convert instruments).

In fact, I think I posted here somewhere a quick program I wrote that can playback the DROs.  The playback is indiscernible from the original as far as I can tell.  One nice thing about Lemmings is that it doesn't play music continuously throughout the game, it only plays every time you start/restart a level, and then it even gives you time to prepare since the music only starts after the entrance opens.

It's probably not going to work for every DRO out there, but as I said it seems to work just fine for the Lemmings tunes.  And properly clipping the tune will still have to be done "by hand/ear" in some manner.
guest
12 Jul 2005 01:17:04
Re: Why LemEdit won't work under XP
In fact, I think I posted here somewhere a quick program I wrote that can playback the DROs.

I found the post, here we go:

http://eng-forum.lemmingswelt.de/cgi-bin/yabb/YaBB.cgi?board=level_id;action=display;num=1115137024;start=41#41
Borg_Number_One
12 Jul 2005 20:27:21
Re: Why LemEdit won't work under XP
Isu
13 Jul 2005 00:21:41
Re: Why LemEdit won't work under XP

Odd.  Can you give a listing of what's in the directory?

Do you get the same problem with the original LemEdit?

It's okay. I just read the DosBox Readme, it said I could drag the file I want to open onto the DosBox exe. That I did, and it worked (Lemedit2 that is).

Everything is fine. :thumbsup:
Mindless
13 Jul 2005 00:54:25
Re: Why LemEdit won't work under XP
adding a "Send To" link is a good alternative to drag-n-drop
Conway
13 Jul 2005 18:53:50
Re: Why LemEdit won't work under XP
Or even better, does anyone know how to add functions to the context menu of DOS programs, such as opening it in Dosbox? It should be in the system registery, but where?
guest
13 Jul 2005 21:16:00
Re: Why LemEdit won't work under XP
Or even better, does anyone know how to add functions to the context menu of DOS programs, such as opening it in Dosbox? It should be in the system registery, but where?

I don't think it's quite that simple.  Then again, I never tried.

Is there a way to tell DosBox to execute certain commands upon launching?  After all you need it to mount c: first before you can run anything of interest.

If that's possible then it's just a matter of making a shortcut for DOSBox.
Mindless
14 Jul 2005 00:18:31
Re: Why LemEdit won't work under XP
using a "Send To" link automatically mounts the directory of the application as c:
the only thing that this doesn't do well is Custom Lemmings which requires a cdrom to be mounted
Conway
14 Jul 2005 00:31:42
Re: Why LemEdit won't work under XP
I've created a registry hack to add DOSBox to the context menu of applications. >Download!<

 It works in XP, not sure about the other systems, but it's really only XP users who need DOSBox. If you have a different version of DOSBox, or it is installed somewhere other than C:\Program Files, you can change the path by editing the .reg file in notepad.

 Let me know if for some reason it doesn't work or you don't want it but don't know how to remove it.
guest
14 Jul 2005 10:01:26
Re: Why LemEdit won't work under XP
using a "Send To" link automatically mounts the directory of the application as c:
the only thing that this doesn't do well is Custom Lemmings which requires a cdrom to be mounted

Can't that be taken care of with a batch file?  (I haven't tested this though.)
Mindless
14 Jul 2005 12:41:59
Re: Why LemEdit won't work under XP
probably.