![]() |
|
|
#1 |
|
Registered User
Join Date: Aug 2006
Location: England
Posts: 151
|
xdms 1.3.2
Has anyone compiled xdms 1.3.2 for win32/dos cmd?
I've had a look and can't get the makefile to run with mingw32, tried manually creating the object files but it looks like there are a few defines to fix etc. Wondered if anyone had compiled it? http://zakalwe.fi/~shd/foss/xdms/ Q; |
|
|
|
|
|
#2 |
|
[Satan^God]
|
wow, new "Added an option for salvaging broken DMS images"!
This is exactly what i coded into another dms unpacker to depack broken images beyond the dms-error! See here: http://eab.abime.net/showthread.php?t=24636 I'll try to compile this new (unofficially) xdms version... |
|
|
|
|
|
#3 |
|
Registered User
Join Date: Jan 2004
Location: Toronto / Canada
Posts: 59
|
Try running "./configure" from bash within Cygwin. That will build Makefile from Makefile.in. If you don't have Cygwin, I can post the output.
One small problem I ran into is that mkstemp doesn't appear to be in MinGW. Deprecated POSIX function perhaps? mkstemps is defined in %MINGW%\lib\libiberty.a, and a quick glance of the GNU mkstemps suggests that mkstemp(p) is equivalent to mkstemps(p,0). So change, lines 288-289 from: strcpy(tname, "/tmp/xdmsXXXXXX"); fd = mkstemp(tname); to: strcpy(tname, "xdmsXXXXXX"); fd = mkstemps(tname,0); (unless you have a writeable /tmp directory). Then modify your Makefile (or makefile.in before running ./configure) in the src directory to link with libiberty.a: xdms: $(OBJS) $(CC) $(LFLAGS) $(OBJS) -liberty -o $@ The resulting binary successfully unpacked a DMS. |
|
|
|
|
|
#4 |
|
[Satan^God]
|
ah yes, that is exactly the reason why i modified a different dms-unpacker and not the xdms source coz it's not easy portable. I wasn't able to compile it and have no motivation to fix this because there are other dms-unpacker with sourcecode in portable C out there on Aminet...
If someone was able to build a win32 or dos executable please zone it for us. Thanks! |
|
|
|
|
|
#5 | ||
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
Quote:
Next version (hopefully released soon) will have the fix. |
||
|
|
|
|
|
#6 | |
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
|
|
|
|
|
|
|
#7 |
|
[Satan^God]
|
I used undms 1.3 (12.2.98) from Aminet.
Seems it is based on the xdms source, at least Andre Rodrigues de la Rocha is mentioned for his help. It is portable C, i was able to compile it without any needed modifications using Visual C for Windows. Not as mighty as the xdms original but maybe usefull if you want it portable for other platforms. shd, can you tell us more about "the salvaging broken DMS images" function of your xdms version? How does it work? Does it skip the broken track? Can it handle all kind of dms-errors? etc. It's very good to have this feature since there are a lot of broken dms images out there! ![]() |
|
|
|
|
|
#8 | |
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
|
|
|
|
|
|
|
#9 | ||
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
$ uname MINGW32_NT-5.1 failed to compile a version having mkstemps(). Quote:
As far as I know, mkstemps() only depends on #include <unistd.h> and that header file is included from xdms.c. |
||
|
|
|
|
|
#10 | |||
|
Registered User
Join Date: Jan 2004
Location: Toronto / Canada
Posts: 59
|
Quote:
Quote:
Quote:
|
|||
|
|
|
|
|
#11 | ||
|
Registered User
Join Date: Jan 2004
Location: Toronto / Canada
Posts: 59
|
Quote:
> gcc --version gcc (GCC) 3.2.3 (mingw special 20030504-1) Old, but I can't upgrade it for compatibility with other projects. I have no idea of the status of mkstemp/mkstemps on systems. It could well be that mkstemps is the deprecated function. Darwin seems to support both, so perhaps I should switch after all. :-) http://developer.apple.com/documenta...kstemps.3.html Quote:
http://zakalwe.fi/~shd/foss/xdms/ Could you provide a pointer? Thanks! |
||
|
|
|
|
|
#12 |
|
Registered User
Join Date: Aug 2006
Location: England
Posts: 151
|
Wow, looks like I got a bit of interest rekindled here.
Is there any way that xdms could be updated in the future to allow unpacking of , for example, a trainer dms or patch over an existing adf file? This would reduce the need of firing up winuae to apply a dms patch to a disk image? Is this possible? Q; |
|
|
|
|
|
#13 | ||
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
Quote:
Code:
$ cvs -d :server:uadecvs@zakalwe.fi:/home/cvs/uade-cvsroot login $ cvs -d :server:uadecvs@zakalwe.fi:/home/cvs/uade-cvsroot co xdms $ cd xdms |
||
|
|
|
|
|
#14 | |
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
|
|
|
|
|
|
|
#15 | |
|
Registered User
Join Date: Jan 2004
Location: Toronto / Canada
Posts: 59
|
Quote:
As to uname, MinGW on its own is a port of GCC and friends, so one gets: Code:
a2dll dsw2mak mingw32-g++.exe redir.exe addr2line.exe exchndl.dll mingw32-gcc.exe reimp.exe ar.exe g++.exe mingw32-make.exe res2coff.exe as.exe g77.exe mingwm10.dll size.exe c++.exe gcc.exe nm.exe strings.exe c++filt.exe gccbug objcopy.exe strip.exe cpp.exe gcov.exe objdump.exe unix2dos.exe dlltool.exe gdb.exe pexports.exe unprotoize.exe dllwrap.exe gprof.exe protoize.exe windres.exe dos2unix.exe ld.exe ranlib.exe drmingw.exe mingw32-c++.exe readelf.exe Code:
CYGWIN_NT-5.1 Code:
WindowsNT If you want a test for MinGW, you could use: Code:
mingw=$(gcc --version |grep -i mingw32) Code:
gcc (GCC) 3.2.3 (mingw special 20030504-1) |
|
|
|
|
|
|
#16 | |
|
[Satan^God]
|
Quote:
![]() May i suggest "a" as command for "apply DMS archive to existing disk image" or something like this. -> xdms a xxxxx.dms +yyyyy.adf Ofcourse the name of the adf image is not optional anymore with this function. I've included a dms image and a crackfix also as dms for a game released by Paradox for testing. @poohbear: I hope you can manage it to give us a Windows/dos version! ![]() |
|
|
|
|
|
|
#17 | |
|
[Satan^God]
|
Quote:
![]() |
|
|
|
|
|
|
#18 |
|
[Satan^God]
|
ok, here are some defect dms images for testing.
included are: flt-cup.dms : dms error#8 on track24 grandnt2: dms error#8 on track42 ->nasty errors, of you "test" the image with original dms or xdms the test shows no error but if actually depacked you'll get an error! I've unpacked this images already with my modified undms V1.3 version, of course with some errors (bytes not original) on the erroneous track but the tracks that follow are rescued. Please try also with your xdms 1.3.2 version. next one is a dms-error i could not depack beyond the error: theunt01.dms : dms error#6 on track 6 ->"test" dms-image will show this error and you cannot depack beyond track 6. I hope your xdms version can depack this one! |
|
|
|
|
|
#19 |
|
RIP Friends
Join Date: Sep 2005
Location: UK
Posts: 2,157
|
This thread deserves to be in Coders Heaven forum, so thread moved
![]() |
|
|
|
|
|
#20 | |||
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
Quote:
Quote:
Please checkout the new version and see if it works now. |
|||
|
|
|
|
|
#21 | |||
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
Quote:
Quote:
Please checkout and try the new version. |
|||
|
|
|
|
|
#22 | |
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
|
|
|
|
|
|
|
#23 | |
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
|
|
|
|
|
|
|
#24 |
|
Registered User
Join Date: Jul 2005
Location: -
Posts: 1,119
|
I guess I like to use the traditional dms for patches as it displays ASCII and bitmap gfx that the packed file has. I can see how xdms might be able to display ASCII, but not easily the bitmap gfx.
|
|
|
|
|
|
#25 |
|
Registered User
Join Date: Aug 2006
Location: England
Posts: 151
|
Thanks for upping the test files Adderly, you beat me to it!
![]() I didn't know a dms file could include actual gfx stuff, I thought it was all ascii or some kind of amiga ansi equivalent. I guess if you dropped out of a standard console display and invoked a graphic mode then you could display whatever you wanted to really, but this would require extra coding and bloat the app a bit; after all xdms is good in that it is so small and quick to use. Great stuff - looking forward to the new builds! |
|
|
|
|
|
#26 |
|
Registered User
Join Date: Jul 2005
Location: -
Posts: 1,119
|
I think it's Amiga ANSI that was converted from bitmap gfx. It would definitely bloat the app. I think pure ASCII displays could be easily implemented tho.
|
|
|
|
|
|
#27 | |
|
Registered User
Join Date: Jan 2004
Location: Toronto / Canada
Posts: 59
|
Quote:
but it seems that there's little to be gained by adding that code. I tested the xdms executable on one DMS using the readdisk executable from the xDMS at http://iancoog.altervista.org/ , and it successfully unpacked the DMS and resulting ADF. I have posted the executable to the Zone! for those without a C compiler. |
|
|
|
|
|
|
#28 | |
|
Registered User
Join Date: Aug 2006
Location: Tampere / Finland
Age: 35
Posts: 21
|
Quote:
Please submit a patch to properly create tmp files for windows. I don't have the environment so I can't test. It is enough if you submit me a function of the form int get_temp_file(char *name, size_t namesize) in a separate module. The function should decide a proper name and create a file unreadable/writable by other users (avoiding race conditions). The function should return zero on success and non-zero on failure. Afterwards xdms will open that file with fopen(name, "w"). |
|
|
|
|
|
|
#29 |
|
Moderator
|
I implemented a brute force password cracking mechanism into xdms 1.3.1 to unpack some Amiga Format coverdisks. Would you like to merge my changes into your version aswell? It tries all 16 bit keys until it hits pay dirt, then generates passwords that match and prints out a bunch of them (all keys can be turned back into ASCII passwords 4 bytes or less in length).
All my changes just went into the xdms.c file. Also when you do detect an error, what are you writing away to the track buffer? I would prefer something like what DIC does, write "TDIC" all through the track rather than have a track which is just random as you wouldn't be able to tell there was an error in that track by looking at the ADF. If you want my source please PM me with where you want it sent. |
|
|
|
|
|
#30 | ||
|
[Satan^God]
|
Quote:
![]() Quote:
But no, the track isn't just random. Take the defect flt-cup.dms file i provided for testing. Only one byte is different on the erroneous track (i have compared it with an error-free original)! Hmmm, but you are right, xdms should mark such tracks as bad somehow. May i suggest to write just the standard (repeated) "errdms!!" string on the whole track as standard procedure but an option in xdms should allow to write the track with the error on it like it is. Of course this is for experts who know what they do. (maybe -e or -fe)? Some guys like andreas or me would be able to hunt down just the wrong bytes and replace them from other Tosec disk etc. so this feature would be very welcome! ![]() Last edited by Adderly; 20 August 2006 at 01:53. |
||
|
|
|
|
|
#31 | ||
|
[Satan^God]
|
Quote:
![]() Quote:
![]() Last edited by Adderly; 20 August 2006 at 02:01. |
||
|
|
|
|
|
#32 | |
|
Registered User
Join Date: Jan 2004
Location: Toronto / Canada
Posts: 59
|
Quote:
|
|
|
|
|
|
|
#33 | |
|
Registered User
Join Date: Jan 2004
Location: Toronto / Canada
Posts: 59
|
Quote:
|
|
|
|
|
|
|
#34 |
|
Registered User
Join Date: Aug 2006
Location: England
Posts: 151
|
Thanks for the new build poohbear! I'll have to run some of my old dms files through this to help me get them over to adf. This will also give it all a good testing!
Q; |
|
|
|
|
|
#35 |
|
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 37
Posts: 8,132
|
can someone please up this to the zone again cheers
Seems I lost the one I downloaded :/ edit: Nevermind I just found where I had saved it to ![]() |
|
|
|
|
|
#37 |
|
Registered User
Join Date: Jun 2009
Location: France
Age: 35
Posts: 584
|
Poohbear, you can release your last source code version of xdms?
Ref: http://guide.abime.net/dloads.htm ( xDMS v1.3.3 ) |
|
|
|
|
|
#38 |
|
Registered User
Join Date: Jan 2004
Location: Toronto / Canada
Posts: 59
|
I'm not sure that I still have the source code. If I find it during a clear up, I will find this thread and upload it.
|
|
|
|
|
|
#39 |
|
Registered User
Join Date: Jun 2009
Location: France
Age: 35
Posts: 584
|
thank
|
|
|
|
|
|
#40 |
|
Registered User
Join Date: Aug 2012
Location: Australa
Posts: 15
|
XMS Win32 Port
Well I don't know about poohbears copy but I compiled a win32 version and mailed it to the XDMS project maintainer heikki.orsila@iki.fi, many years ago but he didn't update his website. It really was just a small patch to fix mkstemp its funny you know he talks about it here but when I emailed him it didn't seem like it was patched already. Im pretty sure I kept the source code when I patched it..
I think mine just used the file creation flags to create the temp file but I think this was fine as far as I remember it made a per user temp file under their profile.. Ive attached what I sent but it looks like poohbears beat me to the punch as the messages in this forum were posted in 2006. I think I patched mine in 2008 as at the time the version at http://zakalwe.fi/~shd/foss/xdms/ was 1.3.2 and it didn't compile for windows.. I don't think this zip has a compiled version, you would have to fire up visual studio... the zip file has the vs2008 project files so it should compile fine.. Be aware the file in amiga-bin is probably still the 1.3.2 binary from the old version. this was just the source so heikki could update his repository. Last edited by Vot; 06 May 2013 at 17:31. |
|
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Please avoid xDMS with files which contain headers | andreas | project.TOSEC (amiga only) | 5 | 31 March 2006 16:47 |
| Who can program an xDMS clone with logging ability? | andreas | Coders. General | 10 | 08 October 2003 18:23 |