News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - llm

#1
non DOS game reversing

The reversing of Lego-Island:

https://github.com/isledecomp/isle
Dev-Talks: https://www.youtube.com/@MattKC/videos
#6
Duke Nukem II reconstruct/etc. Blog: https://lethalguitar.wordpress.com/
ryiron Blog with many reversing stories: https://ryiron.wordpress.com/
#7
Cosmo's Cosmic Adventure reconstruction
https://www.scottsmitelli.com/projects/cosmore/
and the reconstruction of Duke II: https://github.com/lethal-guitar/Duke2Reconstructed (which bases on cosmore)
#9
Inital Syndicate Wars reversing story: https://gynvael.coldwind.pl/?id=279
#11
i also ported from Borland Make to a recent gnu make version

please test if everything is still working/playing as expected
#12
QuoteI guess "calvin" forgot to pack his cl.exe in the tools.

i think the cl.exe is a more recent microsoft cl compiler - so VS2010-VS2013 or something of that time

this compiler-suite is GBs in size and it makes not sense to add it to the repo

Quote...problem in the makefile...

i think thats the case - this stuff just needs a fix :)
#13
does someone builds the repldump-orginal (not repldump) without errors?

for me using the same environment like for restunts/restunts-original it fails


        cd ..
        cd repldump
        if exist makefile make /DTARGET=original
MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
        bcc /c /u- /mm /v /nbuild\original /DRESTUNTS_DOS /DRESTUNTS_ORIGINAL -I../c  repldump.c
Borland C++ 5.2 Copyright (c) 1987, 1997 Borland International
Mar 19 1997 17:29:40
repldump.c:
Warning repldump.c 122: Suspicious pointer conversion in function init_trackdata
Warning repldump.c 125: Suspicious pointer conversion in function init_trackdata
Warning repldump.c 131: Suspicious pointer conversion in function init_trackdata
Warning repldump.c 134: Suspicious pointer conversion in function init_trackdata
Warning repldump.c 143: Suspicious pointer conversion in function init_trackdata
Warning repldump.c 146: Suspicious pointer conversion in function init_trackdata
Warning repldump.c 149: Suspicious pointer conversion in function init_trackdata
Warning repldump.c 204: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 208: Call to function 'init_main' with no prototype in function stuntsmain
Warning repldump.c 209: Call to function 'init_div0' with no prototype in function stuntsmain
Warning repldump.c 212: Call to function 'file_load_resfile' with no prototype in function stuntsmain
Warning repldump.c 212: Nonportable pointer conversion in function stuntsmain
Warning repldump.c 214: Call to function 'file_load_resource' with no prototype in function stuntsmain
Warning repldump.c 214: Nonportable pointer conversion in function stuntsmain
Warning repldump.c 215: Call to function 'file_load_resource' with no prototype in function stuntsmain
Warning repldump.c 215: Nonportable pointer conversion in function stuntsmain
Warning repldump.c 222: Call to function 'init_unknown' with no prototype in function stuntsmain
Warning repldump.c 224: Call to function 'init_kevinrandom' with no prototype in function stuntsmain
Warning repldump.c 226: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 227: Call to function 'file_load_replay' with no prototype in function stuntsmain
Warning repldump.c 228: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 231: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 233: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 242: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 244: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 245: Call to function 'track_setup' with no prototype in function stuntsmain
Warning repldump.c 246: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 248: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 250: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 252: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 253: Call to function 'init_game_state' with no prototype in function stuntsmain
Warning repldump.c 254: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 258: Call to function 'get_kevinrandom' with no prototype in function stuntsmain
Warning repldump.c 266: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 267: Call to function 'setup_player_cars' with no prototype in function stuntsmain
Warning repldump.c 284: Call to function 'restore_gamestate' with no prototype in function stuntsmain
Warning repldump.c 285: Call to function 'restore_gamestate' with no prototype in function stuntsmain
Warning repldump.c 286: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 295: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 299: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 302: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 306: Call to function '_printf' with no prototype in function stuntsmain
Warning repldump.c 310: Call to function 'update_gamestate' with no prototype in function stuntsmain
Warning repldump.c 315: Call to function '_printf' with no prototype in function stuntsmain
Fatal: '..\c\build\dos\fileio.obj' does not exist - don't know how to make it

** error 1 ** deleting repldump-original

someone fixed that problem already?
#14
using latest VS2022/x86 + SDL1 libs/includes are found (sitting under src/sdl)
but the build fails with some errors

im a long time (>20 years C/C++,... developer) so im normaly knowing very well what im doing - but i never built that project before

S:\src\restunts>make restunts-sdl
MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
        cd sdl
        if exist makefile make
MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
        cl /MD /c /EHsc /Is:\src\sdl\include /I../c /DRESTUNTS_SDL /Zi /Fobuild\main.obj main.cpp
Microsoft (R) C/C++-Optimierungscompiler Version 19.43.34808 für x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

main.cpp
S:\src\restunts\c\math.h(56): error C2143: Syntaxfehler: Es fehlt "," vor "*"
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include\cstdlib(24): error C2039: "fabs" ist kein Member von "`global namespace'".
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include\cstdlib(24): error C3861: "fabs": Bezeichner wurde nicht gefunden.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include\cstdlib(28): error C2039: "fabsf" ist kein Member von "`global namespace'".
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include\cstdlib(28): error C3861: "fabsf": Bezeichner wurde nicht gefunden.
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include\cstdlib(32): error C2039: "fabsl" ist kein Member von "`global namespace'".
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include\cstdlib(32): error C3861: "fabsl": Bezeichner wurde nicht gefunden.
S:\src\restunts\c\shape3d.h(42): error C2732: Bindungsangaben widersprechen vorheriger Angabe für "polarAngle"
S:\src\restunts\c\shape3d.h(42): note: Siehe Deklaration von "polarAngle"
main.cpp(192): warning C4838: Konvertierung von "unsigned int" zu "long" erfordert eine einschränkende Konvertierung
main.cpp(221): warning C4838: Konvertierung von "int" zu "char" erfordert eine einschränkende Konvertierung
main.cpp(222): warning C4838: Konvertierung von "int" zu "char" erfordert eine einschränkende Konvertierung
main.cpp(377): warning C4838: Konvertierung von "int" zu "short" erfordert eine einschränkende Konvertierung

** error 2 ** deleting build\main.obj

** error 1 ** deleting restunts-sdl

S:\src\restunts>

someone got a working build and can tell me what to do? what compiler version is used?
in the make file is cl called (i think the microsoft cl.exe compiler) - but i don't know
if that initally was a very old version or something

#15
Quote from: HerrNove on February 03, 2025, 02:19:37 PMSince I got the attention of the experts, let's try to squeeze some of their knowledge...

Last weekend I wasted a couple of hours by trying to alleviate the memory problems of my program. My plan was
* modify dseg.asm create an extra data segment, called fseg
* move the big containers for the runtime graphics data (polyinfoptr and co.) there
* add an `assume fs:fseg` directive so that the linker can keep using 16-bit pointers. Put some assembly at program start to load the FS register with the fseg segment address

The plan failed, but I think it's because I am not expert enough in assembly programming. In particular, when I put in a C file the assembly fragment to set FS, the Borland compiler complained that FS is not a valid name (this despite me adding the -3 option, that should compile for 386 processors). The linker also complained about "fixup errors"; changing the model to `huge` alleviated that but I think this is wrong since we should be able to keep working with 16-bit pointers.

Ideas are welcome.

thats a hard one,

Quote* modify dseg.asm create an extra data segment, called fseg

that should work if its at the very end - or before stack with some fixes for the stack start

Quote* move the big containers for the runtime graphics data (polyinfoptr and co.) there

1. works only if there are no non-symbolic offsets in the assembler(or C) refering to this data
2. the other (non yours) polyinfoptr and co. using code needs to use then fs instead of ds (or whatever register is use at that point to the segment)

big pain-point with restunts for me was always - there are offsets in the code that are non-symbolic